diff --git a/.github/workflows/default.yml b/.github/workflows/default.yml index ad3a04ec9..4e932d772 100644 --- a/.github/workflows/default.yml +++ b/.github/workflows/default.yml @@ -9,7 +9,7 @@ on: - main - develop env: - BUILD_TOOLCHAIN: nightly-2022-11-15 + BUILD_TOOLCHAIN: stable-2023-08-24 CARGO_SCCACHE_COMMIT: bed5571c SCCACHE_DIR: /home/runner/.cache/cargo-sccache-bed5571c SCCACHE_BIN: /home/runner/.cache/cargo-sccache-bed5571c/bin/sccache @@ -23,13 +23,13 @@ jobs: - name: Install nightly ${{ env.BUILD_TOOLCHAIN }} uses: actions-rs/toolchain@v1 with: - # NOTE: Until https://github.com/actions-rs/toolchain/pull/209 is merged, - # this should be synced with rust-toolchain.toml file. - # After merge, this section should be removed. - # toolchain: nightly-2022-11-25 - toolchain: ${{ env.BUILD_TOOLCHAIN }} - components: rustfmt - profile: minimal + # NOTE: Until https://github.com/actions-rs/toolchain/pull/209 is merged, + # this should be synced with rust-toolchain.toml file. + # After merge, this section should be removed. + # toolchain: stable-2023-08-24 + toolchain: ${{ env.BUILD_TOOLCHAIN }} + components: rustfmt + profile: minimal - name: Check Avail code formatting uses: actions-rs/cargo@v1 @@ -55,20 +55,20 @@ jobs: with: path: ${{ env.SCCACHE_DIR }} key: ${{ runner.OS }}-sccache-bin-${{ env.CARGO_SCCACHE_COMMIT }}-v1 - + - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.x' + version: "3.x" # With rustup's nice new toml format, we just need to run rustup show to install the toolchain # https://github.com/actions-rs/toolchain/issues/126#issuecomment-782989659 - name: Setup Rust toolchain run: | - curl https://sh.rustup.rs -sSf | sh -s -- -y - source "$HOME/.cargo/env" - rustup default ${{ env.BUILD_TOOLCHAIN }} - rustup target add wasm32-unknown-unknown --toolchain ${{ env.BUILD_TOOLCHAIN }} + curl https://sh.rustup.rs -sSf | sh -s -- -y + source "$HOME/.cargo/env" + rustup default ${{ env.BUILD_TOOLCHAIN }} + rustup target add wasm32-unknown-unknown --toolchain ${{ env.BUILD_TOOLCHAIN }} - name: SCCache run: | @@ -85,7 +85,7 @@ jobs: $SCCACHE_BIN -s echo "RUSTC_WRAPPER=$SCCACHE_BIN" >> $GITHUB_ENV - - name: Build node + - name: Build node run: cargo build --release -p data-avail - name: Upload data-avail binary @@ -98,7 +98,7 @@ jobs: run: ${{ env.SCCACHE_BIN }} --show-stats - name: Check other features - run: cargo check --release --workspace --features "runtime-benchmarks try-runtime" -p data-avail + run: cargo check --release --workspace --features "runtime-benchmarks try-runtime" -p data-avail unit_tests: runs-on: ubuntu-latest @@ -117,26 +117,26 @@ jobs: sudo apt update sudo apt install -y build-essential sudo apt install -y git clang curl libssl-dev protobuf-compiler - + # Restore cache from `build` - uses: actions/cache/restore@v3 with: - path: ${{ env.SCCACHE_DIR }} + path: ${{ env.SCCACHE_DIR }} key: ${{ runner.OS }}-sccache-bin-${{ env.CARGO_SCCACHE_COMMIT }}-v1 - name: Install Protoc uses: arduino/setup-protoc@v1 with: - version: '3.x' + version: "3.x" # With rustup's nice new toml format, we just need to run rustup show to install the toolchain # https://github.com/actions-rs/toolchain/issues/126#issuecomment-782989659 - name: Setup Rust toolchain run: | - curl https://sh.rustup.rs -sSf | sh -s -- -y - source "$HOME/.cargo/env" - rustup default ${{ env.BUILD_TOOLCHAIN }} - rustup target add wasm32-unknown-unknown --toolchain ${{ env.BUILD_TOOLCHAIN }} + curl https://sh.rustup.rs -sSf | sh -s -- -y + source "$HOME/.cargo/env" + rustup default ${{ env.BUILD_TOOLCHAIN }} + rustup target add wasm32-unknown-unknown --toolchain ${{ env.BUILD_TOOLCHAIN }} - name: SCCache run: | @@ -195,10 +195,10 @@ jobs: # https://github.com/actions-rs/toolchain/issues/126#issuecomment-782989659 - name: Setup Rust toolchain run: | - curl https://sh.rustup.rs -sSf | sh -s -- -y - source "$HOME/.cargo/env" - rustup default ${{ env.BUILD_TOOLCHAIN }} - rustup target add wasm32-unknown-unknown --toolchain ${{ env.BUILD_TOOLCHAIN }} + curl https://sh.rustup.rs -sSf | sh -s -- -y + source "$HOME/.cargo/env" + rustup default ${{ env.BUILD_TOOLCHAIN }} + rustup target add wasm32-unknown-unknown --toolchain ${{ env.BUILD_TOOLCHAIN }} - name: SCCache run: | @@ -237,8 +237,5 @@ jobs: # cargo run --release --manifest-path avail-subxt/Cargo.toml --example democracy_external # cargo run --release --manifest-path avail-subxt/Cargo.toml --example submit_block_length_proposal_democracy - - - name: Display SCCache Stats run: ${{ env.SCCACHE_BIN }} --show-stats - diff --git a/.rustfmt.toml b/.rustfmt.toml deleted file mode 100644 index 6ac19618c..000000000 --- a/.rustfmt.toml +++ /dev/null @@ -1,10 +0,0 @@ -fn_single_line = true -match_arm_blocks = true -match_block_trailing_comma = true -imports_granularity = "Crate" -overflow_delimited_expr = true -reorder_impl_items = true -group_imports = "StdExternalCrate" -use_field_init_shorthand = true -edition = "2018" -hard_tabs = true \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index 5c26fe0a1..7a282fdb8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -14,20 +14,20 @@ dependencies = [ [[package]] name = "addr2line" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" +checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" dependencies = [ - "gimli 0.26.2", + "gimli 0.27.3", ] [[package]] name = "addr2line" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" dependencies = [ - "gimli 0.27.2", + "gimli 0.28.0", ] [[package]] @@ -42,7 +42,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -51,10 +51,20 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b613b8e1e3cf911a086f53f03bf286f52fd7a7258e4fa606f0ef220d39d8877" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "rand_core 0.6.4", ] +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array 0.14.7", +] + [[package]] name = "aes" version = "0.6.0" @@ -80,29 +90,15 @@ dependencies = [ [[package]] name = "aes" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "433cfd6710c9986c576a25ca913c39d66a6474107b406f34f91d4a8923395241" +checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2" dependencies = [ "cfg-if", - "cipher 0.4.3", + "cipher 0.4.4", "cpufeatures", ] -[[package]] -name = "aes-gcm" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" -dependencies = [ - "aead 0.3.2", - "aes 0.6.0", - "cipher 0.2.5", - "ctr 0.6.0", - "ghash 0.3.1", - "subtle", -] - [[package]] name = "aes-gcm" version = "0.9.4" @@ -117,6 +113,20 @@ dependencies = [ "subtle", ] +[[package]] +name = "aes-gcm" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "209b47e8954a928e1d72e86eca7000ebb6655fe1436d33eefc2201cad027e237" +dependencies = [ + "aead 0.5.2", + "aes 0.8.3", + "cipher 0.4.4", + "ctr 0.9.2", + "ghash 0.5.0", + "subtle", +] + [[package]] name = "aes-soft" version = "0.6.4" @@ -149,7 +159,7 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", "once_cell", "version_check", ] @@ -161,19 +171,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f" dependencies = [ "cfg-if", + "getrandom 0.2.10", "once_cell", "version_check", ] [[package]] name = "aho-corasick" -version = "0.7.20" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac" +checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" dependencies = [ "memchr", ] +[[package]] +name = "android-tzdata" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0" + [[package]] name = "android_system_properties" version = "0.1.5" @@ -183,6 +200,12 @@ dependencies = [ "libc", ] +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + [[package]] name = "ansi_term" version = "0.12.1" @@ -192,11 +215,59 @@ dependencies = [ "winapi", ] +[[package]] +name = "anstream" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea" + +[[package]] +name = "anstyle-parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "anstyle-wincon" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" +dependencies = [ + "anstyle", + "windows-sys 0.48.0", +] + [[package]] name = "anyhow" -version = "1.0.69" +version = "1.0.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800" +checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" [[package]] name = "approx" @@ -253,7 +324,7 @@ dependencies = [ "ark-serialize", "ark-std", "derivative", - "digest 0.10.6", + "digest 0.10.7", "itertools 0.10.5", "num-bigint", "num-traits", @@ -306,7 +377,7 @@ checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" dependencies = [ "ark-serialize-derive", "ark-std", - "digest 0.10.6", + "digest 0.10.7", "num-bigint", ] @@ -333,15 +404,15 @@ dependencies = [ [[package]] name = "array-bytes" -version = "4.2.0" +version = "6.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f52f63c5c1316a16a4b35eaac8b76a98248961a533f061684cb2a7cb0eafb6c6" +checksum = "d9b1c5a481ec30a5abd8dfbd94ab5cf1bb4e9a66be7f1b3b322f2f1170c200fd" [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "6b4930d2cb77ce62f89ee5d5289b4ac049559b1c45539271f5ed4fdc7db34545" [[package]] name = "arrayvec" @@ -351,9 +422,9 @@ checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711" [[package]] name = "asn1-rs" @@ -368,14 +439,14 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.28", ] [[package]] name = "asn1-rs" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf6690c370453db30743b373a60ba498fc0d6d83b11f4abfd87a84a075db5dd4" +checksum = "7f6fd5ddaf0351dff5b8da21b2fb4ff8e08ddd02857f0bf69c47639106c0fff0" dependencies = [ "asn1-rs-derive 0.4.0", "asn1-rs-impl", @@ -384,7 +455,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.28", ] [[package]] @@ -423,70 +494,85 @@ dependencies = [ ] [[package]] -name = "asn1_der" -version = "0.7.5" +name = "async-channel" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e22d1f4b888c298a027c99dc9048015fac177587de20fc30232a057dfbe24a21" +checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] [[package]] name = "async-io" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" dependencies = [ "async-lock", "autocfg", + "cfg-if", "concurrent-queue", "futures-lite", - "libc", "log", "parking", "polling", + "rustix 0.37.23", "slab", - "socket2", + "socket2 0.4.9", "waker-fn", - "windows-sys 0.42.0", ] [[package]] name = "async-lock" -version = "2.6.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ "event-listener", - "futures-lite", +] + +[[package]] +name = "async-recursion" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", ] [[package]] name = "async-trait" -version = "0.1.64" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd7fce9ba8c3c042128ce72d8b2ddbf3a05747efb67ea0313c635e10bda47a2" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "asynchronous-codec" -version = "0.6.1" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06a0daa378f5fd10634e44b0a29b2a87b890657658e072a30d6f26e57ddee182" +checksum = "4057f2c32adbb2fc158e22fb38433c8e9bbf76b75a4732c7c0cbaf695fb65568" dependencies = [ "bytes", "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", ] [[package]] name = "atomic-waker" -version = "1.1.0" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "debc29dde2e69f9e47506b525f639ed42300fc014a3e007832592448fa8e4599" +checksum = "1181e1e0d1fce796a03db1ae795d67167da795f9cf4a39c37589e85ef57f26d3" [[package]] name = "atty" @@ -501,9 +587,9 @@ dependencies = [ [[package]] name = "auto_impl" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a8c1df849285fbacd587de7818cc7d13be6cd2cbcd47a04fb1801b0e2706e33" +checksum = "fee3da8ef1276b0bee5dd1c7258010d8fffd31801447323115a25560e1327b89" dependencies = [ "proc-macro-error", "proc-macro2", @@ -532,9 +618,9 @@ dependencies = [ [[package]] name = "avail-core" version = "0.5.1" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ - "beefy-merkle-tree", + "binary-merkle-tree", "derive_more", "frame-support", "hash256-std-hasher", @@ -556,16 +642,16 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.67" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca" +checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" dependencies = [ - "addr2line 0.19.0", + "addr2line 0.21.0", "cc", "cfg-if", "libc", "miniz_oxide", - "object 0.30.3", + "object 0.32.0", "rustc-demangle", ] @@ -582,16 +668,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" [[package]] -name = "base58" -version = "0.1.0" +name = "base16ct" +version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base58" -version = "0.2.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6107fe1be6682a68940da878d9e9f5e90ca5745b3dec9fd1bb393c8777d4f581" +checksum = "5024ee8015f02155eee35c711107ddd9a9bf3cb689cf2a9089c97e79b6e1ae83" [[package]] name = "base58check" @@ -599,7 +685,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2ee2fe4c9a0c84515f136aaae2466744a721af6d63339c18689d9e995d74d99b" dependencies = [ - "base58 0.1.0", + "base58", "sha2 0.8.2", ] @@ -617,15 +703,15 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.0" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" +checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" [[package]] name = "base64ct" -version = "1.5.3" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" +checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bech32" @@ -643,13 +729,12 @@ dependencies = [ ] [[package]] -name = "beefy-merkle-tree" +name = "binary-merkle-tree" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "sp-api", - "sp-beefy", - "sp-runtime", + "hash-db", + "log", ] [[package]] @@ -663,22 +748,23 @@ dependencies = [ [[package]] name = "bindgen" -version = "0.64.0" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4243e6031260db77ede97ad86c27e501d646a27ab57b59a574f725d98ab1fb4" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cexpr", "clang-sys", "lazy_static", "lazycell", "peeking_take_while", + "prettyplease 0.2.12", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -687,6 +773,12 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" + [[package]] name = "bitvec" version = "0.17.4" @@ -715,7 +807,7 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -725,8 +817,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c2f0dc9a68c6317d884f97cc36cf5a3d20ba14ce404227df55e1af708ab04bc" dependencies = [ "arrayref", - "arrayvec 0.7.2", - "constant_time_eq", + "arrayvec 0.7.4", + "constant_time_eq 0.2.6", ] [[package]] @@ -736,21 +828,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6637f448b9e61dfadbdcbae9a885fadee1f3eaffb1f8d3c1965d3ade8bdfd44f" dependencies = [ "arrayref", - "arrayvec 0.7.2", - "constant_time_eq", + "arrayvec 0.7.4", + "constant_time_eq 0.2.6", ] [[package]] name = "blake3" -version = "1.3.3" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "199c42ab6972d92c9f8995f086273d25c42fc0f7b2a1fcefba465c1352d25ba5" dependencies = [ "arrayref", - "arrayvec 0.7.2", + "arrayvec 0.7.4", "cc", "cfg-if", - "constant_time_eq", + "constant_time_eq 0.3.0", ] [[package]] @@ -771,16 +863,16 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "block-buffer" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -819,6 +911,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "bounded-collections" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb5b05133427c07c4776906f673ccf36c21b102c9829c641a5b56bd151d44fd6" +dependencies = [ + "log", + "parity-scale-codec", + "scale-info", + "serde", +] + [[package]] name = "bs58" version = "0.4.0" @@ -827,9 +931,9 @@ checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" [[package]] name = "bstr" -version = "1.3.0" +version = "1.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1" +checksum = "4c2f7349907b712260e64b0afe2f84692af14a454be26187d9df565c7f69266a" dependencies = [ "memchr", "serde", @@ -846,9 +950,9 @@ dependencies = [ [[package]] name = "bumpalo" -version = "3.12.0" +version = "3.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d261e256854913907f67ed06efbc3338dfe6179796deefc1ff763fc1aee5535" +checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1" [[package]] name = "byte-slice-cast" @@ -914,15 +1018,16 @@ dependencies = [ [[package]] name = "cargo_metadata" -version = "0.14.2" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4acbb09d9ee8e23699b9634375c72795d095bf268439da88562cf9b501f181fa" +checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" dependencies = [ "camino", "cargo-platform", - "semver 1.0.16", + "semver 1.0.18", "serde", "serde_json", + "thiserror", ] [[package]] @@ -933,11 +1038,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.79" +version = "1.0.83" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -962,9 +1068,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.10.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0aacacf4d96c24b2ad6eb8ee6df040e4f27b0d0b39a5710c30091baa830485db" +checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" dependencies = [ "smallvec", ] @@ -1008,24 +1114,51 @@ dependencies = [ [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "95ed24df0632f708f5f6d8082675bef2596f7084dee3dd55f632290bf35bfe0f" dependencies = [ + "android-tzdata", "iana-time-zone", "js-sys", - "num-integer", "num-traits", "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.48.5", +] + +[[package]] +name = "ciborium" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656" + +[[package]] +name = "ciborium-ll" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b" +dependencies = [ + "ciborium-io", + "half", ] [[package]] name = "cid" -version = "0.8.6" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6ed9c8b2d17acb8110c46f1da5bf4a696d745e1474a16db0cd2b49cd0249bf2" +checksum = "b9b68e3193982cd54187d71afdb2a271ad4cf8af157858e9cb911b91321de143" dependencies = [ "core2", "multibase", @@ -1040,7 +1173,7 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -1049,14 +1182,14 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ee52072ec15386f770805afd189a01c8841be8696bed250fa2f13c4c0d6dfb7" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "cipher" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common", "inout", @@ -1073,9 +1206,9 @@ dependencies = [ [[package]] name = "clang-sys" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ed9a53e5d4d9c573ae844bfac6872b159cb1d1585a83b29e7a64b7eef7332a" +checksum = "c688fc74432808e3eb684cae8830a86be1d66a2bd58e1f248ed0960a590baf6f" dependencies = [ "glob", "libc", @@ -1084,61 +1217,75 @@ dependencies = [ [[package]] name = "clap" -version = "2.34.0" +version = "3.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +checksum = "4ea181bf566f71cb9a5d17a59e1871af638180a18fb0035c92ae62b705207123" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "clap_lex 0.2.4", + "indexmap 1.9.3", "textwrap", - "unicode-width", ] [[package]] name = "clap" -version = "4.1.6" +version = "4.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0b0588d44d4d63a87dbd75c136c166bbfd9a86a31cb89e09906521c7d3f5e3" +checksum = "7c8d502cbaec4595d2e7d5f61e318f05417bd2b66fdc3809498f0d3fdf0bea27" dependencies = [ - "bitflags", + "clap_builder", "clap_derive", - "clap_lex", - "is-terminal", "once_cell", +] + +[[package]] +name = "clap_builder" +version = "4.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5891c7bc0edb3e1c2204fc5e94009affabeb1821c9e5fdc3959536c5c0bb984d" +dependencies = [ + "anstream", + "anstyle", + "clap_lex 0.5.1", "strsim", - "termcolor", ] [[package]] name = "clap_complete" -version = "4.1.3" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0012995dc3a54314f4710f5631d74767e73c534b8757221708303e48eef7a19b" +checksum = "586a385f7ef2f8b4d86bddaa0c094794e7ccbfe5ffef1f434fe928143fc783a5" dependencies = [ - "clap 4.1.6", + "clap 4.4.1", ] [[package]] name = "clap_derive" -version = "4.1.0" +version = "4.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "684a277d672e91966334af371f1a7b5833f9aa00b07c84e92fbce95e00208ce8" +checksum = "c9fd1a5729c4548118d7d70ff234a44868d00489a4b6597b0b020918a0e91a1a" dependencies = [ "heck", - "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "clap_lex" -version = "0.3.2" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "350b9cf31731f9957399229e9b2adc51eeabdfbe9d71d9a0552275fd12710d09" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" dependencies = [ "os_str_bytes", ] +[[package]] +name = "clap_lex" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961" + [[package]] name = "codespan-reporting" version = "0.11.1" @@ -1158,13 +1305,13 @@ dependencies = [ "bincode", "bs58", "coins-core", - "digest 0.10.6", - "getrandom 0.2.8", + "digest 0.10.7", + "getrandom 0.2.10", "hmac 0.12.1", - "k256", + "k256 0.11.6", "lazy_static", "serde", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", ] @@ -1176,12 +1323,12 @@ checksum = "2a11892bcac83b4c6e95ab84b5b06c76d9d70ad73548dd07418269c5c7977171" dependencies = [ "bitvec 0.17.4", "coins-bip32", - "getrandom 0.2.8", + "getrandom 0.2.10", "hex", "hmac 0.12.1", "pbkdf2 0.11.0", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", ] @@ -1195,22 +1342,28 @@ dependencies = [ "base64 0.12.3", "bech32", "blake2", - "digest 0.10.6", - "generic-array 0.14.6", + "digest 0.10.7", + "generic-array 0.14.7", "hex", "ripemd", "serde", "serde_derive", - "sha2 0.10.6", + "sha2 0.10.7", "sha3", "thiserror", ] +[[package]] +name = "colorchoice" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" + [[package]] name = "comfy-table" -version = "6.1.4" +version = "7.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e7b787b0dc42e8111badfdbe4c3059158ccb2db8780352fa1b01e8ccf45cc4d" +checksum = "9ab77dbd8adecaf3f0db40581631b995f312a8a5ae3aa9993188bb8f23d83a5b" dependencies = [ "strum", "strum_macros", @@ -1219,24 +1372,65 @@ dependencies = [ [[package]] name = "concurrent-queue" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c278839b831783b70278b14df4d45e1beb1aad306c07bb796637de9a0e323e8e" +checksum = "62ec6771ecfa0762d24683ee5a32ad78487a3d3afdc0fb8cae19d2c5deb50b7c" dependencies = [ "crossbeam-utils", ] +[[package]] +name = "console" +version = "0.15.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c926e00cc70edefdc64d3a5ff31cc65bb97a3460097762bd23afb4d8145fccf8" +dependencies = [ + "encode_unicode", + "lazy_static", + "libc", + "unicode-width", + "windows-sys 0.45.0", +] + [[package]] name = "const-oid" -version = "0.9.1" +version = "0.9.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" + +[[package]] +name = "const-random" +version = "0.1.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec318a675afcb6a1ea1d4340e2d377e56e47c266f28043ceccbf4412ddfdd3b" +checksum = "368a7a772ead6ce7e1de82bfb04c485f3db8ec744f72925af5735e29a22cc18e" +dependencies = [ + "const-random-macro", + "proc-macro-hack", +] + +[[package]] +name = "const-random-macro" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d7d6ab3c3a2282db210df5f02c4dab6e0a7057af0fb7ebd4070f30fe05c0ddb" +dependencies = [ + "getrandom 0.2.10", + "once_cell", + "proc-macro-hack", + "tiny-keccak", +] [[package]] name = "constant_time_eq" -version = "0.2.4" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21a53c0a4d288377e7415b53dcfc3c04da5cdc2cc95c8d5ac178b58f0b861ad6" + +[[package]] +name = "constant_time_eq" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "convert_case" @@ -1265,9 +1459,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" [[package]] name = "core2" @@ -1289,42 +1483,36 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.5" +version = "0.2.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1" dependencies = [ "libc", ] -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - [[package]] name = "cranelift-bforest" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52056f6d0584484b57fa6c1a65c1fcb15f3780d8b6a758426d9e3084169b2ddd" +checksum = "1277fbfa94bc82c8ec4af2ded3e639d49ca5f7f3c7eeab2c66accd135ece4e70" dependencies = [ "cranelift-entity", ] [[package]] name = "cranelift-codegen" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fed94c8770dc25d01154c3ffa64ed0b3ba9d583736f305fed7beebe5d9cf74" +checksum = "c6e8c31ad3b2270e9aeec38723888fe1b0ace3bea2b06b3f749ccf46661d3220" dependencies = [ - "arrayvec 0.7.2", "bumpalo", "cranelift-bforest", "cranelift-codegen-meta", "cranelift-codegen-shared", "cranelift-entity", "cranelift-isle", - "gimli 0.26.2", + "gimli 0.27.3", + "hashbrown 0.13.2", "log", "regalloc2", "smallvec", @@ -1333,33 +1521,33 @@ dependencies = [ [[package]] name = "cranelift-codegen-meta" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c451b81faf237d11c7e4f3165eeb6bac61112762c5cfe7b4c0fb7241474358f" +checksum = "c8ac5ac30d62b2d66f12651f6b606dbdfd9c2cfd0908de6b387560a277c5c9da" dependencies = [ "cranelift-codegen-shared", ] [[package]] name = "cranelift-codegen-shared" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7c940133198426d26128f08be2b40b0bd117b84771fd36798969c4d712d81fc" +checksum = "dd82b8b376247834b59ed9bdc0ddeb50f517452827d4a11bccf5937b213748b8" [[package]] name = "cranelift-entity" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87a0f1b2fdc18776956370cf8d9b009ded3f855350c480c1c52142510961f352" +checksum = "40099d38061b37e505e63f89bab52199037a72b931ad4868d9089ff7268660b0" dependencies = [ "serde", ] [[package]] name = "cranelift-frontend" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34897538b36b216cc8dd324e73263596d51b8cf610da6498322838b2546baf8a" +checksum = "64a25d9d0a0ae3079c463c34115ec59507b4707175454f0eee0891e83e30e82d" dependencies = [ "cranelift-codegen", "log", @@ -1369,15 +1557,15 @@ dependencies = [ [[package]] name = "cranelift-isle" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b2629a569fae540f16a76b70afcc87ad7decb38dc28fa6c648ac73b51e78470" +checksum = "80de6a7d0486e4acbd5f9f87ec49912bf4c8fb6aea00087b989685460d4469ba" [[package]] name = "cranelift-native" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20937dab4e14d3e225c5adfc9c7106bafd4ac669bdb43027b911ff794c6fb318" +checksum = "bb6b03e0e03801c4b3fd8ce0758a94750c07a44e7944cc0ffbf0d3f2e7c79b00" dependencies = [ "cranelift-codegen", "libc", @@ -1386,9 +1574,9 @@ dependencies = [ [[package]] name = "cranelift-wasm" -version = "0.88.2" +version = "0.95.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80fc2288957a94fd342a015811479de1837850924166d1f1856d8406e6f3609b" +checksum = "ff3220489a3d928ad91e59dd7aeaa8b3de18afb554a6211213673a71c90737ac" dependencies = [ "cranelift-codegen", "cranelift-entity", @@ -1426,15 +1614,16 @@ dependencies = [ [[package]] name = "criterion" -version = "0.3.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d6de93b2b6c65e17c634a26653a29d107b3c98c607c765bf38d041531cd8f" +checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb" dependencies = [ + "anes", "atty", "cast", - "clap 2.34.0", + "ciborium", + "clap 3.2.25", "criterion-plot", - "csv", "itertools 0.10.5", "lazy_static", "num-traits", @@ -1443,7 +1632,6 @@ dependencies = [ "rayon", "regex", "serde", - "serde_cbor", "serde_derive", "serde_json", "tinytemplate", @@ -1452,9 +1640,9 @@ dependencies = [ [[package]] name = "criterion-plot" -version = "0.4.5" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2673cc8207403546f45f5fd319a974b1e6983ad1a3ee7e6041650013be041876" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" dependencies = [ "cast", "itertools 0.10.5", @@ -1462,9 +1650,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.6" +version = "0.5.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521" +checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200" dependencies = [ "cfg-if", "crossbeam-utils", @@ -1472,9 +1660,9 @@ dependencies = [ [[package]] name = "crossbeam-deque" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc" +checksum = "ce6fd6f855243022dcecf8702fef0c297d4338e226845fe067f6341ad9fa0cef" dependencies = [ "cfg-if", "crossbeam-epoch", @@ -1483,22 +1671,22 @@ dependencies = [ [[package]] name = "crossbeam-epoch" -version = "0.9.13" +version = "0.9.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01a9af1f4c2ef74bb8aa1f7e19706bc72d03598c8a570bb5de72243c7a9d9d5a" +checksum = "ae211234986c545741a7dc064309f67ee1e5ad243d0e48335adc0484d960bcc7" dependencies = [ "autocfg", "cfg-if", "crossbeam-utils", - "memoffset 0.7.1", + "memoffset 0.9.0", "scopeguard", ] [[package]] name = "crossbeam-utils" -version = "0.8.14" +version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f" +checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" dependencies = [ "cfg-if", ] @@ -1515,7 +1703,19 @@ version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-bigint" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4c2f4e1afd912bc40bfd6fed5d9dc1f288e0ba01bfcc835cc5bc3eb13efe15" +dependencies = [ + "generic-array 0.14.7", "rand_core 0.6.4", "subtle", "zeroize", @@ -1527,7 +1727,8 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", + "rand_core 0.6.4", "typenum", ] @@ -1537,60 +1738,20 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] [[package]] name = "crypto-mac" -version = "0.10.1" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a" +checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", "subtle", ] -[[package]] -name = "crypto-mac" -version = "0.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1d1a86f49236c215f271d40892d5fc950490551400b02ef360692c29815c714" -dependencies = [ - "generic-array 0.14.6", - "subtle", -] - -[[package]] -name = "csv" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af91f40b7355f82b0a891f50e70399475945bb0b0da4f1700ce60761c9d3e359" -dependencies = [ - "csv-core", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "csv-core" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90" -dependencies = [ - "memchr", -] - -[[package]] -name = "ctr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" -dependencies = [ - "cipher 0.2.5", -] - [[package]] name = "ctr" version = "0.8.0" @@ -1606,7 +1767,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" dependencies = [ - "cipher 0.4.3", + "cipher 0.4.4", ] [[package]] @@ -1637,23 +1798,37 @@ dependencies = [ [[package]] name = "curve25519-dalek" -version = "4.0.0-rc.0" +version = "4.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da00a7a9a4eb92a0a0f8e75660926d48f0d0f3c537e455c457bcdaa1e16b1ac" +checksum = "f711ade317dd348950a9910f81c5947e3d8907ebd2b83f76203ff1807e6a2bc2" dependencies = [ "cfg-if", + "cpufeatures", + "curve25519-dalek-derive", + "digest 0.10.7", "fiat-crypto", - "packed_simd_2", - "platforms 3.0.2", + "platforms", + "rustc_version", "subtle", "zeroize", ] +[[package]] +name = "curve25519-dalek-derive" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83fdaf97f4804dcebfa5862639bc9ce4121e82140bec2a987ac5140294865b5b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + [[package]] name = "cxx" -version = "1.0.91" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86d3488e7665a7a483b57e25bdd90d0aeb2bc7608c8d0346acf2ad3f1caf1d62" +checksum = "bbe98ba1789d56fb3db3bee5e032774d4f421b685de7ba703643584ba24effbe" dependencies = [ "cc", "cxxbridge-flags", @@ -1663,9 +1838,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.91" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48fcaf066a053a41a81dfb14d57d99738b767febb8b735c3016e469fac5da690" +checksum = "c4ce20f6b8433da4841b1dadfb9468709868022d829d5ca1f2ffbda928455ea3" dependencies = [ "cc", "codespan-reporting", @@ -1673,24 +1848,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "cxxbridge-flags" -version = "1.0.91" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2ef98b8b717a829ca5603af80e1f9e2e48013ab227b68ef37872ef84ee479bf" +checksum = "20888d9e1d2298e2ff473cee30efe7d5036e437857ab68bbfea84c74dba91da2" [[package]] name = "cxxbridge-macro" -version = "1.0.91" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "086c685979a698443656e5cf7856c95c642295a38599f12fb1ff76fb28d19892" +checksum = "2fa16a70dd58129e4dfffdff535fb1bce66673f7bbeec4a5a1765a504e1ccd84" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -1782,6 +1957,7 @@ dependencies = [ "sp-authority-discovery", "sp-block-builder", "sp-consensus-babe", + "sp-consensus-grandpa", "sp-core", "sp-inherents", "sp-io", @@ -1801,9 +1977,9 @@ dependencies = [ [[package]] name = "darling" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0808e1bd8671fb44a113a14e13497557533369847788fa2ae912b6ebfce9fa8" +checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850" dependencies = [ "darling_core", "darling_macro", @@ -1811,9 +1987,9 @@ dependencies = [ [[package]] name = "darling_core" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001d80444f28e193f30c2f293455da62dcf9a6b29918a4253152ae2b1de592cb" +checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0" dependencies = [ "fnv", "ident_case", @@ -1825,9 +2001,9 @@ dependencies = [ [[package]] name = "darling_macro" -version = "0.14.3" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b36230598a2d5de7ec1c6f51f72d8a99a9208daff41de2084d06e3fd3ea56685" +checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e" dependencies = [ "darling_core", "quote", @@ -1841,7 +2017,7 @@ dependencies = [ "async-trait", "avail-base", "avail-core", - "clap 4.1.6", + "clap 4.4.1", "clap_complete", "da-control", "da-runtime", @@ -1877,15 +2053,14 @@ dependencies = [ "sc-consensus", "sc-consensus-babe", "sc-consensus-babe-rpc", - "sc-consensus-epochs", + "sc-consensus-grandpa", + "sc-consensus-grandpa-rpc", "sc-consensus-slots", - "sc-consensus-uncles", "sc-executor", - "sc-finality-grandpa", - "sc-finality-grandpa-rpc", "sc-keystore", "sc-network", "sc-network-common", + "sc-network-sync", "sc-rpc", "sc-rpc-api", "sc-rpc-spec-v2", @@ -1899,19 +2074,19 @@ dependencies = [ "serde_json", "sp-api", "sp-authority-discovery", - "sp-authorship", "sp-block-builder", "sp-blockchain", "sp-consensus", "sp-consensus-babe", + "sp-consensus-grandpa", "sp-core", - "sp-finality-grandpa", "sp-inherents", "sp-io", "sp-keyring", "sp-keystore", "sp-rpc", "sp-runtime", + "sp-statement-store", "sp-timestamp", "sp-tracing", "sp-transaction-pool", @@ -1926,15 +2101,15 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23d8666cb01533c39dde32bcbab8e227b4ed6679b2c925eba05feabea39508fb" +checksum = "c2e66c9d817f1720209181c316d28635c050fa304f9c79e47a520882661b7308" [[package]] name = "data-encoding-macro" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86927b7cd2fe88fa698b87404b287ab98d1a0063a34071d92e575b72d3029aca" +checksum = "c904b33cc60130e1aeea4956ab803d08a3f4a0ca82d64ed757afac3891f2bb99" dependencies = [ "data-encoding", "data-encoding-macro-internal", @@ -1942,9 +2117,9 @@ dependencies = [ [[package]] name = "data-encoding-macro-internal" -version = "0.1.10" +version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5bbed42daaa95e780b60a50546aa345b8413a1e46f9a40a12907d3598f038db" +checksum = "8fdf3fce3ce863539ec1d7fd1b6dcc3c645663376b43ed376bbf887733e4f772" dependencies = [ "data-encoding", "syn 1.0.109", @@ -1961,6 +2136,16 @@ dependencies = [ "zeroize", ] +[[package]] +name = "der" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "der-parser" version = "7.0.0" @@ -1977,11 +2162,11 @@ dependencies = [ [[package]] name = "der-parser" -version = "8.1.0" +version = "8.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42d4bc9b0db0a0df9ae64634ac5bdefb7afcb534e182275ca0beadbe486701c1" +checksum = "dbd676fbbab537128ef0278adb5576cf363cff6aa22a7b24effe97347cfab61e" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", "displaydoc", "nom", "num-bigint", @@ -1989,6 +2174,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" + [[package]] name = "derivative" version = "2.2.0" @@ -2011,6 +2202,17 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "derive-syn-parse" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e79116f119dd1dba1abf1f3405f03b9b0e79a27a3883864bfebded8a3dc768cd" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + [[package]] name = "derive_builder" version = "0.11.2" @@ -2076,16 +2278,17 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.3", + "block-buffer 0.10.4", + "const-oid", "crypto-common", "subtle", ] @@ -2133,13 +2336,13 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bf95dc3f046b9da4f2d51833c0d3547d8564ef6910f5c1ed130306a75b92886" +checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -2148,23 +2351,17 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1435fa1053d8b2fbbe9be7e97eca7f33d37b28409959813daefc1446a14247f1" -[[package]] -name = "downcast-rs" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" - [[package]] name = "dtoa" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c00704156a7de8df8da0911424e30c2049957b0a714542a44e05fe693dd85313" +checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653" [[package]] name = "dusk-bls12_381" -version = "0.11.2" +version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fc81248ab76f1739dd4241ea2e7037a4d4cb0bd170443a7049e13b0e09acd6" +checksum = "81cded349291dd4620fd02065cc0fb9a1da7bea8cfe479e0dd067a4cd87225ea" dependencies = [ "byteorder", "dusk-bytes", @@ -2233,9 +2430,9 @@ dependencies = [ [[package]] name = "dyn-clone" -version = "1.0.10" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9b0705efd4599c15a38151f4721f7bc388306f61084d3bfd50bd07fbca5cb60" +checksum = "bbfc4744c1b8f2a09adc0e55242f60b1af195d88596bd8700be74418c056c555" [[package]] name = "ecdsa" @@ -2243,10 +2440,24 @@ version = "0.14.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" dependencies = [ - "der", - "elliptic-curve", - "rfc6979", - "signature", + "der 0.6.1", + "elliptic-curve 0.12.3", + "rfc6979 0.3.1", + "signature 1.6.4", +] + +[[package]] +name = "ecdsa" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" +dependencies = [ + "der 0.7.8", + "digest 0.10.7", + "elliptic-curve 0.13.5", + "rfc6979 0.4.0", + "signature 2.1.0", + "spki 0.7.2", ] [[package]] @@ -2255,7 +2466,17 @@ version = "1.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "91cff35c70bba8a626e3185d8cd48cc11b5437e1a5bcd15b9b5fa3c64b6dfee7" dependencies = [ - "signature", + "signature 1.6.4", +] + +[[package]] +name = "ed25519" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60f6d271ca33075c88028be6f04d502853d63a5ece419d269c15315d4fc1cf1d" +dependencies = [ + "pkcs8 0.10.2", + "signature 2.1.0", ] [[package]] @@ -2265,13 +2486,25 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ "curve25519-dalek 3.2.0", - "ed25519", - "rand 0.7.3", - "serde", + "ed25519 1.5.3", "sha2 0.9.9", "zeroize", ] +[[package]] +name = "ed25519-dalek" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7277392b266383ef8396db7fdeb1e77b6c52fed775f5df15bb24f35b72156980" +dependencies = [ + "curve25519-dalek 4.0.0", + "ed25519 2.2.2", + "rand_core 0.6.4", + "serde", + "sha2 0.10.7", + "zeroize", +] + [[package]] name = "ed25519-zebra" version = "3.1.0" @@ -2288,9 +2521,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" @@ -2298,22 +2531,47 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" dependencies = [ - "base16ct", - "crypto-bigint", - "der", - "digest 0.10.6", - "ff", - "generic-array 0.14.6", - "group", + "base16ct 0.1.1", + "crypto-bigint 0.4.9", + "der 0.6.1", + "digest 0.10.7", + "ff 0.12.1", + "generic-array 0.14.7", + "group 0.12.1", "hkdf", "pem-rfc7468", - "pkcs8", + "pkcs8 0.9.0", + "rand_core 0.6.4", + "sec1 0.3.0", + "subtle", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "968405c8fdc9b3bf4df0a6638858cc0b52462836ab6b1c87377785dd09cf1c0b" +dependencies = [ + "base16ct 0.2.0", + "crypto-bigint 0.5.2", + "digest 0.10.7", + "ff 0.13.0", + "generic-array 0.14.7", + "group 0.13.0", + "pkcs8 0.10.2", "rand_core 0.6.4", - "sec1", + "sec1 0.7.3", "subtle", "zeroize", ] +[[package]] +name = "encode_unicode" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" + [[package]] name = "enum-as-inner" version = "0.5.1" @@ -2343,7 +2601,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.29", ] [[package]] @@ -2378,15 +2636,21 @@ version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e48c92028aaa870e83d51c64e5d4e0b6981b360c522198c23959f219a4e1b15b" +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "errno" -version = "0.2.8" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f639046355ee4f37944e44f60642c6f3a7efa3cf6b78c78a0d989a8ce6c396a1" +checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" dependencies = [ "errno-dragonfly", "libc", - "winapi", + "windows-sys 0.48.0", ] [[package]] @@ -2405,9 +2669,9 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fda3bf123be441da5260717e0661c25a2fd9cb2b2c1d20bf2e05580047158ab" dependencies = [ - "aes 0.8.2", + "aes 0.8.3", "ctr 0.9.2", - "digest 0.10.6", + "digest 0.10.7", "hex", "hmac 0.12.1", "pbkdf2 0.11.0", @@ -2415,7 +2679,7 @@ dependencies = [ "scrypt", "serde", "serde_json", - "sha2 0.10.6", + "sha2 0.10.7", "sha3", "thiserror", "uuid 0.8.2", @@ -2475,15 +2739,15 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ade3e9c97727343984e1ceada4fdab11142d2ee3472d2c67027d56b1251d4f15" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "bytes", "chrono", "convert_case 0.6.0", - "elliptic-curve", + "elliptic-curve 0.12.3", "ethabi", - "generic-array 0.14.6", + "generic-array 0.14.7", "hex", - "k256", + "k256 0.11.6", "open-fastrlp", "proc-macro2", "rand 0.8.5", @@ -2507,12 +2771,12 @@ dependencies = [ "async-trait", "coins-bip32", "coins-bip39", - "elliptic-curve", + "elliptic-curve 0.12.3", "eth-keystore", "ethers-core", "hex", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", ] @@ -2531,6 +2795,19 @@ dependencies = [ "futures", ] +[[package]] +name = "expander" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f86a749cf851891866c10515ef6c299b5c69661465e9c3bbe7e07a2b77fb0f7" +dependencies = [ + "blake2", + "fs-err", + "proc-macro2", + "quote", + "syn 2.0.29", +] + [[package]] name = "fake-simd" version = "0.1.2" @@ -2552,6 +2829,12 @@ dependencies = [ "instant", ] +[[package]] +name = "fastrand" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" + [[package]] name = "fdlimit" version = "0.2.1" @@ -2571,11 +2854,21 @@ dependencies = [ "subtle", ] +[[package]] +name = "ff" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ded41244b729663b1e574f1b4fb731469f69f79c17667b5d776b16cda0479449" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "fiat-crypto" -version = "0.1.17" +version = "0.1.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a214f5bb88731d436478f3ae1f8a277b62124089ba9fb67f4f93fb100ef73c90" +checksum = "e825f6987101665dea6ec934c09ec6d721de7bc1bf92248e1d5810c8cd636b77" [[package]] name = "file-per-thread-logger" @@ -2601,9 +2894,9 @@ dependencies = [ [[package]] name = "finality-grandpa" -version = "0.16.1" +version = "0.16.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e24e6c429951433ccb7c87fd528c60084834dcd14763182c1f83291bcde24c34" +checksum = "36530797b9bf31cd4ff126dcfee8170f86b00cfdcea3269d73133cc0415945c3" dependencies = [ "either", "futures", @@ -2635,9 +2928,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.25" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8a2db397cb1c8772f31494cb8917e48cd1e64f0fa7efac59fbd741a0a8ce841" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" dependencies = [ "crc32fast", "libz-sys", @@ -2662,16 +2955,16 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "fork-tree" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", ] [[package]] name = "form_urlencoded" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" dependencies = [ "percent-encoding", ] @@ -2685,9 +2978,10 @@ checksum = "6c2141d6d6c8512188a7891b4b01590a45f6dac67afb4f255c4124dbb86d4eaa" [[package]] name = "frame-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", + "frame-support-procedural", "frame-system", "linregress", "log", @@ -2703,17 +2997,18 @@ dependencies = [ "sp-runtime-interface", "sp-std", "sp-storage", + "static_assertions", ] [[package]] name = "frame-benchmarking-cli" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "Inflector", "array-bytes", "chrono", - "clap 4.1.6", + "clap 4.4.1", "comfy-table", "frame-benchmarking", "frame-support", @@ -2742,12 +3037,13 @@ dependencies = [ "sp-database", "sp-externalities", "sp-inherents", + "sp-io", "sp-keystore", "sp-runtime", "sp-state-machine", - "sp-std", "sp-storage", "sp-trie", + "sp-wasm-interface", "thiserror", "thousands", ] @@ -2755,18 +3051,18 @@ dependencies = [ [[package]] name = "frame-election-provider-solution-type" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "frame-election-provider-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-election-provider-solution-type", "frame-support", @@ -2783,25 +3079,29 @@ dependencies = [ [[package]] name = "frame-executive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" dependencies = [ + "array-bytes", "frame-support", "frame-system", "frame-try-runtime", + "pallet-balances", + "pallet-transaction-payment", "parity-scale-codec", "scale-info", "sp-core", + "sp-inherents", "sp-io", "sp-runtime", "sp-std", "sp-tracing", + "sp-version", ] [[package]] name = "frame-metadata" -version = "15.0.0" +version = "16.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df6bb8542ef006ef0de09a5c4420787d79823c0ed7924225822362fd2bf2ff2d" +checksum = "87cf1549fba25a6fcac22785b61698317d958e96cac72a59102ea45b9ae64692" dependencies = [ "cfg-if", "parity-scale-codec", @@ -2812,31 +3112,37 @@ dependencies = [ [[package]] name = "frame-remote-externalities" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "async-recursion", "futures", + "indicatif", + "jsonrpsee", "log", "parity-scale-codec", "serde", "sp-core", "sp-io", "sp-runtime", + "spinners", "substrate-rpc-client", "tokio", + "tokio-retry", ] [[package]] name = "frame-support" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "bitflags", + "bitflags 1.3.2", + "environmental", "frame-metadata", "frame-support-procedural", "impl-trait-for-tuples", - "k256", + "k256 0.13.1", "log", - "once_cell", + "macro_magic", "parity-scale-codec", "paste", "scale-info", @@ -2846,6 +3152,7 @@ dependencies = [ "sp-arithmetic", "sp-core", "sp-core-hashing-proc-macro", + "sp-debug-derive", "sp-inherents", "sp-io", "sp-runtime", @@ -2860,37 +3167,41 @@ dependencies = [ [[package]] name = "frame-support-procedural" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "Inflector", "cfg-expr", + "derive-syn-parse", + "expander", "frame-support-procedural-tools", "itertools 0.10.5", + "macro_magic", + "proc-macro-warning", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "frame-support-procedural-tools" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support-procedural-tools-derive", "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "frame-support-procedural-tools-derive" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -2899,7 +3210,8 @@ version = "4.0.0-dev" dependencies = [ "avail-base", "avail-core", - "beefy-merkle-tree", + "binary-merkle-tree", + "cfg-if", "criterion", "derive_more", "frame-support", @@ -2953,7 +3265,7 @@ dependencies = [ [[package]] name = "frame-try-runtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "parity-scale-codec", @@ -2962,6 +3274,12 @@ dependencies = [ "sp-std", ] +[[package]] +name = "fs-err" +version = "2.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0845fa252299212f0389d64ba26f34fa32cfe41588355f21ed507c59a0f64541" + [[package]] name = "fs2" version = "0.4.3" @@ -2980,9 +3298,9 @@ checksum = "e6d5a32815ae3f33302d95fdcb2ce17862f8c65363dcfd29360480ba1001fc9c" [[package]] name = "futures" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e2792b0ff0340399d58445b88fd9770e3489eff258a4cbc1523418f12abf84" +checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40" dependencies = [ "futures-channel", "futures-core", @@ -2995,9 +3313,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e5317663a9089767a1ec00a487df42e0ca174b61b4483213ac24448e4664df5" +checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" dependencies = [ "futures-core", "futures-sink", @@ -3005,15 +3323,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec90ff4d0fe1f57d600049061dc6bb68ed03c7d2fbd697274c41805dcb3f8608" +checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" [[package]] name = "futures-executor" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8de0a35a6ab97ec8869e32a2473f4b1324459e14c29275d14b10cb1fd19b50e" +checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0" dependencies = [ "futures-core", "futures-task", @@ -3023,34 +3341,34 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb8371b6fb2aeb2d280374607aeabfc99d95c72edfe51692e42d3d7f0d08531" +checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964" [[package]] name = "futures-lite" -version = "1.12.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" dependencies = [ - "fastrand", + "fastrand 1.9.0", "futures-core", "futures-io", "memchr", "parking", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "waker-fn", ] [[package]] name = "futures-macro" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a73af87da33b5acf53acfebdc339fe592ecf5357ac7c0a7734ab9d8c876a70" +checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -3060,21 +3378,21 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d2411eed028cdf8c8034eaf21f9915f956b6c3abec4d4c7949ee67f0721127bd" dependencies = [ "futures-io", - "rustls 0.20.8", - "webpki 0.22.0", + "rustls 0.20.9", + "webpki 0.22.1", ] [[package]] name = "futures-sink" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f310820bb3e8cfd46c80db4d7fb8353e15dfff853a127158425f31e0be6c8364" +checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" [[package]] name = "futures-task" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcf79a1bf610b10f42aea489289c5a2c478a786509693b80cd39c44ccd936366" +checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" [[package]] name = "futures-timer" @@ -3088,9 +3406,9 @@ dependencies = [ [[package]] name = "futures-util" -version = "0.3.26" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c1d6de3acfef38d2be4b1f543f553131788603495be83da675e180c8d6b7bd1" +checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" dependencies = [ "futures-channel", "futures-core", @@ -3099,7 +3417,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "pin-utils", "slab", ] @@ -3124,12 +3442,13 @@ dependencies = [ [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -3155,9 +3474,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427" dependencies = [ "cfg-if", "js-sys", @@ -3168,40 +3487,40 @@ dependencies = [ [[package]] name = "ghash" -version = "0.3.1" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" +checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.4.5", + "polyval 0.5.3", ] [[package]] name = "ghash" -version = "0.4.4" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1583cc1656d7839fd3732b80cf4f38850336cdb9b8ded1cd399ca62958de3c99" +checksum = "d930750de5717d2dd0b8c0d42c076c0e884c81a73e6cab859bbd2339c71e3e40" dependencies = [ "opaque-debug 0.3.0", - "polyval 0.5.3", + "polyval 0.6.1", ] [[package]] name = "gimli" -version = "0.26.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d" +checksum = "b6c80984affa11d98d1b88b66ac8853f143217b399d3c74116778ff8fdb4ed2e" dependencies = [ "fallible-iterator", - "indexmap", + "indexmap 1.9.3", "stable_deref_trait", ] [[package]] name = "gimli" -version = "0.27.2" +version = "0.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4" +checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "glob" @@ -3211,9 +3530,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.10" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "029d74589adefde59de1a0c4f4732695c32805624aec7b68d91503d4dba79afc" +checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" dependencies = [ "aho-corasick", "bstr", @@ -3256,9 +3575,9 @@ dependencies = [ [[package]] name = "gloo-utils" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8e8fc851e9c7b9852508bc6e3f690f452f474417e8545ec9857b7f7377036b5" +checksum = "037fcb07216cb3a30f7292bd0176b050b7b9a052ba830ef7d5d65f6dc64ba58e" dependencies = [ "js-sys", "serde", @@ -3273,16 +3592,27 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" dependencies = [ - "ff", + "ff 0.12.1", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff 0.13.0", "rand_core 0.6.4", "subtle", ] [[package]] name = "h2" -version = "0.3.15" +version = "0.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f9f29bc9dda355256b2916cf526ab02ce0aeaaaf2bad60d65ef3f12f11dd0f4" +checksum = "91fc23aa11be92976ef4729127f1a74adf36d8436f7816b185d18df956790833" dependencies = [ "bytes", "fnv", @@ -3290,7 +3620,7 @@ dependencies = [ "futures-sink", "futures-util", "http", - "indexmap", + "indexmap 1.9.3", "slab", "tokio", "tokio-util", @@ -3305,9 +3635,9 @@ checksum = "eabb4a44450da02c90444cf74558da904edde8fb4e9035a9a6a4e15445af0bd7" [[package]] name = "handlebars" -version = "4.3.6" +version = "4.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "035ef95d03713f2c347a72547b7cd38cbc9af7cd51e6099fb62d586d4a6dee3a" +checksum = "83c3372087601b532857d332f5957cbae686da52bb7810bf038c3e3c3cc2fa0d" dependencies = [ "log", "pest", @@ -3319,9 +3649,9 @@ dependencies = [ [[package]] name = "hash-db" -version = "0.15.2" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23bd4e7b5eda0d0f3a307e8b381fdc8ba9000f26fbe912250c0a4cc3956364a" +checksum = "8e7d7786361d7425ae2fe4f9e407eb0efaa0840f5212d109cc018c40c35c6ab4" [[package]] name = "hash256-std-hasher" @@ -3359,6 +3689,12 @@ dependencies = [ "ahash 0.8.3", ] +[[package]] +name = "hashbrown" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" + [[package]] name = "heck" version = "0.4.1" @@ -3376,18 +3712,9 @@ dependencies = [ [[package]] name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" +checksum = "443144c8cdadd93ebf52ddb4056d257f5b52c04d3c804e657d19eb73fc33668b" [[package]] name = "hex" @@ -3423,16 +3750,6 @@ dependencies = [ "digest 0.9.0", ] -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac 0.10.1", - "digest 0.9.0", -] - [[package]] name = "hmac" version = "0.11.0" @@ -3449,7 +3766,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -3459,7 +3776,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17ea0a1394df5b6574da6e0c1ade9e78868c9fb0a4e5ef4428e32da4676b85b1" dependencies = [ "digest 0.9.0", - "generic-array 0.14.6", + "generic-array 0.14.7", "hmac 0.8.1", ] @@ -3493,14 +3810,14 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", ] [[package]] name = "http-range-header" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bfe8eed0a9285ef776bb792479ea3834e8b94e13d615c2f66d03dd50a435a29" +checksum = "add0ab9360ddbd88cfeb3bd9574a1d85cfdfa14db10b3e21d3700dbc4328758f" [[package]] name = "httparse" @@ -3510,9 +3827,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -3522,9 +3839,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.24" +version = "0.14.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e011372fa0b68db8350aa7a248930ecc7839bf46d8485577d69f117a75f164c" +checksum = "ffb1cfd654a8219eaef89881fdb3bb3b1cdc5fa75ded05d6933b2b382e395468" dependencies = [ "bytes", "futures-channel", @@ -3536,8 +3853,8 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.9", - "socket2", + "pin-project-lite 0.2.13", + "socket2 0.4.9", "tokio", "tower-service", "tracing", @@ -3546,42 +3863,42 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.2" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1788965e61b367cd03a62950836d5cd41560c3577d90e40e0819373194d1661c" +checksum = "8d78e1e73ec14cf7375674f74d7dde185c8206fd9dea6fb6295e8a98098aaa97" dependencies = [ + "futures-util", "http", "hyper", "log", - "rustls 0.20.8", + "rustls 0.21.7", "rustls-native-certs", "tokio", "tokio-rustls", - "webpki-roots", + "webpki-roots 0.23.1", ] [[package]] name = "iana-time-zone" -version = "0.1.53" +version = "0.1.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64c122667b287044802d6ce17ee2ddf13207ed924c712de9a66a5814d5b64765" +checksum = "2fad5b825842d2b38bd206f3e81d6957625fd7f0a361e345c30e01a0ae2dd613" dependencies = [ "android_system_properties", "core-foundation-sys", "iana-time-zone-haiku", "js-sys", "wasm-bindgen", - "winapi", + "windows 0.48.0", ] [[package]] name = "iana-time-zone-haiku" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca" +checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f" dependencies = [ - "cxx", - "cxx-build", + "cc", ] [[package]] @@ -3603,9 +3920,9 @@ dependencies = [ [[package]] name = "idna" -version = "0.3.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" dependencies = [ "unicode-bidi", "unicode-normalization", @@ -3623,9 +3940,9 @@ dependencies = [ [[package]] name = "if-watch" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba7abdbb86e485125dad06c2691e1e393bf3b08c7b743b43aa162a00fd39062e" +checksum = "a9465340214b296cd17a0009acdb890d6160010b8adf8f78a00d0d7ab270f79f" dependencies = [ "async-io", "core-foundation", @@ -3637,7 +3954,7 @@ dependencies = [ "rtnetlink", "system-configuration", "tokio", - "windows", + "windows 0.34.0", ] [[package]] @@ -3680,22 +3997,45 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.9.2" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1885e79c1fc4b10f0e172c475f458b7f7b93061064d98c3293e98c5ba0c8b399" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" dependencies = [ "autocfg", "hashbrown 0.12.3", "serde", ] +[[package]] +name = "indexmap" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +dependencies = [ + "equivalent", + "hashbrown 0.14.0", +] + +[[package]] +name = "indicatif" +version = "0.17.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" +dependencies = [ + "console", + "instant", + "number_prefix", + "portable-atomic", + "unicode-width", +] + [[package]] name = "inout" version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", ] [[package]] @@ -3737,18 +4077,13 @@ dependencies = [ [[package]] name = "io-lifetimes" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074" - -[[package]] -name = "io-lifetimes" -version = "1.0.5" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1abeb7a0dd0f8181267ff8adc397075586500b81b28a73e8a0208b00fc170fb3" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" dependencies = [ + "hermit-abi 0.3.2", "libc", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] @@ -3759,32 +4094,31 @@ checksum = "aa2f047c0a98b2f299aa5d6d7088443570faae494e9ae1305e48be000c9e0eb1" [[package]] name = "ipconfig" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd302af1b90f2463a98fa5ad469fc212c8e3175a41c3068601bfa2727591c5be" +checksum = "b58db92f96b720de98181bbbe63c831e87005ab460c1bf306eb2622b4707997f" dependencies = [ - "socket2", + "socket2 0.5.3", "widestring", - "winapi", + "windows-sys 0.48.0", "winreg", ] [[package]] name = "ipnet" -version = "2.7.1" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30e22bd8629359895450b59ea7a776c850561b96a3b1d31321c1949d9e6c9146" +checksum = "28b29a3cd74f0f4598934efe3aeba42bae0eb4680554128851ebbecb02af14e6" [[package]] name = "is-terminal" -version = "0.4.4" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21b6b32576413a8e69b90e952e4a026476040d81017b80445deda5f2d3921857" +checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes 1.0.5", - "rustix 0.36.8", - "windows-sys 0.45.0", + "hermit-abi 0.3.2", + "rustix 0.38.10", + "windows-sys 0.48.0", ] [[package]] @@ -3807,33 +4141,33 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.5" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" +checksum = "af150ab688ff2122fcef229be89cb50dd66af9e01a4ff320cc137eecc9bacc38" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" dependencies = [ "wasm-bindgen", ] [[package]] name = "jsonrpsee" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d291e3a5818a2384645fd9756362e6d89cf0541b0b916fa7702ea4a9833608e" +checksum = "367a292944c07385839818bb71c8d76611138e2dedb0677d035b8da21d29c78b" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3848,9 +4182,9 @@ dependencies = [ [[package]] name = "jsonrpsee-client-transport" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "965de52763f2004bc91ac5bcec504192440f0b568a5d621c59d9dbd6f886c3fb" +checksum = "c8b3815d9f5d5de348e5f162b316dc9cdf4548305ebb15b4eb9328e66cf27d7a" dependencies = [ "anyhow", "futures-channel", @@ -3868,17 +4202,17 @@ dependencies = [ "tokio-rustls", "tokio-util", "tracing", - "webpki-roots", + "webpki-roots 0.25.2", ] [[package]] name = "jsonrpsee-core" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4e70b4439a751a5de7dd5ed55eacff78ebf4ffe0fc009cb1ebb11417f5b536b" +checksum = "2b5dde66c53d6dcdc8caea1874a45632ec0fcf5b437789f1e45766a1512ce803" dependencies = [ "anyhow", - "arrayvec 0.7.2", + "arrayvec 0.7.4", "async-lock", "async-trait", "beef", @@ -3902,9 +4236,9 @@ dependencies = [ [[package]] name = "jsonrpsee-http-client" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc345b0a43c6bc49b947ebeb936e886a419ee3d894421790c969cc56040542ad" +checksum = "7e5f9fabdd5d79344728521bb65e3106b49ec405a78b66fbff073b72b389fa43" dependencies = [ "async-trait", "hyper", @@ -3921,9 +4255,9 @@ dependencies = [ [[package]] name = "jsonrpsee-proc-macros" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baa6da1e4199c10d7b1d0a6e5e8bd8e55f351163b6f4b3cbb044672a69bd4c1c" +checksum = "44e8ab85614a08792b9bff6c8feee23be78c98d0182d4c622c05256ab553892a" dependencies = [ "heck", "proc-macro-crate", @@ -3934,9 +4268,9 @@ dependencies = [ [[package]] name = "jsonrpsee-server" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb69dad85df79527c019659a992498d03f8495390496da2f07e6c24c2b356fc" +checksum = "cf4d945a6008c9b03db3354fb3c83ee02d2faa9f2e755ec1dfb69c3551b8f4ba" dependencies = [ "futures-channel", "futures-util", @@ -3956,9 +4290,9 @@ dependencies = [ [[package]] name = "jsonrpsee-types" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd522fe1ce3702fd94812965d7bb7a3364b1c9aba743944c5a00529aae80f8c" +checksum = "245ba8e5aa633dd1c1e4fae72bce06e71f42d34c14a2767c6b4d173b57bee5e5" dependencies = [ "anyhow", "beef", @@ -3970,9 +4304,9 @@ dependencies = [ [[package]] name = "jsonrpsee-wasm-client" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a77310456f43c6c89bcba1f6b2fc2a28300da7c341f320f5128f8c83cc63232d" +checksum = "18e5df77c8f625d36e4cfb583c5a674eccebe32403fcfe42f7ceff7fac9324dd" dependencies = [ "jsonrpsee-client-transport", "jsonrpsee-core", @@ -3981,9 +4315,9 @@ dependencies = [ [[package]] name = "jsonrpsee-ws-client" -version = "0.16.2" +version = "0.16.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b83daeecfc6517cfe210df24e570fb06213533dfb990318fae781f4c7119dd9" +checksum = "4e1b3975ed5d73f456478681a417128597acd6a2487855fdb7b4a3d4d195bf5e" dependencies = [ "http", "jsonrpsee-client-transport", @@ -3998,16 +4332,29 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" dependencies = [ "cfg-if", - "ecdsa", - "elliptic-curve", - "sha2 0.10.6", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.7", "sha3", ] +[[package]] +name = "k256" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cadb76004ed8e97623117f3df85b17aaa6626ab0b0831e6573f104df16cd1bcc" +dependencies = [ + "cfg-if", + "ecdsa 0.16.8", + "elliptic-curve 0.13.5", + "once_cell", + "sha2 0.10.7", +] + [[package]] name = "kate" version = "0.8.1" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ "avail-core", "derive_more", @@ -4017,7 +4364,7 @@ dependencies = [ "hex-literal", "kate-recovery", "log", - "nalgebra 0.32.3", + "nalgebra", "once_cell", "parity-scale-codec", "poly-multiproof", @@ -4035,7 +4382,7 @@ dependencies = [ [[package]] name = "kate-recovery" version = "0.9.1" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ "avail-core", "derive_more", @@ -4065,7 +4412,7 @@ dependencies = [ "kate", "kate-recovery", "lru 0.7.8", - "nalgebra 0.32.3", + "nalgebra", "parity-scale-codec", "sc-client-api", "sc-client-db", @@ -4077,9 +4424,9 @@ dependencies = [ [[package]] name = "keccak" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768" +checksum = "8f6d5ed8676d904364de097082f4e7d240b571b67989ced0240f08b7f966f940" dependencies = [ "cpufeatures", ] @@ -4105,9 +4452,9 @@ dependencies = [ [[package]] name = "kvdb-rocksdb" -version = "0.17.0" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2182b8219fee6bd83aacaab7344e840179ae079d5216aa4e249b4d704646a844" +checksum = "b644c70b92285f66bfc2032922a79000ea30af7bc2ab31902992a5dcb9b434f6" dependencies = [ "kvdb", "num_cpus", @@ -4131,9 +4478,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.147" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3" [[package]] name = "libloading" @@ -4145,36 +4492,26 @@ dependencies = [ "winapi", ] -[[package]] -name = "libm" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc7aa29613bd6a620df431842069224d8bc9011086b1db4c0e0cd47fa03ec9a" - -[[package]] -name = "libm" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" - [[package]] name = "libp2p" -version = "0.50.0" +version = "0.51.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e0a0d2f693675f49ded13c5d510c48b78069e23cbd9108d7ccd59f6dc568819" +checksum = "f210d259724eae82005b5c48078619b7745edb7b76de370b03f8ba59ea103097" dependencies = [ "bytes", "futures", "futures-timer", - "getrandom 0.2.8", + "getrandom 0.2.10", "instant", + "libp2p-allow-block-list", + "libp2p-connection-limits", "libp2p-core", "libp2p-dns", "libp2p-identify", + "libp2p-identity", "libp2p-kad", "libp2p-mdns", "libp2p-metrics", - "libp2p-mplex", "libp2p-noise", "libp2p-ping", "libp2p-quic", @@ -4186,25 +4523,45 @@ dependencies = [ "libp2p-websocket", "libp2p-yamux", "multiaddr", - "parking_lot 0.12.1", "pin-project", - "smallvec", +] + +[[package]] +name = "libp2p-allow-block-list" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "510daa05efbc25184458db837f6f9a5143888f1caa742426d92e1833ddd38a50" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", +] + +[[package]] +name = "libp2p-connection-limits" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4caa33f1d26ed664c4fe2cca81a08c8e07d4c1c04f2f4ac7655c2dd85467fda0" +dependencies = [ + "libp2p-core", + "libp2p-identity", + "libp2p-swarm", + "void", ] [[package]] name = "libp2p-core" -version = "0.38.0" +version = "0.39.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6a8fcd392ff67af6cc3f03b1426c41f7f26b6b9aff2dc632c1c56dd649e571f" +checksum = "3c1df63c0b582aa434fb09b2d86897fa2b419ffeccf934b36f87fcedc8e835c2" dependencies = [ - "asn1_der", - "bs58", - "ed25519-dalek", "either", "fnv", "futures", "futures-timer", "instant", + "libp2p-identity", "log", "multiaddr", "multihash", @@ -4212,24 +4569,20 @@ dependencies = [ "once_cell", "parking_lot 0.12.1", "pin-project", - "prost", - "prost-build", + "quick-protobuf", "rand 0.8.5", "rw-stream-sink", - "sec1", - "sha2 0.10.6", "smallvec", "thiserror", "unsigned-varint", "void", - "zeroize", ] [[package]] name = "libp2p-dns" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e42a271c1b49f789b92f7fc87749fa79ce5c7bdc88cbdfacb818a4bca47fec5" +checksum = "146ff7034daae62077c415c2376b8057368042df6ab95f5432ad5e88568b1554" dependencies = [ "futures", "libp2p-core", @@ -4241,32 +4594,51 @@ dependencies = [ [[package]] name = "libp2p-identify" -version = "0.41.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c052d0026f4817b44869bfb6810f4e1112f43aec8553f2cb38881c524b563abf" +checksum = "5455f472243e63b9c497ff320ded0314254a9eb751799a39c283c6f20b793f3c" dependencies = [ "asynchronous-codec", + "either", "futures", "futures-timer", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "lru 0.8.1", - "prost", - "prost-build", - "prost-codec", + "lru 0.10.1", + "quick-protobuf", + "quick-protobuf-codec", "smallvec", "thiserror", "void", ] +[[package]] +name = "libp2p-identity" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "276bb57e7af15d8f100d3c11cbdd32c6752b7eef4ba7a18ecf464972c07abcce" +dependencies = [ + "bs58", + "ed25519-dalek 2.0.0", + "log", + "multiaddr", + "multihash", + "quick-protobuf", + "rand 0.8.5", + "sha2 0.10.7", + "thiserror", + "zeroize", +] + [[package]] name = "libp2p-kad" -version = "0.42.1" +version = "0.43.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2766dcd2be8c87d5e1f35487deb22d765f49c6ae1251b3633efe3b25698bd3d2" +checksum = "39d5ef876a2b2323d63c258e63c2f8e36f205fe5a11f0b3095d59635650790ff" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "asynchronous-codec", "bytes", "either", @@ -4275,12 +4647,12 @@ dependencies = [ "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", - "prost", - "prost-build", + "quick-protobuf", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.7", "smallvec", "thiserror", "uint", @@ -4290,19 +4662,20 @@ dependencies = [ [[package]] name = "libp2p-mdns" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04f378264aade9872d6ccd315c0accc18be3a35d15fc1b9c36e5b6f983b62b5b" +checksum = "19983e1f949f979a928f2c603de1cf180cc0dc23e4ac93a62651ccb18341460b" dependencies = [ "data-encoding", "futures", "if-watch", "libp2p-core", + "libp2p-identity", "libp2p-swarm", "log", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.4.9", "tokio", "trust-dns-proto", "void", @@ -4310,9 +4683,9 @@ dependencies = [ [[package]] name = "libp2p-metrics" -version = "0.11.0" +version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ad8a64f29da86005c86a4d2728b8a0719e9b192f4092b609fd8790acb9dec55" +checksum = "a42ec91e227d7d0dafa4ce88b333cdf5f277253873ab087555c92798db2ddd46" dependencies = [ "libp2p-core", "libp2p-identify", @@ -4322,40 +4695,22 @@ dependencies = [ "prometheus-client", ] -[[package]] -name = "libp2p-mplex" -version = "0.38.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03805b44107aa013e7cbbfa5627b31c36cbedfdfb00603c0311998882bc4bace" -dependencies = [ - "asynchronous-codec", - "bytes", - "futures", - "libp2p-core", - "log", - "nohash-hasher", - "parking_lot 0.12.1", - "rand 0.8.5", - "smallvec", - "unsigned-varint", -] - [[package]] name = "libp2p-noise" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a978cb57efe82e892ec6f348a536bfbd9fee677adbe5689d7a93ad3a9bffbf2e" +checksum = "9c3673da89d29936bc6435bafc638e2f184180d554ce844db65915113f86ec5e" dependencies = [ "bytes", "curve25519-dalek 3.2.0", "futures", "libp2p-core", + "libp2p-identity", "log", "once_cell", - "prost", - "prost-build", + "quick-protobuf", "rand 0.8.5", - "sha2 0.10.6", + "sha2 0.10.7", "snow", "static_assertions", "thiserror", @@ -4365,10 +4720,11 @@ dependencies = [ [[package]] name = "libp2p-ping" -version = "0.41.0" +version = "0.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "929fcace45a112536e22b3dcfd4db538723ef9c3cb79f672b98be2cc8e25f37f" +checksum = "3e57759c19c28a73ef1eb3585ca410cefb72c1a709fcf6de1612a378e4219202" dependencies = [ + "either", "futures", "futures-timer", "instant", @@ -4381,48 +4737,47 @@ dependencies = [ [[package]] name = "libp2p-quic" -version = "0.7.0-alpha" +version = "0.7.0-alpha.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01e7c867e95c8130667b24409d236d37598270e6da69b3baf54213ba31ffca59" +checksum = "c6b26abd81cd2398382a1edfe739b539775be8a90fa6914f39b2ab49571ec735" dependencies = [ "bytes", "futures", "futures-timer", "if-watch", "libp2p-core", + "libp2p-identity", "libp2p-tls", "log", "parking_lot 0.12.1", "quinn-proto", "rand 0.8.5", - "rustls 0.20.8", + "rustls 0.20.9", "thiserror", "tokio", ] [[package]] name = "libp2p-request-response" -version = "0.23.0" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3236168796727bfcf4927f766393415361e2c644b08bedb6a6b13d957c9a4884" +checksum = "7ffdb374267d42dc5ed5bc53f6e601d4a64ac5964779c6e40bb9e4f14c1e30d5" dependencies = [ "async-trait", - "bytes", "futures", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm", - "log", "rand 0.8.5", "smallvec", - "unsigned-varint", ] [[package]] name = "libp2p-swarm" -version = "0.41.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2a35472fe3276b3855c00f1c032ea8413615e030256429ad5349cdf67c6e1a0" +checksum = "903b3d592d7694e56204d211f29d31bc004be99386644ba8731fc3e3ef27b296" dependencies = [ "either", "fnv", @@ -4430,21 +4785,20 @@ dependencies = [ "futures-timer", "instant", "libp2p-core", + "libp2p-identity", "libp2p-swarm-derive", "log", - "pin-project", "rand 0.8.5", "smallvec", - "thiserror", "tokio", "void", ] [[package]] name = "libp2p-swarm-derive" -version = "0.31.0" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d527d5827582abd44a6d80c07ff8b50b4ee238a8979e05998474179e79dc400" +checksum = "0fba456131824ab6acd4c7bf61e9c0f0a3014b5fc9868ccb8e10d344594cdc4f" dependencies = [ "heck", "quote", @@ -4453,9 +4807,9 @@ dependencies = [ [[package]] name = "libp2p-tcp" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b257baf6df8f2df39678b86c578961d48cc8b68642a12f0f763f56c8e5858d" +checksum = "33d33698596d7722d85d3ab0c86c2c322254fce1241e91208e3679b4eb3026cf" dependencies = [ "futures", "futures-timer", @@ -4463,33 +4817,34 @@ dependencies = [ "libc", "libp2p-core", "log", - "socket2", + "socket2 0.4.9", "tokio", ] [[package]] name = "libp2p-tls" -version = "0.1.0-alpha" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7905ce0d040576634e8a3229a7587cc8beab83f79db6023800f1792895defa8" +checksum = "ff08d13d0dc66e5e9ba6279c1de417b84fa0d0adc3b03e5732928c180ec02781" dependencies = [ "futures", "futures-rustls", "libp2p-core", + "libp2p-identity", "rcgen 0.10.0", "ring", - "rustls 0.20.8", + "rustls 0.20.9", "thiserror", - "webpki 0.22.0", + "webpki 0.22.1", "x509-parser 0.14.0", "yasna", ] [[package]] name = "libp2p-wasm-ext" -version = "0.38.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bb1a35299860e0d4b3c02a3e74e3b293ad35ae0cee8a056363b0c862d082069" +checksum = "77dff9d32353a5887adb86c8afc1de1a94d9e8c3bc6df8b2201d7cdf5c848f43" dependencies = [ "futures", "js-sys", @@ -4501,9 +4856,9 @@ dependencies = [ [[package]] name = "libp2p-webrtc" -version = "0.4.0-alpha" +version = "0.4.0-alpha.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb6cd86dd68cba72308ea05de1cebf3ba0ae6e187c40548167955d4e3970f6a" +checksum = "dba48592edbc2f60b4bc7c10d65445b0c3964c07df26fdf493b6880d33be36f8" dependencies = [ "async-trait", "asynchronous-codec", @@ -4513,12 +4868,12 @@ dependencies = [ "hex", "if-watch", "libp2p-core", + "libp2p-identity", "libp2p-noise", "log", "multihash", - "prost", - "prost-build", - "prost-codec", + "quick-protobuf", + "quick-protobuf-codec", "rand 0.8.5", "rcgen 0.9.3", "serde", @@ -4532,9 +4887,9 @@ dependencies = [ [[package]] name = "libp2p-websocket" -version = "0.40.0" +version = "0.41.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d705506030d5c0aaf2882437c70dab437605f21c5f9811978f694e6917a3b54" +checksum = "111273f7b3d3510524c752e8b7a5314b7f7a1fee7e68161c01a7d72cbb06db9f" dependencies = [ "either", "futures", @@ -4546,28 +4901,27 @@ dependencies = [ "rw-stream-sink", "soketto", "url", - "webpki-roots", + "webpki-roots 0.22.6", ] [[package]] name = "libp2p-yamux" -version = "0.42.0" +version = "0.43.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f63594a0aa818642d9d4915c791945053877253f08a3626f13416b5cd928a29" +checksum = "4dcd21d950662700a385d4c6d68e2f5f54d778e97068cdd718522222ef513bda" dependencies = [ "futures", "libp2p-core", "log", - "parking_lot 0.12.1", "thiserror", "yamux", ] [[package]] name = "librocksdb-sys" -version = "0.8.3+7.4.4" +version = "0.11.0+8.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "557b255ff04123fcc176162f56ed0c9cd42d8f357cf55b3fabeb60f7413741b3" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" dependencies = [ "bindgen", "bzip2-sys", @@ -4628,9 +4982,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.8" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9702761c3935f8cc2f101793272e202c72b99da8f4224a19ddcf1279a6450bbf" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "pkg-config", @@ -4639,9 +4993,9 @@ dependencies = [ [[package]] name = "link-cplusplus" -version = "1.0.8" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" +checksum = "9d240c6f7e1ba3a28b0249f774e6a9dd0175054b52dfbb61b16eb8505c3785c9" dependencies = [ "cc", ] @@ -4663,31 +5017,36 @@ dependencies = [ [[package]] name = "linregress" -version = "0.4.4" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6c601a85f5ecd1aba625247bca0031585fb1c446461b142878a16f8245ddeb8" +checksum = "4de04dcecc58d366391f9920245b85ffa684558a5ef6e7736e754347c3aea9c2" dependencies = [ - "nalgebra 0.27.1", - "statrs", + "nalgebra", ] [[package]] name = "linux-raw-sys" -version = "0.0.46" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" + +[[package]] +name = "linux-raw-sys" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4d2456c373231a208ad294c33dc5bff30051eafd954cd4caae83a712b12854d" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.1.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f051f77a7c8e6957c0696eac88f26b0117e54f52d3fc682ab19397a8812846a4" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" -version = "0.4.9" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" +checksum = "c1cc9717a20b1bb222f333e6a92fd32f7d8a18ddc5a3191a11af45dcbf4dcd16" dependencies = [ "autocfg", "scopeguard", @@ -4695,11 +5054,11 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" dependencies = [ - "cfg-if", + "serde", ] [[package]] @@ -4713,11 +5072,11 @@ dependencies = [ [[package]] name = "lru" -version = "0.8.1" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6e8aaa3f231bb4bd57b84b2d5dc3ae7f350265df8aa96492e0bc394a1571909" +checksum = "718e8fae447df0c7e1ba7f5189829e63fd536945c8988d61444c19039f16b670" dependencies = [ - "hashbrown 0.12.3", + "hashbrown 0.13.2", ] [[package]] @@ -4758,6 +5117,60 @@ dependencies = [ "libc", ] +[[package]] +name = "macro_magic" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aee866bfee30d2d7e83835a4574aad5b45adba4cc807f2a3bbba974e5d4383c9" +dependencies = [ + "macro_magic_core", + "macro_magic_macros", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "macro_magic_core" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e766a20fd9c72bab3e1e64ed63f36bd08410e75803813df210d1ce297d7ad00" +dependencies = [ + "const-random", + "derive-syn-parse", + "macro_magic_core_macros", + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "macro_magic_core_macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c12469fc165526520dff2807c2975310ab47cf7190a45b99b49a7dc8befab17b" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "macro_magic_macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8fb85ec1620619edf2984a7693497d4ec88a9665d8b87e942856884c92dbf2a" +dependencies = [ + "macro_magic_core", + "quote", + "syn 2.0.29", +] + +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + [[package]] name = "match_cfg" version = "0.1.0" @@ -4770,7 +5183,7 @@ version = "0.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f099785f7595cc4b4553a174ce30dd7589ef93391ff414dbb67f62392b9e0ce1" dependencies = [ - "regex-automata", + "regex-automata 0.1.10", ] [[package]] @@ -4781,10 +5194,11 @@ checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5" [[package]] name = "matrixmultiply" -version = "0.3.2" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "add85d4dd35074e6fedc608f8c8f513a3548619a9024b751949ef0e8e45a4d84" +checksum = "090126dc04f95dc0d1c1c91f61bdd474b3930ca064c1edc8a849da2c6cbe1e77" dependencies = [ + "autocfg", "rawpointer", ] @@ -4794,22 +5208,22 @@ version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6365506850d44bff6e2fbcb5176cf63650e48bd45ef2fe2665ae1570e0f4b9ca" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "5486aed0026218e61b8a01d5fbd5a0a134649abb71a0e53b7bc088529dced86e" [[package]] name = "memfd" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b20a59d985586e4a5aef64564ac77299f8586d8be6cf9106a5a40207e8908efb" +checksum = "ffc89ccdc6e10d6907450f753537ebc5c5d3460d2e4e62ea74bd571db62c0f9e" dependencies = [ - "rustix 0.36.8", + "rustix 0.37.23", ] [[package]] @@ -4832,28 +5246,30 @@ dependencies = [ [[package]] name = "memoffset" -version = "0.7.1" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "d61c719bcfbcf5d62b3a09efa6088de8c54bc0bfcd3ea7ae39fcc186108b8de1" dependencies = [ "autocfg", ] [[package]] -name = "memory-db" -version = "0.31.0" +name = "memoffset" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e0c7cba9ce19ac7ffd2053ac9f49843bbd3f4318feedfd74e85c19d5fb0ba66" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" dependencies = [ - "hash-db", - "hashbrown 0.12.3", + "autocfg", ] [[package]] -name = "memory_units" -version = "0.4.0" +name = "memory-db" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" +checksum = "808b50db46293432a45e63bc15ea51e0ab4c0a1647b8eb114e31a3e698dd6fbe" +dependencies = [ + "hash-db", +] [[package]] name = "merlin" @@ -4879,12 +5295,6 @@ dependencies = [ "zeroize", ] -[[package]] -name = "micromath" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39617bc909d64b068dcffd0e3e31679195b5576d0c83fadc52690268cc2b2b55" - [[package]] name = "minimal-lexical" version = "0.2.1" @@ -4893,29 +5303,28 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.6.2" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa" +checksum = "e7810e0be55b428ada41041c41f32c9f1a42817901b4ccf45fa3d4b6561e74c7" dependencies = [ "adler", ] [[package]] name = "mio" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" +checksum = "927a765cd3fc26206e66b296465fa9d3e5ab003e651c1b3c060e7956d96b19d2" dependencies = [ "libc", - "log", "wasi 0.11.0+wasi-snapshot-preview1", - "windows-sys 0.45.0", + "windows-sys 0.48.0", ] [[package]] name = "mmr-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "anyhow", "jsonrpsee", @@ -4930,9 +5339,9 @@ dependencies = [ [[package]] name = "mockall" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50e4a1c770583dac7ab5e2f6c139153b783a53a1bbee9729613f193e59828326" +checksum = "4c84490118f2ee2d74570d114f3d0493cbf02790df303d2707606c3e14e07c96" dependencies = [ "cfg-if", "downcast", @@ -4945,9 +5354,9 @@ dependencies = [ [[package]] name = "mockall_derive" -version = "0.11.3" +version = "0.11.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "832663583d5fa284ca8810bf7015e46c9fff9622d3cf34bd1eea5003fec06dd0" +checksum = "22ce75669015c4f47b289fd4d4f56e894e4c96003ffdf3ac51313126f94c6cbb" dependencies = [ "cfg-if", "proc-macro2", @@ -4957,13 +5366,14 @@ dependencies = [ [[package]] name = "multiaddr" -version = "0.16.0" +version = "0.17.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4aebdb21e90f81d13ed01dc84123320838e53963c2ca94b60b305d3fa64f31e" +checksum = "2b36f567c7099511fa8612bbbb52dda2419ce0bdbacf31714e3a5ffdb766d3bd" dependencies = [ "arrayref", "byteorder", "data-encoding", + "log", "multibase", "multihash", "percent-encoding", @@ -4986,17 +5396,17 @@ dependencies = [ [[package]] name = "multihash" -version = "0.16.3" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c346cf9999c631f002d8f977c4eaeaa0e6386f16007202308d0b3757522c2cc" +checksum = "835d6ff01d610179fbce3de1694d007e500bf33a7f29689838941d6bf783ae40" dependencies = [ "blake2b_simd", "blake2s_simd", "blake3", "core2", - "digest 0.10.6", + "digest 0.10.7", "multihash-derive", - "sha2 0.10.6", + "sha2 0.10.7", "sha3", "unsigned-varint", ] @@ -5035,24 +5445,6 @@ dependencies = [ "unsigned-varint", ] -[[package]] -name = "nalgebra" -version = "0.27.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "462fffe4002f4f2e1f6a9dcf12cc1a6fc0e15989014efc02a941d3e0f5dc2120" -dependencies = [ - "approx", - "matrixmultiply", - "nalgebra-macros 0.1.0", - "num-complex", - "num-rational", - "num-traits", - "rand 0.8.5", - "rand_distr", - "simba 0.5.1", - "typenum", -] - [[package]] name = "nalgebra" version = "0.32.3" @@ -5061,25 +5453,14 @@ checksum = "307ed9b18cc2423f29e83f84fd23a8e73628727990181f18641a8b5dc2ab1caa" dependencies = [ "approx", "matrixmultiply", - "nalgebra-macros 0.2.1", + "nalgebra-macros", "num-complex", "num-rational", "num-traits", - "simba 0.8.1", + "simba", "typenum", ] -[[package]] -name = "nalgebra-macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01fcc0b8149b4632adc89ac3b7b31a12fb6099a0317a4eb2ebff574ef7de7218" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "nalgebra-macros" version = "0.2.1" @@ -5119,7 +5500,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9ea4302b9759a7a88242299225ea3688e63c85ea136371bb6cf94fd674efaab" dependencies = [ "anyhow", - "bitflags", + "bitflags 1.3.2", "byteorder", "libc", "netlink-packet-core", @@ -5155,9 +5536,9 @@ dependencies = [ [[package]] name = "netlink-sys" -version = "0.8.4" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "260e21fbb6f3d253a14df90eb0000a6066780a15dd901a7519ce02d77a94985b" +checksum = "6471bf08e7ac0135876a9581bf3217ef0333c191c128d34878079f42ee150411" dependencies = [ "bytes", "futures", @@ -5172,7 +5553,7 @@ version = "0.24.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg-if", "libc", "memoffset 0.6.5", @@ -5197,7 +5578,7 @@ dependencies = [ [[package]] name = "nomad-base" version = "0.1.5" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ "ethers-signers", "nomad-core", @@ -5213,7 +5594,7 @@ dependencies = [ [[package]] name = "nomad-core" version = "0.1.5" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ "ethers-core", "ethers-signers", @@ -5276,7 +5657,7 @@ dependencies = [ [[package]] name = "nomad-merkle" version = "0.1.3" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ "avail-core", "frame-support", @@ -5294,14 +5675,14 @@ dependencies = [ [[package]] name = "nomad-signature" version = "0.1.3" -source = "git+https://github.com/availproject/avail-core?branch=main#1c341788275f88aa334c1d674eb029403fa45c52" +source = "git+https://github.com/availproject/avail-core?branch=main#a7e020ca9a9b278f25139decb126d6bd4e60dc8c" dependencies = [ - "elliptic-curve", + "elliptic-curve 0.12.3", "ethers-core", "frame-support", - "generic-array 0.14.6", + "generic-array 0.14.7", "hex", - "k256", + "k256 0.11.6", "parity-scale-codec", "scale-info", "serde", @@ -5333,9 +5714,9 @@ checksum = "61807f77802ff30975e01f4f071c8ba10c022052f98b3294119f3e615d13e5be" [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -5344,9 +5725,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", ] @@ -5357,7 +5738,7 @@ version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a652d9771a63711fd3c3deb670acfbe5c30a4072e664d7a3bf5a9e1056ac72c3" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "itoa", ] @@ -5385,41 +5766,46 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "f30b0abd723be7e2ffca1272140fac1a2f084c77ec3e123c192b66af1ee9e6c2" dependencies = [ "autocfg", - "libm 0.2.6", ] [[package]] name = "num_cpus" -version = "1.15.0" +version = "1.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" +checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi 0.3.2", "libc", ] +[[package]] +name = "number_prefix" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" + [[package]] name = "object" -version = "0.29.0" +version = "0.30.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53" +checksum = "03b4680b86d9cfafba8fc491dc9b6df26b68cf40e9e6cd73909194759a63c385" dependencies = [ "crc32fast", - "hashbrown 0.12.3", - "indexmap", + "hashbrown 0.13.2", + "indexmap 1.9.3", "memchr", ] [[package]] name = "object" -version = "0.30.3" +version = "0.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439" +checksum = "77ac5bbd07aea88c60a577a1ce218075ffd59208b2d7ca97adf9bfc5aeb21ebe" dependencies = [ "memchr", ] @@ -5439,7 +5825,7 @@ version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9bedf36ffb6ba96c2eb7144ef6270557b52e54b20c0a8e1eb2ff99a6c6959bff" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", ] [[package]] @@ -5472,7 +5858,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "786393f80485445794f6043fd3138854dd109cc6c4bd1a6383db304c9ce9b9ce" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "auto_impl", "bytes", "ethereum-types", @@ -5499,9 +5885,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "os_str_bytes" -version = "6.4.1" +version = "6.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee" +checksum = "4d5d9eb14b174ee9aa2ef96dc2b94637a2d4b6e7cb873c7e171f0c20c6cf3eac" [[package]] name = "p256" @@ -5509,9 +5895,9 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51f44edd08f51e2ade572f141051021c5af22677e42b7dd28a88155151c33594" dependencies = [ - "ecdsa", - "elliptic-curve", - "sha2 0.10.6", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.7", ] [[package]] @@ -5520,25 +5906,15 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dfc8c5bf642dde52bb9e87c0ecd8ca5a76faac2eeed98dedb7c717997e1080aa" dependencies = [ - "ecdsa", - "elliptic-curve", - "sha2 0.10.6", -] - -[[package]] -name = "packed_simd_2" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1914cd452d8fccd6f9db48147b29fd4ae05bea9dc5d9ad578509f72415de282" -dependencies = [ - "cfg-if", - "libm 0.1.4", + "ecdsa 0.14.8", + "elliptic-curve 0.12.3", + "sha2 0.10.7", ] [[package]] name = "pallet-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -5554,14 +5930,13 @@ dependencies = [ [[package]] name = "pallet-authorship" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", "impl-trait-for-tuples", "parity-scale-codec", "scale-info", - "sp-authorship", "sp-runtime", "sp-std", ] @@ -5569,7 +5944,7 @@ dependencies = [ [[package]] name = "pallet-babe" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5582,7 +5957,7 @@ dependencies = [ "scale-info", "sp-application-crypto", "sp-consensus-babe", - "sp-consensus-vrf", + "sp-core", "sp-io", "sp-runtime", "sp-session", @@ -5593,7 +5968,7 @@ dependencies = [ [[package]] name = "pallet-bags-list" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5613,7 +5988,7 @@ dependencies = [ [[package]] name = "pallet-balances" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5628,7 +6003,7 @@ dependencies = [ [[package]] name = "pallet-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5646,7 +6021,7 @@ dependencies = [ [[package]] name = "pallet-child-bounties" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5665,7 +6040,7 @@ dependencies = [ [[package]] name = "pallet-collective" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5682,7 +6057,7 @@ dependencies = [ [[package]] name = "pallet-democracy" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5700,7 +6075,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-multi-phase" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5723,7 +6098,7 @@ dependencies = [ [[package]] name = "pallet-election-provider-support-benchmarking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -5736,7 +6111,7 @@ dependencies = [ [[package]] name = "pallet-elections-phragmen" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5748,13 +6123,14 @@ dependencies = [ "sp-io", "sp-npos-elections", "sp-runtime", + "sp-staking", "sp-std", ] [[package]] name = "pallet-grandpa" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5765,8 +6141,8 @@ dependencies = [ "parity-scale-codec", "scale-info", "sp-application-crypto", + "sp-consensus-grandpa", "sp-core", - "sp-finality-grandpa", "sp-io", "sp-runtime", "sp-session", @@ -5777,7 +6153,7 @@ dependencies = [ [[package]] name = "pallet-identity" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "enumflags2", "frame-benchmarking", @@ -5793,7 +6169,7 @@ dependencies = [ [[package]] name = "pallet-im-online" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5813,7 +6189,7 @@ dependencies = [ [[package]] name = "pallet-indices" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5847,7 +6223,7 @@ dependencies = [ [[package]] name = "pallet-membership" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5864,7 +6240,7 @@ dependencies = [ [[package]] name = "pallet-mmr" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5881,7 +6257,7 @@ dependencies = [ [[package]] name = "pallet-multisig" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5897,7 +6273,7 @@ dependencies = [ [[package]] name = "pallet-nomination-pools" version = "1.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -5914,7 +6290,7 @@ dependencies = [ [[package]] name = "pallet-offences" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -5931,7 +6307,7 @@ dependencies = [ [[package]] name = "pallet-preimage" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5948,7 +6324,7 @@ dependencies = [ [[package]] name = "pallet-scheduler" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -5965,7 +6341,7 @@ dependencies = [ [[package]] name = "pallet-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -5986,7 +6362,7 @@ dependencies = [ [[package]] name = "pallet-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-election-provider-support", @@ -6009,19 +6385,20 @@ dependencies = [ [[package]] name = "pallet-staking-reward-curve" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "pallet-sudo" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "frame-benchmarking", "frame-support", "frame-system", "parity-scale-codec", @@ -6034,7 +6411,7 @@ dependencies = [ [[package]] name = "pallet-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -6052,7 +6429,7 @@ dependencies = [ [[package]] name = "pallet-tips" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -6071,7 +6448,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-support", "frame-system", @@ -6087,7 +6464,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "jsonrpsee", "pallet-transaction-payment-rpc-runtime-api", @@ -6103,7 +6480,7 @@ dependencies = [ [[package]] name = "pallet-transaction-payment-rpc-runtime-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "pallet-transaction-payment", "parity-scale-codec", @@ -6115,7 +6492,7 @@ dependencies = [ [[package]] name = "pallet-treasury" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -6132,7 +6509,7 @@ dependencies = [ [[package]] name = "pallet-utility" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-benchmarking", "frame-support", @@ -6147,9 +6524,9 @@ dependencies = [ [[package]] name = "parity-db" -version = "0.4.3" +version = "0.4.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd684a725651d9588ef21f140a328b6b4f64e646b2e931f3e6f14f75eedf9980" +checksum = "78f19d20a0d2cc52327a88d131fa1c4ea81ea4a04714aedcfeca2dd410049cf8" dependencies = [ "blake2", "crc32fast", @@ -6161,16 +6538,17 @@ dependencies = [ "memmap2", "parking_lot 0.12.1", "rand 0.8.5", + "siphasher", "snap", ] [[package]] name = "parity-scale-codec" -version = "3.4.0" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "637935964ff85a605d114591d4d2c13c5d1ba2806dae97cea6bf180238a749ac" +checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb" dependencies = [ - "arrayvec 0.7.2", + "arrayvec 0.7.4", "bitvec 1.0.1", "byte-slice-cast", "bytes", @@ -6181,9 +6559,9 @@ dependencies = [ [[package]] name = "parity-scale-codec-derive" -version = "3.1.4" +version = "3.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b26a931f824dd4eca30b3e43bb4f31cd5f0d3a403c5f5ff27106b805bfde7b" +checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -6229,9 +6607,9 @@ checksum = "e1ad0aff30c1da14b1254fcb2af73e1fa9a28670e584a626f53a369d0e157304" [[package]] name = "parking" -version = "2.0.0" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" +checksum = "14f2252c834a40ed9bb5422029649578e63aa341ac401f74e719dd1afda8394e" [[package]] name = "parking_lot" @@ -6251,7 +6629,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" dependencies = [ "lock_api", - "parking_lot_core 0.9.7", + "parking_lot_core 0.9.8", ] [[package]] @@ -6270,17 +6648,23 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" +checksum = "93f00c865fe7cabf650081affecd3871070f26767e7b2070a3ffae14c654b447" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "smallvec", - "windows-sys 0.45.0", + "windows-targets 0.48.5", ] +[[package]] +name = "partial_sort" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7924d1d0ad836f665c9065e26d016c673ece3993f30d340068b16f282afc1156" + [[package]] name = "password-hash" version = "0.4.2" @@ -6294,9 +6678,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "pbkdf2" @@ -6313,10 +6697,10 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "hmac 0.12.1", "password-hash", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -6345,25 +6729,26 @@ dependencies = [ [[package]] name = "percent-encoding" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.5.5" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "028accff104c4e513bad663bbcd2ad7cfd5304144404c31ed0a77ac103d00660" +checksum = "d7a4d085fd991ac8d5b05a147b437791b4260b76326baf0fc60cf7c9c27ecd33" dependencies = [ + "memchr", "thiserror", "ucd-trie", ] [[package]] name = "pest_derive" -version = "2.5.5" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ac3922aac69a40733080f53c1ce7f91dcf57e1a5f6c52f421fadec7fbdc4b69" +checksum = "a2bee7be22ce7918f641a33f08e3f43388c7656772244e2bbb2477f44cc9021a" dependencies = [ "pest", "pest_generator", @@ -6371,56 +6756,56 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.5.5" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d06646e185566b5961b4058dd107e0a7f56e77c3f484549fb119867773c0f202" +checksum = "d1511785c5e98d79a05e8a6bc34b4ac2168a0e3e92161862030ad84daa223141" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "pest_meta" -version = "2.5.5" +version = "2.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6f60b2ba541577e2a0c307c8f39d1439108120eb7903adeb6497fa880c59616" +checksum = "b42f0394d3123e33353ca5e1e89092e533d2cc490389f2bd6131c43c634ebc5f" dependencies = [ "once_cell", "pest", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] name = "petgraph" -version = "0.6.3" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dd7d28ee937e54fe3080c91faa1c3a46c06de6252988a7f4592ba2310ef22a4" +checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9" dependencies = [ "fixedbitset", - "indexmap", + "indexmap 2.0.0", ] [[package]] name = "pin-project" -version = "1.0.12" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.0.12" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] @@ -6431,9 +6816,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.9" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -6447,33 +6832,37 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" dependencies = [ - "der", - "spki", + "der 0.6.1", + "spki 0.6.0", ] [[package]] -name = "pkg-config" -version = "0.3.26" +name = "pkcs8" +version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der 0.7.8", + "spki 0.7.2", +] [[package]] -name = "platforms" -version = "2.0.0" +name = "pkg-config" +version = "0.3.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8d0eef3571242013a0d5dc84861c3ae4a652e56e12adf8bdc26ff5f8cb34c94" +checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" [[package]] name = "platforms" -version = "3.0.2" +version = "3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e3d7ddaed09e0eb771a79ab0fd64609ba0afb0a8366421957936ad14cbd13630" +checksum = "4503fa043bf02cee09a9582e9554b4c6403b2ef55e4612e96561d294419429f8" [[package]] name = "plotters" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2538b639e642295546c50fcd545198c9d64ee2a38620a628724a3b266d5fbf97" +checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" dependencies = [ "num-traits", "plotters-backend", @@ -6484,31 +6873,33 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "193228616381fecdc1224c62e96946dfbc73ff4384fba576e052ff8c1bea8142" +checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" [[package]] name = "plotters-svg" -version = "0.3.3" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a81d2759aae1dae668f783c308bc5c8ebd191ff4184aaa1b37f65a6ae5a56f" +checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" dependencies = [ "plotters-backend", ] [[package]] name = "polling" -version = "2.5.2" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22122d5ec4f9fe1b3916419b76be1e80bcb93f618d071d2edf841b137b2a2bd6" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" dependencies = [ "autocfg", + "bitflags 1.3.2", "cfg-if", + "concurrent-queue", "libc", "log", - "wepoll-ffi", - "windows-sys 0.42.0", + "pin-project-lite 0.2.13", + "windows-sys 0.48.0", ] [[package]] @@ -6534,32 +6925,39 @@ checksum = "048aeb476be11a4b6ca432ca569e375810de9294ae78f4774e78ea98a9246ede" dependencies = [ "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.4.5" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" +checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" dependencies = [ - "cpuid-bool", + "cfg-if", + "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.4.1", ] [[package]] name = "polyval" -version = "0.5.3" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8419d2b623c7c0896ff2d5d96e2cb4ede590fed28fcc34934f4c33c036e620a1" +checksum = "d52cff9d1d4dee5fe6d03729099f4a310a41179e0a10dbf542039873f2e826fb" dependencies = [ "cfg-if", "cpufeatures", "opaque-debug 0.3.0", - "universal-hash", + "universal-hash 0.5.1", ] +[[package]] +name = "portable-atomic" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31114a898e107c51bb1609ffaf55a0e011cf6a4d7f1170d0015a165082c0338b" + [[package]] name = "ppv-lite86" version = "0.2.17" @@ -6582,15 +6980,15 @@ dependencies = [ [[package]] name = "predicates-core" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72f883590242d3c6fc5bf50299011695fa6590c2c70eac95ee1bdb9a733ad1a2" +checksum = "b794032607612e7abeb4db69adb4e33590fa6cf1149e95fd7cb00e634b92f174" [[package]] name = "predicates-tree" -version = "1.0.7" +version = "1.0.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54ff541861505aabf6ea722d2131ee980b8276e10a1297b94e896dd8b621850d" +checksum = "368ba315fb8c5052ab692e68a0eefec6ec57b23a36959c14496f0b0df2c0cecf" dependencies = [ "predicates-core", "termtree", @@ -6598,14 +6996,24 @@ dependencies = [ [[package]] name = "prettyplease" -version = "0.1.23" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e97e3215779627f01ee256d2fad52f3d95e8e1c11e9fc6fd08f7cd455d5d5c78" +checksum = "6c8646e95016a7a6c4adea95bafa8a16baab64b583356217f2c85db4a39d9a86" dependencies = [ "proc-macro2", "syn 1.0.109", ] +[[package]] +name = "prettyplease" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" +dependencies = [ + "proc-macro2", + "syn 2.0.29", +] + [[package]] name = "primitive-types" version = "0.12.1" @@ -6627,7 +7035,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17d47ce914bf4de440332250b0edd23ce48c005f59fab39d3335866b114f11a" dependencies = [ "thiserror", - "toml", + "toml 0.5.11", ] [[package]] @@ -6654,11 +7062,28 @@ dependencies = [ "version_check", ] +[[package]] +name = "proc-macro-hack" +version = "0.5.20+deprecated" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068" + +[[package]] +name = "proc-macro-warning" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1eaa7fa0aa1929ffdf7eeb6eac234dde6268914a14ad44d23521ab6a9b258e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.29", +] + [[package]] name = "proc-macro2" -version = "1.0.56" +version = "1.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" +checksum = "18fb31db3f9bddb2ea821cde30a9f70117e3f119938b5ee630b7403aa6e2ead9" dependencies = [ "unicode-ident", ] @@ -6679,32 +7104,32 @@ dependencies = [ [[package]] name = "prometheus-client" -version = "0.18.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83cd1b99916654a69008fd66b4f9397fbe08e6e51dfe23d4417acf5d3b8cb87c" +checksum = "5d6fa99d535dd930d1249e6c79cb3c2915f9172a540fe2b02a4c8f9ca954721e" dependencies = [ "dtoa", "itoa", "parking_lot 0.12.1", - "prometheus-client-derive-text-encode", + "prometheus-client-derive-encode", ] [[package]] -name = "prometheus-client-derive-text-encode" -version = "0.3.0" +name = "prometheus-client-derive-encode" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66a455fbcb954c1a7decf3c586e860fd7889cddf4b8e164be736dbac95a953cd" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "prost" -version = "0.11.7" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3933d3ac2717077b3d5f42b40f59edfb1fb6a8c14e1c7de0f38075c4bac8e314" +checksum = "0b82eaa1d779e9a4bc1c3217db8ffbeabaae1dca241bf70183242128d48681cd" dependencies = [ "bytes", "prost-derive", @@ -6712,9 +7137,9 @@ dependencies = [ [[package]] name = "prost-build" -version = "0.11.7" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a24be1d23b4552a012093e1b93697b73d644ae9590e3253d878d0e77d411b614" +checksum = "119533552c9a7ffacc21e099c24a0ac8bb19c2a2a3f363de84cd9b844feab270" dependencies = [ "bytes", "heck", @@ -6723,7 +7148,7 @@ dependencies = [ "log", "multimap", "petgraph", - "prettyplease", + "prettyplease 0.1.25", "prost", "prost-types", "regex", @@ -6732,24 +7157,11 @@ dependencies = [ "which", ] -[[package]] -name = "prost-codec" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dc34979ff898b6e141106178981ce2596c387ea6e62533facfc61a37fc879c0" -dependencies = [ - "asynchronous-codec", - "bytes", - "prost", - "thiserror", - "unsigned-varint", -] - [[package]] name = "prost-derive" -version = "0.11.7" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e9935362e8369bc3acd874caeeae814295c504c2bdbcde5c024089cf8b4dc12" +checksum = "e5d2d8d10f3c6ded6da8b05b5fb3b8a5082514344d56c9f871412d29b4e075b4" dependencies = [ "anyhow", "itertools 0.10.5", @@ -6760,9 +7172,9 @@ dependencies = [ [[package]] name = "prost-types" -version = "0.11.7" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de56acd5cc9642cac2a9518d4c8c53818905398fe42d33235859e0d542a7695" +checksum = "213622a1460818959ac1181aaeb2dc9c7f63df720db7d788b3e24eacd1983e13" dependencies = [ "prost", ] @@ -6782,6 +7194,28 @@ version = "1.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0" +[[package]] +name = "quick-protobuf" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d6da84cc204722a989e01ba2f6e1e276e190f22263d0cb6ce8526fcdb0d2e1f" +dependencies = [ + "byteorder", +] + +[[package]] +name = "quick-protobuf-codec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1693116345026436eb2f10b677806169c1a1260c1c60eaaffe3fb5a29ae23d8b" +dependencies = [ + "asynchronous-codec", + "bytes", + "quick-protobuf", + "thiserror", + "unsigned-varint", +] + [[package]] name = "quicksink" version = "0.1.2" @@ -6795,27 +7229,27 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.2" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72ef4ced82a24bb281af338b9e8f94429b6eca01b4e66d899f40031f074e74c9" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", "ring", "rustc-hash", - "rustls 0.20.8", + "rustls 0.20.9", "slab", "thiserror", "tinyvec", "tracing", - "webpki 0.22.0", + "webpki 0.22.1", ] [[package]] name = "quote" -version = "1.0.27" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500" +checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae" dependencies = [ "proc-macro2", ] @@ -6891,17 +7325,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", -] - -[[package]] -name = "rand_distr" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" -dependencies = [ - "num-traits", - "rand 0.8.5", + "getrandom 0.2.10", ] [[package]] @@ -6930,9 +7354,9 @@ checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" [[package]] name = "rayon" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" +checksum = "1d2df5196e37bcc87abebc0053e20787d73847bb33134a69841207dd0a47f03b" dependencies = [ "either", "rayon-core", @@ -6940,9 +7364,9 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.10.2" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "356a0625f1954f730c0201cdab48611198dc6ce21f4acff55089b5a78e6e835b" +checksum = "4b8f95bd6966f5c87776639160a66bd8ab9895d9d4ab01ddba9fc60661aebe8d" dependencies = [ "crossbeam-channel", "crossbeam-deque", @@ -6958,7 +7382,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.28", "x509-parser 0.13.2", "yasna", ] @@ -6971,7 +7395,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.19", + "time 0.3.28", "yasna", ] @@ -6981,7 +7405,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -6990,7 +7414,7 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -6999,36 +7423,36 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", "redox_syscall 0.2.16", "thiserror", ] [[package]] name = "ref-cast" -version = "1.0.14" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c78fb8c9293bcd48ef6fce7b4ca950ceaf21210de6e105a883ee280c0f7b9ed" +checksum = "acde58d073e9c79da00f2b5b84eed919c8326832648a5b109b3fce1bb1175280" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.14" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f9c0c92af03644e4806106281fe2e068ac5bc0ae74a707266d06ea27bccee5f" +checksum = "7f7473c2cfcf90008193dd0e3e16599455cb601a9fce322b5bb55de799664925" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "regalloc2" -version = "0.3.2" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d43a209257d978ef079f3d446331d0f1794f5e0fc19b306a199983857833a779" +checksum = "80535183cae11b149d618fbd3c37e38d7cda589d82d7769e196ca9a9042d7621" dependencies = [ "fxhash", "log", @@ -7038,13 +7462,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.7.1" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733" +checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-automata 0.3.7", + "regex-syntax 0.7.5", ] [[package]] @@ -7053,23 +7478,31 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" dependencies = [ - "regex-syntax", + "regex-syntax 0.6.29", +] + +[[package]] +name = "regex-automata" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49530408a136e16e5b486e883fbb6ba058e8e4e8ae6621a77b048b314336e629" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax 0.7.5", ] [[package]] name = "regex-syntax" -version = "0.6.28" +version = "0.6.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] -name = "remove_dir_all" -version = "0.5.3" +name = "regex-syntax" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" -dependencies = [ - "winapi", -] +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "resolv-conf" @@ -7087,11 +7520,21 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7743f17af12fa0b03b803ba12cd6a8d9483a587e89c69445e3909655c0b9fabb" dependencies = [ - "crypto-bigint", + "crypto-bigint 0.4.9", "hmac 0.12.1", "zeroize", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle", +] + [[package]] name = "ring" version = "0.16.20" @@ -7113,7 +7556,7 @@ version = "0.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bd124222d17ad93a644ed9d011a40f4fb64aa54275c08cc216524a9ea82fb09f" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -7138,9 +7581,9 @@ dependencies = [ [[package]] name = "rocksdb" -version = "0.19.0" +version = "0.21.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e9562ea1d70c0cc63a34a22d977753b50cca91cc6b6527750463bd5dd8697bc" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" dependencies = [ "libc", "librocksdb-sys", @@ -7159,12 +7602,11 @@ dependencies = [ [[package]] name = "rs_merkle" -version = "1.2.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a632a43487c1332be8e183588079f89b6820fab24e04db49521eacd536837372" +checksum = "05225752ca6ede4cb1b73aa37ce3904affd042e98f28246f56f438ebfd47a810" dependencies = [ - "micromath", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -7219,9 +7661,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342" +checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" [[package]] name = "rustc-hash" @@ -7241,7 +7683,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.16", + "semver 1.0.18", ] [[package]] @@ -7255,30 +7697,43 @@ dependencies = [ [[package]] name = "rustix" -version = "0.35.13" +version = "0.36.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9" +checksum = "c37f1bd5ef1b5422177b7646cba67430579cfe2ace80f284fee876bca52ad941" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", - "io-lifetimes 0.7.5", + "io-lifetimes", "libc", - "linux-raw-sys 0.0.46", - "windows-sys 0.42.0", + "linux-raw-sys 0.1.4", + "windows-sys 0.45.0", ] [[package]] name = "rustix" -version = "0.36.8" +version = "0.37.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43abb88211988493c1abb44a70efa56ff0ce98f233b7b276146f1f3f7ba9644" +checksum = "4d69718bf81c6127a49dc64e44a742e8bb9213c0ff8869a22c308f84c1d4ab06" dependencies = [ - "bitflags", + "bitflags 1.3.2", "errno", - "io-lifetimes 1.0.5", + "io-lifetimes", "libc", - "linux-raw-sys 0.1.4", - "windows-sys 0.45.0", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + +[[package]] +name = "rustix" +version = "0.38.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed6248e1caa625eb708e266e06159f135e8c26f2bb7ceb72dc4b2766d0340964" +dependencies = [ + "bitflags 2.4.0", + "errno", + "libc", + "linux-raw-sys 0.4.5", + "windows-sys 0.48.0", ] [[package]] @@ -7296,21 +7751,33 @@ dependencies = [ [[package]] name = "rustls" -version = "0.20.8" +version = "0.20.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b80e3dec595989ea8510028f30c408a4630db12c9cbb8de34203b89d6577e99" +dependencies = [ + "log", + "ring", + "sct 0.7.0", + "webpki 0.22.1", +] + +[[package]] +name = "rustls" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fff78fc74d175294f4e83b28343315ffcfb114b156f0185e9741cb5570f50e2f" +checksum = "cd8d6c9f025a446bc4d18ad9632e69aec8f287aa84499ee335599fabd20c3fd8" dependencies = [ "log", "ring", + "rustls-webpki 0.101.4", "sct 0.7.0", - "webpki 0.22.0", ] [[package]] name = "rustls-native-certs" -version = "0.6.2" +version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0167bac7a9f490495f3c33013e7722b53cb087ecbe082fb0c6387c96f634ea50" +checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00" dependencies = [ "openssl-probe", "rustls-pemfile", @@ -7320,18 +7787,38 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "1.0.2" +version = "1.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" +dependencies = [ + "base64 0.21.3", +] + +[[package]] +name = "rustls-webpki" +version = "0.100.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e98ff011474fa39949b7e5c0428f9b4937eda7da7848bbb947786b7be0b27dab" +dependencies = [ + "ring", + "untrusted", +] + +[[package]] +name = "rustls-webpki" +version = "0.101.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d194b56d58803a43635bdc398cd17e383d6f71f9182b9a192c127ca42494a59b" +checksum = "7d93931baf2d282fff8d3a532bbfd7653f734643161b87e3e01e59a04439bf0d" dependencies = [ - "base64 0.21.0", + "ring", + "untrusted", ] [[package]] name = "rustversion" -version = "1.0.11" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "7ffc183a10b4478d04cbbbfc96d0873219d962dd5accaff2ffbd4ceb7df837f4" [[package]] name = "rw-stream-sink" @@ -7346,9 +7833,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.12" +version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" +checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741" [[package]] name = "safe_arch" @@ -7365,7 +7852,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97a22f5af31f73a954c10289c93e8a50cc23d971e80ee446f1f6f7137a088213" dependencies = [ - "cipher 0.4.3", + "cipher 0.4.4", ] [[package]] @@ -7380,7 +7867,7 @@ dependencies = [ [[package]] name = "sc-allocator" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "log", "sp-core", @@ -7391,7 +7878,7 @@ dependencies = [ [[package]] name = "sc-authority-discovery" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", @@ -7399,12 +7886,13 @@ dependencies = [ "ip_network", "libp2p", "log", + "multihash", "parity-scale-codec", "prost", "prost-build", "rand 0.8.5", "sc-client-api", - "sc-network-common", + "sc-network", "sp-api", "sp-authority-discovery", "sp-blockchain", @@ -7418,7 +7906,7 @@ dependencies = [ [[package]] name = "sc-basic-authorship" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "futures-timer", @@ -7441,7 +7929,7 @@ dependencies = [ [[package]] name = "sc-block-builder" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "sc-client-api", @@ -7451,46 +7939,49 @@ dependencies = [ "sp-core", "sp-inherents", "sp-runtime", - "sp-state-machine", ] [[package]] name = "sc-chain-spec" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "memmap2", "sc-chain-spec-derive", - "sc-network-common", + "sc-client-api", + "sc-executor", + "sc-network", "sc-telemetry", "serde", "serde_json", + "sp-blockchain", "sp-core", "sp-runtime", + "sp-state-machine", ] [[package]] name = "sc-chain-spec-derive" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sc-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "chrono", - "clap 4.1.6", + "clap 4.4.1", "fdlimit", "futures", - "libp2p", + "libp2p-identity", "log", "names", "parity-scale-codec", @@ -7501,7 +7992,6 @@ dependencies = [ "sc-client-db", "sc-keystore", "sc-network", - "sc-network-common", "sc-service", "sc-telemetry", "sc-tracing", @@ -7523,7 +8013,7 @@ dependencies = [ [[package]] name = "sc-client-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "fnv", "futures", @@ -7539,9 +8029,9 @@ dependencies = [ "sp-core", "sp-database", "sp-externalities", - "sp-keystore", "sp-runtime", "sp-state-machine", + "sp-statement-store", "sp-storage", "substrate-prometheus-endpoint 0.10.0-dev", ] @@ -7549,7 +8039,7 @@ dependencies = [ [[package]] name = "sc-client-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hash-db", "kvdb", @@ -7562,6 +8052,7 @@ dependencies = [ "parking_lot 0.12.1", "sc-client-api", "sc-state-db", + "schnellru", "sp-arithmetic", "sp-blockchain", "sp-core", @@ -7574,12 +8065,12 @@ dependencies = [ [[package]] name = "sc-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "futures-timer", - "libp2p", + "libp2p-identity", "log", "mockall", "parking_lot 0.12.1", @@ -7599,13 +8090,12 @@ dependencies = [ [[package]] name = "sc-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "fork-tree", "futures", "log", - "merlin 2.0.1", "num-bigint", "num-rational", "num-traits", @@ -7615,9 +8105,9 @@ dependencies = [ "sc-consensus", "sc-consensus-epochs", "sc-consensus-slots", - "sc-keystore", "sc-telemetry", - "schnorrkel", + "sc-transaction-pool-api", + "scale-info", "sp-api", "sp-application-crypto", "sp-block-builder", @@ -7625,7 +8115,6 @@ dependencies = [ "sp-consensus", "sp-consensus-babe", "sp-consensus-slots", - "sp-consensus-vrf", "sp-core", "sp-inherents", "sp-keystore", @@ -7637,7 +8126,7 @@ dependencies = [ [[package]] name = "sc-consensus-babe-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "jsonrpsee", @@ -7659,7 +8148,7 @@ dependencies = [ [[package]] name = "sc-consensus-epochs" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "fork-tree", "parity-scale-codec", @@ -7670,50 +8159,99 @@ dependencies = [ ] [[package]] -name = "sc-consensus-slots" +name = "sc-consensus-grandpa" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "ahash 0.8.3", + "array-bytes", "async-trait", + "dyn-clone", + "finality-grandpa", + "fork-tree", "futures", "futures-timer", "log", "parity-scale-codec", + "parking_lot 0.12.1", + "rand 0.8.5", + "sc-block-builder", + "sc-chain-spec", "sc-client-api", "sc-consensus", - "sc-telemetry", + "sc-network", + "sc-network-common", + "sc-network-gossip", + "sc-telemetry", + "sc-transaction-pool-api", + "sc-utils", + "serde_json", + "sp-api", + "sp-application-crypto", "sp-arithmetic", "sp-blockchain", "sp-consensus", - "sp-consensus-slots", + "sp-consensus-grandpa", "sp-core", - "sp-inherents", + "sp-keystore", "sp-runtime", - "sp-state-machine", + "substrate-prometheus-endpoint 0.10.0-dev", + "thiserror", ] [[package]] -name = "sc-consensus-uncles" +name = "sc-consensus-grandpa-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "finality-grandpa", + "futures", + "jsonrpsee", + "log", + "parity-scale-codec", "sc-client-api", - "sp-authorship", + "sc-consensus-grandpa", + "sc-rpc", + "serde", + "sp-blockchain", + "sp-core", "sp-runtime", "thiserror", ] +[[package]] +name = "sc-consensus-slots" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "async-trait", + "futures", + "futures-timer", + "log", + "parity-scale-codec", + "sc-client-api", + "sc-consensus", + "sc-telemetry", + "sp-arithmetic", + "sp-blockchain", + "sp-consensus", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", + "sp-state-machine", +] + [[package]] name = "sc-executor" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", "sc-executor-common", - "sc-executor-wasmi", "sc-executor-wasmtime", + "schnellru", "sp-api", "sp-core", "sp-externalities", @@ -7724,45 +8262,30 @@ dependencies = [ "sp-version", "sp-wasm-interface", "tracing", - "wasmi", ] [[package]] name = "sc-executor-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "sc-allocator", "sp-maybe-compressed-blob", "sp-wasm-interface", "thiserror", "wasm-instrument", - "wasmi", -] - -[[package]] -name = "sc-executor-wasmi" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "log", - "sc-allocator", - "sc-executor-common", - "sp-runtime-interface", - "sp-wasm-interface", - "wasmi", ] [[package]] name = "sc-executor-wasmtime" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "anyhow", "cfg-if", "libc", "log", - "once_cell", - "rustix 0.35.13", + "rustix 0.36.15", "sc-allocator", "sc-executor-common", "sp-runtime-interface", @@ -7770,76 +8293,17 @@ dependencies = [ "wasmtime", ] -[[package]] -name = "sc-finality-grandpa" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "ahash 0.7.6", - "array-bytes", - "async-trait", - "dyn-clone", - "finality-grandpa", - "fork-tree", - "futures", - "futures-timer", - "log", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "sc-block-builder", - "sc-chain-spec", - "sc-client-api", - "sc-consensus", - "sc-network", - "sc-network-common", - "sc-network-gossip", - "sc-telemetry", - "sc-utils", - "serde_json", - "sp-api", - "sp-application-crypto", - "sp-arithmetic", - "sp-blockchain", - "sp-consensus", - "sp-core", - "sp-finality-grandpa", - "sp-keystore", - "sp-runtime", - "substrate-prometheus-endpoint 0.10.0-dev", - "thiserror", -] - -[[package]] -name = "sc-finality-grandpa-rpc" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "finality-grandpa", - "futures", - "jsonrpsee", - "log", - "parity-scale-codec", - "sc-client-api", - "sc-finality-grandpa", - "sc-rpc", - "serde", - "sp-blockchain", - "sp-core", - "sp-runtime", - "thiserror", -] - [[package]] name = "sc-informant" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ansi_term", "futures", "futures-timer", "log", "sc-client-api", + "sc-network", "sc-network-common", "sp-blockchain", "sp-runtime", @@ -7848,10 +8312,9 @@ dependencies = [ [[package]] name = "sc-keystore" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", - "async-trait", "parking_lot 0.12.1", "serde_json", "sp-application-crypto", @@ -7863,12 +8326,12 @@ dependencies = [ [[package]] name = "sc-network" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", + "async-channel", "async-trait", "asynchronous-codec", - "backtrace", "bytes", "either", "fnv", @@ -7876,45 +8339,45 @@ dependencies = [ "futures-timer", "ip_network", "libp2p", + "linked_hash_set", "log", - "lru 0.8.1", + "mockall", "parity-scale-codec", "parking_lot 0.12.1", + "partial_sort", "pin-project", "rand 0.8.5", - "sc-block-builder", "sc-client-api", - "sc-consensus", "sc-network-common", - "sc-peerset", "sc-utils", "serde", "serde_json", "smallvec", "sp-arithmetic", "sp-blockchain", - "sp-consensus", "sp-core", "sp-runtime", "substrate-prometheus-endpoint 0.10.0-dev", "thiserror", "unsigned-varint", + "wasm-timer", "zeroize", ] [[package]] name = "sc-network-bitswap" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "async-channel", "cid", "futures", - "libp2p", + "libp2p-identity", "log", "prost", "prost-build", "sc-client-api", - "sc-network-common", + "sc-network", "sp-blockchain", "sp-runtime", "thiserror", @@ -7924,42 +8387,33 @@ dependencies = [ [[package]] name = "sc-network-common" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "bitflags", - "bytes", + "bitflags 1.3.2", "futures", - "futures-timer", - "libp2p", - "linked_hash_set", + "libp2p-identity", "parity-scale-codec", "prost-build", "sc-consensus", - "sc-peerset", - "serde", - "smallvec", - "sp-blockchain", "sp-consensus", - "sp-finality-grandpa", + "sp-consensus-grandpa", "sp-runtime", - "substrate-prometheus-endpoint 0.10.0-dev", - "thiserror", ] [[package]] name = "sc-network-gossip" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "ahash 0.7.6", + "ahash 0.8.3", "futures", "futures-timer", "libp2p", "log", - "lru 0.8.1", + "sc-network", "sc-network-common", - "sc-peerset", + "schnellru", "sp-runtime", "substrate-prometheus-endpoint 0.10.0-dev", "tracing", @@ -7968,18 +8422,18 @@ dependencies = [ [[package]] name = "sc-network-light" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", + "async-channel", "futures", - "libp2p", + "libp2p-identity", "log", "parity-scale-codec", "prost", "prost-build", "sc-client-api", - "sc-network-common", - "sc-peerset", + "sc-network", "sp-blockchain", "sp-core", "sp-runtime", @@ -7989,30 +8443,32 @@ dependencies = [ [[package]] name = "sc-network-sync" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", + "async-channel", "async-trait", "fork-tree", "futures", + "futures-timer", "libp2p", "log", - "lru 0.8.1", "mockall", "parity-scale-codec", "prost", "prost-build", "sc-client-api", "sc-consensus", + "sc-network", "sc-network-common", - "sc-peerset", "sc-utils", + "schnellru", "smallvec", "sp-arithmetic", "sp-blockchain", "sp-consensus", + "sp-consensus-grandpa", "sp-core", - "sp-finality-grandpa", "sp-runtime", "substrate-prometheus-endpoint 0.10.0-dev", "thiserror", @@ -8021,69 +8477,25 @@ dependencies = [ [[package]] name = "sc-network-transactions" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "futures", "libp2p", "log", "parity-scale-codec", - "pin-project", + "sc-network", "sc-network-common", - "sc-peerset", "sc-utils", "sp-consensus", "sp-runtime", "substrate-prometheus-endpoint 0.10.0-dev", ] -[[package]] -name = "sc-offchain" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "array-bytes", - "bytes", - "fnv", - "futures", - "futures-timer", - "hyper", - "hyper-rustls", - "libp2p", - "num_cpus", - "once_cell", - "parity-scale-codec", - "parking_lot 0.12.1", - "rand 0.8.5", - "sc-client-api", - "sc-network-common", - "sc-peerset", - "sc-utils", - "sp-api", - "sp-core", - "sp-offchain", - "sp-runtime", - "threadpool", - "tracing", -] - -[[package]] -name = "sc-peerset" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "futures", - "libp2p", - "log", - "sc-utils", - "serde_json", - "wasm-timer", -] - [[package]] name = "sc-proposer-metrics" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "log", "substrate-prometheus-endpoint 0.10.0-dev", @@ -8092,7 +8504,7 @@ dependencies = [ [[package]] name = "sc-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "jsonrpsee", @@ -8115,13 +8527,15 @@ dependencies = [ "sp-rpc", "sp-runtime", "sp-session", + "sp-statement-store", "sp-version", + "tokio", ] [[package]] name = "sc-rpc-api" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8140,7 +8554,7 @@ dependencies = [ [[package]] name = "sc-rpc-server" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "http", "jsonrpsee", @@ -8155,7 +8569,7 @@ dependencies = [ [[package]] name = "sc-rpc-spec-v2" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", "futures", @@ -8181,7 +8595,7 @@ dependencies = [ [[package]] name = "sc-service" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "directories", @@ -8208,7 +8622,6 @@ dependencies = [ "sc-network-light", "sc-network-sync", "sc-network-transactions", - "sc-offchain", "sc-rpc", "sc-rpc-server", "sc-rpc-spec-v2", @@ -8246,7 +8659,7 @@ dependencies = [ [[package]] name = "sc-state-db" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "log", "parity-scale-codec", @@ -8257,7 +8670,7 @@ dependencies = [ [[package]] name = "sc-sync-state-rpc" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "jsonrpsee", "parity-scale-codec", @@ -8265,7 +8678,7 @@ dependencies = [ "sc-client-api", "sc-consensus-babe", "sc-consensus-epochs", - "sc-finality-grandpa", + "sc-consensus-grandpa", "serde", "serde_json", "sp-blockchain", @@ -8276,7 +8689,7 @@ dependencies = [ [[package]] name = "sc-sysinfo" version = "6.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "libc", @@ -8295,7 +8708,7 @@ dependencies = [ [[package]] name = "sc-telemetry" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "chrono", "futures", @@ -8314,7 +8727,7 @@ dependencies = [ [[package]] name = "sc-tracing" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ansi_term", "atty", @@ -8322,12 +8735,10 @@ dependencies = [ "lazy_static", "libc", "log", - "once_cell", "parking_lot 0.12.1", "regex", "rustc-hash", "sc-client-api", - "sc-rpc-server", "sc-tracing-proc-macro", "serde", "sp-api", @@ -8345,18 +8756,18 @@ dependencies = [ [[package]] name = "sc-tracing-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sc-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", @@ -8382,13 +8793,15 @@ dependencies = [ [[package]] name = "sc-transaction-pool-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "log", + "parity-scale-codec", "serde", "sp-blockchain", + "sp-core", "sp-runtime", "thiserror", ] @@ -8396,22 +8809,23 @@ dependencies = [ [[package]] name = "sc-utils" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "backtrace", + "async-channel", "futures", "futures-timer", "lazy_static", "log", "parking_lot 0.12.1", "prometheus", + "sp-arithmetic", ] [[package]] name = "scale-info" -version = "2.3.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "001cf62ece89779fd16105b5f515ad0e5cedcd5440d3dd806bb067978e7c3608" +checksum = "35c0a159d0c45c12b20c5a844feb1fe4bea86e28f17b92a5f0c42193634d3782" dependencies = [ "bitvec 1.0.1", "cfg-if", @@ -8423,9 +8837,9 @@ dependencies = [ [[package]] name = "scale-info-derive" -version = "2.3.1" +version = "2.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "303959cf613a6f6efd19ed4b4ad5bf79966a13352716299ad532cfb115f4205c" +checksum = "912e55f6d20e0e80d63733872b40e1227c0bce1e1ab81ba67d696339bfd7fd29" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -8435,11 +8849,22 @@ dependencies = [ [[package]] name = "schannel" -version = "0.1.21" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88" +dependencies = [ + "windows-sys 0.48.0", +] + +[[package]] +name = "schnellru" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" +checksum = "772575a524feeb803e5b0fcbc6dd9f367e579488197c94c6e4023aad2305774d" dependencies = [ - "windows-sys 0.42.0", + "ahash 0.8.3", + "cfg-if", + "hashbrown 0.13.2", ] [[package]] @@ -8462,15 +8887,15 @@ dependencies = [ [[package]] name = "scopeguard" -version = "1.1.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" +checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "scratch" -version = "1.0.3" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" +checksum = "a3cf7c11c38cb994f3d40e8a8cde3bbd1f72a435e4c49e85d6553d8312306152" [[package]] name = "scrypt" @@ -8481,7 +8906,7 @@ dependencies = [ "hmac 0.12.1", "pbkdf2 0.11.0", "salsa20", - "sha2 0.10.6", + "sha2 0.10.7", ] [[package]] @@ -8522,10 +8947,24 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" dependencies = [ - "base16ct", - "der", - "generic-array 0.14.6", - "pkcs8", + "base16ct 0.1.1", + "der 0.6.1", + "generic-array 0.14.7", + "pkcs8 0.9.0", + "subtle", + "zeroize", +] + +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct 0.2.0", + "der 0.7.8", + "generic-array 0.14.7", + "pkcs8 0.10.2", "subtle", "zeroize", ] @@ -8559,11 +8998,11 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.8.2" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "core-foundation-sys", "libc", @@ -8572,9 +9011,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.8.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -8591,9 +9030,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.16" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +checksum = "b0293b4b29daaf487284529cc2f5675b8e57c61f70167ba415a463651fd6a918" dependencies = [ "serde", ] @@ -8612,45 +9051,44 @@ checksum = "f638d531eccd6e23b980caf34876660d38e265409d8e99b397ab71eb3612fad0" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] -[[package]] -name = "serde_cbor" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2bef2ebfde456fb76bbcf9f59315333decc4fda0b2b44b420243c11e0f5ec1f5" -dependencies = [ - "half", - "serde", -] - [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "serde_json" -version = "1.0.93" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ "itoa", "ryu", "serde", ] +[[package]] +name = "serde_spanned" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186" +dependencies = [ + "serde", +] + [[package]] name = "sha-1" version = "0.9.8" @@ -8664,6 +9102,17 @@ dependencies = [ "opaque-debug 0.3.0", ] +[[package]] +name = "sha1" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f04293dc80c3993519f2d7f6f511707ee7094fe0c6d3406feb330cdb3540eba3" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.7", +] + [[package]] name = "sha2" version = "0.8.2" @@ -8691,22 +9140,22 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "479fb9d862239e610720565ca91403019f2f00410f1864c5aa7479b950a76ed8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] name = "sha3" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" +checksum = "75872d278a8f37ef87fa0ddbda7802605cb18344497949862c0d4dcb291eba60" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] @@ -8740,20 +9189,18 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "rand_core 0.6.4", ] [[package]] -name = "simba" -version = "0.5.1" +name = "signature" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e82063457853d00243beda9952e910b82593e4b07ae9f721b9278a99a0d3d5c" +checksum = "5e1788eed21689f9cf370582dfc467ef36ed9c707f073528ddafa8d83e3b8500" dependencies = [ - "approx", - "num-complex", - "num-traits", - "paste", + "digest 0.10.7", + "rand_core 0.6.4", ] [[package]] @@ -8769,26 +9216,32 @@ dependencies = [ "wide", ] +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "slab" -version = "0.4.8" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" +checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" dependencies = [ "autocfg", ] [[package]] name = "slice-group-by" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03b634d87b960ab1a38c4fe143b508576f075e7c978bfad18217645ebfdfa2ec" +checksum = "826167069c09b99d56f31e9ae5c99049e932a98c9dc2dac47645b08dbbf76ba7" [[package]] name = "smallvec" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" +checksum = "62bb4feee49fdd9f707ef802e22365a35de4b7b299de4763d44bfea899442ff9" [[package]] name = "snap" @@ -8798,31 +9251,41 @@ checksum = "5e9f0ab6ef7eb7353d9119c170a436d1bf248eea575ac42d19d12f4e34130831" [[package]] name = "snow" -version = "0.9.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12ba5f4d4ff12bdb6a169ed51b7c48c0e0ac4b0b4b31012b2571e97d78d3201d" +checksum = "0c9d1425eb528a21de2755c75af4c9b5d57f50a0d4c3b7f1828a4cd03f8ba155" dependencies = [ "aes-gcm 0.9.4", "blake2", "chacha20poly1305", - "curve25519-dalek 4.0.0-rc.0", + "curve25519-dalek 4.0.0", "rand_core 0.6.4", "ring", "rustc_version", - "sha2 0.10.6", + "sha2 0.10.7", "subtle", ] [[package]] name = "socket2" -version = "0.4.7" +version = "0.4.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd" +checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" dependencies = [ "libc", "winapi", ] +[[package]] +name = "socket2" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2538b18701741680e0322a2302176d3253a35388e2e62f172f64f4f16605f877" +dependencies = [ + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "soketto" version = "0.7.1" @@ -8843,13 +9306,16 @@ dependencies = [ [[package]] name = "sp-api" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hash-db", "log", "parity-scale-codec", + "scale-info", "sp-api-proc-macro", "sp-core", + "sp-externalities", + "sp-metadata-ir", "sp-runtime", "sp-state-machine", "sp-std", @@ -8861,19 +9327,21 @@ dependencies = [ [[package]] name = "sp-api-proc-macro" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "Inflector", "blake2", + "expander", "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sp-application-crypto" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "23.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", @@ -8885,8 +9353,8 @@ dependencies = [ [[package]] name = "sp-arithmetic" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "16.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "integer-sqrt", "num-traits", @@ -8900,7 +9368,7 @@ dependencies = [ [[package]] name = "sp-authority-discovery" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", @@ -8910,41 +9378,11 @@ dependencies = [ "sp-std", ] -[[package]] -name = "sp-authorship" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "async-trait", - "parity-scale-codec", - "sp-inherents", - "sp-runtime", - "sp-std", -] - -[[package]] -name = "sp-beefy" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" -dependencies = [ - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-io", - "sp-mmr-primitives", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-block-builder" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "parity-scale-codec", "sp-api", "sp-inherents", "sp-runtime", @@ -8954,13 +9392,13 @@ dependencies = [ [[package]] name = "sp-blockchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "futures", "log", - "lru 0.8.1", "parity-scale-codec", "parking_lot 0.12.1", + "schnellru", "sp-api", "sp-consensus", "sp-database", @@ -8972,78 +9410,94 @@ dependencies = [ [[package]] name = "sp-consensus" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "futures", "log", - "parity-scale-codec", "sp-core", "sp-inherents", "sp-runtime", "sp-state-machine", - "sp-std", - "sp-version", "thiserror", ] [[package]] -name = "sp-consensus-babe" +name = "sp-consensus-aura" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "merlin 2.0.1", "parity-scale-codec", "scale-info", - "serde", "sp-api", "sp-application-crypto", - "sp-consensus", "sp-consensus-slots", - "sp-consensus-vrf", - "sp-core", "sp-inherents", - "sp-keystore", "sp-runtime", "sp-std", "sp-timestamp", ] [[package]] -name = "sp-consensus-slots" +name = "sp-consensus-babe" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "async-trait", "parity-scale-codec", "scale-info", "serde", + "sp-api", + "sp-application-crypto", + "sp-consensus-slots", + "sp-core", + "sp-inherents", + "sp-runtime", "sp-std", "sp-timestamp", ] [[package]] -name = "sp-consensus-vrf" -version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +name = "sp-consensus-grandpa" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "finality-grandpa", + "log", "parity-scale-codec", "scale-info", - "schnorrkel", + "serde", + "sp-api", + "sp-application-crypto", "sp-core", + "sp-keystore", "sp-runtime", "sp-std", ] +[[package]] +name = "sp-consensus-slots" +version = "0.10.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "serde", + "sp-std", + "sp-timestamp", +] + [[package]] name = "sp-core" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "21.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "array-bytes", - "base58 0.2.0", - "bitflags", + "bitflags 1.3.2", "blake2", + "bounded-collections", + "bs58", "dyn-clonable", "ed25519-zebra", "futures", @@ -9056,6 +9510,7 @@ dependencies = [ "merlin 2.0.1", "parity-scale-codec", "parking_lot 0.12.1", + "paste", "primitive-types", "rand 0.8.5", "regex", @@ -9074,38 +9529,37 @@ dependencies = [ "substrate-bip39", "thiserror", "tiny-bip39", + "tracing", "zeroize", ] [[package]] name = "sp-core-hashing" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "9.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "blake2", + "blake2b_simd", "byteorder", - "digest 0.10.6", - "sha2 0.10.6", + "digest 0.10.7", + "sha2 0.10.7", "sha3", - "sp-std", "twox-hash", ] [[package]] name = "sp-core-hashing-proc-macro" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "9.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "proc-macro2", "quote", "sp-core-hashing", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sp-database" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "kvdb", "parking_lot 0.12.1", @@ -9113,18 +9567,18 @@ dependencies = [ [[package]] name = "sp-debug-derive" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sp-externalities" -version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "0.19.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "environmental", "parity-scale-codec", @@ -9132,33 +9586,15 @@ dependencies = [ "sp-storage", ] -[[package]] -name = "sp-finality-grandpa" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "finality-grandpa", - "log", - "parity-scale-codec", - "scale-info", - "serde", - "sp-api", - "sp-application-crypto", - "sp-core", - "sp-keystore", - "sp-runtime", - "sp-std", -] - [[package]] name = "sp-inherents" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "impl-trait-for-tuples", "parity-scale-codec", - "sp-core", + "scale-info", "sp-runtime", "sp-std", "thiserror", @@ -9166,16 +9602,16 @@ dependencies = [ [[package]] name = "sp-io" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "23.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "bytes", - "ed25519", - "ed25519-dalek", - "futures", + "ed25519 1.5.3", + "ed25519-dalek 1.0.1", "libsecp256k1", "log", "parity-scale-codec", + "rustversion", "secp256k1", "sp-core", "sp-externalities", @@ -9191,8 +9627,8 @@ dependencies = [ [[package]] name = "sp-keyring" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "24.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "lazy_static", "sp-core", @@ -9202,16 +9638,11 @@ dependencies = [ [[package]] name = "sp-keystore" -version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "0.27.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "async-trait", - "futures", - "merlin 2.0.1", "parity-scale-codec", "parking_lot 0.12.1", - "schnorrkel", - "serde", "sp-core", "sp-externalities", "thiserror", @@ -9220,16 +9651,27 @@ dependencies = [ [[package]] name = "sp-maybe-compressed-blob" version = "4.1.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "thiserror", - "zstd", + "zstd 0.12.4", +] + +[[package]] +name = "sp-metadata-ir" +version = "0.1.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "frame-metadata", + "parity-scale-codec", + "scale-info", + "sp-std", ] [[package]] name = "sp-mmr-primitives" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ckb-merkle-mountain-range", "log", @@ -9247,7 +9689,7 @@ dependencies = [ [[package]] name = "sp-npos-elections" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", @@ -9261,7 +9703,7 @@ dependencies = [ [[package]] name = "sp-offchain" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "sp-api", "sp-core", @@ -9270,8 +9712,8 @@ dependencies = [ [[package]] name = "sp-panic-handler" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "backtrace", "lazy_static", @@ -9281,7 +9723,7 @@ dependencies = [ [[package]] name = "sp-rpc" version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "rustc-hash", "serde", @@ -9290,8 +9732,8 @@ dependencies = [ [[package]] name = "sp-runtime" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "24.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "either", "hash256-std-hasher", @@ -9312,8 +9754,8 @@ dependencies = [ [[package]] name = "sp-runtime-interface" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "17.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "bytes", "impl-trait-for-tuples", @@ -9330,25 +9772,26 @@ dependencies = [ [[package]] name = "sp-runtime-interface-proc-macro" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "11.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "Inflector", "proc-macro-crate", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sp-session" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", "sp-api", "sp-core", + "sp-keystore", "sp-runtime", "sp-staking", "sp-std", @@ -9357,10 +9800,12 @@ dependencies = [ [[package]] name = "sp-staking" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "impl-trait-for-tuples", "parity-scale-codec", "scale-info", + "serde", "sp-core", "sp-runtime", "sp-std", @@ -9368,8 +9813,8 @@ dependencies = [ [[package]] name = "sp-state-machine" -version = "0.13.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "0.28.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hash-db", "log", @@ -9384,17 +9829,35 @@ dependencies = [ "sp-trie", "thiserror", "tracing", + "trie-db", +] + +[[package]] +name = "sp-statement-store" +version = "4.0.0-dev" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" +dependencies = [ + "parity-scale-codec", + "scale-info", + "sp-api", + "sp-application-crypto", + "sp-core", + "sp-externalities", + "sp-runtime", + "sp-runtime-interface", + "sp-std", + "thiserror", ] [[package]] name = "sp-std" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" [[package]] name = "sp-storage" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "13.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9407,11 +9870,9 @@ dependencies = [ [[package]] name = "sp-timestamp" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "futures-timer", - "log", "parity-scale-codec", "sp-inherents", "sp-runtime", @@ -9421,8 +9882,8 @@ dependencies = [ [[package]] name = "sp-tracing" -version = "6.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "10.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "sp-std", @@ -9434,7 +9895,7 @@ dependencies = [ [[package]] name = "sp-transaction-pool" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "sp-api", "sp-runtime", @@ -9443,10 +9904,9 @@ dependencies = [ [[package]] name = "sp-transaction-storage-proof" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", - "log", "parity-scale-codec", "scale-info", "sp-core", @@ -9458,19 +9918,19 @@ dependencies = [ [[package]] name = "sp-trie" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "22.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "ahash 0.7.6", + "ahash 0.8.3", "hash-db", - "hashbrown 0.12.3", + "hashbrown 0.13.2", "lazy_static", - "lru 0.8.1", "memory-db", "nohash-hasher", "parity-scale-codec", "parking_lot 0.12.1", "scale-info", + "schnellru", "sp-core", "sp-std", "thiserror", @@ -9481,8 +9941,8 @@ dependencies = [ [[package]] name = "sp-version" -version = "5.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "22.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "impl-serde", "parity-scale-codec", @@ -9498,32 +9958,32 @@ dependencies = [ [[package]] name = "sp-version-proc-macro" -version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "8.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "sp-wasm-interface" -version = "7.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +version = "14.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ + "anyhow", "impl-trait-for-tuples", "log", "parity-scale-codec", "sp-std", - "wasmi", "wasmtime", ] [[package]] name = "sp-weights" -version = "4.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +version = "20.0.0" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "parity-scale-codec", "scale-info", @@ -9541,6 +10001,17 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" +[[package]] +name = "spinners" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08615eea740067d9899969bc2891c68a19c315cb1f66640af9a9ecb91b13bcab" +dependencies = [ + "lazy_static", + "maplit", + "strum", +] + [[package]] name = "spki" version = "0.6.0" @@ -9548,14 +10019,24 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" dependencies = [ "base64ct", - "der", + "der 0.6.1", +] + +[[package]] +name = "spki" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" +dependencies = [ + "base64ct", + "der 0.7.8", ] [[package]] name = "ss58-registry" -version = "1.39.0" +version = "1.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecf0bd63593ef78eca595a7fc25e9a443ca46fe69fd472f8f09f5245cdcd769d" +checksum = "5e6915280e2d0db8911e5032a5c275571af6bdded2916abd691a659be25d3439" dependencies = [ "Inflector", "num-format", @@ -9584,7 +10065,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a2a1c578e98c1c16fc3b8ec1328f7659a500737d7a0c6d625e73e830ff9c1f6" dependencies = [ - "bitflags", + "bitflags 1.3.2", "cfg_aliases", "libc", "parking_lot 0.11.2", @@ -9606,19 +10087,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "statrs" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05bdbb8e4e78216a85785a85d3ec3183144f98d0097b9281802c019bb07a6f05" -dependencies = [ - "approx", - "lazy_static", - "nalgebra 0.27.1", - "num-traits", - "rand 0.8.5", -] - [[package]] name = "strsim" version = "0.10.0" @@ -9682,15 +10150,12 @@ dependencies = [ [[package]] name = "substrate-build-script-utils" version = "3.0.0" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" -dependencies = [ - "platforms 2.0.0", -] +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" [[package]] name = "substrate-frame-rpc-system" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "frame-system-rpc-runtime-api", "futures", @@ -9709,7 +10174,7 @@ dependencies = [ [[package]] name = "substrate-prometheus-endpoint" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "hyper", "log", @@ -9735,7 +10200,7 @@ dependencies = [ [[package]] name = "substrate-rpc-client" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "async-trait", "jsonrpsee", @@ -9748,14 +10213,12 @@ dependencies = [ [[package]] name = "substrate-state-trie-migration-rpc" version = "4.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "jsonrpsee", - "log", "parity-scale-codec", "sc-client-api", "sc-rpc-api", - "scale-info", "serde", "sp-core", "sp-runtime", @@ -9767,16 +10230,17 @@ dependencies = [ [[package]] name = "substrate-wasm-builder" version = "5.0.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#6fa7fe1326ecaab9921c2c3888530ad679cfbb87" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ "ansi_term", "build-helper", "cargo_metadata", "filetime", + "parity-wasm", "sp-maybe-compressed-blob", "strum", "tempfile", - "toml", + "toml 0.7.6", "walkdir", "wasm-opt", ] @@ -9809,9 +10273,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.15" +version = "2.0.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" +checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" dependencies = [ "proc-macro2", "quote", @@ -9832,11 +10296,11 @@ dependencies = [ [[package]] name = "system-configuration" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d75182f12f490e953596550b65ee31bda7c8e043d9386174b353bda50838c3fd" +checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ - "bitflags", + "bitflags 1.3.2", "core-foundation", "system-configuration-sys", ] @@ -9859,22 +10323,21 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.6" +version = "0.12.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ae9980cab1db3fceee2f6c6f643d5d8de2997c58ee8d25fb0cc8a9e9e7348e5" +checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" [[package]] name = "tempfile" -version = "3.3.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cdb1ef4eaeeaddc8fbd371e5017057064af0911902ef36b39801f67cc6d79e4" +checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef" dependencies = [ "cfg-if", - "fastrand", - "libc", - "redox_syscall 0.2.16", - "remove_dir_all", - "winapi", + "fastrand 2.0.0", + "redox_syscall 0.3.5", + "rustix 0.38.10", + "windows-sys 0.48.0", ] [[package]] @@ -9888,9 +10351,9 @@ dependencies = [ [[package]] name = "termtree" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95059e91184749cb66be6dc994f67f182b6d897cb3df74a5bf66b5e709295fd8" +checksum = "3369f5ac52d5eb6ab48c6b4ffdc8efbcad6b89c765749064ba298f2c68a16a76" [[package]] name = "test-case" @@ -9907,31 +10370,28 @@ dependencies = [ [[package]] name = "textwrap" -version = "0.11.0" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] +checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d" [[package]] name = "thiserror" -version = "1.0.40" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" +checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.40" +version = "1.0.47" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" +checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.15", + "syn 2.0.29", ] [[package]] @@ -9981,9 +10441,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -10002,10 +10462,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.19" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53250a3b3fed8ff8fd988587d8925d26a83ac3845d9e03b220b37f34c2b8d6c2" +checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -10014,15 +10475,15 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e153e1f1acaef8acc537e68b44906d2db6436e2b35ac2c6b42640fff91f00fd" +checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.7" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a460aeb8de6dcb0f381e1ee05f1cd56fcf5a5f6eb8187ff3d8f0b11078d38b7c" +checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" dependencies = [ "time-core", ] @@ -10039,7 +10500,7 @@ dependencies = [ "pbkdf2 0.11.0", "rand 0.8.5", "rustc-hash", - "sha2 0.10.6", + "sha2 0.10.7", "thiserror", "unicode-normalization", "wasm-bindgen", @@ -10082,69 +10543,78 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.25.0" +version = "1.32.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8e00990ebabbe4c14c08aca901caed183ecd5c09562a12c824bb53d3c3fd3af" +checksum = "17ed6077ed6cd6c74735e21f37eb16dc3935f96878b1fe961074089cc80893f9" dependencies = [ - "autocfg", + "backtrace", "bytes", "libc", - "memchr", "mio", "num_cpus", "parking_lot 0.12.1", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "signal-hook-registry", - "socket2", + "socket2 0.5.3", "tokio-macros", - "windows-sys 0.42.0", + "windows-sys 0.48.0", ] [[package]] name = "tokio-macros" -version = "1.8.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8" +checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", +] + +[[package]] +name = "tokio-retry" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f57eb36ecbe0fc510036adff84824dd3c24bb781e21bfa67b69d556aa85214f" +dependencies = [ + "pin-project", + "rand 0.8.5", + "tokio", ] [[package]] name = "tokio-rustls" -version = "0.23.4" +version = "0.24.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43ee83903113e03984cb9e5cebe6c04a5116269e900e3ddba8f068a62adda59" +checksum = "c28327cf380ac148141087fbfb9de9d7bd4e84ab5d2c28fbc911d753de8a7081" dependencies = [ - "rustls 0.20.8", + "rustls 0.21.7", "tokio", - "webpki 0.22.0", ] [[package]] name = "tokio-stream" -version = "0.1.12" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fb52b74f05dbf495a8fba459fdc331812b96aa086d9eb78101fa0d4569c3313" +checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tokio", "tokio-util", ] [[package]] name = "tokio-util" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5427d89453009325de0d8f342c9490009f76e999cb7672d77e46267448f7e6b2" +checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" dependencies = [ "bytes", "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tokio", "tracing", ] @@ -10158,6 +10628,40 @@ dependencies = [ "serde", ] +[[package]] +name = "toml" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c17e963a819c331dcacd7ab957d80bc2b9a9c1e71c804826d2f283dd65306542" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8123f27e969974a3dfba720fdb560be359f57b44302d280ba72e76a74480e8a" +dependencies = [ + "indexmap 2.0.0", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + [[package]] name = "tower" version = "0.4.13" @@ -10171,18 +10675,18 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.3.5" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f873044bf02dd1e8239e9c1293ea39dad76dc594ec16185d0a1bf31d8dc8d858" +checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" dependencies = [ - "bitflags", + "bitflags 2.4.0", "bytes", "futures-core", "futures-util", "http", "http-body", "http-range-header", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tower-layer", "tower-service", ] @@ -10207,27 +10711,27 @@ checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", "log", - "pin-project-lite 0.2.9", + "pin-project-lite 0.2.13", "tracing-attributes", "tracing-core", ] [[package]] name = "tracing-attributes" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4017f8f45139870ca7e672686113917c71c7a6e02d4924eda67186083c03081a" +checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", ] [[package]] name = "tracing-core" -version = "0.1.30" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" +checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" dependencies = [ "once_cell", "valuable", @@ -10289,12 +10793,12 @@ dependencies = [ [[package]] name = "trie-db" -version = "0.24.0" +version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "004e1e8f92535694b4cb1444dc5a8073ecf0815e3357f729638b9f8fc4062908" +checksum = "767abe6ffed88a1889671a102c2861ae742726f52e0a5a425b92c9fbfa7e9c85" dependencies = [ "hash-db", - "hashbrown 0.12.3", + "hashbrown 0.13.2", "log", "rustc-hex", "smallvec", @@ -10302,9 +10806,9 @@ dependencies = [ [[package]] name = "trie-root" -version = "0.17.0" +version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a36c5ca3911ed3c9a5416ee6c679042064b93fc637ded67e25f92e68d783891" +checksum = "d4ed310ef5ab98f5fa467900ed906cb9232dd5376597e00fd4cba2a449d06c0b" dependencies = [ "hash-db", ] @@ -10327,7 +10831,7 @@ dependencies = [ "lazy_static", "rand 0.8.5", "smallvec", - "socket2", + "socket2 0.4.9", "thiserror", "tinyvec", "tokio", @@ -10364,9 +10868,10 @@ checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" [[package]] name = "try-runtime-cli" version = "0.10.0-dev" -source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v0.9.37#f38bd6671d460293c93062cc1e4fe9e9e490cb29" +source = "git+https://github.com/paritytech/substrate.git/?branch=polkadot-v1.0.0#948fbd2fd1233dc26dbb9f9bbc1d2cca2c03945d" dependencies = [ - "clap 4.1.6", + "async-trait", + "clap 4.4.1", "frame-remote-externalities", "frame-try-runtime", "hex", @@ -10374,22 +10879,26 @@ dependencies = [ "parity-scale-codec", "sc-cli", "sc-executor", - "sc-service", "serde", "serde_json", "sp-api", + "sp-consensus-aura", + "sp-consensus-babe", "sp-core", "sp-debug-derive", "sp-externalities", + "sp-inherents", "sp-io", "sp-keystore", "sp-rpc", "sp-runtime", "sp-state-machine", + "sp-timestamp", + "sp-transaction-storage-proof", "sp-version", "sp-weights", "substrate-rpc-client", - "zstd", + "zstd 0.12.4", ] [[package]] @@ -10424,7 +10933,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", - "digest 0.10.6", + "digest 0.10.7", "rand 0.8.5", "static_assertions", ] @@ -10437,9 +10946,9 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "ucd-trie" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e79c4d996edb816c91e4308506774452e55e95c3c9de07b6729e17e15a5ef81" +checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9" [[package]] name = "uint" @@ -10454,15 +10963,15 @@ dependencies = [ [[package]] name = "unicode-bidi" -version = "0.3.10" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" -version = "1.0.6" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" +checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c" [[package]] name = "unicode-normalization" @@ -10497,7 +11006,17 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05" dependencies = [ - "generic-array 0.14.6", + "generic-array 0.14.7", + "subtle", +] + +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", "subtle", ] @@ -10521,32 +11040,38 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.3.1" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", - "idna 0.3.0", + "idna 0.4.0", "percent-encoding", ] +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + [[package]] name = "uuid" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", "serde", ] [[package]] name = "uuid" -version = "1.3.0" +version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1674845326ee10d37ca60470760d4288a6f80f304007d92e5c53bab78c9cfd79" +checksum = "79daa5ed5740825c40b389c5e50312b9c86df53fccd33f281df655642b43869d" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.10", ] [[package]] @@ -10590,22 +11115,20 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "walkdir" -version = "2.3.2" +version = "2.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" dependencies = [ "same-file", - "winapi", "winapi-util", ] [[package]] name = "want" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e" dependencies = [ - "log", "try-lock", ] @@ -10629,9 +11152,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "7706a72ab36d8cb1f80ffbf0e071533974a60d0a308d01a5d0375bf60499a342" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -10639,24 +11162,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "5ef2b6d3c510e9625e5fe6f509ab07d66a760f0885d858736483c32ed7809abd" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "c02dbc21516f9f1f04f187958890d7e6026df8d16540b7ad9492bc34a67cea03" dependencies = [ "cfg-if", "js-sys", @@ -10666,9 +11189,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "dee495e55982a3bd48105a7b947fd2a9b4a8ae3010041b9e0faab3f9cd028f1d" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -10676,22 +11199,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.29", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-instrument" @@ -10704,9 +11227,9 @@ dependencies = [ [[package]] name = "wasm-opt" -version = "0.110.2" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b68e8037b4daf711393f4be2056246d12d975651b14d581520ad5d1f19219cec" +checksum = "87fef6d0d508f08334e0ab0e6877feb4c0ecb3956bcf2cb950699b22fedf3e9c" dependencies = [ "anyhow", "libc", @@ -10720,9 +11243,9 @@ dependencies = [ [[package]] name = "wasm-opt-cxx-sys" -version = "0.110.2" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91adbad477e97bba3fbd21dd7bfb594e7ad5ceb9169ab1c93ab9cb0ada636b6f" +checksum = "bc816bbc1596c8f2e8127e137a760c798023ef3d378f2ae51f0f1840e2dfa445" dependencies = [ "anyhow", "cxx", @@ -10732,15 +11255,14 @@ dependencies = [ [[package]] name = "wasm-opt-sys" -version = "0.110.2" +version = "0.112.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec4fa5a322a4e6ac22fd141f498d56afbdbf9df5debeac32380d2dcaa3e06941" +checksum = "40199e4f68ef1071b3c6d0bd8026a12b481865d4b9e49c156932ea9a6234dd14" dependencies = [ "anyhow", "cc", "cxx", "cxx-build", - "regex", ] [[package]] @@ -10758,61 +11280,29 @@ dependencies = [ "web-sys", ] -[[package]] -name = "wasmi" -version = "0.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c326c93fbf86419608361a2c925a31754cf109da1b8b55737070b4d6669422" -dependencies = [ - "parity-wasm", - "wasmi-validation", - "wasmi_core", -] - -[[package]] -name = "wasmi-validation" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ff416ad1ff0c42e5a926ed5d5fab74c0f098749aa0ad8b2a34b982ce0e867b" -dependencies = [ - "parity-wasm", -] - -[[package]] -name = "wasmi_core" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57d20cb3c59b788653d99541c646c561c9dd26506f25c0cebfe810659c54c6d7" -dependencies = [ - "downcast-rs", - "libm 0.2.6", - "memory_units", - "num-rational", - "num-traits", -] - [[package]] name = "wasmparser" -version = "0.89.1" +version = "0.102.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab5d3e08b13876f96dd55608d03cd4883a0545884932d5adf11925876c96daef" +checksum = "48134de3d7598219ab9eaf6b91b15d8e50d31da76b8519fe4ecfcec2cf35104b" dependencies = [ - "indexmap", + "indexmap 1.9.3", + "url", ] [[package]] name = "wasmtime" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ad5af6ba38311282f2a21670d96e78266e8c8e2f38cbcd52c254df6ccbc7731" +checksum = "f907fdead3153cb9bfb7a93bbd5b62629472dc06dee83605358c64c52ed3dda9" dependencies = [ "anyhow", "bincode", "cfg-if", - "indexmap", + "indexmap 1.9.3", "libc", "log", - "object 0.29.0", + "object 0.30.4", "once_cell", "paste", "psm", @@ -10825,43 +11315,43 @@ dependencies = [ "wasmtime-environ", "wasmtime-jit", "wasmtime-runtime", - "windows-sys 0.36.1", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-asm-macros" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45de63ddfc8b9223d1adc8f7b2ee5f35d1f6d112833934ad7ea66e4f4339e597" +checksum = "d3b9daa7c14cd4fa3edbf69de994408d5f4b7b0959ac13fa69d465f6597f810d" dependencies = [ "cfg-if", ] [[package]] name = "wasmtime-cache" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcd849399d17d2270141cfe47fa0d91ee52d5f8ea9b98cf7ddde0d53e5f79882" +checksum = "c86437fa68626fe896e5afc69234bb2b5894949083586535f200385adfd71213" dependencies = [ "anyhow", - "base64 0.13.1", + "base64 0.21.3", "bincode", "directories-next", "file-per-thread-logger", "log", - "rustix 0.35.13", + "rustix 0.36.15", "serde", - "sha2 0.9.9", - "toml", - "windows-sys 0.36.1", - "zstd", + "sha2 0.10.7", + "toml 0.5.11", + "windows-sys 0.45.0", + "zstd 0.11.2+zstd.1.5.2", ] [[package]] name = "wasmtime-cranelift" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bd91339b742ff20bfed4532a27b73c86b5bcbfedd6bea2dcdf2d64471e1b5c6" +checksum = "b1cefde0cce8cb700b1b21b6298a3837dba46521affd7b8c38a9ee2c869eee04" dependencies = [ "anyhow", "cranelift-codegen", @@ -10869,27 +11359,43 @@ dependencies = [ "cranelift-frontend", "cranelift-native", "cranelift-wasm", - "gimli 0.26.2", + "gimli 0.27.3", "log", - "object 0.29.0", + "object 0.30.4", "target-lexicon", "thiserror", "wasmparser", + "wasmtime-cranelift-shared", + "wasmtime-environ", +] + +[[package]] +name = "wasmtime-cranelift-shared" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd041e382ef5aea1b9fc78442394f1a4f6d676ce457e7076ca4cb3f397882f8b" +dependencies = [ + "anyhow", + "cranelift-codegen", + "cranelift-native", + "gimli 0.27.3", + "object 0.30.4", + "target-lexicon", "wasmtime-environ", ] [[package]] name = "wasmtime-environ" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ebb881c61f4f627b5d45c54e629724974f8a8890d455bcbe634330cc27309644" +checksum = "a990198cee4197423045235bf89d3359e69bd2ea031005f4c2d901125955c949" dependencies = [ "anyhow", "cranelift-entity", - "gimli 0.26.2", - "indexmap", + "gimli 0.27.3", + "indexmap 1.9.3", "log", - "object 0.29.0", + "object 0.30.4", "serde", "target-lexicon", "thiserror", @@ -10899,70 +11405,79 @@ dependencies = [ [[package]] name = "wasmtime-jit" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1985c628011fe26adf5e23a5301bdc79b245e0e338f14bb58b39e4e25e4d8681" +checksum = "0de48df552cfca1c9b750002d3e07b45772dd033b0b206d5c0968496abf31244" dependencies = [ - "addr2line 0.17.0", + "addr2line 0.19.0", "anyhow", "bincode", "cfg-if", "cpp_demangle", - "gimli 0.26.2", + "gimli 0.27.3", "log", - "object 0.29.0", + "object 0.30.4", "rustc-demangle", - "rustix 0.35.13", "serde", "target-lexicon", - "thiserror", "wasmtime-environ", "wasmtime-jit-debug", + "wasmtime-jit-icache-coherence", "wasmtime-runtime", - "windows-sys 0.36.1", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-jit-debug" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f671b588486f5ccec8c5a3dba6b4c07eac2e66ab8c60e6f4e53717c77f709731" +checksum = "6e0554b84c15a27d76281d06838aed94e13a77d7bf604bbbaf548aa20eb93846" dependencies = [ - "object 0.29.0", + "object 0.30.4", "once_cell", - "rustix 0.35.13", + "rustix 0.36.15", +] + +[[package]] +name = "wasmtime-jit-icache-coherence" +version = "8.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aecae978b13f7f67efb23bd827373ace4578f2137ec110bbf6a4a7cde4121bbd" +dependencies = [ + "cfg-if", + "libc", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-runtime" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee8f92ad4b61736339c29361da85769ebc200f184361959d1792832e592a1afd" +checksum = "658cf6f325232b6760e202e5255d823da5e348fdea827eff0a2a22319000b441" dependencies = [ "anyhow", "cc", "cfg-if", - "indexmap", + "indexmap 1.9.3", "libc", "log", "mach", "memfd", - "memoffset 0.6.5", + "memoffset 0.8.0", "paste", "rand 0.8.5", - "rustix 0.35.13", - "thiserror", + "rustix 0.36.15", "wasmtime-asm-macros", "wasmtime-environ", "wasmtime-jit-debug", - "windows-sys 0.36.1", + "windows-sys 0.45.0", ] [[package]] name = "wasmtime-types" -version = "1.0.2" +version = "8.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d23d61cb4c46e837b431196dd06abb11731541021916d03476a178b54dc07aeb" +checksum = "a4f6fffd2a1011887d57f07654dd112791e872e3ff4a2e626aee8059ee17f06f" dependencies = [ "cranelift-entity", "serde", @@ -10972,9 +11487,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" dependencies = [ "js-sys", "wasm-bindgen", @@ -10992,9 +11507,9 @@ dependencies = [ [[package]] name = "webpki" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f095d78192e208183081cc07bc5515ef55216397af48b873e5edcd72637fa1bd" +checksum = "f0e74f82d49d545ad128049b7e88f6576df2da6b02e9ce565c6f533be576957e" dependencies = [ "ring", "untrusted", @@ -11006,9 +11521,24 @@ version = "0.22.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" dependencies = [ - "webpki 0.22.0", + "webpki 0.22.1", ] +[[package]] +name = "webpki-roots" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" +dependencies = [ + "rustls-webpki 0.100.2", +] + +[[package]] +name = "webpki-roots" +version = "0.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" + [[package]] name = "webrtc" version = "0.6.0" @@ -11032,10 +11562,10 @@ dependencies = [ "sdp", "serde", "serde_json", - "sha2 0.10.6", + "sha2 0.10.7", "stun", "thiserror", - "time 0.3.19", + "time 0.3.28", "tokio", "turn", "url", @@ -11067,42 +11597,41 @@ dependencies = [ [[package]] name = "webrtc-dtls" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7021987ae0a2ed6c8cd33f68e98e49bb6e74ffe9543310267b48a1bbe3900e5f" +checksum = "c4a00f4242f2db33307347bd5be53263c52a0331c96c14292118c9a6bb48d267" dependencies = [ "aes 0.6.0", - "aes-gcm 0.8.0", + "aes-gcm 0.10.2", "async-trait", "bincode", "block-modes", "byteorder", "ccm", "curve25519-dalek 3.2.0", - "der-parser 8.1.0", - "elliptic-curve", + "der-parser 8.2.0", + "elliptic-curve 0.12.3", "hkdf", - "hmac 0.10.1", + "hmac 0.12.1", "log", - "oid-registry 0.6.1", "p256", "p384", "rand 0.8.5", "rand_core 0.6.4", - "rcgen 0.9.3", + "rcgen 0.10.0", "ring", "rustls 0.19.1", - "sec1", + "sec1 0.3.0", "serde", - "sha-1", - "sha2 0.9.9", - "signature", + "sha1", + "sha2 0.10.7", + "signature 1.6.4", "subtle", "thiserror", "tokio", "webpki 0.21.4", "webrtc-util", - "x25519-dalek 2.0.0-pre.1", + "x25519-dalek 2.0.0", "x509-parser 0.13.2", ] @@ -11124,7 +11653,7 @@ dependencies = [ "tokio", "turn", "url", - "uuid 1.3.0", + "uuid 1.4.1", "waitgroup", "webrtc-mdns", "webrtc-util", @@ -11137,7 +11666,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f08dfd7a6e3987e255c4dbe710dde5d94d0f0574f8a21afa95d171376c143106" dependencies = [ "log", - "socket2", + "socket2 0.4.9", "thiserror", "tokio", "webrtc-util", @@ -11145,18 +11674,15 @@ dependencies = [ [[package]] name = "webrtc-media" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee2a3c157a040324e5049bcbd644ffc9079e6738fa2cfab2bcff64e5cc4c00d7" +checksum = "f72e1650a8ae006017d1a5280efb49e2610c19ccc3c0905b03b648aee9554991" dependencies = [ "byteorder", "bytes", - "derive_builder", - "displaydoc", "rand 0.8.5", "rtp", "thiserror", - "webrtc-util", ] [[package]] @@ -11207,7 +11733,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "93f1db1727772c05cf7a2cfece52c3aca8045ca1e176cd517d323489aa3c6d87" dependencies = [ "async-trait", - "bitflags", + "bitflags 1.3.2", "bytes", "cc", "ipnet", @@ -11221,15 +11747,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "wepoll-ffi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" -dependencies = [ - "cc", -] - [[package]] name = "which" version = "4.4.0" @@ -11253,9 +11770,9 @@ dependencies = [ [[package]] name = "widestring" -version = "0.5.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17882f045410753661207383517a6f62ec3dbeb6a4ed2acce01f0728238d1983" +checksum = "653f141f39ec16bba3c5abe400a0c60da7468261cc2cbf36805022876bc721a8" [[package]] name = "winapi" @@ -11302,31 +11819,12 @@ dependencies = [ ] [[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - -[[package]] -name = "windows-sys" -version = "0.42.0" +name = "windows" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows-targets 0.48.5", ] [[package]] @@ -11335,7 +11833,7 @@ version = "0.45.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" dependencies = [ - "windows-targets 0.42.1", + "windows-targets 0.42.2", ] [[package]] @@ -11349,17 +11847,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e2522491fbfcd58cc84d47aeb2958948c4b8982e9a2d8a2a35bbaed431390e7" +checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" dependencies = [ - "windows_aarch64_gnullvm 0.42.1", - "windows_aarch64_msvc 0.42.1", - "windows_i686_gnu 0.42.1", - "windows_i686_msvc 0.42.1", - "windows_x86_64_gnu 0.42.1", - "windows_x86_64_gnullvm 0.42.1", - "windows_x86_64_msvc 0.42.1", + "windows_aarch64_gnullvm 0.42.2", + "windows_aarch64_msvc 0.42.2", + "windows_i686_gnu 0.42.2", + "windows_i686_msvc 0.42.2", + "windows_x86_64_gnu 0.42.2", + "windows_x86_64_gnullvm 0.42.2", + "windows_x86_64_msvc 0.42.2", ] [[package]] @@ -11379,9 +11877,9 @@ dependencies = [ [[package]] name = "windows_aarch64_gnullvm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c9864e83243fdec7fc9c5444389dcbbfd258f745e7853198f365e3c4968a608" +checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" @@ -11397,15 +11895,9 @@ checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" [[package]] name = "windows_aarch64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8b1b673ffc16c47a9ff48570a9d85e25d265735c503681332589af6253c6c7" +checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" @@ -11421,15 +11913,9 @@ checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" [[package]] name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "de3887528ad530ba7bdbb1faa8275ec7a1155a45ffa57c37993960277145d640" +checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" @@ -11445,15 +11931,9 @@ checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" [[package]] name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf4d1122317eddd6ff351aa852118a2418ad4214e6613a50e0191f7004372605" +checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" @@ -11469,15 +11949,9 @@ checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" [[package]] name = "windows_x86_64_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1040f221285e17ebccbc2591ffdc2d44ee1f9186324dd3e84e99ac68d699c45" +checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" @@ -11487,9 +11961,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnullvm" -version = "0.42.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "628bfdf232daa22b0d64fdb62b09fcc36bb01f05a3939e20ab73aaf9470d0463" +checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" @@ -11505,29 +11979,33 @@ checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" [[package]] name = "windows_x86_64_msvc" -version = "0.36.1" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" +checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.42.1" +version = "0.48.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" +name = "winnow" +version = "0.5.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "7c2e3184b9c4e92ad5167ca73039d0c42476302ab603e2fec4487511f38ccefc" +dependencies = [ + "memchr", +] [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] @@ -11552,12 +12030,13 @@ dependencies = [ [[package]] name = "x25519-dalek" -version = "2.0.0-pre.1" +version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5da623d8af10a62342bcbbb230e33e58a63255a58012f8653c578e54bab48df" +checksum = "fb66477291e7e8d2b0ff1bcb900bf29489a9692816d79874bea351e7a8b6de96" dependencies = [ - "curve25519-dalek 3.2.0", + "curve25519-dalek 4.0.0", "rand_core 0.6.4", + "serde", "zeroize", ] @@ -11577,7 +12056,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.28", ] [[package]] @@ -11586,16 +12065,16 @@ version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e0ecbeb7b67ce215e40e3cc7f2ff902f94a223acf44995934763467e7b1febc8" dependencies = [ - "asn1-rs 0.5.1", + "asn1-rs 0.5.2", "base64 0.13.1", "data-encoding", - "der-parser 8.1.0", + "der-parser 8.2.0", "lazy_static", "nom", "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.19", + "time 0.3.28", ] [[package]] @@ -11614,32 +12093,31 @@ dependencies = [ [[package]] name = "yasna" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aed2e7a52e3744ab4d0c05c20aa065258e84c49fd4226f5191b2ed29712710b4" +checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.19", + "time 0.3.28", ] [[package]] name = "zeroize" -version = "1.5.7" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" +checksum = "2a0956f1ba7c7909bfb66c2e9e4124ab6f6482560f6628b5aaeba39207c9aad9" dependencies = [ "zeroize_derive", ] [[package]] name = "zeroize_derive" -version = "1.3.3" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" +checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", - "synstructure", + "syn 2.0.29", ] [[package]] @@ -11648,7 +12126,16 @@ version = "0.11.2+zstd.1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" dependencies = [ - "zstd-safe", + "zstd-safe 5.0.2+zstd.1.5.2", +] + +[[package]] +name = "zstd" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a27595e173641171fc74a1232b7b1c7a7cb6e18222c11e9dfb9888fa424c53c" +dependencies = [ + "zstd-safe 6.0.6", ] [[package]] @@ -11661,11 +12148,21 @@ dependencies = [ "zstd-sys", ] +[[package]] +name = "zstd-safe" +version = "6.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee98ffd0b48ee95e6c5168188e44a54550b1564d9d530ee21d5f0eaed1069581" +dependencies = [ + "libc", + "zstd-sys", +] + [[package]] name = "zstd-sys" -version = "2.0.7+zstd.1.5.4" +version = "2.0.8+zstd.1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94509c3ba2fe55294d752b79842c530ccfab760192521df74a081a78d2b3c7f5" +checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c" dependencies = [ "cc", "libc", diff --git a/Cargo.toml b/Cargo.toml index 97eaa4381..788f58a3b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,6 @@ [workspace] members = [ + "pallets/executive", "pallets/system", "pallets/dactr", "pallets/bridges/nomad/updater-manager", @@ -11,18 +12,19 @@ members = [ [patch."https://github.com/paritytech/substrate.git"] +frame-executive = { path = "pallets/executive" } frame-system = { path = "pallets/system" } frame-system-benchmarking = { path = "pallets/system/benchmarking" } frame-system-rpc-runtime-api = { path = "pallets/system/rpc/runtime-api" } [patch.crates-io] # Customized Local pallets +frame-executive = { path = "pallets/executive" } frame-system = { path = "pallets/system" } frame-system-rpc-runtime-api = { path = "pallets/system/rpc/runtime-api" } frame-system-benchmarking = { path = "pallets/system/benchmarking" } # DA Primitives -# TODO: Once the companion PR is merged, change reference to tag avail-core = { version = "0.5", git="https://github.com/availproject/avail-core", branch = "main" } kate = { version = "0.8", git="https://github.com/availproject/avail-core", branch = "main" } kate-recovery = { version = "0.9", git="https://github.com/availproject/avail-core", branch = "main" } @@ -37,122 +39,118 @@ nomad-core = { version = "0.1", git="https://github.com/availproject/avail-core" uint = { git = "https://github.com/paritytech/parity-common.git", tag = "rlp-v0.5.2" } rlp = { git = "https://github.com/paritytech/parity-common.git", tag = "rlp-v0.5.2" } -# Substrate (polkadot-v0.9.37). -beefy-merkle-tree = { git = "https://github.com/paritytech/substrate.git/", branch = "polkadot-v0.9.37" } -sc-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-io = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-std = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-executor = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-service = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-telemetry = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-keystore = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-transaction-pool-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-finality-grandpa = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-finality-grandpa = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-client-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-client-db = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-runtime-interface = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-version = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-arithmetic = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-authority-discovery = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-authority-discovery = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-consensus-babe = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-offchain = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-session = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-staking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-transaction-storage-proof = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-keystore = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-state-machine = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-trie = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-externalities = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-npos-elections = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-consensus-babe = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-consensus-epochs = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-consensus-babe-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-network = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-network-common = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-chain-spec = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-consensus-slots = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-consensus-uncles = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-keyring = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-tracing = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-weights = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-sysinfo = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } +# Substrate (polkadot-v1.0.0). +binary-merkle-tree = { git = "https://github.com/paritytech/substrate.git/", branch = "polkadot-v1.0.0" } +sc-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-core = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-io = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-std = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-executor = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-service = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-telemetry = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-keystore = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-transaction-pool-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus-grandpa = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-client-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-client-db = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-runtime-interface = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-version = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-arithmetic = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-authority-discovery = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-authority-discovery = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-consensus-babe = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-inherents = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-offchain = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-session = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-staking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-transaction-pool = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-transaction-storage-proof = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-keystore = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-state-machine = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-statement-store = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-trie = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-externalities = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-npos-elections = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus-babe = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus-epochs = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus-babe-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-network = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-network-common = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-network-sync = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-chain-spec = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-consensus-slots = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-keyring = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-tracing = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-weights = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-sysinfo = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } ## Frame -frame-executive = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -frame-support = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -frame-try-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-balances = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-session = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-im-online = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-grandpa = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-transaction-payment = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-staking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-staking-reward-curve = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-utility = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-scheduler = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-babe = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-indices = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-offences = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-treasury = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-collective = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-bounties = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-sudo = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-authority-discovery = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-tips = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-membership = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-elections-phragmen = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-bags-list = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -frame-election-provider-support = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-democracy = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-mmr = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-multisig = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-child-bounties = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-preimage = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-nomination-pools = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-election-provider-support-benchmarking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -substrate-wasm-builder = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37", version = "5.0.0-dev" } -pallet-identity = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } +frame-support = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-try-runtime = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-balances = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-session = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-im-online = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-grandpa = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-timestamp = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-staking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-staking-reward-curve = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-utility = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-scheduler = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-babe = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-indices = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-offences = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-treasury = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-collective = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-bounties = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-sudo = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-authority-discovery = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-tips = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-membership = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-elections-phragmen = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-bags-list = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-election-provider-multi-phase = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-election-provider-support = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-democracy = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-mmr = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-multisig = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-child-bounties = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-preimage = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-nomination-pools = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-election-provider-support-benchmarking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +substrate-wasm-builder = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-identity = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } ## RPCs -sc-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-rpc-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-blockchain = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sp-block-builder = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-finality-grandpa-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-sync-state-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -mmr-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } - -substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -sc-rpc-spec-v2 = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } - +sc-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-rpc-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-blockchain = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sp-block-builder = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-basic-authorship = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-sync-state-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +mmr-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } + +substrate-frame-rpc-system = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +pallet-transaction-payment-rpc-runtime-api = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +sc-rpc-spec-v2 = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +substrate-state-trie-migration-rpc = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } ## These dependencies are used for runtime benchmarking -frame-benchmarking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } +frame-benchmarking = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +frame-benchmarking-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } ## CLI -try-runtime-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } -substrate-build-script-utils = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v0.9.37" } +try-runtime-cli = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } +substrate-build-script-utils = { git = "https://github.com/paritytech/substrate.git", branch = "polkadot-v1.0.0" } # The list of dependencies below (which can be both direct and indirect dependencies) are crates @@ -172,7 +170,6 @@ substrate-build-script-utils = { git = "https://github.com/paritytech/substrate. # This list is ordered alphabetically. [profile.dev.package] blake2 = { opt-level = 3 } -# blake2-rfc = { opt-level = 3 } blake2b_simd = { opt-level = 3 } chacha20poly1305 = { opt-level = 3 } cranelift-codegen = { opt-level = 3 } @@ -192,7 +189,6 @@ hmac = { opt-level = 3 } httparse = { opt-level = 3 } integer-sqrt = { opt-level = 3 } keccak = { opt-level = 3 } -libm = { opt-level = 3 } librocksdb-sys = { opt-level = 3 } libsecp256k1 = { opt-level = 3 } libz-sys = { opt-level = 3 } @@ -211,7 +207,6 @@ smallvec = { opt-level = 3 } snow = { opt-level = 3 } twox-hash = { opt-level = 3 } uint = { opt-level = 3 } -wasmi = { opt-level = 3 } x25519-dalek = { opt-level = 3 } yamux = { opt-level = 3 } zeroize = { opt-level = 3 } diff --git a/README.md b/README.md index 66e59eee3..6d340e691 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ Since we have block size limits, runtime upgrade is a three step process. Prefer For development purposes, its possible to use sudo calls with unchecked weight to increase block size limits and upload new runtime. In that case, steps are: 1. Use `sudo/sudoCall` to invoke `dataAvailability/submit_block_length_proposal` with increased block limits (eg. 512 rows x 256 columns) -2. Use `sudo/sudoUncheckedWeight(call, weight)` with 0 weight to invoke `system/set_code` and upload `da_runtime.compact.wasm` +2. Use `sudo/sudoUncheckedWeight(call, weight)` with 0 weight to invoke `system/set_code` and upload `da_runtime.compact.compressed.wasm` 3. Use `sudo/sudoCall` to invoke `dataAvailability/submit_block_length_proposal` and revert block limits to initial setting ### Verify upgrade diff --git a/avail-subxt/.rustfmt.toml b/avail-subxt/.rustfmt.toml deleted file mode 100644 index 6ac19618c..000000000 --- a/avail-subxt/.rustfmt.toml +++ /dev/null @@ -1,10 +0,0 @@ -fn_single_line = true -match_arm_blocks = true -match_block_trailing_comma = true -imports_granularity = "Crate" -overflow_delimited_expr = true -reorder_impl_items = true -group_imports = "StdExternalCrate" -use_field_init_shorthand = true -edition = "2018" -hard_tabs = true \ No newline at end of file diff --git a/avail-subxt/Cargo.toml b/avail-subxt/Cargo.toml index a375e865e..a2e962860 100644 --- a/avail-subxt/Cargo.toml +++ b/avail-subxt/Cargo.toml @@ -32,7 +32,7 @@ sp-core = { version = "21", default-features = false } codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive", "full", "bit-vec"] } serde = { version = "1", features = ["derive"] } serde-hex = "0.1" -scale-info = { version = "2", features = ["bit-vec"] } +scale-info = { version = "2.5.0", features = ["bit-vec"] } [dev-dependencies] diff --git a/avail-subxt/README.md b/avail-subxt/README.md index 777fee813..64ef17e11 100644 --- a/avail-subxt/README.md +++ b/avail-subxt/README.md @@ -6,12 +6,18 @@ Facilities to use `subxt` to connect with a Data-Availability Node. Once node is updated, we can re-generate the `src/api_dev.rs` file using the following script: -**NOTE:** The script requires a running node at `localhost:9933` +**NOTE:** The script requires a running node at `localhost:9944` ```Bash #> ./build_api.sh ``` +### Troubleshooting + +1. If you encounter any warnings or errors related to 'sed' while running the script on macOS, please ensure that you have [gnu-sed](https://medium.com/@bramblexu/install-gnu-sed-on-mac-os-and-set-it-as-default-7c17ef1b8f64) installed. + +2. If you're not receiving any error messages, but the code generation process is not producing any output, consider running the individual code generation commands separately to check for any error messages. + # E2E Binary This binary executes each example on a Data-Availability Node. It launches the node before run any diff --git a/avail-subxt/build_api.sh b/avail-subxt/build_api.sh index 76331eba4..01536948d 100755 --- a/avail-subxt/build_api.sh +++ b/avail-subxt/build_api.sh @@ -2,8 +2,7 @@ echo "⛓ Installing SubXt..." cargo install --git https://github.com/paritytech/subxt --tag v0.29.0 subxt-cli || true echo "🔨 Generating Avail-SubXt API from localhost..." -# TODO: After updating Subxt, verify whether the 'sed' lines can be replaced with the '--attributes-for-type' option. -subxt codegen \ +subxt codegen --version 14 \ --derive Clone \ --derive PartialEq \ --derive Eq \ @@ -34,7 +33,7 @@ subxt codegen \ --derive-for-type avail_core::AppId=Default \ --derive-for-type avail_core::AppId=Copy \ --derive-for-type avail_core::AppId=derive_more::From \ - --url http://localhost:9933 \ + --url http://localhost:9944 \ | sed -En "s/pub struct KateCommitment/#\[serde\(rename_all = \"camelCase\"\)\] \0/p" \ | sed -En "s/pub struct HeaderExtension/#\[serde\(rename_all = \"camelCase\"\)\] \0/p" \ | sed -En "s/pub struct DataLookupItem/#\[serde\(rename_all = \"camelCase\"\)\] \0/p" \ diff --git a/avail-subxt/examples/create_app_key.rs b/avail-subxt/examples/create_app_key.rs index 6ba9018c0..736c5c393 100644 --- a/avail-subxt/examples/create_app_key.rs +++ b/avail-subxt/examples/create_app_key.rs @@ -1,6 +1,6 @@ use anyhow::Result; use avail_subxt::{ - api, api::runtime_types::sp_core::bounded::bounded_vec::BoundedVec, build_client, + api, api::runtime_types::bounded_collections::bounded_vec::BoundedVec, build_client, primitives::AvailExtrinsicParams, AvailConfig, Opts, }; use sp_core::crypto::Pair as _; diff --git a/avail-subxt/examples/da_bridge_actor.rs b/avail-subxt/examples/da_bridge_actor.rs index c0bed109f..d79a60bef 100644 --- a/avail-subxt/examples/da_bridge_actor.rs +++ b/avail-subxt/examples/da_bridge_actor.rs @@ -2,7 +2,7 @@ use anyhow::Result; use avail_subxt::{ api::{ self, data_availability::calls::types::SubmitData, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec, + runtime_types::bounded_collections::bounded_vec::BoundedVec, }, build_client, Opts, }; diff --git a/avail-subxt/examples/max_block_submit.rs b/avail-subxt/examples/max_block_submit.rs index d9d760066..9e95ae306 100644 --- a/avail-subxt/examples/max_block_submit.rs +++ b/avail-subxt/examples/max_block_submit.rs @@ -2,7 +2,7 @@ use std::time::Instant; use anyhow::Result; use avail_subxt::{ - api::{self, runtime_types::sp_core::bounded::bounded_vec::BoundedVec}, + api::{self, runtime_types::bounded_collections::bounded_vec::BoundedVec}, build_client, primitives::AvailExtrinsicParams, Opts, diff --git a/avail-subxt/examples/submit_block_length_proposal.rs b/avail-subxt/examples/submit_block_length_proposal.rs index 3e7d9f722..d6fddd31e 100644 --- a/avail-subxt/examples/submit_block_length_proposal.rs +++ b/avail-subxt/examples/submit_block_length_proposal.rs @@ -4,8 +4,8 @@ use avail_subxt::{ self, data_availability::events as DaEvent, runtime_types::{ - da_control::pallet::Call as DaCall, pallet_sudo::pallet::Call as SudoCall, - sp_core::bounded::bounded_vec::BoundedVec, + bounded_collections::bounded_vec::BoundedVec, da_control::pallet::Call as DaCall, + pallet_sudo::pallet::Call as SudoCall, }, sudo::events as SudoEvent, }, diff --git a/avail-subxt/examples/submit_data.rs b/avail-subxt/examples/submit_data.rs index 14cdb9e77..ae91e7d64 100644 --- a/avail-subxt/examples/submit_data.rs +++ b/avail-subxt/examples/submit_data.rs @@ -3,7 +3,7 @@ use avail_subxt::{ api::{ self, runtime_types::{ - da_control::pallet::Call as DaCall, sp_core::bounded::bounded_vec::BoundedVec, + bounded_collections::bounded_vec::BoundedVec, da_control::pallet::Call as DaCall, }, }, avail::AppUncheckedExtrinsic, diff --git a/avail-subxt/examples/submit_data_and_dispatch_data_root.rs b/avail-subxt/examples/submit_data_and_dispatch_data_root.rs index 8b3301a2c..ae52bd62b 100644 --- a/avail-subxt/examples/submit_data_and_dispatch_data_root.rs +++ b/avail-subxt/examples/submit_data_and_dispatch_data_root.rs @@ -1,6 +1,6 @@ use anyhow::Result; use avail_subxt::{ - api::{self, runtime_types::sp_core::bounded::bounded_vec::BoundedVec}, + api::{self, runtime_types::bounded_collections::bounded_vec::BoundedVec}, build_client, primitives::AvailExtrinsicParams, Opts, diff --git a/avail-subxt/rust-toolchain.toml b/avail-subxt/rust-toolchain.toml index ab25d60ea..5d7d273a9 100644 --- a/avail-subxt/rust-toolchain.toml +++ b/avail-subxt/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "nightly-2022-11-15" +channel = "stable-2023-08-24" components = ["rustfmt", "clippy", "llvm-tools-preview"] profile = "minimal" targets = ["wasm32-unknown-unknown"] diff --git a/avail-subxt/rustfmt.toml b/avail-subxt/rustfmt.toml new file mode 100644 index 000000000..bb55bd1e8 --- /dev/null +++ b/avail-subxt/rustfmt.toml @@ -0,0 +1,13 @@ +match_block_trailing_comma = true +use_field_init_shorthand = true +edition = "2021" +hard_tabs = true + +# Disabled on Stable +# +# fn_single_line = true +# match_arm_blocks = true +# imports_granularity = "Crate" +# overflow_delimited_expr = true +# reorder_impl_items = true +# group_imports = "StdExternalCrate" \ No newline at end of file diff --git a/avail-subxt/src/api_dev.rs b/avail-subxt/src/api_dev.rs index b017ca16b..edd9ec2f6 100644 --- a/avail-subxt/src/api_dev.rs +++ b/avail-subxt/src/api_dev.rs @@ -394,8 +394,6 @@ pub mod api { Babe(babe::Call), #[codec(index = 3)] Timestamp(timestamp::Call), - #[codec(index = 4)] - Authorship(authorship::Call), #[codec(index = 5)] Indices(indices::Call), #[codec(index = 6)] @@ -487,13 +485,6 @@ pub mod api { metadata, )?)); } - if pallet_name == "Authorship" { - return Ok(Call::Authorship(authorship::Call::decode_with_metadata( - &mut &*pallet_bytes, - pallet_ty, - metadata, - )?)); - } if pallet_name == "Indices" { return Ok(Call::Indices(indices::Call::decode_with_metadata( &mut &*pallet_bytes, @@ -724,8 +715,6 @@ pub mod api { Utility(utility::Error), #[codec(index = 2)] Babe(babe::Error), - #[codec(index = 4)] - Authorship(authorship::Error), #[codec(index = 5)] Indices(indices::Error), #[codec(index = 6)] @@ -788,144 +777,139 @@ pub mod api { use ::subxt::metadata::DecodeWithMetadata; let cursor = &mut &pallet_bytes[..]; if pallet_name == "System" { - let variant_error = system::Error::decode_with_metadata(cursor, 125u32, metadata)?; + let variant_error = system::Error::decode_with_metadata(cursor, 130u32, metadata)?; return Ok(Error::System(variant_error)); } if pallet_name == "Utility" { - let variant_error = utility::Error::decode_with_metadata(cursor, 328u32, metadata)?; + let variant_error = utility::Error::decode_with_metadata(cursor, 327u32, metadata)?; return Ok(Error::Utility(variant_error)); } if pallet_name == "Babe" { - let variant_error = babe::Error::decode_with_metadata(cursor, 340u32, metadata)?; + let variant_error = babe::Error::decode_with_metadata(cursor, 343u32, metadata)?; return Ok(Error::Babe(variant_error)); } - if pallet_name == "Authorship" { - let variant_error = - authorship::Error::decode_with_metadata(cursor, 344u32, metadata)?; - return Ok(Error::Authorship(variant_error)); - } if pallet_name == "Indices" { - let variant_error = indices::Error::decode_with_metadata(cursor, 346u32, metadata)?; + let variant_error = indices::Error::decode_with_metadata(cursor, 345u32, metadata)?; return Ok(Error::Indices(variant_error)); } if pallet_name == "Balances" { let variant_error = - balances::Error::decode_with_metadata(cursor, 354u32, metadata)?; + balances::Error::decode_with_metadata(cursor, 360u32, metadata)?; return Ok(Error::Balances(variant_error)); } if pallet_name == "ElectionProviderMultiPhase" { let variant_error = election_provider_multi_phase::Error::decode_with_metadata( - cursor, 367u32, metadata, + cursor, 373u32, metadata, )?; return Ok(Error::ElectionProviderMultiPhase(variant_error)); } if pallet_name == "Staking" { - let variant_error = staking::Error::decode_with_metadata(cursor, 388u32, metadata)?; + let variant_error = staking::Error::decode_with_metadata(cursor, 394u32, metadata)?; return Ok(Error::Staking(variant_error)); } if pallet_name == "Session" { - let variant_error = session::Error::decode_with_metadata(cursor, 393u32, metadata)?; + let variant_error = session::Error::decode_with_metadata(cursor, 399u32, metadata)?; return Ok(Error::Session(variant_error)); } if pallet_name == "Democracy" { let variant_error = - democracy::Error::decode_with_metadata(cursor, 411u32, metadata)?; + democracy::Error::decode_with_metadata(cursor, 417u32, metadata)?; return Ok(Error::Democracy(variant_error)); } if pallet_name == "Council" { - let variant_error = council::Error::decode_with_metadata(cursor, 414u32, metadata)?; + let variant_error = council::Error::decode_with_metadata(cursor, 420u32, metadata)?; return Ok(Error::Council(variant_error)); } if pallet_name == "TechnicalCommittee" { let variant_error = - technical_committee::Error::decode_with_metadata(cursor, 416u32, metadata)?; + technical_committee::Error::decode_with_metadata(cursor, 422u32, metadata)?; return Ok(Error::TechnicalCommittee(variant_error)); } if pallet_name == "Elections" { let variant_error = - elections::Error::decode_with_metadata(cursor, 420u32, metadata)?; + elections::Error::decode_with_metadata(cursor, 426u32, metadata)?; return Ok(Error::Elections(variant_error)); } if pallet_name == "TechnicalMembership" { let variant_error = - technical_membership::Error::decode_with_metadata(cursor, 422u32, metadata)?; + technical_membership::Error::decode_with_metadata(cursor, 428u32, metadata)?; return Ok(Error::TechnicalMembership(variant_error)); } if pallet_name == "Grandpa" { - let variant_error = grandpa::Error::decode_with_metadata(cursor, 426u32, metadata)?; + let variant_error = grandpa::Error::decode_with_metadata(cursor, 432u32, metadata)?; return Ok(Error::Grandpa(variant_error)); } if pallet_name == "Treasury" { let variant_error = - treasury::Error::decode_with_metadata(cursor, 432u32, metadata)?; + treasury::Error::decode_with_metadata(cursor, 438u32, metadata)?; return Ok(Error::Treasury(variant_error)); } if pallet_name == "Sudo" { - let variant_error = sudo::Error::decode_with_metadata(cursor, 433u32, metadata)?; + let variant_error = sudo::Error::decode_with_metadata(cursor, 439u32, metadata)?; return Ok(Error::Sudo(variant_error)); } if pallet_name == "ImOnline" { let variant_error = - im_online::Error::decode_with_metadata(cursor, 441u32, metadata)?; + im_online::Error::decode_with_metadata(cursor, 442u32, metadata)?; return Ok(Error::ImOnline(variant_error)); } if pallet_name == "Scheduler" { let variant_error = - scheduler::Error::decode_with_metadata(cursor, 451u32, metadata)?; + scheduler::Error::decode_with_metadata(cursor, 452u32, metadata)?; return Ok(Error::Scheduler(variant_error)); } if pallet_name == "Bounties" { let variant_error = - bounties::Error::decode_with_metadata(cursor, 455u32, metadata)?; + bounties::Error::decode_with_metadata(cursor, 456u32, metadata)?; return Ok(Error::Bounties(variant_error)); } if pallet_name == "Tips" { - let variant_error = tips::Error::decode_with_metadata(cursor, 457u32, metadata)?; + let variant_error = tips::Error::decode_with_metadata(cursor, 458u32, metadata)?; return Ok(Error::Tips(variant_error)); } if pallet_name == "DataAvailability" { let variant_error = - data_availability::Error::decode_with_metadata(cursor, 459u32, metadata)?; + data_availability::Error::decode_with_metadata(cursor, 460u32, metadata)?; return Ok(Error::DataAvailability(variant_error)); } if pallet_name == "NomadUpdaterManager" { let variant_error = - nomad_updater_manager::Error::decode_with_metadata(cursor, 460u32, metadata)?; + nomad_updater_manager::Error::decode_with_metadata(cursor, 461u32, metadata)?; return Ok(Error::NomadUpdaterManager(variant_error)); } if pallet_name == "NomadHome" { let variant_error = - nomad_home::Error::decode_with_metadata(cursor, 465u32, metadata)?; + nomad_home::Error::decode_with_metadata(cursor, 466u32, metadata)?; return Ok(Error::NomadHome(variant_error)); } if pallet_name == "NomadDABridge" { let variant_error = - nomad_da_bridge::Error::decode_with_metadata(cursor, 466u32, metadata)?; + nomad_da_bridge::Error::decode_with_metadata(cursor, 467u32, metadata)?; return Ok(Error::NomadDABridge(variant_error)); } if pallet_name == "Preimage" { let variant_error = - preimage::Error::decode_with_metadata(cursor, 470u32, metadata)?; + preimage::Error::decode_with_metadata(cursor, 471u32, metadata)?; return Ok(Error::Preimage(variant_error)); } if pallet_name == "Multisig" { let variant_error = - multisig::Error::decode_with_metadata(cursor, 474u32, metadata)?; + multisig::Error::decode_with_metadata(cursor, 475u32, metadata)?; return Ok(Error::Multisig(variant_error)); } if pallet_name == "VoterList" { let variant_error = - voter_list::Error::decode_with_metadata(cursor, 478u32, metadata)?; + voter_list::Error::decode_with_metadata(cursor, 479u32, metadata)?; return Ok(Error::VoterList(variant_error)); } if pallet_name == "NominationPools" { let variant_error = - nomination_pools::Error::decode_with_metadata(cursor, 495u32, metadata)?; + nomination_pools::Error::decode_with_metadata(cursor, 499u32, metadata)?; return Ok(Error::NominationPools(variant_error)); } if pallet_name == "Identity" { let variant_error = - identity::Error::decode_with_metadata(cursor, 507u32, metadata)?; + identity::Error::decode_with_metadata(cursor, 511u32, metadata)?; return Ok(Error::Identity(variant_error)); } Err(::subxt::ext::scale_decode::Error::custom(format!( @@ -935,10 +919,18 @@ pub mod api { .into()) } } - pub fn constants() -> ConstantsApi { ConstantsApi } - pub fn storage() -> StorageApi { StorageApi } - pub fn tx() -> TransactionApi { TransactionApi } - pub fn apis() -> runtime_apis::RuntimeApi { runtime_apis::RuntimeApi } + pub fn constants() -> ConstantsApi { + ConstantsApi + } + pub fn storage() -> StorageApi { + StorageApi + } + pub fn tx() -> TransactionApi { + TransactionApi + } + pub fn apis() -> runtime_apis::RuntimeApi { + runtime_apis::RuntimeApi + } pub mod runtime_apis { use ::subxt::ext::codec::Encode; @@ -948,22 +940,22 @@ pub mod api { } pub struct ConstantsApi; impl ConstantsApi { - pub fn system(&self) -> system::constants::ConstantsApi { system::constants::ConstantsApi } + pub fn system(&self) -> system::constants::ConstantsApi { + system::constants::ConstantsApi + } pub fn utility(&self) -> utility::constants::ConstantsApi { utility::constants::ConstantsApi } - pub fn babe(&self) -> babe::constants::ConstantsApi { babe::constants::ConstantsApi } + pub fn babe(&self) -> babe::constants::ConstantsApi { + babe::constants::ConstantsApi + } pub fn timestamp(&self) -> timestamp::constants::ConstantsApi { timestamp::constants::ConstantsApi } - pub fn authorship(&self) -> authorship::constants::ConstantsApi { - authorship::constants::ConstantsApi - } - pub fn indices(&self) -> indices::constants::ConstantsApi { indices::constants::ConstantsApi } @@ -990,6 +982,14 @@ pub mod api { democracy::constants::ConstantsApi } + pub fn council(&self) -> council::constants::ConstantsApi { + council::constants::ConstantsApi + } + + pub fn technical_committee(&self) -> technical_committee::constants::ConstantsApi { + technical_committee::constants::ConstantsApi + } + pub fn elections(&self) -> elections::constants::ConstantsApi { elections::constants::ConstantsApi } @@ -1014,7 +1014,9 @@ pub mod api { bounties::constants::ConstantsApi } - pub fn tips(&self) -> tips::constants::ConstantsApi { tips::constants::ConstantsApi } + pub fn tips(&self) -> tips::constants::ConstantsApi { + tips::constants::ConstantsApi + } pub fn data_availability(&self) -> data_availability::constants::ConstantsApi { data_availability::constants::ConstantsApi @@ -1046,19 +1048,29 @@ pub mod api { } pub struct StorageApi; impl StorageApi { - pub fn system(&self) -> system::storage::StorageApi { system::storage::StorageApi } + pub fn system(&self) -> system::storage::StorageApi { + system::storage::StorageApi + } - pub fn babe(&self) -> babe::storage::StorageApi { babe::storage::StorageApi } + pub fn babe(&self) -> babe::storage::StorageApi { + babe::storage::StorageApi + } - pub fn timestamp(&self) -> timestamp::storage::StorageApi { timestamp::storage::StorageApi } + pub fn timestamp(&self) -> timestamp::storage::StorageApi { + timestamp::storage::StorageApi + } pub fn authorship(&self) -> authorship::storage::StorageApi { authorship::storage::StorageApi } - pub fn indices(&self) -> indices::storage::StorageApi { indices::storage::StorageApi } + pub fn indices(&self) -> indices::storage::StorageApi { + indices::storage::StorageApi + } - pub fn balances(&self) -> balances::storage::StorageApi { balances::storage::StorageApi } + pub fn balances(&self) -> balances::storage::StorageApi { + balances::storage::StorageApi + } pub fn transaction_payment(&self) -> transaction_payment::storage::StorageApi { transaction_payment::storage::StorageApi @@ -1070,49 +1082,77 @@ pub mod api { election_provider_multi_phase::storage::StorageApi } - pub fn staking(&self) -> staking::storage::StorageApi { staking::storage::StorageApi } + pub fn staking(&self) -> staking::storage::StorageApi { + staking::storage::StorageApi + } - pub fn session(&self) -> session::storage::StorageApi { session::storage::StorageApi } + pub fn session(&self) -> session::storage::StorageApi { + session::storage::StorageApi + } - pub fn democracy(&self) -> democracy::storage::StorageApi { democracy::storage::StorageApi } + pub fn democracy(&self) -> democracy::storage::StorageApi { + democracy::storage::StorageApi + } - pub fn council(&self) -> council::storage::StorageApi { council::storage::StorageApi } + pub fn council(&self) -> council::storage::StorageApi { + council::storage::StorageApi + } pub fn technical_committee(&self) -> technical_committee::storage::StorageApi { technical_committee::storage::StorageApi } - pub fn elections(&self) -> elections::storage::StorageApi { elections::storage::StorageApi } + pub fn elections(&self) -> elections::storage::StorageApi { + elections::storage::StorageApi + } pub fn technical_membership(&self) -> technical_membership::storage::StorageApi { technical_membership::storage::StorageApi } - pub fn grandpa(&self) -> grandpa::storage::StorageApi { grandpa::storage::StorageApi } + pub fn grandpa(&self) -> grandpa::storage::StorageApi { + grandpa::storage::StorageApi + } - pub fn treasury(&self) -> treasury::storage::StorageApi { treasury::storage::StorageApi } + pub fn treasury(&self) -> treasury::storage::StorageApi { + treasury::storage::StorageApi + } - pub fn sudo(&self) -> sudo::storage::StorageApi { sudo::storage::StorageApi } + pub fn sudo(&self) -> sudo::storage::StorageApi { + sudo::storage::StorageApi + } - pub fn im_online(&self) -> im_online::storage::StorageApi { im_online::storage::StorageApi } + pub fn im_online(&self) -> im_online::storage::StorageApi { + im_online::storage::StorageApi + } pub fn authority_discovery(&self) -> authority_discovery::storage::StorageApi { authority_discovery::storage::StorageApi } - pub fn offences(&self) -> offences::storage::StorageApi { offences::storage::StorageApi } + pub fn offences(&self) -> offences::storage::StorageApi { + offences::storage::StorageApi + } pub fn historical(&self) -> historical::storage::StorageApi { historical::storage::StorageApi } - pub fn scheduler(&self) -> scheduler::storage::StorageApi { scheduler::storage::StorageApi } + pub fn scheduler(&self) -> scheduler::storage::StorageApi { + scheduler::storage::StorageApi + } - pub fn bounties(&self) -> bounties::storage::StorageApi { bounties::storage::StorageApi } + pub fn bounties(&self) -> bounties::storage::StorageApi { + bounties::storage::StorageApi + } - pub fn tips(&self) -> tips::storage::StorageApi { tips::storage::StorageApi } + pub fn tips(&self) -> tips::storage::StorageApi { + tips::storage::StorageApi + } - pub fn mmr(&self) -> mmr::storage::StorageApi { mmr::storage::StorageApi } + pub fn mmr(&self) -> mmr::storage::StorageApi { + mmr::storage::StorageApi + } pub fn data_availability(&self) -> data_availability::storage::StorageApi { data_availability::storage::StorageApi @@ -1126,9 +1166,13 @@ pub mod api { nomad_home::storage::StorageApi } - pub fn preimage(&self) -> preimage::storage::StorageApi { preimage::storage::StorageApi } + pub fn preimage(&self) -> preimage::storage::StorageApi { + preimage::storage::StorageApi + } - pub fn multisig(&self) -> multisig::storage::StorageApi { multisig::storage::StorageApi } + pub fn multisig(&self) -> multisig::storage::StorageApi { + multisig::storage::StorageApi + } pub fn voter_list(&self) -> voter_list::storage::StorageApi { voter_list::storage::StorageApi @@ -1138,26 +1182,32 @@ pub mod api { nomination_pools::storage::StorageApi } - pub fn identity(&self) -> identity::storage::StorageApi { identity::storage::StorageApi } + pub fn identity(&self) -> identity::storage::StorageApi { + identity::storage::StorageApi + } } pub struct TransactionApi; impl TransactionApi { - pub fn system(&self) -> system::calls::TransactionApi { system::calls::TransactionApi } + pub fn system(&self) -> system::calls::TransactionApi { + system::calls::TransactionApi + } - pub fn utility(&self) -> utility::calls::TransactionApi { utility::calls::TransactionApi } + pub fn utility(&self) -> utility::calls::TransactionApi { + utility::calls::TransactionApi + } - pub fn babe(&self) -> babe::calls::TransactionApi { babe::calls::TransactionApi } + pub fn babe(&self) -> babe::calls::TransactionApi { + babe::calls::TransactionApi + } pub fn timestamp(&self) -> timestamp::calls::TransactionApi { timestamp::calls::TransactionApi } - pub fn authorship(&self) -> authorship::calls::TransactionApi { - authorship::calls::TransactionApi + pub fn indices(&self) -> indices::calls::TransactionApi { + indices::calls::TransactionApi } - pub fn indices(&self) -> indices::calls::TransactionApi { indices::calls::TransactionApi } - pub fn balances(&self) -> balances::calls::TransactionApi { balances::calls::TransactionApi } @@ -1168,15 +1218,21 @@ pub mod api { election_provider_multi_phase::calls::TransactionApi } - pub fn staking(&self) -> staking::calls::TransactionApi { staking::calls::TransactionApi } + pub fn staking(&self) -> staking::calls::TransactionApi { + staking::calls::TransactionApi + } - pub fn session(&self) -> session::calls::TransactionApi { session::calls::TransactionApi } + pub fn session(&self) -> session::calls::TransactionApi { + session::calls::TransactionApi + } pub fn democracy(&self) -> democracy::calls::TransactionApi { democracy::calls::TransactionApi } - pub fn council(&self) -> council::calls::TransactionApi { council::calls::TransactionApi } + pub fn council(&self) -> council::calls::TransactionApi { + council::calls::TransactionApi + } pub fn technical_committee(&self) -> technical_committee::calls::TransactionApi { technical_committee::calls::TransactionApi @@ -1190,13 +1246,17 @@ pub mod api { technical_membership::calls::TransactionApi } - pub fn grandpa(&self) -> grandpa::calls::TransactionApi { grandpa::calls::TransactionApi } + pub fn grandpa(&self) -> grandpa::calls::TransactionApi { + grandpa::calls::TransactionApi + } pub fn treasury(&self) -> treasury::calls::TransactionApi { treasury::calls::TransactionApi } - pub fn sudo(&self) -> sudo::calls::TransactionApi { sudo::calls::TransactionApi } + pub fn sudo(&self) -> sudo::calls::TransactionApi { + sudo::calls::TransactionApi + } pub fn im_online(&self) -> im_online::calls::TransactionApi { im_online::calls::TransactionApi @@ -1210,7 +1270,9 @@ pub mod api { bounties::calls::TransactionApi } - pub fn tips(&self) -> tips::calls::TransactionApi { tips::calls::TransactionApi } + pub fn tips(&self) -> tips::calls::TransactionApi { + tips::calls::TransactionApi + } pub fn data_availability(&self) -> data_availability::calls::TransactionApi { data_availability::calls::TransactionApi @@ -1248,7 +1310,9 @@ pub mod api { identity::calls::TransactionApi } - pub fn mandate(&self) -> mandate::calls::TransactionApi { mandate::calls::TransactionApi } + pub fn mandate(&self) -> mandate::calls::TransactionApi { + mandate::calls::TransactionApi + } } #[doc = r" check whether the Client you are using is aligned with the statically generated codegen."] pub fn validate_codegen>( @@ -1261,9 +1325,9 @@ pub mod api { .hash(); if runtime_metadata_hash != [ - 95u8, 200u8, 63u8, 120u8, 111u8, 95u8, 101u8, 241u8, 126u8, 223u8, 74u8, 198u8, - 208u8, 106u8, 244u8, 239u8, 182u8, 193u8, 50u8, 254u8, 137u8, 50u8, 52u8, 184u8, - 241u8, 228u8, 203u8, 247u8, 193u8, 205u8, 158u8, 38u8, + 74u8, 73u8, 11u8, 210u8, 139u8, 115u8, 23u8, 22u8, 120u8, 16u8, 98u8, 176u8, 185u8, + 72u8, 71u8, 93u8, 31u8, 12u8, 216u8, 219u8, 172u8, 152u8, 112u8, 50u8, 137u8, + 133u8, 239u8, 237u8, 229u8, 228u8, 61u8, 74u8, ] { Err(::subxt::error::MetadataError::IncompatibleCodegen) } else { @@ -1274,7 +1338,7 @@ pub mod api { use super::{root_mod, runtime_types}; #[doc = "Error for the System pallet"] pub type Error = runtime_types::frame_system::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::frame_system::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -1449,11 +1513,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Make some on-chain remark."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`"] - #[doc = "# "] + #[doc = "See [`Pallet::remark`]."] pub fn remark( &self, remark: ::std::vec::Vec<::core::primitive::u8>, @@ -1471,7 +1531,7 @@ pub mod api { ) } - #[doc = "Set the number of pages in the WebAssembly environment's heap."] + #[doc = "See [`Pallet::set_heap_pages`]."] pub fn set_heap_pages( &self, pages: ::core::primitive::u64, @@ -1489,18 +1549,7 @@ pub mod api { ) } - #[doc = "Set the new runtime code."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] - #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] - #[doc = " expensive)."] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] - #[doc = "expensive. We will treat this as a full block."] - #[doc = "# "] + #[doc = "See [`Pallet::set_code`]."] pub fn set_code( &self, code: ::std::vec::Vec<::core::primitive::u8>, @@ -1517,15 +1566,7 @@ pub mod api { ) } - #[doc = "Set the new runtime code without doing any checks of the given `code`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(C)` where `C` length of `code`"] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] - #[doc = "block. # "] + #[doc = "See [`Pallet::set_code_without_checks`]."] pub fn set_code_without_checks( &self, code: ::std::vec::Vec<::core::primitive::u8>, @@ -1543,7 +1584,7 @@ pub mod api { ) } - #[doc = "Set some items of storage."] + #[doc = "See [`Pallet::set_storage`]."] pub fn set_storage( &self, items: ::std::vec::Vec<( @@ -1563,7 +1604,7 @@ pub mod api { ) } - #[doc = "Kill some items from storage."] + #[doc = "See [`Pallet::kill_storage`]."] pub fn kill_storage( &self, keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, @@ -1581,10 +1622,7 @@ pub mod api { ) } - #[doc = "Kill all storage items with a key that starts with the given prefix."] - #[doc = ""] - #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] - #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + #[doc = "See [`Pallet::kill_prefix`]."] pub fn kill_prefix( &self, prefix: ::std::vec::Vec<::core::primitive::u8>, @@ -1603,7 +1641,7 @@ pub mod api { ) } - #[doc = "Make some on-chain remark and emit event."] + #[doc = "See [`Pallet::remark_with_event`]."] pub fn remark_with_event( &self, remark: ::std::vec::Vec<::core::primitive::u8>, @@ -1785,7 +1823,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, runtime_types::frame_system::AccountInfo< ::core::primitive::u32, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -1798,9 +1836,9 @@ pub mod api { _0.borrow(), )], [ - 6u8, 201u8, 83u8, 32u8, 77u8, 56u8, 30u8, 144u8, 134u8, 20u8, 244u8, - 154u8, 1u8, 165u8, 101u8, 255u8, 35u8, 235u8, 136u8, 0u8, 71u8, 140u8, - 164u8, 69u8, 211u8, 55u8, 14u8, 205u8, 82u8, 80u8, 36u8, 228u8, + 234u8, 12u8, 167u8, 96u8, 2u8, 244u8, 235u8, 62u8, 153u8, 200u8, 96u8, + 74u8, 135u8, 8u8, 35u8, 188u8, 146u8, 249u8, 246u8, 40u8, 224u8, 22u8, + 15u8, 99u8, 150u8, 222u8, 82u8, 85u8, 123u8, 123u8, 19u8, 110u8, ], ) } @@ -1812,7 +1850,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, runtime_types::frame_system::AccountInfo< ::core::primitive::u32, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, >, (), ::subxt::storage::address::Yes, @@ -1823,9 +1861,9 @@ pub mod api { "Account", Vec::new(), [ - 6u8, 201u8, 83u8, 32u8, 77u8, 56u8, 30u8, 144u8, 134u8, 20u8, 244u8, - 154u8, 1u8, 165u8, 101u8, 255u8, 35u8, 235u8, 136u8, 0u8, 71u8, 140u8, - 164u8, 69u8, 211u8, 55u8, 14u8, 205u8, 82u8, 80u8, 36u8, 228u8, + 234u8, 12u8, 167u8, 96u8, 2u8, 244u8, 235u8, 62u8, 153u8, 200u8, 96u8, + 74u8, 135u8, 8u8, 35u8, 188u8, 146u8, 249u8, 246u8, 40u8, 224u8, 22u8, + 15u8, 99u8, 150u8, 222u8, 82u8, 85u8, 123u8, 123u8, 19u8, 110u8, ], ) } @@ -2007,11 +2045,16 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("System", "Number", vec![], [ - 30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8, - 9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8, - 200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8, - ]) + ::subxt::storage::address::Address::new_static( + "System", + "Number", + vec![], + [ + 30u8, 194u8, 177u8, 90u8, 194u8, 232u8, 46u8, 180u8, 85u8, 129u8, 14u8, + 9u8, 8u8, 8u8, 23u8, 95u8, 230u8, 5u8, 13u8, 105u8, 125u8, 2u8, 22u8, + 200u8, 78u8, 93u8, 115u8, 28u8, 150u8, 113u8, 48u8, 53u8, + ], + ) } #[doc = " Hash of the previous block."] @@ -2046,11 +2089,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("System", "Digest", vec![], [ - 70u8, 156u8, 127u8, 89u8, 115u8, 250u8, 103u8, 62u8, 185u8, 153u8, 26u8, - 72u8, 39u8, 226u8, 181u8, 97u8, 137u8, 225u8, 45u8, 158u8, 212u8, 254u8, - 142u8, 136u8, 90u8, 22u8, 243u8, 125u8, 226u8, 49u8, 235u8, 215u8, - ]) + ::subxt::storage::address::Address::new_static( + "System", + "Digest", + vec![], + [ + 70u8, 156u8, 127u8, 89u8, 115u8, 250u8, 103u8, 62u8, 185u8, 153u8, + 26u8, 72u8, 39u8, 226u8, 181u8, 97u8, 137u8, 225u8, 45u8, 158u8, 212u8, + 254u8, 142u8, 136u8, 90u8, 22u8, 243u8, 125u8, 226u8, 49u8, 235u8, + 215u8, + ], + ) } #[doc = " Events deposited for the current block."] @@ -2074,11 +2123,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("System", "Events", vec![], [ - 0u8, 81u8, 218u8, 171u8, 200u8, 86u8, 36u8, 162u8, 95u8, 224u8, 129u8, 1u8, - 186u8, 154u8, 16u8, 159u8, 96u8, 154u8, 146u8, 244u8, 87u8, 2u8, 67u8, - 132u8, 213u8, 74u8, 214u8, 191u8, 15u8, 5u8, 143u8, 46u8, - ]) + ::subxt::storage::address::Address::new_static( + "System", + "Events", + vec![], + [ + 135u8, 70u8, 188u8, 138u8, 189u8, 89u8, 46u8, 4u8, 225u8, 244u8, 212u8, + 189u8, 221u8, 105u8, 161u8, 239u8, 176u8, 2u8, 188u8, 39u8, 88u8, + 209u8, 24u8, 183u8, 165u8, 251u8, 104u8, 239u8, 253u8, 88u8, 150u8, + 34u8, + ], + ) } #[doc = " The number of events in the `Events` list."] @@ -2111,7 +2166,7 @@ pub mod api { #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] #[doc = " in case of changes fetch the list of events of interest."] #[doc = ""] - #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just"] #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] #[doc = " no notification will be triggered thus the event might be lost."] pub fn event_topics( @@ -2145,7 +2200,7 @@ pub mod api { #[doc = " allows light-clients to leverage the changes trie storage tracking mechanism and"] #[doc = " in case of changes fetch the list of events of interest."] #[doc = ""] - #[doc = " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just"] + #[doc = " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just"] #[doc = " the `EventIndex` then in case if the topic has the same contents on the next block"] #[doc = " no notification will be triggered thus the event might be lost."] pub fn event_topics_root( @@ -2291,55 +2346,77 @@ pub mod api { &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("System", "BlockWeights", [ - 238u8, 20u8, 221u8, 11u8, 146u8, 236u8, 47u8, 103u8, 8u8, 239u8, 13u8, - 176u8, 202u8, 10u8, 151u8, 68u8, 110u8, 162u8, 99u8, 40u8, 211u8, 136u8, - 71u8, 82u8, 50u8, 80u8, 244u8, 211u8, 231u8, 198u8, 36u8, 152u8, - ]) + ::subxt::constants::Address::new_static( + "System", + "BlockWeights", + [ + 238u8, 20u8, 221u8, 11u8, 146u8, 236u8, 47u8, 103u8, 8u8, 239u8, 13u8, + 176u8, 202u8, 10u8, 151u8, 68u8, 110u8, 162u8, 99u8, 40u8, 211u8, + 136u8, 71u8, 82u8, 50u8, 80u8, 244u8, 211u8, 231u8, 198u8, 36u8, 152u8, + ], + ) } #[doc = " The maximum length of a block (in bytes)."] pub fn block_length( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("System", "BlockLength", [ - 166u8, 7u8, 126u8, 154u8, 133u8, 31u8, 100u8, 149u8, 118u8, 168u8, 1u8, - 21u8, 202u8, 114u8, 104u8, 193u8, 44u8, 97u8, 240u8, 37u8, 177u8, 43u8, - 83u8, 195u8, 176u8, 252u8, 201u8, 229u8, 170u8, 45u8, 136u8, 81u8, - ]) + ::subxt::constants::Address::new_static( + "System", + "BlockLength", + [ + 166u8, 7u8, 126u8, 154u8, 133u8, 31u8, 100u8, 149u8, 118u8, 168u8, 1u8, + 21u8, 202u8, 114u8, 104u8, 193u8, 44u8, 97u8, 240u8, 37u8, 177u8, 43u8, + 83u8, 195u8, 176u8, 252u8, 201u8, 229u8, 170u8, 45u8, 136u8, 81u8, + ], + ) } #[doc = " Maximum number of block number to block hash mappings to keep (oldest pruned first)."] pub fn block_hash_count( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("System", "BlockHashCount", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "System", + "BlockHashCount", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The weight of runtime database operations the runtime can invoke."] pub fn db_weight( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("System", "DbWeight", [ - 206u8, 53u8, 134u8, 247u8, 42u8, 38u8, 197u8, 59u8, 191u8, 83u8, 160u8, - 9u8, 207u8, 133u8, 108u8, 152u8, 150u8, 103u8, 109u8, 228u8, 218u8, 24u8, - 27u8, 210u8, 106u8, 252u8, 74u8, 93u8, 27u8, 63u8, 109u8, 252u8, - ]) + ::subxt::constants::Address::new_static( + "System", + "DbWeight", + [ + 206u8, 53u8, 134u8, 247u8, 42u8, 38u8, 197u8, 59u8, 191u8, 83u8, 160u8, + 9u8, 207u8, 133u8, 108u8, 152u8, 150u8, 103u8, 109u8, 228u8, 218u8, + 24u8, 27u8, 210u8, 106u8, 252u8, 74u8, 93u8, 27u8, 63u8, 109u8, 252u8, + ], + ) } #[doc = " Get the chain's current version."] pub fn version( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("System", "Version", [ - 134u8, 0u8, 23u8, 0u8, 199u8, 213u8, 89u8, 240u8, 194u8, 186u8, 239u8, - 157u8, 168u8, 211u8, 223u8, 156u8, 138u8, 140u8, 194u8, 23u8, 167u8, 158u8, - 195u8, 233u8, 25u8, 165u8, 27u8, 237u8, 198u8, 206u8, 233u8, 28u8, - ]) + ::subxt::constants::Address::new_static( + "System", + "Version", + [ + 134u8, 0u8, 23u8, 0u8, 199u8, 213u8, 89u8, 240u8, 194u8, 186u8, 239u8, + 157u8, 168u8, 211u8, 223u8, 156u8, 138u8, 140u8, 194u8, 23u8, 167u8, + 158u8, 195u8, 233u8, 25u8, 165u8, 27u8, 237u8, 198u8, 206u8, 233u8, + 28u8, + ], + ) } #[doc = " The designated SS58 prefix of this chain."] @@ -2348,20 +2425,24 @@ pub mod api { #[doc = " that the runtime should know about the prefix in order to make use of it as"] #[doc = " an identifier of the chain."] pub fn ss58_prefix(&self) -> ::subxt::constants::Address<::core::primitive::u16> { - ::subxt::constants::Address::new_static("System", "SS58Prefix", [ - 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, 41u8, - 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, 90u8, - 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, - ]) + ::subxt::constants::Address::new_static( + "System", + "SS58Prefix", + [ + 116u8, 33u8, 2u8, 170u8, 181u8, 147u8, 171u8, 169u8, 167u8, 227u8, + 41u8, 144u8, 11u8, 236u8, 82u8, 100u8, 74u8, 60u8, 184u8, 72u8, 169u8, + 90u8, 208u8, 135u8, 15u8, 117u8, 10u8, 123u8, 128u8, 193u8, 29u8, 70u8, + ], + ) } } } } pub mod utility { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_utility::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_utility::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -2494,49 +2575,24 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Send a batch of dispatch calls."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] - #[doc = ""] - #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] - #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] - #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] - #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] - #[doc = "event is deposited."] + #[doc = "See [`Pallet::batch`]."] pub fn batch( &self, calls: ::std::vec::Vec, ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Utility", "batch", types::Batch { calls }, [ - 162u8, 47u8, 212u8, 156u8, 189u8, 80u8, 247u8, 183u8, 13u8, 95u8, 89u8, - 91u8, 228u8, 94u8, 252u8, 248u8, 179u8, 221u8, 187u8, 219u8, 205u8, 255u8, - 91u8, 148u8, 88u8, 145u8, 145u8, 147u8, 85u8, 242u8, 152u8, 85u8, - ]) + ::subxt::tx::Payload::new_static( + "Utility", + "batch", + types::Batch { calls }, + [ + 220u8, 133u8, 43u8, 120u8, 158u8, 223u8, 27u8, 148u8, 207u8, 167u8, + 54u8, 93u8, 208u8, 199u8, 29u8, 110u8, 176u8, 77u8, 51u8, 216u8, 24u8, + 86u8, 103u8, 71u8, 108u8, 82u8, 226u8, 22u8, 10u8, 20u8, 117u8, 152u8, + ], + ) } - #[doc = "Send a call through an indexed pseudonym of the sender."] - #[doc = ""] - #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] - #[doc = "use the same filter as the origin of this call."] - #[doc = ""] - #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] - #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] - #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] - #[doc = "in the Multisig pallet instead."] - #[doc = ""] - #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "See [`Pallet::as_derivative`]."] pub fn as_derivative( &self, index: ::core::primitive::u16, @@ -2550,28 +2606,15 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 247u8, 86u8, 221u8, 216u8, 187u8, 146u8, 164u8, 177u8, 211u8, 27u8, - 66u8, 166u8, 57u8, 127u8, 197u8, 46u8, 35u8, 159u8, 108u8, 119u8, 28u8, - 26u8, 148u8, 43u8, 187u8, 226u8, 159u8, 177u8, 87u8, 255u8, 173u8, - 131u8, + 239u8, 156u8, 200u8, 232u8, 225u8, 151u8, 177u8, 64u8, 199u8, 123u8, + 24u8, 52u8, 146u8, 2u8, 241u8, 222u8, 167u8, 163u8, 114u8, 219u8, + 189u8, 191u8, 40u8, 46u8, 202u8, 193u8, 199u8, 56u8, 174u8, 208u8, + 222u8, 75u8, ], ) } - #[doc = "Send a batch of dispatch calls and atomically execute them."] - #[doc = "The whole transaction will rollback and fail if any of the calls failed."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "See [`Pallet::batch_all`]."] pub fn batch_all( &self, calls: ::std::vec::Vec, @@ -2581,23 +2624,15 @@ pub mod api { "batch_all", types::BatchAll { calls }, [ - 74u8, 219u8, 12u8, 83u8, 166u8, 178u8, 11u8, 23u8, 33u8, 200u8, 32u8, - 95u8, 108u8, 233u8, 135u8, 170u8, 155u8, 190u8, 242u8, 245u8, 14u8, - 155u8, 7u8, 105u8, 178u8, 38u8, 7u8, 5u8, 205u8, 85u8, 46u8, 115u8, + 185u8, 233u8, 231u8, 241u8, 193u8, 136u8, 5u8, 61u8, 231u8, 118u8, + 125u8, 171u8, 22u8, 38u8, 232u8, 111u8, 246u8, 100u8, 180u8, 49u8, + 91u8, 152u8, 164u8, 72u8, 11u8, 18u8, 158u8, 169u8, 127u8, 166u8, + 110u8, 103u8, ], ) } - #[doc = "Dispatches a function call with a provided origin."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] - #[doc = "# "] + #[doc = "See [`Pallet::dispatch_as`]."] pub fn dispatch_as( &self, as_origin: runtime_types::da_runtime::OriginCaller, @@ -2611,28 +2646,14 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 133u8, 76u8, 140u8, 166u8, 229u8, 105u8, 252u8, 199u8, 30u8, 62u8, - 244u8, 23u8, 208u8, 139u8, 17u8, 44u8, 118u8, 251u8, 185u8, 179u8, - 101u8, 243u8, 189u8, 223u8, 99u8, 217u8, 224u8, 186u8, 201u8, 184u8, - 201u8, 49u8, + 226u8, 139u8, 100u8, 52u8, 85u8, 42u8, 128u8, 91u8, 168u8, 35u8, 121u8, + 33u8, 1u8, 31u8, 236u8, 163u8, 103u8, 101u8, 221u8, 247u8, 145u8, + 227u8, 89u8, 27u8, 77u8, 8u8, 241u8, 118u8, 201u8, 230u8, 233u8, 174u8, ], ) } - #[doc = "Send a batch of dispatch calls."] - #[doc = "Unlike `batch`, it allows errors and won't interrupt."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "See [`Pallet::force_batch`]."] pub fn force_batch( &self, calls: ::std::vec::Vec, @@ -2642,20 +2663,14 @@ pub mod api { "force_batch", types::ForceBatch { calls }, [ - 200u8, 88u8, 62u8, 43u8, 145u8, 54u8, 115u8, 198u8, 254u8, 180u8, 76u8, - 192u8, 128u8, 186u8, 167u8, 47u8, 255u8, 200u8, 146u8, 59u8, 212u8, - 248u8, 163u8, 200u8, 237u8, 219u8, 41u8, 157u8, 80u8, 115u8, 217u8, - 137u8, + 155u8, 173u8, 143u8, 165u8, 78u8, 137u8, 69u8, 108u8, 80u8, 119u8, + 86u8, 60u8, 4u8, 197u8, 39u8, 23u8, 193u8, 48u8, 98u8, 84u8, 63u8, + 135u8, 66u8, 165u8, 228u8, 8u8, 16u8, 212u8, 45u8, 6u8, 107u8, 129u8, ], ) } - #[doc = "Dispatch a function call with a specified weight."] - #[doc = ""] - #[doc = "This function does not check the weight of the call, and instead allows the"] - #[doc = "Root origin to specify the weight of the call."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = "See [`Pallet::with_weight`]."] pub fn with_weight( &self, call: runtime_types::da_runtime::RuntimeCall, @@ -2669,15 +2684,16 @@ pub mod api { weight, }, [ - 59u8, 40u8, 39u8, 149u8, 111u8, 212u8, 53u8, 94u8, 218u8, 63u8, 231u8, - 77u8, 142u8, 33u8, 55u8, 132u8, 196u8, 197u8, 178u8, 208u8, 236u8, - 193u8, 80u8, 72u8, 86u8, 135u8, 17u8, 182u8, 38u8, 81u8, 73u8, 98u8, + 212u8, 227u8, 1u8, 152u8, 56u8, 137u8, 254u8, 209u8, 221u8, 124u8, + 89u8, 1u8, 218u8, 114u8, 133u8, 15u8, 166u8, 228u8, 234u8, 59u8, 72u8, + 122u8, 173u8, 118u8, 105u8, 108u8, 226u8, 26u8, 203u8, 91u8, 209u8, + 39u8, ], ) } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_utility::pallet::Event; pub mod events { use super::runtime_types; @@ -2812,20 +2828,25 @@ pub mod api { pub fn batched_calls_limit( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Utility", "batched_calls_limit", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Utility", + "batched_calls_limit", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod babe { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_babe::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_babe::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -2913,10 +2934,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Report authority equivocation/misbehavior. This method will verify"] - #[doc = "the equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence will"] - #[doc = "be reported."] + #[doc = "See [`Pallet::report_equivocation`]."] pub fn report_equivocation( &self, equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< @@ -2944,14 +2962,7 @@ pub mod api { ) } - #[doc = "Report authority equivocation/misbehavior. This method will verify"] - #[doc = "the equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence will"] - #[doc = "be reported."] - #[doc = "This extrinsic must be called unsigned and it is expected that only"] - #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] - #[doc = "if the block author is defined it will be defined as the equivocation"] - #[doc = "reporter."] + #[doc = "See [`Pallet::report_equivocation_unsigned`]."] pub fn report_equivocation_unsigned( &self, equivocation_proof: runtime_types::sp_consensus_slots::EquivocationProof< @@ -2978,10 +2989,7 @@ pub mod api { ) } - #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] - #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."] - #[doc = "Multiple calls to this method will replace any existing planned config change that had"] - #[doc = "not been enacted yet."] + #[doc = "See [`Pallet::plan_config_change`]."] pub fn plan_config_change( &self, config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, @@ -3014,11 +3022,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "EpochIndex", vec![], [ - 32u8, 82u8, 130u8, 31u8, 190u8, 162u8, 237u8, 189u8, 104u8, 244u8, 30u8, - 199u8, 179u8, 0u8, 161u8, 107u8, 72u8, 240u8, 201u8, 222u8, 177u8, 222u8, - 35u8, 156u8, 81u8, 132u8, 162u8, 118u8, 238u8, 84u8, 112u8, 89u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "EpochIndex", + vec![], + [ + 32u8, 82u8, 130u8, 31u8, 190u8, 162u8, 237u8, 189u8, 104u8, 244u8, + 30u8, 199u8, 179u8, 0u8, 161u8, 107u8, 72u8, 240u8, 201u8, 222u8, + 177u8, 222u8, 35u8, 156u8, 81u8, 132u8, 162u8, 118u8, 238u8, 84u8, + 112u8, 89u8, + ], + ) } #[doc = " Current epoch authorities."] @@ -3026,7 +3040,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( runtime_types::sp_consensus_babe::app::Public, ::core::primitive::u64, )>, @@ -3034,11 +3048,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "Authorities", vec![], [ - 67u8, 196u8, 244u8, 13u8, 246u8, 245u8, 198u8, 98u8, 81u8, 55u8, 182u8, - 187u8, 214u8, 5u8, 181u8, 76u8, 251u8, 213u8, 144u8, 166u8, 36u8, 153u8, - 234u8, 181u8, 252u8, 55u8, 198u8, 175u8, 55u8, 211u8, 105u8, 85u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "Authorities", + vec![], + [ + 67u8, 196u8, 244u8, 13u8, 246u8, 245u8, 198u8, 98u8, 81u8, 55u8, 182u8, + 187u8, 214u8, 5u8, 181u8, 76u8, 251u8, 213u8, 144u8, 166u8, 36u8, + 153u8, 234u8, 181u8, 252u8, 55u8, 198u8, 175u8, 55u8, 211u8, 105u8, + 85u8, + ], + ) } #[doc = " The slot at which the first epoch actually started. This is 0"] @@ -3052,11 +3072,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "GenesisSlot", vec![], [ - 218u8, 174u8, 152u8, 76u8, 188u8, 214u8, 7u8, 88u8, 253u8, 187u8, 139u8, - 234u8, 51u8, 28u8, 220u8, 57u8, 73u8, 1u8, 18u8, 205u8, 80u8, 160u8, 120u8, - 216u8, 139u8, 191u8, 100u8, 108u8, 162u8, 106u8, 175u8, 107u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "GenesisSlot", + vec![], + [ + 218u8, 174u8, 152u8, 76u8, 188u8, 214u8, 7u8, 88u8, 253u8, 187u8, + 139u8, 234u8, 51u8, 28u8, 220u8, 57u8, 73u8, 1u8, 18u8, 205u8, 80u8, + 160u8, 120u8, 216u8, 139u8, 191u8, 100u8, 108u8, 162u8, 106u8, 175u8, + 107u8, + ], + ) } #[doc = " Current slot number."] @@ -3069,11 +3095,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "CurrentSlot", vec![], [ - 112u8, 199u8, 115u8, 248u8, 217u8, 242u8, 45u8, 231u8, 178u8, 53u8, 236u8, - 167u8, 219u8, 238u8, 81u8, 243u8, 39u8, 140u8, 68u8, 19u8, 201u8, 169u8, - 211u8, 133u8, 135u8, 213u8, 150u8, 105u8, 60u8, 252u8, 43u8, 57u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "CurrentSlot", + vec![], + [ + 112u8, 199u8, 115u8, 248u8, 217u8, 242u8, 45u8, 231u8, 178u8, 53u8, + 236u8, 167u8, 219u8, 238u8, 81u8, 243u8, 39u8, 140u8, 68u8, 19u8, + 201u8, 169u8, 211u8, 133u8, 135u8, 213u8, 150u8, 105u8, 60u8, 252u8, + 43u8, 57u8, + ], + ) } #[doc = " The epoch randomness for the *current* epoch."] @@ -3095,11 +3127,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "Randomness", vec![], [ - 36u8, 15u8, 52u8, 73u8, 195u8, 177u8, 186u8, 125u8, 134u8, 11u8, 103u8, - 248u8, 170u8, 237u8, 105u8, 239u8, 168u8, 204u8, 147u8, 52u8, 15u8, 226u8, - 126u8, 176u8, 133u8, 186u8, 169u8, 241u8, 156u8, 118u8, 67u8, 58u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "Randomness", + vec![], + [ + 36u8, 15u8, 52u8, 73u8, 195u8, 177u8, 186u8, 125u8, 134u8, 11u8, 103u8, + 248u8, 170u8, 237u8, 105u8, 239u8, 168u8, 204u8, 147u8, 52u8, 15u8, + 226u8, 126u8, 176u8, 133u8, 186u8, 169u8, 241u8, 156u8, 118u8, 67u8, + 58u8, + ], + ) } #[doc = " Pending epoch configuration change that will be applied when the next epoch is enacted."] @@ -3152,7 +3190,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( runtime_types::sp_consensus_babe::app::Public, ::core::primitive::u64, )>, @@ -3210,7 +3248,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< [::core::primitive::u8; 32usize], >, ::subxt::storage::address::Yes, @@ -3236,7 +3274,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< [::core::primitive::u8; 32usize], >, (), @@ -3266,11 +3304,16 @@ pub mod api { (), (), > { - ::subxt::storage::address::Address::new_static("Babe", "Initialized", vec![], [ - 56u8, 150u8, 169u8, 106u8, 251u8, 73u8, 237u8, 53u8, 217u8, 32u8, 137u8, - 26u8, 138u8, 233u8, 40u8, 125u8, 33u8, 155u8, 0u8, 26u8, 186u8, 22u8, - 243u8, 43u8, 64u8, 251u8, 74u8, 91u8, 110u8, 127u8, 240u8, 140u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "Initialized", + vec![], + [ + 61u8, 100u8, 12u8, 43u8, 50u8, 166u8, 173u8, 130u8, 86u8, 36u8, 92u8, + 221u8, 44u8, 235u8, 241u8, 150u8, 231u8, 108u8, 15u8, 134u8, 12u8, 6u8, + 198u8, 102u8, 63u8, 69u8, 201u8, 171u8, 14u8, 135u8, 254u8, 239u8, + ], + ) } #[doc = " This field should always be populated during block processing unless"] @@ -3313,11 +3356,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "EpochStart", vec![], [ - 246u8, 69u8, 165u8, 217u8, 181u8, 138u8, 201u8, 64u8, 251u8, 121u8, 50u8, - 231u8, 221u8, 144u8, 225u8, 249u8, 42u8, 135u8, 31u8, 136u8, 21u8, 160u8, - 186u8, 148u8, 139u8, 232u8, 182u8, 121u8, 82u8, 110u8, 14u8, 160u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "EpochStart", + vec![], + [ + 246u8, 69u8, 165u8, 217u8, 181u8, 138u8, 201u8, 64u8, 251u8, 121u8, + 50u8, 231u8, 221u8, 144u8, 225u8, 249u8, 42u8, 135u8, 31u8, 136u8, + 21u8, 160u8, 186u8, 148u8, 139u8, 232u8, 182u8, 121u8, 82u8, 110u8, + 14u8, 160u8, + ], + ) } #[doc = " How late the current block is compared to its parent."] @@ -3334,11 +3383,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Babe", "Lateness", vec![], [ - 229u8, 214u8, 133u8, 149u8, 32u8, 159u8, 26u8, 22u8, 252u8, 131u8, 200u8, - 191u8, 231u8, 176u8, 178u8, 127u8, 33u8, 212u8, 139u8, 220u8, 157u8, 38u8, - 4u8, 226u8, 204u8, 32u8, 55u8, 20u8, 205u8, 141u8, 29u8, 87u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "Lateness", + vec![], + [ + 229u8, 214u8, 133u8, 149u8, 32u8, 159u8, 26u8, 22u8, 252u8, 131u8, + 200u8, 191u8, 231u8, 176u8, 178u8, 127u8, 33u8, 212u8, 139u8, 220u8, + 157u8, 38u8, 4u8, 226u8, 204u8, 32u8, 55u8, 20u8, 205u8, 141u8, 29u8, + 87u8, + ], + ) } #[doc = " The configuration for the current epoch. Should never be `None` as it is initialized in"] @@ -3352,11 +3407,17 @@ pub mod api { (), (), > { - ::subxt::storage::address::Address::new_static("Babe", "EpochConfig", vec![], [ - 23u8, 188u8, 70u8, 119u8, 36u8, 199u8, 230u8, 191u8, 131u8, 219u8, 85u8, - 201u8, 237u8, 70u8, 214u8, 149u8, 212u8, 94u8, 87u8, 87u8, 62u8, 16u8, - 46u8, 143u8, 73u8, 169u8, 42u8, 139u8, 157u8, 139u8, 190u8, 166u8, - ]) + ::subxt::storage::address::Address::new_static( + "Babe", + "EpochConfig", + vec![], + [ + 23u8, 188u8, 70u8, 119u8, 36u8, 199u8, 230u8, 191u8, 131u8, 219u8, + 85u8, 201u8, 237u8, 70u8, 214u8, 149u8, 212u8, 94u8, 87u8, 87u8, 62u8, + 16u8, 46u8, 143u8, 73u8, 169u8, 42u8, 139u8, 157u8, 139u8, 190u8, + 166u8, + ], + ) } #[doc = " The configuration for the next epoch, `None` if the config will not change"] @@ -3381,6 +3442,38 @@ pub mod api { ], ) } + + #[doc = " A list of the last 100 skipped epochs and the corresponding session index"] + #[doc = " when the epoch was skipped."] + #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof"] + #[doc = " must contains a key-ownership proof for a given session, therefore we need a"] + #[doc = " way to tie together sessions and epoch indices, i.e. we need to validate that"] + #[doc = " a validator was the owner of a given key on a given session, and what the"] + #[doc = " active epoch index was during that session."] + pub fn skipped_epochs( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec<( + ::core::primitive::u64, + ::core::primitive::u32, + )>, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + (), + > { + ::subxt::storage::address::Address::new_static( + "Babe", + "SkippedEpochs", + vec![], + [ + 120u8, 167u8, 144u8, 97u8, 41u8, 216u8, 103u8, 90u8, 3u8, 86u8, 196u8, + 35u8, 160u8, 150u8, 144u8, 233u8, 128u8, 35u8, 119u8, 66u8, 6u8, 63u8, + 114u8, 140u8, 182u8, 228u8, 192u8, 30u8, 50u8, 145u8, 217u8, 108u8, + ], + ) + } } } pub mod constants { @@ -3393,11 +3486,16 @@ pub mod api { pub fn epoch_duration( &self, ) -> ::subxt::constants::Address<::core::primitive::u64> { - ::subxt::constants::Address::new_static("Babe", "EpochDuration", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, 59u8, - 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, 103u8, 119u8, - 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, - ]) + ::subxt::constants::Address::new_static( + "Babe", + "EpochDuration", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) } #[doc = " The expected average block time at which BABE should be creating"] @@ -3408,29 +3506,39 @@ pub mod api { pub fn expected_block_time( &self, ) -> ::subxt::constants::Address<::core::primitive::u64> { - ::subxt::constants::Address::new_static("Babe", "ExpectedBlockTime", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, 59u8, - 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, 103u8, 119u8, - 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, - ]) + ::subxt::constants::Address::new_static( + "Babe", + "ExpectedBlockTime", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) } #[doc = " Max number of authorities allowed"] pub fn max_authorities( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Babe", "MaxAuthorities", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Babe", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod timestamp { use super::{root_mod, runtime_types}; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_timestamp::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -3461,28 +3569,18 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Set the current time."] - #[doc = ""] - #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] - #[doc = "phase, if this call hasn't been invoked by that time."] - #[doc = ""] - #[doc = "The timestamp should be greater than the previous one by the amount specified by"] - #[doc = "`MinimumPeriod`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `Inherent`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] - #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] - #[doc = " `on_finalize`)"] - #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] - #[doc = "# "] + #[doc = "See [`Pallet::set`]."] pub fn set(&self, now: ::core::primitive::u64) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Timestamp", "set", types::Set { now }, [ - 37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8, 199u8, - 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8, 200u8, 4u8, - 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8, - ]) + ::subxt::tx::Payload::new_static( + "Timestamp", + "set", + types::Set { now }, + [ + 37u8, 95u8, 49u8, 218u8, 24u8, 22u8, 0u8, 95u8, 72u8, 35u8, 155u8, + 199u8, 213u8, 54u8, 207u8, 22u8, 185u8, 193u8, 221u8, 70u8, 18u8, + 200u8, 4u8, 231u8, 195u8, 173u8, 6u8, 122u8, 11u8, 203u8, 231u8, 227u8, + ], + ) } } } @@ -3500,11 +3598,16 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Timestamp", "Now", vec![], [ - 44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8, - 92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8, - 141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8, - ]) + ::subxt::storage::address::Address::new_static( + "Timestamp", + "Now", + vec![], + [ + 44u8, 50u8, 80u8, 30u8, 195u8, 146u8, 123u8, 238u8, 8u8, 163u8, 187u8, + 92u8, 61u8, 39u8, 51u8, 29u8, 173u8, 169u8, 217u8, 158u8, 85u8, 187u8, + 141u8, 26u8, 12u8, 115u8, 51u8, 11u8, 200u8, 244u8, 138u8, 152u8, + ], + ) } #[doc = " Did the timestamp get updated in this block?"] @@ -3542,110 +3645,26 @@ pub mod api { pub fn minimum_period( &self, ) -> ::subxt::constants::Address<::core::primitive::u64> { - ::subxt::constants::Address::new_static("Timestamp", "MinimumPeriod", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, 59u8, - 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, 103u8, 119u8, - 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, - ]) - } - } - } - } - pub mod authorship { - use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] - pub type Error = runtime_types::pallet_authorship::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] - pub type Call = runtime_types::pallet_authorship::pallet::Call; - pub mod calls { - use super::{root_mod, runtime_types}; - type DispatchError = runtime_types::sp_runtime::DispatchError; - pub mod types { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetUncles { - pub new_uncles: ::std::vec::Vec< - runtime_types::avail_core::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - } - impl ::subxt::blocks::StaticExtrinsic for SetUncles { - const CALL: &'static str = "set_uncles"; - const PALLET: &'static str = "Authorship"; - } - } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Provide a set of uncles."] - pub fn set_uncles( - &self, - new_uncles: ::std::vec::Vec< - runtime_types::avail_core::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Authorship", - "set_uncles", - types::SetUncles { new_uncles }, + ::subxt::constants::Address::new_static( + "Timestamp", + "MinimumPeriod", [ - 6u8, 217u8, 65u8, 59u8, 11u8, 36u8, 246u8, 56u8, 153u8, 132u8, 177u8, - 92u8, 112u8, 6u8, 145u8, 75u8, 109u8, 185u8, 59u8, 171u8, 186u8, 129u8, - 160u8, 66u8, 214u8, 132u8, 185u8, 75u8, 131u8, 102u8, 149u8, 116u8, + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, ], ) } } } + } + pub mod authorship { + use super::{root_mod, runtime_types}; pub mod storage { use super::runtime_types; pub struct StorageApi; impl StorageApi { - #[doc = " Uncles"] - pub fn uncles( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_authorship::UncleEntryItem< - ::core::primitive::u32, - ::subxt::utils::H256, - ::subxt::utils::AccountId32, - >, - >, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Authorship", - "Uncles", - vec![], - [ - 249u8, 67u8, 80u8, 23u8, 191u8, 215u8, 207u8, 80u8, 195u8, 243u8, 12u8, - 196u8, 135u8, 67u8, 136u8, 123u8, 60u8, 134u8, 205u8, 104u8, 11u8, - 243u8, 176u8, 135u8, 182u8, 189u8, 134u8, 69u8, 128u8, 114u8, 94u8, - 73u8, - ], - ) - } - #[doc = " Author of current block."] pub fn author( &self, @@ -3668,55 +3687,14 @@ pub mod api { ], ) } - - #[doc = " Whether uncles were already set in this block."] - pub fn did_set_uncles( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::core::primitive::bool, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - (), - > { - ::subxt::storage::address::Address::new_static( - "Authorship", - "DidSetUncles", - vec![], - [ - 26u8, 145u8, 150u8, 110u8, 108u8, 168u8, 93u8, 237u8, 191u8, 236u8, - 44u8, 40u8, 210u8, 183u8, 126u8, 123u8, 103u8, 199u8, 248u8, 155u8, - 222u8, 188u8, 48u8, 227u8, 192u8, 4u8, 57u8, 146u8, 211u8, 229u8, - 154u8, 83u8, - ], - ) - } - } - } - pub mod constants { - use super::runtime_types; - pub struct ConstantsApi; - impl ConstantsApi { - #[doc = " The number of blocks back we should accept uncles."] - #[doc = " This means that we will deal with uncle-parents that are"] - #[doc = " `UncleGenerations + 1` before `now`."] - pub fn uncle_generations( - &self, - ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Authorship", "UncleGenerations", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) - } } } } pub mod indices { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_indices::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_indices::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -3838,55 +3816,24 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Assign an previously unassigned index."] - #[doc = ""] - #[doc = "Payment: `Deposit` is reserved from the sender account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `index`: the index to be claimed. This must not be in use."] - #[doc = ""] - #[doc = "Emits `IndexAssigned` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] + #[doc = "See [`Pallet::claim`]."] pub fn claim( &self, index: ::core::primitive::u32, ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Indices", "claim", types::Claim { index }, [ - 146u8, 58u8, 246u8, 135u8, 59u8, 90u8, 3u8, 5u8, 140u8, 169u8, 232u8, - 195u8, 11u8, 107u8, 36u8, 141u8, 118u8, 174u8, 160u8, 160u8, 19u8, 205u8, - 177u8, 193u8, 18u8, 102u8, 115u8, 31u8, 72u8, 29u8, 91u8, 235u8, - ]) + ::subxt::tx::Payload::new_static( + "Indices", + "claim", + types::Claim { index }, + [ + 146u8, 58u8, 246u8, 135u8, 59u8, 90u8, 3u8, 5u8, 140u8, 169u8, 232u8, + 195u8, 11u8, 107u8, 36u8, 141u8, 118u8, 174u8, 160u8, 160u8, 19u8, + 205u8, 177u8, 193u8, 18u8, 102u8, 115u8, 31u8, 72u8, 29u8, 91u8, 235u8, + ], + ) } - #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] - #[doc = "is effectively transferred to the new account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `index`: the index to be re-assigned. This must be owned by the sender."] - #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] - #[doc = ""] - #[doc = "Emits `IndexAssigned` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One transfer operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (recipient)"] - #[doc = " - Writes: Indices Accounts, System Account (recipient)"] - #[doc = "# "] + #[doc = "See [`Pallet::transfer`]."] pub fn transfer( &self, new: ::subxt::utils::MultiAddress< @@ -3908,56 +3855,25 @@ pub mod api { ) } - #[doc = "Free up an index owned by the sender."] - #[doc = ""] - #[doc = "Payment: Any previous deposit placed for the index is unreserved in the sender account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must own the index."] - #[doc = ""] - #[doc = "- `index`: the index to be freed. This must be owned by the sender."] - #[doc = ""] - #[doc = "Emits `IndexFreed` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] + #[doc = "See [`Pallet::free`]."] pub fn free( &self, index: ::core::primitive::u32, ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Indices", "free", types::Free { index }, [ - 241u8, 211u8, 234u8, 102u8, 189u8, 22u8, 209u8, 27u8, 8u8, 229u8, 80u8, - 227u8, 138u8, 252u8, 222u8, 111u8, 77u8, 201u8, 235u8, 51u8, 163u8, 247u8, - 13u8, 126u8, 216u8, 136u8, 57u8, 222u8, 56u8, 66u8, 215u8, 244u8, - ]) + ::subxt::tx::Payload::new_static( + "Indices", + "free", + types::Free { index }, + [ + 241u8, 211u8, 234u8, 102u8, 189u8, 22u8, 209u8, 27u8, 8u8, 229u8, 80u8, + 227u8, 138u8, 252u8, 222u8, 111u8, 77u8, 201u8, 235u8, 51u8, 163u8, + 247u8, 13u8, 126u8, 216u8, 136u8, 57u8, 222u8, 56u8, 66u8, 215u8, + 244u8, + ], + ) } - #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] - #[doc = "held, then any deposit is reimbursed to its current owner."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - #[doc = ""] - #[doc = "- `index`: the index to be (re-)assigned."] - #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] - #[doc = "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred."] - #[doc = ""] - #[doc = "Emits `IndexAssigned` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (original owner)"] - #[doc = " - Writes: Indices Accounts, System Account (original owner)"] - #[doc = "# "] + #[doc = "See [`Pallet::force_transfer`]."] pub fn force_transfer( &self, new: ::subxt::utils::MultiAddress< @@ -3980,24 +3896,7 @@ pub mod api { ) } - #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] - #[doc = "deposit."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must have a"] - #[doc = "non-frozen account `index`."] - #[doc = ""] - #[doc = "- `index`: the index to be frozen in place."] - #[doc = ""] - #[doc = "Emits `IndexFrozen` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one slash operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] + #[doc = "See [`Pallet::freeze`]."] pub fn freeze( &self, index: ::core::primitive::u32, @@ -4016,7 +3915,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_indices::pallet::Event; pub mod events { use super::runtime_types; @@ -4155,20 +4054,24 @@ pub mod api { impl ConstantsApi { #[doc = " The deposit needed for reserving an index."] pub fn deposit(&self) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Indices", "Deposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Indices", + "Deposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } } } } pub mod balances { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_balances::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_balances::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -4188,7 +4091,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Transfer { + pub struct TransferAllowDeath { pub dest: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, @@ -4196,8 +4099,8 @@ pub mod api { #[codec(compact)] pub value: ::core::primitive::u128, } - impl ::subxt::blocks::StaticExtrinsic for Transfer { - const CALL: &'static str = "transfer"; + impl ::subxt::blocks::StaticExtrinsic for TransferAllowDeath { + const CALL: &'static str = "transfer_allow_death"; const PALLET: &'static str = "Balances"; } #[derive( @@ -4213,7 +4116,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetBalance { + pub struct SetBalanceDeprecated { pub who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, @@ -4221,10 +4124,10 @@ pub mod api { #[codec(compact)] pub new_free: ::core::primitive::u128, #[codec(compact)] - pub new_reserved: ::core::primitive::u128, + pub old_reserved: ::core::primitive::u128, } - impl ::subxt::blocks::StaticExtrinsic for SetBalance { - const CALL: &'static str = "set_balance"; + impl ::subxt::blocks::StaticExtrinsic for SetBalanceDeprecated { + const CALL: &'static str = "set_balance_deprecated"; const PALLET: &'static str = "Balances"; } #[derive( @@ -4329,94 +4232,127 @@ pub mod api { const CALL: &'static str = "force_unreserve"; const PALLET: &'static str = "Balances"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpgradeAccounts { + pub who: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for UpgradeAccounts { + const CALL: &'static str = "upgrade_accounts"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Transfer { + pub dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub value: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for Transfer { + const CALL: &'static str = "transfer"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ForceSetBalance { + pub who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + pub new_free: ::core::primitive::u128, + } + impl ::subxt::blocks::StaticExtrinsic for ForceSetBalance { + const CALL: &'static str = "force_set_balance"; + const PALLET: &'static str = "Balances"; + } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Transfer some liquid free balance to another account."] - #[doc = ""] - #[doc = "`transfer` will set the `FreeBalance` of the sender and receiver."] - #[doc = "If the sender's account is below the existential deposit as a result"] - #[doc = "of the transfer, the account will be reaped."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] - #[doc = " types. See related functions below."] - #[doc = "- It contains a limited number of reads and writes internally and no complex"] - #[doc = " computation."] - #[doc = ""] - #[doc = "Related functions:"] - #[doc = ""] - #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] - #[doc = " - Transferring balances to accounts that did not exist before will cause"] - #[doc = " `T::OnNewAccount::on_new_account` to be called."] - #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] - #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] - #[doc = " that the transfer will not kill the origin account."] - #[doc = "---------------------------------"] - #[doc = "- Origin account is already in memory, so no DB operations for them."] - #[doc = "# "] - pub fn transfer( + #[doc = "See [`Pallet::transfer_allow_death`]."] + pub fn transfer_allow_death( &self, dest: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, value: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", - "transfer", - types::Transfer { dest, value }, + "transfer_allow_death", + types::TransferAllowDeath { dest, value }, [ - 78u8, 137u8, 180u8, 250u8, 225u8, 152u8, 150u8, 139u8, 30u8, 4u8, 57u8, - 241u8, 135u8, 108u8, 67u8, 239u8, 65u8, 13u8, 10u8, 205u8, 125u8, - 208u8, 237u8, 60u8, 18u8, 13u8, 232u8, 47u8, 47u8, 151u8, 79u8, 23u8, + 100u8, 112u8, 63u8, 118u8, 67u8, 47u8, 63u8, 58u8, 249u8, 180u8, 242u8, + 65u8, 237u8, 246u8, 118u8, 80u8, 181u8, 220u8, 5u8, 1u8, 144u8, 184u8, + 214u8, 24u8, 170u8, 165u8, 227u8, 142u8, 9u8, 43u8, 152u8, 101u8, ], ) } - #[doc = "Set the balances of a given account."] - #[doc = ""] - #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] - #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] - #[doc = "If the new free or reserved balance is below the existential deposit,"] - #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] - #[doc = ""] - #[doc = "The dispatch origin for this call is `root`."] - pub fn set_balance( + #[doc = "See [`Pallet::set_balance_deprecated`]."] + pub fn set_balance_deprecated( &self, who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, new_free: ::core::primitive::u128, - new_reserved: ::core::primitive::u128, - ) -> ::subxt::tx::Payload { + old_reserved: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Balances", - "set_balance", - types::SetBalance { + "set_balance_deprecated", + types::SetBalanceDeprecated { who, new_free, - new_reserved, + old_reserved, }, [ - 138u8, 168u8, 113u8, 210u8, 97u8, 109u8, 159u8, 154u8, 72u8, 91u8, - 161u8, 167u8, 136u8, 135u8, 79u8, 149u8, 126u8, 91u8, 178u8, 44u8, - 201u8, 4u8, 233u8, 90u8, 183u8, 84u8, 9u8, 170u8, 83u8, 63u8, 32u8, - 187u8, + 135u8, 204u8, 148u8, 253u8, 76u8, 20u8, 79u8, 5u8, 133u8, 232u8, 10u8, + 79u8, 199u8, 52u8, 199u8, 42u8, 124u8, 55u8, 82u8, 71u8, 102u8, 81u8, + 46u8, 101u8, 38u8, 183u8, 219u8, 188u8, 227u8, 255u8, 136u8, 124u8, ], ) } - #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] - #[doc = "specified."] - #[doc = "# "] - #[doc = "- Same as transfer, but additional read and write because the source account is not"] - #[doc = " assumed to be in the overlay."] - #[doc = "# "] + #[doc = "See [`Pallet::force_transfer`]."] pub fn force_transfer( &self, source: ::subxt::utils::MultiAddress< @@ -4446,12 +4382,7 @@ pub mod api { ) } - #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] - #[doc = "origin account."] - #[doc = ""] - #[doc = "99% of the time you want [`transfer`] instead."] - #[doc = ""] - #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + #[doc = "See [`Pallet::transfer_keep_alive`]."] pub fn transfer_keep_alive( &self, dest: ::subxt::utils::MultiAddress< @@ -4472,23 +4403,7 @@ pub mod api { ) } - #[doc = "Transfer the entire transferable balance from the caller account."] - #[doc = ""] - #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] - #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] - #[doc = "transferred by this function. To ensure that this function results in a killed account,"] - #[doc = "you might need to prepare the account by removing any reference counters, storage"] - #[doc = "deposits, etc..."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be Signed."] - #[doc = ""] - #[doc = "- `dest`: The recipient of the transfer."] - #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] - #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] - #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true). # "] - #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] - #[doc = " #"] + #[doc = "See [`Pallet::transfer_all`]."] pub fn transfer_all( &self, dest: ::subxt::utils::MultiAddress< @@ -4510,9 +4425,7 @@ pub mod api { ) } - #[doc = "Unreserve some balance from a user by force."] - #[doc = ""] - #[doc = "Can only be called by ROOT."] + #[doc = "See [`Pallet::force_unreserve`]."] pub fn force_unreserve( &self, who: ::subxt::utils::MultiAddress< @@ -4533,26 +4446,85 @@ pub mod api { ], ) } - } - } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] - pub type Event = runtime_types::pallet_balances::pallet::Event; - pub mod events { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "An account was created with some free balance."] + + #[doc = "See [`Pallet::upgrade_accounts`]."] + pub fn upgrade_accounts( + &self, + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "upgrade_accounts", + types::UpgradeAccounts { who }, + [ + 66u8, 200u8, 179u8, 104u8, 65u8, 2u8, 101u8, 56u8, 130u8, 161u8, 224u8, + 233u8, 255u8, 124u8, 70u8, 122u8, 8u8, 49u8, 103u8, 178u8, 68u8, 47u8, + 214u8, 166u8, 217u8, 116u8, 178u8, 50u8, 212u8, 164u8, 98u8, 226u8, + ], + ) + } + + #[doc = "See [`Pallet::transfer`]."] + pub fn transfer( + &self, + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + value: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "transfer", + types::Transfer { dest, value }, + [ + 78u8, 137u8, 180u8, 250u8, 225u8, 152u8, 150u8, 139u8, 30u8, 4u8, 57u8, + 241u8, 135u8, 108u8, 67u8, 239u8, 65u8, 13u8, 10u8, 205u8, 125u8, + 208u8, 237u8, 60u8, 18u8, 13u8, 232u8, 47u8, 47u8, 151u8, 79u8, 23u8, + ], + ) + } + + #[doc = "See [`Pallet::force_set_balance`]."] + pub fn force_set_balance( + &self, + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + new_free: ::core::primitive::u128, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Balances", + "force_set_balance", + types::ForceSetBalance { who, new_free }, + [ + 171u8, 138u8, 53u8, 85u8, 202u8, 35u8, 151u8, 115u8, 143u8, 67u8, 81u8, + 25u8, 250u8, 108u8, 179u8, 46u8, 194u8, 23u8, 169u8, 223u8, 6u8, 179u8, + 240u8, 4u8, 26u8, 9u8, 229u8, 29u8, 248u8, 6u8, 23u8, 232u8, + ], + ) + } + } + } + #[doc = "The `Event` enum of this pallet"] + pub type Event = runtime_types::pallet_balances::pallet::Event; + pub mod events { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was created with some free balance."] pub struct Endowed { pub account: ::subxt::utils::AccountId32, pub free_balance: ::core::primitive::u128, @@ -4624,7 +4596,6 @@ pub mod api { pub struct BalanceSet { pub who: ::subxt::utils::AccountId32, pub free: ::core::primitive::u128, - pub reserved: ::core::primitive::u128, } impl ::subxt::events::StaticEvent for BalanceSet { const EVENT: &'static str = "BalanceSet"; @@ -4766,6 +4737,247 @@ pub mod api { const EVENT: &'static str = "Slashed"; const PALLET: &'static str = "Balances"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was minted into an account."] + pub struct Minted { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Minted { + const EVENT: &'static str = "Minted"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was burned from an account."] + pub struct Burned { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Burned { + const EVENT: &'static str = "Burned"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + pub struct Suspended { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Suspended { + const EVENT: &'static str = "Suspended"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some amount was restored into an account."] + pub struct Restored { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Restored { + const EVENT: &'static str = "Restored"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "An account was upgraded."] + pub struct Upgraded { + pub who: ::subxt::utils::AccountId32, + } + impl ::subxt::events::StaticEvent for Upgraded { + const EVENT: &'static str = "Upgraded"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + pub struct Issued { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Issued { + const EVENT: &'static str = "Issued"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + pub struct Rescinded { + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Rescinded { + const EVENT: &'static str = "Rescinded"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was locked."] + pub struct Locked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Locked { + const EVENT: &'static str = "Locked"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was unlocked."] + pub struct Unlocked { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Unlocked { + const EVENT: &'static str = "Unlocked"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was frozen."] + pub struct Frozen { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Frozen { + const EVENT: &'static str = "Frozen"; + const PALLET: &'static str = "Balances"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Some balance was thawed."] + pub struct Thawed { + pub who: ::subxt::utils::AccountId32, + pub amount: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for Thawed { + const EVENT: &'static str = "Thawed"; + const PALLET: &'static str = "Balances"; + } } pub mod storage { use super::runtime_types; @@ -4845,7 +5057,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -4857,9 +5069,10 @@ pub mod api { _0.borrow(), )], [ - 135u8, 46u8, 233u8, 118u8, 128u8, 96u8, 33u8, 62u8, 99u8, 65u8, 196u8, - 52u8, 103u8, 125u8, 58u8, 185u8, 185u8, 203u8, 8u8, 56u8, 49u8, 196u8, - 140u8, 246u8, 196u8, 141u8, 232u8, 245u8, 26u8, 164u8, 193u8, 149u8, + 47u8, 253u8, 83u8, 165u8, 18u8, 176u8, 62u8, 239u8, 78u8, 85u8, 231u8, + 235u8, 157u8, 145u8, 251u8, 35u8, 225u8, 171u8, 82u8, 167u8, 68u8, + 206u8, 28u8, 169u8, 8u8, 93u8, 169u8, 101u8, 180u8, 206u8, 231u8, + 143u8, ], ) } @@ -4892,7 +5105,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_balances::AccountData<::core::primitive::u128>, + runtime_types::pallet_balances::types::AccountData<::core::primitive::u128>, (), ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -4902,9 +5115,10 @@ pub mod api { "Account", Vec::new(), [ - 135u8, 46u8, 233u8, 118u8, 128u8, 96u8, 33u8, 62u8, 99u8, 65u8, 196u8, - 52u8, 103u8, 125u8, 58u8, 185u8, 185u8, 203u8, 8u8, 56u8, 49u8, 196u8, - 140u8, 246u8, 196u8, 141u8, 232u8, 245u8, 26u8, 164u8, 193u8, 149u8, + 47u8, 253u8, 83u8, 165u8, 18u8, 176u8, 62u8, 239u8, 78u8, 85u8, 231u8, + 235u8, 157u8, 145u8, 251u8, 35u8, 225u8, 171u8, 82u8, 167u8, 68u8, + 206u8, 28u8, 169u8, 8u8, 93u8, 169u8, 101u8, 180u8, 206u8, 231u8, + 143u8, ], ) } @@ -4916,8 +5130,8 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -4943,8 +5157,8 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - runtime_types::pallet_balances::BalanceLock<::core::primitive::u128>, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< + runtime_types::pallet_balances::types::BalanceLock<::core::primitive::u128>, >, (), ::subxt::storage::address::Yes, @@ -4968,8 +5182,8 @@ pub mod api { _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_balances::ReserveData< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< [::core::primitive::u8; 8usize], ::core::primitive::u128, >, @@ -4998,8 +5212,8 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - runtime_types::pallet_balances::ReserveData< + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::ReserveData< [::core::primitive::u8; 8usize], ::core::primitive::u128, >, @@ -5020,47 +5234,210 @@ pub mod api { ], ) } + + #[doc = " Holds on account balances."] + pub fn holds( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + runtime_types::da_runtime::RuntimeHoldReason, + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 37u8, 176u8, 2u8, 18u8, 109u8, 26u8, 66u8, 81u8, 28u8, 104u8, 149u8, + 117u8, 119u8, 114u8, 196u8, 35u8, 172u8, 155u8, 66u8, 195u8, 98u8, + 37u8, 134u8, 22u8, 106u8, 221u8, 215u8, 97u8, 25u8, 28u8, 21u8, 206u8, + ], + ) + } + + #[doc = " Holds on account balances."] + pub fn holds_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + runtime_types::da_runtime::RuntimeHoldReason, + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Holds", + Vec::new(), + [ + 37u8, 176u8, 2u8, 18u8, 109u8, 26u8, 66u8, 81u8, 28u8, 104u8, 149u8, + 117u8, 119u8, 114u8, 196u8, 35u8, 172u8, 155u8, 66u8, 195u8, 98u8, + 37u8, 134u8, 22u8, 106u8, 221u8, 215u8, 97u8, 25u8, 28u8, 21u8, 206u8, + ], + ) + } + + #[doc = " Freeze locks on account balances."] + pub fn freezes( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, + 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, + 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, + ], + ) + } + + #[doc = " Freeze locks on account balances."] + pub fn freezes_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + runtime_types::pallet_balances::types::IdAmount< + (), + ::core::primitive::u128, + >, + >, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Balances", + "Freezes", + Vec::new(), + [ + 69u8, 49u8, 165u8, 76u8, 135u8, 142u8, 179u8, 118u8, 50u8, 109u8, 53u8, + 112u8, 110u8, 94u8, 30u8, 93u8, 173u8, 38u8, 27u8, 142u8, 19u8, 5u8, + 163u8, 4u8, 68u8, 218u8, 179u8, 224u8, 118u8, 218u8, 115u8, 64u8, + ], + ) + } } } pub mod constants { use super::runtime_types; pub struct ConstantsApi; impl ConstantsApi { - #[doc = " The minimum amount required to keep an account open."] + #[doc = " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!"] + #[doc = ""] + #[doc = " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for"] + #[doc = " this pallet. However, you do so at your own risk: this will open up a major DoS vector."] + #[doc = " In case you have multiple sources of provider references, you may also get unexpected"] + #[doc = " behaviour if you set this to zero."] + #[doc = ""] + #[doc = " Bottom line: Do yourself a favour and make it at least one!"] pub fn existential_deposit( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Balances", "ExistentialDeposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Balances", + "ExistentialDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The maximum number of locks that should exist on an account."] #[doc = " Not strictly enforced, but used for weight estimation."] pub fn max_locks(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Balances", "MaxLocks", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Balances", + "MaxLocks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of named reserves that can exist on an account."] pub fn max_reserves(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Balances", "MaxReserves", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Balances", + "MaxReserves", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + + #[doc = " The maximum number of holds that can exist on an account at any time."] + pub fn max_holds(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxHolds", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + + #[doc = " The maximum number of individual freeze locks that can exist on an account at any time."] + pub fn max_freezes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Balances", + "MaxFreezes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod transaction_payment { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_transaction_payment::pallet::Event; pub mod events { use super::runtime_types; @@ -5184,7 +5561,7 @@ pub mod api { use super::{root_mod, runtime_types}; #[doc = "Error of the pallet that can be returned in response to dispatches."] pub type Error = runtime_types::pallet_election_provider_multi_phase::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_election_provider_multi_phase::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -5307,22 +5684,9 @@ pub mod api { const PALLET: &'static str = "ElectionProviderMultiPhase"; } } - pub struct TransactionApi; - impl TransactionApi { - #[doc = "Submit a solution for the unsigned phase."] - #[doc = ""] - #[doc = "The dispatch origin fo this call must be __none__."] - #[doc = ""] - #[doc = "This submission is checked on the fly. Moreover, this unsigned solution is only"] - #[doc = "validated when submitted to the pool from the **local** node. Effectively, this means"] - #[doc = "that only active validators can submit this transaction when authoring a block (similar"] - #[doc = "to an inherent)."] - #[doc = ""] - #[doc = "To prevent any incorrect solution (and thus wasted time/weight), this transaction will"] - #[doc = "panic if the solution submitted by the validator is invalid in any way, effectively"] - #[doc = "putting their authoring reward at risk."] - #[doc = ""] - #[doc = "No deposit or reward is associated with this submission."] + pub struct TransactionApi; + impl TransactionApi { + #[doc = "See [`Pallet::submit_unsigned`]."] pub fn submit_unsigned( &self, raw_solution: runtime_types::pallet_election_provider_multi_phase::RawSolution< @@ -5345,11 +5709,7 @@ pub mod api { ) } - #[doc = "Set a new value for `MinimumUntrustedScore`."] - #[doc = ""] - #[doc = "Dispatch origin must be aligned with `T::ForceOrigin`."] - #[doc = ""] - #[doc = "This check can be turned off by setting the value to `None`."] + #[doc = "See [`Pallet::set_minimum_untrusted_score`]."] pub fn set_minimum_untrusted_score( &self, maybe_next_score: ::core::option::Option< @@ -5369,14 +5729,7 @@ pub mod api { ) } - #[doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] - #[doc = "call to `ElectionProvider::elect`."] - #[doc = ""] - #[doc = "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`."] - #[doc = ""] - #[doc = "The solution is not checked for any feasibility and is assumed to be trustworthy, as any"] - #[doc = "feasibility check itself can in principle cause the election process to fail (due to"] - #[doc = "memory/weight constrains)."] + #[doc = "See [`Pallet::set_emergency_election_result`]."] pub fn set_emergency_election_result( &self, supports: ::std::vec::Vec<( @@ -5396,15 +5749,7 @@ pub mod api { ) } - #[doc = "Submit a solution for the signed phase."] - #[doc = ""] - #[doc = "The dispatch origin fo this call must be __signed__."] - #[doc = ""] - #[doc = "The solution is potentially queued, based on the claimed score and processed at the end"] - #[doc = "of the signed phase."] - #[doc = ""] - #[doc = "A deposit is reserved and recorded for the solution. Based on the outcome, the solution"] - #[doc = "might be rewarded, slashed, or get all or a part of the deposit back."] + #[doc = "See [`Pallet::submit`]."] pub fn submit( &self, raw_solution: runtime_types::pallet_election_provider_multi_phase::RawSolution< @@ -5425,10 +5770,7 @@ pub mod api { ) } - #[doc = "Trigger the governance fallback."] - #[doc = ""] - #[doc = "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to"] - #[doc = "calling [`Call::set_emergency_election_result`]."] + #[doc = "See [`Pallet::governance_fallback`]."] pub fn governance_fallback( &self, maybe_max_voters: ::core::option::Option<::core::primitive::u32>, @@ -5451,7 +5793,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_election_provider_multi_phase::pallet::Event; pub mod events { use super::runtime_types; @@ -5655,6 +5997,8 @@ pub mod api { } #[doc = " Current best solution, signed or unsigned, queued to be returned upon `elect`."] + #[doc = ""] + #[doc = " Always sorted by score."] pub fn queued_solution( &self, ) -> ::subxt::storage::address::Address< @@ -5684,7 +6028,16 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::pallet_election_provider_multi_phase::RoundSnapshot, + runtime_types::pallet_election_provider_multi_phase::RoundSnapshot< + ::subxt::utils::AccountId32, + ( + ::subxt::utils::AccountId32, + ::core::primitive::u64, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::AccountId32, + >, + ), + >, ::subxt::storage::address::Yes, (), (), @@ -5791,7 +6144,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + runtime_types::bounded_collections::bounded_vec::BoundedVec<( runtime_types::sp_npos_elections::ElectionScore, ::core::primitive::u32, ::core::primitive::u32, @@ -6220,14 +6573,29 @@ pub mod api { ], ) } + + pub fn miner_max_winners( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "ElectionProviderMultiPhase", + "MinerMaxWinners", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } } } } pub mod staking { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_staking::pallet::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_staking::pallet::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -6248,10 +6616,6 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Bond { - pub controller: ::subxt::utils::MultiAddress< - ::subxt::utils::AccountId32, - ::core::primitive::u32, - >, #[codec(compact)] pub value: ::core::primitive::u128, pub payee: runtime_types::pallet_staking::RewardDestination< @@ -6423,12 +6787,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetController { - pub controller: ::subxt::utils::MultiAddress< - ::subxt::utils::AccountId32, - ::core::primitive::u32, - >, - } + pub struct SetController; impl ::subxt::blocks::StaticExtrinsic for SetController { const CALL: &'static str = "set_controller"; const PALLET: &'static str = "Staking"; @@ -6801,29 +7160,9 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] - #[doc = "be the account that controls it."] - #[doc = ""] - #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] - #[doc = ""] - #[doc = "Emits `Bonded`."] - #[doc = "# "] - #[doc = "- Independent of the arguments. Moderate complexity."] - #[doc = "- O(1)."] - #[doc = "- Three extra DB entries."] - #[doc = ""] - #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] - #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] - #[doc = "------------------"] - #[doc = "# "] + #[doc = "See [`Pallet::bond`]."] pub fn bond( &self, - controller: ::subxt::utils::MultiAddress< - ::subxt::utils::AccountId32, - ::core::primitive::u32, - >, value: ::core::primitive::u128, payee: runtime_types::pallet_staking::RewardDestination< ::subxt::utils::AccountId32, @@ -6832,35 +7171,16 @@ pub mod api { ::subxt::tx::Payload::new_static( "Staking", "bond", - types::Bond { - controller, - value, - payee, - }, + types::Bond { value, payee }, [ - 122u8, 113u8, 66u8, 155u8, 72u8, 243u8, 227u8, 93u8, 181u8, 164u8, - 134u8, 177u8, 78u8, 84u8, 252u8, 232u8, 129u8, 228u8, 79u8, 158u8, - 23u8, 9u8, 17u8, 156u8, 202u8, 134u8, 167u8, 169u8, 44u8, 82u8, 166u8, - 158u8, + 45u8, 207u8, 34u8, 221u8, 252u8, 224u8, 162u8, 185u8, 67u8, 224u8, + 88u8, 91u8, 232u8, 114u8, 183u8, 44u8, 39u8, 5u8, 12u8, 163u8, 57u8, + 31u8, 251u8, 58u8, 37u8, 232u8, 206u8, 75u8, 164u8, 26u8, 170u8, 101u8, ], ) } - #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] - #[doc = "for staking."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] - #[doc = ""] - #[doc = "Use this if there are additional funds in your stash account that you wish to bond."] - #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"] - #[doc = "any limitation on the amount that can be added."] - #[doc = ""] - #[doc = "Emits `Bonded`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::bond_extra`]."] pub fn bond_extra( &self, max_additional: ::core::primitive::u128, @@ -6877,25 +7197,7 @@ pub mod api { ) } - #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] - #[doc = "period ends. If this leaves an amount actively bonded less than"] - #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] - #[doc = "the funds out of management ready for transfer."] - #[doc = ""] - #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] - #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] - #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] - #[doc = ""] - #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] - #[doc = "they should call `chill` first in order to free up their bonded funds."] - #[doc = ""] - #[doc = "Emits `Unbonded`."] - #[doc = ""] - #[doc = "See also [`Call::withdraw_unbonded`]."] + #[doc = "See [`Pallet::unbond`]."] pub fn unbond( &self, value: ::core::primitive::u128, @@ -6912,21 +7214,7 @@ pub mod api { ) } - #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] - #[doc = ""] - #[doc = "This essentially frees up that balance to be used by the stash account to do"] - #[doc = "whatever it wants."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller."] - #[doc = ""] - #[doc = "Emits `Withdrawn`."] - #[doc = ""] - #[doc = "See also [`Call::unbond`]."] - #[doc = ""] - #[doc = "# "] - #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] - #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] - #[doc = "# "] + #[doc = "See [`Pallet::withdraw_unbonded`]."] pub fn withdraw_unbonded( &self, num_slashing_spans: ::core::primitive::u32, @@ -6944,11 +7232,7 @@ pub mod api { ) } - #[doc = "Declare the desire to validate for the origin controller."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = "See [`Pallet::validate`]."] pub fn validate( &self, prefs: runtime_types::pallet_staking::ValidatorPrefs, @@ -6965,17 +7249,7 @@ pub mod api { ) } - #[doc = "Declare the desire to nominate `targets` for the origin controller."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "# "] - #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] - #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] - #[doc = "- Both the reads and writes follow a similar pattern."] - #[doc = "# "] + #[doc = "See [`Pallet::nominate`]."] pub fn nominate( &self, targets: ::std::vec::Vec< @@ -6998,41 +7272,21 @@ pub mod api { ) } - #[doc = "Declare no desire to either validate or nominate."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- Contains one read."] - #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "# "] + #[doc = "See [`Pallet::chill`]."] pub fn chill(&self) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Staking", "chill", types::Chill {}, [ - 157u8, 75u8, 243u8, 69u8, 110u8, 192u8, 22u8, 27u8, 107u8, 68u8, 236u8, - 58u8, 179u8, 34u8, 118u8, 98u8, 131u8, 62u8, 242u8, 84u8, 149u8, 24u8, - 83u8, 223u8, 78u8, 12u8, 192u8, 22u8, 111u8, 11u8, 171u8, 149u8, - ]) + ::subxt::tx::Payload::new_static( + "Staking", + "chill", + types::Chill {}, + [ + 157u8, 75u8, 243u8, 69u8, 110u8, 192u8, 22u8, 27u8, 107u8, 68u8, 236u8, + 58u8, 179u8, 34u8, 118u8, 98u8, 131u8, 62u8, 242u8, 84u8, 149u8, 24u8, + 83u8, 223u8, 78u8, 12u8, 192u8, 22u8, 111u8, 11u8, 171u8, 149u8, + ], + ) } - #[doc = "(Re-)set the payment target for a controller."] - #[doc = ""] - #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- Contains a limited number of reads."] - #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "---------"] - #[doc = "- Weight: O(1)"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Ledger"] - #[doc = " - Write: Payee"] - #[doc = "# "] + #[doc = "See [`Pallet::set_payee`]."] pub fn set_payee( &self, payee: runtime_types::pallet_staking::RewardDestination< @@ -7052,50 +7306,22 @@ pub mod api { ) } - #[doc = "(Re-)set the controller of a stash."] - #[doc = ""] - #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- Contains a limited number of reads."] - #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "----------"] - #[doc = "Weight: O(1)"] - #[doc = "DB Weight:"] - #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "# "] - pub fn set_controller( - &self, - controller: ::subxt::utils::MultiAddress< - ::subxt::utils::AccountId32, - ::core::primitive::u32, - >, - ) -> ::subxt::tx::Payload { + #[doc = "See [`Pallet::set_controller`]."] + pub fn set_controller(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", "set_controller", - types::SetController { controller }, + types::SetController {}, [ - 247u8, 209u8, 151u8, 119u8, 208u8, 41u8, 100u8, 77u8, 251u8, 116u8, - 185u8, 248u8, 30u8, 94u8, 240u8, 139u8, 155u8, 102u8, 25u8, 237u8, - 64u8, 215u8, 84u8, 205u8, 152u8, 214u8, 233u8, 47u8, 233u8, 108u8, - 86u8, 99u8, + 172u8, 27u8, 195u8, 188u8, 145u8, 203u8, 190u8, 174u8, 145u8, 43u8, + 253u8, 87u8, 11u8, 229u8, 112u8, 18u8, 57u8, 101u8, 84u8, 235u8, 109u8, + 228u8, 58u8, 129u8, 179u8, 174u8, 245u8, 169u8, 89u8, 240u8, 39u8, + 67u8, ], ) } - #[doc = "Sets the ideal number of validators."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# "] - #[doc = "Weight: O(1)"] - #[doc = "Write: Validator Count"] - #[doc = "# "] + #[doc = "See [`Pallet::set_validator_count`]."] pub fn set_validator_count( &self, new: ::core::primitive::u32, @@ -7113,14 +7339,7 @@ pub mod api { ) } - #[doc = "Increments the ideal number of validators upto maximum of"] - #[doc = "`ElectionProviderBase::MaxWinners`."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] + #[doc = "See [`Pallet::increase_validator_count`]."] pub fn increase_validator_count( &self, additional: ::core::primitive::u32, @@ -7138,14 +7357,7 @@ pub mod api { ) } - #[doc = "Scale up the ideal number of validators by a factor upto maximum of"] - #[doc = "`ElectionProviderBase::MaxWinners`."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] + #[doc = "See [`Pallet::scale_validator_count`]."] pub fn scale_validator_count( &self, factor: runtime_types::sp_arithmetic::per_things::Percent, @@ -7163,21 +7375,7 @@ pub mod api { ) } - #[doc = "Force there to be no new eras indefinitely."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# Warning"] - #[doc = ""] - #[doc = "The election process starts multiple blocks before the end of the era."] - #[doc = "Thus the election process may be ongoing when this is called. In this case the"] - #[doc = "election will continue until the next era is triggered."] - #[doc = ""] - #[doc = "# "] - #[doc = "- No arguments."] - #[doc = "- Weight: O(1)"] - #[doc = "- Write: ForceEra"] - #[doc = "# "] + #[doc = "See [`Pallet::force_no_eras`]."] pub fn force_no_eras(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", @@ -7192,22 +7390,7 @@ pub mod api { ) } - #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] - #[doc = "reset to normal (non-forced) behaviour."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# Warning"] - #[doc = ""] - #[doc = "The election process starts multiple blocks before the end of the era."] - #[doc = "If this is called just before a new era is triggered, the election process may not"] - #[doc = "have enough blocks to get a result."] - #[doc = ""] - #[doc = "# "] - #[doc = "- No arguments."] - #[doc = "- Weight: O(1)"] - #[doc = "- Write ForceEra"] - #[doc = "# "] + #[doc = "See [`Pallet::force_new_era`]."] pub fn force_new_era(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Staking", @@ -7221,9 +7404,7 @@ pub mod api { ) } - #[doc = "Set the validators who cannot be slashed (if any)."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] + #[doc = "See [`Pallet::set_invulnerables`]."] pub fn set_invulnerables( &self, invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -7240,9 +7421,7 @@ pub mod api { ) } - #[doc = "Force a current staker to become completely unstaked, immediately."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] + #[doc = "See [`Pallet::force_unstake`]."] pub fn force_unstake( &self, stash: ::subxt::utils::AccountId32, @@ -7263,15 +7442,7 @@ pub mod api { ) } - #[doc = "Force there to be a new era at the end of sessions indefinitely."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# Warning"] - #[doc = ""] - #[doc = "The election process starts multiple blocks before the end of the era."] - #[doc = "If this is called just before a new era is triggered, the election process may not"] - #[doc = "have enough blocks to get a result."] + #[doc = "See [`Pallet::force_new_era_always`]."] pub fn force_new_era_always( &self, ) -> ::subxt::tx::Payload { @@ -7287,11 +7458,7 @@ pub mod api { ) } - #[doc = "Cancel enactment of a deferred slash."] - #[doc = ""] - #[doc = "Can be called by the `T::AdminOrigin`."] - #[doc = ""] - #[doc = "Parameters: era and indices of the slashes for that era to kill."] + #[doc = "See [`Pallet::cancel_deferred_slash`]."] pub fn cancel_deferred_slash( &self, era: ::core::primitive::u32, @@ -7310,27 +7477,7 @@ pub mod api { ) } - #[doc = "Pay out all the stakers behind a single validator for a single era."] - #[doc = ""] - #[doc = "- `validator_stash` is the stash account of the validator. Their nominators, up to"] - #[doc = " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards."] - #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."] - #[doc = ""] - #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] - #[doc = "it is not one of the stakers."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] - #[doc = "- Contains a limited number of reads and writes."] - #[doc = "-----------"] - #[doc = "N is the Number of payouts for the validator (including the validator)"] - #[doc = "Weight:"] - #[doc = "- Reward Destination Staked: O(N)"] - #[doc = "- Reward Destination Controller (Creating): O(N)"] - #[doc = ""] - #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] - #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] - #[doc = "# "] + #[doc = "See [`Pallet::payout_stakers`]."] pub fn payout_stakers( &self, validator_stash: ::subxt::utils::AccountId32, @@ -7351,15 +7498,7 @@ pub mod api { ) } - #[doc = "Rebond a portion of the stash scheduled to be unlocked."] - #[doc = ""] - #[doc = "The dispatch origin must be signed by the controller."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Time complexity: O(L), where L is unlocking chunks"] - #[doc = "- Bounded by `MaxUnlockingChunks`."] - #[doc = "- Storage changes: Can't increase storage, only decrease it."] - #[doc = "# "] + #[doc = "See [`Pallet::rebond`]."] pub fn rebond( &self, value: ::core::primitive::u128, @@ -7376,18 +7515,7 @@ pub mod api { ) } - #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] - #[doc = "be considered `dust` in the staking system. The requirements are:"] - #[doc = ""] - #[doc = "1. the `total_balance` of the stash is below existential deposit."] - #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] - #[doc = ""] - #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] - #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] - #[doc = ""] - #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] - #[doc = ""] - #[doc = "Refunds the transaction fees upon successful execution."] + #[doc = "See [`Pallet::reap_stash`]."] pub fn reap_stash( &self, stash: ::subxt::utils::AccountId32, @@ -7408,17 +7536,7 @@ pub mod api { ) } - #[doc = "Remove the given nominations from the calling validator."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] - #[doc = " should no longer be nominating this validator."] - #[doc = ""] - #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] - #[doc = "block any further nominations."] + #[doc = "See [`Pallet::kick`]."] pub fn kick( &self, who: ::std::vec::Vec< @@ -7428,30 +7546,19 @@ pub mod api { >, >, ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Staking", "kick", types::Kick { who }, [ - 28u8, 254u8, 219u8, 14u8, 44u8, 187u8, 186u8, 72u8, 55u8, 21u8, 129u8, - 205u8, 225u8, 204u8, 162u8, 53u8, 255u8, 56u8, 49u8, 194u8, 63u8, 43u8, - 96u8, 177u8, 125u8, 0u8, 163u8, 97u8, 231u8, 159u8, 43u8, 249u8, - ]) + ::subxt::tx::Payload::new_static( + "Staking", + "kick", + types::Kick { who }, + [ + 28u8, 254u8, 219u8, 14u8, 44u8, 187u8, 186u8, 72u8, 55u8, 21u8, 129u8, + 205u8, 225u8, 204u8, 162u8, 53u8, 255u8, 56u8, 49u8, 194u8, 63u8, 43u8, + 96u8, 177u8, 125u8, 0u8, 163u8, 97u8, 231u8, 159u8, 43u8, 249u8, + ], + ) } - #[doc = "Update the various staking configurations ."] - #[doc = ""] - #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] - #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] - #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] - #[doc = " set to `None`, no limit is enforced."] - #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] - #[doc = " set to `None`, no limit is enforced."] - #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] - #[doc = " should be filled in order for the `chill_other` transaction to work."] - #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] - #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] - #[doc = ""] - #[doc = "RuntimeOrigin must be Root to call this function."] - #[doc = ""] - #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] - #[doc = "to kick people under the new limits, `chill_other` should be called."] + #[doc = "See [`Pallet::set_staking_configs`]."] pub fn set_staking_configs( &self, min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< @@ -7493,32 +7600,7 @@ pub mod api { ) } - #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] - #[doc = ""] - #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] - #[doc = "enforced, and this function behaves just like `chill`."] - #[doc = ""] - #[doc = "If the caller is different than the controller being targeted, the following conditions"] - #[doc = "must be met:"] - #[doc = ""] - #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] - #[doc = ""] - #[doc = "Or:"] - #[doc = ""] - #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] - #[doc = " nominators or validators we must reach before users can start chilling one-another."] - #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] - #[doc = " how close we are to the threshold."] - #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] - #[doc = " if this is a person that should be chilled because they have not met the threshold"] - #[doc = " bond required."] - #[doc = ""] - #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] - #[doc = "who do not satisfy these requirements."] + #[doc = "See [`Pallet::chill_other`]."] pub fn chill_other( &self, controller: ::subxt::utils::AccountId32, @@ -7535,9 +7617,7 @@ pub mod api { ) } - #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] - #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] - #[doc = "can call this."] + #[doc = "See [`Pallet::force_apply_min_commission`]."] pub fn force_apply_min_commission( &self, validator_stash: ::subxt::utils::AccountId32, @@ -7554,10 +7634,7 @@ pub mod api { ) } - #[doc = "Sets the minimum amount of commission that each validators must maintain."] - #[doc = ""] - #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] - #[doc = "by the `T::AdminOrigin`. Root can always call this."] + #[doc = "See [`Pallet::set_min_commission`]."] pub fn set_min_commission( &self, new: runtime_types::sp_arithmetic::per_things::Perbill, @@ -7576,7 +7653,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_staking::pallet::pallet::Event; pub mod events { use super::runtime_types; @@ -8926,11 +9003,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Staking", "ForceEra", vec![], [ - 177u8, 148u8, 73u8, 108u8, 136u8, 126u8, 89u8, 18u8, 124u8, 66u8, 30u8, - 102u8, 133u8, 164u8, 78u8, 214u8, 184u8, 163u8, 75u8, 164u8, 117u8, 233u8, - 209u8, 158u8, 99u8, 208u8, 21u8, 194u8, 152u8, 82u8, 16u8, 222u8, - ]) + ::subxt::storage::address::Address::new_static( + "Staking", + "ForceEra", + vec![], + [ + 177u8, 148u8, 73u8, 108u8, 136u8, 126u8, 89u8, 18u8, 124u8, 66u8, 30u8, + 102u8, 133u8, 164u8, 78u8, 214u8, 184u8, 163u8, 75u8, 164u8, 117u8, + 233u8, 209u8, 158u8, 99u8, 208u8, 21u8, 194u8, 152u8, 82u8, 16u8, + 222u8, + ], + ) } #[doc = " The percentage of the slash that is distributed to reporters."] @@ -9361,11 +9444,16 @@ pub mod api { pub fn max_nominations( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Staking", "MaxNominations", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Staking", + "MaxNominations", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Number of eras to keep in history."] @@ -9389,33 +9477,48 @@ pub mod api { #[doc = " `StakingLedger` and will need to be handled properly in a migration."] #[doc = " The test `reducing_history_depth_abrupt` shows this effect."] pub fn history_depth(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Staking", "HistoryDepth", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Staking", + "HistoryDepth", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Number of sessions per era."] pub fn sessions_per_era( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Staking", "SessionsPerEra", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Staking", + "SessionsPerEra", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Number of eras that staked funds must remain bonded for."] pub fn bonding_duration( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Staking", "BondingDuration", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Staking", + "BondingDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Number of eras that slashes are deferred by, after computation."] @@ -9425,11 +9528,16 @@ pub mod api { pub fn slash_defer_duration( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Staking", "SlashDeferDuration", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Staking", + "SlashDeferDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of nominators rewarded for each validator."] @@ -9464,11 +9572,16 @@ pub mod api { pub fn max_unlocking_chunks( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Staking", "MaxUnlockingChunks", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Staking", + "MaxUnlockingChunks", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } @@ -9477,7 +9590,7 @@ pub mod api { use super::{root_mod, runtime_types}; #[doc = "Error for the session pallet."] pub type Error = runtime_types::pallet_session::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_session::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -9526,20 +9639,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Sets the session key(s) of the function caller to `keys`."] - #[doc = "Allows an account to set its session key prior to becoming a validator."] - #[doc = "This doesn't take effect until the next session."] - #[doc = ""] - #[doc = "The dispatch origin of this function must be signed."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] - #[doc = " `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] - #[doc = "- DbWrites: `origin account`, `NextKeys`"] - #[doc = "- DbReads per key id: `KeyOwner`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "See [`Pallet::set_keys`]."] pub fn set_keys( &self, keys: runtime_types::da_runtime::primitives::SessionKeys, @@ -9557,22 +9657,7 @@ pub mod api { ) } - #[doc = "Removes any session key(s) of the function caller."] - #[doc = ""] - #[doc = "This doesn't take effect until the next session."] - #[doc = ""] - #[doc = "The dispatch origin of this function must be Signed and the account must be either be"] - #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"] - #[doc = "means being a controller account) or directly convertible into a validator ID (which"] - #[doc = "usually means being a stash account)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] - #[doc = " of `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] - #[doc = "- DbWrites: `NextKeys`, `origin account`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "See [`Pallet::purge_keys`]."] pub fn purge_keys(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Session", @@ -9588,7 +9673,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_session::pallet::Event; pub mod events { use super::runtime_types; @@ -9843,9 +9928,9 @@ pub mod api { } pub mod democracy { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_democracy::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_democracy::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -10241,18 +10326,31 @@ pub mod api { const CALL: &'static str = "cancel_proposal"; const PALLET: &'static str = "Democracy"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub maybe_hash: ::core::option::Option<::subxt::utils::H256>, + } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const CALL: &'static str = "set_metadata"; + const PALLET: &'static str = "Democracy"; + } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Propose a sensitive action to be taken."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_ and the sender must"] - #[doc = "have funds to cover the deposit."] - #[doc = ""] - #[doc = "- `proposal_hash`: The hash of the proposal preimage."] - #[doc = "- `value`: The amount of deposit (must be at least `MinimumDeposit`)."] - #[doc = ""] - #[doc = "Emits `Proposed`."] + #[doc = "See [`Pallet::propose`]."] pub fn propose( &self, proposal: runtime_types::frame_support::traits::preimages::Bounded< @@ -10273,12 +10371,7 @@ pub mod api { ) } - #[doc = "Signals agreement with a particular proposal."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_ and the sender"] - #[doc = "must have funds to cover the deposit, equal to the original deposit."] - #[doc = ""] - #[doc = "- `proposal`: The index of the proposal to second."] + #[doc = "See [`Pallet::second`]."] pub fn second( &self, proposal: ::core::primitive::u32, @@ -10296,13 +10389,7 @@ pub mod api { ) } - #[doc = "Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;"] - #[doc = "otherwise it is a vote to keep the status quo."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_."] - #[doc = ""] - #[doc = "- `ref_index`: The index of the referendum to vote for."] - #[doc = "- `vote`: The vote configuration."] + #[doc = "See [`Pallet::vote`]."] pub fn vote( &self, ref_index: ::core::primitive::u32, @@ -10323,14 +10410,7 @@ pub mod api { ) } - #[doc = "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same"] - #[doc = "referendum."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `CancellationOrigin`."] - #[doc = ""] - #[doc = "-`ref_index`: The index of the referendum to cancel."] - #[doc = ""] - #[doc = "Weight: `O(1)`."] + #[doc = "See [`Pallet::emergency_cancel`]."] pub fn emergency_cancel( &self, ref_index: ::core::primitive::u32, @@ -10347,12 +10427,7 @@ pub mod api { ) } - #[doc = "Schedule a referendum to be tabled once it is legal to schedule an external"] - #[doc = "referendum."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `ExternalOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + #[doc = "See [`Pallet::external_propose`]."] pub fn external_propose( &self, proposal: runtime_types::frame_support::traits::preimages::Bounded< @@ -10372,17 +10447,7 @@ pub mod api { ) } - #[doc = "Schedule a majority-carries referendum to be tabled next once it is legal to schedule"] - #[doc = "an external referendum."] - #[doc = ""] - #[doc = "The dispatch of this call must be `ExternalMajorityOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal."] - #[doc = ""] - #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] - #[doc = "pre-scheduled `external_propose` call."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] + #[doc = "See [`Pallet::external_propose_majority`]."] pub fn external_propose_majority( &self, proposal: runtime_types::frame_support::traits::preimages::Bounded< @@ -10402,17 +10467,7 @@ pub mod api { ) } - #[doc = "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to"] - #[doc = "schedule an external referendum."] - #[doc = ""] - #[doc = "The dispatch of this call must be `ExternalDefaultOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal."] - #[doc = ""] - #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] - #[doc = "pre-scheduled `external_propose` call."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] + #[doc = "See [`Pallet::external_propose_default`]."] pub fn external_propose_default( &self, proposal: runtime_types::frame_support::traits::preimages::Bounded< @@ -10432,22 +10487,7 @@ pub mod api { ) } - #[doc = "Schedule the currently externally-proposed majority-carries referendum to be tabled"] - #[doc = "immediately. If there is no externally-proposed referendum currently, or if there is one"] - #[doc = "but it is not a majority-carries referendum then it fails."] - #[doc = ""] - #[doc = "The dispatch of this call must be `FastTrackOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The hash of the current external proposal."] - #[doc = "- `voting_period`: The period that is allowed for voting on this proposal. Increased to"] - #[doc = "\tMust be always greater than zero."] - #[doc = "\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`."] - #[doc = "- `delay`: The number of block after voting has ended in approval and this should be"] - #[doc = " enacted. This doesn't have a minimum amount."] - #[doc = ""] - #[doc = "Emits `Started`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] + #[doc = "See [`Pallet::fast_track`]."] pub fn fast_track( &self, proposal_hash: ::subxt::utils::H256, @@ -10471,15 +10511,7 @@ pub mod api { ) } - #[doc = "Veto and blacklist the external proposal hash."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `VetoOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist."] - #[doc = ""] - #[doc = "Emits `Vetoed`."] - #[doc = ""] - #[doc = "Weight: `O(V + log(V))` where V is number of `existing vetoers`"] + #[doc = "See [`Pallet::veto_external`]."] pub fn veto_external( &self, proposal_hash: ::subxt::utils::H256, @@ -10496,14 +10528,8 @@ pub mod api { ], ) } - - #[doc = "Remove a referendum."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Root_."] - #[doc = ""] - #[doc = "- `ref_index`: The index of the referendum to cancel."] - #[doc = ""] - #[doc = "# Weight: `O(1)`."] + + #[doc = "See [`Pallet::cancel_referendum`]."] pub fn cancel_referendum( &self, ref_index: ::core::primitive::u32, @@ -10521,26 +10547,7 @@ pub mod api { ) } - #[doc = "Delegate the voting power (with some given conviction) of the sending account."] - #[doc = ""] - #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] - #[doc = "time appropriate for the conviction's lock period."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] - #[doc = " - be delegating already; or"] - #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] - #[doc = " through `reap_vote` or `unvote`)."] - #[doc = ""] - #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] - #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] - #[doc = " account is undelegated, the funds will be locked for the corresponding period."] - #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] - #[doc = " be more than the account's current balance."] - #[doc = ""] - #[doc = "Emits `Delegated`."] - #[doc = ""] - #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] - #[doc = " voted on. Weight is charged as if maximum votes."] + #[doc = "See [`Pallet::delegate`]."] pub fn delegate( &self, to: ::subxt::utils::MultiAddress< @@ -10566,18 +10573,7 @@ pub mod api { ) } - #[doc = "Undelegate the voting power of the sending account."] - #[doc = ""] - #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] - #[doc = "of the conviction with which the delegation was issued."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] - #[doc = "currently delegating."] - #[doc = ""] - #[doc = "Emits `Undelegated`."] - #[doc = ""] - #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] - #[doc = " voted on. Weight is charged as if maximum votes."] + #[doc = "See [`Pallet::undelegate`]."] pub fn undelegate(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Democracy", @@ -10592,11 +10588,7 @@ pub mod api { ) } - #[doc = "Clears all public proposals."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Root_."] - #[doc = ""] - #[doc = "Weight: `O(1)`."] + #[doc = "See [`Pallet::clear_public_proposals`]."] pub fn clear_public_proposals( &self, ) -> ::subxt::tx::Payload { @@ -10613,13 +10605,7 @@ pub mod api { ) } - #[doc = "Unlock tokens that have an expired lock."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_."] - #[doc = ""] - #[doc = "- `target`: The account to remove the lock on."] - #[doc = ""] - #[doc = "Weight: `O(R)` with R number of vote of target."] + #[doc = "See [`Pallet::unlock`]."] pub fn unlock( &self, target: ::subxt::utils::MultiAddress< @@ -10639,33 +10625,7 @@ pub mod api { ) } - #[doc = "Remove a vote for a referendum."] - #[doc = ""] - #[doc = "If:"] - #[doc = "- the referendum was cancelled, or"] - #[doc = "- the referendum is ongoing, or"] - #[doc = "- the referendum has ended such that"] - #[doc = " - the vote of the account was in opposition to the result; or"] - #[doc = " - there was no conviction to the account's vote; or"] - #[doc = " - the account made a split vote"] - #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] - #[doc = "funds being available."] - #[doc = ""] - #[doc = "If, however, the referendum has ended and:"] - #[doc = "- it finished corresponding to the vote of the account, and"] - #[doc = "- the account made a standard vote with conviction, and"] - #[doc = "- the lock period of the conviction is not over"] - #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] - #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] - #[doc = "of both the amount locked and the time is it locked for)."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] - #[doc = "registered for referendum `index`."] - #[doc = ""] - #[doc = "- `index`: The index of referendum of the vote to be removed."] - #[doc = ""] - #[doc = "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on."] - #[doc = " Weight is calculated for the maximum number of vote."] + #[doc = "See [`Pallet::remove_vote`]."] pub fn remove_vote( &self, index: ::core::primitive::u32, @@ -10683,21 +10643,7 @@ pub mod api { ) } - #[doc = "Remove a vote for a referendum."] - #[doc = ""] - #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] - #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] - #[doc = "either because the referendum was cancelled, because the voter lost the referendum or"] - #[doc = "because the conviction period is over."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_."] - #[doc = ""] - #[doc = "- `target`: The account of the vote to be removed; this account must have voted for"] - #[doc = " referendum `index`."] - #[doc = "- `index`: The index of referendum of the vote to be removed."] - #[doc = ""] - #[doc = "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on."] - #[doc = " Weight is calculated for the maximum number of vote."] + #[doc = "See [`Pallet::remove_other_vote`]."] pub fn remove_other_vote( &self, target: ::subxt::utils::MultiAddress< @@ -10719,21 +10665,7 @@ pub mod api { ) } - #[doc = "Permanently place a proposal into the blacklist. This prevents it from ever being"] - #[doc = "proposed again."] - #[doc = ""] - #[doc = "If called on a queued public or external proposal, then this will result in it being"] - #[doc = "removed. If the `ref_index` supplied is an active referendum with the proposal hash,"] - #[doc = "then it will be cancelled."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `BlacklistOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The proposal hash to blacklist permanently."] - #[doc = "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be"] - #[doc = "cancelled."] - #[doc = ""] - #[doc = "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a"] - #[doc = " reasonable value)."] + #[doc = "See [`Pallet::blacklist`]."] pub fn blacklist( &self, proposal_hash: ::subxt::utils::H256, @@ -10755,13 +10687,7 @@ pub mod api { ) } - #[doc = "Remove a proposal."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `CancelProposalOrigin`."] - #[doc = ""] - #[doc = "- `prop_index`: The index of the proposal to cancel."] - #[doc = ""] - #[doc = "Weight: `O(p)` where `p = PublicProps::::decode_len()`"] + #[doc = "See [`Pallet::cancel_proposal`]."] pub fn cancel_proposal( &self, prop_index: ::core::primitive::u32, @@ -10777,9 +10703,28 @@ pub mod api { ], ) } + + #[doc = "See [`Pallet::set_metadata`]."] + pub fn set_metadata( + &self, + owner: runtime_types::pallet_democracy::types::MetadataOwner, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "Democracy", + "set_metadata", + types::SetMetadata { owner, maybe_hash }, + [ + 192u8, 174u8, 122u8, 229u8, 149u8, 49u8, 155u8, 209u8, 226u8, 255u8, + 46u8, 43u8, 77u8, 164u8, 226u8, 254u8, 207u8, 110u8, 222u8, 131u8, + 220u8, 53u8, 95u8, 170u8, 128u8, 212u8, 236u8, 168u8, 156u8, 29u8, + 151u8, 40u8, + ], + ) + } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_democracy::pallet::Event; pub mod events { use super::runtime_types; @@ -11089,6 +11034,73 @@ pub mod api { const EVENT: &'static str = "ProposalCanceled"; const PALLET: &'static str = "Democracy"; } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a proposal or a referendum has been set."] + pub struct MetadataSet { + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataSet { + const EVENT: &'static str = "MetadataSet"; + const PALLET: &'static str = "Democracy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata for a proposal or a referendum has been cleared."] + pub struct MetadataCleared { + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataCleared { + const EVENT: &'static str = "MetadataCleared"; + const PALLET: &'static str = "Democracy"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Metadata has been transferred to new owner."] + pub struct MetadataTransferred { + pub prev_owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub owner: runtime_types::pallet_democracy::types::MetadataOwner, + pub hash: ::subxt::utils::H256, + } + impl ::subxt::events::StaticEvent for MetadataTransferred { + const EVENT: &'static str = "MetadataTransferred"; + const PALLET: &'static str = "Democracy"; + } } pub mod storage { use super::runtime_types; @@ -11122,7 +11134,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::core::primitive::u32, runtime_types::frame_support::traits::preimages::Bounded< runtime_types::da_runtime::RuntimeCall, @@ -11154,7 +11166,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ::core::primitive::u128, @@ -11185,7 +11197,7 @@ pub mod api { ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, ( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ::core::primitive::u128, @@ -11442,7 +11454,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u32, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -11472,7 +11484,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u32, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -11540,6 +11552,67 @@ pub mod api { ], ) } + + #[doc = " General information concerning any proposal or referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of( + &self, + _0: impl ::std::borrow::Borrow< + runtime_types::pallet_democracy::types::MetadataOwner, + >, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + ::subxt::storage::address::Yes, + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Democracy", + "MetadataOf", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 241u8, 106u8, 118u8, 66u8, 219u8, 192u8, 185u8, 117u8, 144u8, 174u8, + 171u8, 207u8, 181u8, 32u8, 133u8, 127u8, 160u8, 218u8, 113u8, 153u8, + 160u8, 7u8, 72u8, 58u8, 187u8, 96u8, 51u8, 236u8, 64u8, 80u8, 123u8, + 254u8, + ], + ) + } + + #[doc = " General information concerning any proposal or referendum."] + #[doc = " The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON"] + #[doc = " dump or IPFS hash of a JSON file."] + #[doc = ""] + #[doc = " Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)"] + #[doc = " large preimages."] + pub fn metadata_of_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + ::subxt::utils::H256, + (), + (), + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "Democracy", + "MetadataOf", + Vec::new(), + [ + 241u8, 106u8, 118u8, 66u8, 219u8, 192u8, 185u8, 117u8, 144u8, 174u8, + 171u8, 207u8, 181u8, 32u8, 133u8, 127u8, 160u8, 218u8, 113u8, 153u8, + 160u8, 7u8, 72u8, 58u8, 187u8, 96u8, 51u8, 236u8, 64u8, 80u8, 123u8, + 254u8, + ], + ) + } } } pub mod constants { @@ -11554,29 +11627,44 @@ pub mod api { pub fn enactment_period( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "EnactmentPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "EnactmentPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " How often (in blocks) new public referenda are launched."] pub fn launch_period(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "LaunchPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "LaunchPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " How often (in blocks) to check for new votes."] pub fn voting_period(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "VotingPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "VotingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The minimum period of vote locking."] @@ -11586,22 +11674,31 @@ pub mod api { pub fn vote_locking_period( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "VoteLockingPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "VoteLockingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The minimum amount to be used as a deposit for a public referendum proposal."] pub fn minimum_deposit( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Democracy", "MinimumDeposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "MinimumDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " Indicator for whether an emergency origin is even allowed to happen. Some chains may"] @@ -11610,33 +11707,47 @@ pub mod api { pub fn instant_allowed( &self, ) -> ::subxt::constants::Address<::core::primitive::bool> { - ::subxt::constants::Address::new_static("Democracy", "InstantAllowed", [ - 165u8, 28u8, 112u8, 190u8, 18u8, 129u8, 182u8, 206u8, 237u8, 1u8, 68u8, - 252u8, 125u8, 234u8, 185u8, 50u8, 149u8, 164u8, 47u8, 126u8, 134u8, 100u8, - 14u8, 86u8, 209u8, 39u8, 20u8, 4u8, 233u8, 115u8, 102u8, 131u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "InstantAllowed", + [ + 165u8, 28u8, 112u8, 190u8, 18u8, 129u8, 182u8, 206u8, 237u8, 1u8, 68u8, + 252u8, 125u8, 234u8, 185u8, 50u8, 149u8, 164u8, 47u8, 126u8, 134u8, + 100u8, 14u8, 86u8, 209u8, 39u8, 20u8, 4u8, 233u8, 115u8, 102u8, 131u8, + ], + ) } #[doc = " Minimum voting period allowed for a fast-track referendum."] pub fn fast_track_voting_period( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "FastTrackVotingPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "FastTrackVotingPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Period in blocks where an external proposal may not be re-submitted after being vetoed."] pub fn cooloff_period( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "CooloffPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "CooloffPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of votes for an account."] @@ -11644,49 +11755,69 @@ pub mod api { #[doc = " Also used to compute weight, an overly big value can"] #[doc = " lead to extrinsic with very big weight: see `delegate` for instance."] pub fn max_votes(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "MaxVotes", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "MaxVotes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of public proposals that can exist at any time."] pub fn max_proposals(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "MaxProposals", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "MaxProposals", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of deposits a public proposal may have at any time."] pub fn max_deposits(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "MaxDeposits", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "MaxDeposits", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of items which can be blacklisted."] pub fn max_blacklisted( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Democracy", "MaxBlacklisted", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Democracy", + "MaxBlacklisted", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod council { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_collective::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_collective::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -11755,33 +11886,10 @@ pub mod api { pub threshold: ::core::primitive::u32, pub proposal: ::std::boxed::Box, #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for Propose { - const CALL: &'static str = "propose"; - const PALLET: &'static str = "Council"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Vote { - pub proposal: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - pub approve: ::core::primitive::bool, + pub length_bound: ::core::primitive::u32, } - impl ::subxt::blocks::StaticExtrinsic for Vote { - const CALL: &'static str = "vote"; + impl ::subxt::blocks::StaticExtrinsic for Propose { + const CALL: &'static str = "propose"; const PALLET: &'static str = "Council"; } #[derive( @@ -11797,17 +11905,14 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseOldWeight { - pub proposal_hash: ::subxt::utils::H256, + pub struct Vote { + pub proposal: ::subxt::utils::H256, #[codec(compact)] pub index: ::core::primitive::u32, - #[codec(compact)] - pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, + pub approve: ::core::primitive::bool, } - impl ::subxt::blocks::StaticExtrinsic for CloseOldWeight { - const CALL: &'static str = "close_old_weight"; + impl ::subxt::blocks::StaticExtrinsic for Vote { + const CALL: &'static str = "vote"; const PALLET: &'static str = "Council"; } #[derive( @@ -11858,38 +11963,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Set the collective's membership."] - #[doc = ""] - #[doc = "- `new_members`: The new member list. Be nice to the chain and provide it sorted."] - #[doc = "- `prime`: The prime member whose vote sets the default."] - #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] - #[doc = " weight estimation."] - #[doc = ""] - #[doc = "Requires root origin."] - #[doc = ""] - #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] - #[doc = " the weight estimations rely on it to estimate dispatchable weight."] - #[doc = ""] - #[doc = "# WARNING:"] - #[doc = ""] - #[doc = "The `pallet-collective` can also be managed by logic outside of the pallet through the"] - #[doc = "implementation of the trait [`ChangeMembers`]."] - #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] - #[doc = "with other logic managing the member set."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(MP + N)` where:"] - #[doc = " - `M` old-members-count (code- and governance-bounded)"] - #[doc = " - `N` new-members-count (code- and governance-bounded)"] - #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] + #[doc = "See [`Pallet::set_members`]."] pub fn set_members( &self, new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -11913,17 +11987,7 @@ pub mod api { ) } - #[doc = "Dispatch a proposal from a member using the `Member` origin."] - #[doc = ""] - #[doc = "Origin must be a member of the collective."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::execute`]."] pub fn execute( &self, proposal: runtime_types::da_runtime::RuntimeCall, @@ -11937,41 +12001,15 @@ pub mod api { length_bound, }, [ - 198u8, 87u8, 116u8, 221u8, 113u8, 19u8, 112u8, 232u8, 174u8, 30u8, - 89u8, 100u8, 201u8, 230u8, 90u8, 71u8, 51u8, 44u8, 160u8, 176u8, 158u8, - 121u8, 104u8, 65u8, 123u8, 210u8, 169u8, 136u8, 1u8, 240u8, 234u8, - 43u8, + 1u8, 38u8, 214u8, 226u8, 97u8, 229u8, 11u8, 242u8, 214u8, 241u8, 236u8, + 153u8, 130u8, 210u8, 175u8, 160u8, 127u8, 82u8, 98u8, 101u8, 63u8, + 153u8, 87u8, 60u8, 224u8, 216u8, 240u8, 157u8, 184u8, 81u8, 44u8, + 237u8, ], ) } - #[doc = "Add a new proposal to either be voted on or executed directly."] - #[doc = ""] - #[doc = "Requires the sender to be member."] - #[doc = ""] - #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] - #[doc = "or put up for voting."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - branching is influenced by `threshold` where:"] - #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] - #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::propose`]."] pub fn propose( &self, threshold: ::core::primitive::u32, @@ -11987,28 +12025,14 @@ pub mod api { length_bound, }, [ - 164u8, 216u8, 6u8, 170u8, 87u8, 172u8, 87u8, 143u8, 0u8, 83u8, 116u8, - 185u8, 238u8, 71u8, 143u8, 46u8, 228u8, 113u8, 246u8, 153u8, 47u8, - 62u8, 43u8, 130u8, 204u8, 242u8, 218u8, 3u8, 194u8, 26u8, 133u8, 25u8, + 148u8, 42u8, 1u8, 63u8, 46u8, 63u8, 176u8, 201u8, 181u8, 83u8, 197u8, + 39u8, 100u8, 27u8, 88u8, 17u8, 58u8, 140u8, 2u8, 63u8, 211u8, 5u8, + 250u8, 61u8, 0u8, 64u8, 99u8, 112u8, 71u8, 13u8, 32u8, 255u8, ], ) } - #[doc = "Add an aye or nay vote for the sender to the given proposal."] - #[doc = ""] - #[doc = "Requires the sender to be a member."] - #[doc = ""] - #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] - #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] - #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::vote`]."] pub fn vote( &self, proposal: ::subxt::utils::H256, @@ -12032,76 +12056,7 @@ pub mod api { ) } - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - pub fn close_old_weight( - &self, - proposal_hash: ::subxt::utils::H256, - index: ::core::primitive::u32, - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "Council", - "close_old_weight", - types::CloseOldWeight { - proposal_hash, - index, - proposal_weight_bound, - length_bound, - }, - [ - 206u8, 13u8, 195u8, 139u8, 64u8, 214u8, 244u8, 76u8, 241u8, 64u8, 67u8, - 43u8, 50u8, 76u8, 75u8, 247u8, 214u8, 58u8, 125u8, 72u8, 170u8, 104u8, - 67u8, 78u8, 230u8, 119u8, 78u8, 63u8, 161u8, 159u8, 176u8, 106u8, - ], - ) - } - - #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] - #[doc = "state."] - #[doc = ""] - #[doc = "Must be called by the Root origin."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] - #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "See [`Pallet::disapprove_proposal`]."] pub fn disapprove_proposal( &self, proposal_hash: ::subxt::utils::H256, @@ -12118,38 +12073,7 @@ pub mod api { ) } - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] + #[doc = "See [`Pallet::close`]."] pub fn close( &self, proposal_hash: ::subxt::utils::H256, @@ -12175,7 +12099,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_collective::pallet::Event; pub mod events { use super::runtime_types; @@ -12349,7 +12273,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::subxt::utils::H256>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -12384,9 +12310,10 @@ pub mod api { _0.borrow(), )], [ - 245u8, 171u8, 227u8, 191u8, 139u8, 41u8, 19u8, 77u8, 192u8, 167u8, - 33u8, 207u8, 17u8, 75u8, 248u8, 105u8, 251u8, 217u8, 77u8, 169u8, 47u8, - 225u8, 226u8, 70u8, 125u8, 67u8, 110u8, 195u8, 227u8, 52u8, 17u8, 99u8, + 211u8, 81u8, 191u8, 143u8, 109u8, 169u8, 12u8, 12u8, 190u8, 218u8, + 108u8, 146u8, 228u8, 21u8, 63u8, 28u8, 185u8, 152u8, 226u8, 164u8, + 169u8, 85u8, 69u8, 235u8, 226u8, 212u8, 218u8, 115u8, 19u8, 127u8, + 138u8, 178u8, ], ) } @@ -12406,9 +12333,10 @@ pub mod api { "ProposalOf", Vec::new(), [ - 245u8, 171u8, 227u8, 191u8, 139u8, 41u8, 19u8, 77u8, 192u8, 167u8, - 33u8, 207u8, 17u8, 75u8, 248u8, 105u8, 251u8, 217u8, 77u8, 169u8, 47u8, - 225u8, 226u8, 70u8, 125u8, 67u8, 110u8, 195u8, 227u8, 52u8, 17u8, 99u8, + 211u8, 81u8, 191u8, 143u8, 109u8, 169u8, 12u8, 12u8, 190u8, 218u8, + 108u8, 146u8, 228u8, 21u8, 63u8, 28u8, 185u8, 152u8, 226u8, 164u8, + 169u8, 85u8, 69u8, 235u8, 226u8, 212u8, 218u8, 115u8, 19u8, 127u8, + 138u8, 178u8, ], ) } @@ -12498,11 +12426,16 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Council", "Members", vec![], [ - 16u8, 29u8, 32u8, 222u8, 175u8, 136u8, 111u8, 101u8, 43u8, 74u8, 209u8, - 81u8, 47u8, 97u8, 129u8, 39u8, 225u8, 243u8, 110u8, 229u8, 237u8, 21u8, - 90u8, 127u8, 80u8, 239u8, 156u8, 32u8, 90u8, 109u8, 179u8, 0u8, - ]) + ::subxt::storage::address::Address::new_static( + "Council", + "Members", + vec![], + [ + 16u8, 29u8, 32u8, 222u8, 175u8, 136u8, 111u8, 101u8, 43u8, 74u8, 209u8, + 81u8, 47u8, 97u8, 129u8, 39u8, 225u8, 243u8, 110u8, 229u8, 237u8, 21u8, + 90u8, 127u8, 80u8, 239u8, 156u8, 32u8, 90u8, 109u8, 179u8, 0u8, + ], + ) } #[doc = " The prime member that helps determine the default vote behavior in case of absentations."] @@ -12515,20 +12448,45 @@ pub mod api { (), (), > { - ::subxt::storage::address::Address::new_static("Council", "Prime", vec![], [ - 72u8, 128u8, 214u8, 72u8, 78u8, 80u8, 100u8, 198u8, 114u8, 215u8, 59u8, - 3u8, 103u8, 14u8, 152u8, 202u8, 12u8, 165u8, 224u8, 10u8, 41u8, 154u8, - 77u8, 95u8, 116u8, 143u8, 250u8, 250u8, 176u8, 92u8, 238u8, 154u8, - ]) + ::subxt::storage::address::Address::new_static( + "Council", + "Prime", + vec![], + [ + 72u8, 128u8, 214u8, 72u8, 78u8, 80u8, 100u8, 198u8, 114u8, 215u8, 59u8, + 3u8, 103u8, 14u8, 152u8, 202u8, 12u8, 165u8, 224u8, 10u8, 41u8, 154u8, + 77u8, 95u8, 116u8, 143u8, 250u8, 250u8, 176u8, 92u8, 238u8, 154u8, + ], + ) + } + } + } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight of a dispatch call that can be proposed and executed."] + pub fn max_proposal_weight( + &self, + ) -> ::subxt::constants::Address { + ::subxt::constants::Address::new_static( + "Council", + "MaxProposalWeight", + [ + 222u8, 183u8, 203u8, 169u8, 31u8, 134u8, 28u8, 12u8, 47u8, 140u8, 71u8, + 74u8, 61u8, 55u8, 71u8, 236u8, 215u8, 83u8, 28u8, 70u8, 45u8, 128u8, + 184u8, 57u8, 101u8, 83u8, 42u8, 165u8, 34u8, 155u8, 64u8, 145u8, + ], + ) } } } } pub mod technical_committee { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_collective::pallet::Error2; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_collective::pallet::Call2; pub mod calls { use super::{root_mod, runtime_types}; @@ -12639,32 +12597,6 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct CloseOldWeight { - pub proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - pub index: ::core::primitive::u32, - #[codec(compact)] - pub proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - pub length_bound: ::core::primitive::u32, - } - impl ::subxt::blocks::StaticExtrinsic for CloseOldWeight { - const CALL: &'static str = "close_old_weight"; - const PALLET: &'static str = "TechnicalCommittee"; - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DisapproveProposal { pub proposal_hash: ::subxt::utils::H256, } @@ -12700,38 +12632,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Set the collective's membership."] - #[doc = ""] - #[doc = "- `new_members`: The new member list. Be nice to the chain and provide it sorted."] - #[doc = "- `prime`: The prime member whose vote sets the default."] - #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] - #[doc = " weight estimation."] - #[doc = ""] - #[doc = "Requires root origin."] - #[doc = ""] - #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] - #[doc = " the weight estimations rely on it to estimate dispatchable weight."] - #[doc = ""] - #[doc = "# WARNING:"] - #[doc = ""] - #[doc = "The `pallet-collective` can also be managed by logic outside of the pallet through the"] - #[doc = "implementation of the trait [`ChangeMembers`]."] - #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] - #[doc = "with other logic managing the member set."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(MP + N)` where:"] - #[doc = " - `M` old-members-count (code- and governance-bounded)"] - #[doc = " - `N` new-members-count (code- and governance-bounded)"] - #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] + #[doc = "See [`Pallet::set_members`]."] pub fn set_members( &self, new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -12755,17 +12656,7 @@ pub mod api { ) } - #[doc = "Dispatch a proposal from a member using the `Member` origin."] - #[doc = ""] - #[doc = "Origin must be a member of the collective."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::execute`]."] pub fn execute( &self, proposal: runtime_types::da_runtime::RuntimeCall, @@ -12779,41 +12670,15 @@ pub mod api { length_bound, }, [ - 198u8, 87u8, 116u8, 221u8, 113u8, 19u8, 112u8, 232u8, 174u8, 30u8, - 89u8, 100u8, 201u8, 230u8, 90u8, 71u8, 51u8, 44u8, 160u8, 176u8, 158u8, - 121u8, 104u8, 65u8, 123u8, 210u8, 169u8, 136u8, 1u8, 240u8, 234u8, - 43u8, + 1u8, 38u8, 214u8, 226u8, 97u8, 229u8, 11u8, 242u8, 214u8, 241u8, 236u8, + 153u8, 130u8, 210u8, 175u8, 160u8, 127u8, 82u8, 98u8, 101u8, 63u8, + 153u8, 87u8, 60u8, 224u8, 216u8, 240u8, 157u8, 184u8, 81u8, 44u8, + 237u8, ], ) } - #[doc = "Add a new proposal to either be voted on or executed directly."] - #[doc = ""] - #[doc = "Requires the sender to be member."] - #[doc = ""] - #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] - #[doc = "or put up for voting."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - branching is influenced by `threshold` where:"] - #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] - #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::propose`]."] pub fn propose( &self, threshold: ::core::primitive::u32, @@ -12829,28 +12694,14 @@ pub mod api { length_bound, }, [ - 164u8, 216u8, 6u8, 170u8, 87u8, 172u8, 87u8, 143u8, 0u8, 83u8, 116u8, - 185u8, 238u8, 71u8, 143u8, 46u8, 228u8, 113u8, 246u8, 153u8, 47u8, - 62u8, 43u8, 130u8, 204u8, 242u8, 218u8, 3u8, 194u8, 26u8, 133u8, 25u8, + 148u8, 42u8, 1u8, 63u8, 46u8, 63u8, 176u8, 201u8, 181u8, 83u8, 197u8, + 39u8, 100u8, 27u8, 88u8, 17u8, 58u8, 140u8, 2u8, 63u8, 211u8, 5u8, + 250u8, 61u8, 0u8, 64u8, 99u8, 112u8, 71u8, 13u8, 32u8, 255u8, ], ) } - #[doc = "Add an aye or nay vote for the sender to the given proposal."] - #[doc = ""] - #[doc = "Requires the sender to be a member."] - #[doc = ""] - #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] - #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] - #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::vote`]."] pub fn vote( &self, proposal: ::subxt::utils::H256, @@ -12874,76 +12725,7 @@ pub mod api { ) } - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - pub fn close_old_weight( - &self, - proposal_hash: ::subxt::utils::H256, - index: ::core::primitive::u32, - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - length_bound: ::core::primitive::u32, - ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static( - "TechnicalCommittee", - "close_old_weight", - types::CloseOldWeight { - proposal_hash, - index, - proposal_weight_bound, - length_bound, - }, - [ - 206u8, 13u8, 195u8, 139u8, 64u8, 214u8, 244u8, 76u8, 241u8, 64u8, 67u8, - 43u8, 50u8, 76u8, 75u8, 247u8, 214u8, 58u8, 125u8, 72u8, 170u8, 104u8, - 67u8, 78u8, 230u8, 119u8, 78u8, 63u8, 161u8, 159u8, 176u8, 106u8, - ], - ) - } - - #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] - #[doc = "state."] - #[doc = ""] - #[doc = "Must be called by the Root origin."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] - #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "See [`Pallet::disapprove_proposal`]."] pub fn disapprove_proposal( &self, proposal_hash: ::subxt::utils::H256, @@ -12960,38 +12742,7 @@ pub mod api { ) } - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] + #[doc = "See [`Pallet::close`]."] pub fn close( &self, proposal_hash: ::subxt::utils::H256, @@ -13017,7 +12768,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_collective::pallet::Event2; pub mod events { use super::runtime_types; @@ -13191,7 +12942,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::subxt::utils::H256>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::subxt::utils::H256, + >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), @@ -13226,9 +12979,10 @@ pub mod api { _0.borrow(), )], [ - 245u8, 171u8, 227u8, 191u8, 139u8, 41u8, 19u8, 77u8, 192u8, 167u8, - 33u8, 207u8, 17u8, 75u8, 248u8, 105u8, 251u8, 217u8, 77u8, 169u8, 47u8, - 225u8, 226u8, 70u8, 125u8, 67u8, 110u8, 195u8, 227u8, 52u8, 17u8, 99u8, + 211u8, 81u8, 191u8, 143u8, 109u8, 169u8, 12u8, 12u8, 190u8, 218u8, + 108u8, 146u8, 228u8, 21u8, 63u8, 28u8, 185u8, 152u8, 226u8, 164u8, + 169u8, 85u8, 69u8, 235u8, 226u8, 212u8, 218u8, 115u8, 19u8, 127u8, + 138u8, 178u8, ], ) } @@ -13248,9 +13002,10 @@ pub mod api { "ProposalOf", Vec::new(), [ - 245u8, 171u8, 227u8, 191u8, 139u8, 41u8, 19u8, 77u8, 192u8, 167u8, - 33u8, 207u8, 17u8, 75u8, 248u8, 105u8, 251u8, 217u8, 77u8, 169u8, 47u8, - 225u8, 226u8, 70u8, 125u8, 67u8, 110u8, 195u8, 227u8, 52u8, 17u8, 99u8, + 211u8, 81u8, 191u8, 143u8, 109u8, 169u8, 12u8, 12u8, 190u8, 218u8, + 108u8, 146u8, 228u8, 21u8, 63u8, 28u8, 185u8, 152u8, 226u8, 164u8, + 169u8, 85u8, 69u8, 235u8, 226u8, 212u8, 218u8, 115u8, 19u8, 127u8, + 138u8, 178u8, ], ) } @@ -13375,12 +13130,32 @@ pub mod api { } } } + pub mod constants { + use super::runtime_types; + pub struct ConstantsApi; + impl ConstantsApi { + #[doc = " The maximum weight of a dispatch call that can be proposed and executed."] + pub fn max_proposal_weight( + &self, + ) -> ::subxt::constants::Address { + ::subxt::constants::Address::new_static( + "TechnicalCommittee", + "MaxProposalWeight", + [ + 222u8, 183u8, 203u8, 169u8, 31u8, 134u8, 28u8, 12u8, 47u8, 140u8, 71u8, + 74u8, 61u8, 55u8, 71u8, 236u8, 215u8, 83u8, 28u8, 70u8, 45u8, 128u8, + 184u8, 57u8, 101u8, 83u8, 42u8, 165u8, 34u8, 155u8, 64u8, 145u8, + ], + ) + } + } + } } pub mod elections { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_elections_phragmen::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_elections_phragmen::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -13517,29 +13292,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Vote for a set of candidates for the upcoming round of election. This can be called to"] - #[doc = "set the initial votes, or update already existing votes."] - #[doc = ""] - #[doc = "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is"] - #[doc = "reserved. The deposit is based on the number of votes and can be updated over time."] - #[doc = ""] - #[doc = "The `votes` should:"] - #[doc = " - not be empty."] - #[doc = " - be less than the number of possible candidates. Note that all current members and"] - #[doc = " runners-up are also automatically candidates for the next round."] - #[doc = ""] - #[doc = "If `value` is more than `who`'s free balance, then the maximum of the two is used."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed."] - #[doc = ""] - #[doc = "### Warning"] - #[doc = ""] - #[doc = "It is the responsibility of the caller to **NOT** place all of their balance into the"] - #[doc = "lock and keep some for further operations."] - #[doc = ""] - #[doc = "# "] - #[doc = "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less."] - #[doc = "# "] + #[doc = "See [`Pallet::vote`]."] pub fn vote( &self, votes: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -13557,11 +13310,7 @@ pub mod api { ) } - #[doc = "Remove `origin` as a voter."] - #[doc = ""] - #[doc = "This removes the lock and returns the deposit."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed and be a voter."] + #[doc = "See [`Pallet::remove_voter`]."] pub fn remove_voter(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Elections", @@ -13576,21 +13325,7 @@ pub mod api { ) } - #[doc = "Submit oneself for candidacy. A fixed amount of deposit is recorded."] - #[doc = ""] - #[doc = "All candidates are wiped at the end of the term. They either become a member/runner-up,"] - #[doc = "or leave the system while their deposit is slashed."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed."] - #[doc = ""] - #[doc = "### Warning"] - #[doc = ""] - #[doc = "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]"] - #[doc = "to get their deposit back. Losing the spot in an election will always lead to a slash."] - #[doc = ""] - #[doc = "# "] - #[doc = "The number of current candidates must be provided as witness data."] - #[doc = "# "] + #[doc = "See [`Pallet::submit_candidacy`]."] pub fn submit_candidacy( &self, candidate_count: ::core::primitive::u32, @@ -13608,24 +13343,7 @@ pub mod api { ) } - #[doc = "Renounce one's intention to be a candidate for the next election round. 3 potential"] - #[doc = "outcomes exist:"] - #[doc = ""] - #[doc = "- `origin` is a candidate and not elected in any set. In this case, the deposit is"] - #[doc = " unreserved, returned and origin is removed as a candidate."] - #[doc = "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and"] - #[doc = " origin is removed as a runner-up."] - #[doc = "- `origin` is a current member. In this case, the deposit is unreserved and origin is"] - #[doc = " removed as a member, consequently not being a candidate for the next round anymore."] - #[doc = " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they"] - #[doc = " are immediately used. If the prime is renouncing, then no prime will exist until the"] - #[doc = " next round."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed, and have one of the above roles."] - #[doc = ""] - #[doc = "# "] - #[doc = "The type of renouncing must be provided as witness data."] - #[doc = "# "] + #[doc = "See [`Pallet::renounce_candidacy`]."] pub fn renounce_candidacy( &self, renouncing: runtime_types::pallet_elections_phragmen::Renouncing, @@ -13643,24 +13361,7 @@ pub mod api { ) } - #[doc = "Remove a particular member from the set. This is effective immediately and the bond of"] - #[doc = "the outgoing member is slashed."] - #[doc = ""] - #[doc = "If a runner-up is available, then the best runner-up will be removed and replaces the"] - #[doc = "outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is"] - #[doc = "started, else, nothing happens."] - #[doc = ""] - #[doc = "If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,"] - #[doc = "it is returned."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be root."] - #[doc = ""] - #[doc = "Note that this does not affect the designated block number of the next election."] - #[doc = ""] - #[doc = "# "] - #[doc = "If we have a replacement, we use a small weight. Else, since this is a root call and"] - #[doc = "will go into phragmen, we assume full block for now."] - #[doc = "# "] + #[doc = "See [`Pallet::remove_member`]."] pub fn remove_member( &self, who: ::subxt::utils::MultiAddress< @@ -13687,16 +13388,7 @@ pub mod api { ) } - #[doc = "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The"] - #[doc = "deposit of the removed voters are returned."] - #[doc = ""] - #[doc = "This is an root function to be used only for cleaning the state."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be root."] - #[doc = ""] - #[doc = "# "] - #[doc = "The total number of voters and those that are defunct must be provided as witness data."] - #[doc = "# "] + #[doc = "See [`Pallet::clean_defunct_voters`]."] pub fn clean_defunct_voters( &self, num_voters: ::core::primitive::u32, @@ -13719,7 +13411,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_elections_phragmen::pallet::Event; pub mod events { use super::runtime_types; @@ -14059,22 +13751,30 @@ pub mod api { pub fn pallet_id( &self, ) -> ::subxt::constants::Address<[::core::primitive::u8; 8usize]> { - ::subxt::constants::Address::new_static("Elections", "PalletId", [ - 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, - 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, - 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "PalletId", + [ + 157u8, 118u8, 79u8, 88u8, 241u8, 22u8, 185u8, 37u8, 42u8, 20u8, 133u8, + 240u8, 11u8, 25u8, 66u8, 154u8, 84u8, 163u8, 78u8, 92u8, 171u8, 82u8, + 248u8, 76u8, 189u8, 70u8, 142u8, 249u8, 153u8, 84u8, 180u8, 60u8, + ], + ) } #[doc = " How much should be locked up in order to submit one's candidacy."] pub fn candidacy_bond( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Elections", "CandidacyBond", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "CandidacyBond", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " Base deposit associated with voting."] @@ -14084,91 +13784,146 @@ pub mod api { pub fn voting_bond_base( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Elections", "VotingBondBase", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "VotingBondBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The amount of bond that need to be locked for each vote (32 bytes)."] pub fn voting_bond_factor( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Elections", "VotingBondFactor", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "VotingBondFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " Number of members to elect."] pub fn desired_members( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Elections", "DesiredMembers", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "DesiredMembers", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Number of runners_up to keep."] pub fn desired_runners_up( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Elections", "DesiredRunnersUp", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "DesiredRunnersUp", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " How long each seat is kept. This defines the next block number at which an election"] #[doc = " round will happen. If set to zero, no elections are ever triggered and the module will"] #[doc = " be in passive mode."] pub fn term_duration(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Elections", "TermDuration", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "TermDuration", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of candidates in a phragmen election."] #[doc = ""] - #[doc = " Warning: The election happens onchain, and this value will determine"] - #[doc = " the size of the election. When this limit is reached no more"] - #[doc = " candidates are accepted in the election."] + #[doc = " Warning: This impacts the size of the election which is run onchain. Chose wisely, and"] + #[doc = " consider how it will impact `T::WeightInfo::election_phragmen`."] + #[doc = ""] + #[doc = " When this limit is reached no more candidates are accepted in the election."] pub fn max_candidates( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Elections", "MaxCandidates", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "MaxCandidates", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The maximum number of voters to allow in a phragmen election."] #[doc = ""] - #[doc = " Warning: This impacts the size of the election which is run onchain."] + #[doc = " Warning: This impacts the size of the election which is run onchain. Chose wisely, and"] + #[doc = " consider how it will impact `T::WeightInfo::election_phragmen`."] + #[doc = ""] #[doc = " When the limit is reached the new voters are ignored."] pub fn max_voters(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Elections", "MaxVoters", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Elections", + "MaxVoters", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + + #[doc = " Maximum numbers of votes per voter."] + #[doc = ""] + #[doc = " Warning: This impacts the size of the election which is run onchain. Chose wisely, and"] + #[doc = " consider how it will impact `T::WeightInfo::election_phragmen`."] + pub fn max_votes_per_voter( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u32> { + ::subxt::constants::Address::new_static( + "Elections", + "MaxVotesPerVoter", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod technical_membership { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_membership::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_membership::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -14335,9 +14090,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Add a member `who` to the set."] - #[doc = ""] - #[doc = "May only be called from `T::AddOrigin`."] + #[doc = "See [`Pallet::add_member`]."] pub fn add_member( &self, who: ::subxt::utils::MultiAddress< @@ -14357,9 +14110,7 @@ pub mod api { ) } - #[doc = "Remove a member `who` from the set."] - #[doc = ""] - #[doc = "May only be called from `T::RemoveOrigin`."] + #[doc = "See [`Pallet::remove_member`]."] pub fn remove_member( &self, who: ::subxt::utils::MultiAddress< @@ -14380,11 +14131,7 @@ pub mod api { ) } - #[doc = "Swap out one member `remove` for another `add`."] - #[doc = ""] - #[doc = "May only be called from `T::SwapOrigin`."] - #[doc = ""] - #[doc = "Prime membership is *not* passed from `remove` to `add`, if extant."] + #[doc = "See [`Pallet::swap_member`]."] pub fn swap_member( &self, remove: ::subxt::utils::MultiAddress< @@ -14409,10 +14156,7 @@ pub mod api { ) } - #[doc = "Change the membership to a new set, disregarding the existing membership. Be nice and"] - #[doc = "pass `members` pre-sorted."] - #[doc = ""] - #[doc = "May only be called from `T::ResetOrigin`."] + #[doc = "See [`Pallet::reset_members`]."] pub fn reset_members( &self, members: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -14429,11 +14173,7 @@ pub mod api { ) } - #[doc = "Swap out the sending member for some other key `new`."] - #[doc = ""] - #[doc = "May only be called from `Signed` origin of a current member."] - #[doc = ""] - #[doc = "Prime membership is passed from the origin account to `new`, if extant."] + #[doc = "See [`Pallet::change_key`]."] pub fn change_key( &self, new: ::subxt::utils::MultiAddress< @@ -14454,9 +14194,7 @@ pub mod api { ) } - #[doc = "Set the prime member. Must be a current member."] - #[doc = ""] - #[doc = "May only be called from `T::PrimeOrigin`."] + #[doc = "See [`Pallet::set_prime`]."] pub fn set_prime( &self, who: ::subxt::utils::MultiAddress< @@ -14477,9 +14215,7 @@ pub mod api { ) } - #[doc = "Remove the prime member if it exists."] - #[doc = ""] - #[doc = "May only be called from `T::PrimeOrigin`."] + #[doc = "See [`Pallet::clear_prime`]."] pub fn clear_prime(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "TechnicalMembership", @@ -14494,7 +14230,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_membership::pallet::Event; pub mod events { use super::runtime_types; @@ -14622,7 +14358,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ::subxt::storage::address::Yes, @@ -14668,9 +14404,9 @@ pub mod api { } pub mod grandpa { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_grandpa::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_grandpa::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -14692,7 +14428,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportEquivocation { pub equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< + runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -14718,7 +14454,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReportEquivocationUnsigned { pub equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< + runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -14753,13 +14489,10 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Report voter equivocation/misbehavior. This method will verify the"] - #[doc = "equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence"] - #[doc = "will be reported."] + #[doc = "See [`Pallet::report_equivocation`]."] pub fn report_equivocation( &self, - equivocation_proof: runtime_types::sp_finality_grandpa::EquivocationProof< + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -14781,18 +14514,10 @@ pub mod api { ) } - #[doc = "Report voter equivocation/misbehavior. This method will verify the"] - #[doc = "equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence"] - #[doc = "will be reported."] - #[doc = ""] - #[doc = "This extrinsic must be called unsigned and it is expected that only"] - #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] - #[doc = "if the block author is defined it will be defined as the equivocation"] - #[doc = "reporter."] + #[doc = "See [`Pallet::report_equivocation_unsigned`]."] pub fn report_equivocation_unsigned( &self, - equivocation_proof: runtime_types::sp_finality_grandpa::EquivocationProof< + equivocation_proof: runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -14813,18 +14538,7 @@ pub mod api { ) } - #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] - #[doc = ""] - #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] - #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"] - #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."] - #[doc = "The block production rate (which may be slowed down because of finality lagging) should"] - #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"] - #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"] - #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"] - #[doc = "block of all validators of the new authority set."] - #[doc = ""] - #[doc = "Only callable by root."] + #[doc = "See [`Pallet::note_stalled`]."] pub fn note_stalled( &self, delay: ::core::primitive::u32, @@ -14847,7 +14561,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_grandpa::pallet::Event; pub mod events { use super::runtime_types; @@ -14867,7 +14581,7 @@ pub mod api { #[doc = "New authority set has been applied."] pub struct NewAuthorities { pub authority_set: ::std::vec::Vec<( - runtime_types::sp_finality_grandpa::app::Public, + runtime_types::sp_consensus_grandpa::app::Public, ::core::primitive::u64, )>, } @@ -14928,11 +14642,16 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Grandpa", "State", vec![], [ - 254u8, 81u8, 54u8, 203u8, 26u8, 74u8, 162u8, 215u8, 165u8, 247u8, 143u8, - 139u8, 242u8, 164u8, 67u8, 27u8, 97u8, 172u8, 66u8, 98u8, 28u8, 151u8, - 32u8, 38u8, 209u8, 82u8, 41u8, 209u8, 72u8, 3u8, 167u8, 42u8, - ]) + ::subxt::storage::address::Address::new_static( + "Grandpa", + "State", + vec![], + [ + 254u8, 81u8, 54u8, 203u8, 26u8, 74u8, 162u8, 215u8, 165u8, 247u8, + 143u8, 139u8, 242u8, 164u8, 67u8, 27u8, 97u8, 172u8, 66u8, 98u8, 28u8, + 151u8, 32u8, 38u8, 209u8, 82u8, 41u8, 209u8, 72u8, 3u8, 167u8, 42u8, + ], + ) } #[doc = " Pending change: (signaled at, scheduled change)."] @@ -14989,11 +14708,16 @@ pub mod api { (), (), > { - ::subxt::storage::address::Address::new_static("Grandpa", "Stalled", vec![], [ - 146u8, 18u8, 59u8, 59u8, 21u8, 246u8, 5u8, 167u8, 221u8, 8u8, 230u8, 74u8, - 81u8, 217u8, 67u8, 158u8, 136u8, 36u8, 23u8, 106u8, 136u8, 89u8, 110u8, - 217u8, 31u8, 138u8, 107u8, 251u8, 164u8, 10u8, 119u8, 18u8, - ]) + ::subxt::storage::address::Address::new_static( + "Grandpa", + "Stalled", + vec![], + [ + 146u8, 18u8, 59u8, 59u8, 21u8, 246u8, 5u8, 167u8, 221u8, 8u8, 230u8, + 74u8, 81u8, 217u8, 67u8, 158u8, 136u8, 36u8, 23u8, 106u8, 136u8, 89u8, + 110u8, 217u8, 31u8, 138u8, 107u8, 251u8, 164u8, 10u8, 119u8, 18u8, + ], + ) } #[doc = " The number of changes (both in terms of keys and underlying economic responsibilities)"] @@ -15023,6 +14747,12 @@ pub mod api { #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] #[doc = " members were responsible."] #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] #[doc = " TWOX-NOTE: `SetId` is not under user control."] pub fn set_id_session( &self, @@ -15051,6 +14781,12 @@ pub mod api { #[doc = " A mapping from grandpa set ID to the index of the *most recent* session for which its"] #[doc = " members were responsible."] #[doc = ""] + #[doc = " This is only used for validating equivocation proofs. An equivocation proof must"] + #[doc = " contains a key-ownership proof for a given session, therefore we need a way to tie"] + #[doc = " together sessions and GRANDPA set ids, i.e. we need to validate that a validator"] + #[doc = " was the owner of a given key on a given session, and what the active set ID was"] + #[doc = " during that session."] + #[doc = ""] #[doc = " TWOX-NOTE: `SetId` is not under user control."] pub fn set_id_session_root( &self, @@ -15082,11 +14818,37 @@ pub mod api { pub fn max_authorities( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Grandpa", "MaxAuthorities", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Grandpa", + "MaxAuthorities", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) + } + + #[doc = " The maximum number of entries to keep in the set id to session index mapping."] + #[doc = ""] + #[doc = " Since the `SetIdSession` map is only used for validating equivocations this"] + #[doc = " value should relate to the bonding duration of whatever staking system is"] + #[doc = " being used (if any). If equivocation handling is not enabled then this value"] + #[doc = " can be zero."] + pub fn max_set_id_session_entries( + &self, + ) -> ::subxt::constants::Address<::core::primitive::u64> { + ::subxt::constants::Address::new_static( + "Grandpa", + "MaxSetIdSessionEntries", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) } } } @@ -15095,7 +14857,7 @@ pub mod api { use super::{root_mod, runtime_types}; #[doc = "Error for the treasury pallet."] pub type Error = runtime_types::pallet_treasury::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_treasury::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -15218,15 +14980,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] - #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] - #[doc = "proposal is awarded."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `ProposalCount`, `origin account`"] - #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] - #[doc = "# "] + #[doc = "See [`Pallet::propose_spend`]."] pub fn propose_spend( &self, value: ::core::primitive::u128, @@ -15248,15 +15002,7 @@ pub mod api { ) } - #[doc = "Reject a proposed spend. The original deposit will be slashed."] - #[doc = ""] - #[doc = "May only be called from `T::RejectOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] - #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] - #[doc = "# "] + #[doc = "See [`Pallet::reject_proposal`]."] pub fn reject_proposal( &self, proposal_id: ::core::primitive::u32, @@ -15273,16 +15019,7 @@ pub mod api { ) } - #[doc = "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary"] - #[doc = "and the original deposit will be returned."] - #[doc = ""] - #[doc = "May only be called from `T::ApproveOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)."] - #[doc = "- DbReads: `Proposals`, `Approvals`"] - #[doc = "- DbWrite: `Approvals`"] - #[doc = "# "] + #[doc = "See [`Pallet::approve_proposal`]."] pub fn approve_proposal( &self, proposal_id: ::core::primitive::u32, @@ -15299,14 +15036,7 @@ pub mod api { ) } - #[doc = "Propose and approve a spend of treasury funds."] - #[doc = ""] - #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] - #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] - #[doc = "- `beneficiary`: The destination account for the transfer."] - #[doc = ""] - #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] - #[doc = "beneficiary."] + #[doc = "See [`Pallet::spend`]."] pub fn spend( &self, amount: ::core::primitive::u128, @@ -15330,21 +15060,7 @@ pub mod api { ) } - #[doc = "Force a previously approved proposal to be removed from the approval queue."] - #[doc = "The original deposit will no longer be returned."] - #[doc = ""] - #[doc = "May only be called from `T::RejectOrigin`."] - #[doc = "- `proposal_id`: The index of a proposal"] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(A) where `A` is the number of approvals"] - #[doc = "- Db reads and writes: `Approvals`"] - #[doc = "# "] - #[doc = ""] - #[doc = "Errors:"] - #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] - #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] - #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + #[doc = "See [`Pallet::remove_approval`]."] pub fn remove_approval( &self, proposal_id: ::core::primitive::u32, @@ -15363,7 +15079,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_treasury::pallet::Event; pub mod events { use super::runtime_types; @@ -15675,7 +15391,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, ::subxt::storage::address::Yes, @@ -15705,42 +15421,60 @@ pub mod api { &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("Treasury", "ProposalBond", [ - 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, 114u8, - 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, 200u8, - 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "ProposalBond", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) } #[doc = " Minimum amount of funds that should be placed in a deposit for making a proposal."] pub fn proposal_bond_minimum( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Treasury", "ProposalBondMinimum", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "ProposalBondMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " Maximum amount of funds that should be placed in a deposit for making a proposal."] pub fn proposal_bond_maximum( &self, ) -> ::subxt::constants::Address<::core::option::Option<::core::primitive::u128>> { - ::subxt::constants::Address::new_static("Treasury", "ProposalBondMaximum", [ - 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, - 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, 215u8, - 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, 147u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "ProposalBondMaximum", + [ + 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, + 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, + 215u8, 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, + 147u8, + ], + ) } #[doc = " Period between successive spends."] pub fn spend_period(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Treasury", "SpendPeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "SpendPeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Percentage of spare funds (if any) that are burnt per spend period."] @@ -15748,33 +15482,46 @@ pub mod api { &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("Treasury", "Burn", [ - 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, 114u8, - 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, 200u8, - 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "Burn", + [ + 65u8, 93u8, 120u8, 165u8, 204u8, 81u8, 159u8, 163u8, 93u8, 135u8, + 114u8, 121u8, 147u8, 35u8, 215u8, 213u8, 4u8, 223u8, 83u8, 37u8, 225u8, + 200u8, 189u8, 156u8, 140u8, 36u8, 58u8, 46u8, 42u8, 232u8, 155u8, 0u8, + ], + ) } #[doc = " The treasury's pallet id, used for deriving its sovereign account ID."] pub fn pallet_id( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("Treasury", "PalletId", [ - 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, - 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, - 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) } #[doc = " The maximum number of approvals that can wait in the spending queue."] #[doc = ""] #[doc = " NOTE: This parameter is also used within the Bounties Pallet extension if enabled."] pub fn max_approvals(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Treasury", "MaxApprovals", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Treasury", + "MaxApprovals", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } @@ -15783,7 +15530,7 @@ pub mod api { use super::{root_mod, runtime_types}; #[doc = "Error for the Sudo pallet"] pub type Error = runtime_types::pallet_sudo::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_sudo::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -15881,16 +15628,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + 10,000."] - #[doc = "# "] + #[doc = "See [`Pallet::sudo`]."] pub fn sudo( &self, call: runtime_types::da_runtime::RuntimeCall, @@ -15902,24 +15640,14 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 126u8, 151u8, 82u8, 38u8, 67u8, 149u8, 126u8, 220u8, 107u8, 133u8, - 149u8, 47u8, 46u8, 28u8, 21u8, 239u8, 253u8, 176u8, 231u8, 124u8, - 150u8, 127u8, 72u8, 205u8, 234u8, 45u8, 132u8, 32u8, 184u8, 75u8, 31u8, - 201u8, + 115u8, 211u8, 9u8, 14u8, 126u8, 94u8, 205u8, 184u8, 36u8, 23u8, 96u8, + 244u8, 87u8, 102u8, 70u8, 124u8, 96u8, 70u8, 60u8, 202u8, 38u8, 47u8, + 123u8, 55u8, 24u8, 93u8, 169u8, 85u8, 247u8, 45u8, 112u8, 230u8, ], ) } - #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] - #[doc = "This function does not check the weight of the call, and instead allows the"] - #[doc = "Sudo user to specify the weight of the call."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- The weight of this call is defined by the caller."] - #[doc = "# "] + #[doc = "See [`Pallet::sudo_unchecked_weight`]."] pub fn sudo_unchecked_weight( &self, call: runtime_types::da_runtime::RuntimeCall, @@ -15933,23 +15661,15 @@ pub mod api { weight, }, [ - 74u8, 19u8, 83u8, 84u8, 119u8, 0u8, 69u8, 87u8, 11u8, 156u8, 19u8, - 235u8, 170u8, 164u8, 5u8, 144u8, 157u8, 170u8, 106u8, 74u8, 18u8, - 129u8, 250u8, 9u8, 200u8, 52u8, 65u8, 6u8, 213u8, 216u8, 48u8, 174u8, + 49u8, 133u8, 238u8, 204u8, 210u8, 155u8, 88u8, 95u8, 201u8, 135u8, + 189u8, 255u8, 81u8, 67u8, 155u8, 238u8, 79u8, 240u8, 148u8, 174u8, + 32u8, 120u8, 143u8, 123u8, 22u8, 232u8, 100u8, 83u8, 79u8, 84u8, 118u8, + 42u8, ], ) } - #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] - #[doc = "key."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB change."] - #[doc = "# "] + #[doc = "See [`Pallet::set_key`]."] pub fn set_key( &self, new: ::subxt::utils::MultiAddress< @@ -15957,24 +15677,20 @@ pub mod api { ::core::primitive::u32, >, ) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Sudo", "set_key", types::SetKey { new }, [ - 46u8, 208u8, 84u8, 223u8, 141u8, 188u8, 184u8, 156u8, 101u8, 97u8, 255u8, - 166u8, 168u8, 102u8, 75u8, 3u8, 149u8, 105u8, 202u8, 220u8, 187u8, 117u8, - 156u8, 83u8, 159u8, 115u8, 231u8, 201u8, 171u8, 47u8, 170u8, 36u8, - ]) + ::subxt::tx::Payload::new_static( + "Sudo", + "set_key", + types::SetKey { new }, + [ + 46u8, 208u8, 84u8, 223u8, 141u8, 188u8, 184u8, 156u8, 101u8, 97u8, + 255u8, 166u8, 168u8, 102u8, 75u8, 3u8, 149u8, 105u8, 202u8, 220u8, + 187u8, 117u8, 156u8, 83u8, 159u8, 115u8, 231u8, 201u8, 171u8, 47u8, + 170u8, 36u8, + ], + ) } - #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] - #[doc = "a given account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + 10,000."] - #[doc = "# "] + #[doc = "See [`Pallet::sudo_as`]."] pub fn sudo_as( &self, who: ::subxt::utils::MultiAddress< @@ -15991,15 +15707,16 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 15u8, 75u8, 186u8, 43u8, 252u8, 87u8, 185u8, 90u8, 17u8, 202u8, 15u8, - 237u8, 18u8, 136u8, 172u8, 49u8, 18u8, 0u8, 204u8, 4u8, 222u8, 46u8, - 177u8, 26u8, 195u8, 241u8, 236u8, 17u8, 154u8, 145u8, 110u8, 83u8, + 171u8, 1u8, 142u8, 53u8, 76u8, 179u8, 179u8, 181u8, 77u8, 118u8, 240u8, + 228u8, 12u8, 121u8, 254u8, 104u8, 40u8, 217u8, 143u8, 138u8, 147u8, + 212u8, 102u8, 69u8, 137u8, 125u8, 201u8, 32u8, 168u8, 31u8, 94u8, + 150u8, ], ) } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_sudo::pallet::Event; pub mod events { use super::runtime_types; @@ -16083,20 +15800,25 @@ pub mod api { (), (), > { - ::subxt::storage::address::Address::new_static("Sudo", "Key", vec![], [ - 72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8, - 31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8, 36u8, - 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8, - ]) + ::subxt::storage::address::Address::new_static( + "Sudo", + "Key", + vec![], + [ + 72u8, 14u8, 225u8, 162u8, 205u8, 247u8, 227u8, 105u8, 116u8, 57u8, 4u8, + 31u8, 84u8, 137u8, 227u8, 228u8, 133u8, 245u8, 206u8, 227u8, 117u8, + 36u8, 252u8, 151u8, 107u8, 15u8, 180u8, 4u8, 4u8, 152u8, 195u8, 144u8, + ], + ) } } } } pub mod im_online { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_im_online::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_im_online::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -16128,15 +15850,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "# "] - #[doc = "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is"] - #[doc = " length of `heartbeat.network_state.external_address`"] - #[doc = " - `O(K)`: decoding of length `K`"] - #[doc = " - `O(E)`: decoding/encoding of length `E`"] - #[doc = "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,"] - #[doc = " `ReceivedHeartbeats`"] - #[doc = "- DbWrites: `ReceivedHeartbeats`"] - #[doc = "# "] + #[doc = "See [`Pallet::heartbeat`]."] pub fn heartbeat( &self, heartbeat: runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, @@ -16150,16 +15864,16 @@ pub mod api { signature, }, [ - 191u8, 155u8, 217u8, 65u8, 8u8, 34u8, 41u8, 185u8, 187u8, 199u8, 164u8, - 48u8, 76u8, 123u8, 235u8, 182u8, 85u8, 107u8, 48u8, 158u8, 110u8, - 206u8, 145u8, 119u8, 165u8, 253u8, 27u8, 59u8, 0u8, 112u8, 241u8, - 242u8, + 145u8, 227u8, 53u8, 178u8, 195u8, 173u8, 7u8, 209u8, 148u8, 82u8, + 125u8, 236u8, 128u8, 10u8, 134u8, 114u8, 95u8, 104u8, 111u8, 202u8, + 59u8, 192u8, 178u8, 182u8, 102u8, 86u8, 88u8, 50u8, 92u8, 66u8, 144u8, + 131u8, ], ) } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_im_online::pallet::Event; pub mod events { use super::runtime_types; @@ -16272,31 +15986,34 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< runtime_types::pallet_im_online::sr25519::app_sr25519::Public, >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("ImOnline", "Keys", vec![], [ - 111u8, 104u8, 188u8, 46u8, 152u8, 140u8, 137u8, 244u8, 52u8, 214u8, 115u8, - 156u8, 39u8, 239u8, 15u8, 168u8, 193u8, 125u8, 57u8, 195u8, 250u8, 156u8, - 234u8, 222u8, 222u8, 253u8, 135u8, 232u8, 196u8, 163u8, 29u8, 218u8, - ]) + ::subxt::storage::address::Address::new_static( + "ImOnline", + "Keys", + vec![], + [ + 111u8, 104u8, 188u8, 46u8, 152u8, 140u8, 137u8, 244u8, 52u8, 214u8, + 115u8, 156u8, 39u8, 239u8, 15u8, 168u8, 193u8, 125u8, 57u8, 195u8, + 250u8, 156u8, 234u8, 222u8, 222u8, 253u8, 135u8, 232u8, 196u8, 163u8, + 29u8, 218u8, + ], + ) } - #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] - #[doc = " `WrapperOpaque`."] + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex`."] pub fn received_heartbeats( &self, _0: impl ::std::borrow::Borrow<::core::primitive::u32>, _1: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_support::traits::misc::WrapperOpaque< - runtime_types::pallet_im_online::BoundedOpaqueNetworkState, - >, + ::core::primitive::bool, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -16309,23 +16026,19 @@ pub mod api { ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), ], [ - 244u8, 195u8, 226u8, 146u8, 31u8, 109u8, 70u8, 31u8, 198u8, 97u8, - 116u8, 249u8, 115u8, 191u8, 13u8, 96u8, 12u8, 200u8, 235u8, 254u8, 3u8, - 36u8, 51u8, 43u8, 224u8, 251u8, 76u8, 197u8, 157u8, 173u8, 125u8, - 161u8, + 123u8, 182u8, 145u8, 49u8, 90u8, 110u8, 80u8, 53u8, 62u8, 45u8, 173u8, + 252u8, 126u8, 163u8, 229u8, 173u8, 54u8, 169u8, 61u8, 128u8, 10u8, + 33u8, 254u8, 78u8, 145u8, 134u8, 235u8, 26u8, 177u8, 55u8, 7u8, 75u8, ], ) } - #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex` to"] - #[doc = " `WrapperOpaque`."] + #[doc = " For each session index, we keep a mapping of `SessionIndex` and `AuthIndex`."] pub fn received_heartbeats_root( &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::frame_support::traits::misc::WrapperOpaque< - runtime_types::pallet_im_online::BoundedOpaqueNetworkState, - >, + ::core::primitive::bool, (), (), ::subxt::storage::address::Yes, @@ -16335,10 +16048,9 @@ pub mod api { "ReceivedHeartbeats", Vec::new(), [ - 244u8, 195u8, 226u8, 146u8, 31u8, 109u8, 70u8, 31u8, 198u8, 97u8, - 116u8, 249u8, 115u8, 191u8, 13u8, 96u8, 12u8, 200u8, 235u8, 254u8, 3u8, - 36u8, 51u8, 43u8, 224u8, 251u8, 76u8, 197u8, 157u8, 173u8, 125u8, - 161u8, + 123u8, 182u8, 145u8, 49u8, 90u8, 110u8, 80u8, 53u8, 62u8, 45u8, 173u8, + 252u8, 126u8, 163u8, 229u8, 173u8, 54u8, 169u8, 61u8, 128u8, 10u8, + 33u8, 254u8, 78u8, 145u8, 134u8, 235u8, 26u8, 177u8, 55u8, 7u8, 75u8, ], ) } @@ -16408,11 +16120,16 @@ pub mod api { pub fn unsigned_priority( &self, ) -> ::subxt::constants::Address<::core::primitive::u64> { - ::subxt::constants::Address::new_static("ImOnline", "UnsignedPriority", [ - 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, 59u8, - 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, 103u8, 119u8, - 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, 246u8, - ]) + ::subxt::constants::Address::new_static( + "ImOnline", + "UnsignedPriority", + [ + 128u8, 214u8, 205u8, 242u8, 181u8, 142u8, 124u8, 231u8, 190u8, 146u8, + 59u8, 226u8, 157u8, 101u8, 103u8, 117u8, 249u8, 65u8, 18u8, 191u8, + 103u8, 119u8, 53u8, 85u8, 81u8, 96u8, 220u8, 42u8, 184u8, 239u8, 42u8, + 246u8, + ], + ) } } } @@ -16428,7 +16145,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< runtime_types::sp_authority_discovery::app::Public, >, ::subxt::storage::address::Yes, @@ -16453,7 +16170,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec< runtime_types::sp_authority_discovery::app::Public, >, ::subxt::storage::address::Yes, @@ -16568,120 +16285,61 @@ pub mod api { "Reports", Vec::new(), [ - 242u8, 69u8, 20u8, 130u8, 250u8, 223u8, 68u8, 121u8, 187u8, 215u8, - 62u8, 204u8, 100u8, 51u8, 76u8, 164u8, 188u8, 182u8, 215u8, 93u8, - 161u8, 100u8, 187u8, 205u8, 73u8, 158u8, 57u8, 198u8, 239u8, 66u8, - 42u8, 65u8, - ], - ) - } - - #[doc = " A vector of reports of the same kind that happened at the same time slot."] - pub fn concurrent_reports_index( - &self, - _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 16usize]>, - _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::subxt::utils::H256>, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Offences", - "ConcurrentReportsIndex", - vec![ - ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), - ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), - ], - [ - 125u8, 222u8, 9u8, 162u8, 38u8, 89u8, 77u8, 187u8, 129u8, 103u8, 21u8, - 31u8, 117u8, 101u8, 43u8, 115u8, 170u8, 205u8, 142u8, 26u8, 27u8, - 184u8, 152u8, 133u8, 76u8, 203u8, 78u8, 113u8, 51u8, 141u8, 118u8, - 171u8, - ], - ) - } - - #[doc = " A vector of reports of the same kind that happened at the same time slot."] - pub fn concurrent_reports_index_root( - &self, - ) -> ::subxt::storage::address::Address< - ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::subxt::utils::H256>, - (), - ::subxt::storage::address::Yes, - ::subxt::storage::address::Yes, - > { - ::subxt::storage::address::Address::new_static( - "Offences", - "ConcurrentReportsIndex", - Vec::new(), - [ - 125u8, 222u8, 9u8, 162u8, 38u8, 89u8, 77u8, 187u8, 129u8, 103u8, 21u8, - 31u8, 117u8, 101u8, 43u8, 115u8, 170u8, 205u8, 142u8, 26u8, 27u8, - 184u8, 152u8, 133u8, 76u8, 203u8, 78u8, 113u8, 51u8, 141u8, 118u8, - 171u8, + 242u8, 69u8, 20u8, 130u8, 250u8, 223u8, 68u8, 121u8, 187u8, 215u8, + 62u8, 204u8, 100u8, 51u8, 76u8, 164u8, 188u8, 182u8, 215u8, 93u8, + 161u8, 100u8, 187u8, 205u8, 73u8, 158u8, 57u8, 198u8, 239u8, 66u8, + 42u8, 65u8, ], ) } - #[doc = " Enumerates all reports of a kind along with the time they happened."] - #[doc = ""] - #[doc = " All reports are sorted by the time of offence."] - #[doc = ""] - #[doc = " Note that the actual type of this mapping is `Vec`, this is because values of"] - #[doc = " different types are not supported at the moment so we are doing the manual serialization."] - pub fn reports_by_kind_index( + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index( &self, _0: impl ::std::borrow::Borrow<[::core::primitive::u8; 16usize]>, + _1: impl ::std::borrow::Borrow<[::core::primitive::u8]>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::subxt::utils::H256>, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, > { ::subxt::storage::address::Address::new_static( "Offences", - "ReportsByKindIndex", - vec![::subxt::storage::address::make_static_storage_map_key( - _0.borrow(), - )], + "ConcurrentReportsIndex", + vec![ + ::subxt::storage::address::make_static_storage_map_key(_0.borrow()), + ::subxt::storage::address::make_static_storage_map_key(_1.borrow()), + ], [ - 203u8, 135u8, 157u8, 163u8, 119u8, 91u8, 139u8, 122u8, 203u8, 203u8, - 165u8, 111u8, 226u8, 245u8, 126u8, 42u8, 106u8, 229u8, 223u8, 183u8, - 139u8, 234u8, 210u8, 211u8, 64u8, 31u8, 196u8, 5u8, 172u8, 81u8, 137u8, - 227u8, + 125u8, 222u8, 9u8, 162u8, 38u8, 89u8, 77u8, 187u8, 129u8, 103u8, 21u8, + 31u8, 117u8, 101u8, 43u8, 115u8, 170u8, 205u8, 142u8, 26u8, 27u8, + 184u8, 152u8, 133u8, 76u8, 203u8, 78u8, 113u8, 51u8, 141u8, 118u8, + 171u8, ], ) } - #[doc = " Enumerates all reports of a kind along with the time they happened."] - #[doc = ""] - #[doc = " All reports are sorted by the time of offence."] - #[doc = ""] - #[doc = " Note that the actual type of this mapping is `Vec`, this is because values of"] - #[doc = " different types are not supported at the moment so we are doing the manual serialization."] - pub fn reports_by_kind_index_root( + #[doc = " A vector of reports of the same kind that happened at the same time slot."] + pub fn concurrent_reports_index_root( &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - ::std::vec::Vec<::core::primitive::u8>, + ::std::vec::Vec<::subxt::utils::H256>, (), ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, > { ::subxt::storage::address::Address::new_static( "Offences", - "ReportsByKindIndex", + "ConcurrentReportsIndex", Vec::new(), [ - 203u8, 135u8, 157u8, 163u8, 119u8, 91u8, 139u8, 122u8, 203u8, 203u8, - 165u8, 111u8, 226u8, 245u8, 126u8, 42u8, 106u8, 229u8, 223u8, 183u8, - 139u8, 234u8, 210u8, 211u8, 64u8, 31u8, 196u8, 5u8, 172u8, 81u8, 137u8, - 227u8, + 125u8, 222u8, 9u8, 162u8, 38u8, 89u8, 77u8, 187u8, 129u8, 103u8, 21u8, + 31u8, 117u8, 101u8, 43u8, 115u8, 170u8, 205u8, 142u8, 26u8, 27u8, + 184u8, 152u8, 133u8, 76u8, 203u8, 78u8, 113u8, 51u8, 141u8, 118u8, + 171u8, ], ) } @@ -16770,9 +16428,9 @@ pub mod api { } pub mod scheduler { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_scheduler::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_scheduler::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -16921,7 +16579,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Anonymously schedule a task."] + #[doc = "See [`Pallet::schedule`]."] pub fn schedule( &self, when: ::core::primitive::u32, @@ -16942,15 +16600,15 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 132u8, 192u8, 19u8, 192u8, 196u8, 62u8, 208u8, 193u8, 23u8, 227u8, - 143u8, 95u8, 218u8, 209u8, 189u8, 183u8, 42u8, 34u8, 213u8, 69u8, - 225u8, 124u8, 11u8, 155u8, 244u8, 82u8, 109u8, 30u8, 182u8, 243u8, - 190u8, 93u8, + 105u8, 180u8, 206u8, 231u8, 176u8, 22u8, 221u8, 120u8, 43u8, 150u8, + 44u8, 204u8, 152u8, 22u8, 118u8, 101u8, 165u8, 245u8, 183u8, 228u8, + 129u8, 166u8, 134u8, 12u8, 174u8, 212u8, 77u8, 239u8, 31u8, 127u8, + 111u8, 133u8, ], ) } - #[doc = "Cancel an anonymously scheduled task."] + #[doc = "See [`Pallet::cancel`]."] pub fn cancel( &self, when: ::core::primitive::u32, @@ -16969,7 +16627,7 @@ pub mod api { ) } - #[doc = "Schedule a named task."] + #[doc = "See [`Pallet::schedule_named`]."] pub fn schedule_named( &self, id: [::core::primitive::u8; 32usize], @@ -16992,15 +16650,14 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 182u8, 139u8, 229u8, 211u8, 254u8, 4u8, 93u8, 96u8, 70u8, 109u8, 196u8, - 140u8, 140u8, 184u8, 185u8, 8u8, 196u8, 225u8, 105u8, 183u8, 120u8, - 177u8, 211u8, 40u8, 245u8, 244u8, 71u8, 181u8, 48u8, 74u8, 211u8, - 123u8, + 43u8, 11u8, 8u8, 156u8, 239u8, 243u8, 176u8, 94u8, 154u8, 37u8, 78u8, + 176u8, 83u8, 12u8, 138u8, 79u8, 150u8, 238u8, 29u8, 116u8, 214u8, 57u8, + 211u8, 168u8, 121u8, 77u8, 134u8, 43u8, 72u8, 95u8, 225u8, 222u8, ], ) } - #[doc = "Cancel a named scheduled task."] + #[doc = "See [`Pallet::cancel_named`]."] pub fn cancel_named( &self, id: [::core::primitive::u8; 32usize], @@ -17017,11 +16674,7 @@ pub mod api { ) } - #[doc = "Anonymously schedule a task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule`]."] - #[doc = "# "] + #[doc = "See [`Pallet::schedule_after`]."] pub fn schedule_after( &self, after: ::core::primitive::u32, @@ -17042,18 +16695,15 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 151u8, 78u8, 57u8, 186u8, 179u8, 254u8, 164u8, 45u8, 196u8, 198u8, - 144u8, 73u8, 114u8, 8u8, 215u8, 231u8, 83u8, 7u8, 73u8, 139u8, 112u8, - 213u8, 89u8, 19u8, 47u8, 47u8, 136u8, 128u8, 123u8, 131u8, 98u8, 53u8, + 86u8, 137u8, 116u8, 38u8, 238u8, 121u8, 182u8, 136u8, 166u8, 41u8, + 25u8, 157u8, 160u8, 43u8, 48u8, 98u8, 142u8, 89u8, 252u8, 50u8, 103u8, + 214u8, 227u8, 189u8, 37u8, 37u8, 242u8, 199u8, 147u8, 236u8, 92u8, + 39u8, ], ) } - #[doc = "Schedule a named task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule_named`](Self::schedule_named)."] - #[doc = "# "] + #[doc = "See [`Pallet::schedule_named_after`]."] pub fn schedule_named_after( &self, id: [::core::primitive::u8; 32usize], @@ -17076,9 +16726,9 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 242u8, 198u8, 254u8, 9u8, 255u8, 227u8, 60u8, 103u8, 3u8, 152u8, 103u8, - 136u8, 162u8, 207u8, 215u8, 105u8, 153u8, 59u8, 77u8, 198u8, 149u8, - 96u8, 87u8, 4u8, 48u8, 178u8, 146u8, 193u8, 157u8, 127u8, 114u8, 63u8, + 11u8, 176u8, 139u8, 184u8, 50u8, 135u8, 66u8, 173u8, 89u8, 244u8, 31u8, + 35u8, 245u8, 198u8, 98u8, 28u8, 193u8, 14u8, 206u8, 74u8, 221u8, 140u8, + 47u8, 94u8, 190u8, 2u8, 152u8, 21u8, 0u8, 192u8, 121u8, 105u8, ], ) } @@ -17253,7 +16903,7 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_scheduler::Scheduled< [::core::primitive::u8; 32usize], @@ -17290,7 +16940,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_scheduler::Scheduled< [::core::primitive::u8; 32usize], @@ -17384,31 +17034,44 @@ pub mod api { pub fn maximum_weight( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("Scheduler", "MaximumWeight", [ - 222u8, 183u8, 203u8, 169u8, 31u8, 134u8, 28u8, 12u8, 47u8, 140u8, 71u8, - 74u8, 61u8, 55u8, 71u8, 236u8, 215u8, 83u8, 28u8, 70u8, 45u8, 128u8, 184u8, - 57u8, 101u8, 83u8, 42u8, 165u8, 34u8, 155u8, 64u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Scheduler", + "MaximumWeight", + [ + 222u8, 183u8, 203u8, 169u8, 31u8, 134u8, 28u8, 12u8, 47u8, 140u8, 71u8, + 74u8, 61u8, 55u8, 71u8, 236u8, 215u8, 83u8, 28u8, 70u8, 45u8, 128u8, + 184u8, 57u8, 101u8, 83u8, 42u8, 165u8, 34u8, 155u8, 64u8, 145u8, + ], + ) } #[doc = " The maximum number of scheduled calls in the queue for a single block."] + #[doc = ""] + #[doc = " NOTE:"] + #[doc = " + Dependent pallets' benchmarks might require a higher limit for the setting. Set a"] + #[doc = " higher limit under `runtime-benchmarks` feature."] pub fn max_scheduled_per_block( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Scheduler", "MaxScheduledPerBlock", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Scheduler", + "MaxScheduledPerBlock", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod bounties { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_bounties::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_bounties::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -17619,18 +17282,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Propose a new bounty."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] - #[doc = "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,"] - #[doc = "or slashed when rejected."] - #[doc = ""] - #[doc = "- `curator`: The curator account whom will manage this bounty."] - #[doc = "- `fee`: The curator fee."] - #[doc = "- `value`: The total payment amount of this bounty, curator fee included."] - #[doc = "- `description`: The description of this bounty."] + #[doc = "See [`Pallet::propose_bounty`]."] pub fn propose_bounty( &self, value: ::core::primitive::u128, @@ -17648,14 +17300,7 @@ pub mod api { ) } - #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] - #[doc = "and the original deposit will be returned."] - #[doc = ""] - #[doc = "May only be called from `T::SpendOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::approve_bounty`]."] pub fn approve_bounty( &self, bounty_id: ::core::primitive::u32, @@ -17673,13 +17318,7 @@ pub mod api { ) } - #[doc = "Assign a curator to a funded bounty."] - #[doc = ""] - #[doc = "May only be called from `T::SpendOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::propose_curator`]."] pub fn propose_curator( &self, bounty_id: ::core::primitive::u32, @@ -17706,24 +17345,7 @@ pub mod api { ) } - #[doc = "Unassign curator from a bounty."] - #[doc = ""] - #[doc = "This function can only be called by the `RejectOrigin` a signed origin."] - #[doc = ""] - #[doc = "If this function is called by the `RejectOrigin`, we assume that the curator is"] - #[doc = "malicious or inactive. As a result, we will slash the curator when possible."] - #[doc = ""] - #[doc = "If the origin is the curator, we take this as a sign they are unable to do their job and"] - #[doc = "they willingly give up. We could slash them, but for now we allow them to recover their"] - #[doc = "deposit and exit without issue. (We may want to change this if it is abused.)"] - #[doc = ""] - #[doc = "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows"] - #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"] - #[doc = "we should pick a new curator. In this case the curator should also be slashed."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::unassign_curator`]."] pub fn unassign_curator( &self, bounty_id: ::core::primitive::u32, @@ -17741,14 +17363,7 @@ pub mod api { ) } - #[doc = "Accept the curator role for a bounty."] - #[doc = "A deposit will be reserved from curator and refund upon successful payout."] - #[doc = ""] - #[doc = "May only be called from the curator."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::accept_curator`]."] pub fn accept_curator( &self, bounty_id: ::core::primitive::u32, @@ -17765,17 +17380,7 @@ pub mod api { ) } - #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] - #[doc = "after a delay."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be the curator of this bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to award."] - #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::award_bounty`]."] pub fn award_bounty( &self, bounty_id: ::core::primitive::u32, @@ -17800,15 +17405,7 @@ pub mod api { ) } - #[doc = "Claim the payout from an awarded bounty after payout delay."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be the beneficiary of this bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to claim."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::claim_bounty`]."] pub fn claim_bounty( &self, bounty_id: ::core::primitive::u32, @@ -17826,16 +17423,7 @@ pub mod api { ) } - #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] - #[doc = "the curator deposit will be unreserved if possible."] - #[doc = ""] - #[doc = "Only `T::RejectOrigin` is able to cancel a bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to cancel."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::close_bounty`]."] pub fn close_bounty( &self, bounty_id: ::core::primitive::u32, @@ -17853,16 +17441,7 @@ pub mod api { ) } - #[doc = "Extend the expiry time of an active bounty."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be the curator of this bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to extend."] - #[doc = "- `remark`: additional information."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::extend_bounty_expiry`]."] pub fn extend_bounty_expiry( &self, bounty_id: ::core::primitive::u32, @@ -17882,7 +17461,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_bounties::pallet::Event; pub mod events { use super::runtime_types; @@ -18132,7 +17711,9 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -18156,7 +17737,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), (), ::subxt::storage::address::Yes, @@ -18178,7 +17761,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, ::subxt::storage::address::Yes, @@ -18206,11 +17789,15 @@ pub mod api { pub fn bounty_deposit_base( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Bounties", "BountyDepositBase", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "BountyDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The delay period for which a bounty beneficiary need to wait before claim the payout."] @@ -18233,11 +17820,16 @@ pub mod api { pub fn bounty_update_period( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Bounties", "BountyUpdatePeriod", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "BountyUpdatePeriod", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The curator deposit is calculated as a percentage of the curator fee."] @@ -18263,44 +17855,62 @@ pub mod api { pub fn curator_deposit_max( &self, ) -> ::subxt::constants::Address<::core::option::Option<::core::primitive::u128>> { - ::subxt::constants::Address::new_static("Bounties", "CuratorDepositMax", [ - 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, - 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, 215u8, - 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, 147u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "CuratorDepositMax", + [ + 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, + 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, + 215u8, 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, + 147u8, + ], + ) } #[doc = " Minimum amount of funds that should be placed in a deposit for making a proposal."] pub fn curator_deposit_min( &self, ) -> ::subxt::constants::Address<::core::option::Option<::core::primitive::u128>> { - ::subxt::constants::Address::new_static("Bounties", "CuratorDepositMin", [ - 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, - 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, 215u8, - 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, 147u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "CuratorDepositMin", + [ + 198u8, 51u8, 89u8, 159u8, 124u8, 251u8, 51u8, 80u8, 167u8, 193u8, 44u8, + 199u8, 80u8, 36u8, 41u8, 130u8, 137u8, 229u8, 178u8, 208u8, 37u8, + 215u8, 169u8, 183u8, 180u8, 191u8, 140u8, 240u8, 250u8, 61u8, 42u8, + 147u8, + ], + ) } #[doc = " Minimum value for a bounty."] pub fn bounty_value_minimum( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Bounties", "BountyValueMinimum", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "BountyValueMinimum", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The amount held on deposit per byte within the tip report reason or bounty description."] pub fn data_deposit_per_byte( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Bounties", "DataDepositPerByte", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "DataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " Maximum acceptable reason length."] @@ -18309,20 +17919,25 @@ pub mod api { pub fn maximum_reason_length( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Bounties", "MaximumReasonLength", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Bounties", + "MaximumReasonLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod tips { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_tips::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_tips::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -18464,25 +18079,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Report something `reason` that deserves a tip and claim any eventual the finder's fee."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] - #[doc = "`DataDepositPerByte` for each byte in `reason`."] - #[doc = ""] - #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] - #[doc = " a UTF-8-encoded URL."] - #[doc = "- `who`: The account which should be credited for the tip."] - #[doc = ""] - #[doc = "Emits `NewTip` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R)` where `R` length of `reason`."] - #[doc = " - encoding and hashing of 'reason'"] - #[doc = "- DbReads: `Reasons`, `Tips`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] + #[doc = "See [`Pallet::report_awesome`]."] pub fn report_awesome( &self, reason: ::std::vec::Vec<::core::primitive::u8>, @@ -18504,25 +18101,7 @@ pub mod api { ) } - #[doc = "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping."] - #[doc = ""] - #[doc = "If successful, the original deposit will be unreserved."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`"] - #[doc = "must have been reported by the signing account through `report_awesome` (and not"] - #[doc = "through `tip_new`)."] - #[doc = ""] - #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] - #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] - #[doc = ""] - #[doc = "Emits `TipRetracted` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`"] - #[doc = " - Depends on the length of `T::Hash` which is fixed."] - #[doc = "- DbReads: `Tips`, `origin account`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `origin account`"] - #[doc = "# "] + #[doc = "See [`Pallet::retract_tip`]."] pub fn retract_tip( &self, hash: ::subxt::utils::H256, @@ -18540,28 +18119,7 @@ pub mod api { ) } - #[doc = "Give a tip for something new; no finder's fee will be taken."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] - #[doc = "member of the `Tippers` set."] - #[doc = ""] - #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] - #[doc = " a UTF-8-encoded URL."] - #[doc = "- `who`: The account which should be credited for the tip."] - #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] - #[doc = " value of active tippers will be given to the `who`."] - #[doc = ""] - #[doc = "Emits `NewTip` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] - #[doc = " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by"] - #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of"] - #[doc = " `T::Tippers`."] - #[doc = " - `O(R)`: hashing and encoding of reason of length `R`"] - #[doc = "- DbReads: `Tippers`, `Reasons`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] + #[doc = "See [`Pallet::tip_new`]."] pub fn tip_new( &self, reason: ::std::vec::Vec<::core::primitive::u8>, @@ -18588,30 +18146,7 @@ pub mod api { ) } - #[doc = "Declare a tip value for an already-open tip."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] - #[doc = "member of the `Tippers` set."] - #[doc = ""] - #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] - #[doc = " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary"] - #[doc = " account ID."] - #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] - #[doc = " value of active tippers will be given to the `who`."] - #[doc = ""] - #[doc = "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period"] - #[doc = "has started."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`, insert tip and check closing, `T` is charged as upper bound given by"] - #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`."] - #[doc = ""] - #[doc = " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it"] - #[doc = " is weighted as if almost full i.e of length `T-1`."] - #[doc = "- DbReads: `Tippers`, `Tips`"] - #[doc = "- DbWrites: `Tips`"] - #[doc = "# "] + #[doc = "See [`Pallet::tip`]."] pub fn tip( &self, hash: ::subxt::utils::H256, @@ -18630,22 +18165,7 @@ pub mod api { ) } - #[doc = "Close and payout a tip."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "The tip identified by `hash` must have finished its countdown period."] - #[doc = ""] - #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] - #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost"] - #[doc = " depends on the implementation of `T::Tippers`."] - #[doc = "- DbReads: `Tips`, `Tippers`, `tip finder`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`"] - #[doc = "# "] + #[doc = "See [`Pallet::close_tip`]."] pub fn close_tip( &self, hash: ::subxt::utils::H256, @@ -18663,18 +18183,7 @@ pub mod api { ) } - #[doc = "Remove and slash an already-open tip."] - #[doc = ""] - #[doc = "May only be called from `T::RejectOrigin`."] - #[doc = ""] - #[doc = "As a result, the finder is slashed and the deposits are lost."] - #[doc = ""] - #[doc = "Emits `TipSlashed` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = " `T` is charged as upper bound given by `ContainsLengthBound`."] - #[doc = " The actual cost depends on the implementation of `T::Tippers`."] - #[doc = "# "] + #[doc = "See [`Pallet::slash_tip`]."] pub fn slash_tip( &self, hash: ::subxt::utils::H256, @@ -18693,7 +18202,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_tips::pallet::Event; pub mod events { use super::runtime_types; @@ -18860,11 +18369,16 @@ pub mod api { (), ::subxt::storage::address::Yes, > { - ::subxt::storage::address::Address::new_static("Tips", "Tips", Vec::new(), [ - 173u8, 172u8, 116u8, 247u8, 202u8, 228u8, 47u8, 222u8, 67u8, 146u8, 225u8, - 0u8, 74u8, 189u8, 226u8, 206u8, 245u8, 209u8, 26u8, 49u8, 189u8, 73u8, - 20u8, 117u8, 30u8, 41u8, 129u8, 170u8, 5u8, 226u8, 92u8, 140u8, - ]) + ::subxt::storage::address::Address::new_static( + "Tips", + "Tips", + Vec::new(), + [ + 173u8, 172u8, 116u8, 247u8, 202u8, 228u8, 47u8, 222u8, 67u8, 146u8, + 225u8, 0u8, 74u8, 189u8, 226u8, 206u8, 245u8, 209u8, 26u8, 49u8, 189u8, + 73u8, 20u8, 117u8, 30u8, 41u8, 129u8, 170u8, 5u8, 226u8, 92u8, 140u8, + ], + ) } #[doc = " Simple preimage lookup from the reason's hash to the original data. Again, has an"] @@ -18905,11 +18419,17 @@ pub mod api { (), ::subxt::storage::address::Yes, > { - ::subxt::storage::address::Address::new_static("Tips", "Reasons", Vec::new(), [ - 212u8, 224u8, 153u8, 133u8, 234u8, 213u8, 134u8, 255u8, 59u8, 61u8, 200u8, - 47u8, 186u8, 177u8, 35u8, 108u8, 85u8, 144u8, 185u8, 69u8, 159u8, 38u8, - 83u8, 166u8, 200u8, 20u8, 220u8, 234u8, 59u8, 61u8, 223u8, 167u8, - ]) + ::subxt::storage::address::Address::new_static( + "Tips", + "Reasons", + Vec::new(), + [ + 212u8, 224u8, 153u8, 133u8, 234u8, 213u8, 134u8, 255u8, 59u8, 61u8, + 200u8, 47u8, 186u8, 177u8, 35u8, 108u8, 85u8, 144u8, 185u8, 69u8, + 159u8, 38u8, 83u8, 166u8, 200u8, 20u8, 220u8, 234u8, 59u8, 61u8, 223u8, + 167u8, + ], + ) } } } @@ -18923,31 +18443,45 @@ pub mod api { pub fn maximum_reason_length( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Tips", "MaximumReasonLength", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Tips", + "MaximumReasonLength", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The amount held on deposit per byte within the tip report reason or bounty description."] pub fn data_deposit_per_byte( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Tips", "DataDepositPerByte", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Tips", + "DataDepositPerByte", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The period for which a tip remains open after is has achieved threshold tippers."] pub fn tip_countdown(&self) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Tips", "TipCountdown", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Tips", + "TipCountdown", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " The percent of the final tip which goes to the original reporter of the tip."] @@ -18955,22 +18489,31 @@ pub mod api { &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("Tips", "TipFindersFee", [ - 40u8, 171u8, 69u8, 196u8, 34u8, 184u8, 50u8, 128u8, 139u8, 192u8, 63u8, - 231u8, 249u8, 200u8, 252u8, 73u8, 244u8, 170u8, 51u8, 177u8, 106u8, 47u8, - 114u8, 234u8, 84u8, 104u8, 62u8, 118u8, 227u8, 50u8, 225u8, 122u8, - ]) + ::subxt::constants::Address::new_static( + "Tips", + "TipFindersFee", + [ + 40u8, 171u8, 69u8, 196u8, 34u8, 184u8, 50u8, 128u8, 139u8, 192u8, 63u8, + 231u8, 249u8, 200u8, 252u8, 73u8, 244u8, 170u8, 51u8, 177u8, 106u8, + 47u8, 114u8, 234u8, 84u8, 104u8, 62u8, 118u8, 227u8, 50u8, 225u8, + 122u8, + ], + ) } #[doc = " The amount held on deposit for placing a tip report."] pub fn tip_report_deposit_base( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Tips", "TipReportDepositBase", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Tips", + "TipReportDepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } } } @@ -18991,11 +18534,16 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("Mmr", "RootHash", vec![], [ - 111u8, 206u8, 173u8, 92u8, 67u8, 49u8, 150u8, 113u8, 90u8, 245u8, 38u8, - 254u8, 76u8, 250u8, 167u8, 66u8, 130u8, 129u8, 251u8, 220u8, 172u8, 229u8, - 162u8, 251u8, 36u8, 227u8, 43u8, 189u8, 7u8, 106u8, 23u8, 13u8, - ]) + ::subxt::storage::address::Address::new_static( + "Mmr", + "RootHash", + vec![], + [ + 111u8, 206u8, 173u8, 92u8, 67u8, 49u8, 150u8, 113u8, 90u8, 245u8, 38u8, + 254u8, 76u8, 250u8, 167u8, 66u8, 130u8, 129u8, 251u8, 220u8, 172u8, + 229u8, 162u8, 251u8, 36u8, 227u8, 43u8, 189u8, 7u8, 106u8, 23u8, 13u8, + ], + ) } #[doc = " Current size of the MMR (number of leaves)."] @@ -19061,11 +18609,16 @@ pub mod api { (), ::subxt::storage::address::Yes, > { - ::subxt::storage::address::Address::new_static("Mmr", "Nodes", Vec::new(), [ - 27u8, 84u8, 41u8, 195u8, 146u8, 81u8, 211u8, 189u8, 63u8, 125u8, 173u8, - 206u8, 69u8, 198u8, 202u8, 213u8, 89u8, 31u8, 89u8, 177u8, 76u8, 154u8, - 249u8, 197u8, 133u8, 78u8, 142u8, 71u8, 183u8, 3u8, 132u8, 25u8, - ]) + ::subxt::storage::address::Address::new_static( + "Mmr", + "Nodes", + Vec::new(), + [ + 27u8, 84u8, 41u8, 195u8, 146u8, 81u8, 211u8, 189u8, 63u8, 125u8, 173u8, + 206u8, 69u8, 198u8, 202u8, 213u8, 89u8, 31u8, 89u8, 177u8, 76u8, 154u8, + 249u8, 197u8, 133u8, 78u8, 142u8, 71u8, 183u8, 3u8, 132u8, 25u8, + ], + ) } } } @@ -19074,7 +18627,7 @@ pub mod api { use super::{root_mod, runtime_types}; #[doc = "Error for the System pallet"] pub type Error = runtime_types::da_control::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::da_control::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -19095,7 +18648,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct CreateApplicationKey { - pub key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, } @@ -19117,7 +18670,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SubmitData { - pub data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub data: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, } @@ -19149,10 +18702,10 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Creates an application key if `key` does not exist yet."] + #[doc = "See [`Pallet::create_application_key`]."] pub fn create_application_key( &self, - key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ) -> ::subxt::tx::Payload { @@ -19169,9 +18722,10 @@ pub mod api { ) } + #[doc = "See [`Pallet::submit_data`]."] pub fn submit_data( &self, - data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ) -> ::subxt::tx::Payload { @@ -19188,6 +18742,7 @@ pub mod api { ) } + #[doc = "See [`Pallet::submit_block_length_proposal`]."] pub fn submit_block_length_proposal( &self, rows: ::core::primitive::u32, @@ -19225,8 +18780,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] #[doc = "A new application key was created."] pub struct ApplicationKeyCreated { - pub key: - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + pub key: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, pub owner: ::subxt::utils::AccountId32, pub id: runtime_types::avail_core::AppId, } @@ -19249,8 +18805,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct DataSubmitted { pub who: ::subxt::utils::AccountId32, - pub data: - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + pub data: runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, } impl ::subxt::events::StaticEvent for DataSubmitted { const EVENT: &'static str = "DataSubmitted"; @@ -19308,7 +18865,7 @@ pub mod api { pub fn app_keys( &self, _0: impl ::std::borrow::Borrow< - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, >, @@ -19398,53 +18955,69 @@ pub mod api { pub fn min_block_rows( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("DataAvailability", "MinBlockRows", [ - 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, - 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, - 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, - ]) + ::subxt::constants::Address::new_static( + "DataAvailability", + "MinBlockRows", + [ + 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, + 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, + 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, + ], + ) } #[doc = " Maximum number of rows in a block."] pub fn max_block_rows( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("DataAvailability", "MaxBlockRows", [ - 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, - 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, - 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, - ]) + ::subxt::constants::Address::new_static( + "DataAvailability", + "MaxBlockRows", + [ + 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, + 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, + 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, + ], + ) } #[doc = " Minimum number of cols in a block."] pub fn min_block_cols( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("DataAvailability", "MinBlockCols", [ - 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, - 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, - 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, - ]) + ::subxt::constants::Address::new_static( + "DataAvailability", + "MinBlockCols", + [ + 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, + 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, + 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, + ], + ) } #[doc = " Maximum number of cols in a block."] pub fn max_block_cols( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("DataAvailability", "MaxBlockCols", [ - 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, - 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, - 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, - ]) + ::subxt::constants::Address::new_static( + "DataAvailability", + "MaxBlockCols", + [ + 65u8, 68u8, 180u8, 146u8, 16u8, 133u8, 230u8, 51u8, 17u8, 170u8, 88u8, + 49u8, 171u8, 96u8, 82u8, 152u8, 101u8, 63u8, 46u8, 141u8, 161u8, 104u8, + 204u8, 24u8, 1u8, 20u8, 116u8, 46u8, 232u8, 62u8, 223u8, 15u8, + ], + ) } } } } pub mod nomad_updater_manager { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::nomad_updater_manager::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::nomad_updater_manager::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -19455,7 +19028,7 @@ pub mod api { pub struct TransactionApi; impl TransactionApi {} } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::nomad_updater_manager::pallet::Event; pub mod events { use super::runtime_types; @@ -19531,9 +19104,9 @@ pub mod api { } pub mod nomad_home { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::nomad_home::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::nomad_home::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -19557,7 +19130,7 @@ pub mod api { #[codec(compact)] pub destination_domain: ::core::primitive::u32, pub recipient_address: ::subxt::utils::H256, - pub message_body: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub message_body: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, } @@ -19630,12 +19203,12 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Dispatch a message to the destination domain and recipient address."] + #[doc = "See [`Pallet::dispatch`]."] pub fn dispatch( &self, destination_domain: ::core::primitive::u32, recipient_address: ::subxt::utils::H256, - message_body: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + message_body: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ) -> ::subxt::tx::Payload { @@ -19655,7 +19228,7 @@ pub mod api { ) } - #[doc = "Verify/submit signed update."] + #[doc = "See [`Pallet::update`]."] pub fn update( &self, signed_update: runtime_types::nomad_core::update::SignedUpdate, @@ -19676,7 +19249,7 @@ pub mod api { ) } - #[doc = "Verify/slash updater for improper update."] + #[doc = "See [`Pallet::improper_update`]."] pub fn improper_update( &self, signed_update: runtime_types::nomad_core::update::SignedUpdate, @@ -19693,9 +19266,7 @@ pub mod api { ) } - #[doc = "Set new updater on self as well as updater manager."] - #[doc = "Note: Not exposed as pallet call, will only be callable by the"] - #[doc = "GovernanceRouter pallet when implemented."] + #[doc = "See [`Pallet::set_updater`]."] pub fn set_updater( &self, new_updater: ::subxt::utils::H160, @@ -19714,7 +19285,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::nomad_home::pallet::Event; pub mod events { use super::runtime_types; @@ -19822,11 +19393,16 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("NomadHome", "Base", vec![], [ - 254u8, 56u8, 220u8, 109u8, 51u8, 237u8, 70u8, 31u8, 134u8, 49u8, 145u8, - 104u8, 204u8, 243u8, 216u8, 242u8, 57u8, 113u8, 132u8, 190u8, 170u8, 80u8, - 232u8, 190u8, 37u8, 91u8, 20u8, 188u8, 41u8, 41u8, 187u8, 107u8, - ]) + ::subxt::storage::address::Address::new_static( + "NomadHome", + "Base", + vec![], + [ + 254u8, 56u8, 220u8, 109u8, 51u8, 237u8, 70u8, 31u8, 134u8, 49u8, 145u8, + 104u8, 204u8, 243u8, 216u8, 242u8, 57u8, 113u8, 132u8, 190u8, 170u8, + 80u8, 232u8, 190u8, 37u8, 91u8, 20u8, 188u8, 41u8, 41u8, 187u8, 107u8, + ], + ) } pub fn tree( @@ -19838,11 +19414,17 @@ pub mod api { ::subxt::storage::address::Yes, (), > { - ::subxt::storage::address::Address::new_static("NomadHome", "Tree", vec![], [ - 22u8, 211u8, 114u8, 109u8, 20u8, 79u8, 40u8, 238u8, 244u8, 223u8, 95u8, - 97u8, 85u8, 113u8, 201u8, 242u8, 23u8, 140u8, 106u8, 222u8, 130u8, 29u8, - 218u8, 108u8, 210u8, 13u8, 115u8, 231u8, 22u8, 137u8, 227u8, 175u8, - ]) + ::subxt::storage::address::Address::new_static( + "NomadHome", + "Tree", + vec![], + [ + 22u8, 211u8, 114u8, 109u8, 20u8, 79u8, 40u8, 238u8, 244u8, 223u8, 95u8, + 97u8, 85u8, 113u8, 201u8, 242u8, 23u8, 140u8, 106u8, 222u8, 130u8, + 29u8, 218u8, 108u8, 210u8, 13u8, 115u8, 231u8, 22u8, 137u8, 227u8, + 175u8, + ], + ) } pub fn nonces( @@ -19989,20 +19571,25 @@ pub mod api { pub fn max_message_body_bytes( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("NomadHome", "MaxMessageBodyBytes", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "NomadHome", + "MaxMessageBodyBytes", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod nomad_da_bridge { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::nomad_da_bridge::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::nomad_da_bridge::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -20040,7 +19627,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Dispatch a data root message to the home if the header is valid."] + #[doc = "See [`Pallet::try_dispatch_data_root`]."] pub fn try_dispatch_data_root( &self, destination_domain: ::core::primitive::u32, @@ -20067,7 +19654,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::nomad_da_bridge::pallet::Event; pub mod events { use super::runtime_types; @@ -20102,20 +19689,25 @@ pub mod api { pub fn da_bridge_pallet_id( &self, ) -> ::subxt::constants::Address<::subxt::utils::H256> { - ::subxt::constants::Address::new_static("NomadDABridge", "DABridgePalletId", [ - 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, 155u8, - 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, 204u8, - 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, 135u8, - ]) + ::subxt::constants::Address::new_static( + "NomadDABridge", + "DABridgePalletId", + [ + 115u8, 233u8, 13u8, 223u8, 88u8, 20u8, 202u8, 139u8, 153u8, 28u8, + 155u8, 157u8, 224u8, 66u8, 3u8, 250u8, 23u8, 53u8, 88u8, 168u8, 211u8, + 204u8, 122u8, 166u8, 248u8, 23u8, 174u8, 225u8, 99u8, 108u8, 89u8, + 135u8, + ], + ) } } } } pub mod preimage { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_preimage::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_preimage::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -20205,10 +19797,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Register a preimage on-chain."] - #[doc = ""] - #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"] - #[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."] + #[doc = "See [`Pallet::note_preimage`]."] pub fn note_preimage( &self, bytes: ::std::vec::Vec<::core::primitive::u8>, @@ -20225,12 +19814,7 @@ pub mod api { ) } - #[doc = "Clear an unrequested preimage from the runtime storage."] - #[doc = ""] - #[doc = "If `len` is provided, then it will be a much cheaper operation."] - #[doc = ""] - #[doc = "- `hash`: The hash of the preimage to be removed from the store."] - #[doc = "- `len`: The length of the preimage of `hash`."] + #[doc = "See [`Pallet::unnote_preimage`]."] pub fn unnote_preimage( &self, hash: ::subxt::utils::H256, @@ -20248,10 +19832,7 @@ pub mod api { ) } - #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] - #[doc = ""] - #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"] - #[doc = "a user may have paid, and take the control of the preimage out of their hands."] + #[doc = "See [`Pallet::request_preimage`]."] pub fn request_preimage( &self, hash: ::subxt::utils::H256, @@ -20268,9 +19849,7 @@ pub mod api { ) } - #[doc = "Clear a previously made request for a preimage."] - #[doc = ""] - #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."] + #[doc = "See [`Pallet::unrequest_preimage`]."] pub fn unrequest_preimage( &self, hash: ::subxt::utils::H256, @@ -20289,7 +19868,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_preimage::pallet::Event; pub mod events { use super::runtime_types; @@ -20422,7 +20001,9 @@ pub mod api { _1: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, (), ::subxt::storage::address::Yes, @@ -20446,7 +20027,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), (), ::subxt::storage::address::Yes, @@ -20467,9 +20050,9 @@ pub mod api { } pub mod multisig { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_multisig::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_multisig::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -20576,22 +20159,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] - #[doc = "multi-signature, but do not participate in the approval process."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result."] - #[doc = ""] - #[doc = "# "] - #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight: None"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] + #[doc = "See [`Pallet::as_multi_threshold_1`]."] pub fn as_multi_threshold_1( &self, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -20605,58 +20173,15 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 208u8, 9u8, 77u8, 122u8, 185u8, 9u8, 5u8, 118u8, 78u8, 129u8, 88u8, - 102u8, 37u8, 175u8, 34u8, 188u8, 7u8, 151u8, 240u8, 237u8, 46u8, 86u8, - 170u8, 103u8, 119u8, 96u8, 163u8, 70u8, 191u8, 88u8, 32u8, 210u8, + 27u8, 55u8, 124u8, 217u8, 104u8, 143u8, 19u8, 237u8, 35u8, 3u8, 224u8, + 74u8, 236u8, 148u8, 238u8, 153u8, 30u8, 114u8, 140u8, 25u8, 212u8, + 99u8, 63u8, 16u8, 122u8, 180u8, 247u8, 104u8, 147u8, 28u8, 202u8, + 114u8, ], ) } - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "If there are enough, then dispatch the call."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] - #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] - #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] - #[doc = "may be found in the deposited `MultisigExecuted` event."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(S + Z + Call)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- The weight of the `call`."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Multisig Storage, [Caller Account]"] - #[doc = " - Writes: Multisig Storage, [Caller Account]"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] + #[doc = "See [`Pallet::as_multi`]."] pub fn as_multi( &self, threshold: ::core::primitive::u16, @@ -20678,48 +20203,15 @@ pub mod api { max_weight, }, [ - 54u8, 186u8, 227u8, 85u8, 68u8, 154u8, 5u8, 230u8, 152u8, 31u8, 170u8, - 133u8, 186u8, 212u8, 8u8, 252u8, 135u8, 76u8, 235u8, 32u8, 106u8, 50u8, - 233u8, 91u8, 171u8, 25u8, 4u8, 140u8, 218u8, 44u8, 161u8, 155u8, + 161u8, 78u8, 65u8, 172u8, 140u8, 82u8, 98u8, 186u8, 176u8, 164u8, + 226u8, 67u8, 10u8, 126u8, 182u8, 129u8, 173u8, 92u8, 224u8, 8u8, 140u8, + 227u8, 111u8, 61u8, 85u8, 239u8, 65u8, 62u8, 159u8, 251u8, 218u8, + 134u8, ], ) } - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account]"] - #[doc = " - Write: Multisig Storage, [Caller Account]"] - #[doc = "# "] + #[doc = "See [`Pallet::approve_as_multi`]."] pub fn approve_as_multi( &self, threshold: ::core::primitive::u16, @@ -20748,32 +20240,7 @@ pub mod api { ) } - #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] - #[doc = "for this operation will be unreserved on success."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] - #[doc = "transaction for this dispatch."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- One event."] - #[doc = "- I/O: 1 read `O(S)`, one remove."] - #[doc = "- Storage: removes one item."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] - #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] - #[doc = "# "] + #[doc = "See [`Pallet::cancel_as_multi`]."] pub fn cancel_as_multi( &self, threshold: ::core::primitive::u16, @@ -20800,7 +20267,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_multisig::pallet::Event; pub mod events { use super::runtime_types; @@ -20974,11 +20441,15 @@ pub mod api { #[doc = " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is"] #[doc = " `32 + sizeof(AccountId)` bytes."] pub fn deposit_base(&self) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Multisig", "DepositBase", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Multisig", + "DepositBase", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The amount of currency needed per unit threshold when creating a multisig execution."] @@ -20987,31 +20458,40 @@ pub mod api { pub fn deposit_factor( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Multisig", "DepositFactor", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Multisig", + "DepositFactor", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The maximum amount of signatories allowed in the multisig."] pub fn max_signatories( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Multisig", "MaxSignatories", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Multisig", + "MaxSignatories", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod voter_list { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_bags_list::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_bags_list::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -21067,16 +20547,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] - #[doc = "changed its score that it should properly fall into a different bag than its current"] - #[doc = "one."] - #[doc = ""] - #[doc = "Anyone can call this function about any potentially dislocated account."] - #[doc = ""] - #[doc = "Will always update the stored score of `dislocated` to the correct score, based on"] - #[doc = "`ScoreProvider`."] - #[doc = ""] - #[doc = "If `dislocated` does not exists, it returns an error."] + #[doc = "See [`Pallet::rebag`]."] pub fn rebag( &self, dislocated: ::subxt::utils::MultiAddress< @@ -21096,14 +20567,7 @@ pub mod api { ) } - #[doc = "Move the caller's Id directly in front of `lighter`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and can only be called by the Id of"] - #[doc = "the account going in front of `lighter`."] - #[doc = ""] - #[doc = "Only works if"] - #[doc = "- both nodes are within the same bag,"] - #[doc = "- and `origin` has a greater `Score` than `lighter`."] + #[doc = "See [`Pallet::put_in_front_of`]."] pub fn put_in_front_of( &self, lighter: ::subxt::utils::MultiAddress< @@ -21125,7 +20589,7 @@ pub mod api { } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_bags_list::pallet::Event; pub mod events { use super::runtime_types; @@ -21357,20 +20821,24 @@ pub mod api { pub fn bag_thresholds( &self, ) -> ::subxt::constants::Address<::std::vec::Vec<::core::primitive::u64>> { - ::subxt::constants::Address::new_static("VoterList", "BagThresholds", [ - 215u8, 118u8, 183u8, 172u8, 4u8, 42u8, 248u8, 108u8, 4u8, 110u8, 43u8, - 165u8, 228u8, 7u8, 36u8, 30u8, 135u8, 184u8, 56u8, 201u8, 107u8, 68u8, - 25u8, 164u8, 134u8, 32u8, 82u8, 107u8, 200u8, 219u8, 212u8, 198u8, - ]) + ::subxt::constants::Address::new_static( + "VoterList", + "BagThresholds", + [ + 215u8, 118u8, 183u8, 172u8, 4u8, 42u8, 248u8, 108u8, 4u8, 110u8, 43u8, + 165u8, 228u8, 7u8, 36u8, 30u8, 135u8, 184u8, 56u8, 201u8, 107u8, 68u8, + 25u8, 164u8, 134u8, 32u8, 82u8, 107u8, 200u8, 219u8, 212u8, 198u8, + ], + ) } } } } pub mod nomination_pools { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_nomination_pools::pallet::Error; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_nomination_pools::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -21532,7 +21000,7 @@ pub mod api { ::subxt::utils::AccountId32, ::core::primitive::u32, >, - pub state_toggler: ::subxt::utils::MultiAddress< + pub bouncer: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, @@ -21565,14 +21033,184 @@ pub mod api { ::subxt::utils::AccountId32, ::core::primitive::u32, >, - pub state_toggler: ::subxt::utils::MultiAddress< + pub bouncer: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for CreateWithPoolId { + const CALL: &'static str = "create_with_pool_id"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Nominate { + pub pool_id: ::core::primitive::u32, + pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + } + impl ::subxt::blocks::StaticExtrinsic for Nominate { + const CALL: &'static str = "nominate"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetState { + pub pool_id: ::core::primitive::u32, + pub state: runtime_types::pallet_nomination_pools::PoolState, + } + impl ::subxt::blocks::StaticExtrinsic for SetState { + const CALL: &'static str = "set_state"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetMetadata { + pub pool_id: ::core::primitive::u32, + pub metadata: ::std::vec::Vec<::core::primitive::u8>, + } + impl ::subxt::blocks::StaticExtrinsic for SetMetadata { + const CALL: &'static str = "set_metadata"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SetConfigs { + pub min_join_bond: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, + pub min_create_bond: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, + pub max_pools: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub max_members: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub max_members_per_pool: + runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, + } + impl ::subxt::blocks::StaticExtrinsic for SetConfigs { + const CALL: &'static str = "set_configs"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct UpdateRoles { + pub pool_id: ::core::primitive::u32, + pub new_root: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + pub new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + pub new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< + ::subxt::utils::AccountId32, + >, + } + impl ::subxt::blocks::StaticExtrinsic for UpdateRoles { + const CALL: &'static str = "update_roles"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct Chill { + pub pool_id: ::core::primitive::u32, + } + impl ::subxt::blocks::StaticExtrinsic for Chill { + const CALL: &'static str = "chill"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondExtraOther { + pub member: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, - pub pool_id: ::core::primitive::u32, + pub extra: + runtime_types::pallet_nomination_pools::BondExtra<::core::primitive::u128>, } - impl ::subxt::blocks::StaticExtrinsic for CreateWithPoolId { - const CALL: &'static str = "create_with_pool_id"; + impl ::subxt::blocks::StaticExtrinsic for BondExtraOther { + const CALL: &'static str = "bond_extra_other"; const PALLET: &'static str = "NominationPools"; } #[derive( @@ -21588,12 +21226,11 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Nominate { - pub pool_id: ::core::primitive::u32, - pub validators: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub struct SetClaimPermission { + pub permission: runtime_types::pallet_nomination_pools::ClaimPermission, } - impl ::subxt::blocks::StaticExtrinsic for Nominate { - const CALL: &'static str = "nominate"; + impl ::subxt::blocks::StaticExtrinsic for SetClaimPermission { + const CALL: &'static str = "set_claim_permission"; const PALLET: &'static str = "NominationPools"; } #[derive( @@ -21609,12 +21246,11 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetState { - pub pool_id: ::core::primitive::u32, - pub state: runtime_types::pallet_nomination_pools::PoolState, + pub struct ClaimPayoutOther { + pub other: ::subxt::utils::AccountId32, } - impl ::subxt::blocks::StaticExtrinsic for SetState { - const CALL: &'static str = "set_state"; + impl ::subxt::blocks::StaticExtrinsic for ClaimPayoutOther { + const CALL: &'static str = "claim_payout_other"; const PALLET: &'static str = "NominationPools"; } #[derive( @@ -21630,12 +21266,15 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetMetadata { + pub struct SetCommission { pub pool_id: ::core::primitive::u32, - pub metadata: ::std::vec::Vec<::core::primitive::u8>, + pub new_commission: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, } - impl ::subxt::blocks::StaticExtrinsic for SetMetadata { - const CALL: &'static str = "set_metadata"; + impl ::subxt::blocks::StaticExtrinsic for SetCommission { + const CALL: &'static str = "set_commission"; const PALLET: &'static str = "NominationPools"; } #[derive( @@ -21651,20 +21290,12 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SetConfigs { - pub min_join_bond: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, - pub min_create_bond: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u128>, - pub max_pools: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, - pub max_members: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, - pub max_members_per_pool: - runtime_types::pallet_nomination_pools::ConfigOp<::core::primitive::u32>, + pub struct SetCommissionMax { + pub pool_id: ::core::primitive::u32, + pub max_commission: runtime_types::sp_arithmetic::per_things::Perbill, } - impl ::subxt::blocks::StaticExtrinsic for SetConfigs { - const CALL: &'static str = "set_configs"; + impl ::subxt::blocks::StaticExtrinsic for SetCommissionMax { + const CALL: &'static str = "set_commission_max"; const PALLET: &'static str = "NominationPools"; } #[derive( @@ -21680,20 +21311,14 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct UpdateRoles { + pub struct SetCommissionChangeRate { pub pool_id: ::core::primitive::u32, - pub new_root: runtime_types::pallet_nomination_pools::ConfigOp< - ::subxt::utils::AccountId32, - >, - pub new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< - ::subxt::utils::AccountId32, - >, - pub new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< - ::subxt::utils::AccountId32, + pub change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, >, } - impl ::subxt::blocks::StaticExtrinsic for UpdateRoles { - const CALL: &'static str = "update_roles"; + impl ::subxt::blocks::StaticExtrinsic for SetCommissionChangeRate { + const CALL: &'static str = "set_commission_change_rate"; const PALLET: &'static str = "NominationPools"; } #[derive( @@ -21710,26 +21335,17 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Chill { + pub struct ClaimCommission { pub pool_id: ::core::primitive::u32, } - impl ::subxt::blocks::StaticExtrinsic for Chill { - const CALL: &'static str = "chill"; + impl ::subxt::blocks::StaticExtrinsic for ClaimCommission { + const CALL: &'static str = "claim_commission"; const PALLET: &'static str = "NominationPools"; } } pub struct TransactionApi; impl TransactionApi { - #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] - #[doc = "pools account and immediately increases the pools bond."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "* An account can only be a member of a single pool."] - #[doc = "* An account cannot join the same pool multiple times."] - #[doc = "* This call will *not* dust the member account, so the member must have at least"] - #[doc = " `existential deposit + amount` in their account."] - #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + #[doc = "See [`Pallet::join`]."] pub fn join( &self, amount: ::core::primitive::u128, @@ -21747,12 +21363,7 @@ pub mod api { ) } - #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] - #[doc = ""] - #[doc = "Additional funds can come from either the free balance of the account, of from the"] - #[doc = "accumulated rewards, see [`BondExtra`]."] - #[doc = ""] - #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + #[doc = "See [`Pallet::bond_extra`]."] pub fn bond_extra( &self, extra: runtime_types::pallet_nomination_pools::BondExtra< @@ -21772,12 +21383,7 @@ pub mod api { ) } - #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] - #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] - #[doc = "time claiming rewards). The payout will be transferred to the member's account."] - #[doc = ""] - #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] - #[doc = "members in the pools stake. Rewards do not \"expire\"."] + #[doc = "See [`Pallet::claim_payout`]."] pub fn claim_payout(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", @@ -21791,37 +21397,7 @@ pub mod api { ) } - #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] - #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"] - #[doc = "rewards would be forfeited."] - #[doc = ""] - #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] - #[doc = "account)."] - #[doc = ""] - #[doc = "# Conditions for a permissionless dispatch."] - #[doc = ""] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler. This is"] - #[doc = " refereed to as a kick."] - #[doc = "* The pool is destroying and the member is not the depositor."] - #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] - #[doc = " pool."] - #[doc = ""] - #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] - #[doc = "`member_account`):"] - #[doc = ""] - #[doc = "* The caller is not the depositor."] - #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"] - #[doc = " pool."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] - #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] - #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] - #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] - #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] - #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] - #[doc = "staking system."] + #[doc = "See [`Pallet::unbond`]."] pub fn unbond( &self, member_account: ::subxt::utils::MultiAddress< @@ -21845,12 +21421,7 @@ pub mod api { ) } - #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] - #[doc = ""] - #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] - #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] - #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] - #[doc = "they attempt to unbond."] + #[doc = "See [`Pallet::pool_withdraw_unbonded`]."] pub fn pool_withdraw_unbonded( &self, pool_id: ::core::primitive::u32, @@ -21871,25 +21442,7 @@ pub mod api { ) } - #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] - #[doc = "error is returned."] - #[doc = ""] - #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] - #[doc = "account)."] - #[doc = ""] - #[doc = "# Conditions for a permissionless dispatch"] - #[doc = ""] - #[doc = "* The pool is in destroy mode and the target is not the depositor."] - #[doc = "* The target is the depositor and they are the only member in the sub pools."] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler."] - #[doc = ""] - #[doc = "# Conditions for permissioned dispatch"] - #[doc = ""] - #[doc = "* The caller is the target and they are not the depositor."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "If the target is the depositor, the pool will be destroyed."] + #[doc = "See [`Pallet::withdraw_unbonded`]."] pub fn withdraw_unbonded( &self, member_account: ::subxt::utils::MultiAddress< @@ -21913,23 +21466,7 @@ pub mod api { ) } - #[doc = "Create a new delegation pool."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"] - #[doc = " deposit since the pools creator cannot fully unbond funds until the pool is being"] - #[doc = " destroyed."] - #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"] - #[doc = " creating multiple pools in the same extrinsic."] - #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] - #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] - #[doc = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"] - #[doc = "needs at have at least `amount + existential_deposit` transferrable."] + #[doc = "See [`Pallet::create`]."] pub fn create( &self, amount: ::core::primitive::u128, @@ -21941,7 +21478,7 @@ pub mod api { ::subxt::utils::AccountId32, ::core::primitive::u32, >, - state_toggler: ::subxt::utils::MultiAddress< + bouncer: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, @@ -21953,23 +21490,18 @@ pub mod api { amount, root, nominator, - state_toggler, + bouncer, }, [ - 249u8, 135u8, 178u8, 135u8, 148u8, 28u8, 232u8, 17u8, 166u8, 105u8, - 98u8, 216u8, 201u8, 186u8, 74u8, 174u8, 216u8, 25u8, 34u8, 206u8, - 107u8, 36u8, 248u8, 52u8, 239u8, 23u8, 87u8, 27u8, 4u8, 42u8, 205u8, - 180u8, + 4u8, 111u8, 53u8, 212u8, 226u8, 159u8, 144u8, 191u8, 152u8, 252u8, + 30u8, 169u8, 185u8, 150u8, 229u8, 234u8, 140u8, 46u8, 237u8, 197u8, + 164u8, 233u8, 184u8, 60u8, 51u8, 184u8, 71u8, 40u8, 61u8, 140u8, 204u8, + 100u8, ], ) } - #[doc = "Create a new delegation pool with a previously used pool id"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "same as `create` with the inclusion of"] - #[doc = "* `pool_id` - `A valid PoolId."] + #[doc = "See [`Pallet::create_with_pool_id`]."] pub fn create_with_pool_id( &self, amount: ::core::primitive::u128, @@ -21981,7 +21513,7 @@ pub mod api { ::subxt::utils::AccountId32, ::core::primitive::u32, >, - state_toggler: ::subxt::utils::MultiAddress< + bouncer: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, @@ -21994,24 +21526,18 @@ pub mod api { amount, root, nominator, - state_toggler, + bouncer, pool_id, }, [ - 219u8, 136u8, 46u8, 64u8, 62u8, 176u8, 117u8, 59u8, 234u8, 215u8, - 205u8, 226u8, 39u8, 96u8, 214u8, 74u8, 209u8, 130u8, 2u8, 242u8, 105u8, - 105u8, 114u8, 7u8, 255u8, 177u8, 207u8, 189u8, 133u8, 38u8, 54u8, 14u8, + 102u8, 254u8, 178u8, 47u8, 79u8, 12u8, 230u8, 142u8, 226u8, 205u8, + 25u8, 166u8, 133u8, 0u8, 172u8, 58u8, 75u8, 96u8, 71u8, 187u8, 237u8, + 173u8, 156u8, 20u8, 78u8, 48u8, 62u8, 35u8, 130u8, 8u8, 117u8, 222u8, ], ) } - #[doc = "Nominate on behalf of the pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] - #[doc = "root role."] - #[doc = ""] - #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] - #[doc = "account."] + #[doc = "See [`Pallet::nominate`]."] pub fn nominate( &self, pool_id: ::core::primitive::u32, @@ -22032,16 +21558,7 @@ pub mod api { ) } - #[doc = "Set a new state for the pool."] - #[doc = ""] - #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] - #[doc = "change again."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be either:"] - #[doc = ""] - #[doc = "1. signed by the state toggler, or the root role of the pool,"] - #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] - #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] + #[doc = "See [`Pallet::set_state`]."] pub fn set_state( &self, pool_id: ::core::primitive::u32, @@ -22059,10 +21576,7 @@ pub mod api { ) } - #[doc = "Set a new metadata for the pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] - #[doc = "of the pool."] + #[doc = "See [`Pallet::set_metadata`]."] pub fn set_metadata( &self, pool_id: ::core::primitive::u32, @@ -22080,16 +21594,7 @@ pub mod api { ) } - #[doc = "Update configurations for the nomination pools. The origin for this call must be"] - #[doc = "Root."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] - #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] - #[doc = "* `max_pools` - Set [`MaxPools`]."] - #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] - #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + #[doc = "See [`Pallet::set_configs`]."] pub fn set_configs( &self, min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< @@ -22107,6 +21612,9 @@ pub mod api { max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp< ::core::primitive::u32, >, + global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, ) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "NominationPools", @@ -22117,23 +21625,17 @@ pub mod api { max_pools, max_members, max_members_per_pool, + global_max_commission, }, [ - 159u8, 173u8, 159u8, 173u8, 71u8, 89u8, 0u8, 145u8, 157u8, 103u8, 25u8, - 84u8, 129u8, 159u8, 154u8, 60u8, 67u8, 155u8, 13u8, 162u8, 173u8, - 250u8, 168u8, 215u8, 134u8, 141u8, 58u8, 190u8, 90u8, 213u8, 239u8, - 216u8, + 60u8, 29u8, 13u8, 45u8, 37u8, 171u8, 129u8, 133u8, 127u8, 42u8, 104u8, + 45u8, 29u8, 58u8, 209u8, 48u8, 119u8, 255u8, 86u8, 13u8, 243u8, 124u8, + 57u8, 250u8, 156u8, 189u8, 59u8, 88u8, 64u8, 109u8, 219u8, 68u8, ], ) } - #[doc = "Update the roles of the pool."] - #[doc = ""] - #[doc = "The root is the only entity that can change any of the roles, including itself,"] - #[doc = "excluding the depositor, who can never change."] - #[doc = ""] - #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"] - #[doc = "most pool members and they should be informed of changes to pool roles."] + #[doc = "See [`Pallet::update_roles`]."] pub fn update_roles( &self, pool_id: ::core::primitive::u32, @@ -22143,7 +21645,7 @@ pub mod api { new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, - new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, ) -> ::subxt::tx::Payload { @@ -22154,24 +21656,17 @@ pub mod api { pool_id, new_root, new_nominator, - new_state_toggler, + new_bouncer, }, [ - 90u8, 1u8, 203u8, 203u8, 244u8, 135u8, 104u8, 176u8, 166u8, 208u8, - 125u8, 144u8, 194u8, 125u8, 225u8, 246u8, 247u8, 5u8, 140u8, 222u8, - 48u8, 111u8, 57u8, 39u8, 240u8, 96u8, 53u8, 29u8, 134u8, 198u8, 129u8, - 223u8, + 58u8, 51u8, 136u8, 162u8, 218u8, 195u8, 121u8, 6u8, 243u8, 69u8, 19u8, + 130u8, 152u8, 180u8, 226u8, 28u8, 0u8, 218u8, 237u8, 56u8, 52u8, 139u8, + 198u8, 155u8, 112u8, 165u8, 142u8, 44u8, 111u8, 197u8, 123u8, 246u8, ], ) } - #[doc = "Chill on behalf of the pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] - #[doc = "root role, same as [`Pallet::nominate`]."] - #[doc = ""] - #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] - #[doc = "account."] + #[doc = "See [`Pallet::chill`]."] pub fn chill( &self, pool_id: ::core::primitive::u32, @@ -22187,6 +21682,152 @@ pub mod api { ], ) } + + #[doc = "See [`Pallet::bond_extra_other`]."] + pub fn bond_extra_other( + &self, + member: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "bond_extra_other", + types::BondExtraOther { member, extra }, + [ + 217u8, 91u8, 160u8, 244u8, 122u8, 153u8, 236u8, 132u8, 197u8, 31u8, + 124u8, 22u8, 89u8, 146u8, 173u8, 96u8, 167u8, 220u8, 91u8, 27u8, 230u8, + 128u8, 222u8, 128u8, 97u8, 53u8, 226u8, 222u8, 165u8, 133u8, 54u8, + 236u8, + ], + ) + } + + #[doc = "See [`Pallet::set_claim_permission`]."] + pub fn set_claim_permission( + &self, + permission: runtime_types::pallet_nomination_pools::ClaimPermission, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_claim_permission", + types::SetClaimPermission { permission }, + [ + 36u8, 137u8, 193u8, 200u8, 57u8, 46u8, 87u8, 236u8, 180u8, 170u8, 90u8, + 99u8, 137u8, 123u8, 99u8, 197u8, 113u8, 119u8, 72u8, 153u8, 207u8, + 189u8, 69u8, 89u8, 225u8, 115u8, 45u8, 32u8, 216u8, 43u8, 92u8, 135u8, + ], + ) + } + + #[doc = "See [`Pallet::claim_payout_other`]."] + pub fn claim_payout_other( + &self, + other: ::subxt::utils::AccountId32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "claim_payout_other", + types::ClaimPayoutOther { other }, + [ + 202u8, 130u8, 122u8, 10u8, 159u8, 181u8, 124u8, 215u8, 23u8, 85u8, + 234u8, 178u8, 169u8, 41u8, 204u8, 226u8, 195u8, 69u8, 168u8, 88u8, + 58u8, 15u8, 3u8, 227u8, 180u8, 183u8, 62u8, 224u8, 39u8, 218u8, 75u8, + 166u8, + ], + ) + } + + #[doc = "See [`Pallet::set_commission`]."] + pub fn set_commission( + &self, + pool_id: ::core::primitive::u32, + new_commission: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_commission", + types::SetCommission { + pool_id, + new_commission, + }, + [ + 144u8, 94u8, 73u8, 69u8, 224u8, 158u8, 244u8, 77u8, 169u8, 219u8, + 101u8, 41u8, 37u8, 211u8, 198u8, 32u8, 92u8, 108u8, 7u8, 27u8, 153u8, + 37u8, 82u8, 174u8, 196u8, 176u8, 196u8, 181u8, 45u8, 81u8, 134u8, + 162u8, + ], + ) + } + + #[doc = "See [`Pallet::set_commission_max`]."] + pub fn set_commission_max( + &self, + pool_id: ::core::primitive::u32, + max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_commission_max", + types::SetCommissionMax { + pool_id, + max_commission, + }, + [ + 180u8, 80u8, 204u8, 129u8, 141u8, 86u8, 45u8, 76u8, 224u8, 123u8, + 212u8, 38u8, 224u8, 79u8, 41u8, 143u8, 237u8, 174u8, 126u8, 1u8, 215u8, + 105u8, 50u8, 46u8, 151u8, 11u8, 118u8, 198u8, 183u8, 95u8, 47u8, 71u8, + ], + ) + } + + #[doc = "See [`Pallet::set_commission_change_rate`]."] + pub fn set_commission_change_rate( + &self, + pool_id: ::core::primitive::u32, + change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "set_commission_change_rate", + types::SetCommissionChangeRate { + pool_id, + change_rate, + }, + [ + 138u8, 30u8, 155u8, 127u8, 181u8, 99u8, 89u8, 138u8, 130u8, 53u8, + 224u8, 96u8, 190u8, 14u8, 76u8, 244u8, 142u8, 50u8, 39u8, 245u8, 144u8, + 87u8, 64u8, 206u8, 246u8, 225u8, 111u8, 197u8, 245u8, 182u8, 121u8, + 56u8, + ], + ) + } + + #[doc = "See [`Pallet::claim_commission`]."] + pub fn claim_commission( + &self, + pool_id: ::core::primitive::u32, + ) -> ::subxt::tx::Payload { + ::subxt::tx::Payload::new_static( + "NominationPools", + "claim_commission", + types::ClaimCommission { pool_id }, + [ + 51u8, 64u8, 163u8, 230u8, 2u8, 119u8, 68u8, 5u8, 154u8, 4u8, 84u8, + 149u8, 9u8, 195u8, 173u8, 37u8, 98u8, 48u8, 188u8, 65u8, 81u8, 11u8, + 64u8, 254u8, 126u8, 62u8, 29u8, 204u8, 92u8, 230u8, 240u8, 91u8, + ], + ) + } } } #[doc = "Events of this pallet."] @@ -22411,7 +22052,7 @@ pub mod api { #[doc = "can never change."] pub struct RolesUpdated { pub root: ::core::option::Option<::subxt::utils::AccountId32>, - pub state_toggler: ::core::option::Option<::subxt::utils::AccountId32>, + pub bouncer: ::core::option::Option<::subxt::utils::AccountId32>, pub nominator: ::core::option::Option<::subxt::utils::AccountId32>, } impl ::subxt::events::StaticEvent for RolesUpdated { @@ -22459,8 +22100,101 @@ pub mod api { pub era: ::core::primitive::u32, pub balance: ::core::primitive::u128, } - impl ::subxt::events::StaticEvent for UnbondingPoolSlashed { - const EVENT: &'static str = "UnbondingPoolSlashed"; + impl ::subxt::events::StaticEvent for UnbondingPoolSlashed { + const EVENT: &'static str = "UnbondingPoolSlashed"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's commission setting has been changed."] + pub struct PoolCommissionUpdated { + pub pool_id: ::core::primitive::u32, + pub current: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + } + impl ::subxt::events::StaticEvent for PoolCommissionUpdated { + const EVENT: &'static str = "PoolCommissionUpdated"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's maximum commission setting has been changed."] + pub struct PoolMaxCommissionUpdated { + pub pool_id: ::core::primitive::u32, + pub max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + } + impl ::subxt::events::StaticEvent for PoolMaxCommissionUpdated { + const EVENT: &'static str = "PoolMaxCommissionUpdated"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "A pool's commission `change_rate` has been changed."] + pub struct PoolCommissionChangeRateUpdated { + pub pool_id: ::core::primitive::u32, + pub change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + } + impl ::subxt::events::StaticEvent for PoolCommissionChangeRateUpdated { + const EVENT: &'static str = "PoolCommissionChangeRateUpdated"; + const PALLET: &'static str = "NominationPools"; + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + #[doc = "Pool commission has been claimed."] + pub struct PoolCommissionClaimed { + pub pool_id: ::core::primitive::u32, + pub commission: ::core::primitive::u128, + } + impl ::subxt::events::StaticEvent for PoolCommissionClaimed { + const EVENT: &'static str = "PoolCommissionClaimed"; const PALLET: &'static str = "NominationPools"; } } @@ -22590,6 +22324,31 @@ pub mod api { ) } + #[doc = " The maximum commission that can be charged by a pool. Used on commission payouts to bound"] + #[doc = " pool commissions that are > `GlobalMaxCommission`, necessary if a future"] + #[doc = " `GlobalMaxCommission` is lower than some current pool commissions."] + pub fn global_max_commission( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::storage::address::Yes, + (), + (), + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "GlobalMaxCommission", + vec![], + [ + 2u8, 112u8, 8u8, 116u8, 114u8, 97u8, 250u8, 106u8, 170u8, 215u8, 218u8, + 217u8, 80u8, 235u8, 149u8, 81u8, 85u8, 185u8, 201u8, 127u8, 107u8, + 251u8, 191u8, 231u8, 142u8, 74u8, 8u8, 70u8, 151u8, 238u8, 117u8, + 173u8, + ], + ) + } + #[doc = " Active members."] #[doc = ""] #[doc = " TWOX-NOTE: SAFE since `AccountId` is a secure hash."] @@ -22682,10 +22441,10 @@ pub mod api { _0.borrow(), )], [ - 29u8, 112u8, 96u8, 33u8, 199u8, 248u8, 75u8, 7u8, 24u8, 36u8, 87u8, - 58u8, 109u8, 128u8, 254u8, 113u8, 166u8, 153u8, 55u8, 67u8, 163u8, - 221u8, 234u8, 171u8, 134u8, 254u8, 213u8, 66u8, 21u8, 183u8, 129u8, - 24u8, + 171u8, 143u8, 96u8, 95u8, 196u8, 228u8, 116u8, 22u8, 63u8, 105u8, + 193u8, 77u8, 171u8, 99u8, 144u8, 70u8, 166u8, 55u8, 14u8, 191u8, 156u8, + 17u8, 237u8, 193u8, 228u8, 243u8, 164u8, 187u8, 127u8, 245u8, 117u8, + 238u8, ], ) } @@ -22705,10 +22464,10 @@ pub mod api { "BondedPools", Vec::new(), [ - 29u8, 112u8, 96u8, 33u8, 199u8, 248u8, 75u8, 7u8, 24u8, 36u8, 87u8, - 58u8, 109u8, 128u8, 254u8, 113u8, 166u8, 153u8, 55u8, 67u8, 163u8, - 221u8, 234u8, 171u8, 134u8, 254u8, 213u8, 66u8, 21u8, 183u8, 129u8, - 24u8, + 171u8, 143u8, 96u8, 95u8, 196u8, 228u8, 116u8, 22u8, 63u8, 105u8, + 193u8, 77u8, 171u8, 99u8, 144u8, 70u8, 166u8, 55u8, 14u8, 191u8, 156u8, + 17u8, 237u8, 193u8, 228u8, 243u8, 164u8, 187u8, 127u8, 245u8, 117u8, + 238u8, ], ) } @@ -22735,8 +22494,8 @@ pub mod api { ) } - #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] - #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] + #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] pub fn reward_pools( &self, _0: impl ::std::borrow::Borrow<::core::primitive::u32>, @@ -22754,16 +22513,16 @@ pub mod api { _0.borrow(), )], [ - 174u8, 33u8, 134u8, 109u8, 68u8, 246u8, 32u8, 47u8, 244u8, 141u8, - 233u8, 200u8, 126u8, 35u8, 233u8, 145u8, 194u8, 123u8, 51u8, 148u8, - 5u8, 228u8, 224u8, 32u8, 2u8, 115u8, 57u8, 10u8, 36u8, 100u8, 69u8, - 61u8, + 150u8, 53u8, 204u8, 26u8, 187u8, 118u8, 80u8, 133u8, 94u8, 127u8, + 155u8, 78u8, 71u8, 72u8, 0u8, 220u8, 174u8, 174u8, 109u8, 238u8, 13u8, + 120u8, 193u8, 102u8, 219u8, 22u8, 89u8, 117u8, 169u8, 212u8, 64u8, + 204u8, ], ) } - #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout"] - #[doc = " is claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] + #[doc = " Reward pools. This is where there rewards for each pool accumulate. When a members payout is"] + #[doc = " claimed, the balance comes out fo the reward pool. Keyed by the bonded pools account."] pub fn reward_pools_root( &self, ) -> ::subxt::storage::address::Address< @@ -22778,10 +22537,10 @@ pub mod api { "RewardPools", Vec::new(), [ - 174u8, 33u8, 134u8, 109u8, 68u8, 246u8, 32u8, 47u8, 244u8, 141u8, - 233u8, 200u8, 126u8, 35u8, 233u8, 145u8, 194u8, 123u8, 51u8, 148u8, - 5u8, 228u8, 224u8, 32u8, 2u8, 115u8, 57u8, 10u8, 36u8, 100u8, 69u8, - 61u8, + 150u8, 53u8, 204u8, 26u8, 187u8, 118u8, 80u8, 133u8, 94u8, 127u8, + 155u8, 78u8, 71u8, 72u8, 0u8, 220u8, 174u8, 174u8, 109u8, 238u8, 13u8, + 120u8, 193u8, 102u8, 219u8, 22u8, 89u8, 117u8, 169u8, 212u8, 64u8, + 204u8, ], ) } @@ -22809,8 +22568,8 @@ pub mod api { ) } - #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] - #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] + #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] pub fn sub_pools_storage( &self, _0: impl ::std::borrow::Borrow<::core::primitive::u32>, @@ -22835,8 +22594,8 @@ pub mod api { ) } - #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a bonded pool,"] - #[doc = " hence the name sub-pools. Keyed by the bonded pools account."] + #[doc = " Groups of unbonding pools. Each group of unbonding pools belongs to a"] + #[doc = " bonded pool, hence the name sub-pools. Keyed by the bonded pools account."] pub fn sub_pools_storage_root( &self, ) -> ::subxt::storage::address::Address< @@ -22887,7 +22646,9 @@ pub mod api { _0: impl ::std::borrow::Borrow<::core::primitive::u32>, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -22911,7 +22672,9 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec<::core::primitive::u8>, + runtime_types::bounded_collections::bounded_vec::BoundedVec< + ::core::primitive::u8, + >, (), ::subxt::storage::address::Yes, ::subxt::storage::address::Yes, @@ -23049,6 +22812,53 @@ pub mod api { ], ) } + + #[doc = " Map from a pool member account to their opted claim permission."] + pub fn claim_permissions( + &self, + _0: impl ::std::borrow::Borrow<::subxt::utils::AccountId32>, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::ClaimPermission, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "ClaimPermissions", + vec![::subxt::storage::address::make_static_storage_map_key( + _0.borrow(), + )], + [ + 98u8, 241u8, 185u8, 102u8, 61u8, 53u8, 215u8, 105u8, 2u8, 148u8, 197u8, + 17u8, 107u8, 253u8, 74u8, 159u8, 14u8, 30u8, 213u8, 38u8, 35u8, 163u8, + 249u8, 19u8, 140u8, 201u8, 182u8, 106u8, 0u8, 21u8, 102u8, 15u8, + ], + ) + } + + #[doc = " Map from a pool member account to their opted claim permission."] + pub fn claim_permissions_root( + &self, + ) -> ::subxt::storage::address::Address< + ::subxt::storage::address::StaticStorageMapKey, + runtime_types::pallet_nomination_pools::ClaimPermission, + (), + ::subxt::storage::address::Yes, + ::subxt::storage::address::Yes, + > { + ::subxt::storage::address::Address::new_static( + "NominationPools", + "ClaimPermissions", + Vec::new(), + [ + 98u8, 241u8, 185u8, 102u8, 61u8, 53u8, 215u8, 105u8, 2u8, 148u8, 197u8, + 17u8, 107u8, 253u8, 74u8, 159u8, 14u8, 30u8, 213u8, 38u8, 35u8, 163u8, + 249u8, 19u8, 140u8, 201u8, 182u8, 106u8, 0u8, 21u8, 102u8, 15u8, + ], + ) + } } } pub mod constants { @@ -23059,11 +22869,15 @@ pub mod api { pub fn pallet_id( &self, ) -> ::subxt::constants::Address { - ::subxt::constants::Address::new_static("NominationPools", "PalletId", [ - 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, - 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, - 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, - ]) + ::subxt::constants::Address::new_static( + "NominationPools", + "PalletId", + [ + 56u8, 243u8, 53u8, 83u8, 154u8, 179u8, 170u8, 80u8, 133u8, 173u8, 61u8, + 161u8, 47u8, 225u8, 146u8, 21u8, 50u8, 229u8, 248u8, 27u8, 104u8, 58u8, + 129u8, 197u8, 102u8, 160u8, 168u8, 205u8, 154u8, 42u8, 217u8, 53u8, + ], + ) } #[doc = " The maximum pool points-to-balance ratio that an `open` pool can have."] @@ -23097,7 +22911,7 @@ pub mod api { } pub mod identity { use super::{root_mod, runtime_types}; - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub type Error = runtime_types::pallet_identity::pallet::Error; #[doc = "Identity pallet declaration."] pub type Call = runtime_types::pallet_identity::pallet::Call; @@ -23450,19 +23264,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { - #[doc = "Add a registrar to the system."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] - #[doc = ""] - #[doc = "- `account`: the account of the registrar."] - #[doc = ""] - #[doc = "Emits `RegistrarAdded` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] - #[doc = "- One storage mutation (codec `O(R)`)."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::add_registrar`]."] pub fn add_registrar( &self, account: ::subxt::utils::MultiAddress< @@ -23482,25 +23284,7 @@ pub mod api { ) } - #[doc = "Set an account's identity information and reserve the appropriate deposit."] - #[doc = ""] - #[doc = "If the account already has identity information, the deposit is taken as part payment"] - #[doc = "for the new deposit."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `info`: The identity information."] - #[doc = ""] - #[doc = "Emits `IdentitySet` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(X + X' + R)`"] - #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] - #[doc = " - where `R` judgements-count (registrar-count-bounded)"] - #[doc = "- One balance reserve operation."] - #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::set_identity`]."] pub fn set_identity( &self, info: runtime_types::pallet_identity::types::IdentityInfo, @@ -23519,27 +23303,7 @@ pub mod api { ) } - #[doc = "Set the sub-accounts of the sender."] - #[doc = ""] - #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] - #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "identity."] - #[doc = ""] - #[doc = "- `subs`: The identity's (new) sub-accounts."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(P + S)`"] - #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] - #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] - #[doc = "- At most one balance operations."] - #[doc = "- DB:"] - #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] - #[doc = " - One storage read (codec complexity `O(P)`)."] - #[doc = " - One storage write (codec complexity `O(S)`)."] - #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] - #[doc = "# "] + #[doc = "See [`Pallet::set_subs`]."] pub fn set_subs( &self, subs: ::std::vec::Vec<( @@ -23560,24 +23324,7 @@ pub mod api { ) } - #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] - #[doc = ""] - #[doc = "Payment: All reserved balances on the account are returned."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "identity."] - #[doc = ""] - #[doc = "Emits `IdentityCleared` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + S + X)`"] - #[doc = " - where `R` registrar-count (governance-bounded)."] - #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] - #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] - #[doc = "- One balance-unreserve operation."] - #[doc = "- `2` storage reads and `S + 2` storage deletions."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::clear_identity`]."] pub fn clear_identity(&self) -> ::subxt::tx::Payload { ::subxt::tx::Payload::new_static( "Identity", @@ -23592,29 +23339,7 @@ pub mod api { ) } - #[doc = "Request a judgement from a registrar."] - #[doc = ""] - #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] - #[doc = "given."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] - #[doc = "registered identity."] - #[doc = ""] - #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."] - #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"] - #[doc = ""] - #[doc = "```nocompile"] - #[doc = "Self::registrars().get(reg_index).unwrap().fee"] - #[doc = "```"] - #[doc = ""] - #[doc = "Emits `JudgementRequested` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::request_judgement`]."] pub fn request_judgement( &self, reg_index: ::core::primitive::u32, @@ -23632,23 +23357,7 @@ pub mod api { ) } - #[doc = "Cancel a previous request."] - #[doc = ""] - #[doc = "Payment: A previously reserved deposit is returned on success."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] - #[doc = "registered identity."] - #[doc = ""] - #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."] - #[doc = ""] - #[doc = "Emits `JudgementUnrequested` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- One storage mutation `O(R + X)`."] - #[doc = "- One event"] - #[doc = "# "] + #[doc = "See [`Pallet::cancel_request`]."] pub fn cancel_request( &self, reg_index: ::core::primitive::u32, @@ -23666,19 +23375,7 @@ pub mod api { ) } - #[doc = "Set the fee required for a judgement to be requested from a registrar."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `index`."] - #[doc = ""] - #[doc = "- `index`: the index of the registrar whose fee is to be set."] - #[doc = "- `fee`: the new fee."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] - #[doc = "# "] + #[doc = "See [`Pallet::set_fee`]."] pub fn set_fee( &self, index: ::core::primitive::u32, @@ -23697,19 +23394,7 @@ pub mod api { ) } - #[doc = "Change the account associated with a registrar."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `index`."] - #[doc = ""] - #[doc = "- `index`: the index of the registrar whose fee is to be set."] - #[doc = "- `new`: the new account ID."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] - #[doc = "# "] + #[doc = "See [`Pallet::set_account_id`]."] pub fn set_account_id( &self, index: ::core::primitive::u32, @@ -23730,19 +23415,7 @@ pub mod api { ) } - #[doc = "Set the field information for a registrar."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `index`."] - #[doc = ""] - #[doc = "- `index`: the index of the registrar whose fee is to be set."] - #[doc = "- `fields`: the fields that the registrar concerns themselves with."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] - #[doc = "# "] + #[doc = "See [`Pallet::set_fields`]."] pub fn set_fields( &self, index: ::core::primitive::u32, @@ -23762,26 +23435,7 @@ pub mod api { ) } - #[doc = "Provide a judgement for an account's identity."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `reg_index`."] - #[doc = ""] - #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."] - #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] - #[doc = " with a registered identity."] - #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] - #[doc = "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided."] - #[doc = ""] - #[doc = "Emits `JudgementGiven` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + X)`."] - #[doc = "- One balance-transfer operation."] - #[doc = "- Up to one account-lookup operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::provide_judgement`]."] pub fn provide_judgement( &self, reg_index: ::core::primitive::u32, @@ -23811,25 +23465,7 @@ pub mod api { ) } - #[doc = "Remove an account's identity and sub-account information and slash the deposits."] - #[doc = ""] - #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] - #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"] - #[doc = "manually using `cancel_request`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] - #[doc = ""] - #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] - #[doc = " with a registered identity."] - #[doc = ""] - #[doc = "Emits `IdentityKilled` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + S + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- `S + 2` storage mutations."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::kill_identity`]."] pub fn kill_identity( &self, target: ::subxt::utils::MultiAddress< @@ -23849,13 +23485,7 @@ pub mod api { ) } - #[doc = "Add the given account to the sender's subs."] - #[doc = ""] - #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] - #[doc = "to the sender."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "sub identity of `sub`."] + #[doc = "See [`Pallet::add_sub`]."] pub fn add_sub( &self, sub: ::subxt::utils::MultiAddress< @@ -23877,10 +23507,7 @@ pub mod api { ) } - #[doc = "Alter the associated name of the given sub-account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "sub identity of `sub`."] + #[doc = "See [`Pallet::rename_sub`]."] pub fn rename_sub( &self, sub: ::subxt::utils::MultiAddress< @@ -23902,13 +23529,7 @@ pub mod api { ) } - #[doc = "Remove the given account from the sender's subs."] - #[doc = ""] - #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] - #[doc = "to the sender."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "sub identity of `sub`."] + #[doc = "See [`Pallet::remove_sub`]."] pub fn remove_sub( &self, sub: ::subxt::utils::MultiAddress< @@ -23928,26 +23549,23 @@ pub mod api { ) } - #[doc = "Remove the sender as a sub-account."] - #[doc = ""] - #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] - #[doc = "to the sender (*not* the original depositor)."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "super-identity."] - #[doc = ""] - #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] - #[doc = "controller of an account is maliciously registered as a sub-account."] + #[doc = "See [`Pallet::quit_sub`]."] pub fn quit_sub(&self) -> ::subxt::tx::Payload { - ::subxt::tx::Payload::new_static("Identity", "quit_sub", types::QuitSub {}, [ - 147u8, 131u8, 175u8, 171u8, 187u8, 201u8, 240u8, 26u8, 146u8, 224u8, 74u8, - 166u8, 242u8, 193u8, 204u8, 247u8, 168u8, 93u8, 18u8, 32u8, 27u8, 208u8, - 149u8, 146u8, 179u8, 172u8, 75u8, 112u8, 84u8, 141u8, 233u8, 223u8, - ]) + ::subxt::tx::Payload::new_static( + "Identity", + "quit_sub", + types::QuitSub {}, + [ + 147u8, 131u8, 175u8, 171u8, 187u8, 201u8, 240u8, 26u8, 146u8, 224u8, + 74u8, 166u8, 242u8, 193u8, 204u8, 247u8, 168u8, 93u8, 18u8, 32u8, 27u8, + 208u8, 149u8, 146u8, 179u8, 172u8, 75u8, 112u8, 84u8, 141u8, 233u8, + 223u8, + ], + ) } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_identity::pallet::Event; pub mod events { use super::runtime_types; @@ -24297,7 +23915,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u128, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -24331,7 +23949,7 @@ pub mod api { ::subxt::storage::address::StaticStorageMapKey, ( ::core::primitive::u128, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, ), @@ -24360,7 +23978,7 @@ pub mod api { &self, ) -> ::subxt::storage::address::Address< ::subxt::storage::address::StaticStorageMapKey, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::option::Option< runtime_types::pallet_identity::types::RegistrarInfo< ::core::primitive::u128, @@ -24394,22 +24012,30 @@ pub mod api { pub fn basic_deposit( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Identity", "BasicDeposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Identity", + "BasicDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The amount held on deposit per additional field for a registered identity."] pub fn field_deposit( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Identity", "FieldDeposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Identity", + "FieldDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The amount held on deposit for a registered subaccount. This should account for the fact"] @@ -24418,22 +24044,31 @@ pub mod api { pub fn sub_account_deposit( &self, ) -> ::subxt::constants::Address<::core::primitive::u128> { - ::subxt::constants::Address::new_static("Identity", "SubAccountDeposit", [ - 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, - 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, 136u8, - 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, - ]) + ::subxt::constants::Address::new_static( + "Identity", + "SubAccountDeposit", + [ + 84u8, 157u8, 140u8, 4u8, 93u8, 57u8, 29u8, 133u8, 105u8, 200u8, 214u8, + 27u8, 144u8, 208u8, 218u8, 160u8, 130u8, 109u8, 101u8, 54u8, 210u8, + 136u8, 71u8, 63u8, 49u8, 237u8, 234u8, 15u8, 178u8, 98u8, 148u8, 156u8, + ], + ) } #[doc = " The maximum number of sub-accounts allowed per identified account."] pub fn max_sub_accounts( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Identity", "MaxSubAccounts", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Identity", + "MaxSubAccounts", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O"] @@ -24441,11 +24076,16 @@ pub mod api { pub fn max_additional_fields( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Identity", "MaxAdditionalFields", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Identity", + "MaxAdditionalFields", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } #[doc = " Maxmimum number of registrars allowed in the system. Needed to bound the complexity"] @@ -24453,18 +24093,23 @@ pub mod api { pub fn max_registrars( &self, ) -> ::subxt::constants::Address<::core::primitive::u32> { - ::subxt::constants::Address::new_static("Identity", "MaxRegistrars", [ - 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, 125u8, - 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, 178u8, 197u8, - 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, 145u8, - ]) + ::subxt::constants::Address::new_static( + "Identity", + "MaxRegistrars", + [ + 98u8, 252u8, 116u8, 72u8, 26u8, 180u8, 225u8, 83u8, 200u8, 157u8, + 125u8, 151u8, 53u8, 76u8, 168u8, 26u8, 10u8, 9u8, 98u8, 68u8, 9u8, + 178u8, 197u8, 113u8, 31u8, 79u8, 200u8, 90u8, 203u8, 100u8, 41u8, + 145u8, + ], + ) } } } } pub mod mandate { use super::{root_mod, runtime_types}; - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub type Call = runtime_types::pallet_mandate::pallet::Call; pub mod calls { use super::{root_mod, runtime_types}; @@ -24494,6 +24139,7 @@ pub mod api { } pub struct TransactionApi; impl TransactionApi { + #[doc = "See [`Pallet::mandate`]."] pub fn mandate( &self, call: runtime_types::da_runtime::RuntimeCall, @@ -24505,16 +24151,15 @@ pub mod api { call: ::std::boxed::Box::new(call), }, [ - 107u8, 107u8, 66u8, 52u8, 40u8, 103u8, 189u8, 70u8, 110u8, 233u8, 59u8, - 238u8, 199u8, 241u8, 196u8, 211u8, 28u8, 36u8, 44u8, 161u8, 222u8, - 234u8, 164u8, 141u8, 186u8, 179u8, 206u8, 244u8, 12u8, 208u8, 84u8, - 176u8, + 255u8, 84u8, 185u8, 34u8, 76u8, 12u8, 184u8, 13u8, 57u8, 225u8, 52u8, + 20u8, 140u8, 32u8, 20u8, 134u8, 12u8, 84u8, 88u8, 239u8, 214u8, 203u8, + 68u8, 220u8, 186u8, 174u8, 14u8, 225u8, 155u8, 133u8, 160u8, 183u8, ], ) } } } - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub type Event = runtime_types::pallet_mandate::pallet::Event; pub mod events { use super::runtime_types; @@ -24823,6 +24468,60 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct BlockLengthRows(#[codec(compact)] pub ::core::primitive::u32); } + pub mod bounded_collections { + use super::runtime_types; + pub mod bounded_btree_map { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); + } + pub mod bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + pub mod weak_bounded_vec { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); + } + } pub mod da_control { use super::runtime_types; pub mod extensions { @@ -24877,22 +24576,24 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Creates an application key if `key` does not exist yet."] + #[doc = "See [`Pallet::create_application_key`]."] create_application_key { - key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, #[codec(index = 1)] + #[doc = "See [`Pallet::submit_data`]."] submit_data { - data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, #[codec(index = 2)] + #[doc = "See [`Pallet::submit_block_length_proposal`]."] submit_block_length_proposal { rows: ::core::primitive::u32, cols: ::core::primitive::u32, @@ -24956,7 +24657,7 @@ pub mod api { #[codec(index = 0)] #[doc = "A new application key was created."] ApplicationKeyCreated { - key: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + key: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, owner: ::subxt::utils::AccountId32, @@ -24965,7 +24666,7 @@ pub mod api { #[codec(index = 1)] DataSubmitted { who: ::subxt::utils::AccountId32, - data: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + data: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, @@ -25171,7 +24872,7 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SessionKeys { pub babe: runtime_types::sp_consensus_babe::app::Public, - pub grandpa: runtime_types::sp_finality_grandpa::app::Public, + pub grandpa: runtime_types::sp_consensus_grandpa::app::Public, pub im_online: runtime_types::pallet_im_online::sr25519::app_sr25519::Public, pub authority_discovery: runtime_types::sp_authority_discovery::app::Public, } @@ -25239,8 +24940,6 @@ pub mod api { Babe(runtime_types::pallet_babe::pallet::Call), #[codec(index = 3)] Timestamp(runtime_types::pallet_timestamp::pallet::Call), - #[codec(index = 4)] - Authorship(runtime_types::pallet_authorship::pallet::Call), #[codec(index = 5)] Indices(runtime_types::pallet_indices::pallet::Call), #[codec(index = 6)] @@ -25377,6 +25076,20 @@ pub mod api { #[codec(index = 38)] Mandate(runtime_types::pallet_mandate::pallet::Event), } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum RuntimeHoldReason {} } pub mod finality_grandpa { use super::runtime_types; @@ -25537,27 +25250,7 @@ pub mod api { } } pub mod traits { - use super::runtime_types; - pub mod misc { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WrapperOpaque<_0>( - #[codec(compact)] pub ::core::primitive::u32, - pub _0, - ); - } + use super::runtime_types; pub mod preimages { use super::runtime_types; #[derive( @@ -25580,7 +25273,7 @@ pub mod api { }, #[codec(index = 1)] Inline( - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, ), @@ -25839,51 +25532,28 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Make some on-chain remark."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`"] - #[doc = "# "] + #[doc = "See [`Pallet::remark`]."] remark { remark: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 1)] - #[doc = "Set the number of pages in the WebAssembly environment's heap."] + #[doc = "See [`Pallet::set_heap_pages`]."] set_heap_pages { pages: ::core::primitive::u64 }, #[codec(index = 2)] - #[doc = "Set the new runtime code."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"] - #[doc = "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is"] - #[doc = " expensive)."] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime, but generally this is very"] - #[doc = "expensive. We will treat this as a full block."] - #[doc = "# "] + #[doc = "See [`Pallet::set_code`]."] set_code { code: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 3)] - #[doc = "Set the new runtime code without doing any checks of the given `code`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(C)` where `C` length of `code`"] - #[doc = "- 1 storage write (codec `O(C)`)."] - #[doc = "- 1 digest item."] - #[doc = "- 1 event."] - #[doc = "The weight of this function is dependent on the runtime. We will treat this as a full"] - #[doc = "block. # "] + #[doc = "See [`Pallet::set_code_without_checks`]."] set_code_without_checks { code: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 4)] - #[doc = "Set some items of storage."] + #[doc = "See [`Pallet::set_storage`]."] set_storage { items: ::std::vec::Vec<( ::std::vec::Vec<::core::primitive::u8>, @@ -25891,21 +25561,18 @@ pub mod api { )>, }, #[codec(index = 5)] - #[doc = "Kill some items from storage."] + #[doc = "See [`Pallet::kill_storage`]."] kill_storage { keys: ::std::vec::Vec<::std::vec::Vec<::core::primitive::u8>>, }, #[codec(index = 6)] - #[doc = "Kill all storage items with a key that starts with the given prefix."] - #[doc = ""] - #[doc = "**NOTE:** We rely on the Root origin to provide us the number of subkeys under"] - #[doc = "the prefix we are removing to accurately calculate the weight of this function."] + #[doc = "See [`Pallet::kill_prefix`]."] kill_prefix { prefix: ::std::vec::Vec<::core::primitive::u8>, subkeys: ::core::primitive::u32, }, #[codec(index = 7)] - #[doc = "Make some on-chain remark and emit event."] + #[doc = "See [`Pallet::remark_with_event`]."] remark_with_event { remark: ::std::vec::Vec<::core::primitive::u8>, }, @@ -26195,10 +25862,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Dispatch a data root message to the home if the header is valid."] + #[doc = "See [`Pallet::try_dispatch_data_root`]."] try_dispatch_data_root { #[codec(compact)] destination_domain: ::core::primitive::u32, @@ -26224,7 +25891,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] InitializationError, @@ -26246,7 +25913,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] DataRootDispatched { @@ -26275,34 +25942,32 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Dispatch a message to the destination domain and recipient address."] + #[doc = "See [`Pallet::dispatch`]."] dispatch { #[codec(compact)] destination_domain: ::core::primitive::u32, recipient_address: ::subxt::utils::H256, - message_body: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + message_body: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u8, >, }, #[codec(index = 1)] - #[doc = "Verify/submit signed update."] + #[doc = "See [`Pallet::update`]."] update { signed_update: runtime_types::nomad_core::update::SignedUpdate, #[codec(compact)] max_index: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Verify/slash updater for improper update."] + #[doc = "See [`Pallet::improper_update`]."] improper_update { signed_update: runtime_types::nomad_core::update::SignedUpdate, }, #[codec(index = 3)] - #[doc = "Set new updater on self as well as updater manager."] - #[doc = "Note: Not exposed as pallet call, will only be callable by the"] - #[doc = "GovernanceRouter pallet when implemented."] + #[doc = "See [`Pallet::set_updater`]."] set_updater { new_updater: ::subxt::utils::H160 }, } #[derive( @@ -26318,7 +25983,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] InitializationError, @@ -26354,7 +26019,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] Dispatch { @@ -26449,7 +26114,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call {} #[derive( :: subxt :: ext :: codec :: Decode, @@ -26464,7 +26129,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] InitializationError, @@ -26482,7 +26147,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] NewUpdater { @@ -26496,94 +26161,6 @@ pub mod api { } } } - pub mod pallet_authorship { - use super::runtime_types; - pub mod pallet { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] - pub enum Call { - #[codec(index = 0)] - #[doc = "Provide a set of uncles."] - set_uncles { - new_uncles: ::std::vec::Vec< - runtime_types::avail_core::header::Header< - ::core::primitive::u32, - runtime_types::sp_runtime::traits::BlakeTwo256, - >, - >, - }, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] - pub enum Error { - #[codec(index = 0)] - #[doc = "The uncle parent not in the chain."] - InvalidUncleParent, - #[codec(index = 1)] - #[doc = "Uncles already set in the block."] - UnclesAlreadySet, - #[codec(index = 2)] - #[doc = "Too many uncles."] - TooManyUncles, - #[codec(index = 3)] - #[doc = "The uncle is genesis."] - GenesisUncle, - #[codec(index = 4)] - #[doc = "The uncle is too high in chain."] - TooHighUncle, - #[codec(index = 5)] - #[doc = "The uncle is already included."] - UncleAlreadyIncluded, - #[codec(index = 6)] - #[doc = "The uncle isn't recent enough to be included."] - OldUncle, - } - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum UncleEntryItem<_0, _1, _2> { - #[codec(index = 0)] - InclusionHeight(_0), - #[codec(index = 1)] - Uncle(_1, ::core::option::Option<_2>), - } - } pub mod pallet_babe { use super::runtime_types; pub mod pallet { @@ -26601,13 +26178,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Report authority equivocation/misbehavior. This method will verify"] - #[doc = "the equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence will"] - #[doc = "be reported."] + #[doc = "See [`Pallet::report_equivocation`]."] report_equivocation { equivocation_proof: ::std::boxed::Box< runtime_types::sp_consensus_slots::EquivocationProof< @@ -26621,14 +26195,7 @@ pub mod api { key_owner_proof: runtime_types::sp_session::MembershipProof, }, #[codec(index = 1)] - #[doc = "Report authority equivocation/misbehavior. This method will verify"] - #[doc = "the equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence will"] - #[doc = "be reported."] - #[doc = "This extrinsic must be called unsigned and it is expected that only"] - #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] - #[doc = "if the block author is defined it will be defined as the equivocation"] - #[doc = "reporter."] + #[doc = "See [`Pallet::report_equivocation_unsigned`]."] report_equivocation_unsigned { equivocation_proof: ::std::boxed::Box< runtime_types::sp_consensus_slots::EquivocationProof< @@ -26642,10 +26209,7 @@ pub mod api { key_owner_proof: runtime_types::sp_session::MembershipProof, }, #[codec(index = 2)] - #[doc = "Plan an epoch config change. The epoch config change is recorded and will be enacted on"] - #[doc = "the next call to `enact_epoch_change`. The config will be activated one epoch after."] - #[doc = "Multiple calls to this method will replace any existing planned config change that had"] - #[doc = "not been enacted yet."] + #[doc = "See [`Pallet::plan_config_change`]."] plan_config_change { config: runtime_types::sp_consensus_babe::digests::NextConfigDescriptor, }, @@ -26663,7 +26227,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "An equivocation proof provided as part of an equivocation report is invalid."] @@ -26760,19 +26324,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Declare that some `dislocated` account has, through rewards or penalties, sufficiently"] - #[doc = "changed its score that it should properly fall into a different bag than its current"] - #[doc = "one."] - #[doc = ""] - #[doc = "Anyone can call this function about any potentially dislocated account."] - #[doc = ""] - #[doc = "Will always update the stored score of `dislocated` to the correct score, based on"] - #[doc = "`ScoreProvider`."] - #[doc = ""] - #[doc = "If `dislocated` does not exists, it returns an error."] + #[doc = "See [`Pallet::rebag`]."] rebag { dislocated: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -26780,14 +26335,7 @@ pub mod api { >, }, #[codec(index = 1)] - #[doc = "Move the caller's Id directly in front of `lighter`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and can only be called by the Id of"] - #[doc = "the account going in front of `lighter`."] - #[doc = ""] - #[doc = "Only works if"] - #[doc = "- both nodes are within the same bag,"] - #[doc = "- and `origin` has a greater `Score` than `lighter`."] + #[doc = "See [`Pallet::put_in_front_of`]."] put_in_front_of { lighter: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -26808,7 +26356,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "A error in the list interface implementation."] @@ -26827,7 +26375,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "Moved an account from one bag to another."] @@ -26862,35 +26410,11 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Transfer some liquid free balance to another account."] - #[doc = ""] - #[doc = "`transfer` will set the `FreeBalance` of the sender and receiver."] - #[doc = "If the sender's account is below the existential deposit as a result"] - #[doc = "of the transfer, the account will be reaped."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `Signed` by the transactor."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Dependent on arguments but not critical, given proper implementations for input config"] - #[doc = " types. See related functions below."] - #[doc = "- It contains a limited number of reads and writes internally and no complex"] - #[doc = " computation."] - #[doc = ""] - #[doc = "Related functions:"] - #[doc = ""] - #[doc = " - `ensure_can_withdraw` is always called internally but has a bounded complexity."] - #[doc = " - Transferring balances to accounts that did not exist before will cause"] - #[doc = " `T::OnNewAccount::on_new_account` to be called."] - #[doc = " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`."] - #[doc = " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check"] - #[doc = " that the transfer will not kill the origin account."] - #[doc = "---------------------------------"] - #[doc = "- Origin account is already in memory, so no DB operations for them."] - #[doc = "# "] - transfer { + #[doc = "See [`Pallet::transfer_allow_death`]."] + transfer_allow_death { dest: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, @@ -26899,15 +26423,8 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 1)] - #[doc = "Set the balances of a given account."] - #[doc = ""] - #[doc = "This will alter `FreeBalance` and `ReservedBalance` in storage. it will"] - #[doc = "also alter the total issuance of the system (`TotalIssuance`) appropriately."] - #[doc = "If the new free or reserved balance is below the existential deposit,"] - #[doc = "it will reset the account nonce (`frame_system::AccountNonce`)."] - #[doc = ""] - #[doc = "The dispatch origin for this call is `root`."] - set_balance { + #[doc = "See [`Pallet::set_balance_deprecated`]."] + set_balance_deprecated { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, @@ -26915,15 +26432,10 @@ pub mod api { #[codec(compact)] new_free: ::core::primitive::u128, #[codec(compact)] - new_reserved: ::core::primitive::u128, + old_reserved: ::core::primitive::u128, }, #[codec(index = 2)] - #[doc = "Exactly as `transfer`, except the origin must be root and the source account may be"] - #[doc = "specified."] - #[doc = "# "] - #[doc = "- Same as transfer, but additional read and write because the source account is not"] - #[doc = " assumed to be in the overlay."] - #[doc = "# "] + #[doc = "See [`Pallet::force_transfer`]."] force_transfer { source: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -26937,12 +26449,7 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 3)] - #[doc = "Same as the [`transfer`] call, but with a check that the transfer will not kill the"] - #[doc = "origin account."] - #[doc = ""] - #[doc = "99% of the time you want [`transfer`] instead."] - #[doc = ""] - #[doc = "[`transfer`]: struct.Pallet.html#method.transfer"] + #[doc = "See [`Pallet::transfer_keep_alive`]."] transfer_keep_alive { dest: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -26952,23 +26459,7 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 4)] - #[doc = "Transfer the entire transferable balance from the caller account."] - #[doc = ""] - #[doc = "NOTE: This function only attempts to transfer _transferable_ balances. This means that"] - #[doc = "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be"] - #[doc = "transferred by this function. To ensure that this function results in a killed account,"] - #[doc = "you might need to prepare the account by removing any reference counters, storage"] - #[doc = "deposits, etc..."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be Signed."] - #[doc = ""] - #[doc = "- `dest`: The recipient of the transfer."] - #[doc = "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all"] - #[doc = " of the funds the account has, causing the sender account to be killed (false), or"] - #[doc = " transfer everything except at least the existential deposit, which will guarantee to"] - #[doc = " keep the sender account alive (true). # "] - #[doc = "- O(1). Just like transfer, but reading the user's transferable balance first."] - #[doc = " #"] + #[doc = "See [`Pallet::transfer_all`]."] transfer_all { dest: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -26977,9 +26468,7 @@ pub mod api { keep_alive: ::core::primitive::bool, }, #[codec(index = 5)] - #[doc = "Unreserve some balance from a user by force."] - #[doc = ""] - #[doc = "Can only be called by ROOT."] + #[doc = "See [`Pallet::force_unreserve`]."] force_unreserve { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -26987,6 +26476,31 @@ pub mod api { >, amount: ::core::primitive::u128, }, + #[codec(index = 6)] + #[doc = "See [`Pallet::upgrade_accounts`]."] + upgrade_accounts { + who: ::std::vec::Vec<::subxt::utils::AccountId32>, + }, + #[codec(index = 7)] + #[doc = "See [`Pallet::transfer`]."] + transfer { + dest: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + value: ::core::primitive::u128, + }, + #[codec(index = 8)] + #[doc = "See [`Pallet::force_set_balance`]."] + force_set_balance { + who: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + #[codec(compact)] + new_free: ::core::primitive::u128, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -27001,32 +26515,38 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] - #[doc = "Vesting balance too high to send value"] + #[doc = "Vesting balance too high to send value."] VestingBalance, #[codec(index = 1)] - #[doc = "Account liquidity restrictions prevent withdrawal"] + #[doc = "Account liquidity restrictions prevent withdrawal."] LiquidityRestrictions, #[codec(index = 2)] #[doc = "Balance too low to send value."] InsufficientBalance, #[codec(index = 3)] - #[doc = "Value too low to create account due to existential deposit"] + #[doc = "Value too low to create account due to existential deposit."] ExistentialDeposit, #[codec(index = 4)] - #[doc = "Transfer/payment would kill account"] - KeepAlive, + #[doc = "Transfer/payment would kill account."] + Expendability, #[codec(index = 5)] - #[doc = "A vesting schedule already exists for this account"] + #[doc = "A vesting schedule already exists for this account."] ExistingVestingSchedule, #[codec(index = 6)] - #[doc = "Beneficiary account must pre-exist"] + #[doc = "Beneficiary account must pre-exist."] DeadAccount, #[codec(index = 7)] - #[doc = "Number of named reserves exceed MaxReserves"] + #[doc = "Number of named reserves exceed `MaxReserves`."] TooManyReserves, + #[codec(index = 8)] + #[doc = "Number of holds exceed `MaxHolds`."] + TooManyHolds, + #[codec(index = 9)] + #[doc = "Number of freezes exceed `MaxFreezes`."] + TooManyFreezes, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -27041,7 +26561,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "An account was created with some free balance."] @@ -27068,7 +26588,6 @@ pub mod api { BalanceSet { who: ::subxt::utils::AccountId32, free: ::core::primitive::u128, - reserved: ::core::primitive::u128, }, #[codec(index = 4)] #[doc = "Some balance was reserved (moved from free to reserved)."] @@ -27110,82 +26629,174 @@ pub mod api { who: ::subxt::utils::AccountId32, amount: ::core::primitive::u128, }, + #[codec(index = 10)] + #[doc = "Some amount was minted into an account."] + Minted { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 11)] + #[doc = "Some amount was burned from an account."] + Burned { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 12)] + #[doc = "Some amount was suspended from an account (it can be restored later)."] + Suspended { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 13)] + #[doc = "Some amount was restored into an account."] + Restored { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 14)] + #[doc = "An account was upgraded."] + Upgraded { who: ::subxt::utils::AccountId32 }, + #[codec(index = 15)] + #[doc = "Total issuance was increased by `amount`, creating a credit to be balanced."] + Issued { amount: ::core::primitive::u128 }, + #[codec(index = 16)] + #[doc = "Total issuance was decreased by `amount`, creating a debt to be balanced."] + Rescinded { amount: ::core::primitive::u128 }, + #[codec(index = 17)] + #[doc = "Some balance was locked."] + Locked { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 18)] + #[doc = "Some balance was unlocked."] + Unlocked { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 19)] + #[doc = "Some balance was frozen."] + Frozen { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, + #[codec(index = 20)] + #[doc = "Some balance was thawed."] + Thawed { + who: ::subxt::utils::AccountId32, + amount: ::core::primitive::u128, + }, } } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct AccountData<_0> { - pub free: _0, - pub reserved: _0, - pub misc_frozen: _0, - pub fee_frozen: _0, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BalanceLock<_0> { - pub id: [::core::primitive::u8; 8usize], - pub amount: _0, - pub reasons: runtime_types::pallet_balances::Reasons, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Reasons { - #[codec(index = 0)] - Fee, - #[codec(index = 1)] - Misc, - #[codec(index = 2)] - All, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct ReserveData<_0, _1> { - pub id: _0, - pub amount: _1, + pub mod types { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct AccountData<_0> { + pub free: _0, + pub reserved: _0, + pub frozen: _0, + pub flags: runtime_types::pallet_balances::types::ExtraFlags, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BalanceLock<_0> { + pub id: [::core::primitive::u8; 8usize], + pub amount: _0, + pub reasons: runtime_types::pallet_balances::types::Reasons, + } + #[derive( + :: subxt :: ext :: codec :: CompactAs, + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ExtraFlags(pub ::core::primitive::u128); + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct IdAmount<_0, _1> { + pub id: _0, + pub amount: _1, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum Reasons { + #[codec(index = 0)] + Fee, + #[codec(index = 1)] + Misc, + #[codec(index = 2)] + All, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct ReserveData<_0, _1> { + pub id: _0, + pub amount: _1, + } } } pub mod pallet_bounties { @@ -27205,47 +26816,23 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Propose a new bounty."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] - #[doc = "`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,"] - #[doc = "or slashed when rejected."] - #[doc = ""] - #[doc = "- `curator`: The curator account whom will manage this bounty."] - #[doc = "- `fee`: The curator fee."] - #[doc = "- `value`: The total payment amount of this bounty, curator fee included."] - #[doc = "- `description`: The description of this bounty."] + #[doc = "See [`Pallet::propose_bounty`]."] propose_bounty { #[codec(compact)] value: ::core::primitive::u128, description: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 1)] - #[doc = "Approve a bounty proposal. At a later time, the bounty will be funded and become active"] - #[doc = "and the original deposit will be returned."] - #[doc = ""] - #[doc = "May only be called from `T::SpendOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::approve_bounty`]."] approve_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Assign a curator to a funded bounty."] - #[doc = ""] - #[doc = "May only be called from `T::SpendOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::propose_curator`]."] propose_curator { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -27257,53 +26844,19 @@ pub mod api { fee: ::core::primitive::u128, }, #[codec(index = 3)] - #[doc = "Unassign curator from a bounty."] - #[doc = ""] - #[doc = "This function can only be called by the `RejectOrigin` a signed origin."] - #[doc = ""] - #[doc = "If this function is called by the `RejectOrigin`, we assume that the curator is"] - #[doc = "malicious or inactive. As a result, we will slash the curator when possible."] - #[doc = ""] - #[doc = "If the origin is the curator, we take this as a sign they are unable to do their job and"] - #[doc = "they willingly give up. We could slash them, but for now we allow them to recover their"] - #[doc = "deposit and exit without issue. (We may want to change this if it is abused.)"] - #[doc = ""] - #[doc = "Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows"] - #[doc = "anyone in the community to call out that a curator is not doing their due diligence, and"] - #[doc = "we should pick a new curator. In this case the curator should also be slashed."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::unassign_curator`]."] unassign_curator { #[codec(compact)] bounty_id: ::core::primitive::u32, }, #[codec(index = 4)] - #[doc = "Accept the curator role for a bounty."] - #[doc = "A deposit will be reserved from curator and refund upon successful payout."] - #[doc = ""] - #[doc = "May only be called from the curator."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::accept_curator`]."] accept_curator { #[codec(compact)] bounty_id: ::core::primitive::u32, }, #[codec(index = 5)] - #[doc = "Award bounty to a beneficiary account. The beneficiary will be able to claim the funds"] - #[doc = "after a delay."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be the curator of this bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to award."] - #[doc = "- `beneficiary`: The beneficiary account whom will receive the payout."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::award_bounty`]."] award_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -27313,45 +26866,19 @@ pub mod api { >, }, #[codec(index = 6)] - #[doc = "Claim the payout from an awarded bounty after payout delay."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be the beneficiary of this bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to claim."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::claim_bounty`]."] claim_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, }, #[codec(index = 7)] - #[doc = "Cancel a proposed or active bounty. All the funds will be sent to treasury and"] - #[doc = "the curator deposit will be unreserved if possible."] - #[doc = ""] - #[doc = "Only `T::RejectOrigin` is able to cancel a bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to cancel."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::close_bounty`]."] close_bounty { #[codec(compact)] bounty_id: ::core::primitive::u32, }, #[codec(index = 8)] - #[doc = "Extend the expiry time of an active bounty."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be the curator of this bounty."] - #[doc = ""] - #[doc = "- `bounty_id`: Bounty ID to extend."] - #[doc = "- `remark`: additional information."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::extend_bounty_expiry`]."] extend_bounty_expiry { #[codec(compact)] bounty_id: ::core::primitive::u32, @@ -27371,7 +26898,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Proposer's balance is too low."] @@ -27421,7 +26948,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "New bounty proposal."] @@ -27526,91 +27053,24 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Set the collective's membership."] - #[doc = ""] - #[doc = "- `new_members`: The new member list. Be nice to the chain and provide it sorted."] - #[doc = "- `prime`: The prime member whose vote sets the default."] - #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] - #[doc = " weight estimation."] - #[doc = ""] - #[doc = "Requires root origin."] - #[doc = ""] - #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] - #[doc = " the weight estimations rely on it to estimate dispatchable weight."] - #[doc = ""] - #[doc = "# WARNING:"] - #[doc = ""] - #[doc = "The `pallet-collective` can also be managed by logic outside of the pallet through the"] - #[doc = "implementation of the trait [`ChangeMembers`]."] - #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] - #[doc = "with other logic managing the member set."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(MP + N)` where:"] - #[doc = " - `M` old-members-count (code- and governance-bounded)"] - #[doc = " - `N` new-members-count (code- and governance-bounded)"] - #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] + #[doc = "See [`Pallet::set_members`]."] set_members { new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, prime: ::core::option::Option<::subxt::utils::AccountId32>, old_count: ::core::primitive::u32, }, #[codec(index = 1)] - #[doc = "Dispatch a proposal from a member using the `Member` origin."] - #[doc = ""] - #[doc = "Origin must be a member of the collective."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::execute`]."] execute { proposal: ::std::boxed::Box, #[codec(compact)] length_bound: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Add a new proposal to either be voted on or executed directly."] - #[doc = ""] - #[doc = "Requires the sender to be member."] - #[doc = ""] - #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] - #[doc = "or put up for voting."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - branching is influenced by `threshold` where:"] - #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] - #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::propose`]."] propose { #[codec(compact)] threshold: ::core::primitive::u32, @@ -27619,118 +27079,18 @@ pub mod api { length_bound: ::core::primitive::u32, }, #[codec(index = 3)] - #[doc = "Add an aye or nay vote for the sender to the given proposal."] - #[doc = ""] - #[doc = "Requires the sender to be a member."] - #[doc = ""] - #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] - #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] - #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::vote`]."] vote { proposal: ::subxt::utils::H256, #[codec(compact)] index: ::core::primitive::u32, approve: ::core::primitive::bool, }, - #[codec(index = 4)] - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - close_old_weight { - proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - index: ::core::primitive::u32, - #[codec(compact)] - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - length_bound: ::core::primitive::u32, - }, #[codec(index = 5)] - #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] - #[doc = "state."] - #[doc = ""] - #[doc = "Must be called by the Root origin."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] - #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "See [`Pallet::disapprove_proposal`]."] disapprove_proposal { proposal_hash: ::subxt::utils::H256 }, #[codec(index = 6)] - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] + #[doc = "See [`Pallet::close`]."] close { proposal_hash: ::subxt::utils::H256, #[codec(compact)] @@ -27753,91 +27113,24 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call2 { #[codec(index = 0)] - #[doc = "Set the collective's membership."] - #[doc = ""] - #[doc = "- `new_members`: The new member list. Be nice to the chain and provide it sorted."] - #[doc = "- `prime`: The prime member whose vote sets the default."] - #[doc = "- `old_count`: The upper bound for the previous number of members in storage. Used for"] - #[doc = " weight estimation."] - #[doc = ""] - #[doc = "Requires root origin."] - #[doc = ""] - #[doc = "NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but"] - #[doc = " the weight estimations rely on it to estimate dispatchable weight."] - #[doc = ""] - #[doc = "# WARNING:"] - #[doc = ""] - #[doc = "The `pallet-collective` can also be managed by logic outside of the pallet through the"] - #[doc = "implementation of the trait [`ChangeMembers`]."] - #[doc = "Any call to `set_members` must be careful that the member set doesn't get out of sync"] - #[doc = "with other logic managing the member set."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(MP + N)` where:"] - #[doc = " - `M` old-members-count (code- and governance-bounded)"] - #[doc = " - `N` new-members-count (code- and governance-bounded)"] - #[doc = " - `P` proposals-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the"] - #[doc = " members"] - #[doc = " - 1 storage read (codec `O(P)`) for reading the proposals"] - #[doc = " - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal"] - #[doc = " - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one"] - #[doc = "# "] + #[doc = "See [`Pallet::set_members`]."] set_members { new_members: ::std::vec::Vec<::subxt::utils::AccountId32>, prime: ::core::option::Option<::subxt::utils::AccountId32>, old_count: ::core::primitive::u32, }, #[codec(index = 1)] - #[doc = "Dispatch a proposal from a member using the `Member` origin."] - #[doc = ""] - #[doc = "Origin must be a member of the collective."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching"] - #[doc = " `proposal`"] - #[doc = "- DB: 1 read (codec `O(M)`) + DB access of `proposal`"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::execute`]."] execute { proposal: ::std::boxed::Box, #[codec(compact)] length_bound: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Add a new proposal to either be voted on or executed directly."] - #[doc = ""] - #[doc = "Requires the sender to be member."] - #[doc = ""] - #[doc = "`threshold` determines whether `proposal` is executed directly (`threshold < 2`)"] - #[doc = "or put up for voting."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1)` or `O(B + M + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - branching is influenced by `threshold` where:"] - #[doc = " - `P1` is proposal execution complexity (`threshold < 2`)"] - #[doc = " - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `is_member` (codec `O(M)`)"] - #[doc = " - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)"] - #[doc = " - DB accesses influenced by `threshold`:"] - #[doc = " - EITHER storage accesses done by `proposal` (`threshold < 2`)"] - #[doc = " - OR proposal insertion (`threshold <= 2`)"] - #[doc = " - 1 storage mutation `Proposals` (codec `O(P2)`)"] - #[doc = " - 1 storage mutation `ProposalCount` (codec `O(1)`)"] - #[doc = " - 1 storage write `ProposalOf` (codec `O(B)`)"] - #[doc = " - 1 storage write `Voting` (codec `O(M)`)"] - #[doc = " - 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::propose`]."] propose { #[codec(compact)] threshold: ::core::primitive::u32, @@ -27846,118 +27139,18 @@ pub mod api { length_bound: ::core::primitive::u32, }, #[codec(index = 3)] - #[doc = "Add an aye or nay vote for the sender to the given proposal."] - #[doc = ""] - #[doc = "Requires the sender to be a member."] - #[doc = ""] - #[doc = "Transaction fees will be waived if the member is voting on any particular proposal"] - #[doc = "for the first time and the call is successful. Subsequent vote changes will charge a"] - #[doc = "fee."] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(M)` where `M` is members-count (code- and governance-bounded)"] - #[doc = "- DB:"] - #[doc = " - 1 storage read `Members` (codec `O(M)`)"] - #[doc = " - 1 storage mutation `Voting` (codec `O(M)`)"] - #[doc = "- 1 event"] - #[doc = "# "] + #[doc = "See [`Pallet::vote`]."] vote { proposal: ::subxt::utils::H256, #[codec(compact)] index: ::core::primitive::u32, approve: ::core::primitive::bool, }, - #[codec(index = 4)] - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] - close_old_weight { - proposal_hash: ::subxt::utils::H256, - #[codec(compact)] - index: ::core::primitive::u32, - #[codec(compact)] - proposal_weight_bound: runtime_types::sp_weights::OldWeight, - #[codec(compact)] - length_bound: ::core::primitive::u32, - }, #[codec(index = 5)] - #[doc = "Disapprove a proposal, close, and remove it from the system, regardless of its current"] - #[doc = "state."] - #[doc = ""] - #[doc = "Must be called by the Root origin."] - #[doc = ""] - #[doc = "Parameters:"] - #[doc = "* `proposal_hash`: The hash of the proposal that should be disapproved."] - #[doc = ""] - #[doc = "# "] - #[doc = "Complexity: O(P) where P is the number of max proposals"] - #[doc = "DB Weight:"] - #[doc = "* Reads: Proposals"] - #[doc = "* Writes: Voting, Proposals, ProposalOf"] - #[doc = "# "] + #[doc = "See [`Pallet::disapprove_proposal`]."] disapprove_proposal { proposal_hash: ::subxt::utils::H256 }, #[codec(index = 6)] - #[doc = "Close a vote that is either approved, disapproved or whose voting period has ended."] - #[doc = ""] - #[doc = "May be called by any signed account in order to finish voting and close the proposal."] - #[doc = ""] - #[doc = "If called before the end of the voting period it will only close the vote if it is"] - #[doc = "has enough votes to be approved or disapproved."] - #[doc = ""] - #[doc = "If called after the end of the voting period abstentions are counted as rejections"] - #[doc = "unless there is a prime member set and the prime member cast an approval."] - #[doc = ""] - #[doc = "If the close operation completes successfully with disapproval, the transaction fee will"] - #[doc = "be waived. Otherwise execution of the approved operation will be charged to the caller."] - #[doc = ""] - #[doc = "+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed"] - #[doc = "proposal."] - #[doc = "+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via"] - #[doc = "`storage::read` so it is `size_of::() == 4` larger than the pure length."] - #[doc = ""] - #[doc = "# "] - #[doc = "## Weight"] - #[doc = "- `O(B + M + P1 + P2)` where:"] - #[doc = " - `B` is `proposal` size in bytes (length-fee-bounded)"] - #[doc = " - `M` is members-count (code- and governance-bounded)"] - #[doc = " - `P1` is the complexity of `proposal` preimage."] - #[doc = " - `P2` is proposal-count (code-bounded)"] - #[doc = "- DB:"] - #[doc = " - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)"] - #[doc = " - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec"] - #[doc = " `O(P2)`)"] - #[doc = " - any mutations done while executing `proposal` (`P1`)"] - #[doc = "- up to 3 events"] - #[doc = "# "] + #[doc = "See [`Pallet::close`]."] close { proposal_hash: ::subxt::utils::H256, #[codec(compact)] @@ -27980,7 +27173,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Account is not a member"] @@ -28026,7 +27219,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error2 { #[codec(index = 0)] #[doc = "Account is not a member"] @@ -28072,7 +27265,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] @@ -28134,7 +27327,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event2 { #[codec(index = 0)] #[doc = "A motion (given hash) has been proposed (by given account) with a threshold (given"] @@ -28275,18 +27468,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Propose a sensitive action to be taken."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_ and the sender must"] - #[doc = "have funds to cover the deposit."] - #[doc = ""] - #[doc = "- `proposal_hash`: The hash of the proposal preimage."] - #[doc = "- `value`: The amount of deposit (must be at least `MinimumDeposit`)."] - #[doc = ""] - #[doc = "Emits `Proposed`."] + #[doc = "See [`Pallet::propose`]."] propose { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::da_runtime::RuntimeCall, @@ -28295,24 +27480,13 @@ pub mod api { value: ::core::primitive::u128, }, #[codec(index = 1)] - #[doc = "Signals agreement with a particular proposal."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_ and the sender"] - #[doc = "must have funds to cover the deposit, equal to the original deposit."] - #[doc = ""] - #[doc = "- `proposal`: The index of the proposal to second."] + #[doc = "See [`Pallet::second`]."] second { #[codec(compact)] proposal: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;"] - #[doc = "otherwise it is a vote to keep the status quo."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_."] - #[doc = ""] - #[doc = "- `ref_index`: The index of the referendum to vote for."] - #[doc = "- `vote`: The vote configuration."] + #[doc = "See [`Pallet::vote`]."] vote { #[codec(compact)] ref_index: ::core::primitive::u32, @@ -28321,127 +27495,47 @@ pub mod api { >, }, #[codec(index = 3)] - #[doc = "Schedule an emergency cancellation of a referendum. Cannot happen twice to the same"] - #[doc = "referendum."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `CancellationOrigin`."] - #[doc = ""] - #[doc = "-`ref_index`: The index of the referendum to cancel."] - #[doc = ""] - #[doc = "Weight: `O(1)`."] + #[doc = "See [`Pallet::emergency_cancel`]."] emergency_cancel { ref_index: ::core::primitive::u32 }, #[codec(index = 4)] - #[doc = "Schedule a referendum to be tabled once it is legal to schedule an external"] - #[doc = "referendum."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `ExternalOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal."] + #[doc = "See [`Pallet::external_propose`]."] external_propose { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::da_runtime::RuntimeCall, >, }, #[codec(index = 5)] - #[doc = "Schedule a majority-carries referendum to be tabled next once it is legal to schedule"] - #[doc = "an external referendum."] - #[doc = ""] - #[doc = "The dispatch of this call must be `ExternalMajorityOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal."] - #[doc = ""] - #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] - #[doc = "pre-scheduled `external_propose` call."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] + #[doc = "See [`Pallet::external_propose_majority`]."] external_propose_majority { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::da_runtime::RuntimeCall, >, }, #[codec(index = 6)] - #[doc = "Schedule a negative-turnout-bias referendum to be tabled next once it is legal to"] - #[doc = "schedule an external referendum."] - #[doc = ""] - #[doc = "The dispatch of this call must be `ExternalDefaultOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal."] - #[doc = ""] - #[doc = "Unlike `external_propose`, blacklisting has no effect on this and it may replace a"] - #[doc = "pre-scheduled `external_propose` call."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] + #[doc = "See [`Pallet::external_propose_default`]."] external_propose_default { proposal: runtime_types::frame_support::traits::preimages::Bounded< runtime_types::da_runtime::RuntimeCall, >, }, #[codec(index = 7)] - #[doc = "Schedule the currently externally-proposed majority-carries referendum to be tabled"] - #[doc = "immediately. If there is no externally-proposed referendum currently, or if there is one"] - #[doc = "but it is not a majority-carries referendum then it fails."] - #[doc = ""] - #[doc = "The dispatch of this call must be `FastTrackOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The hash of the current external proposal."] - #[doc = "- `voting_period`: The period that is allowed for voting on this proposal. Increased to"] - #[doc = "\tMust be always greater than zero."] - #[doc = "\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`."] - #[doc = "- `delay`: The number of block after voting has ended in approval and this should be"] - #[doc = " enacted. This doesn't have a minimum amount."] - #[doc = ""] - #[doc = "Emits `Started`."] - #[doc = ""] - #[doc = "Weight: `O(1)`"] + #[doc = "See [`Pallet::fast_track`]."] fast_track { proposal_hash: ::subxt::utils::H256, voting_period: ::core::primitive::u32, delay: ::core::primitive::u32, }, #[codec(index = 8)] - #[doc = "Veto and blacklist the external proposal hash."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `VetoOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The preimage hash of the proposal to veto and blacklist."] - #[doc = ""] - #[doc = "Emits `Vetoed`."] - #[doc = ""] - #[doc = "Weight: `O(V + log(V))` where V is number of `existing vetoers`"] + #[doc = "See [`Pallet::veto_external`]."] veto_external { proposal_hash: ::subxt::utils::H256 }, #[codec(index = 9)] - #[doc = "Remove a referendum."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Root_."] - #[doc = ""] - #[doc = "- `ref_index`: The index of the referendum to cancel."] - #[doc = ""] - #[doc = "# Weight: `O(1)`."] + #[doc = "See [`Pallet::cancel_referendum`]."] cancel_referendum { #[codec(compact)] ref_index: ::core::primitive::u32, }, #[codec(index = 10)] - #[doc = "Delegate the voting power (with some given conviction) of the sending account."] - #[doc = ""] - #[doc = "The balance delegated is locked for as long as it's delegated, and thereafter for the"] - #[doc = "time appropriate for the conviction's lock period."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_, and the signing account must either:"] - #[doc = " - be delegating already; or"] - #[doc = " - have no voting activity (if there is, then it will need to be removed/consolidated"] - #[doc = " through `reap_vote` or `unvote`)."] - #[doc = ""] - #[doc = "- `to`: The account whose voting the `target` account's voting power will follow."] - #[doc = "- `conviction`: The conviction that will be attached to the delegated votes. When the"] - #[doc = " account is undelegated, the funds will be locked for the corresponding period."] - #[doc = "- `balance`: The amount of the account's balance to be used in delegating. This must not"] - #[doc = " be more than the account's current balance."] - #[doc = ""] - #[doc = "Emits `Delegated`."] - #[doc = ""] - #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] - #[doc = " voted on. Weight is charged as if maximum votes."] + #[doc = "See [`Pallet::delegate`]."] delegate { to: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -28451,34 +27545,13 @@ pub mod api { balance: ::core::primitive::u128, }, #[codec(index = 11)] - #[doc = "Undelegate the voting power of the sending account."] - #[doc = ""] - #[doc = "Tokens may be unlocked following once an amount of time consistent with the lock period"] - #[doc = "of the conviction with which the delegation was issued."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_ and the signing account must be"] - #[doc = "currently delegating."] - #[doc = ""] - #[doc = "Emits `Undelegated`."] - #[doc = ""] - #[doc = "Weight: `O(R)` where R is the number of referendums the voter delegating to has"] - #[doc = " voted on. Weight is charged as if maximum votes."] + #[doc = "See [`Pallet::undelegate`]."] undelegate, #[codec(index = 12)] - #[doc = "Clears all public proposals."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Root_."] - #[doc = ""] - #[doc = "Weight: `O(1)`."] + #[doc = "See [`Pallet::clear_public_proposals`]."] clear_public_proposals, #[codec(index = 13)] - #[doc = "Unlock tokens that have an expired lock."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_."] - #[doc = ""] - #[doc = "- `target`: The account to remove the lock on."] - #[doc = ""] - #[doc = "Weight: `O(R)` with R number of vote of target."] + #[doc = "See [`Pallet::unlock`]."] unlock { target: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -28486,50 +27559,10 @@ pub mod api { >, }, #[codec(index = 14)] - #[doc = "Remove a vote for a referendum."] - #[doc = ""] - #[doc = "If:"] - #[doc = "- the referendum was cancelled, or"] - #[doc = "- the referendum is ongoing, or"] - #[doc = "- the referendum has ended such that"] - #[doc = " - the vote of the account was in opposition to the result; or"] - #[doc = " - there was no conviction to the account's vote; or"] - #[doc = " - the account made a split vote"] - #[doc = "...then the vote is removed cleanly and a following call to `unlock` may result in more"] - #[doc = "funds being available."] - #[doc = ""] - #[doc = "If, however, the referendum has ended and:"] - #[doc = "- it finished corresponding to the vote of the account, and"] - #[doc = "- the account made a standard vote with conviction, and"] - #[doc = "- the lock period of the conviction is not over"] - #[doc = "...then the lock will be aggregated into the overall account's lock, which may involve"] - #[doc = "*overlocking* (where the two locks are combined into a single lock that is the maximum"] - #[doc = "of both the amount locked and the time is it locked for)."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_, and the signer must have a vote"] - #[doc = "registered for referendum `index`."] - #[doc = ""] - #[doc = "- `index`: The index of referendum of the vote to be removed."] - #[doc = ""] - #[doc = "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on."] - #[doc = " Weight is calculated for the maximum number of vote."] + #[doc = "See [`Pallet::remove_vote`]."] remove_vote { index: ::core::primitive::u32 }, #[codec(index = 15)] - #[doc = "Remove a vote for a referendum."] - #[doc = ""] - #[doc = "If the `target` is equal to the signer, then this function is exactly equivalent to"] - #[doc = "`remove_vote`. If not equal to the signer, then the vote must have expired,"] - #[doc = "either because the referendum was cancelled, because the voter lost the referendum or"] - #[doc = "because the conviction period is over."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be _Signed_."] - #[doc = ""] - #[doc = "- `target`: The account of the vote to be removed; this account must have voted for"] - #[doc = " referendum `index`."] - #[doc = "- `index`: The index of referendum of the vote to be removed."] - #[doc = ""] - #[doc = "Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on."] - #[doc = " Weight is calculated for the maximum number of vote."] + #[doc = "See [`Pallet::remove_other_vote`]."] remove_other_vote { target: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -28538,37 +27571,23 @@ pub mod api { index: ::core::primitive::u32, }, #[codec(index = 16)] - #[doc = "Permanently place a proposal into the blacklist. This prevents it from ever being"] - #[doc = "proposed again."] - #[doc = ""] - #[doc = "If called on a queued public or external proposal, then this will result in it being"] - #[doc = "removed. If the `ref_index` supplied is an active referendum with the proposal hash,"] - #[doc = "then it will be cancelled."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `BlacklistOrigin`."] - #[doc = ""] - #[doc = "- `proposal_hash`: The proposal hash to blacklist permanently."] - #[doc = "- `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be"] - #[doc = "cancelled."] - #[doc = ""] - #[doc = "Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a"] - #[doc = " reasonable value)."] + #[doc = "See [`Pallet::blacklist`]."] blacklist { proposal_hash: ::subxt::utils::H256, maybe_ref_index: ::core::option::Option<::core::primitive::u32>, }, #[codec(index = 17)] - #[doc = "Remove a proposal."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be `CancelProposalOrigin`."] - #[doc = ""] - #[doc = "- `prop_index`: The index of the proposal to cancel."] - #[doc = ""] - #[doc = "Weight: `O(p)` where `p = PublicProps::::decode_len()`"] + #[doc = "See [`Pallet::cancel_proposal`]."] cancel_proposal { #[codec(compact)] prop_index: ::core::primitive::u32, }, + #[codec(index = 18)] + #[doc = "See [`Pallet::set_metadata`]."] + set_metadata { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + maybe_hash: ::core::option::Option<::subxt::utils::H256>, + }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -28583,7 +27602,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Value too low"] @@ -28655,6 +27674,9 @@ pub mod api { #[codec(index = 22)] #[doc = "Voting period too low"] VotingPeriodLow, + #[codec(index = 23)] + #[doc = "The preimage does not exist."] + PreimageNotExist, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -28669,7 +27691,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A motion has been proposed by a public account."] @@ -28740,6 +27762,25 @@ pub mod api { #[codec(index = 13)] #[doc = "A proposal got canceled."] ProposalCanceled { prop_index: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "Metadata for a proposal or a referendum has been set."] + MetadataSet { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + hash: ::subxt::utils::H256, + }, + #[codec(index = 15)] + #[doc = "Metadata for a proposal or a referendum has been cleared."] + MetadataCleared { + owner: runtime_types::pallet_democracy::types::MetadataOwner, + hash: ::subxt::utils::H256, + }, + #[codec(index = 16)] + #[doc = "Metadata has been transferred to new owner."] + MetadataTransferred { + prev_owner: runtime_types::pallet_democracy::types::MetadataOwner, + owner: runtime_types::pallet_democracy::types::MetadataOwner, + hash: ::subxt::utils::H256, + }, } } pub mod types { @@ -28774,6 +27815,27 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum MetadataOwner { + #[codec(index = 0)] + External, + #[codec(index = 1)] + Proposal(::core::primitive::u32), + #[codec(index = 2)] + Referendum(::core::primitive::u32), + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum ReferendumInfo<_0, _1, _2> { #[codec(index = 0)] Ongoing(runtime_types::pallet_democracy::types::ReferendumStatus<_0, _1, _2>), @@ -28891,7 +27953,7 @@ pub mod api { pub enum Voting<_0, _1, _2> { #[codec(index = 0)] Direct { - votes: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + votes: runtime_types::bounded_collections::bounded_vec::BoundedVec<( _2, runtime_types::pallet_democracy::vote::AccountVote<_0>, )>, @@ -28950,9 +28012,9 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { - # [codec (index = 0)] # [doc = "Submit a solution for the unsigned phase."] # [doc = ""] # [doc = "The dispatch origin fo this call must be __none__."] # [doc = ""] # [doc = "This submission is checked on the fly. Moreover, this unsigned solution is only"] # [doc = "validated when submitted to the pool from the **local** node. Effectively, this means"] # [doc = "that only active validators can submit this transaction when authoring a block (similar"] # [doc = "to an inherent)."] # [doc = ""] # [doc = "To prevent any incorrect solution (and thus wasted time/weight), this transaction will"] # [doc = "panic if the solution submitted by the validator is invalid in any way, effectively"] # [doc = "putting their authoring reward at risk."] # [doc = ""] # [doc = "No deposit or reward is associated with this submission."] submit_unsigned { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: da_runtime :: constants :: staking :: NposSolution16 > > , witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } , # [codec (index = 1)] # [doc = "Set a new value for `MinimumUntrustedScore`."] # [doc = ""] # [doc = "Dispatch origin must be aligned with `T::ForceOrigin`."] # [doc = ""] # [doc = "This check can be turned off by setting the value to `None`."] set_minimum_untrusted_score { maybe_next_score : :: core :: option :: Option < runtime_types :: sp_npos_elections :: ElectionScore > , } , # [codec (index = 2)] # [doc = "Set a solution in the queue, to be handed out to the client of this pallet in the next"] # [doc = "call to `ElectionProvider::elect`."] # [doc = ""] # [doc = "This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`."] # [doc = ""] # [doc = "The solution is not checked for any feasibility and is assumed to be trustworthy, as any"] # [doc = "feasibility check itself can in principle cause the election process to fail (due to"] # [doc = "memory/weight constrains)."] set_emergency_election_result { supports : :: std :: vec :: Vec < (:: subxt :: utils :: AccountId32 , runtime_types :: sp_npos_elections :: Support < :: subxt :: utils :: AccountId32 > ,) > , } , # [codec (index = 3)] # [doc = "Submit a solution for the signed phase."] # [doc = ""] # [doc = "The dispatch origin fo this call must be __signed__."] # [doc = ""] # [doc = "The solution is potentially queued, based on the claimed score and processed at the end"] # [doc = "of the signed phase."] # [doc = ""] # [doc = "A deposit is reserved and recorded for the solution. Based on the outcome, the solution"] # [doc = "might be rewarded, slashed, or get all or a part of the deposit back."] submit { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: da_runtime :: constants :: staking :: NposSolution16 > > , } , # [codec (index = 4)] # [doc = "Trigger the governance fallback."] # [doc = ""] # [doc = "This can only be called when [`Phase::Emergency`] is enabled, as an alternative to"] # [doc = "calling [`Call::set_emergency_election_result`]."] governance_fallback { maybe_max_voters : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_max_targets : :: core :: option :: Option < :: core :: primitive :: u32 > , } , } + # [codec (index = 0)] # [doc = "See [`Pallet::submit_unsigned`]."] submit_unsigned { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: da_runtime :: constants :: staking :: NposSolution16 > > , witness : runtime_types :: pallet_election_provider_multi_phase :: SolutionOrSnapshotSize , } , # [codec (index = 1)] # [doc = "See [`Pallet::set_minimum_untrusted_score`]."] set_minimum_untrusted_score { maybe_next_score : :: core :: option :: Option < runtime_types :: sp_npos_elections :: ElectionScore > , } , # [codec (index = 2)] # [doc = "See [`Pallet::set_emergency_election_result`]."] set_emergency_election_result { supports : :: std :: vec :: Vec < (:: subxt :: utils :: AccountId32 , runtime_types :: sp_npos_elections :: Support < :: subxt :: utils :: AccountId32 > ,) > , } , # [codec (index = 3)] # [doc = "See [`Pallet::submit`]."] submit { raw_solution : :: std :: boxed :: Box < runtime_types :: pallet_election_provider_multi_phase :: RawSolution < runtime_types :: da_runtime :: constants :: staking :: NposSolution16 > > , } , # [codec (index = 4)] # [doc = "See [`Pallet::governance_fallback`]."] governance_fallback { maybe_max_voters : :: core :: option :: Option < :: core :: primitive :: u32 > , maybe_max_targets : :: core :: option :: Option < :: core :: primitive :: u32 > , } , } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -29024,7 +28086,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A solution was stored with the given compute."] @@ -29180,7 +28242,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct ReadySolution { - pub supports: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub supports: runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::subxt::utils::AccountId32, runtime_types::sp_npos_elections::Support<::subxt::utils::AccountId32>, )>, @@ -29200,15 +28262,9 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct RoundSnapshot { - pub voters: ::std::vec::Vec<( - ::subxt::utils::AccountId32, - ::core::primitive::u64, - runtime_types::sp_core::bounded::bounded_vec::BoundedVec< - ::subxt::utils::AccountId32, - >, - )>, - pub targets: ::std::vec::Vec<::subxt::utils::AccountId32>, + pub struct RoundSnapshot<_0, _1> { + pub voters: ::std::vec::Vec<_1>, + pub targets: ::std::vec::Vec<_0>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -29247,105 +28303,31 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Vote for a set of candidates for the upcoming round of election. This can be called to"] - #[doc = "set the initial votes, or update already existing votes."] - #[doc = ""] - #[doc = "Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is"] - #[doc = "reserved. The deposit is based on the number of votes and can be updated over time."] - #[doc = ""] - #[doc = "The `votes` should:"] - #[doc = " - not be empty."] - #[doc = " - be less than the number of possible candidates. Note that all current members and"] - #[doc = " runners-up are also automatically candidates for the next round."] - #[doc = ""] - #[doc = "If `value` is more than `who`'s free balance, then the maximum of the two is used."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed."] - #[doc = ""] - #[doc = "### Warning"] - #[doc = ""] - #[doc = "It is the responsibility of the caller to **NOT** place all of their balance into the"] - #[doc = "lock and keep some for further operations."] - #[doc = ""] - #[doc = "# "] - #[doc = "We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less."] - #[doc = "# "] + #[doc = "See [`Pallet::vote`]."] vote { votes: ::std::vec::Vec<::subxt::utils::AccountId32>, #[codec(compact)] value: ::core::primitive::u128, }, #[codec(index = 1)] - #[doc = "Remove `origin` as a voter."] - #[doc = ""] - #[doc = "This removes the lock and returns the deposit."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed and be a voter."] + #[doc = "See [`Pallet::remove_voter`]."] remove_voter, #[codec(index = 2)] - #[doc = "Submit oneself for candidacy. A fixed amount of deposit is recorded."] - #[doc = ""] - #[doc = "All candidates are wiped at the end of the term. They either become a member/runner-up,"] - #[doc = "or leave the system while their deposit is slashed."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed."] - #[doc = ""] - #[doc = "### Warning"] - #[doc = ""] - #[doc = "Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]"] - #[doc = "to get their deposit back. Losing the spot in an election will always lead to a slash."] - #[doc = ""] - #[doc = "# "] - #[doc = "The number of current candidates must be provided as witness data."] - #[doc = "# "] + #[doc = "See [`Pallet::submit_candidacy`]."] submit_candidacy { #[codec(compact)] candidate_count: ::core::primitive::u32, }, #[codec(index = 3)] - #[doc = "Renounce one's intention to be a candidate for the next election round. 3 potential"] - #[doc = "outcomes exist:"] - #[doc = ""] - #[doc = "- `origin` is a candidate and not elected in any set. In this case, the deposit is"] - #[doc = " unreserved, returned and origin is removed as a candidate."] - #[doc = "- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and"] - #[doc = " origin is removed as a runner-up."] - #[doc = "- `origin` is a current member. In this case, the deposit is unreserved and origin is"] - #[doc = " removed as a member, consequently not being a candidate for the next round anymore."] - #[doc = " Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they"] - #[doc = " are immediately used. If the prime is renouncing, then no prime will exist until the"] - #[doc = " next round."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed, and have one of the above roles."] - #[doc = ""] - #[doc = "# "] - #[doc = "The type of renouncing must be provided as witness data."] - #[doc = "# "] + #[doc = "See [`Pallet::renounce_candidacy`]."] renounce_candidacy { renouncing: runtime_types::pallet_elections_phragmen::Renouncing, }, #[codec(index = 4)] - #[doc = "Remove a particular member from the set. This is effective immediately and the bond of"] - #[doc = "the outgoing member is slashed."] - #[doc = ""] - #[doc = "If a runner-up is available, then the best runner-up will be removed and replaces the"] - #[doc = "outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is"] - #[doc = "started, else, nothing happens."] - #[doc = ""] - #[doc = "If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,"] - #[doc = "it is returned."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be root."] - #[doc = ""] - #[doc = "Note that this does not affect the designated block number of the next election."] - #[doc = ""] - #[doc = "# "] - #[doc = "If we have a replacement, we use a small weight. Else, since this is a root call and"] - #[doc = "will go into phragmen, we assume full block for now."] - #[doc = "# "] + #[doc = "See [`Pallet::remove_member`]."] remove_member { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -29355,16 +28337,7 @@ pub mod api { rerun_election: ::core::primitive::bool, }, #[codec(index = 5)] - #[doc = "Clean all voters who are defunct (i.e. they do not serve any purpose at all). The"] - #[doc = "deposit of the removed voters are returned."] - #[doc = ""] - #[doc = "This is an root function to be used only for cleaning the state."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be root."] - #[doc = ""] - #[doc = "# "] - #[doc = "The total number of voters and those that are defunct must be provided as witness data."] - #[doc = "# "] + #[doc = "See [`Pallet::clean_defunct_voters`]."] clean_defunct_voters { num_voters: ::core::primitive::u32, num_defunct: ::core::primitive::u32, @@ -29383,7 +28356,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Cannot vote when no candidates or members exist."] @@ -29450,7 +28423,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A new term with new_members. This indicates that enough candidates existed to run"] @@ -29570,16 +28543,13 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Report voter equivocation/misbehavior. This method will verify the"] - #[doc = "equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence"] - #[doc = "will be reported."] + #[doc = "See [`Pallet::report_equivocation`]."] report_equivocation { equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< + runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -29587,18 +28557,10 @@ pub mod api { key_owner_proof: runtime_types::sp_session::MembershipProof, }, #[codec(index = 1)] - #[doc = "Report voter equivocation/misbehavior. This method will verify the"] - #[doc = "equivocation proof and validate the given key ownership proof"] - #[doc = "against the extracted offender. If both are valid, the offence"] - #[doc = "will be reported."] - #[doc = ""] - #[doc = "This extrinsic must be called unsigned and it is expected that only"] - #[doc = "block authors will call it (validated in `ValidateUnsigned`), as such"] - #[doc = "if the block author is defined it will be defined as the equivocation"] - #[doc = "reporter."] + #[doc = "See [`Pallet::report_equivocation_unsigned`]."] report_equivocation_unsigned { equivocation_proof: ::std::boxed::Box< - runtime_types::sp_finality_grandpa::EquivocationProof< + runtime_types::sp_consensus_grandpa::EquivocationProof< ::subxt::utils::H256, ::core::primitive::u32, >, @@ -29606,18 +28568,7 @@ pub mod api { key_owner_proof: runtime_types::sp_session::MembershipProof, }, #[codec(index = 2)] - #[doc = "Note that the current authority set of the GRANDPA finality gadget has stalled."] - #[doc = ""] - #[doc = "This will trigger a forced authority set change at the beginning of the next session, to"] - #[doc = "be enacted `delay` blocks after that. The `delay` should be high enough to safely assume"] - #[doc = "that the block signalling the forced change will not be re-orged e.g. 1000 blocks."] - #[doc = "The block production rate (which may be slowed down because of finality lagging) should"] - #[doc = "be taken into account when choosing the `delay`. The GRANDPA voters based on the new"] - #[doc = "authority will start voting on top of `best_finalized_block_number` for new finalized"] - #[doc = "blocks. `best_finalized_block_number` should be the highest of the latest finalized"] - #[doc = "block of all validators of the new authority set."] - #[doc = ""] - #[doc = "Only callable by root."] + #[doc = "See [`Pallet::note_stalled`]."] note_stalled { delay: ::core::primitive::u32, best_finalized_block_number: ::core::primitive::u32, @@ -29636,7 +28587,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Attempt to signal GRANDPA pause when the authority set isn't live"] @@ -29675,13 +28626,13 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "New authority set has been applied."] NewAuthorities { authority_set: ::std::vec::Vec<( - runtime_types::sp_finality_grandpa::app::Public, + runtime_types::sp_consensus_grandpa::app::Public, ::core::primitive::u64, )>, }, @@ -29710,8 +28661,8 @@ pub mod api { pub scheduled_at: _0, pub delay: _0, pub next_authorities: - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec<( - runtime_types::sp_finality_grandpa::app::Public, + runtime_types::bounded_collections::weak_bounded_vec::WeakBoundedVec<( + runtime_types::sp_consensus_grandpa::app::Public, ::core::primitive::u64, )>, pub forced: ::core::option::Option<_0>, @@ -29760,19 +28711,7 @@ pub mod api { #[doc = "Identity pallet declaration."] pub enum Call { #[codec(index = 0)] - #[doc = "Add a registrar to the system."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `T::RegistrarOrigin`."] - #[doc = ""] - #[doc = "- `account`: the account of the registrar."] - #[doc = ""] - #[doc = "Emits `RegistrarAdded` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."] - #[doc = "- One storage mutation (codec `O(R)`)."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::add_registrar`]."] add_registrar { account: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -29780,51 +28719,13 @@ pub mod api { >, }, #[codec(index = 1)] - #[doc = "Set an account's identity information and reserve the appropriate deposit."] - #[doc = ""] - #[doc = "If the account already has identity information, the deposit is taken as part payment"] - #[doc = "for the new deposit."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `info`: The identity information."] - #[doc = ""] - #[doc = "Emits `IdentitySet` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(X + X' + R)`"] - #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)"] - #[doc = " - where `R` judgements-count (registrar-count-bounded)"] - #[doc = "- One balance reserve operation."] - #[doc = "- One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`)."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::set_identity`]."] set_identity { info: ::std::boxed::Box, }, #[codec(index = 2)] - #[doc = "Set the sub-accounts of the sender."] - #[doc = ""] - #[doc = "Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned"] - #[doc = "and an amount `SubAccountDeposit` will be reserved for each item in `subs`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "identity."] - #[doc = ""] - #[doc = "- `subs`: The identity's (new) sub-accounts."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(P + S)`"] - #[doc = " - where `P` old-subs-count (hard- and deposit-bounded)."] - #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] - #[doc = "- At most one balance operations."] - #[doc = "- DB:"] - #[doc = " - `P + S` storage mutations (codec complexity `O(1)`)"] - #[doc = " - One storage read (codec complexity `O(P)`)."] - #[doc = " - One storage write (codec complexity `O(S)`)."] - #[doc = " - One storage-exists (`IdentityOf::contains_key`)."] - #[doc = "# "] + #[doc = "See [`Pallet::set_subs`]."] set_subs { subs: ::std::vec::Vec<( ::subxt::utils::AccountId32, @@ -29832,49 +28733,10 @@ pub mod api { )>, }, #[codec(index = 3)] - #[doc = "Clear an account's identity info and all sub-accounts and return all deposits."] - #[doc = ""] - #[doc = "Payment: All reserved balances on the account are returned."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "identity."] - #[doc = ""] - #[doc = "Emits `IdentityCleared` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + S + X)`"] - #[doc = " - where `R` registrar-count (governance-bounded)."] - #[doc = " - where `S` subs-count (hard- and deposit-bounded)."] - #[doc = " - where `X` additional-field-count (deposit-bounded and code-bounded)."] - #[doc = "- One balance-unreserve operation."] - #[doc = "- `2` storage reads and `S + 2` storage deletions."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::clear_identity`]."] clear_identity, #[codec(index = 4)] - #[doc = "Request a judgement from a registrar."] - #[doc = ""] - #[doc = "Payment: At most `max_fee` will be reserved for payment to the registrar if judgement"] - #[doc = "given."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] - #[doc = "registered identity."] - #[doc = ""] - #[doc = "- `reg_index`: The index of the registrar whose judgement is requested."] - #[doc = "- `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:"] - #[doc = ""] - #[doc = "```nocompile"] - #[doc = "Self::registrars().get(reg_index).unwrap().fee"] - #[doc = "```"] - #[doc = ""] - #[doc = "Emits `JudgementRequested` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::request_judgement`]."] request_judgement { #[codec(compact)] reg_index: ::core::primitive::u32, @@ -29882,38 +28744,10 @@ pub mod api { max_fee: ::core::primitive::u128, }, #[codec(index = 5)] - #[doc = "Cancel a previous request."] - #[doc = ""] - #[doc = "Payment: A previously reserved deposit is returned on success."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a"] - #[doc = "registered identity."] - #[doc = ""] - #[doc = "- `reg_index`: The index of the registrar whose judgement is no longer requested."] - #[doc = ""] - #[doc = "Emits `JudgementUnrequested` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- One storage mutation `O(R + X)`."] - #[doc = "- One event"] - #[doc = "# "] + #[doc = "See [`Pallet::cancel_request`]."] cancel_request { reg_index: ::core::primitive::u32 }, #[codec(index = 6)] - #[doc = "Set the fee required for a judgement to be requested from a registrar."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `index`."] - #[doc = ""] - #[doc = "- `index`: the index of the registrar whose fee is to be set."] - #[doc = "- `fee`: the new fee."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)"] - #[doc = "# "] + #[doc = "See [`Pallet::set_fee`]."] set_fee { #[codec(compact)] index: ::core::primitive::u32, @@ -29921,19 +28755,7 @@ pub mod api { fee: ::core::primitive::u128, }, #[codec(index = 7)] - #[doc = "Change the account associated with a registrar."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `index`."] - #[doc = ""] - #[doc = "- `index`: the index of the registrar whose fee is to be set."] - #[doc = "- `new`: the new account ID."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)"] - #[doc = "# "] + #[doc = "See [`Pallet::set_account_id`]."] set_account_id { #[codec(compact)] index: ::core::primitive::u32, @@ -29943,19 +28765,7 @@ pub mod api { >, }, #[codec(index = 8)] - #[doc = "Set the field information for a registrar."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `index`."] - #[doc = ""] - #[doc = "- `index`: the index of the registrar whose fee is to be set."] - #[doc = "- `fields`: the fields that the registrar concerns themselves with."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R)`."] - #[doc = "- One storage mutation `O(R)`."] - #[doc = "- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)"] - #[doc = "# "] + #[doc = "See [`Pallet::set_fields`]."] set_fields { #[codec(compact)] index: ::core::primitive::u32, @@ -29964,26 +28774,7 @@ pub mod api { >, }, #[codec(index = 9)] - #[doc = "Provide a judgement for an account's identity."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must be the account"] - #[doc = "of the registrar whose index is `reg_index`."] - #[doc = ""] - #[doc = "- `reg_index`: the index of the registrar whose judgement is being made."] - #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] - #[doc = " with a registered identity."] - #[doc = "- `judgement`: the judgement of the registrar of index `reg_index` about `target`."] - #[doc = "- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided."] - #[doc = ""] - #[doc = "Emits `JudgementGiven` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + X)`."] - #[doc = "- One balance-transfer operation."] - #[doc = "- Up to one account-lookup operation."] - #[doc = "- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::provide_judgement`]."] provide_judgement { #[codec(compact)] reg_index: ::core::primitive::u32, @@ -29997,25 +28788,7 @@ pub mod api { identity: ::subxt::utils::H256, }, #[codec(index = 10)] - #[doc = "Remove an account's identity and sub-account information and slash the deposits."] - #[doc = ""] - #[doc = "Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by"] - #[doc = "`Slash`. Verification request deposits are not returned; they should be cancelled"] - #[doc = "manually using `cancel_request`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must match `T::ForceOrigin`."] - #[doc = ""] - #[doc = "- `target`: the account whose identity the judgement is upon. This must be an account"] - #[doc = " with a registered identity."] - #[doc = ""] - #[doc = "Emits `IdentityKilled` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(R + S + X)`."] - #[doc = "- One balance-reserve operation."] - #[doc = "- `S + 2` storage mutations."] - #[doc = "- One event."] - #[doc = "# "] + #[doc = "See [`Pallet::kill_identity`]."] kill_identity { target: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30023,13 +28796,7 @@ pub mod api { >, }, #[codec(index = 11)] - #[doc = "Add the given account to the sender's subs."] - #[doc = ""] - #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] - #[doc = "to the sender."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "sub identity of `sub`."] + #[doc = "See [`Pallet::add_sub`]."] add_sub { sub: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30038,10 +28805,7 @@ pub mod api { data: runtime_types::pallet_identity::types::Data, }, #[codec(index = 12)] - #[doc = "Alter the associated name of the given sub-account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "sub identity of `sub`."] + #[doc = "See [`Pallet::rename_sub`]."] rename_sub { sub: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30050,13 +28814,7 @@ pub mod api { data: runtime_types::pallet_identity::types::Data, }, #[codec(index = 13)] - #[doc = "Remove the given account from the sender's subs."] - #[doc = ""] - #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] - #[doc = "to the sender."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "sub identity of `sub`."] + #[doc = "See [`Pallet::remove_sub`]."] remove_sub { sub: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30064,16 +28822,7 @@ pub mod api { >, }, #[codec(index = 14)] - #[doc = "Remove the sender as a sub-account."] - #[doc = ""] - #[doc = "Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated"] - #[doc = "to the sender (*not* the original depositor)."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must have a registered"] - #[doc = "super-identity."] - #[doc = ""] - #[doc = "NOTE: This should not normally be used, but is provided in the case that the non-"] - #[doc = "controller of an account is maliciously registered as a sub-account."] + #[doc = "See [`Pallet::quit_sub`]."] quit_sub, } #[derive( @@ -30089,7 +28838,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Too many subs-accounts."] @@ -30159,7 +28908,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A name was set or reset (which will remove all judgements)."] @@ -30379,7 +29128,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct IdentityInfo { - pub additional: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub additional: runtime_types::bounded_collections::bounded_vec::BoundedVec<( runtime_types::pallet_identity::types::Data, runtime_types::pallet_identity::types::Data, )>, @@ -30455,7 +29204,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Registration<_0> { - pub judgements: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<( + pub judgements: runtime_types::bounded_collections::bounded_vec::BoundedVec<( ::core::primitive::u32, runtime_types::pallet_identity::types::Judgement<_0>, )>, @@ -30481,18 +29230,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "# "] - #[doc = "- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len) and E is"] - #[doc = " length of `heartbeat.network_state.external_address`"] - #[doc = " - `O(K)`: decoding of length `K`"] - #[doc = " - `O(E)`: decoding/encoding of length `E`"] - #[doc = "- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,"] - #[doc = " `ReceivedHeartbeats`"] - #[doc = "- DbWrites: `ReceivedHeartbeats`"] - #[doc = "# "] + #[doc = "See [`Pallet::heartbeat`]."] heartbeat { heartbeat: runtime_types::pallet_im_online::Heartbeat<::core::primitive::u32>, @@ -30512,7 +29253,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Non existent public key."] @@ -30534,7 +29275,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A new heartbeat was received from `AuthorityId`."] @@ -30604,33 +29345,8 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedOpaqueNetworkState { - pub peer_id: runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - pub external_addresses: - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - runtime_types::sp_core::bounded::weak_bounded_vec::WeakBoundedVec< - ::core::primitive::u8, - >, - >, - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Heartbeat<_0> { pub block_number: _0, - pub network_state: runtime_types::sp_core::offchain::OpaqueNetworkState, pub session_index: _0, pub authority_index: _0, pub validators_len: _0, @@ -30653,49 +29369,13 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Assign an previously unassigned index."] - #[doc = ""] - #[doc = "Payment: `Deposit` is reserved from the sender account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `index`: the index to be claimed. This must not be in use."] - #[doc = ""] - #[doc = "Emits `IndexAssigned` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] + #[doc = "See [`Pallet::claim`]."] claim { index: ::core::primitive::u32 }, #[codec(index = 1)] - #[doc = "Assign an index already owned by the sender to another account. The balance reservation"] - #[doc = "is effectively transferred to the new account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `index`: the index to be re-assigned. This must be owned by the sender."] - #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] - #[doc = ""] - #[doc = "Emits `IndexAssigned` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One transfer operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (recipient)"] - #[doc = " - Writes: Indices Accounts, System Account (recipient)"] - #[doc = "# "] + #[doc = "See [`Pallet::transfer`]."] transfer { new: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30704,47 +29384,10 @@ pub mod api { index: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Free up an index owned by the sender."] - #[doc = ""] - #[doc = "Payment: Any previous deposit placed for the index is unreserved in the sender account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the sender must own the index."] - #[doc = ""] - #[doc = "- `index`: the index to be freed. This must be owned by the sender."] - #[doc = ""] - #[doc = "Emits `IndexFreed` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- One reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] + #[doc = "See [`Pallet::free`]."] free { index: ::core::primitive::u32 }, #[codec(index = 3)] - #[doc = "Force an index to an account. This doesn't require a deposit. If the index is already"] - #[doc = "held, then any deposit is reimbursed to its current owner."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - #[doc = ""] - #[doc = "- `index`: the index to be (re-)assigned."] - #[doc = "- `new`: the new owner of the index. This function is a no-op if it is equal to sender."] - #[doc = "- `freeze`: if set to `true`, will freeze the index so it cannot be transferred."] - #[doc = ""] - #[doc = "Emits `IndexAssigned` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one reserve operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Indices Accounts, System Account (original owner)"] - #[doc = " - Writes: Indices Accounts, System Account (original owner)"] - #[doc = "# "] + #[doc = "See [`Pallet::force_transfer`]."] force_transfer { new: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30754,24 +29397,7 @@ pub mod api { freeze: ::core::primitive::bool, }, #[codec(index = 4)] - #[doc = "Freeze an index so it will always point to the sender account. This consumes the"] - #[doc = "deposit."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must have a"] - #[doc = "non-frozen account `index`."] - #[doc = ""] - #[doc = "- `index`: the index to be frozen in place."] - #[doc = ""] - #[doc = "Emits `IndexFrozen` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)`."] - #[doc = "- One storage mutation (codec `O(1)`)."] - #[doc = "- Up to one slash operation."] - #[doc = "- One event."] - #[doc = "-------------------"] - #[doc = "- DB Weight: 1 Read/Write (Accounts)"] - #[doc = "# "] + #[doc = "See [`Pallet::freeze`]."] freeze { index: ::core::primitive::u32 }, } #[derive( @@ -30787,7 +29413,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "The index was not already assigned."] @@ -30818,7 +29444,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A account index was assigned."] @@ -30855,9 +29481,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] + #[doc = "See [`Pallet::mandate`]."] mandate { call: ::std::boxed::Box, }, @@ -30875,7 +29502,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A root operation was executed, show result"] @@ -30903,12 +29530,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Add a member `who` to the set."] - #[doc = ""] - #[doc = "May only be called from `T::AddOrigin`."] + #[doc = "See [`Pallet::add_member`]."] add_member { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30916,9 +29541,7 @@ pub mod api { >, }, #[codec(index = 1)] - #[doc = "Remove a member `who` from the set."] - #[doc = ""] - #[doc = "May only be called from `T::RemoveOrigin`."] + #[doc = "See [`Pallet::remove_member`]."] remove_member { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30926,11 +29549,7 @@ pub mod api { >, }, #[codec(index = 2)] - #[doc = "Swap out one member `remove` for another `add`."] - #[doc = ""] - #[doc = "May only be called from `T::SwapOrigin`."] - #[doc = ""] - #[doc = "Prime membership is *not* passed from `remove` to `add`, if extant."] + #[doc = "See [`Pallet::swap_member`]."] swap_member { remove: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30942,19 +29561,12 @@ pub mod api { >, }, #[codec(index = 3)] - #[doc = "Change the membership to a new set, disregarding the existing membership. Be nice and"] - #[doc = "pass `members` pre-sorted."] - #[doc = ""] - #[doc = "May only be called from `T::ResetOrigin`."] + #[doc = "See [`Pallet::reset_members`]."] reset_members { members: ::std::vec::Vec<::subxt::utils::AccountId32>, }, #[codec(index = 4)] - #[doc = "Swap out the sending member for some other key `new`."] - #[doc = ""] - #[doc = "May only be called from `Signed` origin of a current member."] - #[doc = ""] - #[doc = "Prime membership is passed from the origin account to `new`, if extant."] + #[doc = "See [`Pallet::change_key`]."] change_key { new: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30962,9 +29574,7 @@ pub mod api { >, }, #[codec(index = 5)] - #[doc = "Set the prime member. Must be a current member."] - #[doc = ""] - #[doc = "May only be called from `T::PrimeOrigin`."] + #[doc = "See [`Pallet::set_prime`]."] set_prime { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -30972,9 +29582,7 @@ pub mod api { >, }, #[codec(index = 6)] - #[doc = "Remove the prime member if it exists."] - #[doc = ""] - #[doc = "May only be called from `T::PrimeOrigin`."] + #[doc = "See [`Pallet::clear_prime`]."] clear_prime, } #[derive( @@ -30990,7 +29598,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Already a member."] @@ -31015,7 +29623,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "The given member was added; see the transaction for who."] @@ -31055,75 +29663,16 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Immediately dispatch a multi-signature call using a single approval from the caller."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `other_signatories`: The accounts (other than the sender) who are part of the"] - #[doc = "multi-signature, but do not participate in the approval process."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result."] - #[doc = ""] - #[doc = "# "] - #[doc = "O(Z + C) where Z is the length of the call and C its execution weight."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight: None"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] + #[doc = "See [`Pallet::as_multi_threshold_1`]."] as_multi_threshold_1 { other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, call: ::std::boxed::Box, }, #[codec(index = 1)] - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "If there are enough, then dispatch the call."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call`: The call to be executed."] - #[doc = ""] - #[doc = "NOTE: Unless this is the final approval, you will generally want to use"] - #[doc = "`approve_as_multi` instead, since it only requires a hash of the call."] - #[doc = ""] - #[doc = "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise"] - #[doc = "on success, result is `Ok` and the result from the interior call, if it was executed,"] - #[doc = "may be found in the deposited `MultisigExecuted` event."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(S + Z + Call)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- The weight of the `call`."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "-------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Reads: Multisig Storage, [Caller Account]"] - #[doc = " - Writes: Multisig Storage, [Caller Account]"] - #[doc = "- Plus Call Weight"] - #[doc = "# "] + #[doc = "See [`Pallet::as_multi`]."] as_multi { threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -31134,41 +29683,7 @@ pub mod api { max_weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 2)] - #[doc = "Register approval for a dispatch to be made from a deterministic composite account if"] - #[doc = "approved by a total of `threshold - 1` of `other_signatories`."] - #[doc = ""] - #[doc = "Payment: `DepositBase` will be reserved if this is the first approval, plus"] - #[doc = "`threshold` times `DepositFactor`. It is returned once this dispatch happens or"] - #[doc = "is cancelled."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is"] - #[doc = "not the first approval, then it must be `Some`, with the timepoint (block number and"] - #[doc = "transaction index) of the first approval transaction."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "NOTE: If this is the final approval, you will want to use `as_multi` instead."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- Up to one binary search and insert (`O(logS + S)`)."] - #[doc = "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove."] - #[doc = "- One event."] - #[doc = "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit"] - #[doc = " taken for its lifetime of `DepositBase + threshold * DepositFactor`."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account]"] - #[doc = " - Write: Multisig Storage, [Caller Account]"] - #[doc = "# "] + #[doc = "See [`Pallet::approve_as_multi`]."] approve_as_multi { threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -31179,32 +29694,7 @@ pub mod api { max_weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 3)] - #[doc = "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously"] - #[doc = "for this operation will be unreserved on success."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "- `threshold`: The total number of approvals for this dispatch before it is executed."] - #[doc = "- `other_signatories`: The accounts (other than the sender) who can approve this"] - #[doc = "dispatch. May not be empty."] - #[doc = "- `timepoint`: The timepoint (block number and transaction index) of the first approval"] - #[doc = "transaction for this dispatch."] - #[doc = "- `call_hash`: The hash of the call to be executed."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(S)`."] - #[doc = "- Up to one balance-reserve or unreserve operation."] - #[doc = "- One passthrough operation, one insert, both `O(S)` where `S` is the number of"] - #[doc = " signatories. `S` is capped by `MaxSignatories`, with weight being proportional."] - #[doc = "- One encode & hash, both of complexity `O(S)`."] - #[doc = "- One event."] - #[doc = "- I/O: 1 read `O(S)`, one remove."] - #[doc = "- Storage: removes one item."] - #[doc = "----------------------------------"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Multisig Storage, [Caller Account], Refund Account"] - #[doc = " - Write: Multisig Storage, [Caller Account], Refund Account"] - #[doc = "# "] + #[doc = "See [`Pallet::cancel_as_multi`]."] cancel_as_multi { threshold: ::core::primitive::u16, other_signatories: ::std::vec::Vec<::subxt::utils::AccountId32>, @@ -31226,7 +29716,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Threshold must be 2 or greater."] @@ -31284,7 +29774,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A new multisig operation has begun."] @@ -31341,7 +29831,7 @@ pub mod api { pub when: runtime_types::pallet_multisig::Timepoint<_0>, pub deposit: _1, pub depositor: _2, - pub approvals: runtime_types::sp_core::bounded::bounded_vec::BoundedVec<_2>, + pub approvals: runtime_types::bounded_collections::bounded_vec::BoundedVec<_2>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -31378,76 +29868,27 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Stake funds with a pool. The amount to bond is transferred from the member to the"] - #[doc = "pools account and immediately increases the pools bond."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "* An account can only be a member of a single pool."] - #[doc = "* An account cannot join the same pool multiple times."] - #[doc = "* This call will *not* dust the member account, so the member must have at least"] - #[doc = " `existential deposit + amount` in their account."] - #[doc = "* Only a pool with [`PoolState::Open`] can be joined"] + #[doc = "See [`Pallet::join`]."] join { #[codec(compact)] amount: ::core::primitive::u128, pool_id: ::core::primitive::u32, }, #[codec(index = 1)] - #[doc = "Bond `extra` more funds from `origin` into the pool to which they already belong."] - #[doc = ""] - #[doc = "Additional funds can come from either the free balance of the account, of from the"] - #[doc = "accumulated rewards, see [`BondExtra`]."] - #[doc = ""] - #[doc = "Bonding extra funds implies an automatic payout of all pending rewards as well."] + #[doc = "See [`Pallet::bond_extra`]."] bond_extra { extra: runtime_types::pallet_nomination_pools::BondExtra< ::core::primitive::u128, >, }, #[codec(index = 2)] - #[doc = "A bonded member can use this to claim their payout based on the rewards that the pool"] - #[doc = "has accumulated since their last claimed payout (OR since joining if this is there first"] - #[doc = "time claiming rewards). The payout will be transferred to the member's account."] - #[doc = ""] - #[doc = "The member will earn rewards pro rata based on the members stake vs the sum of the"] - #[doc = "members in the pools stake. Rewards do not \"expire\"."] + #[doc = "See [`Pallet::claim_payout`]."] claim_payout, #[codec(index = 3)] - #[doc = "Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It"] - #[doc = "implicitly collects the rewards one last time, since not doing so would mean some"] - #[doc = "rewards would be forfeited."] - #[doc = ""] - #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] - #[doc = "account)."] - #[doc = ""] - #[doc = "# Conditions for a permissionless dispatch."] - #[doc = ""] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler. This is"] - #[doc = " refereed to as a kick."] - #[doc = "* The pool is destroying and the member is not the depositor."] - #[doc = "* The pool is destroying, the member is the depositor and no other members are in the"] - #[doc = " pool."] - #[doc = ""] - #[doc = "## Conditions for permissioned dispatch (i.e. the caller is also the"] - #[doc = "`member_account`):"] - #[doc = ""] - #[doc = "* The caller is not the depositor."] - #[doc = "* The caller is the depositor, the pool is destroying and no other members are in the"] - #[doc = " pool."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "If there are too many unlocking chunks to unbond with the pool account,"] - #[doc = "[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks."] - #[doc = "The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]"] - #[doc = "to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks"] - #[doc = "are available). However, it may not be possible to release the current unlocking chunks,"] - #[doc = "in which case, the result of this call will likely be the `NoMoreChunks` error from the"] - #[doc = "staking system."] + #[doc = "See [`Pallet::unbond`]."] unbond { member_account: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -31457,36 +29898,13 @@ pub mod api { unbonding_points: ::core::primitive::u128, }, #[codec(index = 4)] - #[doc = "Call `withdraw_unbonded` for the pools account. This call can be made by any account."] - #[doc = ""] - #[doc = "This is useful if their are too many unlocking chunks to call `unbond`, and some"] - #[doc = "can be cleared by withdrawing. In the case there are too many unlocking chunks, the user"] - #[doc = "would probably see an error like `NoMoreChunks` emitted from the staking system when"] - #[doc = "they attempt to unbond."] + #[doc = "See [`Pallet::pool_withdraw_unbonded`]."] pool_withdraw_unbonded { pool_id: ::core::primitive::u32, num_slashing_spans: ::core::primitive::u32, }, #[codec(index = 5)] - #[doc = "Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an"] - #[doc = "error is returned."] - #[doc = ""] - #[doc = "Under certain conditions, this call can be dispatched permissionlessly (i.e. by any"] - #[doc = "account)."] - #[doc = ""] - #[doc = "# Conditions for a permissionless dispatch"] - #[doc = ""] - #[doc = "* The pool is in destroy mode and the target is not the depositor."] - #[doc = "* The target is the depositor and they are the only member in the sub pools."] - #[doc = "* The pool is blocked and the caller is either the root or state-toggler."] - #[doc = ""] - #[doc = "# Conditions for permissioned dispatch"] - #[doc = ""] - #[doc = "* The caller is the target and they are not the depositor."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "If the target is the depositor, the pool will be destroyed."] + #[doc = "See [`Pallet::withdraw_unbonded`]."] withdraw_unbonded { member_account: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -31495,23 +29913,7 @@ pub mod api { num_slashing_spans: ::core::primitive::u32, }, #[codec(index = 6)] - #[doc = "Create a new delegation pool."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of"] - #[doc = " deposit since the pools creator cannot fully unbond funds until the pool is being"] - #[doc = " destroyed."] - #[doc = "* `index` - A disambiguation index for creating the account. Likely only useful when"] - #[doc = " creating multiple pools in the same extrinsic."] - #[doc = "* `root` - The account to set as [`PoolRoles::root`]."] - #[doc = "* `nominator` - The account to set as the [`PoolRoles::nominator`]."] - #[doc = "* `state_toggler` - The account to set as the [`PoolRoles::state_toggler`]."] - #[doc = ""] - #[doc = "# Note"] - #[doc = ""] - #[doc = "In addition to `amount`, the caller will transfer the existential deposit; so the caller"] - #[doc = "needs at have at least `amount + existential_deposit` transferrable."] + #[doc = "See [`Pallet::create`]."] create { #[codec(compact)] amount: ::core::primitive::u128, @@ -31523,18 +29925,13 @@ pub mod api { ::subxt::utils::AccountId32, ::core::primitive::u32, >, - state_toggler: ::subxt::utils::MultiAddress< + bouncer: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, }, #[codec(index = 7)] - #[doc = "Create a new delegation pool with a previously used pool id"] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "same as `create` with the inclusion of"] - #[doc = "* `pool_id` - `A valid PoolId."] + #[doc = "See [`Pallet::create_with_pool_id`]."] create_with_pool_id { #[codec(compact)] amount: ::core::primitive::u128, @@ -31546,59 +29943,32 @@ pub mod api { ::subxt::utils::AccountId32, ::core::primitive::u32, >, - state_toggler: ::subxt::utils::MultiAddress< + bouncer: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, ::core::primitive::u32, >, pool_id: ::core::primitive::u32, }, #[codec(index = 8)] - #[doc = "Nominate on behalf of the pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] - #[doc = "root role."] - #[doc = ""] - #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] - #[doc = "account."] + #[doc = "See [`Pallet::nominate`]."] nominate { pool_id: ::core::primitive::u32, validators: ::std::vec::Vec<::subxt::utils::AccountId32>, }, #[codec(index = 9)] - #[doc = "Set a new state for the pool."] - #[doc = ""] - #[doc = "If a pool is already in the `Destroying` state, then under no condition can its state"] - #[doc = "change again."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be either:"] - #[doc = ""] - #[doc = "1. signed by the state toggler, or the root role of the pool,"] - #[doc = "2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and"] - #[doc = " then the state of the pool can be permissionlessly changed to `Destroying`."] + #[doc = "See [`Pallet::set_state`]."] set_state { pool_id: ::core::primitive::u32, state: runtime_types::pallet_nomination_pools::PoolState, }, #[codec(index = 10)] - #[doc = "Set a new metadata for the pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the state toggler, or the root role"] - #[doc = "of the pool."] + #[doc = "See [`Pallet::set_metadata`]."] set_metadata { pool_id: ::core::primitive::u32, metadata: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 11)] - #[doc = "Update configurations for the nomination pools. The origin for this call must be"] - #[doc = "Root."] - #[doc = ""] - #[doc = "# Arguments"] - #[doc = ""] - #[doc = "* `min_join_bond` - Set [`MinJoinBond`]."] - #[doc = "* `min_create_bond` - Set [`MinCreateBond`]."] - #[doc = "* `max_pools` - Set [`MaxPools`]."] - #[doc = "* `max_members` - Set [`MaxPoolMembers`]."] - #[doc = "* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."] + #[doc = "See [`Pallet::set_configs`]."] set_configs { min_join_bond: runtime_types::pallet_nomination_pools::ConfigOp< ::core::primitive::u128, @@ -31615,15 +29985,12 @@ pub mod api { max_members_per_pool: runtime_types::pallet_nomination_pools::ConfigOp< ::core::primitive::u32, >, + global_max_commission: runtime_types::pallet_nomination_pools::ConfigOp< + runtime_types::sp_arithmetic::per_things::Perbill, + >, }, #[codec(index = 12)] - #[doc = "Update the roles of the pool."] - #[doc = ""] - #[doc = "The root is the only entity that can change any of the roles, including itself,"] - #[doc = "excluding the depositor, who can never change."] - #[doc = ""] - #[doc = "It emits an event, notifying UIs of the role change. This event is quite relevant to"] - #[doc = "most pool members and they should be informed of changes to pool roles."] + #[doc = "See [`Pallet::update_roles`]."] update_roles { pool_id: ::core::primitive::u32, new_root: runtime_types::pallet_nomination_pools::ConfigOp< @@ -31632,19 +29999,58 @@ pub mod api { new_nominator: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, - new_state_toggler: runtime_types::pallet_nomination_pools::ConfigOp< + new_bouncer: runtime_types::pallet_nomination_pools::ConfigOp< ::subxt::utils::AccountId32, >, }, #[codec(index = 13)] - #[doc = "Chill on behalf of the pool."] - #[doc = ""] - #[doc = "The dispatch origin of this call must be signed by the pool nominator or the pool"] - #[doc = "root role, same as [`Pallet::nominate`]."] - #[doc = ""] - #[doc = "This directly forward the call to the staking pallet, on behalf of the pool bonded"] - #[doc = "account."] + #[doc = "See [`Pallet::chill`]."] chill { pool_id: ::core::primitive::u32 }, + #[codec(index = 14)] + #[doc = "See [`Pallet::bond_extra_other`]."] + bond_extra_other { + member: ::subxt::utils::MultiAddress< + ::subxt::utils::AccountId32, + ::core::primitive::u32, + >, + extra: runtime_types::pallet_nomination_pools::BondExtra< + ::core::primitive::u128, + >, + }, + #[codec(index = 15)] + #[doc = "See [`Pallet::set_claim_permission`]."] + set_claim_permission { + permission: runtime_types::pallet_nomination_pools::ClaimPermission, + }, + #[codec(index = 16)] + #[doc = "See [`Pallet::claim_payout_other`]."] + claim_payout_other { other: ::subxt::utils::AccountId32 }, + #[codec(index = 17)] + #[doc = "See [`Pallet::set_commission`]."] + set_commission { + pool_id: ::core::primitive::u32, + new_commission: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + }, + #[codec(index = 18)] + #[doc = "See [`Pallet::set_commission_max`]."] + set_commission_max { + pool_id: ::core::primitive::u32, + max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 19)] + #[doc = "See [`Pallet::set_commission_change_rate`]."] + set_commission_change_rate { + pool_id: ::core::primitive::u32, + change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + }, + #[codec(index = 20)] + #[doc = "See [`Pallet::claim_commission`]."] + claim_commission { pool_id: ::core::primitive::u32 }, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -31684,7 +30090,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "A (bonded) pool id does not exist."] @@ -31758,11 +30164,35 @@ pub mod api { #[doc = "Partial unbonding now allowed permissionlessly."] PartialUnbondNotAllowedPermissionlessly, #[codec(index = 21)] + #[doc = "The pool's max commission cannot be set higher than the existing value."] + MaxCommissionRestricted, + #[codec(index = 22)] + #[doc = "The supplied commission exceeds the max allowed commission."] + CommissionExceedsMaximum, + #[codec(index = 23)] + #[doc = "The supplied commission exceeds global maximum commission."] + CommissionExceedsGlobalMaximum, + #[codec(index = 24)] + #[doc = "Not enough blocks have surpassed since the last commission update."] + CommissionChangeThrottled, + #[codec(index = 25)] + #[doc = "The submitted changes to commission change rate are not allowed."] + CommissionChangeRateNotAllowed, + #[codec(index = 26)] + #[doc = "There is no pending commission to claim."] + NoPendingCommission, + #[codec(index = 27)] + #[doc = "No commission current has been set."] + NoCommissionCurrentSet, + #[codec(index = 28)] #[doc = "Pool id currently in use."] PoolIdInUse, - #[codec(index = 22)] + #[codec(index = 29)] #[doc = "Pool id provided is not correct/usable."] InvalidPoolId, + #[codec(index = 30)] + #[doc = "Bonding extra is restricted to the exact pending reward amount."] + BondExtraRestricted, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -31854,7 +30284,7 @@ pub mod api { #[doc = "can never change."] RolesUpdated { root: ::core::option::Option<::subxt::utils::AccountId32>, - state_toggler: ::core::option::Option<::subxt::utils::AccountId32>, + bouncer: ::core::option::Option<::subxt::utils::AccountId32>, nominator: ::core::option::Option<::subxt::utils::AccountId32>, }, #[codec(index = 9)] @@ -31870,6 +30300,35 @@ pub mod api { era: ::core::primitive::u32, balance: ::core::primitive::u128, }, + #[codec(index = 11)] + #[doc = "A pool's commission setting has been changed."] + PoolCommissionUpdated { + pool_id: ::core::primitive::u32, + current: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + }, + #[codec(index = 12)] + #[doc = "A pool's maximum commission setting has been changed."] + PoolMaxCommissionUpdated { + pool_id: ::core::primitive::u32, + max_commission: runtime_types::sp_arithmetic::per_things::Perbill, + }, + #[codec(index = 13)] + #[doc = "A pool's commission `change_rate` has been changed."] + PoolCommissionChangeRateUpdated { + pool_id: ::core::primitive::u32, + change_rate: runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + }, + #[codec(index = 14)] + #[doc = "Pool commission has been claimed."] + PoolCommissionClaimed { + pool_id: ::core::primitive::u32, + commission: ::core::primitive::u128, + }, } } #[derive( @@ -31885,11 +30344,55 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum BondExtra<_0> { + pub enum BondExtra<_0> { + #[codec(index = 0)] + FreeBalance(_0), + #[codec(index = 1)] + Rewards, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BondedPoolInner { + pub commission: runtime_types::pallet_nomination_pools::Commission, + pub member_counter: ::core::primitive::u32, + pub points: ::core::primitive::u128, + pub roles: + runtime_types::pallet_nomination_pools::PoolRoles<::subxt::utils::AccountId32>, + pub state: runtime_types::pallet_nomination_pools::PoolState, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum ClaimPermission { #[codec(index = 0)] - FreeBalance(_0), + Permissioned, #[codec(index = 1)] - Rewards, + PermissionlessCompound, + #[codec(index = 2)] + PermissionlessWithdraw, + #[codec(index = 3)] + PermissionlessAll, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -31904,12 +30407,35 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BondedPoolInner { - pub points: ::core::primitive::u128, - pub state: runtime_types::pallet_nomination_pools::PoolState, - pub member_counter: ::core::primitive::u32, - pub roles: - runtime_types::pallet_nomination_pools::PoolRoles<::subxt::utils::AccountId32>, + pub struct Commission { + pub current: ::core::option::Option<( + runtime_types::sp_arithmetic::per_things::Perbill, + ::subxt::utils::AccountId32, + )>, + pub max: ::core::option::Option, + pub change_rate: ::core::option::Option< + runtime_types::pallet_nomination_pools::CommissionChangeRate< + ::core::primitive::u32, + >, + >, + pub throttle_from: ::core::option::Option<::core::primitive::u32>, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct CommissionChangeRate<_0> { + pub max_increase: runtime_types::sp_arithmetic::per_things::Perbill, + pub min_delay: _0, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -31951,7 +30477,7 @@ pub mod api { pub last_recorded_reward_counter: runtime_types::sp_arithmetic::fixed_point::FixedU128, pub unbonding_eras: - runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< ::core::primitive::u32, ::core::primitive::u128, >, @@ -31973,7 +30499,7 @@ pub mod api { pub depositor: _0, pub root: ::core::option::Option<_0>, pub nominator: ::core::option::Option<_0>, - pub state_toggler: ::core::option::Option<_0>, + pub bouncer: ::core::option::Option<_0>, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -32014,6 +30540,8 @@ pub mod api { runtime_types::sp_arithmetic::fixed_point::FixedU128, pub last_recorded_total_payouts: ::core::primitive::u128, pub total_rewards_claimed: ::core::primitive::u128, + pub total_commission_pending: ::core::primitive::u128, + pub total_commission_claimed: ::core::primitive::u128, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -32030,10 +30558,11 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct SubPools { pub no_era: runtime_types::pallet_nomination_pools::UnbondPool, - pub with_era: runtime_types::sp_core::bounded::bounded_btree_map::BoundedBTreeMap< - ::core::primitive::u32, - runtime_types::pallet_nomination_pools::UnbondPool, - >, + pub with_era: + runtime_types::bounded_collections::bounded_btree_map::BoundedBTreeMap< + ::core::primitive::u32, + runtime_types::pallet_nomination_pools::UnbondPool, + >, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -32100,34 +30629,21 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Register a preimage on-chain."] - #[doc = ""] - #[doc = "If the preimage was previously requested, no fees or deposits are taken for providing"] - #[doc = "the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."] + #[doc = "See [`Pallet::note_preimage`]."] note_preimage { bytes: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 1)] - #[doc = "Clear an unrequested preimage from the runtime storage."] - #[doc = ""] - #[doc = "If `len` is provided, then it will be a much cheaper operation."] - #[doc = ""] - #[doc = "- `hash`: The hash of the preimage to be removed from the store."] - #[doc = "- `len`: The length of the preimage of `hash`."] + #[doc = "See [`Pallet::unnote_preimage`]."] unnote_preimage { hash: ::subxt::utils::H256 }, #[codec(index = 2)] - #[doc = "Request a preimage be uploaded to the chain without paying any fees or deposits."] - #[doc = ""] - #[doc = "If the preimage requests has already been provided on-chain, we unreserve any deposit"] - #[doc = "a user may have paid, and take the control of the preimage out of their hands."] + #[doc = "See [`Pallet::request_preimage`]."] request_preimage { hash: ::subxt::utils::H256 }, #[codec(index = 3)] - #[doc = "Clear a previously made request for a preimage."] - #[doc = ""] - #[doc = "NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."] + #[doc = "See [`Pallet::unrequest_preimage`]."] unrequest_preimage { hash: ::subxt::utils::H256 }, } #[derive( @@ -32143,7 +30659,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Preimage is too large to store on-chain."] @@ -32177,7 +30693,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A preimage has been noted."] @@ -32234,10 +30750,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Anonymously schedule a task."] + #[doc = "See [`Pallet::schedule`]."] schedule { when: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( @@ -32248,13 +30764,13 @@ pub mod api { call: ::std::boxed::Box, }, #[codec(index = 1)] - #[doc = "Cancel an anonymously scheduled task."] + #[doc = "See [`Pallet::cancel`]."] cancel { when: ::core::primitive::u32, index: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Schedule a named task."] + #[doc = "See [`Pallet::schedule_named`]."] schedule_named { id: [::core::primitive::u8; 32usize], when: ::core::primitive::u32, @@ -32266,16 +30782,12 @@ pub mod api { call: ::std::boxed::Box, }, #[codec(index = 3)] - #[doc = "Cancel a named scheduled task."] + #[doc = "See [`Pallet::cancel_named`]."] cancel_named { id: [::core::primitive::u8; 32usize], }, #[codec(index = 4)] - #[doc = "Anonymously schedule a task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule`]."] - #[doc = "# "] + #[doc = "See [`Pallet::schedule_after`]."] schedule_after { after: ::core::primitive::u32, maybe_periodic: ::core::option::Option<( @@ -32286,11 +30798,7 @@ pub mod api { call: ::std::boxed::Box, }, #[codec(index = 5)] - #[doc = "Schedule a named task after a delay."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`schedule_named`](Self::schedule_named)."] - #[doc = "# "] + #[doc = "See [`Pallet::schedule_named_after`]."] schedule_named_after { id: [::core::primitive::u8; 32usize], after: ::core::primitive::u32, @@ -32315,7 +30823,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Failed to schedule a call"] @@ -32428,44 +30936,16 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Sets the session key(s) of the function caller to `keys`."] - #[doc = "Allows an account to set its session key prior to becoming a validator."] - #[doc = "This doesn't take effect until the next session."] - #[doc = ""] - #[doc = "The dispatch origin of this function must be signed."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`. Actual cost depends on the number of length of"] - #[doc = " `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`"] - #[doc = "- DbWrites: `origin account`, `NextKeys`"] - #[doc = "- DbReads per key id: `KeyOwner`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "See [`Pallet::set_keys`]."] set_keys { keys: runtime_types::da_runtime::primitives::SessionKeys, proof: ::std::vec::Vec<::core::primitive::u8>, }, #[codec(index = 1)] - #[doc = "Removes any session key(s) of the function caller."] - #[doc = ""] - #[doc = "This doesn't take effect until the next session."] - #[doc = ""] - #[doc = "The dispatch origin of this function must be Signed and the account must be either be"] - #[doc = "convertible to a validator ID using the chain's typical addressing system (this usually"] - #[doc = "means being a controller account) or directly convertible into a validator ID (which"] - #[doc = "usually means being a stash account)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length"] - #[doc = " of `T::Keys::key_ids()` which is fixed."] - #[doc = "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`"] - #[doc = "- DbWrites: `NextKeys`, `origin account`"] - #[doc = "- DbWrites per key id: `KeyOwner`"] - #[doc = "# "] + #[doc = "See [`Pallet::purge_keys`]."] purge_keys, } #[derive( @@ -32512,7 +30992,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "New session has happened. Note that the argument is the session index, not the"] @@ -32542,31 +31022,11 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Take the origin account as a stash and lock up `value` of its balance. `controller` will"] - #[doc = "be the account that controls it."] - #[doc = ""] - #[doc = "`value` must be more than the `minimum_balance` specified by `T::Currency`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the stash account."] - #[doc = ""] - #[doc = "Emits `Bonded`."] - #[doc = "# "] - #[doc = "- Independent of the arguments. Moderate complexity."] - #[doc = "- O(1)."] - #[doc = "- Three extra DB entries."] - #[doc = ""] - #[doc = "NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned"] - #[doc = "unless the `origin` falls below _existential deposit_ and gets removed as dust."] - #[doc = "------------------"] - #[doc = "# "] + #[doc = "See [`Pallet::bond`]."] bond { - controller: ::subxt::utils::MultiAddress< - ::subxt::utils::AccountId32, - ::core::primitive::u32, - >, #[codec(compact)] value: ::core::primitive::u128, payee: runtime_types::pallet_staking::RewardDestination< @@ -32574,89 +31034,29 @@ pub mod api { >, }, #[codec(index = 1)] - #[doc = "Add some extra amount that have appeared in the stash `free_balance` into the balance up"] - #[doc = "for staking."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] - #[doc = ""] - #[doc = "Use this if there are additional funds in your stash account that you wish to bond."] - #[doc = "Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose"] - #[doc = "any limitation on the amount that can be added."] - #[doc = ""] - #[doc = "Emits `Bonded`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- O(1)."] - #[doc = "# "] + #[doc = "See [`Pallet::bond_extra`]."] bond_extra { #[codec(compact)] max_additional: ::core::primitive::u128, }, #[codec(index = 2)] - #[doc = "Schedule a portion of the stash to be unlocked ready for transfer out after the bond"] - #[doc = "period ends. If this leaves an amount actively bonded less than"] - #[doc = "T::Currency::minimum_balance(), then it is increased to the full amount."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "Once the unlock period is done, you can call `withdraw_unbonded` to actually move"] - #[doc = "the funds out of management ready for transfer."] - #[doc = ""] - #[doc = "No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)"] - #[doc = "can co-exists at the same time. If there are no unlocking chunks slots available"] - #[doc = "[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible)."] - #[doc = ""] - #[doc = "If a user encounters the `InsufficientBond` error when calling this extrinsic,"] - #[doc = "they should call `chill` first in order to free up their bonded funds."] - #[doc = ""] - #[doc = "Emits `Unbonded`."] - #[doc = ""] - #[doc = "See also [`Call::withdraw_unbonded`]."] + #[doc = "See [`Pallet::unbond`]."] unbond { #[codec(compact)] value: ::core::primitive::u128, }, #[codec(index = 3)] - #[doc = "Remove any unlocked chunks from the `unlocking` queue from our management."] - #[doc = ""] - #[doc = "This essentially frees up that balance to be used by the stash account to do"] - #[doc = "whatever it wants."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller."] - #[doc = ""] - #[doc = "Emits `Withdrawn`."] - #[doc = ""] - #[doc = "See also [`Call::unbond`]."] - #[doc = ""] - #[doc = "# "] - #[doc = "Complexity O(S) where S is the number of slashing spans to remove"] - #[doc = "NOTE: Weight annotation is the kill scenario, we refund otherwise."] - #[doc = "# "] + #[doc = "See [`Pallet::withdraw_unbonded`]."] withdraw_unbonded { num_slashing_spans: ::core::primitive::u32, }, #[codec(index = 4)] - #[doc = "Declare the desire to validate for the origin controller."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] + #[doc = "See [`Pallet::validate`]."] validate { prefs: runtime_types::pallet_staking::ValidatorPrefs, }, #[codec(index = 5)] - #[doc = "Declare the desire to nominate `targets` for the origin controller."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "# "] - #[doc = "- The transaction's complexity is proportional to the size of `targets` (N)"] - #[doc = "which is capped at CompactAssignments::LIMIT (T::MaxNominations)."] - #[doc = "- Both the reads and writes follow a similar pattern."] - #[doc = "# "] + #[doc = "See [`Pallet::nominate`]."] nominate { targets: ::std::vec::Vec< ::subxt::utils::MultiAddress< @@ -32666,241 +31066,81 @@ pub mod api { >, }, #[codec(index = 6)] - #[doc = "Declare no desire to either validate or nominate."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- Contains one read."] - #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "# "] + #[doc = "See [`Pallet::chill`]."] chill, #[codec(index = 7)] - #[doc = "(Re-)set the payment target for a controller."] - #[doc = ""] - #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- Contains a limited number of reads."] - #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "---------"] - #[doc = "- Weight: O(1)"] - #[doc = "- DB Weight:"] - #[doc = " - Read: Ledger"] - #[doc = " - Write: Payee"] - #[doc = "# "] + #[doc = "See [`Pallet::set_payee`]."] set_payee { payee: runtime_types::pallet_staking::RewardDestination< ::subxt::utils::AccountId32, >, }, #[codec(index = 8)] - #[doc = "(Re-)set the controller of a stash."] - #[doc = ""] - #[doc = "Effects will be felt instantly (as soon as this function is completed successfully)."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the stash, not the controller."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Independent of the arguments. Insignificant complexity."] - #[doc = "- Contains a limited number of reads."] - #[doc = "- Writes are limited to the `origin` account key."] - #[doc = "----------"] - #[doc = "Weight: O(1)"] - #[doc = "DB Weight:"] - #[doc = "- Read: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "- Write: Bonded, Ledger New Controller, Ledger Old Controller"] - #[doc = "# "] - set_controller { - controller: ::subxt::utils::MultiAddress< - ::subxt::utils::AccountId32, - ::core::primitive::u32, - >, - }, + #[doc = "See [`Pallet::set_controller`]."] + set_controller, #[codec(index = 9)] - #[doc = "Sets the ideal number of validators."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# "] - #[doc = "Weight: O(1)"] - #[doc = "Write: Validator Count"] - #[doc = "# "] + #[doc = "See [`Pallet::set_validator_count`]."] set_validator_count { #[codec(compact)] new: ::core::primitive::u32, }, #[codec(index = 10)] - #[doc = "Increments the ideal number of validators upto maximum of"] - #[doc = "`ElectionProviderBase::MaxWinners`."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] + #[doc = "See [`Pallet::increase_validator_count`]."] increase_validator_count { #[codec(compact)] additional: ::core::primitive::u32, }, #[codec(index = 11)] - #[doc = "Scale up the ideal number of validators by a factor upto maximum of"] - #[doc = "`ElectionProviderBase::MaxWinners`."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# "] - #[doc = "Same as [`Self::set_validator_count`]."] - #[doc = "# "] + #[doc = "See [`Pallet::scale_validator_count`]."] scale_validator_count { factor: runtime_types::sp_arithmetic::per_things::Percent, }, #[codec(index = 12)] - #[doc = "Force there to be no new eras indefinitely."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# Warning"] - #[doc = ""] - #[doc = "The election process starts multiple blocks before the end of the era."] - #[doc = "Thus the election process may be ongoing when this is called. In this case the"] - #[doc = "election will continue until the next era is triggered."] - #[doc = ""] - #[doc = "# "] - #[doc = "- No arguments."] - #[doc = "- Weight: O(1)"] - #[doc = "- Write: ForceEra"] - #[doc = "# "] + #[doc = "See [`Pallet::force_no_eras`]."] force_no_eras, #[codec(index = 13)] - #[doc = "Force there to be a new era at the end of the next session. After this, it will be"] - #[doc = "reset to normal (non-forced) behaviour."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# Warning"] - #[doc = ""] - #[doc = "The election process starts multiple blocks before the end of the era."] - #[doc = "If this is called just before a new era is triggered, the election process may not"] - #[doc = "have enough blocks to get a result."] - #[doc = ""] - #[doc = "# "] - #[doc = "- No arguments."] - #[doc = "- Weight: O(1)"] - #[doc = "- Write ForceEra"] - #[doc = "# "] + #[doc = "See [`Pallet::force_new_era`]."] force_new_era, #[codec(index = 14)] - #[doc = "Set the validators who cannot be slashed (if any)."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] + #[doc = "See [`Pallet::set_invulnerables`]."] set_invulnerables { invulnerables: ::std::vec::Vec<::subxt::utils::AccountId32>, }, #[codec(index = 15)] - #[doc = "Force a current staker to become completely unstaked, immediately."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] + #[doc = "See [`Pallet::force_unstake`]."] force_unstake { stash: ::subxt::utils::AccountId32, num_slashing_spans: ::core::primitive::u32, }, #[codec(index = 16)] - #[doc = "Force there to be a new era at the end of sessions indefinitely."] - #[doc = ""] - #[doc = "The dispatch origin must be Root."] - #[doc = ""] - #[doc = "# Warning"] - #[doc = ""] - #[doc = "The election process starts multiple blocks before the end of the era."] - #[doc = "If this is called just before a new era is triggered, the election process may not"] - #[doc = "have enough blocks to get a result."] + #[doc = "See [`Pallet::force_new_era_always`]."] force_new_era_always, #[codec(index = 17)] - #[doc = "Cancel enactment of a deferred slash."] - #[doc = ""] - #[doc = "Can be called by the `T::AdminOrigin`."] - #[doc = ""] - #[doc = "Parameters: era and indices of the slashes for that era to kill."] + #[doc = "See [`Pallet::cancel_deferred_slash`]."] cancel_deferred_slash { era: ::core::primitive::u32, slash_indices: ::std::vec::Vec<::core::primitive::u32>, }, #[codec(index = 18)] - #[doc = "Pay out all the stakers behind a single validator for a single era."] - #[doc = ""] - #[doc = "- `validator_stash` is the stash account of the validator. Their nominators, up to"] - #[doc = " `T::MaxNominatorRewardedPerValidator`, will also receive their rewards."] - #[doc = "- `era` may be any era between `[current_era - history_depth; current_era]`."] - #[doc = ""] - #[doc = "The origin of this call must be _Signed_. Any account can call this function, even if"] - #[doc = "it is not one of the stakers."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Time complexity: at most O(MaxNominatorRewardedPerValidator)."] - #[doc = "- Contains a limited number of reads and writes."] - #[doc = "-----------"] - #[doc = "N is the Number of payouts for the validator (including the validator)"] - #[doc = "Weight:"] - #[doc = "- Reward Destination Staked: O(N)"] - #[doc = "- Reward Destination Controller (Creating): O(N)"] - #[doc = ""] - #[doc = " NOTE: weights are assuming that payouts are made to alive stash account (Staked)."] - #[doc = " Paying even a dead controller is cheaper weight-wise. We don't do any refunds here."] - #[doc = "# "] + #[doc = "See [`Pallet::payout_stakers`]."] payout_stakers { validator_stash: ::subxt::utils::AccountId32, era: ::core::primitive::u32, }, #[codec(index = 19)] - #[doc = "Rebond a portion of the stash scheduled to be unlocked."] - #[doc = ""] - #[doc = "The dispatch origin must be signed by the controller."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Time complexity: O(L), where L is unlocking chunks"] - #[doc = "- Bounded by `MaxUnlockingChunks`."] - #[doc = "- Storage changes: Can't increase storage, only decrease it."] - #[doc = "# "] + #[doc = "See [`Pallet::rebond`]."] rebond { #[codec(compact)] value: ::core::primitive::u128, }, #[codec(index = 20)] - #[doc = "Remove all data structures concerning a staker/stash once it is at a state where it can"] - #[doc = "be considered `dust` in the staking system. The requirements are:"] - #[doc = ""] - #[doc = "1. the `total_balance` of the stash is below existential deposit."] - #[doc = "2. or, the `ledger.total` of the stash is below existential deposit."] - #[doc = ""] - #[doc = "The former can happen in cases like a slash; the latter when a fully unbonded account"] - #[doc = "is still receiving staking rewards in `RewardDestination::Staked`."] - #[doc = ""] - #[doc = "It can be called by anyone, as long as `stash` meets the above requirements."] - #[doc = ""] - #[doc = "Refunds the transaction fees upon successful execution."] + #[doc = "See [`Pallet::reap_stash`]."] reap_stash { stash: ::subxt::utils::AccountId32, num_slashing_spans: ::core::primitive::u32, }, #[codec(index = 21)] - #[doc = "Remove the given nominations from the calling validator."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ by the controller, not the stash."] - #[doc = ""] - #[doc = "- `who`: A list of nominator stash accounts who are nominating this validator which"] - #[doc = " should no longer be nominating this validator."] - #[doc = ""] - #[doc = "Note: Making this call only makes sense if you first set the validator preferences to"] - #[doc = "block any further nominations."] + #[doc = "See [`Pallet::kick`]."] kick { who: ::std::vec::Vec< ::subxt::utils::MultiAddress< @@ -32910,23 +31150,7 @@ pub mod api { >, }, #[codec(index = 22)] - #[doc = "Update the various staking configurations ."] - #[doc = ""] - #[doc = "* `min_nominator_bond`: The minimum active bond needed to be a nominator."] - #[doc = "* `min_validator_bond`: The minimum active bond needed to be a validator."] - #[doc = "* `max_nominator_count`: The max number of users who can be a nominator at once. When"] - #[doc = " set to `None`, no limit is enforced."] - #[doc = "* `max_validator_count`: The max number of users who can be a validator at once. When"] - #[doc = " set to `None`, no limit is enforced."] - #[doc = "* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which"] - #[doc = " should be filled in order for the `chill_other` transaction to work."] - #[doc = "* `min_commission`: The minimum amount of commission that each validators must maintain."] - #[doc = " This is checked only upon calling `validate`. Existing validators are not affected."] - #[doc = ""] - #[doc = "RuntimeOrigin must be Root to call this function."] - #[doc = ""] - #[doc = "NOTE: Existing nominators and validators will not be affected by this update."] - #[doc = "to kick people under the new limits, `chill_other` should be called."] + #[doc = "See [`Pallet::set_staking_configs`]."] set_staking_configs { min_nominator_bond: runtime_types::pallet_staking::pallet::pallet::ConfigOp< @@ -32953,47 +31177,17 @@ pub mod api { >, }, #[codec(index = 23)] - #[doc = "Declare a `controller` to stop participating as either a validator or nominator."] - #[doc = ""] - #[doc = "Effects will be felt at the beginning of the next era."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_, but can be called by anyone."] - #[doc = ""] - #[doc = "If the caller is the same as the controller being targeted, then no further checks are"] - #[doc = "enforced, and this function behaves just like `chill`."] - #[doc = ""] - #[doc = "If the caller is different than the controller being targeted, the following conditions"] - #[doc = "must be met:"] - #[doc = ""] - #[doc = "* `controller` must belong to a nominator who has become non-decodable,"] - #[doc = ""] - #[doc = "Or:"] - #[doc = ""] - #[doc = "* A `ChillThreshold` must be set and checked which defines how close to the max"] - #[doc = " nominators or validators we must reach before users can start chilling one-another."] - #[doc = "* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine"] - #[doc = " how close we are to the threshold."] - #[doc = "* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines"] - #[doc = " if this is a person that should be chilled because they have not met the threshold"] - #[doc = " bond required."] - #[doc = ""] - #[doc = "This can be helpful if bond requirements are updated, and we need to remove old users"] - #[doc = "who do not satisfy these requirements."] + #[doc = "See [`Pallet::chill_other`]."] chill_other { controller: ::subxt::utils::AccountId32, }, #[codec(index = 24)] - #[doc = "Force a validator to have at least the minimum commission. This will not affect a"] - #[doc = "validator who already has a commission greater than or equal to the minimum. Any account"] - #[doc = "can call this."] + #[doc = "See [`Pallet::force_apply_min_commission`]."] force_apply_min_commission { validator_stash: ::subxt::utils::AccountId32, }, #[codec(index = 25)] - #[doc = "Sets the minimum amount of commission that each validators must maintain."] - #[doc = ""] - #[doc = "This call has lower privilege requirements than `set_staking_config` and can be called"] - #[doc = "by the `T::AdminOrigin`. Root can always call this."] + #[doc = "See [`Pallet::set_min_commission`]."] set_min_commission { new: runtime_types::sp_arithmetic::per_things::Perbill, }, @@ -33032,7 +31226,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Not a controller account."] @@ -33127,7 +31321,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "The era payout has been set; the first balance is the validator-payout; the second is"] @@ -33369,7 +31563,7 @@ pub mod api { #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Nominations { - pub targets: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub targets: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::subxt::utils::AccountId32, >, pub submitted_in: ::core::primitive::u32, @@ -33419,10 +31613,10 @@ pub mod api { pub total: ::core::primitive::u128, #[codec(compact)] pub active: ::core::primitive::u128, - pub unlocking: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub unlocking: runtime_types::bounded_collections::bounded_vec::BoundedVec< runtime_types::pallet_staking::UnlockChunk<::core::primitive::u128>, >, - pub claimed_rewards: runtime_types::sp_core::bounded::bounded_vec::BoundedVec< + pub claimed_rewards: runtime_types::bounded_collections::bounded_vec::BoundedVec< ::core::primitive::u32, >, } @@ -33501,48 +31695,21 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + 10,000."] - #[doc = "# "] + #[doc = "See [`Pallet::sudo`]."] sudo { call: ::std::boxed::Box, }, #[codec(index = 1)] - #[doc = "Authenticates the sudo key and dispatches a function call with `Root` origin."] - #[doc = "This function does not check the weight of the call, and instead allows the"] - #[doc = "Sudo user to specify the weight of the call."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- The weight of this call is defined by the caller."] - #[doc = "# "] + #[doc = "See [`Pallet::sudo_unchecked_weight`]."] sudo_unchecked_weight { call: ::std::boxed::Box, weight: runtime_types::sp_weights::weight_v2::Weight, }, #[codec(index = 2)] - #[doc = "Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo"] - #[doc = "key."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB change."] - #[doc = "# "] + #[doc = "See [`Pallet::set_key`]."] set_key { new: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -33550,17 +31717,7 @@ pub mod api { >, }, #[codec(index = 3)] - #[doc = "Authenticates the sudo key and dispatches a function call with `Signed` origin from"] - #[doc = "a given account."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + 10,000."] - #[doc = "# "] + #[doc = "See [`Pallet::sudo_as`]."] sudo_as { who: ::subxt::utils::MultiAddress< ::subxt::utils::AccountId32, @@ -33601,7 +31758,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A sudo just took place. \\[result\\]"] @@ -33640,25 +31797,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Set the current time."] - #[doc = ""] - #[doc = "This call should be invoked exactly once per block. It will panic at the finalization"] - #[doc = "phase, if this call hasn't been invoked by that time."] - #[doc = ""] - #[doc = "The timestamp should be greater than the previous one by the amount specified by"] - #[doc = "`MinimumPeriod`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be `Inherent`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)"] - #[doc = "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in"] - #[doc = " `on_finalize`)"] - #[doc = "- 1 event handler `on_timestamp_set`. Must be `O(1)`."] - #[doc = "# "] + #[doc = "See [`Pallet::set`]."] set { #[codec(compact)] now: ::core::primitive::u64, @@ -33683,28 +31825,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Report something `reason` that deserves a tip and claim any eventual the finder's fee."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "Payment: `TipReportDepositBase` will be reserved from the origin account, as well as"] - #[doc = "`DataDepositPerByte` for each byte in `reason`."] - #[doc = ""] - #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] - #[doc = " a UTF-8-encoded URL."] - #[doc = "- `who`: The account which should be credited for the tip."] - #[doc = ""] - #[doc = "Emits `NewTip` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R)` where `R` length of `reason`."] - #[doc = " - encoding and hashing of 'reason'"] - #[doc = "- DbReads: `Reasons`, `Tips`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] + #[doc = "See [`Pallet::report_awesome`]."] report_awesome { reason: ::std::vec::Vec<::core::primitive::u8>, who: ::subxt::utils::MultiAddress< @@ -33713,49 +31837,10 @@ pub mod api { >, }, #[codec(index = 1)] - #[doc = "Retract a prior tip-report from `report_awesome`, and cancel the process of tipping."] - #[doc = ""] - #[doc = "If successful, the original deposit will be unreserved."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the tip identified by `hash`"] - #[doc = "must have been reported by the signing account through `report_awesome` (and not"] - #[doc = "through `tip_new`)."] - #[doc = ""] - #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] - #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] - #[doc = ""] - #[doc = "Emits `TipRetracted` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(1)`"] - #[doc = " - Depends on the length of `T::Hash` which is fixed."] - #[doc = "- DbReads: `Tips`, `origin account`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `origin account`"] - #[doc = "# "] + #[doc = "See [`Pallet::retract_tip`]."] retract_tip { hash: ::subxt::utils::H256 }, #[codec(index = 2)] - #[doc = "Give a tip for something new; no finder's fee will be taken."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] - #[doc = "member of the `Tippers` set."] - #[doc = ""] - #[doc = "- `reason`: The reason for, or the thing that deserves, the tip; generally this will be"] - #[doc = " a UTF-8-encoded URL."] - #[doc = "- `who`: The account which should be credited for the tip."] - #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] - #[doc = " value of active tippers will be given to the `who`."] - #[doc = ""] - #[doc = "Emits `NewTip` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers."] - #[doc = " - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by"] - #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of"] - #[doc = " `T::Tippers`."] - #[doc = " - `O(R)`: hashing and encoding of reason of length `R`"] - #[doc = "- DbReads: `Tippers`, `Reasons`"] - #[doc = "- DbWrites: `Reasons`, `Tips`"] - #[doc = "# "] + #[doc = "See [`Pallet::tip_new`]."] tip_new { reason: ::std::vec::Vec<::core::primitive::u8>, who: ::subxt::utils::MultiAddress< @@ -33766,66 +31851,17 @@ pub mod api { tip_value: ::core::primitive::u128, }, #[codec(index = 3)] - #[doc = "Declare a tip value for an already-open tip."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_ and the signing account must be a"] - #[doc = "member of the `Tippers` set."] - #[doc = ""] - #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] - #[doc = " as the hash of the tuple of the hash of the original tip `reason` and the beneficiary"] - #[doc = " account ID."] - #[doc = "- `tip_value`: The amount of tip that the sender would like to give. The median tip"] - #[doc = " value of active tippers will be given to the `who`."] - #[doc = ""] - #[doc = "Emits `TipClosing` if the threshold of tippers has been reached and the countdown period"] - #[doc = "has started."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`, insert tip and check closing, `T` is charged as upper bound given by"] - #[doc = " `ContainsLengthBound`. The actual cost depends on the implementation of `T::Tippers`."] - #[doc = ""] - #[doc = " Actually weight could be lower as it depends on how many tips are in `OpenTip` but it"] - #[doc = " is weighted as if almost full i.e of length `T-1`."] - #[doc = "- DbReads: `Tippers`, `Tips`"] - #[doc = "- DbWrites: `Tips`"] - #[doc = "# "] + #[doc = "See [`Pallet::tip`]."] tip { hash: ::subxt::utils::H256, #[codec(compact)] tip_value: ::core::primitive::u128, }, #[codec(index = 4)] - #[doc = "Close and payout a tip."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] - #[doc = ""] - #[doc = "The tip identified by `hash` must have finished its countdown period."] - #[doc = ""] - #[doc = "- `hash`: The identity of the open tip for which a tip value is declared. This is formed"] - #[doc = " as the hash of the tuple of the original tip `reason` and the beneficiary account ID."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length"] - #[doc = " `T`. `T` is charged as upper bound given by `ContainsLengthBound`. The actual cost"] - #[doc = " depends on the implementation of `T::Tippers`."] - #[doc = "- DbReads: `Tips`, `Tippers`, `tip finder`"] - #[doc = "- DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`"] - #[doc = "# "] + #[doc = "See [`Pallet::close_tip`]."] close_tip { hash: ::subxt::utils::H256 }, #[codec(index = 5)] - #[doc = "Remove and slash an already-open tip."] - #[doc = ""] - #[doc = "May only be called from `T::RejectOrigin`."] - #[doc = ""] - #[doc = "As a result, the finder is slashed and the deposits are lost."] - #[doc = ""] - #[doc = "Emits `TipSlashed` if successful."] - #[doc = ""] - #[doc = "# "] - #[doc = " `T` is charged as upper bound given by `ContainsLengthBound`."] - #[doc = " The actual cost depends on the implementation of `T::Tippers`."] - #[doc = "# "] + #[doc = "See [`Pallet::slash_tip`]."] slash_tip { hash: ::subxt::utils::H256 }, } #[derive( @@ -33841,7 +31877,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "The reason given is just too big."] @@ -33875,7 +31911,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A new tip suggestion has been opened."] @@ -33942,7 +31978,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,"] @@ -34005,18 +32041,10 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Put forward a suggestion for spending. A deposit proportional to the value"] - #[doc = "is reserved and slashed if the proposal is rejected. It is returned once the"] - #[doc = "proposal is awarded."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `ProposalCount`, `origin account`"] - #[doc = "- DbWrites: `ProposalCount`, `Proposals`, `origin account`"] - #[doc = "# "] + #[doc = "See [`Pallet::propose_spend`]."] propose_spend { #[codec(compact)] value: ::core::primitive::u128, @@ -34026,43 +32054,19 @@ pub mod api { >, }, #[codec(index = 1)] - #[doc = "Reject a proposed spend. The original deposit will be slashed."] - #[doc = ""] - #[doc = "May only be called from `T::RejectOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)"] - #[doc = "- DbReads: `Proposals`, `rejected proposer account`"] - #[doc = "- DbWrites: `Proposals`, `rejected proposer account`"] - #[doc = "# "] + #[doc = "See [`Pallet::reject_proposal`]."] reject_proposal { #[codec(compact)] proposal_id: ::core::primitive::u32, }, #[codec(index = 2)] - #[doc = "Approve a proposal. At a later time, the proposal will be allocated to the beneficiary"] - #[doc = "and the original deposit will be returned."] - #[doc = ""] - #[doc = "May only be called from `T::ApproveOrigin`."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(1)."] - #[doc = "- DbReads: `Proposals`, `Approvals`"] - #[doc = "- DbWrite: `Approvals`"] - #[doc = "# "] + #[doc = "See [`Pallet::approve_proposal`]."] approve_proposal { #[codec(compact)] proposal_id: ::core::primitive::u32, }, #[codec(index = 3)] - #[doc = "Propose and approve a spend of treasury funds."] - #[doc = ""] - #[doc = "- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`."] - #[doc = "- `amount`: The amount to be transferred from the treasury to the `beneficiary`."] - #[doc = "- `beneficiary`: The destination account for the transfer."] - #[doc = ""] - #[doc = "NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the"] - #[doc = "beneficiary."] + #[doc = "See [`Pallet::spend`]."] spend { #[codec(compact)] amount: ::core::primitive::u128, @@ -34072,21 +32076,7 @@ pub mod api { >, }, #[codec(index = 4)] - #[doc = "Force a previously approved proposal to be removed from the approval queue."] - #[doc = "The original deposit will no longer be returned."] - #[doc = ""] - #[doc = "May only be called from `T::RejectOrigin`."] - #[doc = "- `proposal_id`: The index of a proposal"] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(A) where `A` is the number of approvals"] - #[doc = "- Db reads and writes: `Approvals`"] - #[doc = "# "] - #[doc = ""] - #[doc = "Errors:"] - #[doc = "- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,"] - #[doc = "i.e., the proposal has not been approved. This could also mean the proposal does not"] - #[doc = "exist altogether, thus there is no way it would have been approved in the first place."] + #[doc = "See [`Pallet::remove_approval`]."] remove_approval { #[codec(compact)] proposal_id: ::core::primitive::u32, @@ -34137,7 +32127,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "New proposal."] @@ -34227,107 +32217,37 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "Contains one variant per dispatchable that can be called by an extrinsic."] + #[doc = "Contains a variant per dispatchable extrinsic that this pallet has."] pub enum Call { #[codec(index = 0)] - #[doc = "Send a batch of dispatch calls."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] - #[doc = ""] - #[doc = "This will return `Ok` in all circumstances. To determine the success of the batch, an"] - #[doc = "event is deposited. If a call failed and the batch was interrupted, then the"] - #[doc = "`BatchInterrupted` event is deposited, along with the number of successful calls made"] - #[doc = "and the error of the failed call. If all were successful, then the `BatchCompleted`"] - #[doc = "event is deposited."] + #[doc = "See [`Pallet::batch`]."] batch { calls: ::std::vec::Vec, }, #[codec(index = 1)] - #[doc = "Send a call through an indexed pseudonym of the sender."] - #[doc = ""] - #[doc = "Filter from origin are passed along. The call will be dispatched with an origin which"] - #[doc = "use the same filter as the origin of this call."] - #[doc = ""] - #[doc = "NOTE: If you need to ensure that any account-based filtering is not honored (i.e."] - #[doc = "because you expect `proxy` to have been used prior in the call stack and you do not want"] - #[doc = "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`"] - #[doc = "in the Multisig pallet instead."] - #[doc = ""] - #[doc = "NOTE: Prior to version *12, this was called `as_limited_sub`."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Signed_."] + #[doc = "See [`Pallet::as_derivative`]."] as_derivative { index: ::core::primitive::u16, call: ::std::boxed::Box, }, #[codec(index = 2)] - #[doc = "Send a batch of dispatch calls and atomically execute them."] - #[doc = "The whole transaction will rollback and fail if any of the calls failed."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatched without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "See [`Pallet::batch_all`]."] batch_all { calls: ::std::vec::Vec, }, #[codec(index = 3)] - #[doc = "Dispatches a function call with a provided origin."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] - #[doc = ""] - #[doc = "# "] - #[doc = "- O(1)."] - #[doc = "- Limited storage reads."] - #[doc = "- One DB write (event)."] - #[doc = "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as()."] - #[doc = "# "] + #[doc = "See [`Pallet::dispatch_as`]."] dispatch_as { as_origin: ::std::boxed::Box, call: ::std::boxed::Box, }, #[codec(index = 4)] - #[doc = "Send a batch of dispatch calls."] - #[doc = "Unlike `batch`, it allows errors and won't interrupt."] - #[doc = ""] - #[doc = "May be called from any origin except `None`."] - #[doc = ""] - #[doc = "- `calls`: The calls to be dispatched from the same origin. The number of call must not"] - #[doc = " exceed the constant: `batched_calls_limit` (available in constant metadata)."] - #[doc = ""] - #[doc = "If origin is root then the calls are dispatch without checking origin filter. (This"] - #[doc = "includes bypassing `frame_system::Config::BaseCallFilter`)."] - #[doc = ""] - #[doc = "# "] - #[doc = "- Complexity: O(C) where C is the number of calls to be batched."] - #[doc = "# "] + #[doc = "See [`Pallet::force_batch`]."] force_batch { calls: ::std::vec::Vec, }, #[codec(index = 5)] - #[doc = "Dispatch a function call with a specified weight."] - #[doc = ""] - #[doc = "This function does not check the weight of the call, and instead allows the"] - #[doc = "Root origin to specify the weight of the call."] - #[doc = ""] - #[doc = "The dispatch origin for this call must be _Root_."] + #[doc = "See [`Pallet::with_weight`]."] with_weight { call: ::std::boxed::Box, weight: runtime_types::sp_weights::weight_v2::Weight, @@ -34346,7 +32266,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"] + #[doc = "The `Error` enum of this pallet."] pub enum Error { #[codec(index = 0)] #[doc = "Too many calls batched."] @@ -34365,7 +32285,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - #[doc = "\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"] + #[doc = "The `Event` enum of this pallet"] pub enum Event { #[codec(index = 0)] #[doc = "Batch of dispatches did not complete fully. Index of first failing dispatch given, as"] @@ -34619,9 +32539,87 @@ pub mod api { pub struct PrimaryPreDigest { pub authority_index: ::core::primitive::u32, pub slot: runtime_types::sp_consensus_slots::Slot, - pub vrf_output: [::core::primitive::u8; 32usize], - pub vrf_proof: [::core::primitive::u8; 64usize], + pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SecondaryPlainPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct SecondaryVRFPreDigest { + pub authority_index: ::core::primitive::u32, + pub slot: runtime_types::sp_consensus_slots::Slot, + pub vrf_signature: runtime_types::sp_core::sr25519::vrf::VrfSignature, } + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub enum AllowedSlots { + #[codec(index = 0)] + PrimarySlots, + #[codec(index = 1)] + PrimaryAndSecondaryPlainSlots, + #[codec(index = 2)] + PrimaryAndSecondaryVRFSlots, + } + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct BabeEpochConfiguration { + pub c: (::core::primitive::u64, ::core::primitive::u64), + pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + } + } + pub mod sp_consensus_grandpa { + use super::runtime_types; + pub mod app { + use super::runtime_types; #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34635,10 +32633,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SecondaryPlainPreDigest { - pub authority_index: ::core::primitive::u32, - pub slot: runtime_types::sp_consensus_slots::Slot, - } + pub struct Public(pub runtime_types::sp_core::ed25519::Public); #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34652,12 +32647,7 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct SecondaryVRFPreDigest { - pub authority_index: ::core::primitive::u32, - pub slot: runtime_types::sp_consensus_slots::Slot, - pub vrf_output: [::core::primitive::u8; 32usize], - pub vrf_proof: [::core::primitive::u8; 64usize], - } + pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); } #[derive( :: subxt :: ext :: codec :: Decode, @@ -34672,13 +32662,23 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum AllowedSlots { + pub enum Equivocation<_0, _1> { #[codec(index = 0)] - PrimarySlots, + Prevote( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_consensus_grandpa::app::Public, + runtime_types::finality_grandpa::Prevote<_0, _1>, + runtime_types::sp_consensus_grandpa::app::Signature, + >, + ), #[codec(index = 1)] - PrimaryAndSecondaryPlainSlots, - #[codec(index = 2)] - PrimaryAndSecondaryVRFSlots, + Precommit( + runtime_types::finality_grandpa::Equivocation< + runtime_types::sp_consensus_grandpa::app::Public, + runtime_types::finality_grandpa::Precommit<_0, _1>, + runtime_types::sp_consensus_grandpa::app::Signature, + >, + ), } #[derive( :: subxt :: ext :: codec :: Decode, @@ -34693,9 +32693,9 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BabeEpochConfiguration { - pub c: (::core::primitive::u64, ::core::primitive::u64), - pub allowed_slots: runtime_types::sp_consensus_babe::AllowedSlots, + pub struct EquivocationProof<_0, _1> { + pub set_id: ::core::primitive::u64, + pub equivocation: runtime_types::sp_consensus_grandpa::Equivocation<_0, _1>, } } pub mod sp_consensus_slots { @@ -34737,60 +32737,6 @@ pub mod api { } pub mod sp_core { use super::runtime_types; - pub mod bounded { - use super::runtime_types; - pub mod bounded_btree_map { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedBTreeMap<_0, _1>(pub ::subxt::utils::KeyedVec<_0, _1>); - } - pub mod bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct BoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - pub mod weak_bounded_vec { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct WeakBoundedVec<_0>(pub ::std::vec::Vec<_0>); - } - } pub mod crypto { use super::runtime_types; #[derive( @@ -34856,43 +32802,28 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub struct Signature(pub [::core::primitive::u8; 64usize]); } - pub mod offchain { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OpaqueMultiaddr(pub ::std::vec::Vec<::core::primitive::u8>); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OpaqueNetworkState { - pub peer_id: runtime_types::sp_core::OpaquePeerId, - pub external_addresses: - ::std::vec::Vec, - } - } pub mod sr25519 { use super::runtime_types; + pub mod vrf { + use super::runtime_types; + #[derive( + :: subxt :: ext :: codec :: Decode, + :: subxt :: ext :: codec :: Encode, + :: subxt :: ext :: scale_decode :: DecodeAsType, + :: subxt :: ext :: scale_encode :: EncodeAsType, + Clone, + Debug, + Eq, + PartialEq, + )] + # [codec (crate = :: subxt :: ext :: codec)] + #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] + #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] + pub struct VrfSignature { + pub output: [::core::primitive::u8; 32usize], + pub proof: [::core::primitive::u8; 64usize], + } + } #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, @@ -34935,104 +32866,8 @@ pub mod api { # [codec (crate = :: subxt :: ext :: codec)] #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OpaquePeerId(pub ::std::vec::Vec<::core::primitive::u8>); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum Void {} } - pub mod sp_finality_grandpa { - use super::runtime_types; - pub mod app { - use super::runtime_types; - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Public(pub runtime_types::sp_core::ed25519::Public); - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct Signature(pub runtime_types::sp_core::ed25519::Signature); - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub enum Equivocation<_0, _1> { - #[codec(index = 0)] - Prevote( - runtime_types::finality_grandpa::Equivocation< - runtime_types::sp_finality_grandpa::app::Public, - runtime_types::finality_grandpa::Prevote<_0, _1>, - runtime_types::sp_finality_grandpa::app::Signature, - >, - ), - #[codec(index = 1)] - Precommit( - runtime_types::finality_grandpa::Equivocation< - runtime_types::sp_finality_grandpa::app::Public, - runtime_types::finality_grandpa::Precommit<_0, _1>, - runtime_types::sp_finality_grandpa::app::Signature, - >, - ), - } - #[derive( - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct EquivocationProof<_0, _1> { - pub set_id: ::core::primitive::u64, - pub equivocation: runtime_types::sp_finality_grandpa::Equivocation<_0, _1>, - } - } pub mod sp_npos_elections { use super::runtime_types; #[derive( @@ -35717,6 +33552,8 @@ pub mod api { Corruption, #[codec(index = 12)] Unavailable, + #[codec(index = 13)] + RootNotAllowed, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -35771,9 +33608,9 @@ pub mod api { #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] pub enum TokenError { #[codec(index = 0)] - NoFunds, + FundsUnavailable, #[codec(index = 1)] - WouldDie, + OnlyProvider, #[codec(index = 2)] BelowMinimum, #[codec(index = 3)] @@ -35784,6 +33621,12 @@ pub mod api { Frozen, #[codec(index = 6)] Unsupported, + #[codec(index = 7)] + CannotCreateHold, + #[codec(index = 8)] + NotExpendable, + #[codec(index = 9)] + Blocked, } #[derive( :: subxt :: ext :: codec :: Decode, @@ -35900,21 +33743,6 @@ pub mod api { pub proof_size: ::core::primitive::u64, } } - #[derive( - :: subxt :: ext :: codec :: CompactAs, - :: subxt :: ext :: codec :: Decode, - :: subxt :: ext :: codec :: Encode, - :: subxt :: ext :: scale_decode :: DecodeAsType, - :: subxt :: ext :: scale_encode :: EncodeAsType, - Clone, - Debug, - Eq, - PartialEq, - )] - # [codec (crate = :: subxt :: ext :: codec)] - #[decode_as_type(crate_path = ":: subxt :: ext :: scale_decode")] - #[encode_as_type(crate_path = ":: subxt :: ext :: scale_encode")] - pub struct OldWeight(pub ::core::primitive::u64); #[derive( :: subxt :: ext :: codec :: Decode, :: subxt :: ext :: codec :: Encode, diff --git a/avail-subxt/src/e2e.rs b/avail-subxt/src/e2e.rs index 8b3e13ffe..689c0f23d 100644 --- a/avail-subxt/src/e2e.rs +++ b/avail-subxt/src/e2e.rs @@ -1,5 +1,3 @@ -#![feature(async_closure)] - use std::{process::Stdio, str, time::Duration}; use anyhow::{anyhow, ensure, Result}; @@ -107,8 +105,7 @@ async fn run_alice_node(opts: &E2EOpts) -> Result { "--execution=NativeElseWasm", "--alice", "--port=30333", - "--ws-port=9944", - "--rpc-port=9933", + "--rpc-port=9944", "--validator", "--rpc-cors=all", ]; diff --git a/avail-subxt/src/primitives/grandpa.rs b/avail-subxt/src/primitives/grandpa.rs index 7bc27f4e9..5cb3c24cc 100644 --- a/avail-subxt/src/primitives/grandpa.rs +++ b/avail-subxt/src/primitives/grandpa.rs @@ -1,7 +1,7 @@ use codec::{Codec, Decode}; use serde::{Serialize, Serializer}; -use crate::api::runtime_types::sp_finality_grandpa::app::Public; +use crate::api::runtime_types::sp_consensus_grandpa::app::Public; #[derive(Decode)] pub struct AuthorityId(pub Public); diff --git a/avail-subxt/src/primitives/header.rs b/avail-subxt/src/primitives/header.rs index 72da1d9ae..8c809aad5 100644 --- a/avail-subxt/src/primitives/header.rs +++ b/avail-subxt/src/primitives/header.rs @@ -41,9 +41,13 @@ impl SPHeader for Header { type Hasher = BlakeTwo256; type Number = u32; - fn number(&self) -> Self::Number { self.number } + fn number(&self) -> Self::Number { + self.number + } - fn hash(&self) -> ::Output { Self::Hasher::hash_of(self) } + fn hash(&self) -> ::Output { + Self::Hasher::hash_of(self) + } } fn number_from_hex<'de, D>(deserializer: D) -> Result diff --git a/base/Cargo.toml b/base/Cargo.toml index 6d34331f8..5b1d8616b 100644 --- a/base/Cargo.toml +++ b/base/Cargo.toml @@ -12,7 +12,7 @@ kate = { version = "0.8", default-features = false } # Substrate related substrate-prometheus-endpoint = { version = "0.10.0-dev", optional = true } -sp-std = { version = "5.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } # 3rd-party log = "0.4.17" diff --git a/misc/genesis/testnet.kate.chain.spec.json b/misc/genesis/testnet.kate.chain.spec.json index 2190c9c2f..935292968 100644 --- a/misc/genesis/testnet.kate.chain.spec.json +++ b/misc/genesis/testnet.kate.chain.spec.json @@ -1,403 +1,373 @@ { - "name": "Avail Kate Testnet", - "id": "Avail Testnet_116d7474-0481-11ee-bc2a-7bfc086be54e", - "chainType": "Live", - "bootNodes": [ - "/dns/gateway-fullnode-001.kate.avail.tools/tcp/30333/p2p/12D3KooWB7mxRszUN9RJyQbttutEnEDtaUNMfr9SgvArPCfsDv2f", - "/dns/gateway-fullnode-002.kate.avail.tools/tcp/30333/p2p/12D3KooWFzLz2vw8gBUgxNWUKDr5AvjosPe5wz9hmqmdcTsUwvhs", - "/dns/gateway-fullnode-003.kate.avail.tools/tcp/30333/p2p/12D3KooWS1ShBPcFSn3UCm1UH8UiYh5k1FNMqqZA13pVj3uR9oyp" - ], - "telemetryEndpoints": null, - "protocolId": "Avail", - "properties": { - "tokenDecimals": 18, - "tokenSymbol": "AVL" - }, - "forkBlocks": null, - "badBlocks": null, - "lightSyncState": null, - "codeSubstitutes": {}, - "genesis": { - "runtime": { - "system": { - "code": "0x52bc537646db8e0528b52ffd00581ced04dee2c56a1251107068940e7092cc539c8f6782a2e4d01a327a38d7236aa39599d22af17d3bba189d23b199e57ef5045057fde4a60171c10056716a749dbf3e8dc7dbfc2337dd6c04ceacfd7f13b2f7265b4a29654a2905111471117912f023d77985df9cbf8fb76ab51e5cc5efd34fb5dd33552b2fea6e238c91d8f873f400ff0d799d901bf23a84592c16abf23f6ec85fe57f8f790df7c79ce3d5f87d1ac2f7772d883b27fb59e36fcd9bb90bd80a6ddb32824b85755b46b0eac2b4c1ef7dfad1497d0823b279eae44c816d3507acea7b74526606d0600145da2082fbee6ab3fdd61eb0aa404b838aea7ed7bfb11854daa8dba26246ed667d4f80ba2d2a56eac3228731d41eb0aa4f08d7f8ddaa463a9b93010a7cec6941a06b0f58555f2dbe4da43a708d1fe9ec14ff72dd9c4781362b1811fecebf9993210af3ea802d05b608bdbfa9ff835148bfbf4f6ff3d8e8d0efefb1830fe4ff3ec69fcdd335b6b0a5c0f62ad3d9a9f7efb1d390a0a2faf6d10f60db7e9acde3dfff7e9be761ad0579ac3d60f538aeab3907b06d9ef66c396c7f6caf66153bed9b59f340ee3dab3227c4b5bfdfb9f7ab05096224ead6e69cdb0a39ed6590db161537ea364fbfe79fcdc395bfb5209cd5d57478d4e96c6ef598cfc036674a5256779aa7c3e19ba74be1d03ceffd7b348facfe5bf36c6b0a52f59fe99e56e5c8dad950fd31ceb67b36d7f1dfdf7dcd03d4cf3fd33cfdfedb3deb3afe60b65359a7f8df639df167fcdb3dabdacf90ea3e6bfdabe9d0ff7e48ffcb9aa7b7d56960dbd8fee674ccaabdccc4b6ad2a5a5466f578b61cb33620ffad1db3ba6eab8a0d2a577ed67660287569c7acf7cb3d7975ff71444e75dfb95d20dd7b9b21a5fa68d0a9eeaf1a75a776fba576febd95e329367eaedb07d8672de883b6ea9459fd03294752b4f477b3babffbbbbb14a3eaeefe36c795b411058d2855be79fafb53cdd3bddafd3945acd1e3aaeed1b5bba9fddbcf6467886d5b454051b705c58ddaa56abf01eab6a0b4ea6a417ed8bacda7b72d6b9efd865ff731c86d758e2bb63f36aed133c8c5672d88c75fed01ab1a31d686c08fb4830f1f6b6dc856e1aff63af51e7b99735c31cf22079fb5ed543753f9316cb548bb558def5c37e1bb73ddabf17d1a73ae6340f5c75693b41ba2ca77aedb56f5875cb79d1aa20910463050fdbbed54c743f5ef6003aabf8f436eabe482fccb972f5e2a7ce73a1cea7b8c33e7de436eeb6a3bc8ea910b9215d28eabd320fef2e5cb97daadaaffe3b6534c5fa7f877eacab08afca0608b734609db02046ddb8292a5cee6d916142c753feb1e56eda39a675b2c2f75ffa6ee6fcee6802d908d7f7f2f0cdbe659aefcfbd8699b675ff3f4ef638cbd6c9b676b37eb2e4c047280a5535bfdbd7fbf6b419a2ec3442007593ab595dfb97d94b520b353feab3560ab16a4dfa7d907d8d6eee76eead32be60760fcccfdb0b55848b57bb57ff2cfb9deb3add36d95bfdbea6346e2eccdfe3ecdeeeeceefcedd3f6b531b22fdef9b87f037edfa9d023d1f619bd37dedc716011bb63fb67dffd582ecb3a6c3102c160b4a5dba9dea66edc73adbe6e16f9eed54bf4f3bf73ad5dfb3755bed7e0c8571b6354fff4cf3f8f7a39a876bff6a41fc714f70aa93d5acfcb332b521c2ff9effd121ae4e570bc2b4e3caefd33efd75655839731ad8d6cde9b6da8fcde6e974c80065e3efb2dadff96fa76cd8f877e00772ba9dea5e65ceab962d102146aa4f3213c61973af660b4488936a90ac4f622a7fbfb6408498558372a84fb2cadf6f5a2042ccaa4139d427b1f2f79f168810b36a500e95bf7fb5218fc5aafc3e8d75b60b84bff3df4eedcfe6e9b8faef63cecd4eed1b60f3df5f4dc8ebd4bed3d9a97d9fc63a63ae6bb64084b8559fc4cadfaf2d102166d5a01c2a7f3f6b3b6cacca9f35cfd6fed58630abf2fbb44ffbb44f2fb79ddadf9ca6405b5d1956cdcd06b68df16ff374fb4cb753fbfb2b661a6c5bac2b7525b6376cfcfb7bd135188c1d04a144bd40dda04aa045a047a06a50235034a80f2817b406f40bfa024a03fa04cd826aa138a056d02a2815b405540b8a855ea130a0505016d028e80a78a841c5a037a058d031680c70a6f8223eca8e2fe0b481c3051c3770b680a3059c2ce024e16001e70a3856c099014e11708c8013049c16ce0d706c804306ce183862e0848103068e161c27e0b081d3041c241c26e02c014709386be0240107093847c0e182a3064e0d70688003059c27e0f800a707383cc0d982b3031c1de00001270d9c1fe0688103031c2c385be0608103050e0b70aae030816304ce12384de09c0027053849e0a880c7157878814714785481871570a0e0b078e48087193c70c0e3063c5cc043063caae0d1058f12f0408287097828b1a30b3b92b0e3093bd6d8b165470f7688b1238c1d60e0488113c50e2e76c86007163b50b0238a1d29d86165870a76b06087133b9ee011e5260b3753e0d1ba41bae9c251dc08e1e6e8268d9b1fdca071e3839b2c375b6c7ec0a38c9b2e6ea8b841c18d13374bdc4c7173c4cd951b2ba8143751dc207133c5860b3660b0e982cd176cb460b3059b346c806073648386119b306cb6d8d8c0660c96c2e60c9b1ed8f0c0460c9b1dd8906193031b1fd8dcc0060797186cb22845b199814d0b6ca2b8bc80838a1a2f5a1260acb8dac0a2d454c1e68819243029a82d60ba9831c18c123032406581c1322305468a1d483347c06831430535831914c0307179b9ba00a365a6092c07282e38485c51dcbc81b222660b36304051414d41a50065040aca1604d4112813646f6847a839c3b7306354d3841a279cb60033a5660a356de0b8a0868d9d1934285a1135596a885033841a20d4a44193547354f3831a21d404a1c60b9c236a66a03d41c3c10e28d44441c19899a2660907c3c39801c326083262d8ac205384768656060de3a4044d0cad09da12b420d08c41860b9927645220a302192b325ac8ac40460a192864b430c3c41603981a644938b05c2570146053c02831e382cc098ee4438089010e19d0480153622b038711605c50ea429603cc053a82904d717a236339192525700e62ac40cf88a1020e0a62c01073053e810d1636318861424c136cb6b079418c1462b21093046302982362aa60d222060b3bbe6065c06081e202e60a6a053976c0430aa720cc24e152c444892922068a698b6d0a9b13b026c04c81314143a3c60c0c89cda03ba8e102a3c1f586cd15db106cb0c4206d42c06ae05a4045c1f1c5268b8d16355b6c5c3427686b68696842d0b46837d07ea08da191a1e940e3a241413382e603ed48b3c1f603d30bdc051a1b365e76dce0a5e4d0c1cc12326330c1a054044a06a82f505d4c16a0bc28619959014a8ad3124e3cd0b620bb000305ca05520c305666a2a05e7002c29402b302140c6614bf22bd508324c3704a437a815181e4c22c02e609a9059926b42fe4165058505ac0b040ba21bfc831c8372418e4171c8b4d0d4c583425b4136053d0aa6052d09ac0a8a031a12d815901ab829604b700c708338347104e4898a9a2a9818a41cd137634e1d4068ab5c309d8167878391981c71bd819a82a9c8ac9e271c6c5040e3162a6d420a10309272e645ebc07a530603cc0b6603ec07a80f3020c0c6d07de02ad85ca420ba384850606ea0a8d073c9aa04561abc28e15c8bcb14921868d1d50ecb83273021c5e707801f5049be0a9e0e8c20e2966a6c88001a7045811375ed0cca05c68136e527063a4d580eae0864a09073251b412f01554113746c87441870f4a6150324c59ecf0522ac135862b0c362e28b160a8e0510498175c4fb869422b42a602daa2483c8ee6117389c9c44cc19c32a14c134c14cc266612b3ca349a2798484c256609a60aa613d3880cd87001f3c556831d68cc388163099811345d6aace057e838ca7490ed20e341b605e68a1d26c0c105181a645e70273425ec686326053552b8dcb8b6a001c185b071b1e100d3e2860ad894cb093bb46463d08880b50047173b9080a90273e23a421b02cc0932359c093b6c805d8125a1b5c1230c1c63e020024c961d6cb8151d47e016e380c710ae139cc4000303eccb8d171c5cc0cc0085c58e23b42d302da849a246073ec68e16d428515a63a6043898f053fc088e050e2c60bcc8ae80d98207104a5cd841060e3276d460c7102e2e64564e43387181c922a3024da3260a191ba7249c8a0093c4cc15384a6458d090a695192330296aa0309fa8a1024c145919991427357824ed78018e306cdca036c051849a2e2722ec988287941d5d68483809613b6307174e4773055a0f3426d88401c7043cb2e05d4e6b94d89854b4193c279c0b8f09ef021049fc8d182df098b2c30b9a1574093e855b81e1c083e0471a0db41c9c8e80e98007185e05ce153cbee0a105868b1b26e0bcb151014503dec23be032f80c1e5478cc8083c03c602030197cc442601db00d78d480070db80abe82ade0292c85a3b00bb808862202102061287eb88a0f2178d26449101fd880073ac0010d5800031390000ffc02d50e1180c0031cd000213a04a94cc5016ae0a181496403e3baac5db9da7f9c1cf9409126477e8028520463f761c94f91d2db810f4c90fcf880f374b04e9c88e087c81226499c38f9a100f7ced81f3376880913a1224b982471b2e467688820ff72b03f083d29f2f3812334af8c056208044b7e9414c9f170b04e82382274a44992234fea91a1230cd0f15aebc4c98f921def0632cf06646c911f8efc28a17963ac501041040181d31363e785a144c911244a941c5980ce03639d28497264e8c787223f3f3f08e06959263f2c49524404423f42041549d2a40e2df90942044778f85783fd41b284c9922247902c611281a12542304182a4ee783448d2a48ac049120688a0726f0607785fe43c2f36e6c960bb5820903069f263f3b2ac90102048f2c31226488a2469527f3e704445f362b03f306122d4a4489324403811fa591202264544f0032480c7c5faf0b30404499c2c1162e80812264f920811f45364488849931fa11f6f8bf5214991a11f27424220c9f1b458273f498692083101624888234540502449937aa4890f4b8e0809e1f160b02148d2a40afd000931b9c00edccb627f7e84f81142023df8f00302101ce98100ef05eb0408c90f1048b0ac93a1253f423f402c49f20f8b25497eb0792e5824499c2c49223434c44f11112869d2e4880a08091325aa9b77c50651e4c8d0111f8e0cfd4000e6593182244a8e24194ab22409cdab6281903051f281223f434220f919e227e651b13f424c16902dff28f9c091a12542fc506408c98f50121f9624295224874e098b444ae30c22d45d61db62b12aaf3c478c4e884ee0262cdf431444a150f0e5ebddd6642fefebb7be2b5dae7c26de9d6fa62fe8bc1d9f47ac5bc6e92d576ea76dbb9f7bd4a6775f5a5ff3b54bb9dbfdb2f7de7bb2d77d61d601727148d9735fcb29a59ceecfe649df95524ab9ebafdb57eee6907277f7f9bef55ee9ebed6f026076b79c3bd7e5ae6fcf27a7b76cf6f585fe9e942b5f0760775bf66efb7bb27ddb5ff774cf74b26c88f7cc1a20fb6db7fbd67213e2bef99cdebdf58d373bb3bb3b77d6593f97ed9db5eb48a943b6dced58bb0cd63212065939316700ca9d9999e3ee02e4bab3caddbd25bbefdedccc0903c33ce79cdeded9faa604205302705fc71e3663bc7bdba6bac3e70efb3ddf5d297db73b47f74af75e98761f9f737dced917b77bcb98b9cf1d93c94101b25ffbbee7cddb2d5dae7cbebd0d7d975b39a5e438f796383452ca95dd1d77bee9bb6f9fefba7c8d2300cf35f7042c0ece5c4a8983bfc7ecccbcddedbeee12ce397b4a5f9752fac3240e9b96cbcedbbd373cdfb98fed3e97c15eb7b367ccd9ee0380bbfbd5392d9bbd5fb7b76fbbbbafecee7e523e1c09e53a74df0c48afc33c66d8ed9e6dd7d07023a03bf3be7a6ee6bd26ee5ee9eeee4fc26452ee9bdbeed1bde5faca1d8b83a567dedcecbeb1bb9fef3af3d52e1be37e32b2dbd74bb27ba5ec6d29a564de0c26a733ff91798fdf782fecee6c3dc6e52b6e5c3745dee58d1be35e316edc8d31468f176fdce5dd6df75df76b774da6ebf2e6eef7fc95dc1ff61eb6afa6e63dc7bc67cdc4e67397eeaf77dbbda5ecf6de9ae65977978cc938335f08bb7d999963620ed0ddcdddeebbbdbbb3e19bf0bdf9de836feec2e7deddeeefbd7eef3deff76cde7b30fd70dc5d76f3bafb7baf5fefeebef7dc57eeaeef76bb3fe9eeddde2d6d9052ca30674b3999a194c10050464a09a59ca9818686320f4e296bdadba59452764b4903a55c29a5af9472e56ed25fecf7b0d7ef79aff47677f7e80fca76b9cc4ed7a04bf0996d11083109e22788686a12c49121273f4124197a1d1f10c289ce8f93224130f161c911216a1a72520448884908867e96e4e47092da49cde0c39223457e848e340982890d9b922348982819c0e5431225479e1471220307b14bc38fd00f4584980c1d41c2448992233705f0e147e8c707212645780e50c34f12a1a1010820470d4c9808e9004272e4034a9430111a808f233f423a74fc0015191ae267090f1d20c8717232e424c9103f7108c911274b8e080d15194a1244104c523db686243ffc0835113af2a304894d8c0f4b7e9a343952e407044784980c39d1b1340491646889104294c70f4342ece031c40f1045869624116a520489932441dcd8c0b36308262118e2710408273c808e2041f203c473801afef4a3061a8ad4f0037444c9078a80604912209c1c01e2e390d091212702a84106022c014112271ccdd2e044043f4045902451f201219aa4849c00a0b435f8f0e3c4c98f50932098202922f4f38409921fa122479cf880e4a7080d403c07a8a109921f273d171048868e7ca008104e922c49f2438a8ae08724423f4f64d8f1337444e867c90f088a208086031ca0061f7e8a30196a2202212400b894fc3cf9515264882341e0e4000113254540b024090840c044498e98a11f274586f8f1614992224b921c0102c90f3f30293234c4cf3f59f2e303581a8a2c6192c489d0cf93224a9208f18122423f3e1cf901a2880f3f434e9800516468881f9d274b7e7c065318baa8a8646457452bccc8ae2e232b8653aee434b24545abb85acda215af4e45ab2e5a1515b991a2222e2a822b5854f48cac7855b4e215af8a565eb47a6f8bd8c88a8b8a8a7655c445ec46b6a8a8a868258d14f18a8dacb8a88d6c51d11615b191225e232b2e2a8a468a78b56a232bde1534b2e235b2e2d56ae5ab676457ab36b2abd5ca8dac78c54676c546883c21f0ee72104e8e6c3baed32f2911951e2af919257a593cc9b374961cb4937e8f76224ac351f338b68f32a7dfb2d436fda94a6ded4d5e257badca110b07258a5f4339861235719d7e184ac4574a94c89188fcca4589fa0a0d6da445daa42b7026ca50a22d7a80f99827ba9ec8c80655e989b6e8017e3caafd445bf4301f76ab154389ae87a1bc5122cee23afd274ac4264ae455344ad45532da472cceb24320e30b551e7651222954325589126dd1c3f5ef8918a9f61bd9a07a94e8a28ce43afdef2325e223d7e98794a827ed1647309ce1853466e003287cc4569c704514d4c0228aa445bd832fba602208626081ea514e42f2a48774e51d55397aadc76af99597257ee74959923c4ba4d00a12fcceaf207db90229ace255de777d24bf7c19c311d4e8010baa3c0a8dbac5573002129c30c51624a856e5df35abb614820a8c0086113fb0826a554e21cb75fa3b4eaafdacc5c6df41566d7854578622bae2ae59420b28b440420b2a5a140103315cc1e24225c1b62d2bd0a8fd58dd961553b0a209cb5e705fdf28fc45b5c5fa48036366663a538565066fcb8a2d15d529a7db5b603f3ba8dabfcf9f6a1e246e7a344fd74ecd2c0744000050779ac0ac58c375de7b2f80daf1f7c3152caaefbb0b02eb840a291613fe72f321f738e85d24a926656d1a55de7757f5f7f1c709a062bc9a0604508b7805bb87608328b0dd319883b8fa3313d8fe6404788255b387df9c13aefdad3560eb4581f8afaef09913e2f5017f68d6a0fd52b16f4d87ec4b258cc2ef8b5b27de674935fbeb310c665dfaabb96e55fb5b23f2865c9fbd4f0b918f3d73d85f5cf6ae1199cf4c777d70d794d707fff518d775e5ebc9ac413e06d610d77efe55e4b602ef7b02d4f7f1ad68a9f1250f1848411bae7a4f358f4dfccf491901c20da8ca91a10a15f6689e2e7e6ae1cef706641830d23c70b73ca079b8c2df51c1950adf06f8762a5c226ce1f9da6d1b15ce6f52e5f7fe50acfdd8cb691e28d4ac112952e54ff9ad3960d5632976c552fcfd8ee537372517b96e552350d48648f9927644d4fead91765cbb39d781887f13e14889f037fc1b2c0563d4c8418652bbf9db4202cb86cd344f7cf84f1332bf23e2cb10fe48bb8652e763dbac2a3f7253725dfc7d1f8f502ab727cd2e180e757b4ebfbf358ff6fb33cd53faddbff99ce699bf9f6a9ef8ab5ae2b49fdc0ac3b0f7e98cb3997f39b1467dafa5203e86822ad4f7110562a8efb1f718b6e2ecaf0b7b8cb10ff28a6dc51ec886887cf8a44912912689fd7cec2afdd6ab4475987ffda5457d5f7a28ea03822f3ffbc971bd5cd3a1542a952810fceebd93d50e4e56357ba0f86f87f79276f1337abd8fd76b62305b2da31d51cd3e72ddabf14f9c37955d1a3a96727a2abb34c467958f671c06b3c8f99fb8554d8ec84581b47faffd6a41e81b9bf61eb18fb4d31ea336d8cb8744de6bd406a344e6c79f58e44a2f81e69444a69c43de5fb48b8f3d86715df636d76fc53e723617d5013e167f6b0a90a8efb1c73a032a3d463bae5dfcec31cf4a5cf61dd7ac351db02118ddf5d161ef7fd1f5d15defff1ea35de9330ee31ab9728ddcd98043dd5f9f19dfd050eabe69e74711af4a9d2d81022b9c082ab882022758dc44863551a5bfdf0642dec8d9c0e72a5fc2bc1740f597df1c7ceed8b1a3646ebfe3dce68defe3918315835c435662eb67e8197c1984fd18d474d835a24c997aa7f2d2ad5302a8be92ec41c09657b0bddf0d63166c1d83ba2d167ca93d45ddd613483555b7f54495214351926ab71a23d64e8813e8a0ee9f98059b9751b775a50795cda8db9a824aed51b7250517ac0929fd00a90619a94952d4a02253ed86d858026a8ada0d61990263a37643266003d6cec911664080308e6ae744cb519d2cd67ea9fb75bf518005716d2bbea85ce52a57b1ce9a834d210caa50a11a95762d173851f91f733644a01a40fefbad05e99ed0f0bfc79c0bda2f5fbeecc055f890628f7b42e3c4d7866a54e6869ac857e7b06e4d087fa941fc05529b21fcfe42f89d0e61dbbaa24a1dea0a69d7ff84abffaa72d539aef61056f757909d4a13acca275afdb97fdf6ff09a63c94b6cdb6222a9ce974262e927d7951ee8faf9f0e5fb63cd658f99381bd36fed56d5f492ebba69d0a93e19ea6afaecc4d9989eebf6d8cbfab1e66c863c16ab62ffaa57ec9bebda9a10d39fb8ed2567fae63c3b71af622f93dc72a19e38af18cc24b761a827ae2bf69a17ca17b7cf5e72fb463d2de47e26edbd6ad9af5133ae7fe34eefe3270e2e90fcf9fe80d50de6ef9cab03bf646d88fc6933c46bf65e33daadc660b16a73d863acb1121bf6260e7b2815ebccc4618ff9152af6b4b06e540c6626ce89ac4fba8240882bf64f0bc2496cd8634fd361d7a8d8630b5f33f394c184bd19ac22aa89dba958e9fac6b4dff551c2b4cf4a5ce7f5faecca4ad7639c50a669fdd9f525aee37af5b8f69721dd3af528ad4e519d32b1ec52b7c54414d86883755b4c5061d70700ba1f63add787ec6eee754acef5219f39222229ff5a2041fae5cb9f0b040a9890ada7c7767777b7f997e3ca7bcad6c7e99b23c1667aedb3c79e045be9af9f2f9f045b7cd8cd7afa53ffe9f47d5a02761a2285786b57fc9eefd7cf8fee335e989cefdc13ae73bee46d37b9bfd3af9302cd97bf1a04e645bb55bdf8229aee3edfc783886acfbe7af6ec67ecb4cfd9f8f3fb3767e3ef5c037cea6e8f4ebe7ce7b6ca975368286b52e7af36c4489d3f5788e4baf940fef2b1c951a1a04d62b1ea504c2dbdfb50564b3f7fb51d9ad4eb7d7a72424139d45e1ffe43b1ceaefe1727347f28d6d2af46a448bd1e272887caebe3fa79d1dd1efe9a0ef0e7e4f8e53ee4ba7efed5847075e7b64eedaf264b34b085300e1f83fe186bfd2a4c36ed56b5b9997644957f39b9bbfb722b7341445506793ded07ddec63b3bb7d9d5a6e976e7cc975f29f6c55c96341a95d7f901403942ff5c9ec2ea0f7f397765bdd6f2eebfa9fc820a127b23a5955a641367e0f752d7dfc120d6231d47771435ddf539b21dcaafead05f18fdc76fcf19d7bd2313eed8288ea7bd8adaa6439694754e737c7ddddf3d9c92ac875d8ef8f415edfa3401a914784df29d07eefc5510c9d42f2062682ad3526be7823225820ec5b17307eecb435fbfddda9d7967e8170c6fdfad8a9fb71c8fcf9d37d9ab9adac95b0920ed7892bb65a9095305ba74a7f3df6ac0561daad2a5f5c89c326f7846bc7f57ae69e70bdae9fdcd68779b3bb896990571b1dbcf233fdf5b1cf757217059a8ffdd382668d8f65d8e97ad6d888cd9f5e749fb1c975f3af12ed56b5c4414a18ed882af6cc5d9c376f0ffece01ab1bd4dd1efcd7fb781051f5cb4b5c9057ffbd38a6b26dd5dfa79bdb2a391f357293c3389b5c079f5f72364c83b846ba66b058950035c200f32af5bdc31740ed2065243ab5755b4860c11889e6d9fafe678108ed542cf6570b85e7dfa5914aa1e24315df48468544f3ccd4f73a6430da3a259591e8d4fb9d27f020253ebf4f176d1d2351df77fb84fa9e687f731d2e405183296a900589c552c57f2ae6580f064a5451041564a8a450f1a1e2379251ed4ba1d22af9460a50f147ce48012aa22d7ae027e2c175def3517d1f9f688b1ee4474ae4e33aef2525daa287f84c89de75de47bab3ad167fb747db0523788085159090451384f0f53d1dc3b6aa150ad020430a2970c045065b50ad6abfdba9ef57ebe1592c1523d13c02a8efb94af79b02db05d2edac4ecfbfcd537a0fdf2baa0e9d501f855d94ef255d1269175f89779154218ddf39ed88ea73229bc61235522c26fcaea82a594151e39204486955f8dda3dd10d5976c1a552afc6e04f545ba64dba8901e61b1c10c6a94f198b0a2ded46d316154b1ce208705d17ed1e9cb972f50a82e2c58354be8228a1458ef39c8bf7ca958b076247185135784007025065b58434db68d8a056b0635ca603d498094d610ac4da38a6abf1b4185bf7bc3ee0cddb6aab4ea10572c8ad8365417656d1baaa544fb454ba468c111a08881c5524dca92c262a9f63ba277da35c15e36b9fdc7f9b7668119d4c0c117d5fe6a168069c2125c3086285fbea8f667aa772403f3f738f8cc7242f8fe93db208c9d05d7e01b15d529f88fe38a79f63ec2c7f5752bc17f2e10ef50d59f7fc7e7fbf51edfe3fb5ff167f4f7f82edfddb1c86d8541fa0b3edd1f9fe3dbbce7dad5e685213e94f1719deb63db0ad8c27f0b24fe3e5c2091b3a153f0b150773a057f35efa608e67b4fe9e1a7bc077bf837cdf33a351ffe8f05f2eb633e7c8cdb5a677e899bad33714cef41b5ce7cf8a8e6b91efe1ed5ce860a1fc70299ef5588dccaf9fe63d49b4ecdefe7676dbe8d7caf5d6da4fc6d2db185baad25b250519d9a1f835ebde8766ac21739ae45bd82ed5d60db3cd2ff6592e30a85c0dff5a183fffb26c6580d02feefe73fdacdfae4b31634849422a0b06a50178230bcf1a5c677b2aa913a91b47bdf905332a51401e57543b44664d26e086c3521f0fdd37488bfeba38392e31a833c6a33c4ffbdffa340fd8f0611d5ce6b3fe4ce01261f632d08f6d9c39f9cf6bb404c1f1f33713aac6a973df6abe9304d40f3f733ae9bcf8f71ddd6125d2a5c1fb1351dba5fe3e69738ae18b61a04faafeb35eefa12b7fcab05b968c7756977fd5e5c3fc6658f715bb1d5842ccd1eeb0ce3b8ae26a454777d74fb18c61996bd4f6f867193cb3ae53f822d7bec4bb59b75d68c025ddf18d75dcf44fa2f2e95b8add75639b9c7bd4e6dc66e05dba0ed7d87aaf07720dca9f0e1db001fd5aaf06fbaa75510870a7b54f85bf3f44308e16f0ea440db2ac27679977dc056c2649d9ae1a179ba57c20baddd12a1be872f27fc2ae377cba54a944ff374b301cdd36d40348f7c1c9ae7ab7c0c34cfb69680a2cae740f73c952f9735a3cadfe6e16a3753bb1f55c2f7e91bac3999856b50e5639d35d7150546f3ba2988bfd4953fd33cefa57cf99b2329d026399654f3248146f377a89bc5527ba6be1047ddf86f3e23045b1c33b6cc0ac3606bc2d8687b9de2df1affc7a1b824982781e4ee5ffb3fabdd5673329c09ac1b5478c1a50b3368e20454502d0dcc6a4136258c7a6b1e1eb53f9bcb34abdb4ac24b7d14d529de1618b075b2f5cc00802dd0d68f994c9004eb065bb5e08a1448a1092dd801154850ad86f16f4eb7c331c6af53fc7a872724d2ee6bfcb912e6758a76435e4b8f6a1eecfd6f9a4762f2ba68777de92f99756a6b1e79bd3f2639aed8c56df6ac09d95133da655f7ac96dcdb821afd763dccb6e92dc568cdb5abab8ed5487aafcd37b8e78d5b6ceae8feea632ed22e6cc91db9a03ffe48660e50ceb6c881a7fb96ebab612867fb59c4ef9cbff4ec9e51ed7718ddc90d77de6b64e35857476aab7fad37b1e8bc562b154fea905e2d5736a896114eedccfc6dfbd3aa797da9fa190c052fb6f7e36fee5da64b395ebd81278a9db2a4197da7ded1270a9ef3d3d5aa7bf8360a7f87de547f36ccb0446b51f07d676d082ecaff6c3d6a5e0ffd816124ed4fe1eddc3aa7e1c6e6e9a879f765cfb99dbe954f7e854bf438e4bada603d71e9d4a75aabfc8d6a56aafea6c9ecd69c8ae02ecc8c68f61aba5c9c662b1a070ef90aaedd35c573eb6ecc4b62d13205501547fec650b6487b66d95604bddba158bd95b205df7bdb7406085efb4732150750855fb9deb582868bfd4fe2159df63522372aa41fc65c8abfeeba3f38febbfda10f99d432dc87c1ff769e7b64e6e48aa4abaeba346aee3dac1f7875a10c84b52b57b58c544d60b4b52b529e5f5d1efda0ea9ea74d747d395fc64806def36f710fcd4c3bbedb4639646e454df3bf7e4d547777d17eba5816b35307eac6ecb480a466e7484e2d088e78fb907f117fed5aec427342418cabaad23b2c4ab6eeb881a48ee42452de1858a62776d7d74b63efa9723c1b6ad238eaad76d1dd183dacdfd7e6db9235a15b5729a767d2c54017342b606f1170e09245454a776778de8e22829af060a930c60f6b4205cb7b584182aaa534f0b7a75d7c7fed38204f1979a637df4bfe5a0b6cf1cd7e582f84be5875a9047673ad5cf1c6a7df43b47b46dcb083766722c90adfd1b6a81945afd9884e9c1cc985b0893756a3bd5dd547e53dd9651122a6a237cdebcd204a5c0b6310cfe766ac287efd318b69a05fa69b7aaef8b54ae0579efe3ab61c0bf29d14a45f4be55ee1cd14af5d67bfabb21af15d8b66e0ffc4e898a5454b608caa1c66715e41eedb8067042547d4f05db8b72c78a8dbfdbd999d9861a4011b22802eac8b7ecebf737a865e66ea6c68739fb68ae533253e33763dcbddafe4cdbcdd46eba1ce505ff3dcf4cb1cd4d75a71a5fd2ee54bb4d0758214dad0fffedcbc6dfa562eacd19033c810614de4c0b86611675a9fd4f73637befe3cd29612b4d7d3b98fad80a0c5805157e07539d3296f5e12f5385d09b6c252e01cb0c265be9c18919f2c38610326ce60dce299fa1a48b492d088cb0237d8df49e3013ff71f175a8fa9e92acc6e7c77559e5c874dbdeeb9e4b4956e5e7c7f7f0e34b4e0628dbfb49e5633293907b9d8aaf4306a3edfd56f94f0b229f36e4d118df0c8a3babaf085914218b25191ce37196ea3e815458433700d86d1bc5bee32adc993cf1bb57e1fcce815c0f9ff78607f00cfe904a2a366ff200be8191e019fcb7edb499362ddb29d189462d7de4dea6e037f19eb93a48cc7fd426cdefba768c44f5e7c17b78ce3daa121f85dac855e26f192b1b7c2d3d0697db84516e6989761e0812b90a8bb836e46be44d414882aa0d79353e0679db04678c52c2b76664a92bc3cac45308f27da56bdf4dd3775b3d7d87aaf0df7bb2877fe24c9cc6adeb6cf2e363929b9d6a6293f257073ec6edea74a90a7f835fdaf6da7652d8e441231fa394ac11a1c9a208595438eb6a70c90e5ccdf62fc4ec59a9ef89865865597da1457dd499eb968bfcf7d6c77be6ba45a33ee972875725edb86ebb3ddd9ad1e1d0d9509fe9bb54f71d0ad5a3e787ebf8775be97779aeefb2fab0ef647d0ff7861e78069ffffe2d10f98f764a168dfa1e17db7bfbc3bf07be617786f80b433bd46eb4db56e744bb69a21d4afb513dfb51e363b46b7f23f56592db3a5592cfda0e5fe238c019e994574931b03efc7485ddd4ebb2c809311ada18475440a3fa89a70aae74f6e0fa774ad68cfa1e15dbfb37cda8f15dc340962d2e97ba6f2a59334e46e4a0094bd68cfa3ac557fc08b86f2175f8eead1189f4c11a7753f15b0bf288eafb57dffbf8fa4f09618c32c2ef87940bb3533cb70ed56ddd447543b0c29f90db58b0c1ef664637d47b9f13551d5551b5b51f9df2bfb6d8f8bb1f42af763f66b6411c5817a9ae0c2bc9fe02ec54b4453fe422e5ffc8c960b4f16f85bf03d3a1e65e850dd8ca74a86b103ad4b583fa1f3314b64ef94ca79c873f2eb6996b4150fffef10df1dff6fc4f2dd89e5354a7a236a459bc3eba286a41a2d488605fbed48e88c5aa8f0a5d3f34abd0d0566b7cde19e26ffc47a40df13a9f2cf7baa9f49a0e5e4b34c87dc47fcd3369b7925cd6a9a7cd266c5a907ea81199bfcd3864ad015b231df27d75b5476d863cf1fa3af580d0011c5421065ad8402a420fcaf0e20af4e20a2b1b7ce24511a584c409e083f0c12d15561845cb1692f8724612520b52a08238f0828ce8450ea67c91822a53b7f5050d1e131b7d007b7cce0d554061c4831042a88023a47831052fd658c2aca88a9da2fcae47dd5f1e7ff82044637b755b5e70f98e6356e112a1c27f5254dba917c67bee5e0ca1baa3eae75cb1c5ba2d2f623b97951531d0e8f2c4136014c1055564a305d10b2b0002172da650816209aa98438d510640a8b10955ac02e3899d8a5d56e36ffcf86f7efc99ee79aa1869a724a7c6dfc8cd30b6f82cb9d7a967842a24c18616b610c60cbca052408dbfc518dffbb7f5097676c4987347fe3ea64386285be496e45420ffac53fc98fcf91dfffd5f8f4d6e766a8c4dfed67771afaef73c55ff9c3b3c617e4997e4d44881de43caef93db042b30644045962378d9c216b448c0047aa78a285827088309a31de0b0397cef3da773ee93a9dbea02892e8cd89ad8f91c27553ca10a30a0881103d60d5594a030e2004860fd400d15bc9184138078c1babc480289458018de17a27cea737efbb77a810e9ac082116a24010754400017de17a2fcffe7d02754931ab5fb9db84406dfb9ad533d629c5182f7de7bfb46116f0c4109507841175cf891c58b2c566cd911c0cbb03d1b1300f660cb4929c9a993ae732f0d2a2aff60ebbaad2c57aa8a3ff590cbf9baad2cac7afa41edfe757771aadb8a810de083f0098102066d7ce106464879a2470c199c516109541042f81b8782df6d42663ac50fe5d6cd9a85136810852960410c271ca1823f9b87a7c2dfaaa8b042196c51a1122a0821ed94ecd4b734678d1fbc2aa7186ccfae4e8783b7675b1deef95d20cbb39db289dff568e1b066d4fd940dd876dbb664804485a9dbea620af6c1f61e3e3feaa663c8cd746aa5c416d438c2184856c0e20dd5fbd93c07a8ef372fa2a8ef6fba675b2c162b8aea7d4eca7b56f568e754c9ce06c6b69bf74c156f33adc3cfc38a4dabdb8a011535a66e2b06556ab731057a26f8cf4e6dc57679b8d90fd4ff3ab55ef99bc79f0b356b44fced0d107bdcdc1186adebd67d425c87baeb6a44f6cb97972d90a1ae2f87fa68ffda0c79bd2da7fbb8c75034842be040086bb4a186116ce81eee76eaaaba1fbb255620a2f882f5043688c06a436580ba9ff2e99ea7da5f09e4b8bb3bbf3b77f73f5f82929cd775c88d962cb4a12487b528d9a1c9a2083050b2c3feeba5dba3eacbb4e3a06da5dc4bb7478f7629a75daaf22f23219105e6e56fdbc3c82ede4393a3eb242268baf652d383c2f15a72d0b6d2ad97a84d6b2daed3585ca7afb46a97da71d21ed5aeb33c23ca57501f53f3324ff3fc38ba898aa1ddbf0ced50b4dbaeb495a41a1a2f354320d5d4b0bad418d51825d554a9a9e285860b2bb57b465bde00824a47cd514d0d8a0b0af5fd8de43d3872d8d8d04de9d04173e4c881833e1c3832d447a161540d8dcfcf57f8ca96e62e1b23fdbecc3397dfd3af6acaccf3d19f38cac6c6f4f4bc8526078e23dec2e5684a149aafa1a829351f858673502250b4a686721727abdaadf5d13d43bb2943bb2d86762818daa536da7dff89ebd67af13204305ab0822764a10a55aab750a982174a60852f2ae96968814214ac2f88a1bafa0b6eb8806504eb052a6c0a53a270298212c850adeb985e7b47aae962f4c6184955dc8b95c722e25d21e261c9011654ad8597da3da3a4da2d532ab5956887ba68879ab4fb2a69ab55fb53ad96ebec9648bb790469b771719dad8f76281f2e905c67abd3ee6b1699966101b639dd6bd59aafd1822387962c3970e4e067c575fa713ce6232f333433333535396a6a70d4d4e8a0a199a153a2ccfc14d4cdd77ccd378dcd8dd4a1e36de6aff7e0a0385ec7958362bf2a1425a2861241f3a5c75e154cfb67a49dfeb14e30ef5ebebdb497a46e49d7323dcbf5eb5876e6ec2eee48efa7d050e742f35166647e555368a81fbd0cf7acf09195a3da2ff31d1f6da95db39276b6b8d25ebca7b1b84effdc508da5f663d44bb35a8636166635966da2363e622cec650babfadf95c6b43f7dd296da49b58ff6c87b6866b8a09e07d761241c315d6a7e5d677b1a9a5fd7317d149ff9759dec7b86aeeb608fd1cc9f79ad86aeeb5c4ff3271c745da7f4350f4384a23bdfffac780f0eca83ebf0d7c4d06eb9547e18da4d9a8d768b54f94fb4db66e8ba8e8976dba5f26bb44365b4dba4ca8f3d2bb57fc77b4ab49b17edb6b9237726a4937fd66b15d3315ac036075befb97e1ff392c4aa8b63d51e3d2caec39a465b95fdc7f21eff2b282b5b15a3da737beece25cb91f7ac8a0bd2ebf2b06469a44d7223ef995224a39a3fb194322c57b2d2152b3f8528b352c57ba6c88f12277523d7e997d4abb81bb5966a54fb9d0bdd77f9efe3f397286d493bd2751daed2485dacd4feaeb5d4feaee23ddb446dee5c508f55fbbbef871c175be75978558f7a58aa8a5bdca58b8c49dccac25eb668611db5da88cb16d7e9c848fdb0d47e58bca7b5d0c1129eb002257aa0ea7f59bcc7510006316091051565a8fa9f16ef612a2638c2172f5f8ca0ea7f2defa161074fb0f1858a19aafeb7c57bb8065f68c2880b4cb0546da59fad780f11abb0efd2f7f53d5abc277e7f93ac7f08efc168035ca783c02cef29511efad9c87b2e8a817eae32a911222205c275fabb9f73591ffdcea5f6bbbbf777b1f14b92abd7db194378cf62f3fa8eadd4a5c2aaeb4f306fdadf52e9b1cdb4cf7efbd3776c54f7270743594b978d72162aac3a6994b16cfb3c506115cc97e677bbe5bb6d61dffda89b7db753f753de43c4c3efc370bc853b71ccc5c43112c75daedf9f43b88e3f0faea3fdfea661948d4a94ab34ed5094adb80ed3ee2b7fc75bf853a989bdffcecce6fbff98f35dd7fb37c07b30ec53aec38fd197b4db2d95bffb48bb6da12eba41dafda8fcdd365de7d16ea732ecab086c73ba6ef1fb77ebe5df777bf468b7b44bd5a5dd7aa9ce5e6c1d5f39aadd7af192e43d5cb8202175e9d2f116ef21fa2219953f5ff11e22ede343993df6dd6e91b0f4d777db8272befcee47edf88a891211a1459a729d2622227ec75732fad8965689a2ae6d699974933fb2443ad775ba9d2eadba5f0eb02da2befd4119dff4fb9fcdbf4a58a6cd3ccdef4f379d36189998b73162d50c4d0d0e1d2f85ca54e578944ba1b2a3b2a13a727033284e06470d0d879ae1722c0dfc32dc94576969c0321d36374bc30e1e384b83493b6d30313ad8bd0ad1f64aefbdd52cf8efb32772acc56a35eb14c5e7cb2772fff7441925ea24d7f12c4d76b6cb846da527f2ad8f5cc789f88868b9ca150ca69122a4449cf49ce5f4adcc5957ab59ac56b673256549ca72bd6c246cfb5561dff515adc45736d377bb9de89be83cd2328ac2e8d6552eba4d8a3a2a9251493a5da77f5591aeead1751d3fadb84b3fc036a7e3a42923fcfdf79ef7fb91835c147f5c14971c11cd4f8e08c717c9a8a450d1542f3e1556c52aef3d7c4f349f0aabe613c1d2b5f0a9b00a7a894606a9f4545855a2a14452a8682a294639a8689e0aab88b6e861e6699e080725aaa1545845e33fe32f438918c975fc6328155695fc616813d7f1bf289111d7f1df28155641ff137d2213a5c2aa498934ca5788d675fc334a8555d11fa35cc5758e66fcb8c12bdc7a47f11769476e52f5d2778c54a245322af8172d9251bd5f95fcf9ab9adf7196c9492e72907bdcbb0ef3cc8a5bcaa4ea3fbd677bdfa1baaf5d8ab2b109c18fbf5f32bd5fd7532234ecbb54c2281157f6efd77b324a44e9f4fceb3d5332cac616c4556e514dc99ec8c800aa1325023351223219bd442fdea3d1299a46a317d7f1cfe8942c93cf5b24ed1ea353308c5b4c3b54894e297d94f9534a74b5b88effa3d1cb45a75c1f655222deaf6aca45d775fa398bebf837ed248bb2b109c5efe72cdbb6b4c0d258b6c46d6981a5c678c458b0780f51142f9251cdd27f69a250f34bdb563bc642646400d5f5c6912a8a13b1ae9343920a0b65637b5f9b761cf49eb2b1e9d0dfc92dbcc5c65b6c9dbc12bd2c17c6d2b5935be416ef612caee33fe7b6a150b5935baafffa7f65c92b728bbcb26dd42e1e452ff1a886da4556c41259300b179865a6760f091a21956af7aa3c2daf0aac9db7bab8156f75925bd9e225a9afb07a0b96ea054bc75e7698d5cd6eb9ec74b33a67d938061bd7fe8eb1c8a4ba3214cd15ec53172cc70caa288ef470a2b818747436739323656a504569563f15962a3fa91c87ca71542e009553a2f8460650b514231faa28ee854525aadaa8555d52758caa75a89aaa7a00aaa644f08d0c1017072951a4ca6847d54fc5550e55aea99c46e53b540e009553227f2303b43fd894e87d918c4aca8ef1a3380ac24837a744460650f91b19404524e3745d87bf484665640055e4d7c2de7b8cb6f6f752a83c4a255f0a954d151ffbfde93d528c6c504999792a3f54a5a792a9a45079d5f5f3f751de23c5e826d34ea6df9e4a8e0afbfd4d8a514a2585ca0f15cc4ba1b2a392792a2955cc5341a9b69742654715532ab834f04ba1f2aab734f0ef1e807f5f86332d0dfc319cb634f0c370a7a5817fe3b63d00ff89a3591af84ddcccd2c0af71354b037fc6e1581af8310eb506e02f717269e0bfb86c69e09fdcdc032c0dfc91d3b134f043ee6669e07fdc8ea581df391e4b037f73384b037f910c771a587c4f4566719062b4a3f2a7f254ed0fbedf97f32ac1dfcf209da6d30613e3bf3fb338183d9ac5c128ab591c8c66702c0e4637a8c5c12827c7e260d443d51465b33818cd9bc5c168dbb13818a1782c0e468fb33818a554fdfbbb383cbadae2e074d3b138347dd7e1df2f7adc48d8e674f008065b07b1c02dda47792d2dd747d92190f1852c4636a8de1345c1e23d94c8a91139a8344a44c48a9428be1139a82e4ab4d2a20c23202512c194308cbae8c1175f544446e4a07a94a8280a5020c10a162e4da8fc3d7c29543255dcf133a9f61bcda8ae08238f2fbd2b4810c7bf99c731039fe608e7638e5e9547dfb527daa207eee91361cf3d91cd63ef5bb551afe3b1fe514fc4aafd2dd764f89c9a9b27daa20799af79a2967922f94446332affec65a9ed499e25c79b9e284bed4faa9d4389b497813ea5441b47897c30ec6d28d16be9a0440f4589fca9b77050a29d99791a4af48efc0887be2a30a82f51a2c783beb78352e9a19a7f7db7b5ae79a3e36d625ec3f149b54b0f73a58454fbe7159abfae202d920d25d25e0735e23afd35948807d7e997a14401b36adf4dd8d27ece6d43a1fe53a99daab5b4eb33fa032bd1f82696ca7e4507d32dfadb0bf65bea7b0c071c3e0c68c0039ae77a1b50d8f33b877d733b32dfcd6ecea0dcb4226aa46e0312a102695f547da794eef04dfd26687a4d3614f88693cff7497ddab90e6ea9707e77c355dcdd692731eff6d890081cd0c9bfdd1ba9dbe01bfc19a2d1f2747a7fb8254eb8a5c6efeefeeeae36f57797c33c77770e1d1ffbe45cc72c1f7e17f370fee69b7f1773826f7ae73a494f90da68cf1f7fc7c77b9ac4bc4c4dcdcfb8fbc36fa46ea3a5845be096ca8f617d72679a8f49aaa132b4e9109441e1e8079225771aea3e439d764c87607769785dd04bc54c9ac66d35994cdac91f83e14aaf83c3f13938d46f9cf61e1fe3186b2423aef37c7af36ddbe1a179b2d21bf11ecec259defbc8962765df652f4d2693e984bd8976f34ddf65b4fb3a2914f8862ccb7ebdc7f4d8a3306a7a8c9951d8458760855d4c2693491b82d18602cf201fbe89ebba4b95d466bef6716bf25e525292fcf8da77a68f7f61d4448760d75deaf5a647e1f8a909c11e48a325ac754cff6e9eab98fe999ee9b98a89761acd68d75d1a0a7c0356a20d85eb1be9faa805b9e096ca524ad95068c9f40e27c8b6c25d2a764a35cfe9bbecf7b18ccba9a89bf9cc4defb62a21b3842cdd90d8175596bf996408f33083dcd89bb84b8514eb20e4a740d963d78a4846c96ed42e5ef0cdf8d73312dfc07f71152410e42ed877f3a5a41d77a9f14bff8cd16e4a4925bc24d795a809832f29d7c17c81fdf571087cced23cd7cb6724d9ddc17cbc7e9a3421525ecf6c5c25187ac1c0c04cd28e4b5a90525bc130883152951f4d9cf6cec9fce36236aef43e2e27b79c85d9e0c9d83533ee86d9389d6837f4deeb2c6336bee08fcf6cbc57b38f5fe22f6ae965b818ce747d7ced8b1a3f6690d9e01b98d9e019e2979eb394fe69414adca54a66a3a8575ac31c81bd8d6fc07edfb4476fa679b29f1042f87ea881644338e783f2e7bf6e0836842f8728679816c429179df68ac85fca7ffeb24705babea87ae91fdfc0df34a7ca1205eabf4a5a3bedba5e7c4349f65f178d3c033bb5b97efe73dab9c37f7c833f94d2e747aea40931bdd3cb147986e926d3d484bc8c7b54b186b1bd36e7eed3ce2dcf00b9071f3bcd44be01ce89b196fdf20dfd5c81bc6baebe83a49167c8de7fd68cda7ce41be43fe65afaf9d810bf92c79ff35b0b3221b7d1dddd5f8d90469ee1cd8cb5243ecadeaf54ec8445026ca8d2ef02c13697afb3373c9ea1c4f93fbec1c7cef0fe7de7a3bed7cd990ee518965dd775ade9bab24c26337dbf4fb3f6d0a4d1ae6bd6f9952a43bba1be3af81d64082184d0bbad765c1135ff0e7cee772d6a177fa8814c5f5421d7f910af173394bfc337f44bb7822f0ad4a6eff835f00ddf657ea5c6f78b7619e5ab9f9919be493677cdb96dbf40b49faef31e36ed2edad9203fd2ccc40ce9873bf443fe1dbe013e53d85d1fe5a609e1871408bee94fda0e590d3c839ca13494e66528fc78d11a99ae315df4356e1a3a439bcac45086d951c5326e2b8419cc38084dcb33444d48c3f7718dc37e6e3d71db73c97b76de4c2d90aefb3f9a074613d2d8ef780f5f0d1ff6dda3ddd0755dd765a240f0b3bfbee32ad6590d128676af764351870c5128107cf9fcd963ccccf22fa884c33abbb6ebfafe0b0ec9680d3c033ffc8beb6ca84c6de6cb8fcf83f734719df728d47beffa98bd2a957035fb4e09d7d950a50f3ed1a909c9a4b64356b36f3227ed9470f57a8d7636d41af886ec7aece5affca80591576a895b082384104e496be019e2cc7932ac230750d4ac5ebfa582d1463d40dd16185a543090a858e5772b153bfd681e98cfbed37e1fd3381bea7a0f8eefb6bafba91e3bcd63faadb938d33367eabf2e79c94b5ef27a1fbf86ba8baeebbabe655e62da0e311890f625a65dd7d29f68d7557b9f66f9ccccb4f4987cc940da979ebf1b7ab9559ef22fbee45ff3310ea8bfa84aaef3ead5f42ca78fcb79693b74bdcd13837d67faeb9a9f3d97aeef4c547b8cb3ebbaaeeb9beb327a7a7ed62050a217e53a193ad4557b4c529bd2633ff925ede4b3b603bfc4fe927fd19601cacc4fec4d9c491372bda440f2fbb50bc366a8cc755d9794c9b0eb31f957694bc5346eab949ac6498d932ffb32fde4a473a87f1c8e875ccd478ee62f6e7e0c97bd8f33b7d5c499a6f6ccccbf40f2b5c74c8f75a6713d6ac66d75262e7f9887f9f51e98dfbc073e0cc5b49faf5120a941e07a4c1ba2c9c73813539bd2f34fece7332703946d7ed69db2477138b4afe136d7d134dacddf38ec4ff3a326841fc8443baed86b0fb51db2ca4c3b27ab8abdf6d9d6ec9f1624b3522f6e612dc55aea4450659b3a1254c9c95f6d08acf2d5d210ac5e7416bd95a9639e90f2991963e687fc10c20ae9ee771c06966a80ba2d30dc10c38a0c03a90aa06e2b0c2d5272339d5af9d37b629ee625edb2ed3beca7fc1829fd676887aa523e8d34bd36d4a79f89e1d6693704b79349cbe810ac5e9a9c0c50368c76ab5a8a17fd6e6ea85347286c20a50ea06e8b0c2e153bedef7777f7671c5017dfbfe8c5d3e9dfc3de63271ae4b5e31a65f7aae921c0cec45f9efd09c34e18769d3ee3804aa7d74ea7ebb3d367d7af1604a3415eb1aea802655ffad57628fde97dfa5ffb6e7b1e82b559e69969580776faebf969b8f519198eb3bfba2113c3d0a1ae58e9bb8d0e753dd1e737711a9dd7f79738678267b8e8e424edead6a9b7da5a4e81f5833fd4b539ac6b6afae5baadb38eebec8ff023571307144454e36f951fe435aea6c3aacada31ed5eedb6ba222a1aa246534744e537d1e8566c65aef3ea3533d1d848cd53856f880e45edfa87ba9a689057864094ad7bd5f4fb6ba24b3bb752e16b1183162288b146ada16e4b0c2cd58a30922ae69a690c27c4a842c53a8b5a10d3b366e2662084af438628db5057c96f7a93f6f0bb21584f6ffa6ea89f260428d2f7590ccccfbccc77a8ead877435dfd67c37ccccf97e136ef91f9f833d7cf131dea9abd097ee965b8cd75e2c770eb3a30dcc6adeb741a1d8235a39d2ad1aedbb8a6a440fcf1e13b137c03d6748be0cad4f309ccbfb7998dc9982fbfbfc78ee4acd46ea8eba47072d9185bf7e387f7a05ca77fa27e88b101bd87b543d5ac765c3b67826790f0fb3f27d563a779a44351e1b7900ddab6a5a54aed50b57f686940f36ceb0b346a3f079a87d67e540daa50fb6fb63b9433c133c06f4dd2e5193aaf52f91ba9534ce4d5479d099e81dfc7df1b18d634d8b0788ff9f830a07bae087fc77be6ef773fe6dc361e2e6ea8759ab860cb76cb44c96ddb76600a8b54b75bfc1bd03cff807e146adbbc291646df3ecdc3ccd87ad38ea8874e390f9d722adbabdd9ac180e66171bf2cf4f2bceffa648319ea498badfb9999e9ae9a1909677decafead6d578ecb8b1d1910385a38666462606663b99b40c2b5d5346f8bcfd7d7aceed503d4ed7a78b78d5dd6d605dd360ebc7bafdbd6733047a5dda11d1d7a9ed1ebb7b17d86e8f3fffdc9e7ea6db76f2e6d6758a9a3580edf2f477cbd82e9dcb2c64773bf7b78f3e9eed364184f0238c117efc0714e5cf2723a4435dadc040d6471a70693723b73bbf831fe983cf74c81952a15787bcf2bf20d8646143e5a47a3c9808e4e04aa7b676877aeffffc1d3eee5eed2bf03d98089861a5535b75c80005fe426e47181e7cefbd9f11727d95bb60bfb4db3a9ecccdc3b4d301bf8b1f7b62d9fab3e6617fd80dbdcabf4348cd0df5b3e79a32d5667cc54e18b6b4cba9fbb4253fa4dd7b08b97d9cacaea4dd7653f7eb7c0fe9ee0843bf5ee7df8fdc6560d80235d9e978a8bb296cfee0e2c7fb31b36d0a524a273629bb468a5a1f30c76a368173880971206ce702bef9d717fffb268cf1654ec54c797cef534d7c4e6a6747ce12b7f170f439a9b713fb6971e4d06b70d306b67395b0cc8624b639b70d85fa4fa5767666b06fa2c18fb5a1f84a0aaed48eb534172dacd6dacbfaf0af41c2c6df5caee6129b0ba45c7cb6172d57bc78020dbe521f6b05935758964b933a54df773b75952c97fadee9bb25c2a2a175d6588ffae4fb9cffe689df80e5f20410aee37fa2ddce3f44413837b9858dc4b0f133125cb02084a182c985358e2968c51821844d83d40c94d46f5826e7eac08de11c62be29ceef1c465284104208638cb1b57029601be3fbd831c648379c09df9330d3a2c9244b30662fb6a165324eac74c519dfc7b198456dc857a805e9df6650574b184008638410a25038383f4e483f7e58f1f0a792accacc748698f425c5f894a06a8c0bdfdcb4293c1934cf24ea2b6881bde5c74e09cb341caed03214ea3f95dad9f9f18307171c1de17085a4ab84f5b06283ffe6b66ddb56372c7ae0a0c20d2e7acc9744c451e5d7dcd83ab6d2ad2681563ddaafa4b3d4f7cdb5de03416580b271e92c5b6cefbb59b3add5a576dde222012fc1d6adcee231706205b3b3bca4e7456bc2ee2d15462a3553c66f33db06a1bff70cdf7b7e30767cdcdcfdaaec8bffdea77a7439efbd4f2bc9e9baeb2327477d30a59c13cc8842e1e0fc581ffe2726fcd837a1122284b00991f319949b20faf3e3f7eff97b8fbef6351e7419a06cad4306a3ad3fc8eb6e77662b736e2dfb2a61d90f25e6dc3614ea3f95dad9e101cbd1d13b0126e755c232253f94c83014ea3f95dad9e1a17574f4a38a1092de8331c6182184d0bb80ef290121640821841c616cd88358852b114208218430c6185b0cf89e17fb20ed80a8f09f125485f0bd9d6f6e536a5540f9177c4e5f6708fd8a07a97837333927285d39af4aa227218c4b72b84408218431c6d830f0337e5488cab0370d4526767ed4126c3d968af114e193f856b35f1610c228e563524a09218c10c28e634895113fe73ff5de6f9fc2f23929c8b586c57c4287fa9cd4ec3263bc4a58a6c52a5028140a85c280175cb8bcbde2462bbe2550a918a41e7c2f87575fa75edd1cef26bc216fc1d3167a0701c6ef606018e209aafcb84a58a6e170c5a6d16d43a1fe53a99d9d1f3f6ab7f190c5d1110e30466650f170e02a18bf2d620a6ed3861a63125b8c198642fda7523b3bb5dbc0d8376d90e192061b363c13c0dd2d49c96d14a56b1a790961a45a78c97b744ff6effd54f2c3ca9ca5120aa98d4d4af550f223d5a91e3ff84b102cb26f6d084cc5c2e85519f5a175b68071bf3a290cccb7e447d2eca80396fcf7917b36fdbba52e1ad5a6e3778b468dcf5a6a9ca91115570b32b9bbb99fb79b95b95f47c9453ae9c6decd749327b216d692c5966d5654f9dd4c75de02a99648994ba7fc6178b0b1cfd48eb7cc6ce3d602b76851c6d3c29257cc4dd2f7de7bbf6343f768ffaee391091f5ac7ffbdc7c7753cd2196e93d60de6a1b863436d6d389243750a522347d8b24e2149a4f718c6f779a5d66ecb48855f217d9d8aa72f5fbec49ae4abd911073ba776faee4d5da9c2873f17c87cf8d702b99ae0a4601fa5098bc562a9b6c74e1c8d69478500d880c641ad421aa04de36266aaf02fee89aca59ace6688acf1658dffb4215bbdfe6944628d3468bfd41285eb235eb41b419049dffa801f0f00bfb520f1113db8331b2ab1336b4a8a5f9d6b4668e42394514a0823e4f266d6acfa9e034630d0456bd45784548bb8d4c7aa8f3263a9f09be3209cea14b32a438ee93c7df9f2a56e6ff3753de27baf07882159dfc3627b4078cfdc5071bb542254f91d3b51bde7dc3614aa4b57485b0b958d9febca10f6a85d57c9b6f81e1d9215ca2f5fbe5418e11329d7d8bf4a3927d8e0bfb995b66b437d7d6f837d33e7464b169c9043254208218431c6d855606127be9d0f3e190f9f39dbe926ecbcb932fb6d3b63ececec9b4a6e7278c084154b6e8eaac0669cf18aa5884588c4062156ba3e555faa012fd8b225db1eeb65398a314208fb06106584bc66a63d8cdf8496ed941e0f5b95bfe33d5869a1111f8ff05dfda290aaf07af89bf7646f7af83bcd13e70f2b366c0afec2c8ed6cca062213f75aeaed64dcd6e4e220fc51618c153c60a2c2087fd4571457b19f0b202fa4ddc78f3fbd67539292e29a5296b85d1d29879812c21865a4b21d09d893ef99b5201393f2d118c5162356ba2285f1e1fb380633085fbe479f94317e7f8474b9ee5cec6e24c5bf4aa91ae30bb618bbb46d28d4bf8f0cb66da572a001052f52f525f90ff66866706e32a726a844aa97ca73410b3aa70c8dc848000424531500303824148a0664326154730f14800f91b45050a28a446294c328a59031c618434400004404404468100050601081a7da49c58000c360afb6c53449140e65218f7fcd96bba73dd71927aa0f36ac964416ae64a9cff3358c229ae7d089dc9084c774a1a69875f62e77b03c4a7ed58515d8ea44af9ef7b569e45c73133946e329d8926e34b08bcba4df3afc4d830f580eee21fe841a88d1f7511789d5ed3a5ad0270ffb5520a868db4a78556b513221039ba42fb40f870a1848c72c21f189c74fa1d607ed42209c0ea08919d9013f3c9c1d8754c03b76f98604048c80d3870cf8459ca4a3aaea250ecb0000dc50e64a0ab0bbf9bce59839eca75ba67cba119497c1dccca35bb3d1802b7b5a96b90a26ec1feee24928915ccdd9236243f2f77b92f76ce9c13eedef16bb44da29ef84dd2a4696e46043302860f76dee352c4c09a5b89df1eb6c155bb43dd127ffc3e03164a1086b6cae86de3737dde5a9bd6ff29cd5bdd945bf5a510f09dd8c7953fb5d81718fba8df777633a54ff654c5819ae1f2d85c10a6f1bbcaae4756530d2ccaddec4b0c518b8e8d63d97215ae0244a8b9acb784033d07458797ff4f6a88526dc963fe7a28e8c3f9320e1a59f3803abd37a00a3cd5d51d276927626a62ed0817790bb7b887bd55c0ac660d62c4dc8d2c5f92600c078c095867a0501087c08106a15ff9ddc516fbb94edf73b7e2631ee5c8e22d7db007610cb6fc9ec02ce9d0471f21aaf259c0ecbd7f6e6f1fa240c45dee3a48643c063e82a1e1bebd079234ffec6c7e97c29b363bf10d73a4e9f6e5b8a9f9e4c777a8c962a692928ca3eddab99a16c6a0e23f1c94a31d435f0ef151d85326f6b243f02c986d8abd63dd45e2e87cac05a63d5da2d8f222829ff23575fc0c077d8ce1ad64f76ccb8351979dba60f5c63b8cdb236e37e103fd3366504396ffefce069e7c04ba319c335440363623ea92dda608a4eea2db1b87a5857ba5b3dd0f6466f025b7eef5758936d2be250e795363ef5c93c1925944e4e60654750c2bba5bac71a6fc2dc20943b886aaf6829a13001d7f59b44f51ba77dcfb6b4869ff249a7722dff2f13f7a5c178ec25ea0c846c162fb3c4039d573021b682319cb4f1b98c74d29b8af9627dabadcb31684e3fa3317dda073a4a80d75dce954b6d9315c631368b43f01acd6513aa9f9e23da457bbdc3a8828595e4e92932b8b3c7b1bdb0ecb46e03bc4a0ab49c1e909284a59bb5d447e6684c3cff85990d2b481c0e39bc5e63273c9e4125ffa4d6b660add259e7161c9b66f85b665091c1cf280d477949139392f399db719cb0343966314c7331e4565a892fe6082476e47a03f9fc0967d6f679947abb956de044f9626317d2a0155ff4b3f1ca1b9fddd23acc405f0a456d246852aafdb5ab4144477dfd0d2ba23300e6704b723f5c3cd146f41447b24a93ae98b0f8751563c3cc6ea4e216bdfbe9b7356b5c50c8837da805e618a57e72a065be041d2d325c9b9320d112b904ce4fe4588c701f4d0cd742001c06b64ee2c35a023ebfad23e70c7b5bdf3beb44b0d406fe9e33bd2457cf09d9e3f6055808ef3a8a9eb3df71a116888ab6274865946f0f4291b80c7f1508ce3988cd3c0d90d5a24e5eefcb3e9b0358a09548bae89d07db60fffb62444c3c14c4c4d7e67aaf1826c62fced19a703e7732a1fd8d033cbc2f3aa199df6345ef53f6693398b319d98fb2f720512557d9f71a03fed2c575e48fa6601c562ead4317b312fa15b2021f90d646e96e8eb44e5e68343016e64ad70cd1108ec7060c8442e5b04f74c3e692c60d7b567e5c0b994653b857fbf8a3b70d9efab21f7f6b2ad73b6410f11463818cd887182bc94809b5b642e935d3c174b186b8285bb1ca684eb6c7b3fee157b63430cd3440a35a86ef399771303bd53191a1d0ed6b4b25d86c11431e622151e3571d975307dfd12e67d7037476f1c3b1c992442d57776cdc11024f4d6bef078d183ba73b292b4f59f63d38f797248da17ac2b9c1af5fe8b70b09084f862e51a5f83a3a8936b2647b9aa679ac306527360f342287b2261e4f28fcd2a40d9f06c1d86a83cb974933c58114269d9c351ba62336d827bb52454cba87c14e9c13be10d9d69438c6caf29c836300deffbca45099dceff7b0c372ea6b8de2a03265bc8392ba72d54acddc42444064abccd2296d35acb0a4ded2d0b6768871bfe90fd613b75b16f812523c9f43f212435a66479b3a8b9e1a497099b2a3f54831c2acb6ebf582a4b2a0560a715a0cb9ad6a8135f101d976c7410967584939ae15d590ed232c1a7e169cd0f7dd19c67fd1c3aafea7c42d3b449b6d35f1fb399218b00138ee102fbb97c7f8ea0b119690872266333e07404a76f4cd01522e91b46db3dd6f71fece808d915d2609af5c493a119ce3ea8366ca4b48818b8cedd472856018992ccc9bccc5bc0efeac43752a210cb273cb009bb32c4b724752814b95aa4e50da6ae9d12afa919d37e4fe0d3f11824f03709ddfc8e1dacf465d91679105eddee515e66c53c66308737b71ec8e8a1eb7fd16cdbc420c2f9004f98dccbd027849a4c560fde3c20c3e38ddde4998c801e2b38019760df6ce2e6639e7e4bda7cc5b94bc0ac076307ef0f9769e39bf0ff341e2e2c8c1a4cfa8dcec2431014b8d2e0905ee25e1b481338a93b6e3349f4c7f14b4bb71c153746485f5f5e91c910a81bb005fbf7f742bb28077d2276b03309761b28cb48f4cae2b0e52c751a8eec4392503fc08d3300339425fcc73de38d6e8d24a6ea2016767e3586d70ecb9e489d2b044bc8a338f6a9beaaa30e92836a7bab2fc6a55aa312d80b66b949d4db213b355a02e178921aa2d89447e9147467b32435bc0b88caab2486466718d494112641436dd7a6492203e192ba57c5519d85629928f1952dc2bafbd5ff21606e375b1d1c5cb892a17656bb7282f4d716418edca9439460bd6d8262ea3ec7c55dadfd75aae17b4884e2151dd85469d6099546b7d824e15160052ffed26abec69743d2324c0cfdff1024c911416033eba4321a4ee6006a3188e5c04bfdc30fd129b2e76c4652d5cdb56b70c330bab7d3f51ed74b68c3cee6630cba40c61e23c705dcea9bd778950a58114ab7dfc455f2b564e9a40ee8ee1d96570b35ce9b901ab1c855f4d67c7ddbd81420ecaad9110563e91fbbcc32fc8aa1bd1425a8efd9e652b1cc952d0e6241e56781074d165da7af3875f859b1c406c1d6ef9de8bb4814d386d25550871a0e86e1d4e0d61bb143afaad06aa64eeb575f975e2b7a9820b95a1088fcd8cea8dc309f17c9f6e5442e0d4479a5257bceb265292e7373fd92c56304539007eae76a49241c22c3d8a19a62224a30485d00b7c399712c57d2642b4620205cc1dad5eaf8519e54bb28d4b503295b9692cfdd3902746a831bfc2e8961e7dea4c164ff2b6ecccc95c4886a7aeeb163940b2e438ce5e44649efc8163cd0e0ffd3d54095e50304488d2791f76b94a3095286e2ca28c597a916448b61d35d393e97509821018ea82f0d6d196e1dbc32d62f706de8c1ca8e9a4f588feb2c9aec1a085da7a7bc3fa4d9fe4129f471b6d1f3c6b68105de69b0cddc1a61deb91ade89e527566b721116a600eb27096c1e35cf6a3d54db7e3dafd3a4d02dea49c9883c2655a09b55c11552e553134da0afd411e116a8f4d02795eb6e71aa2662cb243b9e84a2f2ad065a19a8b175ad8fd71a178928da7f561d0157a460056402b7afd4126cdc50c2b362c250ab93b7b4c0966cf350976a84d953ce8fd8f98b9be798f5d613248b18e6162a641a5fb3d3535de434d532b0de2ca95368738868bcbe2700b3da60b53989b11ec45449de3e8b75c29e2da92f43dbbe8a6c08383affcd2ed6b5d05c233ce86ec306214bad65746d2c0a5e0bad64f70b24f63c0b1993f3d4174487035f6bcc612f488602eed2365c8091d088a3ff4644103b0fa5a24ee2305bd50a064ba9e356947d953e153ff7ee1df997756dd46e5bd4288016c99d9f2d2fdfaa53207a7c718e939a1b3ef292cafa72cb7a931da3a7197f738c9d227fa1729fb6a32a653c857fd51b447d684c204a7df9cc268e05a17159195bc1981b555e63832169f98fb2248d61ca385071fccc67d0f423708de0a4c1f34a6570b9490c161ef59d3890aadaff40533c43e04e98464c8f8e1e99894ad92b7dcc3c14d6d2494e37d355b71f538a2a274e1a558ffe4ce73cd5f42517142683257a66a8a288e28d35e7ce545044fb58f56d3805b01ed144d1f61eaaa8a96c03b0aaf28d6774b65ca08d4d713ee13d0fdc23b9eb41c07b9bab165d1596fcb29554693faafeee3901d226c14a7c4cf11844bd6bc805b245633f22b8ae93fabbbb8c0bd90b93caa766434a25eb2d74c05d6f875d51b64b1a17cc808082942217e601674439521c42137e805ffd13c00d3af4cdb7c3b5096e84fb7efa26759da57ebbbb03c12d9ba011bf34707795629b5ae68b54096ff38cbb04da04b0d652a29fb40146925fbb47a26da69f5d929823aa66ddeec8f5d7072ae919c07b39600f46f9b601d8750bba826f0110874212c889c79c98d9cd68ac03dd8bbd65e3bbe9954f4f501ded382e575c6ccb8493409096b3adda703ae629413b1b34b47af1a596fcac144c36ac676c149e8350d0cfd04c2bb82b40117f3dc41c4cd619dbf81776e10bab99aaff8d78b293ef07ec20dd413bf62291a094e8051b8b1c5ebcfd5b29813bf713216a059a67bfd3483a1441a60d1484d4825df1451a68e64fe2bba753509bc0014b6f711ad09acf4c2540d18031bf14442aab83a31dff3dbafc301f5c9ef86c1ea9c191c39628ecce57cc0ec676e128dbf11c180a1067b4c3e0d69cb357f55dd885b631c3ccd09810d76c83a0e4b575313f547e87806b31f8f60292a197d804f98212a698eb1067333b5d5955aa2f6883c84a9a8d8950b4140b4cc9c41132f5cb4f9a9823a517234c1f4477a095aaa923bb4d18722c637a447dd603958abbf63e5b5031af877d0f6b557ed197116802c6d466ecee6bffc68ec0cdde83627889c39b96b0e5cdfbbda56cd6b043d6d01df8f40094d0ea8b61e6fe355c1cd3e3ff640c10665e69627208461183dd5b16de954b9609e3ac0bcdab1205e64e3e13c7b950b7095d60fc576a37163153cd623462c06cd20ff193b991a33cf97f64393afe5219c0991dca8c7ea1e37ffec32173466ca6b2c366d61b10bb33afd8bba1b6da676eafeffa19a24c19614caa8dd26635cdf7fb4c460ce2557bd56444270e8fb24885f49f74d86eea54ff100f19ea3bdc69543d889ae9f56ba57d79703436db121ab4e93b37c2b14d2a0de05f176f4b9e5ff66f744c338e533d67c770cbed9a81bfae38f8c22dcb7249f688d0549f51b352117d8c9ac805f8137b056f300d8c450a3dbaac0932cc81d9aca2c13ffd624d3092513ec24eed5e5024a44a18fdee7dc0d59765c7de23de6b72f762188189360ae56064f2c683bbfa450598042a7f51801bdad1dcfa6ee5ff9b5f41a65d0b4ceb20a3fa8fc77747f239f518f3eb2c17568e4e2d2fae933b8858d388f3ec05526a64f7a36c5eb842a8f535c635ae2d87242d8e98457ed8f221dc005c292a571e38045ea0d3a80c0af29dc9c5524ebb4a6e745855375311494e12e796763e70361cdfbbccf29be5dccc452bae9a6b17d4a00d49d9f372a3c2381dae9f8dc168dd02ba8174250038ebd75c4651c39c62eca813bb4da32d2b61c1de95694efdd8a7c639669dd795f411b9292fa71a77c064b2935e29f2948e86cfd65bfa526f3f2d992a95a9699f7591f58d7394a8c8175c186400e5403ae7a2543676fdc8e4419f1bc04e83c40cbfe569b9d7a403623826c1f1577820d612f18f226ee38734529f262ca1b1ad59e566fbd727a7abf2563642bc0e8c78c363a6682ec3f1a1cec4062b891acd01150bf3bfdb480037eb91e875fe189be56ca964419eaeb5bcca10616728551a0a9666084c736def142e42366434ae59dc8b4fc9ec9c0ee1a53a32566ec2b9c335b8f5d5c22f2d328ebd44d222b682182a4ea7eb285b59dc1a2464e4114a7ef6c5630c4659db5671cd44f24012973f2ef826089da7d5d09419e92149b5e8d28e209ae22897bd9415a3f4429729e810a71a06360183c63ca8be2d280f341b3a87a5574b5bc59fc3c330000ff9fc89df75a6bf9aeb320642c88053968aa77331e343f7e533ac7f1f75e24fc95f9c0088685372c181dfd2303bae52d93db8ae2d4aa2fa4c38d20d55a944640b199915eaa6f65d4ad898517296ad7bf17ca1173cb1517a7317672db848c13c37ff1d7024036efc53491d7b6902b3592f8e5fb5b0f87202599722677875b2aa5151267bd6f9929d61b857bcb192432507575526b2e04dfd928f8ae256c715c1ca604259f415393396191d467025e61cb643e2bf8f56e3ca7aa6a3dec3a505a530c4bbe8b9f851c6f84679bcb9b939135fbc49e3cc70071165f6becdd561ca141d4b565ab8995f2b570012d36a0850311422317ab636d4f4777fb367237dab4bf4d8a4610c9422d4b590f8cac5cd7fb10e0cb5b60902204e966bf8332b5fc79de0d9fce62a67aecae23ff40940a43ca7a155e42b2092e015ae8127c89eca7132eae21b28db685cd12bdb1915b7db9fb135d8adef7ae506c1e42ff12eb5ce18447fc6910cdf9d36d2b72ab5b2928bb866e7ff909e42f15a52ebd2fd5c7ae85c87da0069f6770b60658510c78e06cf9d13bc7cad355d92c9dfba99d0d20729c04c5b9ac904b8d8ace99e70403a1ff968d50ba8cae8fd0a51b0d9d38f3ba2c583110835d1eae23a751a3bdd07a02a5bd8dd15529ed7c8f5c8a1429cea042290efcc3bb50929b874ad6853e4e610774d36e775e96e390c10f88540e43bcb6ee7d27ad93bf1d6630963110a0255126d2640f39a283b98ed22e07281822a084286c4b3ba0ea3c9ab6dac5d14fe183328ea4681d7beed44a7579b1655e91b418e932412cba1f8c2664c6a405223beb4a2b7985aad3d7c9d6330e935add0dee136d4eb780f5f66e4ee3db3e626112fc315184e0dad5485b83d87163e5bbffb0222eb3c2aad98b335b7a8e5657a968c4007558ab2e68cf2d71ca9932f050019f67722b077c93e663f89ef998d14f38c184077452b92ec317d989d20b998c17a5f712328b6d70db2e2ee67d3c05b61191e1d5ddd536b9f312e8e71809581c73cb1654dcf9c940502ca63ca88d28c1346016b253b222c8a438c404d23b19d8a9c189607ac4155a041c60d13d484c25a06144f6039b7636c9795c883dbb475c851f38500841ced6fa0cef4140a3974fcf057c048de68d956806511c824e4e53e722acc9cb1fa2755cf1e0eafb505fb19188082abd9d1cb64c3df06ba74f149859b2f69720d1573a79898f526cb016fce32f10c48d4d7cc5a2521412e5870f723bf3020460b3ce1256a8ea7447546cea2f9d8f78c99dfe3a94a01c16c43e5365dc7818d371be5dc79c2377a9344a99a16ff8143b1b33f0405d3bbbfb8974b96e62f07f4aebe76c4011840e76fb2d800214d9156e712040a298c5ddc70b2ff6581d968c388c73d74be02cca9f72a16051f745c29aa9aac48f709b8e461d96b76c06afa9937393966c00836989bc7207376a917170ff46034413b0021fb01b979a150d759c5b3ad643e5cc14c147e6f45df8bd8df6432c4cb0c9dd1e8dadfe5b724ce8b05673dc4bc20f7ebacee4dd23346c9876f71ed5247cc22f83b66ec4bc19b4b577344312626f446893f9a431dce0b854643cf16df104419fd3041b7bcc0770b5356acf53cc584cadba66425c03539075ef2883eca669357d98b0e79b79b2675c61ba2c3ee8e5e09e2de85c200eabf91283289bc46ee2559efc486a61369d1f2053589ccae1761c50eceb5866cb0fc85a2037054ac867a634e68da8e6988e1b323f4ea7dd8235ae25fc52e9968f87d1c72687a6672ce53f24a45a29828fa329f9f061910bd584b88709c1a3dd0bca501660368f962fb7c287853c2ab9a9c08d26a5e363f7765766a36f9843ae607e07b6df9898351737378bcf5ae30067e3ad11f1eebc18e6ba6425b95d3295b6d81f6519fc91316491d80148b5a9be06779c1d35087b30176d18e4ee55e61d89eb57867127cd14928813a49efe4eac82f1720e82f6972177b74df358eda6c940424cf712d6a66c695a1cb1d2f032f4cf0c48acb226968c2156a714899f5f442ac3bbbeff0eac7a1ace88355b00935c3baa4a18e86419fafe06c1cb7e2d597cd2dea717e67e4b64a03f1ca3b0df83959fdca1c7f609fa67a0f93d2e47b97713bbf4dacebbc71fd433aca908a3258d16cef28f30cd7516ed585e1474c71b14bd525b08c0464f3e8e9fa9f90a472b43ff03b9e125006178ffb8bb1d7f0e49fa9f2aa57e79a4229cfb684f590b4fd30c447dfdf5024df6fb7b37f91f24b372c3a7d7604516223cafc536548f09701a1be862061491e811dbc0debfa6a75d03026a30639987ddeb0b8c607a019dbe440a862eaf4a87262418c2e048fddea0eae338204ee366aa70f33109181e4092ee7af082aa602cc7f54a894e07fd6947254a66d8dbd1ffa0e4051156b53998b2ab4f72e2709154b26996447239150662de82ef45ca181e3cb64b366254e9058af6d896172c590729f7cd098d4e94468b7685304cb2f41643c314b050f775c23f62eabe11d55e6d7739d3f6a6331a326a7ab05dcfc5d15666c36598d8c33a0734148ab347eea038d675f056b212255e0816cb8b32b012880b577e524a15408d129e8b7fd8f467f08b3531e6755d9b27bc2ec0a52d9f7e7158fc903649259793456d2aa8ab93305f2f42cce2f0fbdfe023fee9575e007841c4698a24f19bee03b0d007d8c75f7576494c653899bcdf2298ca369e4b6debae9d37c595648532a9cbad54d8966762f50846a37030c16998474e263c7191fe4bd8ff074157ba591a3a8e659a913f9de34652478f31a01282f4c4e68b65357d114d0d8b2d57cd97470b09f662530f18ee132386772f04a1bb17700912e7afbe10741f8d5127cad29437b5d9288a4549b2e2288a70f796bddcd9c8529a858972d120c07027bd83f14c8c0e5811cba27f4aa355f82656391cb7d9a9e75091e518875a31c1081f9294c5035c136d3a82dc884e54ba38f07bcceb45a2591804fc972cfead8fa40ca00f29ddf0afa95949a139bc2d5b9ff4279115420d7a83bc38c3d0b82facc4879cd8803feed6c7d805aadd4bb08d9abf26569984c6f62936c8f6a3829e5b117adcf91f02e305ece25ecf12f7d28cd415ffba24edfcd4b0f93bf0fbbfce0bf8ef7234c3357a3fef5c820944946a5177b826b916a2c14de499754fd4fc9a439c1d9b21605749a9895f53138904cb33212705f121a7f4de1b1fb8c21423e5c5c015780188f9ca299c5b54112fe959fd2eea05713882e5a8bef9068fc7c6a52dc628272802ee310b21e15ace9629f59ccd6267d68c11ef6505a3bebcfda8bbe04ce61829a2965113b3a2d3552f0a9981f0738013cc3df69674171816662c51df5383627bab9bdaff2b871cbab410c065d681aee3b98ba7053728b57428ebeb30309a7bf049554e390c2a4e7c375f5a8148946037a4c682b86f6d4b2fdd8be513f5afc8ee8210d915c0e4cbef297a2dff7055c9b33344e587b5baad0ffc686fe65e465919ac8d3dc77e1b8f688e763567a52237228500eb83aaf7c27fa589cce62841016afde3282c950e80cf4c9cee807b4d64e86b818d67333032b00e7f99bfd16bdd90e7542cd2ad32987f625f277a55fa5d6662bf535ebc65283f497046da5b141b38ab7e8be35c49425582d53289cd447021a67942c14942325b6ad3bcea23c85fd5ade2c23dd5254d64e00b0b345c21278210889d93cdc42ebd23eb5b88830ebc1ae716f98473b5e92cfdc7ad53dfff6901ffd0ec412b7fe6c969b912c94f696d419e8ab4d1472d4d3dddca35f4f94ecba7f1ab59052a68337ccf80df2f353194711e959c92051a9449d5fab59f6fdca35bd2cd6aae41687d8b4ac1236c5bfebfa423ab28901abd1abbfb5717d67d196e4026e87effa30c26d2cd7cb8250da2acdeaf560b604624dc074563ab0fa294b972b876c492d17517e44a0d7d4b9859b033b97e61e0d80e03881f9f93ab036b203df2a41a52a09101d9bcea0f43d5e1645ce793e4168578317f3219789f48d0681c57a515b70bb05f03dd03898e5ac92a318a1488debdb3ef974cc3ddfcb55b85ce54c9dae1f84c3efbb9c67857001a26002e66d60e00e86d78aa1514735941db441b4c9bc92ca6370a98637514cd9304f21bc36382cbf47eaeb408d4d297b6e014b4ad6ab5eb1078588f4d2622814568abbf163db37bc884acb9a538da1f4f4e3b5bc172a13eb6806e9374d47870bbb34dccf6e2b1f4ec62ef46661095b1dce153f181f72750c00cb37e988704641604a3816bb4df0a5e8073cbcc22563e269c02bb92552b33b9e2050321d87b8855bbf87d53592f5715d799c78a8d94221bd7bbf3e1a7ccac710dc2d240ee0260eb4d035be394a8666564871b5636e7a8831597e0c545640de6f00e7deb95981c0ce27c1321f060f74dc7140e22afa28fe4d60769f461a6b199e4d69f862e052e7faadcc158e93a9c3964711d99fbfcf04823f01954bcb44d268c03a2793d110932d169b53855f85d9fdf61facbfb42205b0668c33b0ffa7917abe853c9f937162f06f5d30448d894e2cb980b0b1499b90301550aa94ea546fe1d789454fa961d2677305fa87ce9a3816a7a16950a9e4d6a4946680969ff78551e4eaf8c76c360ab4cd79fbf42b23947794dbed963ba1ac97dfb3bfdde6225230f25c4f8adc450e1d0a336e92c91838be70603131268dca6c1efd007ab520ddeef41d4dad1f918a73e8ce071279ef70f66619b4d0735516ed720c27f8158126b1899af06e752b1e0f815a2d3c2cf3e56ef79b91a6de4efc612f8662e7b0cc1cf635f4d051f902e7b0f2264e8eed2ee54e21e8899092a90ed28f3739c2f1602ef9476ab27de5825a9a9aee5762281e398e49a8adf646e53e1e58cce2c4b195b4a5d0fc2a1c2330a5038219207189743b097958f327873aa348f536744a938258cd00aa95c8c98ad01faa82e2dd381c3103e0dc433bacdebb84c505df569e657d7f7d1b0a3a6a93442691881785e87e33cbae2f0f39ff4a0dfd0e4dc3856df21831e1c83ed129cc1871e7eb75e633af672f619d3859029404833ee870e5ba9dd65d62e099bff7abecb9d95b2a7504060c5069b042491fe83620d2fa0f855ae539c1d6fae2dab95c4746a9acd9ac66e21d2995e2e1857da5b21786fc92f398b0a8fb2b6c68dc04c01d77949a488ae03826c361afc23ccdaf5b4408a97078792442f92eab0a8eb1227e1e92bd661011f1cd25fcd4ceb2c4742ae9622f213ba775320b27f93004d12e65940a54bdf11e96fc2a8fa99cc46c0951a07d02c9653e0ab65d09255096d394f2372d7275c8eebbee43a43919d74de3b5283e8bae6de0652605e222943d874826e3a2b76112cce5f5cbd38f996282856f244fe3ba6ecbf789d576197df458e8b196ea4ef01c1b37ecd03f1100e4c8b62cd45ac029c8ca0d3ae4cd9a21ff798e3ef7e5bb4fd09445ab48074fb0b996a5fa5d97f3335d1521fa5120facd60c30548e00748bbed15b837ad19400f9b22b2e2b06d7e0da7cdf6562ee110c3957ebd01e381f431f1e0ace3cd49013fcf5d1f7cb402325c4fc41e05223b8c1a148408d2fb162f62c8b135317dfaf80482485df7d9227665536c42989dd69e94ba42af1fe71cc1521d151de82bfa01f6847b44361ba2a7e0cc0633bb039219f2afed15862e88f97703e86b99900211f24a0b70b467ff431671af67ea39ab9122976ddc7d078815d44ac365c36c070616021b38f45d3601afd47471699de773d18571604263442767e0fde699c5b0534ea26defeba167eaf8a89264558fb709bb4ec341890477a1cbadaa8abd333d9faaf95d990c9a0d7a00d0bed1c0d249250a385fa2923a5020d10a73c15b1d0d33d0de2d3650fe6187e1d537c2adf9e3f3105d0bfca0067ce8bfff615be8baebc7a84b868dd2c0b13ae0578d0faec32a1da36f577c87ff0c4340497d73703838fa5ca456ff39515629bf074745d3016b9daa66c66f8d1d354caf9fb17a74ffe9275e00141a50e345232e401c26fd6558861fb893892527b620d74bd2f600c19a14e13c8079435e8b3d9f687a72a804e21d74e8d329fca97439a9e9c17e8a2ffaa2ae4cff73ee4d2797abdcfa4f33eacc98cc487a6fe85ec0289e3c27b117fa217719f84535c08df37db232e6f3cde0cf2be3789116c16c665c721a4de5512ac1e2f534cc86a7ece4cbf9a55ac8d7579cff023d6d631f74d6fc41cb1c55d3c5bef75881f57e595dc8f28c37bdc604f71727a8997e4d1bafebdf63637e26fb1c96cfd3f698dd6e0cdcd775e89a4897d13c17c76426f94538899e8c702cad9a98ed08e1edd37520290ae86429482b0d1ea1c34a62da346e955ecc54a847e95e3014dc53b5a0bf5e7a721f0ca1f4ca1acebfd835abf8646e480c0d782b7983bce4205ee7f890fc1bab7d4bff752561423d0855976217f32000ed881249013b13b7563fad70f30836e2e3b857d10ee7e23140e2883eadbe70fe041f32e5f8b0f98b443f43bf595af419eff45af7c3a4fd22f0ee87d924d4e33f4befab463710eee393502e95d2374046bf6a98f3f3fee75683c7a6049068bf48a62a14c3c98ecaf35a5c930e8be691333f81f9c566884dbc2d6818b4d463ab5898a3c4f20720f47f68d91d4ecb7b4eb7e116a860b8f1885d4f906bb178344e90918486dbd781326e268531946bfa27a3885f952b41b85c7b9b0fb84d679fd387baf2ef7649e8bc5d4032ecf88f4dc242fcb6af8fc724eb02a94fbdbb3678024230d1f7a20ad0292c3e2c7f28cc9e51a8ff5a29f0348acf955f932f165f300f0c75439c17e3a66d1595d16dfe6636fd0a59d315e0d3a6b35e3a1842cf28cfd9fb75c3f27e279c1daae657660b3fb8d9f52ca29558217f955c63b9e47d2666123d21da457f7373be370e7ffe58a9947ba63d7a9afcb26b02e77e3e76a98f9e3aaea79b5638382b4867d75a26573be682db975f374d881dd76326abc0365c04bf0df33df5ccd119315f4790fd82712c4b42f5a12013e015a1521e6311a947d09709fcd1d916862f83c4265c2ebf9ca94d59ed4b56218ce28c6330b8d605c68108ff60a1011d42caede6a3eada689c9e2c73d4fb9fe4860151132d8455cd0da63942aa65fa24c16581d07d04e4fe1e19f9df9c8561cfa76a9e15f4a9a566a063440e37082c86f7cc368aaeaa456d8132470729cb511a48130dfd89f552370bcc12bd261a2a0ea4ad03af24a14bef3bfb25898f5e4cd4797351e195d107b3befe3d249120c2376f13f9e179933e24a81b95483ddd2dd9eac539f1bd31d11c6e42d85beb9c19ad2724f665f2f769fdaed47c00330ec5fc16c653908e03fc2f173520a606ba9fcc4d897ef46f830693203982519f7e86474f2890f227ffab58640dbcd5f51e6a46d44d874c95bdb735da573c8051fe83ae6df6a7a920d05ec64246dffac52d66e2f84b5a789a23b18e680b8fab34fda1ce2c35051ffb2aea791cfe63c5d9902b2f99e2eed6da99c747ab0827f162387affcf804209d28de63e88f037712d37d659fd2626b903966b8314618d12b03ceb203290b0c78eba0f417685da82084195e17bfcc5595a3ce427c2f0991e3914db20b614ecbd21f64067c19d98a2848c241f82504c840d70954853a39a34d17cc122e8330acf73080d7929d58c69c4be8bf832b041e1258c689065f9f12c8345cfe5d7b4f783a957df8eb81d8293176d9a5cefe2b04f2536ad129c81a500f14539ba2f08f73d93166f2d4c6c1ce1e1c5e2d8cd1b578f9c35797439673406269f2c3475b3d008abc07e825a50ae8526a5c6761ae8f567c88dcd4ee5a8f91d7adf3a023a39881cff2b30930d05c1ab7572956e08a25e97bf87f88b3696d4c6f8853fda0a67ea4fa43a4c70e655cf85891c55b26ab58067b46f5b7c77500869515a24e955dba3a30b1e32cb38180dd05de86ce670ab9d00b8a32a6a0604501bfd541c77fe00a4eccf3f572983fe4530e2ba792425342f4eeddde963bb65236e991b8f3dee7f2387fbe47feff3ecade4ae703d1ad7f8f5beb2fa2a397b22403d02fcc2b17b5f4478ec985cba33bab21acb5795933ab325cdf2b259945a9101c8885cd956e2b38319dc91b9c35acf5dd9b46fdadd1cffd024644fd1874b2f9a9b4c1e0af08da67dd6952adcdb83122f0a38f3dc850e53a40a5690dcdc986d123e36a9920b7869d13b2d666bedeeb74da34bf4fbef8b3ccc754fbcb097c510888c192957f7561ca1734b7cd28cef8a4b54693e77aaa82e373f30ec2ac10151b1910b1f8e4940ed374f962ef6099eda6fc363338d48fc39e9490e5845a7339f09aa18f650b7ab1d99230f9aba028b2de34816eb25d2ef23ff3526dcbce0f52e2bfc31b79beee8e4e22491aeb73788e0cc7038ad1f2dfcf409b7460de5a09c364c5b4e30dbbade51fe212cd6f6e0577a3cd05c7387c4fa93b46f0baf4840042f159b79a23cb83aeadf24a25bc7532749967a8d09fc2745f714f08f4853174d5e9b0d3db2c8c29e0835148a1838437358e39899da01ea540aad344c8fdccd78f621a86483a33089ca8608bd738d2a22f4b060f691d514635dd0c0b46316a4df0043b12a6511898af39f3aea80fd77b134c63d8e6bbe6ebdb0cbb406dca6598660f1cd636eed61f3457d2f7ee9e8042eabf6d5b6b2f1d191bb3186b3926e1d2c44a81961d93ea6af43d17af06b8698ce28be45409f61e8601f30ba902281d0a12e143bad3147f498ac2a889bf0368e8c8ceae0dcf3857e97dbf6ae4b809314310e9f2bc0aca973b3b4b6921cba25328618868dd5099c4ee4263e1c68d316eb257eb6048f88f5ef47ac45364b3764a8b31cc889ce61892bd2b3828676c99c6affd12eb6822a91a44c9a274e9ca0737149e92a4e6e0576ec361196b8e2a8f3a168a2406e67f369eac6c7d0247b4f4d1d47fcfd99d50c5d56f6fe441029643c6580fe7e305304a01894e1e2f4f06607a071bdaeeb9f85aa84660b35b10cb1b7162964d2530a3627b878f684f8797a0c3fd19a8f8c69d154e4beef08972151a9b1f305b9e228f0129fcf468076b771a003702b3ce08bc23f23de7ec0b1d14e3da61af99ee3e1f81d0ed26e3978315ec5c07b83e02ee14b1dd8c71f8528b63d35cdbbeee16291ef13f4780bf2306ccf843bb884e7e94588c71a62be6f6b3b2e5eec133c65b4cc120566c1083c8d39356d220ffcb425e9ec8e4352bd47720821cfe9efc7bb75f19f070cc083b76c7b316074b993380353743222b146dcb01c813d10c3714d875cc00e8c08d4206f62bdd7315c4b324fbd1f48dbede0a2a7b7e32c0ba45500430289bc2e32759a4b3ffe373dd1d3651b998d43a9c70ff2a938b0970b6657332f4b5c76f194033090e1cf6dacbafd0311848bbf56bc60a2e9b5b041794b902b6f25d315a1e48a3491f585f3205f695379c51250b492804effa8d84bb879eb04059253a2891ba211d854a1e2937ac3794220ebf20bc3af5f20a8922455e626d28d7830ede94ab579a362c162d2d2bd9f93c3af8b78f791050608ab0cedd65a8db05f3296786f59a4a294ee2314ed20a7e51f57785e31c519c70b0ab2536b9a8d2e61347bc222073163be2bee5201eac00ffd6af2ce1accd035acf52a0743ec997d2b1bab8d528e5e94a10fb39d0e6f5e76dff72595503a8ad915b127a494cd9fc953d850f9b1b8d2231c993135d3821844b84070838c933b7244fbe5d69f931978f60a1a23f53a02c4e067d200bd2897af30d87104a28e49be0b3fdf1505f28b911cae5a8cf5576b576d37498c18682d80ef48a2d7c1522020c62fdf5d3c87c34241a46ada5bac79d8c3cbd8b766ee293abed667bab9d674bf2cb83df62ae501115ef155b6fdede0360ff0384f3c88da123dd68810b062910219ade7be063ebc786f4614471214862c473b0512e0e1338e998dae48c795c4851aa3765b48e0f1208161032054312e073eef87ecfe3f01b6ef3bef3d1e4b21ddda7eb845975ef210c8d8a2916c8a05528ed683819a6d7fe7f058540a4709d5d424df00969624823e0d7e1e090018067132f478286b32009b77fe53f83253709cd637287306f608a24f1cc73d8bf39dab31d90c5a0086ee92d66a1aa7a86742f0948e1ee4b233b6fff35ead0c42e4d267b5f37fe503824d6821ac78a73bc98af9836d2e5e6a120f5ef49146a066b33d4cfdcba2a5b59358e5d47e81d9eb1b2aa6f6e081da04a2f36b668a86606d3d265ed6c699754842391cd4c051b53c27b3e608f324cbfb2b0b1904c63c86231806e2f5c8c9815a88caa08a190891f18f192920cd9f8cc5a96a5999ef1cf854957a83aa3125711b8d99e3068b7c12a1f4dfecc7a2adf561e6b20f9406b64dbee24f757080d1d4a749ff806d8265980886cba66a0e49387f755e7c553cd1e1c11decd1e6b0a5137dac5468a00ee2be448a1578b804cc315f3178ece3dc57cf2aa0a7af99ab1f63e5356994d31e713988eea7adc9b9899f907de3fdf618ffc650f0533934a7050ac11847087925d888881c92e5904a72d040ab51bca5e7884f251213aaaaae7339a5bba01a78f643c0d82f1da64e84f63b4abe11408e9e40293f12d92c5c9a907da3f2d09f3e331ce285289959d842e21a38b4adc97365742448fe1d2275078bf9fbd70c2c99987713a033dab43efd564dc942e845d01f430184f9b0dd7f2a2a5865110aa3b16729918a54aa35b56aefa009398d02e6699ecf2105c65bd548ea2dffc8bfc830029b454ac5baf41823341c9d09b8cc324ee7ee79cb9d850ac9afc6a4ae725d9701e8c3fe6b1de3dab8a5e23eb44c1c52f7c70173d380da6e9ac0f23b92dfecc87df480fc4d19e4d299fd76713dca017586e7cf920bf3496524b0d98c6c65549e12f5437816ef606198dafc64d639f4149ec197514d06ff28d156ea632c155a96e68f9d16af0758df6006105597d2a9235eda41d9065a5df672db594091b347f368e8f17abf2ed0f73cdffaa5cf7c823c5ea40e092f12ac8d6eca92ec94a613ae07c38c69bf15efc8f9aa13dd8466fe552e3c7ee9c2da1d0ca1bda4a06e60ef8375ca6e97076d076cee8e5749dd66310c67adcc8e5991eb1b05ee80e6a1738d812e077eac971cad00a22af4bc14c61779f36d55afcecf6362a5b79995ce69a3fa6ae85af5ee6fde794ea7686681af46a5e21f4b4cc8d655b3fdcc174d8d216aab267ac8be13ae4061b5f2c48fc882af62c14c7a63dd6bb7868ce53a435766e0e8c8bfeb6f685fd8bf02d10c2c2696279715f43bbd31da5557041578e9e2b607ce7d91d4241439a729b8bc7abd78002469bf8c0ae3f37c5f3d4d1a949307003031c6d86b1b90d8bdd2098fc6b1d5251fac83dc7f07a502cabfb78cc62ed194a60e653cf67bdf34349b1726658c11c482cac89106822b67b3a652afdcd36ad432416c2fb1ad50b3404516c72d924179883397f0f76556227cb87bb847cfde6e8641011b961f459945cc5ab46c9b2279a870d328b00b17c3b597690d48c6dfbb719988f5d77f5c1f2208689cf6af04d6f2feef1c0dc7eefbee40fbb7fe38005cf0595e5e0cf0b03205ce7f71c1f2da0e93172fcf9d5b24326f6256faf7980ac585a0681a6dedb9d576b067e307b62f48cd73e2b3489e26994ec65eae3e7a9ce453a2c1eff80f7297a9035bc4ef4abe021551e071ff5d769c2b480d6a44d8ca6c81a117da5d01a68096819ee1b06949d620831340a5d386643a0c052e147e52515da99d8702cb7b718fa33ac24212f151dc6c15b0c811886aacd32da501f36292fe90af08984ab7d0c7223d5b2792041f08871c3ba6791b3dd6d2a02d5c4e8c0b1814ee65dc0f52ad0ad7c55085c9860d33e60031e9b2c9202933e01bf22603a523da9a003321a4f1edc3f22d87c5beccd3d47f970f6f101485dcf57371f2e0c314808a1f58e03aa2539fcc6317217f2411463a24f09be39eadee9e80ec3eccf89ac10c07cd574985200ef1818a41ebd698bf3ca32489aad9dd2bdfc54007e1cb6f0105f02b0132be9b3cd8edcaadbba5580d9b218a0cfffb5b15468b02467d3bd2f47d582cc49d782ed42b28968bf3569a2aa41e6763a2b439170a2dd61b520bfcc6951014b64ca155fbf23d36cacc5c6cda3ca271706d5d2f3ceceb961012bca1e30ad0fcce801f2085b8c648884c4a32047e3fdf499ec6b3e30eff1be923a0fe702e3c965f7c50c23863a1bb419ed108a66a30b1f31873c43d3155074aea41b922b3fb6b52468f027698e43c37e69f21441e3c01e351d063176219a0b47c6db5897b45c1b85310d3559d3db44cfc49063a038bfc35d6c95f683feb0182eff2a892b9fd0dc68959944e8f7e8bd629839f5accaacaa84b24cdcf3149a03a158bc392fea07268bfc6f84594229dd2d6b84c7b5023a1122729423d660e46256c4860338f87180d42dd62d94966ecd08dbf9384651a09e18587f94f16d63b7159e82bc2e9c1c6c74da315c1e0c415ae476157412af299cbf34957e0b982387d94846f5405863cbd0fa8124123a9aefd115305b21b2d644fc1457fb95eaa2a04cb3917e486227c06f60a17ffdcb5946010727451bb8d78dc3ee0bc975eb0b835f753cffa707a3cf2a0471df8a829b5ac8303e119d373a02593d79980de57188a7cc0e20a8fb9c8358741b3164d7dd54b7b6083b246d1a8a87123e3bfaf65f5bdf3b730f3e8797a00b9769815fc576dfd1311d196551cb52c6882547d4b2b85991845bc12108406bb630186cd626d4821b17c0f3325cd6f0f92c3b57bc3f60d535783b02e7d3232d73237217752d0214204532f343e805d067be59d96868f2356ea4d11eb3967731bd965245835a8e216652d997554368fc9bb2afe390fb35b5c2edad72141bacef399f7ceaa53854959cffcf40d40d90df33b264414e0dc0f9b86b054e8715a6e421a9443bed378c1c31a825c691bca8d9d17d9ff1d888d8e98ace2defa181d1c92cee664789a8103ce50b78f183beb4d76283e16812fc1e84e9b6ea557ff943d05f3284c0fb97c577aa1eb22f37ff9476d694498bb247463c30e2916a46c369c643f5400e67ea8cf619e101c43d12f9f336a4c708b3e717879b718a48b482e6807c620f0d7073949a10d1276c6ed15904dd8c3bf63fc9251b8b0c3604fecc869abf67bbd2c173e8207a111688a04a4d634de0cc20684d25507f2c89ececb8bef467f7a4cda00f7cd145f25aea49881faf667a57c7777fb160153c78f7cd197e02d9fe41b167d5722419a2e3963119f4418d25bb08c4ecc82f0b5b6e8c16a3239d6077aa2eb4c7f9ef40578bea8dd2e0ca563406d9cc01792f5791c081dbbbbd3a7b2f0b43680b3bda00f99dce6324f726f75cdae9678d7e07bc3800e9e8a56cce48207d9453d93eb2d0f49bf6fc622a161bcaf248bc834811f889eab3b11dc53e65b76b8767305ffb908228463385964555c9dac1805c37c1fa7996558685c1b2bc6722d21bd004afaff9b53fb585c7ec0b96bcde0514607de0520e4fb51a2182de72c3407aff79e6abaac63e9fa9747bae2cf36dd23a10b58a715335426ab46e073345137ddaa9f36ac48839f9a3ebf5168badaef8761a30d682b2fc064a571e495460b20239c9a45eb17c6973fe971459ae85350f52f1308894a315d689076deaaa81affe25ec616947267e9f91872ef8f46041edde94ec719c5450fbb4419cf577efd7f6489c780366cd496a7fc4ccb8d73066a5c27d93408535b108147f714f2f0355572cef692dec548fad14c732509d1b38506d596f2d506f444518d6f89feef66e91167141a3169012467b3e0034763251edaf6233f322d3813ac3e1fffd0daadcdc295551e95e40a9db76070755d231644392766d1a2aac9d4ec6c29fa3ec70f817a7d6c09e8b2ca0bc961990517e24a187a1d53c414756bd8cbeb31d0242c98ccd91069f88c8851e3c51084402bab98b43056b66a85d56b28780adcccf0757c0975dc35cd7149e86d134462ce4527502e390d286d7b9902ff6011626c204af4ce3256b6244103bef32027131ce4600d64f0098b5212a4d253e195b9ba2b4be946557414f316582cc3318703b92b71230e0f232930bb4b3e18afbb7451ee25fb7d21366836c45eb2f548111aea598a7412828aa9ed20c76b0c873a088433aaf84ec7926e59e800a430ebf79d4417494bc2e750b7a848931448bc6517dc288633e9b5c1675c4309b4e2ff6d8117e3d3b66aa4d1f434f9aae06cd91586a3a732d282b6c582b2c81ed124bb6a266e908ad3f9627add7306a4862eaf0ed0b2e0da85254302813ffe084b78cf7fe19735860f2b7d13a45c9acef446dda59f69c947cb4af3d4df0752fba51463c3c0595e63520257924e9b27d0f8385089d607eb863dba36c966b702338a653977a24de489a62719f0d81e1d252d7cd0d63ddf7ae04800b2eb343348a9b031e0e46c8899b15947d02bfa15847708ec521154128b15748e02789ff5aebcf071c58d0d96a31b8f45ab485deaee295481286057027d16af007d66a9c60545a1da5ea46a34d2d4e6db62590d715b35052199721eb669a8ab621c10d4cf4b8c3178e2953424cacd4cb2130d82776084e8358405c487e9f2362fc78a5976022c0aba989025cae569dfb7021af6ddac7c36a416ea53df1ed3bdcdd5da54755855d490524bfd185db9de54a240da7ee6bee1bca13a902bb8756b7e8ec97bd9c9d877f30650df70f4f4c4d0cf0e58082a3d2b740ab40785346a40c625b20f5b2a7f523aefb56b712da2325acfde6788a31418ca8212968dc98971c2ab82737e326e4cfabe62b8a5e4a9b9c77c9e007e491a35b1416d1cb9d722821c790c9ad6613e4be2488be79589a1dec35ab2b9b8c96a419e039dad3643dd0901af7f983d6c5566756d545c0c9370a841be8684e916d9640bb2bc971cad2adc50518a363f0046ee9863d01d0c4b560c29d136385f4f9ae0ec8d80057a15859ab3e10d9d3710ad694a7df629a041fa7ea0110441b793d5350cea6db4cb9784b27147d63f7a94e3fbb053689930e8cbe522dc646daa4bc7c683fc96a0acc8f60d4a96f9e35c16e9456406f2ef2d79ffa7a4238fd567f0e2cf643b172d9671b0ddbf2a05e3c95a657c50671119c845781409c994a7e0be93675086976c60637c604df752e99e339b90a55e6d23c61df48b1f555c2ff4763867b61047917a6da7a42fa5c54106ac2c326accec1c32dcb8639f120a8df4843c310dd814f9b81264860522effe3ad07f343fe1360f22ff5cbec8fbe44445d5b4edd08d2ae3cc098282ce0fe1ab0639717beb31371f8d3fc6605700bc3a7e7a7a188363bfae121bf9e98af4f9632727de4eaa33da55088b16f23746df0bc02796b5648e227815633123a2492af8e81147a4509acd7611cc0825f216d1ede162a859c9f910e4dc7d87b81402c5906bf00aebb6993381261e93df888454b270f4553b730039d98b5848ae532f42bf3d7dea153142edb5818da87e3565e73cc8ccb75204175ee5ca3af89c04a7c5027cc6a6b964e507862e5c2a5a0ad58b05f124c01e9385511c8ba66515c0eb4fee88f1b4442b2d4ca507e2a8def9391f20e0920744458bb09043dc351027782280953cb5f918a48ba0ba3e158f57d477319191a3a408574d7aa761e9ac73606250580856d67b2f17cdb2ad74f67da574b3726b3993cbc1e35f0a5797d986ff4b4db8d014068afa6f9493c60b34c95a92071bc24f9ecd6596ad6205c6497f121d05c1851f48de0944cf56fa92f7ee092ee9e10576b95de25750999feb1c78d90a5a12b59c72b3999c56ea5312b733333235048ad45846eb6348f565e646b571731b024d9cbac0653e14f3d5d983be456a01b78bf45d22dc900d1a9a7079757f8b02269aa1026e2ad7e48e82a19a047c2cd494c4e4f3895420baff36b1b0ae0f9db54a63ee2a570c935537994436615ea434f4b9ceed2e4593e90fe09a81140da8f66015aad878469237b65fe50cad8a395e051c6dc00b927cd82a00e30b750e6a3607bcf90ec6491b29b863de458c15555e6e8d4da41e5fe1b2db72d351d51323b5b9655ffe4ea3eb192beb51442c09deba6ad147626142bc6c99ab2febba98852b6441ba931e66dcc6b815d3f3c72d69f7b08fe83a2fc500d04d6c2f772bedc9322541ef84867c583e101d0b409980f300c31da8a8a7cf882963906de87627b5968dd4036b239a49f6633f6753f38088d67fa0a6f7c4e5abfff77a34944c42dd965b7fb2bc6a75e79e122fc8cac1493a3b3cbf0dc77220a447cd8d5191219c4b5f9e17a1e465f00ca9e603700e97d49f07ab659ee02bc1035c5fa534100f2b2b55014a8036ab00f7e6cc08c6482828663d91408160ed0dc2330038718b75a1615251231c7387ea54bdc38d2307fc09f66b0d1f95cca241868b7bdc2d594dfaa8af43c98fc120836633e1fce038b0a74c2c471a88b0beca16d0e932c911b64f2b77ab06f25ce3c64d8beb252ff83758398061fa96c2c5e17606e5b78d8590b8737f727fd074f3c78f88badaad4bb8b76a8769b94b483879e022e94d375fdf9abce0a81ff819e98234779026a38e12e8b862e1a5459b5d55916330eed0e8da0d185a70d23a32b0e44d2c6b6c968d0babaae73c45022bbb4f541b15a900a565ff649e75ca726d0b21e0feb46f01ce0b9ca73e175e84369b6f893e582d701b61b080f95bb76d22226a0d474345a282e25d0d1d23e28bcfa1fc72b1f7a94fddc550aa7c9c94da64d7ba6484b63697b53faaca2e03d900a3dc7be55ab5a8003395f649b9b5be0fd22ce5f3586caa52727cd05aa4fa532065141122e6ea5480856a47abad2c3e3c08221354519652da86262dcd8f66a84c587552b9df4b09ce6c95ccc64a3939d1ccda37dd75296a12d60b0fb2f6c9f2fe30491193111eb285e93e71729a9ad413cdde9600d2af5f37c7e80df2a2331546c4e0608090b36e60538e756a07426bbdcb4c3f6a58525f707654d2ab730712027ef6a2e1dc63556ba90caf12d40278169099905b12de18c8f9e1deb86a8fac01266f36b76d9e66cb7793302ed691b1d0301e06cc2ab6954aded4d7213522dff8c2c0a9adaf775170900ff6b70909f446009fa8bc9400f568e6e492f21f46c525e4420005ae17dce1eaf121e3bace378c5ab6de17b2048ac4153aff588180f62a6f716bd4760dc75e72922c8fb695e1061445ea457600cb86791cc872a78f6fc7db25f3dd88570e247a70346c6ae5358174a3de2007536bb655b7c4fcfe1cdb75c981ce5eab11d88dc2cce49c7bc83578c2c0e9b1f3fc0e04f156e076a62cce348cc8664df3f3845aa560dad8668c9af3d9a4051b9bef7b68e2533ed3882b1f1f02d4b4f9f082d20f6df35d5ed69c474422429e37fe35becb23831b36566ee48f7059265be678405ca3103c29f154cf661044df2dc582e03ead7e5172bcc10e0c3ef1cb4b3f0e241485577ea92926d70f3fd0142d8f1a4a4daeb55e5c8997f6f87c9e12b95a6610e5bec09751a3375eaf4bc5d123b2310be09c2dc956a0867563febc9607c6fd377daa602aff1fe44d667106ee1748d496e6cc2ef6710b03f0602cbbd75433b3ccef069283fa9854256e2f1af979e6d9776098899e060a322dc90d6403555e871390938de015f7fbd59a4d70a1bc39a05838789b35f862996555d687e63d97cd2b7238f08908a186c5ed4e55a458baa9561b07b433c30be187d7a7bb7e352cd5ceffbc8d9d591757c6ae13c0d562a60d3fd1b7e3f1d8d8ab1ae7c6da44fcdace036f953ba7d5b8534f1493adc8a04bf2dddd20ba15f7e5400a0a4f64981011181038e6a28c78329c6a4dbb8ce603b1d8246027d14528bb0d1d88ab79d0b8cf182bc1d9f3949a84d9d0c530def1c38e99119ea633075b4f4ee7e870453002fb7b8319e3a89d023f08b9b1323b23743edf8c53d2e20f1da3fe8a49b456725719092535b5d0f452576e8cc28233902728f0d6d2904ef63d5bb97a95c9fac76df338fc020297717914451e5123e2d09df1e7c88a4182cb5dd8e417e2025af5bf424a6124716764d86da87b4c09c2edcab78d78e53fbf9794cc935b9fc86658e709230186dd835abd5625a92f0756f0efd2720d931cc68a6a5c1dd6446aeef0b4f4743cd70905d0e309f81541748ec3954f73242854d3c9927923aec5e1c72354a3593adf4c72a8de2b6b14b280eb14c9d3567a8dc7f9064a9b3e511af9c88a5d923ced00452a2b4d065987a93557970499e8a27d2eec83d51a61f262e1b7f151630ebc7439557916de4edd2a879a74c6c35fca9c0a9edef5bf3520d5609436ed8740a397473d3a19f4ef502b73e3ac04bd1d63427c2b6f496a0aed3543565e1e4a045f7a40828e384ce4579db1b589ea835097bcc6a57c3396bd16a9fc225df598d0c20773807805025d68c88616bbffece726ee82112b041f8e42772cec8cac56c11c195637b47a14dc9051b30e80d894e8037919e88848b5acc3f89d11768fa1f1a2e9cbecf8ef9b064eb3e3358bf323f6481de399c7a337ef2ec77ae54970e167944429a778e4f5d262cd5e2bb8eee589d6dafcd607f3b3ce7706dcc1190d0cf4ce874e8e559d0710066dcfd559310926e0b65f6c94cd78f824868b4844e1a0e435bf3092be70536dd1d112e76d2003fa1c39f8d86e1bd826e22c7c8c2f1bff5cb5a8f1937a5a43a54f7631d57c3dd471bf7045374262a538d984dd2a3d1ef23334d20ed7d797c1a23896e8ccb2da5e4063b10164b0a8986172ebc560a47d00ebe1e77086df39da28386c7df15a707e86e253c0cf7af7a798ed68e638e8fa049e2f00467c152f17f864efb7eaa1a01c20359a9371be56a550d514a62392b9e12ccbfd34ea567627d2aa3d9bbb04e6570a1f1a462bc0210026d34f1775bd95cb2c17a3d05e5ff55b384ebc742a742349efa4ccacb04437cf2bcc1a600c1a1b8215ee9f53456ed39f31f5b69e089176e04f597e57bd6c3553af9f722e8c756801f587c55676edc3f84181d7113edd24158a5526a54aef67caaf50b6968081d9fa542d789019e6ab0fde942889c3c098b4b800544ddc77458f7fd78cc4e06d148dce8c0b2bd3e22d6ab3094e32a1a72ca89d7c5df4df8a43940a867c580594fe090426c65c52732076bdd0e6ac891394495430a95a24ea3d13cac76a5168fe5b88453d25d008390768a38923d8f4d72ed08093f6278ecfb2285bf251234dabcc2d069e10170c26a7a29b106f23f68052c035058fb7d5a01386d1e2866bd41336a17dc130c6f6563bac5fcc5820ba25e43a2480f4bcab92a190ccb796c314bdb7560c474d79b9b90448dbc1b886ab6db5dc8de6a000434e1910f8c007e9189a4f7f9cc34144d6259ddc5ba34053db19d5cb194924197ff1b06cb18693e378191327273a78ee1b8f9b64ac545b0d02ee77f31480484a9a217a0c6b9641314252c314d3ffe834162ac65b83dd02d6d354cb657d6a6dd20265a6ac58ea32a784640baaf21d9bbe813866ec77b101acc0c85d67dc7a763bddbe1e5a522b77259b20f7a2018aa1940064548b17a291f0915f3c214d45905c280bfe8c03552c4176daa4dc0abc050b996f305f213debb58a940e4bef22e401d600964b75c38c060b5de1aacd08c3e1ac5382f38675bd0da3155d4a5524ff732c076e4e1cd70c16f4035c4ea67a3c714ec37b7d9184595ac18a1d6ba5f30418d943b7bf4e9a6d0975847c451a5c49c203e000d67dcf7acf83a06f79949c198255f473994e50186fb1c1d75885074f20d539cbbe351d580a752db3750994b3a61e42233c5da90dad74d24fcf91735c559177a4257fb9ea8c5cfcdcbc913e9d6d56767847dc73ea8144b4b6f5815a67fe6b757e2209d65af8f07b7d0c1297f01c384153b3fa32f1a7a88a184cb5e7222076d32de16082f6d1d09fdcef70d1fbf7b00ee7da303ea53b2342c1cc09102e11524cac083a7ee071dc1ce857e630a0b600ebb201b5095c99653e4b5bd6b217148f3320c0fd1f17f382f98b59ac06d21a131899328fa99341624e023c101d4770ac2f34dad21038d1dc29bf0f46543aeee2b2a0df25c6431b268f3fa7038a76c421508c2566bffb39c1eb41bf80179db073fe32cb95f381913d46edda4c9176b61fb4b6a153a892c157186957a27928ea1ec4164a9075e900d9c3ea5ddc969cd9b92835d6392e5ee37f7da4a47a11574fcf028a02cd14c623277ee8fa550e7a58791bd756413cc3e3ddb835006bae4062033208b4f49981b79343fbf33a41830e93e300ad4117470d02ee677c97cf5a5d9c958ebc086ad869bdb6c158bdeaf731fc4ba338ef20d404390fc02ab09202fd0065b812ec7f2bb438c76b295412dfecd158ed7229aac4133507b96260c12f00acc0b3cb6e07e960e49a6c9439ab8c3745161798857f071bea08a78dfdd2564932bc205ab39cd82604f385cf7d68a19d50a83ffeddde2d19ef558d43b0fb15173a21f485d0d0377db47df87940a588b43af17961ff2b45b8c6c4935427e23c0c22a683ca6b1ec9b1eaa3056655713eda819b06cda8b157a90c741b9d8f3a271bac9142f0d5e83ae9dc1ab12191031d07309ef3227b0a2a368507d769bb2dab68eb7ebb3531b2e0c48149488919c47486ca4915d8857a1362625cc0e748fe67230ee2c984339815107a952efdc8d11a360e5bc0f946c6313406e6f5983707deac9e1b80ca27319e1ee0df05f0f8b26551060162a8b143a48616e298ffc32c18218e9bbdbc309138b419893734fb764c057ce3058a5c5ff20bffaf3f5a90a8ceb12ae565adc868a96e06a8c016ecb497e1d20a36a84d548efbf60c0406c139e961a7e9bbd03333b90a9e13e8c2a2d4d9400f6a271f81f8ea2c2f33da33784a2515d7cd962b77e9adf66fa5fb798e2babac5e8dfcf0280eb722c2ef50293b2e286d3a2b4fd74f34e6180cc29b3132ad9eb16739cbbd663e1e80019d1b8ec523e07be4aab75f08c4575246e1fba70faca54560d7ca1f40229c13a38094a7378d6f33f57fb814ecdb75644cc08ad3ba3242cf94f0a8ff09805620de5e8eda7ac8ca45f83c622cca8f6eb84324bfbc255bb65c38411aef4bb7e89de302cd381e1ad9c1760f8c8fcea1722b69ca2e05248998395e15414a63fd20e530582fd4c2a1d64ef799b5010fc1c08409ba4e5e62a63d1a3eb3078ea0dfa649b6a9bb09cf593cf22804111c4341abf9c59bde4d66219dc66d7ef328fceb360af52702f801e730d875c8eacc6ef40103470d7ffdf06e858697a562006915c0c9df441a7d9c7ad311ef44124ba04777bfa70e6a371b115a294e92d0b8a76ec9155193f6bfaca86fc0a4f63445914c2303b18ab9375471120f4f648d5378115c21ab424f57c738bafc00f59e9f9f1984251bcccb03570fd03755432b4f5180d45a92d7cbfc7a42703ef4b705ba791bfb6773f2bd95bd1281cda8defddf3bcaa71865506130e3958543930c76efdb0e89cdb0083b8833da05f0ac5b8ebf3e941ee83ea50ef350594ba41923ffe16dbb6a0be5992899846f5c731645bd47f819812bb00585a5951d22b1a6c66b08c492e8f7607c9ec8e260298828f320c98cca6618cc398f199895726bebd91bdeb3e32c042b4224acd867a9b2b9ba327861ec4ce1e3a6bbabe8fb2b36d9e0a829af5362e67d3108ca94c350a4c9fc1bcb5df8ae19c237cd0b538e6942a0f3cbddc3634ac9bc8eb1f503fa077177aa79a9ecf8726428ccdf65a5c82b5cdba003094bfd8a3826b1370527dd6a508401c12adc3bc529094e13b807227cc209eacd684a21f733d2c7eb37e134c7e1ab0d1b74e37d44f506063af6159f8332a4b2508676f3f4cf10d10999378f22cfd15019c3c87d368d68807296ee2a8cd74b4ee90df070f70a38affd3bbde3080ba532eab068cfdc5a045e2e17636c4cb23347afaf19518818b150764a7e8a9dbdb2703181049fd38b1b9540acf3b5c54e3d800ff5f294a07d4355d9a770f3ddfc23c550e03a4a6d414886d9998c4afc526b35bbf752926267b9ba424ffb19d4340d5ace38602b80d05a68308aabd98c2b5048cdf7dedbc30ccc9d07f126e9a212cbc6e0ac485bf60aab72ae5f6374b305bd7d666c3ecb2e1df7f80e82e16e0ee12e766b363dda79b0914f71a124bd828350c95f735a460506c182b351e4119d24b20b4630bf3d2bd8afb66c15109db60c656b32d6308a6025a493f06ea5ccfbf881e5735cd2c0beba289fc60c356b50a314dd34176437a7d5c434b5d373b43eb70401ba0f3fed7f7f73f2b5dc999debf01202615f1c877346b0e1e253c4b68852dbf10649f61c1d09050a3876363c91591d6ce6bc7e7cc37a4f435c23613b84a0f8408002d1a14c7dc80196ae4c87a3e529538b0e082451af041e148f2caea9f400b07e9301448cdc8370577697537f6b255c3045c77e0a663d65f20984133e1b95c746b08b5f3f15a61b75345b828814953100f391b0864818961738f8f4182d9c93ebc4479adb40f45b53e4890393501206e907d0260eb94475612d1f317ab2e045481c027784c35842ff4d51a2601bce92f4d76cc45354cf4a5d7db918ec3ad2c69da48de92e302a72b8e84e838a0d8fb346d3af07dec9fff10b89d6b4d04bef248ce74be0a84636a6b399c9222e1c53d309b4b1722ce07c8bd33072be2038fc7e93ec41d88ed6835fd7470b1c46ad608f1bab5196f6bc99357937a1809986a5cdafa7851fea462ae38a1eabb048f3310291a3a676de899a3bd6e3904384b270b43bea03dfac224b8c59e250c05685227a190d11ce7cf2389f0033a53b044f9136c1d4124205c1d27e7c056bbec596f2cf798870e9b4340c298731c431cb8faf7ac12e0e165de1aaeecd61542758635cfc04d4ee1da0635327a930659062a5050c37aba01353ae6ff4a997a0b9cdf0c438b055ecd77bff691ab8b3d8fa12081ec1a7e2a9ea537ab1478ce17f6d8587a526730565ad836081afd1df13350df066efa4d00043e88d85ec988bc3d3f9b76599f6dea00a5c1d41b5199b42e97ade38ecf0c1b6d8082ee828db4bd35af8d579798cea20af094da0afa4214b667751709758bc137dadd107d71117bbb27f450b269a295dfe02fb580527dc96f1cd3bfb356b0c0c5a6f83392f9fd55b69f796687be886b5a1c886a7e50e0e0d875cb1378e3a2688f75f7ab2a44950d2102694467f87910e751cad9946e743cbf3d3f2724b1dc21c2262b93c0a1dc07864d7cfbe0e8b6787541141bb6010084565a382b15a22ab5e7ccfa4708ac435ea13a014b397898168519155d85e658d47ee89d3fb38f674bd96835579f8a7eb39071696ca20e8ff6bfaca12d8cc57201bb54ddf77e218672a9f469277ed330eb96537a37fc4d0eb37d601c4c6a772986cc1e0ec4a79f10eb003f427650bb4dc0070134286eb7c71b7b8009b7dd7ffa3f6335c89117fb6ba1be592a992a1c93a0c634ccb14f1891c7a49be03296aa4d524cfd8c0ffbf97ebc0c3292b501d2fa620b660dc932260ad080b8fa7c172d3a2067c86e8720c943ffe18f494adfef06df7f5b3323d4703d9b579a70c84408515cb5eac1bf401111b9630766c81cd0b1c251ffaa838edf32d261b209807ff5db01cd6bed411c670505db3108c7213861dcbad08d7e76ba4c5c07a13ad1a45e8fce4eb48abef7ffd3f4a00b49b3f1ce417ac4d26fc64ca949a565c4b53a6876db5cd050cd5363613d0dd4251a0014f3144cc81991c850d9bf232ea37fb6d23c52549c12ef1b070c56ea6d671b3483c5e8fa780519bd7d9d921bbf0657568f38c2166940b06643d800aa0f32969b8a4372281ce3f73b72abeccc8ae39003c352dcbad3d240e05e8288265fc3ffd94061aba89bd3fba2cf07b5ce263c67aad4e6799d04343f5c328ec9c88ecbea9eccd63e5a096d3fffe2d5f78ab7b018ffdd95b943b0fa5e9e2fe4e8ff91af0173b6acc907b75bc64a1055eb2706e563ef8a2b90f67aaf4f5ef344b646965feb3a0f35639d1cb4d324b2c086759c42579aeb1bb801f4840116a35e001f743caa4ba97ab31c43858d19a93249c3b9038c808040e073a02142847d2c98c219ac98682fa75a1ea2e03c00f57ffebc1f10f90f4816cab6239289076cf46501ef4af42dfacb058a5e8a8af814352f09f1df9a530d463eb80e1095935d0199ce64ee653f7a054480045ab233b557309ed5a6032f4f06d7a1445f4992331b243e53141c582d43dba4b52d10269da180f14c3b63080ba4880463040ca0a0d6621540c8adbe237a81a8c1b057881445041fd920171c1b7d6ffc771312d2f6de7bcb2da59429a5e40a2a0b700b48ec8ae51b24d0f4102df5d3ab2db1ec35aefa8bb39e729c6a6d87f572ce6d7277f26071fbf344412b1f9ea2dcd35ed2d7b8e99d4b37c3bb8e5c8579557cc9cd5ac4b3f263acc37ae1e0133344247a528de82312551f12142250cc525ec45d6a63867c449f8fe892a44811519148fb14d1a7689f9487712a52f93cfd3bfa8ff62c55cae73f1f0d8264fc4aa50a719b522f076244f536e843a07ae9477b9211921192119211bfa9b8681dd950281c3592d6e930469fec47a11ff5e861fcd329fff92bda51798f8cf78cfe0a812a1eda547852464d69bd9fcebe9db4937602435eddc0ca8a5aa53143b4dfb687da6f159d8f84d5e4b6691cfba97afa906ad66bd5dca475c52ad340bf51ba51ba3dccdbb40771403ccfdb67db40db833410a50fe31fd07b7ea3a04d0bc191e813aae8f6213882a2d007ca1528432565240a7d562a0a7acf5629940155600a1c41110cc1593ff5be5c5fbd87935d43cbb0ab5ef9d69c12aaf4b5c411706ca7c0f28d11a8b8d8cee7cfaa27fb50f6a150f62120377ef548d88c6328947117da4c66f33359852608fe4becb3f7f950280b65a12c94851ee685b2d07f38205a888642d97f42ffc93ef4f3da871ec6e95fd177265354646cd213faecfb37192a2959847f1b24479fd7fe7abe1f443f9e2cabd0bbccbbb656bdf1e793fcabfa9c8810e49593f7def3c42a25e5637caf692952a6a45c9d7275cad5299a96f2302fe57a0f07044bc934ed53523c29efb93c9927e5613ce5fbfa3c330ae695fc27ed4fca7fbe1f86faf599572adca31675a8414dfbd359ab781e4bf19188bdbdbd3d5acdaa94527a4a5b4a707707b9f6eda49d801a49eb80b20fe8f3200bf4309e85b0cffed2c72a8bc4468f813e230cab5a53818540ad69f5666d7d3b6927eda49d780cc8251b2ef9de7b2f041f895851fa3166f1333a4946fe0a3da517bde8452ffa308fd20f7140b067aa517a7d887ee8ea2cd440604f1fc6b3d7fe823ebb9e4586fe6659bd3e59a85e0ed07adba3d5ec9aff1ee34846bac665cd7a2b193dd45509b457bd77528d73e5dedd2c3b15490ab7fc3d7c524d55552e3999bdebabbf985b0fd3b4f7c7dcf3ae7d9e7e3cae65d5baea46ab30dec3de63cfa66559d69c10c60c617e0f3920f1d9c298dfb29ef5f041861fe59b7fcdffbf34eeff43567ceca302d24429d4a3590fa4f211a550cdda4674530151d0d30fd5cf213452d9585a70f86e000208800b002ac7d5cf01871b5a482c2b9b0c9594912804a21f0f57f5c648971b7dd7be706d3a92d6d134ad9168df3a1aa669ada3695aef689a06a19641cf6bd8ac57c8934fa5a70af1db54d04fbd5915022d7659d2c94635afa01063d53bb1aabcaa62d53baf773eda671e4aeb15029b0a2d934f3615401e84feeda49db49376f2623e1ebf4062ab97723e09b3d92c3b7e7a3f9f5433194e39855c249b39e7d56ef696cf0bed8561d8caf31f8ebdf3d4cb026556dc95efd8bfcb0205c27faf9f11921192910a89a7e319b8de18281ff7cc6657505633b2fc4ac8dfae2f9422faf14afeafe44f47a67ab5b76e525827e51faa6554ea9d32eaa51ba8dea7f57638bce7ed7f56ef8bbd6f5dc68fb2be79a8a863ab4fa9b79b8cea8d4d3ac766f5c61c5b8d5ef4b3dec601c0d76746b97cca33a302f0329e1925805f7966d4009ef4cca8ee6f786654e97378ee4b1c73a9e3984b03e0984b02e0984b01e05c38e61200eacdbe656ae5aaff7a5f72a8f7c5568f43bda61b6a4bbd1da9b2d4fb2bf5bead6454952a93522fb5d54814aad57be59ea7f5e2009004fd5c002441b52a44daea310b0856abeb7a1dff5520fd554561955de3718eed60233f658f551cb5eca7082b7e72c3628c61598cd13920f1b2dce59be48b5f1a10d7fde10df91e4fb56415e2ac39e07dec9821481c6132bdd8fbd16c5cda0dfba942dcdd6d40d30d7b3d37aa7fd5b2d135e6f3d40b3d950d1b4f4cd85fdccc6c4477776bc34feed06d401bee10dab071c386d61a14a7e9278cb53c45a5484efbe6b467eccd396775cdf9de94eea0d74f4c1ea4ba4f97982132ca28f6bee622bd13e59cd492f5f6131bfffd950f5a19e59cafde6ec2f4508cfd55c9eff7e4a7ad97df45e49cfda49f58eb350d345fb3aecf5c14922013cc600864594e63b157bdf7a617d13e724e39eb475ccac3bc965a84b599c8aaa7e75f6a67ad2a107fed27132e7ef29759af3748768364d6b7bf6cf9d61cfd6c267e7a5752f5d69b9a89ce313fde20194b13d67a797d34690f5f9b9fd5148eb9d4848ddf4cccbf2ceb89951c47e9ee0e6d256b33d135a28f387681d4454caa8a9493916cac283cfcc695388e2ff1d3f561b0cb40ecad8a9330c9a32fcb5876b227d56424295e05cab2af2a961d52cd1b7dcc40a08fefb50669b1bbbbbbbbbb6615c87b2d932429b2c7b243aa2141f1b2f74d32123f7b21ee80f8995f928d9551a68a325594a9a24c1565aa2823fa2aca64d6579db1408932fe2f2f2653d7fd6f1ba52423cf7a0993b0ec906aaa2cbb2d241b6b7d4846ba86755f4cb7bb7f373aab963a02d25555552bb5da6a25a326b150a556d5a8ba2e528ec5de7b2fab2423a41a5bb588fb7c88d3de7a10e7b92e7321c6b2733319860c0f3fe5f8297ea28c120b6518949b5f559e4192114f62dfc7209e84054a4532d2998537caa0609257821f0567e746e7a58929a7c3b110de58f82423413c89cdbe1f0049b040b1575761f4df6a0d16fe878349f2f2623275ddff83493c49120bdfc3b1772c50ac7c9291ce91918cb0ec906c4846ac282b9d8318403f6572429471789edf87103f30e0a7eb411637dffa96efa3bdb7e4556068ef2de91c1593a7d18a8bcef1320d4441558e8dddef75fc7e1588f6d8c7272b309e6b154eb5a46252694f5a5de558f916fdeaab5b5555f3152c37c141ffb28e7c95052dacb8a870aa25d57b554e9543b51da0f71f90154156e5d1aa0a14b32963314dd334ecd58a8b6ac988133de53c9f71d8b7fcc959ef5ca8c2a144f8297a9c602d3e5ccfaaaad5acb8883708e758dfcf6ad64beba1fcab8a8b8ac35ede76c2c2afb8e81c41b4cfb00a8024a890675b9b555f61af65b5bffd85852ff270936968f506e11c5b7d2685bc8a0bac565c543852d3715539d6aaaaaaaab8e81ab242b7f1b8280cad84c6c33de3e37be71ef46413d364581686adc890a182bdb67d94b161343256300de30ac4fad8585855133195bf8fe6d158f99a0c0cd35e7df0c10731197f21846c599399b5c8695fbd7c1aba2b341eeb359894e727223de86db0acb4acb4648dfd205596aab3b2551b4f89c5300cc36cc8e0ae57e9ffcf6a0e5f61ac1c52eadd46f56e38d4d00d955f09043f56362d0cc3302d62366ef829466c4e4ab7cd8a37300cc32aa6591f1fb360b68d521bd7935d9e1fac93d9b0f1686cc8acb80c27dd049b47ecb3b1f025563d470e7b96a6695a04323d9a6669d6cfa87d5b3f45efa23b8f58bfb1c9a661d7abbbbbbbbbc30c6e00468fd023f4087d520104f448588fefa34f29fc81e611f9f388957cf1c557f77bfd5ebfd7eff57bfd5ebfd75affa6439bdc9873c9eeeeee06813e6a6e735defb95e74fd3627a5dbf6df752613b3036695ce5d2172bacd8d7d3dc4f7f7f80e3b877f6b0ff3b423472ce615883f28568fe5efd692dd20f3724dddcbf8adde6d7b51bd74e53df5799344d893b9a1b63c997a492cf56e3f1e6aa5deb9d54b65d4bb7d4abddda85e53ac5754ef7cb1edefb99a58cc8ad27287d6e2dc27a8caae21df617cec25e7dfd5c3bcf8179771976f9ec3bed1f968d7d42ccbb22ccbb2b0596fcb0df869e658f7a863fd7ad7994c2f2f42a4b56ad7994c2f2f5ab44c266bbdbc089158955d439b56d361b779a8be7925f89b183b2f2f2653d7fd6f1ba556129e4a4a797de49dcbac64746f2874d04156d3bab09717ecb266259f77145e5e6ec818f7664256bd7c38317ea0f9a4cbfa1b7eba735ed7fccd4f6edf15672862dfffcb83792822d006096cb08f88e70627093b2815240f27094d3cf5feb226f7002bc0385d6a8533d88706fb3e7bb6879984f567993f9ff6435b9827736032cd98958c31c6755eacf7e0577a4e3fefdfbdd0937a849e14014e852808f49d0255caafe421f5e079fa9e185bbd270874fe3f9465f155711cf5f813828bcbbf13d5a3f8867ff0cd07c4fc3056f59a3c1cc93f9ff77c109ff7bcbfc7f3a23a64f49e1f22c22847f24ff998148823799dc26b10f453ea90d1d31f227ad0c7a4b0ce88a00fd533eef50631619223c2bbf793fbb10303debd9fc966461ce9fa989488235dd58820443f3222029cda5ee97d11d7478053a11fd52143985f2926b5813945cfa994d4e8df937a8c9e74d50870aa53a2274da053a2ef94a89a5ee979bdd5c3179332498eadf583089f9c9cb2920ee23845394e7d384e79384efdf0d374f68779a839297d984f2cb0eb7ab1d735d9abb3d7ff43c9f8ebbaaeae8a384e85384e619d31d7bb01cdf3cd7dea35f9f7b00c6292e7798b27c0b0fd3bf8c83b92a7f2e0d6f3bcc50ba058fe6e8618d6ad3f8f1e0f45e421893206a3886439533016623062fd31e0a86dc6ff869f388b20d478b8072c6189776c9b7b80154db80758018677584489625d090f58428ec6cf0531d98abb265b555a06e2fe95aaa7157b3c4281b14bbc4e82007ded2bf079c6817d3fd6947ee8870481d06b3f81d17b1e7b19c691481008bdf6418cdef36c63eccb2a890401d06b1f44ca7b3e029c222202d06b2f8294f77c8c254100f4a19f00a892b2073da7429584bde863521348a9a40cf413a00faa20982208d07f1e04a1a73f81cfa77c4a0501e83fcfa9512561950401faa20f82bea80e9902fb21a1a78fd5203e2f7a511d02facfc7a458eb412454413fc58d02f411e0140890a832a00755244040451faafc4ab50d9453a2ca8e80ea430f7affda8610080021a09c7a6078814626456b8d9fa6bf476b8d87f9d7fff093acfe040b81b6e2fac33b7ffe6bb248308f5bcc9861fd61366a71e93a6b5612c63c6f206039b1df3a3b8c773bf8803233f38bb0d130b32363f9860b3bd6b9902385b8ed805b20d5573fbffa67eaee66261914cb8f3db1fc178361f9ad9f7eca5ee3a11a638c31da60b39f7ee2871a10555627c6595cad123ea805c67ebae11b547c89aa501365dd7014f6fe3a740eee1a5707c66e58fe6b86e5b7668b6599d912ccebe790a862dcfb0bec260d51ac90673925802420b92c50e024d9780727841effc9875c7c19abf69b9b21a250e34f9e13f7c6470bab0d285455e503fcf93be04f2aecfc187bdfc79731f609711b6b3b8131b17b0ab27966169b95c483edfc1d6c678db1d53bac622cac43740d7f981713bbbfe81f0de311f348358f78d71512d6fbc23aa76d200e76c90b7b6694e833ed995129eff9d09731e2f89544210e42be79f9d4fb62f2d46beaeaedac845be7c0592f85dc35e24bae3f622e65d7904a2cfc8863e1f78d77b0b2ce934f5681faffc000111e9f67b8f16ba777ae0bb64e2369272edd5f1c7d251dea7f4da61b7ed2b98957e4d8f76cdb1d876443b289352c90050ab477d6d8f71806493516be9410928cc426e24c2ce29d11d05e8f9ce350a14946a840fd2dc9a9722294776195954118a5ac2494f2e226a419ac20941242089fe9953a07e3bdf71e84514a0891b0f2c64007836384cfb1eb8857e35df56abcab2aeb9562c66534625dc33f726fc6b629e330eee2f8b915a83fcc0e3cfc7463606d246c7563dc0ab4e29c18135d96204acb6fbd43b5d03e8b570ebd8cc3e3a13ac6c1e970967436eb66986ef8e9ba4e1911bc1324bb2e585b7e6b79268cc3e3871e41f810e2c76bd18f418c0995bf84b6e5f1438f207c08f1a39d748deeece3f1838f966e06e374eda4913881b09d3415986364506239cb37496c2c1098580258eca3535f8d77978eab7255f3c34f909fd8ee5a8d28c502fb6be6e2b0eb6936bda077db1eea081663db588c6d0b0aa4fa781de1a7f9ef87b44c13f193ec9ef1d345ffbdbbd3ab4eaeaa94b08de0dd7bc87512ef6e3a899fe0f78d9facbef113fdf78e45ff8c731e914ea0d673922d68dbad25c296530a2b3b899feed645fc743bc9d6d2b5118e18b2750d396b849b4ecd43759257ea260f75c47524f65d3f62df9ddbdfced44d42dfdf495e27b1a610d97fc4a397fefddbb169d68ac5905da35d9e870918bbdc4ac73e8616eb9acd2c3231b4ccb5f62ee8a5f6f9a44f63cb0505827dcc5ee789ef38143fc5305c0c3f655593aa490546955db1eac79a65c73b589d89e77813cff11393263dda5adea5f32659609064f3844b475bcbbb745cd0a6a3ade55d3a92111214ef51fc743d878ede99b88e3f79ae4332c2b2139f30427ca25dc73e92111628950e86058c5d32eba3e1682702edefeaf25cf72e9d9f64bff7236010ebf8de042a9f8b40dbbe98d1fed76fdfebf0fedfbb38aa53188440c46ee8e1b44c4a8be3ca9f582e7b1063a21015fc4f058275662a2e56b1faf8e1e81055c53aef19c2ff017bc656f1c1ca0d3dafd521606deb3d1f398e81614481b2037f7807efe7e5f57cacd5ffecb7aec9c6eb2f7f7cbf3eefd5eafaa9b402f1cf5bdaac43c01fe2f3f223b90a71eb790b7aea659dca5bb32607bd9bd6f5acedb83eeaf03ce6d13818af97d66b3246c9cd6cb46143aa841cebc0871f615e112f46f8623c9df180c6068d0d1a1b3436288d8da8d15896656936d8c4366894d0b738ca3668d8c4366894b00dd85707db6d836db48c77ed91f10884e2d9f8136d6735cdfa683ca0af7e7e7efef5fcacf7d1f4c5de27cb5c99db64529d2a2ba23967bd376c94c142fa6cbef6f3499655a90e362aa1bcc4c6f9a2ea1663b4de1bf1a1c52a10ab7ef554661b5705623d8669d5aa40629c3666570f45fab9c242e25838f6d20a75913bacfe2ee2eed4c5ca77776b87db6e6ea32df6cd49e9b6f9749f3436686cd0d8a0b1416323c54551d0a27513df1a22ca4d14cbf221848f21de8d9f5a7b8bd37c0cd1fd6eaaf621848f21decd8b62dbc7108c9221398a95f2b28e84e1364e0637840f87c12237231398f396384edb589558f93e84a8efc63be957adf7dd5849fafb791955fe6ed6b3525946a555c6c757a9dbca8b9e19c5f2a0f8244ec863e1984b2b1c7369e3986570cc25ac6afca37aa7a85e8e42415caf9048ab0af6d5cbf7e67bb4eab91f5a5981f89d5c2feb443b7f88ce815520d74b5987c88074d721bac67c3736fe1096c9bbf73056e13ad5a9d79973ae70bc612f53d951fd78a82ef24aef27a5964e0f95f977cef9779bfce2a7fe7f455e912255043ca5f22a9ce45e74e037df9b3febbb1942e4a22c608cf190274c7c9e30d1dd1d3d4f3c1588c949269ed07cdec37d2a33d1b39fccee66c24f1aa340df7f717764a5e4e2cba218308c17c5a1b49575c7c6da4fbc8b968c1a0f4d5fbb427fe93f94e8b5cc6a8fa2af7d88632e6995bda4699f510d0049d0ab06c9ecf53748f61feed9ebad87d50e20f3a1bd2a10ab5ecf9ee7ffbce73fd16a1588e72f1fae4a7b4fd58088b59fc0b86cf991932d1fdfe46e90919d2fe51dc9b77e7219185920f22deb2b8e9f3e54a8de51e835aed26804440f9adec917719c79493eccd344dcbfd2fb1047e7f5d74bee8e327b5dd75b2b5f07f58ebd83de4defb816ef5e3f692634a74988dffd6a9a93cdcf8957e3a76eb6ddaef39c7835fd9c9052467ff29c18719d128540f408cf8957f39ce8d14c91c1a9701b377a18efdf38fa32b8d0ab70a04fe144a3ef91e9c68b0edef58b38eaa5fe10f75eea0771ecafe639a13946c45f0848ec5bbe01c2133bc4561f39d931304fd351c59f33fea702a16372f21b898edcf1fc87f3cc66b632b28ddf71721cb12aabb7a968273ae24b1eb4efafb87ec95d5ca734f9986b4181cc8f1609010cb2cc25fee7955fb4d0e13603da7fdfc3005897cad9f79e3ff67f10fe83d5c53be76e3f318cec8c3c1259208f29fbc84e3fbd7a2184103ae4eeb4cc05ffcd86f6bfcbcc0c2f6c7ef8cd0f0476b7ffe4bbbdf7fde4631db0e20285cfde35acf3ba58a6520bedafbb3b88ed7f5db1e4c8a88d213733ea854ff3b90b7bb9095bc1fa6fcfa3c07e1dc567bc9b206299d760f98538eae5f293201cd5517a30a53eb3d123b01ec1b1481c89cfccd0a7c44a2358f83958eb1d8963951016fe9355552179d2870fd118b41f8967b0f2bc82cce70518bb60ed2f6bcb17088c2d6819d6fd86615c5699b77b0438e5496440fb3dc92bf95f0b454732b4df933c4f02933c99c4fa7bfe2ad474e8cc9871c4e7f1c52a64169e24817a2cdf2c81823cc2921c698325384b6eb4c8c154ac40e133e3d8d116e2d0b80a98791373464646a68ad4fbe602a388a8c2361aec6b31d8e7f6f515ecbb9e555454545454547e8997999292929292b2c40b1d8d46a3d168f44bbc6c22914824128944efff94524a29a5efdf7d3e9fcfe7f3f9bcbfc9e3f1783c1ecf2ff192f2bcff0ba388102152e425157a255e1b645245ba6a0d3232a9225b2af44a7cc4909191491599a9d01321a2440e51946080ce960a3d1125788c1b9925ba54e897784985de1f867500bd576155b88da3dce442dc73309c1311b59a75a50263c1a80fe39061df370ee378bc9581bfc059b0ef0bebf1e253fb48adb58bbc2d669e50f3a8609385225fb0ef3b0c21d8d44c8d4d23e9247ee1d0db5674df740e67c1cca29b60df73b714ecfbd9068a5599ccba6a023281f6ccca10289430d6d0448a681df2214792958768fb8669bc7fb6ab601aef5baa40fd6f5769950df48d88f676d2f68dffc36830aa97c0a5c738e0dfb8418346000270c30d2929adc5ecd1f7606d254ce31529d2a20356d117f46ef6b592eec53e971193b658343191d8ee872c688010679e20bd61e13ffcce4f0b58b253068cae0087252541ef84a9e69064610448da60862cb470851463e8ee5010426aa06d69b5b1289882dfe3e5a1a60da449810a9c5c9104203c99410a32c1c22b8e68015a1750b62a2ea077b3b1fd9ded17db8d337d229154f83959b65c595b8b1a8b095828c164021868aa10d04816d4200ea105300705afb2020b9c6ea3aa5e51062b65fa4e29258e1256aa202565fca400c6aa050e1d45cb3759e4d84b3fb3411522a8b120cb5510916276bfa04e1a17649432422714b37c93c5122a18d08fe59b2c82602b225920b191093a2ddf647104260b1bcb587861df66ab90e59b2ad260a1e51b2c6c107f491896cb60f906870516f3cc55ac402db62ccbcda8760197e2330ecdc2da35db12a81fe1a7db497c60c04f7714c451ec42f8c98868efd61f9f080ec3c6c76e609405b8143f3ee3907fe3060d1a0108c00d37a4a4d8bbd978357b371fde6d0fc5a9a7261b37ceb151d6aea981f15df4058d8f35373f8f102c38a06f2f378196af38a285ccbb4df4051ddd6c016317aca3987a0c293f3071e72952a0b7a33cf13a8acb308d573d09aef15ed68ee24a5cdbeb2856a00dc54f33f6cec6793a3b96ff1e2047ff3580855cc734de73e7e85ae21a4fd6cd0910798766b75115f49a84f0d39d61dfed28187054e7a566873227a5dbd69342ce057a6e0c8cdb605becf44db44096e743690fbf49c028ad12e1f9cc1478a80bec0cdef381519e0a84899055642fef882a73e962f6f20ec62ce3093ab246c05e69624b03bdbc638de86e8271b485b3faf8928bf787ed68b3e700a3ba57820f375683851fa4737460668071746003a20126a2736038aaef1e8a88b743e7c0eaec1af0356da7838f4dae65c02fe00efeec1c3e6ac025f870329232b40e2cbc1fdb499806fc1f3627d01e958777f0b726d0f897718878a88c4bbc52067b39cabddc537d275da614a080c3bec968df43fd7f64eeb8d4dff2f2dac556338a59a197a48c9c5b2960901d65c59197de4be08037c618cd5dfc406b3d4020209491e11a1016f1c65883cbc46a44f542a6f58bc47b59e43ae05d8b78118b5cf593cb6ce47f4882bc58d680c87e875eeff98ccba0775a75426813006f2ea6cee3f9c8698fc92cc47940f0b787ea5c3ac70fbe51170825a816d163d8f8f07f809f0a83f00eb2b7c522d78369c0a74ba8e83f7f39a707e3880f73c861db2e8e5cdb231eaab914df9a20ba62631cd9185d6c845c8a8fc54af2c1f3d1f3d453a300c1e8451f7d887ec8147134f2bce8619e277aaa48ab7766dc7d8bd5fbec65318c688e7e7c2e0163176c261b596e9b3e52c432e3e87fd1c6eac3769187aa80fc587dcf7f7dc4c2af40a39a892ef250b34bf0bbbbb5b2b0844297bd5de4b2979b340e386cdc5daf46ddf0127c1d2e2521147be9b2d83eb177d5de3982071a794792fd245979702be377113f41cb375a2062619256e2a803e4c06f1a3ff14d16c2808288cfccc8dc686106f6b6115297c297b17b04163e5cc2b30f5842ce08188794d6c79b93d26d7ba6a74b68efe81cd9551ba8cb6c612958f823461df14a9cc347d780ef0839430cccb522ba085688e6436563ad82e81af04db3aa3bdcc6c74c0fe543483769d2248ce68678077d08e91c1ee01af0bbc6c26fb235f900d3807fd90cda114c030ab12581fea83ebc83bfd2037afde52657c64704d1397c740df8dbc6a4bbd0fae81ccd35fa590a474008bb927cb0374867e3579a03628d0204d85f3eae1f32453fc65a105825c2f65fef9a8e8e5c90cdceac6d2e244d642c7c4c07c6f1797e1ecc4d2cc3f029f4fc3bf00994fd6580e55700e798d135206517cb23942942119c5aadea0cece19b1eaa9b609fcd9893d2edbb4937d181713ccbeff1849e351da0676dc7e77946e7904a58f82608b549b77f49dce820a96962092552b7b3d7b435b18412f69aec35f1403f04a1e37809bea9ebfeb78d529c2673527adfa25cdb78072f08ece761dc67de9c946edb7ff7e11a0aa6011ffb2c5951423dc73bf89fea38bfa2041abfde0258f83823a07d8cbb6d030bffc2b1f0ad99aa3e99eb0c3936fa8cee95e2cf49e9f67fbbf8d3b304bd9dc4c66f1c3fdd3e626312faf1fbc64f4afc7483540bea230f15faf88de441dc0fce8777f129274491ebe3e6d785d178173feb19ef8a74815eaf3d7b9745e85d56613cc471ca879fb457f994bf73f4975acb5121e8a5ec63f677da9865d9dfb75a9d336c5625c6d1cccaeced6cac19bbc40aa4358f3fc098c3c85922c51158041279a2736384f7c4ab11230c263948a4f026bcc8ce1325376dd34fac410ccb4d98d81ba6fe5662f9c63b7e68039f5883184d985081e4cdbc26a0ece02881c26d5c660d6034494245d3f44c9420bc844777bd5d73b30bd3e087d887087d9a0e13d3f8502d50e85e4ddef1ec21003666540b943f6a3bba6b7795fcbc8a1e520fb2a378c70fda794accc7185e173b7fdeed33b5bf6ee10fc9e1d2353c60270ef8a04784b277210c66d61f7b4ad0f958b7fb7cef59381983b263a9ad1e83f0c1e709fdd37878b6886743959906a8de23ec9c9d6387aef19e7613738d87f78377ef3bebdfef70fd46a95facc42dd6fcdc7391b03cb2a0f0b16ac4b437880bc9072b6b8431b4251318778ef7fcb573c4e7ee8a6517105b8c9aa7f7ae73f4b3edfce456019cba960e9cba987dcf9117c0a9cee196b946ffe42a2ef5bf9f3aef3eb61f7ec7389c6994f8f4b8eb1c6ccb68cd01f23b07a9877f638c61ab7aa3d7a8b86b40effa45d1373c7ee051c79ff2210f15de39f6e11a0aeffc29d747bcf307712d85772e73c95c176d6e5a7ed765c3b202da49bcf3f7f883b2406f2349d132ac8a6aa8de8deff70df568c59ca0d7e8433d94e7e7cf173b6f67e787b87f25cbfa601ac7a9ecbaaeabd95dcbb0eb9bc32e2b72d764ad1a1fe6c1cb210dfe5b5a44e0b1e743120902d96b3f01cf7f50d97bfe532bbf12965d7f5fb020fc74ffc2b0eb5f74780fe3e34790f7421ca572b3c37b1e9875bd77215deff99854c691aed73e26a58377efe28c08227b8d5f8947857104bce7d47497152d6857dfbbb79204f576e6c8831b37ac59c9e7cd04254a6435ad0bcbde5f0718bec9b0cb9a957cde5ee802f221d7103e8c37849c63693a66b78dedcb3945b0a5f10033c03916480c121b847346f5869b27a5fcdd35d50bdf7ad9399acdb0c76acf70dd84774592a0b7692cf306bce39f473cd48fb7013f91fc5f882f80999f0ce31001a37c864bec2db0fcb3ded784e5771530eac9bc12ff7c81e5f7f480de27438477fc2028d0ad657351e1521ed484f2b3f5193f914cf6c6c60493d4e1c533435f132a4fc417a05249fd9c5279fe2753c44fb092faffcdb40a4b09e40e9cc2398d97f823e7332c37e0fee17988ba402fe304c1f560027d16c23b96e1e7265026c54966e0428a2edcb48c8d8f0d81bec054fea4aaf2e0b67a89af438c4f8490f83bc48e49a7f83214affc09456cc4828d3f23cafadec5ed95e27bc8b0f989349fa5602f4bc156efb17cc50fb0b0d2fafb627581c68ff15f6c9496af4032052beb659cd10b1535a1975a192f307e28a6efbd37df7bef3d67c204ad33798209d691919159a286bd230baf8b14d66027bd494218966f9a10060b9d5085851f351d70db76f8695bb6080110b2f0420c44c849c19c0be8c8e4600c6378b2852552b00b2d4eb00395190c536d99735c22b0d27ae1031b1fc6c812855efa9da36361132cccbe40ef6cf22efdfedc4780e97024d65d62f7efefbf7d0ce5dffeef5cbaee53fd306f86e426178473de73e7a21fce402670763f84104208e7b7bc640a18d5365c7a0fb2d767665c60df770d18f5a37560df0f58a7086fc2ff410406bc7b44f889881fa2d48f3fc25a706674b4b558f80cf32077bd25afafe4b7e8a318494dc7f5d8052fae9f35d8720c6847a28a84e8458f89fa61fb00bf2bc907db0de157f245181049381fc66fbc7433a0ce93f9138ac9b5cd12f4fa8cd57533f5868d0a09684799b166a2cccc44d9f1d3b4ac5148648d5e14b2e65b9cfc8bf3277e9a3a9565f1606b556bea4c9b199a9a9928333334332e859f70b804cab9e1125b50bfcf78e7354ee3ddfb9a69bdc66b66d85e9fd966bca6c7139d1f36968d8d8d8d0d88bbfe04ecf103c21ca80375a00ed479cf525182de6d5612ce2079a89068663493327393c2d16de667ba99998fa7b8007e2fe1c112bb62598b3164ae87df9c63f9dd6d14a1189b0e627b03964910d6b1d8cf0bc7671ee300d95317795e536540a06ddf7a288f8033a3a3beb8228eb058111569025a9429a0408422ccc8c8a4401f85e8ab868ebdc4a015713248801ef4188853e223334506e0f723314506e0cb8f9a0f3eb485df16d6bb832d902019b0fdb20679167b2140dc03c30b3432298c8ba2c8a74298ddbc6bf12ec7bbc7040b286258ebadc76016e29ac6554440afcb6cf3826ca057489c21ab8b77d9ab8c80f6a4b4ebca15eedf1f6fbb432ce2421c88d371590fb9ea2f8e899facd774c01e5ee6baac1cd6ac87f19ee10af40025ec74759931e86d1d192260a0d765747a864891d47b9749f24a9c83e43513fbbe73fc4427ed665e503b788ff7a92fa6acdeee5f579510d04b2783fe7de7321e1fd038e24421109d2e23639fc7434bb0e657a33f7ccecc1f1530d07eee6ece9dbd63c316b670df7baf218de80c0f3e17d1d07ee839a0b705e25da36974f073c6320758b57369b5e3ee4d05bc7ca386235688dbf60aa18806b465c61ad78bc48e8806b4ff05e91a1d7c493db4b4d13e0bbfdfa30e1c0b58a0fd35783052e10a1142f721c208c5c06445852bc0874daec163ae011d090bff4d8b0a57b02e3260d8a7fbf1f35c24da5f06e9e8452863f5a1eeeeb01fa4396c6aa0977a478641c4d47cb7b76d14b30e4122355fe9c128ab2250af261d3776cc88966541cb7a966559965b565b9665b10ad474e8f01aa5b6a39a56f62096458d87ceb41dad492d6a1ad434ed796b9ac6745ad4babce7d471f5755d3c2debba304dc70c1da61ddeac691e8fb6c32bebff6e67e935a2db85659ef678187ab26c06a987f701db756af3e5853c043f14442d73978e466f34f2514f8a81b41da1ac351e442d621028a4e908b1bb4b0821ac73ea18693bdaa6683a5c284667e8789e1b63555464683aa6f7ebc7f8bdeaeddefd587bbbc37e7847afb76cb46da335d04df3a1ed0ae9062476b430a87fd7bc36d09b598e5d8385f45e8bc708d4ebcd6ec02187cf735d796e8c9d244d47cb0d37e08083b6c3ed8d1713730e397cfe312e72f079733c3d77889d5156d36ab9b04cf37c2828241aa5a8c8d8565848b0e579df80c30708d085ce62ef25815ed25e5cf74fb4284caff484bac32863cbb6750e38a7bf15fb40cda81e9dedf150cd05deb9bd737b8777380cd61f0df38da877de393cc7fb16d81adb5ad75823dadeded9611afe2235708df840e0165a0d066f54ef74e7e842a37af43803cd3a0757d2c34ca3724ba77a415cecd66d5d78d1444afe88addc1a708224afc436463a72828cf2491259042554610517950ca865f9c68a2f6cbc82154ea017345abeb1220c2a966f94fc600b2f4469ef19cb4de39cff53f2fc3de48a60162cd09b6dd4089de1a7f8be805849fc9c8adf9554294b09e85f96afd8c10dec35d9eecffcc437536c506ea10b2a648c5decc0c6255231a6a07b0834b37cd3050dba88410ae08659bee942054d4cbc03afacefe20220d0408a2cd8a0085070b82822999c8004b106315929a59c72ca58812b72c08619c8a0046798424a6ee1042ad02fbc8099b420c6386794f2698e953ff253568513c048e2a38279027b3b1b6f746102dbf63d93e5620c2ea0545298810c65f87e2c26c6f8ccb90faead093406fa634e4ab7adbb8be831f8fbddbf6fb5fc57001b4bc8f665fb4553d0fe0bfc601cf09bd1609bc5609bb960fb1d3efb1ed71b13ebe33aefd872cf442874a040fd3108708a483f774aca78c79cfdab9e077ade43a8f1703df618d6196b3aaa073d108310888f98e7451d09a072a3d66316472debb3ed41f54e6a3d1877df62efb91f1fabb2d676683a3a0aff1945fc188497e4f3033d400939de55b5c74a10e8ac3c2a8c7752fe0a10e8d5c1cad7c14ffdb2726b3be6c74782cf9672cd3de7d279f79efac9aa7fbba7eda67eea2a6745bd932fe57f9040dfcaec49f085c8acb32e301e1be02c9aa03fe9fc6fd782869e105e3b8c57cb355e35352be1a1490b7a390aefd023619082080d300ec963058773b901bfc694293630bd6ba79dc34d1d32491c7a394a3ff11a0a3fbddf401ff113fc3929ddb69f8c43fef35237d34032528135bf73745de11aefad3a49f6fdadb3ce9ef0fb9d6bf7cd7a062b63303ed231027eff7f9441cfccca870ced10e0609da2c49b07b3f241815979f014f8957858412fb51445824f55b4d48fbd29c04e59424fb7658ef013f4cee19083d99cce6f7af1edbd59e92b3d4f61eeec5dd6c5d4941dd0db322d8382190f1cc6e9ec659c08a5ab18218ab905145740c9b9e20935167b3aa298cf7c2271f74a7cdaa490eaee95dee7503d7d3ffca0b3c30f92c70fde3dea857daf5243efa60353efe63d8f1e64682226f5525304f47642a27b9c715c52c63a778e2963f95d8bb587b82356527c4eb578e9bd4bacdb0de8e36008b00bf43d69da16ef3626d07f57f8e00af6be8cbceb6c1439815efabaa0fe506046f057ef42a66daed11fab18e38b5f3de62ae6cd56ef9e5967ce7f6edef5c8bb16efbc631abd03cacf6f06493dc618a3c789c568559594b2aaf03dac333e7c0fbebfd9832f725d679d8c31c28f5ba4934b2e5fea5113ad683019b28bb7b8cc50ffdb6259b8402fb5b37a95ac9367eabd6b26effa65804d3fbdf776f7be2cf632b72c06b3372d1633584569b12a93d16233abac6c3e8b5d998561d9a5f1e059865dd6c43ccd34f8fdb935d8044208e72bb14b4b66dfcbaaab29b9ac274c4247130b23376a9600110610bc48c20b274083152eb0411892d4000a2cd66044460b2b019c181130794217b61086264fa420d559d87efa022cecdd6ca35e46462604a91b36c6053748431b58f0852420e108a9feb7ac751b79fe14488111832f6c6030059417a41867f4dcdb3b2d7fd7d1e9d29418ab0729ac46f1f512259574af248c31c629a18ccd0280246e7c8e313a8e7dcef2bf09e4599c8f57e29ff014ffbd1dbc7b10c2c75b849a8ef7de7b212ffc3babb3a8740cf884452d199a1100000080003315000038100c87c482f180a0cbaa1f14000e8caa4c66561689e328c8298590318400811101110001cc0481006a505994f4e5dc5dce45acda047971d200e7dbad445328d01dc6882f9d0dd01df9ab2b8cdd2859717236616e38064f42b26f608217aad033273482f2e3496870f164ed4f70045338c6cfc42c398de0138534b2ad5b996c11a95c39104b7a53aa6719422c819d7fe58ae151bb8fee13705e9f32a8cc8a24f7c692f891c3d81aced133006f70702078f478ecb3179d60c7c9feff983c977a3a3860fe8eba6b27b6c5e33e1afbd28a97ff0b81c64ca7c24d3f406f41e08418bdc3cec86dd0cb8e31a897c6e6956551b9984825280aa23431d87ed93bcec8332b257f1fc2562d7814b72c96aedcd90c05464f212ab4a885eaf28fb6ea06ac78d54f631b7cf67cbe2d1c0be877dfe4e8ce00a7e296a5fe581b09a93eed935ecbf4123cf60828614c6b21c75f89485fdf5087030724d1bbecf339043863c47794722d544f3629b7bba14252fdd1d1bfddae136ba35746913f2313c88e8ef7ccaa632166cfedbdb0cfbb2ed8794f4d11dfbea027a9edf422bb9d322165b4ad9938dc14532e1d9724c7ea87f3361e3a05432d1e3e431747f9726dd070af032266949e67b61bf66ac31407dcf1f9d755e84bd95f43c9472ae451b021d60cfd056e61e8827ef93f6ffd829394ddda062ef474900dfb77575e66652aa8b4310d656e23813b40d8d1e57692a4123fd65fe7f39328e2cdebe797371391bb8440b2b0ea5a7cdc27ce2084bc5442503fbf33a4dff6f6d5ae31f5b0a9f56b6d262601ad5276879041afb1448b13e1edcdfdfb9857005e30d29274a94be61f631cacb10ea4a46375af326f44c1a545bb0d2a0647c6ade895bd29cfabe4e623f80d3197aa8188f9c3a532c01c5676b688f1e20ec21992dac528697194a3b7dc5eed5f5881be2406e894ea5b07ebd2b0cf843db3bf27b4abcbfe5b46491652ce86ed36ba61059766a2d175dd8e17b80aac0c8992642df0447bcd8c62dfee8f5a24f6da65626d33b18c1321fad45e372c1ec416a790f50220b47f38d56a18ce02a7ee04a381fd136364f9c5712030a523be566b7ce37248c68f0b61d49ad8126256f12e1dd03784b6dced84a7f8500138313b164f4a2f11ebe66f4689f5e8ed988ba8ada2b092187ec436adcf8b06409ed057303efd7307b005026bb009fd8ac4702c1af47e3ef195204ed860c2e86672c414f66552d366101c14d24c84ebd343c8768ee9a524ff7d38fd0dee1fe7b4b1e6df06d57d0388c1cc437cf2478b79c695077cc125fe7308a4dc77fccb7b9340b09a9c1b4818ee8e5462dc7b11173d584f5449869a4c7f5edb1052a2aeab447e9261a166415cbdf89da4bc34c8009a4a698770b9cf359904cbfe94b9ecc3b6c8924ffc21ae3a7ab8eda851fe162afab516714c6ff4252c11c4039bd50511b6eb96dd28903f292104c20ac3e4d36f585d17b6f7e57aeed25b64a0cda15b2b4e952978bdbeec8ad22ec06056e6e7319ca844e68ed7ddc331982015c2a3d07d2fcc499809e2e3156c50f2526642fdfdddb4bb06a75e6b596111cc5b2b1c1ae4cb69c387c453cb5c3dd25009ed93548e59dfd7b501e3d8548e40d89892f55c7575fc39507622e326311e7f1a011482161bd5e37c7e4d4cb3e7cd235c16d86fdd9b65d5460968282402a97f37a8c11b32b37d3c462a36ca188b0861684b55f37ca6d9c739cd1649a055adab9983f511bc9be359b092768ef2562a057b28e2332f415877d3f2e93bce1f6953db0da3ff2f6c350265050a554303b2b06bf9816adab2b4c580166e8bdc098ddccd518f0009d224ecd60465aae94569dd6e088ee95435af6371376ac5f748e4919c6ea30f0913aed628f56c7f37248653b3068b084a756a4f4976323ae8a34915ca47ed77b91029245e772de4ea1066216e5643f3868c03521bf2bf4ac293f7f3852030f13a2707f870a70b2b980ea72cdf91936c2a08040b5f1a0258288da36661c5e2bf6f0f24868aee920c29a5d483153e970e2582b72029a8b8f5dbf8a1b7f9974e37d98da603b628a6085630b38a939f9d2032713fcbc55bdf290c37671ac135aee300376fd7a1ecf2198f58d14b64b46a0ac2878c4a05dbaba210786dbfae1b3477fcbee435259640d573c7893bb2ad0e244e8f8fc793b264c6d3d7ab582ac6008c723e0f0bf81e5c72e8ab3035dcdb7ac1ca505c4a2b070eb8c5501c06838ea4591bf9350b683c32aa9e583e8134271e1b65950fffaa4ec9e3dbbd85b65aa25a2b55322791e04f984ab37423e6ab627fccf03c75410437063412e7b29ba681ae0c72b6025230ca6f70c597f4f67801442b67bcd7ccc3d8c69b7f9f909d3e1325ad4e6e54004227d8ec8caca560b8794a2cbe929cd88098678095eb6e37d2fcd57d6c59274b323b8a3ae041c184d1ac5aa01f8d12e6721521aad8cfc7f9f7e073fe5098e7be056a16448db7c1633362ed4b300ee199fc8accba5a41e7e8f71ef531ccecd402e462d6e8986ffc3b9758bd0c7226f6da7693da85b01f458d7102ef9cb7b4cbed726dfe887a175057687302f9cc19a8ba1870153fc0a93640f1cad555560f8a9df7a9883eef16bf4807838bd058590d8b8756c6624eb3d4603f90f7a93832cb7039cfe4325d8dc8348022bd4588b56a481ac03c0c9b56bb6f6abc9a3351d8b69abbea70627478803ba3a7315514a0a4dc0d8ec88173b764aebb8c5a198984f00e96a036d9911595fe3f057b8a0e2241a871e94ed35a42d545083c971d28eb7095103a46ed362f79cbf761956545a6312a0c1844d917c86ee76acec97b2616b8ba9138fcdb0359d9086258cd01c816681d8c468ef005f22fc13b4c23785282d07eac301b05ef25a3eb32654daa5133f6cd9393c28ac5715fe70694de85b74273cd2fdd2fce8f0544830482f4127c23035d33c4a38e51fbd4f771fcce2d1061b938be9d5b409604e3edbb2154fe78f2e7f6c0b53e235a31824c5549bc8d0286fba632b946700a8eb911e31a2ee142fefe6a02abd82bda2a26cc64cb031ae38f79f6ac8abb7d2cc0cbe6ff6133ad6b449a9eecd746e479a9196c5b0c17f36d744b0377e260649cd4e19d3ce38a8af8c43d37ab3d83a038f254804c71ca168818f0c78124ea90a41aa23e378c53a287d84cac0c2cab2ec5a1de3e4a3899a1b8551f48e80ea0fca1c109c14c0788c6496ca201163b1f571cbf81ae70d06f2b57fc3fa6a1f0e2f6f29b8eaed0ef0131a0431bc499142ba8d1211e94f596caa16867204677a3065a0a6d5efeda2875be4fe84bfce66e0d6d14e198e1eecc0fbbfafb15cfcbb570cb8d0fde2c609946f3dc1cf67b63aed7546a43fbb12d8b6ba78e235850154612ea40a26531c5876b3c5e3920bc7a0b1acb7ce6399bf067e239e2f12cef5a212de10c962c98b7a9999a883a9e962f133b7bb28cb42ea28a4daf6da047f181142f7e90a936bbf703bc1c567608cf4ebfdfae696f31407a0c9f2c7b888cb13e27a3fbb7b3b4292c360be843e79d981f2f8268000086dd1b05c03122c182002b2a28fb854535cf538191f74ebf5bafb3a410eda6fc0c17ade5ed391821a14835a002453f781dc6981824db9c62dbf8d3eff344af17dbb84c750c04bf7f4ef05a3a3c07993baafa184c31eb5be877dfa8eb6d4067cb099ffd67759a064a05232ddb03e0cf12d26152cd4699a57b0d3efb99906118c5c07b032c3bc8de5f7e8594d422c39273e6d8254aeb1d70b09118f50fa05f40ab6053ac91366e8eacfa7a9d1039402efc736025219ca2b8278663dbe87133335bdf39c9ad253054c7ac517a098fbbb48ac6e174c06fa0c02387a394682574180821ee610d6f2c86a11dfb27daf06b45967e5ba6b0950ca8cb54ea1bd9c2a0026bc0d63e75d7f6b39d1153ae731d3b6d98e22cf84db0f5eb87d25c8dbd27863937e711984efe7004ce64078da0ff2eb4448f2590df3f5f46112f8c86ad9d0e7fb14568a5d1c411a86d705d6b9e0cbad783db630b98e9c7234dfff487711bff495b66b34b62cf0aed4269b27dc8c4b47878e2d5f8aaadea966c6ddac3fa0ebeaaa768d6253a5c96eb2996fd83f105183efbe905176bf8806cc94e42d9619e13b597b486dc4ad8bd22a32e77a87df5a1f7a78aa2fa84d2f017284004bfe0cd463cbb72651ec43b78945b46042298f1e543fd2bf6692444aa9b4c792e5d0dcc39756a18a16dbe5b3543449f529a6ae7b2fbb4ad78d7d4fc35cd24d88fa05aeae598ba8fce2a0cb22cacd3892f35ef12a46bb66e65c606612505a701fc799ceb9387395aee5fef84e853652df2e809530330473534c5031296f7c9e449859b9b2e301fd2fa4abc5b8dcad1f6b857ae88ed3441bbf2703ca49eaf90228ecad490f6ca63ce3046e0e00dbebf1a4f27b3a502871899c45c09ac12839b63909a4c14a9ad070e0da2eff48b26e890a0189cdb40dc2581793d8f8a70a99d82aafce65961752b6303e6757bb9387099620fd5ed911cc61e9949965548eeda6a5d9ad7d4c75401061db43feb1186aa6d5766f6ad5ff880286e7f08e956aa0c669c3b013306859b0148369217db16c2bbf07a5405d6868a30576c0918aaf4cb7805fd6d66539440bdb810fffa2b8f152a16e818efbbfa928e331c582f8df1f21094c3bddae4c96e1157abecf26d926f19f858559c0e08ec303d0c1feb6a176c69b391ad6320dac074bff3ddc620a3f46ac8e3abc9850c14382abfc6c1d1e281f170c0950110174b70172786799aea45230f69c9b27b7dc1153669582740ae17897f7233ebc43bf60438d5194f95a625a53794acf0d3671e545ab7dcdfb9be413eb979389511128f635db1f333816d852450121fec85fd3f43e9b3ae62c73db7a045170eda0b0b7a9fcd6a74504d107f4315191af983c82bb049ea02b2a00b947633425dddc3b3e5c3f13fffef3fe7aa5bb0db0b9ad90c83658b381ecbd310f402a24115dc289b16a3a07632ce76cde0992a3c803eef00bda4bf779f86878de87e84b5b87ce6e5916a669275060198f1c411ff775890ef87cba031bcf08473dc6638c075799675d31ed27e38f29c132ef5d1177ae78e08c290cd9e15d87d4f425ce3fb46671d00cc2a88d0f692b3112deae58af1b0b7f7677d5f38320c20b15f71127c7dff31bfcdbe0c82005f86f2592f420013abe8b6f6e9a9091950b0ed6d3a56aac95da7f9097ccb4340a9889ee06307eaea86cb172b184f8aa117a30803afbc1c43bd41331001152f1329a86caaac71cb88069291ed602861151c1df3a1fc5fa0f066cf5bcc4bc23ab0b18081e69f6efc3919a388c23e635188703c3fb91755e5d7705f7376f9e1267b168253b1eebe5df0ef48cbd4729116f85001204c76662f3f109f26222ecbd6e0852670888875805b45cfc8bd71709b4052fc7a3decfca0cdcfe91e56b8e8a126b44927a47aaeecc84ed396bc94a04cd412fceca2e767bf5e038289df1a991b967a301b671cdbe5398491abf5f8485cee6dfcb46edcad95f9665d17b0e813908cd2b1253249e47f92ee94d2aa079b292ab6b7ea1cbb5e65e97d83d060df1bff81ac3b5ed40e6c6b2384fc57049738c70df6cee8b5f5f8de15f8716894c8ff6ad376a6bceeb3c5c05998b1189275fe03e7c98bec681f1f766967de7dbbe161e067cd294fa7f3a219aaf9cd31787b40bfe7a8fa84a2c940b920f18a1009775b1a04b562b20e47509980959b072b7ec93bd9d97821b408c7971b654ab8fdff39ab2715aecccdcb3b43ca0785ee93470350ce0e59d3143966d250e3a9f5630825431e2911915b403c90acb89441e2b041170d1d2b810fd2f3d5b8c71294ec490a0d831f9e5a84e2c1006e0b424e890e832517c593de179acfc36e2c5382ef087c81c9b29d8c1cd18ed43b2ad81938029b2c998df7f0a92eae7112e663cb5be43ea8819121490f0c7f99bf3ebd002eb0002fd35389f80bcc0ba1203816269bc698cebb9c950991c6178b2cbaf045aa932449e1488ce6ce228ebc28c9414665e45b88ed273956a4176823f39226237b26c2daabad8bcb20d81939c86a78c5239c0283ebf2a52c1f709c7874d839072ca786c1ca4e185a702f2be510070af4de8d2e1d7e2ca7bda5a6eb3cac336e178b57b464242f2a5fc5ae14026cb4315c41741f8313c7cb1648f65254f48b42f47b904a99345640f658a0a8e7f31864acf97c36801000afe67db7e29e0116baae0b4243d047ae4e8734ed974c5399a9571a87d5e9bbda68e7bbef99d32dad987a4e1fe4bc61f0efa422694886cff2e2ce4efa4736b6f45fb4ce98e2d07a0705bb23edeac76375cb1e8e21e5b77e5d668b7a5a63ecfe46a95a1c673c108aa97b50a41d0725a8862e8d470586d3ba29d90f85fc1ede0e809b88e212202fdb00cddfd6a2ded142373f02b700ce4d865575bf98a6eb7c5332e089484601797bd887d8b85bc8abf22d93ccb325ffff3969dacfd265dcdea3cd56294ccf24cd2b4bc36a801ad4629c63851a4775ff3f0948f083735059630bb9910f7b5cb89008c992dc496ab613a61ae87dc21e058221b83ddf008ba63cc4e831d8e2e9e0fae421579de07f9518498008d0f66cde5cffde35bdf8d53e634422a651e0286202d8a61c6213d8df2044d6f55d8cbfaee567b6123af683aef51580a3ec4185089209be4c4550580d95f335b79a5045f8da3425ccaef1305c81f93ff702f173ab35ce2f69d4adef2f46afd5c2621a2a41daa04e0a1d2889a48645a8802f1f2fd495e57cbda8fbce5c723a62e6c43f4412b3be035237c80cb65ec6c4370ddabb5446062316744903e14ecec445367fc6b8afca476e6a0477e93d609a7f1cd30638d48ab12beb3a18b8a5a143c620c6fd1841db28e0dc6dc739e5589ebfd60fa1b49194af24f0dc7d0517bd93a547e75a1709bcdb0aa1db02f21f5ce7662bc386d1709bfa66f31183ef09a0f188cf9e940c61efc26740f4dbee858e86bea7cc4308b5f28836e60420e9c938e68af20a835c0a9032b22d5e6c774243340f736586397f488efea9893941e4bc497a7c082534196e87123a159e23a12e3b0d403be91fb89e90d415bd82e2aa68d07a3c087c7d1f4a5a27aa2484fe0a3a7276a857033daf9850dfed04855e47f7cc1b748251a78697db1b7b63058157f2db8cd5c77ac6375e10417c5607bbef6d86e560dcda8d67dccb7f3e61fa800b719e77f75229f7cf16513b3fdb9d1a113c0dfabb4c1d788e2f05ba7d4736ef7adb752728bf9d5bf3bd1bc87a097ab925873e580d99e2984f946283ce6d3d5c0e864a8097ba29ff0caa3ae6db213d3268793f90c3d8e27fb1ee9fa65377b69b9d87bc6d7174684e6a12f2856343a2c203bd68f97adfb29db835f6c8e55edffa7964cf4ced930a57d0e252daf05b2408244d770169346e9e0555f1a29992d64324c412572bd7356b2526e63508d3f1298f350d13f6aa8ee24e65184db5faf9694cec4c88594213c11116e4d5e47baf50d8e19ce48567040d38ad73d1c8334697d15be33da2b1601410cb3355017cab87ad05bbde26ca17b6815e29154ab69e489a73f88db067dd37a24345457003bf78d50b190b890c9a3126fe2e28cc822c760f08c2c018c9ec83cc73c5268a67160f80d03090bc54d6c1591b09cf39d87e85175df4171109e851ac6eeaa41d858617bb8bad5ee8eca29f5d9f10e2f5a27e8643eaef9046eca3cfac8fe2218d9a87aad8a588c20211103a24deee21e5006236e1488d0b54b51198a4411a1266083ff72a8aa4f7107c977e6b3f38a476e2189f557f0900d08b495bd92beab132f6a5da24d496b6f0a750fc8140b6436c8218412a8b98bb139116cfe82ab8b8921e22ecfdda3d49150c033f7c465fbfa484993c63d90aee4ea84057407ae5c83392a564320c642b5cdb38363ca36b2507847e269f765f3207936a60999b39af8e1ddc156a0ca8592d147c4a2bc5a1ce01b78e24e2d925952a0aee5e1e2e29ab4efb5889005d558ae64c3c5e25f86d11f36d976193d56dbbb9acf768136756eafa7fd35d9d065dc6523585223cc93e4873c01520caa01beb8831192687d87e39ebf9362c5944c58d9b061c97b5ec7ed085cf5f8a08b8296a165a2cff45bfcfdd7080d03e6a440714260a2e73e8963e8935bbcb3e758f3eb35d4f29eb4cb1f882e92e5da0da45989bb0591f5763addf973b29409a5d48d57f10335e08d704267529d45984e330225a2de3ee8beb0c2f431fb8fbb4f1d8b1b48204b7a3c3e0f6e32027d487edce80f09ebb3b2619e8257a52837a0c8c395dd367d80b876cdf6625ad54dff21c82c96f29624e23945491c0152b7a88219da983b9ef99d8b9f4f0e1722ec7f1f3a4e1583a1da8994e6f33e41be4878a83eee8a71bafd7977bae0280625e65a9876939fde338dd0b8f693d06758a29e6a5418f6a08efc72b9168c52cedd426d3ff6c4e6ab77817a862b3cba9d95c08fa0bb4741ecd3480b014a76f897a27be7f9b48b0d0c8c07e4e90678610c20e8c796ac183e6456191c784e9f97efa83763759ec7df8148dca184ae9501ce7d21fe18bd0fa2407d9cfe368537cefd71c587ce3d80286bca637146962377be6e1d9b3422b1f6c536ba058ab9bada854a250451d5752924e2416bc2f836dfce1b8d671a7cb7c36837a19949f8c132928ce5f158cd44ca34efbb14f01ea9c6cfc50d2a83a9fad2078e7fba2ce81b1a9c98b271accc814b1eedaca7704c8020cf316aa43cc8901aa8c1e0ca9cc9410fde09e8a842037b198fc4691e329ca8cc9a98478b92f73136bd9df1b8158b3992f5f5cae2984d629c15927dcbbc4a9cf5a80a7c4a85964bc5c36b21fd25003581f99c1e7aa36d2bdb9146a4794df10ecf0de0f68a03d108fb71f06a31a91331542bef193e993d352eafa09132cfcefffe5999b59cefc8618d3cda5941fc25626ca56e438d4346d5ed87bbe82aa3df66cebc8eb93cf82e8c25c3224a65f5d16ba9472c38d2edd186004be8990c9bb789301d5e97ca125b05b24e7826233b165ac1aaf934075896a76548098a478af448cf7e669206014e50443059a1d8a4e8281ff91b1ad2825a8f90d7fb7de4ea119f8182379665de0da4a2c3a70424bbdc00e870ac95ed3f9fa01c0ea33793e13341f38d74ca94df5ddf366e132bf0cb39e7632c93a700cc7849afe9c7a5916d6e9044a7727c969a5ccb49358c80bbe14675bf92aacb527c72447399aca0b99c9b2ac6337c1d471a4615e600d82c09f49d3142553d31f931ef45c9e6979f4f1d29dc4c12ad374d93e91003d947e45709a7a830081bd3317b8ce2d10b1bf38120c759611c42551238a12757c9f6965f9fec372957e7f1ab832dd99c4c3fd94fd91ca603e96d3d84bb6925c22ad9f95d9de201156c8d4c3c034c136cb1053ce31b3d19c78a91b58a8b2fe49f19b98e1dd89b7c407e1255a7fe20cf8dc5986dced9200dde025226ca2c562e6682398f05be01917502f4e8e3df890bb7d787cf325a35f3bcc7a19bfafb3ce217a768b3af998ff5b706b25056013b1d979fad703961014ec70a9c8fcfa08db294174284d2feb50a348c78bb934a2f37f059a7eaf18fc29f9251f2899a7d478b83f1d3694b51cbe498fa610a70ae26bb4d19dc9564e4925eb7dbce7b67336a5e0f3e7680399b990d944bbcb6629ab2ae40a01770fd6922bc4e17e4e4de212ec8abb9adcb30a26d3fe84b8da53b7e9597b7b19d31363f9ea0f834f5bfd8787741d60cdf15d4691712f03abe8dba1206556266de372b9615747d348eae94d7db23cc522c3eaa69b829ea90572b33c8f5e89d0a323dc42642574540768701fa0a7fc2861fdd248f426a2e4f69c5abdd73d6a81e6a9b9a95c94d06a2f41815bf438968f29162fa91bcc32da02b0c639001b8ab250d0ade2930e38927c66511d33ac87408365bed2f5977bbdbfc0a6415507a7c7406db5f9e006bc26db268e4937b61d7ddf60b701ce6517cb116cd0d3f49958129bddcaa54ddfacc16aa084a9ad49d7f6eadcc4ccc5ea7549a6ae13d5a89b14d473469912615c292dc330344e03c892d7f69a8385c8657cb12c53f585aa8566fb55828566502153ec2b6351c1817a2ce3547bf244c00200888faa75bd0859f90ff18d99cf565248d4ae38449e8b126a0a82177f47c60c0f30900435a969c79dc8d889862d67ed80f314237350606250c9a62cca9c9a66304f4fbec0e8352b98ca33fdb2a837da0c80bb671015fb688cfd5728a8608d5dd691f3321bfaf22daf9f1eeee2c92201f0f6d7b815311e010a91326bd71619835384a6b91d0e24164a1778dacf58afa0d06665bb108771245182ace3f8a74b276ca7109a6e8a4e7207d05153247f186414cc4c469be6fd9e6e11c8f182dfe46ff1ab90a0a53507da283e5bd9485cbc94bb947a6e1b50b115987569b0162d33f65840ab00f9c53e004edce9954e8d884656f1df383d91d9605c17cb02f8148f087a9e5806ea7e8089fe689b975a2b4c57d1de0935ec3812866a7e7dd920c99e51b562b7d5d078349a13df799d4308d381aa2a5abc2eed512b09b16d23e5edbbd13b3ef7d798bcf9cde18034eae45b443ab7527588ff2063a99214958e44b555ac8e4fd64616b96942ad174bbb19338b799461265936e3d6d973f6d02a42ad1cf123fdcc5a0a1bfc2ef5c7c4b84746d2ead988bb0331dbe3a5c5de0f343e74011b8d5294c3742c07a87b44a3d0e65d6998de45754e514fcd4a81fa932658026efb65cd36b7e0ad40966ca1350651726c0ad0b39cf393f141dae95f00a847636342f0d9e9f7d7458130c597d349c634b9e99ad8ea89de39a2276bb206b9afeade6ccb8f23920d635641d4ae593dd64156fa9865fe2b47e1660fe3424ffa090e4d3c16c8731099ec134c0e56fa0b2ac46c5500b26e2afef633fe9d599a6b7aceb1a602e82f27ac53ad558461f0e9ff3ad4d2d85613b21362a0767626d95f311c05c29ce1fe5454e18e4ad602ddcfe119b7b4bf3e7b3f8a2e68cdea155de0b464c50b802b0f45b99ee2715778afd2be88dda63e8d38279b1a6107c78225eb466f98eb90e58aabe2a0b7bda3b1968ddfcf1282c05a2d88c709a6b321e6992012a0c621c58e4c01fc87fb8e64720946e096bb1bbce25f3c35ac9901cba46980ccbeb206b8aa14cb020ddec29b0f26b100f076e816b634c2a0758eb102718f4ad425443a21b39e0bc47245435019e4cff06733582f68311aead387200c0c447c9a7ff3eeac50ae6fcba465b5fe58e1282688cc5a5dccbcf455be7a4f7fa4eb4cf4e9478214da3cf39b8e4fb94179e9577b406e6a7a12ad20d8784d526e66e1b6e4f9a42da5801099f46452fc55cec9de5922e47b24fd900e7dfdbb6bfd7c5cd2582c440e7c4a91c3be8c76b36b7bbbdbcf1bf32d0e09697a3c036fce4bb019c0371cd40d1d00f4d7ba7c0c991b3c97ac4c22a24a5032554ed9dd861a058cdedcd0206ddd41d5f31fdd183e2da29930bb11509a18e75f01f4bbbfe26eb24be9a11607e0bfb535a59c61d97e5f6f48c97a609d16bed3116e42dcf33d919661bdda609787d8e154e2a66b34e7c8f5161c17aaea4b84e40c12c242ffca5dae44af9d15e00c8c971c024ff3c83acd904df47e8efb5e1294c9faf9e254c802f021804976e839e635c1c858cace0ca0176982a16e18464fe62b00851afd534b24d5f854c6632e7ab0357ad12658f5868d5667b70590a8b932586491f5509f99c287ab642d60e535d5d1e0eeb2effe78f50267dc4e961fa9d0ab90927af1f23ea3d29a19bbd0c4ff1372fe03fc58f3e2f921aec33f1c7647e930d0ab2ec5a876653bad7311ba4c09af65181b93bf4e730f8d8529a241f4a4d1a4fb2083e9bf3aa552540a2f0a4ced582219e037cbd0b758a7c8399c4fa9ff4a2f9860c47b06fcb4f46ffc06fa70d040dd1381e45b7d020dad65b1b24628ecbbe1cd89b672001e64e3d0c817d9dab34c0a84f8dc8d28e99283ce5d97b6b0ca84f103f015bd771999801206ecdbd966705929875f1c67b80f7ebebfb4ec93cb2eba59a6038e89c1bcf629cfe014757ca95f1c1fcdef1e2a771c577ce6692b6a4d173a2501c59791c20cd77fd7a7de9ba062ff61272eac14167cf92a731cb694511a9d45db93e454e592c609019a94f67a110bf4472a7b39d478ef0897e07db7c24e8f3f03d75e7a1460dee60f444f01ed9734371f3733c362843556331fe82cf1a510b488adee888873ab2959a15d69b344a1a26365e2a5cc4757808d704c89deeb11e72b620cd2febe886f13503e2dc922a53207f83ffc7014d0b95b4ececf712487eb63e08601c4ab6a4b530001ec55dbf62b85db39dc40738e02a2a224c066466988d9ee4026a17d4e19f76714678b0969c3219a543b2acb82f49a469551b4c6c1097c578c644a9275ebb9af462d1b37f3b354076a1b46b5ade128b772e1e6808e884ec690d7238fd3d0d08e70ed1e339e805d67f3c0b803985fe4430e66323d9e012b5579a69791bbd79d7c38fb921c392604e16ec662d39324e1f12a9c083d4e7f88bb9e139f1e782ac18065fbff80b66c4bdd41c0b5521a76bbe4762735dac0acb0da5cb3547548a5944a2844aabddb427d4252ab58dd31d0ea8909352756c942180bbac16a455161243ef332c7c0627ae3ffed12969f2687150db6a5e913d0599b1107c1196eaa28ffab0634ece555b25e1c97ac26aa55216532ca84754fd7e077b5980c62593f13e9ae1e9349eb754c6477759998b6d522131b10febdd6a676941539f897d96bf1d25fc781664ece04554ac6815f37149fc2980853fb1103550c80af26de8190e3a8cc1a93c6c0e68703adbf4461d1b33f3518ef8682b6461c55218599729eab0a5979c165f082f8684b0cbc5a9b0f374f1ade175b99ddf9d168ceaf272d184c473d997bd9327be732108c298349ec4a4fdabc918c588877ab47f4cdff56a4577a02f0d05ce0ce000592b90c4e4232a2fcb9740884b5cccc51cb65800f3b140cf71e54f69ee8826304c1d9152c30f5404e360b3b2ef7846fc70bfee9e14d134c23cca635768ba0594fea4d4195d5bda1bbba855e7e0e1054078741b36243b1b381fe08564d2b796cf5b858f31ee7318e0821aa7cabbe43a14f52f3ffb9b174bdc3661f55525c36634ed16a6e22bbbe322d6906e9e6994bfac0a612e4fdd195f65e1387190acd8d6f35ae5b142e5d2b466abf1d69d0a008fcefdc4541b6bb5984866f4f40afce08de3b0d515f5905624d8444243644e0bc9eb41e7a94897667c235f9db5d3682bf577e9194084fc6a33e9d777afaf0cf7ccd2400520174fe3f0cb00ad6327daed7d7e720bde5a5bef923c84e85eba8d07a412605ad07aa114e554fa6576af6b65493d045275a4b8627ed02b3924dd61c0d580036ab5ff8ee552ad2a0b90b4d6f9b39fa3b60142431a2b14f447091bf11f916abd38af23f724514362a3867ed22017929421fb744f7daa07997b1aa90b4897e312cdad95bca2dd8414deadca77eb8a1085cd574be7e515e758fab5ac7b007b0e3c9f75ece8410c324c83e212d049964e67f762fb877ce5107d5f457499857bbd5ae012e3bdb7119d738d711349bbd9e38203e48e76991fae4808312b50c3c21c135363ee3c6c5da0673d8a5e982676bbcc0c18005ee5b4605ea93bf14e6241e0daea62a931d63367af851101ec83cfe48b439531d7a090c9fac160252521f6e87843bb6642f0dced641f031bc1737f42152440d2cf9925683a0185b1374567af5e3c026658e7ff3b86239e4994d44d613378c83b327bf63fe8fa4ea99fff0401caa3fe1ae3a88bf0d14b1b3f79bcff86c454ec0ab9afce33134806aebb20fbdae04a5ac8d80fc58527875c5fb0794f5175d0fead51617ba47aae31bdd9ee91ace3491ad3cc3de771e54268d9a3e96de90833e66f6eabac637ebce736593f388c50c12bdc73157b64b5d49afdfa0fa7900355bb76819594bb93ccff2a20751262f2a7e31d805602f621623fd38f09f1a90215781cb069c47988c18046bf1e3e67cb5236be4a9bf5b8c961fc88ad75a82e1f4235b5835e720be0e2db82d564ac7e868dffb6279db80b115932768d50ed67ae6b4fb1de3191646925d33f459d1d7e47c42948e2e2e35f8f6580397a107c5877747caeb70a48e4f749f8a8aa51dfa86158fee843a4beaed7a6cfdecf2a8573f48ff61cdd8f22c36f05a4eda216b91a31df0fd020fb52e173c62e187d9645ca30357b6cb437b4f94141ff13563519ad817b20398ec00bf20b9e9a356c081832e56353f166039a0692c7ff85ebf7f15488d0a964e6bede01f47f862f3980c4a25cb48c9fc82f1a9c88bffe0ec5d312d649df6ea4bf22c460c016f1162197b16e4f5b4ca362a6a7ceda209617d31b49cfad3f8bea4259ad60809f59b2388a8976c16933f1c6c5714a442933834cf3535aadfa0104af74cc1946364796a27318712d4df067b63bb9636c7a5b62989a9416f8528a55b70ea9d4dd25c617a04fe49166a0cb5e667094926fba1ac5143b785848efd94e843cf9de5c019ab7168983a4df1ac71ebd9a3f82c96323376b6141b2e2606fc6240a0850f2e5c793358f799fdb5c7a250bb2dd233782590bf1374202629e0d7cd37654715ff1458b7bc412a95238dc452efa4f90f84da0d032d6f2c56b656e0c1f888e9f27c3ba0a17809fee5e90cf86aa477786fa2418511580be4d28fcd1c395c7ecd62e3ab01a994bb16cbe2dbd8fb1e63ac07ccdf4b5496995a1dc5b304104a15c64b88513af9361af1bc0e9418cbd154a2a2dc5b3b535942c7981d28610847178f6be0a032f4308b601fb800af9342709c0d050485679063cf092a9bd55b9a39013e3f81bfaa8fabd1a3fdc98abd3d0737cbc3236f113ed05d89a943306df61cbf824cf9dbc742545f1098255ae06b284e1c518b8a62d88a260112bd702cf52a2a5202e5e535a9312a3ed589e957b1299f8519f4f858eb7f615671a61d84b335660434f83c0add1ab8358301a4cc0e6140441a30d950df65a78df51c8ecb4d2fbc7635404e7d2e0cda08c7663c303756f16149341df4b336314d23f42d38309321ba2de297488ea63f9a9f73986b8035260931f3747eea524e4be2f32e576753f0e31c8b25f688a0ee142c7f0e65aefc318376e78672aed9d90cd64a69a6a7b5ba46ba1a9b90acb33e12de8ae020dc9c0502d6f865e1c37907cfbc9d444b8d9eb0c601d40cf965f62b1a815d1d43bf193ebf1b34824439337819fac207fbc63303f75410883b15ed710bb8c63d92f276f469ca811ad05820766e87c99ca848bb052950e4f31fbcb8ed0408ae6eebb1088084ce1ba741df2d5457057dc4371bc61068098c0c4a6134be1a0143193163197113b76a37e2067b6a0237e523d1098464f0084243bbab901a4180b583a13f4ff6346182f7158f4030ace65190f5376fd77e4226fffc09f814d92805838f9eca1830d2465f7b10b8b4d2fbd2d55740e4b0e2beec8c4428f49a6cf84ff2de7edef48b8234e563ea6c6462f425063fd93b5ac08b27a69a881a2e9f406c1d308a771c45c8bec545953fd1211e9ee91ecc017924225c814d9637393a0a08118b163851b9b45285a9ce17aa7113e9230a0707c0f35a753ee63dcef06d6c50fdc5c68b4814156d3eabb796a4e2590dad8df994c215b79a0538a8abf3208cb114382dbb5211d866299e808d5a1d4cdbe2a2da2baaeeebafc5cada5fb1614c5ab71d63ba0baeea4565c75155f510d808d8c08de880179f10de3f83ab5a2efd9042f10c90ac6899a3f6d20d450461c72f884d805eb853c75f0c1ed8474fec49037d373c5c4814098f932bb4dc8906387def9266a19e621a8670c17d064534e6df76d0a5b6fe596da2263583610e1e2a88e73c79f2c471e49af57093fc74260e9ea36aad1bf642a4adac4addfe6289c1a5350cf17759dffaf40bc5cb309ed5647a98cf3ba7d2b1d0406104969e1666a1c684ed7b30bbc4407e8b3f27ad0b4dbd7be32129bd45ad728d9cbfc1b654a8c97781368c36eea6c9b75a5f30eaa0b714ace3a236cbd953d942e32f5d8275325039a36789ac9c91df3f6dd0707eb0dfa320ec10e53bc9202200448dd318a83afeca97918296ec015c58a63c5fc3f13398a47596311860434e493b7cbb72446776489f20467b37d6239b410cac22f1174c43c2c67501d2c6e1ab8953e15d62faa339bdd8ac85909cdc37c019e963ef3f4ab9bfae334f8d8bf18ff00e58cf519fd75d149463a3644adaf2370aa080d135a999df65127ca3fe66414fd0a27b0c10d0977d17b899d8a21b620f34d37e7a36d8abce603261145a580c212b7b6121865a9d112dec3b55888b3444d68c515778f84ef915db5cbdd99f4eedc34ab5b7870335a1b326ca11b9407b660c37f8b81b76280b044c89b27b5db5a229d0134ba98d2dc4478be861dc166939775c45b3c58d31ed6ea77a11713d6670582559af812ae0a0936c9a307a81d418c262dce2b335734db8477a14088845a74a327a3d1e15f737e49abcfb0dd2e29da21e73bc3fa0bba48280aa6209934ac88b8a1346120f1474c3ac00fabdb77c4331955dbf4767eb96c1ee21f3c2e6a78a4456f1e0cb106bc2bef90542d7e250bcd862f54177e829b48389c5419ac1a255493a1457d4c4fc6b29fd5b62f1899522ff94aa7f5a2c98b852f0df52ec9f52f29fc4a2135f2afe552affa8587b22530a02fd3fe9afe0eacaa31930f37ebd86ac16c203c04e8139165e8f2065968200c9261dff2f943e7f1a8d3f1a91ff37a2d2ea00fcb391f9a7d1f89b52b5941bc5df1ac11f6b237b546ab10f9cbf43e975a525cf352427558faab4fb32f4b74cbed8c23952088b62959fe77e2af31b9c103a1da6c3d8e3503a25b0f21c21ecd9678cb7c90d506fdb00c6538fa7fac2a6a5b3e0c44bba54477ae576448d7b1aad0afe12ea77c4b8d134be35ee16fc0f437cf0cc98d03a1a8711a9296023428efe7c0bc60dce8d4a899b23dcff0e5e8e2a576010f7a75ceff40446d94987c7a2965632fb26711a291d6777e3e8cc0eb218f08def2c8531372c7ad18f5f22a637216ccd48d87bcb23f4a403e8d875a02687497ef5047a07fd762b8ddd34cdfede01c7c55951bdd6aea3d617748679db7f8deaafbe62b218b7af4914282c64fd3dca334f5e538515c7cf1462ccc567398adb722009c93e94bf50ca83a857843cd7080065a2603a4ebf468cf7ca1c7c6022ae9e5643a204c9db138fe8bf3281c9eb99c1c98ef6a386f657c21a71a21a34fcd833ab443e04e2d760b2e5dba4dd46c0233e0a0f03d3c9008d5ae01dbf5ba74ed4f5a86cf137e7d6fa081899e47413c3221bc3234fa7d863d70db7c5cc93bdbe7312f51a4fef7c62e2b76ef740baeab5e92301054d0b18092dabc7eb5adf04af389d7fc29bc4aa21bfa7e903aa24643b168ada2080486038c3e8e76c8d725ca42a8e7ba5b4d7e60fb7544d80f34c9608b578192e05fba2520f8e84af9f36a2c46736612c9878d83c5e9a142648d6239638a9b0884aa681fbb476349f868a4942ea09b314658f8c818606ed4eee0864a7b98563b1bb883d28fd66d0c7383ee2986036ce8d8fde122e40e5713538198385d697ef0d530cd6d2d32065a4dd70c636eb5daddced69e4ba60b8a5aa13b17543f057e0f9461cf9089e25d80d081542c8d176be82b31c78f6f5347ca5f38584795a658994d327d67da77dcb4ff66f79bde8279af4574a2b99d9fc7423d484357d5f5f8ec6b8d9e3b83ba223282ce33c801102a0d8f41a9a8d668e100d510221ef66e1c6cfcae10b5e18ba5ad9c6ce6ac8a02c35e595bd582d8daa408ddaf93de91fdb56f219f8924e362a4b9bc82443b9a8165b7e5d2a61216c006d6a814c5c036cfe5137c958a2a6bd64a1bd3e121d7f9297b961d8915be815c8142d6ce0655cde2e6fa33928728bf5d8093b34dbb2af5b84f18e9034d1c678d4be971e8ebdb708caf0948658c354d300fe4d19bda600738559bc3780ea29ddbe01204c302fbe3506a05999130368114c9b82c426df05f09b0f6674f66fc28f57f14a5c134c46d7dd3bce8882657ca8e3656408208bf998972604190bb9082b3cc14088b52a23e46b6dc6336970d62a4193a010af0459f16c4425dc27df258f376a006a01616528a448116196828b838a9d6ae3891bb6465bbfb1342373788c263460cb74f9c243b92cc05f26ee19ca2ccdaeb85eb5ddf4dd9e4deb3e6438f9b30a2e2302b1aed871173e9b2388b2bafdc654eab24be5ada16911ced514b40cb8050677f13e8fc4674b8ab1010c2ae89a17e28033365b5e21c73bf9f83cf34a0a4ed74d833cce61e6ef1733039345155e26a0858f153026ca2328cb157905a0a7f2bd886da8d9bb4f88de36af957850ede7e2f6604e5ca765622f3291b51d679b63cf5968db34cc1e0ad3be314c66db70cf45f7405f76607e928a401a72e7ea1e269aaab0ea6743717258f9c8cb1dd848607b562e6e16fb5c616b3454322d71bee018728533e6982e21432201943a74a732dcab4e951e93950fa0d24c79fab47502159f97a66086b7b2841096ce36ad38536a9330d35bdcd6752e52d3ac8615984a022a96067da22573e29098f3eb659c9ca28c15f9cc8637a60bb48e445d2e405205b2d8465ea433e6ae7f01dea1900c399224c6253713f49ee2c5678b8fd514e03816573723c1d1fd29deba20ba3823b543bac62c706e40b89f5bb9c561afe411cbac6c9b2a6521a10ac964504595f7acc0d5795f3117a830d286bce9a4492fe04f486da69e3b80dcfaa4d7e1cd17a00147203d81ed263abd671363594f926d1739225c8e6d88261a3528410d35d7c7da31fa580ddae817bb97b85f5d57d6f4f1a27b60bdff76d10b6e0d7a2d6755f4a43449c97b00353ee53f06e002a50477a5c76455df9cf9b31347d767c20783cc8240342c59672079a5db352a09b954e7e3bfe663313e82c51e29b0cb4cc97e5b830ba89a825f145b53efab53264d37dbf421390482a18221bfac0f99a7a6fd2fc58d05bdc5b2580b120f2d11fa56d582163f3d31debcc933d801c7dd036cfd25411f972faa4382890dc3776945770fe93119c24348d6fe36180639b3ae16d8c801b02039e8067facc90a9661ac056dc7bd2247d888cd5a1abf811c86f5270e07d7f3554e9bc9633adbbbac1fe4d9a16610cfcde7f67e3eb5e2d52e593709a9e74b97917e55ce4a2452283615141b1898633df5bbd3a1d790354ea30710184ad1c326a91f32bcdf15024b67e5df7cbe4e6cb6e6488519c8724e3aa2f8d185c4461274c633b1971045983337b95dae0c6034c07d8c88ee746a9fb30006da917a1e27f5c59f162e6bb48999865e4db01a555a1c4076fb474f48d3139d9358929b6c09719da295fad7cce151928460f04a067ab4410f98e4aff7eb109b980cb4908103988c6ed8799268942084391da2c215d2ccfce37220a7db7558b4797bd070f5e49ce425d994004ff667564d485adb6d73885e9f93dc5ad252666b190c38ad101874163ab12346fdf824c4c3fda8eb07524ec87ae995b1aba892c3cf68f284613f7cddb3418265144f34c8808fe0df372872db87da36ce33c42b3622694de6f2f4eb8064ee8d86cd070d70a4771e94c3112c17cddfb051479a63468c04547d1f2dbdcb44d2dd5b3b423f75346b1ee34ef517b04835bd3590cf2f556f6afed72b8e70c9bb333c27f9545063f0c18fb2d808c4be3da8077a0122f771ad498065dc0020a3fb17688482dfa927c1f5bfe904e1041da94d987504d2b7721baf33e95f0cd441b1cbd6b4c560a455b0343a438b124ba12dec6cb0671adc4ca5c0d534a9933e8e0ca15ad6d03baaf74a535adc8f0f5159d21825f1c36e666561f3886995964efe5cb531ed8945ef28d56826cf92344e3eb4a9cd693d8434209504eeb6d57d3b64d24e89cf6785f7c145c9fdd387713b22f7b7c309eae02dbd1e0809673d41ae110476d64820dc083ca51752bfc209a8373632ba126a46e2e281437edf523e8009edb0732e74ca0598330528140d1ecf5d4ccf79dd4a81e4b1e87cf055826c9142e71cc4d007487b2eaaf7e4ffa09c5588a8738887cb101ca344a22884ded9e41a97d40921e4a160cd9c159905cc4c451eea377ef7d780f6a7fa4902e807bd35d67b55254c04ca85292a0b7755058683647e15e2a480ce95e9ab09dca9604c96d0bb67ad60475afad77aa3907ffb5843407e24c9ef41ec7c3f1112a1aa42466761e8ef6cfdcb80aa9543cf931f575eb13b478520a2281e04d469f80a818d8cfa66a6cce27f93f58aca5e188969ca8ea2a0accaa0a4d7aef51802cce09f350243fd3f21d4c1c76666f4597deb7d8f3d7d74a60da9234bcf5258453039d78bbe9ce1885a0b601c40679f0abf0151a6795a1b9795cefd7665ca0249c770fb3a2a16353f25388fa300a6915d105f4a7653f8ad08ec659ee096e6044afc5ce6fd1b4d157d0322a262802f3c3de45e900985c8b6a082c69aa623c61b514fe4f06b91b6b11c8470692aca771caa0a8d175ca14cabb89109f4d5e2e20a2c3633dd6a2ad8b32419bc5a7a21f5117f358c36e85000107007b79dee31b67e9de5b907b1fa01d6bfc5a4eed6ebd0d3e37650fc96d55b13fad1118ec158c3d51814ad551df80a0c59ef726cff11fe957f3c47838541eacb9cc9878d74a01b05a1b3c55f82022bf9834efbebda4e28228944bb0ec6619d49edc89da281943530b7f3e571504f1cd14d9b6ae46220853f0c08076880f50715bef9091b17bb20ec93927679c493044b29ba44b1386c8b1768d68d717480e37af24798c67ba099f5584d7227e9792766f961a363546cf479ab815483466f3b7939af76520045b8482b66aa42a727a7f6dff66049bb368373104dd7c7aa2752d94ca5417d6a53ce6ebd8983b65e2d2a16a076d21fe18b7a3093bab9cce39826b35c9c56d33d2df98b392601d1e6d6ad9e971501972db774b7daa3d9174e62b4686d0e3f3730b7fda108bfd50daeb1bca180caa112e35c321e034c0778fa915f31e4eac201e3c073a3261eb75c08a4878dfe6831844d6e4ac16b5d80ecd366804e5954c0908f94b54208c25e48be1e407d8e65704666d8f1ac199a62375dc6275072590f4a5d88a3249124593c35e1b40412080b91f05c29300b6f059b78dc9b88a0bff977507f0eb5f3a1df4719d49d64527a849ddc96b40a9575be3bae5070fa966c7c63561f164e2e29bc84f6180fe1473d288dd475bf37247f0f3cdda67d5a2cc0b7e0af153e168ef7c1fa6165d2202ce00fa12eda6b4194c837bb73a8ca598bd4d924630787d015d4677f3b99fea27aec1022d68cb4ecc68a54c61dadc0c999fd20820be4aebe7283bb4d113cc99c7ad7061da02ee274dfdd0da99d5d70b31b2bfd4ac1b225c4fe433789072d448c13a5b125321065a0ede3f77adcb34248fbc4bcf81811625c586969c4798161c0d57d171699c5149c6995334910c0cf33a9b075b989315c6ee10971e24d0236f4064aba82130cd1a19704a07b8b2398deb4628747393576871cdd85fc2a6c42110a36429cd909af68a016e441dbf64227f97a5c56da41095fa117cc7908053c1c4437167f053de7fe52f788ced5d185aee20b0b2214b0a857f4d08c10826683aceab39d997e0310ed9f44e0d270266689ea360c1974c780268f4595983068cd80e6e9512fd9687cbad0f4f009a49568e215706996ba40eca2c0190f68a679d98335e12d43930e983dd2fd06c202e5af99cf0179280b6cbbebbf0bce215684a53d11e6a2c93920f7ef43a63873ef6a1ffddcae8e3d2769fdcfed9c4121ce3d891f1cd0c6ef694ce640b5eab7ba424c935b82e83e0913d8df964d9b441e3814177879261aa78383c00cc2af04b755723a40b05d629bc934775a0396a4e53d208cd3e1dd78532af154e33d95b0c75afd7206a0ea3776ef88106246f31211fbbca9eac425425aec41ed2f6a7b9712a7bf5e9613df083d2504739b5480577e3001bf8cf21a31090c4eab6a0d2a63c0244c55f154c98c665ba3f1a69bba03908d8d4c3ab4d1a775196673e1dccb2425ec794cd2bf806bdfd1e07dfe75f5294d8f89d0aa9c618309f85a9eee06d22fdbe05bc65309c4209a109e9890bba6e7025403d402c55801eae09f01e3ec53a7a560610111c766da8448ca0c99478f0ca5c33c5f4a6ff7f567175e6b2aac7e24805898b44ae0ec47c840c405934370cf717a1c14b444092ca3697533ce60783b0e6793c640bb231dd840ca64d28125eab1f8953a1c9d5e7d8f8d070f8df51878126f25edf55836194fd93cf4ade1f801bd5b2bdaaf9f54b6963299a8ffc0d929657dcb2a0fce986ea750e87312c2352afc0e85ecc6d2a0d9459295032e4bdd784c066bb2f338a9c0919393b08f61b3778e629f258a229a3740d61c5b1b161904d80834926e181b097d92f45710fd3b95b8ece83887195973b4aaaa92511dd0c5c89ef0071f966c7d37c6341ea2858809d041e57e83aaa1b592f55b5351fa584b4edbfab243cca6b921672f87b42e99864860b989c0be8385c70141cc0370aa8dc2ca55e4242d9043ecc5eee41e0d9f56b79555df1effc1f136d3e4fcb42488df58f5dd0cc1fd25daec63c29b11b6f9f7574a4a2b44ba2238c81b51d1354df0d5195a3abd03e0591c9a8b68c678f0fdacd70706812fe5558e0bfd9aa0c736951341d75a291f84de11608b023dee1ca407a120f7ccc3901658dabf93508a37f9db49898fc5b8edb0e48cf7d0f2a1b2004c09d635d8acfddd076ebbaf5387c9f7e5740892101a4a33d224c1d7834f7f0f8eab81c7500c769812141a7280a8501ff683ff0896683f9170397ed4eb83b063bc550b50cdf6d6a6bd24c3d5712ce3c30ccc4807c05f6605f8272348d6ba40cc289582e5963bfccac8a54259e7ce5fcca65ae0acb56d4d22d0ceb1412ac9b1e3d77db425886eb7b6539e86827eb32c22e4bfd1c7c9acd58a80cc0a192ad6fbd62ad0f7c08b6464ec62e7fcb1c72bf70796f25bdcbebfc957dc7bf9462b209328c35bd2dc0e967a57574dd0fd6bae94da6b5b398cd9aead880d779609012905d591cd266b41c6762e1f57aa680f41986522d2b6b20d720a5e12d606e7c222153ba7b0d619ec38c3c79da1571cbfbcbb4348a6d5b955c7ac325e6a1dffcba6337b390bde4c34d04005861621e52151b3c174f9c76fc100519b87ec026b5589f3853444459ad83a33290562198283b170df02382723ee7b62a9b051b5d2ba0e94746a51de6db5008d136fe80f3660e883acc018fe23a36ce260981b4d43f2b321e905e5de9edab0222c6ce4b62823c2c02c705d12cb2806d3a405d0d430029f4383e131ba1179e5fc090f932916ff9e759463c950eae3c86d61f6db7bae30debf6d63cbbf1e1ec0fbf6ff7958fa9db6c080ddd846c03da4cd968b6d40e80bdc49f2c81b709f099ba0493d5016c4fc20dd69457430ccaab0cea2d767514f2f80c6d899353241b9d3ce3c62cd3f20930f83ff5935eb5d76cf95bc157eaf881d6d7e6ca6906cfdb36e5fe85a022e4d4d4cab116ce0429f399a4fcdec2c561c4adf5b7ec09855dcb3571302e4ccfce47ac3c2a01e4405f4048e184f4554f1581c0236b5f1d24324d04b522b71a44b9a812a9eaa1d2676bf79c4ca5fca98969fb5d299bafba83a3942459dabd2558c08abe7488011900007a486f9600232bfba6494091050a1b6af37ae3443d459e24e57d3234f54843715a7cc2c092e85a2773f49e42fe76da16a1b304e266493ee8a599dd1fac3344d6bb813ea0c7e5b7e786b9802979679de5e1bca339a9325e2005c5427abe86c0e99c4ca247922703793ac164ef0a47c2a0b7378a671d3ed083c42dd49a13e381a0a5537bd8b36987687aaeaec28e48d8e1cee47b7989f56ed64ea35df887e812e44f6bec78c807de5467cd746226e64a398780e6951c63a25a6d1b07cd8189b87e29e481bacdaead5c22b8042580a6067c13eb395326c1840877b2a69ceb786fcf015f0b484efc4ab2b498fcd11686aabdcdb579705ac6279e505501c032efa845d7c18cfdbb5d9f6e9a6917f3b7f445bcfba1b12ca05f220a29ea0672475ee149f7ed3cd80396cbe78415c8f10bf83506f740e95fa0698210e594ee639970e5ea99c29cba31d1851b0f5a40b3c471fc31b81cb079235b99e587872d975359211736df51e33d1f1798214044b34c1c3766d640144549f7ebce7886f93baf13afa7959388963f0ac47ac42595175d24dc4be26fd686b776232ae3fcb0b9433679be82659c8b4bd84c3a22f500a1ef0d6d0fa12288c9dcb7b3b67d90b556b8eec36d79b9dc8932323fb9f9dc19362f1236c0341ca0c969f720ca44147d15af953c758c576ac6c89abccfdfa7b7666983206d82e5666314050e20bab24d3f4aa7bddd69e053d941184c54035df4772d51ca3f0936c19b8f2957e3e0289307fdcc99d5ef5b49cb09cea11c57bc210aac2473846944265ec17ae4647f794c0942e7c9a8477a13fd44794a14c3e95ac8e522fd7a9c6278ebf0e6a505bf5e223c65998ea7702918adfefc4fcb094ee888fcfe6fdc0a5f92c14b9313e089c31fdf18998e3c31374bd8b9ec3f8a43057fcd7ce40466b2e57c73e3edaeef3859cd69f00f4d7643a99eac778c1f8686b1d1137711a3a4e2a9a84964b70beb28e93e5b8ac494763d0d5afe01162a7b369ca7395606c3ae47771df65e26cf58046045e91195b25e1227668f910ea45c2938c3a4518d19374cc4a460a079792873ebcfb0e624389ebacf741f42024f649f738570a81a2d7c3c861fe2a590ab9ffd41753ae93a32a378e463931704b12598ebf69c82dc59ca68bf88eeb27eaf38c0e3ed03cea7690c23b55b31db18cfc59950b4105201ce7b90f275c571898fbef3683b6df18fe40dd916bf2f90a576cd99a7d05806e6bdaff86c12d99074e8bec103942d15928292f61f1543a90e2b24ce7a848b3ceb210a45ec1347fdff34de15454112690b5beb60a66589a99886789dafe30c10a1b87a0b86fa2a6b0a4071a225a4ab478f7cfeb90f8beb69b5ea386eda5841dfbe2d644825668dcb5956075414aa661ba6f745dc26f2d0bbe3d3940ecd700a4367dbb4f7eea9fa136e9e90801e6039a5b4f1c2a2307635c6ec20dab568ddae691067022a8ea7d4033484afe7d68a876a02b2e5776a4f49253e018b304c9dd421e699e688e57a37a34f7bdfc7e1e4dd183f49bba9ac3f051f410201a817b3748ab20f45a60b2812198b278d852464a0bf6e639c15c9b0b1a150657c600a5349a8edc5337390b1c09db9d20c24183247b680af418bcc3e3712c5f423a10a01585169f3122f537d10cb75d9c82ae681be74876885bcd803ff054b10f50e1ecca73eeccf35a5c4c56600d4b4f24eac856f7c8878595b229c4265cdc4c19535ec109c9dac0184aa11011193cc36e15986a2bb37707bbbf8746924fc2928a2de17de81414120340157e3143b057a40547e5a6bdcc69dc46163eed16730a3c40d8b3e3e2a9b596ea851ce0e428ce8bc0775f3c73fcd845ee5c8a2ae34a0d8080a01eed11fd1b43d5b5e9300d0b356e0d8f9acf8fab0a319944f92b88eda2a7a49b3c65b6fa59af7c4c0e6edcd934c74410dd0820315f321b8a93c3550b1ba85f88ab42051691e39f908658bdd1a63864f99b4aafa93a4701c862464693714b298cb01243c4ad0e75485fb03aab94e291bde85f7b70eb893b8e695e10471f3d82160cb30de5b795920ad9bf4f89e6b0a7c3ee1bb7de60dabc54a21607529b8f7484827f72d28db83199b4174c769ebb215b039492d8c4906fed3bd91d7e81997f4e88c1a53be618ba6c7483cb2c67dc6b1d0f3ecb9e79ae41518d6fc49241c818ba41eec98ecf9ad43e815ba6a6c260f0182a8dd5d6884846944d2ea8ac4321e83147437322b30ffa556f26558744ed28278012f6f3568f039590ca1ac182d4c39ac01dccd9c5849ee21673be1b137c64b681488cb56af2ffd4e00501e7a57156222a1444f9132cf14b4a621d1154117a65ff8c7e4d2eff5721f4220e1aed2a02bff7227e9c9332cbf77bc3ccdbc3ff776067f3def0180c8aea5180c423e6e2fd85aad46a7fee89320054bae7a0ad04ac5828f6936a8e7d19096954887aef37e7fec433457e4f757f62f32928313031752260440ea738fbe3823e0ad93e781656992adc1920eb68d86fb8c068a44f90d6adb7498560fdb0306940d18c9fdb775e16f5a537ac9156364d688bd1e39d589d669610e5303c7a622ec0c3717f0b781eafa5f4cc47005a0c78b675082f0c556f447d5afb59971a18e4035e509bbb9554642b7d84bf93bb8c9e01dc421e67fc93914271ec0018082eba3b5e1d7843d69b3ee40bbf1f28f762b8a97048fedba1f0c1f272d64a6a8c38136447545102cf04f193c61a5742303e57cfc0ba804a5b6400acc06161454c2ee192721602bc546e1abd4db7359d95694ce0a0eebec7056ab4092abd425fcd02f3b880c9046b879549837a2ee3ba34a432e147433b84a44cb4a5f1d3ee3828819d0d450a26da570223838738f39a4758f8ffe680e99519be3ce8b73005e66492a4786f37f6fdcde29ad24403e08b789dba61be11b0fc9323c4122360b5a5cd020bdb160a179b29761d694cb8c6ac0ce1e406c38089f489abc770e099d8c91c09004191f75a4a2a1ed80dbaf03af9cade1153557018d010580ca3291d2b2c527b38f4c7964ae4edbf53d89d11bdd2cb4abb33697f784dddf2d11a4d09170a061017e60a0f4b81a26748e7ba61c18135b2f7fcf605f04ffd8999e306f10125d782cfd78d244418daa14086dec88856dc9ec061c75b1f5cd12b5f5085a68b80c5a38a29d0bbab030e6a787b1985ce145a3002c145694c12302f60a33045137811ec8c3efa571b801e82f6776d9259363e4de0b4e7187536d9c921a11d8382e8c4212d68bd723e24ae26303d23a5f37074195592744612a8d2673b04123498f28285493159b8ac9311e8516ad9db191536f32702c87e89c4b11f593d056eccc988d4ee4c15048ae0d689353b366fb4b10e0218fb4aaf41d0a270212a1f5cce11a1950bebb8e77e72feb85eff45d238166f2d28f1fa20a2718a11d90a849cc8beb834f75039be9ddf891f8c47eb8282558859af0b2a21789c38c317e234adbc57b7fdf73591e65d69a912ee34dce8d3308f31d59904923640f0dd2324eac49db493c5097051b44c62d45b09c413458a829085209e283b71ee7849316bf0049e618802e7b2937b0718347fb1ab47f8ed44767eb1a2a111c5f633804e67b4b9e274c95414bf6ee89291874e3cb386ab9d39bb88b85d61e4dbd1c72c54b519c1296c4ef22e3e008204b9777f70c6e76df03866bac427815f01be48352331882431629e66708188469507415c1a12a1b553d0792342acc256c0291eebe3d7580483f2576480dda2ba4c04d6218286dc1df70ea58d6284816e9f8948fe85d4697adda2cf125985ab81905643078a00134e4a38c8cf594924b4383b2dcca32f210b3992a8cb6283d8bcd039c2eef562f10d0145c95d9b631a5a333e60d2d0b9cbff3f86e547e484c9af8297cf1a92de02ad011c41f018186ab96f2c3e464dd1b05a17c85feab3c410f4b919d3f9e1ce41ab45bd85723839023e46324ed792e6e6df8a09b9b1c4aa024d68cf97c26d18111ee3d8fa10a968776b0bc73c06c6a212e7fea1efb48914c39a4d041bb39bed1fe3b9ced09707590154937e806b0939845f1419c65f1ae218b436da8cb0ec5009e871585fb10d4512cdda0b3ad159ee21280db9bc0ffe2656c4e90a81016c3bd8d494a854c527650ba882b5b56c7d064ed5ac930cd600838bf95400b78191eb9b4081cd9fb7dde5b865b096d58186e602d6efb056240926ba13a3e6617be026e9d14f1ee54488029c9093bfc37a63922968220082a347f3e97b562645a9ee17318d8060c95269ebeda7596f5d322c0bdcc28855f363356e436e3dea354d8e66450cdfb06ed152438e755d7aab132a992299a560f59d46f8fc9c4866e646a4fe7ceaf718cf57b3673d650c90d703e03a5a668d7af3e80466914c1d20aedbb0b7594bf729f4b188e7028270bd3c9914cae3e0f9b3d92a3177294b0c22a0ac3f8299ca2ced400fa09d4cfb9e903c7cecc487dcb9943ae19348a9e851780277889d607b39a1f704422828c2e2b3afaa8f0cb5d95dd3ee6948e20aa95522de3aed35b561947d366dba34f0ceb78fb43f2481320231832c9216dcc0bdabbc4b1a1cc1fc810f3743f5bcf8003c3d62a5fa57389bf518ba6576808310405e2a1987980bb02116030a58ec5efd84a4522fc6be9400e1e6318a46a44b8902d27b2e8c246d4e5612160b354151be9255a2c22756f3408c38578a5628c3d966b0278fe314d6929cfa3d814a961326e4941ceea14e563bdf113177b5db3d116d809cab5644b2f1ff2be2e8f75cd6aa7eca3090bae199e4b0f3875195435dc768b829377033b19b184c7c4cc891c4e6dd968b37223427c54581c58cccad3f31173d024321a9bf1758c6f142963544847ea7bc957a14c3008670454155224294c450f1233a3d7fe8394f10f12a6e599df3b4ff16e9c8c9f9e7612b1580e63ab1420fb150722438e5209c9c7f24e40b5cde7f5d54c69c87eed3c684e8ec995029253b18be53d5d053039762a78471057713b313c36c714dc4fc88339498d0da615a8095d4221d1eec6318d25f3948abd8191f1c27e742acd86977a8b2af4b9f766b6b501fc8af721969cab44463b6cabfee4d07e9b35d9584896c3de62976c87ee35fa94d2695eb62cde4c0b138f2c93707c0643b09e6bb8aa8a495eb39e6f694c19a08a910d74e0b61598e802f501d2d009d1b9481368349baaa36e4a90d08df7c1d44ec7e7de416e028cf916609ae1d524a0253bd23816b6719406a150359ec61f894bfa481dd82c778fcfdae1f946c157006cfb23f83ddc25b1e467f4579a332d9905562decf7d8df937652c8b3b4a9516ef910eb8b9adf957deb0073aff5027693152c6735b452bdda8dbe2f6042acf9f59cc4c42559664f6f3b6bc1d989ae4bb0baba7beb94545a1bc64818b0e1c12bd5b283420e165b8401fe75b19e85560dc34a8322242592c494ebf20067a711842c0e7a63f8085ebaac217eb554affad6e7db03d13dd9768b2d7794be950da0f31fe284518624299eda443b730669b5f114e46edccc2dc1605c9823d0e3d45e0d8ad0eb23b6ffcb77082e30bccb380ad12b299f1662b4e08d1849c586402e186ca7262b6650ecc447382bb71c6e967aef2d86d58a2cf8e179e335635c6193b83a8e8c69b11bb73ae58c6d48e1f65f4a2bb4787138d53de27bc1959f6f27b74331dbbd9b0fd8021dff05dd7b0f2c3c6cfb99dd580deccab8a44be08897c2cf4e57819cc9711d36b8e5fb3c1b89ce7cc8e83d781175eddf3a879e1c5a8b0dfe1b40ceba0b7bb59de6b3b459f29c5a25a946388e7f1427d628eb7a31ce4fe8a4e8c3326e34cc159cceb31b7610a166f2ae7a99093358ae98c39925ebee381ad2500b9425442c411d201b180308c102b4dbb3951390f5c1eaef2722b581607760a421fe2db46732e80fe44348ead917db099177ab86104316fd743b5c4b240ecc7fed815f091e79c7dad13c7be18adfe657123848b0756e452b4abb85be143a408d710c62ef5f47a9fdf0a33eda3e9ab258f79ce51c924fc77f5c9f1b401031a4693b15ab213997c086112c7ab8e9a81a0d831613d016d2e11ccb4648398baf53c62791086589f329c4d1f341893a0816a849fef2dbb92d3e01ad9426d341e33d1f6cd5b5c2e8138a661eb202ccb790dfbc1f71877caed99abd8877c68933ee78959d6db3fe383408f9fc6ffcb4f0800e1cec4708887a7ef6b555323d042128c4004265480bb281a56dc4eff610aea27867e2262432af2b9d16695f9d0021184554b95ebdb8c0473a025221734a8b9554078ffe24b7e6abb680f29385bc49892e875c7075d8393376f7a3820ade6b3ad02031c1a27696fa40dd713fb3c7fe6e142b649642949a0c7e44a2dbb77d293f0ccc267826e8a1ad88171c3136ea775244b5848c8b501f3db79e3c091e2da3188d0d043f115c4ef18bb134a9336cabd209630ecb4de7d123ed5d4084f0508630fa9516b6f58317beec3ade747859093ba193546fda89bee43a9a23dc8df01b9b16402823c8ee816195b2509c08dc9adac6cab9db95312afd62d54f3f06c82b54ac026105849b44c89551c2cd6dffffcb13c9b4035e6296c687d6f7f1c33a609be4f2047c86b86a9d331d9d3ff0e4d3581c1517731d42e554447b5a7c6cc4f218e1c74fab052b9c71befac6ab3559a234ab8c99d8b2ddbe7294024e9fb56cc5db13f5f1c91cc73923c238ce032ead76a0e11280191d2c00653b2f911485fee2db4cd8a6442559e5044bacb64967cf08635eb163129f255d1cd7bb4ee5d2a5d2ef63fedd81eda3ed26c956160fb9224033d4117abbc442c4558e0c6ef0b053d639c95efedf3d11d6c53ee1f20acb7127328c8eec38f906b64f9ac80f8b925bf9f3cc485467a829581ebff0f03a71dce33fc0c57f7173395a4471ca4aff00c333c841ef2b10a44053fe56a05609e506e2e94b349b96d6ee722eaeff9e89179fa73ef5c925b90cd7554c1b881f182981dbd0f0c5e6ef545a20bb89fde41a1ad8ee2ce1220458f1d083e725d2dd161b7c3a4513717e281e81be1bccd963a1bf0df045f4cdffe68621767ae469f6bbfce1634bbc3602699d2c10a422aaad581b90c3fcbbdd6e79714b1931d3778f2c5392ee5db82ab8e42d6b96ad660b6cf46dfaa3c908f165f62516c686696df43b89c9256cdeee3655030fd0d434ef1d0be4a3603e526f68da209e6cb5784ce92e35de0136cbb70f169ac1c3ee49d41c605721de1e59bff5a8eccfe0562809ccc5747df8768ee1ecd77bb74414536f95d98cf5648cd7caf3890656d2fe14e5ebd6199031889b7f3d76b74293b565214446e1dd554778220bfc57c258d174a27e228e5ee112f8ee97ca3f808f65696203081ba9e2ca16ded8945f5c2e77ce1d794ac78d36cbedf0a7a99afc4664ecd07a9edcbf5a9f69a40400380cae3fffbec28b441b51218f8c95327ac837701c4ac21266606153a5aec5cfe586c3015652c6c0591c62fa44bdb6a0239902f7e8606cba55a0b6fa0aff6693a1c892f00265665d644a9abe13319b9dda25f74fb90a09794997bf862d5337c4ac629e41921ab2927050b03a64ae3b298bd2c6c0c263a0a7ce8c7e00ceae12ca9c98b81d265960f2cd39155b7513ab1e81b2d26f3839eedefba3490b2698855ffd78766a05320ceacb1ac6d9b03c5d7689a0e721b408eaaaed66ad825b43465cd0f1968aa74b10659ca30b21c7e593e00d4d780d8e76f5034f3a900bef81349c68c82c254ed76b4277af8e1550d252824e461440a950cb5e0fa7a725925238c88be98e4f06ce5962b562ca383178d8e45c6f43ceff8d02ca8a33b97843d7a9a4c7db51e3d4662ac64bee232d305040210d25dced2a3ee5f70b33cc9f7e02c0515dcec1c1bbb360b1d881ea77ea11aa7b3af9b6b22dbb122f1920d48f339e39e671b6594f8b691635997ef9eb4d6e68c94e8511c8299136ba65d6fd78f031e708e978b0894abb95749b3ba362f1688ba133ce8da0b89ba40bb399ab75fcb26804536968b896311ea826ddee166af2dd1c0628e5d46cb1c0c314faae21852e9012247e2df5bcb534b5f6d9a9c35259342e0fd74a9422221fef549e412937e1c91909ec38c68c6ac82060913c1470632b302790bdeef99756fa92349dc6f43c6be1a76d85229467dd49a6b7c0e44d3fb53317a2e216a1dc817dbca00e96d562e0006a161bf12788274ca3b1d8eefba675f8bce42c39bc4453de5051148b00e126b15c884aff75d9f9fd31710322770a627af0edb9ca2837cf09ef3c8a46f2a1937b13792f13215c75ef2f020895c85927f203065cdaae6b5a48e212383bb232db3f2c0567ea200fbe75e8b70830037f99fce3fa5354d2db9044cfb0bc4b8f4ebcf3c7d034478c5626c959f625af25696e96b016fce881e098cad0b4298c8b6c03c36137a6a3ac664af9dc07de4d94d681303cb0833f26138af5a982bfa9b5e205ddb74dc5ffdb9022c7d2ab5131639d37a525ec5cdc9f1e62aa2ee08ea2a2d75cb485d19d629a31abaf504ea6c4326283307f385071902c7cb8bad4a683b893b1a21fce44d48bbffcb54eea35d0182b55242101f5d8be5a5f083191bcbf565cab9c50648ee5613ff8bb279e9e29aff517045d32a1403805a2f21ce7b7384f91b39b860a4d7a932ef53a15e78c4dda5db3a5705649ba223a6fcb1ede5dcc0dbfedfad9f9236e7de98c0611dc29a1cb28aebc2d76db19cd66302a826252c47a3a7d65557d82f7eaa4061d745306cd080736f5d9530017c45e9b55ac63b8d3bc23ac47dc076481cd79d9a92fca2773a337c9a89672d66cc114314445f8e0fafaa53a5f7edef640a722eb4b544096b30269d5111d47557936a956695d361817129c16613b1a29ffd0a09e4930293f4b90fd99f8045a05d3a6423bc9045305558773d52b799f35d91bdc330bfc84e7f5cf04924f0857ce10c4dfe5c1001566761bdb09a0f4705acaa8202090ad7848b97157584a85a7dda44d0bb15f94723ffad50e92a08f38a263808d04366582e072595103654d8803b9912aa41ac8ba63ecbdb99a5ad155dc1338f33837290c815144ea07fdb6e9c2a66515eb638ddeb14c9be9fea44ce98c61bd7677eff96d8756b4931048dcab53d24a0f1fd2d2c132113b1b1441d221f9314a303f2728ea4d5c8ddfc717cac2f0204687b5e9676545508e159504ea2f5416107c94dd7c7117de446cb33a3267b9386aa26026b917eb0048278998a05a33168134028452cbe17bdf74f96098de491b9e5591c7c14076de6f356581a4edb548fb996e8738508f533d0cc761da91030f8f7cfd59fef784c1fb2c15b67f988e5af5e3ed1f0a3c1483d38a715ab7d1fbbe8faa1b59c70c0401ff11e19439551a6c4b0bc60492d4e7d55fa473f8163f8914e069908ea199704eedd8dc2b2c29a4cae4e398a8ce6244544c7b8b3366bd6432eaa416535e20f010ea8664db2703fe88b97d332179d6c5b812eaf6126657c599b06427ef0544335c97828f64c9b656848c4eea129210bd37b753a9de03d9b19de64ee6aacfb993a97560c061313b0c7213492fd7d682e002d5740fdcf75fb20588d2923b129bee5299c9c51e6411089ad3936d9f624560dc4aa2f2d8ca3b14d097b575607b1f5ae00b127d97dc027a527b1af79b5b8c9d161ef4cb10c552610667a4f6d02715007ffe0faf744cc464fbf55ec17e23ad54c52cf2ad2ccd48059ea907a639d4b5f464db08648aadb46ffb0e4fd32b2a846f60c28c82e92e97d41b31663aade94645478b156cff09bb106a1c9d4530e4824e3b47251d8785ae7ed300dfc9d648a785a9a944bccf215efe664b88af4d26fb0cba3ca39ce9186cab0ec6ce137536bd8d9c102a525ad73d54c2f93d7f6c08618aa86864343cb430bc9cc44af8d87c69b4f94c840c318363e099cec9aec1ab094232bcea27a1797e62b044d0a8eee2d05e347294cb62bb6292234add65e456a939605ae27224563ebb89e1509b983edecdf1bf1086e499a19dd369a83eab81b1af08a5c29dbc336e1c737747428be1850ebf9143462d67f561e4f4f7bb4a0cd9a458bb8d2c15d927787286ac2de8e08c4e526d3b476378baed8e9a36040ba73dd8df4f50e6764388cd646ad44ee71d15b5dca28a5f480f3fdb5657b79612005b50f05ae4058baef9fbd065e9ba3c346ada37d91a270bb4c037515b30bbfd0039ee030e735ef2af1e4a48a17ab8a198699ccb44272c95e82b7c9d168f4347e474b60ab22eb8756ae1d8c9d28d92443e6b2230ca00f641704c7132e7ff276b2201412bc938114ceb276b1b31098d13990a22b1c6e8231547a5777a9c52120b306865b38885d0b47c60b5bff17847d12b7b7c84a2f928149e2b7b5e0c128172ca5bb8bfee311071360f4a897d417d1308e37bb3d2a8ec996563631a017ef8ef894429bb4d8a6389564c5d53d155e0324ef85284a30173a8021d05a2e4802a4f11184c2284e04bce3f718dc80899f951e32d8c7576ca42cd4d343ce9be0c672fbe63786d122ffd52e5f7cc7b082f7c751a59ea381c3193bb59bb5dc070cbf821a31ae6e95348642d104fa59ebce2af7623a4f08a08298af8230b03c2c08163d57c29863f0099f5282a14ffc3754500c5a7a7d83f293722e1997f3301cacc3f2406065b6930c1f419f3484748c72cf25a8ab7e1ff0027f4d61593a056d35c0fba03998b04910f7a93a9b21fd2cb669c165f6c20ae3cc21a338086796c084e635d24773c72aa8de841b0b73f4d72707643d09165ff3f77d535e7159e143d3c44f59218233731c8d341780c6906a8982e88e354b22cb4990666d56b0f89e344e20cd8098336a86e6720ee2a96700d2d273edea5fa3b8b9c4f4c20aa0b4b058627eceaa2e5ff9b55904d478a6ab18df020c9a78846276a131889091ea7bdc09061fbf074f05151876283c1fa572d84b4e59c10537aba726e5e5f31970ee034fc701308a77633aeaf1063d5c2a567c444fc8624e387eb5e53d4b3062cee4f3196cfdefbea8fd557659521a5d9d92466a11d27d7db63fde155404ac037e93fc061cb5a93cac1246605a4675401755780903ba9b0bf8a9c1fbe4bfec400711d105a9403896ef9319ff8020c851c27d3e0d99d704eff2a3057dc7f10e3efb35dfac18aee0b821a326661f394e8711625a5bedc59c173160fc87a7b94b26dd12b84a6e061daf205393cb29aa8583d893bca07ef5a582e1fcda96ffbc122dceb3da2fe5064bc3b7976d63e3d9952a686ca6652958cf2604ba05fa9dc715cb5c7389c38b4a18c1bbee06dd4b877808247018d886534beee9c98b2779625c9e2208cb2d48b9eeb15af23a063a2806a979d26797b07bad2bcd783db7d92b62c746c1a01f3df2958a8db89a6d1cbc99c6beea968cdd8fe182747548199c5940187a6c52fb68afc5a4407054acac0cbd1f0a3f4da12e46843534452c212790cb5c089b94889caf6177b24e4114ae4bab32dd51d7fa1ce826b723b06ea80e2d889dceb3874fd32136f2a55ff9d6a8aaadd8aa3825b824db931c4f2cb072b09c6110945428a00dd2f40768dbba0963559db3a8216658a3fd81304112035f6c04bea036f948caf19409c17372f9aaeda6be5b3c1fc5563f7681710d29106c0c182a6b224f5ef905a6fbce5497827c434f4b47c62d43ea2798fb37be68b63058bfdae58d89e2c6391c601295008921db9c77150666d5ea7cbb604f314ea9064e4788878c14696e814b76b0085e52421d2ee7d2f29bd7aa18e716c23de51cd06cab40629897d92210252783f90481c3a7966f067e6179fbb5009af9002e03e54116456f1a63297c6af55cf8f3b126e5cc0b3d9e481eca8436d46680a602d4c7232b3ead3273a9691cb1145777f84fe4b64f62c612920ceed8a07a4218eab47135bd95118c7300d535d9a4e7780ce535dd5f4a37a3777572fd84715ecb836732c61075d419cc6877d045a019ecba04fe1504b40c54205e19a7033d867cddceeb494e95d91d8d33273d9aa1beb99c3eb5515c8bd19932d2c7f707e2a93e0ea88493c20182f10a8c98af7a86e15000bedd9ed5be183ccdef25a39f29b78b413eda7bef2db79432a52403d50cab0c6d0c7fe349a65a38206d2f2861a82e42f8452ff2aee8f98fd89229c7f725b51926a82b3e3086abf19a37a1de78e293932e1d08d34ffa4b7ff821c67f1da5b5865e3c842fdc3673a51ec1216c73786dea9b92aa5eaacb498fbeefbf56904694054893e3856d1d7fabe51c66c7db5028f4b786fed2d0d3874c02a2628b70175a8fce65f4437c8fb79dcbc833b2001f2fc40b61475fc4ff783bf29200f2427c01be8737c4f7f81e0e44f2767897eaf06eb55a115d901775920563fa7374f20a18d32f43860c21ba200fa413e28be8a48fc3f48b3ace02f1644a884e06e9e40aa8de0934819c3453b4867e02c5130c1cd499b2fdd7e95ad2a31cdf7ff1e0da81343b2e1c409a2072104d39e01cbd001f0fe421b7009b17e221a7847d201e143fbcebe430ad448f17c283c24589215e8817c283a200de3584e7227201c2417c4f0183934dd7400b299b23363dde479fea8d974e8e26eaa0d546231d39baced9d110725cef709cb69a6f3b3a1eafa3abf91c1dcd8b3ab6d1e4a44bc76172c035f11479c0353275fdad3407b65f0b62e3d1350e8ce9afe93a497ffd345de7f4d71f44c7f6d2c1fa658a6b5a059ca3bf618e0b760a82e8a01d351218d3efd24c604c7b2ea21fe27be4d8213adaa477f48b3ccad35fff8c13d4cb3eb645d7c9bb74cc5067fcbd746648320ed38fe32f8df95bad00fe86ec0c97bf37ec8c1cdf311ee66f08007fab8d1180bfd4c678d8a4259ea7f448c7f777a947a26fd2f70e48337a020ce02f5591f9db76658773f4af3c84d06526c70ff150c838f9018ecd10df83d4ede8607f40bc364407054bd1e408269b2868cba68a1dafede874b0ab8cbc1d5d8f9b941da2933fa8018e8d8e4ed49f7c203a13efc86ff904e801b47c19deb1fd39ba06c018f9324e72005cc249381a467ec32956be8b7c017837243fc6bb553e0e4f87951f00ef52f900f06eb5309efc1de0132b9fc66bdab5fde05db63f88de477fa2eeeb4f7e6fe33f0f72407878ff1f3a22a267ebc37df0be874ed45fbfa83b6279e8ae136efdbdefd1b928d1e3877897213c280af09303201b287a7c1432a0c0c1a60aff1edfe3b324f5622acf7b29f55e3ad74e8fba27e2757a64e3fbafd38d0eda6bc706119d8b7bf1641397344c7f68552fe95d3afdf587b050e7df4b67013edebe730bb0f921de39257afc101e143c032fb401c8a6c7fbf01a1db4b683362fdd11ebd2dd1b7687ee3e8dee7eb64717ea2e8432a3bb5d04db2fa3bbb20cb63f467771b45c3a17427971e95cafdd757bdbc708abf473ddbdb460fb37d91991f6c653b3c0f663ec6344fae87c7c0184781fafcdce9fb921fc3ea5df0b65bbbf3f86941002470a948d8d47c40f61f3447843d8d8bc8d77a16c076d7a74d0c647013c217a7c8f8bc7f6a583adb623353d0029a64f8d6161ea0c2b5355794274c31988a0aa9985a933f480c91970408433e49c014793317a14b9777b948384a2eeee769fda08344dbac7eefeee6eef6fb48e4ef4ee7deedeeed4bdbb1b4692eeae5a547e8fa3c8ccdcdd1a179ad6e9f0c15e97afa53f785da8c52c947132165626b7695dc622334cc3324ddb326cce391f10a5ab40f267523af8c91e183067f700ebcf92030c3f092f1550ee47cce0275fc588f5993d61fd39caf901eb120453723d1ab747392f8a65dac6a9ac4c6ed384fc4a659119a66199a66d1914182724b2bcd84234dc9d5fc0d83a48e30f5fa443066234a4ccb81f52a61fe380b495814314f216c6461d0a185b86786c81341ec2a94c6dd649f849ec7200f34b0806b955a807f9bab81f2e245a2dc606214d63ac3225b256a2af5fa667d4602f4cb5d80b7b3a64833368a185106280ca42caa69ff65718d8fe961e71b6ff470756ca77388a251be3e7246a0627d6a960d3502fb5a1992a16c06d2802154af4af87623ebdbc289a8b2638a5397f7a6cc3aff5a0decf72af56f06c862612aa884802d2402ba5c4400cd24005313441093140828de4823dc28315544183a036705102948d7ce2048b134c2ba594b2c6a05e999fb00b9bbd2f6590811065f08219aad8a18b7aab8c8e2ba260e516785828a59440505969e5cf1021439561aca15efa43afebba4a24883c93042df095bc220631b8aeab256402a008e915403095c0748511707e9420a80573818c416db13005052c640fa0c0c5a9070562e889c17c43cf0ee60a7a7e20bace98d7288f3693206c190569b866026918d2bcb0f19ba7474d7a44dfc5509b71d8d45f7c1a2aa8b751b65129b0f15fc053031b63efc0462430668609187571d8cb3e3d42511a71c4ae33caf8ed13ba42bd1c9f9949ff9390936e62e353bf60a05181b5bbbbbbbb7bdd1ebbefaec88aa4c122dd605f82b7c96e2c35d992a5d4bbfd31ebaaa08f7552ac74f74889883ff5ee91520988ff944fbbcbbbd373e2b212fbd82efed1a561f843ab1a0a61a1326de98246d96bceebbaaeebbaaeebbafaba1a49fc0b753dfb3014fa97bce4252f79cd6b5ef39a8cfd10b63448bc9efb1a42bfbfff886dfafdeddd7efa47e8755dd7753dadfd5d0f45975c6950a4f1e851439a17d69f93401a68fd3987956834c850b9674a5da3c1aa977118c7dd330b9f074cc96c332da9179568d538accac35679a8f22a2afd59150af488024f4476b2fc7db1736b128c9f1960e9b80ef6b7d595cb520a3041df47677f1987c62e034eda1aa6fbbd7ff3bad4afe2ce2a688eeb327b61dc9c73ce39e7f4386ebe8fbeaeab44afe7ba222b33dddd507bae53f1eefc6b5ecd73e2b2f42f4b334ed21fd651c1f294e525d04cb0744e344cb44c3829d20c845695734258a8b2fb1a00631a8ac1f6c7e1d970061c2d0b0d8a6e5f0fafcb89006328a52c0498833efc26514a71c018fa3e3ae430f495f030d4cba84ec1771590463efda6bd034bbb0696f60b2c7dfe41d1671f86d2a3ec29f6df37a129558aa55128adb5ef6b58778f1409026df643d8621eed6f86132a03610b637fcc840bc259f7180563e8cf7042757b1935247b77f13f625d8464d73ffb2316723fda85f6479f527a3f4be967cefdc8bcda1ffdec5fb2f742fdd10f99a18aa847a45163a0d49990218abdff4eaa950c6730010b7e94500e238550592c4c91e1894826a29a0312df3d163a3cf4206477f7c836c61863fcc177ee1c9f3aa594bec728319718bd62c4e835e51c983cbcae0bbb1e6231f608be348c347b0843eef50c6bf5c1940feb59a7c3bde8a3bf7edac9ccf0e8af3fd47f3f1c1b1db61f70e58348297f4d8265fed00b3fb422c6de973120b13cac3f1d83cafa875260fd9b74c4a67f70a3a05aea2386292fa2400031486185185436be7cf1041cf66e504c367ea450bc60e3c73aa788c20e5680062ed4610e279b2d48a10748881c8627231d14f6e56127aa542aa160d22ad323153b7f868829032f34ea1116ad002f0e00d8abe3c20b9dd80b9f78610752f042142fc4c1870936fef70514d8f8325fc8828d3f3382a92fd0c146304cc1c64fa24730158624363efba8e1c2225ed76572c1755dd745441d82fcbabc40037b5dd745441739528a2ca0c0b2210b5351a0814c6361053250810af99a7fe45a477f3332fdf18b0b8c1bc3d842bdd472e47e5001df73e98736a28661977eb6327f656c5dd9e0d2b29dfeac68e96f7eed6f7ea8bff9aee39deff849fbeba7febe69afeb38896dba6999fb117a42f5d776a2c961260f64167e93939a758415325050a3c9496d333ff2409a1976fe1a6e44829d6f063bdfc56abe69dc491be4b2fc5777594d6e2f58a8b30b51acdbcbac78ead1dd503dba9407a847d77546500b3d82a92e34b1ac962cd8eb4d8c40028eb69f3f048e567e3e8e4ff40a802436c938895345b073328a0e0f87d01aaa19c2f0500a767e77cdea28dd4a5d3f67d8eb3a339c876b1c09e7987fbd7b1e6c9aeb49b0f3d9e4dcdf986fce49e7af306b0912ae711cc01cf3a77f21e6899ddfdefd9cbc37b1737bf72ed5018c7115d8e9b6a5d8d9393b33fbc5d16ba0fe6690fde96f76cb93b80e8c99efa3216539a2c727a7bff92a9ee3f407872580010bce04757e4ff1528f6e9a354375a761e6cfef9593aae74b1a66fef4607fdbfcf9ae0321cb1156e8f407add67d7ff3b3bf3ab6daa49d88e36eea759df9bed3f3676b899dff228db921d48bf0bb1e7e972d0285a5d4e3567f935956e0f407797e6dd9e96fbe9f30cf75a275b1ef3b4d7254a954a281cd7cd7e9d135f2d18511c00fda3b830e150e10065a1f5c58038481f6b258a86cb748a1687a44e42aeb17505881b00b022d0b94ca7f5f9c2df4fe497d71b1dbb78cedeeda5f87980d714219efa3350bafe0032858e82c473ca175051f1cc176008aee40d30eaac450f9d835b182eff0dde43e9e63a1e47e7006fa7b4afd69b7f7cb8e2daa3ff8a79cfea092febc9bdf1cffeca74cdf3b2a4a51742825946c68ec3a94124a1672433a86a78123f6029965cf891f2a5ee3dcd4eb25ce7118f894e6700ee73c2fb1f0f9d9e39dfeb8cf9832d19f04fa83cccc74aea047811b7ae18ab7557ff0497f5cc75686a93aa959f46a168d2be0bbcf0e6e6a2ff507fda63fc852d2a3db3816be977ce8ca61a0a549522d0f57b4ded07f30db029cc375401aedc6eef6687ffde31fbb3924a2c7bdd94641ed6f612dc75203b0fcbeca4a2a07b20e84e5bfd81364bc3854b9e98034fd906d0f0badb082857787853fa3b58c17074dcef8d146fe6c85006e002b4a101b4cb6da7edffea3a9c2fe2894494206c60eb262fbbd558e032124411a02808d34f4e31cd1e127e37f5272162ceb5b8f9aa03ca8ccd0e260dfa2ba0091375af66e137c63fb2112ec156187622fc5c1a68e268091c61a43d1b9f697dc8ffec91de00890b7ee1ecee5820dc7ca6d855453bfaebaaf0cc9711c46aaf8c961e4c3f628e745b14cdb389595ca12535683d11243c68c108d1d5c5e6ad8b8f11de49c0a535058d9ebdf6a3c6c3c70427ab0dca4bf154dc4a2cd4fb4861ea5a13426adf9b0d574daca617c98a0fa93cf834271329850af66d24c3df297af216952cd4b14a471d758dacf9c73faf0730260c2fc9c73ceefe79c99ff73ce396ffc9ca4e9fd9c73ceeee71ccd979f73cee9f273ee98367ece39678d9f53c70cfd9c73ce193f271073879f73ce49e3e724c06cf939e79c307ece014c193fe79c33c6cf29335ffc9c73ceece7cc31f9e79c733e2711c09c73ce193367ff64f9597fce39278e39e79c53fb39ff0bc09c738aa668ce39bf85fb3179e8e18719d268870e20083000991c0288c111001f443e88001003668aef071f7a10f100e36f68afddd05e785c9769d96737328de56573c9b2ec2573c9b26a43ab9165d94be692652ba16c4696a9ec402334836ba130543f2a956a9371c538f5b4c0d05e4c914d9329e329aac45a34eb56ab553faaa96a55e6b160b5d69e1a8db4a757bbb6da75a948dadc6caba2bdfc067212cdcb9fb46b3a37398c64411ab7f2b58f3b4df2566b09932696fba8d323d1731f6b006be20dccdf7803cb7d540269bee73e969a144da66832451c53cc99d2a31fb680357167f4d7e91004696e4069523c9d7e4e514e527c7a64830bb026f6ecf8eb5e7802693a9e2645952aa57295af2cf7cea447ffdcbb10604dfcd1f1d78960b97714a47179ee3d499362cb95f80ef78ed3a31d9e7b4f01ac913740fcf51558ee1d09a4a901d42469320599bc647253941ebd60016be40e01fef61a5a9066869326c9d3e9c909cae947d5231956c01ad93380bf2d851e4843e3d424a952a1543cdcf74e8f42cf7de300d6c81f1d58ee5b07d2c078eefba649b2d5485a9de4b612cb512e60cdbcc9f197bb98026962b09a344da69609c81464b9962fc09ab92380bf1c06cbcde7e6e9c43d2727dc330f1701d6cc1ece2163b8672690e6c573cf394d9a2a15eba84e2a94e55870fc651758ee9905b066fe38d1a43905890dc05fe806cbbd0560cd75c3cf7d069a803457abb24cdc27d1a4cbe4301200dc0b8135d70ee7900f7b4e3c4edce368d275e2be0848139ffbaf472aefc3df1f2cf735e4fd75cb7d0fb0e6ea11419a265d2a8791cf71cfb0e6fae11cf239ee7de07e70290de530f27930f560dae11a6dc968e7e424cd144fa7530fd768a71d3d2a2765ad96aaa56aa9acfcf8c335da8d8ef863e5c7969332952ab654b1a58aad1baec97e80b83139293b9d4c27d3c9b4c335590f01764e4eca4ca7d3a9876bb29d01f4a89c84b55aaa96aa257fb826bb912d27612a956ca9644b255b375c83fde4b83139093b9d4c27d3c9b4c335588f00764e4ec24ca7d3a9876bb09d981e959368aba56aa95a2a2b7ffe700d768363fe58f9b3e524aa52cd966ab654b375c335f42700372627d1d3c974329d4c3b5c437b00b07372123551d3e964e55f3d5c4377d8871e2b2f4aab4afbf9e11a7ac3395af1c6f36edb7bfdd8f7d67bcb5b305ebcb1f2fd5bf94143694b7ce8c113f1e079da122bbf871b2a364c27cda49dac7c51c77d4bbbb9d1b2d16a6937563e0f2edb0eaa1f17d50e2ad58f95efd5d05eb2538f4b76da213b65a71e2bbf9b91c9c84cd9ce8ccc242333719929dbb1f29f06166a6537335a325a5c2bbbb1f26fc0a054f50343c5a9a8eac7cab711e36ac14e588f77b75288f36ea87aa71e2bbfc69c8e9976301366c24c3b56fecb0bc9425bd8cd566ab5680bbb71cb27a8d15ef7a1aa1faa52a97eac7c2d73b958ca1e4a4fdea9c7cad7b01da2e4557fb22d35ed5013355113f576da6a2aa1aae1d068e95deeb95a4ed24cf4866b321563de0d856abd5a3756f6d44efb69652aaed1ae8039e49742d5cd006364a6b2f2431c90b62b5e34d598b56c5bec7d9ce5507ac458932605c12a76f26df17e1fe3c9646a8dd59ffc954efbd15a262769511a46fe142b359326c54a93951a0bc6c86f1b4d75cb5a567ed6caa264401acaa186821a0a6a282b44d460363f3909bee3388ec6a235e4a7eb272b5f5be91c7efd2add058db085395a8330fd5263030cca05797b71de16f5fa7ef9ccd3232e8897efbda15e2a8278ecb167cf4884b383560bc0167bc437f4692c870940f4e6004895cd731112edf6d16e9ed675507ff269ba9ed230f26433f998fc203a6ed230f269c73d1dab3a76d29f7ce6342096cb9734f41e359695d63dbfe94ffea6a3d9043b3f6a7862610a8b94ad16a6b040412c94532f4cf920a208587ba47df6ccc97c2f9d8ae4baad8bfd514d931886612f3a62af670ef6774d97e9d5953b418310c2485b628caea499fde5c34e42f81a2ce2034a992a0253d6bdebc34ec80191ef3f23b50629547650234c95ecf488484f726b41ebd7567e58f8a32d148960ccca0f8f8bea1fc4b9a1db23cdac050d4ec999b293b2fd748862db73a2ed0642d6895091bebaa843c91a8150684294229458986a4312abadb4e5872318a3082a4cb501c8c2541b5ab639863bdcb66c19c630d6d9a8a230267e4c418dae4334135f06d2b48dafc4129006da2839367b8e164bb5bf5fb426d46e936d246d42f2847bfa53c9872b0b9f58967fe1136629a59452ca18e79c91275f24f869f94071b24af530e1392d51a283938483a6440162fd3cf15139e1c171089a063b6e517f17d0b415c6e1900ae9c13a17c44772abe88031150d350810af557806c6c0afde1ca34b41e3d798bb472071d8498f2e6f0eb59f8e8cc42fc2ffe1b83c48d93b37247ee651ed559833e2c5b990f67189534ac5ca672b1fbb225194ece5ab6aa97c5705f938c47b6ee6b9642fbd2df3287da2c88aa5cff90a8ab75c4a0949ce0eaa89ea092b468941373d6aebafad7437556c5f82b7a922c6f7f9d1bb9ed5543849fff60627767b8d1be23dfdb578aeeaa0c5b85a862aa48d04e1b618cc71b5213d2404aa1e6defbf79dee3dd27d85e6f6862e7c69c112bd73312fdd70f577916608c635e1176557f90a55489ff33043646cf5730c6eb9494f7a87a0425ced6b40a0d8a2e5dd996d224bad330fd714a9c727383048965994426b1ecf120821a81ec75941b7c2c7c8285293724b19a4be1280faa973ab1fdd4498f1cf5cd05a1d63d2aa30a953727f63acab6652f4ee9afb5a88ea2abee8ea2d108d4a32b46af8b479cf9041ad08a947addc7764f7fde2aeb9d8231ee27874140dbc4ef8716be0c14d4db297fd25f7cff1ddabb8eb2ce21c06da2e7271954d44b53dc8db242174ed42025d2fe0bd22bc6cb8bd26b4246f9d133126d139fede702133686427f034208a3e7cc453b374308b9bb682184902fdbfe48dceca91a54fdb92daaffa531ba8cfd39741f49030500037efd5734aa5f231c391c51c81d725285387a839f94ef5d849fec1b107efc0ee36b8f6ac08fff6b1122b2ff82026e0fcab08009eb905e13bebcdc3b27a4853e3a7631c628a5ecc2a04191a6514ab7960df3fe074ba91136edc0d57d9c10fa7df3b451ccd2a9d4ceb2f44415afa03881d563d906a7e505cb4df88f1a3d503b6823b5ccc5d7b487d1af50b9878ffd8be71830be080a5594575ed3a426e3ecae399d90ff041fb13e7afbd96d2f3b6859bafb9685c6730cefd219214a6778ecc35758b65f7996afb5837393dff289e517969f7d9e00c44c7a04534f822c9b985596bd14051ab00654c565289699e7082b9cf84031f588b52044762aef1d15327ea5f35ca48ae7229f5de843db9fa5a06e1ea33c3e71cf0a0e4b000316481ac6b4030fd8b4619dcb7c5a5bb22c247f2864452f3d1cad4d6e087f069aa0408fda7311320340043bff089ffae3b762beec9e7059808ca762c6f7b849cde8647851c87819afcd213d6eb8c74dca727b54947adca46ca290e155d15fc5fc2332ba2aba5f76d21a015f874c7fccccef3fa437a3867a672cbf86f99099821b2021a386926d8f91b0a93f9e43858cb11cd113d41f248281ea13ae80ad7abc7df85a8ffc1fc61aaa7785266e3b686304fffc97ce65c8cbfbbf3cb4ce0969fbf2f3c6c7771132df06119d9452dab061c3868db7f1f21f723ffe7db43b0d569d2422fe00d0faf090bbf15e0fccfd9003089feeef5bbe77a28ec80f0f6d0442e6e82e0e2b5ff3c187ae6d8deeb2adf11f0bc8fe7f3e10a69fd2f6a9b5d6fa1ae921f763c7e84677d9de88a7f6794a6b65791f206ebfd72494fe9aa589ba1926d011793d3fa48a0b124ff1498fbeb804d244181a0c0d86064383f1da169c90ea3dc196c5bb6c573884f54ab7650269ba5ba77bbabbfb85fbd12a1d13fd5d0fd4026a62351c98e6de72c632eb6fb47d8343a2bdbb2564c5ae7f726c3936fec12ea9c7840d4e48f49e602b3d0ac096b719aed0362f79c865b6d83ffd5dcd8a81abe24dc790928e4922127bbd7391fdf53e05d26c4fe2957761afbefaba1ccaf527dcf5fca47a973251830810fd504a7f17841e101b772e8361da0d2cc3b497ecb125da68e3ce55a1cfdeb061a3bbbbdbdd835f8343227ebf704362f428cb572c95535a2baf7835b3f9b4b05e5af6fa2b02b2d7b5f288358661b447997719890ccb56fd95fef7451dd7eb78e273a89a8e6d766ceaeffa171d97ba288d38516d0460ccf51080392e0e39a989dbac967909458f71647042d8e31cad477366dd6a16fd10e5c1d23cd83fad189c90a9c46a4f9158ecb9f78c6e1be63a66200db451fe27f35fe87de5aaae180d8c87ab56b0f7bf2ad755dcbb278313a2e25d95df90c09ef39e604bdab06ed2ae59fd5db759abf7d270510f83db634f444bbfc88aa53f372f7bd7bc5be141f5203f0f25f44487479358e793f92e91bae4be7d0c0e89cce3d1a322f788a888267098f8f0149d9e6e21413df1a0a8e405f763d2ae8543827a5c8e8ece7c2fdde0f4773d0b2764aa782419bffefb0f856a85ae8a32a8b7353e411ab6d76f7fb907f6058704fdd6e9d1b6736251e16a657d1d27e19ccd55ae52a9e86f7ffb378f71384f8513a2759cd37192284565a24bb147924793987098eb7b809cc0a027257bbde967c64343bd8cc3d2732730e67aef5c95730524318461411afad73f0d1a2c2c7e9b10599727a2ed2fb2629b3eedefe290d0bcedf65721d9777b44348f73a8c7499a71182747a34d293f9961ad583e90c5c2285090e59efbf69e6020f455beb97eaad239c196eb8ed3d93a1d30a65febbabbc3360f4ee7720f76ee8c0ea35e784429566d5dea9b36f530af766117766117a675dec528457527ae8234d05ef47aca052152fbbb2817a43d229a4781feae77826de649a0bfeba9e7b52a133dcafe7a09f488f2aa5fcb2eaf2e7fc15efc84759ca483f65427a18750aee7959362c3f46fb45f42a2efbf5e1b6d99fc273a1927f54fc35c1fc55e7f5dd7755d7f5dfed33312fbba324e887b4fb06d6feb3c4694853c44218f68ad0128683088ba0245524a22d2359644a4fc4b5e44e4b78f96d1c62967cb1e5dfe6e4ae5352507633a9721fdf2a547645edf9076442612bdcd48b9a8f0299c0ee3b56465e35f51e6f37c9ecf516c3fcb4fb16f7d8b7a310e88b48ff1f4a7394ec4a9db5fff1da5498de330b15148427e53a7a401d218c19e01d63413ce11b18fdf3f90867efcadeb54f3e838c93d28a0f04294c571dc882b8530f5e9acc909e19fee3efd09b6d3c3d19f7b2fdd01d80b4152b3204cfc1606646307d948a4bfbd4e414ee24c6cfc7626fdc56ecf71604ca4a9342cdf3cdc10f7426059585ee32768fdf6aec8487deeb7ce09b61bd76daff1f3f78843a2b3fc5147e7edfc189a734eef6dfca8c483604c84f74695fe6c6faf827a6523c729401aff785df786bd5660acc080e1bdf8e9b66aef46d8cace08bfe86e6391ead195dff59950e5777f37a1a72a3f76a77ad4a9e6e92fb5a4b2b0b0789dba789b1de45961421308633ad55fe4ed2f8cfbb11de088bdbc6d738249119858fe06b2be21c192d8c84a6e1a26b2db5a371530f0c413f7f1631590868bca352d021e27514fad4c51a1bdd13ec11ab7ca3d4264e59d60bbf16fb5a322c6cbee35eee45fe95df614c7bf414ff16fbff2ded39f4e17771a263eaf78aef2140e774464df98b2da6bb32bb2d26c296784bb3be738cc8c83a364e52b9c24de457501e2b6087761a988f131bcd8ac3740b1d75737ea38ab4730f5862411d5f17d15df9f34896de2f554ece9d1f5948d5115e430f14b4bbc8863637c0f8b7a3de529efe911fcf8ae6ad8d083bcdb833ce8453da5a574141b5f53d95438213dc47e8d77fa8bddb1a7bf1875604c844125e2ef045bfe1be4245f394c908def393d22e2389ea4474a204d0db4cdbb8c59d9dfab7ed25ffcf629d5dbaa95ceca274ad740fdc5c6c2c6f6fa27ee74d4fe4537ea6cfdd331be28f4d2d29bd556b64e756b50c5df47f3895936de171b3fde90d63194fe96f029eb1aeb9ad5f50f8c891da599704d9f01e6881f1dc9fb4d684a6d29310d6d041b5ff3dc506fd4b13dba1e75200d0e204d13f1535764c5ce77be42117a2c7ff75b5fb2d5d95d2c6a7ceac8304a15243d8a3a0e133f7e1faa317ed4893b90067673bf6833ba9b766d99e3527fa1fee22988b4df9fb4e91bdb326f44cf8c8accf7f1628b7a1129323d223c2cbf7b5ce825b2b48c4ee869f5627f26d06045437d596908d2b49dcf2346af88ee000fbb22a48bf480482047ac8c5e448f200d083b0833000839e8c1ee4629578cdd95b1d193e92f3e841f2dbce26f31c618a35b0963ca0dadf93fbf8803505a5daeea6d51e397eac00c65600c7cae4fea0dd99b2a8cb02de2752859d9a2c18e7a5764bfc42e43aae5af368a9275226e7e99b0f0a98c436ef71927b71b2210e6fc3548bd0bd2f682f06a16c6e89e0c373163ddbb0bcc5822d96faf715784f5ff416b7f2d0f638917fc2cfc754505c2f073dfc29bbf77d9bfe8b8afdd0d59ee573a95ee52cb794678f3422f5d1333167a1f5950437cd32325fa63d3f76ff2c9d2502f7c7e68196aff403db418b2d8ffea5882e38f6c993fa471f72aa81ce445f382ea11e6696ed21ffbc38e793817f68030337c3fc01148dfb91f4ce9d71991d4fbfa934bc808c578d912360cb5734646668a9def52e08d4eecfc08674adb360e48db39e79cd32d7b170a3b63f3f439a1173f4afbfbae90cbdf284b4bca0d257bbf4f4ae8631bda953464efd97bf67ebdf682caef7ff9e5975f57369fafefebafebd234d79cbb298623fbebb54cfb3b007bbd9665da5ffed96b5aa665d93fc136f37050f760841e507d56829c734e39a57c29a594f2a75c4195524a29e59c720657e0b93982942bf024b1dab7f682fac1ff9cc6fe9844314ac37a6ca8f2a30beae7244aa7a7655d67cd1da42ca2feb0ff70c8401a2ec24003b0f35f7b4dbea6317f77dd95434456f3a0c656f370f4c75ed61dc0f3d81ed005c7403d320365a1c1f8fc196403cbc2141b7cacd65b084aead66c2d2f580b27080b5fc70ca4a14317f0935240188963f96f0c8902ee00528280fa73625b5abc1b4f36ded8a0172fbceb2cab4a03cb67d5c4d62a855bb9a1c5f25151f16eafec490a291ed412bb6dde6d93f5d102a8c5ca38655989bd585d0401b528e5f1c24a959af08995b13259a98a30a0ccfa5fcdc2afa19cc3ff6216c62ac00f0bf0e3b80508e3cf8a430c0367802376ca1e7ba3cab25bc8c554ac0124cd28e06fdc4102fec62a10f0371621897ef1fdbe05243181c4df288223fec61318f137b2e0000d830b90c4a6217f5d0c06f8eb6710f2d7d9504457214012a382fc752400f9eb4ef8f1d7a740c4b37cbfa70092d86788bffe029bbf5e03fbd777e0a355b080a42e15e06f6721c4dfdea2c75f17018f5eb10292fa54f3b7ad40f3b7b910c4df16c3ccdffee98134dbf7370e20a957a4bfdd83d1df1642234147735c40520701f1b749d029e817c8f41720c975723463613b06476bdf5f7ec256b06c052fc1f6731120c9550ee3a2bf8ce21e58c6c10ffdcc02487220fa8df1c024e8fe422e2c004931c761fc5f1a5e61e11760166cbf10488aa92620cdfcfe2220cdf50d7b7aec8869a1619bc53666fb7b80a42882349084b5b81f3de35401dea50940c0cc0c9642c2bbf408ef5623bc0378f786c5728678971ac0bb558809f3ee0d0a14c4bb148877eb0f1490f527c2bb372c550de15d6ae3dd6ad9c7df07fb509d0278970ae1dddaa3e4cfa37472d21554e35d4ae3dd1ac429c8facf78f786bd5624efd29177eb8e5ee9f0ee0dbf4e40789712c0bb7500de0df9cb78f7c695c3bb5400dead313a57c9fae3503969fa38909326ad302a1febffa97ef02ef5c1bbb507079a28eb2f72a01c274d9364f1e0dd1b9e77435d4ece0def521bdead35628a65fd5fbc7bc3de98b2fe9147ba78f786f468441eeb1ff2e80cef52199ef4aec4b9a1bdf8e143352a894a6060298c0c980fb6c2541ee44130bab62f2a96831d014361274cc79ff81316206c0598092b05a1503086db56551a583e2b47e248600cd569020fead46ac11856d982680c280e35d152f7740f77ad2e375cad8b75f9b44eeb705ddbad6bab652729a4785053a66857e9bac19573e15c261f9fae6dd6b5d5a88f16402d161326d8444d2c4cd54c4d1ec6611c18c36d69d7569bd334a9983a3367e24469e262751104d482aa22600cb79d3c5e58a9525764453086b1168cf197384ec2b0c84c41c84470dac2fa5fa9633d8b88a4f6c398b8c126612d1e142359f85bcb27c25183a5028db257a6595246e6f8d0628aed8f6ee32a1950a8f7b3fde1903aa5202d5a30c5dc15d15f3f8d20d40b7d96f009f296055aac2250fd507f2fba506fc8088eca2ea59ba39c89f7b4643f60d4a0663294e0d8fe0ce5a4ac949d32474d9f9293266bfa64a509253bd9feece424d7992a9f2bcfb177faf8c9dee933815e703163ca04393f38c113cad0840e4ec840508b025a9c6c7f13526678502003584ca95ae0c0d822c3b1d3b8a83860a247bd841ca4d8fe06d0ede507c7124cf48efe196ca897c2a0a25e0ae484d5ec6ebeded1975f06fe073d191c5506d6af77f48703d60ac5f6b73484504288a388bf4042bd9feddadf0c19d4fb513890e0270d7dbfcbc336f42eec09f209a17635afd06e6a4cd9e6871c10ceba28e9f8ddf5a9bf6e532f9971453dc5254d9a7faab5f2d8fe96532fe9262f54cc07ea535cd230f164831afb83d26bd40ca07a1b07a793d02da6bce5aa0a2b56157a9c603fd58c1c4a1f0e1eec42857c68233bd8519dfaf684850a86950bba65fb5f44f14bf036f299665143ffb213f276b8a92d1656610b5a581936c4c109193294edd7746eae9fbfa3a4046f33934087ce451cd29cd8519cd9f5e046a677f497e06d667c50afcc0ca427191d3e7a63d5eb27593d7ad5ba9f68ec2b6c3f2cc950538f688996e2c0c4f6d31b191d1489ed96995b8e7f3b8cbdc549a63521909f268fc3c89589a59bd84dd04dfcb009f5ce967c227de46af234ca5e5a922bda72987e1953d45b4b6ddd837d690bdd32ce0a89c32c47394fefe8e74e502fb360f0a0ca929378e53bbd5ad9eba8a634c7f66fccdce2291d48ffd16eaa905f82b7994ab8436666f8f1bd6ba2517647bf8c1954f696f0b6292a37847a432119274dcfc78c8c4c8f602a0e25dbaf23f482639ba2b28cb76d53d42b631f00634e002119422f0f8034d00e59e29550c22f5c25a1446d61492b30f330cf8fede72630b6700faf9cfdd9c92ae4eeeeee52ca29a79cd2bdd8306e6aff3686ca2b4904eda6046f13ef851359bda3e5827a1bb581a1be54b52ad53c40289413dbdf4c222bfe4429ddc4f66b2d41a84cfaeb46c1987ec8f9688eec5d08245532a6a897b26c7fe982026462fb636d116da1ded1efdd8d19d40b5545b898a1de0a6307f55648052f993aa883766c7f4fa1db8bdfb04dbf0bbbf0bbd715b2333b3bdf265aac3f8c5042092584d0db5ab62fd44b79ec8b3aa47064161adb40d1759f4a7bec65d6a53dba7eba0c535290d87e7e42b71786c2405c0e6a7f97ec6556e7c20f1fc505384419f5cfa86c3f0f38a0ba7dec853d3755f87fa2adbf9ef1d13bfaab0c6aff9d91d230f00753e84d45124af24a1a060e59b2d330d05e197b8415ab1e4d415927da6a20428ce50828a434ad7d9458688f7802941ec12b202959688fb0c2498f5cfcd9ba7784154e2c7433c08734f3e1b374dbec42a78a7512b3c218a6e8c2931e4449a7b002885e9706650705869f1b99752e990785105ac020658379476c609c6aec0fc3b81ffed303125f3e3d3d69810d14d947c15dc8010d6caaf03f62a3615dd641ee078d424609ec5d94c0b0ac7351227bed35feec8fd81cb1f1e145b88b2ebaa8834d86c40542f2d96b22c45d570ef4539df26377b9d744c84676d4c68e5aec6aee0d1a7452a7e0064c4c36dd440653c8b181a267c0c40b3f3651c0282cc106f68e2bd325e1890d4e3651304fe0897094d29f995d25b6bf4fa1ef30c868204df670087d7fc80d0981d622239d13ccaf611b07afebbab07f0a21e6b15849c3ca2ac8216577b0b00a72d081d57a93177d483de8230927bdf889d17f8f5bd17e3ec65d9a0de65d4abd5badcde5dd909511841afb9340da5a6e873da2f4f2534a3b4a84d2eef65fdfcfdca378510ff2c32c7b1fcd5de696b945d09bca17ea85ab2466125cc376621432ec0b88cb81f23d8affe19811d12d521ba1d0a0c848b42dfd553454d6d115c6ccef2794ea30f325c0447ff3634ebdd5ce67e51081920127f968a202b0a6014c0148437f7e0df96035007ec1f237ff8563b0f397f0b680346ee7b38e08207c159729cbd328d64ffd0bb36081f09780b476385d62ee96c4819e1250789e17637c235000d430d01a8182200fae20a551f9660d69af5b2a0fbbdb56e535ee2dd2f66867843ad15d517775cb3f4696c4e91629a21cc6bbe5316631af88db8804c59a175199d7cf120990a6fde79c58e6a9fe18cbbc67e5bd29d7ba3e85d6f3ef309f09d51f3e11f8fd434f12b65a4baa8a8ad7adfe70dc42ee914328a74b28818e220522011dc2202b636189e274c3f0b7a7447ffd117e844e3081f165d756832adc8fee6e7d1c7ffae36e71406633957712991f37153054aa61d9334be2704d8b60c4ea16cb27f87ad8691d11f8da67f035ef72d461db9c11f02ffca8d31ffc087d9efadb793b3d0b18c376eae8c02fe2cc1d01a9271f1a213fc697f28bb06dd99e037d3cc108a3e73d11a886fe034295504c1cc8a54415d4568fdaa6a0a7fcbf2b716c90d4610ffa38904f03390c732f9778e9b6d82b7138fa58fee803854545ed6952f54250ea137762f9b56ddb38213d58efe98f3989e56f0782314ca4df09b6f0f963ab47512691f8b047502a8134f4f9650d204d7cec72441911ff7ef1e137776fbd33c2524a7ffc3c9189951d5f07cac2dfc02c732cfff5398c204e5192384e8a584018fe2c2cff1656ea581681955c8c2ba8fcd0b6dcd8b2fc92498f6e44591c9924497f393dcae1e1f8d12be29643452691a747fdeeabfed8a760d97ba43409b603f588fb17855e6a8bf7742aca8b422fa94de3b66ef5882d64c84ad8497fbcb2ccab0fe8198881f81b05a547f006d2b445c213ebdf317a512a74480402811e2be9ef06d22ce911b45042870c73fa632ef5d76223fc1b2dfce0376c1f721281fd4daf3d5f02c6408f55fd31b5f09bb8ec136e2ff758eea28965fedab12461893ce1968a0fd4873672fc1c27b17852d4872289eac1aebdda41bf2028d968539f737618d51f0b8efe2403b9941e05710d119c83db3bf853b6f407697cfbfb03cc2006294c79a39c1f359372fe817aaa4e967c7bb03764447a3c4e504912a761f8198714474a291d1cd3cd084450b221c1119bfafcacc32889533b99a449f5f9bf3f58051ea8be61e0c72b82fc2d32b5d2356fb82a7c4f825bd41fc3249c04bd1b72e910ae5809d7f84727b07b2725a182a9d04cbd5feccf935002d2b874e912c6c87bc44ae9c5284583a2ebace69787371ec36e609f613728d024067208642ad5f8e71d9ec6877ec648c6c7787e518f5a1ec6bf787e99faccdcf6fc45f4487bfe0324a1c42fd18026fdf34ba047ce5873486018c6a33f2027f100745d3c788cf23c144ee7d5cbc6bbd87897f8fd59ac6cc8c254163c568b5b8deec67b87fd77ddc78e8aa7f4b56e72ddf62a1df72b9dcad76ee559bafa2f3a9687d1bdf8960ec6c7e85a5e4617e36774323ed4cd781a5de877e8687c773bbc4bd7ff0264da1befa319c5a81a5dc7521ae6fac801b9ec8de7957f7df16e75f13697eec6b3dd213341e52020ec6bfcf51e1b7fdd0afbf2d7737294d8ebb51a1d5b1b5d910cd87ff9c82161e35dde6dbccb6bbdd51862e35dde47d770e99e605be37b8adf781297f7d13734b975c7525c2205204c77d0e5d28b8dae4647fbabd149fbd2fdc0dea563291cd4dff53b743ca5bfeb69745deaeffa50d737fd5d3fa36b53d748fabb3e46d75d27e99c56d2b54ed72b5d9f7a49d7a8feaedfba66d23cb3eb26a9eee94ff55d3be97ee23110ed20f7e911f6363ec53a09f4d7d1c628ffb216259611e1213da8ea8edd31c6ee7ed2a4da50faa7834e59e448b955345429d70fec3ba8a7040199a065dc69a631b497e642d9a463a63f666148aa1105f572968d811828498fb280a4ea30176ff122b0d777828be387a6e6da93892c2ffdc9672096120469b0bf9eb7e0a4072f96507f52f263453260218c8154560ff9e52c1a5d63094540526805e14ba0014d7af170755d324f14c0f28034fe51ca38ccf5b0a3bdde77b6d869af69d765b2d973d96fd9ab70bf52fb3d72af32636c0c7b15374cf1dfbe083f9616e189a5459042bf99ecd81e7e88b759cdbacd2ab93b89a7f78938170ed14b4b732ccfa39ea8591af598d878d07cf862d454febec6b58cbf3c2856199e2389e171dee6695e89fea599c671df2a9fd52ccb54b25fc954b22ccbb29fc9b22ccbb24cc421916d5996ad64bf6ddce675d9f3c0219171dea5ff3f6cdec5d73a99756c5d06f38e31239105b9ad4ba6ec6f9fe06fe008c0363beff1260d13f2eb1dc5333baf01cc71bdec7ca7bfeb63e73afd298131d7639de7f44fb76e60af284990c84861b91dad208d5bcc315759ec695f8f7dec91f6d833ac71d54348b33da6f24556accaf76b5b07ad067bc45d1e16de202cf732dc0af7955b59f1812ba8e29e478fb4e76a2cf74140ee6720cdf69fcc7f1c8b7b8ee356bee390e056388eabdd9561f96be56ffd9595ce46aa71a844ccf5a555903244340000000001a314000030140c07c582e1783c92a5e50314000d8d9c4c72541b8a9328c671c620040c0200000000000000104c1b048a445df00bba54ad6dfc4c2d1b7cd0e257656b4509f5bc93ad9cfd81b2303c7258dafa2df02727118685dde1ea3a04ee6a075ab7822df2255a1351f8329fad79cfbff8f6f5f3a6d7c70d3ac67cfea6b0cbf699b580103a63aacc8eac9baad344a9e6195638548d7e0368608fb08dca067dee9e84c1a180f0dc202e5f20a031d4de61bd10ed4190c1c20f9745462e1c80991ae76d59e16bd1b153dbb136a5bf465cd741a563cd534a2139d53dc1479b357785e0d84b6143aeea0ebd4252356a21faf2b357e2adee0fb6144a452bfb3963c05192298a84c64a669757ad8f4f6d3808df1db017da2cb37f859400c003ef63f2a39446b9c97f46eb6799770db26e3549fd4aad7d26f5b542d1241332b4b00ed36d3ebec43e8dff6029d02bf1f3486f61743fffe09fca2ecf8d17b1f3cd4e5da8d356fcd40148823479ef9cd368f7443caee8db817c6e69ca3b0b0e5a54642ceb42b621ef4bc09fb8198dbcbf842ff0dda6ba1c5e28abd2e118f4c672c63b77ec47df200275611fb9e21309e006644af341b4f8de032c8ba2d4acc6deafa1d03598d28c73924cc005785fe79b6b54eefe20e18ec6691087c96b80d511dd76bad8b98ed9a0cd3386d1bcb5bd997b6ad5743149dc85eeec68bc1b97eeb5d8dd7d1f126a3553f4e278e8b9787216b413e15379d4bc911b5df9c39bae74e9c4e337e4f95e8f83e37b352a0b3444aec7c525cca075e50463dcf122dc3a7b7965464bcb465ae558ee0bc6191ffb55758920cd671e3b77189311548be81e28864c9a36e458644f9aeccdaaaa0ab5649182d04b0d6e30cc91487969b8aa6744a0c08f705930e5b9a230f32a68c6ba52c169f81419bccf4a1235d19529d34028f7288c3760f293f01dcbfebc4cbd2de1f33c5246025d32b45245a977e7bf68f56d08004a0eb1bae24931791ea8a2c5350107ea7e277262c8aa715ce439d3367a2eb17ec25765bb3cc6f3320a394a6aaf8ae771ee8c50cb8c1dd91bfd5aa9925d82bced307e5d3ed4a2d03e332bba061329fa5dc1af338d9ca483dd8daa6a678a35a29486e6c012ed047db58b7c2331bff94dd411ed41b818a6664f5bbf7b811b56b384b21fda735658f390be7a8ae5cb8c4415e8112a69c3876be42a9f857f72415b93b3c6f486545aff169f4777467dac95b437da6de55a09bfe915c997b9be41f83b93e834e14f84d9b60803949933cb4b52cc1f78063ed473fa0c638f054750e17c7fb6eedc944334a1eed0186af86bc263242bae4b95c3986fc347b2f073b48c9146ad651278036faa6ba4bf6100bf75d58e8a4b24a32afd20a33345a16497d0f17cb374eb5474b78e6030269e47eeb3ca2485a5d1f661ff7a03d45ae7a015cc6902b61cf75bcedf691fbf8c2f6d25c1c717d535a21cabebf4329d4d27f034a867fbddce3e3bb4a684990f964534f0e1c95b5d904c0197614db8e953a40cca16110af9c059f90089fecd3446e876ced2e34c853be4b833a5587e1c65976704f366a39d26379ade6a168d7c22e91d064de7c5013b2aa605221e95c9cbc5364dd4aaf84b82a2a326d7b0c9f6b63d9289e03b0627f05fb0596328803b9bf0cbc51955a2fbe207261627c5fec68b72fc84fccaa25be4540f3f3dcc37c0c5a2f730a60859d8251891dc822622607e0785c1c5ae57986756dbe89b28ccf31a840553c36c5c723d5c2940db6a98cff3a5d5786cea377824cd4b64f16e29a6a10eb24a023d3d5551ac9e1952a09a85a82fea775fc3bbea523e3d388c06c5f285b46255f4f7ac0570b5672176989be30b1568949a5ed11c40a41c75a3308be789e73e11002ab0d203976a949b6eaeb6dd28d25a2c84ece2ffc1d1138b41e71330c3a9f764dfbab9349b116aa2091c517b692e1816ff3ea4fc6525af66d2d791e796aa920f92a1aa5334b0854f9d4399e90277b071a53132cd903711592d15981e99090563fe5fb50e42b19e3468b751f88c27ca4a37edadffabbd38ba1c32502b21beb17e0112842817fedd35f281bde700917abeb3c061fe90cba422118d56655ceecff456ab2a830666bbbe47a23c8501b0d4177c865ab592b095485c70858ba6b5a4982fda6355acd0da7dc42a912b2674c4cabc64577e4086cce22efacd88e467e14457a505186397ab4d66da2612dcb4718c46e342ceec647f85202e302016466d7fe71c14fa113ca25aa977a324c3f8347e635295a4485193145566892940853e7a6f0bd979e32869bc7f99cc334a90d6026ec6515926f3eae43c94e4c77bba2433bf0ca5ded8221e6d3419706ba1c7cc689e327de441cdbc40d94ce2dc5b0825d3e1382c5212775a0032893b414fb04a80d5cc176549ef9154873794a6254158fbd59ebc54467740c184ef0662746eced66e12b91e793879ed14cfa570fc5c94364e190a39fc4d845d3966d4f0920fcd143604aeb58284338cad3ebf34c4182d60f48878435ce219f352308d3e3e359a9ddb22374647850a19c01a29d090d1dd61e341c4a611bc769ef4a08d3ae38fd9b4011178b9044b21bb937695c49121826bc676b9a3871f4a8d1a96718e5b9a9356dd94005c07329d3483189525e80902b3be5b95a8d359b36fd7377fda965a29aa6c1f9c8ccef418226f9e68faba1a65be5042f1205dea2618164163449179f06d1b87dbf7d1b110e2b083130a228f4338ab21e5faccde4b25eb269221da683ad0b5c6d944634499da487d6fc280a29afc647acce783bed504cc9d5453666c483b94ec4aa5d41659731103d93941ed39883650164df77715706e4362484383dd1d1283199053d4c79fefc7d18b005011d2cc50b3d13a7d64dc75cf7faa96c035116e820b7136125c5744dd1b6dbeb0ffebfdf043099ff744c9698cda488ddc2dfab58aa0ab4968d444967f68931bcf5cf1da9bb7f6f1509a88317c3bba0da15190f8641c71dd3a0f5dc5a47e3bc1baa8ef1ea6c56b98de088f9e0cadbcd6271aa7729e8c2d8ae8cd0310ebe3d0b792b5e803c53069b75108c243ff95c4de970beb8a10129b50a48e71b397d4ba6bcd943864cdda3368a4a75c8130c49656e76bf7df5eb45e2a0168291e18c3869e44904a5f27fbb161cc123a077f80af78582c4d9639313c9d38d240dc637f85cdc5293fdb87eff34081903603ea4d7111a409ecf6a0e54bf4d5980c78b4340533ed35c5e98e5fe36803a47b1b3fc5ea03953332672e43773f8c5488a759161017e01895724267b8cd48f1b9383bfcfe04a285ff9461eb8998ea6fb981a8ab9234fb4d01fc9263fe43648730b832ba506996c683908b05d2c57a5159c4d1a13c4cbc66c5854967be29ed16e8744304f510ef4bed2ca00ee191877b8d734bd1e5f8ab50b86124724b31623e7133723367838c5aa49a412671c27df9980fcd58c1f602d62889246b28a1f858cd313f7f9acc6a5710719904e0381529daf7ae8b9fbd9225e9f9c0b11b7ea655bc442ba2ce10477a010c1cb324b16fb9d6b442dd1e1fe7049ec5ddaefad39b6f1e3df28116d3c6aea0b1b36d7d98b5121d1cf7f6307099d7b35e3a856b9daa9ad7d623d0153dedc96e9a4754ce8a4fe6439fed516267a991758bd2279f489f7a1a59e3da01d6500bbfb48bde45432c69bdf63e8a0a7a58e6943fa364490794550a6e41f3a986940a53f875b4adc5798311aa5218e452861edcb299af179acbda65adb1d0579a43e22d9a67a1142dd2834b8593d66895ae634d37f6dbff0c3585386698ed10d9f71b21481fb906f004f0d66c64fe5d5279265b6d209469c9da4c3e520569d05d07590866bce9ef9b5f344013e43c01479340292a3e37beb0b731f81e69ef295bcac821032c47cfe66cc235c81aac5c22ce16b54a0ebf0035731f8540a18926ade0609547ad56dca309dec0914d239c4cb33b8938639933df23dc9918e02bc145d260906094ac103584e45f170d761d4c03f07655e078d4452cf729f209d83a11091d11bc807e8f8adb5363ba8374f4007780136d155745ae84299892334a5557163dd1976118632685688cbbe2e72b8fabb8bbcbd748d92486abba7153ef398a29a3776a704ec47013a865809a040f5bc27e260eb4ba871c9ce3b8ba6cccdf53efd4f82cd8a1d6dbd7a307a5e789172fc41b44a5b1721b530c280bf84b45d0257d28a00424ddc9c0a2d1bbb25cbf6c29e1e6a437e23b8936b6ecc56ab94da0cc22e83d873a9b40a355e207037fd9e4661b63431caaaa72cc55873109d0c9f7389a01e387bef6ea43fa99bca8620e6681f84b028a4f251b90369fc48d1e12d19e9baf6f51993cb6a706fbcdcdf6dea6b2c26c428720b3c2b17a87071c0ed9c4cb5413006df32142646aa22e36667dc742e011e9f4a0162a19d3c223905176357dda6cb418b0846b6d786a19796e35dd0ae378dfec48d73405b241377507d52a37a086d635f9ce3c0bbf4d8c7c930be5f11a5703e69cc0aebe6b622e920a4885ad7099e741b67fa6b6f446e47166e8dee7f01428eb01670057363972f71340fc0a1da928d38fba8bff8605cab31b611db3465a12c1b50ad043d44c378e201f9d1ef3e00bebdbc933b77ee2aae2cbc43a0699c23f29434c7bf9a2c2dab83782605ed284bba3635f6025047dd23afbc71dba59869d46adbf98690e09ba643057506c60998212bf8e5886b3beb2803160e2992533b27177afdc0a277b3fb665436b9d1574a9c2a7cc008b9c9bae22be4739b7328eba5e2c74134fd53729885a9bd7d0cd1c657c4d5dfda8450883daefdf439d62dfcecc8ebd2bc851ff836ae25931f51d91b27c927a288ea17b44fe4e6b7141b2bdbf9f16bf2e39af30c12de772b4ab2b615b531698e55ed76e465bf5389b67cb1e52b26c0d034063b6b5bfd7944f66a331b967e7761bd6714a620f38a859f4a44171b2583b02001ab75c39e40230f668102e302a08408eb5600a2e201de68c432ec63d8ea021eb2d54e143f29cbb45c080c8288d157ad8aeb7a20d6a010d2a088310f9106c45408cfab7d9809415219b02a022d5e2d968d75bb0a55e9b8e06ee596f675ac28becc6163cbed049802816274e490b5b04342e334cc9189506ba1090075d8884d78c169dccf3cd3590230e9fd564f7e82286184da38b74420d5120348612a2f576438f3cd6244bc28a71c465f31390bd7ecb14e7ede780656bd0e13c0a23608d92381791077c0ff5088363fe6d7761ef7b8df31c41eaf8b07d0d13aa5352ebba705f3aa41d59af81620d032327cc8dff14f4f3eb1b546cbd75fb0ebf691a6d4868968aef1ba045b0bd938b6a37288467f0fb8aadec7f1659456eacaed0a25820d26d551237ebdb4030b4ed4f93929f71dd2831a19dce769800604b916222c6fac480bbdb0af1b52f0a3f78691abcca20dd6d96b8622b6aa040fb97d260026f0efd9af19c0010720111491d3a244ba058748648e010913af41420c538037f5cf0f1f853feea59450822c9e4a72ff19ff70c4dd23aab7075d36377561024c672fbcb169294242ee71d2feca1fe225791893328ce1904feee847e077c11044dfe4af3790afbd9beab08a80dbcb2751989fbea4ba9b15a243ea8dcb45c20de5e4c5ce720392e3ec35ccf9e5f385fe638ea6b5404e49761c97f970a366a15a23af89424e1c93b9b1ad075deec6802f0eb9632ad64b337184ee28346f817ef0f9bf8dd25ede6c7c4257c938814a5cdbdf71c58262020bbc3400ee2670908a4cb1ce6af8093a7f901ac76385b02acdb8d627320891e6c404c3d416dff4191b953ff5b39aab444e906f5dd1bc988ab6a9170e408f7f96942f2e1f319a2a3f18485bdf0ca697c8dba45d795001e84464808a30c6c514103ab62614fecc7853adbc6dac69ebc7e9d5bd6630ad3b9e8fe8d7029447b2633672300c736c2d0a967d50d63f7368cf48959a18b1343577464ff169b42c36af9454399c6293aa3670dac61b277cef28c0b8db2fb3fd1821672d33aa23a887d50902af74ed07ffc87315779bccb65c88f7fd517fafb3eac9ac2b3d8ac0556f0fd21a446c44ae2d9f590c04aab9598d059ae90d110a506764dfcb143c2546ac5d0ea6f45b4063be3de9b94134fd6c27188f36bc18a662e7ab112f62580a22969ef90a329a0a85b8007d8b25e99cb2f011466aae5aaaae0c6589a265a5319820c01750bad8fd5dedc309d06747a187498d60ddd4affae1e97e6440e87a37117e36abd95cdbbbaddb79ba90d78eaa7535e14d67e5727237c1bc8fc2d9b84f394a33dbec40930147b14ec084a30c196ef5281fc50569386f22553ce337e86bcdd1a2c8cba1a5ac0860190646f658edcea53a7f3ceb90e74603a7b43a9c0be396be59e050c8535af94618c38fe0f913d95f55de8866d64569667f6ed5dfe9215136418086cee05540456d04c57ae9c1f7c6665aaeab7795b5908283dfeea869b35d694b48342a2f5052180ccab54b124749e6f1345109956982f2d5386b2657cd689a3cebf5ae08a58514d099f85a81b819daedbe09e78c3b1cb1cb73714af0caab0532f3802d62d30f2f52ab6606a9b420221c3172b3a0f67638ecc4b6ac81e12188749c03bd8875eb45989c0a5bb3b5b478e6a41eb12321314d57699889a9ef74d6397c050d9a18bb9a368dc55e717501477915f8d66d195d24861ef79506531e52b8ac7d3efe48f9181d0d1e91f5e796856f4d3f9d99888c2c17ba3594fa2f21281f4e12ced36a62116018fe3ee134322071a5a5ee21a49c09bdd608f5ed0bdc658620620f5760a9fbda7b88559695f064860462abf6e45ab9cc54bd0eda340023780c988e35c2423d56eb8782f474e4d264b3955d9d5e10a9c2bc10d9b67e8b6a60bc871a412271f6f589d6f499846a390cf38d964fb5061f79521f240746e10bae1f3f5cb387a971c32220cc7789dc18b87fe1c2927908970341b20df346c95b7c4ca370254782e57320475eb5ff1129f01baccac16a0b91b0a6722b0dc02161798657086b4f742cd1eff151a12c07b06710288964b9789dbe11411c1db91d5972309f55c17fa274039d50e033c55408c9c415f7ff78947d647f8a6126b53d8c454df008da68fdbc22bb6234b04774fec0097ad7ebf2744c10204732ae76cc3604d529243b0d9a9fb9dab3dee1783326d8c7a972ca879e00795fb799e1c4dd7ba1dd411c67c78cbfcafeae8ee273d476bd55bc7de54892eb510ac49a7d13e2e326dd889aa5bb1475b45ea269c94c100ad4cf5e4e245315052442590c098964cd0f89c8c5c51367d28c1a98d79b765f793dcfaff0f2de8d4ce9b05599728a2ca4079ae20ddd08fa36387e2bfa1b25a79150bb915b4684bb7224b8f2c0b4071e8821d42a18914d8071206458aaae297dd8074ab33f84ced525e01ddd9010b5ce50a1f13cf04e7aea63ac53f5ab324df052a85b786a3d53cdae22a844d2566c758e4b49bfc4ab5a2ebf1cbd63df71671f62242e822049d8b745d58307cd4a4b208a628fa732c4aeb853b6d96ab75e3b0c6fe72e95b976a045cff76206ac9f0a945e0e88d1de237b9ee1b1970475b47f1815bd56da4a18005850b22368c10d37aa4d6a3ab1191374a11b83b16fc0f81c1548642f3a0e9ab83ce3160108e8017dcb5faa104432beca790d06514d4398c949bdb86ca08d4d18cb7f3b4dfed38eb07a9267623d5fdaca9c6e4ca552eb4ff236e37de682dcc785f2062f61d535a6d01cee3c3d71d716bf05b5e0b7ecddd063d5b4d1d22878f0f705dd56449f8773907a2aef04285b1677126a0f4c933d25c86cb1dcfb86b5ec857d7a0a2ef7a68c98233281c2f99be72376cc260c8bf0245aad447e832259d4d6cf9449b8294495daea64bb0e4388186ac641a5701dff1dc175e9499b20ea66a80328d94f07eb05548efc7c4039d9c3ffeb31a995a9f99b1cfc0d7ea9ac6d3d18aed42f889c7eff0a8a0166e007ada38d70e374a93311e5f2a1bcf0db60d6e1490c26b1e5a0653bb0ea57b4b5ca5eb3b189a60d1f4ce2f58e755d88ab0ab101f1f0cb4f42bc6d28d83f2a88224e8d721c328efcd8994c9001be1edd583e386aa188145496d5831077f9289d72fa2e718dc6c1d1cfa07808d39e75ee04ec2263cf9245913f7af844702c08417e93f0390763625ebbc92cc80e2ee6e9e0c52aba2fb2eccc40f8358cd42d4ead2b8f887e9bad9f0204c2e4ce8d86fc443440f604fbb87a35f5bb760f8cc7b8b10b74906ff7fa9f18ed909d4fcafa4a904f4f43b0166ff0b6e54f6d634824f37ea1ecdb91fb740c30f7c440a2c854e35638c9a131b941d1cf3a321784e54b09d86b9e4c11951b7100b0cb56499679bf906e4d2ec85e14ca9511e7ff884e29a9bc798ef5c9523055780947458e01245ec741427992302a0fee5766d7d4934dd522527ad4e39a9c624845d7ea490a5e6c6bc07be23e926d151d778426bfb4e370b7053f3a0990a36a7170b4935d05a9ddeaa429822ebef537f89ac30d37d3f5e628f0b9c7325813f6c8a04e456d2b5b62c006ca7a849db393f73016caea1aa6eafd95dc099612e2f9d12b39dcfcd63c6027b8d4b35c1b00fbd49a0a64e7a83cfd3b0def89d40e593c9a6b1320a0594f067ca1e3214e138cec3cc6df3a30de3f6672f9d1d1119f10e6315dd1aa46498f8b72b4e807343460b58459e8e787823ce7417c3eb2f4f8bf906fa0acf8cd29a24262b69be2a85c51731be49f26b7a6a20e8a342b9c87b924b255328e7a62c48422c65082a92e41cfb0eab7e9f7bda8e6006243db435b223a3b8dde4b2a315ab30ae5aa2e77501f3861764d41c1c2d202658997c91322dc0747b65feb477245d6812de580cbd506911a093b8cc3700b0895e083f8d65555dae57fb1630f072ad551b8a5424301731aa79c1586b2ce50e60ae227f9c5f87fa5439749a1f15d1f5ff7d08c3b84366c886aed24951061ab0d7d09b4e2786d62163716e8c1880448dc8260f6d613e81604bd0444300a5550fd7cea6b43c67218aa8990a132c4e48996af420ba410d8959501deee191fbf8eadb0001b22106aaa6e83f033e1565127190e7ae150afb42c9d9af18bfabef0cc86e1049d7b96079d58f3eafbcedab2e260a7d24709acc6168dc9c9768b71a2e2b76909c9239ce1d30858a40db889fe0bd46e74ad5c356d9b17b05a5e1b01541ce03491f7bedba6622afa6c50e4f0ca71fabf0172b3fde2340074d88a4c9cc0457fca24d11810012572992f681ea9cf58a20631a983f05f3cf6b6b2dc848d6e21fb8a607b953832eca187ee6386bb5602c4b4ff9bf0e83eb99af9f0ca6d28f7eef1466ea269e60d32c790c61a018f22a32492c75ad869e10b260c1b43a72f84e4b48fc73ab53daed731aff3a17c0f3215c281c49490266a8fe306335148a091357820bdfac6686df49d3f33e76b59aa1d6e75263678ceb910853c265692bf4c8ecc4282446e693deec22ca188f2c9b87ae0aed24a0743559c0ee9600d5224bd65df98f96f4f885355eda1eeb3c5797d119bcaeef05ba10dd7a2cd6b95a0aba4365c854de6b2cf4a1375c05e16c27d609778fd9d6b6ddbf3c568b8593ea567e23fef6dcaa03fb81768b59fe34223bba8e7939f2d76979fb0e8eabe018ba116a9f2f2bbcfebae64e4511abaa2ec0dbc9838b7d8c71a8f3e1f000bb1beca38e0373e0c6c81d152c648b1f93145262a8b7ee0c74283fca80996ce487f55fa2a965630295a65a86eae3e84843d374e319c846ff34f51b08e678635740f2835ca5b69ea0a7ef45005e1290362c4f26d1ea87c08d99df1b0127848534c98381278e2e5b2205ef3e1011af4cbcee689420c78041b9a503f88a2ee0e01b2c1e3841cbc32d7c86620ebc65d763f63d939277025a79b8e84e7de2e8ca10689a382e54f3d7b984126e2b77e08b133482e32df68862b3331fed56555ec9011c5e3b1d71e0f4fcf64fd776623ad080ea45e7d0e44a05bab1edad3ca731b29871be7fd91148b9395be5078012d95930ef4c60c898b7cd221696d3acb9255513c11feffba6a4d4ce52396c00a3d890cca3aeaa6413d3caab21b02fd9681ee83bb6f69fe59c590f2c898259bb5eecbdda7e22bb22ddb0af7615cba6aa80d4f96a32715275fed3421c1c25b09460ef8977c5a27d51c80a7cdc5f54e8af38a6642a848bde489e2f8ea16cdb9ae90e6e1779b323c36451b346263607bd45fe726c5c884370c9f26918b546037b080cb924a945e1db0642ab35a41c1a40d69fe409fd3548999a2f49c6787dd28cff2806364a28c5187cc033a458e26b30665d9590ac89d4e7808c23762a4803a7bbb7a942784720c8c0a40741fdb584721c8003ac43077fd96616a64801e3acfeed91134d052487ce1ca100edfe58b6df59ddf9448a361818b628a0299c9346336df845f074104b17bc1ca42ff61df7042601cca70b3d6fc48132adeba530bcb07dba95df411667218cbc36c49ad3994ca4bd237a0529a002f60bb614f0aa9e29625e9a54f4ad87ba35402e9b8871c3c2f410b2c557b1afe63e75fff2ec33a8d7d1f061df592e9769e3ca7d575746915cbae133d386d8325c88a95b8190dfaf3fb96705837054bf1a77f7db915a0ae66322140014943c1ff0b0fab93e8ebb1acd17b132f627aa6226c88bb531d9b6f6d946af84cae02e226043bd6fa5696fdde2ad9cf50dcafbd7e7c67e3e6b265b0605c50fdbb1a51cf33e3f869496cfd4beb244f1123ab9b3937c84ff76651a26789d0a5eb0eda2abf62ca05133bb3eb4420af0c78aa2748a0501312eecabdfd7cc6e42c3773f0b9d9b3126432836d9ce4ec9a6e118548f532ee24db1fd6e34e195b1f83f0ca0f80a51d2935ded4b1755e5a77085449dc5baf5196bddbcbd3e1bc5cc6ca2a90c155524536454d112dbff2c542689e125dd4034bead704f635c8cbf5505d1914e4be41b1b5ea784b8c85c901362c8f0b9566b62523a35d1fa6711a55400e407a3b0dd6058e4d509871006856d9d007d1009be0a9580a99237b05d8d29929ab55a95cbc0188952d0cbd91c805e3f6521d8b09d05a32a5ae3425ab87c2d917179680f0000211fc13e00c4600f2332bed66c2a8c8d0a166cd04a2e709b429c15549b4827d821881ebda40e5392cb85556b7f9d7eba16ac47c8f63d182792af5e19fa1a47a45f44e312352b3b79008670b27eae3d8cadb7127a6b94bc5b13f919dcd97d086703123cc71ac4c67834089666d5035fd30b51b7862bb6320f06ecba4e113d12e27cd85e40753002f0e3c3d4d418bfc425ee88e35ed073371546a0a6970c1be805e863383de0fff5eb00e4c0ea69b03063a780d4bca359a3086090a78d8093b8cce1057055d6846793f30bd9c38e43c19975049ce2374bddec80b0d5fda9dde7d92dc80f7bd9f7e309a372c95c53bc2d0a46352c99dc33dd04da119a0e3b3e23b0a88670a1e20010a89d94e220221c9ce706ed4c39d833b3aa07f7e8c409c24681175031dc94309cf2ea95438500b1f0b797e5c941010620d3e01e1cfbaa1e1e11164d0a33a4d1d9c98b1923d4c047ba6cbb5256fdc3ce00bd145beaeb59abec03aec4a3d4944759dce0f6da41f88258b5fd0101cf33b1f601ed2d7e006d8cfadd85677520d7a365588319bf01aba4bd70b51e800b4819b0d1412dca23c75f5ef4a3b1d18d15f6742dc5c8fdd0c6865646093276ec746a27688a4e86a3cb3110e0f746d8c6073661826e2b09bd25c56a23b43237c868e8f5b0e64c7a00f38665a175f55afe9e115d7aea01a358d252b5afac74cc5327c458720a885385145e01d0ef6d4e19ba2089fdf03b8298e4bcc060050dc89403e0fabae18946e816fd9459dffc39831bd49db9262581e8aeebd60760dc197c751b6f7284691ac22da7330a2a5ea6a4a81587da23527a400bd7bd044d286a712b3c50920d76e37f44f602f4871cbaa6168f32204c6f60b129d4f54cb4d61da724e0d45da372e2eacbd1bea42f89d22ebc8876490767450ab3f75f582f92a1ff57139bacf36fce63d3eb34b53aadf7c899faec6425a2183c13161b9cac40a0e2d6a9566add82c618a5bff7dc17d5791c8e9b1f8a14bad001aeb8593a0d3fb024711855191b0ae835e48a9a5fab5e482f16a81f9a4bd1180616430883778e2565f49ce5a21aa70ece8e1884199b5dbe6d893503df9d12979f21b8cac0fd42ce40df12b3481704a3e7d82bfa8e0efcfdf8825fc325a735143258669b71e9aee3f19e7b22aaa4c23884c36a460734f8509aba46fd23f12e1b8e92f96968b0aa9844591d101a7b6f4e0332079bfd2722334bf6cf504f98d75ea272425303cd60ee06d399083b30e09a0b39194c825d0f4c6c639e3a6b7d0ab1051022ac482e0eb89f180a30582667855b9fcfc561d411e6c9e89a8c23347e7f160aced7cee76cd2202c3900c6f4dbdde355cf24cd690aea71427ed91609e0d0c3b4b8e9d5e7ed366453eac2e9e165aa48f64ce98d0d88a44bb86276d2016511f3df888142f154b1b232a55289a7dc4beded4603d47ea6025c47420b16cbd4c9d1381948344d0b2cde1978e8ff7d461c1794bc63663a37cc5d569b0665db2dfde99b687600a8b2cf96745010ceb13077cca0c94495a9a863a3dd9e2b0ee4295132dec9ba3241e3145281bd03354a8342e9ada2c84c5d5ec79faa29cd032f1fbc876a2248148d733e62ffe724cedfc8738389e288084eaed7cae847aa29d18bc5aebca64e7497eed065fbc1c3196e37f2b4e2784edf6e1ec90b2ab8e04bd9e62a040e916872797a71a0d3e5d33cd1c8c6d11c3ed726c43186134ef550c87f4721c8dc354a42c81d95def34e51c992d43aefda67391f5a0b0ef24654c5953074c3b04dbcad41c81be45be1719a327934de0115395a7c090c32b1461f944b3a4b3539952e58a91e3fdae60bb25263bd511b5506c39bc4be32787291865310335920b1ea5da57175780cf2e588912dfbf0aad908ccd4ee4f548caeb52352ada17f63a8ff52179d1ed934a19b24608d3eb602e5b546f343c6a233a23b4f9cc8b6d742dabbb1b193dcd6a049566d83c13865580f8979c9101fceeb7c808d65be9afe2bc073913eea69079756556bbd59740469491189a906bd906ddaaf33cbafeaf741200a7b0ba053bfd91e75cd157e32f249297c75647ba629769348daccd06b741121458e48d534af17b418f0cd5b5e82e764c324ff7e06f69c6ad18645d06470ae74f49eac677b50f034bccc29d4e5679cf2067a63747c47f2819f7da9ba9e9b6975a585a2cbc17857079a1267b6926f927d3f62584f2d14608ca6d24733894b89b9f79633a3416dd745f6a10ff6c0bce883b13bd00b3efd896b91bba9d0bd59f5100e0b30c61e1db7323b118bfad683ebd1a21a5676c81de3158ab5e10d1d22568e9d6466ef35536e233dacaa8f1f2a29c7b2e3e364b30b6d223641810c23d30b67fc23935d9f1a74cbea41cad7e7ece21467bf331afed3ad2b93767862a49e213c845acd5f3b2a635812cca51a13a514a960e57b72897f3b7e933d658b274cea0fde98cb5af4cc4f04fc39dfa455f2206a868552f29233992edbecc72349a77f09b5e22c8fcc84e9a2053fbd26d2c59202f05c871c157abc6857475c885f8b09127d19a25cf0141d34319a6661653af827da4717c1aa7cd10f592e0f2cdefccbe1996dee9fec42852ba87a90bf1d5a831f5ae9da5d5c60cf3341d640730acaaaa347c30bb18d20ac2e6a7900849955e98bc5b9df537323d49e94e7cc7838307bb4750cb3c2340272b0707aa1063763955b472f20473117063489f314c0a109cf52941221f4a3e29aed5cae41f0462304f55a3af00dc54800164a4387611b3f8f267ff80d8dce579dc85a63bbc77d84c6e8c05d008bc9afda8db22d69b3721795688d70138234452d13da6fd2fb1553cbf4c35bcd1e44f9fd81701c1fd4f3b078a74d945449b7f71f052002de43908b03cdeff5e9824ec14cc952560aa78834144f030198b33ef968b089c1ffc0764781fcd48d0b1e2220bf211884eda64808b303a0cba25c94e156a5841d1b2d172a4ae5a7ba0d54fa1dff0674364ae35a63a82707744a7361e622ed0d3b401c8f60e1de1b095ef31c14a3a9a6575a3097ecae5602d78c25f32a4da3d125a1faa344bcf0b9692387291906c82454c034627f237a15f3cb67594caf5860a376fa6c6294bc4e040b09505b1debacd2387a2fd9a63fb3d575747b7d0fe363ae22b22f5be46ad17a611ad3736428697907fe51d6e6922aa23d80af0f91b495544dbc7c84c0ce95d821ac96b75ac65578992d0203f5975e13e6e9d7690fa290eeb9a7025234d42a3302916f3b8cd4515551f4c3c98a6d7f78ef22eab9511480d65cbf40371493426b322bfa11c8e39a69ed0d1566438adf6349872a64c2b947fc14a6eea1974753fede7e4728ecd4daf207a7d095fd57d28fb0557e0883cf74d63ac3b63b84a692ea68eb3655d7b24e54cd4d9db54f3133901db185dbc49d524c25954430af50523df01e06c3a284a72b6322438d7f0a661ec8addede28d144db06320c596d4e44f04da3d2284f8942609a3b9c94f043ee458b934a4800c7875e9ed0caa38f2d354712ebc1ba74e7c2984e80b64b5b5b7983981aed827a9987f1e8bba5a2c50901c9ae9593d74e6ca45a7bb6eb0e5960868bc1fc7825ffdff3434223aeaff858fde2fc47fc84c3ca4df0f442346c28f1e17a15420ddef58bd102b89d6f3d1bb4a4e888c3597e210b0e30758e66ee0e56dd737f1c6c02d1e55c2dc0fa74313c227422138c664416fd88e1a4d2056a641d1f98a089e490ae02cb0f1acd8f11e0cfbdd9177896e88a02d9e8136940038fc2dd05d5189a87747282e689e4880dc8eff594a181e3f9fd66ce6d6e6539ae4cb1bb33068bd24da33c36cea1a071350d126fdcb2815cee4b04ebd24abb92e962206779339e05280cc1eb848afc525f2a1823abb5f13f68ecbc57e00e2a2ac506d215285683f465cd73c7446b7a78053b70fec010f3c4a4d1c17f88ba62b171189243f354d0debcef78b0bcfe9b3185a19fb2716f87d735a5a32a5c1e6bf4309c1209c32a92fc9696c357a2231c92c4c0c4168a1e74a992ac6d0c1ae5287f91cd6191dfccf907b51da172d00b7c2ae6cfe0a9819618f019a90ec83e1cee3f5e63742c32779ad44e8d30e83f1428a0d84198dce814ec142a4189ab6734bbb2e28189bb028250a5f7d6833dc436d90a060765c509384ae9e96140ac00daab45534bca879cfe39587b0e3a2864d20b7c745f534878d1f95c86740d698ac133a414bea60bf649d25159aa9881f5b7c8267aa1a0e1b674887d944028d57f5f5848970b471bd257e4437b7425db7c23dc4a6c39e557b3dbb147558e47caed2986d043b976ee3711d3d4e933ad1a320d167d2473353efa751aa6f4824888566d1778c874a10f706822ccb7254cb3d85b92122c4ed45d9c4827b30638a701b277ce8d9ae9d8e926a09b0a6b0799cade27a754ffa3b4afc02b5fb81c5eec39510b7fce6012b92156068b88da93f1f74206cf0b9566212600cb834597df7ce1b23ae91da44601b672c89d6fcfb3dbe394256be2035233cc6537646aff0c4df16f337c678355f67a1d4b5a600f10b7ef31df8654c93fd6da5308b26725a03fe7b9ee4c0001052a400406dd640d4f0f5b6a06ad6e7222931f8b5557ed6e2e7ab9082c77a0dcda10bf2e2aa89711bcca8aaa0e552aa1e7ce6e8c5434b2c13132d0012cfa4a34605f769030a1c6e3b0c4348878c555b2eebe1d64ea78c3be9adf00dab4de577063ee75d2b10d5956ac8486f1b1d4ec3e1f69c8614812ac62df7b45a2ecbfd346ca354b98c9441e89e6e8aaa6ac731893cc4f594a9218fb5b2ba057f51d9de316c9f9361890f15ce5a120363e0f797effb07378f401310fec7727f1f378dc46f5a35e591928fa558af49afcb7323b82d057fe08923cbba5009e05a98f2f0b1782d72503fb8d525d4040da43d0c0350944ef220bd8683ef94d2341664c9a2e87cef260a2bbe7a45c600b7321fba14e085411cd8dfd5133a855b7fbbfdf24fdb7daa442bf70529e5992f9354aa888fdce9e2f31cb8da7eb08c4dd22ecb33504514356d261864ae595036b8be437f2550291d19d499473c2122304921213d5fda813e1a5e96925ad6b70c162d3b009c405b351a6b75439637c241af755b1558ee972fc75d3381f3ff169e74e615b3b300c3fc8b018065698670857998f07ff2d13ad853bc90c7926f92b9c555d8963c95ec99868d113372a8b6d5b8c606b441a64482e8a1f6d1d3b0f342170351a31ab05b6c7cc21d8b557476f4db68001589a95a1e691ec830c0cb91ba5ba5f29dea0956bdc67209abd11e365657e2f48ab0f649b26cc399b8a08e4f2da1f17cd86fe495385d51760087236ccc72c7ebdb536d5d7484af1c75f61e5adc7eb6e9104c7e2e3688cf215433431750baa8d1269197ece2a0be892954d509fde5a808afa947a808a69817517542e35df3c595cab657f1d598cb04d7a50f02e5ef61a1396b6b28c34990ec3990519d9a6d226ff4520fe0ced39c3db6fee4d9b7c6c9575bd28ee27b8be7c5e8edf76da8b0e20bb7524bc54643cb4c5ab053257b2c481c21946b49573a487aa0a990d09a4a845d6fd36cad6d5011b8b51a906439ae00f73b5e68b63e4b053b206228f85231fb89345903331a203a85a4629c137dfa077869295d0471e820d8570f01b6b42be501872f00697ba8e80d0719f5b7bfd6b05e82a5d1f37c792406cc3049bde3c74eab6444202ac6e96d3555c693dfe1d0d1471b29886e22d74eb06cba5ca2c7bc24dbe5d260fa64f3d3b6be8347e23f8fc82a53c2987e3e2d760fc0c3cec399d27ec3b32ca7732fee5e0dade505a93f7b515613f6be1868702e301fdba7c3b68123c259402316b90b522d17dc054f4f383cfed3b384a080f0b9097e8599f4970aa8bd2912dda7af986290c67d28b22abbca7f995998148543c30a650078962e43aa0ab498d4e701a806050519048899f23ace3fa9858dbc047fe5ee71a60d6b73edd7e73b69ffd913a16c4ede09706135c5e9c8a1e35d5c963248d1821768a403fbab8a4d5483906a509426f1621d6945124de067d827da13bb4bc8ef99f9b24d4f8466aa1b5b1327a749616f25e7a8953ab19940e88c2cd148f0244b90502249c4004bb9de057001d0fa80c4c193e3100c77b49997f68e3df0debd7b10c6bd0680a3db4793358103bfdc058142a96e8ef94016ac7a273037772052b6cc2f16c6c9a44447db88348d95566d0e97339b60614568ae4490da58c5e658d8cebc20b75903ee97917a0e76cdcf969da903e093f5e0c23b8356ae38f3ae1217ae5349d46cc75df78b6362f40f360933b6edb7fba4440a15108e5f3df8e0b7084438278ded57a9673bfc5cb4367acad5207702862457d18b76874f2dfd3048203bc1e0d0c740d36c8d8e7620dc3caebf6f6761eb325ad8ec558aa2d632a535f5d9b5a742903d1682ca2d189a8421a780d1a99d67ec866fecd1ec3e062b6adf6e351e84c2b03caea6719dfc6c790772d97b270fbec16537b9adb404359da88383d9da2ad8ed03e14a656bd82315d838ebc0c6d04c2fe6f5a9640b32405f972a4fb5169ab751ca5c7a448826f2e492a311da5eb51d3a8e26779c67388ed2cfd946af7f5770d8f29e64d76bb13ad826245fa005d0e90ad68311257ee716fa1cf07e5e1ca11a60bffe47854ee440825f211c961502d5745c338e139fe635a0414449b2efafe497fd553e60d3d076251722a40cb5ac3265337af0d75653dd473fa7306f143a02fd49fd67d82fa13bf54411f9a70578006ddb04e72e5db1ef38c9335145de72f011c99780c207ce3fed86f5b5824d2aa2d42945597c05cf74c61c39a998db97b95f2057195ab5009094710667056c835adc90f02105e53ad5fa4ca674e288f04b6281c83faf7de89ce1e2ac97f69575ba2f9b23eca30482945412c9e599292be3c3e7015c900fe4efc2dbfd22b99c0419fbfa488ba80b51c92b435d9ffd3e4a012f8a5a5cbf51394cb21b5b60210c2dced1519d57992033a4b7295a350d4caac649c63d4b8c10a9f1c35c7893e9f476cfa531fc83418f5280f461b03d41f6d974aece461939e387b0daf5af9d041a64fb15ad58e241d092f9b0fa5faedc7ff55bb20b9f2d598ae28b9bdfd932dfe4c5f45a7a27dbb0646d45a455cc7f915d15119505f377ff02d0106a96e0a861ae32a22e7840af056e5582023f3b33a14a0701b744e6dd13d12da74b9ba9a534bd629d5dcd9223b85139d52c7b900ec656946a7366cb75629285744e24b79ebf7e7fdd6a508ef690f5cd4d1522a3dfa9fff64295679c06e038d5c29e2d0fdcc369d6962bfed7755ca304f06526844eb6fa4d471a39f4d43ed8f2ca76587250606e2a42642f7299bf4c3847eb1bf35a9813a9783474a2a51561fb39a3e9ae8bfdb40a2b22529827b1e9ec4565f2063a4b21bf38bca8f2c3dbd99640338ecf3a475fa4775b05c795acd3aff7f60bd789ffba9901cf5da1d90477759defb1019a590e448d3a8355d1d691615982eeaac63b5cfc9dbde34e9edaabcd9211305f03478beed4e3ec835d6f20be60a31dbe42a482ec34e6ebacf1d2754a2725a8b1c482b91c6c25e810e165a2bcd7675a582a45220fcb466ca01812f07127dea393bac0a1ff7a164ace6b8b5f2aa4b6a266ec311970079b90d8072913563988f5007c85e0250125e4d97e81b8fd11338030358f1e8320a04e79edce86b00980e58afe88432fc638607ce2502846d3da7da827143cb08687682c0b2301cb3d4d309baf745e7c6be9fc8e691580b448d01e0623159dc6d63abd9b6d9f9c3a40cb86d039b0a5d42c7522a2fcde6ab468db25e30ab28a37a03f977c0053d2c475812355c0e216a182d68ed879a22fbcb26c2dff730578cdb39e6ae39dc699b96f9888303a500a9212913644f5db4808f46dc077d4254b0358104959940d01afbea044e607063d8196eafe44681c079327f10355406815c286d32f71ed4034a067130e816a411d2bda841f15b3288baf42a4b217a516421eaee8ed62c5477881e9f881b9c801f289e0024eebda39943e8e81988a4ce2ec23eb33e82063c3fcbeb2d249ab62852e65b5cc5f554bf4c5d0294b696cd4fb9b050bf7a024a37e3410eb8f3b358fe1d16475d4d7201a7ad29b56e6bcb4da73bb312f6bab705eb7f31e141bcbb4a82c9bd1488dba5110ec34d892cab4cba9577eff323f2e9262dea74b5f6df3221c2f1e809282c37679f84a8c19cfeb291c7333b6e47d14d06b1c6bc6b8c35579e70431df8abb396acec736cee0449b5a322b50abfbb86c3eed7d7198d33e1fa1fab6276cd8fa23bd89d5b6d542246aee3391c21e4fc0e967b9fad6079602149bfa790cfaa8d787adf342fe358740cf1c706f398a06a88ab71daecc5fd16eb55c700d6ee365b96f54129e24cc767420fe168f4041cecad9d37761fb7925729404ccee33d1eb97942bd36c23beb0efa3a327a3183b8d9c19f2cbfbdc0987d74219ca07e12708a523c4b0c137b6935e2b69fa060061480579d566cdf70f0dfabfea4dc1b8c45cc0417446ebf268a43b4da85d34ae72e575f11d5015aa4c7ff0427e6c86ba698a8633438a1a230e356a814ea93d5b45a47e5fc8b25a60b3a2f9da6b96cd8bc21567258e5467bb9fbaad40bd2ba31032656a0b9f3ba2908d302b305a141826234c97a725c8d3edacc1d575f21d50351c040b1353898d55f594ecb1818be961ff994cb5796cad0d10a00996509457247e2fc6b52af823dc2a8fc9b9d583e5d33935d409211eaac0eade99f96f293d5b4a695b7acc893169058f11a010031051063c50c55f921d889ef672758f98359bdd741376e04f180188ac6cc8fa14f5576911980257f00be50c91115327cb3cdb427ca951d29f0d96eca5047b428f58f6193693db5ab94ab5b8037fbed4e979427a87fc722ef204ac4efe2a9db8b2e5edb72c9895a0438b344310c99f28c10af49ccae91250baae41e9da0539cb5379612e8f78b2f227a6272ff8ba46e2a40c51a08277969186b70c7be0712e10b70aac31ef5986c8b2df7ea52ef401980a88c78d5184088b27b7b65bafe9b1dca76ff52a0f00a72a0dcada0247aef345f39cbf1acf011e3b9907f1243f453b7782a9e70e195c18089e0d347fbc95a5f93e05003041e3ceb7b981d2cb027bc344cc121ce8c7688dc38e50af2842e160af1e67ddd02a9c693c34f1354f26ac93b1ec12a21c286d1d3aec96216edd35fa0283338843c4d05c246e469d73e62d807dad71fed9a26fcfa756fd875a7326f46b053717c9cd7478138bcceb04da70c1468b8e60b6800dc488973705851d29b2ef018927557b1abe36f8dd6e9a5275027c44634b03d9d8f17d31a63bbb3eb63e1d708750b306a33eb57a2551f299bb6c0123bd9f21c6d41074617ea9bed7b3be59f503ea964c35fbc01fc37cf333f492b6288b9193e46c50ce910948d288e65a6d00c93acd49fe9db276dc54f8542d427fd1b0d38eeacc388fcf9c4dc3be678d190e73b365b5e915ec4777482a52a852e2c8b82d4e88add9a8d7e29c220303b6d44417408557ce2ac3e8b55652d2c9dbc238b13f1bf7dc8224b9675e543018548061254d68f3a2978048c998af8a33dfc01bc0ac56f2ba98209cf7de0228a5c781d9a8996b026e1dc559afa6e97619df30f658bb397fb2ea056574376b057c5168d77058b1d7c37afd9064705921617cdb4606d5135633d62e9345bc357b6f3309135a74c30135831e8c4ba3b215db366ca320abbe6adba4ad2aee5e9426563c73a943c5d6a18c0d0951ed681937b30b789edf680306924b481341123282b432757f85a0cf03bc90a5b8c177355cf029639f4072acc01900608012722b811762415025ea5c09494241437c0a49564f8d696cb8c712ae23484619720e69f965aeccf9628d61f952a869f963c6206c147d9a1820164f64f952cf60f962af69f952cd6cf962c66fee0bd245ef6e23bc7e352e99ba1ae9097e88f63577bbf96de819bbd54939852ed996ec37e6ad73c3a5222587ff2a58c539b47c77acd2d15a9bd1180572169f58ea3bbb1e5c20136e66b6e458b8e67a377beec1d583b5b1cdf5395a52e71d5873b66a78316bae3957e5f41251e32bfde7ca5c3ed6cac128e87a8a3b2ebcb076c50f95a34c98b05adc44326579ba772a89d8d54e2fb10730a777df5c0068adf4a2377a9e04a7868eab2758a0fdab94125bc0f625f7da7af0fdba0fdbbe0122e0b52a987ecae3757e7703b1baad4fc31e675edfbeaa137162a9b86a3dd2e7143ad1ba6e4f77e038d15574f2be9d0e6edb79eaba4811ca63f76a8bc1231177cc314b1c44addaf50397847edee9033a3322da29a81edac752755d072be9d7efb46eb0deb4df61bb69bed9bd69bac37ed37da37586f5a6fbcc7fe405159cd235402d4381d34185ce95688e2a1ace3232808892d8bc28386c129a7cf844ec155900bf12963257b2d1f8315cb26565f48e5a704c9da5e8a348746f3e9b8ade96ca60f9930a854a8f165b1ca9df2b74a92ccb5913d7564dbc86cfe20ae926aa2bb76b3d17d343cdc878804b2420a52051d44a1bc75d9bba4fe3965a6bffe0a13236a882c1103f8dfc7d06ff11695d515ffc4c6312633c6cd7f9c5e99cdc1293f31ade3fd04d1817e1cb8f1244561c347e871c8f7e4d52ed51ac02319111a14a6d6648debde449cdcabe4f107938af60eff64d954eb108d15b30a7647831e3b3c264268fe24b3af98380e8981afd5acfc35667bd5672ffbe71eebb62808e211ca5783e39155ad5137dd1d8cd372db41ac70d9c62dd6c1df7217712cac2888864a0ff0f7a842a6c3069bf80be1b69d7deacf602e2ba6d181ee5ee7b7351eb6d01c4450d83679ec72ced849337409a123d9ac60bdf0afa1bf505e39fc89bf02f610fb80c21b8973f0312ed95d5aea378d8c6f0b9b10ea30152e21f9da62556bc7af954c7366615ac1a98415632cbe9971d26deede50bf351ab9edfb82f75bb867c55814378d0194fbed47fde7728d3084fff9d53eaaefec75a8cadaf9b534b39f39982a702a61c7583369dc3cde1248421417bf24477b7b15deb007d06e49c8b2db2e51f62e93596896520c6e55a5b1fba2769b321c37e5c5452459e29651645784db234cb18f83c87101c6577f424ea8b01202d6416661e7708c6d8b9f7f2d5a4b280c1deb81e376932f874e21d986f31431af102fbb669a1c8f27b6cca984beccca0bbadb815ade55ea34fd798c8307554adda00d97cd339f1a51b2da7e3e0bb75c9358c2c628346161fcc91286a66738ad59b87e38fbf60c97588c774e7eef417858fd330c4a0f31e8f11fda4fffa8452c89a7dc935c567118a87cff485f6ff7a0bd195ef8f6e89426072c5d243a0cdbfd440e8135cba3bf35b96df15349950d0ccafea15f84ab37b9c24e247c316dfddae5c3d8c9b26fb3b52771aa05b4dd87dc16064b620e0762fff30108108678f881aba63e17428c870b3b3241a02c7a5320008ca1fa5bfd02483ebde7247c223d8b6793b05b248c9d2cfb365b7b12a7aa41db7dc86db5b024e61821f63fc7800061888773b86aea7321c478b8200d7b460984102b576f72859d48f862da4d68c9877137abdec6d6dec4acadd1bacf927b1412739c7887010ecc5223bc7dbc5057d5e48e73320c748e4843e1fd88d6ccee9eaa6bccc91d99b35186785197d522619f51a601521ec185874e370241810f202756ba0942afae877a6a32d5a99aaba20781acae47c8fd7fd8c23723bd3e42b98eb080bbb7bf3ec6197cc869964e7103e14b8cc52602a27263d6df44b96012a1333b831311a7df973c68b9ea6d3e1d3671836e552a85ded1d382143f49ad2f2913e16137e4083f4ffc74a263cec622c92f8c7975dadd3459584cebc24312e9ef4e5ff10f8baab5f450877088ee8cb021bdae450a2265483bc28a84aca497882711ce952e3f6e6856846728c950213953c8213fe7412303166912dcc14dcb21810765110e0e884a775ff3fec9338e10c98b3d737d84e1ff1a81fb964c4b149e9cd6e1d8b417f4904b7eb1bd7a0185f1f3560b11893f591a18f50a05cf1d2bd1eda683268a75c689dfc5e2198d055b0be2efa46dd4813b7748b02d041351fc6409bd0382be1905862f563e2e561d53272d3b87a221f2d6fc69602a8e57a56746ccacb153ffdc3eb9e6905019f79dda33d39551638d7ec4596f4a94f5dabab90e6fef538bcf524251121086492fc000a9d39f329cc56b8314c2aeacdecb8d4b1eda86a7ce020a6d6bbe9f8668d8922f2bb2248e34c6e71ee0fa17305784131a86e3d6e8ebbdc599b2b0b75abdcc114cc794b0bf4d60f63b19057767c781544dc6be20cfe51878535fc9b87368bb1615c686e22747231bdd093d9105f56cf08210533d524940568d85bd44f8e3dc468c0b2c0f8d059275f56e78e07e46946827c8c583006b86d9594984ae4ddac43aa7e50ea16fc2dff9d687351e28670ac3223416db175c171d01928cf05f08a0eadf5c01c4ee3f55eef9a04bc602ea049902ff65169458f479d0175198852e5271b5c5f9f7d5f8b322ccbce43b95b5a261ab680937c0f94b2a32c285195a1dc15e87700d743619fee8203a0f5ccc6cce82f1731cac2c6e07a9bcdf7c47d756b0fa1ae4aaf3db3ccd7eb6297bcd353cd6b131d334e0e4b60e5aee2a90c394cc2dfc8ddd9fcb5237883115f16a3aae57d19e7646f4fcc4c2281c389217f3fc91b6b63918bec35db2900d64cea01e7c81b56e04d30466e95c26117b838291b6d5342d7275340d2baf47b0134b7d4a9fa1b6cebaa15e8fe5203d81d6f4c3d622b70e41bd7116d7074d49b6439e9b97d0c51d7ad922af3e94dd68e023510cb897745422281c3694c12df10af645548e26fcd452c5875bac0d0c27dc2d6484a32885a2df4c7a31a07deb98ff92214c9de7ba8b08131badd3c181f8f2d02fd43fb68c8372247e257c3082333ccb0140580c009eb901384fa16ce92b1105d2f071fefc4e246b1ee99b1bb109a11ddc2019f07b539d60ba9b1106f231d30e3692ebfa488a9c9567d056a07b2cea827cbc5f8dd676ece7d11be4749efd01153529f965350138011fcbb77ac3493e42e79e7d9bd78ce0b47a5c43affa4f4703fa96dff1f5ad3e0d37c913acee20a9eed4ec75197a78e6b457aa9b2f05aae9fb882cc0946ea7418323e549bd712cfc26865332ffaba164f02bdff9c44a2f8e8eeb7e6e6d404e3d87c63626cd7ed83d4411211ad23aff3295ee8d6c675338405182b90194958b6961709b69d3618084e85a64d72cc998127098a22082487032a88d02620427cbd1d94a300674a733fb804dc0f2d3f8453277287f545c9d9a0e3331f3aa40b385f5d33f3247f42c978f16674b532c2ec93a21c1b6a452c0c18fcb7092f90d6831cf8844540814ae840902454172ac111bdfc189b467f3d4060eb3072eb3ca0a1c3c093ee95b1a711ad359d8cba513b86ce3130d5e273b7f1fcb1b7c9066ac214d1e4279cd2cb72a84d8f027f7f313202ad261ec60eb348415c58f01a68c8c215fe73b0e78c419695311e38a73b6cd465c7c7272d1a651816ae28280d0feb69db52a5a510b297931eb3eb44390bd64249821dbf7bb74b2e69ce92771e9170b3a3d64d45944053f9cb341a9a9f5bc0bb318a7a118cad27ce8fd6bcc3e1233d63fb38c091ddb643fb9379744b6bed61c79980b54e0b246e7d07c7b5f859c8bb9838bc2b38b4df2498015aa44dd243a6557a3393a134d4881d681c37789344e2d820e389e74ddd8221addcc1c94f455c7106f85bac42834c127095c6f5f86b74584a2b73c439f5bb0270959cf171b5e67e2124784fb06f11a1e8d760f7176b35a9bdf6c5663b3db356fd95cfb445bf7e568675a9a6b6f5e7373994397725a732ff626ea10c67494aaa829f32452fb637e7271c7e0edce42cb326aa21aefba07ce5e913bcdb24fe630f1fd01756b71d91cc6ed9669533fee0da9216a79613298eaa3801606403f25a493c917eb81772fd50242ea8ef4388352a0f103360e4046e9fe75f334fa22a8b4a38850d7c297cd325aac9980a091caa4bcf49e67a2b6e420eab2d1655901d344c84ec798053437b3a08aa596e22232c97cab796a31229367f56d0b7ff62ade68be44a59a8deced7dd6ea1e319d1240921633741abf492290dd2bdbee0c0b4bfdea6fced6c99de6720945950bc22678fe71f5766020ab3f703198a43254c0130fa46059d81d710e56a29320dbc6aca8985a96c7fbecfe519fbc08f2e8e959ba4a4f65f853384b96bd8a2d276ca56fd18a4cc1a382c28fe5ab12209899cc6102219e164f1ba8f1c4a34774e1e0e18a8a91d944fa182a6e3c2b0f490fd2b797e1e1580a8ea179e454c8ccea4b609059538dbb140f405b9cd173072a6ee0de3f8061228e8f41462a7a8451320687507a470345281bed6b058d1d61457c407fa5d16ec072d06291709c43bf93234f6e10bb96a9fa61e795ca1e7629110d3781ecfa203ed02c71d902ad41f5451e6a23786d40a254d15bde8cc3d812e809d96ba26c4aa7609cd5ca7296f5cc2181319b3a59be35671cf4f38f0598a0d9e992fc655cefd8ab21841924ff97f1f127e96397d97baa60b9ada1a6629858f515469889a9b5429bfd9b7a8265034347e017c81d5a996335d703f44fb6d0a7f50ba751b6042f5913e03409ccd2a54ddc5544ad61144010425f23ea79f2adeb81cf1f5855bac19c211ffee89b08effa1bcad0618631c4ccc7a584030aae09f39f378caa802cce7199000609294f90e37df055595124792ca265759a585f8ff59716ca43dcca35c065a6b15a618f6cf4db5e12e791fc8633120550a0c45af7270bf8bd18b8d70e61debbc63a8846cf74ec6d6ea9be44c237460eb2b1a052b4ec1a43622e3a8bd6119a6251e3388c61853fdb78a5d09883c5845b6281763d85e35c04124b1ee8bbbffbc4f03d5c70ee5fe12f9e169a051d0ed10e7acad0557d81208d6ed56c5291c060970e01e37c7e0645049688a7342e21826815c390b5265c2b36df4d0368550fd9bb5a2c6856cbea0f3ebe111291075bb8a205305a093f30b6e19f9b74ae5341edc389036d37df7b033073d644d1a4d85854a4b7dff147324c37eceaa9ddbe9144f628d0a8446b3b26078da24a9d659c4d157d4e38374d4acbdfbeb4644ee684a66debde4522e84bdf4430a56e9941aea213c79705c8a65491c4746178c903dc13a28e75945d9d84709a9682506f5382d6d661b4693fa91d3633496a33d49b1df471384a061fc0dedc8c0373113f9b11990114873d9aba6cc5e6cbb87d27db69558d26f1841f0902764015db4ef5c99b9d9324346b0438752ec1fd8e7ec35766df46214782e5fd5fdc2caa2524b60dc0f4229ee37760c57e3a23c380a8df211b89c7f3796d10227ece00978694b32349ba860c045e9c9d6233420d7056b82f0e25f95e324e31b09e43858210aa321cb8a26c157a658abd33b8a9609c0ec857719b4d1b0f3b5da66fd80e725c84b40eb0e8ed84ad9716e14444d6d7076a961a14580501375365fbd46bf431c1e0038df91b0487c722cf790f6846070e25271ed9d1f53e110eb42662d3d324e5b12055ac6b6d6b9f4ff5656b8201717c29815262ced6b9d1d181000715c73af5b36c0c097419b4b3d534219c9f282cd66d1be51798e89cb626f47610d3e6ee10fa3f98295bb2c95601ddf65f25cdcf13def215907fdab83887bde324013818e626eea81caa2c11054fee510f1436c9b6f3d92bc4d1213291a9ac84a8eb0d45f2993e0ae81757c436526e3c747c57c990c9f79449ba6dcf066810d3b4da6d5b90543cec369913c0a10986b3da1fcc7744b57ed663c59601220c6741df5ffbf9d909a9a4b7ac198ad7100ffbfe8cf4635e702e357c41fe4ece29f5a86fa1bedc00ebc48d0301646b979046c098838d7d6f1cfdc70bbe9926f1a835a8ddb145b2e3c14585996f056ce790d0281eb07b69826cf31fbc3e1c0e60784c0c728a519b9ca6ff6466d620ae606293916b3a556112a96c98355462603eee0c56050c7a5d04299cfc7b2954704edd06b2021e54ec5e404da83927d2c46b1860403f10870f151c575a13b1d67c06958ff9d17ddc120ee9c34bd557da7b7e7655f890e6fd4999d39c226d3314398ef7917a3c44f178e657e9cc0406bb865e975c7793a33c27e396bcad51fc24b9ff86778d336281939ff0fae92d18320526d8150cc9789b0b4477b0120de877c4640bc9edb07f6ae903bbba0c5e9fa70aab66bfedb99299f60fc84a66071122ecc92e8327fd231e3c6a28c1c89146f5db0d58e5028294ce02fd4b664ad0a07100f69259e30360512e217a1eccd0c2179698162e8bcc88f81ed5e5fb81b3ecccdea92e5c17d6ab2987c6b90a52802b20ea38417cc79e09337e2439a3f9e3eb000cb1861a0ad75dbc0a45521b944ad50603722370e6cfba22aeba64d99f2bfdb6a5ec8c33604d5e29103ffdc9df47601d8c8677b1ae509557cb3a83b97a93bdb4bbbeb8d2dfd193d19f72607035ad0ae80e374df420e8b77da0bf5cc903cbf669149bd6bad1fb0e85cec7c5a9719b0ba1517510391436b8402f7f9160f6a41b08e542a94f3b9f042985ceb8770cd8e7a02c675afbeb5668bfaf9e895a241ac3abbaaec1622866af9b7f2094131b05f9d9c7fbe694a2873a098671d29396a13aa323467c3e36a33d083cdba97822f28074cecbbba502eee16c3d18f4aee28a75521e869412306f15ba9657b102af84a20b51d3b3b126c390b05aeda717e57fa1084fb466cf29212239dcd9917f6ed1f220a3e549e6ffa58348834543a311a3680f2b89c9016df7699a1f55647cd3a421a0b381b13eab63a9f7c515e059311e7d7623e31d4e4e033eccd8649d147081ddd0b9e9b30ade7c2a09c24941a06adb7e675b6d593339bf06f04900c875e659f5d45ff15a2492eba8ed5becbc7e113605848032c3fce1a4c018363c89e5115ff6c4564d9fbc68c20980e87499cb87f1c494f6c8ce748637dbb79ab134f8bf449f4003f58196a68226228e6f71128eecbed8e3050dea7a1ef1b77de027f3e7cb88fa58155f395b35ef83a1c9e73712cbe24439fdadf5a0d7e1b75bc39eeeb30ebfba3c55214708b9d71a62f988160e7952c367bac0634478a01f1585c21a4817784ab8cd6f0bb808c8199db82de558cc75bdb140a30037f2862137fc10157e1ac8f26c2983b239a7c80619ad1ac66eb98473617aec74c38def534f2b628f3a3aff970efd3c52ffa6191a413bdc3060bbd404a62ee1084c178b7f0cf2bfcd745bf9ea752260a2412e76390d192fbb46ee2fc193f2e055146dbe0b17326ef7dd3d2ce49852799bc394cb746e5d3e9ca20b117630a130467b8330b13096498dbb441471f9e5ca930c01f346b2d0f93a01448568dc678f1ff9509e83a7b1d1de0ba1bef6b0e40fcb882d5a7454e55615b8eac83109280f54cad9662269b2cbe95cf660a7afe854a14c18a89d9f91731489e5c80fbb4fc6f83a48d39a3b50dc1899770b0704b8fd0ccfc666e5921630da8bd610c84091cc3a9a55dc8eba6b9a2c3e3d55776b06e46ede69a2e21a8f091b560863369284d2a284fb140ab7d3231a81212de509234404aabb0ef9b0318e3dee70d93dec209dccf06c1879f6f6108ac8e405e5bbafa257bb7166a644cdf96ed2b5fd3af31d627a88011009bc56f8a7cdfb8e85c602b91b32a0e83f66e03a95c8900be92075c4257faf62a4822d222c7916a2723ddc105753cfb2bfe2ee4f61db1ce58e97ee3eeae45c0d50332e5a0e38c4f07d7ee0c13773236446742a1c86a9753658cdaa1f89076f7e83a79bc1db01bfa868df1ff507cbee657f7af4a6890a39f74c68afefd3dcf050db2e8066a8b536501fa614a48edb49d8e7d7b9df5db535931d4da46c6d29c408e674a70a210cf28060deb1bdba20de48ec7a3470f5a84ffe331cf808622f4510bf8371de30eecd58b5e2b7403cdb9ae2593a4c3d1f7381c3c91df77366a7c3e44e7eb9e829f4ac9041f72e368ed2e031b95ea90c70db503d31cc674676fe2c5920f44f59a444bec052b7d306ab9834d47e1dae1a16d6c1dac532e832b5ddc3bd9838ed756b67564def84856dd364f6f2ba004d350d8ee4130591b56783690a4eb960b17fe9df8968d8943788f229abd0220bc0cfa20db9f41024246d8b2963a3b505b17ecdcdc31260f0599d75370e32e88273db8a7d48d5f6dc1e3738e8e98dfa10d497e83099b8e4043dee36c54f9c2a759bf78436532027fb47d2137462324a7c67c647dd7ff29a1900a2fc2d578c19a0cef605fce18b7eece0c9f4892cb1852c34ad66dc89ba2d338b16f2eee52c32040f2102d690693cb73071a0966f061353314caa311d60b729320b0ba4c2091ad4ca4e58555685b902786be28f50ad2f1cbbba110fc9f0d23eba7e72fa4bfc0432f7eca455f94b7cc560c484ebeadf83940df49fc5bee958d7e9afe74268fb2aee9aef24a464d581c6b5fb95983c7e4bb95a0911955f09ac4e267a457301275337dda2e3d55f47d4d709663b237328bd9d915e56b18705812f184d91bef3bd3b4608ea7c98bc4f8ef802e2a2ebe01480ca181b57c4eec90453218c4ac7ebe6dd28ed534b477932d248e93ffe4a6d25d77974af109523ed1ee177c844f1af00b27f2432009480ae741fe1c62e1e73ac76e9ec56129af97e6beb23d1cb1a880cdaf897de364a0ad7767b100e8a5dfbb61913deae99f4352ebeabbf81a47cc7bcb2114006b286be5998d3be2fe9309a20c14a46b1be7bb9a8a2b9520f5aa6a9f5aaeb311c14a73d7406c6844c076c69662c6cf7f813b274198bf49a8ec84d0efe782677f473af46b5edea50197e09955c20c2b7e599ff08d34b0c1fb16888419666692c15ad94b64f9bc0457c5ae67f4a3e2c615fd1c2b650c8d5b4b51c0fcebef60d82aceec1001db8146cb640d0fd931d1b8724c9d2e478c2dc0bc777c097e614226128520393a2ee18dfd06e7dfe50c386457319ec135e50b4a9f7b433beac6bccc32bcc3ecc41312dae172543ef405bc820782cc168c59362e4acc625e4786dd116b177116f53bca1eb88cc2cab7acfd261390458d9a7ba66a13fbb9ee2c5411166b1a2442362125723166efac0b0758143b132d5c1a903ab8d42ede52e41ffc0d40349d86cc155b6d60411323b29f9a4109c05d2ef79963633ca52e259e4e2f0e738ac9400782d43847551c644fe64e0e6f01298a977b67c135bb373abaaf7f51089a431394cbd2cfc30e8f5ce93d009e1640fd849246d7d8eef0e5c75d16e82e5794736fb1c5c05c0fc3ee5c501c1e4eaa2226ced1a836dbfe473e2879eaded4408626df7ed5550347c3cc4e712c59257fa47596674abcb35b0b8fea6a41d0014e62af41f10a55226b7634f95a0c5060136ce0e842179892f0d99cba5a2a66cd4614b74955c6905945c8ced218bec6c44b193efe2c1c23cc6d8c6d6a4e2a88a0c1144f9884b9d5249dff936018d8da07e9254f42ea52c627f08c92c064934def9e233b47b6aee630d116f15dafd414a6a1049f7a022fbb943d8f1734fe1a8e03e882ca55c45c45e8477c33ca4065c359cc065ad45f281478930b420703401e64cfc684b31f772ded4c221e073d4a5967e293f86a2b96ca68366f6d1a2943d231d56cb03054a24c053c46d0b994b6f2501243838b6e79c9a606e59b3913b2235c1b56fe1fd7082f95c9db742bca93507c47727c325e46fe1254be500f7628dd8096578ed0b62066258d8283ee2d8545998a5738e097c4fc2c18387552be80e3c1c08bd9e22172259d109dd592d32ef291322517f0f15c1e4c98ce12a195256b9e82f907ba19b3a11d9e742182b30f5046fb82ead4211a00554d30d56295fda8f67cb4ed6141da9a33e019b986ccc8570fe63291d9bf57b144e0aa7b64f15d3c2ddadb905ac6b33203bc8059d5624027c9dc92c150938c444c87297ac047a7001da46ece419c1ac8d09c714fd8741c8117f03d9f88d6783f59ccd9476a820bceb18f0439d7953cecb8acc4f45cef3393ce7209aa07fcd38841091975b641464a9d23d04adb3d82bb9367c160629b86949b639828ad0d9b4529507365577ca951e91d5dec98cfa3710e6417fb9c6e6a84fc3d397b96792a52be30462722a9b144331a78ff5b9332d9dab7d8c33b3ec1ce949c26ce15de3e5e294c37c0b45f81174ad159aaf1319ba08badcbf0e692269eccbc4b369380d99c6ac410ea8ec376013cad8fc0fa637728973ffa25c724d653db56815480141d5164bbbc31a47c7f4d20ebddb0a9bcd456064a10f5a29f8c1cbe6a4961cc18d0b8a95f9ea619c1c9010af05b6804411dc8c1801099ebe222c8e507936eebfedebdbe4a8ae0c488c99b13559500a0aa130eca0e47abe498b932f23966824c3e6fd1fb2e6ddda300cbc1bb6026186281996bea61b9c7e397adaf43d80a01c18e7fb035bedb432414f87347e669c880fb6c1b55b3b495c570c729408bed3d0381a54b28eaf076c2fe5b89572bdcb50eee92185d03438bef713b77985ccac20398657fc51ba26bf9a6446f484ed8879806905c3f38958166366f383d5f7cdbe9f27162228d66b264ea74bcc623f90f885fa35a6323502749004846d267244c9cbb9845525a5003b628f41d8f46eb6522852f70151898cd90009c71c81888aa2eeebb5b571fa89388566f26236a05c4c71d7ba4677224177328acef2e49977ebca20e37bac6f66e57bf07856d11eff9942a425714e0307b3c62baca06b0bcd478a2aef39cf3ac78f492c2d9acc37f69e38a1010f86061d72ab248cfe0de599fd83a412c6f972f9a70ef8804bbe367422c525a716a01594a82a8ea3dced0853df366f580ab20de9da0c7a440c9b882f337bb536d79110c13d1b2c28932f84ded9c0943235df0be4946e72cb0da4f78c8442a981897c93cd29221ba607ee70369f84c0b3f3aa143be2e117f66203e2861abaf59050eb20eafd4b83acbf0679ba95bc14ba91518bb3ca01f5640888c7bb9b86162dc38135f4fdffdf8b5ac70847819fc30cfe311eb7005863817ad74697cb2d41fc636064409edd52c0a5f67675cb003608759585501572b47e5d7ce687a43dc4382d8b287c0abb3075fb29336310becd0da672c22040a698759874505f669f4d2cb0823b1dc54c4478cfc0276995954fdb90f471d2752776cef340da9000f5f925a6993bc45c79fd4ebc55088c818c75434b94f96b02453c5884d9eb5e2387de4e10e1c8435f10cd5b4b0f5ddc76119bcc2150ff510280439b7edcd60d3488d8622b98344d0aa1540a4fb51b6300c103861be88c337564317084b44f039027908f91fa6acd0bd9d84340dcb780a12fb8426ae7c824e824b16c998fd10c8c4238509b8cde25aeb4853a5c880554be5150eb75c9418d30d3ebc429a77b057b78548177ef24a3112b69601ec8d45a9ecf1453774916431e08fe3180453869c9504679a042067ea07de0eb6927f1ea4a8529937f9413ce9ea24ace77aabf7c7d1d75e3067f0bedf1a7c8545c77739a8072c47c40ed23d1b789342956d55d8445d7442aa60983edc0645313a8b20d3a9e18284f9a3be0a983d93422a068bfefc864b455436f948a2d3f66e02e221f387b5f7e22d3b2a837534e63d8acf1a3fc454e9b326f65650584d1eeefc04d014ef3fe1d035ed31c5c828b41fee06c8959a6f920a26f4a90e034e1cc5667729701ac7c9bbcef00970344e89cbe3f0a8021cf4a352744acdab0eda96dce5078c0f405d472cbe55702d3096d1d24095a2e19018d57863cae82a7e8f5d46653328ffbfe48c633a7a662f15d95934c4c26cfd820ecde609b918e70d2227d1bfd892679eca968cb92195987095906d9508250501cc31b4129144573c322b6576d4f96630feae2a238b1a6e8c728a75b437a630f8d7308433bf238df0a336ed7b40936bc317250ab136b5f52c9c87e8c9fe8ad5895f7cb5b1feaa953e9a4d3528c38110850e7a276b8251f1cadbd79982b24383d3bd9415780269d58a7ffacca4e0b326e0479971e1d7474056d8da4a34dd1f3726b775ded20152a036a5e5493137f2b225bc7114c7fa94720676ac7eabcc017189407d59ffaf24f611f2e40a89b26cb84c40f4dd02b51546072a1479842733f82d19d7a946f406dc36bb7de645175c2c3288b0564b0e00560e70678220c0075221a2c3adf74519662900c66581c6cf949be9e30a74c00f6688e1ebbbfa42e2ab1907b5311bf34fce557909a9b5ae2e0e11d7a95397ee9eee91f22184de3d3614b362facbb446bdc54220b0adc6797079ff38894b59670d96cd2c2cd45548c667ded10724819dfac9b7b21171104a4ae7955cc2617e96da0bb7efb1daba101a7300ee5fcc8ed4bedc03afa72a149fed9dd11a7a9c03b9a7f689a2ffda4f5ac72ceb5af9df42dced787a0629bda9ff193c81171db49545579536369122d34148ceb6fb3387c049aefe08b67cbe5d093e945bb9aefe65c1e025a1acfbb1c95228a15b37c467c955b1dba963f7b5095b18cbf58b7db40b458e3ad47bfb43c82de31a96fc6b7e1a55c79c2e6d278ea4c2ace8c2c60e2b218de365d102b7648b899b6c543b1045f03f299b7fb30cb87160b478c07cad2eafcb570156157c9d3a839be0fe712e2bd29eec70b24f29777f4591f4c4ec71e8d0e86d7034d2d719bd07af9dbfa49830835b73681c118dbe8fe159cfc494a3fef505c67c1f8f792aa58b74ce9f5cac6e7635892cc4af79c980e6513bcbe46a766076b4025020d0924292c589f6c2d0fc56a9e7dee948642f6b8cd8fed29979f582e87b48e049ca9438081957de61efef020b63c57186620cb207997652dc97e9a8ac694459e2a8c26e8b91ed330d38368249587e5bc4ae13c35d70c27d2f817fe7d3e45e60adbda96cebcd38cfb1491a7a79868def8f79318ecccd97dba3b704885a651fd3b6a8826b55cea29f4186cf65d644cd387b39319a3537a812d73eed7cf5bcebad09c28da8309d17473c4bdae842fdab7c80eb3a6e969ec5b19d2ce3565d7b038a7ce822e28aafd815def0f932e8d000ba8052ffd89842923e0f6faebd759b18a617401da74e36fcbaa32c795cdda97bd0cc8cc99a1b8b69e2d7d7691560bfe56262b742f3384eaa4b1c4b67d7c225e07590b228658834b8d60ac11f64c09e9765583ec1f0ee9eb162bb2bac0e84709315678d615effdaff976fe37459c52b758ddf7d6af6a6815138c977e42bdcc3c76cf1eeaeeb294915d64f7e6dc902fae1cd698b3cbd02cd7d71bea1e32db8ed3e62fe258470c1ce0a99f001ff403201d1b3e5d6dadba5db726f3ac59f03fa61059b13d4a189d3a6c720cc811f41b11d5228a249f2d57dfd38439735c54b38ed20eab22dfce36ee71637b0a2939fafd2a4ce19e806109ec7306741ca1a55fc6108a488b061bf6a4570a3e18afbdcab6d139519f19a189b6e5bd50bf3c7b05b854216061a752068feedf2386137eeef5e55cf05be452944471b3b943b460c56262c162587568e7af0d8f340f3c08bfedb8e179de4e1d8d8cb8c952c54d117af9ad1377d780dec886028a3f2639d0bcf1b38475e8bccb9f9d3f0a4e6e721d713a813859bc449d2dca9b91c0f5f31deb81d54be260845b230469997f839a41a8b9856d6267947060450b35de2ebbbe0cc5f12d1b673aac5d8c15e75029a9e2792e0914f675e0ea71a738e054439ffacc9458fde3e5f0c58cacb4bdf96c48f19a1095a47872fc29792a371472c4be4decc0a5e52e60b46f947c8d1bde38d50ae165f5fb2035821f5693944c256564ad45dd0758f8dc996d412136e7c8324c9bbcb7037a00ff73c214b6118a92bd9c8302229fe38b31ded493381008705e036478e17b1918a254c6c12969a7060e25e534878a997b5d2f28b27ed6cd1007172b3da8fa67f1f821214b5816cbeff720b55c03949123048be913b610fc91919c21dc63002a6ef8e226d57df1220df456ce2436edd1362ce8f209a15f388ff62696dd5489de78226748565e303df51a3db01bd45f79c984cc79d11b8078dc6b85b4a8c63666c4925aff77a1fefcb24ac9d47cabb51a9c7916cd72b0a941084d74e2286220ade1a42221fba48dfb2ab5b746158a0f1e79e6f3a97497f76be8aa154c83fe88c8cbe3d6d87b87d34b26f9defd53a4c1b915da4b3f5e521fd9c37560c81f998cfb725e0450c9f96cc4abb92f1bd40346298f7967c8a53299b597993fde32f244de838cb25e820c675faf81a19fc0d21831839b405c9092a699de9eded953d607da7f6166b879530bbababc9c28834c95ef052fb9e6a80ce4a1f2a738efcf5f175eca46001db71920c9cb5ce055ac69e1c48c80397ee027426b7867b50ce5162ffce93c57cc58636262f9dc6b7bf80d627ebbe377175b85f90511238b17eab43e1c2c8e06849c2cc5dfd4794628de6fb86b3f379e132b05d9a50b2d7f6206a337084af2155b8f85a37b591ec95d37f2f3bdac55ab331da6eb9e2846cea5452ac272f6f4fa9e771c41ae173ad9cd0e17e31022eeaa76af60815130e8d80e9bc31f7b1fccf9f3853fa7eb5e4f29738249b71a7c2e5ccc13227017ca51a035b28ffd478ab8fe827e5aa6021580c8dde61b0862fe64724da2d825738a6d39b5c056e131e85913d3559822229b9c31fc287969f2af5a6034dcc4abb83c628a6443cd87d73cc743eecb537fc88e7b7384b2c062cde5b6c8817a64a6719b0f8b1d015dc17c5ba8661a3cbcd57a35a51a03257578b07cae605dcc6878eb7d95d60ce1e19f1bb78d401b82ccbf1fa0dfcc940de0d3e499295dfa0dfe91d0b002713fc32f751de944fb323b0d9fedb6404d23fb87e5de6b81121814f139f2dbc02abcc5fcbc063173a47894b4d2064740f656529c6b1704b38bda8a03ab422b7962e07222065f796567cdbaf99b20dd5098559c0708c962df3db4429a0cfdd65286de8b02548fcc17e8fc4089e3175b8560a27dd10f40d3030c2642beb351f3e526dbc3dcf961c30cc83bf01ef9831d4e0d8a30882fab4f20c0fd88a4853e126624fa34bf16ab609492ebb551309b8cff1f92819e496c29f6b2cc4f84e013f960ad163744a67ece5e36d43bf6edf51e0562ca1d6316dbf743337bc4b8215ad890a094dabd3444884a270d084a425f5d6e9227687b0ea8d9557e78b1e501258d6afa04f0c19788be1d7f4c72b8243e0c2f8f30785cb247efb56d4a8198eaf8a9b394803f5ed6c9ec24529cbc504cea013a77ed525f60cc1c5607cac9721c921ee80e462cc1d226722919d89a30c477b01b22f250d40bb17898c5423ca27f3c164a73f6e6fa13f1d029f29a9847874cbf8ab7f0da918f7eb75afc39e8180bbbc42c39fdaa533a167f9f9a4f0a35ee2d93dc5b6e19110536051b05ff0f8455ea8628871ea79c1952bd1c1e609cc0e2834ad7eaeaea5a6bfdf6b20cfbd61f07be825d183366197e912aedde42ee2222872073b0b8d2d90a52c26478f3c3e32feee298d7082af262c21020df4c1389d8eebd37ef42d05e06baaeeb0163a657a8915a3743352c9d292049cd34a3a327a9932d5e7a614b2a80448f50071aba67ad4a672f953084c3bfdd7bef6dd3198c5eae415256d04a49448b102a1198169844d0ba2d65653dd3902dc6cd2f0ab482887c601ee590b4cd643a7251854966de4f765beecd32ccdb61db1cd00250bcd845c93897cd1fb71fcebc3cdb0b4928c9a9c7e504261f4e2d423edfff7fdb03b22c036e7cd0b2d91a0a71ec81b333c1d1a191d22a761a2a318477d5c1840f53c5ad9e1d201596c54ed775712ccbf695add0b22ccbb2269e5986dd35c777af5ef765192efaa9f0585142a46282494f185b930a762caff5ff3f65c5c32250fb6f6cdf84174ab58684e359a962d83e6979095ed575e5f7c390d90b1def2331286ad378f1124e47ba74f390eb3de68197745d82f7ee9cd7ee76372575dabd3b2c96a2aa6a9ff9d00af489edbbe62e958f00bfbe70eb34f49737c83d97e02ca82fd5a82f455348a0db12a82dcfb1ac62c82601487216d4d74980b6be008cc059f2afcd1360e95dabd9e60ef3a140e8510618c03aeaebf885c17e896921dbdc33e02e980668cf99e758006e70544565680ac72c6b06c2242c9c057da24f60071450661b86991c3bb8e041939b5458792ff738fa6cd16412bd608125240e674177c95d6f47fd20cb72578620cb72c75ba80deda1bc1c8bcab19d7167e22403d7bc814c6ceb9ab9fe140c78e51ca30dc018720523ef5a3dee82ed9e768d770a07292a5904e7dca541538f7d40cb6d735741d040f344050184d401319dc2b3899af60b5415043487f2b20312e076203700431159b5b9639705753154091b6f337eb639852ac1cb5d45d30e72032880a3adc0825780c14b04f1f175cd72b6b99fb838d8541ae898c452079c60b0e32c3102e05868b1d3914b9ba6a81624b9cc3acb52b6b96bf0c220030ed2fee42ceb850de9a715d61c837d4ad0ee288a62b0536679f66a5194c681b3c55044442dcb4ce8aab0cc66c436770d3cf8608a03935ed2318c25ef505f09fa83800ffd95bc427037a74e0ff28bc20c77ea5c5e5332da437f28508e6920cb72cf39e79cfa505f12ceb2ae2779c78c79d0b380dadc61183444651042dea035418e6513e458ee21b4a809509ea6845082f48205439c053b4340d38ea1f32f4909814de13ca73837844001c859d613d4a7b376eac3708a539da6a9c6d001ef20c4d38e010435e9418e650a5028e22c2a2a1c384d58ed5eafe7b3cd1d03586c96c3631760da6a02c8698c29081a5fe8b478d976c0976dee2e150e8e18e80d76380b87c0707d6af38c076059ee2b677961141515a713bf76b92401bafee02c6b8b49ea6c394b16ae6b9b3253aa74996459dbdf2afc0957e3ef2514228fabbafa84eb2f4d0a7fc2349926bb9a3a7becaeee0b18545854725f794f7fe90938d0d40bfb42afcd7ded1c68be0bd0940b2eb0bbda3fd83de50425d0940fd4bea6e4f23395e57e825d9bca684e970f4f53d41e8eba4b65399a053fcea2d2e61bdc59b2d3f9b452e1001fb77a388b8a0a86408a9200c5b8a33dbcc56b765af0c3d7939906be1623e0ab30520739f0ec79f0019e3a41a66e9a3b81e7ee2ae2686acbb19ce652172be0022e1fae8d5801b9eb271aa66961305549d11416b5a7831899baa99b5ed0c01cbb404a4b99d8d8010534d283afcd5d6f9081f0000871343c82cc16435e3d94e4dcbe470fe0888747676785326686c8b00222489fcd440458c300ab11335b35676cb66ea4ebba2faf6bc62cc3c8e472438df9b11ead755fbb96c08db56547879583db420888c34b2102117d875000fe5e967aa8a38ac6466e7a49e6fa6c1df11b8ab95cc631a90c8edd39692acb70d32a43d296edcdd082d75c82ad1d43ee6b5f476cdede326e01304005b4330c522a7223d3bbba22408d540f185c92658bac98de4b9582e005a9762bfa017544619c5e9088bf9222f8165784302906898cc01892b8c32cdc42bee45e1e3a96701c9b25748071a497eabc2ccbb26c2d976578d7f3fd34d480b81029784b0891111f2f468a9c80e6788a82b02ccbb255c12cc3422332b964ae54393b8c70eab13892f404831be1b8169b1e6c687bef9d24c372db6a4b6dfcffb34dba9df63f572be2e204093ea078d0db6e276ddaf5c0b42d4e1d5a42388ef8905e2869fb65c70990114069930dd245ccb6ad7da6870c609c097142526a59ac426d4e38554fd46d4d2ac8aeebbabb8e2eb9f85a55755ba19ad3b395f0759d515f8b873d767c7befadf3a53cdc4ce776d80a0a182d3239455c86d09a2ef74c3a1a9a17155c72d85c8a2cd47e9e4ed77575e8b3c54b3bbb67b38467fbddf5e20c33985a0617dd4ef6ff7f8b9363d9c711e2496557755dd7f5a9d96d71930862767f27c223246a1a8c48d8985437768e5017a5230034293161f6d633b83efb19aa062be1bf6eb6f7de459fad76efd443ae49aaf6efde7bef5b5128f941300eab151c5bb6f4edb10eebfd3802aee44dfb4c1b3d6b8a3b8249423f5d101229409240fb9662d5f3a408c446a4431d52f1f495912ec7b3ebfd3b75baaedbb3f7de7befbdf7b3c54d54c176ef678b21afba3813c4df22cd8d020f664508f97f635996659f8c598691c925d399e1e999e185cbe30864655226130d57ce0c1049c1110b23de8e21ea1e55625510cedeba4dcc72df120e3aa0e68b4ccf6b134cf212515ba4f3ff3d9209618273035097a6aaaaaaaa292bfa6a1b2e3349324a1d920924313acd74030c3037426d982475058573a44546ee7654cc526d8a99d2a9a13ba89ac713339e4f41da6f75409d7a7a83938fe7b24c8f7558ef316993879ccc53937146d3b0f55887f58eebb10eeb7db6b1760613bf18a4f4cd3ed7753ba4b8780308dd9520e7c6ee470f249109234725c5a452cc7efdffff9f818690658757449ae9b84226db503580701f44ce84a8b3205554a495d301eac9a6e5aee861b268e9683b63c75d5f6326473079e5624816160a0ddb5b8013b61ea719379f89278d1d051a206628601db66211e4f10793042ca79d082c0d73049304438439c244c128a5783739b7e76f829e558baae7550c8e22372a58f4c450d1ebfeffc75266199e6a5aad606dd9569eef5689a94fc5678f131ab6755d57bc8e20468e1c3144444056574d2d4411783dd6619d77230c232d2e44ba2020dab64ab18b23b4d02579d552579965d89d5add267f556048e3684a86ad470411179f890b099b95d65a0b456519564e35ad32086ded59f3e5a9638668549e8cbef7de7b83d1d57a331de9d1f0177771be37ca11ae85655a31b7a86c542f158f6a870a0808abd4edd79f89c05486572214dcd6317994397c01c25458004e081825123c7e8aa4c005fa90be706e78f1743740e57e476894b8b991f14432a44946154e4dfa42245a265f3c66d35593d4cd8ff64ea1e37adcb1ffff2f6e96e1dc4ec34b8ff8e2d3b80a44a084c303ae6647924a48314992d0de7b6f9e5e2ac3eb708673bf495a4704e18102b1976346fbfcffb7d8b20cbf3c0d2d3b484015e908c7b22ccb1aeddea8f746be37fabd11f08d826f247c23634e2e2752cca4af54d74d57166a1478b8ad7feb0e74d891e2a93323480851d011979e169c262914c6e04d0f2541820931888a6583cc90c18af16064841de890fe8d6861445d31423257e08c7866b067a7ebba37181789c760abdf92924dfcf9d4b4a0483d6c84f014591123e474a36aced456e9d7611b47ea95c261985f2ac32b2e9ba8b16c50ad4671cae9bca5000785d0cecdbbe20744b89d6cf6de9ba8ab4c4feee22feee21cd7d7bdf76e1e65194e22ea0dcd6357b1e26e2638d8bcf054999079572483845e201013e9baee0c8a99704d668faefdff23796619763324c9b12f5c898622ccff7fdbaa67f452195e918079e9baae0db0c5c3df1288c482d5f55887f51e24fde1f55887f50e8fdbafffffffff9f38256cff77359e184532333696c0114880e8fd7befbdf770cbaadddb849a0f57521262590492fc8941031501d5a22ed544e0308d140a8aa1093bc121243f80945cd0a862d678a0f1413804fd4981307df71b76bd7fefbdf7e6edde7b6f620aa2766feeaa6aa96077c35fdcc5b90d1dda80d6d78496f5fb7f5d501f502011918ac931858620e26367506ce9eba36e1842e30e3d913e92509fa6dc05941f9c1f413c522e3e509fd3ce521034aa05cbc60df90229a4bd889974583395ece12feee298ef9dfef07006234e1b3c2c881cf03d127c43a0b35427a3463cb4c37aacc37aef6165d2ffe56639c6d8613a343b9de213f1c94347fb5fd371c2c1a8c4900b9612a807a30709081f3a34c15435562a0db1e92991e0584241204120e0752249ae076e488b1f3c4e20764e605996657fc22cc3466472c974d27ecf0d781c974618f15175447796cf5f22c12d99e0e28e5b0da01e593028749c6676347f33a4ebba1f523c7426fd3a4cf836ac4b797da6855e5a6bad8fbf2cc3c075c331c85fc9fe2b40b9758abdb9ffff366f96611ecd6667c85bd344420f0945e535fbec6ba0431ba2fe9bd65a6ba4609661a111a9ae202555156bd3b0927a3dbefcc55d9c2fdd60bc2d6cd31120e4054abf1a45b69e5a24683b47ea464bedc0f01777717ebbe51511c0a10be4ff7758edffff019073ebb10eeb7da6c73aacffde381ae9c30ca12886368040c5c01ae6c0698a524266e287dff7903398d8cb1983f0f6d63accc4416254f8dce81491583dd779d2e46ed1dce868939090bb4e6afcc55d9cffaaf4d4c3bb9ad3504c28e7f3f5cfbb722e5dd7a5d1ce1637e5e49c284a1301d866d82c99b48c20d19b2212980faaaab5d6ddd5b5d6fa7694653889788c52576e4a55cdb7dcce75dd1a35d762a69b37475462fbe1c1acfac425728fdc2497e81edd2857b955ae2ad868172836bf80162e324cb8228ed8509b9a8c75266773fb516d49dbd2c6b4396dcf8fedbd778fd65a6bdda1c73aacf75f8f7558a7d9373548143c0a260589c163306a876ac825559c54c669adb51692946598788c526e1032b5674b4b190b35fee22ece6fbcab50b395dd3bb7cc32cc74aee49eee0a4c6ecf6e1a09e587b73a59deffff7f0a955752b2dfe00cf983fa117a2102fde064e3e1493730fdfeff71ffff3fdc2cc3b95d8f5df9e163d90d6801f191f522e9f9c403a28307f9e061d5b0639ca1f3d1cd541ca3c689233a7aacc37aa721d435969d11741675285125c487879c9d7d64b8836501871b195939ac6ac8286a75e0e5a0b2602987d3f8ffea9021ed4814a16a01c2d4b43cf5ac2f2fcbf00e906e5f22ad79f8f891e482442dc4ee47056f911d7f7117e71c5094085a51243455f541f71e5918be451f238c4463301e7a78ffff7b0600801859306688f898c1a4b9e909c2d448d7754ba0cc163305324bffff32925986972c4d069365ffdfbe737a7d9fa987f7f96fa17602e3b75fffffff30c5aefdffffc729318623bbffff17331577dc4534c1edad893aadb5d6438459868dc8e492b9618873ab0029a9e12feee27cefbd6fca6e6189c85d69ae04a90a667bef7d05d457413ec4be5a4afccd4ac2e6809966e57b637cfafbdfafffff7fe9e8d7feffbf251edcf4dc2091f4861c8bc5234040bc8aac8c226c3d8dc85c93938dd1093e2ccbb250bd2cc3be1f3028343e0d0a29e451435becd7ffff7ff3cc32bcd27357df0922c75df218442cf2fc687a2ad075dd9fdc6b3113f3d7cbb9967c2cd4f40db758cfbdf7d6f1177771fece8c581c2b63b51541b1b1ec8c49adcf7e87cd653d819e72583e9864ac92a84caeaf87655916f7cb320c0c0a8dc8155cf255feff6f40ddb2770b77939a42904cf03182b1d421e609005d2fc511f6140f430009b98bd5ed8d43dbff9cc499001b2e0a26718b47d3b025a6fd961a1d9599caf0fa31290f524ba99b1981532b2787b75b81850a79147053396a6a4549135cd8a089a1b5d65a262acbb072aa69d5ca6cd95e1f142c2338028f564c09211faae4a46bae78d1599a9362a6204f54e75c305df0f09637924cb518c26ae154a829616b8fccb88ebadc25647329d610145cdd9c2b2931aac41ea1dcab0e570071ffff3292b20c13d7238f7a6d90a1ecb17f5e548799908d63d9da90828d65f78d1acbd64a6a2c6bb3f5d976812209b30c1b91c9e56b4062fec3fcc4d412cd2cc3562cadc49609dbcbc4db63787983a8a4cca1f8f1419398b49126e51da0821689e507a3a9a22c164b39ffe4c243f248cddcd8423aa1e7b85fffcafeff330153195e8d503c5d6bd666abfeff0ffa6519060685c69520e49efdab778f7558efb7efb3cd9be9bdf7de32824528d87aac46896df348b02ccbb2503b598681888e9288af01eaf8ffe3c1c345608ce9ce755d1c638b997e808c3a46e5650ff8b67442fcb8011557a849703ab02ceee13383e4e54819b443db4195844e3f9f3a1bffff0f23aafdb7adfb37abf7defb294c65784d5ffee22ece75eefaff9f6195d1c5164048a349ad986c96d43493d02ac993d9afffff7f282acbb0728a36d4e470a209c4c50f21125345daa32ada4f5f70aaf24899a42472e5f1d59b2e1564805ca6d39c4434d90c2195504ca15c671aef52196eb55effffff7f4c3582a8344ffbf5ffff1345fcdaff278a48c2535f3a9e4a1f1a3daa7028608884ec95fdff67658edaff2ca5a2920b899fe78ca31d46bdb403464fd72aa25428554cada868befabffcc55d1cf3bdf71e51b4f7de3fc82cc3c975e567c95fffde4064152240ad387164a9497b5484f69d7036a87c28ed4aebf5ffff83a2b20c2ba79a563b43d0966d67f8bd7bf74e62d6be3681d698f46bd013b60c27dead7694e5b5f7decb160f95c276ef65ab43c60534fcc55d1cf37f1aded5171bba287d5bf6de1beb97caf0badf9292bd61b0861141125b41a1aa19181748fb13c411421818ffff448c2c8d08926be55096b43ebc794a0d96c8ec0d138572b583c149bf0e2b2233442731a9d13fd6199362f7ffffbd10011c2e396254c838f2c3c8c9c5480f0a5efaa1eb6971c4a3042ba00d4998d62a808428e70392a764105ab499bc1b3f38fee22ece07a0b30593c36204a509268e2a12eb00ff29cca8ad70990388f5a483c7cbc2869658b6ffa2c70cd05384cb595e8f7558ef482857bcbe06694e21ffb7a444bfbb6edbbbc986b2dddb9644d14144893a3752fc88910c9586a894cb9e789544909b242319041c00401446e240515bc7071400092c94acd08c64b430140885c180381086e11804611006611886613806a0508c8433d8005082026a816b0153ccdfcc6dcd9499cd0fdc9976dba19bc93639b9e902b51cba7dca1cd8fc832d59c116fdd3eb8fe2cf6d9d5b0ba5e4b4829d0bbcde7093d1ef23d9a09cef9c90b9e265020284549a6cc8e983e257e323c163f21ac3222cb9a291f6b08a15a47964fecdb15ab599683b723e2b50ede217bf55f617a73df1dcbcb904dcfaac2e51e842b4e5ac930cd3052eb6fa848e3fa75a6200505bd1d9d474b5851d21e56914ff1c8e07085fbc26c4ff01521e45a2344a98e2bf7d0c1923acf8deb02ddcffb0af32303b0573dd615d77f75c1fff204d018e492b561222827610b21d01c3d9885ebfb7077f83e894e5e2cc4a1b2ee98903a5689c03c6370cdfa61710bbbd78010d6ab4f1cdb681e56f8fda604ca77ad8f14b914ddb3a5b2303fde57342bce79c59b0679b6c2801ff4f867aa3bc4e4cab2398da0ddc17fa1b29efd3aad1137daf12db5359aa4ecbe913af1376f4d03e284d1de085870d6ded63faba9563d7fc73c4621dcbf8e734d65c3e8920b83b11da38fefcc277330b3016339be9c58969b08ddd23d0eb914506dafa50b24a2dad38f1f8f69fd13fdb2aab0e109485cd5a4c8c035b3a11efcfed25ed25919a0970226d29c2db8ae5528ab4d42cb067c86044ec8053831489613712df8f1ac444f7c6f70c08359ab4890f7d83ace588303e9d350afa17b1b3c29db9551ec494738f25eab7986801c27506b48cfbd25bf87c4d1d14f2e1d99ae1f2d85a6fe286564eebada81c3b1bf8273a4eec14dd0ed282b17b834a35b8799cd70e63748d0278ed36850303f1d54f0e8bed8178ad03071eef0a645caf12823047a3826389ea194641db22f64e3cec9f0e71148a8c285d88f83b19f180941391f6d571b7cd70ad457883b34a205fe9dc046e8a3f9a3a9357c45f62c1542c048c3b3378fa9601edf42dcca14d9dd7a0b160f57ea0069f35af30c0ce33e1da087222690942db15b0390f54da657d4c203810c46dff700bee9c0a669a87d3e72b0b026291d2b4e7e1c90d94c29a498f159cc07ce7151274f35d997e8fc3ff98687bb83fe388d274649fb2aefb28e66c7e8869f681ccec2d8bbf080bb75825a1ecd144fcfa28729c9f70656ed6b45960e278ec372a4e07fc31f849745f21b622e5f4a0b62f8a2eaac99bd86c307a7c56af233864ab4f905ecd16d8a9c06de52e162577d407066908fcb7c422d8a4df6b569c8bebf22fee8fea4a0dd410acaf1eb8f87caa73332c6349c7c419230494c846ffc51e2da7565135ced82f21c1995fdcba10278924bcc7edbe5e96e12e63e0d29423a889200ea534894ad1f627449042f5bfbb46f08aea7d88ee56f1252edc479f0d1352af89c7fd06574650ff080a383a8d9426a20c6ed15ab3c2a38c3a4cb4a4b9114af1aceac15ac5448c529c33ef96f02de1a63dff450528844fcb474e587b542f4626f53c4aaaa6d3bf60c5655e434094e5e37bbe0832c8430013593017de553d5013558184063c955e754791029d50f7a13e152d1bb3f9d73ff11711ea4674c87e0dddcf2fff02770e5abd2426e4cfd6e03a71b379c689944eb325f7b382cd4afbb19b7ba83bedfd044e5dcad31398c5ad7cb1882b68bbbabf8b841a99063d5f9c6231812a4061498c5518adc549301a61640e8bc18c428feeed9a52a8c6046fd75f192c29219f16d5bd91f0f22594b5fd624f843927c9890517d5325981f8723269559a57bb18a608228d58c75b7848ad0277aed518f16239950323cead2dc2550c81295776a92abaaf5806c8312e547053b1dc49299fd09db7c7c0dc67fc26003161201feeaf10a9011df2908937054b7ff60c6efa227f45c041be4c12e0e2da45a3b7fc68ad9bd1429878b9753fe20ada1af6d63f74b54af387751357085e538ac18a6d50fc44b5f585ab9466cea5d7ea255b336261b2d19c3db4c75d61caec08716156436fa76ab09d2f77a65287c7c24544dab7acdd0529dd4292cbc6f02547a494240aef4020d9b36fc929614a30eb8d554869741585bf01b42aecf6b04240c84183670c316e7423102b26d2c22bcd44429627cc234050885f85f8ba9b7e7b80e3ed7bbd816e50ef093e6ef4ec3319c684f6a5612f2abe6107ffee19820911a80f0e43380572864d67422f946768c5ebb6b3183198fbb58b2533e0848a10a67e609dcbc73fe47a2fbbf472056b22c881d4e511a0607b0e8ca990f9bc63a68ac23c35c00eb9787fa235cf5b1e3f6e093bde89e47472c7bdef0c54b16463a787e2bf5fce1bf3726de7d2f787343dd5643d8644846a41165248820cf3470dc0125b6fa7ec40b68ed72c673dceda8a09ae3047c41be6447dd2a75530e80651a3cf79c89e79a4a13e2d1c29a2d8121b4ee7b09d450069c658f8af2fb204a0763e1f957ca3962baa33f9bc4a5cc38efb26dd115a0887e8a8dbd58badb618861f3355212ab61c6811e22e1a092aee160e6017810a62e0a6283f93a436878e793df2eb201997c3dd029280205ade6fd9c0b30164bad1a34180a64aef48438df4fd86f7100b8fd37bb3c1fdf915344fe0cd6b14a9ba13e65a3aa9449af484e78ba5e4122145d3ea4451fcb3182a8c0f603b528c9a6783f2aefc735299652d70e0f1e49a94ead7d9a2a8c75117d4fa6f95ccef9acac8d6ea6acd7943682cd5167f267b8be72600ea7699798b7505697b5edcbe806cdda14b8cc551cdcfcebf84dd83b763852011f488f3be8e4d8498a7f056976a37cf01918e134d1db6b940b02961029b8d98d61f04d002d320246b89214b1b45dd51ed4e5bca24a07b9aca60c8dbcf70cf3a11f6bc120eac6c67c7983c1faa0226423913acee31c46eadd07e348c8db63d75fc335e78cef092a41b05b882a336c60109f95239dcf97c85bdf397c74f3d2a9dd17ae18542ef3722904ad1d177edc9bbb4aacac7e89309f285db20de1eb8986f47329110df2851adf8fbd563527a1a83d1e29504820ec5a265a6af56576e16422829928e597ac09c8599da1faca030e6fc7d0cc5ce528915b53b815604c279689454e3ee65920b33c5e1aa76220a3f9056322d6e0c3bf048ddc318c13496b4e369ab03e0e0764f3283150bd22a21d962ab3e0d1c787e1ef0285fea0523b103be8e745e16eb74838b00dfaa77de2857877ac8b48b3653ee4a8abb676abcd81cf816643e744127aed0210783aaacb7e432be62d05144be36e5abea9ba7f33025212a4dae973317287e7e7aa3413f8b614aa69f59fba23b0895ce832b7a630069170f0bcc89b9a81458ff56898834311d6f04968c369a80d48f543e1e5aaf7971fa77864bce24cc9f008a2a6aeebe22c695066968a42a58513df2ba56d6dbbe78c8278626fad437cc66f35ca07e99cd319bc3230919ac222e0990977dfc687b83faf69a70f0eedee9e373bd15ef208f2819576d71b194e9027dc3fd0d3c609d10c2ed580dddabeb3ee5018023a17451e7b049408e5d87c82de9dc65674027df79a11d8081ccd41f7f5905e2997f0282e72e345910217f376c6b77ab94163c0585f0991672d9c8e64118731f5155dd273a4a567a5c59438db89a890c730dddeefc73f27796ed790b91588df1ea48b3b3ee76cd95546caf64b545841865189675d1124dfdfc817427e80b342a9595fe36bb2a41e50b40551b54855f6ce11107ce4d8744b3509c0f461f45dd9390e605e25d52f439efbc2371de323696ec9845b184daa296fb59c2c943dd05347488b547530742045d0ddea64c4f5ab5091e681d6beaca3bb858c13331d68cf37151acf64647ca5600df4cf2735fdf574caeb86db9056ebbd748fa5a5b0c759d7c8797e9a1fa0cd0c4ef9c0271d6f35f0987723d7f4f14ac9401fe339ddd298856dfab0b5d1ea4997b5d71934359788b4316f31e1dd8ade840f66d01b23d63e7f7ad150929bbe0847c89ffd68b197a4b06de96197324a9f75f8fa93766f3dbab1dac94d3af5b114a6899c0e015d6fdb0b4af3380d970f9427eae9c20d4c697b8a16462d5b41ce360446644069b054a483ef3ed03b1cc91f211fc189f223876d9c54df7658e7a1c2dc9da2761d01a26afd1aadcaf6ef9d07216ebb14686afc69644df87ba233b501a3da1519a976d8352ba10e0f15230357b1d989a578181f265f3678b6111d8404c60d4b2303a804d84a74ea23934d2bb15105f26a0dd71acd0d38ca921d8c520167e5c14b181facbd6076c9b686703a0bc215ae44abaae44361f1ca9b4a0fddf0643b54b51212708d11c8d76d0f87c9dc72d759e6b0977c9285d56450e01d929dc0c09cf4dadc3557d5ac16e9c0890b095c474940160de0d1b496a3491a1de77f99cd5a69ab03a1979d5538fcb3278c38872b589964abe4e63002727b847e795558acfa035cb150f4a336e6bf8e78910e8ed80e4b52e4b8e4c7201c651ad15ab9c46a699937ce36b25c405d18e5cd700974434170030d0cd199faba9837a11a73d3735812a03736067a4f71dd3e8582c7e07974a2b9fe92b58f8575df175c17eab2ca2b7fd2e65bd8b1597f4b50fc183d27f51e484c25ae71946e9588feecc8677acd60d11e93e31e1ff5d969882db65b45a972daa4875ef3ec037de350102ceeb1fc905b9066e461a20400554cad02872ff3991c13a402c6eef11fddccc0ef770255086e3b7e3d0dd679f248b125a7230b9552da5bef943e9534ad193277819211482a0d376cb2c4879f97f73cff0c537f9319949d0aefdfc5de78ab8076622cdd8d2dbbfb62eea9d25cd3146d41ebfc514a77e07f874181e800283eddfe1234048678dc52b629a54870c94d25113b966a4529076d1ad25480068d495dd247cf9a2ce18a08c6731d04421f8f05731944e925c4e89d9e974d972fd0607c02d578d1504daadf6ccfd1355b7ba1e365a234aba3462fc84dea169ec2a52492f96d9e0591ee12a1421a2c38fe9443bd74361a4caef91e120b08e31e95c2ed06b5592408826a50c78280303aac24e73c4f0f5e01945ca479de29301dc3443b0f9f87204b188178a3958f48dea28589bb977dfe5db47a687e3992d6abed0a90b7d9ccd05c9a26073cefaf55495e0bedf2dbcff5d2c8d6cf9d87ffee8c2a2c148e78c6b7818a2f402761a64aae274c1a39042ccc8173ec331fe61010cfcf08b2eb5efbbd1d85eabec0935f0c482111825fd2648e89429eacd104dd834d1032241a43be8e875ab63948dd3624c9d67c1f73525272dc984e2d84147dea7a7490720c238a494a416fea0550ca67242b76bdfb672d489d94fd2f8eabedb0e8b96b4cdd425d5384e3a380e5cd999f82ee4f6439e7e25582e6112f60026f3c051a486471a9c8af6d6f203586ea51d4764fe5a6879122ad270f77cd2f61de5b4bd7bdde5108a5238c36e65b9bba8d2faf27ccd99b338ef0afe3622bf03ef1b332210cbbcab43939d4c6f2ef524d90a816e0aa596721d47135d4a88b6131893ca652e0721289f24856e2aa954b0b601861c1e5ab79f313b632ad6d44d0d06eead6f665195f629aa4e0e39ad64b1c62e22c77d1c8fe570bfe1bb346404ed224843a1ee4a2cbfc8db336b25a370596bc4999f2d09f6f7501751adafcea2faea47a8a648ad36f8e219d2b6ede1da860188752ad6af5dd1652d888190adc777d61658fd3333be6ddf09eb58abd51526042eb1a94d41e7f5c4b6292cfe9e1ff900f6a93361f717fe27d459ff18aa56cbcbba5f13f7767c209dd4bdf1eecd5df02aac1c68a4f0454c4c1d2e91f42c0a90ab7678c597357fc679d8f38e75e233ff0c302ae0150067d15110f269f17c3d25f41b159aa974b8c3000ff92416b7504a681608798f3458608eb446616ee9ffa810e0591c1799684c680e8be8678cc2a550c9e1d535e096aa4154d21c2c8985c43c0c7ff87e4e04d283e175be7c0759236fd2c80abaabe0f5fee96cbbfd3d351c688ad5e2b812004a4fb8b443b79d6bdb988a4a135a7270b7abae162049f7842e0cb2fb16e45f78e60cb0e3ee018387d52c171045635eea4409f4abf866715e4df6ec5a1d022d2267ae8ea1117c79ea88737fe7d46fba59061e244d203630d20390183dc05744b464ac79a29bfaf91b1af200e914dfe5a3f909220bd70cea12bf2f6c0ce39af721229961f5740f06b034a434fb5288657b02ac966249e98230799f3dec7134d6752e46aa90608236935d59c5b634d19538fe1b24a011ae4ad0b5d78d9cf5496064140b22a32ba572a160d8bb41f33fd9cee8ec70486c965d3287a9bd0824b1375efd2c5956d9d77930e486f0abc3c9a0371eb00d30921734c2205edcbd925e3b1c204c6b2689aedb122a2f5832c8bd18a6c4d893680b0822a1c60b535c6825154560ca004a7e9595528511789817a383a52f4373c94a1ce6e72decde3ce3636818ad2072d9ee22b9c44a09509e11ce3497bd93036a2e9fc021025a2b356223ed1dee6922cc9cade788189a100fdada23ef5379373185f4e964b7d71998400ffdb0dec49c168dee9dfecd9066c270817c65896b23bc13693702854b7addd35ac1f61845232ad3c47d26769581fd1501988a3f3ce59fb4f09d470b658227f70c45a2a2b448212fa91048f0fe99be5d22aa3868a8e2218d2164c5e7310cda140a70a5148c21543b2f5aa4fd30677cb7b491c0fcda67a57ab2efbd885f14f2928483e1fd2d5320c562450e5e9c610bb15ec08494cf2faa8682617f4162878ed68eb41ae28a236184d90d7d514ac4e9e494a5103518240e56ee73736b9e88094475472a5fa71edef2d88a745d52adf51006201e95221b02b68516365b74ca23e2cba14b0c5e41b82273284d62a4e5bc0471dc97de80bbbeb9f03682389554422149a350ec47b1a034c089408d096535b4032ab57201027c0f34363b6dcbd15a4e09d47ed9143985a14578253fac05cbbaca216843a1020442b69f1c6c6f713b2c4843ec83c1de93419aeda1c4f434be8e9cdd146d46841ca65942515354bf5da6845121bab5c523ee9aa9eb3522ed2b9190270d5a6e4802196fb605f2b9f85ae163c56f4c78cc6df1f1762d2077102f548107d09bd73abcd873e61a396904c80f906aa92e092a2132ae2a7dbd7d7c67c2ed23a889e02a7f296c7609178a381f59f542d21274052472d3bcb65cb9b08ba1776e281e9d806d83ba94a4eff77fb6555acab482f5f390f845a1e34b88ae7b71843a825e2902ad67f5ec48ee7ceba0537fc4589760586314f6ece4b2d0b09534a203618f2e6a735450a9fe1f1dccbff3084de656c4ef703b5a28b277db113213ab2a0424d8eb16d2a94985b0c5512fc6cdc9f9e0f77b40f3992a120dcb21420a14da3b2576eed1caab8210e92cda910b936989132d508e68b9b1e17901771b5adbf1bc30e81b450f0ce530af826aa3889c5ba613395a8620f66bd71ab32ac6c818373433528e3b3f08cc70e16414eb1581bf92276a1ea4db14ca5341838d7f6d805ec117a5869c61819531b1d0a5473b0b6a0570f55943a232ccc34a54f03189ef3a1d4225e63cc711d25f35228489a088ef85e0f66e93f62d1549e7a4e8ff2af822112971fb08cff49fd2e1495cf7edd786b312df9326b39b7c87d951f715a427ec5f646d2339d7a13ad38054eb44ee267f98b15a2cf7adde26d4b76f5337091a24b21d630d04ef3bdd8bb0298824ff26cb7bc7ab88f04a2d2bc588c86adc2b2222d6afd95b3a2e509b46e85ec7ac7d405043cbfe08ea97108c891eda930f2b600e17769ea3d82705a1929422366a97ca1629db495e1caeb2512ab82d5f19ba6847aaa8f96cba140e874b87040b0d56b49906f68ab96ea3850970514193ee489fac25eb8f91dd64be76c529ab502c299028d248da4fd65e04914d73b41acf43a1a47520864c1235a58e2070aaef5e96a22d44d86df68959a2683323d9ace3b049b390cbb9cbdf02c3681b4b8bf38b4637b837063b1c5c68b04d6ae264f1fa904dedcf5e89016c4c2ed15cbea6052b61cd4143f865b613bbef43308c3cce98b46225212268072199c6cb74f87003e360d802876e34b1068cfc4e18d6b50d8a62dfa41bddb102a58f41154e503ef121bf9abac07bf16d84712aad84629a0aed8c4c9d9ffe51b0581ce49791ca0354c18170ca524ecfb7d054ac4704f8eb5dd77db41dcda988103df113d58723a1db871c519a4599737e99fb38144c33d81aad092bba4ec589ac2cc60385baebb72b97fdbbb9a78fae6ad5c446c4637808e5f0e5fc59ef10593eec3cca2ce99d9cfc12892971c9c8c34ad68d7ca7a8abc847bc8fd3c0fd38b55310e28063c123baa3621007537a547a4a54706056439fd7baad322ddc24b88f6d7fb59ca050bdb7e732c7b36f39df9334bbec26671e0c9925d2e5eda3b454a8ee8400c413a34aada6730cf2485694691bb908394bddb9196c13ec299482ae69d837fef6d03ba33b517c7a5e012214555e2d399afe4ea8b30edbf8e51fb1cb3bd7b3c72b50286ae53ecb9ad04b0fb509cabe227d3e0d70ed640b78e159020ea369b0303ba3f9e23b71da9c38035bd8617ccbdd01270ce8f21c54b476238f39116bee3ac441c019037204a0c7ce1208906984c509f308a8140ca791357b23a586d63a8036d1e48d0e86afa1c68d21a8857b3c5a3b9bb7f4b834ab66e36ce22a944f94cc75c781c067bd5658e2244aa9405d7d1e259d403287c244543551fe390d3838016ba04183721e5547a28e240047b0d5ebc68effcd9a56487f2a577e9e02328824c3ba5303f9635bd3295195a2db7eff80f5250133ab8d637b423aa85da90cf08af4aac83095b7c991bad9f8e9344eb6c9416b217e6767afd410dca35646ac7e5a4693078961be6e5c7b040eae5012ac75ecc0f25e548581d7a1e834c77767046a9f00f5bcb9ff79a8ea0db978e94f69384fd6f9dd8e6054d2f28261b00e53691f2b2ebadbfeae04f5fbd60d89aa3b804d9cd589771e8f247f8e56ec3f0af917ca5a170725e0c90f85bbee888e2185e220eebe641046cba19031571299441403a4c8c997aa5b93baef8ba674d63d2ab965f488115158f4c50cd92e63e6a0beecca324416c21999d2096855a06bf9cc9cb5d50c19fe754c445ef0f7c805f0083a7fd133a9af66276dec4a1badbb5e3b968ca55de57643653cbe4b66b9e86935d9578b9cddae8af6cdd1cea5babc1b06825686b0f6a88507f7d5ee70e7d17fc17770ed9a65b06ea58d4f45d7efb75f394cf7012dddaa692c7b0546b379c0c596b2344b2c728b8066d5c1bc88b65839dac2514883b9338189b1f78b1b103ce23726edf77757d1352a2045d35071585271f2c65c0219655f6516c1d002b7d06c4d0a94f4dc2145ddeaa5ba279634de9b90b60afa109e4e51d247280dec42f0b2669413f56665f811f1109b22076ed707907aa5dd4012b7f30cb22beabbb7184a51105baec49aeb597276b793e690afceb0546194e1244807208386ce19bbce13f5754417ecc0495dd0af14ccdbb3441fe2013506261d70ef172cdc4e435a062b29c3e37d795925bf37b6abbd4110d0b1000b88f71bcd74b75a2d750fa14b5f2da8bd91aaca690b080f3e61277fc0af18726084833c0de9edb876b32636b74d252f1ae72b78a95e62adc0e5ffff25b02da6a81c7f5bf79d542a9384250ac1ada250ce14f5aca6f70adba4d674812f2fc4db4ddcc46b000d8b76b0718556360fa2a9b1eac915005d88d6f76dab9cc3d9cb2cd8450941cabe7f3f14c226438f748b86337c060352ccfe5d38cf5e171c602f5b5029876b3ea1155258e733526d3a93a4bdebf986fb5868b3a29c93082fa582bf755ead56c3821b9080c8e36f7fee40e1acba5284f5c0a475ac01c5107aa80c5cd9a30bc0699d5c189c263507e0aca4a72a0b17331048adb837df88e12a7026ea6ccb4ade2717ec5b4ee4a41bab09e7c56825940463bf1fad665d4c28bb9086e78895b5809e4b38e3d2c54a4644d00e42bacde7b819241b820e4ad3ee6c86f97c8fb4fdc03afe93cf90ef671b186a0719dedc4c39e6dac91b386c4801e752c06d346ca5c4216bd4d01f4861dcf00c58d81cf13412ed81eb1b74b368032885482927bf32e454163fe2777373fd4b29d8ae3d2f0ef7b98784ba92ca73407e0635f93f1a7ca11dbb249ef9389b5981970d40a209eed46fc5affa319669b3057694e4da2fe5a6e24d54385fdba11f27870f60e7f78bacf6cc67007f4064cbd6c52f82a6ce938a68e7d6d3c9981846526904ca88b884686c24f638cc29c71d4762f9e4411a2b0d71fbaa322c1531224d7ee765eac3f38883637b0c8fa742097d555d9050863f9cf3feb21af653bc7577229c76e04ed6465caf67663d7351181dae034e10b4d047591d0cd15904993d8bf5cea3c55ab99ec3f15cb85b49b75eaaff34acca7fb0ca29c39eff5036b65509719a67f620cf6bd3c6bab06fefbdf1d2d9381537d2599a17812fe8d12b821cc2c840fe36b3358bd2a8c05629738441ffd21354172b71aa9d80e360907ec782baed73582b85d3428fc1312b221f27482bbd74dc93e95640dbd9abd70e50216cb4da5f0967f9140825c1aa86c1082d0b0e7f0f6f56707cebd7d81e575bc977dc47ea9da518e5e161660924158736550c7872f35d064f9bbd486dbd3cdf266069cb732ab30fad41fb39b708a373d20e991c8a564df8d67020d7f4fb52484adc5325e619906153f137b0c35782dea057a9d837ab95b0fd30e5751890c565e54436743f12ecf54b20a0ef560dacd7b346194e404a50456a3990b4384245b48476044a42a1d005e1fc91bceb6f95d1ec13298710bc8586522241eb46a26017776b34a6568d5542253277a932258ba8683bfb9f12bbfa9864f252e7f3c2f1d8939dd22e0e576d5cfb28ea060e906eaab0696b3192005900151008fcd5dedb2e1b7c16519f37ddc05a2c3c99dc4326fe43f193e1ab5559c1267dc20e4f48ed44f50e11b59a83b7749498097e5bf0244d5dc4e24c64f577747f2724729ab76a65cc6d9a28a745c82a3e393d24508c0e8f4bad67175aa21af0070b9489fbeb4c4140b576c1a8ea54e18bddc284295410baf6adde30479f98d304cea9da3a46547ea5511d76c74a3b7329e575407f49104a27af61abfcf1a7780884d2cefe805a19a7e64701533660c78c4939c89850ed83df821f3da3ab0f95ce2d7578509d7f4f275de605aadae5f3d23f1d6c73df71c841751d80daa344ac90b369c319ba44e29caaf95ea6b9d657384f0f7fd222a0e49131eb28af12d9b42420384429a0bb429eef4045504019bb2e6bca71a4a937fa73b240cf0dcd2f5e6984e314eeaaaa8c29cc2aeef24c20e7c538a4c8fd47cbeb8cb311427e9ba63b60551d3acd8cd7d5f94c0ea0a5ee790cbf24d5cac53da4a1b54a33f971e79421c6056e4c81eea6aeb27e8cb2f6c40acc4f04ce414f29491db60fd50ba913bfc4aec7ee9f120c6d007a5e418f6c0eaecc81fb2a8ddd690353c72a3d0163e12b95765aea8287cf4f0d7efebc3b0dc062abfe4f5c85d6753319c1ea11e7a810a3f26a47b85a55fc14a14e88c7064567e2d62a51e158857041384f8eb6d68477837f69519521c05c037a26632d3ca3f7e4350b0ad1d6fa5082dbeacc2bae6ba05303ff8555327700e886f8abe3b85d706c945da53539fa4c01835f3c8e54645bf3bfb4d96b3e8b28b2d1f49c3928e8ec0751c445f487443fe888ff99cc381227a00d25a29a545f96810258e3199ae830618da698165648443f1298e37a5ced4a1c6b8d6a6d6db82bf17e2f595da78c67313efbe7eb14729f0377d24297646e00758ed83e436fc998a075e4a6627dcea7fe1ef778e1f99c1ed74c4814a999138e95dce9e9615d50589540b8291d67510964a2ccbb6afd4a34f3a736410a7515edabd8674033148122e707157313c2a8daa9ce32e9178fdb138ff369a9fbd8c77e2f064f8689799f80feabf5d8d5f4062b65823b02b05f792759fa64f19da3405b630391a6a43813def498718edbce97cd6fb7bf1550cf233febe7bed0944fae1633fd37518549b8c8aa41655c03aa346c68375f0f3b5ccc88aab9e9f2157b25b172b001f1c451a5dd5b0b4b300f915393a2433143eef5606377ca169f66c37b5e46e450ac8478af068269a5b1757a4d16140b074a172a87075126de2df522f2c427653dacfed2041443ed3215e0fb1a37a0c897cd50374faeca1fb87e852e8ec0a357c35258d732e898c0b67f7815931bb085991db6decaf9d20930185639b81d08de620d01368e9ba184ebd4fd3ce001501fcc68f9c5a8ae10274e5edbf2ddf3178b55e8449bdb9fe8ac63528a02d5116358b3110ff716ea7ff6110908e908c50b9e301d6d1a79797667fb096d84defd764fe7d261ab7e20ca77a0319f61d18491e9bc074e6e29dd94c100db9411f30ff0f4785461f1f1c134d9296341e452493d6570e02f15858d9a84ac68b663a93cf07a0b49702b2524a58b0d4949581d45a0216a854ba68f6dba2943995c58f145562e2c994be7f6e7dd0b94b2391efbd99a50751af0acd88c5df4322d1fd1ac15af102bf63016cd65124ed300babde4970041b7a397d3c24246e687df69cb706e017cd6d900458458cd17fc960c5df4882fd257cb2f85279da8d9f099e6fc366b29a67e1b1f9dd1729a0c6a9859616c4d2f02fd7b2eea6c203f2669644273d2c5bfe7bc032f1aea296e24a9311f7242fc150118c14e765517ffedf3e310202b4b5af1779350febfb7ffaed87a3fb7095002e8f42065d3b3b3dc66c50ecfe8dbd1c454f6298b0f38d9b2c43b70c8549480195516fd6369aa995173c7b64cf8114ea0db69573ce5596da35c6d7cc29366a82691d44efca06b87a40def9ff45384e476e97547e0b75999898f8af027c6144b4dac4cbbce837b0905d76e1c43584edda902bc5ba984a525973e56ee8a9005be8ededc5568afa9698460399cf868d3a77e8b35cd1a12ad9afa0998023e35fdc4814b4149ee94b324b47d93f6edfbffb69ae0db6ba80c6c076f895a401b5d0d3024cbd29ae2c473dc005a30952e8ba65930d71aea0a938ec5b67131ec4f92c1a29b325012659c1ada83ee9ab239626d2d18e88429bd50f8ac585f5c0626594b6e1f2e40850a775532668399ae73a0a7dba80ef3bd3a8eb09436551f5d6536161c0696992d15c6af227634d9e8bccc1e08c8e83ba2fe2b157aba736ce0d9090a836d2e11d3f8bc7ee8b50193ac0c20881f7db7498f071e5bcdd3a20859a93810ff3a180b1e93dbe6a36803b16f1e98a3d8f70fc19254809a4ba542fe35049b97b108b18e72b19ecca436fb49f276e50be6ab304508c54455bf9aafa6bf2bd041a4ffed471102a3536c445f247cbca6967a796b96ecf9d5833066b7520d2e27e864b8b33dd8fc9ba491cb32fbefdf7f68a9b02a579da992204ac66b2f8650c11ee1b2ad1751fe56f1b2db859bb0ef6c166d27eb54c9017f93e7440b031b01a531d8dd7eea1dcb22cd7f6b4ddd1afa4a0b03280ab356baf61c440bd21a2ebd9b0cf8986fee545d7df6ac9f6021bc9b412654b4593a0ff063f5416bb24f8139ff16990bc1e3396a88bb5e91dd3411b5c3f5b539abe0f7ef24b24fa7fa4bda91e19d2106c0cf20ebc6000d3295ad0355589c100c6e993c7f53ab8fedc991ae4e6ed14064d026de1622a6fa8c46fbe770c0998aa5fe997d524623417734ea651babce3c319a1cf88d3e62b614527149b6407792a481837e986df38cb6afa5a21ca536fca3744c1d85282e3872bcd01b390042536cb15c60d4317d6f033b0df4ece3ea1cd8711fb89de12e423dcb064cd447d5ddb0f34a57d3ed2c928d770fcff2b589ed9bd72784eeec2d90f7e768d52df07eea8c9120cfa63a1d8f9b2226f11dc7da6b22b3fede75c1e9175044e7e78e46a21765c28b63ac7ad25c16b3619b7116947ddcefeb96b256ce6ffb9e342805cd603bb26b7946416045bc9a6e1ca3b3a607c37efd9c3131fe69403e992cf0ffb3bdbd7da0c35a9392348cc9e6ab429bbe7fed25048cc9470cb1793b9ed8088940a987fd1d0a170a48cdc34de029cdd9db0195994e873da4d27ca0d9d6460b66f8831dc26a65f0b2734097caa1401e29c81b862f43c3a7bc4d87120af0bab36190a2a1f2abdd7a44508d0e0084ecd49132457dbf85e3374c948bbae91ff9ed3eecdf11b854f97aa4a2aafb67824e6ade337af91f982bb3ddee9a7f1ca2a7ef7a4faacbe824223d1cf5f7292457cd694a3c16d74daa3b9e9c3dcb6cbaf094e16a6efd4ee634350972949eb7c08ef70dfcab9e6d3d3aa9940dd931804aa97e11182bcb3f8e68fe42895ae7d9191586126fbd91421904e9403793167111fd7862bf8fb2d67126d1c0ab0b5d4658eaddd85786eaf24129bd8b20f93a5560edb171474d12ce03cb9634fed126d74508655118086fa06a7ddbd2687e80d9ae0a227797aaf8e2065dc8186651d9bbcd2b67a33bfe73bee6fe2782f73adcafd7592bc4b6767e9b190f1c3bc0d234faf5c54f4b23b69f3137b2174d712b29cf35aa2f9dc93048320146d81bee4f72558f168348e9e21def2c2beb200c6f5178ebca0a3ee0c3a8f2eae4db106f4bac3fc8f5cb6d000abfbfe9850da8fa167cef02aa2c86755c30cc519b0ea63d00a7fca27dbb9253fbac61242ab817cc68d722f691f59bdb4fbe8c4ec12836c728049774d206f1e55f3ce09f1ef7c7af92776090ea58324b851a6a8538abc8151422d6652f2eff124fa3a983f4265b4ab9a5943205dd0719070c073f0ad8e2b49fc5f1a9de0ad65a2dcd262449a019b4c148f4aa7bc222905d80b515680a85e4749cb5f483ec5b0cc7276bedb4d6bee83dd1e8d9316e3b6817be48638e6d4b96f7c39117fe8e271a3ddb46dd80e641d0a6789c160520edc7827ddf0275e759a5d5c7e1f85471ad3583369924815a22a2531e0a43d506bf667a33c58f809bc9bf5f6916b86141137ec0af6469f71618a476fda05d691e046d8b9f9290717e4c3a8d022069e70ec2b3f698129df2d8397f4ef2838d9dfec42309f4032b24b4677d3b4e12e8acd23e9895ce6a839fda4aa5cc317192403fa0426363bbc6a53feba45f2959e35afad327c5a4252baf0bc990a6bffdcebf058231c6bdcf61217e88872f786b93a3264959dfebc20fb64a2c0a82b18fd908408e867a1cc171d5021a2a205acae4c0df1912fa08c327914718621e699c882c77c1a98731c648fef63bff5e60916c270633549ca29021228d0d67868c60c217bcf7deab65ebe7c382fdb6c4291cb2b6f60d6141fef63bffb5489689645776577c63980c55344615e719c42e60e024ca102e44d9522466cccc0928243102937a4e41700d2c68c064e13a3384cb57123f5ec017bcf7de7befbdf7de7bef0f18685518630c240cc3308ca24471de0425e5abfa45204a96cf874d90d310578e20218410264714918494bac58c0e2f432b305171dadd59665faa5e94324972b2a93060b84826eb41f105efbdf752c952daf7feba8a6e847a555d7c84ed90e3073227e4f07a8c31d601aae21c476105f151a920a10565caeb862752b88e08995e3fc6c22a407a447a35303d8a7323700706c9a6737086c0a21572bf4374efbde10d2f97cc0b439e3562366561f18177efbd97ccc5e2578aa4c01d5e4534043e44193ae2e5082a2644f020a4c72d01d6921c5d3e961cb163081f44642610a3aa1f5644e0cd37c446a628ceadb0b4b82260c40be776c01e39e79c33107b34e41e99c1800a942c04347975d900a649ef2784179b2084a4e121318589c70b3430e912b3a326868890ad1a7e40208dd79290aa315f5c66103f58f0b7dff9074209470614fef63b2f0b7ae2a5839121482ee0780242059ccf8529d844a088d10a5780a09132f6036f05be9f67a42acef3548264095cf223c8ecd1e4bd2c8c31c65da228cea14c81bb8b150886990914c522a6658972f328ec3162458a15a91e4966e06a124286a647170f2c4c14050cab5a0287887c105374f02a828a139a39c686fd88584034d4a4a6e88c15b02531425947c825529e90c81459f1a909336404c92c88af30a19e11c6186f559ce71007bee075aa7053dd2e915765556d5575551639aaeebdb79775a9b204e0619cd420e5e0830b851db6a88c8829f3f7ccef4cd699ad335d7f8bc0228c31c6448c28ce91949ac01d11a8db929e12275a3e4441d9613060bc686a7adaa673b4ebdabbc106294849151e4170590a23c663777d70629f106900012e57c24079d243d5d3171c5d479478cc293b78814632192e4c1395ab23b4a0a1410b478909cdd185e4521cf7de2b5a51e3b3cad9127fb88f471722ae98b64e689a3dacb065f5e3a8860216282e428e281171f9260f4a68606440e173188cde0bee509330724156abd8c09b5015e7b91766c1e1bf1d5c4558408c3136eae530a57b8b5c062b8c8f889c85d1af3605f5abc2239212e6254b260688cd9497aaacfa2516699bced1da478e039244e1d1e38b4b882f5944a6c8ec4800cb121f10519078695480a40798d24dfa026b9815b80bc3d22b48d2f3275d44458445b5a01752001b72e58821a65f172a214965bac203f030c28710a6a52d323b3c89b23d7af7debb024d5518de1b866198448be29ccb0b6c4512315ed10a168e7c61f8a8e62b02c12077ee1c4860ce31251c92c93cb07ae1041eb2f4921031b18684d056d06f73dc7befc5e2a338af0a5960f985e1511aaf72060a89b6e91cad6f844c2c443d54220c8220088417c539d80a20c47845472b8248c23d3a2785205f261a2046474e6ea8aaa2c390b9c248d7143d15e456a10276efbd3eb213140e19983186e116e14012866138244471de334252ea60a8e9e664f8f0e5eb8a8729513f660e40a0f6053243912a8d5495ab5071fd30c698680c948f1c882fc618638c31c678ea4ad4c6f87780fced77fec16840683cd0857bef3daafadd7bf425e38b31c6f84a0bbce202afbcc02b30f04aec66a61e59e1c2758f7cd9c9568fa9a3a9e23c8343760cc417638c319e4a626a631c268858102940d384c9c4a1880907b67cd141eb870b4120f9adb1219c5a3395420f638c8d08ab38cfb5a2b0f718634cc58ae21c4b0bdc54b81e6bf931a46d3a476b3159c26e963543b31559e7f0d0369da3b58e5c34a5541155274654f2df7ee77f07dba33e88a44571ce054600c9cba673b44de7688df191d27c8203ac9235d3e1cb0c9a215eb8a4ec2e977dad161dbd000c81f58402d40d47ba206d51a1859aa34dbfd38316d9afb9280c875ec020c6185b4902595859d23e6418d3a288fef63bff3f7051173b642bec47d8848b7654293d9c9b2a280c5121524415a3ab13ca90a961be0e5cf131c448871333633b6cb544ca0f6dd3395a638c71901c0492786190166637382b0c800429e081e159a9c0839316aaa11a6ed02e8c7240814a4c161fba66961fa47c0ba82146b46030e22b0c16aa23bf3378ca28cb198f82a23897f2557510f5cb01f6c39a1d27681123b5bbb36a5f51ca06b0270500f7f2031315b268fd480107aa1c4346723402625bbf03e46fbff31faed093c98a520887b8f7de296049fbde7bef0dd2c3bdf766856126f211863479377d03eb3420bbc3e48ea1da0e7cbab31724dd37b03f9d6c2122b64b6cdf42646b6f99d0f61f336e834dbf84e3b2decd779acd51d8a4e83a6d51b4259974806a636363633b70342107f8f76fe0bfa44e08f7f367d2044c5ef2496747692e40afb84969a595d63593d259c1d2ad401004414b29a5165b6cb1b574a4512948aea03732ba749ff2c90e8e3df082e06d1a22668d55191c86ec401f1b046208b79d6ac98525a4cd732b102ae023ca0998301a886ee801c205e18699d6c02adad06616fb6bdf1b20c112115ea2f8a8aa9202ca0304da9b46c8b04ac1cb8c110f2a300ab8c04df1d9bb72763261e1224bcac85d7def2dd2544b5c7006dba99e20b165dba96a206367203a1a42e5894c0f4a49514f767c1a1c2718c103124298d04075886006a53046dc2003558e5c8e06ca5322e5c5852b2229d400c4c86886880b5810221f5b763eb441f84fcac1e447992356ba903809812308a9852d65988a1829f3e30915a212ab9292820e1c9240f3640c881ea2142963c4161992e67cfd4ed624400c9a305d2d6431e325092d44a88192d405ea698627626213353e4411cbcad14403125bbe78a901053539a8943c59411aaf24504582f04821cd1335e093d7139135433c7da121ccad4481ade1f245072d2be49e1c318dd8e52d677773cc029ab4b025c4aa4c1135bbf99fdb4e9bd6ba8a4963615d85e8e0891cc6e48d03475173cee2bb009aed2211bcbec2262f8b98a7e4e0b622e399a53c3308f4f2aef680de6d57fbf282ddebd9d5becc60d71ecc26a84ebfffceed04e5b1f9173b636db3ddb6f8a28b2a8a2f96768b5ffa4ffc2a8ef7f148df66a43129c625181b1bcbb273d48e82560e5c85b5bb7ecdd94adfafffa236da740d1b7ad71c457d9a23a0e699a3a82fe21996ed90f47114f57da88d195dfaef85084094c77e7d1794c77e7d1f5721dbf545d98b222ef38724d45de61b3a827626a8bd0927a8fd8eb9ab9137e64eb42f1b43d246b58083db77ea8c8a2a90f10583dee8b4efb66cc90c446fd6922e4010ec0261ccf8c9f080a3a03f75e6b45f02fd1bf4a710e5993545515d0294268f1e6deab4e9b43588dc094af789aabb39d7983863f4dc35465bc5e9ed1e701575531855e782baa0b7265dde3004ee975075ae02e728e8d3a753678089a34f6ff346dfa70e67d3dba6ef374741378e163d7db229cf94929adeaaadb35d13a0546bb505d827eacd66abb83977e0982bae16c055cced4e6f385874d9b3ebf768fdf8a2c9de6d3e3f6d9c9bd7a3659d3393e8cdd268e444a237fbb3888d8d8d4d11d9e72233014a3ce52cb2ed5bfb330909dcb3c814928d9397c929c445979e5566a1fff9c2d4e134b98a25aec2e6cbd7e0e64b9ca9d35fca76399b34e028ece77064550319f964e95b64e344aa35d56ab49f4d4e50595c51d67e8d269b483911905c0508eedc01669456012bbf2222949e45235f380afbb2916e9c2c7abe4d12dd542b655250686f69553fda4c56b321b37d9db798c5d9cbfcb7330336d8b909b7f34d26fb9ad34aec7cb373b87353c5d9cff96753d5591b4b9be1076f3b2cb1c39b1d863bfce9ba9c0fdf3f67b460c4196f64e18b230d0e288d45f86298c32c2b61054454c6d8ee3cdeaf19c58941f41dec01de74877c7ab3b7aa5a491f7ab319c015631083f5850a46f089906697b30d7e0567e183d469b5d6f086611886a34fa8138678db97310369c9868d6794b46d88df84f5711520b85f501ea75232c4b62f02e539c0aeb41f3c823b03ae2285a3b094cce1e0a05f545dfe000c5731b319578363dbfc2cfc52cb4c3881cd8ba128d6f1010b40b1eb7b49800d2304290d61549cfd0a8394edecda9725f6ec6ff62cdcb39faec3f9d9ec71c69bd11da7c7da28937d1d671cd4d9585bf8aea48c9d1f135266c6ec3ccba438cac69c211a868c1936284f69a36ef0f1db2f81f24ca152c6cefed9fb69479bd12b0e849251eda5e32294852189bf97773232bf4fcde3bdd9e08763af67975f36f276e45dfe5ecf2e7cb1845df1e8bb70bc9feb48c3b62bcd02788ba04603ef4ac6d0b5defab7924ed630b9269b89db89adaa5dda5890da65b699b89dd07171df371015da85af7b79773f8fbc1d3dbbfbbdbc0b4332ff1df10c0504b19d64d2b17fc37dbb12dc2f01b63cb6d27ffba40bfc9604c177d4527006d1bdd64a29a5b4d65a2b9d08d021bad3d1ee6a6bddd46bad36e876af2738a8635fc7921dcc4df67a68aedeecef40efd976e08b141ceff69ede813f691de0ed240935041f7c1f6a2908925e71754a12280d463b150b489b2ac9a662c168539a446a0351a11dbe632fef301326effbd43b7ac595b02d18c306ddfe166ca7fd14603bc95402cb632bad6363ee5e636e1f1bdbddb7cf74df692170b0ab6e7bb8a0adbea73c733a7bf249c531cfc89b10ec0a8a2028ded96cf45d1e81ac484e5f007802bbed8b7896479d0bd07ef62f68e4ec5ff80f8087a6e161e17bd70eda05ede893e514479ef8b39137fb3a92629a8687ed9dfb06d7776269db141c7dd7b144c1ae6f2f2df3367f622174ceec882edde7d3627eae3aa73453923ad9aa794fcf972ff4a05f74b0eeeeee4e5a6b6badf56df5efd2656e7fa55196eaef528f3d4e1f2473f4d63353d0dbbca30d70d31cbde572553777d36d11262bc06a1ab3c2abaf434b2439951315ec529bf829305b12a835505194268e0f8b95a92f26107dc72645ff06b753c19064973fbda8053ee832e7662c49d2445f579c7f0c47769933f166ba6c6274699b45544cb6d2f8bee84cf7dfeeb49c9b3ac68cb1e2634ec6f478573cdb97881366fb9536295b2df0a2ebdb7e5a89f28c354a6ddf6aa58aab6fc78c54c249db0b26d15b9daf956c56ca48f4a695b452d5d97e15571f9365cea292d09ea47ddbafea6c4d17e7277f68cafad2b5acb0f423b9f46f1d91a4317fe50cbb6603e6ae1f72d569b5ddd6246b0a9bc0a65d7ddb51fff2efda7ebb66a4aa9b7d7d9b0eae9b917a296ad7b74ebb3ef81880d1d4d66401912e3352531579bb86dda556da350bd5b0bb1656753f2ef01ce74542473d1792dc68d7af6555dd4f0b5c8e73af2db02eb1af5dbf2655753f2d4c39cead7c58555a4855f7d3c292e3dc4929aa090ad4ae6f1356753f2df01ce7454247bd16926a46bbbe4d56d5fd2c7139cebdb6c0bac4be767d1ba9aafb599a729c5bf9b0aab490aaee6769c971eea414d504056ad7a78555ddcf12cf715e24b47464d35b4ab231daf5695955f7a384cb71eeb505d625f6b5ebd3a4aaee47c994e3dcca8755a5f5dbf5694855f7a364c971eea414d504056ad79f8555dd8f129ee3bc48e8a8a7248966b4ebcfb2aaee87052ec7b9d7165897d8d7ae3f93aaba1f16a61ce7563eac2aaddfae3f43aaba1f16961ce74e4a514d50c2aaee87059ee3bc488885a3598f85a45956d5fd24e1729c7b6d8175894955dd4f9229c7b9950fab4a0ba9ea7e922c39ce9d94a29aa038ceebcbc2aaee2709cf715e2494e448ec2549128d767d5956d5fd287139cebdb6c0bac4be767d9954d5fd284d39cead7c58555abf5d5f8654753f4a4b8e7327a5a8262850bb7e1856753f4a3cc77991d0514f294966b4eb875955f78384cb71eeb505d62586e407c95258d5fd20e139cead7c58555a3f27a5a82628504542473d2449a151169754d5fdac309591aaee678525c7b9d8175897d796d60fabcacae7e4388f729cffac00054a2b69c043ff2e339292d3996dc93237cd32d2aeb6565b484b2c89febe23faa8b30841b13350831aea8c059d1a70172f5c8575213c8cacd4b95dda1741d0c63953c0dd29264bbf5fdfed7fa57d60774cb2f7d166d751877e96914ee98ddee8edc47863413b21d93bf47f9982327879d1f79d1227861b33f057cac2bdf47c5995fec07d5c85b8e7b7701576cfe965be0d4be70f7d760c7f1b7787631e99b028826fe37ecd596b9f7a7b5d6ac36869d9e79910dad1aff54acf7713389c2cb9d2a5de2888ee94524a29ad443e1f2acedf650ebf0b3cbec01f03932f80b426dd6189e17863c6db5c05adbcb163ccb7417d75c6443ba06d1b9406c90eeacfb7a4098aa36f776849db11f7e5b4de5b4c5b35ea2b7ca6e8df56b35c661ed0822efabeee92369b8fb66f543aeff27682f24cdaa474d24927fdb7a9a02ded4700dbde9f23d3fdfb27288e823e77370d8ef46f18726c90f4dfeef285892a931203903630c28ddb8542d7cda8b80ce2c4a0ffc1591892d96aeebcde54a04af87a573c7774a4508ea2fe8caaa34dbc8b298c9217241c8cb0f4a6d4d0017aab350cc3f0750cfae287e18b0e012d3efd49eb80bef86269e36efa2344e9b9bdb08c5961414207f145135c34950d537bee727e511ea7b2018c0a519ef87aa4501557a5aa76956559ce59268a2f4ea8aa9b5014ea4b4a1b7d37a1a0a0e6d7ed0635bfca1e26dafb509c183435916db65d69ce36dbffed36bf7a42de108d42d5321792a58dbb65641954f6c8c8bc69949c5ff4e6c4b73309b5f35e5a56a5690de2ae4fa55cc5ddb4af368ac3ae14cbae74caaeb46bd7cf2087f68aeba9b8fa362d2c6df3b4b730288f48e2a7910fdeffa131e858655926934d1b77e7fce007ed70c44f63a27d07a88ef6f547a0d517c3591ea1eaf2574fffae783b150c3e6afdfa82deea5be0a56d8592d19c1ce2cfd6af61b7b8c255d40d829b856f01abb31594a706b57b53dacf6cc56c408db9e90acaf3c3c12ceb483535b1fdea12ef0aed783b7ef7441f7cdfd5b7b64b933a79cfe6ce7645ff2e4decb9e4865d9ed05d46ac74f8ac86c2e88dfffbac70e7f1afb57ef9158b92353e70ae0fb7533131f2144b9736fac466e1229665ca0ab65813c1dcfef36fea4fa5aa9b51812a555c36ad09505cfd19f4564209f436df46ad085dc36e1b33280f7d7a9b5b7a6e276b7c4085360b7d810ffaa7b89d0aea37a7908dde2cd8d2a56d4f282555dcf52b59036c80a398cf004700031c05097483e34fa52403fc66693f7583f469d40d923d415b07dc949c4df1a6025342e0fe5dda7a1c70b3f5a4447f71d280f083240a7442983bf0e70e247bb31dfe9eddf1c0df113af57dd3bfbab262d48d5d730c1932dc6ad718f66eb19ca58ca0a80dfeacb874ab18f47d531a0b8ac17a53d89daddeaaea72d4c55d23d1a5ff5ebc70416feeb9fae57601ba034fb86dbc692083764a96eecb6dd59e9890985793345e5fbe08b9bb5377174093674be3647ef8e2feeeeeeeeeee3f7dba03390abfb9172a3a69133d6732fa45d377da247353d42017a129e09f436f342be952cfd9cc899e5b74eab476a00192feed437d6b9621cc323364b179da974c36a4d08e46a260f714be0cc7812809a13d4910ecb0c75578e0b297812feb603ef820962b4739277a5a4731491634e6d8c4f3656fc71853b422a9f363dfdf037f5bb74896f349f8a0bd99662e2357501ca5b1c8a48f8f1dfa9b69f6e06c5c417174e7aace9eb0848713fbb6a98c863224255d60c3053658df81a3efb2fd10eedb372184fa206982252ba574ab4b971d4a738c53973143989172f7dff37d7cfaf4e93ece62da599edec29948c999789bcd0a5d5de1280240982b0084b96ad1c287de5aac68d1c26785e7e89fe5a0693f74e7f63eed5fbe757205a9f301d982de7c82943913b66dbf806e0401dd08729f931537bf2ad5bcf4aa5b257598eccfdd8db9ab4fbfbc511e6c15e773e7f63ce8f27f3c28a82f5fa80c3a87fa766640f4fd1be501fdfa83fee0833652a0e706c9f86a9de19c31a9f383ffbe079804c13a3285bf4375e187630a8a9b56c9530e5b07b08a9696d514f2b7554af3a0d64a4e80476f537af64a54d14edaae68274e7679cbb169cd636bebf7b3115aa2e56765053e7ef7a05dbe3a82c03168a77381fbf881ee63f2c653fd1bb79240f641f286257528a96d94d2315cb8e8809a46b368968b7e18709dcd0590aba0a527017ee9697264f40f4e4ec7b9adea30e0b839d3cc69b39404b2fd2c59de726c7a072f2f27a72b281baeacc03090a27debe745fbd7087c860d57619f83a59b0a7bce1f7b4e1d49a4907f7e09a66f4ed1f9335c45067b7e09ae62e699844b88168f7973737373737373a3b5d65a6b5dabd56ab55aad6663636363636363238aa2288aa22893c96432994c16866118866148a3d168341a8d367bfaf366b4559cbfae8d36236dfc8af39f8d3e15e72f8e3a93a57b6dff699b77fa0c7a1b81e396385081c89eff43c79e4f93f0ddb4a40d4731677a864199d28ccc9fa44e0773d7f72f5fb4a67c041855577fa6025d668dc111ada333c95bc5f99748d2ef37dba960c8617b8f0a74d9f32595f4c290ab22de9c734e70ce397b74eae7260b0ae6a04b406d4a963fd339075d662250a0382db1b29a4c624829a59452320cc3975159585f4629fd6aa7cf1743b21c6187362d3d7bda97febbf9996b7f43ea9c1d6743d251f6e16803dce128a6001a5f8c5071f367e38b34247bc81238b42c286ac708df8234244bb792f94d05aab8a06dfaf9825de9dff06bf52e196e25922928ae92b926b913b73dc323c084e8ded264cc16355e5725b65335c972e5e4343f6873b1603bd5d3192e423e1f113eda9118f51b3e2daa2e6b6dd32158134200df82a4ef7e8abaeab44dbfcd7d94569def6c94ea9eeda34110fdbbd44bc6663a3b8a49c117be7ca9d2a92ea6a9053133cce7f3f9cf797b51ff858b17b3d68f61e71481f2d49f33c75a52e72a16259fb64697b95c8a9e1daabb2010c581a40b7a9b2c40312b2b07ff7e08f52d6982fdfa9734e109c804dfd1b653c9f0a30731319d9fa953adbdd27966bb62a2c90c7b92e589ed3e5dc7c5180441f0e24ba70f7a823e542cca40874e4173a42535302a73ef8313ab1cb4acb884e574fced07ede6bfa83a1d27752e007e7da0afe48d272781ea5bf286fd4aeaf8fbeefe8dfa20a9e324137edf811fb4c3419759dbc61249296c27732772371c74dda23c6c6d5d0ca698b0770ed5c818f54131679b2d860d70d7a7951fe3be6f71ce3dce0dce9d73b3313689b835a1b068e9597aa6d873cf1cc56cd4f6e7b33bf351b31869da514c1b8661759a4d3982fdd337a798a46180dae58452cada82220ea154c3d25ae67d5d549d0f4945bba03c409467969335699d01519ee95ab692d9c986b73cba74d929b5bbff0d8f15fc4bdab0decfae033d8f946a4dd4e7bc455fb09d2aeac86ed1f3b5bf06c1b7b0846cf53a86850e3824c5a063ce39e774c7800895e153499c415a9a4af486a3449753a92957dc5c72a729362c3b6111cb82820111ddc4046c970fa68cd717a5d4a9a5b587f2504ab5991911b02f8da4450bf7d9e8ed052df373a646c818556b9f52770a5632d7e3fed6ab3b5503f6a3947e8edee86707e46acf53114a3fcfe6105a4080f9bea8bb5b4b7de86d6610c48fdf6f4bce5adb6cffb75b99d315083359b914a0933d33e732eec9f5a40031699d00d962aad62f69daf4081d1881dee6c38041478001a3033d8e627ead083d020c264edce75a6badbf88504a291831531e1f53d09bb5f66f5a5b4b96d6065114505a85ac99aa2d367d1f731497d1b36906dba99860d9e56fa148019c3fa8544d7944b164686c00081014004316000030100a850342c17020e720acfd14000a62944c7648301d4603911c477210c540080200000210420852c6208618663b011882433e0f0790a9bee01deca4f24b8a086e57a728a1553df453c6460b4de4940f68237571f56d1efb54a2461bd48e6d72497665d0c25c69626dc2b1c1b2d6241f76fd1b2998fc123c1b5625cf0d325f3762ba4e0e80ea0c2d534099d9fb1676fb4966df2a745bb0d1aefa56dd0254826aaea92380d5814787a47b7a05ba7513936831a09bda60a8b465fb99b429c6612609ed733c504ac7f98257886f443edcdfdc52477fccbfec4a60dda4354da9cc42c313fe13b585d104a9f5fedb4d7e3cf739cddd3853329a68946f51d6e51b447687ef8e44dcd084281e842469bc156d7c0a6bd01f7890e115feb453dfab1fd2a7d5c6f64eaca1f7a03ef94b167eff881040dbe19c660741281ccdc25eb09da623c6d664cea556cea540a569f1619be9993d9e5a79903060de236d4a58c072621179d7223d8cdb9120b406829fd70a50dd4a5657ef141411a8aa9e5598cc8b628f4c262ced9d8cccff7dabeda89645f20df9513d3b2fe5366963f1f60e1f093cd324005131d5884d46025a694e9bce44262dc99a90c9f01b810391340245c36032cc95588243aa71913e34e14124d13fb38d5caaa4805184832e28651c8a9901266b91c073c90c3d56c8153fc231f8346c5a528e8d44cfded460257cb097d895aa78fe8e30d41ef0ff20a66546593abf211217240e365a20257711054282d5cf82d366458026259d46fbcb8bd64ce59a24e9f351c5437b0fb70801e938da4735e083e9984e665167bf423cfaf930c5c98debb4f70cd5a785eedbf4f0cd517d1a12f01d66393f39dcdfc6a453c4316888a4c446ff0a8d8bce5a8b4160b6bc94bb068f89bcb700eb5b4b5d8f620c6c35e051e23d96984e583b59049a08a46ee118694c4fc715f52ba7fa3ba62bd8e878925495a92ab10c5ca96f069972f96473e3055ac2b8627645afa70934a434e8e70b8b2970d1f873755ced80f32735b8b7cce996abefb11e03411a848205ffdb750f285ba31925511031cabcddb1898ea4c2bfb941e8a2187d50427b65544ee84b4253e98501f3f292ea168410dbc19ffccc0aeed705f7fd12a8857cac073158eaa3a03aa928100184000f0259c3c81d8b823fd0d8c401bb20f34d120749df3b0678167bb994e1483cd65a1a2fe3086e9f56331186f886e38709ed8df1766bd5f24b619f0b180e2883760b0201e3e587b14f2d1a0c8b4da93710cb478741578ac2e0b149875e19cb85da092422000ae293cc5ccd299daacd3d3008665b7107fef5e8b004ddf29a1874f596ee47ed21350b2fc494672d83b207168565d02168c44d58c22b6d0d223c10781fc13b0533fd900b556602501ee1ec8541f0904b72690049ff216fe7d80fbf143f4194dd8b98db20ff8c4f4602cf77f109e54dcdb80c1a0cc9ffaf984b9140b874f5caab77ae9a26cedcc9593dde9dbb912b16e9f2b1804e32c9cc25bedc5d125a2948b4414ab493f9a7ae75b3e1566fec0da65994a9a75ccb604304701c33cb6bbc191b625a87bdff561d28f8d9df6f5c143a87ea3f6713421a64484ba1a8c9af051b143375c84e1eace66211ae744672ac3f33b0f62f41991e792f9f87f6f3b1f9f0f17331a080aba0c552a89e06ebc91fd7ee0189c5d04faf359b1f18b41873ddaefc555c71e1fb1af36b70fd9643007c5a95000ea7f207f701ba10ae76afe5f63547f6d45114d836db0d33e7dbe2bcb0077efbe8a8f582d3b6b0b9590325a15bbc8ba7fa50da55486219b0be26a1804931a4ceb07cc2ff531096219ed43042095db19c51519271162edad57dbf3e75a44c6515eac60b88bfd9c2405eab388baf61696c9b0acaba53e68ec9756b2ab5d1a79a3dd57c20a03aa643059189e8a7dc84f2eb0751ad759fb255a07a72e2dbadbe4c45141c5e4ec4e54ca3c12da1053d212f5d169db6281bc38fe87e7097b8a5e1c1a70beb0639acaf237641ba3f078f632cf53f231c8dac6999a122c1e182696e32ef7125354d179c6f164f13ec58af5954a4b3e9560b83277b227dcfa56fb2afc4969a68d45b391a081ed9da95bb7cbd1c88811363813fd827e7be57ce3c7775e29c3696079b6f0db627c563fff3230869e4faf67825990ab1de4eb376eb0a85530872e6fbdd502156ba6e94dd06c2dcee1841b85c84320d0c1736d928dfcf410a3e0e978f39bb0e02e2628a5de58fb6d59c7d66ad2bfd4394b5a652f36d99ced299d11a475067f449bf118cb06ddaa21a48bb618ab9f05d187de7406dc7d0c7288359180e79250ff8c26eabcde96762593486e5a4362836b4e86018ab990b3b9b512f3391117826b7db371674ccc74d2a0910fd8a8dc8e9499bf6c284d1f9387990c62ca0a7cf2702feeb66f41b3dbdc09852ee5b0e51748ee1437ad717e8523584ccb94b14df449e8b09dc1016127af0d92d28bae4ae5d4188c1f4a686321ca103bc5e83b53b345c5fe4883f50c15d894aa4d3ff41ab0a2ff3303d12c7cf3ad5bd2ccd2ea6e8ee0bcab5e0445433598ca90698250c594b4fd60ff067a5a083df4c03ca4c434ad5e7e1a2d73fb193f494b8adf6658f7f808222a8a59fb85cc1759038edc3a5994c0c050b08a66f302535b4119a641f2ea61c73a67b4485500648c01a78534cf6de1d7eedd45cc51fd50b2322e39e06734690b087cd1b950c4faa823c403264276e0da1c63782210d96c5b2564c8d927d87f33ff1d585b1507e6178b935e0d2d542ff08eebb30b33fb31dc949e969f085534e17684e53d196d49e3e6f270d47f007868b013b9a2019809bdd9a5cf3acac161ba7e679568b955d9497bbb40197c3803fd3e214dbba23ccac9868be4b30d8b024622914f16c660d5d98077f7dca4f49febc83cd2836f8c3f457250305dfe43462778e548ca39351f88298da3a81a18f6cf1464f51ecfbe4baff64692450162261f76c0731ea2b0f0da2de1fdd6e0a3e78a6826cbf6cdbbdcf0b36e40a3868efd426c4764dc6568704772cf4543341d87b0a79741a667c36bb13389c9015d13d6641e221250690e19da5650ec9d1279faf3475f86b0e9b18e86c6637b1eec91ca53e588813535ad3d05172f9fcc885b2439370370a05a39e2d49d0a335a9069e59c528f1d07b1bb527bd330b61622861a47543fcd98a7b4e8c7eab817dfa71dcae16ea38941cce61776d8b6dafcf93dbb409bc3ec0e8f3aa7c52642b3d4c344c6be4db0367cb8798ea174a8e395e423e092a3e7581cce0d9286f19accc2adfe648310cc512db9882d31e74d16c54a5ef76cadd774ffca169f4a07ca3eefa3ef5546eb809fb40518040297a1b13c4458e1f812819cce8e5cc47cc3e1ac1c0ff85877fea5141d798e0abc9e1798dca844405a1c6e6a3076da60260f243633532b4dc42d50b4b78c8585290c8de5ffce3a2511084d6dc05c15cee03169b38b9a862e6b32b1ed1f51e15088a61d3168b80fd7c140edfb1ba88a18b860a4c40cbcf7fb282048c0d0fb6ef9704adcf2a4417245f388ce453ad05a21d54ea043e37c4de3d94c730481d97283fa7cdf1c445e8a83ff88a5db300d298a817e92f84aa0071d147d330395d19c32611cceed85c0ecdfc5bf0ee3aafd4644ae3e2a60e8d37dcd2d189362bc5264b8997f84d9ac074e7337b9bd573af915c962de2381c1e0f8c0178d67e6637424b50fefe964f13d0eae2d7a54f93eb802961f8d1fb46008e045a70c91b87f0174584cea884fab713bb99eaf73727050fd86e2745ebc04501381009391e1d8c1aef2ae5bec564dc025ce9608c82ed209a0b721c685aeda2e0eaa6279e6059a948dd96f7f4cb34006325d46568692db75e3c00b2515f5096124bbb1437970caaed282f9ba650c5d82f93b50b825510fa1f84fc8a1c298f7b050503de602c97ecfea18445de4de599a9cf2fc953592fd3bfa85f8a4967992781d41e98c15a264394f7d6308492bf81e2f7e2a56177369e4ca3e0234e6242a2d26cf658f08a04e303ea070a1b708dccb6e5076781f5f4375231375f50fbccb697ae53563049bd1af96b0914d510bd9718625a754b29714a8e62fd56625073cba1cf283a526f8bc5d159c36aeb6524f561a1ba4131e5673dbd49c25450a98d2b34e40849008e79700f4ae23629b40c02812d66663e14b1064aff4d03117850a379bb684a9e165b5373a7a58695344d1773540515d4b5ba98a767b5dc600c96aa0d6fcb866c9c288703ea1df5579996bc10ccfb8c41c43958857bcf953fb679c402819744947d7779da01cab1a661393f242e474b310319178412a28112e293a21499a2e58e64520e4bf0102f39088b14e2cf75a06960bf61ead637dcc1f69221d488af06df98a75b3a30eb9f0c7025086ce87240cee151838e07296fde9c9047c757ced45c3514d432353028f34b05c94908d47b57f8632843bda6fb20f1d1474bb6b2816a648e252ee814672a521a4099dc2f555f8f0f16756596b1af99ca900737160f85e2f34758a4ee46ec1b54549239d890eb3fee3de540a5d98b5161d6eff4e2929ae434ecc84d5a072adba15d10b37d8e0dd3615a451e2b2e4d1c1335a95a13dd215de5f09c8440d98f597d41285e97cecb1c58dc8892d840478f83e45b0cc48cc9debbe3cb8835d78bbeab39d5caed78e03428bb407710d1a4a1588e4342a90e094835bf2be7b07288af4a345486fd21bd324dc24998d036bb78d2ba3efa95a4f56518c9eddf6d42c317f17eaafb9a698ea5e0557f02257dc8be80b34bfc01d9c048ee52b1817e484946ee1f231205c3f612261e35351d9ce17a90f993013bb897af0d2ca80454e2158721d3e9a91c800cb21d7c5580a32f95728d9170ad4ea7642856772f64234841f486c6bd4cd7de747d672a3afe1a403e236d1db1335beac40f4b9d476bd817833a2723970ddf13bd4d46358a5072cba84d4e60b927162251dcf103aa9bf77f69975aa263405a7db91e0a01a1c17bb6306bf3647703593771e5d4c5a0eb9e3e124f5f9a3a5b008f2805110c72ea6a530898dc3eb760cf24e7bf77869a2b22ce42d02b186d8a14941798d5913097ab48b45f23309a302d7590dd5c9b0f1d5f161bfd7e5c5f31bd09d13b2224177f668c5ffe5458a8a08bb3e86192b1f2cbd7f4f52e9d3e27825d1d6d23e456ba627161edb80c5f0ab128cb1fecf55f74f4e50e3193d97a39c97cfc32944813215a82ecda8f24b1f0625aa156246a4ee6e1cb6955bd30007e4043b29780593c57015aa47eeb1b57f4bf2e171df5c58c75f999f76772236e85cd0605c1e5b702ee1c9d90c5eaca3ed36546457be889450a57982e6aeeba0d8bd132f6a4df838009c6eaeb782b8bd5fd8ccef6b66d2be64380659e46c69c4dd4f8174d29845ed97470b10c1d5630cab090e5e666518bd9b3d24b6e569c460e19e27e4e55c2cfaac3af84b08e3293495fd9301d682a42450614d108194d957b428c1863a3ed80f9ed2af792de9aeef7a174a392438a832ba08a4e9577daec9f00ecb0822bf665e90f7d28555aa1f059aab74b6316f998bcb92c8e721dc8e74a8401f705d3e1ecadd1eeaf7dfcbfef6b8309c64f16adbe68dfa4e71988ae2b12f8826fa02d0470ebfc60fcf0a5a435c8731df6ad3cac23e0675857871f0d5e6035a74ac095024fd22e069eb44bbe47b78ac939ba85add3b07cc9e5a177b62e28b52cb6b37cdddb254fc860bdbb2a4a945981a11debedbaf1879e490d5c6eef038888885aee13dbc0812afc8e2434ab355a121c515c40b781ebba94eae4848226c1900f0c62b024eb8ddcf490633d41001b9057f4bee366aaaa9163779e983c6bb61c9876398430f64c313c060fe72976c804d01a4f361b6dcee179a9c9d06c625f53ea8fb88664a3ad535689341cc66372a55df066bc1fcd924089fec7ea501d0f0ff0f9db159af5dce819861ed5b4906c05cad20c3c41d45b8028713f925665aac64b0a0af9d81626f767ecd4d8a4a0ff671aae38c8a30de3bd56aa91b65679382d8923091ba38cdf9de2935485c490af1ba69bc10f8b07433b5331c8d0d60966c425b60c0a35ac7015a695a2067a8547837ea37dbedf3897620ac3efd6c43e61a3742676fa687a5e91d9f5485aca998df107b8c1b2c5222650bf95f3db4f38bb10314766cd1c1c6572ea093e4657692b4e385c757e1bb39c49eb3747c38e58aac445d0ede2ea05f77a30d27c692a26ca4c19ab8da61146436a5a7d4c63132a21172dc3994b16a6968747d2942a44bcfe6121386c82f83a709c1d10538024b5550094982e8bb89f22859cb736b9c2ffff227f5ae35df4d80c4b54c024b74752ddf835738ff35e375dbcadffeb6caef22bde09e28ca002bf61126b922082cbb6ea66311185c99196b28bc9442892166e04ac6f281b1437d38fc6fef47ec5ddf04f0149295a312887680720c75eb4d04244a36070353eadc4dada65153a6e23aa685f46e168b27d99c826605c6d9a470b764a209fd7fcec5ba3ead64f696eb54f44b3cd9e230a374d6c705557be2c914ac64820cef95791fb23d07220e4603947156c1952a65307d848ec1ac0ba61948b1252bbf4984d0ff1303f841e0b965c4ede8462dc1a71f0aaa9108c96038e384b25829f12d1075920d56e03cc5033ee5155de29bac6d4b59ba7f0bc34de9122204769e693ec462962371e535468005cf5590c323df4c35f70b5ac677fa334b3afb6ef9058ab9e0f6933b7342ab951b6f15fdb14dadc29b8f38a09bac4f9adb4dd8d877e5afeb8aa6ba23540e75b8ceda4c19755cccf14e4e40026b6c0221fe5bf3fe86e9f67794d56f67622b14277eb7a8df2ac2f65e98ed231ca0c35138f17a08b2738c104ad14377ac46744d9e92e9e2c1511a5292ec5718e710fa9d2aa9ddb8ec0be69a409712a0cf77c83d696ff9bbb036632c76a6e2411cb8c25601f7d2180d1ed9b3b833233a32395c8aaf81d7426ecd9bf94597aae7f0fa97c3e294a7a1bf6f552bb3014abd7cb11900039bb90bbd045cc2854835d171a331238811a93dc7f8a40a984895e055053695dc8263f999741108777af2ce2e1514b668769bcb0d7c98b7eb9d451e9475e7105886363b9b85b8196e3f8064f1e2a787fc1f99e5fe78b8dc82343528d24f0a5c97c1180910dfec032e6be134c6cac7e6e3a8e531f82229616f6599c09934260ff7ae53ec9086f7aa80af87e093faa827739e69b620c7671e45068a2b71a89be899a334be06b25e30c8d47fca8091294a34d8010decbf8037781fe3fec0593533c0fcfced0e52d12a621bced0e221a3e4b5106f762306d0561b217d8748e8d665893bc203860461ca8103413574a7af58f043b46c87d335f7dff4bc023d739e12ca45c0d14666f3b05b0df1dfaa38b3e3cb5d95e773e2d39a43424cf8199b0783ed670378fc17ef295f634b30cd4bfca95c59033bb2e46509d452333d8b3b5273e67dc1ab58abc710253be6748b15165a2e5306e390abd1825993918afb3d09f0dab028fdecc859ffce129d1ee7ceb6630bbf57a1568f7763ce1bf6ada4c30cfdfc12d6996f36b754f40e9ca826cfea2f1bacefdab0d745a648481b35bdda5d63d01736a45d7f4250d07d60236e1ac12a5c6dde7ae14b0b01144fb906edb665d2c4a6cc70c3c1904084b8a04a6ff8887907f5b3a3c539a5e754469cbcfd332bc94b4b532e723c8f24b369c5ae4804c59a1addcb296aac3e58619ba35f000f5e1aad26a25537a2edbf85fee2845dce2f8acd7bb5317359726d919c0d0a5294e9f95bb3d56ec23e3773b4da0a803d7156ac5c42c2e8fa4ea1dd1f6fec60bcc453a55ae81aff99dc3e186172f339fc5bcea9d6e5bcf9f2c121f3d1693a6e8d9f25104ccf8b6f71baa488b0ef2078593d065d7d7cc85b48208ab0effa0229736658be595f5e4b0b5c19fc3bdb5b7fff8fead90650c57251082d39b60521e7cb6eb9b1a931e86b2f7539b5d08155d81504cf7911b5bd7bfea59bf0f785bde6f9c12628b25afc24f1a0d6437cca7ee5f9752a57ca4452e5ff11af42a2b493364830116a8de58a4d557ce9924fad90bf15efd2f6e181b166e8c10154c43299214debe119090fe737b3f82eab230eedf6a452f789433dccf5d3efa2285c97b314d6f34be311a20a701f55155ba5699577ac0aaddb5b1540620a9bb92c78ca27bf00277360a90c47bd32f6768b1c240899896a259961dc84787215b9cfc747cd1325f77eb6606c62b0c411cec67187a780b2ce85028959ee3fa73dc4f6a9d70e327b20ec27bf1cc1ba0365720ad31362d4f627cfbfdc02cdf67113fd1a1f91db2db2e5287e1b31f1e97f93531c519a1d598a204a275761706cd76b75af1afed94edbc51f4e8ba8c6c44ec3e8247cb3eb47a0adde71880cdb93b58ed44ea30aba73b0c26a520996f037857017e2a60c6c48620904ff311612762d4e2e895d88217fa13c64768d2e76216a439a0fb9f86759240176a150b450aafc201d13ad4106796b99adc0daddb8e9a4fe665cb9b75ff724540b397c416838db267c658b30eb603b3abff72e8e5597fdc44d2fedd87448590cb301c6a5b13d50186e191d0c997a1940948682965b7430ccbaa5bb45285fb3007aa0a77e99f7000b75834e9aba4652fa660cf0576b41e021f10e79204c0316ca2b21a93e058590cc3c90512c830a02dffae01c57ed60ae1b67381afea5a4ebd5374862c53a861dfc57c7857d22ee054bc034c32d69a985083cd60433f209f38e413650e36c90ee1e06832fc9337061fea954374da18020513d1aa33b5a0a5c0afd560338828dc94b1be4170bca0530b810ffc8aa616f57709bf9079c050078c60299ca1a3fe6405fd007a9d861b55243fe04e3d35279b20a0c058d426e6a3b014e8471a6c7591fc80bbb5549daea0c09529c91263ac91f9071cfad5396fecf80eb86408c1cda90647d4c21fadadc0959f4d05f11af80ef0837617a947d038269be18f928aa0f3b8617e1cd152784b4fc5a90af901f85a0d77b2c87ec09b7aaa4e3681400172b08d4654e5c32aacbfd811c01978702e6809526fc1aae351e152cf63f3a71055d3d437605060ac3601032927f92bb682959ba03025297184eedd338a12f03ab386138a0065007ebb03b227e3f1f5963231140f1b39b86dec157fccdcf61e609a27e4002c6dc8597c73cba9c605f8493ab93c43f848cf383a4514ea19bb02d2d240ef919cabaa61cfe3a17fea5641aa22fd870da5d6396637acee7ea1acba252c8a5dadf01acb7c228e67deaca97840aa374f24e8ba592be2352d496a87ce56e2d5759a334db0ab43d3b946be14f93ab3f503441c6a9a0033487cafcaef7ab6273ad6a839c32d3b1e379f2d954b76f6eb9846318d87a5a6d9f24ece55d6d1f720b3e416fb8c332320e729d74e1d74aef5450b96cc4c6c8686bb18ebf11cf4520e1c7ea9e5f024545016a50b73a9495ef15658f604af394190b0851e5f45a2627aab2bc1b300e0a8cd062cbc938851da40be6266dbc202a469f4fdcf8e8422f354b22c1e442c36c65a198b49c34237e9ff57488b33900b754ef9836dde6da93569d6af50938eb12b73d1aa5b6bc57634410cc5d78de3c0f434cb2c4bad4cbbed645809fb5bf061dc1de44ef5032f95733290057c1d7144a253d8c4d1ad0d1772a3dfda48d31491b0f83f05c1756d3726e0c7e77ce3b9b514232902a403e2a48dab4760640d12ef4b35ed4f4683e4776c3a1792f412372755893237925b109224cbdc64b73cb0a00c668f208042b8e5a164fe3f243635417c0370980e3eba301dd074cc7247c4aa84676bba4f22cedace2f861cfcd18168613ad1495e3a5096eae285de87114ee08d42db86b7d550d72500dd047003ecdab58f4e9eef34829cf9206acec2bdc62751b6a61d3132a18b0b831a7aac3869503124b47765fce488f13ea716eaaccdcfb4cf8dc0ec3e28bb5a5e8ebee79240ae08c433782ad0be1e5592ff56dc75745677b1a827150b9ca70769c523bbb5846a91842dd897106d38ddb5e060dd71ad7e8882227da21b44f51093100aafd00cb6dc7f4ea3c35269de3f95e766821e4c9ba8aec1e62e0a01a7c34b191e9030166b71323b726a008b02337140d9244fcae0f80a71d84d6323e79462c711da60a2d6f91768725fcb34dc850e41d35a866512357852befe38e96838c6e7415bab6b5a163b03775b9e1bd51fe46855baca2815b4169c0fa1be99502d669c6cac23864af3f3932807dd58bbc35aad6c1e96575c3b9e42fc93954f2710e1f28277d4f171bef333732151133da58ca6ccaab2dc42ffc149d571dc3779e26824cc2b051f344741888fe050644849262b05fcd4b5b628052d1370d1e530361f4f7d00bdf5140ff74c6ac04ec9c8d21203ddbf71688ac349d5aabbb69d48857381d407b46ec620aa2adccc49c8d63d2a338550418e20922a2f2325d83d8547d5a858c016cd5c53ef0c1987751514893d475dbda6d9b937c6b08b1d7c1bebfa412b763bc42403bed6dc4f03f6098ef04ff7b117fd746144c66030573c1ab549ecb95dea6f2025ee74be0e17a96098117b0bda02c17cf4812f9055f877056d5ef568e35f74ab4c8a1b7459d58ef9053ea3344558a8fdd6fd750f938d53a6cf674ba06a5f32cb956432d3cc0c4cf3b7d7774e9e7796d0a0ef5bcf34919bc60b055871c578cc0d6eec12db8360229e1abf2775600a649ebc12ed102605d03cd0ae16e50aeb6aa58b33b6b264ed849b33b2991342791dc29a90ebec2571c91d1517c6be190fc8076b3bd1a0482953b2bfb2074fd27e70fed7dfa0a322718dd657646b18d0fbfb0436db5b3bbdaf0cce8afaaf3a3d9dcb756bf4d24e458cea52b51aa0af9286a2287c56f86b729106485e3b65fd0a178836c8a58d854b8b49f079e06548d00deb805e843b71177c94528d3f48001d9f9ef3ab15e4025e8226e7c255d98fdd49dbe3b76978ebdefbe7bdcaee787adb8be47d8501b9b24e2011016f58e1c2b2dd578d4c35681d8fe023e673a9c15de90ef0ca98f29a0603ca95acdb46bf6497357280d5269077a2a5405ccd22f128f771a5b8d7f62bb3eca9cc172b213c49b77218276498f15407c28d5f8d309e9c5f4d6f7078a005ee0777d7e05321aa9713ea76f6b606903067fb7e3f8682a0255106a32344bd97b382f6ff80c5d354a143d503efc3f4ec5464f43374b96dcb94cf242e3578b6914d0a945e517aeec83d847f3078ebe84b2425f2f44941d0e75ad43ebb00ac3a71a511d8f535aaeffd8679baeb6b54129b74c5286639ee6d605d3f6fce60472a773c11852fe3b49b7122847bb86049ac0da7c3cb132cc13f6ff74dc16d41870b3759b42083c1eb30545dd1ea4a177260896e41bda41ff235d35e56ad08f0c5d4762fc7d003b47a0f666e75d59666d686a466ee348db35f0b159713246655971635002e8e54a7308077894bea5ed8416c88f8dd07b2f00171e104c05af7804c322b760d2928d24bd3a69bdcc91129be48eb15f1e1f718b2eb5b09a12cfacbcb2e3ec50f74499b91279792248a11e9e3a96aa4bd12a93654e9e2b5b3c7d7f79d083b00952e1f1552513720358edce8cc9a7ce090d864df341226a7d216ce8482ed6fd0b8fa8b508376168c0aa3e4d56984f9593c2258b5dd61f438dbe95bc60dba715261143ac2db0e9f59a163488969613ea27171f2ece45c5ed062862192048ad4a0ac49eb4e35ac942d2f63118a8c07cb4815126e7252fe49d7a42c4e055131708d87ad63912c171866b5263b29c19392feb8616b34644502d009e06d7678764fb2cfc8b521469f3e39219eb08d96190440751d57af2060cbb6a84066cf827e07b319a7277856af36c02ac72c9957d939c068caeef80354919de42222d5fa397b8a32e9b2af2d747c63c709f320957e9fbeec5683d18e9bc9367b883b4a9f274e50ebc4c8db13ea50236b58580d5092bd734990cdf6766de01434c89a66765b626bf6c4afc9e9be9d5d001c0f731f7f7783f91b4ae59499e069e1b4f865bdcd66d2e00b05b52d3efc09662896b5c4c7c2d6a00e79a2f7e3d29a16ef01e214e8d5a325da10c0bdfafbfac5ae5630668213cfc6e7ae3363872d49438d8faad650d71a63088ec51b51d0e3b3320391ebd793382f7f3dbd9c80166520666ee4e794177aa6372665809b0a35160e1438b5ee7e0ede662a6bdce8d47cffa3f88795c40f4765ecae0c1f2ae5a0d199ece3e29bcb0719f2e56e6a413271668c996da490a6a2f29d915d4d76c42eadeeed6b15831ec871c59ded0f13a7b30c34b639fa49e23dfc1ddf890668b7ddd5a7f5bfb41e487d37b329cb964de32daef953d9213d00c0d9d4a07ab954397c698d9652a22e7351d20a8a1a5d39f5a6c494e6cddc2d2f92ab26c4d7d8a699636f39334d28cb984459bf4865fbc06a24a7d8c8621d63fda93a5728479754b5a9234f63cc3259e9d7063ae558383c25df04dcf7138992249a314e4cd60b0a0589284ef306ce89c9cc723e63619e8dfc4bc7585e3d00e04492a7f8535a549b9057ce890151ffa4117d71f3068ee51da99af7a4683b84006ed934779d98adb4ba51a9fa7378c4cbd0eb6dd099bc1a1fe9703c064ebda54ec47abb536babed54bab6f0c44b5303658bb4858d59a4ab7079aff146fa6bbf68a92988e533e0b263899a5c644a21d2f4b447e43db6b9d3ae9b9253055c1405db2bd009a756c80dbc48ae06fa62b8a65a046730849e325d26628599a797d4be54ae45530722d957d4783457c16306563b8c3409f16971a0efa493fb582fd473e2705dab13ea4c5ec9edc5d264d579a17e8494c181a093a2f0cb9235e6218cc397cf6e7f8fbc77b01ef44d276f58e5e395a886f1e3368fc02483b0f12ce4c09b9d6dab049e4046d3b428ba62d1005e80d54e45dd378c3cf4ee42c9ee36b6f3ff6329070ccb64cfef0c83cdcc67d0f1298ec1f7b203803f06e997273b1ead4f35070db48060134b417401350c4717c9057e1a7280d2650e7e0c3bd06db96f36ed0a667a9ff2ab4668ae233e4b9ba33ce74a2c76e6062c2aa9d0a13672fbcb273e859e373523da159bdbfd97953316110bbc2742a130e905de5ce550ddac0a71591991397ea85ca7980346c71914570e110fa5645c82fb355051a4f3e4c4cd481015ab7370c81d8955041dd0bc4ccff36127949649f871f084aee5121f09baa0bc4cc98f6127742d97f091c0b3a0770d42f67c8e88bbd883b0dc6a07226000030f1ee2a882fc33b973ec5a031b586556e82641d5f0589e665867135ae60a71b19a8ba2c2261f6f3ee0b38552bf50531998f9300e7e766f0c45f5bcdc18e7a222074acb734eb999379a446d7d2ffca4dd247cb3d9aaa8b2f14be58909013ddc969796c68270b92982f138961cb6ada677a69a29c272727eb41e38d94d8757a49d5af5bb330c8bf8cfdec5d90a31e53d594da95804b0d9000e9acb48ac447c2085cdad5d12176b47121f977034cc4a9bf4db22027ef386dc8848e51a9a3765c024cb42c5d312e21e4a2c9cff45bf44d72abff0598ea7f98a2a77ecdf7295a24e70ce2d93595cc7562b4007d995ff1908b3a11b7d16766a61b8d13b8b8d6e8b77c5c973dd46396928d8e785fb9cc450746ea2414ba6647379c86f0561ab33120fdec559999730d0a8327d90958523682653aeb59827b616b49c8cc1f01832e9bf8afadb1c11fd2147825471e113564800e919f55da0968a51852b80400baf3e9d634c8f8b853823822295cfac026609f41810defffec40fd3b0f28e7d421f9ee74e79bf9fb0d500f675091b23883b8c9521ab4ad9f0774acc1f29c62147bbd34929619044914bf0cd7880cfbf0f569b6da64fdba4d3450bc1378e21a3f79534345e59626430b00aba5bdff639e06d3e60f59fa4a56609fd2dd4973375a937963da83222e3c4643c3a67fcb5fc771fcce0271f15582336680fc41c75a91d5b0d3299132ffeacb3b84bf77da5464c50ea9e68beca653f80901fa05c1f9f80e15a03bf022f08da6f34b7db0bd6a6a14a389c1521f86d675bff3604e55d57e74dc7860970f21b3f430f8f1904e0f5b6a8eff353f00651809e9c3c8b5dbc98d0392441149db38b658ebc5262bd5c8839f4c9c9f6cfa5831f311aaed0b452be5503eed1f80b3a6aae625866ffb9b48df08f66164e980cd4520868d448e56c1419c72407952339f7550c1176f8ec24657cdfdcdc89c2bd7d71e03192e9edd2e5f1c6adb30f6b06d2cd75cd78809428036b85949df4338d063bfcadd318c6ce27ee1de0475d208902dcc9eaa389c7dd37772a4f5b2186e11e171c7258cff63c4ba865eba2ee1f6d656a86c0e17b24c49c61e9bb00858b5b590e0b230eb5826f02e1e42e08f07b95c20ddd42bb1c162ddb7fc41881638417f55d285d967621e4431701c7684b94ecbf1d7b8bbfc1ee746b25be9916ae682b235b8041f29502770ec3dc268fcb78306030dba6fc26e7ec53e41b769a0c24d477cccc780200f2dad64aa059ca5a819e4cc22540b6666935ffa5504085df0f349b3fc99c58d6cc81a6084af210c5cfc2ad471906870a50142ed26f314725db93d9e8578b27495344af1747473777555cdcdb07ff5904863ab92fe3d169a847f3984971bb4f7f0b6bd48a10e185b3dc31c0ebf8df1b2440c7d52ea4cf025e9355bc486643e42ae70b8195c8ffcac694a5382ba5348dc138116e94b736e668544819e5487bffaeb6e0aa695d38936b376ec4d431b0c434e91583f8c2e64b0b05484030477ea041283db37c4ebdc1fa81bec2ad873ae4d5bece76a0e60650f6a23f694b9cfa91aef415521b7e92ee183fa7174a4181b8a7b394cd7c465139cebcb96f1a596d8112c84df17a67c0b89935c3215e1d33942620e0a486d4ec2c257b5abf186d887f8f2196450b3cba11acf41455d8e269814bca40e44a6dad265e619fb07c3ab0878e8f2dff46689ce566a0c519ece09dcae57f739a9d1b78627550947b7376253baf8cd356dec5fa2d8f102127d4cfd562e5ce8a896e24c5b9732653aff01a498eb49374d1c3139da9afc47478b1b42b73935118f4a40884d1229b26b5e9b36a0519b7686b0b346af650fccc31b41c5de77ed983cb5b5a1145d96375d8c29ed1fbe25119f6647cc66f4715878d2f27da7b7487eeaa70e214be34e352122cc047949f1cb0927ac5d10db2b29ab9cf9e817d9f3a04a7ceaede809be90ed1713a076f26dc568cdf5fe93d346c826c5255df61518d4da23b273a3d6004b1ed4c524acc6f38b72b447e8e9f8a7dc3fd5449e0d713106bf9d5c0e62c5eaa47680f800b0e6ae0dbd998c3b0327db6712aa3728a983db089ac3f9aa33fc762ac3bfc366ced47b80fff24c2410058d3f048d7802d8f034d4b25d05338998e065131c88a1181a6217b6f2e69737fcaf92b2395583720346e8f2e3ca5d07947441eb2a1fccb81d0bda846951722b4ff6b569b3c530a438b2a359b485cd0356b97a550e0f190d15380f82009840be29fbdfabb990f034f750d1d29f6699a403bd4d4f43406744a4562d3ab274e36b38b2a1c3e54fceebe4f2e168e93eb8727594f7b1a7b718177ab385cab8a6ed984ceca4ce60868aeb2ce71a16a7f61a7933cc76e930f7b7e139471d2126b7fac69b6b5bf4e5cfb5b3284df2357d799546c7f481b387e2b5bda256207a525dc9e64ad49db5f44375c90238266649e9f52d482d2adc78e1fcb985f1da4302a43ec2fdf71472a6d3c98d9be819681f343a4583eff488c97bef844867b775bfec77200a077496945352065541144f7a1864e8407cb896c6faf378d7567bd17a68fe903b0eaa042f3381fbb2a236acdae171a9dd9365c1f5f3619c95f0406fb1176f1446b1d36591b8c7abfd161e928cee53cf42becb1ca6e24b8ee2b3e4b0ec6f20b57ad1aed9c4ff5464a7a7fdc338149d87c29c8b1179e7f66fe1591e4a941ce8cce2cb50f73086ebbe62d1362dd6f9f80db6ad5908119aab82d0375b45a1e9113fb36e898b096b6a2a27d3c51c1a17c393a9ad2053d9cc24d152d026db9e4dc81aea7bb995655c9f0209f034a8f8edf88008b2c4481a159a7eab8f128cc4e1d8c064947e17c51d9007d614355e32c812fd9a8dabd9a479f674969f8ce822b8c6df5eacf98869c6fdd151ec63db69d20c79bae92913f0178729d10dc9374fa010a600ed823ceb80e3f3d19624a7923edb12f3d3e7e3fae6a71260ed6e8e9de23365d76005b3a6596212fb1087c2bbdaedf9c162024a7486ea50baa332e589bb81adcc4cf516a469a96ac79401f66e282196c5d9df883974eaca35dbc633e9e968899f401439a469097bad8c25d6544199bedb06766b0b82a5724ea7939a01286e6e69d6fcdfbe237d9afe1a880ea641d9dedacbb5279217f87336fc5967f865a10b63fdbd183a65ba6d6823eaa86812404ca2e4fc15fd9c5b81f7a16868a853a9ac1b5160084da3b460ea72b744178cdc0126fdb02d65f174ad2696015967f31f937eece3679fa80b00958ad1dffea065da6e86cd5f96ba95a58e8e8f91741bc6a759f46bf74ff6231f06aa60719e84bfeed1f3031a7e5317bc4d52a06cd4e06593d0132b8bc06f8a7c16e2b2d891173a09a1a6a71c9cbf49fb5aeee1c03e2f63c451870a1da6e1b632e24c0c9ffea952e856de75c622eff4be32a338bddd758b3bab6f07023215f75bf1327c8137905c8509ccdf36c0622212b546451a6327e95019d4d94c8685edf7504b0518f5c2faf70a2d16e6268de1094ad978807e678631ec396782ea12d47ee9db451ac6a01770874e86a706eaaa0ec9e9d7323c6cfca1425549c7c4623a5dd064470c5a7449b86f50528385334fe3f6bac064f254fcd562aa99fcd3ea2acd29d1a0661ec0aa3ce59f63823eaece56b044c4f71e3af4ef99bcd69da19c0a5eaa598a2f04addb7df939ab24a7db6f6d02c0b0710971fd2f5f81e177f06629416da35c5d8772c72509077039d8beb0d2cce1da2a04d878d7f9ea861b61fa37a826e52e8108b2244c8315f0c37cfac9c8e80d77b1863853df2e0a65a48337b628ad63ce0f167cc70ce4f46c894bf015aca18992b2148177af39f21f03906e841d2b771b163ebc406335f326a07441c7337b24e476f11d4e1454eff4b53bf16746296efcb185dfa8a32bad7ea48dcf172e11c997a3347e6456d6727dca866e82b78e1694ced00d74bcc320d84da364790fb299798b4eed2ffafad28c413e15fc0c9e4d2888fefdded81b2f2cec2bc57244e0f7e633b5b7aac2e6b0ba002bd27d4303d26f319aaa40634f50eb54ae455af189ca022cb5f71186281eaae08090b5095c187811d7ccb1331441e90cf8efc5d6f6f3eccb2a59a89799cccbf39e967c3b7931b34d4643a526503ae6b429b989602c23aeba9fe8d1205176b1ae9cdbd06bdf164f1a67296363b6f05a2f502f6ff78bdd0459c0228e1086144c4cc9923d7677e40eb84a07ead3b3a04447a0b25ddf9a7d0adac1eb84db358c53f8dfe750982ab6d35476366fe6a7952714dc6dbdb7fcd22bd08e884a22600a2674ec0fe05d3c2ae8402e7d6715f0f2dd61967fd9d6d412737145092077aa61bc2d3fc787367a9358dd0803eccf753286260cd43523a17592dbb72ad19393a89dd8c0d768c73d4c766e5dbbfc0b8c925a928491700112188c35dcdc7a1fb004dac2188d6d5078c88790f2d5c129c32acbb2683d3d5f16872473e011a198be4eacac844e8782cc3e2842b81f1cf1a1a0e897769f11e65023f522418a485d4c73beec78e94be65b2ac27177913205d1398ebfabb4a82420019fe41986b50d5912a70e9aa75a46e59449d9a4e3391944406903469cf4f2f4d2dce5c02df3502a0c3ea32ffe63e6fa76bc0095f2f60d9879713362075a684ab2a0bf1f30a807fd48864cf70c10eaecb6ad771e095c650a8f4f3e124242486a0dd678ff5851da2100cae212b77a645e8ef07c536fa8fcc8d1f9d7282d777e2651166b10d09e47123ce0054dbf74bfa3c890a38b6f86e131f64c55bad24e39853b460c344b4bed15b6b7b41808f02ec72cc948fea3b87ad4a979a377ecdd18c790b907cd2c3529a0c9dac2852c0ac97ac5265d4df4bf416e0fc81f6315b963060c8ed2370e73032ed02eb2ecf16e51dad8201f2bf4c80a8fb69998cd6686543ce0b5dd18ac59407544035c3dcf8d4d0986c779625c901a4da2de6061165849474a14b1a6000fe028360fec59cf52323877a2f55e6c4b05a17b0cb07ed6d7e0247bab6a5be8a9393ee8dc416ed2ec9f20e9b5a2f6e0a049c2d3bceba3bce5cd3deb5ce78bbf2f021894563ad98b407b895c909db8d7586384fa2bd07077ed2d8447831ce00007e1308f16573b630f186f932488be16359a79875a352f7812d2cb2802bc18dd52c692cef2ec8ec2fa4c15052f06b6a88920cbd608045be459299e88728c3e85c59bf378f4951cae52716ac024f70b79051f0c5066c6982609a42646c273676297902c7ea548f53be86c474d5f443c71307378ed55dafdbd56e7411fc294cc5602e30c827a7e6878eb360cfe9c6817adbeeaea809a0e2ba69f60209ac794cf5168f217d401bbb2d473ff4847ee556262c3a85ca567ce62c40a4704ae116eef441cab20743cf3597060313fb0b9843cbc4f166b248c1fc09c46b31fb7cd458e17c362c8a6c93b99e64f2e183d9fb4810332ab70ba803add189ea6362b3ab8e34a63839404af1044025047282a0171272611d14d0fabac4dd4b01c2f6cc552dec5306683da1a19b901d6e469956f91326e05ac46895841fff7a9f6e72d64347f9c6dd599a3b392436656ed322a396e20dcb6e351683295bd15d553f043e1e2a45de6c042239a54f2fd3d64f530002f80b5f4c97a6dde652a08e0cd7d5f80bd93ab8c102da588ff849cf0a7f00a0aa745c8a5e24152d06a2869e1763eb850501c9daf8e69d223ccc19bb31b124d947dc8206755c48af5365b09bd5170759f7fee141d308cf6b89117257b660a8858d67a27ebdee496c927d975ebd08917dc4c97a6350245fdcf2397530a87a2e8c117871adf85c694e491ad950072576dcfb7e499cc6b811b8294eb64485924a9a72f543ea2aabcfa5040b384a89816c335c452f31d72056d1106d1573a42445dd6a36d81c54ff0cb069014b5e98770d2de33213c06a662b1188aa2cd71c0ef818c92ac63c1a8efdb5832a9d8734231a7b4511c292c4e5d0118deb908467751da6e3f541cdbbf815ca27557fe1fc47246b570ece16a0f98cdc9d5102dfc4766c80a954ceb8193c5bb608d1125a3c2812dcac1ee3dc63a599c813387d505cc56bce619bb4edafeb9e406222d76ffc6cf3a715fa50f40145dda62443d8a1ca444d2edaa5a227054557805cfd0a0a1ca1debc1e8127823ddff9b09d80aa34c04817b9a9042708790294f2daedbf1923cad98b183bbc758b822f067974bdd43e1ae5fd9dd8a53cb6342749decb959fe4299af61ba256c24d24296bc6e266e94b6f4edea1971c82ffda7f99b39bbf044f8936087ee6cb919269cf8553fdd6d60d367f848aeea94f8bdfd8459aca445334fc41c7e46a77951d2d3ac207984a73c69c082fcc8c4bafd588ce8fe3983023eca98aa905b51635d437adc15605f576ded950d35c5d21ce44e07eadd4a7034c862ff75a605d2b650fec3bb569a38ff30065404f22828cd9663ff922d1d1685a7fef6cc082cf8bb5d62eb65528d78af5d41a1491d67cab4669822bb603832ada8d323e00f38e876d5421af4989b0777da7807eb8d60edb1b1a60c9088b4f11c82ccac0ebddea6a427a49715c1cea475a393e910de395aea796028391ea8c1e36a70f2501b9433145e36624e4a44359ccb8c36dc02fc9cda86390d65ed28ece2fd229afe1881226f9da4f1581e1e0258022ce09a4c43dc4ae13eafa2fab50ec6fe533433ede5a09dfee48d114a373d0d4e20056870111ef73502373231d005417f2e7e41b1608a49aa70d1f6b2c58cca8d95a7833db1dc1a5cb51963e988e7b331445a230e4e21a51f04c432fd17c66c3c34efabf5e1373a5443d12f3c6b3083ff215cbaf310af716aa63dec005f024d44ee8860e46ac4dd5cd1b87a9cc75df7223fab6ff317f6188201a45ed0feb0aa673e2a748e3f16562840efebb0f577c785c8b8ce8444060009291b65f1a7c84826824867d11da1283589e44f3f5397867e7f1bad41bb8f8a00a4dccd53cca58c4dd489e35e0208743c7412435914ed0d1c98ae865db953e0e7d6b0c6c168bb8820603f2adf270a8dc6bd3036436b2e4a83cf2216d47eb6d99c9bb653f98df13bb456f3efa6575891f4db7ab252abf83652a9ca44b58f9553b45e54b67e118f6c07dcc2e9f2e3dd7211533df5d1838d685faa60dd3e4317f8d6cea4a97ca2d1bfbf6c9985656cd22ba79da8a46fb79a206ce1f8bb103918e963299c63602d31694a0c2e141c9d52328fee9a9e040cc61576705884c2551810074eebcf200f3c4ccaa096f58d5141c4a61d38051f7d95a4b6a83ff79522f695642e5d65ae7728845610b90b8229e13dbacae9377a170b4bb757ac41220c93bb21f4477a9b92ca672bee9133b105ddedf1a83da7443c34b7edb2259a84f43546f28f59b6a767cc081e0d360a286cb6b4bcaae6e905580de5d531dc4950bb87137d1d5adf5ee4e268f53abcb9e532a7de6315ab3df62b1551d68fd8b6ac36f0c659d1d578bed6a09f2508704c04f9f194b948675a916655f4e2d39b1b5a93d5cb23c934e0b3a652c9ed080d86c58d8425b8820897b17861b279fc756b6cae63bc47ad5a1c358ae05cc0868fc61f5ea5dfa8c7c6ef85b8b978fe2a82fa9090c2bfb29691de1f36c80f4bd4677141508668bb538b55e135b76de7753893646388e5241af3dcb6bc0ed9917e370d32abe8905790437b9385102ae8d65790837b9b12535286ca67fb328155686fd5bb8af8c96423240f9538f002ffcff640b9a782cbc9d023e5e4289b5aa0f10414270b78aaad4bd293d50a146ec5bab9422d361c47c2df4ab83c4dd6fb66d0ca37af242dfd637c499f734347b5beff2a24d769e27575de36a04990ae0dbf877c02507b4183ccb409953f4d11add40686096b12a3da3cb4fcf01fb33092881ab2a40427c0988c057c1ab64146a61c838dc618d996657f795daf8662c9b581233b232248dec4e971a3d990192c3dafae766ba7a4af630b8c37158a3e4c4be4a97d035e477b50c3a4674a9f7ada820e1c44723d609acf495d0e057a35c065b77f98305adce0563a7d42d0c30b495411b71764ed963b8a2972e26600d067bcad07f65c066770556b39a77a488590399c13b649afdafd2dfcdbd743284fb9f041d5a1ccc55afd4e0207c321d3425dbd0017806b00102fbdc4fe02cfa5dde1f9244bf87eb5af7d7589508cdc2b99925c8abcfd712e5b7b188cd881b2b572b401e5a85fb95deea4d55d785322ee2a0d028088e54b814be1137f36ead241125db7bfed66076291b351fdeca3658fdd4c0c8ee7b9888bad8a47d5d8afaff8781e224e050c4479201d881e3dd13a72921f6b65871752f6cb56e1217e14019928e823d422c717bccd63d025be022a068abfada236375eb3ce2e7ce73d6bac60fda3c39beba3721b472fff6262c3a0210cc1fd021a251a626f381ad090897fc5033cfd55d57d3e3ff960611a1fac729c75361061a6ee0b8002f16ca644e22d3653226156515fb215364cec24db77fde241652f8afa7b61b5270511362b32c1c6a12637059a29cf2e12c64ac9c2c27518bb4fa687112a643cab36ccbad7c8b6929d1253615194092c62fd70bb916cd08ca49803f9398d1eee1ab13d785964e7ce98299f39d012b46d215c917041e6ed816e07ee34fc2a3d02595b0a93638024869908c18c434df18b3c8c23648bd14f3affb2cb7946c489c087c2ba1cf67fe18db3d93860d19945e499b3ecc7803d3c8c55f286be9939a8fca08413d34ed66279248ec83053a9504a94851073cdf3e26a623d406ec35f43b1c518c2f89ed987801d9fd9d6eebf035939cbe9dd4b2e0a523ec5bd44730f05d332b8d15924a4f88364ead5f8d3109911b3f8630b48015434be8d9eb1f30f4e1ad33224386c28c6e2b93796ea984eed980d7205807db80853273436f15db107b0d08913560e4f32c20ac9861a4189796c5ac3490826a19147af4423389295cbce335f48bba185c218030f46232e7b221baa9b522813250932aa02fa03d0d3e163099099ef02a5ec8d7c64aabfd06538d08569a9d2dc0fcdb5c80b51ec107111c0caf46ef3600029d992d722740e4c98100ec7e4e74eac0b675abd185d3126470ec8852b1cb2e8aca918d5ffbea8f6c4a53450cd1db0ca2f9b55f7d517814c02594f093f023b22e735c0c47a04bf2badf33f3dc5b842574bc121e3d6815374b62b337ad3be6464a450de927af7dc4be075838fc9521d05b06aab0331c399fb3cdf4b42afc6a812ef8ab2832dfc69b7aeb61ac89859f64fa6a4e411df36f44ea5e7e8fb11987d7bffdf8cef4a01a1c248eacc94a617dd2ae643616ea2247c0b8cde8e8db990c9c3da7b4daab1224e9f67bbc50745551e9c9d67a7d0f9a35a6f49f80d7fbc0f4b32f933f0aa141169eb33412aec0c265c7ae0681095df8ce8458f1282246f834cad5a42a1ae3fbc530fb5ef1c5c5e22c45c9aba119179ed5a5062c9c8a7c3f967482d40be72913cc86c13ef387a2f519c2371108e4d4c94537f69444b9ffe0dd02aebca55f80d3e5a4afbbfe0657ef302cd67fb48fda4065b4c6048dbe569d1f9ab6fcc1a7d1d543522865c16e8e1bf3c287ff01af8dc5b77cc8acad2ed88a56ec6326d0e4e2c49170da587e4bf8b0ab8e7dc34ced18cd2f288462e38864511618ea163adf800ff545a1fa69d6a36a18a0215d4b3501cbaa3c39e590bfa4093154d26cf3ec2a0d4fc490ffcee0bd4402b72e32de4b1278176f9466ca4dc943bc4d557c43b08d55e9c8603a31ef576194dcb7e95c329b9eb6772c17412d06bb041b174ce731626b95c37d9a3611b7d8e8ddbe3f93155cdf0de124a96842a013b043fd9faf67b6c30a18ffb2cb24bfd1f2bf9710c6f3b5a675e11a71288bcebd56299aadad2c290c6c70fb9645472fab19c0e1a4d4fe6cd5b8b089117ba1b3a17c8ccb7bbabc92f42859c5a1fd4009c001ff30267e669462911b20a6548342e570671081b1b7073440d62a352722a55bee8906aa8c8188d0be941c227bbcdfc531bc43297b85967910e2a1949ef75f1395708f5b34df29442f0e3a0b657bf6f115d4f4c26df2b7d5bb6a8bb6b78246354c5d04348903daf92e9358409ad5b4c503eae32a8cf07c12b6ddd61bdfcbd5990d3b4abdcb96fcbb6d55dfca5f2214fca5b3312ddf3820d2c09d31bbaa7280bbef529b1114302fe7fb2a15d32ac0a519a90c4634f4f69b751309adf4521391c8eede01f20974095908af972ed22ff0c31b09f1c31b51ffe18de6abbeb9014917e99474916ee9275d704652ea35e037aafe46d608ee4817e93587a2de21042a912e2ed2714610897491de9283ad0a44dee0215da4531496de52047e4ee4a524d525ead2231279e38da43fdd819edd21a4ea503c922dfd8d2c1d8a3a1ad919c9c4677708a15e5d2656f96a051c8d44235b7a0777aa4ce51d1522180370c76f3978dad9d2e18e149bd81448eac21f259c8cee062a042db4d0510535650b7c77ca16d863433ba8196b14c3881d42a8be055901772f5b0e967ffb6d7103147c800c60b0220c5a8ce26596f049112c0225a594649139e1ecf94d290cf5199c80e5bbcf494dd44461c8452dc36bc27ec73a18bef73cef30e6e41e8db8457d02969f7462d09c92a6924a1e5cb40819e908d1929728b0c08023010cfd0235cb803d20c38a1a58989104d00a5e8338e30d30355e6688649c05c4e1cb090c3fe79c73ce396dcc29278d90ce09a9192a3ac1b084565440291f0fb76919c6ae1139391d204284091d9d268a1479c28891287676a44082a40a2a2899a40af42c8ad2305e0181f42f0091c8002f2fd5b4e6b4aa699a6e8842c950d149869661ecdaab4e16456b9420bda3ae0d2184104208219424495fa04a5392a44a5153aa965567555557942c26a962b9f6aa9545493c44a962ce49a24a0ea3e5054b68450594f2f1709b1139391d204284091d9d268a1479c28891287676a4408224074992f8408992213061a284264da0e0c4c914b8c9a2e89c33723049558d151550cac7c36d5a86b16baf5a31a1a3d34491224f183122832859cc394914422850a0408102050a142850a0408102050a142850a0408102050a142850a05028121449499245ad895a93ca89d22942394d92d2493f23fd944eb74469555112957ac2a0a213cbb55715804864809797181898918c923979c01104aeb228698648449120a9b1a2024af978b84dcb3076ed55278b7ac2881119ecec5464c0362e2084b4c19b7a47497082154ed6541fa4a88b4243142587d1f28225b4a2024af978b8cd889c9c0e1021c2848e4e13458a3c61c448143b3b522041928324497ca044c9109830514293265070e2240a0c68b198a44ac46d5a86b16baf5a59947413050439159d44dca66518bbf6aa41f07032811e513a1f585ce087163740364815d1825249ce89b260bcbbe1ef1890df3d25faddf3c1a33a1f46cb0b96d08a0a28e5e3e1362dc351ecec488104490e9224f18112254360c244094d9a40c189932a4489b2052cb0b0aab4aab42c4982d292248a92ac5ae521a6ace4a3d417a0a2a42a0d9f689a2e75cc4d55af286ab5c8f0da60923025b144d9a2a293f4e4c993274f9e3c999ee060f2c38e2612a08212f518bbf6aad54846c9037030f961471309f07012c58849aa667c3cdca66518bbf6aa9545199193a344142755869661ecdaab561625d5f8c8e0c46492aa1b5a5eb084565440291f0fb76919c6aebd6a25051224394892c4074a9414214a8e911750cac7c36d5a86b16baf3a5914133a3a2890819249aa6058422b2aa0948f87dbb40c63d75e153651a4c813468c44b1b3230512245524490243d0ba814e45a7191f0fb76919c6aebdea645146e4e428418408d4f140aa0a4d2a3aa9bc7b59796780d0bb1a2cef6cbc7807d3f22ee606e949cb93174f589e849eac3c5179027a92f2e4f3c4f3847bb23dd19e644f3017d0889c1cd801224420133a3ab08922459e30620446b10377a44082240749926c1f282902640299c017b07620de10525d0812785e08121f1d21bbe86274841e8997d111ea1d859f45511ac62c20901a6a452790f42c2a6b18af8040fa1780486480972718be7b99ea9cea9ca63a55d5a49f5355595635a70703a344caa95001d33b6abeb3a47717f5ee5aef70f54eabefb8ebddc7be03dd772bd83b16fcae257b77ed9ddedec9e0de05c0f34ef479278094773340ef08b0697ca06c519486f10ac893f52f0091c8002f5a8e81c9f24806e707e060f2c38e2641f07032811e513a1f58fcd0620340a01139391d2042840968830eb4217e82a26351142555735ad429a9ca43c46dcdcbc469515435c1e9f0d930f70463dc1311d2f4a649424114c5098b44299202ab272a156dbc8727be31a59474ea396dc42989883831c69c289750a9f7dedf8436bc5f4a29a59472da905d74111520a312fb2dd181164b741065c90d50b0df922a8aecb7a40a8965b2d4d3163c761c887d061fd33747e06fb0c60ef54c767cac6ff07146b3da2b7475c887edd981d89ee9204766b4670ff2e4a581c882683ad36f3471b04ced8c3607274f0cdbea98a6cddca7624b1330963475d180e99c43a854b4f11e2422c6e801c864094b24233811030a842524098108a829a7d022db6fc91450a67012840a7fe51c6017fb3d1a2fc6071f0d1c4592b202ee40ddc4f122657529ebe577c81bd7edef6527925c5cbae06a652c5d245a7160944e3c5199b0021810a4fadd2370278290c28c6017ee131cb50ddc38702019a178f8f92acf4fa03dfdc98ba208f0a4c3963385e98eba930ef9a07dfb8cf64ddf1c997ea3e949cf68972ed535fda2b629c02cf2157335ce78b4815dca8ba6df63b9c3d9d8a3c5019b735e87b7a7c662e62efee22ccb3674e38be517451c75bdc3d5ad2a2595924abed2ddb563d472c68e9fbff14672fa01129010030e4c700512f0e00720b081119a8cc77733766489efb0282727a7082d727246cf3142494ece28e6e4e41891338ad10652ec5067c00c74ac485112355d62d0231738fcb6904191499ad3f4b04ca494f097e5800a68f842163cc085113e100324d2dd01deb93147518262ec407d32a28dce010f469a20490f9ae0640842700208231995d8b20b1b754b292795e2272de08ee26112edf83275072375f7944812484fb0b6df921d223b3950e8bcf71e854122384934462a46f9628c718601cb8a80e1e3b1948f92228d5353919a9fbb4a1b52cab89fdde1c944b8a5d40f87c2f985176d50d025b4720a413e97391fa46413351e5e73421c5fc76d27352016100ba9211743c0f01dc40204923da828184a69248b3aa5ccf15ce6054f3f9f0d5e0c68765006ef600bf6fcc32145803b98130572e0c50c81f790a70049c88b913a92d2893d280c47315f40de86dab8884de98ce0d19897600948f06c9867c9025f46ac7103009e0b0d042c60ce39676c29e70d5b3e525092424d51018eb10a0ca3bce1f25ce20b8013d0032b7a34228f1d2a55c0308bd8a4052d10830a96b88009ba0414dc9217e85021f8b3df122355d0e1054458f0c412174c01062619a5025ff55ce0df7b0f5a3778815858a1027fbfd099b9686342ac928514aa1875a2fde0df2f6fe0ac000b231c388292579af8f939e76b5e763cc6a4803687a7a190cec9882f2f34be44b9f2c4a9eef0945413ca84ce8b48f0ff384ae135852df08e1718217481095b3ad559897104ee6ca4d42f53c34451a6a139d04b40b2276450c0f03672d3694eb08b2e6ce47eb607aa1f8c86b1314998172730a51a0aeab2467ca1e00bccd3322b1c80900631805a4c2278690812a52f86d2395fcc9c8f468c9431be9808dfa301330e8492905a801db100f24517f8228c514ea941d2e5c91d54ab49852bdb12f83d461138def3ea12879a3bab3b2a72e77690b1f1a68fd87e8333daaa0e45d8f534fb3cf66775d09ebdcefca248cb54d358cef28c2c63fdb254eff66ddbf490cfb9ab85b05e3f65283cb7f4c7a393d8be9d9a7407800d5fb77c04dcb61ca97e8f8611367cd5018e979adbb6736fc8f64043b8ed9cc61a24b35821a957862c95b6feeced65e21b3d96c7eb3738a3eb35ceebeec7ae9ac6666e21a677d606ae4b9fcfeeb8f4f52138a34b0fc16ef57b2e9da585984e41713f49d8d5495c9797b68ac017256fd8f94be34f235864ccc02efb15e08220955d77ec8b4608eb1df521e48662feedea08f91b9c91fccc1ba02e2d0e3b9080a3e9d3113839a3236e88e8820750be500634a8a18b91fc109c91d443a44f5a0b615dee2a43412f65228e785d8c88a88ca84e427ec8bcd4f0e91b6b054e4c610212f0800846464f0e911f32044489a091a660cf0fa1935eba5022fc24a60f9126893ee932e7293c125f1558ec4ec67e3083d91545524fcd24fe11610c4d62ce861000c29cc20e93dd7135ba17ee48d5e1fdbdf7b278bd8c1f8d24bb6359b9c16f49153b9b02652f06eef868e3c538916489fa9ecb03920468243f3f84fe0005e87076f7fe10f04ef37b08e86e76f7b0780a6fa8bb1f43a4cb0fa153ea2440a321f25327418d860c91f490f7864cbafbb1bb5780379a3b408a88e764470d439870852bd670647473041e12312355a2be0843fda00837e87783e2a4698a24f1b2b7b0c6bb0182baaba160c626c0f0f032d9f7828e33d282f0fcf39994835260b63dd4339e7ffed137dc3d3823a8bb976dad7d36f82d996267db1c76bbb0ac1d3bc6f8de7b1ddebec7d976cbdddcdbcd5ace24762de3ec4c1b00da80dde6aec6c62e2331a667bc403677cf490d9c9d6de105aa2c6d435f666451145123f9b248598193c05912aafd8e4084c97e47209264c760dbfd8e40e4031bfe7a19a86fbfb9a40a2752e827534339f683504e0554e1514292244972e2444809ca2244c7b2028582142b301286106c4127055a884c38e189eb042449a4249c40074d928881063418425c02084ec082c589101d2524499290b8f58422242a49941a21822b4a10062e8820053a50a0aaa044c25214b2446a82113e90841b4c2d2c31210ca43348b94327a59a084b4c25c072bf255430d9f0b8a37eb0c48454540103f9b7a59438ec805e8808783171bf0780fd5eec77cf7ba7aab03bd13b0e2712421192a8232bf06e402e20ee3005861a6111ef60125c5c3052dd37854da0199e4b7c1154123bc625903c1af1180c185e272260872db327f2d06c49e347836616d892c23f709ca2a851b51272541bfee5e54ac0dd8b0d49c036c83800870d1c8b0c094c5ab3e5610fd89e522289113e2ada90718a6f09a5ac734798e18e3146239215f11bc386a76a13603c1a571c460d18182fe65dd5f4a49e7094851578a03e7943a2a3d168ca529e73d48415f5bd98e9c5c4572c4af8e4c691204c5261bce013cd2977bd543f88845d42aa96b8c174c112740957d85212ffa980810e28af41074948c2066a9841156208aed04216259028494ae2087a2a4949484a2ca1a209a90b69ce29823d279c54e0badf122a88ec4952518494840b1a5838d467eca953aa67ae57fac6faf59b7a7b9c1194c719499f263d535dea9bf8ea37f254bd7499d3b4ffe18d2c8d331ad9777887a6e38c768426bd43888f1e3ca4cb84482a0aeae8cc96225e2e25f692b7727c95f18c730af372669ed2373e9e7479d2a5e508785e1e99a96e8ec4dfcc505a245d28a5d7f046d3291de448101d0282ba754b07a9349e3e437daaa89beb50a40ec4f48afaa44391d2a18833a2f391f6902ef4534e123584d9947ecbc1f13c68072abccba33159f69337e4e367e4a3be3922fd464a7a469ed237212078d0c5686281902d86a02467241f758802216f8248010d4a4ca12467247588ea1dd52998ef7ef2c68b155554c0f2934e517e912ef3530655812111900e303cdc9d48248d80674c51ccef2f531c8845143d1929c444a38c17a307ea9321a9097a31773f1cd265fe08f88dacbf48972333f1d56f8eccc8c7df1c99a12e6fe99b0b4b9719f58dd4374f33b9a68cba7bc921faea6f74e510d58fbf7490517d4c26e938e67998f63c1021f1c647c9cc7c5aecf9d2b0e724d179074cf9eb40c85f3a48d54766a8c75b3a0810f1950e4269ac2382faa4579f915e1dbe9a4ee99bead271468fa242550e41ea331545ddd2379791f08d280c05dc81267d94227db43165cc983142a9d359fe2a0d5114cc12191f36f1c653a223dd01d1c65b7203245b628290a8c5156549122676f7b2d81235d1245bfa0ce938c8624b35b6f4f7031c5147c073aac719d1eaf533d5eb7ca529f94ae38ca8ee6ce6a675d7288a22e9108aa4cd416d19512459aa61a2167027a39311f2a11e1e887aa8831c9981af1e24be6a20aa5b3a08b43b8703933efe511df241ba3c10d3a30ea2831c99899f1e64045fa99a631881a54f0fd1e38c40d2653e44f50e213823dc52047ed9216fc81ed5e76164e6cb9e72247daa967419553a44f54b932d07bfbccc4ff9491758448b18e5121335271d643a9d7408fe654475489efe8d82844252ef90ac1045f945bac4cf0caa228274902312c1212fc67e7294982a347b65c041abc14687800d53b6c0160779c9fef046176e3c44ba48b67a8d138cb7c3c1a1b2211fecb1cfd0e3d70947213fdde6d0f4379aa498b8902f7bba5abafd107a2560eb1583912ed3b1fca44b0c23f076ee21799c512c225da687a4de2124ee4897e9d18874998e338a3ad2a5a588e940e48dec93f6e990c8e4f9f498242a79c807e9f63ce81b6de78e09f9e89054b2a7bf914787a48e48a2687a1c8daa157044329dcb40a4cbf42d5fa1eb0232fd663acc813bd006f1860a929c9c9c2246d3a1101b139ca6094ebf6444323dda603a3cf2684c476039e9503de60387bc91e950d5211fecb103618fe9204766e8ef8348980e427fff46d3794c42c0e2077b00fb09c10a42f60405ae971145f3551f67b1a763b3ea3c1b6a35c43f1993a6894da4685581821c2914810299b205e6ac8ef9d08ba2ee29918c008318ecee29992023601d32a228eee4e065c68b48c483f962220d601218548b0b2e34f0803c1ad2b9266026441b3c7ac0542f06da08d01cec869ac7a321dd1302dcc11d2ea44b1009f007860051c3960e99f062de968cc02e6c090b5b8253d812cc151485310874b853c4c87604c2e0dd80813ba01e6c090652d1551b3e2e9ea5d7714630e403f5ea33d4abc757fae648d433d52f7d63bdfa4d0dc58b2e306305f5d579b3bbf98bc3a4f84ad7c468b2438b5daa18d6f3ddc66cc214fee0d3e363af384bafae395f591df438741f84ca430f82e52b9f1bcb74e8ea8c25fb8aa6d9a7c4f97d9a30465d18cd308b4f433ea83cf41995fad0fd4cbdd9ab6aa9ab5fa2e866d38bb5b831b6891b5ff8c21c8665f71e1fe3eecdb00a6fb63667c65709628566fa596daa3c88908a0e62056e6fea9728ba7ada89da4b7f2986ebcc280dc53b2db51186ecb77398db6cc46f0751f65ba24487075cec3a2f2c744379e52a3984f34c085fe5599e5979e837fbb0821fbac4fa258a264b433e84bef29910f615fda4cb8c8a7681987e89a2484511d52f51642f1b2037747e620a141fbbaa5c10c518ebce4776ff32f1c417540302d937a9f7288cf1afa95d47466d76edb50c5b4c339c43d9eb314575785f1dcaac8f8d6f75e7634f0d741dd7803606ededc2174ef978eeb5f5da3aa9ecb2c35bd34e552d77207cf57db9393bc52b985e6562205096bb1a10c8c7bedfaee1158d6157b32e48f3a159ba06e403040225d9e163bf3fea5d11c5153200ed21de15515c11834fcc5c10b17a5dd772a6bbb971764d5fb86ed9afd63459eee6a5b1c4d95bee6eb6949203c9944bdd7da28cd8e7b14c3df732bb3cb53ae6311df8f558562fec1763bf4ea5f60943f5f2f73387aace815f9f8576c0afc737377b6212367337afe9534cd36cc7716a9bb8373d3b9b28e7b1940fe7e138ecd7eb95b14b5e585e5262d72bbeac6b5e9ff966cb4d07fe7d9631dd4d6873d07487b3b503b9fa8a22ec5ab6d76fde7e9f692a8a30ec37775347a6e72573675d56761cf1b7d3d8c4bdbde3fe8e3dcbd72bce34d9cc7447c4ce7ea98da91cff452c23efdb1977ea9b1e02eeeb38bfcde53927f72bc776afe32c77371bbbc772762de39bedb3dcd9445caf79e59b1c585f57ae77c67bc53daf296d805c3792ca9973b36da08c291183a14a203bb396a21d906b8fa3089fe60c1fe34fabc3525194e5b7eb9b174771d7a7a63cdb3fda1fc5d1db2c597bcf9c93da486ae389ebf6ecd26a7c09631d906df1a539749f852e904d5f6d57ed468fe91845606b35cdf64cd378b28ddcf63377544f6d3df4f6a35df6f8155b8c337b6c71861f45d9474d8ad26cfde60ec8be37841cc18ec447202a07ecf81e53d165ce8880f92d77d4c6f48b224b331b9a4efb3bc6ba8bdbbe5eaac3fd86bb1f1bd359768c1d945f74c92e23b74c23c43404dcdcdfbe39c0edd143c06d27adb7d9732be7f0bcdb6379bbc7793b97b12d67bad3b48dc4ee6dce806cfc9b7364d6e67acc46daebe3c7a38400b26de2eec213b190aa5d7c4b77df969453eace3a761969d1d4432b932fd317831e963b1b5aa7ade4af1de0de2e9fede13a77a9fd73a93b0f7599685dbe5a995ad639f96b62427c0fb1b2ad5b8b69ebd33ad68e5d5af5f25466afa15b7388a230ee40db0a5d8de361c76edf63d7692f59daeb331da3085cb50da5da2d4da31dd334dc2d1bbaadaa6de8d6249783d34feaceb37dca5fdb26eb2d0bbbf47a6bd35d902d3f7ba8d62da6bb29ad97634ae90496d17a55fde6aec7be979b96e1bff72d452fd862f9fa031dfb7bf8ef719ba6ed336ba5eebeedadcaba8cbc32b14ecbfa94f65612d85e0e712f554d63e13c7c9bbb1e5bd6cb6c8f6deeae9e6e75d67c9db9eb21e7ad0db5d6ab6543f765c15d55d0884c8ffd26b53984e8b16d6603ba8846a8f635773c76c5e636b9e999138b2ec63cf6d4dd7d7619b9c31e4e3ae9a4937ab88d52dbd588ecc7e3b93e1a77508ac71e577befb5cf46ad0e7cab237bbdfdbcf3ce3befbc99aeb7a736df6fb9b3dcebe5a518ea10761ac29e1d5314c6d686309d23d355773c36fdb5973bc69afbd534dcaba6d17ea968739aa6afcfe92f28c5f3f178f0efebf5e07bab3dfef5e07b5bafcd6159c772c76363369e0c166dd2d79963fb8b229c31d1b17d47c67ef3652f299d73dea33b102752c933ead8b4a846643186b1c57f16639a3bd1e6b1afe5d9404fb140fbdea3bbeffb2de5a379f4a5cbf69b3bed13c69edfccdd937370eff7d8f62c773cb0b6a758dc59ee345d23b23877f536fbcd3c367e9673d8df534a8fd1ae468459d1be6c86dbaadac221b21f0fb9731cc00445c04274001314410b9e2c62c603b7e7c430ddd5eca93bfaeb32f2d90760a7b9d2dc43ba6dd8359d61d8b18dbd0a6903aad8f31e19ec79ee751effd83672d3709f5477a053b607cfa7c6f8299fbafb9c8aa2a9399a7becf7f4f566e9f0580f50b0b1db1e28b1e73d39b2cfebf3d4eac07e8780b13180b3afdfd34aeba5efe7efe7ebb3dc5d7f979607fcecd2e2801b1fcbdd7dd5f3a2796ec7a0ed817eea50f6f97a2c87b25fc7b477d4beda4399c6f1aed75fec3577357b5e9f2af64dc7280263f3f855d3e0679ac61ebb4cbcf2ccddd535dcc67aee008f3d90b691dbf3143d3fda466e4ec7e47247c49ef7d82b96317a893a0aec4beed943a727a72f8b8335b14b77f43612bba4136948c3935687b5af63d9ba96bb9aad5dbeb8e1bd6daf1b0fd85fa42c943e1369bfd95e2a37cbf4c5db661dee4bd358af392c5d9f4ceca1c2fe2c7699085f9728c962d76399ee7257b3efb7e363ad7dcb2f8a34dde17def5fa42adf36dd51fb5ebb4a7ed145d332f2e60e7f7a9687805bbb340df69a037bad7bfba6bb1a6e637fbfd995bb9a8de97b9a2f1979e50eeb1aaebeabc700cec67ee50e42e0edbbe96fa6efb84d6d0ed8affaea57ee88d855ab0153bbabe1f6d51d11bbfebdabe1b6fdab1956b97340c7a366bf294dfab25003131c61c3a96bb83d04dc300b35308111760ecf969fa8b1a0be5861c078313060b4b4bc9896964723e6c58b47838525147a31a1d0caca8b5959515179312a2a20d08b018152525e4c4acae7f3623e1f8fe7c5783c1cf762386edb5eccb669da8bd1b44723c66419c62f06630c7b311876ef8bb9f7d18831d63e1ad7f568c4985a2debc55856553d1a3086a2a6e9c54c9324bd182938872cac73bc28c2300dd38e35ae7ab6946ddbb61f94acd931eca0994511e6b839b76dbb17639c65598675a781b28fbbcd1cf3070e3f72d0695d36d3daf13226608fd98bd9779665a0c70c7a96678c31c6992056aef2aa324dd3294a85aaea644d544ef99425a9e62aaf95fc4694a21495534e65e953dc29f9c92cbb9559fdd1524b2bea4eb4df3595afbcae5c5a1d588511ceb992dfa8aa3c1d98b6b3aa70a05ea59563ee7aec78e57b459bab5f06803654b77257634b87d933be586798dd7bcd8cebf3d21dce8bebfa64a92c0ed5b2582ed91e5e6495c36861d97e6f59ddc520acdccdd896655996756f6fadbcb23aaeabad68caeab8402ba05fa0eb4ab9b64da14f01f1a0f2cf46ad4bf77e52fa6cfd855df976ab43f4f69f6f3944cf7dc3a60e51cde96e666fffe86e66666393d57143a14cbb6475dc949b12ca1dce0e1d5a1c42aff25eeda1edca2954e532715bb13a544e358dca3f9a2653959a193be7c8fa5ddbc8fde22dda466e96cfbfd01ddc2c97892cd6e763711e8bfbe794c5fac416877acbfa68cea3bb69d16959955a96655995fb277733fbc3e90ec73a018e95cd313fb9ab993127bb03dca1dab4d24c537fcdc898659bb6695a8558a517cdd7abbdae571e60b1533e5fdf477738fb33432492214363d99a07e4c92f8ab48edbdab3a93d86e718c7b8c7a33b2a467e5153f9f44f1e02ee954f9aa6fe3a9d3647fda51f63e53377335b7b8d21458bc3f6aa69967dcb1dcede5ee5a5b7cbc45016cab06f15b3d7f2fc4aa7a26b66483608fd18af311ead8e940a23948931f21bd95c411a5a1d297a5678e9fc46a09c92ebbb34ee1a4ef62a3f1f1dc2f1f6e73abcfd39cea6b9f3e46e6ecfb9fcc95cdefeac0767cf6c43f7a60d006dd04e735743cbd8335c3363cfbfab6dd5b0da99d9ef8f220010b07832830040c0620a30a256e21e47d1cdf3b244d8f3f16c5cdd282604b58760d918c0d936b3aeeb86f067081f7b086beb6ed6f6b1b8aa79344dc3300d9bd18686f1b15c2f2d4bee341d4ec92fbadc7b7f6c9b65db5fbc91f26ad3dd537eec4c77d85ece46e278dab7acd19bbd634af1af6c4f81d86b2d1f5072115fa1622bacb082eac8aa64756418536babcd4e9f65565861851559866ba6c3fe3e3b96d9991ddbecde5a9f9de6c86e7f5fd59b6599cdb22ccb329b6536b3c20a2bb22ca35607a694529a65945a91b38c665791919852bac52c631919b71556586171b036e790d83196e11c14fb0bea9371e775e9eec7b5f0beb0ebb2acdbd94c2bc5e3d1523e95f35cb74e5fadebfa27e5ba1584ca41b7f0b57a464583b4c5aedc59bfd6752b773fb6855d3984ddfec23a84e9196dddee7a76699bb9efd534dbe7d7dc97a56de6e7fa6829a7bf2ae749f1783cf77a2ed6613ab5051d9b2f08907ef281666733ed297903746a6aa7e93250a6a4cbdc36dd11b1b773efb13156753e40f94917dbe3e349f9c7e3d15d8f6d816c4c77d9f13d07651fd92f87fff6a6d94c505601dde6eec7bed76fc68eb3bdb52e5056f995bb1f332ada66ce80b4cde4f103fed836f26565c03cf3d6bb7196e5e1f0a6dd6c62d885719472d683b9eaa1ffd0aabb1a513d9db75e1886d15fc7b05a6bd5214d5fcf9efdfac568bd34f897a6f1fc8a44d7ce5f500aa5f4d24be9a59f946277d23b29a594d22d773cf6768969dabd96b767d95eda07f4f168f85ee57eeaae4684bd0b9b136b1cf7f1604d65f210f1d8738aaecbe3dedbd5886a44a22986aae50ec7d6b20e4785d9d315bdbce0d8d923a5dda75fda944d1376efbdd8a463480da6de6d9a364ec31b3e26dd4fecf2344f3ae9a4934e8a4dbf791ecb1dcc9e6658f40b0d02e13c64faf42b779707edd7e1747a699ace4df7bcd20bcf1deaef943b1c7bc2266cc2266cc226ecfacdf8f0defc22ebeb332ff4f50ce3c1636396bfc87ac8a55f681c1bc78b03571dda274da3fdd234dca7df5c03b3274cd7c0506ee2e6a4bb143d3f9e6dc2e844f19da6cb44ba4d779a263aa7699aa6abd68b63678794bc917f9176fa1a2da7bfbc11e393ce1eb4bfe5d85934ce9ef665cb35a2685ecb18c62dcf3dbc44118401e3fa3330b48ec172189f69f95960b45ce3902e93c280f199176781a187bcd02c1a46bacc18f9b9136d986bbaf7fee63b613a1c9b5250ca3f56e82079237fe56365a14c4573a0f99233cc95f74a2bbfad3b98f30f23b7fc45d667c93176c881beb8fe1096c77871fd1996c780f1fc1918cf30f29f3fd37218cf1fd21243e7b86187c3f660750cfd179f897196b7b400e0325a404300a065689a611c8725c7c82cd7f9c561767d75affb0aed0e2f5144b1cbc4ffc587b49ce57ff199eb179f69d167794b4b8ceb16d090185a6bbc9fc57428e443fe3f03e32dcffafa49972130748b7ed2050667cbc4179925bf06c6098efd4ee14986109878018c0c2130e102950880272a97759d5ed7afcbb2ae4bab340f9769bfa40fb674d863b72eab2f2cbbbda4d675e10ec8b62ecc9e62b7b798857dcab09565b79895498f054ad13e9a6669d675d90abbf54bab2c8dd9abba28909523f191cab3570cb3f63d1ab6661901f32af9087e34a6ae6e5596555dd57c31f7d8b1b5dfb6f96860bab39986fbdb94d31d119bbb07773f36fe7b31d9efe7eace66df5b1a5677371fddfdd8f79905fdbd98ea1f90ee80a4e41fdb7e7477b3afeeb4e367afb2cdb6bad38ebd7bb2bfcde5b76d7e5bcb36725b966559216017f658c632f2d7ba806c0cbbcd42c02ef665ddcab295ae2e13e1674d1398cd34ec79c11804fa45a21d173bdc38ebf3b13c1cdeb40ceb6a5eb03729953fca03fa94f6d8e72be6f95cabc31e0b82e5a1bf604c4355cfb0e8592dbdf6f4ea90f6fb7a9b43dab35b0cc3309168534dcf3ce952ffa4cb8e6d5f755731bb619a06632f1bfbcdd8837954300cbb17fbc5eaddd17de299d09f74815306117a0fe962597e3d297ff206e82c209c894e8308bd48978861f43e655b3996374297292a2916f727370dd21df5f1fc229174b1db96675874c8e66ec7a6598675cd0bf65066f9cddd8e19161db2352f7626a46fcd0b115a18d9b1df1f25802ba268c28b00ae88e28a0d0f8a9f32d42723bbcdddcdb60fa124a824cb5b4793562a562200000004f315002028100a86c321d17040901319fd14800e829e4a6c4a960a832049511005418c250902c680010003022222a3b1047ef28b8d00aa7b6bf844d17b6c40621c81b8c899723ee57820b0af8412e99fd34038d0e3f9675ae8c7e86d43ae687ec08f9e12958c506ad7f3d68d34e4443fc8a164c4f326af7c8bab2e177545924a69e24dca3fe1ba308e0cf652bf4569c02fca64c8e541800f01b23c36224d900904a64a0e0e3a4231ca10d2a2349a7b782570ac4cee4d05203bf67dfb2671cf3f41673577fcf71f1341f7a1fdee7f9e77b7b08b739eddb30abd204d70fa8b2a7344296f79898009a051c1688310185e6cd95685784d7704a2ee17b5e2e43b34dd1b6f9755a98c060a921b88df55513d6199993399691295f0c7d95913366432658725a7105e10dd5831c69ca45b009d7820783ec640c13e861581eb77636c923c0a3b0b743833251d8fe8179400d31e0b83d1edcabed83dbda0a3eeda52358b6270fd8d15ffd0d9757a7e3c92c5e386ebc471db90ed4c914f87e31593cc05865d85547a1d76d391ac04f8102645a7bde3ef645c1d73a1335746305066b1fe9c10e86df2066b42d0d037e72592dab1aa6634ca02636e1c2cf1b5eda6302b4585e16d1789a83fed253840bad977a712bf5627f6ca0bcd7bab1cb3a7113d993272f15c353a4d96881d8e29ef1d76fc9fc45f8e5553b5dbc1a15c3289c28a0125da089579702885c2202d1e607c9ec71b1fcad05746c6c6435bb76973e78082c8c3a26696194719870212d9367ca213b83b17529233a032773a3b1084880daa388df9204045c35b5498040c871f2d857ccdfea2b5e0415a60aeb90b054da9464a027be9bc9d44a2d39e285aee7c1975e5242c1c8b7c5ecf33c7a997ba35c03e98ef09ee3ba434bf85e25b910db6cf95f5ab6be3da183be0e2a54eb5c2d7ef09aa4ab2cdee682875fd3b9be7ae6b3429ba59cd31bdb6240adb949ea2d584a121778efc0f07c57b2165d1a6a5cf0abf9cf8d7e8af90f281c84e8d9ede91c95a82ea4b95a1a39d48a2f5405df5ba16f60bf2470eb29a271a17e722444655695e5715b8dc443a3265cc957b8f6b3ee70e1a6f921043d961cac4eb3ecf2c04dc7398db1f227f60fd224e6594debb7edce039071d8660487e2d030eefe87eb97b543782ec2084d601d1557c9e534fd7b70ecd877b8579bca6c873d5cc38c04d854889bdb3eb4e391f22b63ca0642cd05ae4c495e8011c7c82ecb84701fc005d4665f578a70524e00cc0d1b270287931959f6d2e1d1d812a9a38ea9644eeae63a2abf271bb8a780e2ca81d764694f73b37d1f1d158f4e7cd569929afaf3420cb116c255cb4f657b63c123b6900364caf95107d3b5036399526049d771038755a5183fb8994f700ba8bb7b9c615eb569575af47bd0c133b98d8df74958344afd3ad3cca0ff65f3378dbd96c5e4943b99a0b3ecf3655a0c053b08ac66d851aae17487506de535c11a157e0b2345adb47eada4240dc0c1fb25cafb9ffe732a46c5f61c1955b4c1a8c7d6781e91aa0bb2fc1da2a2a7c9873f07d2ac5c089b01a487e332d776c3f8182809f66c09a726d402a80834cd2710f20bed03897fdf04675d5776bb1368fa277e70df8d6d8191329852097b240fbba4ee75d47e8a92efbf56b5100decf6f49a67859d5f372bbac8e735902e79af6199955cd424626e9462333bafcdec236052017a37a7b7becc66f6ae5a6f46b407712d38bc73681d009fbc78d6bb8985dba49c2ca7ec480fa3c94e3fc2e025e6ded9089a3b06b15ce0de518add7285be59585cc56c9d5a666d8e4ff9dd38a1847e71498ff03cf045b55fa3121fa5df3b5e9ea4d50fc57e2ef31752e9eedcc54e92391b23267571b25094c97824fd6e1bfda6167b84c4d7ada295b8eea3c81747e20cee94f70ef5587d53913e6234748ab59919d02c8a98c4e2d4a6a4457f324096a9dc93cec7979ccf321c33dfa7771436790f4ac617a46461a4e560d09aa164ceee3869d03bd071e0c591c345f9dcacbd773fe8b6d9ee35760b5b1889ca711f6af95d0698f147355e5cd7bc12b7f0ad1d9c8aab8542560b2e69ea606d656548ecc11043ceb4e00d46520fb140200cf83279e0b02e51542572643f198261767699f3f94a84463e722a6b49268d918aed85a8cd4ebfc92a4cfd46635e79f0845844377b60dc5f813695a9d7147a249f54682763ae1e2c594d9c02702f7177a8e5f3a4dfc109cab4d54f14d93ce5a41906af5d58d8a223e3b5cd41463ee9fac64a551782c96afae33bcae77508b6c361c1c4c8418923423916638ec90415022c6ec61de637a032bb392152f1b7df15c6419f403f8d98030149157d6f5cb1d408c6e5fd00eab38ac848d1bf74428648edd127983fc4576b4f95e21872844ed5f292aecf5b38ec2f0c3618849997467b6333bf99901267efae77656fc851ba61f15759210abc00a1f465976a7f18b0c769c583346d14ff586202d028e6147a9db7311ad0de1bc42ef5200d432bca8ee9762b0c56f67a240e7cbd0220742159dbe60235669109b0ba121541641ae7b2fa67e19cb950a34376bc089fbd06059d856cf6e188f7b5b6e8b1bbc9a16bcf9b8e5ae76082572c646192bc6823438c963798354c92d1a12555ae1b8de00dd03b4cc15a8039bb6eb6ac0dfa5461bc9353818a03f8cb061402936c83f0bd9986ef84171e467b37487a1bc09911bc6ae1368fa854d5bd246a683646efa2466276e80fe33b467e37245fa35edf2078bae35a0b3da5c61de7abed68c1b9f425d6e7e0f0ae8cee919eb5f784771fcbdd7dc6b0cc692616b7217849297dc8b2f7d5f8a646baa4f0e541e9998b56b22caf27b2704d20791ab736222b0a73577f81b4b1b315c4055a4bd1708993d74fe9e406c477864ff4796d7e9ab2169b0c08868bf3d5588baa4279fc4af33c3967821ae8410b5aed9118e83724310bcc359eb5117ff4dd31228055a1a7aef39d94749a3db1aa46401902a16c190b8b160f52211a361316400f7bb51ffab51c32c32cc4d38d0804b42d9fc2cc261ef91891511636aaf4a1f5f9c3815030a559a171dfba57b63d60a06483cd36c12d282b21e0590b6e3199b57a712eaed3a83e154b6f9d7658067980cee11d1939f23cf026cf652a0ed4aaba29e34e786724c949178424d5709219710c7a71473683047587e32580e9845681bcd772e1692cda0f8ec2ac033d73f544dfda62fb853e9949ec219834f1bfd80ce109cbe472e3f25778b5cbdf5b52226e45a673438d7f53a9d726d55332dce7d6af93b7094bc3e1ab4d7996579188f9dd174a25bfa6e71afc67c89bd1ad326bd6c1ca76d5e6705c5cb8cd94becab0628cafeede2a14a838da92a937a5b5f44bb357aa624aaac0734e2a1f70eb1b76aa105c824bec2ff7db8d028f3968aa0b2c409a724853179e1ca2c8366df411176980ee0a57485aeebabdecfe7c807a69f1f3f590fd2f53c439e0211d4543ce4d7539969aee720eaca91cd340d88bea86801c25429df4082bed5d6f5df5593573648dbdb79b9c2144f77eec9305f0b4b156b5da856e652d3892636a4d4fa29b4e564a901c13988299fbe1e7c2822069743a4cdaa73ad854f7a85a7c8e3fb6006dcce818e16a5fc5d8cf10120a36a1e17d2589e14580dec84a81c64ed4754f8f16413108512fb0e53f18f7e50941e1781f41843c0970a605651f91ae3b4b2ba5db51f90e6045067e67154d45a1c9dc2791cf6de05f2ae8a03dc19216ec427e9ef84408f23bf630871e5666c6027a83da00c8036ba47fe0eb87a309d81ce91fd229e34af3c2268c34b9ae34292f6e65d247fe32437964e6ab52a6f3a15ad8d51afcfcf5e56891f7b3dbf874e11dcb372d5aaa54d46bd47b9c8aa6c2815374706a68013da31c0804f61da5477971af2c36a77ff5f8d9a98003994b5c76e9e7352d9d3f71a070cdd0323e88d769298af9002bd40558d30d38ff93cb6bbbc5d64c46f05e3dbde90817ddf373586926cf26f585f968e6fbc8984a6a09cb8b7dfe46aa22d8e987c5561ee8ee2f9b454a3ab7d37057679fcd863d310c536ab4e794b99a88084de392a70961268c6982b9033135330aba2a227870c29267adb8aac50bc0f4e3744726dc4d2f6e1732ed8de032aa27be77cc3623246a1c991168b3e5c02337cfb6618f26b755c5bb8ecd7e87301493c02ac636093880145fbea3003ed51afbe15f091aba3c16f0f16fb41c1c096c9b9baa104bc07e88cf9fe209cfd4d1bd85ccfec5c00a2965885c6d95bb04a91b83054f5c60205f3c2dd11a012fc4ff77678e2324e20d93aeb4539cd5baea3a2afb42f859cd0e14a8e4455314f9a824b36346620fa71476247ab17463d6e2feb687d8d2f5bc59f1647cd545c54d7115e6fe97ebce9fb906afb39492e957110cb8d3d0b47b25cb7cb8b389f0b839a80b4c11c5f76905cc24069f59bd6b7bd82ecba4a04b94ac68bdfe42ecb12f55595be160defdba8a944e16ec2737adfaf7131cb783a60c261475147bcbf80f2767148fe9114504f262b9859b621421b0e73c67a65f89380f2ed73c8d6a86fda4a8e4bbb3dcee91f2828d5b05529013824208cb7c331b6854955c44fed76ca93c79f46319b1e147ffe40cd47fc053a637fabf7828924fa4369bbb9ed10d6ef453baa6ae383ad0c2a0358bf42c747cbce42cb77b6ae05ed5f263c51c3ecc45da42ceffb6c2c239916cca41f452cf39a57d0b2b2b7228544be66067be7f91220424d0a47cebe09182e7fcdcb2348b9f52b9e2eb40e061398cb4c6c6096edc8830526170589f5e940e0ee044c2f89c2e0e3a2bae55cefadfb0877e59cfe1e896f82e9e17ed5feb2903c205656656c59e6177d04871854840f22b8e78012eb6cb2d302baec1f855580407b6bc956cb1406ab0a4da687903fdf315531e237dd9f86780887cdb499cc7c5a0531e28adf4713609b1e35b2ca91111fd333d328bb7d551ba50da1acf80efbf888d9ac791a6b9da0657740af04088e17a4ae0de4840c76957d2cfb04d589e4d201afb9971ffe452c71fedce01d4821a490c612a75a819fb9e23e39bb918aa86889048747b098244c6aa1d04684e8e585806b4905b47520a3a0153e480b1173970469ee660172b9eaf9e1513a17bc8459d33f3e2c4961b885e2289b27a332a31686f89f02f701586a3079054841b3fc10ccb4f12b1d722ef5905bad6839465e85b3cd5b8f7665c1808ca73d23df0b884d76ea4cfffad389431c2a854cc69997d12785bf4e9208fa070605b4d43a3b22c080fc570ad8128d248aa32116f19552095a279e49039718fb42c7f87501ae70d0c69b26b8c511f1062cf8547eb93ffea6bb0805b5427dffd9727310df13926aa5d62c79ba05e6ff3c509c11342f434231f6ca658214d1b46b43c74990b507e2005a434a02c30909aa7f0651014d17196e8fb6713e9c5147557be3f664863b36430d6275afe047cd09da1e80d63d75f2ca22a7b4a2c3b0a1c90071504192e541f5f219b0e49ad30c6e4e40c9d55522340999d6b2320cfa7034f606c525c95a00c96175531f7e5431b281e4f0a6a6e15dd661c769fc2b46146e96dc210271cf7c64f7c16ebb82bbd09fb8352a88bddc1259991bbe7f254e319a96981b3a5f0cd9b0d8e6ad239387abe6f5b37dc843979fe3600d7018ae071a768fb6db7a3a1e4a8d8007e9181584dcdd99a1d9b9871d2367891c854df718cabf6887006d46ee48db1fcd4a36be56e46ee512e1f56ad81c3388a4bb31dae0185f6bb45ad483cad21add178533980916286012654ba44760f3d05b8f4c267ca2b5999e8941fe4fe0bd39c60c2fa1d4e58323dfcb98a25c1a91bcf2425262a74aee9583252e43ec5c6a0445617b07eda6c66f2c4c5007125980faaad39998daf2ed83231e9c31a110086ff8c67359d28320077c50b5b6e1350eb80cbeb6210ad237f4800671323c6d1d15e8bd62631a62cf3364712f86bf6a138de5e399daef835c0a0118be8d61ce40a4aa9783bd78c9de53765135536eac8d21b1b3808e22802d5cb83058c984d5b30483d47cabf61353c7d227907a8f75245c69397490074992b9ed966ae8207836fdd793f3e1fd42ca46db9a7ec8f9c21d7b88a784018dda1a4ea463938608b682471d1ad8739c6f05d46f7042b7a16e01ba5b28f7461dff11c4aa26615186c6ae6f8e1aa831783b2a72deda85e65682fd6c17b68b2c297bcefed63e30d72126f7a266938bb35146536bec6ae6afe49d9786c4aa684e458d3b0831a996fbdc1b17fa05dc8fa291deacd02d402fa0328c778855938b6db790f51165177da24fd4485d211a0471fe112a5469302695129aa4e576e3617b9a8ff32463d643436d01670536d17348c700c35982b4ab0df0c251e26dcaeea0381683723f3aade9136142d89bdf54a021f5c92f831816e67399d93a5d8fb7b082d749dc57abd8a4cde9733331af31e16c2c96c1703cda6495e56013eaad08246365ad6233ab358971a4ecb7348e5f69b95685ad1b4fdbd15117d37293598ec2655e4e91cbe2a0ccfb09020b756504fb1b0c4f0d2edd38060a6c85095e07a6f3edf29c5454883139a9945341655138aa469174cae9ab59d2250295dad5d28ddc3e41047c4957cb21857a16bcbab998f508a0315646028717f65863d20a540abe8c96c4847afb371788b1a24f09769140b14bcad8719776f61cd7c2db7ca75798bbce5d72d697f4f6378e632f61400a443151d2786d423241e12b2c175260a5961bca287cfee62cc3093aaac8c6d0bb6eabf3fc0da480f6e5cb6a1319bda315197af7c096fb7b04d18fa4903b7f1192f2250ac24a1f2afb1a39c632f36306b249a73e687ca60632351eb8ba8612264734957452f6f2fce6b46da7124e983426e17f2304cf75c0174c5c3e3bd4b8c4d905a098b45709e3786c42b7c7e7d7ba4cd0dafff10626008597fe9af6ca5ad37b9edda1d991962dcfba01c0788cbc755eb45e1c0a30691a0bec1519f92afaeb6cfd3197f273a9ca497c9dedff74d2af71850b206b1d6822851a4d262b7855a0eaed9b0539e2a64862f5896b73a113a4eb6e6c34790d9c3d08e9fa4b2b6afad6682785802b5cc1d1364dbeb9a882cad18bd76839dfd6efeb4288ec00050051481c57e37978a996b0c9fb2ed0cb579c038fe1dff09eef95ab7faa0b36aa20c59e021928ba4133e5d625df1fd88f19404e584aca9bfdf686f5447fec0f50ffb99e25891154d1b0f599f15bad97ed9f4e01c8e3bad0c8487b982cb5b22bf20615bead961405f493a02945a2224e4941aedbba7bb024143b29e984dc0788fdbcca1d8c9a06664363c49df31ee2f437ec28ecea3162cf24750f7061e4d69577e34e957fbe75502c79c5a072b3375612858100ffa3b84dfbbbae61e747b3033504459c15a2edaa8877567e4de9b22991388f707e8b61aed7e78c06cb6bdb9471e91d0ae397a895c4c54485512df3c1d05b59c39cf9402739f7c9f950b4a9ceca64f27feb93ad714c6bc8184ce25a9633dd21e9d088cba4d9b5627f520a244342a09bcea8a22a3e0b53cb6e0e411b145e1740442e8f5ce2e121b45dab5807467d5f2728c2d6223c300673110ff3f5c0c474de9c5323e378ec4e4b490a64885e6c89d71ff3a02aecace1decbbbadaa669d7b096afc255b749f7bb750d5e7f129920858fde2bd30755b1037e59f2f31715d54e23420b685aabc588d60360ea250de72196c031592f2f6ba36c872dd16d47907432484742cd443277a14473cc4907261a68e14a45f76bec444085e377523017f0cbbb7bd57683fe0067712a4199aac39b10837041182bdd33c21cc3a598b0f6e808e5b56505b7a6459d5030161f07e5f508605b6312ba80274b8abb1e63e65eba15e568b1698ab61060c93dcc43f299f4c8bebb5fe1c8d1cdcd2c77f5e4db0e1dfe438369ad5f3badc4c570e936f9e6d8ddefff095b8214471f60989d829132187e602059ec901eb8629bc4965483dba26d2c461f515088e740e0f24830829c149062d9727f4ef242e73e27610e7060f62eadd7a1876e55874734a81cb9810831c86af45b4d79a4dc24be1e690b72e5d10ddf79615d27cbb643ee1b794bbeafe01e8579ab1551c1a6c0daad4e5ed2416db0a4c345f2b2f90bbc0e1bdebc74326cd5b606e3910a716caa3ffd2720273be7a38a6df453960ce1cf3b6ee1a8f1f62f62e200744afeda0602eed97a90f7390a64b4cbac23cf90cb29cdfb49503a332eff19304be383cc0c82af0501038e701bb6da670b4e5a6b706c3c92e138eebe80f2c829cea5e9483e6384064b34b01c2b7c3c1dbaa4bc4c1ee6c5218fc37abfb4ee3565d25c5fee67c354368157aa6afa001c5a0569da93986a163890da8109fb9eaf0578c2d8a7cb6aae0e8e34fabf5416ca24019d1073b22cf0468c2b223ca3686ec7bdb7414cab060b1d40282ce9788abecd66e2673c3836e570918c3827f0297433fb1fe2086ef894e479aebeed2c2c91d1cdcc3f636560e5ec5804a32ae17245496bfa4c8fa4b2e9b2afdc9247a5a5cd2e9c6c825fe35bec40ba04658f6b24b0d119af91e02f552008a05f146f1335fabc1b3cb48f01269c1037cb63b630c34deb20b603b6f4e76cc196f08bc3c1048c2481eae7aa1b133ee7d75ee750828980ea37d0d6b1376a2e51e327dc3cd99b5776f588399aab3cb65f9569ec783f421e0bd8380af0a9743000171a60f76055305ad6a3985f3b69a3c5b52d57b0e512001a425e4d7030b0909c877c872f65bedec8c0f942e16eae2bd15b2e2fc8df3376110ed35d6226f1a8144fc45568f4e60928cbe013f63f0c89b98602d428749515764f367e96eb3d11a8c537ce78b38ab43b13d6e8c99eeda46a878888e0bfe9518da4f808349603d997c9d97215f5207dae8e564d21c13fa57003f99419ccc0a8a0fb35d3b7efddb283edc4129fccb334b50ad14dff2816f17e889d7bdd4d8590cb24cf9b9e313372565662c07de5bcf00807ef6e93c9856928a79b16946d7ce08d3301dd250a50f62598766198fed03d1d756b055ef84c403918b754ea56ef168cfbbdca292f9b88ac876d7a95a24b7e5bf578c3a96e054bdec05949aa6ab73a59daafb07c9a8b589728ba3d7650022c38ad69d56c369637309c1e75808fd4d70de893687f61e6b476bf669aba52d5041624c8f3dc8cc53311176b0db72ed63e03b02e4b8db4ac155562d428fd7d7957c6b80b267f31aa20a8d83913270e67f3e2c19165e9ac0ee7b315cb3c103bd7f5b18f6ae21c04a934ffbb1b3b241f9586df08fa8790948f142ca89d48edd4cee2f2dc6416483636bd2dda27b2e3ab8684d4e3c6b33b88fbda4fb467954e2a34bf01f31c46d8a54f021d4a24f45f9888332f4d6b159ff16d3612ad4d448fa8329047eeb76f89ef6265bb5629ee19aed39a5d1ad96c7ba4cf84b78bbcab4712b23a15e41338132e442abc27c11ccb45b884ba2e09167a659d1626ac6c2822b9490ffa42230d58fbdad4e05a4952c2bc4448fffb03a2159e22737b846dd6c44c64f4d7fd4929b3fdde04736ff59284d60cb23441e1f809643f2509b4d94f82b43081707a0f14651a25c6cfe9367c278d243c29f429fea3fa81e77a006fa8f3730f741ac89d93c959417643ff2583d8c2c2194f910cc7d0a982234c608a240683c7e9b619bf95d432a005fddc74223f075c9d7c9837aae8a3d55acf5b17e07632f76a7ca9d42f1ae62b05d10eecb03f19920e9e3cfcc88f602c1527e4c0ade34f279e73dda66b87d9846ae2f3bf53754fb6644e865086a54b7d39acae5562843d27bc26b735bf005e67036105e6fa9916994ab83d97b3c7991833f26ae639f675d8ffd464e0d5fd1210e417ff80f13280d308621f7931196d9f20a8f291d156c34eb8bd96414b316dc29378285fea64e56ea0dcc873f19842c30a805fc311e86ef4de07a918e8b8a1cc8a8bf874bcdbf024dfa304e25455726a01f9bb9cc3357250f09c6fdcf9ae3460d476ea4486baeeb6a41a3f6142845358c9aefe4fc3d7e53cc42858e38726e884dbf1c9b3eddba48319791e14d61cdc0113dab3298b5943af340479bf84eda3fd102f8c1ce158c93da19c1581dc3f055c0e4081e8c4aed64b97b0146adc8b955a8c18f315d3b1111fdabbf958663a91dd1db5f9c941c659dd6b8cc9c68c960aad0be5720372d7bfcaa2da00e976de20ae86d219ade940db95a5cf295b75dca24aec3faa4fefbb025d1d6d895cd056aa97cdbed4c31d6fe1fbabb25db38f8cee52d1551dc67c4dd022e4590ca584bb8404cd9f734c3e3bb4008ed5a3816335beae0b95dbf4be082e0818affb9237520dee2c0291f545213a2e218fa52ddaadc61aaa9854ad0cb5d1c4e9fd0992b2c6866ca466d349f02d8c3293203c2a1f0b6e8d163a86d2deca1d714aacad33acfd52aa92cc022adf7a0def0d952edf05c3c603d5bce8159a77f72c42689480f1cbd30c58be86dda1deae1e86a86af820d3bf90e75e8c4d26c04532f383da0dd5a546c2e69e50bdc659d3e49dc18459b1376e1f5e8d0de27df73a2a83c51acf69f067ddf38dbaf9df8bf1896170f1c243c9364bc33a403c27942b2d24a2c3e110ee881ecbb85b3f36925667419a0987f84ddd03e76cd06bb1bab431d4b43164c5972e072f5ec7a547df160a44e98bf23ead3282115afeb3b926a6007b323ca59fce0351edc88ce2a1e1daca1fac78e6a04eb2c2b5e2f9ec1fcd4d71f26f5f6c72029143b578bcedd3fd2a27c3a37ede88d0e11aa1905e1ee3c760f45deab48fe33526e5484142caa5426f49459b5e84a36bf1bb93c70e13d9e93d3e6fa12daee884cc5d0382e442ba6f7fd88f0c8220ee710c2bc2b62e129e4840180f25c3a0ea4cf3e9cfa92b0290da09d6f292ec12c9f374df9bd1eae5f340e9b3bff6f88144b186ca3f9bd0a151a5be57ca23716438e9d273271862304e514359c6c3e896a4cc381917bfacd8670c47b6693960d5d80f4516c18a03916318ceb11b51feae1870a52aabd301b6422572d693f1cb9250f184d3cc97e915236cbe9df41a91ca7e107ae7648ce0542809e12e86f304c6aab4d0add251ccc1df3b2fccfb65a090134cc3271c7e9116359e2022b61a1cbff9d42f222104b9250df0059542ea40b61c99b969f743a8cf20783a6a63931ffba40485778b7b16a9fc5d72c11460a6c39962ef19f41ecfe958498c16fb6aaca52ef404f2fc052c2590e1d849fc59c4a2bf123c8a28d3d09307e42499aa5c4435dee5b8892200ed6394291e96ceafadc855e0352e71b9947e877611694f22df91d0abe5da5d68d0b4cec9fa8e563620a8a71acfd201009d6d873e33190660adc780bb9ae328031e3e38deb53a6175b0b77a5476c04cffa0a6e51e68398c9a7530d8df3987444821726a99e514cf0f148043457f2bc21b0bd343466d7a5abec4f87f3bc8b2b6811788ab55add9f1e74f394c331caac384a79c98c8219ee703f537e9b005d49e9a9615e36001f5cf48311170f0b22283c6a19f56e00f4e21ec3c4ccbd51b347504acee96bfe8c522967996d4a4558e52d111abd6b2b1e0768c6230a01e97d0700f0b470f1d5467c31714c07e83f702969af3a4bbf39dcd009193675bab233f5277c346a78c772b7cca09fe11729dab07173daf8e6c78b14e2544419e71bb820c5f8d7381b96542943bde36a9f408da60277ea5134e84de3b83965e25da9058b77721a10900b4ab9946fbc066065a6f756040c953d27d681bcce8215119fc4b487a4155eb14e3ad3755779fd836407d7e504461d3a44557712e2f02816f62dd138c70e2d7c9c9728c7cd5cb5feaea4ec06e19ac7f1f313721494c9271c83f81195805d0466f9dd0b21b09f600c4188e07c5104bfaa99c545a42a41e4f01d639f305854e2230850c0002d0a1363b599297412bb93a42d9c046c09f67c0cd856af63919ecd0422085f9acca94661fe38b2e4f51c793d292a065c7a5c7009c19fd5c0d780bdaec33a3a35ca2270a0ed69608c8ebac5052e4d31efd1dc4310bb1ad3a65df9a38d0d34ac1e7e023f02608acfa513ae5ffb73e49e04494c39e4ca3bf5adfb510d870fc415c3d55c9bd7ae6b802178f96ef1a649222d35131c41492cd3d54609fe51e6fd96bc9105cd77ace9ff7786f68c2ec9183f6302be308dd124d92e2535657251f406723f3778f506a1c7253ba298c0ee2ddaf128b6d779db1a9422b31040780db331a0d326ea2ce0abaeb50b42cf68c5bde92236d1f3984b37b2a59a39c5701598d0f85a1353b1d3b2028eb4461ad7022b1a3b383f69a557ed8820618b64c318090e9ab7fcc088edcb71831fd0362bee28fc22df081eb72b2d9d8f0171042ada5f233613073e592bcd5fbb8aa6196bee39a4e139e4260c15205500106e91a02901f46d84dcdd90885ede6826b7cffb9d729ef271e577330f98e653483719550551367a6f661d36d69a258319ed7add1e9e4aa74e2b2222aa13358840f0ad0461c579bfb0f68b46501128f2e96715927ac40293927fa734e094d1928fd0640914e5e8e3fcb88631b33ce13ae8f2282c28539e44cbc85d5b47aa22532f6b2bd510070ad719bc4ea4b937965edec9135258f24eafec140a17dac08e280e0778bf6a67b7f9b5c8c584da0f0414e41b3a1688557424082b581cce8f3b8c6b9a103a1e866c4ecf6c2b11c1e9a5877c907f9e831f8df4d625d0250134f0779d8480cd9a14fdcc8f8829652c4f55df073b1e63e6f8a051a777281e362ace6ee0b05d09d56c99efe32f002e6961c6282a4d51b93fa7696b9adb5a518878659fec7ece71804aa1f4d8511bdd7a91c39738421ff21275d331e51be64de0b94aeb620603b674fdb0b9bc0106994c6ec0613cd3d647a98a5564d4f92b6a2a397e95b3cf99be9a3d09897b7ec47cb207c74643347429579a68944876cbefaa4553cb6bfb964bec55abc403b9dd85c4401c8dab43d6febfb1e884db1e8243135ac8b714f210ad3c762331604b296e42a0f0faf3877e8a659a8108e734f8f82f704e298b459e62d86a2b86b4c506f03941da7d10a48346297467113156b99dcd10ab664539edd1c291fa0eb384e0d37fb722da00dd013319187d67b48c8667123fb8b0f4ad4062b8574211b03fbf2d47e2beba742dfc6ad8b00c6b9429b793c934b919c72eec078bb128a515fe7e62b1a8e0d3c33e06d55443407c044943659c21c02780295ed5f7271de252664cb1adf9451d9c77ca238451c85544cc7ee57379322c085e9d3f6066c5e4e8226637a28f208e5f022d637c1eac2a7f1bbb544101454e86e50be36dbd6e48c50ebd72459cfe3d34f12e7c76de91a44d1101cd23b1037d2a2b41f4a9d82ad2ff72c515eabddc5e2f0108a4aec0ba7e23045c7edaf73876d66f64deb95f84eff096ceca15bad540dbe45e2f9d08026281773a7eee729fc1c3349c672d6b138bbfec36e5d4cb8e46cd4a341de96c4e39af7d1c0dd34aacaddd1acd2ea535cfa4e8bc049343566333c52aa35de6d00892b8b5430b738ead3f4395ae0a7eaa9f0deb2333f7c5b778adba136050a9da1d8c151d0d09935293342b568614e73c9d37efef8ff2bf3bb910012fda0e7ccf9c8e3e635af935cede118f508cac7c4541e15a0b98509163c245dc2771209d68c6401c8ec263c66aa39cae684985a4ad9997d88e71e8bf22bb28ab7a145f0de48156eb18a2dd5b2e05098b4f6440544531a95b6298618e5803ece9b43d5669ecba3224125a16565fa4b46ec69d009e16acbf763cad72af4f455a0b7c074c7332c459440f51d9035b840d26d63a3d1d1bf80796bd5f43a6f07a43f04b2a11f807496b78e5b8b4507ffc477d837998449d2cd17d148559c007df2b447f02ce55c6e71a9adbf90f696fb867a1743f0731bcb8fd565fccda25472a4e6eade274efbeeb9fd974c07a2d15e03811fc2c39b223d1d17e2b12a3b0fa159fd1c3c12c0b34388923bb79ee93b96752c76e7fc63aa564b11e256f62c84915508a349d715d36f9246c423ada3ec4608f6a46f209566e88982ec543881f84e10293edb49115320bc51580ed598f385df667ac191d2001a760700f50491e6216609b0e1c6724d6756cdbdd0543d8fc75b8eeeaad16f5f6e3d9ffb8d982653281a65f64003a9779d5d2851e65fff53e1cb67d918547617a1cb8bc00aebb4345da581a984324627b446852c02230477b10e9681cc7be4ccff90acfe81cd186cccaa8cfdd9a9e5a309a80b17c82aa84c3400844852c38c8dc4814ed1560257284835b704185a562fa00b2e38383a61e03a4a8c629af9b63da7710a90f791ccea69916bf9f2dab7eccf9b5ff1deeb97ba77785904704398326cb8a52706e93bef802e1181b2ca954466d344b02d0b57604727e794da81c05ecd806f15218a1261b55c436c34f4f46097f444825eee629baa66da4eef9b688f6db461f582b535b72dc9cce1c0124fd067cb7a2da64f784521c47c471d94ef29e58bf9b488c11e20b6f86971a8367cd1b08788945b180dfc133f444be76deddd6f7dca51043eecb79147108224cfa97f2cf6f8617d1b6a1871c758ea24d068494db3ab180b6c3ff63d5d36f399520e41dba49d17b33c6dd1792599c4301e8d96768cb129372b77e1e85d38df89cf9777ff49a50b978ce437de780dafd069dd6273d758134bd0a16a0bdf2bf1a09defb528940921e8e16ee21cc0ab6eb35c44971a13441fc7f2887f0dd614ed91e27c6b8d2781eb302c77d5e0e8bebfe595437caed366c3d3d517911ba8d0ad99efe3fa0ad6fd7370d5acce8f81fd3187bd6e731c1e7b9a76e91abe91fda73643e0e078ec590428fe642e00398b094e205d4650296d9b3dc7f48092b580cfcfca8d5629eac4ea9ab6b0ea611bc3a22349accca44a40fe2dc0433e274a0fce11fae41017e2ae12f3f1715cfcf2e16521bb82c0b2494fd4e2d175058da009b77edda4de743a4a050231028b39fe7407e75bf563178695479c04d33d1ddbb84b3c16007fe6601659b3528f75e389810ef3f3379b25a812df0bfa183397cd32ba2509a6d007024fae3bbf70092d08b201ee9a05c151fcf75bfc151360c779f50433fd5dc97a826526923de31d4ccfd9a45f7c9ceddb15b0f211260458790647ec06c5d5e4256d82c345173e6bd00b00568dca31abc0b7ae513036324c008ec9338565a83dcf49ba517c4bbf480be35ca1b0761a2f9940f81f180823811191dbb9618ee38633be2fab3cb36732934d0c2eae54a880355d4cbe327a37612ed73cdda99827ee748227dbb844c44ffb8a40223ada28736aed39d3480c5fe838a002ecfa95b913f598445b28b42ed0a82dcac266dfa743a649bb15d765afaa813aed56d071fc39e6678b325965a107c1f314cf4f3e95ca80aa59fe546b6435897e3940b683883db159f2a0dc8c15d8975415ca1b30ae634f58a8e3c821303ab718027229426763a4a69559cf2e0306a01f86bcc4ae56adc921f9f594f7c21146bf1e769a3fa74e5e93d2c0475c9690262a50d24ca61fae9335258a6505ee7f9de7f4bf2a0d8097d1712be8fe23c5e7feca9c0e41f57f4b6ed1e60633f3831cf50e969877427c8dcfe6c56fc9fbd1c0291e6444c68fa7fc531828e354b3f4e7014387372508b9772f14fe67c0034c3eed7e4eefbb40c267ad51df5b3ebad6170495787886dd01b72b86500a92c8b8373cea489d464d7e196764e8cfef419808112539a97818b44335ff871ec10cff4e3ea16ede1568855a1b0468973ea27812f2f90a28a18e5e2c9cf8b423c7f0fca727aed4a78e3358e7e169908784b9aab2257e8ce01b6306763e707d34c3179a525841e0b24a04a79a99e0dd750086a73e4b2fb6bf8e6fbef00fdb2270ca871370f7c2989da13ca8a5e0425f9e3bed4034d9f0684af593820e80ab5b18a6ec72fb0c19ae43d7ae310eed314222559da5f93c9bbbf7a80cb88b2533ed190b8e672aaf68bcfe35da25b3f33201812ee4162c3bad8534b852b86610b38d3afc7c5b760cb01ff23e05ff066fffbe937e95d965ae568713edc2e8e9b251285b87262f12a14329cecd831a61942ecd14fe9e4415c143bca2e8617d92b26eeac14eca60ec492e911e174b14188798c2c94960a8c83216c4229cce24df488acd85a3cdbee205e398e49f0b50d468b721f62ee4ab1d817c07047fb40c5055fcb47916a900dd5756f41b3ab909082bbd78e9a8e014bd261f46b9c3b478bc33b73b6d9640a2c981976177c6dee819ad3cf12b9ad6f9d6739ea1ea73204db0bc1d7c435d194abff63bd19f3f510b3e5f536828a90edb842631a33c7f3a982e4950361ccc0e8bbad41f0262a3f621f2df9cc08f731c119282d4732f150778291a52543c1e353e91b6bc7de0eb59c48f63b6d3a26260b1be180cba82ecb075958bc5e3f45e6955381f0fedd8df34a02a5205bceadc0302f7c4dc5364cda7cf881412af0f9562c42d52ea20601baaed8728396a24eddd1b6ae429006e88f37f59d93c640214f964dfdc16545fa25bd65ae4fb5e6d88844ed3b236ba52eea17513532a379017f77bce56fedbaa61fbea8cbd58dc97dbf1714574f9f35b8309dc245d52ea91d1926d80f0e74facfd58f71f9c977a20aecd5352eed6ed0c6d709a122f934eb73d9d4a6736816596c1c7c865efb1333d14270eb48754091941c44229336bbcc19cf78801da8b49e83da5c87d5402f097b162939964c9028bb4dadc96f50519148727b6cb61a8e8bd7382c81fd3eafb88377c0cf890030e8f3ec26abbaf238d3899e3f4b31834da427fd672a625c3513c9611cf7c3b3ab82bdadc3ac96fdac3f8431a3b3f41a5032d863f3342bde9460592aa83bfa990c6668f80a33543eb71fa4613413ff461506f06234c159c008b0e7fe27ef9fdb0476446a041fa73d54eafd9e365b5f39b83febf859eef9101a4f6af20daee3029db39c0f73ab967471d00ade910d61b77e8ff58195daf087eeab61ff09af00f9d0d00c03e727c4eed027b5f537fa300df5654495e611ce3dc66dc83202f5cb7a5f64bf3e44fb090af5525ca821c675212cf8e9f36e1b79081c52e121a420ff3be155c920544247d54a52c92288880ee177af1a0ecd9c00ad743eb4a23e209ef61fac20ffff037da84fd2cb3c480cc0276f21ab82d45b49cfe40c57061fda4c0a06180514cc02a835ad800f9014288b68ee10575af3f12de4bcac5c16dd97256429498aac2c02aa7b31e14fb6b73de2260736369efc5a90c75570954af3c941839ce1389ae3584729964e3876c4da436a946eba9cef9bcdfb9ba8586c0601bcc9e867cf00341ee0356da01c7a16aa78cd3ea2051bb0a4c2eb3b38b6cda554f5ce5f9b85853826e77752b66475c8b491b4e4aa4e6e7b65d5e3ca130f0c3d9657a8fcc8e55f4aa4df32f57af53cafadb4324d80669fb7d4c7d7a9887a65f2ca07c49b2ab6c33aab8f7ba51582354587d7d510ed5cb761978792b8fec96efd2b4aef90c637937de093b2b90236fea76ad937aee4110645654c6f0cbd59964c4420c3ac89577c38f904cb01183e76283340a56ac2a13af057fb551318134ae5411ad67da5b5d690c22227103c6cb8d49b5dfdb239b72a03b3e3bd14b8974ae5510caf88444b1abb45989d3ed608d76c53805d28fdf5d1520e214a8706352282e32862a9935370132e45b6cd693e7a891800cc18c59478fd4eaefac51b017854567acd56d522073d5b1134312370e9a6c7e3ae36cedeb14155aab077bd71ad8791ad4002528fa3e845e9a605ccb2ad93cf9f54ba9b943c79aba606abdf1e5b550ee9cb4bba41e8e541354b3257b4f9c0b3cdc415802c19d4f766c4ffabed44b6aadec1504a1ffca89efd9cd83e2825ac24cb805e7549484718f7fa3191fcbe6c5e781e21274aacf54c37dca5afbfeb8f2ceb49333712b53fe5a4fce307cccf1f4952fb7caf9936dafa031475b943b98d6f42183c2f5debab7082c575274a50f42274759afbddd47efa7a2aef0643cb6f90880697077abeb9f80a75c8d35baa5ab268b1655bc3828b899f0e113c2350d0c159d2b107ae030a5ee0e8781230a0f36e068ba1b878d3d32191de36623a5bd8dfb2783b336fd21aaf92cce2c5cdced9a2c737afb8e6e5a2b221cad010a5604b08dbf10e0c9485edd849e8538923aa7f71b43d30254ef8f920ecb6e4a423b1918a1028f3fb376193cca388d76eb05ce6319b9fc321354ac7943cc6a5327dbb3204a6436b5eae89671b8db586271d0e730aac0051608c0d5e75136c818870b7ec904c82970374d4a46c9c00612bbab41f755979cee5bf9de0d995a7e0e9bfada893a90be0d65d4d7f7c343786593e6e1eccf88f35a4a137457b1cf89e342d8c525b83f538af69e27850348c2663be286a4ea3e25920a0b84e0e1824f519d46879ac92ed2e3615991c27a012c66011b9e790ac15eaa6e8136db2ad1c7b18eeb48c361a1a421bced14c12cd1bf0fdabb550019e86bbc61c10997405dc71a810308562fbcff5e66a34bfda4e19c102452cf1a0a5644d16910791da37943a58b996dfd76e2536825b4e01d19217da95734a8029f8557478162a458f239fb311c0726ad738389b043693e8b5e55cf98c49f5bb699b647bee7035a6fcf3931978787c06742100629d1f58ec2954ced7f02968978f08beaff6cbf2358984fa656927ba1053eca9d3b7557f597ef8e87d8727a69dd0ebd549276923611ceb77cca443008a696666830b835891fdb6ffadcf6f84aecdc5da2fada3bce68c93798533500cdee86683ebc3805fba76259d8b4880c8e51cb04cfc07aa9f4f704127d3843e126204aebb065b3d2bc4ac20e964307440173829f3154833c44a9a4ac531968eaa34061c359a68a2dc0c6ff6539cadb96a4997a0464190aa690ea01d10e6013b43056313d8b9501322f3ce683679ce2dd3c6a269a2be3a7c671befebf143f0b92fae25fab106ae5161b0c075ff271ea6b2055dc6140b9df69e8f956807a41c3e45d397b60206a793bffa3f0a38fc38de4802bacb85c3ab7df7ddc8fde5cada419ac2d056f0840fc529a66981c8d234c13adc7073208220ae8197685924521f3e960b21f113cb4c0f0c475e7c6ef2a125e973fa06013ff446caf6b7e673173f59b38ed4c636f897658c3bce1ba7d9380b3fdf7464bdefbcc6834b59d2e38e14a77fc16095c8bcf7a46007da2cc3fe6163c880f1b31cafb3a19dff87e6e36e2b7cb8ea556934537e8fdfc9de88b8693cefc60a66e1bcc534a7a748468446011b4608fcf2ef17ce4a55a82f3894a789954860201e21e51239c3b073db16479420a4768562541151020744febc7412c0eab83369a339512d61abbec6472b282ca3424f62985a16ba60f98e5cbd5ab4343a90f41807bc63dead9ce496e60e8f5c59fa79c41b9f580f2420fe12d6364f9598eb11b6131bf10d3d9ca39cdff8c497d8d66637c33a85e4f25386b115f5885c2f7031bdf3b735582102cab0f5663fc66578a0c96ec4173949bca54d6c5e0afb4cdf7a526fbe23ca3b35460c1856c57c0ec8fba2dddae5e22e11f0aee5c3eeed60e2bbabbf05c5cb72d61bfd0643401b22ee845b4ac71e6c23b300fac20c6731e4bc6c1f9920d3ccac959b8bfdbc9023461a60b50b9c79103685025f03f4b3accc6e666b182ece64f6db9b6fd2d5d0eccf2c4d8e8fcdf102ff02c3fc809cfe5e3322d6136f6b1f0e74d06957cc9a09e1c5346b2b4d2c7149b928f2afdab6cb2af447ebed27eba8981cb12d501a3e8bfa61ee8f307a2e5967c55d3f1e8cbefb179b80095f3293c75259c806dd53c719b4206a888f1045f4381a05b13076cd6238156668645b7887d38e5e86f81e3500db7d46e3c03d62e48d8eaba23b8b9e9a07e59d1ab47cad7b956ef88a0f916ee8a3cf66b2e3b5486895a5c48cf8b790845701b34b786d0757bf1262a2c4497cac4077daf8ff1f203201fa2838c7630a8262ac5d778a6921d0e9ededf8765aeb486b0235077a5a39d7ced240a67d8addd9c39d4cd19d1cffee134d05bd418512bd9a3509e8c8420019d90bed3722c8118e128aa7ae6d2d7e06a1fb6577bfe00fba11700d6799cb5eb496c9cde79cffaf563229df3ac5f175e0a168a2af6d7ae750dbae8f522312dac64c1d97721d07e5c27bf96c23605510be4996d2ceb073622f565253ed734d9e36d83896deda67afe252c101b164fedc1f12fb6536c0fc9c56d32e36c9a47d8fcd4d051fca33cccf59ec18550604c0842fd481498547e62787753f41dbc032f9e895f67be74f4f7c5083d18f8773cf0df99b3f6fe6881ea1af0cb89acaaca3d58aef99eb98191e637be62802e778d8c05ba3ee35c7822be1b1b543527e3b474c937f29ddce35a557fed6e9827e756ee619e3e3cfebb89d1702c91f456fe78809f30fafdbb9e6eaca9f932587b6e75c076bc8e3a9a095e79e391991cae3a9678e85b8048facbfef4d6a3ddec9e6411e0118e32084d7283573484ac4e14d56de3a190eb0976dc5e5cf838f0770b886209761861a0363be831145ae4d55acccddd67fc5f1c2862896407728d4a780cd823cd9192cf911b62632d7024c43facbbe6a05652c101aba0588cd0074dfb6be973374d8256884928732601450f5fa582030ad00ed1c84ebf6217271f96f611e9b0bd7af2f5e5dc235fa7a353e735e3c7c538d8f8e2d3cc1dd80c6dd66d7f5b8dda08543aafbe788e9a5bd5f8d060d8bfcde9d83b5d57d495bc2732d1500b427c926407cbb55e467252ce40c0aedc44f106b21e4234aace10eef37b612c7cc7434b5e3368f8f213ababaca3962e9e26f413e3657d72f7f0d2dd6d28afa994f262af37174cb48b5f1cb33ab405c250e666adf143dc4d0669f44d075de80ddd3d9da86517803b0d1bec8253341d452662479ce6b62f86f8f6afd1861a129bd67c4fee62a69a420a8e412875c5981e0eac3c50dc1f75349c5446eaa8d6d93f9403d3af8ee347a71f11701deed2b1aba1555d1be5ff48c26f98ff986c411a18770d331762c5113fa15ca6b9f9b6bcbd5c5f5cb2b2f76ed6498f6df3017ff9fa1a0cfe316a84167a8c338b838b4609abf0e11de01dfdf56356c07feb1630122b68cca36117fe7118b5014705f626fd114fb328f748ff41cf96041ebef5281fb065948da14a748968a7e04f8db5fbdb8bafafaf2e575ac1583b84d50819da08e83cdd447b00e06982b4a4044b1a323201d32acdb4452d4e2f2ef823c7617975f5fbcbabafeba32ae2f837a64a85fc63a655447de3d6c2aa318d2a143c1c2ca0a87b66ee6fbee495a65c3a14010aff03a9a3c63486bbf1012fc0d1e0d8e78e4e7400405a10376de8d43ce0bd950692a6d82db1b055214db08298f1a6dc280502dcfccea47a195ab1f2a109eb992a95004b60681d684540fb756e64245e4670834e366bb06a1de115b2b1e4482e51620136874ad3ca587243e8da623e8e3e63087744f97007b45db88b573cbccbd17b3b04e484e1c0f69d41ebbf60196093cc0d4936fced19657ac1ae5001d1f81efc25ee5ff17b6c56a4d5267650d7a222f0a78fbe1651af1b6d459852f28327bfeb110881e3d3528f5a8bce89f5b02a5ff0b58204586aa77e38f0f08cb35b8a877f44a59ce1da26cea127912b940f1af10cfeeebcb97175c5d5cbfb68e32ad0641771510eebab7cc047bd12d9a6ed1e717941f1e4d0444f88c9a97a0324f0876036ad97edede1e4d8a82a4e130ccd2053f2fb44f88d409322ab3b761c4709522d266571231a37b679806f975e0515af6c39bc9c8df9c38577d5ff22d1773d333c4fb04b393ca21177f14afe560b9a22f14fc17e4dddd495757e7ce7785b80493ac74eab91808b813ad720c203ead30e1bec290cf81f6b5515bebb0c2886eec00ffa583c47204221388ee3541e1bf3077fb1c3c5d9d7776ed589707a03aaad395ebc3787480dd7b10ab0a44ae37e45e08177e8473dbcfe7d181aea04df5d43bd4ad003e4eb228944552eb3d7fe66990ae6d74c5481406d1e8b5eb07d41d1b498e7c6469d59eb33ec5baf828a1b01106ebff1c955c3679f16de6f0e8ded9bdb383aeaeae65aeab0cab3519e71aaea063ac611cb8f89d602c508dbb1c5d58940fd7bd0061fb94b113ba50d06ccfa6216f0b37cc850c9da03fce002b7802c82ee3b0e56cc40146b403eda9a85d98947de3586d50801e1b943cd61d05b12f68c1b1ac16e9dc01935e0709eeec3fe90fadb4167353b3c2b3a90a849758adae6a13e118429ea6313905f9a8a148bf61a93a67f8a5af2afc506c0c504f301d5d498bfdde133233cfa2cdd1a14ceeb0e11c6321d5b8ac657ebfbe2b9e4e46ad8c6534aecc5d19f26fdd7793c1b239f479514222268bba36e9d9766624402c7a68d41175bc4df9e03e2794602b3fd77ec60e81e0bcc83a6764d075ed4ab4bece5ab36b75b5ab2f9dfd613cce03c10a102a1c203f465e2afa2d7cbed44ab06196ba19150a45753b4dcd13604c2d40faaf62c9c0f1e381ed85b0f4b330b77d0e1e5d9d3bbb76ea4237c55933a86d53eb7c0a5c2879e671705f1654311508a63c895c58fa23986ffbf2922b5c1717a605ea60daab761c2bec9625c8c9021fe26a636d223ec8e74937cd21c252b11f216edb0b2f2eae5f5e7d799d3a32d45dc6d71fcadb021bee0e289c8dd47ff977ae91644fd5c1d126239be2247261e18760beedeb2bae2e2e5f5f79cdea44b76e2161aefb14e2304265d847e62aba2fed3313a67888585cfe538867fbe2f5eb0b57972e5f5f2fb28464110d8a7bcdd07d439996b00e3b22a7d207c018141c7abe31bfc2fbc4746f29c661e4e2f21f423cdb17af5e5d5cbfacd76e511b5ff9ae7abb99c78a11c4e7844985eb8b01b13456a845876f78cfb57000d392a582f7855daa2a9cafd3f23a8e09c218711661423e223c13a9255d1c7cb4e5f20e2e8f2aa174d875d426c80e328e6aa170bc8417fe77f808262bc798a8cb489a9d9b8c98cd829767301c2823f96b710c7c4bff467a58347c0ad2ad55366c0c1b2d25f47950e1a43259e09a0dc1c288b894265c629548bd4046044d863dd0bd955ea095602146f7d0ec4c50b8bce3c3c2bca2ec150c2793f51d9143d34b130eef1f5a9c153b7a6d22eab366a540827d41514173da76c48fc2765c0cba22587537341799bac13fdd6736d8579f5574d532cf7ca5701d8a32c7ce85042c7252c57bd55889becee5c99807035c3854d03351ca95123353c2dae1e2df93cd5ced32cede8f54477432ef65acfb78cf8a89147397d6dcfd2fdcac0515ae3f4b1fdf82e7568d29409b5e7c0c8540109910152e7a1ceaeef03b75206ab7fda66e6c764c2ad55cb711a66e1eed7ab5d43d675da0f91e095598b0c729885faac444069b7902489d88bc5ccb51778e946dc55f96871880a22ebc679e10a24ea2899b606f0ebb57aa768d99e6b0f151b60f82b22967ca61803161f0a2135c51a7da04b51fa502320cdb023183adabd6782d4033f34483c144a3f5cade6a0699b0457daaf682f5063427d80381ce517af4837ac901a599c439718e2136926420644797fe4d4ec4a043004dff095dc654aeecca445440b33d8e38fb17a0dc79ddcb912e7f1a5678129f001fd865d462cb46b61078e0fa69f3a83735e0156027fe3ffe7526396954fbf6f898e0212d81108eec9e96fd771a03e391da8264d83e08f8b380396cc23411ab595d2999210cbb3d01f7d890168a539781cbd699a29bdb4ffa2ecc595fbf139432dfdea34056e1edd198004ced91e5eb05c8c43591b829a7f16532c157fc6a163eeb0ae312a71244e3c3f8f99e6db6204fbf335bd89789058599f06dee6494a7581791153093ac159299000b496b66104e4da81bf738492aa858a1de6bbc54f6f841fc5114d54f04e1d8e09da37029b4acfb4ba52330370e115686443d86e665b460e7139a0c5dfff5cd9923c618608e7a84d2ec5543ca3a08d417420dec1f2b8dfcefd8ad13b97678821e0e7fd78440dd1d111ece6ba26e9466df6647ae6561e9d600be2e9bb40aecf1c60a8a09277e924029d8a2c3c833359b9c9e20796138d80bcb2391588b1738c62cfdc6f65628b171431dd323ff86236f04fcc859bbad48f90391b638b20c5fb07074714cb7628298bec3d46d12b6c599eb219410838d487cade9d050d29b15b7ddd8f010c1402273eb4c1b29091170a52963bc83830f93b8fdd7f023af82ccc1450fc0417501df9d69689e653fbee035a5d7076d5b57b13eb9838b8d3c340ce60e2075b79e8dcf8a91661f60daff8faf9240a7228989ed01433121c1c9a30d5a1886d3cd66651deca6ae4369208ac3f2ea1f0634c98faf169920caf820cf037d2dade4785d4a5cd4293be7931f1b8bdb8a0e223b01ce384b350817958699ae6f8313e9bf67d2ec6b12160c8f77e8156ddf0b7114074ae09cc22062342daeacd2ff17b008661ce09c04f2d43f0b8ca78f29da2e48563df9798b627d5fc9c987811065489b9c61a7caf27b59fd38fa2f95a5477830dad64103aca296db9ce771db1deb19c3f16ac66bdc177e806127678a74818b2837a97bfe7d49b74f1a6bd2f7e74c2e5c1888b31dcdf5edd9fa3da03da900ebfd5b76f4db9b698934bb133f0c725bb782c7721b6997425f463347358f3d7657a639b16c8c76f4c67319495449279e6f27f2427047bbbab8ddecc4f4aa78ee5bce17c0b74c55a2278aa4dfb103b9ba24ded0f6fea1593cedd389b392a36c22e0b2946da424dd6265e157601d91c98a93650005912530322686c4d5d713fedce265f93e264e00a97919ce959108f20304b7d18035cd8b4a774bfd7b58ec7918a8d6ec7221df0b2a611ef8a5d10fe5d93e8bf62e2f377d3694b119c2e5299c30e5b9120b145e251359889e51fb4a258ca538d79598f2023115bbc29ff8bcf67ae767a4eec3b9853a3544657847b760bd8661e7f648146011de42042306654bcb87d5eb58eb6b78dd000135721f23c3052ed5cf3acd0af2c853b637d1769eb924f219985d2562821a4c20e84fb56dcbe862a682e303562a1efb81ba4cec8916bb735f7611e64a85ba25cc7ab522626c94798bc554bcde0dd5e05bcbc93fe105d2976addee3a504577d4092dd4055a152204dc639b2dd320f609674522f64786dd03aca2838378716a51b9d41b2ec63a39ee13a2f4a18dd9b34c52eb8f024fc91e57b8c0763e10e52a1702ccf2ab1fbfee1704c407ed0ded690d8ad6b4fd1b512fca07ad0a5f43c5f27c2e8121b20e10abded74cd08dcd9864b8df6fb1c12dcb58c0bf2be695eb59b6c2b2fd529e515e2a439e8c335c10a27a500627dc15e4ed702d7f2c40fe49e0304eb52d7242e7c8f46b598c972cec5005dcf6e4bfa5d24b5f8e3a958267d1d781d72e3317ab49bb86a0cc6f226de070a29497b882f5e0b46fac4624cf59d71b0bf0ce7188b98b04e4a357b9896c71ad94ebc013c78f81784b0686409f3599ce3b4238ddb008b8f836c81aef002baa0bd401f7c5f12888dde8caf09a02b9f1d1b5986da844c34222039b51ec5d076469c05f1f6f452c34cdbe51320ab55e726bf580ec3cf8d6d4cbc83961457656a61a20a57c9c9265ec9d15d2ac735a9fdb5d7bed4d9f57576b64b1ab128af9b8cd03ab0299554bc7155bffb30f0c738fb78dd4371db5c8b3aa404406d4ce40320964faaf7043482597aab7dec980f963cac3e92391b78692e015c5471945fa610ea807fb13499e8659bb66d06b9e27eece317286603ada1485235b5178b23cda58d4d50c0ce261b3a04eb29c9d05c147a8a96385ebb2a5e1320747f99c41511843ddacd2a0c26025860b8489ebb1df626d8e6ef63eba75985d213afe6131289f1b10e5ea1726a5309015fce989e17aca39ea7b8f30f7d6dd8989841e43d2406ab7eae2a9ba352c841ce53877e1207946ddb957976864d680f22f40420629201c1e4b0daf716b4456493f544bed8e10127fa4de432209e1a439e12bf50bcb1e7ca5d066e829e5eba4ff717c3ccfb2c03b9eca09b08c1952f67c01248c7acb3b56c82c434dc66f5af36ac449d447baf3160a76cfc61a7984457df88c791eccc4c62420603cb9ad415482f2b7ff6160e84e91ee1717afbac54ecad008858d8231c6ff41b23a8609a66edeec76899c204519062e1072f9677fe66900b93f92bc20007283cf00086deaa2fa76b05e063d78747ba53f408e294aecccc187a36d8730bf81df1b165698b157f40907591662f5935c523cba5ce977ffd5b0ef7a16434c91ab175d27478c2c6be33c05250dafb3340fdfe91e2e97ecc4a033111d51b2151817a98f217c1b302866ffbad546067c8739987df7a97eb82a6775729ad1d5923a2bfd5bc22fc351cf83cd03dfd42b329503f159ba1d16e6e90ec6af8702035c1b7fcb63f875556a4afb61e5d0bedf2723f2b375be7a0c13c24ca77b271f1044dcb2364c93504b7d5e549fc3a6f6ba49b19b6b9eddeb5235a4538111271d507bc832170b52e69af0298ce3041b0e07ac46c4fcc13cfafb3fa83fc6a4e31350540713d48d14d4408737e97cee41d58ff39fb5525d1a2f322dfacafad70302e0f6c35369e41ab88f7455c2f5bce6ed0cc7cc0469d80760ac32ca0045d5243b267c81d1fca52b03dd10813e401b49932417448f336da052acc792a9f45b169ec0608deaa3421e9ffaa0bb78164ef03182cc0671e3e79d3d0fb166eb17a1ecb147f5ae49d7189901ca6c0cf58e3dda0535bf9ad375f65d644ed1f42b43149621b0c4f0cd9a5747835d61835cb3cf4f8243e6c98e3c36b48304cc91b866d76c97a59b30eb7c8d94389a477338cf356df24ac14de0e0762df11eb8e83069324a2f667107ca6513ab29c925427eda3c9fed37fd8a911afa4ee9d486b07710bc2e79aae1d923c6a08742330700727f17a55a0d7fa008e216db704fc1cff9f42ddce1d7106ba9f546b7d9a9a06229c3428063739f83ec835b8d46dfc0dd48355d7ba98e721da111006777fe15087ac2fd5f42a11f38245c75dba25804bb7156406727bbbfb1fb312e58124e2dc0501cac212432ac6132b5ecbde8551b852fefaad244efe59022d4660465780cf2dfc4f76a5462040ababd4ca7d28af28df108ba0506d57b3e70de7c822b25a829090358818c85981d1b519d9c56e38460775ce0269497b9249bd1bd0e7003a90d7ac53d89fc5f2a71435f810a949b17d982bb0ebec203a3909a8384abcf058dd2063d8fac53a0602e9816cd014ea71bd493d021b78ef55be3cd00fcb35c76f422a33000a13ccf9f1e3db697ba2c69f5612630903d36cb2a8155cac46b56e1262a7e80a2ef34d9a20002e827cb9a10ab9e61fb59a00aa9bc498532262512449ff331a75701d1e691147a135e05e9b74503852b0f67ca5dd9678ad31684218bce88c4e0a5a2c98b92d97fdc20fcdb934c252183df0184db516ed93179e6e91d148606e4362976ec06e8e52adbcdda779b8521dd95c3aab8696e669e5f11fd20537a1bc232a5f9cc77d8d35d2ab384accd614c8bd495ddc8c1800ec067b90215b1904dd2d5ce898581f6a524ff0b188beb4cf9ee2a62786de7e84a85575398e6538eb595e28c0b2b562403f42f042a29bba15920da15a903da7402f709ea4ab4d7d9000c16a628bcc2e43f91994ff2d438154b50aae6af959cac5c7c965309ac4fb3110b10235470020a40f6f171c6837a4da117cdf9d35789669f09208b05cc482a4fc8de4de49652a624652f0aba092a0a7f0a7b94be4fb588631253f5bf97acd27b9fc229bdf72551fa8b98aae20d49dcd9c1bf33fa9defbbdf49f91dd1ef781f7aef25cbcb210aa7cb5fe8a78493671486708045f06dd5fc1949a7b688c99c3dbb251d4997c9277e608f60819df1a0ce7a7cfc002ad2a2e1008812215856882224e1013a2bb0c1902da010a2054dd001cb73f0f3c3fc5941102d84fe00036badb54944f15cb5d63af3c1358349c848125db86641ea4c081f84e4a03caa729ef18417d99f4469c210264940024515ac982f4b9f27aef0c415570a734e99dd5de5339c39029ea79430f3e7cb7c196029cff948783b6a9041bc1def53dac839eff4a9e3b36b60a500148bc10998f90594fe8a99d9a81fda5154382d82d613129f2f9f3c3e61e2e892ab3d51c1c6dc04e05f40c7bd847101fe199f4ef2cccccc8ce5e87b1e67a629889d687e0a6578c210662c6f7ea7705ea1879e16cbf353988352b2051434d6e914e6a8601a01a2062c22fe534cd9601a4b6f7a9d4c7a9d8c5f27a7bc8ee875f2f73ad97b9ddcbdce7d9dccbd4eb6af93ebeba8c085c98b75f2af1930df14921efba78c24945679fedd90ec1f8a65ff5b24fb7334af657f1acea6b2a250088082122d9674e952d32534a908789edd628084913180aa550ec392371030df5f355dc543ab72441eadf291fd9b0878c478de5ad52f83b3ff0d5fa570c41c3986182c4e4cdd70afc3baafc3f2c79143078f96a499427a8a1efdd4bcd132144a9691fda76b02e9d5ac414b872550c6cf3b75f6838f62499290c7f963bead544e916a1c640f228ba3b4cd495558c27432dce2c536b4e45e8a6c501627e6a88005e3b29862cc622d286260e7a6cf39fdadb54fc31d001012826d0c6035fed27f2f05c1ffd8bd18cf160f1d3cb4aa7364dc007fa6e23763f7d640df9b468a925880c798ece129f6a3a5c115313cee5b1103df2c6fad9a9ffa995d625039814755b681661f55e0622a0236fbbb182361fa3b13813f13a1876ce79dc2cb45d2748d178ae93cafeb1b6e665c313366907d639030570af8e6a0a186060e1d3ce4dc7073bf1b6868d5ea13efe9d24083869ad73de24999f2723c6fba74c09163b6e60b4a088072bf0e2fd4dd04691e268664efa788fb38914d7d190db66a8e5d87687552fdee5b5a6694b5aaa2f27ecc8c197a25bb78f9340124f7e3aee2d081d2cf452d12667ead6afb3724e2fbee3d17d974dd27e2e810b4aabf7ecf558ed65bef1d31e59a84dda3648b39c7681ac89ab42f2b586b73b97bc6acd47d98c041ee26d8307d64225ccfb2624bbfd800532c6ca5d5bea5f62da594da4ae94bd24c9b84993b3e97d1ce52367898f986f41799718763ad55579e58c2d8e6d774cb0cf0485f56f635269bf94a8735bfd2ea4f0502a2b5f9d4366ff7d47a4f5b9e581cebb4d19b2dcf9128123fd11343e2385f79d69e71f2641aa3b2dafc6a7bcda73c37ebb2302b6b19596f74365d79d2579eb595270db2b32c03a083a775c2932ee3cc026c7e3d7a2249bbc4bc4bcb4c31f4445244b89ed53d119da80222f78970af9375b28b291bea687f7e7d9d1c82110020dbef0de49098eaff5c93eaef569e49b5a8ea569611246543eb0040260100b20e00e4fe1653fd3a3a5902d9b73e69b40ccdfe37dc724af6e7b1f27efc716a4e6b3327c6c89376cc9c4101cf1498df3253340246b6818ef4c514153fb300811fbfee129e6a9c32b848ea244d8b2609435f8612f4aaa5c392af923453ca16bb2370630943df5f4a98114f1fafb374f1ae15787e0d0e87d0dfafe91ea1f7550feeedd7fb21f18629db57b478f684c1137c08caf2093b4bf2c8d5b27c820f37c85c4dd2549984e91dcf834b16b1a0d2ea0531f8d707d3af36cb504ab13b02dfd02fe288f308faeaf4571c6340bd8ba34b964be4152b94cb498c217b3f2b38edb021fd4535b3c1ddfca51f2885b3f2e083624ea58955e62ffd3a2c1d960d959f221ba897a29b95bffea2f228155182af028a17077c949883fa0a54695e65384cd6e9a5a8c664ad882a7f99a7b02685733abd0e0b15a6541ef53a2c4f2594fe32866221596ea0fba984b71572354785d25fe49fc22af39503f94bffbd1883e07f95cd1890af389bd7b8da0bc8579255c37ecbed2dae56655576eaee992d33c02357eb5cbeaa5182602da70982899e59ebe52b9dcaa4054708f5f88a25891641d0194250e209acc5ea0e102148122d8810248915582de26ec84e7ae3c62a33896328566577f62471c4588ca58823fdc90d946fb496fb521b475bd7156b5f2180a78b182b248e172877cd57b38828b320563f67f395ecb9b396af268faf2650e7e26e3358c8f58a3557ebc9a157ee6bbb3fb92f2df7c8d5b82594ab7133e4b09808e06a12a63f0878be8b52c270b5ee556a9316b7a63b4531d300950cad025b82e051ce64c62ffbd7cc2a12ef146506d133ad9a282368788e065d0a7a4282d63454964a1660da2f13839e0551b318bc7adcd7324607be4ee37404ec3fef68d4c9b2d512067509d20164e9e3440c90f0608a11536747b0e0bea42531441e55d3014e10217b8c98258d0961d098c085103ce932ca9be749517fab7c683b5d2a34030d5fed74cd653655727fcd0d4eaf76be1f9f21727f0ebd9262d47c68b1dc1fe3ab66b5ed6c419a27f74faf82c0be1565abb8ae6b9130f7bf96b13faf4bbff47b1d12c3c0dd77a22a84ef07891fb5c293be5ac18292164b86989adfddb3eb12adeeae4e29b5e1786bb573fadb709c3f461eee48e4cc263196f7ddb360b28860e0fbee274b3af162e548275eacf17a963e4554a1a549cda4048fa0942f725465e97304e8082d4b9f23b20c93a5cf9117e40fe52a46c613041f1c14210a282cff299a00977b8642a1af41e6d0ebe4198e77e4317ed9fef539d243e6ae674e9c2f9808a03f432b43e92fb33d0912355114a58fe5630c82ff2ad54dc5a7d1a8542fc6e0bdd172e3868d6b03061b29d186f4177a737df5c28f1eb7904818dfb03d0e5c5a21ada046375eb8375ac4187f319d1ef526186cb4fc0b7f0a6bb4d848d9b061e305d1464a04a5d0511435514a813006c17f95eaa6d28a4f2a5de954df546b4ac4408b287f2ae96bea7b0ca4fe85c7000cdff229312ad53f2589a94f7c41c481e1bf3e1d91bc1bfc153fe9bdd10804b198aa91fa171e2785238e371f69f4f5544ba3521da15028148ad69b8c1d3481d934aab2e97dd562f329f1f18f4c7f22f96a858505c42b2ab8944a3d064e2911038f4ff80514aa843ae117282e7d29d39f1ef5c29370527f3285355a462fe098d1f742d8f2a910861f91429c967fe1bfb0468b9812e2c020a6700c7ee15b1ee705b145c449893aaf0a36cb0f3974832e2e799403ad5d5c5c5c5c72c82107171717971cb269a5fbe402d262b833329de108addbc5c5250797116dc9a3f174a227d16412473ca239b8e4e092838b8b8b8b0e902c653964f917cf3cc982e632f3240b9f2b883e8a45982482292706840008372a288c3108feab5437b836329dba150c7eadb57ab57a35e5eb5753bcef3d2fe5267bff7d3525a5d63a8a19c554962aef9597deb0a04e94442a813f0fa4c235554945fa4a860c3c7a552a2626e6a394524a69ea26e626e626262626e606ec9525bc07bfaf5526d3a98432914635e549b894d205e00c56c3c3f243fa59f9f97e4af8257a301c91c2d097422f5449c135be9a3c305a0ded6626e627e6415ae3e7070795aac6cd8fea5e124e117df73ba30f3dc529295e09f7a78cde13734262aa8e723a9168c4a94685dd948a9c0a66bc51a822a6ac284489a34fd9d1e317891ebf28753f25e54f9fbaa28d943fa56ce0373d7ed3eba4843b482ad29048156f48f4460e1eae6ff4ba19c1000a05038c9b0e1eb351de58502bb09e19233d187ebf22ea1ff5a7f4638b5291cd806e807404dd6eb7265d410a717a49f74cdde176dbe1b77bbffe155356a59fc489292bdea878333dbe0f7dffa76a90be7b1bdf87be478fee49df434c750fd277a2c427d0c143d238cc579f0c7c9cde45a91b151c64aaaa84a92a7ead62aa3f138bce9ed60b16d371eb56a785aed9a61157e4c92a7dc77274cf2da89ba7347ad2e945a14ab8f23887af3a96672dd6337b445fd3b3e62b916d8ac471e649f358702a99b5599b58d8a692597bc0c532b8a7dfa21dea5391047307ce5b09278f0a6ae614aaee8f7e27f4291e49d60f995eb4ba9724e6a4883cc49c91786d5fcd2b61a9ea3785379c355f9da4549542c9bab937a4c964da248dccde83ede38b27cd13fa186bf6cc19ed07cf25f38aecdf7f45cbe8c8c1c335fad66bb272c8e992247187356d41ed6a9e5bb7fad5b059ebda288b1c413c586837b3a071c664ddb384df83a109250a535485e4b184925512cd684037403c6a668266546f4f10148482134818e711742fc620f8af52555baa22cff49dc8f354885051d7a998beebbeefba7066fa27123d8ef722ef452f12734e5de8fd17a2be86354fd10e1398d93e0e92d5d590c73cd22a5aab6e6e0da27c23613a7bdfbd0dd48b5e8a6ebe10f0f01758d7a3234750e84769db49dd745d8b38a2ffb81ad2cc711fbadf778ff37da7d2bd48cc117d277aa2ffbe874ae77d8f127b88be5349dcd92179df7ac1c219f317174f4f9eb2948f47d00fd7580624ace29942bf12dec721ea492a9e09ab78284fc5f42592d775dfdfa9883927b187290725f620d243e57ba8fce947493375dd9bbe13532da2defb71267ba8f0f4a6305503f5271593e94b6f32bd0dd4ab981ed5bdc9f4a84799ba938908edba970a8d9553ca4a785f25e4fe1476264f54d328129df3de499b4e6fda947e15493073b524fcb5fb4b49189b4a9f42c28f731f3f1113f7391deab9f0f42612e93eea71eea3f0df6f1187fb9398437a4eb26a78637a6f74278b4bdd6093b8b3137aee4ba1a45cc813ddee1bb1688b805464ac8025130925e33e187a251309a552224dfae00eb7db0eb7cf71987abf73fff495d4753a3dba2fbd9342a17bc51ea8bf9fe37da807911ee09b3e74bfc7ca877ec4315ed883088e8c277d0f96f7fe14f69091430447860c3155e3f4dea73ad5893d50df3de973569e45f4fe24f6208283faee7bacfce9c170e5bb10f5a79054ff46e84f7fe37eb7127a5498aa628dd387eefdeeefab8444e87ba7d0f45d98aa717ad3494cf5a3ba2f7d0aa7fbd277dddb38757f127388e090befb9cd07b6fa3fbd39f3a31e79a421a0a5394d461934e6dcf06a1507542a3412a9d3a0ff560682285df974e9d1722d55987c05e05ee3aceb883e0bf4a15133333b3011c35b7b6beed424fff51bff3bde96bf72bafc3ea50ef3d0e0ac5dd10c7717d83a4e9f7a7805c6d8049f61f45f9d6220e194ec0a837bd9430f64f5f7a2ef439ddab84c49cd07f9eb712e610b9228ee957c49c4f4c51d3e7a8a0ba47bd8dee51620f2238a50f7d8f9328fdc546e84d628f921453d4ddddddfd96e282fad37f266999b9226f3864b3355df3c543ea9931fc2b61e8553a12ea7aa70e85c3575336b3e1b0e9a837f7ba8384f11df3c57790305e451d12c6bbbe147128fca5df09bde92dea14736b7ce5288c4f628e29a724d271868445e9f1f4bc60311db79f2bbbddd073c974e20445a3a1623a95465825b48f0a53fe1486de14de2f75a314ad69d288c60f8d9f294edbaceda0f77b468e37fb786fbffd9dfb29df628a8a3724ee9dc378464c799cf201b9f2c79143d270d97fbe7c357a70fac05fc82737706f9f48fd1ccc7d1571eca788392351fecd8ee83fefbbd0df9ab6b7fbb89027e242c9b2376f8f0a309c71d5c5b12b33a0ca494e9e1218de5f09bb5709bd47a528ae69d42994acd2cc6c6676e366cad02ed55bd5b5ee5775eb731cae26d2d37fefefef84be23bd934ad7447a9c4beabe24e684be1b63b28f60ee9e86345a3523616aaac67dd2dbe8bef4f5c6f43838fcc5bf144e175804dfb8b96951aa06e9bdc721bd777ad25b11a7f42131c7f4a5277d282c75a1572314ea710ad9f0be137b984429a6a8e75298a2a43045c51b2ceeec747fbfdb7da3909772f1fdb0e049172cb49cd0af03c2170a3c93db0995a267bf0e088f333ec8ee331501cf3d7fd21f679149cb332dad028b184210d9c571d6669b80f0f879aac6599bf113d3b729a6132fd4a15fdcddddddfdbabbbbbb83feae72951f63667cb284a107c3d3af84dfa35254254cd11fa5e8a7506f4525942c52c95da451b33204f65cf3ebeeb4fd7a757777f71df6ebfd6ac512fdcff4b7e4dfe289a976fa2e8642a7efc41c93d8a3f4de9f3ee7134dff85c414fdeec5147d7ffb3a4c19ba86996ba8c394a15dd96ba8fce97154fe646a11a7f427518a52fd61eafef7a2d47d1bdf9bde86f7255ae3d250de0f87294adddddddddddd6d8b9278d265a4505ae5f4e7d79f2cdacacee341d96dee40f976c362a37b45584a389292e532dae7a5f0b83bd0785bc603a36207f5ad6f55e0d074246e9bb78a197ff1af69ea43982f5206b910248c7b4cc278ffd7f40c3fd3323538168b855ef43bdd8f62dced56f6548b379fe889a9fe1e27f4df6c7124ce9bbf784dcf9abff8877ada3f2099af3ce6e2cf64794c7a4cb242a1b0653499aff003423f36ad672db2b909bdd7d11c09ed32aff90a3f08054692dddd96fd47448cbea671d841371b9335127374587df3177775d84e5af5850ef3c1a3c7bc48cbf8919619db498ef98af4fe2e6b19fa5e9bb679eb56cafb0cca33b93fda2f3d04e6f2d8b2ecf8537ef4a2efbdcec5bd50147a4ae8367f719f65f75a76bf65f798bf38a88498edd210cf9160ff1b6850eab58a35e112d8fefc7116c974bcf4738c7804493fbe2a668625f41e0cbf27852abf129e3e144a5617a64c61aaa2c2547dfc922545a9ae6916162994ac15542859a650b2bc1ba756a45153051effc66e40c28c2519598ea51507e60bfdb1db8084a156c4216166c0c205fea49452ca994c77707f7f8a76b07f451c248bf452b40327a6fa71902cd3977e071c246b6747e5bddf39fdf7564cb578637a994b4fbfe57be54b4fbd373d8ef7a6ef377ddfe7a8bcf73aac51953dd47b5f98eaffbebf7b9d1a0e1d72b4cc4b48087ec098ade99a406e7d83637aef714cef75620eea4d62aa7ef79255fa9098aa1f5a0989d457097b10e9811253fda6fffe0ba53c2fd0cc0d49e3fff384c64489cc9ebbaf888a3d239f56e1514a1d47c1b307b49ba16ec2a066adb537346350bbde0b4976efbd9cc931d440a6ff39d489f76249d3b7c60979bf7382feae922ff2ddb926a3dcc4ba0ba104046d2d81b5b47aa8862837396b2b67adad97bbc13765e05efe68ca40bf7b2c57df5df38160f797a02930c7c83464ab9d211ab2b65ae9eda32b9d7261099cabb6fa73cdd5ead7babccf219e6440727cc5a516a2bbbb1b97fc7413929d9ea690c9e1d3a74f9fa3b4d94ae3da60c519d9c4ccd71922f0e4699911e7a03ba8cd66b3d96a1d0d817b59694678b2a41971650364499b5d91efe7247f96342349b2473f2e9cd97351fd2ac7494027d35a0199eda52ffffe58b3cc955afbfd1ead2e396543e7fe127860d4c9356d01fb2d8e1f08ec7bb5ba64e9e2f4c77d9a9122999425cd484f963456d2197a4b5d720d250db997220b0820735da8be274535505104fae7d738a5e2d3d03e275d5e521b06c1fceb32cf9b3932f71e8efd63fdd1d2a694b60cb9e7defee8fe9656b0d62ae61aff3297fa9a29f734ec1ec197ad38f290ab18822fcbd17ee3c851aff6bb221bf9b239ebe1e8d9bf6fa8fb3c1c43d9fb3c6ccf1d5e243877eaad724a29756b5d3eb5b26b0e5116f07c075f3aa55eed27e58a7b77e7be2bdfa9bbe38e0b2194d039dfe9a4422869192809a2440825422891e3cd53f4298492cbc9c09352ce3033d358561a54ec19adea6f510cad763ac131a854d5561fb0cbbfe568cb0ce4aecf42df9537d3eeabb1a999dd1067efdb28dc75274d6490c7ef42131778814559fa3001c3077759fa30e922bff56172055105851638254b1f26405dc0384b1f26b457cd5c98f0b4bcd9564a29c5f69feedeee4e41f076cf6e952df07c9f299f0da494212e282ca861568e73c96d01799c41b617e4b15bb9bbee1f5d7bd513404794f00316a4c8a2883c4e9a163cc8e3fcc9e39c22770c87b4159147791be55142c95286eb965ffc10050b44f022a603277e90c7c9638528f9e6710ec93149a3fd92897e1d5f177410c515516ec004145603c9dd4eb4e4963cba64d7a288ecee5a4c91fd0a3bc87e852db24b294301b2f75764e3650ad3a2871c7ada32610e3d27b209d18ec4b2113e0416640240800246bfc8ec3bb11f3220b33ce90fcc0ab27cffbe15d95cdad332a387b487c286889e166e33d6e822ed1169cb482a32f7b48a6cb8526dc67c358382624b603205c81589589ed4886ef5006bb562f36790af262b8bda8c4cbfbf20f0782da6b08983262c88f67546fb01aad974d86e41957a0c16546f79be0e5fd596bfccbf583461b21e586c46ab4113d633e7e4a1b58c6c490ab3e5f99367cfcbd5b06c7f503ff06420c1f26fa041837865fb706728cde267b67088270b23b064fb2d221b7b5b882104319229310b2099be8c4b840870b29432a59f450f580021d3074536144b243d4d5073450a254099be8a5400185320028b23828c40615922b2fd4116b2b5d65aeb3de6791f252bc8f4297d94c8865efb94524a1f604310aad802172f08220c2eb40f926821058f9e4436d424803c7ed94e91c7169706e431861933642b451ee5916c93647b051448a610c41492a0020da8b024db8f99c941b65fd332d2a70ab76c7d6a4df801820f3ad201aee041a68f81e011cf2f8fa76c67e4b1255b1b0304a2b00555b67fb110d93e688515b2fd5702896c5f15440a4bb2fd14918d9db13647134498042121074cecf4c0c7082558b1073a5a46ce1f896c6c1232a52fb241148468c9f6bf193129d829e3512580aec8f4bb140c806290edd3940da070850164fbb754c3820753a051d1840a961df20473f2070a37c8f46d8806f85d7a85b590451b0b842c24cd01aaf0c9d4deeccff84a87bf500cb6a0882b98804289980f19cbf220db2457f891adb53608b6b6ab021e5f46005cb98a18649ad60b47c0fcf75e8ee386fca8496c5c0c88fcc44f1234c84f8845918313988427092c490faed85772c4537011048be3388e133204733e54b82073f6969d08ea1799c78b330699bc6cb72e0c2b8c24b15c4cc132c19fad6ac108142446c61002be59fa2861033b041e65e9a384105c11d866e9a3841135d86cef72cad267092b32cdd2c706248f1fa385286e0cc8d2278a9e29a56c4aa98fe123851159fa4451cb638896e7c790a58f14addc55d6da35899614b45c7f74e5a943f2648db5a58c429edfaf1dcc2715c1f22f78c3ab9ef1902bdae32ff36f0bbbe4cbdcb70a2c31f348a3776157f7f3fbd5409aa785b4ccbdb697b75a7794c202ecad9042a1412105a3b65ab5d3aa6ee5cf0be7add5ca5dd8b3562bdfb05b41feeb30559fe6faa5b0d47372427a7c2561d2491538f2ca23c71383d9cf8a6c3821ad9a308ea75553044364fb23c76343098b6cc5947d99ef9368d8399106d11fdd46a1dcee27b2912da5a49fd3207a7b8daac0c1389e96f9961d14768a0b8fb268a96029a450fa45c610fcb9c591eba141e4cb7c1dd07e90e7e4840044fbe1786250a96684313d334343cdf3481a7a9bcd461ff5a73728f36950cba4e4f915568de8d58cd528182d237da098e516966a4616b1484fbd399e22b059cf9118121913b32692fcb400e8566b99b193b0b5cce8ad7c6b99d15ffe9234425aa67130247346b4e491e3297264461e399e29ae58a2833c724ef284e59183626df62652e5d16d339288f3ddb45a66469bcd66b3196d0634b3e5e0dd004ac2be2c4f17d32184a3d632ed6a57bbdad5af7635ac5d1d0bc1cdd12d90342b34c0a92a63d5d44de94d0ff397c9139ae119cd573ab7e6361b77eba1b7d7b5d97cc505f9cd6df4757b28cf8dcde764dccc766ff795e7e5c9f3399e1a1724bb3fbe9aafd0ac656410d09dd138dbe4a9d12eecba6e2b4f9e52c883d5317ff28faf3898bfccc740207e90a3cd9f3981f29c4179f2f8cba4b71c1e32a8891dda6a31e1419e30fbe1ae8944d2f48f40661102b9248fa06f51e486b55ad9450aa5554bb214d9d01b90d72bcba4e88d42610162b6909f3c9367061b929a3dd388d9224fe678e6cf18053cf443ea199638e9a8c0924e291f9c2f81904576d15d9e5a25673db0b5dc34367b7ed3181e671e718e491a1974bb463012181451c87d442dabfca55d120933f7100d83233211b969903b2669da3567adea9729496314897e2a6b99949f1a2d52646c5792dc73465b4b6cd16f2b75b5cc9ca5c096fed143e4b181e496e248672eb396915f03716f907b08d3d7346907286152359a25491266fe3ce59caee9fa0bedc93d69bb64fe12032a7dfda940355fe9d4a0eafa2a2d89a36de5eefa2289e374cdd7eca9b11f0a645bd655635416f4faa9365fcd1e203ab3af5b05a2b5da8a0555596e1a0b6598c241fd493499fe641253628d66495b2375ca13bc9964ca9faeb5d65aa9fce9c694dad056c970fc2e5739ca719c37c74dce91fcb4eecb1791cdac4013805a25b34e9e49b490c277bb81fc089e946260cff26d2aa722066ed104429dbb2c9b2802899c0abdab62983902728147097423874f895bad089e74913de5d72aab2873f06ae204669d56914dc7cc30018f3a5972e278af155b4a2ab2691ad3f8074cc551ce4e36402f5213d00f1039a6a3828a31aa9669bb84275d249d6144760f363f339046cb469104ad8a7a040e65e943536289a035a156d0a05828d8c70a90fcf8019220312c59fa30d1c318f7097c0179a35b89b4391570bf37abcf4a43e6f935c83c471eeaebe4f71d33cff88a245ffa319630fd40401f905301bb17d5da9a453501255283ccb255ed22d60e1f317a206a09853c9e54796c0123fb3b184f84e1039f30c2904ebc80b85d70d247f02054274c178ad08aa882b35ac625539e4b978081137e00b3f4f169810dc8bcdecb8f2126871e92c6ba7cd209b99f86cf805c690194496c53b857552dd33578a6f18528ac52d58572f7d3045f38a5aaeb52107acfbdae0b6f6e6855bf8a8629830d1201fded640212a67f6c1a0d7fe92b6fe84fc341106377eec635218362c03ee288652206d65a6bad1d8dd103eb63b6236b9dd65a3b036bc445e287bcd980508fc205ef23f2287f7ac87294b62e0091fdaf3ff622fb9f40ff181afe383c4a1651ac088d31a4baeaabdee5dfda218a90ad753101881080d81f1fa58acb841818105ba71686104283100108c6320a153226735c00224a1452ac56f2e5f4118e3ad9a6daaf214eb758f66538aa602c01cdf553364c58aea28ba30a7030cb8ef5533674b98a3ba4642a12615f4221c7d478986d28fdc55f6a4c1889c20492225946214b26685938cdeda4b54c9259cb9472eff44a35a3bc5ee3a48d130c96bfa5b56364fd7dbf09649c428290c739a4a589cc22d9c553e3232de013ef021483ff34cfcb1fbf1abfeeec59abda8667177335cef944d240d1934601210ba98a1f903073d2be83481a99e5a44d9bd3a899b4d0f70149f323619afb71d238d761d5a721085c4cd96c459cf974d26692fad3b4d93f5fcb932ef709ee2ff294814aa4cce572b95cae8af1b52daf7c2bbf65cc0d5f3513395d139c4ff2fc8b41d7cb286a48181e7fc194b9dd4de6ed027714d07bc8f39b492391a0121c053cbf6992a6efc51804ff4715105010101090af52fe6270fe74f9ea868f44aa2cf378e44ff99dfc2bdfd69030d25f3055f3a7ff90e78f5f9e3c377cd53cf7fa4ba03c5b6c9a849909c872facbeb142678ccfbf0cdb7791a3699982f6ee70fe48b7bf4a51252091a1a0528200c5958c609b32218786c197d193e707777915679cf5a365d48ab1cc6f3b49564e781b58c9c2dcb62c3dd371646ac1249c3f50c8c82bb68d251c88da45a6bed7bd50a2c9ad8afb7b6ac8bb4af16e0df47a6c8ee4eb25b0af39f43fce71748649f48240df7fe2df3643e7dfa7b2d4c5d64339148187f8e86e364c26be1f9f6e609bba20c1fb87b2826cb0f9eb0e6f115f696bf53c7a10ba74fa63a2c4f8a26404140c51497e2449cfe2688c4320f9e272dd770d25c9c6bd2cdeb972ea220e071be5a5a05227184366b157ee1b16799d63261c75a66c3a1cf92e67ee8e74f1872ff084376f796b6dfc7c83bae3899489839f39719e669244f25908cb3499e9326616e789caf97fc99922fb303e191e99172be5a35dfbb4db014d98056c0e37cbd3c77773a9be4493f10ba1246b63008622c7b913432bf573a8dd92f2d1c8a60f8a7ec031266d29034320179febd1883a06ccab294d3d6c3e7455a35655e60f9e394fd78483c8f790e5a920f90a54f10117292244fb0fcd0186510b2cbe57281f88b9e947f5b031f5fdc131464924ea3cd662c3fb20a9b1546c11f962be0d1cab098ab3af3d094d31ab14a244df7fdb6dfce24cd04a3902d141689552261da623143e2c8b52a15728ba38d025671b45d4871b44db29df9c058ec97957598bb92c65d0f62ef97cb436181b922a68cdfb817cc95e31980414ca7ed20f7732e90344ce4aace649d713e72cb3a7b92fbadccda248de4bc2e74bfc27c65faf15698af2ca86aae082e080ec53299f9cacaaccc833006ff551e24c519e4525cadf7f8eac669fdb6a787f6fc876837da0c92c77eb50ce46ad6bc5f571c55212994c77ef9e4310133889549188b04550b429659b332da2361fae79c52f5d345ab7bca4a7ba458c4ceacad65a0f42ab4475a4622e1a236da2980725b27b92d2df7f44a6b99fa5367478cc8634d52fbe513e48296294027069e4f4537e8a5e2c5d765fe67044ef94b96f4948baa98671182a9f838e04f790f3bd36819ae082e08d832912f9c0ff00b6c9ffcd8dabf95b995e59e3f5a9995f94b7bb6b61eb0fcd1cab8180c569058c2507e2940960ac852a4c9f295c8f23d4fc29499b016fde83d88b9ba3bc045e47e397d08b9df83489a2fe44a255ffa4119d0dc87a499b32774b9ef1e5fb52ba57bdad5a614d1c327b14ea0244c55ff481c9d09b98718c9637fe189b687f6aadc4112a65f460f98e5078f4debb957602902b1c0e3ece9f1d58cbff4cf9eda35248d04916069646c409e347f991f43a3c93be537ad93f44f07f94eaf6415b79ea265a48f1690e825b61a1079c6851ee4b1c1c84de5dc4291dccd8556ee025c5fe1295f248c7c9112524a2955a280e7534a295d81c36050abcdb8dbb7b635ad81bc451be63ceef291eb18d97f4aa9640869442789b0ca80b6e64ab2a6fc31610d6bd8d830afb52d778f1de4fd97366b358cc75fee02418c61ad5c2900807cdf6b9e580b893587e5faee3307418ce5ac26571808c2bed2a652a79b5c0c5414634abd38b2e3450fb9d6f74436f5071e71175220804dbd9246039d55c894481499524a29157181d627ea1395a53ed9c9f573ad4f86e4fac48b5cbb50a2aa667c108244112d5e33a801150d042392d4993c7e61dc9264fa1caeb556226841546badb55a918d7d71828b29b86001c575084abe5c7fa6d65a6bb596c2b085edd61a33539fd49f516bad31926e810400527c5bdc7b39ae72dc162f70810fad2d68c002d60a80b60812831318f31779b7f0c10d388ee3765cfe22ef164bf8c1f201d6a0174120d72d68020df288ab154dc8814a963e4e781286cf72b36c014f77a794ba3f8dcd1e2470cf5aa6884ca5ca38c0344b23c6c83b3a8f2d438284e9f76acb244c57b19b250778bc37d42cb94978257b1e5b167a38ce71f6e4ee2b7a49db5a759330fd444a5712ee43f64503b5aadf7bc6c4d9d3b2dc2a55ab5ce5338e099573459a2bec32572471869e32730507d8f30e9ac7191ce05ec101ae593efd8e2c812b6dc635ce1f1348e9e993d6aad90e333740c2b88f3cf6cce38ccaac2ba56f25f59b07d9fa0ea555ee417e6b15cd93f84fcb70ef920b6516bd4c09bff7def3947094a5c8a667b209260cc9f5b367c3eea7a886d05f3ace590d29a204ac173e2cd12253b1892ddcb28e3cea99ebc07d647f2f1c5b49133268a2a413c78675abfbf622bfdd8b314dc23805022681290f7db58a05093cfaeda1cc6efe42b0e400efb001672bdee0afe99970ee34ad67adf21f676672356750c84ef2726895eb90438784f11d5c50f8e246ab92b0e800fb8fd3402ce09edd3b8389bac484fff4093808fc7bd660bf8a291be4d7af417eb5e2e8f569e5c453bf4c9a635e8a1ff47bbd83079c3d09e31f9208f077fa73077d1e6e0e4918b7693124553e4534b4915c8b28e0958a57c2d4d0867e9d3657d278149efc6e4afbcb52877a059832727655d2f80140718e9de58f01a6d4a834edb645450b15d108000000002315002030140c074442c160384e0459ed0314800c789c4a7a589c4ad42888619842c81843080100000030000223a44d025054fc7347b45d2b382b2186a88806d809f0f289fc81666cfb9669b5d098f36010f3224ac183412864aa4b334fbb7c28619f95df0ccf349e5b838b774f7d3ba6f422b77989d6dec2fd14c523b1978bd6a3a7a765d48b1b693800e2ebc595c3b8539d64e86df3ae00d1a81a91bfd4f6a0a9b7d75b1abf7f8ae8ea1417a2e11592a80334a988bfac7c946f1eafcd86898074f7d513bc40afd3c2d12092e4f315977c319cc598ff5dd0d8cad61670911b36da794f4d00bde401970af8b0bba715e3152d020b7df29bc0ba7edb9cb4a1a96ffec8240dad9b22f039ad48d8d77b12ff12cb1b373e0519df63ddecb1f46cdac63628e59214696ea646ae28efaa522a13400924a78de2d4f3fe8a597da1a1ef5109bb9c5e7a3d49ce8542b65db120bded342d2bc28ebb85f31cacb0900aff8840b2f18c821c71011e0e8106beb8bf065b7851d6ee2e2900e36dc703b5dbce11d625a3253b210997ac7cb14c1656135ffc2da2a220c3ed4c7cefb460f8c0b0151631a0aca3bab2f045fc71dfc75260edd73945c4a4d8ae7a35fd3d3a00dc6deeca0a99ea734516212e96c15a98e0528362b02ee15f5fc45c45810fc1b910198ee3f878f114580d531d8a6f5c1be809eac4ec3ffe89a836f6692f839d2a454b9a1cb03667a1790461e2faa03e34a6aa953185dc1f07946af94ddefb512c5dd8288e45905e866773c4746b590224d197a71daab5985216784afb549cb3ce35ed5fae5893a7a2a156fd47226b755eebdf9c0db51d90e9da03dd7536aec1b82616592035b4c3f12de435b80216cb6ab8b2fc472e68aca61a7447db19e8e0a9e006f04427b858010580f0812d2b6a928fd317fc04207b1d7e6d2870e2786f91fa4304fad570485e579b38da65de12f65acf8889bc0352d65ce91708351ba21beacc4a1ffbe739df60ddcc08ce9669650af438f55265d037468f1f7ab2a2375a22318724828fa1a5f3a29da47b14c68f608df471f17850d58ab54dcce4e1841555000469f2f17f3d1e725fe22aac481743f8f03377a0f19d03821b0769c4502b199e9a2f0c5548fb585a3b244a807bc6a1543108398caa402bfaaecc068324dd10950175d8ab8e7f61c452c3a79ff3ce3e3659e36f2303244a11f27ec0a91b1807b2b48aab3539576e249841543182e5d33054c87a09af149cbe93acc0dd3f3f7d23a22b7f4103f56259c6d4db2b8bf90a8d6db94873cea84c912ae49cfee029d80e855bd5965845bb3615920b9217c1f08f9e8b6ecddc18ae728001637185bd1e0af9a4a56a3d69ddd4c00f8889161dce12f51bcbb8bf39fa65b2b6b3f406d3a8a337ff51db07ea5bef8e40cc6eb872db8ac5a87623060409f02cd2234788ff83bdd0a2f3706e4afe591499a7ee7c730ea7722f7841515515933e91b3403fc0cc50405d9203161b2a153095c9f68518fb71bd2f7a0fff6881f23a04183a468641170df07e5c69f5bf531a950d3af35b1a6ceff5e43cb94222b870759af9c35a835585071bd52c3eed6402605b07cab4bd99fddf731390bdff600acd3bf35cd59b5748db9ca4f3921ad03c032cb996a276b679eb9fb95be65cac15f3f9a338f9ec20ad9bac9f6a6d3596f85d04b0a8ca395e251cdecca1ad0d4b950828ae44ef461e08f244350ddbc14e597bc04e1ad4fd4a16d6441df206822c62918205f796aed798ab0b951406c0f6454438038bde6ca80f9a5ea3f9caf347483f5a310265f644992eb5cd6e284ba3b8b19ccbf3f98116c38bbc27372278dbbc73571b8315fe2abf1918234fe5e81427c78030d59157293b62ffe3bc2cffb81bb341e59d3d478572d1c8d74cd57260387069da3e4e6365956ea38c56b96c40583d8e4e25c91f346e4edf65123a21ede7ebb1d3c5bac81914d16224860d64d77fd8403ff5520647cb09f592522283aa589dcf226cdc7ee25fc4e15fc7e4ec2709e5aa23158c488701871075d8cccdefa496c0dfba4cd9df64599c731c65a71b39ddfcced88e7e9800a4e4c42e3bf2292d57ac0cfb81e86ea5e88c756c898b17ec6fe731e887fc734fdc4fa7e5eea7515567ad5c994536a625b06c9b9e599b91ce8498b22de56e5267042efeefafcec9525230e89984d6961df901b30e4476542fa1c1cbe60a1b9ba082ed8a9031616154a2858a3e4d8745c5c0ecc0efcba0fa77927598720ad62e420562da03538a49763e613ee8ee6a91caaf84c523616ceba13da1c65d9ee74c38b5ea713395d07441b94747180e213becaa3f668ae83ac822e1c270931b164d4d910445b3c55a9583fbd0b42c4e764931e1b871f6a52d0a39e1d338892f48ec7ed223272402b4c1a27b4b13daf48c601192eadff523fdf40e76be1ab651d99f5d8d9fa6c073367c4efd3007a758767774047ba56fe039aa6446f94a0afbba527bf4f25ec9687dae5ee8fcc3062df4966d42ad019c26a0036f049b48fe290476e057a79f9f0d824579d6bdcb3e63974ddf32586668b1c803de17aee4748f8fd5b92cda1f910b829cff4dcc756181ee9e7e8900572b0ac6103056438b131e07449ec5be6491aaf9ac1d658d75404b1992ee21f92c7eb28df284ca045adfc967b0a7c09ccfb89c7b09d5c09515b207d12a6947d84e56b3236b90a980041045e13226c77780118fc65795f4f1a5a27cdf5bba50b1525b65c13ff6b0a55b3a5aa8a0b27eea2095be7639e8e245bd17c52fc3e4f23cb21c0bf69630e588bb84000ba6943d39fd41bc583384e316770c2583ee32d3d7f278ae191c999e0435f66e9c254c66c5a8880c5c3bcc02fd56b7c3a4f8a660bf6a2e8028a91f9ede2284208362d9c4b2f354d8193b406db09d59971f3d9abc881e7a42127bebdb507a28949a6731d70132e3392247427f90f757d0c09f3b4b0cdf4c8f15091fb60038a398ada9d7e4038de1ced50a0b7b6e723f51182cf5f19e3c45e1ace10b42e49caf2e5afa92c0aeb3ec6c02b1741ede951917874673d217d66b6a26b0e9859ea3c45269792c1ff3785b1597c1efad3af918e4b264687acc8cecb81f9b5859eccacb51a5d7e7d58c9a1d22fc14842ea8753df30179e98f31d028f4005aefbe83565b98d9ca548bdb876174a2b3177c57c1f35a02f4e3b7f3ff2f20146d9b325ac816120d05469b422ba45352f22c358160ed2be0a76b76fe4932834a33425a62f583d334735b8980ef8ee5f51d4d7515683cf46fc22126e374ccb7d8ff1280aa436c7eb9450ce097037e008f31c4af148db0816807b9281a100133d863b58d8a12e4d9cb9e4901897f7c63fb8810acd7f4cc21cd5af4a0250ed74362c6f90cb4437850a0c29678f6fea5968d6d7507cb5c47d70de42ddafdee945ec2bbad907ecfe17a4f0801a7b9d9dfa4367104839d09f8931cdec52a60586c9ed15f885dd398e167724d4056fb7f1120c2fa988dfd4deee5fd967c083c872ef46255600f5c3c4c6e7dc2b5a2ff4235a8e157e4db927702b502777891a416b453499c7b21e9d8967d526b9ff3facfcb0a653e71e107c6d2f203d3213ee736b822c50d691b3cb3b12a99a1195f501c2013c26d00cbda7ddca508ce8717565168b43db58a6054cf99af1a3e0876e075aaa7774a0dcae929ce6b8ba8b6ec2e016c594a83118df835c57ed78f34c2b81b8b790a87fec1fda7e96f52c4606e416b3e0b9a0b491c950095811e81b34028f0d98585043433b26742cf39b54e3c181df0be013523ecd0a85b5a9bc38299c1d9ee333e2dcbdf36cf80a7fd9d20306878a756a59d981bae9f4158090fb0a5451f4550c8735ac02210207d9b65153cd1d6c0ae33a67a67f75d943d81b62717c0eaf02beff815dbce524396b925e9897a776012bded50af669c7ff647388656e1cf0f028b9c22c68a3c777e6a00a36ea3df3985904280df8c4a1e488220cedc224e34f028c80b665e3babf27b2ad0214b43d521e237aba3ffe792f0d74fd70fc29c719eac87f5c8ac415f8faa21e8e1532cae99fb1dfbb2e9923c6689d20df3ae1d46bdc8477295b4ca16d8e5f2b4ed57153ba8a888db4d92aca6da16e791619c278d4741919063cc418655a44955aee67cef957ce17f49a395eda87407aecfdfb717522a712db42b48c19e5c9ff1090c309f74822a806403a3d3e735d6e46923c8a0caa0105a2d665b7e3c99dbc1f32e1e7c0b5dd6ac52d90265648c0cf4c3c246ee9a2a880084def60fca65dd7c5a5f788761a09fcefa410ae4ab0921bbcad984642f60ae9030b1e6af46856345115fb2145b5ed64b53ae2c1903b6e8bd1fbf5e526abe1c35cdc13cce805f4f1d621feed06b66ab0b03fc33dbf54b3cc55f72fd577ec0a08e03d6f08d224ca1ca04d75201f3ef918dc3c05e62504c6e556e64e6f91327ae0e8f963fb558ae1a484dec677897ec71016ac7fd1fe52ea6622222d5f72f24e9d4c7b2cd357ff5d2429eb13bc82e42f38caace9c275a9ab2e46ffa8412c06704203388bfe6e4aa230d6e6c25b43558c9e83eb679bdf136e57c247309cb3ea83311327d7307128e5caf06207ed821b0fb91f60161e58a06cfe21e278c9a3d947f3b6c44ec0365e1dc31cc65070a55d39ac1db41e8abf9e59d55cbff8f8a80f9e7960a7ea896fc433a528d272b3c01387a82d6b5f10a8296029ac1eb75c49308916f03a8ec1e14004872da01dc0c1f4f60e8b25414c61c7f1f1296338912732d22b470e5cafeab0754a4e2fc40940b07eb7e64b50c345bc1bf9ff50d2d65b5ebe09a4518d4ed46f911e5724365941a377c3200b7fd4989a50e3ac12a572677da71a46d9db0e0a750dcec301db6c297bef135c0e0ebed17f67b800efd2cb7c498e531a54c85945dd10046e1d714350386768089d4baadbc9b5482462d824fa5e36c0976c49e1438e85a67144f11ac7fe7c32e1c7aa8ea1dbe6518c48699cbe1ea97beea09cb245e0c8f7c7b488a94b1d67c1963e736abc7a8476007e26a3452945e3c9b58c0db399ee94a3f48050b8f5a1edec879db435d7bd98974097e8271e7c0f202361fbe0aeceb210c51b4b6cf14da821fd3cc1e6898415459dca68ff714e2401566257817a8412332591f9fd79f9181112a6409665e8695c495682016a88832c65805bebb725d7209beede2660f1cbf217edd12194f5abef4eda2d2c5938462dc082c74b60b412bac954f5f9db44fab7ec38ce5e0e6a5066639505deae99ef66692f7fb9e1d362d2dcb4cbee40e472c68450214c5bc6f17a7da232fd9372ac12638e1ca374b897e5e144d2f00a640e39ffdd905ca09f4fe535711096562f99b4f7bc24609dc32d53eb1ee14f6c3f2e945737f729fd2343f8c4cbbcf707a1104464eeefdfeceb66602096e0bb84c88a89cfc6fbcbf05516b43943bd6e57dda9ad2d6947a2fbfad38a3c931cae6cca3761aaa22a3ba1f3e51b6a59491123901c604ade0ebd70b33be8ebbf0c41e20a1166b348ba851d9924617f19dcb71685707547018777f66fe48848459162871145320d59b1a2808981d1ae3a30f773d8e47989398f5b5f9171bcf35a3288b822ea89c5aa20d2cc921482efc5eebc928fcc4685dc2b8eb788311e9e99410ec2d8c46617b0b23ad520a9943e27f61c8c0a4147907409c4983fc5fb0994401adc1fa03be652fc6a696d6fc9ee4e6c88e1a9fd74c562c143744237fd805e8797309e8fc9650c2a4b5ec15a223d07fcd341ec590d6549ca2e8e8543b89f56b9c849b1e3af2e6c5f945411917b67a33af0df72353539407249f395a2f55daa7aebf26946ce62a8c96a9ee76aa918d13b5a792eebf5884a0e240fe9a41bafe8bdc16ac5e1cc29c209fe4630d0e249245eb7db5dd4a1d3a64fbe3dca40af9d54882d520e1d1a794b2900cc30fd0667b2d01eaf46bced8d239f7becaa778f4c0ed302d58839a849e630ecdd0d4aa4a2ae6faaa9b25e2da9089b08bda024d7dc2f91a9fc46519543dc2ca849240ce34902dce8b864fad25599b22a90e9e619c366b20889c96dd90a656bd119df33e0108c76a59635a017c2e0b16e1237fd4f3d338a7bc0a3a7796897f36b8b1646080bc35d77022d0b73e97512dab81406a61e1dce2cf496b467a13499513ab6319c05b66f23178ce3838818ce4870dd51ed66522d58ed5e4f7c93804c048bec0ee3402e29104bdc4f5f0ae9709d93b43e161f869295e268117d0e65777cb70df8422b600cad8c28ac9bdb2a70414b5fcaae85487b861f11461c79d7c414581828f16d65ea0098009b3b63e6c17aff0c8a52b419d04eac2637d9acdb09894a7389ae779c3190ad558162f04a549f5009e619c3af84bebc5f5a36f103544d483a16b5493a8a15e442e284f302d43b9806afc0ca9dc970606b9db37921197169c4c8e8ad6f055fa48c63dd3c74af39f79f04b62e38a126397383861723e9e56692e188031e04968eeb7098cd8115b9f2da688223c9c621784745e27dd5e768e4806f25c470c3c5ca9044db13df45622deebbbdba4159bd36ed0f42b50da8473402b69d8c55895ae9d1ac91d666f2207e49eb3ed228797c4cb6098e9637a4c9faa50af837f98ad96220fe12bba62ce56cd4ad84ab040e6917bfbee99ecc0d36d490c8096c6149e0ee471b5769bae28e3404cc4de52fabd1c5dc212e39a4e2a5f554cc8adbbe330b8c07edee6797ae2c0f5291f8be0d046b929c58f842422e414022d915ab4fc57ca3bc5bcea4120f9e19653f53f83292093e8d22fe1a1aa9fd881784b0e4225eb0b59919fae9425515fc33b717f0d4f7b1d54e7fcba7400b86f98f03307086e2aa4b97e7ebd51414fb8763243cf0c248bc38dbad9c221e419b9216bf7de9ca26a03a0fd86389156464d5fb18882898764353e9b9f58760241b3240526bdb192cbf48ca3474e3e531971b967b0f7cc3720e4c06508c494f3a0019d566a0c31e128e9e3d13c95e363c520efc77ff78dc75c1b8d38b3d8d5335d606dcca580e24419aa22f5279af890b76941359cfdc414e13ea29cd3d107701e6ef45d0d9869d447610c8c07742046a1ddf4dcb676d1994da1fc279701c6a7a7dd82a053909d554288642efbb19f2ab9783fd62f0fabccb5e97be3575a9b231ea6fa80b588cc192430a50133df401c7978755bc08d386d0a928383b888a56688ff5eb12290987ea83017a13f7b0ed29e59fb1d281b0581bbe3e9bb1e6355c4cc831629f62f8d68b3ad9e573975bd2eaa4bfd6acab53f00c33ccc4e57f63996dd128534a9fb4cc95b2fa6a301a66acd61a66ba856c2ba6746e2e4be664ea6aab60e3d0373992accf4820c0b380f7756379aa946f5cbe6165b08b1ecfa54a5f7b49a26a69d25254e8c2169761916bdc0dad8d9eb2bb278e8a125901ac49e078f48fcea644c2b32c7544c9146efb1f10cf7130aa2e02cdeb4650921645ea07f28dee816a22a2b640f356d6392dc343b4168edaa412d463dab5da6bb16bc95ee0cde828d4bf4fe3fde4232925160832ec544641e83a679700944423fdf94993e25b901fef5e252906c043ad70d7d6c0ec4036e2cc570e08474db3f96ca2a3b9fa7088bdbd15ec5f619c6c47fa1256f9cd66432153c810ee2ad0d5eb47a8fe5c2d2d4a1f3200963312e2d9709964ec0a5bcb4ed67c3fb8c698f3b3c9151e76ac118b780110b619dcb62e312512028f1298b052e9c562cb9b333dcac65869bd4a514a3d2438df0074a2cad1becc1758103e374550c0ede86c504e3a2f2f4cdf34cba3c7d3ae649c40ef2fd4254a4c53f7ca94dae54cf07e330e45d2f21dec3dad520adf92fb163fac2e2cd258c004ca014b7158c07c2e4f7b462e17da63ebfe3c1fb1a962d4a61d55fa8e4de6cd5aad796d94611cdcba4fe2565a64a5dd39a2aa5f6ffebc414c08897aa41fc8fafb520204c1220061bf7c26059f4784d30355aa70c5e0628dc6c6c38bafd2711c939b84e501853e48e8ef2164ab134ca8ab93926cf09f0fd3308c407c0c33b5ca5e30c6962e142efe5eeaf735926fb01892b32a52310c80d3c3834241df0a420016bf46c3d22e15c1c2b3cd6ae236b128857d5c87e38321471b40bcd551e50630a3868df20e04a5b7360352a12740b4ca6b6ff45e3ed3d978329d4f758d2a8c0fd3c39c2b9f583d4b48a77bea722efea439108a1e60758f466ccf3bf9001670b83cc9494ba0a44c85e001b8e14843245c2e39452801456187eaf56c7a399a2dd58fd29132b8355ecde5edce0eba0a8ee6476886619f38c8feb8a23e90863cf2b1574f0f3dc39f08acd3bbe361922d47e08c378b5552c07f0c215af5a7b1f4c64f726208860803b6d464980587bc230b98ce9adfb70fe64484120af593851b2b2c4800e17d9049b946d4636c230fd0a2455f1657e0eb8d168f88d8ccdcac0aaa03417813288d1d3f30e6cb7349ec4920591bfd8776c770eb415c016c1838ad201d5cb894793ff3e821a05b4ed8b204659d489960e4a4a15b67edcae390cdc32c98cf5fa282d68d897bbda6912554ec43f1b902904e9a877b89c8e5fb9cb5d6019b0b66bf24cf5eec7e3ca380100721714de9dd20330f30a7a1253423e456bc23289ac0b39a980a9136675b71feb1edca44c4a3bfb1e490f1aaf022508454de754d7f5eb7a40972ad953ba8957d71736eb0a5a12f7c5241ab45a1b337c72c859b825b574802bd6ae48c4222807fd7a60c894b58fcc53e66694cef23456e14a3d2f769b694f5a5ba8f12f48e1813968821f18a9cf7cd238596a09318ed0a29e1076249f063d0cee55106cb70b3d5b2a4b6823fca11517d87cf33c4c0a48a1981f08f4c948fd3461f100bb5c53c57d66fe3183ba453004d30cc4bb1ac62dd5f1f8e37bae5690a56e89244af2c722dcdc82d66d86be48aa56c615e44391283cc3c673d558492afa195e45e88cd78701b9c1c64f6b7a88294821a37e44d293781d1e9a59e08e18469b80fa9b1fc0103ab6a10c1e9766029c900938a10000c7ec29fe184238c8084fae9fb2c05177af85a6bc48f8e83b833262a0d95b58b66833afcc21627ab8bd5fbfb31ff6d681d1f8c65f55726faa908ed9978cbc340e8a8080b5f1ed1e3492811b071b90bd080ce1deefb3b05faefc86f032acab35c45320368b475c8f853be6d5c967cf1402c9433a768da80f8b2fb98d3dbac7ab98e3e9dedb4c97304ec680c4542a502589f6fd85988fc59595836a1d926c845a5f77056a00bff13e06f253ba312e3d17a6eb4a27f660885b0557acf18fcb660f0821088adff4bd194d200a128d8a8ca3630f1e6aafcacc43f391c0df147b28a5ca2b9c25e162175985e9887944421e87c14de514e463a2f1d0237f96e18eb380f192dbff55ddc547e16366d17c8bbd86985e6c0021af3186f538c76b12abba08e35adef81891462936a322b287f4f2d81145b6f600bd19c20da2c495903306d983defd1cc1ee20584362b8c3145c92dcb3a8c60fc05af3e3436e55341c18e97de0913e7437617919a24a48c3e57f462e451c89b770f9df459ac718be7f889e4f6b024bc32559e5e0b4238b49f82b570e89835713cbbd020e0e36596e3a41638abb02e2e02f90809e2b59d4ef268b7e4f82ffd8d6be063b21c2349f101148ee5eafb90eb85d24eb27ee96a3fcdd54edb11a906c66c9fa330a71f29c8a25b9da885d1498ce1cac9c9849af7434aa15546a12435b5887f6480ad44777cf9217cdfae8d04ff05b1232209a4a0378d824fb8fc0899aa4277e95d13d1eb8a890e0a280c0f53d7beab2e48e8f7e5fe9bb01f9061460da42a8523afd3fa48fa3071080dfa2a30fe90b080a176d5a11e3ceb7c40e437445d5dfa363b3e23223128effce968f2c2582bd8f45aa4c5318fd5edad1b0acced18e38d6da23ac59b0d9c5686df3f6b2b61fcd5e0334ff52c38f490813eb7e6aacb900c9809752a5d365bb7119cb4a219287c846deb069f58c9c6a1ef4a5413afe863a19b06943ecb398ba350a6eec07631cb9deb8e9cc1926208f53bf69dcf4e17176c680943135297891f18068a84a7d05db0d2186bde9c6a0644df622ebfece4c32a77551e49dc0581126af70bf71474accc4de6f93b725d6948fa1643d22d9de8d3e976d261ee20731ad520486edd0da444ed5dd55d8b37bd90d13bfa13d3c79b1f8effcd8c0e454efc689c88ebd3918862075c2fa23b7510256450de7e933610eec1f7616da694decd1072de1760567b8e3fa34759acca29a029e0c363049d2929570024fb7a80eb0cce38fa21ac4709ae004bdda932cb1cbcda082084afcead8e1851a5dfc6b38facc48b407fb201f74c6cc1575c060045c51af7318a373485928c09170065de904d883a239aaaa99ea8ad2b14ba894365f80feae1583e20d5a76e3d2d4860f87a135d14d489d4f40028875b89a6176f3fb6767f8384483f510ebc0b5850625dc70ce10895a401675b8a4e87a5d5323695312ff38e89e51a82a178b54341b255bc37a6686b60ecc82610f97c50f967e755c7087a1a1da899214eb97e153354bb1f226fe7f3c76b893462063037a3cc296445936639a002a0f2cf37fb90d9604f2ca26f2ffc9f12f670ffe75504f3bffe53d1aff93468ce780a011670adda4b4dcd02e9073dad0cada39801ed85f74d18abad167b68212a1b78023ed238897118268a9ecef4c045988501618d12212c89a2d9f073d92cd10935cfa55df6faffc2086ab014af01dae196546b65bbe88220b750f7bc14bf34b331aa389e202f5cbe16887611924282b06fdc225b9497774b6b997fdec3e18612eb38974a52303804a759cb8fbdbb2855cfe1470f6edd8591934534646f07ca0068921c57e713f2fb72eb14161957935566e68588bda186c537bc540e6cf88612550b90ea38090154254cff34e159093f442e8fe076de3d1eb336c48121168a7050756eeb4d2e1958415504e620c0670083563b1e6562c7c8c4d6d048d813bd427e85e75828eba6f15a9b98266e1951a103b6920b18fb3ba2c0b090afc6542e9a2674de1b6d9097ac0f4d8fef854af40752129117bd4195299dc1e1e206811d0ce7f7ed8e5ca417b9519776156ff9f681275c7fcb840d67f1a4d78dd3abcb18655d0be7322b094cdd7180eadf63c07378f5e3477287bcc95ef69e97c6cad1a10ebb54a0a397c7ce669d3f3c8552a6a2c6e4c8e2d8fabaf2044e8882c9913df381b4020c3d172e81d5e059fa0ff0c696a064488805b6cbe537e3f5a904a07dc8d4e9f38c2a0a40bb7d9283ebc62558224d405afa2aa89b46dae06e415c8c2f3edf99b3eea8b7015ae51f1b352599aef2ee54042065a4e25281ff5b51b0cd73a9ad08aafe2349e614caccd4777310caaf87905bf7d69c2499de61dcab9b496e0228e8cb45c06ee9cdd817f1d2d3ac30d84174b47ec1f2071c9b32d03d5f732a3bb6a2d130569010909e7d0aa5aba831e6978ddf892118243e35d84247b36d643ecd520af2481cb2fe5115624bb4f0c8374d8d94ed16340efde90d4b6e0441a3184c5100b2ddd057178de7719a3c5bb201bbbcb58f17b35993bc22c1bb0ceb5c07a7f1351c7fe27bb2c0a184b93058c91cb29fdc4c4a3ca1332860a807bd21e0f4a0d61089f49c5dbf1a6728f352ecc9b037966763d1b7c05ff4f8c1fc72c33eecc740c52bf6e445c7eec9ce911beb0a7c42083570b42161be42e0c57ef77bb6c7efd9a6dac05203efbc39074421681ad800e44861bea5f2bf7c33cff35c3861c55723b0221e14e0a7136694de3e0ae3d863b111b8c22b0dddddcbd614db3f61292b026c5cd44ddeb59aa7d1db47616fa9a6ce4f598d6361f14bde83e7715c92a830cf4c6bb35dc5b469c44d42cf5d52710c5dd43709daf408cf90358ff4f60c92fd032d486405b201637123111bbc4448c2a16b1ab98494ce494bd7352fe483ff1a849c796198fbd1cea1982d8979860646abed6916edffd05cfafed9a191a4e234eca7814df73a01fb85d7498a9353a7ea991a9148f987e9aa05f8d541853f46ae05a97ddcb64b407a06623b0bc8de1ea2d465efe735b8e030e3dc858f54dd2463ee85774e6d2a7c905b49db95037f70cb15142b22e035d0e56b3f54057894b248bf97aa85b5553dcbdf34144f28c212f424da33be7c1e3ea9b2fb2d3fa0a85583cc886388b4a29ddbd9e1805cf064493a8b31a151f6477b8df24525f4e9e34eb0c335cc8e53fc25131f710c3eecf8e18516bbfc1a00b9256b0440fa155a3b5fb7c8c768ae09e4d1046ad6155a23ab1719313357e052387ca6f04185288219da040a63b8718ff0a48c19b2b6924ed6b644960b2bf89706e7b25951884d2c8607522e1e432f16e9dc02062d086d5f2cd50a6598b9e438c7a2870307d9e0dfbc8193a1d6a040f5f3f89dadd9f6a3e725f2dc0a4ae489f95fb54c7280e0235eb24a2c0b92ab58e750f6a716e77694724d6a3b09df3f0f20447bd2462c38d31691030b654044c2f3cba203ed49b997d667caaf19e782408ebff197637deb76aef888826ed638dd13a0a28ddd1be6c63470bc81bc720c04f56d641b4de5c45d26f2a86e24feb7b4f9df46d9dfac82197f2c2cfa045350cad3cbff3a68c8e97ac627a3e9b67816a3004b10f04b3fe5567d91c65774d16f3180b5608c12c6288a5018c9a07c89bdab8a2657a159640e583299f690b49442b75515811f818f82a06966f66ec079017ed9eb65f550c6ff34f27ebccc3c05e96d25d46c75bd7e1c357c0881543aacb1d7350ac64a94bcef2c021048a0a2602764a2b63ccbec314e9ba096f59db030362e23244f611f433a9a7ed6201c088b43f69225218776ffa09f547300437e0bc2e01e22b7f4fd61f296ace6ae438b6d87214bb6ecfd0fe13de8dae6e6f4d5463a00af54ef2736816c38d073088b8598e28d37184aa58442a8730d171a94db9cffd4307280f3288889b674358f1584b276b8a86aa3ffb4d2ce210e0123a8f87b70fec7c55d844625032c7fe90b85ab5711cf832fac2628777e1c343290aae56303e1c4379da119a7071cb0334252b6c81ae88186d0d640831d94acf0a0b99c5ce8997bae19712db178b19abec0de7b11f2390dd0405506f7885d10eb23a474ccd1b4337ad67f719ef2b6f5e4540d857e28b7207721d5e99a7bb1fe8797c0f3d197216df23e430dd1f09b469243c078721734bb7b3a6a3884ccbc21aa0847f9036d287f82f6a8cf70d3135bf369352fff85aa262edd4af12a706bf5dea08c6c246337725968320d7530968a5358c409003be0d592be38cefbc3c38d254e7a56461d8389df37296812e8be0ea4107df92f5990035c03926cc3fbdf26dd4afcf26f8fb80d2de4b52ae19b254a5cfa1d43df3998de37923f5df1b0695b3fc0d3bbb3c6b08692a88b946e72d6e6a042efa1f12affcfa6f8e985f6285efbf5ee122ed4f318f22834247047bdec483328f67131e66db2e2fec2f413ff1ec1de0575d5e1cede94336b7bf8d8f22f0f82f1c1038781e11840f2b03b3dbe5cf08e044537f33017fb31e39d36ddc081abce48a7801996093f3988b7d5f907ebf56f67d55777fbc198891a4fb613b4963fdf38d670acadf1fcd4bf7cef915c397c81f80ee2fb86b5e28ec27edf6fa1a39b86b7686a33625a6dc228b5f26c270c82ad6375f0687f176770aa8788d074ccba79e99ef7030ed18897618fd3230a20fb754c3c9373152caa6d3e26d616b731912fa4571c9956c5dd41516aff53896838b909e007c50c6d7a92620ad0acdec35f98620040c5d2ac5eb4bf582602e2ae0bfb3d4c8b8b49cb4ae5c91194ea4b4259406d22db858f0a06dd217ea1f03ca2b3f43df1ea39867106f85eb5098484f0040e933eebd49c98a0cb30c959b968d4b0204f29e2f258b94ba492f1482dbee2cb7a264fd51d936a3076986ff25a47e4df99d23d21124891d72d44e8f5922e012aba3ae8252e67f3b82081c4c4293b31d80591a07484427d3002fa90c4c63491cfad997542c284b9ef3b8dcf82c990ddc04e019595c8e3b1c6bb7891acb8943e2f249873c8d25c3da2271864d253933c81fa9adf7e0b62a3af82c297f12d46f3cc197d4ed68c77da5d3dc4323f385453d102edb501be9612a5426ce46c07189c8d2ac4a1e0893401d94f44117fc190fe777e6603dba931a0983f517135322eba0cbb3537833d12ec17e1131a40f699de07cd682cb6214734b02c84b0ea2c44dd04b32328148382eda1dfd053991d02e62e49f44f6e9a53147861237b3598737bbef9d5a9b169f170675cf8b953e4099c2897b513964e31075a39f2679c333120f7df7a1b3b1a1a911d523ce5350a24c6df7bfdd3a20c000b732dc641013cb65f651f12b2c894953c00e6c5fc3924ce88ba0c889520d42204569a9f182253e011cbc1b29a7d0e48f567a52ca1332cd4087b3f2c32d0968923cda0fa011882cbb8a40e0022463793bc0d9ee6e392c86f647854c8309e67a478abd07dcca6677e9be4ffc3734394f9dbcabc41696da6d5a0df3e1e8842a4558eb9205b4e5b9d7e7a00dafad6db5d278524888191736bff0c4edc9350098e52071936b1ac8daefdde9153354a139a103aa41a6b65d72b82f29944e3eb3aab52fee136352e1345905e58949393f30b672ba83404892aa62e5fc103a3316f716930d6189ef4505f4e96bb0d6afd3dd2df8c7e603d65bb07ffa498eea63cee021caa0263c96e64e541d2251cdb830b36232de3f7c76c0844d3f0d2f8ac4029dcb88d60982c4e6b2399ffb34afa32ecb799c8ea1634674890128e5941fa5d5af93c6c6d8fd9a8d6f4e7e7d24e728d5922173543036683e903b96e1068c16305803501f06d8a12c5f498c65819bff6b3f0d63fa47bc0ba88d2ca0acc69d5dbf0f17c94eecba0b81fc448b68903fcd3792fd7c6bc3d078188f2134a46ec8150590bea30d6c1f91a2e0a4d1243076c427316283eb7a808e0f96f43acc411605c1b52556f25e826291a080a4ef204ded2bd0d64ad11f89895b4d312106dd969d17c227211e26544e91eb1b4ed122d366ecd83c16171fc488fc3186c4b84530abd27ec313dfbbc277bee2f4bac4dbb04f9b895a7b7a9e38f558be36cf56f75b878a2c371404888410f6919d5834811ea83ca6463998daa4672ffd594312e119b310d59197039b604c3d40e765d1c9794de7bca48e04d84cf3e2e935b74f3b28fdb97de3d5062bd5956826382b40c92ef75713c51862b88489dec66f0aeb663d9727b1c411670b8c7f74ad7faf59867143850a1df875ff5a44d8cd5f4e2fcc422a304ae2b7df024ef89a20c4b615192a9f5dfcc2251105f4078270d65914981ea2581a3fcb2cbe18ceea1cd63a3cf3c734f54a3f270e60fb302908e14c4345cec235a8779b75c02bd95e6bc945105c847aabd116493a14f77a605b46d6f7f9263ec61da7de4381f1485b6afc903bed845c647e1b89a4d72e2bb8e0ac2b2326159b2fd099e4b253fecd393cf73e1962ab70b5a387a6f99673ae27425edb2bbe925d9588194fb2cba0450ce3429f68cb7e16176bf5ed619f1716a4131f6f2c2f35548771583977d70cd975bb05ddf33f7dc4a36177901b0b19cc92c7422498ab6d82a410ac50b31b05007dbe66d7cc363d81cd0727b664b8b6c4347a63fbf48c7cb1456ca02f0acfbc8de93d0bf4c092256a13d674379289fc1ec0114f92f1a3e325ff1ba1d6b1b0819efec54bca53d3acadd46e789e53b92e06254ad93de4b1c50bef51cce17047954343564ec096634d431864f2059940a01934bc113d2b2694f360e4be7a4df4e46bff2ee00c0d40516517d935cc01626e303d0b0adfc1936ab2c12f606cd1cc807d60d4e7c36d59c67fb10399477b28617fc454305a2931de153cf8d8b20cdbfa8165e7ab6c3398cb4495ed228e3341a906ac20dd053c4384d36329532471f8f03957142c31da7efb198ea12711e672538ab50ac9bd8b3eebf2a0fd10f743118d9d86a8e5d6491c2b66874fd48abdd89ace95928e92226a5118b7a1f8187b911564bc9b72bc7d86103a030b6c608dbe665134091824228b2ff7142928a17492ca0aec95776c6a4f4d327f57ffc1673f14ba09c716b384c4fed4155d21f620b5b2d4ecb7329512867eb47c11d9c93ddb5f609ddf44827d7b0537b9e8c00a68cf3d2c08455309bdbcc96353a9009b33bd0620edc115f221d9f5a8991a42dcecf7485d5a1b8fec72e57e990055156417c0d3dd69e1d855e09480c07b1bcbfe8d5db17f2c58d009c882c2233d08672e5bc32eba1abbf9cff8544ffbb2cbcccc96351750605d28800f2f88e03a60435397eec62bac8bf0150bd8d5a6086343278ebd05abde0537382568ef27f55899752a09776afb5cd004ed85d2d881f3bec64638f2957aa753f67161d60a8379630f728550ffd9506c13ebb322b9582613a6aeaedfb5a3e69d194766e785fe017655d12bf334816b71ef0e21e4a0d2484af478cbd45edc634049f203f79ef39585e41d0bd7f8b5133e75075d19eb2478d7a8022a9d408b94b6802d0f13791f12d4a4a73cf1467d0b153e939f9a7f9b7b400fcbf1938c52a380a996deaec6809cec3fec5a5c0bd042df1dae155f6f5f8ed116ba7141be319a80c5dba1a9f53bb49e8d0f3f985c90c597d276ed1ddca98f220c52bf94a7d17bc3e747c3d1a489bf63214b6edf8c23d35bcfde1223b09a53e1bbbd5753699636ab5b26fd54046640cfaae63635ac190a118bfa886bec65d738badec8be1c8e78649d4e5a1742c650f226f44d702c33204421132c470bfbd35200691ad4bcc79789178400dd150ed885461cbafea2e4c061ae7ded6c342a8281946d4fbdef2af23fbb8ea96baaa1fed7abf1cb05a1c6549d364faa181a960465241d383c9942f48fb4b82080bfdc5c36bff10babd2e96a6facc5e0dbf0f5574ee1bd557fb6b0489a68e6373d5365b70fc3cce65d617275e29090df84073e78cbba12e0610ed6cbfadba76a7790b8b71612ce066b1fd575e410888f920aca1fc446806e497c871b364bed95562a3398702001ed4820e586fbf9445711487bb6d78680b98c9b378d2869c0018267851b3372a92cf23b5b3b53c998a1e32b43fd9d2bc8a2e23dc21bf43684e2aa2fb9a4ec290c78b75917d2b59d1daa51c961c62f8c872450ed624d87a75b292f83be19ee3823a96b575bf98a3b06eccf59cf1b2c75050b863ae8b6a16d25a626c190ed1324235e3be91a1821daba701d37b58a8163d04581c596332e3b621006f89a343c8756f195c298d43e438a3fc4accf1066ee592a33d44241c3aa4dcfccd08d5d163a8e4ec2c13e727d7a5504db0e07639919e24dbbd50ac0c4416bf1275a17389873140d75630d75ab3a66b0d8cba7285b52b5d955be503a6732630fc10ca5d7e800af3750ae65205b6b255bbe43fd7ac852845de8340e3b845ddc699c505ce81ee547ec0145f1fef3be9fc438a3b8abf20dfdd3db19e5a8af5830a78e18243b4a7e9b0e566f14aad79058b9f155a574b0e26ea5467ad60d70938f393127272bcf75ef6213cb10cb67214edd13d44a2fa86a3a524261358833ba099598b39a86c5aa331eb29ce57f1e814501bdcd620976bfafc23e3561e3ae2a62830e6f7826d4c2e00c5467e40d20a4eeb922a0af48b9948a8aa293c6fa5fd2f98700e08929685f6350de447550eea867fa3e7576f54330d13d54e81ac575a4369384dd7c1f19084136c6832a9f38ca274f86a1f7f98f0e49199cc5648db4593b68c028e7071d9412cea6a3dc5e301c918200ef3f2b6af32e03a6da98471f3a5028bf4573607d41e23a509c75d3c6b90867b9f0e913a02fc7dc2fb20a2c6384282c0f8f87b2c3d010e9f07aef36530adb3f1cf6d05aa3cc9299471f23092166b9241f7a2ced8aff8892e364762a433ea502bbd10b1b418527e9f05f542fe08fd614cee07b4d9f4f923ab0f5014afe77bdacdf85c2a0e435102fe474d4cf90c5cac48505773d9970c2c2509b50df506e1ea3d3edacb9fe060219f103109fd2d4fe69bfa181d0f4be861d508a9181a80e438cec6b08fdc066f9fc28cad843460c66dbb9fdb68f6b6effa0db6775f39a01ad20cc9f7a4f726c73ddd8a06bbfcccd0db4ba6ccae2f6d6a1153c2d8b052900c64b73f7a925e8e1cd4ddbd4f227e9bf31e47569bdf32fd184c754bea6c3dff8e13493d83a0e9c8137d9090805a38fdf00265a676be0b22a201a9be78d8382bcd9101b5f48487251f3f207034d1a6f0ca921cc384c6de3cea480505d4123dd5d4a3d37c9236c66442a366422f4c6e51be5e0e7907c9c0e20f5b1683ba03f91b1c2cb5d4a4079939acc21fa64f9052781c435bccf82a51d24f9a0c6ff835b5f81d1d7207646bb63ded1fe0c950557093605a1b5601b50c1c7b68162a2ceb5c502b1c899bb9007809ef17acc920fc06cd3fedf63ff26e26db214bb20e3299be2c0a7f7c537cae68d2affbb2d9ca9eaa169c2b5cf42d88100d83cf547db080a2941c4b8943fb481d2305cfea17458ad554e893657980ad557638cc7ae25007af0eafc06b29b6e4f3f30bdd8f22816c31d7c8755ab5fc97503924bf8e061bf07d1954673a0cfa04136ff0b0f673f121fc95030d9cc4496fd49ff368bb49cae80367bfd4caeff58dbe24ecaf529d5231c1dd53344aa058de0191ae4813c95195bfb1dbd3eca9546dff3036d6a6e189500aa872034daaf1ffb3c794bbd7b900f1842b34c42b67d422a970a1d45844f03a9aa1057861a67c796512328f39b4a8c1778cba4d9e80a4581ccdc294f2632b0dc00531bed6b206c8e78b6f1f8726ed61a27de16a15666a769cf500ed2b2283128aca566ff2a13c9ed00cdd7d0516e26a28e27409851c830bca4fe07ca107d0b32abf31d506a8176b985db4f7cd2d698a13bf676bcfe958d4976694ebafb9e6eb50b0aec2cfa2816b6b57f27d41275f330efe32ce735eeb261f92a82aaa11d2837d2713444f9c04d9453b871dbf5e9fd99c1f41f7783acac0eecb22e0ae180551c88fe2e943663485b7c8406628485852093f22c86dede37a1091de0857d606dc87bac5e8bc9dbf1991cedae08021e76467fe5e782440cbdb5c31f637f13a7a04e64eac33cde423e74447f49bb5193003415837fc20bbc7d48d43fb65954c75494616b506585b170c9345d241906759da7d4d9fe694efc9e38248472ac04159e13675b84f80e95152a33e38bb31862254de91e94aa30368c6de35db52a198d1cba08dc898a4f0bbd0aebd99cedb110b2606a79a63ffeda5951d916078fbe1d2c876fa1a77be0733533f586cc3fc6777b1349ab471f4f41144683fd0e007abf7a093b0dc8ef4b675c966e6e5a33e69d76d0a908755f225852724221e63a37e2840489a6163191e22b4048b767535f17ec795a09ccc5b1f1c05bc2478ed46e4c93952f02eccf44c8edfa9aa42e5d666c4783d6e39447e26d3bb3e66fbb2ae8643cc2b18ebff59c7d50361d51a98ae896eced2f42ea61b7890ebeed28ed51ce4732e75da93df25d3fd41bdcd50db3ef8e08dc4c70bc188799660a774ad158294c8cf115536b5cf30fc88b707292bc7c84eb4974e0cc467c9728c7c6b968b4e52f48f5a29307018e967c9bb390640c7edd334fc3c8dd930f569c85eae301ffde582c6f1a7a0d30520abc3b0c166f46a6ac6904233041f0a208e80cbfde63cf40a4b304944d70285023e2a283c8d748b1a07eabc5c03229ef5c164a42a8fa80299580b02f625f2c9bdcf72640a842b6f3ecbfa7b02f347cda70edcacdca3797b5ad14d0717468e488a7f3c40f7916025b0bdca3e71e154533e11fcfa2ab516c49b961a2f49eb83ec880ecf09cee6504bdf77b4357a58bd82e53528b18fa23f1c58203314abaca606397b204a268a96eb32c00291ee00eeb14a65835b488389c8989f190fa1789c700e69212085f7f083c0e54ed4eb60c849cd75c5c5e9f0077eee61210634b77af754f8b2be064de57071eb14020087a96b6642171f9167b3bcc79aca053bb88e17278fbf6984c5af82b2fca8c07e125daaeb4e97f0c691c8b124985a1be43003b5daa4f8012266f0e67ccdd128874ae77abd20dac0000cd029e1c0c37c27f8247e7130f5a80fd145e9067d597938c7df29b84953b8e056b61b2fc3cc08295ec6df43f04191b43a9a49210c50d2dc5d4fee018772a16eff31122f6a11278fe5aad8722051775dc97e328d74ec55bd04ba5fb9a60031e161f352ed1459146815b824c8291cee19cecf4d61b5e57113d0fabe09c0c50c7758722455520387fab314a684bccf672ceefa0f6a05e1a5dcfc0c051279c7be29a15ba8e2406bc39e1b55fee95fd60f57b09ac31cb0384015e460b6079058d80c552b9f40a1d40d40ae89af25f5196ecf74ac30cdca41fa79decf0ace2ce633568f5983d314e62cee3eb254b69d9cbe74445be52ccd37c02ce54925824514770ea43513532af07ca06c5b87e9e53009fab2b60aa79de7b8cf10a5fa68ae7cff65b62b2f81462ff9aaf03c9b743c4b2e84d87926a11f09262d8aa81237b59085410ebacf48b8202681978d3007a250718095838320e4f5ce0607e8eaefe4978c065e66cd0610fe5728f995da1a79324c8b18f8829b99c093fdceaa95879249627d446c5f3fc5c4c6a83c699a3622dbd5132ac5f38a072a47b4932a67b0da9a96442bf6ee52c99a2a008f1f31fe33e0e38a3484d4ec841295ef576c313e817a3c466c257cfc80431feade0f76018a0c8c356da4a28f8c8a7a0139c36537b441299191a04afefe3c7258159a43efc6abf089e7a59833dc9ff7d1b742a46766fbf81ebe68bfbb2587d4c9baf3b62abd732f06afef5dbe9d69b712c3143f466b439355d6d33737a14b2fde0a6004d3c07d64742a37e627ac0f67fd4067a9c0eb0bd20c7a18e3893773a48fa6a81c488efc79d216d2adbde2cab25165590e1e67002560a72ec1e313405ba28f95ab8c557269a3e68ed871742bc392e1ca55ec68ef84f69c87ac9684350e1b1a6656270b2e8c1c9db9f508ad1e05638bc980f7e6b9a667f5dfc5bb6dd49e30be38810b8b43036d5921b85c6b0fd284fccabb8db0160d80b3c01b60b95acb0d7cc68095288f1e95d2b80765e9ea86078eb53a94ee3f1c7746889e757e107df925348d135cf6a4eed097b986e495e9c29b1705d52dfe54e8f211a105084fa44245830929d96df22652b47d24ee08a4b50983995ea28f62bc57213d87f6750c3a43caa52e8dd483e413f9f6f9b7c3a4fa01d4733dcf6d9a2d2742330a9b80b6e0fc1372c8d5821252e33e5cbd18ba689797d7665689ba841fe063f5929ba0a0f2343f45c92444cd38a9313930b6a1db9e7b02f5c01944eea53c0ecb055b14affe81b33198b87914086d0d28ddf8c6bb5c957f237c743ccdd5fd4ece7e5abf43245f8ede0d8b9441862adc7fe2817e9cf1eec3e4c7023e39dc9a7a171b76dbe5c78f71de2546beee4fc883a883ad5bf101372f43a0fb5a735b1a086ef3ae7bc5630e1f9eafc6737f4b6bf16f2f0dceeca39e0de3b8131292af87bab1d805e50ab50ce60905ad8fda0bf3a2d222606e9a05a1878a3fe7186d2d4f9c29c91e4887057379085234778fbfbe8d0d25b903c05b9a5c2c7d4e86a5400c7bc72435891d61c2236c4801762ccc08b3661841df9e100e4045baf8a7696d7d23763bef206d0e039db74b864df6deebcfc98da39021dd6b2a8203c5fb0cd327861dd508cde6faf3d128ac90a6f6b2ec20fa21191f22b5031bf2f66635813c0e79a08dd38b6990735d7701d5a7b664a2f21752336e3db779d55d79942d352a7c069af813f20653ed73b8fc346db34bc1487b7733de579fc241bd282a7513f27e2ecdb9af505167075625503044803fcdff2f83f0468fa18bb25c6ff5c0ec14d5837bf0fb4010c62c340388da334435c0be5ee6181d126944a0bd4336fe25f4f62fb8a6200c595fd608a34db694d68c894de56ba41d56f02ddd63608459d5030a3d751f2213d2b1db1aade989d67ab9d303e6295104812171408cdaf0c835426856763951fa12344078c07b24f614b6d4cf23dbf3fcccf7bb5d17150106a92fc32999b6cb45f58b415009cb490761cb5d5ac2c997747aff4fbbc87392a68d0ba7bc722c2a4231e52a0a4d5a603279ea47ad7b090a255646868465704408cc6d44dc9bccf5477d43ed6f082ad2e10400421bebb318deb279660b07186882836f56b95beafe5acf9116342751ae5822ec33d7a33d0b80adedaad318750fa110500351a7e55347842c31d10f800ad9ceb82f872e8ced42d6b883bf7da1503dcffabe915e20720b798b9d212e8111bb767b63ca7469bc015ee1db4a65e137ea627b4ef2be06c1d0f04a128328b3cad9834b2e83326917e8a64eb797fec83b12bcee3b98b54ea286017408f9b234092c0b23a43b2e5da0698f2d7fbf2761ab6f714a6c1889c9b2ee3b6f2b412bfbdefbce71256d2e778a50973d9bf8328653c51029082486934c92fb0e838f96a8d99ab8b3e6dc83b63125225d387bf3f40f11b0799b17eca93f1cb00e29ec6e27d0d412f13b725f31a764ea0a793c09beae9d680487e3f0ebb09fabddec9955d40fdc985736904a1d3e8291347c50c67418c21a72d6ba4bf6f38206c7fe251adebc125394d2cf9ab8c2ece92569fe81a38699a6a5fc3f09d031262a30390b2817657db4dbefbd0041ac01bcc39848482d0457f9faaa1cc7b1ef6297ce210de1cf5d5246888a4bffe09149ede73c01bf52a83a3cf7f1601cca471c2417a0786dee274b32dc0218060f9da25a26ec24184f542947dd9c1c947047803a53296663b22ac9e6a574167cbc8d7c4e0b7736730e62622ba2fea17a5723cb580a079ebfce5498e6098f0a57fa31f5fee6eacae3802808d83bb1c932ebee0d9b65fcda3501a90b6e4d2e24f8441742e550faf8e88bb96e0281918870198fedbf38dec67c99f5c364dcac9cc85065f94a0d262662477d980af7e1073ca74b63788d517c1c1111a279a7f964ae9830aebab9a634869fe2a4135162bbccb9e8b3afb3c683eaa450d4b30777fab444b0eb5b0175135923cfe48b8a363f1625f63f2d1e8852993533eb436a48037f41084013327334f6c92170d05fb2d8eb5b633f0b43dcebb1c035cf78866cdd25161e656bdeffa49a85f5b078df7615b1d6e9e284516282baf5cdd91e6c55e6d4b1aedc28abd451583e7d03b2ef2e7332af3efba7b635d1b33b8f5deaccb4bd0a8e9a56a6aae32a8dee5caad898a64d5031fb97051f653d80e18b20c53dccd694eff543d8e7795cc5126aad44bf14c7225ee9d454f74c6b3d700cc339cac82dc565887b541bd01939c3d9140116e594514b1a5d18a87955d1b44187acc1ae28d62383e04a3dc89f839bf0152443363285320861f294584982041b4343329af9b50d5d629225cbe880f20f1f615bf1fdbd0c2f39e6e54a3a439ed5ee15bdd8ef4c229eb81decd824a63f6c087cde9bec4e1d67127dac49b8e9819945bc23b5115d9870f566e28571956ebeac1f0c1cd5773206c079adc447ec8a335d9a04bd3eb75605b7125e931325585e7930231d87862c74b5692a0f28d51c7aa008587c1f939b6acfaaf1f2181629e78616234f2593e768e99235e60da423fd74f7d660f316210d1fd2c458798e48d77861de621e1c4d9d9238026620c20be32f083d5c8926e106855310f325e733ecfbc2bfce49761432e32c5efbb14150fa4a01d61f24704db951e8d771a9abc1ac404cb24a20acfbba7710d92851db310509dec3e742e354ab8902b6949f1863aa106c60ee5fbafc2beab53063f2d3ae32a421978f80b4b65c71bb4054c38678b89a3b2eaacf453c8ac02922785df196bd0ff43090f30e0c9c3d567a804c58e2b6789c5cac67a81fb0253a7432f1e969cc669bf7cb4b2f31e8dfa98fb331dbc7bcd57a618d46505b53ded30be46495a48521b22fbe375bfb0740890f1f60de939b4877ed71f84c83a353e8fb07742ad40b15d64c1012b6453c33d0051a3165aeb8bddb32ae2ba60781955a96fc3efdbb28547095ecab8c9dc161fa9a7782dfe85e71b5b5a96de9db7116b6ea6c2733fde6ca6525ace342988846b1ff97dfe16dd5277f2cffa6ea9c478954adca93ae6b50aa7919b04f8508c5f00a9bc00f597d323148357a4684a435de4daa7357299102fa557d35f9a2b2d28e13e340a8461acfdd55498a28874ab0eba67ac2f1109b06c7973c13a155e6540561a91a85b43a64a25b5998cc6fefdf80a4f79a15aff99962aff6f5e903def98102264c38107e21087a24e88d58a34cc9434ae0848fc3a75b51eb0ad2c2d831103a095f9604e7563d6a91d5941258634a893e5a5b4a12e8ad2d2ed5833a9993e5f95273d263fc862a6e6b7b39ebc4d9095db1f60bb1d123a82ee75b343c67ace4dd706e858d1d0e6b7054f56c1f45e8eaaf65c091f0ece23a157f85f78c5d273e70f29c5dda033201520248343e4c843f4d6bcc5e1d98bada3db9ea294eabf9662ebdfcfa77b2c9ad0ea672f580569fe7676337a47f1448307fa78c9d4ce1cc6c8eac62388afc4bdeb052ca1e46fa9f777eb26fadd553b60a11242cb69c744469e90b92cb31a328f1cb6d40bfbf55cd919ab601a41ce5de7aff495fdd50ead14729ae14bf8cf35a521489cd0dce884003927b46827c4a198bb378dedead94ba7f7e6f86083e02af08aa506432cc255d8bd8deea0c325971a3f4e6d3d69747ea52aaba2584ff55cde25da744041f80e5be001e9ae9ed209c7de799948b601a59c23a55d21b08bae928cb4e43a4b275da60d7c7afd562000dbc9e5e0e788cceaaad3d389964a8466138695d510ec78738b87309cd93824b8561142ef28dc14decdd908b32b94914302b5735f418a9918b908372abd6af2bf720eb55ac8b863830278602c9837d0a9a7d28c565e0c23b99ea11a967ca63a1ce4ae27181f274da130b2e366aca5be960426534b6fc2c81d953156643c39431fa53cbd7d379729b9248deab872f16e140ca607083a43f4548fefd118108ea532287d44aa88516a43d312d2453835d0cc75c5015d9c71a8514d35ef444c4736b341aa834dea816d5f40a8b057ab4e07c5c31dc912b657b48cc305bab4b3f8d3dae2de077dba23eb0ee067da283da45f32db3c0884d9b922f9d395917c4b4f7ea1bca58cd066210eb378228672aad8b800cddb03bbb43771695dc3d927db94fec08af1860f58a882b42bc7f3ccb083b36032ba76404637da2a79eb4abbcc5b05127238044b3cc4deef6f866dd804a7f228dd4dbe41e4f300efd5456c98cd4a7a22e054ae14c4a8463fdeae58a2e9058e6ddb3dc49dc6994f913ee19fbbe11525312a537bd5f2e7e004062aef61928c614f5acc031e17b716d91dd5450d4567e5ed26014e7435c09711c2e109753625f1b071b9f56d38baad03a1a5a9cc14192868a85c674d1aef4f3ac974e8b409069e43e6ab3e9134d946f3261a0b3fa57762072e184e37c79d002ab8107f679b5f899207180e7f89fcf0b6c1936582fd4ef368bab88fa7d1b802c058d2c3044d1b03c8316b866e36cd0419813c5af44cda4ed421a7b13df3c2186c8fcaa88f8e57d698fb3fcb9fb5015280104102067e2ec14c8601b0ec07e58d43653904c1b5d5a63ed930986b841f5ac67393e5dcb695a3be3d21252c555aaf6cff9f9d1e6f630cba0d281bcd9b8693ec0fea14e6b70f44f0797e421de90245bf4a3a816b268142ad421d98d6f911b7d44126b21055a87b6e76357fe6a46610553286a657189049b30f27b29f1bdeba88123100b19fbba32efc087930d391d9846250f2ea80eef5724967325b3a560fcb61352b34d679cd6541fda95f882605d8ca56362147ce3f8a3a49cb9651a311b4c28f240e7d18251483792ff49cc791f8e82b31cbf9d03f9f158a9bd21cb95642811f5b17e956c233bca3d06d846d9620400781515b07b8c9a7acec8a9b7a60699a6b720d72d5bffa82789787e6a4ad9ee4a5edf056891898572be5bf33e66af34480af4622d3fbcb7c38065a38c1dda3948f960a4184234b3631804d71ba523c58ffc9b19125bc81eeb102e0c84f11fb06a1ed97cb3c8f7fdf0999928da1ea4951c8e32eba597003dd59b84f9c1b056f8856806e2e78e3b40220ad20e82d7043c17f6a5a066ca47a997aeb5d6b5190b9cd6b767b39cecdc2378f58e1dd7169770b621b27be737fd5e821510b2e9cb5ad4d0e0b0362257124bd763176ab66ee93fc660eb60243deb2c32bf1bd2d8bca80050f239a2ee7749819be4ccb9351105246b00580c351d1ba10cb48d73530cee257fe0d2b31f46a4ee3adb33c6acf358a11f07183ccd75ae80b20e062b460cb10f8829ae5c30e618f1ea18304b47678546b74cc38115e54fadb3027ff9262e113717904c9b4d24a38b07649f61545c18a4f38d6d3dd508e9496be421294e89e72c6a5a02fc4033eb8f804fbe38bf6668c064f278559df55d67d59e280d2595f3934d72acedd73534179e20bb8a26eca9464f555d4bd22f152ce51fd6353871db8c8bd6c32ef044882ffbbb8a23afeec2073db943e994b70dc53f4317c4243218266ce52adf553591fe2f559f70fca363614128f4cc437486b3037e334522e0638dc81b2f93a49d323cbe4f192bf2670482f02adc5d44d2787420af856e69c505733e39c08ccc682c4a8449795afdf42de32757838a2103cf1f884f051fc2e93aa961845d84f8aaf0b25471b8b80ef612b8c5505e4edb360c4cae96451c53bec1630ef303c5a8ae58ab5ccfaabc3b5cbe0fa37b52088cc2f17081395ff52af0cbf62c5dc15ebbc716b93ff46d11d4f9d72629d1ca309b69d684022e2ae88d1d54f7facb8922ed362392671c65ca16d6dd3f39a63b4d2e08cc0640da108add8657ae29f78318d30be8cde3cec1193135c8bbe26b1f3168b961edbf7f3dca0270d455cecdfbeb20958bf616aeca2c0c3593f3c39d178f6efee61e79a52184e09a8e4faf1fb982c0af2004b95b0ca8aab333aa671e4613b3ba19c1dc8d344ee6b93c50e5c296976fadb0a5d31cb7958396026a16292c67cf5105f51726695723a933673b319d86c08f255e2fb9ac654ee69de17ab30f74fc34863681feb74e36226037e7dd7a8683a9bad4ba362a4615c12dbd1fc4dbf6cea8152e4c18078c4a3bf68663c4bee9f06eafd601fb81a1f0dc59d893ed484d1261aad98d935e15525c1942c79efc2ebf4bd6a89ca4821ccf7e46e9248cf23a68f1c6717b7af17138e2dc03002f32397b344f4f8ab5d6a035e5ab1cf8f58478f09bb76f863d9a068b4952267914a9adeadef92eb19bc6f5efa6be9d9b995eaff6a637778c5c288e8403d237df624d6835c81e781c8220a97e7cf0e0a0ebcbe64fd59e4a8a7aa2cc7a92590b3a4eb7a78ccd6ef60c7e5d9f8bbec37368aacd85569445b4a91d57efd379bb26e69ddaf1a815fbd07e5d1978ca77e3895f0d3c22a3ed16aca2b1685f5a3d46705836af07459db49bd3307c63ef869e6c47af57e7304411930e6f78e609cf7fcfede077d8ff59775486f638a505246b0dacbcef596c0f25d5185123858137522039f54c5f2c5b18392cb100fdd1d2e7a3ca931e57a3a2aea1ad5876a1b2f93672491e0df1e59d4b5d659151803c9f9fa44df8aca9932c65fe4417e42a52c48892e6e72e0a808f454a6547983432d72dd3f6430748b2be652def85b1f3ef89bcf74af17b520124dd19c6c1a670f91983281d6c77aa477384452a6f532203b4470414a5171c0ad23fbd182f8efaecdd89d112ba221717db59679eae59b18013e5d57afe2ad766406754fbc7a554ea13a6ddaf2eeb1c82888dfd9ef1397b968a66890ab182f43f5b40e7f97f75056bcc6ba92ec3afc84ec9bccf32acd3f98aefa4f145b44f55265bfaac30f6e9932875871bea27050d1521f7b2a1cdceb2a24db0b0e04f5c3ec65d1bd406945f45a1bd91915d81f8c5ef0c234e5804cc22a50c5224d287cf1520e01fe303046a9a66ea3ec39dd81181f491d9995e6f8b8f64ac6aa3a0b66477a70cfadb4d9faf5a61c01f9d58769d7879e6561334117537cbcf5cbac9cfe6f48da955109f6bd7582056b132950ba5d8408fb028f29dbc92b21504dd2c5e0517547de2ca63a1a8c1b03a4fa8659028970f6985a2e6c4c55382d1535c0f3909c95d5da74edaa0184c9a6a12869efc7869134b92e343ebd240f828f65b64f3c8b17615f0c9ce49a2bdf8b4e9039dbf273f94de96d90801b6d775fc08a9839564ddcda06695cc18283cc3817290916fe9b6d2b59d82b80f0d9a36f35796c3e56ba7b6df61a936d8f809a9c11ef0016ee2619726e8f5807779a3ab83c27332b37349b850e09abf28a3835b79ffa77c5335ae7d7776ef18c22ab601d69c0d6ea17dbe2b46c1169793a932d6c9528aca7c97c6f645463022151f2c35eddf3f61b2bb358695eda69a335c81b4b6a52ef7110a54db11586c46529b3625b5f54884bf34a996c50364bed4ad9f23061005f74d070d927801114ab8538fda8c97990d45306a4ee03107005a43a7edff8cc3585896edb5d301a371837c16bf439283a42a932f7b1fa0de7f73dd948f58bd16b2fa962a4d80483fe66843a897de9857c2ddc6be3eed6893f340672dffa11c57fc107962be0ea76b5f67ae756e54121bdeb6caba7c048dc5178ca6fad75a1b3f5ab94485d69b6fabfcde470e1048dac7c6819a22d4b003af10cdab80e649e55013386a30fe536aef03f37bd834b4073587dbee9a2ec152f8c1e80a6a78c9ed9e11004dfc1a53143368063517a2163453f0314ac2cff1d1cacb0d70c96207578a7e553146fae5af70633df8dd3e233b34876cfdcc6db7d07bb852b8507c7da0f172d158209a7c2fa61c6687016b0f3fd0b9ab8ea14726892d0def4a6b69da2bc0b4777bb84069056a95c3e4c51320ebecbbd68be9ca7bdc8fc56c941a66e01d50c12e6db72e7617491192ae736a401ec736eb30d7db611925e0458c1a2f910d514f53e39497b2640c16348864879460c4d39301d3892e8a4c42b668b9ce6adf3b51a2c958a3d42c1ff39109bacfb0dab5a94fd45b2f3e5cf8a5c0f6f0588e302b659f466a0f2ad104ba49fd02b8807772f816200665d607efe5317a349e0261a293ecadb7422d0b3ac93112d2b2307154568258ed639a5ff1f5d1c923eb244ac6f95a02a5dab99fca251c917e016e65cf7800d88f36cd34c3898824b905f428219a6694d934fdd526c34208e4ed505c2964c862373bc0087604fd439c4f5b57f2e3b23408c14b9936edab689cc9c32ff2ac7143916b93cac8f0488709af22ce3497452949b7e01b0d87ea30a3978536a1a9638a960c9c4af08bb34c7743bc4910c22db184cf7ba0c9bc5afe9e2cb78c3b92f55d5baf3a80c03387fdf50bd5d29edcfc650b49c6361c8d22ba67ff44a1c8993c6229449b0802a5af4b878681d1cbe3323e4f8fad46087d010729ca2f5a0c7184b48754df0d043dfc378625951cceb6441c78078ee3b7139f761ae561007fac01f7981633aa9f6e38f1df0e3e0b268d71cb15933cbe71904246c8c081af5d07625963b47e8d3ef21d41e1dace6ff4f5f2e987932e9b110e206fa119588ac0cd10dc9fe6bd746e77996ce09159027ea591645eba31b7e9760f32e59b135da402e99d0b7a59b1ddddb9d5c6b8d3a2487a0c26f5ae13fd921fae6f35a670f2c377e8b2e9d0801ad46e1a0209e5e41f63fab09ec2ff5a62ab6e6c7e4c3880e04596f235ecf63b8cc9dac7634cce0090b399e1b0978afec0a3a04cc45740cd4c676e25081e395ae264be2122a572731d26a16fe1dfd523ca0b1cb692983c8683804e46b124e3b13e73cb14691c2e5391be30f9363adce5b806849bd3e44bb8bc8dae83c6e3924f6a70758df5b6fcfedd1e2c4fce54de1a739ed83c65193bca16968e6c28f42a9358044563c48545cdc5c4e261299b18690c98185fd29018e21b3ffc66db169dea9a790b402933ec7a90184611ef3bac81eb7c070ad96630f69fd3192926df3400e21e02edd998488079d458a1437b55e2aba217474b10580d65fc469d6eae7077f17016951e98749f8a3c6956b94682f036db8ec4ae75fc354885faa6e5dcc6e11f9c5446985c80fac3e36261dd4977c7646f19363889c4f99b4d735e9c2b36527be525268331c3c6981ce55af7519510140b2027e3388e8b4b481dae7f1f10656e140923fd934c6bc064c30dfda6b3028165b27df4d529fcf5dcb9b24e9717694d67c519d9d721bf3ee6b2977061a88896d68c247b2a031d6e3caa6799bf852937b21c00d4776b1efc668f07e242972e2889bee25705386de12d9128384f40c404ad38082af37a1046caa59b92acb368919d5d94e0f0c9cf97e192659edb178fd43866be11109ca38fceb12227f35a8730121af604962ababf6ada6c27e457219476f11bf9372d948f1dd7a596f96f2bdd4be1a796366bdcf28ae6f9049a2b7da18a239e527ee268db9d8619f5b261a6129bc209e95f1b3f9dd86f528c33316892140b8a829325f190dfeb2d9545e26c971e6a47e401f9d49aa55e5a341516ce7fc15cefd07e7a90010bf4ef25e673a94e4e242075cb9bcf8647a00b943e039ecd1fca0aa8710fdd8415d6e77f455246b7d5831943a6fe05c332e0928b144752d5fd1799e0de068826b3dc6cf1ebfd72ead9821376e66e859620a285c080805123b0fe7764a063a70daee1c3f8df133c3c1ddc25ec1e85905ad21b5af398266688cafc78c906b83ef03ecc853eb055df10934718bf090768ab38cf171b5c88fde87be59cb102b4c708aaeb51763327383e107db96a6e51a7041a3afb6de308c0323b14808604111f66d521bd0e33d2acd66103b514d6df1475d70c837b6481d7104206912b25d5c89f77a6d30d50bb42d59f78ad5c52d4a718edb05fb3afcc015ea43ff816848261503cc8d17f81f9810b50d0fc109d1cec191a64c19395cb7ecae4eef8f0cee004ee880b730e1c0e881588b380dfb4892c22d011544e4f684d2cc415632128b0521df02cce3ab3a8f1b9209234547c31e9c4119682a6efd954df2d5d7e992961f9c5e5c8993541b9f3b68430ed83c4161c3fea6744fd90dcc5768223c05b252666d2abcd5b55026119f40a6afd1052a8726882de31f5f46693027cc929d727d280e18eba8317b9a35426762e1cd0c5dd43340c333e36b4fd440eabc28bc6c9553819f690506f6feabf1271d8f6886818a043afc54ea43f9b52a56bde26f4f3b061863a4e0f5d46a393452a2dff9de98d24787bb6388053d69febdb778eac12b5b7863dfd26f6e596c2451259bed135de6a2c4da705125200c2c912c499c1992e97415bb0cb6d649b025eb33e2e02869949261a1a464129a0d4d054f6f5d8e40cbcdcbb159ecd4ea09a9779b713ae4ba30534df15322371e5f96d8d8c846e2ad89efd41490880462653aaf24c3ca071c13cf089e3ad4c907f6ac33548b2adcd94910d13819afa974580abbffe67af5acd0853b16ad81479878b953d13dc5ba525851e81bf2d80cf610eb83f51df93443554563052e09be0212ba43e797d90a205b971c47014805d500a87c085785c1fcc0a1a1f04561830dbce02b9764f81986a31c8f5f59c181da3f9f3c187d36ec09aacc9aab42183ac6a9103cdb0af4e013bf4719fd908bd500a4459cd1e7a3bffb9a745da0640c6757d42a50a2d24cc2b4cf4efbae7b0d3c704112b74384e7607a56fe5fc1d5b1f097171dd756ea21ef58f5c123c649afefff3d694715dd4ade0e391ced5019d1b83728587311e867c7a14fb892f28301cc675113988f255cd8680b9765fc238f899c694870b224306afee3c0f8b68dbcf77f34f2d0d82e6b7297e26149dc281c8932b651a9f5bd9e8bf6de5f3c7c84931f38a0f169ecd965116300a9872811aaa032e6dfc09dafcb8d9b0d3d0250e860106bd130e62a637fa3f9429df6b66df808c8177044044a3456d0555aa4228a84ab3594a2c871c106d8f4e31e324a8d04e29e15253e1c56c199557fed1d128d67c524f55664298f22586ebd0ac33916d5678bc30d2860b3a9be4746389624701d0640e687a1229ae5cd4f9d8116b9e3447a2c0e229bc7c88e24564bf91fc5658a0e9e79cbf8a7da003447df8edd88a65836b99b8c478584cf89981516b6194ca5983641b5929abb64f9447eb1789032a177c754242b9481dd40a602d1048db66c18ab05c2adf727166ef95185547830b158533ae6a0b191f26d61840f85218cc3de1faf606e03def9db91abde2ebd865eca763a92358c9b382293b667a907e40c728cc9d6153bac2c39f9c354b06bd3e85a679b4b65e7baaa09fdb3ccbf41dc481bbc582046caa21504c6d417e3616c9fce93fd253b26980d9af2067f90f14accb3eaa89fad3de416e2376eaa6c1330cce94491b06101901347d0084f595a53163bb6e29f6acc7fa5c1b4d8aed3f8671ac63c8c3de3fb76debd8ac76604be66ca93ba865b65761ec564e8aca60228907671d445f3a00a3391c17de7154694ba37f381fc7fba69b4ba04d694c9a9468167ef30a585e552a4958cf489b56660281adcab3e5a77bd7fb06af7ea1183021b3ac28cc084e1d2497b5298cdcf3975e264a4381be47c302ba477e6ded3f4e13a96a1a70d97efc335da9911681e5cd5c2e1153c46759b1a726a50cbcba1c9c2b01f37fc077367f2278aa0e00f58131f9582b049b7fc00382f4452af71fdd41c7467d3db4f572feb96ab5c44391d3f042e93933bb44ef41db57d9b1113b97c3772a5a727791fdc6eae855b087767a1a0aba5259632b4ce205a4ac3b58a8209113180173efe7d2bf4c605b834cbaa239198d8ffd16153244a52de9dc30d8a65628c1f2cfa71d065ef4078e4b4bf4b5df88e277099ba361d74286e526195933feceed0cc4f02d1eef700d9d69a333209bf3e0ffbe54b908f26b07c531e887f2179bf13f7074445162f39edafb56aeb0e75c228f2b182cbb2e2deb16707f1a50c7ab7f027ffd82a7ab7a661498594ef5cab581e974f21798445ee81909a58544711dbac1bfd8e4d7812e0d83beebe6d01817e1d5675576a82b8dd3f649b22fd913d580fee2d0c05be266cf6ab9dfb1fe1de6aefe8de64b7a480f9d360e4211947e4f9238d85411e0035b77a7a25743c9496f6044c5089a71d4feb000c4301150d9c55fa2ee81acfbb5d76c885e8fee56ea3eaae3fbc78864cd9ca43edebc503be2e91308be7d63da2f278eb6dfea23eab583c6a795a734127de2167e241dd68404f239ef6ecd9a32ca842be5e09b83d7478dc8e10339f628e30c33aa1284f850dc0b40387bd65f029e3962deb8458f6693ed3e36d116774b0934d8a839cd5c848ab3468c855700fcc15753fde036ca59587ce06ad983fee7ea00290d8bcf588bc36d16bbda17dd7a683376ca36b1964f731d7de0337d88c5793aa1ee645a39419dc77edd58b431b9c37c5254e8ec3890b4f357147ea2872adfb1817a08729f66579c5bd5a7c3110ab573d74ed6da10dee62d03a6d24da3715c71018b03cd69b3bc2b71a5dbb82916ead211ae90cfbdb5a9526774f4bcf2a635a0347bf24f2bbc2a5b796ca4d0b2a85e5c267601460803c14b702efba4ac079ebb4c88a682ed294c5f6a838af8ddc0e69bc9ff3e309eba927dcc4057781a996766b300180e166bf94710af4499e600533261bd576b79cb6bfc0aa6aad94e22fc2b38a93157f65812dadd9b7683fd9fa03b91a1627d9c2fa43839abd5f2f8b2d9e964f5449f025d90906042e82d5ab494cbddca8ddc5fac5cc8c1077e795ec114f16d8fa60326764834f4fe9d290b6cfd8c7490d0be1efd5215c3a04aa436baa5d308eb2a20e6d61cd361230b00023f688f85709ac09b68b010f946cdff8808dc3e89c6f51a2d5f1ba7f5be07d0c346aea786a201880fb78ff180623df6dcce4c132ea436152fc17a7b42b12fbe8a331e01d3fd27aef12b2b79452a624037e0a690ac60a3142dc90636253720c073926e671e813b3e32b92b25227e010c9124313412d9c7152950e85097da6934c30161801b8472e7764bc46c607c8183f1e812ce3471dc9f8ff072f327e3249c6af03041a19ff4be883773ec37c18fac0bc2059925f1e0c7d5e58e17fa14fe8813419cce54d061f041fc732e8432e833fcfc8e09f421f7065f3f7a6d0e7fbd3094a3e9dde0b7d4ef748ccf37a0041f64c30571d0f47ecd387d9724ea6dd2bdb36f037c18e0eaa519e0e0d56c35e273112b271efbd37e6540790cb9b2b603ac0623b34910ac2a557411a1eb9bcc1d1b143088d1c22c821579a08c4c8b5d27418ca95b6c30bb9568cefbdb4d81526b0224144d9a275654550a9c9404b2e6f7072a9e3862eb9aa20d7f7aec8158716d072b822f424d77f097daa0e0e38b2c8254d7983a363070272398f72adc18a0d4d72fd8721d727756c98b41718b97ecf0d4dd47024d707439f4a1b72b203fe00f045be7faab51619793115e048942321c8f73d0d2cb9d240834909b0383a419325debd41c2c80eb8d6ea420a685883c994316e2841ab9a20d75a7fc7d2f2fd7abbc8b5d65a6badf10297281a0d49c0606c4417d6c31e883bdb9aa5a66ad521805cdfc368e4faa82ab9565a08bcc8b50af66acd90e7797816e2703053d000e25e2f58d4f08d9114cef0450da73164e00c2dd0c154c6eda36107af8ca1931036744b35931139dc97772464451823a84bd24104dc6c0c1b442003470b82010f3af820868b0602237a10418c24473199d98882ba37e0993ca3b0e2a4be00dfd9112b536c103895671456ba58819518e8c8330aa41a5e27891897580a415070d2bfc60b5c760eec06e2a4ff98392dd8ec29116e7f90af8c4c9e570acf7b81fcf8dccf9ec2352ba536dde4457bf2ca4efd67a5737209b2424a67470a25c83d666ec749ff21be4af58490eba012723e9c74ff317966bf7b22008bf27ccf0ccc0165e1b429d7d5d4e5e43a0d9d8c9cb5133b1549ca27a13c4fb113519e3ffb2bf58af355e9b2b2c9b02e5f952e94f2c0ca651ae5b276b1454e4179b68744f814e42b98afdc94f395e7fc35384d5d4e2e77d1e01ae7e4ec9c93f339986128e1326b3dc1a74761c11d3ceb4b53eeb3f92a8efc03e06a8eb2c8f1002259675465f33dce125d96c381e33d1c5f71bc7dcfa5fea6eeece8e890a40c97f3956901a6b721125c7644793e2af5b608f73a15675a727272c9d894ab194b0f45339a864c39d39029671a8a19cb9d93ac085c47138e8e261b25f0fc8ee87ba88d38f3371f9b52b93cff0687583acc347697714907efa80e52315c9a720eeb19ca85fc4df03c1c71b66866ac01f3acb06247cb4e3d40c539be44b1befbc9819802d2c1ec92c48cd6eae0815ab4002f2746f2fc89a5fc59fa529e7505218e7398f70e2277d8ede6ab140a29f830932609948cc9f3d3c67a0e5e46591cfc648d390ec416a86a3eea099cf2673d5004789e8307b2f3acf1c789ffcefb0884e739780ec61f9e076aa1b060d61fe0e79f68efb2c963278f9439dfa382afcc9f4e749e87310af54f923a5d91cb166073b734733a10534038f80ebe83f1e78748c760050e2d27e203e03978a0d667046eefe0e77b175fdd501699faf9d488b3543f9f0af9cae667007e3e8df90ac74f01fc7c4ae42bd44f1d3f6b7e3e85e2ac9c9f4f8f7c75e3e7531a650de0a78d9f1efc7caac557343f757e3ebdf96ae6e7d3256711e0a7cccf0f7e7e7515e0e75723bec23fbfbe286b07126719e0e75725ab9fef32ca320db98cc6fc06e36fb0c177d7a8d706e377f33b235fcd271a66e7bf287a261c23334363e3460d0a878df8e38f63997a517c712c6f9efe8f1d733296e7f388e00144d38ec8121b473598198c39c61235ff463c219d66e229493c2939391f87784289a72e4eceaf11bf20f1137272be0df18bd188df8cf8c9c4efc8c9f931e257133f2d4ece3789dfed5b895f8eaae61b40fc965c357f87f8d9a86a7e01c40f8babe67f207e34aa9a4f00f183e2aaf93ae2574455f33d103f25ae9a3f00f18351d5fc1cf133e2aaf93ac4cf4555f305209eb8b86a7e00c4d38daae6abc4931657cd27c5538daae677209e8e5c35df34a493e97bef587c55764594d63cdfa14c9b24b73551caf3fd56e4c546c42b4f1d971ff96ad29a20cd3779a621d3d0ece677325f4199dfcdba235f3912793e6a8a6c284f6b34a72c97a69c2d72727e0a086ccaf5509cd2717906e5f9562cf19492e70340fc99812111e16a1151a5a0d672324b87e5d294e340c431c19f1281bfacb83c7b2c716e28a65c9e3dbf65797e93911202973d038bf2dc80480d108e0b208c8f4b8dcb2b47feda7d49f691a63d7b5a60cf0cfcd34d79a1e08bd6cfcb13f123642d27dff78b48e4260667b49c50202a963f41d9bf6ca1acae92fecc5c1f98b988cc805cd97bb2ffa42c24608d357225cde5307cdab1d0e56fb6bca895e07e9b9dbaad4dc56b0623b6d29d1e3b21f438124f72bf11d38b58e09a51d167a10839b28f5e243a149739adf4b38e43a228f7676bca47094ef611b96c247404527fd45c4c652acedc44fe24740a4ea290d43315a8a8810e326d3e7952399c75a0a79ce6fe36e26293fbdbd64bce6a2a2eda114ab9d26640a2642b510a75e346be721f8cc8a543c9a89ed11142113aeb28d2e9a2c963737fcb264f1293673679e877dfdfb446ea5a63715606a894c9a38d74d052770d4f4c1ef7680ec53682325b5d43ee37755118f8b3e7ca8091e6d144ed413fca6d4e2a897f127bd6505ad6465d74e444dd8d257737526e24664e3751eeff44b0d9c75e9a393be01592e0d0514b55e02f4f9a0c4cccc0a73c6932008103536bf5e9f54e3ba70da7c9b556ffae65746eafb534198ce4704347c47b76529b23cf28a83cc95588098d182e10fa46f60f40f797738aec730af6a721e958e2da6460ff0f53563331227b12380444b05ce2193270e9b93ed39bfe4d268fa250b4a99d332dc0f37bec3ae71c5d4ef6d723787a5445edd32bf4ed47f196aa81edcf065460528a47247059f31c9de0d20bebd287733887fb679da81cacb5d6d29e3cdf8a3636dc6f87dcf9d6f443f880d9d65adb81d15f56540eb8bf5a6bedbde30f9196125ca63adb3c0d90cb39a7e84d707ffdef6c641a2acac4e44e9c650b73c8ad94ce1fde7f903d7fd5529ca701b2fdafdefbf58e605bb1a401973a26d378050628e4f7cdd05a6badb5d6524ab193d5fd075b814bd0da2a0e71d48ad27e6c05ae4fb7e077d29f521fdbe33fea5137df180f71ef01e38e0b2682a2e4683018c993064528971e6d892ef983b10f2442ff7d9ffa9ed7e29c4fed58473ad27176bbaeebac16d8e6497b01c90b3884a0d670f705198cd02a8aece35cd7755dd7a1c056f1877104a33a14c4e8a5b960a3e1af243de942920e1ab7ad578b42795efdaede104beb7b89d3305ce0fea9e566aff676dec9a9bd9d67fa421feaa553ea95369c661dcfee9dc54cff0b2bf52f6ff4576fb6b68a9e4b4a1da4f5bf4bab673a7da058dec8f4bf1338c572ccf4bfaff49f2038c592be7ba6ffbd50ef09da97f1a34fa98f383367fec98c2db6e0820baf7ab5bb768bea75d76eb1c5164a7c4e4fb49a2acee4f1f27492ec3348ebbdfdeec6e2501d3b663d705a87ca13c0ccf15ce264a72379bbdbd93c499224499bc9990343e24c1ed0eb5ebc12d4359474ec8d8820ece4a1ad5a43895cdfff27962bc8c002846d86206af022fb3bacb5b6d708faa05ab13150aa2128066680201603358ee02dcb994531a58c2786981df5aca354a801cea2b0d2b4466ada9c5254c3528b6d60ab22055663559cb885af2a4f84a0ca6c8c242d9d4484030949090e09c9091b12951852959c4da96db6c83645899a1345b7a52cb8ec9b51cc8cca1944ee2f2940179533baa07286ab71cd650b5c360ec6bd74278c3ad75db8c065e7662fb427644556c4684f80417be288abc8165cba4bc93493a2c586c4579b1d5199493922c88816fcd5fe54f5553dca7d2329e5f228a080e231779fa5206bc92dcbfd957a4c493b2c0a285ed9533eba8dec42fe6a40109fd7b71f43673bb79d7bfdb6dfeed6fbdad9eb8d31d06e59f76abffe6d2773fa3889582077bbe57377775b7d7cf255ef3a6b3791765fe29bfe4d9cd216b98c0b2e2b2c534a5d7e83065c529758852e75bdd7297030bdc40c0b122f6aea4e94e9d32532fd76225fdda80368eb8ef4e62aaa28f82080bf6fe659bf89539a5eb93dcc63d2b12aa12c8c42fdce8eabc89a4cb4da748e2287728257ee0b43cadd6d7a7aeb75c57c35e4ab92e63292f22ac9dd6de432182e9a6d1adfdbe909e17ddc914daf6332994a9a4d4fe3ac4bf34ca66f938fa94271d6a51555225f113179fa2b93c9c3e46a0f8674e0dcecdc9cc74caee6e144edc169f4eccdf4d4e4caedaa30aa226a1e5509ae278f793ecaa62fbda81b7212d61971950eaf6f0ef7a881ae30cac278bc30aa328d9fa91b22825526d52362e6f48b80ca3ed621231368c9e5cd79375fa560be4d6259bf735196bd51d550d9c5feaad17dff4d63f2b842ed41175fe5268fe30ba32aa1e6718fda83fe9bbd5d6f6ff4de7a376f09d6638982924d63d9115d9ac96472f1259bde45939bdcfd9a9e5efaf75e98e9fbef51f3b85c9a5e586e3a76434ee6664e979b6b1e378de9417fab3173bc5f4605b87e6972e1729b5ca622a6200fe72b2ebed280f743bcfc7dbfd705e9387d24796b4e22cd1c2c37e96a11af95e941bf8b978a99d39766d303fe5cde5ceefea9637ac1380e2b5ffdc983cad35e77ebd6521759d060e6646d2862cb284dcaf54b93d798ecfdf4463a6bdad6c55811eb94d67c55d2a59ce4abf2977c959a9562a15a94c825556ab03d3aa3ac1ad44733a7fe6704762aab242ad311859953213055f56b49b7c87526b9774d43aa36b9d69f559a098e72fd20a5d2da5e15c6453362a27637a861f5891e6a52aef5fd6bfd99244c9249740c333973fa717c45290e3cf2c9fcfcefcb1fcc14bf2c233a09ffb32e9eb208e0e38f11c320a1f8bd8f1966c4e19fc421361cdbe49f1a218ff403c51228262626c6c5324859338e3961f17b9897f183f6e0fb502c77e4ef7b28287aff899de9a78e6c1aedf7f750ef5ac749913ecf594e4c3f6d72bdf6b3f61359e8d7e9eef8a14b6250abb5421d446aa2acd10a1ffcef4fe2773a9d400fdc11c19174b2d7f842d149f75d8293edc3c9530d0c70396925fcf84e7f3a7d08b65c33e0a3a8564239b198404338d1d087fec9ab531fd97b502c7732f8df49fcd37f27b1ccc9a7ff1af45295fb2b03904fdf374eaff3ace3abee1671e2f57be426bf6ff4bc23fc3d4e91914c4992a613a44bee57c159ded29193c8e50eef09de21835146a37641fa9dc41b2af0e9679eb4228cb2e7926cda0abe2aa79622847cf8eaf4ed43ee2f694ea2f704cf70849348fff43dfe29f86974a2941f9505d9bf022555e8d084ea22a1ba3e7be2a43d29ca9db8c21555b044a8e0e40aa0135c5db973396d30657c13a7b4f37b82677715e7c7c0a80b8b5c2670faeae57b01715c9a8220085ef0a7c882062b305b180f0694097d5c8993f48b8c703a762ca963a7c70f0bae4274984ca67c3af588791ccefccc58954019cc179884766525a70fc6107ecdc780ffc6cbe3f818621e05f3361f83ccdbe8e9b71153f66d9ee65162aac321a6ba990782e367befb19d4a7c69f9947fd0fcde378a0960d31e5009ba7f9941d81d83c4d0a888d9f791b3ff337520fd4aaa9b9f1f66fdcf8d4f893b28fa22afa40ad1bff93b2a30680a4fe86e66fc69f9f9bbf195340ad9a076ad18c4055fcbec5f2332802b5805ab12137dfb10ef1804f6e1abdacb1532833844b2fca370c4e67c17c55fa62c0fbd5a77bda5247b62dda9f3d6044570a4588c93dba0d09ec322749251db91b97aad2bde56ac354e0d26736dc01d72fdd66b3d97672752cee330721e8fdc85933beeaa7f6c72534635512abc9d6032e1db7c30b7d9a9a90e0598b28cb6f54451f7ba86a43511b65791ec628d4bfdba8ea08fe5c475b8f7a77ba90043be4240d817ef531058e9181be870ba89ffae124fdce409ca434852964c41811a3742c063af9cd0bdf9c93260ddc4fbf260d7777afd59bee2e4eaaaa94526afa61cefe0d664e7fa61e154b3bd36beff549daaf5d6d689c6d9c2afb3001c8f60306bc8832a1cd28814cff3b65fb2d73814cbfab2552adcdda6cb8f219c9868890c45e42b3852e427041948024f940eaa1b30367dee439e996afbb6c6b6dd3adb52dbd9db597567052969def4830aa0bc56e61519c95000d781163421ce204723f7d50ec5931901b67fbb505047e4f3c903e17f608a6acee56ea6d6b07e4f95503d55d7b675744932255e02e4f1a13185081bd3c694c5a902f932ff2bdf7de7bef92ab269733bab86a66db9500c7e44963624517f8254f1a139a0e0dd57b5f752f338ab917668627b6e4c6dd503aa322a22118ec72b986dca2a156d2485e62828e92f4502294e7f72b9451422507213b0d6b235d049c499aa28b1d3349536c69235da45d2d7c369a642142c746932c4dda95e322e4542304972274d408c1e50997a55b10138903c90b246e362d40bc4aeb8dac8c2eb474cd47f7b676d4e3e250c161889bdc3d56d263c706204b132b84a00290a549961d1d1d3895768fbbc75ee8c0f97c73e99c6190ce2c4db2100176b7af3843ebf998d98e3824617663cd33435fe732a94349fab45b1e657914a368b2e7ab6e9176777777f78b119e2d1afafcb0ff7920e82cd055fdb3f4daf33046a1fe89c095daf1eef03da05d36055f3d47559c9348ca06c8538a24623bd5f31e7bdd2b7f30f3d26e4d8b6de896cb7bb96cf0e5cd7546b074e98a64f7db97ce85060961462ee94b283b85cd7c499514c994604ab3f125c592fda98dde9224e592e2ca5ae4055372432e6bac2ac9fe5f5623af342548b9acb58a25bbcd973529fb575ccd39c9a52d72f3a50dcaf1a515b2432488412e6dd14c2ead51065f5a99065fdaa3ec6f6b36c9895c5a9b55cafe5fda5bf62f2d97ec7f5d37082997f725347e79619728fbdfa22b1b4a412eefec1ee5289221249a44bb0411c9b2572df56624bb85592896b664731749f656799564ffb9c375537920c2ed5d62a3f3fa043d68a919223a358d875c76adb1749296ecade44870302f0ecbfe1ef3a1d81134b974a3ec5fbaac7428d87f964e1b81e7d295b2ff9c2b9c37f80d429f0dea4eb933c2c083953cbe18fa8c5814b1885fc5255a64517cd49231b2b8e4862cfe873ee2b72bff6b10fabc062460226bf019843e1af0a8ae9cc1e7087d3200738e1c5f730c61829c830446720e255be41c7f13fae440b9f2cda7429f9b94122172ea6d429f94cde3087d6c708091713c2af4c191e3c8104231570b85fa9ad00785936b8c72cddf087d6a6edc781ba1cf0d6c23c90bd9c6d3843e3668de9bacd087a6cefc148228cfbc4ce833e3d52cf331a18f8c1773450c1531318fc3c83141389103b8289733e7fe335fdc8f8a0fa933d75a6b2592ad774febbbb5d4ffbeb882987b33bbd71bb5749640fe9d7e8e738a436abe6f2db635789ee7616b77e42a24f481cefc4068b625b2e2340981fbddf34c9ee711c9b39b779ced8177eb9c9eb52c7479e62b769456cf859e36182c539adb60308a03855118ee0a14b4d8482558ae22680497f3e6611b2671517a52a14c8f74a8d00754880ad52e3553a1596f68700a7079e3f57530cd0755acb1e9e170f9ff44dfb7e8dfd3c5992b5013b16f86fdde37ffea7c6f7a439f69adf7fc0ad4dddd230b5d9eb9b375f5cf8c83722bb04f2421a84c1fcbcc3755046fc0e54cead1c32f2bc025e9ee513eef0b600317b4d615258498b53e075da452c04006ace54966315beb67b4a2046bb48880904312b2699cf192a24544a787dc095a386e80ba83134c845af404434a9208b53e8f054658a1438b883f81e1059c5dfce008346cadef64c1802287295a4474902091a085f3812efe7cb0021948d02232adb8c0c50f9e0ce16a7d21e8e2074648816b7d2fa08b1f0ce1c2acf5c1802ef6cc1546aef561d0c579d4822a70ad2f067491fe004414b5d62703baf8436b56aca8d122120e21c59519d0458ac3132e0cb53e1ad0c59f5b048c1fd66811d1f1618886567503f47f3640176f50e9810b19adef06e82255419117825a5fcd0d1b3433323118e62504bf93c9f3bceeda1a1b0fc2fd006b11e9a6de9ffebbefe27d4f34994cb5d66be749ac1e8daf3cea8965ebe4eefbeec5bb2784e078c237963a99669abca260768258d6c97366025c86c14c9c39ffa3a21786a76f5bf378f9d387611bbd8c65df9084538609df860b80f9ef70e6f07ef835f4094f228ef84e5afbd45afb3dee52707dfa6e5fc7fece6c85338739fc30bce50e06664c91e00ff30bf08709c512e7f05f5e1ee67bf04504ca61cd5f676412bd713a693fb74ad89470399326cd47093fbe29b0ccc73cfdaf6f7da3b2e59527152e6019017952b16191ff1b043f0cc3ff2ac6638a04faf817401fd79fec30225076f124f6d0509c4e7e2378d973d2a9cad2b18ddad65b762cee9b3834d7e45cececf4e8f1957da7fe327a0ed4a2273aa61cf0f2f28ddf08e407a8750a450a3a6bb6ea89c228a53057cae590a734f4a138b407f5ad08ce8967cd22f9a6afa600be4959b4b6ea6c7dbb085feb8ab385ec5f7d68f5958f75dcc057812134fb98a2e308fe1ca0b90293e29457ec9cbba8ca67c41fb04b1ab41691182b66c41fcbc42dd722a243c50b505a4eb0c5e202598b88ce0e568801c616b316119da1a4343c7cc0f5dad7b3d65a6b83d45a4d275bbbab676db7dab3ced9b65fb661af5891b536e8f58225555c112d28268bd56475e649d967d9bdfd3523fe509b19492d22554b6bba014a30f7697a2f938bcb56a362e719f61724221c11721d11140210c4408a4ef2c59418b4d4604250c1d125664414579218c20c1a10135190014b82090a7220238a23a6942448825852c2e652634a0e2896d478c1ca08684b501c9141951ad0f8814b1a45431c1540167446103764e9c1e889d006a1326a673c11822f9c306213aa0285134510b9142374ba79bb3a95e688d2132e2e906521cac16714f648f45316e0f91f145f1d8add6a1ed884d72d4367b4566b25706df25c99d3d4388cd2a9b6de607eeb0534ac611da36d34a3aa86358cca7abc32791da10475d3040ac7048a65d2644639e900d9caf495e958d83a9392fb29155af3dae449a1a4605486c9fd54367940bf512ab3a952a65772d3a48cbf12c872add58c5c262cde137ca3acae519477c7d2c3ddb7b0c65156c39c60b02e1614449f8e252de2b74f099a040c95c960814bbf953159e077cce4a1335ac459140b3852293b76e8d0818343635406d3df5456025c52ca00285c568a90923bcb6881bf56e2a64492053d466330b97e6c0959b64b0c7968020935fbf4a62fe54ffe3690e9c728cb61322de2aaee6f24b95f2877c35030b97499d7664ebf124868cc6b4a18a131672297cee54a6df2509c8cba3e25b05f99aa6eb74591fb291dbde6e5495b024ba6a5d76678426d81e30f9116f83d4e459a4c6594058eee7918a3504ffa2d7440d7fa46bf515516b8f4db09b89c40e96bf0860adc491ce59a29ed36694918e5f616a548de13dca10994d24e460bec853e9326a67ecd5446597ebb053939f3d72531b21565728723cc2fed9c13e9c92d9b30df8e7392f529ce49285e79d264afdc396cc014613e1d5bc8c9fe9853b7b5ce5b2c862e95d6a278edd7cca1329bfb29143a9b4b5cf4c808bf512cd44697aead375c6a7a3b971d3aa109f535797672f7a0324acb4d653f343e6024b1567f105fe5e4fe15906426ad722ed5dac9072082fbbaafc9436fde0c6553f337461b332e0593586be6e6815a193c50eb1fa8e59fc271e3655e66fca1f91b630a888ccc03b5723c504b83076a01b5e6bf18babc0c441418281d91740225ee50957f4aec8901973b792996c221a2c4d992f9a146a4b96a2becbe3c598cacf3ee92dc66bbb7af527a8b196fd76f34a88b657f93774314966357d6d9bab1ec82baa48b2bea6831ca9abe9a1daeab75329bdf575237cbdec16e2efb929aeff1931b71d206ec2f274937fd8986ef6bf2743d79c04f01854f86ad0adf3706b1d11b5da238192e3dc883288b82a2bb668eff8b117c63e5109b97d80781e61de641b73e8d98b2a161851b8d4895b8ca69ec860eb8f46c1f34c2f4331d87d00ce076c2b02dd9e8929336495a9839d3c882fd0578b6a38d09e89f8a5017485db91c0e77bb519b6d36a3d16a4939f643e40eb5e54f2c3b96e95bb17ccfc3b887d66f2c89d8b2908e65af14d2b1dcd58c74c9477aeb6c130452ae4682aac06011b64f97c076f42248d824da18a9422f7aab184b5188a174b3b8db264697db12094560485c49ac0aec02dc35e26c7d4ab3188cc8a0c88e6633136e88b35f5cdc5a9f922f099ee102688fd35b7d0b1b528cc8eddf4a69913ce4455c8953a23c64fd46591ee4e1a32360a8b53e25d83f47f6a09973040e4718c00839b97c000939f9fe0d71b63e0ade20a16bf65cc792c8174a3314b5682ad05f9f4bcdefcb5736fb5f2198af6c6648ce9a59d42e125f4d5a1117bddd577965f7c8bed7dd18c5d97241748976c90e85deb2bf0d1116e97e795f776c5aaa6b4e62414d195f5a3aa94da8d93679ac7d3bb6cd5bc949fffb6adb8d655f72d25f4efabb8b84a723f864466c19b17369e0fe2f877b863d00525a20944bdc0223ac6e75f7d2eb460e787e08039eef2961981c9e36469280601a7866f14d9ccf963505e47402f23d506b8231d3493ba64498b42845a913e8f7f4672b75823ff8e0f881d3fbff570ef17c9fce6f827edf7e87de38024eb61b64fb1b645b01d3dbf7fe8adedbafc0fd498b52943b71837cc54983a2246760034c81aefb13b8c6e185a392861a36337a98d50afe70d445abf23161c4033d5c44a37204145a300d18b8c4a72a2f6041ae888d1915e01295c488cfa24852248910af24490891f43863e0f2bd48ca0beccc0923a40e2c7049faab46e5c9c551a9a2b3830c5cead098431983e2a2b8767adc70b9f3528b4da9854553b6f484f0052ee7ec255684149bc5e0a304255c4e5a4d4ce9e8891f406ab89c351a246655a0904218b89c491d15d71a61045161daac0d0a12d8a088b282103170396fb50889ca181918e2052e270e00b5167e722fb62840c4a21ce12ab2025cb62b8687dc9620231d647a559162022694bc845280cb7e4521c50b536e8021d102970dbb81ab2fe821e4f2444cc9122e3b3644d4432fc062c355e5054855d628aa92c6acca0b624546651725d9bca4805293621686144b1c490125890c4a19d306b18b37974c635a09a7c78e1e3b94d5f9983850ddb5d5c63da0ea24d8f07d324a703f9d73d2868961428609ef89c337bf4aabbbb5f7bebdf73d53fb65b5968ee5907c472160154b53a6ded42f09738d355c9489827b26cfe94da798994e323367c60227f134553e559603d56905a9f75dc122b8c4b96b91deafb482b95e1fab488b28111da2d3b6c534d50ed1a1a1d76b89a1ecd6d6d9d7e51651c7ce9a3cedb9c79899532f609aaaa63f55b503997e5b4b9b3a2d82bd690ca3288c228982bb524a5d1dd22e300a8351988b16c940a1b04aab37bd459ecb233d94d7350c177293fd3a2d06131dd3b5bbcbe8ee9eb92e62503176de911427c86ac3a022dba51cb25dc292ad183a8451038924d69ac223d3f7ce60411260c83265b59165a271252bcdfbfef6706d30624da0c0f8589efade4d8c5c6f42e4faa9d0a7e20c826e7819cd6464bc9c8b2658bee9610fc436a6a41b0f5f48c9f571843e151f31c543d509c511ceca0b23f93eca8b2bf9fe7f21827c7faec08a7cbf26f4b964c5524413a75a6bad376c2e411a9c7cef7b55e4fbb88ba47c1fa5d424dfff15b8b674c9f76d9013064e9a98699a29f7860ba52d4df2e502887c7f26f4b97f3bc0440f486481c5920ba0b01149b9f7de1f401bcc9694ebcbd88c71b7a822dfafd7abb5d6a121c05a6badb8d2dc70307938d1e5721e69900551162cd0a28916546c11822d90f2fd99c5917c1f86a643d4054c0b50b9fecbbdf73eb922847befbdb586a14ff5554db65a64fb60e863bf78b202d4f4b007629e4ea26991c173953d727dece1d6d3dce080904b1d5048b9132969368031d2508286458e9682282fd054e03df1e1eb9288c8f52f1092212442c892a8c28c2dbec5114b7cd6c3012169062ab962d2036a90d12486a2244660d102891a3e1275c59354aedebdf73209e274efbdd746ae3c6ce9d818c66d422856850eb9061ccd0a3060477054353dda152ec06ca051150af7a291c1432ef1775b3aaf5360993c6964cc5004bec9933646183ee0993c696324f918a3461b0386995cf3a489b1462e5fe7861b6860ef6edbd65afb8d72f0061ad873f937d0c09dcb6ff7664ea547b824593603049089f9fae5bcbd5498d0e47d7df9ca7f05ab26af3dcf0e634472e65421aeaaaf9af5a7adce90ebc4225757aef3caa492bffe0172fdaeaee064cd0eb87e9579f5ab507da188aa921c92999f195d6dd44a9d20f3811476b2b62cc6216bcd164c6138f5c54d5aeaa796e0166a7a5435ebcf167d9f54357b2c676d67092b5cb9ba04e67b9c56545444bf17fb3b7650ae5a44590d821b643ce4fe1a04ad48566941454175ac75f43cf12b58c36a3f0687a0d7998490b9fbced67b61c6367255c3dcb18b6c100d06ff85d4014714fdf0670bfc121544c27a04f580a20faa9a01f9210641c1c9a02458d0ad76ba65c1e549cb9396652877469019b7fbd78c5c16589e64e449c3c204367d85a22ca3d68451d60a9e0834f7eb89ebc302b6f0e4d6044aa6230dc63da3ac0e2237ed59d392605774edc643a1aec9e4799ff7f53b853e26ef3b9378bdaedebff7efbd7dd4332fdb3821ea02c72990efc19d9e6f24a94e97e03e5aa71f28943da4022cc877c6ed026d948520a0c82c2fe97e8627b451ab1b7fba953ae103de77ad4b45041499651a02e9de43fde8b9f7b3d5b9bbcf6ca12a6b7f54af21b8b936b001175766ad3942ff921410987ea013ecdff103293ba680fcb451cb3e50cb764381dcb7e34f6ac90e7d92aadc2666abef3e7e5095e352b0a1905461f44505976dbbe16cb75bd06d089e54b670c9dd774fdf834ea057c75941489d00a696bc7cb77eba753a624a76d0c3222a86715ee9e6640d970e83c9ea2bb9dfd398ab4eca8d65b23c376b6e38a7e42bef936cd8836c250e9328abb998aa7e30cac8fd340d4f6a1b9d39fd998ea5df74d08ecc7ea2f5bd7faabaa6efa13d6e85907408b56e3bd7e2aab676f4242736baa36ec99e4459e0d3b16c5c0fdf097d7ef8a0aa8ecd1a677137aaea67c19253aba3b4d65a695cac4f69b2870fa0ad6f6c5b10b8f4a4262078c189ecbd2769a193a47f4721342721ae1a57681b0a490fa8adb6dd803fcf9c0a5bb0c96996b092862bcf17e46925078319414330fe273412add409f603f7ed1802b17fc79fd412d4e85155b7516bb6524beecf562f91cb49e61daa6a0f61ceb167f643b489611f3d47b920fb27e999be905ca661a6b4663669355c0c19bcf2432e1b49d7f6d084a6b50220d8c7801d0980427546b85aa547042ee72c08cb5fa8209c6b8bce59674a43810b40ad96f748a304d70614b9db8fdc09c04ea380b4a2f77a75bf13a4075b54a5ddb84355deb241052efb45beecabbefaf5229d7641312943562cbc6aa5b0989421ef139e773d7cc21d0c70488f7c14ded1a1aaee3029437a342af0bcf95f921deb20bab15f9de4beb0e94504be4f5f079b66363270c1e1c48c814b9d3927ca751c07174c5f6707cae608fc34ee4e53cbe29fcb3e96436c46e9f86aba92db2ccdbdb0344bcb36e7364bb3b4eec9379b87370f2f97433adff7cfb356ffef3bf9ff42660d4f1eef685dad9ba2ab75b5ecb93a5a57eb6a29f8a6db2c65181f6275ea3637ff5aefa5f7bbb75efb514bad03a562d4a6623955cb3d4e459b5be853bf067440f4f3da93be24d9afa27dafeee2f4d80ceb5b31657f479e4ab93da0eea17fb5b5fb1eefc0214eef6b87937747ad7587df1deeb6277dc9def7021d9b1decdce890e54c9ab5499bb386f5ab5db99b5b7d164c5e100a4c0fe88f2ebefe81052e3bc8a3cd74f478df94e2d0f9fada7a6d8d8156cba18113746de540f3a84fbf8576fde89d598f38b6db20c1510ea96624a3b4594ff34001bbaa73a2b707dd41dd4148e0b283da2868e6abfa2094a05ac359bc9d134d166fc76b5fa364b1264fcf9c7e921ea9b4d2cc2ace0d0d485672aa3c94001ce559940d24281d9df912f4b2b6274547cf46163e82a0689e2bc88611eee3f344d3eb74d79a468faa688bc60b5c4e5a0bb43e6d57776dbf5c49295cd2056e145561aa12bbd575a1c237711ab43eb35783047bf67f1c1d3a62145cb6cbe5cf4510188d6a0277909781fb3be65bbe8993a20ffe57e79c73ce394da6efdafbbcceebbcceeb6872d77d8b2c508c6517e5a3841fbe3afda4698105eb98378403eeeed238b1b938e9434e12759193de82bf2fc594605a5e34860aee2f7bc86d1d0e1e6c41c60f68b0e065051159ecd03142ed071fb4b0c574c8a205a98914585811a28a14577091830a9eb26acb4a0c4db352446708a42e44fd484b6d7f678b2527cfad728302fbd88c6c1f8514255bfbb52884aba30a094c3bd0aabc6e785fe09b64f21c60e6b807b6841f2d1401e2ee75a7877be03a2b10a813fa3d76eccf5ce9a45d54f599447b5b27cfbda18f0aee7eddbdf67857067e13e66ac77d943079e8571eb3f6010f782f43b7bcafe34fb79cf8d70f72eb7192c75c29c0470933a7be024c9864fd4ac706e2850c0c44f6950562f29c26dd993915851482f80a0c2a404d8539b918b13e2b61f2cc59a50852ae1f82af40c8d5c70a9440c511668e0f1912e0d474f2feb48955a7e92aea0685e34e3a596bedaa73a2e1a3efaf6ec0ccf16f3adddd9dcea6c27ff86ad2a47021d7f429b7c842833facb5fe4232d0b056e2ac02d48674507624b6f6c39fd2a850d9d9e1a43f8e8e07a23c10a5e3a4efb0d0d933cd1cff6e0c5cce9be7dd280af3fde7073c705f866eddf75a241027a911e853147e805af7515465130ba653a8f4ec35963d2d11aa1900000024003315002020100a87c462a14824109549ed0314000d79944e705a170aa45914c4304a19630c208400400001434666688a13dab9a48e19576a26ce6b9bdb85466fd71968caea10ba05cac1cdd787540765ff921586ef77492de6be6ca1367c7de2f8e58250e996494680efddf28765d1c31cce55b4377cb12d0d028df5b623e573b98dd3acb36124d171bbf0376eb37ecfbe26f87d61ad8fbd13db28f943fe0a946436ef00434464344c431aba11bf9539868e3d461d9cae1e6d3405ce2bca632928f132e757cab6e2e72183363dc2c30266512b6afb764d2264c355cdf0c21eee11229c876409621f9635a2d12b2f67a6e0e0ab0f308bbe5207a0ccb79ea36ee340d7c02c1a164705f7a0702928c21547e7f22b6e65a7d76cdf52c1ae8fcce95d6fe1bd77734d3bd97017f5e7772cf4f12d7637892b44dd45cfcf98b16cb78f58112faddf61a820c3f35c9ca4ff437535c6901162d0ff49a9c3466bdc4e2ca1ddcb105e9758cfd44bbf55902566bdc0bdec37b0223680cd85ea0cb4e4c6ba00c9f3071cefe191c55ecf248c657fef8a5d78ed652e8c764df13e7376eb62726709aa419be32d2f24597e3597145dfa351e8b4b6fe5c6a4bec5fec8165053104ee4f6a318e5775f77f3b26acb23a247faa633bde514d5b5aa3a0eb44ee56b45194a4d88f83f5ba8f7a327abde712e8cd6fdda6345bd5a493af938b0dde485cdcb50e643b66495c4caa5d19b0df0b16e64e45655ea3c7854759e25b2edc5466b5c739c7dece622ddcb6b82bdc520a63f54d0745faad03096901b5b10d4f46adc09f45c043742b87141780bee58ed542c37e3059f64e20a247c5cb5b2f92f8251df4f30238b550669082510b1e7586537eab66d18b105da9a7ab532a3dda511c05a195eb9e3096f7174bdf6c5fe7d22665681cfac09725f0ce4039c053325ff985e5bd0b2576f8356d0baa19415d100d1aacddb367c52dae346039a3abdcaa1c0fc6e731248461124fa74f832cbf2784fb71c49bd05ca4d1887094b8e48211cf74a371eb6fbe31907639d276fd611da78be5519a5d037ba9ad397ac4d3df936997f3373b51703840b51d10689d5e0ebd67798dd5bbbdb8f28c5e01a92b0bc2a5925e9a0670f37497f64e082229fd1add5ab53d4353220354f2e7f0f1ce191c7c7a8d6392e3e56cc06a5cf620a23563243fb702a24e5817b86c0711c7ee9fd4d5df343265a38dd9df4b898f5a482a90905d8cabfb696c99c1e14f727f92fa6984342fa6738c6a0a5c3490e219cab6bfb9d2120408c0e518e7dee2a4e13a58bd702268885548b041f5b8e0549fe4ca53a5ea9379dcccdc727c3060e2cc7f17ac1eb08f1082dd3abe31f870200bc03b6d5af52a5ffee848761157a33d69e02cc43ef926e0d4293f8dc74948ecbd3e9732e09c94f6f342c2ba19a77843dd0711f7fcfe3770f2558b03a927d6b86fb8572a72940e7a70b33d2cdc351bd7262b7157a308aa488427aaeb50d2e3cc9a870128813471728ca0da874b4a41132815f52289f735fd8befcfd465efd6e4d8cf3298326345583dc0ce8eb6bc9ebf90d8111fa172f68d54620d2c73b64a14492d395f66cf4f80eeb6ecbc827d51ccf68f0525b8aac54a326e4c4d258721b187d219780e1dabd49eaf37681005f5868c9ca8ca0175aecb7d6435f7a4be5ca482dd974b8cb85a2450335b22600f4f5758b780eedfcc96ed1ee249d72503c13fcb7ee2eb7624319dec3a8cd9ace499b111997b64e4db3f8fb3e33cb75e22baa126777fc3498b48141c75146410d44d72f6c854f4497abf214f4c9f1af86a698828bff29ea271a1584545347bd9918e2b6012ece31c86b28ee2ecec895837cc1770c98735b4b08342e829d116cba398eae083594210394de88083dbc8577d42699d43bb4e7cb52b12bbd54ebc081dfe8d6a2646dd058a06e872f9efc1199a03dda87355db30f2e5e2e22a7a5ad85bcb50a53aee9778152334db98bc1105fa87d53c9faa3e68ce002af4f4e692d7769fe6b1ee9dacb40b1e1eac0ab0d5bd39b560f85c7c90d6a86fdf8aba4759d70bc36c358b4132b796885496517b97d885ac80e24659ac2fdb2fcbb1857f9c33760ca9dc78083290f0fa92856b242225caff470e1e28237d0c96af182038668e3e131439c8c86cb65318eca6cb471142673f90c8d957c6c145a316b4cd0022d50a21ec2f9aad2eb92ee8fbb569a58e11b698d8006979617438de5a298304ce65ee517b74ab3dd720478f133d8f20ce9e9b87e93ade588f695e46a244467bba703ef2e7deaea1b60de874cb7626bcc045e8a9e577ecaf46ea09cfcf02477d545b6cabcf45652918315ef4390e680aba681d9b5d9e18016ababab6bfbc8aaa0684ddcc34480e0ad32c533999e0fbb6eea9490a766c89303cbecf41452f5edec0f90504740ffc661bd927690ac6c31d58357fee6781f8554ac2f1e0c9a3cd846dbdfd89899ae832d943de0dad8a5bbc3b662fdade9ea95a0d60cedaabad6cf0be546263a9446563057d65f0fe90f9cf2e70ef02afac011a393226b142cb527c5157e707abd04ef64a7c5034b72206c29708e3b6a72f24458a2777406b81a5ee2ed4ef82996e68a352c616a134093fc0e174c66d553b40d5c88cb073528de8606de6d103a30a18c0e254a1de3ec15aa913851989e185a9f6c5790348fedf0909f1981000d7c481f64c31d0fa368f9867c2e6f76092b4660695fbee4a433c304392abf0c15def14db390848040a2c443f8284dbda87114ef7d631f26b7b9379c4e56f8675e4d91d2f51155e3e2885fa1329d3368b83c88e8c61135f5441a345e16acf1f6c0f9694871a5f1bbc7cf4ab6d54ba1a48ec8838587a9fd7eaa83e2722a3df70f8a606df4d85c4c6f8c2065bc0b112925899cfce82a2020b86f33e8089ef151853594f50f4e927f869eead2b19f1ca5f31d1d4b3395e09609ab0cdd21caf7e5ba7a675329c52c5298eb1b6bac3f71b7f4a9b6f1276f5b9f138e0bed3bb0a8d3c15eba8bd366f2fc643af17fb822670ac01ac18fa5847887772f4cc432784c8d50620e0e3ee8d891c642b9171ade008f980b44b3f7e32ac00f70fbcaec0cb5c9bdaf4d44d4630f103d3dc0c08d616b3feb74b2622fcb046db14f012b3ebfa2ecd7bf29f76348b425d5fdaa1f2f9566d2e5c07251d1a8a609535c917691b2d047be72e0a2a2f6be452f7a3dc1b604c5d5d086ad4cd64ebd0783cbe65d0c7a1e8a1591f59576f4bc92008333cb28f2dee5063a1f2ac33633dd38142a514009ecf7bd41190dc23d69f69b94fe8a681bf38698d93ac68637b93500de0b71558d793ae4981de9f846631e315a7f422e0a4928ff8a05ea405c06fc6b08f3854299a15bfa110df8bb422cc7a637e86783a107dcc6a6c6c70ea5c65bd18c6843b88396e90f8f78c9ae8e1085122647bd241edbeb8e498faa26ad09ab24f561c171aac0ce2473201fd1f9e9e763684bb0688f12ed58b9758cc457153f1c8103b58b85280809253b0c093f69151534ec40b2d761a59dc6b2e4f639994aef149e0c88e67567e92916816eac4991dc0091dcce6171b674fa6dbf953ca2c5941fa550921e7aceb26348f47c1300a86f13cc8260155f7a7d6c2ea5b90a48267bfe690660826ea5ff5e1a336ae65a4adecf0678b748f63828becb8cc7ca775cc643d04f910e27b110200fde5a307c2824a5e93082eeee9eab002e908d1be2fbc9afdf9256ea612454965885590170b503077af1b30da94ab6c23acb81c3fa2711987d2fd0cad4ff773221586b7a3cf2361d29e3326a65c6b30917f03670c7230290d01bdbbbab5ed458e65e45826569a4bed78dd37eb5d7384fcec4938530a15d9791ca47b402e4835c23e62c2c7ebd10e2d91dc86d93629be213e83785064a71fd294fb3c3fd2b0b73c3aecb2167e823226f42c8ea0c38ef4a1bc4abef85b4a28e1e7b959cf4d4e67485f301bef45786293813a80120dbc25480e7a8860961e6a44a10893de1033833a87c2a1f213909dd1be926502c583038838cd4a6ec515360dc14de82cb04507200569c1b1fed2921793becd008dcf8b29023e8b8d47a9ef83a7d900458f9c1758f30d27e3b98d51a952c3dceec4826243e894c6825a2c899a596ac258729a8f404e179f77747417297bf42ddd40c52b8d520ceff025c664000d82140a82662c024f7e49941185a485796decefbdb0304addbdfc1e048068c79f59c902a2de20c6038bb97b734a42f7956018b18bf900fc86ef0217421e75711841dbcf981c4764f0847108395406bf78366314075130ee714c104728f942e506a5bce1b41992d0c2299e5540207b0cb3bc5b006a07e5ad13decb2e1deb0e72d596245a241c54419d4f34660bb84a9e8f08ff5aeacda15cb8ece6909df5f0606e5802e5fd1b370d4b7b04e722d1e5d0e1e5e4e384efdbc040f6cdcc24004aa057d445600f6a699e87e5c8db2414392174c69dda534bfa38769eb8aba81f7082f3753ff1de17880805e170e9aeba048d8162c9e3f0121a9202685fa7c7809ed827055dc9c6c7e200c164f07ba50c0322eca7b824d67f3813f11a1955a5d3e9d107e6bff4bfd1844ca4b7c2929d6b626341b46f2cc8ef8f21cbaf63f42c52b75f46f0fa0650652285946a51e64b71a69a8daae4482cda5863be7338cda8263a9762bd5e04bb8bc13c38314ae7981b532e8b46061a207b0f7f4b9665847478327adf24fffbfd5997cdaf3e1f7eac79dfd28d122690aa6df36b5064579b962098eaff62c5522a86a25c22add76573ddc9581e17b218c5a97bb486786f11d4612597c102742b6450a224711a1f8b2a5caa8bcee1990e8ca07c11adacc362dccefec342086a669d2b12fdf502a810af65e27eec51aceeba445338dd6bd77baefa43a017244df36e06376a9afe2bc83943aef6a8056cacdd5c103686b438769c1a84e8162fa314c18de9a065c1bdfb35032077fa5d6c71c084e72acbf62f1e00979ddfc7a873fea1d36c63e896b5fe60e44de7e679dd09fa941ac304ea388829aea18f4e7d41b495cf7fb2c990cbf39001133fa136c737de0f9cd73b224e1d01029551c770943a790d209c8ff54c1b581ec88959542e9ae7ef3664268755dc69126ccd0c1726f90d513752c66e91b8939b042028f6fc12225336284e72110e45e1ef9a6bab013780ce4f011f70e1c9a3661506ad0c40d84670fe6db4bccb1f4324b8c89e62da2b6cba05bea11814d37ca44e1bfd24b829db12b04cf489bbe5703d44c88294756e84d3b56122fd8aacf87972ad5eaf8063968171b1c640e4999fd2fc5b10b089a6fc6176b88f5ccd3dfa8723fc8e80e39508d2d648bf3edb375f07fdf179d5d6f6252c0306e2c37995c74b8830b8b6590c8a34073ffa2f9003e346ed9b850557a704aacdd227b0fa3c5fcc1b2a82445beb7bab812181d4d0f28ebff194ec164a26546f263009728715a67793d9963ad1ecdbaf096f32400130219afb36e45f6b585d71fddf9752d088e7af6fc117988e13b3ddd5592945b491a159e4881402514b7c773023619aeeec7fcf9b37172209fed92064a65d4fc7d8a1b62444e62eb3662c380bcde8c1aa552a85f05a7ca1cd38fb0715cc099c007c9c9622307e3c1a733651172020ddd3028f1e774c5717e5d885af372486870d4e0624acaab61f47e2f34dfa23e814eeae06f44740b9876a03ef9c3db21dbbdcdabaabb2782cc8e45c5a3a0cb2c30208d906376e19a0a1e5e3e3c155e3e137dcf0956ed9061b0740cdde654f637719927d9026ff76c5a964df7668d7fc73aa90109ef7ab91399a9139ca7cd625024f947d35a8ac2059f89926411ed99fc806931692f5d03d2477ac4a3a8177c7cd03bae3b5dda839e147d2b502c08026ed23756e8d53e1ce839579d3a4dc09f328ea81297254f65527a16e8bcb4837952f0deaad5abd05a1eaa90f43e38b71e43bf8a111e0e5c8d6159308d0b4e9b66704f766c224f6f5e8fb275230922fb40bc9f2cdcc6d8d5b3e1485132056f33bb3260a13fbd12e39f46220546f27b6cecafb2dbbe741c78dd42b8a7a307771805875f9ce68bb688ab56586af94386d7c307f08f862fde7cb6ba0fb72f11526c398c199f4166fd1780be97a81ccfa73c6985ca33c112df5861cfcc8dafe09b1ab515451a9ed8097e7d86a42f0e5d2e7dd79994264e490c6c77e1c8c0a9e6bc26f6c596861703314782dd11a4644ae32dfec0e1fbb23aa06d3826d36c55882db3e4724b4045340b29a9f8e89c642e7d8ac5b6d2c2cad48527ea8deddf2373492746d3d844d37199028f7a96480b1b3acee9a65666b1afb58d606d07745cc0a5ed036bf5efb0732dd1c26346771a704c3bc9db6b561cc2221c9473a52cbeca457f7065b16a7175a0a8dbc284be4d141388196619f91ecfcaaa8bceebaa61dc47cbdd493266b77746aad9f913b8b537d911f786bb98255d79c425d11da6cff1774da2c89bdd8166c2e94ede029a26ba80787b1632b13504416b63bba1218e5b0087dac628bcc61a9a0f075a7cc9e5fee0ce62d0e2eeafa7dbc284df26061385396719f97ecf4a5a3d7fcdb47bf4efd0b116f85c3a7f4cc664c9ca0fdb3b200882f68575e701de2871832cc70974a872b0d9c6b953c6b929bb14610801285a3b2a1ee0ee7bfe1c27799fcbf5358bfa129c17fda0013a37c9fa44bb093c914de968bc2b4165575163beba02a6f46779d31488cc31218afa5ba54163ed4603678dbbb8beca1c92d51640af140677355e58b29e138a15637e89c2cf0768b364ab584f421221633131d1737397512182f91852b57af8bee5f8d5bc8164e3913b1f3bfb0c3c11a9a824df4e5ea6f28f73332dc976c102f348d7b74c6986fe95005c92fda1840618efb2480a3ad5bcb9ae42909077b2c17be587d13f532175326c9227969b7df88b418e90d5f2d4625cc13dca0bbd715abdadd5fc3b34cbedbc8aa32c3e647fb6dcada5e8e53477ac6b77f03b9d585afc76174f7b08e8b8e823cab9637bff5a5478f33da50671cc1d78319aef5a8e4f21c01bda31468b10894626fc3226d40e183452fb499810f61c8bea3e96877289577229ed8949dcdf802f482d3f2939fd3e5296e093b36afc9a5ca16755969731c31d215f56d23d9bb6988c330c22f9a49632f90d27106b5cb5b3f547bc75c89d0040dbf8e90f7e9caffa2299e5a817d240342d201017e410450be46a6ffd07b9911da976a680f9bb4deaa077e93db8e532397514f4ce3852de20d3c910a7fca6f77e07407b526cf41173c532110b3c8cbd1baf9923f31b95f4c2af38b401522881fb95c08e80f4555959cfffacc5f275f53d2072d6962b7d21ddac4dc8ecfdd723364b88d716c7ce8cbfaeb2e9674dd6e03141cf2b69de7117a0e2c54ec21c8d1d7a7654031dc75e2d76dab79744f7719164862bb6fe725418d5f31bc35f27bd709df4f6e8a7b8dc2008015d9ac8e5070aebbaa8603e90499235a1c54691b9bee2e7791d418d8474a5efc5b312b2ce4531ea0b98db9115dc6a43b39739a729056489628a2cfd50a4f1f87584ea3badb2d5be56c0d9848bdd59138f250c597bf45474e6f43457bc7a9aaa6617240fb320e0e592322a089c842044aea5609a31214c8d99fcf780e1aa1bac9e2a861c23a33e15b7321d5184e59b05858d76f444bedf10c44f7b1d94bfaf2109d61e50d35f2d5c403a1f6c773fd14691d839f1cf332de9884558fba4ad164f6c00c538fad302bdaab76f819122ab760470a446e8df0194324b280aa23e7585bd6cf78d5d2f81276981061d05bdc00ee38642f59c88e9a411b47e50110cee6eee42d53dd06d0fd7ec211d14df759fbc4a4cd07b02a277e11398b772c44e1717f9af76d92864f35251e1d8819e03e900170a74eddbd04e018ce44ca33912a54554a1fdcc8bd2fb1bea63e56ae3808d64343fb908b69ccc9a537e5e5635d793dd15446785b1b28933ba2ce244b2d5061b30fd70cad273b1254d265d71fd658c9f434b27fd44ae14895160cea2613c292d394e17de5490114d6919d1dc3a231ae4f963c60714a116f872013e65ffdcd95b7d1d1b65ad4a6fd787fdc63c6c96a81af5c0928126f944ba9db48b23dcbc4e37b5811b09b60cba386dd4b53d3931be1638989a36ba17ad8f60ca02f491a5a528280e50264ac2be27611fa1871d4853cbe9ef37eb9f0f22fabec0b46e807ea4a09755f67ccc44d8bd2367ec8a3d8241c0650db18343ff17d8012dc192dcc07888dea355e9872e914846f6ecccb6041015f25358c5cdb2f8495248d471dbab56bfb28911e1d5bfe15dee8cc1e1e4894f6dd902cfac0fcf5f76c4e6a8e62b82f2fcd916c59a815f7f9cbd729e55f36686c0837f325a6b606f6725d5ad6821436547569793500ba335c6ae195092795c96c46814fee8915fe718a86b37ca78d342300cf3684f36817cef9b12ac4ca4232508ec2aba3f3c19eeb550795d6562f9d7625dc3e5839f3d06f789f86cdfab4385aa1fd99526b538545250aef6514280252b3d921e6f458167c9046df398ee5abe6f978e8d0bb30ddc80cd1bded63199498d706670cf5edc2e05c9194ff2a52ff3dad9af7a8832dfcfcef8d3d0a173eaee029503064a1ff86634f726710806520c884c0abae7868687ac1b15bbfeec77459635b3710604e6122e704f58fc3a1e00d98b3986d46f1eafaf3f06b368e1ad6694dd6b965d5b76d220ed23ee1268c0d10bfd3c7bf15ff52901ea61ce8e10581170dff33cb134968e603f5c7aa84e62174964063a17f3ce13a494428c084b40b480591ccffca1fdab8cbf2b8bb88642a50125766a52979104530e52b3d650e260b91400af8fc588bd60ae09645f930c5461232d25744c1803b0a1d5bbb39ffe9989fdc74252c56c44c558b000fe8335f6aad6ad855c903f778a8f1f1f4194b0a8fd4da2ed96583ef660c38f145a0920633909a3c1a01bef00f72ce12aef180220096152e64d286f140d010c70c33584c25d5b217fc5f0e03884798de1a080a8f1387502d6920e08604a9cdc5b41ba8b93b34872273e535ec418f9723b92692736d11956fa37af2e9f37b7686320f2abb4e5f6abcf32990aab9147c831c0af301c67ea57d02221c1c60f60e4f363ecb06c528e1efc6477c011945664360202f8f1a1e4cb90e83d6fc49557194ccec1f7f30902f752645737a1eb79390ac8147a9d0886ca2e48d161a56ccdaeebbc36d601ad558d30f972a04538f15307d546e711efc4b31657643780a18ee8a8d44aa26025604fa4b19e467b607125962cee89f23d1569a40bb441a576881469953d149ed10f5d9e06b03936a8ba5853088ce9d34a39d3178518810e288f9694f91aa5991a8413d5137fcf7fb9555d6267f034cae6b6c63c2f288b50c7f804b97e76c0ec88a8b1d1318c5451db265f4c60314ab347c2fa2d7ae45a0e031746140fec3591d20d9984b8e14a2642b8403efb4a03c457c0ce4fb2ff193d9021c10cf6d0e592c19a32a5d5c2aa1e9e2454f6fc6b7e6fdfc840973887eeaad92560a87ab72666a32f92602fba9a7540a2692a90a81a59e619210c568e44879bc0f5c3366f2673046266f58b7129bc050aa9c50655ee752597cdfe6e4797881e9132e94129a996d4499936991dd8f98a8cb69cc88d0a1eb5024c4dde6a4a741cbfb575c6b36f2ce32e3ae987cb34a0f6704db0b8ae24789d36384dfbd11f83359a533be9f94c66d8d16b927c4fef5568153946cf92fe46e98bf06d94d7a8863bfa7621892b0848a26290ba9ef64a8a839a4cbfd5879e05bb4e00327ddea2f56101b2a5ad4ec7817c279e32e7fcd09131cda7710b23f658e7b07aa1b655bb0a0a4352153114b17c4cc60229eb4b95324772a312e85d8d0445486e0e9510971859902455470eb0a721a24a8a0451b8c1a85fa7c6ab2b8b0dff13c67542b42e5637a1ad8c97b7259f71e530cb519d45162132b1b6a59f8fe48fb251599f087008e033da35a66c2cee3b40e5eefbb56cb7c55dbc8557a234859f3391555336fa7e71829e8f74720fcea6b22a28f7e2a54c4bedce98c1c575aa4da94b2d2065366611ec6f629a7b9bf03866baa96356cb7c7cc2ec50c1c7a9b574fbe3e1d272599c6aeea7846c6cd0db0a7714047bb322c2ea281147f82e5372eef929e06afcd0788ea1fe7d822feafe8394a28c873bc47e58c67ff80ad774fd1157941038b4c42836e079043346c5e5054d49ed67187e1cbd29c3bdbbc4c85c1c09921d9d897c4edac56d7e63c04071d597bcbccee89d1b30545be30c6808ecbdd039120f056c43cda77ad768424adee971dbb120e999d8f42efda64ed15f671f2ef9e7f46a005580235e1715237367f641e97a69744ed1443f237ff527ead273021e8d2b6d2227524299554f5b38ddbb333fcce50bd0ac3679a190cc772ffa342038fe2439a85aadaf3ddb15a39adf6a5c37fd49043591f6bde3852aceb77f9212272349a566512e6a861f6cc6d029a5d8157d95a8d615fe8012548f4933b597c1c63d6d370c617df4cada23c7cac61899d4a454e5479e675ee1f1ef01a1eec1682efab4ee6099430388938eb6483fe37971f1e1a72a56fa57a3a01a8e8c3e35e6945caf9546dec06f38c7ff2f61d1e548d4baa353c20c22dcc5b4f8598dbb32f4ab94da3df2263d47648249a0c0d25132ef9acef858994da36865ff5a05929f81393b6017828925ffa1fdbd9df60948a675782d585a29b53d21fb0ca4b16a3dba7ad5e94b85bd6e3107990d6303e03f79121bb32432780e490ee280f6b8e5abfe5781ffb92c089f6373c0db7ad6a32a13e011d22dc72699f7d5d9ba8477b87ba3ed52537635917c75f5e57d23696146be343319423b6c80c53d30a45d1ff1c8057b60b731866e966cc072ea48513876c39c65475c0aeae172ba71aa6a170cd53c981050cdcce3ac036fdaa89023e26ec31a6cb7c4847a5cb64be6d2586a365c834d59d3493840f9fb0097a9f7a7e0acf4dc2fdc7a854427d34c43136502d69db5a19f26aa1f5b32b8afcb97ccf1c372e36852b29bb77605cc9e056b785d2003a866ce9edc98e90c82cb8375640c3b5fec0990fa7913d9d0da8540764dc0bed7f3c113cb7e1f0781f5ac90c99087abde4fa7735bd1d92722a24f0586bafa6a68a12cc7faa270d1a27c7119b976be177f1f461b655d706d4c25f32640f6e03dbb00f7c1188807721408ba4ce0bc12db01bea2e36c13ac3313d664cc9c3dc9481c3f34504326ce48e4450495ec92a57c1b93c9cb1e58b9c06bea7a262155d1918d78bdda7fa5c5536108bcadba948dc5fa4d509202d0f563c18e09990a9979b5c8c525a84fea4e4a215dd9b9ce01123cf72489f414e9645f1ac71143375969625628b2c155328fe1465ba302890c6816b501aaf0916138a7fae785379d56b8b399f7450a19b1d5308341175385a2580fa0aa23af8c6d8c7d1c35cd9fd6e2f3f6105608bf451ef50a7797a016176d7ef959edbec2ad09bc405e131c14e329f44cbec54ef0167e91c603b2e9c02a90d8c2dff5c9841fbe3a8b25d87c3a33098fe9c4443ff0eaa91a9c019d91fe70f314fe4c230083155d61f2432b50f169418950ebb735a21f23a78fc0a8c5734ed9e7745eec9880e3a1b51c2825f423aa88fbf20611aaa764027a05ccb6b2d938b044ffefdf02985c39789aa2cf58d66fb65996dcc839f1bf709db0dff1587d6cd56a0c1fd5db7b56e355a60c2b5c945797926d03c719308a6f4b6dcbfd6e65e3d272c45966b07b67f80f475c289cff2caa7943adc5cd7bfcc1ecc4abe33867425299d2e5870342018610f904bcabc28d82dc2fe45804aeb922391e3f5c598788a34d683e9229a378d6f07489e37110be9cf7f6bd58c1feb003a4bcb55bfae4b3c72ad51e90d90518082f4608ba6348fe8590f34bc6e6139c9a620a58e99ea17a77f11687759d08892c5a905d65c2d5fa527bfcf2acb71d82b949fd38c721a83fc247b5171ba47b6c82b3870d52524f82b144da0b8996518cb277c12cc7441404a828a35a18476f084b7d5d5b87d8106d8f38f1eed7f60270b9039855cb48ddbc5da4f909b52165e353c5894383103fd10c4ae62c0e6649cfd045eb7e646d22e17dbf46e5c685f2b1b7cd82ca5110a9c21cd1f875da12d373fc5862652cb8cd622ddb8c5b540334f6d7e3aca8a8a42610c1d9194e9909c00666b578a8f5395b974b798d94d2f7eefc139ce662c024f74c591ef2dfbdecc738d8ca06fc94437d3cf44d506f331c04b14669a5891447102812fd0c452bc2f4e912b2ed5191856a5bef6206800233142fdc9fb442add7d3c1c673ce691f8287973e30e14d1631d1731c8a7d9856383a1aaf0754f758ffb34842b73afbb398bd840ec78213e21e4c4e8aebbfa1205563fac001851966740b59f686cb7c6cc09bc8ec2428639f18cd362880bff438e5ce8e55fbba53517fb227a614ca77171c04c8921952a21203df88ae0735847ec49b24d750d030286c0eab2cc555f1147b5c3fa02c8ddc3b0156ed7c3e4712998095cb9a17085c88c321a95945648de5e800f0e8aeaaafcd34ff1cdcafb1bdfab6a8df5642c04151f72cd4f3041c7335f0ea75d0aa4d273a805ab9c3e3910827965465bc90a7a56fd8c8d386c7d3656612640b3a8cf5cf7b2885a5deebecf7eaa29e5113d83933ef9ad8124193724cbe699b5be00aa30a62801d10930ba6a5f2b1fb76c75105be20396fbe3bf65581cedd1916251888cb6a0d86186b80a0c16e6b12f67b4e6533bb8e3d57d4d80f2e9b6e053e0449ac22afef3a2299974bc6aaa3174d2f836992ea8e47cdd40d170dbee59aa0a5e6fa3cc235f3744fe54e91e0fbc944649aa498d83be0f951ca414f42bd5b1180e81ace4b282bd90140d133340fa98a503c3b77477efc1c74c776f9c3018f4e711ec686eed17f1ae7c11e1334e02d83630ce8a186a09a236ffe0b5a03bd7f19ab0efa8f85751d46bd7305b6b6d1582704fb8c65e39a556b23f1ae96a1d5b9713c5d5159e0193b72e6527b2d35f10b404e45780fef24d4f02770a08b0aac50bc3a347518efb4c16be63868c0e0834d70c3a0060e70255593f10f5620d4fcfb75201d6da12675d5b808b081a8f96418123964d44c79c2dd856ece3062977967de5111223529bc6f3204f43d5447f7a0a446bd9235c59dd1dda4465b77402a0cacfbf7d1ad4f5d7a4c841bd7440c9fe2ba2582dfc7c324cf52e9f7892012571b3b2ca605726db2f79c297d839439de440ab757b398c7e85167aafa441403504157addb8d52e27e607da5a83b2ba8eb112ddac4b1b76e6af79474b79755eaa67ddba474bd7fc31a4a615b49abe66d15f64965f40899b8b88dd2dccd6a2b8a023fb07a5d1a04f81a0e84fd13ffea154538b98d2eafa1414f06a1e27bdfcedbe4a6a0bd76aa4e0fbef94ebf26683b4e8a30b5c88db754919fc48d68cce02c42210ed436f7e90342f2978f69ed0849d70a676e58951c83a9420c2a102d759be02396cb2f6c2291d0d5b48dc179bbee9790d4521b4be5a492e1085e476fd5e970de42748fe8f68cd427c794fadbd550f4058ac377a3790186e35a2b65000ab0262188de9d351f10073187782c4682cad7d977e5249b31a40afc0449f955640fb576f765a4359191ad53e0123e865715b0e111be6b2927298481e32422161437db429f4049f9bd8f943060d7a7c6e722ae695b4222faad2d38e4a840bdb13ccc26d1a37087911e5804ed283b76f1a1d04d40d5647cd669fa0ba6a2b098f31e77b188dd1a5fa44817c2de536ebef271dca24f6046e09e3fc1756b648dc165a097ee7c380a8b2beb7cf40f7b929a9b357b8f6ab4e5743bfcbb268e21e6ace7eb245466395944ac75168d3a380df791382933188dfc110047e4469217400ba4162056e87b58298cfa843422053d1327298694f51ae50e15295648083c192ea5b7b0acfdc6938d0bdad1a83be40cb6d5c8e7a6274e0c7f067616ee359406d201a4470387f6cbd6b12c48791c136e09c1d548020b6f735c6ac018ebb881255ab10dffee640e7a77bab78f23a32a6abbde65ef9b970dc6331d1901f59d43b98699586902ac313ada330cec42003574a9d7a008bb3ab585ad15e4d806fa0cc6034d26e68c596d75e1db289b85aea271b8a312259a16cd53408966fa6387984be45fcca229f527d2a192a2dcbcbc9658069264ecf34b79791d0c11d8aabb24645ea1e021f58c168728a1b07b2d67c2fa75b14a06aa281f11098dfbbcb048ac8fa573845d24c89d4855e31a65131b38728b929746c1127f31c0940bf7f4d0e95d40736b037982faaa66f6448680b2bb193bb4fa488f1ec45de641b9c50a1755ee92fa1c08066351a8d8e9589a1af4d105d938c6778c1e1adf60e97f9a3a793177b0dfad2f5fd50d31417b578ab7c2cd83ce0ede49d562e88777c23d98fe9407188a1e884ca6992df92373a1f6e1db1bbac542467713926af1710380b682a52754a8169b21adec39bde908345ab341c95f82d0ba689dd3ebfcf768c21f6de7cfcddf3745aea42477a42212214d6d391742b51ddd609306c2e5ff7d219783239a5db9c3e387e0364359836459eab9fc3d1f3db557c61bf9d48dd57c32744b15a0c989f6a8a6eedc9394c26c8fcecdd8006b62b8670a79667209fb9130797b01333940e442162dc9b6d4adbc6fca136dea609bf0be06b65116bbc9e06b135c159f0fe3d010c51f8e80837ce633777b60a2346167230ce7b3a44307c429500fe8d09fe7b3398e62c9b9245fca7c5453863d9b7114f611466365b34f63a96c00984084742b28c49f45a2117b3c04dd6a5247a80773511e899e8ca8718ae6ba9a371e80c38af77ac72ac584679c9d21ffa4833824eb1b0aa36b897cb86e41f857a85e48cb57abdb3b176a9ca370be63a24caa7d23de2c5a497a0fda90b5d19fe0698dc27ffa3e14e2df06c18dfcb78b9cec9b971dd2fb7f485cf053e0cb0417f334ef03920cff32fcac3d0b14d2c896152ea25d7a607f2ffe425ff5d44ef5e50b5864308642c726c6c4933da9dc6f3cf5cbbefbd4ad226e3e8a9916852264adfcdd1e842eca3ae6c986882321003b93843312b030760b4c363dc8f7fa4b3f1306535c766041f698013cd9a8431eb08040fad54ca8437a3d572990f8633cdaa4b37c049acb7b4abf8d55f7d411008259656efdd58f6b4d59dbeb4c5b6fe6c96bf33ec425c2459f71650ea1f5ac3c740fb2181e4821b34cea6c44068f69e7716a9f4a07005470f7bfe6a3d7083c7d4c9aba7cbb027239b3b651282336823c7caff1c18293769ad5afd4d71764af2b9c48991f5f90a008b65994291e0129fc5a5215c531e9db26f98a42d71a281222a60a9a1e8f756b28ef6485a88d0affca4921bc1430c823d324df370b53a0f9696ca82907eaac97da885c07efb2887f45da5b58d1ca050721dda7b1c9ff08bf4bc0fb8b569dec44568a7db08b700ccbc6cdd393783280f763b72fab186ce8bf3a35f67bb6fbea20dd6f3e87c4172aac17ec1316fabbefaf3cd54b5f3059d8d19de77dd7bd23828b840673b640e98d2da88bda635503ba7be923a48ff01686c3b24dcd7a125315249b58d693ce3c72424170451044a4650392b1b2b709ef877de3a7c4c39cf0fe240da3d2f13af381c0d2514fd5db8cb1faee9daaaf298600f8b6c992dca7f6b4a57b10629b76ade5ae7724e477c6d348fd0ad52b45adf794b07c09140081218e09887704718254658494377a791593151c96ca8b8d8ba70d3dd586daec3061408d499af11343f7a808d773601c48d703b0a8ddfccaba2c14b890e8b7733d93e05a475a33d47fc26c32c788c38ef99af4533a3d36ccc3b8dffad53dd55c5127b31177a28c29930404a75f72d43ee186ac1e2a87adf5264232498e4ebb96edbc2b54f588ec0f29eb52f75a14d77f8f37c26adf250eb5d3a15a57cef6e6381738e09c25833b4cd6fe420f9d4f0b36e1ae57cf4df3b2cb8435a772d5b657b5496496e6b2a11764eaed1b3df5877761cafddc2282b768a04e66054ed0ac9c503a73970181b0eaa7263dcf0469ce57aa844d4e294b1b9864516297aed36806a2b6d0dd39fc8c3979b09beb027c096f7b19c0f232e1f2962c91cc2dbb17d6e9b10a89691fd3b0e5384b436aeb44494ce7382a1b4850efc5c2abee0b2363c63f63218e2f8040f3d3640775ca099c2b68467ae75e40cd34cf7c655ef0cb81ee0d355c5702cf995678c2572945158e0062d49cb154ebb9e6644e05259386155107efadb37aa70f3e5d2921cc077604f64d870bbe9dead8af0e4a00b60669f04abc7835f5737c90b6013d6aab52c488c6fd1a092af021b9ba5198ad574ea318159c4a000312e8b93d7f984cbe338951373bafe7494ed89bbaf2fa51a81b1cffb8ce380c08a370a606729ca8fe3c74021f8e0ca1f8a5a602e63add16b5f0d22be4d1fa330d1645868a9b5e220889384db265abcc595594356c9a48724b4aae0405dbb79b1b2fabac88c00bdd4ae2a33e07fb904b3025840965eece327e02ddc4eb2cac9fa0213a0c4689235ac904288ecc0912f0c768cf5c59abaabda2539944b5c24a7e1330afa24de032216818cd2a8615f2f25362745e7e4c3408a080197f1b554d67ce75a79fdf51405787a643419ca0e3dc08dcb7c22cbba8a1423aba4004510f01d597f968c8a18e938f320728127315f01bda6da0ebf00980508f714ef35ba9386be56260fc5b27810569c463154f48d819d81477031856dd8a7e8dbe5c258115516b0702b62468cba8c54dcb71a22874df9e00def2a83d2ef080692136a1ae885c8d49fd127daa3fe33af2290c52279391b92cd0a54c230dc7daec5df405ae0ea4987a6d39a1adea3406eb6799864279f6c5b43ed0e8f1c1cc52f60845ddc58e1624d1129107979b11496d2dc498fcddb28ce30f78094e961dfea648567e38f184d8d40e5d6f2d8037800ac5bf380f3ae23ca873e614f2ee92f2b3a18a1cb1e32a37f3485379d2d6a2715aabcfaf26404285b44b87b3a4cb008f40557ae7d3be2c4831deb85f5387c849995b97eb0d182473c020ab6d48468c752066e2af94149bb00164ccf8c23accc24b35202449bbe28de14e1f5426f55c88807eee0d2188e02704344380b6b8bf07bb36ec7f9957502919e851517709f38e0b4a95379082ac5b8d11dcc27960a36309cf21075aa8aaabeeb1f9405adfcb25307c2433681b2c2b8976749546d762dd1ac559495f1044fde058bab7c96813f0e24fa9e012e7f9cb4f12e801c215544a20fdc7acdfe937a7269adf18cf84691d66a67f558df162915bbc6a6d30464083f66ed9c74af052aa8a5c78d909cd059f8ad0d545a38493552329f68aeee1b24554eaa5a5cd8cf47ee524450f25caaf9e9cdc7cea58491eb65a1d366fbf5aa677b9b85b908e02fe1391d88ede77000b0ec1b4e84060a17cbc0c914ab7a554536698ade3a98bc75b9f4868b42b0226d3890941f18f72ab482043d7ad28b8d567d505874c3b3fb244956ca5699d438bb5f04451f8865065a5f4126bc9520fa41dcb5225633d182329025a5b11b9231c711028fbc72e33a56ea5d24a6bd2fa9a21303e692c2dfd55ed306b9005f5e28c4221f02592df4ddce9bb690ff19028f4307d5ad73977011c92ea6784d229a595d24f7832e16c574fa6eb1acda8b94752903c013f76ed512ba96b90c8a5b53f8c1be3e7fa1088b2be8434515abb5a3d3644495cc4f856efcecf3215a82f5d6343f2d9ab9a046d143dcbc538cc32c7dabf77c946ea71d593c6d6a2317b8ecb6e6583634a48c18835cebf685009fd127b3ddcfa8f2f3662ba9655ee661e0a11595219f7eae200f9a77138fdf263b567b35a822257ee838ac337aa9f4141c4a43e02e5bb5248d7a8dc2488243d9606e966c7510dbdc2612b72c29111f13268180a5b9352df14093d5069708a3da78742f386ad71f88aecc7454180bd9c9efab44904c23531b72b6e9fd8135e2201f1d682979d059f8bb0b15de9ef57c44f93deba471bf5d2bc5d768e90306d778fb0286337cbcfd529cd12ae2286fd95e6497333be15550e453e4ca40dbdb47dfbf6dca304d7a4b612964282697329eb4ae2106b85c73e115f2595ad499c070a35e6deb70f187589979d0b3e4b92ad9085fd6a0b7aee7c4b0ad53a59feeb861bc4e8df73f10671438c490ebcb00ca959f111e9d1a909357f6bf9d9bb4da977e71cc426cb38b844a223c2ed260f88cf970167078d81ec5cf16907eb4a15da28f42463d541767cdad73c12764d27ac842e6877dce678b269c46dfeccade60fcc7b71f9cb5330b913da21d44d00a6ddbecc5e04a5cae26c0d920757bacde46b59766c502689c4f23d3c1ddbd88260802a13da69395a3d6bedc4bb6ffdb1498f1dd1fac424a4bbcd529494889a89a36097712ffc1e472fb770d59d9bc5ae2a936241ec1165c59d3d9e1a841f9fbdd091b462d89a8e47c89aa3d5e7f139fa877c1f02d7cbc7aa7d2bee04a11fbdb508253c7da603330ab90eb8e3fe1580446660b673f5b9cae261862926adaf6f8711d5dae044ff716f365a71497e1905894af451dfdbf7af7ce5991dcd831068688c8a7455fa9b843e6ae13c5a26f3d6eda9a4e3b473770826a6deed54de918ce7588d996894e8cb428e1d0ce5de953cc50126f7220c661fbd3cb534902b291e80f5a989867054a6220fa22a6c75d4609188defac3eccddb361cc89af49f11d394c595135174fdacea51a7f4e8f0b95553a5c38467054f7b592794074c3075b020c384d9c3d19a187bde43aeadd3d9d0e95135dae1b87c515897cd29cd13d05a1671fe7d2449a22e8bf1153d49eadfa4709ff67e568a9b4edea314614413ca3c2d63d7e18b791e05f91346411fd7d43671e60879dd73c8c1c298a283284b47d1e345683ce04d12e33233046a72c905486c1ef8211e78630ab165158243701231cc39cf961994dbbefee21059a114e38233941cc8a1ccd366ca5c60ecbb011ef10368ab84b109adf15e7970c72e085ae10243f13fbe9576124113f15fe388c3c388856e11a6fd685a43a8950ca1d7754e25c0bea7f7d8f76b4fe5db14809d17f55b16426ad16ce3b573e2d1e84d251c1b20d8aa923223257f821bf02c47895fe45f512f44fb7c6ca3f6bf3fcde5a47b1be8a6e540526102066dca13aedf2572fcdb6ef3a96d5dcf4d110dd25c7a7326c5b30ac9d26d9ce26123944ed77d260647dbc77c562b2269f85fda36574aaf271410a000e0bf53fa29f589a5e36aa63d98b1d9e8eb07ca33c3880522fe95b7192a3d22f89929e96e197ad96915456a15cd95b1407a345dcb56779996b473f63651a97143558420bbfa76a9985747fecc7d70cdd8c7915ea86ee20e00cbdb83b9830dc9b34014cc8fe5d686187a6337ee4e37a89e9cb7f2756709f44da0122350d5c335a8d5dd6f06147afa867ce0eced39170cf090b2c43fab37600fdc3eb1ed24abf98f38af9f1cd1c4633924bf1545cd600376465ba910e849b809b36d898efe2afbc731d5b101224d182abb5169865600bc70206d95bfe450de2102480b242a84b864db089bb1570b373f4dca5c16a8fd4c004a7502d15a5533870af05a41d12e8f09978be4e81d72c59fc141c3cd30d0a81317399cf848fa6c3d43375822f0df4a01afd7e55306e3d15f972a5ea3c93a3fd23101b3c1175004607cdda347ded91d180045333f216be2429bf001884b4c81beb9c904fdd15d50d52467b059562522870b6e979d31f37c666d61a51a2043fb2204e69ef1f6820cd89e77a887e54359a87ce007101830b7b5bba0009c5bf29914dd8119769fcc5a7903747a6bf45aa445c3494e52b33018996554ac91242e4d0e39156aceb21c83563af81332bd48d7f77fd6a5982fd537bb65e5276b54362ec61667f8e278d4c8e506c941a0c21e3e9e1f1ca6b31ed065e9a50463d6396d6e2be9cc68f4b7687dda8387be6e668d4497a1ff80c3826073283531aa39032ad71f843aaf845134a38a37375da529404fd7d02dc52d5e0a9875b7b8cb49331f24d366f46e9e993b9d0ed32dd2c84893817e56536fae42c46354b0ff7152b260bbe875287dae02a3960fb64b57597f03d0b530c1a8080ab6964bcdc7380174619f5d663602b561966ec3bbefd62330e5c4f6daf41f7c09c365b5056794188fcedb200971e36e7c048affc2a794f6e0905d7b25e82777326266d12fe7e8a48a0e0fc9e80bd397ad42d448e2c0d97c1375ed370f4370ab7446c182b3fc66f4c0adaa583812f1b13817e87ec01291a90d9eca1c7e814908a641a794472412d46f624dfda2570f99fa4ff49e1a9048a7c4cfffdda7ae63013f4ab0ba29c475316ee2fa7e1815caa911373967e63c4aa24e063c7b4cd04d28e3d12f0f9bf070f375c5a7fe2d7d62a825861186b485cd200314cd7122136bd114c109ada1f639483fc8ae405241696c6d04f1a5763fa9b41aec36a31d36ce302b14e78cad6a50fc88335e5dbf504d6b79c1a6ea82d73548b6aa9217943f966c4d8dca1724865436a1d60f4662a33d82137c2d25cd703d664a83d27838f64e2348520cff2530dd62f4adda088ae1ff85fed220117db02a6637a4e445c3725d54749772a028a3914df3cd1b84aa9c74b25730ac2259fbdc5f5a6328219a931f0ea63de826e16816196491169c493214b0b968e4689a4b1769a04bc3dfc8a59916fb5d3e3627266ef5bef67dceb830620b0d1bd21b87673bc09324486dfbd6c28ccada5820f3944cc4ccac0e6ad6d247626607db768bd4627000f3b547927705db59227fdb00956151efef3ab8bffee945dbdd54861738097cb5d4fb61bf1cbcf93a1dd1f4009f05289d1264eaee1be863ceeb7fd81c8ce985edb4a48ef9018c868c32301d5a3e0e67ec8e2a26d558b40977e741918145cebd5dcdbc571418d6cc8dc87b040b42223f6b477a0903b51579b50a596371159d2d819811b4d7e1f6a218c60a0cac0b06ba76572f5575181b4aa9a91e241d73a94c7ca74fac7340e1021ec99c4554169479d7b706ed2becbba21aa7c60cd52bec10b6d92a8deaeb41ef87e9726c0323c05a2a2df07e2c5ba30bde68d682a01d1e522b1ab1c74f575328c6e9d7846d1a1c5cfe3e138a18920447c1555aeb8623d42ab08d66db0f6e3faacbbd7ba54a9477c33ba625104485bc01caee8d9598aa730037f385224789cebcde5ea9c12085e288b0bb7f5cd312e7305679ae51bc015891f41097b612d3464e0ff59c26a65d34b18c3c37293e7f49112c92df6df3d7f0e75e0ab823ba02b3301ae1d0fa265c9f3a0cc7d9aa7ae5f88ba6de0d9f4af9c70a30d96bbeb684fb88a8a676abd913bdb09bb8dedd2a3511f251ae213e5f86e8360ca7914192baaec340eafbaf990a2b325dc7072892386592c1538215202b6090b16aeb7871cdb1e53275761bd1b82d0f9b7a67baeefed19072f84850db4159ddde0b08aa2d7c44cf9ad94d43c19e1329624de9bf68099a8ab929128095b4d63fa61cd18e0dc14fef58744911013a16afe8a1407a908ff77168431efbcaa2ee206e7a054b1a1b11ab39cd368c1a4b5acb6ffc48aadacb5379f650c7741e597b34db016c0cab5ffa20244348fc6ff4819c35ef215b2aca71e42f87a46df151a8de5f83d45a6f19517b6976a8b84d1dd35710919feb2fda7fe51f181b5450a76aa669f021fc692d73b0e4b52d594f7294f0d35b47246e612d5008ec21b7cb530af37a4cfc634a38d4f80b19bff4cc76534fea528938d4b19e51a46d7a5e971aa38d23cfbf433af970c931503bd6cbe81173b13d7164762a94cfb10421a5e3f8c4b9757ba25de64fb3cbd130919b214922462500ada4e6d2d58b6b1152ac249787b569e43d66b6d7072827567b7ca02f557f941fe846ced103657ead1ab9355c051951940bb8311ce1b5977ce6900882afb7e40a2f890667edefa217ac52d842334e273a5bdc8f625902137398a71ca1d8152b2e2c1cc069f2ea82e1d4f0b854b947438d2a471fd96763ec33fed5455139613531963934a8fb403b81b1b30de4df86edf14059a6471918fd0b397e2701263c1b98515776874c1bc6a0d8ce3d28e4c5760bf99ec7cee7931d9be896225e9d0cae51f8296c31b968dd781c7439eccb74f46a562866ae3b74b19a959e669e4d7702c27cfc3695b408f00899d4c1a3c40f6f707af0e63ff83a3a0f42e26cda5e2d3ad98ecad72ad791d073b26e7288ba4fbc4d2a9f9f2d1b167912c9ae8cb98b7a8b379ecf70bf4de70411b8e8c1c60c813797b825700fe2c655d7766f68c3bd534705055aa2d8fcdb268c6c5a2730f7a4aaddc0ad4468fb2077000c575b11d4bfca9ec383e5ad4520840deb7082f1e3b8c351982c3301bc333561ebb722b1c41409b91235bb7217f7190fd7ad72670696edf3f01831d5c1b6aeb2e161d13831e0c6726d6e42c99a2e4307bb321830dfaec153ada87dc37009e9feaff6ca13637b73a1aef1421a8812292f6dc69b286cdea47d575202f9ab3b6c98372626809c56b50a3330c7327efa041747da6dd053648227624c4b4ff5331c06c082f510b9a56c6768f657d8e56f10e28a8da00eacf6121de215f6db2214debbc7936cfa39a54d212df4c4f5b207d50f2a231f3e2dd6e25be149c97c4c89b83b0b705222fc0917ae3e339d236a190482800e30b998de7b3fa3d35de3a43d7dec686097bc695822e31dd16cdb1454d01c0dcbc3e69cb0fdbf306604fe4e8a6f960c64aadbf7bdaefb0a2cb8f69eda18ec758676f7c444c029be258050538185663ec9644447db3cbbc4167292aaceb836bcb9f6ace39080dae1b3e97330be6e3f2b37dae3d917ee2c6cdf23fafc04a82c5b5327b01c8f96184d670a9b4d623aea41b3851d05a8816cc612ff5b9abbe70c3cce60e2f3ec4ca40b182e47c45fa41bbc56868fe00aeadc69445cd28112904775b914f398db4174e2bb4fcb95a56164359495f047f7a05a01e085d87bf1c5460a29d0117522725acd86f0365b5b994fa092c219a5fe90961d9686a294231f7a31e71ed82c4478c59348b116d4db7a4b16729ed605bd43e490b05d90489e9010db54bf3442c581941ba800ff0083244f3a7971fabfe97a38bd0092ad2c6acedf239dc6f816b54c2785cd194d8acdf017e5ae2447699f24ae8b52ad1351cdfcb35846f85875bb912a42a52dd839ac60d7a0bc6f10c1229606dcc23b3c35e0c15e86baa173dd8d774a85b4bc82e5497c6556a340c631679be5b0eeba73a88671ebd03f641dce4f8da073b748ab44810a312f57c6bad236ba846dce6024c9b68e27e029a987dd756e21398ea05c8ee1b913ad960fb00bcead5226646203bf9ae18f67170523a09c6563e1bef2fb5a5b86335197c35ea819d060293d213215c5bd058059b71caa4c322abd0110517366c3f4cc90636316ba8a7664b0e64e52de2c1da48c91d0529e1098ddae51620d2c07f3be95325dd81f72011b9d6010ee0f47c44fa518db5c1c2bdddd9f26866b2c7449931049c51fbf7458b7dfd720527bbdc5ed0bf9ea3448cec34cf0b6e3ab6ec3694f552944b6eee4d3335c943ea1b5b46f7ca4ae0ae88852b97b4937ad05908626f858df21c2da3b71da308d8a5be1f3106a226da899b53138c97d0b2f79a01083d2d85f0f34e8c2e51f248e041c98f1cfe83096507036daf92cac8c7224d960b1c61256dfb227c267861fe8d0c50913b1f4f25cbf325486ed830837f14ba229b03305d11fb73353c9f10f4e3bae4ed0414b9efb88600b8e86116cb14265dd5e94bcbe96db3f6ac6449fd6d5c2a12ceed3bb6926587f50bbedc225b7da8654d6ca3c3ad12b29f85e5992692de33ff9262916f4aa1ab293df3ff4342a439245238ad4fa961f7e99bfdf3f6d8e53014518677a26b37957bd97fed3c080d8254acd64d7ef558c1da3dd88506cc576bd93b3a2b02cab867407273324ad9290fa96cf2b31766b0ffbd5919a5f1b90d6f29ad60782ec7f99d8e15f355a444b3d742f65803e5d8dc10bd55f3981776a29eca720a8f4ee1c808122edff2be60f633933cf37362b85cf540ed921f05ec9f7b7627e4c47ee925a6a60b66055458271110a11390b52291b4a4bbc1e0472a503c2663b428318afce9df0346c998831901f177172d16dcc0423dbd77b5633a9880cf4301999ff941b733ac13ca20e5cd26ee4898e80a0c7b6264ddfc4461c9c873b5ab8983bf2a47b6e228576ecc2e0bd214074e467c29c182e8d3d56f501a7e95e334051e93cf6c920e91986126e1a4d05d0eabccde4ef41acceca98628767a2164628e24c18cee86960f137e95170e57a355d23c2620fde69650ba5f194f9c79207001263ea174e7dd313a3ca334c0635046b2101cbf341608bc2705248506adb7162ae6005b06bc9d732c2e6a4376d28b4a99968fc130a129c9ff0df71e01d5fb508666648f05aea6d03534d92d24e5fabe8025694ffa5e70cc44363c23175f9b3bc7fafe381e8a6364dc8618a4507e9305166ac014833964b1a00be92f6057a652bb003a2263eec1950a9411858170141f2c83e08d46bfebd8a1628fd83279d57a6ba6f7dd3b2420e5b37ecd1671cc209a6c02f58103b46859a611cb63ffc732c476fa657c71f9a4ea9761b5820bcd0401ab8b661d4c3bfdb80f49779e8192072314a395137aae2355a40d29591d4e4e596b70da329032e85a636646cc11f36886ff43f052e347fe4246e037676af654e45f35701f73695d149aed8552250cffdb28bea31557d029c4b0249c2120849449c7c8584d609df374f09a17f20a11262b5048b510337b89eb2adefe5bc3cbbc0dad61d689f13d5009ddaea26bf1bc0be9d179681c790b061ace293038f108e7bb7eca24ceb937ef22341db52362b273dfb09a1a4a23fe107477928f9833a647974cdcd3ac43d361101537c429e3a754c0ea1c36df9703b92913b0472527f043a08537f5b72d279d92c3c9c78475e50bf6015afe7f89dc16dac2ee87866e8c4d840c8ad538a035cc69ac3b0ed943dbbd156a1c425e8b9f8451299276b288dece0726f8d330b14d51d7f97bfbb6a3d28e590f1aa921545cb29ee02b06f5c4f66f65d28f12d09373f0fb72e1129fc8f6b4faa1f37d025ef4410681300fc9be230a049c2c4f29c6101e8437d135bd716d8d0ec44793d40a502ad2589c092ab6b92a6fe69b4f3957732103b5b68fd436258dc154a447f6bb44a2a4695cd244961a34633186b9d3ccb860d70d06a548aefe0081a2494bb9744acd58a6dd708798d8536aa1ac4ce510347ea6343d254d66c7e55c0d83d22e9bd6b5fd6a565ab885e96216f329e2194f597f0fe5842fac81fb0921198acec2a6225a46a519fadd090226620f7aa128213a049cce3ec104ff72e5e1c864ca89c5420f6cf883196c89c766703e340c3c28d302ec15e469a971c4f98ad2206df663c1a9417a4a53d7afa48ee485ce920c2c4fa54a4e8c9e22021bec068d0e8937f2e955cfced7fc72ffd2750f3900c6297ad09c78d6cba3464046bca74164bac1dcd5ede10726c3f2e2e9289586cbd62a083fcd2fc215629f9a82868311fc0ca6212f9215ceae2aeacce18a498aac032f9a6b4091c196c178fc9c894257b2d716ac71e1a97ce752527cbf0ff906e0abfbdc8f5f83f278209227582c4be7fdaebfe9295c0fbbf67fe01cd0b2aa4e845b21ca9f0e6c5727adbc7049d0b143930a7368c9abd16783e38f58fb2e12c43f30584465aec0dbe9570b311d9a0a2b739c2614e9f0796f05ca4bf68ada790526aba1868e2b163266ef62d89ca25df8b4bfdc1004440ea890d449906282069d74a6da6e56a1ee2ce3532678b8b73d03ea3ac9d317a90a2b9d5216bff6a5ae4a18d5ca1d30e96edb2a53c548bffe684c21a83154de21a596b9e09b164afda1acb48ec62fea6b550153dd8c02730eacc946c5b06d1c89170ff40a13365cc6a4ab8dd0c6d2d8208261f24437471dbaa9d20f7143adfe8621b6d74222ec423a4bd5826fc4a98bf6570959a5f4ee051095be9df14efad69093f545cb7f3745148813b22ca801aaf4c034f9d69ec0c524b2254300950142a4776ac4c5eb393f2ebfe2386e5e4c598e63b23541ef3e68dff384e695b9ca97c8874ba5fb7bd12ac6c155289f33ae9ef677ad88674cb5637cb12531eaaa188aaed5299654bb68b522f9a2a5d0ac1897065b9a2b4fdeda98d516bd162389c73dd5072266ad4f3d17693ec45458d552cb6909d340b549444c5472917b172ea97159f70811c1feb89841a81c58beafbeb9351d2dfc1308019a39603bfcfc73d7a8b556071f843800a7eb0e3565889ae45afc03ee893b05260702217d971e9487720242e18e54de0fff6c91e75a82c27c37d17414a4826aad6cd6d4a177e1cdf22fd7d66f8af69c42a64fdbb41076035dfe105826f95c89e99923f19b15c1292c10e13be37f61b57b492fdfe18b39f1c862e7e70df224e9a221c444c64b9827e9a899bb6724b67a2974b73f379c04b22e974d07c944796bedf69ea461cbf2311cdbe5e000af401e8500b7e35196a5413da76bc630cc81322dafb78f454407f84727109b11b19042a24f5c3f0737b9b34a4ddc6f11b353cc0db3747071b946e7493705bd2d8d1879f3c5ca8ddecb6890fc55fff3758eb223ec96eb525ee6569f8b616987a21153e926c45173963cfa15a76c139f68b33712f49c2c795055aa7ed005529107e7254f9c7bbca039e9242f76341d1ea4a4f514a550eec9c8f39139d948605f6c18012904776d2a0889542cac01dc76709cc46a8a5c222e0bb72b6fc13160e4f04cb694ab4af3d67847aedab1c4fcbfd3176b4a65d6f7c9cc05940ce42761305e7371f874488ec2b8b889780fe70768d9fe66c8c82e9bc21ce9adca91dfc047b01b4a731e40f469e9ccb36953c2e70199d235331912c2c238472c9bacfeee924b5881aca7e820d50c350b660c520401c659ed3b9e78e661e513a1fce16a2e268a1dfc82bab254a622332784b7578ea244144d3e40028ee7b0742e6a8fdd5cefdab8aa7e9bfff2a9e48656e2850645e816a640908fdb338f3edfadf1935f25dd054106274ae0056b99cfc8643a3d2a5a437a54b0591f79464d2a561f59df27f6293cf954c61d79df38df57863f484c630d196bd9f7c815c79ede1195ce5891bcfcfec00fbab068da28cde4b7aaa5a413cdc3432a2eef54cfc3b07a1346823db4d1f5882d83cf3c30067a80bdaaa19769d0ede642420eb777ae97ade1fc28dafe33c4118b6231f5b34a39e60487a5aad394a678c8b6ee9de5e483b5f7587e0b1eeaf8451a938e7a3560204842812bd017761d3f3ea327eb5fcdf0e5f2472b5591b737fc1e0c70ea593f539fc31c9fe0bbb698f3fd458065dc5f2bc04ad40612917168f8239468cd58a075a73fc1acd3d2f7ded534f32d64ce727422fa4322c7b30131a6543ae22fdb074b1fd0007059603ba500256545e205340245d1d39c87515e1a4f6934b0a29fad1512458fd62703cc562d84fbd4263890fc471ee6211a3574fcb624115af66389f1d3464699416f90a6cf0a84a4733833fb6167da6c1d93d8d803bb026af3454c99ef1b3c18c0b860d77217e3fa8182c35842504050f571c9a23b721c9e7c0bc768d965f3d9e48e5464b25e6b6d71bf66c151c32ef17a4d91d2e0ba8110daa53bbed04658882a27252fc7601d397baa8e0de40b31cb4c6b6d707e8c280b3bcf57383da897e64228df1a027cfb0806c3e31020c041a5bd8173121e5a4af204b0e55157902d2bb139a45833381b71686032b4baff0f6ef715b0aac2b8a6e02b15eefd18c651227119afece9140945be4f65ceb8eb208b8665a3f076589a61eac5d90615d4e81bc4358a7130a4d7d2dfbeac2fc9fdff0509b17872b93df8b088e61c332424aee3f8a957b8a78695ed4831a7a960d2ca3b0ead5459fb96636010c176e87c7b6c24bd91f9255f53a5ccce2cb13fe3c5632803c5ea27b062a6fad1fafcc4e3b80f22357524657fd088f781b523bb53f93dc264a664a1d7edcbe4296212c3b131b1977921345b3fa12e9bc965efb7cdc56c16257085edad72d5218065ad40e08fb28f2e3379fe703a06b7ca821e2d1392f7e9094d26612831cb904bddab9823ced2361e2f5f7927d605c7ae669c1d09cabaef1ff70ada2f89baaba7296aea415bced54a46dfd10d77d5929c10925f5046e69a4ffbb4bca405e9144cd78445a6c306c72d79e34727b38f6df22f59f04e43b854e6bfe374d276bf27edffe5cd2e7256ff81e68a345650168a9bcd839703995d4f379dca8810265b2d9ecf7b64679677cdd9f3d68681ce21292bfd58cea8515093db29c68a8053f9fd7e57ec5ba3ce7ee0882de6bba15bcdd7b2f81b5f20974adb18184134540d65a5d7610bf31bb142b56a7303f89ba39a4e7babcca53e85238b45501ceb9c1b8a2083277557c569f53fee596daa16ce5b6edb296ad54808dd6a5208d74dcb6dd4c1366cb05d4a482dbc6e27c0e65c125adfaf971a0f49278f45a9059e912bac1af57543621b65715cb4b37a2822ebe07de394ef34866a94673745f5befdead68ebfb7cc0860181a47ebcbc0767fb6fa9af9c77145e28cd63816fc5474e5aa090082a47687d9538aea39f641b0a9f545124432a7473ec98a6660284d3b8c628d3ecc94caaa2dacecad094b4bcab9341ef0d711db8dc438cbc1db8e2e02493c8ddad3a1771a75a25c8188f366e057a73b8ddbfaa27e0d710428a6a1f7993bf15f9a3add328fe9a8507e4f0810ba9f164463a2951acabf35723ce859ad322f7fc346a27424b4dceeee8b9c890d3c73b4b76f4dc8aff4bc9aa010447307bdfa7d23b7ecbc75a3f9400814773a0038269fabe738430816c05c0e3a09fcfa8a510c49e8ec9c64f0f13518620b7c19ec7b0765a6ceadc95c01c49505b9fb469592a7782cb330cc1cfe9ad87d392123b35f8c3b2f678f11c83b3ed984a5d1f59805dcf40b6a62735da0ba4e025b0f97c8813f342cb39473a8b0d48490c174aed453b020545f14081c59b1806867a9e38357ca318a6011f13f25349b997d500e92b83801933ccb81814ac611108a24fcf296b9715bd349d06e4cfc0248c9c1702c32c17be844d0fe39f30ff20528f614c2506c24e94c205677c6fb658c787445d09725aea4f408f02379c80268c580618f8a6c759bdb84a8ab4b84f755782c685af0a0f8a55aa875effba26df44694feaecb699db3126e0da89bc34a2bf6ba894ba0a1c125e80fcc04141db2ab52b07c6eaf8d78696200f04179ec80ec88e0bc79a204a5c6c75ae54f6f45588ce95a9258ffb1690d8629af41d3860c1fb6015d0cd91bd5b4e224abf5fbf6931ed3736db16cf4a67b69b01445aabe48406aa308137db1c0c22150a9a55e03089109a4b34eb394753db2a09aef82437fb3bc6f8f193a24702e5c410c277580325934d79d49afb63572ce1f6f83686caafec92cc77172f90a2516239d27531a65f919b4ea13788298625cdd955eaa4989912e00aae074f8d19ca85a41066b5ff98fb0c7c3c6bf526c941415b5222864448b4e004ea35e51ede307d048efe041553746ba987fda80b9cf84456c70e9c597a4dc3c1fc1e59c6ea590fdc9bf6c22cea736c1c6078cb7e298943a9d22a4c3157a7542d5a70a7b3d0681413cbaf3385cab121c10f474504fb3c2f4644c207956e3c9eb35907d23c21a5e150dc1f3a67bb2fe4dc2ea229b5a6be9171d818fa732590f648b610148402ad67c336e2c96517f482b3656a9755af91b3433ef1bbc95eed140d57900e9ba57495caff774781a034d7dc3095ebc770daab75ad7e49b73e779d4314a612361c985021ae45cd73d71c91d75371ad4697d843dda44de00824fff43beeb371071cbce69ba7124c77a137ff30ec87d08f5fc04a9bf77450f3db110efa08244da38288abfe8e3fbb1b4e7cd9c73b9696c8ee02f6b44dec2eef94d417b20f049286af22c169bc23314450a5e5d50d34e7191e62869903bc61f8d5743ee48081bb98fb35cdb1c883347eaff1015b623cb72c6be32afb503ccf06200fdcfaa5491308bc22e4b5e34375f88f6cb9484d8b4c9cd184a18272dbb738d31dd1ab6451d180f02327b8faddad5b03638c8bb9146c44dcf458dd3f78361564bf7f33b9f5301a9d1ac3c1eab5bf482c1d8158bd82aab2997f205647398fa7fd9b1628e9b1c93a865954af6462a2141b63fe0f7d6753ba5f15bd7d1a8780acba2d634e5113e0abe5492a41b4255fe86a03bc95e68f740e14709985eaa63409f4c66528786520580d9773126468666ed504b1710965b2091b1a5974a410adb14b767944c54227ea5bf17cd8cd1b01c4742e4670a67ef1fad08915cd92519cff245a982ad1d0cacfef3a21172c783409de3960e0ac654f323cade0e5090454868cfd6121e3acb5dd784608c0f9c02b34394ecbc128b5ec11ec00284a63145eaa675a7bdd5d419f7b2f0ce2518c4929bf9b9258b0f979c597f66e10e77a77a17c2876652fcf7269ebc80cf21564e5b5401c7c0cb71f1495aba0592412f1b93a9a5589d0ae8a71b1143269ea7aa583aba648ebe607b6346c15e62bb4b07b866b2ee3cf3137742799271767cfb18265387fdda3bbbc97df07460bf6d319d54a0938948df449efd1607a9e655f9699d8da5c836686eb1cbf86805c8ec578fbf4dbeb37f1b8f06c79b6dba99d23cd7de3e336ef1e6be41d539be6f0390fda7edc39fc6d927571ae7d064bcae796b621c94c226599ee0cc81dc52d1c1e7748048c8d7cb189788ded0251514134454443b8f9056012ab5e439443dd57c6fb1c7899b5402e0a1613258c64d124f02988e43e07ecbb6e71888b67b812c2551c5f0ab44902819f2ce5302078cb481cdb6b1ae422821a6ad7de1460fa2546875879e018fca79e3ecc1539d5cb0a0a71ce851725938f076f9033c778584844c5301dc5187233d8e5db7c3124e9508e7f55e8b45c7b3b6966bd44da1a8eeb239766567c896cd074f993773bd651682d0c789a50df210ce4ab7afa31c68be57b0d55b4fa7317ee9d711a0b8e776acf46ec4747261448d4ce5254d7f545646196a4132daf1cff0d70a3c03aa3061ccc2a5b24cf6461f21fc1d87cd61676a068e6057d3ad458d9294124133de1d181528c2c3e5b436401e3d41492331e4a0ab6d4137a8f924dcb3c4c83cf489499e4500925c9e3d9552c623d5d18c501ba29355dc40073f35bd54c124523d92eaa7975f3d4ad57d436b6c06f1c3d42c372dec504fcbd2648f8c2dda4f67239cf8c17d3d0c3619cf3e29b9054e619945736874970d7c2ba0c1e1e133ab08e6c667388fbb2b28037c2e2a459916755c6b3db8f78bc443b6a2a558389b8cdcc154926e81aa482dc25980644b0b72b0a4b1202697af65bc9452348eea39cfb342d26ac72670b4940231ef44c0e7e70ee3cc1fed175a7ab415ae48fc1df89cdfe4b080cc86bdbdcb6138cd7ba660918f0853771da8e60db80c758ef584e35b7294ae90689a85a8a799296ee7fe44ca68ca22406933f911da996cd5a3547abff157829eef5805fd9432587ac4c1db200e2391a44e9af567313ad6c5d8ca3d5763bb096fa17bafbfe10640a406493f256049a2688b9f14fd288f6f3e6a311acb64e8f75abe2c86d5844ed8cc91910891bb0927acb0ff695ca54980e5888fa9c02b0ec2afabee3df1e75aa3d4f883e828e7f54304049d0aa36055ed614388ebe3255dbe49b39982015263616b81aa396e3318bfb59a4486bc3d7a9b2feab394a9425b5380468c28fd9b2e74405202e783408d771ad118f3eea1e9586f6873b32470961a3dd231f4085e4281cef612545a47b0593f61209388d3cca9bc41bfdbb82e1fa5f9c8505bc53f873562a090d0f721667492db4675b305702be0d0cc51871a3f433b74bf1b2d0c05cf6c53b912f3d6525f59515288989652629c8749ef6f149e193bd51897d4a7f52f150476d0242da56e723847ad18e6b30b8b4acb504cbff6423f475f844320a34b2e0675a44184e47c39b6df9815e8e2eb895d19e5516f9b1500fca8a43a6db718053803e034b59ff19bf104675767da9ead672469353dc02351dafb8f48d2478f2928b772669a8b2656715303117016aa452b6ec0de3434e71ff6eb1db5d873e2cfbf727c62d56066e0c1df90d7493b87ecf473d8d3cae10fdb76c1e891ae5250ec634109824e0c250beb93903cabd2dcb9f9487c3f33b5260d9172395aa339214c9e44b7a0f4750114d4650249df923017f022a2155c2e44b320e9f83ea9d2daaab8fc054d4dfa28dc925157bc0c03acbb04524ff7fc4578a381301342efea8105ffd11031186d3b3f2fff8e0e1b0016446d227b62b4fc14765d97245b0177faca56578b60e93c9b6ea246ed3330559a7e36ae8f3f3db1d7c25c4d0e9440ad62a282a7b4326c299494f4e05875ed36977fa08818ae3cbfca02aced4da716ac96e41a35bbc1989b564a1010dbe663b55dd74bd30363a0424c866b6062eb089bf40578e897a4aaf9ec204cf4a7e3c9306ed2ddd5393b23ac9ecdcfe62391cfee2dafe8b7855a56a46a2f86773310de0e75294928f317e67d0ea97d051ae905d8d8c3beb268dc7b11e2534269bfb601a1fa54c3d540f3f7a52b5c92b55ddc7aea5789d477295911436de7f42d5865c053bd6a2dc5a4e29b69960e3fce594b1c56a7ee8757d745f68bbdb48d8052cfc95bbff4a1156b7b32142f73e2db06fa1f152b52f69ce8f4396940cd3591e46b4798e34ba255c2f4f748ddc463e5ecc06359745a898402087d821850fde8aade9b4a396c08905f3bff308fdc6ec7ed4c94b7d61f17ae92d629b8e11a68a906e56dfa8f0f934cc461096154cba5a324207ae405f69620c278c331e8828383a6ada40b901360641db5189d14c290fbf15f76afe988056198ff96dd88d0cea6790ac85b84e90ebe940fe8b7b93a98cb92af5182a59956916a0c4a00f7441ec39f1d77ef2d5835b918008ed5b6cf0cec3dedc0def836e8f9fdcd645bae0fc07baa4a881ae695399e46ee0f6861f9055a5de58574e4dd6413b9984ddd2f07ae0ec6a30d520a9513bf06821bf1a90e941017b9f0ccf337c9f99b2b50d5043094240abb9c54695be67fe5788bf67dc2a4270d5d71e9efb1085e2354033a2fa23edc8648742095e07ea3eb0204d6fb53cda1c2ab3d1fc18284d50aafe700dc40e9dc73fbfe98cab1150398b6b9217bb4d9ab229554d99a9eac3609efa1925203a1e2ea2d1949ba6df688da73e4886690a67097f357d038d3bef2806ed81cd19f80b602c1fe1250b0fb911da5714e69c5d58285243a36448b6af60a6797cfdc92c1c35ceae86562c873c40c76fbcee517daed5aa8665442e870c447be88dc40b4e59be709947c91136de2209f2416613916d7cf3b8f34ee28d4d90807584bbe1b6421f4a1729cb98aecf24998cefd073adf10919fd9f21a0b9eda5d707f056c591399987c849828459ece92e4be27e192f017414044af33e995d30ccba9a0ec5420115332bd6f3e1b8e3b1c8f49b0a4be4cb63b00b0cfd4e61991dd3b16b387182804bebfced6bcddfcce00018380ce3a80361e422f40b7c417a8de0c4bad1172ac730d1ec3b2123960f184948dbbbdb965b4a9992940147095109e509e054f2d6d226032fa00025b14cc4adf8b2e4750489d6e4da5e7b1b26d2460bee706ca5ac35b9a46b0b5f5a934b0b59d3a9c5276f2d29e97eb5d8af3cf3d67469df4abd63bffed4c2f92d0a7553d84b2d8e33db704a8b47deeae1a89d962cf550ac254be22126cd335f586a306514c9c6e439a9efb09aa845265da5779a4b63c9538623cedd64c21ad600fa4e1807ce1f0a66f54bd71526533e0847d60773467119f50f913f9364f9497292ccfac0e67e998774c8da3a64699f6b963455bf36953a3acac0b2bb79610dca18b9677d1c54098e87b7b4d5953d9941ddb63fd0ab48823952a2349b4b9e60b6e928c5ecf4f83169b0d780be60489fcebe80258240c185045f69218bcba8df653fd89efef41ed0c38663833d4480db030e7a18799a40fd32e26336eb6144e6f84a3ecd3c410d4c549199bf1b47e0f19bde8ffde069910a020669a411b21ee7fd0a3c8a20f4ebd069719c413da8258ee5a33f896bfe749fcff23167f74f5787d85bfe199880e57c0e7ce8f87418cc793a205bfe2514a590fdfd6146648ebf6c328bc209fb0216f32201182fc1d4434a324d587b0ee55c2ca5011b6f48faa8d943b24982c9bd136428ca2c0a3bbc3a7ae242a669a7b308483a014182273017109202b810e68b4be6912800860315177effd9243402fc3128a411e0ffc15d32a5af58dc649a9d5d5606d26c364d2759f631656c915d6e11733464d97ffa7356ec38eb6b2efefeedfd783fbd19be921021af93658a644025b8fb59e4297754c875b24b799ecc0c3c4a27d90a64fd583d26a1774808a21abf8c471c5904d2629016fd554478842032e721b24de934879638ac9b33e039fbc2e0513a11a12827ba52016bbf0293b8a6acc8cc75052671e914d1d77e8a91228413a524f48ecc57baf05b6b654051c786c99c320e78d0f71f2108f5fa4dbf43568f1c82bbcc87153cca99d7359cf81a36e0fbfe405ce85e8c45a5094c2012c0e00b39b719ca722b0001394034c80dc43dd9d9e45e6db97f4a1e20de02e2390f478d8f936feaaa2ebeabbf5895babfd19ede4e734b40e6f85ff71f31f0cf717c5fdc97ac61825ba4df02a8e4e12d233035e22dfaf762fc7d2f9f668cf01c62f2dca74248240d29cb1c1aba668b3e8d510c32953973c6c289f47d8169a581068df7e1f7623c630481c9b37d6bdf1a2882cc6908cc567fcf960d47490517e9a5c68738eb1a26b831205b1e002995943e0053fa6c604e993220de02334e29f9da4a7f14f3943263849190d36daef49180ccd924cf0466cbb9dc2ea4601993310b8311b02bec0c4f2ac8e3db1f9eb6b046602f4bd993d213194b2f7c9eb3bd1ba7dbdddbdddd1ba745e9deb2bbbbbbcec039e5dc7dca1cefeeee566dc1f3bdbbbbdbbe306b5377ec944a1a520fa78b99d5d26b2995399a56a975eab4d27a355be9d56cf5407627dcac4e7de6cf29fec41f9ef5766843699f5a7aab5397b2933b9b96b7ede7e32a77e0cc1c216df14ef99aba17da184b29509aefe5ad3b869715c6888d21e6043266639411444611192b8ce11443194904c570aa059b250926f5047cb39425019b2289221913430821e50577c78d99a39f471e408afd37e60e213347ff8e2e3c2572abf228953ce8ec43e6f41705a6dfced3c91bd2a3c9f382dc35945d04bdb4e79cd47bce998c4da4792497f00af00aa6179f76e587c5d7d1e9e1ade601c4879cd924b3e753154aacc0364b591859c2b8f2026d0a43b665290be388279fced7c4568214ae042d52fc60a520a204e95a646114659ca52c0ca21a46ae648efc295bc43247bec685c685148e931d5649dd72d5eb38b68cb98e16e9d7e7dce5b74d83dde2269639a999437633874c5227e581e364ef68e0287f94d4da9979b8cbafcf69a01d3bdb5147d5745aec6ed607ac0fe6abf3cc1a38b3061927cc16ccdf15bf6ee6909f9a39e427b193e630cb585aea42ca9ee6b1ff9f65616ec123e6a0c5a6d897fb0b7e2d69dfdd2af048b3a37dffe388b2027387cc8da2018f3df7b9d0be4f0ed43c430e749ee110fa5e69ac65b17c6f8b29c023cde7556476d40c78944af639f1fe4f3b41f0000d55ba14653a2fd0936938647e6d6fe2af5c5f260b1830953a95d9ccbb46172c654e32a728d9be94b64211c3c97bafdf367d31d3d17ad44afa05eba3fa6148b17e0dd3532773555fbf5f1d247d6cbfe6531842b97eed1424910d3be8862676d8820673354cf87317ddc0dfe7554936ddec50716a65d2626db14ea532eacc22d71fbb5985e4994fdeda995ae4fa354d786c22b97d2f11c53aaf3f8a192531eac7ef377f6fa1bc073dbbd9ee21b30d3bef66ae97bac956db4f361cdb09074aac7fc7c0b5da70146f7eae97ee26bdd5d4d43ed7d415f59dd7f56f11f6ba49c7a6a3e348488e7437b0614f8bf5abb5f7626b9f64abbe25e280470fb8c8cd2cfb4966567d75d98f722fbe4a989b48ced338c49ee4fa3ce4fa48b15ceb2c13c99c3ae2fc2a1068ba54d452da9e4c824191f3484b94b6334d3d2e1298a8996c5f5fa57afc383cc27222f3d2b57a55c872825fba542f5d15db19106fd52681e342212dd6af8f41226ec45bb54849fd192e751ea1525c2ad5a53a4e0a219cbc70c25aac93a845265d9feb50b5897a8749fd867dcbbab1749328b9d6da5572eda25cbfe3504ff5ebf7d22cd76fa6fa734cddc239d4627d61297322caf62f0913965ffa0be704795357cae60772875221441326f2a4df5fd38591fcf917df196ec00732b681e4e921935324cea8d379d20702d225847ab1b79b47d43f4581a0e521a8c76991a2e806524a5fac341f57e5cd94a29eb6d8aa3f1cf71ec8cc85e119f87237a33870447d7d0df51795245fb7f5afd3afad434dc0347425130de958c39186538599437ef53cb0ff4173c7546132c9704976f06f3481fb769907774bfe5461ee9899529f0de1b99b3b3a213cbef78b2d7a7dd187d00f6fc0fde23f4def4c1d222660b468c1821562b8fc3b15a827733a47b19329f7122b436b35266b355b996a5581c932590a561d664a3472aac0b4829759c37a7c6ae0d0345fb4d75872b51790128210991fa06289125902bb7fbf3a688acc3ba887e60efa294cd353e6e89a76cf831aad359ed42b3dd289484f4f4f8fa50142eb6e4d6ca2674a9fb9cc6338779b2276f186a21983e298f03883dc310571ba2b30edbc1a2f78a927f0388352aa1a48a8300d117805023ccea0a5202b199a23a6c8cc44c1e30c8a82c5a6ca6aca36434383064d0d1b305783480f183686c0e30ca27ff37c1b34606a828e6ad00d67901133e8b3a1d11225e8da743daf1664ee98e18ac80c97ec3763ae8dee25fba35af35877977091981645774f84e9f2be4b81dc741eeeff6a5f271217ce588784b9073202527d8de7b8171722b1f1abef42a0eebdb701f680a253a1dea1efef4ba870fc6809d9cbc8ee5f647fca8546352f609a10e6306ff991b7fc651eff28ca84b21e3d478c7e74effd11550864f443d5e27e151ee9baaefb2e447244089051ca7038678d007fd5773f4aa52e34e22defa5b73ccff3de0b911c9944aae7564a54a1510d0cb83e0dd1088bbcc57df7a9ce9fc3823717ed8ac0fd585af49fb548f3e8b3226caee05516b8c3d15f4a9cbbc9e003b848d36dfbedc7229dbb93bec4e360bae53a70e0c0c1c9528eb7bb9ff49162d745def2f7da45eee44bdee4d583fa0b47306408b3c4251fabf2f8364bcee44d4c9a277430301f435f34882ea95dd43b6317c1bc4951ef54d510788af160fb272945de9e931e08cd3505c17e7d0f2c07b6b7e0e65b38c4bef68e24d791e66bbf013794151c6287d8efbf2f3d106806b4e7d157fbe98106826cd1c55850caa48f7dff2599e35449b792248f6fc152a5ca14396583d19774e0f8bed5aa9b14c15afcbeb81776d21599ccf1f6969abcc96d6cc0632bc9ce0281268192e9f7d3708a69d1a7932f8df1a5399f6897e4f6dfc0d95cd1e3a681a594f5705bad75774b6b13d9dfdddd83ba79858259d7dd35cd3577b74ebdd21e43226829c303eed113e4e03a61e97d5ce0d9519fda05ef148703ca9580efdbabbd74b1b490890ded15fcd74390b21a388943d3627fdf172cdf7f9e0080d700079c2e4e03f0fb664d9fd2260dc0fb29817d684ba6efa5086736a706602bf5ac1140c113a66b0c6d193130752832870205c62007e07166d3e97da8e28919aa38a1290c97532380be06e07cf2167d00803749ccc7f9008440463f34780d4220ffcee807001ee781fc3578fcd2797042a07e0084d25ba94fbd06a0f416fe16d33cab97a1b1d1372ffbc6f7cc7e877fca7a288347857fc1d7fe2b0617bca7fa19e43c3d944138de301c31188edf87e363108ee205e1a8634138f6641fced362ba879cfe8d70ec31e3bd09475782bfb0261c3f1be1e84b32a509476792e9cf84a328138ede24d35f85a30efd54e1d8d333d109df70c474e62dda4e2dd2afb489e8f705d399245bf4afcca72d99d2a7f46b6369a5b0672d5a51e6d0c701a5ebc6088943bfbd234ee2a064b8f52f9148402e401816a58f335f1c0107c6d2ae9a4f3355d2c77fba7c1e3d1d7717064bef2303e3f467c6d4c0089382a6613856d53070aa54c71f87ebe8f746a181678b2dde2a30e73df6e4047c64e051ccde4f37e0d163d3059ede2b709fd9f2ff9cc0a123be36319a058fc778adbe9fb30004ea11b020f47259f0dcec2c00818090cc1e9a42107319ddb7e06dc0c01f70a30599fb24f76fdee635aa7dd97bd95ed554da2ce2c01ebe62dd608dd32983342db26e841d74bed1b0dea159fb6ea2e158cbb46fed1b8bf66d45f34c1d5e0dc58aac5597f637589cd37caaf2920569af3593acbd365a907bb4a8cd31bdd34c4a849668df441a139aaafbe1347a0336cc260544c38c80f3d5a2f63620508bdacf22cd47f75f387e359a8dff0fcb88a0647866b3f6bd6ddbf61cd8a345ed436851fb1a64e0b16145b06e8282d23b3d52af7120f3dab714e9635fabcf816310fc179c790a8e24c8a50ea1c8fb6bcfc3bb9f64ed3b39f6e419b0487d1990b5bdfc59b1eecf7cff029075b3820e28c8aa86d1c82c50a0e4e5ea31e4d484764e2e7072c15b00f6e89def5ee3c2d148e62e38deb0885f10b2ee4bd78f6e69df85acfb34dfd007086efc5cad01f5bd4f812c10ee2719caf765d61ea745ada80b6f5ef872d03b370c623b0b404e0ca798cb87b7b48b83135bd47ee60a8c0275e8b4a8fdcd0f306d8733f20dc73eca9ad6d3a2f69ac3f018db0087e1194e275d3842b7660c33a893f79b48963a2448a50ee405a4521ea27d2daa21066681e0a305ec739b9438f247579fa29c74af812448a5dc6e29955996929410b9a5ee24044b87120cbef1d20361840e04ead67cd919b1a901771804488b3634e05162f9d13b21b488023652052884ded94ac0f37b3849d919b0dcde0364070d345f46be9f13026406e19046807086ad6028cfd9457a87254798536ef0d4d3235f45844e8ff449e5f909903e359708b046e6e8481d1d24348fa402b6c119419f8e54924cbe336bf2fcf9386eb41679c4a9913ef28f8428214a96b23366576499f4c292371493756bad77b591701a33bfab4db25953f7ddbe795ff486028f33e9034d7223514d7a10071beab997ee84094a90a823118db3a965dc777361f598327695d91d64e505b33ac8f33b206e2384fdd54f666c4fe753cdb78d6f2d589b3f54d2bf4fc10bc8591ee2856392a3ec7d0dc8a26f43bfe693b826a8d462b368bec6e306f3055731d469a97ecf50a28b6b803f6c7ccdd38022d8f89a5746e580477fa2610f75d00cd8424da950261c715e854035ffe1f047cddb8440365ff31f08f4bd8d5f75c1f8692381bdda02d39fd2e4ada02adda70a53a1eac79bfafaf7865f3f4d1ba0744dd07e0d09630bd57061c75a4a23a9008ffd44829cd9b933762c370d8bd499e794def1396f5e68e0f963fcd54f62609b34f0fc55154b53acb2e07e99e404d9c319b38102df2d70ff945259465820cc0cd4627f4c3cc9a307e5bec2e93525cba457943c254b591a4eb99f9c6782994d4a70d058c4beff026c7c7f3f3991f3cc216ff50cb2618269db00a5b73c0f2798169facf441e57eae9f9e7a678cbfbcc8a3348f8ccd5c49efc8a40fcc7c89c31c0a9d32d89435976ed247478d34b1d7810539073cff45d3190c557fe15136bd74a28d45aafda0ebe2430d79becb19085d171f68c8736a6fa4773aa06e791e1ae97ac0469c478837719d0f584ee960e6d9dff580f23eb039735be7d46da503888d519a954e96882348876f5e03bcebae274df9fb24f22476b2948d51926915fa3914cea09b17dea0c5fe9e16db39a0540af1709c44416e8116fb276b064da1c64853646634b594f9c464a477583e5aec6f2e33680659a077e6cf52352cf176aa310173ef3de781bde4ad79bfe0ed510f44fbcbd3bd6bbff99237d9b0d4852cffae9d7a49fad83cc3fb5d7844fbabfdfd23dba3c27beffd8b7acea5854046a313ed8f20d15e0b91dc3f22fe167ede526af1b73004220332fab13dea818c4c40a2fd0550d989161e31e2adf9da6fa1106fe5982289970bd5840a6790b7b6bfa191876874199860c3096f214b6a214ba29e4543279d13422c016b86b014a3892f28bc5c47ee6b8f710864e4afbd0a9c47e02c6a717e0a2c922e1b26e18c5dc1b20bf8a68a2684bd23644841f828096b592629f14427e633e5eeee54ac9436a5734e1cf7cfeeee943aa594a2dc29a5f53fdffb7db4d65a377b35a7ee7eadbb3b8ad24a29e5ba39c5166976774a29754a69d7ee94522a529cdddd27757710e7e9fed9771eebee9a955895c23758486953eb9452caeff68e9452d6b8b7f0555be3424f9983bb28b487f39c70e7f983e784679e4e58daa874d65a69dced8c26737b67ac7f1f50c321eeab0da3e84eadb256af5edddddd55d5bdeba40c1f835b24e5795d97aa9553759a1714c59de6655b7597ca68339dadb5c608aa2d24e064f934b5d6e8a4ccf1526badf7ce596bad35ad7d992b33f0177a7301927c5ba9d52c4d8b60965a945832e564b9486719de7b35d83a94065c1154de346bb3e7fdc8f73adb5970f46ca50acf552733d379d2d8a8c1d57494cacfc6d690dcd78d90e95bb00698a5945f6bad565aef29bba648c0c9f4b92f9c21a576b44fad95365dbd61751a981b495ea2e4229d658b607ab49169773fbabbcebbd39f383247be0537ab192a750fa514291045d9cc39e79c73d26adda5c01e05764be715ec33eca16c9109af46aacb0c8e517f6b23a53867b40f0285cf9fee5bdcb7b867f1c4843b1a5dba54fad485d62c6e584d9c5bf1654909e21027a54ff5617d20b708a7cca1ef7966dabd83424cbb3762ad1ea07743d9a0b84e4a9faf7b940d0782e097aac9f2674b9ffb98e67b9cc77bdf40a0163b3402059e25c89cfecdebc0b316ceee093c5f68062d994355262c65bd70122179abab2782bb50e1eca860cf8657239552d108590ac2a9663096994d999529c5ba791fac706cf26a03a55835a0c0cc94f50d47ac85208d2a9585a693d22795e573353a1b359d943e5d963f25539ee19439b56b3e6e04209f4d87fad1a20fcee6868b6c23b7edcbd4a29d9ae8e64a1ecdeae473372ce8ac5cd9ea9f54e4942237516a0ab6e082ee4a9f0c509993c6051860f0dea3a3a383c1f79c7cdedae2c10c703af938d2c7278ed96394b34944a433799a4803b9633acd1cfd6004e06e7895e5920d3865ab324014b8c59c55719a3b6692ccd14f6582a15ac2e10deb2625e9c76ea2c82a95090950b05d60cf32490998124cb00761939458a2c3c3e8a53d93f3496a4e27ba25438011344484105335ef9cdb8c15313465266a4ea6e9349f8e3021b7920e9a4bf29c33490913a6cc4ccda99a5d4aa5c2c92a1c3ab26a83ac5279aa973964d55355d2115a6455ac0459a5faf721ab5e8c7d9155afc343567d0f126064d5f388925549498891559ff27e54a9f7bc9f9487c5f33caf88a5ec1911257b45e4f0e3f52b77cf793f1de568327723734f394e4a50e6a450c99c2c73dc8d8cfacdfb416d44bcf2f6d7fbd9a4d3bd3184161f1c59474d4095550a904789c58abaa38aa95f77ea1275320922031fa8c8f5bf25b9fe47d192eb8b3f8420d7d7f921895cbfe7072d72fd1e4030c9f57d004145ae0f24c80ab926056125d727624485179295a018724d122229d7a4215a80611993ddbbe72caba60a8cecf6c59fd2cfff2ebe187ff4a334a907304c7ce02285002d4e6049e2814a0f3864faf2888c4c5fc757801b5220460a4a9020d682972754cc1cc0fba1a81b515c61c5142853a8301a8151d10e26ec80050a8e8e5838f292ed1b00ca18350a40a5153e2738c10e99be8ef74351e874e0e104af6c3f87183ab4906d06d93e01bc1f2b83c4132072bc1f2b5fcac460ea82072f40206508976dcaf6c9881260536628420757734185852c33d8063ceae8d4c7e1fdd4ae28e9ca931a32fd01601f3db44dc0c30928a5940ac0fba106b04e6e70d2545443b6dff27e2c0c26f0a200d9bee8fdd82311cc04c0fba9dd1226f0a1045e64fa00f07e28dee18c99b9a3014dc0024af043a62f9b9091e9e3783f14eba042b63dbd93b964fa19dca8a009122c656b939ad890ed87de8feda2cb014cb6960421c8f641560d16072e49e4d024db7fefc7ca348183c308b2fdc7c0fbb1324b68e16942013a369053641589650443001801103708dda0044c856c5fa707d644b6cfa3878f0bbc1fab9465a6cc5712c0888309ec8224264688600611c4b27d0bbc1f7b6386b5376a88656b830d4cd9fe0d4a6b74015383d01846ec50868b76d181cac6d232801d1a8ea841061a52c8f66f3e4ae90e46504a29b5b951433444e425046564fb9ff7634f10ab098151a66fa304366ea4208f38b2d5b181c562052b8f92498e520c01f228c7582117bac8f6a9fd3bd444b68fbfa12bb2fd7fe104d9be8842b6af034316d97e4f0c4464fb3c96cc90edf7485aa225db241976c8f683a490ed0b21d224db37d23b32698634b2fdf99a4128304346664aabb800440b5d64fa33de0fb5016b81069910b0b0942deb05cb820bd95ec936081dc4f0f08769becf230d7dac02a11f32fdd4f7c405196fca17997e57940697b4c2934c1f657d9842a6c2964c4dd01126db24158cb27dedb3d65a6bedebb0d65a6ba518401e698268c8544b52900a327d9c4212997efda23ca9314bca947e9f1193b5d60620d31c36b872f1fd584a8e56f8b8c46e94103154e365c886ca0b3668be26254d421f5662c50b35c03c8579d56025618668ba38d95072460a335a3cd54041c60bcd92a0951747334c66c05b04c99cd0830caa2e43ab139a6821a582183e210b0c5e1825d5095cd4d035cd5225c0c07159f2d68d4108a505acbb81856d0b240eca0d7384421ad2a2744b4a99d22d99b74ff682652aba2968a13615695c08cd9250088305d717a7170b2e2f9c58706da194040219587031cd3438c1c2f0040a51e01b226d0ae67ad082c03345d820309d1df10416113c8185134f30694d9e00c33e611a1068311b6a117855f405f684b056b0c7444d02d7c852068514da0c7f59caa0685202cfbcec189c8ac10ae10d07cd09ae3ad019be2820819520667895a5ccca114c58997d00a3b29459d1a269b1b2744196322b2bb8a2e59199290412d9aff747f0773fcea6a02bd95f49f8bb8f000e67c28f47af4020fc488c6647ab10d99dc0c2244b27a480f244964e4491459eb0e9dd0ac4a055e2650469a09ec043b8b78f7a4e734d0b87d47142808645ea060ea96fbf3e57ad083c3cd70ade54c1a374ea0e08dc7fe45f08b93038b35c095384ab4669d1276cf5f8535c8ff32831a2f7fddf7956eff87b0bfd01b684bc7d052ff0e52d1c425fa76edbe3dee17edb58dccf70214b04fc33e19199c72f83ff88ccafb810cf54d497b9e73670fc5618646d8fb7902542f7ab8f80f7383c82dfc3effd91d577affd16e255fd32178e42322afc0b6e90fa38e896bffb10b5b45b81dd631ea0e85976f612f1c0cf5bb7074bdb489ec9c33cfae6d1378f36d840878e79347e797ef3e83bfa662d1e81479aa37cb4f5aac98c2ac830c3fffb6e7c8f1f38b727564594daed6834e92365dfb82dce9be50d0782d39ed34099af83e36bb7a5377fbe4f1d96c43cb588056f4826153680c0069791f623f628b8fb940f9d257cbde766c7b21dc8b2e18fce0b818cacea530fc451ec1f8757ef3d177a3ff301db0a625c1941f7082567419abcf49af1f296bc5a9462200349cb1719c698e20503194e53c0f0c253d11424788101622c4d11c5853188a65062c80ca70fca1238c49638aa44f866295b2266c212329a2fa9871270f565cf1923e2becb0982d4226fcf4dccc9aede8fea395945972e32305d27af2d640d936f1523df7a465e42a66411f20769f45d217116f94491f3c82aa58f7ac7ff7eb53fc81db262c95756c9f7654fc9374abe5f83c8f73b2f70aaa3de7e23bf0d90f5e37b5bf336fe0b81a6500c4da8e00242d2bd361498e032da3e898bf34e3a414403132e20249c162ea3d523d19a845c464ef5295ffbf27a34531541e99dd4ff58653ffed7246555098ccf5a06e55cd75581bd3c7ea5de8f0f96bffd9a902279ebbe06b2fc6d8434e6adfb54e6ad5b899e74bc75ffda20fbcaf7deea94ef57a45a02c9a3fd4dbe5f99f44ed73ba9bf5f9b489ffefbd559be5596ef8d6a94af1656a24b138eaa3c5290ce640ebd225bf72f5d72425390ef5711da65437ad4a097679cf0489be851bef7290f924767266124f20d472a44feb0e09eb51815d450fb0af3d67de945c07e1d9dc89ddb3a1b4de01fbba9ba4c88f177bb2af058891ec0fd485fe651208efb327fc0852c20f07c1a3ae5fba378bfbd9ffb38602e15d22590cb1cedbee2906f2d9234c8d6e6398ffeb0c05a0864f4437bfb21905c011147b330965e2e2dbcdeba3f7f00529081c5d1ebe592a83c3dd922fde1d1372d6087b5789f0b9da8c57b7fc5058f55c787066626227d507fdfc7fddb712b50e659fd4d29df7a5ffa786fef8f389874ebd220735c1b64cefd31031c706d70666a6b70e810640d4c14587be63c4ee4adfbdf87f125d2e22dd2e20d8db4789f488b334bf0289df2bd4444389432a712c9d67d9d7cff860b1ebd123de5fbcea477bcbfef4de68edeb99f7a0f74262d5ef73cf0b2173a91ccb9df81c195c8792e8a28df27721f2099f2d67fc321f6e80213eec578ca21f6e9cb0560da817dfa5408a738e0f9b283fb204acbd273c0cce11936cfdfbe7e7d0bca5ca4664adf0917ca6e85d899c8d0451738650515d8b332942509cd062c93655296a32472a826246559f2a493869db436967fc376771cdaddedeeeededd5d6db5b5dbbb5b43cda4534aa94fad2d95524a4aab94feb5ab8ee6655ef965bb32297ff4a79256975252abdd0d556bb59a94b2d6c82ea5a4714ac7995d56dfdc7da42078bb06666e9b982b5bdcb7b86fc9628bfb16f72d5db2d8e2bee54a970d36dbb722ee1171d22e09429ab4ab5920c8d2dd30fe7e128d00a4c57ed40f1f332e841e5cc7791eb447757a70fa06978d78ab37b9632e99392ea8e3449cb01699b4d84d96cc1d93060dca7ce5b641e6f4d7b98448e6f41371c0a37768e3b488bf099b44938a937b53a82db6d9f0517c5777f5d88fe484628895151c3e2c56b04c9969e79c33b64512172b604237740173c5850f2976a58c1a2724310453962386b070cd2f5158b122824991c2ac95a408238fbdd44c797e83c973be9c595ed997cc39e7cfd0e4999727e49999192c4ee6ebb592c2068c5fe5fd60ac7a194598148e428571cb93f68e8ce28a93ea1ab78c42fd943cf28b16532ca18528f67ab9561b4d8d4cb76d06256f3333ac74b9200918cb8a10ae14d30205955c2bb8e403c58ba7ff4a1ee9eaa33c3353583ce1a4836d12232528a46c11459726bce8e2091515fe7cc8b4852762f8171ef15711c31655c1e954596286c79beb1758c7a3620216501d151f966c308e4a1329dc99138aca4c7ba2e889a30d5fa18285c2e952e142a8366954c2688132e089992d6188e805a1219e4420c4002bb2a42a4f9830603654c3b4ba42870c190f5870b7c419576c0cb8cb5226bb828e21f34203c659ca6464c8805559ca9240209ba14a52132f92b2c4a053c3e4849338dacb1733f36e265730365a6c4bb33e96b9f4f36dbc308802a7528bf56d94e06d1e09e9f1afafe33cf4ab8c894b5bc842514ed6e76a60d86609c3f53f2c70170219792150175e4781df8d16eb6a0b1626404389518b4555e4b127d7fa75465fe61f72091e988e9a3899bd5e2e7f1efd73af66bf84dc14d4727f9539fa254e0d87f492fdc2d1d7dc51c386cd1c26481f0f3b872a707dee7584fd474a89640e2d6aea719eed29ed97d3bf97c23ae62dfa4899be8d15703f1724d422d5bcba7b75d7ea6b56bbdad5aea6b916d2a016e95b3a84058f943e0d721eeaa24f8760bdc3ba799cb9a336a6e9309d52eaf4bdbd7af5eaee948b39bd14f368e782e58f3aa920300d02550596df598163282a70d0923ca5125c9a67ba92cc09c2979811583e77c1c0df3b4fac08cc8a803fdd8ed4df5ebae4dfa721eb07b54f3d0452b5f790f5c381eafb277125716da1e8ad2778fcf2535004c11e1e600f6f4d97fff8f8bc353bd6b38ee1ee7616bc15f0772aefebf93ca14e8927a4cd979ea58730e439dd2205cd1c43489f19b60aa367895f398ddc727327ab247352609bd2d892fba7975129c0a323651e0bf356bf854daf037b64919c27367780217de6f75b25244fc7205b4e7387873d8442e9e80c60001964c062cdcc4c9a1db0ff6861b3298f3f538447e904cbbd03f6277f9b2a98c679c64f44ba1e7691b76c2cc1a37d725a417bdd25618e66e8edde5c7bbb3fdd50a8e7501445511445290d7d64204b77833ca8f3549f840b593fb84f7d2a044a610f923e2dc45bf35560106fc9a58f3b02cb16250a4b07b27e742f7a6b7252f0f8d986162f6ad19bd000db5cf3bda877e63b94de41e50e942e8eba0732b3fca9e81025bb900fb538675051983c4aa710e4520fd41498e348e08000e100cef547cf53eeb81d8e24d0881f843df8a181fb1940f2caa8b7600625e0ed350d14c1b9562f842479d37254cf4e93fb9dba663e42350a0d4ee22875873b1aefa1598b73cac2f6eef66eea4febbdd7ab0c052555499ae2fe4b50acc094a5f7335e2549639c389a33c9c9ee0a3cce1835016ba008cebe8232648e89b76099241bcaa33f89c94d1451a1243449b2591efd4926c96479be8fe9202a24659db37e7806be617b1e482976e75e7806a61e500f3c572973e8d750865370cfbfbfd361ec8e1755051e279215d83e8a0aac7555d02899d2b18f6838faf705fa288f47667988ff786496bbeb2095bda3023b6d4d22b86b0beb1d675b24240d9c52ecca01539a5a4ca2a224df2b939c1893e7cf2958b8b6601f1d99e53ecad4fe0d3db839030bc852e6d417e22dfaf9fe24c97612651ac6c6b4382712b2353f69ce98cc99f4e54f920ed12ca15daa9100df2c93a650d192f06a08eb843da328a698004f794106d48b8f233a3db97682292bd430f09665d214138430a304d88ac1dfa5be404691b7ec2ba553a8742db655412a19a20100000000d314002020140c0785429148281eeae29e0314000c8092447852188c835910e4300a21430c0100004200016288ccd0d4460016f265a0f340d6d1363c90d0c8bfadc1a3021e91c07e529ec8a56ee4369fcadd0e500069f1e0980fa27bb82074e186706e1b24b67045889d1b62afeddecc050b8458dcda8b78216995fadf070072e7f9fa79588413936a1f44893e98e199c665c5aef536d3e109234910488238205317c03dd272c77040fdfda4e2000f5a4a95032479439df5d71f8142cc63b334f658f0c383154833925b0d937f08a1a904042907ff4ede247fbee69b6bee4f90dcc33734054981e450cfd201b641874b18e5034cfefe8f9769e0a64938a60acae367da60433e58519f11c56cd4411ee30864bd0d1f62ded73fc89e45b8e83888d012538a9c5e7b02110f6cd18cd9e14a88ca631d311710d3a6167bda3891485b5233f1fa2fb117799e22667047a39413605b86cd2445d9dba209dfdfeb812e400d8e1058314fdc33e08bff6743ab5d445d604ed88e6b5d038056cfe8ae224b307657d6c0c6119c3c322d367e5bfc5a20894aa39d28ce18637a9d12f3169949d1ef6067d42801ac989bdd13fa4c121166883341a031626bec08b21a3af851ea87a3e5684860d433d41009e2763f83d46366335405d047feeff6a8c90938c1b9bd3486ff3b0721dca97d05130afa7be454509955f03af5cbd69ec038e2131e3d5e54b806538a1e1d62d47a7ba543c3a67df85873fa15e9da42485b0994c7bc6423690da09333eeec29d2dcd59373e404cb6c746d475b0d73ba31b6b8692875b86cede4e9ee875c0d82b0cfd2127166f3eff82da1d4e6428361a06f444f874a0eb11bc82fe85201b016d61ec7dfaa0a86f73bb893e31de45470a774a982022965cb0b740a05f5742bd3ac8b38df7fab099c15056cd2fff6f12b91222af1d6faa0011eb07a5216cc5de0f4644330a31f89cdcb2daae9d2bb75ac864bc8db58445bc094fbf3e3f525696fc2078453e6f513d6e7aaeabb95e0571bab24df066a88970825df071dc5d044b0d8b76f9f38ba321955f280b8dbc4c83106be24fd7e316b3e6444fb51ee9a19d2d4f6d03aedadf5463129ed971821e63cbc99573b6f0fcaf0a0f209fbd1cd4c8007f65c51b375866b20cf9ea56f2d352c0142aaa8db36d0448cba99e18cb945edf66538ba314d2bcdd66cbb55b9455102a11f81ee78b00d7c7f97a549969b7cf05ce2fe01fe6918e078bec08332ff379581bd209c2f4cc956af4ae10a8b0cd17b8aed98f3b8e650d2b0487af3402bcf713221f37798939453c4f7f89e385dbdc08f5981e4b410cd5d640f46ebd6c00e2d4cb9ced50310fe3e2001a5417175d47b241352e56b7c299079c224ee279f8ad1e5955191b6b4c1cc5ae4415ff3ecb1de475c52b28c59baec8aa7200d7129a0c20bd76d9741a04151b82afd2edd2651a66e106738302429acc9f47ce852bfcf98b4810d107c30c074b1d2858d868b57020b9c6cef0cfc747243cf211f89416390d76189e5eb50e818bb02aa4948279a3694bf6dd99daac2452ac805a4c67275aadcbdb7b6acc10a60dbede71830c0793ae37b46631eee8ba6928b0ffa82e036af4a5f3556c34cc2c820d35adc917f8743a2249f6bd6bd7decba599739435aa304cdc00bdfaf56600902af5e0f788d5f3a6b3769a4235fdfca404c1a416aca3461c674d963630678ce4e645995d13230f4b2eca5b8b118988bd4147eb05fdd493e464de6650c3f74f9be0435f229e49b917718be49ebe18618340d8135bdce57cc2ff54ac76e1af9f8f982c2011ed403f86b63916fddcb78b2aea27cf39a022e620af9bd55ab24a9febb8d6c8e4d89b8c55d227147d25f27e7e9323d48798173ed2905c8724d1317d2cc2b7f4a4eb52fa192760fe3890179af48f1e7db20fd49b9f94467c3e743690117d4b2c07b2d0bc0e56dec3e853a8178853030f4a2c98ab8b450f4a1ee2ee54676cc7bec92605c58d2698f07cd53645d4e2cc6cb01d6b22e6852c99057a507ed08eee1e2fa53f2df9716cd5c4b3258f3db054ffb18eb5de97c1c8e0bbe0af425a45bddbb0e0ec6a8c143a5939b90aa603d48bc5b01073e21d7d039a371f36a2c755f1792f4345d7dd3ddb8f0a5b10903005e376c84e7ba7d8eb61e7b99788b81cfa4e437d3ae231acf585a0eedbf19ad6553086011ecd8dfd93131365624df6485bac2fcd60134610f9a0fa432e26184cc6599b99f911f24cf267f5fd8be6c620faac41d14533c50fe134ea36f2b1c31b396a36e6e4c32fad050f144d0971f154dde9c68e2de8ef26c9a0ff7ddb98651bf51499efaa1a9dce7354aac2502873af8cf026fb009787617404a862fbd863b154d321463ac7ca690e32013cff99264c2764bf6e16d159f8f676c67845042e1e127f0e0fcd96ec2412e87e3e36e8bfded227da6b1d5c54dda1e887ae66f7ccb6bd5a8ec14f5df114122075880e1a1bca58900fe00de7b89063ce59dd323b6aa771b3a0d5f27b713430f653b036d1a29bb032559fc68f8837c4f74db2fb9df31e1220904342d08d971d361d9e7309da9abf1f9eb9fc0f905d2ea6ace89479998fbb0f1397670d03da62c6cac857d714d0317f6a523f7a543c7ecd6554f75c3bf6513376b70d5d7be615e56d230981c95d3c13a1d4e0331f3d70f29499f2b9c3bee81fb767939102543eeacc1712397a05d1a160d37b184397bddc176fe9e062af657ca11fd755ffa3791651cc63b095da903bd1ef70414a521098a14e17a01dda48952a3965eb8c9d62fc5d0cbd22120d080324d75296ab015232e49c6f168c2df7e823203c2348b8c818e48b9c4eef25adb487b9098799228358da5fc5edd7de74fdd6c00f43c884c446be4b684ef16d8f6201c6b117e3abadc827859dcdca49c397452e96162839371d42aade41007c9c85557e594115a47932b6408c08d8938d832a65c1b7890219796b4132bcc409a4a604b27929282ef67f4f6fa539c4eb96450476170bc121cfa06312bb8e426679d9e301165e13c2141f14146ae07c826142ab04831ec2fa32846e2c629ce0d14985284439560f945169c9f34b502a7ed78b7ee9b83ba9c008af3010a4e7dde6f9dc0fe3efc9e007d5f85a5c02296346ec503384f5783c4f22ae084741b2b891e8e4430193b5e032f10672cccdf78af5f77657605e07b51985b08b7b04442508d91356a43b85ec45dbfbcddbe96963fd444d97baf0d839e5f591d4c2a70631a20123841b8b10a38cdf68d8a20d130e070aa99c22cd45aaebecca6703627d8d72be010b7f8edb6b19c2af1ce2070e46f0ae3be010d659ce5a7aab2765102ce012158f5012880041c0a48df44624c30345e708fb5ef10e0041ac45ee800877dc69dc5a989dc9797d57ed789f07f78047fd3087008bdf680dcacf0a6d4d2c4b444d024c49a69401f4353a9ddf7802966a523bd16d0c79a867b5c6da4d413caccb924561a281d044a03486e33e26fa981ca4887656929e996328234551bb3a4cf7f36dd05906e45e412b9a44855dca8a13e9d48b5172d67b9b56473c064604af50e97ff1986916b38a961ca59ed91cfa69d3a886919f6f3a197cd7eadcbd63db68d4ded07ea1947b370076322d526c118d6ed27b9099698c40e8c928289b7995d69a8c1446a144cf3904bf3b7b3e2566d02b1a18604589dcd4cc95013930065723644cf03af379b98aee856d0c7615a211e67a53a48db64cef436d434b2d0422a5824a96cb3d662045579852cc7e78d9ae16001de578d078460cf5868f99fa58f64c355486ea6c80f8c48c547901b792c45ad19c14681d8006bca874aa2cea5c666d57b94f8a5b33b6ddd84d2531214689a3eafa8970664ea19b43a36c0bc703e2907d2a0ea3cb773daecd98f03b13786624395047ce13a138b80baf49ea2ef54a1d3853357105766ffe51901f673fa088d5ecca368eb12d0f3bbaee6ad083e0db065de6820e89d2d62c0a5c1776b394e8668ef9b855313cefc2024a04b4524b05fe4845c3dff26cc585b9b4ed501a7e5c563099cb20e9d58b514a1e0c7581385941062c2bd4a8137c55691292f074608bedcd18ec604b9936ed502ff609d378e65d071dd60436bc273997b9f9218f92f8df34f895349856bc69528acae9b3cf1b303bb6970838bf395cfc3fa42b450d643072f6de04f7bfc88169b52e085ff1665df6abb1a6c31bf3de2d0fa50db9205130bdb8a6d48221b7483c909fa257970a17a4d482860ad4dfd1ca2be9ccf245dabbcce602d7f27122e097cdb68dcf147ad8eaab820f871052d03ab53581d6f40f0ad61ef3afe047ff8a0777f0be499bb23cd15e792361fccec5fe6dc98c206b78ffafc8f0127240a1f2416542534e8e507946c235738fd3e92a7900fe3cc231e3dba7b1c496f65db7e8228b8bd0c4d933921eb35785a912d55002882d3a730e343002c4dbdac12608434670dfed0f63a06f17dd78d673b305d18d7887df28f9c60e5a6c9f4f9367c8b74700fac8900e1ae24945330a6ae8782a63625014f270b0a243b52b338dedf4c58387211db5d7669b047af34df16bbcac005b11febebfcd0fea3091192940ba316be83dafaf76c3d97bf7afc13270195d3c45fcbf7a7a8efb9336c2952f4b8d96da64c88f98bd22189781b1443201e3495b0b7f64a75954c2731c46d34d4f587c3ebc50c5d6fd25f1ce68de969aa56fc519b80c3a2f55460ed492fc6046a7e567f8becc35f482c1e209273f5d2917dfad0d19c85a19d61d71a98008295053702d5d2b3f0e1e76c5b4e70065a41d4fc76d85d114b2b14a2dc8fe78495155b0b749951fe226b70d488c46517e225d895a5c0632ff07e6dc56cc14a105c45e39ccbd89b14eb83d4c65fa00a3838cfbf52172ae97c7ea0bda0de23ab24eef11bdbd4d42b2cf686020fcb42b2f606745d17fd44396a259b4c9a3633da8e03e0236c2b9454b4995f24ec19c0e218485f4089952d6337ad2b02844160d9a8e4f07dd2e13330d1a31d5ab07b302a0d73aef12fa2d804ed888eb87b50fa0e888c35030fb1bc006c80254823b78f6aa0a1c8e2ad8af010da6554bd4ca3a1c0b4919f2ad0c580f56009bb14de5e16ec5f084502a590cf91f00500384d93b113120f7b3f3cb39c7896e4e09c33d2c99aebf985ff2ae8724d8eee8d20bea1ce644e97c432b3707ad9fd0415597d333c2d82f6b6b5fc067337ef17f8f639e02e324693dfd036a52add61732ac80c933f606412d4a027dc2f3ce43ee3ed99a909af4471e963cc36eee4fe7fe963d1ce156f70e267380856545b054d7a9e1fbe9437bff04a5db0a7bcc93e9b7525eb02e7af38dd3148122a4599bccf2cd0818edf445cb83bcd518557316148d51f93f5bfeb11d73dc4aaadbe6f7d566267d44787cfc834830a7b230806df82c31951f1128b56c01338dbc02d0cb6cb3d66d5ae5cf9902e3703efc06d0a517d185c49b68cdb720c7f2474ef8887c2efc2b93bf4f40157828ea6956d60b05dafaab5e19d88fa2609a5eefaccad0efd3b0093b57532aaf816123dd8880f10ec92c8a5ceac1628dbc84c4bb7109870a733b7d58dd5c74e272d68f31c35558b169f9fc55e2849bc828a873b309e07a99c6e8798683bc0016a57c06e15ceb204228dc420bef97375dae48c9719cc5b772469e3769d24773d50c07bd1c3f28433cdcffdc79689b6878527029dd416d754435339f87e55a582a02e04eee1e45f13ccbfd2f5b25cb7d5474adcb47133288dddd46ff61cee8b017dd6bf49c8e64ab3d285baa7f178834af751dcc6f395f3b9c76ee4b9c6365ccd61646e414fa69718045d3932a41a071afe432b3d109c4612310f9d0267ea0bf96f9a8ca4a901f64f721d285e691a34bab18f4875b1a18387086eff2938a838e4399b297dfc0c17a084654107df0069db8ac975058b91fa1a2bc809006cf945281114dcdb40215a5b7e6ef32fb65eb7a9988153d765c445e4b615f11ccf011a12b6c8055c932c351fd454189647f0bf1f84d13f192c1bbaf91d62b843e5f5bcd18c14c6db12c3b9e319621142580e6f641231e21752d2130d934ab69455b986039723b3711a290dd40cc972f39ed4d4f4f09b73f533b93d0a0f138cba85aff34e5b1c3c4e33b14a91fd7e55f67f0e105341f92d1198b9d3c7b8147d920bf109a53ae328fd36dcc7d258f30a6e196c4d53a1e8126d52ea01695b489b55d39c0d8cdff1fa727485e3b8c2145d073a06eb73bd84cdb91e315079cd21880541bd0d0e418c71c45ea065ce9c7a4aa534df5052a66d2dbb7176eab50d77e59395951736220c74b4262426172f348c0a2911a049dd8f4674fc6335793781b3602bdc651c7ebfbc838a38cf956867a9e7b9ce610800bc6d2bfdfbf320762331a4da25a7e1d2eb54e55cea6addf4ecac36b7f95f5fc56514e58933d8e52cde0b9b5a93054ac3171d2591ea33b2455e1e06d37b7c2b5d54242a6e4cd19ee7df0dfefdcf656d6028cbc848cc0c601cb97eafffa52a5a6a71c777de372670bc1de3970255d94ca26276e487b662ada9aa0ac0e6295a321a134163c07c1e1d2007bb06861bb7f2e8f523a39adedebea5c756b5255beb77e3396a0782b01b3dfa09aa420a1297598887c0574050c76914f27335cbb2e08d0a7060c3ad58a24e9a538769aa61dcb6cce9db54d99cee9a93455fedd6238682458554e156a115efec8a89841e6a569ab816a42e48671e3a6f3737813f22d9541e4bf4705a18a48c135cc4d3e5a9c1850af632a4ab6ddbf5b72064bb50750d0838a1eebb740fd8990796b9aa874655038bebec153e7cf41c0ce9196eb3a59a0bd72fbc390b69a7f146455540f6638732dc7c236b2a5a8f40cb815bfd0f857408ba7128fcc44c2c24d14131ce861a7dad36a5dcb92f1c0416e71608db949e7130beda8af97c4daf568a10939d940d4e5afa085afe32068657324778ff2c2ffba936b46854e9b512d2596b963e02dcd6546bd0d1cd32b9c71e3dfff74bf69692bdb5f7e78e071f3fc031440ca2ac4937831217ffa1c4ba65088ebbe9d6a52374dde960eaba43314ebb460a0b961d813e6a2faabd931f3a99b8ae3b1270605cae7e40b18afe263ece674d0efd29302eff711758c29e37610c38c8a3411fb4e25841c92f97aa4bc8dc1bb378f3ead2febff0a718bfe85405a497614c18f8acc1796d64e3b12b4f3ca40713a74700146f6c9de2b08f321d3cebaba1df40de2f8fdd9172a1876343f9fb5c6428bc0032c180eda5e91affe1a7e9900835c01e3a1799b90f9856c5bfe5b556f90c24383afee553d4f4781b9ae78002e9e0e288762f4ea6697f835a69a96a54095e4abc116453ba69caa68bf91d58ddca94e4663cdbb2e228417fa80a13653eb725a911b330e76fa86e1a11f4b7e6f7bd4e0e52f3200a4cb250c232743e4336a5ee9b04b029cdc153760a4585015706cba3253156655c86a28060451276fd349e03a1154515effb1f19b1480b6c6a8dfb2be3c9d8e856672e514a3f7e102873ed9e0691516610f632445b1e50ec43752a1a7ca8fa1afc0878aab0126c114f5584840928822e9bb53c5d8f890f44f03b65830c9384ec22ace40c5914eefa6ff5cf058c9265369d4b3274a51c11044d89435366a4c4117a45029e5bb29206ee9509716373ac85d032f2b0a1028e9097d94cfd3556491d4551d2bbaa4562d8d122c3da227af5065f10f293e47938406d5c16ee3cb1137c18b48280efb73c96263174d00b16836eb6cfb1d8f8a337ff61c01ae6251808dcdf8c1f6f51597e51b1c558f99c4c1e616a9e2740c99b09ad637a31a0475c78e258162774510b80fba996f1a8b2a1650f9374a83d6271c8678e3c3e7edadeccfc00d93de480e1f2e7329b2255fee206a7de0300f96a91289b9b5e22776da93f184fd661e2e9b7a8131939cab72c990b68dcbbe5a6ec6610e84c35d6ec533ea7063c3841030e018ef1011d290dbaa75810c2c3d73bb943c115a5014a49c8cc8fb4d461c761d4b56306f50a873b2c38f4d6e1412c011d91c03163484bc0a02ab8af807110793a0aa237715784ef4114538a810f26e794f572b0f1f754c412de2271d73524decc0b089d2b845f5d554b5486b0c1af20c543544bc7196cabed87bfba40043cdef2f6bbbc2f97b7e0185c1cff60804c4cf0f01781ce4605304b7e35e3a8c0bbe9f922b9cab33c3094bbe20c579a5c6fd3bcc123109561c407dfb6e58381413aa3e32d637b60458143cf4e560ed8a277d5409a4ea09e8bad0a75a0ecf9e14f3e5213326ba7fb3d7fbe2aade8248bef4d09d2fe80bd964825920eaa8f0ffba6054b595b5ea246fbac21a97e66a74bc250dcfff927fbdf3d1cbbc595fbe7e7629707ecf8494f0ba902b3ab8d7d0bcbd00c12e0c4e3bdf06697f212c4624a8c1ebaccdad2950d85931bb881d4c976629ab0f750d5e24fe7f0eb8b4f642dcc3e8a4d884800be844828c5f1d1fa45a1e77b4d9d61264a2a73969c9f77fc07c484404aefe2fc8c26b7f8cbccc3d4688f432131cff1b3c4bd6bbaadb28e1aa55fffd336cd47063c54afafe1f5b55e4354f997e226c86495af3e0aecd33e38ef6ec20c67222054f5c2453bf0836cf08bf6c1caa42b89ad5e5e4e4d3c955d08e589633b3b5b3b5f979f1e223cd74b2e67db69d6d54c5d419621e18889d081a453942f5312ad90c113224c62f66e547652e6903d7900f1554acda943412a87b69885941fe599b92127a24d9cd015bf32f9c64a14d17f739e9bf10da84b137fd3a7e8e551130951260cd322cd78285180e8cdc770e8bf702efdb5e333f00e9f1c15911fb7517e930632c941f1a416208bde9bab9622540f7d495388b28712a01f5a1190c7ca9b104e9411fdc1317c66dde960b1855129c025c1c7afa9febf1d996598bd0bae4f4b30dbd37a5b163e65c18943a885b1bfe85762a4ce7e1f183a6587f3132ece593ef7b783db3e22523979b7fc530ae8697a23c6c10ecf04baa92f85e24f461213f84723e58ed5852f439dee66d4a2a84be24d64085fbdf9399b9afb2471179529e8e482b381114afc2f35d322d4f8533d4cd9343036a3f4f75e042ae1c1d7ce28705c89742fa5d7c1d572f2e4f8aac99a9ab95bcce2bbe1b3118966f23273c5d017c6dc3064d97cdd8961f1b713ad73bed0eaa8d5f51507572f8f3546eb583ba87c98a84faeba92e7d32edc258c04bcb4f8af9452ab75e8275eac3c49d324289db7d1a0ae1f0ec2507bbe2f26851813a4cd3356a6be530d6028abc97e8233ec8cf201ca7f89d5a47e62bd7067e3326a322693774bb7e81460cc5bd49d6bec53126762750028b88215a914239ea22aabb13b0116d6b781c7c891754ae0edc88edb2bcf4e176b6a2ff4ef1d1ce0a8f06e99ea49c4bd25dfc6fd6e490019381620213bf68c050808be42672a10628f32d86bb84d4e8dbd2d107b5b6eac70a9eb55ff316daa4dabdb216b588bd25537e63416cc8261c73531840dc57efdfa4579db35c089185e068025a3dc0f9ce356c2079e870a09fe86713c0272f218d6359143cd8452e27b7d0157413066601f6a2406b33c42e99ca0bec0813dbab94dd18efe251c50b7e0bdc27d053bfd1771cce8270fd74f88e1d3aca988692b2647c180f01966dac9450e81a10295fc12c782d9e14309700f64310e8c7d51a80001447e8fe59603620018ffd248cb7805e33fea358eb360ce0070502cf67f4d893f94b93798ec71be883f37c31add0285a65bc8b986607c47bb06ad95989082529311dd7d7b6abd4fdd8907187376d68fa368f23ac953d973ae936e50bcc27bea27a875e4cd6bf24073aba9a71e2efbc2a80fc768a717551041c32acd9ddf3d7e6c3ede4f77cc6365b7608ee522b95bffe239358e1428d203eb59626b5d8d9e363dee4f6a5b617cf337e226a5ae2ec1dfcb4faa445e7ac8ae436e84c04f6b2afd7d872e3b25313f61f57a0732f2fd2efc76e962b4ca00d61269c660df11421eb2408353a8db8829a0d9c96ed1718c2326d767b0d036128d75545d36928845e398b740140cb4d7a47f49e8d8b9b176510678c6c9a114c00aab07545ddd8b6f3077279c51fc38e3ca6ae51c9289b08a27d93b84afb32af67ceca8db932b7d3012b0c20a923d5afd579930d2edba4e90f45bbfe8566b8306da40a3d64809f56e637666cc3069b832532395e7657bd261d11b5f5f01f03c7a3725330814b5c9530566e1b6f54def5702517aaaee7e54649268b2869e0ebafd6b9c275e6c21b0d5010e6378b1efa18fa6fb971cfb84461af0f2bc590e501876f7c62bb99ca12116ea7c360a80d151867bc534d7226ee7b18966798e0a473000bba033f82558d1e040c7f430b827d076c6fd292726779825dde23012d76fbbb4fc71a448bb01342e0da001c918aaea4aae5543b5d9a2f018257b7238e3f2a9828cc8ee30745daccdc22b119bb91c166044a1cc82f0a64a1734f6b4dc0e8438d45791dffe5d306a9b107126efc3ebdd785cb70ef9efc4882c3938017fe577641fb4a280f5af555b9a5163ac18a3475d5c941a0614ab56c87da442eaa9b36e5f5da79f705ede0376ba3485dd70748bdc39238271a073d928e2b0fc8296ee783ef818d005225fc3a8acec910daedbbfffdc4fc2b8c4864d435f093f332d789879b8e5a147d2bc49237ced6e33e5c764fed1fd18b3306cf7a8a7bb1374385ba594260d00f090ac70d44f149ca05f7ee162d5f7a79db40bc11d66b42696761725e3f89f377e6a312ce6779d2ce9ea72fa01565c885503d0d464327cc5a505ebbec2f55b61335d5260c2971e8dafb1a308db97b94a963cde59585e57b79b0fafd6cedd4843b53a5533745317d70b08b103254b22dee080b8420d8e78de5169b15254d35722affc1c38a82b906bede8b13c741480700c205f8068a3dc3557db6e0e4040070a79212efd638303d09ea47b6a02d630d043557d95f6f138271108b82f29cac7777efdcbdc0dc71a6085eb13a0fa81d7355ae2028a00559025b3a82c4e9c675cbd21c00f324e28c72a0fb26a8a317b529afddc2a0170e6b68aed247342185694345790b03635fc3a1c5278d375bfe0615627159e4e6fa5275a2c6f9a0290b46a2ffda53ba8d29e9bc67ddd55ebd1820a97689cc6ce1ca061bb996fe3421d4ef613c0bee84cef63342ce1f72c9007cfdc6519a20da389c32a24922507ded7176c0dbcf67f1df81a37cb58112e0a86c5e130d3d9516102dfe6a8109b532b51a4ce44e890130f4d03b6b5bd4130ac80e55dcc0bcb130f6d2bd9facf8a19d6c3c746a877e067d151e39b6039b47848407d0fb1af3af481294fb391b030710e4f3406d06ade2fd8bb2910d4539e6b5db4809ad4c04b06d0e2339fc5ee729d54816947dbb240e73c42dc7e30618fc98b94ea119ccf222a6b70d80f50839ea3fe0cbae0005a49c89e049c9c7d31023d3fec387818ea527462768d6b6325a29b97d056ad2bcc02b515851aae07ee602fd73d8b83ae19a0fa7f0697e99d2fc3651fcedadea4b22ed73ee8794efb70dcc8ab9fd07b70763a0136ba93e020c79068a7723b39e9c6a25d983000ffad2a4218491a1f249fb3c1957259b043dd0158ff07982dc829ff5227be7fe5ffd1dbffc370fe9357088668d79de61cafc1c7156d2f0580a66091f4117b0abc91deea5d5732303f1233515d6165fd044749bac2661a38a90723100bb90ab58cdfbc0117142883e99a98b8722361ea400b8c29d874ca2bf50b705eface3d8c601d71136a7bbf514c89f7dd50ef31528d5ab68eced4189fd238f613701396e4b066faab35034eda02ac0fff43eed130f7c9a97a0accf021c51163790b47499bbe2666b757566570d42055ecee969c02dfed183bf4017fd8620bc80f6fe3f307374026c4eb6777774f2d76bcdce54b78fc16ee88ef5b9db65fbf5fa9bb0fd105f013d286f53e7518209212393e08e9710fa02865f9211d054539dd8f785b709c509010584b05355b7e22214941168221827bbe95cf0c403ca5e570d032d7ce531fdb9d289f16db4439ec258b2773ba2fcf3307ad40ddbe237861d051f3eea71436a4a5dc8ccacdf9060edcb7bbd93e89af88054ed0c4fb2fae6d075049b85d1498836a7993e24efb66e2febd62baf4670e19a18b4951fa456f6b93458f87141c7aa89d99b628605e70a30ee57f030d61adfb9d48d2f0e342327cc797b46287d8bc437e191ad46945bf1e561e2b05c0b31840bfd219565311862b5f312075274be696210961cf025b88cfb38c7e9c9707e29e9f033471d89514ce8a769e9541ffbffa4f2e8dae3054be692cc25390da4a927e3563a7646fb0d7449a7ea5bf2a6ed59c90e8156f0e1949dc6753d1e41078158956e1152d7b07c47437eb1c6758d25c17dab1c33489817e66570ecbf3ca4c0c467ddb666c9cfb3aa49d80925890a04056b559526be8b00939584b8e5dc3e3d3e6a5bc80729687ee5d72eef12c69c6aa4586546146e75c54442d0afec936d1b5e8d0d8cb532b9960fa690a0fb24c18376a74801a18f30878c326befb2c79cc3ebf9af0ed7e9102a22c8a2c0983799964d74ae6a0ce36534b8568358451b1d1bd21527d4ca23733c520b36c3addb012d6f0b58157f0efb5bc679aec7ae4976696f7ed1dd70dcfc1a23a92adb663a5dfc1c055ad9acefdf2368539499ea4c5562f2c0b186af0cb539075d18d24d5cad2b5abe37f1f7eb0b9542aa21ca9df490acc7522a208355fc6ff18d86018ac4a09b787b962b071a13717387ed3fb7eca05403593195c9253e91a4d7509d98f01e14872bc5fe63ae11042099fce598a79958851850e457f5228ccec68e8c9952f47fcd5215376b66644d469e5715c8d399dfbb68ba420f13318d2a63e60ccbf3b832f3c73c4fe5c376416f3d18bfb8b2d5d251a1035153d98f2f4232b64a5c9b5786389dda986d159cc3bb86287526cc78891606ae58c7bd0ddd768dcf6af29c4a4b19440395ce2d6b29ebd7c0d4125246ca67f012dc2d0294958251b5fc80ea6610f692fa8b6a795f5b5e56c5e20194e0869e3a9fddae5b23256e12205902cdfa43d1100773ad3a040dffd12e98b2707f328d0278cd312ca20599baa369193be4a93cd06081431d5674307d9c967f91cc27eba9c5ab53d6ad207f0f31838b10c8e67d16be4c38a9b0b44d273c03cbac58abb6cc6eb0a09568c21920245b6984e4d12b7e29b706efcf5ac37e659a46e65c933b3fa599672fef69725a10ea6a57297d60fe9ee1d238bf886114344723e8d5ae1831c3545b68450c0c9b6c44c583947e4c13cc0df508741f8eb84d06eb48ccf362109cc448419558303d1bedbcaee16418478d93c99fc77771801be1801f67d81a376c9d9cfdbf3954bd642a9a161507288b446f9246f1590222e3866261238fcceda5056a92a1b99802d1c04bb6ae66fc22759e60d1f12fb83ed8f3d60497dfa342f15fe7850bad5b47205dda064f285a338577886b3375bc99a1bff7898c06aaca12af3aea8150b44f17507e69412d0d14a2be08bae3b085bc267d3b117739676c39a691519fec872b37ff8f30523a1ae74e1213f5ba1dc528a34b449e9faf84f50df80ac8f5f0894794d5a299fa27d0d2cf5fc870031d44caff1ab889581d07f7f0922961a36f41b3d4a09d9e677263b9da41a8aceb9b983d250d72a22c48fa72edf4a619ac40fe9cf48353f014928bee1960f449e524d3f706afd382113c58c73822f50f75d2ca81f264f399dfa0155c98bdef239b15280af4d90cc3156542129a48f3b3b7443cb188baf2e1c4ee1c4b5f6098f4d5f6d1392c414fb4be01fe34d4f235080f17dc24b05de51e69172ff4c8fff64f1c8c52b9fd85c5a8dcd0eaae84bad25022a3c3a1c90278884ae8d985b7fe44402e6607b74597fd6e0ed8ec5d75365eff420ecd7ebb8e43f3be416baebe06b5bc4c1906d5e448d051b8ef5f8937dd3ee31ea3766e236c15da97d023a0a7809ef32994f3039261c301452c2059d8e62db52add984366da54aea8663bcf85960fab56e9db6f62afbd9ca042f208c6fd56a98650000d4482f154c0f3b1dcaf4596c06820f05d381a51b64f13cf6e2a3dec35697c1476c5b89d5f972b99858240143c1db7c0c17b33fb763bb0a11709d415b5d022b229d65afc2e149f2ffa2f8e092546ab9dd4dd0a2ad88ba5a8be6c4585b5e715f573b29856290c9a3c7ec2b06d44ee8c9985c589b0405d65a85008bf9a0aee6874bf1c4f426f62f759e096cb8b827be9ae55fbe0e77a3ffa98c4d267d196a39965ac40139d5b2a74b0e0b416286a52c548132433ea0b21f524846dcb0e00fe48d1e7620e6fec28c907669f677b257045ec49a41fb6fb9e9776d5e3d4b8f39b18fd91e7e79d9eccb8f5963a1da65adae327009ed2160b8b7ea51006b1901ed47f4273bce3f970d685a9e55266684816d0d32a5baefa5b3dcb1a83d7a97cdab8b9092c3cc749a576f86f7c339e5d40ebfc2392b6ffd703e890f880f460e3ee9230710aa89467732adb0419d0d2cb39ec5be280fecbd59c36a081137074570e2bbd5b16cab5808850f88fed45ea36bebfeba6b5b524b9046f9474c1c98ee7ab33866b5d480ff943fdc164f216d5eac8bf634bbdbd23a56e593f850a00af91bb85b166ea2a0c345ede559f326ddbcebe3ded1147904e0cd0d96e230f20a65bfff816fdd135c00473f4496be05ef3880366aafd9290d99d9569abee3015cb75ecd413eafdd9504c5d7f65eb86504cce531d1ca1093bbf662f83c76154d32c46fe48bfdbe3898428a9ce8b8723042f8eb2d92be4d9ad87bfa030ef961ddb832e286d8cdec5148f314526e0e2e521a1d33da046a690086223892b37e6cd2b0adad630a3b3bf99d9829c3067c26434498158a6a3bee70b8fa2050b770ddd247b6660891bf1d1e289ddd11d6e5a4b968a44042dbfe4b2d4e2d40e9d27d5356af4f17b7b9a27be1f3907d76eb6d3fd0fcfe446ab605f8d2bcf7a7dac3fa8d262678a6bb2a6d8ff9b8a12ba451247c3d5c21c6ae8630e3acade75dc1b21768b314e7644e5953ea02ed69f7c931e25d22cf624fa15c9c97de34b7cb86240364c57de900aac9653e76e187b0760f8997a4a7442cc3beed15e734441055505a261cf8f1d1665b3a9be535bf8868d8f39c4d991da2dd96a53a1f3a7b502df4b25326a32abf003447556f36082e4b33425837f5977c9d17069f116b30feffca6f88b59e60d5a6a1095110066b90a8578bf85d36cfeda43dcc40878caedd87e105b7b075419636d1d1e71519ca2da880b0084d78279899691fd0c30ad85336227478552e20dc5ae4d6d90328185b80d5657054e4e96310631fbd959081fd4b32cc73fc39e0e18988121a404e27919cb268802f3c25db96f359965c3f6b5703c88622dae90004872f83c13806d8771c038cf4a72b94d307faff51d86d14b04c41ade418ccfc8013549630a47aed362c602e081a4273ffa288f370698ad6e390e0ca94af82a78ece4328782c75b255ec85929f4a9e75dbbb52225e6db8e6b485878b0158fbbb4ba74a93e24ca0c9b4e32c741b44d8578f3ec9b2eaf6d790550122614ef1154255ec40f06695c3f8f2f254695c392858d0334326a192676e5a437b823ce7392d528d5051ba47ddcb754cf3092893909372cbf81919bd658e2c34ff7fc6a6ddca375bea216a388e306e6a381a3bd89708621df9943e26e69832326c34482d4e546ed00fcb65a5314dc3910adaa892a2c935d9fd046fcef1c1b6784c79f431bc192b79a90ab074161302609adee152e7d8ce91b8f302a45b609c1fe33faeb0802bb13ca86883ad031df3d3f09f0a29c08f6b85c93ce61bd0f1eec838ca4b9f0b90dd671dbc9e742db551a323c065512355d72a1e01791a258343163870b748c214736bc0088dd620451e1b8b3f63bb8f6028b483e9c0c41a7aa3a683f5ce240fc439a51a547691af73ba842d5761967fc1a07e395ed0910f89022949a568b6ec484441b0569770527cb86a421d698ba0b09fe0d2073ffb1558bc5229aed825949d5c0430911fc07c783b0e96c0f11156fd5f15a23b438538def9df5cf32686ac5a4595eec709ec2622495fef1bc25390903b22b52167c3f260ae5b8faf2eaef63809711998cd45f6513f712261f506c8021d735af98b2ea6cb42fd3df4cd42d2cdc8bbf9b40c5aff8c87937679db0223d3e40a4056b3128d0520d94491ea91ab891855779cf61d17ce985e1e62e1257601e0cc2e0cc1458a77e317e76edddd0e9da4b88d3b100b85cd23255736d9f62023b55b487ced11df0ccaa0c420deacfb8018d1e40986122b281abc81bcda290045a9d2e455beff6bdae332669bb3c89c56fa9d41f553af81b9846d28f5ab3132fa632d760a4da26f33a3d73a380ce09d8080ee608d6a2f48018f76c77e62d3551068fde12955cb95ca642bfe6a38980efc010c028c96c94de9e814f1cccb31253374478c9394204b5cbca012aaf7ba6c1b9a781dc7708bf72aba4a538976d0794986865d19f83f87fd560d8af6e7fd5352ca4843fbc289f409d93cbbe4cdee30eab8c08f25a1817b63452a82baf11f59925041660c8c4beec1e0b252202304f6bbc83435caaf1b260b72cc21ce6561bbbedc5691864514e4afbdeab96298c8e3451a78db1730690cbc4ad77c4dc11aa88d7aa16993e5e3685951773702c4a89984591992840e7daa90f3a949dca9f886d828a020e8f811b2190e7a8cecd434a6b871c54fe3c62e2057a20cbeeac458a43c4fc4aa463aa105f5ecb40b818710bbe1d82f7296a306941446175efbb4fb2e17077bf84213867b58f25d00033c0f119cb1c84575f1fd225717ec31c1c836ac0e32401dc0ece74ab98fb8de0a37ab22e7a4955bbe127c9baef84bed2bb15a160d92d34a51d8475f243eeecab8d913799653fc6306f1ae3bc31800a0c311d1361f6d8c0283d9827f249e6a596f5fbda8f01d0df2e894fad18513d4f1d6f5ed03b140d4b757cf804c3efa8adbf955199b2fe83cd2ee9f4cde19181189f286adb3209e13ed157e54f0b125d15cc413d22d2df96f78be813523a0cf1b3b2214f02a229b329d1213d122bbc4617aca7b41c514aef57ab524d0bae06839c781ce55582813cb953b51c053509e5c9b800521f92c184b4da24b3d4c0d564ee433433ef570b0e710c1751193ae8b8405c1dbf130b067390fe898871ec3d164a171c191d9f75bd1bd6ed49bacec3bba86de6085de09447590c68c98d4346423e6b652e358ec47bd5c5619209bd4068d1c7a4b206865a7f15c2fd1bee9f530b51113edcb014817aa94353fe6dc306c2f203fcdb932186e29f4b05ae676df5e048523075ab5ce6ba29631475510c62d812085c01e92349196f23f552d0507d43f2e68a100984d507a0d3173562e5a1e0bb7f7b1558f86099aa5d0381fb316d5888f4b9006b0cff2da02fddbd85ccc2dba37f4fff99c91406de88d3a33f9177a2ca1be76859e6031a2d6231c7b9b3b3e77481527d5258d36d58cab9321716c33552e2792b7ae041a2f4dcda71e6e3a4585740751d6d86f545ffa5399b20e4939ea5fca5765e42b35e3bfcfc30b4e9f00d9023b4394b56e4c6db15467ec7165a935f40cdc0ac0fec66d8fd1f30c844373b820a1a7edbadf962725231511cdf80c019d751b0bfe74ac1786afd216a2aaf48be0dc0800e479e802ba7676f9abd283ac88b6643cf4d3f9c619d2c48683a8a9d6410d11505aa84a810ff608261ee18cc9f447ca3c66515b21efaec36972a4a2406f1aa1d91b426a04b6a9a5582344654498dbc81dbc65cae8420af9fe672a74d6e773ab66d3e8adee69e3699da7fa07047894276b4460fab6daf4db5a21218736ed20a847894578f86396c6974b1d6935c47dc61dcd0db2228c4cae8804ac0c6819b83dc73f957b60f42c91433e9dca2127cb93a03e4d7c3bd93a2367d07db19005cc43c109ebfcf56079bcabfe4688614b8782d28793078acfb302bb337f49a24d43e1194cd46011a0a7f44d8a07306f657c1ef8cb838bfb022166129d5c9b0cd5ed955c5d3a9e9a060ff3172bafe84900dd679b03be1afffc16b47a30d8a51fb4fc56521a36798fa2670065b757ab114388501dc63d2358c5c4243a61dd6a65539a8dba454e1765a294d6bc00f53a1d0466e504a58650f33fe8d1aed2c66cad6a651ff86e9224984476ae4fabce6d2331376eeca544f3d2d3e4ce84cd58af955e6d4cef6e937f7c14b7f6021f7dba9996598b5cc0da7ad3a65d37f845e103943f9303adcc8cc27d6303e0729b8e4b719a77d79e352f7585f2ecbcb63ac543a88442544bec73bb9541019340bf48c16516c1e73ee5b2923903bb9f861252405c221c1713bc9c5537bc6810987b9260ec9c3c29ca299f9e34399de6a69e28306bd53a6fde99d833f6385f1745fddc9e8636bd732673710f5daec51a53b8c142209fbd3e31cb807dd2a5db8212791eefcbb826c43edfb80321027f2b90ccf3740521f71bb367b1a2984202e9490b8579cd8f81020a16921ac983ec15f7c46d24cd391644c8042cdcad363f104db1d50e306f50aea7b2f1a67d976a86d3923db5c26b2da3d2da3df8f179e4993de483d3742032f949fa39b883257b7fa41ca43e193082c9fc8730ac602079091bf1ad92539bcea2bc0c700487a23f428352f338a7731b3a480338f4cbe3653aedf41928112d2dc879d8f8251d10e1e84ee7edaf4b627910090491d196d9d0f8f4e43e22a65c81b1ec6e1e492e42f1ec391038a0e924fa0a371832e0d8edd47735b2f278f350f09790983167db50cf5ebdc0278e375afd1158d377f3db29921f28e025bbe9e3170c90be34253bc6a8b65f86e4fcefdc48edcefbf6ebd09ba0b8c1d50e28c7d0b3a7015ab7d72c074340ed6e800c34adddb77e1aa3885e7852a43e6d9a15e0ed3435af21058e4106478d8a65a8997c88ebcf1b8eddd50a322642f5db5c744d6c350be0ef27f82c9d6622b71872af78dd31450aad2edb4c2f6153c3041bbd4d0138d35c382cb368c5ce68b5669213ca6efca08ef2c8eb8defefb8872af02e7664ede07e26773685ce2eb792d44b2cf4603fa1dbdbad6b2bb6593f48d4918cb2b55d191f62c6d1a77f5cbc5b6935ff83bb383d81aee3065c82775eae8237e85d1498dfa247922b9b6df7bf56233f36a0172d28cfd67a7b8d94714c615e8072a7d094ff859283c0677b3526fa6c7b3d814845546c76e79849c3a089ddec1e64423413f6989e5d27adf4588a1c064167b2a05e4cb172d31fe0a8a404677064aec11f4896a19af93a3722239ccbb0b56693d5a7e3216ad9dd61c519af6bcde307dd8216d3734fe13dc06121909d8cd27678068239730c9471589ed63dfa2998d691776a56f4e9514af0f5761720092457b2ade1ce7a311fb134de46193762b821b300af3c4bfb8f9c99cab310583eb5b51df8823ecc81b806a173dc93098548ddab882753169f039dea80e50e943cbb2941d2d190daf3b89549edf220bddbf070c43d958c6b6b9bae66531953680bcee1265d4f4dbab071eda5b00dd6cfc25ebc92f1d649a94b1ae3e2ea1f06ce14013b30ecd67a2ad5e86d137cd4dc5bc44a9228c6dc296d4d97367e7f36cfacce78429d48ede1d2849f49d3067eca124291e2d93bba31a90c36477991cf61c44ba7676a02efb2deb1d6c2b29c7861538cfa91b85c6fcf4f064159e840e381eda2c1e5521562f53dfc0a4a76908d5c09c6f2f7a2e4a6179f725fbf5143d216039f7635c103f4103410649bf96e7fc203c1376d1c47f0497bbf9cd11d72996d3b6930041240a2d65f9017b70d9659f4701e444086224cbbdb33e52a6f8a5b6a34bc82b40577510c6f107323e877c13030a05ea1e54e27baff0d6d2a5002cc6d784b75fd5019a1556402e8c90ea51cda6f2cf969e72a3ad1a6e6c95eead9a39085a3e43b44ed8d5d755f09564f98185d8b3f001d2321c0024b956184a8a3410cf809ab9f212711d6a43854751576340898ef2fe9d4a6884625c97f738078865b75d783f446441f4803de14bbd323f67176b29d749a004568a9cc5c6be6a83ef763b320a4086e5125f413e15233caad6f60c5a2130d16e1f1d90765780e928277e2882a40799e081135da17e7fe13684a7ef0d5d50c28d0acc367aa49a3fd9911e09c4d02051497d97968a6c34a10d88bb3e9a09899332c2618579939ee185cf4d28409415236ecd3207e36a1c874394a2d519effb252840b8757c6afe0842aa6b517b01e526552989faca7a83aa355256514b3340ad21c455f05e9376a4a97e501a74f14da68e60a41b9c6744855ad5b7d62c92f172086535b20a3ad67ee2b169ec3bfa762e43fb2023219dabc97876a402f20de09eeb614a1955e07c68efc057a5691ec2eb086349258bf6de6cc57832a43730cacb78ad3cc0c20ea3fd99eae65ee6e1acc9341c2d25a5a77a1671fd61f779798542b4d85d1378b2db74ecc33d8e9bdc060d2e96c4ab0d55798377b334429e16db8723838482926f44ac99f6816e5102d806ae65b49f2047c3ffbdc909c645060b5e7db4451141750dff5ebe1e377b2fb02c486954c369efd806b30c9ab93a8edb3052a57ec55f85bd49761e592ac246c26885b3d95c6ef71519169de608203484a01e90dffd16937462d53b5ce43ec3cf2f4a983ca4a229379ea24d6a6a0c0a39bd7947c17344f41044d4139a6c016078acc09c5da8e14f672420ea0532fa9918105c3af486ac013b7b321a30d8b376581464d88bf2c110aed4cdfe0e20cf8a4325718dec97f3cb43c6062b1d652dd2f9597ca2063f7a27f06a94f727a0bd5f2e85c0c03e466386ce1c0910d99fea831aa75f89de0e9711a729e54d8a3dff6d0f320c415e2da117ada2a7e728c125246eb64ec99e9d2e0cf07ff475395386f0dfe8248595c5ebd1c61b03cb15ee1235ab6453d6deaed7176126fca5f65dc5b97727e721ff94a446b334713d64e549ce4441a9c21903ae1eb9457d4bb56f5328692d4500bdf0ae3c0db65106a3ccdb2c2501f8283058bbfdfd35830a25e976492563cefddfa098e3a352473dcf306138270fcdd356075b128221fe6e5d2aab32e52ed66f93b3e18187fcaea0fb2c4a4a0579dc54273db0503b060cb7d18e7e0c2c618a987aaccde49ca5c1a25a72a75acd42bacc17d304c73a29c6ea24df8da6ee3be2a622c342ace50cd0555404f2753fe68121e770248fb957cb31acfe42ad5abb474db10bd436e4451687478bdf5edf792050e79111839a848d8bac0c35e0f08ef3aa27e609a7be552ba5454b053bbe8df36eef4f3838b43906284d8a08b12a3549f45b3a874bc666ead004398b811f2612053cc62475a92396bfd1a128a44063f1cc24783e490e6ace32659dfc7e620841ee4c06e411f0bdeabcf3f08d4a47e4a2792c1838f1b17ede2d985c14587821268039c72ded722be98653cb75faff8653a892725c44b1c7237505886622a1dd98f8a550aa3c54a23d1653f24a26527222cbea1b343d344e96eb7d88d2668440f0f7c429d93d7e06d10c6ed97116c3437469d42a2bd1bfd147faee0cdd3c58e82122978dcbe14535541b9d5f26cc58c99ac15634f905dc7903ef05bd760736dd132c74cab1a341c181822ad38ad4c3d39e5a932635929013967bff830f6e016123f7b2f75ea11abc3a98e80da7773cc8a6e4d25c7dd7a5a8eec2e6198f28095cac48c3fb1f0eebdd40b33b5cf00b9524c26bcfb51eb82b0b3321e95602fb5bcd2c2685b393efdb92c70832d8ef5f47af8359ace4b3ea962c65e36212c6257809baaddf29a68c063113a908a147677eda5e77fc2fbc2a1f43701fc6db80f10ced4c2de8ef8266b77536a44e5e9a846e9bdf07a6ccf5b09a76a15fe5d33527fc063934cb0cad422172220e5f2039db3818865f7e4934287f4db9c942d2f5ef0fe91af1600b0e2c18188c028333a39dce6899e4202bad3af4f227f6827b4b103c49dacb5b0d87348a5816e26238e3fc75770e76233789c734f05759f4ac7830ad6a08221303e572743d4521aa9fb4a7d554e2932a04995ed41f6e3ebedadd2ff26cf4272f96de1baaf8a8cdc4658501e2ff7a28de6232071f7f144b60542695cd4f7002b8285454429ecddbd22a2e57b32a0ab4839a0c4acdb97c5a71da41f892e5a9e848ff4d47b1478d35d03e6682895e22bd3d157667bd4aa162481f9ff81ac3c4d1b2b039e2d56e8f0a9bae854100f70ca54f347ce94d85d0c6925994e39918d15f60b529d272522a0916da0ca8d31176bbb54d0974ebf0bc91c5f87f741e377309aec2ad5038771fba89130f9757247f785643ed6751eacdf3d41013ac5a4cc47f40dca35b2d31c1269e902894865ea3517bc18a9c4d59a02abc38260b5b8ee54a6153b9910226f4f1c1675f242623a24fa89a8085343541c2f24243f616ace1c82e2f41898de5155e145a7e68e3ec6c17eaad3f539903860485ca7f0fb2b2cd4aaaa20c85745acba694082bf6afbcc3dd71ff5f7409abea6469d06a8dd717126393e08ef30c407340ef6d1310e87dade1cf32ed2f65bd8cad37284c435fa580052d1fb551d9fd4940dd590b3be24bbddd7c2e03666c51db0ad8169d90e87f3ada63898d6ea359e9d7e5a58fd9036b72b0735437c291219ad66d45f41e53138d70864deb6a5e18136ecc9f6d1a8b6cd06507eaab96cfbdc82d2ed4d541f3964d9bdc96cd950083d5ee9f15c9910d10a4b40f9303915de41fea11a0e711eafd94e406a543a2101041bc1f54c7334ae634395859d000b36446ecd8bd327ef5da2abff59e7768588a516c20282fe9d5c6af2bcedeee6b1a46df399799b77eafba7c6101371eef29bbc7563c08b08834c0848de90cc58dbb605fe3c71e77f70731efb5a9df7d8d65319bda603433477807535e0416cd4f84a346adeddf3176ade32b63ef5e686ef11feb252287b36958811f02798bb1ead8ea45154420d502427753ded401907d50a9938a6b1ae0e083b7345b48a73a81be9a5f5ea4aa804aeafdacd70d33c11823aa340025e5951b32ddf24a03a732d89a7d4a8028784d0dceadcc7fdf33d96a5f1dcb5bac936625aaef542c752aabfa9ca1c97a7fbd17c2f8fd9d28d31bd83a69ccbfc061e11c739ceaff1fd2e115e28f271a390497b1be24ebf61c828ec247f446e290b820acaed0fb6a7ee823c7aede1daf4b150adf12f9cf43e6428c963d3eae2329ea94beff4dce5555cd288cebf9a21e3443dd2e03f154a5cf44907add0eaab920845de9be55b0cb4ac4c65043edf076a62e6265130d45e56b4aae8cd1761865de609885909128e5d5de52ea76b254814e2cc773ae50ccae63cf4c0a093d0125c1e8dcbd1985bc7c1177bce4a3c1cb034f3c354669127f6eaf0e1012aac621ffb4a5ba1779b78f07de34282a218d8f92da91f4b715c5ad510db44e00fa2c5eae50da724ddcc4927d158fc39fca01db32d86a04937db9542269b3441dd99dae48cbbdcbfb77422d52c102c6ea588c57f8654107a40a591602693fd8d0a0713d7112f29a67d5f450e88b65dcefc00af1bbc809889f75f9dfc7db1a677974a26c9b23d32588e69ca1d008d38003997286bc7368738adf0e81d3399b1cda0ac6f661c2cf196a753635d75fff1118e2f55c20152785ade4716b67816c5be10ee2acf7497a8989a1e4b7a595f61abc36130120e3fb0cfa73e20daee31f0299ca98711f378b488ddf50f73832c54a2bc49fa559f2959d9d6a9a899f92300709ad529d3fef45a6589dde5b29429b11819cecaa385a6baea81c3a67ea70bb9a04ba64d111ccd56d694cab0478ca130b8d4ac1d5f89b3f701eda2ad7da1b7b071e721565ce093660f037b84338451b7c3006db6fc97f05bfe4596d0d029d5bf1f92e2ded755fb03278ff5ea54ce3208659d3f504ab76f90b1b6d63e202703c38b59d00b3610a9228585413270d745ae5a89264135ea32f91f66ea79bd48f69434cba86c88d43bf4c57733ac8aaa2278bd0c56f0840d52fcf8b0b61433f19516c047a246b79333b9f408cdaa1179357c32ea2285e5b06772430e2db9ef8c43b97f4b59681d68bb49393b45e04db6159bc101bcfc457e6324fd0489e671b25d563c2c4c41283131017d32deb38e8a6c7f99ebcdd2b7325cb6eaaca162f629f19d1b25a078f9cba9fca050cddadd6c8d43f22fc026d00d3f9a77ce74a0010134fd494c51ba1983a1bdd65a9ea1b24a15c8cddc137bf23b7d9e585e46ae9ee516b9abd8dda683cd9f4b950293b8b1ae0f0131ee157674fb5e1dd3815522507171ab7c68c55e7198007fcde3df9b419f03dc702e123daf3640ef8b20629c21e4cd5ddc30dce53cbbaf27fa765e365cfc96ae81546c3607cf5a9b003e5129d5b952918d74ab65d366e722c2d2c749d722aeeff2d0c8204ff79a246a939d7df5a7da1cddccd5f882b72acf2b9f681d38d70f294a1fd73e219f545eea7a6e911edf991158ce49b3cd5662ec418a2dc1b3bc9fbfecf5b4c6c6f6d63b03cb231fc80299f4be36520edbe97558f8da721a2845d58334bb447ebb49eaab47615fedd073b57e617be5814a7012b51d7850d6aa2f379d976232dafa456f1f97ff9350ba4ae08f97fb127f6a6a4e8b2ed7c464079a0e1be9c66ad9985d57d8cf8599c81d13749c510c232553c12fc0673a9da530200b3dee997a13d4b4e0b1c34304715197d8aab7d06626fcc32ea39cc8b586e10ee55f313039e41c148e82cc2dc288769da1df91e31ac1dba32206987eaaf49b204d52b602902564a01efb2dafb7e181073ebf61ea8d718dd1eb631eca28ea10342bc9132bdc05a1502b3d264ba63858920b79e3342c9683c2e93aa70f6fd2911aa21ac011f9102b15a35386d7f0d8042572a313486535ce8ed0079cb6112ce16aead67c5df14c451bf724ac8d7d77889f6b6ba921865348b61ee902b700084cc953699f1e612d404274653909ddf48cee63a2d78c3746bd6ff547047a4fbe93c33bcb97492ec849816e30c3c1ac7c407d100138563bdbd4d85ca06bfec4ea539f7effa557cd035abae8d62e9f7769f61120f5e12f3f04d003bed76d51100741733fb30e763f542678e4c982389f2a0b02c8368cf81ab5dd561d9bc72a1863ed436076076a64b4dd0095c0ee85efdf2b59222e72a09f397175d2c75edb8d928c58ffb74a0c656be6e9f2e8e03efbfa463bf7ee00fc6e3d8f16ad7d5b5f546d8cc1a78140a4261571fb9c3ae1def4bfc2c7341b9cac2470423a0a7d376eab3e0c96cdaae439bf254f1923a262026cb8854918fb9544670e10dcd72dc64829c8099fe057555a0ebb30534a45a60b5055aba63cc4b618466ae5e6ed81199e9a2b925232eb7e2fb2483a85d377f2dadf03bb8eaeddb884653b409d65bdbbb48401b5e3c8dac3390af418811f3e1cbcc7979a3ac78e418af1ec87dbd5ad47fbd95bf0f82764f917a4b883015aaf5c87e67c95e3ee164bc82e59046653d7975b2e2564a8f3dc769b0ecd32cbb533937f202c74dffbe673e3480dee89fdb04600ca3e97d0e8adb9aa385a740009331d146c4f87d0d04a4cc398e69ec125b2c072fd52fbf6bbf40381a81e9c5660010637b5eee3e5e6dd66f06be094992fa9ba8f6f428efe00cb2635294d23a716e3a5e0dd969b88abd2de7857d6ffd1aeb72bbb7065bd1e8628da6f908b9d3f593a27ec3bd79b381d4ac402acba9c2ec16d2e4144eea3321c197b2fbb24666ba551861d6e4d44b720ddb64ac6d8a09b3ebf966471e1e9e0b53c7f7083c0fb298d315ff9f6a96f06b63924e30c0e7cd26f1461cc65ac28ff02cd7b227ab7aecbc86d9d6948005b196c018047721749be7a5165aa54719d562d003eca46df364832fc5b3a7a2dce2d2602f0db0e287d3786621876166cda1ad425520b483529048604388f75005969212eb68749018214fd274cda9a2bd22af73da20eeaedd0ca087e702af8207e2e88d99b451e00052da4c46932ae033a16958b7e7058ec29a31c8cad475e139fc42cf928533988d6435be2fdb2fb36b8a25cd69f8cbb19716b89b1752ef25ea3b52af6948f8de7bb431d4e463d42d99e4231b62ec502db26ee2fa1966ad35b5bf6ef8f80020004dfb16465f115b28ede1fde58fa78084dea78e2243e8dfcb2afbc82d9cf03258d3903e09ece9911922b3957d9290be3b91e4fe1bdbf222457efb58975c2f4532335fba69192b462d6fae5ee567bd42ebd6fd20ad8302091390d97caac4d606fbad347560d87041400cfed0ec1a8b22f1c5b46913483fcb9ed0272ef11601f07e9fb55d0cf2aafe68d6d885d5831094f0361c7572787d5c6cbaa173139c13640e4973b306221d70264962b6b707b7a4b0cbfa71d3b3571c485b4f354d164a1c2e2a34d878cae61e8dc5adcf068f631992718a017eee62bf374dee5ed1e0949ff55010d87574beedb4aca315f79e42aa641a5d3b932c7734c76a4fb6dc882301ef2e788907bdcdedcb60af55ebe2e906c16e25f702bd93ae3b0064c72cd3cc12cf56f3fc47499bf201aecc1f7b220d6c85ce3ad8671eab0a9e5f3c8220215c04b1f570712021576af975fc3b29fd6a181062604966df2fe5cc64fd04f05939ff14972877efda10d0ac13f22c6fbe28bd274b038fbf7f3a391261dbe7e1dae504a8f13530e4e136616bbaf535c4dd53bad652f2e015fc8799ae775d6f2db6c68b0bb87ba14d9f6eb6ac49d251a932cf767f9e66eacb183c1b7056ece4a00d664c8752c111ba14bcf82e85c30c81a3fdb6c8ed055ac811a69b455c52784d48e6c84ef0d6ae95940fbe35a070e87835991dddd2b44d11a298b56ed5f06d410ed1f60689657228f5e3d4e19d4e710371a9da58a6c60024fc33d24bde500eb6bd5b45db18654e5c23fd66584064ab308adf9c96cf586444f2d8f98659558e81796ed2f57ceea533ebe40646562234d9b2efd00bbbcd2c569a201f88df82e3e37efa6eda75895b2852e7eb89cf9618d9b20c426c8929316b139a3711e489ee5932e8b095a24d14e16f1eda98378a3539b4ca73a8ac236c7cf79f4be54178d25148eaacad6df72158fa4c6c3321c3ed188365310b1fb12aca89f40c42102421f3e8ac141ac3d1edc353d3e124ddc18e2be2ca93a925eb37e740e6dd8557e639d08de6d5c92568a8bcaa28252533433b3d1fac6d51b06776976313358ce62ab31572a0b429360165bc99d14a4f4ddaa1f16e945f68d06f4f907d8b054be207f9e86370b7a2f4b459a57a4ff845d5b6db9a47141ebd0e8cf52f9e478114897840eae75527c082e2884508824837274a55149c60647bbd5487a9b6dd4a12f0d779040d3bf69eb41f2282554b42e38353149f78135c36e6d5ebbc1c2da6e8caf39b243e783be94720df348321af1a175e9a0e58a75268974a5b8e347ae525dffb919086a575689c63fada9c491c4dd84cb1531155531f1c11db7ac12e955dd860416ce050b3294e5b99728069fd0f986f0c1ecc53e6bd8c95a8517ab56df2823c2d759180cbd1b888d19c8c00caec47285dabe6dd2662471b61bf9b8a46a3a85e63e50373da9cd6ef2fab75ee4ff1f3815b8cf15ac19ce1b95c3f048b95a4ebb3520aa08a2a0bf7cbe53f99060ee0731c2474ae0b3cb07cec7cabf1eb3cefa5012f206628e7c8a0ed6888248f13d870150e982c30e54aa27435aec0d8171e8dc436729726ff6baef0ac1123805222af639b46b8dfe303652573b1815dce92cd01b7abda5224a65496c74508961a372d325ce6ee86b8d77c6823196d333ad5e383bd9bc7f873fb9fffc11a1ae7f6a678266c41df865206860b1ba7e3f06384f09dcc9bc2bced89422c0d57feb53ec4fee926ad2a5701750c46709ebfad3b874e543f0c699509e72fb82d3959bb76acc65ccdb0e693f3f6bb332d63165c6c189d3d2403db412292a7cecf1df1f699795bda129f036074affbe61857122668e9932b0058c05f484cd2ee71b30c1bc0d8d7f4dc26781380e106e7dd212b7fcf64c020989505ea5651e90712251d565e8eb0d90897c4bc27cf6f43cc5add8ab3d50ccc3b2d075ae55d089c5562e8250dd1ea7ae69f2f575c256087b393e106450ffd03db284eaec6b8c1c771ed960948538bba4d61ea2508313873c1ff86e184bfe5825d71b533440cf86920bca34874e43963b92e611449526b90cb6f00aa2625f797010b727d6b00ae63ae02dd7f8da087ed01046321514245bda439ea416a0071e3ebbbfc859cddeda516b62b53493e0ac68bdb39a27d1d98d04de6e9f2b842a255d76d3a2b44ff4e1fea5de2e346af3282b26ba5a3deda3ea4849dbd539442ea9703d4af09ca076dda586aa02c11ac9f492524b171bd87cca84adc2aa6279222fab54717136b7845d609b43cc0d790f1694743715895c7eaf3e878c0bc91385b3b8d27894d4720f3f58844cd2240071f88037e6605fbff1939d07fea0440269b069405035207c51952cc7e278e82d4c33d3b7127f32f0d0bdd7aa45d760137a9048f29d8ce1386cfdb85bb4d45d5622dbdd749e857a96e3087930be0f35583b2993e7d86dfc299d50f6b8751e139168df268f1f1d2e89323ce6b07368bdb5aac1801630b46c824cf8049296f77b12cf43576ec4ac41d91865aae4b71fb6d715b19cab129e00909347d0b821cbb712ee40f29813d12de2a07d68952469f7db7ca034b6ac19488062fcd95c5ae95a6809919e69c798b48476c4a99863038b1a3ab23bcc9406c03126fa3cc82d6cc4655527ff90c83b4b1fc887d75dd008911e4ddb83d4e13e8e8dfc0a4fb2686bbc27ff52eda8065c69a75e5b916b54c027a7dc760aa70950a4dd8bf027d2a94176d524fb6b14acc836bc5086e693c346d3a9a2a61e1dcdc6ece669746d8149d1d836a9ebc6225520c22a361cb84f08a61663dc122f4679d197d0f16172ffe9e9f794e3fe4068efef30af3589cdfc34c7e60937109519265bf4e01def3de7511c874a16d6798c740e6d9e49dd5ab682a859968cdfb9403e14a84c00b3e639333d8725be2c1d44855a55bbec59ac4810074d9b22e43188c93c95e994a2a61e6bf298767f4569a265bd4df7a911d55dfd16b437d66cd4b256f45b0bee62f0fa6ca61d7a657335eca53aa1889b07105a513e478206623a116b870c624d3b33106268a3b7b2f8274b391edcd732af06e4216d72197cce6c909deb956b7903fcd5f89a550f42a56c51080c48b0723bcd32754c93ced49bc602d52df685f3113ee1411ae4995fbe57093fdce488d17ab56fb9c8726ebc4e7fba92fb4d6f9dcaac67258cbf353f76e2fdf6403e94904ab4e43ca5cabb566515c562610343a9ba80213d7aa920953887ab4ed2a053f6112508dbd7c5e191467a629d7d56332acdfe19cf805f031c1c88617b32de4eb2bb273c3dd7a32f54cdb48e73d4d8b59baf4854071b1b89f739baea669110fe01f7ecca266bc77279ba3b4e47f85f5e1d6ff506cfd8d7e89402e2125bb5524795364121ea4a174555ddccf77e4fc2a5877b922d60a99098cb9e4d50354d428b3ecf36db0cb38e9aba0302e91028128deb918d6d08284bf5459f9dd61c9d5fe2a15dcab7279df878ffeb70f66c7d2a7e4a8d7492af422020960b6567f5a8a23a60fd587da13bad7153889465f1599d5600ba3c4dad6a54c9e63b67569fb1aae3b8e150caa3d090545ea154be21b6185e5ea23f54fc1d21ac97961832aed309f7e8d495e3570a42a3b2976fda21722dee39dec11d2372e676abfb45fc9b54c6cf90b17aa5b3aad23805a22c2054ced165c4e1c08431eb50731a3eb26e0a30e3b73beb53af0168dc5f49c0d436018f49014ff9001f6081b5a7f130a2cb0c9b929f283abd5e5ca177764dafb582dbaffdf69b7fb9897f124031f877616fbff93c37da0f40e64dd855c36789c9708db76cef148735632372c42a3d525af6ad6c55260862baaf1923d04be63566984a0998d66e1caee0c6bcf92e11ca73f66dc10d08fa3664f8d2c73aa898be0ab5848c95d472a6c3df17158490ce1d3e6fc8d997b5e24c2b87b8848e78cedd6df03baec848d02cc71df956bf63c94adc463a4325d7d1e581ca990a69628b0fecbd826e43596b33b1c9af9e18fdb9d514c5b5e3db0a4ee18a00dac66993888f4a9cd99d1c71fb909dfb02d3b9a76950a855ae199f1c961bf924b408c01528fa25db66ab9e44a889478e031b6c1dc2d054e4e30da30a4aa3ad5ce42c97cb7074b725c9fc4e88374be1c99571e2aa730407461453d44b7449deed7d9dfbb03735b028f724bf38c328b4ed200990c3f2f8bc8d13cb86a7458befe462c19e72887b2fb1d4b063f28c0f443dc09d2095ab2cf0316d7d9ad2187d11d6ff8c328f1fd2bb31a5e0147e8fdaf74f2721803c6a2fefd4e415f0ef585c06ca10412bb295eaf3ba3651439153d2c4965562a7b81b1da194a447026084411d5075c58fab3f09351ffc0d00deeb2853020e7b41bd442a21c7722a1f1c26fdcf5e1856248913d954a76f6924a7133254918fb9e2ff89478e0887f8cc1167915560d05b9901c58a9b4d2c08a8d4918d52f3125005020a80368fc0c60e5da10105534881e063e74b8547c07b23438a20276502e884638dbd4713522626c186ccd24edd315454cf71857ca2a0b7a1c672adb94a111bb35880512fdb7d4d45d3f4a54b3ca53bca0de1197eed8effbe8d90ea607e9620f16f6e2cb8947bd74e3772a8aab7f21f1cd7ad865030475bf4102d5895b7cc95f4f02b9fcc024524133f36d9c8741cfc3090e855d1ecab424b92c8a9dae4584efe4b5487212b9f3cdc1aa10eb676b4a1b1e4c16579dfea78265644d58014fca3b75b652583333432fd0ae6c8e0df63ec13257f4ca65b868b4441dcb23db87922bf7bd9cd5e03843150e3818aab7472f0da68cc5e04bd528c0fd4d72c187e80f0ba3548ea820c1b71a017571ca96154aa0ae94186b9c2d0bf3476cbeec22d41a32c9c2486074d64b3ca88d73330f1abf0aab7aff38755fb9fa4554a23ea2b06abeac27efce6b2c1cbe4148f5710d7ad5ee4e3f215e7a8236cfa60324927ebdb8c6fd6a3c12103eb25d9762c92313cd5b4c15345282acb76028b0ea5eeb822d88233197c1eaeea7e8c1b25ccf22012d90d10216c9c2bab7c6fda51b606c975fe4ae3e189292a9e16671cfbf4f6a2ff378be7689dff83bf862cf66b881ad3a0767ba30c1d972e6350594b495bdbddc70208b30cc18cf973483586b3900143cb9c1f7af9748e7baf715f3210176e4df46c245c5b8d6b9f7cbba007c4b4d7bea299a932b26c310848f0f23993870ebbf38df934107cccb6a5b5ec20375f0aad0d1be4860787366ef2ef502cc078dfdc988ea84034d5d77cd36db09684eea993929a740b71d9479d3c39138e81b2a0ba7ea93b126bb936288f0cb6df0546226a7bdeee70b9425ce690107f2586c277d0081ac6e53fa79c24ca87629329fc968b70321af4e02443236580ddd7fd3e72e5c589636a4011e4eebdd2cf7c32daa3579e85e5d1b767ff85ac8cf3c8e98cad2c033b234bde1c1226f97d6960c2ec82f3ac0b792264b5c068d81d850e6fc950a3573f22d6216b9a10dbff3b21d13a0440e01dae2a9d8707956f31d741cf45e24bc35a52370395bebc5c94541aa23b0c5988e9d83d7b29f48024ed9c34589460b2dcd269f97269ed623a68adc97dc27af012fac23806b9870fff90b60d8d2ecfacc5d25b9bf8b73aacf3e582ed78e526298b5a92d19668f6924f0911b09227a331c75777fe7c69645e72fcd4185725013d9e5b9cf5fcab41f7127a28730b3f34174e91b57c8ec6902a1d1a2e90e4df16ffd12463d45b72dcb0c5053450ea003b2492f0bcc9d58b0b79425214d716800c1aa3127b3ee921e452e2c1e8bc3a0c1af9d4cf7ee8e43c1c86a01ad80a5eefdfa4ca893b6c5b7b6c5f97f6fb94a390b2c45c64f9b92dca696f7926216d46039bd1cc1f2e4812c51d1de9d0168854125b33562966aee43432d3e1b218caa1b05337a213c7d0fb38523b963eaccfca613eb8acef37f3db75420a018adfdb456e706038685715fe738d2cbe0873f6fd736bfbcba94fd993b94af3dda0409cf9387b6177e62341b92c304aa63bd2624b0deb0e4828f845ed93f14c10678a9aee506f79019976bc5424e25303f044388308a957683ed1b0fc8048997db661e0bb257327393d1a954e03149783ab341559010fcfd620e07a245d0325539c7634b8042293ce4cc88ebfc10411218bc85bae6a32f70ff92a860355da5c202d510b735f3c3c2052058503313284b055655906434603878fcff539d098f61fb931de45eeeeb6ad808979cf4973914bbf0aafb4c4870b1930bcb19954d5a8ad75632534ac3e1ed09f38168ba232fa2332c805df36962bc51842ee64549730894a696dd26aad206dcc7ddfa15d4941a9cb7161fe27c8b60337acee9dd0783f7aadfac274d3c48d8805c14d803d4b022ca735999006508a2a6f0099505ac71b5a00b4b8675e519ed1f3436401d9a7a4bdcbae0b83c9a58fb9887de2b5e255ead8e03e660afc0e5189392fd70eca6bbc6883b3a9c0f7d5ec85221d3efecb1c7242ede4d8f6e186ab66ebebd47adc62ec1f92b0bb971c559e40b6a9bd760fc76a012261b1f0488ea365091b4b99f99ab444da7895da61eadb297e7086a46922c6adc17a23e2fe529718311e7a1abcfc8c4ba8cfc758af85da621a44e08b6ccc5a8a211ec27b982de8f91bbdbdd80ce16ffdf8eb8f1d7a5269534933037f842c2e67581e3c9ede04ebf2587c948c2e3e52df1e919b1c8d7dffefdb0ed483ccc06b636b3279e0c637bf22cab34c8701161a878ce907ea2dc365f9137bf185e7563f3f94edd439faa99a91f47af113fcf706269b670680982bcf16c899c78f068ff105120b7044ce312f0abe4dba6441e6fae08973001be6d620f944a5600d64af7de317121e510ecb03844f0e816e508f1ddc76a55806f426984677b3c9547291e80dd42be012f8e28ddddec15e66f71941e93150373caeec6b0c581aa1a03c082bc62e3f34500f10ae0c9064498691de50b48ca532d5b432af1b12fdc0ea05458105bd66946f4990e6a75e21b63a872753d92ad6413794f6de6c91403f687af3c80024587a810478ba9a5fe0673d66d2112a79973fe0369a60e403200f8eeffb3098fcdc6724b469a38085baffa17650472aa891f1a0c519f36fc60d41cd2ed1d4dae37aeff65a14c02dd453c997722d9f4016efa9da33c196daef907b4c7f1999b4049aad75189c03f638f64f16b67e0e355713ca168ff39ed0cd6347b114f8e689c65afb40c10c5025f98d66c7edda7052fb5db9b4adbe1dc5515d782d880480c3f0597511e5b609ba17c68e07dced037a827e7c5830962a4a0797817c71b2e05f373787487b1539ed619562f951221755da6bd8c5f01d8a6dc36e183e3007ebb033100c0af3389f85ee9e1695d9a874151df56d1905365cc95bde47e447a1c25a2392ec2de5de526e29534a299b0747087907fea38c76197483d5fd618014f57ebe90f753eba7aa1c2b33d2b572cdfb63871c8af733b5cd0342759b4ffd4d556d2e3d757e9d3bd4a817f6139bff2e21d8cf7fefa2847bf434cdfba15a65fd450fb5298bba83abd790e6018d4052aa833267c6c20fb48176ccdf31df6509eec13dd4f5d4c330ec85f46340755e8f59f3e595e5d4d940d5d25c96c86e3c6650dbf7de8f0ea0cc5439aaaa13f770efac6dc659f2df3b593f6359502ad3360955ceb22ccb9aa995cb5c3b19f8e50be1cab2aa775695532b23fd34773ed62fcc769a2c9d7bf9cb3daad7a646310ff9ef12327ffd1df7d8ea5be5cb771710394bcca383605a3ec53db8ca97d6cba9f0a59b73be10f753b3b2193f6a14f3789476a2e2b9f79dc179e21ed6bfb74a5c6ccb64f351143568c197bf4dc3edb6f67b92a6a1fe6537998f36b99f994d9be812b530a1fe3878cde8dddf40c46b48efa0dbda80a6a95ec9639649fccd06fee6a35adfb57f66ab9753e7f70564f657970573aa6500e63133493d5ffdd226b7714d1fa3e3580545518f9aa37fa3f92f2352e7ef8ab68d267d3a7a12e9a9d73889f4a3273dd536a62e19ac4a1afdbb8490de1a7d7ce7e11e5be3d6d1bb92a6893f7a275427a9b32dbd0ccaf40d28f5bfd5c387a169e8c3d168d43f1a711dfd7a8dff68544927433fe973eacc3657e76fbc3d6976617fd33975946dc53223af5ed5cf2a2e0503c9d5957c4e3d5237c26c33235d29cd8f601e0d25db1cc81c032038e7b270cec9c039e79cab3d39ce9c85dca6a124f7bcca5c44ae20b7e51483ae0ed30f60b0539a1d7b8d7afac1e36feeee31e62c237166666628cececefc8ea1303b335319dce7bb735b50c2cc4cf13beee8fb62d330ccefee8b10747f73b57791d04c5fa2db4334a80bc9fdbd480f6052b4ebfedcddffb92d82f416d2be7be84fbdbb5d6f771245527840b71d721972440a1bfcdde7fc70da1129debb772dfa3fa7b994dac43d2537828cc90483dbd03f8ee4fcb0b1d9a253e5ee5ee3617337bbb3b333a45a8e54962228bf8f75616b676bbdcd8ef8fca70b083baeefbd574108dfc555ffaa77105627aa04f332977fdde53de530998d4d8971644c364e08619b14a6a02d2f3e75a4fbcdb6a855cff3e791ba1971b588f55bdf10a90121ff48ce0ff9b277b7ea79f0ba8403f229295f889c1f5213e2faa9693ac0df7f5b375b222fa91121df3350ad1fe4cf9fd163568a7d9985f1d8ded3061003c16306cf0f1f7a745145d00ff8307389407cf851eb407cf8abc3eee3b6df6be27747211f8f31e138bf69e7eecffd7ba5fa3c7b1a0e3a7006daf422650ca2da6ec826725254fbb9a87700500425886ea6525ba73692da8e08cd445817b8098652e8c644441e5d638b6ca8db9488788d07a0d601f843700f5e033517d73fda058bfe219a61a2d3a967f6c8b5e1f8fc4a8fffa71ca1f6bf5027d0cdf4fcfc269978824ff98dfa5c659c5929094d2699d30d17986948bd3682ce94da0fd3fe9efb0d98c0a0f00220288aa2a82d46611081645b903cd1c510964882173c4b78c20b2e264f003a828ee08910bc9c6942a9aadb840c355e0037cac905400ca236aa287a01186428e18815277ce06889b6504abdb1067c63ca9212ec0bc9d89041462543062cd5bda509194f541d759b9081c45181697f1182f277cffa6e5cd3fc9d751ab99c9c3d5c534e2745212872772e0a8cbbd54308e1bb7330d6b353aff4b2a669f19c6f99e4efe500afd3d25c9bac12e42450b72d259a024a4dce39123676dc086a4388680ca0ad9da81c451cc3a77685a4b212d24fddaa1d4745e0238516b5bd06c64869e9757c5a5a8712e816a9c4f1deb32e20eff9ecb489671044a0dbd4993b35d4dcd161827a8d71644ba87fd90ca26b749ac64d1d9f3bed7305ad74b448a54d7487ee348d4be965ab76de3ffb2cf169514259ea7631458cba03b78febd42df205245269137f8b12746b1fe8138029345241e1573b1466f187faec983ad0c75d3d5e03777c9454feedfaa97c0155fe1d2cfc40b9a7ee6066d4edca814e65ba6305dde0ce4ee5873b5e633dd3d5b61215c56b2cad8a316a1b0e15a576141dc31fab6bedd326fe48c5870afb5c561bb49b77d7b12594141fafa120e03fa8ddb1c5ba452a3e3eee07a5452ad027528140d0e744faa142b09770b28321c8002aa1b46e13274f3c1f5059b7899325a84877ddedc447dded97197777d4bbbb679b5c73776e71ef6d5237a6ee0e3592a4b0ac204a94b782a551a2b89c6a556375ff75e72ec3deeec93808ab3f15dfcb0b887b9796bb5c118ee6e49c7b4f06a687bbbb102503e3bedfa69737283fec1e74fbbacdccc3dd5992507e2a9dbbfb9506f5a8e79c730f5ad4b37aa8b25d93f5eb8e4cf8522a5596a35e941714f895051d75ce39ea45392f289479283bf88e1db7fbf8a827ee14f59c83ef1c030151efc9930bcb815ccb74835b53e5669cbbee88a45e4aa54be31e0e03897a179c349669c8bf4b2d0245295fc28cab55d56a4a28afd742a9b3e6148352fb823d475b4a414318c80c5a3282729dd95b535551bfa6aaea40a59eab0a0231c1f1700fccb92eeceef6f5795d602595818018e8eaa1d95793123d31cf0964f39cc460723941228617152e14d7040c388ad0821af7d169e6ce8513fda0ba37215aa37a1853540f030e2250a9febd5b43d3a03b22b8dc201a213182f94610e64409e41384ae21ccc008eb0d9d39841d04fefca32a966f201d530f2505292afa438dd22264289c5e2e1d99f6d430804f41083508f729cd3dcdedef099cdbe5dde508e439661ebcf89879778d74651f5c6e344b40ca11b73b76edee5130ba8b0daa99728f821790488560ba1bc6c15495f52ccb7296e5966559565b165b9665bd47c15859725e18853d0c731886793386619535658a25ab8aa5949625e5bc2e0c1b8da8dc6de612e6da342f6cc4a3d1754d9932059b3265ca149666a1a4951c393c478ece415a6169e1969515169647511445bd1c395298724dd1a1820a25ea3d6a5e5376e8d0e17205d97101793b2e20fcd2c60b6f635b4e8d539a40b7f90200f7005c407885cf34160010801556f8cf324d63e1b1c082158097178002b4a03b014f08fc18a1732eba5f01c7e4a20f755f6a777815c7544970d0fead54e2ee6ed7afbbbbbbdda475651855d752ddc370afe5b103c339e71f8bf853d07f2b84570cae39a7addcf1dc9b9a63026f9c4c69fbf831c71e6243f1281fa4e08ffc0e42e65f66c8ac397f0fb57dc933b8f7eb1ef59ee633808101720e6654052ba9416e3146124960411c6b20a1091a9e30510592206890821f28e9a9e1c50b197c51c51847604213158401840e183658030927a4a086fd62081518018e2bda20030826160a0e8420042027f4208e1d144cb1042374ba48a3072758251491a4088d1a2c014416422c51c342a08d309a4882082984100357a286035cb1858e0b7200b4440c94d0b0341ce109134080038d2f7ea230410d0278e246139c0002389ab491040d436600e1040a9a7072860f123b06cf146568018535828648528311530829c1c6116d0039f112d4b06538200a512c8144149a102de1297cd4c00b2f9ee88112b020e3081a4c46c8e2491c4eac01042012a0a184153448f20218408106cf08683002165ec0b173051754ec1851c31122f8c0a08d23924032860868a892c4144824511205172440b241204242c61057e860084484a0062fa271c0020fa240c10f3c20c2490b9c886ed2002741a0a18410dcb08113beb342b8a081146068818510086850400b98f840174c80602034040d2ce821ba0115549a78820642d4d03da8210250907184a11f84488228081da208f1841478d1c41a5480a0010b2dd670c2099438410826f84012624c118411488003150cf1438e0c6a90c60eaa686306365081ebd4b0031d9471822fc288a2084818e2c756d91a6cd802044ac0c20c174c91c40f8e42e5a7ff4bc404541aca28a3f2d3efdda01bafb9dccb375b3b8580fe1641fc50fd4d3e20011283545507aeb2db421429759ba4e144d5ea364943a7beb7ef9078334540a30f3bb53f568ad2361f741c4effb4f40bf7e01d0a9204d8987ee675bf0428c0ce6c0df598f551473e70eee91f4edb70faa74a41b7eebff598f802b9303fb223fb032d9ca0e2870fd127053fa81baa49cf0e3ef0c307a8460a7e3c3194086af2c3074844f4e369db08d864644fea3d02efe13f8a7a0f35ea7d884b749afa4b29d38eec0e84ce88e2870f0ee8c7fb9c1fb211d0cf9284363b38defd53df455de44f680c280485e07befbdf71e1c02bac17950752937047950053cc883a040653ba2b8533ba2a4c004ba6d907f470821841a842e3d912921f7b6a832cf3a21b2451520f28894f1a24f8d442ffa50d127faf4503dd58776bd679df778cf90a4bcddddddddfd7ba876a17ea62e9413e57e01f16f6ae6bdcd87ebbdf7fc9fa432d735bceed94c9b9c6af78c9390d51545ad248a1570728cf11f8d5f6d4c790659e37bb7b1156c457dbf371d43bdb6ea4793d9721f8dd0c865300ff7f025334fd75a4659692906437dfd3253a3f65bb10ce6d15f7911cc7609e528fe7cf13f450296d9ec985e17b8f660274da85bd73d01124447a89bebb1453f758bb141c043575e1e0e7e53cddffc25bf66f0c95d313b677d4e8519b3057f9ba031c4399523645789e47afbb77737e54ef9536f73cbcceeb9e7c040b5486b9c03d9e390cc059be14627f133ac7067103145417327a94dd010aae11fbd2f2e482e4c3317d577978baee1d1637ffdcb378d7cab0a126a9af7ce050c89b4f920695b27a9fe9b8cbf5307327af8fc9ef55535b111338fb0114992301246c2481886613fca9945502d88a09b0f3951d3b893a6d95c8beaefeb5aac0b4b7a56a369486a50a71247eb3492e6e9a098b590ffb4c98a3601f50e47a152598a8f78ae2117a6e5f702c2f2ddbcbbabf1b77c6738fdb3e29ef4d4edeeee5ed7bbdef5aeebe2eb9b19a8695a7e9fb3681a96dfe7a0a65971d54974f4958fbafbd235385c939dd592f5507fe14ab82863281947e18c9dc0ae1e7f1cbc86ade8187f263e7867867564287f4e631f5906f5e697127722d193e2b807fbd4d59cfd099d6c4ca737959e96783342558ad2a8e78e1d157d9a8661d6327bd001f3e8f0507b297e07793feb3ca18d446e6d6c4e2793e9978a3e527ea2ced0cb24740f211caa2c835559833f601efbd425847a07852017dc63a86918c8c28cad7044b68506da01dd7868e3207e02bfc1616ccda9fa7e26ea2ea2767fa076731ab539889908ed007a4a4bd43da22e17517a83b291067f80f9877501febe05b6e67483d754bf0f85e00f86ea5e2fdbc0b6c0018ee99f000fe0885211b5f903cdda0d95b61e33dbb4df63c690a3286ae3bab6e16415fe56971077ee691affa14a6533b1775d9b6dda6ada166cb4a0fc5e4337c6a1e64fbb71a7ba6ec6003dd5b3e97450fdab7ef32475a163b23b44691b4f06f024a74cc604032f0bcd30a15bb71572cdc6c7cd96b858263e560aa504952754e5a88ba0700ff8efb93b97c24edbd8c71d764371a1a6712f6b000ca72139a051b8677facf33aaff3dfd034cfc57fbdbba533b807af50a513321554d44f63897ec9f4279e1b9e1bd9adf98e282e3d6e0637fc33276a93f3f411e8b640f01f62c30d33ec50c3658957a4865fd7f5b5737268f61e132c5a10a9691046f05f79747fcab91a22414462c55c5ff695331d771e1f3751ca69e9c663bae4eccf1de669917fe86fe7a16d29a922dc3e3bd24303866c3054d696a27e77dd3a1d36c8298753dd8654ebe54669dba952ef60a48ecaa4ca550d75e17a7e9a61d94eeadd9416571a0e8c0c1c00030a3078eacbe134dbbd8161b18292625875c1d1e863bcaeebb22ac8f56227a8a4b4a2945e74524829a5f4a7aab06b4219292dc518a3555915241a8d72700aac02975807efe08ad925db91e9c84a990a590a590e1e8d4635b145dba8b6954c24ab9f7fe85711feae63d84f8d7b4a29e4782ea9a0a55034dad8890bbbaa2b5ef092d7bce835ba2efeebba7eaa08251d51225db23999e20fd47e9e7bfe5f93c2d293072b674eccac6d465ca906949f6b33a7202f6d6a18b21b9a6dbe17dc0dbaedd0101b664ca597f76006c34d9b66e69cbb1c66cd5ada347b4ea7bde006dd4cb55d8d836d3449821b759ba88182266a045179e85ae48fd4f80ce18df3d0b588f571ad2cba0535ba6e54eb639bace8aaa5c5676db5f8a863b7624999956d302bdac675e53b6eb446d2cacac31696c7050b4bb3fc9603548b585fe43dc523be58db602a8bb659bff29566db0ad8a5edc05be109ca952b25ad48cf2403290821844fbd1c60804c26e8b644bc2ec4efd7a183b45515b5dd1660de6b61ab891999d369a699e8ca3b3a72e5b7c8d2c23d48ffbe2563c956b265ad8e6640b9d2ebbabe8894f1baae5855a40cabac19314d85242bcf624d9695ab5a538e78f9b907f6a35f1e8d76aeebbaaeab2f2c9b726a2a24a12d7b800412425c3f9db3666266c689524a59c98ff2dfda60a236b32de36c3b6575d3516d24bd073a40fa21f807493bc23f48cfd5536d543df67b3da9ca2c4d6ea5ed3702d4aee6f57b4d235e3dcfeab98a75af4a738981bf7ad67280a945a456d25ea21667cbe9b16182811961d73459cd4d08aa4eb168db8eed54a54d9598fc17ba86c84dd35c2f3f00d9662f994bb61ed3f23b321d59295ba9b17c0e28579677508514ba858e8890306d8e1e7bb9b2f2eb352b2b9776a3c152f3f0f044e189d23c515847c75932ae2bdb3289dfefb6e522c653fc17ba867a0c8dfcc841d56784c1aa0af2a1da56fa91b6bd09d336d3a9836c2a85d5a5551d238dcd7349ad89a8c748e9c64869e9bd0b6ab14ed3b065edd6947e2b554bdb11a30ecd7194769d149aa42468c6878f151e28abbb0accc57afaf3abcc2588fceadbc5d22240b5e91281d15f6f05f12a25d664541f7d56ef7ff1a56b4660f8ddd2b866235ffd5eb16a30a000e389eaa286032343830105184e54d73fabd38ab816676457828e7f6b3e4c3b36f7d20607942bcc0eea6d9ac6a669180af4c1504e4f7b18ce9cd3a93d7507ae2ce439cab6d0bf7206ddfcc4e335bbbbeb5acb92788a4de3908131d11176c9b81cd94d848c4dc3c3ab45dcbf8dd4cb35f5471d4b23ff7d695da8fefdca99d18cdfb2bebfb42e78695b882f95d2b126eafbaf6c6617047663a8463d862a794b656d16a1dd858dcccc0c898eb06bda34133c3af169d38cfa9b86fe9b1207a68e22d79106e1c6ffaacc6189ea96e3538bcc2f129fda9668f4319b7373aaaaa299ac2e4b927ee56ffa86eab29a94cd8f5b6f7c9471bdac25c2b6b16f9aeb310ce391937da6b6e5402222a229a5941acb58a940021af3fea66ff09a998e795615e5b671d4128b9f18e1d3a6a15ac354b6b8e431a4671ab5a05ce9472b08f54fcb618b82cc87d9b645d5464a6af22584fa4d6adb163d52152dcd8a16cb0d3cc2482c36ac6df2e117817f711d611755d43fe5ec9ad29cf3a796bc26dad8acbc7c332c9f33f8a77ac259a2f772d822473d6bbcd336489807dba11b2bf1691aebe5f3caaf64366d7aef6ff01a1f1df3be23e447fb9a415095a32d22f238344d1c5dfcfca4f59a0c38cea9ca8c08d7788178653403b32dad62ee7f8a6d0c72d3442e80bdfcf71a4c3bb2f1cbc055aad4223839b086c3bfc4033797765a97f2b5288cfefa6d83a4e01f69433ca61dfba08a593cfc78220f478db58740cb64ba3a679d2d75bed449fa0da6ce95df64ea9ca9d3479dbfdc23a8f6d4b67e96ac7f25eb27d111762d139823bb9b6ceb54e9663b7f1b955850ae1032c1bea5c59710664205e9ead9169f56d18ed556d5a923a505e92bc85aedc8582adc927a6f645dd83ae332a96b02ba512f7f6325f137254f497474f1d63dd5661ebcbe9795ab3cbcfab4224e73cdd940c27fef653a7815f8be8aefabec55afaa2a082b08ff7de66a741fdfca7290a945e0535b65aec66c6a21a0b3325d22fd0747b9b9ebb789fdd652e5f65225cc328f4da64a6d8b0f9f66bdb9f8ee7d0ce27238d522da167d783956371131ea60836eb432a4d6c5d851dbd801d1c106fd127dade33e1892adafa88aaaa8eab7af14453de9931f0c5ba5cca4f55dad8b015b3db5e19c6edc7905b3b91791524a2631ff118e393fae8afa82fe60bf959839468ea3aaa2d96888a712b5df6545dcbb6baed212a2d6d7b0146c5de8da2dbf4345ebd4a6d244ed9696cff136b4bc9668438b495bf7251dd0f518a8fd48e9d21774c83929de7b20c7b73cfcbd6c6861d1f8673d06d2c03f60d882b6924602b5b4e5793c968e8c4db338393ed5bfa91c4715e9ff6e97d3541019d84eb58d209dc339390fcb428e64a8047d8e3e5429b50d32a15cdd69dd619907572f6caa9caa7b05d1aa37f7e081d61df88dd00a3fc608b3671ede67503705f9217ca458c4e27760de81a38edd026ccc660c99e8489db6f9c39f38b9d2fe4a02fd1ae3acb16aa4e5924029ade3b03e66d17ba87b8573f7af6435a5a96a5fc24846ee969ac738fa958c12a9236db33eda80bac4cfa951b29079d3706a14954215663b78e5b0faea19c6864dbdcba994d61fc4c7e146f5774bda9b3639c96993a10facaf9a8d1859490f90a27263535444443434e4b1a36584eb7b45a0868386d326fed38c1154b6ad944abde953f88d47e55d71a9fe2573c976643a4a99b580cada466541b93e1b1ed57d0adac623878dafc448a2d794d66329aacb36564235facdf4835d18b663546cc1a8d87651310d73ea9db04fc0d6d83ce6ac04fe5163d130638c07a36efcd345f5f323a554a2b695e252586335b6851e82fab7c71c2d81f09bab5c2184d039e8fa359053f947aec297f0c147f5eb7e1719bae63c6e273dd58a1b71a8ae6df1e14b6803ca95a25a7663d839575e79e595731b54adac88bfdbb8bab9b1e435a38770141f8b1488bf31f1e7946154614b8d3855a4154668b55ba36483849eda64a31d712a2857f6d1265ad9e4e03b98693eda64d326244243be821ed335853659b2c5cc4cc499aca037c86c50dd0bc86663e3eded2699aab9555464f2d32b22f2ced9b9f03505edd806edef6ea6f9efa1946835beff6079e5ce3537ce5955f5cccc5afff098296d7bde710ef23f8263fa975801145c05f3f841895fcb921bce09c3b4b52ca7e570aadba96ed617d977bfdaeab09af5382758bd75dab5b4ed54ad771725ad602f7f2523e9b84698e6ae6cfb8d00ee497d711dbd9a4a42ba73ee5cf36f6fae88ebb92d44c76d8424aafc2e54b9657c1ee03bc09f72c03f6dcb79190faecabefc9a81dffdad98e9006bd401d6b9842895dfbfbf66e06b060154e6ef2fdc6c5a9ab1aaaacaa34b0cdfda12171b4655aa703b36a814d58b4de9d462a23f4b91460438fbc62ce4da3cf5e2ec38a9e8aaaab3382bc7e055aa54a9f139933fa511aeb02b7f1b5407af52e5612fb364b5444a55ca08f7320faa82cf3a40ca31bbcad9525b34124f9809459d84cf78d24c3cc7ef3266667e22859be093f9b9fab285d0dd6946babe0e3ebb88276d825ea2c86d4dfc0113a159f084c318a2c8882745f409a614c1f1248d22fe629b88bd7946521def3ae698d931c3dd8514844fdb6576ccec98d94847d7239d99ddddb973e7de57c8ddddddc580dcdddd5de6de6c8361fe427210755ff26c19dfb82df073bb8d6366667ee92e213e2a07d196d99d995973424477e6e6223dec4351854f651be5d8457952884a716989bf7a7701b1fc2b1cee7194a362a04417d59fb9a73af734a9aecfc1ae1ed66f5caddfe495551f33af3b58f88156b2ba80605aacb08abb6a2cdb6134ad97d675d1d194d5ba3eee305f071f742a76bdfceaad6c0723b4c60b48a55ddb42664557e3f7e3b4304e8ba37ede738f148ccebdacbf999d3d86f7fe65d7bd82cd06061bc6aea09b29c6f7d1df451c1b1bafc1f5977bccb92c9d66569ea9ea54472ab0b498b6d1cf5721db1c594bc602843e5f41468f5d3fcab63ec99873d8f5eeba56481dab3fa7ae201ec4f94366a63a3a3aeddfa37e38e8efdf8c54fff7ae3ef891eb5e7ce3ef19ceac8f71666d286a7f370f7e88a41ef3decaaa985114ce8929e7ed851a91737eaa7b8aea3f59581555e6eefe30db36086787aa538f7d2faa1d89259f06b67f67376db2aa6c89f57b01c97cbcd02637f97bef594fb34902b532986731e8a46f0a9e73364d036166f9d1b529bef7540cdd14456945a88aba62a09efaad90cab6428ae2a7d136f1ebe055aacc485b4aef35e06bcad4fd17601a8b14dcb9bbbb042b4d4b025982fd7bfb0f93376d5aa1569adb49e99a207c0f7b60225e532af97b376d721b3ae6093ab46dd0cd0baf236770c499c049131c4a486e6a9009e2a0b6705612450e94a0c0bde3e1d1f611f1005d1f98408d6ae4557feb42146a93228a28a2675ba1f2c68d3aa05cab4a5a945b5f5f5fa16e1b25a63a0fcf0e10cfabea7b3aea5be13def7b3dce5710d295041bd3af840b56d8a12d6d6af884bf8ad039e774b8a9d4cb7743a7f26adb8dd4e66aeea56c26d06d87fa8734cdf55cf5b5ef66aa9495aca81828c1050e684505452a67f25b229fb3f798f959590e32ce0aaad2e7f5b169306c2429f6d3ad7f19bff79e154f166f365c4f8da402e8c3ef6c93a92cb3c9548b4752bef7de636666ebaf7f32ebe6bb9f53c665acf7cb26f37193bdd0313dc4069714d0f8d56f3b84855dc7bc679971a5859234aabdc73b546a930ed6d6154173c28880da00f1f83750500571702b0a4c651e17014fb7f6df3c384489e241ceb937a74bd231fd288812c50a1150ff204b0b4947d8b55bb798154a34a6f65f52caca7ab975c61637868f191b1b121d61970fd94d85ceeb75b25ff472d1cda6daa2420a39b2968ce5aa8228d7cadf7bcfaf20eff99fcd69854447d794ef2d3b512afd57db8c36c34e344d7cb7ad93fde2f2e1a69a9b93739f817ea5ad34578a4f94e2238572ca29e76c6a1117a78db3a13426aa42b7ded9e91f996e2b7cdc4f96f70fa602a854ce57543564340400000073140000200c08868422915840205595513e14800c82984676581a8aa324894118859031c6184008010040446088882601001c402bb200e41515fbec340156614ceb572926f08c99b23de3a5da1188b01fa7956fdaa934d5724a9230e1b355128f56886a469c167e80095de9e38521d646a6518352d69950685479347155b5f094fe28b0259ec11c1fc3401185ada03d37ef714d5a2c3f96e8eaa226d60e15295411f5bdae9c8cb03ba3542fa82492402d15133c3378ff83c68a01e97d91fb77c1ce1284e6ad4fc7ab236a3ba4e7b4f2ce749294406a5ad585d486d1109abee47a8d2f98948ddde3d5941c796f8e997488a27a907b5e5698e4e5bcc9c3a64c391f083125b143d1d4a7330dc6d149b7f67b52556aa0544b07ddaba194f54ec5e2e1ba013af32d749c11a76c53fa088cdcd2db90c912c02798f17cddd1fa586b9cb7059d4ee03b91c0054da2674ef6beb9a392c173cff863141feaaee50c6a046cc7768c0def06c1707fbf1b35573a74fab8de310811876aa12ea7dee3bad5ff5bae961b36e2b5d4421bc59ea8b22026b35f0fb3a1410c1b337b8ef7c59c9c178b81deb9e8df097da7c75565207bfe0a6e1bed1bba38c1aaf736978725a12534134d182eb624e910ecac2ac2011c9ffd6414e09bce46abb9737029417dd0416ffc6683864af130b602f783cd2eda68edeea76b41a4a4cfedf80c78a10331e63ae977c053897e851f6d4d64640038beb64974a8005c6407d3315142aba6edc01ed1baa06aaee1253d685543bbf7845022c81a690d82c928034e2554e461c6ecec163773de9edcccd3a026af027322aaae8205f3899d8e3cf6edd0de0bda2c6f82ea76e779a3ddc16763745dc859e0961c391b1b6f777d28f474cb753154e08a13e89692e82411dde2592a465cb1d17b790fd485d04bab17cf5a562ae666291a49dd1ddbc3616fc47e8c3782f0ccf3230a929de1c1771cf0345dd9f647782cf743bec2e33151b62922d63f31853f686e43b03d28561d019832542d1148c170e883f7874b8214ae0c64413614fd9ce986c7c9aab737eb29cdf414fbe0037822b85c69d11624a82d7e38e9da97e19ecf0ca0716555d298f5d4881bea58e2a4b79be1f322215e601922a2f45e39f55a8a993f47afbe9f6543216f6eb9574d080190e275d22462c2ced80465663864d02bf8eb4234aa09dda8ce4a6041ddab8e058feb144bf98d63ef98f9c53ac9363c0db49523375514fd4553fda0e541742d95d286d9ba9c8f01b4e65b094eb7f5c3a29c7e27f4b13bac96c16c8ff6458b06830dab8a167e608f4ee01056bcb7354a723c74fa7d34a5318e0b43880355e82ce04d45185972d79b2c5b2867e5c8df07abe45e29c1b40542a30a74168b5f526df207a2dc48972ceab978d48ef868016f09cfcc361896d4328354c8f0213c66199799bb850e54da78b04abc390e260eeb43b58c4ecc8cebdc08ea6adc599fc1a5fb5c0d74acd92aa2535f1a74e464bfd645ade708ac0e97a6138e072fe1afd63c2032235be473fe1cf1183387b21e992afd9550028f4045df0f3d70a42cb10906e84295314cd217e5f9885d9cc4b2dc6aca564dccbf51f512baa87af3fbdee51defc2ef658e8dda5cb96e69bd5dd7f62b237a914b481e328f08eacc8ce5ea7729bf0187d30c038bbe9aeabc1ad20f1a51c7a064a9570eab2b474112d372dd9cea015cdcbcf47cb8aa9a73e5179aea5e1d8772aee40f392f67a1920eca7e3a6d5656aa07b7af465561a56e77207ed449d906427388aa53483ef3892460bd20eabb60dabfd5deb2fb0c9471378241b6a882c91faf3891ae7a27f62eba5517561de9592f453e609d80baea96b8ec09afd4bef48f95243f40e3314666496c49ca565ce5fb000461500fde6bce9785ca0200f1ad77d3010c7c0c09d152251ea0f00f5f2dc3660ec490682e5eddfe05605697641321d0452e8469b05faef24ed9465595a7cc15459668392ce27066f7810bcfad00a8417e724c4c3c28dfe3ef9edf35647b315fb9c7a5ba458a2ca9c56aac0ff95ca36fc40f173294d4109e7e2fa5bc97af62ad11333ccb674c1a479c3a6bd799100adf74e9da544b58b215c1c7f6717806c3abf5f495c8ee53bc8d03eb7eac4ac1748a6b81bb472aed1072f661b3ca444b9adb76d4309a5af2ecb0e38ab7bb55f67ee1240e6dd73e0797d90cd82a4d2990bc80bd9582d3a0a48b1732c96d1882b853aa212868c165eca1c0eda4f545e463a6ce4c00a439b455d3d70d1ea14b5f4a17b8d7a33ac8892e0540d55d26a46af3e24816f2c2a912f0e2133514438be1aec17b3dbb19d3fa3735366de117b2605fe4aeaf6cee3355dc2ed4976c7961723ebb2dd7cadbf507084b13ccc0990624253435076ce7343b3f263a7ee052fb5b098ab3f8609c69823a356a709646cd0b52308a27c055aef55951dc61b5c25a0ecdcf04aac0b25c4589014d1633b31e8c5accdff26527ab33ab744750d7d317dbf30b70a8241fea7e70f5984ca08bb60f9741487c4527db4aad72b91ec3d8708d721b7de6e4ad8ea53f9d4483e0751cc11bfd268d5ad3ebdecd5ed90c8135e1ba89947084a533e218e7296825ea4431547f1caeeea49a137d55f59c9e19c83fd159bd67fd2a27f7dafe9c973ba388a86b085650175351db868b4c3f9c6f42192875384a9fe82a4554821c9d88a26357628ac73bf445990be8af05a699be3025d605c080e135047e1bc20aa30590008b35e30846c58fe288b6235b9cf127e1b9660e7ea8cd8290e07cfe967d9a45b150d49d5809b73ad249abe73001017814ff81076fe9245a4f674b03c74874d34c5b54f6233301644da8e71d3f08265f068bd5631a39236bbe507613ace9169691374080d9b3e27789715ef81fc4886b0bec510f231e155122734f3f41023e74e63b94710a4a0d689d2cf01e46b47c06376e093dae8932b310829d7bbc59aa1105e769e4bf16150b5269ed02428853c3535fbfe9e63bd1875f4147be52426894503074f44c823d2584b3c5a43a8d2543b0bf9c7d33c0b1136d0c8726ab075931630e68920fc1048f48bdd45918402fc2ead18f511eecb4d4334dab8318bd1f561322005f9da6e621c9694d63c6983ba654e5a35d6c9cbbbadbd13ac886f2b6c758a72ab4912842ee094d7276bf717f39860261cd4cc4f80502870cc0598c7988b6968b9346759d3238cc9bd0184d5b07363081939556f8d76dc35d2585fac78508f0ab94efb5d0d101067395da548bceecfe0145af49c3b6adf846ea9a6dc516fe9ffba83655d4b6459890c0371993160193cad906f66fd480fa0d97f3627dd544077406fd311a8c6712b60a61e995ff1ba80e8b5aa736f9277e27679f3622ad0a2774d9b551abcc1cb2e98131dd4bf0cbfea545dccb03cf538e5c24de312cecaa8fd9ee5d752c1459465b1d022223f18da48e93828babbb82ba442301976463771ee335013b0d3c3d8fe9e41aa72c609cf911352e726b67c0b1928285e258dd19d941e199868845d5f107f9709ac2ca68d51d1e8480c872180141e6cbc8a93fc59d946d58471ef83396bb4108b941b510bda6d94ff2a11dc551222e556d6cbaae96c8c3e512db66e88f46760a02c3be827a62b2c27ef7a1c06643587d8c20da66d8d81a578c4c3e8d25114067b5fb55a592135282a95850f122d5295fd3d6cbc6e758af8fbc84dbc298d7ff30af190030b8eae357b3c53c990080b7b231a55055a52be3281cf821c60710c004cab220c2412644cdb5dac2264b726697cdc74bc70c9bc480e683e1944ea48a66f8851e520321fc520810c9cd38c07fea604aa71efc23b7c36e9e51e942776ef462840a13b39fa54ddb35607854fd62947feaad3bc9b5689a2e4a615e96d3f34b94846dce94ddb181ea5bfaec644e298ea773f4d247f226adb1514c2f7a9d27f36a99409560fcc8fabd6e1b49802d86c1cfb3f09965dea02d9bf1e233545e0c3223b96b6e80dae2d88baf8fdb3496b34205369dde5298d9ba291f03279393aadb6038bfd72cb805ef46b329aa301a63700aaf93b2df4d771a559ab8aa8e1d8e678b0e30799b89d1a4246e66301798d79442aad00bd7e5a0ec716cefea08c542217023b788a7c1551ac0364462291255bd885e3590b2c47117085de27248dd9fe293085fa3eed858dfc4c1b7af26884779abe0317c20811d48290480dcf1ef64b014db2cf12c4959905af42ed2c176c91e8888593410511cf2cd86b748caccc22ef6a60a603d94a54fd8763887d8b5cb02f195c811f561af4345e2468fee7145870948da29d576b34e252f9c7d29469453249a0c2e1bbc560475ff4cff20a1dea4f7faa1737ec117e05c01f70cc5bc062eaf04be2fb615e105eac5f2527c25b573c871c6d9c73c96b28c68f460e341fa089745e8cc4b952ecf65a676097f3cddada3c030df26cbeb9baef27f80cf391547c492fb517d9a57b86a09aff1a21331d6683b2862a131fad688f4959476f4d3587d6b4cfad0f897031255600224136e0b8656c8392cce1d90726bbd530d5e62a4aafdaf4b39e33110bd0a9e92c78fe1e4cbfaa771172f34472082da7abc87220e704328ab221ffd726f0e5a9b88d4bef38888ff13fe28435e05eeb0d55bd1dd82bb41e56d76fb2df14f2df86841d6db357f409c1826609be6654bcc3e90a779c93f199a13913a0dae6a6914a0f427b51b2eb858d9d05251001091904b1cb3e38177838dbca686591f407797f8c5036d26cdfe25a533218907a1fea4a7ea4682c7012e50306aa35bb3dfd14853eb3d3c113b4c7fd58e6b9ad07b87607da0a8c15180c77205ea2fca835b014d5f4647b8f5e8bafb98866afaa7127803b571dda94a2d8aaa5f7c59f61a5bc51f1b1ad8a351db4fcdc1d22fce6529c68f4896cd814629a8c84838e59160b736a9205e7b06e91767278cab2ffbeb9367d12d66b1e192dd51f23af91a3986c21eb1bcd80d7f6b38db0bef892a5f52c2bf6ed286989e62db80d640629c1b27272d69e8610017e3888fe9451b52e1318d2f1e9a22bb3b5a2699068e8fcd842f8c1c8caac293d9c6f5149e800c6d911f66b49029cf706211210c0311473a4296c3c16be22af6a9bc15c4be78f8538152d91f4f9965744408ec96df3127d6c7609c4d695abced1e322785e30bafaa2375fe8715f4a3e3564d54b65a1ee0344b8f9d3aaf81941123a418617c828b0b56a7fdd44ce618185e8431be10b5c41cf369616035e13fc40cde5b629fd938ae79a39bcfe9c5c460cc54f100bce5a8f4c03411b5a2ec33f8326bcc9a9a384eca48a85a3119b343763125dcefee6337d944b43f9cbe9e7b8221a67d09726ee6c7a34e79ba100a24fe6eddbf2c870a48000e802e58576ec5fcaeebe0a57c455d55029afb60df45ca472ebddbcfef2f8f71e0579203b99e44995bd8434709072a9610a18203df05f79b4d92c312aaaf21f9600b137ab7af98fe0795039cd32a9d51ba72519c9cc8e6ad45d280cd9d59dbdbe5d4b57934793ff1661e9dd8224bf89913673afbb41fbc1e15fb6bfb105f2c68ef05e14ef12b30b06305a13cd34d5808c6d5140ab955b1b74f9f2e3a01a7534051a42930246b29310e23650692c7fbda1c535c5fa9dcbedc3bac5730940be117b388b7dad968b69edf0dcfaa2d0717cb0a723bcf57439cab647ac7e2961784c27cb8b5d402f67070dd52c82e3df9045090afaf00cc8ba9fe11bade1ff4426df1435baf1d6a4f0e25d8e4eca93b7b7426522402e93fadc49b603daf90567ada6e1f1c04b73c4026c976a0cc7300b0d2cbcf05d2d292b82e6eee8920d007bcf4cb2921dc92a075626c8fecc9c0ab56a247ad7211487214934506fa9594469fc5c314da3f8f8211131a55d90959e20bbad8c7c5fe1f3bdf344f8fad73d891f45e70d005f8a3eaac42c654861da07d7f478f9707a842ee8d3c8204416aae1e7fdc5c64f56f3dbfbcf8c42b07d842a06fafb723f637d00cb2af6337b217ac43995dd7058033bb10c8dcb36ccddf945dcfbf61f2ac73378e97ff85e06ac94170d3052d3722067ffd4ba7ee098e121159a2daf3aa48094df544cd3085791b826571c5f6a05692b7fd0d818e1db56005ebf39b9c00954c996aac6db8f760a37f9c4de93b307c9c9a99eeaf646966837a7a09fa219b7d700ca93de24e0442370ae22d098bf296c68cdada657a6244bb2625a47d43e0e3662040356ed1c614fc3f9af805adb5de77775a1d0a1fb2be2093a82b3e4cf1323d59a76505a2bcc8dd69c556b31eb7757813a0409b96c2433f5a665c347d3ac24d0d4a8b0ef88949ad70c0301fa3e70089c0d003cc1bcfa6c7bc482ba3df41a92d568639b5a987da5c00246fb09c761eedb48d8ccfc18679327528f1656914d9593fba3f0c11d418b2fc3d9ddacc8f6ae3dbe2b89065be41779b51b64e511d5d38674ea8a3c3311f659126ecfbf692cacfc0720978b2d786d23a5983c07632487dcbc752f4cdee3f4d8158d73fa6c3547dbf82e5cbca29f0a16b08240dbe2e43c2ae4b4eb21e1302072481ae242a92302ec97150e301c40bce58e4c0022339f2d48033d5e3990e232ac964310c4c75e10884cfd07e2ac55a9e0cb3aa314a04b18539b024c249a5e62ea6d88687808195443c5f129c7a7eac6d906544ea9ca7b2aa5cf16aa049eedacc945ca9213bee62f63b4fc31b276aa8706dc610e5e1d3f4b10295cf9d6705e0ea6492d78283df5927ab89b401fa399f8296b29f7778c25cb28752a3c95ecd38adeac31a477f94de33cea000d0735a29322469ad51b1670aa2b1ad22e9e93aee02e4a1d0bb8f552f38576efd148141898897f5a243208a479e43916bc3d5121db49bc4fe285c50361c496a2ffca93ccc7c0e0db6fad8aff8b1509b382aaf54ff15ad8d4a4710438aed2bd46edc2f4ce7e6c2e19a747169caff800c2763f0d50a6f41de233a1af6016ae2fb260e311c5639e4f3363ed97650e500b9108604d40a3a4a51aa4dc76930905827e5c69b167f977d220fe0b45ee81bcdd800c47e2f6bfd85a7cf77319607d873dd7173190c37d490896c5b8fc390e4cb5456ca5b63a22455cefaf200349f164ee3e51054ad968c16c0a7a8a5ed6c369212e66bd4043a5267c6a05308d04002f102b1b1df973601e97072d72e81b9fd63fcfb842615084786f97dbb6dd877e8cf5fd93e121667f7c2ffe8ceccbe6acc832be237a831eb92eb4a3ffed9aacccf863f4705d73d5e2e1f260d57d733068c9fb8baedd4ffc0ed31e3ad8913fba9ac3f1c36fc3f58c29c3dd2b4c65173be98ea2f5482f20e1c124d4702a393cb63a5008513cdd6a4ef85b40298d2e632a4a02c20e572c2ebbc10ac9b8e0ccdf3b9d4d96007222f56296e441a6a5935b721b90f0e2d18aad29794cc714323deb0e8b4de43dc4785891afd35cab8f7870504d9ab8dfff63ff646b9685cbccac154e42b7cbe18b048bc201d97ed3731f05e643dd17cddeb1f8d5c774f4306e6afd1e8a816866e332cf0f7f526fce919237fc82fbf9ad719793c20ace84e51fcf6b7d3daf1c3528d8368b3000a2900a442261ac41376174ac217245e5e0d62a0868b43a324254e515d07ad47bd2d762796a504e99001672ad48b242b148e5c021d21fa89fb8bd6172d463ecd1cd0f3b06d9fca6e7bb47e4cb46524c90978faea800094b2a572ed62cea6f615987d5c162fb854eb4e166c048943aa87ee10fc30fb4101b4f73b9b29b5714c6a21188bc7d8fbc1e34794e17434209ba7afc543a03763d2f3af919e4fe4a9c9923ec8a4bc5aa526503ee3ca1d354a3ee773f0f6008c68526bda864e0a16569059c5ef5d1b08a4bcd92fecd606865272bbeb8d9460d63341a0b1fa1d81bc42693b6f7dcc8863cbd05c69e721ca84619ddb2745dcf5ac9f71252ce2098c9e2d904c58cd116e18206bf1b69d90f3efaae75be15918aeb001556512c3288cd48f3e5c820416ac9f56905aa7529223e44d04be7764a95ac7b185168a4ba1a1071a617047f702577ab47c0e052b94f51bea4b44025a38658d86729fd81d5669088a7913ebca84515105c4a9016079f3da9a3cc4962a17636289340caf4c238bd09723c987488d10b052c6282772ce7154b56b881bca32bd7058e621fbef0e5e9a51ed69f34dfc6ca0d9092e28e335fe217c818159b4cd93bd5b1c0102b5af5d63659bf3e01fd48d7bc0c1dd32da87b05f08135e33904d82ddf920484fc9196710f0b4f4ab056966abe19f451d3ecccfd81305e9bf242e443be80b0fc06a061dba6c0f197b0abbaac0002227edd93bb391737c5bd02c96c8e9db04f2289fd3d3e2855a188e1e0592e23be13cee04bc93e08ed681e878ab1953b41098b1ca55e932b809ba4ce35ea081b89a660a6e2fc3a2cc12d18831df8501426c13d4903b35c02ad53e20e78875c4b9879afd134e721844ac79f51eba5709da4dddd1823ce8d6031e4ff5bbeefd4c885f7ecf872515204e579482c7d6dfa052dceb3737c05309192f2e6ab504d1a3527f978c246ad3fcecfdabbae4ee86491ca48d12e27f03281bc91a2771c2034a9f847a096e95465ce785f4f9a3f2af29d7c55d6d8f903a70f7982c5dd83b373e885ab873a5857af22ddd74010bbaff534342a4274cbd235de943e1b9e116ea0624e05c3a0c5ae92f21dcad272121c4fa88bb48a7ae1316c28c7eeac1032e41e071e629756345022ba5222ab7d0720ba68cde0210f53c3865f211eb96e4c3fa59e12b7148bc5faf224af980e841eb32b71427ffb773b85082d4ceb87248003bc4b36e856205dcd83424c0648c42fad204e76b8f1d2cc6b173dc41bf0eb50f5e6e5726f5ddb27d449d648b9c6ceac41c57e4f679647465d9063a69e32b1019843c7f91de90284abdb6a24dd87b362f039f30b90781472b2809fd5763ba3738b4b09400d3bf47bf11cc0f1a7e75fbaae308b7009e4cdd556957493c4f01a9aed71eb0cb9da2ebe082b70ab9c1452ce2c613d4aab688c4699c6c1be9e2cd9c98217d2445d1061a0f1ffac46efd86b723cf39b1626f758de9c629ea7a89ecdc1651749f07b065869e623bf008867583af4dc939af9fb02c147fc708a31024c482aca37d685e2e885898531e5b02d4844d31d3c1fb979836b1e7cd95f8219bf613c23f68084e639b7445327e4770df2c233586002264c159ab1e4a2634708c83681f211e74643caa38c49cd5ac14ebfcc0e036ce4570e7f873d8b67547b426625f47f02d9b3e45a3f33d79c8d1099753d563ce8c721cc371b6b8361901d78d41cda1239f95fc64caa12ebfe63c0e6251052485c3fe1f8630d7362b9e143bd2909e7a93c79317d7ea4d3691849973c2122824f9fec2c82a47ae111e117879c13e9bf488d4988abffd75c7b14759230c35fee5c2693991b5cb50054a563ec6b0b8a5e7094fe9406e6bd1f219650cd9e6943d8816a026de73fd9dadf752778516b5b06abd3b9779f5820ad52d02f91215f3a9a5bb9943c48e8158d81b666d519e26c70cb9281f7f55e9fe7e3582e9070347353315592fb79ba4f25945f0615273494a4b4d04a55de9fdadb6aef49995d368e2d3ae426001e5b40dc39372f4fe50e0f93abeab1f126468c5bb36eff33d2a7033ee9ddaf74f3d75e63377827d6a0f80b9ff7cd3e2b589036ecb53806014d3c834d8591c18e1bb07d66fd0a67fdedba239b3994cbf57e9cf7e2b8a9fd8174b8228dbd63249bde42bda5523cf1bc859c3041d2ae867cea4c59b1867b41d46ada6adf02117a088c349c4249b50b58687686b67ca50c371eda7c5ec960205de6a0dd15027af3fd205ef2049760501f7aff1906727b32ea415aaa2f3c20ba336f3604ee0ad0be056b0c6b460614e6139a5229e052fa94be07764196e603198dba912d045747eaaf95dd8a6a2036acc711413ab94236b72dce8802ee23d8da9fc2ff7c954d0823c43dafaf58d83fbbb539dbf1e2e6e345e50e1c7b9add070d91bef5fb9b2aabc348b3a750273fb9f4c6d1a40e261f834a873e0e143760c87a8bd130df687077934629ce4eeb2fdeea192fcb030506b0b0865c8a2b5b51c3cc82b404b25bd42635413885ae01b2e57378e9133791a95cead452af5277d0c789ff99afac1008fbd4dde6b027bb84d4833be192714e5681864379456c7b5dac15b6d1a288bd5b33daa690089a17af479a808c6e05a877563c87e4bcdd2da29ec01a2a8944b22e522894a4912aba90c7596d21b2371d5b3a183b29cb19cf4241e7375d39000b28dfa99e1a0b99a8bc1e0f82a3326d36086e6b6a55bfe893eb32a8e6ebf8470807d5e795aab937c0265d74ef8519b96296ceee4ff349ad949533d53571e04251628d412a25e936f47b994853e7e20d394172f6aa06e7643b6250c79e51a6b5fd7afe38273ce4f386684ba2090ec7e9096e992d3d5495648b9fef5885a70d176e53b53ec2bbb0c9d2d5cc80f4526d9a832e53b62ca2707ae51bf2f9c782b6dff5ad487e4605d16d6c0cc29bd350d4cf295a5ee87dac44d240407bdf06484a46bf72a76f145004bee7cb1834f5db4582d74b116bf8315940094bd0caf9a96ad88501a1248b40042ed43b8a43c0b0aba7a8be0e02c23807eba076f9c55fed53013ab5de46c49ca7c0a147a35533261f39bbf9ba0eef507229109c9dce42de102a22da166329efe62c64eb099ac77f8b2606a043621dbfa52c4e2617728f8fe68068ead6e5cc575296abe0b269fba95417c7837824a3400651aefc1118288345123024247ddb98e6592c1fd67008ca2b8accc6c2e7aa95c59e48ea0aa888814188b62d82fdfcb5390b94c2d2799af0e8172a73dcefba9323ff3b23542597ee2276570c77386c9f771cad7f30a29a3d960e7f873e381fe1163a8eabf053e4cdcfeb5a98ec9962152c009c1670290927dd931f453eccb487a7ed0ea7612024553943135134bf86c112a0e6a74e426954e0b315c88585692d46cb38d2ba385e229c0b27fb7e29520f2c544f48086820f15b57c5d751e72bcd07a40dcabf76eb350b7812a5672a3804d68831ecc16004187c6f195d5cc25983c70aa2c397641bf05437eca7521c8e7e17039360356dc313f92c11b72bda1b3dc4d6ea69120651e07a3fd13752b70e0adf8f1734699974c59a88942569ad4ed91b1c376ee79f3d9b597c23093373decf5873f039abfd7dd9c07f8dbfafb9d037bc6a6468a2338b9e962f5e2a5805120ef00e4c7037a06a34d396f2547da93250804098ae907c64c000b8decb14885b8b814c62f5d4cefe72f1c8bbe4e25ea278dc97e16a627d0962cf820621fd0cdeaca4fc3e4f95035a245c7007706bf5946858415ce41686fc9f00f10185cc4ae0ed539a6905fb4f233060d2b06acb3279ea1a4d61b7863ba5b4c4a9cea67dc96988bded544879e37093134c9eaa9d4296fcfa5de311e5b1814cd48f531b8db569db94f564b4517621f24e7cdcee4511898aebebd15ae23b73c6ae80083e8404655a00bb8130c4ed7d11d753d52a2399d28097c27cf431385ae543e3230d44b25f963a50717cbac37cef0f06f230396e03382347a319d2e42215e51aec0b2b64efa321c3d0f48c0dd5ee985380a767ce9096ef5b7e856d0db9f87df1707d788cea67414a680e44b6b0025afba757793a5b0f544abbb0805e887afac4849f0482075741c6358a0dcbdc2abeeb359cd0256d6343c4cec3519a1840e746feeeb408970daccb61e6bc9d3099ed14b0663c353253fe99e6036a080123ff5533001f841b132408b284c1a402b70266e94c95bf550e35cad3bebf2f28a1823132b589bc3c4f7ce8194a7a8cb1527991c373ad0a5afebf943f3fc27b95ca02749d38f1f14c351bf67657649a839a13e1fc360961e30fb398a9038bb3c9d279b1c7519f5be0cc32de32bc78f0a6c52fecf5d952fbbb9696510fefd8b2defca5d0640ce66ad52f657d4590e30b3a5fb86e290b3d7f9210262aa94ae1144535cd0cf5a8d22de73e597c93284e4228ec38d450d3772d56169fc9641419047feffb90d809c9b07f2ed8d6818cc502d6cd3d2912d52e6d4fd6ecf781273672c13b91e9d5ad9531421785a2315aa738dff176d5da0811b6e586032b32351d58c9914044de9b09b14bd6014d787f5ae2cb06325c84320e94d9c1e3ddf219e964d8c0b3113a8f3b57001529f882e9a5c2d8b91c72de01b9577524d0516d35a08bb7da93e0d98f8fbd69d502fd20cb302f8070a131653f5d889338bb16858fe4e2100b9814f2eb7bdebb19e601d82969811e8202a941a5e8b957e265d335762ea873a8db2a4bde2ec3742f3f227373aa995e5a1ad6c96bba56effc0d0cf94184af95164a9b88bc76a4ca8d6089fca2ac1a53ff0b0a8728d65bd8e03ff9e867f000f537ef59f2fe19715848d37d6b7e857de876cc0df0f79f7cc225871870d9d8e7077e785b8d41c8f09f3f328ac128c0c214c7f008f847a6dec442283f6b74276cc5d12729897e5f6d6c96528c5db27564e479f8e4f8ecd24f43d033bf6658477af418abc8182caa0e0d54ae4403566f1c9a05bfbc4a59cd99a34ce4aca49df03998c80e88bd2bd9590d1cffd1c188fd80bd9e96012f57f18360aab0dda33be37b00924224b8e0a848849596354fa35a62d3cb695a2ad8032098aa7c569536e1a164354e593ceeafbc4d0f08bef55c89e943a88fa15a7ee06da4d94c420fed2aacb7656ead8aa1439d969cf06253c7f32b9119b031e749f3c335321f7d92444b77e3bb8f994f017bd4b11c43b8f46ee810a810f9e9256688857d3f9ef10b645631b59c2500392878f57ef4efec294d7656d41bfd27d0b2437fcafe7bd0dc8e00ddfa0124013c67e23f183b357d367de7655b8731582544e795e4a895c9e22843cd642769437908036eea3102d563af27fb935eb5897d3d5b0c21b25805adc3d8ae3ef79b9e82d28f59bf2388980da9cf98aa0c5ec39b11abf4850156314fe5c393211fd8d384aa003026de57816e97973bcfcea296cf9ba19475bbb28c58a87a1900bb4f5d8908433fc0c9c8d5829047b305ece1752b56d33b2856364fbf4df38e282ef8c3352226e8ef73416abf90d9811553583a9aa2cba0fbbaac10c208a23864467028f7a44c80d28f74531535a4e90815586824b9c2a1034212f6d35ee002283103242ba55981ba09e5e11208918879c8852de87e14c83b8daf9d8e45f23465436be14071ac52324229bf0c0ed78d1f0d33cb3926481d3aedeb038288cb24bda7e89aea775492c89865e34c6bb418644ab22fe71f99a5f603178c6e8a011fe063724cf0c394f8d6c67af883f590b9f694a58de9664b640c892fa144a3fc5f0b619dea4f118798a5e48a3b9932fad873bcc94ddd1e27f61cc3e8e2b7b388b7da16329afac53ceb3549006316c19f62c37df87606b987c20894860275d9d238975003038e3428c7bc6c6b28f511a443875b635eec6b1a555d855cc5891f5775d4b5f0b1886223c10441c61ffccccaa1bd4daa59fb831b2a665ce8e46a1d2652cfe2ef309ec2df0dd3025013992f026bed1f4cd5c7728e4b2a1f317132267dc5555519f43d59515dcd29d8c218be1f4da742c066d849303495d31d24ab4deac28b4fc7f7cfdadd9ecd3b94da9635ae2668736879fe124c81b45df4e234538193d73ef3a981d4a20a01c6ebd6bc9bcc9abf4561d4f88b7e70457a3545bf1726a90c317c16482de2c38624f5571a272513a78c57e838c4a572a4a8379ae66f0ba0b64d50782bbcc8feff41fe8e3030dd3450d239cd1da7dc01348fa05141c60d7ada6a0665e993da2c13178ef5c6ae9ee49398abafc3000d381084ba4c155bc884cac355015cee4d712297ce558a0c82b67b7fceb2678f56b770448c8dab580c589f210573f71975d945fe7d9df251ac760947d0958057449288ee11af2d980ffe85415af0eda47d7691e5bca0e53a3d09aa023472cfec38ab617b0b7bbe953472fee345ad8a14fa9874bf4f85ba24fc981683476c4847c0832f044611d2faaf893207d7572ee2aa76ad10b18b82cea5996ec2a9e80a57669637d7c2e3ac12b384771de5c6d2d106dc83df46e585ff813b9809e37bb5d8bc2c8e9059872556117dcebf60de2cc40c50a8dd472c8d44e2da77e9389bbdbc90d06e16dc9358c6e4d36068eadfca9f3f0d5520e4310d52519cc496bcdbf362ac4441ca9faed348950541de1c2ea00504b1ec4b8d691e5e1b35bc7728334f0eb389afb5cf579b6ecedd648e0a7d9c90409cddd5a792d197cd0dfd369cec4f1b3ee0a6b125a40245fb204d928d871d36244a70ba409a49dae58003e4e308130875b6cc309207c11f4058084ebc5007789344e96b8dcb28c8a982ff0a7c2999b4ad8e50b402e6f1c270eb99bf1869bb50317416eb5f021be684c0d0529dd27c6328aa3784b729b958821fbad1553ef05cac4172a9b230dbbf98018dfdc2ddba9a898fb3bcd0b01ed41d7e94398bd980f985fcdebacb8de3cde92120b54e8bc61c3989ada0123439dc38576530f925ab7189f82104403886b4d412c1a33b721e805c04d4e52f220b1bbc77344509c15d120008a58b122d55376e6c123ec02b27474b991cc8402c51913a53ff275b9bb64aba18c11559801c3622f9329fecf2b699a039dc876d52d5b13c08462f7076c077f07f2190711c03b80e3bb1863b90084d72ff0e303e4aae0d7f701b5c091cfcd938f15e3ba4893269efb4640d0f0812b17c537e5c6e245e733e53a352f851b9050d2ba5aef80fa42705ea90f0904100ff86ffd847e47588d9dbe2c37bd0b570d5dca3ff7f00ecdea6f050268efe4940fcf1157052957e3d7bdf40c8026b671c889751e5d9643ae311e2f9b6c1259f767ec74700bf149cd8c956c154fa579b5f9f985bd321c6cd591a4000291381029c04fd3bfc0e5cecf19c8ada99b5886a64cf625e4bf9a4055f1a6c899346bf5176ea0511266c890d7ae417703504c87c476434e84e2560950a7a0fa92165c51921a1bbfe4bd54c6bb5bca04d450a6a87de20e95f27ef21295343dde27e922921560a3391874ed0cbf902019559612f5713f93cc73eaec56de103b38ae4b9d4383443ee6e95c2f5bf781e9bec6207f24f7c8a8129593a164abb2fd7798f581e72d2bb2240bd0a8ad17b10ab35591db81a468dc709bf96715808e83ea34e308fff11d47e7c0025f358ab645ca7db26ea682551651428f62dbc59e4b19ca68df04611e7823a5acfc5e17b12ab846a58ba3dcce15e4805914097ce01f207da3acddd0b1f9c0b0416cb86773d92d737160f274d22907b4ac65ca5faa7cd1d0dda8d08d81899006f22d98d04bf21d08dad6b61ff8a04294a41eaf3c62fca0790eda47abe3f46fc7adbd7d1b22b4180b7716f4554e63ac06f23ab7d060cfd355c027c901fc23a07db2119dd054a184b7ed17e1c014d86bd4f9f85c878252e00a930a2b1e873c6b80c71aa288d82c9e8248fe593d9164bb33c3a7f8f3d4ee00363d30e99d25401f75622e59443259d5a28f2a708900283d4b24d729a0a031e5b6a10e8eed1a56f409a073bfa2c38cbd275002fb9164411b794e6108e46bac4b653a3043933c274e5c25b6951f2f9d08d365aac9b941dc4f0fbd698dddd8d101ad399dffac0f778263e53d3376ee128ec1157fa54b845f231453e74481c5f86951a2fb84449ed88dbb2a6c4ab3e21ac62d4a92ceab791c8f9805e9b8044a004c0ec7fad26cdc2eaec2c61cd64f712f64bd46084835f033c8c62a81d62f0585da3c428329b728d60bed6492ae59b81a188cb247b0fe10a7af48698258d61c831b9b58a430340ec4529958a8bbcfecea9833a6234e8078346d07a703b65588f8b52d83bdb9697d72fe8d12602ba7064283f798445060978d033649b15609afc8479faa3e13a91c4b81575c6aa5c0396ac0761f6e6ec540ede58787ed7c05b1b8a99fbee727d64509d84d30054a57b1c63f2bd93dda787e756d4d8d4da2a4793ba1490b1caac0b204057488f301a26e7f3c086102a0cd108612948d72dd7c40554849581382d06092215c5606fc625f583ef8fa9d09b17ebf4cb2a971b21c0a65e117027f737f706ee69104f5175bc7e282f939d38014a85ea1df3da747c16f34a493ad13cd62d0c635263d333632281885d43062fa2b62f278b8f2b0c09845401dae8a7ad0845378400ab12e2e3818c63054724b22f4eea586861213988f6bcf9639bfce03d761234a71320afc96c839fa600001e3e71138703d1500cf5bec707d0a671caa1abae64aebf1ef6115137aefd38b5c8a444796fe3ce43e723eef9993dbc79f63bee9808ca87d784531ceaff14032759d0fc9b93bab94c3c1c95eadbee9280a0bd91014ccb94ea78e0004f0f29464ccc2447747b14e046923c82316c493948dc508869571a268888641912c3ce2cc09ed2129c0b4fd7c58c652f05242f9e0b7edf68db530846539d0b96faf05613105db8c4130843735e1c3233a14e5ee3ee01e81973c6013f40104f9a32f6c3cf5091b95793ec7698dca4aa3653721150156f4a99c753ef2c90573b08bf0bc7199125eedaf7316da91db8541cdaa8b08496921b9991f514d89c2d4566a3c13ea611e5c126a15b10bc42e704192e65b0891cfd8b53fafe67fb9703349b4cf8bd7b85e33484c62da99d04d833420348fc335f0e761dc57a4626a0b23a677d44109c3e89c0bf99b2712d373e5b9526bcb05617b9d3045cbfff12c50e2f1b45cb4efbd930d0a0452848ffa8d628048a4de57b4558a04f82446bc966f63014bebc6e1f9bd0e5e1f8bab9599c2de55532c6d163821e045c7befa5f7e4cbf6e52d5339e2c3871c264fddaa7b946235134cc8264f514e52ca249cc6161b71afb3a117185971081ee056d03175da8560265ec09aec1869d8cc536dc666bf76cd75115c4b13804781260c4064718d31abba185a4ddeea213a9dc0e0924501ec62bb704dda8264782b0960c138a2ee983a208cab46d9859fee9238c1731394f706bd7b3f3d4591f8cc2849e9cd01b72f96d75fbd00e386807c92406f38f955820ce9b98bf38cc7b26dcf5ac17b7bebdfdb00553e48b1455bec0799c7a6c1f4532884180f81820f9df087ee494ce800455f1f8c6c6e41884b2b426385e35b1515fd320b19a47d599b2555b2d9d3e986296cbb81e5354bd05a7d27cf5317e3d3b9d775ea1b720a3665c6b0c0197ecc2f209403a9a127b4acf7c5eec3809e6733cb399205cefaebfcf43b5628a5ec50036f6c90d9c2ec54500c331f5813dfcbf85cb5b5a209c01940f055e7bd34c5186d632cd14b783d574e539948bf7d4f25484907c548402431a7b94c256bcefd424c5030d81f8805328d7e1bc00ffe47aa046a15e435cc14bc3220577946abb7c999e0b85f98fe47580af57a36800724f4496f1bd8c9ce9bf60cf059696510f79c62d1dad241f20b438dabb82d48bb412cfd92001da839b18c43d8f56d36da216d69223ca83484f6d203f484fed11508b805a8b6c15c740692932f4ad926d9a5f3f00c1a3f7f895ba31a03414326a98b058a897a80b781380b0c21556907a2eac0447f883693b08c29135eb9688ae5c28dc542d5da3727feb0a071d9938de0cc3020f5f6ef2cdf6de735a18bb6053b224c5d49295d9aef84c5a6aacb2bbe64ccab54e10b383000f140bbfa5ece5c9bc93301513611543a726a7b3238b13249a45bed8e2c0c87c23a3fa69db82208366ca16c5ba3c1696842db64a896e677eb213c1e26dcc82a3287e65c2c1f41aa5b3a53fa77952a9d60bdfbfa1070b6466643d18106d5eb71932b74aa1a39bacc20bf253e96b2de806b887a87521c30eee6f41f024463dfa70f67ed5853c9da714c949c3c5410b95e103f05cc01250dcc7ee3172b5bca3f004d20a3e870972326e220cb3427e2d13d8ae46090b21e81745755d20a6c2169677b47e86c40e042c22ed6d9d23d4135f1ac2f799036a25043aa48db28c0c3b28669dbcef4807cfa7402900217e17fb23f1f1060f578eff16f0ff204070bb05afda061d34913c374418e9aed21d5c85410d8f813955f827f9d953ef4287ca0a8b60b439066fa4ecec298f26191d626c672ec30caf5ae0a58da8582e104d8e8aa3a2678ba2165c06101d38ac95fdfff40cc2ae473db7a93c636e66527149e31d49900ce10ff3a0cafeeccfbcead8b98dc3d2cf5f381b55153fd30b0757cac630150d5da1ed3560cf679496308608d27988abd7473201449729bc711f6c3ca16c4f41a8121513dfa4384b11ca3a112890b024878a60d030993381e8c96f0c573af7aa56ee1e494355d8827ed02726869c1f424071840148066c1e689cc219a7a4a69d9c168512b58a17a40175b410883bb2fa6e538c4fed924c8d44c7601f30369f345c42c62e9203ba92b5f781299424cd86def20db9107e4e3245b387fabadc055a81c635a24bda2e81f6e48db62426928b1e0e1a7dbaee57d913044ccd7e4226052ce79ea86f55e10380627d16cb652111d146f0350c97f77a81ba406c40ed4bfbad4d428d6c13541e0fec839873f7961203da4847abcd019f5ed030cda66974653b3f42e687e9d0f919481005940b8895014fb3a61d05f5ca6c5a91d356c1f9edc1e38b3d366f02317eb59b9d2149be1e2e99f17ee6a2617835c2685a911bf6994487f97659da21b3e34bc6595744b4491bc5fa86e8ca51765dde37a9a5694fc68612922c710598c743e6cc94b556cb30e10064fa0e7ee5587a85f7472ca097bec0eade45d8fea1edc49404ad681addac0f7f535e3badc51ed204742ffd2ccc8c775fdbe829fc83cf45e62579f78457ca0fa177fdee9047c3d0aa4e5610c288d67b4bd38ac7911ff0d5e6c56e82e3b32504eae69e202c1cd4951750fb5c05361c85e4b1254b639de4110fb5aac74ea6720820d15688dc9999cdc8418775a2eafe92706855a2ce9b08109d91cf281c79096021dd4af511a59302225c381395577e0d739a4baf58934bc8cbf2c13ee49b10ae543eeced949cce39f05a31ec0fb818b666eeb9181b72411636e4f5b41cd8bf5341c5542321166f073e9e137965e58758b7d19a16f68ffda1e103acb978c937194846c8972fedd072d4749d2c1d643fd5f8c50ea06fb80b7c187b059cd44329d9e3dcda32e172fd063a63b6fe79c90072606bbee5e46da514165e5c47c731b86462a2ed74068544d8c74dc88d40a01415229be4c5ee6740f16ca1a182b4817e8fc6b270027f4a2ba0eb599fd4f67e6819a8076a3a7d92ae8693e6d0f21186e338b841f588b1826e0243da57edd37ca7c4fb4b0657398a5602ae903bd05051ff19c6c4f00db87299c314ff73beb4d461f7afce6a68f7bea69da5a71ba89c53d0605c6bb577382e58cc07dac29fa6ba65a8b4ee2d6492e824012758fca096f76b5825773dda87252f213ec03fa75eedb4821f6d9cb73ea55a8f83498be8dae788d3eefcee12da29c01d49a265e715bfec38e8841b1e039ba12f478e0c5ab56de697373acd465656cb9e81c9bd1808b23032b7c8f096b64c2a146a167af90ed0cf078bc26e951c8ad23fc99f990718353dfb310100d2d1af13ad5ecea741a7b6952892fbaca243b3387e1ab5bbadec0c9d110416e6f9e7378b38ac1e116cd260d101d9a49dd447cc63e782239cdb4cb82766d7b72407d5c686e7b84d719cdd001fd382c9a243f2ff161a3bb728ae8320fd7926b205dab6439dd34c569c691994c5759812662e9ef6ddbba2092dfd2f1deaedec44d60b8c386f95fc2f5881db20bd4637d92b62df892ddaaf379fd93f2dd31c0bdd5bb9031a1f6ffd842aab593ae795949258938d1e422d07ec82c63f93de4b6316fa7f2efbbcd8394342a428273317ad75828cd1aa4304413e832d72670e777193a1d826c730c71f1cebe0d0f653853dc6fdbc2da98685efe91aa73727b2bf6aa129c1dbbc69a5707d7e6c2b4149a7dae97308b9d505ead5898c07add72b1469a23bde04a825582478e5899a2501e9ed013502707abec6c5f05208c7156c86b14e9e37b1882026950a148323a9df0505e4bd0120ce826f13c6215df36841e918233b969632292768a005996d9e660a73becc81e6c73afc80eb63b50e0bd70ffbf0f53bf9e2d6cc3c8b71dc3b67599b04e196fa757b34c7790ae9ed677d8278be021e2855a584a31876801b5a5cf99da1595a08ac26e86df56362e8d7bfc02d455da38946df12a9ca72ddf282d2a25b2da711de3dfe079cf0d4bd37ba5a2b389509e616c570dec2beb644776daf0aba92c01a6868d4b4f207f35cd4a97243eef887ae6c49680cd0db5b604ba3ee17eef90a795cc9ef577abcd942b6d2839519fbc20064a78dcbca173b627db5690b8d1cbecc6d8414593bfac19d3db9f1776c6f787b28c7c3a778c48841c5a39830884f78b1f1573a5505f40576d4e3841b12ab89339d2e67070f6697ae99f82e56a0c282118ca9a94d890c9b5f9cce39d2b8033b1c91a003cd5074faa3a393d9a141e4cdac468f073e797e176b347888432b581bd879fadd8db771b00486132a3afcbcc06074cac8b250da27b144877823039322d9d8e776b45b51b2f8de85b061f31030d6b118cc1f0046db828da3c6a3017a0b29d6688a4f312f926ee709d0167d88bb93600b392608d5693f81b2412290a02021c684cd1354b6a3e4c8eefc37416e0270445a631ccfaa18dff9f5a5c2d9466d863ce39e7552ee7976fe69d08c09ada2acd6a1e668369d172d65e53e195e357fe9f8deeac336e574b9bb88429421ca570bac4e689485478c21474f89d77cf61d7cc24b901ecaf162e035fc6966da588ba95a485f4982134885ead736fbad15ed20d5e88f2e3e665c2adf26a63f52ae2918ab70c389934581e6bcd1e2c09f59467b3a6403a6731bb9d1363c96cb90165651bd8e909d16b704be4b9b3ff135de427a4b25e14f45a4969d9667977eda88148c0821f99f966c73b8526c15a6ac9d54916621a4b03dc2d347285b6cf172d3b524a43426a13168ee0762305b135627460821c2548f184c116b7012f04c4755e305632f9198f117b7327b2c850910e001ed31db355814ade65519d58c5d771fabdefe98b77615200c3fbd86b07cf60881e4ccc2f7af7593ea0b14dace120879b4e69df735f43e060e299b8c3fc7c8b97261d0e396bb31628d9b80181947d64188b97b786a792223dd63dcfac4677e6e54075e2f5da29f5bacd1bd40eaead610e45d2c2e0d880f27e8300eb4d8bffc7822dd48bcad4495dc462bf1bcfb378c46d4ff89cc0383d4a353ea1679edbee02e63befc2391bad0fa0816edfcbc31ddb00242af459e0e76e1e2f1c2cf262300aa51cdad5f71a25c64c4aff8bfc68de71499ff33b7651a60c2bdce644d63c85cc34e7c31617573a9e1eefc3138b13f7958be5f42327d90fd3c1ed8c75529737901d11330227336520cb8fe05089e91f2f9efa57e4590fab6977b65ded589abe9952790ccb5fbbc725531b1761857d708e077eb25a60a8bbd60db52a0e1cd28d28d5b44f39861acac90b6a8dbb5171b9a3e836c150d8b13f9bfc6d6dca82731fb2fb4a04ce7b3e0f36bfd6c8b6c5b34b19add192a2e9a86746b74c3a47687c5ea4d9faa4f9ba922dd0937c3076f7f78120e782421b28fb7a8571a35ecac909bf07ad9a644ef9063c8b418885e5e5e9d2f8c8544f75b77d6f2f0b3f9749933d37e1e0fd8e3b2c864d0a7aaf71d35ede53a56e2bfff44291d462dea056578ca5b4655e8a2320d91e2d5211010ed3a0422aa3c9aae927d8a0591b4bff8bdedd18df1efc1b3323dbe7ca2a9159ad8303af08f1b2253920f1eb5e1919dc31c0e41dcafb66952ca334968386f54fa8fa14c11be013a2bbb505c1b181916cb401ff69b421d9065ed12abfdd46b58494a65e8a845050948135c306e40b8aba0c992ed1999462679212dfd20d020858ff84e80220126e50591395dc05e5ccc9039440a4f6272cd015d4fb1300a400dc2c6a90c11954532752925ced7c38b6c55013dbea1af437b4886e1e26411f6f559d7c6462d2fc2da1f8d582e1e47930176e14e2edebcb32cdc074618580cb27bf01b80b894aa099134aecfd03cf8960954311e863623011f1b2bd7582fe804b89783227edc4a4d58a073997974a4d50e6de03e60290f64f9d5ec518ab7aa1d4c29dd07f59b66ca4e1095e985e90101a33578d75ce88ad28bbf9aa6d5f79d706e13ae85afbae35257bf97610e7a43c8447883ffb33c6855a14e46a0261c77799f92b78c01cdc7af327a5c67247b06d43665d3133a33c9b27531ed1fb6a9d633a7dc98eaa4dc5f2a7c6b2d457584bfcd0b37d86fe6b59b07649c55b2004808bd0bf10b60f2b5ee709da3b8d2cac55d71f431cc790b613cd6afffcb824455d8de119973d578aec22f4f4014e83c4270da12ed5482023b2079083b2676a4ffb8c320e14cd19ce402f40903174001305fabca7d54b7348ed9cc96ea672888e8280b77da75499f4692853d44fb69e142e24f327a6ecfb6b8d2b142647eb944ed838dafd0b9e1ac4d65d56b862077f58546d71f89793420480cec3a7bada2c0f01a57ff1ee520c0270b22125cd0656b94ec4b955086a84062df0cdcab118075063f9150dc0aef10237911ad6e126f1414a251d363eccdd565e57f163e0b225ff2df24e6c199637e55df501cf6005a023b27a54ec80d67ac56895a410c4ab6dd6305957cec81f6a5b1721bcdb1635cedd45c7882a0a304894cffd2ac0d5b9f3c8bd7bad0bc806badeea40030db00cce02d1edd740b2e169ba0f79ed8bf2717d91ca8f61bcc6d0400b790b2b10014d6a31a7b1801d1081a45b3c16f9d53fda7af211771341f2b14dcc2d1d369c29f424ab94aad21464e96654386d9fc068635a484c4aa41912b0a49709722a5b09b045f13f771e95ea38a84f9a9a6c71d206c90378b9246e6d31a68c434508a11e0804af1dd27244c9a8b9bdff205882a250d8a813e46c24bebbc6aa466422c7edc14adf39f92b2bfab13955c3faaf21b754239ffafa27d2517537923aa16c624b4a5bbf73b1bb2c23097a13376f20489d431e22a6482d6ce9fcaad263cab24ff54e8d8d81cd44c1da37529019693afc9c307128df9f05d8763330b8f7a0f236b52d168ac74ddafbe153fdfdd7f73ba757eb1c0a22b3facdcab3371df1c6df4eccf749cbac9ffbb38214560644bf5dec33421b61487c3e8b6fac0fce86ba90aa88102eb66e362a5833a1c3c2bd3d8746a85181972c90fa1ad73ba68258c2c61ec9898aae4aaadc8e378223b48f81f7360dbd3c3c97909bbaf80e37676894487c094c7516086b4c0513e9a2b09dad736d09cbb401ab39dbdd3948702987b13a0dd0ebd029012e98c6f9a939ce5c5b536ac4e60528b495198f59f2637cbc61e34c8f4426b87c802ab7e8139a8412a214955a56761a2a3e706cfe4b2cd0263850940d9be0312463bdf190cc4ef6a6eda379f910657751b30923c2cd568e89a59fcfa545e2165b901ffc457f6b18306627e16231aeff3d2c102ca65d75c4784d8c8214e36b895d080dd101a3237badf3b3cc4d37f04ff9e4c18edafce3a1509f0155a9650212e90e68379e9d576553fa1abaae3e06bd3190db4d56de6e61474c4916fb6e2e8487d70c0cc25ed821f658f66f349512e5e3b96b4074fbbe614171ed645887f29be16a83bea12c22620a695c3e77f37fd02e27407760688ecd7dd1d10ee50df6edefd114c8a107f1a1d80f16d18008163f3c8118a81409b418f773731f4d3b1073f115afb21dde9fe4b05bf5b1c25ed35569d49150804d7380296a09e99f43e340bc93c57ce400321240d70ca5da8bdadffba35f02c68b63cb2c3e2b9e2805609c6e6b623b531f28722d71de5d6ea5260b624835e3add94a2504e48341e8676d09fdf78bdb5745e6209734e3cc3137f5e56ca2c5886b610a8a9f5ac594068d4e8343f3da1d854549eaf500c70f12b739920fb624e8bb21141118b59b8050d32bb6b9a0026c8c24360d63e425e9096394a3d9ec913f4e1e732debabccebf1125abf403eda31b974f1a64fcb26303248d47e7831ae2fe1c2921222dd9f582373ae0f0344dbab84c87ef3d0e2ac2fd8daaac6bb317abb4660d98d8e12df247a673252d76c19f4ef23648e1a63b7b8478816f83b2fdc21ef5d79eb7cd0264da3092fcbad214e6a28e442493f24874f16f8a1a490be40535f8ff80868038c27c896470b33f20a94623982b6591992d16b4284344007a53c282033092185cf53fa503eeb3e130bbb1a7ce388e5f1789387bfaafbbadca9a446a487903100e60c66692c5664745e7718196b7b87019a5f050766fd559d33b3e1de75104d7d365e50db8d911b969ee4a649c0f2b9358c44adc0c188187b28ffb2942c87b73011226528344a884d83078e07418ed88931d18073de2b2b8a34e16027bda023c4d3ee5b1f1e9e2acb0b9890cc95e1cb817fecb0ef8372ab1f527d9caf3045056fda27a71a4d600c44ecbb24a0474592b3ef73fa9d9a2208b627a506238f297df9a8f50783e8e218724030b287a0e74babb2aea063625a21505f224cc2ef1c45bc3fbe058258b2738b1e016a5205c35c67a3ab273256d9b8c45cb9bc24b3a8d198ca637fe456554abd368da5189620d09ee19e13aa906af0819550896ce16893d2642453d25d296087147530ca144881cbe9b76ba0d5326163b09c5d0d2131d9ecb4bbc2afc7b8de55aa948ef09a8d3a1e6bd679a2db635d050ec00a919f8754203d61c91fc754f6d2538d91f4167019480fa5b36fadafa1cf62723f426d3a7ec22c4a534c251110ad4338adbee0439a09a28311b1ffc1373780a6532b325fc579a071624d2cc133b95769b3a60ce7c4e562261d5615ab35a66398df0692bf33d09d66065edd866a312f0e8d120189f118b5e640dc2d9a6d2e82509247c47e29ff6344dc24e3de248785f11835ce3df64aaf4a896ea6fbe365a1220ae43a68995ec8fb3085eb66285539dc0dc6fe4a270bbb94998557737b528314e52983f58eaa63465e619d54d912eaf4e2a7aeb06ded388f5a68c81aacef0caa1117667dde689d2640d910268c98960a62fba9213c40f066870f881c013cd6ae2d3a4a3069570c6859839f7bd519737d693dd8aa4c9d8a680861d0d08bd2024304d2ef891ec46827e0f874746863619e910269f844e15c848487cbe8c1f7f938272c54e8698240789bfb4ccd809d3632719733f055838ca0bb213418346f96bde07d1401aa1567223e33a7a07d90e9f832e322396332a4a9ce4ea000bb548a28a99927c1226989cca6177a5c97d03064e65abb37e210572a4b0ef8da1ca3215fe8cd69d38cce05c25875d041f7a24a36a19863b204332092bacc14eacc9eebe20afd7979108cbaa685c75f689cfe1b8eef3251fa74fd7e73588838b8ca7f74fe875f953a6a85cc25b77f5d10866056db0835e16e0f6ec25b3d1c7563412f9a60d896ef2d150955a50f094d94ee59365fdab99e3e3cbf72015d0a0371592b613afcf08f84077e3b744f4030a92cb6bdd81d858a96b951185f5efc67b9e1bb1c430bbd4ef0c80d068dbd30d0a70ffc074f7a2d631d857b69800c12c2b4caca3a357f8103b70e18d5085dfb3f714f5d51232674562c2a9a19e6d525935c5b16624703981d3a640e2017b7e51d81130d0014c6cb485989d18514c61627d129f7c4a394dbb274f508cfc38076da311db7102ad934fe9b98a3c5c44f4e6bba1bcf0004abfaa281c8f7888f5a1eceb5cc7d6a8c0943ebb8e4cf853290d0b2d0ae3a4fa87202551bd6d6ee60e38c5b1a0e2aee4574dcb79b8020d5808d732f4f56a0035387f2a925b07ec0d600625032263c4635c2f8007a109621cbb6ab2ec1dc29a46088eadc5fc4ac74e6ceb1511eb636f90c5748f80e3c29d73de6818bfcc1aa6adc18f2657b9d0b7baf752e73cc1309878eae384b3a70ff36f4e6a07e08773c1226a9c2c39f1e33e998f37ec6ac61748b54d94788e62a65fd14f2562b976d78f1d14f98344260641069110bed20a1f7e1a512f23bb37432e2bee3583acbd4e3ea0e625b4bde50d62a5674b24898c5518302898a5b2220bf9556001c9a10d2fdadb8fb049a2c7e8c1e2772d1b85597bdb1f6e42d0cd1ae4419ea72de940d7793ad0f55983db531325c60c5bbc6d92255ce6064f7367ffe601b5ca9f5d6424af07cbc35c68e982d7c408d0a78cd768c852f5860cc6108178a3be4fd63bbc8caddc707005b569c343b01d485c58535ba6ab2eaff6e1a5d38018b61db9066b1971024977c3f0f578f1a690fea30ff3bb3b501c6737d6e20d0c93482e3af0defe06e5c7a87e80301213267ead0d8aa3564bd46bef103ce68c7614ca6be396c2bc531fe7f2158acd785009011a02a603c4a654e79f4fb38c1b1cbcaae34fc4cdf8a2cd0734899417a08d36649c8d78c86c7190ae6edb15e35d64155b6098dd3072176ec4059fa840a36f2ca269f1e2acda9dc59da5a6119d3f5a88568355cfd902b8023841c6d06743f85bc4b666e29375d617462687b7136e21cfca8345f875490de672d305c2ae1607a1613fdd7fdacbc0ed878eae959d88557ec7c6958cb2420059bb1ffcd19af5f535199d12f04b9963231d3dcce78cce9f11b74c0fd2712594579d47fb4c84df33f02b9ed8460bca6effb3342613b9c2b1c2a04073ce7d4f50805e8ed8f5d417637673071fcbc1439fa0114cc2f9a3b99fd4b50784eafa3c98e3992c1872afcee3de0889b509dabbd02d7436746cf1eee8c6f71c02e256d6978e92b5c349d818c2e375174305fb7de0380db43159a49da4049197a4419b2afc4053421e19ba3b8b0ede6e8a6629a3460a997a44b4955755401e1da2216b4d0e84334092dd7093c139e1cb001e7743e9b8ae242f3866925ea425e770e55b94a66c7bb11e9993b38f22c1eebe8b4fba5ff31998eaa4e9a1f253f1a0e4b94bafbc58a8ff21f35f1271a2be76d2d345ad22f957ed46925ee8666d83128e9b953c325c0e4cfb49bf429a26fc55243eac2378bb4723395e81e6c16ddd12023b1403568b3fb3bd49a7d6e0f5744811f4530a14b87c04d7069871c9b9f5aad148836fe8d6912123372d0f185172a62d38db7a340f5c11b8fd1eb4f6d0c3f0601344c077ef14013d37ca8997583030d6d94d2702e82efa6f0a71772b05459645f49aff76dab4941fd00fd0129ef1433e16543591d250a0bef7d25d730b860977ae6a459f7b45426013938d40f6c606ed9cf9ed98411ba70cefd4691b7b7c4eca8dadbf1f188551bcf8a913024449b6b63ca614890c32f26c14eb55700d3258e5a868c7886ad18c7a3b3bfbff237ad15356c85e304989e54506d5afa411481a327a41d2bd082d1bdbccfa7cd186e782b7a5d6ee094d59ee3944b4d0440b556e0d50b413d235e2eeb39bd4b896ebf1d793e33130857c5a058b5b66f81ffb49931696608b4f335fc14823854d52f9e0277f5c31c8c29584ac2c3eb8134b1eb39bbbf52d223fa217877d2307d563b5dbeb35423f55be3daf2dc4adedf06172a935ec32ceb218d2730c50f7e4b46828d0328f0dee3a29ed454b1c8075916eacf5594c471356f87429a5822a2a5a84e6b07b2e10c776ef5cbee789c3e2065c9aef22f7b913a00744485b924f6ad8fdf6b7d57549462158ed0c72e24cc3af7e31aae666bc44d4cae610bc967601964e4a329b2c4be15ad18644a8b948deb50326f8a90325f11d0415606de6362d5cea5793db5768200dfb18fcf5bbcc26942275a4a5db4515b4bddd9b54e67d9e77544bc70a9bc9089a36c6301d0c4cae0950c30e319b8bcf91432718be3d62c9b8571cd487a7357ed4f008efef525ea01bb9e419b9e2387115a44000985c9685dc1b9d206db46d73f76889c1cccfad1416ae343701b75ee7e86e7db5c7689b1dae7b22adb4556aa32926d020340adf5a12b2f48c2b69d18e2fa0d51f6a8460586e68f6ea0dd4194fc3ba80dedc8bfe750bfb7b3e4c0cc4b33a5fe07ecf374ae70a4688ad3311a7ff89c1e54cd9be1f1a85033b5904c882b166a9d19185f81b756f756709b20d963a2245eb420fab2b0162ca2ddb818a639fa365129faf68f28bc0ca2f11e32db8169e2774dc9edf4917772df126742820b12fe1781938210e5abe51321f16f55a1b98223fd73cdbc24bc5c51527289dab95afc81a3ed148192ead696985619b309f777007ec9abe23290f7bc20f907f7e6cad64946e667ce78a51a532f5636c4a329804f47d0aa8989b613d8f6d4c98eb7c2bb5c3888f5f9f38662430738fe1a0874450ee730ea18f48a084ff584ce107078f670999f3780d1f6a21067f1feaa58ba4d0abe9488b490419e3984dfe9f388a100f08e2e769bbd36b0bf3ec53dc030671255d83e1ee64dc4b304bd6dac6e0436b64fc1eb4a24f43ee7ee7a2e30f5b3898e6bf417d41757684851e245b2f32b96c9cbb3151240b245e9863a94e05b462157affb22d22c201bd40f2f72030e74451695cf71c450846e24991131499e22d817d8166dcb02b90cb5f217b9f34a429bb0a9be138a459980032338bada36018f3343819491bc095415a9b02114d922e73eae857b5b5b204f47ce375729092ca998759037f14d3be08dd1a2abbc2c5818d58c00a6d0ae837273bf9b04271031768e1d8f7144c102d7872a8f2e3cfa8a05c5ec2e6d3a24dfd99af063c0b403e67ad0cf8863815c91394e3ee99868548613d36f28af1dc351b6fd666e82d60df758dd24f494cb9753b1a17b92e2e163a7857bbb2d6a9e768c8b54307f17114de2adc3531a108d2673cea87e0d5867f52e4e53a20ff67eb75b994deb0de81bb272d228468dd35d6dba690d628dcae7cb8cef8d7c4bb06f74f560c57c2ada440a4bf3da76106260eab79dc5500ffb630c93ac684f8273cd5825c09eba8a587360bf3b514c87d7490c4cc02ac28be4983f5248f562f53989b3eeebee033b525530adb672043c4f1ef8ba1a0f5db09b11bdc5261a69c7e61333813e1f7885211d7ea27ca637f4defc6045ba5a6f3abd43aae89104c8e548a58684ca62f2c765e390ce39443689ac7b1c536671fab4ab920630f30b7375e6cc404eadf07b304bb8b41b0c27b29caa8b764ad5177d212d8c2f3f80446efc08ebc2069b653dc7ca7ddc90a14ef35a37af08f164dfe5719db0247ebc750c870f5d59c001cf0fbe81209ab1606c103e32891e97a680023aa1500595c18a83bc615ebe7b8eb3cc0dfce1f4a80f1e23e6fd9f99ee32d155db36a28e971c358c926add8cc85c116a4a13a1d7776c844206bc534ad965c07c9222c4a4102043c8c232abec82b9333ff5a51f02201d60dd04f4b2bae60af9a70f8604a0add846031d46ac7dada2d574ef132efa21f36d3580c834c5d15e1c84128f4c2890d3db2e53b75f34f30438301c184815f43c1100881816d0b594a075dd13dde6b60d41a5bd4c4fc5f7a28c3c77ae0f93098c42848a0b8e63da768a54e4bef89672f0ed4bc3d764c479cbec7320e94abbeb116ff205c3885c80c809ee8c3e168baf86be4d14cbfd78733f7d27c03994e5e5cf192704b5120ed7e03f868174c126d4b282a4fdaff3bc4910676004d1102f09792e0801269274cf5e758960903fd95dd417782d99cc077a3f5dc5f065f1a45d5ad35d65519806af0963b5d277427ef7bc1ecd62d48bf1712ed7698a1ddc072d315a867c923182cd432f17930e1af579c2c19ddbbeb1638b7b70622038dea6619158170797d6a1b5ec3784a2ac2ddcfd734ac1f6e50def9a5adc9ce13793af722c6f8c7371ed6bea229627f51a51a762569392f004a86c24810e5cb37edba1748df0abb9b8059332ea383243d10c781805dea83b9d1d631f7d65a3d7029e0c5971eca10ccef0ebd3e453fdeeb491aa075343bdc6e17c7ce00f71c2c3a7b47c4bbfaad0950033518e235f41984db1184c615b016eb8c6ca8107bf11b07e71d2502c7223f71f8c19eaec7385b40f79bdf0a7c152ea05b910f4aca2960f04b884630dcc61a2c34dc50c72499359ade2cdae5f22bdba2d678c0e218ff17e3a002daed12e67b88857a50725c9da93c149ba57b9c271371c5b7d9b76b82f42915f0655b802db82dec7085350c39b84289f604fc7807f8b68fa9e5887dc5d2f70ef285b637aa9965ecc2e9cecb653146b3f868107ea5a2a4718618a94136384cca1326745a556a410bd53042b2160f2383fe81020e24d37d5315b023ad920d543e464d9419ccb3c57485a739105a3390b9892c1ec13a0575e3c8216784b89d68facb72e813682b254995dc2bd6a42055b322205f4f4f87f88989ce5ae462395f82faa3dd0e2e6df9766e0ecc56a491bc78f9eb7f6a835c00ba3c66c1986ab1e1134a189d4badd633d5ffc04db04ada33c74b856dd6fc631c219ec7ce31689c71de6e3bda9704050a6de547628ea5297e4bf2dbae29fea4654adb58564cf8c986450ce57ae56868d292984575dd1afe2ee0340a2d00c4811ec47429426a9b69a8d01bb40239847e529ebfb048a47f1120a3d5c5529782469a5d5d53582c82dba91338b5148347687d7ec8b68514e0f58e896604a501b116fa6ef414b58b6e3df73f454a119ac784064613540ab3904499740b2aaca4b0f11ee126aa6923cd04a12fa4cf7a2242d15821fa1bdf5f89d077f0856b16ef259487c080b018be3f70763a096a996c3c35435b4fb1bf4284b967b10bb80a8ab31d23d6eaa8a19a93569f409118455040426281198ce7e7397982bb6589c27c9477603b2cb0f6842766e4f6f83ab24413cec2e06f9199b95b0fd94ead703608865526140bac41cca85c86b411f1e7da403e72e0434ffcc60c8464e95315772e32041f6a68b89ca69307113a2760738054adbfef4b629f7fbe4ed780c1ff88cf4a5059e81bac45c690a8c504f9877208f18bb02b418f033363ef492ff76667047d89a6c981421bc7fe55eb191e774592c6a418fbe15ff27e2cd6b5daf43c18468c0dea9093d1282c05628ee3fe984fd91705292375315850498e0de8f80863467a8a12911c5129624b5591cc0e7345896d59b8558f047d18c8ce30ba872ca6e0a35a196f990481940cd134c7aead2ab36661d44b0c65a87725efd68780578612f61a4a531b3ae2bbc04bc821f82ea3dbdf802feabaa7eb9977cee9981f3c44c4592616e5f28dd2ebe8f0a3927152737cde07194376ac421e58330c544c1d70ea18684292f56d05884e21bd989ec2a118c9a3baf09dc81f7b49a1036134ab5a12626886851fd4f3efbf3c50620636f0ff7381d0c1355d1b7412639487f2a1eb96137508e1f950c33d3eaa3ae844b59ae463d21e8a1adbc52d0fee39be0093b8d78c29fa4007d851dfe9202412b4d2d59bc12cf38b4938b62e2cf9bd9b2d977a38c14ccb55f49afdc812ccd892bf6522d202ada3bb8f750fd615104fa7041ca4d42911927a0d1af73371fc09b3a8be7117bce1a7b2b391431123a3f3f1c80f55fc3a4c8349d5640c1458f01657d655399281d25001fc71c87d73497fe683b00f2e2aadde422fe028012f3baa6c9b155030ac0d9d47ccd359273b9a56b2d1af906a1b1d39ae773649c4aba6332b5c9ef3618ffb7a6a41c727fdf3fa8db562e326b0c794f3cba11045484e29b86a644c4f963d9920ab1ea3bbe9ff4f3ce0e183001350350ce045c189177ae3dfe9917105a94bba109ae942f4913d8dcc6a59c8f4a61a5b854bac2fe62f8adf43874fd60dc49339b56a9fd72e9aaa3952f37ecf06b40879f49d582565fbe1a594c83d090c564741400a9bc335c83953be5c30c14106786709a8d2ae66ed44a8a2cec2933ac69051e2c52d27d13e9cea52fcc44fde4403aaa667b1a410fd43b0ec1f7d469ba33a5bebec426fc57648537f8a317d29be848cc13add1ab368c843c0bc9088639188d412cb9fbbe4e9fa09fba474536944035e4284385aeb063e2ae969e314aec7106b586dbb4d9d149feeb56d8113fa56a6e725e336b57af245b08ceb2f8f34a787d84627e7efb30bc33df0202c544f5cdbfb873896c312274ba786d92b67cd9fe25a31f59826c0112281afb19624b5b6d7309630a487cb6db0bb37807e4df32b6328bc4fc1cad118b43800fe1166e72801654a2d33eb3f4c2ed91e92797a7eb88f6d3220490da5b7a994b07dda60fa98c60e8ca78bce9328e6d7d5cb31126f547c7fafa399aa89ccaf71e39ffc69e7bdc913d4191a539ee5288e1c49f3dda0c66c44493a8c466f926e440b7d423dcd9ee05e642871c6bd810aa0a011c07208d2b38963f12b1e419bf6ce2586ef07c62ef2bcb4f3c8069c11bad00b2647ccbb7641f0ee3c25badbfa056016945591bda0d959fea5e34b92e78e314f4764c1acaec69f48266b3bf2f1fb2f023d6b44abf2006101c632724516a29d08131533b30de71562c13a3498464305be8f3cbc380abc709029bb9f366e1fc532c204615cfd55335f2b252a6bd4aaa3e8718ab3bff5d0908e458a804901f4843b1c836471f11f50c08ce464400e0151b750ba3b0fd8bff2a9857a64f3e34ac2568dc053bb10ca1a567bcf340275c53c8cd0361169e9eaecab29441bc52dd7456a401da118aa836c53f8bd4f34a015d349edf154f5dcb71b6d5b1485e0bd0ed0735b6943cba73541516706680944b802db32e38502087a8f129d53f780e9e5c8492076802e8ec6cae17ee8cbef31692464533be70e3c567906e8e7345d2b85ba00348f8bc9bf49efe0a622b6fdcbce8e1131c3c5b9e3463bb268632a6ef3d76d71f5727e12c15b33e3742d0fff9afb8ad578c780e3fb0a93f3398faebaa5ea4cec338e171c8ef55039efec129ab6a2a742fcfd73a051b2b549059eec5a832d208b1ca1876405fdef8128883274325b02b3671af6e840da8ebe3f2d3af3c1d219d01c52dc7244303d2db7a6af69e82ac91db22367a2665cd6e2c11540ed11932dee24d36e8c67de2f16c011c3630b0b54c145211af56ecad90f6307e3eb436748d03abbc3f7c5d32f27e850e6a2cfb3dc5cc39501ed343f7a87fc9c43444068a7e941ee41333d5193e1a051d4db41e667ec4716bad049b4a09e9057bc11063167d693def37cafda12f3ec09ccf50b75dd360da2079ffb0a1672ed9f403edb9d6794632017e3b3d8bd62488cb25fd41036ad25adc4093f478e9f71849f36068723e3b723d794db0c77aab10483bc80d61f9dcfd644e48ebc5706dfc22c4b6c1fede3a98dd30dead160e5b19289830bda87a5c69b13678a96b1b61d16853bb06a18587c19ec5667399d5160437e8f018f4557b240984ecd84cc1d7ed47b43b4571199b66872e4cb6b0ca50b75798cc0ca9e70781d2ff97b48f890dc992f4d0cfa6fa20dc5c4a9eb057a2cc7fa5267cbfca5a0c38088517ccfb0f88c47a030c63ee5d7aa7699bd4e133ca2c9ccb3970e2ccf993cb0867209bf92c22796f2c8818c01e0350b2e445e9d256cb80cf8d58db91b32a19614e20ebc5fad6d5d52dbe099e2b83c284a10443cb8fe7764bbbeec5970cb417a3c08ecc28843190cdab24c696e1f17218ec82637d0db25a8f11dbfb19552983d323df819f76d1942e13d71edc81630ca8d1ac1b22d3a25405c824418d871920cf61881820363b0e5d339bb82c15d8ab987b959aef24a147a25ecbe0eced7b8daa0cf2393e7fa314cc6a7cefa4b911c90a31bf60553ca41a9d4c2ad41646bc56de0b89bfefb7596dcce0505b07ce4a28ad437219d02b1a86e93940e4495ef84734982745b1088f0ee0a02acd74f3de659f75b75c11a9f8e05195553bd2afeabf9c384fb444d35fbd24321eda19e57b09662e4026d09bbd70072087fdc8fc0d0f2304196e45d0a2afe4831ce2cb3d956f606b479f83a6b2e921e69a448694009a286a75e0a028d8169b877009bede8010e755358e28593e7e65c92ad74b117c084d2ff63bbe48c1d09d88d814e75376c43729eb52543f7382156953dcafca02ee4c07c855a7bb50ed64256ae09a9414fe69abd6cfa4a1586540d8cc866ab763dbf407ab4ae899a7ae45ac7e4be0a1fe2b95513fc6b975959f7fd2b36c014e1fb8ed31ae269e23f1942dd96eaea5426d5afc192cedaa7e8d9614224a2b9a10eb8e4feead26181fba62b80866b45d54b306ccfcf3010fc8b64d562b67e40c219efcbb1e29efbdcc5bdeda10e7e1a86d81e9424ac7917bb544dd19e6eae003dbb9c6667013b77a775cbd58fd2c57d9565aec7b3e6b2d852d5527ea5503edffbd1aacf01e4bb035a945a845a3054b24a07099beaa75cca2ec5b54935b1d1631ba1f527a13872b72fc0087b93ba2c623cd67623e659aa71c1d4f29be145ef7bdc87e3bdc2e620214043d138f96d9a2007175cfd475ef3e500d3601a4942f6de9bc82da54c29c949082b0828082d030ba5a241fd205317d177ecfdbb88621065a48306355a8931c6d81929a1c618dd1245e7958ca7e07e33b429f5c88416e18e980bbfbdbbdb12757777b773a59b2a522cba00f09933f246eaed2834b8037aaba033a4a7712cd10a52286989ec9e4d4fb95f0ab76177535aeb6af58fe46e89c0689bd856dcab6e186894aa6ab8bb37f60584d0a97b10ecae8312b3d29c737653c61944158f8adbfd3dbec06ec9dcd6e65d6c4f4ee69731083a2eb442042897c68556ca3863eb9b0bc4fba7cb40459a6658da49d289303ca0033028410f3ef0441635b8a26d790dbb1157a7dba5380aeee71971bf9c22ee078f86ee0793a2dc0f1271875032e483193724096131420a1743b91c84104c11020c0e6411c51617f3800c238050811219392cb9f85b8e037df043951da410021841b8c0c5afe33801c041871d8290a002872a5c7c858b0894f0800f5e1835b95808af2c42800594970950e0f222892c26d8210a0e5214b9f8f9c7711cc0030f6778a086325a80c5e52da320c210480871bf8f4d2760a3d67c824313309081101216450f91618001c147cc2553c420fe808b0c2611500a2c8718c82a845861594a1045083c70c6073c8795152e625cec422b5c9684c04890a9b59ad2065ba4957a0a431251fd422b652ccd29555e68a50c1d0451fb422b657051c6141bd2695a294389bb0d4131659432ce2e355e68a58ca05886931e22e7c04a192028630719302df17faba5021f98033046e0832b89cb6004d4064a35fcb8b4debcf3a154bc94cc287225e12a4030a20857ec02b0faa8871718b9b4e81d1d151b280930967c60183a5cf1852b49dca2c815e7e61d4b88fbf0942eac78e24a82152144124fb0a009571254132c5c499061060fae2459124d2eb71083937978c11041aeeea02b49e40681061da7bfcf38220a91ebca165d5e2e06c210ba30b93467f2032bc0702549357d71c517432e4d9a604a1428ae245b0c846a70511da6a84191cb8782f16adae24a7202c3e5d1ad3b1f7ec10f172057127782072eda05c05e23b822a87740a2074c2e4ddbba9b3bf00190904b931b6ae620690b902b0973034926fee786a856b82471cfdf47fcd2361216542af55a0a4b6198ed259d1177a2625773a2f2d59ca8f26a7fc3891aaff6dadc4e9c8fec62dfea9bd5ca481a798df78c39cfaabd4f192153e42e803ba0137556a087c45ea266b8b2d5020b8884b77f3e69e48594925669a40473b45c924aedf5c774513f49850a07445a967c2af5eb9f150d7a42a47ef58d7cf95098e986b31cd34fec0af00a3c8c5a523f57722d7df3f1c02a370ad0bbea7bd107a89625fb5dc9da5ed235fd3880a8476cb9d395ea16f5abd7bd58baaee576e4abc4112199505d8fa875b582fe8306e5cbd6ded2857f650926175a231897dbd397d5c28d1a17da6f03ab1fed9115a3bb7b8d91bbbbbb47767717c2bbb9ab68fd70067618ccc1efee7e55a0c199385972094cab7aa7e4950c096e33c7b44577ff746c2c58dcdddd9d3b0ba56c0a23a85052b27166be017b6b01994e4da05cb9cda4e4eeee718bee2ddcdddd596231e3eeeefceedc5aace4ec61fe7e8eeeeeeeced3f9c7b768c1b4b4707777e76d0b7777776e2d9cbdd9dddd9dbd275a1610f62d201247058b1688d4447e84931234911636089a5a0cb120488b227924c5092ef2a2b7eac1e8cfcf4f0fb60453e2f25aa2850a3c2a64b18936b3ce2c5562152d7a5cf678163c323c323c2ac9a3cae2796c856d123e7043151e9b25764ff774163049bbc112419793b4584916e261212cb84e2b7ae4cb9e49e5cc3233b3c92d0b55dff444973d318b9c9c145280dc30e2006f3767d160df7473fd5a777ce6bca7f9a1f3c31ed260df7873ee10a0edb910346880daf0f4719e3a55d7f8df13b43566a8629642a4ca4f697c2d62118353ccf739e5cb19a7c2cebcf7ccf9146c549ee3adf6b6148a2af74d1b9920c7dddddd7bc854a5d17d9783e9780f8de3b8eee320b7691af790d3388de9d5b8e3bfc0bc44b8bbc0bc44b0d728ddaa6a25d3ded6728aa31f1c9146bb8c75f46b63d41f2ba8478e5ca0c13afa65a0b426edfc70a16f9847fce9ce1707eb6806e25d748856ac638cfa7df3c72adcbb9fa99c621a0c6323da80e932598ddcbdff99e2362d3b518c212b0926cca46fbebf7ed376a3feaa2c2d4523c989d1d30a8de3a150d4f31f593e7ed99c9c56cbfb5fd93ea21d2db392a8fc1baa3321cc06f5b47955750dbf46b124aaa67df658f769508b9a6314d3b2cee8d5b28e86d62512df3f9b7f8ab073a38b7590ae80cbdc8ea8bc6d14ce93d6afe342ccd7b0f7ee935cd7c0f50c5cc73e99ebd3027e7afa9631c618638c31d6945822d8779f05e6ed4e2c201bf7dbc32b06926fdb6fa73f35f65b37b91ef2b92efed6b9a6657c62204ce4f4fc606cb94cac80e1e4360b88df133f5b22f73433e6b8734c072d47a5e6fc0a3d898aa21dd741d8ee7e3a719bd35a27651f120491b5c8316b6993a1e452cffc3485e2627cf95b9c96c21c1166dc836b8b070dce1c914596a8acf84a2e942a4c776e4c457cf4b4d761540c4ae348399d3acb4391b94a7b50f889d64b1809e908a96f54b51ef50de5273047bffc58c82bd233253f8c2b44a16eee30aae6420781929d590a868ee2e99b4f4974a1bd15e08eee5848d499f63816f83e11481d8b7df45d01e6e887471a91474b27144c902e84c2872577752114415a6e7fb41f4ca29bcb8e2fa3f51d22a52a88ce8ff1cf843be49f719d0517e3c586fad58ef421d471ce3e5ba26e0fefb6b15ac8b4e664bc5a3c699f7d73da432ed34ed9893b751fcb1fdef9fcf379dbb48ed5823f53aff567e555959db44c062e694bd292b2a41f9bafaae6d69cad5fc22449daa42749509270a85b37d1f4a2a5550ec5d96f16b9bb53faec3fc3a5b4cad530d8d843da3df4e857cfec8cfe33fc0b9228529f41a45a1695c64b5fb2a8f09fa8211e3f2f099dd00d204126e3d36accff90712a8fbdd8930aa5bde1a472bf7d0d9c319b59e4b14048f8c00d4edcb87331fa3cad4b3bae232a62658f7a252e1f56668370bff94cc96c90ed7d94b8747c76fe46a03f732ff0ebcea734b4eeb4df0ec49062b6ed68dd57e46a2d4ab5ecb5ae27f2b448a022a3f663a34b5b4539449772f4e7d267fada0bc9d5f8a98efbd5324b43eb9eecb773795a52c64b2f17dd804e62d95651bd4b97d79557caff500dd8a8644a48409b261551892b9334e1c1fe800297fe8b6dc0e5b1dc4927383f9fcb4e7b9a67e6c608936a0b451906ac8a544a9c54a60d890e5d9964c9d74f786698cb9d18b89469c773bad23fbe1f032ecfcc8d37b1c62ba44be731b8b8e238d17e8fbfe1959a6740af74e0c7ca141d36963ab0dcb864841853aaa45df5983137b6a00622e08019359032049322f8115b26135db8b9e0c4331305d0d1144e84be60d2c3eb0a07c8606254c30e3d9a24f1f0ea01821f209af4e8a109e8ca0d401a10b02635bbd00a105e0ab8e127e6422b41b872c50348407aa57ede652d469f5383dbf69ccd109bb6c94d6e7293132e0171aa6d7be5b66de2b65ff849327b6d66af615bf69ab66dccb180717d145d7af4c828d46b2889921ce38963a12febf3d8d4378c0509c9a1be912295904bdcd5aee4459ee4596efc885364e2163915efe28fd7782d1be859e6de3f31bebb3d23e95ee78155207d2dedf58fd72dfec49ff8b33de4a210ccd14c71a93de7c225a23ea23e4a2d46771963534dbafd2b48b79063a1e58ffce91bc62e4ef762d237d08a184ab79b9e08f5502bd12f09d4375f146a8a5c8eb89f5c327f08f50dbc6283d1ed8f50fa8677b82da3568ed77a6ff57575a56b9a218f1f50477f959677823aa78d92020299b8f16dda4b752e748dd79a3f7000e1aa19a1ccaa7ffaf5635442078466774719659431cae6cbdf15e0dbb16918d5693f1ed56dcbd269eff33ae9f4ad5697633e88c548095b8289b6a57ed0082706d6f4d7c0a415cc3184faad2e34fa6a8d2daed84074e1151b84ae13175ea921cb5d5da901e9ce8f4e8f9a7b013a71a325127980cc8f6e3f2554aabc80bdfbdc005da16b56fc35e8c2e4688a0eb7eb1695df08316edb2da6c05818a603b99d9ddba39c5f955eafa85fcbd6df5639ab6a45ada25a6113146f9873ce39457bd9246f502289e270a50627b056eac22b352871e985576a906214e58c324756455443ea0c9b0cfc980a979d9b93466984352c85651fa81fbd1836bb39f5580f7eace37a304ffa34fbd983538fa19e3e0b084664fe973d3fa53f9f4e6eec85fed3c7987a0cc3528fbdc0510a7bb0867545fa670bd9a3e463fd5877a2a15ff0a79f01912282fa13631dc7d3a89fb6c68dc2c7e44f231886c9edb1cd1a71cd7e2e25d6b1c781d0d07fb2447c4ccb6a01b32c20916b017bfacde7e6781b826a90c29c22ad19bc9dd7591155a1abe4753fd854218619c1ae11f87eb7cf9e603f79f6f8ec87cd65c747898b933e4a5c28e776382d77fbf9cd1242e3fd5940e667afbdc6754850ef939201f56e91a41e65a9d764afd3192f80464749b81f3d23889eeda168a70d723d7638eba3c4c569f03be1422b4550e21621cbdd7e07657d18723bdc7f1cc41f85836a2e088d47599fd4d3b0b4275e0ec8e9e79c3f2f0bf0477d3682fa51e63a24dcd7ece553af69d0fe9410e372e74fee05bfa79746fc4e6b84ed87cd9f173ba5bf5a24291852961584b32c21a8f747bda3beb920dca33eae832ed9f5783cf58644df306fddaabb27b41433334f89492a259db29b994a082133e3d80add7ed11d4e1370d6414ffa3c51ce32d64169ce39bb04da4cdf38566bbb7b854f2045a931db7aad9c7ff914fd8c29a7f8855f52f462dfea79e37b7712be7c08658510b68558c48c94206bb8545dc3e2a7976d05aa7fbf16bc351ac34183d026877f7807cbd6d335ded9b4c74d8910421bb6e113cec9da74731e96ca3833788d1d72f2a1f6c7ffa0920fffd0c30f9efcb87c92c01bac80c935657e925416268e5c53f8e3d61589523d9bc639bd8dbb134a7406080cd90922c3ccf6aa1f4fce7d6a59f46efc43ff834c3d5de34f6d05422de21edcd1b7e748f77377a43df72fc2cff7834c9a164d3ea59c7aed83a4ea5f219272632ebc4264c4820165ad902ab753877aefb6cfbafa94beb683c448b33aa8df6c11b4afff41adc80ca8dfa0d289e929aadb68c480648afc97a7dea17eebea6b5deabbdb9e43c205e12c921d1a7649b548a604a1cf3d12e848a22d42cd1eb5d5251da0b603d5b64cb0a19f7b136ca89bffd78201ba9664367b94a5d7b9eed4f5f65a77484e34a39fcabc53ef1fe4f4fda993f5a18f7a9fcca18bfe00797f06fca1cbbf31ae036a17f7a86e89070ee0e21ea85da8c7ba1dee67170374712f3b21ee42fda94392fad36f9d667d96780001aeed81d8a57db52ce903c4aeed914c0992b22cf948ea671f24f527ed51efb3bd8ef3cb6b6211ae0594dc28ac18a02b7b1f68e4cac0e933903d74b1eb5d7026c6ce5ecd3ca45fdc302ba81f5c2aea0115274394900245027007dcd13007bf4e13ae6a4aea1a8f424b4b4b4bcd3f5a9ea07e7069c8d2d2d2925ceaa55eea21dd437a0805aa4e863c595afab1335f9a74bf8a74931c8a74962e182701b086dfc21a7e1db40d580c210797fd2143014600ac10e0f28ecbde04170c6bd8c88b8620d01e0f611e6d270075502b030ca3892497818c9af4a24452323a4484faa8ba62088a5c22278c0e43f7072604935ed25ca4d8d2c29263b424856a2bd21eff110da3304eb8d0355ca571bc06f2224b532b4bcefd201334f222d09b8a780d13e4296311c7a9d4521b40396565b0d05fd15441f8faf5a4081525304f5bb58d813afc8ad706138222bd71b75007d1af162289eba0fa4126eadc14fbc13c028d513aa743182984325abeb0fbca7631dc880a6dfca0c2e718a56481f381ba6de16531608439b454485d3ef69fbb7c974fc425c63c9bff68ccccd6dab830577569dc97abcdd4457177bb9ab679a7ddec6adce6dde9d2aba536efb0abd5cdbb79b597cd3b79351a9b77f16a3536d5e65d5f0d46b3a1aa4103e6a5a650366ea03e25fc2a8e367273d1dc237408218436303373945ddce2276f9418633f4faa8b1a1ff2a82ec7df628c54a4e477775fae94505a965bbedd85b0ae302c62ef2560333b3da6cde82787f0ab273975eadbcb98d2e997d7e91a3056d5cfb452d0596127c80c10682554aad40056097a1181835eb81e3c03f68c8acecd8c98980cc43f3ed0186849df00d5ca43f33ad10a2a5851e14811339a8af41c4999f14405283f726690336486a6a51920300435c62b27c8851490529061874bd24e1019b82f78490a4c765a555a3f7484008f7456f8b171d1d4e29f203651d8e4b498725a29e4685f68b1d922834703cffb21783fe3656628794b0c986982676655b7d055467d709d67e666596680a2c2ef9137cb325b84ec338d8734cfba1e79dd4240c6094c46f59fcc2773b52ccbb4d7541d0d32f7845115c6b86e79646e0dac861db2ba323feb785670b552a96858dd6fc8e78f61add5a53169e4f0a89ee0517daa4f75b318bf4db35ff6d96f34a8eec773b91edb9c79d95e6c8a9c6c50e1675d4ffcafcac8c40bc48b7dad3795faa87dea37e6b1b10eed5335f558f715b9dbcfc8f548d99e78eb0bb55a8eb7673b427dd6f16c8fad5634d3e676b5473d651e9475688fc2eca639d7036537cbb35d2e5ee72c6cef2454e1bbfcacebf1eb2c74fabb929159a96ef619ed324dc37ed20bf83d7dd67917fdb7ee4fdd77e476893f71b8069b5084061fcee850e11f809d507e0db121466529da363314977181e27830b9d84c9031cdb22ccbb22c9bd84f9a510c835bf8a0c1996eff9921fc6227fc03800df2806c3f87425ec3cdbc926639080826eee99b88c19d0f99e03efd9703e1099e98b8540677c666e86cd35e7b9813ec0b9b30563df146f991cf6a2175fd53d7eda7e446d18084b55f5a90207c8da6832eaff3813fa0220c2c845c34af6da1e97c02f03e491050430e2e01bc4f92d50e3318c355f34902f0f5bbbb69fc8b77f7d9dc171a2fef300f391b233ce448c0a19da07a9d3efd5478ed3fbf4be9b65485d5da4ca44895f0a95f758775c719efbaa3f77bb56aa52ced2575a99f07c9b04b71f9ed8d679967135ee6351919d9a54b971b5c004c69c2cdc7da6bd27168e6643d4df75e13bd1b71bc921bf332464a4c4a19ffeb9117937fa2ad1badf63aceea3ec7c2d362a6f69a907c90bf42e27211415c7e998ede1b4ba45c7e9475284227580fe21b1ca8351ee63d48bb819d344b43eb02609af01300aff5e626bc4e6b341dcb1f85a7f9d8b158a7f7c7bc8e75b230a0f034cf722b04054bf339de7b166685e478ef7358efd9eba8d768ddcdece13d99f0ac19d151a9be55d11251fd09aa879c0fd59fd051a7adc4e2639d1104489aa8f9c639bc7ea872b94809eee89dc4ed1bf99c0fecca77146af3ad6998b81ebcc5ebe01638d881d7dddddd412d14a307f9932d97e552340e24c3085e79a2e5b25ff9e103f7732347ca723f57e2f247ef2b3f5490b43c41fa2e5a6c6c9063e184577d77aab79179fa9af74a5c91e6bd0f42f31eab3f470d42f3de7bd687d5b60241bccf617d74bc863f06e8daa1b114d3f11fc462a7b01eba50f80f1a016916b8cb35c25d9c059e95967d674fbbefefc9525647647ebd3a4ebb4da6fb7aa48e0e051b9b42c3703d36db427d0dae47f62aaec7f6aa0ef5276c8f7a2dbb61d452f2ff78a8be9763840526c125c8d49d64e53a1ebb1ebe1133c17e77da4b00f0acae099a09ff01c0f2b4ae096f3fe3a1c6ac248e6fe7cee078e67ae06075cf9a79c8f5e83ab823f32c4c45f3311693b11f659dbe9dbbfad85d806fd7bd4eafba6fc6f2b46ec737fba19af0b6d378b31dbd5dc732a1fbd77ceb3a37a1f38ed5b60536baf2bb87d77fb024292d313535312d29256169a11e222a323a3a322a22ea21a6a6fe69a07e05f5ab7f9a988c8eb024292d2d2925613932e21707b1100f11151511f1900795e0125313532b071ac123143aa39cc6927a259d03051d1d0a5d0e8fa6d371cd7e3b57a7ed9f3a1a5af7dbb1ff5d47e42dab05bffd4e43eb4a4b24f5ce8acf3fae0a04a179142a10037419d13e06e8f21e05ebe33383d7f0eba0414147e72874d06be4c73f340f5d36ff41a61c1f54da59e2591afb5e13e49efa1c1d6bc7e6599a8d01ba6cac8be65942d845f3eca2b1fcf21aee537fca28f525744d8587da3f429330c208238c30c20823f02581848e4780221485e6b51addc777f536ba1e3762bc56ce9f1e7b99cd968df5a9652ccb6232b3d46a36e6c6ab54bde435fc30d4611e4298efa5e856f5aaff5a57e541375ea71de663f7ad6e7c733d606e747c6ddcb0b6b574cd66a3e35ba38317a6e30b3995eda5f6a4dca1a17ee9ba4ad7473d52b68b3aaeeb27ed096551e7f5067226fe1240d74eba00fc01e8b8a90bc05fd3c12e807f9351a1f4cdd74e2e733f0cbdb2eb206e126acf7b9acfb9b567de7ea126b559e827edf1bbd7394dc701c1badcb62de459da631fba2ee4ddcf833c890515097e5f02772cad6efa855c5fbdeed2833ca89196a85cf70ef21672d2372f9691d73090e3b05b29b018f1cf50d36d2525a3a5232c4dad76ece5535a6b8cdd5166e27ec0db280ec806ba74e982e56296a7b579341d7465471ee41d37f5cd6ce2695d1ea6f6b82989ca74999f48b4dcb4a5973850a1d0bcfc03d0589ae77725bc8f7f00cf7b7e0fea1ba1be917628da25cfb3444ea2e95a4bd72c01b9f54289a96fb6344e6be91a7e666aeaa513d4ff7ce8b2160fe2a50eaa5593a4264a5bc5810a26271f3f68b28b2b7b7865e91ae805d552b7740d7c71790f8720f4802d9d96f4307df4704443c0838cd4072f7cd08209e14354ad4890e483044a5d03ef476b0e545e3e44a0940352131f2178e5a045131f2000ca8189898f2758ba164c39a79c4b5479a195a60f48239c604faa26247550371414d5530b2614951a41a9358ea8d4898514a3890b3944b571a195262034990124a56e175a318307336a76a115334800831a2fb4620694122eb46206117c1071862ef54e883dc87d08423d5df835b80ba59c3655e41d4cb9f47dc8a5c01dd3bde3d9b1173087527b4cc01d7cfbfda806e155fa067b2a73a9bbe05224ae1771e9c37851b1ff3c48c27081bd07c987d141f5a2bec15c08ba34fbb9d13d3593d36999b2edd46344db4cd0c5357e6a7cbe9fbffc453f76343a173a5551210bdc8dd64f49f5632c8d03bcc99e7eef006f4e4fbf8de04e01df6850c01b1bc0ee0011fd04c528c73bc801c461a223e6c14867907129fbe0122941222c90ae5cfa9d0447813c580aebe801e214690f300f66c23ae8cbe0d287fc5aa2880bc465f26172305b547e6d722fcc8751aab38bedd1150de84ba9e17eac74e9362965c1e0fff242fa593b2f2f2c21b4c657d7aa3e6b5a21352cebab65cd87aeca1242e35f9e866571360acc4397ea5f2c6bda28341eba5e6c1aa66be5780dfd1aad499ffb1fed5178b4e335f45f3a19bc86c63ca94f7ffe90f6e82f5dfa4c84c43cfcc53a28131121bdbfe69c73939bf497bf584a99a22f29fce2177d4dcaa7284eebad657371ceb9236aa9c8d133ed35efd9a894855da4edc92fc24c980713b10eca7176b3f4b553c73d801efdac631d40cf7f58077dca61c01afa36dc8f892807e1524edd1f9883be46bba93dfa91d25fe1a0661fe4381bac218a4f1fc298212e85d493b854b3339435a4c1190d07f59bb98c85573f606666d68110fa9483ca43edc527a2f6477ed2830ab9d517f5e3274ffae6551cb81fccedff606efcaa52116539e29b08401af0e0c216179e157f8395950a99f80c70e10f00e2f010ac8ca53fe963a525a60be173178cd3584ef643e184fb7196c7ec47c2fd38cb1118db9370bf6ed247dda4c9bc38a87e8303f9ab6f3ebfc1819c893bf11b3a6688caef35b8fd30477bbb9516139e0b1e895511b73f8808c01d7dbb09b73f71a1ae31827274bbbb9bbb491fa9a09b78141ca8dc2bae5e0d1827d5df47ff9d70bf3e423d0fb895165b6d2a34ef04c6c9ec87c2fd200d3c286604758b44dc132648bc837a560cd0857a9610cb8261fbec59f3b9c72c0b86d363cf8a2c211acb294559d6b44258b2462be4c4721b65c32cab6d94d34317f6f0b98e7a0dcbac56f7ddebb88bdb2a784e14f5c44a4fa8a00a2506c0a4d971891ae8c2c31d3257beb7e338d94b9606b87200ddb5773087fc2fde0842cdee17e14b1fdc751b03943dcfe7fbadae5c49ccb5a73608f5c99eda77ed2cd16ca6453dd9d67d9843fe898b1a24e41da3d0205c79310517dd3d70214676f4823b642e3f07c11df23207fd444b9d8f68948adafdf1a3f59ea8d0055d5f4e0c50e5cb72b1dceecc0fc667d08a4ae59f23edad5ed09d822c948820c217ce3154ea91f6c8000273bf925efc0dfb8525a1c199af7fa8a80e4f38a83fac4e7bf1635250e1631fe31f59aa905b29d50f361d397d8ccf3f70870cdc91dd17076d4c36ca40fcd35f54f8f4b1c8f580d04867e74710f82c68617cacc3f9515fc25f02d437181153699c1822264dfc8485788895900e8ff8c4e72975c615508ca1f2f3438b88dc0d4613f3681b8558c710e00eb6f10430c77cc87ff2a6a3950b6c966ed88051614b2b6fd26cecfffcb85209b1eaa21b3660545d5484d5b0342cca72f639992824e45846d44040400d0404b47dcccff731e04db402bdf933c64621af991ff3dfd7ff28ca7e3632945571ac627e6e361ec11cf35730f0209f4feb6a6233e9b284e0f8988fb148621ec7439786a34362038e67bd0fcbb284c43ceb591609eb631eba7c703ccbd61d1c96f286a353e2e2292c7855f379e84853d30faad56c757a8a7df0e8683ea5353bfac78eee8c1e85e250248a45d1281ec11dcc43d58219d437474a5cf33dc95d69be2f390e74cd7726b8836fc452a36d2c513ae79c93524a87b81205a54440c10497284f581142bbfcb3b2d111d9e597453c01252852fe7a0010a0c005a8cbdf90d2eeba6e5857485098e0d215a5dec5ecb4291840b932da551967d0a075059acccbb8c3e8b642274283331af49f139db287867a88c8ad80371107e8c58f29eb4a0f6d9c8806a52fb5d6d5ca4628159b49cc03b3ae7405dc31ad771181b229d53f525a57abd7ecf7f133fb7363d3d1d1d1d1d1d111077110070da1a74a57185c8a1fe9896231becca1b4aede12513f5722525a626a8a3f1108ee202a721c25aef86ee447d015df93e00e8ea80e78ccc36d0b40608efe2f00385585ed3f9b996ba3fd417ff0a4e7394e0bb0a6ff062d2ba0ab75a4480c2abc58c7265a057a66b4231a73ce4ecb6be6b7ea0452ae4ecb96d7c0e7570edc0cc43ae6cf5f00dcc19673803926865d2aeae4764edf729c66bb6a814d7b3f1888766ce435f3ebfcf92b8ed2ad566db5a216e8834930b4eb64b948286628a8f231bb5aa27af421b7737a9d9ef327a45ed382fa31d09d0cd4378d450e418b0c21843036e3808610ee1e638c31b8ab5fa763882e18a2ab9370f3925645852f2536a58d5d64da5d02f6762622c4990fe5fd36d00c6fe44dc99db62f49baf909484f97638c29c01c7c43219c34c6f813b32cff3954194208214308218431467e29a18cfe6db76e2e25841742ea0c1942cdaaa0faf794fa6dd76197918a91d5a74b81666606aafc2d99efbcfcc5b4fee2edae4472874083391ca30da834cef63435e9d0cc0000000000d314000028100a8844427148281cd385e13d14000d7e924a7a589dc9b32888611442c618608031800000900110981ab0003f5868a707a025ee09add7a753b6b859758323ac49a1259d7349d51dc70090c4988bed42c18d6c38fc2aff86af9238eef8462035d2c00d61d0cb5bf2904d1faf903cf9f2532e0478a97de0a93e833e25b283400b3a363aad266abbbf85f7d2a9ddfb26706beea4f62c1fa7274dd2dbb65f81d043448b387f9d409933ae6bdb2b36437ddb72b15ca86d363c711dfdd8dcf7eb6a457726ca89a94af97d8ff0f29c9e9ede6694551b892dad985064b440aa9bcc3c656d370c3b6de5ba8c4a3a0f732c0f0ce842a6a5dc26c70d8d1b84570dc7ff4b7c0b57e2db0bd936813b8587dbfdd73471d07972f38112036aa22bce404a521cbb557f31721d626cdd9cd0729269504fe4c0ccfb87ab24abff7802cb2cb4de6ea901aca76387bc8e606233b9bc77e30be22c3ac1d8a454027cbac3fbada6fa4650e13d981b6db79fe6dd30617a194ae615ac47f624c040e34f8cc3a6386ce0139f36318d773cf6469fcc05439438d2471039b9674047737206297d7c25c7aa41080cccba3a11e306618c060a557b863f1dd5d65d7ac78fe0ac8a782db1c333b0f00147405389480153584d8a71da55624982e4c350769a007fd2611b9da910db50578fa57dedcb31fd270a0702d3245879cdcce59c9a5d40fd688c79b7309e374118e7e894b16c62864bcc7fc8bcb36a69ea4621c017680ca03517eb1991e5e7ff59c8a195b52407204cbccd9f953bfa4182de116d1c2dfefdf721e1f33f55cd9c8ca9b1945b3b56a825a40d86950a2718a7f544ce38cc5ed1a03bc2dbe4a8a15dad1d22d816d4bc1ff9b9618fbffe8e7b272045eef717b507ab2ded158492a07ab7c22d54e02abd9dfaf0d464e1050f7df2611d44b5e4eb33cf4ecde7b91f00c3059866f5a1b7a91b94da90788939bdccf3433f10192834f075816e21d98b7b53772899c10e65b12ba4e210b721faf021adc8120a80e7b94731e89b52827623bb87d14fb1c8657b0935f01215775b0842bb52d383578a84268141d7809eb24755fc91de1a8082078451c1f734423488e3fc252757807950d60ce8ce7f70c5829064f06860e2737fa21f45ea6e9291c9d81a4b13b12f1114e833c17c73f2e85fb1f337840b514a86547749e45c3be45a56982211f2a1a99be7b82860018e6beb1d1adb48b865bc71bbd0129c0b2f7a0a98615f0ad0491adbb5a67895f76fe5afe07908150894d86d2254d1e1fc965f4a3e93b4cd1a7f18aaaea12a720162c33e1bcdb32e7b41f99dc44dc7bb0ef9b42b8b1fb9b440605d7a7baae8522df7019f665c68e065269975dc4d779b44dc3ee818e8476d6bba8ff1ffa7291d00f3612dfb608339bbaa2f25a9dd511b99281983f4d1c85f34f47fc55265134ba586c81c504dd7b5090a49d338286cee24297b8a2efd69cbfd3f05d82eb3cc02b14a2388966eb286f6cbf7191322a2f62333d791458c6f10c8da64421a4900be9254f9b996a9d7a67beb108fd279179828c5eef69841459a6b7039962f45a47f706a6a7732f26f319d496b65d92201bbb7b454d39caf8594c25d2cb9236d24260aee405291ca7f8d9b794dae0dfaa4ad3b70072ba0b83467886ed9580008e025ee4e08a85d607a0f58eb003b7eb1efd6ade8f2ff967b1d6a958abc6292556709f16f2e4bbe64858bb9781af4c22940d001c192589c82205d92adff6cc766faa3f5a6eb36656bbbc1b3690f539132712a8e7b4c276b782a168462293d6ceb66c3dbf0f943b511d33f4f409b15edbafd49610065eced2108a856be8c51677f8ed423753b58ef7af74a75ba7cb2244c6cf74237542c01a5d02d0a4181b13eede9aa50e49ce7560322749055b4c1d2d6fa8c19612e427ece529de0059e20696eecb4dc83ce69161f78a30dbb7d514b024543f7caee171282e19c95dde5e54b6dafa68173f52456eb34e192e8aebc43e688e5500b18735371676ec9d00862ef51cea2e7c81607fce769919b6c67658f6023f3bb68e61e12ddc33bab8fde54dd1e33e7e102da802f15cd9fca8512648f88d437427a122326a02d18ea00e376a268e6b45113af2605e202478cb6c351a90273ff22bd9f2a61d3543012ccd86ccaefa52197e045a2f22dd4025d1a97b8c740c1bb6f72e9698d647b0ac2b02c9b6c50fc21c8e78282aaa9257ecaba7d48f34ac55379ce5fe36eae30f49d6924629193c84ea40f28e0f627455224abc46f2e113b10f5d87cc36921b6e8516abf86ab04afba37fdd23d6e9f483eeaf1892c57722043aed154f628f91348950a5a658aaee6b84dec4aee1c9a1052a282d9a7f32ea0ca974b59fb9aece53b574c3ba34b0d1eb491752c58540c7096c01d9a2835f41b515cff4d08d47b8c04e1c479fd03eb49d745f1db18a30232b0f1d38428c455710bae7ce178383887c18d700baef9f976455f8d9b20bcc731a73697398baa213e349df28e05648ae11ba096762f5f67c23e46ee7f4ef834999a40ccb5d5856cea7622d5f33576456ac67ba667b354d02dc09f414e63f9ce0bc4211e9cd8faf3a9d41645e1acbb558046da3fa54d6e1d166341cdf311b0fab2c77359d1f31e5e8637aaa78ad3724b90ec7c75c9560421d4ec8265ee5365382943677b896ddf65c39177ba9ece77b1c8dca57c4b372ba29561803d053c291295c8457d5e072900cf742cf003579f70adb55f8d89cba2d3f21215b8e3efae41bc08d03b09821277e901e91baca8a67d9dea1c4b4c63ee751547cb0b813996eb6575e08d2e9a5b7862102212b2c787020ccb1b156c380a09a40f87d2e2a3bd180a94963f166f58341824a525568232c7522382905061f5eb45df82c506f8d18f63916aea5ca78e2091b2e4abb24e845699be0e8844e45b5a61b3251d2ead4f36d1a69a3953b85c5167c47afd154c9b495fc2fa26b058be9f85006ab95239477ad0d163313b6f65c106a3ed2f89d2ba0507f93f599b967914a8146569350ac8c06379073a600b5afd8729319ba24482e63f84ae7914938817f4e9db85fc5368db0de4596ae5ea3759ff7dfdbbc17d174d0ab50f0085d0441667dbc5e099a74a5c1fbed8b498ea89b3854ccdb9a5808e5cd758f0bab804156dfdb4a121f1b853bba11c8b95cb43e493db151c28d10b0a61a57bf2e9436a8f9428f29d64a039ca44a7b11306a842c63d17db218a0560cebb86ae0a92569f74fc2df778a2d64b57b4389a6052f2ade6847d93ee770f0bd64e6d064349f3b8f97f63e65a9982cec95cd5f62a8d456ba5fa2df8f2d21249688e3e704112eca1da40eb06c164b5f7569106301e5420952a81146ed8425f768b096f363a01f6b06906e286aa22693d739a2f9c89423b4c59e0a9689ce1d2da4f2a46a17a66f0e59422acb3c89532dd7cb0c3e34de8b2d034668abd858590416d4cfeb0a12a0e17e33479e86571077e3dbd80264bbd62908d9e6c24f9a6df361dcf585e93ee4c26a00b9627e18201b48bb65acb1f1bf1b62ee11575702f3509551d738651f4592773c9365a32f11dc2b10835a4db7b3548959f1192f3c9c7bc00497121573fb000297d836d99fb4e5fc96c79480e8afdd8cb2bc5404ae6117bbc07ab9f1f7896ce444fcb1f00f4e851ea07c4a6e021b1d16f56a02e30a1ea3a99392f4236501f957872934ae0059ff4e12fb52d68bc5882d333b93cc47d2f4b6a5fdc74756fcc63ea6de64490a891b0a317c0f2ce2c40a3128d4a5a7b5b31bc7e6c7b03d17caf180a4f18a5c558e1837eaa642aac81eacb2affec4492d8ac2860291383f6aa1d37989ed863f6b4fc0eb02d2f63024144b1b290dd38c8ee0864c9fe58bcfa684293d8eed47042b574510bb156f8d223b280be0eff274fe19f8805807f0fdab42a8681176881b243f83f56cef6f615ecf254115c39fe2dc6ca9b67450c69a9223aaf61e110671bba943af11c9fe54c9b7d0f9bf1df411ff30ee59ed7034f3a5e9bf6a9719c027e3f3e8109ec48ba08cb361d9c71bc5959baddab878bc8b55950a5185980f8ad27e8b90d06a3ceeb7cbaa35755f69e1824e50fb2962657dfa4e8b374ca3b6fba2c1732dc635474699dbda65101f39ef7ee643d52d6823e0c2db3e8e3ee42b3ca301cc86136e108b8c9a1ccf3ec0170e7e8f1b5fbb8ae5a680b8027ecdf0b4d45a37d7491d15124afa0001a2bac1801c38c5f867088394e02137a1123648840cc100d68640d8e43054101420614a2e9016e4d9edf08300291404d36cba5b2f4aad4cfb8fc841abadde709635ed9e08f94cf29d0f91955cfdacd345f480492b4bc9b238bcf313ef40246216df4f62a494a058f8e96109476c8304985ec44fe83b82816b524a1597621ed24cad8e7f0e7fae753308fd1446c10409498273fa0d2419316dcd0d12f23c79ddf68b7b3d7be107c2b29c2335263f38d6c95319fe1df051a4e8d79f24111237e1c5d8b8ce37a3c04881914e0a43fc1e82199429282e38871e15c180d2fbc525a9e8133ed9622f1bdda2b70c2d7942c7cca341b2080d30d47fc3eae0a153753f84b19c8e3454b053c715cd34691eff6f8a4c1e16254241fcb5e9b7d0a7ad10a33d106d1ab4e8fc56ad4d02938e9a2fe6fc2d823d09f48fe4dad003d5763ff4c290e4fd615c01b27d68cb1641b100764ac1575525bd5930c58ccad2be6bf93963bfa4c8155181ebb6379cde6467e17c5372428109aa651cc2356641c8ca44900d08902bdf17b9028e57cd5d414c6bb2e0856c5b2eb9272408d894d2814311d07b6bb7ab786b6b68bcd6a869936552f96a89e452b62107b87377288023446a3d13fc30b18bf8783282c2ea6c1d36a0625b1ecedc328c466bf707ae2434b6607b559dbbf46ec577fe46bb1e28ba14a4572478eeb9d7fcc57068009bc2c6332ba652e154ac951add1cb6134de7217540411568b3f0dc06d86888395c02e72b23039180998366376d63b854d10cdbc6679c622e658fefe27e9e599403052f7a33604f3ab02476bb3241b4478af143621c03f6b58ce40880017d1854886a20d5e3b82c1aeeb7a277b1fc637030959d887a61cbfecf60cae666ae4f848cb1c445099cb45fa696a644b97335db0feb93cd840d823592261531ecf47ab208c08087bcf44aeb5a27425eec257e5237ade90f3276cc1af2d034e05dbdcf71a4206193c75b46664d6fe61f00bf55f1cb56656ab58da59867f7d3845e074f52398be647f25b70fb20413f635c3643991cf03a952cd5e7ce523a1685ce3e100af74dad09c400d60f4bd2586bae2bc8cab52579c0c2a7944c65224ce358dd021f4bde88f635039af320c69d391b23f77b1c3867797fda57110b57eb323d929786afef84f3d5176b6732b9e549208a4756e7aab7bc8016e185d842683715968278cc0e7d1e990568c8a3ef096d39c07643f9e2a272ba17156acc76df1ad42f9f8df0366579052f0652516edbd86b7bff10f48519db116057129096d127569c130d44d324d82f2603432fc9f829a301fb3f7d0d4d1e08ec9703924158620fbd413f46d2fc38ff0d9917aae144b2e05f080908ac6c8e8cfaa35519c6f807069585669d349374035a5ca88181de8f6a570d3b405b5398163d9c8b48c6a8c0dfe8b24f19cc703ce92ca48828f693a8b043089bdefff9fc258a9b77f3f3387b51429b61d3411f13f038b204d9b665f55cab920bdf94abc711497e2438d8cd238bcd5ea52357cc62e0392916b069d2f22a400dc52469004f4b70d1c63e7b52c9b6c2192c92f3bca684731c21af5fda2db05394d3cf45fde960643e8163310a0ab47cdcde95f3490d41164d2ed080f0a21b34dacdd8e065ca3d3d844a3aa4202f0fd9a8c79370a52b89044b00391efcebe2f92c0de2c7cdc4284a7a731c5057ea2bff27701ac299ffaeb5af43c08596167f1142a08e4e0f432e432411d8f902944150ca7752f9af05c7273c1d5d23a3a82fdb629d1a380166204e1bcaaa07d93c27804b7b2ee4b5ce16112e083380e091e9e93cf6e79d90b88937dc960dd2201fecf2440ddede7c7c135645d392b2553ef28bd4042329ca44954b46ca508c4256451843ba2718cde6bfef8394b9f78ab344d6889445f10abe97a3064f7ba8524f565d5267a9a941ec254d1639cdf49e0691a6575fbc7007a370a1c24e3834b8026e3c17c628934f7d330095552a3e0afdb34c9075a57e15a1bd245d40c81f2794da86a0cd60275a05736bab59cb4f700b179a150e40be80399d4bf01b035b493e2ee8886f8555d93d18d133a0f47997609f8397c6f404cf2165c656b5b6f08e15ac0d86303fe25f51817d1181a93f41b2c714372cda93a41f4a1f24724e4964991b1255a68058a9cd7dfbfda2dd0c757e147305c8df14738ffb6f62c21b1269095d8d228912c0868891a45c1d41ef79a2d7e50542fa19a3469027bfc8c34da7c18f8439b5e921d9a63f992c1fd815531870ec23cfc9b9ec3a38439eada2d9112cd28212dde409989d337f0f253aeb86504f5e35b53af4c1c879527afe8175c574dcb0c12e39f02625a349ffbc01670cc7f2b24505520f311099bef6a50b0a386268be952d9b3dafce8bdd9b0590706d948b1079cbe9bb2a0f25390646a119f633bc0b4a033c0abb06a0de53577cd0d48827f4ec096b623aa37edf05529f4be252903497dd1c561a4ad89ed3d97ad18adedabc930923b8a6a062d241355c4286b03bf72429b5c9131baaaa47642778469282ec73ae8f8e11a3dc56a89b477e7ddbd570b90b0a1881f20dbf34bd752b9c02ccb2346f593c391a0f123571ddb43dc7e63dee202751c90b96c60651f561cc13f3dce19035defab5c0dafaa6d94710e248e0740b464e5c289c305f524251495f0891223b6ccda9a5b8b45231c01f0cb9c79a9602ad41a03ffa2cdf526a64a42789b4f1059ed6942b5a27036534a95377774e5641833ec2348b591bdfe4caa5882d5350170a082bba443f63329234c1edf2a32960a9811d960915c9cbe7131b8cadff2dd062bc853b261b0619a3b6e4850073c177329bcbb69c372d1e01fcf2244733268e4162762e12edbc96c8ab357a24e406366b5182ebf32e5bcaae82c5f2a8b104ad422983090f08cdccb3df90f5c19da1d659f69c3bdcfab47b96b0afd87c760a7fae940b3dd6d98d75ae98b9d11f3b1a61bc01bd2ff3312b49871253848f3e426ee6e79e47ce6c7e1e1907abe4101fe029e214510a26508b853c39e0e300f89d34a804252bb354931589c7a1d78ab662c8b7b5f0d42ccabba2223483037f96f74ad7c4f3faadad0032601613c00e4a9645b7d63e3557c2ef3d1875bc06764871d27c9873c2187248ee5bd9c29d70fd72c4d3da6a5f11b654a81036f9b9ba5bb4b7bfee00e0c05a504fa8b9de6bb1bb6af68cf621780837ad38b71f90b561fcd50fb36339e46ce81dd498726e5e4450e4fe659439c04bdda2e2778934f3add2933fda3968674b8ea04ef76b3e35620d55d01905730db402c18cc2d80c12e58d017cce5a1e4391e2b397b733338dc08650b2efde7f524d64e5b6cbd852ba90a0b4cc6f364bdbd885422da3f4e4f45f8406749a11901f379bde1498c92497f4b67082e65084746bccb75bf3469248527f72db2de81196201d62ea6dbccddd92eff44873a9fac9ae7b163c69b6a7a86abddeebb5b024580263bdd1188c1e18f0b533e83418a5b4eb83183542cbda7fe1831907e057cb6999809c2754aefe4a8294fb68dc622f67823a58090a1a33b669572a650b112d186a2a7468c4661d06a2a7ec8696ab9501541ed34ca60388bea3cff4b3a8d7eb2f58ea451ba2a359903cfd864640ec03a2ac7c7b4b2de49611bc322713288a2d1bc77497672b96dedf8c279a6060d104fe509b1d086aac5d8b8a3147af8a9d9ae704db9f506910b4f8297680fcdbf3904845a3faea7aeb4518a31334b7428fa1e1b443508b5c68bbeb3e0f76c7ab3ee126039c534436b49f402246958bf7837d02095e27301bdd5c31481c590d95636a71166f699cc793c349b85694ef0d5ce8d551d690352b531288a5a6ecd9c555dfa04e1ca51398fc92626529a9a16a024404e008d763b368e09a8f2a3aa047f433f12591c09402c366c83ff936cff785bc7af9e89fd3ac4e659731e22d034412c746212c56b206a3311898db920aa2a066113f8363a116f00c2504eed339f15c0567394dc22a1016926656a769dffe066e6270e69bf7d9ba6f1f06d9ede97bd5facb35baff7871bf1573eead75e1d5c868a2d49cd356a551a688593159d696add88b590b876d0aea86141d08eb5326a7a997e925236d0a03242fdba13ebe77f7af6c7f308e5b3410d5517d4527815876cecd901af4ccd869ebc8baf98292be7fd040e1c3c9d1ee3da81f8bf4dab525853e07da0a3dde3a03a100fc7df525256ca700ff468f4086f0dd0ef77374acb6a7cc6fb34f5c1e4b9790da7e3cde11003b2a68140ecc9de6ebfaf9ac49141d00c63cd02ef23c74ecf80f280761db8fc06efd410a99a496d2be6b8c81409507e94b438a41e21bb5e1137a9acd572c061bffb3495dc19419a1e7c91d15be2a0aaf8b689d218a414a4242b6478f69c546e8525248099d1160b78a015ecf9c269eb53df54a80c48dc66c618a9f5fda0e4318733212f2d343cd0d16807afe97600ddf93f485b0509f7d100e89dbfb1f7798682735f38192ae803dc53b077fdb10f979b4f28d2fb0358110d6170c1385fd36dcb1aa361f401674d57b71a5946436ccfdae21c7d69b6e20be16aaea1d49c6475cb00a6a07e74a88ba2dfc104d8095bc84840eeaa9d4162d69fb054c89d648ab34a2590836261aa659ff96343bcf2176a917f61ccadbfcfae1679237383f107136b033ffe350898ca760f402b72c457ef9c7f12bf00fff81f9f58cba38a8ec841b8e54bcb9b2365cc34d86a0884c32c2b6a66d5c7bf88ed47b248ed11c02283c42071876d0708c69887f43a7858f1bbe54093fd3912b3d077d8a24b9ee6eb9a2dc3a907ad8dfd9019684d051fa890d1314379e4a4bf457e60cbbb91fa6f6a8212ea0ae57158cccd99708b05c07adf802e80dd20e17f2a328a3c0f45b5d3318a517123a6970c665114c2625de5c620b767601db3bfb9462db5add0a7d044daad272d5af1ab74ec400583435558e368f4800e5e62daa66b934eaf96249b991ee59807d576e4b031233e89d60eed12580ef4333ae1e80233f27ef8e9118e9658170bdeec6ac541ea62a367577b9c85a476232ddf6bb2d828188acd7c6aac263d2654f674d0f9247d4128407c3207040c3d78758a6336da5efed112025a7a9bed8b5708508c28532197b310bf067fa9dbb4352eeed2583e5a7c5063bf4f194c3bb19e6798b8808dfe0f1b18de60022a8e881cc1d0d4e2928fd2602a41bb0ced480cc8c2406bbeaec9a16a70607029b12f6c751f5e5db710bff6d8f5bb82db9e4f54ee276d4ea7e4f690509d19818a71dfd412f5ee4374ca1ffed3f21e8539fea2afd07b9f34a58b943e631647288f2a07298a9e86c09038a167e4f989750e40510718181e0afb566c15f4d861ee329f6a9557f2083572ca447f39203bf7616125970a5426137c07fcd52b4b9bf597109244a7dac98bce328d485aca931581ce98da3df0ccbf0879b61aeb6ed03adcd905733be0d9faa2801aa32796d8d7d564beedf1133ae8b4a3103d9413e5f19a6ab4f25b6391a3d97872204d3d28d35d8f60fbfd9c117db0162cda672ab343c9ee5a5e379d457b3450bf2b0e96f69a9cc0cdcc52e291cd7b8a4103da9757c6365cefc469f58c3e0046558d0e074f78711133935fcd0fd0a0ee49d80e539e49684c4b07faf9ca7a5b25b598ab9affc85915636e136d5446e02ed103a8dcdd80cc1e6647bb31f62e3f6d3d12be954a1a22a0016937c5faf83ffaf2cc74684754c5d707b0ee4e6601e38e71c62989ca4ef2a2ab205c4f634cc9026fb99185387653672d23ef37022ceb67565e8ac71ed3ac8f559bbb70c9d4c1c28025f6455671ceddb7a3d0031be8f722067ea274a842a4751d09e80899410ba024a7bacd7c32317210f2115c073de831950ff252b01cf204acd3864024aacb783363dfc7f32cf8e9ccd847a91a5a942dde4e7e6abb160a9d16c82fa3b4ceb4e2598ce8e1d59078608294ba0c8bf17c7961ff163776e8efacff28d2e04633d6beda70c05718ff8fc5d32578e0c6d0ea974828737c56436ef6b163185c7e5bea62538c291c2ccf52c827fd724e7fc58944d0adb8be4d6c79329af9721ca415f40e0a1a7d273e6e47cd6261240aa9914f3506bdd8cd5cf617f5f8a4a0bb31ccc270e5ee91efa7a9d8414b7a96bab83c1cab973b64a30ea3e96e305460ce45628321ca41e5e9a46190772f047225548c4694c269a7408f885d88f3c1216e22843c0d63ecd5cc619e783042426ae09827e9168f88dda4f63c48cc20d2e1c2710f2dd49790c8006a6da81b5ff03e09c82792410f03d8921c04b78864cb00107b2764dcd9d247e2df519cb87885d055285e3e32c2e2ae5ef1d30b559a7cab33b708b80092e4831ac0ea50c4bb5289d31cece2ad572bdac47cd3863770b46a0295193b12068da017c2173c36dc05528750fd65e4ea9501851ce644733e619943a1227b623c75adf5837a70058a5ffb1bfbfb740cb79d08105560bf24319960fb5204faa3d7628662b44c2913d0c16496306915d9623357a66ea731628518902dd882cbd1390dfc013cf09d3513a4264d04b64d2c00539f66711b1ff9d90f5bc9fdab9460de04a7213f01f5d2cf3981d4b580246d602cbb91a18328d8e15f408e308073160b798876c9d436c0dc0a2fb51d3ea6a748d9e005a457a2ad2b974acd519d9d4b5873ab1688cee278de1302434377660e459bd5443a2a796ef60c02ebc69180000cca8bb318e4718d3555c755b2f471fd94fddea01f2efa60f43f36b9574af5eb3fa8cb77e2ca553dd3321da89d2c454494ecc4489b86a09372fac4a07e25099354a3973fc9808beec80937a562125d2fa4e98a16633cb9d59cbc61064d5c52d7b5484197da4086086386bdacc38eb45c6a75f4f16ab0d3a831228cd1b03f03620edce5776036afeb8af4d2d1db659ecf754bc23aa10b14c63c21d3c9173c34c788dd6bc3b77da1411c10da1e3bea7adb761d30ba0515ef059a79d95e1720b360961dbe0825092e3af2b7d0aa1337d20de90417e0d36e0d562eca89b534e905066a00eb612382ac7b00f58acdc6bf6b85dad642e78ebc120cb67984a5097317b3f1f336afa8f724b419c25d9922266933d09232dd5f9dde094550b23ce52fccff7f15290b0093ea9b504d6c0928776775398bc53db749c55673bb8270188d99f2e1725e734cbff6733576a7a5ad422e574a47c0df13e0b7a2c9aeec6c4aadd752b4d77c5536536684d15612a959a8628cd3eb3df94ee3411a79b3fe4b05365fa29a5bafa5f4d7874f3d50f1835d557e93aabd09f39af3df75868dc6448e451218f33ab25af5aaa131f0ae1799a9ad7ecce3878782ef3f0d1e245e47a8527d609c97a4d30fecc699f0e82aa9a53db07f02f2860b769747f5d5e4e412b7184d554c550b54b99dcb6f1a70c810ba81f6b56c87221826d35746f8b3841810c80d21c6d5465181228ec91f30bada4625f18d21698f214c7e6e327f13a320eacd5e0ac204f5791b3a07f232d321cd85c3335f81647108181cdf126ad0544b3086e0f0652db6dd110bf109e6abf06fc248f75d98c9fa1b2ed83d862ec67dedaebe623a921ad303b0c4a1ecc32861decda610918cd2cb47530915f8ed22421405b66159e439a7d426361f694d32fea19f3d61ace307371e48666f38bb0ae872ed1a70c9507a66ed586451ec04467ae3585d98e9fca3241e192d29ff137799f679e369b00054df3cd784ae3a7ee3463b0d34275658b780b8b83f3911d829332e95006a00cca381e34908be9904703f253082259fdb8e39a6af078a7834848be3809f8808a97d2c1613b994ba1d6046acf56a227e6f300e28c7701de261fff35da71a246d9ac1e9b0031286009c4b788862b96d01861e6fb31120bc0762d07d34be6ea031542e792c4b069c065bbc13022b12391ed954009c838fd7a21f488f7c18fe2694b7468d9d771ec1083176f3ce0865d02bba5ac5c2a7895948aecec67d79de5e9e05617b2ebf76470e3a2c98a462876f8baa0f936843fc3153c45686327de839da6c5bc30712f62406a96f22a4e2c4425449adcbb89b756d268a6c89e0f1f9faafa3a9f05428e391f46f9d4725a8576c95fde6ce11438503f2a344c2561e19164597238fe426b8a247dfe94f8074c42be188f79d1ae0740fe8349a5086134a08fcea563b82cd4463273a2eb6ca751721c4c1cacc896d3d7e12acb86e7d5d5b34ef9ec28209003db76fe6d0610413ada9f24cdfbc55e33d18a1ccc69de7c9592e8624ff8b57852cc4d216bb5b4057b098ee0b451d436866852646199339497af80f567993e6902618dce6654b3091cc45720a4f89437a79a468399f150ec1b406f7a9f012ecb8710d4b442edad8be962442d7f1becc877be8ef820fd8cf42a1a4e5944511d28d405dbac1e5d871b4ad052e21427efa039523367f4e3d161d18a255b9b777e8bcb6c0e67f3fc7c0a409f7d1c75ae5b109669a55755c4ebb7a4100f7c5c7aa30f746d4e897e1e9d2fd141a9edcfea585c17397f79cf6940f8c0dabac41ef41a9c0dc0bd46745a7f3c6cef74aa90176c0ccc4cc12dfd917eba8f8a896e188f94b97de546ca76eceb7ead1d562185405be3a697c9e657c71358a35a5d3ef0c875bf4ec9bb6c2f3aa7a08252c82f66c156b71c7b10a98a202d9405396aa21b3d36d29b408523d38170aac2b7b7ed0fa8d63e6d39d8535361bfdbc895e9be97a9dbb99fffbb860a6828b4025b931615c8327034a893e5a3ad5caae555fe2c6d3c5e5f5a287e3bc1499a920bf27f4f42aa70c78d394c3aa3fdc8ab04ebfcdab92291c6e4d209e2e8ff4d24b0e232ee9c25a68a3d295ee23a8d6e0620f70624c0ae809444e3a0848e49283e106ec37dfc238e586a69926ee4127ee82d71efcd78c9bd3b3565a3895ec52c7fc2e3930dd0f7bdba5829e584f49535e9b49abd2c874196001b572478df4efb53b194dbe7f8e19f40d5691181111696fb00afc5e8439f574c49d3a2528b4377a92bf0b96916d23626cc9f7a00ce4d605165fddfef86f44a696e84f60a867b18f8d2cb90064cb5fc560ca33f47aee586b73996212eadcc169e80507c4bcb41438a9f098459ae060f33ee4ab697e78ec1932be2c58ef3c2d5344dd799f7a3494641a790ab00c62edba756003c3344e541c86060d0916f310170c282a6abe141a72af2c6500ee5027798531817f3d2a92330fc0c7bf86c4d834ba1f596c5f0b83ebfac5268c5178b915d118d4ee3c667bc84ef27ec9665de673473dc009fab82b4c310441882172a08aa4e5d17897e3a73add8431bd67a6ab77c61b924c3fcf20e713d329c2b111537aced72f24d7b108872a936230b107230b3c9cc8f021ffe6255af2cdd7327b787619cf33a851d3beb69f3bd779890e1bb3ff6e031c2b6c95def50aa93b63e8a3be25494f5ad87e485b46a0f821879eeea8a349a679352fbf6a54b59a846a02d669afded2be220e0e55468b1c1c36055b535ca2f40c0ee86408b1f46bff892d27ac48e624f030468315e2875e3037d52ccc8ac8068b5b43e14176ecb6e3f8f1e541e2933510be9108f05d8b3f41dd5b523ae9a2eaf866c94330275fdda40d447e4654472b0f9c302e9dfe015c5449ec8f948e944296049f07b55617565b7ea76d8e02b12b709a2af7d2e605fd43845c4d1ecd652d52d86bd7b3f53040220d7b45789c395585a31109f55da160f7b147201b0614f387e393887ab1106c06ecef63c399d922d580ec220373fbce472db2003ceecc5af1c2967322e07052aaee634bba20210e14b938f1d4651333770ea36bc8dc95907e6e839ee0ed6b51994fc81a1fc515bc0c9c0b4192c202a13545b6ed73080b372ad2eb0d448a9b15bd20838ae6dc2b19b735c5df4ef2fcc915e93968d51a1a5ab8b2f0c38e3a473eaa4dc5633aa4a313e7ec861466c08c694a47e8d7c522e73583057cd934f1e40339e8700db5bbd89a726c0f3bdb53efa437624cbe69a849780a10ed56b660362b04d1e5ace163f3109f2d08eeea06d3f81e87d41c3c3fb8c11105cdd025a31dc992c1800562e17ddb24537ba8f82b4629bce1f0c2e3c3eac742d14f0ab9b7d0a486eb75daa4e5031afc7b397b5e644228419627525493b3152d01941abf8871f81c6f9f7dee9f9c3147861143c1f12f23e19126127668a825c6b45980712c7d2402be42294964d4740a84c4fe7f5ca0d9a120302d806d967f99cb1d6faa9f06e9c3bbc43e694419370ade5bd7a457e34810d32a20b65013a4e9ca856ae4f7aa9405748540e884b4c090f212540daf11c6408499754242e1263223f2a6b8eb9fa3de1c9f7c7176fcd7a8534ef9bb210b284a8aceafdc66829bc10f242168535cf08b210863d01396c162276d319f855fd0e458ba54d03c6cd6f3698f2238fd7709fbc92f78cedde952a11a43b34e14088a7baed92f812e809f8ed49fc2ebf27cfc78303dc097953e1b420c445148b6271db2b7f227f00c44bee45c324ebed6b56a5df0cfd42b421df6c9541d551267420c52c3ee60fb52a183f4061ec1e6bd54041b35451032bc445c39c71cd011069488c70228056cf78a004cf8a4132937d811a3a642c673b327ae09989819daac415e2e0f1b9d7a01a9fda50306fa09eb29e143f76fbfbab5603b02f041ac31f3ada2d3d61f6f4625d30851d63e60ca5019d6c74356c8906446098664a41401630afaa083641552966a46a3a5532ef53dcc12562dd73bd936322a6266d3ca94c19e1bcf6fbd666f6ae083c7d94bf22f716a66a83a99856c2013c0395421447db0583d31233d82643249390e9437954b6f1302754585da8ec80dd6823e4e1d3e28186e37da24563d8131c909408680008b97020346620debd64a0492f3dc4ce4dfa01608c616a8aac139cca34b71c73e03e0e365db00d46fa1491c7f6bfe264c0357633b81396857bdd1b96a1ca2bbe9202c97e4b995c255b8c82543d0fc5d8de95ccfd29093c4eae1c4917262557d5ea24086cb7f8604499ead4bf1a4bee0452b500c641f521d9067483738d8093d09f6ec4f40ec5be6ee01500ae75edd4c3c4b3d744e25b95ae0ac1704365770cd841e69502826782ea37aa3b52798d389e1133ba5dff609c2e989c113abd66eeb337f8aae826bdb8c4f55c34ab052b56e5b7c31f91387d26a6f2ee61875029d2afc79623910a3f8628ff8275d44829bf158c0d23fed5618dd5c7502ab1008fed380b3ce9e08ad4940f9c23a60458e7b610c4f35a5d327c765c3520829b5cf8fcfaa30b38a827ea43fcdd44986d21d44614ac82666af786d5382f4738020a47963b1c2766b0c7c5760ded04e3c7d7d8a2c2a8c5b074cda807d8ecfcccd1705f720edfc8f96a1932061dce00cad3686d9a612cc1c221c7cbcab78138501d5a4b19a4afcde5fa23f321f02e877b2dc5ebb70a16af2e32e8961c4d908bbdcab6818d385381cb7694579698af60c3d23ce099422cd5b9105d11812c127c2c93c98bdec4a34ef8644accf8b88969a6e0b08df302f7c0ed28f561274f9cbdadb0748101bed0ab8e63162f727012053aa97158cf98e2772ee7d442206866ee868f2243c4165f61049a4be4cd83d20f33ce152a99c690cf8e28dec46a5e7423424c8707f4ce75d6c60fc255ef697066f85acbb2175b8bf430ee44748d260a8cec7cc91e69653af138f414d4e52130bd51fb5e4240a5620598e2fef805043df54e8487a929285983ed29dfc6356c41d89f216c9536667a5c7fb142f8304f5d3ac54b7cbf2e81b740e675626f87a2da7565d91f686c62923e999b629c14a7d973ccd08dc6398330166f81b556450e5468c0893f48a81ad919e2a6c43029ab7b90a600a858a3e7ffd501887db3831fd10dcbdee86c54f313cafe1d68d336cf092345a8e6bb1c756bf9fbb449f2bdcb2accff7e66dcc04c1f22aee1ae827a36523c49fb07e3c0a251bec2348c656735277390110ea69b1e1d77467e044b105f98564710dacac7fc6ded8cf00828c2cd3ad86630c30240cbad1ad8b9ecbb42dbd5681b89f2e3b1c11ee47ccaba3fdc53238a718829e5c21a81148d6b482c722d90e81d316d74866ca85875136e8cd8e985ba57d4fdf25508e57b9c0aa82a1e37ed0a732e5aae8ca24dd8f84016285a28684ede7bafa893e5bff3a6e49bc9b5a298d29592f748d56875225eaae9a1fe23cf83b66be7dc6b510bf523ebe5a29af1bb051d7528b9037478f9b94aa3346cad0a3a3d79408fa7148d995aaa3a8950a848f0b6f337c41839d05ffe0c6748cebfbcaa1d9db7842e3b97937043f64e815f067428230ffed567bafac39ed6491ab9d45af01ed985e6c13aef3ca10e0d74442b538821a6b8d2d4344f6d31600df29fa8c3ba8877444a040c5da77a299db16f14dbffc746a2a8b719cc6b7702f0c2b81c30b2b1eaff6640c1fa35b7436189d0ed9ed2e60017d91c3e6567fbf615533054f889cb518f984579b40db21987e4f33a08f3a5db967b8aff41cdc6f87878c1db026cd99a063ee1eadeb215a28065781f61c30b8a8a54e83ef2e875eb1f69b593877ed25ff32b6a78bec7c23b43779de59fc096a01c4763d1242cd5cd24e01e07d650671c750ac0a54eb98ae8a474bbd44c03a2895e0ec468ea029835c48fe92fa82c608e80d1be55fcbf759e2feec97d2feee8e44721b98b6bea087af8807ad827daff231546e77af72a20bc55514a82b7c941d143e63b3ffafb563ad80f0f80a5ab83153e504a4c715479f27375cc4e2687e44ab03fbdf9673a35a20d8efdd2ff542f614f9807d8d30bb4773f290e0bbdec9335cafe1cee59ef1366ed21f30db759ecdba78c3d467830772c938d2b4b5922b9e686af284999bb2924ab74c18027e74c31c63b92fdbd8365aae2d8a6ec0f77d29ad0c65e8d6c3b94726d52c8c1a4fb04b2b4604231fdae06a0c0c6b82ddee481f0d4b94fc72eafd01c6362df54e60e171735a2e534bcc1e7c2fba099da8be1710c012ff25c8afc1911be2cfbf18598d58c8b9190c94cba5805b3656717277b04562bdbccd5eda8863d00d32c6233af9abf08576331053cf9ff7c39bc72a6c918de50707e0e3eb888ae4dd7284904011d6160a23eb1b796d79076daa17969348864f45a1d81676a3713487a7794437e82065f5015cabf9a05e753969e67d03ed1c7e286f0ba386fba3e5c822d1dab7e12bb2797fee2a90af079d94ca8f396721c2874de3e0249f25a03d7d8147747c5c2ae0b8c2f4de25dc3ae669109d2fc4a6250d1cba132c54dab178f5450c96ba409e2692fc61a468fa040290589b26f957eca60cd418f7d370f1809db7d4f55984782f4dab35679ead87245aa92b09405167f1b28854f5c0b275c5f1f379a5fb7a3ad43c97d2bb43efe6fe95a2efbeebd3ee02159d9f852eca94f793b0dc898e846336b6f08983687b8de9149dbf31e35d763600e72223b2aed4c3fe1a33897632cf2a577a5b0593ca301ec5c4cefe190850f413dad12934fbc3631607c1e706ce9b7685cf5de04efcb4febc03f849491541c1e24068cc5f092bdde5aa0306a3cf6462ea2c0c697a2b2ba7c6548fd00710dc4fc1e2ff266e50978bc8516b7053abd15c42390689b41c20a093ed4f111af82852d19b03dd8b1939f4610cfe2dc1675d7312f92fe6b2b98c5ef3aabe59ec72dbb5260ac7bbcf8f44d517b9460470b12ca37d471aadc87143bba8c0b90160b7488be91f6fcf5b0d37b4b48cc28bd6f94be1bcdf2548c72257e9b46e9e74c4b62ee98dd1aa6a161024efc344c17c70520ba6e9e69b4cde0b7fc40297546951e9e93484f9637273696a08f27b251dbe088d51a1b402c4d89e82da3faf0b2e44c6a05799b408e462cb6c31da6ffe71619cb62f7eb8c411967f97c6058a9c10e68f250f9c33d20cf8f3e87a845d01000498603ade10318a4c8a9b01d3f8bed9bf81296487186f113e7bd9a5608c19f08f8ba51c7acbc01974e78e327dc52ee5a4a0870bb41f52605d30af3b360a0c1024e18bd21d0802a8f92fd1132eda66d6f21c958ef23d4826d6918c4276520c00428d5fc67978d32a51d98f6919a19a8e59b5148cce5ba13395ea4ec7064c84dafa94f6b430d70754c9dd25eecac6d0a891c1c4a3b43445eabc57310b6216472a879ac6d6d05f15dbd754d45ebf81b71755a71d8034910640154140f69ead2cefbc0aaacf60e017e34afc5b25f9df5a3d255e04d39828cbedf416e345e79000b5b9afba89c3c50f392e1fe1004b7a9e5db1cab6836a1e0b715ff7849a4700bff4d2a41b032ab22803dce8b56bd36bf70a0acf34288e2206436065341d562f6f4a5b1dcca29a812583246b11e9f0325e6db340c92fbeba98b3d096c11d4a9dedf4d937dca3d936c7484e65337ec0e90162400ef54417e308908e99bd08e4e494910b992357a3bcfb52375aa7b869abc1d14f7b1d0dca6388789ae0b5dd0c68ca2a54ed65ffef948bffdf3bdc8fb82eec3630766c81c532ef0366f7cc8cf9e26f96a9ef749aa9bbbb4b18a3abad262fc8826fc7c1b7d7d9e1465b72e3fc26676ca922cc76f986995d67bd01bab265a97a3807ad495110b8589eb3dd082b33c420a6d0765ba21b6c1f424cc4319a0055819292c23722ffb4bfeb28359aa5705647a6d8e4890bfb4a9a7d22040b9858bf0ae267b44692e48f4edf58d987b59584d8cef9d0843d7703640d269e68671dd253ee81b3bb5345108d6f047c14792d975b47ab7ffe667c1745d38bbb1b89b7bc28ced77505a12f4919cca06a5e5be9c456fc08b7c869eaf6fc3a6c164f926819f9e273c4603b55cb27b4d9f860e5a5ded971d2f91446a25fce6dc81add1f4e955641ba10398d43ff6f34074fc41c27cf4e0b3696bba519e4d678e864992cae829c0d5179689fdbca1ac17e1fc35cecb2c8602a25f2b5b8a40be1967177064473601963a6aa02b4694b24da32a80ceecab1ec6cca1060ac152e65e8cd5b7c0c933b0552cb34179a2620ccd5c8d47c82631d7e29f50b67f5e4f9b977b8a5d4ab9eedf96f008e25941612a417972f15701cf0b6c0ba9f26b69da980ba8f01d016d1ae324a72dbca7c6c49ac1ee8ab37127e58896284ea09e97d4826563b1669a07aabeca4abb59ea5100b645ba64fa4c3d3833ba1792116186dbc4618d5ff247d0025654428781849d67d8e8709a24e775a3bf7736bffae4476a1d7da217d910a3bc1b82aec51cbb2b555bfc0a60d4609dcf11914587eb750c32c562c5e579df583c7e1e1aa7dfa205239703977c94595710028216a8ecc118f52e8f2ba917d3e6d901e67f52b2211a4bfb23f3a653888bf330e43d84b32a1dba28ff66e58b0239559d5283defd1fa4505f5cbea809957704357990ce40caad38a48208f1dbf587cf4e92e9c97132f9ebb3ed499726955b4d59130d5c69186e33cdaf8f56e1bf8ef32b3fdaf47e00a7428b2287a25444e9baa0bc2dd4f59323eee5fbe19ea67724c9c3a97e29f67129423dc12f1e57fee1acdf42899ec4c32a73403ca01ace9bface438886fd311da09348342fba1eda4265ae90f4ff841cf0532c76e0cc73541ca7bf890d29b4d4d87ccdce028d097799c290147fcbf6db0cec24e32cfc168669f8fcc58c78a8aeb0d84aa98383461cfd4251d1590f1342471499fc8042464b56410baee6208625c8f84b6a70eb93f8a6682ad4c78f791226bda4b3ef5e1327564f4044120636ac7eeb4a2905c424f6e3f220bfe534ff9a729a9aaba18fa392e97f87a4503771fd9206f71dd8d11b8ac6c9b2e462a5c3646515d301e33c4c7cb6371b031bc198de7668d98baaa1b883505cb2b6859fb3aa8e2b1f87cf0db4af2bd77ce3a193d36c9cf659a753538fc4c8a2d1a096759f0188a540eb2b788a1f75518f790d0d4cf37a4030d1743da0e71c82e216d00b69857d5f642db42de7e59a30ed6bd9425bf45a14d0663d56e0af9853802f54dab9197df37b5a8039e748f477341bffdcf1dedf79f95011c284891b7ae3c01f723a85a0998d9f6de7381c285c1a969771e0194e222b43d17fbea698928f86775d7b064f99508c56faa946151d7e212273033d3c8ea81459cc21dd32300e5005d15b81e0e53044292b9260c979fc2a03c92f3ba83de8141a72a1837881041def74a685e0a68cf8df2fb620eb412a79e0287d953d66682d88affa0db737fe727a1aa1776465cb12d1b4dac3b76743b33665fc473a9ea3d342a6b1aabdf00a290c15148c564d90787340585609c59d51a11f039d66ae3dbd877e3911c27ca459e410af11ccfaeb36c9b22b6528310bb27f6460d2e5b8b8133fe380eb83caf28a86206f798723aade21708d1bf9738b6384380e578fc9dd9180aee31d8581f8845306ad57e1cb9d90d2816598fcb1818a926012489314c0cda8f99a6a8e43769eadc3f010ed2478dd4484316d245c52f3cf743b569d24e16ddf6a0d12071656fd2c7b1cdc7a60dc0006a458f23c42cd302c489c8187a6163e09f6ab988319c26ac98044bda4a6644f1628b5945acca531e45dd1dbf7908c2cc552579f888b76a4e4c9ffa401bebc252edfe41fa1f1b0f260880a1cb5c6816fa5358c2bbdd28eb03ad96b09ce2dc4974576c7234f31de4f70824ef718014a3f7381b747f1b6bc399f0e4ef5728bd4b16c91e7150a3dfd75f489e8cb592c9a983b084f2a4fffdca99275ccb5221709870d63e5306983d604da8eac77558604e3c5a5e0cf10103989167e3c80ce6f4a0bd4734fcf7e2117f170fe3889d5f045dc55f1de1816dbdbb3bf908a4ab45f40134b68ef2e1eed0950738019275ff06b9852b7fd92e17c71e5e190348f0f2a68d0be11bb8328e27f51f2545482b66c149c167f0e5be159aac55fd06a37a784121935ee0b259facce9fa7f603caeac51b008ed4b1c52e8baab9532829880f5d7404b71400a64c29995eb0638d007a3b0ab80df4e6474966df1cd7f48486aa68c3103a64c3a3225c4c08c3149a2311c0b5acbe8578afd8532043e33fee2d54e70b857d01ec5338318fd57089c94cde8225112758745993e963114fccca5c849f8720b9fe66adcc2ac940e2d51782e33472981a84f231bd7478e01fddb9e9e7cde81d36c8cee00a09e02b057abb95b85a4c38c9158329b8784024415600f0c070d405481ea7249ec69a5263e534e71c62eeb885dd174bd7b095895538f1f6a5397269694b506da80d63608166c3ef88b1937b645a22135c1f53e4c6c1ab6a537f118227e84bc26615b808dd87b6a0c037e629634289d3f731f41e45747ee3c379ffad797d8cb13e1a3fc266e42b802dc95b6ff40cc1b99b07b69fd7f483ed28b7f8dbec1790262c8883c1e24a42dd1eaa8a58a1236dfc27f49d6bd15b61537b5cf22a1cf42b99586147085074811047d198031a5e84c665901b4c72fa8218f273d2b035b132e6f77ac809916ad3afa3302c18d64748bfd7fe6d347f3023cdc2d452577b7e4dcff545884bde8c61410d72531bf426c9d4b2b398278d3da383644a53c1222161873e64687af8f10a319836927829b99cd11b8f382a09766d1721310d834bbe026066cf5ffcabb68b06633aca4ed207ded71849144bf040f4a13539b1781da1c2995030f2726feba85ce5d416663510c9ec7e77ed8048f4fc8d5c6cfeb8801d925b66ac117ca49d25d7f897be546843c002d85d9aee1303d432d6e92291e5dba088d04336d51bb8163469ae86ee46ad848d4f59b67b317c32621f8f59a14eddd3ca5bfe55076ed47c46688c3533a6cc7eb14ab9c17a9bb4c0713ce2b5799e5587a9a9142e1325066023e505d3fb0bfd73e2d3fea4cec292d8cfa3ff555fce6c31ebd29357fda0768ac42ad4cbfdbc6f3a1591e2763c3eea936538f384abee6c0538950e86f86747ca7b104d1d28fe233d5112c7b8af86c8e59483df61db394a9f849486863aea1488d67d566187e95d0b61864040e9dff1bc2f3820e975185fa6b4d5fbe1297ba9fd7ddbed9aadbaa8e58054842b4118c144b0792412f42081f38a6039985e4dafbac1fd08a2c473d8d411935fe7d95e92377a710c6a8b4bbfdab86f31a15de803a6a13e6c686f51cbad7386a3025a082761cd0b76cbc6279b2a6c4047d2ce7e773895ac534793ae0630e2c93032c0e449937a33befcb46dd66c2f078448cc481d5fe985bdf797b263f5a7ada57b9c62927c73ab55b07d89c1c54665d0dd3d514b847ef9aa0250cd2392d97c7623f673e15ca2b512865a777fb4a6d427cdc056648b92e6562a788b0a09418de4d578c0922720c4a69352af19578a1d2fdb31849bcdcd64a74ea3f7bdb7825f54760178ef79b24e60214c7a543a61862ec4a30f1708aa2cf4be52d3142ae02fd3ab5716c67e93e0075bcc3a51c602dec6a1e9d291869f737a3fb74db43f254f20f3a51be146281e10068ddb4ebdca216e5772c6bab4a68ce97f9e654df3f6333b0f7f1f2c754217df29ebce8b63c6ccdb9e8a0036165374f4a78fe3613d683d58de2354124fec0aa92cfb63cffa35ac59597b7ff43dfb2bdc842444c770073ad0e34d843194c99ad0b53085c244d0b407572c59cb0b119ea4560bd53206e3f2450464f22445f594db6c3c03a3da52b877d8f69f247b154241d5789a4ef637e30b2fb924c8453a96ef1a617546ae37d755628f42f6b9087956ee669d4743809831ba2fdfe8ca5111667b0f0c76ab0e09ffa22acdfcd28e8c2495445874b2e8d58b65757a114ece3e678e47fa8e1b734f369616d6f1443d6005e48e55b00ad5173d3c7a17e3cb7221bf00cb95f037db0226a40519a0ac9295c4c96e87d0f90ab55967f305b8d9cc454409889195d000836c18bce3203c4784ac477686e2cd6d97929d23f308c504995a6ad9ca0ab95ceda684f586ea223273753dd34ef93ca925c04c67d41b34fd0925cc5645320ffeb48b9cecbb4cd4f5c2410f1024c6df70285811a69dba8db77187d1feae648d77ca5dd9aafbcca13b3c2f899ad2f6930b1966f7d3b2a4433b0ed274d34b698d028c008a7dab143c57454508e716ea07525d274f554fc8a5bca52007aed838afa4bd4ffdebfe3851007555826d044b49a552210d0e57f4f0b78f92d4ef2bc3862931495189e70d4f0720fb98fbbacfda93a088a22b6be30ba0f97f84e4c46b991bc9d706a1474e95460aa551750aca3240335e37d57ddc31b163d04fe11fbcb90e317626edaf548ff5ad20f8c0d695d21695b6c5d0d2c710c8a6893fca3601421608c887185905a1d7b62725b2a3b7142b57867cee0b82e0320c611790a85278677fb1c6c652e84f4d14f749c001035ee3e1f313001e2a8ca5f020b2856738ba99fe8952518b4dd376719385eab5d7aca696d3a0b6efcf8d479bcd595c3eb53754db8ec062f5510061a093f7ddb5ee3594e0cce588578136913b282981e94fdb0494220b09f604ac780e3427829b9f322140b0f8b137b2d4581d4aa8d788849e04e33d87fadb001cf978aa1fe9730e47ac5bf73c3c9574008c9885ee8190494cd558a97b482e2b0420f82efa1937a27c86432a04337e800fbea4e55f79713446c4d01deab9e0a3a6b31afcd7ad88df4e93c8e533d9d81456f54318d87dc4b71f77ed0c77c5b8313592825bbf55e650247b421dff106d8acbb95e866ef27bd04f8b22fa801a2fb0c5fcb2ae6cfcc7b296ea0a75338f4ce6b6c7ce85ebadb3d1ff4eee39d4c73267ca96fdebb297bf642acb1b6c4947eabd7a7ddd08abe938c4b537a264442f8aab37ba10a22e505ffaf052e1c9f947cf1035c2f5f8c196c6cc6a66192860a94eb9e670fea5c994d64bbf2a155fcde90131b575ecd1fa46dcef5a6f9d0d47326d6b1bd2680bce65b6436c721c5dd334b69b38125a48fbe1901f54281a02008fa9ad50d30e764ff2efc8a0e079414ee0166da507e5dee21aa241ac480bb0e8faf7403cc148b5abb3b8c7d9aa77f6e9250b5cb4028b714e5bc6a92ba91c1ff336312e71650e4807f2c1b2257a45ad71a31a937d53c2f2f9d1ed7470921fe8a72993c1d53fb1159792f7d5902d9943a45fa582c15da1b145cb0867e65dbedf6e829e818462baff57ee2b2ec5b1654b9f49c25ef002fdb9ea7a9d54e805306bc0f1ef09419eadedd95009d0ec9b90a4a7a74a76251f6ab04a8d78369da3f614a5511d97d154d746b413cdc6ba87d1aef9a723108077ddb23c9189e5e1640f0edd9998a72ad0251c4b2c1841bc81b829377c5410a7a8da6e635a50db0ac2532d16e98e1ff46539e3939533c74e34cf97bd21964a4bafbd77b19b4af77a9e5f073e890436af1fd9eb63a291d4da7318217c8cd5fe8af4e2f8a675d3939a52e973721a27a23d69701f5da1e5582c664241c74ec6727c611f0182c6906f66ee2cc4e3b9fab09d0985f6a7e5c47694a5fd087cbbb377b5cfca642fefef8aa8082a51070dd9ebcd2b1f2a33593bdffffd3af94413b07d76d7709e5f544c1e01241dedb6a28ccbd4b584101bd1dbd8e2de60516e9c0b91c378b61e4624601aafd57de9e5a9981a02e633a4b6f8689aa40cc323e153d73fb214baef5862a5f467e5381cf2ed8628eac7c561942f91dcd3c465f1e403cb15d5e78a64fe94b25e1b2db1e18603475d431ebeb3b6c7e899d17df70bec624e7a3f560b4281b50a490689fa14d3d5c8d7b4bb147178c9722f81e6d50a99df2f4744ad753beda56a6da55c0bfc7b0fa8558c252465300d7297f42b20c75908f1518cb87fd5e1b21031a8f58c1f65f1b6470fe2e3c4ac42a6719f00b9ebdcac46274ea112c13e8eafbf6e3c44cde600e6a470441d4f48bc3f55c40acdf4d503c6febe2645a2594cf8af0b07389d71bbebae38f8789d4414779cb73a946ace9459bc99782909934d1f67a84f09fd7c82ce69c49289d64f7629c6a2c4fb82214965c95c14373df4bcee7cf94cc00b3e2523d962a6f44c328dee020bb14ad4ecb67abc487d2d7badf608fca3e04316f8807c9d726c1c97a3c384bd45de7b7f9d62716f04c4422a354eef6db754f5c3a03683d8c71dbaf7fe4572c46e7235d5b34ae50bb08f7d90f38fa886fcf726295bc19f8be3a12d8ef1499623cafd9fce7b28b86b7a8beac3b110facc80f2838b7ba3c553d8ccfa638dee66deba5c09259831398c6428ee00de04ff884c4d91754dd9f84dbc7cdb79a4ecf6725161b83ce2cd7f13d159b0cf409b7da87119343168e6e2354401a9f1f56290f90ac8672fc939d56b6f4d5483c33d95d20527f1b809f971ca9c7696bdc27834075beb50f50968629af3c553571bdddf4acb85198323dfba9ddca9ca8be153e807de6ce4ecf93cd936546a95ecad191e94208676f6fa7bba4655680fd9addefee7e670ce9d8f064f6226f3672be357159e4ca468e19789c32fb6f3a05a62bc8518e0ec07ceb983922572c81f83dcec2b393644adae7d67907396fcfa460cd8daceb5e1af7495db3b1896a91ae82e75ea69e9b1b447ba05535863fc6444e9c0b0144ad5bcd641e100998b46268ffa8ac000ce1cdb715f3d82139817ee0199d2bf66cd508d2f5d39047ee5451e1366c7352d276aa4dd38d512c7ddb0ee2c7f3b0e07691addf87e830dc4a16f0a722826c92e98a41f5bb05073da31aec176021e361b2ebe63f6868d66a7092c71412553032e6dc0f98d27a2a64604bb4ee0f1c685fc81d06706ce68789bb2975cd83519d3e461f2ed49adda0e5c658ea683fe9bb75dbcf676faead194248e205f3a160711a8f06c29f78e8eac06546ace1bfca1a3d62959d957300e236b52305c2b7f4392f260909edf9bc62eb92ac8f4de774e8e40c011726d0e2231ddf15a4c0f818713f72d5dba5cd02840fb457d17c29cfd4b4f970e38bfb59cb8959e4800c38d5a78cbdee4d9e4517624ebacc1e859276fe9e328b2d3da21d253714a60f2f85d809af75c76f0a2133f745f02eb76dd8f6efa144ac53f2b974c4be748131f38e1113556e18ed5bdb058289dbf76e57da0c8bc8522ea01500b252bb986e0a28798d6520dcd5c6967d45c14c4b16ff754f45ab1af4411b1b22edd97a186f21a9a137ea294f072d2f3e442cfa5de19e5264778528fb40eda9def9b403daa5ed5ef3b6c3211f2a3b6b4a559dcea4e7c6c46a46b7f801b5cddd3925ec73d3ea928bb27b83d259ea59b190c3d851fb66cc44af806eb110fd0b32e9bda8e7ede9af7e2416dd9841de05a31eda9843b876b1bba270d4ce281d286cd71e675df3899d7e92dd6a626cec17022eb6e2c6d4ada03cede9cd844df747b74b181377d0aae82ec209182d7d2ba64cfb759a766f5e15d558eca7e5268ceb16e0d6bc89ea0b9565968828fc41df6ab840d807ca0ac825cb3d74a6cddb275a1cb5704788c44ee3e938a87c198d216312b53f15e6c4a4cd33536ece578bcb6da2d923edb3e2669dd8303dc3c21293dbcddc327d34dcc9b23d26142e168b88da8db3ec79640c70b225821e8241b4833985ba1a2efe311114667f947c7ed54e8a6290ed23c349d9afa54098f19b423ade6dabbe90793300cdd1627eb900bbbdcefdd2b0e9f89e0e5bae251093a388b6365aa94b3e02baf0aedc28d82c00fbb9d8c2aa7b0eee6d327d37ba9a1f306dbcb6182b1f8730d02e04f8b31f38bf01d31da4e3031e68c25119458d07b765d10c1a5887131744bfb7a22004e192963daa80698d1a199fc7779d1515108e0e1d6ff9d56c8787aef0a730efafcec4e37f61692173bba580eba1097207e1b888d45605b17d512187e1801744a73d1a119418f16b99caf1a3b3931f523627268b4bf4ff8713cf2db439dbb837a8e3724273efbe4fcbdcfdd937cd29e4d27260fe8947f0311a73d3622797808449ce09954f6a3a4fbee56c210cd1ef7f814ca4f15f3dac72490c6c459a16dda2180ec69683b697cfc8e585675a2ebddcad29271bcf7517b94e6b507ebefca976368345898e94e3d5f01be7e5edc102a0cb5fda0efee7b6abc305d783d635d355e8325c2700ef85d933992f739d76fe3891ca0ce7500a67b6405fb30d6572c3e3c80db5e38075509019d545077064768be509ca007cc7b74fc7d8a24c606f03d624cd27cf2314e1858e0689b0cc4aed69574c40de9bfec75ff19af693986ac35aeed3dda912d7e7fd3e121d9f61183156113e4694a5bf1f604480a303d47ef87a8f9a2f408a6c4466c811d48052075234794527cc03e000f79e3bb0f6ebadbf4841925d26cd1a5a8286b9d1a1eda572eb4ab549e3d646f81a27bb661cbc8411978be0e1450dc6af488d697a5930f82f20cc9ec37c30afadf329c79cf87c98e33b8da84e293ac640cdb97bf014bfddf8fe6d7f5c9ce35d1edb5c80d2a63e19c6af2f2871ea1576ae28197e2eb2752ac8f177b0aa2bd33d48001f8eb0b6ca88398f8d0830d232741aa90e031828786a55a53f831b9e00634459266713519f3963d3657f874a8390fd6fa3a8b080ec3f540c06156736f3e611cfb28f4581f0221e8465e329f877b7c09ea33c104ff54322a5e31b9cc8cb038cd4c31bf618de5cc472b993543a2c3c7028dd19a70281bd53bf44ccebfb7852a710125410817e55a9c2275c9f9c16eef3a0c72e49feebf307ef9008ea9c105eda50aced75b636811422dae1b664e2391c480913bc1c89c76913b875a4901330d884669b434bfa236233c40f2da81b81a6e68f2299694474e80dbcf9633ec2e283c6b14998489052024ee400948b079686d289ef97220b44268fffc88c8c322a83c934a5ba2c568b8ed5488602de5b93087ee69cf70316e90922b7e5dcf11b0e94cb846cbe294d260e0a6c30828cf886fda7a1e8fe020f6a48abf40543aa3690c374d54154222d0be1e073dd2a15c25ef30b4e1ee67e1e03dc3db09560652031e9d9df09c3a26cc48439308f3ffe81b302c3bae6da8441ee255f53b237a4399a6d2a9bae9a00bd085d84cc57d65d8e76fd4a8275f3b3ad9a6334ea7c7df0a3f6fdc29ba0c53e0ce2467407619ce3459b29387c614b036f84371f8dbfd513f4d09b7199ff41854d68a517fbfa2dd867ce4ecd336fdf2a81d6963b0ea5251890038e119795504ef1599f6a467b1f694a9908a10aa5df7dcec2d95e65d6006fe728f382af514a27ba3f015b4e830cefd632fd50ea293e8e1389cd52605116ff560a9aac5950062458ad2978992592c341489ea3b441775174da8a7daa831fb18a3b312f92b0c2815f70890382a6869ef30a614534a9c470b6c69b1b9d81e6b509c802cf1e17f2c928f0709c69e9d64854a61377992f192a364c678913b1ae90ec532ac38c9c19b456860c8e17327ea17c31b150d184387c43078b4be897db39137db61abc748f2c2c64677862f924e292d4ac5ecd0342b5e127b3e032374180d85f90748bec586501e282327b4af2da746ee9a2d1380f2f3f22873aedb2a2b06c7beb17f63653cc2577f823b7c71bd99ae5b06c919b519a028e436f7592610634d7ab8e392aa00541ea9ece70a693a818d070d5ae4a686e6c91b5dadccfdce03003a922ec12d53f2fac198cd896826197088bb37c9bfdd92e716079121d80559e21304a25c46d0862a82a3819924334b5f7549490093fd5daa0158228e90106ee69ca641bafc58ced5c2fdbdda88f0e580c9ca98721ffebf96de2b9354569e7e6fcc36109049c581a364cd4dd411ecf6855ecc37967220a155d9412f81e87755c544df6dfe96f47ab507f64d9d63fad6f9a1c23a21b1e8dd5a6c56379d6b9d17087979493387d4bfda8119b8df5ace1c9b3e44dc02faef78c39a78841d53fec68773d46ef009a40f76f52c4c30b7a3b78f08b0ff41f78a589666116b676d1f0c379908cae6b3a483da6a7f167a4d53e2aed2cf6d5c7d0239c0aaa46c0c4272fac4678024506aea7ec060d6be2d8778ec707b260b42477ff81d8b98b753931a8bc931d2839533a1bd79845c7ce90f856c0b32c2e7aff2831aa8f490478f827b35875f9438b2ebe1265687eadf0f6291b1eb199f2b0caaf86cd6ee79cfc94777aea73adaedd3ed4647169a72ac9e02eab9ddfd7698f4a76258ad200fe579b3c2a3163e8b48a3ad3f34c95b13d874ecc10c4b2e30983ae219111ef0194bdb9bf0dcb33650f714f6daedb4839215df71682a453123df5744b82a56982bdce0a23da7d618e54f9e792c2a250c854d169ad720689958c2bdbd0a885774a4cd7291790d9557b29a9d6c9035b9df8ad770f5eba4a0440f949acb759422d17219a853ba5fa12da5ed102ef405b5e851b6a8c0698ebf1e12dbc7108c3f1bce78485e5501114d901cd01f5cea8fb9e94328b61abaebb6a1b4d859face0e37b32a13e7c9406544a6b2b472ff76221e7a64bd123bdfd8a0038b42bdabef30bf244e01c380dfb80632c0c899fb0657318cc1bae2869ec113b21e3027f01f26c945969314ce5b2f8330fac8f64476edadb277591c459bb517f46c4ff6a965f25a0556a619ed5ff609b8ab3801d4968760a2a0ee32ea27bddef1f9d89c624f4309c7470692d842010ff4ae4dd4c2badc17b0782a03cddd04d79e11ae7944cd7201122bc119f6dbf7b69b149fc7089b30b3990075f560addfd9de8f2c5191091dd69d8b6ce904dc8c6445121b9e5a15deceb4c365ad8ec3013e575efa143d6006a95d5b9e84307c2262a003ef2e2c64c1468aca979e8fc262f921102e15eba037c20a0799fd411e09c8530b935807ddc5adce1de6c55d3e506a24fd21af6470a2d5d1d4601ca8f75f49367244119d4ac9e3f3b5f69f6adb332e4451b409b5fce86db1a318f96ea07fd52be05a9d11090e8494911f7268ec09407d825896d0b0204b35b78e2bc6e580b4c30e2d31c75e2792cce3c85592998870cdf865956b1bf58bc08e96451a6b845ee7e93b574b58f4f46f83d20f2fea084119d0b5834bb7ceffc7ffbca2469615cb0bbc867c28fa42172e0b567aa60f61f0b1b4f84b222234e3a344280d8ad65a95abcbba3b691bc82fcbaa54f1c1424ba31930ded520260c81f85a5cfe600134cbc411ac15535dc29c785479a87e6f24e35abcb4d5e701147eefde5064400f3eb7c74628534da48cfa6931d1f1512695d794163ac92e01e7eecff7ec712c6fd5dfbe50bbc6727e840cc996b363e7a7ab945c078e44351e5041a066868c50fef522f218f6b8a1f1d0e1ea2bc4b7ceb55b06ee109f4e9f524274f241d8e9951bf3e85eec8fdc5142b69e1f32c69dff319cf9ba76c8c507e3512d7bbc7da23ef9b0c0ec1bfc0da6c9f294e26e9a84e8a384207e80a63147531f66a15ec8b45c4bf3fe1382c6cefbc9c313e218ef8af8fa83162cc0e7858982c2e454b78f4086cd631abd35fa9e448d0f803c10a4714d0deabc713be3784f2f05a18e299855e2398ab38a4d2ff7ad15ecabe6d156ecd885497d2843f2ec8f8a57789fe883445003c43231157759cb40f1390fc232dae3d0ed2f27839145f5fb70ae475e0421f962af0eeae0a5ad886993d372d6d12a7d58bf7ccf52a41c5cf4ec77f8f04953a2e6264bf2cb674ff5473d493d85102e97407bc4975b84d7f3d8cc285c914f369f7bd7d53d7736eea1303511a6d86e5249c5d13a603edb196fc7a57cbcbd026c17f6a1b0e0a77d2acbd2cc6405e82b5185b0e89200307ae849dd32b3eb10f95e965dc29bafc9e271a77ace22488865aab884643235faab84d9f6ecf4c103c8dd1a100ba7362eb147324ebe8345241c6fa6015922d0aca4a054611e3a005b008088fa800f3a875ab2c5209d0460268ee8869e00a288404c9a10ea21ebda847fb0f3e0c30a3605e3e096f9029a59201bb35b197eecba00546f34826a7799e8f05bc8372d39efc789cdd7c5078423e12ec60dbb427d5305f476439daae88b57bee5688acc2f6207b594a71d392d6702eb183e1807264a413e12029c607b4deac9dfa53b30ada4a8c380eab07b6f1ecdd84e9c7d5539c48a8875ca799def811556b42e9a7c94cbe73846806c38e880a7e1edac12f629e0d20ffe2932f824473e72739971a98ffe4f6f852ce86d66046cc60de9a9492b293a3bf5adc5e1b36f44fab2f64d03c1fe8eaec7e0b25bc448345e4b8194aa58082d9a66a23b305f4264d03147e036a80da845b300ac34a077db80c06f98fb23a2c90579a406b82aaf905ed3a19a8b05f15f049515e95a1b005f7cb14a79cda777c3c957175f3871fb3e1fe6679b407f3de00ebd2b21eb052896cdf6ba069b1fe924688dc64ef4db6dc524a99a40c2408ee07260893f35a8ee32ce1380e735c51f7b592bad6c9ddcb71dc75cb71b5d63ae79c93e3388eb34eb98f43536badd512e15aabcfa0896badb562309afeacb54ece4c2e6badb54ecba1f16aadb5568c31c653d7cae1c0a5b9b8bbf7d67a477bef9db7c4f5efbd955ebfb75e8d3b6b6750fecc75945a7bbbf7762f499dd2db6d79b735c5b559dc3037055b21b65efbf48fb095118fcbf9b69c5580f3a04806f003cc20ff0906043be4b34dab0bc867330f8bdd4f22cf08c018fccc61e7d270d9de25fab5a76d072b48b4ded3b60305d4ec50c3133bb880f10e4e1b638c31c638471555c554da6c8c31c618e31fc2e4f8e1869ba0b2664625cb87c6c3cfac68adcdfab5ce3ed00431864d1b16a0180104359202e270848b1681a2ab6a5d5c525be8a81cb87c3a00014e61d3dd10edb267dffcd4b26f6eec9b9b2943f6cd142ef915dbaf9efdfad9a5cf7e5db05f2f0a20d92f0a5ced974d0716929831b1cb6f87b11dbe0d3f3fb1c31c7cb04d194913b5616cb0099b140fb9763f9fc0d1e5cc7112ecb26773126c8e93a2c4e6709892b203f75738f970851428b7a6258ca3dc76d288b9b2a487a24cc92116d1664bb36fc5284f64446eec060bccb8c1ccbef7dedb43075cf7de7baf0d6832b59a02a58587806ac08006a06cf042b3d65a6b2b50b3d65a7ba39eecfbf74661d9b70626f7ef8ca98727d0b4511285105ad4d41feebdf7ced8650cca17fbba0a318de725e79c6fc04c40efe0049b818a25e10e57af19b67872692313b8c57024ca06199aae50d992acd1c012aa4c4319269c0e561d0d5c20c13c5865282928b953a238284d56b0546af56766283434e1a1098a0f4928100565082353aea01041d5b47304be185fdc44c7f634e203533368704f233e70058d86195184d64f5c2bfa4373d16c31ee690417327821b2c64badf3c81ff4a21320c23ca2e2ce8b2c817656995ad1a9e43e12602ee1bc4799e64f7d23bbbe1211eae7acb5287ed12ec9b26897f3a6a3851e6106d5227a5310c70e9c172f706bf86e38a0a7cd969cd18c627fd30a2de82d7ff98ddfbc5ab3193727b5aa2d4b967a3bd9d16e5ce630497af19f7aa99593d59a01b3c610c5040e2945973162cc237f98bb6ef0e8a7b9dfbc3e68d5daf079ce54aaf5de04394ccaf2e79d3f93ef333ba6c15eba4faad501fdfcdcd8837e7e8f761d59d23f8132ed3c729c8fffb89daf547fe22cdef429e715e5be56afdc3b25c0c5ef74cf3db5e8a1092a5c7430e22a6b69ce1f77eebde819d38056976aa7144557928aab0da4d960eefb358ef40297bf95767da52af3cf1c292b691fa522e3af1fd8410fcb711ce7c3e2bf75c43b5f72f3d8a0df69b67a961208de9c138724e71a15ec953cb79cce6846dfe5d0057ed7b3774e5f1dfd07495aebbec5eed5b3774e73993747b3b46da95fbf3052e6f47b3987844bce6438847eaf5affeb8fa7483dfdaad567a5a54f85b5d2b13d6d4f7088427b4eb478a204afa0c13d6d4f247087d09f07b6d09d1a4c83eea4b05ee82ce606b1043784c67bda9c20f182e6f6b439b172527362430f9ea7bd956d57eba4140033687e04a45b4bfaa4eeeec3d55a6badd571adf6d66a54b344b656259a51753acea07adf49a7eed65aebeeeeb966cf97d6b60020679095a69816f86d42606d20be2d9ddfda1d37f1b62387f1db3996ddb6f8951cdbb1c46f470fd6b470bcb186b1e0e8c10c9a3f646738d4adb5b6563b726966161ee9f6bcafcca1a47f895fd76a4b72dbeffba6adf6ce5ca16c47deaf3df38d17cf765554518502e6d4626da7a653d3a9e9acd0f4b9efacf0be3de79c73dadab2f6adedacc5d65a6b6dadb5561cd45afbc367f339ae9c6beac518df6cedbc944e6a6d48464fefb0d0f427b516b4955a6bad7581d6f5cac0b5d77e2e8a752dd68dc3c2f69eb967ec1934b4daaf7886dafbc271a1e9572bc4be60ddb5e19831f68ea1e2da3163ec1d43c5b5d7da3b66ceec7b39d75e4b85bd6360958a710b2acb617b3197bb96f7d5c7807834e793dd3895d8733e07f67c00b8d3677afbefcab83ed1893898c5fae667118e022829c2cd92237454d0a601d4a51b328899d1973cfae991de0fd401ea56a8bd5a5555972a1d76db79d43aa2b4fb80a65f47fb8275b5aaaa25aa429d7f04a14d2078913bb5be9c48ecf902f0247ae3e144ae9fbfc38379d4713fa93cbffe2961183e0d490b56f95aa47798a3badda8f2d314ee093f4dd91186030ff6c1401cdcc3c00d3e9c1ceec790971520e5d96ddee8ad0a15f22fb90c468bf139df032fa2555c7e72274c6f5532496f1c59522fbb8a5106a568b1184e0e7e913a14ce77e7ecfebc5ecebc10b0395f0e88e37ece3cb2477646dbb3c89de88d0a8daf45710a4d6b23bde274a3485488270be05bd50cf2f774f6d49e1ee7d20b06b374065dbab4f39a95b452d315ba5cfe379aed932e4ac4d89a90d0a1ca905c694636274fbb9cb5b96586f17263dc3bb46f1205bb9c5be614f3c2917ddfdefbc2d5be3048d9f7c2b065863d6d5058ecfb4a5df67d0eeeef70a2698b018b7d6d326cd977dad185db9e76cd6b2d526da46d2e5c89395096a0edb2a7c992a226562ecc50811cec101328b67d0de2b03430e112dae083c104805082c9918ddf7503fd9610d9182f8162e307411c38278a199e8dff0371e01c1cf4fbe02729fae9071c589cb282d39271a5a40b255d0e3ab8f28c24bc6841876d9fd35386e479646b4106166adbfed5d65a0a44015a6badb54d904e0ce92e1bbf886d49b8d85888da18c90d463e507931644dc10a6c8e8031c93967ad45272716729e44e93821c1b1b9c9534ed4e6382eb6398ee3c42a9c2cbadbd3e65484d3150c06a898d3142ebc9c40dd3871b144c7441760485a089bd45e47627072bd50a56b309203ea36e5420e2759589238e52346b0d0fabb454e500074d31f5d64993ff0eb7f638fee5d63a979e87f9162fd6971bafeb45c639943d0afd97df85ed849b1e9cf074378bdfe6f0cc932c87efa7d6309bed5759ce1d70f85ef2d18c20b48d56f411dbebb16f8fa5a3fc10f987647b797a335eaa0ffbd1e5fdf1882fe17cdd1fd7def67fd2983ecef35e99140eaee7e76e57c2075678bc2aeb1e9bb1cdf606d3d80d9744e4aed07f4fdebe307025e6b3f90e9a07f2f4902479eb000a68d4913ee03b9fb9226dc3fe1b52f69027d20e0a64fdf924e9ea0a646114ea7738767ad5192d2084034282718cbe13b039a378ff68e25f0c8df65d25a25b751b3d1eda2693eb3d6d6aac69bd82ec93967f1adcf2afde93485fccba04ddd6f20809bfe244b1f1e1d730b9a3ec7449d7cc6b4a9937d2323a34a5a8c690977d24927bdf7de7baf977ddf6ed9b7762b9dd72f76f94856a1ef9390b381c874e0793d328d9672ca4bdd8ed62bf9901301f98c8290676e95d1a5fdf908984753ca7b6f4e6f6c8d44689ba58e9cfec3790b09fd9da73151889eb60a5c41cd26d37dca937dd1f4e7e7cdbca75f7bddfdef48420ceaa44ad5d494efc993cf94bc885318848df691f512410a188f309983491bbaf189e1bc927bddd7b153f26e2c67985d6bf5460f7b9e57478fd41d29dec7b98f4363f6ab73a439f3823923f5b80f83974ee7896de171f7562bbcd1015d3a2e30fcc02068ffa295464a4643bbbec872f621f925b51ce7a6f431b75ca9aaf2c5880103861010f42441e03f465453a6c0a42a9ad110ad29294ad413170ca39b1559cc2218b7db2d0a0e94994510dcbc09022b5869a4e8910d29d5a29edaacd56a94ea76ebc208aac9d30c87b0cc68b25aceda5012ea448b4c0d010d829e1e0bc8768064fe8345a34d6c82c0c6f902baf2b31d17596b40593e3298f338e3cd6e39ddb307ccd19af5d05a18fe143599cb7bd98b821bd0a890fdbce9953f812e3207081aecedd376449f1dd8085e85332944b8b21d9f5d5f4ba14bda44954c2226b348467eddd7b93aee5bef7af003d873afa7d054024426519d3323b36887e4e64f1745914c60dae02c0abd4e8355bcc48eab226949b1bec6b26797b35686ae26ea645b980f1f31370c0fd9cedf64b2db6d67e776bbb9cae892de6e5869b2a4107b946a9158ab51a82b2f1cf4b8a0103d32d6b3a59694e3b3235e91f32813573bcf79370fb6fefbd98cf35e2e9848af7ee6338389aed104a6ed7ada147a2fd28341852cbdd2347ff2a79a3f8546e8150c184ab588e7633cfe7343af8c728668224f4c14797860b8d6c080a1f3960a753aa4f59faeccf4a9fc7cc480663e3a1c528bacff7c65fe1e9187bab7c1b7bb0a22d860fed897ddcc229e57aab5f228590a62cca3d6067f4ea43c85be9fe157f0036ae5e9c0ea87d36a9d57a2423ec85ddfea89ae5fd22dd4aace597d9d919b3fd5be52f52a09236b26306deea9508da458e7e7532dd221e995ddf4e63aa34bda547e456e4f91a6fdaf7ba53a967a671aa63823ddb191ee9b166ca4fb35d2ade9a6fb9b3ce42ed2791df96b374e2ae43d379641846cef45fd6505bb8b6077139841f64bd7ee5e36ed771f4ea2f0bbbf991f45f2272ad4bdedc82e8aee48d16756e9a5c9526f7fa248f46a02dfdb2f7dd77f8af4658c5dc359b4f3f5eb2482755f9f67e4e64ff7b0b1ce59f73bdd8b63f7afb17b3dee8e2c410174240995fc7c66c91d8e73ce4a6fd7d709777d259d7d4591f214aa6f29005bbb92a50fa3aff40da4ee6fb454488b374e91f480dfbbdde79b73ce7f79f86c4ecd04d28a4070e4e13f98524a87401cb7b6e674fd7cd9fdf063af47997d3df8d6923cf4e39042c0d72f24e61a650308c38fc978b81e848db2fb3817f63c6e1ef6f761b0c7615a82e17cce13602e15c99f430a1192f339240ec9b474f34c4b3f97403c9762e4254bfaf5669c4b4b7a9c4be1c8b4e41a9996beb114c7b2f515049fe1afe30e9fe1ef62d0dd150f9fed804d29d522f0490dfc073fc6f891d0f72dfd725ef9538b89f37ce6e6d387cfeafd892f15551527a2533eab348acf9c46fd188146d96b39ecd5ae94b4ca72f8d2243d3029ba2a67abccc18d56cda05aab4c47ce3d643bbc6fb57e6e4b8a5cea97ab5192cf2a0cbbd69dfd0a527f6a905a4485983ff5b3ecfaf561c024adaa6aaafdbac367f53de0808827239f556b73767d8a45b5f0a2ee66e3e169d79f602a4db32bbeb6a43909a9553586fa1ea30b5dd2aafab446ab45f99de852ae4268cd6dd4cf5f009d4914baf7ff8e4c2183a5ee953c6bb751eb8efc7794ea4808a4c024f500212aa0f080fc192c312de51c520fc82fd5911040c13f024b13dc91492174c96badf2afdea47f700f1ce98481d9346192ae013f4d412918ef23041d8cff1fb588e7adfd179aa71b9e51480a74e9c7a4619fe77d144297fc3d6bb36a61ae667d551dd1ea90397cebd83439501e3545e7d60130dbbedbd7116f555850d4add87636b1ed532d9cc863d83029baa46bf6b4b241ed92aea945146a4747e411a34b5a63b3460a3d778d5acf5ac7da1f3368497ca2f362adb55671a4503ae34e0fdabfa4506b62b231c64f700031defb9e912ec5a05baae7638cb2f76acf389768cfff98473547bc1c7e0ef0e7fcac38f833fefbfa9cb18c81339662a9ef6855028d8d25d81bfc2fd868c739b36f8f586be99a19643fcb3e8c91ae19bdc99d3c893ff58c0e557f2c38b5ed7f53b67d8f0a822b5a883f15bc8600fe284080e755a04b3c244f94feed4ea4ffc001c4679693715c77b77dcae6db767a5118e545c07813db24010fc8b04b9fe21db6d40327aa416cfb206c2e678faeb1b6a46b48a0407e7c370642fe168c4e85fc6b8c960af9d3183315f2a78d1f15f2171a3515f29f31c6a8907f10d0d84385fc2b189f0af9cb187da890ffcf38a342feb311880af95330d2a890ff04e31015f2976034a242fe3e6312157232f6692774bd98cb5dcbfb4057a8612f57042310bbfdc971fc31c6086384602c8176fd9e51369649e5ce584e2b9db19c6270c672a6d9f563e34d2db26b9227bb46a957ea8b340e4408f2649774ab234ba35a188eac4e9724eba64056ae2f74ad5656c96f6b7b7dd0594b0282a7a8923ce94914a321a327a821da5091241888b6eb5fa019501a2d663eb31b96cffbf00123a6e76231a6f757ed1d410c02e4478c261af9880501a27d7cc4807ee8209f08c43e90af14b2ebc80342e94985aa52fd9cc78897b405c4f2f11913535360aea4c0021a2b36505cc8244b130b3835f14514452c618a8241022a2c01860a0b43b8b05961670d152d5b88b9e28208116c88704d5ca9fa62033250b192650b1b8e89175f4031c403618a64a1a503dc04b51826f0c3112d983982812a38071ca1b2c50629a8cc604416ac1c5dbc60c5150e0481a58b5a144faa54b95971c104061a2e20064cd202110f64654dc93284066cd0b244068e703a327585e58a861543c0d080258a2860b862bb4c1270210b0d441569228b252cb0654a30a688174d14f9f20488256b65db21b6b5d672950bf3a4862d4eb4a97db1b27485d8974b1755fb2ed9a57b6d7d1f1b103b6cd79e3620a26e9ad830a0810b18a10418772243cf90f11cc878143263c83c917122645c8a0c55824c0be645f9cca9fcdde2dcfa5c5afc6ab52b535e44a9a8a89e78118da25176117d822aa24d418a44985aecf922784cc770b89fef3303d2f1c49f9fa4a4c1ce873c3f9f07084e04fbf908702229a75f92fd7c570a354a690671d02394507145444525612d478c2e112f340dd9ab2159b49a05c90dc85d4968d7927955fa986d29a75feaf91b307ea3e7eae6fd7b2888e3e6a63fd828257bee267bf9101d1ba5789ebbf1785eb884ee91dad901cb681f29f1b91b087a5368209de76e3a1ea587a4729ebb5130e1f74d8e72a1938ca4701ee7522cad814bc59ebb5130f44a89f600b4a2b7570ddef4c2e9d75a213dde92736272de91ee40853835a5814cad3458262cf539c5eb1fbd10b093e8ab5fad1cf5f99bf3b4d5e79cb4732be53953d3aecf74813de79c73bee7eeee3eb7ec7e094abb3ed30c9ab24b7670a356180f63fbc3c8c0bab67f09dab5fd5d31de9bb3cd9e631981214d7be2983e9ae01b0855aa55567fee1ea3ac921ddcd8fe25ccda9ea44cc78ded7f633b69db6ccf7eeeeef3bab21519fe8b87b4be4991e8a7abc8fb5bae63c4d8992421c6ce600ebd49a059397e9350dd856fd86a8d5dab03c10f6e067b821ddc2f7d831b64b0334942063bbfa7a9f56a5d26f83e016f4c7670c92674196baddde278ce39dd9dbabb7b1350f388fbd7563a27a694b3d65e7c2fbe76ce393d8a1fbcec44d7fe84c0f6b0babbac08f1c63937d3a59402944e77d71dc2d56f368f605f1ac1467a733147e9053ba8dbcb64999f004c4ea88664f102172a4b8c599af3c7fb3c8e1c9823bffe9bd8e8e3db2129facc49edc5f3aa17e41be79c79ef42ba4c8e316c670c89fe7b06e3b9ed58e6ef6a9b9ddbec8e7cee8370736307386f10d22a84b7c1ec7c0601e1b44ba035bb9c61edd227cc2edf6a973d55bb14a7761983da3f3801cd7cbe47fc6c37b3115688a1e95005ab4a59b381b8e70caa609cd22a56550a0e4aa95709e33754266a79e34005356fb0f3ce3befef7baf85a00bfa7656eaee4fdecd169aea2d422b34fd898207349dcd5985577adb2749ce1c947ca28297b30fa0edee64a62f7830366195adcad49e362a2d76996d544d3c09b40d773de71193d9674f7f04e25585261528321ba0ed97d9e68316b9d66ca7cf1dc1c3f86d950924caa68f9b6cfa98823a70b5d5feacf6038cdfd6ea77a418d4e11bcfe7eafd1032c93de631eb4ffdb9dbd612e88e803359af5478cf8123c9f1d8215fc95d23f8df386f42204b14be11f68df3bf1b726707c643d272843db737e90b398f63f301ccf63e478a9dad00703ee7f1f841c8bd864277dd6b28b4f53cb2643aa1eefce028d3e13d7d8fe4e9c812e74fa8bb87ce77efb9c2708260c89900fece0752d787aef05da506c108e8f0fedba11fee3c8dc0fe91a307f841f60c7f7e3882bbc7f7a0094cfbfb9ebe6473f7d03ff7a4fba3740679dfe81afdc6f10d5972effaf9255796f0a36903a9db04a6ed7111d8307124816e8e3381697be47c188cbe4c87c7913dbe07838441b6f7de8763cd1e86e12bd550843db58bf4c6499bb60edf05234ba60dcb1cec46acda4ba021f03c083e478290fdfa09ea7891f73912ea7e91f727f87a25d7638f177902dddc73b0d732d873efc93cb2041de1bb1e46ea004ba6a6cd9127d4cd913ab4d3e6c81ef4a7cebf46da0486b469cf1e389ff33a381d789ff30eeac0f99c1076c29f6007389f33e62cd381e3c3969ddfe543118ffb28f801cea6640fcef342d9e84d9007cfef3cf714fc00f4c6f0c9f0391e3b1f841e38d232c89edcfc1d2d367dd77bf6c319bdc7214bba71de0b81e767fd0179c691a7821fe477bd97c77730041ed295412d46d39fdc97ef79371c4841f27b6fe4b8f079bcb07acf33617f03967483e02b390ef05da38cfb9053728ee4c103be178e5c38ba5c65f8252c84c960240f9edff9f9381fbef7ae51e6e246d9eb71c6d8cbc61d6f8c3dcee8c53c8f6e0f04dff5b05106ce8fc9c2d70fbe77337e1f1b6f5e36eec4c6efe62b81962f9287ec65e1f3fcce9721c983c7f59e1ec3978d3bef1ae9de796e0c5f8fdccb469e9f200f9e902c99a68b821dd0d81408dd9c7e4253ac37a0b957aa74e3916e6f8ab9ec8997837e17e6a04f79e4e89ebe07b785bb6797a72b0c8531c644ac16754c6b2d608c6c8cf1b5565ce20c0634e6c66c6302c9dc989c1baa69e62e61749dfa3ceddb7b895c3b80249c409183156686c0b274eb987d7bd8f706710467200319d0e2011aa7428d89166a54582adddad36646c9adc2cc11ac2e9d129e9921bb9c62388bd5c52eb5946bb38ad87b35f0c5cc9815eebdf75e7bef1727f6bd1ff3bff75e0d46852536f6dad3f6650a6e12b5972a1dd0dc9eb62e542cd005eacaa0ed9eb62e4d6c58a03c2145030e6580a8401616990d94f12286248adc9fbdcfbf0a463ea72526377ca00a23678ca871c2d9a00395db04ed48173519909255c4899a0a05064287a96ac408d7d1be6811a5411c6ea68b929c3458a219278ce05c91a563868c9258568e992c25375650e19869e304cbaac58cbc9e6ece40ada09d9e60da0616c233582f1e96b8d050e9da12d029fc92e45333e582c2c94b63059e990249eb0aabef4cd6922e2bcb1bc242ce22aad5c20a9c15571d14128c8553bee15e31c5a1a9c2c46a80260c4653c4926ab3066aac2e9a304aaad0945112068d079c34c0220b6baa86064c9ef60a9db558311aefd98508162534b767172240584aeb4244caeef6ec42e4c9112253112b5ea058d9e10c1921fc8c911c42235552eecfdee71f2b09224064408936523c51c5a8b081aecc152337e0fb57879b44928baf8d817bda92a88a42133105f4578573a01203e0c52a97a9da40349b551726ac7c6cb1a58c13589cceb0509fe0f281165ac86f039d376ce942430dd48a8b60cf2e337cb1c33dbbcc60c52ef54f61c46a51c7b4c64834addbd386850514343129892b9eb64071a98207a7aaeab2dc8031c6588a237f392317abb15a94b8e205cea89cb52df36a890d6c314b28415b62cb125764a8fedb0037449f59ca0dd1774f1b969abb05d614160b09ac2d34d0261a8388b193d5a28e696d4473a247441118638c7196148ee85220d302158ee103317899aa46ace8fe7d9220926f69ae116dfb8265c3f6b425b1440bce88c55958a95fd8d8be74e9f2b4c46eedd9e5a90a1868135b8ca9386149e28a4d965412d5092558e8947841099682055ea3c217e1975692fb17738008dc4585325e96249e48f2b5895d3e1253d89018b3f1f6e9e244081b0f5f385959e290b06dbca70d892d2a98b9f38a62cef7decb99d1b5d65aebbdb77e8f5bef95a534d75aabada1de5befad3490a9f7561ac8d8fa1509c75feb6763fe43277eaa2c589ccd550a568b3aa6356ee3746b6d2e408449d6d5caaab5a7cd6a082e38062b1bb2ac5cb84f1a674f9b5553116bc2646fb2bdf42729b0b2d670596197dee425bd695d136297d4ea895dd22b30148a8829bba45134ca7628a14d7b9517fef9d3401a1165f6f77d06717c5ede6b1151b5b312114776d73d067174b969d39c9dd8dc73f402fab76dcb0e4d11b0a9edba291348bb0f642d696c59b8c83c6a7499b51cb1ef7dabefbd396071d1acf3a7892c17ebd102450b0e5a886c2b5e7defbdf7d20b682027a218b062c76eb0f4d592f128522230d8189745869aa54a942b799165b3806142a3eacfcc436c59ca30993efbe2aafe14715504955deacf2ccc3ba9d03d7bda8a58b24bcdd98a50e1089db3a78d4b16172c1b17196c57aae0f282db3ccf11a81216bacc43e56453731021944bad56f35aada6a4a464a5ad2bd5ea4dad20bce99df774cf99b3d6a2489b47ddd39ab3d6a2f83fe5b3d9bf287a9830531e662accd46c7b75eabef4309d378e508b5eefff83fb72b45fc5346b91746f67d02373d4fd929af5c7dfbf927e7b7de9615ea3a8eb8fbfbe8e947d3fb7fd68de084e12d0f94b0f436f95de2abdd1e69153216610d43cf2de69ecee5b3f422dd2a4eebace69f3c877f7de489b411d29eb9e76648eba49a06d5a138b3683a895edcf79986e973476d62e696cdb1492a1edb482a01488376b91d46d03a97a7699da62d369e4d58f802c7fec083cf2a71359ff996bd0fed566097cc64985fea713599c634fda7fd4319fd5394eb73fef6f716e7de22bd1fe317afe6736dd66082a985130810c097e7c7c80a0687f1833a00a64fc4cb7f9eb827e5a9f4bc362463068ff9e21a320a00a644cb7f9d33c3f2dceadcfa561b11cb167fb276910a5fd654a1a08cd0802aa60bacd9f8ebdbfc5b9f5b9342c9623f2f470b0c367f54327da7fe727b88107346842338280a6dbfce998e8a3ce4f27b2e0fd2dceadcfa561b11c91a707c6fb6c7f1e0858a2fd45101060410d1a34a11941d36dfe744cecb1f1fe16e7d6e7d2b0588ec8d303e3491f1146c841fbe72860041b4316d4a041139a31dde64fc7c49e8f15cd080222aac0868ca11f0b663528a031014d02211f1f383f801411d918b2a0060d9ad0749b3f1d137bdee782f7b738b73e9786c572449e1e184ffa4c30930114a4c9ffe627b88190a60b8c8a886c0c595083066dbacd9f8e893def337bbdbfc5b9f5b9342c9623f2f4c078d26782990ca019b4a1224958d0fe30a724484717181511d918b2a0068de9367f3a26f6bccf0ce86240832694f4fe9f4bc36239224f0f8c277d2698c9009a41ab3164f404d582f6d74da03048423abac0a888c8c6900535a6dbfce998d8f33e33201af8f9e8caa0060dda0d210c66240521011d5570810ca39fa2d9fbcb009a41ab31446494f4248a14ed1f4645c9e0060649484717181511d918b260bacd9f8e893def3303a20df968b705356828d13210ba310383a02420a40a8e645cf063342ba28068021b120cf94c51dda0fdc129545b29831b1824211d5d605444646368bacd9f8e893def3303a20d19859f8f00787f4b9186de1f53240bde3f53a41aefdfa2484befff51241aefefa248fbfd3545a2bd3f8c2229bd7f8c2209bd7f0e45cae0fd458a34e3fd7928d28da0f78741913078ffa74840ef4f52a4a40ade7f028a8424e3fd6550a4a3f707a2483fef3f83225df0fe348a34337aff218a44c1fb1351a4a2f737a24813bcff1145227aff248a24c1fbdfa048367caef87f550058c2db7f8ffe4aa37f06b0ed7f2367fb63c0b3fd93606c7f2472fb1f4db0fd2f90b1fd8d666cff2222a2ed6fe368fb0f8d9306a1dea804ed994862ca0c950800000004001316000020100a084522812007e35054dd0314000a67ac446c603218c843490ec3280832c618630c310418620021c814d95800406ccc42d6c494ff261d44f420b88161e90ab5267328a65941bced38be96f1e896375cc619b4cd93eb4c90a923034f108e07f2ae138180b355968ca3434478c914d1d4ee9e4bcdf26f999ef5d594b8f33f2718b074d9f8344cd6605f8cf1aa330cdfebb68a225a667780882faf328e899c071ec866f073bb0a7913a2dfd71622db0e6472a0868f64a8cdb2b1767b5685b49cd0bf6a003621319ce74d896eb5ef3ca6e07c5a074df006bcbb47139411ae214623b96c8c127272e8f25f4f143abd2d5f70b1376f422c6dbad2c55c8347086130d3168872643c1805a68309bc7b59368e5b93091ad7270b6d919d50ce5964cf599688a6f060b485eeb83e2dfd7cfde86ef9e3e777628b943d4fe7d8bfc3a1fbc462b776db90daa2f973194f1134a85b5b069cd87b829741c8020434df34383a168914e7330b55171029f92ba38b87a1642734db094379c1ba82a6b95208b4c241801bbc86c28f81d295157914052ee9e9823dc81e7b93ca24908487da2efac57174e6545220907bc4dc3e54df915ca3489513b9674e9646d2c600f4e3c62bb6f7b7f092ef2759cacda269298b0107ca4adf5a8a0313a07b52cb15f9d3cc92de2cdcbb12199506090c13a203b41f78ecc691b979e66e213e901942f500218bc6b799daed3196ab103a0a0de96fb583284a94f1053ac94114f8b9f8a2144af0fbacec81d2a949e534051b766fee06b780e0257adb4b79b0b2aefbbe3ff34a0ac4815c42a5c8c58655f0af341adedaaf32b814ed53b54482dc2396bc698b570b7f0abe54aa0959f7ce2db50c1323f3d7e70ae9b8252a7c59fc4b2b2d46ee95b931d5e700eb55a4ac8dbd3b20fbeee4e28d48c0b07d65131a4e667b09804e9877c8391b5ad6634752d43cff5ed376bd7d9fc59c1c4345e0db0e21781f35b1b5234b82aa1a3002d3e153eb6123f624a8d58346f62e2c5a3968747a92b652870f3e5925abea81239c9d78e263dd2747e4e8c9d3aca8164c85eda2c1d1cb93bc6b83a33049eed2f051ca92d855c3233117465d1b3a7a5912d6b5c1919d17b66b8347224b62d7068fe85cf82e1a1ea13c895d7a7c7adbb03badb3b47cbc1294cf3a1378e08eaa4dcb3ec1f32eee04805d4364dfb6cd30288b0d5146034ff444dc02825526b41863cb006c361aae2ca06caad2fdb937148e8f27da97016c53fe0b3ed990bab90260cc7ac4240af8255b16d6f4b95e59af75b6992d87cc84a0ff72f6d0fe18688cac5e2d1a36ff43564f695abbf872a299c153054e5c8694ffcd87629c6c3d036f5de1e0821541ad96669c3841f2fedfd244d4792f21f2419aeb044527e021bd0e7d6a8250c54d8fdd2c8c8cbdab675ecd70692ef32c715c0d7ebcc799fa34b7a67213eab1786dbe41264da15c7c5e3be9f05dacf8b7c30d9c9daa40c29155ede0eae654922cfe75fec83d5c0aeba5dcc905fead8b3a338b3184a22621dc5e266f35ab347d67b1c7da31e1ec829a08a1e4f02e30326c327da6180fa56ec9bae46fc3a3e17df99fc78c263fbfc7aa102e385c52204aef82ec1f623e973437e58553dd86a3f9f5477b028fb3f7533452d3616420d6f1b3056582e0d6fbe386781c07267c80a3bba796344a511809278ad0d0e5d2aeff76960ed6d0f206df83c95019f4eed43ba645485d7bb5cb04947e795f7217661a961c3f982256444bc4cd6fa9bd4c8e687ceec8607e7c761c5e136085541b491ad4a9031888de868d7bec8ca7c9236c419d208beec49e4eb2e47240df2397c77d8d3a704b0131d9ff04bb2032a74874c763df2de01d1dbdb089dd2b4eeb81e11c85409e82413bbcd5789447bac8f857b5470383ba46d40f25df6cc6af22c6d52de223232e0c6e866ef2d8ef4f5f30e174d8edde071d0d706e7d169513cf8ddc6e0a8d19e469332f5443c15fa24d9059223d301ed9e78b270af1f50d8e54d064ac2d815a1d4c87cd437fae6e37cf4605a2229c83890d5f29d20acf039d0ca60d9e03b0aca43fc19b7c08f451742c356cda4b03d4c4b0ed90cdf177e47689e71c5d9621f047474c32a101c089614fa5cad26157f7c66c4a7d7726777b8a925965dd120a6cd8137ad094a2c09309b3811e9d56166c8a5b3ed921c64a4b9bb20f2d84519727143f0fb8f17eb8ac5b32560c25866993b14d322472cb6a7ecf64a8de8ab1757186dd1374cbb1c59e19492632f045f204f580e462c82670564d702a0a9bc59dc9ea2897f2179cf45be39477599f02914c870c53a0d52f094cabb329cb6650cb112c63936cce0d2bdc95daf152c792c25ada7def7946b6da3af2fa4199b32f1e28782c3d495b443eb3a4b87a015cb9e6ebd6484af0f6471138a7e954845b8168f7f086da4a57ea2182ca3ab83bda16ebcb106ac7042e2b8dbf6a98e402fec5d0055fc814ac49130790097ca50f9f0caba39f36cc09f8de0bd7a6fdcd493a8734bfa95b0b2fc8808a364420a5d841e47021f887ff69de3067ceb595b135a60e689a01e33739389c4fadb731ca490f726c3031f820f15203e796aea0885c76dba235d26aede1c757bd3b3aa003815abcc5a21848d7a24a981beb723ad5de87a6fe48238398009c7a7cfcde853d43e86c07a59f5f3f479732fb84b8771dfc7dfc89abd5ec22ddee48b3cee81378494c8f364378d7cfa344df92e64be1578d654d6476a457a3bbac92ad82e77520c4a23bac4eb040d93048e570964e2c456bba6052ff3bf6e60e97006148090a509fa3fe7879e8a5e3fa5d8cc1b1f28e78d1de56d448f6c4a65ccba95c26c6cdf12e9e5333855a921032458599331050213b687d7e600911b88d09b62659465251a43b0cee812bddd9cb59b8732a476a6ee43bef373efc2805a01e45885b42aba7b5721d2f36f1d24351b714e78c4bfc9588c71215752bcbd9f90f97590b2d9988b7814cbf280adc61a66d4d18b15535f96dc9ca6592e7e020e34b210ea2c14881c1faa5f45e2b13d3a6f76369f87df6ace50abca82c413ddcc891053f5dd484feca3be6f4001c0d848fa8cce5275f30d169f3d69e6809481f5a18d885e0b88acd052a54594f746f66b81b367534b770ee2fe004bcfbf2f3283928e722a40a72f4a89ec76cf07f52d2423b2ef49c497a848c47b59cdd059106bb6a0327734ba1e43e752a75f62da901f30127af3418fdfe8f7c1ca22449b52f6cb510f23e5e5b5844a9a469f857bbe013a0534a52b8c826c084ccdd0ea73d9b1ccdd687921319986bd61e78394e2184111b498f90f30f33c5ea00a65a07dfa62a5803a50ad81d725fccc9d526cda4876491681794290551e7cc6db78a35c212114ae000f4b0de372bc2bdeb16137828b424c80ece1be29180c74fdf362869c0c55b3770c996da5628aaee0a13f1acb3203278c0087cf8c8e12a0268792157d5e91033d0127f37153c2b25f88ccc0281787c0879b6bce4d95f2237fe08d3c33f003b788735f96d80b96798ea390a203aa7eea8a64a1e3ce3e367861e73a8fb19ff63334f47169b88a1d49a345c32da96e8a91f2069698c2221e8b2319c4929488fc53405417fbe24be2eb2cf8b94ee8cecb7561666cb9c411c8d6d34389a8704c7c582b40ead731f638cfaf9ed65d913c8e705791ab68c7e8d841d352229dc958c2b70f142822f1600392d00be51ed0783f3056b0ad98e72720926ef6b2a7a4798f53eebc44b087e587ef89470a00368d7655360d63ddcc5593004e2e09bbc79dc096a86e2c8724c334bc45efae7b9689b850bc94157425f06007f7320a08f9f294d030218bbe7e793a7df2bac1219575441d3825003fb5aeb4e3a7b43bf698a70d52b9811e2d817a39b9b0037fe23ac509149af17d0f7667ce4da785dce718ffd3ba8160ecf87e087ca831cdcd798ddeb7bc6d0c2afc13da1216f0a930b924c68995c358d32ef3c5eb86c1b2037627d6c7dccccc80100922acb10b9efa9cd1283ee1112395aee51b34320bd85a785a6cc5a928fc6bd89454c90735393aecb53243f982aea92c662740d58c7ad442ada52967ed38f6b87158c9adfcc82664b5946d877760e18a0f1b5326995b90a519883fe0086284557560df1a59a04f60aaadb6d0358c3e9ab60be74e8d0a2b484b359053e8b284e36f7f3256384d693378ed03bb602a7112e7e8c2b3493dfa78bb3dae77509de8321f34d0b7fed1c6430d9d8e2bc41bde65d824d9922cd9b5464543850fdce6a1a71a9ece4922bab0a5c57e78a569757ac1ee086c99e8e296c012b4fafc5df294893361a6a2d3c0cbedbd4f5f1006938e6522139cb2048d61535a3a5c95be7b52caf1d0272e96a0f095d8e3ee5e8f69a7f5bda98bfef642dff1174f33aa6fc698791a8688002743bf76d9267f89b31214f78b735bd93e422ed244af8d321ef5d141ff0125e38e73a3ba8bd0592c770c3d53685fe10a23a1bf91e90f4c7b7f8223ce51274757cd96331281eb7e604b7422388c9ce05c95ee68778883a5b1058db3ae5e60c644931f216420d573b1ce902dbe737bf8af798a1b4da26421c4312bbb666ce5f7d8d7f4cc2e20e37c61690dec3c277ac976d84f7bfde667f3a533bcc018e01e8cddbf5b4b909052e1f07e60dd152b6d76a347aa507ac4ea2526404bbeb68c03c9c62309efe91d4a593a0eb2c981a844aaf65b8b8a6f21e54a04dd5ed4a7d1c350b84d2d2e30930cb996e75d8f180140c2393494369be38311163595c9b63a69d007da3060e52e741a5dff29dc38b310c366cb88d488303850b8a83112c796b91e7d74e61bee4e69749a063162270648138a38c383799062d31f05d9de15a9005e74887f2795108020315893a7950c46ce03a90cc710c308198f9f0e5f80bf626aa9ed681d17483a94d1341789cfb0fbcd24bc69fbe1116b2f3a974331c63af6b0e7a70cb080567def0fde03434e1fd75c972600de3b41a723418328f4cfe2821ba1ca0e444110b404b1030b5971542c07ca3cdc5575f692f7c52ff82411da41937a70edc63dfeec4b27bde58881bd7ed4f7b4c68bc6cac15d444eb1f34000ef13932f8bd2f4ca8245d07e1ebee9692fe3a83219e7398373c89f021c229f7460aaccf139c45b4a571a539b4f11c41fed6c72d9f5561eb718031740329f86014b5c1be23ddcfbdf91d211ad5a7308d35ecadf984b15ccb7a49070aaf0aa953fa840db18c9717bccc36552e81da3c07246108e8ef5c48b10f5362fc7c6b89171230a9cf5939c0163368b7d64c003f746a91c454fb8c91649541582e5f68de91e22eb729484b021085f4693bc81bad5480b06cc696e6556d7c823ec6e889491b3b8195bac381e1b84f817d587e0aeab0a167509912cccec36e8b1068bb39a575ffb8085ed838b4ec18a3337cf01f6e83c83fbc06e17fc806a1ff70c60eccf708a66b30431c8d522bbba974588020d3106942f7b62274c0c55f2cf2e0c462e7819625abc73e0b5f0f1b2c283df2ec27d02a02b37024b6eae1c7a2343af08653d39ca0f8abd4c909787967c8c7e5d036fb3d7c2dd9f6a058cadbb3b9c4b9c7fa12da9edca5bd1ece502194290844f7f008543316e479a70a80c66e0aeda7382ebf29f5c2ca6800bcb1c86651528b87178f5a2cf0a2a8c584179b5a4c78d1a9c5c18b825af4fb38d422b5127d2c8ec791bd92b97e1e2a1fd25d09a5a07d33b4b0264abf9d550d8404278410bd997f634537e3b6ebb937c53a7ff8f78a829c9073fe8c7d7c138811b89e745532bb523e52e2c82cbf4529384e55cab381664e3f5c9935e746952fa75d55049c99547739f9a85a73a257cd8373abca83d3be2a4ace4caa6b9c7c126c38f1db37080694c0fb285fa662afd891792d3bb096056590b46e5064fdb42755f4ba55c48b51252d9b2edfe8f976bd8b652ebdf6cbe8f6e65e5ef7f2b06cdb8b6239bbdefd32d75eeb65b47b332f2f7af95cb6ef45696feabd113c66e5eaa07fa3494dedf863b9e9711869c100e2bc9d4edd621b0f6eecfd7aa3e098d6635921ebf55854c87c3df60a99588fb94236eb315e21e37a3ceafcb86da8a3e2cea1bec5cda36e971bad4b09731701a900865aff8667b9aad499db187b61592ed9c8e4fbaa1523255a779838b9e5e7a16a4f49a38ed69b7d7017b04a80ed029e1260aa7a29011e4eef4b80e671fed4ac73b4caf8a97341d923d5091664ef55be5838ddd075af049fc9e37acaa522d43a2f48adedce95f2171935a36b983c6710cf8662b3ebfdae5de9752577f1b78ab1c692d8066f9b638cbdc95ebb721fd16c3f8b5166d56d6fcc677632872f5f9798522d4265b63f6a8ada04c548c78d4a9d0e0ba22445695e85566c9bce28df2647d09095f8cd43c92bd6e7604ec0f7d260f736e70077a97b7ad01d75f851f0532c4cd56b642ecbc0f41f2e2205bae0906dc034446b2ed7d913bcfa3a48dbb2f9fa9ae00c65d5a9e17a1f00ae76c0e0f4284b030d64dfb69d43859bb03c5d6d7fe114d70f2a984bb714904896b87ee1814060aa6f6c195a5a3145bbac0c93d6870a42f166d3d96105a2b200050c0ed94e666111201a78a87a58ce32c120b739414a4b9a0bbb2d590e746be41262787d9bb1de2ffdbfffc74dd806524c1a1dec8822560b22e983373e2a94c171c18010780ee6bc20a17bd47fc5368722482e567877dea1b1caa864f3a1e2a500a5b158ce3756e6250dc898e6806402489847556e07472691d3c7726003930284d6183a0dd91f7b87e6ae005fd743707cf4851bf3c7f4551c7704a6d430e3b8e036b57bffce608233cedcaf9e545101560ffb907fecdc5cc922cbe63f51a7f509ac843c6c0cc0a687ab8d2da090a18e79a865980bbe6a79ef70c90cbe6434687fcf9bd72be58fd69aefc8371be60c5f47572ae90b5d12737c1d40a18fd51467600c4501fdd8d1b5231396198ee41b5c2411946e9d087d0fe289c6957cab11f6a455d5718e2d993a28486c6fd8180221b19c32a8f8e570166478987fc746f21b57f69db0473d62581454b6e85a94076bb1da5d0a5a7ec6e84d3c1ba65a127a1a1458e02632396d913d22ef9812041d3ce4cb6e51353871c4097fbec8e429741b8c2f5a33e6a16d97897b40f478d41780cd6d87cb1684403b06a575380d308b3e9cfb39887b676271deb772e1f1beceb32b6c66ad708427331101c3c03429a8118e88dd7350dd2864c1b5bc56937ef1ac523f78b2527aec312ce640b8ea514ea6d5a430cb93632f8bbe9691f681655b9cc7086de72a84075b687bb30857e52622429b9f4984ab3eba1212d1cb69ce9051a2e1024a52f55dc0f4f8085913ab2369e618e60bbc0bbef33c9abcdeb3791a3d49c3b663213c0d8dd0e9842bdf1e970d35e1436203d27ca4e7ed4971b316c4655594ea82fbfce5698c1b585ee5a8a52451e2f84de826fa13ba817ea037a08f40171145ec3a231f53a665d6a53e467907751df998925b661772bcf68029ba064a4b72c99653542d439b8361b13425edc08f8ba39ac8b50b3086f457b33bb7f67701af0bea76c5c37f3df9360423c743b0da17114c0226825f811307369c23cf293a08bb3af97e741d95d6c6cc24979f2aecf83dffea65447ea9fba8a6c8f02b476620af0118119b93d13c412825f974e637d340c34e64cc6d500f420df9abc0ea0ed5934c999ebf75ae143019455670a26d8483a124da722b5202b9260881f3e6c17cbe59fccff6a053852d06c6beb68fbce15e8129768378d268a96535b15d56ad54e216a30038d3f2379d964d1d44ceb4cdd9ecc3bc43448fb675e664d615e68aab4c5672946a2d13b1ff64dd4055c668b8d6d0449ee23d13c2d83f68c80889ff9b950d5061dc42178e355acd94c1a5de33d46ca00ff97b7852e7f7760f81af0772306b79783e44c779f5f9edb81da8f72a2ed3a2ea99ec1bfedbf888e28f221beac6873aaa322681e2f0fc68f96353bfa4aa558db23726200ddea47a0df81156c74a4f8a41856a3ed8a4c2a0b28014ba49456d47c9edf39cbc65c4e92edb64b277284e72813eedc615f1d1cca33de448c305db93b9315e410d9f90f33ae3318a1f00c91336b9d45e5efac28d6fa8f91406e627849cf5fa2f607c11edf443da9f6792c8d782e7d46fb2551544bab5226cc7d00573d034a37afe711e90a30ad68d18f003b218657c559623e3d04fc3c409e5d0bbc6a03ee4bb181b0015ef126c95aaa998690efc93c59940963fc9251a612f5b40d13cd4daa4b263921590c2705df201018d605c9b23b4e91bfe32f8831063bc38c496d565992c08bd1685150056c60226aaffb2972cb57909855000c15970ff5c109782eb4c2ad19830de08b9609b45a6d1f39e603bf8490311c12fd882cc18b54504339cd2dbea2c97f9a5415dfa05a8a8d59136a95d92e9098254be395e06810858dacfd4809b05160b539b68eac5439167df223213b1efdee9e2ec1f8aa1cbe21576fbfdeab4620b2f9ef55ad2d4d7801daa62dbc7b94f5ca241c1ab57066cae242e266ec954722186f28faeff1aec5ea8295ccc4ecdfdcbc7018440dc6c74b1f32e5f405b8794c1e865825ac453a4efbec3b1b7ce86adfd03e6adc6021b1c20230243e846ceec4e60f142c6cb639fd2f1244225b272fe2d25b460e78c6312da28afc083df04c46dd012813061363ee2ea85d412f410fc8ba3bb6c197c9cf0e19de0ce74f7eb0415e8edf3cda67f6ea9a623eaa3a92d2c6a4e7c1f94313277eabb916466e398b82ff4d6edcac1195f7631f8311aa90351ead2314b6dc336d612ad8bd0544a04c138757809411facd7dab656ed172d61e4ced9c7ae8c6a8720ea95e229eabfc3b57abe3b125015c8d9307feea71c24f282868a393b8234b3dd7d636d46d73fc9f49023d938ac9082656c32d1436127bf2d619df44a91345bfacab0fef26c7d7f6152524866666f4112f82324747a89706653c2a2641342df22b5559fcb1424ad23ea05409435812442169661751ee2c2f38e965d9d92e9b274c8b940f5a121b05ab37f79cf975e35bd063e04bd08044ebc85febbd0c0bd69e6b0f9b439e73341daf9782c05f1e7fab86a1ea02d8434465ef9a81a1828d4cceaa730ae2e7dfa89c5e448cc68ea19e676969844008bd38e863c68a1f028f4ee55719a1349988fc5101f110c0b6c66421ec04fcb0fa2719dd868337446cef3e3f33551f35c4645b08812ce8f6cbbf44340540ffaaf34b30a74ed46d01ff5e797602b8df20a378ec569c6be1809f905fcdfde9b2ac5d054b1bce970209a51f13e273d3ec826f5ddf94b79bf577610c73a67f37b927101f70a96c5b8417b8ff0c7c840a28421e9fb20fea5fbe7f19b20abe722b94b8294b08602ea593c4264515e21bc54e01496eedde01fb17b6f2e993806d29a40b8e14368bfd6f650a1f71c1de0365c9db1da0966e16a69798c0afd40bc1f3abaf2deae916a1a569e836b76da8257c6ea24b4f22cd66f41addf017bc3e5dd1972215e57bffd72561158519216dca9629f8526ce98b1d530243f465c61725b4e8138383eeda49b6ea113626be5fe490427c4a0c6d890b303d226dae173704a76c86a23f3a3166eef5d56edf460753e9fa14cbfae5d97dd8d941dbbae249c111fcd59054fc10fe35e1695c1d799f6863197e78f9fae7c757b12b777c29018d71073086f9bc5c61aa4868b51788f4cb2ad3f78f6e996c5aafc7361545ae180ce93826d0d106a9c6d08041c1d0170d5af4cd412355096952a7635cef33de39069e041fcf33f5d6308096b4a71a37d6aec043950a35221add37f518d47de6c03fab0b762be69486170884a37db55e38e1a3f53f79bc474d9ad710092d49821e4de4dcf5fafeb301a75e69363e613301b2d61ce4b7d7f8df987a3377567184f18e921879814fba47b604e39e8660a286f9e004495025b0017123a4b7b2c3a086a57f10ec76a80a6b7300aee2e49c62eae9713349ae5cbdf12cbf184d7b4cad6f139f747d5fc23ec31b9b89fa55a7409a49ab41f6ae1ca628df27e15f8dc9bbc3661727754d945dc2cd0b3724f4da0b83f63a09ce6e011c0f95dcc7728b710d4cde8c754cbe4026783ae5e602597d68f82dff6de2d81b43428e9857d480f0500456866b225557db043b89019fb2ed8dd2e6b5458615e684dfbbaa6d850046ca6efb85d21b4a64c817cd0a150b70ef8ab18f1c70a22ae75b3d7794f44d81fbacaaed134f2982d383d0a66d98a873fb889748f65b8a5a328dc114a00e2c511600ae44ae3dff96a88673e1a2c6c08b6522a8707deabb9002fa2b2ef618f9b5b33eaa64a4ff216c12de5809b41d1fe758b80af07dd1bd7f5e0655777e00fdc6b560818185ee5de9d888daf821852b19a51fec6e00d8af469a83e29a088b700f0a0141fa4e7c180052176f0d20c05b86229c7d72605f92a2460263866a64f8ebf889c54df75f3aab5f8af8719f17b2073a484fabd0c41a41b4b6811f697a0c4dfea96135ed8f3a59bd929bd54a28482e1626f11effac12294acf6f19934fb7cc54e0e5209470f2df053b2df2f2f9256e95c30d0ad747d1356774062976a8ea3541ddc0603ef06a06845ad0bb7a7303c5c2f0da6b6894a5f6a1e8861e44093fd56e5a26c8b0c4164c1a1f006026771721d7da24767b582a2eac7f9834cbd524588e8a26bf675d411cbbb30c7cf549b91f85a37868a3bf7ce54163fa0b88f99b24a3cf103993dc125f9edc3d7f280499e65012b5e3513750b99097d97a2d087282b993c725c2aa5a413c342eae2ceab1be6cbf29ae830cac72b12979bb72fb569a9d0c7c733c3e41b3bb2066b445f8e9896122e87afd3c98c814ca5117b31a47cb10710daa38699bf51d4084f8f20030cd0d6e8c8ac7c0dad9c98d9cca5eac5f99a238725d2dc6dac61068c80d70bef95a6afe1e02bfd506fee003d9a68f10f24a94e24771d90ba6afbccadd8f8323ca3ff7d3b2b58d6ac3b9690816a0b49c4677fc993898e73934fbde606b419d6877be8a697107140388a9ce1cfdd44d59c032e2b1fb28876dba8ccc9cb5bc092c1432ffe253676ae7b0ef20207e8cb6571a0fa1ecb7e7a29fc43534b1e298be2b87b5ffea821038adfc88ce9a43483c4c0b4a5090db950b0774ab13527ae783f76da3d16c932ef0a1e072242bda3b7a86446ea17eac6ac75f8ced7b8228f558fd85fa014568e98860bd99b16a38a7535db4fe992896d629a4af65ed2988116150e27163cf3a170ca99623d904866a393b3eb3b017c6a15350c023bf97bc8c244d2eb7fdc3697aaf1e06303f6fcf7be5f4340a2482307649b3746b4e8e1ae422b86e36ef9ab94bb7b012df0397dbb5129e815ecb52d1f68236a9cee634b53b3f15168141ac6c2aad164ac3f018d40ad951851054861d54bee1a188c4406f90e8d773af48723508146275401cfc4ddaba18d75376a94282f58ba5ec737339188d57c5622a8bdfcb572596ea293dba457dfe27ae337c00cd64fa4b36e7d02da313214a47f7cae8199071a3c5c44a0da048a84d77379260ca86664a860c1db7185c8c311c10b2f8f3a04a13849cb6605f4d50579be62d20576673f62e5fc9778271a455975a9a80fdbd0d8df044792da5dec21c57fdef846a72e88df468e769722cd60ee4adc93e77fc805987461f13d7610b90b6a34d3010e511e7c34de671dd0b066c787197a2cbae1661179195eacbd57b7ec97604e07ca4ab54defe3bacf369f343d90c58d9fe73f1778ea074a0c3bfe55374cf4222e7b0f49ddac68e799e9c42663cf6341f03ad0858343eecfc519460458cf5195647482ae8148bf6236ed784a4ac41d01c2dc3bb7f1788f666477cc089adfede7ba1af6bed3ef619317493ba7dadc9903aa087dd84256ed8877e694f8be2e14df58b891db696976185a97d924a69132e33332aa1ecdcbe2b1673fe810730770ece26a2f79770b0b76c322cf6204e6012fb16aa4aeda245b5960e5df1fd6f4cf207f3f1bc58b97b2e588cf053dad5633036d3a525392ee0aea0098d3b3758cab46e24d8664513dd30c3bf2f617ed4c3db88996c3cc840d78a8dd9d5c432cff2d89127a05bf4ec05d8b00e75e67999b0db65c742e436a3b6ce7d03b4a9681a025e0baf8caa9104828b4fabb082d7d667afb2f18724017b05e9395416b672b6f331e8bcd2d04f5768d9d6cb5a44a7826b4e48f9ad79719376f7cad791e479c4cd57ddfd3f032d4def3e9eee0f7ca72ea48cbfd5541682367079f1713c8628b12fe59f5ad64309922602af605caf1c74e7d7ef9c66f53dd6e08b825021540f23d9b59097c3a4b9f7cd5e31fe1ed1149a3f7aedada4d18bc83d8a3f228c5917900f177a3045cafe10336e8683c10e183208ce5d401c8eb28620f17095bd710971d37e691b9b42aea7e0464c8a7d8bdc5e1983c435906fbabf70b33786d75b06ad487e3273181419f3493408067d22d2578ce6dc716f2a9eeb26cb6a0eadeddbb9472d9f8fdf62ee4fe015e2f772ace2b4a6536203f3eb4f51c58668a255f3b0a87c5d7f11f20c5ae9021858e88d353b8932b0fba6b8c95b6dfef71573e0019c265f9012cc83c7eeb1f390aea1d157ea3ee6216eab9212cdb86debb42709e93cba6476891e1105bb2db5d43c4b4004610762aa3f2055334828a1277f5cc771081ed52a45ba79162f2c0c125956537780ddd971625863e74254aebea35c18884d7222f17e52491a279365b1597f4dc560e8464ce74e692e3bc3cd2c8156473d3d1e0c43555fb6b3e2a4a65c616a7f24dc824622896a8d7cf43632d7a79ef928aa40556d07aa1ae18fdb4796beca0b9b23e026827ce4c7ab7f7699a891aa23d67b34ac6aa1af26e9dcb1aa6a1eadc0da96925ad1226d46d02e23fad0dd724c9c1c3ac04a08bd8e7b2624394b0765a2cfe1b353e3809ba0aca14f6ceee682aa76d517c09ce5b751f36c0e1bdc1c48a04fc8ae9265eb053fcc0f402a1ddf7973b8727e32166b969aec0b67781194213ee90fb7df72e9e41b27dc778f33959d428d6a90cc2d7c2931a2b9ff9054b681270f0f7b1e96b0cdd51c469a7e149af092e5629a67f3956729419499b99c753e0a9ff79c67beb522c1065bc1c0629eb1b71a04bba953100d7741c5c836156f0fa392a3ddb2d70ee0083afc22e50e4d0c2eec40c4b16b31c6c90ec8c6bbe10f80b0bd093acb20398fdb05c1f174b517c2b77d2208dfece0131b8565778abc1e0ea4cf4e43cbeff98f18d9de42e1174bc4c055f90ae73d56a8ea3f750cd526aba98ce1a026ba52e48c1c38f0bed5fd2a748b8595e6bd59d8195189cafa9b04565133e9b0f8d98c240c8a2f31eb3c36b621d24eeaf673e8e4b094283e4ad3e38bd9a3483dd3d560e325b7772e7a39493c824d0820c54e48eab516a253a0816458bd7fd8db093dfe8666f91d7309941b3212213535b6ac4af2534b52e6893b0d8510467b163d02123738a21943bacf563d23096e1209750eed09b737b31a25f1a070a2f8850eea0d3fd58d900b4cf87732ce3c29abec54acdeb1cbb5bac7dc9c4dd3e4a186dfaa223978afe59b2129e015c7be58432f6bf37e01e9c2c503f18cbf41c99f284f5e45a40b0d315ae57890e49513ee24a5707356e58c9f52733d87f0b2df1ac43c692f44ad4d52add0dc03e719907df5e6e14b71383dcf156a25dc61dbabb04dcddfe148ef8e41fb738fa61cf458aeb7c32b7956632088b908e0bdf85628ebd1c115955f3f648cc424cc873854192dc2b3ae3db694ed27f6f0e8d3fe59f29da3e973e364745ed79fbc88f804efdbeb928018189a11a63e8da3bc0908209c1869db6b61e2b8e0d64dd56b4e7fc18c0099c9d74e87512596d854524f71ba4744e725fa193dd1d4f57c55d9ed86d2dc327e4163a83cb2750d1fe62cb3a9c6051f827a450b32e96b9e419352061621acb23675dc3f12585de05e591d09c5a7e11fae3e71036ecb524af10c1332ef7b41bd1a5050749512001d1d8e2691fc9f53f743783e05ab8a292baa097b5a9bdc905d27378b9a631cace756f7bf947ba93c6b3b1fb78171271e0986cf7a2b83d1809582e49aaaeb23afa306812164768e45f2dc6dbdc17812a56eccd560d889862eafdfc60c2ebad367b7632e9fa4e5d2b5279992c70ebe7d9121b82a334740bb6fadd9d5bbec354ae50ca33447bfb6ae2b9a0d3fb81b6728af90860e3305474ba2be1d6fc4a1a2690ab32ac99dc0fbc23a1e75ce03a46a64bf234198256aa10bc80507eb18139cb3246a0470c1b7fc2f8c78b9b0b13239dff040a7fcc40615fb34f958d3e125ba68eb383541814a276b112c347060ecd34190a0bdfe7efde25d4e89392a880dce81a9b4685b9bbd24e13192d3b7ff7dc699fc32c77595bafcf05728bae650e6d658580cf8b41f03833388c2f5305b0a2ff46d24852a6a22980ff751f8ad9db9d2399f088685ed07902479fd586d25205cefd6e35593027fc6669ed78df190333218338bd242af597371dc688e0c7b773f6c0da8510b45b5d0a678fa1e70c6a42a482961b16f129ade23d1f40a439e9150bca796f77727000ae818312688b3fa3fbe14e914775954aaa34cf0f6c4bc79c0967c5765a016b01d5b9425f27418c53349c21307733f4c31a70e95d2bbce6e7f7c531a01d502e38add4c592aa5746d7f2f6277c3243906a13e1811f493f067a8cf657312de07889537790116b21136d9f7e0215dc5eaddfaad91cec230e5833643002b101968a896932a88ddd47e4008ca9be9fcaae014dee3d1aadfc237d74e752e571392873b77e4ff442e0a9e6f2fe3d868d800419ad0e166e11205dfdcbcb004d15491136d6c0bf5ebc830049fcaefd9c3f075a707b929bc1669a0f68ad8249e9005048610f66abc18cb07357dcb29a2c4db4edfa17035266331b56eacc84a6df762b44b78b23fe5a7c54d7bb85b9c0bfc6301679f0fb905b1437aa4f63b189e6c3385192558ade0c5deb2d37d1ecb9ce0d8f1a68418a987a1f181ff31f7e2a784d5ea4942809ba6dd75f095f9db590d82df91392936c6d1689b70ea6eead6dc7138212dd784a0901092c069dbc0e1430d8eeb4fabc7ab609f811d98f5128418710630ac149ef96242fb04f5eb9bcf424383d11d9cfbc820b34e639467b7cef281f80d4a5c53d2698d0079a68c47f4a2095dd12182c4485f012fa6dd5b12d1310089608ede9541e51459ede4cf13990b5b8cb9c4f7a02640ada52a80c532385a05aca60810563e5d4074ea21531988ba46168b03d466cbbec25e21ca2eedc10bc77a7cb8cf6a82ac40fd8d9a02d221c4011bf6482bd5c5f3f5172de41ad03ec21619be2108d946a2e5197ce4decf496492f9e74d63b39fdf2a6f17a9541b993ff52590aeb3a1f234134b64dee61d3871a3536962ee9313ac54eb147060a336dfa42f1cd33c91360b3ce17729a395fee8ecc074a3ff49b4a2465e252e8e702987bb0deffb8c99e35566ef1de5806a3ed2c587e69dee2092da9226d5461c2b7e46735cbc56e9c7ada36e4402b7888f6211fc70088c57d4f202c645b3c14cd5390648d57d5009bcdbf986bbb565c1391078cc2690b6365ee81f9e242e8c23f031c5e4c2367e9fb64896294f682de970d7fb54986e4509e1a6fb8c037f96cf0d2c5f306f9fecceb46b020f4bb5b60c46b642ec45102a0a19a6010092bc0214e4546044e25fef746ba66f6c5733b68539db9796d84df21070dec688077c9d802b0d011f71e1430ad3e2b69cbbfc78977be608855084b9b78733cb084aa8db20ae2cd6290f27d0a5cda2451399f528613a43c0c1d7d6df8388cd5c995137243e5306d94a4dcabc45060cbb195e4de0ebd53c713577aae56369173445ea926207c5cce3a2f96352804b28c028988fcaeca036fd97ec66cde3694b0f99d5b50691105c6a192b3718b77744bd3d2a8f4d04b5b3dca8b7119eb52d9ae2a69881e1065745868d82d9e58a540832ccc3ca4fddf1beca90456ac774bb336d763d12200f46e5612c7c812b10e71188ae461ea6d0883780b9ea8ff7eedd523b7cd70888fedc7a5a793db090308546b3264b085c4778df859789771c9cf63bdf47340af66e995a2849c88e77bb0bf28219e7e1234c0d75480bc257e88c026eef06bd931f5172cbe860c7c32b72970aad8f006bf7cdc17e75806b5a3acc645c3674a3df9cec143e49df9810935f76ff72d816a876e2ccc942a0b06286e62b9dbbe8d5f186ab04688c25ce98098224fc28cd17316f1eefe9b4b44a04120821d0fc7c52e938f5edc6fed8fe4b57638077ac348a888287d69f023cf638e2dce1bd24f79763b731c4eac345cc9766d95a3a576049f2d30ffaa97511a70927b5ff7d06546705860faec06f343b82d8669ab38d31cad3a6d3d57bb4dbfe9d96386e9f69dcd3cda0b5cfd43142f57d4e708caa9a31ffca455df74a3e8fb24cfa9b4189064ffd373f27b4709cef645277498e3b9997ede78aa046c2d80ac7a43017b9a002bce888202e22ed859205155a0c90333becd46b4e264f04d2f05451266427926c10a8aec7382eb71565babc37ad621ce0b7aa54698a97052d41e3eb8258dac7d5b753e76697e8e05288bc1d9b7151acce7ab0dd5e1d615dc6953fe516c86f149a2af6cc430d1a26226e96526f1ec17d18d54d114d1ef98a297269e7f784ef9072c6091e1f44fa3b08acf33b7175c0e6d9ad1cec11d004fc47f2a529952d977de2f88469d8df050d5e71e658f4f66d7c9e2fe8c41d51e99687a91acdad2c7c4d58f59e95313b7387e621fd2ccf6e68096f2c48f46ea3665ebff7247cb7f205c9e7ad7e99cd46b53c46e7a94ed84cf8b2da6a96aab55712cab1033f33f112480d48bf156957a0c66f65dd2e09d103410584b12aaa8fee1a95e7a2a7beee47f82cb21a97a3241b7c25869844d3bafe86a8571dd32f1d0a1946feedf2597e99a8f0910100bcbe1e3430b7b7d6f4350379bff146a4f23d54062de3aa701aae6e40565de098361c270616d6bb1e0455e196e25db2969f3bb43b0b29656566620dbe72edc25d880d1e255f625d3c198ed4cba5eab9579f5caf61bb268ded51107e49342401f08bb5c8284129aa941664325a10bcebe1fdfae4bdb78bbb6f1494c26a85564045ea242170f091b0015c317717a61d11707036eb49fa04a6c16fce90b839da93f1919a2ffaef67c85488bebf8a28621545f78926c9648749103f06033c5fe6d22f229465f5dc8e5550d17f3b23d5f2338ce38a9e6a99136f20d1e1035eb109a475b6576ba6ffe6a759020e9f89342b7486693a80e6b675c5cbfbe18899fcce7def823665fa3a7577ade70b1089c335dd35b0a27be5a86c05cc3fa1a67c65ad6263d84708749d3108c7199a19d96216062b606fa215df1fdc11902b871740a4ed7133e1b29854769d96595c8b46db193b59b4f6bb47de288850e20f7ec86a54b9fdc3e932afa2b38307666d80888a8fb9922ab1a684a758119f48fae52e04d6618cad1ce17d455f2bb9ae2ca4a616604ba5f620009d740f1a3b7db04c95feda181fdbae677e404e17edeb95f3cdc58a0142085e7bd010297f56440e8f1564872ed59475b0ad0a85c6323c61736c5d305df8d63165a6f1898dedec7ff423ccf4663ab1d1718ea7d195ec982f1a52ddc1df417e9dca710bbb00f174760ee134fec3f0bc36f2d44bcf9dcbe46344ee2446026a1aeda6ae2367d5c77864887bd512200c6cb9cde3140250e9a5cfda76bddf0ab0a8d801075c57b0e521f9de423d264b0aa010974d0fe2811b6bf0623c225af7932daadcd10da98b97f613aa408a4663020ed16c72f915044bb2b1d55e7ae34b18b6a93481cff80b84a47a3b3cca6dad1a6aed2b30f317fd9054a0cef22fc822317c815ae752d26099a41e1d5b4062df5618375cd18ff355df36fb97f4d1767f08f2814906ec6baec2d400a24aacd2dad446942606ec9e870d0b75fea25ae5e33690acc6b080493405ef33ad7f952ec5a72e898f36833d17de8da234ec7fbf441ffe219248ef92585bdc81789fc7a2c5775ce83356b8282ac89dfac0b73141956080c51e7f0e47308a330e7777d249975101e2c511001c46f6bc9d83f5644d1be66c5451390815d7d71f4338357880a6ce5e38aba2e4a91a1d4a9848c4181cb112462f843b8673f48c81442ab6d4eb47f98f1f44633b0230564ebc1be1807bd43a2d328cb07ec229c0798fd1aeff226dcb5dda4f85e2721d0a3ac18f0323dafd3f7078f181ca1713658144bd3cca30840dc0df42ebe353663237eff23c41f6fe078a8eea16795c71fc99d6f04e1d346fc87f39116f22392d47cd8bf5b5900f40d7b4d73f9b8be16f61c8c0dcea0f0e46719e45d51adc42e3d616d67580cf69474d54c077a3abc3f650f2e9477811737610044c690b2b6e52d7cb2af2c28e755bfcc892754df06b6fd0c98c2039b53c32dd282e941a3dae147624776f4f84819ba5273481c3871ea44ff5b6126402ebabae23c407bef1eadbded5fa5e84b4eb865e886e7b86d81861b56e2df295e9c67fa6cca19eb394320f76e5c0fec31ec4b81f390aca83e3016de4d29cd360eba880a62e95f2d5652a65b0b9825c74c5a0f31395741e9c65eeaec9cc145fc29907e92fd8e9234c45bd8f96cbaeb90a3f164f1356555a151913211df50651d781ca57061b1602caa5dcf1451e3c2198c638b5154c583a80dfcc5b40da3622bafc885209e00d37127a50c882238297276a39a127e4c1b1a6785d19578423000d12329e948591568b7cac293e8ae4b4ee8474f3db3e71968128bccf519840cb62ebf11e44e124a57fdab326c5890ed8b4ce81e355e8612d48aefe3a41309b2a0ab581ac4b9c1fb43f1bdff77b6021dfc177eb400ae52a318145babd9f5e809d0be947adedda6f3db3e33aa2cf7b57f3cf66190bdc1646f5d2309f728ce978dc8ce434e1d23ac851437070322f10d0364438c309565878ea5b487aec02c9d7533f7bb8bd8e30a82521cee6ee1a51c1aa2098a499fed623d86e0f9ef2e4b79cf941799b062e4aec7277403b523653beadd319272558d7f34f6d9ac09c2c283a41367515105a9d7d341f4616bb774b388afcdb94873fd6c2f46dad85aea2a843f230585a7d4ac3b37171c923da5298381b672c506d9bd6aa9f52f3d2878f4b3fb1af5ef2111642b9c3ff2164ae5c92f1735e93b42a0abd5332a1c04ba2f782accb2a4d7444e8d30e3e187bca12853adf036fbd986b5c419a65283409f61bd24a3f0554f6085aa705b61d2008069c587142480592065ed7802fa5b75554e37cdefe1c87b20bd7aada0e0f7db8bef7300e06f3ff5cea451f65bfdf573833fc7e3d29c1dcbfcc4d86fc7ea88d3a8aa55e107be186e7e226a28f388b5c9f2e31706646019a82b67f9e0aadfb5b1ed004f4983bcc8f91dc69cce35d01e883de37025489e8387a2d7f038dc604000132549efb572598e416e7f3bddac8b5676f5396f0581a883dfd001f69a1f432fc54d07d1218af93f019a004a66efa235fc4f9aa4973f9a6f9071a6ab182e3cbe5517d337a54af0aa3060d1a65df5194dff5ccf6575360a41d7e7b469fcb3f14aeb4fee34c74cd350c852b049924e863af8980c5423c3ece70096dd521c9d57dbf67be491f64d72a1c5cacb8636c18dc9a4d87424bcf4edf3888a7f27d828550d61c1725c6974f88a3d63a2fce56388d381eb0e5f48c0cca4b60921d985c0778e86ed8582a091ac43091b96c4998061b39492bfb1151ca03ae9169a7cb27ad0218113f5f584da7ee597d373f977445e364d205f0b7d9a8b0bc62bc8ab8e33c6a85ed528b31e13a267f162779357df23b0335bbba5aabde26b3804726d7919ea0f480879734626a053f7edccdcf0cb8a253d4181a35f777b30eadc9c91b4ad99e5059baef7e9e6b7f6b7cf15fd0f627556aeda19f42f8914120c3d437576047cace75c362a81b537c5f8cedbc7f44359c4099ffa86a872aa349fe2b73fb9f014063db6e697d7abd32818dd011e1c6059b4168269eefd2f9a426bb7277279485c6ceafdc28f9adf932bda0e48027edc9fc922d58125236334bf1bd965a4d48d62bd04ee4b3016cf3e45906610e0fde1df7e8e7443fbbe53e74b3cc28a56151ee0fb6e2ed82bb36e3951c14d41bbf2f5d5292f1721fd59d4cc842649d6ba16ee372d43c0dfced067d2e32b9048067daaf291b388cba335044a9adf1dc513a3249d4805e5faaa35747784cf999bdc4f211ac39e712bcbc748e97e6a26d3cd049ade2de159688c82939db9d52b086bda25a9ddfd2163e2192cae68f27db8f1c62332ca7881b2da9330781034e99a94c55a19ad0701309675fde373050fe45a3075befdeb57bb15fac0268ba880794b5fdfa8865e59eaf3a5a8bb13c2132806d4cb9586ee7af55714e5dc60000fc9d624508ad6d61643e3ffd8035244253c7c12fa0dfaf569a85eddf8e40e74a72dd9f36608cef0302fd22a5540e5033b1e3f0581014dd9c50863b091b136b79e51727b679aedadf6caf07b1755814c124e86b551a3fb0036e23a0feae5d381abc31b92bbc02d3296ee6e51694f63fab1abd2014a2f602cef2ab4450943d46525d81875d42408a95a6b33c83ac043d9140cb949a837425661ea7ce43174c9f266e4c872116fe0a6b108ffdb0581b3b197d5ba2692dd12c236e455a6bf361dd0a0a56c329c98623d34bd0e39c841e8e2523035bd5cf5f09208d43b60ac0fb6b652f8ee8281eea2f96d622da4913a63a9580417b3e5a8ae66a621ee9081802025d2a065be3473862a24049d1170f23a3c8d3075544b05d9084720e92f842b3b9599a383dc43a60fde95dff8cb3a1855885d9b8cfe9289da0cbbcd7d8ee21688fe4249d8516a970742ba55a7de0781ef32ab305eaca23f46d15f42c638315a8ad52918e49cf4974304e956b73c4e70f665e1916d4a7fe942a23e4158a79d7a646fe3b63b71a1e92ffe018dbd0d09ee08c4a94e7fe19b57220ebae643d72f2bd35f76b55901e1903f8c1da7c0fa2e952400a4e679478afca54d8f820126f98b5e4c588e546f55bbb06675665a3da0e46bba0e1ce0b3fc6ea5d02f41490b57c1a17ed18749bb7428b001aeea3a671a0e4854f23c6af28b8e5ba82f4d9a5fe86797f4ff35bf50a0fda94fad289fda8afbbb690e796ba564f6daecc75b41e82521dc66c78b3320cf27a468ad6ea4cbde08c1901707cf6549ed6456bd51421fdd98255a6dfdcbc12b9d51725c10507b2100816200109e5c8da0da1afa5855fafff079216c98999c51895e24a2048c4c204cd12f7c586f798e07f00438445d52d6a8e58bba6003c65c2c2b0af2bf526d60bd3736e04b9f9c9c1c7b2aa1d0c044c319eb04a6a9140edc05a2db0a5bc28df7084ec00e6523acbcca98d1af766e96cc3c15572529f6657db8efe949955c1d7b67af44371149e682df42a6226c2373b3b472d7ab64d8bd8edab6ae0c93a6cd245ab29fddbb035c3939ae53315882b5f8655d3fada08bb9c03abf63b4ecb86d85abba6fde3a36179593b0c935f55e56ac503e8c27bfaab88ffa79263e743d34f64b69c7270a9da7f5077c54ddbda9acd68ff06209fa80f5c48d367407a3d44df8633ce0bbc4104a7d644d313750641484927a9b5b6b852ffb4b0a75a1124340a67998d572a051f2d673b20574cafb4ec632cd9f90b92734a632966974e284817b6ae393a10c437711eef18da918ff8a96c9a18c8327c6f9ab05274ac188a90c65b446995adae1118ddfad9dcbbbcbeee4e51beeb0e1e4a1483e2a1920f8ad87532b0feca895d0fb00a896c9e5cd2ac32a7920f302d23a15fa9b8b4ed0565cdead89275d8be332612fa7a7a3ea454e736fdac4d58ac064963e2c319e3125369d0d5d8b2a502384924b10a23dd3afa246003293d0ff604e714255dd5c321c1931b54ea0079c3d1773994d075c1c34569080c3a0ab9ff5e47eccf004e667224d9a2e2493ed1fec549ec4f7eb4940afd72fa69f1f565dcbdda9cc47043bc4c43f694d0aa51e6d58c4d39bd33e0c1e32c994cf3d6a8a226af4bd074e3aec268d256632a99d11f11d231bc789043ad1eb2d22f56cc3ea072024838fc2abaee4ab39881cbc357ffe65d8d6679a0dda76312e96a863d2fc5edf9e068fd9b37b1470cec885aac1cc01bd5f03ddbb97892f608e4c400cb127f6db574893e5d099566ef767a93c6c6172bbb6a747c9cc050c9396c98e11bad2006f3017327997207998a6571422121d69066606ee03a109e0b3b5e7c2fc87c6a5944d5fb133c14d0ca85630090aad6865d4116c03baddaebbafac2b02aae6b97057675dd4556bbc6fef558b90c91e640f0e96f1e1390ad09ae3f568f56442d6181fed21b556819e8b1b818e354c05cce298fd46591c49b0f2298f3451772f16f5b65a90f84c641842225bd2f501be6173677ba4e7ebf4a5a5c1f443ef1e5ed7b6cbc4883e436666f7e4a01f628153fa687612af1c4430de28d183aad9fb271847ba410ffaa05a809d2286aaa1accd1c2a9b84ce37320c26920bd8c8ff5800304a1eee5bd1c1d30973ba042ca768b053279465f71ecd01c0e6ed0fcff1df4e000fbbfe17da279897081a059cfda5d5df7e5ab2f700130c2bf04417420897e67100969bff375eda34f1f0d523f3d36c7f373ee3cc8121ac949d371447bd00ff5687f4d1f59762b199f68e0efcf263c4e608a7bc4ff38db2270e8ff0e44cdd8a9a7ed0f0dca92666370649e6774aeeaa30cb115053d58ddb23b5293b11aeec9793b124129992ee4325418c546954e7a22226e08a06517a562b540b823e0a2e6a1e0c6c7b62d57d028d3968f9712e4320fd7c378f9475523f551ba28686ec8636ac1d52e0a0a566307bb8c27ed1a385003740da4152c43dd08f3fa23ba4ddf21441f288629c54417be6211b43c9f2ed9f6bce29e45cfbc183e354077403b74ec7d2520588885d4814c64dbfff70edde491d9bdf29e7220e1c5d350a907f700fb811a395492bc6d74b57477cffd888e8217eb1b98f2c5ec1dcc0c90333d7c7ba1e73e3100a0cb6507e4c37447d696307f7139cc201f594a17fd18accbee3e5f0ff9cf92447360815fc97b79c98b2e9176d50121b51c8066a9c6349679f6cd82661f82129b4903dc884e4c05e7483433dea82f3a34b9e63a99f2fc9e37a9e6eba149bcee0abbd510085d310c80d74cba5896706254a0bc4387bc88f7438ab2c0adb5c020fd7f11a6f11cdaa57a02c65240b3bbdb151c6c785018f012bb3f218a45a031d6a9ed28abbdb22263b4629ca3a4f422d8d1f8d458cbffd176e0f24a1bebd851d2ac3d817708f7eaaffd09d1bbd8516d489eced089f0fee1658db3c6259e66f5c4a6029b3ee5883848c889bf7b312628db8e8598ea8181a6205541adebc6f6c5f5f68ccb5e434781cffa9c1606f4bf33804fee4102ab7776e5f44d864046b76144f09767a497da023d55edbd8074095abe125f0b0472785d0ce8fa255ea7656e784efab2f81ace87ff198107df0e9d5952875138376bd2c986ee961313390139070dd244824e9ed3bc9a9c5b0184e456bdf98603423401e13543a3af06635c03d7cc2820407b3ff52b72e6d242f473ce3cb9efd935c67fc7883e2a9b51484466e1c431a4345fdd5a0ebcd04955fda411325ab701bba4d64a5d115268052b725e1accf01aed897454f5c5069d4e83e0059785d28dd32260dd88e19f27228ddaae4fb3b390169297d3a49a41b11de0e4049e926d7a4cb732b35576e9bdf8696ce92ada7e1b388bc85a9be7c3354cbb6de780a236180390e09153ae07616203290e13ede8c37d517963b9634b882da664bee4060f9d3a04613a052cff60cfd2af544bffa5beb2f4dccd25da7cbd5dc01b48b21d2c004123f4e4b380191b297eac6e6045398634f7cb385adcb0d85215eb1c7ffc501555b9809fa9806a2311e081960603d24fdea978c19d2ee30b7c9f2cbce9874e688b9d93353f15b64e9ddd858a75eebe53d06feca79773c131e46a5de2d313f7ac164e06d9e8d52dfd3db21f5d72094dc6d23b8024b6af0507f37c2d1296bfef31089283e324521489f527b5afe759a7412ad428069549a9fde64d8c0e9e6005de84f13a327c376e690ad61f9408db4070f85b7943f1820f22c7475586206400a32ae0496e9781a6ea019fde6c0c9b2740f13994eb8aae1b88b9c0dc35bb6fd7f9fbdd3b95d9e82d017d03963d98a64b065edf2eecb17c4519ec24053343bda099a5198be9c3cdc1fc3d84bb121e79b4d975b283788e666900ee52e0dbb615202295b6f39539cc4ad2346cd19e878b2891df6cb1b6df1f4ea44edcd2ca39edfc67d9fb91b4e5bdaed37fb3c55c754e829efef71519d0b71e015556d6d49321605318725e1f4724f8cd2d05fa34b3d85dbd469578f0c72f5f72a4a92ca3492b31ab28643a3e264618206a0df0af104d15ad0909ec9b43232c1d87db0d714807bcccd16350648c0ca04a6826eece9402418a76090aa4fdc4f3a0499bb31be0b47b11fe3e12e3903cc6e438a2f6b375460ec4b056f300a00c934601a9e14df70a24cc3871064079b209db3070c51c3e3a2f51a4dd3be5fe7f40557388d2857ff5ff2e7d953d13a87a2d30b0411a84fad73b6c72dee789b0286e800263c1d9441159e746d66d53f2ac81e47034bbec9091be55bfc5ebc14e814a60aaebcec25808a0d87229f6d56a7979792b23a27be21dbe5b1186db2bbff47c8339599c385daa1d42ee25530a18aa1602688426bcf79f41b4c94d58dda72943f5b62f4856f2f12e09191c46abedcc11973d2a373e244cbd0177308482bbf830c1557f2766584c18253427717cac195ddf46d58b06c09b90d6a8d2c919cc7b20b6b282967c3a734acb1338a5aa5398368f0c23cca49a282171450f3a7ae7347a39ba1538a77dee248300a4a7a43926c6f4dc9e8a9b15458018247ceb0de98f038eaea9cfc1f0e5b211001e07239ab90a3cacebad723fc012b7080e3971909519101d449c729b0c39e68e46097224ae694260332e304371c71d6ce2a5d2e9963e64728dc2139f562e9a40f595240bd3824581ae5f0ba7d6baf220d8624fd78d3d968c8ede7988ce2a044c8350d4c06f783e2227d302bada99a4842c5feaa8ed36e4fc322fc1ebe6d99264c8a1523f6a339b2d6bd9726e22579ce84f12623dfe61f8103d6da31fa91c8de73ae204d806c45d2f43c83b410d8cc30f0f24ba5a6d56abfff2906bc597e95a3222f8c5e27b083a646125da8f46ecfd4ada6dd0cb4bff1809a2a26790f586770e193549db34a4d6085eda2d8a8844a6143135c88f7248516b3ba3920292bfaa01cfe47d447ccb015808b40dde591538b3685bbdaefd3b2c9ed30cb6e1bd3880ca020940e70f253995965baa6ed349539c7e0929ddfd110db52a694ccbc9e43f6a9822492b976a9e89484da7c88994cae8966d4072a13a39f15f8a55618f669ce41bcdb82a119f282338da36239c6f22b91ff54247540a5bfc53d98e29acbdc9c427a629bf589417ef6520a237940c52e0dc4fc9593d1e6108c6e1a4293cceb2445cde4647730968a8a256106dd73dbae83bc545ff978a52d28208c85533e5dc43b681808eca325ffd8a2cc0cf9199c7bedb7e0b4026b1bcc82d613f2c31001188a4c87371af30421693f6d1165529b76b047f53160f1af4b3bb218bae7dffaf2241f8350e0e5e221587662a1256422a59564f0061b3b77e65a82c5dc8da9c7a210c5bde1774c35cf7861c94c761e5d2d705f9f753e22b2748080028619396800e4de42f514e58601e98f9614ce48280ed253661ed49f7ac7c252b3270a73b90c2299153eac8350c8645198c416c4e3120656db4421eba146cbcce8e018114e466f56c066c6cdfe30333201737bd68e0c29edad4e28a063c924498298da093f9e57ae3450566d7a608225207ade0f198765ddee10b9e6168ad5ecbbbf5dc70798b280afe4c957cb2dd36846e41f17cb8245b52f2ee1831a12891c42dfb3e6501964b6c1c4c8a035ba83d11cd634ce8d0cf3ab0dcadec10a8333e1583c34f816a013a712629e3e2c831342deb9de1048776190919fda444c0b3f742f12824cc7f5acabb28cad1ff56198722e6b0bb75d06445601969a3805985ab797028fea3ffea7ffa6f3a880e95930e0d83f8425760d055e2154c45933c44bc98218f3a678eba6bc00ff55938c35bfdb91d601cbe85082855738fbb427dce7b18bc5946a46464bbccfad09e9d85d91b7c4d082bae0c2949143c982c788a7f828b68b6b47766b3c6dc21c8514cb088ea56f894ee33c096078dd0b3ae9e083d6ee7dea829e20a38d307628cb19fa253a3e6287bebd0a8226eea23d17bb406dbea9a51647e2e24c755ec74dcc553374e7e85c3ab45e826251cdcf41e4ba7f98a29d56ad23a59b8297b8865f51f0826fbc1c83c023dcd3b9ba85f471f64ac95108830787715cfa6d5068bcb9d7f86bc4646daae5dcd965bfffcf52cc8d40aaaf50c0c2eaa2b18c30f2e31f9a84d2b810c96ef2942d7e363546b12f735f32343c0a9755a2e2372f973f8e0cefcd91de83cabb72796a6983fc29d4e59625b9d72cda8ed9d4f81aa08d9dd6dcb0402d3027b084bd693c033452205eea3a0a95197ace95c1737191f54505ea7055b8d8e4977a2205efa350f6b6c4bb26c239b3251158d607e671d774800d77f4a47518df3afd9b8bc77f5bf6bd4f9faa04932f61691a2a770916eae879d75e3728f5a580aa588e26d17d75c3884a6776e03ede531143240f3ba716a770c182d47a150097b88a46af6183c0b2d683c1d1a55290db2d66e240eb67c0f49a48dc1011e758eaeeeb4227b366e0da8179239bcca8570e9b11e753c4a53381b64f2e0a819b67f8e2f55a244c33d06213946d69601b55766dbd1b4b76ad3509643568b31102208a952af1c17f64a9b53a4753cb86755272e07c14c42329cb60be0e8923a7b40affca6b569a18545f3deac2e2cad214bcfe0d2ef746f6454008c30119375e9d574773a7b193fdb3e5339807aa27165a7d1e22bd4ec11c123b3c417424e94babf97e1e8ed1508958a4235295a7f940ccb6b83773527a0e73a0cdac517c39d1184f27f0a81e070a0dccc46edf89c342ee6dfad1d81cfd02adbd4837f8016dd373eeaa5046b92e80620be7712169aa3c1d88c5240baf2b1feea601119826728a578dd6df3e874ea2f2ff0b1b686411fbf0f1527fb863107881584da56dda8879b66dc4cb8c1b6648859ecbcc4024382c2f461a5212cfba1e677e3878c0a476b22f078ff19707a9f83254acc46c08509df3ceb900f0a5a95b3badd31f448236c80d7ae00b58447ec23ed26bc842c6503771ca4d685a50b2015d46eded7d8bf8d0da9b2b1570a4150cdca62e4720a667e87a2861b83577b844ce81f9401dd00ef0e07088d49c1f93d1007d4220de8c7cdbc509bff37a251f9943d8a1f01c98f4a3525d7d40e78a24bd2736e26b7a0f5f0058a5eb82c136d0ebf58346de49a1d532eeecc15cf6769231e780e80e0cfe1d148b7bb5e04f5261b05bc686b1d9ebe8cfab7846a537911cea29f4b8191cff6755e8955b569869546c741158222d65280e31174f3bf78222223b333e24297c8ef62d8763419fcc9fd015c51d1446d62aa4f396810f9da4581bf860eeba00240a22b1697bf24bc4d06d3f88539854bfbae1dfd2891e58a53350f477fd74b3c6cec39bcde3d897c89042935f81211fa3d042d2e601b612ab0396492cd08fa9b358f0afd7cd55060bf62ce27c060c30017698af4dc790adc1c91fb1f188251378d839a378db35ff453006f04840f924b74792227599f20bfa5386f068f5d74a0d8c325cc3fd7b2b956119916ae3605bf2595428710decd13c2cf3839cce69f2da462551d569370c649202ea240b5cb0c0bf8661982a68899ea032b4f2ef398dc8003992a8fb48b81c1273907d1b4db0844051e779f687aafd8f3a7409d3db1f2ad9dcd3867f2c6a4b3f9ffd18aac0fa7ea2c3ce25995ea2a40583a7a713773e1d1061fec44bba404dd8b78450eaee4ff9805808a0aee7a99b6ef3a31e4fdf9277428f23e653e2939bc30e5b76f764249de2b970c51c1fe1b39e48ea05e865a818d60f0fd2cafa6114efc06ac539827665cb485c5d6fb169273b6b9cc8f6219ec661d59fa2698d5591686509e72d9639328c22ce3c8d90160e084a1a2d457c0ebb274f143ae1d916b14683b3a5095f0addd62e7922d5e0f140693fd33e559ebeb0f61f857e437046b2aa7dfdedf057677396a1b528fb3ba1f52d391971431ec7ce57a713f8994a3eab0c18f09a86d1d5034aa8d92e7722ffddf82be5699a16d7e2f330aadad0d1ab6509eec5ea9c8e641e9fcc21a63a3c037ec26271ea11b97ec82c89dcff78ca6b2651aaed087e34e303fa7b0a7d5a30d65da503daee1428e563431749139688c03de5a20e0a72525eb244a5387c6589d4aa1d6027b73b759c8aa364a25f3033f79bf3baf329e59361b465280ab6e8ed335655384e1b728745d183eaf91111b1641342e49652a69452be07bb07c10733300a8040151cbd07e2d52888ca005041ea5f9cf4618c1ef302b081131b85da2f66d9db1cc930bb792848edcd7acf14998f25c5ece7802f056ca8e0eeeebfbcbbef3b77eedcb9ee1e1dba7bec6e6f6777f7f6962eeff6ce5690daddb97327516b91daf7197d2f7b9794d3e5dacf60ef33ba2b37776f3da4ef315131db478f5df251e56d5298fccd7bbfd136e77d7d4fa377de9b2e2926fffe7b6d7d74bcbbbb69ab394fb9d6374b758666279fabe2c36ff33aa4ae5763cb7fee300b8ac9bfcf4ad0914de1dccb18df81e8d4c7bd29a6ef8d7712292b984496b4cb7eb7eeebbef7507c92d4b3b83403af428a430c13ef0aa5261bddddcccc73ce1921cda1338de0225ddf3e3ce9079097c48f9febe9c054b3cc4ed6261c522ef7594fcc6ebefb4e9d1c60ba20b50ddfe5b9e9e7e4dc8f5182d9c35a9afd48ccac8589f0636666666666c88f99bbc70498d99d88397849479254e07ffcde7bafdfeb7ffd31bcf71e7cefbdc73447ff04315f56705d8f0a395e78ef45dd293bd0a0529134655ffeeb9bd4f65178619fa98fed47fc6540fc18f629d0dc0f7fee98f9f947ef306d6e6ecefe878f5ef99fbd3044f341811f1ba98e9e251f6bf4bb2f2be60e058028f598ed9d04263b1c6112c30412471089396a811524a000d1c5891f8eec941d7690a205a9edc9b0487afc64d02033adb9f7f0f9f4ef74827ffad367ffd33dfe74722dcefb1e9b8e1dcd3d1f15fe5399ede89d2c7befbd7d4f85293a58513beefd2efdd04a5889a9f7bee377fd27baef254a668b73dae43eeaf4c290daf487eb694ec793272af4cebeac98dd26753d7547ef4ca077ba293a38919b6506ae3300e2d57f867eefe9e4640f7e67b49b51f9bb1ab56b60e5ef64564a795a9c56b1e0551ecd6e953ab0376c3c04de8e16569c96a7a7b7caccbcbe717c63c6d6e0876ca32649a6b22a2a8931c6244290ea34c71e73a4b5d0558c628c31ae52aaa51d3ced8ddd1a90ca8e096276ab2481262a43606fece01eebd3ec2a06ccc0d51f88d717779fc6bf836fc0adb1cfbd59ddefb60948039aef9d978e6d96324987fb37e7f46974f01380bf7d505907739bc3dbb4dba556d25cf58063bc4d298041c3e48734cbdee3c7cc327bcf8c921cf5b28cf4d125b4124c7e3732a747f9164a85ff34a8c2f120fc07dfeeee6e0ac27d4f48295f7421b758faa96f68c8778797dcdddd9fb3a4b47ee1c1849172942447499224e1a2e5e1244cc443429687877aac5c9a4c4a1586d0a4d23c91b295c6e9573ac27c4a499224f121976bce21fee12e971bc52d52bbfdbaf70101d3a42861c491808047529240ea7d4f7324c430c25c9ac9b3b1f7de0ea9543fa2c9ccdfbcdbed4fb4c0bf7bef69efc1e7f3bdf7de8b4c4c2e8da713a91b77f7dd5d77b9bb3b0fef71d462692993124b86a561e4a8c2c1315ab03cc2ccccdcaeadc317532d7777982dec1561763a759b63f7f762cc86984e995985839999993966529ea63ca19a250e14a350a895a9d3e98442a152294dd3b8cde197da53a95e5e5e542cf42a4e546ba2542e3033b3a6b19ccc97150d6dbaff932a55ea6535591acb09bfcd7166677676a6c1c1028cc6aa155c311cb32c164be502d7140c8c0a078c8a05ae327017ecee598c914a1c2d1999171acbc94c2dcbc9c4f1e2c50b181a8cd7afdf7bcf9572777787594acaf75c2d97ab450323c574a95ce09a9a99613999af975653d3b4fb0053ed2207c2452c27fc3162bcb497bbbbc3eea6d1685e88984e3bada6c6c606067b158e8db3d78b46a349d5d4d4d8684a386cb8a6702c0c067b8d99d9a6cac05dd07d1a5a527b936aff77e33aabc40b5c23ca97f57b514b73bda55fe01b9c656bf4773d5d780a2a51661d8277cd4c16334db13c3a3a0757db30b5a8cd84da9c0e9693d97155ba4edb94dbbbe27bf2740277262617bc173a4d21f231c67884027fbf529e90328ad9c9ca4a493d8214414648e97173cb343962e43cd967de1a0212f75a4950260918b398429a9a9a9ab848c80b62c3ec6453cd9a9a9a82040952c393f5792f4fad284e2813a4502922908268e1230da477de435e564a6bdd4053c918a17a694d118408264a80a82faba3d58f9e3248fc489feef2776ee6e8b14aac21384a758ed23bcd1c45b214181e4ca5d73d7cf4e8b0e60a2669c7288b308bb0caec7adebe6bca2cdec81eaec7b7871e22db65b7c41ed8f37a7a7a5ccdf5b68f085f0f94d95edfbfb79bc34fa4bac1cefb375980599631b347f8f607bdb3eb1b639cce2fba46c0aee461d0303bd2d7def2fd5b52974f27f37d37dd483a7f514b29e57b5348375deab1fd190e357ba7cf4e27dffe9de43bc1533cc96cae2f497e12367c7da29266f381406771faa54e773a9d4b47c6d07cb9008bc1ffebd2570b956927b997f521fd4e84620447a0a2fa6f2f11618c709b704209311081133e28c92216974230050a0ba3199772e841ced62aa976f31f14b93430c1842547c8a572050a51610212814a92eb49e9c114557af004104c960d23982923f1c88c3f644ae68b1764421822835204942b45247182228e904511535829020b22cc99ba5290744802835765ceba5290709009211d01c48c52b212cc2cc9f590c89c8b39eb4eb1a14815361079584cd805bcb20526cd5885919982220845c842304f41289aa7ba536a88c28511576636c4941a96ec10638c5820750d352049c1941a7ec89e5f40440ef0b9bff927ec108325bc1d2084103ad9028313941e8672804f8a8ca0c3a76c9852bbd79156600820e4229bc43291eaa69caeffa328b806fbd687f5f353b45b2cebc48976cb047d0b2585daf1910ecec6eaf8a8c8793c894e721ef7a186131c139f84bf1a38dcf6332c6fea54bc8813f95073ef7fc6c9ecef7c6875c43660143151aa5d28755390dfe9d4651d606dac0fff8f0bd91c5eb238cdd381c5f242bb1ab593cb65b92c172e299c746ae064b4e3b619d663ca4a184b73cd4bcdf58c135e6a5231fc011565feac8facef73ac8fd7f72dbcf06678af47a7ea3cd7dc7b9ef5f5e97f1fe4871f3f7efca28e8efc98a5d97a91bee782092549473ac538accf23a2329941c78e1e3a8208b1b2b43eef06cbc339ce1193f571a12aae24a0f0402813124af27ae795d18efbe19290d0d0fa7452db800a22c8f9b03fa8fd3198042144bd7926495d3605207441f2f2ee4795c91025d5698cfb3e6edd52f1ffd51af20daf1dbfbb9f6c4e37901fcdf58b11cc6e99ea8f3ae36446d6d2fddcb43eab5161287ba3c79027eb736252da22fca0b674fda02ff94b381011c9da4738496ddf5c55e6cbaf7e0668a4a8b954c7191aa6fc6e77303b267a3c446c78712672292d95da01592af1e5a6dab4d3f6887ec4ef1851cf3fd22da650ecd14a429332d18a767332104cccf7cb44a909f40ea4fe8242f7c4a8c1fcda4749b56323229d267ad952c45cc12862c61880005b233e041e01dfb33e598cafb33e32c6b848c477aae3fac1ecbedb89ab9b170cf0dfef80ffe82bb6e39d5efec6e2fff469d3899fc5771131b9e6e2c7770d31d7c73ffe7439cf4de4f625b4929831c077f96298013660c208c32e4e3b75c550627685e2c80a151c687103295862a8136d9afb42db8fd5d17ef57b84ca6371e00c6b9350210ab801cbcd2664f0b2c556ca13020dea5680ed0103b21a290136e7bdf708c000d46963558881a551a58d176a7c4edd2c8edc813fda2f27a5f481da4edb0c52636ce1d49a4b9859cb21ffd7cfaef79cb17c559f0f07b21a7f5f3f6f06ab5319b6fbf93def56426a6596dae68c5766106e848f054b7d04f7b2d6ae7fd2b7a7b452d59ecc2a463874d1831b3411c50a62ad0425cce086071e090909cd20d6ef6a9ed556087e43c3060abe1ec37d094ff976d92854d8c89197da3110ce44f0132a56180b6fa1513beea2e45da48d54ef2340546f254e8477952144a9fe4fce2174a9feae27020caa3fa743842ad5bfa7084baaff8f0dd53f870e232851fd7bf8300253f5ff3144f50f22c4ca11424e9860c8892310c9a0c80889a3230ca1c915254857ba44495a3a525aba819b90c05c901085d01323187a220b11144b8ab0dc6084c54a1226474d9a7ca544d1a5ae942454a9fe5d65ef749a865477ca92230d492ba2c6e09af624c64ff88465084d7838a209a59926ac78c182d7b59868c20ff1a4be9f4d9cc00584bee23c426433fb00f3acf757f55ded7751bf2b1f666321c771218ed3c5ece7527d3e23adcf089689d667f5fea2a1649cb4126d8e8f60091aedb806d53fc531a8fe27da310baa7fc63e206d8e33d15ba2d7c584175c92db1b174df3a47e5351a4a80d26ec7beff5e4a82ee18feabf1c7c9642807c89e6e1796fff157f890cc998fcd367db908c65bff24fdb0d3db10cbe22d591fdd61d3326638414896c158ead43263fd786fd722045082eb8e91ca96642985d23bde264b160de61e8c6d84432bb46aa29ae775227203f2a6a1dc755e3f316435c41b60e22fccda55695a24da439d4f7eafd79cc6f1ad43fdf69d092a09612b3b9f8f25dfaf3f07e3f6da9de5e525229db657477ba8abf4d257dc99ff3e56b47a75af33da6fbbf756c92cec368fad3ef1fb4d4d447905d729ab591e3bc52bfb53bc5d389b3a69a7de7468a866af6278e4d5b3a455d9034521d44563f558fda66e81a57feabe7d13f69d0ec0f6a6d93e6b2ffe997ad9934976d6c635a5c3d8f98ff18ba9abfa21be3d8da5e31fea4404b22dd21f3311468becc03b54e3f552f18e0af3e02ef65fea7fd5b1f234383dcbf455ff1bb7f7eff6cfdabf55af1a75a9bffdcfa57db6c6d404b76b47e5220a0250dd81891a0253b647e7e108c0f92c97ebeeb5b948f1c27fb6f7dc7472eca444230e8a46ce43859f68276d0921df3571f14342923654fb968514e729c2c7b1935cc8dc54cc7d1b122b2b591e3641fdf919a65591299942a5a6ad6f1521078503b37aa59d21244d4ce95d4ece36b276eea7a28a96b2235fb2c6ba3dad43b2f5e6a2efbec3d8a24d4aea94451bbae8205098ada35969a3d51bbd652b3cfb2ec23537319d302bc8f9ca7911c27fbac8feaeab3b96daca308a927da09c94edfbd1a4fdf69add38f9f3e46a95119b22abf9f34d28b65da9f9e55a7a8bd3c61ceed157fbeaf368e7991ded13ecb7e6eccc571b277a5606e7dc557a42f18e6af7ec7fcd5ea279d14687e0c9dfd719bdb0b859abf63f5f3513fe7c7502014ede27f73fde2467aa76ba49a7d86cab22237ca9464ef4c9a67e6287b2792bd0f390fc7b27f51a190b2ef27d9b30ba8a727ed571db731ed5b757a4dcad4b36a01a85ff94d30479a48efb0f3f467fe48b269a678cc903ea641aa5f2b54ae3b84dfc32104bff75e062184d97b523abbbb73269d439d9c9db9a712fd3f8dde8929d46bbf38d095348354f90cfd4d3f6d3d2d4c1bcde9ac8da74384b93d8ad3d1f166233d23decba6d85d5ee6b7cbbd9e4de1cdbbbbbbeb50e00ebc9d7717be6414d62191b988148dde611e54fcd7b33c3f4c5424431fe32e32dff66f4382a214f0d1656a4bd225ff91cc2cfe202121c1205c781f2c0069aebff5cbfbbb4dfadb3b2d996d7f54d8c7fc3acf7fccc7ac1eb6ad4a07917fc759d16d6ed5edc315ed5edd60bf0fdbe65c3d84f955f74221cc06b3bdbca07e17f58b7aabd56ab55afdf88aeeb6d96c9a647d0d7dcd87fd90188bdad0d7a42f186cbee677d87ccdcfafa1404b26dd51f3300af48e33bf66d2dd0dae549acdb6b19a6d632f2ad4c75edbc65eb098347e8c6d6333dbc65c30b61f7f32f20acd2132fdaaf2de7b99bbfb83f9d4a798a658d3e66b2fdfdcddcfc2d6fe21d5c7abac564d666ddacf6d48e56d065857b4005c437b516d9d56530f6685ec53943b594fb425b7d9bd1ade7bcfd1b899481089bb689a73d99fda6e9522f34f1be6c650dfdfc9cd46733a9c14f3d46ace3fd65bc72bf0675b975120346aa4f0a5871bd7e91da6db6ae990da9b14111e52586d8ebf7334747a50c0863f81cf697c35c586a404547f340624fd3cfa7fbae96877e376a4ddfdb18bb13f462dc391bd3004f220e5ee3c52664dc48be4b121c7e9e8f4f4c4f076777dbf0a161d14aa7cc2aeea91b6ea3ea4a1ddcc64eabdf75964ce24bf9514bd239beb66540f808c1b1cd7e8ee759a6b559e1eaf3774708d066c4e15d2dc7bb5a767551bb002bec147b8c6e402d0c95d6255bb395f0f5742524272926363232cd747f80623f5952578306205b59fe91393bf6e32f0d327e60a391dcb60768cc457d687bfd908463562a31ecef38be3effe1d8c0db634fcdf9680a5e1fc7322c2cdce031707feaaa6ef2f162b55562e4f0ec7e9a7591ad5028bd3aff5a7fa513a3dbc39fd302dc891458151721c505d952d2753fe528d22c22d4f2fe53f875974a14ed2d59309f2310a52a95d9f86efc1b7f0b93b91da1b194f7f5f5231bbde42b7192f63bba1518b100d55a70fc836390ad59bfce126c35e609b6a0cfe4d545cf32d7e6abe6f716e286c8eb7beb9384faf5e545aaa4aad552d166222409b4344734ccd35317d74266f62da60930d2235c7caf10250caa8b98605a82b258b0f95bd08b049ed4f40ed6092daff6a81bb970b35c6f30fa95b3bf8926a7f8e9899987f11f3ae9887f1b009dfd837e750edffc7e4fdafc7c4fa4ed6f9bbf35d85636a3199df95a931b6f704c6d07cff8e6c4ee7581ff96aafa49837ff8abfb1190f93c3799c69a65fb81a06ed6a769b71f302c67735eae33ec677aed77793c68fdc99de91f599bfd14e3eed268c762e1bda3dc739130dede48b76d367e8918b765ca4dd02aa3f0c3f7ab1c93ca66e085105b24d1978315bf754d0bd28db5c5627456173322ed9dbd0c9b2ac4fae6573a627a633f5e77861c6b6b1d4cd06b457a8808b26c43ea0a2c14816b125ef99cbe6f477cde56693f13336ea4c9bd33d30094830f93b675a1f55ed1c3db02a4689456e803609209c7014fb808a06231a624b826c4b1e03a4aff75be16fe91da72f8e06576da02084102a4491b1d12d0a5c923122a55a8d4766edeeaec33aeefe0280b339dc8d942e57cabdfdc576778f0d51bbbb2a34b7efeedbb4dde592d2bddd5d6ef73f8c66eeb17bbbbbbbbbbb7db7dbbbbbbb6777777777cfe4805f37fc8fbe7e0e3deeeeceecf929d316427ffee4eebe94c6f0253767bf2bab4208274bcbb4743aaba6a959617189be9c797cd3fdedaedc9fb642820aee3273ecb34242e7eeeeddeeeefaeebabb3bf7602a4b450dfadb9d7577f7ddddf559dfb27b06767366c82a0b5b4f32cb32b9dddfeeee5b98173f605e8af0c52b1eed5c907633c2086506a3ccde52cc56cc4b2fc22ccbb20833fa5e13605c625e529d62f419380fa8be2d075f9bf13fceb355cc58c564c12a58307087b9c4bc1461842799bd28603cc9ec55311325d50e83420fb37e6c34a7d334f9dbe9fb7818b3797abf5236fd20c56cf5809e76e55fe01579d250f099399d67c957a4a2a6c2f1e22a8bc9ffd30a688257521a4a539ddec73b4b4953b5f016e0ef4353b5f02fab6c3523174d96a604eeb785450b85116a1775513b152c1866f6fdf9d91c1de63677f31fd3d27ca369cee53ac9ec0b6d978b829c36159aeb179a6fd4add12fbb3f6b3652c0e6f4153f54cc18188e31847ce97aee21d5d48a8b102b1d2e5a38e1069a16442c2daad822082f5ca040a68b10c823a12d58632a9599df979238c55d2abfa1caff886ae0177e4a2abf26958d5067fef5ce8efcc1141a70a82f5e4685e385cc14a11d54996fa970c8c8d6c7a870b462a0c4d0a831313f916accbbbac0a2c6fc7661e4b90822c9d2eaf7ca1155abaafea9ba04a1aab68881165d3809295ab06063c249121f00b124241443cd563dd1d4d34d3d9d9c10453d3da1074ef0c1cb0138210412015c8cf09cdaddf8649184ea4db041752e3764a1a472331c73c47cd7746571e465040b21486982b6e5498dffe24b2c8a6afcd504a2083eece007226c59628167094208edbdf7de0b13ad18b5a36982094ab6d0b0450635fe5ed1c4db800a191f8d514d5c614516f57d4a85e33181a6c6a61d6a1c42531435feb482881a636c592396f043ce12a844971042a878473e1e24aa60aae28789c38a77a850b1447d31ac6869e952e3472a5450e33a41081d98e480484a0a8ce04c4749292d43ac0f664082558c29d4f73b0517525616d1fba7c2e6bcf7de6f533e8249799257013a62c24d8ef8a83721cdbda751995d613ec68b9ca7bb5b559bbaaecc8e8ff8a8776613e611433706f33c5e90ea78f132bfb11866f2627399cd5b5b93a398ed0561b6177cf831146809a4402e20981f12db60b6a9c2faf4773a389687a3384a61a104fdcd39d4fe5deea1ca872b496530228bd47e6fd27914ead02051669394f4b5d4713ed238fdec14c9ecb689859a4890198400f54e973d60ca9003a2231c92d050b9c8bf8895c43905cba3b9a03583da347d3344a510478a763f2410d7f2f60b1229e93a92ca87a3d42e8fcdaf93e5b1a17ca4719c0231a5bacdf60fb3755c619a8b34add302e16210c467cb1569bfd60a89b268982f147ad607a67e7707868fa16d6a2a61d06dceb54b4682a08c700df7b14cafefc74a8ec333ef826124466ba648eab5d13c53b13c5d8226325242b3f191e6bc4bb0d208b69626269bef98c99f898a888cb886bfd0cbe8151710299220d8db7c3fec61f3404b1a06b3f956e1e8fff117b72e065224309b87d1a0ed6dfea7e7faf43bec5f7e7707c2282b398e7f0c4a67280cca58fc5558b886ffea536f93f9986d5b080bdfe8224cd25bcce43c3d45f8462b69512199edc5a7b03c1b581c0fd2443eb886bf13edd28b8d8f70ddc0fa07f16f22f7f7d1c9e6a2cdf16f14666a3061dff5d41ee7e1a220ad2465a4643915ac5799ededfa4d51bfa42f175a0fb9dafa164512441ff6f0bb07ec8196404a9b763f6a3fec59850376730d84db0534454279c09ed2a0ed6f582243022acc7f20f6d33fbd35ffd05d152699907291bb06125037208ed9c0be3724b0871b920ec06030d83745e281209b0f8aad4a078c02c1d43c6beb609db46bad66ab6a3da72d031c1b36dcea5ff362748c222d3c74a95e770a0f4c35c513f3fb1a589e18ca451a86763c84848d8a88f691d4eed8a8b6bca1a9aa9f55a5fa56f3f4f8e555c560aa54903557f4658736a77fea60763a599665d9c30fd4e7a3fa865529a5fca77a1e52693355f529d5a354b403c2adb60d716d6903082184124208e13f64222a841042e87aaee6beb98690d2d0d89cfe2c8b6c1aebb34d44846decb0c3cbceeb02c33e6fb0032264f9c1074cba58427d2ffe73650fcee65c99abb906a2332b9d62f2c858ff4fafdc37b461c80a9070a0c40a8e9694f02a6258c2094a4d7a5822042c4e05d3e935926f95204582b0e10a21278238c2b53881a910889665d9db327a1371bc6982d9b9aafbeb816b6af5647dafc27bef9fca514c7d2bdfa3b2ab099a5577868c89343f57a62c94c3fcda49e69825a63b0c0b66c742a915e2fb33918f6c64a4ae36a7a8fe34ebb3d5bdbba96489a23aed26c42c8b4d3066597ceeae2cfbf7228c10c6971925396ad20fcb3279626629ebba74672e2f5b3889abbc079f3b844ca53ea9fb4a4b4c4ddda4a3244146eaa236ea247df4ded2b8bff7dcdd7d8d921c35e927df72a81dda99ddd9d91d66470f9945f8a2f287046baefc4525b3081f123052887c4db3e5109a5cae5efd4b4a63cacbbcbccc6fdf7b8fb7eb5cfd7e0f3ea24283871ca7554f83de5c7a7d68370a96eea60af5906ae326da866aaef2846bc249aa3719622b4e5952b81eb29ba49425b250dd1063151c3428556cb8014208e1952ade125710895280000ab9822d6a70296af73af0503b6e9d87271580228b1ff4708392097c88f994225b5456dd2945b4d4ee8bd036cbb2087bb02fee3e86f13d66974bca7dbb10be13a4a64cf97367a6a70437bac7edc51eeededb368761b6b0657ebbdaa5303398cb4b5537ec3c27529dee29c6fed45bd74ff3701fb1cfda42e989a336d91cea39ca512814caddf7eddbf7fc793f019f67ad1821cc32f810423817bafb7b563cf9de6bf7f74e328beeefe8bdc731c61841d071f5799bf364065d668e9492bdd345669f2e0865f60f6b02618278ff9eafb2295d90669994307a16e12322d5d568e131c0986581fedc1f74d9b3fe82d47b3f39b27c7e053e8f0ddf7baf61840ea17be77a1266b0218410c2f7327e3b48bd87f131be87eb67fe6d27dac5d85efb319ee66768feb594478ca799f9578f099c7e9845944c2a478a1499528488ca22a83b2507a12a8226112cd59d52646552c98654995f6dddababc99a3593da50209b87d19fe66ce8ab35e9ab55435fada08dd262b16ebe860201e06da48c1ab69ff19366aa1556ff3281e67ac6f6daffdfd8b6d93cec79d4fcd3a0ff1a2ee81bb0b1779c760d89d9d0d7eed8dee6f76d647c0d05b279190f54f31b274363005806a090bc5efb38f679d0873d8c020d49cd7fb1d95eab9aedb5fad5dbd83c8c02cd789b07baf99a1f125bd50b868d878c7fad6c1ef64135ff43623c600f8007000db2a119d801fba7403d8ed30dd8d890d8c67efa37368352ba647f6337741d67e5abf9b0a6da6c1b439160c27fe7d9d89461d1170c3535b0b7f9a01acac3260846df7158d46663acdd5dfd6adb9aa2d95e9b0c1ab3c9fa62db975fa42c467591b230216549aadbfc96ccd6cd2ab32f6937c3abad8ff9d449838979c100e3693e02309e86be22e0fa57cddbfc8e9ab7a1404be603bd566ff31baba1af7dd86f6cd21dff355f43815e2bfa82617b9be7b1bd0d0d5ab2a3e6657c90cd6f94878cdf7ea341352f83c69ebe96be60f887d1a025413c60ffff3468a3b0dfd890586ab5b5b6b45b24d6bf6464583d322c19ae25b3fa57ebb582d1d7eae9d397f6afd58effd74bfbadf53a75619e59f4b78dbe64fed5daf1dfa23be8c356dbeb25c363f50b03f3dbf6bf2a160ccc6b8b8289b152778a0f445a867641aa0c6c7bad9e3eece7f67ab57ef5acdf9fffdbab4561a00ffbd78af2a014f6dbffbf5894c7f6ff1bfdfff1b9c5fc6fb0988fa9ad47a970b4fec506a4b9fed15cb73ea5a5a874ee5724b16434220200401014c314000020100a06c4428148241cd1e45def14000f76824080623a9788b32489318590318410024000046004444613071f7587db81bbeb502638ecea7305e4b46fe572ef011deebee0f30abc02f34f99b27287bff2f3f82b87e6b862f02b21b7a4351ad1a9001d5f18ba9f35c3c123450cd7dfdb63efeae45fb7fc15e59b56f809d6daabfda58af5d63e6c072709918dd305088d60cb3445bbc0f6978335696c6a8af02c696a58c9afaabdd1be9e33fa6454dde343d22d581abab8c4b5410c23cf30e388fc476921ff9518cfe119153ebacbca313f38482207a0a255aa85414968f998681766367f720a19a86a1dcb22b33cb87342ea19bce429f06bc46fed6f7ec7270f28a848be4653885bdb01479d2d8cc07a12a63032b14b0819ec028361bb97e409704025c1fe5bdeaa426c527389ca0670fe6e6fc695a4e7d794090b8ca275a09e00f809b270b90e86a0943fa8760629eba54293a7ea7b0777ee9cf7d881d6b25447067e63a4ef52fe823636ffd1ffc716d4cbaec54f26dc16b26e2a49bcb73c217cf50c7e5d70786d610c398e8af8b8f1c61951042683cd6fab878b68f32506a95f7765eb452e20e3b840055a7e3193b90727907796914435ebe18aa699fd91166a0679e6b201960559bf8f00c4b208e5a91a956a68f76070a9a049d9aa6bedf490bd016773163156fa8f56c59c68c4aa776d8bb19cac9c00e2dd09594cddea9f06362c4c4d1e82b9d33d5f4df4edc0eb4388a0be08e964615d13353fc6d010265ed00e1aa3018384fc4f5d1b44f1172d6cb6c542c9d0049421c70fbbe6e60c0dc2773125aa7338e6295db09aed621dac860ac1be75a531c12d1c5479b1001a77d0dd75e0bf2974afaf5c146ae17d6686a046191928ae6b298401a3056ffa976bf118127384f55c746ef8b4bc136358f7a5fb74847e0364f87a045bb7357a8cb3bacaada7bbe2f2d033357c0ad30e913934951929279eec6e3c89bdfddae1b92c7a8216a4bc4f32d7c0ecce646373a424f985644ed9b78424ad0f25ac0b3364b119c969a08784eba7c0c585b0743244c55fb1ac35d82d2912a25e898f4b84ba7253c92e9a554da0c7ed7b33d9404c46c3d550733b3162bc4fbe268919de4f6dd350840ce38014b444d3277d22e2981a30ab5caaae1145e59cc9f371c5e580e471f43642c2b2f3908f7e330dae3db0806cf200c05919fd2b2cf712c407c88e7def062c4ab24eede09110521b1721b8bffa1ec1c57472d8e82d08dec9481f26c66beb1bb1e4f7f6f9f87df1d6fe0d045497c017cd7650e384ffb21e7e6c8f0e9a11942e8896d1aa2c0f8932292278582eecf3321da3507edd9d3ddfa686d4c2f70a0fcae86d2bea27b95326b0ebc7c49c5e2a919296b3c5e8d9166e98f81ba7b89a471df3441bc9103bb67aa52f6d7082c74aa9d73426e037df5cb694779d43bdad162faec52d4f527dfeac9a4893647add3a475d011b1a59bd9ebe2cf2bc3a954b0e5638687c22ad3142a12a04e6125bd6e9d6c6251a307c1f7000bd129a82606e887706dc754c295c4c05ce7bbf112bf24bf9f96b54ab50af89d043ff79d938870adfd06ae730b52e181da8eb774dadcd9a48a928313d40644156aa6acafce80da4a04c89f1cec1542631a5cd8a2999c1e77c4545a42f04794a18692281ce4b5d1c722237dd74b300652a5e8c46677059267b697fc7361853319b9622f0cb8b530ad6ea63ad01fe7589559ed8ddae0bcd6f210a087989f246994f2b590895939d77589513939dce42bb6c1618c90e481c3d111b43977ab8cc658f90aa0cb9f587b6260ac0dbf4d2402bf0e581e7d72181dd59c607568d9cbe3a739cdd9bfd455cd0e46767e887dc41ccff71683a535ef6e284140d7f30f6acb8521dbeaab28d942a4a00ac3810d5b5302fdfd53dfd6f82ed46d13faec0d64ad976084d8cd8e0e5f4bae2f6b6f01f48c349e9b90e2e9d5cecb024c7f65fb62437687e8a397faa100b3a54145e1fa64f8ebb68794ac4c2aae0c29e07c336045e7e6af9d3d9855e3474270573df2d7571b50486a47a1d74293f4d7748cb0049085c500c0dc4a23f186fc5b03a63c0d300a465630671a548011f7477e41f3cdc5f7e99903eb74460ee5f9c26ccec6cfd786bd66ce6301c8c2a97b5104da767f948f7fe230557915d981d614ec7efc187d333b86ad88e2a5b891a3d1af22cf6d311869b29d1742dc9bd321887c248db094f21c2e9063997cb63eb75fa5820b0190137a3d4d1193d447016debac7bef3a9a19ec8fee13e6ab7f017e82f4f111a8b93f14d06dc8c21d14fc3c47dde3cab8cb88e67fe6477866bd747edd3e73b4cbd561dd7d93407bf7de475ad8e4a984660f1af243070b96eedda2ec368fe3e455ca8c725e1f141024fc05d0f30f1c598282c5a9dba890018c82c48c06591475705712c6e08e310ae4d51d15bbcd349102ff69b66f2d9d94684865bab63c92455ca260fd33c3ca8349ab7d73f842e45857ed542cadd8ce8e19f23a64432c22e797ec4844eafe5de45c069d9bd80ab873069cdc40ef7c0efaeb5710e8e4107ab957e594255ecbf9504fc6c9e634242fe25cf4cb6a636caceb8d228017a1d461d1cb8fb774c2dd6938b38efb4b05e1a9ff8e6059040d04323d8bb0c7f4e40328b2283c6b64d69ebe2a7a029d4e2c9140c83fd736c189daf86809b5bb0b1278d4917504f8b735131315681537f1c7abf84cb1d6d38a7e4c467a49bfb316d61eee40b3bba56109c5e2ffd110ee05c6b3fae5686997fed21abb739b0be7e9dc1ff658df925609efe1a7a6adf9cf8d330e1a1ef022acc9893664c36a14861697c5ad32478644048b82c219be124c4d88466e612a4563b1d351a4a38b6460015c122bb634ca02d4a167931898ef771717ae1d47b383f85286442c833b1c76f8d3f4cc8f107c0aafa6d02ec0405e5e58d4834c2585f6c3a533ec8c40cae888fb13116e99a90b085c21c5a1d06b3f252cd4a6c1476b50b7f085971690f2bc556c6171120eba72736b930e59295e73203f72c7d0a7ebd6c4237c0016dccd2e0746e2abe6819e19aaf52b6422f1fb70e5e3fbd99ee13670d29fb1311e3806dc0bd8a62501d24d9d2c93927855f4a0a319e0196846834061485d8cd7adbe7fe4ee3b68c3b36e648b755e5923bb958abcfdfe92322acbf5771c88c61b4ca83cd59f5bfa1fd48d449485b4e502881980217cddc568cd6fecae41514d992a2775ec11d5a3260c56ded113b04da97a8d2888b70324832c1bd213008f2cb4dd16a5a2a5eaa30608b9c02d061869e31136f478769d360c24478723a83796756885ed01c990c618d07ae571a371857703df7ef7d5b95af7a3bdcf060075b3cb54e40638adfc5c737c41438254841d5830988d05abb11dd549eaccbe21f36abe34783733b467a22ff0cf342164b9ec4682b1074c45266a755d629a3e571ad199dab52aa049c4fa536072176952e679d75667526a5d492d3324d463bc35b3ccfc6b1f1269a58d35dca46c8bfa499f82475f1aaa8ea5a1806d4b3270f761030a088ca5fc15e3723e3d4ac26b9e22f9f2f9463b16c1c6bc1c47e7b92eca5884e383ed760357aaf422fdecba24c9e9690eca14600c1dd9c8a672a4063d0c646ad6c8d654bb0858030b343ef801296dde50b2d15ea959444049786942a6807444867dd84a64226e780de506acf8e65dcfaecb6cac13b69b4820443d7086e1ef669700b3d508577d70c032ab08c04e953006b44ef867af14c49faf7808cdd2218ced628a9e475cbe1a1d5d1428027de92ed92ed0e8ce9f95e4a70d066e82427b2d125abe769bb0c595d129ab58dc70359b29b61960c154630c0c2e1ffb61c82d7ac6c52a3d036255ba6eb9f5541429b7b007c8c101d17d499b86c377d9d32809e1f0b81e0416a38436c59adc74fc89f57036cc636b50bfcd0c30ae13a2384fb18ca95e50aab316c86854f124ba1ec77240f09eb2a4bc8442cebf746aebf201c79904de9785d24d48264add8de88581f8329314b0c897ed89615ed87961ff10b868135f708bbd7a9357ab84fa4bb2ff90adf579c75bfafc6f9993eca2849f98f73323a03f0362d1b62ecba1a10eefbd51860b9a9f42cc3e22fa1e094ea220989520a68daae8949ebaa04f78890b9375289b4e02563745c5456015f7408d40c4a43f498924a0772b86baa4df2eb08952f1a07da132c312e5cdb773cf555e401a03cfa08c2a89d06af73aae58d2e476a9ab21a170ccb27de517251275381c999b6230c8c8ac45bd4c69a544683022491a2e543c824cc3820ff91c1f023f5c70243c24ea160f2211fc61e0b26bafc7906df6fd91ccff027aeb00b73881e34d41f268d2006d68cffd72fce601f03c0abbd6009360fbeacacbcf074b30a1bf6c445ea35876de49f4a6978360aeb3d66eab529a459415b4c8abe585a545650cdb841ebc2cf6a0b6735c54d45b11bf79c947702cca0a56da24a5cb88f543b0f9bc7422cf780520e170a5fb4c3d8816d015ba0faa2337ef69c7d574d118a13b8c45fdc30d4089807c2da4fea48cdb7e5411346e185509e801e8a77a0dd34c1e70a4761ae81915eadb1c4240dfc69d6ff08500a99ba23eeb8a34c1f953869a74530ea7a05bdb191805a1a07e66de4850dcb7a2ed8316e3470f2d83aa4017b2d64aeb2caa21dd8f7b8ba57c1661a7f1f0786e959587371075b6a10b6246f1924cce9228109bb82fc3aa301e2599dd48dbe59530346ef2abb64bd066ccc9efd8a844337090cbf739140577c0925545b011da579ac455980d2a4d3832cee3ad94417f7fc142609c1e74a0a13aaf378a183512204bf84f96d55dffa3182092fd9ee0aca0e4d001f9aee1ec840d4e0b9d32e7427c3479a36d4d96b26c4e4581eb2672a326468ff741360e11e1e0c41ddd37ac8d9f0de55d8b116dc3fdc4dac2743f83ef9d834c6110633472445836e408f411c277ec501bb6f3045c78752b2a66023d90c56e31dc33262cfda0ee0114f74a5b6f0c0809684edfa6bd6f4b2b529329ce650d86ef11693a85630a26ea73f97bab75a7ab5976621366e4239d07704c6fafd570b59fd33991d2cab05096416ec943e54537ed736b4781f83985a0ee885632c7d6586341013d73f7ade41b6b384288b63143fa573cc899829e4886664ec550d1104b5abe19e07296563fa5090bd8208f7329c13986b209f27a97bd84d81290baf5812845e028f82e0b57cb9f0a7097036307c227be711d86b019570eb47a5e6b258c5aa30a8980e30723bb79adbc33e30e7d6c409ead28564f8ea66907f6eaec9bb1ed16975d5927ed28723d81594317419e576c486f9dc3ca87e36810fe83b27b658870392e1493cf870cfa8b2fb662e473d041a18e40a903f2a40f3a53ae7275845d53cb61f52b204bce304f2a7ca902b22824abc4ea3c1541047cb70312e30bf567789675d917547634d41e9f7ce3d6b0801018fd9bce29dd4aebed6b1c1c2efde1b3f1ce03c0e23363477346907679b0adeb491520a22c55f6d021a7aeb2afb0ced0d0fff9b2f7949381f9c287da14c748566e6c37b022d3d43ea0e56e728bb36ce564806a42c22d341242312a9146915f2f11b2bb03456148e058f9775752a400e7320d3e80543600710fa39e503b99e6eeec19ae276ca3f19920503f354794febed3a151609bfccb48b0f865cb57f12982a897be703db5ddf66b086974af2f98e70bb53dac4dacc8b13e3cf8002ac032365b320676c102dc927cc497dc6e52cec438bcfc9c83c4f4742f6ee439198f84130545fc72a657700096c932f1a572e79a8de2e5ce9854950bea1a0a1b044ac8c9b2f402ab66f760fd6033d54a493b3223eb9be32148d3bea106e29b999f51f32d14f366f2085a0d0cb73829a58e1fb3673f671c160bf72be555212cbd33dac1b355e70a580ec37942dcb481030fbc19bebeeacf0643a8e54add0d92fdedc93dabc166c2066719d31f5218ad47b21a3960574540c25d5df9248ae0ef8e8415e5541870687bd7775b56114d7a145a76c72a2210a283302204fa709aa58a790c23c44a027e783b5f4f674f966645f2ef1a99ee5e77a2b601b1db0038716cc624654f1bcee04553a71e8710e69a7a625d9430f523cf035bb2236018931952e2235977e504b054bfcbce2ea9cf42a6ad7ff840a82fbeed6f95a079834ec585579ce8545e123358e75fc44b8b465797a220a9d70dd8510615a12a1283f5e1090050081fd9adc70ec65afc16c506c7f4051681e84d0dfe8b602d8eb6b8cd53eb606982ad94731a0da776268d86fcc687bf434a730de4e1b3fe89cf96ae505d902f81b417b26ebee0ee13866abcb70d480fa13f68afc0a55da43a0cc2157c077b18cd9cf0f2ee185a8387463a9bff3238cc25f21ab07f0381b0f8b667345821dff1fcb7fccc88212b6091fd2334137edd6f8128431bd0bcc9b762509d600da5e13d1509a67a866fa6263ab91b997bec3caa8c795e75f64a341283fe087cf6e5e486e5e337fa951403bdcbb80716b7a72068f56ae32206b82e4f8a2b6eb738be131de1f93840773503168fe913f4a0a7605e5d44234d17cfc09d2517196ac9da8506b2379c0f65e970526e9ac2a32f2fbb50597668e4a5a900956f5d71dfeea22e413be2f849be5c4745209ffeb40ca8b3346e17bb09ff7bc12930063a03d94c98d034c4175671a5bbe735e1e9857b94f47a01eb901b84ffaf0246167f04a1381f85390e118f1149ecf2e8b023b4ae2036f99778d553bafc04bbd086b06a1acd33fc3f275c53a3b5bcc18a473193362dd584cf9c4ea69d5144e3822ad7add030b842e7d431390ebfa14f009bced380fe33ae7e50054fa101f96969501b99cbf3a8fc7f647a5a0a1fc0cb242307696e7f5ee480338d08deeddae41a4379ac6422ed852eeee91e41dfd4493b5551a44cf1fb8fa9e23cadd63eaf27727f495836946a02c6351970049d08f6fb22dda4e1c47cd275232e8f263abef8f4a7b0365091db9b9938eb06b086dce7cc056f7c03edbaa40cc4f86569b72a097451047d3d1f02f27bae8bd6b99b78e995e0780e5729d7488fb7417765e4fabb6c79e835ca6264e52ea02684768d8b31f802c6cf322c7fd9d3c951e7179fe17597f8933195681c3592cf5dd675eaed652e70f164bcb826c8eb73696d0577ed3c4efd3478adbc1e442cb3e03a5de635e6768c3f37f147449d7550b53856e1dafe994e0fd2aeb60da4af9645ab158e8686a2b6f2d45c054f949b43f767477df22d6b9594108df4e0169393c76a8c6c3c2e92d2b53f193093bbf7f2896181d1b1eff136928c0874cbd26f6e04f37cd3f13da3ba37c3b6c29730f69ee72332a5ea09b00639e14f3cd546f7a193cadf6e6dd01ea7113b689e06bb1675537c28392b282b1666e6af69f1a79527ae796f5d41a343943c68684ac4334d0d618c194d8dd79b39e96b67585cd713ceed403d175fe90978509fee9e7b9470d2e61e15525cfe82a8c5ef7150eceb37256fbda0f9ca35b39e9e4ea14628825181831613de19b03cc1d19388410b792b0e82eaa62137f6211a5508cb11345086b7d88fab1d331ce7a690454868ae12e7a1d3b016e26e298139a8c3f1d1ec61206e2978531fe0583304e3819fb4411deff3b2265b99fdc09f22549bd5ec986fb46a0f229bf4b3f75151f5f4a8272761987a12151c2b5223081fb46523acf862c0a15a33e5b1db22e2bf728242657a59d6598b052b90e8e2ab25a591f1ceede9d3881a037b58ee50c3566779894e940baf9c69c53bcf4989550f6813e165030dbfb7db8558bbf43ae30a63fcea09437a7438578f56ea07619e4b61929058bc3231797c06c23c43784aa7fb3c5a86aba1873c55652f0bcfb522f96be4f94e5da6f66d532999217a208a1403cc53d14f5a1657287eb2ea8f4f5a3599bd4e82495705afd77f5ddb552978e3e185f680280236b4fe42a01fede37785d893b081cfd919989508041e23a831a6b34b290a423df84e7c93961a950b1c58aba126b5c5b5a94d52691a61b4b5f6442620267ed475dcd9c4100da18fb8db0a7a0913f269c28ecf0a46b2f8d0f02324e201198e71f425e73a8a60b1939e6841ec454f2580f252cc951416bf866bcb37992ba50edf72a4ef090abd3c3df488baffd4eaa0f5c6c014acd09d8bab36a13d5528a37f9d2a9065e4964ff897281faae99d88eff23e7979c3a188f827077ae99384783e1153df6f7aec54b2c05ec91fedea22af2396e954f34b1a049e9234735ee29c2d28d9243ed9de98a886998c7087db688f2002e92093e09f8383505b149b8aab844e8fb420943528ad51658fbebc83682fc899b1418ab7a171039f1319669d686c0dcd5d6a403ae0507927a44e102900f7e3b267611a89133074bf39185434092513253505be665c4110cdf7279b274eb6690fa581449517efa7366d8210d27208c2ae492ef07093ad6408a9675a4fc86d7a6c287ca0d7ac46293e7e00a6f785298d8efa55c61e9cb90beaf3a554dab761066282ee6802b94a17068d2098c735b44b724461eecf767e81acd17d05b5f6dba36411895539c259db7680acdc8d864716b49d1e842a44780a153f107b805fe200f700021f012ce946982c475d8c02a418309b2e46218f2a9384a8ace41a52a1466329992cf0bbe8d15ce6cdebce5f0621cdc866145ffaa89c29159a6aca7e25f25f2c6b00b4ea1a80340a8178a7d3b387e4c9c9e89e3de3f727e65b8acfa0c786d879d0989637c0cbe094f30909835c2abf2c05e24635dbba383c432802d12b6d7e64be76fa8200328a20c89793c74b0a09c2e048e9cd1f27ffd6aeefcdba7f7a7c07734a8f0c9dd5bc4904143926ac1223fb9d08d674432e2502bf6852bc1d02808c49bf67ee98afc010c724941826c6ae20faf53bc43493eb5da345d51c9ae01e13ee8a6dc5af499ef0b56b271dd48925dfebe9db8fc1aa1cb7228891dc0821a441375d9ecc1ecb9e26e173b45fb4cb7aacafcaf74a33817eb3e61fe6810cb3e1b81a65b726306e829027d7070a60e6ab58817bd07345e950df92c830f71c5abc0aeb6dd0b85bb1df27941e53ca8cb4e804e82b8e1c856476f13b2ac932efa94ab4e9da40daec3d441edcef8c3a1c4cb2a9c6963d84eb6133738eff95606670ac10daa28e2974e1759c1280af48c0fde312a9f685ecd595126f09b0613804aa2a7f2b188421b742043ec0aeaea24cd5a021f15011fc5c49486faa0d89a3170a51ba0c364e2f6b1c1fa32d7ba680ff5ed6fae8b0d646bc17f5805c356d1974ea5d07145321326a10c30516ff7ab22136c6aa510a4cde4c0a392d20a39d94b78fa5fc28dd4fe648eb7d657b29e9b3000b5f992d0597960bc1d8d08c3c3823034fd82f3e09465e042e72e3e78f0990f86807a16b1111006ca57167c2b43622475de8a642719daaf40a1bc57aefab48a15d4974482743660316c47f44d5604f4d4d4006809922f3d5163274159dcc00e808560861985fb9590ab2869b2fbe500911c11305c246848fde414d90f49e9d8559aa67388a695187bcef8735180b28046045e435786a24851448f7add178e2befb72e0d93c80f595e417917a9b5100ecf562a23f175182935c4c4d19d4900f62c3435a34cb8d58f2d4c8f91534e19d5b8a27a8bfee368c18ce9987a5249640c8398279312e55b184bff946efae8e5dda5b9583048169854ab7e1cd64b3dab3d36a6b95412bd048b3c235eccd61183c7646f23b8781d5acd0730b9bcd8e4943a3141e47bd7dc17baaa0bca2ec2ad0aacd8c5078c38c2de044c8a2fae66bfb9e50d5f65531a58a309f7e9878d3e4c5d98c94c068730b11a03a28c036bbd7842736c210c0471ae7ada0ffa703c6420a2c595d93ce6a2fe1cc961a61a91565b3cfc66c6e9c09a7600270c6155b1607f31291b8c6ba21677f5e2780b16fbad841139cd17cfa328756c5fae421b716f9f9440e4124a10c0017ada862ebd76284d22c4d08ca51a2126a6d1069bf164ad9787756d940b4ff0486cb444708f10dcd74789c8b3fb81c9e27f316653f65071c0c0ef7928284bfabae2232ddc1900a81e5a0d70058043bf07fcd82c3adff7ed45bfcc9084c585e63eb83e629b0bd2a3c9bf26d46fe53f15008f02d66ef45cf4046b7c4239830a70241f302485fbfd2804dbe4e758f807e43039feedca0ae1e8d5271122fa2293496935ad3c2a28a7d8b7f82683c25fcbafdfa28efd3333241757ab1a6f8c26f9c6d5c93c391d958054e0e7f923adc4b728a03c6a99bd453a698e2d38553ee179559d6a6ceff80b4f95606dc9737edf8191805d97beaefaed5553e26dc2b18a3616a094b376e24c794609755b8f19edd9940353844cfd662fdd8c167581cf42f44d47d287fe834203059591d34e6692b98e91a094bd2a6b1f8afd3cff45243837b76d990f8749efe8a837ddd435b25da8766c851d12483ca4690f13db646fb5b41958a387b695789a37b7031aed0938e822d9a4d8133757a6980a8f4890113c898618a3bdb87c6f82857a4cd04fd28425bfb8c40f8e97b85a5a60e9f7b2b8e3bd715c386e56c4e620bda595caf44e00d11af8210e00d4233eab91e50996a6bd7ed6cabae712de104ccbe5a9cb696b618cc53bb4738680c486528d754266403083657debf9876d6735addc01513e4b8536a8d5ece10499d50084e711f430f8efdcb83d1cc7c8654cfd4e133560f9c00e82b6f8cfb699f12fb1c683f26d99c024ec0d1f0cc7c7b2aee467c4e4bcbfa8641a4fae6be520a839760189490c086c3320b3ad0195fd06c43888ee4c2f8b7cecfdee334ca133c3a8a8f1db122704a568fd83dc05dbfb05c0cb8589b993107feb7d51d8e8fa59a364bbc41d4e0d7edfaf6bb296226a540c3ae194b8aa87656a6e5dccffea0088ac9dd40839280c396ad6ac4b8f46622ac6205bd89d7dcc41a17490bd4f289a23feeb45501d7b1a994989915a316fd029dd4d31fbfdca98d6081e70234077c4976ae233af1b754fd1573b2f4bf79b1ebb2ad07004b59a7a4082ee3c5026d667ad0b37c42415183af2f0f8c9cc2e5a06eb60b3334831a146ee45a08b190f85f7a660af1584780456882de4dfd388ff5088286bd35478129194d7b63315352e007249990aa503001790396d2a6254e0e56a82ac8183bf45fe70cb8e5667432230e24da460c984666a09056ca027233f9d390a85b7cbfa552403f2e314e8c8291dcef84a08d9bf604a005173dd4262c3603836acc0207af8a9569c24b9632895e176978ee05344ba4a21894ff56a70041490c3d18486b035763ea58dd8e6c8b75d8712c749ca9c668a2fa3678d3f862629f939617b4bcb48dab92629f9e48641a1aa0551f5183082744b3c62991a5718386613687abe13d83658ad53c6ab44c8c366974b0475182c7ecfd3c395d492ecb29e470421edf2fca75d944bd2575ef1b29ea3077787c89f3580d8b506a0653d7247d880d2cf88242d0dc93936dadb931b2b479d642f622b3f902ba7b05038e5d51e415e509b45ade8eea3a8c54ab18bb37e723e1972078dafd9b957e25864fe187042af86989c6f64804a8349a097c16cec5411d49d552d09e7344cd1a2708d8db206fa39c993f2c0917bab122d2ab7322156a79d99009f4dfc0425c5a4a1b07a4b335448a5d19719e3b4ace6ebd97cb444adaa06cc42da24c1f1cf9049813fd13af8f5158fd1983634182b32847f4d31beb9afc47fa15a722882826adba76ffc5d63c8706ad6b8f24da6df53a3593b963416abe16f25a3d201c029963091d981ae9535c7e7d4002ead0252af8d8d7f48c283214e9c9440e90e4b63b02273a1553b593e08a9c39d6cfab0c7a175896f328246a3dee203012ca7c39e5131821a09244660cfd4fb4abd6d2353cadef26814d050fe3f2616088426ccf5032005d760210cf6ae5547b32e5d20d18bd62d23b3af1167f14ed48be92b5ac11d008b2509b780c722bb6824b20fe38f3d95ccbf1eb42b27384be5345c08def2946ab249e4e498513f99c1bfd36738d2c42acc39565bc953673fb6544112928ae8d8def1c83ff715a02207c31312636cc6cdc6c7ce8fba841abb248aa17d21759b771b17404dc1cd0e8a60cc5b7cec0de44091a390f96b45d706e540c947ccc09df95271bec6d272882ca263ec1992f74225de77e2302fbdb1f87ed4b1d20c65a06ab4a2477a458f366554d12e88da8479fbb92842064922dab5fc1281e1666c2c55eacf90051cf2af1e04303d61488003ab0b9e123bccbfed9266a138b10c0e39981c3d25911c2331380c847b3f077cbc556b538bf996fb50b63edc675115a593f4c361c2fd077190370508155fd0cab0340d2a685b0a5dfc253a4af2e8d9cd986e705db89ce92556d7b0c1ffc11a3efdd8784f538561c82167a3fa8165b3bd46030027ecc8a4cb667411496f935a073afa6548d4b891bafe7564102e5e87aac8974c3500b0fb63f93f7bb80d84d545a6c9dcb7bba5ca2427dc1e29f1219001e0dd068083b6d17854a017a9b60ceaabc3fdacd0dd17bd85c4de420c9b850dba93e7f15a5fb4f2f85568561ff7d6aaf2305431eec27a5f35129ee2423b36d585b5b2becffcaad04f4d8e7c304a5be8afdf19f57795f450ea605b814c8860fd2401cd2eac9d5c4da1527b055a861cebaa0f309ca24028d894d6f08a14cc0c974110ff3dafdb7e801e37a1a4a7959d4001515a8925f67d450fa8dad983ac4d9ac38bcf96b3b19072f85ed26aaa084c3538977790eff083a9aaad8c7f9120e35e5aa9423e716009a5510551736ff700f4853c9d24b2eae2f38004b8b290c5254a9e717ac2ac18983281c5117fd959d34a70c3d799bd46b47da38b74c6a9deeb309d32415e4e2733c8ca304cc6bb615bd998e9db0c58a9f2f659112dee24cc7bbc61d0282611b064db7353dcb1a0bffe200aa4647cff3d29e98fdf821c339ccc78a75f84b146a5176a37bab10143637b5417993191626de3261383ac05621000e01406e2facf3c29c7eb619993fc7b0a1cbf6e3b9fa5bed889bc8faa8c7a792882726843babfabd74c6b7028ef746e4f7137ccfda1ede5a5a9a973c7f4dd88ccc91f99803a9065196d62604ca376a0cfabb0f8bf48ab3461fc7dee134be02f9ee64b2ff13bcbe09f915b007e955aa277d984cf6773d261bff3d2f6778472a5713971c0b70ed1d9a8311067de270b3f0ba7d8d8e59277f0b9976ee6e46f0720399479a938d9c7e556f4cbcb4faa98505d17c81cbce52720f555c8586fa6b0529c2932c91256b24f98565dc9cb327dad120e8a485e5944a72fdc946d2f173f9caf1f0783569dcc627387034d745a513d26f00da734ba2a92c0dd3a4bbfb952f55fce6d58033c8b557d2e1526f44e674279925680e119291813729e9b8405c956cfa081b931b32bdf3f8ce25e7585857f085a5782b33643fcd0993a35c58e7f3c2d301c810146ee56a94576415c9624f41697e574850f7c172b6e3d16e5daabed2c1ea4b3995336e4d69b8a77a6a4967426544656e81e0b295fb220f54c6fe9a9a5cced1e8de6caa2ef329cb0346015dd02041acb9067f81a5f08da5890209fa7d2efbe9c00cef28581c6228b04100f5f355a2c645575d46452f3d14f4bde7016d8b9877e6ba0ae5ef04a84e91bce329843921f56763c4f6840cd0cbf4389ba1229e134cfbe99648bcdcee69135bcd9320191f3561a7b63d1070ea1697b1ced5d9ef54ddbb3ac89e3c52b38c5ebc14d2feb7268a130d6738ea28a537b466f125752c5caaec341a6be7c0632e1ab1c330426638b38a3294a3d105a7c30e06138ab8d79a32e923ad6ff206d8a0187052d79bcd746ccb4362b6fa58cbd6491fdb0b2032059dcd2265114ef9a3a813c5305501593f99ad40e215aaf717f336bd2696fcd5dcb8e5b03f4eee2c6443fe0035a79f3e3123379f2929620fd9a426ac5ecf18dd77ba2f4868c42216b2d3c6357e7ad9de7b395d4f045df8a0e1b77e6865c53b536b68971ae688bdbfaced5a49678b5ed8b486e5a98e7b47c85e2e393c256ffb3479c260274c7fcad3318405d5a459e953c86a0d45a6d3c2ebad1801d5148834f3e75327e20f9b558a3bdfe99b3828ed2debd6dc29e57da45ed8a1fa688321f0f944d0fe21a2ac36e6702904155f0043e62e27b7ac8f8f963acba5a8475317430d0c427b15e52ee07edfd778761bc92247a6b708cf13489a81a8555629115d0814b1a51d8618c94c88431f02c31588d6463a5ab016671b6c114dd7e82f391796289aca96dbe905b060370f0a4d9a797016ad782342abf053e60a840928553a6c0d70eaa289a8b514e2ed2287899d0cd2a59409bb752eaa82774a2a33c5f0a62ad391be9ead8f4262497b6468a5dab7cc920e619cf3df43bad3c207aad53ecabba3088616dad2f444ccd87043146dba0c680a1986c29dca7f3974e2d304aa72c8ed4f7a9a55a0ecdf147e0bbe6bf09cd130d4cef64d400e9fb12d738ef7ea44cb806d8f1b209c8c3a13be4e41e39161c3d953890b4c841c60922b4a152152da715745ae6cd7f8effbac6d1a1791219a86fd4b8fd02aafeaa09ccc1148b1e4dbf5785e30150c55a6dcf914202fe4d4fb9fbf8e38d30f2d1ec0d40bc6aabdd410a8b5953cbf555f7bb1c500f4b583ffb2adc2f1c3d3ef1b5af7a517d581cd60b939e8bfbaa9dd2ec695fe5475855744c4b91afaa0e0eecab5a5732221ecb40d46487535f8515067fcd89432f4dd89fb472b667ce56727d55bd91c1cc77524f22ee9e7d151f02ece4d9bb1bed3ea295b540d6d00dad66106a6d25a2b057e5742e7c1e49a1d5748057edd20c5a9517ccb1906a7035ca1b4a9417685550f1c4a7fd59897254763eabc12e7957961fdd555952ef2a57f8e39b787a579571346644e7caa2c76b3bdb65bc7a0c90df707ffea9e21aa9a2fa9f799f297a235fc1fa12de3fd5d75b274640d8983621032755ce0aeb45662655b4025fe47265d3bdb407e8ec2a596a0220d2c5a1844331731f4ddcac3c1e23d5efaee75b93aa1b97e267241500cf870633ed7553455739e5607ccc1a4d9bf6604a963626a1ffb4ff43027eefb60ea0ea30eeafc0e646a69f372692aa447f22555095aa5b0a3824063a9097346d84658ea57c7e8a7b12d9aa5bb955249944e04c0f593d82f9a9d8f72f19c150ba144aa852030b0370bebfeae8deb54fe979799b3de40073c8328e331e1df109b1fe49e06e10a124146185384990b1f244dfc2dcb14700e61b362f746bb14f48f325651cfd8299c40d62cc1b70a38584328447fdccd9522ab2645848e7387359e326cded06b5574599e954a56fb1a38c2fa4d08528bb75d3c78706a0e2202944a9e280e05425127a8db4ea73e4c1b2b115c80033b68e8699a94397c05cdaa635566703d28db55d3f04f8aee48cc0e89dc4f418404d7200107f2ba47113529234d5a9e00e671e0f085c41976159d7941d005c63188b910fc63b8cc5dea8ea3bee30a1564dc623922b40b4e30bc2c398d8a5a6c859384015ac33063cd3888c2d697c26c7ce9663c889a2c0d9fea7bf94440b290e9a11731d281b3ab948984ccb7e7db70c9a71303728e9f5d568f192662f664d43055a00de93c60ef45960716e0753cf9e05e26d408d49194bad1e1faaaa05f9791bedbd0c81746f6807b64ea5f0df2fafe632331e143d3247059e01b70603d44c9730b36a192e124573e70d6e99fe06305faece99409d3214c249fb6dd29f0277a7b60926d5ffe0858b5309315004777c62987f629d07d6a143a4f0ed7065be043487acdd2f8839d2df0dda3872e3196625e0400d56963c5597d87084ac142666c5bcc6257f83b224a58a3c298dd88da1bb3ef374d51e2aeaed648e3a6bc062ded71c2ef117253977990aaf3ac5a5842c46f05c627c19b37408cec59fb9171f0e1264d792a72b3e4318b769c81eff4cab9a1d4ae22cb3c25f6a355050af8f5438b8abab5a8aca14e292c7a78ea592dc7ac7792bacd3c90c1e08fdbd7adff6c85bd971c1d3c711040077f4c17950417a84801585801b65e28a59f1044817c1fde151980d200b39669b85fc3724b490dfb9bd7ed742328f56114318f1b64f5df23e01363983fade99834e5bc1c247d3c5b3c2bce30e6f51610aeddbb1f03dbe5bde817e0fa9f9f30a91dd4fd320b258a632edbe3a157baabb912a625a0112bf3d19fc1c1846ad0857197f9474c294090777d67ce01f5ad192a50ba85cb1208c79bed933c36a9718fb67bc282a3b22cf7ca77013fcf1e0a54643c6962ccf78a94442ce78f2656c2c544ba4a0b140a2bf8922190b35e337c5aa9e20b837774127e06c9ad93eec652aef95c93376d70bc29b0b27a9c5c15272c47636c8e2c7a8167a36e9a1dcd21b167a9cd2b7b245c7d8194ca487965a33af0cb24dd3ab116729d9f821ceb6caac365f5b51ce2d9cbe4938529e7bc4896a9d80c4d5aaf536b25119f6d393c6e68429d9879bba0ff699cb7e0d3da298b36a4cf4cc2ae13d024dba108bdc81517113865b91a78ec181d428efa058c43b283e82982da40d08074529e8cb3fb0a0ec8a7090b330136087bd8a613e0adf945a20165a4359efaa02b6c010f5065149d6120f1b356d87c4f475eed70f9f912abdbf07c5326f93f603a148ff9fc0a5e8e8f0402842f39ffb34f0051d08755cfe63c7a7dcb5e0d6a6fc032d0b4572e5812550fab7d9e0f194f8aa11c16286dfe96921c936b8ec5dd50b1e890e65f933d52e2cd67526f40b1e10d2a7126284536d5d0f13ba103ee1c8b8c1f53936f059396fada04135281d7e676a74255ba49609ddd134e2702e387b5769aa1a4cf20c0c54ee986715d0d60060ab14bf7d1ba27e7ceab732a8f74d59d7afe453107bc31386efc0decffc100ec0ef4a16bba102e7e699396b2b7fc8ffcb74bcbb9d82933a490a9103f603db0c0101f85a21aa78628b5cdad92a86e236da367beadbc6c5a61849a2773349748e2dae88aa91515ba215293b4c14e6282dfe8125f34f824d4e22b6a089363efe92d3305a4911a0815ec602c7afb2a5b51e7a1971c51c0a6ef884ef3d1854504115a90df1488270098a6e935604b9666a4738426df2b403385bb318ba2040a6e0dba7839443af49854017669a385a35a8b007973df3cacc936fe6fb59accb9aa07d64d422d2a13a4f28e437dbb3cefd2492465209a209a5b1b602d32152b6d384aabf08e518912617f22450c83ea67a0bb7c92aa44f97f96edced052ad181adc6ab792b2a951ab6289c048027292f5e332bc261931243b7577c1ff76bcd0737f2afd8f7cce8463e721819932238e12ed6bd980ff9aeee3db88c5cd357fc1b118ab50214db60b058a9214c4f98629bacd7deb437c754560871acafcbb796efaa74defcb149a5b963bc27db414d6288719b9177d1fca49965659f36fcdda4ad72a43a0d369830a9fca502b153d9c286f1132dd352e5c89c7730ca6617095a3cef59c69f894db8c0b511b283314eecad6d5f37fad07bb91635c9f3f17f938ad7862549900a30364c3d256e7405b2324952a8a1b140e6c14f169c5406aa206243b0d7e47e3928815ba602c9082005d3e1c6d96d960aa0710339b72caab516d0084f56822c97b798d09c72c5bbf723f62edc125a39c78330b7ce9b1e7dcb8ffc6766fbcf28e50bd211475d0af8c341a1e6661a8c52421d6da99cdcaaa84e175418c6463b451f63b45fa7c22b2f205b46c39cc2f3b8d61189fd9dc86149c79e7cef556f78cf45960b62b3a69f54f89180f9ba292e64aea41e4d35645e83c23cd04939dab3d58d3d93bbb4d78ec7365e8e762d7935b9c794bc9afd0d555be5f6893cc016fbf0385ef66c187a3dcb9fd7f83b68e47cdbb37dbf8384ab3cb8bdc80ea53effe84b95408b3f25606a1ac547219d909975213d048f2e891d60cd64b70cc337d17d50742ab96ace357675ac5f88cb3c6e4d17070fb48259e2189caaa903509677bed84059170978d787f3d43341caebefe8850cfe03cdb891d851875810ce05776664fd8f9e8ed4070b6a62881c058c28f05c089a9ab564c689fa402ffbbca4b1da07277121b2916a5907547b73f0f15bd88c8f90b8f7eeaafa242cac80094d14bb5f2ae69301e9acf0fe19389782a9e94aee45d00f6355eaae14b9801d1486274b6fdefabde0f0f7726ed26b53e91fcfe1f55c2de662332cf340cc5bef12bbdcf375aa450e411efecf9b24bc660224cdca5f6dac89629db805bf964e87b02d01bc2d1bd5f193ef247ee8b141d2aade62fbfcabf986e844f2bdbb71547609d4eb329359cf4cd32f288c6aaa378293754cafca971df273c04f9a73887ac8731a42349792275a613d4bccbabf3582ec746168f897956575f5b69b072b501f9762368487076a2593e621f00a4c664503ab1fbc8a8c467b118bb7ef4c5fac26d3cc531a7b3799190562e3c60d0e57e2b871bb4445593439ba7c8b4156e33c548c5ab57b0109744af86203b8c3364bb6ed20d69ad40f35208ab3599c46875f48098498b630c1b85d45903377d2cb0a0797f282728d3fd8ad37a48ca88fd59d950698931849aa97a68701cdfe6d549a636ce1828fe5db7ab07c53f6d72d187b0a284b555080397450ea0254631c7aa796983f1d20a994bf7403ac23d840908323a5e4ed780c4dd4663a1f6fa4e18a6f209de81798c9332d0baacae3f462c25811c9410809921e779a604b8f2f350c4262072e29b5f7a979bb2740955453dc8f0869e6e6d31d532f19648a414a5a78f581850ae7c0a46077746501561483a16fe42ad2c92ff86abdf3d3fd2a65487d055a31fb9fde1eac74ba1c39b005d66a878886e5d0ae614a2471658a8fcaa2c2ac7063365d698291688823601255f18dffe6f6d72cbbeb53639e917067fbd8a230147497e88999db26eadbcab3b6b960bd14dbe4fd6513c436397765f85fe3eb98911b6d27539d80590e672deb0d0650af7412fb5fbbd52c3a8586459674d99aac8eeca95d7f65a685dfd6f838e0d32bc575d8f3129de6a46b3a489c3128426b8a884d61a2ca76443a6da39b9919a40cd21b68401a22999de057cfbcb19f1682b62001bf2897978753145a291f5e99bc301971ae254e90568301f64fc9a14562886fb81a4a77ce2c16a40d60484c6c9158406c82712291490d89973b8dc4a690615fade3c46586c6560c7ae3c814f1071aa3292c59e7150b6106d81d38f305b7e16e01d7616f30c5bc25135f60f896b6dc228ab357ab10548bd61c0a9c7f793b3fbc09c6e51235676c19712e605fc3e01ab3622e9a8e989a59340c7777f861bbecce55148c7043d8de5429a4c0cff2089379d45396814cd89ec4c64a72c17424f24a24cc368fe79e97e1c1151651ec08e35eb2a72830e2faff112d7b82f9ebb2b28615883d966916e8a41dbcf7e331ed5f49c4e61fa3191b3b4b7bfa2f10b754f9640a21cef71d777008cb5592f171e8b65eea4c37cfb9a7822e09550f33b32978ecb693b602216ad606a287db1978d19fd623e903fbf0e171f99e5ae9c449478ead60c64a44851824cccea116ec9abf1887798bc13b837acff919ea5fb8a786341cfbe03bb600fb5dd1aa2c43053749191b531bda094bc5a497d1d7a42334231041182bafa1043511e356687498a85483714552c0549b4df14f8ce6cf9e97570e3e80fb602c04b2213f3c16f3baf78366358a6af131fdfaf999e4d392940cff613ac9264b5e947d43831b854a070a18c4f0527ce452176cb61e74f5a0dd743281be6a7f0b7c5d5453496617087dc864a1b87a9df7f68bf432e4308901fe7b68f3762ba1a437f77cef44cf4299828cd1ad01852811a697835c11587dd5c9d3a22cf248efd41a72ef48536fb5d4cb355f836fdd783584d68cefc8cdf0b111170845e4e5b646e477dd28add4a891a1fef4b95699ae0904614ce26ec9116f8e0be4d89357d5b87b690a70fcf2ce896d6b5219de8f323ba96fbde0e898c080b17eacac7637ed53e8e4774177833757e21a0791fdc956dd0bff0fde0fd4c77c6f2302f50bc84ca6a3916782ba6e2b924c4c937be0540485e3fbdd6dfeb260e4b945c4529dc4825922d66d23f6db38d581f7e34363104e0744b3fcd6d19716ea3305bafc0a555e097bd9ccbb73bc78bbfaf7409448ef7808972099f5445c6805c2b517dab59b8859f538cda54fa8b0cf09141219707dfea48c10072322b35c775246758ebf53911ccb1c87b1b409512cd5a882badba0829dd6b948d725605e3ca1674d31f63557aebe3a26221a0df9146b9e50d876098e42c393aba536e881b1a98c1089f09a84c6131bc6489f2443e69114a56623ad99242c49df9ab619c85be5327200cdd23a96cb40466360af578c88e565c844df3c8408db8fd81a2c9245a77aa934e25690bb87982538da0c682166881d156eddee350d55d9495d932a2f2fdb2e431d826088f7693de909dbbdca179bb9679a55c6082ab50988c65e2e9b8a4763040367207bd684dedbbfc3062db7fb0c3f9c85b92c725973d468dc42b956c4ac48291dac74275b8d57683d604575e5c3734f5c863d309ef95e819228da2d0158ba84d8bcdd0d1ae3b2feee3fd94318837a443eaff406fdb921fd6fdc7c6958d1ee24f8958669a06eedc5dec4df874ed5c9699e116740c07745c30a1890b1bd051317d6d030e4218b15bf9d231ad670b1c1dc5b7417aedab44c0fd0b9f0b8352c4b47b46682e0ae14bd93603aa381f0e313b8b5852070d93967f3f91512b99845fbf73a830236db9ddcbb5ee56855380298eb215aaac489b5457d65e221f695ec574658df3613d240c0e4eba5717ba91b25f07cf0dcc359a45b4faf4716054712c870e203fe80d6c542e07fc8ade74ea6651ecbe4784618e00b58d2934fa1c81dfdac21d938986b2fe1a3879e5f843d72e906b952d1c93f64f18a94138ef91a99ae12d20110df80dd8541ec8b7ff62144cce0d5789ac15b309e0e671c2ca3c1e8657061502cf2e73dfd6ef69b0c2036569e2360bdd13685fdeaddb064d621ef31c1adfc7011105ff7626e13d52f6f1af5e0d107a371bad9bfa14788a9c7b1ebff3fdc4c63009ac2dcc69e71d808ae3e1dd2f2f5567ff607ef2905ccf5b67dd57d7d88ba0b776fe83d06be16e9df0c156c6d28910998945f39b23dca2ff78804837e6d6f32cef7f865fadbc94969256f1b145cb57b432da4fe1668be4ae36ca8dd1d6284dbfa715f0a6001f5cb926661bddfcf9a7937edf83f64dcff990052e7966f8b92d40a782207c84c6141fb2d64ec96ded79aed83d72ec546fcc70103ce7f0164c80408b5e71740e5072cb835b1a6bbb84552c2f70c06463ef5432cec9a0e71d7b7cab010409e586d44a64c5558c3272b154eaaac3d21893e87ad79f80dffb996537ceeb524b4689889f83716c479a63b63f47c01c2380b0a4ad607afe6afeb975baba515d960a3062d30aa2638cb0ccd817d4f95e8a6c9e4e468214c589ee972478806429b68f91a25e2c2a0e80ffe8befbe8b16053b2622490795e5bd05685274976c2d07da7c31a9286f6a3a6e0a49df154b3c5fe1f3c2cdd9498997eb60839b0235e216788025712d0d920237de278cc32e68f4e92072641ac92a21dd22a5c6d556264a44ba93a0fb74c0cd879b01b24311a6ee1e801eb740eaee3d89344d5200bf7af01d30505bb01c485090a3ec57010f076620071788f58b10a2b6c047892d2751f80c388272ff2b77613a70e9fcbde8b5735d2845e0f9f438065023118e58e9c60bc996f7dd4c352f71780b22753cb188320e9061058847e7d939f2d630111693255024876af83480287d0edd9ab68b66a4c7ccf46413d507e3e9541271b602824ec8e673854548414cc635fb38a59fb03d39793c52cf8e14a599ab57446aa068156b3faf33fee955e3edf6a1435a60950a65333abcc554b031605138eb8d9481b80a5bbb911b31e1a5b46818e2d0297861970060cf83a955c766a500d793c60d21ed5cb1272f407b350a19f753c4fcd3109a6d98fa3b4fc2abfaf5481aec01c2a6b9ea1833f0e63225bdfd84bf4e3dfd3282e5b692a8ca78f156652d9a0093d17aefb5bd6e217ed96abbd2b46351d83ce3660c04553d30d30dd9b7c7401022a98901eb0eef2e6769a939483d1343b0aae8d488c028ce41e258652a159dc257eec8d516b895c3bc2b7486b03d69782c3535418ba454b3f106fb52a5738d7a8487253fcc7282c36780848f408bb09518ca127a1476fdb78ac9b52a7c3cf294491f3599f3bc8a040c2481764872fe41e42d81a670d8d5bf8b9b7a7ce6fb5e191841d1b910278052a00d29159d6dc77d508ab3e35fd9560e9266ff40712bfb359e9ceb35d887f788ae5cc99f9bf033426bdec8214219407212a0cc0f2e12b8e5d05fc731ba302af073542bfc6f7d9d23d29b46747a08dd57cbb2a3f3ac02b0bcddcbf5c2840903bc6e9c25dd9fd5bc201f0bf51cbfd7be8cc56e145d6b8ea345d86994828b05f14b17e1c795b5726e1019122636eaa794aa0f276a5a8d30e6ec848338ea7b94a7d2d1429d402e3110cba473f410e05ff5153ef7137e371d0cf1387f04cd3bb4e0f7b39eceba25de8fb94d72115a3059d93babe3438ff4ac1d094482b65abc7bf4371ee1aa3c54ca3b3cb20e391918cb92c6013a3548cdbfc6e3c25aaff0501edf52caf0c2c86a2344e9e5b7956f0985cfa18adab18d2a2febfb69e61040b5842d8ac178e72d400ccb08b31113a88d519eeb078ffa19e1026307ccb3fa104955f324be9f5a34701d4bceb13652d032c1cb2e73c0546c8272f044c550e2abc4a19634041d08865804aecf3f80db1c129ebb6299797b8ea0d7b0d8db742c788b7d0057d779886346192d1bf309163f9f3393865f6dc5d74557181ab6388f779a83972a023269a67afafa46c079f4bd8f498e4848505cacd2ca453b1acd50977bbd017dad8394329a8ae7bce2e55ebc69752af1259208a0658c546890f4d31ca85df146898b2365d2dec74284357e6aa6f7b03a2b4bedf3873729da873428ee5e6b4f37d80642d40c15e5860bf5aba522e58a0bcab7d61868db9c417177f2026d59d5609d5fef263a79373cd78adb4efbdfcd3400cf2ffb25922e8c980d8c50b9ed5512b00a097595bf9917f38541fd74f3ae8f408cb97ad960a3d10c518fb2851dd8b2a0985bafe0499e4c15301a658b7c7eb5877ca2dce6d362a9844c36ecaa7cfafa8c0ba137d01fe71d29407f65ca8a7aaabb883f1fc74ce20c3edf76ae4ee519dafbeece6449538360f6ab9cc1d5dcb8f48505a9c1c05cf9f525d451d460961f4f7000024b6f9400bde0ff61ddde45d0239f7170fc7722d68f8012d07b4ba0f73a2ccccdfb400f7c4bb7d715e13e65b9a8140678c1f7621c32f61f3831d833e35430834d0a1be76b9bf99cd9cddba5539ab88b5290627b1029991ee3af680b75ac5200e7594ddb32f4bab8d31946db15797851ea99a9c74308abbe02e0b53356ab332891a62d9708cd051ea8f166ad1a6cd9b0e26ef63c72ee4d6aa7408cb8e5c6627630bb8cea7bec4d598544b4c34c389d02ebcee370892f4c070fc5e0d474286134dd74f98914f07c70c07617410fc2c034b542faadfb5d5354ab5e4d897acdd365b71c19bb0d2181e0e1feec7a944be6616d071be7913393a28908c979d06e2e16aa9d243f9b325c46787974fd2d2370f9ea14a77e7005cc7461d624b073e3cc36265be0246da9e85a8a1364d9326bc72488605a8525c9fbc18af128a8c4719a8c2b2a83c9868cb94269e1a61f3b7824e0416c7c460bcb5e692f88df3f17c9e9465fc5f13074669467163a743000348558325c254a96e3c215165a860dd3117b2f96966890aaf6f9bcb783c70c24d0404e8afd41cc7650bbee07f129c402ea8bc10457a65dc2c84117747f449ad99570541e2acfd025a1c83c2b99ccf72b2a1d2b3b6318904031bb8cd97866218cd943ad79259953c195dce3fbe30bd04fd2733e3705c077d3c5a9ff75776a6fec0c24801802efa79096a9b01d7eab558d574eef1a46680b5e497cfd0084492fae17aa0b203163a8a9eceb955a1bab9a4c41d7016dac82515937c92afad678cdb86508d94766eddb5dc58eb4b6caa92966430c0675dcf7f80a6ec152a26127a8895aa98fa2a505c41496cd1f46c55d147db7143128bca1bbdb30e005ec130317a2a5b4917c86444e41974a737926a3d789793409950f7415d01f1bcae24e251a6780420357b91a97cc544fbdc15151ba2748cb22fd28627c0a2c3d020c61d23e25a560e6e789a84475c11c4597e8af3071f2209f3d3893fe39c80389dd3b869072d60301e41cb55237ed375dec6547fd1c937ababd8d427ec60e1a37cc65f9e1e6e67aeb8efd86c9e2ad7b49c19e8c633989ffcb462a7641d66461e5f266ee2cbca9c0879ebb3d19d7e694bcfd8b7938ae48ffbe07ba1332576c5fa4e34eb826037311f323b256c1bd9e342e92986b4a465fb28af0f677ce4e665cf47af2a9ca2f1c059bc6896bbf204cdf9ce710275a8251611dbd67897704f635c951de39c98c7492af0f27d1194a8794b0a2450ac8e3d2e99ba3290d572449303725765f00907ad98de8e4f6564402516da7ce2af7b681e7f5dea8e4db5f80ca194a830fc2ea916698f68ee428a5b10a8d0e14aebe1ad2d7c1271620259768f236ea438076d9cdbd80a510383ab1673af4672c987e0c3208270f88cea41455bd28256a0813ca4a319961205ac124176744cc0aa6ce5c46062de19736c50cb523b4add046563e01e98277aa87a47271da4fb4db2b055e2d493965179093f6a04df38a173f2e27c947dde8e27040ad8c6a0a510a2fb27c89a1d3170fbc8fe556710c44cda8ea17424514ca163c2e2b01c159e4074f6758544cbcc61799f3e2122db7babb4d020437664a74d111189d1e6b07e8aebdbc9a7841223ce65c2eba08e73a01ed6746510450fe79399918559ca292f32e8a505bc5db90bae2b5c267df0983507daba310f6751537b8d001111335a234362ec175269a05b69f5314e2dad0492634b7c7da290cd6e94e0fbd73fb854e20f3ab282e422b593883146631e395b7d3844ee592038181f345338440a0de99d32ce3d2227b03a001c2106bd2a67c611d56d7727dcef9c01d8d0bfbca2a7e1e38c4f55c567cbc0b13d484bfff0c9110fde6242e486732cec559bd4a64238f5d53140ae6a121443d22cd53c595db9dc2f6e5c04bf00a9e7d4b8ca3028bed7aebf07ce75c2380379aa00209a375a89f2b760cd1affdd9f86713c9fc11cc925e5e730c32f5d2a842ed2f627a7afa0aea93ee3d31ba493f1735ccb4e12e41fd2a09fecb917b29221aa427330dba5dad8489d3f22c6b42578b7d68087224df5746b1c7bd91f0222c41af6ef3b02e17d6ae94f718a7e30e321e05283d840996debe28f02369f584f74c191b44b3b97a3920c48e4fa0991e6bb946c7144a5b52d59ddae4b28755bdb9685f39361fd08d9bb7b3fb960d33c7954a6c01c32027b9fef155f093519c28a502a7758a6b1ea98a68e9615d9c28395892f1bc5385dcb1c33eeddda1b796cacdff67d87b47f036f188f60dfae214c8cc48e890eb99e3406c8b5b46a026289211302b9a68614ba2994c083bd301b7eeac231ad8006d900295e8508840e260cfd3a3c2326261f9fba39416bc9995bf5d42748c512d822c1df665648d8937585ae7ba13d6a6501fe1ea6f6361d5a59301a172c0fe674772eb06f8a14244abde246426b8d88a8e4333ec9c045b09b69d000e599608f4221a47a27df70d0b69ed86ff886807cc389ab2185d8d16b22ac65e17cc0696589f1ca37b0c28a6e7d6df09c1801b099d3977e9d2a109825204063cf993a5f58430fb29eefffa1659e3ff3be915b7b40c1bbd754a4406ed048a8e93a783d673aa311353780bcaf07727207bf319ea41213f8149c4bd397c6a4d42a1be801458442241feb07f25bd7be9f64a93020ced597d2f4eaf1011ada5121fe81ddd17e8b17f4a06487407b75571f3fb8494289d04fb6ec46f11a3ff8017e82e5be46cfbdc608114bcc7c1de1177e0ded04065e9429c920f8d54c2a5dbe16e9a7b901ac45b1185b640019bce693f0cb8e3c1ea1d13187446ce51514ace64365422ff3d908342d69556ae206b80c49ac1e95b29c46dfdf90691cbdbd63c0a249c18be2918d169ba2f279f80627f689c313c2248e9d2fd0addb34abd17eb33d2605d6bdb92181c17c53be7fe34996c625283ba5e8331ee3269fa71bb36a0f1dba70b3d0b5e75be9b823d8e7171c1bab3bf763d0c5423f17f9a3cc9e271a8fac53d8d09364ae57047ce15dffee6479823e177d0b702ed420b9fd436b030b6e2ea3f17cbf5074b127f6bea488441d61c4dfecdbdbb68a7355d1111111ea8674c9844b255d3c4481b8e778eb96a4e7811f06920c92050d816e6d0f981788369d34d3f6b714019fb9433e2d47a2af51e4f658d93f93947641175a0f53c8fc58ba37cc99b6c9cff73bd9d4d70654b2cb453aa97e911fff0b28269422ba4553c7c46cf2e663910bb6cbe1128a7d409fdc8d2e9c3a8616714f357ad943a533d0cf3cb09f1956622a93b4c0178a8156844cc5976005ef22e002bf4dcdf2093bebf4746d1c8d35ce321ef1a2e32701275e827429bac2258071ed09b26ea4ba9f73e0a6cdc11ce535bc3b6af7463d20712f20848382ee2e27bd9f3226a3ab4ed3dd260a1a43abff6df6d0cf6c65f2e266a42c17444815fbf887a1528b6bcf83bb4cc6177c7d4e15b7382aeaf5c302de819be4536d2f8eaf97c98842ff0fecedf42ff5c38a7d2e781821245d8b7e448e902425d03a9bacbc4bad142a2f600e129969e5020cebe5b7e29c7b77c801a3e943b1a6cb302742a809d7906fd2d800e4170f9fd1e2141e8c77fd66a82c09666bf9134cd8956608757c1d86f95e285bd79b94a396d06a997030b9a656dc02d281885ff57b9422d9e1ea888023ac70d3bc7398e65053bb113c79940e5edc3fb22b1f36ee8d1ae4064fb93cdfd1b5b5647c3fcefa643c0ba14d7d0bff895f5310ed96cb75ee2c26ee3a4ccb621ea3f627f72aa5e7a56b087b995b5cb577799ca7b6e3e9bc75638781915c435674f034df1be61b9da6ef53ec39e8a9e12611bc6d97206eaab9a3da5620b22bf0b9bd4889336404f40f88c1e3b2255408149573241f7cdd7e1145d5ff1c4b6268d0032e5b586d6c66e3fb80ca0b185f9787b86b3fead0ce13c6e2f3cca732f6327a7ab271f0a5265a3c935a2118e4a2a3137b0efec2a1a2c56301cbfc52a841407d2fabdc98a7910462b7a16ca5b1280c5421b5bb7b5a0317a567c3e2510826daae140da198dad1640d3cf24cdad8971a6e895f47410109f2fc5b4e4f35dc102c90623e4ab3fb4845ba1d432e473bcfd67cea5c032c7740917e182effcada3fb6a5e046528db228c79756300455b929dd0a827866b3398903d22e4c3bf1daf77df4cb8eb04989a8f25ba2fcde5ef9b8e5eb44eb871679e0df6a08d6b0ba8d0993c607292fe277f78cb6c976439135804c362668017a36d5dce9804972653612c3b8e1c25d25ee519984b9bfaf4dc517d6496f0b38439ae9d7225795acf78fed12596890c916559ef43463617413fd7d2024107c121684d485f1be22171ba1129a4cffd4fc1add4bed2083ac591f871a0e05fe9a1ff2494a6063a81455895d34b3bbb10c03a68e53f6d9ade8d5ae7f8da33fe4750fdf7638dc66e7fd8fd1da16e9c2fba0d01c90e80d0aae58f11acef1a4a2bd4d401eb4915c3b077a0f1f5e416dd2c97963a9b752868b6a505979d1af0eeb2676e4411612e94507ffc5067c50cab167ea502a39e622b5b4c1e26b4423b20880210106c1c7d4fce792351e7961401d4a865ea190f2e83078b39128ed9bc309e5c4732c5796dffa2b26247353970d60cecb37f0ecbbd6bbe051a05a015bc46c50140d63573101ebdbc2da848472aab8046a2ada3859eaf2bfdb294d9a84c2c0e84c3383dc6574aee11b1ab69549bf54ad9bd5652579ce23439284b007369285ccd9c4ec954fcdb13f877975b53dc0798b373dc45219b3425530b75e6235c71375fdd8ef7d8020edfcf7190a627dce8bcaa77e64c042cd53745cf02a117fb024ed7b8afd45cf0286e8c2f2bef09ec1653fe0ad349a4fd0a7ba26a1066614e55837dfe3051172ecd3630d726cbfca7c8e80aa879a42a463d46ebfe11c2e44c41dfe7f330406c98dc2fad6665c53bf171635b9dc4e28f12b9ef2ad670b79ad2d22b97d082938b6f33d88a5c9392b0fb9399f57348f2a5fe514b739740a57755f6f8ea363c975dc7db408af91821037c348d3e683f4a5da3b28cc5e4eacd02d4e4c92a8af39f328996884d49ce507a9d1e0b32851c1203eb659894b033db66a7bafa97463e82fd13cbaed7f44f007888349e2bf819a3f1e106a2cea446424a524ec81f7c4a037fb195ee5da565675ae64291b2840a6b58bafa55071f2b5ac716c0b5737d7afadfa7bc58e67de8603c1af014c01d24f2a2c210f5625bc0d908d5491cbf8da65278041877f3ee72dca53dff2ca1b4001c8f1e05ddb9da525823622005563062b29283834b9f74ee0ac3cf578bcd93b5961d0a3798fb248e27846158c0612f574f23953730a38aab4ba2134aff14739e5fe74cf7c25e4da48f0a464119be5ec8ce747fdeb8eef91e9e4d12c4c8bb28b0ab1575a1c338794059eaaab8053d2f8727d96669c9dc02516cfa0ff8cf595ff761c519366460aecf5aff8ecba42590050a863bc29e498f6f79cd9a4b67ce4c9c687b03080dc6b6475041fc29703dfb11e74f0eec05a9429eb9265d771028ad755874cf78f757da61c24b7ef89e82f4ae442d88135f00ac31988733d0d0893934f288b0510d988c7b364fb02e39bc31e94c6bfb7ef564d45dff65f362c99108957451a6d491efd43311561e7ef0fd49302fba0336e73c49b5e89e68327f213e9e4a24771c692f381be126c1f4b94ce6cc2ad2692df94753f13e5c0b780f21f3733412e28f1ddf21e983fa8d02c542abb76198ba5e32193498f15f988db72b67a264d0d7ee6702ec4505b9fda6e299941067abb68fd5de056f039f5d9310a4e25ad5edb10ddf0a19d4ad03387d24497ab218a5a245764d60adeee5fcb75a016f25c04e61acd617b7b479d48b46f532e9053fe5c7f217a9f6d81636961f420e7c95aed975e6a9b8d9fddce726d67dbd553dc497a24ee656b3aa31b19ae1daebbfa7ab5b6fe17bccaef0d39999f23d0a52ae5f50d738a0bea4a602f142fcdd19d87b8dbeb0465215ab405914492027841da91dbff1c520c7f9e89ce628841b4491d4aa4ca13a225c1c0f2d464fc163e6790e26b86b65ca07eb74f7717285ba1740821945f418a71ebedc8e623f049b3681322666f7e3ad9c947cc44972832efff06d48f108a5d3693d1765d50ae7529e96164ed456771f8afaee08032d7ed596e57b656580ca909997a7ced3ec5b16cbf5e088bf5c949d517755bbc8f140f3606917dfc92c88936c416799bf4d6cf16bd5af79106823657a74d730fb3f912e755791bef4b76b516640212f055853ea4929a841034a967492246024134a82fd89a4ad30dcadcb1e930075a9756604b5eae171be12c002fc2a29be01f1f165acf31c03d6ea79b6586728186bd1bd99e4307e30709e00ce95ca7d9cbd0e90a658371f4d0385e105e78afbec8c3ec2725d3c5e0100e1ae25d0359beb8dafe59e2aeb6ff56f2767242abda74e5bcb1016d8f46708f172c12d584fef44b4ce83cf2767865b641ba9dd3f4aca516e8e69684fa43b6519e8366c6b00e3a65e95158da68871c9e88559d45727255ff270e648e56055ecaab0f91149b13c069dfa3eaca1ae8c1f7540f72253f09d3cc3a8c345993c912c611fcf4055f7c76b375cc73d91be5207a92c48f0e389a41a9db2bde632ebe110bc7f34fc4d91132716448057ad4c98b6d6c83baba7efc5f6dba8020914f1ac7afe523d9563061c8d46af64184d181e50747fc7351dc6097e86f1d013be002d341c59b474c6ccb90bfcf9d92aaf07ff09a84b037eafed551165caaa1196855679e57c22a0f198e9035a6ad44d24ddd4e42206d3f1174a0903ba49a46511bf24a15a12d251fe6f108036477efb0aeefa4a27ff9ce02862c200424ee2bb0e4ee5e5474ff1454b9399020712a9621d0934b8179a06cc9e08887c94513e00de98b569294d48e1a259332d5b501d247cf5e46912903d987a94d1fa6f6b4d1d8f12c62fd2baa7286c1b3e455a5af85ead1b3d9cc5ab44704bd0ed011cb25fa2f2e35e883a280c8f6638119f959c3f51efd371ef57d07143a778c1c524e44e2e3648633588f690d6c4e374215f4501e5dec4d8e4440b6b80607134221cc0db3a7a1e4be38025e064d6b3ced92ff8fd9c28222c400b82918a77fd5c5d21d5b6053a1337bbfeea60157c1ece22462eb4c5b22846c4abb5ad98a17928b1a9ed5faf5a2592d6624a7a0d390a8ff58cb6c55d3a90e7fb524757db0a9e88c5072ba0bd3d2493b6084c33e41d761068b08d3dae345637c60cbec746eba1252ddbdb18c085706787d682c0a05419e06b8c9de6ec4501c18832517674ae24cd18e29789e71cea1324c646729db18974895515a528bb03b73103f2e748402d749fb9e8cc4eef5e9d375a4eff6e2da3fa96ab01ac2c0060e54fe799183e74fbf9e67b4022b357da51fa827f421d7ab610d5dea49e9a4ec27e1d233aa6c3183d5abf3b1862bbc1bcb4d366863ee046e3492d553bbe2617b661ece3cd4ac520f742b325090bdfbbb6308e10433e5da938e349af8442e7b77b39eec4a5d8fcd834b72bd83163b74459d700b9874a0ce4d4f9d69ac3112d0b7c70277a366e24c3fc63164c8e53ca19080edc01795b907ebef34fbaf2f75044e30d76abb2f149b08690dafcedb79180e9936aaa8baabc7489c917608e58a3ae9b2ed5518b52db7cd7a8ebc969285f848386da2386ad67de08869d1234c4e1f5a818ebb18bda143eb07e3174e99aeec601da7281ad7fdd7b79e1a894ca6eb28007db8563054c74dba29dce1de25a3a0a83f320dc4662ec64944f793788fed318f4c11b05b9b3c023d7a499e5c41a86e06bd5ef8c3cc02ed7c59fee9b8fcf5846cdeeafbc050c16d6f60b22ccdf6c902c65762c46c3f610442a8b4294b883aded873aa11ba6f172bff6bed6eb4c36bd6be171c9636afde9445d5645527243021259b11f4db71fa23159f176b1a47f0f3034969ec37a2c04ef40f52d0c9a777f90888a1f41be03bd2e4d2cbc4d34b35ac973b0379c18f96ecba830bb5d2548ccb10ea2c7b7213068ba1dd78b1d3de51968bbd9ebaa97fa3b3264c691a94f7bb1a57ffa91accf8a70a1333bfe3dff057d51b3189aed92c948c27d51539a1542bccd8d95d7647db196870be0c269af1e2102add23522c1bdaf6ccd3cd92f0558fb6e1d958187f502d03ce855a477801887332edfc1ddb06482156c6c37a8e44346588d94c28a18381201a5236a08148309128511049dba8eb8e3c817aafd9a26cf35b4f50fc1adc46e586578a17671e78605101e145260037dabb49185d4e4632354fbb10d0fe92da01de93da44702f44740aa7720078a7038681cd6b8900904e2524016f9de484396208d9dfe61ef9ff8482f4d5dafe0f05d7a04bf920812ee9cf46e0e359f85a11d8d72cef126a1ba1d4a0199b42e23986c2d0c1d4112f959035f2cb918fa929ecb36c5c2646c76eac1a1898108c3a795f7295d193aeca8d855b0be2972ea8712803aabdef0a0598b9de2dfd199bd565ed6b1156418d3a3682bee9df69cfa5c256852fc945b0a11d0893460a69d761e8954e2c1a717c33a72b1554e336b6c644dedcdc7607686f984c4db1fcaf75757a346d0c9881b3dbc13d262f17c287390641841aad11124a8c057af05156a6839baacf407630b088600abaf3e090db345fe34632ee5c8e9104cbe139e127e9b1168aa1972b6539bdf60e84c4d9ec92da586aa6e59e0e99118a9ed16bf234cb48d617a63187820e9297ec020737ea2e9f5262ffab59001e7f093aa6bc02f53a410a0cd1ec844320041265c238dca9e38cc0716c114732dd0ddbb831f4ffc7c8703572edfb60450ecec903641d3369f5e7202d8ace65a4ebdce4f349859496f5ee6015af4b13051581f6d0b079dd69e4173f8e1c0be01428b9f046ca0cedc125cb55bbcd3efab6ce3c561ff4dbe4a8d845ed34017b45841702e3760f5a021e472a128890cb5c02a8955a1830bfb24775e3a232e4a6a7b53dd8cffc5ce873253a6bd5137f92cf555717fccb6c6f5bc0ae3c1db48afd39ddde1bcd7453265bc39c4f14960525ff9b9d84cf76c68bd4288affb22c6e94064f56026c81e40c05c9b0379f532aed3947676c292bd8d0ee3555f8fcaf5b6c8dd82e785dfb49a886ca28cb7d3f82e643852067a3ea2951b40e8c69cc11a841f0ba2c1c5e91052e3685f4e0a2a9c79ef9b4b54de3390f3957ad24a7a856dff0d92306754e1cc45af9ab6c58c3ad97ea6707ff4f31bf3075e31959973f0dc47e010e57476a81315f3e43aaa5a71c93454ebdfd1a9f6c7871a5971f1f7fd69ec5c20e1c703bc164305471497de6b8c06f5981b9bb4c330a965340fce2e6146088b32d0301b57c1d5d2b0a10585d57d52be13b292975d6e70f7a35e98f522254cc99b83aaa523c91866aedf41e1c430b84a5404845f57f16926260e628a31917afd496812a61bf5ed92b0bc237a38ef0ef63e8aebd1d7b7d1994e0659cee6cb5b4b6f02d9974ec1015104522f770629415d5fd5dc117377b761e48794e5f3b4f246c0ebf5ad5cabe2cd9fc40cf424b1ebd87fa74621d5e5531285309b8d32ebe0d9930192e3a89a4d2a7d1d4e074e4b97c6f45781f2f5b6a12782c9d5eb99158765c5ae03cca9eb6d6ec03c0f50c3518b4912ee192881630456cd162a080ea59429109b21d056abe684c6721aada9c169411ebba98020d62fdd15fdcbe7531f183a9660dd6c160a333616c8d12aadeecdaaa7c9fe59c4e25f1d1ad764428be6d12c1f0658ba5d05f40600a479dd9c83704d9433f52dc828729273692df49c537cff82304ab1ff4fd1b1b69df1c9468d606d06a307bd78e05aa3da2ea58c7537d79541ad8cedfede1517fa48bc08d891a350707bdf432a893f50ee55b34742967274503943b6299bffc7e11fccfd4bde97d31c95f9b1d8c69beb72d03c9d4f13a87d645c93f3545a2ad3452c9e584d1f5cb969f4b9dda43b16d2ffe09dd630d9ac8bc4bf4cbd73fc2a9df8c9b9a9ea9474dd804be5d6433e8dfd1fa553c712532c0cc60f4122eebb8ca466adef9dbf1c9a237f414ea7832f97511aa74c215d628d1bbd5474174e3c3072162d420c866128c6376d17db224569617c8b028c2a8c55c2421fcd88aaede970f3998194806d6b5a0644c08947b32f0175c66c591893a5a22d08b618e6451e5ce69ab74b65febfbd3e6ff3b87ee7a3df4d04fc5aff0268d5d795720a9e74a1e91fb04d1461e06b69aa72c48c932ecd0893f68a775ba708b72895bab6b46aaa5bf05b7828b152796077630bd7190d631a785ba58f256f16d45502b31710239a8e2c025cdbfd35d52056975e7828b12df5b9a1065f0e9705f54cf8ade691b74ae259b8a0da6d53f5b763b90e39adfb20061d77a968d90c284997bb6f28ad6344b4b704bad21bc65b30145a4d0716b7d579365aaeaf0cbadd8ccfcaa91bfad8b4e4b0393164a5ef3c18ad3f885bcffe9cff11d2022af41d5f598a0eefdb27bec5e2b3a19f850ca5bd03954ecacedb110db93c659369580ad242dade7b6fb9e596324919d40b000c1e0c9a7614040d68f8c08be9d339df3aef682034c373ddddbe813b1c750d88d6ae712ff8d47ac86ca86debce33fc8633f59e9d086eabf376e9b8856f93dbf9dce9aca6711cc755eb15dcd1bcce9bd6ae823d643a6f62072a3fd7e956dbcc3e22c207694aed014f9eef4485a710cf760b44ab4dfb05d7c01e32f3c3334d23a52b89b31a1f78dd4d21e3a44754b69453ce1ec10e22d36b8e83626f51877233ce6b15a6569c1474320044f315344dab516a47404dafb98c02689a9faadc76e93e9a91d731ee88d208353535353535351e8a522a6977374f943e24fe51f3d47fd4bc74ea328654ce14787126cf98a399daeb88bc1dbc845b9df60b6c212e5174d34a9386ce24228f2e9227507fb25463439ef43ccd8bf14c0fcb251a5fd25b69deac6ca491ad5454c3fe58c51d239ab8899a88c845c648d60d93862675ac8946d0b11e6a2219a11cea57cba34c72b5dc05c734b99c857377ace8e6562a6aa5aeebbaceb51c8ae20ee9791e95316d63e18e556fa2d9ba5ee76a855932991e9b37356a601c6d85eeeba587a369a853fa9d7bd4ab1cc7b9943c71870b7174fa4529adb56e1e96c1d3bccebdead55a314ebf62d2e633d0db371dd74af2842d769bc63cd67993074f3d170d1daea7813b1da65ee7c91ace80a363019ebaa4f285a36db053af99f3c5bda9aa81875d45353ccfc88871e93742199b34948667af997c2ffd86e7550d193cd36515c984c5cd7249c6753a26ccf2635cc698481e2d73a78173ff8d274d630e39248942a9a46924b813ba049f8232d8f01a38c80d87915ec3252c0c25911cea588b536f59aac567e0947bcb64ac48c9e7e656ea2219b39fb5a72697c5ef0d13dfcc3895224f58796cea2a550d6e964b2d45d3ccc27e92445d4a913c64933cc193498839a84b2ca78b8b8b475b29eea8d2361a8c87de5d845aa8c128c51da15397cee5e542e3e2e234af10db98633a75165ceeb9b77d5d38bf3bc88d1a8e438de93e5c3562627068d88d06d8f01b5e14b26058ce9ac16a62794c8843ba30cf6c9a4161706e854d3742970c17aeae595d61cdcb2a553c69c523b833c3757ad6eaf219e61f353129fcf49890278e81b38fe96138bb174d8cd384feba21a59c31a164622184f1ec2ec3bde985b927f748d0e53374852d781ec638d7b564ac86cbb3e7322e63adee55c38563cc913d97e13a330c330cefd5f3ed47109f1b66e81b93a15f338ce05620ee90d97e2adf4fad52ee492572886853c921fd0ad22feadd1077ac56ab55067e0c0922eb4a6a2dc3bddfc018976e2beea54f2694b295ba0b19932e63324601311ef3a3e6619c823b312e97649cbab4d23631be23e39e4c583d8f60f5625c55635c152313836dc0008cf7fc8f0cf4cbbb21e6a07e03751abcd5da5a1ee74de79e65cc4606605c9e121d9767838b9b655ca2540ee978ae6363629ccf5b614bc64569c5ea22590355c5a61a6aa08fea0f0c13e0820c1598a14adfb619f77422e879b62fa779ddb051a3e2cc755d28df0b318e0e1237cf9f9ef1ae468d1a356ad4b051c3460db761fe31f3b5c6cc04f28605fdc0f981f303e707ce0f9c1f385878b8839740bbc61d314ebd8518ea1bb93469a8f48ef508220f396b62f254498c1329019201cde61713f6c7d0f8aaeea18dafea61f8c557752fbcf1555791a6323d9530a8d8735996f192ca78b6335c9eef8aba9444a1944997b966c8a45a06d6e7303e9fb3f8b07c857303c51c74692697344dd334a7de494ca55399af7336d026715e6149e452e639cdad2eccb66aaca1a7efc584fd52d6369e53f7d0a97bd2a3737ae1ca65ad39f5d533f72f7f85376cc897ee5e96cf13439761e69e73897fbc3ef4067b70208a0f9c000a43fa5e8823edd74cbfa8cfbc280a9ce82596b9ea327a9ee7e157bf5eaf35d0e4823a465b08cda96b7489a7276827344fa37ff2e68b7b5dad55ba57ffda2674cf6bad5dd7755b8b0efd214fa05b87e78e4cd7b994e9bc86fd52c637dfdc03d22f8a238668e6e5137902f5cccdf0ecbdfcb0e74bc3f3ea673a8771206dc3c33975af0b81dcc0852aa49b23930f19d7e999b06334c216c2610775910e6aa1b063fd92e17c09ca70c36d601b2e619248e53406e7eba22a9f8173d306f2664b291d6e964b4024017182f75ade682cee4db9f4d9be7171f1e62797e28e194e5958aab33800429a7006b6314775ce691786a18c124a232945bf62ff903ca4cfa5f403b14a0b9b771ef751f085cd65c2cebb1b64387f822dd81ae4e530d283f4c06c380e365cc222b8c3c3b98fcd46f879c364d8e3f30de4bc7c390e0d7b35e086bfaacf9831f30b6bea8679649c729146ca18ecc2337c5e30dd866900d2361de6c940fa455f065387719d9ee112e79a97385f65bef318bbfaa2018077384b0086af9e65f8ea0008b948239de625a5ecb0cebca15fd4e53362cc21d3c5f8866b7e15be6c91363c5bbae196185730ae3365320c301eb18d39605ca7bbce73cf6b2d9e67b28ca506922e3b9712c6e5923ce1c72b09cc8e5cca2d63dce9be8f315098307e03cd16f7fa0b5bdde562903cb878827449bd975a685dbba19a7f1aed97e65bd88532ccafd73497218c6f1cc85567e92493f7c9b0d6a54afbabacf639d7e91961eef08f9a77398cd3704390b6e1ba8d73968e73161b30e082091b6cc00d17c6e917e7437a27f402d7ddf84e60dcdc40426d9337a7de419d53ef22b6b361fc1be10b7ef11a66187466f677c135d096065a855966a906b9ba615e3d0af453087a04bbe942fc0eff78f57889e203275e7a1f815bc3b338ffa879cfa7e7799ee779524a293d795f9e5b349efd01e0f9f59d0320f49cc6f3577823b41136a0c3793a0c2f379e1ca2128ffc0e67d909717317719386abe12fdd0b73cd7bd2864b1b5e43241cb061c3860d9718890770b8e139c02208830d1c44c26ee03869bc90ab4162c36db58163d3cc1a376c9c9f5792a32284de848f47440ce13d140592816420f427f6517d7a471f1aa62d0091df1aede10299ff429c01a13fed03e996e2c5193a75ae756e06f7a34fcf5c8c8c8f781383a78cd1173f816240445e662032c5266904829f2e8d66e73f5edfb9e32e7cf94c086efc19dbb9f5d1b9c52fd98148a738a7751ab6b8675b5e05a2455e8b469d062af22a50510301c5c4c8c8c4446962f4d42b2bd670639426494fe36314144c790932c06380e7d5759a862d3e7b501bd2f6ea2c9e1767852f4256dc9796872e619e046a1b8b795edcabaf199e67de66196f5da68d0ccff4ed7cebabbeb16ea590274cb7deaf979daf98cf9051c00c4829587ca61c065b9cad0b66f10d4b298ce20ecea77b32ad160b8bc7dd48ebd6edcdadbfd9afc53096739db6b807674359336f647ccae0e92acff6392c6f942b630401bb6d38736eade52cd800fa3c9ebf38cb653c823b3c2f326110771817eed1f20de4bcf5203db0d0710871cb1b266196b3eeb65fb601312c09d4361ee629d23615f36459a45f3d4fb114da71719df6b899619ce5d675bae555ce5fdc86dec6b90ccbb71b1ec65fc2dcf3ae22945c41e559eefd045d9b5bba6117b48f0badd559a1871ba56decb49f7bdea50097bb5ca7614220f35bdee08e6b723e5d3eabcbe5e672e9f208eeb8b00d186879cfd7af0bad47b0651d10e331d2b0627cb65ca7bb10a6e516b7e02cdf877da15e855c1f2f0e646a5c986de69ce53ab315c6fce29ae6f2d6e3b35e70c1b9c78be004e2a489712e7cc1d95aaf21f596307e2bccf25b1c372d67edb49ab7421be6b77a6c38f30d5f2903a48f8f8fcfe712c66fb14f69759df95c78c3d730dbb778e53ab3fb9cc5c8687e8eb3f003c3d517fa7c45e05aab85fd9c6d800cb6f2399e1c7e63a19fba17e61ef938b83e3040dd3f7ebead99f3d637cbd91c242c06c70dc88421469a48274cdf68a27192684a49442489885a3d904d4812493621cd1b1a5a34cc9b4ed2c4a75fd0445ebfa4e04658952b5495a240bc51e10d44ec25691ad7aa35e55a0bb79378a30343232585441a30493be1fc0dc49b56e2a5daeb30469f22763dcfc8f8b9ea1bd9d440af572cc99d42b8afdc9a4eb881882412a5944a292391d7bd38cdbb2595484df4e4db65d0bc49a5b024d288660ad3d034482413dcdc44ed4d449bc9f64afa45d432a26f246b91909aa8897ad6276827da4943e9234a294da550ed82440f1b99b0f097ad5fa7a57d5b53a5ac71a126ca8d303a2901e20d878158cce37bbec4acd3a0c82485c41b3b69029508f8034706d1992472a5fa7cacaaaa44983059f16aa40f91952e96ba6a456829690af7e3b54481a64441b2335386f42b22cda4d8bccaaa484d510a2645955555b50a0e9112ef470b00593091058e120ea118655555c521a55f9abb2d1267d3a85f9aaf54da90ea59fb017756eead42964750c552e11f9f952ccb6a17e2b33090d9e359617c15fdc9a4a7ecfb3c65b2bfd2349a6bb21d164c9b4070b75a6badb55adfdcab362a968c2baee6f1e31109983c7d2b855e9bb039659a8d75982256787db89936591f16c3f80ac3b0700f96af8e8640facdeb7cd22f4d8527132225521682bb33652910dcead72bb6417e5eb9f5cdbd28699f360fabd360e9e7ebd6b7d087c540e86fbe6dabd5ca52d76b4cfa2646896924587a6dca8a04bda6694a5efb79cd57b6cada66cee493d7a4e6e3abc3bc502190d302a620c0fec320ac1ea0400907b0202b581bc2bc805af57ccdf125200bd5abe1ca2508830abef21aae60e19295abc2174016aaaf1ca607caaba35e40f96a8533cbabaf14507d857db0bcba0565c87198abe0119c408ec37090f71ce40b80180206739db641a27c15caff15300c2f41b90a61d16b9e13c24020478369e00ecaabe64950612a9cb2703299452c47ddd5b6ad56f75776e59b542265ab908525d16968860877001de72451dfe420d11992e33c38ec7d759758cf09976cac6b43da2fade28c63c3f1033757e75ce3fce21f389e853580e37d707e9d5bb90d37bbd9b95af9bd9b6f386fbe729dde5ca7579bdbc619476c6befbd436aad758563bf38df6aa037ccac16ce3b226e8b734e9bc02437775dbd10fb5500afc1b9c6eb4feb37362f1e3b66bc0acdef6f588b83837363e337be85407a4787eb348f1d3c7c8be00e0aaed3353c823bac0aa41facdbc672afb26cad95366ddbb66ddbb681d51b823679435c6d73cd69d8506e57d830f61a2846e475fc54791dae030457bcfa49cd6edbb434eaf4c6721dae336f74b87c1d3a5e87eb747f2c168b7559ac8e759447c1b37cd614258f82a3e03f4f58def916deeaa150a85a410bee8028148aa22e6581e5dfbdf57af5beb863390a3c9c15c687e9211f05978f827761ee7914bc822cc847c137b08701fc007e0ab3b7706e0dd3cb5ab74060045b90f1135ca7b5af82d56fc2145248c12b58fd864d4dc15370968dbb6d355ca7513d1f907ed7e914dbe6843a9d70eed169e971df67adb5d677ac95cd846442b32a1f3f2af968e4a4cafd68e464ca096401741bfe85367aa23ce85588c8830e82e009089480604afd6a68fbe59af11977f7eee5e573717171912e2e2e2e2e417a5c5c7088dde7fe12f2b0203fc65ddca3eb34fd6cb8771df5ee2eb810e74b4be2aee0028c0d5be04e7597e08bdf08615840b90cbfe1f163dbe4f8bb4e7b9edcf198e32b3804de77300e307f5f01e3b0240698bfe3a082e738f60f6170f80ade03cb096170380e1c3886f715701098bf0751c173bc0726c11dec119ce13a3d691c6f78db585b0477eec9f3f737e45e429e9d1877c12c9ce09fbb667c46c823ff9b99c1b15f30f8f3e972eb721bd28563bf5ef8c3218ffc03e01ce327f88d50be8e0b6dd302eed0b7d6d6f02d64813ba07b12e4917fc3239ed102ca7928fae1216887261e881efc62c2f8983699404343abd55321cc7158f83e23947f2394efa1fc13c2eb58fe649a373400e5b80a2e430e56c16578987b11dc6060e18ca302c06bd872da4483c6040a731da4c10676695162981ed7653c3eca75340ad6886bf85421ec81ddbf11c6f7303e0ee3c3c21e98cccf958f1f1f045df2bfb64179f5bcd3e974daa93805ee541b2a00741bfa7dd8163a778530d506cc6be4f81722c9c130d573fc31904602c33015f740c175f8e3214b6e6c3c070f59c2c37970d8921d302fa0e03a1c05d7e15e4b84f2f18807a39720887ba946d84a46b83d507003b801b08fce51f008d343878fce75787c1e3e83b3cb79dcbc70aee1376ec383b0506d8e5358addbb6d950d8f6ab6207bdb2fcf3cde5acb086df2c5f8777283818e620cfc3bf3007f99b4e478d1048bf0e778540fa51704f5ab7385e5348c1371cb7215ec24dc1f37d9c14dca6e016c7391c8f200b29601c1e3b5088e184f426a457faa5b94da8e9083512dcdc405ecbf7b58dcd9285b30d6efe582c9c7ba27539b8a1c09d6d6b20d0d5361557ef03a74c7e785353067e5e01527e3d0c37bfeed12f0cf1e6a930cb4fb967c30d4429d65a16ced5af67da940a4f28d7e91e94ce0caf16243301d3d0c09a73e08e0591b8d525517e7db5516754a22a008f91874e3c417301b84614770c6171568ee7d67bbe341efb4605a7711ae68d0ab86730fc38df1c1e2b8caecd877596b3585efd58587275d6b66ddb16e4ad6f28bfb6e76ff82364b9ced482e28e48e3b942f93776772cf0d6dbc20dc88f3147f50862995d853d6fa5fc45852c7e43d64b10f563fc6ab5f216e2aff0ca430b7c5d9d7cfb115eb76126c05f16dc3764e1299b48608db788349f81b30d80dbc8e13506e03ab3268c5f8001cc06300027c06c001e80d90072c4cf11e6d60b20cc5a92d79c0600618ea19934132d2e0367f9327048c33d2fbac0246e8e4c4df345f3bae1da102d3e8b03c0b59c79a3f9e48427d74e7e717e9d4e6eb593572b11a85f31a4af719a1e94fee5f63ded3bea61168f7a28d27e348dc8a6d4c50a5ba27e553096e4527b713305e335cd7bd636a06bde52ac5c730a46dc113d16f842dbeea25f35bc61aece72097a9885eab6957a29470070b8092658bba9e011c6caf17708c05c058c830a0ef3c7382c89410587390eef399efc7a698946694949bbe12e1a42aef5fa9ee31078fc82800a18861d86af61ecd70d4ce327d0788da531c1843087d79c80238747702700618eb065fd3201c70def70a6dfc5f02c30f68bbee7de7b0face6f87b0c39fe38c812eb417262c8f1f7c7416898349ae7e01e9885e1ed755618df5ada14661c5fb1c7f90d338d475001d65f2ece0a5f6c9c30cc0bfd16a3bc8609fe0a3ba85f9ad3840dd42fcd6f8426e0084d086bdf489856bdf6517dbeb5d6faa82edf9345455656d4da06e45b6f22a28ed5b089aa869b88156e60bec53cb28948ad8b88b8f173cb9a88ac287645738d0850dbe426e2794468b861def4c0349a97c77973a3bb5e93e31aebc6599cf8f5c23770bedfe1edf5aa9934d5abe784fd49cf2b964cfdd2c01666fc73262b2814ca63bc69a649a3792cf722d83f6da3c13c5b153cdf15723ccf9b77eb2b842a84b0304e1a1b1ea765b9e71e2bec9ff611e2b27c48bf3467b94e7f4e1827cdb471aae19e046f6bde43faa6bd0d6ca1b5306e9e407146af588b7296dbf0e28c23e3c4f0b5e5357c81e1597e6beac54bb85e5915156696b358f9b1b0cc0f009d45392bccfe2ccf862dc4b7d723b8800daf70aecee23d5f57ae3335a2afdfe12a4f60719d09b2386dd25ca3c1b9f5c2f9a2fc06ced6e59b8d530decd25c2ea08a81a6ec73cdda7b5b2dd7eb93a57c26d4691ae16412c1f0ab17cfa2b65961cd637cbd6a6a68536d9a349ad755980a5143dcd5ca759a36b15c63c1d9b250f87ece0a33f60832a0730f57d7e9cebf30fbe3946b3e99cc227027e55e6a950aab477055ed0a03a96fddfee83c55b3726bbd565b6db555e9ab5bb7d55acf31a9c67132ca597785f30cbfb275b55a5d9c617814cb6b887d823b38f66b460d51f847cd4e8863bf1c67fb335ca79b6986cbe06c67780c9ef91938ffc0f1329ccb2ded14aa5a9cf356986378ce5dc26c9fd3719d7032691aed6db6153799780d6dd5695b6bb51cd7adb44dcb711c7f722f27820ca82cd4ca51ae52a936ef791bd6ba85d6af7bfdad42168f604555945b54ec5705ff84fa5ca7733c3fe1ca391866fa1fa6a15f9a777816e129eb97e6a723aee6da8f3664abf88b4c5b184a1c9c14be115c7ac57a538c332e8025b8d6356aedbd9136bde6fdc2f92aa36fe216dbd1f205493c4f35e54ea71edb71b82148dcc1396db25c48630eaa51b7ab8f3f78aa293d13cef70b074ecba975eed2e11b220df5d88482a9d483f81020e6e3e3a3032c1e95a0c8538f45829e4a25559b3254c08579433fb0e2a42961114683f737442617e6cd0be34c7a7ae24a3fade0b61bc1934d674da5aa1bd06dc34172806d351b6cc3359386f5b1a6f530bc264d8b11aef421863e09ac7dd249bb7081b32321a4684a474288f13922a17c8e8a28f91ca7d0d54a06ceecc903538c32c0d02fe92d268e687f71244411ad891dac95a756d3344dd37a8230820bb078011311533c01d3985e4bd2e435fa9aa60536da570aee509418d7ebe17a3ff7fbc0fd74b80598218160e635bd25e30a1cbce6b46d009005134fbd65a774bb1cb862df9d640c5178dd4c0c7d3c4a22f4f7e351121fdeeb8f05892b638c94862dc03415897fe4cf7542f60cb13882a2a97c98540b47fabea0322ee32e49b49a8ad1dc65703f14c51c93086e8a0b932ac27557b85cb062a2f35ebe1fd0b49c04a1075c60710465f6e00383e0b2e464696a019e5aeca7607042b1b6ad6a2e4f5cd15a39696171c4aa7253472c464ebebdc5c2f7297823b8d1549afb95818a25c5b2ba2e3758b1a64081b1d92eb25b6da98c00f1b94504e6bb06fa4db7c545076052d27f57e0d408e063ee229a8f08dffd83efd601517dbd6a6a5a93c65bf203f92e507a979417d7a78397875d0fb8c0e21ef9fc622e987681e59c40b93e30323ecd0b819531c35b2f9b865b5afc2764464c9527cc592be6464b7d17459af6e8ed8238fb8a6f4cb4d3ea57d785cc1723e31213d3c25ac5c4c4b0c4c4d4e899b37104c173ede9d6dab60d47df7c52f76a753badb573fe867f50bf4f48cda5d2d828a596f6e46874b37edf115c68eae84a97734eee9b42577af7f48b2de33cad947c4bd30bd951067d5be9d55ec32919581716589610a417c495f21aad3e172e5cb85009b97cd1a5e4e1e50e5288fcc0d3d6f749b9d22b81cb0630dfa7049d7104ee449a358f3e3fcef8b6a58ef93e1e64bef982ce077d79b8a857dbccee9e5206bd746fb5ee3d8242f6dd4db020113bc68e31c6d831768c1d63cbeef64a5b45dceb5f0ba7153bc68eb163471b638c31c618a34a05b62051dddddddddd94564a29c576a705f92cefb65ab3a505e522a79c73ced9b25bb66c5a338d524a4ca7cba26e197163bf1ab3c4c4f062ec91f286f6f8f52bb6305ba85b6ad5af28a544223fd2e87126cb994c7ab7cf9532189090c2f08679d38048337d8b39678e484d30c41c538a59bfe247d9d2ad8a09a38f7e79b8d3598adce991ceb62c3cd40eae6432339db6f09e26639f72cf0e1a9f151c7240f82ce24a97f93cbfd410335627707d545eacf74d1fb46c016c0a578a56149f32bf2b573a9d73ceb9a2a918b0d8d3e752a4427dac21a43c21eea502e532e564593e9729a0aa88af4b82f765d1b97c5e10e7d2a2be7cdf121a85c9c12815451679fc40d033be09031963e7458c53ce9001e37a69c598162ca426a9dcecd7b71f2eeae351144250a210e28710cc200a21958b0b226133c1e584f073596e50e4de2a34212e85a2197152a5b89c0a36209ef070c4930f285d9b042877fba2165d16a52d0497d3827a715531a84db460dbe2724f682fb85b13569c20a94faeebe39113116c4eaefd8232ddad8a086ec7834d0697dba2f670e9c72328b2f8ec54a0980117501851adfb7814850aa2c8c1679fa20a9f293a0811914378a20a1f5874fbcd5e1a512a89a0f8a6b5f4be5cdddbe3430f8c948cae88c9c0695d7fcd1be9358d29ce11129f97aa97f293472668fa21152888232450648e5214d095069eed91bdad54044f7896d22f734f5d8ef1d4b55008ce34bc0f1ec9f440e423e980e61da407a66918671b278dcff774cd5b2a81fbee472f0a753a81e0f7795ed7715cdcb1c3c61cd439b7e1167748e75c8b3bac53af71c7c939a735f2a8a7b0865bcc419d461e349e409d73ce6da8c51c9c9f6467c3cb298c3147a5b6fae73eaa5b6b53a99aaa55730a8260e8e3e2fc61ea1da5c1f3e85d752a0b845a20b4eb52a92e95f21deca4e914ee3a1d6ebbf5386f52ce5a62b10f20b4c557dede5ab568e854915a55785329fadd9f8eea93105ec4f121bd4639c6e7cd3989b3e5c91523e97258427d097d4dd3340d6c0f643ef59ee791638c31c618d4e7119f7f2cdf87ea91f5c8bed56aa572e99a2afc3cfefd6e987b642ca41f1109b55aad501849f773f38f88246b8f8cc55aad22520786473dce50db363eae9fa84aa552a954dd189f724f5e9a728f3e47e7d3f9b69f82d8cbe1ed38e51f307c08c3b7d7398fe6611b5edecb9447f30df8e03aadb3de71ce79c7611ecfa5b503aba50aafffa841f97c8c3952385f4cbdeb1c156618be731f3cb9e733921c962cf9bc73d0ad2072c50a22415684e08a467f874acf5a4adde6d7067a9e3a6739e7f13cdff016dbf0f292a398c7f36c599cf3dc3ae7d4592ce69118490f2e77b1b8700f2dd80e2dcef272230d759796ef10e30e7ff2967b1147ae0e86ad1d5a58208efda2a0affc0bed773dfa6d61d4dc4543c8adde79f4abdecd9b2043e2182ed00111c050c212c41803c6e2427e36d80e3d3016ef380ebf50c117e853da7d2087573f5c981ed6a97fcd4fb741fe86615eb0aff98fed6d985f6d4faaef116befb5f947cdfbb01e9f08fd80672df601847e9b5b1ecdf30d6fb10d2fe19c73ce8979aa8b05883b3d469ecde204f4fc8663c4912de6d13c6f2e1d06cd86d9ba7d19234dde304fc548a46b38d2f9026f26ee68170d213db2cf3f22d2fbb0613e920e548f2fa47a909e2f823054bc43a8e16c67983de0f3df744084552c8dbc380313030dc2c30a15cc60d47b6033fd923ce2478db210dd56bf249d37ee90ae8577d2f49cddbd82c9e4f38d431ba4f41c8f8e18fa9e699847beadb2e33ad617182c521ead030faac3c7c6d9bf5dabd88ba4cf7186bb70e9f72de6914fe9f7ecd97232e5c0d37acb73ceecafc59ee17bca1678d14112dcea9a677ba96b75931304416fa11d0cf2fde2beb0e7439d695f8856da67080f0eb3ceb90ee936b4ad43ae7ed26d6b897d34cdb7bbef37f639e7eceeeeb9f59c7376cbcde25ca594ae35edd9dd45881e638c31c6387f4623909efb78648414cfe4333562c91ff15206c9e83e1e1951e4a5dfd003371e1931e4a3d78f474257de03371e095579efe391907ffb3c028ed78c1f0921457fad3eca453b51306dcf6dda39674febf1e5562b8679c1bbbb5d6b9fe9d79cb5daaf3e53f17c79f519bbd599970eb66a54d2482b9daec63e34f78f18e605ffea5ea57ccd841aa63f43dd359d8e4853be4f8b31461922f96e560f7aec3c17da2601dfe711a141e4109d0ddf308370730dd3056698e1a6d56ae92d31ad2900d0c682786f374ad62430f61308972ae99b6d12b50df5399fd4a279657caef3496d028b34cdf45a346fb81b27d7548b7e02e1e6aa04520c021d71bf8a0402d9a0cf5ced80544f6eae483fa757242935098ca1c06b217e749da6d48852da2f4a29a53c34e6901eb1076e3c2a22e9dbb58f474540392ae2c9b77ab4094cb0996033c1b61d39b21dd98e6cdb9123db91edc8b61d39b21dd98e6cf5c8917aa41ea97568a80ed5a15a8786ea501daa7568a80ed5a1aa0d0d6943da90a62db184b684b684a62db184b684b684a62db184b684b684469758822e4197a0540925a81254091a9b373d949022d2c428445264537ce64d0f2586224d54f2c304e8090d22b254844909a1a65917558cac205d498a491185488a6c4aa4893e434ae60f9309f424d2c41e490c893491c85211a6248466558cac205d4992b27da4549252ca1e487411696215232b4857926252489f79d30389a119a494b29752ea74e152485925d24cc191521325d2c81e47308934b1657d502ff0a287b2877b81a0fa688590a48f5608316af968851014fcf6d10a214496767777b7cb97e25a6f1badb8b579f4ba1829277b8c18698c34d248638c54628c91c618638c34c618238d31c6a9511a716e51899a4629d568a414674e2531c61863a4b4d65a638c31c6a8594ac4c8901d8191229f65b882b464b4be94bdad9aee396794dff3514cef5870a5fbd480cd2aa76083978227fbe79b48f4dc443e46a39632d2483d46a794524a299ddad4a6365721cfd4642d8217dbf3a2b4f2d125930a5e9c0127707d7c7c7c6015d3a66970a73dcaf8f9d3dba789f4cd863445a80a2b8698947e3a6db96aead336533618a5c7a73012539fa73f2c43384831c7742d9452fa9554d482e4b6678924299066448cbdcf6c5aebc5b843c9bb9dced8cb11b78d7ad6afe92f46dc381b2906744e2aa9a4f232b96b8a8de117638cd7661b638c9f8dbd02ebeffd9252ca9f97d239e93c41b4020b1d946610215de965b4c2064bf26711befd6b1b219d5a400c7c60249d31c678996209a27c8c31463adb6722ce4bc6993885787126c618a556f37ab9c1ae78295924e8800dc6611d14dc1c9bdaa507691b9c7e49a779f9b9668bbd566bad9bf56db579dd700c79a4f55437b8344825b1e9733c076b2c5739cb3dd6e749b9e009aebdf7ba0d7962ca2b76daa46aaa9132559cf9acb1241292443348a15f9a3fa94a64295655d5275dc8624328201535c61863c892866a91a0530aa91f2994188a2283ea4f7336d52895a8936d4b044f85840a894f48c6a62cbce26049128094b89c10ead265b941d5e2de2a36252e852274ad136ac5e554b0cde0da984683ad09ba44b99842b5d8a6d09234192ca931d87ad88eae4a0935896bbfd0a4b85b158a053dfa9e38e1dd15cc5815111af64302a62e4b42c901b91132d68bc54812cca0ab25ae0f082ff3072d3aa968495ad1d4142c4d542c22a45ad0e864a15dfb68df5b05ea445d7000aa8cb8d2fbebeed8eddd9f0d3a4fc6b528d95c49d57e43da8472a5ec38e3b4fac19b4db0bcb899764d3c24dc178d71462941e0d500c43ef5b9e466ea9a5dda1f0d6bd81e887d18169e1573c87e6cbba2eb800813a279b70c14a6cd8f365e0d3d9d94369594521a53a79cc3c77eef23b733b6668777b57d3c8ae2049fefcfbc3893a5d2926c5693269a4bb16dec1885ca25242b4241a488d8ed5b1d613fef082998b225ef4bb9e0fb5a8e007e2b2119dd13d487a2f2ba5f8b125aaea8bed42c4e9c67f93a2656dff79344c54a29edd79acd1fc856d20d5ea8d814beb583005216734c89650ae209d2891afcf476ad68206333c9f341eb7a0be69b28b032be2ec9cd364ad97aaa44002616246e37a5b4bd458c5b8b70b38cc5a6b5f7b65a1e9312d720638ef61873b42b3db9010b12c09875a2850ab8273c4411025bc59d62fea0fac013284e5ab06541b77882e341a7c4e20409143388428875f2c5f644081c1446550931504151c54912ac932636a2ee89132b04e74404aee834b2b84fcf989c4525204965928902f54cc6807c90269344023a4d9f0bceb8389b3752e9d4524a49e99ccd711c27a5c77813573df3ed33484a299ff0da00b1e594d37dbee7ab5fb2085ef438c3c56ced441babb3427cb5d3de89afd659a15ffd11e7c41ca72572a8fff83c27eee828108e19a2a0a6a11edd75260dcdaba6b202aff2e24a7a723fe196b4256d25c979f76306fff8ded29761dcf0bdadd6943bbda946c5434561a1df8b245930c16691102064600a843a8889251f58ec5e11810e7c602012292802964327933e1c610840300fd592c51459c0a0a97d08020c622d0611232658cc6287a0249847af200a82791a162988c1220c46c0b4040b227fe053c40b580e335fac6ce4c440a24a13cc4375959b6910c9c3d2d20a6041725085a004b0d83a7290264002165b07cb4f0b175346942319cc6408e0872b66300fd51db999a2ac98d28283d40f4c1bd174032458d7000660c8e27b489d939611f18a2072208381e0034304c1e2d112801083f530c61640308fc62a96f0450ce6a1e284452b7840e203933c7a066999932f92f8c072e8b408822d81e911bb78293d144dc29be2cae67c48d2f4d52be83addaa31babd9e8018a5bdb08c03a6dd73093b51d816c23466613e8f1ca3bfe5025bb36da70db56d14159e58e8b4dab465cb0ae202c4afe957e3d4843a352f9990f28d6dd7b507cf7b4269c451164929a59452c6186794a01357f64c496fe0d4de96ad71c5be537ae98310d0a00a21c0a2c3e0e0d2231fb99862095f5c7184207cb0012c7733a0ef66f3a64776821fac841182252d8ce8d094b883be065eef633a52db4ccfdd2c825a871afef17acd6767347137eba438727337eb8ab40d8da7f1b24be232d22511fa7605753217914ee62ad2cd5e9a7c5c3fdffe329b3708a022c9cc072d081a720498169f5f8cbef38b34c2e7172d8c14a10840c88cf0410f60f945e9e9129f5f965e985eb817eee5a57be95ef24bd0f74becfbbe107d7b4bc988cfada5efdc3afadc6a0a42064dc8a25c112308b0fca2c4e7972884f8fcf2528406ad2d6830057f6e2525b5a22449599ab3efdcf2f9f9dcfaf9cead1d7c6e053d00ca9115a8200848987200cbad243eb788644c5a45ad275c139730b8262e575caab858f9ce2e4ddccc4569e9db5d62b1cf2e44dfd925059f5d621092c47ec6588211264400cb2eb1cf2e4648525c925ca624e1622409a17721e202f49d5d8238a2bee232e4db5b66547c6e31face2db925e99b044d92e0050f985802112cb720f1b965a985e91b965bac703ab434791d9e7c7b8b9216d9774b11f7d312c4fdb4c4720bd1b7b394943eb396be338b29b39a54f0c49519407901529224586ef139e273cb4f0b504b112aac2da8b0a6b0a2b0a47c6756126b96593e433eb37ebe336b069f5931074b311082153e18096306cb2c233eb388644c5845ac274dc26872e57bd534abf23db382b44a4252425afaf6552c049f5744df7935c5e755d1122c2002085366902408b0bc12fabcaae2f3ea7e5e59232b6b64b52252e43baf82624db195cfeac7288965698acf2c4cdf2c56a8b034a1f2e43bb3146d4c2c4a3626269625c8b2c42c0bd1b7ab947cf8ac5aface2aa6ac6a520171040f94708320b8388265169f223eb3fcb000b114d9545b6caa292f9f55499b2acaa692b2a98a36d56c53f9c81f3eab7e68a0003a0112a8e820eb01965523f8ac6a01104c96c0e048097e8e605945c46715914aa662b2f510c6d6c3959c6a029a341b90952d964ada624a5b6ce9db53b179d383022b464e5c693242fa81c5e0738ae81b8a244fa640e203438002cb29d9b7c79c2a5a001237684aa2c911621081e5d4ccc8e794510a2925854aca089594508a48aac8774e05313531a57c987e8c92969e107dbe4cd70a15b70915f7c955c2e43bdf22a41b84746348444bdf195584cfa8a6fb13fb7c816e918adaa2a2a6a0a248f9cea82419aa48869aa18c7e829efcf01925433109238c30ae7ce75353f53955f1b152814e494a0fb4f4eda758d2e713d1773e29f1f99404209c201a62054ac4e008b07c9a057d3e199d904e52b42d4e46b42d4e422722a722dfa720a526a593cfe9e7dbc1d9bce929c115617061058b2b64900458109f41a3ef0cf2e033986400284fb8704202225092c0325882cf20085a49023649f2e43b83459a0c54226332038366606cd6fe29cd9b1414120881c1104480026445e78f29099f3f1b40c8a88081d00a8620042c833e24f80cfe80406011ad876f0bad87295f940fe9bf24ed2bd2be99f6197dfbe7d31ef3f7f39dbf6884cf5f9c2246131086c044c5c913b0fc0df1f9fb3e2654bc30a87857bc2a9e95efec353179494c4a4c4bdfeec560f0d923face5e159fbd211108117b01104838c20858f6664f8b7cf63c4f4a13cf4813a1efec05d19947645604a96b42f27cbc9f6fef6636f8dc197de70e2977494d54994209539211c680e54e4988cfdd52c7d459a146ba26d448f7a453d231f9ee8abaa0d8ed88be9d539a37110743648004a4283f58ca010c8cce1c13113e734db1ca8c081ea020260424ae80e5cea7fbe980ba2261705b84c14de1a27052be3397447db822eac3cd2867f4ed9c4f0b3e733fdf991bfacc05a18227c2e08288236641b0ccc582f8cc1171328e0915615071e53bdb26245b05c98a924d5252528acd9b197e2822c4872274b0e208ec8bcf96e83b5b243edba29f1e841145091dc4d0c10760d9ce46f0d95a2b6526b1466612a16fcf96882df29d6d90ac49667d643fdf51063ae0018b212fc2e8e189223e6f46df79432ac1e72dc925a50840f082074618b1032c6f4a409fb7a5263e6f4c56c2d89a84f1e47b2b9a3e9b121f26df1e81b6d8dc88bebd2a8df1b92e7de72a83cfb59585911d9a7ec0022645607903e2f3b66d45a8a85b5031e5bb2635528dd248558a529d297dc4c14f184d4354fc80e10318945c730d42c18a1fa0f87065c9173fc072fde17325aab2efcaa48d84d146ae7c67ade9bb8a159996a4f49d35d933bd91123e6b48df9a142a9a112a42df590b629a34d2998ab40f6df269a733207ca646df992241f199fa0c21a4880e3b1061810d60998ae0335dfae23365faa65668409b502554f64d8b92688c128991e7119f67530d4f8458b104d918444db04c7d887ca63f40456810154ac1dc2205537e4649b273e6f3c4e7f933837a5070f4812898186182a12a60940793c9eb1086d4e1a57793fca9f263e5db6392527bc786f0b9898cb6e896d28036126920f44de427b74f0664d3a3105fd2b36cf22848273e4ba39e1f94fccc60082e5a60650b58964a3e7c964b92e9b3b422bb69a44b20da70f125bde767eea52c92dd6cb02c8bd01e1e080c1d7471e44a1223c0e2103ec7a6ef243f43df6be432b409befdb6b722302406470061044a4a2401d63fdfdd7e537073277be95776553ddcdcfddcaf0837734b985b7ae92a285a6051e3395f71336ef6d25d48308219829351804ef0dccc73ce02ee705d907680d7a63872e435cd671a8783a7d30967107bbf346ff54bfb70b61eceb7c3b975c3b90adce1bc2d1550bcb53e63adb7ec8c0aa198d7fc5e9fe71c05ee702770c74e12dcccfdbc74cb6487e88c524037dbd94b4f0171b3f57270b38dbdf415d1cd1bd34b5f21b9d97a71f3367be95f17376f482f7df2e0e60de8a5cf1ddcbc11717365bab96a717395bdf499c5cdd5e7a54f29d2532fb82e4c6ed6642fddc5899bb5d9cb2ffef49bcfbce6b66d4749535c5e73f00377ac07ee6c2c20dcac01713395e2663a7be917ca7549ba2e5adc4c7d5eba2ae8e689f4d25525b86048ff62703f296e9e402fdd23bab991dc9613486f61e2bab0b859d6e0e6f601638b99574b466de237137ef30edcd9340bee5499346fba0ec875e5e60ee8a5e76ef6d2bb59270518445ed37c0377b42ea8039a371626290f49fc7dea33d4630b851a9f573b0011e035b7505eab62872baf05a990a8442cd696510d1d9a11190000000315000028140c878442b16830cd3349d31d14800e8a9a4c6e541a49d4284821868c228400000000000000188c340d00866b917057331143ae2a9d1f6840b5114629496d18554ec03d5a84a19f7cbbc1a1b1c8d029f08c562d0b9c093dba870db3e1afe4d9bdaa49f9979f9cd869204b686b62c40211249426fc4cf115355f9ac039596321a0648325ea871b1fa4dfdcbfcef1ccce78f7cbdddf764db32201a3273b1a99e062d029b93a684a5d0e9a9257834c89a21bfa294157ea24cb43357104412b35a30b7a89766827831a4a75186842f73a90545a2146139a028d41874489c1bee0a1d66082b29de2415aada616693614253b3f2e305984199fb20199f16257a5c99f88594f0644ad2aa2bf7f9c10bdbec7fede7b1f9e26ae6c579cd2f8c3e3594a46157494ea1402dd4d900f5df5fd114229d86fdaa4a5bf277f11997034e81ca63ca98d64f5f08ac7db4e012b29a00fcd8816b4249ad09c0bd257823c8e1ecd626545813d5e7dd2e823a275cd94b67a5cf05b96b5e1c6188013eafad89fe0cb4e51b3f46149d118375df50b578848473ffefcc8055f3ad220734a103ef3c7317eb9282036694e37b1b635c6a62681b24867ee0a97f19a49c05de097cae91f65359ecae6cb989e45e5b97a5e5d8c9c9f0b4cdfb6f4f879befd68d939649b83769c2390c0601ad7d67611f6150dd82ab65d65166f4fb4bac62f1102df7a5cdd06bd14cd9b2f39f2ec1f44ec1c0bd45abf20dbb53bf3f6cce7d69feb28176becf2637564a6dc802cca770f9f61376908a337faa0c723ab9af0032f14267268770f04cc312f8b5341a8fa6de5a1b2ef90eae61db1a07b3f03d30096d9acc5c96e6bed360f2c123fc95b7b618cc0248542ff6e9b1f0365d0255aef438f1e5a3ddc9a96c541ed86c1aee12a5a838d9b351ce324e8af786e01ac29fbc243f639c5f21b6f21395cb1c7059c4be32c75e7d482dbc113c9e01adc70736f0f03887df2ed1b5660bf517d488e73e6f7a8faebb0befc9a81da9cf27767a5c174a9df6118571cdd2db7e9803d1845182c0bb5f9db1dcaf7a80f76446260f1ed4e8783eae4b0754ee23e363818aab955051f006e9edb16ada002382b72fb8ed0e938ebe1829253f6b9e99abb276e083fbd28917f9476096b207db1d87e23a9e4edae6c0486d7c69b86a01faa2e8ffcb8189805e21a7c58098e9d9b5a428ee3fdc72cd3354eab4288934cc4f5c5a78f8d141c1bd6f5f09817a1b4043303c7ced5c520661d3c93754fde2b79d113ff501f3aa7b179400041dcc6daa3e3523825cd98fd3228582af61a1943535ef6e656d2e916a12c4770943188671f0ee6b92160aee6a80a56fdf66ab0d3ca0fd880576570beeb12c703bb30f1c62075f9594ebb9e958ba84bda3ffb79819f6cfbcacc5a59bfe66be0c4b927f6e7c670db610dbf1e61b0c9bb7a14a2e85707add0f109388df8141739811f5da4c1139a801b53f4bd7bf2438e1aacb55f2c93aa0ff944a492384894cc062df82040da890856da7981bf28bbb2c54d3e96e8c49767a8131ea86473ea83dd027b5322e808d697ffd475b67f2eab7faaf23afbe81082c3ae596c6ded5db3867401ca4c5bf6cb45beaa7af3fd1469b0bf71fb7244d336937cc98147ab6636532a1796f327616f25a9a89b2f042f4d482babd766c70f7a55c3a5397d415646d6a2ff4685c345f1f46993623a38c2fa5600bcfa96752161ffb65c73abef37c192b0c915927685c79478c332bf6c93470f574d1dc98055acb7366295b9d6d3b7035270ca811a43483a4d12b85516b5f29c9232d2940521e3a398db830a1d7ea2337532397e29eba01be86a46da67da566f87416cd5b0dd12bcd877ac91e430bc6cf50ad0b98d06c9117d870900c359a19b040f6bba7408597eeb05396c56a40b9cc2781a5089fa9185360987ef9c8794043decf05633c43c94c0157db39910499eb083f4b5defdc35f0c23f634e47b879f38326b3b6d3a1572f555499cd72e7ad0bc6b3566f0666ee85148c6c16cb07001c718b63d988164034cb7bb5f868f45bb76030db78655cf70ec15972a66d289f6e92c3c5ed33e49d2bde293149923c39cd39eaf20d30c312cb929438141eb7a69b73358db6faf1439c89dd3dd03cb6a5160630787ec022b082d41156e4c75562e06799bd1254c437b3831a9e079517f0c412c0ab68568ff39f29eaf80f6d40b5a9d022afc78927667bf916a56c2601cb7c8b0d971bd327d70be380eaacf8be17743e71e1a79e225469d829b313214a0622dc85b262e11584158384f7ae0026239e59882138d2f5d4cec57b6d3e5b74dcd14c1c319d9fb240e3a6b2b84fb25f87b5db0eb36557c0ed7d9f5c6ca26fcd58d0929e47129a17f23e622dab1dd6dbb3a2b5443106dde0424dd887daa570057daa710405d8019cb5ea1ce67f0efd7090c2b1fdb342eab6315ac02714e59b6ca9c10436457f55d743bf110b59a000d4bb665a130514c0f597297eb88928e00832593fe3855c4c30341a1a6c6d918704d41e13c1043278ae43fc83cf39f2aee2d100e7a7cb94d716952d97c38d6105d008a23fd68b4d61198ea99ef7699a3b760ca4aefac8bf0a0868287a56e930bca27e006073901a15b1a838511fac8608c65ab3da6c4b36abc6564283381c5c7da66b49bafa6ba55ea58e996b927fdb7a68bf001e1181a5118442105c85e0572248b359eeac1aaea2ee376bd67afa236011a22858630bf83af5ceb2771bf707c77ac93b20d88fdd2189bc8cec0f76cf841a20cdc2051330c8f46d4bdecb8b941d697ee21cb7c8354f7afbad80c85b0d5dfdfa9f97ce0bdd0c0f09f3206b37ab4cf10657fb9e06c5f773fe58b171a192b4876e36ae04a04860523761f9991ff44be63702e7d206b05e305dae6ca159c104477016cde9019b4b4ae0c813f857b42c60acfc96aa4e00897fc3a65951ef17cc5f21d8c922b37762c603f2aac5919cdfe600ad1ce1a4bd7f9980e4f7303c8a6e9bdd34dfbcda492e68b3e8a1c020c896c0454c5f77e87c451bdbe56dce828ca8a88aad2be570f71378b14222f3d35d5954ab1f47731d216692820d255a323c73686ef9d62cc84adda90ebb9cbcf1af20a1ef1c3303161e8fa41c304b7fd56652fd25d0b8f1097d24d8b9fba0ef692ad2a565ba81f1493a01a5f42b2414e9562f06b98c86d23f5e347738674f99320c71258ad63450ea14a5852bf792b5463dea602d7af9c1478317a6d1ef73a425319a5108aa4a293b3fd71a768c12fb63f87a058a86f328e78ac7dac7db7d9e3b2eca0f25b68c40e0dc9ff4a7ecbf11882f835fce58f1167f566e3418626608aeaad53de03b1747b5860b268af5ab6ec045bc0a6035471b3d981d34639c39925c87045b4902c7de83f791c17714531e9a728fe8de268290a84b0633f2f623bc683e6e838a36a3b6a1f83ac129458bf22bdb8c8a461f12dda8f282e32de1a0b0c066d0f1d75098b1eee65886d18f3a83d8c9bc0f647040ae9f2cf5aa7b55570e286082e6b64ecab8afd666602830beff771c044f3b25e24092b840fb5607578f108b44379b5febb9f58b5713b055db7aa0e2429ba9a3f99cab7ddaae763d990e0b19a5f5b7da1a5f7c961f58422e20f0128ebb4b086cfc4a4d8ff7e785a1bbdecd3cd0524f77ebca87eea1907b9d9026d7b8c4d5c0939edb01f1bbcbd52875ff0cf2a4ee758379f5c47018f5a5c42ce41be791a905c761d7a043f335ffc291c89737e060e89a53f024c0a029a5a1e8aa2c71cfcda928db91a9da26a828d9c8bdcf87c7995ca7a962b6087495f06d5051834a0403eba0fead0741cf884a10d7d6593c860ceaab1fe4e11316033bcff9a9c7830db3e7ab90a8b1a4e767dac41a60abc5730fa787ce60ef527ade3118a75f798faec0a835e404d87e617fcb06b15ba32b6619b56215a26c46e30edb37a03158822dfedf80abe54c8cbdd964a06835c070a2bc13de06f77c61ab3c61d223f6bdfc7c92768c844d922ab792f8150fd7797403a506841f4fc73516cbc688b770b6617279bfc4f3c3a9f09133286a708fb3a0af2e348a16f548fa7e359b294714a93d300bd3ac26266dece30b88aae67929788e0294a16cf4bfccbdf89f32bbe81fe7899fe5833663bc0c6a1ead482ea26079f4dd6d439ab7c39c735ddd1254fce007400c7fcbb5bf1f2ba59762655702a31d8939aa36533c2edab569b2b030ca90750ae14b0074c50f25e8bc115160494fba453025e0b90269102d29d4441d1d809be695f92c9f4822ec9a478eb9a30a0db0bd068c0e1e6691cbd233cee92dd7989318f7ce2717811043d75127760a49ee9ef83255e7dd70921677b84c8fe5307034f4b0e3eea9c2833ad0f5e40a1e1a8c8ce2c6daf53fcbb01e1ef628d8c2840a903f5555f14b074411af8eb003e80d9448ec61a76175e8adbf6f29f7396c892bbce2e74c38bb09f599dd5a03ee8a60f82e410b46fd323ebbc688e0aa1a13628c55d5eda021492a869e9213dcebed6e6169ef741c2964ed660de9fce9f3fe6b30f5e82912421d9a2cc5e93ec3b20df9446e8b3ffd6c24a0f4080f7e4bbbea6e25aa8fb377904bd32a48e531056ec822dfac1d15a21a1a1071e7c52a545ba1ae57937478cf4410167b42aec37490498bf3c7eda794e5141fd94d8967122c84211b6703fb2ae3a0d43df18ddc884833abdd8fbc9bcc99e4eedd280794baefb5fc8c842dbbdc427279649cf0ce641e738f665aa7a6d53344283531ea92e4bf79fec6e7687868133294885e95205f4d799e8ad018003922af5404b9a5f52fdfe609d968c7757da5bf4a9525f553af2ee742507c41ce3dfcff5e0254abce17b067f1618ccef6095047221e72a45d613d9126c17845e0e4947efedf757e80795b2e8875274287c084c96e46d7371821da907f8e0c5d77e8aa6b8239ea1ce4bf6637ac2ecd07465a83fc4d6c5eaa13fe762d559d7fd5f3d2f54e430b1bbbb4b5be5e38fbb83ad5089aea926cffb618f5388e231cca7c9277f4af272b006582d55daebdefcbd434937ca66e2c87d99b4c7de139f25be144c46ef404c5d205fae824e86343e51182343acad4754e83e1432d7b96f0ca0147160efe0d373021c96df77298da998b34fc817ad77e39bd801395498d92464fd10368eb9246a441ef275ab82ba9e77c26968ee85f79795527de021156d8c470e498d06a1240bac2505db0103d57d8290f7d8c50684ab6782a9c04c17f40ad4a6446179c09c254b9c90406dc00ed08dd361addf38e6ead94e5cf3abc5537000970f4d37d52e4563d720bcaeb8230dbce9ce3ad6fdddd1c0cb2c011b486af97ab8364e07e72ffb7673367ebef3cf1b87f67c6e205bffa3e54e300f418438849136acf13f1385e6a8f1ed3f4393cda179775b199322de7b247a0e6c5ddfba94d3f20843f2199e9d02c0a8ef21853f195017ec46b30c8b5571ed52cecfd98980f4c864b9f26717e804a44186db2bc1875d8bb9481883c0e4242fb588b31b8e784727ac2c7b5e1cd0a6b2ea658270291fa66153ad06502557562eb4d8c1cbbc513fb7ce5c8584bec3558ffe0ee0a8e16e00de7fd5de9042212fad0582e3ee13f89b5a5d97d535dd655c573971113d7ad4258d5e2ac2b3341645664680920ebbf1b3759d5bbd2ce3787c2c37c4c98156913da1b02f6b902983e248f22a17ca6c2f4fae1e31510a8a83fc9133054cf2c73634afb070ebda47040415069deb1de01c4302bcf8f69488a4d1b68df2091835e2809e6942f7b7699ba1e9855974ab8b6ef19ecfeee51a62e7c040aa07955f10404b2b4c8eedac3b8448daf068165d421e9c69dd0068769f108659a5ce0994fc69b6f9de3128228af6b2dabbeca52524a23d0e2da63c984a38fe11b5158813696ba98b4950d72a9f72f09942ace149edf270c14af261fe500795e9a9130dbe8ebc2dfe0d6dab9b55a7c608233b5b4687b24622bc9dfb27fb7ed7393aed83b87eccd3de4889cbc3a75914fca630fda83d14991365ad7ef0626baf7132861a7f6b055e7bb61ed8553a948bfd8810f06628bfae5344898085e0a22c3e9031b73a37cdd9c2fceb8caa5b14889932b89688b8b689c41ce1c47cd628722f234ab047b53aa666d3edf9701c345fb5b3a230266b122cc9ff88415eb274913a9783415f9979c435b1f878d6b0e086a37430c62c81d4db00f6609bd584a8213b186d2379a9c00aac98870bb80d60d6034ab1f23ee5055acffa391fb1d8758f934a036f8c6580fc1d17b287614c9cc8d9e39a4d0b6c086cf854938e3dc8ced1ac234bbb6e03255f495d7e333dec5b0e1e3362ae9a247e499840c3eebe8d1cb49e6eb24943ab266dfe5c7cc366efaac9a43ed73df2326a2433c8bc11d3812e16d884e7ec60cf14e6d0cccd7e6d0ebbc25e791ffdff65fa0fdbe1101b817118f81a82c90718d2a054f6215cdd104ee542f9e31d9290cecd8ea5ad293b270b311c23a102daf7b89212fca0d008879ead43a761f57d10031b9be5eb8551feea5fa3b7cecd5d3705b33f3d81f65c697883dd7ad6cb692697fe507974a4191db208ae83635fba41542c0075f93f75361b1310a34aa4220b671de8f75171962146248b2765f78b82951dc4f6192bc5f1196418c59de52ae62699016aa9dcb3e19fee880d0f05868d04a2ffceee6099ea57660f72bd65d3f9922f3568661a9df701c58500bd426429b71892787b73aac78af65a08937cf3308c0ee95f390cf3c9ce6c700160d42d1005e1a60a92ca7e061e51d345e5074b85382b4e2dda21c912b6e414ac3a62a1285019e331fd01a54631ec754cd365142fdd9ce00e8a679201193a87ab37fbfbbad9a552c34adc796769583697ba4833bd185f64cfd9f628a587e1b8e6373a4bed747e622743028af2ef74b889ed2476703ee25d08917f8dd4635a6f4f2e9444844309593a7c296bb6650a60c1e51eb52310b9150f66f6371bc1699ccf322c148d9357c362746295b7a6ed1dc0c29c6ce9528eed42f2849307b41c84f3cababd63f258b7a9c7a5f56a0d0b1c1b5d9f10aa18911e389f86ddb47f1c0ee90ab11e82953ec4381c1a1ee3d99db6a3692497c18bdd55b13dde951cc62b502bf24aa86940cbc19538a428c9573e07712ad207498bb27208331dcc3a3e5886330221de3b8406950836cc75d2db55adac7a8f08a55e7881f7dce44b9bff8324a5272614c904833e3b6cf89fda5d048ec482bbc648ca956871e24889c3d5ab6e31abc074a4e715646a14c381d1ad6231b3cfbf7407427ac652a87c881a185cafd95194238cd5a3df0fdbdec0f591828b6e70a76485641db86b18be0a898d9c5185193ad3fbe4ea1f20c36e287edb8990434184a608d5fbadf798a6415ca0901bc68da2d8b615842e4ceb58473e8e6736c4165fc20944ca8122d8e1a7453ec53d623a288c48170f0b55b15e6accc0f9e09bcde05ffbdd01eb1a5d3371f29c77970c2968479771630bdfc2e158010bd003b90781b7e20e6c253e11f182c1aa90607778f1f38e12dd3fda27381a77f31460c713ee742a914966fac7e35ac1a1ef07e4cb2a0b4b606e262e25a180b99498effa4a7002df8953c2306249dad1b834343857648e46e969582003e9a273e8439b828dff894956bbd4514efebe66341b3d0f7ae3f5261780fd596f38430300d8fac480d36b4482eb0075ee4e1b03e0fac772ed10c360460a144f6c4b95d0acfcbeb575edc3158765b3a7bbf19838fcb3b48c2b4c04c3fab1673dc9b00b3888f82205d9b07b9d6f4c6a01779251c969c286addeddf041ffbb19446625c6bb558fad3d252f40311062578514e46aa09aef4d98711cb31895e20b68792329e2d304bc2e016f4969e01a962507eb34cbe26b643957bbde09b1621dec7aed85e15f6a142b5227114fc7a7457532ecde9938e8866da56483aeac4de23d8b21ac91613be1075eb04f2118d6a1c9eccadcaa3f23467b4d8d2585e8998660e69c6a16e15887e1ddc148a9e56320e9f4021c8790f0e390a18fdb0a315c8df7da34da103f1081b16ef2b3f5995b142a1ff943444365d3570345bf89afef6a956deca8c65c2805d87f76a2ad142272407a6ef7005ca64294e03f163e9e7a8180196fd94a70083b255401e273188c3c9d4cbb6164eac4266ae67e6bf49e368af8a6b8ac5308845e5eb7bd71df7c3394703012bb08e20ab2df666715f1d108f961b185009b287cdaac6a85c35e66db19d4c1e0cf503cac47f5490bf159cf66c151b5c299c5fadb9c028877fd043b9643f2c482daa91ad45a01c7cfb4f895d844ee6c941ae402ef38bf4095949c6b522e7860f7bb0a08bd2d3b76ae9c897ae65966291a3539ee41de78dd8ff1223a7b95de9a9359958564b105a10a38e0260dea13b9a7814c421425950b0b09a26a6da1489fbeb0b09bfe5081164b323a14c6b011b59070ac6ee454a24870b8d9a3f0f3aa6c22ce1edaf27c5cc97ea2b1f7e480af52f3034e8a5f05db975ffe9ea64922b262ca48d70615e063718b85949797577706cfe8a9b4b57d3c2609b88be011acc4a90bd9b6a8687b953eed115f35e52879a3d423afc03c26220a4c98bc6a4d9e6c64c1184f79c3072262a2c96d5b2286521edf220f86b2e758d8f35764eb933b582c2f1b939346d7ee6472a12ecfe61231940bf15ae0002f5d561108a2f0b501b74fe06fd22bf806652ad6dd3f5d6590ad78484a6717885dad64a5eb2526648e58e11e0a81aa5d93716152ee5e7861b74725d66a799f054466a9d5cfb941ce79615c6cc5f2175d49e225bd44a9832882d83ea0544f2b1ac194e10b4b29c8d910d3e0b9d5ccdb3f4f30116482764eeb51a11e8a813ca1cf7bfab55bb2c1a7c1caca5dc2a3e0d84f637a21179849c50c776110fb8bf43d0df064bdc5c2fb47b3e1d475a17bcbb916e7335e1a640c7dccd76ff41ba0a2dc788078d7ad4d556dbb5d68479f2b885e0fe2cee607d3bb256257bfe0b537577d5b86ec8a01a28b272324428bc652afbf2c47f91856310cd790f645625a9c30712729a39c2d2cceca5aace27493d71150e1a7dd79af24171f573d1fabb8c3772dc49316ad4e56911c4b93f3fc23e25df0d7b893a99230c83599a76c92fbe28edae15fdd92e46ea38858c5a870615a67b5238f1f61748b052fc1ecd2e692f0b67a6e873d53b5e29a7f0c5b023abd1fdb051b22ea4a7b390759ef8a109caa7627a39f72d34e7ec5a22a1285a4ee2ce2eceb261efc8600f027dd469efa20b7e7436b1106e4bedf81694611aed368abd87567547641768ee3355d739a66ce2670e6b2b6eccfce8b43da823f3947cd14c2b81f2f2d16b755a474a2226e5de5338cb85a23e9a4197caf4b29b6666f779f9b1a2a69a5e9112862368aa62eef2fa428a7381de419024f16069e3e8f8990e3379f3e6f90e6979bb3aa8127a8cfddbb7191ff4a6ed886de3458218eb99521cdbd127ee3b52de74694857482aadc4b612036f7a1adf793819b0f794f130931f21cbce6fdad709367316c134641e09f56cab3c511ff3d021500e864ea38d069025aa1e22f8dabf0c21a958e626f2d73e0e471be6bf87d9af23a3ac716bdfaa3945d092355176adcc4b27f1880a1b9e9ef8daee6b6051fb798174d55fd4b7f350bb562a5654830c7e9135d9b64d52aecc7daebe953f4ece3e75b164bd1d91a19e29596e81a4551043b248dacb3e167893f2202b55dcfdd2461d9da72bd7941e516571650b384b121fc9fa3217b1df5087e8c96903346a231fb22ba82b5bc11078e4b77cae35ab9d61d40fb53f0ffa5c36f60d95930af3c215e2f7447cf4a71b033f3b6db285e89f146bc76ec83ba9d0c987f1687fd586355ca3a8b341b12024f539f16086c67a2341329ecc896a6e8198989683b268765a7aed0ddabe95d3ae0ac1b4382dd3b8dfd2fffd336d2be0dfb378d3e2bcd3d0e97880825c2a4689348086fbe7db2a49692b6e565e7aa7ebc793ede2818342a587c25236a320ff6381297d59fe0871bd4569893cb2c3650f2a9ac4a6646e0d629adf7cdeb1eb442f686091c4f811a340ca631a59ca464bbfefcc5bb4d13755f1d3f40d9ada7715098e65610854a4f94c9a1014617f426f4b0df0453aa7f89bd9f344a25ef002c5ee9172129e891747d838a8fd2517750df80a24a03fa89449e19316800147ad0f3f9a8f717a354116de84ffa23d0eee119f2cedfe17449e174db9da3fbf0de5e2356a4df977385313547efd7b5a91b0faa2431b91e27b3967f6642c2dcbf46ca5f521caae3b18e76832913a0ae30e9bfc761b9a71030700f7c5b9701834375153f23550a88a6c2507e8f409b1250b00482980ffc55dfb5bc18954b0b76d0d8e6b876dd01522d94ff0ee6309e6404fe7b5eae6b5c86ebaff6f6af425067dbae90b2967d7db800bbf8055f981c19c63a37401afdb44d548eca3bebc17a743e1719b49ac29e4489b22f8cd8fb945efefeeae76d3b89cb1936fafc6eaaaf512d611a5df60555b9de18f19cc277543e53f84b86a00f861a9141ab5f07a797f3196e7dbc683b3173ccd6e7ae9913d338a7b992c56a164e0207bbd95fefcaa0c46a1e535d65cf9155c46842e06ccd2f79b1727b57aa9972ebba5d5344eb079681afb2ba7c1fe24feb049280d1538764d7e0ad14d643990e51da32598add68a5ade0c13e3b43fa709dc7539804ed550a032b2479a06d9196dd3c5d60c9178da22edea89217588a85698719a2083e004b69be2047690e0ee84eaaa7a64a228bee07336ead661d2a44f9d34557d314cd5c47d21099faf478aec4b5de10c1a007fd9de4e954dc573b6b5b9365a5ad29219858735181d541167f98b911304afc92e700e6135b4e0635c6d1e8a63e3c86e28bad2f7cecb352c36f4091954a58fc954e6f023916f50a92cd3a660843bb5c75296c45e74aa28b8b112753cadda6624b83c3b5a9bd6814eccef4b0e6cbb061eb1c859f0d58ffebd9e56f4bc2ac9326682437098e5500eb0642732ee73c344c9dbf66da5c012b25c692e7e2420930e869bc11c3eedde7bb82a56cfd1d749cbcc752c87905b4c0b5aa8f89cce2b034db85ae89251875f978f1c6df4a6b151e5344ba2bddb0f366c5b95e173230d7b537998f4fd66f3ebfe851891a256df3eb5f75b343c095fd3ddde27d1bd89e847eb7d89c163337daa700c45e9677df9812585fc6981b6c5346c08e295314757388072d0ffd1d44ac04ff0f74a34ed22e339ae1089b33f5b1c49e551fb1fc4d4681a4e14b3f4726383bc540e2bf9885e903bd7ed2d72907060d2b444b88d74e0bd1c57100b51720dda8187c74cc6fb4e7727a8f4b9468e20f70cdccd25123f14e37e1c476b1972ce6e1e80cd0cd3f3af89c8bfa199e2bdc08bf712218476e9763713519b7247a10be61f2d07b3ed4994f2be08d678365682607cf43ad45d00f133fde93f6d906bc9518a3ffafe1e9e0689303a25c9b903b835f24f317031036c09e3bde2b1e0c581a33285ef8b86b4fdfda02b914da1816df839b794f5d07f4c88d234759db94c5251a1e23047619e6469e991a4a4bcdadb49dbb6fb311be22750773afb55b8483d9b1feb12f32f49643c5aef6b342393ad02b39ba3ccc5224c7c7a83badef7d6396faccaf65df517530d29d9b02badd1b43cb8831ebdc683dec78745d4f22270f2197e759d08740fed3b2f6f3c43b0a8f924b5ffaa11842c686158c5e5741af12e8dbb4a5860161a4fbb14cdca61080f879d95b0a44e4e3fbc5d311a48839658101be74c11faed1063622cc4e20c6ab53d669f48cc311b30b307eea2e47f870df2d2ccfe669ba222074e70b0fa3cc24ea065bab319047cff8dd3ecd5ddc46de818a78e11177c4c2fc1f6c625db7fcbfbf1349b49188b69257291410f9b192849166159c8a09384b6eeeb20f68118ea2004c86f7579f204306849e4970706b3680691201b30f2235b6032a22edd124f918addc5c2607080a94c51e82f76d620feb06c8b33a74815256e376d9374ed6073291020b11d307968def0c8822f2f75729ac7692125212c7caa34f289c58bdd51a194e1040f0495ac0bc4cbe6ddc5b345d4d6bc7447844b805c3b94a13a4a532a4cfade10e95b71280ba65f88a08b137cfd003c667ed4bc1fd23bda865ec8a3f657c3a8c37a06966bcd1327bb9165c0dad41cd8d6835de42647a8536cffd7b79461433c7461cf7af47300bedce8ad5db4ffff97bbbe186f495b90757fd81b70bef624afd186977861c924fe4854185428f5c1c4b57ef912a483e299e6ba0081c44a3c86dcd1e9fd86ea145614d58855d2d35524e854c3e19fab9410ee9844944f6c0b614320b59db295cd7ce71c71826a156b59ba671ac3f935e57295f0a21301eaa8f6666651d8ab133052865f3ce09ab011fb9ae30663121976ca546af942c278dd40cc07e49e60479403af57f461e02cf2074bb6770eefd6ff52ef48fa820f254f6f6cf18d3a8109fcc71bcf655f5fed8a2df65bdec10b53fb87480f1842040008d161fb5415ed0394c26b1080a7c037677452aef9e0fa751c0616d1636867651a8e98a971be044661069d9e889c5b9c9a105963f021b3a017beb3e1d40f29603d714e8bc9fa5f0b2daf13e0b21a228bd46080f4652e874a15f18c0c19b747ab88b95bc2772f8a5cc60278fc408db652d9c623e8344c5d3d113b68c6d7b3fed949920868b1f8c365705ee9b84c9dd6fd662961cb8677bdc86583aff078a35aa788c80872ef69a258877584d4047c554f5518d4603da33bb698905167f3a29778945399c9d2b2263b9a07bdd9e00c5d7286fdb65e963b3a471839ce6b89c306f54019f8605754013d470091e004db0edceb0d31f26e725eff7ffb5f743e0d1b32067cfcced4153aa14c993aae867dee876aefe0904fb8ec60941e8874a9253a6c91587c0b006526d92cc86daeb4aa1014efd38c28ba6b8f03f9554d286ef20942ab43fae7d7634c8069ddf30a55f79cca6a9aed3153c4ab695f4d1f8bb363f11b26e14ea8213f2aba96bcfe0c20076af7d1b3141032a01c75a9c8f6172c3bda59472d122eb271af1e11f60180a0eb70fbed7334aa34b273afc324594525a283dc5d6aed6e00be339e4991196a038f76bfe79c45a9456c33ece958fac9c3d8beb87558c9b6e945fb1fa62a05e0267165d34224d37d44a74c10f8ad94008b2c1892e9686aff8d2bd0b136bc7ebafb5008472155415cc368e19e54fd6684162ae80f4c6241efbe42f32c97ea35cb9456fcfcdc84c66d6832bafbdf242ab347274648512cdaeb8b37040d520467be97777ee7279b336135aa152d5cb2a5dfa2d65101967346955922e1b8f1cf711cd95e44dce367340be3277abea78f7d9c8e141e6814c9d810beca938ec066b1787c153b17e2373329cc60592c6527d1406a7261fa22c072eb481a6a51ac6afe67b4cf5bf06ac633b22d7110824984cc7146ce89fbab045ba684378df51176f3da9fe1a43fc2176dfc457c6a0d8f393d9361690377b00c7b14c5653ad63baa702f903b83572c49d11765420bc7f948c2f611a532eb34309f1a60fd28c63b100c43790279e568f146967a9195f9a5c4699680a2653340592a9f5524504f03302d4e26518007be440dc62a59e82bb6765dab940816a33af3c2e2898f9200b39c17867e263434bb62502f63f42a7f420ac720185313b3261e659a08e5cb586516b75a600dc2a233f282439568b7c2d2c0be66aea4585c72a14b12a607dbddaba7d622c8a4f9bc88a47efb59e8b2577e246c01f436aaf3c7845e8969ae325f69315bfa59acdacd74cdf69c5937b00877b5059fc48b7a4adcffb385e687bb76cd4350989241d32dfe4b69b9efd2a9b2ae36c198c601118bf50b1766e236b1774d2df1a7093701fb160370569a412664c103c7f3f0dd564d21b5fe5c1878cf9d41662587cbbd50bb15c149422ed720cb8d9bfe0042322bbc4cf3697a94784fd6380742c8039b1f4704e1dcb0b3680431ea32bbb3b30dc57af781ea28b2d70471b63657b0e5271a27eef7d2b4e86f603fbf597f1bf579bfdcb093529a48dea1ee4293e79e2d19279056823897efc05bf8c4bb4240dfd43b64e954b55afdf9e4a8068de1f76a8c99e0a30c9f0d08db1c17e6f08ee264053d4b8eb41c8ca3d5981fd5293b5d2ce1434830839fda392ef5742dc0d48e003fb7dfbf1ecae151bbd4c76b54240bde9b7e9dd46cd001a8026b8511e3dee0565ead02c57228900fca2bd0d84f67299b3c0483c07220322aa24232eefcd9c71b0db09300cb1bcd6ff249ee2cec2f1759591429032e73525eff91dc3a20f7bc2e5e75bbe591571b39722f1dc4fcc714fb927d301ec8014b4af51b3ebb28111b18106019276cd1a5adc2da37d290bd454a926dd10b10091540f6715c9093e9ef4fad1e77bd5876c98ae97377d5d669bd8fccaac77f8014c2c76cb3a4b8b28cc96cca1100406f4420753d0c38405d2fde951dfd19ed173bb7cd390e2a19b482a0ee602732fd41001f743ac18880407cf7259372187aa246c1ad0137c33b55be386b301f5db898ac0f40b232e401e18f32f206c5c7ee617e413e750c97ff1c5189bc65be8b7ae8be8df1c505ea9fc335a9fbb6e7fd65afc582cb7e0798d5a60ff415a26d0982d59bdc25fab5cf892506c4777fb262a100ea7f78890ae6c28ff4a0671f5941688e9750e0c046c862cd79d99334240a638602f6459b913cbb1ea67134f99a64c09933423e2b5a0f60d70e719ea083b699eb6d1d09f11e268a5e214f350d2911741cecf2c08cd0504e31c5bd74cc680696f693b9481f316bc1a4a44115732ddb59e68137c06596a08e151f993cedbd3a2fac6c235feb8374f56c3d51d03545d90830f488223e7462e24410b4b2feb5834d5e3cba6c624ec1022942b314e2586914076bd9008fbba28a2873f3ccbd9732131dead38a7b57d0b55386ad81088d5486556746f66389e5860995839fb605180ad28b3c70f45f13a8d2c35a7648792ec74ac1251dd69c4d7e8c34a96fdb5b7d64b605984df88472102b1ccdd46410afe4ad09e42392d7fc7b93eb62c585535bdeb2d93cf4b788e835019654be0e910446710ac3a98e918ac9a31dfc3fc888015032311c1eab0a94b929d206c1d7624c04019989f89990b018b80f3341456f1d052303c0360059a9580d10218cd42597700abb33135065e87f331123b06404532dbba9c6f50ac223c3a4ac5c91cbcbf063ae3fb91cd503b1288a4cc4610bb189de1ebcc4ed8bc0d31af0021851db5e2c396bd076af9b3579820f4f7e429b07df4fd8d281f06b2183dafeb00fe59cfe056ec62e43e0dd1f1fd05854a4084e306cad308ae8eb93c988ee8346a062f6962d91a18a9d58c7f3a2afc882a07057ef5080bc42e460c93ad5fe99db701321ba8b539c8f35a032b379857eabfa87444e57f3ca80a94490c527da4a06ccd9dbf602351f06af950b3b28b4121c348da3ead746fab2b9433b746ed6228f1caf9b05142d9a0f62932f40b1c5657608abb1867f3ed66a4dce224b68b1179f7dfe4f95805c8296f2fccf1210ad3448f57981856989f7e919f35d8c6004939589f8af582bf62e0b6d3a4a7852cc6bc12c4a794be02a42a6d60804e64dc57834b23108fe120ec3d5075f36bf2b64ec6bcdb11ba22f1a7249772fd3a75704388eae5d62c0885ffb7226d6c29cbf355748e8a7798cd0118d77c3dff83981b6395d846e9076a21ffc3088c8e7763a0a842866e0c2505aaea428796e17a8ea59b92824b80afa455a95ce734c896fcf36f519fd612094e78e6963ed010973d22cbc140e9cf487ba01db927667161e457137253879c44668d450ab981bfe903c6cf9049b7c509a9512c3b2237356427eb51c58035df0fcb4675241de0f1084d8e963720600603536ebfded707b8ea411c19acf22c1be9fb852c7032bd4a2fea68282a28a3d0395d231ac266b0c5f02107daf9af6221b2cd9d983ed5a9e1d142a67d9a8b3a4356b68d0e00218b5b7b00b3b66494af3e72c815a9592ec6869be6a1cd489f644e54430164bac8b2b1b8ca289d14e39e327d5a83af7d1d61e62362162a574c204f8b4cbf27d3dca8bba05223c4ed88166bed93e37cf8eb8f70ef5f331b9408ce191e3e114d2c34569ea119f79eebba5b7f8697c2596cc95302cb4fd9c9189409bb22c086c6a8d5f92149ea626f382033c9fceca5de018fd5d7315a5cb6992e3b70a9fef1cbe104b03b8e6d4412539d4004a788267ceb225a7310d32a37d9bff69a98b33b65507da5c66aa4047cc6a53ceb5b18c0f8ee35d7840647db16c56e70c3b921b5430e59e0bc54519b44dcb4deb597b66d19f8b0a0bb65f664aa150f6ed38524b68785cfa3e96450052e02ff16e801c663beb570b276c9ae8270e6926fc067fa292feafe00c92268e18efc1c0668fbed73729928447c512a2023de4c4a2d08c706e0eba259418c3c3ee8250323c2f074ccaa3422a8d9092008427eca244e819612a753f7d453abee0250ad0e7dff988b6bc0df6255c5d471f98e3de18fea9c15139caae24e8226ab9e22edc0e400147e2f18b295437911b827e32b6714871c1052f6941392891a1d1087caf2d657081a9b267ea84526e55e44f83f906d7ff572e1e6e6c145fc038572c3d3ebd760973d75b50ee46bda084445e0883790ea9a842e50d16cbdb5ab38249ec8cea69c351d0a5fe6e182f706e08573f5eeb0e05d100f884752528b13c978c3a910e6e0c5ac1cee211e53814ca0d94c116a1864452744f2029a3d860b5f2a0e84451f54ce27075bb6cb3552c811ab1a311f5b61fbd0b54f6b4bdb87c735a40027b27e39a929efc440f91cb455bd71eaa8a75206be5c6ff4b4b097b791ebeaaf08061135865a28bce9c596c1330f8add1b25ed11a240f332d8d8ea3c8f239a113c28abb01f5b27301f023ef91c1e1a066acf309cc49798c15914aa02e8aaf233ae96d8433f327649659e0e0d505b97e9c90e1f4adb56affbae7ca78493b13778bbc1a7cbab7c749373d13acef5ea67d1302bec2c06029ddf245d1eece3171a69a4a62dacac993e3ff114f37c6c694d06af64431ff6f4d077987fb91b8f138288481bd93a117145c93eac7f1c1c6d44dd67c85ddb38104244943051c34847705951547202efc3f00399c265042ad5b4df8f70b6f7aed83e9f7d6b27abfdff60460f2a2f6f2301d6acde2a66f962003ba8cfc00aa964525205a00ab570451a3beb4016ffd233602a9d31aaae2db1a06c3a1bd69dfa06aa03904152f9304527e0f3a9b0bb0e7f7538bb74021f32cd064b0da2b3b1f0ea14bbb4e1e10a03c509bc94398cf8692007abf774bf9b17d1a773919085ad09d10919beefd42bbbe4de6b4e79664d169e5ae085904f7a2420f69399d5e238abc85b14c9d4d0ed9b59df6b3a59292e516c896846d378a448b6bd04d105bf366e00afa8a8c1a4ea90586d6cfed6f4d5217233cf1c04ce54d64e9167dea89fd7e0fe315e4355bf1fe6d9da3cce0495e20e0463ec116006a80e88af01dd401632ca77115450f1600d26557112e56e7f54843ae229e3058dacea9e2ede0403fe1af83ea8574492a63850a6fd291bb640a8d90218a414899c042573e99c3624e6e04064b4b5380685716e86c4ebf5f0de2d586133d036fd6973db4fac3a642fe1cd2adbd52de7ee8b6485865914e603bb3f24afd2be0ad8897b4eb4ca5f56e6c772dae29ef7537ff64ed85f6ff07f126dac5f133309a02c682d3c6898eedb1abf6384001f4c019e9ec2c730528b65419e22014d3df146f7abac3ec834bdf3784f3bae0fb80807939eb6c38c25efa595125fc3308750fd095407be650d91a4c4676c9a4704a08914b708ac0e89b414ba4e973a3c539c99a5963ed6ba18aacd4360fd1ce60a68d677c0bf40051f9f59d5a3d2304795263b937f6828758744bbb26d8b01894c8fff2d3a74c1249ec3436b9b8b8148b0bad321c7d28b836e8becb095ef5ed132e84f79df06bb987ba777c08771c5bcec5624e63e78495f4c0b24d221e1716f6000c695320cf50623faae2f40068f51b5516d7a33859dda57f470fb0639578dd4f26c763a4604472c01faa7c40d15a4fa647152fe60b594e6d6d774582668411adb69733530bf88b62b09f0a9867b217d0d50b5d1b237d6c7a478c8eec3f6ac8652cd32d11fd35ec4d2eab3d8965ff784f594f6416a957c4c736f60e4959ec04a7fe350620037fb1b0797d0d7d39d46c2599a1c3304a699d65789db455c3a22402591b55817df18d572e1a4948562751157d97273894072f16fad5b10376156c0a3d825d373da4fc063fc8fa68bf9f400ba70a48aa5627111efe722608cdbd0f55550a308790c414b380667333bc96af0116edd768b60a5af13a06d9792dd10cea623fbd7e68cfb57eef3215c545338ceb5e317b1b81eb31c8b70b7a5c2593b212df793b8a85ac8c5b60a03dc27dba20d26466a8afda28b1af50004f0d5b44ca97fcd1e8ab801a3dc39f33377cc400b7e5c0ad90ebf6f2ca4713dc7fd1ac5918efe23c5465137ece42009a3cd8405f1fdb5756f3764f4d4ec263585187c25ca2b5af5177a924078a4d1293c9a2f86a6dabb30205d90c984c97b21e0ef97cdeb4e1e2d298cfe0ea89135d0f0a81d8520200adc99beb65a4b37ced0d8628f46374f8f08d5a601f3974f2d11640678fd95e3753cd80e41647221bb6cb9a17c2db4e7f121827e038f2d40e2ffe6e1fcf5122d81ab289365ab28ac4d9d62fabd194e77c127754d68ab9bc5c8414d15084fc28e7f958f5698620adbf2cab4766fa18ddf6b7d90d691285c396a4e44caa71660939a5f86ceac3135d0a28013c412b8f608ea92308e1830fe32b763d532f22e00b2681b395b419b0b20711292e9809f2f7fd62c6c6e37de58d3b9973b83d802abdf066054170a31d73d5fe992841808a355579f105b339103919219b89471067197384fc818048e1913c703784141d5203ca11f6c39d9b03f9c0773e4e04757b0c15183c15d0d7efdd070320df03f568d7d2611f35543a78765edbf58db1f6ea6bb1c17d0a046e7b74896fceb91635546a7a2347f6d85ab33cb32eeaba849d3964f3c15f9e91a0912accf4a141b54b0c14b710cd9be8ec004df351792110dacb08258a5a34dd842a9a5ebb103cb326012eb9a9b20ad8b8735c106d0d4aebff9ef867aa0a43bfc028c5813051305983a395edb3f3a3e591f9e132f0b27c57cac2dbf1010457fa26d92b4e11464051d3341c75ac0c5aed6335d7a9d09f9bdc964cd1e20f0466f724cec6162b43d4692957347a7c3c82bd968d986a8a74cddf4a56ac4839b38e21b13e8659cae7e7ae245a930cf53a13c5e6ac9066fee49328255ad4cd73e4100d545beed220c71ee0e52dc932237ad5d8bde0a09a3d86695058d02102f62a6f11ae9c1f48dce184c1c0adbe4e2fdc09a310732b0b9129f0856d018e3ce9512f7eb88df34f6c621bb9499d89645815342e22c938619a360cc91f45bec5e691457c28ac7714965c335b7e2b7f9caa7c086543fe32aa042aeef092bce2734924ef162c3c550d40a6624d22e544956216b520b34ed8ac95c10a56a7202f9c039d43cebbf24b83668f6991ad13473763c666fe638aa5746b3ade92390003ae0850645681a129238263bee7ab207ce3837e8e55e0533f0e9b14f42c5101545a2cf7a3f794df43cd7fafa1661bda23ca1d1385ee0e3de0031ca521f1e5f0020107b122deee3f42eda0f6656166c7fc043ef803fa0ac56962715cdead4264bcaa25a94c5216b0a171110be97e82d3c6253249d53209be01e5831a24ab526b82f69289d299db943f011a4e0421b4f4223566c4e5e2492937635b17b2f387195976a0135812621a1e2a6127216404e3caa3c0645501feda9f69b37c2f3b3826faab17330cfac88bb91c3d922e87aa6ceba985af0a47b45ed692a46641a3c80d3ef23585f335c85bd11af8b54c5ca45bbef227f30613b1249b4e7a107039fdffdbae198b9795e56947382daa6b5df3c5570596525adb54dbe524ec7638ad779a2adf5b6ea51228c7c4f56a856f7c0a5110fc213f19f592842ec415a78c75a5d29b689c70ec5c85ab940c5026371fb8fe12276ca8659388d32897fd69866f52da2d327416729f3cbd3c798cb23158002c8ee9f2f9c9e845dd16658b86ed1d7eebd1708724b2c3ab86f3a8c92713adfd9d28e98033d39f3af43aebd3e60fb57468fcd13228c560785bba10eac6af8aeb9932f4e6fa83784376787d2d75a7df92cfbb1fcabe35aafef7b1fb9044bba723e7864acfba730267f3687b35e71b86b83a2951b273d038a43bba549c21f4d5900d61474eeb2897f457821bb29f3a56dfef8b2baad522fdcd6b98bc0a5032394dde1e5ffb659dbe70cab1499b8a73de1b2a05a635b27b8917e8d4aad9b5dffc9ef7de87c374c09f93091ae4b40ff4710a3f2aa759fb73c10b2156c78d87fc818e5d565323e16080f2d0ddfdfe816a2236b158cae137bbafdf9d5d9eb86738aeb71c757b50908091458c2c79e051116ea6ff491a19651026f9709f9bc813aa5ef849ec20633dc84a6ea245b6ce94073c63a716bbdcefb605e8fa852c38cc5890a14925e152007d5dd58057d4808e7db1434067bd32266167671756adc1d9c282dd0f0f9caa43afcdf1b2d7156637421d7d37b8d2316299bf48c54d0bc9c2c84406293316b4be7c4995da972b9c3b739207fec031f00cb10ce9bd19fda3e82126b84fc45770d4aea4a9ea2e5b8d9f328d6c7be78073cef45d744b9498a1c53321a3d159b1a95e82fa0363262eb584a6b85cccf06d92da4a702393d59de4ca5c64eb1cdcbc67fdfd4d9734c338b1d645e99f5e0c1d51b923c20fc76578a135588c700ecf9adf439175e67ef2fd6498836a202adaaa67c45ff3c76f36bc4ef938bdf3356d5ce6730d4a91ae4f23c03e426b02a09aa61508dc7d00fffb7910df47c82649c35c99e7558900d7371ca2d7fbeb616d6c572f3f04cf2e79de14424c140394b9f5756dfac2a97c0c6be7adc64f20c63caabcf21f5534e84ca436d0eaaa9d31033e5dab3d8488d1835f71891a061de22a4789363e135290eaf325ca7146a15e6024e9d042ef211870ba36cfe86a7efa8ddb917071459ec280014df687356e608140297e3682a03cd34f6afe72c034aabea84b4bfe7ec140130f0e4107c5f017ab07478442a459f91c316f1c2ea69538d1e7e53f972d23dde4c30903844acaa4795d61d8267e97b89e7de5e826a1559834e46042869c2e25859598d5059744c5e14f68d945e2f1a870daac54508aa5ce06808e08b614b1c3abed64cdafdf4fb3de0c1662bdd8e0c704f679d74b51ab5b7237182a3f15372cedbfb803977f639deee1bc5e54f4d48d7e96441b7bc1f83e3d1e8bf080f39462c3f8f4d3daba7266d17f4434944d6a4a94be2e2ebd0b9f786d05503661330d6142c23a3d65a02d1ccb24cdac54dedcff3d2988bb5457587b81b0fe7a0c1f1af72d3c68373335be66a64fbdbebc4c39c8bb0d539fcfdbb2b2daa82563076b7d34b2f34203a7a47e327f33d163b2d0cc996ab39e2cebf7d16a512279e621b64a92190830f6e1debd73b8db80cacb6f9ad5bb1ac39b4c27257367410ba7b86e00c0a4342c03c716662d8fc00907fa734936d417e619b8bb2528ae0676e08ae5cbfc519da6a5753eb47f17c8c3331c47304882f6fd8c7449a1a58695ed7b76eae6af6620ed2f4edd1d2029b4380504ceb9e8fce008edc9a80d6a3594dcb033bd3c3556916b5ac3ebbd09a4cbc3d9dd33d2f90c61c7c6da9319808526cd27f57af06dbca37be50f0ffc5dcb091d37afa740e3890dd2bc383196aae7f4a7e586ff61b3086f7525091234d154a9bf3e11be646e6791e1fe18f1490cc135b3cc936073a5feef5f8bcf64ea57483963778e73074796090460d2f940bf9683659b77cef36dc11e8c6a8a9b65b31848075b1d1286179452a5624519b498a3e44d1988f3470c64a56b5048796ca60d4af2fbc909610ff1dbe4ce9685482c8c6f06e50055fb803bd76ffb3a312989af0daad452d3a6727a564994779660bfd89ba04d41515105575a6ec64d5cc768809613a0533e3f3cbdfc9af751f0573433aa708941a98770c7d8a6344707c7f60b624905fcea3b6123fa5129002bc5da3d16fd95729792520b15ca843d3e6c81b994d567f9945506c51f560280f0441c54d4080996aa8f5da132c471a5bbac945a95f1b981fef3751afbd2d350e829641a8795bc285d2e827ef9a59f640238e371f84d8ab5078ebda21d277c9c4a893fdf7dd68eefb0d6b89d707e86d370c2210a13741139c6401ec9094c6f8f040fa894a715023c7b4763e27c4f19d01604913c7e0c0e2f7692ecd8da2a3565caa17eda049de14daf2c335d13d244d32287c456acec4da6a0c4b8b5a962ec83e0a67bf0b62079d14e792fc7176b82ede1ab59c3bb3dbc8efeaff0a2c4836689744deb08e36e59a6a1389752cb6c6a46691b31d0230b0d1fb0883e41288eaa75716c69ae0badfa52880a139b982eb406ea666704054a44447f4d8612b0095ae9b456171c77cd9071bd217fb3a2f8fc1cdfdf3d92b42bb08022e218771680e28282e834b222eaa167b1c9cfa08af2f82ec733dd254b4cda1a312cc140de141680d476504d023802afac733e327039ecb549b90c240a3ec6872000bebd4f1d916a073e750ade7e687301de9d380516afc6f97419522915c4a28f519a29dece8eae64b86403f957f3a7106102d6de2f7aae2b813afe834809739eaed4a5c1f17293736a95d632319867488c4a9a3d47c0c0d77403110093ded50a81942a8a1f2afe80e4aff6f1661957df23bb23abfd6766c983ea403f3c06d1a347d9bdcec9fd3812824a26c8e7b75fcaec1c00d1472d5d77110bb9df017295a612641a6c133a2a81ea4b9afc5730d3a5cf7817f8e34ec3eddb5e116c6088e59b2dc6fb4077a49db240660dd8665622ab2a132f6f32652af2dadb57b0052188d9f5e7adbfb64dedee29264cc513baba48ed283ed10525eeb1cd0893e683fa1b0719896e77a497d513be79caae79a52b72dc22f3d7a41848e1483f11272db7787491d36a9f59e4df35fcbc97320f611111cfbb15880f3015d750cfa40d8148a6237702610ea26cd16ae910090376b01addacb63c6a0431eab1bf29cdaba0cec5a5961ad9c29792bfa503978a23f984fc95c7331109a6492a4b1e29ddd6031fd105a2e93f0575c7941feedda25ff12e328f150f9438e22269b3b3db012807c73e975e06481923a3b546697ef61aae924350115083318b106689353b2765591537d6b0e3f378909c16e43866cd6f0b40bc076e4fff2b3435ce209c28e449c6a810b8e53744e576921da4ed5363f376f025fe976811af57841870eb2697f3227ebf1bae26c9b0410f293060e76dffafe28e23a09ee1b8e60231fce6612c46e47094d178153072330fdf33156f7a0d26e72599005954fd19d72785e840f0b743e4a3b05d1a370c346f5f2e05dcbaaebcb82e8046c77a3368c3fe1c7b38c38f4fed8a8c7044ce92c53aeb08eb37cf95e1fc27e6c2620689554197e03e91cea5791619297d893050a7294ed59ec4cdf08e95b00924185d429c114650d8d1aacc4bd9be35925436f95752ee06beb7144412066a8678f6c8f66d3a8ab4d0c3bda5043a93afcca59360b0bdc54287a185192f87baeda6bb9ea1ac63b38f7701f8a342240ea209b0396ca7305d789ed1e1a3959364da3e26d20f945b845ad170861c37370749eaccf63615b7133c71e3f285c52f815fca8df44075874cd2be231e8b027bfe05fd53a9f8385f64a36d075bade09391ccc4606fcff71b2ee2da0c379b01cac6d098c2c136c1e427ce50c8b12d83c4aec7071ade12170c24fbb3ba46fdaae6144d1b25a3ea732e8f5029f223e8eea1894de11ae4330532a1ca661517973ecb53cb584b185749bbd78467a09d220a4e9a752d7c904f3b791109437057f9b2d9ba55bbf52de57a139bb66c30a2bfae2d03fc44aac95267eb99e009b5858f665f3c690b2e4d2a0e4fada639dc2ee254daa4ece8a1eebb4773eeb34ae8fb70dd4510a8b4efbb6045bb0e09f148b8a08e82346038ce4436f8133db85d621376849f88bc518b992a6aea6b8aad7f745a9ab9814c85ee29614bf4535de790a859567624c18cf4a9cf773b07b7ca0a718e8b18013248936d6a78d1efff3f8f22f84a8b6c2195a32b12f0308a5d3c647d63edbed474a2a4e908bf6fd2d9f982dfda02b64f7ac94aebe5b44c356a82ec697b2fea7e0a7069498afadb6179022015deffe69c9c0622c69c767c48a1cc30c68f48dbdc38ab3399cd67963e0cb7d41509f944ff953247339d1b030df43b6f60c7ec7a3599ae34d82f990e2ae336e7cef1b51c82bd02e0825961b9bf274e657e094e2e2a09e98a3702a85c9ca049d45166c004aee2a98699b884620a7d5435675f03c501d575662cc528746739ff6268a9d864e8ec56c4f59320675457d8a8eb61d72b84647756ef82b12eeed98eae7128e0080f9ee01699e4f4368d5bb3a6e5f5b123130a35de552166abc99aab82f04aad5dce5de98a61a52a03b2b643c5144625c98160c0048ee23fb830c60513119b1ce88a07f26f6bf71c48d8a8075287d0c94346505601424b2817e6df18ddc3b3e212ed2830521befe8fa6a9bf25313d011b8b056a892e566b04b1896093a9c91dd6d3250695cc05e8e6701bd39c05b72cdbac6b2432879ef161879821531a8b9771dc403f6526ac922ef6309f99adbf59b00172d5b66f80532d98de1a462e1e2c6b7751bf582f075dda7b8617462bcf0e4737981804ce3f185e7d8e26d2156340fef83d310636a17ca00b5efdc928ad9064ea6e0ae50258e76a8d0a8b89873a08cb2be49ad49f3879f0288dafdda4615e94acd77957507061398023bc3934bc7adaac5da9c638378b5cceca01c4a04b1daea104c9804cd929738677b490723a724653d75cc2f2fb382302391f70ca04105067642f73ef81ab47cd8e1c6a26e2be7b11da0a0dd3e4230f3d037cc469734c1dfe651a5547f7164d055efbdd718dad4c74a4c46786892aa116df835a8ab31e2ff8ef19e967c850d9db346d881528c370f24a458ececde81cb3f8af53b1894c275e8823addd2b9e2d30389bf1a1e53cbc64e120b00b4df21add60da660e5f26736b75bafc10d6bfd831979c19e616d22d6e30835a13a9fa643ad733db8c04c7be7e326c2413af47c99369335ec2b8d54726e7e03b7dce602b397f16f735e3d1e3eff25b8eba4586a3115449fc5238e20fe79a73953cdb6e072112f82ebc35f78da6112c30f69c00edb81a7b38f9c4fa31aab82679ec55261dee59f83b9e869c9aacfcaaa8a5e8354a6f7bbb5e4eaf92944755d476a0bce0dee0100ea7196b393c63b4a9f78230f236de9ba256a163b45a3338738fe9ae01d05247e43ae02c6bc0784ff6b075a5c00a18e69a215044074fd093b6fc896d259be61ab9d7d91bc7e99829a453a770a68da765fd366f9a3e6d56deaa6ab64ce9b92d886a177b0fec7f1166a61fa01f86431f6ccf6d6d25301eff1b4d088ba6ebf1f8d7170e4c7a25e4179318abb2c95f051b6a100ef7ad54c70cd532493630e28400f258f76f08e721060d5bccf72eb405fc8591846bbe878b8456fe9b9351158173c9af5dbb4c01d18a1ca11884b19a0935ae81b8337531c182d460380d70720dd345b1eeb060fa4e491880d701ef8406de6c97dcf173b41b2cfc4298d6b6c5fa6a53ef96c3620da840064050a6e59d8f7610f8aa231079db147a20799d3e6e069a2e8d9be8d83e91f73402b809d3082cbab4b5ad5431cdc5cb00a4f5ab65fea22d931f0a52c3b9f6871e4eae4b8707869d5aed75e91313ee527a39aca3f11be127671134fa448acc618786eac1abb761823dcb284bde0eff1e074fd1312480b84dc101a5b0477b9a4cd0b0dda50153995d2a4ffea1948e994ba6bf8bf9b39a480531e6f1485e4dceda325d413593084a807db41f30b38566adefffea4ef14c20779ac18b557bfe4da747a30e7028f3cf2f7d96608cd2f6c81385ddc901f2f53cacb677eadae5a54106c7f14c4013725f65c79763689781a28cfb14f1ad53fb65c4e51910cdbc877c4ab505506b75e74f83b3ddf0ccc91ba13a26fa6696e8597ba13009c68267056cdd0199e2a431e98c4d381bbdf99b75fcd37a235cf5deb6bee30d022af70fd260c12c6570235cc6ed92319ea782f3339f2c2f05e7175c32aa3943400082be7c29162220671ea4a32cb97e0f81575d97acae167ba67c12f68189421ed1affca065079948eee751451e0c11c429003d3b0d1a0a76b308abc7ff0c56fd0884aae725dc9e1b08fd822fba8b36fa3dcc247bc3e9e352d4cce813443b273d8084ca3e94d0e00943c93fcdaf0b96089ec39da798c586a6922e9fc3556c71e8b26f04c5a02da4f49817c27609d0d53162b055b3951fd102cb55d57ab41a35da921c7f42adbc4d6e21ec2e8f14c8e76e15d33c4f714b788e5e76152babc5a7c596d32028802ece27fc50e602e5974896348dea0d05a84810e619b3aa133c486e93f49c0764894a8fbc8909c38eabfeac30a16302a90f35540f906a411017f9b30bae8b9247e0ac939197d5fbcf88831fd894994e04c575b316a1a961051e7bfb21f9d66884474662533203da24f21cde0799a6eb33fb549e0727b88154768ab32b162fd36cf479b6a98f927c09b6cd3df82d7c68968f64fc7b950fe31501ecfc0aa9d7f7a880dd1c708d56ccbda83e1cc417bdf7901e3456e16fe72673d65b46e7a5f2e46ee243b1484f2ede4851561005d214e5b895484edfa53ad55148a867fab0c876f5d444ac0f75734243a62f850c3bf98fd048a2182d841961c45820c0d41023046d73d43be18ad4839914bd031544370e401b3229815664df24905f9c7fe05a964f2037ba0520c587c6f92582f435ced6421a07b0e361333ab716786fa6da9041657a57455cafe117a7c44de8fe8ff7a3de32586d32d53593a68c3a9f988e4eca6de64d87ce891dc41d1f208c46455b376f743ee78d1ca9c328bd368682ce77184fa7c4ae16a2d24fcdf36328983087eeef634f3ac3eaf59074ac69879eff4b15dc90de48f51067a3dbc800d7306db4ec09b5785d06958b34c84692cc5cfe9e4a38e48377f3d4006c308ceb5bdc643a1d9dc56475cfcb88360a0c6ec9143f0bd48911921ab97d22f1f3690961dce8504ffc9a1a154dddc7a189d9d3d8e880f3a1f809cfa28831b83f0266caabd655b654445463c4e46ff4257a090ebfd33c8435028f69195c52f883a0ae2d5f4efa97de5bdd8cf9a5d6e2d20e55fdbf8f5895085a04e8d9635d548f2cfca0217714ec9d78dd92b40dc9b854015ac6a637b0ed1ce919ac093e041fe4e917b01b327fccbe8f37eb70f40f3fa4ac526fb623e5b6cfa857d3af7267019d6d1eb2f2b9306769b6c4b6c34c2a3869725c3854b987e2e37a60923ca07240b73f00a129b083a8046d17da9d1eb7166ada2a684272d41b25d0ba41894ee3fe60ceb9625867ee92659d5c83554f2bf0623fc0ef8989d3d3f8749fc691f3079feb2e7034107764532e4e89aea4500fb5b3bdcb81c952fe69003199db343b284d82a82a821db1f6c2c92516752e6a5a3902e0221c81eb9f3fe1050c889a6b4d049dce980725e689c9e1d9df0596d95c2686ecc0194f448a920dc7d4028ad77bcb7da0acdb33f21f6738f83025d809bfc04558a92f8dd71c7e978ba8cb4e81dd8a51ff8bdc55809002ea672935df8c8b0d52b0e6419a8fbd43bda18deeb6ed4d4a2b1065d3934ef527af0364b58805e2a04fd31c4b3b86feb9d875fa44a7714a54321f59ac020e466780dec53bfd4db337102946521b2ad18a42ac0daa21f7a131c02d3be95c8dc945bb45246b5728164846562e9a767d6efe15afeab413e841ef741250e53d805810b7ea61427fec587e010ebc1866bcf9b8af9311e237c148cb223a390e3170b21d5b4563654b98816f6802f5c032bf24df737f987884df581c13bdb365866bc8885549d59b6bd1726a0b92dada3fd5014417199c5ddd339186b267806a5a874d6889f81795564ebd4fcd569114fd2c42950c61c09c635eaba66496a8d9351783203b380a76429fcc31621b027a7c4a9fdb5be7444b683efa224deafe30456ae753457367d0e0e82216f4091af79dae6d06bb4ac6b3262168dc18443e8db90304391b1bbc9a74b5a0b96394509bead76a147806a180d55c34a08e7cacefce95ed1f22bed5d2787c71568cc9121eb386adf3819ccb84141a76ca69fc9e92c842700be2574c8cc14264396b6dfc59d4101b35a7c9c2e1a7b41206fb9699e8b51d02f02d0190b380b305cff2d0ab6e0579aa342fb39615678b7eebc5ba02c712dafe615ec44a8d48cb0fe6d61c321307043d86b6e0e2f35ba95c7e5dbf7410327b7b74921509ce57348b273a97662123eb11402f9feb89d158898129db0a9beb005e1380b1b190c36f4cc1e290ff599749d585071eb70df008ae53389a2872849f58dba2bdbd98cde404bf3a7417f3008f3d211d49c8a504a543317fcfc55f3eb9d0f0ff3f321daf990d4c7ba7f43730b5293dd51b9448dc99b926994e379e0e0d46b0e8a80b1012d42636eceb48d9ba0c654b0d87220db90f5c07b9342ff88f49ebaec22dac322b4f555eb269aa534f9423dd78d3a2f3a1d53780a2423f3ec270adb00153cc6a76c7b18f01b55647c47651dd96e824e9ee9d8130ccc6319832282e0a5859b3a554a6082588e25a4ef39e4ef8a0b44d0b7876630cef08d10267e714915840361200e122c989b0ecdf334a86e60a506f8c23b91ecd8945a1ff96a469ff9e899f27fef26de4da304dc38efde2769805d09f8e31d2ebc036c17035d209ba2b14eb2fc316f4a3e4298ffd9ca392b681cc8291e4c23db4562eaea63e6f58faf68755feb57828fa22cb065385f03da199f167bff720458793233e5c0404848abeb1fe20d7f0c1427867a8c51bb28ab75827d3fb92b281c22e9559e74f19d486026023a1b123bbfa39751efc771b65d16cd623876ae47c6faf69251964eeb62faf436ebb3772c3423f25844a02781c6beee1cb994768648b512c696af1b654b322e9b846dc1857ad91f4966be113bff43ae5ccdd987eecae56d2cc7cb4bb18545aee4a9c1cde5b9280a7dea07d267677d4953c8d16d2a460558199b73f64957d790a6f9315dc747e61a77bb4309158aa0824e3ea0c662e834d8c97cc339471186833d52f134bc3efd892e32642b6ed164d4fa3ccd6ccfd3f30de914d20c79039e765d12c3950aec67c808a663aec83783cd9429342cbf47ba97051cc8f10aab082da0491ec9d198a1874b35587bf222c06830c9f443375295b172d1891ac925a3a9c2ca191c108331e719e926fdd7d5a423b2920bbe5b1846886bf208fcf6d5fa9d97e868083c1d463861f2197c9595fce98ed0bce45ad2b7756a72ab3303f0d49cd45c5553099168d87a9f82e507b56ae53a5b88b0216c5f3e25578ba3bdf658a37cacf1101284dcc235e9587490b208f6dcb7627773a93e3f27f88f73c16b0d46ef05b816405a8b0073f15b4b2d66d27bdb504702b26544ca5ab5d342b9d29dcf0b023bdf91f8adb057c51f1cbcd961fc612d2d09fe6d7812fe3301cb848a1b2909e6f3fc269554bdb397ee5f2cb295d2d5538a2d26e510bcdefa1e74f33f0c671a4678129b877395d6409024daa44fefc0ddef3a2a5a05e8515220214e3357df78cc82e242e593e1729c4196aa720f1049eaa1fe67625fc3049379bcf559bef7143cacdfd31e3f33ab04595920d36913034aa719d473bcd9568baa5c68abb9248648454bd44e136238e723eb525d63accf5101cdf9166ac6d99fa7c671b3898eebb14e35a2b6b8955c691d7e28bc79d4d2386576d904dddb9f4b18f77bfb49f2f2790a4c9091919515cd6e9e25520d5fcd2456987d5011289ba47769808dbd38f935d76383fba1d14578ebf84863e275d3bbf9d60ef30bd3b3722ed9f17c342d47724306b2094b16ca2c7dc9a17dc71d536f8a41ce7250c18d5a48bc0d1eb9f87e745b19970044070ba5df87bcc515cc906ca7ccb32b975e0f31e0d0eb101e35baa0c498c2bc018458cb566a735cacb49ed37becd59d344cbb20edfe57a96f57c995ec921a2349c44b0c399106b98ee1d04eb11d903215121ea8d3a499bf612ad2fd75b31d2e42c5fc1a4d14645a91e887363f4c71749271fc1d3b1d890539c45b67f2fc0f0c519e13914a7bce0d59871185a485d301627c0f4ea48576000cf4e0adecbc940357d7f32093943a83eb19bc39358343fa05107c17f699a928ce3b7550dfc90c2e3cb8e4d313f889204eedc773d6d9f4da77c5a540213cc44e222ec62dae467de05c6681f1a42b82862746002bd834a52144fdebc99e34f7d181313cf5cf5362434572985cc3047c4a4424575c24561e0a8381fe57e47a1aa2068e98284a56d7df5d030b4991cc5be0cd913295503feaa6839feda975a051130b0e159fa2e6e9e9738145ed6c2a3524e9885b9873144bff03b57b509aa662fe087e198a652a64fc8c2aab1d0318ca11c8fea315d65a838c0eb9e0ec5a66b392cf6b09198d20e0e90338f50fc91abd54d15107c69d745995659a1143b6b4815b4d944963f69aee998172e65a89888802ddfb95bac104a0b2a5346a2bf7cfaa244cc10d48d05f3160c38e2fe868a69f9906509f20bf3738526e6c0a0ed22e1d0efba77c2a22027782ac742e7d13497f04c573e1e8002f2478b8fc1f5037cb2dc43e689c2b55e5dcc72b4d82eda4bb196a30f583568768446efd6029329dbfbf5013239b1f691b9ae66127fa2ac06f08314e1c15a77d220d085297527349e3247bd329fa38f30b863633df9d04fbee02e1205277440228c3d13191aa9428552798a60ddf115d72f48655e9764349d7c975c65d5e0c8ed37f70a0359318c5ec19c6b7b1dc3e53c264ad1d25f9a938782fa907d87dcc131fec56d2ea115c89a01d4c989f4ebc8641d662323609d16b54fd19c2d95b34a80896547b558c38dc37ca9202fa7dfaa9b9a446eeae4a654fa48befcbdf634c9ad47b0ebb6ea8ab56c4f04ca3472508878b53fdb08788126ee954f1a686560768b325d2dc42052e10c4849bf6e04c0e7e2015f28bb4845cede944909536cfb029814bdcf589785090494cec2586061425d4787b2d8cb9cc771a1ae86342db9c661e02390b1b20fbe12b42b6a484e942268bdeca46c4aadcbfcf9f2f4a6db106391c0a79945a460fc048d4ead1d9b6bcfb12e2c0006d7a1bd301900432a598cbcdeea19fe79d77231edb04af185aa506605ee56f8446d84e2c90cede4403014a376882ce52b8103421e5bffa8c582bed14d77a4951b7e5d734d64c557d3cf1c8e6b6d2322f1cbb9ebd112d2ee2af0be36e2910263d46ea05e221cfcb382d93b6f83593c76b2a8aaed16bdc47b8a115878161d202983ce3246788549e6012f5a59c93a5c390343213557c48a90490b28e20ddf8c1519a03ff2e4226f64567d3600df7059eaa165e5f1d78096a008ae035c112a0b0e0b9430bb2afd891bedce8ac40adb994584a77541d64286f4f09be0e782862fb080bd670e0f484ee6f31bc08c9a750e70e174c9dace659cfcdfda83c02d7c8c1c488c89c3f60fe99a24dc093c01ce4ca35542537c0c3a6ce81895a7ec31c8b0a8676192b7cf7200c246b58d0eda67c814c3448dc9e9b097f23a8bdf56dee68e74ee7e6d8c9aae6ed11d49fa69dd0df728690c31a1cff36a119189a42901de01ae3bd53f8688e2e67a8185fc7073f54f38f6044e860a5029a61f3612553dda1c113000e509d50b08a6aa714815ac4c8c3b480872bd35144e112f9f05a44b781e3673574349897a09bf58190382c5487f95edd5f16e61f089e3795a3a18459912382c73e39ed95754250dd2311a6d2dad1b197f4446a67c6f18862de2ec5a501dd63f353dd8e081dd44246f8d92cc87415aa41beef9220a33e94610b5306fdcbb229ff65b32acc5ed38bc657af886fdef68c12b25d3cc9859ec579a49f0e97dd48e367bfb382cc90587c34067276ed8c4c4439976696533e70e038adbab84918fd5cccad1ece527e6915c33a471e8388321e8ae71480789c1c0f3d9a0cd00e48498b2232a122d486cb872dbca1d367386db4aae9e4418112a66be5a2b547e68a952c789383c90cc62075d947824c4484d3bd6a21b1826e22003cd585570d61dede6b1382a22a63046bea0e4456f06131be66fb8bc03213edef19ae619cc7c79ef7a8ad605e2a1d4408090032a168628e469f7db09e3fabfab2028888cce2349083179a67afb578d04838739277666724111291d22327a0c4783ae24c031cf9989a34322366b00e40436f876a5e0104c65bad3346487c58b08abee75733ea1c4af0a835de7f3e68a1f25bc5f427fccdf2ab50ecbbed01ea4ae25157822c75cb4dbf054d87c9b6c053b81aec17c2c9d290ff5dab4e70f5d4f003276572533cf323c0ec6d76d5fa4617d45d88cfd7be1ed50fa57e30791a38f3c823d56022de876580448a5927347a45f436432aa9150c2a8dccb89178c503b3f33d67648c1c6a25a62d7815985e7d95f2624a06699c9ee4b0483ac36b0211dad391e02f39c388c69162c650971249b41fad2dd099e478807de8e24a44d094052390a03ecc0d92dcaf7f1698ec14d31c600352036de4390ac8eb2556f66e396c51ad04817aac51ccfe9c205767748e1f6419d3f8693ab3f5ab95d6e5f38a8f65c422e959719a233e970488b407747f3318301342f364b78cb17f173634cdd50217fdcec44dedd9c59df6b649ccbdd5397a4e780074576a5050022aff5f92b72d1bb1e3bf4140b3f1611b66ed1b3bd22d1d2771ba4e38496c1fdd15b61ba3b5a93be1057136ed46db2b0b296e30303c15b525fc69858154637bd0ea7201f8c446b8b4928f443c200bc05fc327b3775258593b18015e30a6532c94f4e22187430649d83ca5eaa29aa055ae22bdf63c977eab1acc3efedafb90459f19cac1b65d333ccc94c70334e5f433aad45ca8bbd9d1e4e3742bc32ca6b89b80aadcf7ad5a4907595d763f1109c7b2e6030c43ed0d51f8be3139ffa62290d795c1cdbe8c0b2a430870d3f323d5772517ee924611c257e399cf3455bc55e91b21d91de2196632ea0c96cd492f9dd0539eb6a9f67e1e9d66c6b948a871ebbeee7894e16c9ceb9434d70f82ba5025348c385b2550a16e7ed73710eab9f30a9d01da784df03c366b1e7faccefa25a51e4eb07f5fcbad5e324af94abc698a25838634e4651295c8d24bffcbbb7bf88573badf9125016380c57c0211fa9994d1263381d06d180ad6d786f8ff2ce82e484e2af1961516751e635872f9adf588bd1d4e4da4a28d9ffea7fbe4403690d2feb423d02e030a06a7c244eaf027d0751dc9e0828ce64b2ca85dd2eedc327bdfa69387d022964e0d5d9e42f4a32c80e0f750cf3dfd0f986ed22b68938548b4e73cc3a7f96d19d19fc3a86a3e9a0f4a817c7c185bc14472ff29a564c22ee91256f433752de6de0a762be4ff3d265e29ce8dc4520ce85213a62aefce439fdfeaf5591d5157592a87462e5189b434415e05c7c2b13fbb8004d0b5c7afcd05fd76c5415ca13ba4318881ec55205c370f9c08bdc76050643c4b95bccc4d4cc9c34fc8157577b2ab0cc51212e9fc198ed01520c11806642fdd850d92f0d0525db928f181e9377a8e70f96cc73590f89e33730742b031119daf19ab83c7849893c4de363c28ef5c710509bdeb249a4ec7a493eb6592e1d25177f3bd1db5230344f432aed00d888a14922911c00d86e90069ff58a0fc57ea350cdfeaf297d45ff4493b65834ccb83a14d05020d9058ec79020c93c0d924120d54dad7d13711b228302598fa24784f79a36e9d197f2d7202c1701061121943bf9ca9190c4ae2d780eab2e8b6f0ad0082638be45c5dbea63cc55c6e9d90a4d690002d11f9010118ae9b1f21f6916c8d2f388453c86ff75c2b584986cb8145ae66be54e73800f9482c4cb679905562cd9d3f3be86a255b491cd412b64d4c9546e737d529178d0c705c145ddd1edbe45ef83a23e63ca56401223f49023e6d40675a93daf702d2acbd7cd227259ca662a8f0ca846304bbf0f5f8fb47263bf26a04a9d80c4cfb7326a61b79b9c9ce49c7ca2efc1a6fd394115d261f1ef50225fdad024d5f2f9c65623753ad9235721a8282bbcddb8347890bd54f8bc25c2fb4988e91d6454a0302e490cc249027609d2a13857c7e6604427b95dffc748b28644d4e7969c6a936eb6bba2164a870aed25bc2fff61480be1c1fdbe0d3dffc46d7c19ff8710a93c6d6bb0d8421447e3bd97f65aa267d8005fd54a8288b856da91ef00ece4378b2be6c930bf6a020cca98b6908fc569f8b032d40659faa62d5829cd4c0fb79c297abbef3dc8cad88c88ab4b65da07e7274c7a85a495e289742aee06e83393712e0419d38e472bfffe226c05dcd7607bc19830598ae7085bf999cfb55b86b98fa613fc7d1e93d8f7a63c25d6bd0e1069096fd647446b1042c82ee9cf4044b776138189ef54d4051efc046bf65209079148a29cbe56cc4f27c05212cddb661186293af3fac8883698c39befd90848ab9c51bc05e3221f60d9e68feab6841f1a015314596fd8f37e6041eb9c7cc46e2a223d22486a6e370129bdad69c9b4b4c95dfa1078885b533bfdc639b33168813c33395e1568351c428ed99940296e63f285a6d00a5207d0db01a0c2357ce4e086484205f501b3caf613ad3aee4322a1c31738a87e113405ac4ace872c8c414e9de5fce90d2c187a85ac63d2220eb94928582d484293a455b1390817c4ab196cb82d7ec98adb9c56c7eb464942b864c7d3414248920582055a2088b105828f313629136192a10b04733e37b91682f251da0bc630b3734ee47137d5c70d20cf4fbbe0cd0c622f64fc4b390de3e0a14e6dad5b834758e4d27f225d742bd1d8a1a1c9fdd0ac8ae4d71e149179d269aaf3de9d8b2612910f4cef3a9e0ddc77c025c5054441edf26805d34f5c5a832bad86b8a42edfbb9969b804b717d8e2bc4c7d8bc1eebc0b96d348911ef5705f7f57f2ecdda02feca4b0246102b9d50a4fc31ec3ab5e31ac18f8d556a2a53762331e802688f079e57e3fb51f025edb52bec1f2d65783e78e751d9dbff96cbfa95a55f92a2d440040da69bd734642fe6ac2ff851c9842fd541ce5a53b240a9fd3a8c469960193e8f10c28f79c412b5a9be2411c1891b9a648e246f1a137c1e397e563c48e35162a83d1ae7bb41be922311a7d8a07470132ba93891073becd235ce16ebf70b924be31391a79f51e77a025bbb8cf03f547aa33ea822dc593f836e804d81d296f16db18ed643b00535005ee7866eb94a9232caef46738a4ebc2683e7cab4ff31ffa39486a080e3ae5d91ebebd95762ffcf498a574c4430112c2369d3f9302aba8554324e989d7abb0028cba0691c104a6ace0a0229c8b7e9d44173a30d49a4b13cefb8d8222e00a0a3f9e11e4d272eecfa2c528261234a5e0e55a47718d5f701cb085b7ec7308ab6da5cb5ea4cd5a827abd113de670936600ecf10a5d5f5b30596ed0d3779b744216665f02b3e63b5e2943013202f12898081adf165a46351f127e624325be2420501a1df4ff978a3508bb7a20403cc8fbaac19a832fd1ad7c69b5f28109eafc92830136cec0015684a046c8c1411c4a12457b823f307aa22ff73164a6a37e21c217610ef4c2708708e0aecdae1a8bf7092872344fbd1762ab70359ecec167134143317487162df2299813fba3366d085089aa10f345d9b49eddf71079b8201fa57ecfcf4e8a1772c9bc5a9edaade558479bac0435da555990457a872f85f91994f0d89817292863f8b063d3eed4507105bcc6cedfb190e11f2a0b5b2760a117b72c410f994f8b821977155b4fd3fe71a5fc7a219045d4a20928020bcacf85d0550bf47b6f6c6cfd588f0591282953eae708e4e8c8a765f08b2bc0aac161376db144e77531c3875fd2d5a17edd3b71565e1bd01c31296e110d71f192f5e599e5a5a64224c9774c82942ab140c46dd8df14a1a886669a83816b09022bf384404402b7475255b90ce976681e91175d3f8341bcec0ec12c5c19ec1924c7e2fc1fe884be5d5635500122c1564e1a0fa1ee174137a8d08870a72fba5992cf8e1c578b610a5a77d8416359b38a351a4cdbf9dd81443cc195cb74a7c98b1a8d57e567f24a81f0b9dae4d5e85ae5cdea538e7260fd7212e30dfebd77fb247804a7699a335f3578a81bf3ed140885b95181c5d4af218783f176e7bfea734d01714e515cb7c6e0347535fc57c1fb802d8ed32cf674cb47f0ff4c9e3d612a94839228d2fb21e6fad5467cb0bde36134d2add82002ad23063b4e33bbe34d04e31a239857aa4668662cb1947b7a8d36b26f6728c4afda0c76d77ae7b647197d47986dcf5e8bfe5a96bc6c2bf1c8c60dfe3a8386ea29383be0eb809fbf0b29d811a0d37def8c1596b09bbdae5521c48907cbfca792dad8296e0d092868fde09fe7199088cc882ad0c72648df67fd2c2b05da44d122e8476fa6c27741091279855fdd1c9b7fc4a3244c7832ff23c6e2ae8ab0ed1b0b91398cac034a8786825b3054324e078e1ccc48c2d8cbe7ad820c4e001377e91b33b8108570bfcc2ef74d6621abbf05e3f664ba9a56a38e4110e49e3ae3f41d7c0600c084c7c71e01f17bdb8057f21a32006e907759c8761918d00bea4d7637b9a59432a5143508d1071608ed6a211993527a0ff038644319a3236edbee4627ca576228d1380e44a7e2c7dee9febc06c60144e3708fd1b4ae65e93c157af8c47c7243b10073f28f07e6b39ff7a57f419dbcaf59dfc794735e05fcb78f86befe3582b06133310293a022203192c41835557cce880da7ecc2bc24c09c88df44d9fb17637e8495b4988aaf2e52fa7b15f028495847d14b9dba3b11ff7196b3fc6e1be8a0e7ad50b35e175b93b2bb47b12feca761c8a5df5dbb6f284289b0f8a269c28631165fb168b248d8d0590d83c1c00de54a14f58ed7c03dc60d3fb8f13b19ef01346ad470923b0d12cf269e8555db17d6febed0d4fd6d25768dba45227a251993727b1993b2b99a4424152945d6a68f9cc92c37bedc288d1a246a7220ba96a577e8d3afa7308ef8b1a3e854fc2c979a480d85ec01b078c38699a458ef4b0f4629373e0d3360eda9d0c3c7fb3e9a23d0986143a772630cbaf1fde36fb9e1cc8c339975129a1cd876b51019367456ec896cd64da9b33eb20230bd1d3eba94524a014072548bc135a7ae714dfc8e8619b601400280a7c20c80b7827b8d75c4601c5945cdda48c30ceb376c14a9517de7f61d0a240e66433945c65867e6c69732d6e12129060fc921f090951b9f26cb5ce2380d9b5258a76b93f8b388e3f81639a34559f31b96b288e3bd29893d12642262a78fec72e3d36461c316baf293a62dacf7f528e1f1bef43dde07c654bf67da62618ef09b183aeb4653171b46ea45a057abdb5fbb56c0ee02f61d582707970766f54eb71a0737f1aa81fc82bb6030ce1a47fc88858b1bb9a8891bb5bc5eaeafb8267e94e2608cb2f8a61f58f9618cdd38d4adde61ef863e64237467c2a9f84f2a14301993312a6332266332b6a12cd7f4d316aa9c934009f7b175e576c3efd8840dbbd5b5f9e237dbd32fbdf4b0a04de1af22078a7e22ff070c40bc566bfb73ee9b61de51d7de04badf3852cf902c77c43b21eeeb9615b66788aa54230676def055187d3d6a8c61c36e4d545f4119c1e24a29e5336921ae943ff4ac593c6b96b430cc7ed0b2d4b670972bbf34bfd8d2a2ca58138f1bd80d92013a15b9672f6efcd0e6828ca3817645923fea22e0f28729c40fbfcb5c3ad55c5a06377efd7c308ef83f9c6a772e17868a619cae712a7eed5abd7a77b333317bc9371bf75d3b7a107094df2eb6979a2549b2d6fa8e1a5df69b7addeb2092dcd057404d65b2b0f1dbe39cd8b06bb572d13660c78d8f06f0cd8941138f2045b017666efc9e271fa6205e1481e00d9b1c392f662861c3aeddde090970f9bff8ac339f1fc53af169f886043a186f1ac0607cd2c7c3746f340e520baeeafcb46d37a2d04ae23875d685c88d32163ad00d4b6143919a143630b9a1fb4a8a1a82b60a0127755bb7a158355123e9ded14bce14861d3cb1e0aaee790a28accb533031bb0de09b24377e0fd1a9f8fd0383f11ba871b86f6eec235ad56bf5fa2ea46a17ebf88ddfa1b8f85308ae896f031b7251edfe8cb68fdfabb9baf2a1609c12e7dfef23e294be86a20affc29e72e3775f5bb9f11bc6bd6cd85deb5aadc614860250bae637f18ccb7da7326a08ba28d0413aab17a0891adf417fdacdddb1e482abe867698861c3f8a779e2e9a1bf7d5c82a14013430ef21da2b22cad44316a069c85c80ccb2faa5cd365a2275dac8c2bee5718573eb0615cc12edf18138a0c93d2556d5c855bad35fa8938743502ba72d412baf24da8d78a2b7f885a8f6e890d695774e5d355f46f257f660636a4ad2b3fa4add1e528883872c3b88aadbc96244277bfbc3664f62f57958d2bc860a227615cf936aeb051be0d2b9e78116b2c3a3e0176e317cecb976f7f617cbedf45d8905f43d850fe449afc8155ff36a285b03d8b3664965fd79f54b93ddabed004dae44c57114ed381154bba4c44450f5550f103061539502954aca2146143f4248a0d161cc50d3b6872a4480b0ca0481fdc602bba843125025314112d41bbf332d1142c0f30e1c2c512d6cac91146e460a78c3b44714959c40d738a5872438e2971439631951b9fc100e2c6f8a627e38c298cecc0882cba50c5e7117186f8f8a0882ab41710be90818a888a0db784cb445a8031c616831a24a1031722443d10b1ea2a3ea19523b048e15283183318228846113268b56a9895f183103470d2450fc0d8e1c8103c30215df105a6afd66467ac8d6206958d488b29b48062031b3aa51ce2a22551c50e8656ab2954348825332f2e3da2a294ce39679d929b7851c112510573ce3955c0c412190e2e1d1ebc11c3d8a8cc2ebd4c14042438173cfb932a32633821a5dc6403994183911366f8d0644a29a56c8e42b655410204e5163729896084a03b5b43445c8ec0a5d68325b2856b72b1c50f5b18a951b4f062230a42972d7878820a0670b1001c384a8da8e80633d801a66a1b2b99b21463cec995884b0e88a22c21e282031947883984262270f14413a022ac009d41833ae59cd28a2e7cc6e0828cc72289b808e386fca237642844548ae2db502eb2e0220a9428e5cc8931c6ed2bc7182353fadbe4496594b339ca9d40909f10ec17c9d0f45db1f2862d830c34982efd12c4335697867ae9cb5082adcb6a7567a897fe0ca64bbbd63b7dbdc62fda6005334612dfae2e12d6abe237e329fff61bd426f2aad2b6bbbb9b9b6bf87b3959e2e4c8255d26721283a8c34ce4a4862230a90d41e90ac6e8e601a52ce881871fe85647a3ba512fe856eb46af5c412985b2d5ba5123b0fc504a9fa05b1d8dea46a7d0ad8e4675a353e85647a3ba511a18218ade6add68105634a56de4250994ee40290e94522528a55d48bfa1c5848195596c464c234c1f929002bb364d88d0b9cb4d6e9bec9e242b93f83946eed3a1a371f86470be448d189caca39a70e7875e0977eaa00c4e8e860de50ccef779821b211047353421e67238dbc6fe851ab8f1bb63497eed01deb703d5c347cdbe5e97713e674a15deab22367e905e7110ff9ef6e99d76c046cae23fb5c88bf8cd7c9715e02b5c14a4566b4da65814c4c11b0ee6c871b0fd55c2d2d151b8fe3dd4501ca716f126e21eb9bb6beda0b080441c6babd87e18d6f99898188eeb9d51f5c2ce1854dcba469d4ad0b78190de49cd7a2979df750c6d9b2689edefd41ff3f1dba2fac2dcfe6a84f92c135b4bfddc65af65e8fb218147946e3e77059c5fe76f3e218833b0f39bc5ceac08d32432ba7a8594df71472f21f94ef273689592d37c1efaaa937c21dbf3bbfc4ef363a19f3ecf0b51223f1efeed85f4d317a2247e3cdbc742e8676202c5297f4f01a680d97fbfb7c0ef0f469c95151d9fd0cda44b8a1d4bf91c731c27b967e92e7bf48efc7ad538e6cf6fc106ae99ffedc086bdfa816f7e000cce1f8131c53afdb3be94fc4dc037b3bbd123e2d8f803062031f80de9e793608620ac437fda0707f0f3ff69d4f8982fb40ff385d554c3c654a9846f25c435f365b644541f413550b7501dd445fac7c1b98aa96f55e7cf3985ac0ff6db81951fdf55b1e8680938e05aed934c39261a4b629cf9c2d2588204d9fdd2c61ab121bf7cc8763b56afd82b56ada977e233097a277ece928175eae73b747187867a2bef601defca7756acd55a93e9dfca98941dabd9906b324aece57e13738c658c45bf58704a7e95fa852d2309fc2694ab5c468bedfa713db05830ce8eae72657fd1615cd9655cd94978c59494bf43fecb93be10b4df7de1c3d4984f4a67792cb8aaf4f9502b8cb1162bd65a65fdeed8de176b2f417432923a77140f9ff169ecde3e6e546574eaeeee3cffe3e75e6a6d5964246d59baf628279d739670e726a5b421eb9c91de19236ab49a2d63c442b75a378a9291b4619994ba9c4c79638eb1e5578e917661c82869777777532f2495524a39259d5ecc2a92dec04a777794725691f30656b2747c4294942778617290d800a1d168d45bc12ffd519cde3349e6f2dbf019130cefc0d0389c643b140962707006187a27048cc37fd485633a22e01a7f396f38e8efc549dd06070890898a81a2480084562b47ff870bc27635d56ef742844cb489e20631b186d84159781d2568a623fae27609b85dc7d911110bee4867a6ab208ac235a170e2ce97383056b6d8c1193e3146258ec0b220820dd56ed71b170b13ea41929c38e3074fc4ae3cf16043fb543461c4952fab0bae74620b5395b962c35a7d74b849c058a0434c063ac88a44d1c4c10eb7c90f442e124244508a2062ef114531655a49c1e2aad02962424ea61861e36522275ccc20d8ed32911321cc266c7799c849968d075bba4ce4a40c2956f232511417964e86135697e9ea32eac4ef97afc7272c7fc3bc7fc7fc468acc370c1ac7c6d8dda4d2cbdbe7a672fd63befe691c30b09f134b5c7f91beb08fc8e1beb087b8fea32fb4a95fd83ce81c5c7ff9854d838ed59841b3ba44840de5ed9741de908b2e8e17798f9f2caccb1f57974ff098964d6849bee872692e13d17eee162ad7c665222d5ce8a907c9465f7992ffddf7785fbf0556997abc1fa27a9b98fa4bbfbefd165855bf1e9bd0be7c683355ac2a3d7d96df23a6a80c2db08ac7d7b323a64efe5decc443fafaa46fe53de9eba76404aa0b54db7d3dadaa21bfe6779adff704811ede77eab1fd8987f4db937efb56b9c702ab48df4994bf56abdb3573c75209e2f5d66a7549a8068a29daac2b6cc8f2474c5112441ceee907e900ebd0607ff48e7f48ecd3f700e3f8e400aabc679954f669af18c03261d1117218977ec7a15a4542f50faa590ed2d157efedfb87cdeae1e343fad2fb74fff243541ecaf35ebe67bf9e97af5f3da58f761d8a84729de47b3f44d523bbe7217df7ded7d33f3145bf873e2ba628d71f0cd7488e29f9ace86aaf5c74df3c463fe9cfcf842796547ff49d620ff7f1f3d13fbfeb5027fed289bff443543df3b9efc43cdc77cfdf755ffa7aba0f8ca939bb8fa9f946ec0a7c6580e19afefa1fdf43913a14d72675a8130fe9bb27f9c7bd628d36fa759f3698ad5ba7ca0486de82ddfa8ce2983ad11fa28aac13fd7af878118d2d84b86108f503308565d5c7547d9ed173f547fe15bd7fa7d1897e360ed6cf89a91ada5b44b1b021c3222ba6ea773fd8d08b6e5581d64f04b3d5adacdb441cae551ccaa2386e6f8262f99e7af8f8f7c3dcbea7f9f9704ffa7c46df7d3b628a43753f4495c3fde879b81ffdfcd1c8c6d4f63d1c53dcc771886a886a84ea51636a9b31622dd7cc87e19af9a9f9f4846d0e698f5f74cc444bc0aebf0dc791aa789d5195e5114c6e48ba3e74c399db828e4f08e7ecc6efbabba9c46d2ef1679b74db681d5222beb2348e2d0b1327c45783f15b894ec52dc6da95883154a3bc8e96c58632d6b0ee9947f19b1035bb0ee392b00e83000d7dc37ec9625b56ff8f2f8e50fc467aed4141d4bd86a01b3fda4bfbd0ad06a285286c0a472330ce2ce229d699619d168bc17108d14a92171cd16106d570632c524209b15f7a0f557a2130ef3d0dcbf285f97a9484113840973b828944880f18d68c0ae6ed7f67c07c1f1096f19559e4f2953ba5700deae40ff3b634e9d6420dc4f635ad8580689c56e2a339123e24af90314a297520a6308e28d8fb6904c6892cb9e4054974b8311ea9e14620960fb594226348b0a153d9a68cc92b7ca877e6d7adc621af689c5662fbbcdbe6dcb837df5a06452bbe7a8a0b75abe3cb24c5c6bcf7e15cc2c496eba45ae774d69cbf91a4b78277bd860d96a3894a50f558609547b9f19d0997c12eaf5c948c954165159cf2ed0bb3a23b2b9a4da1c5ba15aef119d74461fd861188460716c5386ee57da6c5c668b1d3ad8c2290153664590c5ce3ef837558707373439659805348219542a168686060a214fdc20f1f45b0618ee702e9e3e8428d29a709b22e93996eec21fe10653ea64c2693f9a074e4346a3f2e29509af07919157111116a027464341a8d46a31183b1c57e8049b65632aca7c228461b2593a989f8a2e4a9306a9737403008334e20fdcfa9a3fbcbc9914ff4e075c306ca31b2b1b94ea9042a0f9850121c5077bcb6ad7bc1872cc88a87d58384aab13e6bc462b1582c16c781376c72e4e8d80103c66c03da362014f848bf827aa8a3086d0c04d4a91b18f4476dd57deb1bf8863905064dfe464c05b8405ce318e00df005f80c0f300ef7340ec712440f18f4efe99dfe210206d75f4800ad603eac15d08a7bb88b05d8f30104f4f29b0d0808080808a8d619298a9f86c5bac8474ad7a234adbbc86418d7ff87fc51a5ec1ae2aad6b84ea383b5615b998263bf1fdcf7e2388ee3b82f1c32db5b010cdeb161238cd721844b059582b9f7d1fb7714bd138575b637ddeeda3ddf6016d6b02eb4b7eb6036be23d9b8dddf8ef4c1605dc75ce38d43724d258137fca7731830563367ee0032830374f88c39730661e59c73ce9993a36307eb4c86a27e39395ce39f33515e8e8c11eb1fb6479933dd3d272787d21a54818e54aeb5d6ba8277abe3782494896b220f36e4d894f499a33d3c7ff958e0947f694af5ac0ce1ba7c53ed3e16c732b1582cd66804deb0c991a323c6f928d66a7992861de9574b713569b55e3b468cd346b85b236b6374af72c7ebc5c174c0383b62ca59c78f245144ab958505670d1978035650750e11689fc6e12ff301110c02350e7f2438e534f0691893c1448bd531223fac960fd3683edfad56c3fc666bb55aad56ab56ef0531996cc62a726545a58b88d0b65099cc9b94524a630db2f28695668b6ec16cc82f1a2adf55af6953697f13160f80803b6084087849e3e0668196ebdfd1b056d6e90f83412c0c3a4c8b47e14b567d0459b3fce54332d92cbdb483757a0ad7f8771662c888d05c5c9751931836fcff97c9a84c2693c964dbe66de9d9e63f1ed459585ee4fad6ddce39fc4892942bd88a070fd6f1664d631dfecdc712b1cddabe5e11c1f6808586fcdd07be9948f846ce68a325726002b23fa6efb43d5ffab2fa5314c97b16a5581e534a1e2edb376498690bcbfde83bf5e0fed402ab62eae4c2f728095d08c0122d950d0bf079a952107388a9463f82998b64f409019ffb4c31e5318798aa7beebf33ba9c9c985a80cf4b1563af5ebdd350bc32580b832d6b1cde47e05416d7592cb8c17fb8c63b0673707ed8b05584d2bdaaa13f7a98cd66b3d98c6b7acc6088da45699402f11bbf281c9921860e2aa2dcdd3d8c2d91ba0f088cdd68a41a40b0ec203be8d329a594765caa251b70c4d18fd69f0a3be4a8fe4603522b8f7cb445d784845cb22b4b6249605486780a09cd663f7ef6b31f11e77ff6b3e79a1ab7d6eac4c6dcf03fa688e521b78762ffc083dee9b8f7d14ba1395ba885e6e6a9c0fd56c3899d1f3e6abb5dd83e60d24ef71d04df70efdf44f0cde86bede47a936a38717adbabff23e2bcbc9350fd03aa79d038bc5dbdc4c197af874adfeb6726343f9e8d48cf3a7e61a8f8c1994c0e70ca7f5473fcc7161bb610ff405f006fa2b130ed4142429525d7e4a8750e8384613cfcc651e091c01593c9d4249bde71d6f5e762c33a3e4d11c7c65bc1bb365c53e38636b5da48cabd82009f64927362250c0683c178cc5983306313b37cd3f3e039c1064701a5c9bbb2f36ef7fa258a9d0675fddd84c49aae9ba4bb9b4c73caa6387033f78ae56a4244c8a7b5e467ae563636d57a5d8d336cff96578d336cb7a5c583759c9b737eed0f19c663091bf6aa09ebc47bf3c3c1fee9011ea2acdea13bf480759cd21c5ce3ef810430e8ef850d7b15815e5d4983bd61af76fa936106eb5f0c4442c038fc690783835e1356ead289c6a05d37e1ba376b45a4e5a5c5865bbb72c35e12e9c99b2071431d77caec46828803038a74d953e1878358ece9ef8957f70481baba2bccfb489e081beeaa3fb0e72a7aaf1c74f0c64b1210850b438e1b4c252772c71863edefef54869da1fbcba1554a5660c28660044110044129416e14bce634bf72fd65337304c18e891908fe5b5b6b50cbdd55aa1e2983a2242c51a5c0758044a5e414011178d10aacd55a93e91f046d9ad437ec95338cc7027019a9006f788e4b81266254b04e3f40faf45a7095c35460fb69822c4c7e1536fc39b9db9e9cbcc15080099ac3b4d88ee2318781a009535801dc9897c96198ad8263ac43afc7fc6b084356aebba65c990f73463f82d408b2a71e24921f71ffcd47efdf6270d7a0989ab82ff124d774575fcce729bdccf3bc7cccc3c4f4cfcc7c0fe94bf8d2c7a05e62defb7abc8ff91ed2cb7c8d384294f0c4fccc0b9181f9d297f01df333a7f9b1507a99f751e299f998ef81f9127cbc7cccd7637f460605f33128fb1206c52a89e2de32901bd28fc174b9ef500ee31a997b916ff12c5f78174ff93b1431e889b8bf63b1610389c1297f235c77f7baf6b2a1c31ce635bf915f2b0ce63087396c4e1939afe1447762a65f6d8e0366401d267abbbe6c3f7bcd6d9d78e3849cde19cd6e4f059898b5a96e6bbdc1353639a86c454f94a2707590640e4bf929a59452135fffca3a1eb3fefcf3f213b128973dce89f5a73146ff6da33d84bf362edab6202ba1253ede039484b5791c718270515154cd04616737bb86113b1384ddb66dfbea60f7f7cee8f27b90dede014112f0d4651c0da8012908e9bb77ee5dd2377247fd9449de876ce507d7f857d40c413c94ab7ae51cd089f4f58c8e40441625d42305b5d2e60eaf5694b921bf5aad5a85e086386ee845db0265d6449605c60d0db50f9d3bc7711cd73eb45e4c92c91318edbe1e6a190af8669ea06f601c0ed23b1dd43fbd02395d3cd362a8453b22d41a6ae5449e9c0ed5b76e235a2fd00a52c3826a2a18f4afa8266220c4e0a0c5ea8536543f488b2b2ae246cf39b143dcd0d0500e8f14bf43435d07de40d9f4e09afe89e2f13103d796c9b6dab695df380a3ede5ae23f1bd788f311a787c0119c345f7916bf093909bdf271d6ca41266c0f619d15f8e6703e56359f01833c30e8455e0333ae0bf9e02b9a2b4b8de6206d55b7d56aabbd5ab9d0ca57bef295af7c45e5f57ac16a5da2d0a0ccb6c4a8c8d74b26f3c1dcbd2ebdf4db4a4ff12e8a3e2c3beb78ad26bc3c614f2cb84ade86714d10767e68aa11646b4b28fd0a4d501af672b9b8af3fbf175f9ed1ef70faf57b7aead31e253cdd8fbe67fb4ef249a9591b7d3d74fb93fc7848df0624a6bc130bf4b77781feb6bd10eefb58e5c2f6a34f48fd7c7c27f9f5a8b25f4da4a9c771fa8aa7fc9f70ca9fa5488902e5b2cc5f3afc95c35f374cfd6a369293c33afd44018cd34b74ca7f4aec07504471dd5f2ffcf0f132994c261f5ce3ff7ac9d7ab5ffd7abd6e488771c16cf603c84f500c30ac8ad4b8cbec477de1d907f8070cace3482063c68159adbdfc306961439302724c5098aa30e5cc7eb066b3d96cf6038b18a33c41d61a6395a26eb35e945f59371ca4942cf9a5eceed9f2c6d6438c314629b92d9146a3d16840a4a45f74d287148336a374169bc1603f78c17e30045bc2e5b5b0eaa0966afb13103568ee1171b6efef8604797a788a1f15fdad0aed125501e29e13530ea03b82f0e1864c6b1e562c7b2a704ad8906572ce564744cbe51a9a656922eb585fe99794a4186304ea1e18c88a10c7f50fc12536208e889302a7fceb9376b9a4cbe572b5ab5d736e44f3e5378ec2a4cdd9dc3263936bb516e45aad3599fe41d0c6268c363620f86f32755758aefb810de5cf73cdde4e92d1e2b8be56c886f3a505add5647a5a679e90ad98df4897835258472ef936d41cbac23aab843bb46db7080976beba58f654307179f98df7c4225021428b2a05d1072a54345836d268eb82cb9057692b95d16861c3f99aaf28475f08de70bea2cc41a7d930caaecc6f461fab8dad28340a82e560338bdf40c1f3c53a365847cabcc9ca1d9a536615b388b28a461d49b66ab5d664fa0741d9fa1dbe452b38710aa75ae6840d658b8665dbc2fca93f9e978739f1d82fe1ed97f0b2255b769485f5ff53bfedefc402ccbf3c0fccbf7cffcbd7a3a4ad090fd34fa3bb2874a232322f324311e7449d4e10a414347d310a097935b0f2b90fe7c7bc0b2f3f43a2a4efc442cc9bde8599a7f984bcfccc9b3e214a785e3ee659454b6fa3747a174c6fe31362dff4a7cff4424cc889297f1350313ff3a7d20f51515a4cf99f4a5f0f1f5a1453fe43547416531e801aac8cce268cabe9fde32ce2d0bc773d7c645431aca2f94c33288ea9099baf215819a338e8271662bec6f3c47c8daf4709fd1e9998a71f8fccd3f87a5e3e99df114b086d454900268647166174c9976cc9232e85fc86befc914b866491aed237c235720818481ef40e32076dc38874c35e3d143a5c7943b78111fac916122bb3b2dbf395c52af6249fe78b6b606e385f9d8476f65238e47a100f094557148a42718b288bb2c82516217ad163d228b1db3b8b7592609df68aba79e9c038f3490aa9140a45430303335facf9a2f335a14cd8accd2e8e937acd282d2a3eb7ccade632c98db24906d7f86f5f17f570d07bfb99f799cce80bffa5058d33f34dd88bb39c25f33b88f96e00f3599701016e285b2f5fedba6c751e89de1ef31553910a0d908db328eba146829d1c11652ba6867a27ca945c294434b1e00904061da87178c4995a380dae4f9a5432bb9042f3e5b346e487e5a0b3644bb6642bcaa411f98314423291adf99a34bfd9e66bbee66bbe6a2d0df13cc70d9a99654ecb8dca1a2ab0f1c38f71a3dbf795abc99c9c9c9c9c9c39a92cc618494458bf9dbb47ce49ac52ce166cdbb691483130f6a5e491623a18ce8e5e6ac99b94524af22c4ce9c58e5e4a1e47eab6add69a330a42cba0a2f691b6460868453437d8f02fd36ee4d70ea601a1d168b439b5c46228aca81449a9b9cf2ccb2816fb8971878f46a3d1a8b3dd022591ebdf11a9918375fd884d58ae05967bea755f6832f5caa2e4b6790ff0ee88d48d5020d7903eb0c6ccca8fdec9081bf68abe47a0455047710ee19e43c27a55b7a19074dfadeeeb25b2dbf5637bb0823bc3daf643829536ac8071dad53bdd026a1ea2fccfce986cccee78814a8bcee85e9a5b07accb7efd0577c160ff348ec6628b92682d43b1d5ca87b58a6d6f472ed7c8d6ef582c168bbdf042efb0c038fa81402516e338aee9c1e3838617b58db66593c9b678b9dedad53ba4c6e14ff24824d212aef17f4171280fd54d6a3a13848d3f44925e503a3c2747efa48000920dd750b161af4a1f322cb4f1de71e01d920a5887f475115c03dfb410aee7bef601d7f8c7eb7deddac1862d6b576fc0e5dd9e6b0319e09d765da077bae78a6afe7ce586eb793457abe23eab4190b18e37258ba6c23adcbbbebb96f5aad4b29695569c2be2b4ac573297ccb56299ac57a596b5acb422797fa3f46ddb966e944a1ea9e372e4d43c3711b983a32a6cd82e55cb41a12b2d941cf958f64c562c43d1f109dcec17852230bc408469bc6546a0a7014204b26104722107bd8b6adbd19c79c2862c0b23905012d60142f988816bbce6607c62c43fb6222c328942c41faed838f48a40b1557aa019f77561d933d56ce842b78b6ab5df175b11280275afc58e4835b4584f8e4627c42007c2c2f68d3d8c64fd001bb74733cb31e523a69cf645ffa6a28ea8942dd72535ebd40c00000000000315000020100a864342c1683822e9b1661f14000a738a447c5c381908b31c877120839051c420030831004400068668480094e8cb1ebdebfa3d80828302e1d0fe70fdc8d28d218e5589837146fc045c97ca2810553e1048ff1a74486e4bdea3596aab312752b68db93ae7d89494c0aad8ae3905d89ac99aaa0ece99bb3eba18da8853413f0b415776114019d92eca3291c1dd2ea20df2a490598eb1aad1ba7e7c2e8adbaee82521c58814086977bb0eb53e23c5ed7e992d222815b655c0754595f2f4c2af339b4a02dce820ed0704034a1a946c244620a441f143526e8a6d2819bb9c32e6beb6988c36383b0dcb61b6dadf5e9a2ec80e68ef1b870490337ba22708b9e31cf4813f480325f8eff2f77431edc7f70737e239df23f2a8af16adb9e0db703881cdf62c4dcdfd24019c52d81cfa3b0e288de660a563682f96395602292b6e30a2e4f96e9f62fd21f5248e1bb8e36b40efe29fba3861897456d07342b1d760c9e25131fa9589cef272ace6b819105dc42d47607d927c984ccad8286a4e3213fe8210217266e03884396788d32f4a4c76387759dcdb94775b5e95d0275138903c784d987b03d03e938a998d45bc62f561d374a81d7e7c8341c02de3cc7486d50dba81977742c23c712e807f880e67ee0510fbc6993b680f3b51cedcc8edcdf13d350176f850c7254bfef17bf24b15d12f52eb8ed9187cfd19455d1c0b0544f4e9495273090804d483fefd8f21ab444ce873a64870b654bd2bf22963a08586356b2666a25e98205e386dbe3f6a75e650546726f52de20b077050a475f7f3501c07c24e030a4097b8397fd19790c372a13eea6a8670c08d962d44e358420ac0cb4d542e1f3bf883e51aa465ed89f91f84dcb286df35a5216bff2f0cc183e041055635547a9dad9d2f4c7632430737445824385ba436a8a51f7e982d7ee05bfd2ae95d06a34c68a94671a66d83f7a1d86de3811e86b37cc009fcd47d80081f1e20136f70c491f55f7bf2b8cb98b184a6ff1243ccb64ebdfa22ffe43af581053124e764d11200d66313ff5981a047a9a86f482b3e1d470504e9b874bc73f3b23dbce7b15889d2079acb41d4c2f57adde802d601d5155d16abcd538c2d4ba1c5666c1bd256e0833ea1a559a04e990f06b6539ee5b5d5583f119f3728f59e3b2d7cc5fb965100b5dc155ab0cc2098c393e694ac902d59d82fe415ed319d025bd40deb329c3c1ddb650bf696191b0dbf68ae1f6419f1a6129b9e7450682c9d28ca7f2b2896d5d2e29edd4a7e847bced291a43be1d21315604a7ed8c2d3da4e9cfeb4b75843c2bfa92f97a6e807f061d72ea148d34d710d975f9a1c045c00fb68dacb451be282df509aba98031595bbd95f807642c8010a7a8f1d3647f05e4399d41277995d38abaf543f3a364489e503c8972e80eef7ca00fda29956e64df81315790943ff4120d0e9b4e10cc7fac871cef113091e14b8f9c520cb9c82e9a08ac8a359fd92cb39c8565163bafa2d65e045a7aa527dd1b292b26f73cc8eea52a674ed50cd50b3c259017bf788ed3f1b6ac6d945ea7726b92516cfd7703ef090dc6370f3c1fc5340979c0f7a421881ad03ffc1f65753bd5e236bc8b99e57e608cedcdf6094686ad4d0c0ebc9272adedc68ab9179c1ae45d043fb96cd225bc10e71ad72ec92323d36cbce9a6ad363e1f7c9e64fa1cdaacb9e2dc9f43a2f4f137f80e5b4d7a2f3434eecbffa3c9cdbd749ba997f7af71740f15bafc3d05f8a8f7d5114cf9f9edb671bccd5bdabd6a8bf989b11b492f1e727229702164fa5a093a8039c5002d6a18f631b9859d254bbadbb8421a24401518b009141e0355ccb9e00857c5e620ef2b1bd24d39a8372902bbf6218c0db8f57621d84342faf04a40543e1c6b9f79a725ae4b892a1ffc046db1b871c0266b22fc90b07a01e55a8b917b8f17a1b83ec19915332a94736832d5bd2e717015cde8e2835d4222fdf403edb102bcc173f633e75dc47e5e065eddaf74f22e16d02c0d3014a9457d36087f5d3634862dc985636a908e7b5ea630077b835e1dc8182be52a0ab58cf55e3a78d558391c34700f8993c44f5e1ecc31aa0e5accac448d4e6c5dd6832119bbd748f9e5836687ad01e00fcea688ed02aaa17e6da6e2a1f1b0ca5871b8605984130e321e4052edc88b64bf91f9ea7cff03c934587d8c05eeab1b0348135a7655bef9e193e2f0ce2cf0012c57c1b5a9942087cff8cddd959e9afe429820c6bdf9a731d3b8912c8db729a45b2f38dce295d51303190249ef5628a37f6962466a8f1080e0b5d0d390c9b3bd18f8920a8e544197f02ace537e48d9b9e419ea6dff762bb9b28d332869463b365284b1042cbb6ff83b05278f3c489073ad8699b5e738ceb43faf4530b4468d4e4dc4c90686298de81053b7a4e1c3084051ff64014d41ab6c205122aa1776423c01ef13f7ba994773670cd33dbef7ed73cf49b18fa917a88b938d110599531e8ed31eb853ff29ddfb8341559770973a5ff1908f1dffb3c72d17499be19d6668688075fd2519ab2c2e04a8aa7320b819747e089941c826b46b94f6450673678310bac4a8aef97de368a70ab12b4f75bc1c2f1eec8ad21bdad82f9e7154d558da74929d121f45e37994283712456452037485214541fff1c24a14aa18365975157a2bbe77ffe73956ea8b1a1295f3a62c750798954a063df469886734be8335597bb9586383a2bcd7eb5446cad1fd71afdf3acebe98c8a23827cec7bf6e5a339d211cfe0c8d1dd088e34ecf3a487fc439573891bcbd65a966e80630987dcbc0ef6ae65e1f4ca5a46c2fff9a22054e8593978291f83e1938a7cb2e3db28dd738a609cd5e02446ecb6655509475abd794695853d7f3862fa29a1f967466f6d022c8e1f9a6d7b43c7144948e8d663582586eb7fa1cfc26318593e033a474af9c1a1906e937c179e43d3f72efa34d1d0fe48a86cf8ad912b0947f23a5e396e2408b00398d305b360070d545878e9e4ba4cfd3f6ff3f0bbaddb5e187a920de3f5acf9b9fba5539ff1b4149f172db46e6ce8fc7f9e0c9eb85cad6e9958c1e0a45fc5ed0243da543713e081b2ef1a346be706a4f88eed72dc70121d52d22f28a617a90dd4803a7419a4d437d4050dca34b89530290d86620a186457eea959882c1c65f5c13e3cd63ec0e7f7105102b453dfd61cb7d30bbe33a498f1367eaf5b17c8b8317aefe24c79f17433eaa724ae09a4bc2af80dae86917b2d8408fc1a5c8f61e723318517fb37d193e2ec8906ede6624f2cf270fe481cd791f5ed34a9700bd9926b8a3779cb6248011f2d6bb815f29f381775bb1b90becd7764e1ce8524f5cbe4d2e857e9937bbbca694028dfcb20fe7553b7c3bca04d44808856ccf8ff5a4fee1012cc0ec601641a6830b9ce0f84d24f84f86c4aa73abd525f7d9b64db379962d92fd8478446afd32e4d7ad523b2488865827e1cb426ac699c7d858dcaf8f6a5df7e238db6f088203a4440173d6d01f63e77b94f1959fd8f0194b5aa418ba6dbe8bc67359f2a687395b4487502b7a22f3ba27f4fb706c852c12fa35b5bc2725e775cceca58851d2110e1be61083b8af60b916839bc66660cf5d35f515c0b0219e2cd33e326a66dabcc83742af9ded7b9f079db0ffc93bf7d8382d939754b0d25616884ab2017b15decd08d86857f8b41a002d0c86e79cf13a71168b1b408e93796375be9ad77a25b3810afa041924274013800fe7ea621f6b739f3ed2a475fb20a3a01111f3501ef220ce1ea094c7a0d932322dcc5f2e4f0e735caa4e29ae15231b1640165ba5a04216402f36febb4a9dcaa14ae0f14754635560377f91ba16cfba30e340a334110c1dc0c6b771dec6a569cdc85944a3fe11c03a83ae0bc73afc22a4f55a37dc7c5c11c8a2e88faff9611ddfc3711563272cd55f8bcd0dff7d5f7613d8deeb7de0c2233536b81c9d405f1909f4ef38230b376567f7e516edb9a00af788dc867aaf614506ae7e52ba86e9ad5304aef7471222d7ea3662c393ff89ef1448ef9ef55d9408cac2facd5ffda9193b75ec813c44d05bf013112a51de0f745be9de55f54dd7d2c52856c62506a38d39d4d768b54f8c8bb3d67cf8b0978c9b7d20b771516f7e74f446528aecae7b41a50f95455ba3044ca645027da78972117a89d054ab05a90aa5c44cd5fc524e6efc1ef2b47c804a410c17489028ecde471c6bdcd40754285e76120d4c6c7be1267c54dd7e360c08d88d58ea30af595966c45e394d57c877e96ed343aed79c400e47a7f4f8de2d23e76ec11f54dff2b7df916c86cb6052bbc52173443327c331b1c9b7b1ffffe4d2feecd6a997dbdf43600c94a7c7771a6efd3cbcc003d6bcc6da5cecb84a451243aad47147138bc0898fa39f370d5cef819170ee68b7362917d306090f11cc6bf3958631a4c791fbfa270a0a4d5089367c6007cb5687ade133c71bb1332d0c7aa43988182acbf9d604f03be6d4fee68d1e85b3da26881ab49c944d7c4a46cec8ceaf195b138bbbfef6ddbf00c7dd4dae172677135c8745f23c00e810851ee036420613939de3811b09953042dfc72ae9c66a433d049f84fb1de10981f0a88a8b911d0595760e2f611ea65af87969ad4bfc38aabbec0f51bccfbc7b88a4ce9dbd9a0c527046d4ea3570d2c73361b0a29ba3295acf45a3aa3fc0da2e52c065f88a8b61ad1da009486b122e410166b1de7f007848f262ef0e0ca893bc4904d32ce323475284b9b0f90a1f811e5a213ec2e5132ef842977f8777c24bdcbc861fdeeb4e17604cfe642c1f5c60cb5d05522af6f062c7ec7680df5214353fa092c8f889db4d53422f2498a44f466e64e5e2002ffbb74f0c5242751f4bba95c912247e84350ab617e70fd2213c722389a2802f7b135c45833ed603ba1e9cb19b0093ab9a0a59cc01f0d491de044884284323b54fafe9ade187ff464c7bcef4468e3e4eaebc7abe5d7dc5068f101a21887088ff5ac40057a3941052c7c2aca2ad279c66df5c28700e3dc7b027a3171b386100501559b0fe9025ba06a6d2f39ce37434ce0f5e86be6b07fe6b37816748fa1be4cebc6b7f99483e90a0dff885d0054f1248ac96fbed7dbf0e83eb9f603f5f2caea2280c441beb671240f3e6b871e4702460c99cce8d6f86997eda579bdd9e3c3af8cce53c61275314d9aa231416fbb1370e6f7786326ebd309b220ff36da2f8243623f7cb5eb4f98719142c2f69e727e0ff0b571a8c7a2d34821d9bb0ada63980af5ea5b8f59372cae1bc04bb5211d2451fa0733ff85c091ea810b5f29c1a6dbcb35894f7eee0902c0049cdc823ab3ec67d56d508a528599241b02c0ddd8d7e0bd620a2ade9842f4ee9802795eb2fe0080ddd7fec757da5eabfab12fefe798d43bf2dae35f195c1da424a9fb666fd9ee6919b6a673a4ed859eaaa13fb389bf32108e1f1f559bd9daea9888d24fdcb8d30753b5af69b83d47b3c4255d22b4acb8b300c445c615d26f39e4128257a800b09dba7f98b3c56568d66f949e6d5cbcae90125930c9d952890f113a9a6851ca7172eae72eee8b2170462a7838cb41437114268282c807c2328478362038e6df8a8074f117ecb5cd2a23367a80b594f4a7de1650cc82e125166154e770f9acd8e7e1309bf76fc65624adba8b0660a1c5b5d606e5ccf61e2a4f071ea2432372686a3d3d9f70ca53ed6e03f490a2a7d203c99c787a69df9226ec024fb7438de538b3e5e6d2f6ce18d1a6c9de8ec01649586613356407914e11bb01b1fac91ddba6ce7ec764631b255e0b09eaa4ddf8f59fc133def54fa938ac79337ba066f7911cc5833310ea1b8f21ac99999fb943d79752e4bf050e3f773605f61f4bcf0cb1b0f431b577a9e2f73779f602bd95b2ba89f7f9d1d8d4a156264e1f34295e1ba9b6af542f1f00251e006dd2d1e2cfe31d2c5da7284e30727986eaa4442b6a5aab082720b3976f1a4700ee2265cbc9ff915100aa033691acb8f8dd358cf1f3188a9de500086b0205e220774c219fab00965bc6a8090d4b3a9e53fa3190815d8c3968fcf8ca4f10603eae71d842dcce7947f94624572ed29982d11232cab211dc09745bb850e77f330ddc69c5b6c099a31d078620e40fe2daed1d465ca4cc52764938133712b7997b91525496fd71c2363147f30ee47071f75cb34f595f496f99d7ec136d6a2827e0ce2a1c2fd2a7cf043408e046255a85295cfb98e4e215410fa7c9de903df34f4c96168f4f4f2393992304396e1a8ec68f3f14b40399468c402c6cf1994880a990c3b8afef7ca1096970ea9961828a7827b5fc04d41e7d8f603bfe4355ffd13dcf66cd9d0c4807bfa0121f18b0bbc38ea611b7e22b4b010fa701d1940303206803baa7f5e7ee3eae248fa430370bf004a7e77c840b8f532de8da624a4ce72b72fc81444241d25d7052030c6f8b4bbb92094a0527ff3d918c1ac21a1b833a314cfb8c2f5cb19d4de6b813c013758900ffa703ecb43c2eef9baf0a5a392c56adc66834ce18c198b1f78d65972b73db5669693844a122308f3baf073b9c414f13ed43f2b0f7733108dd512b4e9c4ecf5fd002f75398104d7135b8ca96cbdb35c9414e30d1e6583128a7203fff334b56b359d890c896e0ac69354d95271ab244d4fdda0387d523174e5b9c2cca83fab3bc278e08ee52273d0861f2ed00cf001c033ada2b21990b529851106b8884f48b5f0c52f83d20240288e7f36c2022a2e3e8f81ae233303d425586fada864a6d095189e1b8c29e63a00ad0259c359ebd0ac61f7f83b2792cf0fd198d68876f31aa9e5ad73df774cb058c7ff64a0e925faeaad707a5672157ac51cb7e47ba4103e16ce4395070bc2585d0ae0ac2dc3e30c3e7c19bbf8bf832aa034b4110ed3a8efb1ba10380734a6e4eda3d42116e4ad44428d935d5c56529744895ac5fc2c71a9216977b9753320e5a3d2b7a7541157ff606f5fb6464c339580e55b28d629520d2cd8ae794f0f19a696bd86484c821aa55e4ff504cd59374443d351ac14003252fe9e3a6d13b016a7afa7a156a2cd654d279f41a5e9e8bdfa796916fbcd55643e714f5081346430225135809d335a219799a72559574d7e20f39e3c26767fc4112a4f483e0d8885c7d8ffe23f7f0645351481c6084df9ab38989881821f7adb41a220e1145e1ddda95e022490f99a94f8fd57c558d092ecc473f26b7af1b86ac8087f768a5b3cefee268d904dc626dfd6bfcdedbc79683a723771778429cf79b6acc545e802de11eda900d888e4ce4c5093a5d9c0302614e47bc2e8971155e6b26c488e253449a1863b15cb7a9862c59383c99139ce1f7910fca5bda81466e4487d12cf96634eb48f4d349982a113d4389cbfb70c41628578650cdcf759974398fdf7296ddbd748f8abf8eb7d6cf0a40e6b4199faa0ce6f19d194cca3a6561e8cea5f4f848789dfcc36dd2fa55138009b6022def33669d4ff7b3ed99306d3f57e8dc7d85abfdca0eed0b62f34281593f01b55405122b096594eeaebd225e2e6b3e016585e190224ed62e9121e07e55ac4f7b4c9cf5e7229c5043f8cc8b9481e0fe386455b9e44c1576aab71e6287a79bbe129611fe2eb91d71f0e7a62d4c9ff7df66a6aabb93f4e49eb84199b82b96dc6361501288ad5829e8cba8ef928fa428d51eba020603f8e2305c87cc24c399a5c1d37b41ef623944caf1c6b11e3fb56940dada22f1bd61ee8c3203c20b521191e89321f00c7791ca25fcc1d2020b038ea6a6ea50b344ac9bdf8f7596f5919288fa5d64e98d09a6c9df8a69888870d17e2ba93627f50f33e1a13159e3d357fa6bb721b974ab7710de662e0e15766f9df9c85a8b578a74eb35caddb87f80f1d99bf49558957d1dee870b774cd3ccdcf047d3f65efd0dd8355cf79b9e9244db631bb605797228ca9d1eed5bc4fc69af74f20e736d2eb8ecf6bc3569a268c2332bb36217def5c378ce9d3fc7349f93980837670916da383f82b149142323b0f759481f74f46b2f4e3702b1095333718a00cb45d25c271b887f793926e65a8bd116f5d1314470a2ebc9979fc71a083b081c271427df97275f29df7e3a6ef25a38add33a34a1167f00a53addef9f8d641bd99ee32822d1942fa3c50824b97b01751e5ac095833e6cc0dd92603327d050de9c755c4c1f50a0ab6433c60720fe2bc6c5c20c084b9fbcfa716d0533dfaf7b833870ed004691a4f90dfd14d9dd4103344a28775a8952068f938779deceebe9991c662d11675a4654f539c761a356ee9fcdf11e3d9b579fb0731ce126b08c576513d409244a6366fcc9fda34b2c324ef9b8ef0871ae41e645c32ff97fff0c016902bf50a044b998f302a161a93fc73a884dc89b444f77161ab1e482385f9f532fad84dab31cdb81f190618558b41c6ecf13443e0926c0c81fe505a9278e67525aa20f9121b9d27b0dda25390d9c3e9a74eb01dae1f8515c70f590d243a8b344025eac4ad170ae0658de460ef451edfdc623bff9999d4b6a9b3a6e21682d4ef9b9f1f6dae7d9ef84edb5d14e42ebc90d917fe41eaba66a1c82f78a3d0b029760989a873cdd476642bcaf8068cdeaf972b166231ecf2165fe4836d75b2f29eef3b6d551128eed93b723ae88ac5e32963b16e1fc4d9a07fd026a0269d50ba8b374d939b33ac98cbfc1b4082634cb804c5340fc452bc385c3ac63d50fa151ffe106b3264fa269f099217423f550709cc6c36acaee5458dd2380f86934791aa84117e4390d46e0ab7c86cf2c475d838ec704b13557c67a9b574b2165066fd6fc82f326252149be4db92de0056b2354249810848f39c6015b16673dc121dc580e98dc9f9e450b8edd02fea36f78bede8b87e5c22f46630c85b488c453fd482bd2137e84c17453df1de8c12e597eb42324d8bfbe321766c71e8c6ef3b59c1f7560c343dfa57e7fccf76fb4addf584536918ef6ec7df8d1da25bf5a8cb0acfd2c128968687d20c1d99a9992a993bb9e1669073e560a0fa018a1bae21a67228bc002439ea2998d483edbb5bd685a195aaff6e74c6a33c4e8ea63337ce43c9dcf302d47481b9c0eff03f931ca43c3a7e008eae2ef4e401b3d0ec10055ed0683bc823418dd561898b5104cafa2ef5d3ecd565a31c2e412441bcd1f318d9a8811c358aac6a43d05b036ee81a6c043eb64d77875c6018f07d5e199ce160457421ee478fffd38e4382af8c9da4f6705ae7e5c470c1c78b28a424b229a43db8e1767124e8d156456a2c730f4aca49b0b2d088488a20c796150c6341caa48b35e0a2998136e280a2ad88d2b614d1fef8fc82b1560d1b6143e52c4e9f112af6613c7e5ef9bd2dc800ae1e76fb131f21075266e3b34a18d87cb1a09f58d4267e5bd6530447eecdffb7f861cc875de1bee2120d1ed7cec6ea8e487e60178efdc50c36f9e9b77955d95bed3432ed4d8ecf96e4aae270d5d27d049f0ca833ea40c7a7daf71d86a070e3e924781afb450a883db97c48edec2853e185f2c1678acf01bba2610c55fa24fee675ae7eed43a9ac1d1b009d455817cba89766541bedf8085dbc1f86ff5cc488630a899dc285ad987f8ca00dcc254049adb011b8583a0cbd26e0faf01cae6b5770d47aba10ea9e5883e6e5ecbe5498b3242a2bc023f268d4e6f0f0586a51832c9738eec563f3f61893448723fa9c257b129487631004638370a2f45be0d5a842a8db3283e1f8ecd9939255b2e0cb7ecfd26e1814355b7fa98fd468e2bbe9cf0e7b36cc3f1fe479ae23d5d0eed543491c856fda8d11d144be6da4223c1db01a00904970df225333725fbd86b8cd9184fbe9c87da5f052282821ef8d403757b6cdfe3d7f8d82af9f8fd8ffac30a7446a63a410f0281d90586552f0ad007b79702d1f4c986b521d24bff37abb948041b79d61eb84134211b0708fbc7a96cddde3ea2b26de9e567ce2c10686c6a2b064f8dcc61ddf76478c4ba65db14a74f43bc3e680d68381ea1cdcfb7daf9ae60c7ae1a3017023e0168a6fb91f8ed7d91378a53870d5b440c47e3518c8fea2e22d68d2c1840b7e254188f3fc0cfc75d24e9532593796bdeb71b1ae8aa16bab11fed3af7a90f41c990e464cffc351ec3bc7238c31ed728f1dee269c05cf8235dda89e92c54e72519656451c021d6c8821a899647ac493dc6ea28e89bb5f11216486eb01e930d058b5be6aef8460d98910d7e7eb703184e08c0ca211566282ab3397a1cb073b9d0d797ee2d28fc7e997419a5b8b1a00a0fb27ddfeff1488017d05b4434be17891f203ddfb544e336ca8b5dededcb99201465c056a68b9ea36e87c2afbd00cd91469aa8bd9f1a1274b90a1b011bf1c7906554c51c58a75f9844f1043c2454d5901aaed8cc46d197e9a8e529e772e9c39499a6793bf9ba877391a8c8e5c3aa730b284463012b7d20704d4f6df3bd973edfa6eeb90727a35bc88c4c4519c90bfe70b26b36c893da6184a11aaac25014be8fb0317bea9c4d9a2c734bfa45c6ba9d502a479a471f5428c3c268b1a85f485638caf25fa017d1e88161ba8c7039e86c7d195b34e8128958306439f99872c6424e3efb1384530dda020f1240a4df0ea49f2937801857a17a47f1fbdf0987f91b634a64c4e4741e98ecb362a9e80ab80cbb188623ced102ab7e86c1260228a1490a3d2d17787f3d5a36a9d1f3d742d2a9ba701cce8603dedfc98614fa70b9727d16e0fffd3af517e4503503d5951f4a7f7811a8d246ee7e878ed1351dc867f10209571ac1259906bbc4eeb54e49a5bd97aae0cd29cbef9671a210b18cb74f696c889c2c9daa5cde1f6146da21cc4b7d878e04689130b966eff56a5a472c8acb578ad2f4d944a9726f8a3da2747012e687e90febe4f6e4a567900280134dc42f2d6e2ea54e1614ca22150032c539c041fda7063c59a1e4e0b239058ba1f912f4f3a503ea23acb0b7fb6d3e09ce3b521d65ebe689681c68b2af188ae6af7379cf0463710e68303d7f86735c609d15fe51bc0e681e2c0264e51861b380c87c0145046aa9d56cbf17ae74ca21a2e702ea23d17db3a451aec876a827b08eee32bc374b2699dc6a6579c79c57e4e81f72ec97066333ff873314267f598482e0a9baa7ae3c956daaac73129f9121ea0e052ce9332060f4f53153983330975c62c8c8466716a3554a295666a7ab8496f72cc3cedfbcd0c6d0ab3470a0b18fcd7d1eaf53b751f4ccc552b3be0fec12e3ed2909080bb54ba0601ce5c35107a06b5698a03509c5d561755825f92950132fcb8e7499a2ec04c8122024736fee5c8bdac8d87132bec9a0b2280391656c80a36c7c8c6feb1aa65a58b8a7e7c36a308ba12320b1e412ef4fa5676f5f30dcfe63c7e02dbc2cc3748f23dccedae428e631baa56960195fdaa2e3f059705792eeb206335c0c1d48a9135547baf5e7e83fb794c35aef186bf847b1461fd815a6b5f075a7ec2956cac431236acf247d5e97e2cc83b78b19dc8c2acb5339a6adcf1818a93fafc03efe0839b2b79ae57b3bd4669712c9ad0c8659aaa6797bf2e49982286a30757c59b4c0a0ad65e4d2cc0b288593180edf6c34779ffb725fe46e08c962ee423797a96cd6af84696c6c92374786152033320db80a2e9fe071346bb4af71c9acf71a778a6e0d245920402b8f9a4c459d4ab4e5e9f2283e925bd1851da8b4a5e46a74fd0fde2ad13e64c09fc46b01a5c611270bcb2b0a2879232ba7733331f702da9eae2d56b11240a20d21773305a001efde83674da8839ce30e3ae6c76a5e2c8ad6b6b5e2ac3fab0476b1e1320132fbb7affdb2449183c540e5a3950518effc25b4b5a8e65bdf78dcf0baa709573b75abf211a560de06b488af281893ab8c27cf7399eeefbbd1dde9e8b780b4eef285cedd24636a1f5d561b0c18b041344985dc361ecada5b9d6a52d9f50adde9959e0da6111a6a168e23c874727ba8c0e0fd6d86f7c5baee952eea08a6d8237d07f62f755f42e27d93123aa20de880d25ab628f0d9e1db21e9addef02d5280f73a153b846a3caa04d98d82bec69a08b626fc70550252cda2a2d0f9c67d3bcda5d6f5f54a94735a147c4ca63bbd042fcbedc13f2cebefe57977d86fad86497733b821340eee7039de2798fbeb6b0e6db1d487634d35e8cf148853a3e35ddda91a718760d4d48d2c98d38523b3769c4ba0703176b840a1290e30a7ece2dbb3a7a9104cb5d1f4cc416846eebe359bd5618bbf6ef880e8508ef3293bb72b16187ca1fd65dc8ec7d810968a8eb271f333c8f342744a640fa7e2e5c450e2c5f40890c135ee2ff00676c71dafc72a4b8a3ae5da44d08189d4fcca012e0c013e923520ff5042a44ac8ab1fc34f9a01f857850599c66e346c1cb50d4df95b074c69e61c58c5fa61c67938dbe7c116b9da3fc55f71977df26a729d68c65e7e8c1aa5daf46c8d1168ab4d81af4fdf07bf45afbaa419d317301a9858cd56e028e74158736f6b97dfdc7a947e1e976141fcf8f2fb873a005da0e574bf8eb4b7fbedaaaa6ffa72e26248e7d534491b556adbe427ac2372236c820fbca758a0f9c0c7510795f6c4244c3ebdd42e005befe775392573273a4fcf29c574cacd288979b27eac140f9fd030d2f7490e99a005a7ad1c43e17888b21f50b64d516775be69addf576f113bb1bdd5e585317c281899cfce7244d4e2f97ec4363f8004693e48e525fa5b69cea84801f9ef80763d7ea4827584997f163b84dcbdc7b630b3dc4c96d498a0d1e88991397eb654c245e12ebfeb273bf4c21f63ff01ea2a994a9b142b84e869d1153366c214d5f241b631ac46f501251f91b1b15ed977c829c5c0886702bd202abf62e2b54a13bd732d43823f970113e5daea7dcc6797a032797634a6af1d27e24b09883d99b9d5af550adddbf0e9a3e940a3035b84e7a8c607a42c0ed6f2d6e83def932f679a71a95463963c3649f8b29c0c0b7460e4e5bf8f7ab0fc06217907187934e07059f5c81cc65ca806dfd74297fde3072a465e51b1f59ca0df280fa8506253bb2fc74189d0ce9ec176f1f1ca3a138d6093c7f88ef3d96429c1bca0ce1810e0b58423c06aced5827e53ee6a40e187296be3b7a8613d33bf89379b91dd2069c43a33e253817c3529a2e7017a7466f7a50f187601d00432f9b619dd7045dd808cf9a3ff22a8b66d93772b3d56c2e064f1064853215647fb33c47eab030c51c22d3fd017c7113bd53be6c5c680b5d8056fb471d384cbbef89ef0386b3a4547a05ffdbcaaefb69b866c7065a928c5052f80e823d92d02a0ce48264ae50d0cbd24564a04c14cca6fdda2c3e2f368c8fecd68ebbe7e145ddfcc24334a105c45433f9296226106016ac527f3263f40ff36e5b65de127567a0ae273d83343127b3db7ec86c2e3501c23b38318366640b3b0c6ef95421c5521e1f2f41a9abcc5e92765f8c7e127d013af41216550f95412bcb2e6921e0ed877caa102b61705e0abe7fc612817832934ea4d82496017542d4aa29dee45bbf41e628fd0fd8a9c6716e4a0d7c4d86460ffeefa892f863ff15e3b7698836e7094a6cfe2a5bb606c58028f33b7b82938145f170dae5ecc6803d75054b29135c6fac2b2b5112ca539145b64fa18e3844f975e67317f0dbab693ea1c84473f06de9258009974fc13bcab4f076edd7c4dec366c3e7160f6cb17c9b2625935aaf2b2fcbc5502d709358d6ff0ffc2b7f52a6242a61970a8c0e782c2beb6aeb6f3bc4a1cb102a79c7ba5b7200daeac908ef539acdb9c9a2a4550abb270c4f21fd53a05fe3272d16de39b0ea4f115f36dc5ee249763d160fe01a2de9cb0d838b43714ae966ea5c71214744344cebbe932d10eb857206e0d03fe562206ba91c52661644ec089027aec0afd33914306e84015329d1a902dd4958d5a91923795d03b75598ed562bfdbc90624fd46c0968e058e82757bc2756adcbd16b3976c673bc6ec012217b49325bed0e93ab47187846382d096fc06ecd1cd100594d42db21b6da815f03c5298fd6d28ecfe3e2dac36a1180479d0c4de4712f860013aca5edb2eb94a9bee334640a92d8a5799f1a599cbc7ae7254e96fe656922b7257bb3bf6c1649f190d88bc5eef006e268d38b0433fe59bf51ea9d5df7d2866e4b1eb4f727d21ebec5803c4c0fff116dc8a0dab751dbaec806bb380e3ffbeae0287ee0394d8e95fb247126eb44b2ead392551e46af2f37013b7755f81260beb2075c8ec42706d12733355805339dd70aeb8d1cc8d02eb33c6a69d4fa0353f68814a9a421919f3d2042e6333e0beb38bb824aad4613008cc1328f875583a7367649b10521c79cc31b843025b165f8da022303886288ba6b5e5d8e1e2a4f4047aaf82b58311f9ddd69a36f79c6ca0596208068f2b3f8fc5cff8ba7956ed361c702a5d72d52e19fd8f06d0001ac252e6e5f85f4f711fb07cbd8203830d0872a13661c2ac61b2cb47280089c710c9339d8b61063370aa43c8786a24ef44bcca238c9ae206f789213f5f23d206245124854c54ed491df449e1dca183b93cf4882505afd9bcdefef8a6ac3b4ca4c47bd0c28a5cf2bbcd12c721e2fd06130411727a757ae77dcedcbd1e5c58b173b84089240cccb58312e122e3b7b23888f4e4b836e0e51dc1fb3b8d02a8f080f29fde3d32e6f90413dbe92de491e3646786e82e27c2172e861e84d99b31ba46ca6e94220b94311b4a0db1da9adee3841a9436f252b57e810e0d71bc7b227f39942dded888ca5cd55f42e61be2e624a430bc2f38febfddfa95b9091e79c030d7d622b3e2067509249477b981409f689bf3beb7c8fd3cc29960200651fa996ea04461678d0d9ddf5b5280302c1ce94aae80ea312c6e2bf821f67df8e049f58afb8d7162e36e5500122c5ae2b77d68107f1259ab624b383e207395fdbe3850f6fd1c179bf985a0eca76fa031908371e833b33d1de0e7e40f9930576543b0f0810ec5d8cce5910889a4de0fb2f00df5b613cd285d11daef79e1c316671cd7113a8118976cefd6c8d4cb2aa0e28e023a4c5a589daba0aeefab017b5ce0737d3645501d3deae48901126287651a64fb6034ea10a556bdf781628668992a3a45cc0d2306f2e119b17d2be6dbbc9c07c03c9259e00e3abd29062d7792d06d6a19ded1e08e076d652e485d11cd5b21ce4dd2cd7f7ac6f055775238e5be37a4a462766c6d1e9870decc370145b3f7b532ce7d16d3612a19213302346e093793cbeda50809b38907e81ec675ff6eef4b1279300d18e8bb4712a2b84d0ad059041080ddc1aa7dd78738ee424f3feddbe290e7388ee23e5f31fdf5051e373edf8c75b3e6dfc2fe132c71206a9fa32fe0d7455418d1b25016d21494cdcf80f1df13fe4eaf34b5ec4c8d1bc0d7a498ca488d573ee9e85d24f00b4f35209e0aa113f34c5af0a98e581094406595e628358db38e436e7e0e6a4ee9fc4ff8c5494f4f9a33b83b7aa4a20450614198d87a5055e968ef2a4ef5dbd1470e1de3deb7a2be8f9c0dc20d0c247c75f3ee89647488d31b09756a5febfae5eb9d28da20b2b469bfb0dd9935a16d96067f59f37643145a8c587a4399e30da7bf69a0c1d28008f28d72e8b1745d9da614cd295cfda6b67ac32047f470569cd3acad2e5431cc9d5140275e444772d2da22fdade3dd9212fb4fcf18b871a0f973407873d9191144c95aab8f38545063b0acf6ac8d833a39e384a434787f7bebd53e27d25f908f9cff0f9cf7fb3e915c585e81e0233386ea75361c30cdb2b2801bd5f2838260c410950b1975c1b87d11ec116e6be123a0327d33015e204297c3d87b2b1cd2acbfdeb637a428025eda493c6328555b523a9f093293c79cf89d334851aa91c7727aaa94fe377fc2dd69890addfbfc4de61ca93e90dcc209aad4a790f1decb3e82407e453ee3b65639576ff55532217d4735287e85623614010ae4b443d4effcc5b8a1483da1ae9b52a5d1164c535ee5e15642464fa3e660db3be59561cbf670ebb2ec952b0c8a44cd905dd00dde591010dfd06eb0104273c4081c0a4f2ebbce8befff38709403581081dbcf35689463510f6794ab3c18590881a8d0305aa13073f9104fcd11bbe57e20296a60b724bf71e667e3bec8e24fa75ba4fb3823f39d4dd7f01a82fb425c0669dca4a697646260f26665bd3539a22820f14272b7fd15da719ffb100708af699433c12b65b2836ae94722f677c88a87d753c6128922bd6e0588760541c9d996ed9ac5c66bcf6a2cc22e44da62f1b5125c6439c794d5baa637f8f774129c325b187265fb04444a58c205bb7cf200eb15bc747baade9b59b2f9e6fa90a0a00d08682b782449bf763e8323a3554947d083dc82063eef4cbd627bbf614f71213e700d54578fc1fec23332d28b0a835826aa2c93f70046e7d874d920f6901601d45443d727fd09421c2889a1e05f11f6c37db6202b1234ca780d15acbad791790ab0974fe0900001ddb3253f97b5b6ff0edd49058a515f0e25e8f42c201c77ccb502acd52b033e342d00df01d0140fbc84c59947e9e30d2e4d4393b4a3f20bbcb06921c387a815e1e0d345010343406500e7a2fb768d1d009c147e06f99dd719d32cf0d75cbef48997d69735bb2c8cb9b9c875de1807f1f09f81de986854924ef2e823f83a6ce00ca7efe328254d8de45082c1771e60e14a91b2c5167618980b5e2390721e65c8d2eed5d7725b9dea227f26b8c4ca48bca1b5bd4c8e58ac70835b5a287797836307054702b0936dc082f96cb5c19041cf9a2ef03860185708759c96a8112b5e1c7806c3614848e807471b93b268ea694e893c8a67e805f629f0cd30898eb4185e26e3e4a2c26e5b8d4629895c8231683b7a42b2c3169d617316ee75b4b6d5a835afa3c7f5bc9cc4fd5d2b2247f9f9872df6d5ef0c4c4726d63f6cd6a3996e158dbed9fc9844922ada33e08b62bb55e0e8a7194574a031b2ba7ab6d872f94029e5780789fc2426b77ceda27875d7fc67a9d8b9d360ccf61581bc157e08706764de1a58b902e60c7d079d3aaee074780a43762f9d4c0e4efdf1b5e0d87d8eebe4d8aac4b930617a1184638b41384653c18e21a69ca734fec6aa39c001bd1d8c58244a9ee8d022c0829728c78dbc34795cdd7a6c86fa82fab9c84059f13fb8873d5cb1c40403d25af7e857d4a0e7a5cc405586179dd6b2fb5f5c7402d1e0786d1df1488c2fc20519edf26c15e0bd1a09f830004b27231afed170719b669831ed0e1b3450f8b7f5fc01ead9b449e2ffa6c9c9b7beafbeb847199e0457339645907c695d3ab38b02c6bee94311a9fb095d6e8698401c53a81ea89cd049ca9eba36f9de863096e720329aa973ebf0b85f8fe7fa63fb4a7124723192491879469c5d8c63e73eb23e61fd9c58b23e2ec4782075b249a65e9d512e9b6aaa32ae309dda72b17dd9cb5aa3a8f4e83604b3d9eca83b7a8845c82b97886ea0b243df7559d016f47828c95f9eecccbb3045964ed01e745c5620827db1c3554bcd19bf04f6be951705095b88eaaf232b169bc27dee79b40ea690d262a57e17c2e3f82d30a0dda77a2c30e6ccea6a6838d264c0e11ff45a6b69c199d257cb2ff63dc02f1344c9be843670ff7bd381b455bc7238c7dacb67f836e9b1103d2c7def3fc8cdd0713fea3aa97ce3cb7ecae9fabee34dc3090919335bda5fd373efadbcf8084ac80efd3ddc8daa164d8855166c732aeea3c057fb522e00f77d9b2c94e68c3bc63f02e4b403ef926a2767fdb0256422947c54b0f42f5dd21dfcd335657242d645cab7530922deed95e37017b397b65015dee4df1477b72b5a9bf41c970640f22f759e029954bfd87edf136511b4de7f7d81ffd5f87d30fafa04a195d3e3558a8c4fe1cac5e57a38766e4c2f4738bf264b44711b336b856cc3eb8fb5586594440f1b3aa65f97aa021f6d3474c4a84cbad7125a6e625a23cb0c2a29df1fd9f9ed2269aa6a8eade38b9ca2a93310ed079c9403849e7565a3762cf6537198c5393c24fa41aa5e5bd1a8dcfcc38f79153402eb063bd6ca03050804c89e26408b2911eda5f36015d9310f7d6a54ec2f1ba5dca3a90c63d4189dd731b2963f91d556237ed2af5db4c7a073162d89344ca9a98ce87d3ef9d2cf104226df9036f737acac95ae82e7b273f7922d3770a3bc6112d9ecdc27360c2eb5a56c36df2c082857ff1300badeff6f8493f13abc7f141c21b8a77423dfc2de452ae2bd2ead304031b611682273c3c84ff4804f52d51fcb6a30c7e2479d6e6496207343c71be413d4b6577673040da42fd4b91a27b067b2618430eeaae788ee265673df957d50eb4a1ae81bc24d27fc4eacc2e994a1ea325d5614a69edc83cdb466aedba169383b8785d70aba8b993b0337c29e5b9e50621d84b278efc985a68a9e653ef38cf33ea044a1b8efaea2ddcf561b71e9d8629a9395e271ad46845a4866b11a23dfb0a974db46dc9bbd2882681504e24f637d14a0b88d90aabbf84a9fcf3f6045966d428e850a15ec6ba8a21456234aef380367b052a07a9b66491b763ba3d9064c8e34b40966a5176396a045f54aa7bb59052163dfb5054a3b5c6af45bb64ec5df5985a2e5cc7c3b9546bb0be478238c4a88a37bdbb6c1d1559bb11945f43b74a235f09f65a77c69d0e9e660b1b682b7a336d4f318e35443d73d16c011426c18ac85ddeaf9796d4c7f50a84780fbc4b6fcb48d1373ddd8e71105ced108d6a13ef21a325600275841985af2e204eb32df2e0174618c58c6e86bfa1f38ebc1e909f946a5ba256c226294c831899c2320b5af46582f1b25f4912a077d8c19f2fe6328d49204024b91be3a0bf07420ed943302f9edd5f0a3c643bb89f0824bc059526e674a6ef106f804356e6916e029b0d3034e351a2a3cdfd5fae8bd4064899e1878787c2a053a86eec45d3e342793548a09030f8f15e130bcce4b61b07e62e38a0c8dd3d886d3d8d6d461e2e31943a729494b571ad3a9a5df22868ad1f5d9c707551de3ad4bef3f847c23654fdc84d79a1bfe69622a480f8c1a6819dba8dc42eda949ef18da9b6342e3058323f6f907c8e8af1a525e59e6fd46232fe273f58f3aff0424cc015b082bccc325ba14394bd6a31525db5998d6aa75db6dd9aedb3a96b629fddbf779a1bcd402ce0bd701456306cd76c41cecbd727e029c7ba23c1cdc79046c69475024aed13367096d8d4c6ba462fb371d7d610666fbb091b0edd0008fbfbbda1b22b5d0a19ee385d63ff2901c2665ee6dc2f6e29e56739c8c95a33486c171ed4911792c6a119131acf0ec16f0557ec601ae771f2a4026be7154be9079df608b9bef0d1045288caee18f0b5946a78cd98b1da9de225afd30cd4e0190ebc264839aa2a5b1fc500929ce7c4a138ca486e6b50ab6986548ce1c8ca32b9e3794e444d7a436155dfb3fb7e056d139df5668cb3af9b36ebf1cb245fe4ad33411f2c1118f5bd76f7b66765516b795bea2b7e0383f30b1c7881ccecbd1629f3f9131ed8d57b1838c227d202d149581b9b06b6d3b56eeecfb8e5fc70333d82be342306188ca88dee502ff0acfa90428e69607d8a2cbd86615949369e10d7c07440745770273c95396d1fd26f2d9fe5df3a2d3c591d99d01358ec64f6e31df53d8dc7cb8048229b069cf032ab0e3593317d447e4d99ee2045d62ea3d14875d5153ac36eef7b54b199b13a848b1b0944c30fd31887da5f5dc2cb1449ade7c082ec1462cba40a13b6c8796d6e305c4b1a2d606397af8034ebb73979a95fe36382eb3508b8d993aa834c494299a271656e24b4f790227f736fd79af9b0fd51a085325107872364080e0d610cc456760b557fdf704e422c791f8372aa2ec96ec5f798607f7d37a529ff955df1f0ad9ad8c9de29a38add812857d369aac29845bef2fdfa465d6f2a8cfb382a3efce143c00f7615703b0792d1c678b3e16420359a68b79ccd19c0b021aed529bafa90d636b5c5023c32e76b6ce2b1174967f0f9fef6ef9f190ba0184cd9f202db691a1b9414a473e0c14f6b6d88e8ee8b67160ce167bb5fb24bb8a352450d77f4a71b1fadc316a6bd9578b9237bd74a616358cd42cb4a7cf0a34ef29f5af9905eaa47fc5d576dff6f50ba2af45daeac8b7d3fc3e99d667ac778f3c4d7dd87621a89cd42d9d3651cbc963329344397c02101837642833948aa687e924d3918bf7d9c6df704f55f92333dfd49367354977c22bfb5207db008f726092234abe1a808e1aaac82287ef5e34f5672a2ab17cc7d4fa76d9759bc5ba9ecf020ed7a260cfa65aa0340317a6583e82d104d8ad407a10fe7adb45e401ecadd65cd3440683559803b85fa40176a2ba8b75cd662ba2c2eb1cdb64a9416a89c97faa92d714db05e415ba0dc7e29e91d58c595ac308fe99cfab70ad50fb7b07f43de1147e1007139642e9ae7b6c389071eca712ac9c2a8d7bc218daff58ea393e616f7881327391d2cf1bddb108e49bf40b641c6d56001058dc13113b23293977ce0033df365137681c59e032b18aeb59a21fa953757c10c53611fd0260fe50aca82dc50e719ea44584f8c385ae9d556ba457dc6845b77f218911d14c8cfe2031bc14b99665058957b6ec28c64e06f39f484f204c69caf394a2433ca1ea77e885322c46f5d45d7e063393bf0614b891a5b513647aba0c73716e35559cce84ea32276c83b8ddba3a8152000f4179c8e0ea1bc599e502b8bb4b2900a54e68e130faada9f8d92cc1b04c0d9dd56cf5a9cf4d58e650e8a9f2c5a204e6d4c440e89df21c130ad93c775edec3c4539a95e47f951e989ecc52a013ea85712c33ab979fbd50745ebd0b49b94505d0ba0cb427bc15a64364eb0c4f636a2b7644ee327199ed904d95c39ba063376c34b4cb87e37c8011f57c9ee62b4df1ee1fcc7b6e3765efa6b784fe4fe5e9b69427b9f6aa4394b5518cda30ea63f0af8512c8443a6a83b39aa81c29f1675be9f8a0e1674b8547ba06c56a7874a7444c6a4ddb7bdc99e3b837ba750b635db740b403023be7d2915de5a5d822a8a342e81a08bbc22f03d70d19edb5ea4cbde62ab3a26f7123f8352fa24bfaefeebee521c5c199d9a108de3c5cdb6eb78f3ae4d89274aad610c5eb19247c4ac61e56532cf34808e9e6156b39f8a007ac48a7e76a31c7be747e599abff44d5e12062a08ebd9bb8f21a4b679a2ec6ec8421109eb00fe15141d1733318698d217c588ecf0b3b6e7b13c84f9a8763315bd2ee712ef01f792a3995de7856249bfbaf8548790c5a07df499e736c15e505ed9262d67a0a1828896fff54d1c66f781cb672cf3d33330ea5481bf8fe25a57ec6943f05dd1c0dfb081d16c80a42f56709f2fe1a53a40f4f948b9cad86cd6e33fcd45f3d306fdfa0fd0f13e1f0c2af24637a0511097fc3727014d972d2fc9948da4ad3630cb4dc172a2043985cfc53dab0d1cd94577552f9d7c68747d21f071e4012e17a30697e8684e76d078b27747eb52414deeecc2c0afc2b3fea72af3d40cfc001a1ada7a61a3efc46463ae737270d8549d1bd9685594d713e85bd9fa988abf4f890f2aa28a7f77079002b1f7a13ea146f1add0765af9c6f8e5e2f638abb38560f2b66639b80e18737fcadeb9ad748c1560b7a060f2458b0bc0ac2c568040fb511c0f180ab4ea2175774e4abbae9ec5cfe3f904f98e3c03b1267e41286d5891370ef50c1e0c1faf908a0998c6176f7d7f3dd4a2e20a0ea49f77935504439d64c489cf82c2a0aee78f827887cb98a1d632748bbfa8e929f86129e2731ad1b3a07db249ce740f7dd4a5b413ecafb4c06580b6472c7b2c6ca1b9530fcb959aaa27760a42b945d4cbfa54e2e16440186acdf8bf7e9096e4329b4a969e16b1fc29628b7299e364ad1d783250ec9fadf166e684c4b4895fe11dccd5683f78f876eb08c1c8164dac2ff0c3a1e3c605418774c0378a39e86474775e8e7dfa1ae6adcfbbec49002f28ddc7b7f4a40ba5e3cd297d173dcdf47ff7ba0e466135d5a74a52046b5b84dc9b483296bd8d5307363ed2c94830bc983d14fa294f7bc10c44fbfc1f1ef53dac2cc02abe2e2aa2c57529e1c17fd2a8d55366c2eb6a924509495d9799ba9ea718fb72f574416ed89ef95ab1ea33c1c7a44984db5bddcfac4be342e40440afb20b079a33dec692dbded2aaa060f3627c884afd623ec2f61d5f3eae403f810f111c6e0b5db89bc918c8e7f2320391d194046ba7c55b74f7ea5aae39f8df8a565be77d0702b6ce20e09847eca88236ecc99863cddf3c1f0754acee6278a789751271b42816a04166df29a457720626b98c92caff45f4a4664cf4790b5a869cccd717394430ac01ae26252572c4bb60d940f02abb8368fadfde12b36ae894c467e8ab847ca75f064be65761485f7bdaad14910de578713593641d97bccc9ddbdc905b1762376f992dbbdd018ecbe4b6e9388e7e701dcdc1a0638a604af1e389d2e8eb81677fbf7096cfc1ca1433c5c7c6c7aaf20514bb85336dc0852f0ff168b83942164d046f4c1add2b8f9d506638eac6c923d041bb329a0fcffba48565bd6cbdde07b4f28151062ecedcc30b5a57a15f4fb10dac57037d60cce16225ed77de1a223d614abd00f76c4ddcc8153ea41fa1cf5efe1bd72aecbc026513b9bc4b825e8c64613e69f90047c2c7908793353760e1f1bd69df87836629aebcb788a89b93844ec46be0c96898cdcd2bc91232a4717ef34007ca188e95dc12ea81d6df94c8c255d2cac447341a34e1d89d8c96a97064b872ce17b1fc26c8c6066244c8b234d2bfe7d6b4692b08d3f7b51bbf54b3cf4f7530cb84783aeadf85091d27d240bda41d64deb316afe843913473d9bb3be71bbef01aa368fb215fe94319b04d71de6bee719209b630a4f07d3c2a109f51d527226c34d6808958f888d74d31f6977b33ceb8943a1db925d95e8779b82bb09719b7138cb3c715deb297f2802819e7424e870530c778749e622f5dab6f7fc21b22afd0a1ebf327c87ca35337619a7af81acdf68b6820cb4ceade8025d3d5659009dc5677e91d72aee86cd15e609b0e0e0287ee76966c6a034118e27518ef8067e786326550ff3f46867af5b98e2d9bd584e03f5343e4611fa5a9738252fb0f446ac7d86953b2794ebdf64daf25525e540b9b06dbe909bba5e1ae7b0e0c99c2be0dc75506df66d7adfb8ac85af200fd51ffdf2b533436712acc57f1c11f1ad2d25acdfb2b82a14ad3ac7ac0562fe5f37c58e073a43d89ec192f42e3b7e09e403f998e3c1ef0b825f3245f8d5372cb3da09c0432de2d31056519624a89cca7cf42194d921f8ed677db7fd11b8f618e5f88263718fc4413656e48664de794f6adafb2a4036140c61722b729557a830cc9c61825de5baeaeeb60249a47aa78fc16799d9a3c0174e6ca5e05a80895fdfb8e2b0b6c209d796adce8a4da38042986803891e3c0cbc61e578d15e42ec420d8623cecfbc56ded062390a5316c9f18586c038a8ebe67e7cdc0b71cece600ae220011fdac64ab9d24484eca3f3e1f96fc339c66a9794eae04ef2b6319dc816d0cdcb0d036494e590694d4aea9c442a62f4e1e67aa68500db86e12be071165681a0e28600090988909abe11c61e04d82ebef4349e3e59891a242f968103ad28f9b2020c137212de502381143531feb12ee03b50d4401cb3a633e196d75c5c63715ebc8a3f45be5f4d3280f9428a04ddafbc3615f493667d9159e902db3dc60f58a512ce52f9d01d4f26fade7a8edbb7cf36076b3945ee6bd2fdc7a79b1d21c50aa23242e6dc353d1165896b7a929889531959edfa4c9cfbde04f41802df5eb5f48422813facc5321006d447e9fabc3139f4ee6dd7db000e509db1ec48304a861c97f3d32853fe5ab01da59c1dc5591a06d8a4a54e968ae7d762c9ae88c4309bcb2fcd244c244bd6850f94cc799004a06b202a42c7ac4536ac49c7d74ad4fbac4c37b63f869b3d1b59a8b58fe9a31ba608d612f1885b30a458b058e07ee03aeae15d239ebae2c70685727927e068e98edac243ad3ba9c8ece075d84dceb2a044f6f404a03fcab31f15fa7f0b2e286ac881168dda13338d904fb11b7a2d522b16d2caf59a2fc8e527168704a3d0a95bdf6d519e73a75cc3490af1dea6ea02f9fbf4d8eefffe3bd52eadee1fb714076f882e7e77ca904ab43f37a4364d5f3397fd5a0a1e04b7d543ae7ffa30d57465886345eb32bd9d715b616d53aeba02f7654208b0e9d6467321fdcf4eaf46507841c8bef6f2a4a83faa6d213d9297967945e651dcc18645e1bb1d4a76cdeb1598ce7eaebe0c41d75f2dd6f3cbd7f6f4c8794e666447ae72b3497fffdd92b1fa82c0a2436091d7b4eb845a98690c9c7ce0675a69e0495a0b7d9a4b1d44173ab5fef3fb225f0e94e95190fa96ee235f83d59587ae66781341f85407e68c07a6e15d69efb3d8fb4089e33ed12907b55bb6b1fce7e0bc918ca4e79b489a180574d52fb754648ae1c732fbf01710c0c3335277bca6a0831d649c9ec38192c1f3171939de2589ff6b9f4c8c1a70f1bd7c0a671c9c70a4e107af518c1dd710e7130400ca4e67fd2bb567caa69f87eb6b7ccea319697a8a4bd02a7d8148856b93fc48a35bf55080f220c5f56e70ffe58e1fa2ff898656eb48f165fea8306b83d1afef8a271b3f5fba385da549ce49071618fcd5f113a2046c7272fe472dd2e3c93dcca29c83cc5e7b42424732b86adeb60794e2c6879afdb922dc96ab7c12928e19affd558c40a1a3c46224572ce52a4f61ca3e028515b1e6154e0eed38faaf6b473f09f68729665e48ae2a0309497b164cc6f28852bd08f967b5073bffc56f2a5e0029dc970f4bd10b283e0546a775b7c6602e852a7574dccb641ede403d979322ba34467ed4b6e0962236ec7b76f8ba138400ce36550a122614e842f3fd0425ae377e4fc093f383db91b70402196cfea50a76848e7cd49fe1c792c95eb184ab30ae202867e8060f11745cfe03f092e635fb564d14383c4b4ce69510a5e2881f542240ddf1130944f0a32bbe540c4dceeb084505a0e6f28383adacb8089d18861f45f13ca7f8bd605fd929516d9b921df603b236f39361b4957a25ba858a9466443922e330b47424b5f756a3991ab3a0d2da8bb4afca3a8a422c6fb72c73a0d71e93c556fd5348f924eaa41065c8d8fbdd5d51e2294d1c9aef7103e4e7e622736e77d228042fac2bc02264572fced43331d5a3acac6cd0f9a0bddaaf5c10a748b27f1cb97c122d37711a403ef74d99bac12f8149a57a2fc6f499f9778f0fdada39dc044539b3452806ad53b072e88844513766a8ffdfddfd8df171b1f10695300ad1a383bc894f2481a3299e6ac38e9c41561c99590ea940283fa17d00498d113073872a7c057723dfecc64eda5a5e5c7a5c50006dd1219f95617876897ace2273e5de3a475a31164e64e22058b1639bc12a02e7c288669f59ba82e213df385fe818e2d353618b9420f7cdf6e4869e10d799066b369f1efe2f1a6ff0771306d010cb4ec329cf3e5fc60aecce1d7e4dcce404ce1fcee153faa0c8bb6355ce9f19473eacef8e0548a71752809d0f5a5f8f388d7703e8efc1104e2f5631144ba54d3533e65d544c5f598d22f3ef1893034225268fa161cb41045b44189a00f7f118c8b3937d10333e8f7fbba60dd6e3ae1dd7d8895d0ef2e1cf9838844e6d253d34a9cc941aeb0a75cee2775c3fd44e0dd87d1f619b09f9c64fd5f38b9c50561d175cd8717b2cd859914e37460555b4af19696b8105a4bf463b15c7119d9717a7273c2c3a90b07e81ee1a485b418489e984eb3f5b8fe1421b360214be527e1fb13aff86116661b13a348924cbede281bdb247987bd8adff75dd05fe1cac2491c8f5f53ac9ef9201471119bb100fd58c51e2474e823bccd823d15d9ab964edc4d4d48e3265b36744738d5a3d407e92bdb0bbbfb8ea69a6312002c8eb7e7d6e6a8ff97c76343511b8827d8fe571081bda287d21f16909b5c86da390d7ce4fc197c2eb4f3a4e89ab00d9b1e741f47ad9a5d8f0b47d82f881d3c74820e9803fc78bb265c3e9bd8e6f44604b22e06e52067542d596ec70664572f755184aabc44a814d3b3f040b69203f066033b41e976125f01000e3b768cab2cb0db992ef8ccc04363111d769640d653f23825a8573cf990c1aeafc36d3854e31f476d835f3d6d1120dda746d376422de018d438d41d79415dfa13b9634ef59edc0ba4b9a49966429068b924ef0ca622707e0c30a839bb8fff5750d4659fb302d87a486974923d670718ac96628fcf2ec899427722fcf634e954b66d473caa644ab753ddaa88cdc93bde1138f30beb5913ced23cd30240055f349013a9b33c9be463348d221a398ac3a4722c4293a653e119675c3341c6105ccab36598afe7051ecb8bd12dbc4f3c839aaa5149712aa80db221292ce4a05c35f101826c978d7ac31b4687a2d5f422951782681a0354c512e39766eef8a5c53ce42dd59577a07549f4f5f8fb0a659ef2ebd508d9824b767783a469fd1cce34b75985767d09bee9e7a594444e610b953b26b9f9e6d3299493892823f66253cb9f393103bb34c552efe5aaa530e3cc538cda77395dfbc6139f5d7a4c1f048b997a5b6fb26740197a25817db138222e40e6a05c5e588fd96333870698bb2b29df054cbb68f80cb47d77c0b4ca95adad11834b1a795f37e25ced5f91c87f39850eb5c1fc3ce877d5b0f0ae260d2c46767c5b82530bfe11a936a7076c810f3ad6fc86f84b46bc383c9020f9836a1ce6caf5ec3a9f2994cbcb203f3879c04634b8a12ad0faa6564378c8efc2e5a46648ae25b6bc410b1b193e01fe4d43fb1b1e90ddf56c7678642642a7c3317e217acabc9782ae2430eacda8694d371871fc6cbe2252cd3bb03105f7c1c40fe26ae19135dadf0e123c174f8e6c731fdae7bcc9c201766ca6eb485a375c9452de71b9c1ea9ca5c51644b13415f536c58460bc325bc8e84a2cb99437567783b066335d0dcf0ff6b70b55f208a11178a2013805be788f8666b9a3391d7392c9598dcff10c802abf3daa329ef1dfc54319f5333e92c134ca1ea459739b01847a0830e8c12e967d42bbb69a249e3bf849bdd2b42e4cfe6f656cb2f1134112a0ae3db7cc4598133e02701807fc2472546322518d78a7a050503b8bc96be3d715114f1ec2d5e32e1e11a52d5799e484bceabac1b0cf9190f55a9c08bf89b9aca39de3fae74d23c43a88981495863fd6ea48afe145a19399c00b777610fd7102552dbbd8fe8e26c4912d1f383e116c7bcdd233076aafac63a871df4702f9af7d65a1535cd28285aa361ea60686751793075d4d620c857ae18232c1a7267acfcb3915981822f6d940bf3ca3ac90ae1b05bf9deee39692b40ab2a2726c53b91a1d41ddb238cd07b520acb71e55b5c9f888828d93b592a0f59f6606eba543c47ce128cef7153082ea203b1a740a7e9a3e2c8a25e2e00cd3e6c9e9c6ae6335824ec412438e075cb5b4d0b1b7a854a1bc212dfc04db269336a9c20331e79fdc45c3b4cbc90cff7e172605413ffe153ef762898e16f4726879a5c5b9c5bfc117527c2e5e29ec8652c8da760a7021b338025703340be30c000e9f1cde0013c4d055955bba5d1c340da62458d4bdedf8698c2c681814e007078997ddebe2c463d463f63dc34d043d992e93ccf201c2d59f7619ccdb7b4d3085e528be1f793eb6773af5716c9969417537fe300195a19e664f282268fc7915d8686e1f97d38853a54223ed7e635e93ea06091e015fd361ee608b62ba8ec8d2c55ce9a93cb5bb7413a28c0191f1305f87cf96ed335bd64142785a9da2d15cf1d191144844c84beca5d25f478716268f086137845f9f1482fc35ca2408d5fe080feff89e0d9ae49789ed282db78aa92ac1f3f8f16786f744d1395fb2ba4f243ba342468d8219831b7d64c7cf04aee31f7c9682bb53600670a305ff1d0a4f67770ebc4edfa3bb2724a6d214afcac8d0707d19c1295b541412ab8c01c85d3988920800fc60d923b7ae64b00f168bfe9c6002439104e1c1cdca444dee2ebd92ab55f4dc75d6950e2b1272281e0250b56f75eefd5b5d9d854372cca3ac410a28977a0e21edd1b8bb8de0b6b1bb77626656770519a193e2dde787e4e113fca129e5576ac951d71ab474bffa1552ce8dd42baa086a006ca1e51af75960bb2108e2c7478a1ddd641277390d029743e0108c932e5af95aceba06ac5f326939385723e1e541e3241a432c4fb40b2ef717814acf506f818e6e32a06ce14a618c95299f0f14a61f2b8ec048d0fa3402ad42cb6e89e6fedc71eb72d4f4056697a80ec1117fb108800a177a4af1b7e30f4d9c162bbfa2ea12c7e378c47e2b66e1012f4856f70498ec91ac2cbea12ae23f2f4275034fb7bebd4921e9c335de1d6ce88ffdedd99ca2bc670c1aba68cc158fb48fe73f89566f5815b32214d007212d4e2b0cc29dc1a80fe7fceadf2e5fe9ca1c9010e0cc70a1162f0b6d8ed10559738a222d2b7fe0988f86a31ae5590c8f88c215879b30099ddbe50906269e4aa317bc5b33f77dae8b781aa8d7c38aaaf8c938f21fea6e6e8c3314bdbfc7f28d70952193be210c96c3e7e06d143bbf3e1746e458c2adedd9e85911e73232e963ba640007a5f5a217cb908c9adea14b56387c8ba26f48bc5f9041dced92669b5e525474226c868068a8eddf3502e15720982fe8421312a154b4765da5ebb243f2a02242da369633cbb46661ace11ccf3a69b7e59a0734f9ee3cedfa425bcbc9bd871430ff0bd4ad2bc9ccbf8760d386f66abe8f1be9b7958bbc1b020f1de408b869c8cd091ede9e659b20828b443f04c3ce785a26c464071abacdd55ce9f0e1b1fe5b62cc62689f3bfeeaa85e08493504cbaa5f705edc79821b9136afbb376ebf8f06c7aa6ad18340e35e2f90b967a80ec082c1294697101f146ae6b929f88e76566537ff11b721b04e8fa35d7598cd1e80c18b3af66c8fb4073c980b9c51756bf418aadddd936482ab55a139af3d86e9ed0b8be4808ff91c6a3be6bde5b2e112a8efe0d3e2c25d1b9a3ddfc3ca4a2272bd81a56cc44aa209f59e8157c737cb4f3788360d3577ff0aeb3e5d542592823da628744bebce28a65d87f196897291862dcc4f671fe1558834b70dd337baca70c007b2c26cdce1da2ab72565c37be62667de06d864ecfae29dcde2862f841b67a0ae1d1a49cbdfe4058bb0fac15b1c9a1ff74aa16036fee892cb79ec228974b98e798657ba5ccb27c88bacfc7ed37d00586e1a45e5e21dc3fe59e92b601b7505f9e50868e4c59e787e0e48ea56089d854e31ad789888b375969df9034e604c00e0bccdc465cb4d518d6827585999ff9f633436c63327ce3897ba10400c898b982525c913f66f0985d4c84dc91fce23609406f7a54ac3431b54604fb95df793842043a5f142511f4cf033c0593410ebec1f02cd2c1eaee8d41c7eb4e16aeb3739345c52357d86a4728ae76fe2263774465cd838caefe9ef126a1bd05081a266181e6987beb8d5914030d6e44ae8186f6b68eaf14ffdfd42fc145ce07a7084bf5ab7f0bc4c97aef8f258c3c08ac05a74ec897646b70fcc86ebe0323a99cda79c0bb9ea9795851cba702e3407c6acddff177451b8883e50abc27068255a71fe6de6923039b47903582e07517d07bcc7c32c25bd82822929d589f816fec2e401f38f3c9df72ba8e489f7d28939af44b1fd5d0513a7b0e9d4e360d00513c1661415283aee7db3c43839f2c4a667541a0ec559b78041d0c96b541523e3ea0c194233855061a96d62bcfcbf911d3c1885e2915b540c12723215b5e8aa2a45723e151ebc040ca1c33402816fd39c3e3f1f1bdbf8fe556242c3b3e1bb1ac8cd6ea5b91fa02425063e2930422760c54efc52201711f447f59d3bf8f86facb0402b4e0ca7b33c993e864b89922ddb027828021b05f0c12e56418620bd4f91c472896da9f24b75c000f08088f2aa11bf490d3c5a233a220cba5854b8d73e54fafad8ed1f4aaea54eb16b5914847e0912f1439255177e2cd7bf28043dd30d153b93010200117bc551d6c79cbdc9fabb4a4e36b2eaa1dc56394b0ca8fa65a6c1198b0251722b464a46b157fb99d5856a6b60c542d3daa5c1a0f2fe8f3da3b34d9331163edcb8d087de9729113e202de85853829609cc39ab8925508d5966d6e986ec2f40b0124043a75674b83196ee635d49d0ed2c5ddf49bda718035fe8eb426cbd81c610e080dcb137f4c3e0c7c926aceaa28baef2dd69f0c91e9fe8aa0b3e97d56998dc0da5d68fc1a4a2f5defa4435ee54328594e6fbda4bbb9a86b3db584abec9e44a4397dc514e21e5f926272b11aa728b328594e79b9cac44e8ca3d8a94a49c0f7d058b2e16974c9b6e604544dca9740a295dff8ddec4d38729a64605c6a37b0d17b81a3ff4e5875d7fbb6c0674cd47842a7cfe186227525ef21f5086208e623cc9bb576b71d278b36224bffab5e37386228b7be85fbae24cf5386825e10ddd9fa7903f60741caca901472e7cd6b1a8d917a99d2cf351b1e8f828ec48d024451f49df6263e53fae70655643e7b6bea58960587dee258309704d1179f04e2a9bc783ebf2336ec0863c3013835bf1e6e0f339a2900fda6a38c7cf28ffc99d8ec233b2d7142a5d41c93375014e732059f8f04363e9916ff4821b3ad2782dcd503662aabd80f7bd2d5deb5ec1be940ca2c94361565aff1be375dff065e10846635c5dc80aa8099084a83c679c0023715f18c253e9d0b9d25007d083856ea49f153e422b9eccf1c4ab5e2e22f56c6881f83410d44f035a0446695a201816a903fac923beb933be6de6074e9acad164c7f402437b8fceb516e901124375faa01747bd134d01916190609676bc1106000400a2ab23abb077d394d7600bdf71ae2cbc80b53941d03688f90af9dc6def2db7945226990272067906870619062ec8622563e583cc5aedc2a8b2a2a83ef094a04d72042273501e5910558a0ea3e870ee542a62907d945ce8c0a7b2e6aafa4c2393355795355723e59123e5d1a20bcc628d2c168bc562ddabb90040835a2b90203b49727e585519905b9adfbfac99c7e94ba530fcbc696864ff1f9ac6f36582c596fd0e4008d15e4472c1144a0385a0946ce0c77cfb3fa612258690ca13ecc07c220523a96cc11f6a7ed0e98525e01e3ac68138d1038844fbea21513d4a03852891af0487ef6eb8a92cc12199b3020361c96432990c084ca973c16ace178f52a9f47d1dd3315eebd7345e0f32b711582cf1e80953c306136c79bd5eaf170f4a776e4fadd556d7cde9743a9d4e7d3a49b1dde9d434d3a224e82f59732afb57a00412045dd00de591b5524afb54c6c64024d78c9160dc301baeaf5d2e97cbe5bad1341998922bf4e4de9b322283f5b8cfc1645007925d1003d37b6aa04d7836cdec9e486ba155b2991ce83deb3d88f31eb403f71db803e83db074614078dfa97ce8adbd302094e0845ee581e8defbd0abbcbfe378df49ef45823a78dffd0e1ed8813ba8803e409b1e42c0a06f94cd0d68d4a88e035d3b41a0517bddcb0de8733c1004e6742007b2b4cb0c9c80ec2f8637b208fa031df29038fc4bd024ff4e40100df359754c0e37360db3a5bea5d2f50b83c160b01edbd6313738d7559ef4a8d30529643f2e45a6fce0e1cf918f1f2e41f4cc09ff61b4ecb66de5fffb4fd39547743705511c36b91981c5f6b13e369a26c302da944a2adba6bbeb1b4d5f33d91cf2fb6b1df6fb5f64ed8b30e4b6a01843eed7babb47600e1e8eb87d6c6a5d6963776bade153b7a41644df7a37c86c77f4b0c2de7103fe1ee407901f34d039705453fb96fb62c72e88310f0f79105181c58e75a2bf08dad4ed63031ee80ff4cc7c4944f62ec3be17137bb64204d7e1e35e6f8896df3435aa492b4df2d77230184d622b14e80a018b1d13e24bb4f0040af43ea6290c6fec5d84c0f2350e05929b1cb77901c627f470dbf40c012c5c1190201210a87a5407be48ffbef1d075c1cb6204fbf75e1f3fa0b01060670b27fcb864912273e5843132945516a5266f7e78e0f88ca4fdc47b00ceb4639a0e27c96fe24fee8529c99c78424358db320cfda5015e0e3bc6b1dfebddf9007b16c3976fbf7d72ff64cd6a5a6b535a29adb452da9f5bc74d6ecea9fd76ab0a1770fe407e6f0f324b790a9980451cfa00cf077061f6f0260cc3300c652a50b0583b3e4e8e8c3a3d3fad252cd6e974f2d334bd0b0fb0dca9d5d3c1519225fb9e6cb0be1c0ba061408e6b8b1e393018ed31052989c03a758c3f6b64b1582c16ab1ba3fa4eb7efb45c4f92f81c199df03099d6823aee6a1694298cbf4febc8c062f51d19935d09dae0d0a6edeb941b782b287617b7491314db8b547f91cab3bb76aded3230d9a583de6a5cd7954a5c186eff1794d509aa4d41554af628d9bf050c2c4a286db373f1f73b4d76766e10c15e5da12b7437ed3925c8bbd654dda256e9df37eba49d942351bb0f8a3ad4cc2cfbfbc1f4bb01a6ffd5cfda3b05b5a1eeee779a706892ffcb4564044fef3b861bbf56db84103cb5d69a4aa564ea5e8cbf0f5df3ea779a1cc569dc48a2bad10b0ec781392e499250019523c44302a5a4be1099441150dc0fe15ea454c90791be6893bbc2d8419b7a340d57bf22f474edf4f8f3e8e0a80e64916149e45b0227718be86112b218e9992689da8164fb0780b2c7b9cc12034cab45c281154cf950162360ff9a54ede9e9e94969be8244ba6e78a48ee001a7082c4abda9dc566d8dafc4644ef3042a0353a031ee171ce4dfef2c7a19278a8bdb3a4dd346ec2396997a3b7c8880dcc017f9f65463061a089a51c055ae38c1f345191957c39c0858fc320ff08dcbe572b96eac8529bde06a576ba90116672bbbcf88f348f6f76f1d99abd57ca249fe5564bfe26a579bad55cf6a9a5c3db5ca1ec9a4fafd412a9552f13039a2556467c94ac7a6521d624a296e1affd1349ecbd44c754cfcc010f173ddde7eb574da39ff86ce13d46a1d5d9fa1a60dccc149fe30ecd947d6d03354005030409b6c26068a9023fb773618681f28b6051d2ad161901734c97f0b0da5d545704245f2fc00e223553f654b32211ba4acb5f46d8d1be0cfe2ade2e765ce0a0f67d0dd73ce29042cdedcdf758fd2fe3ec7e89eddd3eb29a5d6d7ebf59252b618f885295ae15a33724f0a6d2623a0b76d6545241a8db27892af53962f0220d11edafb92ba647f397221922588e49b26e94593fcbf90615841beaab5320e8c31b69f275832aea203a03cc24f0894ae99ab1be2722967aed9cc35a4698690fd81e81cd2350212c81ca08ef5b2c8cc359bb9bc90e6236633bd7d6665b8ca8384b6207380a6cce477d23d97b39d996be6da99cd76546633951d2fa4a2329ba9a8843c5037a21d539239e958898e749a0682028bf2557d86ce2d36a78d8571b5582c269d890d14652c8c582c16eb989876da90d0d3a941ad4e010a7296b2ae3812b3d2130c10543c4c8e6815d959b2d2b1a9d4bdf2e2bea0ecef3244ae5282d6caae1580b5970e90afbd8f2b53d394adadb55e4befccd6c3019bfe7fcea969778464b3c17d4cd348ef0d1ac01ada54f35cf818a0661c6f0d173ea9542aa569b624935ab142e53d4ddc088fb79c89b3fcc82c489069f27b31fe2ff9ce94ee517e98589a456f69de0a522a85e1f789868045e9726de1055fea835e74003d077aeec5fbae0616b867f739c14028c1d9be7b20ee730fc4f6dd8b9267d65a6bb559f456102094d80782fbfb4074bfbd4a0aaea11e6419f9e54507eeef5b10a7fb2242707f5f882c554e6051f2dc518e129cfb1b9873c1fb72b3bd041ab543f57090ff82437d5b7f48debc1d3e54f00587aa7d962995749c4e548c36683539071b1ffb355b10e7c6c5038f578589fe8243cdf56baea00f0fdd53b12252f503909665dc4593fc7978a4abce66b3994a652d4cc97a8b162e4a4ff7fd4ed3fffdebffb53e3d9d4ea7d3a9560d08f6adfdf00646867652b26fdb659a46241bfebf11f07f7efbffffaf69214c496647c382e3b8e61ac435a874c107c5ff40d014f09d241f2f5e2f91cffd19cdbec4b1bd6405d9b69937fb15ac12f24033c0957b31c62ae0686a548fcb759d87270f6b6c0061f17add3041d65a798ad234f4b7df46a7918d87cef9d8b034d5d69fafce81463e71a069eaab630840228956360f025b70bb2f2ccaa27cc96aad13b3e79413d6e385eca1b7481c2ee5103c28828b274aa0eae95e1806fc00fedddd18f0d087051a878ce6022f7881c5d3fd6beb87803e9d7c527aaf70efbd2cd618d6efaf608bbc918de478112d258ca0842460892ba8408d64113f80b748edde7bef544d924b228dc35f06d1927d46124e44e18217f44c137d9ad788e89dc06aa59193112c46963d19b946aed0a28bd3ddb61b9ccd434a28a5d44585e773327aeb0a464a6b3af7be2758fbcb35a5d206b7b9e95ed650307c0f83c0f3251dc7711c6b6a8519ab5fd6bdf7de2cc6d3add77fd6ec7f41d0de12895024c64bc750e346e3946ac0399d28a5d34a2264101dfa9038fca511582821dbe1a1070f59570f692fbb40b64dc6448ac5daf1717264d4e9f9692d992c96df9b6baded1784032cf66c4a56c748264e5a8235b246d6c81a59236b648dac91d523652663fd1c278bc5627163adb5ced96dadb5d65ae959cc4d8a718924525838010abaf21fa9d3c3439bf3c1f9eb428b2b8034a98a6f8a1685e124dd8bb1ab65f5de4b297d176986339ca00ff06a86ae56abd56a954547296dda75e4d93d47228132c50c25649b82044a89fc7e512ba0518d1261d0d128310697eebeb53ed1dd543685c27a9c4ea7d3e9eb6826d25a682bccd3e964ddbbc1450ac6d97b8cb8a585e2fb6052b07c8f423c99be292e854a0a83c160b56e33d85863032427071b602dc555c79aeffbe4374d8d29a555368dc8a5a9c6f7792f1c950c820a7e631dc7711c6b604a5705d29360fcfc1c71af8f7befbd2ddb06622cf64cf376685c6c5786d0ff1351d8087d1fa532b244616e18561bb89a5107773a596b7b8673e3e272e082bb77db4a32271d2a36b0d6b66ddcf77edf7f18964a41a05a4a593df9d2a76992d042c60009d20543902a904070c9026b789a64a9d4c273933c8d8423b870024ac824e30a14f74974cc7b37ac5cb83b66569be9d33ed66af665b67f2de8e3077e1b2d783e3076775c9291858cb89ad55d593b3e4e8ee8d49efa535b7589f6a78ef125f25dc4c0da8ba78d033d9c04cbf15e8cbf8ff284a2247c654dd3bd5fc8437978b49d49f2dfc1f87b6d675559f22b0cda0484b5d334b3c2a6a9fbaf8aae533c91bdbe6a4cd3f190477b82351d0f7d6b42d5f1d0eb121d53593e58669621e8ffbb9f4e276d44574ec042e046693a2c6f0558d474b431fb6f4e56ab69aa3b93e4cffab07ff599ad9decac2595255282258f873a766aab89ac4b54167e10e8d434dacf2456a79506ced5137863f1b0785e5b12464dc7675e7090afbd0682a019e02195f504161d76c3cb43677981c7b90549f237c10954e0025814b2385759c8fe120b4d6329139ae40f46f6d7aa80c7f8ca188938620ad9294f93fce511563fc5f744eda10ca31b44f08c1f7dcb772e376eacbc68e5452b2b4e7af493e7832b2fac8cbebd95117ed10a7e11c63e334634b78ce8788308c6cff233bea3e1ed98f1dd8c116e5179115679918a0a93ce2ba3ce2c31a8b4a8a8b0845ea4127a5128c4834734cf1851008c6e10c1a167c1213c9af1ed8566782f0a792ff2bc232b307833bc956fcf5b01bdc803bd0804d28c4734ab8c6c8c6e10c1a095102834c2df1e08772f02752feaba23545e3adca9883aee45348746b4c6e80611ccbdf7a0ef5440202eb4bd88db5eb4819e680b79dfdee6dd176df7451934a2b01b44f07dcfdbc15d90f6a2abbd48d39e742e1a48d3449a881bd1bc8d5e186d7fbfebaee5ea8b6c7d51addb88f376b457379bce1514790e684af31dd1ac8d4ade0e39238df024c180840c8cec88322f3302d346b52af0b2030d1f7e488345e558ed6e5c07f2422a786506cb4bb0e5e50fc94aead77815eb1338ca10988262a98565c60a560979a08edbae5647378987b7e5a10cf37fe610090e6bac54caf7893bc5ade25e715b1de31fbbad985df90c8dc562b158ac56186e1b3283e320d2596bdbb60ffa56a507997db81ae8181ffde8180e34c97f4a63a1638cc03ec86c83cd276a53fefaeb0face918971960b16356d3789868251c414629b5d4c260372ed74dbbcba6c1e1c1c3049ac65f87cee14d6408ba2cb62b877d7787e23f4efce5611399c3b5f02d3ac67f10fa4d0eb0f672c17842e7b0509a2656036405d6fe8e2ee80a4cedc807b9922be831877908058c27340ef76142f49e2c854eda4994c80aacbd286198a5660a72d1c11674d334be6d96ca30cbb01e0ef55f462fe4ef07550932c86c8512836920ccdb81031bdce13449b9bd1d25af12d63126975fc0a40a265530a982a9605205f3d48fcb07564493fc93b84ba854150683c1344d268429b94b117d3bf7f9d5cb214bb0d625dd3d7bfe9c9352f97211a345655ac82e5ad26716c9220ca528a0b433d12b362cbdb76d0b71f762fc7d73be5e331cc3681a4ae9f705f6827691e9ac7bb9fd7d9ced2f98a3847ecefd0d0471b8efc09c6da43ed46792dc4d3eb989879b8f5c74d4c09e7792a6a4f413551950ea33a67c777f057bf6cf3969cb30b350a132097dbd7854b144d36cd9ffb6eca2a516df146d644569b480d2162ccb1f92722a577445a9b596cad4f6dbf378bd569da715f8feb66def620596bfe517f2e6e17053d99e5ea7d7e945a9a6d55ab56947f6b71112eea58903256b92aaf67524336a134501059e9afc0a6480873663c7a8827c1fe4481af190a5e3618d25f857a7d3e9b4d2057ed5da22053b361de9487de88f37a194d2d9d67643c0f4d226a09eaf113b51abbd46550c24c91f8a5b039c83ec3df8090415134d339f12d124ff14dc16e0263e24522c59417e35a98cd3b717e06b0674ac32a0e3376a20f6c570ccc739d2918e74a4231d29b5a34786f3509f273d4d68ab95f271aff34975308f06b2f1940dc6d84507d3c862fbfcc501163f02570a196f47a96774ef0db07823706d804507146052f0c7fc0dfc68283f2678c10e34944c411b1f15587a9f16462f14ec41661a190143e03ff5d83076ad24ee2ddf4942795a5338e21af9f11e28378a942919063d603058ab455bad56abd582711ebc032bb35626673b49e414d6ea48eade0e67a934effdff89f2954a61383f97042f8b49b6b49e99df33d4da0ec8f4a43fe7f3b54a36c9be225eee0d5c83017c3e2bb0cfbd51240e079b7c51ec3706165be644d0910711c58828332821933b32e9533f5b92c9785c902d2886d9bf276011ab549f4c66653299cc358d8509a9d3a5d2a9c70f1d32ed6a283df6cf2cb94b1e6051a652a914b60207f1f08709c4c31b601b0f33e76cd960e9e652f6f9f762fc954a94ee6c4934edc32e3a7886bc3a985a4dd334cd45077ffe558145e9f2fea2641027d233128b0efd7dd6a463fc3d2ff204fc6d810528d9b378430e68277903167c71801c9224cbef3c4d3c662f3a74bffdcb7d1cd0733c9ac6da970b6eb35fb8e52e1185f12a955c2e2e5e6e32ced4a44beeb866ea4c0ca29042642a466da68d338bdf476b287108601422256dfce7e1675f73a25dd7089ae4ff0ae2d2709e48c9d2e5baf74673969dcedad2586bfdac10b0288b681a09832c9778504afa5d5a92204e8d7f372a17ab45850d602a001572b4e9a62473fcf03789ddcd0fdb2e1be56be2051dba74429a200a8f12a278a9643d3f0401a292a9ac949a56925141c247172a58c999b79678919d29ce4ae22a377267b3eb0a75d8755daeeb72699a9351177afd14e1083fb80b21e1775a3019740e0f49d3741e288b00839e915db876ba54bbb7d4318169070281bc1dd47a52b0b433ec401bc8f9e039ceec2fff8d5e70be1aa2d10b8e0886aec6c865a3171c1b5fe36d802e7be1bec6db7818462f00001d06f0857b1be0644d12c95f38500747bdfc0b3855e05cb158018bf435d6148551283ed3512f9a66c6fb5324c81c2fbc3f7dd2349caffc26c1df6eaaab49ea1c3589c4e18f1fe4ed7071717917305c19799659bae71934ba200f3db33c68d4f2dc88064f1299a3fee055929167995fa0316a195d19ca6719816428bff278ef5f7f425ee5f12a4fa8feacb0b45c965538b1c78ec581dd31db57bf5178e443cd22a52ffb2a2fb18a388b468d92a3fadf147f48d6ccf3ed88b3822261bb9c66c7eedaed6ed77ad6ec76e738b388b97c7e26169d83be248eb169baa7e981ccc1bdff8c4d184c86ee3064f9e2e4c2fdd23cca9795384497a178e51c6b963fc739ca39ced1da1217babb769d05a960c078745d773d0fa99547cd5c026e0f87487129fff2d02c8f697a1d578acc876421bb2c0244e7f841e2f0efb8ed3e4c7a7e79fc2073d4481c8e5b4a901aae7b292508d471db1dd18ea1114577d3a63032cc1e66ae73d63a85ecee5a8378bdb9b6abe60b4c9213c9f6de3798415a74c1d504b17683298dda181d8f6dfcc1b05b27f8003421f8649a86fefc4ae9bb57e568e6f96e79342aa428a59606994166b320419c8a56e024c834758faf7c3d7ddbcd20332fa363fc432dc062cfcac839e20f19ca689a76f235413ac6df0637491d27f9087af63dfb9e7dcfbe67dfb3cfb3cf3d7b027b79f83f9bcd66a594758c82ae7bc0524a942c516e33c73ad63afac8a6fcc49ac0a4b8ec0c4df2ef9f41c68702410a4d63bf067fdf7f18964ae38f548a04fdafc0cabdc51554331a2ddc5b582196c593183cd90aafdc5bc89c64518691e5e8ba208e4613b86e72945a931a2d65f54a3d19639a65929d8ad1d5b2790fa8b917e35478f21a50b3643205f61b64110f53a999eae92daa2005398e761cc7711c356dc4e3bdf736e8de7baff424e028ee4e12ab752f124efb1e5d080cc30a3d1a765bad56abd5dab69393429892cc75ce350416ebde7befbd187f5f186e3c2aa886470f27798b93da095b7fa1d5cc3bda804612d53d4882393218d9a9012a4788c7054ab29e3005d5fd10548f69922dd0ab80dee845822150f2f44cd2448140b9e3f203564d1658e648329690e20a548e904e250354fb0172848ca04081fc00fe42249420a0baa75bc89fb1ea6c033bee825a941564fabd2c168bc562b1340da624e34577879c8430f67bbddb5dc4c02f59c44f28f550e87a28a512fc2b4d7420abe82e64496b8f54e9482564122d5f5eb9822257fe1be8ba7174a078802cb9df3ad18683628f78d4733e40e5a987543c9145e9237b3c1731700d1526a15105943d1e7a61b85a857a7a7a7a7a7a5454429ecc49078f8ee1a1478e4c15497946e8ee2965cbd66abd3cc0e2ff00e2030a58fc49a92606a52d69cb8be1bd8e035a844ab5ea696284e7881613d611950a4ba9699a141ccae26f4460d3e988eba83ae65b021ed2446c8788208ca9540a259eb2e31d74997a5807583c719987cf500f5d0adeb2f8d26b26583c65778005dd7ef120c116ac92328a8aaa542a954a55ab8bd3420725f67af2e31a9b2ce96925d1d9e9d99428321814272f9f1f1d4d753aea96658f542976655556a7ce6c91ec4fe7e974bd569223536c6ab6b22799f98caa738dc92872b25ab2541d316564e0da349e55a269c4e82a9339fc0a4d233f23b00d223b17b2ff8b1358ac31d3544d552c365531158d26f0e7049326cf0d9d25386bac639cf4027899cf34199866f1f4724415e378a629e45e9c8bf3c934bcc8f58872d5ca3cd3447aff97186071aa6679def0782803f02d333ccb8d9f31fa9596c72caf32e3432befe107a97c17daeedbedebb3805cc8c01b0d5076d9a0d1049e529e9ac65dc8c05a67030483b76349f6afb5f6c000a2d104be3c31d89031d45003982304755b35d400e6d89d1c1a7e088a34caa9e149df85231a46e18b7c18cbcafe34802f127c911f860f03e6805536492ed2109b249fe315a846cd9e49f251a3381de0580b7c86c7675ad3545152c2c4bcf803a0f1f2657c86eaf099175ecab7c9e1c667ec7faf69a2978f011f3f7ca6c6cb07f243901c69437584cf742f6130c202c0ce911892f07c8fca4bb009fef119195c4e6e3c99f132c6f252e6e17c19037383086ef9197ef4358c94e0d0f002007368f8ae86b763f4dda865340ac0b7d712009617b5b0bc88056c0f6f8c6e10c12c7fe35bbefb5866f8f6586698f12296192f9af1eded9801d23c1ad17c6314a0e5a8e40d5a841432120100000233150000200c0a0483e1806040261c071d1f14000d5d7e3a80583e1b49844990e45808520619a30c00c0004208c0c0500d5500727d467899c61e7a5026bae1b419262d0e3e122e609e7136829b1e00abdeeb0b25e8154c2322091a72764ed049af010c2e0e52e4b0f84d7042ba258607e61b6ec43e64405298c0f19f775530cac08d7a65da1b6eb45531195310e13e19604c7b8d72c867c8833a25d0d46a5369627aae8b9f19349ba67834dbd4a73d7c6ac85405a0000dc88f2024bbdd5199fa7cb50c2b8c595df42bb4270a28e2c3cc7f62f5ef825977e0d683f31d4003e3c1b9e97a8e1e57c75cc81b0d7e3bfc60cb0c331564ba4dde05ed55367bf5667b57eb1e48ca93101dc9e72dc524db89be5e45c6788398e7a6a074ef6fdbfec8cae7a1f1640d3390020025e69faad376448c812dcd5e178053deca94e46752ee32c075c0ea7f4704c854290b9aabdae08722b9c76b1f3d3f2a02bd0762d8c280dc7be47d1dbac92689d53f3468901e97b7042e7b1569195db0a48d936983e09cbbc956a06d74c27794b1a7b600e49ab577db8aed8a5330270798b35a155fd85474ceb7bbd613aae6420a4903dc5b3a7a42b73113e81bdcfbca02bb65a72166c234dbb82c7259c81769d38c0a9512949f57e6e8c75af47ec6471df570a319bececabb3a115c3aa549617967625fb654c0b87806317a920643441673dbd5d97fa5f6ac2fb00f94ae8ef3adea2cd51fef9c5e46b86afed0f2e4f21f6221348336332bee9ba0e9819b7b7a66ec9557d9f129daeef416463245973f43ccb66e0b9a9d9d1fe1caa96ae5aef2633630c44112526f39d03c792bde1ee111e6aa7856f7267c5b1112f4ee5158ea9ad4b488a0f9318cbbadf4a9bf88319c765cb8b1eb077d7c7e1ea434a260228e1b649c37c0ef5817a079176e472a5fcd7dfdc4446244f74cefca8c942aaa4c15163300380411f779549baed1024a130b926f9e5351c3bc17ad313a93f7c8c4f5f8ee4adc7f893538da90e40d69c68dc24498ee8536528202867adf556c9df43f899ab12c10f6bac8a714babd599302f05bf10442c7fc50c0aadeb437836d4cbe63b6af33bc2622c164e75e1f021ccbd70c871b3054b29afd566e684092b7678e786e16e5e2f5ed23a7581f3f6d607b3d30f3863a5cd7e089608c906dd29c69f815a0eb81261180e2c959f1bcfdd5d66555c4e4bd4d2aa218bd52f18e2d4caf7655d69912d9f43635919229d4582fc3315a15ef539a51368b118c333543415c95528c88787d9e210304e495d3e22ca0f68c06d8ad9721b713c21c050bda45b2b60a688acd5833590a918ee13150d24c1841b627b1ed434fda5eae54e41db11e3a740d4ec79652adc9594f1cdb5545e3319c5181639542860801426906ac6816617d410bd6aa441c0dd9d7989780392e8edd51c24d133483a3c58f5b2b97e4cd2e00708d09681927013746614b871e59d9b4ac11d897543868f675a725c2a28614027144bda01ff4281522d05e25116ef4ca60627a31cadc0b51b0ae1a270ed1fb8a3296faff30138f7867eba0938e2006c101ad7232a7b30fd1450bb0b2e1502007ea2155ddf5f0eecc1d8b038123ff13321cc0957deec2c4176be92fd5796709ac588f5cd70c349d3710dbedb306cfe46193135a93ee2645110e14ff1d93c4c0c2406f2d2ddd7ebfaabb7abfb6b3b8a993a61ab42e547ff25bb4d4bafec00b85ace23f12216f0502bf3d502b650783e25c7ee3acaec28539e54cddc54feab049597320fabb020f314afdda26d713c6873a608bc246628be847796c61c4cc62ce242bae2e9f0ba2476032cff60e48139e269139a3a697645ea15262a39403064613d9f5d0bc1deca009ff73d94ce03254e69400e60ebe2c0ccada40bcbea707768d915efa22b7384fbe2a481adfb42cd4068aee31ba2bf893fe53bc2654925cc8c68f5148fc62c144b915fc3238d4255cc905c690b42a8b3b587c19d40bf86213a43545b860494e8f9b698fa6b3e312911fd24aa247e52cdd57b61efda0893fd451e7e73085326054c2c518d28d050bbd8a9b2c8c604eb0a79553bd5ef56d12be5c88347a87aeb75a4985df741c9eccaad62a0516695888983457624901910ef6f8152514335765e970b698fdef3d815c4a2c3cd337f082e93baa59023f0b08fa9dbf468f6b1f3c268b5fd19ef94a22325c28cb29d8d5939da248db0495fb4b7002207cb3bd4d3bb364ba508abf30c7e85c05fd4dc4a845800cedc838703d477f6bf6a32c1afd3734fb0659e7d5789547d0a75fa80e2e07e980f57156a30b23beb2a66b0f0fbfa1386eb08b734c47df094846ef5525595c6437132a22dac234b4f45a5f67a9e892443fec2ed736b1dc44bd835db3801dd91b3485f9c6493697c48058484619470730639b04bbc6f7dbae79c1d9f234e90b846d06602044cd2303e135541a08df74dc40d0dc503810ba6798f5529036acb3306286d94edd9e16a06e0f8e675cd475139a617f5d2b04c7bf27a51218080ad3f07d890667fde9510b01084ed98c8e4a5768b16da821bc57c6e312b2a129084b93d88e60e068c990933c1859ac2173c7d56c92c780320017af2818ef25318179f6458e6ec50a82477cc5d5a0cf332d03b94f0a766bf32778be0881184bbe0856bdb96162c85a8fce8a6fa7cfb7c6b788e4ec528a8544f2a33ace17d08ef6c5a542815e8bbcc49708dd91e840a5bd90b9a5e1be84de227d9bc1b710e7b425f1180ae872206cab345b4de4869259a8b4c89e59fe29468b46beb7d5702241058378dba45190e868d0f94c33bcbdbadc25491167e5952cb612789051f84306a7a8b77c51e861f6f325987956bacd870f5bc9859d004334fd36c98d25e5329f4c34c92e2b3b1bcce6eb798c27feaaf479768c2aad206a0bc87864dcc5a8cadc1e56df16abbec508aa98d20753586931f3c3a8a2ec5c588cda2173f11b95010d10a594076db0324f47ba299f403ecddca08e8645d5cd053fa5263055de99747de1a60184f95a464b75490113e835f26e32bef3639961846f2de83fdecc50500c589abb7c6a90a2bfae466689af5be0fd040bc8b871b442d11c07b9ecef3793d42a1f920a41a1832206d22c1579b5a25828ea5969dc42f544ccefada1de4ee5189fe7eb190afe8064824a7da662b4ba46e3c1ea8d03321d93fe6f95d3050f53f93369c647c1b0651a5467a63fc041d0f13dcbcaff3a54f0b65389abf2246949e1cf79d7c5a7098760f889cce4f475811deefde9ada6ce3494ca21da97b86525756f88019c7a92b27bc6fa00d34b7faa1217b542c1a80fadd6de0e94569db4cb29d17c83a1181f37aea6ca1131828d00d9943bfb48664d589ef45cfdd41fc21de96815e42f12fe5cbc9156d1baba91263cc62b776a63dc3729ded5373cb3abbec902e5267061d4d3ab60920cf2696b63750acce107af0a25e81588dba65966eaa351ab3acd4a6a5de3079f7451241b083fbe540c353a8200db83701d4202de0d8e95d18c06df33719cff697f0cd6d2d18c7f2c7c4b775611e2fdb7457cd4aaf6b8c42fd79ddde7d1411f7b777226e0a8f06a7a4465957feb1eb9d00633c16d77065dd8abef81ad690c980b72ba6fc8a28cbeb1066a2504939f6a4f233b27300cda089f6715629d2c0c1f2976326cbe1b299d66d5ac414a26455be2a163bf3ffa6b5e3e0355a6260cf19a8e6b4f52f27b145bfc64af8a7369c66089bc9bb97ae6919ef33cbc212b46047a7f2445db87d9be954277e38edfeea777cb336ad52a07ee4a51073f66bcbeb25176d5382334e46012447e8409008d1717d779c006ea2a9386f15e95ba76f786a09570bdc7679bd8fc045c1bc845b16b26cf18a110a041767f358f58c28cb8a92b6266d5dfa6646911b61421abc3b04a5e09549616f2d004f278254ed593b839a0e341d3a187d13c1273e2f2dd381e90cdeb7888b4fe9c1880ac1af991cdd19547f082525b7c23913f756f4dda5482dc14b9f704e419aa1d64d4e5e8c9fea480683c23ed7123ec5a6a695d88d359e55a42862969980dbb20028b88b20ab72ed039aaaaf329c719b20c3ed58cef7e8e7a48ed4976702891e0f38c6df4c3ba27bc81471cc074c44e22b4008b171e96f6c8492213abd424890adc6d16f30cd928571a9e069171409c64e725f341ea0fa09032bc4274b14cfb771e3a28c1d579eb119f33ca3bdbb4257206351b7f6e1a5469dc96071d8666cb0b1f344f817511a8f426a047777680a41f0655ffe6b118b3e4a9344f757393a68ff4e8a28c488f4f7a24f6621e006f19e8d59e884ecaea64a4534b8e79fae433bc6258cd43e4cd60827d8fb37450ea2e594a46fd95abdb09c571ebb5edd94a676ab20549478ab87c1ef06b40577f22b6e4566c77ccce09ffc5bc96dfa0a3f5ab0baf530f03965970653a0a63a1e7f2ff9aa0a4e7602d5e90f742d8beda8389993adb0f823805f6a6fa219648e7a56dce11a85d5b3e44e4f8cb49c83dd3efd9a5260f4b73a29527a94a0304e60da259e10674450037d185e55ccad162275c6d1a2403ea567faf35ff1120160459987958e6a7891b37e0c10fdb95d9f2c9c9483ff9d53995e1ec84c7cf7980d2d26eaa8a8546b1e6755cd53159ba6c508699f3e1c23c51bdb27dee4ae22e8eef149d31ba6830b5f65de6a2ec34eb594b4371a4cd05d4ee29b3edb1c6aed250b5efdacd47bcf29c5f4cb2c0db6e34c036f6618473c46d980a8465bca4883828d0109062e570a4bf8ba9b90089f23734f5419c879b4b4e29e2ddd6fb803a28b32d79b7c799ee950a731ec41761c99fbf33674d142204a53d7c768968344578a2f04eb8cc48c96e256bd10f3a2c211b43f272fe70328a6c6fd2cb372156975690d42bed5ece78707b15baad97926b384f5324c5ec0ebfe2c52482e8b0c553fb6d2865ede026bc121ea787b4539c9826a31497fd5e8650caf9823179a41780b043a9ce9f34d3bb242ae69c09cbb948b68676a35bdbea43c865496b68130d51dec919140d537ec8d51997275c9ab872ccd58c9022b2dc745f14a7896d3f5d6d6fd1fe2dac8c2143a612e26b94b9de24dc9118e8ca410b340b5cbe41cba4d775b5ff9941fa9ad969aff93c1703c7047dc0d88c211b92ae9a6e30b137d7b8060e48696ea0b9a3402c5260eeae7b30a6742274a2a72b1536407197e12fd9b7404552c601119e86027017f1ec39ae653444448d464788e9e50d89296e382463ec8b61a60ede65adab82fc976fa01a7ee59ea3fcf23fc12cc6b36bc1ab8a11d104f0e9af0ed7c081f5b49ee8837663544c0624d37a17f3206e14dcd5b3c372bde43c3ca41fee50d7b2ce154166eb54b26bc777fe029b3f6f5c6bd6a1233219a63ac94ef615024532ba4081f2fab3cb9adfa80a9d16be798657ede0b2926bfa8e1ba00171ad06dea9b7260db68e06747b82681c5bcabc26f48c299a8f8115c3e5b1c3304a06dcb5c0af4696d5b1dc0012487cecd796c0089a1e232eae9fd4a832bd099996f3acbcda8c548b0e2252591188f159ac0634335b805aaddfbb86b74c4b70fd2afe7cbbe4c719374b0879843cf1badea1872659643eb4307932baf8f1bd92a729bc2249c68f7a65f7464b77ef568e0d76582b1e4e5bd539c56dc928262daf7330503b962622a037b6a5791fbae4afe358278bbff0eb4b15a82bf40930034f970a9e49288e32a446b5c47adb67c1c035847307d19ae1194781b75557be4489b497eb2dd500822499ef474c689b94c564beea68d9bb7db94c889ae5a442db081bdb8853a316e20b94083d911653e8da34f24201d50361ee3285ce8274cd2b0a7529d7c905c9d43657a6ef9eba5035e15c44fdd210cb9df38f3d92dd0b081e1f3fddf2a1834edf5ab7b40d9e887ca82794bee148667ae085f797b1e3b653fce948f5bb1f35d91950b1918ba98764b5a33d0d285d7e2245d3824ba0816c096340618f45386477888b8a3c197edc00c525418ad445e4150ef511e8525e51fe532af89f5dcabc987a2c3d44d2f40bf3c6abaaa37f5e196175b3124ca0b1cc77437ea839ed204edfbc1c338e3a5c18e0090272730a619fc00acca4ac7ef337f723baac400a4cf395d7c4f21c888809e665a9882a383d24072e8df641b78fd5ae342219a0c25262b4fe9d3001c985197f4595c2a17d5ae19f2c2adb97930367229a844673d47b91f5bd277590fc591e4c9bd4182f44b3a19b99ee7d21551203d9ba688efc6bf3e6e1d50e8f1a84fc92ce052f8e1472093c407e68d1623cfd52d87bdb777ec180b906048e1c5a5d067cd9cd362f6b447d3f8816a3cb7e65adec178ca10fb836935a7a1f5fc0c4570657d48e719298debf5f3298ba3909af867215a655ab6a35ea0a0db162b4263c81e4a4feb26954148eef80ac05f45717fa32e8e3661473c18f53aa85b6ae4b2595882244b4a0adf7d02cb0c571b50fb73c833c8582ffc54c6aff45dae74c7ce0b993c21b5bfe1ebee83c869ae8287e617e9eb22491292a3c00c68fccff969208b026ce2438fa55b2c19d1cab24d0cf5476b37ceeac863cd216034c522b2139a55c6ad0c8c05bc54ff06f522e2e581c97cc2bc73ed0d2bd799b4ac030cae63bb08400290135c5e02ef68105b8ff161dd41c34ac5637caf9463d08a461258e013960c61a9638a2ac27bd39497f89ce7145a4dc8f29456018e60a4724f9532a07a3eac69b5e93257dc080138cd52f905af8aa2303005d64dcb2c0fc90a2e50b11b82d3f0b34fca0e0fb5220a6cb1fd645d6672ef5cf7fbc9e700943f89121200c4c05b9fb9a6c2eba39a0eb7c395f96e785f58cba03783bf2147d7dada83a865c8c68c8cf524178cc862ef756518ec304fb88d30e2e9bf850b2af4cb6a6a15308feaa6364d0cf9896fdf19d8bb443c818684f8a412041498c8bed33aa4c1ef11146aac0c1f95d01e91c438abb68ab98cd52a890530866cf4f048d18a9b75f6c694127681a40cbdfdf385605997f2f06a75d5466b6162930e2b07fd1643059e47bc8a350d9c7c19e81fef58723e84d625f9590bd43d46b351b96beed0e5e1c622141f316f4557bded5d44b9cfe0cc255236417b44461e4210006953e4846fb5012b3479dd604c65a03f3342588adfa51f9f5f6c8dacebbde5042c6771fd4180ec8b83c1f88858f19e19449e93412250d837428c9ce5e6cdb790e75260f64a46944bf8df7ee4af2cd935bcb7c6ee48872129c73148864a9eaf29bebdbc3fcbc5a1e2765929655ae619a1ca085dfbbd6222fd5c707b23aa7837bc3d8080d03a5262c26a726208026c567d4a5203ed2692dfa73d39dd1ac86bc874f22d744a0d2f24bf03e2fe356ab4be81258b031eabd3a3a08209cbad7d241f77406c9cf9a9e34325f9105e1dac5b6b0dd110fc0834071a66d4ab57a50e35403e07670f0d57e761364691304a3eef90e0edc4c528314a98a42e85be112fc827e7a950f2fa3afc984db1ddcc4aed0aca040a2dc17a7d39bd79a206f8e1214e703003359728a3de6c5c2a00b380e8260e9b8ef50c3ce2dc08968ded7e207e46ce92f3558f08244e7af1c0499f221305ebffa6eced55edb1854385923296e7be4de3d3d240112db86f8d76a664eb5945488c3942443cdff6b399b2809bc1a2860938d553e328058fba5dc0f6229473f72fd22af99b96d71466323a883f4c2854fa20fbb20d91b46fb8899a3ec9ddbb48d380c35006177cd44afdf673f4ee86b5c16b5cb95da14a9bddecc84d6ec464987efce230f926a39ae51a24001f1f277b645e13e1167946536229c721394e9d9b435ad686d91b33a687c002171216c813aa87d80cfc9b50e5318becbc669e8855548629bffd154f55db8a5b0909c502137b7931e61618055b5fc7a64c1ed7208378b1603826d1a5b766ddffb356fca854336cb802000495c0601825c28c298e2543dd374f40ec72045cc957605d92070e0506c6e02d05c3f1a0824ade0165b0466454f3f0fe05347bf9a0a4935f4390789855deaa8864de4e305504fc30afd4c47be40fa5fa3ea0dee292a184b702ad2b582729d9364bf248b2d506937588af32df0d04591457ca09f1333811943240d6d5daca0bf016b45d38e50d92844f20ae8ce477fd96b614dc8c409b4d2d9bf02c1304d1514b141fe8079d77b9c660768e4dcede30f3f735cfb38a2c0b845d56d89905df4508c618210a66e483629b1da39177ebb48a683bc8eb4867f9fe7201baf8e3975473fc033ef853baeb051d9029e161fc2c20217fe65084bff0417d1ad5560285f6e77fa8212d0468968c97e74cd9f5771b7d97a934297fe742320dbfe4108e9f6bd305b86e1b9d5fc35d34062ecdecea05aa32aefaffc7a395ae35f9890037078d5d5c00c1b480170725e04586c5ec7223b2ff93395cde3add31d89dc4319aaa39c60479cb00862e757bc2fd20b1c770e0903f5b0b16cb39871b530d4c32fed37cd55a3d4839876c967a58c028323f534bde0eea0a4a498ced7c5963ef750170a1f6e9944378cbfc281780602409438c5e80db9a9d7412fbde44a9969b0f27c07cdf087739525800bf198e34978c3ff79e56f8e2c1c5e58c627247f85cbb3bf96af8ce7a409d1a2fbbfd040588ea675a22dd1270b79ae08f44a74d1443b200d21b700a5031d68dab142f3fd489649e5b97d027583bf2ad1f3ba526dfff496ad6834ee97170bd2f64f88a9aa7f768101e89217d15f0759ca988b47073caf08ac56aacd4520c634600dcc92c9a1334205e999e9340c3fa0b2c062cbb27873fae7b58d185ffc9f2cb1e59874e337761b2b8543fe8e04bab2ad836e1381b08f94a59f5944da810b7db612e154522bdf0df589d550cf023f4a04c7acef2c91595cdc03b9109a34a20a476b196064b730c31e155da24c6156546971e547d1959de1956fdf577626b06caf650acb854211fc03b0b857677495c84362695eb2a7dc8d2c3b45f245ae2c2bc87f32046d368545a23e385d23cb9629ac5068523b6b025fa5ec8a77536065b41e08d462c504fee1146f75d46bf90418b6dfda5d2e8cfb8af6d55c9322c0a7b4f9c469cdc5911ae72de4689011e4acf3993e68709988013af14f1a4428c74cf0a40859e78b1d6dd44df1a1eef0f263c10bda02e17edbf41d5add89a9af52b99f1403d5e34393f5330c6193da797e7c7d17aa6551af1b4418c35452e87ca72c76109692e91c46a3ecaa930ad8e9da1f77ce0d5868bbeb69b657a876d4d2b197e3ee174e35832695fb1b16e1f6a41a1d6bffcec4966ad1cc3d8f186ef4acae39500a2f731c7d26be8a90461a0f02140e7e058dd4f49d8b33a04cf3fd433f4a0785a2170ac808d24f4ac1815990f15b70a0871100ca247e89c1e9817594a6cd8f45f3163faa094d87569598a5dfe5200145bccb0025999489ac16e69cb5a21549f02567e5df3597d513630d004b7412873f0a1d21f05a90db6fe7925a3896dfa2330ddd5563606cc64c986dc876d295d285928c424d196991132090a2b812e5b507789dffa52d2b885984097318d6eebd6931af5b0ba22de20b087b859b75b238484ef1a0902c0ba486b4a01f9e7a864510f5a0c4cd9a9f1c5d321388fb68562a4324e0da0a764b792e421e110fba63d1b0aca39f9d1456a11f352c7575fec181bb6e4698c1585161a09564c9b281e7a73329a322985222f7906ab01f52216e8add99a9a908a4b648ff67cb612857fd8aae822ccdef922420b939643787d54295d0cb45c5b63e9ce86ee1f57403fd9f0090b26a00cd873ef6a46fecbd3d6940ed096a9e958c81fe54921679fff5e711372aa3b697dcbff148553b5a64dd0851a6bb02f391cec2c440bcebabc5c4fe49558b3d5a4cec7d10c2a202a15b4ab65cb0ad7735cb2b7ed699f4a2082f2335c58ab5442e0a712b219055a90f04f13aa96c7091c67c5d194e828961f8e22fbb62da154b954ff55aefe58f0703efbd6ba3194318e7c7a06bc01f1d37b70b406a46442a993e902d36c1713fa1a95a18c299538115cc8e05ee7ecb825f2161826c89ffa6c69558cf6ea76060d80902b94f99d9a7971cee6b06099f227b530d00f575a46d345c04e2dcc08424d6f6bae5b2396e9a728a5c589c8dbcf43c1942460485dbd19e651ceadd8f99d81a72ae13b4fc21ccac25b8bcb2ec961380a6e3e2b0c8a90d481b56d35c5395544a07fc6392bb143094908d9e0d721e15749049c96ece4c062b50d93dd0cba6dff3fe289dbfb908cad590e9cd0a2fd22e26377053d64a427725ef07966d26adf699dd173479cdfa056deb69c301d6da0209eaeb14a3584ee9b5262aa18304528f405174908c31c91a13b527fc5d0789e0f11d190f1acd0c5e1951a73104736a83bbf00975f756a77df4b7c90348f4a293ed2211f3091d1ec47da599cdf96a4825c81cfab6fe89f3eb4891707be7ada14c9deaffcca8e54b326a639e9806ede47fce30f251becdf9e0447c4fbf81fc18544dd034b519a4794ec7fdf90d8691a47f053dcfecff984ef2da1078c92fb07dd1bcc59e6dada4896c33faee4b066ef0215aae9d5645710906da4fd93e386f27b08dc184263f67cb90a0bc2174d57cdc2540b92d964aabe568643af0cb8de7b9d71406c8f2cbf2d68e6d4e60b99488369a1ba8c1ec221aa14812d10ed282b9cc60e7e009a5712423f264e30918c5684625831dc5ccc0f1913370253cff1d6965ee4bbd25644b495bdd453b249708070d7740a7ad44b45cccda0d925a860536924212341e2eff6da53a34dfec20d951b5c768ef854436b65a3f8b6b5876eee4cc3bf735b7c11b95b9522734e6d190eb1153e18a841e05071898138dc6c1c126166592f76bbd4227b2533686111ac61abe25a09886aaae393d72077d88215ac0e040d16c048acfc8169ec19fb9bfa70a80a26b2068801a5c0921da572251d12c9e10f9a7a5850a630459708f097c7313054a3694c9f8401219d520d40631c8b8a7aa5126fd77c17bfb7db20deee1c076c250b169398fdda859d9e8cf3b9503924cb1adf5438149e82fa14145d9b0493cc345753a912f33bd1818ba01156e1a9de87a01369c701b89518eb1fd2c2f783cfe379d351c260f3e1e6f342f16afb873ee6217c152f9ca1701eee7ab9b31375cc779182e20a879bf1e31ecae7cd23cac006480ea000c66ebc27fa6b113d36e2b9a37ef6635ffd546f3406559784422556a3a84d16990972c1aa70042091cd641fae5563ca86211903f1b199964ab8411c9b4f19e2f540adec30bddb579ced9aa9f8c0d16758619d6a544b496af2c610c67288c611a48cf28f4ac72797cc6dfaa9ff1f8832a4bcf587b67c1e315cbfd714b31927e266b518d1e864154463dbcea3373fa41701ace3804ab9df435f9993cc43ba73a39e8c4f9b7c6f77a72ee115805b28b338cb24187006df389e4767723d094de412a23840404e878b73bdd98776291f662fbca5fc0bf54d8b2fe032c0e51920fe3cff5c16bbc848aedbf4f49a145e05934640b25758b402a724e2b1701fc6bc0f56806d5ba08a810f285574dabf3c1f121e559b6cc4a8c598ba05c324da8d96c62209071265f5a93e3d9e6de3dcf7fe8c055b7718684c415b158ffae04fee3a1e22ddc22863ae3df583a0f2c2b3e069d32cd5a00770b0b6973ba626e61dd3418088178dd968493036184a8cdcf599afad52827090f793160f71ba9e0537dbec801d395d4344a1593e3825c1cec65cfad05d45515411e1725a334da3c481b5dd4350059b2d5586b469bd985d3991ef75d6d47c023376c8d57e4511f64f4708f88e73376ea6f80ed30dba2b3115d8d2bcb034031920509eb26e5fe3c17a2e0ee326591bda7744c61e9bfb0d5a130ac53180597d002c6a1d74e89411e06830bd89a8f71a3cb358908043f7062b60893963017ae1b12313f0ce63ae37412052b3964a249f10dfae69f1a87090115c4e74710390bb08fa7b07e7e80dd8b39bb678d093e56ef141b65b9a7751cb3c62126fdb72c0da3d48defeb390c8484a060b313630bb06ac2351b829871eb1917c02453ca26c1b49cc6c1888a48047e910b9ba71881edbec91152e1666a3d0e7fa520a76534925fea3cdb48298eebd8473b3c413aeca2b8877595a269a19355460a55bdcb3a7d029e69014e1c9850e0f761191f08edfae8dd20194facc76a28a61307cdaa0e2fb42c63184293f8b82216475f694f743271b83fcbe5c78f3fb8b11d0cadbad3e99e7820c50540170d14187d65772a45bb060d024fd25e06333a75b3248b929336e1b0a4f812d1ebe01fb1bdbd5cf0ca731a2fd55b2b48191ca5311956441cacf0703b5584b488f032f6569d82c8c873765f3b15aa7a19e432501fccd1d49ca01b267f528bd2cc191077c9a0e3c0eddd95c865b9f71fe7fec78fc265c95d2c987963e1e98e74bd727ee6733365cd01d8a74bac95ca9a59d600b7c45b3d153339aeaca8524ef781f338fdca6aca09f75edda23b5a7514aca91684ca39bf69d69d96e4b23df7433ce21caf68ae65195dbe80cb9381a793b911f0e149e6c670f61e70df799c3b9971cfa50d3626718023357ef45ebb0bd5fe9775c01fdd2f261252eee778c16540d73c8d14050a7c14497b9248f03d606336e951b3b6f6dc5beebd93bfe9297f8375097c2a0909fefd855337f02921fe5002e480f5ad354183216e7e9ba0855939f8281657a3b4690a2511b9f7bcd9cd0773aecfdbc789f39b4042b5e83192ba803ea624c4f2d97130205d916ccf4fe27c97ba748501f424607f2e8a2cc21d46ecd5f14081aaddd46b690f143da32b748c50704a7b4e2ff00dce7407cf1e176d734dc2eef4f2707d9adaabd2b69f0f83c5dd5b91588598027a50e71234bc5011423e0cbc0504e9030f17b89c61af040f0afd6cb2b5189a61452005146a77ad8ff279ebcc02eeacf9a09b5bde2d934245020bae073365fb8d4f1c8c5dab979dfb6cdac04d0d14855101bc83468b3cda60050d4610b5b681e5945011fff301e9fb3a5b81e0c363333b2f5a8d694e30376c71252c2f04978c6ec64e5150ac8081d36fac22be3eeb808faff7f6e8870146652bdc15cf0a66f9c16fef446fb09b6ff9a0cd4aba52c58aeac47156400cb760ce41f4056782bc0c9cc63f181a0f00ae0e5ad60b210848b3c8db281478b059810f564fdddbfc83c9d7a86dd55dcc0367b5a8ac9c189a1531aea828081b48970f74dab01a8655dff341bfcd57b826c51ce9ea13eb82d60e838e084d163d8ec319f5a6d10ddadd0e82d96f3e7f175d2abb1936e7eb6c0880b9d9af722a266d8ca7c6420d6c3fcc360d969b3155d04bab1206187282ed7f815c26a5c0c51ba109e0f221a36a6852ab921af31bd77cc0b4230c67aee166401e1f5b60a1553a6d9bb58afe256722f6f183a655595bde431c24306584fe40b7fded27bd170147d9f46071acc45ec187f4dddc2ac07f097fec9920c12c9b485509881fcbebdf1fb57a36b191114dab9aeb30469a65be54d47a560aa82af335fdaa650b368a0e642c4148b110d6329753b40caaca2586a2e7ba4f786c97a4949303a5511e17034d89dfa8928b9ae1ed9ffca9e9aef948a82ae9b239f6a5759a7a22333229019cd0731533f44f3a54ea0a22a0211f1ca8dbf3d4ad9161c93948a019c92619d07054f3de71a51d7c00af79bb305226d95d21724d7da0803a1f39e077ae47cb1e07e59d3f291df18ebf818fd4f4d00b99eec5158748a36e0478be281e93713316fe254a24fdc1e03c539685c30e05647a5c903ab5bdc695cecdb8c21f12a5089544c1b9a141a4ce3a932d93290a842ba7d1bd2facaf723ce3eb383719ac90bbc171404a975e5f6827105c713f8da931e0c01135aebf7513c856dcb8cd84a6166d3ef2f87a5c9d6ac0be5abce132503e6976cc58f1693ff4f139004665185f72750fc34543602ce348aeb0505c87de829025c3c96e64100554cc3e4878affcd2521a926d1b8129a1826db59db4b70480711bf1de2351ce51dee3f074025b05a706da2bcfb7c9aeab75a37767492c799970ac88e24259865b539bac318242205cb9b8f66454a57c05edf3ccf14063159a9bb08def9f6c6acea632144679c450eaa351d26fca4d3e1c7d59f5193c77f2e4e9b4e95215006711ec7d3038cedc9f033295c5d2a44c5d06ecd07d0bfed6e65fd0b3d51710281ecb65cd6a7c5df2df9f8d0b90e8ffb08ce6b9a4c05ecc38ca77ce75f9bc6f0df93ae47c9d1dc12ec7b9fe8640b1aaa5659a68cad355bc0abbcff49c7120213600a31d9269e38766b1ee7112c0f0e2cc524fb0c0d9c913295532e4194b7471152784276302af93287c96ea235aaacb94ff3891635b762773cb90afe4f0a5228cebfdb6ac6da8c3d07220729d58027c3eb3914b059f8f0b90bb38b36fa8474c796ebf20b935deed7d605d61d285addf080e4c00b374fc9b0be59e7074889a2273b6013658b0ca2dbfe291eb769ee1f82e47104f16670adeb0b75e993b6f4f3015dcf5b076eea08adbc533809cdcf9843a89d5fe960a0f3fe89aa874642cb8b04343b15f3e3744e0de59e778176dc7c23dc4c46fb0c3d5f94bafec3b7000e43da2e602eccf4b8d4c507c08eb3c3acc479592c0c80ac942caedecb5eb2aced26beefc9782a8e6c6b65c0bd8161012f65da79603089ef17d33be52c32bbefc676bf2494e0159341a19513a1ccba0d5007d842af8f135751a70a91dd896c769769e9c8c362323ca586246ea6dbd10b35e4818c9ce92252541e07e5f28e289edc3ffc9a35abe58cc15669a0c5daa9a208427d70162879966c86913958e751ecfd147065aa6292640f786265ae9be7797caf29e06f96e749962bc4f3e5bff1a3033da728bb63fac861d7d451c86ea494ab5daff5bcdfb112eb4193d2cd43fe4082eab9ba21847afd19c8618bbd803b151771e540838dcc4e8f801bf0e8915b3991ed53ca2607bba464c8220aa44ea977d7f78de6a8dbb2a258fae262bc078d4e4888cef6dfa87bb3fb8af4e3ffbbbc96023d4e8de2df6bd47a4f3e389d1d44264ade2ac48105f17d8fa9b3c45eb4b4c7db20bf7d499a5ba6dfd301e64d35601104ca1f6e6f3c0031bae0d518656e19c34d00c9bc1258b0223ee97c0f917ade683b89728b62003bc93cb64045b87a1ce296b3a9d9c0a8f5c17653ee235ad4227173a0297f79584cf3106639d6f5fe665589cd3f9c30c2cb10edb8a4b1d3bb8cb58d88e0ec4148857ea6cbd3a1fa0cefdebe48b2c5a2d5f87027713c77730402edb53da424f3212840371be866fba859d4a31d0af9909ec8e0d29e07ee0dfc8222d72516291b17428e5a4eaf276ff60886b769d617e4f3c97afbb586a80c3eb2e55db6671c393f83175b5b7b87fd13b49911ca83dd8e535e7c845e941d63f05fa6bd7fd543ba0392eccb20d68d6859b0b648b5c8d22e2f818c4e35ccdb95baef6a94fd4881ace933018fc17039b9b0be7421e5a1c4e9a56153bf78313ac18ecb352a61555958589336ef9002ce3ac682fdcde8a885f8e0459f9b6e6a68c6ad46d4e36c552ae7cf17d7f95b52165b46a6306dfa3b94e9623359e507d58f886e2c3416e76a98f59b2d4a39f6ccc668b56cf7ad6237f37feb8aec71ada6b2fbfa2142fc4b7f23f087b78c3d7eb2eca8c17d3930e11502812267ac57869aa22c39a865731efca5a5da0559afec75e2095934f4fb4041e5998934dd356969fff2902bf88961eefbbaec448ed991912e136fcc4777d9e6924740325c22a424f0bdc0e2584cec5e77bcbdea40fe191e05a5ef3e9f3c806fb67febfe48caef4ea9bef95882913bd62d3563da9414451dccbb4a884a04887e2f309e8720152c62987a9db6613fc93c0d0fc9806fd3415fddee3e634850946ffcabdb26e2b64a946132ffabc3179fb4dd0a1182473e14cac3ae222f00557937403b0a9d1b960eb27ad32e36832e6cee80a901b0d2477f933c1ecfb236390dc48f0c6693024bc4710bd6818c9190bb1a261001818620ad4fdba87d0f9d45e9b4d4d39c28ad1af75e55690156f9da55556f248d78ae94707c16a9b3e534399b8d5cc9f466362e0a05e886f5a19d54f13bb9aa0de92b861e5c54f8f0e9e6426ed524a49ade6fd90aa308c58c51f60d0e86089beddd9473c408b1f0b52d63a97d44a64e5dc30bfdb9e2e0958b4804921b5c3c97bf6c1e3cc272c265241888b606f9bb6494ce5c7a42c2281692f551547edd4f31cdefc0d1e6a66a8a096e2eb5060fad220ef7e8338d80376febc2c5bee4c2f3f07bc6409a30135927cf1c979b205b673b14d66f7bf1a1db6fac4850c1db6df0e9be7fcbef801ca35b7e971f07c2e3ceda6d17810452ff34331856812265124fb74e949c39f77f98b4c445e70e9e68707c4a9d29a2c550620d37cef4dc6539e9b6303c547dcdb48826231cea7ba6334a7b403779c8ecf22c1df5e4f8c004d1d766b2efa2d20c294e378aae814a1e1b842fed8676633b1735c0c14b48e9a44e7106bb28e9650f437c75bcae4784e5e977ee7e6e368ce2ef7e254b2492477eb258078896dd08027146adb8063c5c59becb1382b36aa8d1d21e07158d66974cfa2d44d1f600de33d3effa53535c7163eb0e14396fb263f3d29b9017ee380f2450531bbb5697ea3dd1b47165b652be6cd662461e02d3c8b800612faf2f42c6376c50659b7d1a26c16c05454e032f17f6f3492dc7df59d51615238a1250c2531a5f6166a0a772f065e9e82af130e43ee8f00338ef1831afcded2b58c75912359e414a0d62360ec283cd480dd0b449288c994a81069be62b7439b383e523b06c390ace6a6d8c4a583a1aabce1b4eb1c3988bd10fe4b249f461c6263746b9903658ef6c09536ab253976d043170eb3262cd4330727b390ffbd7cef563ded607e515184d584c7131025ab8a264a70d2bd039cfd23021295133166f34c862060a579350f55af6d0318f5d3bc0d117bd84ed6c081393dfd06ee52ba257328c883523156bc0c3121377eab823bdefb8dcca2e73eef089423a54817b64738c4fd73fee761868ff92c21ed59b2dcb00f8e336a87c7a373e899b0f9942d04021110fe67cb7b4220994d56c31bd505ee9124c9ece1718f054d43beae9327c6aa60675a306bbb24f5e26c9e9fcc78b55c3caeeccf6526db16659980679b82a29ce0fefd52029452d709e9005abcd349a4b2d8c04220a36f584f3b26dcc1b4657126d16056a4599683561765e6fe95a3c0cd5ba16bcbeac41d72605b131ec24e7b851e3bd7d2de9b38b6aa2a295bee12696fc5bea05101b8360e9981b68dc2a2a212a26debe055577c295520e4d9feb1e10923704729ac199010dbea828f9c50332fc3291743f29a2a2781d4616d3c81c79827682ab881203b76a0b5cf4188bd86f8648a5e1f9cb27031d9787178bbd8cef1c26b50e30e03a928f8ef43d0abf8dfa2d7adc08d96ddc4af72890144c3ce55e869e168e64cfa2d76b50472c96ba194670bcd05a36186bb22d0987913e891413d3d389c3b044f396d383bc816051974ee86d8fd4eb48f144c652ace40cc2e41fe9f705a215c115c6ae2f6d7a9c226b46d8bb51be237cf50a1f6e5960c38469050d1dac82ba98993349d6a2d53383571a28925283b9a01a5cb289121d170c453198c1e4831d554c020846d3f7bdfc24b1e1f9f5daece1347b4f26fd08e519f1168c0fd2b86aa1b09386589c6f1890b920cbe649ed722ca66ee269a24748a262086142abd70c099a4b1088fa0a4c1f102a8ace37a3636acab86a0b9d27b09b76a5512c83caf05573f8b37ac166c2de9219fb325dd133529a766d7bf98241600c26b8ddd0e8b0fb2b730d5e44916e54eeb5d3bc37077c9d3daa9853b529417586e0bc15f3269ae88e83614e24f233d5a2f9920019853311077f37fac86607a17c44fc31bef1a14471f38007f314ff73cd3d98e925fcdb4ade795361b44769fac17de52568dfa4442b6bbbdd10e6957c7f3123b81ded9db4a9695154547a37778f8f080a09290c7b1a83957685a1f82a9f960cbd0859438b3ad8927fcd4aa0b04d22ad7e328a3f730080751298e2e69add4238e1467b5d235d396e69a046e50005e975bded5c7cb3a9b3e3f879b6a51958d0507b68751c5c62a0e26606faa77bd23f6e8a59e1d64d30cc5bf80861ac6f13438b475b5b11679e0507c3f905cd8988ff739e17e1987501321d731e09d0dd6ab09890c8f599e67d81f50c4094f2fa8f5728a5b04bedbd9d6217abeb22fd16e83390ee3e0297d0d76d076316084f365577d3f58a8f97e4389900afcf01b57093c5ce89244ee537f400a82e1810d72ae099a02160b7bd7eaad6f7618d6279a593bd45e8d3a2df6e297eedd89ed67927443d901fd776c8001f76a815c8a711bc48a26f61a9e497dcabf5523731944dfd84b46c74a7521f6b92bf6107a14c275a455d379d487707989638e29682e1958ad56d22573f8696eaacb66bdaaa9318302557a6b13f0299e22da0134b12334de04b227eb9164598d81d08bfc385081a16d163bd0a7461daca4591dc2a14907b45e7108d7978f56bbadf63a758cc40f3f63c7bf986fe365212d3a6c25180e961b1e21c58f3dc9ed8fa2fa9e6099822900ec203f3616f2f958cf93ac6a914a425d5b366488e4180f5a8df0953e4d070577707a85701955b111e110349a7d799b1490971d45cae8a30b6203046ee3be36e3410872bd6a0e2285f95f8c10fc4d651e75339e45da4401e033a6ee21000e406d2f8522d9e25f7a89532e28a6e45b5d14ab10793ed60e625d03e8c596117fcc4745d34f8bd881182ff2376206917d932a73e903770e11589ec068565bd51fca2579c12788cea9358780f82b248e3337487dd9566d4fdcd08ea8b5b2f1b9e425752a1fb50c38743172f789834a2aec184d844cd1eec88d8c3e806ec4704dbe02445b8427e85b9d42a078266618c74c09c6d14d2a895af3a682fa400dc7af909d29409158c95d51f93f99212636316ac4ea98613a02700eea9fb5de3eadb3f93586851c87f86e39fa7762cf84d8a75319cf1fed32c7b1bc9cefd9ce0aa0ee373ec7358b0f009b14811097c7bb357b23c2ee0928704db63d741df11d8d27d258e1a1e00ad75d54e29439397c88ad693aba604dc660e7927f2ed7a08bb13e2e9cd55af658be5cc07f2a744be04bac8211543be982f65b45aa31bd74f3bfa2ddc935e63acda231edb77038cd5191f91936c1a2153e4e50aaee93e9f3ac78ea61e3af4afe571521b0fa1a58adf1610302a5b665826fa59da1a70b29dec2963ab10a3884c58d2e8c651bef9682e82459381d55ef9911248dacbc11aca23281f6265ad1c6b6a502613d65af37aadaf0ec3b470b7783c6a7afcdcf08e83fe5029b2fbde9dd48eed161b36177647356e74d764374497c6a91153841fbdd6ea856d27a356d8ea7796eb371ac5422b255aa595708d9f2c0cd43b3a5a02e04de86c408d66212004f7cf26d257aa3e80bb9dff4cfdf8510a3cdeb92156d3da948214e8735bdc6a29f409a90d5e4fce563dc93758c174a998f749f7029444527cc389a6e5ae0621802585b2a5f4fe9999b571ae61ba70c8a8580b4f48c01d396e14276faffa438a948905c63d6ee1dead8575b2826bfa1b3de158019587571b4175d66ef8f7845c740a1b174e6de3a2fcb2d777ed94d53cc6a12390b58d80f79573803a28ced097f8ba77963ad20f14714aecbfc82fa71951a8184947d0a75ecac21f75d86369621e305f4d356fdc20120fa9ce8bccd8e2c04709987dd1c52d31bf32ff93e987df9ed589960e2c9d93b16326725c35956b82d8d648c1b721517858b623487fa31bed174216385a071b1d3e9a941fba27976109a9c40bb255a7a9e12d3664c9baca51e4177ac47e130b95211a0ad8d8df64574db66dae0bd120a9c694fcc1ccea9dcb780996e872e0a87d67388238cb313f31667b96f824d79af5c6233adc8eb9a08d1017e6a6039585149099cd5eccab8c42fde614d21c4b1815200eee5edd0f81e586c4763ed9175484ec12fa0116e5c2a4fae9502bb6cec4cf2c9b4a091c6b4177f2dec4f4294b378658c68561481fea577ffcd350230fed6dfe09c696a1e8680aa2348b2d96f72e04aa85b88b8a9a89f108aeba216c98849c7f21057105c6c5a6d90a9d60f9631ff7e31bffb5d46056123a7089f84b042b5b49e8570c3d8be3a710b8d6229d40f74ce53c1c421cc134e479d3469726442391ab95eb9e80c1c5972ef125eae6864354e5ea3ce7493c3020fd8010ded9f0efb523e5f54aeb6b930493b0399069969363ebd6dfcfaa4f8b2ecb59e842b50ea87b74afab20c7c5c69dd0f0c5ec9188cadbe213b5d98362eb71df35c0fa0d0be40ed36f43dfc768a015acca070bab5cb08882f43b4be8a924df76e5a9e0608e98831d850dabbd5ef724578779579b1c89a3ebc539eff64d5a11b82e50b757bbb9f82c039403ac67f835a7d68a4d8813c6300500882f4378c1d0760d3b5d713db86830e8f28821d97cb13bf28f44905627d30494088f6318ba9b7c3eb3f7d052edc0061123f015867e97e44a03059778621ac2124fe5a13fbe7ffbfe69aa55fb272e69e52b951554d0ef4a1bb535dc57aceb2b370bbab964d1ada624c6dad0dc620883fcd851ddd1c96a3516ef411bf8e916e1b4059ce989ad29f7135094470cd35c47c041e5c4fc6da971baca1a0343cbf98fdfc9f19d80a0b9b19cf17b739adec6be2518c8b0a0ae9097871ff2d00355deb3430200cf4940c806e5ce5824108bc8045ee7fd27a9f9ba480357850953819d2a2830ee8d22ae329bef9b7331d829c66e51757cc3fa2e61ca595899d54aaf66ffb2d725f53b162e3153c4d3d6a557644ebc8e9c5fab1789577edbe99365b857162b0d7ea0f4bb0efa1695153281b991d9345d278fceef4ec3b6e10e624f5d31a447796ca0f5008b9120aa69f5c170bd08883dbff080b20a628048c349a42479b7600f949111fc64f48183300425eb2d06c416b2995256207caa5a1411bd6cdd101a28a5485f4d8e1c98a6b948295b44d4cd53215687a1a3fa5201b972169fe29f894fc88ff278e267bb6c443ae66fc7e66e4fd87c85f65e602cded580b3f0889ca558e89e5022aa40ff48e994f5ef2237a5da562148908142c5e563ab4183b12e9358c03de617f20980021561b09eb41879d43e3b9dabce92d446588aaaea690326286b7b2b8da8bd6bebb6d8d3f6c39c8d531369f016b8ed5e192e26fa2e2131a152d24abc3320e65e169c555093d2edf32a32a42331d2dca395ddc714ce0a7d55c95eb9620e7106d833c232dd6c3587efb8cc057a852120061310a6f2322d1363ad35f18f861970721f817bf941b3334dd59546604565d1436903958fa98a0f08a3b2a0efeae3f596ee2c6e6767479680fa031ded14dcc61e52661163b3b7065a9d555b52c080a777bfa87efc9014d2bf16a470c1b6ce0bed6f91375bcc884c885acce990d015b66d5d100a984ab21a883d0de17d679d2c224c86f3c1e4b5e58439e3a06d67ff50290a9dd270126bf0c4c2276a8dd4f2782065b0fea5be3435dd5f016f4dc9a01b66f960dce7ec7dd9048e0e14bac5f9653bef7343711cdd89a366d6c2c00b864a3832b15dcb735c748c841351434b27170f892fa5fc9e994be1b831427ae863b3b02dff89f1ccb9c0ed04a2018f819fdf43d08cd8a75b9517ea4066c835752d858fbbfb76be71e456525c7fb5fbc6d4ed832cef8add0956741e87612f0596f90ce44001ab8436bb2c7d7458cf358e3e866bcc79ac6c6ab38603459fd19df057112d913622fe351524521035bd81b1a5a173f1ab4b1baf8f9662e5084d9cb95b2723f7ee3bbc71abcccf6bc65bc5c8051cb8497b96b832239561a468285de78bff51ec2300e40eb17ed8f25a542aa621ff0bec8a3b60789d08702ff93c27a2408ec0b3d25d04bfed439d257f43ac8bca63590f0cc3a92ee02816846f334ab0094354e46973d98bc248baba138c656dd877f33a84bd6d49c4eae7f538b354d45eb93a667358f5c26c530ad9f1ca502be070b78080003b3611bcb086731a8b0fafe6f6fc66a86295ae5151e1f1debca80ec60fbe2704268b332b8a707954613d93db36505abe0b75471ccb324d60f60c85966a6d5cad729ca3925eb0fbe0fcadd37e87682e042e8b9c24e51986acae5dd3a802b422bd678c1fdb090dc7b62e5e6813af70bb19eb95d9e8edef82d37a8ccd652e287959def8699095051672fe56a1a02c3572ada205954b01060a15831fcb71de5e6e0ffc1d2ba760318e51929abc0539407ec120c229bb0b11d9618b361a06b937ed70aa1e29e0caa525647727275892f6eff8cacda473c24574d13ab1a4e6e96f0634341c4c8be054586a159f448805b548dc4e241543b68ec11bcb0ef896210127d824ebb5e6167f19c66357d18bc40297b6a2abfe0c234311650549f40ed92280faf9abcb90399782ee4fcb61838343e48657c080e7e64447faed9428c15edafc36d49b604b4d0dd4c533699c3112945690d1738e8aad3b8b69ebdf3278447d18ddf0a2b41b36f358f0b82b0343541560cdd02eeea8024fddc5357e58c0a83e4865f963c6e89ad931b83cd4d917660247d9ac73bb80e96e3d2e6ac94ca7c08eeeb6cbbe9ada4f0572219b053848b432f106f962e01968a162ee3163f6036ed6be3d2f5ee2403d7e0559a3c2a01f160822fdf6b8be0188d6f294cf6d4688ef18125d6e591784628fdd40129a363887f22f396a195c987ff1c5d7d199c34bb59abce0d6ae2aba5d589a7060984522b7d3d855478906b1b71168ffd7831745dabf014c54dc1b81a1c26e78c5d70af1863e1f17adfdfd8afbd9705aaab507f9941e4f75825c0b0f38a72fd83097f35344f4e9616098d18a7833ecdb5cbc525a608fde7820db46b5d29373046bb957d5595859b7baaea0e9de02629d642a0ee82537331b2b24e0326ca2fe32e9148e70cb18d9a4baa5111a14479fa4024b7311db6480a12aa81e8d007019670918cf235a3a0f256ca4ca8268234ace86110a2e1230b894a0ad5574751574bc4151b8b7fd82f21a329ee244da0acb582167c7e5deee1b30387b0304ebee043247561c4de80c1174d9aa3a6fa93724c8d94fe54041142e8856f0a5df4dc51fa5cdb74f7258d5ccba1d2fdbfca0f02d74f7f47b6d5a29b31bcc18c724198150fe261a58125123380185cdd1f0e499a696a652f523f396dd54d48161beb74e68be9bee0aad4a1b6ba5f5de05345c3a806711b6c889ca541b9d6f8d101656255e816df4b4767b91a440e50fad5a2c6aa31baaf2e4f5f7a747c8116a28290d2eb0d1b4f5acf205f1ae0ad34690ce10ec149d77ad2601731fca1b13fcd25b06843577b73ba6057c9058515684266fb6747937915c8efe4fe18106a5e2dc7f5d43e1dfd873609064548dddc5cb1ea4f43db3abc6ce5a7ee1da7980806867af89bcd10e3a94888a5c3c9ff66e58c3bfa256216f304dae65bd2ecb0afca82f8bbc866581e64154029ceb20742204a5d810be25e7f719968dc4d2c52b233f5e3b8b717c8570c36a5668e5cba6c0e604e43fd6f016e24dcaa8cb2dd51ee8f544b88be0214e1a206e491867fc8e63423d45dac54d3ca7184671d33e3ef99190052e2fc262ec720c64ac4940182485a50b76c13222a58bbadb6fd48ffaa45c57e90238045bd4c326d0d485409f0ed6739dc1287f9805d1180177051f4a92a275202743ac862300c7cf05fdc4576f95763a82e51b07f4711a4bcdc9490ad400d856d8ee0fedc4e42fab457fe72a35c37ab58f1709ec8b1ca508f38678f3213749eb24876ceaac3e5882eb8ec150e30121c2bfbbdc943cebd8482c3185e30387fbca5506c28b7045c8bf161e2a1a17432b19bc0d49b67c2d9beefd4d8ea314e46eedba20c0d70a66e6fc8c798c9b68c3289d4e5b7e35dfd1f520cb031927dfad328e7350131a1bc999b0eba3db3136d53bd9c4a1a539a9a96d82e0e3c73e5e17885403eda6350e6303f2d2b102a326c1ff23dd59254eb3599dc61fac935cb96ef409eb568ca6b07af749051258c9eab4610369556ff73eea05b17b7e84ea5d706bbd3da259babf648e998b00f4ea6c77d5431018adb54ab4bf423dd4130e4c732981b06ffd59f42d9a556d702d9c9c5466591ae5722253e7891edef5c6cc9048cc97f996422d5d2cff0fee0011d31277a6c47b5c6e46d250fc53e7553de43cc9a076764c37384dc252d32ac6a77e4aa465d808047dd6cc5ca06fdefc7403ad586ba2a6b6ac3423f59a99eca94dd9f5e4688d1ba29d6d2fbdaf0938592e3f63f67aee9ca0caf1187c6d8d39a40a0cf2f5fd85c447cb7c95902f2d6d4f1402befc3684050efc9f72767ded33c49d64a674b120214f7183c34930a784a6aa9abea65b8579ed8d22ca426e11cf06df3b0e420c665e067ddc7e6f5cf4382044895f427727285be04115986dad92731f4c5378a78889df07f13590efbf1e7a0d7eb9e6cb0fce33c8b8b7a0da12282a2eaa149cf2caf810a113484be2e688235f86d8f7c2bdb9134f7becd5df2d64720dc30d280fc2ae000310226abe6fb50ab531d0ab7199a7e22ebf34fcbeaad7eaeff4f62c9160d9e8e636f287f9a05451e28cf96246494d538e9dfa6be89f6db5272ce2fc371d1903016618b90fc5da4ff1f095882b7a1e9ef9b5dd513f12800c8ec9e8a4c257b83eb47b4a63795faa41f9352a4354f2ad9b8be6cad724df0f616f0c324d880e9c353d275f57b7a2196922df79b41502efd535287724771c7cc4510e16c8990bb7baed2b90ca2b636e26276599bf6aee8f6901203d9b8f0e91c176aa6e39beb288976b575d39e3e135ebead8c285adbfea13bd1d4cde6cad78c26e7f8283f22fedc020f334a968ad1e0246c6eb2adbda9aac7df2c4b531e42b784e69a417e0ea43b344243e1001e4650990ec542d42e5027417ba57af5e0d936fa93b2b3e220aaf4bfabb50070f6bc957e3fc203f3914971115fa55d635044a3073553bb38ce2b0886d681e07a35a6999306a1ec1b56afd622e51aa32c1d2bc34e4d12031647217f6e5e96c24850a54bbcf206f1aaa6efe4779ca0dce89b7a30b9645cad0aa29b6a4f569aae5fa2d4071df95bd3fa95e56010dc90f50b0e1cb9eedf3d29c40399f04cc586e546fb24b084c437edffc9e16102d9964d0d53eb0f98397998d9ff394178e666b1fa9746804f16265b86c7f0776e8dd9dae467f8d279aaaba3bdc9d0280d93d3139846d75759921e2a8151f545cfb8e80c223c7f527af5a44cfd31afd8c904062358fa284eb79c16b8dd4c288f6d8b5971cbd68ef3cd1cf3cfd066070093e3dbe105d4f7b6729ab51da9557671fdf2ba0f47628c1789a0161008b2f9785dd64f03cfda6c6a4225b2bc46d52ae1c05a8b13d7a42aa2562174fe9529828954ef1072dc89e941bf14dc2b2978e26f6ff64bb69a25e148ef9c45064eb37e483774c64167c68948eeb501440e354f92a9f5771a1c3f5b94e341c477159a8424467eb03c39aa276de77621aeb9ab9a97becad75a1156900e83316c8539a2b3015f3b6c9ec00091085409e0848d2873fcfc4e834c7070ab4ecf1a626da216c7b3dbe8be69171f34145653012f9ae486ae049a509a601c07096c4dc666406630f0c7c31f12f426235cbe0f98be561083433bfcfded4b5bb59ea2cd90ed4e4be0e0b5902676a4c167d652184b58e2c82440afbda8855961c338142ac0887df35332439dbbb8e0f02e34ad1c615392fa9949e1da6141925e6727d506056891c55ed60d2c78ee321ed3884c650e8a3a05a97fcd11d296c2455b44068afaf77a775412682188d113e841cb64081293748c637c6a10878e0ba00ca2910f249526c835f18a251c67a0c270dacb8546b0861fffb59da5ac011f802b833aa2597167da983cb2b032f402346582beae000c5ec2393e442a9218dc80a40d64de01e58d92dba3ee8ad46bfe7a9716ff7cae3e6af9109420ffceda45a575c2f452022e982b0f036aa6d40c8442c7a896ff7ba1f531ab0de25075b05e598ff9973562ab25304aada0502c936e0e9cbc9bd798590fc310826c03f0dacaacaf4e0501233c1a13aa9e413fa7c878f18dbc5b90b6490a1c0758e5ac5e272bcef2188e5c6494ffc0f4307220f0ecd0d0b555cc4ea9991cd8ba46ce9f512b8a6af631ed57fc5c2780cc02cac5bbc62d65bee0e25b0ce1001a1954830fa28a3f9b2b6608c70b32c436072ad8054fa80d8a0035e7f4898a7f4c058cab4becfdc28247abbe1040524bddc8a8c774d0a8890ea8996d51a8cb6a412ab4c92282d3544187f2aa428a4626e26161c252c9258cb7a3aa952a817c0e00a94f7a20308d1a0387d9e3b438bed4d1f648270617ff5eb1f3dc1829a1ba31396726fa13a881ddd236c9352d67de5bada1585b1eef0132861c4a0fbcd977c6e4f5cd9e38e78e445177276787652e4a0d75fed6a193267debb7cd0488882e0bd16d4b761e87db6a500ac06eda18820d8447d068ee70e9e3f0372e63642b6e096d8250602b2812f98f939117b063221f3826ae69ed932c5b5028ba81c3627942915ec2c246ea992653bd35718c6a4e45fc99a01b0cc6cd0507295371d2975e518458939f5e64be9bfc232e20c65052fca6b166f8e4530f339df78c9128125eeddc0df52d7ae475498b7bcbd53ff1dd4110637f2aca51f404c196f288e5d4efab868aebec6eb9ac8436b0af20723ff4767d37ebeff6363201b856b8883bfec5745f6ed954005471d4734c11292b1518c83249ff7ad5d892ea65cd24dd0a91c758fb3e4cbb22601762845d9cc28cccd54ad4b9f371a7c46048610a2bee76d34389974496b6d9a716a573d5615fa360adfafa612394ac9a816c74905cb83e1a16c44c4c81f359a29724136477fd3d20bc6c6d83980f82c63efba1017dcd3bc543813abc2d4312de6ca0627fcdecf5990e2ff018ff5ea6f629fda398627497a286b6ac035441fc13e6e74d7cd50f5df228a23661ec1a31e6e7ba769aa070de125595eb539817d05dc895e337e63af81b336b38968ae07ea76771e00b5f507e3512741a5d73a3529a2b63da5eef0e7b5505ee3b645e694cd46f13959aabd52378aa7745df84d20c8df6cfcb539b8eb42a6b34a31877ad31ac1e9ddbe0a6a11e89e8161d9e5e9b560e98ecfb1817ca7f488ce8f5501f43374a3bf2626d200ae591044419e2142c357b24cfd30f12d3cee2853bc4ea9ef5ec9b223c0f81c4209245b8310b47ead578c2fb2c5d23c7d55cd1487641ef8582e14f93390b7739715a2b03b7db9724124e8b350c48c287da31d61c155215425cefa33d1c3cc8c422efc07c41bd10055b5881e24870ff5a1bd59bd36a37e5e8f01a0ac3e71b72ee310cfe9348676e5729a5f46c0f2a558c543e4f06859af8bf1994f93244fffe8c4ab7d4c21065dd3b25a47cf11e60b89a00ef49a5ec3f8f12159572db58760ed628e4a35f1f6871bf81b16d46bf4668e4c10fecfe848c82bcf6b05396c25f53035957c8dbcd28f3ee9d911d2a25eae2905f6633ef5ea8f281fd10712507cb4e2663c6136fd00cde60da600d71190a1e2b23edcdbdaa3ffccb269cef7b7e94c69086d8261e40243ac24b959f16b4e22033a05f5bdbb8104b4fb2979d663f77e64834a222eee24f10fd0170f15030942d59ff53a09de2ca0bf15d363f4156e5da959c4a8316e5aae2cfaa810b3c7e0ff180c882fcf5aa03927bf0da00b9eb447f3ac402a73c408c7eb859635b1ee505502dfbcb5b570f28278974cc697b762660299215ac56139571c87faadd21eb49ae8312ac8f2f14b0ad0df99accd9ea60342d584d532394fb2af3ee5ff85d6b618e2b9fa28dfa6ad0467564ba2c061327b0dd2bc027903eac793fe55f05fcd4fcb78f4401aebd02549b841ef972b3fb6ae69fb2fd8b5814a48f838267a6617b75c2975cfdab75ae209afffa98f4f5f1f6f766c45310f0976a084a921615c8c694eea46256396fa526c22efa7aa0c71bba684a610f19c2080f6b2ccf37ec90a4038a0414faeaef9847ae5df02afc6214d43c71647f29c2e6ea63624bf94354fef3fe2bb8b5cfbc345870cef4e41890c48987be667c4a8069d70b782a4c3d29fae040cc0e7bac64ea43b942ad871d18b4341660232610d71e4d159161289eb4cc07bf773bfe334c4bfffe97c589858c484a013b4628d7f8d8b8f5fffe4ac3a505ef91ace327b92bd44184298d1bca3dc0365bee67018df40d10beedba9d649cd7e6b9dfa9dc368e4dad0b15333cf79b320f4e1f2879bb178b13a4f1b831b24b1d990fd45e3af464c004c432cc3481f334bd45f828871f55faa81952bb311ca2c64c2f7e30ea872e23c629eab0f241e46f67ffa8f0101412552e986b6fb61662e29650aedb20acdb86e46378a63c9973ae50b70752547b1ffce05780f5b731c02a7407db0530fc6cf79ec687677bccf8a98798b9baea62909f9ec5a2b3edc224ffa79cf3a7d340242b203ce019a9ec72ef7861f92560d79d5aed8eaf9dbe617556f0d5ae63a89f4194838a4bccb315bea2621e32860de08003019830d6c0523016fe53b9fa700a1face96bb30fff854fc708aa9288abf3fc86a20e28d568fbf89d18a6778ab59e875ec5cd55d6c4cabd859597c3fce1f736133908e88abbb090e2315f0a292d5dcbbc51082d142f78bc75e17757101b113967b3a20a113f63fa46f4bbd22b08006b039578ab6b9df0569a1102c7eeff808425aceec6ff7dc98a422dcaf00fb516ac82ebf9707b601330f3df6cd8361e318982206f71a9e1d9997f73dbf0a123689481034a3376715b30161aa70309794f7dd64e1252dd03d16cbf9d28e4b6e0a901b51b88f088759f03a56cbae9a00433a0dcbb74705c2ffa3aeef3b460fe5c4c5d1c1dbbfad6ed2cd39afa884451756babf712c5fe1ba3c328d6daeeb6e59652ca945233072f07e2066177bb67f4f2c188227dcc01ee0bbb070662f5baed840c36a599608e261483feb17d7d992c487fb78b3cf632d23f84bc645116eb971051f7ea5e228e8538596344b7ab9de80b67e73536c052cc39b9d0e4423246b0558d7d50b5f0820b71436afd9ed299ca01202c3f3f20f8cfd50aabb00aabb05a9de8c05c58f97119c355a5adb022a5d7ad05eff8e94147a995fef88fffc40f7d9fcc4c8f2e0bc952f6f6dc32ea42db67a465449f9b85ba25ba610d63e6df42a211d78968c785b4ad4a23329a6f4d504a99f2338d266300db304dbb5c17ee3bf1c97f0502d420a08cca6432d9104deb217bae4896b26533f3cfcfcfcfcf4f11067f5cc517455b6ebf2422a2e8d72cd68a55c45d52b848b39cb0fd4d08d822fcc362b1582c166b4ed18f4b29993bd52cc5462e924aa552a9940c0f442f51abc51ca348241289461fa6ae8b5640449cadce69d21aff48e0010e5881862233887c445f08a425554ba3161136ec92a8d56ab55aadd1089499e991b29981062537abae037ea5088fcc23dd04aeca6c0d5da622dbe176879ca8b504522ad1a8b48182b084dac21754dd6432192df9ed6f888d14b00c4c1b83932c65cb66e6542a954aa5666640f01f28868144c9aa75b6ed99a82413379862475559f85aad2d95fe8166c208baa271ef4fb812d7db478769d8a3b79c2089285669adb3c3cc89989154e7f1168f8c1d6c7fa7840502b29ce8e7171e29dd398b5d11b980c29d9e132b7aeefdad83da673272c3f8474a0d343359201aa6f9dd8b9ea322930ca36f799bd1b77c362ddf3e2d5ea9be60e45518d892126c3f8ba2b79ca7bfd0573e64f47c6d5a3e9c108e149cee458fe489a8fb4c1dea445ff771dcdf8e31cd741edee1531c8af3c49c27e63c31e789394fcc79621e739e9803a94979de729e7e5718dedc247efb9b9f1781c45ff935ee53620ef6c85a319e184f8c878787674eea3660507fae54998cc56235aba6861357ba2ed4d970c2d6e8eaad2faa507a4005d3d02f3909f226f58acbda8a7e29db3af6354cf699b8e7db594de431d7205c28240ad2b11aa669994c1614abfdd3b2209b83535ac6aa2cae49b0b1a68f13c0a08d10c5e0ab7ba3d42c98ec61535a06ece1a06c660521b8fd0149a564a82ad1db5495e8b3d18080124444d011412c5995c96433240919e613fac215c290c9b68d77f448017109b274cecf9666b5aa2883e4ce13b95ab190161251d6c66cac6d8d1b5a4b2975c2fa0b12d537acecca473fd85586e2b2c40d40ab2128db4384dc555cc9af579d0303a35a073ec5562e372ec756bdbab4b99f19cc72c082266ee3e8800d3926e4858e570810b292abd56ab55acd29c3c504c2327f7e6c4769b19ec0a278e14da8e886ab0419d81618a66bc2ceaf5263846dcfc6a59e642396d0cd5a295d829d5fd82e17e4972e8c0bea6b4fa4be0ef83f407e524a584f3210c441414141edd332253f3f3f3f3f3f94caccf00e9bc362f1c4aa44813d79f5b492a02c96b5d3d22f12515b2d12457de937860d4b3f9c62b1582c164bd3667a7456ccb9b3e3e212030411d79f7bc29386a07de0fe817d54cd881ec20231e42bf84a110918a1817e12eceba46b9e29b9199824b2b0526606941f8217852c59b264d9993b3b3b3b3b3b94d61e9180c5e2895589027bf2ea6949d91b5022950405852e143029a594520993286ae1c50336a8254412254141a2a01994f8f80485a124680bb5102c7dccff51d33c42345bffa84ca3fdebaeda454a22aa5933b09c3503c740ba39166bd600825967e735c589ab496b0996a6a343d39a0c8e2a3353f2114d26d3ae4c49672767122548741888bea6a33364fb41ad952bb78cbd5142ea57db38f4c93f04b163818a6c3c596b75b0fe28908b501888da430bbc43aee88cc17ef01aababd56ab55a6d5bd7c34e87e11ebf9fb404d62ae80b1b7210f39cafe82b168bc562b1a4ecaaf631081ba65274d3c1562f6c749995c6030331a7108b702c61c49d1825ae6293ebcf12d46844699f8e7570ce093a1010d38c1c8bfb584514fdfa0d893f30f40e7981c2c68f0e04040404e4400ee44011a8cac0b55ae9b89668d2cae14962e7c96ac55ab158ac9625d89063be5aad56abd56ab57289c46066c97267870b55dee135c6186f586774b2133f6ebdb3f5e6d1ed8a0d7b47482c16e3d84d00d3f83780511f4f31b08f29a47f1ce0430e421655ba06ccc33f0c2b335f08da608a08ec8ea3b81057ab0eeccece9ca32d6274958de9611ee6bb8179d3c7a43f6c20ee391a81248d3186628cb176309ea9fb1bcf4465f24ca1c7f14c545cdf38c57d486babf49999116936307fe3bbb9f1301ff26c4ca6e76edcb8f1277c0e64d2fec69f80c2e37814b43f41c3f1386e84ba19344a1a89f49b28c8cbcbcb8c195da8f3ebf221afc66b9e0d1a9edfbe251b355c6668df1e35cd97e1f185f15845b29ec963158c57ade42b38c19139c618639cc59f184694d108f3f1f1f1f1f1f1f1f1f1f1f1f1f1e9aef4f15f9a93b2abc2f691a640b396340f4c50029594d287f6a52f45c13c17c084e3c358e5fa4b9f888ab55a5b2ac1fc83a04967866b1c6872013a6ec8b3397947cdd6016f79cb7db88f154f4216732bfce55334198b558e5934fa2a2abd98a7f4830501879ee57a14e27ae84db8a4f7f72598c67e4e0e9d452585fb1daa0ae67374522a98dfa1aa6c7c0909168c2b4a54d81cb450f1084c53dfa7602998a6058946499d783a82693617820cafa21d07d76770fdb93d06d73fc6224ad688b994c292b552a76fb75a6211d5b1582c168bc57a369b952adfbead6fc55028165135b0182c068bc99ecd646ccec9d56612d6d0cfcbd5ae9b7517f26a5c6f31cd154cd39d0f4fc678074aca98b764cc5b9eb75a63c8988442c648af908cc9582b7673c039add351445083ce8b4278135ebef436b2f0c9ff5572c5d60f20886dc05b9ebf3c5fc2f3178f7985d061c00208dd05cc03c0a24f1e51ce049ffc91500263e65dcca828e540a7067e85e80bbd35fa424e18e1da7bcc8714fe21759a87b79c08a6e954d03f8a609a90f471d8f5f716b98c4594b7a44eff902deb32765b3a2d6fb5c85627ba009ffa15d0a77e2674f370fb07b7bfb82b74ce6d9d68a3b45aa3910c36f08e76711db399fb70569418c68e9451d23893c96432994c26735904bb0a1bf6470a340b2785bfc9f1e9c044a5c2c7bc0aef0fe6787f096764393ee663be9b98cfb1a47f6025e747260b7be654f44d5ff41c4f91fc92360b7d0adecd121494008b2a85d99518cf6413f33a5ec777a3c2c73c13551529c0553a3e8767b2c9f1a73f7d37a7cff14c549c0a9ecfe209289e54f04c36e0abf0e0e73353f72a3cf827cf6403803f3d003e073a7da6eec12feeb0ba4f0657e9781d5f54e18b3adc5ccd562d98f79f4de66adec03427bcffc4a17f7cef3f7398a6736dae2de6da62f4e5ea89bd7a5eaf9e97ab27f6ea79bd7a507818efbff3bcf88af58fd9a3bd5c27787e3fef5178f568af9e13806c3857b35544e1d85e73f5fa106cd98c15d830be4cef1f5f4c43e3fda3124ce3f2fe3106fde3e5fde3124cd3e1f8565a8f0f98ef05b3d27a3451901bcfeee3c617def81b1fd879ed22e70b633279351ec6b3f19d57fab99aaee6b1ad5c3d2e2e5edf97928d1a5ed7204f578b1d4d170d4e369bd1d59a98c363550a9e0db124f4a8623c56cdf06cb061c6d72b5c32bbdba4b3149323bec80bb78fbd9013368c44d8eacc8b2faefccc64adb4d2adce6e24c24aee044554cb80c21802ff88ab99175f5c619aeda5cef591b39418331a59ff48cd64b3545ccd52b3596a36a3d473992f3829a59c1929d5cb3b5452fc409fe3dfcd9d67a539655c2d67e68db7e6691e8ec706140bc5f60d427fdbb66d6b1e8d61d15bee8a3097744b3b5627faea3d1290951fa6421f56cd0614db3c4cb3d1e000e6e14ff300dee19fc441fa586e88bb3320a1491cd5560001d2a3878c4cd830d81684a4850d9b07c6c3d330d846378f06cd67fbba2bd6e72b6994ad4c6e1ef54ba5197c36180c0683c142210753406a602d5cd4208a2d68533ae9ecb606b04ca58a24aef63de79cf399c6bba7a74d51902148378de42609bd0c1784442d3021793748483fb2303972b047d8e7d6d07dd86fbdf76264668eb0cfed0ffd14c5a0f51776df4b2677c6d09f83403c53bf90c0d6a480b0f5c3d4e6777e357108d24f4a49331d179aa6b1c6ad56162422241165dd356bad8c53c66923aa8938c2be5008b27de85d8821011f584037f9a9c2091934e91fcd43031334915169edf83861edb4769a0059a149689b6299775021b196acd56ab57847aacb7151580f75b98090946a9339773084691a0a7ea23a614396d9600392235889af48d890819a87f5cd0051202096d4b84e26f286584f8624a24a2559b70f4b5b6599fcb03a9d437012c57d49dc91b88060345c52b680062860040f986de1f50d68d06a1e5454e033c614412e56ff3ce161b958482803d1f916e093bf1290b8a8cbe572b95c9a2633d3c3256387d3344d0357abd5ea0946855a348622f451ad4f4590d264feb8691e0d843b5939968ff62a62c1023a96fee13f8ea58a97ac67557c640eca9470edf5d2beb077b4be61b5d25eafd7ebf5aa75a6c7101933e83172e4c58739e78432e79c333a7db27dd5b4ba6d5bddbe66752fe0b8d0774f6179bda8d0fb0b69e31da12fd427ff3e8532604000b384058a9689cad4a1b7e13e64ea0f3dabb88f55f3eb6f888a896ac4134ffe9dd7ae78b29525eba4546666c756c1fd87ffd5042d0a22657c814dcdd96ac9523633b36c4e71aa8e66e865071b9f530ca6fc53abcac4941ae0600b4a95c8d8913058d4d0d03cbc86060aa3221a9367370898070691f860042b784a100bfae996048c147190fa6896a8a66d4d70ccdd2da4e7b7a5028c5e359a518d3e44e1a2fad530be815f56913cfbb355232f678757e5ec6055cc2b842d8400c20ee20ec0bf65d05018e456b537848c1f793a552563e42aeb996c5adebe6d79262aaec593e121892793fd8c985a8667b291f1a497f1913e53bffd56a31fe988c13f64f370f7b1c27b104305f73452f48f2a8c43f68adbb64de11d31681e4abcfa475fc13cfc9b09e6e161bf6ed82f97eb04eff05ea18474f7cc3146c560bab0af27ace81fa127bdfd5c13bfbb13c1a07555429f5d9f7263b5125751e7b5aa77d5cdaaac98533fec20a0e8aa9da571c35d82acc35eb8b0d4878e7b0e12d6928260437f45d8e8bb91120e311ab53c0cf3330df1174c369627d657a42d2c77909278721d70a4b4a0d201474afcc221484ffa484ffa96e0746bb504a7759ef48a27d2277d00fdf65b3ee426d8afc5c6536495cad5b989099452fa354e29f54b5f0bda5148312c75d114a59c24c2fdf6e13c4e7dee2382b3a9629d9a16dabc124ccce6f407c6938ac22ed34fc241fa72903ea54f9fd297694cdfa46953e877ac811a0bfdeea1efba94524a35e9a2df4950de41351a7390be463fe422c060ee5504fc3670b0db9be4939e896af34cb27bf95df7a4ef86f4dd8723fad0dfc878ee0b3dce48868743e3bb277938dc939eab3cb0f3c7cee7b8dd4743ccc0e95ec6d3f0a4d8704f7a211135e333c5fa36334cf171683cf75e3f19ba9ff136ddcff8f83852683c4ef7331e478af6d9d0f8eae33cfd120d6cf7c9784ec69ba28cb74f22c9d1933cd153afe4d524f34a29f2479f29fef6dd8b3e930cdb776f8a9fcdf69dc926d463484ef7713c8131723ccd5c1724d8fe108ca7d4e54ff1fbd780334b3a269acf2838c9492df4a95af934775260a5833fd66eb58a86d0b8b048e61b098b5cf9735649bfaea6bbbb3b4e4969125110243b58910ddf2448acd830b5d33b4e6a520700a2eab93f3c5a0d5886486e0d49243fe7e5c07dd7cdbdbc618efbf6e21756f935b1397f6ece293fcacc979e6419e6ba3dc71e05644299bbfd17d9e5b5b94764a4c7577baefd1a90f66a3c203b3604ef6c98128ce5c67d4807e7c304c14ecf99fc73fbe70b99f505a03bdfc651ac9a3fc89939aa099361c1b511ac3fe71ea34b192ffb271de418477c04fdfe89b3195090735bd7e77e062746861b6209cb5452e87c1d5e0e3a1e44400a9787e8a87150c7cfa943c7b7273f1dade36b5c070d5262074731b0a19724b05bf394970f8ff04efcf6ae7ccf02ccc2cb4f0ad4f0f2edbafd7d7b7777777f73cacbcbd787f1b89883dee360b45e0b936f26e1a0cb1da671e23ee237a738e83e662c855701858fc1f12798fec6b3cf67265d09e460950b735d8cd01ee38cb7bff0268c12d81bce2b24265897f06f8ef7ffb0e4e5f8661050ab385e19cd44346247fe141e85c7f1262bb7fb2eaca491e3a537e339c737ad38c8b1e528c7c39826c7cb9f2a7c297c6129e60bad3de10beb8d2f74bf329e9d3eb38c1cdf9c4eb8b061af72742eec27267b6411a5c3868d0fed75b161e35d3eef6bbcd441614e71d067cc417f14be0973f025081d9ee73fa52ffd099fff941ec757fa1b5fcfcef4b1835ff8f21ccc6da913ca1bfa9330e686fec486a63161e1845d9f3b5d8bb7136751277adcc75f75f05ed7c28b22d4b0573e88b2b3ea31a54e44158119617579f6b87e990a0d8e10cab1fe4c572978cc1792e32a40f8d4cfbc71e51a3ab0dc1405a15feb27a9fc99ef280a425f6032238ce398d0be8b5888ecf5e5989bdd6ba0641a709c74efda442904b63fc61ce487d229a51fa9479f9e1635777e2ff41c6e7c3ab5e8215110ce32bdd071b8f13776cf63bcc70d3ef9471eb1771c6db1183d4a20540331611b86ce97bfba2d92bebad1038aa7f9d900b21d658c3eb370517a94576cc93952666f4e4a7fca18ac9cf2e68a10204b3d70f4fa83edf6e9816982ed0173c38ec60d2a3d280287ebf3e49638d6da41a7ea7ac00326f020ca955fed34a2084d8be1c1eacaa748e4109a3ce60b0f3670c283021d20b468e28899e84e66a6a12b50c17365e518952eba0842870a30b0d8514926ee44c28a3bbf071044b0e10c57c172e50aacdd781801bd1f00aa5058f38240538225af07806895283610b398cd2a3e1ef02c5cb20a174d1a0b2b585cf113dfb0da2a45e0e1c78afb63c59674106bbca0db2969964efab10ed60b8dc7deb84c8509319068a287528d17f4209345b19a33521b22b07282d1f54e56f3c49fda9bb64dc80d92a0a3e5d830ccca0c08cb9d5bd59aa94cd1c39ddcc59d7f80fe2af73749d3a0d6de1b0e9690c82146fbbf0f5e19076708ded9c3c7863347cc3ee458cac1f9aedae4c7f5c393c36fc4eb55bf5061435fbd4943da29b890578b604b5f92a1a0e81ae11df35d82705d82407ffe110f8983f38d38384160ffce7ac4999115ebdfa694aa66072f0889cd6f8883f367fcc06a2fb8f20244250a2b3722711ff6c628b0dcb07772ba1f295837ec2733a7c8918f58a96211364cdd186350fce2b74e642a5234e1c6193030d78cf29203db1f4650043ec618ff327f8dcbb817990dc1a0af959fe7866d0a2be4250596dfc61863d74dc199fa63dc9347b8e0868fa5cec8c18c0e6058fe7ee1659052e9f3bfb149c0cc91a391fe8a042b6f58c500aa4ce3945229c365ff863fe3ec0f817efaf2fb43b632843e37e94f5110ad027cf22464f93a63d671fb0b4901df3fbd7af943210ef6bfe0608b017beda7f69cc66d837412a9d4b4e875c7c12ab3388c9a009ffa33d01d61948d2f6cdf38bf8b52ab68c4752351c7cd9047bf1e012ffd38a73744ab577a2fd0e060b7c03f040776c74016fc0209c27e87dca509d7bf69956be7aac6f144dd938152eee7e3684f9fc8fcd087c3fd7caf53fbd24c6d7be9e3681ffa88d0a79f8d27ce7269a44f24f494fef638f34344b6e73e1ccadffd1f4f6e8302f8dbc2df3e29fdac9a1e52cda7cfbca3469f3df0987774f7837696aabbb3f44143d314e11dfc2d44b0fd517acc3d70409d6aa0c7dd66dcc78ccf4f4311a6093d7f8a81b00f4dd4b58cece6a5c0a7ed992b57590c7579ab61541d00ff8869f15c46385278c095db779e4b0d574a18620cf172fd5a7a0f3f310f7f200150217e20180c4ed98369646c97d113cc7ccc11b425c80d1041febc4c058bd80d7f6636b1c30e0d5a002301141340914e5831b5f8c013557e983c7c9452ea019eb329ada2c3c3e7438d7d8cbd4c058bd70d7fa676318636695c51848862eb6a69c23b5110e91d65cf7062fdc3b61ce89c1b8db854eeba3946222aaadc75d908db3c6f72417e7f7f35480739a2464abc757a27b268d4f7dff8475c82be8c1989a8a8e216893e193b41ecd5c15e71b644ff90539a87ffb7042ca2262c269bb2e963c50d6595ebb21e199bd23f24142ca9481bb88a8b1c7d3444cbb78848ab5abe9b25aad1375d3ab63f014c2e064a3749e9c616e4b50067a194eaa086384dc62f6ddf56b7b7db919999bb1d99a19a16fafef033853e0498b83711991f5f01333e93cb29607e1c4fa18fd6edaba7694ce892e8110a5ab51bda278fc4681fc65ced48cccbf69db37ed8da67aa1f02d8c148e99c4c68c70e70346880fc2d41d8feb0e34a2905af941f9f8b5e497e26edc3fe4cda579ffea4926f8c4de6d462ba4f2da69c1e4c163652396ffc8eccc420628c51442fc27a949f0df21e01afe3506296242bf60acb3f4bd65e5f81edee3e1273e3c721e064d4220a11ab34c9ef2ba516379cb9d22b39289f86fc4a7c6d49f2d4281a08358a3a1da5c5f8c9bb4701255d6139c7c176f26a3f36c60ba0f32a53fc36c5ef635a363584652a573c41234ec171756a34c7419e9a46a594af85a472ca2bd993003b652ffceba592b5b5ba17f21397a3cb6ed76a7abeac5ec1ad6e75abeffc5c151cbdfc5c4b0dcb9611e953bcc35ad9a0026c51a1b051f8e00790cba81a280c4e1d203c25160aaaf03a87c1f90d250bd93730385f0726c81b9664f1ae26be06cb72a337c718e9a87e45580b26425c6f089fe60f4f8b57c3a77992323ecdef3ce653acb9f1d9ce0cf9a9be19418bf594736a3e567499ca152cb8a1bd59ae68b9e00a20de871d2c0f3a3dfc47e58a1c74fe6f286345951b3e7dd252ab56eb7b35f1c45f37aad5faf1dbe677fd6aad95f694f13d1a81e388728f551c51f3c199cb351c8bddee7543df9bf7d503356fc6bd54adb9a1e9553e75a7eea357e253f7cc1df785456e28f471ab98c425d5dd071b4f2ce932338d88d61ac1c89123873ef7e2d5b4ea165872bdbee6c977ede573ded9172e6cbf0bfe264abf1b0ec6d85f04d7a5e81264bf267a426a1cec7f79d9d47749f368c491856519dec13fddb7982f605819a6e9db37f1bb91df7dfcbd837dd3f2f19d67f4f2278f37e3578aa7f92d333e4ef7f235173ef4dde0883ebef6c538d8f6471fd6d107c616d28f9e08e947f6715a9e887d192fe3c319bdb5fff65b629ff4a5402b2485436ce53376551464488ed469957cf9e12889a7cf483c75afa3134f26ede5b32a7e26ed33c9105f3e91f8f2938fd3f2f1bb9162d3bd7c221267f452ca6f25bf2538f145dfcd6715e803e8ef5ece4ecef93970901f7590dfbd0ef1452619e4776f135ff4352e628dbef6798181759d9ed5397f24ea6e2ef79abc21110c0ec3e6d5a06d1ff26e5418fcb5cf1572314f6ec92a7908aeb8621a16bcbac07d772d127d28afa8069662d392aa2fe33ddc07db96af63f144f29c25aab5816217b9faaf9e39d8e2c3e7ad788aa7f99293db77ddf7d4c0b5c07d5e657e3ec541bfdea45d9460474f7acf71968c3e5bcd6651628bfb224f7c12e313c9aad824eeb88e833972f4dd48b919bd897b56b5bcdbcfc47d43cc7856d9f7975e5c451d0767784286c493498e466f9f08e95b3e1c1c29382d2d2d2ddff22d9161337ad27723a5e5c301adeae5897518090b1b5ffbd05ff66b2c3e00af32c2d288d482e47acf4bcafce81d99f19cebac22b5202159e52c1e92c7aa0eeafcd4cd343778471dc3be5ae0ebb2041bfa0b0696ad308d0d2df075417e847d0e56f39e1a70f858ef11798ec3c7f6ed9c7edfa5216a41020ef62da2044bfad187fefae998a49a8b58e81e064ed4753777c60b83f6b26b08a0eaa8448eb704b97468060000000802a3140000200c0a8683e170483820932ccbdc0114000a6e8842805a36998883418ea3500a21638c4106004000080090ccd010050081200fc092d380c36d03ebeac74d7130c3ea1dd35228a0edf0d2655374a2261dc4e1a5e7a3c7871486024faef5743f7bab80eb55c71e97090f88a875b40f7a53b832864849c8445a696eadfd7cfb8d95f1d2569e74b5859e377b411d353d47b77c1d38a2a4391c7bcf39c9f7e5d8c4d5511082c9337d3ca2d92bd6f15ccc8c853871bccbda0e309ff19594323c96888d67325f164b42cedac79facaeee7161cbcffce001356fc050799a49ccf0e96afee29e748f54d49189d3818717bc007cbb208cb295b69ab204a8ed9f2d1ad898758d5c494897ff024874d3cdfa11083a9fe65e7e66258a7a9abfce426ac4117e4c12294bb8aa44a87d8eb27fbecb4b9a4c42bd268efd201aa8c09430e8f9a627ab4b1c56ba3c7ae4558ee2f52434567f8d5faa775282ffa830a12adce6c61afa736b3c4196a4ead5da28b2aa951ef6b540f928313461496bc65963efcf001a3321820e170b30a17a3ea75e88402e881f06cec8b408554a5cef3d502404910948f913306f5de92ca2a4227e4480df0bea0caa442003086f7d08bb7a217db59ed475f6fec3fb409773a8bdc9c42cd48a66450761662f3abf61e03815743d452653fdd6ef9462e024b9807623470e84ec526291a003ffafbac1c94e86e10a5ef3bff700f948d808cb98a898f032e7b079913ef6eb982f8df5b92349b0bc1d3768575c422e21f409e83ebf98b9b38fbd22807442030859717fbd9ccdc0922a8926c1736f2e8a1d22a32e87f4945a060ddbf612c5d80350479612473e989f0a1424d54a401982ccc6b084d11b52c93a888511c5c4b9b0c81d5d6525247d7d57be17454eb6ac9bae99fe4b7f55c0e217262b57a727bde9d4d91e251fcf28c8878ff8aa00f4d4a44f8a3ba0f3600bc785a484c3d8b92a49dee6e8e83f3c5e975de36e355513dd35e8f1e37c4f7dc3d8049e44dbdd00d5e52e33e38cb226d565fa842e8d3e003393cd3ff7f54a44d816d95f28451846333cb01c288857f1428732c52d1500d327009c48329b4efdb3561e8392122e77e93def803c2428111061a03a6dc5a80eb18c5a46a5aba2699a42d074b9235ff46bd33d07860bac225afc7d0fe96c383e98d5c80b85814aab21a3029ad46baa3818ea0c48693346ad648563ce76cc435f327b5698a42b8ffe7951cbca32f14218c8a7763349635ca81b13a343c4fa8fccec733543fdab3379781385d2a0312bcf6bf0da308363c271db6c4cce3342b419de49a37f9d41d4bf6a83c4faf5d9862820597af8faade86b54f7eb8c27b90ce7668fbd8aefa4e2385fbd5479311b7b3ab41a04983a5623240825a34ee5352506fc3ecd53a7aa77b2edfe854b4954aea7f2160e15a695cba3f6ecc570b6df1231f106b9514803b9820fe0f4ecebb854c2868528354351b7edc1b83d18ad84ad3deb2f19ca72b43b2e00fb80416d9f6e428d70f70706629f4fd65d7f90803041b1f54d9aa6dff84cbdfad4634427bab3fe53a8f1cf8237b8cdcf348f6c186fec014673838cb0e8acfb22c72605aa501ba43ab9c1a23768d121c54ed06e204bf3d5d3fa19836f3972b33e165d84b0780e7a6d97216cc26df1afa4609be7a469979008989e4ccc5035d8a6ef12fd17a96a573ccde07111afebffea53ccd34168cd32f81f71809653d9c6471cb8a20877663004a281e603037542406b0e0c17aa30a798efd5a69fc5b8edc8eb3cc145b4726390790aa6904a30d73a6c677ad350f31c87a2a5cd009ccd30739978a130d3e738c2eda04172ccd7827c780b5e21169bde5c92a011d0220ee99e34c087008de37590d1de6cf655a16d57e0a23c619a6252d5093d558eb7f4651a8f3d695948352208a7def7ff30103982867c872df15966b8ee9c0202b4b078d5c024145db22836fffb88538130c959c79212cbe7ab260fb3d844ce8877c10508c22b3707a127b23edf72dadbbc78b46a41677f8b58261fc2254025aaa0410c9f5c51fad5a2b690d2d85459831e7b6eb2a94f36ba6c66fc0e8c13ecd293f631a7327c02e9798c08311d3a8edb58fcf95ddb418b3895c18eea87cd36a8fa9eb8b10c133106fb8ed2c5579bce99d6c005189b35bfc17b1e8b6dd429f171983c62f8ac22cc2d93db85d436b588489cead601653b9a9754fc773fdde688f0cd0ddcedf9c07d881ee9acd96b2949664eebf11c3f2ee48efe33a93bab5954feb1d4e40a37f304d02d8fc4d8d2049c726287fc4fe1c5e896af3547276f7cd273ebbe9723b5aa89c2b3472a9eed7fc729854c84d61d5b421659a445ada1b21569780b09c65fb4cada22d3b43e25903dd0e986d5c6f9fd51430e8475107163f5a32f33f5e01ca5f80bcac248e6c3ca632e87663d4a8693c6ab4e915be21bfbab8feeaf8cffd92b65ce06787ad4d9872108e4351f1e1d3b64fafda912e613f5dc8c279884c65c182b337025ae2673a0112bd95a29e305d38928fed089cc90b28b41e78bd6fab3f4736862e010198ae64975f2f338d4a7cba7a0428730675ca31d9b3d5c80c6d6eb5648bb65eba51e13e498884a0eca7e590b44946acbcc60a6a1177900a1c1625aa1d9417a764eb6923f4218e11fab8d0374b3db3a1613e18b763ad181ede212bc394a10762fe64866eac717c277de68e28b0d9126284295e0e7ee158868d208ab5ddcf1858571c216d9c89d33475d3515d445f27ad5ab686a94d1b728be046fad7c19a68dea3a372cb52ac8adaa01924736c5b232c4b9865e0c89de771b67fe270c5984c4ae59a2417259051196006f932ede95d19df8fc1c3bbc4a548f57b8994961360a8238995094de323fe37b3a15348d943205cf8e2dd8e04ae1bc7c6b8b451c6753c7ea8e534ca9d8cc12aacac033d1281c622984489db292d360404ed121411819e8b2d1da0603745b774c688b143165e763081b93dfc87b1dd08299efae3efd7c785d719b6b4868c5506cb40cb26a4e35893528a352b8bc104a10be150015bd8c52fdf0a8bb06122d8e0cc5da7efcaeb2f60a3cae2460fce34435c2e035c5c2a7518dbc29c447ef0d12079c2d3f4c706d623b9c8e1e45f22f215041ef94f421089792040530c6d923c56ac7aeafbcdf08ce6023bce39f2dce264c258190f1b2a57fd878a6d72ed0c7a882169a8185172493fb9fc0b207b68f9e2e9a277f42fc53212abc3edcfee351de0f5c9329b53140aa70123a50aeb0e18209021e5270aa5a111ae09cbb308f70beb4b6c6e6b768a8333e6786b4c035ccf7180b445c963f66c036a3e27de86e98cd4023e46ae32c8dcc5e9aa3dd2548741f025879055c8c16232afa18ee03fbad4391c66a9e20943d9dd4cc561be4bc70acda51c9fefcf932e854ff1a1c48691a4489943e0c161114e92c5b8ce5ee07b516cfb29fe7018b2d9e01d582cbce089d076056515e372f047910b910972800f1805f12d14c501c3e28240dfe82bdc3b8d6339b059f68a17ea3673725b4bdacffb3a742d7c70371ec1089912e3f7edcd8e9ec08dccc7419d91f37f8034362541574420bff4c5e2c8c9304835d1821bbba780df0f66390428c4f1cbb3586ccd61857e2843b2f253b9346803d482e71aa276d75fa164ad16963d2ccd03622e3aa6e0fb543b67574dd5886af5a8d749ebb27837096ca8155c056c82f7404eb763ed9605e4ef0460723d0476cd7b68429a7e0a803e1d256ae4b3a1223089d87b03971142c62f444aae0a4dc72e3af767a818d0538c90ff6825cd99ed308164b7e440ed25a7e5e63660296f9845dbab692275f0b960b9604cbb14e486435df80e572224c22f137ca94f41ba7d024ad47c439d938ef1d6d5178bbd54c71e797f50e68f7f9e4385eec35dfee5b591d992443281aaa871f983807c3c2f0bc0078ceabb1f0d90339b0f5b0dac23ac32817bf6f1de2a262f14d89ccb78b8cb05d0023abf113d3f9890a15dd1167b2ebb1bba7f83a923d22c72b4550dc3520d65b47fb977ffb1709350788cd7289e12e6cfeb407752e67fc3f5f7d4f8c056dfa07994f1acdb547d28697a7e32f0d4e736c7679f1f14a2f9b7d983ec54b23bc783a55d6f365214555726b20ac3d6f8c825b91fd5e5a4d46f5914b81e56cbc1dd6643ace267b154c8a54116db27badf18de6e8a127d309bf606300b4721cd0fe3effb45c1b521b5c08387767485cd4077a86d8d4941bd5197e425d9c659db946563b4263b3b1eed4e78d1b30530a082f54c9b0cd8f74202aa29420d7f4ccaea5e333852d58a899b399c66abea0ba7add09345c9eeadcf80803edab4684ac86f1c696f2bca72f701c9b27607237bf75e43aa9fa5247d58289ee0707c00a96e6b311d18ba4ad5499e79ca0caecc24ef4dbc1571811b36fea54aa93c854f9ccce0e1a1e217b1893af3e28b5322b722fac2b1757834cfb79a0e8fcd785024f5cb7e415588505aee87aae2a36dcabb4d72257793cbc903cdad11391331fa8c8f3aabd1d3413046a19021aebb3e3c85c2b1b5356325889704888565fccebe8c817b47fe1ef9d4ad5e8ee9a19cd8e32e0b95073a50045c68d8fe0c6ebb3c801715b3554386bf4f2f43c06bd0b867e80d7b56aa2107e732309cf155278cabbfe9634311eca457cbad14235eeca946230042f2e00a8e6a6eec2b4dafe2b0823e7ac6967ca1c0389e22e8ba804e89a6b0f3616a6c178dace5456246e77bc8db315b4c437cebc79515fd8e4fe0f4d0a200e5be54bd9b74cbe358f240b67fae0cb95165c261799e7ad675b53fa9ba5ced48e7de9117ddfd20abca1c1d9e2514c9a71aa642f16cbbab4ff65b38061e98040631a9a0a1bacd0a966b43b70d30d51aba536ce15f0be6f41537233beeb111d398f39b0f0776a54150d410edf6e63b5d410e9e1d2bdb7e798d2242f216ab2e1117e473e05a4c77664d1ae4fb8a229ba39545d4713b8930a466abf5bac21faea277a14b3d3982cec295d96104c4bbda0e5f6a45b5abbd7ac6e3ae13b833a4e0fb2c31a42879595db5e8c2749cf73623a0182e4b2d63e45620bfd79a6b6a6f5a2ef2d5d1a5e055c51679418e3c6be14a922e7cba9af5589ebe75f0a9e6aa1a524a500e7861ede2afc8a96394061012a77f9da374f6a685e85467599b10a4db17976dcd15a9bbdefe29d7268750e1b70404491f27084ab7193412309b86318c194e100629077fe41bd8eb510e1a9c5b75c19a8f059cef03508e7b45acc45aa75aabdea1910db045d551816732887cc6235805f310416bb12612dd6505d449136e061b6f38544d160354963814db6a8f731193c93e9cd1006a2d65363c664dfd51e478ad9e53ea9d5f9baccf96d8578401fa40fd50f1ff0b86715b5f84dfc0709d6e883c67e2ca2d7b1258a994abb72d7d1b73abaa90d6a003fa0d7410d105bbc723ad7686d6f7c8db55b7ff08031bdb78117427b4127c9a4ca50fa7bb84f15aa335bc8decf2a09b6282370781870f07530b2d96d06ab1f53c80c07c0d6211d66c6db900c8dea8399cd983985124b5150956bd79edf4b40483327c09cd8737d422156af3908bae1a33cdc513b1606be5a29f399b291b618e5e7525181514cc6c08a4bb68176acbf65812297cc49b6b56be668b69f9020b940f008fe0255274baa17595f5d0be3fcdcb2d9864767a51acd827522b0fb4f3d868bd8d8e143a75349dba5559a7bf468151c101befcda6103de70231fa55bcf082ef1f7c931c8db71a318cdf11e0a67ad0c9fcf11043f0f93c3dbacb88467f285983310613c88c400183211692cf120537f2a19f353b8ce8902faa614900ed41d506c1125dbcff6760c9d8db8e7d894f3cd1df0f45c8f59c6b6dd6d156c18a707d9db244af05425eeb55d39e605fc04e06e554f02b13151436ce1b3280faf087f30e4339f3563fd45442391e2d714a074476904408de395268705acab701b12bed9ef48e17f78117a955a3b6b6f9ed5059d4e46af40b5a61c5d549a46864944360a0ac26f447cd71fcd8a831926b1cf2e325a1be0172ae9cad224a289e82c7024956e33e06e454de0375b178a3b1280501f97e9c8731059f6c1cf0a43e5621dbf1a0ebcef59dffcad46dcc83f37de5638be5b79c42b3ada9bd7ffe6533508347e4915567bc69b8e64b118fcc92c80937b62c086e5af2d0f2d6193a1d94b350c74bebfe3358e333d9660958561ade5b0d9d03696c3bcd2e271f226b46654c5d4952962650b4191b0bb4eaa2a4964638dcf52482c8ddedb75107313d1222d4d9ae334942aa6f37bdc5289baf7696d93f18b1dd520dcc7f181b1629028f04567e93674292df5779d8158bd3ff8984a8e887221ef791d6dc1a823c8c4c07a8ff142a8240146e877314375f9f358ea7a4bf6d4c1b3a0ddf37246721c77d19882fd29c0cc2bd4d1fccdf4ce853f1b1ede87441f65b35c097d349721d42c452000b934fd4a3a44f931ef2e56a0e10b3502bfa8e6201ee13254bf4b537f1fcafc2e2759f46a9702d573902cca8d467ad9b42c6231c15377c66406665194f2c60512e91bc43539cae89e33b17f6656269bb6b2f0f0e692c85cc344b2cee52ce5b63aa3849bea65ee9a08680a970c06d5c73c9c957426b9a5e7ff10281f9200f8f2074dbd0f0cfb4f7751a9fb6614ede222329c3f623f70f63f5853bd7a1f9f50058bd1534664b3529cf27a1930462ba64a8698908099161988cb9972b25e62ebe3464c0aa4544754c464ebba1705b2efea93bd2e3303e57ed04fe2b9482697bf8d8e708e00aa56071ef39798d85a55efcbf1129ea762e64a730013d67f26e04a563a7c4404885a99097076f5b42e1c951887b72e2a2d404e491b4a4e316835867272afb57d432f2093ed211e63eab47bb00f0dbbe5c0cb3e528e25919d694be0878ce91b021fcefddf64e9f4add146cc720e0859c077ba72513891519171169b66bd20110f11724be35af186bccfceb099fd81be2d0efa3210f1b8e25034f3e2b0a5b3ffd6dfbeae4a1c83ad96925457be194ca3a64fadd377f85a038dbb3e2f26d2230c3b80118b55406f295bdc4b1b7e220ece832db4f20df25d9585f2c0c6980761a67d3954c3462f29dba826563973be1338386bd61e3c9cce4b0fda29ecca7f4a4e8e131253d6c17a6535acc430cc6c49a33318d4a2b4ad04003cb8725c25d29275875b1292a003a81f03071bdc9c71e0fb80d65aee95774886a609e1b5bae80d5741a850abdd51a32b70bd7464f0282fa3a02980ae7721c3c78d81421e7e583b0fc45e4ab82b36a4c933b6b531f4294a2d6a5a2540a630a55f79749ecc52cfc356f066859df3e4102ff1d7d9e1ea67c05b74e99e7801f512768efe6e28fb26e7175cd80540737be0b5161df3c0df73b5f9ffb0249c9d76e09cb7974563f9f893264991167b1f893e24f3874f542c23285270d2ef27233fdc186f188a01cd9dbc3861bf90559d9d55547d34d7ab2a3097af4bc08290155cfb6802779658e5a88e5bcfe11508bccf916eef2fdbd6a271d8c394c9af90cecb1b108c009bc5da32116d83c2442ff54c82c565cfefc347d31c67215ae2ab89e602b58ebd1c82ace43e09f0c61bf434a3da3f48b46a607de4dbb4bb7c0dffab183e3e0eb898c0adc0e552d232213db9b8745894eb285c311aa3d614630bc168ba2c450841fc21aee2003296488605c81cb3a81e2d623458665f4ed07d42e08f7d0193d657b47dcac1f3f4e311346dbe71ec20b1bc13c69a8d38de8f1ef5fc0f587f966b7be2ad669f6a109b0334d46e71345a98936ff883f8cb2a30bec7b3af25a5b92666e7fa28be71ec9bb9be5815c2de21c48d9c73703c2546aad0f008696a09b253a7ffdf33a6e093328aceb965c01bdcee680032b44f67b80e307dc7407478dc8a5f19fc3b3242f071ec11b1ab6ced3a680b9c608530699b99fb84047e61ec004bf7b1e8680929d0f81968de5367101dba1393ae51ef9beee9cdc6f3e943bf779948515de408ff86cbf56b3008bd190399db7c67cc98029b1e08f08d3169a07ed39e1c0b88b2c6bbe80f30cae91501efd27cb7aba7f538a66852fff637167b3d457e0f51d270c1eb481bd9d0914e9421a3ed8093492787e0e7db3cf7d04ed9999d533e06cf7717dde0b7c73aa7b600432ddf8bb0babc81f61f62ae1f5e754d7cba911fb7e265d144120af388fa98114fa2518cc2ad00385660d1ef25706eb422566a4965bd03cae48fca3947783b3c5fa3a756251e9cd6af64c164907e38f0e87577b8acaec5e78e7d31e8ffc1e385fb06026500ce18822aba5f31f9edab5896f6a6f9ff8c8f08327067d3a4adbb1281ef2d2f538ce378e660693d9c89fc5db388dca554a633edc42a8382c72569739ad62f4761a8df4bcd9a538bf09e7df05c7902e4d8c86ba524566e3ad0120339e870fb31f7642b2c1be4d1ee48e5a15999b3ba268f928324569815c63cf9a36c1a53b20f0260a0442c11fa59248ced062371394a7d2e447328354b5a43441bd1f57e063411abc521c25d6dbd927ed93f097393403b2aab4a0dcdb4dc00023220179a94e90baa0e32a16b38ea68d000b66b90076f29c81e72f921c7123fa14a30908087a57d294e7a205989362fe22b72d8aa92c92755f9b852af0e90aab9062914bf0196a62747700d822b36efd0fca78277518a0ccf956861d245eadd36d86ee5ad86c3247a63c293706d0cdba13d6c623404cc2765565570f7e9b2f9b456fd73f33d99096be5e06ca230893079064c952d38785197d2801bdef537d572b67f6974f02a96d4059b88ddb636ff699a906fe8053cfea1b0b05790e73882c9068d8ae750eee380353c87f41583551bc6848fc6027814ee58e143d31993b01af5c151f188880834aa62341d02047490b768ffc0650c0e023b8db82d8112314cc68d509d7b27650abd18927047165ae5542aaf5b28d94316e8b63ff2f8535068866fc5dd5dba397c71c4d0cb61656e20c301c6a2b0882a2687aedef9d88c0421afa9406a9201ea27008ca6cf032df0b9772a493e5ffae5e281503f40b70b7bbb00feff3eb3fdbcebadcff0380facbb07312ed36a9657bdf4245aaeb8adbd31a5e1303da96d719a2400c09156d95643ab6ece14d1390859dc84e810471159cbf3d206133b6fc6c7100e200f6defe5ef7038077fcd840252943df3942450012c584bac35465db2c2f1082c8cc7d17a0e5d48787a80ca7bace8e2893ed3366bf230b5ec059e3651d09ceeea8e9afaa9fe40fdba1138b7b3de6e30f7b6844cec4bc8a19be0404448603faf15630e5476be30d26b851fe307d50dfad33e81e406563e98779d0b7231d06c9aa280b78ce100eb6b1daeeabc202bd8e796e41c113395a43f592bc5efcccd22fffd182b9454a031f7fadbb062747624233b70e549bf7a49f1cdcc111041963b6bd3eafb7769788fcc5bbbd4cb1d359d6f9b65ffa238353951bf2eb97ebbc381799fc8eacf94ebb661c8f5db796d675aa113a07ab6bd669fcdd6cabc01c39b42fe220bfe1958405ffaa0d63fe4f5a681d7bafe8bde5ee610892db7b165e221f0cd5a4e64d827121e277525c56e1b59baa03d51e6c90a7e8018494122ed51b99f6a07c98c0b624dbd125519685ac37248fca28a4b9da717cf976e63ce7112c90dfc9b6a5c71bfe479c115e4e7bfa96067a5065f8bf655074107140c38d42b2eea782786d4a663c19173c979b58e8f7a1060171e25dae6cdc46dfc104dcd2748fedd15a17a238b13f4041fb1b0c89d2fddc3580f5e7948201b6c7925a114118b0ba4080a8ce104a6bcecd7e0c0484e938f3cb3337f848e18d3590e2d7dc6145c4c0714146d8d0a93d3119c98ab5068be2911ed629804e2e4ebca0f7fcbd54173d7240ba9ccfcb8c3fda3c2fb4f8ec4a9ae51b6a9ecd6093be63f76245b6c7db73b7940e4f72016e1bf696d185cd9b7b80d1120b24adb2a086894ba7aefb700b6efad17436bfc0de70d396e380e992d9defb688cfc6720371c3bcc10e9006d814ad0eab12be136894c03f91850e560a59cdfd350c51c932950cfa09a723c0c004dfa2ecd33bbaa021822872b566a4a985a25829e87fe9354f6ec19877e0ece2b16476d6129df035700b78cfaeb8eb4a0989efd6ead5a54a983eba17a69a7b32c8bc6913c730c2c244b0db7e6448564b346427e1c7338d80a091ebadfb0d97445de35172d617cfa016b289a9672dafe60345fd26e446ac8a159c2572d10af6015641ca23fcd952b012b66f391f6a24d457ea741c9f036cad6fc80014170d1fbffae426f77462c28fcd9102c4cf1e9361cecefececdef9a05cbbf9b16123a866c792b57fe4ef8a985e29c8df1b5eb13184b7f116ff674240c286b604c1ed9d288a22bb786655c46505dbe5dd2dedafb41a3a6a6d35ea1c4b3bd962385107658b5a9bc43629c36a0455e5822205e59c89c2e5e5d2e74c711181baf18597b97a2d3689c8a0e93c54bca69b434ba60e65f06c627efabd2d19227a9578e56b2fdf4ef3bf357c9dd984702436bbb9716d1937c0249cad8aef15ee46694d13d360472dd50d1bf58bb80a5ec5bb407fa746b221d254e8912cfe3a1159d53cd8f7d0c7ee2b11e2b8eab442045c8ab46f983bdb788bf8727c548b4501e9a464d939fb28d4c791b6eae208f4810a72a06e74bba354d1504ddc68f0b4805953e0939c82ccb9d6717f50dd66e13260b1cbf569d3853dd9d6c67fe112c1874d503a7c1543f731c78eb88fc5cc4486ee0f48da02ed0327467cb9b005e310fc6581220fbef2a411963226558c4eb54a1be38bd758aaca32d8e8c41e69c043a7b4c75097576b1361ff903f1eeb115918babe25965b91c55ca013a7580be15c42686cbacb137d18ddadf5ca424d330fa0b94e484f8eee233a4570b234fe5fe7b778f8763a82180dd9a7b6dbc74e8b2037c20736b40872e7e8b4838560401d7c951641561ce30bf51fbcaa842e74ba73b12de85e3cebe7c15e42bff298e83c00112dcbf0ae2a7aee99d997ad4e25d4f4b9bb702a810afe191462a93e4722ab705650a5fd57d8ed66785fe14a133c2b94cfc25dc9e76224486b6844561fd7d81deccdcd48ff698ca2235e8b7738684556cb87dc4da64f1703bea9be5e9e7fc13c2a288f8fdeaf3e2beda275d153fbaf4c7c03f3fe84df3427677fa7baa14dc5171d1c47ce3172269e06615b06d33940584efe0ef7d0104bd8bb908495bf35f11a0bf14c7304c99afe732e2d7897b714dcf0f636889655aebde73988f482c08dfe2c5615059bf041ccff150c4538919cb60a9e2cf9da980e5c42813484346a94ffb06ab444e6d70cab6f98fbaf0b9f024ceb04406bbf4781c3c9821121ddc7cd45e51e0c7b95ec37f9c1a9bd2064a8f65270ed9d4f44608e8fcfd5cf30f3c089abfdc96266bfd84d4f3aa55e23907f264fae665da4c63f4988459aa6a20143eaa8f566ea0f81b3423fa5855ff3c664b72318fa499c0768f5260a6e1df0187f7cd94c1e40860e109ec6af367ee09aa58e63184e3af20d226a335b5171535b2defed772bc1108786498d48e2570b962f5485c78834d474866210566944de8484bb41229eff15f290369133740162855411962748a650a40d8cfa5664252203e288d74aced6abd52184f4e24b61a58ca9cc1ff62dfa4c6212852e156ddef87391f5f4479d94270613c0762f03e70e817931bc787b7764e8a23ef57f8bc629a457e15cf056ce2c7dcf7346d348b6383aa438be5bf8ef2f435358c398c0cab827a576624425e1c3e9a42589f6ecf38b43094afebc12ce8673ff9195e0c81f342f0835af12c63a428f843ba642628be47acc85e2fdf3dbf13ad8583fba9b8782aaffca710e3f082e6768b9754cde77814a06ad00f061af5327ef5bcde65d55360f9f9c7d1169e046713974485d98d848978a2615a1dda7bb24e5042e4badd7a104363399c00cf003d2ea87d38edf11246180791788512eeb74900f657d91581039b09a417c80de116df0ccad455ace8ecf74fce920063d986024eac0b25ef295d3c89f7e8776580387980e8e2b15f2cdc529a8034fff8abecbcb664ea5c38ed9485894e6814ef230bf0c6dc39989a19207cf0b4b5ca2c76fbb075a2fc697fff5ee2a73f511527b4e5f29cc2ace036999f8965e7d75f5de5f25035041069e5aa88f7f8c09209747a069ef2d00d0ecab1783a0496f0be36c10a68cd0ad865c7e45708651c02f0b12f014647f85b8b6bfe3adec73a0add84e248889c43d8b58610b69c35a256541fa3929975af9b748d049b9708214af4690cbc8281ad56d85f5857796cb50a51b0f1d70dcc4a69d8536d3dda5ba99928dc068e9f2d0f7a966fd3d2f4b35034153dc51c525ffd4844fccfef99fbb995483da267b61dd0d0432fd2bfc1171460b719dddb069e39757d521913303dcc6538a787ec2f2c1ed34405eb2d6dcc56f220eda9142448dd609bbcbf1043a1e5202b8eec39b1b403d47a924806924f00698035a4d127dd3678b5ba93e34665f16ad3e7023806508b5bf4cf9da02d2dd530caaf4d33f5d53a93b5ce620183910d18e6e1de2c20544e6cba51d705f52108d69130322bc6daf05cee2f8208928f5cb2f4f922f4838f2cd0d355a53028b65d0d72842058120d367eb9060e7bf8a8eb373f600b88d06758eabea7f03c43fe72197f6c709c3a3f790bbdbdd4d3da30bcb2efb87d09c22d97902c262e50b1b3e19baefa8551210a403739bfb7ea058c5b97dd2e05b1acd7d5a35525d7fbdb52622ad30c2167f7da5ccb7fd3a09d7d2375f8bb9852843c87efe0fd2511365095784e182ae356138ba41a6ee0e7aee5900db5c087af0679c8b0e530320976a55e28f68c9c690c5591ebf84095a2a985094bc4e031e632a12f9661795d3884f75a8ffa0833e331972daf8340ca480a4c996b66392bc3f32970a648dc48f3a7616c2c4f5432829643bc831f351d62cd771ac9f7e5858eb0bf9ee520ddf3e13484062dbcac0f244f07fecd5a817c37bfb821a6a79fee5d8d7e2ba68d29ae9f11440c3065d6214c057ae6183b946056fa386ae605a9c99e23edadc3a886f797a08ed85a4b731c6150861d40c1ba7f7357e63cc018c24e28002ae4e0833cfaa64d4c264cdb58fa87a1a3f16079a3db85d3420acf4bbb1d1583473ce8b80c201f73907959db112ed15da569d5c1d55c3c67116286c8672b23cec7c93e6ab0fd641dca08166d8080bd97517c8abde01da172916ac28b8c658a9a7872c2bc63409ee469fb1086ce297078bad09b3404cba529150d71867c7e091d610ffe0e8ab3c674d71c706264c2b947858cc5694e2c957e70acb1f108c597d1062b560e616711c0b65ab4b02000be7151e320977cdbbc95e3b4e3c2b28c3867d446502fb27ee25dd0f1d0a1cc940244d20a7f7a21dc396dd1ba9525dca1f26b3acc55f62798629bf3b85d7ad7757d774f17391bb6618bd627987b5f7bb79fd45a9eafb07a9ea207031ab781b5b21ae15798a63acad13384a3cde3cbad86ddc039243e7f45fca0c4e65833b1dccc4ded9dceae1dd399085066f3580cd6a6ef1e3317db64f428be7b19f24ae3f290cf017850599547970b910e21369ef9a89cff0c4149b04051a69a206b29fb68769e60bafab3105fa0a98f9906387d3b9302d1eacf540f3eb63216cb057c3851175d23edc342c385cbb995620083c4216a321e55a7dfb061577fa4684faef7aef53a0b4524778b48941929df0357b14daf3d40cc35ecfd453dcf4a68cebbc544aeac12d3056577a6b32ac28a261d2e2bb938bb11ae8ca95e9cbc5378d0dd2a58797f74c8ac70a37cb6b9453520aadc8819e9cdd60df79a9ae95ead7ebc0094754e812b19bc1500e1f8170e1fd9895d3eabda4e3810acae4cdc51b2e232cfee46b3799f44e58d06849254410a10efef51bd5d5e2d6da057ec305b303a1014d5bf46255218e4f1e4126f13ecc47be6e4d2576f3f2b9b6d750b277938a01ca8ec8357552bfd9358ae63484991595d41cbad5035fcd08e30ac4c78017dc6ee2cdfb552b2e772ec2d922bfb425758a815979f45bae6fdfb08a03a3e65732a35b327ea8cdbc8c9eb7cf12743bcfff05ec30fee52fc8cebc1889c131b36372b9016fe19dcc2eb77577803b24af638e9b1f249e303c28f7e4dc2112f7f58fdf2c6402702292b10f200fed7b4d6701c1a8ef555257a8a0132c05fb7708eb724d7dede0a3181addd8861fdf3d59281e46252c9dc9d971c113f11f531dcd86955c016c0d71a580cf9d2fbba26f7fd1cea8305909719fd12497a500f110cf96ff0d4f6bf1fdebe1a61c1451706cefd1aa9b1add5a50fbb8bc30e309ddbb7362ae4bb2975c28b9415364db6a77d5c833303e24ef6a11f1ec9965a3c49bcbce33ebc9e209cbc42db83a2fa19307d7f06481244318e19cda6fc2312f4a58aa7a51c6c1feecbddf8943f587efb0db90c6246aeb4a71a2951e34d04a5d299079c450c99bd6ec058fd639f9f53ae770373c4b071de92cd51fb1aa988975a7d85d2d6b3d5463204e3ea861fc4c9c236377b5b5ae9e6c504431cc499f56902c36570ac39fa6a15fa614cc3ee9ba5c30b64cd69e3ed761c6d18105fbcfe788d6b72a2a054368dfd2f911081324203d87fc5172980579469fd323a9c790862e87215dbe653b3bcc4371ee7113641633fafaf8a9ce6e861ffda6ae074b69df70b418666347f48002f32b08781cf0488d36e9838fc34930bf38fc451345e5dff328052e907998ebd0614ab18306e06c16b1465c5403cf8f2c7b4a8ca1b9b4a815d804ef1501baafcb8b4538c1e7151c01315a1580a18205747ee10547050ef823bea9c3ac292814d9070d54ffb5ef0a88973be7a8c2e2a239135dbf940f0157e8c204a8e41eb2e17d6c41628f9d15ef55fe5f957751ef6a09841b9a824c484e0feba9a2d934b67308074ac5ae7a8c1806f46b231be825609ecfe68ec7113170bb06f1b51af1e942e45dfa68ca9a4b326b1f5e09911de69e8e4cba2df721da16b7c88bd10e7a3f513be8d71e8c70d03d4a239081d242d073507037ae46c3027f015e2a1057989f42bd4e66fca1f3b4d4b10960d0b519e5478f08b6b3b795002654e94f3e604a631394fde856afa66dfd7388149cb8afc3b9644fdedd668cf7de3ee80812952044fef3f3fdae099fd61aed67d1df1a1dd2275f4ab4bc3e6e3e75204139d97356fcc60f8c03b18986bba3ef7b248fa3f99718b61dbe82d321c2629ff071142075a5d5b55b53c74266860f053d9910226f3a43849625ae7468cf7d053b3094eb5a7feecf18ac6b2bd648e81599f46c4ce8e633f66385030d6ea6520387e3301d7f6574c8d83d51e7007d2a6637a449ec271bfa590c6aef11da52588c72776f5c079c76091d10be270ed679c6528c8926477a14e59f5aeb1c78eb601464f7f35af4ff94da2d5fcf79c79894f6c67c20ea39dd2bb12ab792daeeb731057c5ad52bfded7607d341e62ddf36cf2691ac767e30c80ae1b35d7be40962409000dff5ed85571150b9da3b8b0ed49817e18057700e9d08cf473f35d911e51831f21ffb7dcc15a0a72b53a706ea46eef5b240ef7383ddd22410a5c5991fd10db2c1af58b70ddd20cb256b480473367bcf305f08a8c27daeeb4005f171a86a8fac5458e405ca62ca29e8c6395ac5d21f33626aeec742c96325a793c9fbe8b42fe31d238d0dcc7d670a86d4ce5d5e06a2fa72479a57dcdc51063041af395f36f2faa2ce41b97a2a9e5e6557d892003841cbb955360d071257ea9fd0e0b7fe303841c2df154d86f4ae2374a5ea4dd0bd8ee9b49568ca12cc2623881da21e7fd41265574013dfe74d978300bcbc4a63af702d94cf48ee6392d57f48bfbd4a734f86dbc61086e602d510291f22ea1cc4c221ece8b60928de7252eaf7bcb766faece25c0f01bf4967654425cc57b8bf3c3eae51a395d5a752ff7ab286a155c6484f445f5cba0bc87e47a00e482114e6631bba943ffcc0d91a4a60da0e1f7db6454a2a7a9e7c032f0722d5c897b26bf46c8f2e123fe264e4af4f7ff070b79dfa30cbb9e709f97962144190c66dbe9b22972c1e38cef2847bb6c3d890183c4f26a93275b102e9034255ebd51065346e8053aa900319c91232ac957b4e77e0436c6ac61e2f36e8dbc387356251dc352d7be9fa82a1e75f7e57253448f6b1a025a93d1b5800f70017e4ac07c6b4ca995347481ab424d5643153582f8445cf76be8fe8ba3375d1c3caf6f7626a363983a53f7cdfac337e46db3d2424e8cdf47321726edfb58f353a0f9097e679da4ca2c28f08a0f404d4b2eb910be7c883fc0b01ff8fde6c3b6e21ffa9a41fb995873d90229b67a69e8e1b82541c8ba57db91c51e94f746c63b3cd6a9ec32e8b580603415a03f59a072541f47e7e30c8c2e6f1f6ddc36c4a339b870931e8da3c6e0c3e43e5f4a317b679b60079539c5b12f21dd88d166d671bb7ed9ae72694ce43163279307af81385841c852568603dcbe639d3ad926c414fc0cc7fcfe7685bda3c912ddb3c377db747eaaabf7c20a46d1e4bedbe4804bdb387d0a73d0e8e9b67437abe0096609f6e9ea7447ff0032a35929de2f7729e033974ad8b437aa16f927994e518d099c0740751a55c90463b0b9446728f67509a8ef251eec8a9560ecda19572c162091870a521a6c1c2cb18a2b50dd2ab576524d2a09bdd6048b6f4099fbc78e19688b644f8e009a8e275b2a8ba7b222100da831e71c9c290c9f00582cce1f7b7fac62d2150a0adc68959cc1955e9ade5859f795cab66f112e8e835d600df00b9cef28bc4792cbeafe264bef90ebe7e968cd1adda325be4daa52055a91adebf535ae896d0e6548c0096f3b0ef41f8feff105ee529648bff3fb8fe5ec5b7774ef9a0a8a565771a266c50f583956346c0f59b9560116010cd42d84f79482f095fb9ad48a72a7f57ff019b9d0284728e53137de858d35386ed46dba8c306fb1f8a815c759263b7f85bb004d0cfd8ea9dfc9ddeb0000d504e5971b87d37dd3d02ccfb174e08b1e3b1e36adc3ff443d029faea6ecaa1a8b5312dc7d9681ed643a952e76be73b01017a1292eb66a4ccea1ab6867aceb78ec097636ec0d1fb3440c9c1a3c35286a6154a17be9c3c808e2a8b378fb2a9a8e0f753f2751c8003d7e8cd4ecb4e88dff2b478ba9fc53acfac6309396cf0c1f57a4ed5a35e6dfd6cfb4294c8435b359b6352455aafe9005f10f68c46141bc4b57d06284ccf4a299324829d3ad4e2082380f28058935bc59307fc15951edd5640f5e7f445d3291e4b21165bfe230fd04a3da59803092459a09527847e537cbe4b9b7851d2b46cd64ea2008ff334fe5c84722a951bbad6e8770460b335813df0239cd871e9ac26c9dd795d044bebbf90bc59725b51bbd76a0bfb1196d5e786cf4ba6f44423512be36cb8b9930b4ed38edb0e56d878bfbf612f93bcd71cb240f6a2b8ee665b41620e00c6585c07d21bcf3c1213626c0e85c7c1dacdd8a3eb3d12fb2499444c86c9853caa5411a7d201ab5e859066e2e1e59d46cbee1eaa086646a693f38439d504729c69eea5e69608b1af8545bd644be7a0a040092df9bb3d00153b62c2436f4d1eb8fa7d053fa9009eae9871200ab25d0db48943e0926f7b23a2ac3b7fbcd2f376adb24adcef3830fc519bf25f1061cfc7b05bdaf75382f00fd0de4cbe0c45057ead59b040e0e3de7af1e4dfe86b1872b6ddf792fb521648980a6b67bf1e1438b9cb1afa12e63d50276371589dd0deff8a9eb29ddf45d980bb93094588ba32faae10ffd5fd2fd4cd927cd4c35eb02c90007c4bb5da92e020afbd737b159532ecba0582d2a3c3f38316501331184da687c3c639b345b078ce91d245e80575695bd55829aebf0cecc52c63c9848b93b59b4394bb776accc95e46754cebf430d95fb617b53526cfa91e33664b760cb394aa81d5e59daa1f3cf62c6b216ea355984febd99a9029cca9feec4f6f665887c30a80d641b9b009a11484d61c01c574a7b0cc36d03a5b2638fa381869411d331c833793d369c75be127410d55039153cb6c429cf6b0f026b961081dc8200d5c9ed30c880297d6517affd93ec8ae275d264c6d44dcd56490a75026b861628114e61d5860a165834d025ddd872fb3fbf0b6d58abb3b30ed21e3408876f7b318be925e7760d01707b1ea040cbfd1599668a7c8ef5c3eca26f99f154f7db5faa4eef513cf942dd870e743fe5683c4709f906939bdabe342e971ad0b551a2886a1dcaf92ff9ddfc0dd744b548a712cbb94feec117cfc980a4fa9f95bf1b789185ad14d280928fc3b8b97b9155e2a001fbdf422afee804a6a9a80d04ca81457cb7d26eb2b57ffe115bfe884ad1e1082d68b614fca7cf70eb6894bc71f50b65d9c9cd9f5a5909e58a91a476507961fdb6635a1e3e5256bcde60e4737155df7a6fd26a5f4eb592f7e4c7e4b7d82bf19adf332867958375870d09106898e846438a2a98eb722818700800699e5f0d134481732e050bc77b652ab21d9e926faceb52d40eda57180d87b461882ab04b025a0589dae716f97e0a6bf846f084cca3af3d10351a7c7007addff56c76469134050a7de5501581e29e14aa2b7a2d139f63b2237c5012b3f88ddebae865e61e99d8c13c3ff26a53701066a3635c603fdaedebc789e36b61a0c6deb5a99e2add74ad3f3bb7bb2ce79fc266d440fa6c2bbc2bb4f658a62a18947cd3d6b81c65039992209188f0ead87d836589966262f5bd7bc74d44896cd4d1a891cd73739e18f27b62f53a5e4122529b909bb5a5b49b42e1bf2491285c6c22777f476e6437237896f0a0e91e876ff3c6d53741ceba29668cf6a55bab377de3623b18d63aead2ca7f40a1d0023b31b3f7d7222f459c4bca2e284c4d175b2a83b050e815f0e3ce4deb6b454e7e1bdbba9b75c4f82c60ac8499b682a1f2910b4e755d02408a56410722864f537ea87634eac25848f09a6fb6308986d60418d9afc6fa99b67c628954c8735b38ef1d2a2f0f5c1fa647628fb9a5386f18b9a010f878a29ff2413d31eb967d4dcf62888ca39f3c502857a4c1e8ef840033d69cbe4a802055e70a8df1387692614717d28c4642f48286675458d43632348a3ea0d22364b5c3d212e65620757880b373f53db8294996fdae143d8fe825396f085ebf5791affe5dcc085ce6cf767c7415ef3f76f1083df16874c2574a50e9af0c36002270afdfaf0b252bbeac833546f64908234495cb37c55b2b959fb790e52717e8afd107c604927b64da94ace5b2e39e4e118010f4d6230c49dc6c9ff42971f0d4dcf7f9525ea91140deda01e84ac5d86d687cf589144cfaaae24a32766a608642296a8c339e58bf7b1affc626ab9919eb4e50465d60c1554cd589d01be41593487dc87204b24bd12f24cec2e3102c159af28de13e374d0ab46393a4ae7462f97c2a192bde192bae6770684886d20cc6559a4f24372bd1116f3cd2784957697e7ef364116f75d711a2d4b376f39b6a2de6a700aa40d35d745f8097c7a97f178d1c9f44d8b6c71cc39e333b88e1c169b8499a9186e7c5b3f5e60b40c4929fd0c9e8adbcd1fcda74ed7039d1e73e579d773ba82047e6fafe7f00019216c8ddc65ff83726a43fb21fa8063eb523deb73f7bf06162e5d00f541ca006036036971b97276952e5dc78bbb977d006d57cb922b552aaa743cbd5f54a5135a6b20d420a3501f946e287055d42b52cd4a222a8ec76439d274e8496ff7251686aa3dc1e3ea5b6a24150b20230cbeff09555c653e182cc67d025c09aa143ab327b6c3bae9721f8949983d25d8c1ee3c27f10c1214417c35c2a46aa9b06355bb162c7d63a1bd20d6503c6c600d6d624adde325fc14ef48fa0329d8d75c06794bd7616bffcfb0dd9520e7ffa4c1ae343ba4ea5557a4046d580c2bf6e327b28f91b56861277d5da2e49ce926f275854b482dd4824de6f24f37b8fe2dee490d4d8e63fb98e5212e0668c4735aa8171583374eafa34c03d91ebae01d08a32dee5d2ab220827504912cbb2fd300aedbc88b73a49617b45984f3e24528b7dff9d13b47f539405a066d7d50d6a76cdf5a791b81062cacdd7d4be37cbee97dc510522b3a56d24158a74bdb1806a46e4ab8d10daebce2f9e6818a5b10aa010f0254a895d576be04c28290dd8e411892d940e7dda7f0b3d14899064f0babe3db1aa894ae01a4f91a943415eeb2dcb1198748d4800b8d85e59ea3ec63bc8a6db1bdd8712cb9474a48e046f81efb5074ecb2c47c2ddf46ab3c4536a35449109c090f033c84c86e4960231086dce8b92430b6417d2b936061782dd98183d007532379256137a6d2a4ce4eff99c8412f73b59c2defb396e4296cdae9186a44113ce5c6e4e1a948cee56c14c452f447c87a9b67faab9615a46e5b6d6d26ece7a04943bfcba8476d91adc22b9160dfd63d92230af5deb34f3eef703099408f3701e474829efb09e4e4eba08782234eaf09c4e66358cd0edd1412bb468eefba2e32a973c6c1e1c72021e8d35de2149ab0357cac1340682dd99b738602a19a2566f979c9594bd621854f4e3a1ef371fbca8f8ac4217ea9b4c339872cb883ba57984843d28e4bf2119fc4d9336857aeb1ca7d06b17a52113d710efae1d134c8191127276cbf5c587b0777cf3d084c80c96a9ac66a3c2602a66f1de36d1b58a1cd2d381492f55f5bd8e6f6aaed51901c769cfef0608678dd98f6ffcbd07c5593670d052bb040c5010d218c252544a42ee6b61e74a8e895809055a5d6dd5735a02ded468d6f95f16ea97f1de59aa7418024267b87e3a94a4f93fb41a36e4becadec896f66a3da09b4fdcfdc3e9f37dae7520b71c1fbb065b43de10f1a142694e82d3c034fa2d3c65947294918c8ca677913d75bc70aa161d2aa031a8512f1dbf4113e7730f95320f593c7a763d4f6f162e0837945779edb000f33ca904ac5ec993b99e786902c55f45f210a9a4bb900dd45d698f0f73c7d64b89487bbc8aef6d34d4427ff592de32a7f7ad45fd7bb96d8795fc5f3512f97436b26ac5c8d0ed00023c66bba15e394f41068189c84d5a7888b1638abbe1bf36308d9a9f8f1603a8e6c5e8eea3900e83260033d458124036a5628dd338e0300305b0e013472cc48c08048251d7bded8bf5734788e7dfa5b40c2f43507126dac915df41afcd325f50f45278c3ec475e8a6b191fc6733ee4a55724878cf07d469029d3bd390c35c87846abb42d34b249d06e7db81bff965bee8d91c731dd3cae64182fcdb14a890f62f1cb4fde1d3671a0c02dc2e40397385257ee37f6300ae19dd73513279f0cce72366d7005bde544112dbd700f054ebdfd0fbf44294e87d3d94a02358376c2beefdb3e8e256c4fe4a402051702cc1cbb6c572d0e6f9f631ea621ea987d33566aa1718c509fed1fa56a36d7de9db332c563912b25d9bb4b8e1f324aea2b95e710066ba261fe30615b254c2d30d848d75a20ddf00a88e3d9f8c53b633b87d5a7e48b6753ce0deb28678acafa922ceb00616079039e9099f8db35f4527982db4510b8f3425b35b3e58f2e957b428b49c54968d3585c15a78338a4262ed907c5dac177436ac126967bdf244af75f5b52f60cd7718e18eabcaefb57d0ff784fd1f32036703a8c72c15b2674c999be1e644bb1e27264af6e8a10cc788e690f453124fd101a53141c8e0c796baab1eff96f71ca9eca6ff65f7a402f7bf59c63ab45df11da6d3295641d80a906700a4c6cb57da303dd9a7128c56330ee3aed452d27cdbb0a1bead8346fa10f59c554e4b50fa6182542cbefeecde7990a3b20189b0a012735ba31fb7cc1b7f287f7a5077de4deca35de6c1a7ef915e3c09cab7d4f8a02f996e971242faac8b1a73a292a8ba895819ea7cfc245c15865b3d0f27f0d39b10d6a303ae1197978cad40736fe48970afbf6d64337cdbc654069fe239b86618a023929b08de0dcf4ac130ba1ec1a4ddf508d6285c4ad788ac28fa380c34692ee71eb405664550062a49838bec5327701435936f706eefcf3a2d3c1aa27292ffc38f06fa8cfec2ba17e16ea4b66d97f7819e9ecd8368ee985f03f20adf8cae97c9ae3d54914660c191013e09e9b8063a08b0f294e3c1731e6f625113431ac3e5f9e89b2dbcc75f563d5c88ed952ab03954a882786a99398f78d4f602d4a307902ae2a59e22d8094a456ec6c7bd2e1df7e86e18aa906df287adafb16d4d89f28b212c90312bef96fe6738e45a43121a6886a7fa2e3a01e0341add383f3e1adffef90ba291dd44efa7cf702879b99d629f18204819903806dfad9852712de094e0dbc11f74e0c03b3cbec3236ae4a3275e0453531100fb3a63d66ffdaf41869e4fd2e676f4fb4e3e81780ffc366c72594de45921f286c29f188cfbaa697f78fc9e51265692e4be717803623c1f9673003dd6b53cc7bc208192a24cd713baf77088fc813dd7f097fa027d234110fca9c0a1752c4a0f64ca8d87853c99d240d893a58512be1331ef0a93a06c04aedcf36bab218acbe289d638d4707927fc145da05939ac8e25c38a55c212d618459602af178d3ae465b2609a5db8ac8abbc6c0222efdf94b5970431c0b0d0f7a0641a7451c4c225c5ae50bcc968c918f8ec8b656787c49bbd571a0074c0a13cdc7341e833cbf7f81a6c14e0b25640b8bee3379d0de8c519e98fef19488ebe52cf250a4bc628fc083f4d2985f010d0df0cbc9932e49b838edd8f7db882eef1e5c1cc6aeb87f670fc8ae0485080837b05d23a0eca69e8ebf8deafb26a83fb31316fc1ec2aaddec3b54c79f923355578877c01c7f98a409a40c6bd52e786f37f5c900c9f0bf8610f858ce47ec33ac08839c099a124f376c7ce34900481c45f0dbf40ff3edc86cfae79d101cc64b14336905324ab1bf9cf1df918305f78028fa6ac0cd350ab87f2c8a06669a8b4c292aefcd2aaa39008b7c40c556b6e2d406016344ff1afd813a2362bbee54c1eaec51e0489aef252aed28237ae217afdef939dd26e0b8a31dd02bdc70ee2ae1717e4b471b7a7864d0fc5cb5667857739583f70e133760353b95b0f306ebe949cebdcad012b6074c36768669d91413797ce5fced863e139c5720412b9c0d0e6b37f7ae9cad61ff04ca1a3851c1fb3da5f5de48c4370a30ef4cd38c73141f880967f587046fdc80ed9795b424ba1e34ac0fc5439536215d39d72e7bc43987e53cd3e6bd45d3202df99a9620bb4f5c3115fb192071db282f4073d439c271e0d40a69ea1ef5120198eaa6bc3f69757ef0247ef324b9a922c599fe2f474582cde4dabd5bd8e5dc27bd04727ce206cf9ff7ebefe3e78fc9cfa10a251f70ed6d1b15cadbb0f6ef0d43d8b5e14c60f89ea8b761e995e32959dc9e082153846a025e1d155430daa05a22388664d54b8f6d46fbc0d44246d0d1f848e941712608e819c98238e2188ed5d7a792024d82d73f950d19030fdb82bc7a4cc6fa4e1eb485f889246dcccf7f78f6af62c1ecbcfb5fb0f345e47e0840de2f9c81fe722821bd9074ee86623a66ebbf59755035779bcd7d20aee285277d8187c3d90983e17bcc17701a0d84a8143a0419c18451b0078275fb44702669cde4e21a36fbad808e801e6e890efb40bd674df958b9ea03b8cd9afdb4ff636bb73a8d8974519be5546aaf7031ea7e1f5c3abba698f97f9ac1d25d4fe018b78e8524528d1e4958460e105c6ef5b157874ecf34250debbcce005ecf7bae35cefd58c77ab0c06d63a2795c301a89c700eaeb673a7edbff11e0838f7dbcbfa3345ca33644d11510c3730b3088fbf04f72948768c012076a5bc14c53970f155a79c3d03c835dac74edb782228e2c4724ccc4227868652f65300c066287d3f60631ee7c1105b8e522fa06b5efb2341bc4c8c8512ef76fe45bef5bdf482dda225d4f454722964ba7fa9142ad60c05bc723afafb87659cf432d0d628c57802593550ba8a989566e57aaa0c05938a721544f5d20ff9875f05b3259682553e2bf2e7bddd845bf52fe7409a61876861e8b738b2d7c292b38805bcedd1fcf331c049dacfe1afabda7d9f85e9d376b3346c678bb59c3006800963a6c6a7b571ba62409bab78228eda740bf73b298c206738ef4f89385df4bb765f38bc9d45e842d88a67d287f4bf9caa0aa5a095aa675cb7c24fdf540d22af47b42e15847005b23e51d25f84dccb43b28cc6347382156f0b31cbde755f65ba9cc9fc7fac83e31a4c4ad246303876e70cd3ad8450904b20511885c3afbb280ea2f07efec04f9f20e63dc7022a3f3f737b9a9c34488943dc2fbafc4c054809b193567ce1788d80efaec62532bdf91c64a2d9e5172600a4dcf4d05080d1d6526670c7272ba7555b5070f2bc0dd065dde53a11375066a5c98f70fb5ccf90829dd22032a6be56d03d5c16fdb5079c511dc97ba52c6bc7ab56ab9093518b00bd16896382078824dd68bb7eddaa94bbcc62db4ef59792ebf7ade88bb639c444aa038512a8a8ecb8f51d4871ffcb39d551395e62847c4f00343d359fcfd76483adae8021db872ed1c1e67b8368d6d30f59e021d8822a8d531619de0940e58c2c68a1aed148dc8baa078b676679a3f47aa7637dffff6f22100ccfc5608d06d58abc2d40aec86e0c6af23a90140bd7d130a03d877a15213d02c2f1632e6135fc7a2da07f57ea60daa68835d3f758c9236c41b8738b5e9b5a44191ce08257e64b4b99d27c4bb399313141ea5a7da6fe15c7d6449375cb6607d75f2e03b23e72e9a6ed8124eaabf399d531cdf8edb48234cd09579425d1f7226b045bc703bfbda2ae0703d6dea44078c261acab28c3a0ec1bbb1d4a3d21b5ca86ed2aa8a04f4168d181551994405027de20d4d89e16411af3d65f24821ba399ed44872ce46d7f8447a4a5dbcbcf971d5bfba619d1a7a314a433b5f327f2a9966876378a58d1bdbe8d18e79ab90521446f482a2132e5e458e3d0dfbeb267cf2ad7fb39cb2ffdce61d90de48be4bc81500690b7057540aebce7848500906fa0b6c83ab70fdb02883a6a36ce18c800395171cf1b311250cc403f9bb9cf777f36f2ee32267a3793cbf3ced8257e466234e833bc4cf34dd7df9ec5fa0cb2bbeee4a32f82126f868ca80c69441936df809bcab9c107c4a24b9f5a3f84f7d4194b56c31e0f8da4287542041155153547bbf44cab25aa0925a56864d9b747455442b46655665770e6bfaa96d1c2664aa3290f13d3ff7bc38d5c7c9ae67f0ebc68a24cd1e1c3869c94ea55c571dc27d4af7310c0ee9832f2e10e815a598a6fe8fc966dd76a15b80fb3761fa2f49e0db5b8f817de5d903a916bbcf6f45c3021d0ca098f24e25da729f29b84f885d9d284574db0cfa7d4e8ad5e542a9b7d80b2195c2dfe853c782f4fb27e7fecbe08d79de62a3af4b172e7edbf1a3153d42ecf3b58a0936349f4648cedbc75799b2ed4d4a497c04a707c77aa23f74724fd9f22e98de886b25884fe7513346f6d10ea259c07600f4e041d1cfd1d61533a3eaac9ac9645ae960cce1e1d832a2ba4875da6a099e9d19f37a554e0f86c4f8cedd039e72a32c61d7ef59ac1ffbf06a7afba5a060c2528415181113367aae72906b4bb91892bc338748f92c26172b8e82f87d8e1d83298974551d2bea0bff2c143bd28e97ff4093f5c51543d29122c9338e072aa2f5b031e06321c96daf0fb2dfcb26a1fde08d1d0b5529dabe15a85fbf40704e30530855013d878a6f34106cf4b2e5eb9c58c09c998e9a3915f2ebd156b6ab713f2c7744197d161c59bbbac8cfe279414d212cd53d19e0a6f2b97d5ac15f79ce2380e6103b7059d8a0e2e4573801fe7a1b7d3de18c393749e5c372b206b938027c9106bb4b12b8db85d887d66886b961a9f66f1225c29d5268872ccba0de4cf7e8d38524cecb552ab328a47445fc757291d2af3407295c5099534af8c0802474e52f9bf8ef07ef16791fc057bd2a779dcf04a53b7d429a13ee69db78168c54c1712067b2cb04f53bd2fd802bf6968f0aa34d603420385d39114eb309b4b4c9b3338d4e959abd0aab3ce79e5e4888c0cbc9bdf3434c1821b927708db90a58128bee8462bdcd42c2726272a718695038b7152d45953a5bc62fc545ee97964e036ebf167c0249156353633510cd85503ac5a96d4ed99308a16d95378f38dbae1b8f374f11053010ed2bb6fa6de324a78176772b51e4b4bd866bb9936387af1480535db36925ed913f78a122db8aa61dbe444faa049c169e210290e6b29095e84a91ba07333af1b28462bdd8f253e33252c4cda341887c8af473ce08851557199db377851d20c412299a786c677742b834d32f0cc28ba41d5a0ff548f36fac4a0f5fb5c8057889895fc5697e463ae7a7f6395c0cab215ca0c56f6e2c4e1d78879db878d0135408f2e805aab10bd5068634d03e36d86ce409a10114fb68751eda0100719e3057c730515e579007ad386af52b35a72378e397c6705a901a73cbbf3b92a87f55981790afa90dad536e0dfbca664d3d16677a68797a94eec96f99e68e3a4fc59c805be5b7cdbe36f50186db3d06495af7100374b7a7664f299d7b5c3ff2380d8de741e574caf043523775d6b687962bf510859f81845bf5c5262cd9d4ff0fa58cbbe159de1407334d718743ea38f0e52c939b10269b68e4a6660ed96d1ee158ac45ded034637b923ddb789413dac863d03417faba86f1c5d6c73be7fef69cf7cea3d4f3fc69f35ef36968784d53579e3b83f2421543058be054055f77d08838c9b3b4e84847c5da859b71a7f83d64a54f6046185e65995ec6173cee2664a80cc4076bbdbfb5fc1405f646bdb2861771db3b691b41ab86bae60c04ce6f357916faceafd6d9925af628562f3ae387f5ee328c49b8954711148d88b1b28a980675482246f7b4060828368573c83513f23310277cdbff25f0c4dd88a72988ded9fd55124273d406722d3dc3bd1ae5b1441646ef18f997d13c32d1e71024e513331424b221bf7e9c8a7d4a40eb2f2352944f7e98d0487f88470b4aa09de01b814586c139d7a8ce0f52a999aa79ce2c7be742142ced553bedc92c58077173a9e7b6404c9578fafca3e5ab42f0506ed9673a14385a4e0fd3dbe1ae22c298174710e171f3b080544bff3dfee666b3e91b89032cfdf3f2d301ad78cc23d30b42fea9a624d65da6a4358e97cf448ed2a5893b0da070620d026ff8af8ec0a95b218d2ca02497c0f29b2f58040b8628d1abd91da774a136d67e512573a78246751506655ec8ce73d7c815cb23be26478237e4d5497bccb656f1164465ee97264fe32751e77138f0c806c4792f0c8f1ad724f0c6a3352459a4fb28d2c3a8e6c6d4f7654716a90710a6789c0e443a403e2f34eb5a0faae951a7f26b6c77719f04472175250cd02f6ef13074da2c9a53a91bc8b77b63bd9363fb9702f71f2ca1277a2d07dcc290a714785bd45da9775fef9fbff12ccafbee781666e07dac7feffb9a65849115b66d90018fa1f48edb713c07edf58e320693fca23e6fa1c01ac5a8bdee6a0edbfd580428287d5d38cdfaaf88e3596fd41b95e7c88c97e9ed340b10d41fe525d8d3ce9f27a42e7fcf949d1d61776e85de446472a68dbfd0454a8d0f65215d5e8deb37fe8decf3bb0efdbfb2b7578cff47721d3865ea2cad267e142c991d5698cc382dafa39afa32b0e80f4ea6b2514dde59a45da89491902ea4212baab1f2a90973b9811be5e830c645519071dea6b4043ae96948b649ae92caf5158528f1e5eda086e495d4a7d83a04eadcaaac2550212a060ddf889430fda7b62e6e435f31b5ad53033de26e7e73c5113516c093265aefe7f0c46767c7a84cbc702cff11026adf31b88f866e5f0c94ddd6f5185f823f6c202f309dce41c20a6ab4da3162715d1247100ba5934cd530030c9b6e6dfe7cfa39b2c5edbf16f3ecbc876724ad643ed9ea2b61ceee7f2a078b684220c800847782dcb5a8301693ec92795b1e9cd535c5af63c3b790e188b43911dc617d315cf800dc26ca1b8c122a556f3b0033a1de010c3e73a3251a20a2037a4bbb4bb7e73991023310a9d0612c1f82d377483120ba74874758bca243a38976fb27b157eec1c00ae32ba30993cd7aae0874e6bddb2c6a38c6703ec3df7c6f7999a75e2ebb19f2c8b24445d5b59e26ae6acb39b89cc85cd614c6a58f0580cb82f6faf1c3f088fcc76b1558bfad512e05709052ec867d2c83e1ce5397a2b2dab0c2bdb0f37450a1169d114acefb6254854dd833bd61a493a5773cf6736b577cffb1cd38d8d3e3aca5724dcc94c1ea3824910937431de1b354e83e72d40bfb84e615d3469b8be7a2a1fe4e852174d163958d31ca8644c6c7c2fbdd816c34030c0b5163e2d57996a58451719558a067e1b0e10dacbe2c335d7257e48f76de370c76a60b02c79e8218cbc79981bf1ea70e2d9ee154fb1156e617b2b549f35e2be4b6a689d50ddf4b2c2af72e15b77d7cacc80e82a671580054fb462cfe6e7aa89552769a4aec5b4b9f66d79fd7c8c9ad8585d345e3934b8280e06676a6d0f8491273772ea814de17e38ac6421daf695812b316741b9df5f1acc1b94d9856ca4b471f80beced7c57659d8e6dcc686690b94278b60412799f5bccbd921a4bfd5335ca924363be9cd852fb2175fb4f2d80c2720c669b2d5f97a905d0ae6a4e6f59863821ceb7b0ddc921ed765bb1e3a3a5382ab8eec08eb19c2326e60bd593d80c8f4ea1c7b942544c35c7ce0249d44e48bc94355bf29bf51a2f2abab6e73a4ca422f8bbec88b0f8697db7e7701d67f678ba399c6305f8dabb5a7df862f58ac41f5bdd732c72706ec382d8962b941fb0915ec09e2e28a6a2eb0690bf6ce01ddd3098fd2cfca244f4ad91477d870d36d8247443e06cf042efc90d14ba93f18ec4e0209ab9f65286dd41475ce5a73e78e09c6e1a70db3b39ae669414d3bad897c9313a7b18ba98e4d4a610671d8aa4233745274ff1e31d1e8093547a1ecd9ae2d2f3b29483004089fb115385cd5d383bc89d20cf324fa98ff87f723395fb8a0408187c786f9de49143a4fbfc09c503a99c746a38ce708dabf3cc51ee72b4cbbf61f606c57736b1757a05abddd8dbd825577936263ca0c03dbc5809138cac342a22d3eefa917638adfb4e8b011bcd81cead458bb83cc866497ec01a687661dcb62ecfafa330b27733f1af0ec7a527d4c8af1a44b565994e8664d3fd1edf08d618fae6d62cca49ae429300bd4ba0531a93e3529a11743963bd8db8e9e992e623cd11c0282c3e22096e87031b7dd3fcbffdf14cc8c7103d610bb02e9dcfdef1693a9d23dde5c7572921b08e0c7a307b0f82419140d7c7d1d9ada936d6eafd18e95b538f07a2118e5bbc266d3eefdf160d94802c50523f0102949e023735264ad1b1b35af8a170964db0debb5ce58730a770337bbbcc8bdde281d1ab12d71b5a27fedb26dea63323ea926fdb80ac840ba8b718f940428e1648100815b0f01c24605eb749da1e51d30225ead887c66dd96230e3517b2be30214c1fd0f2bded351ac0f73fd44f3b3570f7cb8be9177f7544854ba3449316392adae4478dd27f0a5cd88829512f1310a3d578a96a57d95a2b3bb524a548687561d2404f1526141c7ab8b57855e834f4f1c0433cbd5f16838491ea625374e433f4d7ad0c955b3b8163ce34994997368661e8bd1dad1754aee5dc76d6c1d0668ce01745365bd267b2f48dce41979f82ea095f7d8185baf310e577d15fe64a419672b6354be51e14642ed519ca3a3bde087cc55df2f47c78c044efeafcdbac6c56d11940a2e3c931f7069fb914629ef1e054cf675fc5b3185ea35448da45917b92226fd68b5c3e8239863452c18f58603f288f8d8daaadf985cfd29286ab20d3f6cba1fe5cd80f3cce18a9c4b643d663528476ebabba4ae123a02245d81f42e9c11d920f365d9ba2437b0f0b92a468135c01b86e16f20f2c3c9f0c695dee04268d279b6a98cce2e51cd2c0062c32f198bac44f98892c9cc74546cc168ae98c6890c400233c0e8194f906cac5fd73f9f0df07207e208b88735eacd060df33e32efbebff51e4aef5d866ca93ca700d1813f0a87d1767ecee4254159ba436f2395ee796242d8edc23ea391caf0da831aa36b6754f41806b9d87cdbf1c3cbc41172d0b5fd7c544c87808e71f7caabc658d5730fe0200a85ae27069108ed2c1ca4862e5e6ce11d7cbb8fa7e026caab6b4a755481ed52e55ea9f0481e64f2e20d28219c95ebd53640de6c4104edc71d78a600d2467548a86c28d06a6a481ce42ad1358c1ae802c1ce9be2eba1cf8303257cb29239ce688e4539b2f460ad6999e040699ca9f478e78db81deebbdbc8404dc8103ca59a2795a2054ba4a07965057afc69eb1179cc544c6bf8f2612794856cc670e16f54a34fe9b0ad5165531f78731aadec91f0e0e8f33006080b0401050f1f5fe90ca2ee6fae77c2a48100f130af26a8ae966b2b7ac2564ef2db7943225990277077c077a070e23131c43a2ca2f26987dfcb56254ffe8d0a8cc4c16344b66c0d034e162a689c62ed204d515bcbc85e3bec192794cb2a773d2ecbb339bfdf4661257e69f45f796c2318fb94ab12b4651283609c3f4cae2539ce869cc1725a42bfda4859ac27079c1223885ccd3e5a51c2c18b95c7ef58a1f429a1c97c538686a16f5635dee540fc85cb3a8fc32e503da183dfa64ef4cce38f58abfa689e3a23885ccd3d21722907cc89f88698271a9d24564c02c251101a35c271738f6a38610957b85c3d510a246c8d067e01bf10b2d672de0b8fee931999fc538ff07a8353987f07778fcc96cbf5731c6e8cef22760ebc0181dc69882daf26fe6c1ebee0ee1eca4d394ee2fe5fb452e1776add3f1d52b185f173ec7914aad11ab1f2bfa50fbe5cb952d01fa4cf580aa08cc1b3f3a7cd904c79763960bb91065b91fea3673f1628c348b349bcf49c8408046107ed5722f74295c8afb95c04af7cbc13101dc8fbf5c07739dc3f0186ff2c59f3f18a52976ddb7f8e1ba972d8e5c5e7c90c41053175eb82873fd5b10f2c3f51f2283eb5ec49071fd91fce08a4b892a423f401a6a02841c0c71dde876aa078c62346591404358a9814b1935f8b0032f988862a693526f561142697b28d639bcc00635573e0f8feec66a4345fd689cc187784e667fb89fffb33de701f1344fd5bfcdf99bfd7976d75cda1ac6e1d4d2aec541545719873f7f8dd6db99e0188727aaa3f089643f339cccfb5817a2ba4b1f87c5367a4620fd86bcd0dd6fc825023f5a17baeba8f601eda596f6ca4bfdbabbd2beee4e6b294b32f1215fc48958fef23fbf4fa0094dc44d3434343444615247e916275143bee3425ea58ba610458128b4941e1847c79eb102b919aa048060842e7be002283454444865dc88f0144411aa212424688809e2891b22707114049b202c4c37aa1b90ac00800841883a2eb7e0323f0f0f20ccfcd1529d036841c47557f5509953c041a1da97bd7c31e6429c9e14f497165738c2f6db9e85ebfa571e1ebd73c3e4058ba7fbe15c1fbae17e2ca42c58703f1dd723ec86b54edc72fd3bd503aed045694b855f84614d3facbd15bad4b0a11641caae3f74a2db4c7289632395a1f801983b895a87a1f8c194de812dff69d43a0c85982bd7fdb978393dfc7ed4377c9f7ef829fbf30384a485214f4b3f18d6c44b3e349faa799a9fd6a7d2f8fa40dd9ffa20f0676c9299879fb2498e7c66ac2ac24fa28a2d9ed4d7d89fce73dc7f26657f68ea3f9ab2aaf9299ff9af83cfad19ab9aa90f42f3295bf3341fa47eea5336098dafcfad8f2703339f7ad5acf1247b547ba0d60c9b87499b908dfd81464449469bd568262792d08cffa00da3ee4578a0d68de756f61f4c824f9ee3fff57f8e7ce8d3bc667f60130dfb036bec0f84d91a58cd120dd894b5a78a8faa00eafb55d1064159557ca0d6065f15a449f6f4815a5a0fa61c5c1923842297ab857a9b3ff299f19c90dbd81fceb6913f476454e35d68c68c9b269b1a8ffa1916657f6ad87eb24d37364f37bcceb3c14d355635bf7e6ad19861f39f0b75df4fe37f8e7c6c3c27f480560d1fd477f6a7fb231f1a8fb23f9d6d1a4b3f6dc33a81ad1a1656bf4eaa164603d49a46aa20b0c53d6c714ff334fec8a73e4a550114ca3fc907f534ec8f13794e92bdf12691378d3cc77f86574384facf895036c9910fcda33e098d55f9cc7cea675441663ea502827a0b70cb3fc87c3a011754a8c05cae96ff0875abbe121feead0a08cdcfbcbf005c955b4b9e03f32c3614114514615cae16b7aa4da2c4a50282fa7cc95b404e6620fa6289c924ba44de14612a115d9f4cd75d4caffca337d92cf9a74ef862520bead6695e74798e3ff5dcc9733c0051b4dc69de00c5ae4183244a8d74e1e496447ad6b0a1c2779f525a18e28dd68546bafd0ec1b8b9dfcdf5da3736275cf8d1728c4f02fc29ff8b96328e26fc4c23bbc7f7f8445c46d92b77c9785353b377f756e822ef9c963233fd9e81631e8e5ef65205d1a5dee3b41822b21c97cb67504b854645dfa91e29cd7fc66332f33459663f175833cf97bacfd899cfbc8d7a5f12d7a5db8c97459911466da2ccf6503f793d11824db088c7c7034201cb838617f58333f04a6abf7e41d7cd9edae5f4d4e4c444b30c262d654c5953f6b9c04ad0e9e9e61d9146fcbec04a57b31f10d2f5cfbcf9b10b825e513f54176d51c49733cba684ae028e713e0ee9fa73d166445042e11e68331eb054ea42f90bd6f1abf2f0ca2991e7f87fe75dc764b343935f8174e3d74c34a9753ed8f4326a9d8f225d225aa76160c594eb9f4df18c48cbfd6896ebaffbdda454f08e44be93fd34baee193bdd6f7b4da355e66930cf714dc973fc7d7b7ddb2b23826daf1b2c352382286c5a38e3817b36261887fff6621c3f547f0de63b8d8454bb4e835dffee8116574828b7b9e01d8ae4cd0451904349207d71fd398a041fb2093714e9ba847283a57e9c8e025ee9c02b7f390451c88ca00914c977bc07171825e12bf0cc6336a5579e156544bdca881889d25abb0e36d296fbe15cf844b4c52195d11d21372a4a4320de45fd56289b2ae0c3ec5b6908428743d0512e1946157867c5113800effc5840bcd0077f66ad70dfdc739225f4990fe8fef028d039f04580528500038b46b0a9a2c26a6a4a6c0897525dd49bcb5ea40823bc04d5f956d77bf5b7db2ccb359aadb4e76739b5d4a75d790e950aab20697ffa27efd496a318b4eaf4b9473d744121ca11d50fba807cb563987fb5029c4451dfc99cf6e6bda6695b7b4648a8f145fd58574ba5ec8f921680f8f4ca5d505316c85a29fb034bfd6ab5d3461938c6f99a7a0d14d41cbd5359ada3e3f6c757617eb459aa1f6d817ebcdfcf9d5daf947ae01887fa4efc329a6ef6da339df914908fc718ffa761f4ef0f125fda24324992fe540caa4c05f81488e7cc979eaad59e6ab32a9fd4c7df36fbe3f257123f094b5ad506838ffcd45b607ecafed423a8f4f26bdc41441501485f3501f8f421ac47aa095c6a5513403d7d6a89d047594e72e413bf7e1215ea6d926855d9ab50d5aa32abd92072723648fc7e214754fbed67e6c3140bd96bafd90fe85277f777ab84e6fda32de2f3e77edb1ff19b719ca2505581e8233ffefbd07c7c69a12b5aee13e06693c021cf9947fc66f3531616cd17c012f9f43d15b53ef25de5139f5b9ed9a8bd80b55c2d570bbf3cba3b84ddaf0b2dedeeee96441cb7cee7efdc83821c736fcc5193b7bb678c31eb9e93399334c6cbac93e215ffe7d1bbb786949953331a13ce668cae0a13f9abc7f99f5c7ca8225b70c3ec81cea00a19748841cb1114528058c11432b43c07afdb3d0ecee5d80bb45cee72ece875bf67c92db81a62e09444d489545197635482b8df3b0ecc37dd08d3562f299842cc52163b98028b58c50e28154099b02166972f4604c58c76b8359763464dbee06c749871440d0a38066590e130060e9218e30a2fa62013041cf4c06a4a6991028c0cb3ce9902309c1632e4b012a3c20218a37282ab5d8e5131f2222e11400b0c9ec0f2e40b217210a978014b0e3e14f1c4098456b06da9fc9c8d190373e2d8114937067a8dd05cf8474cc1f197e3b217324e869074d9cb1084eef797bd9039e23ece2a1e51e54a7ba46f08bafb2171b95ca9cbf1614a528e3eb52db3be7ce97cf9190b9788fc1b94ec7ac5246b1dc5102ffc76bd98b43e8844658181820742d05045930c413029f1f48357932d4c34500143e90a13e4e0490a98c080639ce9cfe1209509424b490a8ad651a43f2d03d1122d2d259e0b5a47104ad9a8e94117aca008a296a37e589e13647e16a60b2f3fb494dc54d182548801a2889692da456b02b5b888f299d47f6c28d184122d25a91b5af3815a364635f6ea04c8ea13a6849c7115b122be68c9f7a398114d3a849c78eb08daea6ab2c455c33d0d80cf4bacb4620991402e5ae4583886ecceaf39a77c12fc1b4842c7e221841042d8e4f424c47b47bbaf583c0fa3dbef48bc38c086cd3b11a8a1c432df4a196394514afa6dcf2fcfd3bcb86dafb52625fdbb3d5be6a26ea92ac13a9eca5a75b526feb41fc72cd5437e9144155bdc0fbe62845f0485d1e27eb0281af58ab96b669c35d9f7d315b8c0fca5f40937a11f13a8d8e2e2ff388a0b7f058802bcf0514e9011c5893190b8d5b38152bf2a4250fdfb21e0c28fad57144deee70004281d0941a9074e5a312d4f3a68b1929194322dce9b04c1e46a2999420835f1e0444bc9cc0b5adc277c289e331fd065322620a3a8a5a4865285cf7135a0a8fdef49601231c2ff41ed997a4ce8ff00b5e86b1e0968c6514a3f08a8456dd0f69cb546f8a117a715fa1bb534d00fd2344a5fe320caf483b420ee3c87593a74678f5d643b8ab85c2e576bcacce35e01610bbf51c0310ec7363654f834c6f819add1e5cb2fb202bcd30209aa1fbfe2ef88cc29160ff486dcddb15f02f3b3e7881811815f2bdbb3e631d1fe0788049af6da0701b5341bc43dca5a23f01bc8cd6c7b56b4e7344b83f641dba669bf51cf819e133f48db3e883f28883deaf8992484d715e1b21721aca0d6b40eb4fc35b0d408a9ccb0e4092f38df0c93cbeb1fb9b4526ce90b1398eb6e5f1acc7728adb5eb4ae83a4aa57b114214467cb9310203b871a9571a990c552388fa694f1acc4dd075da1398d785dad394d71646e88a123786887b9a7bba89512ce53413a54610f4676824539b74fc30180c069b49f299a499a46f26094cc731514c8c617cfc5da26e5552da14faded7fd3a0a61ad13e39e31adc31acc73a89f067b7a6a9d6f26e9f6d7dd6e1d303126988ebedd51b8a79b7bb8a787b88708ee69d6735cf29ca55eeaa55e5a929e46a657cd1a190bd8d95c0960143431b427588d712982b90290a146a7ce77b437924bdad392f6d4694fdad36a84de61ee7274b6e2bcb46254691de59e1553552288377b233437d39e5888aa09c06b89f8cb9f96da23f0c62732dc53a575383ab54e7b544520bafd925c18eb15fc19a61a4772ca4d39f540f9e4c226914cef7892d3e7612e9c723dc977525c3aa73f92f15713873db91f5572a52ba3c828e6c2103d8c52c31555fa4895a8921255bab1752ebd6e53afa64a4ed40f325125fa258cba7a88aabdc32dee6112aebb47f7e7f766aa078c293cf49453868563c952ca973146d96fc4bb7b04a8902f6af00406085cb088d2a508cee03d549fe1023e3479f5b084871db270f120a4eb2ee1b353f4a62f4b4a499ec342bcde925636798ed7e0ce25eb21a8bca8df3f4e09f01dc2875cd06ddbeca7691ed5344b7be53473c9fd032eca678ed29f9998678c32e3c9d37e1e7ff86dab72bbb189317671b3d2e5bb747e2df2c72cf2c738dd034f033487f001071e3ce1f0458be1d0e5a62ec770481ae2f8c3c16849cb10ac48081324bd5caf2b4e49b11b604b202da1b444d10c624f96a25c42e8c625a2dc281fa6629431ca18a52522638c324619a3fc80f83e2186e3cf8631a8170d6a1083980d4d927829512589a21b43bd464858a286a1a7249e70a1a1e855638c1129c618b560c095aa19624243363670242e9c68a29cbf794cb6e7b6e7ede7dcb6242eb86deed3abf6e9557349b591e237d217f5594ddd67753f880491acfd42c38bfa3512d24c0ff5834830cb74c0b64d9bc3a5a811c9ed075fdc9d19c1714ec992a58c1a84f459a3d4d287deb4d08ea97f5f30c844c3a97efda23a2ad8e0d4397ca7a7820d4fb0875ac79924f45a67fe10c273592b0d45d3f1388ad3b4cdc2002f93e740afb9f44b041b384a51fd33af9b4cdbae194b0cf077a2f2300e7f18a6e906117548eb649d4aa1f2d00d72b6039de36398846ca9d0eb65a61a519d92ec7a038ebf98902b8b5296305ebe1986b2101181a4440cc6bc205f5a2b1d5dae96bb7b9932ad2e53a605442f5891cf61ae157e22986a2195814e05811c86c384f982c68aebe8857e78f4423fb7554de0b6fd7cf025e242436e200863883fe253a0756a6e7c8e46be1597bf122b2a20ec39d7a75aaa02d296dd6de739d4aa80cc499f3e6cd126fd499250bbf269cbc878da1f7e906ee2df32763b920c9ac4b0c4ee8dcb5ecab892842ec78a78ba4c976345a0e0ca204ccdede768fcadb8e42bc94065eb8acf0fa57545ab0ad28af6e7c8020c83c0875fe1181c6d9d671c3e38da3a0d2194407d54c7d3753574425d0d4c38fe62383469816961fa802e7c2d4ff458a05ba81957842570a7de5889f033e0075d377050e1cf87dfee437ae59f0dc9bc163c20bd622621593fcbb9f7cedbcb1ee5c156f6a9efc6ff932d1674310edfeccf117c17c26256cb535f84b167aca4be5341600b65a10b26215dcdde6841add456577c695ddb161ce3d8b8a1c2e7e273ffd940fd47434e9d4d67ae200a28dbb3ddeee84f4681328a75b41e940ef7dbf7dd3c11d0bb7df700de61813dc01f788171f44b0f045e80711b07c763dcfe1f5cc685ab0f3a7154dc3ee563f3fb001adcfe1f30a75390592a0523508b0c354d6b4df36d26bac038dac6930a2f0cd1fbc00bd084fec143b8659e68a11d90fa7e0db48e3fb592fae95911a2add44bcf8a506da59e53340a854319132f0ea2500cdd422232ac645166164ee9263aa23224fa22b967ac64bfa333fba3a4059b884e42ea557bbf64108401c22f025168295d0df019f2181742085736aad41ed22b8f487c07f5f08bf8ce7cf81b64790e8490e594d6da75ff48f08aca1fe8baf5602b7af03e348a2db780b7a62dc235e4b1377ca8fc4eb22515dc2d05c028e5892d3dee2c24aacc606da30a0bb692864896ef641fbf003958b3880b8ce349cd9e99a9009f5996e77851bffb5021b5618a29c488324553ad1a47e7c6a1669c1f239daab62964afbd16a70d27153effb495e3cdc6a150dc16e74bfa9e2a05fa77cede9a6bfb5519658c324ee91afcfe4c059f5531c64c8a8b298614bbfe3e7564284a2d154106f5cbecc74b37b13ece26e4d2bf1146cdbc1f736a13f5d43b226ff68cf254d95b49595536e78b3044fd172cb9f37dbe4d0fea6682eabffd8eec7bfb98ea817a984a217bee7738caf3cfe4750a5bf339352910bbf381b48ecd9d8fa449efc0252f9fd6e1d80f44dcf93ce71cfa8107d325c6eb2efd9dafd12c070fce9ccf2afc953f44878801d2ce60c66519d348b32ccb546e53a0bffdf68c92b221576bb7025f3b84a94d4f9582f65debc8b99254aa4bf96ebb87f6a32e7b649b0fbefd47a4aa9f2fac1df36b9281dc3373e7e5ef8f71fe8eeee653568d11f5eb3a167f3716e6a283a78b18636c54b45b6c11d9fbf8d4882dfc726c622a7c7f8e911d067d831556fc004a8c64a06ee0d30700e3b81c060dde69817a23744e3f43db89516f6a175b08c389014dccb4024285cc38f755024c074a87ce3d0aa1a9a9298b8b887eae539ff4e1ee29a0624cf9889171f04df9803e20641c0cd4b073b889d190e226091a4b51900104241acd20121927a4f10412d353ad5da44c190f6b346b482bcdba3ac5a8df53c069006174050c12d34f370133df579ee3acd1ec07ad63aa7c50cc8deff2fd5b585af2184794551e322141499746335834a1eb09c915f57bff8fff2dac5ea3d98fac85d5d27b8e0f2a8425ac5a87d52be804002c1c7f4c929294a208c16a6d9dbe2c51b01ba12353c788e11272748007e3300b7d21f586744008acc2cc08af248361c3f5875c06bb67325b8471482f7010c239f2356f3a0d5d8f40bd33c6c84c45d9cf7fed7077ce6670a209ce064de69c738211a5004929e2872b5800818418581460a6942b74c8a44c3169789539c269983c103569228afbf18b63a52538b81f2f81892d51e207137739b66488255772e0f88b2d99023b7be2092ab2987d66e34fb744fcfbc6879188470861b41d8459ea47ad70fcc564404282080923570cde1cc1c3039b069476258731f2cce0893484a81fc38e38a4f1070b90a9b8ee3601f517e0ff4ad48f61fe477ee044f11b140c0683c1266be5395c44e3041cb2f2c14d141a6c196ef00e1206e29decfd59dc23e3339ca1631cfe42200ad1de6013324b3d47153b3fb00b94232bad1f251b0d4e5a47f095c0a01d5a47af2da95f276531e7c31baeda49f367fc47dbb9a63ef73069ceb01f45cd0d569348fdfc9edff33b4b8dfdfa06108a4b633ffa751716665e35817e9aa7b14450df3ff3292b34be695898a573689aa6696cd7756a3e6a3e373ba957934bc7bc56ead59cd97ccdbf9145923b0120a9cb92d665a90195fe7c8e46b2bc61eef1e721755cf910b2e4532a3170424f7cf9485a873ef7f2593924637125eb80a1e02e0db8f2390fa75772daafd678341e6771707a25bb8e66cf695e57350dc50da8fe9bd3d4aec6a3f13a15b64ff5403d0e0e731ece08dc7f23dc8e73785dc6002fea61aac7cc7feaa97744ca1fa157f2721c7ccf1ea03dca83369ad87cf8d3786beb64afa37350ac9343639d04f04abe7cca3d2cc6217f8411581fbd92673e559804917ab5352744972e5dba2c597263e386aa41efcde50b40860a8982c487af54107f9824dfe39e7e79820b43c3d0ed41231887fc661cf20652ed25db4a30a99526d09f5954afa47ce66a56e0e2ead5edec0d5733694bb2706def511bd4a50a195ae85a52e14b861f0170e147c3a62e6c291b0d9889d7fd9889329ea668a209169461e386ea4e8a5c660901c31d78e78b708f76e51fe11eee8e2a1090ca0d41520af54afef0983144fdd12bf937be54204a4a6e55daff1124f2a1900fb58e8a975ef7f3a5d78dbd922f9f765baa479b289b17bd1846d5bc4abd9b1944fb3da8de915ec92eb5bbd42d062a8db009f4c827b6608190513f567a29a57c9b2845d816f12fb209416db0b444c3a2bdca6780d457d17ccdcff8d4f3d7d6d196701642f26fb8ea10675a7f78d5e3f11c29a54c4e1b62a1942fa5944f63599ee354db255d4a97d2e5b7b2411ae24291d681433c477ecab331aa1f90ef02f77430e84a4da6eec74da9cb3872be82d890a668a289327e70e2b2d4c56504b78e0e568e55098fd38dc043da8566e55895f0384dbdb3c172e0b652aef7fb7f8077aae7708f76fd5de09ec841eccfcc605c972e0f08e3a80053183860b5cb064b65e5e091edf9f3c74fdd436ed7c60d153eb5d18573f0b0c8a81f37d5daf90fb189025b437ae5ff43fd18890b8e3f15307129e2926508d9924b423cc7b3272ec774b872fdb966ef192bf277747c1ffaf2e143edb3682b209fbe8f7c9ad14f62219227a1b6be51afb854be7db31f4845105d0cd1ca9e8b4b3f85f6537b798e0afec6da6ff647b3dbff4cc885743846e5969454fe4c72e423adaa02f2b757c1f949a85541eb237f7bf9f435ed6d92ce6900b614b5b4a7ff51cdae3a693f6a85784e6a048ca395c02566001b42eb882a814b7851c1ab75e4948ada1f873102ee61285f5a552b7bf941e6d397999c1ed3e59693d306a397f6dff9f275f04831815083b2960ca25615ed8e1f9ee399ca83cccf3e9b56e51648f65fbd2fbf924d0985e04ba869a070fc153931f1c4e5890c8a5c32d2171542975f54f470a54dc1e66e57ca2865fce08b0bc79f0f435b9898b2a58914147577f41b7c012184d0128110425b2313d57bb003d6c28a2676787d61010ba4d8011561c05250663a9973ce09654c17409491046507a2a8031f6c903e043999602cf16108a58589182638a0b204cf0bf213495cff9bce9f05c361654fb22846c5a5839afa22bba16662b258982daae48110544c31456996011342a59763535e2ceeebedeeba6d3785594f97314a9df6fef2935099234e77435aebedee6e2fded8adcdcc58c145e8ddccceec3456645c94c1310e6c8f927a8cefa8e9d5e87dfeb1b9cd1b329533626816a56c829049462619b18090094226199964c4228ec1318e4b1e3b6464f94a4ec7f96c848ea256ac116e13ce8f1f53cae914cb7491c65ac5dc004534840d17443652a0e0925e2d664a2482872ce8142728d4a5b9b93440b8345d2ecd53934bd3c3101d8799418c8722d473a91ea8c82d05604bd1b531292f88368811cd403e5b2177620c05399c200bb38e3b51a2815b195ae309ae50ba5af9000b0f5accaa110fdcac3a7608e2c697f476350750d017298e4c3083213859d29a11cc9d312d6270678d52573b4021e1c639e7bc32450ae6dcb8c58db575e8970a35192aa5ac4c488728347b3841a43c4ce1a14ae7f0fd680d62888714242db0581428a6404069684a92f662f5408668832a8786206387ec08328090429041446c0a94325274787adaf2c489b62aff2072da9f2460c87852c4cbd56a69556d81c8f7f758b043a2d6185157105ef1021d809056a416555e8ee950a4031114a3fb3d2b076e87533a33b3d79763d3c0b938ec18dd23ad0146f739e7b48129167130ba73ecc81246e90d6314ddd393a4180e3ce011d4d444c809d3931b78ccf02485871012104e783821eaa074b11c8cb448a630728837a8f5b29730568043184384b1e55714c8a1283624c5183eb8f1726c88069aa6699a7777ff0a3a99a07de7c0c1ab1c0394c03dd95ff75a0327f40e6eaf344071400d706426cd8ab63143854f6a3fa9ceb003458e2029e284a408f4840ce91513b7a8f6dbc3a118a55c873c5c8752031295becbe5cd9777742f7f5263bbcf58e1be5341bac5fd968571f8a768d8b9feb1ae6bc5451e3f76f85059c0d527f70a4685cfeeefced32b8770e539fcd173278129fb13c7a3a37ae5a43602489feb28ef2c4176a7476e7afe9a075bdca68015ec06b8c5572aa1e968027825fd592bf90960a1def638109fc9a8c4ae94653dcbd8cc0000006314002020100a88440251383020182bc2f00314000a819640805c184bb32cc96114848c418610420000c4100200234433eb00431107a44bc516235fb49596952aa6ef8d0fbf298d54dadf5c4c49ad2606fc08b7837562f84ea91253e2db12e652c9e16a64b58a2c79103e619732c4bc931a8edb93ddeb350e236ccd82ada2856cbd1953555a1b3e010169f640bfab9bd9c6ab64f0170337747ab2a84a974b96f2a0006104643720459cd9b9e69ce06975173cb4289280370b3d9dd31ea79d455c324111e7dbd87bd8a40c6db12178051d3f2ac5763916de855171a28ccb805d9620efca7673a3f17e210f4f7f18b68d0a562c0b20977abb2cb0a93d53f90125760ad09430e6f010d8d65e4fa56437854fb39d134a82e07a2a9f5ace0fd3481fbb1596e885f6fc648edd735bbdcc03a484dcf83a1d19bbe9d0121ecadd3dcc33079b646cf6e80edba536384c43cabccc1c3db896b68818d261eda15ae377cfef8f61c564a0119e6d217a05a805d91116f6c92de6ee62a96469d101c20a721cddc21c40dd0ef51b5a5eee28672c2b415a702be9dad8a55cc3d01a4102563275f7498fec266d9fe26a407d1554b7ac55af7e2ac661ae8d9f62865d73f5aa2f9a1eae0e400687d000050f3d668109ef76c31e000f02c59461885132efb4a547cfbc88312d801a468c6fde7f0421a0a43adf238bf7f0c2814d37313e6aef442d2d917ab64a3c6fe6518711fb73ca67302c3d4880827b614d2a1faf722db6696cfc1c4bf3b07336822b067328b9e757ff9029fb7913ab9f9d2760955bd625a61df6de8dbdd3805f4574760e7555b333ccef203024d2ff0f3d53e9456440f36bbe34d377e23aa6232f4b08a57da87ab9cbb426289862b4a6bf034e32f9d324337bfac9bd1bac1540079a7e3d4a81318afbe7bcdd37b7a34b9e2ab88f4dfdabbfa51351bc8a9630abb2fd22eff1acbd19231ed3474c4b6da023c2e9b716f56b28ad0b76ff2eb5b45d74a40269d6739ec414c5d06c093c43e4afafd2545f5520c154697b762b9f69aa78e60449bf211c7ff6e167a8971c87c831ff72f1a0bff063e50d0269f0f10f6c1300a23e9788c211efd9a4d2d3af0b2d65f1a70cd98fc8c32995e8b0965e2f121f0540d45110fb4f56132304c029fa790bdb27b29d5b0c72c6e4fe189e21c2d1a769000b3e351e938b92110319da974905253214f501a199498f9c590ee95ebf1d1f963b297a237980e6e922afcd5028155e26f8ef8213b4a791841fdce30e5e3aa9fef0818a0b2ba3e3331bf174bf56ecb7e24c1608f85af349e2d7f7569a94e0a328f52228cf8f8d1b59c7d53443f5886319d4623be0d9e8696966422a18ef394e9bb15bbfd22c58a2565c4b6278cbf5969d7c0bdb8da154a7145e0a444c8f15f7a67dfd2ed52adeba2c0610520266928d5e1028d95a58e1b5e5090b3c8b558e222c19e4a374b78136d20e17e25de945ea035c968e270d9a5d043e2309378ddfc8a971b0d280c25ff4b09e437123cd6d2909aed5c27eae0167d5e020908fc8845da9e925095a45fbfb34da1d9a5dab2fdf95161f9d5d0d29ea6d6be62b1b2121d85947a22733515a3c4b507ef22be8d68364195ce2edcfd90bdcadf4a30708f3bd9f663694adc2590e866ec9c292ed6d067069296c9dca44978a85bac8cd172c0c6202abc70db4a12fe1e8da55d93e871e29d8b9ac1853af18826c1811c3613a6e3a9a5e8c615c2347b9ee5672d370cf7e83e47e26f857ee8b28e2da8c28929e6d7b4d2e230c4afff8d8e32faaf55d0dce5da018c7676c7c64527b51d88a8634b5717db175eac3fdb925701facc1cb7c7c091f4d2e0cf1045f97707b194b3cd04f0a79e78137da2157beca626c00f34562896c006b41d32f0cb9253fcf6136f662c0384f1dd82edc8b451bf6f030c6167ee25f514660c2d7603337c492b35ecddc78516bea0e26e11397fc0c462699ae7eb53746738ab9c7a5f77df2750a6a5a0345404a41e69298caaea316aa6cefa3dfbbbadd29d714a90dae2174268c73293bbedb2202af88b8c49988222948059f868382f66d4ac7740647d6cd53006ce994df20ee6836cfec5746d2647a7fb25c6df6769653098e81543d80a57cc08fc20bd18b17d3c9e15f075ce5e15f6d90c68bae896edf4e10b2b1fc2fe4aa7c8c6a553a3c48489500a8bf1b42284fb30340c4c7905e0eb16e4d5cc48b4debc447f61b4a07155ba036c742607ca3cbf106a418243ac440a65da7b02ee31397aeefbb4f43a48df31db119804f507a7ac74f18e67faf49b8a883136920f0c2e11f7f69d38b347d5fe84cb809a5e345657a790c33b6735617aa508092de0e146bc5a6decc59ac2fe568b9038cc8039d0fae880447c591277a758482d3f097babf95c14e1935c7f5a21434ae1d57c1f7067a0ad8aa9009a912c55926e406a9046faada1237c8e1d7aef3ec9072d7b4aa35ec71a7a2cca363f3381a5b6a3b01d316b4d67bb47025030e50d33f57806895217f650e2154100e0221470a5743963f23f9940dd6430fbf0e830a0d8fd896b7832ebfd8e394f166ec1a1f1ec8074eb7d89d62e02e4d870d64d0afc1a8547b619462a34898b74e05d709a32528058c7c431d437f91fa4ce7d7985e60a90228dacdc4eb8065cfa40f7f64bb8580da5b0e15c162edecf53ba05948f36dab4cf16f4d3d6ceec726e5deccaa03464752bb3617e07660e00a0d7e039b7361b2b606b14e25787666c2e7a356dcc1935af05092003e4837345b8840274a0d9ccaf0e6f0774e60a043d9b151111c0eb0f7b270c0ecd8cbf5bba1d47323a5574db632e3d64f7715a86814d641bd3768e3dc2881d5c639b15b85862652b82d6d87f3d23d21182fb3f3b06167a2e58bc72b41c576409bc7bfa5a6b1c07552c2b095adad284a26b049091fd696f6b184cbb2d4d764ab8141f4bb45e5d13eb8d246a44f1871adf3bc63f60e068392487199e3eac6abe8054ae19bd04eaab54ee9e35e9c1e14c449040d5e2cef490823b87b89ecdcf734e38f5b7a608a58074f7047774d49eb572e3ee2b1f36c03c6b6f75a239308e2812f098fb84cdfde63992227b5a2c4d7ed0db37fd0297a13fe1dccf1aaac5a91c6f948383c8b856469660389bac2bd20e15da2cd1433cfa70f629f98aa4174e192ea173aa344d1777d047a89ba39cf6112264ecd8033e3fec4cc85d19b5053a9c2723f3c22e7de3e195dea45b9c054accc94e94e19c447cf7e0d6c8dc228354fa6401fa11bcf5de951161aacfc0588ae12edb0037198094ac2b0a162fc018c25600c12aead6d7cd835462914662c8a04a998042294b8059aa2a84af378f9a83ee9de1bb8b9364c2a97e9e86c79ffcf415a3f96191424131d2173674880e255fe9dd742e6b2bc9c236c773a2e8e5628df2870509cdec78debf348c3e1d87940b1b8034d21603e7b62382c5595a1b0837cf84fd41544d8c62277f22ea7454bda6326b9d3ced141a182da0a66ac394b01c8a20724980769a068069594904f3e6dd5276c71dfe560ad7aa97eea4d685085d4abb5f68782849053e94de2dc4431432c7707ee54f64d8b95a7f7b8db716ce31b47aa2ced1c8dd6b1d437050762d7cb85c3363d0ca5993f3034a3bade72c429de5a572602c9862c0295238f037882031773d156f1ba637a43965e99416668772a86fd94739ba18b06f4c14f340f6864969481174f27e336be816d668099e59b9674586649c7530e36a234a0a750cd01e9a2d1a4447f5ca00adf617b79026e091dbd8b3075631944036785b30ecf5ffb4c8f899f4d6118a53996b7c026240643bb43a4edb95acdc46a2a7a044a85bd107fac8517342cec4f69be0ea5f799a2be418afea84cb44442bad21b24d964be2f2c709e5449a445e0f32bd4557423dedf07469ce0cc956022e148e743e8c3d0a5f71fd477e5dd32039d25a8c5ac3a72e5633e4df5cacb237b9710fbc125fcc67be0f4f813eeba92ad0845462361081f84b684103f6f05f3bedff33e407f28c838a62740f3a118d16bbf3c226936b2dc4e1c7e0007f8ad5dd1e32da10cc063c6233a63f8b8a8c96cff4900c00a210014deaa2740ac17438bb7e48febd997ed4a82818709bd0a895f45d7874214de4a2be64e4fc8737230dcebf2dca5f646370516023f80af9ba8454cb072231059144d548358d265690eebc4e0442aa24402dead433d19133ceaecfaedfe3263c2d8307a6d58918e381e642b52e16d4bbb8116ccb7f24bb086c357ad498249ec104557a9d3900218359e840ad8f95b4825442336a502f4c78146148846b0b9fb789cfa8e4b023abe020a9395c2f5ebfb80c1ffc4c6c1f00ebec5116ddb067cd93485132ebcf8e9251c7ecf5b0fc64dfff0e369da91fcc138e0021bc9e8bf850783b04dabef53e7243fa936ac9b64157ef9cabdb9698f75630088ca8147729616dfd7e5e7b9eecdef79b41911df979a36ce3f2e9d7e52834b0762bd13399156049a1be409f2d8ef3470a33c12e58ff49509c892906f67b8d94456519eb9d17de4512503e1fb99bb6a0407482e6d0d4c3f6175f70d6bd16324cd82eb8d1ab0229405db0ab2c71352b9ae5f1850a8360d3c8230806875738691f4c124ef19a4d4980c51304229c404d732889d40a041eb57755f1258c25e36b2d0d2815c09262e26db13181269e988cc9b3722cba668c938d25e42d6f2e7daf3d1d7b1201b019b178809c9868321570d27212400694e22c08352f99c7018fefcb44ba138c5fc0936a381e22312b3101de2263406825b7dec6fb468d7eb87558233943a54cc8f7761d50d9cc137b0c27fc228348e57b2436fe0643849d0253208f79cc14203bf89a9db65c3db08c3ad00c70c5c46623a29471c82693a96bbb32e06e48014686e41e04afa4a9318787b5858d9d56864fa605b94b5fc1dec642c660a3971bbc563bfc501820a5e82d3bdd06082c972cb2c752c74c9e7672de1a19ac8e6741d54b1aaa2bc62dcaaa19a6cd0135c6b69d66c50ac077d7cd3eac861999f9b0c281eae66b64335d5cb5c2c34ba981b17d8f2194f7e00458a9b45eb838726bad11bc7072830e8ca2dc770f6ac08ebd0d7f98562c5c88dd4957de62d9707aa5dba054ce936d16d46b96ae3bbdfa669fa09c95df579e0f90680e4bf8582dc8998fd4508b953bc9f3db308b91ed845ae33998f0542c81d40965cbda9385b1b1060b05c81b00ebde1385e1dd706dc9e6321e4f6b1db591536b7f927f9bf6ac88f514c3162b269625b2ef374bfffd1c9227fbf5dd5422010d08c98d0a333b93cfa512226c4c087f5a8487fafe35cc53f0e51427822d7c9c7bd62292a7a38b404d95aff4ca3c866b75776fdfbfbe5e27e0b5978a0f6c75ae6a4c4f535c623fa4d4621e435e29cb2af3130e27ae3e118726c031e5ebfd3d33afb41990d2bac95248efbd7f84c9ee244f86b443bb721af748f5ae94b3f72524e251cefd1d65db18b942a0eb91e0c24d7a4a41a8b9aea67458222a15557d23bd85e00960025e33f044a3e760e03d4dc8b91266ee38fd021c6fbebf036c107edb695f8950fdf01c8d542f56668b9a8a9d133190ad3d9a13aa8d1c4eb98ce1b41adda74e2892319acf9e9fad22e89889a65ad8dfec38a345c8cdee340d74676f608f7e74f054ea49dcc931b87ac33a70583ecb071a8bfcdcd8dd4cf9e1b73ff95e1fa0772e560658afb867bb3a71185b3850eddcf5f2bba9cdcc671462a83fb0a46d869b035e52392b88a8a79dcea4fc80b1019b5baa665fa149b4dc893b4eab1dc9642fb5c81123dfb64f3b0b8e47ae54a9f76260036638e10eabf2c473a378b348b5f4f35c146ec5011a4b1367f10dad215e03bb5577529b6d1310530b029b6117d91e575c7ef8129b1b3720c2bb2255782f9d0ba41878266b6d9729e73803d129008021c8e0101099665443f2a21c7ff4150be78d90640be9d95ffc926e4ef50e0843cc22a4b87e711afb190579e46430bf39f714ffb1640bfadd308c7a8584c2ca3f72e291d533a761238b6bdb69a2da4114fa0e52e553e74426a3bfbbd25501bccec2acf11928b088e44914bcc3684f05caf593316bbb64e7071be741869fae3adce6948ef907f2403fca03fbb3db05a9acb371106f1aed0d3c4b1c60d0c701bb65b09900d876957961fee9684c870db19df435ad1f5f4ca4e824e7390a1750d5ac0f3fc4d2d428db5985af02b2f7facd6acf62220ae708038772bb3552cc65526a991ab2d20c1819f2b1f95a0c5b8ca4a5cfdd2c0607a62666effc50c5d1a05430624fef277fe0c962a59d74b79a67d57488725d2cd00597a2103403e21cf4c1d21424613130f0280f8eb6479e68b4a7a8ecdde4a086069a32e90a66cba335575641637fbb6903fd2847670fc10de037efb4c7080bcb8366f3829dabcb7714bec6fb0317ff49d960f3fa3d49bd781525a3e13943a890b79014ee5ad64e82af121f5330fd538745d411faefe947d363f6b54a82cbb63e8cef683b6c0feaac209c3a3caea10a3afd49a71390ed169d97e7e7e375953968aabb2c42cf9b9239efc4154679b0d49d8914b712e9a42182ad309aa7da741dedde0d5a230f6cdc667cac8257a8e13698336a11834fd140dec410ffafe2f7e23ea41314e60604c593a036301b73697d9eea071ba537d270334a612f3a3cd063ca696345c0fb25da74839b1190ef703b2178d1f2bcd4bfd9849ae10e7eea0e032dc2af337233895a23471dd8898089f26d4299bba481d9401aca79dd6abc809d6333e79b7a2e5f1a7231040f0c1aa9af26de125a92f4a125c8839608ac4b50a6c769628e100214bf09d2be3495f1da6317440f9eb1361840d1327c350c89a173d9fcf4c3c4bbe6191ec8a28535db981daed73bf9b39b4931e0b45610b10ee44b2183478f59cbcac24e16c6fec539c5c1db9afaa5bdc95d41d0260d86c910dad51eda860420b68b9553e481799fd911c85565088b27106d51d1026ad6304273ac99c3c13ec19c38bf15ec13c07e70586565ecb7878fd059fc1a84a2c4248c5493daf8cc72ef2aae7511b93d4b890cafa35da456a8cec22b333d1f593d63e819a0ebad7904eff843da9016d9448e050954295e025270cfd095833e00007fd32c893b056b33774a752e9a887a62855ec027669a6cb3126a65cd98e64ad283d002f1d6c78085e48c7cd6017d0e0850d54735077a9d0d1bb1b1c9bb289ac38246a9ca0fd1c9f3c23b5a09d53959b22a166890eb259133ef854b87edf0fde0a5a98d4c8707d92dfbb05758163cc25263ad623d4cfbd90b3fe098f2731eedfa7e200882986438dccba817612edd5116b5410aafa2de6d320a125f40486365f52de5a1afce9fa2e222fd7e0ca77a1d360299631e71b7bdb82b4bbcabde9dae97627a95604919040d5cbfd6e8a958c66f779ede474c4be001d3a3da9e185e7c9fb9f16eb6413e83dda635e24b8da1b36ce8b123e92c18bd9e1fb1453f6eedf2912d58539cbbe9d6b9de7aa86e92523750d5ef43f8a7ca2a3d14da3873826d97bf69193a109f371fed1eb3309200e46c1e96a8d0c9c09e63a99d4d95678a432cec09e62a39ac972d07f8cf61e7d95bcb4609a6e1fc7607956706f93fef730be7a2bcb31958f37793ae7e80cd9bd4cb22f51dc8687965247e8cc35d49ac0aba5c6e06972a2a093046a5c591b08db29932a85a3c0657b83afccc4b0ea69dc17f7b67398f81d055d6dea55f604e3652d6bfe71c248046316ba311ba91d999aa047247c11b8c48ae6b5993dea0d4f98fb3815d6ba59a3c70aa093c8872e02765f577e83d5ed8ea9eb945fb5618e50eab57ee28cec261f3ffb113c6b02aef7999af214cc1d9a6f3fb7bfe89e9a967a79fb6994ca4a97bf37ff0eee4a95b2595808a622c7ac85ae23daedb7dfc4d7c8a6ab6ba067b7ca58615d4789a237e8d59369fbca0bb53dcdc3318dbd4ae65327deab35738dffa622af8006c147f075c97b287a34949fb58ef93d6cc3958c626c40c3ca31c11924295a2804a4074b04e0e27363c80b05fab81e0722f387b17837e543a3047e1cd0d3d051e5702dfe66386a35eef5830efa333b72dd35b4922b62422fd85c704869bc7185062392911fcfa0f330827466325231dfa52d178c75958bc4db204938d20b8495275d607859021fc8d7946b1a7f45e23009cb43ca4eaebfd59066bcb91d0c3d42edbb123f3d406755f4ad7ba3d8445e96cff8486c0049fc88b5b87d1f840989d1cdfbdac86109eebe8676138bdd04a606e06f0d92df07f08a882b2cfa2e7155cff14c37b9b5282038b8a2c0a822392f45a84ea072fa60942b6c0dd6c1de37d86c80b407535c8daffb3c9b4752c4d560483bdf337bd6126086c8522c09e16d2328d3db1e7809b9289798e2372f01e3220f69f6ab85e0b443f5bf603816bbdcaba85f59f162ba5a8373672c8ca304bc7fc21863bc603880515e1e820b902622c778ca5bafc4803461700f503393ce308f32673a5f45248f2b31e5bfc132aa661b85fb7289a409bd5204fe936a6bcba8b163f5af757f222b3eb76b530a4988b9259c70627bd7ccde0f7830b5090be28c01ca125bddad6183845ed2c45d7826001b18151a32b18efed18b1875928de1273ee2028438653a4d8095f61a91204a685e9e1008f424e25187ef5e252d3a3bbf5dff5206b40d519081aa6901b668ee2c3fd46bdd4c7a7ba94fb0aa0b4060b0077aa7e048a5963ebfc2a50ef0757dcb81cf726d160369b071d4017dda194239f79e6d9bd75093d1bc4ba30ef8bc65fcd0abc818c823ec067b4b19d0b46a13fcbc8fd028a156a39822e29e25b232ceec1b23b08338e54fafe05316548b1c23c08b09cc911d850185c89a068d7116f3b214a7bbc8006688a21ab4f555403934e430c5a58b1341f7f6149fbd3b75609c11fd222df398912bd2919585bace82839b151c2338bef2b63190c25b52a51e592533ce1b7bf8900356d87bcaa9e2ad33828f6ecd1c9de3d03b0421b8dee8648336d41da2c9b83205428acd1c1b236fa8cc7cc1c26138b5b8b0114751082d46d69da961725b5620ce2244bbb06e54c847fff055a19f0ef5ee918d723949d622920dcf8b7e2cf6e4bebdd297cd5e2188cf2062cfa5fa85c7cbb129a436ca2fb56ef51e0620e87727a043c7b4a86af73e7b578f807731ee74a9c4c52fe444a0d2d81c00cc9c772c90a424a9dfed2b78f441c5de3c7e09d15d648d00542896800474217bf21e36502da5331ac28c3720d7392bfa70f9f38bcd1c095eb58c663a679562bfd478378f81ee49cdfb592bafb71d15e25ca06c93194d0a6485acd5309d6a5710955d6d403c28f1058bae8f6aeef786bcdf124b4a6ac0365d0d89058404d90583f463e0914dd8d3381dabb746392ca506c73254bd6c114d7cba9dc41e8d91d925b348c016d641d11ad5d549f7cd0e7343eea916bb809b4110a96ae8de1ca1257d35e80cbcb344624ac061adb0ff1e402b16214a8ad3bf51eb6343b17f9c9e57750b752ccb8dc18b43f2f8f536400e2843ac7b3f410b5f656a32511e0a634dd68bb4ee4f020d10111cebcdc5a7d31ca08e567d1989be2e744c2946bc74af1a8b6ca762a4986c1abbdde0c0e21770ec078f1e87786bfd41837b4f35b62ef3d23e4b7cebbf8dc62997b1158daca79218017c2378f108aad446a92599942a4c91e980fb8498f26a1c7250cbb22033f8e8c68ec0a8c7c964145f589146508de5f42350146248fbf47b6be54ad22c3df443c52ea853126ef608c5d52b6faee523721791161ac23e9efdeef401d17e6d0a637ca04b2534f4077665e1c0435a7597d08146202832aed6a078fa3521acfdbe2ebdab4642a47583dc5448fd340a9a504c38b6819199b0335d888bfde8f989bc00f3779b1cd2fe06030f7ca0f73580f5323d784f3790bf1667593a9ddedafd310982bbba53945a505d91c4ad50e4517fab127e9db311d38b85a8b854ac1136ea4a4993dbc709310bc4145cc5cb9a1c38d54e6479c1cdb797adeb854a901c400c7228deff6f725a0e693e9ce393688fcb489b900d9dc9763c00e49a7eca48fd306916fad85b1e26f31a088ad9029b7fb1e80a23f00e905602223836e871ca61b22abcac7dd6b269c4f1f920d65da51f6a7e68fe77e7e6a5ff4ab9bfb5d4d00046c40506b901d1db00392cb430bea7e850d8990daf57f799ccb7811fa132bff9d1a8b0a23e9ffe41038c75c0e9a9ed7f5cae5eaa982dc1b347d3cfd89c957675fec0f9220511f036892c49a12599431f5510287eef25e7ab89ba14ab21f5f4a274b42669357931891453a07bd7033fe51fbb6c6ee795d98c4b2979729e572697ceaf28dd87c7c54beb54d054a6ebf3a44a0a02c99e8b018a3c80e898c9ca6ea5b4449cddfdf629772d20ba89eb671fe310f90b3037b340ce60eccbaa9d7f6b82b9c0e7b492e843439ae608a561902023dd9e877a2851c0117ca99de0973638e59a7ff3cd1803b6132aea2f86750dbabe037f427255c4b7cb8d1db1978a204ce5f53912c3876a445d8d568c77edd9b039433e0502f01a70e1e0514a5ba0adcc75b1727b2d953a3baf8323034e78662f7d00c56d5a55ee7934c5133b54764fc581ae612de1de0bab30b501f58ba75e40cc5e2192ef87667c6b102f69124c1849a3a928587b8d7ddf0c0215478be70d4d33c172236c5ea2f8ca896f73a40177e008f74ce73fdb185ba00d6bbeeb14e42b905563eb7da60a9f9299db367263d609d2c06b04a54d956d231f0e1cb38af864e5ea587adfc329f441e91212cf9644c85e11cec44a30e5d0c6baba74cff98b6a44c465948572c52cf44a19cd5fd8f50a1584bd06cbc81cb422901432ee512ed977c6d27050d9c81e3bf800945a6e9dec4d3698480ea2d19b7611e6584bef43fc9e778f200e3d4c855e02f0a0ebd6d1e8fda20a13c9ac33e3d8af44dbad32af3c89d39d48027ad5ffbe8c5343c15965482fa52c5cea7dceaa701f5e721564b0c04507195b37a017c54e5b3670a5507ec34ed4f7424058cb8aa8682067335336c016cdbbffee6696b74af15cde6b565387cdcfb9b05a01ec3d9a19d07dd937288d478cca18af4e98573bee07e3d6b0b82c416fa1a065e0b7ba8cd3d252935772b66343c437565ce57149681a0f8286393abeb45f8c6efae22a87fe4a78c0fa773b777864cf0db0e0b6aa8861be1f8b63a12cbb2e00067a297c10bacd06db122c9d61a1f3378e3b2b0139b5407bc37bb0fe3b3c14f057b12e2f3d76d31e878ac930b7ba0ebf505d9f7beaaf1e86c2a218abe5d8b406f3e4f273ece41687ce7696ce191e91519a0861549d555b276c21eedc0d71e7a85d5b8e93beca18f50749828e4725f700371468053f8b6ad904799b383d33d8ca7a5151969d361f9fd68e8857c503babc9de2da789aa42398b33d5179d7d5e1724161384cf1e196a4e3584f9fd04476341813fbb7cd8475c0a4087c5779956b27c39f0ce4985be504cd7f3591667e9da28f549ffede46cd9c71d0cab40f1f463b8a22d20739a2d78a7877fa97e0e3d08567ae4f0feffa633ac25a942e6eae8102059a1a07755bae0ec56a29428b1352f2275615e63e6c50592891fb2439da17d2a73ea09ae3a4f0d3d832facd962a23e20de980990d3575fbdc5e7449a47efd7c184127644e2e156ed3894bae6ba534432d54b110c6abe7770a8966ce736653fab3482d51f4af9931bd6606398ed5d0b8e3beeb9482561f5b31ccbf4741350aacc8b5ce15f18af3bdf13903d556c0bb9580e1409314f509d65d927b97e0b5dea14c4010261ff88f34fcd00097b7d3047b71320d4f8ba8149657f3e2dbbe9b17bd1da751a482baac610f56d6390e5c0b53e5d3bd03a51ff88008086a154502729b21a8e4ec2d3b5235b682c4575ec72a8f8c80945716279c15a06d6c2f49bafb613efc7108e6852a435d7a04202256a4b6e8f851d762a06963a37986616ea688b4a031655c1132517830e664b273d23e1bbbef1ccd705ad42ff80cdc52427c9a80aeaed4fec5ebed09de90d3809718013e257e10502a154e7e3bab218a304c0c2f00aa44fb8461f6b8bdbb34434536f6df267e914ec7e0a6d8389372e0129ae34c08909b9eaa48b6a2ab47b4379db67bb4c91b89648cad4ad6c8024e84345987b800226f832ac5053455a14337d95368f5a9301f976e22fbc79589cd33eb92c9534d2e7ee3a2d8cd981d2ac22542988ccdf102324738cddf649fa77193fb292a1da237c587b0e951bd5a43e1591f90c0eb66a8520b363d30dd1d3a715f1ad1faae2c5c1d81b210edcdee981ebfc75fb802fdee0e5bf67028fe72e9ad783770dbc1e153ae4f95f89939fa4e4fff4b87db887e03f578a9644a5e78a990a6ad9785aabd28bff084b7222b1ae5fab12776270794acd0f731d1cf21166b7f0f6d8fa90e29b90f458805e44d0d156f3c81898ab9011307aeed8821dca890b1a8ba38eaf83bf968fb01187921771a6e33f0168c2c919df0075355a554e9c69b3ad190455fb916c00ba9f2b69de09abbddafbaa4a7104ac25ab0368dba9ccf802a60a4edc56ef142531820085c2ab255aa911c9a541baf8fea5005b923cab097328e3b31a322d0a14307d79e8e68611e650567477f5bd08a409e2a73020087191972f8eaf083530585287eac40397ab8d87dc824854e043de42ad6ea6f14cbf92fde60db5469a735dce60530f545865a7f76322ab7fb0fca7b187090568ee89cd9106bd565d6af1c011bd6d9b9797e9686c540347ae2bdf1eaa3018efef83045d99efef44b012c63c97e1f54de64c27023015cf051e4ef981458e30744f4e611020ad93beab563d4172a17d8e0628acf6780223890f0a5e7045912b70bca644e8cd521ae4626cf5255e9c28b1f6fd2867f8dec32518d8cfc183fa82a3dc83812ba08140a6fcd10e996a5f126cdb9e812062314051d558419c9a25c39bf805f0820553303623aa671d3539a97c35e342532b3eb54620f2cea3e12693df6bd4ba660b8bb7d5b07308a8cd11cd096e04bc2d33aa308149e0764793d3c63a53fe2d5d110d2380ffceabbf405abe76efc468348a4892ac44cbe29d9bdac01a52d71364b6fe32bce5a05a6bcc269654cd868e796c480dccc4eff6f56da167a2f899ce3c1ec4fbc6710d3330073d68759397d565d2d1861711316e389f77f0c7357e1c90cb35d0a89f0825d5171c9f413ba82af0366b91acbbd630e4f21bdeb6d73cca2dd56bfdc1cc67f208e53a4b357bea4f808e8a396bf16c4435d3a3a586515341414665b5eeeae5623cac3cba584a67f9e56e6b886db0cbc4fa487da0fc96ed0334a29284f1d99d7e483dab2853839842e205622f59b7a372238290f8615f563900811ed161c1566fe181c25db37bded320a90c1ce882c73f6a9c25c7dd0fa4cc40c1a95258037ad6f90b29358916ca045424489cc4c30648c3187e9e0436e60bff9ec10786816c88cb246059a67d2dc953df26291586059522fec43c6f9f0a9d355284fec52d9a1689a69de177f24f0a1bd782ff88485ccf0764f2c13fcb12fb042b82e589a8eba21821ecb5f5cd8d411bbcb62c27ed5cad00b681e506f1f4bd87ddc97efb90774a07f9c587734c414409af2f980b2083357f9c6d01c4ee5b1346d11a8a818ece097cf067c020b3871d29a4b12bf735a16a1aa6c900ea4785abb37073dc9fd688d58ffeaec6a9ddce41aaac2a6bd3d11ad78a0254925b69cdac9a14ee4b90f14f03032100e64beee9247a833af816224813e77094f31f880252af1293075821180e237c1dfb694d04e305697792048c2cd952731774aa9e5df90f92147e1a377cf848bf7d7c3b417be654d3cf018d805c87512fe6119e17a8804dba16093f036632c3e5d903dd989616fb00267f257bf41691f452fa4cf232165fb9b297e62a5ca88189d60515355e270ac5ab3b17660d0dff8e87843840c3a3a19d6f575f1843ae21fa751d0ce2329fcacd609d54a345e08a06fced863d7938a4546a4937ca62411f75a15f24dbcdea4203f37ceb73e3dc98c5e145a834ea119a1c91003267f8754a308df462397119ba667cd66e40aac57ca552767252e512f3ffdc2218fbe4035fd1451b03aa46ea41e1bdd029b36d0b010c925d485c0be3a34382237022cb050d8cea7fcb8b2504588a5019d86b06c70326c06024615630ef281a9a66da3bb566632313b0e6570a698a00219669c0c2a8384765e3fa1891523364adcb626ba7bf0c6373e308ef18c0b51652a260002e97dc0755598b72ae1329bc921e97821d1c36767c3389125570364b62722d554d644b618eebf9d4113fafa0a89618fef2129c20487775c78fd58ef73f0663407ed75b616fec8374ebc02e84948a652e1084c5cf3d0835fc9d294017e1720af211bb0f4df1f9c20f582ec89d55103d76d9d860f08c7adc12013a082221fec07c75c249f7a6f19bf40b807337ddf172a544df35b2dfcebf6a52c4d433b1c9563f5c8455c3b009f9c78f60b20493c58d80a0110260483b146579f6593991a9d6974fd6ae4491a0f3c36d2311ae46a80d9956cd06b47590e1b9311b06e51162f22a1c3ea6a141733fb23f88961d3fe74f262888fe9325c0e28bdefe06e643f05f2e4f80e27f21c72c00167a8e3d9f8e47da85e238907e0bf90286c71a8faffb66303eaebae28436c32943c1faad68f7beeef822488fcd7b6a4616d035ffdbf62e8c5e451beda574d01c99fdb10fc05c47f45f8b45aa6ad1a2f65e9726cd58c322cc764b025a4a2a63a847fdd30d9f9c71073809325f8849eae1a4c3a684c1a70b12fa68c82132d38c5c2d35191787e94b1a1fa0806fdb29d02fc2ad019b9ef93a9195c59564def9a2fa7b5ab0c11b578c79ae0b07e3a36d0374c9a748ee29c6dd53149d129dc432aa494f5c1e59d69349873ab9822e5e909228018086ec42c1dc36781471e55aa44389503c6ff4542d62af15aba951afc44b91264d263fcae34454c766298dc5e38a44be334a75087c805a93775ea758bb1626ed22e14d576a6ec4201ccac11f6dfcdd1f8a1ca3911285ec9e376795ee46f3d3d1009bd44f3050c20f114d43c3cd00208d8fe71859be00378bec404443c1dc543bc1dc1fff2cb1b2396110c3c978ff8bb2d5dc0198c31429722d0f66dc5c208ea36680e145888e31629a7344470387027766a03b080219be27f7470127f18d8cae12bb99886129297dc878a1ea5ec8c305994b4bc565421e03e32c3c2289aab672694542f7cdfab42570d42baa9ec4b696d49675143211590992ffa8a1219fa99ee741e3a6fc293ad6b11753af7dca9e0cc4781b93aab11c9eed733b813f99f20aaa5953a98f815a9931bf53c46f959e2b997fba8fd2f9df026a123c19e14b8cb2197820c71eea758f5a434816106a23fc8d49d13ef216ca47ac46af1701b4179b4e54b410d9069e6a79d4bbd905c49d0bd01ad1783fb5275f22fb2ffeb98d5837725a10beed15a27097b5c6bf2b9e3116cb8fb91eddc92a7e34ba55445f0aebd2e3953ed34cd42db0344694a9e4b8ec1063ba811d44cac78304dc78cb85a21175a28a2d0d3b5b15ec655ed410f2af6922f4ce46b9342dd20829fbb0f6243c66ebe0ec2dc42dc8c3a1919e2456c9a760db1842953a88a4811c318b6bdb32280c5cf006ffcc810bebfb8b5c4bcb1751a4b5d92ffe7a78883af2dff360f81982fa9e8282c7c7f9cc0be2c203589871299781e8fc6551f1c20d60e4ec4d498e08e8298b605a9b4714ccb239323a1d60dc9e72089a5aa6a7c2e022af6afe037fc604ee54e27d64b16b204c58e72eedd38207bc77d1f8bdac0537d5fd683ed5e14531a320717762a987552139b8f91939095c13f291e8ebad1c3c7ebdca02ec74adab705818d0c29f7dc971f7eb30dbd1586bb5db551b69aa84cbe943b3e502d346a9f5d46f4d5ed5250e024eecc870b4985c55bdae611c1378ce332d646d7c40ec6cd2d2f4b005807b8e01a27f6606aeb522ae60d50eccd3ceea0f2c3478334c116541c14a5fbfafb016f4e3c7594c3bb3f6947553fd1d66fddc31d02549ba480cb7335a03a9027de12ec70919f7190a281b9e6f50bd9a45d7e28039f41ac90e97b4c9435c4bf7f8273f92989955f9981046851738c8cbe989c1df816a8cbb867bdac8d4da8ae63fce6aaeeaaf0c995ec695f4adfba0271990e22c663f7dff0fa48025cb923ba7eb3f2657cb1b51e95cd1e47945dc054b2e7cc5b90d9221f8a5dc93797a0eaf2b2bb5a57996f62e0f751693537c80ad377c8aab552bdc61a8d131ae2e9ec8a485bdfaa115a740e9fa6ecb29c3d23fe9aa3808b36a3891c99d0b16897ecde522128ac1efd5380e9d0ec2c267da7e8595054e27e7633ae81ed78eec262814d289402aca2508d1950db1b8f548026e5b08975439d618548e6e549e561f7cb195e0136a3eedda9686b5d7040825d561c2af9c34ab1b919c64521d6e23bcd19de18b663a623d3c84d5188181585baaba769900beb63aa22d877b83b6005cbce1b9f7482c7aa0834f4e84386426501c16fb593a30fcc221be72aa9e84d4df3b71113a84feace3d030d985e017b4a80137b0d7257e914009069e48d101612c6e4d7cf5696db6ed5c5ea9a7d4a7586af4a4c3701bc17d7cbde31a4fb8dc278b1eca82251c9bafb95130464820148607fee98f9ee49ca16ca979bcd3f4b8c70e3e58c0c9f9a2a259572a5b1b54edf361b1aae53a1be6cb971ba37bc3ecc41c07cb5902e7d88cb4178104c14c1672542fa2779fac09492a6b1b59a292fd5fdd52c83160781f766cb80e175fb08f0e153d8496b96ada8f2ae03842893cb3e83e1ca27608146e08c5af82a02d965a0a41b1cb2998d5543fd166d2180d2ef0cb2bd12404c7d5167195ea862389ffce813d4fabfa32a08dac4b6f5efe743a378ea18e9df9e1e42c302b9d2c45828e21c39e833810dbc8d1624d7981632f7869df521f6809ae6cedec05b1738bd9983f556753015445803fdd71ce4583e472c2340877b3436686fd1dd3a95cc2a5871d585234a94cd510835faa88982784995ae2fe5c01223793e14eb19a00a4c14a2f53ebfda2a00e23f3bcdcc577a86acff87c0428a41f1ef75c8c4e91727d2dcb2b144a1eba0a7dc0bce68fbf70ebf6e3b4e8743c4432c00047912a8bbf94eb23c00613f49ba921b92273985e56d25377e062fa442455fad5e0d02f000a4e7c1e9741780eb057fc74be1d07486be2351d860dfd0913ae1c473652d92a0ba698f1d097b04349b6a484d63c9eaecae6c40f8c90db1d63dca2ae3e18c1722ec8520d39f7e8bcde8074763e245eedd51804a02ccd85748aca59c39565f08dd8cc24390308fd1adf36c450d8a2850b65a3a098a3dcb08b0d0dd996b44c5d4906f3df21e43699b794202a26441f90bf47aa73df0bb10d09fb7c9177eef3183c0c18e3ae6eddc805621bcb5072ffc4be1b93514886f6a9be1b86fe41d25d591131c3902b21266a61c9b4140240289e4af4f5ef48055810d7f66e14708b0b3da6c54a6e23fc8106026af4896e6cf9412259198491663b11bba8c8411933a1444d66fc7d01cd227d41d0a0532e5dc4bb9b2ceeb87dbc0edbb160de49ba8766ca3186ba4d197d1f550e34a4def309849d49a313c895ed28ba21a1796ee1c5f2674bbc36e5c4e0207f9bb12aca355cc08618c177aa20708ab334aebaee244d50c701e83856df9636c09506295204f5c019fc17d65eca23b06fb6311d78cf62a10e5aeee07e60de9d2113a508bb00415abd5541468f89cc996d36ac802980c13b64bfc2089d5bc82953c094fb624cfe05147ed7be98adbc3d11cb504c8cdce2d4a072a3afb1a006774e5246174411929f1089045e5187d4d63e534b82039ceb22c5d2a39364ae48dddf4096537eb494731019e3743f39cb88ce062e8918f4a2cd11914641c5ea710420baa2a834a876b80c60d6453e675620f4041b25c2a1dedc4b6b123d0d069c2fabc600de44dde3ee49a3ccf194cc8a5776c5f67d8cb638b90f75705aee0c5898b005c0f8fd83187877662acccad67f821d7fd1b3e479f96f8c1b7f5b4ae2812f1f11608810d469774c9474a95a6d264bfb63c33caa9a0a978ca0ac40170247be4519aea74c51637e6afececa07208790b9e14275f668f2dd7c026dde872c0ed7fc949d1d4de8df9cedcc41d4019e22ec436ca9574c630fe060e778e18a4094b69a4dedb589109d4c5050eb46bad9036af2303e3b7555a6a699da4316d70711250b5051c795f4307e8d79c8e507e4530ecc9e88d287c9185f81e20dd7b2393f600e372936f39888c3b85e8f36d26f9ca75bfeba44074601c1bc7a59a770655d1033fcec681ba9de7f9dba019eee34eeb2a4521ecc72ec4244418fe83c904702a50cb6005d9169f3be7db90a65766a91969cc04d3d85e6ca1977b57d36f527289f78451a9df7522c31fb3447d4937d5222edea962e1c0b3807f173a7e53074bd6cbd127d7baf9ad97b2db284f7f1e94976ad532b8d90a845e0cb9648a8ee60934d074f1c48c906a064c01d2e9fd3f3ba548f1c443737994f1d86e216eb08f81dfadfbf6f51dee768673a17c73cba0ab439445e7e627c9e26404c71096d53344d66a5af198622c041eb9749b70b4599bfe308f9dc7726258656c067f0896cc113d148265891cba296cee09bf573b530a8d71ba6ede2ee089808bbd0ea6f514912a218ba657336439e419ac037eec9e0e3549432f5d561e880c5c3098c6e7fb151ec80c029da612985ddebb7e6ccd3203395cd0ff664ad5769ae500c51edab77694016e5813d7e7d91d8ae565d3d0b361481fc32d59b324a43e411eef0f91ba32b5ab9a8cf2ee373369dc7fcc92f1aa304ba192b5e7ce5e74cd25efe7b4c0aae9a35cf200bdb1f2c06f87593293ec64ab3b626270f6bce840194cacb98ee1279cf71d645e9a2f0ed2e37a72b53e3b24756678f8764ba6e3a412b83bed04753f6dc16207eb1a71b2786cc35cc263503498a2f2463e49a082babd0382696035cc048ac27091aa21a5fb0ca0f833d87ab7f1f2e6b09249037d99ab639eeae3c1cad167bd71b52bbdd83482b08f58bd6f74dcc6dc6644c1982aef82b01bfab227f8c211b43014f012093d7be141231a1e78874dbb60007a23f356c79719b4b28d2d6dbd1f0a371a541f980f7f7307d4c1a45c7a6ad1a0e3f26f083cc2979f0903682c0ae7ca270118537a81e24ffceb999ed43009fc802f37288ec2a42cca04eaf4c5fb4eb7b0892f334997358c9d5652e0d0f5e551e29635d34d66314df031849b2c5809c426c956fb85132e8f769407b3da00d337194f1bb083999869a28550583fe054935b0eeed58193f6c0310a14a65f7b233ccb0e9a65b7d838b54e813e068f129c4a231e42c5f8113d515170827dd7a8db6142e6d92317dcccd1dcf5cc4428501cbaae7d0f43a08f263b9d32e2b0bf2c7ce7793ece94ddba6b378011ccc43e1852cefcae4e8fbb009583536aeb4324ae608280bf15c3ab4dc918980c473ce2937de80d3714d057fc9fd64760e4d201c256396315775d1afbbbec74a527f57a712953c529afc418539caa8cc9444450598e6d9f10344c194929d0e06e3b85b58e2e4e1c7e291ee216ee5d08837ffb8e85117f8a4f29f062958edb1aa2f740c3efa519a330c8fdfb094bac702ea653e6cd604e749619e530dfbca166a0b0836a106e067c72349893a58678722c534bd4796b28e8b6d81453353fd49c7e41a29a9a4dfe5867130b21653a1b27f9f5a86aef28f0e2ed59f3ea93d1998b091cf2f25a5ddbf94baddd9d775601d4af66c768469e1fc3d245baab0ba07712c6b335e77d0fe4b9cf7d610493de47d2ffeabd0778ed39e9bb0665fbe8f523942280e0f366c8129fdab352bad0471cc47f9f1a75663312234f5acaf5955c73ce00f052a4b05ebf65442b8a44db9bc29406b187d71127e2158580ea26b9434babe018c696d660038f9e78dea6058473381bbffcacf31a3ae08a152ea0a8a35a400025cb7796aada4592809f44a62977b48b9140e3c69e304c88bf232ad641e1a9e2ac70fe02aa156c269a56944cd8efc5444742142a38bf33d4c81d1c3128246372945301aa6645599965455e6dff4bb140a363e8b606b4c35b05ff2ba8bd39721ff917d079611dc8980e854b5087394fe43a546ab7ed55387aa91532b870f0778e326afd68322a2060d5c81d56d61a7130aedf5e124284d9453a8a59dcff8ef5246b822230eb8a3355f588c19d7aef81166cf72b4fcf76bc792d93ad47542e54719aa052eb9c3691dae2eb2e02bd26a8dcc4095c09c3c3c14e9c57e694e6bfc4de40c19c9e405ef897e965d0cddea0a4ea8a9459554e65f3023802b9812a3cb6e8e4973e7dd3b73e1047537b49314a8df10bf09b638c0edd3cd443b42c6770a9269531ef63771ab51fad5009c53521f6329a05e06ce5e0105e0f8586a39382330d1fa0741fbbc2d3ed59f624e703878f6b133fe05bbb4214230a845a6f3d2645c45499321ff06fe043766948c4e8e2f3af33bc9e73cd8453076c1cd7c3af6226883fe23994967967304a05543f4fadc6ec593a9c4270a20966db7632bc0d4ad6f2e8a1a9355fc0a09a409135eac1511516ecf916c4ae537acd68ba5f0e2f5302927bb123d4081c490584b26e0cf7e4ba10f0647d967e2645934162a73cf144ad2b3caaeb075763339ca2e30246e4ec273e922d94114922aed047473d50dad84c687d99f2989960ab66be16f3d6a82fb4faa06a1150c1eacc94ff77f2d15e6f2d19f86a70dc50afd7ab630d30ef90c1e32909e3ca1b6431ea9292b86397deb3f3ce025877bc94930f23a8dec93259670159e1a8f48740d3ad2c1c82d1f6f0595c7cbe79d04fe5e32b4e010d39dfff2d3ceabfeceae98b294210b5454f9e902d178b6186805ae91297acd248c8cfeda279119de9a0d0b05424983d01d6047e85f466ca9f04a5e0d2b83f84f5652be6e53c2f13a397f7ce0bc6396199ece653bdb50ec0e16c6b66f2717106f8d833c687ed6f64d37f5e79ee9eadae58c5ee64f3e2385fde4a3cd8aa14981bc1c2cf04121d43f14ea238a516ab7f3f347aed08fa714e8c592bf9f1aab462e1e37cf7b9df6e35dc256b845455d3169f659081942a176745da1e95e162223066f2971abb621505854150e65d56ab117351a89aad1d35816acda9c2546dadf931ad77b097afb953e3da83fa475f718063dfecf0552df09b6dc742e25fff4ab73debd325f37bb330e99e10326f2318e131285b133c5c59935dfcbb2838e5bd9158b97d739ac5288836b57477968f50d8ad9a78440b8a0f842f92b27d6be5ec6cb212b2281193a01b130b8107c0d90d055e04d0fa2efb9affcc7c3a6026123712d0bb01f698da2f211d0b96ccd16aa7a8283034331ae61542117bf90b45658c2472568e2484dfd4faef8d32478b579b8d2badc7c0965f420e3f14477194d696d64c412b970aeb301a8ba660d00e1da8230a8e81369e3f85fac7282e59b9700b568c79e313aac158bfa4dbe220201461e863e10981c8648b1e0bb77e50d281406319603fb8427b12415e77e3aff672d25f628eb3560d2cfcd275f5c6db34e78b7478654bb3c6a76fcca787b121fdb467aa966f7e46e1572a908e4700cdc1203a86730608c3f363188e14a64553f1d278e5d9df317569106a138526f08eac7f9e32663056769bbffeed9347da0178b172f0ce43b598047caa65afffaf51d77b7069956a49c560c74b620975e645c144bb87191104120676593135e92d3fc334c7c2a6e12e415cef63d934674d75ec0e8eb3878f1186b880fb136dcb0618432c7c9ba404477d6244a8543bfe7fd2a01007f43957ae2601a47b596f80685e4d870ae5fc8fb8ba78c79a81181f7eb766e8a0102c84922839ead75fac005ed061ecd2e0cafc570d6d44b1f6bb52dbc388cd212592b6dfa20d5b6911c935ee12e6be1ea8664793f288a74f6d8c99e3f832628c2cd960530134e4e4bd73db366a3ca38de1d1e53d238c295b7f25b8a96aa745de03554de32f2a963f475d53956b232601f3f546602d9a813fe0205841a4b96bad6501d4d569ca114f7f2db78c48c3fe1e243bd2be66f8c951d05cb18416d72ddb390eb868bdf5424659f5401aff8ce32653263a7376df61302537c8b4eceaace87c6f3a6923fdfd4ee7f063127633761eafcd0ea1a18590ae5cc7e06ab709cbdbe4ec8a47a31e2a067cd133bdf3140ae080f0ef8d202aa3e89b2029854c25c09d4d758131cad4e85b2c8425c96298e0ca9ebd785f1bc388a81c31026e160cae4a43c7c1ba80c5698fa0d4ddc4535a8aa33a146dada228ce894512c910d5f97f4cac8871eed2e8c3992f3c5c47b14b758e1c67d5dd69d2f8216f8437dd1c918bbbd29d798744d1468e9282d6b5111c0496b41cdaba4df45f1275c119ba5249b838eb6178302f5fc228dd4c4f943569bfab59cb037c2651a57d310ebc43c6d10a2b4e76cf54c30eea750e408e66a60a2f72847fb4f909268ab50ea4dafcf2e1da5fb346643b305ca13b3ad6844c7e954dd0dee592e1ccd7da97cbc710d3c04debb378df020b0cecbad37cfb7c3b71661d779adf48478f0130e8439487f8717a241362129b01aabfe763dbb502a67746df9b162a98f1823bb81a61db4b0b4f9190724f33c5b55b5392c5872c14e838ea33267e45ccacb642034b60af78ee4cea654d2b4a3b21b1810394926029da07b3c629da0856d0ee6d788d3c0c0018b0ea4f991d0ddee68b32e91d4918a532a70e20b9b0f40b09aca56cec997e8db4f89d77b06a0c1bfbd7fbda5bad41aadc065fb7df199e6ef59bd9d845268b8d7cefab04c724c3fa21cb6e43196a6a074604284cea20c685b809f2c6a6f1b489141b36985e25888d526ca393cc77d561416f2b3dd51d16287d0300b19bf3cf7c66e7879d5e898a9d016f3fbedd893c1643105e888c8b58d9b397de9af05974aeea42c9d94840939a555bbacdc6159c81eff442b545b4300a648ab23f8c5c1fde9e1805ed182a812e9f96cb2621bb098f29b0b07fb20f63fad58dfe14bbaaa5daf82d633efe0e9428280765ec6512c517a3823ffb3b1151b589c2655f66d252dacdd464f6e0796356240a61db1b6b46d69d91d1954c9528ccabfd06921f829ba45d58749f482b82b0f128877d51578094a45a4fbe7d436318812288ee4277edeada11c4488fbd251e618777193c7d27d04d1550ca75e716056797513f5389427152534b0232e7653a030f6c005cec56b864f7010b4e5c61c9f8c332c24678efa37134fc8af1770c7fc5f8233690d87e38563b1a2778b945454334b61c8cbaa72c1006cc399e833c1f8c219f57adb4203555458ba317695afe2c873d6f7fd4deb540616e5669c27bd3ee6602fd7c4c2242bb8d668d7d5886967680c162ff4d3fa256bb7438ca3e718731d186381da70da7e9eb2e1fceb515c20e43e4c91a9c957162d10e2d61759007674c6ee17a2a250b4f72f52dd49533a217dc336067ab95a1e8d4a44556d6215627934a6bdc62953ac26ac8bc69c1edac5407ac506758b14c20edb88d15ea80152053d3a4706f20abe9fe8e55808a5dad7cdb13d1c48829d0381fb0a1c7e94029b07586d06e3457db7df1111fc10a1e7d06f710223ffd535eb44d38cf32dca4e5ae1ea5f40f4fa586d7d6da0599031f50925266cf5e60563020b6600cc2584f63c4f691f7bbd07caf6c0bb8d50f98b56e473ca02534c536a5dcdf75ece1faecbd66707554dbc3f5ece1fafb00a5a72be2ebbd4bf7b8ee7bf9f5f7014ef92d9f3af7dcd74aa96edd02f3e52ef62607156c54dceb7a524de26610a823b2c2743e261d38c36408cb58e96dc4b66868d08f546eb4571d5c7db1439b9347466678cdca6647033f5265c0c9c1d950b3c20df0a6fdc725d0d44667b0fa86dac9973ad0fb0b287f30b649caaf69c83c52815bd2f4a1051da66cd67825498360351126258e5f88cb62ef46b32d615b81284bdf4d7ef2c0339ce8018b983fed9fd9a4a8234ce9cdc47b367ceebc8b907eaa92e785d25396c8628996e36941a17ff8a899120511d2cfd9b0914e807411a23440f262868f510d05e664b4e1e028ea2f3a8313d21c461f20e3923d4e28760773c26c2dbb9eabbc5c31aafc9596a47b03623d6ea017c1f12a42f8ffc21073b3645f228c099a535e74753de03a6dd59b918d7c2a12983ed48052e8864b294b0f36a25026c0cd07fa029c8aaf4b4af450a8c744d67b1372591a56dc0281e318c77a9f057a58afccb323743274ce2ecfcc192f0565b840133ca0be57b88c1cdfa64e75b3cf80c661a6cefc357d16c058bf2f4ec9b4d0ab771cf8293d64ed460be8d5b5ab0f831b569421b09f574b21a76470e3b74b8653296aef5c9dba63ce6ca4427bd7ef313a40db61db040ab9ea2b99954a8b60a6e5430e21941e29b1d0fc84278a927211ecfb7f0a169b249915a893114c2c7d492fcaa8f5563e45c218a2962a553c1624113a525d6b59297fb6050ce1f69bd5090918133eb292d57f7a35c4a7f7369901792c80fdea841aa6a6e31ef471ffca338d8aaaefa4c74b5b62b6d681f1f7278ebd562d41705c743d8ed9a862f40f76aabf96a50c146edc76fb09a569fbc47efc2a6541dadbdea2f89cd6e91104207a8919bcf475f7c4f7fd3158ff4494ad5a81703fe950b4f6557e4b4d7e3f8ffc73dcb60597b2265071144c2904285ce03b65c72b6d2e0c14986438a9424ce94ea4508545964dceb9aa0373c94ff43724a58b317e10cd8fef165ef1e09705c3072063e4ed893d8f4c49e8b24b02c24113d02f797c0661cda72374286d012d539bb5c39cead7c9dc21751e3b1cc2f93b481923d72dac2b2255c8c4d799a333f767bc37c1014d14dc64b3fd62d2c06a099924307ef681e0e948d48094e1df6a48b59b9c678b569068d36b67555a8797e1f2bdb5444573f72e28a614c73ae86c239a876605f6915aec7fa57850c30059bab99bb4c78b941dabb929b1b1fc15d683f14e393123c50db8a3a0f79f8b7151eda60f765f3a9a9ca57bfd0dce271f7b5c0445ec1e63a79ccb723ec932dc0f6752b1a26dab9ae21f4a01c54e4bf6b9ac8407206120504201298a084021c172ae9b34ab0c5e9aada8a78489e2035b1c19178608e57dbe3dd0a97c32afda8e2ed3f299cec186982bcabd5097359887db95f81dcc444b6e074010dc9a6c6770bae16149028330b9294386a0109e8334f34bfbf7f729ccf1203cc7c02f313618a04a17b4e01b344857a4356328eac637d1804d1890db0b3ae04de7dbbe6fa48f249cc023cd37670dc6c7dfe73e083095bdfd625e8f2344975d1b177f129ccc5290d43e2f12c598a0db152399487f638ec5431950602639c74fdb60e1d7d5605017536deee0a3e57d9eba61746dc2af3bf29a632d2c7c44a3bcf56835cf9782de1dbe27bfd4f44f7b1a49c6d22ad786872434378012c2fbf8ba9368ecc610841169763419c7a58d6ef9d9ea48ec570b9b8102a6adb537b508cb73839c6fe3fad105218836efafb2cdeae78b060d24a816b1c190195627275f04275f61d2118d031646fc17b942a578be9116357b025009e55bdfb9f4664a2786c115f4407bf9cc65bbc66b9b92069fefd3d2ba489c5868cb775144de4b9d5a14136daeef12b40e9d3d7a0e3dfb2078c7182a1adde5ba6df2986014bac1530fe372fed4ec8eb2351f579d61ff6af93d43e4cb4035409a01f23cd482540fb8c8d3e408d4c21f7d90122df9a011428c86b18310b704447708cec57f5682642006ec36a401f91f7441485bfe297a478cc8c73193227e599832eed05647b591670003a8a99dbf724f037699c85d3af944ec41f146aa467af57c7a2ddd623dd7037af6eaf57789161d66617b589eaa07ca6302d7c6034df12312cae4fae9319f00068ef62ad592d6aefc8e562f965be96d8a4f22b3ffdcdf69ce39e65ae12cca7c0033d8327eef63bc7fd253a8487cbcd389cfa99e716c35d869fb84572b4d71ab050e59bd8a5016ba03d894f671b64cece7520433b1286a899a3588a0fbc459523a7d8d73321729744ce340a1733152276ddd2c32a93be7fa90dd700e737935da3d2e994df18b8deeca09315a4ce0b6193e40aa0a03d2170b39efa15c80b98c346830e6b64a4220eb97b382ba25045f6e44cab070559f86f5614dad8a4e94c7dc10dd487c104fcdc459aaa0e4e25fe662e5edd054a8bfe9c4a0b62286eaa19005082a483575d6e714c3ad84da47f6e1f21240fbf25e4bc81e8e780220a2a9d3a2d80a1aa9ffed270ce5763c88d8516dda0cc945fb178cc0516fc6bcf47297768c7acbb574c5d6ba03115b5df1245c749f8e700e2a3e5856c7a22dc9ace3f1de89e43af1b6e9f766c6976a21034c42602fa7b0be444a0fdaa24fc8a089723eea0454a65cad174b5b9f8f49380629926e581a89ce3e3839ca54618e17e3766e71642c9503b4480feff7fa7450dcbb575f2ce8b1e104124fb96017d78838761cfd239a80a38459e0a689497952f27c789cc76f91f9a42c36479c507190e66bf1351465408ee7a2a65e43c2ea8a3faee7a337da20f8313e991d0dc2ee53d28a6fe2f7a32ca90e429f591bcb93456304d5084676e0468341a31fc4f238d64fc16c67ab2cab9e1b3f0cc72de8ac918c290736727bffe137349d078bc0239697e3198e710b6ee041b7ec57c9b65fbe8ad30684653fe0a70014a8051742af2fb7a5d45ae1158064cc5c3ce98f916378d62cf8b3fcbeb29d76cccaf52f16d3e279e38b6f540708f8548a245b5a04547867f6bbec96fab64bb58c6c42c6f9e36dfe19569b8c32b6cfea1729dc594d91aff12956fc804be0a95b0cf73af4f0e7a5c86c0b3ee8f9c033430040e38b4d80b3f625fd33a49173b8427432555790ef661644ab852f6593548383c04a579c7c5740f716016f06ac7a67609709d849ae110ee29c8a5f5735e827592b09b5e564dfad83cf4c44cb46e2dea40d90a1a0f79ab90e30d95a11bb4f0ea688bc6e315b45a20ed9a8a57f61e2715736bbaca4378700ef0f5920716d2cdb48c5c710c528a8898cf4a05d7f90998d73ba9d1a2629cc8f0931ae2e1648371b588de2535f0e510ef250baf521863327aa2fb141c52b037a0745d4e026561ed2d8df9b98e09dcd80fbce18bb363da895b173669ded3661020231c01d6ed0f3f5cd2bd12616784bb7b45997366adb4ab89f806023cf0e69cd7a5f1f1d3de3ea613306169aa0ced685c3d2e1dd208a6d7e284071011f0e0f1bd0935ecd7517a8d16d890ee59df1de849a69aeffe2b027c143b8c6abda9f31202cf673d062d46e4f9ca3e4d9dff51272d275c7a5f619bbaf1116f3465c7305a097e83c90a2fe8de3e2b451825beea8c947d94de91a98423710e27840058636426a19571390b745732765eb86fb75282506f22323a42473353a1f578784e2f820878f27cac2b22e30b4c6e4f7d0b9a96e8501f6cc67de67bbc75d555e60a744d745c84c26958e8e20ca300b9138b0f6f6c7b1c75de3db35a9834f20e76b9cd804c56af6388258a88d35977f122a28b9b6611bca61978bf2749aed3163b98d713c15952398ff90857aa15f4842a67babd18d550875d9019520f2536ae801312bbb718d9968c6c3c8af386d0ac6b6660c77b8a00c5fcf2008ccea8b225c4bba2d8af84b2b90846f65b9a42355fa25e5f3f0a451778887d534c8e7d025d1a44acf4a874ed071d9070d32e64c90bd0ff96b4519ebb1efa0f1a0cab4b798499f23668077e7a03d7528d6bf7223837654449bf2e3426b0a80b85ecb29c54766110519710b5f56f01684455d9b27659d264ed10b118b649ec7c8a719512224fea131f2ec419a095efea972a561d58b1eb59ebcb6513f3bb8d4af5af0428b10c5159ded9272f4769bc32021f547778c70904e068d6c3fc7e76209341373eab6bfac98e146b7bf365d791af5d36bde08c65abe0fbe6f76a732b1d42ae100e279b7319ae8de6831b226075adb9beb5916b1bdda9cc50abb0bd8c9fcfe3ef5f704baa956777ec5b536fa0ec4b4488d2a0b08e9f375677ff76554694acf2dd241991e20560c44f22986792f7e1beed4b13f51466c23046358be0c948416c720a412bfe4c64d868909818d714d727381a1d6f5c7d93b86fa6eb30d07212337e25e03456cfbc882da52d1d154bee3099e694afd7cd1e82d72847b0fb7905df22518526b1e9acb122bdd4b089cf3062b022e18e2f8041af04c5ce8e8f8047b8ec39789d39b0f15f7bfb323cca8c50ae5396e73b1cb3f24de98d11219378297ac408cea8f76cac8a325d55dd00dd7504d89bcda1866b28e2bf111073da2a10de39f8be827bd3ec93e1953009c0e11165835370f18b7832eaf8619cdbee725a24a819082337c72e9ba56384f7d38ab1b7e2b16b5e4db90f19a6a06c82f62cd02b82749efb850b43cfa76cd49a1322ad69fa04746e04bb15756b9620d9db314daa08e373b42ca68a20bc7651f887790dd49a1774676636b9d103ccd294fe3d0f72d067f1faeb034d3a7c1aaec9c6c94300fe3b44c4775b11203db99938d01e037c2883c48143eaa4933be079c7f288b08fbebcc77a7c51016eaa49ab3f208c56e6596192c3abbbf1c3db439dba986af0ea80a9e418043541849f552d61a6eb18d4e9774d26731262100f7238ed1798ef0ad6dbc0d57712f0e3ed3ed9dbcac1c79dd796bd59b74d5e6f8301f986c755830a5f89cc8973fcaf844d67eec99751fc614d3e27f6556c9fa95010b17059c585042870eede7651c1eb88528984d989737b0ba655ed1ee6c0eaf74f28d9d543e60fc7202125450aa19858c33d6df294154eaab8b3ce12f25fa3531b0766a3203aea8f062ff4707d3c43fd50110960ee93a9da1f22bb5228d34fb1a911fa811c8b8e4e688d961cc01c188b9f131187c66f6c093355071e4c373eb485db379f39f55e513bb67acd97aa981793e0dc8ab7ea1d10f378cdc6b20f6e10d80f23338de1b169b78b3cf66545110ed4fdfec9f2f3463a99681353562e15b2c56e958aa28930bc6e30607a27572f4715413f3aa15cc95f5a2cdbf1a17309f08bb427c1ddaadbd1e96081d13eae5a7d72e7537742229917cd7ddc65c3d79fbe5a6359666bd8a67574860a55d3cff3d90940f9e540accacedcb07543486823ed915dc04d2ba0e540c47ea6c08b714c006ff9c874e3f06a8ecb393419e26f2f2e18affe409c233512dc9c23246aac2633df8d4aa8e0a8a89c46dde69a98187bf59ba730ca2f1b3cb66e9d11d7b3472c9a24b3c54738c531d9b80c5481b7512fd00b3c4b318326411e54ccf028ce8b50306ac0c1a58a645a5f2672c763ec27436ebf8a340597239e214f94015a882b4544975e8255c620bd58d5e5fe46e3c0954d1ac53bc9aaa080da9d214d1f8ed2e17b8811736d98fe20b085cdf6ec4c96eb025020b83b2c7744cbd397e021ac7a11d64e0a6e3b944e7922585c10e3038ccabba145624d6ab6d672a4cf066f8942c6eb1f724770a32e78aecaeac72de0d09b5d0b0a74203501adfcf831403a7adf4bbd35f1b43186d2effda35fd00970ff922898c32dbbe036ccf033a957e82593054b24a07016d395e9a99103bac07dedf8d3d9f854c97d7003da57d81ece19bd09b101f799d44278a8500a5975f84d18fcb17ffa100660f9cd03900f57d633c8353996953be934bb68589ebf3e88bd84d36d9724b29534a29ff071b081908d9d6e880258b8afda302092d153b315657feafc2ca4917fb90c47ca82849f53e54afa701c524a2b9fed75ccfe6d8e147a51f4c38cbfb8b06ecdff5adc980fd937f5dff360a7073a7e6781f1199aa87891d1d41544dffd594a5629f656f32997ab1dfc5be7bc1bec32a634258c731fe6cfde5d49cfc4e07fb1a1a672b86bd003647ba0df6b3090cc3300cfbed4d4773d8f3c66a0efbc5a08e63d84bc7b2ec4db262d9bb36e4abc99499dc949930384586238b23247c84c071054d50078324a321a3252796764aea7b9e43ea009d888d2b9375f8ad09b2ade9588f59a742ef74789dcae73fc28f20932c1f3a8df3fee412a1ecd1d1e0b2fddac8d736169c50e25021a42f6e5180ec0f58f7fdb9fb737e34d5369e45099a01f9f79999036f45b6ebeefc7abbbdf3a125e3c2c195127ca0062a4c40021520e0828a952160a183f8831e20665212ab2589cb06407400b610841aa4208c16785154462b5e39925948f9c14293e20719bf47ecc4db9095cedbc297537337ea1e49d9a1aa9a63666ea732830208218c9714a555dd232956300cc34c1994da9d5235f6c71e49c952339793a6097133aaaa397fdeb86a1a93575713c2849f50b1f57f94eecc3d9a62a3eed19420ea0fc160c007e90d35cf882d1542e8154208611523b284c12bdf33e20b0cbc2e6544172923aac01464db19214507403ad8e2892d38780115f862517d474f0851dffb98fa687701ad661dd71869e7f5c587f1fdab367c60762824663f6a7ff07720ebe7cf9899c90c1953f65ffbbc4bbbd552b71932a6a4b4e324339a9fb79cf807213403e8206d6c07fd5cbf35cbafba215421ce915052ed7cccfa5048a946de53850f952abce893d7c7edbd2a2f783d841007aa4cd74209e77565cddca708955c7e77e4521629348754445fc419b1942c908e1696181c96df4295c53cb2528b80740e17b96ccccccccccc3d9ed352cea952f5f4f4f47451171515a95c49c9ffff97e1c487ea8c042be14407545246c289145d24a58ecedbdeb74f04153a218291e5b6c87d0746788ff7f45851610c9a959494947ad0501d5b1bf82d0159dfdec0b7b0890c5a7191c9c6d99da87ec24eba9b03d9faefee44b91178fb0937f3e0078433ec0dbf4a45dfeb74a89e136ebf627999c1f0caef52a8df79c5709f6cf72dbfdfddff62bf93cc42c83229bbbbbb6359b7d73dd5db7bcdccb1396f08824c360eef72f5556e735d57dc5dfab4325873bd37e936fcb277a113ee97820c8688b9efaf39d5bbefae56c6dcef5ee52e32207bb38fa560faefaf88a6ff4e1964d94b7fbbcbbbbbccdd74b9a3587767287bb3af3161fa96e9d9632f37c7f418eddcf4302955aaeb23160cc3b0eb41f8de310ca3bb40ead6bc85557873dc3b393390c1df1adfd5babbbbbb33c7ebe28b2fbe989d692c6af7ad5ba3d3d3567b418015a57fa932f768659bfaa4e3b269dbda98b0ad6ef46d7e2eeff9d193c7be5490bddf9a5ded431a44e56f20a5b7bfda7f54a986777777771b3a74e810c2de7c868bb9ff941a67a98d266a8e139080131ff9d0e6449c45737c434d25c05b2ee436fc388c200477c8db6e48d5f77ba339ae32fd3b17aafc2f5566f796ea76b2b7d4fd97253ba2717639896dd77b9deafa28e3a9c6b7453f61da01fc094f80cbf9cb8effdef7a3395cfe7079c826f5c5e04cfc0966c4d03d706ffce5e97d53a0eb25ff1d21db2e8a1627849ca0628311cc58f7288a0794a64bdda3283d10cb1616143146108ae8628c22942216d938ebeeb05f84348ac00eb7bb7b5fbbfbdbeeeebd88b8bbd7bdd977ef6eee6e22cded777777f77675e7d8ee992032139699b018dff5e08bf0fa429ab03561ebf0da3ad68b0f3abc628c98bc604d74f70b8c8e171831417452360e3333efbaa38c58f1de6cb1fa5fd792c476a966abd0dd7d4d5ed35c7692cdbd173bae9c9d4ea7ccb7ceab6f841707de152c49d1ddfdaf7071e5f4de15977743a532bd2b57de10f2993c62a6cc844537994c26cc3393bf2b572e9f66787b945876e978cee94891455ab21551d2450d4992a2e6724245e8fc271facd316c46d74b0cc9346e4344f35db5b5c3419b8327551a9e674172d869753e3c81b2a1566aad11ee6c44a5b788bcc8939d6c12c986c7394b84d2b5152c5e72dcb5bb6067cecb9b620615e9a4c5df272d41036093ee8620a2523285060450b964520ed92112b80580fb42c191cb85e0b1651dfbff751a5821042a8e13c98160451df195fdcd868027f0d11545a8010421f7e40228c228286f001e809c1081e208490889f1aa5534f08b0a2a16c8810c826884c45fc5c2b9f0cc28648c2274e554a95e43642e0103700c19621903a300410362084892c437c01849022a42194f00121383022c2070d08692269a22089266030639e784f98b3071a980f8c28e635061c9a97963366d6841a434f70c209d409be68a8a969a7972a9278c0302ea0c088aa70425e91c40386719174836c6b3adfab073a947fc58b21f0d0da7192011194f281d0065027f8a2a1a6a69d5e34b6a20a2d8e484204bd831026eaf42f106a3f51a879d25e200d2e8fa29dd69d1ef5190ac564fe90aed3864efbd3f7ebc055fb6dc8d6f9f2a8adfb8afa972ddb3a25753e6b426690466dd76bcf44f151f19b08453b7e1bff6931648f4aa1e89c357e67d344cdc4e6f847d6775d458def3fd81ca75da56de2c7b6c2458d347ee744787487b3d0a20512ad1d27a628b068c9fc8e936984d67b271de58ad6141adfa92a8dcd95dc26becce64bed427cdf7cc6686afff2adc446d4479719f3dd4cfd0e626837a7e08e39a31d0a8622b50bf185762a4f8a9376dd448d9f514faa4d3443c57cefce627192762a1dcc579976ef01ffba41e0435511cdafddecfe8a599a9dacb02b6bfb71eb207ca8196b06e866b1cf7c2f5806b4e8800a24117c5c05526491522c492976a0032d2bb4a0ba28e10124f0a0075594c6887206174d3011041f14ea1e1df5408a181c4d51459d2a78ab42dda3232748110276c2d142f12c16124b3e4ab003029ce0044eb0a28b27b4b4e0916182217ce823eae55800bd5ce104e69ec5a2b2461ec6cbb24e1c0da1054750b4a0800427e016a058a0f404119286a0e20a3702004e00032790f081107890e219010832ae2d3ec418638cd1069d0320b8f0c05f58b8000b0d60b1848f5d2ac1098a00e504630091f1d37a45a809c8f827676ffc79c5dcaf7a9117504e0ce5880e96af59666f4eed2490316a77cad91f1bacd3a519331a7f6fa6de1bff6b8ce9aee3eefe943896ce2f947517c89c31f9f79999c5d0620643e1081f333f9ce74420bf1d7e543f4c2866685189d127199975da18cadac0272269a7433b56464d46d1c8c7e8072d3448212121284ecc88cf462a1c3c64915266612138f9388e93b25b2b153e3fa95253610dd5dfcefb313556048c10465864065206368a2644c1836aaadd7c327aaa0e9e42193740e2a7b55030210840adacb709574c216a39d1a2700f1320186a39617e00126f892f357edce196ec7fcfc3d3543a7542c490705c63df8f016e99fe51283d14a085bd0fb74cafea516d3a3c4cec4defd48888dbc4d78c6ccbf4d409428abc7fd2fff1f3489a8493e4f72391b49b6c3922e9ce9423fdfc17f712f6793e1c7f67ca1153cb94016594819c3a8181a80fb72412a22824f3e196fc8c1e71ba03a58702b4e4fb70ebfa4731c0adeb59c86de203a067beffeb07d9c8a3fc8bae8a48c92d93e9b965f2e7e13151e625b789d1dff72379dfeffdb9d5836511778938e344618c265e8084156809e2a2e55cacea1e1121412454bbf96f886f6c4b8d6e1a6c3932228c2323bea8aadd9be721c3e283ff849cc885b827a30d9adf9cfc90dfa6d03c1a4d08cdd370c5b02c7b529a337d3f21f98458fedb9e10b3a40f7b0cc3a179f87dc42ad14d5cd8d36ccf48a592903ea16eb734690efa0329d91f9bc358159aef524df35d1fc11cdf47e078d8fd5289d9448538be6b282a964ea2f9aeb7a8f0871c341bcd6f4d7334d83684ffc98f18cdb57cb9cbee0dcdd36c3dd45448304d1f59a3a10bfdbb977de1cb6c0ee6f81c3e3f340e90e7bc26104266995c9e5d9e3f7234f129bbf149f885f8f017c080c5313dfcef64cef6ddfc01f3bb39d7daf0c3bc69f3e5987f9ba9fc8faacc341b007690a6edb481b9556271887c7e6cebb08f9f61524c4342425d0f35522775953eea2c202c92d920250a3d21a125cd0595e373345fdf558aacf4108e2d6e36e4f81cb8d27c11192455f9ef33179410cdcdd30baaf00101a9a04c1aaffa1aefdf2f24f472b687ff8a1ac7a8716a3cfc87f4a8348e66a5c2a3ea02aba0e6137a52de90df707a3ff35d0fc97f94025c9976363c2ae90ccde5789a1fe8d2742c8d93e3e1fb92e7fcc7fc7b3e9ed341346f82bf6daf477b9a01e2d3a5d93da06a830e5c67b0e109d11cfc0e3a2d53e978a3d1fe5e35d18ec77f732d6d03856a5bd9ba68eb2a4110070de25133c0552375339630f9572ff334780b99daa5f141fac6b6d31c84b1873c2789eabb1eaaf1dd6e51829fc8e57b888a0c2ecf14e0fa68777a6c668bf24f6393d972e0ee746d395c49e00b9d109594f374dbe6fd3bf18c533ea555ab70832cbe97a984fab7654e26f26d3e6fadad9c1ac05f73ee579519e3c718e3efbbae476dfb586e135fca1935ffec92f978faccf4321baf8d7f6a8bc1ae8dab2ccc0bcc772da4fa970dc873768b82ae37bd6cd79b4c44b8de7d4996653f5baafffcecba4cf061313a7a59bc2d1e169491952217179e9352c000d7f34f73f1e3453bae93ca52f587f94ccaec04b331cb733e124511ccd35fedd3521a67d26ef2928fe7c47cfc0ea285681c22ba4799e6c37cfca9b1816a8c6fbb94804c9466ab6446bd1e4abdf68a3bc393fa30db967a3d2df57a2128d68a09d797a7c0abfe4c50d5e92b698e067f184a01ae2fb4e39f544773d7dbc0744973f11dd05c7c8d8631af57fd303397d3ab31baf8831bafcfd65f70386999a63dd31a9a8b8ffad6e476922f2ebf4732d8c24a445b54c98264e5c7287ec4e114b3a80a2248a3523970e51f1c3c47e5d41425520f698d6309eea9d9679bf129cb5452ee1a11d91f5db3bfa1719ac4b0392ab7c93ecb7e3727ebf64acdb2df4c064675c5a87b74c41635634d52f9a02624bee6b851feabf2ca4ecd65bff2658f8e30aa9d4ecd1eea344e37816438fdd913c94e32356f645ecc6e8d6af69da956ee3e53fa9e48f6d96f4d466de09eb844b635dd22bd557c8f3b539ceef8677225e505218410d67015ca2bc27f2b23fdef8f343dc28fd11d47dac2ddfd41b80f173e2d8486dc9374dcfde13cf71d1ff903c48fe3582c1d9df77ef9bdf76eb82b55b93732c79fb8136ecc8c6c7f6bb05d2d2b06dcb5b2aae1a5f95dcf612598181bb45375cff389764f3bce8576ac493b9d22c93568a7aadc63e3553c433d453bd50cbb4ef5a0567219da491ab49b2b29e754a96668f71c0769c7d2d1f12025771ab453c9d06e06c1d06ebed0c91875d6d128638f35eda62f7dbf38363e4001989999795bd9c648989470a2030ca39d1329b0ebfd626f7760c4fb8d1d430f1a68366c6d1ea40bfbd7dfabc08d6dd746b617ad7a5e0172f798218ad8dd0beb5fd6967b3eba19eaf66be3ac79a9faf95bfa5e30f0da6d90ed33f302313701a887b887c8597c7ec7562a57f11eefd9396dbf4898acae487d13536d11874a5f11ff0b94a2caf5c51e0fe3884a523da28254f76f348e144b30a3ee3f046439663af017d332666a35fe07469ef3a6e89f6d1287bdf1222aaac2623eea23a879104278c11861ff053726a81d6a5318dac6699031667fc765fd9e97c7e3776f2795a10cef398ee1d1f0bcd9dd25c6f73a9e44914c6f34e792cad4bbb260a18208bb5e7d78eea9c171d735d45692a49d6c51db89526d274f7a6a5316aa3a5cf5fd75fdf5cd04e55cd653f90bef0bc82b9645ed74704bdc87eeba4ce38cd9f908d25c731e25fb20cd443a5c9ed1f753f38399fce56a224d551593db34859b9c98af8a1296527b88a9d47e566db0aed68f4e09258353ccf75ce33c87ef97fedbb820e68394059f6b0e56958b0766c782a171e0c36701b9fe3d7cf8d7a603e1db389afcaafdb13200d7f82b26b5eb56b812be295c0a3a5440e186c70e1edb2adbb1ad321e3c3e7b1e74674a468ff078168f1eff84f53dfe08eb7bd09d2935bfa3c2b36ae811d6f7f81e74877bd6131e3b50d8767c0a1beb55d8783cb7f5781d3737373a3e05bac3bd8edf51e16ffe490aff04853f62f328bc3f0a74678ad3232b7c0a7467e7090a5b0b9fc2c6c2abb0f9786e73e15d60fd93968f1d7f84c7ef78fe1d3d9e4577b8eff13b2a3c8f7fd26281857fd26a61c7b3fec88e673d3f8bf52cd09d149ef53b28fc8e7fd283a583c78e9b2104d179217e0004b02ff8d0b183f52b3cd022f578f6d9e2b3b25303fdfce9697c6076fdd3fda777838ee7f48fdbb4f0df13f5eb392c7c8eeed9a591a20f809716b655f62efcb658d856195d1961e17d3c9216de8516de470bcf83c2b3f0db7a1fbfadac86ae8cb8f03e1e890befc3c7f3a8f02e50243ede857781f270ef836e2ba32b265cb3ef384be5a9a60fd29c8552dac9edb7163616b6759b1cb4e35ac771501adaf1b84157b4e36cd01ab47b159da14434a84cc7c0d04ed21a56a6464f19564d9daca69f6ec7b88155a3fcddb8b27af4e8c162b17afcb656d8566eb3ad9cae8cd8d8acb0c20acf83c2dbfcb6b28ef239be8e9b9b1b1ddcebe05ec7f3a8f037bfad1d2dfcb678f078161ec98e6f81f2a4f03b9e85147ec7f3a0f03c5800fbe385bd69b90109024373fd01d0b11149c2bad9543cb61e3db66db1b66df1d8b6b563dbd6cdb62d1ddbb6ae006cdb62aab3c2c63d2a2826a4d368ee732af826ebcb1300b48b51b6351d5991e543c90d7b6405900e521296ea1fa114a662849a0357ca0262761cc4621ae5faa63545ce451541b033e4c7cc4e64069da32f98a84a5f64a95795a2e688626791d448d7c3d060764cc44bf83b57cff9f7e725cfb9f1fe1dd4384434cee9051622c7fb7396d5bb0d1c5b6aa8be6ba0a0fda1a98e66d7d4d3fcfb46f2df5452ccaee173f055dc14a89212d2d496d1d8625e6683d96dd9d8b65563abccb6ad6c8689f9523b0e7a27d5b6327dea556f635b1949bdea57268a24f5aa15129ab7f1346fe3b567ba8ac1f4fc4c3b3292aa0ebdd201d29cff93aa390c4192a60d5514b3933c67e61de669de1b665b997ec9cc36f3309f806d29d949429fb4667e5b34dfed0c25927a9aa7acc4eaf02af60713edcd0c16277bffa6410ff10b2d8579c8c0e51de663be9ba934a928336f6363a3d5c64451687ccffc6a427c3ca75f1edb7cb9f8bf5d6b139f8588eff15132ef9ca21813f9fbe7d8506b131f47ccb137f1fd5909149552fd86d169ebd5d63d6ed33faa6d53db4c15988d696c4112627af611c27f89bdf16d5b3452a68d2b8cac26da3e2a28a6a4dc439ba88c26cbd7a827a8461db1f5bddee5969822085396eaeed89050ef0bf2b5a0215aeb30117bd382bd2982793826148409c98a79d01739f00c260444f5c78430311ac7dfd4e33950a6c4ef21c5c3ecb8ea98506d174c8f41e182cd515dc17a8059218f984a34518968ce9f350e6ace5f4a99a91d66c7b9bfef96988e33f9b88dc77f79f75f23ed63280cf5f19d269f45997cb4b9ddd8de9492aa27e67bc6a4bc7c97127583f95ecac69152ceb93697ea4673fefe9f26845d75e329860935e7269fea6ff2699c8efbf9a1713a962988c6e95ef59e9e2d6ac743cf94e5a54f41d9d66c1300fb77aa19c756b2846b7c0b2cff601f636346628c31c6d3c6b94967bb11a4487cd3d1ec5649e3c4558d1f6de010638cbfda1ff0e3dbd81fef59e905e1b56bb151c9129ecd49596071e05f2fff016d73397ece4c4610d8f74bb07fbc437d659051df6f876ddc3686d19d27ad779bf7d716a488dbbc3751f19e9534cebb51df0dcf7156722640cf616368ce6628a5dbf88331ba2c319bee6ed3dddddddd95d8c44ccda85d0c3399b2d389db9bfdd63497abf6fb4e538a79777757fe49c793da0d212a1dd58aca6a062b2a20c8f6b7468583b9fcb2df7511f32ff19c6e71d74bb587ad345f4930b78a712091b4e02aaa7f91a02af607ef4d5bf1242bdc0e2515794668f9ee8f6d3a174442422a52a448eacaec1669a7881041fc00050989913869e3eb9933debbf02c3afcb94b295df235c3932563ea10699cce070c8d33838fa0ce07ff51185664bf109c4efc42eca9fb1c66c2b639c97dea4c4a99f1c9043521d84bf930ec4f9f61dbc43ec33eaa54984627cd4cd8c73f75ce6b61cfd7aa4891aaaa329728692ebe6a8909c1882f4618e1dbd372fd6bd3bf9ce7b0d6a683ac4d3f91198a348e5cb8bde5bac3a19e2a939dca51aeeb8581f4fc6d8852c22995547fc92b3266b748458aba99a4063efae2873adf18590e2b19f6afefea754fb042748e84f093788e9473aa54ff1cc782d707e918045f89940a9f817474582c554d82707516265155512d318bb4c834c04f5a7b00fed75c8c4b33f30d548f1d943dd99c8e2b080c43d5773ac78b8eac002a9a505e4f51ed7629c80aa57ac5661da13a50ed806cdbfdcb7bd307f01c9a9bf272fc2f862783b7b3bbbc4799786d5ad39c479154bb91e5eb5ba2424b3fbc64d8ddc303a30b202005bd17604982942a76f821a6eed1174368095afa020855c258c2140f892ba6480210aaec8bff16b17edd1fef51183098a72981a0258c208090812f92c8428a174853bc24de12108458aa2246f76ef76eeff6eeee54a93a30851630344084d7bbdbbddbbddd6fbbc1e8a955c01e8ec2d040143d6264ac8308fb7731f6c7b72112e1c891c816a439e6dec7fc9a9d991986191aa7631f8dc3475e3431836c6b84a4b45117b91537f2a2970f4383d975d1173191d090d0fed09ec0dfa147e6ce7c12ff63207df833f5317427f53b4faab4c6447bd34242fc42fb5421cc2e2303f332311f63cc1f991f134383eec8d014119d6dce989fdff408cca7e84eea619eb59511146aca3c0cdd41bd4ccca7bed3496d315bf6607efe11989f320fd3ac69ff9e93fa1813333f06f5319cccab589ccc7cd477b2f706d559a0f06f318cf64756bdb7b415555677ea3d57ba07569c4bdaaad6489a91f6d8e6b4f6eb3953f8b597fbe3f4da6736f467af7db60498d977a675f639bcfadbd6deb60af10bb2cad5427be33fc3c43cc27254fb4faaaf3d4fdbcf9d9f8279d4c74ea552cf23c3f342d9883f3ecc46e4364dd9ca4bb9302f303fe9d4d67350313c345e8622999fa23c2f3fe9749b38f3f19f3627cccbd019ca33e3cf8d81d867a25e9e072686f2c8fccb3f6d6524f5f391a47ec63c0f2ae65f62605ee63bf6612098951199473d129947cd4f3d0fea65b81a1f49ea6328cffc147db789fd4d5eb6984f7d02b685c3ce121ad3bb9404f5533361db9bbe2b6f32156a072840cd20afcd0ba146d20b9276fa76d186b83cff1017bacd9db23f6dd9b7908c9a5c6a17f125b32c292521998af6c61fa33c7439d2a96d2cf15e5fc981d2834e4bbe8f6c61bfb225bfc3aafc4e9b4b8048a3609fb1d4828b2489c0e6a420b0dca380cd89af639fe85101459260bf603c6ce3ae18c46d8ca098dd22c987049fd0d1f1264de090de605faa56b554f9459be0a0830ead93cd8c607aed7474b6aa82d0e96cdb5249ba646f9c88922a493565cf1259fface09bb0fa8c5c8f3d12f926cad32f1fa3f27998f9e77a29b5c72b30d2e8494a132d819bfef111f5b9a0be15141911e9acb7e5ed76e920498028c1e17aefa62a66c73fa91a44e3bc7f1d1020a922adb86d0b06fe6120161a22428334b7ad95fd23a3f029d2dc2749d29cc72130c916699222473ae7a5e5ec23b5984594b8bb6a8be6206c935b22128b7ba458e5a566a8f79e5ce28aaea79d1ea35d7cf959dcb6f836fcc3da294bca448f895aefb56d757d4c4c0c5d5d1fc373fad423d13e86f2b8bcf629ed79507f8a2fb595a8ca35f9e6a3cf4b7bf320b3189d5343db1020f5ef93784e8a97623e6e51604630b37872499d3ee691689fa23ca9d73e26f5dab656f17b4b2b665b455aa4a5aa32390b2f4999a771c6e63051198b139fc6a7feb167a03e199819ccf92fcf2f7f65a9efe1aca13b07f5de35b02ed81f1c7d05f57909eaf30fd4d74ec43eeccd7b5eea7869e6df45344339a9916492ea7b97ad81509a916ec1d016eaa2e6dea7b61edade5b6926f29c56f2f759d2f588b0f79994737a1118a3d960c45eda1f3f9e93faf7bec36b32aa03bd6d97282e1fa4538f9760b6ee612c4fbc6eb3f450df3ff6014b7dffb0a0b66db99c5efbd3bfc7a187fde1c3fe60d69870c5e27b3aade436ef4fdbf39fbd79aaf7efbda4177d2a2c26a44c5557780c0c8a6668ae1b86061c829ffdd1eaa1fd710413b10ecca365968c06e0f3add3779c44ed671930014edf2fa7d4b62df8f2708b1213f3a70d4a0facd6cbfbcc56cc2f699c950cf1f9237d52f9fb57464e3f7f85ad90a01ee6510ff32b8c2239fdfcd3cfe7200c8b6276fca37dbb7ca3fe675bc1d7d1b615a43924605b2e7487a3282dfeb64eefb269dbe9230f8d81c5f161714c382ad81f1737109ba37d93402605b3f1d2446d4ce43647ec4dffb5f1d0de04c1414242e227f19c13e522fec0f2e847320ac1deb0296e4be39aa45b7293959538cbcb8a60294c3c14d3f7205b546081a7ac876f4d819f79b745481825d22f09a46f646f6e8898dd220181458efc50831849b26cb9640cc24030ec11d464e02700a0c2df96470c5ea52664db1ba9d1f036afd767b259ba4bfcf87b039fd947731ec5f42ccf31d18713be29a184130909a9c83cb93c4d799a901269ce83e06076ac232fbca8dd2a313f07b512149f9ee6b847faf4e0d0a439fe4ebea2a2204a92ec8d1f35e7480e8724d91ff1fd195043e338c0d40ad81780300fff1aefdf847db8a6c2529ea3bb5683641c647f68dd049e541a3ff3339fe1d870bcc944b3ad8ce4781cbf92a148723c8e15927f9affa779d656a32186a8ead095c95563fe4935d960f2d67bf339b6090819b230ed4fa5c5ec36f5192fd1df967f8edf56cbd4f81ccf63a3c6e7a0db6a21fd1d1be5f8ed91fc53cab3faff8df24c39b2faa73c373e07dd16d38eb3ec4d7792cd903440a09a61626a2f3efe9efd0bb9b88bcb19ebcf5398b13fb4f7987798777e820a5a7e0c5517d5a7fffc4ef376e9782a93ab6ad9f70c13f394f1d3d86ca0f1ae7a155dc9a07a991fa2a2dbdc0c0d1a2f5fe69f54ec696c588a2ed9767b7b73c3d641173021d1c7dee800698e811ca0a486e6fc6936f66982635bb7e11714b03cfcfdab50a9fe527e30606f1c888966dbd68d6d5b2b5923d2242a28a6e9098d9e3f8fa73f7bdf32ca733dacef016599b37f96398c1974087f83348410c2acfdb232bb1b50e45f0fc5542483d9a6c46dde9bb6256ef31edb9a6cef6dab1d9ef1c38a1146f898797fbcff6b63566d2638d46e46c111849cfdb9bb3b7740802c51d981109cca69d2646ffcb399114cae332398d04f4df68796fde92113863548a2a5a8c46ef55439ea10cd000000001314000020100a0644428140401e13ea7bf80114800a839e427c5a9789d324c9511ca48c01c410000000004404608666661c00c88c11fa26d23e626086e8410b149b80f09467a6f0045da78ee5eaa824e91a2a410b4cd880ea44e9374bec7f4c4525ef3d2df77562306d647b447f8b0e4d16a8b7d3075e81975ed30ffc464952b4cfe1b00ed4e7176ae3ca8bdc0a94e97bfbea354a506661e4ffbff41a657e81361c69c002457a8a4e6fbd95039cc22be621859b064b5fd0306c62c20b3d228d68b7ddf50c38835d1b6c448ce32532dd7e7bc5dae99d32b671f3bf6cb2b50271d8f87453538278052926c4a2fb64b38791d158c0a54731a07d4e3d7b6434f2413bc30105277e4fc40c02a3b80b98299ebd4e1a4cec3b4e03ca38e935b7c9acc0e3546f3ddc7fca3093e1994d040fb20ae1a26a726fbe7d81d9b04c2efe81af0005b2367fe670d8c7f2f791ebcc9d0fd9fe35d4e56fce09cff450b6e8d5bb6c94d0b9943efa1e69c6056bcf682afbc41774890e0cf6cb65aaa8e12e7a79e897b97e7d51b871345ec38efd918407e1a5e02fe46513a0466e7fb8465beda3e030f93c03d33e7abcd2216b14ef89d42433fac0c612c6cea3a31c7948019d5819fe6161058158d326aecc9709d96aad152e6a7326d47d0d02328f78d98dc01a09832e79921d862cbdfa2993b3454087fced4ebaec60ae7d743fe400f52afda557b02cce39bde94713b30b36dd3a7eeacf4b6669c4e86c340091ce0f4431c8200730036cc1598c40b8d487f3e80559316fcba339d9f51393b5f20e4d3a6830e87340a4e982be42c69159c653648cc864ef8c641478d787d879f7a67fff37149174b9e48da20dd9563ff4c6489a4faf9cf51ba0c51199a2d9fec85c790d0eb59c916bee1af6b397cff27f54f898f4bf64a88602d20673ab7b57ff4949dd401482d41056d90368cb3f67eab5d15f3c9a4e9cb65ff64fdcdf0abb351d56953279836711c26a88f2a955bc52018c6402052097398d01d657d8a4431defcc4610023540441e9d7fa432ea7b50debca4819d3daa6392f6f0684b0246d1c09e21938408919378ca733b8838c2a6ea26e352ba9e45e85fe105ad76354e159e2125aa07873313abd8c239f8a46e1fa8b2f8268c3e32ce2de264130d6a3a2da9f3bbd10e287743098d46245c4ea1cccac2ad9d6f487401180a1b3082e47da1b463a14c9893d3148dad81eb1b2c155999a8d80655f7280270a5a778df88f13cc7f7f8a1fa092e3a7a39fa3140906c338b26b5ebb0447210261d2a4f0ee425ee12085375a951cf6d482e9d468e78a5e6716ceea83c79a115f2fe44219be6508d194e14b60edb1d0b1b0316f9014be1ec73af0d5033604c8502eda87cf2336dd2a0e0d54ae955f6682102642da8237aa1acc533a16614fa9638d4ccd2cb6a12ef45cf961375654ac17c66dd3db9e0365ce64c54de3ae49311f63e1ce7c69633f81be349c5b1da11a9645579b4df147a402df4f5a768a0b649f256080665685a5c09c0d909074d41a06c1c840322d648991e39fe4b3645b249e8fe192381955b595c5caf95c392ea7b44d29f344dcd031a94a371b5bba3d3971596285bae8e812a0d6434c01c352bd64e31ec036141b531fa89d462c77e04b3e9e74095c78499461e374e4eb313608438832b0bf68ac8dcd94d240a488d240b391e4cb834ba36134381313588145e807401b6ab0d07354746eb6be204b582328ccccbd9a5449065844e35333bb8c5e1ddf59b32d00e602078f7ae3c763a35012a6a16c760d2a07ec8398f1985f4d97ecad13e583746b21167e39a083c4bc9e097effad8af95580458c1646d65ffde23c9a845f73e407c1cf89d4393c6f435fbdc35022cb12333b8365ced4f7fae2f16eec623d7178183be4851ff7feb702e4b4b1ebbf95566dd9982930a3ed9666b86f2c9715cc8ce13133fc87da54df8453227b11b66f4d50eb04cc0b331c30fea42879ea725096b69abee3e86f8fd3c7ab10f099e84d34f4ff126d9096144e909568ed62fa83f92a64a1d1a585ff9eb1a5566ec3b53b94837d00e2453f1bf1ef8b7665c2c9c69b15aea43fcf3ed078ebb40f10f4e80d8ca5ae9b225302d6ea7bcd38f89c70834c5c5f55ef6947969e19c640ece69992511d09eb7ebf854d4d799e1ade912076e45a91c2e42d1ab42556d12938f93f1e88db8319e2a6342865388f09f600faecf0497d0ed5ed877198e097480b0d8e70332e63ea33ab324c391399bd1f89d5a1373fe0139a80dc34064206fb2a286444cf48c33ca0a1910ad180e800824bdf646c17414e0c1506b58fd5eca7fd2b7f9959d27c741b1a3012d00b8de67efeb40e321d099f40a3233cd8a0b3dcf4d93bad35e21e9cee5da3f52c746e54d73147539bd79297ee8a6f39742fee4a0cc59703c134a233c10009dfa280c82e5db9cc0c17e59bc5117ea38a61a3a8aa14c0d8c41f68f4916de6d72046e0ad08569c6f1d3a5f6075fae7db090c4eae8836a4e28ace8b0780d74f0fafcc675118cb8aa5aa7970a0bdc9b29602e744a5a68ab50148b52be605da5f4095bfd150e71a59aca6ac103f42bb3b9b3868804f70c6704eac32cc4c741d27c450e599ee7a213496c3214362ce8eb4bfcabda5e0d68ae025c67064bce2b9f1608e06a7bc178752638a7afe518308ba7c767ff9f1133f41bf5e33b0ef1fbb2b68c1e933eb2788afe52ed3df7b56d768dbf74a652ada45e7be789a119117d17335c5a42e0d24acb9ae96669c7c439da675281223bf6ec4c9528a91828bbd6946676972ae7b4ce0e8e13a9048ab5fcc76db450ce2876fe3d160012b1e442bca08eaaef9c9c1a8bc847866dce8603b47ad41f79b6950ac814f8075f7ebcd93e2198c0ccbea19da5f777fa2703f61bcd76b2627367a0632c43cfc7cf208f9d73ce69b89b0d6330feeac3c94441c2c4191693a35a36005576939ee5d7b79a709a9b96bd4914ad8bb8e564e444fa046436bd2a183decf08b0b4c7946d25e9996df311efd2e83704f408fd0568c19264933aa14be4493c79f3df554a581890a38304a4ba0bea61549d25bffc8320dcd0c3cdab58ca9da95019bd31dac694456e468d119131d6ae9cf41d7af03c67aeac1760fe42ed837f97508e70f9af28f0db9203c362d720a3ba0df005b1820703cacb66b908404f20e309d8a54710afad0a116604c3617d9a3b90823961e5e9a622aad974b502064aec792a5256989f30343e957a5b23444a6c0c668dcdc429942d7ba15d19e1f36384bcdde1b1b3c70ce4b87aa2ee4c74e1f15603eaa56eee6fb84b3bf83ffe8c04e464b29c1b730e524c6d3dca43ae0bac4f160b32d3283e35685b99367b8d78ebfe0f4d3b68c1900e7dac9cd3c972ce3eff4fb5a12f29a62095dc3920d5f89a31c67fc06bb92d82d019827141557926647f4c8560ae154023dd29954ec880ce641a324495d12c235e610a37de38c14e113c03b942c571bb022882672e74623dc8c08ca79c08f56dcc77ebd9032e8f6ccd6656a666c4175313f0cca5a534e9365406c77e95f917d8cf359ed4a9fc77715d9adbd1b2c11ea1a28e5cc578dd5d1171c6ec0813b37dc110d49719f09358c497b6282f664e55665008d0096bb74f0b3c36970ec6995aae8c04576d61a3516913ed3f9554d9592c804f022c0f2082d3c04312c95928975a41004c9138563ae50bc25d213cda243c3af39bb75af9b654735eff431209df4355f2f46276991d06b3b5fd1a13dc3391b032f93ac8529ae24b44f1879745e7bfd21e92ac8580835d9fc61122a063aa2c55f251c2a4c5738c966f8b452b1788b531d24f5d2393a590f34a4cc69c2d36ac88bf9423e97aaffad3bc3b2ac5e5a9ac4cec160546a39dc4069f88cbfe4bd82d92c8012e5e8659645c12db6d1f05ea887db3d30f757dda5b21da0530d33ae2365505fedd2f2ef0ad6c6079750e902fbbfbc81538e1fa9c5b26e2d5492311876f05ebbeb6d76a2e4dc05c205a2f48e46f4ddf47f3c0036c4401a437227256dee2f58b563a92e8cf240ec83b53794383cfbf2f5124743e9c80a28e385a48d7df145691c5aebb54c8414252be6a3b73c41927e16938baae8b58dc9b9e4e00e21d0d560e74ba1053968dd95acef11d25536f3e65b764608fd728707d500a89004ab155d6c59f7e399d74fa59f87bb91ce06c270e3441d0c4114905c4662bca9ebb64ee0f8265676d62e43c30063bb0abe777c294760cadd9a4acac2a41180e0c5c89bfd27b464d4e62623bc9f87c094342245521119de8fe1e6bd43b114cef76913e31db059e840f6cc3597415b3670d58e90cfe96454832a769f6bc9b0866e34b6fd7b21125a7f3032767600be9b9e7665aa8f92a297f441acc2698a010b95b3a45ba974e9873eaa28c303fb13fca17e61f23d751463cf3c60ecd280d7e02595d64d448d85123a4129d6ebabc8fb05931a3101a015bf3b736c544b9b944a032ba3985660766f8390f05d7d3d2ff56590966e9269810fe93e24e16275c90922a406ccc7367d712063350bc3cd6f7240193d03be1cc781e9d3eed961a376c3b3310feb5f3f6846a2db6316483206cf1089cea20ed36477b8f0525a277a460bd66c775f468b373a65c43cedc2d273a350f6f5389639e3a731f7cc6f2f9efd8ddcec3dd1051d6e81f9f89552cb9d416ddbbe2a76da4d7ef7a4c8f687ab524e098099b38e201c9dfd21d6b701c4bd1c6b8ca538744f0e8470d5cadd247aa41975d80af0e4cb74b6b17e323af7e4d33c266d36880c46aebbccd298e2bf76de7d87903a6847be261b2f1cd867b06e5ce15894ed1ce88a427f6337d127d99eefe02287ba8793b6d379aa8b7c311d1cbf4264c50b8db65a86652f13530f2d52fe50ee00dc3e736cc6ff444e43c786ed91f74e1e8bd461a553737e166fe0a12151b94795ff6ab91d289181d38be3046c694b6d275adfa3f3268746859e808a920c11929954d82eddbe968f39000ffca4d10b7f0e8710422558f48e557706ef030c41535a85f17d61d1c8fa831685364a6142f6f5b6530e0f90caad4b12278d129e2689802c2804e65dc0fd369a9287c6b19231be22fc4bfcf38fa08a943663af7b1a1566a8727273f0be5717a878256b5481e1fd9d86df603cf3710c016b1454b7a34089e65c36a6eb34a52be95d0a8b822eccfcc5aba9227ea49211c51c8c76fe5422da9db77032b9f9ecc7d29e513da1fd2d28de5cf7706ab9a1c97bd28c5150b08a8d3fe2527475a5be5efb6bb996fdd82d8af79e0ce51e57c40cad7e949d205926e08099e52380d215008448f72284022a439b3d1efc0badfb1a027abfed603ee1a91b5ee72e32450254befd972913bfcb03ba5476229db8bf67faa0cdb739d9688909519844c6143b34f4887815e629266612b1a52f0962511e2c4ad8eb3b3ea724fba3577686edf29198f86558bf269949cac2ed29ea1a3f0aefe6b3797054687fa102f7c4d369ee393f9cae6c7b3393199e602a80cd1895138a0d4daa7e38aab555533df2331d0ac6ad567e24107ff3db9cdf55696824e3d031a7c2f3a5c5bded08303b040dd1cd5eea30f740420f73e09113189314d1a255a83d81457454b405b896f79ae32593258e5a29568f1eff999711e4e913af81fdaa00013500f6538ad71dbe2af53c70d688f1ca438520ca5dea985f99a942cd7e3ebb6e6877cd9cb52cb1e238e459a31b96a02588e6b74006fb04afb5c5a0268696b21ff3763ae2632e5c4b3dd6959d89b24a2507111555d533837cb3988cf7540dad6c7f91b46d2d944defcee70692164acb65e04601689fe08593e59fd8fb8d6f37a11405d592d95235a758641ed90efb62052513301baf651935b6c36537064a552591c8dcd2d08da2988108f30bf0f07e560d5b57d873ad82d1f85b3baa32e0ca007a1a532192f58450f1b54b55b412892806cb3d04a4a1dbe3159a0d93c892e212f2aabe2d6828382792ae3ca76d046ae8f8c58fe2b26a21a995660da6a35f418031ccece4923264aefe3fe97c9be66631608c27ff82c60ae5eb6de1466614da98c0604b742e11abc6c5b67410dee9e9054debd32b0151b0d91db84c5e4d97f84f50785ff264603c96abbe9d4f85e5db24d1208b03ac83e0a30f02734f47e90a736280c715be7e72a85217484e1ef983f0eaa30fd38a0dfd353323f145f5e5fe26a33a0421f2b2b5a554dff2653e934842e3dd382e3332936a6b11b90b4f670e4ad908a6c6f68f031a8ea01650e99f713621a7a0c17b49432480b23c7e7c226232246b67a91194258eec69543a17b6b069d332d735026fb16bbbd30b757c90cfa71868c5dd478f58b6983547b3a118eeb976b454bf2421a4980239167fbfd32134f119bf7440c09142426d3bee86aea2ce211b10f6fe332cf1b581c087e9358db8d0f231594cff49b6175a3793c0811506a22f8959903a3c3e4a86b8950611a1b1e8e0a6e0c011289151392632384d281763632cec435534308f2e077b745e87457b422828aa54786fbba5fb9e0d2a0150f4c89dc4e3edcf052565b2ae43a7e37fd8ceba69a24148fc87cbc9c287d2e1fdf5f9126d2bdcd6cab9d2941e5abe1c5f567d3d0e4f8b390f7028ba22163a49437e3a655f32ebaaffacfc2f246b4657f70189af0b1f84cf821ee22a98990c962876fb0f9b1129c83ea9ef3b834433e9bea113df5af94b5255fcce97c0a5cccc0f5119b007dd480efffb922e4a7a49930822ff0694dd56816eb4fffc6bca887dffb42037b87bcc521f0e0285d3a3214d32dd0c770d028280815591e21653b556480a48f950d9e5f67d6fbad190bf859c374063472c91c76335edee391e6819489330c5e8ddeed5d68fb8a99c2c12180eb0c20cbe71a68526fb526e40d48347c8a1d016198c6b9838dbd64957aca0c9344b1c838daa0ab12b0be6917c3bcaa2656bd5444978a9e677ac3563e7d4fd8630e20c86789d7308fba08c9102325edfca06bb8e3832f99818708919b69e0fd43a0e85757b93fce9405f02566cb38b080c58fe4ff2e4a0bb1e6fc10f1f44a25d74ceee040fefb7e28767152d5d28f239597300f300813ab9a6743e788ff54736e89d9be4e235bca8254388e8ddfe2292849cd6dead217b6559f1ae180da19e9fd30369f6126464be1279fc078599fa7e2b1585c00594349c02106eacafe342d3e4f721181c46825225d9733038cc99163896d4b8e863f7170483a1f7cfa93513a35f63f686381800d6f6bd87ca5191b9aaa3f05524f8471589396cf1e3227cab521e205dc6e3779b38e3650777a2b13c7395dd3a1e5f0800e3191f0348c2101ad9cfcfb3934bdd77f1a24da7b3e3f143414e77707631da8398669ff6b4dd80bb625aedd21c3355fdbda76af7bf20167b1d5fd6eabf677dd148093a0b779196ea5ce22985f0d4afcdd74bfd68cfbd9654f89c64b34e12c0496c6cebc6b14291203a75e5f4fe910295b97913fb81052097e3600ab9200439ecbdc2514576f5fac1bf15604738daa6c466a34902390519a11824de6a1ad53ca46ddae4ceaede2d83f89dc04fbfba755b1d7cc8099010fe8225877e04868993cb772747103f1930721290cd9f74b46e70d1c90f04adc038659a26fb3aaaa342d794526e21d74aa9cee6de3416517f92b776d8cbec826d3c918227150f4f8ef5c4311533fc39644974ab267ce6b884b0d4b220c20e88fe646f6365953d008a8fce513935960919601747dba70c303a0dc52d5c26f48be09510f2add45310982fe748410435bc0f7d02c5b933cae5abbd53973a2d00472204e0560bf421ec642b89330b2f8aa40d3322b6083ff55445a02c48c3f5fa6d9e044a6e2aff87de25327f834f043533b09fe149ce1f44cfe0e9f957f5986e2c6786739f5dd7f0f115572bff051f834662c5e56feb619c02ee27366154e2d422ba4731089fb565094bd2fe04b279976d78fbdadfed8d283893f4d0f49e4d2e31f799046bdf02985a1aefb582498c1ab9ff90681ebf0826bb81bcdc45f75c64bb31991e4a34e38fcbc8dd341e8c6e24986f73624a7d4f3091ea47bba6ecc600ed4f251107795d643f6a278ad707931932c6aba568bdecfda4baf022c0bc7b0d4193490bcc879a6945b17d5d7afa1c15646407e3aa572a3d8c785df6b5a172917d96a881c3dd7812c72d68ec7cab5bf8b392927907f03d2262c11fbabf78b1957b3cdeacd34e96ae40f4164c8f68b5464444378712f26ecd93164b1ef60ca7546a869dfc5ef5933f44789ea8516f1cb696c0233833f7a9578e648c049856fa6cd5d72b1a176cc694f77be7115926616cb9fce50398cc775125b66c16ce2652c6e1d0c5a62fa430d268a327474612f0538b14143ade75a6979e76a72fa69f23bae38db44221e9e3d9809be15437364f3c6ac27a44eeebda6b9c0175b601c99e830ff9ae5732556e079848010ad55ad2296b90b40b80c3ed18d21f8d5452ea5b4760e5140992f03b83fd3290c2518d9ec60b2985f938e60a0937801e9cc800f3ff1c79fb848288053d198f68829f12281f353091c89c07213bbe860e450f2c923c4058876665acd31de6e2e119f79f610ce965eb7c5f047bed78dc75039e2cd31273d5d6b2211f056cd5d1a823fe4b63bd50071bb350e6400f91d36de4cd8accc68e47e4dfe98671990d9e99e5c8f8c14714beea59f06bb45d8129f053a0b60afaf5f6f7f5b96f058fbcd2270f6c9d3ebea845294ceebd24a1f6b1b7446ad9412368f302e6f234c641833bdf73c943a943753fa516e3f34b2f7a2b348fd0691249edbc2f33f4828777d3fb921fb7d3c82246c1a19638078cf1a0b85f1219ad3cdc11c36431c44f270da7582c5745bb43928de7c7413081e916e61ae62798e48e0a324f9670b5cd69e5168821fb51ea7f95503ee7d2dabe4f08910e1189831310ba0896c463de0abc541807fe4ca39a9a55fa3ee314b9dc0b3e475fc0c6754651f699404d627cc92823bdf1a50e55c69efd7e64608cea4de0419d574be5befe949722f596215f6853ac47d4bf3556eaf18d965981656d6ad28b930c4e08d5b48984ac74868f9a1f967e6d7766f38a3ab7e5f55a91fa564afddfd73af2d7d03156cf5ddab3cc21d2f49cfd4d1bd9cbd158dc84c525abc62323b40f1f9bbe32ebdc9b958b0f2d161d8b5ef4e542c8871edfc19ed4bdf04cc2ffd6ad43b559193462055354ed9b4aa8505b725a9f61a7ae1dfa79f4e41753bec981dd7520e7c3b5955929b94264003201ee6d2a80afaf23d2be0bfcc32b7b33544f2b1306fea8cf7209e0846d0d34fb9e4c5d3e3ec4a28cc650f0319154a83544e1291543651d279f3cc47d9757e345dfd256d36ee69045f303041894f2724636123a500c6a7738ddcdc4b19cb571a2d57aa86b9563b00d82e0a93dbafd5059a0a46d112845dafc6c72ad0d6e2dd713e57e1aaad1a0c7a3da635383e495c106d587d0ddbf95e2a5ef4327ea96f3d35af5446bfd9b1762fcab71aa3ab8820881f42033a8b2ce57fe840984211e36ac73ac64e216f980975de40a20dc0bcb42a27e6b12cd9d29a979314d20ea272cb569156497ee69b86f33ad54bcb3e9ad6312af3185565fea355a12e575b75302b941f511216ab328dcbea1d7b0d5d339affcb7f904d9d15296c849a3916f8ca00d29d22831590d537d800e1d9902be45a3e49c03bb43566a7701c6da2d9784530f3e5abc136f6ea79622d949fc8c38628aca6df48fb68c26b0e09edbeeccf800ae2a80e214e81bde0994dfe81f384119cbf0694bf80f0d8de1da77ccbb8a382bebd76de23ba0d792b89b603524f60924d04f54681e491508584435a1d8a9b59a50cd41d367c932f715fee79da07c251769ffaead9c33ce9dc7defddc4660c64a26287aa344cf20e86e79f40f7a2b4495112068c1c393e0e8920f430dff388c60f25e6c18e8fa25abda3dd644850841030d57b916445482cec8bd18f5e98138006187eb535790272acaad9c70a7854183cae920af462430fc962b4ba71e3dad28e70404718f96388fdcba79dc3943070245739aadfc1a7fe0f2d5e2fa11cf896afaa0a41cedc4ca67a32d94cad1ecc76df19eca4be456d77f828675c21a0a03e336d84961e95f4301abe24f310132a11c90e4d343e670897d5c3d78f806bb35101b6296640c7b05a240a63651908f7c97c86c986752c8da300c8d75b081631ee4a2c9baa556d0357a66451c7f59daf3bc208a38dc67745282c5a8918dbba35cf75c20f62282073ae61e3971424f85cd1dcb5f99a1bf2a5e8bbe51620e02fc7ddf75985f3b74285a8a67946e3083c5b8acb7cf2ae032110e4a42fdfb4a4f431a1eb071a653ace208d2c722ed86d72797f46dc6233bc9d606df2807d672fc0b2a02f1e06b21b2b9109121c43f63355415dc1802365c30eae7a58d9ddcca35be603952d11ea6731b4897b2b6567e53a827edb1b5fcb2c2c4288c7852198d57bcfdfa1219fee752d3dde3a8cadcc64e8b39e99a2f4146dfbefef472f7c4d94b3d0d3514441dd8045d33c3819f643b90e486af4321ea82abef40340895c8a5158d6a79b308f472f5995720f828f822b50732aadf6fef73833445c638ef67d222970a9b2334ac8b3398033c8f2a5f0a3a6a656020300ee8fbffc6c51c820e0c0507b52234db3a9a713a65fd529fe40c4bc4dea0937a3a54a473b924bdbe71898d3d277e3212699aa1e32bf08e60264e70422faa72dab5806d9d5d64b8a1053b0012fde08438aefae8bc8efffc870e1114f0e56d26992ce3929867d0fa4e0129db63a86b3bc8cbfb84efc51c42b575f0bd1eae9650d90c75ae2202a8f5d2e003a217ddfa2a857bbb9aca1cb1f224667765d4af5aed986523b87b52858f0042c5b55ea788867ca8f5deb422a5301054ab3b9eb4ea2505e9d32030d9c3b8f1b45e68b47c124d0e8366b9dddd81bcaede2ffe7a9c4f57c2ccf815e4e83ba5828d0f15a409da0e49b82f194c58e9e544f9f315a5850e1bd5fde1ffd01997679d52286fcac2a05df58e337a8fdc162441f1b3ad01b81a8a2128e4fc12a03ce2a43112bc698e1470f62221fe1c63da77a471c79b0ff63296af6f24387ef6ee546db925c0dfe85a2d4de7efcaaf8c15fe77f8e692b48808a1ceacf89949c24d69b02d24ace238987a9edd21295020ab2a3fcb08fc9490e3a237389a1546bbacc3df797e94cac3477eb831b461f457c58e5a029b0a78fe4ad208e36018929c25082f1ea0b1d3ee9e018a32cc37d5881915483fa3f89d3ae79228749c72d9c37846ab8604896425c08c3c4d3ec21ed02c4e8e54fb8f188c8b4318fdafa835b7e2d0b566bd8a046d780991be79b71826e08cf64596a70eb42f8d82cb0511fc9262316c0c51340f3e944cbaac6c452a09fe8586c738bc2da2f1bc5481d8248c2a98da00d596019aa480c80af2a81529d65ed88a390a2bde6781fef822bc0ea6833cdd1590dc5fa99c005a18c6f95c01ea21c7e4fe2d9828d4a7099a3bc5ccc32ed504995cb27c66ca5235b20983daf1147c0673266819b2b7ba8cc0491a7471a07d956054ff1559ffd8f69a60664e95f543eea563ca03ee56a5844bf01fdd71f340944b00ffbf7054f9b60f14b8df1ae6f7016b0e1909f63d9f6a065dcc0754701037914c06c55eef541ab53eaee76fc183a16d55474b7900dbf6998509b99d66c00cb8b2f6a42c76a40979ca547b80216cca95237071f90b0ddd1b34450a93cc6bb8cb8da8008a4093a0652bf61e44aeef35dc25d1c97e7d62ab1b3eb86799e1ef22cb2f52f6bf5e28357e00a084f281f3fccdf906f3b80360396b3d23079c6a2816e180972e3daaf81b61007c6b959a413a397c1ee62a151277d9ab34f0b64d4a84670c99d31aacb7013db5c88a62e9620bfc49655750c45ec70fce4b8487dc4552c906c078df95287e02c85715d349cdac5f19e24dd07308e234546019320c6de2e0c2a981e312d9f060e465a852cefafa8c3d5482962695d0855dabb07697baa4c6d2335547296ad323231ca304e62ea46af31446400217c2d7d628fa5d2f3a0461ac0fd66fb042aae462e72af8b462679a218f860a9e2563eac676d5468fd04694b23f0c8302b97a0e0512e34ec08b758eac6bf58f7b91d8887611dafbd05a0270ce9d035b8bc8fd71d1345037c978afa3dcda89ae40ff502009809115b000b76eea79e20815eb5e663bb810a20bcbd27443059467d3f9c1aabd3ab9a051323ead5c8c6012b6513c86516edbf9ad263fac7d4db97083a6f4c4e89539b12394856efc74e8d99b63a0cb2d840e71100382a4ff92f6d4ade127438e1683ff4d0540789e164cfe30f4c55218db1f4c9ffc67070fff5b57da9f85ec43a47aff493d6f8e3dcce223cabca0c0c49c226aa3d22069d83aa98bf72c2b9dd30756992ff40098371b44a75dad8329f6f0f3acd7af2f4c087c6ed833e35ae03bf9473bb9daf8223d11c6c2f7137a66a630ce8c29260cccdc614fa23b074303be875a68c15477ebb99cf92aacc69a67ceebfc3f456b554bb40341e6a3a8547ee05d62cf6371e6702d1d8ca583e8354acb140c8e8d6751d0c365ae2e3fa5157ff7e1f2d3a8adb7230fa46e0dcab6b7f22bf6ccbe771e72645803ae1e9fbb650d661415d5aec82ea00eb19d6e478cb656012bb2d8b34e0e60db03073a065bec190ed9a2de2511e239f91e300bb8f46b5dbb7b9e90909cd21ba48dc7611ea1c8daf95919de96b484a068de09605766844e184a8b96026444c693a3289888f8c801879463a2acb1016c03ec547d6fb94c707cfd09e9ce9a0ebd3e69e0bb114bcade9588a189dea8c16f83a5495846b4552ab74f9797774454b5491f5038cb9ddace84b911352389aef30a6080839763948a163d3bb01a764a24521be2d689a6ac6fc4815801f92e8fff4a996103e91c79f4e81d9d6b6855fe1e2c4974eadfd44dafc281aa1265c5c00d20632abfcf9b13dbcd5a27816895b6f6c82e683683dbbbec601ce9ed94cc845a8483a4d9c7183e9f4fd0879c99e4eceb3bcc27622f364d1358d9e15a531cbdd8841ac2b11f7325f5f07f2818a54eff61eb0e44e8b21fc48bdb6a821de49e7aa4c776b09e522349ba30012329d510927ba5a29ad50a8e01f58fcd97cb82a31ad97da9c1ce62e2d02f5c200a3462608e21ef81d23bc371e330869e802acd097925614cb827aca1895b0f46adb55155a0867abf1e2405d6496d9a65e0e3993a388b7d6bd1610a11e1b361a96a8f4149400a9e5aa5bcc7a5affd79857391401a04d99cc4f68a9eff4ff6a8f62f1d863fdf2a497bfac027f0a7729cb09a51740ad12905b708a8764548ef53097cbf21069c989b1e2bbc1cef89253ac607957501ea5aab04e9d058a814a5239d9d9c68f34b61c97dcb504601bc5ac1326f8b96dc3d6c77d1c4e806f5e060a8f1eff4affd23d4ca49cf6f2a12100bfcce4d8d3a6877b77c29d043913858a4d3af76c83dfb3353f3e3f66361fed86c86e7ae9b483c9f84db390d002485cbcd8d9f76097568882b52fd39d8748a18302a4bee40074bc87c80d10aea4b759676cf45caa44562c6f17850298d84200b726a5a1aaf7309908107e917b9a4327ec992e26af2e19034898dd968d855812f41469bea043f4eed7fdbb0e1173ea43f2ffd3b885e9ec49dc0f6e8f71171c2499d38c7c40c8b7d1c6bfcefeb0ec4b41153091c2c884642fa38455978383b77f9f032362c6dcc59c17349844f98261801360099a5f6ef88cf550dddd23f4de4f2bec938539c27530c4a5c94e85af88a7cc19bdda3879859809c8d7f83063915117e7225e85cebb2ae8aba6154deb7e7c2d2526a5841a00da1136ea7bd71c75f2711c9db5519e532e7e20ecfc9bf457c2e59c55e56780813ae65066ce1020715dbd684478c4e08a1f2f3c53e3e8c8d709ae34c746af8f9067918a4280234242621780a60cb37b08de566932673c6d99fa0faf78d15591ce641b4c9ef7c568034513927bb8020704d385e32f4d463b6a5f03739b4bdad76858c3fc936bfbf4b106360dc7282eba5287db03b03d1c7fde377c9d8d590303042958878ca86d3d6996e8134887dd6c85c451346cd9db96b5fc469b4a70c6fac2cb52d9eae1d863b4324682408fa48491c79566dea61eac528950c0e0525d9e70e3d19493dbd51601ec2bc5ecd9490bec00227c3aad1ef9e7d5bb41b1cde9e7b29c7ae836e49247414adec05865bd5addf98dca2952583a3cb7ef4c23f4b0320baac5c93727f84200f1d457025202dce4295e9863aabb6100ba2521e9662473af3928e931d78b99ea14545c1528353730e26ae9b243f2eef3f4902e3d5ab588bfd4e44783fd6f708125e7a1cf180915d8582606c32f4ad077acbbe037a19d25461f4feea830348111edfe0bbff8be7de2fb80deb3b9c989387033720be203e19a0c653aa1a788c64ceebf235ef52c7a71f956a83e9320351ecf5de392e26555cafcc5cf843f94fcff2205dc61f1c099f789d64f38897b804c3a41895dc0de7e27cc42333f035545f3f525642fb48eb2a9249e0cea14537f6cca02f4cd89443aa1548e4d7212a14ebf528cf1b80c0685fd1475261b5ef0ddc66b6a0886b7e7710bc710b534ffe77fb05e7f4be4d31df117c4c7a4605964d0b2e4852bb0e522c5a74ebde987fd4f295641c12d2837b04ff44d16f09bc6011f982ec9848bfba867a0ed75440334a044ddc9df41a3071e48384f095f78f275149cb94c529b14bc754eed4a8ae00dcda5f7027df03147873ca845e140287eb2b62ddb45a93d83d136faf0e026308a4706c2f79d2d41ae099d33a71b39ae3b0b5a993646bde4771dd8c204b212e93b199f8755917de14c6bd18f25cfea08fc6d8c5aa9241a021dce69525b086e34fdd2b16f685db4c56c730f65d22507e69438d4c3d2455fc525f491168668f989f6f5b3dfa1b64c2506e157be9aef4dc131bcfb5f6cc348cf180204961817138ca606065665d737f059bec7e18abdbce84cffc810f03f6ad90c9c08603efbd6c28bf92ae9c53f9afecb9d065d6171941c7c375e896f62bfebbd190e7102e7a67dc48cb8f86c53c30c4dd83938bb050d272b6bfeb400ea53ce358f00eaf4db1b4897545889419e6bfc469b3958e357992b12d4dbf552e36cdb418ff1e538e3285bf435228c56ab9340559628a5e42ab0658c9be738f98cb0f2767528c54ad13d90f1263e48af144cc3c991af28ec19ec332af390985a4ba9bf303c9549d305e4b9cb6e969a258a6b8834aecd2bf7933d331dc2aeb54b106954697887120d6009db92f0b9ff7919444f8c78d1317859df3d261bf9f99a2423b4a176043ac11a8f7a7e0b73d710894657dc2b437251e7606cf39f0e202d9f067fb7bff7613a84e544698a78fdf27d89568ff527a4ea0897264de07eabeaaac4cc7429ec59eb75c68312fbfba19bd6f43593dd3d059987b2000c136b91af836a1bf7a6bb771fd202f3cf850a5bacd70ef58f3bbac0c4a8be95689a598d07fe5f8a15b33154cc64714e852ae0ba46ba9261cacdceba43437a85be92019b3ca5cfb31453c7f28fccfbd192116f62d2f467bc2c54ed1bf1fb50f15af7b9df88ceae4922d4f3b34b057936aef387ee820d358a923427c176544fd5af74fcb327c62d489c77ac9283d0ca12bdb18914f36715fd9e774cd18a7f5f7852c4e8c1faaaa7e4b32a673ea9258635a1996eb9a735d7f53b59c55bfc3fc5505546e71b5a0ef09e86886668f6eb2d2b3dd5ec32a3c0cf013e40db00ec1b1a03cd2a687510549c78b62a7eaf455d8c4b49fc93c257b79e1634b78317f7f6684019222abc669ca8d2dddf9538d52f693e1ea5ecaad2ca72c0a2a3f07d8881e13ca6c3ccb68fda7806426e5369558a944c8b543e4846f37811c10abb072caa8f82cdc96476b294ecb6264f90e48ac19f935ed5dd0aee94712b3d2a53f16313bf54b2878bf24c4c85bf981d601244e90ef331520e5e78c00a60cd4bb945ad26c7bbfc36ff0a94e4fec1bc94bea91f806207bbe7825b3ffab630ac63362f47ec7ab0c0b56c19b60ae94bfce4c4a6f1c342c9ed33ea615952409ad9264457c58fbbb6ab82cee1d99701dde0bc1a5e8f0c42dcee08ecf7cfa57e492564508381b9b2e6252dee7c71cd211037ba000f1c031a0e969e82c0fbcbb4c0928961a8850093a0c679b60cfd9661512f21f671beedf4e80df6c534f6852dd44cf8a30795012fdf23e785c52f847bfc0375266a639c9f11c12ffc05305f0cb40719353f56d1855706c5d08661e6ea472be573c46b8fa3d5c22d6d0bb798bba52d45b47c89e244cea27bdad2b6b6ed38f4c511fd23f863cb07dbe4e8d7995e56592b2e5c39385387a4001163125404d5f82edca6e5ed9e276ab51fbce8ef9a5d884c3d16e8083cb10f6ac9e858562eebdfb338cf6351383c998a03da86f9973bd1108abca9a8079896b8355e61985e0906d8c52571a87009ebeb7b49a784a6e923ce451cb96f0be1b2b3f607837f1655be7a38d3638719e37ec7a79b79b2a20782246709108fe4ee37f0f18d08b3d6c0500d8a10801520ee26f50c426193b92259982d3fe5350fb59e01f4fc5d5a56f4522d0c8f730be416c10c408f6d016838c5c9b94c1cbde4f16d104cc0aecad641411c2078f6ebdfa933857a5b0c0800e3c3524a127addda874535b1328cf8571bbcd58293447d04aefe23ccaf725cad9a085cd810d8101df0a36c881676daca070d8f4a1af5aa5bff5749bd8e84e758f37da7cbc046e44eb237e03b4477f6831bcb0b85995f0a13f0eb6738d4e5c97911a95d21a388172219857d21c635f1bbf5f1a60db46487c56149c4d11f018732e9eb82ee49d0f1e4ce74c656979ca60565bbb25eb3fa510ef74b54381469ce88ab1d24d83208e6b594d96f5507cc6ca88fdcddab836fd650144b47535794e7a1f16181c3812d5788c653993c42ad4d2bef8a20451d82b3b355d9e195aac7369b2b0003ad950483f681f66c171b1976d7e4b55c50a19614f1497c7fa62b0a5435a6c6cc3d74a0b1f9381ceb15a876903e64570903e7577e9ac3db4c330147e2dd2b4a76c19416713317493df251f5b13c619893f9ab36d98d5e0cab49309c437a0cebc2b3f465e769237947f359a73825a8d975860892556e7c0e94ddf4bec0b1775842871fcfabbd4d2c9dafe9f55c347d1be3cd21657bb96a9351896d85f5f875fe0da792be795d030b42748ecb911ab59e7a320a35190df545375642908e41968f5bd900358562c956798fd93a5ffc1808a873f556e29fb0f5dca9dd6e12a9f680bd41769bf64defe68a0d9aac99f78398c173e63ace9b615699019edc445af90642ca1aab4b85cac364d11fdf78d5eddc7b116c3c5b8a77ed3509597735d03d55850d2a0cf6277eab9b0757ee8bfedb37065e41ab10c0390d0e79cc79744abf0d3bd8d818cd803ff972cfbd26089e5dd89f108955a7782961058f53e43315fc3ef99cb613bec689a64c4a0c964ab87bf294f08368efb3fafe1d9074e5f351094d104b712d59b31337ded05e45b08a5ab6e91cb97328d5c4e9b24454387e65288be130b2cc2b0adadf0db3a8a5d32aa84003554a10619baade84c268771be235d1355cf6ab512020158dd77250fc7101d6fd251524e4b14074386251476030c5203e91669588e671249ae173513d4731c5968f3747be2801a50afed6057c21c2932dc40b6408843f91264e4d77f4466fa86389a526c93e137bff7bb839b372ee4fd33628279290e7d90768ee3beb237cc99a2946e495d43080df8a84fe88dc942fb58b1c3f519b303ed47727c19c9d9081ef4fa2280ec11068537a4966b58545362c039c74bfc582d5e55eb52dc9620a725cbb7037c96f2203cdd17dbb7e96d9a99466ef4b63333bc916b8f345b65645030b96fc88c5acbc0123a19b86eb436bfc006a24043bdf854571347216763d0c953377e73a16934ae55e474404992316cd81d00e58d58bdf45ccb3f305581379505839da79c1036fb8ce8b149d40623e4d12abdc6f4d634babef517918b8f5e50eebff5c7b95448c3b77bf7081eb0a798c1438e0c14595d8ef2304646483c8cd6f178f0a6bae59dd137992d1bb00260b543be61647ec672f83ed21a569519fa8a3128973a9dcfd1bd5757b890d25810169b51e22331739e085a0ac138c92e2552cf30d2a81faa78f00cf63016268987d4ffe016e27d1b7f98afca626e09fd6a17d8a8ae41d41d931556837ac1640802d7e0c946ea2d06a78992e43dacfd827a264e550c66aabd74525e63fa2dbaf797c2487db20a76d1d5b1b2384134da0aca93777831652da0c73751623711a9f8a2099104b2df78fb6a28ee4066f080424e8b5672da6ccb7f1dd9deb394251d8bc182d855d9798d300fe84f76522b00130eb3c79395ca85b4710b0760fe43dc2c55805afa4a3222312d6d27529bc086c1d8ca01c169f24028015142a16b4be4c26946dccd5a21d65e31f6db243ffc74e0832eee12338f13c4cb0e77d96ba8dc06dc6d8ec85694484dc3a0813656a859191e5a8112fd5ff77b22080e08975253f83193353664e4bf5cb4dc78b3124d2bf903a6863e496815263550f7ad405b04d6d8dbca0737b18cb5b3d87e7e673672e4f4122f4b57d4bd063ebd8a19bbd00953f0cc1ccebb49dfb42ffc557948256e15880d46193251dcdaa5cc7198478bea7604ed1838d4d7df5ad16a4d3ef8dbf4c881051bdf8fb448031574301e0533b3133c31e771a15facf1b06d5e3b34d25b8db638702d168c68e59be8404163819197f38b15d9865395bcb32f1c449d04c94dd850e6fd86c2146157f5bdacdce518a439eaf9e56cf9cd15d9f83b7fce7b5f185f47f469b47345080ce31d9e09e45a2535605ea5b24665fc26f50a44e997d588e912b644b21e72007f4b49416fb159c6397b86454e0e556bc95689ad35e634bfc1f87cb840c6416a86425ec7cc8a5ae9f2ec727b7eabc8820bcbf045dca647becfc6d2d9f7d32c78a96a3c43dbd4d0a6e876ecc1f9dc9f0f4a3d322d7a1120e54287f8dab67710308948c5e878fe5a9536a947f999aff75cdc608aa4faf82159f42853c8bb0f87ef3aacaa57a792f30965b5498a960ad4ec46e940aed18f343ae7852f77f00f02220a89f39cf5bd6bc741fd11a98f275ca93f2263a19312f6f18fae666fe2d6a4d903c2ee6429996d1ac07328f0b72c90d6ffedf689dd3bf6f921f60712d01eedcc1987a31699d06d2ba3f9649f8dc8ff5a6050993e9af9423d8d324859de2c08c44a6603dd96b2b1d7495810fee6b61756ab5febe15b35c50a7985a1e9f3204dc7edba8a6af74c90cd4ee0110a37d557f2794a2d8eac3139de959a5c7a19f9ae9fe7dde0e8b63895f758d5b0d8d2dc188ec9f27b1445d0b9345d10b16c7674f3110e3dcea9be9e638de8ace42b0d2ebc76a145548b685cce098d08d728e2b7507048bedf2520c42d50580787935a451ca710c72fe16aef23bd949b8c58c110ac1a1704799d1a13ce63bb74496f3bc0902b77947926057036b5727af1e004204d704e79683393a9a1f4634b46f05770f707239f867dd9593aaf495f30ee3be518f5654d07c221fc3685ee202c90d224bbe3dc1231b2e555ab7bae5a904768667b9fc605474d2a85b26929c0460fe22e61797fc5239f2eee3265e272e75e8b2ea0b0b93c195989f7ba653035a7afab209ef100388347d2cc09fcbaed8441ed5c15bab310ddf7b541699fb146a8ccc325e80a1f0a0a146558b51d720e8b06595bb5847b51ef4e999e645aa5dd7fca178b820609273520b97d856b27453eba2656f8d6467bbc6998548ca9d1e5c5856d21d3662925a997167665f3a9cfdc4d1575fac23e1545952727f6d8c7e3ae2679e9c59e289fa3a2fc283a7cdc52b4570ef9a0cc4d214c3cf6e4f430bf48d4b50aa482f3b7d5e4e9fdae8a49ce58efc479498a0b85d3541e44abb9ba5862f48406737d45944248f59e40b8a642a303de06c5a3d661a8d78b3ce495b90c78d15de7827aa7caa8a8e2963c4d01e91a01552920092111c61422484e34bd9b5a7929b689625ba1d02707ce3775a08d6e7a9237315cf756aafe187396be294670f68ac1f3f221f33746d885ffe2b578b58ca6084b796917527514ca2206301d1f9b8585721661a65025797dadcc6af8cea86ea6a15cff4187a6d9fc3d77c943fe80d66ad9165f0e157080f1cc7ca209a96cb697443fdc45a841eb4ae0786815a29cce2b46f4076ee95de28cd17f3d46f84eefda2ce83f12a3f13eed527f582fd45f1ce28185652230aff693e9ac3ae32589d20d64ffd85b8cd561f235b39f50220965dfc066ae4d1720c70def34e35a9169c354c3d3b2b0c03c9fed8e29c832e7bfdbea1f5143123aa07c469ddb7593834f7254a20d6182714fb583695c8a0a84726a38c00034c27d468c74a554c1fd74b69b6f91dc842893a6fa2abeb8ee93e5c97239f5a5c2dcdef870fb573709461f1b846e6bc7e740bb47c494431d9e68af6a8103bab6cdd4c2350b454c9141761acee160beacc03dcd4aeefd1dc554c6aa2e9275840cc6c0a933edcc0bd26514a2a608ca06d353350ef32e35143761e223d182bd1a0a61dfeae94454317327a19a1c92aa04755d57b3330c63b2a0b3681e0e4351307c6e2ab1d5bf4716f804aa3912f461737f40184418393bcd739e6f986d6149e37083fd1ba7a5d2dfd8d61e73a2235b6c6666457ecdfa2080141ebf15592e7bdb478c8d7d8bfc991d7ebf8bb02d6b0d83b5a8b3bfec0b7e311a7f3b294cd79aa5dd62aa580fa48d112a8b76d39ceaa6d0271075c64c02461a4968421401995eb0596c5ae7e335fbd763d51df8fd44060c8d67605827c4114e861c0f2a0d81ec4937ecb7e905810eaac94f9675a873855deb48b35a48fc254a6d9ecaad128edb82689d1ad9ff66764ba150fe64a62739452c8677ff39ad38b828a75168417c5db297289db445c38541ce7b5e4d31e72049642ad043f902655d9815f81be2ccf573c3bd4d48bbc7e8fb91c60c3c4f50014d5c085c99d82031625396b341e2ed408c5c1f2f58e6bac28e474fca0db239e1a863b6b6e31712e3d98ad135005e229db009c26245de7d2aaf3a123cbf7e6f40222740de3841b3260e910e987c33d7de8768523397333f9de7c9617c51a6d476c188f65b7cfe8cbd0cd82bd5464084787fb9445670fd76569dea0e6233c75a96af6a65d54ceaff65fe88e9cafa7e2fb70c53bcec924a73d3b4b42a6a907e4ef125af19f4e6210278f00b1c5bea02f7ce76afe344ddc7d686839b2b3b44b88d98f086306e37ffd0542058e0409eed827c681fdf56ab84056d486525364f13bcc0711c826e00a2d384e06b80ada4a0de097aa24836574ea97be388651fa644d0e8fc614723da4d1f00bc386b540e15c598a9bd7c0c8f713e12c2c3435c4711b0cb5ac3726f977595266410fa3735c67e0592ee2a6bbb969fda066419cc15ca2e65d8e31a4147c3d02c7fd8620798f57168238a35f8762bc548315541c53ffbe56fa67175c5888e07b4d8d132fcba78c5761b661c9439cd36c640aef39931ede61f49e3d1d3e0c11fd978eafdaa01c7b11338a40f4dc47428e0248516f2a15c31f8660d29581842e311d4bc3dc21eaf882f2693421e51de3b3da14dd28bc5dd726cacd5c6dd82f298e431e323ccc65c5b01dae49abd877c2190ee3da2df59149d188016f294e9cf4875308d7aa71550c81719ad88715fd420a908fa5028654066b4740b210667040ea0e7374aa9c56d8904d12f5dd05ccd34f00d71d807b997f6ae402a0505657437e89f9a42341d028f00408e44ac39f023b2447a31bbb6815b2c0ce7643afe44c474a2d576549bbb0580ce9815236ddad6d4527ad57a3e3944002482e0949fcb1ab1d459351e489d6ab583da0a7f9eadc1aa70e7c9a599c5b23d33ca4ce6c41b0eb59d1661a571289eb0d2f633fb884183d167e877878a8f406152955ab62d484a3cb22521c494eb1c95007ac4dc0b96030ab24acf03bdbe9efa041f209393d9a2cc31c02c36b36d8f4a7f6e3fcd3636b1b50f542b4623e0b14bc6a2d5ae353dce59908b832fa2c0d19f653d9493a385167324c734490bbc4ca8fd39a250f47f66f16fdce4127327e528ef4e964418f264831979c9813b78b531781d7da2b87c576b2a76d068d78f207fed57f785bff6a3c0eb10a66118b01723bb83a32b4c8aed0afd8a2db3c37b8488d983d9e8a5c68abb2b30a2c7f5738ad2da69006a4de43037551a86643b552136356809f939ef657b47f3d343ac7b1d4725cd94662a65bc3391f3fb43405059f9c8aedd1e823e16a08bfb7d7402919a23cb29ffbe7b8b2c5c2a20cf9907180ef9652eafb940a22113c1b9e58d2c257801bf82e26773de49a8913e9c0d2ad22c84f62b346fe70a3e2f057c337d12a060334eb1fd32402cde9b17fb322a5563922072ae188828e1eb8ff4b836fff85a5ffabd315b95766e797a8c3491d45878ca4fc30e2ec50f085910e50db4364a7f4f4fbf012d1d7478b9ee6e9db152a4f99d0228e53e2e02aa3c41fce66509a1c60e67e5d9845408dfbda820fab46dfb38dafc50274bc74aa600fa538e54a4ce5d6242fa79d126f76e8643dad67492254219e6ee18c05669b066c7887c56fc5e1aff2ddb569a9918e2d8a782f7f319a5d80705d19ebe8489cfee447f58128f8707bab42bece6be3cf751aad704e5859f99ebca403f2f602607a1ba7d791db28c3e95e46322485c2aade2e5328281e41ec60f50a9ec381d430b4b23e8025dbbba1b4e5be1f2742f5a52598d6810b35f48cb56aec3758a651e5b5398ab20b5b8a275918d01cfd3e46ca9905ff39f6831ec8fdece949fc03a912db3c7bbfbdd6c2b2d52a478351e6693182e5d987e67e83993fb2de77a20d12d6b225fabb957f0e3b8876e0219d9b4a98f2c165b7431fb53189eb371861e658c5ecc0573a27ce8f99034fb0d2546c886f63855b6aeadd8d7b81eee149043cf07d2bd7dfaa99abb1831a1fef3a08378aa2d595a8d0885f4ca6cc10d3e6c3c147338c1a8d9fc6a18c0c3349dff7ec840af31bd28ed2fee822f00481916294420d05599a6470804a86f278fc4ab975a9cac5b8d7ea09727f5518290a114c2b5d84687d9a76b246f0f23cd678d278f0776911b2f64fad65a6c1bc9811c1278c68708958a43c8502acc1051a272d282df96438ce823c746e4888af771cdd88d45b81163040b957db159c04a263742a57f6bfc707ad26445388f681818d1e194d7203a9bb38221e03d33d6efcff77c682c73475af094de5d6d3952af44ebe6f9baf9d949e2b36efd3c7608af986f33a39ff1e14053026d2d63c60044e630baa4b6f27b0d27345b54b75aa61033a270fc350c6d6890d26382c2adab20bbcc58a5c9170b6f1a1f8a03053f6a5a2f45227b01dded4f5ee39b4a622c31240befcdd196499c927789edfd1523c0b99b84f06f46dc30b521ad6680492455560c39a9caf83a2dcf18148f6f5ad581b55fd6634405541a88bb69fd3524d4deaa6cf0e5acf57512f6a959ff02630a50c082525ebda7b139e3fa1f8192bbf12cde88a257c67173a89fa0d17d8352a616066f679205d680f0a6b092cd288a96bcc252287d8da7ab2051f845d4b4587c293f4bae2e03803373a70c3a66c814c9c7ba7d3127cb16e4e05f01a4cc8e973c03368e3881629579315b8480fef2e0c3d67da1f0c78c2004f01b27786a9e7dd5811f02de56eae3b2097b0b873e58fb537c6fcc2144dbd3b474514eb5fa718088e569e50d5940e16f01aee1d0f5a1f786dbee4069f3e6dd96f1331dc33efbbdfd09d4a810a7594d6bcf8737b0c5d793bb07d5df5c270d8d266a7185c3fd20a60bba9dba67f5ca50069a2da8ae1044f6a92b68212cac660307905ef495ef9f40f112361ef8c073f33c25be2a40823e7edcf77f0f2246ea046d1f4213ba0d0a371944327fab930edf1311d327b663292b5a6600928b90b25191bc20352ad4722a292af019e8f9abaa2a1242efd7aa347a0a24a8bbe66b8ae093cb8837092a856831ae4a5c03c6286a40d1a0f4503b154cd7a094f6869a13a94a99bde1645e395ee7d7b919165fd75a60335382b3791e341e68beaebc1dbf9c2da8c502a8658e3b31e52bb715de9891e14e3f309ff4b313b5d9f0729ac63f8c9bcfb91339314db511af5846cf54363f3fc14481788994554f9de214e582730c9fefc01329110983b8a528fd2718ce702724e34b6de3e7b994312826d21ae12669b1934b3c3f609d77bdccc561a7714b0d272b4950c73b8eec963693ce1622aa5bd8e5bf89ce7f13b5f15d080633e7fcb55fc0a4557a34cb309120c1aca7dab26389e764b724882481a5f7c13b521779b2f57dec7de2bdf806fa64f2945fd7dd155cd93c9ba45d08e7be89593ede0275a0e0ac68cd19167d9af1112f2671a4baee2adca43f868f1d8e4b5ad0c37a584f4b3315cb3bf0abe2e4522ce8dfffb79b4f062a240feeed60199404f7895d2a38449da2771cff6d3e0a6edc13fa4bd743460e204bd65634d8d42458ed1d399fe2c88a8dbc1a667cfb93ac5bb0dbfe6ed91372314bab2232e6faaed7ca55dd3966906052559e03adfdfefd111eb5b18dc662fbca7d50b36d90b43b7fd77a0c46c70a3753ded0c79ab954a65da6c3b036be35296047fa09dfd6297b79c715cb7083d2b6d2c15a89fb2be2c2448b3cc70f6be1c23899570eec18d80492da7c3512a7ef0ed58eed7ae9f78e46f6c4792c495f9a24b0344deb1244a36c6b3490b583a57345cc2e0320f866804a9cbfab19646b5f13c6e1d205b980fca439cb22034d0176257d10fd6982aa7d75a1407f60d5790ae5256e313f03d07aa1f18fa35cd2b25e08b76b91cff3d80045a5839fe7a7d941a49c5c4fb73a428db998ef3e4447b7ac538ef20e4a8af44d640abd08dbca8c7d5d6d1932cb65e62a48c4232968065dd7b86b8cb7a599f26bf83a3d063e8a9ae3f6d908ec1c9e34e9a9504222ce54e7a8b9c85c6a00aba6589a125f270f62aeae811ee5cce0a4eb0732717dc6096886cd2262d84c555511e018be8cf911c6e3ab8d4dbebbabd1441f09fd72f0af024ad1a0d9f83e02cefbd13ec165337e6fd3d19a0cf310f7bca4f1c5d22c5b72edec235423be2a4ccac8b978a9e805a83107ef3379d29dc3a15261b4a0c6520e9cfe1a9949ace906ae12e230d67c819fc5054cfb0a7c82271a0dacc6c70ee965feb42bb0a7484742535d9ecd0f0c7e45e24ac8981ad2cd9b55fecb65095e9e6b075bd0c3f5532ad96eb42593364df08af9b7601c0766d7061c613e3a7d69970c3954f852acb34cee63fea200033e9e7d1f93426bfb64bd11278fe25e1b664ac1b451d5648046401cf5c3b89c25b539fbd06d319e3d9d38784ae1671632740bff44192a4357a0355eba01799414c69d3c3db925e56505fc711b2cfc8462dfdd242a81d9af47593e19489105f8731da8853bdbcba9313a8be08500afd7ebb80a632ebd341553ba067870339bc5d3f448af5b131c0d6ae2e8fa941bf7a778af44b1102017262a4b5346e7bea2227ac109cc19b5b28cd7b36224872443147fb9682da3af821488ea96f4671c605faeec13835730d65afe23265c4c79c1b1b34e223517cb5e7ba2faed63042a5b527e8237af7f2ebca93a3f723108680e6f34e58e26d3694b7161e5121b009498c9032c64672cc64b1834f8d5b750145b7afed4aa841664cdfed1a9a4ac7723694d390d03aedc2547037564e92899935e1c3c7c8f629dde1ec16eedef9468955963a9a36c65870121fb24404a7e401e01ba4fc4b5ef63ff03adf9417fc9021b2ca30fcc64a7c61191108c3d3bb933c1f4dd8b8b7ad4ce14f048c627edc60503013f345654a7946457128c7521ea3757e9530b8e66477a9b6b2db587405b552747740b01c56463466cc67b4de3e7a838033715abf027b5feac7caaf431d8508c4daadfa2875aa9ef069c9b22b72937a465b6a6bf9e91b5e4ef858b458569740d72a0ae890c9ae9cf1d61c2621a5589abc2c0e237b0315bb6aae9bbaf9ddf6c7e12c23d5a14f08e9dbbc409039df3f7f3dcd7bde6caa36dc93664c6d0cf815f04ec043b90269a13784b8983343dcce7c316a3857baa8bd9413bb53d78ee595ecd748fc72ff17f159bff3b1f6663bb48b0a4e29d4ffc0cc823e4c99f9c056d14ca4a959e25acbb78612ace7c123ff0dac267b03b84a9de324c18c7523af03db934942af780f6feaf2e7b6cad9ea5f876f521fcb871d25d17fdf2de79fafae234a4a72a56ef1a4840551187ad087a8929cbf7e26663eb87afb0129340f5ebc99f597117e7f15c0b2cf5a3d100c157c151515532765c85e5228de02ba9cba8f3861609a1655b6d0f6505596b2d287640986126f659b7a9f7c7465499f16f8e9437a281e784f205912cd9ebef341bab37719ce4121ef3da59a8ad8af2448ab3d0075b068e8130184aaa168a0a2813092c5537100859d328152bb083ee8eff39ec3bb6308de404a240f94a1de834b0824fb1e76090aacd47e6488456398b5db42793527857ba48162968d1667511767360017a7b94789a8b08343d2104a38e0829ff93a990d5152054cceeb88c345d970bff14008155d354285d218485626efa1853f9de5a425fd655179c5c0cd36901c65521b7445cbc851753d5ae1dce88bae1b6651efe186006156c1ed0fbf8e4b82e1147e8c40da26e7c3e4fe423df121cfe6b590fe81f444d1c8b613f7f8e547b3fc5c1741847704e59e5348bba6f4e36f4f5589be31652bbbf380e30adff23a7c757113273eaa73821f33e2e507be988f8df5f1e6070ec0aceba42a69874cefe3ca3900f9352de25a471b4687c0c3c397fb37aa719e7f1000a042b53c15b94db6f6252c4a270adf7eef30d6322b1d594c2663210f8171db320ca343ca762460c5a50339985e25b230104b27d23c997573eccafafc019ae20eb09a1d393694349e6421bc937575b399f91b62d0d75bb79eb0f6588289ad5656745cff7d7c287f37c72b98074ebc31f5a911b2e8170f31270ce97bc3f82b39f3716f89a84a53c029b6d3151cbf8455d3b44b0569466414816e83e9a65dc2cfa218c63dd0259e64ab8171c537ad329bb751c4abdddbd6a582c1622dd7cc13a0b640afa8bbf3fc62a6f9e8019160fc14faabe92eb6331e86239f8a26f6ab35712d11c43806610081e65c5ced81b3a0d814641b553e76e1db2838946c920eee155c42ec23c26cb08802db31d8860a043335921288cc1c555b1c7369655a02494cfadded1b5988497f496c39249ea424f0fe132d91c4c16f37a389b87b6cee0cef64402eee1fc76f77b409b415cf9c16cf65b4183a1b08f410e5b0688f711270399586984cee775855378827c9262d9cdad1a67c70b4d32fae5d8696e677bd0cc48c7c8498cada06029c8e6fff55882b825037026256183d91c9cf3dbff283096d89daf18031859b3a8ecbb7636422c8d18a370cf3f89683f44036ff22df50a7e1c7e03667be912a23be1921d949d00818f61c0ee7fa0c815c35aad77c735582a6440eb059647d5eb95fea4c18fbe7fc0ca1a402fcaea60faf19bf16a370e357b86186931fa6a8217df3bb825ac88680f7495001dc74680f5da0603c4793a15df0417e4a4f04e616382b6e541729785dd41ba25010adf76d9b5c057ade3530a3db0dd1a55ce3a266159027f234396088577b6735daa38d86c57a68db12d5587e670903c42f2dbe2bcac668ae8a5703e14a48c26215811860c47e0db6af638ca5e6682b10d17d1aaee4142c4e14af849120bb9d05e4f4fd6a28e63b4c71d366fe0d74e33664546aeff90668110115f7942f146e4d502f947bc4333750dc7adc11ef3d2b1fb53a1f1bb6ea82261a247ba6e7985d09b5a7c79572ba6f7c1e23059bbda8052410c2cf87c809cc08007c32c39d35902869b2472144eb424109605d8f6b056f4d710a1844888d0bfd81c8d6035ffd2d288b08bcc6846a5bde02348543acea709acc8e3f44f50300f4d452c184ae3b0a37bd78b2e330be888cfa008b491bbf84e58fe055c9a0d8f7fc66a9b18a3c5074523b248ab786f434b48070ee624ac10c6a079965a48cb497d63f49e00a0ee11c63be6cd141e7bd2743f40f8bd6de889f950972a87e2f97c8cd5f4011314308764f0cdcb4dd81075c3c6ba1e15532a7e9f8bb920b89b0709c547a045db700f175149f9f217b21379430b53f4ac2b7e6efc5bb6b2f13f94c89dc210bc2c16d68f09eb6aac7bef740b0c4e2365ae7423fe8593c394a4276eefca1fa964ed69f53be6b8e985c644d7a7a4261b4e9c4c46e5b98797ef8338f8ec82d48be60bfbf29a6e32e2eb12c96b137a727a020b602a148b05fe32320f2ea78c11890b0441a7dd72ba45e4404f58b89d00994c7eb77ec1ab507b19842c68e8f0175c2ee6659f6a84a0efba2339938d71a06e4b842cceedbb3cce9fb381fb4869205ba5fb4b7ed321fd157c3c5cbcd1a9501d3b4dc63eb02208b4bb3a772da4006f6093fef17dd2b9a17abbe3e3a9bb9c6e1507a12c42104c1515a080c20010f0ac1e4fc95a37fd81b8ebb3750cdc321214865660711443c88905b7ee3f9659ca8e6b18d59d5d79507413166e6c0e4b121eafbb5982e269df4042284bc6b2a0f6cc9c491624711a9919a7f1a4729fb2394754afabd50e25f15a330d78094a0cf4f25a86aad7b322dffd6b56e61bd884ca7304c100dad830113cfc8eaeec3abbfdaf0f63661847080160c2411eb894e88ae98178f5cef0f90bac6f910f86f02f1c18e209007da2539af2cafa931c7e7607ed1ece4585f5983eeb0b8fdb803dfa622022447dbc76ab32aed69c563c525346b353167a9af2ed8385e132d7f6d38a0c61f5b00887f673a6eb9a3a444919c89c8e9e99480e64ece24b8c2b34da1a2dce34509283fe48fe83f227a05ed991ef6628c5f6018b0f9a1e29f37647723e447c1268ea337c9287e7914036364de93f6472fab4ce3f710bab304bf94f6cc1156021dcb873d1dac0ad3cdd1003dbc079be241cfbbe63d4d27ea8f1c7359e5ce7bdda7cca52345023dfdb4426d72ddd875451901fa641d160e376c2afb4e9bf34b781b2c5538d87962d1169234148ad7cdc35fa142f4477a2bbe5e9f38c9ef95d857b5563c55fd8762e556e8445948125033ac55cc1a87161c33a7a3649d744ff9d0e9c60033f2447213348c73e248c5d09bda106d2483e2888f18d2631d5a58f9709e9409b5437146b970ced1383a4ed8eb47b4920dcc035ba8796c320976850bc9570cbae15e92449aceb3dc0c7ce37685683e39a881af284e3232c0fa34b78667159b1ba757dd9546947a7cb2f791937f9e04ab0b5fff4f52cb51d2ab3850de0a0f23dce3947175d21fe936006204e4e90832e103302904594919a0fd0fe71857f79cea1799ff03eecf23761a0c482822879b7db9dc14fa955ddbd0513e3218802e55d99579c96b72b9430ff2803b546b814a4cc72b16e073e701bff12714ca8b22bcc1d4e6405691cf32ed132555b129c364539dcbbd18ef1e2879c896e06a15b36b7370aa95901cf82dff6575e2071f5aa06be17ea91dfa723be4ae53d6327c72cebce4fbb915a8d94bd127ff7778d8e6f20e9d8f043d0e791dfefd807668bc85ebfad2ba22cc6a46e7f3855ba83d512f6c7e7c5a1886ca1a0be7746b730841f506f5317a01c633c4ef9ec3da92c94a5c5386db1c62a771e55969ee768dbe4b8d0c1698ec0852be1d03bbe9c91389b9cb5421d83391a0da250d7f988e035d5c689e2be338ad55b7c22aaf1815d3eea9b286ec8e4a6b9671f22e2bed1f87efe71e554be7ffc732d9ae436f8f30c1a7d368302e9ca4edb546166063794d933d75e2794cbaaa90c2a143941d6ff64ae725c750128db6a954a0edd5167b469b3c19b37ae82c27601a93564d8dfbe3c900f1a09612855237fa6d9a5c0c3ff0af23aeb675b70471577ef2378e69b38393c15bcf53d09eb0fd8dfe390c9b44858835504d8f66462e6fdc56428ab1276051f7dc264c6c85ea52462aefc266842a992ba1ebd3fbd2fe267654bb2c29cbc3e362ad85f6a868039c4e9e9bbc4a737ba37103b0a07d3caf384c2c7102356392091959fe3c2c5bc0ca46d992bf31f70636047105716257cdc413d15cedff16498f713ea503118f9b0bbddf425c8715f588090f38802b7fce99513cc0c101fab1c027e5f60072227a98158087ec1c683a8bf37bd686c0d975117407eb549f24b94bfef7fb6fc6cf49b8d64228b44680a94df0f99c38bd5f03f1928952f7e3abf394a54a6d1f1a14bfcf7bac11957aac6f5f6a4adfd90861a0ce46993aca0cfb7488e5c99188dcace5e30c4d8fd731dcd7ad7512b18754780b941ef41f624eb9979f3150928d6b3330769dc114c8529f6b6939270777634d7261318914c96a1d77fd1de81d487179460bfacad1f30552e2e006d14fec977fbccf65f062211b23cc706726d1dcf9c0623c8182574930d8bd396d4c021c81dafd219b52410587d14ee4916825e5216b0ec2714ab71afa127f225a24df470c17e9e41fbd5392f14625f3eb4162c5ec8cfb523a31ef9a608a5014cd1e42a1ceaa3e9bbee4d10ebb0f80924918e332c767d7f216a6997aeebc953c75522cfe87aba756547c1324ad20cdb9104437f8df77e3a611940949c732e2f3521d3c4bcc0629558954658e603010aad0886673a3ff9b5824b79c3bf225b454cb38ec8c8c590f9d22fae8bd880089944eb159c5dcc43d9fa43b0a3383da1974d08e2482bf0d8b3c77378076d5b3d9a8d1dbcfaa3f542b4f4b7b6ece6160e87f5b014ba760842eba6e4f065a179ea0d41f99f9f4719ca18958a5698b454d4b0998b8b9d4a786e9c5a9d4bb76fa02535152baaba56f5358c95108a5075e8593d947b04e67d410f6d4bfc139d823f21dfe471824bda586bde0c6a5a2b14946cca559a6d99abf6f6090538c14a3ee82e3a4e93db5b6bee4fbdc0bc2dc758e7b1cf062989208d107356e3ebb75b0e9a03e9174ad4fb371d935b2feadc08eb867403e89e33664842bdc57713ca18a3aeb329906f5bd542fbfdaf7e71f72890057d51b33bc7fe8418e0bd253e8efdf48adb919c02941cb7bfc78baf39b38ac9ccf25f6da2201595cfcc8bd8d84ed1065728d79890242e989737e76078f0f4b1ac72cd72ca03b61da94e8f96bf4a3d7bb51f41a12029d80859ad7441d435f862b295587b75a9e425d84ea38d909c2c81ea8faa6e9b04616dcc3238cc41f6fcfd7d9037401f92a95fa4323b472b1c9d8a2f9c6c5fdf7896c10047d2079900323d91ba08d49858e16e4be51238f1fb92eb79a78bc9a706fbd43c81e2be8060e1103819979962d13064e561819fddbdaa086ea65c28ee78c5393a00e5acb9ed24bbfe058aca6819cff2c28a50aee519b744055ae5704b50a05508b72c0fde1258213974073c5791d52eb47df83325af8ae8df9fc0ea7dac33fd7e114176d3c831108a8c5a0bff966162c755ea6d3117850b731922ee1fc5ed50a5c70fbb5846f4196736cc2c13bc4c24dc44a33900ee3805605b21d9e7e0950a6b7f62c00a093700decbae1eb0162b076c0e3f3158fb44916f422c91d05eab403712e9bdc65a916eb45e27b4a5681abe0c715dcf2a703de589802a1549529838a4bc081b2063086e984f668769a1d4f4ef2257a241a47155a2511d2dacaaa9d44c6a3153cb465f131877d5f80ed8beaae7e637e622dd572c3817b73089e82fcc6272c3089621499419dc790529127b80949b7247816051a0894fc9bd23422a7338eb1ce2458e1c8c6b05b504dc938916b51625491a4fdae13ef458892d932c61c160ff35bb4cec8b34f6bb8b79775f2c0cf118c9c909aae11bf696043d1c6fc6b160bbcca507ebfc4c5b41039d8b642f01961b08392c660e503816e15fa7cfdab71878589da93e503f40bb0458c3a46cec8a31b6669c223e423b7dbbe27fae3cd68169857f76ab118105d5cd2c43c310fb20bc67f7157a5ac67eb6b0982a3ba4947c76c987e282cce1d91cc94d5904ecea41227ca0ab483cffd618ef90824075908aac2ea9bd36240f8cd0dd5279f099bf321a5370872bea550f04345658c509eda586df4bbeb8550ada16120c5193baf2d68f0ca633b92dddbd0394f406115bcda38642434935f7edbd2e903a80d6a9835ec791e579d0329adb02921380a3cafc44ecbbcba417298f523d36f50af3bda35799facc052469d61f7e19ee7d7fe36ea6855257884c2071c930c4bb4e64741606e344997d0b98a09d810104de02dabf29575b40da15a5030374ada1f7ed776b658d9f7b1f96ab742681464bd64897c464bc71753f8b579da960e3113fe6c8342379ed14f0ce1eb0392aca25e7a30e847712ba90df0503940b2e64cd3eff66dd261e1db21142f6de524a29534a29670558055605399a7395e6fca7b9bbbb33ea937b23f4944d61c52a49921d9e2094501494394f2e78413bd6d141b2ba02ce77cbdab4a89848911c30a8407b83e1bbe5e120a1da263c2b2866687060e166f808e24ee01004c41276fe74bad123080e6e898bcf0f16d53fc2c7b12451a9717259f9c4b8e94f325bea3f9d7c4f41dd9d76a7fe70f921531986b703a17085ce64b2844aca8d31c2085fbaa9dc97902fc1851552d42e73c1ce39030abfe322f0549009114628d263c50e95090ce28b1146f8f885d22cdbc9e16205514e45d503d83872e47091ff506e2d5bb68cb0fb9b23c4c1cccbcc8d832ad207df8b2fc216cdd09625df398bb336ae399a2adfe5a602dff5179402851042c8ccfd2064ee0799fbc108fd5564e0aef757b9e8dae8f8850ee48ec1058d0f995b1bd85f564a0dfd6e02543806ff100510b0b15a5b54b1bebe7ec227da48db3a2175feb5fb9e5fa46d9d73625da9faab7801aa3fab70bbe27f69190c9fe2021a6196055daca10d9a45cd83176bea948cb571a3021509aa432e9a745008eac03eb4d5bc8e50cdf5a1df9739ff9ad8efc81f289a73f87043f58f4f904f500daafe360bca3ca8c6f79fc1f4ef00097e608e182f751fe08d853b7141b20941ab25ecc32b1f7e6921d1b02d13695ef10ffb337fc665f5480244757ddf148212910410aa4b98803e41dd07025f3e16637caa54507c0b43afe78820aa9f300b70b607099d9d24d497ea3942094e044e7dcd10f3e61ec59f5b97edd0647834e7d6534ba341d0c74bdc08ee98e6fa51708b81d9d97af039bda05887380aea22fe1a58bfeeeeeeeeeeeed70dd942c1ef4e1042f73fedf78310083cedf7e3e5fc4f37f6fb4178e3fbd42dbef560b5ec666d29df6575d35605745f977068a08a31c2087fd0b45411e18a8709b13662547f98981dce84368b7a083d8b2af6ccccccccbcf5635a775dd7755d28185437a582767b7d6b4164c530ecf90563661d682f8b1cc059e020b2c6bfde1fb55aadb0907fbc50d6c632374e6e3034f7cd39dc280d14a0dcb4734557d96a75fd80ab9432caf8b68e8ca35b1c8a2b8a6ca01f0880c40f32ebeeca06ba46d87d000271e317bb726f3fbcc64e4885f389e8dc33bc9fdf2ddfdc77f1b3e67e83a139bfb12b9ee578991b499eba6536b736e416a24184571c936559b625144ccc43c1c4b89c9af313cc0eefee6e4f7179021de6619e15f3f46b3fb5d37e6a94591b5036aba07a5048d5eecd3ddd32bbe2cf3c3c9427e3a191c3c39d5475220ef4e342ea06e8c7676d74f59fd8db8f51623370a80c019d81435944035ba139fffe09e2b1c9fcc89d9d1d27429c644608688ff51d2744bd5dc189eabb6e71c7af1d37f6d9157f56a544803d93ff3ab11cdf7b8bc83c6db0d19fbc4b9f8c4e32211a087bcdef713725c02ff4b3a7b9380bca4d303efeff886d6ab48973620cc5edb1a15fe8c64dbc14b54e792976912ec58fad73a41aa9f19b871a1fcb99d68c8fc1d0f865615c1817c2d0f60545dfa581d040f069bcf2527c8f3078bca4f1cf89c6405712b463926e891d2b699dfe38636dc0d7c154442859d2534514bc311c2339388db39383d38dc1b6a94448fc9d83ea5665405019438088488291da3936eb259921af76cf48b8e981cd4b472bceda9051fd3be7c91921981b7be3e84061bbf3c6d1cec0d91d161c1d04a5bccbda881ca712c3a3868f12169e15142d3f405048e1b242d48e13624e4ab3ec9f3bc5fab61e2d648176bce2564bbaa5a5cbda882f680b29fc2c59ed780ddf43b6e49c7221d536298c6f387acfb8c9ead47c8bc40f5fac27e9b836920df0c5fa176ba3f98104f373cead86f39267d75b1b16ae6dbd646d272f798f58e3cfc0a11bacbdcb6fd4d5d4e8df95460e146ea81c3470689c98822720816487da653f2c58c2822c9ad8b1828914571841ca872730a9020da1c7be02a1ad02d7768a95460e546e2c1c0e3484f39cd8b99e2f8dc49b0e8ca4e37aebaf6dc67378a9e10f8572f4425eac8d04458f3d4987ec51f9454f8aa387b97eb40e23faebaf8d6683114621492a44b94cad8bcf52e16352b33492fcd05b7f69241b426f3d496e3a421b697ee849f2452fe4c5d2419adb7c920c6d725b67c8280c9236127fb72b0ea920c6aa5f1b3b6b3f6794b6ca4a01a601aefcee90bf632432c4edae02c83eb6401a23d199bbdf4d607e4829069666b4aedcb2adbccf437c1425ce99599645a7dce8839f3833a040f98655591774dfa6b2075699163e4821c80a23569d6377729cacd8ddad623504891496f92e557eaaa2ddfeb06b3140747913c010ca479ac0a1a2094c785082762a2bf880681a6877b78bcdb2e63a7efc8e465e484307ee214a7cfa3533b38fe6663e48736d05d41774c67df3a1c934976581ee6f021842fb99e0c1e59cf96fdf7beffd3891dd9d35b74b6b6bf3658534931912f4b56071da34fbecd5ac0565e74452e3c4a9f038427bc8cc1954a42bf7bf2b2acf6555a09bc5dbdd6c0b244d504b09ba3e33e36383664ef1144fa799e65ed03f9f9189f169e916a85b2982d0ac143c4e2776779f291fe8a359d69c0086ecee9635f7fec1400308ca9bf2f88927fcfbd5367eb8d18c59cb28b3fb806e2781670a3ba3ba3d5360a1761993a057632184f0d7b2f6e35b8f4d4b460b5a53dbea504608596276dcc4df3d4043d4ee4374fef0f0046b091a37a041a7c4f8619f0821d4116c07ba1de32ff3b44d649b2d35cf4e2be17f3cbdc33b3dcdcccc14eae034718425bbbbbbdb03d482da653bd07ddd77ddd7dfeeeeaab04855b1aa5de6c30255c6350d2755a5397e1032f77c903d6a4b5bea1f9fd32ac79a58b664da45557edb0f1f959fd28738aca8978aa0eed2557e4329a5aa22acfa869c52a96c6e8aa8baf7213a9f14b04de936887dfee41b675750fe20292973eea7bcdaa10e04dd7ce6a975af5bf45e943f658429cc45a6fa43b9b1c87ebf6f69dd2ffaa8fe906aa16d4a81f6c3f7b0bb218cfb1e76cbed6658c648859363442a07fb31220544169a547f32d020e1ea88143a373738393c18a9210513264c30618411560107589305b6e4bf63575c50d18e55aa2235d6c6d3392209225420e1070aa1840f30d40dfd72fdf4432a2f8814b951220bca0dc0f189313b6c8af0e042a609a7a27cdc74d976b0257402bbb204edd64766c704d6c65afee64c7c0fc6ce03f1bdd38dd30d9e1b05948271cc2150ff67af3ec50e9858c146e4a0f2ee6e77f77e1e8307546051fd67c899f0e8d0dddddddddd1d46676d2bcf540aa64b8ee2ef4e2b66e6d38d6606c2a71bcda71bcd7c3a6d2acd65190704ed671c1a282981135da462841042860e9fbb73f4575d5a5cb4937f739c6594c6edc6bf177f2960925a6c5a7451f2e7c71723ccb075004d425f92954dba48f54c918513aec0812af0bdf7a67c6f4aaeb9d38d6e8159318ecb9f9a73f9826e2e375e75698e4f34d59f9f6eb8bc2c6a97c523347040e7cc329f7df3594229a38c905e1a4c971ac54fb431d06ed1ae8c80549661d2205ace1f469781caf3bd678576c5451aa8fca120957fe6067ff3c5d796c22c73e0eadce2e6612a954ae5bcecff7b13c809b57b2a3a053f3c2d2b9f9e25fc02aee39d1d253f4c802b5ab7df79740b6f2d25b38ddb3407dbdf6d7ac8700a872028041646340f1f41669a8dd47e1d5a37d199d1cf38ce878505ed2179dbd15ccb2d078c0b8e134b0e58768c4002d485132fbe186594efb1688639a4bef7de7b70cec4f760f440b438109f946f7baf9bfb451c235450e1c704b255f4889ef6398790051244a1ff1a5f8c30c29789b49046b7c4bc0c63d4f9a83f7c6c359a6b966ca3cf09aab9fff177f72f6dc6e783eb9619b186a6105f8c30c2372f1ef8135860f2e07bf145c8575082083b4183c91d6a20e8daf018238cb0b425de60ec0a0c0ed4d9ecb5a750047e02a55b1a4228a1948f35fcf842bcdcbc54ac6b07f4894428ddd257431f628c30c25047b3ed721d9aa289502b3c2daeeb9ad784310b407d2d7ade1844dfd763eda277910cd7133d14c1377f69aee78de17aee400004136198e8fa895d130bbde80a61d7c4ac0e4837aafccc7c691dedb9019931f0a5753032505bb41cbf29b2e616d240e58fda5b8eb91e8dac13bce73937d606bcc1000628601350b331b8d0ecca8c2fde174f8009f21104e708cd0f13997123f1b5742c3d92f0c0a24da2df203e6e40393e6f0cafe3c7405e2e7e8c4339658cd96236baa37b780905daad4f8cd55b0dd6763a3d8efe9dd851091a169a38f9d39c9b4533ccda09e1f5377adbcaf04256c0decb8aa1e0231c84f3f092be09c27218e7c65ff8866f787835980106e42204038f814390cc9340975bfa7c833164081f7cdccddbeeca6e29cd693dc40883ef60290c9410135427e567ce3c327dba458a89642a993c7335a1a0392a35b8a7cdd47233557fd0549ea9dacd1c6ae326f903041414d4a4c94f3d01729394524a29e5098f9ba494524a294f72dc24a594524a7962e3a618638c31c611909b628c31c618473c6e8a31c618631ce5b829c618638c7164e326082184104211909b2084104208453c6e821042082114e5b809420821845064e3a6f7de7befbd10909bde7befbdf7423c6e7aefbdf7de0be5b8e9bdf7de7b2f64e326777777770cc84deeeeeeee188f9bdcdddddddde436362a77c76cdcd4404041dd7d01b9a9797856dd7df1b8a9737274bafbca7153dbd8a86aa7eae31f20a0a0a0264d7e78878767b5f2f1e17113e3e4e4e8e824498263e5b889535beab7f16ee6dcb08d9b64808082829a34f9019a393367e6f0b889e358584ea7993369e630501d1a3fa99b27a58c328a665828542160feda6e0cdddddddddddd7daab1b1eff7e0b5c8012ea0ef1b7e80b977c56b6abfc75e2eca6f10cc1973820e50e3752d7557560eb036bac678ba81a3bbbbbbdbda8276bc5a49fea0223f2cbbfb44dd97c09a4e6c581bd6c936d324b44d212602329f5b9a1847e65962a409129c7ed08746f480597fcc54297fa649934ebbc0cdcd8db4e0842f6f8850f9f96661dc1ebecb4a6267b244a9e33ba99630c6ece8b936ea1aa0ee13604da792b5a6181f1f1a7d8a1bc69d9039d3a4894f16b54e9be926bca9f4c04c0388f27bf1701cd182858611283333330aba60de722031e38b1146f8b2ec3f060eedb855edec4f81a264d75b11560c681b8075c6fc9136e7cfd030703df6a18ff1232dc66398d67d253db68b91b417b4dd127d1ada6e09c67e0b2f43c3c07e0b8fad8c16646ca41c5b65fc03b6cad844df0581d585addbdf0057198fd2822603a5fb3a82b17573d29163daf5a30b7b2d4b5169ae6b34a1cf692ca15d563b73a1a70ed8a670fff27310ccffde4fe5e7c1dfa35b4e66904aa552435ef86f380249e55465e6b542e57fbdfe021f698e65bcc41b9d3b4d30f12594311fdaed2a2666012d7cf7296d6a61a35eba9ed2d0ef268a8145bf1fc6d3c538448b6c8b6480818282f2ddae3414ade3a71fe3650891a1058135064a732dfa2ec37efe8ae8d6a554ec513ebf396cbbe05b1a9077434ae5871c97baa9bb90d1110bf7cff150a81c3c28548e1a7850dd02370851396aa801e3d077b6c42d1e4ccb616d3c339c9b628238208e87dbed339efd2e4b3d2fdc77d7a763a932860fa8cb8f592d4643c1ad87f9308d9a6e9a2f3b50ffe892ca87ffff1485c6ef08294ab778af50313dd98e9e6772046c9f55fc46e52ae7c63931d07adcb0886d425ee06745a0272fc918c23f5d63f452d7841efb78bdf5916443402858c19b3fd878696713382c68c0919d267ad0021ce434c183821f9238210a1bd110ae20020b38a0a113bc28a80c18c824451c893a1411841d8a304214a91f1df4f40cf183832b1e367a919be2f52e2dd3832f89bd4b8f442ff42efd9e9017ea258d0bb1b87809156112fcf91929c1172b267a228cd0081d43d122634b7c29637634676dac621bfab308dacdfadec5670eed679b497de24c81eeb348060b3ab424803d368035a1681b7a5fa9be3ba1d0daf0ea4f4f6e1295b4ea7ee32e2dbad158076a6c735d4b50fa415cd4fe866e41cb8add0363a980d3b3440907f52c41821e2270521cb3606ce9820e0f117cdc6f44787384da82bb6806adf67fc5ac6c5734fa2c72407cf951db071f7c38eb8a7aa4058e8c2fc20737940f4e375e0082f2b7c0894b875804a6038410c22126134f071da9c266b77cb62bcfe7646626d01396f7a230c2084c020d1dc287f35d3afbcc4b8f2507ca29c21d25321494f96ce4633364405ba4916cf0c7fc31928e7e8ce400ae2e6d31e6534a1e162fc9670d35bd24dfa5fc29a54c913a781b0abe4fefe6e6219848be146d247e510d8937126af4a21f6d35343fe8106d35f2473fda485c339fc4a2e71789deda68b0173d4de8472fe4e5f705c80f1ab8be0722437c94b52f5323311643b26134922ffa9af9a3d721fa93ad466ed74f920e4bbee8e113612c232d741249ef2103c406bd7e42609b123b64ba9ea64d28938c97e0b71644bac51fcef9f0657874cb73ccbdfd7dfbfb660dc7a3716f96cbfcaefdf02c58fd83864d8d868076fdecdff976834ab5b6185491d50dfbd3c21b4b73b08676baa11ddfcccde586761b14a46b0f360f3f482fe07af83e3885bd10e3d568d7688274093281b187bf91a64bf0210e155e9b8f1de0866309f1267645f9d8db9be74d5f2e3b16d1fd82c08074aaee5ff387726ac64dfed7a3ec809296b41bc986f9d6c3cc7d9a9a1f6a46ff7e6e353fd46c30273435f0ad3fd96a7c4608e8c9d38cfe7d3cd968e046b261f4ef49d80633da48d8ce7bf896f5702361a3e962bd6fa4bdbe91a0841c52908312c4008a97f9fef24930fef27d23ed0604c63f5e8ff2d2f55c158292e8228a1a5c31c48b1c6d340bdf4bd77b2b6e34d44bd7fbc6b29a9b7ffcf973f5b22f72abb1e6937683d8742009f08b2491420f23df7ad1739d1a69bfe607ace607d106f37eba46da8d14da60ac971b691f66fefb9ab791769b4979e9fa7d99ffc21094849130f9356f2ff9d7f770d3fcebfa4db9a20d8e405131749b9b70100331617f766677666776969d981d3bae956056ff1dcdb906ab0c8f1bda2642ef4e3427d428b567cf1f999fad636686238741b9496ea71b2c9cce8fce0f4c8d9818d42a86524a6350302b144c0c0a268645001d073333fb157a56413d483499e248125d18a9db53850f47c0dd3a96cb8adaf25f1a07218c6f6e374416af0174c109fabecbb239df7befddc03841b8fb6f26a347efd713dfb736f9e56bee692d04296594d1bdb71d82b32c183068d0f8faa47c337895d25d4eb498d39f087808fc40edb72fef05c18630c2d87276777777df20e5f6b4cf4abab48d9b46bf4aeaf5dd2aa9e19c7ba64373f6e9cd9a4e10ae205c419f6ee99eaa2e8150bca0436b94bdc44da2f7d1bfff8cb5c1f8b9b18a6539f82cdde235c4d07e9faa3a0ad2938c65230bacb152411822a07085692cdbf7d603f6bea560aa21e6d25da13f666aa8a5981792f7c4bc7af0448c114608a56c29637c12c2ae2d21dc8040de181a36378c1d61b36521c1cd9a33f35b7fbe848e31c208212fd751a8be0280fd856b820758a951bb0f08e9177af1c508237cd76502c94df8dce4e0fbab482921c3e8efc5c870bbae15609bd2fcb0d6606de666ad977b1d0868e095f7d02bd6ce0bdfe8059ca7a814aef98b58b2190000012473150000180c080442c1805830209aeba27c14800d73903a7a5830164743718c03210a5286184200200600600c1843342353060077ca3d99d2a778e98ea2d24cf479aabad3a30c9cb5bf133570cad89ae83d7303a514f83f4400d8828fc606cf853c5cb7d3e405fecc7753ed288f067496f3e2deee239d1c13962ed6d288a1573697337492c4a1590f2f9b9ae77f7f4784dedcdf7d79a3e185e02df0e751aaa5ee381d2ed5d343bf2d36aaa8dcbb27753cc8e0bfd5c76489a0c8233a0cd0a7e09598e3d55243bed88837e991b54f23d6c24ba691a6c34d944d17358bb34f1dbeced67d944b7c664975668e6361117be4d96563440edc438f64c09f8a1c37a159588f1cd91ce705c33f10afeb08ea97a39502c8d9dcd2b6a864175d81a771e39755aaa33f5a167a89b3c4ae7fde63616a1eed3d175539270fec9ff3470d8a7c9cb5201a23ccd34ad6238a8075b787786480995e6e353fd7258ae42313e9a902dbde0ed8bfb2c0106c8ac491790f672174ac864f226e4a8ecf0697a333e3a627c846e1273e99e3a0fb5067ba920fc78095a6b81c32a226b8257fbf415826293531368e421b76052d3a7e656437e66cf8a13c31ad391395b8a73a65f82c8c18e1c0ab9c2d86a75f7b98d1bf66649dd061455d57d4265dd098532fa94054d626ac9555075c766dc868c5b7582e267484aa541aca04ed5f9051fdac2ec420530471440187e1b8a3a16f86a94854ab39c5b34863c9899bdf9b2b15bf6923660acf3fcc04f69f606412267288997dcf7a5c9fa6fa304d81a8f813172a1c7ba4056e078d8eed8dae719ba761211d448229eb78f482b2a1bca1a255f944a6e9322cd29b5eb45c1b0566692eb30f6c563b0493e286d2dc3bcb8642c3858b787e0699a4677a8c393154d19a13cc0533e7ee3c472c6b5260b9d2e7565a5794470d63df08588e0c3b77538ff46efaa83b9d12fa3bc34874ef903f9b51ce2247a27561d7c983e70f7c64ac43b6c191e80740c9673b68ee035149342893989055b8740405da5c05e8d1c9456f900786332c319a44d4a75c53dfb3333335eee900d6c60cc1914e4c5fbc846c0b11618809d54a0da19a69764030fcad8f628bc53035d5e858a055c689522b07f21f477fecd457dc0c398a22125d293c0abf2162f8c73258b0262d1f04eeb0be02569c87c47383c2263ec8355bfd5f66c59d06b6b0a13cbf1f7b09572c4d0324f34aae278eefddb26be689d17e9c797df8a991a9d1e4b516250eb7add059e9739bcf66d052f9c05c171a22bdc4ffca9a5e43a0f3b839c972e4aa1a8eb965e82fff73bfb5e5492eda3285e446359cdcbe55ffbea9df8c3113834e92060ae897bf87aad82085d51cbede5d11b2c9ada86bb0c10a24a4f490f9395a8c9b0bd453c14dcec1fb703ba673d8aa01fd1d97a49099ad9817ec95e46bf146eef1b5970ad63ccca0e73f66043c96ad6c8a556ae3538494bdec216958864d6f1001b0227039de220c365cbe83547c261550dc419afa411280e2465269c1cc9cf044d72bdfc8bf25ff1ea4451e245e5553c2690aba3a58141ca40dfa39484d9e546198d5563931e83a95be683c107b3acdbe06cc2280ca47e7ac8be116680c433b2cde5be9f514adc3386f111f558266e94b7f31ca07a96e970643a311ec27b4d6ccdbad28a9bdaa46d8c9b7f5a1c6f4cf1a9f61daa78bc7341fd759e5143b7e45c029cdd4d0acd5d13123a82b3a5fc61044fb5a449d88a43d4cde3080c943b54760d8a146b123b0907c4f2ac0a189ca24df54dcd8e3887fb81eee1c6d6f6198d0fee9f8c2df9c001da29f0aafb192cf6f821ffd98b0f5b2755177e379a2f58575e579b4862a13509f11886aa2cdcc69a7bd5b5b95f036972136191c992e04a5965be1b308d35eac30ff77bea4a6cac349d980b610a71230f2db2405ecd33f0c0b0941fdc638dc5870977a0bda6687c6e22b5bb20134cc41757a57dd129e3bc97557d66391d8bcc9d1c6b6f0799468e41691d5ad756278d87a78d39954afd811ce74467a1fc3d198f9978a6a5689215b9fa1cbcb691a21b1ff6743cf48626f29c13fae15b829be0013763b888219f93f73a8f76a62f04b1f2000e2b0aa23d7d77f1c09a3baee6bf9a3c8da5a94d0c079d12f2cdfcf2f7da0e1da8536c31aea293784e6cb87211a4e21866831b898a8b9256afda8e4d61263151d7c5c73ecc02ebf06a185a9b345b51d683f30c61e7f23d2717829ba2f6bd07d7b5afe75a3084af116d0b6b709a3141115c505851e3a0b7d29fd4117ba4d3648eca5c45f80ec32bc24591e49773ab0fb186fe7112ff9a9c6f59e967856426aa6e1150e9d4b045aac6e50de02132c28322b832cf9b159171e9f5baa97b4624b4eaf3264f9ee435dd51bdc43cf71ff47cedb14eed3b74137c73731484ff5cf0dcfc19ae0c14ad731168b7eec6797a893177da701b7dbd89283a07194bebe4276b435a20e7e70803e00f43e2d64e69ecff3dc78d5c199dd88cb2ec5ef0ca3976f95fa197f37b25b9fb20f6f8900238310117e0c6f6a07edb117a78eee8882b17bb25f6a254c06ad3d9233078f0869ac6b3bb680c80337a62e939b69279dad37162e18ad61cb95d0a155fc6ad17c39bc1ec0204a27d74688e16e0ddc2241b21a6ba1c390a70dfa7b2148ccecc2b1501d6e95921b3b632175f024466249222685f57286efc152c4156b5c04221100343e4c904a89836d82cb1389130b894df8e0fdab64a51e16b201e2a7aa8ae3f400092da91c27b1a8b9f88d410bf950b300ddd3c02c0af4c0ed950544f8223e6bf820bfd5d9be12ddc8fc6435990321a6a1d79c2d9c01538de23849559af3be5e27689168a46edf93460ac7784589a7b6b5e6c36d8a3286a3275dbb70ccfad05c9d755bd2da353b867cd64253a378a3d448b34bbd0edfd0dcf58cd67c433cf2fcd328918d23da5530a5cc7afd6f0c848d0416fc9b4b0933e3e4b080d9951e69d8eaef990f90eae51e30a8d744883b298191cdc537a0c1d7ff46c753edf9611bdeecdb47761989d626a97db0925b8456ac40332559c34882a0cb7b371d0714232616c7f7517dc031873caf021759ae945113e716197c5799ccd30bde5d77544fc522db1e3f012f4bc2229b0d012e8ea2ebe429a0e20a41e1576420bef3af4d448541f742aad7985e9e05ed9ee32d10d7664c9c23c10cf928c202279e1ae8e58fce3299233b17bddbd0c77e80ae35bd58b4946f50cb639b156e8cc1b158a19b628a798ecff323fd5fd20768980c14d74795910d24733bcc37f55b0c9b44ded816ea7a22f9cf39b66212120b83e6a0740871902b490f8f1e54d8b84271580fd3c55d15848a64e3575959b3b479f033e2bed45127879e3928b4b244cbe6bbbe4ee2e425d73aae6128e5b04bfeb687727dcabba8bfba292b386dfab79bedc29782e1c721bd07e2ab9e8a5a502564aa2675a01d167a4a86ff924b236bf080394e0790250a7812508a2d8fd7111b26d7406ab4042f64f9954ab244336b35d639718604aa5f0b41b5efe42857ec873b73a5d2f1b419b115584457062476a04768a8c972f456562540565afceaeb9d75ddc1c392f1271e278d11c5819ec460c17f992770370a9c6f6115f0f7fa9d475373334ecbe2a6b51c73c7b0f2a4ee1e5031a27f635234997b0cf4327eaad08ad82ba8b47da4bbbc8dc295e054551768d89d4dcb380bf0a2390efe3a9797f5e9813268bb2f5e63abd0005701dde905310d125f9433730fe163ec1543fb42125cdcb04223f3183ec0ed011212ed6c0e3b87a5c1b5aba5428980ce9f902134cc188204df97291ca14381ad99b5c5cf8c85cf9304b16019e60b76e7417bc62aadfb3bb7d2f2d4e05f4aa6930a941422172f5085e235fdbd8834c1543f596bdaf643babb7c316591b2dc8f1a769fc0a2d54bc3cbad5194dfa6027ba4685848460090fdaa8a8be71b94e26127d37a9385428b994c9f991b96ddf21b134681c98e7595cce1f47484de5fc04728c9382437397cc81085f9a06402fb80e869c542e9ba4af06969572e1070f158c046bc9d26f9cfbc561adeae03a8f9c23003b3235f4970a6782fa7538c3073c0c3123409e12e66d8808608c37db1bec06d7aa9d75121610a13826500cca4e3c9781d0c0f0be12645217e103c184f46e6a260430e976411ad8325c4f51086c27e3922b2ca997aa927514969f7aca1e0c4b27ac4fe874a1520978624d9beaa5f463c78e7b03a63dd0999cefa04dcaabbde466a23b648f2c55519010dce18f721fc6bd9da7e93a5177c7fc35a79b905fc2eb1430d02035e75c529b7745875a3777af2d24d149b6394caee10056f846b955e17691c91433e3d35480e6583e428fa2d7be8459e560aa09a8936627bc7873746e55af60af38fb6e1671300ebd8be4e6a62742d50d1cf58e8e767b481105d78469f70797fc1be2013f2394436cccb0f6dea74f4155812150a23b7245bb42950a793c9b8b24599cd186c8375af4252b6187a37f42fc02c9e39f973f8d6ce24fbe5f115671f0c2efe19eab7382f2255b157cc7b3d032d3f46b8f85598ec8cf9eb7fc8c8ea04aa612193f0b568a36852f095a4a7bb26e880f4226e2db657aebf4b2218b932a32c31aecb3a2a3cd5a8ffeb1588eaeaa2365aeafda8141f300cbd5598d8974ca8f5b94abdb8a2a47304dfd7918413e052df22f090e18ac723a385f9a45f1f755596f249d47db25db1a084e86de7ce53d50a126a050f1640e61b788ae61243222c70e79845ab1d4ceabb206b0c81f4a2990faf5a6bcec2911d1df1880d1371e401f9391f15169e2e8261a9075bfcb06554f7eb8083c0d0b1a51e158017529dca93a5b8f750c8cc65791037208ed4fa4a2f959334bf6fd8e3dfe34014fc8541311447e395a399f91824dce0322a7da77886152281c93022b1a9730a0d72e92b6b8d14302c77d179d4b6e8e83ba99249c833eb51f8816087c4575b0006c2228341fda10e917156ed6919a1ff9014dda1776779aa7e7ea4bc5fdb626f051a13e09af29486b4878843cea8f27d41d744592dbf1eb2fe55c17be4a31135124f058e4987cba31101c27eb0fadee4e98304591f4036d167bbb55e6bc25de11f2fcff39004e1ab778c9a7028681f24e5775ae61c376cb80b3c1b764d7576f9ddd9b386f554c5c146b671090a6d55b316c592520b17a0a9134f79324efb046d8aa53abf532b66411e9371b0ec0fd537b4e59d292d26e8df960275dd8e0a244ee15c3fb5d0d0138363666c46eed11e83e19c3e23b0ce7bcf43665a1d235896eaa3822d4a8522371074036bca31d4314ccc507f44e8923c062359df35c6bbdc01841a324aaa368c721133704e3941b9833220e69f15c49c4e2a141dc8d36d8c84bdf5d298640bdfa8589bddcc5cfeba705c1877d596d306d7eae11cd0628e30e3f2935c9bf10067d4d1f624c484ada436bb07dd1ddb032f555b7844460dbbb2a0c426dbb8f7d995a1f3de822c78f7d9c8a309a0916e9b3e894995503d27426d1a5c4481dc9ce5e961e087d44c132d508294d6b6a57da1697505e01313b6bf92b449034c71bc6d086a3c782677603e50c2cdebb0d4abc252de837949c89aed4102a6f9da6415e3aa219f344fd49efd1c15f66cc8a821483f48ed8bbe6bff6609fba3f867c827ed0a5f3f8e9c04b9a655045bbb1cfada3b3a12bc1a21c0169aa8482d723b49b65db9f5a26f54ac17e8a7bb569ed0f5f05546b7506e8e612b0759ca906da6c03c3b7040055b4448bc86b6ecf1649dbfe5fba98aafd68816bce7c0e0916c753d87432fcc0196b4f6151197e80d727057546bbc2ac3b5bd7cf6d16a6ef6044a9143bc217b4104ddfa4c0a06eced7529e5ca08789d53b41b37aa480b49721f8371e98cfbbaf4bf92a62a5eef5158d92ba4376c4bf92e859674c7988082f2bf638d069ace8b9b3695b97a6009df1e420ad8c130a6ce5718a1916889c68ed03f796d1ea56d395e64f00efa2a69d58dc4d52e92893d6d85677ccb2b19d4e5ae6eb6f9f398aabf0d8efd0eb92bada6997eff3f1a637f1b36a54891c28ed05332c751dd5b4efb754db75a8cd5deb7c863e0a6b55b05d512a28e458cb688d8a1cb8f3b673b4da7ac0f89031bcae4bc4ed0874bedd80c774995fb3d5726d96335ed318b70f653f7fb5722e4a382a804f5df97fc3778fe152556ee779073c5cf22d03f36a6af421701a285c14a5b21f61b4ea69cd6dddcb2c1bec9d2b202fec4392238f06f73a63bd5feee13f966a0175ef88b54e7af21c3f60fba231089057e2fb51dd3c4c982e90ed0f69b2334244a67dad4d86c80ffdfd7fdec41940bd34649fc86c7148e5767ea7b483ccb1e391066066bb219a21c0b74a611289546897f822899bff6abe546f641735abb732df7cd55b2d4f3e7f2ec57f3d737b3811385ef00ab89471f7012e9ce162b6b319d98880d694588ffcb8de2605120acb4b6e01d85f50c6d3896c97da1552dc1e8bcd8d66b5156af8e54feed4b3a1b44f4abf1f0bc7a56af4099f2dfbda1dc23958c2b8143cf390762fc38d258bd17d62034036dc2d365bd7b6a986efaf17941359868823f0ba7688f8b0c888fc78e2f4374cf23122e9f099a751164a0d710b215c60dd9b914732f8cc152db8a7b7f5a5348603085dc8cd26da390971474e51a8bfb0dde3f957e76271bd2684e18520cf6e9fe3cf2a21f2af68164608c8d40acb081598d23c32bf9879da4862b4e2dc8639fc6953c0291eb944c272caec279dc4b235b3fa13f431f64676158c08129b4bfd5fa24d52a4057d0d05664926dc9af8dec2bc8939e1ac1957e799df49452e251ef785aceed4a34ef985ca10190d8f0bc174c86c998bf4bcab814cfd5f4a06566e775a801f6c44cc3e2e8701edf23fa3d4e53384c87cdb8c210d213a6466d2b6429d5cb116dae12fad2fe794870a50f461a1192778f29fcd4d32bcfb31341435369a50f36a724e887634eb5ef69f432c5f17dc994dd9fa9443acf96b40968b4761e9418fe5319d55eac5228c4004451f92c2f86b2cdf9f18734d55c76a642ced91325298476fb5947ecea998e9952c9b16569807b13d0b5cd677024153a67a4072cfb9c19d4abed575b8a4ed8a9318ad938317cc062837b7cce5fe53490d3a861162eedf946f6369723f7f33d69f41f95c37bed8c79054d80c444217273e5d09cb290884f1bf794b9ab7c1cc722660302a9efe0b886b84d288c873d7e49472cbc2994402b154dc8651cf308a51e0d568d2848fad6934ec1edeefaa722c0020774a5ebf1627f54d467ff9e53cb95127f1a8d0cf46be6698ef6f520e280856b171c3d0ba2fe68784edcfdea546460d508c0b364f859775b7b8853797e1d741e304eb779a58c162f56a050fe03609bd934988f3741e9587890ddc54a19d4e9d282d0643272fa6ca43cfdda88423fbac85fec8de54c150ea0584a3a0433c1a5eb1a6be16c4de02e6d234ff7c292d2e2b5f9453f18d6fea536b4704441e9d3367102758122e0d5ad86830d15727f36c04ec63d35245cb4c5e1024ce173205356482e7679a2c4ea79b78b6035dd912d6bdccd7553eb0925c5f5b73b06d943fe731022c48e21b4d51f01142a0e11c3c12459a0917ca967cf2a15ad4c9330288ca9493359e99bf50f5871d10ea96bc3d1433f0a521af8b819bb610c04f606483790563a8ec87d48f9e6b9391087c9831257f96542de18be1a947c07b109d5bfb2e68cc76b87a7edb2913541a184c987a7266ea880c88d2353505fedf0e1198b3b4aa1a0dac18399adec17821aad1eafab126c198770a019a0b3144310bf155a13063dff8b6ee6c48ae669bba4c098636f4a92bf4d413615c0f4310a37972dc9b28c10ec5764add991121a0e36415663d470b0b2cca513cb3ce6089ff895c66d88ea9d6a4ba41fb75b6471c4777b6eae29d32f92170d7d765dc24f2a65ae29c4a62d6c255ae3cd5243b0f5710a73176d692e5300e1c52e3cd590120c2e966c77a432bb39e2246495db1f518dbb96c9ecc371a359570e4fb04b6e668783b6536ef97225d18f28ec601c68973e1391434b3cc14c386fb3cd10489953e5af65b97806749e8c07fe6fc021ea333df3c7aebe96d956f18d2b42ae317508da9186ed5841ebee94e7c5d4014af175785ebc08b6bcc647ecddd8ab41a9706ab3ed3720f64d27d2508311a43de69d173863b5e7ba78b1ba97a8fef2dad4df3bf1f4d79f859abe9d2db961bddea8386549f5686372483676d25ce03ae0d787b84e7cdeae7ce4101c7f479f2147adb3290bbb42d2dff3288efb24ea3f328ea93f99c0f0046373d349011519a289600ae545747137198aed37d60625ae38d8f349623ba735b758a7273d90e15a9a5ec98c8b51d05629a963f81e4275ef5d395874705189e5d7abd353937c287f1651c77a91646114b4512315c523af46001383d7806ad64959645b9976c68cca7c1653a74d402a0abd101e66c92336a27e821149e3e10e347d03890fd9662f5fb7b77e61f550698d6f2b867e110104b16bedbee1e1562a8666b069bd39dcba328348505083ec4d82dbb6af4b716f68112f9273c5b8b928c68070153f6c6cbeb0373d9bdd9657d1ec4d8cfe2004ddcd29a895c38df0d26922420d7bce574ec4566157ae37d290bbc892ed1d1c9e2975db2530c0f7da85b61bdf3221416c6663aa46c51a5bf55e4f1fea4468d49f06a807a43145095b617275dc35cef4145b4c2ca826b9ba1af3c300e56fae197919eb7c352319f0fc5c95037105f893e3c569d65bcec1019afe068b47af85db69e9f80793dae47b748df021aab4a6c6b8feb6f19c5ef045d81aef6081084d325910e983138fd866008808fffc6910d8334432f1070d4b239cf8f825eacfe44b64aa7772df05fa896cc5b4dbb5fbc5f9315256fa9827820e353f2c92d53c9eb64e8ee3a6494813af6ea1fb9448570d337d5b8bc468c31a0914e0116392039f0f4bed0607e468670244a1d00dee8080f07d507b4523c1d23cead71fb36982c5c3c9b449af94ac134502af88774736911536cd4c73da7c3d2692d04034e67595398fb0eb66b9eaf7a086e23f01b851ff502f4fa852cc5be88bc8edf56893ff70c2e0855d39dedbf21df019ada0352daaadbea3327803305c034119062d9678bb2d8ca0b169281a25197847b005bad180e5b8f8ff51181ce37bc4c8bbc7e73c6c49a31967660a6035b94f0adcb37f7409fe63bcb64279d02dc98e9ada63a571222b3ee37ea781621671262385e8c3f6832cd96e50f4af6c14a2102e50e7d49884786ef9abe759d48ea7535044aa582695bc7a7eb3ca94c05dc64a251704f17da89802c5e079c8c7419e4b584290b65da676dbe551f421b98500dba13cde96ac6d9696e80794d4b9367ed6048629cf3a79b57e8b386c63c1500d9a13c859744af48df8d8032c03175f637869062c748b6f2c8547e7dfe565cf5b5b7abe2d495730650f8e2a56a2143da648110fd86c2a75a2aaa81d44c37d90be6446136146ccab3c6b7963cc89a694cf6e41133c57cac21234ee427e96d2e00b502b83d2c6725c718180530926ce911e7685745727cf30955c3fd9be211f2c0524ab1abaf37aa761aabeab61a43eed953775cbcfa4d2597e4684ea66d1850fa9a3dfbb69e53d6f4842db291d3f65c2c68d455312831b8321f3b998ce9f78283492663cd14ab4ac37c61b445c1601720b37fef1e6bfde2e43f7beba6eb4b99bdc72700e35b9491072ae4ca662be8e864b40afb3361957d4583dde2117facbdd5e03e785a56612e5419cae8b4f27d375fe4c62702f1719a1c3d2721251cbc9fd5a1e53524ae31a9149da050ccbbc428be4e2d212979cb884f095a6662623d93a3452f2f66a259986d63d75d15da7fc479ee573de372eaaca8de2890186085018a4c4a8c474b18858ed6fe593c9099e18e9af50aec81c255f5b8530c25eb574617fcb227871bdc0c157fda6b72bd5891c7401b941827578a8c5f30facfe5f6fbca996df19dc47f34998ef490774416294e3a18486fb1691ec57fe8d6244366cf64769dab2b1a175ae5ec42e30d80b5c79a2167a228febda32ce1523d964ba556bbca13d18f190b6721e5a3d6c2a73ed8af693314536b990789a25bac13861fc1da43362fa3d1c839a902146fa30997fc5bb818497208a5814793d531ea2dce768a713d8ed92cbdb3a5d00b65212f077898b15c44d9a6dd6d1a6a182926e2490936c7a9982840803a56380d08553a2e449bb869b6cfa4df614b4444f8b5a96478f2086d1a93890635d4f625fa4b7b43109185893d356e415518729f65ef793e87e18fee17c839f809c01e9f5772aa77fe296062356819481c1dcec199e82029d2ad513673404771da86635ca39f532705baa57a0467eafee582f945909405626df74881dae45379726e17af7d77d2948a328cd042941029c2f3a37c04a5d8f64ab4591b7b2c935466d5f0e75799e53f6b4381d2eb42cbfebf3cbdb5f31cb2089abc91cf489a4b383e4d777a39fe85ae9ee75ea5a5b7a31a9d3d5d400083c5765de51a91952225a4178f020ea61129c35128d19b70e94049e1993fc36546d08b3f52ae915e1fb76071723799113cf46ee1dd461056aef0ead74e4bf7e0b321b0ab6ffd6d4b5b6a8bc784ca5ccf7291df9de764535345d7435ad8184ddc9a82d8575c2453c5a20c59c32d508c1e3d4e0c71ff37db3fdc0e109f39a4581c48b5c88814899d1f571b12c89efee36180a63403444ecee9e94fd2d97c6f1284f4e4ca2317cd2e120e4cc27a2995cda7f4618bc85755008fcec80e81774c36308f59a2946fc0ac43c073985eb7ed3a5204f3c76e3b9531292230a5ffd809f8658f87a0108d99ece95fe5139e65d325843a98187580ab276c23412950269d7a2ef7fec0e6fd173a302edac49d42b6a104a57d0075301b6a445b2ca05183a72d5abef0511cb9faa72b95cced136271ca841cc265c5a4ddd2bfbfe6a423c865dbb478d4430f82ad4dffcc674f0ebb1370b9161c3a151f650c31732edf3448e40babe5dad393e9d7b96a07eaff250b6600eaa004b29aa570e938bcabec924948f6ec6dba2d7272a739006add91af67250a0ba2027e9d4c3ae5215aa4ed59003f38ae591ae34c2e334a8ff0fa67ea939981aaa69d9a403d3a4c8972f88029bccb3a146bf340d895616198870655edc1408539b310dfa91b7de89239f72870a92fa4237ca4f8b6083ed32caafabd64069dbc4007f6226a209a8f1fb1cda7e51d75b286719657b2748ea7be28bd3efc4641cf9ae3da14ab87b3a1b9d752d8b51f3d787beaaa86afd91076916c15135232fa00b21f510f821e5e3c27c9e17149f6c351fdce8edb95c4015b0b2bc48a9dec357ce34ace19f1009c5ee80e2063c894c51aafabcf71d95f7cd8c108e57c9f243036e9b132ddd075297a65a62714f948e0ad306d8167c36e3d04d3be36777894713b53197de0525d9562d71a85c96823268260e8670f64a45ff496d9cae2567b1ea8470d0481143050b5734a7204ca98f34833510995d399b404d24744ce85aca13f46e8fe29f30e4a7db91e77e2d2c0d56a596425200bdb06e369ae76895cdcb7a98c121c48ef735b3d63e6c0a4540d4a342d8475a6449962578da8d0914bd18dff6069ad426ce0317cf3103feab69d5f8ac9a042915e9d7d9c6ce3a55c0a67238752d607e003a1d77ecec083e9988797beaadd445ca6a7dd4411e36b84dee60f4add419c3ceb9410beb3a1338eb5e869b021e02fdb49925d1a56730cd469d8407baa3370b53f4df5d048e4e72c209c120297541bb26623843d0d0c150b960d5fc11a4fad2f6b9c9c0929009cce9b5e2b7cc2a816028d3bbd1c5112523102a54a3d8397183d4d3aa4db30baa0e798271c93c963277b292dfa0c670b747fb97344e0a83e091c6847892a3da0760c0fe7b33de6634e2e1257a6320619732702a20405e1f5a9a8449d1da5f697e0f6ad238d3a728cb48d4238414d932c3a85937c3c7bf33fe2709787a90f1a474ca87447cf85d08968d23d73ec64af6158f9eb5400983f6509f7154c041596fc499ea00632a5495fcf03330bb8372a5690863e35f8344f197ee31c02e9beb8838d76a534b2464903d886053c80a386b03ac9b2f6eeef6a65f27f1c6e82bfd016c1a3cb9ce0ed12a18bf091553238869f2f572806606e894895de541f755b9cf61e41601530d5abfda98cbb2acd7c73e5290602cf11f84f338bc63b33e2a9f679fbfd32b8c89f5fd1387bb4d47dbabb1420ef4aa79eaaa34e0303161ea5b3c8538b8a85016747047a9bd4a9a416ab958943dce24f885d00727fd399f4dae5a26f838e8676b122df9d15bbbba4dee881c290c549504e1b694712e98faa160384f70098bcb4500aba3551c55af8b49152ac38338f8bda9a05758c2a287dc79a6acc448b87066beac95b89a35353da3bed3a67edb5ab1adc01b004c19069bf19b43e78c609c709ccdf42731f2b32db7c29c8b1e95660f0731863980fdd9c629530f43457827ddd9723b2dc412afe9873edf2bfc8a008818b0ee888b7b8a3677c3885d8652fbea0445fc57f38131e770b49df17a8fe1a301a9aed594400cd8dc735bf96245b812c15cadad36ab32a8be097baf26a6ad619402dc655be0d23b6b54a022677106fbcbf12cd50b8a8a8995dabddc65c088fa380abc0299fc64a1ae3584fa4d9fa55313920584980f36a32befd29b1f133d41a39eba726ee237b3171e79787f0d58c4bd16c508829964ca819bc6bc150177f6da63967d8c4ec7f5d62962d76b3b4f0059f05b739331cec8f98eca3f2067129dc27d3f4ead0f56f24bf75c008d14631a87d95d9a3621a559afb00b3ab33f42e9a6a97a9242ed2ec2e8dfd06e1f8661d2ea3daa934522615a120ee50d63a6be9f9ce0a885cb085e8de8734d7aa8a3684d8890940abf050553d08615f71adee450a51862166b76c0848f56912fdc004da75e4833f37c2ad788ba17cedd43c56784f4571b49c2f060891293b0484189b7e70cce719ac1a25986f5875b8eefd4608c94fe0e049de9e8cefe6d1f8b27313f90de71b035c522c3103a9253ebff6ef2c106fd1a229c6217cafece646b2c89086dbdc695923daeb5da5806b457f129221403c27b2838c42ad728062114cd269cfa2a37c1eee7fdc2c8f5b672b358d755d408f7c4666b0bda9a4310153ae2b6c24d4229cb493cdb85a7009c1d7e57a1c45388fdd145246626196ff64cb610e3be72755d3019955aff9d6f0e3decda3d35992d522602421812fd23bf85723bdf2a523b63915b58f009bf5c4428cdef674027cc2d0313b7bfa353b1796e2168d6deb61a1899b039c71a369efd865bd014c1f9b9c3356a38257189a2ac1380e09edd7d928adb729e8020010e6772c18c915d6efac10e1f0e1e232a361083d313155ee3d680460385e0ca5c618ee0d30d3af1b825e115ddcb1c27b61ea692d68111f5a0ee37a614651b4e1896fdaa51e2eda3c02694fed7a2695e076d94cd74a4b0a20e20ed57b5165c02f8707d58a9567788084d01fa6f0142dd5c8f8d06eb6311d79769e33a2783fdfadfdf591565026bc3a102c20b86bd101aad2643117442c58fdb62c5a336a4196e67c8ad3df36babe81826a7d734456ddb326c9bd29dc9ee4c75ce561b94f2f689ecae847c06e186d200c3663571915be2195cc7170ef815181c3ac7627a280f73cce2fa8483a96d9b529dbe8b18f94f1b6169c09da610b253cee329690e611267beb207458252ae9a897d51a5291a2732082dc7e7b551a6efd620a00f4e052768019d2b5715c0ebb07065ca2201d3cc69e125fe9c1e3850a45927eca3e65e5bea65a93061e7531dc810c43e6f6877de091beb0a4f4ddde31c59912c7d0e2e69274fe43fd03d5257e8d86f546187e6ade057141bdf9d962b597bacc907acbce01e4611c3f0a4d3235349b6195fbd09f8a696b050368456f71c1b969dadaba629bf609b08f08ecd3a6790a941c6f359c4c2e8739aab9dfaf0b67c68c534bf6b755ec237d964a193e3db4c00798eaeb3f601270c53dd85080e9e5fcf07406a0b13ffe224a909c7fe5a5f28f00892149ca731ecac866d72ff9534c4a954e65ca39161c32095e3dbd40f208e78c15bf3e8d0750ba08111af039549af83e32728a1ee7c622a470cba9f9c3a4e2aef1f64e54fbe13a9ff4e412b3ce2719b834ed851b8e2859ee123052ad1ae057489fecc98fed0e56588ee52478919659365b36ac2fc78af6bea01ea18dc50b2ba696a9d1d11834323ea835d6d80edfa108100756ab1d103d4b825eed7b083d4238c9a024d9dedc4d39cb32a9cab4b712c13f9fdbb761347087b97540576271c45284b93f40c04472883b8c2fd70cc9edcb15237ff15d90ddbcbe031b23a295f3dd81120067d40785c86cb10eec2984909fb41863a041910f3e0aa70b1662003d150b109ed6385d375edd6ff3130f93118a7dede8956f1b9e1dce33ab29566280dd43ea8f1c6b3d0745b09a797099d771010f800b28cc644c710c81e62ef5dc8c7a4d0f9136125cdc88b55fbad74d2797f839961f8004c7da2574205b0b1b3b607ddaf23d1cac45d5ed2cd073c9dbf2dd4d5c503af6ec7c9d91d62627ecf62e4796f317c025fbe2b97f611df1973a7229ac877993e71e2c410fdc0f188f4fb390dfd78c556af93587f5f161a0b082f08dc72871afedba7a4f9240e923a9608052cdfb30a0f906f225ab1c72fcb02fb0fb25f06af07ca159977c6f1a3068bed0ccf3027a4f7c518e0d1ce8ee9f94e17adce851ffd902d9df7e861506448d5c4cc218b33feb8b7a2525c6a420e6b5a9e62b0e23497a1c5b0d32df8f8fb4d6a0fefb4c4f879ab5a3c63a82c645f98cffee1bf2e132552c1d7869b9665640b6e94c64c46505062f75dcc5651710f068a0335a47b5b28c7431f13545425f43cf44e5621bc185c528412d2e3fa9f55920fe973c2ad67fd498a6868f98371ba566eea14683a1fc8a6c4c0632d20105c103c610b533c4ed76393652f0408a64255337581ee3f51ecab3e8ad4564fa9c4441d5952978a2a7d78cddf3285ab92e121e4375c8f88a531de1d582b289cc5cbf73ed779d2d24f4165bf3cc96d6796dcca939867483b51f544232cd7e9645ecc7244422fc105a0ceb5bd370c8805b1fafeafdbee2ac0b96f8cf869b845dae63749ccaf267d4798d265bb2864b2f67b7c9d42f9cb60941d73324f57f462fef9f66307522963483c213b2f16f4f924a297fb82427654fe9824535eb8ccc356a6af5b2807f46d578fe7d62d79d88f5e3cb1d59d85b3263ffdd060fab10b458f47ac4b1830c85f4c92c71770471a9eaa90ec51c41d45150e370c5ef2a68b5aa479dd0d097cabd14716282c9c26f9291a89bb238f8d0eef033ca2ab2490acaf80133f78242e948b70fa00b8b50729c9e348aab2592bc4f404538e7b8373e80d29c546fa5057ca583f7853e34c1a63b569d332a9c44fff3a53262a0eaa17d4458d06fce2b689d2b8ba6713c47b90cd92422131f251a6c0397644761be7fd3f5457b689cf5ba55f6fa5482527d0505b70650562c644f5de375f836bf0b3c6f15415265e2537302a039881af6e07daf762817ba46f1430db2ef018cc5814119a1981c3f5e2325029dd6c8056576846104af4e80dedea7870641b33f41ab8ce9913498dc2ecd5d897865aa4a5b5e2e97c0410a41df6d75fee6291ee4c020b6b748f528ff9318c9da51741d5200b22bb137e201ee70485a8713ce69db0e789f5e4efd1bfcc2b39a2cd0b11ba9fc8a40617e814b984312653024b1e08f1379cdfce373ae1641e1762160ae3f6bc62f51b2ab90f3a3f14b31d45225f3030c382599af5d385ca13274015860c5b040446996ac8659572b4e9952047ff9c85bb493681787b2808e805b16adb1db97a8b3c516f19548a5d4c7535e0245f559883a5b97854848d487b5bcf23fb2778795f3391013575315d3d9c6b9db3d544d7930bca83502d249738aea302fb8c4a066e904ded912c02665402e1a3d90b6aaa6830bec412e8b790ff0b57dd3b36874f750c4128856fdaf4c17604a4bda1829060a0b7632f94dc0ab6fce260cd1e58f61c11d746d9d566b1e2e8da37e6752f48bcea9ea5577e22892b379aff5d7b7a7cad55d0ec19d9df4ca4fc6e740885bf2d77303052b6afe351c2bb4637fdb4b97f26a5d11a3753a4d7c844121f4b806793fb3f69a7f612e123d77314d73c427ba6bc55f620f745ceb8f86515a26352065d75998005d5a8277f7739dc8fb79e2b0ee757fc9962c83daf29b4d358b4766e45e8264f6b87d334389c4b75f85345081fd32142ab31221371720359b6baa07ad042f5259d8a447af7ae2ca6d04ed97eac10c5e518ff5ce3e0feabc6d82ed95e4cd49387ec8290e7268929e420c48db14f3fd4b5767bab45d90b4d35ded16924d85a9f927dfeb4b7560272bbf490d488bf049e5d350b0cd88714c209272d71d2d170a30233c4ab665264600e6255536fc5e147a821dadecae785ec0cb5adc231019399df8fe6da6f5593c76e245d41769b64306bdf03a2381436e6d164309fccf7262278175f5fa91b3dc46ad4f11e607b2ed45062e01bd7ceba323f3ebf2bf8548d7260baecce55e08b265bb59ad1c1c70afca427353453a3ea7661e9f22c6a6629728339217aec44a8b3f53b53d5834fd34f0d6f1f4de5988bf9aaa351dc47f90194d09c00bb91412bd0ae70c0596b73dd24547dec6063d73460d96b628ecef480f8005f37bf36787b11e8211433abb17e7482efe8e7a3450fa60d74c27426fb72d9a3f36954213fa2c4a393b0b6e269cb735203889016b0cd8b106dd361847ac3ff775e66dbd5497aa863859ed8899ba9e1d7a2c24b82ed283197a7453b8008fa43dd880c29c9764b8b65b2642500389630b4880015e7848f1c0b1eaca6b32bd51d45b9c328577e78d6d3e81a599b968700a22b6b6b15509ec6439be99d9ec0a4ed0960cadecbeea933a449c16d410ce879c4d46838d503e87b9947197289d84d59ced1c3c9cf7cff1d4661e138d7b7aa4dced16270198002abfef25458c9d54b4d43ab8864e0e87a09d2e24289455758f09eef10c5461b4994ef0e97db7e77daea5a25155f4604e9370bbc17c2e3e72704e25195a529d8143fc0f77c598c8bb4b573a19658e0bc5f2d7c68bf61cb828a9cce25aa825bf3ecd70f68a2a7e0047083c04250b7f726992685a8a6175fb5bc9ecbf3227d8473860eee4faf9fc665ce9cac15aa9e2ba086c18f1643176b6f171862ff8080ea508a1f303d5c039f863881c3201b5e96bb5295264a59ca66352eec6067bb085d6c2997442149b42cb8ac0f1418317e7402214cc09a74e4394680777f7f299177ecf59d564f97a1d1271aa9107a4210c6ceaa0f55f747d86ac6a4846eb5e7686f3b38c94b4ddd4b8577c3faaea5d1cf32ce95821b63c452e6c8910012043844344f363268117a7e7b8c0e824c2d80057d44f0fdaf46be70453c18969817430120e452fd658ba3ce0e6efde320d924dd5b440555d003a40945fc31359cce0da1c7517a4e354225409c6edea2585be45d9612034d0baaf16862862afeab55ee873c940c700d55426d96958be2ebb3fc846efadb1ae1442dbdf93ed097dfaa3f8b45a1d65c0bbff466586af70d934350a97acbc73f44237195ad5d121072dd1d21317014a8a3e6e84c0bad5ed295251aa92a20a5a76770d625434ed2a538862ce903449b059befde4c37fd0ddf9e5e7fd118e21a72b3052805789c6ac6dbd5a17d831aeab041dcc66df8317020c001560315ed50e56f74bf4ad650202671afc0047cddaf3ef1745f49135d1d52a275e41b5edc31a3bbdaeb1da05c52af56014138698cbd6c5e92721bc4aee2d74a49beeadc90845a3b25e86e47771b29eb3cfabaec8ff69434851945f303b301f91aee7fa3e4d2e0f382c3f3364cbb98e2ed62abe12ab1d52658bc8dce375d8b5f663931a98504cb1b57aaa737a64c5f6bb48ab2707fcaa8ee5ad9e2ad52bc4120eb47463b3d0b8012b197c142e5b00dddb374ef920b29d901b2ce8d7bc92e1017cba1b66347e1e4a12496f6eecd43b7f65e9bc82803c95facb8c23ea39d7b84a2577e4ce27d54607ce2cc2bb35603510e685c91c12f62994fe4072d1fc227111a13e1b3e4ca3cd636d2c713544330136660771a67f4977b6a04b63796f6c0021d93d198b92a612dd8d3abaab11ab69061325f7b31e0c8dfec14da18fb9274fea7e52b6c2b032875ca0fcf0ed9b2fd8a8f5fb0dc39bb940db1365a83165631e83822a59667f96511deb88740c2660f0bfdc3d01cae29a5df01701ee433c5cca1ff6011d9747c3d80efc1ce6941ac1e1f173bb0153b3fb30743d0c13c48b8e560467188715586980b1bcd4fe99fec0ab0cc3fa14b30e34d14901118d4d1c430767cbafc6430b005f78b44077cde4d4e5f7b9ba95f133c18da6151e486dc8510640540c8dd4b03dab49d4c91bfb47fd6d29fd8d0c4985d88da7a677c8a8f16377f21fda49c173ded129d5215130f8c89d896f4dc3bc7745b0416304912a8a845234c73f0ac3f8f8bcca3ae7b85093e5bafff8cffd53c4eb63ec4343c384d235445874d0acbd6e9ef52188d7a96744662a9ebac11b0dd85310eac30c9fe6da31c031c6ee9c50494010a2b756bab1bb5a382132e303d78a35927bf8b9a3c3bde2a674f93eb41709b96ba3d293885816ee3ce3d7214f46ddb833e3203e37fc1ca87a2ad69c6ece83abaee2480617475c90e8c7b2c87ef5da39190524b249b8a789238c88eb5f0b6dc108d11e9a71ec23cd21555a4c6b644144b07c59ef6900aa5e41720f468cef298f919bb62c8dba107d261206e1f165d2a59b95f705ce044b0164b51bb0a6285566b41edc0eef9c98b75ac0ab12dd0f5f27e17af7d514ae339c12ff88e680f9c2efe45f52c285fd5e296dc2e50adafcf47029239faaa8c6efbb72a1f2fa1528798378a0b334dcb89767d0f19c5e1d26847260624a5b2b4ee0e5e8bb58c73fbfe83cd9343051c9b5e071503cf10f58bb88834d50a60c758dbbd0998134f4fdba716af705141e4a65e9f3d41a866dfefab9ab4558e3448026209000052695e9b631a71e597dfe4615277c9d0d4e41d92076b5932ce7b22dd7db7db8cbb77f362473ffe4e9487428332da733c59ffc19bc042075c3d5c1599e0c8ffd2200de9795022f4cf83ffa5629da46afafb44cc9f941aec209de4c4034a56ba204e7e061f8e690ddea23f9ac2dbbf95a5cf1569a2569626988c9397ca2ffad388f562a25326145a5f1a7f652fab04a6774cae7396d7f376664895ee3171c0468ac29102710e4dd755576ff137fe392d83aa2e930c1b6a1eb71d43b50ef1d1764656c63a00e5dee8c471a716b9d330d6e20bb4b893b4cfc8cb890155c339a25558efd5741c6d3148992d121aff885554f76fa67c8549dad1d22ea4f31f6693eeb9db4e02451c85b34b410952d539bf59cfbf460fee733a4f569b78eb18420fc93f0c2c5f19644eef9c891455d43eff5b5b559bd67647044433908c6ac1c248b55a62dba160f5a9deafa0f0d1f483a1c7cdd9777aa7a167bf77e554cf6086f4d91835e351d99b71c731938c8bb41a92c6eb715723850c3030451a79a761cd10a0999bd414e69a9394a606fba69275e7dc76c61427d117eebe471cae80e8a2ee7fad5c1dc38b2f737030fa87d3374c5c0e7cdb77bc6d677e69519f8b2be687b8a1e789e4c49d797e084e9796b5301e86b5a40289cd0c3b546eab98312e7d9b60dad164211133faab018e0ffe711657b7244090288af294d5dd2e97d83aa918e8b80717478dbac76f136e0415895bba048cafc631a683b0955fda909b0ad0ab47eb6c391b348daec65c5ce443aaa3e07ef93b140e201d1191ba54973fcc988c553630e17c8e083a9a966cbbbb22de7e327eccbfeac7060d0c7602ffd79e8ffeb96117adb5598d9d8fbcc1d02561f1e54e0011982e793bd40eba7f28e52b98292f89bc6df615c7a01423c1a1c09ed7dc496d09670ff4c8ea90841651c2e7dcef2e8599772a4859cb0aee790bb94b1f2d792881229507ee31c55977213fc20ae1110ff996281468810ae7f2b003b8727025bb8359816cc91719781dd5fe409d44acafde35cf50d0cf90af41b7c48212f5796d4e6afab7a09faa6111d82ec07af43062cde840c3352346f50a37c0e54b44ec283abbd028c1a4c6212ee204351eea286be49e8b923c78c8bfc90ce15b9b3fd4da65812d59bcee27baff70f9723c9b676c4f3f9a42ef62d885b65f085ddb4451438e0eee6b922e41c87050afb6b7fca4c678e2624346ee46678835793b4dbe4c95b83107b7125b815b4a5d84ac84d0ff86b0730328724f95e9c1965e8403f4604f3c8a189a127f578653de789729dfe7402fb99bab0aff3f5b3246ddc96775c4048f86095919a4ae0fbf4a9b27fd3a3aaf173fb7821c3377e8d0f0306f23e74fa2bef0fd597012c7a61552724e51249b566c0ff7b3a422eb2e3a02064aeadcb29d53fdd398c707ae289320a4b77540f81a9f5360b8676392e319670379dad237b5f60ed9dba1a8585022d9b782cafe5123f06a76b4952e0c6bd851d3c7ffc2d6d035511baf1330fd78908be32ae7f15262da0b6574e4550a85f274f289f01d64c0cdfbf82e8d0f43bc4fe1a8092c201d0a617b88ef4041b2a95ed6529d0c07d24064670467ad731e633531d2ac2c744263f0d1cd88a5f81998a0df24d6817648743861814e48c6de25873382a04245ffaf2dcfb0f47e79245378e2678c6f2c037651369459e12883767e564419e0c2200fc459e71a9e4999dd07afd241660377cb8f2bf5ec04a0b75c0487964fb444cbd02df4ab0e9458a915895185391530556b190161b1703a5ae79dfccd5ad3f2df557392e9257698913aae6d81d20d50b318ba84773c782f3bf41695fb1324d5dbaa152fba1d842a6109bc90c82887bddb9fc7520fc0c796eedabab3cfbb9c0ad60bfff9adee58108bfe2ad0c5d1e87633a2696d60bd79c7f76beee03f77582dc9c57b2b2e74425dc6a4cb072e7855edf8ecbcc5ec35d5b2f95aaf25151f91b7c653eaa9778d6b50119713be815031553aa4e1289fda58eeaa604c6f51bc8f8447684329d34a153d71221c06d7ea160ab64c5a7d79fc4e04417483109d84738d1547cef893d952f160f04d4fad90271f2254eb648249cc20d77adc0b2e36409c0e31e538a1d48dc47b0a4c085ba94f5987b7ab25a805598e00e9a137a230db239cfe0065a4bc4da2c83a098245add0d74fcb1c2efe631aee2f6c9ae4a52a138525126f122a5c38f0cfb50111f2330061e98726138a898c1569def6b9785f0e9c022069c54d43e56b83aa2f5ae56a6bb523087153c926a3a91d2c28243459d5e884b329bc1d6e5c3de418f8000e7c3c80cf31c1e23e0a4c95ef9f11bd6989caa26eb9cf0a8c88b8340b67e4b999878ddf316ad1041851ea7a85d43b6d38e3613d05cef172705aeca7cd518bb72cd22dcfe95441fad1acec4848ca81e31c5537f8961a58e239260c7e39b63a8e82dfbbd356c20ede7b01db7d60aa323df9a09172b18882f308490b8c140c96bd4044438e26021cc5744f511b8d2872e680cfce7d883067e59fce720bc9cb356851ec4b575eb192dffe0ebfb0a2d1a0bc26d48087884cf24be230fc5e394014663dcc11141c7c99c5121fd37e40ff835bd43aa9a1d4973a004ca38c118b4c76e42a18bd7cec3ee695cc8f5b733ff88d993e5cc4b5b8a0bcaaf4db82eebd5ac4150f2da4329dce871a1372e2caa0d0726d0af328d83da58c6343df3b38150e5daddd1737442798b01dd35a478f9bb96f0b1227b30ac6daf90776a0b173c6f961742e1c042f0f8ed35af04498866ca2b4cfb7bc5569ce86a8f9e48217135ab8559ae283ad38677b229f909e6066395efc3b4d12696969451ff810dea7fc47be8da6dcc0cf3b2c56c5c9f85ba01e26c1cb5b055d6ab230aef53172d034c70edee72584ff38344caad4d5e6920ea5be0b47524fed7ad9e1ff5190e6533a0c661f0fb49258c134b5f0175a296211b1b599f81a44be616f2f7ee399105ff1fa850684361c5f8a1734822739be2730a658f62be9ad9e89a51785eb9afd8a2da8183376e116b2e66d90acdce8dac0796132a166f0ec1a88b5252da6c52561dc9b9b321c5a05edf0aed8b652e8a0b946907e8ecab4ac9e1b425d7d1424ffd9c3ff97e0451841e0d8f3227f9807e5711be2a486a6bedcf6fe365a1422879c007f796e6b53beb5660e5249e4928db6a6adc97c6e1e4562d5835c6e92aa3d14ccc2f3b6c193a7115e57de5651db20ce3ee22024dac9a5176742068d9184333c404a9ed98f57a5ed8e5d73d2cf593c3c9afeab8a4abb6307418e85063ea8a7a552b379cb374710b924cf94b8dc62750368c56d5488708b650b10ef54930a6b9d6188c6eac318557035e8e41f611d28dffc50cd7a46b95015851249617d3e8904c3a2b39bf290b86bcf2016123fd3747c636ad9025cca2a5347e12b86e44d44a461fdc7cca4a46ebed04778afcb143c344f115bfe0b0592965dfd34d52a91342d23e155e1b28defad36b1247c25a09791a0eb83ea3374d858990b3496f3907d2560505f3b68849e201d0eae93ec00d3c2a4a9cce7d4ab41a0b578ea5187bda4d39bfc26949171dbd4373ddf7b19250b851e3ca347e5e7cd242032f9ec56d03dacadd998349ce213dece9b182b07c5ba8c14713a21963d75ec2f3e22a1ec492e7c699e5d9b3afbf101a199d4654f6e7693c367e0c81aa3416a6c4e034156d9c2449b7f0a8c0a03c44259bd4a65403869be70a258c3891f3e9cf4da25217f0da58e08ec900213875b3dd7a5515b1a51083d7bdedc753c1a4e56ce4666f464b578cf5e28897fab8ae40d511cb042db9ee74b581f8ed0ecd5e995175be6a9407c823a5d6d6948d2f13246f357d9500858eaa4b474e0077062b0dc5b3603a01cba54306a15ad57ead70085e25340a9a60e28821375afd7afaafaa0acf8f70be7fe869da559da9fa568a616b055b63d629b787d41f4af500ec30e83eeeea6bef2e8ac2f3efb35048f355a5eff4f026f0225f0397161424d615160bf16c6bdd45b384a6520c9854211c904d8891a7c6c8c095c1ba93c58ada1a0ae622981b0f43acb2e18fa36f44e6b961413c6ff381b5acb0e61161c50160b43ba90b1628fe86c94309e2fbaf059a2f7adb03282a223a33b9e50c110b4c21631df9755fe817a2869c0120d44ef4526fb0dbd4ca95cd830ebdd7e7f13a9f25c0af3e2e6e33c657623078912a245db89f698909d6dcb10692bd236491eadfb3b62e2957c001f952b637bc6188aaa02abca084e2712cd9eb88586a04d83d81c589c90061f1e63e6eb60e967fc482db362edf4fda3fb6b8f1919b63d6789d02a0014cff679ce60c667122b00c56eb15480df8830ebf0e19120ff6cccec049518a82caa8644d442536d450f3fdb8aeba6204406dfdddea3e9560e8d588df083dcf9eae8985fd4edd4ba769a98124f6b58d6df44e4441696e126be6240034334db3f5a537aa63fc5def663765825bd7acf0cd4f38c207fad910393859cb8cf1b5611ce11ecbcea6fe49a4a121cbd4ad21d2148285f1e4e4d14249d74593bd26f21fb32d9254d81022df0c9f79457f3f18623321d7a046ad3a3337175758dc1a00c7ad5de65ac4242fbee9f6a8b418c4336184139cb216b0920cbeba4a69eb5065baaf59ef17a1ac195de23df6e96e051a4d8e239abc232f3dbcb78d7d7e6522fe064007dbdc47b306b09b1ee441d2d8551ef0ff84969f4871647d9a04cb9743fd3a446d9ac3a83716ee7b0c29cade18892b2de8f816d2d27472074684f77009ccc6701498bfb4b2fb812d9a85da06cd77ed23cae6bc8f051384f3abb995cb10e929e64fadbccad24e5a8be52aef5cec920a6886279d6a887db22137ea529b84d44e85c7ac03bb4cb21a2e1e93e1645c2151a2db24dd5a8a75054b2a509fc4f9db597d742053dcce57a9f4390d788064639a9622f01e2c335a4542b7f9bc14d87869e8fc7b94fb43c027bdd6ec6dcaee36568f8c7032114eabe358bb2e17f1ea3376103868f040b0af36e3d41a27c5e80b6438083bc77c048f73cfa106f069d0de7336a3d47c7c6b98c541453741b881d7e85a8f713626b0d04cc64ab1b697c97c8eda55bb1555cd90609a934b4f63fcadbebe3e44d101cf68dd950a2d00c81174ae660de0eaceaa60cb85dd7e5c140d2916b8a1b991c6224f856964add1280af5a560c1a1c60ec21eb97b1a51921b2c72bb1014366872719db6effc9a8c04ae7debbf4c400a0b84a66d4f83cf9deff36b2cec4802e45e92f4468516d03eccc2e5b14aac663236520a2f1230d799d02d1428fde7d640542af2e9c96b18df81f15ceb5350e13744e18cb4092546389b207df81370c2688a5108f8700a0129210d0e0d2aca6cf50bd3e196889cc47d5c1be7ea2af2dd515a53c8428ee515b389d99a2bb1f08a64c8accb6c5878fb8aaaa61c5d85c8ed9dee5f7595f26a139c30efbb24fe1921fa3944abe9887fbbd9858979e8920de89715cb7284d772daeb3dbabec084fa5378b81ae5818a257cde73b54f6c8a46f5f224425d9fa8cecc1c49fe60c965abaf3bffe3df9c5f79ab98db4f2c1fc3ac45b5df235d4b3d69ecb0b712e201b5b348e0179726949dde29e1d523d46c4df93ef149a14678cb1b1ad1f7079b3f31a69ed29ff8f147654f19c5192b0fcd5480565acea0c66bbf7089797f2be320fdb496870f199c33e72995473b5514dca7bace824d2f249a3762f965980008d728a87e29a6097f6895e21abc848eae737df55d31570571031411913e7c2af0a1f40aa9378bdaefe1e7244815a30ad3434c0255b59a0555d0daddeac8fbaa424b29d10f0f6825bb362d0b1dec7c8a4a18be2e2d0270a7140b38539a55317eb6548349a6ec92326e7452fc20b84cd7189b406fcd420216df1da65ed48f07146e441b245d9f622b7ac33c940e386d4da7890ccdc0b23ce75bab2d1c85a452efd3b6d7e5d65d30f77613c661c1793e714e72062fa87b2db79cc94a6c4bec29b5c89af7ecfb8acdfd65301ce9873cb8048bef1a0d8ec38a4bb5f85331459ca25d772baa70711d536dd81b997a8172fc67aa4cff7a2c866b85c01b2e2562b1da067a9afb87635f9651e9f6bfabd6ded1e257e81daa912931f311a7d4248e1d11e12bcc04fbee6bf316906c5bf5da27b96eb279ed3fa25365f96642434c203fad8a6935b3010ab4a6313b62f576247fab0fba03c11fccb71b91f15b889827566bda28578dbe9926d8d3a820c8479bfd9878883a814a012844120886319d2eb944d62e5d39ab841b28e9a84c9e5ed9308e32f69844842f6de64cbbda59452ca99090309f60855522799da8f08cda6afda108ab3472449469c2df441454ddf3b1443904bb79414c8ad59a9bec8e3c5d5f5ae2b2924f4ee94e50d4542298c2595c90b2769a9b573e6008acb93520e8c7252d21e6f7250658f20dc1a5c3c185121a258214385193b582146144648e9e20cdc83ec02072d94d620abd8ec0c5a11740a1030c182183ee042162db84cba80a2b301578986114d18a1c20f24807a4288a5cb4a238f786328af3e4258c25a6b69b648f2043b3c99e1ca0b6a10658b4b430bb8f9822e4ef069361049a14694184c94d45832e483b5d65a5b5b6c00031b8421460d470c3143173964baadb5b522712ea458b9620d2632b02043174d34da24890aacb8d0c48723244e60c68da10b173a1548e0c3930d66ac21c4922e52c036fc948184145404344314615c6671efbdd3256de8372eb20b639925a80237a94c1f28029b455a31c25a6b3f28222831b0a6695a141318cdf0c50f633059716168a20b28af0928346cd8aa0b1f71be18622ff105105f0079f174e5e7052d9884910311ac20c37d810b1f5c35d8282e9cb4660df7de7b2f18bba88a13292881d0d019d7052e66a037af728e762c978036d0820726aca8c0451857880b20ae4904c218810c76582284110fb705a72f7093ea020968101435c6134848411469e6e04c27e9e4b485469bd8e9544503626b6002a6a71d86a4e840c365c1690a9e4d1ef0e4035290000c18946a709538c940b39626e1d5004e61250d2b2b94b1f4b48253142d490b47ecd0448a1f5680f2c255c149084cefbd3783bff5857defbdf78249642c6da8105c2b51920f271b5c9838bd00811538e1823582280a428a9b821350ea65044e5ce104132918a28c0b748696002a450461d941892c69e4d8a822620c39a18508aaa0a13459f0a2d39a24a101480664442102c9ca0e59b6b8e2bbd202462370a1c9054a4c99418e5dc3895c79bc70c50530b801184137c8b158b6b5ae11c02c6d5890c7ec02c281ca2d48d0726ba0410d43413c7d7106942a6a6c9103379b84900404551c41850f519684c006696c51c39d595459874c0294294260f4e405348c40e30b1615d2031655245103252f6ec0642987051e4efc604416318091340694161bb56152294ac898a1c928850fa47106d39d4d648f1d963ca12108225a40831948ac8a80b506044c565a6b7d6c6bc20c28186a42045b80619463cbd83605794ab6efa8647aabf11e33a558582bb7098218d74b29b55b356f3789719a314ed9862688d0595aabb52e2ad67c225a7b4e593f6f6c76308f612ecf6269f3a65652915ed222ac0ed9eed1db1efebcf5346bef47c09b36edb55ad8a06c2fe59c78d4bec9b63dfd4ab0b8da6d95b037ae272a4a30232941e1456bd7f7989aa546aeb5d67a99eac75cebb55632ed397481e407da77eead373b981aa594566c94e9cbb63ad870fcae524a39e7bca9758eb8d2d07d69d8fa2a5229e569a8a8bad64a71a0c5922cb058bca76ce5892deb2c3d26d93754c4ff5acfe178a4f570aa3ac98920e3db7f6be4d664b12e0375cc59da0130070f6a190c4be39850e6793f15ab8b0993e48061929c981158382288b14a5459192d2b4ce748961e6fb6eaaa5052b1857fb3b3129d535a5ac2f1886c52d2e2c9964a6148510a03ca76f2a29b9eeb5ee852bd53fde5fb5aacd720af3036fef22e739913f369c383dd8498cb680fc03ce6b0987be07570c2c2d75c6b54870973ad611d0c5f21b85997df171e91543efdc2d22f1f525f42fcac921488a7527d864976c70a5bb7df082d961eed66fd7b0713b67e2abe541f633117fd527d9c4e5efaa59ab1d67e26c9dc7e32d52033a779ebb6e536e6f693e8750b6e9a191998fc549af539cf0aed7e85b2c2d41a30fca677bf1166a8fa105a591a53d15557cf7a944d3b1b492a40de7d21a662ebafef314f9203bea5a58b28791de6af4fbf18003ee60e001fa36547adcb5efaf53d490ed8a25b3a46cb60f4ebd3459424813acfc820cb1c769a5f76e4802307808fb9ecc80133072f6b0d8c966919cc5f5a76e480d761b4ec021a4a066a1909b5c67e26e9a394f2513a5de6c068592595189d6b4dbecc01751519984e9264abc2f166e7b3f237fc55d8d54f8fb2fdd9ad02630ef39985d2964a6110edbca5521832ec6e7ae014baa14286391813bec224393061929c9870e680a09655756fc43bf4a1f2a573e77c72511b67a4d0820e53566bad95da95768ef2d65a2bab0c806cc813a4941f90d04d09834db1ea27d420ff6a7b7d4a15e280d08d9a0604cc274c9c2138200cb935b7548c4f420de23abdf7debbc21c4a6993e746f3debed21d6d7da4d9d6c6b65fc920b8d64820dfed3709c4bb7d2781741fcc28b3037afb8dc07deaf19fb7d9e3d58e324fed5bf62cad3df555146d5cdd7bebbd57a6c27955583fa4da79ebbdfb9efe4c2222444545ed24bb3bf641bfb0042fec40e84030e7cfeb52dceba77d3ea135148702a12088f1a9484140a9f6cedae9c47e9c51408842816cae0fa1435494aef90e67eb13b6c84fd749cfa747ece931775a9492db422a5220f2765d0d756e545414175b7bf5b97b7bfd88dca8a828a7ad610c785bd33bdab6a80b1658a69091b192f5226f4cd819e4960a5630810a76f022a7b654c2e2062d6608c2a28514f2b6a51216405056845a40ada5948eb4524a27a6dbdc5bda68f65e6b69a5946a38dad56eadb5d254ead1306f4a42ad91bf21a5940663100cb7b4b4d68a27e7556b650a14226fbfb5da7a69236badb48a955a7be7ad3597204b29a594f256eab235ad561f55939a286badd55adb699af5362f6cadf5e3566bbdb7d66ab3b457dcf2bb61c39456abdd1c6fdab54d1bdeb0b5136f4d1bdeb0766d1678d3ae6dba56dbf0b55a16f65eab35e1eddaa60d6f388b2cf0d6b4e10d6bd7668137eddaa6d6154c69b59ae4388ee388aab576ce39e7bc444053eebdda6689804e70ba009076b7d72254b6bc0f10b67cc2e3d26f0772920a8b8a5c8de80911d1dc80343dce29404a404e36b1d6d07b21e63e04d05df470c85784838331e6523375a5cc45184f222022a30ba459dbb242b6385bd9ba89023711cd3dca2b7bce2baad89b1238c81ebd7d09b0ef1521b0e206fbd50a2036a5d4569933295bf16406da2fbd507232230a1343e41075658b2930c65afbd4c8e3712e8eb1ed397c73a3430043163b089d010328646801c4ada20600b655aac204db666cad95f6a25db2cd7993ade5383ddee3f8c0dac7d43837383315eb3183f6e8630939ca2955b6b6b51e329aa6f160030d067b9c426c6d46d9da14466cedda71062f5251626bc7194242911a306ded462600b4b55fe08417b67614a8dc0044850d422fd89a520d9488a808c228686b4a36b8c1d694aafcb0352d6983a00a70c819cc2e302781655b8b63f8720e29a478a2252515c594190ae083531458c000c60d4e58c801324440a6d4da0a7b92abcf6121c895fad84d93e8e46c22e707b25c8a42689529106d767423854caf437f29a5dfd1d3094dd6aefad41a55e50d3dac439eae3bb5695f3a3f75efe42962586eb0f8549f5a059618969b1bf5855014174aae5254135144286179228f902f6b6db5416cfb1cc4b6f631b1567de4666750fbb6545ac38c2c2bd02b442c55b02c81c58b35965c14544a007ca3e386e4a1bd9e6a0f47b4009445680d19c438410ff8044aec1ffbafad8091114031b0c068082eee51938b430c75b3564a21a4c910a45f39f8635866d8e36f115a065d58825ca0197449356028234853c3898a6ececbb7c82012bff6bc59a0b2c0b05f61d42a458523b16dadb5560d186c6b6d7d75a1c6136a2ceda731450da43d7aa184c6954dafb5d65a6bad9d578ff5487038e26f52c8a64921da9542ae36b573331ca7c6b3ed94be4792447b7d9153973b455338b5c9ee7e2370e7468c3f3f7b1cee68bf726f167b5a949b1b3030bef1226f7b013f734f6d2585e1e6c5c51375563a6badb5d649a71537f8e6c5450c8624060e62b34a35434a29ebed42dbb66ddb3e84caed00210624950d4775e3430ae9c6d87eb9ccadcb7bd9c5d572f9b3c22297b7b82eb68054dc4edf6a095d54dcfe129ed66c4f85221537b959bfe812629aa9b83d873754dcbe0a7d5071bb2a34000954dcee85258445a40d0eadd9b603d00dd3167a7b7851c955bb9142964bbcaca8225e1004ba552a6a571187ebd1a64771ab668872eadc0c9178badddb3eb74f632a6e7a74ed1b6a82eed3e38dd4e3f7f923371b03377bc77bca8e9ede622ed6a5c772853e684df78e7b2b9c5fc5c04b8a33d80a65adc97af4be7d7f9f1ebd3de62d8b9cd39ecdd4ead0cd4969add65e19bea6c8524b91a51eb1f6ba22cb5f95c41ff56a67539793b24a29a994286c9c2ae366d360a48dbc56e6630fa4d61714d4422036e5486cdb6bd89bc0a3b8a758054a1bf9135e3eb66ed3fad4ae89b4d68e1e7d8184570df2fc119c2da5c4f345459eb716b4f665836cedcb4a9e7f41311ec149a2ebcec40d91428c489b7929e2d01e3476af517cac7190c79cf50d97ea686c73a71f110e44e1431443fbc8cd9412a8a89a5f384394e9eb87acbc50e21a64f3feda228fa2d8632b39c20f7ace6ad4236cd74b3dbed3477036f7fa1191bd80090f50f6114965a742bbe5c7adb69b29993caab1c082340809b5e606c1a93577c605d9fece44c933474e281023201bd1a68ba0bce8928dc7fcaa6788f23d09465e59e451364d800217003a814ed1b48f95530869735d7b9c4e6688f2389dd8fbd2c2c78802994eeaef113be4ce237209221d2801144e4dfb886cc2d6ba288c06c139b7c7be97db0c55564d4a79d0c56488b49120e0402056e5486c5f1f62cc5afba629efd5c4a8de0b8a4cf1959806badac9246bad9bbc116d0cd6bda0b875746d3985f8b8657425d039e7147709476eea9c13044c65049cef50ad8980c08ec1f691d89657bc3c8203ca25baee9da4389bde7b3dcc23c216feca7919cefb90b26a1aa8691e11e8a9b5d266846d7a973c82b3e793e079a7a055df8f9aa66952be4a595f50bc9cf2fcbcc2eafa296dbdb730f94b1bf9fb8a22cf7bb37dd1204f23bb3b4a29a5b5056a6b9592f6d0fd81fd58e99cdb67fad02da596b5894523863927a56818a1a1c308d6da7bd1908206d24b87ee7103230776d5b6874e522d8316b2a021290e72d21225348752a37dd303d534a1ae20c086344127a994d26a171413d42ca31b9a65349921b46b0e7d8fed966053a9544694ed5377fde5619342a8b4e188ac09ee0a343398d8cc5032230a2ccc783223caab4b3e3c83ea86556a876c7f60b150d0b2492dde12ae14930b152fde543ae3062f2eae161baa1b4c83eed5c42d8073c653dd144a68d3fbd0b1754821f694049b8e608fb0dd53dff393b73ccff74fdd3269036d991db3bbebd910dc9de6d9d0c67eb1a18b0d5d366cb161cb861ed8f0c6869e0d5336e46ca8d9f0dad0dab0da90bab4a4a61dc8bf96a8f59336f4de18447bb4633811da3485ed7d6260d920157bec794627a9d21850aa9565a93486d218522c19404a63388d51e592e1648f9e5422a306173489c444461219df964a6418e18d0c29b06a4b2532b498645cd9a037c948a35332bb2d95ae2cd9e0151eaeec90ba41e509b1f29272adf3f29348630ca1b4412ace39e79cf293d265862e6f53a7dd812c95c678dade964a57aaec31bba410797a17292405056e5d1963832dde0caf40b594ba579205f288c5b8b2e92ccac1100d6b3c80a1149436f31305435b52c9f3b68274ca2649e7d4ee9c734a4c279113154c432729906bf22312ee6894d2fa3337a5b7f43974927632890c83835483e0d4dfc8a808821cc74da4284e5796989254bdc09bd16684c31f8de338aa711c4e618ec3290d6b5da771dc84427f4c2515048deec709348d26b697627a2750d5f0c51c5e85792aa122c662cde216a9560be4bd6a1f2a7a7a0247a8582d095199a3df0bf352e22a25b6d6524a27b518e359adac371cebfd101a80d9419d565e2ea4acb3d24bad0b6a0d2265d5ab1fbbadb67fe9a4b6d53cab5d2fa7d8377b94517b94d2467a3085643d3979127a9d958a5218502c908ad2493785b2dd3289c9167bbe5b4da17cb74c6292832d6dc4b924cf5bfd723a29a5c196b4eb25946cebfc8c8c79d7a11c5236646b5f22c8e3ddf343d7eb6ed2f624cb3d5ea12b8431fef5f4151a455a29788d8d609c33085afb1b8cb5c478ccf75ea12b9477d2b6e4036228064a96b753e4beddcaaa2f9529549c77288d2cf3b11eeb392a97c90bab5015da35a52f157d99ee94f93be54dba52ea6f789dec7989f6fc5017c64d4ca47f51bd6536cab8887c2a763150b2157a92c76f3a420623d32543140825a2408c2890d79ef2f4d36a9894ea824c42bd4d38e9552f37bd0b834de4bb668b0ce6e5633e90bf65d2cd9e200b3a191b25d3c4523677adb5d65a6bd5aefd6858a91059a66459228f220954bc868130caac6154a487d9d2891430d9238e15b78ded593c94af3e68461ec54d8fecedf40628a16a9fb947b8b7c9a6804bc45514658dd563de4ec6ac697187b69d9757490c0af215d217888af6f6314564cd3ee6c3216b6060d952e98b2b3eb654fac2059b269d3e69c7386710fced168e3e940bc7249babfa45447b3d02341a8ef6a66a923d431fba53d476d67e9b86914045fbef491eedb6a3b8035bf81cbfa276adf4a8123b3deaa856ff3eeaa4de5d27dfbbaba665478bc775f0b9b37a5c873bebf6b9a8879ee9d099d363110f3dc3f1991d7a76e3fa5bf8d86f0e9d3b3de6d0e1ae7dd4e9ee5d27f5ef59c74abcce767c55cd75f055b77a2caad1331cdac37a2c12f5ecc66774e85978fd1bd3dea7474f8f3af8dabbd875b4dfa7705c47e7b8ce868b72e8d90d8d373d16e1d0b3f033bf7a2c8ae999fe353ddeb88ebeceb54537f42cd4f69a1e8b849e13feea22ad67ff4ca867d792c67e268cd997243134c689fd76ed1bf62e9fbf7bff0eb2e4612d6fbd85671e89cb5d77d948622ea12b7cd80a612118ba425798a9e879495a93aa80665a55b47e94d66a29cd92e3d9aaa996cdb46b5fd5537b3f3b8c5a5c3fe37e417afaa09933d36eb7e3fa59ca654f3fc3d7badfedb3d4eb835239ad95c5a79fdd6b2ceedb675d2bcfba77aaa054cef7e5cb8252392a55ea33ee2d1d34733a56bd663fbba7178ac9595d76eeb3eedb83523959af545ac66da7f8b37a7ba1989ccfd39d9629eef67eb61d5f36bbbf296d2f9b711ad31fb37afcd9768b83668e6cb669b2d9b5b34ae567acb915d1d91064af0bc5e4542db39705693975b63d9153b52c4895532ff4926379a6bd2b08c5e4d4cb6c3c2895632fff6bab96cdbebf5c282627c6d5caaa8ee5ad60ae975656752d2b16f8d2726555e7c26a71bdb8720b5badc525cbbcb85aaa0cebb8ed7ea6dd2b9279c11cbc0741f0b2194ebd60602e9ba52c96690ce5c0625e5caddc7de65d7559502ae7a557a0898a8aca898101b54c2826c78696cd527f71b5b2aae3b6fb99f77ad90cffc5d5caaa8eab9f79df2e9bd9bfb82e9bb9bc75d9ace5f9b219ebaacb66ab7797cdbe6f9f79e75e74cc4567977e8b76b5348ca5c1acc19586a9b4ebd3b1cf3cfd4ee794969cf6b0b6f4c70f7ad94cd31efd6135a63fe60f7af9d96b72523a4981ecc8272b76ac085159b2ece01d6f27efb876c01dd8ce8f88b013ab51515976d5e34c32e72c41a7ade41e24334040407b9e479e873b0f3ecf761eed3cf73cf63c4836a64d8f64849ea947d923f578ee3d9c1e61f83d588fe0f69e4d8f2eed3d9a1ef37dcfd5a3277be82b9594ea9f973d758c9bf38a4e522048340dc9bde741c27129249e8764b5ca485aad1624b5ba207979b181043ccf3c12f03c307aa78787e70007e099e7719da79e87751ed579ecbb13a13911b991d0f34caa61f4086a1b7a7c81b95cf4585d7a04592d7a6cb1f4e852653daebaffc48c5e4a8f9cb63f311b8f3f317bd3e3f6c4d66cd52c382d115d8c021979e64fcc61301074b972f63cfc13b3ab1e7f62b6bda53c347adc9ed855ffbc6c0ad4c164a4909fd34821534b98979516f3b23640dce272f132ab2585509d3d29a48767b57f5eb626a4c747dbf63c22ec1fd7be427a7ce8aee7a9fb07fcb4cbab34ed4a49213fde96427eecbe1ad4a4909fd62685fca4b615f243b7d5b04affa3daf547db5508d515884edaf7f8dc4dc338c5a92eef759eeaf29995bf725ddea5da2dd77db4dd729f97cdb3da362e0f7adbe53d3f76dbb88fdd2ff7716d1e11f6abc7a7b5c1f7f8a436cc7b7eb4fdba0fdd313d3d3e79cfbcc7076f99c3ee036e9eba697a7c54bbe7876e1a4da5cdbc8fb6e74c58a5cdbc4c080b5f21276de663422c6de661c24ddacc83a1266dbc4edaccbb84296933ef0a57a14adaccb7c24fdaccb3c22c6de673c89236f3abb0256de655e18b8bab45dac080d2c686b481499b97b48991999136f334a49136f3496666855a8201882d975e0002005b2eb98045dbf06b886bad3e76e35ba557d449b90f15b51fa1a2f60b50513b8c04f902474e087be6ae07daf5349449414bb62efa9660c0c1b6a15c72018b547294d2a7a2f6a0e788f48776fa17a77317c6688d2b3f81ed90c76f11a62463bd5d1aa0544ba5c9298c22f83388c77d8c6dd80eb2753694d11a7ab106e9b4bd1706fe2850710b5da00186ab7d53a3a0025496d5a3f0429e2340d990e824ed300522e964ba8196c21a9f59c06250e252d0344dd3a4e852c057d35ab8c1d65a882285299d6ad84205267a3832a228a7ba6009062cb625189476de720986285fdce0480600a9f52a604659eacd0fbacdc37b5eecdd50471cb56fb5035bfbdd3e1dbb77f0ad7656d5bdbc78ab9708a82ab0d6da69ed47e4d3793dad3a6b496d4d5227fdc0fc605ed624568702eda9bdd901f5e60756c70302daa30c08687fb01cb2dd14889c9bde1fba2badf6b59ece405b61049d36f1a6699aa66952bcd6c872db5bca0405309e68e20a1162e4904511429c0b34ec602f3ef647714a0495915a0a620204447c81a590e16ef7e280934286cf046098a10516407c4005a1177c52c82034844a4889a0d50a94580a12324ad98b77bbdbb559ec1043161684a852f40449c8061c66b0d65a80088b0e23d822888726722e112d44d91598acb159eb430cce98f283152b7c81d4c21675a9852e6c58632968044b413730d1d1c368c8236daa4134a7f9a44da65a0344458312aa41b6a36024748363c3d71aedf686e2cb04eb017c9bb33160e65cfbed02c98eec6533eddbb19e69dfee4f7f54202823a31bbe4cb8dacb047b2d3351ba81e06665b4e75757bdc748eadc694b7e4664f8b901da0339db6b8759af7a04dbc22ca7eda9badcbedcb2b6d63ffcee7bf775fa45cfe9f916951755e9f91bf6dc7f1d667dadad3bd52350d75b58775d7e46b6703e498eebdd0d7be88daccebdbec748eaaad7f39820ebee7d751364dff38db08c6c6fbd8812fc9677fc967ed9bf18b1c29775d1ae50d6f996f0a521a542b0d6f420999b87a7a7010d384f8f919709a9afbed2b2c7c8cb84d5f715d523dc5bd6b777accbcfc8f7edad30e9459f24072b49d1cf8811cf48d6af7a15d310ea85f855751129b2d6cc72924b310d3a49e5a5d8491a8ba5606d0c06d4dd7b2dc9ee342f632ec58209a5d4a428cdf7236225b0b55f0d6bb7d7be03dcebcd0f54f3831bf922b015324c871b79b36d6b76601560894860e7eafce5d9017dccec607640719002930176c39292a62ad5064b4aa2b01948c2f2431a388c61f4b4022a3817b0c0618816782e3851c3cb964b4a8e80ea644cbb29902183b5d6252525d875494ead354bae302759b5e592921bee964b4a9820b1d44294a5a02760310ca1dd9b5d39df79975c08a22e0905b1c21a784949d0f6b65c5a218d323a499548faa3ca4d4d4d9452bc51209a4444444424892810d0a440156f4933a989286902113535fdda4a2fa5ae4d17d7fa5fd323a8738a6660a89331180ab2b4f33295474ac3af343b363d6aa38ea7f31dffa652299a1de2797c6e322a6dd572ee9ff53c8f668798a393c9ac56cb2ad4ae7aa5f98d1d628ed827d302c2c4bcdedd35d33a4b6f3df2161373c4f48a7379b1f1fdf518dd0306c432d7c197d9f1f0db6f5cc371abe357bfe694c7a71e5b3d68ab057cfd3b8cdede065769765ce69cf8f038c76f7c8b1dc7357d1db77fcd290f0de3b172b9bcd8f8f7578f1818b0a5d57a6b8778991c0f6f7cd3c771edd7715ba3c19accb2b1e3c5c5b55aadc41c97893dfca67fe39a1e8b70dcead02efba956efde22b658393f47ec32fae1b5ffc62d0e9d2dfefd2a87eafb5e63fa32d7fef0f686f674b6dfa7eeed396dafe1c05a63ed32b734bf7adcecefabd545a19ed15ce6f57a4633532fd392a169d724cc51ef3cf33cabef3c9d37e7ea3b16ca573b160898eafb8e3502bf1dcb83abdbb14459dbb14fa838c71ddb33eed8212ad271c70a4145fa1ddbe4078b245bbff6d5a52d528b6e6996d649494949494935c922a59c3827ec04030289c9a93a71e2c44975a2a52e6771dd9e521c7e429222458a142994480a121212121225222222228222b2434850505050504c504c4c4c4c4c464c4646464646d868024d202354a850a1727373737373738331c6d80e5924242424243b6487ec901db243bb498851779e54b55ed7e9f1549ceff1a8387bea3d24d5e7754848aacfeb909a521cde9a9a521cde9a9a521cde9a9a9090549e1ec153a48a5487521ca6dfea9096ba9cbd1347bf39f5484a4a4a4aa24e362ad48993a6aad1a721b50b7beca7a7a7a7a7f924458a142952a694493489882611fd2442010a0a0a4a42dd516c12ab15af9db7421cb6df8701916b93ad7a00429d8c8d14891b8e74fbfc0e2085e87b77e6e52e226da644624bc9c97b89441ec09007609861587b0ed52075eba19ba708152a7bd3669036f549bbb4873c4e2ab0397fad0a6d25f3dc344921b2368d74e8f83b97ea0e3bca48e8b595cc5391767dd3de99ba22dd20ca92286b0c253559c28994274a444c3c4c31a240762a95ba53b7a8282c4679a44ee36c1aaa4375a80e4d2878667b271471c356908582d026f409ada941280f14085a4385a0623dec87cc618c73d3a629121d6aaa74a86a3a4464dc9ed873e2401ecbd52338af50b19e4752d16a9ee90515eb0f7022932a29419385b2e58d24dfe48ac861c91eeb100e42ec913ed5215813592ec9806549061eb6151a1ada726908a865cba519be6022d4b46960da72890671cb251a26ec05190a46c444924b43447bac43c7934249c19218e9138c057948ad54754fa5ad10d55a6aed43c0dcf7f4490ab9da1a491ba45c3f5a2128db0ad520b447117694afd656f2bd5c62d264a9d4200a60e284d648a226232728b446eed13e29800912ad91506a902a450a0ece10c699eacba64af51402a682acade4213c4822fb043bf19ae421d7124a7dc04d358c8a4be4eea3151ab23cd0103aef1d110dc1fbeebdde3ea1217caa7fafb74e6808aa956d424358e50fd11032eb390456ebacd75b211a424bcb7aea10fd515fcf0a6b13faa33e87d509fd51bf0aeb13faa35e155622fa8307faa3de0bab11fd51df851508faa31ea644be15b2425668ff735c629bec6a9fec6a79d8d589fc3d2fd02a8d4e5218ec3097b720f8d7e5714ccc672eefc9c89ce6f2f97f7879572c765d249e67be8805f1378a782049b2b5955c2424420e8e6b2b59ee2216781cc70d9d42a86527000101a940a3653e3e2cd1440e335aa60116aa3882891c590b22e4bcb4cc27851524712547b6c22aaa05117260b4ec45dfd3038b91794ce4a16547aacb8ebecb8eb8cb6442ff73605a76d4f219ece06547aecfbacf5c2e3bf20e6ad991ce4c7d5e76a4a3fadcaacb8ee68f74b46f9c1eb998b8f18ac7f7d76b6a9d5904635de703ffddd33433a1d7a97ea3fb70a8fea93eca1c761dd55b54393e1cddf52ce6b08f32fa68752fa49979c1c4f0d047dcf1f551fe767d94d27a7c49a5529cb6e70eca5c8bb98eeb2e5fb95a728afb781bbae8058232328791f98b2e82f9386a77d163514ccc5d7a2ce201be458f45a2ccf3f5d1d4203ca5471815e7eaffb9b7f4ebabc3cc80549c78b5d2e32a16fbea291d9e3b8d765171b2384e14cf3d6b1ce7382a4eee9ef561892670c8e171ee2b5dc3e938f751c7db71cfd33d3a1b0f00f7745107df3d3d16ddfc53e9b1c8837f5a7aa0673c0ebba7ed8d9e891df078a7f52c76d8471bf13d786871eed0b3d788fa08eb988e580e3d8bc111d3479b166ffc7a061ef6f0fa48d33d6862f44c461f5d8da35ff4344b0f6b1c9143b3f4b04652ce4bcf2e0b551cb1444e8c3eb2ba48e839307a665358411264e480fa2826890b65add1499f2c9762b8b2f3a64326600d40014cc205bc128ee42227b81c40457b1f2a5a4ab5111460130254b49751d16a2b9967ee9f797a1812592e3149da72490625db46ed79f724a184220ea040b85477bbb7ae7bd7c1543da90ea6d244a80852a97729b0874b8144e811bbfe4c570fe65c9c2642aff899cf72f76c3813a151fb677a3d77f3885411dcfbeee21eed6222f5881f2d9c610fbdcf774d8ff63e747b44ea15bbfef8d0ede99ffb853b53f3d0dc5458a376fd0681021975e6ef7c8f71d4d18ecf713f0facc76dd4f9ee531f7554e7ae75ddbbf3a819f1a6479dd596df7dd4713d75d5fdbeef3c6a74bcc727a7c3c2577dde471d977777e54d6f5f7d751e353a70bcc7676a46c7c53daf541f755eb07b77a169095b37b00d0bc7f4318fc75ef31cbf3a2e5ec3f11da737de639eba7c7e1c75522f364099ab0ed3a1d7fe8a8199b90e77d7ed5f34c3f1b83e7eec5b8e5f31d4b31bdf711abec7a71e5b6c688b0b26e6f9a3ce0b76d565e8efc10e6cdcbc78900a402700179aeb749fb78715d1e8d9354c007ac6e3334fd55c9fd3f1d8318ee7f876e3e26ff81da73d342cf7c82e6f7dd47939eba38e0defdf75c0ab0eb3790120a603981b97076f09c075bab7dceab128007ac643839d1e8b3cd0b39acfdce8998eeb73381e3bbef11cdfc28bbf3b34d8d2236b87a7471d56ebab8f3a2d57b9fe1de461a3c78b8d0b00aec33df5dcc17552cfd76351077a56a35d293d160140cf747cc646cf705c1fdf78ec01a29aa834cdb76435ed142a12000000005315000028140e8a85229140128781aabb0714800c7aa44c7054994ac324077214630c32c618420801800043008cd0d454016369b701371b3299a6dd3f7612666c4e27e0f3f65440038c5a7a8e62a765c5eea116db75103eed40aede258a1dd0bbdae1ccabbe42504df485eabc2dc8cffc1c8411dcbb7915c596c4e409cdeb09ce3f147199e2d1c4c6bf788beea9f08e2d183770df23a0792de37f1213be478c18527955664a7a5b68161029151424158cbee58fb2f6800a9b1f90003a12ae655700ba5cd34bbb2af23523c049884b3be951a7cb1ca0837c1c8d65077eea93f2132ca32a79574b5d578e56993e04e6bc61cd42e2a957713338a9925790bd13688607030e0056053e1786b9c45e9d4a078714b289d540d7e6eafe5498e359bac2f0f1f14ec285d11383fe26f312f0d16c6643c72d1387d199fbcd9121f56601db50d8f1271b720250f9bcfe93f10e855173ca70ab284095e3d8b102a11895afa27e012c60e26c046d300b6c9c47a06636be6b6a49dfab867d8861145a896c7f60939ca65e944156b3ea79d5d77a12d8ea66642173536623ef0ab26c4c38870ae63106d6c04a0234d0d317ca525d55724bb63c192bcb47ebb2a332df328280bc565b32a5f8a7702b3d29121aaa7a3a16b36fbdf744e73351560e68bc048e84bb6c035329066d9b063bc5b96dfbf2bb1a883b299c58a28e9fbb45178ed8c67325315c67e0aca7a02654f1a311cfb112f68fc63b8bfa48a7d0488556198aaaa19e0e2bbd8bebe45b83d616239cd2be1144226983dc2fa971e34101819ab0062050a4ec11da50b8e6cfe16fa90d8e53a8c1d3a2ef6ebf6e578b92b585bcb35108db0fb17d9306b4054f13308cf8620f8f21e0ecd981b29d9a10f23e7bd05408e0266d13073b85766a71461fd662b4552f28cf9509149858b8348568484d09cb55388852ab5c20cf292c76be684f504d58697bce3215f6e950ad9048a7508fab313d5c950c9fda6a867860423f4726c444c7c846499b9bd7b7090b6b85914560506bc28d191255dcd3cff8ccb608750a7b841e7258c904332d9baef2104f48a59eff4d5fb989654178705d23df6a6ac29bea1fe0301b1c329ce3c2824e21f886ae5ea9b0ab0d97c8d77a9044d20319e2d4c9fa5925053c151a83e85b58845b5dd8f743a122a3426c4b806b5fb694729e9986c251407829634f543b254b3741a4826a0f85db6969f0af721222720f8702c911fde2c5c677c56804294864c7ffdd4e3f19a619ae5adf53449bc2e566f11c3d5e639f45549b736f8e6b544a71c8995690d88655a915f5654ee5c408fec19b5787b0e802d864205dbb1f6694ac813034c74b4adad1a7b83018692f28f14ed6e3f9309bd336044afe6d3b561e7d84cd734722a050db0ac0049ed03f6a7954884fa5f869663d5458eb73b320bee5d3cc9c2406f5413402538e66f000a639448300e8bf666a08172466b88371f5d3ed41ac923a294817d565d53ee345d942357d2753d4a182385b6e3a92c6a696902f83e241db64f65433405e920144997b83aa68c573c43c168cee0b216b927260900bc50927cff8c44726657070f6420c81cd201880b0391dba376be238efe3d5b8d1cb4712b00f8768793276b5ab5db2071688fc03c27fcca8a802dc464ffa56ecbd5fddd733609abbad8978719f25dee8ed1a44b97d0f0da26257d5aa0c7616e520f3f00f33106fa0e2f837e486cdbf82c1926731837aaa1e9a98df3de318d2b57d05a37c98b958df0a0324bdcd6b1b492a609eaecadfd90e70bfab784ef42078bb0841997801074882d1ad02fb7d5cb34f36923ef8e4c9aa6e18a9c97ac30b18e023e46c32edee70002cadae77b585cee0052e5a5892ebeb202a00b7f00704886aa233a9a50ee823e7232842536fa21af1b8e0538a6f1fb9197c5e277658d027fbdb182208278e51790967cef0c99c1386ef2a18cf1cdd7821bc93e6221473aecde72721e9441d194396c3b3fb4151d72c28b45bb894da3f5edae4c56222564f2ed53275f12cb30192a6b81accb1eba2c56e18b320a9a519484648391d8468827b8d4e3c9a88dd1fc223fbc439715095586041b824da8a3c4c177bb6da53218e095cd2debe8f3cf6f558c36529bea8f2ecd95b098927ee8269dbaf38d552bd0e30e3869c9ed41063db52c7219d7b5e5bcdb8e5433118402155a27a6426477012d10cecc8067056bc04748946d9984d46e344cff13ad28076a6224a571946bd74f4993eb3a46d1f5a690577d9255dbdc60f7af51afa500291dbb609c12f07663acc7e6f39dbebc4f40e6daf01575760d792bff851ec0ec003879bea382ad44561f48378c3b4096c6697b34cb0671f16e5270d65d2b064d9a476a9734844a6519031e3908bce91b8313324a4013ca3e2b2f141a9045002f6d4bfb447e96fce3ce449030593f4c2729093019636b47ec872336d5ac06c1a5d1d455d0919a35f61b40a169751bc6b6bf247c3be700ea0c1e85681fd3eab591d95fdf64946ea5c66710534c85baa2e5181989b1092ef15b9dfd85ea3f35ec1d09f21d7e6e53b6759a8eef98b2a1e520e99b33c3edd5185008ac24a55052139d5702446dcbc9c847f2b57d936c20eba8a178a0d2d600332728518ed97d2972d7fb4cf77e937d7e117d8ed89138da05d718266442ce42206f1977b438e32150ca804d6e604b178d9d5871e946f4ef8bb3b9d40a3815861a3f643bd8edc40c203f86ab16070633139c324636c5d6e79f7d3060f49a4d7e5369594a1a4e2e0d0167f926f3fc8e485a3a7f3d3d3162017562ce1229c61835777a9ebf64433e2de8816bb19c2ba1b50a10aad6f670220ac2294ec44af922fcb8e7e0659ba17cd82e817925fdcb588ca5abe3c328fbc8eb8058861f1fb2141826e3cffd39a639a15dc7ae61e70a4e61e07c86cf899f0bead9238eb8da6b39f44cbb7818cc3fe9ea3887cfc9efcb672744e7063b6dd3e4260119b0f261f7dc6ec0a6e14a7ebe29b90471e288244e4401d8a8614d0192238bb2c4821beca44d458d399a9489246cd51a8b732942c5e651a0cbb4987b2d2de9ac2bc208db1e48540fb99f7708be77a83c4a0ec1a25fad223e55fec3c23673f8805d9f9dc83f661d23203112e505a51af0b99b0c7c83eb63410511b1ac81343e1f9c98bf01012128c11222654c55e3d5db635090809df977db9999df3816b9e79f724e266ff0cb3ef8cde49503a05299e81592a776e53b7a4dfd54edf924f984efbc8715758e03327e00b4203355b88d6138b5853402d84bc4668eb6d5edb787fef0fc30a40c116948cecc899e843d88533114a780c90b5ac9b85248c0973897c24006152ce6d0cc46ce870786fea9daddbc718a37e98c04b85d7c990cbfa0bb2c37df91223da4b47801d1ba4f1dd8adde1e2db3e86b8ae653b57765f5d367e7523972f0af3a1102a3ca31966f99aef73292a2b419088c3ac96cde8c38505927a53597ae3d9cf4c538753afafc438997a4a8bfde19dec5359139ff064ad3650d56cc3bea4028a086ac8b30e86d5ba15a6688502fa8f9c454dc695c9c65f2ff3f40b065b71cecd92083f2a076423b2423529aff70800db5fe4305b4bb32e979b83b9246b556d05ff8b38a2233056b848f7c2287d562bdf92a19abec1817926d864b4acddc546b139441c8eb42992c9644b57845a6ce44b82b837a0d43bcd9c512bb220cb7f841b4ba8e09aef50dd8e22a86b166737ac654ac018e3bc734d07e2aa12bc382aa53eefa78c23b5ecffe55d2f23c47b35527fe86a9ed2bf92eb2682b62989811d5b41c0f987670ecf45116437882788b6f3ecf9f941fc6f83478d232ac67d7edf8bfd338387406744490599fb851389d163bc534a3cae03aa8654c2c31ecebbfcfc94766f801fd3ce0577f2f3ef71232e726aced9df782acdd2e81cf94887ec8f6970d96b34c95cfaca2fea73a054de0fae0cd85c8e850e1164bdc53405312c65fcdfcf9af07ebeac7ac722daf6ffa792832f71f34a1d35ebf1b24638de75ad115f0453651795f1e7e4428a3428babe42f51597ac4865e5ca2b569795412f83b98f373f2db207b608ab24f2ba4a1226588b90bee0aa837f21f48d0b14a0883ee8d59eb2fbbbd8ace85dcf2f2e1d74b559e905ba118cd47c8f94525cd0df7fdbd7ef649e69e72ee61ade07e75a97c6e4098dbe7036ad26d703215a0d0f61b979e7ee0569c5cf0790529209ba57c6cd37a78417e4c385d411884152748f4ffed910e9a89eb76b01dedf50560dcc2e8db6b4e1231efa490856ff727d63446a1a57cb084dc469297a35f5830c4f88f75e2868d3506027955d7e164b9b5be06c2953acf0bb5f52c50fddc36f6ba9a9d28f244e3b485691e6ba550c21cb616a794a853c2bb43d1e9467b50022a825b65b31301259a2e8d8c57819082425c8ef70b3e602401ba1d71b4d1a1a2d872ac6302a2c6fdfb37a09853f45d27054c0ba504e18a4b262de9dda45d6c3e9b68217586b17c3832102ba2c9268182b45a838bfda3a4bcf8309368c008eb01802795fdc85f7e950039a57f59c0ef02e7874d8c6ba61ac33ecc76e1032b1a9e1fccf22775a21b234c5a160b2d98fe7bc224d3ec960e8901119b2f2edfeeacb764ac1482e3c5a15d884a347f209ad503eff961383392c2d801a9bcf4a270be1ad1163a4eb6c71dc518b31c22623343a57bf42773a1b583fb64f396a3d73692510eff00f1d02a23edf22ee145ba0ea0b67f55abbb7917c03def0e8448de304182e3d240bc565b2382596cac1411b5b1148250f38f2e13b344e0bf294680d22b31ec91cb52d378a10eea8f89fc6d6044a538560f31112df91c48d5b40f5bae7fd744f5be54c9e863dc3aeb5b8b9d0568384da67bf1db45f97ad8c9c83f82d714c7706ba7e0f1b5459270d8671b937448b6a6f4210e12896071f9d1db88db5aaacd9f65ac76aa8f97888b0a6272191442c1328bd1f76537f3f12737f949333208411e1a114de15975cfe64e181aa901c56a454961a18fb890ff20bf49d0240c89e987762c5a6477a2ee39f6c798ad34074109c14717fb279b684c39b19236c2f2f1b0be127618cdc5732b33933fbce11361e5f71cdbd9e3536e7709237d36cd71d9e3b81f0a239299458aeeefe681524f59983e892b1aadd70fcbf3398de152248b72583d8b4f3bbd0c247f866a67a7de05fe728b368a55eef303a474a9c0c907eb641d81a35f559bfc04e6d832b6474826166900b39969b02dbb0dfb5d543701aab09d9e5e7ceef2572a5e7f0012a4969c3c6322d5f910422b663bbc64c2d17b4c0fbe5f16f2048d2c71f161d4361c4a4e60c8d3abdc5e2bd57cf56934a992f31aa9581dec2d641567e8d7c265e448044e5a11b01f2768d81aaa44e3e78e0d0fbb18499ece88cf60645a3ac0c3b1ba324e70658513085ddd476f62c1584596c29cceeed113200527cef3588b840b9e2cdc5289a94c93261f617a9d61542d236cf867e6d2ab2567fab7ae74d723d70d38ed34a4f676e352409127c538000dfc0d14be0657fa3ee4032b9b9a1d11750997dd0af5906de011a35e2f6fb5de7fa7ab2ebdc580c73ccb220a95faf1a43c2f4033275447ba4baef86db40fb725bd28f098617785bcc78860ccb4f8f99ec81afdecfe2e0d88c10910916bb1de7b8ab376af947ad637833160ded855d062d2076ab8942af197e88f9ae8bb45c790c8b5c221b07d9876b028a31910f011780bdbcc137d3602580953482b603b6bb5ee862b5c979f553ad2176a3bf7ac957b93f0404fe34a2142e242b4e3ebb70ad5b8ca75f33226ff81ce417dc56d78a472d25b64c545377375d5600549ccf0e2b011fb9cdfab55680d25b8dad6824b8f647c65d64f9a5e7dbe842665ee153562fbd3e1e831e6453c2f518f5262f1f1f60fd55d4e43d8278111711de33e4836a97bafbcd65c5a6b8ad6005a25461c57fd51fbc24c33020f494088808636f60b5121ad21fe455219ea222b026667afd19213a0fad3cebfacc55e2075de19017725644b852c1689ef39acf4d81681961a5e69f6ade5261a91df10cbde2a610d982430da5570ed8745ef7b006123c5c3ebb051adf7080c8f288e8eeec7054dec17804742d5be5bac9564eefcdeaa5b3098fb8aab721dd4031a971dcd852ba0b9e01f0e9ab41d434120fcafc02321c526aeb993888846035e1223a542a8a0b526bf3c75ad9def8fb160ebfb77bbe5bc80964c7f2b3dac4a128c709c1c2d9253d2d36100b051c11b37aa85c3b62e3c05d5ab9b37d2fde0a1cd48bacc18eea1e3707332a0d96950b50a30e5a1bb8b52cd71bab5f0035d756a70be788ea190555ebe67b1f23f6bbe707432a79013314d52c1f981c940ddf4caafecb4746463f8a55b5e9bfbe109f14135eb0015b4c0b1fe921b971774838911e37fb8f6ab98a0f2ce59223001e19a99bb1e064f41803c8c72822c6da43c6b4b52a25f1178f5ff208c7c5698904cb3941a6442bcf5c899dfd150a48d344567b5f369488a5e81d457eab3a3083a6aadd2cbe808ddb40e8c8f2a1061ea2fd266b064678ea89878976db3e8f1d85e613f3f5a5f4a192edbdcb39afc79a3395698277a7c5bf2aace1e5639a867865c51eefdd2ea99bdfe384fd60f5ac171bef90ac4b65eb192a42bac9ab6d002bae96bf0394f801c633c6dbd81894ceffc99c157341f568371e62a81964d6ee0ccc79357a543b5857aa23643d030e6cac09362ee4a4c4d8c44ed05a91bb9184726d0f61314253c1f1e8db9175d7acb62df0bb6fac89326fc7a02039739828229f1511a32bfc28dea8f0aca6a737ee8657e60ea988d5b922f7e01697a1e08e44f2059929efd7ff4d1e52cc8c1783ea8776c7991e1e7576e956caaa587ef27148251d27c410e4f87c7405c38b2cc8342c9a90e52729304a7e4c556236a187898548af7acc7f5b355c88de0e056cd6fc3e8a6995d527eda9e01b49675586f38f7eb99901282a6bc40a2aa7833949767d998b826017ec3571b774098d95340466ae7cb29efa6ece34de5810a1f5d6b4568043304bda7b8dc90c3c78a72f7e7a2d28810aa6d5523a71bd15ed3f462ef2b4680b2e759c5d3a743a07ae5bf2ee4e2251a754edd58dd9154e575f41acd76233244c19b0d29396554e5a6a2c2326860b0b5731cec4fca4d2feb9f5a8cb2c18a5ea0f0c42add104b0e03abf813c2beedfacceaa973bc3150144b1b53fd27e55ce01756e23923f566b0ac210dc5d17d66a4e830b98de3c969777eafb5f8a34e863b88f6e66ce73273d993323533cbf3b7bafd11d3275de0784b32efb907e3e825f5adcc32f2bd4e238318e12b04ec4f78679047026cc6adb2c32b155f3591afe4df9e592c098e8bee40e816ea50cbed51823800db8fd9510279f509c9d1a4cd481bb886c317c18460b012063012361080d426e7a38fe6c23733590680cd97e11789143ec41f32b1cbffe0f9af414806f5d88f7ca42e966d2e9b4af8074bc7c24f86d3a637b1d4e4cc9ccfa1c590807fd4391dbc4f8a16fed9cbdea0428b1ac24f33f8c1b648f5d2d3bea1d059698bb45ff85070a2acdb6445be20550e59de68a77872c7282373e11102f38c2ede44cbcd8bfb9aafdefbe59ac9d20c00d84f2359aaadebdc0a30e7e71c35d9e74844931b175fff097a2fdc62875b0ae9c11a7d6425399268013d5709d9e2d3b5ba0ebd808015fb4a32f4b17d159183bf78ca194a3fc1ee765523cf1d38cc7466742b3119cf17aae952949b4137cd00d339a1d67ea58ad7224223ef28804f6ac1ed9f89ac70d4dd38a9ea08ccce3be35cd20aa365f7f30838a841ca7ce4dac1ff8428550b968d86a0c501fa39de8af32e4d265136ef8c34d5c3a166a51f2027746d0abd213f52400305a13825f6e6af69ad87e599c12ab4c4b4552db0562e48775ae2a4ac0618557a09730268c7856939c9dc9222aca9c72273b8dedd3bb5190ea92c5749848f1ac9f026dabab79239a5c609547c984936d076e06d09efbceca27c5fa97bb3236a8d05387d971528efb6618b10a20867668b89281a4fc627676ee3e6aeae84d111334b0fb74470f21e14ee8fde07c81bcf5416d054f39a58606b2a00169fc8aced5a634147954ecb94cfb26eed40bac510d0d24c32d74ffe5ce57d4b168731c10c149b010569a0f93a8a36ae2d313bc1c8b2dac93615ff10ede7dfa1f4a1c1a06f1a9d1671431c5636c07971761e82a00a4c6187deb741cbedbb0d443831da824869ee7b2bced3a8fb2e3d49530f25641e178a338b63849abbf82565c43424eaeb6e9adc834cdda9a32f91682b7d8dd8d01293b24298b42f3e6cb09ddbcd87ca21fdb9b75a7cdbdcef3414196ed70fcaacdbbf7760d380bb3bdb4da77e09c0b6e24f524afeec7b888dea0624cd0281df2016c4a260fdf1a262fabddd70b8ce0bf39b1c6e6678bf5c916e89f4c8802d51aaa09810b9a27bb573ca9ac35b5fdf0c0f8ce78e960258762d2c6393b66e79a8516f76dcfdd95795825ba7b043429f880105f60c4d993e28d32123ee78e6f462797bd4eb835567a1b4208d94339af6758598388c0bbb7f8d18d02f8d3dceeab63c897431764b3307f7b1e08478b76cfebc1cdf193c3fba4e5c1f4277b6800657f7e1a032578ff64e858d399ed0f216efc3a0f4b4664a36cae262a8763483814a46c4f2239ac4d8a70438cea6e5f6c465735f26e3699c5dc4056129cc406a12f3cc3b076575843f6b21dcde2392982e44ca49a8ac8cc6e6c8b0be823c45320c2c6454e6d2938059b45810e1e12244f43a685c9b32cb52748860cabc75d0f6ec566fd7e9d1fb91b1dc24d6c8e3c729d8648dbdda6f39fac031a41e38eae5b67f00ce406160088d9a0b9897e95bbab50d058c7ee6aabc2617a12453a13d297c245a148aa019e93eb7f2d933e5b548fde76dfad81627e17d217d818a8a10b3a952d74a5531dde3b8bf766edde7d8b19b993093605600ee9793d95c72a36fd8664f9061206fbe5b1dd97626a52698b9bf3acfbc12ffc871b8e8982d56513f7211e7cd0c67695570ffef9c8201281c5d4d889526d61c7335a57403249da90fc97061b75fc8a8acd413087c343bf1e9b98fbac2824f1358b4e4d587beab569aa5e175ba7b827c18ada7f7ee7ab10ceb618fa244ab9be8130aa66cffec165e6d855c08c0d95a9851c145199ccebb297a61ee64144d706e4265a3a52652efd18af856addaec7d377f2927211bb89cca89a621ad3512696c385b29d03d4f65272e8099933a9e46af28f757b98f493375a100f5fa5b3f0a4aa724268c7e4605d05f74ded29d3f5047b46580430ba53f8cad260eefbe7ac9430c64c68777c551833380c0730b508f5e5174ced4cf1416bc635ab8edf9da2ee44687051a8c911a4d09cf22fc878959290af77b47316d32ca15fede5182b1f616655a316e6e32f4affba680e4b94fdf34200c5fe81baff2459648b6298056f1dc4a0757f6e3c0d559961419799ab1b7d037f3814d0d58b5519cd7b40cacbb75426f66af055fff5b794f045472c799d9958148313e79897ba0012d53b3fbb922eaf90b174060cdfa87ab514f917666ee376084681595025c5f8180f2a65e1d510f96878351c407c68cefe26abaf5562bb06012746f06861cb3ca6b59fae502d3bbe4799f5820d6192982d73bdd2695a3ccad31900bba565172c03ba137b72ad5ee31833ca5d436004a5efe58eec0b60577f910ff29e296d801a413ce24c2dbca154c672cbdaf79b1c0df342c7217ed09614a4bcc1fdf5ec1b55b7d8347942621c2e956c1b3426fb017538677e1c10e244cdd6bf2de2af722dbc7458d61497583be2a6c37a37b758b55b7ccca3388248bf40478ef916bc1a46e86a43be0f1cea85c02066b2a3bec54bb2f8c472a3abfc9e75a2d144d129375bc44d4881cdb66b5d536122af08edc6a54617203daa08f213ef4754a7727cef19b533c8f788bb02c89889f5630f16ddf048c841864cfe22dbb5bece6781c0d0a8c94338b60d03d20b7df30da5e57b6d0f978f0a0489847b7f080f7789b70e0f959ba7e4f2a1a53d27ad6f10028ece3efcc31c53b11271bb3e5e797901523d131119b072e95833baea51e289ee60b06c6afc23b4f6e2d85d04fa3c113b4eba8b8391c5d8b3e4784415ce0529049dd9369334ab2fcb4273676611d84e88fa19a2b8a421a513a85dee0c7707380981a1bdf7130f6c4a2390ba2e3d0392ecfd58aec34081e65c4c76f0f1e8105dcd7df7f9cd560d7e3e077e515d22f2ce7b9274ba7d6728ecb626e4f12802f43e289ac7819f718ccb84dba196cea38c5020f9b678a0371810ad6fef64f348a7405cf5c5a71bc0fc46b951e6d91b6d92914f7a88135c14f98169d867d9804f716a817de9351d64765bdd6e48042e9e211f5f31f64144834e726a5b2c79aa5ec83a01450b2bdbb2793cd95dae52883da63a90ac08fc2456aa7707816896ab63a16ae132f181bd15d0f595b20a8acd04988998137327ed1437c9730498fc703aae8165a4e0d37b42087cb587e2a24f6927d16508bc95e0ec7127544f0360501bc9f05a06c21ff87dabc25e60318fc7d8493c8fb45a0af59ed82996c7f5af53d24852a7a39b301449f822f8c295e716992293af1eb66fe094535a3be448360cbea94141c975de7c339aa92188195afa4159536c135db43d48fd7a7b6a4495b8273ee52bb89965caa326b2714d7c97d1d0cfb771ec35ade0b31a60c490a2031e5651e44dcdc1c600ad8d5876eacd0c7a81d9618eafb70051da92e00beb6afd2a4ce1e8620c462f488e8e35bf1429bba386d7765f20f025457b9dfe66c0cd42e2037abf0def1292f195b7155ccb786253580c27bc916822e0983fb64d611c9646d9a216cef1c8cd953b1d41ea5ad11182b9f75153834cc7fb7ac0170b843674004264ac9a12d7f8205560b05bf58e315f288b3323bc6fff5ade3f318f8489bc988b601dec42fdb02a5898007ffe12118d3518657ffdbfb88c046090b97d021f04a04303460c46413fef867938602af67e5c8d669d298a1d9dcb883884f493bf80cfdbb5f9d78ac6b0dcce25c5393fe55740b9f511cd1bd1b04ab5d7e848c62a361ff6457e05600efbbe915b71a4209702ea02e22821cf88f0d91130408c092998ebd56f7bc683348581022cb011efb651d3f835469dfdbc75af65733f773e63944e64a0e0f42b335f79f5835116752ed68f9de473d31d070688407500f9cd135427d3036e8935c579820400cb613dc9e3963b4c9d119f201fc981dedaa3e82962cbba889c9a83446f4e066291c45cd00aee36051ca9e31982b035551f18178ff5aa9a2fcdc299a8daf888dc65ade840f5bb480c5c605e64577e256a24e988fa56d3bcdb7cd569d7cf0f885c2661313b1889a7fb19879721e1117aefa613b382e5d64fb449062026ac4594221380abb1e7ea01f9236b72db1026ce214394db68329e687ff10f2059126fdfd867d0496f442b5fdf6781dd18fe461f159dce0a8882fd969cc518f2e92c983002983f356a71f4252413da37fb2ad9e792e6c8f7b6afd5133a1e398001b109406d4371b4c0223237bb646873332233a2b99f8dd839fd841e122e561c8bc7cc88ba9c0d0108b3c4203f5f2856f09c24cb5a72f785760aaa7cc620c4b1afe749e6a7847767535965309eca97f222b5549aa8dae583de709bb20a2d6a7fe540bb371ee9460f7ca871fedd731c752f10f8559321adb8872876963336305237e48b10b5199ba6e814f3872070dcbb373e13962d9303cc25675d6fe8439dfab7e1b08617ca226e0a72890b167a3bed57b55a58320158a51f263288919c5fa255af605812a8cec95c9be715ab02b5108220c3fb627e4b38c237b0352843e17c2b652f85e1622dac75c3e83043b40309c420bb0a6143242ad28f2f8f0bbf34027af7aac7ac23b49b6046680680cac6811d2b56aad04f3ce0da9273360faadaddd479b86341f33948561fca464efa5888f798632c5d96fee5eed4db93d3da75878c29033af0c3bb1b03f1d6a380cc229fec58f602ab031535badfbd8d3ed9e6209bb155c585566961969fd2dd3e5d12a54b8d0d34a82894b1204a2fff3d69dc76cf5330c3a35770f033d0e17651d66248dcab49841eab49e236a4795b7d8ae5dde3598e8063ceff32edfa801500fdbf779e51a6abdb25014b60f8945f06e9667204b37b51746cfb3dade84347e1b688c2a5a83b7ac478fbf0fa90c07048aef70ea10e08a258d67756b208014279afd51a6e9896a4c775a7cfcabf8772f2d8d8c6a0911b5cec6f36a799ddeec1c71618ebd2d42b72ad461dfe47c0109181f11d8921823cfed8ccfbc6cc2d224b3e921e490f8b4a49944c914a84e3f71285f0035e0944d80c892cb0509f7e1e0dfe568789e7b2e0778b0157b28c94a2d1bc206ff20f13bd69b1cd730f197649faf00f7ae242ba179d13a6815eed8b2ae84a23cee4c42a1d7336a3cc335d4a3466c7b42009a6e46cf0b60661ee48b663e1a40a2ceb9f6307ede6d402606d2d79ccf273a52f2594a7456440a20f1218d994134ad08272c655d2097908126c23c4f848b1160d9e7726d4a5f71fb370f224689872093f29f4bdff08a865a66eba8e05baaa091c71d20479b1d0d23e0b621cd5680f2ebf919780d0cf3e3518f6525a71b45c31bb3fdb18956d886c2b2455d648b6eb3a575c3cfa1e80413ae9a827217dca907ed5812b68087309d31051421e16515c85b11bc25cf42448491a3b5f87441202915e2bd753356584d4241fecff70ccbc60d5ac71fb9dbd06a50c9e919b1c148198b6a987af4455da5faa3ebe5ce5ef3f8bcec159e7ea7c424671d687782fcad562fa6f42e3f97cd7e14e46e485b8360d12d729c5e6c212d1ebacc8de829a8d69121034a0b5880d07f62c36c94ce10520f6a649f56a99e39a5761fe9587bf46805b980d0659f285d723190df95762bf88b21859b7ecfa78e4d50a985db850f51a4ed7777f2e85593a635069703fccfe48c7b3c113400737a97394fcde456634459f367cdf2f85623d6536342f892973fa4a72591b2d7f4baa3396d87165b6f1585290d6ae5a4300cb4a55f5308549d4cb57225cdeb472cd83f639fecab9a017757ede8626829294b47b13b00de90171269636410c62b2d647aefa59249f76c12bbddf4bacacced23b0a385023f0b1efb1a174f1e196dd0d54271bd96260a2ed9cb0d1ae5a2131bc0bfcc305c8a31128cd3c6169695353a880bce3ca3e7d7b5647105bca53fa966a5e94ce60bd37698051709a2bea389a8761a964fe082e44757510aa9eacdcaba532a90008ecfff6b0ef34ecb40bac6f3e0dadba211a0122c9e2b6e0e02d9a889cd79df30c338149a702666fd1816a099a2e053bc431a3f3ee2ae7e2ef4d213bd9dbab4065b0b336a89c2f4bbefb6a8a2f3e73634c885bbe35d546bea4618ae349a48eca6f784573372e63105b21de43085a4ddc947b7c29584a739ba15ed039878fa836101211ecf85ead9dd464855ffd6d8362fcdc62eea9fa7e54d919c6d9b78aa2ca8fe8d2541f9b583062fbf12013878a9064f702012e9e643d25881bf041d14f7e187de483d1073e08d0fff9005dc6bc1fab23a35064e53763ddd867ec870170d2dda99ae63a0318db5a1476f592322d2ef7c1e661f6f5928a5632a998017846f68c5e722b2131b0421fe4572767ba6e57d68acf7dbb0a6d724dc894aa312a3863bffff8df53a11da29e4a66e257ad90d02a485b3af804d9a0e701e8dfff235c8852ec7d99502e4cc4a4118432be0da0788001969583c436643a76f222c92595ce118c38973b9d619057236973093647ffd37c72863132b0743d02fd4fe1514cb503e9977b498ff2a84f052c94418e5401bd137740f1362291fcff8fc46f15f426a9cf5030553e828006c5f8b63ade36d5bf71cbbb62abb14970f3849cf56350e9481bfbe4892e2370d9d61f905d70a55826a1234fe22533c0eb5e0b41e93c648a42c65d6582a7d8672e3fd4a20032055a2200cdeacaff8b85812e8613d7e2449c9b24285571f37981ef0e03831f33caad8988b321c768fd758ebeccb6f9a79df6b06169992d428c770c0cc577a1812c690d4d2b8e1b187bca4da8b2459bb3b23d49fca7163170eb0d9bc9585f24f535dfb2f82796c167828f2efa092767ad3cdc5e4da560eaf9dc2366fa897e0dcca8b14a772fcfe23af0f459abd3f30a5231303e9dd417d08273a0381004ee60235ec5384f880fed5ba26c4c8028511e5eada842a81e9919c15c7c97da6afe7f6918f6927c6dbcad284d3e92fbbb1dee62c1f03f39959a5413d63c85b43531a4e2a872443fc1aa5668ecc4adf35fe1476bf89201818d3ba20556ac0fdc858ae48688fe04fad03dc8c45c7f88c6e5021fb8ca8c34155350c56b2534ce18f3ef03ab7212a4d30c9dfa116af605080735626e639727bd5b5db6e40a2f1ea0b190bbde573a85d0ed2a73de3c1d5b620e650f6a6c14f6ea99449497204fd594a11afb060dbc53e54837364e591f3b1b69d006ba82c7c0f4e3bb86589d9f393b4d60aae4bdfb34bb72490052ad4311e5376bbef2563e0f2159125813a490deb973fe2b95409491411c795b876667d7732cc018239e7fd79cb506d32c1e0922312b385ef8614c12b7b09c42cd88bcde57dad9fb2b3f194cb3ce606101114fb84cac7eaf990ce8f4c77d9fe4293443c70fc3cf5722a1c3bd956555b97e0ce63255b01defca4590563a94fa7dd2fb33043fbd4149bf17bd3a0630ef132f359229e4a944a1399c3c58914751422ce6d8e4b482e2f44922e3c059c9b11ea3c2b0864fd139ea6ee998b16f45a6e8108f6ab48bb411d353499ff44b98f982472528303c888811293dcb2079296687293daac73b203786024653aaa113f06c7ed6e9f39e68c7041ee23a540bf724b69acfa92bae440b3bb219a228a9a1b87380dbd3010e32bb39927a6ccf606f9d045da5096ebfd98696b07a0d5e85e3c0174b5e4db95197918cabe26759616d90f1c2a990beb8fee56e76740e5b6cc4eefe4873ce5b4b4e42adca9d6637bd96a828f9379032d57e8f43b6e2a7a28946f3e0cbc439b1cefaea47358792f5d4160c36623442a232b21b0973db508bb449bc8fa15e848981d738ccbf5b35306fea611a92280526e931982132c378be857bb86c51922e00151229e8e787945a78ea1c277f2087404730a78e2a69de7be4c349b9f2812b03fd1144e09d7e3582f2199a1fe420502207f2b4ca4ab4d3c4155ce27602200a41489e161347a25d41d371b74fdfd4e301b230019cccd160b906cb3700f9a70232a84d1b750ecda2ae931bd582220ce428b159b8aecd724298f06a20057b035e8b862c7457da9bed1020524a0115dafbe8ea9dd9776295f2a9d0133c8bcd9e3cdd585f2e87e37cfaba37d11920de2223a9b0a0effa65592283877e52d99dc10c8e6948ab7267a8db6fa47c2063118a84d14ec782aa1dcfb0708bb2d803d47b508b729bfe14e1efb1b1de6ed83f0700baeca865f9f7e240b6966dbf8ba919641e92ebe6bcb07c6fa1ca498f658d5a06390d2740d549afcfde897c538c6218675f9423fcedf051ac8e43cbb0e50df6bbb6ec26329babc2db30d47ce6eed007a28d5f0b11ac8517384f0695ce1749408d783b1495518052c1487c438fff5e150a769d296ff039085649a0289e45572524833f20b48e8b1b774d04fec254b20b702a29ab861359022482267dff4a816654e289bf5aca142ef721ef09a2f652d5e1b0aaeebbe756c766e66caf81e66953563ec821ee760f724348b20c26b30c3a8f0899f1c7d272945acd0fc843f14d4f31c8bfa6e4cbf800370cc1fce43fa301471ac30ea60d6a5982ad01326afd5abde198f1ece911d60dc625ce2c9100264d5dfd00b307ba09d95931bcce00a330fca6f2db4e9fbbb6c966a43792b8904f8b22213190ac52e48b4024db7852354baca9678533946310c097b7d9ab100307dab7061526e930c10da5ac116fd8ecb39b6c278619d5eafde316ad244882815ab6eacba27f95e0609fe10e147aefda408008d10b91e57f7f45884dcdfa542d0e0bf05a1e7cc0da1876e911b3dab0fbac12d900216f10620b56ba0a8025d419bde66fc48c7b6840c899f28cfc4d739806c5d1f465f54f5bb292b36b8935afc8f4ac0249767e1135e119e8f11ec424bb0f0b7e1770febcbc2b96ea77c4c51ee26aa656364a17a6f91c84acc28ce24cd1706aed36004e37b855f809800f73696d41b2db8dbf6d59e924b4329b9ec4f38494920aa16f16c9014b3e910b58b61cb03b86cdb2bbcdde051551aaebffde92eb881e0579a4b6eb9428335cbd6e730dfca435075cdc800b5488e2a8d67b930e569e9452e7ab85b78d711e44d297d9c4f1843d2b16be54e269963d3010dad1bcf4d8531a1fdf392196b700be7efbdeb5fcf28a9b6a53394219e07608003d99751f8e4417373c3af8c5046cac5bc1bf921812fbcfcde097358580eaa508f50bdc6b8472c9badec2f74046b7129a7779d4efc3392922e521228f8dc8e40029eac8e2889a9b5aa724b40620de3683f014fcc9fdf723da2366525988db60f63c3ad35d24e8f405500062b1212388ac43d4c3d051f088427ee599d73a68a0180ab59b64df9522cf92dcb304fa70b7eebc91601a0399872702cc01a372d8d8d75fcfc2d185640c97c0b5607fcabe65ca2dd6f819f4bdaa54f8d16fc6a3d3620a483b4ea0283522d23fb93c5c987cff3c78e081f2092e838e778a9d543d06cae60e312818e62936e07bf1c0643056be541bd64cf0ce201294ae4334367b0da013868b20c64a3474453a7a3bfd2e46c4121d584780b8964127ce1d5fa5eb90e1a2c45ac9dd639ffbf353d38df4c8e7372253c44055523beb300ec748c0df86d3f601dc53020d0ea48335f3c690d8a324051f1c8c281d89132366c40b545e0b711fd477e14d117a12f43cb3aa0e247895652b81850c6a1c8e4687ce8f9757ac13a947be32b651a200f6de488789dd80d1916e7e82a82ec045262c60b0e5d7c7a5b43354df8a4e1cd2a844ca1f8b81db9b09eceff68a5e17043c6d608379908dbfda371184550980f2c79ea0ea3051fff22996164af2af6d1b85865063f491cfdc6ea827a870a8cff54fc4872b365b4459785d1edf6abb0838dd508f3408b7b8f9b23fac932d2d83cf33903b9a104ab4f33236ca6087e948b52801fc80913632ab413a668909257c34bcb6ecd9c3c385b2ddd0d853faafc00ae8730210fb801c936b29d8223210fb6aa1dbb3cf40932a4bbd464771ee09d6e0d52fb5c06292f523a59db1b00be1881f11a13474ac67e029272fa5f9678ef8d3e18d6127c7abf826406a3727a149a4b6adecafaf4875c95945f738f019aafebdbab720766880a7a9eb4c21241018b09d7d8b521484294debc0a751cb1fa1f3a12483f024f382ab6675b1c5e6daae0c46e831c1f63e1671e85a230c98f4e6b2a1a5638c58e658cde731d798b678cc9a9e6fc466edeae97d5de5c324b97139a8779e75b832a73b88ee19399f0b4414ca585f9f4344a7360591f136876e158b9958fb1f34df4792ab43bbd47059f9be00ed923ba87cd5a993a9569ffc83a0f2b8c030e10d215d9ca1eef3dde2e8a599fee678fccf6085591210195e06b9f33532aa07786714fa9f1d1aa287e08690470ba368c88919b695e9be5b18140b7de2ddcda8d32acb9a7e52db4a8e47a3fd109bf52450f975ec6d76479c082987943135429c4aae47a8389ce8c430f5c29824aef824c6512f42b722820c47a10798b7b12d3a406040b95024295052883ccf96fb817bf5e8250991e3f0c183d58beaceb0d99f51c13d9453d9fa3edb0914cfdc1113eabcc3039643c03f3e6b2ddcfc058b0ce14838e85175af566d9d27221a034cd14eec4b7086c8ff1edaa7ca1c3dddb98af0ef5182e82ad0bc9843f391607bf7de8d557e64b1afcaebb8e13612aa4fc84d6cecc7c66820afe00700cb483b05b26a7adb2a69eccefb54cc96f259073134e72645e53d39506d3809adb8da565b3fa88f22c74dc1832a6b468dfe4814f52e032905a3e8cb5d05bb1361de446d025bd58a5a4b89ed4b17916f619a66e2dd5a4afd851a9daf145b1463e35a50d750a58fd5568eee895ed38bf9477541b546016822c94a8a186be4113c1fe59a083d33b536a4cf63d70162837a709dae88a27e603b8f7f65c5c10ac72cfb56dfd7a84a2e63466d702bb816ab777021c352b13a51c53029a779ac20f523f5a5bab2fdac2e9b33833ef89e2c3025970d9ce821d4a4b011fd39ff630ad609fae4dcd95ab2d62f377de70225a6341a36bafa81340ec9675ed79ae979b6028b048edec9575617cdd69ab98c98e0cc55778b5ef23a574242ba8ad7467346190a74aab84c20259078924cb3b57569c9411e03917529747529e9fceca3deadae5a555cbbe896910fe2581ea469d0b457a0f59db763cf9442026cf4a4587af0e59cf88f3b268dbe8ec6ec0491044c7e992d8151010517837145803228f8749d80916086090249e94b030cbf0cd33a8fb63684cf91e00df7251171c1d64a38929769330bb854d61a10688ccea3bbcd7749cb3679a9dea8e189a65444054d45afc87145d118fb9f294e859279be644669362981bed43f0ed8b34879da2700c35004318a8310ae5d1a1f140d20319622871a3a12bdba5749117f087fb517d98730a8d53490999648bc95b49316fc5f0089688b364daa808b85d406832dff366a1236c13415ff58210fd0748b8e03da7e6cd9417eda12c3640f1850141b84660b37032b234d3cb937f9db95f5912b0f5f6be97f83da24b196ccaefc8f034f6e5122c47c31e1a7b9eff80177043d1fb8cfb60071415f21875bc9565c4039f5a58ca28fac765380c2ffbf9105dcbb8c41ccc8bf56d0e12066ce5e1a57d3a16dde401eef5aae65f9a005a0565fad42b29c5fdf7a91053c74dbf97c5f223aa782a3d3d7827d436c14a288b2e58358fdc65980419d476bf15b34b27b6016bc47999ab25a02b2481eeec9ca9be1a658a96a464e5ad16eb41b93ca1fcd2d35f43ab1d1b082a814b2e68374cdf4c692b955093c03a18a4016cb9bed588050d026ddd525a5dbc472d99c9b8c8e14e3224de1155c60a257d857079a30891684660d5545ab2478d4dc825c6d7e6957d72e9f62fd436760eca94c1edf00f14282e8926a60d9f8624bb6d9239cadc4f7a0d8ff8f40e4d53f2e67eaf1e14c90597948a347417225a74f7bea69b8e2fb15003e434b29f11921d6054c45b33cc50fb02b53f96c3b5f999cd76ad7f3211a4d1a5fcd3884ed7bc8f1f36fb535b7164b75a3ba78cd72ff921c4de98578713dd5a0ee78fde158793ad58754bc3a5b50a117648648200f43f77d1244149b174e02666dbb5e2b1889484e26df1cdca9fccd15da3b58355273ac32f4b96e64e1a476bff1d4eae77b5c9048c248650c4b4d7bd086148261c5000359acfa0d4f31bda6c7aefcfc5148344f9b012b989fce8e39f7d520568bb6faeb94040c216c6a38c4670da77644258b2ee5c04b8b5d85f5c3b65051bb99d5be13e738417453afec533397df017bfeae9dfeacdc86b2e531b20cb422aa320aaaf892aa2b302ba00bfa44795a60d5777bd3a3060dc2ecbe11475a93656e02ec2bb43dc32e6e2f12a80e6c0c5d352443291b3adc34ac74421a98f3f30083370d5c13ff2d05b47e4c03d042b3ffeb39b4dc7bef0d8712af2572045982419d3b259838e0bbb24308ad4d233a2a9bfbd1154c02168b2b59818ad05014c9106ee33fe9bf01de4b5c7108e28a97bb1ee42b7c030ba02bb9078a0db343a1d7ec067f0fc1af0e42a5290db61532d27914850faada4621f4ee6a6155e8dca831c8412cbdf20d90e2daeb916b95cdae3e21cca4edf1ef26ff51df4a1dcdedae44425f55c14e56c84c69b5cf2c424cd7c8ecf3d331e67330df59125c8dcdbead2b9381f5014f69c6368d22dfa45cf9d91c274a6f307f3dfb4bac393190a243fe44c2d45074d50fb2f20e73f85dc2992854fdba28055bfa0f525802a8adeb1a346cde3d4d05e362e54f44ca6467fcdc134f3c2e58f9495f0df53372c95f358d6c2d1577701b4732bd2d2b10813fe4c8fcd77b451f3347078419296745a5a34a1d9f38bffaada34a42fb9835187504b202cd66d2b2644af92764160436aae7ea8634f5d3c67ef080bc4301b288a0935e92eba400d5a87f4a4626f8b18634bba0ae4a67479065d2e950463db2268ac28e24cf09d52c7f465c130bf2cd718427fe0e075e38ea38047963a94e6fec078f18a4e380f20c3eba1313ffa4f25fca925f61a61225dcaf672a930873783e3076efc1b9e0bd1b8eacb2413957b7d1547519ab31804bb0a1e73430c5e34d4c12744badacbb91388d1854af3fbb6efd9c10464e5da0ef6494ee6208c948861da09ed560a19c0f29e586a6a2a5db30a5795daae043bfb3609aec9ac8e23125e3af4f09734d8a4ecd3b222709cf694b48d31485e8472b27f9064418d1d9127d59e794f35108c1161f55e11f824886a4d69f33fd1f5b8e5fb7aadeab716ed87428c2477f47fdc0a6cd26492e39175bcf36688cf91c9ab8506b55e44458d037ee09462a026baeeb6b47786259171e85ee71fa81efc8b07a5fb64efb93767d8e2cae82c8bf74d4f49d2895eaa7d7869d1d8ba6ad8e414f384016ad6bab019498fbb1e978d8a41f6d69fae03c5726dfb18e65e12258773102acb2980dcef444af976e95988625663e25f1ba918a9f573d499abe5fac7332b93270c9bbc9f9f5665237a286c87545cb38790c4542e2520332335f03c76555993b213285fc9904f2ce48f4c239b6107d89c06e2f8d91b080c4e5a0cf87a457b09e61846413c5bd51c79e2d9f061239f9fba653895f5ae09840ad6c2a52f4d7170b1bcbcd6f733b9fa5bda59e20e31ee22b0a02fa9529dc96ce9e873c4a22872f58649060bc77ddb09c37da1cf6ff005b56a6cd05a1e0ac3d8da1ac8d07b04444ffb09840c9dc88b43547fff18020ddec4138577ed746a5ee49a74e7184e7e48cb8f1c2d038804632487263d9e726f08c452539eeda39b2e6e639a3d04438252eb61c35dc0f47a1d636c75b0829f26430ec73987540b68674e81273ebd965c252f95c8af5326b799a8e71ad70c4f7629ddc41f294554e1f52c420e367fba00388610e4ce206d1aad5706e771dda31c2c1d637732ad3f8910b75b0700ff2971cf57fb82d971d1d61af75ffcdc2b2751a839c1ec3c8d08ecd94898c89d62fc4e02f1da4a18973b9c7a3900c955bffac25dca2584a8c90dee3b1e7fce895d1a9de38f81ac24ac3ea54ffd49be50784aad1d9d01df84c338659f5d83f3b1518685e527a463bffbc0b938519d1551f76c6403f903402ded1ac601d0f5962045128aa19cc4319bf9cfec94e1c3da086cf3b10b4c1dddb906338c00e133464964ab1708a3de0021555de26929cd46d8dcc13ee4d3207ae834343a16c89009153093a5d5aa2007f89128e68576fc0fa6dc0fb7eabab45a3c2516d20f5ca2b80ca6964c7b1897e4bd99acc2de57002916cce669ca734a28cf9dc288be5a6fe1c3cce0e5ab470158786f8225068930e39bc1c4a5fbb92d847c857cf05cf68f35234155f99c3805b59e35bf8dc4cbf9c97ebbd579979477c17caeaa8a2ec48ad6f31abfee68b18300a912d6a6b29cb6c8f63df2ed939bdd43022ee619c324ec13ada7df8a4716850d4de6491b5b24438d4ea73c93ac27327a71b411053cf5cd95cdc6bae5222e48c7b9dc2e2acad7af82f1a4dda62e09b74df98ef29417680ca287031ef3e285d0ca406b8a264d69dcf5a766dd2389232a2566e36e6c8aa73c57840a03bfa0a4b0a5007bc20aaad9a2fbad1c70517054b77bbf02656d515ad5762713b7354c6aba8e51aad23ed1ae262a68355e0f22ef0661dc562bc1280e815154610f127e828acbf2492838283e7627bc010381c7aa23d6e7c34c002309757e997616fc497f8d8f234f66778c63427eeacb2dcce391f3b021577847038eaba254daf9e2d01bfd40a75239ed71460db16948fc7d035134bb59cf6c47e746a5c5f39e159f16b84ebb6ec6d0a4388e9f4608a5b82fd232b36f7201d0ca38e58187dfc7e1ee63968cb71b99a83106b6917a60d0d26a14d0e616e6530ff6ffa13dfbf90bb236ca0cf588c812624b03cd4ff0d6b031036772312d294693e77e9831c760d1e890b774542edc70e60947b42212eb0eaab568ece86630f6535000d4d502132c01521183521e942c5661ef61d30342e0912f8349be9d93318db82d4145e6a498203fe87e4af0603ae386d68d6d5e62011ac800fec88012de4e40fdda3cf66bd0110c2187113d1e5da2bb09354b5f5643ef6fc58ea7fd920f9ffe255b09fc5415b051f45a29cf9ed79d2badb01179107423a2d8eb1c2f96869afb729408dc09c53274ef168957a746085eeea488401608c680a3244f6e871b165428e78fe1033a6b3ea0e05fd900fc71e1fe5a9b80e36f39168c085170f16625e67a8871c99a3811bf004a8e7cf7471ea03554f43d265630a858fee4c648cba10cbfc77b9d20ad2ea17660cb83902a2eccb22b57ae516564383ab10fce936094c21e3f5dfe421c0909e39f8009bff3cce82f8c5a1549b4b013adbcd3ab21858648067c0d2352d2c10d5e2e04c695a44404ff3ef9ebc78195e13bfca7c563661a13ef5eaca028c6bef17cbb87126edd67a2414cb955250142e407350cb78083ee4b72a5b028858388b2550c4a20fd14a7bedf5437d125bcb8b4de1214341aae1f9e3a2425f309c0fc5222a9d7d1116f3529ab23736362b7a22c825ca8b653b1459c86600476a579bda780eb6cad3fd9553d22c452faa0d1b8a8e3719c7b54961640361f3c58f4b43b3364b5195165b2541c408fb1612a9fc969e59d8e071a51ec817031f275ea70c44aee850d387460f26c43e9143f17d685d82602733699420a2a659c698169ea8730819e338566ec0f17cfa9a789dcc4e36db33003b9d37487db17c153dce18c4d15eacdabb88ed3d58f7e8ed2b4a907b453ed51bddc0ab905f454cdedcc03c8c15d6fb664dc38f6a9b238b4db3e3b5bc20ae74cd88250bf4799c2f5daf116a9bc7e27d10ef97d156713400448a7e0fbdb5a20046e362fcf06645c6b45f032f4d786c543474ec4a6450352d5b0af1624fd257cb078d0c156d38a79c4f592e06349d234989a43a2a7550a00b5aba2dc38ce089e6388a7192b6eed7ed2bc383ae5f7fc63663ed6d73819ae6bb3dc584b8a054f71925aa95b2661c1172d2046018934c1ad8dd9b896cfd53d373c5f83c426e957604fbbe3edbe3503c4b0c8d3307e12027ed00a5df8be150c7fab09a635de849967621776e52d065914407f2ac58dae901abd1f8348dee94a1764f14dd298925c6ba3e6d828f735e9396b97527940eba44331369f18a8f7ffa7cd61c95404a2a1de4edfd0d42a4fc4516c322ebbeb4c1dc803e512abf785e6aa45e4fbf9a6f921a60836f8b9305f3960753447fc5cb96f5e815f95e718ecf835dffa10cf8d102c7fafc8b711502d07c875065894e1c196b55790797c7b13364e918b2f335181372b90f42d35c9c169a65f5f4ac8889b0af6bcf3c53cf1670a16363abfc9b4c0032f74a5258c9aec30136d898b47750e7ab1c0f30b1bced9bf86e34fd6ee00dba9e2e23b95f1a60dca2eaa204e1a4d9a14308063268a22e91fa5d02bf680d235a3bb95abc6a5a7c9709a197290407d44e48e20a844c953ba33ae8a6c00abc90d76647962a7676db4c794515da2137e5a346715ada3e872fe56d1c0288b743cedbe1fb07c9c073403208095057a241fffaf99cc412e33d1091afadb6e2bafad3ebcd60bbe8798a566a596702b6daee9e0f06a2f74be32ba555a053f314b63a5997fc96b531d1bcf43bb563c1f9911a206daf8e50e21094d61e22be641c5e85b936426ff6dc80aef287b14922fc0e47886f0cd51bf264886d7e40aaa133efb40fbc275051b78f90cdaa510543a9e4d75df3d36fc171d7d8256717b2229d4361a8520af813beba44ea03689c14709fbec409898377a8fe6965a55db173e91e82bc0360492b4d0981a60033444fbcf497376a294a8265329397cdeb9b2b928f34636e3fe733fa3567f5f96379e8612257892f73878fdfba25243461448873f3a0622fd5c09523316f11cd23677472e76dbb683e925a1d9607e619047cac9628fb073191c89b09cc4df3a85ac774482c97cc28855da880423b37cecbe7f2378c84bc622783b66577c43b80baadeba0359e04e419d7f667f6d3e97dff4190862b0012f0f3d912ed398c036b58a2516f1ec6d79473479ac2c9786bb20b465d7296aab82a3d068ef0b74acc39d19b8a294cb435bc022d42a7d5b4b3d94cadc898ace777c58ff7f6c4f16d69b78ad7a3b8fbb7ebada5e06b7f6c005165719f9dddd7aba8ce07e95bbf67e9bb1decbce065080d4c9791db0d113b2f904e747a2466d1a43bb048cc8d17baac4265a0d85962f11c86f8ca4a1113f28217b2561ee37513a383f3c2fcc39637f3c077e5ce5d0c0855babb48833dc161d39379c983f1f03a935364d6d3286fb9c9435d8683bcf53c6cb20aae54ca7f2a2fcffaafd7eb210bf988e65638977eefd196e34dbcb469e1c7f929a6a1f32634db0ce8aa14f1c0c930b676b17fe4cd46d1951745384b9f029ebd5385a8066b1e339050e903bffcecb2ccfc1c19334d25a3396e44f592dbfd3a8a4f34083632a1db66e4c80a0f94ee232b111f6d50604006fc9a637be7bb5dae165d8b1c1540841eea6671e51fba17a6bd5f2f548e0a469e24df56265296d2d5796df675ca28a1a11bd913ff0b9006224c6af8a05d0845cb6da1d7e2aab3280e5e6a9aad9581d607d9638e9de5a4e4934b3e076ed0741c9cc9645b28989b24c1c713117652f56e04f0493d2d844c946932c2883a646557730d4731e44e38ea10c4c1520e669d26a9f9fce4346302721d0a58f6e88de33a8334df725ddc4ebca020fee2e04ba9840e70cebfcbf36f1902f8e8276bac6a74b05133a1598c6c545d42bb54df3cf402725bb265e664965b63cb7dacf96a578084d0779b2beffe7874af160f62ebf97c2bb066d5ad1e53d27ae0aa186ab242a18404aa29e174197806aed9abb1bdb7eca55ebc9a619ba26999306c4232a965e92b19f76df99f432da9e65ff1ab1484ced67967b308650472f99935f562c1874f679c3da7ea0239f7727339c3cdbe5025236220448b69413d4784d51642b00977cb1dd3d33cb768ec4b7b700d5b726769f125a5faa532af891e83942a709958041a1df725565f5071f47f65cf855091a96a1b7901e01a5cd475a90b83f7b3da882279d3780ffd63deda01661f0da2bb99f22db575c1d67fcfae44466dcfe1ecce1dbcd4ef007968be3bba8e6e50ff5e1cc7032e71d66731406a00ba8ca46e10c8e754dca614ba5f75c1284cb6547b70dded7a0df9da5e38210972c269f82aaae03415d9b1de9f227275af9de340b1b739bbbf4249a26d762b5279f9495419b70ce39f7875e345a89856d0260a494d8122b726ce7fbd5ab8a7228bdc134b720f5b7141ca5f25126af2412495bfd66d700a7186bc0bac00e0bbd4fdaa40a68272bcffac9bead8ae379240278556eb48a79455e5e2d8fea4d90ecb0e26b12a79bd49aa6b43b68a9c5d645022c9f163e279350f164a14f63e77758d9cb439af4e4615dbfd9a5ebad289ad63b616e5c1de84d9000bbb44208c4fe06e70b3fa2295ac44710bf3c304e0c26e5efe2aa02b72404cc552ccb334a4ff036395024c5e3eb7e06a3ab31e8a5c7c6dec65e351a9f587fe519e5d57ee6e1a37f6bb14837d64dac39e12010fd8c8728d51861af94adfde569cf465b7f0885d06985fd7b411a4bd5e2bd75c64d61ccfd832e9e008a1e28f297c57091463231d2dd77ba9d2f60f04e93917edb2340f6f8e584651376dc9b1f217b1ba8ebe68741f1a733a3627ecc2a64ed417784169cfb8ad6b913ef8602cd16cb11b6c9b478478d7e81b1932b667217872a1e529ea5d12bd25827c3299cafafab2028193f6caf71937c90ccefb8c73f1527df9eee0f9595ea3fcdd2706e4e332a882279fe86b8b5b016703e3390b799681de00d747f93b2fa234876574ec25e15afc83a117ef52e8c65e7f3cd63027eb13241429ca6571bd3eacdac101afc31c6db8cae6a939394d79015060089a164ba75cd7be1609ba6cb72d472b529631355514b2407973188cb0b20e877ff81aa2383018b12b05aa929e348b06ca8f19268970750e22ae200585d28b5ed4eae38dc11f8ccf8b18bf585d3e945e1c000c0ae284a44a405fd03c023a1a552f6f1732c9294b17cc93fc282c2ad6bffba5760276c009da3acd039333d4bbba64c59cc01b313edf8cc18494e8f45c4550915359727bddd2425cc830f58971268cee2d8e6d910b193328631aca9831ee02d6f81bd562941c2ccd6f9ada8aa7de8f3544c950ebc7b76442415713287a74293996fe3b63739a5aa92450b845775460a9218bf349d00e13ab5b21be8ffc2fa65757dd75f4aefd90a6e83006d9729de9b8691e47bc3ca069270cf7c27add978f3e0d41599c75ca12b7456c435ad57dbb6a65b79c89a5cc0061b4aabbdd9b29a12b24b8f50ae7559a83e9d9cb4c87d0dd7a6be09200a14db139bf8bac3fe830e38d5795cff3ba317cd04db3f11c71ac29c6854bc880182e20c0e6fb37bac6841a574589d0907b4bef0e0ad8cf75f036b9d5a9129a198a18c3cfb95a3c5ccd053b1ea6bbf0ddd9f75dbe1acf8882e0fc0d449469563e9fc84582cd863e0937adcf9fdd4e2ce1a6aa99815677c51cad520310661f8d8b9f8f3eb5454d6c79ddd32f826de9637484e6744c1400da1ad7da94d155e2312d024a5113dd393cf59f948250c66f1060538fa4dd454446e769c97e1031518f587a916a406b94105a38090004e3d6634e64c506b5e0f8ec6d6c0a247e470e4abe8ab5c7d1ed8381445d2d52ce42371477aa158c889141724997a98b92ca00d08f0dfbe5f77898b4f77346e7250f9317f50f664d9c079dad6823af7352e40473988a8d1f783d7823a3379a9c7347fc9237375e70d24ff6124a1be60544df0f10dd886530629932343b1554471f02e5a655aaf72737acd99d2b56c0642ab894c8e99741ba5a87419a9edee3bbf47e74c6afa8a96747d6211ad645ccd40f5e37b7f66ea2cad7c1806573bf06fb7691c9192ec4fc31de610836446cfe563edf5a268938845c31918a071679e886596e636ac8fb99d104be424ef44e4b6f5315421ea71cb5b348b961b08291c908528e6e5641e02992b7e9cc5102bf0394637e2284218fdd1d3ca615682f63026ebbf9c97953dfa5faea6aa639b38fe8f0e5572b1390304cfb0f189f6be305e70e213e7c2ccb10d7cf97fc30544224688a0fb360476c5095f0f3a834cf6c537ba1d269a66583b80668b882adbd44858f1770f624facba1047dcbf9061b8c3efb64a11f1e98be4168f8ffb802bdb7c7717e6d7e1a9628c47058863f01b4ded40f1a156a601c807f073794ee1c11c0f22e400ba6196091121f5050d744dba0e86eaa6a7af7cfed68b76f302a733f103f039578ef28e60bd839ff7c616ce4d1ee7d775f5e34af69655b0501c06904a79f21690156f6d94df25edcd5f1d4175c504d893e38b48a85e0f10fe962468e11c40319aa47094350a60f673c7d107d5487f5169e00e3be69c309ddcb66f9a1346aa6c37a198fd7644b551f5e6885fa6005df2beb19a29e47167fc12b604907859b440715d7283352643efa24c7d9c9c3dfec9ccd8491ab2b2d7fc452e19bb4af31a993e20c97d90aec4756eeb7d5e8297994123042ff5dbbf0e93afa03680a404486c6af51dd7daffd738c4f2a6233ec06db7ccbc88fda9cdff0b1a0a5c5de9da7afad9fb0cc5edb78129ea1f76b24935824b50694605552961bba0db37a474c5b365654eb57acbf27b5713411723efe7a753e7e3159879342e9504baef90c6336b475c831f2fd493a3527c808b09745ecceca1e219801d3ab24dbe056d82bb90b13f27868b90d09c81ee7af0f3ad0a213d0530ec6ffc510776820f29027fb9392ce5a6c317a9f09e562d05b1d07d8203fb562b652d93c45581957a5d151a12521d9747218c7646174a9cd2fb5cae2d5eebd4778acc1236655c0cbddaf1fd8bdcb4ce3c3e0959e6101767498e4115452a9c696a1dca471329a475ee459b5ccbc59cd14edd0b517a736c60df041614d9b9cc496332f79f1ea1a4abe2e6f16d3d6d3608ae9d47e59d27f1aadf763f21227c4505949c915d60b4a609c21f6294fef95813e2e04ca34141433147dcd74f3ac4c2ba05bee012ac2aad7a3f6229e07966bd478b6cf38604af427fa95056868cc41f65446f0f9a040169276a51d8c04d42fb54560084ec539c2bf10731401da4be2678bd1a912d105b324c183f70089fa1ed4feec5aab6978fc96a136d968849a8c8d587862ea43c99a136add3ff0694ad131a5bff7976473924b1e6c2567652303f0120f06e5fd15c7451e0e63846f77dc205689171f8d93598c11d137a879db4fc2555b666eaba8f44b7bd9d0ef1a6a8dd1073164cd99b08de8ec306d3c47020b4640043a6ba42c49f9ee0f11ac8c08e5c0f6472452dd8ce17adc836f4cc8bcc2106008c8add112dc0b04e06577d57917ceb48145b6229bc79e50d47f6cb298d5274868609ab1161e0d2c95a6130bcd2feb0ab8cd597fa5f3bcd27a293e1d8e67288a725796aabe1a5796da508be06118950aa1bba4efa8c2fe1781bf6b4377e00775a4a2519e452ebf1ffaa727e16a5a1ee7f500a1e4a5dfd39a108ec8d922840c4bc65048679f9d15d75c919056e4ecb929706d707393d4664eeeb98da96ada5b738439b5926120d863cf5436bf5152a335bdd41fcdaa020dfc34729a886e60c560ff3cf12c6010ef04061965c552a87526f7d8f0a7290982bf43ba8645ed50789511d3b377ecbd0670e1a0830d52df5ebaa48441d21285b2c76c83c010a358a3ab0f163a2c03bd90954cbc7d4ffd356416be265247fc674a306c3ff9abd4c2dc2993fc8880ddd24639dc824da74fc2141b1d8ad968d6c123d2ad2202f4917578067b985263d64ec2b306ee98e4c15404bb3347fb8ac6b6ef095759cddf2fc7874c1b2158b351c5383ab5d2ee13abe0f4682e3d4a460ab1459abab23d939abc04fd65738af41c2576aa287528894e015c0625fab2d1139339a986bcfcf925836b200367d4cdfef92076c833f74fd23f691bca781018c9fe06e38e18bd7d3cefaed4966da560e9c0dee0728331f156e49aeada59996213f3d7b85cfd9479585932ca4f0dddfb25fcf43d2b8b43f8ccccd6cbac5f8bc263c40a3f01bf75e515c7d58ed0908f3d7c2b9127ad667fd901fa3fd3b19f385867ece83bbfb453da13cae174498c01207c3e08c394df6454871cc220379a2a83934f2daeccdcb044a0f68e944c0052ca4af708c50530705094040c4b6045249f640c83b84e62479da2db29c71292dcfc32053694fab9ddaef71fa3f43d6a5393b9a13354500f5f2146ebd743532adc413215530f4779370c79caed755a23131e5e1e238abcf5641bba921aa5bd825c01c417073e84b6fee2dd1810c5aa55b4b46808384cdd0380e82c3301ca165ffcd593d993415bd8cd0181d50a8e41a8dba348695aa7f3c4cd69be933b88464ad30359247fb06ec9640b8ba5a815207dfee1bb0c02218274e82be5e17a707d671a4a7d50def7d8426eb3bd8b3bebed0bac3ccc589b617173e4c47477656f31b768038dd5df3c7db4360ac8a3b59c8cece14b4b976e8ebc69c089f9a9b65a57d69b7ab5791a38a8dac92aa7e5ef877adbe0c847bc42b9d0ffa0b46ae4f13458057efe801036704e41aad2dfc7fabdaf84417b5b8d789118af31ed0777e17da8d2e954888ef3480286bd6c6f5c9b3d47f3ff2503f9e99601a9a9eb774b25dec4d3006938635040d4ee7dc5b2c33c750e8e5a917e2826d6dab75d29a022a9e2510f5550533a94571e85aeb21597a6bd7acfdd89fbdf6372e88922b07eea9ec39c907795423a272352db477d1b5107502913ee0d6d014cca039a3b77a85d30145a4d63965f0e1fa96de5ea31d03226165ba513ba131252373b869929fb175a6e66f850ef805b8818984709d0388483150c06006190fc81469d6e0020534554edbee9e37d39d84eb45418d14dd0783e6a216def6e7befbda59452068f0af60a8b0ab987c9cefc0a61ee61b2337b824e0bbf430e9a09fcbc8eb3b967871c34ee4198d46ced833049e5af7b1026378bde833041e51b84c929abc095e941988426f0f33a9b7bac0d3acdbee7fb44f15e956af5a229d08b17128449b5b947d2143a1c3e6a8908256cbb2c69cbb5a6d7511956afa3976165cd1887f198abee724fe20d54366f29483fead14ee64d659d99919179bd5cae568b95592f14dc6d72327383b4bd0c4a48dbbf4e43dade35d644226dcf6a993ea39fd5913c0a5579c7f48bc9addfa06764a4ed4d42d5260caa327ba424a974ca5b2a2d29b93b9545db8336d0a64d4eb4fd679337eaad67a4ed3dcfa6e55d96b494e1f39a61144154d0f2ae1b1b7aa6254d61c3f429fe717bbc202fd74ad573718045151ed07a442e0517a87980d6f32160dc92440650d07a2c4d419e098fce76c5891acd87e633273d22445d89da285d5192e64d6fd8bce9ccfbd31278699d9db9a4bd8c5351f2c6cc299717156a84c16ab95ea1e9e2eb63e02c03f67923ac64970455091f0d1b443d3310cec6a03290392382093b73c986ef9e32cf61e698e54a34bd5e2634657b30f3ac667cd98695f6f24763d38697ee32cf8a46ded841692edbb0d2368b35b2ce4c4b19144bed739add0fa792cea650a96285ca70aa8c66793fee5659eb0f4b7e68f2c313283f18e9a1812b5426b1509906b45099d4b6c70f43a84cea9a5f46dcfaa3e54d0353b4bdb5a63c8aa1da4c24a4ba3fada4f7a7e7cc127b1171a796f51fadb4d24aebfcc9595c1b3cbd337fbca1dd2dede8ba5a168f3be288b89fce22d9221bc4d5a4eaa40a596aa34355772f26b5bf985c9b731677777bfe80f63ba6e73dd9e59cc5dd31359777e616ad235f83cc1288a1798e50d15eb5696a448d86a62039aa51498244546549529195264a4eae3ca1317afb4d97688dd65e4e9792c09c622182719a65c9ea544b11ebf5a749eb758893d86bd013125e8dd868bc0a5128b466cfe069d7eb24aa31b371c2b9211089a916261189c625a7225493eb24c533b5cbe95db81ea1b12a548dd4a03aa4fe68c942b1d0251a7b8181b162b56224d058698a8406a64334468568cc080da243e8cfd492e5f3620070eef3682503e9e574e32498d31d0386cc120aaed398f1950867b54e3f9fc44a3809a79f53684ee3f4f2e535f2fe6a1ce6b3bcefec306e23efd5ace513f21c9a4226e049434f0397400296e1792436029e465a22e039449c81278dc56498173c04cb312091911950cbb90149707600d1b30c4b62e4198a66320d4d645ef9061aa3b9a70e4d242f35551218a29825308a564d584e5a3f5a18064c00ec026601e3dcd8a0b17aa40a552335a80ea93f540bcd822916ba54c41dfa86bca1213bab99a230ef93308926519b9af47df7ae5616e905db23223bc526b146b666a15824d6466343f6893de244a889115b64836496c97960288e27d72b920a2606c68ad57a49ddd7a4eebbc9e57599183f9601fb8c11ec9223a229498c6c0d0a12dbd09323d68915b24dac912ea80a09092d050da15c320948afcbcc3c06b622e330a51917e1ca088f2dc95e02161aa779bd35e135a8d058ad812d913db249ec145bb3461689856287accd1eb14fac90136bc436b141b688c6a8d267badfaa43aa57e1a600d8d8b8fd4bc92d32d244c8c99127433624506a4649a6101dd1d8124babcc24ce8aa7045e0997442c639613a85d19f6d74a75c54fc956054a929195294a4757a82c2161a94263b5564d5539c601500526e3a39014934b788d151859c66f945699e638aeb0f28c0b60a9956b7c052c2f7984e36449e5134ef3f4cd323a8484d66c2ec9987add33ffab088fbd5e86a8bbe47de5cb73ce879d84bcafe712add199c732042d5ac79b59c26b192ffea07e1a92fa0d7ab98b917fe6f55408f6fc7a7a84d6c4f2bc920900c353c9856985053c93300e9e55f009dfd018151b47343685c6aa514cc9dd16691ad1c97960288ea7196034cf09d330830c0e68008d713f549fb90da23198982530564d584e5a4f5c2f2832f7a8d4a7cbb9977b6098e3e2787a3d0b3ac78d14f0153f1ab312868f58dcf1501ff4b8698b748ce14f2fe05d72a458e07e0ff0fa1e047801e760db029630b0702f957a8e832ef8e169fc00300d5b22bc021600b638f00db64768acbe065b14b00500b641345680118503e0e63538bec20070de02ed2f64e9a1c50097340643de128b0f1c6381051e99f617300ece8e2c009d71e0f80ab806851450f984c2c7bc25151f00b8467d0035df717a0b37fec2781e2bbc4701248db970496307c85b62d13e300c05b85fe13db0a43102e42dafe8f99107bef117b0a4b19cbca5153d7f6aa1e63bb0a4311df3a801bc1c0039f20d537440ebec189f798f16fcdf1a1922e3f9f688911987dd22a1b1112ec26d121adba1ecb1db124ec2ad900a797f34a7713b1480bc6f8d9b706b939bd8b225085a679ff0d92d118dd5dbc8fb1649ef78bdad426b76ce6dbcee176ef3cae3017825c055a8d93d9ee37517e0ba66fbf800b2d09a0dc37568a106c03e0a807b6002f0782107db16b0dca1034b1a6321d3324e1640560147de379adee46d43d314f29e698a42de34f6004e7bbd6d426b360b47e1f5d609add929dcc6ebed135ab375dce6f5d6466b76007ef37a0b85d6ec1dc7f17a6b446bb600aec2ebed145ab35b788ed7db235ab3f5716034e642de724a0b7807d6814516f000304d639c1c58d2d80a590058051c58d2d88dbc55d0f301c03758d2d8e93658d2584dde36f47c0ad80646014b1a03403e01cf700d8c4363f526601a4c0397804990e1181e018b8067601560582503dba0b1fa8c310d1c6306cb601e4c039ea18565c00ec00da0b17a18980138861f18061aabf2088697bc25924bde322995b7cc3686caa63966315b248d1422813923f9c0304d482294b06d42919e6f79377dde929eb7d66e7a6b735de2d6eb6a6f8211ffed6ec3a000f6e476f23417b04b4b4b4b469cf72d9d96969696883a562b8a14f3964ec800c813a4ac0ba2b69e0651b5812955d9fcf76a5f1a447afec5c4dd344e689c541b4e89dabac54ae57a39896f995eb6bb619c153d3d9bde30ab57919e57b99ce87957cba6e75f58467afeb4828124b3c0187d1d91d711711d91e9b552998e5e2b15518b88d511751dd1cbe7bd5456cbf5d3bb201879dfc4642598bc63b0cfcb367cda249e689cac2e8d130ecaedbe619bc6899e30a57f1ef7982079a3fb3c8c493c9ddb62e278b1327174f9d5c4cd595cf9113ee3328e1f43e60654f70d33ef39a936314e3ca16a1313cb5b2e8d90b75c12216fa934236fa904cb5b26c9c85b26e5bc2512ce5b223d6f6914236f6924d3ed9b4e49cbdb912530a5efae5030253ddfa271d95f79c748f82aef198d2c6b095956d98a842ccbdfab2ccb2a43b5262bef6fbe0ad1a57ab3673b06ce70eed53c2d5ae52db3c8252518794ba40c93b7349a9ed28d2aef9bd92c16fbfe4a8401e75f29b8bb5352aa36b3cba2679e2614c1e88c13a10e20af95ea8a52d63eafabd56ad356fbbcae56abd964cd56fbbcae569b355b68026db669ab7d5e57abd15acd169a409bcd56fbbcae56abd9926ca109b4d96ca109b4d96ca109b4d96c49b5cfeb6ab55acd169a409bcd169a409bcd56b38526d0669b49b6dae775b55acd366b4949b69a2dc9169a409bcd169a409bcd169a409bcd564baa7d5e57abd5421308da6cb466abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aedabd57e6a238853417ca3ebcf4ffda1493fb57e0149ba2b94189211220430d810d6c2648208022613c4cc073218a0c213520512533a24a6b0c0078426563405aebc35a1a2691316c468796b928445e249098e32804495223e20a1850f4870e103123d20e2031242d841c6079896b7261768a203132158458b8f8b1b123db82121042e492869931cc068794b42072d6f496ca0082554f0dd92f03ceffb92504a020649643141055c39a609e8284219249f111854172d6f4768b1d2f276c40fb096b7221f8a8a6e452db81569b915e50004415398e4460223e3389e50244092a1e58d044d54d7f246022598185ade4a10f4f2f2f2a282b995c0c6d2f2560225d2047e5ec7d930d435ef1a3405bd0825cd2980c12e602d6c3613fabe590f3dcc7a80f5303b02090b0839020447841c5181234272a0472d6f46c84066071374467022b01f30e28720214658204888113c0c9111d231e9828995ef89e7cd6ee21cebe529631c572d906ed2d1065ac71cebddeb68139666ab4cd09dff624ca82cd9c25a6b6798e99a3f9921574abbe4485b2d6f4ba6dca1d50ae8fb563244647458f1d4d54c46872d5b6472b82d79722b428ad71745b0404811510c812244e6e75644124518610b022c0830184c8bb5b07f3722a8dc46a0f402821523d5ca6a73978c10a1850721dc8a2052e42584ee56c490f6c1165a11976e4468b9154164028d0089e84888a3dec77546b8bc6f0f0f0d437ae082c92834811f0f386a3f40645372a40429532354561f1e313221a95fe2d1887536640e2a6405aa8300680e2a481a1c5b6e7c118021dc489a6ab311424d1052903475da6cdca0f00300f8e0841ed4e081093ba0913475da68cc4af082842e645cc468e83d6d23e4408b808319b21b304953bf025933a5bc51254dfd9e36c081658dfa3db5a89191b1fa8d6158a394ed69a344496a4886e8111aa34234c8074fb242a2eb815c2094be7c70338bbdd6239004b39917df375372440423d801a78488a9a408215d8ca00b8b9b68c11354a0b0e08b23474a924c25430ce9e226021f4440040827c4f01b3481df2c8db5ec84006831e748197d085e536a05b2fe61bda5d196332e6f69f461b91cc7711cc7714ebaaeebbaaeeb6c9ee7799ee77946dff77ddff77d42200882200882432693c96432994cb5300cc3300c4fe486169e0e193224e886265e48fde2871614f3b4fcfcd0825634f14250597e7e7e68411f4dfc902142622c7d34f1427224ad68e28708915b6c3f3f446234f1446e68f8abb25b651fbe57e58daa119069dc71a8a453529913025e344e099771ea51a5a621b8e062cad7978c0a461c753d276decd1cfcfcf10343943cb51cfda16107081910a98a8e16005525a30c41170080f14e12e3713ea401723a84115515240e3a418c202dd1244eebdaa21aef84128615b20f10d194204e3103c646193680987d841c82b8bdb1051e84ecbdb104e704bdf1783652b3ff4a7dad05ad6e2521ba7e56d082df4a6363b64878c506ad360dedfcc423fae07934b72456f79d90008446e42f080c8ab063721b2d0262d6f4220c16056ac8569317bd10046031a82a41a0faaf470628a26565a30040443481e0451f382503284e3b8e9d91582b0c009c9107b1b0231880a08a94016498c800a1cd4a00b2c2c08c112770b410f7878c1e016c44d835ade8280d23d61bfef5e27d409d5918770557acfa05174bdd5d4091637e354597dcd5a203d5bb92f2d6f43e0406f993483f49c9264235f37a8429fcc2158b45cc16265532795de0a59ca110961a4e54d08275acb9b1045e87a84d65469d37196d6206dbe3ca75059bd9785a06b954b9c156df3950cd4502c40e82a6d28162aab548bae7588ae413426f52d8825b4466da01780a6a38f4ed34c6b4daed4406c09eefee4d26be9ceef176913ca6fe290b206b5b1afa72f7a7f55ca64309bc5e0fb66af2b66af2bb8253d8db82a258d912704d4cd2cf6d5b5411fad2aa9b7d97eda5a6bc52c4254ad95e338cb4d6e7296e3e4e4a611c7711cc7e5ce07a85a6badb5d255ad93bed61715b9a4050f68b81879cc28bca83c64b5a2a5a4a9354fa3d70b6ea8e5ada6a4e57de81491f8547264d3d3484fa45b4d48efaf7674f300155d279e3f5a1be93977e6961d989e9f43f4dc99f4e5822b6fb51fbd57ba5e7e7b538a58bf2ad23710d874d5ba4ad15ba5ebbb71c79422697acc28b43db599524be971e88c226feca9698e226946fa4fdea07987d3c07c49b9f25389bc51c31ca2a71249237fa3861945d2c84f117c20494f232d022b254d14dae6692469e48bcafd349a38a4c81b52cb2c23873b8df4feb4947b9a363d3e4002299b353d3e700219937ac7e83a4da0a5de2e3d3e50848c495d2f4e1c3d3e7084ac2175bd121e80426f1e68a225155ade9054d12e2a529bef5ccdfc5e97cae4374c73dc25a5321995d17b5d95639d5c504943596d58f7afd5cbe56f70aa0d1843b571b9949781861beafca936f8f233680ac5b8cc979f44bf745d7edaaacd7842de9f3ee130b08c4cf3d94d380cce196806ec233c8571062a2176121ee267a01144b88c7f782603d580b909f7702b0391203b8d77d895814490f119e7f02b03bdfe7c8a636420198d977015466120fcba098606e47d261739d164feaf3090e9f5187fc140af186ffd848162e422950604e3315a771d74ddf4562e4243034abd758b815cb988006840e15da65ce44503327de6af5c444503b27fdd0503d1cc5ee323069ae5222c1ad0f7991ab9c84703a27f1de61503c1e4222e342098c7302117993420d55ba7c9453a1ad0e9aec760201ab9888b06c4fd55422e02a301c5f8eab18b24e422281a9078d765b9c80d0da8fbcc63b9888906e4f2d62f06825d08900f6d845c64041a50fdeb22e422321a50cc637ccec84556a001a1ee3a2c17b1a101819f999fb98c5c84d280ee5b67612021403eb49c8bd0a001bdbc958150073a1d683c5078f1ade35ca4041ad07857062a3269aecf1ce8192846069a19883b903d503dd03c7d91499bc940aa03bd1cc8e540f7a9b37e0322499f70190c34ffca40ae0c643a1078a0ef40ddbd1799b45606621d68752018078279cc71ea0918079b66ad606018aa4c3e06df5065f230f2aa17ec8263a832f9149e3f55267ff124aa3279d469c40da8b2a02a2b5a559994ffb00c5526efe129349ddc051ae65095c92a9bd12f04b6a6292763a0add052015468f91ac17db97e31b9531ecd9759896a167a64245ed3d77d5cae81fb4e0d5c9e45928686fee5dfe52d03487acb24296fcc4c836650109877ec6896bac995c84925ba959efec5e426d199f44ae2d64a54896a3a849272e0882641cbdb90920e5145a2eaa5bf9d6904c81cd24363f54080d04063f53cd586062aabcffbe60ce5824b425506efe05cf2e57d912040d2145c0898ae9c20395ca183137a1aa1855f4449410f4bd04c4108c2f6640b5a48c51227b0010db565cb962f68a82d2df8e81d496334569fc34b05d7856a331a714663ce9162ae2e489afad70aeefe8bb81cdc389044dea8d7b45a2dbfef0efcf6be41fd6dd2dfe1e906ea7e9fb444b97cdf97ef94eadb05e6fb25e65b05e31b66f51da3e5370c2d57ae6fd6ebbb25f3ed9af97ec5f896f9f78c9631740c3c835d2dd60a460c8ceac5257551a7510c4da0a4f13a4ed2543a25cdf7b9bc63ccc8bc5c2dd60a460c8ceac5257551a7510c4de0e7759cad546a9f99d9ed60ce2ca5b5f6fb3e5114efbd2a956af51a6c5ed118b5dfa936bf68ec164ad89c73e6975d7d2af15e51f5adec4bc6e6ce95b70d68b96dc088ae177fb8a22b7d2d0a5fb466672bd131fd4563ab1c84097825e2e78e92f17347c9e9734709ea7347c9fddc5192baa853ce3908137b596fb97fdd452f08936f6609c4d040e65d35bc2075660662ca2f30afbeacf2f267b3bc0187ce07a4d488f0456bb6921ed377c6134a5ebc36b5820df6ebbef94fc7741cf4c4bbea2efc3afbdabdde2fcc3a61b53ae14de3671df3a63abc79db7fdfb4f3cb3ae14db79ccd1fe7d3d34d4ecf3d91e8cd9d87ead4e3a02db6df5673ffe6bf2c69ccce233af6d5c7a6a8ef2934c36ff09df4320fd536f374bbabdd67df656cb3cbf4efdcbccd3ee6ed63984113877d976bb5a973df3d7c1abbcfa6320fd5ddefd7d92b76f69f69d4015a1b62fb70626bab9d41baf3ceb97cc4220a83c7a9b3f3b08c81c6b8394d9ff76f7ea6ac631ffec32a0d62a9270f130777e2360f9d3ab75cb5a139e1dc99fbe461e2f8ce99c62c23877b4ee4de85df4de778f86e3af818688decb0e43edc596b3f6cadd7e5c9c3acc1591360d1a29e9fe76a559ee814b4bc5519a2634045c7b4bcc560890ee53c72e52d065674a8c52fe91015c2e48dd47ed1a4a0a5486d5e4d33a409d3d3c7e06aadbe5bc35004411014b18e497e20288aaccf9dea63d61dfecb9b6ad3c3bca9168f43ebdc3229fc6aad37791edcb5e60a661df1a6830f650b55ef9a3daef3e9c1e106cdcd1d44d7cfcc592d7a77e7a13a31c74157bcabe6c06d3d8ba5ea3d35e8033ce7bddb3cf43cb43ee63a6649775624dd2bf4942ed0d316454f6944c3ecbbf1bcca79f38ff1a6ed869f1d7b9832deac0c66d3bd7742acbbf286d1cafbaef2fe60c4d81e39dcebb9797b65e2a89f19ac75b7de7ddb253db6301f73d4e843d4dca777cfcaa8fc31afb2509de057bb9551dc4f630bf33a601e3f4e8ee33266652ed7af6064d4cc7b14b99a0e454e9b3a6dc2528bb5be7231b3c6b6575ae06aea2aec9d3b516cfac5374230402b6f7c5ade852ff51b7bf106869e223785aa9d7b664583f9661deee2c16fabc12e268ece25efd9cdb5ad8c7237b30e77eff322ed31c1cf31479ce70e62d777efdd692082a1b75c5a5aba177c37830d2d7ecf6043dfa37878a8be1fbfed6a6c41bccecd7b6af0e1bdd187a8459694cddb69856d061b7ad6c5c421e65dc3bd256de2f407e24e7f7b029ae330f785dacbb68b59a3e356f344a1bcd47be6f0336bb3d94c91ef9ba9a4fdcc0eb3991d7080d46456a1a4831f1d3ab0c00f11598eb6787283232b8a56708513a429333df8d08512133f800205114594ae300a9a09aa020355c080527aab8c661939dca0ab43ff031141cb5b154db41c7370047c7c7c68520cc2fd87a9a7bb1c39d0fb8ff05c77fb1ff7dd4d36d3c73c972c931fa77fef9155e601f9e172ee6111ccc3f730f9a17af70bfe3e95a72df7745feef1724f8fe9d63efc0feff6632df5f1a7cc9dee927bbabb1c26cfa21e2ef79c72cfc8e4cb0da8b2fae37b782ff7783f3d9567adcaea6feeb147e59e9329f7f4981e7ecc30f430f9f1e51e53c6b934d4ffd4d914aab2ba64135acd928aee77e4cd1a6d95e4e57bd4e58fb3d4c567d24fc88f8fae4339760811d6bca6b86a9c3af1d42c2c2407ed8865d4b2bd5e83f05dae3c97eabdb71a7ca803bc0bde53bb98f0be419bb60aebb4203578508fc7a1a19c1800efa3c32aca6af31272f845631e52ac638f83b61781fce8f9c17addd5d11e57eee1fecaac9b8e53392cb5d4e2e93072dc31b1d431a7c7fcf4988753e4724e17f72baf2e471d308e435778abb84b8d0305828099bffee367bd980041c0eb327f1056ee61ddf5da1489a5b39363cb962fb42b0726bcd4a1e4e1f464b530f53c0cbc33f5ccae9cf0310f1f9377e61697dfc3e09db9e5dda8c395135e9579aa061fd3dca803759aa5da242d35408906d65ff5957b8460df3269c6b75c12e17bfed046f859f8f58917c0fa2bf7c838eb2ddce3436bbdcefa025ef90b983557c6a94166918c99a76d16c99055b6f5cc1b071f9ca6797b072fc705c838ab857d6872f4c1e999f7e9609e1f7fb30d55ef98d6a1399d1e3f021601cfc0301938dfa037d5de4d78ebcccc53b5779a792a1d1a1a2282ef7a65fdd0993d7b64782af716ee699d087e0feb44f05f18b37010eb7f0b07b182586f7dc43adee9c3191c348f4367b0a4817f615937cd36747a9e8599d8bc9343cfacf35dda3445a24996a348dfa5d8864ed3874272d05e9709dffa4c4fd02b0789f18b9388901c9ba7ea2a92685a236f5554a14af58adcb10fe98966697943aae990135f6d82c8cbcb7f7725a594f9653e93e57de5d971aaacfe7599fc052bc35065f53274088243ebaefcf357ab05abc1bceb4e0efd4c24c6652e8619082512e3ad6ff09b22cd642231ce3a4fd534dbd0e92f2b89912730738e2251242fdbd0e9edd3caacef93c94795cb3a9d8e129792d6b9732dda7abdf20ad31f1d5a2c6dda852720abcc8527d07a3847185af91b0f60d372d40103eb3814b3f2aaca7e74fd89a12c1ccc99f7b4429a7236d0737cc0dd2bfb89a7be591174a36248888c16192db2467ed373d39ecbd4d65829a9c441a5a4f2925e4a1a049920ccfda1eabc1cad9c9a8ef373acc1143ec022c383db143c90f1e236850ea6589ac28b5937c50d8adc86a630b15896a6c0426607d7f4829ba780a287da822cf5531831f4d895c3622d207ab5b99fa26601d54a8a251ddcabe56d0aa1c7a608f25c50c4054376008375612dec4a162eac51d7755d0f9ee779520851999462e8bb3225180282285c40a46684cc2205112705931eb8e83aeb4951e3a4184208173e70578e9450b0420341f8410b11414cd9e268a93bf28105b8b8326d5c1cc9012c073990519251c201c782251608919952840e3798124411991b4c09d29f96b7293f5064b0908181942d52846024250852b030f16f4a192ca4dca002b50a294945aa9082145485142978a8424a14527c9051a2ccc0db620877399f255e78c1240b2790f821d2228a1426a41d4e40c2135218ad80c806aca88115a32fb8282aa8007739a3252ee85e9594223ee003a32876202303ae065148c04531410f1c085cecad8d281a3045111214a50226a31e1491a1e216050752746822b4dff4ae637ab7553960d6f16e7a7dd6a9379dc3db6aee20d69126cc03ef1eed633f75cd3edf9c2b98cdaef8be9915b45362566144c505a8cca8f050cb436740850a95152c81d2840ba68842298a2428b280028bdb755d0b6ed741d184caa406a17842655283504081c20546a4b07274bbdd9e087202c96c251365cbb0e07a5adea038d1fb8f41298241d9018a0e7a7f7684a8bd95f63cf09e07c5f53c154ca13249e5eba1822a542639105f5516573e2c16b09dbdbc55363d1a68efd78af63c152869cff3bc2eafc0de83a0d2ab151005142830283327604ec0603015580bbbd930606bc207489e68620ba1279aa08281279a3032f244134674e089185ade9af0419fb4bc35918313466c21b031f1031ee8134c2ced309f60e2ca1099272c13543031c5db379f389e5078d242391a808eff8ec293766ae19b168525ed84278d6259e7b8e333bdc39f89b3de456c4ddfaaf5c304941e96d3f5346a5a642ddd527069f4b3449f8a5200456f59e5e649399c4ec0a56102ee0c6967c40ddfed49962aa994020a2f9272a081922a8cb038020320174f84961042c60496b396f34992051657d88000e2054754b93da9f920d3e4de9e3c7142ef7b2866b324be6f86c40c0923294038b12941850a5aca1cc1598e43b2836ab55465528795dc6d891f388ee34e60ab3299a22582ec123fb59e60089ad3f276822c5da0565dd7c91471bbae87932c5506eee8e1c84f09827828f2450c4ef0339ea0871e6496d02a9848181c8008226644c066ab79950832011022b0d5da2a4374412d6f4a4cb9125066925f25982022e5ff9b1243280184de9f61e9640246e343bc65d0a1b5a773dcbd376f1974eaf4198ddd73381c3fedb537df158ddd714c8da7df9f4ef7baa0ee4f3e520f7ffabe7b51392795c32cc7bbe01da6ee787f3addbbaf3eb9523947d2d83ded70bc771c53f73834bcf7de7befbdf76a1717d65d1eba5c1fa8cf68ecb6b0753977960b8ddd7bef6db15a28d4592814cae55ed54ff8e52a9cf3e2733a6a74c12814a63a75b98ff8b465c8194fdc51dc45e59c6658e9316f1c7418f3715263686a88d3f850c6501c97f75178d4391d75e9c22da095ede972869fa6cca1a4ed6190b4bd2adc34689eaa75545fbd07cc6dfe2c8cdbbc632e471f367f3a28ee210a7747e651461a75f13670a2ed6172ee6deaf6dce8e374942bfc0258777d01afb78eda9fe65ca9ec0ab32bff78bdc5a17ee5eb48809787afa8ccbd7b68450e5b97cba0519f630fee36bb52b71f7fc2aed4c37d350ae54afd603dfc0f596561de326819b43d6abc87ba1c5d98fa659fee9265e4704ff91d2aebbc3ccc3ae2882ddea73cc34abf641ef328b9ca3c55c31c46b63199a76ad539988c435578e3703a614b632807e8b0eab1c71e7f3a2a5b1adb3c55abf20ea2edb95187e9d647d5b6c7295b1a437d0c515c0ed5f6a671264a2522d239263d1e854d4fe12d834ebd8e3a4c0fafbef75fb569fd3ed4b103954f67e5a7ce61f1bafc74f9c2fa025c999563da7e01d966538fa9c7ac637a9863cadb47a31eee195612d4a309a36c6083211d1e95ca1c3ee12d833efde52e9775fabd0b7fdc2f96296cc3d4f727bc4df7f49875500f3f471e630e4ae57aea7e5461d65f5cb0015a79c5e1f117a7a81ef136e519563afc173ea4220aeff035f868d447d7f8d44f77e11687b70c9a7b0aff68ddf5111ba0955d3fe11fafcc42a16658b9defa8f56fec1fa562b2d6a93e9381447c3a0e53dbc65d0f2920a22a858691ba6a40246df18fa62c5164bf4b65b08b105105b3cb1464249c349b44590eb090fe9a6c50cf48ac6b4b8526badd6deb4b869b103574ed51b071f794abf08250df154adba7f9e6a753acf61fb4a2db5d656fa69e72bdeb9b203b2b34b9aabc9777286898b83a6f356ded2f9ce2e7512cf5bcc714253c62084e4a29f427ada340e0de5b9188484781012b2f60b2c94aa4cd19b67cf6083d270d6b0a7b85ed174d461bb9835e8bb5b8cb530b2f2448754e46eb04b3446ad8f5ddaf1ec690d123927d1f475402ae0e0704c2d825895819b55ad1924d77e85a0d3e80af4f5b77e654de7baae131f8ad97500fa31fb6810ef4f5bd0fbe7a34d582269104bced298ead48b17785ecdb45fcd8e033cd6cb5bd4dca8e3cbb6ae007e7fdc4c0dac3344f6137be24c075c60e1167c3d8d79fb4aefea877b75fd3edde56f55673ef27e302752ef72ecbcd94d5bc57b243f71c9ddf3e706ef3468e04e1e5177584563dce78fb5b9f4d6be563436b3e4ee6b3a91a8b44bdc2d8f6ca673ce39e7ccd0a58105f1f3596eb488bf950bdfbdab9c65c6d979c3c32549140ce8995d3cac9e9ff7b1f388a4a19f09e2aaf68a7e895bd459616589b695767274c1c32ce0c81ba2bc31b78ef70ec7beb8770f5ff077d81c5d5eb4a6ab69ee2e1edfbbabeae8f20eefefbbfbc91e667fef6a60d3dcbd1a14e9f09fcb3f7cff42bdfba4a30fce47f871878f4efd456beced788b5d2e7fb9541d06efcec523bccae572178f978fe3f7fa98179cba0bdee1a35379ce5fac83cae14f5867cc20bea1b199c5dc7517e58d1a66d865578efdf9a95a8e39f787eaef9ac35373e377eefb4c1ef8996800bdf3741a0422471f0dd03b31f47710efe4d0737cc1878697edbb87a049c4a2a4e17224cd3c0ec561faa8e8f7730b86a2782f34819cb596c76aca499bcd114e0ae5c4dd7e2ace524aadb6ef7e3a5dbc85a12ec7138a3b71dc899b317dd6ebe02e472b6d3dada759b7b082e41e355a995158460e172547d4b5286b7568e23c6e7ed407352b16e1f77ddff779dfbdeffb0eda1a1388c383f730087a1d078220d875dd41bc67baeb38ce0bb11701188723009b01e24a1ae372c7c36a35b381d54c22cae204b72c88f42a0b1bf5218b21bd573a07badeb208d275ce4cb9fcd1d8cc1177af86309927f2d30cd00049cb5bd2150d002d6f4928d01f9df9c0953436ebf63e6f52eec8b5b7df8c1177cb1f9afbe44092935b344528e9f75d1c1fd2a8d5e3aef79d2c0a556b8d85a1883d11771ae4f4c8d2b57bcb1b758497e317829447f6445c454c358827119f285ed56a0477bf74fd4c11d7de8465e4e0819587dce2d11c85d51ead011fcad17ee2779adc3d2c35383f3cc34a77d4ebc68e4a09eb673c70b734f2a4187e3c85f2a9542a954add7bc57b6fea622a854f47e13d032c15de9bfae92453f3dc77614f8578e6add21265e9bc1571def7e2c330f5b96de8fb90daa5531d758c4fc91df2a8e3507db1d427f138351433be9929ba32bbe0d199105c3a87683a9332f5d1181277de19562094d3872b6f4943dabba4a30b385ada5cc3d43a406f7cc8c2f52b5cff82ebc3395a0ca3a4bdbb78e40dde754f47eb75dbc77cf6a6df6d0fde9282b4779b41162ddeea68dd6218af1825258de974f4018ab779fbd087630bde610e6298bb601df1e2ef5f5eaec2aed6a55e5d8ea97fd8d53aeb5287773dc42e1ee25d17efcaae56dee1a35577f160a56010326941529eb0ebbb83070f9e85555f61d561e07d3af818ace372a9c1cb31c73b4cdee241157ec930fc55197717ac033e75b109a3b0ce298f78fb68317b073376ed90507e7eb4e9df2daec18477e4d2cf8fe671d1e12b8fa8c39b96b4ddc9a1a9a401cfd369d343dae93049db1ce29d18dade847772c8177c9aa001be1b7b7cf75eb13d4eddf1ddbbc55fb634c64949b34ff4729c71e05a18f4e340c85dc2f6c53bf6f3b505f99a81e49860d0dc81eccc1968ee3be40c34e7a3eba69afb4e7d387113baa57d40a0ede70e39832c82600647f4bc959206f7573c1f4e71e7d8d7dcc9d187cdbbc7b543bedede6a1c6ac79d1b86e890c38f9632266dd691af79a767be0ac13d0c3ff0dfacd6e6add236ef99a757a5d4f6564b3ded3f4c0017aaa6216960b83e5c4ae92c866a63f72c2986f4a395d1ace23b6b4848ae4832a2675ade6010033d8321ba042d6f5864d1e1c7fdabb5f230e99a270fde392b5fa5ae3c08c90fc35e65afd88cd09d7256aca23bcc1ba643171ab406f51d466b52d4e65ece45cc331de07838ad7accb9c7c0b9c03827dee5dcb9bb40c318bca2318efbcc0f57bcd4fbf3211ee63874456b62f2f7a2353059fc0c06aed46216af8281c5a7545afcc5e251e24f58fcf00e5fff8979870f6fcd62920592475424de32e9b0f0c814ca309b7004667ac3a0754ca6bc67da746ffe13a9cdb549d5c49ec2af3289676a97de8bfb0be9a8e364bab7da57ea698db8f4a0694e256e7838cbc3cd5ca0ce6ae9cc05be8a85fd1ced250f3789baf0845f5a567162ef6138bba12da8e44b57b63d2c9d221a0800004100b315003030140a088422a14096848134b90f14800b95ae42664c970a931846311463942186000200018600630818293a910360bf22a47b377555efe98f2a0e059159653d05100d1b46e30feb1c9074f0f0f20543bd243a719561ead538c3f74f401a3de142d08061b7873f80063bff8e47d3e9d35b2e5163078b84f3a9749026d55fca1d03508df1f0ea7a7151c744548a8a2636065be368ef4911b2ced5f8bb8894a4eda17c7a3cc91d986b09bf26074a15930b46acb17f028fc355c8213cfcfc0a5f4fb1e1a2378db5d5116589d896b8260a292180465dcced6b12d233e588b9b08b8a2a25f814163b184c27bb676977e5fa5c22105e6d074122e3f07e6fbafd2d9ecdd3f3fefda2e964f4fe02f1c63c7ae8c379b3e2e0501519a02e9ee35276fe4ed6e77f053f0425e5675740f8073da2b1cc0c3965c27ec941e40abcaca94956245797cc806ff3fa3570e38773338d65075adb1db58fb913f2aaa71018ef89d6fae4862dff80a68755ed58a5336c26dd689296f1d140b98356b852b5d1f6e60057d616dbb124c27cbe607b6146ed2f8722a58d5851d9cf74749b5a858b9cd0dcbf028be6a5fbdb0fddb484ce631a4b506669ce0fcf46e4c4d9ce70e526cde45e5e4a9be64c868889a291bb8d7f11b5da0ce4034f2a8694ebde737cebdf42281ed7498e497190bc65b0556ba3b32aa0d6e6a2815b66bc35567e955ffb990017787002f150f99356fe2b9b13aeb70e9c514bacca36bd1d057653635740faa008f544c862a7bbe4b04c44d1b829ce98d6880b89d31f5aec6a1273aab3dd88427aa7a231cd7d89aca331cd1060bb132a66fc7041c0f1534e301eed1c8832629aa8f3841598baa3bb3ad7240fb7ae1b509bbe86de208a19739e458ec025a51491dd9fcd06b7a6d034a7ed2d4a2e310d1d597348bd34db935be30c6e735840c1b33a4862f2ac39b840d9cf0c5887887dba51b1a6fa2e0cd2c4756305a50349c0b60ff9018dfd0dee4fbf12caea243fee2326d1f7fd51a11c9ea02703f86f84c12de5c2743fd9094070157b49952e8307a521d8ea7ba78ee8ca9b189f614dd2526b8f447702206d60333b4fe90e5996db8257a95d86f96521e7e8bacbd846c9bccf7c785b39acb8a06bfe62af42a61a1d5f03814c845ac410085a56cbff9eb701032cd8b9259f3d60407d2690b0f74e08779075677688fe4307c01ef090d42fd02985469352c2e5600b226ed6adaeff7ff5082d09f62cc8889b5cca0605583c2c07770fc5e661b48186dcfbcc904bc91532ee59cd304090ae979dee3ede24fe49ec11a544f2770990d07abee45cd172627b5b9bc635d1b51fde9695c6fcf0c6617feaa446f342707c8296bde8523733b8d99cc323c5ea9a8899b6f79a20128f1460a6ff62ab0d1d243d9ec7cd99a38405df85aed6482a287489ff3c407a8cd350f609ac8c7723df0be2134693d7e16569c2f9d14f6d8e1df67c4205df7c3ce62e259532c12588dfbfee7ebf6c38167605091db3aa10bfbfc035df9ed46a9f475a021c35e0a8ecef1806e68dbcc22741b90dc139871f4f3a9277ea8c885e48dd0c80de3e05cf8c4b45fe2e10ea976791b6c9bca8ecb15a92103a0ec4e62e7fd3b3728a4c6773704bead3239c9c7c761ec7e096633f1ba79ee589095d3e797223763764ec2daf41edf39398259898951d1bb1c39bbf58f3632721df776a2d82ded089be47610856c8eb1720274a106faa661bd5d07ebb0d961ac5d146a8103038ad4da0c5e1c8630a12475d68300a33230fbddd8ad3c7220ec4f253c44f203cba43925f38a1ca4213f4998557d5871c9b166b6952282fbe21adb7ab8824053a0d9e1b533226b1ad36ca60ac0d4363cc8a548fd0acc0a0fe54d5900c6ff6a114f047ed18fc15313dd4d131cda3eefa43a5255c08b16c2e2aeae87c47d950f3f7cc969d6c1988bf53af59088e7fbc72baf512e6c7362c7cae5141256205fd9e82451aeb397be958b52b691712f7a61388a79eeffb1a789ef42c930a011f37d1e77b80efbb6bbf03c81eb2fb81519a9e2b1722752bbbdf71eb1873498fa93a400ff926102f970efc8b66b5a5f6c3735da02e98168f4d5956b13d1b34a4bcca0517794c6424b34d92b57e839a1bee59711be7357fdebab3d77f4cee4c66d0fc64f757243f1988bea34e729c95c0c6d9a703256d9032f9fec4b505c8e4d53ca352c657bba220464b8ed619f847caee08f80cf8e3a4eca679871ef7a496472eada32e818ca888662177419753f8115f159a3a763466466e3d2efd472877299c9f4dba1fe42dda78d800a1cd02400160cd661b5d03456958f3166d7dd1a68b195d51e22ec072717434f058fa1ade433edfd26ca66889c91d7ebe9bdafbef70d9c2a0f38480ca6d8e26b8866845f8cf01d471a34c8467938fb2b45e78dcbb7d0c2280a36b49217d19cc19dcd225d4a8d277bafa49f2b996d3dc9cbf6a562a9996911a24f4400d04a8a07c3e153867a2277b8618c785a5268ca92f1bad2c9af0474cc12de68f3939843247fbfcefa38ec2c5e231fb181cca5aba6f3b82844af6c677f996218a581a18530280342d1786d11863cd2ae8fa38484814a934322f674520673b58ba57382bd93437926e6020a738495c236f4461cea53196f9843095a8abce0069c3ae56d7a39a838ce045156fa08fb5de0d8281b93ab643d21b1211704c7056a315c36464214e37e8b80f5a5b8271ae4c80e8411aacd6f6f81c969f457ca4497d29274c63a32e426fe30bd9fe44d5032b44bdd05189e9e6b67fcbaea040c9563b3b7fad37b14c0b3695bf8da61e8b081baa162b6f2612eaf550c9d70da7688b5ed20341bcd58146ce200a5c8aabb04dac86d06f753de8023634a064d2ad24e39e1a7a16990a8c19af3b6ca4cef7a2b8079fbc956ac7e272201537b5ffec9eee4b7e4cd6207d9150aec7275d2721b5172eeac8066354908f60da569d21613d35a06844b6a1861384c4e05899565d722edadd4783e85ed95d45ade3f654f5b8b343454d474a97e505d5dad0938bfe10bfa2c513bef2d5a2bbd76309622d1f19f27beab42ec3dc8852bce285c810aa552fa173a11d39895472c3d3afc6bb6633d8cb8d35749d13821c5378e28ed69d89cd6b055b3c4140c7f1193ef69e16656c31b748d6aafaa90b04dc98962cef1adcc11dc491bfd044987ed5cd3c250e8dc01a2e72dee0a9c1f06c53784d107454c1143764b825f359a3ec40d8c7a30ac726462105a90d83f791fed1761b30c7880bae774bd44b78a1883ef1d3a8371904403a9dca9a644b411d1153045cbba92eb29f8ce3bcb518869fad84b08e1d952fb446214e2b568b923c7259f2c89b4b0351e4f5ce60296ea0ab0117d8dd4dea0513582cc718c9effecef3c94ba76576230ec80f77864ac56dc9d0ab90555c871aee88f55f0e80c241191ea08b35b464fc4266c3d85eb05e7731f753f4c0f272063dfa9ee5dc05683bdb6877f9e2dfac8c88a9f0ac274f43280222ff3ef08a3d1b9243b9a49fce678d7fd2e512ab4720ac477b287649f79d62dbf2ef671592d6d0803954b40c1671ea8607bd2ce35fc904666f88ace873e9070f9e79e302a1676821563191770de6322badb4a3a5ea4a776699bf760239c3f2de3eccf6ac741d870d082d0f7f14c48037963f0390b2e36e8f6b3145fef20a309a59afd6cd868c11ee89edc0d9f7234eed527da560ae615ae3dc028474c8892960271418c69eb089c3ef06b30503be32e211427aefb2653ea4383febcaa3bdce1e022165dfaca7ac3917460416447d6bc544ef50ceb22c82226dca1d612a914ae13360b4566bd70c23bb98894e184f1da2a524192ca937e6be4f23ad1df797ad7fd7c7be3d3b5149d331a8495ab35a5b4e0466ee73316778ad42df87c9db8249f582f4d54af1cc3af9c2e62cdcfdaee84ea2cba94cfc490230bf72bb32662d9f1f38b10aa40a96123555c0448d7d088073835cdd750e424704ccc548726fe24c2fd3a637918e16a544f42de63ffaa7d594f999e66b499835c1dc376b028a667aad7951e141b4d223500ea3bdf664894cfc0d8a9cfb86953c5d6e6511952420899743b51612cf953e6cad3c99c75c6096e6eccc7f19a197c92d30a05b58f255f3285c44b6e91eeb6799b57204dd39cc078ed02b5a45c75c8b252b928cb432f296725c2a5651da4303a9db62710c6a46384302ca9b3145f8b62652dbf19e79c66583b90196d24a481ef9b95d57e563326a2bb796dab582211b3016f4d34bf9b5da8947255a1953e39e9b993c9cd309e8ddca229e1c98d6b97d36f889ad01fda0a8c482a691613c54795683af0aff3fedf2b4f4957ad9409f01cacffcd9689776100209f56c932ddf5fc5d5598a8026ca6f59e71ebf6a5635b5b6b922d323eb6353f7beb2a5d2aef16598871ab79d9f28e4b2ab1485180860f815272eeb04b55bed4b1528d4c90d25f17628bbdd772de2b07c29a2a8b4c1411df368fb5c3e4f1d7d94b00808fae2fb64226822f6ee29b645492b8aa2827ef843903a626d19859daa36769b22770df196d878b43b67334c75b98c477faebba85f123803ebd2e2502c615f5a6f7b0115f99bd07375c7706453313d2161f4b584f6dd077bcafb2eb0f67523db8b97af39d5b039e85af4b2666e6073540ada1a7c51856a8c13e6c4cbac3827236fecbcfe7177678cdb0ea1f62f337959c16dc71f5e937a9eb07b8a0e8cbe73d29493ddc3227c8df164dd6c8372994da83e83560b3914d7b46a0a20a62f0a28538dc43d289478e8d1943d7a645fef98a25e375a274851eb6953f85cc083244370cf9a9e896dc59d495088244a74e78181353d8c7ced708dfe717162c1f46c408f08cc464f8985dfec76114518baf2a3a802ab9c667b1d8572396348030c11837e779dd5504a341c4e56a05ae184b5409fa25e260048271aca344f630226f62274e9d781fc1377388f96a0850c7f9c347a722756f646b643b9a4a452e2daa66be4db83b3a1c96e2fecbfe8d68f3417266fe446c8ecf127d4311f893ed9b66776ffbe7b1e36f79835f405dcc0d57b43141ccd929763c9a8e8c3d0fa85fa39b96f6c143b23b3ae361fab37d9ecf3aedd36536c7768130397cb4db187c45ff6a84e6db2d515fd7112249c1f9877ee2d445655a5edf30afef5217164f235e3a3b320bba69eaeab14b687b71c503229b9f69577e026fad938f91926db3a7e067f8ff08802b25af4f71a56dd5774b22f0c126edb62eecad90ca2ea0a11fd2108eff60a002b49e374f9b4a4b108a64cbaf65f0500cb74eea97fe9034d3e6003261d16d1194421ec97dbd32e92718f60a15cd4025fc472f4a1660cc1066dee43da314118d5704d68ba7615159124046bc77569e4fae8c4898d0afda98cbdff207607874dd8321f735d736201abab37f4ae64928bdcc812e630ffd02d2d61a64e35311654c424919549771e09a74fc1d90f1700381cc97e18452c6191f390778d0ea8825d36984997777e4c5f6e29b4302dd2a83d587f3c23513c5f11ae48ef14658927626b52b7c1ebbc93397aa3ab731dd915d6b61a1a977ea9d4c78b2a331e5c35eabaf1927c9bc9bf49a14f2c5e4f8374a763ae81f35adf63bd3caa29978f53888af7dcfedc691ef96ebe552cc35874b610a2376c925d065debcb6c348a649c3449bed4a89396ad0bb38156491232522ffd8f06fbbfd0516dc34088e510138a9bd7af0e9053e791acbff1ba46c95f14feace2ed5721b4b2b160879b537e91735f44838536d8b12572fec87fae7de45945aec83ed9a71ea5518cc40f1e8899f59691c6c6b22ba2aa475855907b6ce09d118bd0b8a92ea4cadc9430a6e7fe93acce7c43a4c7289b6dce12f9ed5a6b824eb4ac1c386ac5e7704feafa580d8c28a49f151859442b1269ed34f97f95f2cfed0ae022600543de4439b7e32a0c430d1a4d45f72dbf141585c767e83ad6de40a53b31d6998c0013271d7769ba38976efcdf1f343c37ea610233beee98d867e5eb4651f113686823485c21705e907ba8f7cae97c7d9056f416ba442fd2d613298dec15dec9e27628e470f969542d0beecc29cb7e8f7c611177b984adca2c93ec662e04cf22da36c4888316839efc831892a3c5f84ff6d50acb594a46defbed160b361e8d3621b64f55e850a08dfa459168b9f86cacf5b3b1c4daf88d3e21c6ede762e4df19e22790aa4e3082070900546e9a09faa1a71dd54de35a024cf20c173bbf28ea1c0657414fd9ab4e482428edc4e990ff3e5a7eeb9e81cfb81bd9a5bbc32133d5206dfa43d62453a94bebf168191927e06ff6fa73b1c2317de5ac0f38cb078c57653815de14e5b45c970ac5349a200e3ac304f2cb639f0066b6a19b32b21e713ff9248344bfb8b5c14a54929ab00c51c9612b877ce7b09ec3adb6992decd6e36a3c7d705e45b51eb2e63e8993f1a5642d496691ed9709526092a218ae4bf8bf705fc015a1825dca745671c2752f77ceeefaddc044a4a3ea1daface69abc8f0c1b6a931bc12f482c007c7ac81c21d79a2b7afe431f038df6851828291ededff56a02d5fe98b37629bf472c144369a80976549dd618a2a2812f3d24725c7ee277035869ca719d167ad4663f49705bc712c72836e3da4a1c897a56b6275a7cd87aa490461781b8e27abbbb5d44a7847e15936d0e797f26823191a32d53c3d60df045e4e258c75db1b8aaf83162323d007fd183c00e27fd2c2431a6aa152759646f6c38f37568d00dedec5e27614517ee30f25571ae68741dd52b2495720e3537f32e7231a1b58fc2e96bb5f7341410291cf1f103146f6b2317b3820c4b3b7b0e5a7ff58b16ee63aabdde67c841a88b14b9def0560fb9c402e49c083c48c0be40be2d5ae11f37392026c3cdf6d1124fe930bd55da450d94af36d15f1fe7f02ca98cdaf21b4727993a01f102939707310486d50d6fe2e460fa489044ff6b7a8f77500f9b9aba092a39e1fb9ed74100adb9780f26303accac0ff0541733e9c17637e4cc2d147cc46f796d7d28e507f64c7a14012362d3a69715df0e0f72edff4035cff00b244a5298e27224849f777fb1c1728589ce24de8ac5204b5c183f208bfa4828b92615ff3a61637ecb9d3b2fb23926ca0ab695e670c464641ef0584f419d2c2a2bd287f1b6e3d7e069809d54c4823876c58855b48719366ad43f524810ae7735cc9051f68a86fd23d38ace3b5910ac8b2ff3c0aec89b66e67bd394837b9c974bdd663e05bc67e296f12da1ba6a5d6c9bcfe61174318489ef6bbd20791d2f331806755a56352cb507ae7e8dd324055aaeeeae9c23dcdcfb5241ec3609206676f7725d054de417d0c6af5b4fb550949ec5ede56e26a5605f25388cd939d031b5d23ebe74ee4bbef9593483eace8a879afa0e3c82647490410e68ebf311a962d12bb15e3cacc6d377c9aea1771b66e745201ce4a3df0c9acea21f723bc51577198dd9ad421a06dff97dc12172545ae43d89929015b6be9f733c37900b96b5d04069d1dcdb04c91e742e5ddd87d0d7066870afd1260fe02a860a92a115d52e9960f5aa5f14b1ec10acafa073b5d15ae64f3314404cbd91b00f955314f2f938aab4d33bd9a12aecebd0837fc892824b3389dad2eca650b2d53e09249a19c354e7732ca0dd6f9da3fc15b1180c9ad3b9a422e81f896234e74a245f6da687217787560c6961c3f89783c7ba42956f20690a3de2c0c44c54ac641e1fdd38f33297cbd62bffe91f4d494020bf3a0dd018fc476c53752a588404fb7db29167b2acb53948c79da9264a16f45dde727d69815255e1f5a7313302b880ea7667085298cc33b6d69666c5e81af52e83291609801e5fd7efddf7cc926099426fa847900618bcb36cbfbbd10b9b4dd94466230935e21e9a2942d509d4f3f2ed4704d04155404103a4396f4561228036a01d1fb0fa04150862bde73b3efd6369d085cb96948b45c8b9768c96d0ce9afdea520ed55fa8bc5470a6af125575784528b446f55a42c2ad9481f436a1c928dc33c6eff48ecaf4098c19eb89835247a4bb6ea27a15b57dca2cd5a310cbf596781156f4467617b3c5f3ec25e5d32cea506a8f11facf7d816c80c4fa21eb4794a5bbfb6a9f7078b9ca98be4e8cf3520d40a252db0f29829c9cf8e31f9d5fc63bdbf4c6730e40f1b42544de5f04d579e63f71a02a59fb07a890bb9138ca8004cee066c777eacc80a46e27a28b098ac2dd34ac57ce924f9968041709f9f5c0aefabd8248b11e2ed1a7fbfe7a24e414ff6320ed49792d010c24f54be1e89315b15d95c7e98ce2a76e4c99517bd52691ac7b464f946c5a210733a3c8a751c8fd53f4fc0f54a46643eb4dee5bec7b56ccb47ef85ed4c1d744fc9e4247ce2d3226f667d69f9945c8c8a39b6095bb7f3ef0199a8e3b195db116fa84e3f844fb3275f143cbdae962bb5a6616e46e80979dc30af077c84182e21e599ff5394c4fc95803e1564071c570c024bafeca439607518cecfb10bd8edd6fb4ff8867e83b4a68077b130254eb0839fbb7ebc8f3602b162b634393fbf210e7829d81003e83291a2a8ad7c002843ef9db1af08ad28e5a863f1e86947a785d7bb4f6a2edf37fdb681a815ba2ec3ff3056e4aa819eba7046a8c3979612da07346a8755bf7c18911ed8f8a7c6e9f596e4c761960c3bf3065c3620ba9a55575b41a2607121385e6d6adedad94d9ac34fa850c4aa6353918992b9ea05eab2d1c0d0580ee091990ed39bfcfd3cb80f8ae1ffcaec6f270838a06b0f6e0804685d91e2297c23d1aaab24e8957d5c5fdc71b406c0e9d44963665ee900335b8d024e19e8d058eca6b515603570b8776de6fa4871ac413b3d11376a40aeaf2b5a283c258fbe3599d6aaab49d6f6d54713914b2c5164ee9af9814deaa891223da2116b8bb2f56ca8defca98245d0b2a0c122fd073971886d3060900462789bbbd79a3e5e71d838a92741692e0228e78af633a175710191155290d61baaa7c85dd0ffbf88855abb3f0a577a0a3101e60514d1a730e20436d2c7ae8835f954ad6228a0a051f99ae0f2a6d71aa2065525c3aa1f2d835bb2cff83ba85b32c498c16c88c84ab36a7a06ee5cd6daca8b83bcafbaaae33750ab969bfb08d1b37e2160466cac682b02b3522225191450b96634cba7213a35a5ac6fbcefca45be3bc69b8ea3b52b2374df2df06fc0525590d71bc5d61459189bcb5b125fa57a6cc529a47a61c6f0229503421cfd430b26740c8fd1cb45c5a38db804ab01754b8d3e3e72fdacd610c2ca8e851806c047f18510943e536011455ab45f645b11492ca4b7dad7f4bb8ab08a12da60aaa79e60738645600955282166b22cc10f8171b025f2c340420a27f09d87795e1ae1517c31d58273ffd7c3f3c346e104014f15be6bb258ef3535dd86c71308205eaf2cf97a3e47b2c8fc4673a3328b2ca6c31752ceb6ff79bd490320338f807c8f345e77650b44c3c339be44f5ce4aaef01313b6e546d3bf9e013e24fa5664f7b53b3a3dd62eebca0883f109f4607b166e9dde2cb86fa79395a6f6e581d3fbd0f7a70567d2f117a7cf5b05fb2639630772a45b753750fa7ae20f7254ace4fd8c9843555e3017c41e8f3a54e00d46c462c4e34bb21c6c1fcf79df52965aedd5b8ca58be559b2f64484173ac1401ea0c554f39ff84a9bf342e555d553d4aab2465bffd4cb9103b2e1eee6486664a0041a2e7725b565d4642b8168d266bc81be98d02387c32fb39e16aa4676744c0fdb5455af2098ec0151934af1d9b39d560031625815ee2427a323f56be718b062a4b7ecb1c3457c5fbed3706fb2475b734da87121e7337e013c50866f42f2b147044f279cd04fd75b0c212d16d9e136312610775099eb3c8b612d0b9ec6857362a106aaf9be0418e65ed5813f1a0169c73d9ae2c119d3bf8f1f3314ad302c8cb7e9687531f8f19b5de4613c11733288cbad15a1f975f437a72adf3649f9922bf2931d510c7414ad6bf9a57101e906329dd6725900bb4c947a4172086950a3e8b638f759141b3bb84434e080ee9e243f5272c8daea96208c2e53b83c4b882546eaec9651007356d89aa5f8d97c6506accf69ad282f1548f321cf305d8aaeba54b8d1700c316b6bc80d9dd5d088b6088ca685a60b047172818de41b937c29d4dacb236bca7671ab12b59009a6a2e044f8c37276a3c1308ad537270afe1514a9949b7936c87af093e496abaa407e4aa3d183a54ffce95bc8a840002b1b2685ab0d82c276b9f13adc30247a0dfc23f375377be15d63061cd447282965aaeb3b2d3b54a14c9cfc4474a382f1f864e69cb4e2815a72c5b23ef9c7616da5f1a0bd2398d2f892242659ae5e20f060c7ca6983463c730f5f9e0fce509528dc265d91fc0b332f6ce67e85c1db205cb36371062cc7f882e933fce68901d7162a31aa300f47fa745b6bbb93fb9e17e40343cc0dfd13c80c9f7a3e487e0ce6daa010a0af77a458fae5a91e68a18113cdafac2b80addc29a039f036bd7704a15ea71b29846bb69a55a084c9ea3579fe7c52e4c31a195b5e1f01c7b727db293e9102af283ac8364bf06c614760fb7ff239efdd95995ab1c945a0c9dea1464016773bf7cfcaad676bbfde56236e9c58bd1624694a04620c27c418865231e502844e535b885225564cc386c4bff4a521094a3cc5300314da0cf8a49a540fb88fe02635c3d493694ceb6112bbb36c53e265951507c49f0c44bea4e77d039ce9ad3b934c72aa095e215e7d4a69a5ebc43385b03a5e52e7ca4b71cff0acf5a213ef6a87c833da0abd4e8d10db21220a00e571f1d35068abf51da9a522882c27bab391e8fb90f6197b808a0ed942241cadedfa77d1ddf28677227f3ecea86ce12d3eb9b6648edcb8468795931e012bd4ea77cfb4bb823ce162b8ba13ef0fdff9ba655bf33742656c2f28750476114a8cd6a8cbfc31d333adeeb7e1a9de9702d8ee0cbd48ad3f6995801c0bd10e23de93ad2d2776d0bc755f6840efed72af227dccf7dd3aa65fed98aac3c5eb73bcb9e34c2a18f61ad7408e78dbb010b4c1ca813e68984cbae08ffe987b6dd9994b000f22b87c2b17face56075e45f49e1243bd19245c69bc2fcdfc52aba58e62a67623f5354e4b91daa67cbe09b9bf672a8e1c7fc1c20e2925d4bc485a7de95205c6f777f0f2e75618502464e3ee4edcb2ada8461d1cb8f8c57c581c8330dd1905f1e80c19e7b07fbf8762f0ccb762172cff35397ee81bdeda8d99ddae585edd54ec03c4dde5aa9eb183b06461e387627e04af34436ffbdf25c8e5685fa8f05d53039287e30d8e3041aceba301a037f9d22049b81e86f63877cc6161b8504aa49ca3f12a189c561ed9905d487849d90d16080697e1220e000359999ddefb98bc1aeff0dd761b9905422ca46a1256624492f0849a95fa9650afce072de28ddd2d9b30a9ddb4cd0fa1cc3b137048edb88920b25e59f7cdfa3fa3318d7c010bc11c41482f7ade5319c3cbb7d09bcea82809cbec3ea230e590412e90072cf2591af39ef4fbfc96f6f1827cc1167bc145651523d34c95894ba5d7a65a3b950c243afdd06d900c01211130e30be8cc44c5ada98307479594fe3a54e7756c10634c45a1af79ecad17b0f93b17cb0ee0a3dc1fbd8e31e22ad0ee2549354d38bc5bb0698222c455a8d1455e206ecfeab4f2fec18e9a09e7e557842f19700914b1ea3c2e576e983260579aa82a2c3c74e6f69ae4829f86c041246702aed5ac87e3d0f39cb37e4b600acfba0837ba433a149905f88ae25ad21096a8c4ecc5911e158e2a610038dc013d08ae929e7adc41d8d5e7f60e5e1da20f6670a474dca9cd2a0b840ac5ef994a891203e8d46a943bfabcccde868620221974f8fefc668a5e7c57004053b63c8d747f538a33a04a6c973ae37e7158c316a39a08929ba38a55c67e085a3e53ebe6151566a405b1a5eb33044e50c22b671b8a0a92f131b192703eb415a149d646882c57d44b19d943038d151fa2ccffeff0705b522d70f284b15ac67f2c30b1490ca9c1084bd7b45173bd3590157d38ab0f7116f614f0cc0ac57d16b6141a584c43fbc5c7cb0a535493f9f52eb54b55a02f0b2fee0f9b7d69ec7c6b0ba106bc5e7d26d89145d7522135eb8cb4651632a5c0a7800f986c959aecfbae995dad9bb1f130bc5ccab36222a2193323796754f370174aed2562dec6c47e971a06ebef9383f08815fb5a477455d333abf487cf07f0a1f2daae55b8ef16848a4719bd0899a4b9c40d86a9fc5f45fb4594843ad24f3b3bb1252149a256061b97b1a9c76335c28a6e27d8b4feb728f323bf85e587594ac6e7ea3d3c63e8c1efaf4ac0a53c8d355413298202bf791b03801385845fce5d8b3e92b59e96fa04689b34ce6b14b4ac6bcc8acad2e4e8ce205436fc9210ab36074dd8716734641c4e974a42ddb6da75623b34148be1d69a0c151e63f3a145f9f1991ce6df7f8338dd5aace7133a610ee6617176221d3761fe4acb22df9339c33b0eea5014a7f7726bc286ecde76c3f295c53a9532a4058e9cdad8d0e4ecb5d980f43c719aee1ed140a94a23c37985cbc8cf9a833d6c9b59b8bf9ea20308e010bdf00986486f485174722cefac3dd24487c9a489b7f0dcba977a39805f818e0ec565ed0d404c25d4bf691eb5438c6b4d7e3e190e100da55d2dbc2c6d1f5761c436a480db3654820a531254e7b4f5241a6c1bd8d1efea089d90b6d529407748e45d9086d40f7da127355036233331630ae7e5d00c259c35d28c54437d40073fecbf0c5bd4ec8313c3c3775da392757668b4df46b422408bf01daef8c59edfc57430edf5052d9caf87c011c44420185405b642ef6a4fabcdf28b94aaf4b1b63b2098fc924e6b37189b282ae020bc7ba4e80dc3c10df97d5e3f6e297c9bbcb8ecf69e84586b1d8d2b9f8c85143d8575a4762e64d3fbe5a1c2168f0ce4958a73fec691120cdb0a8e73faa552dd92c66aa628cc01ab0d803fb6521378eef294c01e096e6b82d11ebca4e9d53f5602610f8e939ad02fb17da055dc038163885430658811dc42849ff40544240405bfde92dc507ca02e6db32f29613b38cfa33998fcda72c757b5259ab5f1d691401c48b459f91a0aefb9546823ca24d1e5a8352362ccab45c8c9a6ab107e3afd6c0143fb8a4bda8282b6ac5a7cc61be655214aa8404e4bf0922fef30e07a4fcb385df3c8075fd8c34a220886dae82ed7e80b1adfca837ac576170ff65f3c84371588e2cf3f209c4ce6a390d203b17b0bcd654557007a6b89f9ca421af712d886f244772976229d77d6c9ec3dc0b76d4832dfeb85725884b57497a68d1ddacb87cbf9cc4b070b2588a8dd23982f5b76154f977778d8faf1450d8d17dc17e0910f2d8dba2221cc2bf2c1a3d9cb494c043db63dc083e0e488d838bea91aadd599d3f18414629a30d04f6dd5f3b8352c323c787d53c4ec4d91b6355d2cd88a6ea79e25b3160f1bdfa0162963c6c245a6e2145c15b8b88d41cd115deb078f3b188d588f0b448b76d9b32b29ea1649c3e6bd82621a05f4fcde017a6d2b40936a800c07b8329e8b5afae05a893f7370277bf66da819b61a7cc0c39e320684cb8288992c48bccf7800915e4fdd81496f0c6adbd663071729a0cb849ee6aee5fba5df5917f1cae0c7234f638dc7366285624ffb84f8b61fda37d93baea143814d83bfe26ca8d94b79b0658051e325496bb6f25aa6262874142f24c99ade4c641ab6344a0a8b1decbdd94b5ca7c866b3d3668649373ba7fdd55ee3d2dcd0b2fb7f14ad9d60c5e19ded1f3ac1e3b1713efa5d8e309425cbd8a4fc3e8da9eb4d180b87239f0d18332be41b6d7a8da6a7edd873285f02dfc80b7eff2a6773b9d1fdd945cf126feb265ef6a82281b2646b3d5aa6eeb617a7d7ad879855573eb6760e6e73143358a804bcacd562527b80a9049aaa1bd7a30bc805f328afcfa95ab6d7013313d65eb48080febf8e322eb95b4810600da1996f4085c289bffc97dd59943a583e21a9a0596d6d283a854e6cb9ea21c6006f72ff427fad52394008d55a01d538d9fbf052ff6dbc3c28ea4975aee659b71d1482ed73a5174bf81f8a3426b63f8edc23efc62887d9067bfb8924b691c58c194daaa316ad7f8122bcf197b72fac5211d5a60d0c39fb61dd66c5602a8267f9a5614223b792220339f29091f1ed884846e92d200f0dc9e35bf8da71e9afd18d7a8c67c4534fc507e407079e10b5023078912c16588366a32c1da96bfee49533f72323b9b584439d354b3250f258c0b8b1aa5049c4d097470df7f0371fee261ffabd2e51da9ae1b331875467491b6bd9302212cdd0f4c1b9adc2ca802336237eb17fb8bee35ac8c92a93139875a81ab2b26ecbe2d3299b0e1ac29ac92f479eb29a87401c2363bb5ae9e620337b9c7e93d0d35709d78a94670e0f6ed472910dade5d49f267ff5af7f3ee8fa837c25db8a4cfef7dc41382bdb91787d576b44d220d1c346768b3b460c826001a1bc8f61d31393fb560bbd0f4582b9b3a276968637c9c6fda73d4b1dafbd7a674937f185aec41e973a26ba8d6d7b50db59829496f91c49fc8348f938b35e03a126663d61599dfb7d44075031f6c6e9ff0ae7938baeb6c40e1c4591dbdeacef1e26cb26baac7bb495c4b359d21309df91bf979831ab7d642686bc4e4ad702ac79edcf20cc9bd041a881071ae006bc52e6ac6be75208a730211ae9fa1386cf4a0c4fc34e2150c90c25d34601a09db06bfb1fe767c4fcf72df2558748ab809ca468ce882f9bed7c8946c0ccbc295bb9282cb8f054a0f058fb6621fc2f45e3d36415c941fe45485304a5c4b5c7af951c68d539f6ab4de7c2bbb693c20d51bd811ddebd0d539509a7cb3cbd14afcf66ba484f66fea663ba82c4505cfc85b4a7d7f74b286e9cd0dbd76cf3f8d48f2fabe715cbe849b539c786beadabde316e721a7d8e7e3541745c37f703e5fbee5b90a7f5de55e23e1606c463bbbe14cfb435b9e8716263a3e0f8a7b17bd637fb2b2641fce6871a7459ff10f7ccbf3c785269bce411a9e9598cb9ced0ad8d154b468ab521960ab63a41aa6237c4a582dd27926a942e83fb2f0c45d495e7cbfd5ae0a3eeff678be5b22f3cabd7f722947fe970460446bccb7a268f2e9e8bb0b960ad02cedf67d99562363a06ed8acdcf5dbc9d9a55fc9eabc696177f56decac3be136505bef2dc2798918668d5e2ca3a734dada98d3b6eedf3954efb4fee5652bb3b91819675708e3b890dc2f0b54adf1d50e3e81316fd9721e3ef1dc529c8dbda90362131c43ab119063d1ea4a88f754972ff085d62143148e95de638c3b296fe1d782ddddc60ba975631df7c098276b446a202cd1dd3f949825f6c81a0beb5a5bd0c046d11f7666aa739b5b7a644089ec12f1ad7b2238adcd9bcd668819337379817ccf09ccd9e1fb1b0be3a85b81689bce855f5249364a8695992cf7822fe2648d5d8d9de7ecb76782c95b943177a0629019b5e117d2e18baa408dc702dae16790fd4ed07fac46545d0d21c2f2c3ed8e39b8beceefd4f62c79bd2574fc0b6922fc25cbcc65780c0cf1416b50b9fbde2a859f783669f6203d162bd50fdf9ff237d6fc9c48ce0a6d0705a1cfddf550a3a093189cc6d8bfe94f2ec1c907b631ee9e869b17b47bb1b9d910e307e1bf3db6ea18f88d41ce09ba3992ce3dd38859b6a265e250a17eca6125d28ea3adcb2cd87d1c2a9c9b28527a3c1e7fe5740f55061fed72241144274d0932abc9e8e662dff5c88e2092a79bf7fa604e63595d4b1ea825b1b8f041a11b8fa33cae280ec8616d3f45840803b2b3c007e1c1b1212074e68e7bd2c1920b0448760263343c92b03776435e08b42b01692c2a4c335d01d20dd5e97f6dc849532feaa3bdb01168709379d18768580050edcdff69266432867058edc4d5cbc71c7917610b91668ff9612b3e1c81cfd7c78e478a67f0f50f39f88851ec3cf3475855a3052b27810e1ff287959b2cc71e8d3eaab04c41ef0ea5b975bdc7038e09ce3d74b9c759877fb1f6417a6f1b09cc1ae2a3a7c8e622dea3ec3c0610f39b8a849b5081f198658b6a874ffb6ce3e5079b8ae4517107f34adf7f1e64ab0b02751f33f08045bc6dc1af2e964d4442e35c6128ec8b33d95d3d3593a86c2af8eae60f150c63c7734f25ead6d979fa540e08aa4272f96e6475fee9c2b4dd9424d107b310d28d53c3c6def773d4b0af4bc1d949a66358ba6232ea455809c04d4318eb743ffef829bca3dbefaf06fff92fd144bf76899e9ee3387c87ab7593df1d4eb60652202d5130cc59829bac78fa5879f6b10927d7520b987e289979d435b505bc4def38b206f0f31bda91d03e9436d187a299a66cf8ef907a4309dd8f6bac2857e42d32914fc19ed7720c6abc0e01b2c9c2eec0d6507a433a00c63ce740da5c954c0b5012127e8b9261c2de680c65270857b98e90261200b3641f6a4431503d10f49ce41005d2a4e36011b7fbeb031645f1e7e6298b5a7b4c353ba42946624884527e4926c0ca9a26a654cabfd0ce89da74b880bd39159918c76fa4198b7f440b10a2472ba044c0055d935683c3bf61fbb5f0f01d28ca524b5b5058218f5236fa8655023b7bc05a0f703cd06ee9868125a4912cf3c8fa5ac2dae913039aa7b35ee80336a2d29a73e200f9f86981fa4ae47df4bc302fe4de0dd1aff88b9d2b0716d13e414f0441a20dc70a35f1ac00f82c74321e8d507f46b9d121c48ef4afc7cc5d1e80c59c376d50b8b44af626104b2994253c1f6154c054a9283b5fb9427bf8c451e282d5a32a0ededc0c7fc9712aed4290ce8a5646ddfba3d0bd7831e9a01df51af92cf0a2ea5dc664d1705fc77ffc16e12616af1f658ddaeead7e5f39203480b15c2d61d2d9d945d69023d610f2bbfe87d3e5379041884489952a2011e5b71c0209229a0e87a633d606cc2d639704eaaf24acb6138e79e43dd265d5f62f150fd7896c59829f1b7ff1a2403d82b60e16100fbb8989e0ef1db51b5a3c513a82a94a26b04d46d143d05f021bf23f0029cc2b3058920bdbb1a7b8f64d1f7829d4f2770c2f7021b7a44ea2c3b6f8fb82371ae66a533834516a939c6e183ce217be62dcb78a2e1193026a588d631e85f4297e1fa458925c0deb4828b35b8e33e173cc6fc3b3f5c655de22dd36f0e9e66350f81d88b8cc5fd58b97fdc046cdf702caf425730903424af691613b70d1f4e4c3c14ae7c9e93bccdea0cbd7103b1037d51dff9c44d0f1b52be3904bf719605fcf2b6a8038bbbffe4412713af06fb62054a47003b10514a2567cee730d9d7085bd478ddc4a1581ded79cc9f0df18665d07decd04da04db3267bf76cbfc5a580a14f52cd9782c43032b8b36ca836db1a83c72c08d54daf7914f84b40c4dc08573f98ed3eabf6b4a2e0b00899a33edb43d67bff9f6defe0e2263e7f818ee0ef8f11a5bf21951770308294fa4ed17585c06a2c1641e4e72b7ed633d080b5bce2f939511db1e9995540e8af234d40511560f739cd9a2a6d4c0160f0e4e6c3d300ab63c4254f521c11cb65bd21b07e85a090715d6dcacf0c3555ad24454496d861517d1459894c56c95aacd435b2da9d09ce0d60c9ce3fb20c0053191ef19bc8cbec77a67c3bb09331a7bcfdf41b7cadc93a18ae3c7b8b6b7a1cef819eaf55bea65b9b3a9d63703436c71583c1b1f5bce2effc86a2c71b072fc298227b112247254933f989f112214f87dea19f635bf742da21d7f616a4adc06cd2cbe90b0997497b6c388be7a7f7287090962ad91bd4cf5c86ecb291e71b653f394c6b862433bed4907aaa8a3aeab03ccc9375a7904156728c957170eee202d77e26a146341dc721783ef9cc1f72f616106151d42213bd0fdd362ef48e06d81c7a5cb41d907ddc6ac00666171b02685cc306a1eebd5ee94a986da8f7c8f0d32e2b928e513923aa53a1e897c765216863bdfd9fdd886c2605a33393ae1457cdb5af3890a8e3bc054bb72f10c70f898976bb7c289ce2ea6ce435640f7eb10f02f45e3580fc027b6387b87b072585cade41e16e47f88f39f41a7b070f1c97e763f17b479cd559dc28c8bc09b858e70339f7a6019bf48d4f23ce805b427194f8a31ee15b6af9b959c83ec47d57929bb4f6d9e863ab34fc30efcbd463c13cdabf922aee669e1bab88d0a842dcdc7911ddd4fc4f666fd3a317506604674cc52b5e73cc29a00686ce0bf0977042753639ea8e177625d2d8903c49e780e03fa4e1fca747af2afc1f979178fbf4e51f72c381f998655df7532f3b9eab9409edca855e4792bc8c6a5925056cbc36ef91def620022d64f6c564490657f24a39f662652107a9326509b6e26525012b498524363165910775b9a2047b71b2928115a9b2149bd8b248024a49a1847d712c7b3521b704355efdc7acf8b86f459adbe4904f992d77c29f272e7181a4a270d3444b9272742a31ebe094a0426d15be5477ebb181bdd32b5b166f558d9b61f0dc42900dc7e16dbe4ce6aee18f21dbda60cacdc782bc687d665e50f44a6f980bd6a4c223cc21b9da19882db9032bf2aa8bf30c45c8d3a884dfe39fc2f9208a8fb818ffb3ad0d949c8fab1979598bdfcc66d7a36f9fe4089c0045ba342de2ee91dc38d9564eae7f1be06fed796b51748a5145fa51ba2573b74d6ba4bb08af7458e609721f10f88ed09a5130b4de0e1ce581a4dd7223db07a28c83f4780a0869a8f27b8e4dc81b2f66e00577f06686a322a8d1259746a358a26c9f040fbc61b4f44870ccec61ca2af232daf2ede232268bb861400dd09962df72e38b23dc79a81353d2361b7883dc8dad36836120a1d368b8fa6e5b77e634dab6c19145dee3943d99150e71cc8f9383d0f34f6674a693bad734836cd317a5a6adc21e7f6a0a726ddbf95593a8d3527758fd917b6e1f4a9c5905b34c21df4d24a63aad041dc27bddf4540e43ed34d468a76b1f42d68c547407f59197b51f3067f19a513d724dd0d01686ce6ef17158dc101ce849ac7988c430c7725c3e4d48751bf3e1e34d3bc4cb111b8b1fbd9eadf9e1103b817ef8e69e9bc10bd64b2e34cbaf811d93a4e02c155ea24e5755e3af63b1fbaa6b222bffeb3a5c73efe4032e2fdb31e71141c1da7dcec8ce40c52a15239f9db5ec4314517c12c04acb05a7169a4aa38cd4e3168c2b33f669263a9d96379e26b22da4f2babab1dafa478c02d1adbd0a8b0d08d74998cc139b03013fa455c3ea757b9473658516bb042f8ca706b622614c9426e38040cb788b4f238c90cfdd03ffe8e2f54bd6d43ec05659f1688bbd73b520a3fa45693fcc05560f38524f86f9478158bba15cfe0d965a4a3ecbff1ae3f92f537294ea6486dae0312f404459af0ff7a121771e84ba90e426ab9045f1ed8e83e6909a00d3f3835c5978bce7521941a5787ca31bea62087b8e7461ecd3d7839cb94928ee2c1d830f786e3a83674051924487a2b67667af5bb9399e6e4fcde3ed68940b94b25528123969b499a26b911e2444fb21b7a764ee00751001dec2e670589063f6523d1a5e1c878c6468c588b8d0703fa077a429422f40a2f587d21672628343acd4baaffb0314d6a1e9be923c8b75900ddde3d14d626fc1b0bbaab23c8fcf1d53667a749553f0580edc718f877c34ad40a2a7d6a1270bb4edcf5c833a7f5d432d9185ab747f39adc90070000c2f405707d6a8fb92be06829bb2bc005f60a8cb1888b26750e0ae5c32813a73d694a21eaa6784c80167763caa7b64e92317a1a1a2ca435bbe80b9f7356c920ba81d7c76e9850580a12e644aabd72c43b467faddc113ad79eba6086cce901ab0a6ba5ef575e336b102e5c380dec8439816d616284d9b8fda1ebc833ab92a0701ca7f1fb2625640c7f8b51a5ab5b91d2b577de7e47bebe096fe1b41318b3e73975b91b9e7b6005055a5342e13070b202c8e4258228906d63fc2e6e85423e06f4a69f48ac6ed89301c9313289a6267c27b5c92e68e3f9760fb2874c0ab076d75ecc5f731e839817b96d71d809bce57944010868386bbf07fd1a5f7e2810ff644d538212d79cdf0424325ec77b2bbb7fc2e89a31d02ea5cb5d339224b55a300ad8fdeab65760d457863d40cb319931f2bdef02b154e1120e7e0addfabe18763886a4fb7723b8054e3356f2fb17d50d4c6a656ee800b0ebb8efe3cb040c69551354a2d568021ec1dcb675776264f4580351a695b5c59e44ccc80722fb3c5af70809e919f158c709ade1223b4ac3f4a9528eeffca85b81b82fe2f193e32373c109a215516000054af49afb75c85134f954c2d4297b16f570e6b370886c6380b020a85e7dd6d30fdf73918fcffadb4bb51d8e246c0e552a9432c958f8eaddc442ff5b42fdc547ee3b92f4ac17a8cab5b726d6c7551da26ec86b8d9acd1c1446eb13cd5d6a9db954cc98c5af6a340ae66ab9de6eee82d55271c6ba151468bfbe1d68a4bd2993f3a26a2dceccad28f94842e8d57c59e7f71c653045db232c7a86636693a5ee1709058dfc43756e618b9cf7d5f17b2ff8107018de37f3abcbb8075ce35fbc1301b7530d3f3730f2d34ea7fbe23bf3e50387bcd7f9f5151160e31826852440d1144949fcd096a4a79e1153c02ec2f87f18a03dc0a7a40d40158131aa33b2fb40af1bdf2d9bc1523cdfa4365a3763d96699019bf09df74706f9ccc79f6250789e074e9f9245af7dd0b65bded7ab9120e917ed816440fa58b3b078cb26f87a26960614376688fcceaae432cafc38aac4bc0666747e1a47d566d64a067b83267caddc727bf589110bb0dada82e4df8a890e45a7f20e240786e9bddb3467d952ea1b9f2fbd516df6a1d4ce388faa9bf1f24620fab67b037e78367f336840eb9a5d107578c40f7b8ea1713ca96507eed13d354a6461cf001b0b96ac79bf8f9c62a33653a461e4b3ca631846e08ecddee280a8494fe9184db369d6f030ba7fcd03b228e310e59f77dfacf0a1b56530d48f781b2a14068c9bd4273ef10b06f1941ad19c4c609ce27886b03abbde5f66db8a3136b832636b0396df460b3b188fce22486ff479556bf0876d198a4b97d1feae0f33fc2ff759f8ed8bb3de902163bc1ed6456f0d237f82383ddb4c045f9c33533d4e6db002b538af80149fc908a3f800d3f10fb7e67d38b8b2af643f67e1855ee3741bd7e56faef1db012977114d5cd143d6b2821bf24c1ba799c723bb61013f28af35584c546de881e3c227e1ec49a14e5c380895ff0c258f92208d83fe922e7b4a3bc01e472dde64008074bd7a01afa9b5f1cad2d69ba072761e75c0a561eba5d759a6c2e2319d4b047169ceb09d23ea8c7c56809e166420dfa5781406f240fa2f4cb47f922abbb208f3a22446542bda1f527dcc8bd1e4dc4b89583c36475d3850abd92902ab800956a5d76a2a0d51770bff20871a486dd2a524fb7cce9769018238049af2d3264bb4df22b9ba185f7e3e371558a26ec8f417581a1a4e2ee280efc7c7d8b3557598f64791f6a973b6274dafa621c89527c499794b3e2f55fb9257212d275fc4814cfc0bcee0478ee90b581d9b24abf307a8a5dc72ab6bdab30aae7878b11cbc336cee0402e6bc894457024179a4d01e353b18122ca8b8bffb52f199b7568af11a3388f0b26b96fd043db22a970297c0d3db2b0b001a72508eed91528874e99078cd5b16be4a19b9c84b8d2d1b93b8067a00fe019daccbbdefb0773a920ba1b0f257d6e724112a1b95227869cfc75bfa16aec079ab4ea6ad924fa61634c946d033aa7494f70ba5e0a7b2e938552f2fe101a86d7324b350677c9f9b777eeb8a1ea38094c0606c5fff9e2c4bd0987028160929fd1df2a392946295c68cc2f0e45571aa734fc85b648aecf5c97c824a6975319ee2a2bdafc7701a5549f58a45ad9e910bc70cb06dea5e959cd17a5548913c4be148c70b805add51325ca5f8437c571845becf1d9525c22eb934a2a6b0227f15116c5484bbe81d508672840366f8d99020b59d0ca941abf6d892bbac9cc5e70f2a16cb00ddb26585399d6e67454625f980af125cf310dbaddad590c4886fc02d3ce2f5138fda178e86108e1df725839eb8740cd6954324b0375fc196b65e0117a6165ced374aaad3a0a8b30c04c303fcf7f9550d35741ff62693f4f71d6ed085511307f6cc51b2c49b50feeb9bcfd13e0f38190dbbcf03a2e63e7cfa046da125ca8c718824eb653cb4e78d6fa633782c13bc599892f3147b4e10b44093dc08e88aee56d076f340747edaac47157d1300910bd632c0a818377e4e427e313ed1dd186f608341c031221146ec1d08200168707b0f87c2fd609d01024a13b9c191da134b6df5a266b924d291a4b7a74cb92dc34da330901c3703268587a3437b26500a474e06c08058a91ffc2dbca919613108fb54c8628a24536bc81481893964c5fc445600e2140ce124b6833e2ff64350661ed5dc6a3bb9cda20319debaad2ea68c028584e0cb51d25935c3171dbc60bb89d67c2eda68bb80d65e336b057c4f21929ed224559dbb6c96b7477295a4c2a2be6b19d0b5fc05845bc5328b4cd5187815a9181add282aa82ed334fe9332226e1dd3d1b9380f9d187a6d477e7aaa97536519d74924d794f9406ec944da512b36525d3a43d9cc851131cf6917062667ba1fba2d21ebee7ecb1db6c5ab4c698e4ca45077d3c76e1ec935ee3265f66587a76c24242147aa441477ce47121eaa66870e7ca149477c35631d6244c0e0a976f1297f59fd0d2998541d3b40aec7fff08fee027aa20a7d425a413795fac1ca87b3fb7af725f76c974aeb615136a72eb6e58b690ee2c009246290ec8d23882d8160e3246d0ced592bc0d8a45747403981c44192bb81eddec855b4ea34bbbcca8027aa3f4214f50babbcaf1465b2923436ec6c462e6b812075538a9c449d5e3843019b63dee01a1f604d1c5aa1bd2b57b2de9ba86991b306c593876697ce2bbe48f0ec8014f75a8b73975c89925fa4e875700d921a47599f1186073992b850774aa1f28a84560d3c037aea01a602dfc16884165cded0b9cafe0f691b3f0425af68dc9e3aff4432eaedc3d922cfa8ac6c427054dd9557251ddd145a855a03980b594e10ab536542f098c12623d3f2f903a453bfdfce7384d0b4d935dad2e3e394db9f706903a5be79f4d0d81062fba82e5c4045a938365afb706083112514f501ab1dfa9386f0871eb047b0b628be3a47a2852663e3c7e1027fa584e40b7716f2d0fc1fefd9d12c9fbaf71ffcf63b823e5cc4851b3b1529cc876021ab3e5e134225d481628c46fa13839124ee91efa1ac8766aa06cec23c7bf657fa0c959ba0f4d70d677cae324c3597d52ccae706d42db8590627601c4f0e8e6a92a7e20c8001acf86e122db2628b167287c3855a849ae91c7bb64002f2a5b2b458678f07790331664cefae3608a9f1928bb1c250282233b48c1ac63a314ab620d3384d9489b410f6601f600d3dee15d07f4c5fc7bd48745be29207caf61d0d576804b477375b1ccd2799412aeb2c63f9f07380e47cab41b68c88a95cb7cd4837ea0c5c763535b3ec70840a0d25285bba89e136a39c024a5b63679147f3aecac753f328f8951efcac332b4a0218aee6a911c2afaadf075ac35132c3d33036565420f22789c9599f61ba62295f2ff0e30bf63d869a7e2da8ca717e28c912af2db8df085b0202c0b6543e061af1bb2bb2e10b359d141cd981533b33735c7057c00ba08064c42de0bfa4d5245828d358fc9df77deffcc188df502808290fe0d52146ae0676c38a01ece2cb145dedaceff973830d780b3cc3653cd9ac92babb3d8c444eb92a183af7cd92bbe46a8986d75338a779fab922f9b888d442b372f36cb628d5d4c587e5c1baf5400040fe57864e8e1a79c570c05debd32e5fd7f1c02eaf222cba6fcec07ae87cabbce2488139085c21fae14d61020be4064ac7b305514d0eb9d6f9c016d26919fad80e29cb974d6e6e8e96b4a29c1e0ecc2051597234fa8030363305c579660f3d1211c6b16fb12176f781ef55b9ee17ef41ac60ed0ed9dbb9b792e213625f75d000a8a0fa7c79ba430dbc005c607b4a4761175bf69a07d154c484fdf00f66c97b9ce4c8c717488bd64b97ad495cb0ce4746eebdc16d66f5c3c319b4081054ff56c81696bda1e2d76a12d092b4819f3762603b05142813179dc82b5877b99251a628001966a38bf67aa8ad397a62a9d7d65add2d57776dab33561516b15cee2e64bd8ae3d4454405c8419cd2e47d559d3e801c889be3edac0701bc106dfd769c64af783d900ebc92d22b727233803ba5f429baeb81b46d8fe862ccbe31c4cf3fbc9c212b56bcbd21953dd599cd5163c2d6f66801d167f64829eda01620ef06e1903ac28ce05cf97845f98616c3811846842dca6807a157813ff959e4e4819349ea3abec3f41d832cd72439c388de16008895a3fb2c6813cf0bc057bfc400d10df5862ef0c027f3e442ca91605fa81ae3835c4546ba2275698ad9b2ab0bf58193216f248a6762b2bbad83723d8eb0ec5a8759a60a8b139409e0fbd429194772e28b404cc415035ce771acc28a63a8fc0282566088822441cc186233f37a29e4cd5007a59e2f692d6687e894594ecd7a98790828047a03e945da7563f7f88c1cc85d2e7d6eeb1dae7a036ce26948739f3c33c42398e1333a43d28394ba27b36b7594282feb3b5153d8aa23cc83ebc4c757d798bcd88fcfad02fd23e3de75c655b88bd8cd3ab28268aa9bc78529c6011995f5995744c0a12a3ea7132eeedc3f76a06082b9b1535f1238d9ec5e7ca6f4d057108dc658b939b7f2085b693c2a62ba785f43ab1c121feb17eed0b231bb4e355718bc1a38ee167456d7d8e1378007015cb44b7cb71289d7264532447990c3219878388e91ea781ad4e09a1a07ad3c84c320280ae103c1982a843408508f012c19022785a04628cc0ab1124cd111455c71d1b6d05a9ac0ab854bd3eeda5a48eb1caaea639815775acf867698c6b0bf565684cb0979b74bf2d49aa3571eaed69873f94ae522a40c35fe0334ca4960f4159e425f426a3b2624769779ba2706bbbea4722c580e1e80933975251b9b49784e4c4db0949d3187348192d70c474856c663035730812a71468ae0829181308a68d46b5c499c684ea3b00aa2aea198e63c43ca0ebf14f8a56d309c45d811ec1714b411f78e75796f93753fef6e43f5cf5e3907eb543fffecedfc1fc07547e4cc8afeceadf27fd7dd17fd64819657ecc5b7e05613603fcce519ea47c5c9a7b46487f3f8237510599bf252c653971c186276d6695a7b2941309b136e63f3733875894fabc6cc7fca950570a50ed85e98692fba26f3fccc3c122c9d9a92056f7f2804971ef688c14c40e6990637e34f5ee244c54808b1b258c756188901d288a5cbffd777123ce4544c4670187410144238ec0840bf07a045698016ea1bba6affdc9f3bb34102679788b06db459e6fd54072c8c5ad3590fbb8bc8d06521c17b7df4042e3c26d1bc8605cbe4d03698b576e982e2a760535b97284f57e4bd52163f4b71ab05a9de40b46a55415d63d56053d808810128355e068f54ea32ed5718c5adf1ffe42cbc09c2a88cb7bb0c50447806c392e0174023ae5ec890269d13923c579aa80a8930816d1aca993fbee98296a8b54805f296238d55c54c7da6a404176341b644f0f9439c3265e3cf9931920e7568597a2f22cabe490d4b07acd291ac809b90fcefe85c7154813b9995655bb7f69aca2fb978daab87c6f50cdf1d776b0149074b6873c1b206b928e4e4d856cc9fd63150d20824e47a317ae0133947621452233bda5e1e605999dba637809f9a24239bb8bdbf6c64d407869dbe079950a041d8a8fe4a2b803dd0f697f6b9bda6229a2cd4d1c9ad8b357714f57553cf3f6f54c6e0f36f031c180e6c8b625ec05976ab5280eed720d310308419bb18e052bb77afd0d72bf518ea8e54b95f1853da899252d1cced2c09d6fe542a8c4044c2b3c82cdf312599a2112b27474c935b36db5ddc086963965b767581d002d4f3e46286505dbe8de7d002621435324a754a308017e402dae5dcff1244f45a7761c17ad2b38615761daa79d29ec4ebce1ab123038f6eccfa207dd4af40ae84a904cb7e590f2c46ccb1129b04f38e6ab14b0d08817023eb28cde7954bcd2b48d80182f178ec78bfe6f163995f0537fd3ea169a230f0292fbcc403069502097da667f67a4bfc8fe161830a6dc3bb1447085cebe7009099c756173d0f5a4fd6e17d75182ef6ed96da171d712df161a86761fdd520df06cec5b502ccef05ff3c4306cfd775fc0f5786c5a72af350a54da357040c4de83ae108e0777741bcf7c4b8804210cf7c4090a47e113a45d6f769c11d1356efc71e50f87695c8c8101cca57e4577ffc2ec173d3670b2b8fc39744c4bb6a2cba4f9a614df24e5e590d9c2e429b3b58c9c9be3102509c8b559cf354fb0ae29ac59be8e0006496a2e7a93ed46a30157378e3c134f62b78bd6021f20db1780fa84ef7c38f94036d4b2e882a5add123f9bb6620f6b720e5e779601edf9fcc6f46e738235d97944a2fb01a8e461f90a005764625ffe96a04ca141f8ffc40c1550f93777772884c91f9c7a4ccd35de6d8a3b4fd324a3b17f3db3e922bc1ffb4fbfd9a14df9797f5a827c1f1bf81f8c1f1e68fb27d95c0563e0f3f2677bbfe4342a8b28a8d4cf0dae296025cf84d88890126d7e383e2bbb94a71e94bf8e00e3e1abfc7e44a6cdc705432d8b008e10f73b806876ca39921f80c25977ec65f128ecf3b7a866a6138c0853cc3f7e20a8aa62ad6021c552d241a761a9daa4be495f14713d5800b58af18c095b33f747be019fc6f78e56bbc1d178dcddcf79f3f03f2979561bc601449cd8d1708d9d0d014bede35bfaf735a609f84d7d5b9eab19657c71aa3aa74e0d0fc3615884823c31e7dd1e7e9499d93dc594c9b4a84934638c0140cb6e880c5027b22faf616a20b80dba58d203d7c23668d581f4efa52a4cd1233eb008028f2c03ed2f0b80ba9595703c00fc6ecfb5293a6aa0efe8fea6cb7f138da61fdaa83c97b49215a812f78479d6b77e228a9e79bd9bc1ced0bf80e11c2114aa9d472ba878b827388184136468d06055a463b28d4a9791392a4a89de64921e2c99131b0f4d6283e8a437108c58e878500ff06562acf28794fe988c36c4787e55c6ed7d8be6a4165f0d33f249ffa57974245621d40237d92a0031c9f84936ee09e2a03cfddd2e7320792d7219d65b46b6b17bb6c08fff3a23fcc4fa416e4819fb55e6304f4d36b16387d68db16a89f8425acc5395c116128ba6a8ac11a248cad83152d78e5af94782d36f0ddfd2e99ec01366121084b1f3c21c9c2d29a9e069be27a74a42452e44646d965872dbaff778744873461b4649967f8a58b9c066159a441b02a41cc9a22501f64f9ae5e441f9896988bdcfef15bc7202620d04ef31b83291ac205bbb21f869b2549a104fdc21c404cf1dfcb07f94ddbdceb08295884b87bdb3701db3f989b0718ec890b708fa4f4c54376b6f1bab7d13ab6d13ab6d15b17cc53c31d93a2b399cdb2dbaf32b342d49a88eda2432aef68f4976ef349b5474346b500ef61d5758cad7a174f6ebb57caa9b4620549519022ae9151f304f2416beca1435892c6c54e6bb655391d04f5d32330efb71410a57cc0122ab4cbc274067cd7bf5243fe5b27d5e4ec199e0397b72bf895b78342d78cc99379abc3dcaafa1f002bdf51f514008474abd48c6fd9b7c6fd6fb9b869f65b8408df59343e567c2da00001b6d8c117abc33891b8b358feeb06c747bb1cbf0d7587219f9917534ec881dfda7f03c8313bbb68738a9e1498aaef492878e05a58af81b4ccdf4b725cfb6599078498774068005646d13c9de7694387b8fd0f3cb8c133618fc9a7c35d502945b1771a9e580a67d02f8ae492b440bdaa6880e8e762151a1209a375f313645713728e88d79b9ac2792700cc39cfdc16ea5a69fb777418c06b581005ba1220bebd017ac7867f3b20b20696ceb5572d0df251a912382b2f6e4a1ea4a04a2a6a14bf2ad67713a31ce0cd9d87815ad4da7381d395e6bc67ea91a2383e6f43d6a80e991aac5fda4baf311b02dc7604a3334ed313242efdd4bcb1f466178f0d3a814eab4ba58d7a43e3434852261094d199eb421b80604182e6a2dc527918105466b4be6bcc75a11df0d4148f2fd252ab440016f3bdb680aec8aa8219040c882c08d94984400cd3e8256460605b68c76b27f808449a8b7b53f501f99a6d42144eebe82162616043121ab099f5eb06a891c3b24704a38d7643eb8348ab996921a335d78db880a94f1d5e48a944c0901a53183aaf7834419e10a22fc33cb185f274564db75c1853a94009f4600a842c689e2744abecf4183330b027010ded844b3510b41abeb45c8218e878084c00d8b964a4927a137209b52e87162fde1fd0ab68ada607b74f8af2834503535a271862fa46189626b021a4128684800d0195b0a524360b54849522b049a4228c34810d21953024046693af6a996fa0ff708867361cba47f300f8615ff994308887be6b7cb4228545da52fea140293666fe94424dd8f5d4124e2211a2b369666df760bba8444752e021e99d5fc10c4b72f2f2f0f61eca675ed4b1e6ad41fe54d401dc75013a06d9385d308e519b0e806b38b5895a99dbb16e7c56fe3885adacccbb4ac03302ed8cb18d8b90b9fd760b07301a93c7f950a8401092f72fa432a78740182b212dc2741781e0a88aa79dc82b697172c96d0ab8341481df428decb6b6f796524a990252039f032f037b7c1b6b318a9eddcc81b1310f8bc6855d4927b1bdb65adbd5c5933bc8efb338a55c0e0ae3dc93ce16aa281c54678aa8b06ce84481fa01075517398a3b2d1788333d1b71bed7139b9ecd70e3dd79bd66dc2d826d87a67f3569e01d7b9d1cfe358aa3e864ada572655adffbd5fcc079b407e1e6b5d9138c41fb1bda5ff3e7c3a399e3dda94e3bf6e2fb7c72723c00f1b407c1f6f87360885f5f1cef0ada0cd7a3efff82bdd9d7ccdfcdcffe27e2658f71399586cba9e6d7de79664f0833d8bb79117f41d08fcd9e1bdfb86db8f1eebc1e042ebc5738f667d6fc82f5654fab381fdecc7d54459b4ac88ee578705f7f08209e46fb584e08374ffb1e7e6dfe82e3e3decdd3cc5fe5ddb80d633180b29f8de0c17dda8700e269dfd34f13f1daecd11e9bbf9ba7895fc6c079dfbd105fc38db81241638b1cd8f7f0d3be775fbf8e131deb997ded65b81e102fb381c005c997e17a648ff324397ec5f9dca9de15a2a8c7f115c3cda8a2887bedf267dc5d9abdd9d7c4d186e3c0b768cab06dfb610c4601b0c08025c48bb83175b6a07d9c59cdec91fdec7dba18c0211066ce7863e68843323307d6d37f67660eccf480f698f6380704fdf7f55f3dc3d15e86d36f69df9b3d6da6cd9fcc653430e9f3b23424d80a68c6c94c997bcbf060da3616a3c704fce2873708c613cd1ffce15baa1e8c971fe37e60bc1c23347b4cd096eac7f4bbc303c59678c28e4c1409834d4d8961c4309e26dd2e4f93c21b4ce10d261e191a009d2a1924b511605b040d804efb3ed1f1c8b063906ccbcb3653042c15fcd9d714d1a0d8127168f9000b447ec0485df9995a001ba132454dc24cf9b0460bc6f886591324850c159930d89df4d95bdc2fd82b49d23ef92fb327fb6bfe6acc9a5adf1df1c52f11841f66de27dd8af810382fe271ded6c7dfab8f71cff6d7fcddb79931cc5fb017e2abf9dbdd1df143bc083384f9c3f9fddd11bf6692315c69fe82afff950ffb97d99bbdccfcd5a4bb23feeceb57b3347f23dc1dd2b4e6affedc1df14933e917ecd5b7f5abf9dbc0dd11bffcdfeb775ef5a82adebcf3aaf81bdc19ce792308dc2fd823ffc6fcd1703de5c35ee37a82bdd2ac4c3d26970ecd2ae4ee88e29708d23dbfe007cecb1fbef360664f7ee7f9aa90cd2bc5fc30e667e7c408ff03e7850f42e5655e75ba567c2187734f766563f8a48db5107318dacf25e48d77a5bd29e1b9c1e04949db742c86195f9b02b980b98cd44aa41aa54057b66c7b0ae464d7165adb6601803d059a4a81ac6c991e0a603394831719d62ccd00cc817665a53f3fa43f413d9e9280545013a4b4a425144a817e723475f5d0c505aa0bc9c5f92e505ff7cad06d9bdf635706cf04ec83ad35d20213930e30459e84501f58a6844152645bf6cb07274e549c54100259e11a52c4d5c4b502f655c7b725edd64ad9ed6e43bb5b0d0d3eb0be438e15a4a28e40b9e212fed4ed5a3bb498ba76deb50811c64008af648770eb0e7dafd692b5d58948eb861690cf092c58c10184c90430d4c0d584a8cd9aad2d244533319bfcd286858c73c6459ad808ddf8022489d6d6991bae9fa52d60b26cb132a4851e3678b9cd1617714b0a6904b20544cbe9964266c3b5447403d292ecd994dc4de82664b375d9ea2d4827022e9b8d8d151b222ddc0628c4a6cd511ba2365959bb9c7346cab8e69cb351169aac2c2b64a580859a1544d2c9e2919534228b7e3546176b6bfb8fd8415bac34db7f04168db743619dd9fe8ec1b540931614b40c39810c5059584a273091590c4551144551144551046a5541993132e5ca8f355833c4b09c90a65eafbd634a0fad1f5b58c0a8c1fa51b15e30ca527d5e606a41992338eca0328255264987055e258c992b402b37c0007475a5a54367cacaaa04bbb61dcaeae827eb8cd1b9aaead249538546a7aa6a4caeea61fb7e677fe884712c0406c47902ea9ad622b6435515d9d9b44b41c9340d41c9710217b2d51597d7d55451ae7a02d3c1868871e6e1ca095f3501e22b1eb3ab184ea85a61ebed505547bb1d9871dce5722dc038778564d54406eb692acd551a2add2e021cc4b8c00824f809df21f8996d9f6b216104dd8e8308e8763b6c9d7ca368c5caf422ee06fb7e75fa79013d792225b5d391ea92860a1a303a5169a2727c814213054d93dd8e8771dce978d1f172895832a783fbf95f5cd367579c0fbfc74431c4f968589efcbed7d7bf3c224ffdfc39d641fdfcb02761b8dab5c387d53bbe48c3daf4fdd5af9786ddb96e1b8b91e4fbdf5c59ca64ef6f6538bf3b95cb063a2bd03b14325959beebe4accf58cc58f89796857e77bf3b5fc69efc21d9975f6339bd98e977a727ebdaa42d6f0bd95069ead0e765c731e4d20edf5ffc0c8506b8c3cf3e9f6d7ebdc75ee0d8c37025cef7b32c66ef13df7df7631ffe0c57f43c9f9fefc76266fedca6f0ffcdde049b425681f0b3e3cab7f767346cecf1bfc4a76177e8a3616f15c312453abf075796b66f67c2e75dac8a23505680acb03cfb3e6fb2ed91edf32bdbea1561199a366cb3ff007d73cd260ffefcf533092e5dbdd6305b5c97f0050cd82540b7e31786cf0dae64639e6ca3905e97acddf6af75bbad59a5c2276bf531da316e04bbe232ce383b214f68c7a47d7cb3a24d78034803680998a8b5d6cfc0eaea5f702ba33930ab8dc5fdfab516406f6085c81d4d02638c317e1356875f8731c68f2bd65916f931feb266556453f7a2ee20d245ddfe99001a18c40f0c5ad3479b227c8ca5efd71be4005e5417750b40bb8837b62ab2ad14ed108dc3fc786bab0286afeec0f86cd22b0af8adcfaeaf8a2f0cebc267e3b7f6efe7180c0d981bb779f0dbfcd8b4f744e116e616265742fb7b98ad75f76c4b1fa2cd666afb39a139da6e5474c64f86c469c7e45b16d69a375d2b03481ded980cadeea68326a1f34b60444d6769c7658e1ad245dd01a09100d08e67f9de50a07dff2cc6cf9fd3e5ecc3a6814191ca5757815f3b06a19973bfeebc7716075244080d0cba4d9101298324dda63580cc94f46e6bb4cfa9c4e85d20031b10f342db1f5ff8ce15b0b41cfcb1adb71d6f0e3667d47ddfbffa7f0f435dc211a11a6d310975879f43d3477d8cbb952ae332e79cf3dde0d6bf8da9e5b52a203d7747581d0a133a363eea743a13bbb1ace168a72db206429b7f775e88aee3cd071d74931b471a0a3d739b4dd6236d4ca330b7a741346c2741ba8f340a30a9c1ea3c0d12b2ebbe31d14bf4efac0adf05bb863aeae7ec8aca43b1eb1f597b6facc5d5be71e318ae4348b72a6ecca6413fb66f5cddca7c6ecd80f879963f7c6d55843118b58ae2e7176dfeabf36b9fb0da14c8523b26af68985d00b0687b2a54b40fb03d0dda6275108d6f62ace9e3d697f68dbb5a193d77fdfa6d805704d4e0b13dad81b40fb0b59fb810b891e1c02d0458e0bf5fb3a5435df6e5ddb486907d7d884148177587da45d245dd59df07062b0e69dd4dac81419b4d716b58da2e21eb7b3af4b43d053e6d14db53e08eedb10e42f36a770069353078f1a7414526c8aa8141fb359e17bc0f0cfad7789bb5d6deb7f6e62d371964948ea5f4926bcef976e1f2cea0f158b33bd9d4b727ed7894518a506e9e3419dff186f94644e71066eaf0064f68967b2fce6899180f62198661288eae5494a25ab0f2f57abd60a41293d28e5449889253aa2465369bcdb4569a52ea922a59296dd56ab51a0ece5252ba6483dc8107518af640b271b33d458398326494aa87ae699d8d8eb25152d01b01c9d506952d650a7925dd0427c686a7213d8da427902ddb9e9e243873a04840abed1bcb6c4fcf2e797b7a5ed9e4f6f484b25f280fb4879f8000493285310cb1215d82922e614997bc48916611d3044e906cb6bf617b1c1e182292428506a6205155486c31b98fabc581e0e80a57f542425145519db1591d08c42f3ff631d387e7bd982cb77d847dbdf0adf3133a3f51475c0e268ec8e5ece357e99351eef0b5ed089b3ca199fd56c9591d800e689f2eb7ad2d45e2b1ed9bc820e77b4a42d6edd89c419b41ed3a7548c7470648dfd6da091cb9602d0748dfd5575e938aae7f6fe91854bb9d760961ecee588dda259432bccb1ff60c719770132b652584bb3e09f567cf70c0fea96eef5193f4e85b18a300e9b2e189a98d939326407234bd90e5ca8f7c3b9fa053500c2e0f284d9ff864019acf23188e705513ac48e3526c670e288adad0d5280938fd87d8594fe055ea5678fa96334128167aaf6eb81104090542596742263a8e9a0a800655c059b31728b4c9db4c41736ba48a50106710678119f4ac42afa0b0d3a3c41f2be801ce14c6a04dd0a4aa24ec529504e067d6e89c4f50a772410b0825c079c2b994022e95094a146733556bf0a91dd0dac3123328151b7c4065a71431b54b0dfa24039ae20c3303ea54aa0e2fa20a4d927cb16ac3e563c712a3168c9a4e9c6aa250d7f2036ae2e4516b38982f688a32a00a712d148ba248f47a894ab628469d4bfc4a831bd01d284e2ad4eaea15062162448d530a423674381da168130a28101e5015e71228b39304a863e98186384d009c5f5016254ea00e6800ce2c1f83e468c4a00638a59a8a84414b807a0f24ceaac52ac532aa39aa10ea2db8e139380e64c8a050e8eebcc1061aa21e313421aa4854403d4b05e898c1c9a4b2f12ea82d6819b401e7ce5959702f38a0b5055c0370a79b330b5a3b7d052818b4c43900e7dc021e417bd4271dd09c1167972175a88c736983d2805e70a64195a00858c029e2c4823ad9813cdd07b7b24210c591a41af18112a982befe64e20495d2a10d09b840e1f8f28417864976981af190d48482eae4552b781be11be5fe89ec2ef744355c7bcfd9d0b42aafed69d193ed69510d3b1643252125aa21ad21e581ccd0724cbd72e427b194084b8e5b575aa4c28e6d4f8b6efccf8debc685b3eb92d64072ddc77bb572bd436faf078ce2a8a4ac984629748a6c04200000f3150000181008070422a14810c69aa8a8071480086d74346048281886c28030180a8401c1301084610084412806a1000660108c2321aecb038efa3f1b5574e66a105da1e07578c3e0d780d593e7d98261f8e943f70394a0422f89aba8dc2062301ac9a0a3ea7c4a91b0be84630cfe92012dc9c2bf04fe1b9171ef83645a5f01ee16cbc808419de3dd6a834678aad129f1de7b9329ed651d28d5833218147240b55f08d55d94d50584f0b3159841c8232109bc78daa961a9c98a23b2ea42486e1296862ee1c446172017c8646f38237ae990931630be27b2e3ac35fbf59732ed084f8e957d55099ad3f55764bf044c91b70f9c163df948109d8d2c19ef01a5c1a0e0be890ffdd98214a1005ac39e760359644796a7c4e203a1c5ecd8ab4073642969aa4d4baaf0ec817cd2b95200dd11765d8ccf8b01fcb646fc12b04a867e698a4b0dfe60d712cbd9d9e340b7e9b81ded8217730d8e9ad4452cec52735f402a389dd78e7a78f8a12ffa76e0e16ac9a7f8c8a07f2645721a6c95fea4a6c277cd1bdec8705fceb0831ea62107ea3b3ed06966c01bc80cefe9630b81cee68251184c98805058d450491bc38d33eb01b7712bbbee59ec289aaedcc14ba6c5310a980d7ed21d0c32cc06c7128f4e164084937e404480f29a0630dcf70e95d207e56428655fbe534541c2c3329e6f9241c14c5a3b2372bf91f6c8cd1725d52989561a4cc24fddf8ab38f676e587a6c5feafd4c2512240ad45e7641ed2ff20a4857a68ccf3f05b8850338c103445567b6b15fb3d08daf4a862c97cdfcd2c24baa2e5f7ec3fdfadd54a1513ea7a3223ebfab242aaaa54215ac1c3b9abc8b42fe35c61d2d73514f50904be3859032191833cac67fdf8c14373697b6de8a97841423009ac5db2f8ab1c84b36383e9f100e65f0616be1d60bf2e06dd8c7a3b45b1eae66618fc68cec707061049e0c2313c792b0ba3aabfa2d0c19f4d5c292cc61dabb0549b69835c5361c180d8c402c48d09e99c67591a9a4204de9898cbdae2a1b3e8c0360cbb79b394ab4e3018d67f23489d558f7685867a19d8734fd2faf12aead60220dd4341ef11b8fb9e7bb935c31d3351adb40209d70b9bbff7f8f124f5b48fe4437735ba35a7517a6ac93c3a89b487cea041bb03019e0cdf957117a798249bb22b76033c07ea5bb560a3e2afde5ef52eb53d1cfd10ece067af187425868cc603f141fa21c441b68da7762b247035ccd9c969c221ac2e16648baf438acf29ed7e88d5447d781e1a68b6c0c0cd352ac39d4093b198336a84ec5e3e9bd6fe1b9a8365c59134ef5eaa080162fde889943d2269e2e2601c520b7ada00e9bf52a57e333511d8d3900e68391e15405b796a303fb1b6ecdf9119336201e51b132e9f1130555afd882483e05de85f768f1294d1a51fc43cb5ef150ea5bf2d43ed384130101110f007b750f808a0b5c5699e253928c97b82d8f54c79a08dfd60151050f81eb5a6e9070ba407709b8ab14718a727018f68cd02ec81721c884d08f487718779781fee10173de0fbe0f3e6093f77417900abf359f5308ec083eb03690f2a5878361b813f48e1f1c86f323ce03fdcedc70f2ac03d270d3f84761017360f60bba6438fb601678ac181922918b0c2de3c00a1c2f7286d3b14ea99b518f1e0ec4bbc79085e156a92a1a2e9330428184f493343bc40b810a0819082d523ba6601f6401df70fd340ac88f634dd0c20f2fcf61cd1a9403c2cd77ac63ce3dac483050130103eb79e90360b8387df4105f1b3de53a8f3014e8fe97a3fec3ed4824a0bc21dc507b487f70714c4153cf8ec7844e6a6807bc46b08840ba262201a673c266d164f1e9f6b15828c57f7481d07c41602ed0106620391f83006a2f901c203c0405c301e923413622e10197f7a141c0ac10908290c3c9c69160c0fab53425c7e3022c40a9787dc1516c227cec37cb320e269dd0c215674798ab5090f0808c1c3beb4d534de70752a9f5869b310f5b00e0b20563c3c041b46207c2679846b16453cac33e4c1fd83eb10172e9ed33a15200fb475fcd0f460b41f566c8d68b172ef3e53b050dbb28ec5470321a6f245580269c17fe01826af259b06f0e5b2bf2e132143e217f6a880613b1ee03584cfd7437018f1a0621183cca9e2a84e0c4f8fd9e943700fde270cd0e9dca5c56e6a46eb05f74bf8963cbd81a05de3230fc69530449eaf87899a05d433773310863f4831f330deadc8f45cde6681f0c4e2519f2d45d5c3342cfcd0f3f50891631cea9137cf3c58c87b3a076288eec13dc1d82cf81e8ba3e0418540fc419f108e273dcc350be29ec61d8470204083b868ede1cdf904f5406cc57950c1f690de4e880b082fc40ef1f287b707dcc6e39c844d0340f8fcb0f4b0089117c471223d5dd7a341066ee36a6dc7d3d364c98675f63aac2858c5851656ce01910581fee03088154c8fc90d4d8828ae3cf406a10f168fa7dc617e80f93087903ec40584277ad773cc534cb338e851bd9915f240d8383d4c037101ddd3da0e3e3a077ef8fa50890715034f619d4f4ccf5dda9d0a8fba4d93912800c3a18e73631eb6193e381e5c7fb070f1ec1d803f509f8c6997d715384b6c6cb1b8b7ea27d9465658370f8268fcf3a069903c58243df94e8000f3a10921fdc16010172c0f48dce20d9efbb728688fb1b88b558f32ee13c31e7bd3d0070bd703644d45c62322a72cd413ca591053f9e0b3efa9d1a67a40208410d71d53048cd41140c07dc886007ab3cfb34e239500edf001c1398647dafcf860e1e2d91c18c4bddeae80161dd9640ce7a1af5bbff747778c7826d09ddc5974b8540fed1e00feb980d9b1df7bb3cf7c0b477d8a76fa8a4f151cecfd0ef357c3376260428e0cab16441b3e3490c7f7233f124390a756ef2e1ec431f8294320d471ee8ff0ee4896ef5edad12bf6a1132a68cf86dc18090e2d5dded79b9a58d7b2dbd3a9ec79788d48ffc5c78ee71add46d5aa41547deab8a29e517e3667076bd32f615d09c27e4c72c8ab3dc293d675c8d4b3e1ff4b0aa13f4848e63d5a089bba3141e1ea5697f18212e0286346b0503f92efc56ae8353717f360b29ff7e20eae8d6fa9636eabb93cd9e2708f0e5beea5debde4e2294a4f5f860e67cd785b3d67b521ccf7b18c21220b5932a60867ac08960f13ca4d208d3d185faf3d35ca613c526240d60e58b4d92e38258c972e93ee267814e43c342e128678a9f2d4a8c00d3d99db65c0d3165d4069085f6726dd1824e173d0cf48b616b20453c7d8ec67ea537cadaa538027f8aa261245277e2e7361ddce70ad5a434cbec09cc6f5ebfcfa4c91ba43ecafaf1d462756c3fb6d3311dec8f397376555b06437e4c825330ab5ce5ff99253222a0b17d709828d230ab18b62bd3cd65afb9da49786548145dbfe48ec3f345afb052cbd42ae8001c41711d5b87d642c51b7e3261823e9c4af0b8adcd5c4de81c49eec9b662fc80376477e6227af58bdba77b405e1600dfe80de01c9eb9e4fb63e5e90460f352b83ee3074927b51e5caafd3471317d78f011ee47739736b79fbfbcb9a5e572e134c36e4d867a8724825950ad0ea9e2178640ce7b538f4133f4faaf55612576e7313d141900e298a7460074987b069a327b36d2ff30cc5e6a4f8abc313aaa95a62bc7bd296b7397316e4f005157637c0e1b08ba3b06d5cc6003c5f50b41f2e79007c0479df600c05785f6b14562b0b6505847fd1e484faec97c92a02eb5bb2d370d429cb848bcede4b319460b76f867417528be685a912e4c28a3811f640443cdc1d86184ee7e261110090a87e003eb2ab69d1308835d4975390fd91357cf956df46d0d4bcfa50b42620516779a2ef4eba91e634a397f6ce0cc67b2d20b5eec608ff44f69f53af2d2c2a32ac1c6c03703dd7e48ada036eebe24e557da3d980bfbe644126148bcc3f9e340ffec48dff6ccb4cc8586edf61e65fa9ab4a3dc5b44e9312ba7585aa10392c1fc4cc65cc2ddb4e632d5a86eb1488a793d89329b2186280f0d3d8bcac611241993171e3544015b67953bffc0c22b2a353cabd7aca5a5837358702b809281cae86c29d526b6011c0b61fbf746ea1b19bd05a4478d1b2264c10fc59660f3dace96d5cd97f3168499eefc99c5f3432d5d9660e33f6689cb98affff2f53de960b10d07f095cffbffa9d05dad0587260d4d48cd3388b44277d2b3853714da6095e9ad57d5f137eab12438bb2b51a25f992a5da8f63bde80f35732cd71d9f9ffa9a7f698d80c3e63e7a87ee472b995ee81c07bcb79d416f5a47c78504b1fe4ad8658eb8aab2a824d5a99e5908bf9bca20581790d8e8fb3dd5fe2916abc6d9a1182dfaa8e4a4c66b013ae915ee242d8aad2842ba4f3a30b14b67f08de7e7786e1b99355e0771c36a38faaac8bddd0ce16fe53e15bef12110744aac96a848e7fc321a6605e521c55888be66fbfdfd44c475a72301415cdfb6244325e279cba4b8558e432296be0098790a1885cd40a5a276f39a3d0f906c7669f77341e95a81608e81086dde3c79943fe0e530edaef11eb262f2486c208992d0e90e29d362118daec9281ba37c224f8c56883c0809cb26b3541ba02d51d1f48b6e5ca2302e3fabfd4a1eb7c291ade20f1e3dcf294f86456a67f215f6a6448bdffe43d08b85c9c3a41fd0b5901d99f02a90469d667543e52590b181dfac1031ac26ac9eadf9f6d57ccfaa0b167f5e22d0bae286144cebcb24c6f400b31b5c980c45f83ac84939393b5c6b96534c21420170960f295131e8b4178c2cc4701d0c160885629dc969214d80f056b6107585a982bcc0a6026bc2c11a9a4466e3d86efef23d0433472d309256da2c582f12ea04d7a1ea5d35199f966482504b1e3691f814c4ede68f3ebb5d8294e7585e08277455e049b48307db4651668728c3568f572120943953dd06ec53569107de70618cf81ccbec3ff44331b13ccc20629eb3f288f7c23b3979b8f7cd5c1f8603b682c4474105600e02026ef79c22f01393e8a30f17a1cdbef3519d5e81d57a52b59cab2ca9e4abec2cc0ed6917d4d151526e3f46fa6eff69472e0f514f387964ccf218d335897b5569a855f19ecdab83578ce6dc27ffd65885ee2c618c48842453ad695d4bccddfb42e32035864f79fcf4802d0f42cb17b9b2e13a2e6d7bf3a48c4f003145e1954b9d78e33287e1a95cd904b3e93228e6c6536f48118cb0b2e248826e7b7122cd371573eab955a10c425743d2e9aadde61e71304786c599aa8643f77bca723010d8c462cc51191a79d05b5a0285c1ea58b08b3684b2fc66362e9034c7fa45dde8d8e85c90a8dc0aac3788520ffb4cd8392890375cd6a877e2c712ee9fd28d2dc28ed8256a070bc5ef3fa90448d5ea550cb8c089cd4ef30dc9184111dc34fa03e5a7eb3dd3f13615c3877605b7e388f362970cc2510d8f1b9284bb3413211ad77260699a2e4d21905512c1b3e1225463d789b810e9ce03215deb06b0b9115bd9b96e062acb9c5338efbbaebdc0e617acdad1779c62d35ec163fe1e9f49cd8766ea04f9b40879ecd215798471e764fb64c87b20eb3ca5c157982de0319e0ed4dc8f5551c0117397480a5e5dad5e6207dadf36dc55c1c075a5204c531cac5bef15445f92088dab021d4f8eec1b519e02810ffe2abd9d6298524b907bf89274c0d8fc4a106de4b1751cfa9b0f254ad1d09873ccbb525b7459d26fe231f49f299ba6a8e5ab9cee12b2ae63e93bc2eec28d93ca2b8a80c1232b4430c0c85f0fea84ae736aef3ee673434a8f3f3777b5973340d882fb004ac3a7bc61fc882a4401c64519444dddc7d05d4d33b608a0e56ada7e2b5ee77e1d943f59e8fd7b057204d9a8cec8300122880b394ff72bf46d0f2e57e1528e6574aee0e90c298dd3c666044f21802308d0adc1f030924799c75efe1f9804ab85b138c467ef5231e0269ad74853eb5acbe0ea39d1f111c2e65cf0f9eb60039cca996356fa89e4a71227e1913b0bafa082ef2dc338ec29e16bc70974b11080a6f7c610a175671a9795916766ac420256cc60751630461f441f22763de4ccd35ba376761fed7e7cb79a253d808183992cb6314862a9984c8ba25c2acd33908c11494d049ae08e326a5245f2bac25392fc1d7dd1c7341cd78cd4aed0aa0f52aa0ebe2867719ca1344ca76491b78d607fdbd0c32e637dbff39497877bac603dde75cc18585d6fa3e3e0acc7a9941fce7bcd3ad30a13eaf809f00e08438e2b4df5a77d792fa257de1bc942eb935001b88eb6fe50122e78e0f33cf3613cefaa0f6525b729e55b824e0e3eb8731e2b0c034c0c199e56e30c8e33e0c4a232ecea2c79c9b69aa2d327cae06639c182de2374884a2e17dbb82d5cccbbec3f7f6de3159d61a34e7579ad7cb8d9e7c69ff193a84e1e9a021dcb90a0bc99167ec5539428c9bb1e430c0bb1fd84b24f7a645ff8c7198d7ec3ff17e0a447c9082bd7fcd9ea9ed5bff19b61a96d640163bc772ef95bae149f53f8147cd077d98422aaa6686357aa6d8725d804fe307dc51be51f4901288299b0b8f01395c7c4972d6c5250cca303e5c83b5406b51ce4d6e962eab615242c6bc3491e36faafc764b76488ae0c58198a096c0d04244fb0694f3f7a6497d62fab358a367b8459d54bd3ce8280f16e2f2271be5a4a4e78bc8891a15747e00ad4df917851391ef45660a6e30962a412b06a026355c7aafbb3247ed080194c301df30bdb4e95febf0da783fb48268194b23e9e6a714dd2b299f8cb61c46e8bf3729786d0d6aa39bdf42429ad4152983358a65c3d95806b1128ec5c660e4ea662d07fc41144c45a3013d09e2d4ce60a7cc2a15c80e199a5d4567a8eaa3242c63e5c66a15d1ee510dfe09b39ea68456c8f1cdb494a9158e937d551c2c5ccd3d647d4eaf9c95eb22ec7179e0342ee8aeed0cb5ef22f0c2d0665e604657039ac90edc1375281d3fb4c6397fd85559bbeb62436d917223558f5101736db9a3ee54d7e6eac73e4a8429d36e9a2e11f33a0ee54921e7341ed03bf99925c5aa6b14f50b6d9e3c2f576589e2c61f5d3ade599ff1c51b736ca3a3f24fe9cb3ba2693ca2cce3dbe67a702e50cae28ccb25dbeaadd2c57fb40ea6c4d5331c1e74b268d25389dcf9e007e9edf92b8d450c72fe27aad97ba504bfb06e5a9d4ca78b88ef945967946dacc688887ed0fae641e17f65caf2ec5f8422c85fa146eaa04ff48e21c421cf3caedfc733dbe94b48ee7ed7846cb3726a0162d43e53b96520c195d5eb14bcda8b02cfccef67a07f01f2a252f036cf8bf62aa550cdf138d21a05ea9115c2406a369334b5fdc56d288859d9bad351bd1de2c00785413403d1673bc102ab7562c24ed839f2cdd5fe450a0e676c27ad5e234a0ea9bae889f7b2f23dbd8c8dd9248b7cb8b9efa31dfbe4df8880a2c8b20b64c9f9bb01a69b32fceb77a0a79242cce024d3c955a983f30084116bcbeacef1d5bd04c01d1ac7e4b51226ed3aad93192160b69c986d1f85b72ab1748b412b4157a8ad5376b92e0ef1fc91fa8f738fc033fd02cb76471bff1fde355f91735d8ef5134035b75e762fcffae390b4fecf9a7c2ccefd3416c4f95ab6ee2ebee46033fe2cf48e14479a5487c5352ebc743f0fd123ba63f2c39fb44e636ccc6e4760101bcc9765dd4523f46aef87091fcfc6682b6195b7503cf51c3cab7690d26f19ca48bf0d362b8cab3555cadf79ef556de53aa5d89d23abfc05fd56c82d7790af4d60d115edc3e0cb56facac95b7344a9d5ebd29f00ffe4b6193ed65535e56867aa3be1cce60d69f8c979c660cfa1b3dd969fd5699e207467827d3e33ecbc59c625892f66bc80c548939b8a72f81d676193a8618190d798f8f876c11f967cf14b914187a193f50e42e9c298633905b4a18995dae49bdd5ff79b5c234dbe4ea206b4e0a6e4ec118904102d0817e8027477fc63ed406e02606665da6c0e4214d141d3e79d2b8c9b6e6bbe91f7169bb124d5c8cee40742102f24258e43777fd17d1a3fc6e5c8c79a846cecfc1a3850a5d57fada737bd915ed12030ef0a103eb9b9686c8403e2c505c1f5be1c5c81e7ee8d3528d2a8a75b42e970813ad09599b01d779987cb3a07b685fad029959107c37d8908fe02d87af0dc80c34bc2c7edec93f9b5d15fe1181f6cbfbbe03185f6098e8fc6d940fb2138c04c61adb5f414f005e1e5e54971a14f904f1b0d0d68e4e5cfa85af06fc86e717e0023c04db53b031e3dd3a70da1d94b1adbe485db280762e61acdb4519890acf572a9967a8dc1b33b09f491c1c1e144f12d9c40f232ac1a753db12d1f9518951c0f7e5f365f75d47c353b3fad53dbf2bbae3d082a49342caac9589a63dbe075e48ac998362c230feb32f5b90ee4a92a5b069e96203de8bbf3a2e1c63b4ff2489da90f7ee4c443bd188489b4d060bc8c081448bdb7bc88317f7d5b9894fce053e951a83b62f1cba7900718fbe5b46fb5a20029cb39db47d08f056669f66a038c93af7997a31bf00e37bacd9680a2d604b47ebadcf14bc73221d7ec3941fd49d72955804b1873235759a106fc23c8742976884eca22200796068c4e2834970c49cf51698f651ed8970003faa95482083a38995b8c332862bd4ff00c04040b94acda8b81ca5c88d5bc19e74fd155e614816bd176341ce2ad453ae728edf4f19acc865e43dc352f1171187f3c96915ed58085faf26ceee259ca46b7d9e84a64bbc641f15ff836ca2061342bb16a69299aef2cceb2a210fd01d73bfe81e148d0d478e9d6e68c09ac3a43b166a3bd620e08a832cc935e30ada8a4ebff566adaecd5e2ca70bca1fe7f47fae7c11f4d24aae1b561a349ce2be38910810e53cebb62edf3ec08f31685be1841de074b2e60cc4797429438c845c129b6d370f4867fb61e3650377cbd9862f581b177a468bca381a966add739aaf7f0cfa0f0ade3de583da1f59869e9210939744245c5d08a6ca1a57b2f7770ee5d2f744338023e43fe930617d6fe206b78972de7b135f1ad2aa7ce9c34a57ccdbedc8c7ec6ad65f11f423dcc491f4ae3336756ab89e70631ac0921b6e7bb3072962933aa562cd120e1657d0d4fb6dd8131c7d3cf5413aa3c6f15d49c429909b6167c7df28abeed6c5c17110c912e5a6ce8f5598dc7446ee2bdf7f793fa835bd0b799fdfaa2ae9ef73e6d3b9384b84147b3a12747c55b4ff6ec43d649c1caa070b3f3288dd5e2cdb31e17b163d7c2764e0dd2d6134458bd629228e8a8e077d4866c728b3ea88796a5812050bdc2c43b30579a7e157269d2b25a3454f3a5cca2fd2252d7e52d816d1f51ed6b5d27b4c348c551e1735e1f327ebe97ceee79f0d1dda099dd5e9621ff558209b46c3633c37354c5163c0d11d8f7ec975b380704b85dbeb01c8c03cce55d4fbafff0a8734011a643099144aa6ddf4e2da19ec1b0e69ed88d221832e408ae902c1949bd1024c163563a8a7a7f3a7ee4f343b537192953906b5c7c6104e8dfbd72b8dbeb2f863db80e10365a0c9d9c60d6ff05c572b9f94e2445065f4bcf1e125141a865ea710227259f67d5c2993a02e5acce35f02cb803e495c6094592599934db60a8f110501e17cb138809fe20456cc0bc50680692016e807a1f24f771eba0818345559951b62093589eed67e6e63c43aba43faa6a4c2c15b42d9f5e7852d26fb9783711f248b0ea25945c2707042abf44be6f613b7a4024ac8f7f7226a239fab8ac83394caf4f9b4e05fb6612bb064aabc45387c94ce01bed832d7ee9ec4eb6d43089043fb6f7388b11819a78a29a48c00cf68473c5cb04fae5506aecf0c2d1acef7687f3fbd8007de36b7e838a00a51a460bf5839b215bf13b6e295d12a738faa324dfcbd89036741cde3b12c02e73cd2894a504065253a15631f7381c672713e7e58a8825b32777a1a84d4d60a3b689fddb0c900df13579b47996d4864222adda4d24c9696f89357bf785eec49357f13115bedb250d90b6149d791fee2ee291f3456a4b298933187cbb82e263dad953ac578f72c221f618be31f1577c943e9be2f1e4b3f2d31e22ab471d1fb76edcdb547355bca07ddc224c7a4c85e8d1b479a93d5640b4cf6fe077bcd327c255a6a377f7cd803ce4a5a413f7c1df950dcc32607ab0537904d775ae81e5c96c70ccb59c7462ad2dd7c439fa5d9dbd0475ba679160e9a1893f0c330aa025af22cb623c50ee1a6254b75d089fa818ac6937e513a07c24671b135773dea53dc7e22152692485eb9647b0370dcf3f9547dd2458debb6206510c5c769425aded3bc12e6ac528291c781c65605be30f9381db4d31cf32d64a1fb438752f0e88d65477d6c4d35693680198071c9102be223513ffcbbc6a789f3aaff2693bf3f05cb82b76bc624029be34fffba13d5b83ba51c6b961e226cc8c14f7e9ca2508505d4b0348859b84ddf865c47077d4ca99e02342a19b88cf0c3d4b508429ab24a498df1f4c85140eaa64abafadd0ee6a3ee488c89785c0b7bb7d55513e2f0e550d35ab2d76232c3c4970c83698c6be8c7543384e10b84e2c14540b81777a97a32595f32451b015203c07b066d34d9ebd205e21ff6c6020e35716e762b90719625e502b0b432cd373647f7c2d3cb4aeb163c0c62ed22538b6ff456a1f3389e8aa7646864f03b0f3fd172c5e5ce214407e8383ca1ddacc4ca2806ebb05c65f3ed5a84ac8ddfc9996646956c3fc0d56a6bf81b4ebda1bc63982a5d32eb2a41752a58c6812ccd666636952deee7c9338b9e2977c8968b2b0be106e871762e07a2c43af559653df9b427b143f33ff95a98ef7db8c22b2f05500387be217ad88292e949f6b5eb91129c7385fefbee4331e7198c61290438e3a330bce99d788449c75a15b3f740e2f57d7351a255e248e5e72ec5b12ee62af645d3f9be4ce38ad67fe5bdd1681a9f12dab271581a7654320baf7a44451ba5c06d61cb36252b2b499540adfa62d6bb6ff2835406f1639b92e6ab5c1d557893cfb47f05b48c27d3731ba8d59d0a9a0122e5f42a4cc49cc537e2d8941ac64636b0e5bbeb7de5e26db518e3a12b965cc4ccab1d55e183a3b664f989877cb7fd8896b66fe11151e113561cca82f611cdbd04e240e4576669eab2d996b525d61f034ae61bd1bd01d71d2ebbf53b303baa1a0b09fc39709feb973945af69f0fed98f9c4dda3cd22892408d32c24acfbdb7449c5475f6c8c8eb48d012a5aec3d4dd0ea982043d69a97d69054447a4ede76ea52390727f1bc01b86d489468cef764d0677f35880097d0f90334eaa136318bd05f024cb879a3722e40c7ecc79695a19965905ba7134a2467fa40fde135d5b5740cae30649a2c4332a7f29789437c2e541016d8988089e8f18106319dbc2b5df4b6b119cc52f2ec57b252d78570fa5e28647a2ba8df8c5e737eadd3aee605e2fd2bf191ef312c216e2d2c613cb4a5f56009bfe64bfcdc23c7bf2f0ab3b75d51526ba74b9a5455080c8d9168e02f9de245242cad1b38f6c58de39c5d9f062ad6aa120b4802001cd6e186adbce1139bd4146a99176788c060d4f691ae8a9835b102398fa50269445fe0385e81b1b92fb5a7a5904fdefc57a24b4353aa18f3fab61a2b1cbf59a464f3efaf3e2971c2148fad4c5f821085c83bdf669533015d0fb79761c5772eb9198d98a7bcade126eb8fd475372f6c1dafca754ebd15eae92dc0a865434bf80e2c593ce0ee0ae89f539fd7142e77cc1e3d31e92e784bac9d51be87e843d4ad059f37d84e3fc94e405be8345d012551030cd8a3a6cd07d5428f8408145810085ce6083c9404c31e3897dfd75b238399cde4e6ed1db27527b88480ebd9034b99bc86809c88578fd98d8add634567234df78fc05fb41779bb64e643ff68f0fb2cd36d93b050014fd1282114174dc534e622923eebe81bb68ac709d8e38b57b575e4eba5d343f9a13dfadedf9bf337e6df3f938326ba6bdac5d34536874fcc476d7d72e1ad7896dcc5dad0bb4c478f471f93fcdb8b46efd36876baa6b15c05da763aa3377769763cd8b6aa0d3de7e5a2db83b11f716005a56ac462bcef6d21c1aa881263b0ff469da338f3469e2d38449939e264b9a286992a4094f939d263a4d9af8f8f830f1e9f159e2a3c427890f8fcf8e8f8e4f13263e4c9830e961b2848912264998f030d961a2c3a4498f4f0f939e9e9e253d4a7a92f4f0f4ecf4e8f43459e2b384c9929e254b962859926409cf929d253a4b9a28f151c244498f92254a942849a28447c98e121d254d92f8246192a427c992244a922449c2936427894e92263c3e3c4c787a7896f028e149c2c3c3b3c3a3c3d364c76787c94ecfce921d253b49767876767674769ae8f8e830d1e9d159a2a34427890e8fce8e8e8e8e93ce4dc7ba582f9d8ebb1eced93b9c4db3c9c5dd67a2169a998c4696c2a7f000f89fd1cc6800f0ffffee8ec4dd8fb83b8ebb8b4656567c2d4c99ba56b895926be5a42cbf46332bcbaf6d9c45ff694a9cadcbddf47fe32c2a2bbf765af4569cae4f9e3c8169ab3377ddc98cb856a995f83323467ed73f2d937971e555c0bda66280bbbfbb5404f0d777f76efffa5addde3d225f4ed31ce4526df7712cc1dd57ee5225a9648ef33f3fbf237b8b7351f938dfcd331ae2eea32b054605a6ccb8e3c8527b7177637b0e6dd32edd8c8c70f72cee4a81f19dbb28c4dd4fbb4b330eadbb8f3264c4c4dd73dcfdc7dd4770975846a7a336d3ba3336197568e7cdb4ad7136dd3d88bb99563325733728672533257d7876acae41ee9e015a7bdbaca7dda6e53949d93777a3e8760e5b2bda4c495dae97b1949d8b768e92c317bd3555fa6dde4e0a36da39236d0bc2c676ebab7136f1509a77d26937af97a659e8b43bcd3c5e2f69e7226dcf5ca46d53b556ce8bd6263c94e629b89cd3236c4170770ca4d85c6a89b4bb27b90bf545a7e3eda23bcdb7eaee16b8fb70f722eee24b4455e0eeb687d6a62fd3544af9b83ece5fe2c87835f5e15eadb6d19eb648e59f1645abe9ee2e77efe1ee3cdcc6dd6b4003b8fb1577853c5788860e70f7afe913f7f2ed71f9772f7fde369d8e3aa3927187a6edfedd7292f0f898b6c9ed6cd284a7c734ed0e6d97cdf1d6d3ed9bfba55bdf9c4d73722ead664e6a4ff4f66e3976977539ffe4e7dd9dc6592c1f0bdc15beef8bf2f497bb9615b80b1c813b5a87c0c05d6014eefec35da0187f925a8dafbbdfb8a75000b74ec733ef724cdbe402470872f70bdc05cedc1d5bf47fdedefe447b59a71fe7f595bd933df17ddb947736b5f1aa4fbb7bcb3d3cdd1d88bb4051a7e3dee154ee0e869ee634b58feb9f16a7bd6dd3c7f9eebab1dd5994b7bbbf6f4df7e7f0ddbbeed28cfb1aaadc7d88bbdcc9dd5fee721ddcdd97515c6a9bf2fff6352baf9a3a1d4ddb64f3d534c74c758e9951b4e6fcd29ade2eeaee2994e8eee1075ed05080024068613046091c29c040e1c8025828e1c650d2011b548a0cb6011f327cf858e309c27ca0088d4188964f0c07013b64f8c8408611c5d3518a7cb004e64b102c33786841468d8f797a221dc5c30166c08011bd8011632f70f002ea6b50602ae6a8100556a9719418c2509697165820c30f45501445710591f5ab0f5100c16f892834851bf52890aa87824aa1522890342c11c6948a31b1bec64528a8a5f04126560c055144a150224a14451185f207c507c14f1d51e3a847c1baa47c08f5a9b027dd4de1ab3e25c2ba002199c2184daccb0d159064b5624be283ac581714c8550a54c1c458170f9f058657d470f085e51c7849b16277fcd478911b5858030383c267c59ec2071f0cb2b1f9d68a467c9a307c28a108f322becd83b0145a0f86ad9b5fa1057be18320d4d3c0bc80018350ffc20741e2dfbc924d0dec0606060cba791a9897173e08aa793060108d179b56cb8b4d0a340fb662e0a750f3a18deb46c894d5ab9856b1227ee1ab6245fc50ff01293eebc64bcd83f9209a67c1bcdcfc0b1f44f3e04dec09e5250515504f137b427901f341378fba29e10696820aa8af893da1fe4604d4a33ea48181018368be05030306b5be0656f33521ec067523458808e2df7c09a8b77916cc4b2bcb0a4137b1143e059a0f53a8a181b5540f06c5ec7075f13b48558ca9885ff845fcc4171f254404f1c357421d85cf8279500d787324bedf1ca1fe51a18a01352c1413145050217cd4ab00bef8282ca1b47ad5a3e005cc07a5945a9f7a15584ff38ec20b1f948aa1a082ea6962603e08f5ad980aac58ea57311554e0a7622ea0de5f0515886b3880c115824121ec05f005d10b9825ba7c4032bd20c696e8f201897a1f93a5467c510b2d9e1a6086f45f8d2141325a344182ada62e2b7288831ea3c3b5f4e42f0161d9883534360e5b5a7d8b045f0512adde632e8ffda859bdc350fbc54fb548f15335374431518cfd58025137521c14530fa6c81b23d4ff087bfc0a1a9a6fd1d07cab4c9977f00cd29fd562ad524cada7f9d54d15d4502b46936abd4dcb4586ab076f86582bd60e2c9b1517e46a09fc825ca9c8558c03165cbe7a3025b28656319610f246ca2a2453293252cf1a33860c33e4ea593bac9e5586447d6a8c0f554bd5fae1a3e5a302d12546d88322fd829b29e0187225b21eace09562627dea5f37556e86583191e564ac2624a1a0562e1b2045747ea82895a893171b0c60041845d88341eac6660c19362d16101b0f59cf44f3fea018614feba60a48a6014fac9b21966b48158aa0a3523cc68471a591c517a493c1e203588c2153a2d80585d51d77dc3102128a292b4ca9f17005b20932248385981e55fcc1efb222dd69a8ef02deb1bbac48a2156ca945ae1e25beea8648f5e12ac622f2071f2c413823a3c890f0c7928d0ef82a580bf52008beea513e3fa12c64912a1608e44cc9423d0a067e2a1602d792978182f221c31f3214d3940c8ccd3c74144f47492a25da60852a0582a09021d5537186743254d84022219d0c03dc20596f6307f9a493a9a202648d5883ba49d9a456362a9808a68a9c545901592f7acdc9940da84a7dea8b904321197e536e69053284121aa95ea57a5145d2c0faf0c19a4a44b55e55844cc15c84ad5629546a25b25e84a9be0859e33e2ef1af1073c513295a61e60a1b48279dac49d98030905cba210ad3dd6545b29abaac481ba7a56a50295528920ec244109562dd18891f0e89b110e534f0636216ab57812fc63ee042bd874ca997c325bef8a0d75a2f3e93ea57df5aa2892d81248b4805ae622c52044b00860b12f5a82884d081747205314822a493a942097283242a05aa40100457309b67d990ac55eb5b7ff35b246d54aa9a1b292a956a05a351b16045c855cdab602c96f8ac9b29e0a3604ba9969802c1d58b3744aa57a91e0c574ce0ab5635abd4cd10783304be2aa642bdafa4802f4e998131d8d22cf60157971e24e834d09f85831b64cd9f413a5933022ec89a29a2209d9c42080678216b6661cfd28cc72fddb46a5aef0a65ad56ec47ab860666f337b09a6fc16c6c8a9034df822dd1b49650aa1e649348dafc16c914109b214052a91e4badbff9168f1b2218abc70d11cdd7c45a20d943a54abbf048a7f178550d0f10543d0f90e66b6e60b09abfa9114168c56a9e474dcd8d0dac8606b67a1e7e032b42d2c0bc06767343f3e20d51ab46e5246b4582291e204d0b52b841821f4a7106e9e40a644d0f55f89eea51330b592b843f0b7b42f0a1a0441853f8e04af522cc9940bd02b9644386a91813f8e187a80e48c10559239d8c1460c82a0c5005187246ced215c8a5d5abc21b95d79644b7096573b840d2553031e562ac0839739aff182a950ea4f8de0a43f146080f1a1a9be711a26eaaa8de0684590c35829a291b24571fe3802b3c43ae9ee617e08514c55615718a901b779a67d97c934876e9d283f4d8d77421a289358124f8abf7581348dac49640546c0ab894aa52845cad865436204a035190e2a3b820c547a55e45bad396504b2111ea512f92b1276a504290aaad03997a50015e481488c308c8f05b6eb4bea607eb634be0ea0684561790f46f1249f0bbf4f89a55ac094c3d186b0297529f0eb9481d7e085b125b8f6ac5985a2a900e5b6abdb79e75d3a507a9dd694bad77239451f8a816ac09244327c11b564cc8d0ea51bf4152151399c2df2099ea02925d40d29f06148ba8f122e2afa2109f45260a2e48d6abc467b15c2e2040fe514c7452d1a803128c290912abc3d505d499a1501a9028548a44a56ae28c44bd8a4489aa941bad624b60909418c69a9c03165c375656203b20c11893ea592f3eeb5337375dc0a6b0092437488a65c8d478d8d3058c89c0b5143e1813c52884680249548cb545157eea555018800c5f0cc148bd10e4ea514e82644dcbc66f8c50b1581b2eff25b1ca2ac6047e41facd10143490ac9b2154283e08135335ab9b2ae017556a6a6cc4f09f4895b8b4022992e13417630af805098241a240d28cf8649ea80029239dcc1351e8b002bf087b965220c802411004c1542a8412420997546e146bc3d55a3dca6b1a850abda6c310f49a069db6fa15ebdd69ab2e2890e2d20a2858171429fa90f84caa0fc12f48d48d5195f055e1abc2af016f88c4f822d686cb1f2cc36b649ed08104bf1802c120511fde10852fc6985031f00b314259194ef32f53f3282643c2e0bc6f102b514c346802c5a4c8fff08008ece6486c89451ef9102644f64682fc9057c162b12fb1ff5fc136887d5175f0b267c170625fc2d4e37c0dac48ec4b110efe06a641ec4bf8a967fd0be641ec8bea8dbc053058ec4bec8b3c0638accf00f645c87f2142c68929c823ff03f665482c86599006447ec8f7807d2142e4833c4d90580c3c82367821b12f197c8f1f12e481c0be08f9f1439e07ec0b8fffd1e35bb02f4386bc0b343c88047921425efc0a605f2c6005f950c8179c216f01914ff590093102e47bbc076f03fbe2c1905711f90e8a0879d47f8fd6ffc31e847d19f23122b12fadd817d77f79fd781f1f031844e46141625f827c0c60d0c7be80ff25fc2fa8ff927af137807d897d51fd97d57f61fd171f16fc970bfe0b06ff25830752f35f6cfecbcd7fe9f13c1e0aea084ec82aa2a687d7fc2d60a20c17502e206bb87eb85c101099e880c8041b648b74324c48a0024c1891802ad8d882c685942b05c6053ab278e2021b08c387a0541926a6603131c685d81a6412404402c4904bae479940a5861ab13352b60538225000302520c11b41283648d41b38e01319c285229dcc126ea040092e9248e38c274b5c71f3801690f021be48802766186309195ec00007825217408018040c4be460b3040c3673bc96f0e282288a1e0840049438a34546090b042016815f428d25c420975ea706022c252a0b1040cb18359849c20b0cc8914505cc28a30c9d315c4d1b90fa2770c41746a8118300122cf42083840d0248a5529eb231c34c08e6c081026e6411945a030e1a12d070441a2b3247b041430c0c2496207b904e0689031020f60035625fa0409d0bc4bed0619131e20b23ae30b3060b3c84b103045404891420c5779d21c518eca881a552914ec60829c630c208110441100441100441f1cbfc70203f7c690868b352dda01e64ad6e400053362858d88a8100ba0c7cd0513014e9a85791161c2063840e640d0deac5d60d08340e86289107eaa184b1986a8e98162e1b1618863dae346a40948bac30851297500f8220c8024170098c79811251283245d44100140a857a355c29d2c91441070e2e917432458820870ec0c670b1418a2932457051041504a8011f1573c2b5a443eaf8a4503f405c3f4232450041a248275304024825762097745c282200b0398af00273401d4b88e0c7e8c0d351c68d0924410616870366b0e23900450590883dfd0047181f88a8210044bc00338302d8083e0c38fe02198099418125c8008117b026b0780728e0af5002c6802062600af06686b801a68021c020e08e180d74c0c2802008379e58038645046a00e3c518d30129600b48c08f19e28730404c871c60121042863f23040b1fe6cc1372c46ad8008c070b3c04cef8058491002d4cc0002f4dc0be2802868203e830802e82a0e1d308c2853f012c8a1090c1811bd8b04102068000cc092e245045cccb136fc611b02cc4c0a6e041092004d003105f3e0e3b9e0073c088f0c011187827d2800d600c58992e1e872b0e10050c4c124f0120be1020b6c30f36c472f801862f400a484082580b1f8075d106ec498d589832e4f8e28a2c3eb0801696f84208580f3d3c02707834c4c4708698a71a4a20441c3168408b0a8c3103020fb0a301300b4c012b83093788f0c187c7800e2340c00cb11710d0c26bc004b03acc64e08d095c005600349a10e34db0c5b741851c4ec0b8300236010490d9e1b93840007e8a0378d1a10e180744404507fe8c32b0074c400c99df800360385801a3010a1b9078247ef839c294c0871abcf0e1055818288041310226e0b040069e0414100119b022bcf81fb0f80c288000ae961252b85a41c0d8e8a18d1c1e0e03cc00a380015c80c150c7db31871770c0c8b4f10958e3b130031682306007d8e283a822360028602c24015b238817d3c32b208711f430036c881e5c80bd51c7bf31c757000e24dab8630d581566c0ac082366c31665aa7821a0602389080431801e605f7238a20033685100179e8a3aea980376031c5f461bff803562023003b643189fc4163116aa78010a9811490820882fa207980772809d21c00cbf06015c7823ea40630ed80f7018a08d10acf101331e8c306027d8628b2a7e0b2860622401db401027e82105397c156166f81dc2b810bba10e18187378000e28da88628d2f811928080396822d88a8e20e289e01496411040c033d7c037288cdc0c30c31197870c1853a604ccc01a3038eb7a20d205cac35606ab858663c0f627c041c004b030b9808a480a189580c47c4020004b9a4f30de801a6811d74208376a00185d211c3237688992189179cb88206306840c3023090d1018706cc6083831832d4e0208118686470c57870c1807081df840daa3133a4c2b8418481c0057e0c3582187240010d3ac4f02506f186166a6010553834c003d5a2b674b7fb1921dded7e7c7e1e45abe9fa11dd5da3b76e7bdaacc59971cf387c6dbfd4f6baa4e1eed6c419dbccea840b9793269c2c0ee3ee4e50709bcecc3cebe4747727507039a73c1befea746ab12fdb7e96c9866dcee584e5ee366cb3edbbbbf5b419f7f3dab6d5b6335cdb6bb3c253cb94669f0ddfaa3371b85c1363b3605cdb6aa86b1dbe3525777c71aeda8fdb7e288f576bb3baeb59b7ddd57edc2676b8bb6d89ab0919faf26a93318ef3d5a96d6aa2837fbe4dbb9ebf7b3c7cffac4146bb2150046bd038a18b0f1570779cbb9614a009389a9f8bdc435c1d75c5a8edb6a83d8788a02ae0c05d0c3302710e1c994ddff167996c397cb7be4e1686bae38a28456452ddbd64adacec5eb66736ed79ed99f169b7ee85a0c595703199b9d734e3ec4dffaa0fad6fd3ea64df678b10e0ea3173da2eefe4bc6f6f9fda268bed99f13b48051477f5841971f975baea4adb432b965aedb4d86764cf5c5492e0160eb8abd1e367366df6ccf8a63b776f9ff34ef3aea9ddd7dd9fb8bb1c1e87bb93e02e2567b8a0b7ba7bbb2d5afe77569ba2d599dc3dbb4b898eeb74cce16be28ad65b104ddc35c0ee4a7283dde56aaae3e598a9b6349d7998d6cb3b9a459952bbcb49773b1b4fa7bb1dcf067834e0484444cf454b6a9b8c7ee8c616d75d6a8fcc7be69bda238bde2a7a6b53c55750b40a9df6b4423c2ab84eedd1e95489468be6f0d55f7bb6d7c5cc4234ea1fae9f66dcf9bbdeee3a290d312a69daa559f73d4b78683c96a9a241779f16f7fe87f294343d10ed933431e9ba6bfd11e7ffcd4ebb7ba675b26f6f3bbb873e292be97a84878ab6cda555291759a4d3ee6a11ca8dd4e672373d4ff26eb447746613db13ae35b2bb9c74e60c028a92a76dbad6b4483f475734cabb1beded6669457be6dd69e59d16f7f63dadce3c27fbfa568d6bba1ff71e97e69bf2deea7afb34e3c807978cbf7db16dbab934eb76afbe6632339af797404a3fe71096128829cdbe6d8b4e7be25e0efab1bd2e9567945a1eafa659cacf5bb77b64f927ae5f968fcbf579d632bdf5fd2ccd537eac6f7b5adf32b51b47969f66b467625bd39e69566d75d6edd7f56765464ada4eb6a8fc5d4e716f77ddddaded6b6dd35c4e795f7fdbdce7fdd6f7b8fb4c66bdd5d7f54fab7b28cee32fad5a5b1345afef71fed4ee8a7ed63fab6fcdde9953debed5f75ba717f779bfbe5fed79c7d3a2e779773f5497eb655c2fef6df55b9fceacf671f973f862f2c7b467ea3fb1d59ff733e5d746f67d9d7975beffd92a544ebbab79515e2f8a7be801245b949034413222e18144f5359cafc9fe6b4c66466fbfeb233d97af69c9a1fdf64d2b6f3ced692d7e7bfb5fddbdee2d9db597bb389ccd277fb48f7f96e96d9a77afabee71be5a5b5dcbe18bd39ae5086e4cf3ae5fff48d091d9d77ed7bf4c49e3985afd68ede1ba7babcba7f57dd6bfb1dde59dfe9df1c636b538dc3dadee55d3de5edf5959bebe9fc397c7ab3bde6fbfddb9e8475c7efd36ade48f3fabdbba7d7d9fc319add5ee9ada5d0f4bf9716754bfdddd6d79bc7ae2cbf47657f55bddcedbb44d4ffea8efef34f36cfabfdb9ff667995e9f69366dfa8fa2f5f589665ddafb5f5a7737e5e18be270b996efae666ebabd2eb6666ff5e6ee5e64b38dfa4ced6dd7c3f9f7dd5df4ad4ee9358a56a11fae44392bd55b4fff78e8997776d7d316c9ea5e3db24dd7cadd5d2b459577e29ae66c3687ab4e2887ef89edd169d3bc0f60db000e4ed46cb622a3a1242429586c524020918c94926cb65a09dc039fe451dcdd0477c5aea02204f23002a0264afcb43a5dd1a128ae0ed0f8dd5aad16cd69f7be3bfb5adeea945aad16cdc6b6498aab832bde6ab568467d75fb71b9d56ad1e0e4689aded836596de693866fdde5e43b8edacc674e4e4df3f6d6c9b8682dbfcb5bf7845aad164dbaadb6a5969753deeef6dc7dc85d4522e0a37935bee976fadddede1e57f353cbfb8deb4d6bd35b9c5fe35b37ce424a285a85b4ddbfa0df99839c2a913de1eaff9df9f6bb3fad2fa3687da74af43e5c301b1f4bdb367b69f979ff69cfb3fe368275f57dd5edd7b8daddff50b4f674eff5d5293d0c5fabdb27ee65dce7a27ac245ebdd17e7bbb5cde1a15f6a9bb269916c2ead567256b2b9aab525b2696f579cbb49a9eee5db64d323bbebc9bba2337725dab9c86e277bee9c914edccb5332529aa7d85d77d294d36eddab3a27295a5bbc6f16a74a94da6cbbabad892d0e976dbf7dd1bb7b36d49ab89aa9ddb86a3bedae62dbaef6b6d36a753977dfe22ed8d6e9b87bbbdb696fba79461ddaeda4d99b6edb74776dbaa93d6dbaa268b5e96ad399bbf2f43d75e6ae379b35d38cf3d974fbfa7272b4cd9d37bde5e89c5acdeeb2ce76d65dc69a56abd9ddddb897be179f665c9abbbbcff8bf182003407657f16f8ba295f7d8973113eefda416ed9d56676a7c519c69bb9b637735c5e5ec581c938aebc9d9e1a93a4c92984ace244994f8e8582634bb6bbaf5ada773f4ee6526d3eacc9c7d731b8434a11577b7b96b0328bbe66e53056f2c9fc5a92b29e02db3d913a0278fe3745ed9c6592b35a4d468e3ac95ff7fbc0500ef745e9bcd9dd6c664d674cfb185162928bc3c01c259d485273fbf712f9b8fe4b1456db613cd28257610b1a8ced8fafc274f1e47862d3a9aa926d279a00ddcc508b8848cc0ed99f1ff366f675d42c6b87fcd9ed97c8bdeaaceac36c5bd3f6d6a37b65f432b4eedc6770618769e8643adfe274f7eeb72d7ea469b3bed09eeaec55d42c4336312948684c82352e87fdee9bc2b3488cf797597636dba6f391ae7bb4d8ba2d9cce9b959dcad098f55a2d393e454527974784c9d5acf9389ce4e35ab4f131e26368912263a4d72ccad7b694ead969ebaeed85d4eb23817299dd7c6e355a09ddd434ef6c4433fa6c5c293a4674fb81aa867090f959f9e253c5476cea9adee7a6a349b3d3b3dedcb294f53adb6d364a5ee1a85d763ca19b5f17815c8a7f7635a2c0d70f712dc05a409779d8e49461e5ac6e14bb36835f56971ee6aaddbf5283d753d87783c92a7a956336d7657a68ded6edfdd2e0bd95dabecf060d9c1c2d354abd95a4d57abe17c35b6db494a6acf6aa9009d96c7bbe9d6b59daebe1fedcb48da36dd7d7737e5d9eaa9f1ae8766212633a3418e6aca418808a650e22296d5015438c3f86a0220d08145938f832e641a1e988880afe81033048051c81d7ec7073cb5c30c4c98c069e1e013812f0f4778b873c244083f99a776406d91c483259e2a01892820207a779cd591199000b93389f1802b71b0e1e0162bd8f084ca8baf3248a28b1fec3072b1d5001d6c0d68f2d50b5fd8b0e50477b84a849afae48b3bdc5735dc568ce0211c54c62c6634714701124f5ca07820f53d6432b0803b7cd5a40b53cc4f159e7a0388121c83e3a011322716e02b1c45f4001f243805e121949d0f0ed8dde12a4d8317507e3e478d11650cea09c95147474d472c7082ab7ad0c183274240828753f05011edd0c0575f0640c4939503f84a0e130c70854de98ec61076d400c40757093112020f314d380fce5db4da13aedebdfcab563e7037f354fa6ab772d1c527a0afc48067ea05aebc0798ba00e401b27844268ed24124b20a59ac94880241c7201c3d745004f103d0574e52de43955212d6840e82202aa402822b30044194ea84100cc15578011208aac09587e0cd880a552a19cd8362188a368022088634200942b0e529500c5116049742100c595742212118aac4108423044155088a00620082a890b5450ab5e2015e0082201836092d60a1401fc01054852018a26c6028d2b494843620100b4c15413d01576128eea068c210c4e9d1030240dca999823a0a5df470085044c9c45408a23c35003003a087ee72b91c74500443300e90151e01c130158628104c02e6802cd0260cc35025041a094331047550634d062c0fc09b0a82843c80a93003500451a08747e1d380a28757e55f820140396c0bd0a17411a2401528aec01b1015260c593514e88302c350fcd0a625035320b8d2117736d001431a152b0441105c81600d0cc335502ab0158aa8263016f6401045035b3521c85a81219490484824d400e528077b80aa30046f44174a0c3308c3105481220e6c15016b52219802793011120ead6a5a217863d9ac425004900582a81014412aa006619370485813aec21488024330046ba006614db81241540a05824c401428035ba00d08824e4022210d6a05b2443004c11a08aa2e087f806208a644b0495803a24222200a15866228824dc2100c12d2802d9025862008d6400d429a150a14592208824c1e047284f58342920251600b148180ad56ad468b10222007221886aa70654197053a355440300443100469be729e97b00268868438fc49f8810364900073e303596a0612700503655c09a68627fd50864daa6338d20f56f88004cb4622fcb064e6a82a8162e507227350a943749afc0024a749e59104130cdc146102a3017b3000a2a0a7bce3003d9f021fcb3a88d04a23c2591922f2ec758e201133936383f26d36780c2a70313eb87899bac15f74c11de5eebe832d6acbdbc6ebd97c70fb8abbeb589c8bec2e27b93b90bb67715560a3d3b1ee7ada545e683a08e369d55ab5441eac9e550ba5818d120b4531964c45c3f2116d7a80a28dca26fa5037a89798860b057852f108572d7176a3814f029e68b0d89ce28c070ba11221a92b22a8fad1e2e98995282f17429146b4825382a70db470840c16c054edb50114164231088ac60361402924683ca9541b1c79b1a047d01714082cc0f094412b8bcd0f9b1f274cb180c7d234743cfdec1608250eae550b7593621263a0810596c843a501d823090b6f00d13a22012fac333cf0086b52505eab266215aba589167ca4643453683c506d118fac9ab4c0801f406801891a2e70e978b931adc8c0c5534d0fd7830b373c3d402c43504e5619f4b040b36aa2a261f14031190201a501cd143a9e68564337492c2a42a44ca16951b1493a7f18f0848138eba151d57cdca8686aa4c44c20e289864585c86d86a714ca95025522a868524e544780826a7a2d232c2a2a9a550637515a45c4a216063f867810e482232c2455903c60818635ae92dc24613274b4b21157415235544fcb4634f25056ad158d9893aa22fa4001534250b0d4053a2d96896a22c5091016cd052d262c0815d52861c9c422621115124f47788851524852445a45c4213d76501ab4f034e680281c8a26a2520088999003161933910032c634c1041242c8b0420a4e9a0967cdd2842d258c80e54ad2919510a8d47c92c83ce8808317bb70c01d727ce08d0f803a8805c9602506026214418408523ea86960814d8d8a0b2ba858c288228408e207313e5c9119c9197b288052d21d768ce056821c716461cb2f1c6ab8382027342b236eb081498b02691c6144ad490f063f6a6858ab2142a458c0167b1a1585303445ca010410030c159459720513094062852c5898f400f9219641c61c58809ef4b4562a275ea0e2092076c861060020e00007a8c1a808c889111bb00ed409c233a2998f23e480f84688815419508d7002a1045a68d89c1196118e115a113a816222641297c022e0062c0d52436e320831082d007fbc7ca42a085fa04be411d6a468c2168b15ae56a950045120a8f29b1e2821282c9ec4003c895654471e5c91800517114fa994cdca033558107fd81131b0112209950c4fa295d605344380b8f0d422412c0145a466ab6c5853583e2a1a94132034a9309e58533cfdd8c2428b09ca0711d8b0f194bae329651344024f363b86c5530b088f70e5249593d2018c053519f0d08248c3530f580f188af6ca610179ddd1420a09cb67f583ea81fa6109f18422dac951d1a8947842d5a88288b39a1d1428da88339a2929242b1254415434aa259b1f363f5a405a17ac4840a1a005551054132da4be78ea6049dcbdad030dc49a4d0fd54b0451349490786483812a5c6559095915a52ce001aa6a5029d106854285a8158a856ad10c1151ab2bab0a7a1cd1bc56aa15885a894ac41c1164658012c2426b8354124f3c9460e1a51285b0a2b420b2d142ccf67e470adea0401a659001c617bd5cd20d364809fae009938ce58823c788ab076ba5a504a3a23bc89c11810d6ad009c3039402b0318131bcc8420a268ac8193dd8a1b76bd029094260a602689ce10005aca082095b4a18c1a80884291b10c1e0022baa58818904a890824d8321196fc0838d0b74d93ddd918212d0b1450b0617bc26e045170dc8428a053851830062b099404216a3a2a131c87401812bc25059438d31bc704016581021c40c5f5c08819909a0910516563ce1e5c99e43525e376634e0061b6038a00a2aa238e28600d8d366c2162d5986a438a9e1bc6ec62003860f3ddce0c59e26843034458a931a8f1bd135e0c618641ed045155444e1c4113808c00b9710869e38a93151b28353c14bf43b34e0c6051e0046170ea8820a278ec0e1060104c04b066c5cb67c9033da5187952a3d785860880d34cc3042161d200230c3cf6989d61da814842848d5119e809584884478445804c813eea074c0b186864282fa0b3608878042564150198040440cc00b5a3e2aa800e5127bd8f070dd04b1c9a06608cdabb562a956a14a954aa1400f32a40377d950718bdeeac637e5e5d8339b17f73470075736435ce5ae9a385c351b70770fdc553306e765fff6bc1adfd7f7f77d27bfb4a655677ebd5f23801a195c3528b8979fc3d7ea7c8ff34f7e5ef6e4e7f1cdd95b8d15570de95e3e2ebfbebf7f372ee3386a19a2a20a3f1473d932d3b2e5a7a0a2ef17fd14527ce16359be6ea7d9d79477552785933bb656df11c624297cc60594711fcdf7659ddd653db4802946dbeb7271ef4f5c17006601551470460162a4b7f25e013b051089e20bf731a7be366271c6f96e6c37be38b9df6d66d19c7e9aa308e3eea35214238c25be4425d18fbe8c7e168a42c73d8a1f51a0808093fba87fbc27aee6e7bc95a000e2eea335752fd5293d5166fc27c63c61c398e22af4c408fedbb4699a4d3cf484ce139ee484113eeaeaab3e9c2fe9844e9f554752711f9df0c0eeec2e27016d6c4d9b53dd699c4d8f34cea63c20f456538bd15e13be1b5b33b54769de66c501a1e8bda5f608882749cf66dbf530104f121bcf888928eebbfbb3d3ee043891001912e0e3ee692f5f1c1ace58f69f6d6a6f337d977862091b96d8b2841125ccb88ffbceb6115c85bea6939e363ecdcadb14c78acce8c4f966919228411240248143124048bc81c41648ec9000720418477471c40a47e8238618b101236c30024a1166dc7dd4faeeaaf3f959e7f3e1eea33d1c0fb5baf377bf33d6e9d4f2bebe9ee18bef5b7c77a9dd4e95a81c69f671356d7efd4e75a7ad7e2514bd3aa1f2c93f524b8d6616bd55bbcb66cde891dab6bab49fb14db3aebc6b5e5edefaf3ae458051449722dec734a7b9d7d5d7d5a2bff326820722c010210211a821d2a8a9945cf4b4d1f6f0dd389b160ffd98c3f9ed4da794f1104f436c71ff518831841080104242f8a715bd3b5f46d18cfb1cf4b41147f64a434443566ab56d56de2e0bf178d5c42992e5f4b7af939152971fc40d4194ee3ee26cf3670c841bee6ee2a11fdef841871fce1f847ef81143871838c4542106053136313408c002013d0470708032a34dadee753e7f1bc1f97c9be569a9e555ab3bab3dbfe6f0fdd5a3ff114756cfba7b9bd65def1f2787afec718a64465ffba7e19c3dd4c457f64545341c99d1effab5dd557ada88f3c5dd9f955c6a6a6d4e749b674f9bee695f532d652d6b6acba78de94d739ee9345f9bcede5ea796e9578f0ef0c3072f7cd8c107d2001d30401006203ad343047a48a107250580a30063c699b6282f5bde3399e3ebbc71b82ae5c7b2ccbcdeffd0674ab3eff3fef2e2deded2fcb62338639c8b1e5b5d961f777dab7b4ed5a9da6cf8eeca3f32bed6bd7cd3da540090006608800401b610a0264c15617218283cc8c143113ce878f8e13e9ef64a7a6d8a3bd3fcf896287a75e66c9727ce417828b5d8d6c70d8d388fbb5cf4cea8d6b46c3eae264e59beb55a968b46db9477d5e62b7bf977bebe6f62a311e3c86a355c2bfafa9e38dfdeee5e9a795f7f8726dc7d4cafb6e75bdd1ec01c0390628901fc30001e06b04fd4c8678b665fc3d991190d60031dc0d0e1c97dd457b74b9b6d5b5de62c7a9b6ecafbd4fa74b7eef4e3b20e417228410e518c5c4adbb65acbebfa765793c652a716e39bc5ea1a941e492971396f5eefd3bccddf0db568359372088243183838e160c30189eb86366e087383d30daf7ba7de3667c3696d51dc3b2dae1635df66c329adfd55decfcad396b2d7d9a7346a7bd38ded0745b1a94ee9cc44e5cf14aad594ca5d6f77f1dd8dfbbebe8d7adff2793dcb54956c0063c34f0d27a861881a6a0d2f00360400c6479c718f3436e55bb5bb2fcbd7f57338a316e71fae4363795aa6ba936ab5287fad69d38beb63bb2b5ab5d5d57c7c1fef9446b44cf38f3ca32fa3e5b853b3697da672ebde599e57df7035d3bdab3571ce492d53ddfaeb5b1367f3358a06e08e0090110000044046c319347c4103cf7d2c4f7be21cf4c3d5e2945a4e9c6fb51a0eb549b2520bbe329e38ebf4f57d2fff7af977e21eeeef7956adaf8c9bd7dba52dad96c7abe749d2909a018a1976339c3314194fabafbe43634db57e0ec61f6af7c517a7b1ad327840862990707ddc95fd2983910c3832883ee6bdabbe35b55fd3a9dd7657d37a84efee246b35a1d19e318410430b8c1c16001306cc0b606a309819adbebe3f710f67d37cd38aada91f452fd35bddb69997f4364d9219fdc8a53c71bee15ead86a255a8d4f259a3f5ad4d1a4becabe9a9db378bdeb8fa7edf5d75bedc7b6d6d8abb1b5badedebbbebe5dfe5b42c9970ef7f309c0043072f90e005205e405f50326a9cd31e2eefd7bc5efe3deebed596a9ee982a510e67f4337e7db3cef73acd177db2a6167f01e28b0d5f5af8f2fb42e50b075e3cb08397202f1658fbab475f4b6deeb456bef6383b32a3f2b4f537aee6c5dda11ff5c676d7cba51587879e36ce70f4d5bacafe876e5c376a7152c6e7bdc5a159241910af12599b2a05dd8d6f3e42aaa905d26d9e8df24bf3d697ca99569f4d6d16485f01fa61c23d9dd0951cbe4c6646710f0848ef72d1a9774da5e06bd3a7d5daa63c5e4f0399160b10d08f4d7b3af39ca4a0b577dea67be221b4eebcb12fb700666cc1c77dd43fcbf45a67deeebe36d274d16dabb4e0fa59a63f91dcdd88bb5828e3632e62410977bf66d6ba16e9a7123c59f194c39393a70b56d06205a6152e50c10dd73fcb84ef97383b385b4719faffa1dbb4e9c541d19c6e9ccdaf5ba63f872f5acd6ba4f751861ebddd9dda269c4d7b4bd22a88a0c28e0aad14c8a460440a670a3a29380a0c40e1c9bdfcdaf9b3556625ce688623d3e7b5fd2c53ada67fb6ca58e2eca077e3de5ba6ba77d9b4b7cf9b1c4bfdb34c385af6b34c492850f11147f6bcde9fd6a21065080069b83b09802600e0e40e002a3e00b0d06a9ed045ceafee78afaf92933df1efcc4f01bff2e7e486bb5b9be2b02f6b4cf27aefb3c39785cbf7834f049faca9044d5734e9dc4bdb4b77f979e3eed74a5cf9b411876653996de78ca4d3de6d77316a751737f45fdfa6b7d7c5a6369f799b699ed2bba2c7422f845e1177b7baf7f8e2dec61b69ebec94bbbbf680d641d3a07fdc71f4e7ece4fdbc2b53f0b527e41447c319d78d6fe6d913ac4da7a4652a4b87a4ad2e28e8e246172cba28a0cb0d5d6abc10f0b6e0a1ee8e23fb9dddfa97f433adad794f3cf4b4ffaf054579daf8161bedf476a9456baf0bee3e2fd332fe5a7bda586936ad95e5d3c634b5b81f6a7138fbfa668c7db93ec9dbc966dc479cd3365d344fe1e3d615c539ebcf5a286ff751b7f30f3e33e2f0d2fcb6e9a256765addabbcfb2909a4d315e3ecceec86d81da176a043b83b92bbd0a43a988260524ab1d188a25bdb5d516d757bd4efb3d876dab6b6375ede8f736e7a9fc5bade5e679db9f1fd1cbeb95c457119fbf2291bb58e8ecece8fb9d1669a4dedaea775fd1f6a71557fd6e5ae4e9765de3f3bad99eead6deeacb9ffed278fa214914820fc9628b0d4c392094b43dcad6e7f6a776efa5f45ed09547402fd6c7dad9045bbda7eb8eed06a795909adbb34636c518b2f8a874e1b45a7abaef2768fb77b46b59a4e572a5c8ade49cf121e2a5a7426aee94d4a9ad3d4661c1ed24de1febb9d614a7b66b356ea9cdc7523f0aa4d499d8ebb3b36d2b17269fc508b92b9a75cdae37d0e5f7b336dfa39b527d43437d399bbee70d9ea94722cdc14d6fab6bdbdd5d5a6a63d3f6fab53c2f17cb4fbeabcd15ec5d99386337e5d75fbbce6ed25e174dc53f4e294ec194edc6509e03e6249739a8552abdb57cab81fe867997eb60ad0cf56f9312d167b667374d749e604c089dd5d04779d1a98659853fc52dbf4face706cd3d5d856ab99faee6ab57c6d3c5dcabec449c2d534bf4c2a931ec90b992f98a87b89b363be6e56dc9eb8017163e16682eb06e44714ede96bd39de5476c4f6c795bdbdc3d7fe76923ceced38484c6d29ed92c7fb8becfd632bfefce32a57567d3a7e16c992a519da2a2bc6a75af8d6c6c7738a7b709dbffa1b79dd59abcd92c36577949ee6ee4aef204a512ae52e7eee30fcda93d71efd6d3bdb7e76dda3923fd509bbecdf2478ed4a42819151d39323a5d9c4d79baa2e8ad527e80cbf76d92d555776475d5f18094cccbcb5b4add358a4ef5c6f69a1787ebe98d7b59086791746a773d8db3595329b59a12ef6e9b0dee630e5f6d2b539b8ebb8fd9660219ee9eeb69d20427777714bd5b9b30c2f8fa86e02e13dcddee33e7b4b89a20b88b4b133ef2ee4e3f6fdeceee5db93ce5e8eae39294bbb7d71768e8674a3f38239daeba2d276c39726d792d626881410b8f77f74cef7bf1c53dcfea8c0a954086bb7fe0ae126e7095c0739590a48416096efcd619fdfa9a1c4ba36dda258b54ab29fd2ad19fb8929043428d6b040a8c80c4085846703762e471f9c495f63f9676ff82527b54778d52ce4aaba36c6c77bf7a345addc6b669772beacae293c50277ef71171636b08481c5082c22600172f723775d89e34a0f57ce2b2e77bab8d7a54e572ab59a5294a7fd97383ba7e55da52843a38d77f7ce58f6bacdb34d55c7bbfb4c716f68cce1abb53573ca2bed2e6bebabb6f269bcbb3fcdd72229052971e0ee3eee4a8223498da41a927c90dc702179e1420a00920fe95d22b8e14825122e9fb8eaaa43fa1f4ba5b2467b5c2e911ec923a13d9cd6d6347b9a77957cb68877f7bea74d4dda6805e90acd873645e9cad747d177c2bb5bdba6d46a7bbefd599a714f1bb165aadb5adc6b239ff13bf159fc397c75dbeeb2fe34e39a2e0822f4389ac3759485eee865d40536ba19d1b88ad0286aa1a8574484a80b222488b0101d71f752db7dd32cb7284f2bf5acd4357d568b748bf2b4b1dca1299576bc8fa23ddc6f9d77687ddcddb7e45d256c7946e5e3ab7977ff0fd7ddfbb2eebeae9f5a5f46cd1f4afe8fb59a52f9b8ccb3e76f9dcdf2ff77b33c5e2f97569d39334f5c7f562a956fdaa62fc752a97c9b5a9def4b1c259951f9b5dfbe4e16e5edb2d0d3c6d3eaaa3b37ee655d75279a75daa6bafd650e5f9d5121bdef4eca58669daf7cbbdfe2f2d77bda5dd3b54c17fd13ed659fe6dd6ae3dd5d3e6d8c32f4bfb45ef3e22cb6b7b2442bafb7dfeaf69f6f757be35aa9d355573e6ddc567fa953cbe35da5f2ad6edb5dcd5ddedd8f2d2fd330efee474d1b655f9d79f6d4e94a05675d6d0a8463837e26e3dd0da4adcea889e67cb31667d3a93df1c501fdd84e34dbf2d9d32e2b3eb8fba7bda8be279a9dfcae4f73d992da7cf6b4962d6f754a5658ce654baa65cb8fcf94f3fead7b4b4f5651c3fdad6e2701a1681542aad5805ed757faf971ca41285a4d20a51f9c91cfe22a3d4268c3ddabb82b8430636a51b49ab4f187bba6e5a556f73e9fbda4b3daadf19de9b62f0426212419aa808f3fcbe4b318a7f4595ccafed4db6a22770dfdb8fbb87346a23201171522a8d4e0ee40dc45c5478547054725099524543800810cf79c9fe760d4d1d199e9ec3c92c7f996285acdf21f979f36e2c8deee9bfa3e28ca5b6cf4b4519fd5a66f7335cd5bff699f36e2ecc88c9e06f4f31c8c369bbe56a734567c7337cd5f96b8674f5cf3d9d31b5bddee9120389120c8503de58cef2477b7e2ae2962ee6b5c5332cd9b775353db2842dbc916a516fb8c7eb64aada60404a4f423e5c72907b9a484f182bb4b719714320551441085095714ecee41ee8a321b4f8b2fce9eafefe3aeceec699cd2e2fba7ecf77dfd4371debab7fbf1b4f686a2d737d3ed7c7bdcd08fe976b21adf9aabff3fcbf456b7d37c9baacedef4dde5bcd008dc1d8bbb840ee0ee4aee120a21680e6ccfd3625c51de5bb3a23c9b66ddb6bbd79768ac4d779bd5e66471fed36eb362fbf676eafbe657f4c828b527506a7f4c8b4573d1e171b227e6c293e49df8f4b4043db13a5d7536bbcb3a253dbd13579fc5a7dd3ac90654ab29fdccd6b384878acde65477369d9e1d2a3e8ba19cf177413142dbf43ceb6f6c2fef9a36c5b7eef2597fbbfbf89f669c4e5754e760714149e2fa8004ee9ec45d1f68319e36b5bb9791ac892b4e6d530601ade6acee5cf435bb73d198da5cc575a7eba3a8f5bdae8f43adde36c934c9f3669d4ffb32d23944d66a4a1f8ce0e6ebeaf359fce4073277ab5372019d893204b4c578da73e8d1aa332fa73c5dd1b73a251ec9930448e927cd537eb60a8f47fe2c930be8cab6bf2f7f96a97cdcfd9f657a9c2faf3eb6a990bba3dcc10ddc49f7010306dc0718771f60c829ee1b78e01834f1f14211f7f18213f7f1020beee3052bdcc70b6bb80f1852ee030624ee038610dc070cd57dc000c67dc0d08016ccdd4121657074eeee4378474c70770f0266d1f9d1c58727233cf17177fdb34cb6f7272cb79dc1a54d367bab37376c3f62b8bbded5b4f26ce6456f3d9e12ee5a5bd4eebab5ed27cc0f7753dbf4e4fea373b7e1022f5e133c2e2f5e5008b2181f6d9a89725189ce74b5a84da9fc88837bb8fba3bdb2c75d14ad4349a596132e9759deb323351ccbc1986626f332d1ac3d320a3d073f546b8bcef0ad3bb5e695f1b4fb5a5c9a713ebbcb3a6b7ccd8bf276770f9d464a1c017c02de1867b7819d133b1676b41d0c2583fe508c8ae03e963624ef6436c4c1c8a5fc2323975aadd4f2fac8a87bff4399ae954f33aef672f7b6239ff647c6d3fe729a330fcd99f7b8fc759b95f647c8e7604473e63dce36b4ee7c0ea139e7cc4bed99569f6deb8a02e99a5a1b1090d28f46733ebaf2b39a5a20a51f34e7a39a5a5bc6a94573b9bc6d3be71408cdf9c8eeba6d5a5b3423a1391f698be6f444b3ddb909886666d3a39fd56a69ee1cda3609a8e867547e6c3ba3493ba31a0827b53b375ddd6fabafcc977d4aba32ae13335aabdf49d539cd7679e3aa3bd2517123da4827737727752e771f732370f7f13cabcef5724d7262de3fcb84e301977150ea76b2b629ef8eec8c8fbcbe47bcea4b2acfb3968f79d59784cbc2da505f16044b3bd3b0da2295af75e59db8d6abd342670e27cffdd4392b38adce3a5f79da9d9bb4fd656c1a81f3dda429c2cb74bdae3c6dd3b73fd97fcde13bfb9b12bc9ede37cdfa26c3cda72c717e37198e4e579dec569bc039a9bc7ae47eda34e35c957959c6475d6a5cae367d9563bc7c2a47809da5cfcb76e6956c6576fa12d96e98fdd0b4dacfbafa4ed408a85603021afae1520697272e52b8d4b66c60cb18305b8eb6fcbcb6f8d08285161bb4d4b4e8bc4ae040093a94b042094c255840820548a08104d4e2fc3e8b4f34efe813a7cb237df48f63f74d6546e5cf4a1ca2f2c867f19745b413cdb5a247f2474426fee96d73680f67d36a6eab7f981cb9945aac6e9fd7bcb98cd26a20140d152191599e83f1eab2fc2829ce575ff913c56f839e7775464600330209237890050459a4c812431610b26880050358a2c0d2c3e2836575a50257bcb8e27b5dc172058807e18c9e5c24a3d22249a1a23424a566776cba56b3e95bf2fc13201e13db1e8ac3f7350eaff7bbc7fb34e3943cfff3b2d4eaf6a83483d20a4a47943c898bfa41511ec97f0edf239951d30b090a241490ba200979899086084c88908208535e22f0380ac1eb4888232b474270bc8c7430fa7915cdf143515af42fa230889c5c27a1e1943b47a5ec4bf4ea7c6f713e7fb8f21cc98ccaff209c91ec7592a73d4e89b36377373d2a7ff635d96b9ea7f194e6ce91c5d164aff12d834a9ea347f23b478fe4891ec907a53dde974a6a355cb6d913ae2ecf6ad35aadacb7c9ea84743b87643c6d487ea8dd68ddba9abb9bf234ce77e31eceb79ae6a68ceaf4c5bf9f9d563060650c2b61ac8860658a95222a7f592152e50b9c913ea28f68a7ba3b3a92197ded3c8f8ce899d69c4d7f36d3374a1529553008e103af10de788530c42b040384102684284322780d8df11acac1bdc42971884a5d0645791a0e8da6894a221a07a3b5b8fa1bdb5e17ab6fbda41f7fb836ddea531a91c65ffdd593241a2aaf0c5119f590ccb5c536f71aa242069530ee8ead4985e723bea8896d3e8ba9f4a026eed50722aad5947c19bf40c8819065ca1d53a098a2c2143c8588940e48d141ca0a63b9adb6a516c5b9fc67aabb568b523e2ecb1e67db24a352f6e550f9bbbdbdf17675eb6a04cfacae3a9e3d2d536ec297495725265d3790141d292e8f32858f27b6399fc5af28a54781e2e799cba4eb7e098d71afbcfb20083db9d370eebd8446f09790cbeeeefe7d83347071bb5ac4a4ab1250d093e3a0a05710101fb994a419f71faa7b79f7c319bf481d5e24afd4f2e451258b9c4040e6add550b40a01d95dbd40404a3f16e5f594cc1fd36239a1f88ce539547e70c6ccf8033138cff6074fe3cf32e15cf40197a45a0d88c72387807e009a01e80950054fcc3ca1e2c9ada6cbffd9acdc594a9923a54a159951394ac119655f5691f248be8acca8b4616c519b3e87526b8fce6b4bade501d1903f9332f3e931559b455bd4fe50f9913929e3eea409d37c39219dd4ce78de3d59fbc2dd3dccabe6349e36f7aa35bd6a2e6f4286575d132346b289d35093d2dd9b40f1262e77f739e3eeaed355e7e393c377dfea7bede3e4dac916f950711f201a3349c37dbcb788491826443d677c9c9d565bdd46efbeba878cb189baebe1f54e7c33ee3972f7578febb5a4cc9229dc7d09cfc733cd385c3dabd212284040285a85727aa4a42a992901e23e72302619f34a22445a2d2a94642849053c6ef084711f77deb9d7e5756f3bc91b47667fd5a66f89b1f0a47634b0a38347a9f746a3d926fc55870d9d27744ad0a1c95140cef9caf960ecc028c6d81b856871bc68627ceb1ebe56b7f7ae55573e6db43ae3e01eaf66d9fff6cdf866535994d74c8819d26b96c1164876488090ac8e88e1ee47fc75048823341c59f23af203870d1c31ee5ec45f3828e070c171f2c2f1c1a535bdfbb6cb66f6ed23476c139a9bb0365253db947336cde5ea99d613d74dcb3c4dab9db836595fd6fd0c3734e65dc5e7cee358b59134cdef64a33dcdcb4f7b9dd9d369a6d5704332225eb22c32a1976c346201234418317a191932e2eeebd4ea5d2f8795c6ccc3573cc0c103175e1ef8bc3c08cf486d8905078b0c4b79dabc2d96a6cffbf3b658cad3627975b0d4c14f07b88c8483f33399d932e5fdaf2254bc8af48a407915f917076bbc3888c2c7f2c42192696cf573108b8d2026e6154b8aedbc606ac07c805d58ce4fe0bdb88f655245ebc592e629ad31a7f68456de3fa255ebd28cb331993555daba4e416fc5dd5d8fb6c1191bacf0da20c8dd2df0d70634226abc881841a40522340d32a0410d2f0d78eea3ddb9e9479c2b12d2e732fa481e49293735e53467745667a7b53be39d9b6c65ba73930637af21600c89e135648b8f79cfaa4d73f5352a440e2142b8fb0bb9204817af205604610a42cb4004af0cd2f09281ce2b03181032dc479ca7e1aadbb22f7178f68649346876ffcffa38e386c6fbfa05e4098815203c5e40501834e16389b383b3696977559bd7c7fbfa33b1cda576671f63008401cdeb8207bc2e98c24b9badd580947e6a35cdcbe9d1d13f791e4fc92654be2e407a5d30b3408d970543bc2c587a5990f42305e349b3292fa34c66456f3f2bad4d4724a5ec9d398b9e695a4dda6fdf342fd59dfe55bc7b19a7bdadedaffe50b42afd50b46ebb339613db9fa1755f5e35859a703681b4dd198b5325fa198edd19cb6cd73b91643fa6c5b27313109399ad0045d1398bdad3feaadd198bddb9e957b1cd67b10f301667a2978f217dadbc7cb4dc47b3e2c85705fa5581f9aae0f57a3de0f5eae295be868c694e533bc3e5b39765dc9977ab4f8e16675c6ff587a6f6fca13fd3f66eb462cbfb3497fa9ea58b88978b05d77659e941c7ab8716eeb8fc4a9be5aa6e5fdf99310d777156b753b4bce7d06b2344dbc9625baeded26c26d56a4a36cda6466fdd67b5ba13f7728a93f4332cb273e8b7a99c397c6ddbe6cede2db54d1945736ae39146dabbe1320f31a4938f278f231f79b81c7733c576b2f8358ae6f477d539497add8871f7d188bf6e783ebe6e66be8c6d969b96cd14e3c696775f36368c2f1b9d3bd9130f9dd75643e65503c4ab4600af9aa017cd197bbff68e5e3435bc685077f7e12f1a125e34631aee5eab2995e4abb57ab1a078b1b4b8fbca5f2ca5178b6755c7ca8cd72a88d5086645793763ddb6b9bcd1fa68dd99681ded786776e7225aad2cbf768bf2344d96245a75e6d1c6f1a55ae3a532e2a5dae1a51ac1d18ab323337aa96c5ea92a5e29165ea99d97788197d8c4b8b3f6d49997f678d632d1ce349b5392cab2569ef825827989257e893eeee34b7ca1c6b87b6a7927bc503acff885fa8cb7cc5fa1995c5a8f5ee1103eeabaf5ee65323cf202d1788153f838cbe13bd3d537fa0b2ce1050679f91a2f1762c465daa8337bbbafd8a2e5e386f0cb97dc51e60e1baa6edfcafbd59dc69577d68cf290ee4092023bdcc7d2567e114945e993a4100d29bd142423a22f32fa2852ac5821855e4ad02b1915bd52d215a24f1aa2627375776dcaeb75b1695a2d2a04c493a427cbe19bc357a72b1514ad4229d0a5c0c75170c671b6bbac2d0abe70efe550e0b481bb5070e4639a9f0705ac8c7fdbdfcf483bbed819db01c6dddd0e9dea4bed49d671c67d1657c718777dd1cbf3db6f23d8c9d7f127e080fb09a6f051e3d834ef64ffc355e804a5bbffd013e4f8b875dd55a7abcea9ee80807e4cb0c1190a9c49e20cd3992125f8c2e25c24f427ae25c88c469b9ab4fa43742c800e273ab6d0e1840e0d48d0050906400228eefeb3b1f6e70fddd170fe590edf394c304718731c3187983992e6781c5b088808415308400881cc4c06ccd460669be93103ca1101396490a3491c1e88438a388288038d030310340004000081121054f0010b7c20860f24f9001038be8043c3818303030f88e101311eb879e046f7d0a3a7712185b4fcec6bfa8ffc23798bbbe8cf7676dfda687776be669433f4b411272997519951297b33ad16df246c84d29c4a284166547af0ba9d347e92cca89ccdb4aebc9456e2a068157a245fc223f92429e52c5f3d33fab1dc292d5a9b6eaf0b527d7df5cf4a9b2dadeea1e8151cd927ed5ab96df6f6abbbf269443fe2c85ed3465a9a5fa7799b758a2e750fe5fd0c6b7bd36c2b779e563e2e57dc35efd6b7fe8fdd5d256c75be340369b43a55a20e3869271da0e2ee630764286a4dcc0133ee637d0e9051c40131bfdb73c0095b0e0071777bdf30e36e247d830c7f434c4df3e7a2379cc63746f8bd21731fcf0da4e1f6a25767deb737a50d4ce123d20696366034ce94c8200d54a18118348045032cf731ede9acc94fb31b41b841821b4a7c244db20d2cdae8a10ddec5b756fed2cb73b219b84006068042068032d00106cac08015eee35b8b9bd1466b71d6e2caa72dd934cd33b4360dbdcf1e61e00803ab3262b88f4265909469b1c1051b0b60639775be2f9f1665e87fbb569ed7563e6dfcfa9f56df05e6b88001dc7db44d7777e29ad69cf27817f0b9c00f773fb1e525e12cd053810b5400860ad4d668638d19d6f8400d336a1ca1860c23937979d6674d6c7317bd677a6b2fef8b7bbb9d8ec5fefca138e36975ef56f3b659643f3ad93f714daf6dcae6ceeab62fef78bdffa1be13d7bfe5a58d7bd6f723be9f66f3a275a7eff8db7fe567bfddb3598bb3bdd396e66adbe514977792ee51208c8f38da5a4c011e49019d1187023f3c8d36d2d021a3bf7b79b67b375f1a55267006adf84e994013ee38b2ea4b9a8093fb38019d114702b297c0981c09d8e09eb148804aef7c5302ef3ea25126d78446134eb3292f080d9e3b5a7ffba2d1e3ae9d2a91b636c5d97c166f6dcf5a4de90c21ce683a2377c68f910374b775e358dbb8faeceeee0e9a34a95c4a2d6f7566146186ce0c0e2210011b2280fa58ee9cd3f2f52dad897391ec6d9a66df50cacb298f571fa71c42ebce4aa5892b5a771ef13d6b192694f1a40c1513648c40460763ac310698319ac6d08d31844c09c820804c09644608780002474060bb8f3b1b14e533feac7ff64bf3ceee1e5fa3bf4cff8fabcf76e21e5ab7ee45a9d5944a249bcf621bceb55a11363aeff9436db89ab61ad2f819ff503df4b4d126bde5e5195acdbb6f6afece784c7359ce8ca4d6a653caf3f6ba5c140245ca10c30b31b68fbf8aa6b6293f6d9c95ba562729624011e3878f4a464648ffbbfd6ef84a18298491f300143ca0880728819102302400061160ec0086942fe2f862872fa07871873b07ffe3d6e9d54652ab7bd5a68f637be996bdddb8a6b597dbbc5f6a9bece3c8aaf9335d758fa2d556568be67c7bf26bb4716b7b964f1bc7d1dcf667339ddab4f26ccadbbadcdd7d2fff667586639b2e5a6d3c6b994ad9eb9f9d96c9cc368bdeaaedabb9b1129399ad588bb336c5d94c7d7748405e40195f57773dbdd000481fd56a4a3f4e39c8a66bcf4ecfb458baa039400d077c7140132edc184ba1477bb8d4fa1e4551b49a7af6e5698774e6ae41a5d5ed7a5a5c7fa6f4a3b626ae5bef7a667acd47d1ca64543e175fb850f2f1b4750b26b6b0618b1f2ddcd022072d4e2d7a34208db1bcf5b4edb4d5c7b373e4287775b963b3e95abed53ddaada7ff877f288fa76fbab54d7fe3eaebe59f597f4e39e595bfcd5efe8d76bc329c75bf33a6558ded506fcce18ceaca7b9b8ebb1fce67cf6ade9fb6013ec68431c606fb27ae3945b3ceb7b3bafde6dde55db360230b21b210210b14164a60f18445152c663e0a09c98cca29ba06d56ab59aadacbcdfedb5d557a724fb11e7977d59b3bf33b6374d1b37cf9a4ef6872bd1b879bd5497a54dba62005798238e4cd75a2de3f050ada6b47bd976deca4b6d397ccd344fb167ded5d4da6a6a539c154c566c7177cf5b5bd15345191f7933cb74739537aba20977f72a9edc75f51db98fe7adbccfbd4dab115dc5bb8f978a33eeaeeb8e8a314e450a54c8dceab6be7fe26c5a4ddbb6a6960169384e4a3260010ce0f978da7ba6d5d4f7aca9c5240356534431c5938fbf9ffdd05bddb9e8ebd7db14ace5a8a40fcbe8999a754aa919001101000000c31100002824160c47a472d98cb078d43c1400036fe0548a50190eb434c70c32c61832200200200000204100009b68ce664395170044c73cb95adb7a9a08767662989c8a2d59e5c3b77152182c5eb70a4b08883f3d89d326af4f32bcf8b1238fb575ef54a78081e30366baa5fc8e016649182d6106339ef96b1d0898f25854ee4ea7ce039e8d3639b65acd1b6d7d42d7c8258f6afc0cafa9393a4d2d0902d932d1fba6191577ccf1654d027dc11be17db32418dfa0056abbf64c2ce38ab70df92c8e222b038555cbf2436e9d78b4fdb7e56fd02f9a160844e6956363b80f579e7ea9ca2eefd7655152981e33a666bbef68270833b55dfe0c154abdddb08ed1d277cb1e8cd50e97a4ffd9325f9ec1cc2d792014f37201f877521a0be3bc2305a87548d9e198c9f620c1c0432092a64b0e19a12d7ac9cf042749db7ccd6fdd906a5726d8b3c7d63254210f1c9e698d9b5475fc14083fa716a48fdc32add0f4407d6a6f35c580547baf4907587054eb12458acaa3d2f0f0e96c4b59e675c5e44fce06b72223c8111389d7d3ff4bcfa538fe0077fa1920f6f9bd7f1711f2b3c7147b247015170a7bc052cfe813d886a42e57ecd19c50c47fc8d337e89fce67a561b620624a3dff986b396dee5e92b337d99fea08f2d4d15dc0d13834c67f90424e89f11bbb78ddcf769492f7a6e395e54e4dac53170465ebc711c2e136bd620709138a2ab0e73794bbea4d30d4bc090784f90ce5ab8f113f8c066ec0d67d789d8165452e472aea19905808ca2374e76c1c06e2c54ba957ad4dcce8ae26ea22f9bd82d5ace5a064742d9a9e9b93d89b1390e7a151985e83b0f93450d1f399a44597755037a86ffbc92ac1fb670cdb9f1102db9ab5c0288bdc0b29e218c10bf043fe46fc384e847bb474328acd8b3d352bba54183c2b2d7a10cc87126d01de65734c98cee66c19fe82f89f17e51175f0204868005d31d5ff429cd0823ca147421491a3a733ca6c6cfb2762182505973d8bde9d37ddeb3a6b8992b02f2b8ae09b0f237604180f2f549e45ab51dda009205fed308d1d83ff4d914827dad84efe0cddab96b6ab97449d93f20ea3c39f4ed0a4808c62039f17b2698f8449a748054b067eb2337cc5134976bad6e5488eb36b0e71840bce9221c58408ce010cc239288628074b0cd0a32c22e3ece309c4728f40536224f317bcf8199e8c64158c41e197c28e0ec70d2855d9dcdaa3f40eb718deae59af22c40639bc812018a092fc526783b39eff4bb9366258731af9bef83169efe7faab88fdb45937932fa66a18f81726690afbea44aabf7ffb2f2a477f18e31effcdcb7fef31de840b61e1b8ed320d5b4b6e65f7750e451fd5453362a85d70ae9ea1a9289391bc71334ebb3c46ae0d8e9c0ac2f96ee3f10b1907d5464a913a0b19b1d43992d4bd79541e67c8f2283dabda18c28db09d3ae44d1be080046120c53dc57db70935f644696bf1fc1d73a6d77f617251b007a12ad9bd14e4d55171b8937d46cadc1b9010278ae83508106861a3d348d7b684dd43868c8e91b9456583a1bc6161713fce6117275d2a6f8efcaae91687987f9d333a96dc40a92b40ca4dd197afbd24dc166c1cb8a0b7e8de59d1ce2f28051a0113e41fef7844b20a7ffa3de26cc8be7a281438098380ccc6368e322b31e8a967c06f07fe530073a895d3bc23c1b18102d34f6c00f49c39e8e55aae052beaddc796d318f4cf0c297d24a44db31fdafae51586b2843886267a27b865f2334375e92aee5efc1aa46c90730d72e3b4110cc947486311ead42d6e6711fc6c939703b8fd43e0a62d8311538f0155500a9b9e313967e97cc24f67163e223acced05306b56c10704bfcf7239aba01c917eeeed19951d00c2f852c012ba8b2babe90368e3e21cbefb81c600db0e3a7c67b592ebb7e0cdc847a5dc0bfa010ffc14aa2414aa7eb3f1c28c2c7379616b31d1f596495594fce029e82b1b329f22cf0636f725089a1ba19b6ba4ffdcd51d0f9c95fe43deb380f2e78fc8a2c09d4c4bae219c87d1074dcb7b2beece62d0c13aa2d3273c5fd9b0dcd4b43d53e119b9528b9c282be956b7c772fbf8b7dcff35bc9ddd8ef7a7e960b13aaf67a9e4db79b511f8a0319e2fa81f0092dda8bfa58f09c30f0659f464b9b62fea755af2be53dcab0c5e6b7e7fc5b18eaf0ba0f9249eb6700be60e3325853afead8759b5702f2b87a0a02c8475d85678c8c93ba574fe1b9bcfcc1be3dd4bc79e4a2f5fd5a4619c5edcab3cf4866a279cf87564e475592efa0c9356d792744987fdc19091d4724e3e86fb06a5300a482357b407b41a064b2d208ca9f5804b84cd642eae5f742381eca33683d07ddc994edfc796d9c46566ff41975cb1f5be6490953ddc5a11ef4b3166ca28628ec2320b11abd7be5e3d9bf171771ad95325a1b9ca7137cb5d1c6fedcfaf65ed553538dc42dbd3f2fba47f06b10d717e887cd8c4e720cd288bc398cb108449ffc9d8fa70c29b3b0d38a61aeefe70530a19e74996a52d495a6854a276175355cc923e130faac00df3b7648292a3132d7ca24ec5076ffec32a2c04a6f244a242aa548ce9bbdf0ee1a94d954d884d5739d9f2b001b115075972c74891b5374c704bbd2c2d57a10b49f6215649f0937c3ffdddf8af79f80efa9f74fc9afa3a6ceeb2c35d51f20bf727c019ccfaed2afe5be42fae4f38372db2bdca321208e7c1933aeb13e3f7ff9a845448fd46fd87b77f6bc81bbfba451c0e2c0c604343e1e504ba7262139c61066b84ebae25a62a4c95b9478c8c4f17aac5f236cbbdc25012f6f583cc9a5a7af9af5a6fc1e8b0072d145fca4c0c91166e82b40c52b0273ea7342fb58c2240d0e9161c3a325ff31689162036b1f4f62753f52feb0ccc4a51b3e480a25fac5b78bad900e2e74940a13c173e77c0799967dc07dfd90530f494c9c4e87d7156ad2d588678fe64de7dc55da655a367e2bedfdb938cf1b90a8009ad2342fb6e236ed4536972cf88f98de0c3faf15ebd271431972ea0e7c2c607206449ba22ada7d19de2fabedc1bd0e0c1d9009a88f6706266c680c85c88b386fb2cd372b2ea98a6f50f66b624eb29943980632ec17bcd28501eb7ffc8a501bf2f09f5dc53776ebef4f7f7d5fc7ee3cb0feebfc42702f8ede11912fee7951ef48c7713b0b3ccfffd808d36bced151be348cef64a65a9ac9ec757703737b1897d7f0182265f75d5648f4833fe1a5d987dd31d5a3fcd269b841e575a3f768c6686a0604b350fc0ab657f1f03d5443c16bc38777500aa4b252082dd8924b37a514f9be7c26e296e7c70c7253ef52379a6d0ac09156222ccb43bc35bf63a017daf7898d812756f5dfa5375e273fbf71e80d80d23311a263f8f18e9f920e5e59caeb6459f810499fbebb6e66baf047688a262f4a26e58ea1df998477f1eb8a0f62043c088a65c66ac7fae31cc1898a331455a342f2c9d5bd25773b353cdff9e44dfededc85c16cd88e3f73e49ca90f3639d817d7c1cb3210efb99ba74881c3a1f952f811de8b54e0c1b5b5b657c0f6e99a68d9897928aab07acefcc4b577834a468f47a17ec5e300a06c47a50028a2151a678390189ea172a642dd9cc57e89ea836e4f5dc398f541dad281e119fde3e7fee2da5b0c23c5d306eaafdc0f1fe57d2d9c090ba3cb1f9c7880d9819859a36393d0ae22ba9318f711cba0392335794b69126b8125c30a80a725b902366717d2285f7f55bb6512dcdf47018e7f4e23f2cfbd977b6027d2f4f8aad98b0e02ff502b5bacd11e2549b833f7c758ba6839e44e42487b31f6d3fd745f8350905ba5b3fc80bf7c09c2dfe5f13a7bb3bb6b4aaac6bff82204f94cb2a6940785bb49e6496001412c7d75254591b7e90e99806b9aec4d6b28705489f6596f18617d8be8fcee8d58975cedb15856f3e314d9cb029e0607529e5a1c7d913cae7f9bd9a1106f98a0630b7325ad1ad7bac42e9b94aeb1ccdb34dcd80b8fd31f23a20fd2910407dce72bf1423b87adac126531a234dac23bc6347fc36ba06726115c447d4d9f5f6164dfd1fe902a01e447c4862d7f96b1f5a0bc7f657a8b77fbdfa4bd14ed4826659384c60bf2255aefd59f89eeba14c7c78472ccb3418953a470aaf8cd17e97df6d3f48dc679d2f364c84f9e2b857c23c798579692ec1958d48165a55018ddd97b5adffd92da897943a1194f6d4360ca9a9171f8bd1b646524d5c2e11165f5b1520d7804bcc176747fabb4815271ce8996b06baee8904fcb676a4e311838645d7d8a66712be48d187e1e6250433e47819f86a64ec3b8115bbf43010372764b2e235ce81be3736d1d8f3bad6c8b3fb3faa63e68a23d2647065abaac262510dbd8603c9f65048fa4b614a487abe77de39586c60f2e86c51b6ad0c98f160793044d6c97f0510616cb068c38797c9e1dc331fc8d1da46e951cf875360e83b946d947231e628ae114d58b3c9aa727a6a4becc9ce6a7e926a29fe8a1df166b67df69447b2294f504baebfcc8fadadb8d619a65a52dd25248b39bf1257c28c8814541e5c3ada1692a565be877d80bb9bf43739890687b32e89fffed34ed1f22723e3039e0e68cc610ba3e54b1b5aa6875b71ccbc564a189604114f023782a77c816c7e0b930567bbb70249e49fabb4c899b2dc777834cd9d75d8cc97f308ffd8fa446b2ab8c8697e6808c92e812e2195e600947a2eb9626f107652cfa76db9580b51b63645df5d7ceec1ef1cae9d9c76c308f891c179f8bb4d0084bb30cebbef00ebf2398ebac4e8e628f15e7afe7494601c3151318d2a906289e35e0f3ba8d84a21718c80095a79d7772c24eb3adc489ddb5fc37709efa3394d4ebd738e15c68afe6b1123fe916a412b58d0728b4781faeeccf04e275c7536d016153f24ebce06dbae4d8769d9107ee7f77cbfed4b7f8f37cfef5be9b83fd4801bfc0adaf3458d433b780536f5bbfcf45348816c542562e8370db411c4f9e67c5b9f60a55ab5cd753cd4283e62f1242ba7902391f216cf77909a1566f4f9f429c8adf5c94e97e5e33727f44a7be4d87848256bb1b5dd88d627e670f0b27881a5ba2e740129b965a6e7c8fa34c0412aa23246bbbd16327a9003bcd8f9440670f50973620fd342b770052931893b6023ec7fa53eb418432e1a58ef939b738ec1af34be49f97770da6fd72967d768f852fc5cf17ccabfe3215641cfaf86901eb40e78bbaf67a6f8c97aa0a0e357db0b3cfeb9790072907f3c3bd443eb443c5173c14825977c7af0db55af895a261054d7a9e8cb97f28305370582314c08979c0c410cf23724c26bbbf6a5b6670c731e120fa54c185b718219cd0e854d8625a6eb204bfc979a0ffeda648440213b5ad85273c363d3b65606222c515888ae94f62c2871106f9c847675b8a25def58f3ac2da316d8a8b2eee69507bb6f8fbb6e36899569f61f228e224d9feba111c70929fb70ee1cd40735e6505c1280797d8ca3cf5dcfdc13b0a2168b8a9b17213d92f146228b7cc0a5b0108ee38986b2c362bdc16fd1866d6b9d53f04ccf3c8d62133836e02587d0f3b09cd8a76c873b963bfb04744706e0ccd9b89ed00f4469dff3781126d120bc1c784b0a2db1b882add142b55d09e756b17722d9575294afeabaecf5c0d3fe094ddfb62eb778338c7a9d5cbf259f6d08ac720c98daf23a5d437478696d63cc392f6c279b3893b0bf0f0585861f714494d12a5dbe049fdd9577c6928b319dd84d1fe070830ee7c5fe26a26083e3d1edbd2e0e57f443c162706dd86bc42a60f101767120dba1c1c3998dc6c3dd71d7ed18b2c1c3da57f8cee7615b1922b597e84fb048066060cb1525f82f2ac619b70b8761be6f695fac972d969f2bb703a6e782e527df4ee0fea8c90c12120cc000ce097437f4a07d3959474dff6b27cedd5c8b588b01d589ae33a37485b38dc50c7f436a8ad1d57d5be1722fc1d68fb4c7feb4cd487bda4fcfca26be43e5b62929970f95f020381f9b48f55845ad3935f8d6e089eda39d9f14c31d1c4440bf35c287b9b4caf117c6b0012ac1cfc9d1fa1ac851be0fb50e1c0c65f50bd5216482fd3dee22fd441e90c9f14c7b42c6193a2fdf47ceb4f7f8f9f28e52b00cf2b12ea39b15ef1ca4a6ef04e85787368a1ab30ea8592b683f053c474907a702f655d440f3da2d1bc8e65ddffc995e90d943ebfeb5270ac7c4d6f370305f958e6a7187acda6469a3725379f95b71dc320f3544bffcb524c7ea126c2a6fa60af12ffdfa6562b70bacbb15ead78974ffbe426546432dd75ee851e88403a533f0f5487da862c6f64e01f9ff67e96e33da5108fc76769dbc0f112244ce8e0429422ccd21bbf6964b0bf3677cc3b417c6a58b43f45925fec75260f2e652236172fc09ce9d2c00044383e1e2ae7fec3d59aab89c61769626220fbfa0caff54de134a3fe2e1e14a7e993fc2e57a6285777eead4513d806c633338099eef296c11ae48521370cff83ea012cfd84617243e88e55d1682faf60063b4a0481691d790b5b065d9791b9481a6325bd52de3f67d65e89e98b97a10607d2d6f490198e1e41b4a8665647d759937f680a0f1b14a23b983b00ad6ec97b784870b2fe850d964f5d807ca31963c9b3bb122167641542d61aa85d6946c90c713853bbd9aa1a273bab8832c134b9c3491de07aae0376f488e181bcea75b5112c17d1e7d904d10bf5844f7e137f10fdbe12a200703f349096b25c7d86cbf05bca9bca637e8abf8afa67601586f6794587f08546343fc2624d9448da903b6dc59ac14d1172b0aabd0fcff51a0f31397346defffcd52eece7454c8bd9bd625dcff39c0513302c20ad42d47617a40d29e27fd4d7c6fd179d2cdbe7e693beca401ce78032497aa6dbf89f3d0b845ef600e48780c7fdf3f7ac18a30d01543a90ecccde448fb4ce0afa1114d7ad74bea2ba590aa3dbf8810e76227809a551aa82873649d86709ff089cb10e3750d955118bd51727f6010aa5820934c6dfbf6d4042fe8f6c922eeef8e99cc4f1a5dd6356f5a85f5877a5db271eafe803c8d9e3f544cdd54403c452b8b88426afe7624264c9e81322e1b697a5e5316cf71216646268b90c90b11f610ff5b4545309193a92ff740e029812d135e1a69b46a24c40c93bfbe889b26a090f3bfd3d142c33f7ab08e000c044523a167a2308840555f09f8468bb253a455a9a425353c87833e9622f62511018fc4206114531440b0eaf4b30038dcddf171fb032df9ed17e38735ffda21f82f4cf8fb2bd09218c129593663537c43727034e202370f06e30c04330db821271263d57005bacfc71493d9b7418aa6058058dc6b375c02c5300c1fae3dc711b50a6153244b55d338e923a2520ce533d296e0f729d244f48f04eb942bf8be2610b076aced065b83127a4665531d1d11092033ed1b1abfdb11d7d3bbbc672741e0e783de6f609bad96720076914802e0a5782f3eb1386e6485825933d34f7db004f6c73c91fd765dcd842f4d88e6041b2e4e744632fd6e46e48cfa592b5bab94df39584987df946619327be003e509eea11f2bbaa25f56a1ccbef909be6180fb660a9de01960d3c6d0e13d5a137b418a4741aa988d74b3eded6a1ab05f43006db3efebb59db930f878e22f052ecd5707771e0fc89083a4f97c701269b51977d7d6deb36a579bae0df42a5627e81bfd2bba67ccc6e290c5ccc1d07cf0cb3fe7d32f8ce2ae23872050af3bce1da97dc34e0696d9a7ba7060cbbfc48d7131248b1f5b526f5161f87b93838089b14467ee18f9ce53c2fa7c72a72a3e2b8f90745d3b07786cc6ff16c1c1be34c044fa9efd7e31b1fc991616f045a99e063e51906809c583551730a5ff336ec3e8fb2cd1af90dbbf43aa3460b1fe2fb27084930a4b4b09b64733237de23da8c2a8dec94a1fc1efde1f747217ec08d0b88c1af36d78276e52826b4679505560d5507e22ef598c84b0de92ce36c5492362400004162b9ea9730bf1d73ad404ff6298807903a67142fb27aacbc2929be2f2b6583ff908c665383f27c2fe168f87bc8e6f66672ab5e111b049c6453eead1fa0889b6aa5d2e71ca723856c05ef1a0ae2d595561820022b4357658d125a72557130fb41ae86023e498f2040464370a8af4092f7ad01eba518579481a2f9291889291d22d56f9a9bdd360e3a18b64f11aba8d8f598eb9b38c68d26845842da7461fe4cfedf5964e9c3dca692d549518d068b3368281a7e6e2410c5d771fe7f98561164eff0ae40d364f7f8d2b96388c7cdbbb5305f659935d761530970bff8127fe7269dde385f063f171e7f054acb84e4f85c6d548d17057a9ceaf990416e0985183dce1ed28522ab8815d7e585460b31fdf3f2c70a02d05cbeda7702fd0189ff3e68321e2679e9d78f9bff268901300d4515a534cea7e4c936a3ff8fef7e19fcf0a27ba7b028dc9f333bdffce7339be0db97372095ce99b115b139ed28f086e8f311cf3159465f9bf780c580b030925e2393c351b79f1e994037760f5f503e607bcf5c9cee1b1e8c181a59473d17d8de094e9168f9fc81c12a6987de98bf8e81234e4bda6b0ce57ba2adb45a08e11576c0744b6d016747a7cd43dc4911d910f25b05ac02b00f39aa7d9c0516ab1eae2f39f058b0335ce5b8d25f771c7a90465bf42a61fb56d82aaa869191272180e265f16f33801678297ee30889980100f76c09cafcd6dfa8c20df663006d9c2370d9dbd2673be28096b088143c08a3a6adfc391e59dba46ecfeec09c18e2ad1f3310e8c0f0ebf237b0663ffd77a1bd2d3ff7abf8f2d448db78de90afbd916dbb2f1a3f610c94395f7f6633ccfae79b38698ae0e9a798a6bb8619698ed8f8d013e5f9b418c3ca21d6f9641b3869bad1f45693a061b3876731bcb233225654c0b488a72a59c87428f28938a60d01380a941fa35d0c7787ac51a7cc10defcb8f92e405ce67fcab9eb526b25c3fc690e9ded3c0fae000bd105aeff664d4cf978a52cee74b645a7ca7aa71b2af976c389d3e03bde7cdc90874abe5baf5e2f149147aed7dc66d83b099f176e87687390fc5221c952a6a8b7665b70cf91213f56d93e825f3274abbca97cd1fee151eca2a271e9549a42acb142a0705dd7a87263de4a16b876a47bca029ca6dc9548bff98c0446f60969a9f0b595663300fa45dde5ec43c964948e15861c4f12e8558461c239e40499f050d6079e07021654d2cfa5baad94dc9f82af83d0ce297fb643af7481960c99c13d790d3eb707b7e0d1e3b0c5aeb056916b7ea306d1804d6c7cfe60f8f12c7a324c89ab67da82ca0ec0d34d31e44ae15ec3693b0c775743fa9a96c132550d19a064762595059bf52d7b759798f00079a5752ef846c01fb437a40e92537d2bafb7338267764bb187f3ff40984af04776df0c5398430c5bd0e5b45015ed277368037d81057abf2ddf11f2bbe4b92727496d3e2026e1cba1ada3dd7f36e2da086bb981dd42e1b6891662e4cb3dfbdb0d83d3007ecb2a95780685187801f221e3b2b54167e102bbfd9756198c67669f30f2df704c97638fefb8b1ff36da2efd54ff508cde8a290288c103049de49545b7a67159cd61622e94b7b91bcbe97e8124ebb79999cd136e824c7a2447ad6bb916cc0358c8eb4370d3b9282d7d76a98f5d4c1c7574f5df7a33f1f9b089876978ebbb0559aa500fa3945e7b496bbe63d45b24e49e88eb12a96b821930e1c5bab776c0b811a320f0d17319a67f496a3c35766314d2c50086386fe5f400ffbea3bfc7b96eebc65c2d10e0ce58851cd320f602a79baffe913fc5ccbb42d94c96f8f08c64f70fecc5a84c942c44fa68e478488c5a1b886917fb914d85e763ec7a5fd9db542581b571d5c7f55a046d9bbe264d4cd82947a3dffecd3bd753c47c4b5d12f4bc43f775bef825df11b390cd8973d3685204356f1180943658ef224411924860301a1c403454f69cc7db75fc222f40a708b87648d5ac946774bc84c3e9ccfb0f6a1ab677c2675a4cca7ae4d579fff5710bab806db2d4f54106d26c8f9c0c28e5ff083841006da5fb9ad4675c742e42d78c8639350cd337bc797d179513671966c79db3fdaeab6782e163d2da02d982d04efafa24c6067cc73f2f8d694dd02919d2b9aac56389b0dc31ca20b1164fbe018386392be0adf4243a28c91f0bbf5be773c97a824bcc8dced23df2de106b60bb0001618f4efcd3bc1cae7ec44990335c4922df6346d9d5842f47a9efd980ff1e77cd60b6c1c8e9185e511ea97ab174d0340d0551b370c119f4f4d3831ddc82512063099d7cc59c02bcc7164c816fbaec40a6a5f102e30b3c90becb0c6c4918fff5dff37db711c60b192a952debf503722b27f8429bbb769729b2fed03edeb966a989ac4a422b52013cf435580fb76133a2534156ca485ec589272f3eb0bba6f0068d475efd2b41477133a1619318365018efd2a41794c5089b3e8ddc3c52129a727453c5b08c3acac521cbb5e58db0de5841f98111280672ecb37c9ff8f423930f457db33db0dd178f4c4ef2a34566995c00e1041fa6cdb48791035ccf9410c46e15d4cf1f4c5113f499807ab80b7b368762fc2ff551a9137624957fa8bcbdd4a87b16c1cf0ae34795dccd962688390dd52f8e41042be782b859d983827b838a19e1f153605d8c79b7b0849d3b0965b2c25ba6bb82193cace597de5a0a6e09e5cfcc46f6b9964485a606d9603fae25093ea4d237997f367b53cfe7b4dcc12cbde4def3452e15eef64e9f9ea22730a17bddbf64c154e649f36b77542bec74dfa30c2d9bc6b2f17e6fea3f3f83e80dc08284d93cab130c6b8c5399f1185f1d585ac16123ddcef4c084b0faa4d9018aa9b0d89982c32926044c76bf0aff1f64a0ad3aefe967794d3fc6cd7c0844ac3500ac46179c80e2be400f760627ed2ac0ec4351f23fceeea6a464a2ece08f85ce1f5af25c5007b886f14267cb83f362c4251b35a563b40181708e32a572e680b9fe1ef230a82dde148c9ea9afa1d14e78654e2982ff342d08e6214d46911286f650918734aef08caf8851d369be501108cef37ccf660853c58444864d9b255fa359479770474436a023069a81df637343f3bc9ff8c8533f6dd26a351346f22eed5598ad8bbdb07a0440013d17ad39b2f79659f21888fc7ff9c730c2540bd0b3d3ea5924fce10863d0c283bf0ac2ab6dd1cc6c17f9760d986364c3289524fdbad003788f5f5f1f5b4cdb006ad6e280f67c52c098de736fad1a860444fcbe1f0461f2364abf165e811492c5dddcafd7600a7e387ec98cd4a3349f384a2bd8b3a911cea623e2f5c35eecdc0a235118cfeb9c1220a19b7fe2f0ac4c928fcbbb81fc86bc1b45cafbd1a3c66f8a98b8daf9960ab96bcd38e46be234ca1075a20eaa7ec56ef4e86ad51fb961321c46393ec25a4e34c2aabff8de30fbf34305e3550b35779187b3e3abde5c009d8332b57fc4da47251cafd1b78f385814b7264b6b795e15479a1e9ffc7cd25a9e112bdc8eab83221e155e9b9b80b068e5fd88b82536a086d5bd8479f330166ac9c4fa661aa3bdf4beca27efb936b16292ca8c3d8ea9f335b22d90820ed1ef65e66d1ac138eccf57becd28d656ba3c100cbc1ad36e92ba800e6415a8fef589844eff827ad5cfe247a54e4156f3d24101c79703d8c98d5f266903debde226809656693db0433be0f7c84aba9aa7d34641ec3252323e276edd37d5c4db80e8db9e02952f57963b13d0cf41cd263f7795f116aac20bb3c054775a24522b01dc400f6c69658d05efdac2d0af16ed3c0ef50be4edf17153c70c34f49daa58c6c13ebaf2a3a73f59e645e27aaad274930d3f69cb07506067c281ea2ae46ccf6c3b0e242d78ffe3ead48d9f55c5c69ed2358dfa1d1853ec42d52ddc8fc239987d0c8b8519e43866da5489d0ed6ad36a420285533fc84488519115013455d54a13603250f148b9b2771f015762030863afe2c10d263db6256146e33486ffe80a3b0c312ce8d0aa35aa01e63f2cef9e895831f864e77e83641e80aa0c50dfe5a407b0a857a1ef61e8614d11366ba61c8122be9ded1cebc7dd647affcd23a67e3bcd5cbc9d06139b643f9d0f52e8c7991b875284351ce8e0ed8956e525acd7ab3b07b746e8eab07e7711b2dbfa49e5748b80405f7ad751be9f6a6bd5d98bb8975dc3d629f19144734e2a31dea016047ed6062b17d85ea41cd1da087c7dcd5f58aeb3927697a729519bcee6ae8fadbe2bf6fe593719a15c2a26b348ffbe5c7b5f5fcdd298f20dd4a6683cb033d0f933b3498cacba2f421830b59ce278e885622369f0a5b0149e92dfab86f88f485c49dc6f5d162302e16b3ed2d553df6bf26c2dd681221cef6da8e19ac278ab92e002836051424f1b6ff37f21ccc51b63716b1af7100e093867e66aeacfe069076153998a1abac3e3daffa27ff8916dc442a56d08793dbf2886b6f4db458307944557ff52c516c2dc6b2807065dc96f13c1c21f5720aba572f8317be8ca038c4ea1aa8277b6eb3a46c1eddec21e86e749124296b4ee88d3b696ade5ec6a4e091740432f0c330315f5fb52a450a0c9b0049401f143789917cd093b90f17cce0fc0a85f0f6e6d7e32406f5cb4c18112b42d804d97f6a6f410931cf2da77583b4fe1be66a43a1a6ce69ce1296a1ce4ea769eb52481393343877616a65c21c86d4bba0b9df7753433fd9dba8feee7b766644831a0addaf3f9e8f015c5d49c99acab49d78e6142844f1795995b49e239905a90ebe20491b6e612d53c6543888ac56270d9d7dfdc335630d2d6ec8d5962c6239f4f4ffa3e250700cae8a316837848ff0422f1b2d499eb8f68a477a841142b70fd00b9f6e7f800327592e4fc2613d56ed57003fef92562247477918b095a3da592caa1b43d1fbbc9faf1d5fc3ad36015ea8d8018ec43f430ead434c8a7e387e94595751a803401b679a2f0e7870d2b4077f5cf7099a5e746991c19cab08fff2ab1915043cc70b4b92eb8b4a40c4c296d9c7554cbf7cd47200e6f80ee0f1d6624d7896dfeaedc5129416a51c9919f46f3f09f4243461fd13891d9d367c6dd8778b332b3c0948c423105cbf2fb32b26ecefee18248485c5e5bf4c72414da87d200a95a0c3caa15c7df010a31313a8f5e946dfb789a8861c2cc97cddf6e8ec7d767d6e0463755f3e9e0c438b31910ea17b934e3e12b76421309ba809b13259b20956c6d37b0acd7c1431ea7700acdfcaad60d5d9adb7d30f3361448e358283fcac3babb0f9ac0034265ba3c0fdc6c6f9a35e92eaab32d4212a7b18ccfb43e8eb1067b07e6db57e33ff0e7f5678aa0ecbd8abfeec44aaf7ffbffb81807e5966eef7f0e00523089a8a0edc9e2493c02d146337db1826b4b4164c413b4f15fee28612c800f87939e397c95e02892f9329e2daf178b81c6c39f48aebffbccbd1d6c3b5b81864676ede29fd83fad4d0b005a7a6a64852ac4660962982744135ba08a112fdb4cead28b499256daf8595e7c0eb8f2a76ed787f3ac01d94c118dbdeb57452beb731d1a277a89559052282c58c4f263a89d95ea0cbf3deacf25baf37fc0a2fbbdf0768ceeb38d1cf105d3bf913b1fe1a7d875878b90714e1fa02d789a358c857d38cedf4ca3e5c1908473ec4e02b4a50b8b2a63814f71f7fc1fc89aa3948fe44e01aa097234a52e05b252cb6229add0745e12c6102df4974b30f164425d1eaca6507234b892e5a0d190db3263ec3acf00fe1855c73a3a46f7cad11a34a8e20480f364318ccdd608d1c8844191c33b8eec158391662ed5ac2f60c3748e63397e93144b9000c827246a3162b3ac490a24d7b60f171b84f13a5acb17e1fcd9001e7d466e768ba0383ec348e1023ab3b5b423859863bc600eee6fa0647a1b0280ab0ea8e825463e9e670da05c7a8bd40001047b660283a7cb6d97dda449e494edf167c03f805d2cc1681a824def14ba46bd7709a58c674fde1c4eb9f4e2991c56e4f0d7c72f0775234b8827a426508e124179259a3e299da91e7d19ed54d07407683b6f9ec1a174b2e790f516a2ceeccf4e433b5338cd2ee4564a48ece8ba984838ae8ca6cfa0a6271019568f72e5ab7c87a01237af7af501f3372fb7b926720d027c38997f44ce075eaf3d9f384f7aa1d7f4950b44e0af71b2469d75dc520b23a14007230403f901d9c86f44c1511336d3fe54dae0273fdaf897f8906d3e2ca34becd52d22c9b0b0915bf83ae0df8189ccfc385abef4c772e7a9211651b750abfdb7e816430c0287e4cd38ea164a6588b7acf8a82dd601093496b392364bb224e5fcafdd17b095fa3c6583709744808b8b93c805f495c89640143b64603130eef056677c0f53e3ca067522845748bc757636101c4afe007a092f80389b29bd2bf6e4dad3a1939495522e7776534f20ab2e68eb52012b15070339d179e43e5e711a80bb795f142dfc852cd8129c13d1421b166dc1b874fa7d3833cf75f9020d7c133e46843c5b8825060c835b4bfcf8aabf0ab0101e1bcc7806e6f9343a0618f0bf00081e0b275f71dda5b82fb7141b7868a13d8cfb62c8d3632309104e97080e80c629b7d35a1389e8609d5608b799b474dbcadd67d73a09a594530bbb58f9e332eb34df54b1270ca4e69a1970899f49bcf741c7bcce5aea7260dd4a8b3bc4dcd3f8c9a4df14f2f168a59abca85a5847fe77c7e0e69157a7b5e396cff45f984340dc1f691c2bda83ff6ef9ba083302d00121166c3c8ab9bde4787b769a57d3683078d77e55f5c4fdd0a8e7932f2fff437979ce1b965bbe2555b33048158551a1d0a0ae656ce3c8f330a594376c7122c6922b36b0c9d22ba99c280895deb13f00d6f783e28436189958c17872e0e351f5a1c2e0651423676627fa577d3f56a7d8b0967ed7c3221c2a52a8128b244d201c367f8538010f00ff556524052e6cf5717d99be758a9edad54029acc75c26d644650875ec27230906e609af06500a37cc27f26b31e01453834a6ccca2d35381bc45f6b617518433f48f001ae2827c915c071d5fe7992093de980dbba9209e54e228a9a1a5693711d898ebe04f23ed7295ee20895e74d968b44fa1f074e055d1f8e370d8cc0a7b5cfd533b1cd3c8355c99b9f4c716fa4acc56ae4a5c2a306794c3229d0f1220e635113eade76c87cd2b34a0853a09b893445c4dac9b5f84415ac09d7e48bc3b602c4d7020f4c915e43c62c82df1ed6fba01f3d7bb5ba31037ee771d2c2f50e1a45bc8d63e639a4f36ca81feac4d1ccdcb4cd924c93dc6204e99cb5aace65b315e3967f11e0d0404e5a6d757361554707f2de112a28b1f6646d0235e94d7990db41dad5049ddce37a088260465363248c4101fa7cf02b8386034fef7cf21042c3010f6c37b94d777a35419190c750334fbd86007650abe1a9ee0f4d2c25093138f1724fedd32feb021290ab51f58e132a39b2bc7c18c64717dc1cd3369cb2218d46ecc8ffed836a4c4066310330a3cff4ef2ccd24d64da0d6537c43542326ed24307dc39d5892ae58b3724e92b7ff047cfff78ec2361c41981a0d4eeeb14d6770cf4ffbea6a97ebc009de4d8e230117177fa0b293202ac92b94c137b770718dc243a3dc6158df4b4602e5b5c649cb103a050171e7d555ec3f0395827dfc304c76cf104d6e1e97bad76cb41ebe969cad8d98c15a067b0b19057415dd94703bb1c41878452e1d9593437bf5df3c73cd51656bc669840c90841b3c552bfc0142e2b7031b400e5444c51a7e499de3bd9578314e609f440619f917a9d1e1b4105652653f0db7b1899e3f2b741f99d5bbd7dba50773ad237b3584949f10a796371b0027533d64a3d23f5ff3edf4470cf839ea714bcbbd93a4722229f2771f1e5dc6d9308ec7a9a9cfe7b18e39a5a15990da0cf21c615181b6a077a16104b2a6932685056d0e81fe2a210317b590a333788063e0db7d72ac449b8dc3d99d51a0369f5b4afc8735c1a262dccdee9589388ae095ab8c3ab2ce07844910e869f7ee5b2a13a817c85e08c52fd90b759c4eebb739602716056c1f8704a8096cfa47253450933351414eeebcace8bb8bd543c3a7c3b20c4d4a8308b6f3eb1ccf756c537ebefa2f8f092e74d70ca0a819f8ef8f01006968960538cffdcc2eb2914613714ed150c6d59db379ffb198acadff21e98232c22c72abc0ba4c438f89f24055f7e3f7b0d4a1e57a0e30c4db001ed48d5b1969745953f122c2a36be10bd8b5e7ba534e39183694cf5d9a099d148a831422f27f225a8e910a46c0fb99e07ad50e4cf42510467c4d87d8939cc5a4baf555c4aafe39ef622faad149b1d87c8a239c8852c19722b8dc1c32c4df49c92eab6ef6ef1470cd048fc41701e516f67816d434af171c468c59c66850831d6c4485a610556798acb6499a4a942e76a9f6bc17c42dd0390c865cdab319c911ac25521b8c57d33241bf2c9f4679baca8f4edc552ab0fda1790e37f411cb51f04a578f6261e5141e97f69e60c33a0e6b19bb9e579dae48e0bd9c0a2d4b399fe6d973787cf526aafe74cb62c69fd20bbd728ce421c59bf6c0edd72dd2fe61089c261557000bff6be5e68d2400e47c134ded3d97b43688fde0c9c64bf76be0e0ffc30d0f8f3988727e526f5d22ca08c992d07b377768eaa1eb75ab738e2d13ce705c65b05954c350bb704fa2752f69c5e3412f80f84e77fe27316cddc2ce0e56aa068579ec68f8c426fcb4ef9fc987d209f416fdeac6a1dcd0c100b9d7058eb64a8004cca5ad2ba7121f30265c544808c4f9e8e23c3a706cfba280c517d5a7ae5076ce8257f705012fcdeece313090e63d76f7d41f89c5f7bac8abb807e103cab01e84a2f1e5c9497bc3f691417d3a7d8a0d0cb0c31730e0ad33cb6fa414fe83e229cdfac0e0a3083c12058b13ab8b97572bb2d395d5d67f9e293d7a13b7552ea79fc7330b1980fe9dd6aba4e973f65c1e0600d6832eff95cdf9914cd5396bdbf0414e66acd47d2199ce507f8a88f9adc42fee3c0a02c664f039d71e43ac8bcb3c9666afce15fc8684ca93db996f654e3bad72738cbe9369318ebd8bbd686fe04d5f67c4301c03a0bb17eac8347b5d3bd79345f1e963ea82131de2f5ef7df5c7360def07da1fc1e636d6ff2f96e49e3808fcff0ff3347a51b1bf5fddcdc2f2372d6d3c98623491273df2b46db01b970f88ef5d7da5579166f95f172ce3c45b5d0cc7aa2a045cb8e3ad1e40d67f3e7f3d41a1fd0b772af61e53ba2fda00001c0b18e71a33f1a30b534e879e41cf8852ec0b8a17cf0cde810b5c04161e683dfdd081d88f6c803ebb7fb0aba0dccc9f69baaec365e7ef1617f4db53326bba38072066623418889893210b0b943d2b20d305dfdadcfcf235d818f43d9680408e9942d1332efbbb79ddc510c58ffc57a9d6eb1bcb6c11620c2f6f8e270103286c995da6d36b5279f9dcead10e5d502a0b0aac7f6304caa0d45278994724f6e54e6bf17c6f2acdd3ca8f1d6652ec545cc00ffbb0a32b9c59400cf185fd4eba2def5d8ecd600f3943a4b7a1680f0b309e5ced8d344ec544276d2ef878e3e675ee48945f24698789237637f3f9d651e3bfdad1ce48d2d00ad84549327897f5b25888be64bd637545e1c8b564b5a7bdf07bd8b20498348355d8122b21eeb5c65fe377a3f32197b2949a78415b1055fa6b0aa8eee6a7032f8f2226dd949d589b7e2e7ab333f381ef219f02221c6c710b386c9b949fd84d49419cc2e983dc5751fc9972303e734f283b7088b050e1ecd80b3264265e2ed80b66cb23899cd9ae337358113da2c0753b904eb374e1eec79f409ad440ea144c9221e13c6b9242a0f87eb36919bf45356e36098d6cd8aed3613c5e83cc931afa4294fdec8d41618dd21f5071536140f6ef3cc396d709b4c5d12d3f30cf4f25d5bba9a607b9fdcd182b5be44fbe042b6a9860218e63e020488ecc9bbb4e21584b588c035ed348e866665aa1143f9df627c85ab3737d8d946f2f9a5ce405b9d376672f88c8e51a6b0e12d3fd5ce1f30ab4d805b5829c2886ca8216bae7481f6ef12019ae8c7e70fac102aacaea6ca2f78310c07fce35363d9795995abf7594ef094f8d4ab12b7f3c78500abd08f233abcc87ae7a304cc337702136e09cd15a4d7ec30be81195a09289629dff668b7f765f896be57204859e665d443e3235615288032dd0cbd127870bdc6043343b08bb6ea8a43e4f3d623c4e744a3e5c65f30a62f9d609b6fcc52e61daebaca385b4792b1cf9e703c264f0fdf4a84a42e3fab7d56285e170160ac5eda11a893a8369658e0df2d96d579c1000118eecf2a1d8a4ecfe53ced8f4b00cf8ef25fe21c641db2aff3860f690bd10d819fc405cca0f555495651d1b99c98d5d1aa363f53f7b2290c10e008f45e0bd8539bc4ee16aa445c119da40879debde9a76215a69506a5fa5c8c6fa984bdc14fafff0a8993834ac41fe7df4e650cac2dce6e79a366924f2ca184faed07043b3e33867a79d5ec4a94ced3505dc4c8da0b8906b8464612d4a8928e3aebffe62a3d30ec4eaf0e324b0d1ece7f999f4b28464410b9e861789ff58ee9c9d3cc66dda3e442dc82ba9224c7f2a5ac71398fd487acc46b84705072ca003f0a0068c6efac309546a4e3b68f6afe3820f1424419f05f062387ee3c0c9cb7bcacfa79abab1055e72cde1853b071c328d30925aa656fc5536cb9c96593e419f3ccbcb968b8a324f336e3c73bdf7213f4e4e24443956dc4c11d1d569a6f3c20a1a124dbb4b90358bbaf57e3e561e94c6b75b233f1b39aff37b90080fc19f4025d20387d42ddf5fdd2c61bddaadc00d097c1c36bece40c4728556847e81c06b253b7ecda682a83fc0fbbad0e2a2ca722e6de8297387dbd043d6452048bf7c138692c2fb8339987c037c716da2a253116b998ac2243cd57ec50e0f3a72db956b9e9f3c9117e457ecd714fdde2f25dd806e3b442d7b18f4b4600fe92de466c53b21aa5e99e1619a3b494fc736670d9ff38470c9b427462d5975215319e24a6044fdbeca02fa019f05218b8bb62c78229fd7b24c5907c45331e10295d5c433f6da608415b4bd62dcc9d6d97aa9ddef5c8ad7581fe5853323ad7f079354326ebc216e3f1ff9104251aa5c3d4d9761b864f8ae20c64ecffad484e6522ed7a900cb20bd52944da4cc99f143448d7dfcd4935f9d0fce36150f2ec383112cc0ac742c2c22b0eaca203f6155f1c0b0b034edf9248d5b76f287adcecc38138d3f2f66a362f1ec6b2105b566902aa70fda600d16ac178382cb995cc71c3611623a1fa2bc032c79ab467a3d252de1b7c6f43f78fc9c8891731d88bda7a816832ae813b9cd14f2972fa7d0e222838e4675b290540227849948bd2469fba2367e4a086567b7f01a2ba262b0143c14d5c9b81aad5bf5fac3cddcee9d6bc65408b517edf059d8c5cf0ec7abf7d3907f43e6d79fe353f81bfdda0faef557d958f60c2e9a95d694ff18c0d3a3fe88c1812b617023e3d4e19b2b68c7bb5780e04b163c1aead4eb2e33c954a42bd311f727e28ed54df617d655e5f92f11f172aa6747c51fe5dbad5ddf5e079782717e29d45b87a9c6a6b36c469c409f61d98274af2c35b384023a6ed1deb081298f4635b771eb31dc10b05569e76df7ae9c5fee7e439c0fe071bf88630df4058df4dbb8fccdac5781f47cfcf7b2f3cd1fcd2d6eec611e2b91cec999717cc221db6a366b29dea8a452945bd4c1466158ad3da2f3af6d43dca543a4c93633264f8efe8384d149b44089d07f3a40cfe9c292288202944c681a3a9e20d193f63d78b5c0ca5681f1aa36d7ef175236e0a70a256375871a83f9d80c5f8ee58e46fc5f1898f31a293977097d59a9054b9dcc1be82c92df4138ba66e4de207e24a0d61f3b3d457a43765cd4b7678d2783b24cc3c9d1da4bbb3e1087850e8fe66eb6ed5bad20087cfd2032f588dbfaac15c0b2f04a88bff9b22823134e592123afdfc57b6c64d8a9c37e8b07aedcdf0c11dd11a6bf6d2ea0f72611ab9336a12a8b85ea39781198be4cbfa544fa83b5751869af6da34f677316d37920c7cd5683bcefec647e12c2488a1dfb95f19e83e9034a6d7b204ff60dbe3a276a00cd59b3a1792f83cb466c672047e27b9aa51875dd379721e0944f09a0bf65cdb90728b5dc5848737055a9b3159f66ae1da01c48e0019e8d98c6564cf3c88899ffb4b75395ba9e82b172335deac4a63e0ecb7f2cf571178618cafea8b00a0df8efc8718736d7160c8181e62025da032ce82926adc29eb70308ac1cc5627af0a8a6fe6d7560adcd9ca40c040ac3217ec3ba6a02516aee89cf2a18e510f29185ae809c4f9f91dfdda39bfc7ff983b51d88636b41901b94ffd49cbba3559fab3c38836f7bf628d0465704b33e64d36f903ad513928e9827bae3bee4c44e944eaf68c58252689e1124a68b80432e03b3344425a5be0f7c4e27e5cd15960c39bb32c1cf5f91b736d1fcd402a6fc50c7452f04571b4bcbdcfc1564acbbceee024ea3a09960ca0f06286ac2b0590ccea15602e85d23efde4bb75ef5cc073f2e7dfb07c2f01c2c6df16c65d63d740d6270433ee390108623435084787850fb859a18481280a5a1ce3b3501ae73209b4d3ee658d1a136399206949386bb3c204922ad5eb30290c94336fb843e1cb037ff019a343f6923fa477284ab036ce691816000560861cf17842f5b14bf4fa74a4c186680bfee25930005a331874b37d0c3a55b816a7f1078d7319f0140a000db83a66281110e0be92e602fefc5e3e03d50b00d8e1380da5c11e90d0a07f88945e2dddb7681fe80b09b14d37d787b304186d7a809af2b6876393cff69830e30a127a9f414fb8d8d7fbc35db663e129feff43869815adf4091a8a9c0696f9f54c0bc1aed00a2edd7633adbff6c19c1f58b3c03f73956beac311834481fd429a584a686872802c9fc10071b9b7914a14bd228a9934fd886a683b5be4a925fd577d171198e53fd20de871e9fc88f6c19f8ccdf44ae11c18fa0651421e32fef407294b8cc1689260c4df7043789ac2bda3f63ce02abe6e7ce92e8e64f2ac880e98dddd931e9bbf8eeffb455870b7313958a5d5063254a615e83a57032a91e52949e9b6005a7c9829c943aea185c078ca0248c24942d01196b33f6e9d91922e4f00d932de3ede4395706579871d640e15fbb57336b9af1366ddac18bcedae5e523f69ccca9ff6d787bef94fe50c81739afd0e20a3502a952c0421c75bdede07d60d429ceed5e48bb23af0625df89a23658a5fb9b9e710e5187f71d04adf8240a5c9819e77917357c872324cb6e785d4fb273082cd29d2e76b2b6332e841d34cf71ea248de0578fd127869fb4e0d12c33a1accf1058283c20418a286da1fc3f8cc4dc57b11edbbcd45bcd964348ac6ba4b12f0e60a6d4d0a1314b3cf4c8c584663f2c9b060f513d2b407e08ea09e087a2775cd3e740079ab3deceb0e54b9ed78fd2aa24f731ed8cf4a25053ed577440e0148409db007ee6c325c58850b589f9c48bb1ed7221541cfbf56a848fb809d8740fe73516e12876784e2efccfecfa060a56f2003666a883f0f7db2f9766c4adab8ce0685e4a6285c8aa46f2c4b7d42c4f3c6b70b6772bdb3c965478fb206ac0c3b6a3ae77e4ffed23fbd0cc7b07f6083eddcb14f85837a8c2ee030997ff540113ce1a0d6840389ec83e2a9dfbed129036f4a42100f6028490898a37d896ff0636f1338bdde9780560c83396dc96c4bb8b30c68270ac0285bc47d2bbd25882e6ff52c2c74cfb7b3a9f99763a6073bd12a33671343d00da61250367dfd4a3f032d96c3b418804f4d57b3afb0974667803ca609184b1fafe804b22af275fca193d7ca42c2f4d3ff742101e995d1c23831ef61093d9f58f8cfe1c1c3a67e02fc98be517c98c737d7e161aa8b6ae536b4bab12fed0b45e05ae3ed16d07fd7627ad90d1ae295f7899ed66ec5930a9e9909e2e9a28a400ef3446fb6810a15bd64effad364fbe4d592f65d0e6ef1bafd781054445c81be92a6f5d764f6ff7b82480027f70917fee3f06a3ba2f25b20a597eb7ce69b8a36584024df0bbc41eec549dfbb3f995863a8fda5ac5572f1812e232065da7c2678ead07e6df06508efb8a2a2e85cc358913875c9c299a0c4bf1cc0da7c62ec1a091bc98e4a8a55f5421b72069972e08cc2bc1d71cbcb6e1f0d42b9fa2fb7705cb54772e1347939badb6dd271fee1dffc1be3ceffe72ac9724d4b1e1152a37577eaa5b93226ce046686affb83ea9e363360cf1834e2e039f97a78bcea4a82ea7a8ad7534b6460889a7aa48f7b110d39a00048e52035585081d9871e26f3067062743d9949dbc48823631f3ed8eb53383a9219903aa0429cfebbc03987fec2127b3a1e9982847c3c1d9c44de621084b880096c758d8ec2ae8e481e9a20f91d2080392645ae4e220c401d53f5ca51b6c1e4a7fec05392ec123392a58029a7aab059fd215a4e9d9b4905c7f60daf91e016fbdefd7fb7decc8f0391cabd4f56d10ae54ef65dbbddc4ce5ebc3d2528dcc2bf0f11f4133c0d41775be921bd078e8e55485d351c0258e7f1765b8bda332bbd87eed2e38a6c0744f23837cc879fcac362e7c1feb78b0e75f953c226fbcd065c97d7b623c3627532afd0dfa275232a440c7ebfadd1420614808ca0eef160e20e3ff751fbd2513d57c8038eb4b0d7208717d02c877ae2e604cddb687dd76bab5aa71d8276534576afb4a39a18fa82c362f6c40017f04d20bc3e9d6bad538dd6e5473bec3fb04d740e91f30760f5d1727d4ad133fc5e16f985f3a9efa5c5edae1e62e3c1e82a09666bf202fda61b7d2d7b7fe271233bcc0932e00f7e320e5e45d283409e8c904818ed6609cd78822e2caf2738a8635ff242cc64fed19271aa0f9cdc042351d468539f64ee9924770173b91b627cafae4800531f44600ae3a968f321052f8cea3159a64cbc763c3a90c2e06facc9dc51c711fb40a289f3049607ecd58f8d2e17f66344a02951b5414ff2d325d0d17638d680d5ccd31679c5e04ebd9b5e96ecf9040e6eb468e22e46dc9d78f7c5102e258ff141f9eaf3a80c940318b49b142ef3020c296cc8d92870cb8a6e20809772b93c62a8c30e34d3adb6affd9001fd8e2df209a326b8068d9a9239e72f55b5e1e177b44d80dde7d7e7cfd217be7c91603d634f673d2c3afa933885c8e7f0f460ad7208843024f6620206e0181be870c13435f3c3c545565c7f19d6c686798007915f20e381e13ee86d2d3e440b1061e6ed769b51731feff53cd37db26e4e3c9a3e51a405b3e27e7cdf3256e7f9ce90aca843eb364cd4a5f38aed60c6eda872095bab1d10e99e621c22afa302d5b573bbd6fb80d341382d8814d86ff998da556f0ef3666837fa06d3dec539863a400f2a8f8961c3a6c220545b0c0ae8a43764446812e03de516b87a64f4afc73b65743531c65c59cc33830deb743d58acc7e7478eee991f08852e3f1ac493456817495b3982eea5079ea9ec3bedff48513ecf6b88ba6f5c63ba08bfdca4276bff0fbb504ce196ea87af71fec6e631b318cf11e58b9d71ec7b31a04b729f5ab50930e7b54503b8c518222205a47141705ca5165122ea66f28d8d3396c1f0c46715b1de1efb5980c5bc55773d882862b23fe6e059088e282dbf683497754711a767840c7dbf8c6e3310f7ffbbe18465ab06ce0745b677cbb1fb325bfd5ea9130e86983e47d897c00bb550bdfd0a58fe3aa82dd3be843f40525c16a41d8fd6227cd977e18c44778a80b133ab8b98d87008afe0430b0acc258f1a8c818652797a479f7454f928bde6fc10caa98cc983e29599d0ed0a611cddbff48e4e0ef251533b2338ccf37bd6d2556906a91c0b837cafdf4c58d11a119dc0b7bf0f447d1832208bf3d29bc873c2c4b874718d34622ea470fa3fcec6a8eaf2f579ed5a08ab41509fa68f9347826441fe9959ffcddc89df51cca6fc17aeb973b1b78df586ff50085244646a18c1bd07f7630ebc1fdce3494d103141f8edbc7163cb3321e05824e14a5758472cb92a22c48f14f44da99df93187107f4919a88e842ab57ecb34c7e15c09f98fed88eb5c8e8738af5f3662a567e7e7ff3102c9b06678e438d051382b059f266d71c1c92f7eb6761c1a6d2522042fb33eaeda5feedc062138012fe85d3652bf3216ab115b8ee3437bc495d79cf0a17a064322aad353f940968b7b53d70ce521dd80871e85a8bb5ab23c01edbae4f176448aec577e1f9f8eefbf8290053110840c982db4ee6def9f1bd507acba36b36da62196204ece9dafd876035c49454a414c94f392f209ab2b1f93c3a04a3115947008a0a04ff8e7c407c0cc2e60b86af06236e0329866a1615c3f42854943691424c94ba7ef022f32e783d0fecf54be81d29460be27f58e2a7483a3e14c7a02ad9f0fe0e2e7eefe5f7f735220d6f347ce910648478c6208ab82cbd4085b82e61dcb7cc7b87ad8f1dbcf77e8699f90cc4a1c6c4c6b39e69b95afa3ddbd5e5b9eed6b96fb28b1583d46f6c44b8a0a2ff1d023d1dbbb0968d296cf615ea17267cd39b677037909697177c115fe3b9126dbf0973c04736cce7b968143c3e4888b40811ce004c3f34cac3bf8c3009bf891eaf228ddec159f4750fe66fd665144ddce790ded62c641cf9a3cb66dab723a00c6c4729dbfc09b145ddf9d413c208dccb8b134d88b7ce8d32ede1475fb0889f8eedf11a2ff505736715024f177be28e80a4d8185bf4c3107ccfbbdfd616f9d042c4a212bf4678630e8219cd714a7e78aaf681adc4bac2629d469e0f30889c16dc0538addfab9bbd6659eb34ca665ac9a9c72f1bab81dee15613dba9c2aeb2bd7e712f2aca64d2929281cda3849e21e923846044ffb938a843167e75757cf2e23a2c5d1e034fb2cb9bd561075129399c73c0fc103d5a82ea3fbe27ab7099e8778dd50ca8caabc1c6fd4ef000a654ecc06870ed73f747b202228950924d0034b7f5a89d766494b368fed209d32fe0ce64afdcbc1f7b4d06ef1b38e2607d8c054f2870b5881fc1db036c14071169fee9b648bec647901b920e0e46d2bd005b8c4d45351840ae17639b393ae90d64fafc64b7f8b9a31b5f675ebff0c543d139b75662982b50931c08d3a04ed59c4a97bdd2d3807596dec7d5bc91b631c7fe56d0013afb6bbf4e705f7b8ae5293861924aa17b5ee7519643554d724d9b3f44f74e0732b536ed59f671f35ee07c9e6dddf8d213b791abab2807b5303727818bcea1ef3462fa986cec4d946cddb5c6d710b989089178984e41f387a1fba57a670a7510a68f10e10b7b7fe0fc9c29a95f01689387589a9838acf5d0d524cda7b793b308c5abbcaf599ea3c5087e3320c0a6d2e3e24b7897313c8e2559c25fceb69317b8fd90f7a53d9d3fb34a9f4634680667d3a4577fa85c67ad145ab66fbfecbb279a84c3e59fb11fd90f7755f3e3f66b0432ad6f9ae0c7d2fa7838b383d10a52ad4947430e8ab1f1d06868a2dd202065d848c339a4474e28502f148095891a7731bd17d4376ee4e5ed5de6f25fb4438245f37a2b14358f135486440231b9d6441da50eb30f15ef3eff5fa5facfaab3a5ad2aa49d2e0edd63b590b32473a01fc7f53cc6733f6551a72de3d8d176acda1c249d10a72724ac0c7da9da70e50340c2463092e59ddb57c52df01e03d781c0225b23e3733973919818dce0f1d89f0fd1e3921272f3afff788f3ae50157a55e5496526cb9ec92734bd05eb59c2a1cd970583f2c359ff0789d42c8a19114a685ebee110e33060057a661c3636dd9ebbb24db62a6700dd0002cb362103f8331bee366e4ba7fd2aef987750e1c79bf378f2fce5499e60fb303096beb4489fc3cd485d1f77df80514ae8a6213f332c33b509b92404a46846a3d39227d3dbdbbef786fa176ea102226bb833ef2c504aa588e9cef3e347a1b7527f9a25f58ffc6f4bc4aafcefeb8789d74cd428f467a1428dfe0e72f810cd17ed1adeb489de475dc9b45874d444002713eaa594cf0a221378a18e4122b4675d7c1b47cbb3f45619528ad3ea82c6d401e62008fa28254ffef191b281386e6437a1860804f3a9ebaf107656259f2fa5ae4ec3e821e92cdf74d2b150e12243eea332fde19805d467a7cc98a043a2ef25c0c249328e34984207de8e51aee2e7e92b060e065030b81eee3791a91fd0c73c271dcb889b27d9b050ae227a3861bd1211cf6adfbfdb4bdf5e9c9d337950f8ca9cd0fbad9b099576dde21de89575e52016e8fd96627c3bfef0dc6f95ae0ab2fd0a70c3facf287cec23813ba72613804c6faaa3c94771079b3077817f55f30ce22302d711358dba038e67eeb0a394c2788798ea5f2625ed7a910f1b8a2fbe801ed0baa29f3803719034da696eb729f32c0d5093cd17c12e1644e256e11b60cd7d01751d8d2b3b928678cd3dffd1e44e020e57fd8f4f5d25aaffe09601f2930613a10fb4026b7b72851247aa5e85bfb336dbb2bc4e75b1c7ad44be38ff580f384eaf4ff532f7a2695bb94e3fc1f74a1d8aa2fbe668d1f5ecaba0615b1ad14ad2315a97443a88c5c582a2b8a2e06a69460e7c038259a7201da975a1039f95347d7c11980a1c918726e29e24efe21a95b3a62c9606b6d2a8734e886de57c94d34b39eb8d59e5a11fa46ba5b32a6ec6b85156dc54186baebc3c7a0a35a50dd61b6990c5908893360ea563ec235e4662fdd46d26e86b098db9f8734b173e1ffcf8ba0a9ec67bfdb6ea623af1b21291b55cd43b19ea25f16b4bb6fb78775a83e5486f094d0fc52243698f4f4bea4ba6a55c062922f9b7469a2e721dd5e233691c813cb52644217922998f6c5e42ccb8961b2633f94b277ae118ca3215aa08fe8f9bd143807d92947ab2a804984aa685b7e96f9a5160b9222651634bd157311881133a89cfd0d87aef5458b6f8fe2b5429cc2959a6a4a40bd7082cdbfeda3477960fa8769625cbcbbf90e062483bee6ffe7dee8460434d6b5e4893c37b563c0caa5a8cd6f14aada181580e4020090727416e18be6a7a6f3b1ecaae1aabfef47ad97feba7a5d2892e88d3eae8f595e415e00c2e01dee477f1a2733dea62ef6edc259739cda573475187dbafe448d1a22a388da14a696fdaf876207e81aafd7bd8a439da8e568ad458845ccbb838f36963c11c5d2f3ce5978d95d83bd9cb66266fc3f35e0ea7572d29d87d66b0611876bf2d5cb43483d13d8edc4baed79b754eebd32e4c59d15774cfb5321bbb459680c342d01bd371ea14eefdffd5252a6f71a090862484faa60fe9e7587832d783eee58bd082c477f572e2c9a426a095e570b4df168e4c6cf79213bcfcf3a0f814fb74d94a644381e7418fa0b974598af0efda5c4be0775efae1550e850fd21a4c8822f0e1c3a7c98772e2254c024def25e5e2385572458e3e4cd3089e329f5c412d46d2adf46cefc393c2880895893abd236fbc28d718be9a80a0f37abd45dc600d5168ca8a96d95ebb570d7a3d803a0ca3eff170ee7ff9e9a2a8c8b286c54094ca3ca563d415c4bf7b4e380e93070d470b88bb503886ed8b5c0dde002ceeb07ec7a9b59549ca08dfcc20d7026f17c84ddebcfa275a48a5ff32f833a5e347224b6de495e98046440f5b8c9043e452bb9c9fa894edab4f1b70a333fc1741fcd17502cbe04034927dd48e01f53964941a60dc5b881760db45ba35d33ef878504983b594ec168adc498f957aee2a188b0bdfd1eef8696be3c226970e8221833f4faca0e460a9b2c973f97a52fd06528803ddc28efadfb9bb63a56f25efd221cd4dd5188048c7afdf21f776cabc88b69608d80a7decb01ab5a4bc33edebfa7bcc41abee7f404fcb22f156ab0c1254b6fb7ad099d9840e82a5969bcc3588849affff3727654a7ca7b96f56540746d3f87eeeef8d076ab6627820be401afca44935fd9d362f74d7fa39f8d4dba823cc14e74d28fd84e766f28973c4152641f75527fb6bbf21d47aa29e68e325805f4db78ae4300757a5b4262953b9044d7fd715875c2701777cb7ffda9ee71d3034fec6f3ce8bf5011f53eee32e02e6437fca50e73a3e90ef0cb6be9e13b95c136da43dd31363a58b013af8d2b21eed27ebd3c72380904f93d42b027cf27cdc87aa8d664f4ba15f5a52e54342425b214353d86b87fc10a69de7ba14c5b6c6c87a570b62dd5e7bd8b07bc42e74c048eba58f83f1ca070ae4310d5daf4d203c12105ddfe7f8b5f055b1cf03d64610db8a32052ec658517c9185f00391d0682cb8d5ca2dd1cbef69fd9e11d7245e37db34b9136e94d5ac76ec7cdea8421d643f4b2fd29dfde34b5a0b2025ec78e67076a8e0dacd2949dde37a6592bc0155318d526c66a407b79249981f9b536584e8cf2e55aabea436cf36c46deeee5bd46d4c19a618ddb4f74faa2a0a6366f402cbf80a93f72ddafa83369e9745efbd0c1964e842270e619168c0f6501d11a3bfbb73ae38e362ee48f927ce212bf3af6113eaa3f0dc6ffb6d68df9664af338603e306fa336d220dd115f8fe147b67d425fdf752be422774528330e524f77217051a1cbe0555d64fcfa813ddf855b138717e8a652842d0651ba160517046440f2dc257b9d852fcc6a75226bb2cdff447c3eac4ecdf14d74ad6aff1442ec9a328d6f29360a9ae9a8df006895663534c7ae3b8a3df8dad7b89047b2bd527878aba4ae5989966efbea962b4387dc767a144a925a0faa317238fb6f3720ead5977c86c4abed98aaacd4e80cc32140b4684a804c3b1fd2392354e0242556979c31f4cc390ff8e9124650b55bc4cb05dc06e9818d8c2620adcd0271143df8394f6c72912e09d88d2e484746c84cc8c23d5c5853b9eaf0a219cb24f9564af6fed4a27093c36751bc09e168974897af49c6018f112d1c487b920b25da8956bc30a17adb4fc0c179d399767f505138135190282dd15f965177b96f030211f3cf6e67d94adc35618baa7739102e8edd6897681af99bd447b367c25ee3f0301755610156c6584d6b48fe11485855346f0a5d0f6ce331d646e41aaa050367f32693c71b31adc8a793ade054b71f2017cd40e65d457ca480cbf8a97491b7d63ba8a3dbcef0f887df754cf8afcad514685bea058a130c6991468b06553a66ed84cf7132d5c18754cafe3a466aacdb568e3879cb6fbd153bdd57c4dd1ff9b42e36952ecd09c96220de4078ce45006358d1bce84cf0dedc6af557e373a69b163a5ccf8016c3e2de4e4a8c54537cbe6423423a4fa689c200ff67bd903e67de66a0956b9cce275e6021d09a2e122a00d757c3ffe9fe13204d9e96d8d6fd0c4b9729f4bc0a61afc8c520bbc8265d5ee5e205895ec2cbf3c7dac71002b72afc05c6468267d78fad6a7fd04695f8c71025c6dbf289626ab38ea0f9f1537be323421ef0a7470478eb1716c303763e48600fcf6b3a586a3adfd48282d247e8b6babd9e8052fa23ba505d8898081f2c89fe0c0e83a0b5b820db1adfe381303097a9d72363b67d1e0b33f5883359b403ec0319248f9326a4c968800c680b1642185276fbc46e1b44eac75b219cbcc7cae52b74a2ac88545d32d77524e62028055f7156b283f58f3a517542183a81949826c49164f53fe1a74978b6ae1d6c4d52f5c15961df07060ec18ec63e0235a4a6c0624c01492fdc094cd7b3612617470176ccc09493f28206f7af7f13c902af003e7472cd40b9000deabf917bf74e7b553bf23316f02d443eecdceb2bc8a81d3e10c025c77029e7b78361a9934de0bef2b9d1095807381524681e699f84a31f5e069955b3f967a2b0430d8ae19f0078abfaa0c856ea6f41a80e2382ffb155a0df7d91e7a9924caa6f5c2844ec5a002f5ac126e4a47efb5ae9711155b983fee78747ff73797e0a983ce4e9ae7081ba9ebd433603b431670d6a10395d813c0da235c89251500639896eb44adb9851ab40be5308029f75a04712fa9eb4099f1006743084218d88beaeae124c8aef1c2e737c30bef37cee38dc41cc05712c773421b19c3ef7338080b42347da932853eb55636068533b15dd89c0ed1a03fd0a6f9c3af8ad4fa29f74c6d76b14af1a01e865c5f0b2c7e1ee8005c439d3ccacf12d4c3b86b04291b9f3e0378abd775a74bf0ba6e547c7f003e443a79c73f1c0d1d8c75c39449c911fa82df82e9f753770decfce5beeccbc9071d739979c6dc09dde58f01a68e68434f1f3bf8023164f36e383fb51c43bc6af8db37dbf366f268bfa4f0cdbd8739f0ae11f97cdbe95c7ee0f3b85833ae3bff5d8dcf247d90613d2e196130d6bf42b224b5f01fb47b745c887e165f4b786ee4be40728669de3dffb66120fc21f4623c76c222fa80b9999a099f7d648003aea8f7f2044a368ca47de3cd29aeb8d24430c48e5fd0ede68446319cfa1725132ca1b80a307f84e68f8cd8585b0323d2e5d9ced8dc13c4888a61c56262afb1b228fd7f5f353abcf266197df7fc0061e9c5d80c85c07b43ecf0a74b49a7da3c5fa684903eaf19b7ead0cab8fb38d0ecad806b3bf8e0613b7b6f5fa338863ecc20009a80fca4facfebd181ea1983fd2fa260feb897ddcae15b85d4343be0757fc2fae99775ffda13ab9bf7e6a6bfcb5caea27a8bdac1b8cfa2ee3677fe0f20aeca74925e953fa5b3158d4b61ad2dbcbc3c1c446a4de6bac70aec75553d226f3b9e7178264379f13a4ae157f86a83feaa46dabe6f47f74ed229a4602c700bf0f8ffaf474f2b3cafac725e57e477474f9403b796218596413b392005d92d31e5e680344af012cc43cd311a613da5712f2edf3c54bfc2b1b3980f309c725dd12147c16ec0dd07329bc4d93f8aa901d7fe14f3ec001fb18435019c8e8f6300c1fb68e5d13afdbd619876a839d416bdcebfa485b4d40b1e385fd40b33e3be72159335642f17d330280a1351e44edafe5a381edaf58f9e80dc11d3a9efb952ac5849677183fdc32d3a7776e50090b3cfddc649a15a74c7a9cf7abc0f4997090e4456e5e3f394da74d9e1e13d3fc9ec5fe02c7ebdc5ef56687d5c8f9f787ce074ae319b2ac673327c97338ea973cc432a86bc7e5048e8bd5c63deacc85b67e655d2636322fde6917a350be7cd5c03f5ca180b4e4ab9a462b4cf9c3841dfd1044198b8e9eff1d8471f2aabd37a594defe798d0d0efef6a219849f5adc7c81f27bfee068975f8fb058e031ed60ddbc2986ce6af55a1e2a9e68fc3e2cdf26f1bdd1c836b1fce1d6e6f8b247cb2702e34fce4f05cffc703233d5abe2b14cf5f2653bc7a5d198a2d7693a7300db8b46ed9bb71cfec7bfee7f0e777b38e6975e27d5b81f0b532a720ee8ef1b4b9879fe0cd73fccfc1e4cc39993ab6f940a4d0047f261d253e476c2ac46a6a1c099ac8113a307a77963a938479f222d578f8af0de07570ab3b05648c13306a8e00b3a475c21ad9876e547d43de9be8f3408f15fba8056c7e0bb1d60ae444d5fbbb7272e20b2801b75058c9c0089e6ea9271f6fdf4683983e49b77b38fddec52afe86e880abacdab3c4cac3d25f488d3183f0d043451838a0fccb429d8655207419fada6273cdd804d422cef2ac310164fd42feb38322115df8a547ec3f183bf5b147bab11775fce8726728892c62ed5e3c88b149ae08a5b28179e5d4a6db5f81b8cde6686df0eec90c7c03567e6941dbf74232c37c8ea5f693e7c10610d7a004b9c72245eedaa1f1cd4f53909cc4c2f385618a7cb0834d62619ed42524913f52395933fd205c411ca7a87fb28dc960a82ba394a9cfa6a09baa7d118ea1af54d25de82e19e8985c4e046c7c6503a536c84a641523d3a859a51ba86358807a7bbbe7d13094f12f143537fc8e3a662523a6575551e56991ad9ebc2e5b15f6656ccf3a2ccd45077ebb315872e6437bc02c630b7ed2f4ebc314068a7022573fad4592aef526933abdb83d03089822671bae272835e5b9f788c8266ce8366f67752338f2140c33eac510f003fe4ba3294efe64e60e9fd1559c937bbf61468e1af31ddbb71f62bc1f902c6fe513c9f8964d15254b2a0c1251f3b3879e3a641c5e90ea858693a7941e78e718ae4cf2a116623295aad4b027627ea411d46a0ceb787986588347a765237af64874675100df1fe36ce1d7be7df2a3ce136452fa0b62f5e6aa40bf888108976a681233570d3ef682ce89cb8a8185893eb73653533ce21ef3849376c7df6a2c07a7467b65194affd86f39b09810ccd278a026459b1a995279accb21c53a513a7fa6a39c54a123e1a596bb4d8eee762a69318a4ca4b331f355bb2122a6e3ecfa81e5ad9be0e42165870bbf91d0844cf89d750f1473cbfa203c5761f4d724e0abea16989625c38439da08e728290dc43fec4bc6bffcc0971c7cd2187721f6e6ce5b83c3c70218aa399b72eba3fda98c2d615ca6333163b50c0597fce84f2a33904eb21f1745152f41a04cfc110179da6143ab68bcc6ff1d499a76685f5a07234562a7a38007d38f2ea2bde8525a4aaaca0bf61a3fb33f35edf1bb9f141f360911fb8978271517590d6f13d70493f872c044100afcb77a7af0eb3affd081a6f9a389b652ec43e005ebd592b38b3d8486f483c42205b1645a9df0daa7f0bbd1027ab2999c11d2f7712b5a144f26eae4a99a75f7ce7da7c5c49bfb5d0b7a30212048b4fcbbaa42048bfb930b9062307cf6d1869d74257333b0b424c85eb5e8c8d3c453351e99e793230069dca1b5c890a6dd3b45819af4f156ac96ef4fb648bbe6be9d0746549cbd83ba51d0809bc7eb5e8d5716ee22a88b746e1bebf5794b6943dcce515880dff29d84b2020c97398dc117741adfc0766e88d9238e9a8427226a7b914ee97bd2f13f19afce47af0cbf7ceb5c18376e1c7df8e37e875e717a7d39f135bc146a925eaa0a302d6b400ff127bba98aee4e21475b6bd79cf01c18e0693bd2a65b36a332e7e35823ec7fa8c1d1683ee34083ca219b1ee5464dca1269be7083a502d0a23245418f664909caae74f66f969872259e472c52f4bdf985df937551bbd0c42f3bb061301afcccf26d3c101ec786454c969ff79b8c60086d0a72f2958291ac417753da0f20c219cf547b503e8066a0e829c471625ccf8a69459e5b83c17b23262b7be67ad27ca7401ae6e67b0408baf991381ea90323c8eead0322ae3e95eef953339c168e72c2f7ae3e3292a70e45b92f386945ae7434ac103194b6f418ed5559609448bc00be6f26e82d34db4c4192e588dd07564798c8a2db6d566ae481ea4e2726d08b49b0f9d3a072663b1885e9bf827074078c05ab63ad26c5612e9c03234f605827c90b9701f4efbeb55f8309187d3df0c5571b1de55819e1801b57533956d9fc7f2b98cb24e9135e44b80fd9115c5d47feab487e77be1aa3b3ce7ae95db34d042cda6ebaaf4612b8d972f95f9ba2622228e0cadd5743d5e1fb265a27f08462d9db8aa705b25a0dc5252f7c738412304ad52223a8d2f9722ee432b147943f07285a9c0bb9f29df811ae298280f1a59bada9e797510c4895cb550adbdaec07c59f582bea3142787157aff586cd4bca5059772cb94a62a861e8379217e896592ef63d3c354f9b15523985f0b2a885257fc4a4e01e111efa4a0de4c097674e6b4bff329dbea3654ad10362bc738fa727758e5d55a2728d108f3d031f4566d5eedc8c12315df75647cc908cecdf3a838b35cd91284cb791127d29c8638f7f466c6676e6d3f67866664ae3d83f406b0c978df0221bd7c6fd9330bacdf04eb78e5fe9b5b4d281f0adf58ae37b0c9aa4c5d705715d6185c15ae0224d9d5ae944da45885347970874b6f174013a77918091cbee785f01b3a3581590acdecf9a0f3225da29d28ac31a9d0fec7f77e9ba3d1048ab7779a47857d2ae3a427a1921875a446e341e74f35d1e4844c86660ee187c095d82d86db359e84a33930ce31cb290b888d0305f1ed0b2c2d9e9459a01a60e4b0384c498c4863e6d44c4dc5b8f875c0616786a502bbdbec3c1872182582ad27ea8272a80f48245f8c6fa062e509e554bb93759f32cba1cd6f276c8764ab541a393046d74ce26a4ba20eea6b24cf5bd9b6c000aad559854d6d92e52f71c2913ea0aa3c1f003cf48c1874bdf6694df1f0275e5f563d74ed776e95f3730ced1245de1068361a2443756a0b311245523bf607c8c0c6539ea78bfddd539f6b566b02a2b68849474cfcd22a3ff0ba9f4d0c7febe3ac030535b1918ef38a3f05b8220a2a8713e008230485f20c93f8da926f152a80954fc7d6c3738bf181d146b8b50ad42c902e09a4342144291504f64b6cd6ec0a45ccd0bfa1068aa84b973a778a20e532b6edfb0c09a2be258a89e8900bd970d9435d7668e7fdf4504fe876efa7186d834bfc805d05e4dfd476aad2d89d19333d9710d808e8105181f49d1d18d5e60dc6806192397c821012bd681f3416663bd7bab96595028386ae78b6ae58e3a5401472aa8e0944b4a1dd37f01ec69ea896b1733513142d83e5c9ce94b5c48a4a0c71a2e0e065ceda0ad506d5d6a8c05949404f5dc76ab6acddf31c794cca5bd00b9ebca6c0177c32c6ad9ea1d0d07495c54d3033a4fc9912e3830a6b5c6d0311f3c67f865ebd151c0a3421eb46272bbd01b0856010b3cb0de482546a673a3a4f2c65e65634eeb35865993b5de833841fed568b9e2bd6c9b50477dcb48c04685c638cc83201244a933812f6cc3ebfdc6e68b8c40a4919f2e241a51e4034582b5744876238ea76089d155a471ac7c26cf4feb13547c971cd34b5d11d0a098284230bd265921536d90ea80af781b6b59816a1a117233cf12a10b50c00721505852faca18037c440b95af72346453be8bfcb067b47d4386a93060886c0512ea2bcff54c312926c6530130b08f6a3444b48b53544deb5ac0cab1847e953e959b2a331c643f72f26f12d6c016ae17c36f0c82794091ebd1db193f616625e0b3a471327196d10554ff1e2cd6abe7a4e7369a43aaea1213e27e3939a9b270420612b1e8ca141be74ae085b2d5997e9e72565fef956008e27032fedec4bf93221ab8c26cd4edfa28a895d489d932fafb58a78fbde9fa0bb6347f1215317e65b690cac708871c4c1f2189578aca93d35bb3f5d5da3438a6835c96be696e1c33a5a80493272d3c2c3e97d260cd5c98748665de73e418714b83e3bf2a939babb8d9694c5f206dacc727804a4074a62cbc33230107cc9b2914e3dc9e40717364712c27ca65a947b75ab298af6e67db031c7e1072dda04800c9f4eb58df6c1bc36f0dfa3ba367d2ed719e3a2112d114e62d9a28451752b7b6adc41079379d6690ea35e2a07a09b7a0e4fb32934f162674931a7ac337273d813fe537e90df586946bfb719d6449737201b09805ecf3fc632b3dc410496e9bdc4f14937d6bda9d35b3139137ac46b83cf777aafdada4ab4c0a115e91c9bed0e7fab5d946c4922303b6f8c1c06b3ea8449cb98eeec4fd39989e3faa515968023f22c447d44e07f91a3ab7ea35a0d1ceef03957beaebf9cc4e2158a66fa875c141672a501f7a7170a4eec50f38aa88812409e825fdb9b03512ba0b07ed20304c8f4b6ca53daad758e334e5ccf4273e948c70af4affc808d2340d1ff9eb0273184291f7567f7efe409aaf4917ad4a71f9886aaa36fb7f70746130e8fc2fc4cf1d078189d1c33340b1059b7467136746bef740bd52b7cd6351194a75e8a1ac87ff029a25048bfbc477639c9568950313f9573c583b2b819918f538dda938203a8fc4e695941e8b862d4b5aea63cde9efee41fd99c9ce683474f1002c4e3354ce7b5df6437c6e9b6985810ff8c9d44ee51998b5f88437168df55125f612fb4955b763661b710bf9e42b0afd39c33030581500a4193759bf59bf979a072e902bd9982e1e448b323bfc6197e083f629fb458eefed1596b46bb521d56e1f79c82a39f05ab075d2020276f45781d8dd0de919552aff2f0bad1651e154aafb7c7d36d1f4dc15bd1a17aa0a96c3a1300536f41257db1ea177f6071c7520b4a45c2f15587ca2c682289428d5088b2b9ad73e331648ba77bedf1c2a891db7d7ca80b525a369fcb2fbaba64da311ef9923e6a3c494bc26fdc7b26380a1816c3c717cabfe184c25eb31faa002d9d40f254dda01932cc3d1580c8df294ced9259505784ef2d51d7c762c5d1c9a914d7b24f319db183ad9d5c73e2b24d0b3f1cccf5c298a9ec8e64297fb8fd6d6b591d3f0351606bb36c7b2bbfab49ac65544d14df81d0493143278fefac42cda7cac0f128186759e5ce9c7acf5696825c6feff1bce17b003de50896251183145f2497e95c5cf30dbe4f4ba3e8544b9af61ada10a55f273de3e263cd3950a2c54cbc08f8e90e5583c70d877f1aba84b7dd6b88089fd370171d39dba2870672efce5a1062fda63751bcd99b95f8790adcb506dd3c0075eef6cbee26e3a470d46e7b2f7a39040339f9dd0e69abcb35498bced8b72688c44fde4e8ff55913aee3eabb452f748eea238d0893ca18070c0f22605865f1a4469bf8b5aa83e1387384c18041bce48d0971518d4ee817788f211ba7f5ea32192f17c52969907e9e42ad7a249b26acfab65c3d7e6c46a6eb4ea595eafa0bdb91469bb2625762348f20fbcd9aa0b9b98b535c9e2c39e9dc54170d1443ca668a33cd71181cb7c0ab05b4e30a2d15c1b9226bddf4520d7bae5aa1de32d295fe540dc5678a496664b52504a9447b35a7ce34413d34e58d8a770fac952126465b0c7166f5d5c7165543812506ce8dbd76b56a5ed3d5509ddb051b391aa1b24cbe11b4a1a0b415ae19be34361dd15e72647c5818a0a5580b81d083ab63ce1033e3d522074aaffc39a7cd935ccc37a6753439a30f0f4e0e84e5a002410a3762667be6e2d6092e20873987c054fc6d3e144bd68b232b5ce6d057c8d97b4ca1e884b6159a10bb91d11553df0a492fef2788580b348c6fc939d819bee2e79c23a5c8a1c7eda8470aba8181b9dfa1db91f78aa298cd3c58a0a116359828ed8ed2ddc93554ae98f5b185ef1851577c19d5e692615e309e0afdac3c02ca33e2e53ceeb868a1ca58ddacf403fe9c256f25e409a7e3ad7cab2dee884bd171704380f200fa5185607dee2aa80eb8bdcb8aae8227a152ed0df020591a9a1789c842ff7777e85adb3314990d9a3314a7f8cff68c8253a17611b444d41bda3b2d5914c16dacdac03a5bbf10279890601f35e70a362a77e04ae98873b890bdf22f856d358839ea1f775851caf3045b34b83ee33f3015e6ae2a994905fa2dad4e9092d788e6329c72ee7f557de1dcce2395d2e336fc742b344759e0f18a12de8b17def5b8cdd26de447030fcb11561935d3f2160b647d02355b90e30e9af5214aa0a929a118f3b665b24e60b0906409c6c4e786f1de857ac1036d1a842dd52a01ad0d8ba9b7d3d29d62f9009540d5979b517a5174e5dd761cdb0a5861c957ce710fa6a94d54f0f236f313371fcefc9c2e4d9388789796bebba08a57b9766470ffc8563fd8f9c4a75f1fab033d4ba6d57ca87ee82d41284208f48500e934f538d7187035d654d85d6a0377ac82828e6b682b0b8b47ca7274743d9addbdee453b254df374c2a72601ea4aafaa8037b259d3ead82a247301021045e9f434831d3f34fc2786d44a37423fe4dc421c08b03932e2d2524d46a571e6f021c915cc8087bbb675eb740529afda1e23ed440a1beabcd3f125271d7c320d12e20e9296f6b3e5c5e2da85b1e3d6d2dea7fa2522e560a1496850b0f1a5ce32b56164d19e8f98872e57a1d434843d26a178727d96e9548b438d6e3ae5362e3a05913f7517bc7f86524d2e18e7ea31399f64052c3a578ade7c1602e7bc0371de8aaa3013bd9c9f3c152dafc46eaebe8e703ec048fb589b4388dc5c0cf2e6ca24703ebb61858780cddb7236b7c36d7e8ed2c3396af2589c3cb049ca79ee2d4fee6d9cdb922dd92f2d9c730a74aff8369fdb01e70cedc6deda7c7a05cbc37dce79c3686b3d37e4e12720cc5c6c73f5edcde714290b67dae4c2b4b9a9b46d7e5c8c9be7f2b50e2fdeb8bf2e807d9babb3673edd1637e792dcbca8d3b9f1f4227f75f3039e6d9e6248bf791ecbcddb3ededc87d96c29b839d772f3226286939a9b4fd7d09b733cdebc5f3d8b729b37c527ce0dc43edafc6c7fb9796e23aa726a9e2d0b3d8581ce936fae3026aecfbe33ea5c121403de68224bb5685e9e3c661121cdc9d7d8c5d1c82b053c05ed19312516d929a470f995ce81207166afc03e805750fc57fcbee98e18b5fd39d06a9f0ed926f8cdb9aed8610c9f5335c7af4bfaf289317d094a488a605385fce4113e46ac0fbb9a98bbfc0d9ba49817eeca45a5ff1e8358a9c610472b47939e5bd0d281ef4c2d9bfa4ae24f53a37ae7c32df803b9986fddeab2b68b3f48a25ce27deaeda892c45ffee8047f6f4c9c95a9bde2ecdad0149d26f22ca294e88654901cdd1fdff1b4c6c5f524546974452eb2e64fa02b9dfed250726b12c74db913ec530abbc0ce27c63b22e7b2179dbe71bdd4e2e429bbdeb547980d11ff8ce5d460248198488daf93f688ac4aef2b86a24dde67ad379a8366d0f5cb4bd25689247f6d43b0bb1451e164472cf448f32f4af642df377440a2b7f43c1e3ab0dd285c4f8056677e8fa33b3de4b91e27164e038ec724c2a6793c9fb361d0097240d8f76e52e90383aebd3d417149f346450aa34e7893a79f03948f25196e1446f03b193cbe7ce7c705fc828d0f3b907dbfab5eebd40cff2e62761331a62653e9c96ad8ece3dba2014f479709f1403d2e2a9bf82202aecd44befac1873fa72283688c6f774b7f2805a3c9119d977e1d180b539790808baa3d44dd96a4c06b4f4b0c4f3efbe92223dafeb525a8840d1ef6d31b7053b5e250f35ebfb6afc554a79c8f5b6ebf183ed7c61b9f7d1eb9916afb31d1522340e32d5f5de76f158fd5c0a5a4821e9935dfeda556e7131e372e0b440dfe1bbe0ffea762a43b05b10bbdffd4c361f93bafbae01ca6530f572c88185ffc3fba6e2a3a6d67c510fb6bd129180bf1695defa4aa3cdc98225f6af846ba01f11d4953f9275642bcdbf57015bd37a70aff5e6ce19e79c0f380efd0a7c478dcbf09fba83e20dd2372f7a396be201a221e5daeda758921202b1b3cbdf00bb8406e4392e85daba2fad3df2fa1e525ca2db10cc1a310b36e213241c23cd74807b520b481f892126b320573bc841b0599aeca7005330883b5e760747038b139512f63020187ba0cb2ada1dbe44aa69b57b94783e64aeb2d50a6115aaac0f2b77af25f4d43156fe541bc4d9addab740fdf4a745102b34c94b11e16599e5b68a2f8302c683fbc0d91ab4f7b6c4557b5bf35e2cfefa68a5951748c243995143bc7d0189aa55bf9df496daf1fce5e74b51512f772fa8712e7bd22607367d4627343eb5eb521d3bf1d4c607805e916bdcde92097b24d363445e02fe99df2f0311147cfa55a9b6472f672e6d44bc8cdf8771a5c72ad23ba07e292db525b21d481ee5d9202a3396969a1d2e1c39a9f1a7f203841ec529f8457f7a5acd1b5ecbb6a0110a37fe412df84100511e29a8be9886be8d57e49722662a934cf4ca97d6d75981f81701ef7b3eb5cf3aa29a59bc571be70c5d9c63af529c8e42e2c167ac2bf0d937bd513dee3746a008ff434bf2960686973ea98c391160195220d7f5a5cabb0edd6d471a13ef55210e65f4d97ff88af39a3cb42eea9a3d9eaf3f40af7a4cf0ad197c5f6367139d2b0f16dd09334aad49263ba70f96e66b5dba98bd51c25e74a1913a554e51e6e64aa8c008eddb6109ef8e7bc861213fbb56fe642d31ec8cec8f2a47e76afb9848a7c6b7141ac803f3e7148a7ee33d676e408e8ecb69bc8442fb2755d6cd18f4df20980f01bf6e60ad0e4c75056e1a8fdcdd83479019fbae71281d8cb362e892deabd0d8e522d7acc61ab548add5d6c141c794779f997a3adb39b6d8523f26d7fe30297fae525834cab3ec7cf3f49eacfb8cb2b3f8d6fccdc9294f89ca51ea2a6fa0ea3031264bc7390473edadf19b92921c9594bbce5a5fb86b11be2c57e63c44a627a9732374e5044a70ebbc4a4fe014f7fa5a8f7c769132129bc65eab638b5ef586120a8caf7f9394d40e44f77f848b2e8092e6e0b53efe25e23c1ca3bd6ee12c1fa9d39682e79d14bf8fc27a1fe69f73de4abf996b99b62c47df1c1568c6aaf353b2955a75fbbfbca41e56d3337c4aa7f663c93b4d42f98b3948c3edfde194943e2a0fe3c1795e3d7003b82d4f9d3ef7db142dcb96a1120fd1f777c0310a64afc98c52a74951f5abb204e905b9b9ca54efcb0ab6dd214b8756d2340fa9ffd0c26a8d6abc56622927fc7d0dfc2153f3a655e24b9771a8c2956986b173602a4ffb1ab1b21d5f7f3975bfaf49fb0b5438abcff3ab61433d5abcc0e4895eddd615ba9c90ee0eb5b8e806e8db39082e0b14dee49487aca6a5ba9cb1dc6cc942c016e18c5273fea774cbb2bae9ea3718ca551b9c8dcd272f57971db4c708affdb362c4e460fd7d88a8fe8147f83c511fae60283e0cb1e61e79270e11ddd7215b1d895b62e15d6d4afc1264989bf64af384dd9a5f99c455669cbbbd8662709b5cffade8ac1be05a030a721271a7dbd82af27064c9a3af7c09887fae05714a872aab1808bf446831aa16cc3370b3693a1f42fc7948545a341f64eade44e5cd5779437a027f327f234a2e1ff430f44589226d6a1249cc94369316cc020103f502f7a467df0657340e47782c0cde3a696e5015eb9bfe101313b62993fb4f2827efda375c06545b0f2d09430f0acd93ec2a664c63ee767d859644bb17f54365a7e3ca1b357ed36936a114b573a7e3454f77b63e5bfe30cde82bef8eab46826f800f8cfec2d742c2a552ec4de07e8359d516c7115bcee44a460df79463bba754c46046e40450f0839c30a864e6fc10e36cfe33d72381f317469b3940943139d188d1fae07450f31fad5bbc7846a1d24a43e8b9492b608af8706ed13db08157a84d5dc50be6793f4edfeddb1ac9fb6d44cf4cbb4130e7026566048e1ba677630577e87091c84e88fd244abbfb27eae63ad834a5f28b084c94d099b4eb55c651ce9d25203d446054af7f3dd4c1010ab913a73a0bc4307d79d05ca8aca33778495e5d487f59df841576f1f8838279add5229b66cdebe2556961019929578037cf06663e83f71412d00fc5ca400b16ba4a4901b81670290dd29100d000d880fd796faca1b33ca1b2e4a1b8acc4bb3c1c7c69aa7dd25341b52526069a385cd56d6c095356ad8d0ccb3424b1a574c9e335f758adb796b67309c659eb3269b0d776c3bcfacfa70703db6a8de7d4d6bf9b76a4ed33db8f6636de7ada90c6c6fde365bd3e51d98bb1c0c67616ecc6baff396d8bbad3eb6fad8d278ff6134d5457c75f781f1b84cfe23b358cd4468442e8be69ea7cc1d0f1e9763626aeaaa1b13629e382dde9eb3da7ffcc8c25fe64216efa0eeec71ffee3dd27f19b8826534ad61625e2f9836f25a7c128959ffd41fd978f2353d674d279a6968bedddc1a73d7346a955fcee22c9e3be6f7a8b2c494778ed91f1d9f99b7fdc7936b3ed1b4ee11cc1e772ee2eef9757eddf59a34da795e22cebb73b6bd2b26ee4cfca59deb358853f4b23560be4775635c70d57b88f393bcb754b5b53ae22de1afcdd29a87374e553195f1a7155c53ced32c155bf5124968cbb9af381345f3105b1973199b614d551a7a873fad06a905296352cad85d33ab4bf2899234549237fc5f1bedd2c2d4e0ff12952fc9038e44627bcc4e388a6614bd95cf3e8ae281989cf6cb5e17cd34361576ade3592d66f83075da6af4e2dddeeed65677b8356ff99a33d7c2dfddad6ee09a7c6396c54e4ed898a778604b523413b10ecda8d6e58278ca8a9fc2512247841c057ada0d62dfbd689ef275d754c081a23be59fdcfa27b5fe49dd3f99453a71d4ff3fe529160fe2a97b24887de41255bca972cd20f6ddce6b3c887d3c55aba87a35c554e829a2d010163a50a0e2fcdfca93821013411c4af2e1fff9331d616bf447354f3497d923ef989d9c18f3deaacfb5e3cee6e12f176fd6e80fbea6c1ecbb68fa4b897ad5bfacee8caed7e468eea675c7ec841fb313ad9bc2cfff07d7bd54020cbebf45f409c61cbd908908a6292bb8a9422e72f106d7d0c154e80d1634c367c3054626c6a56bcd759c4233179a55357582a29a2a8a0da2687151e0f82d2922bb9db90eb9ae79ec9787951411ce795c2922bb9dd9e4faaa4cdc312ae4f8aaf39d6654d54dd7e42647576ce30904426f16de550bcf0bd4bdeb59d3cd5cc556d73ca384b4e7d96ede35db4bc4eb2fb3fcbcb76bfd3b4f2ae78cd674f2bc813a0b3390c8d3150b7f79e762566b57abbf94d54832be475fd3bd38eb9e449c570dd4b5deeaab83b7eb154c4f5db3b6a6177be92d15b8a6576df53569d7bcbae679dea3cf9ce18e51b01f9cc5c4a67b4d8eb33836ab72c04cc4ba5f66779ac7d19c75bfccfea856add33b4759b50ecd4810fabf3634af5d3420a1078916eebdb3a6cb620721c74254eb58b06088897f128793372fc7f7f60222381a6480480244c7ff77f14c8836a214110f1117132206587d6708345d5b903b43e05e1a02d7c6ea4b43a0e95e1b8ddf295f888c2032e0da664d361c9706ae8750d8e2db3c647568086d76c130b189d7f67a469c604409f7a28001078aee941e5f5a4674acd7631e1a31e4ff67c73c6c7aa435ff5fdb288a8f79d8b3d98aa01541e3ff9887484e3011c141af676ee8cd118efebff74c8586fc9358ff4f924efe89c59d13d3de33e73988d91e9b39eff554351df6a892a63e09499254900308ddffa52a276f40fd938006b17c9bb55a6d0cd3108a1cf8fff59986601f3d226dd4206990325286a443d022214810a28c10bdffcfbcd6f38ed55ab7f3bae6b86aab4e8941e4613151f7ff077ba62098f020c25feeb763f61ed92d5310343f78feaf8dfc428679520b9ae39a5d7b6c8c882df6f4ffe9330540c90b7bf09712f17aac42d92e8ee621f6ad5d9d6763e7182b97391672fc84d739c65a75ca77f6e279cd1d6375adee9a68cd8543d75673f9da1ddeb829b0ace37ce7620eae986bb775cc4ed0aa9d90e3ab2d2b21c7eaae83655dfeade90ea8c5bb567946b5aef3140b4dab80db2bab6cba793defd0b46a2be7cde339e5c7ec84013473aacdd78cc555f586db3955d99cad3a58d671cef34ad4e88ab9b851ebf0c675b0accb69ab9d3bc758c135d5ea1c63f1637622fc6916778b12d2a5796846f10eb25d99e3a96307cb3a6230efaad0dcb5e6c21d33f57086a9871a3ca8f039a09690e3ab6c25dde1b278c49ecdc68f3d5571df3a8be722ce2af1d630cab403f19f022e0ef8f1f35cef6c45d57d5fde53df05a642feffffe493ff479f49872bfc80fda3b9ca3df224c481a82371e3dbdb9d6ff327a456eb3cc5dab96baf209aeea95b15515f656d4cd4ba1beeb88a4d79e9d668bbe365a9f897aec25fe6a9e96f6d355555dad5362b15f2ecc3535d9786646b2b55c55454361b0c34d55e369bcdd6ebad194553612f65718fe55c49d4aa3b4fd51e0f625f0fa3bd1e46d9b46f8db61caac7a3a0f22f77fce1fdd3c48cb2bd5e4f0992225050505050504f5046a414284264889028a8aa234fd11e6ea279e8da6a1f3e3c65b3e58ef70f49f6619f12af4b73a244c5bf5e316fb6051aff98051b5830fe7fee9958305700628508568062e65513b5de79787de771b7a8799e3baf29f1d2ce591330775b2189490512985448f3688a79d73a5305263b65c2a3e8df64c223e7ece101fbb1a2299eab17eef0e0d03d05469f429a55f7ec33f25238ffb5664a8109530a4bffe6bd43e8c91d3c7768439c8d3ba63bc6277766ff844a4b09cf56d25dd742cee275b795ecbca6595a487646cc85044c4ff58c78db21a00e9f3a55ea5c14ae4001ce9b33bea678f7a67bb3caa6bf35ddec5dd3e351d8b736729c813d739bad83e555fd61210d85291404a043e85f77df0502b5cdc63bb579eebe76d1294267c69c16e600e778c979246704395f72665a67767c77dab2479576c4c65fba623613536cd43c7376795370bdd7c949c53fad3a39dda3baeabc75d6358f2a30af7a8d53258e8e382d4e8873c20327f0feb14a43b36fea9a2a4f7b3d34f734f05e7c0269421c13c8fcbf39e5ecf5cc7557b1eac36bc6d96ce7d7f0877d79f394f0273baabc5b75da5b55f3d93a7569aad6be2636ed2504a0842eff6fa698a5e50c3cd9b49f67cec0de79eb11dbb5476c57125212709010c00876469832829208288850460429388ee08c00470338577a4d675ff79a575df50fdb7826ea5f6fb5901b0297108230813008043f205801e10b84166fe6bc31f306c99b46bdea20ba6222c7b935d8535ae62aeeb6bb67be6696c5c2cc559ed27a6bbbf3a6759e7d3ad85b9d39d30759983e98f1e0860337576e924c8cb3ba6296635d73f8c3be29678f6def9a8bb8ad694176ee6c6abc79e39b79bbe6f107ec408a0efa7450ec60d8c1913648b479d366abcd9236340e80e0600b13070bb08942edad98d6b37121575589f889c9b706a22bdea9eae4c4d3d23939f952de733d7a985c1bfbbdb57b6d27cf29bfa7161acf746dd92e93b3ad179b05d8ecd840d0067336305e8e3be6ad38ab2b4655f598d13553acd9b3c684ffef759c95cc94ecae411a0dc668c0e4ff4db6ad7154d526dbd6f6d617631ff0a60651704d8fbe9cf9bda9f9400d947ff3ccbb6b12f506ceb66eba5aa7c6870e1960c9609626d09bb77335afe8aa7d3a3845ca9794a6db35d1bca6440c966f6e37bec49d3fd8a5f19246ca3cb7be2771675f1aa57f0cfc74bd6280c7c4c0cbbab65c1840c160e94df69e5ce7fdadad5ef346b3e7cde0aab7f1f2f4a2796fa1f1f25daf5098d0a0f97f33b8a6eceddaeb8c9f5fafe57d068e79d133c2334d66fffd982e6074819c0bce0b9ede8240407d79166c604113338fcc047a13aaebbcbaefccd30c9e9b192f3733d9ccd21bf3da5680e8b1505760a502debf396bbac78dfbdaaaba58a6509931658c9479327ec86421e33446d0983bff66de2cf76173c53b1755cd798ab69c9fb7366bba3bbd0173d51828439eee3ba669d62486d1f3368898366fce86bf7478f3101367182746f86ff28edb2a19c5629a8489e29f18268530425a56592206cbba1f57bc8661f2ffaf7518a5378d1b6f8151024c1b93effcd3178cf05c33d6f9f503cb596098fc0dcc129ac1308f823dff4f411a5fee145cdd28c0f15b7f51f4bcddfa5266cd3edd17e1971f5efcfcbfa9a7ace9cd4b977fd30b8c09f84c8066022cf3ee4cec692a391379cf9857099022d821022d113889004797425dca3c9ad754535933ab65b39d5ff83a99e905725bb4ebf53af16eaa5a77b97519800ba1376fe7addd134dcfeb04d4e789a617e512c60535a79c99666eb9624b094c5ba66c61a145cebfc983c7358b370f71c7fb6e9ccd599a6a2a5c5a4da9aa35bbd3f6a6c5d4e222cc4e18faffe62fed98a87b8b2f477707cb53e69413ef0e86fba2a1c4f6f7c334a2be9947ddb75ef554164359c66439b33061d13d17734fdb2a3cd7054c7bcea481651a50cdbca797866577c5d11518ae9061bab2e54aed8aee2bbaae99d5bdecebe9de1bead3d733f1f2b4746b66b5194533a16cc1dc7bbad7b3ea846002081c802009044c0f20f140110f5c604e3955adb776deda99ed816130dc03c353d6542fb0a659e7d7ed79776b774d35156e258f1509ac9c566e1cfb1cbf1c7bc72c3046cf7d2d575753af4c6078c0806052c002302a4153b56681eacd3ae31b63b151518422cfc439739fdeeccebcdd39b8a646bc519f9a899a13779a8b09b47e5a39ffa6aa7556f5be5aef3a9cce006fc43fe0ba4dc546613bb0916ca72a4754195485822a595588b045b02afc7f5a5855553d55d9dd2e775d0c06b12f73a1a042eecc58e7edf8c935f35635ab7f175f1acf65dd1e172a8af60475b7be4f37bdeb14d3342f4dc8a5455d1ad4d779b9d49028138a9882e9cdb2f8e9292aeaee16cdbf8b9e438a5c75d6d473d066e3413c55bb1c777b9c3c887d35bef3393ccf19d405028689e6ace774a70cbf9a6e9224770ad40572875ffc97ee9e893a078944fd5b754a757b5cf3a866daaa69fcb8b6474e28b7acbceecc82e16e8f6b06b1afb7b903b5ad971233efed4c4373dad31f9d07d1f4ae37bed31d5c5b34b7319bf9e53d13a86635c5bdffda8da7ce5d10fb82d877d135556fbe6610fb2e28478832826e04ab72842423d446a0fd4d726db47b9f44428416fe1f8a273831778eebca2bd5ce0804baeb85941f30d18a70470317a2e436e4970df4f4a0a0365b56170653ac105a8090c4ffd26d43d5b49de2db2c4180e0daf4cdff79d555fca6d17687a668bb7b43e80d0bffff1a6d39ee69b4ed69b4e5453674ded468bbab1d3f7320c0ef77d3c035873bae3a6627373742fc7fe986cefff77a6e06785553fdc0b05173ad699669d4fb989d98c73cbc3ad884fd929e1a6968e6edd5aad2e2dd1ed7accaf16376c2b2378eb1d08ce6541513775af33831adc2bebc81bad75bd35e6fd9dcebf53ac7c09eeeb9d8f2acd196f71f46d9487d90005ed450fa1a4c3296ca2e4a5f76a9f16597fb6597265f76d9fab24bfeb28b952fbb80f9b24b065f76e9e0cb2e70beece2c2975df87cd9c5872fbb18fab20b145f4690f4650435be8ca0c7971120f93202ac2f2370e0cb08d8031230e04b0db0b08e8514855e0395c4724678448d0d4f62d940ea48d80942124b10786c24f870c92cb340467698c121b34c9046aa911d2199c5d11ea91d3c7821c3c46c29a084071e524b121c454e1902915b6e04229225101e92cb016043da58a188ec92a61192c74b8a8ca00a4551835eb8e404882ed423374a2405373950f75e91627e107a5a12c5842c73472988034ff29067666c995862ec21d500c36a1b1009916d9eb8a2b5b0841409c71121208264f821e904da72aa6257867cc109464e3a8850481c6cc83333620c23075d81a8094a1b44e4145d707e18e9108a31b97095001a3d816242a2e441c04e00f0c4a49c617dfc61248c917182d3230a1957311c8c9c3d649709528e06e0f0888a92422ac2e0e70006909c4848ec025dd6ca4b525b84940164b6e4b0e0c1cb53c0095102b190a2d01380437ef20a1893ffc7182d02c535ab230105fac1074080fef4c0c30e7e3220a4430e380cd91a71ad0177f19fa47103d987cfc774fcf88f95e413dfe7fb08428a81f4e29f03dd9769baf4ad799029ffff7ff4ddfcff8fa8c440d0b33a0e1c9698fba55d1a065c3000c340f82bfe5d9acd87de4d2462e08498d57cd571de7a6f1c9a08fe9f6fbd06d776f3140c67adfa5e131377e699b998ae294def6c85cd4336e7618f9bb32674d553c135eddacbfca57dc5c13478f1d1877bc747d54765b2edbd4a81638ce64b4b77d75cf3d6b7594fc5d79c759e7d57f7a63b5cf166dbdaeddafa8ad38d8b6bee9a5a775c71965163e12dcdebdab96baf3cd5799b85b25d5c1c5d5b2bdc7155d75c63f28c81f36f4ef9ba636c8f66b3ddc135e559d55c55bdd54253bc252604cde37d4d4d049e8ce02bfcb5bb6b42d99ea02e5067de5b55f79ea07a3e4f156fcd12d3b3a67b8d9be88fa40a7e6d9ade8d815755f1ce451c11af597869986df50e5ee10fe3aea92f675bbd9b5c336bbc8d99e5194dfb35f94d8938980e398f0bd42dabfbbdaad63c1e5cb59aa78eaada5a1dd79b9e1af2944bab6b5dd7baadb5bbd6ad99d5ea5ad7b56ec554b988afbad6f1acabd68cb5557211537221629e46bd9e27d40572f959c3191dfe7018331b9f5c9e77c2607aa5350fcd3935b72c9af9ceecffc7206de0f3c6351bdbcdfe3fee9f14c1118b1e66648b929610c342462c8908a52d2c761c59dc7822032b543f903904f828fecd9f466f565b546ffda1120b0cbfb467a2b0a71b9fbcf3ae37afa9bae68e3f1ccc58bccf9108ded33b5be9ad7a5573d4d1d3c5bda69a0a9af6720fa6c0de5354941023e6ca816574c56957db1ecb39cf7be3865a38be836c22d10a0e56f25821e1ffdecb357b6d3d737c3cf33c2506e1a59191519051d0ff55c008c6b749c686bc15fffffbb258c4f36dfe7231ab3e5ffa2e72288b5eca228df4004ad97639d2d2587b44bd81417eb9d819912c9862b1273b06debc6a1e929ecefbff021af1404f4f2d2fc1e46de1c27ff3c9356fe7dc8a23b947be633bfa2ff79fffdf72cefc0ae57e8a3d916d5925cef36d06115356692a0f782a8085f34f5ef97f2592f5b53c6716c85302cd5c59599b482cd73d42deb2972b2b8b44cb75b87afda3d99875dc2a4a089ab25142f2f09ccdd05c53135003b943cecb53156f8d755a67cc565af37646b71650abb75a6b6e6774cd3badbb4de5822bce6a0a6c69c38d89c2df9aa7d8fcfb996cdafb714dc130f16e0d34cf35c55927376a15ebcbb190b775c46aae9a32b1caaa59b842cf479307d329ad796b1755e6ca56ad3e12f3de52532115c757a86f11b94399affeffde9b23f9641a87504152d036a62f0a7ac678e8fdff17e54fce177ffddfec3a4830660c46a2d8111d8a3ce9794c9022ca045424efd0ec644533df55a8aa856634c55b78e37a3d304c5c537c5c71110bb10fbe33305799c59dbba601d3fb7475a71d7d5b0333deb89db7b89959931b3bdb6e1feef5826bfa6bd1bccf60f69dbff33c4fddd1b37695dcd3676633d7cd4b3b55dc358f03f3deb29db4abce5a5d734dd923e6ec7402c35967139afbec74dadaea6cba9d6fad81e89a85e705a69c86b7de996df9c5f84e39b3ceaf35e5d8d76a7c4da089378d9f53ee915e704dbfce6bcbc1156f13ef5cbb5d736f0d5cdb19bab590e31f509fe7cd2a4fefeead2fdd9da7e8ce3a0b981be2fe943bfe5873116f9c0e92cef86ad4409bc9b99e72f2cdf1c69d5f577795eaee5ceeae43b5f55da356d5e3bd38daadddaff3ee3cdb9ce39def79c5dbc255f51ae0d2e2ed7257e794f3eb9a1bf7ad7bca775748c33b5f34e39da79c382d1e6947b5738c75cd9d895bdb6ce7cdb32673d6b4734f6db6f376633ed2ba5e774a9b1573ba7bde3be51be5e99493af3a653191abb49e396767d987d7151b9b9c5c33a398a8816bcae3ced0dcf47402737aa738abdb8ef3e0a1aa98f7bc769efbddad061a9bae8a851ce79bf78fe32f7b1d555ffacbc4be5eb36b5dd73a34ef146f718e55adb3d23cbc715de87adb75ad43335f31bb0bae299ee2788a1b3596d6bcdb1237426b7af90dcefedb03376079436f3b6697a7b4a69b9918c144cfc53b2ff98f0de198e7ddf21895128911ff1f059aabdc232c36964bf62cb96049962555ca2527bf34be35bbde8b964b66fc7f902f9510fa37eaf5f26b3bcfbbe2bc723b1dce0a574542403e60f29b1209846f2ab19978f7cc6d2cbe4ce2c39e32c90a659236badfd95dd326042e50e3f83209184fe204abecc5638625a648cc94482ab878cc70a0e84ef95ab3159db75579c408132ca340b56b5dd7baccbbd6dccec0ae7535848851e938e0994072464b251f408af1e042c40f920026b31c48184dca1e389034aacfabd669cd65c45c9c63952a6f91487e8a7f2285928720b2c59ea6ff9ff2e5014f648def812c1288cf2341fe783d3e3c91568e60c6624bf67f92ff93fb9facc2fe3ff14b05d8f456acb2b92f154802c3599998f2cc19eefc9ebf5bbb50e7f93baf31a7c574f75feac3beecc34ddda6708b0e7fe9d628156bce323fafee4d97b6bbe6112cb70c5c936defee6b66af515f5d9367b6e5b421bfd9c7f9ee9a33be7dfaf223ab775fb3d6ecf0f7e4d49d5035ddb9ceacb8bc2ebeaacadee3c637ff58cdaab9b6333b6bbac78db766899977cd231eea9d83b9af29cefbac41d17ac23b9f568daf795ef19ae870583d9e0e97d504b7ebe9b4723caa2e2ede4ea745d5e3c255e9bacedacee8da765ecb28de5dc7d36bf2209a55a35e87b535d5bf1abec2e3c67ce7228ab190a798cf32579bf0e53fddf566ef9a3670cbba3dd7b716f28b551f1107efd6c0f69777b7c7359dfa9af7d351c55af9475502593a769698d7608c4d0c4f7a4f554d87e7ddfa5cd3fbfff73f068279ec1988f9fedd2145da0b4cef91bcea21455ab0ff8ff2e50148cc98ce93ab3cfbf014dfa6cd5736e5f87f734d830457bc6a5fce47ccf67ae6bc8777ee19f3dacb7bf84b87dccb495bf6f0995355778633ab7265cd9ab2b00b3916726565616d22d124e69e02b5ee1d73efd83b769448fcf97ce5011ee4bc815b8fd445c965f1af67cc2b49e449abd2001cff64942006e831a0cdcdacfef1bba6bb5f2ef6d08c0e7136da6c68b6d9f2d6bf1ecb9fa04ca8da2f1779c4290b90c3b7a9aaf947f21a209feca07079f1a0fc934fbcfec92e1eb9fb27b9fe49069c3841f994047431d7944d8d794a02a4882eec2014670731ef19aa89abfe355d1f9a6ea3a07200386639400403e06c25fdf1e5003b6a79b3a58e463afedcad8153943a94e85852f2658e3c650e08ae59e61852e26054e2c86313f612070437c9bde60fdfb5c4d154cb9b45cb1b7e300b0b4aa4354644f1c0ff975fde48ff3fc79737b6826b4abb36253705f8d1e19fc5442a28be98e5137efeafed09129e609b2e2fde5953b174c20627d638f1c59c35dd59d33566dd558e4d859c987beeb8fb8acbeaef8552519d928958908d725ce4294aaac89022413230caf7948510c1381311f22445a4a6288ca22c8aceff6b3362ae4bbbb64bbb361b0f4d30fae72a4e9520793f4d786922eb1fcd565ac035c7574d4a2944c1b32c66d99bcdb66276c7e28625b4be76dc9de7df1adb318931f01fdbcae906fec7b4fe63baff5856ccc9974a942995e8125be03f9653fad8d5ff67dededccebc3dcfacf29e3a395da0be3c7ae63c663ca77c4d9bcc19ad375ddbeef2166fad5aefb4e6d9784ef9361195319b2c199282111206f9607116dad07c28c6114714c999395b7136d54160ca338b3915fef05d33ab899b076fd7c41d0b7fa8be7cf39ace9a4e7435ead5099bf2baac5435edbbd80184587cad905521a8424d65211a3fa35d1bde1d2c5fdab5a92afe35a158ab47bc45d55b5d03eee29ad680bb68c5e525e4f8ca8acb8b1017cea69d4d7bcf98d71e9b7636edbdff5813a5ff1812abffaf5a6fc39f56a7782f77bda2a9f6ea6b2ee236318bb3296fabf897f29b46db1dcf3e3cf51f336335da7f0cc87fcc69f61f6b8afd784543ccd0916701f60d75b043d117a0a70774a48d02627690fa3d6d045de9e302946f418f0f01781100d1cf59639525cea0ff107698b94186c5d26f70c485344864f9b74011fa07053e570f066a8e0ae86ef35b16ed94c05148fd0346c00c95b1fd79ae480f6bc5a9ce136de4fab028e08607bae9f2840bdffdd30c0f4b16ac301f451014394cf063f45d57a4f87285bcbfc52a31f2f0a3e79dc4f90f7e586ff82644eefc99b2a084a7fa1be4001fb45f020309121d4e537f64abc9929e0a9e780572b0e3c292398a7ec896a82516fd02f050410df2f414d1de7cc0510d2048d0e581b44046499819f46709dcf9691e343e81141c3982c28911dec72a43fa7a33c4f3b0ea432ce20a93bf4c741ce02465852f000a9323422ee0f91d618870f135e05e87a040744c084289cf6105e5565332c4dfa861d0116092a5b771c662c60c087d8d18548a498a00bd2c071f4e80e2d7e84b37377038bf5878a62f4b81e2a030fc52163b7236a012809f21010c194f60587a191adc0b3e2853c0c778210713527e882f00133d1aa157fc0913c0e9f8ba2908080b603be0880a40881ec60c09206219f0200c060f1a0dde54d8bff0d2c318283938afc4084c98244400f44aac0d457480e522cc85134b11d4e024248f0b302248147c1c91c7850b3f37b6d62862d26203d54acb0c364f0b235c2922cd85098b207a78e99141f02cb644b085b5c1451e16417c98b04089282c89d01c331584a9139684a6d00665153979921858db18c102f5494b36ce4cf9810026483c6820a50a2e5e8490d2c8c0c58d0d5ec2907c5d30865c8f2e521003a23a9809bab12b14616df0c136b11dd47c6981c8d22606c2133ab4080cca13c3e2a7821d878cf858033140c800092bce1811096657cef68cd1c0c1a5c1f11113328a0f1a60420d1246fe2000945e876242b2300448034c52c8213b20a3b828f210467a89e2a8a6c29627b2cacc03a3212761e4d7132642b07e2c91563ad88042039621855ce1c00f17a2933c600b0b221f981f72a9c8100841006843be013ea6088984bda22aa41099d30b7b432d9cf001111bd807d45566051f5fa47e8f0a55605c36eeb710c40d744823a47ece9c4221900c847d084f472c908487addf403784d30778cf5f10fb4541c7aae9c14cb5e122478d9ce7e262caca0e0adafc0357c50694d4697a7ec5a0256259e7893dc6382ae2cc9a07ca217766cc48fdc946c604058c963e0a2212cc4a119eeff2f2d5c475c1cf6f5971f10020307fde091e22687c0c31e49b2839771357e43c9592550a57e678f9254c87883e3891f1479e60299275c411af00a02c74e25051c40ff182e6871a186b1e8ac866eb8f213f6f6af920c32902c20389a1d0025c68b6fc0c480a4950e1c6c627d0021d3d68f26c791f5b4b9715cc08cf63812986b042f6f4b7aac5718771cf17f025c3145c92f4f81d65a4f850e12be9751022e056038f043e476e28850a54fd1b3600c08f0204c4781bbe15fc9c4006f81a33a890597903e6653b2c0133c548c8976fa4445d9196cf0426aa89cc4412bfa425852c698c347ec6044b60299188f132d61c6259a812808f01c30c87069882eb0568e2ce1b295c7cf002008162502f837d001c00c5175e1479183414b57070027d183d827080b415fc8b2f8eac9c2088cf2b35f24089009ce079a52a3be4e9a1c4a377f1848b1f2cc082e75d1cfbd449645bf42e944878510316f9166c6c4d9ceabcf916361a49a48894cf220820ea3c02b3e5597081c2d1280985671184060398f01b3ea950eeb80bbdf04918b05fae06497d120352e4786303109fb4746680406a961ea9875298431c111e2983a808ac0800ca23f95e20d6f0c1a3470ab2e52b0a47071f7b9495268443257c6c87271830a14ba38f85800bea7cf8f95896029aec2842cdc71af0d2e3c196091f236283144c6bd28fd16820468f008678328a424ca0c011f5e40fb837350020f8240b546a70e08090273b1842836887cd935e28b8c38402554f56f1a2008a1d023cf9a545cb0032b027ada6f8219092e39342dcb8a8f325f8e4015c4e1e0f8a4f2e3df9328011869e7c25585d3e10f2ef048e120af158f26f2810151d0eca7f40ba0b4a4103ff7b768843e5d002ff2d3c41438f3552fccfa9218b368dfc87804332450ce97f031fb9a404f67f018d8cf321fb07b3ab608a16d23f971b518bac00e1ff8127ad073088f0df05a822a826c93ff109d00d2e44f807b690c508146cfe4f11fedcc052f98f02c59215269fb2d887d40726995fdab5adb8679b350177b117e4b27122de38773cb40162f201001a02260903669b051212fe9fcc7328ab90049f2bbbff27f7a829ca707fa871fc7f128a0e3cc8c131085005ff1f6b80e52201108d4750fc7f0c8e07226cc958d8a3c0ff934bcc7c6995f9b2410bff4fca8094a58705fe5811fe7f6c821e34382002011bfafc3f92144b3840a784193258e2ff6358b8254680f90166d1ff23d520e387090cd2b4c0c3ffb750738611f9c7760593ff278b90a202081c61408402ff9fa4c1e92203611f2a83fed51417710d778cce01a4f4a78497124be09f7c196c029df075b5a466909334492cf1ff8f43111f04be9ce4fc3f49c5f08598ff8fc190a108af85a229384b7dc0966c3c21f2d4024f0b9c233ff78432c1ab23a60706953884feff73f4e1e13e54b1a77befa968b3f56cb61eb6a0bcaeeef7c98b3f7af4e8d1ffff931faae026780a48e145a5423f86f101842b18ae6210e44218954f055b4c9baf137e88e0f510f8c2bc70c00929c31a6384365e2064a3841b6c2e60d3c5873ba10e182d575d88fc906df0281a6103964135aca1226650004c6e8b9e30810756ef8a8976852d087a58c0c3cd182d2c8841f3c10241c08cd02500f5893432b66c7048490b9c2a3b700464d0a140ca4ce20a9629716218c5c4d0827247505a4cd26375c41c7c645ba0f3434d88224c60017ab440b0670114bc685942e286ad009a2806b54cbf2847a0b8f4a1e1803e5d5e61b8f89980092380f082680e95b02a628e12e0a0a1330a218da1c110822205a0d0491d073c62b01c2666b861109d2318fc60e4811f4a52f435422cbd81c1228a274b74d0f9448101461339d0a807b410bb5305881f2caa10c3250c3a2485151e15f243b5f400d6a23308d48003d71132a45a2082c5038e823dbcb012cc4086108c9091c2a6850f7e665b0438818916a32c2311682610c42e2d25baa28d5255805d7da4d02046db2c480147133ebc201b6ba20031480636443278608c11271c21e8c81c27314e2490440523493c0a83f380c8125e22b845612805456e8256531cd24167d3f1856501181c0971e583931086ee1d099aa038340ed0d0864a0f452847dc1d4b6c70430b36840628938c5180509229aa2e60c4a44b8a3b4d54eab439760896388106c70953553c5ad48705930601972a64667875168459288091432d8a9526d21091400c4eec1e28381ae226c1106abe1a4981f2810624c222b4d071b1c74e0f850c48f3c8090f5e146d4bf02ac06a64c50e489ed85a021114100f725021c3ca35c308213f784800cd13a721341091c1866155e8d069455098630e51b7202edcc121818e831c1e08c00d2f206ac0072d8bbe7ce026f78745a4038c00d0986365d0105410884161030d3f981094c282a10a68a8125b1b59990104089e08abab873a1790496ac2502259c7a307882d83625803c40c1ec02882818e24189e38c0e8c80f352c118064c116435b0429010397440e34941962869112608ba2f0903d38a024e009040c30113110538510383700f0628a2d8672b6398cde002086144c530b8d14397abcd84280912bfebcc1a125e47ca2892d423608655122a81121ded68caa1ed21755c0b6a0b468568855d195c19c2b02150a41853479948cf843450e71bc161999e10a1e98dc0fa9049e28c303ce47bf3f2c860aad60c1304796de0dc1345cb41d9b0e4054a0c1c719317c541406213134cb0c1656f80871f40b2be209f9c323610e35717884156067e9100d395370214aa82d3db2034452820d263d6c4de0020f08bcd47428f482490b8b302c3178400e6e90bd30a0f6e3c867d01f01b67e2cc1078602e4c8a8b2a08304c2a40083a343507aa8e580de3120469417555114f891c889440338a1904e6044042ba49044811122dcbcd140ca55102bc4f10135688621ee24b054c212295abcdca820c4014f316e66d888d0620b132e68c82288862b9858d1f161c7140bd050321a82330ce488a18e9dde0a18189183c2840e1318285450441120689cb8b1a4ea4d97291c7a5854bcd31465c2cecb098b89bd1e9a632eaefe632c6249ff4f1af11f4352fa277bc001512c1623ff63afaa990a98b962889488c061e9ffa3ae13aa6a16ffda2a19edfd72f1863a8f1a356ad4888c7385158eaaa082a4d1a8cf9a1ffe957dc2f6d6ff7f2cc9157c8ae8d3c286443610c2bfb5ddfdd262d7065a8d0f087c3ec0bc87934bb22139f8c385fbfaf0fb58cd9257650d55ff9b488c3289984fb59a6ff8e354fcc6d79c261991532445d1ab22e53978810e0847a06eed48149acf7c29f5347ab245027ac234ddedf3c5547538fc188ee1d8193b634e31a7478f482b482bcc60ebbb3aa8e27be65f8be2b0a66e5754371c97ae4b0623640c2ffcbffaa50c1498699148ec7115a3b96bafaaae755b68cebe5b65aea7ed8872f5764d2050ab5a5399b776cd5ae71878b179542f2d135bacdcb597a9a6b8aff9f21f2d6f2dccbe8c65a258c5b30ed4d7a8afb670e63de6a29a39310bfbcebd675f6e07b3e53d9da1b91b9b3016b2f8bcb523e779dedab5f54c4c5163c758f575238a6a9e4198a18db3baad399c9eb86b125b15e321beb40cc41c888bbc6baefad7754d3e6b326a2c34efaeb40ecdba67afbc6a5dd73aadeb59b733cb7671a141f210fbae8d4b8b8b0b77a9724d023df5494541f5a284b445a05aa9562a0aaaed2f3816d57fec0927fe5fdd1bf7d3aa7abbf2c0b5d9fe638a9af8875af98dca6b076555fc54d1e2df8545c436fd671602be4d61c76c90638f31a104efbce5bac28ed9abaa379bed3fb68412493b0e60918645189946f3df63cb748f8f215b8d2f23fe4f8912f2143565c8973ae58778febf568448d4d55311a82bd970a90891a8ae9c44c995ba4e77089534ffdf037b925199e23f2da62854edc935322a3efe6308a42dfcbf2c0d41964af03709927b6de7997f2b2ea2998ac76f6826e69e23e69ee3c29e3e1172f0c2ad7f13cdd87893095f1694838517e79eca8260ff6f7259d076d128212dd00a1910ce737c69c729a09228afbee6f4b7dea0bcb8f20579d5c6acd3c035a76aed43b3922145b64ed555af7d73ac629663768722fd0fec0743e66be1ffcd2e0ca6c40c96d18c853adfd6e79fcc5740d7ea2e13531ebaa64ed0351d6215b08a719853a474ad721abaa6c32f29269fd5d0351d369d379fe89a0e4f9e097f461dd535977f98dd05d7f4a877ceac564f816bdb44a2035efeafadf71f1b34c47f8f65b1cd66048a0891a8cda7d4f947519e53d914d98f9749d9f3262a458d89769e621d7be6bda3942ddd115142da2f5a0c50eedaabebad7f54ffb1403ffc3fd59a6221d5aa1525a46d00c700ddd6ae3fbc87ff180fc39fc642757c6f9da5753b1755bdb3d97666db5deeba68ebf84609696fff61b022448608894233149a57adfb7919bdba06fdabeaedc7d3ac9cad3a4fd59dd322ce575deb82782a13f16ecd75adcba8d6f11a3dcfcaff2ed0ee84ff2145da222f4224aa6bef6c514260d8882d2e47d52d4b4b1725a4e55afa181878f21fc3e1ff936237fc077117623ed5a07e99678e7d1c4f31b95142da8e3bdfeaf2ff6442156f5605b22da6e7dd2cec5e9292645a19c8b4c21eabc07b59ddea062010f61c90e9fefc7f94f964421571535a5cbcdd493e0987e4dbcc3ebd3b7f32a36a6baaee4ce4b3a785944ca7f4ff1978cfacfa8a4335dd99ad1df3f05f01a8a0566335fcc768f88fcdf0b22c42313d614a64589896301861ff61611f0b7ba4b0ff12f660c0fcc3f817ffff1484fd8bb0302d616160c2fec3c228f8b02dffff5876620090610b4b80ff23debf54dd0d81329f6a47bc37aefdd217322717f4356d8d9843cca75a5fd360eaabe9ce1ef74fe644fda3af84355c282c71a38301518020c20ae3121a7c00274c0547636a302203211df62cd929b9e84041138c195cf421c41f320e7092ccf1a2e9e1512a95b081142d68a851a5ce0914e8c952a5082a2c3e9032bc34695e161160c05004009e24e0e18010fe0c7140a49629c24c97246a241981021a5510d990059105570d2e0839505fc00a5162403204bfe3a642acea980829460c1bb946518efce3c487cf408a2cf6056307798664e2ffc9bf628513041d11e7aacd11187870208c9f22b79b101c500c5bf75fbb6b5bc69d98310137484c678a312d18f2207599727a2b6ed42179a8a941de32d04346d1e30aa4a53f78be009d410c4b23413126e678c55acca4207520430c48310d1c21a92948c5c49ce1e0db78cd106374234d4fd624cc7f2c0f0c55b97be43b08e6e82f374160881955cb6af7b59c44c22a0cdf6694908ca6c6201babf857c48482329f6a4588440da3585d23de42cc2828f3a9b61af5f6093916ca708eae643845ff0f83f7827d190e09dfe6d1d7e31cb3690dc70b2a9163e3d55736db2fa3fac71af156d2db9905c3442460989839f6f5b8517319f556f50f0c1355cca3f2edbcc5b9cd16cbc9a6faa747ceded6bd7367de5362ac85180b564795656f6bc6fa8fd541e1ff7916dfa68a654ce2bc699abf74fdd1b3aaaa784d6d6a2e66b567132e61f46fcb795bfd784ab4d9a648f123de3a629673acfe644b76289952c244092d3647ce6be09acb3ae22d9e1bd03a59125486240a199240b112fe798c8411626b626c44888500c23fd68d1d61e208a26b037b6a0a629eee86c3d2d29ae2c235c1f174b9dc54135d8e8bb7bb3c1c8f4a0b0bab4bc785cb59e5783a5c55eef2a8700b4c6961dd705c5538de8d0b97d5a5c34959f1ba70543a5c1703b81d0fb7fba53b135bdd5656330f2c779d5122b75c26a63c2a5e57b692aa4d52afe09aeebedbca9a92d918fdffd7d569e57837aa1cd6d6d64d66bbe1ffeb52e5ac7254b8ad5d8d0705c7d36951c96c73e0d8c2c86c5f6c61ff3f6bba53be2e8e77f3ca716d6562cacb1d57a93d15b76aef97ae5a87aa380b4db5fe631da0a946532d746bf5bcdbb9a8b5338a335746755610f38298f71f6bf31fe320f7a32f8879ff313628eef83fb68114b077fdc7d604718f6990c17f4c0dbaa6c3adf7c6c9a4a20814f6af0493ffe27d197afe5df8fe91e6bca112842f16c9f02f4208ca01409452941cb6a42020f5ff2fd59486a42286c10d248d3367664d46c81448aad56a416268fe5fe96367b2afd7eb15999211c9f2391ff196ca83788aafa993e314c7597cc5ecae6bcda579f9b76a1d46d71cbc01b534af6bcdc5b7b6026a69e09a036a01b5569d52715e0d2b3c085f468b2c4a4a929ba43650417cc76ce64251aeb13a6fabd06cd4e88a838af124e6e9495531d50a86b3d6ccea3dba6be60da4e11d578feaaaf779f1e599b77ce38ca627e71c08d4edd43d89b9f3e3ee6ce0cabd4a94745c75693ba369f1d2901053e18ec559398893ec327b7ce0de9bd59425ea9f5ecff3bc9ae53af6341753f5c6e6ec247b05d714e72a99d394d6977fb320fec6873f8d75eff0a7b170c7555ca4156b2b6b42d37481ac29eccf6b3b3b95cc479b1f785ef6c3f85968942550c5ffef4c6c81d78605d66509c4d0361bcb7315182fff7868da63593cfc6521155755dcebc9b8316300a43c5f22e5f02512105f221dfa12498a2f9302f83289c79749505f26557d9904e5cba4f5cba42b5f26a1f932698e0b261d020400c3c5983f5f8e39e2cb318bbe24e3e24b3239be24c3e34b3248be24b3c09764bcbe2413fc928c952fc944f025990bbe24c3e64b3274be24f3c2976466589af1e211fa4c8ff6333d7ae0ff654b25938c29ec654c16bc8c09849731dd7919d30b2f63f2f33226215ec674e8654c53bcac7441a3d482c3975a007da905892fb548f1e516f2cb2d32bedc5240a9f414f64b4f11fcd21306bff474c22f3ddd710183490906d38c3a7dbeac13802feb14fab28ea22feb3cfad28e8b2fede0f8d20e8f2fed04f9d20e932fed30f0a59d295fdac95fda61bfb4a3e54b3b63beb493e64b3b6ebeb453e74b3b357c6927d097760e7d69678a25190ca597c118e06530a05e06e3f6321859ff2f80cc05a397b918f432a5a4972909f032a51c2f5342208072c650e9cb618d2f873ebe1c2af0e51037dcfa7208e5cbe1f0cb61d89743335f0edd7c39acf3e51000ff1f23c612085f6614becc357c99fd7c9985f8321ffa3243f12590fc12c8f42590802f8133182f945c04f0422673faf33227225ee6c4c4cb80b0781910192f03725f0644c8cb805cb9288087ad67e2a13f130f66966cc8d0b1144369eae9cba9235f4e39f9724aca9753c42fa7ae7c3925c19753177c39b5e6cb293a5f4ed5f0e514a02fa70e7d49457e4925fb92ca802fa9685f52497d4975f52555035f5205bfa4e25f52857d4925e64baa3332620810008e1b366ad090954c4b335adc5804e39916c99e69518e675a94c0332d4ac2e2ff958e9c5f1e49bf3cd2bf3c72fcf28816178902f832d1015f2632f2652206be4c04e5cb44f9cb4455fe5f00990ea6443e9e29d1d333255af24c89b89e29917ea6445f5e086028e94b4331be3464e34b43067c6968f6a52122ff4f030790255f02d97d0924fd128896ffc7f134bec70c194b3d9cfc528fdf2ff5587fa9c7965fea81e6977aa8f04b3dfcfc528f41bfd4438a5ff281a4e44287ac0d972fdba8f9b24d9d2fdbfcf9b2cda1ff7f25010a68d305a7031a8250c0e9fcff9fd115044e8fbbe3ec05d7740b730efcc7d467d9d3c502b20194f836796f67368a9cf2fdc3c47be404c3441f17c99d8161a28f20559ad434ff6e905be59443fa9008002fcb11e651bddee38a755fb56a1e7d312ad981189721fa2bfe9efcc7d2ff9850802fe01b78190e292fbbf1e851d98d2c269a5573b8f503321b46d46ab5238a33d77f2cf8563c908ffe3f06cc3a9b0d08d45aa738166e6dd5a862014646a3cfffd76848fdaffaa278aac7f235b20b8854281c93731f67d52cf43571ad851c0b73d75e5af3b8121913d4ff9b2f6342922d29fa20644b614c4b4b3b4b1bd2d08c271b643262d879a139ddd59a59aebeee562643f6391398de7bf3ce45da6ea730cbb74c5e4cb7ccaed7db0f2f577793ac018969e6b59ba34273d7b217359992093225de7fdb83e954d7ba5bef5a77856bed8ac1c5d5330a34c38197b510fee3642d7cfcbf9794df80c505ffbf838cc58dfd489223f5288919adf39d02bfae9985b7a673b4f97f1932a4a7193d904844bc158110f968bc30e328cf184749ff4feee9434e7921c7576c9ae75ff6bbae47497c9bb9b8db9f972bf6cc70459a27736455f7545cd4db0a22ff65153a7c5e5b9b8d1fb393146df1aa89e98a7730fb26d01d8af3ff6bbafbe5e27fcceb3fd645451fe4434a4945f944304cbc4990dc3525ce9a1ae541c2a09153a3a67fa40d489b95066a2c2819a13afe3fe96356e666337a51164df156ce5626ff616c3c4f96d8fa6edf5df364d3cef3799ef7c80cc83d729dee8c4d33b0b7ea9427b96cda7bea91199bf6a69f8a7fbd24b7673548904bebbcdde7795ef36661f75dda8c4dfbd5ebe5b5a3bab6bbd657fc3b6feeae677a9e5c6b1e6cda775ae471aa58eb54d99eaa2df1e60c0caad9a8549328d645ea189a1100000000008000c31000303020160bc5a201a16c44a9b90914800160a464b062210ca4388a21648c01860000000000000000880a06ad4484b8de79e8e0a7a1bda20af2ae7a19027a234baf83ed240da5069246290607f832b96dbce71f329489fd16cf555ea8f1491d7feb1c78fd37e1a789789c67ec1addf8dd5d9f60640580ef3c37bf2af8d1b80bf4efa2d6f5a473b218374a5042100ba31ec0cc32bba758e7851c4f9cb656beb268e4b0908599c1b0fd5077beb128fbc1dd699178093726e006f8f89faf3ad292fc847512f19bffbbead1c8f1218356816441a0e20aa4d9d9c8f0266a14ab6afd49084ddb46091c1936728f86b2f2619d56df9c098abaf4ae3f06fc857be7a92b1a8d2c2bb829f191c597f9daa305c85b6875909933b87f8dada8f79fea7e314a64ef515705f7a8259f3f3ee63faab8dd2b841a6121cd442974ba1f91c99188e0a68dcf32ca66ae49b4110e18ccb26492fe59cae2935b9b6aff697575789402ff2eaf29dfddfbb5605b13bce45ccee996e90e0004cd2165b0527919e08ef4cddd81c4987adfbe2a7dc57ef06cdb14854da4f961299ac3276cb8863a28167a3aeb0f555432fbd953b735f2ea015be726ec017d06dbd245fd930b5247b7d91f443cc70964bc3d89a88caa646e1c460051300a89c651eb4c895fe9f5343fad4857a510df7b2315308b68659183fdc9b9e83e2a8aedaab0a9c9671b178e1443a1bb970c129b17dfe581828bb2c68dd8d5d2f1081ab7db04f06b7980531cd7d8416ebcef8a4093843fa459b2ef30264fcf5490db28cdb69c9193feddf44b7da26fb9b5a359146e12469210d3778f37c7ec3a61540b5b408a874aa7b24aad29a8c54709be7aa46605943bc654e9640e5194a2a9a763eeaa35d4a0eae2172106ca2da9b1fc13a844e00a2057506b207cd68fe90d901d93a8c7c6c7bda101506bb48a69fe0dcf787a19daa23e3847fb2f72123713c0f21743df7fcc8422df8a6b396207161fb1c9be6d64caf6bf93a73141ce42b3ca391ad88b0b280289ed8d7e9291e7cf3e33c1022c6eced60251489f93c79d3d1ab9c38e3994d4e99e06948ed4c96425e3f011d5c2646a2f71a10df2d197dd73ca77a16ed4b0d0f8051e50c7715c85922c28a0d901f4c422babb03ab936b83ab715a9c2eb9f8398ec3a7a011a7fecfd5d7972460a61bc0e26f3c30cb34c811993085e378f863d62288237026c6463b0461fe4a89fcdee1cfcaa140a5aba147035f83b07694dcbc057eb919a232014a2dca26f2b41d10b5a0cd9eadbd9e0acf9e187d0cf76cfd4d3dc3689ef74e5de2d34d36a57e483ecf15cb2608d03a5e6d7d06b9a2a6f4d9b385c42889c3f96f4e3083b3054cbb261e77990a0bd26dcd48111cd60a5db02cba2da2e8f3c96bf68932d305ccbf601ba328afd8dc729a3a0968a53a92fb62b743b38fc21ae591347604f86859875517efbac3cce90b4c6fcbe30f66a450ac2c75f2860de3091e7767b6f35708d194853116998d2004ddd1db0097ea896546e253ab9670796f9b95c34c2819bf3cb4c1856196f83ccc0310df7496dcc5ef1eb0996114df113d4f71020a5ee1777f7d1a4598d83fd3355de60f5ea02d8e7449356ba41ca2f37a46b2a4867d2c001033ef10733ec4a1a091fee3e8d610f85ac3e9c7517edc37618dd7ec721e44e43f8036c4d4d1df29d403f833792eaf98278ca8e61e5c5678fce0d140b2bb5fc8bc94a06f5b95aff34a30159c88032dbfc925da2e28a717c8dc164b2edece1846ee4b57b6edb4602946a90a0d21124a8decedd636049ece43a0404b33153994ee74a242fe42a21b6f42ebdabcaa0118ea81e5093a9a3e3560f897ac3fd9d30941117e766d2881c84043dac5ca6ec4d7021f4f69e6c7d9784dcaf3cd30542ca62f0d4a09896b9a1c107cff84fb0eab1c121eca8fd0a7c5c1e12f9355eafa237620c77504bcc15704bc7f2b92a1967c8f873eae4e905ad621eb3505948693b427a1d1e983c1c6408426742883b174ee1c624e70f9fc10416df9fd8cb3410e22bd815ff468893c31a7f128e0f637bac5d0985f1b1b79d27f5ffb12c1c1348a1b4ff197c57ac9385405548f25cdb4b80f54578ce9fe1f766779f300ef1034b1775893a27040932a82f22a70d28683a8a40e69cddd06632bf2dac2a15c51c32a07aa78367c91d288c6dba3bdc02b250123cae4e50789adcd794a6e77e889bea325d18d5105faaf929c6cc4a492a85f51b7d52e6dbbe6abf393aa3c1c48674ead6580d2a897ddeca9cf571c41edd722b1bbaf35c8d1c0054fda5ef50dc78e2bb469e8a2409ce79fee39305f99c376eeaa115d3f80368ec25dded1978fbe8d114c98bb458c204372b81361e4dc0ac15b15e087ec3553b244d6116e842716328d293312c1076121a9fec63b5cfd0fbf8a5c9d6eb270f956a69f81036c48220243d3f151758f2edfacbe3cafb71963a97c3dc0ddd7fe39dd8c6db62a37a82d9b0738c34215df4b45bc75050e8d5912ec327478399118eb9cfadea7d97fe2753fc8f1be87953e19e46ad5fbacf28d51f029645783af5f05197cff5ed712e2fd7f0f0eabd54b44631133d35a5e8d534912fd243ad306b09a20969b00b4cb5d132561fb230ccfb966b1768d961e80e34a8dc68c22cb71de9b806596cee5422471644ae9bb882d782e521067393ce18218aace8c5e136f95e025296be72a088b6188322daf1d37893ff311c39f4c906c11d6e3c2e68167cc3e61873d6178b0ec896f344e8b471ada3182704b27d53623ff050a3e8f15fbfee1758d4d1f0f0f56d019a4e3955a5c7cc824e375a8e0bd81331850d69f5bd8038c0d7bcb14d5e2efb317318431d7837bb13c02b5c9bd26eaa604e884a983f855052d1553e51e65b1d22c5b6d2358905db1bc6de637922a858d795ba303a246225b93f288254749fca289723bd1c25e9d90a630e7e31fdf73cd206ae3422864af203f00b3810544c4164a01f55dd07ec53f1fb9aced28931e1d48a595c9465f90f6ba992fc816aba6386b472c9065a369d053a86a1b2294fd0df2698fc02e167e16db8740a2686926b18bad2e7b61cc01acacf07a2e73aac39d950c4a045f48cee50d7061da00bb1fe2084609c615e2e8cdfa3bd8e3aadc5642a1b92c09c0e6d8b9513bb1db92a3cdc5b1e845d1a67990d6e72f76443564204bb8bcd7f11d1bee35565acc6e669301465290260c94ba50ef35be93583ff0e492620d2e942325a61b44bd51e23fc0f3d3ecb7bc2eb413ae9118df44c8272fc148bd9914018d5ae41861a28ef572645ff25aa07bae785442216a027b8c2c1501a008deb51c20fdb210c88ff8f7626f0a698abd7394f22ca7027a387e5c7e1dc23de3de0c6914a7978c19348ed2bca82cadfab9ec4d72e77fa83c08bb906fb220a53be2e0c37a4025d8ee47f7aadd8bf6ceec8fb5b135659b5cacb9fbd180f925e133f167977879fd61b2198dc657dddd2d9b796105a0d585e305bf90441eaeafc91c7ad96e3c6397f970cae0ac02f4edc7c91e6ee0687881d2ddbc9a69d663ab941ac60609a398048bd2c1e82dea6df12fb4b1a8cd4a2533237190307ad2faeb77e88fcc7dde805e3b991602387a1359af155bb8eb8f765488592be6de1204b6a719f99c6bb2efa3e9ffb6bc435c78ca5ee04ed4b3dc23813bb373a626e922da8ba8fc1b524205d040567706ae75953711872b00025840a10b436a2ab4dcd28b817c505809ff0518abfbd7e082221c8a888371edd95aba8f843de680343035f1b30365e94a1c111cd12ae51dbdfcd034fe8e1a91103ea38c4aaa18396cda57a21c6c8f5ef4bf6050f5119221915e13b5be362a4927c419dae357882d3ad6c72b9031c331b356cc0a23535698ccae2449802cb9d2a7a735bb7f89740a4d50ad106d998012149d73a46ee5d5605c81aa0b248705cfe1fc452c0ba39aa1ab54b8dd951f97bcb50d4d19aa7e8b3ac2dae0faa6c1d69c058e6e787ccd881e76f150da300a52feca1a27c12c8e9df1d5c61a07d20278683f5899fb9ab66c6742865a39d5b269284fd9aad513174d4839f81fba4a12ea7b1f4c12aaf99dad573185f16243a30f9544c7325e4c2313c3c9cae3449d69111ba577d8aa079cd6acafd8ead5f5fffecebcd767301a0b3d32584e5fd17c4d5fc90c3816bd4fc107b393d2d756fdd65d5d80cb6f3ddde4ff03746346921fb197ae02add01f15eb452959b304f58f013ef5a2af6d9d8759462f59339b8a509b3da589ddd3bb8cf95eeff193568e42d89f58d7ac65390b6a485f7345c064fe4e1668e659d5f85949ab08a3f39926d6475d4e1b85b0115e44dea39229f8957a4ee5d5df7843318abf22db2c2f7db48af3837bb851b2563fd866d19830e99c7b23c940d3814afb42aa26e106221508e44ecd9602551661e16cf08b8d23ba0445a0facad48777e98c27df6ce497b46731c9411c68c422aebc07680b42ef9f39bb60a8937775023ea98b1fa1eb14c3e6bfa9f79dad417a79cf6555732865c6485e4eb7595a128f3cce0ea687a8b5d43f1ab42de4a41feacf486448696ed76d4a4da83ef7dc9bda8e0f0db8cdf79fb05ab60c0ff923d62ec252a5ea88def89f19e2d0342f9b4eb1496ac1862d4398cef4650788c609c0910183a5837ec75763e70c113636941353539edc9ff6edcd21b6cba59ca021cc28c23d05684bd31eafbc1f00289085bf5774ad1387abfb2754d617517d664f1204972b0fee93b878919397e5288ab52a80a6b78a97b64b2cdd210841cb4183a448ce4c4e7cd8a853d72c43af610aabc48f49eabfd8ebf8674a5db7ebd9f9207a26c3fe8c4b5ce2b5f07d6b45ad77811cdf45f45796ac02d103239f2ab84958852700317b2efa9b8ff55e318f82d7663b06a509e896daacac18d05683a5c94ae36dffd4c354a302bd2c9bdb08148902457bc6467a765f3e40ee7ef330015029272e7249b09f924324b11988bd46b6b005bb7c8e7ca153f1454a67aae2fc3ae6ff4903b99c056c01d73dee63a3fcad5b078c9d7ff285f50388ed84b01e86285f1639012fd042850eda032323dc2f663622ee362152ff42871c612d05fd424d29284bdb445edf1a9df3dd017a9cccc46caca896af8d0d0d57e5fab57c14fdd79772a1830671ff5ffbcc87323ef5b78d1410c6696344fdf18b7e463316ceb63b3ea8cc70d6ae4dd5c2d941e884a6a35b72aec30fa02433955a773dd90d16068962f3a06336130e21e898ff246af32cfc40b6c73d0142dbc58e7be05d6e1473c486f3454d1eea1d1caf936527ef1bd01f3693d5eebba6996bacd343b0ba1e65ae545f82822714acf1cc668b66e1416eb60146ff9e224e6bb7056f1f306e2de738f71e8043f9ea954ba2af8faaf45df40dc47030f433c1f9b39b320325d893952e9a068b41f2864b3cf8f96be01fc1cceb24f1cfe8bed14f61630509a07d2cb982a6d86a90dea8ef5a64b5c7491e3ddebc42c7ba648f49cc12cb2f5d077e317dad9164b80d9ba95f273a299b63de20ccb2e598063efb3aafe92e5aff66e80caa1d52587e8feddfa277fd3290dda33699bf00d90fc4cb11bfcb81cdb30176cfdf3c0f60748863ea3240f2b18b85ba2195cc31a623526d75fad43c8b7e698ebadbd058c8907e862cd39a163ecb36acf9154016f2e206f8a4c2b9a526f881fdf11fc3974becd00ceab7e536eea87488e031539af5413673550ffc32c09c5a8d6f396c39f26dd4a9891ceed5b20e0d112870a0f18044be6e86daa6f3cc2f9ccba557c099d20796a90755f38d8493810bc37d3d777431fe4d75d2ed74f5348ae16b17f2b8d4e8004efe67979e41c00bbfb65528d81f16fcb9b231d89b7a205e553aad1932ca48d324492be3dc8d9ae2827f0f971480a92d6e4ef9bc40bfb254da082c3a698067ae97ffe806f459917a38a3841283e7cf2899bf6222028f38aca90209af9b8e2512e4487a71ec43740d32b1b8a25e3e20596517cd0376c04f722f9aca170266466de71c1c0591e54755cc4ec2362a9c7fab9ba9ef2b129f48456c9b885fd6538d93084e4985efe840f8e4811a139633c4a1f79511b1c43da2239f0ce4bcf118decef06e98c2ee7a2a1e1a48cded8185a0542f9bfbd8606a356c231d50d0e68fa72486dbd0f406b4a33f31d39f77df709da674fcf68b8bf53843dfa077f355511aa3e4d7ce117618dafd208caf3b272969b19989b208b18bf40b0eac2120f895b69ea846a0fc9292fea4d57571c2fed606e32bf52d92ffaf054f568695910893cfa6296cbc4cf163340f5757e0f80b164fde2a0edb21ec6cf5632e374f3dcfbc38d12eae225a1ffd6e4abe8a76ca53a047ccdd8193654e73f75a1c027281cab01a3485617e277956c9114d1711219e894e497ed11a186bd890e2db07c37c4ac9a8c76d7834f268a413ccc91498aa4da239c26a69e6304432434a4759456e9679cc347a092e635d06216768169ff845ea2570e0bf8211118a36f535f983255452918a5b97eab366e31836811a101d90d57e0588439d1d88bc098ca34513a124e2009fa17d29918711bb3d32b684894ab11da684e9caec7ed6010e2c040b2cd42688815350cde0f9c3778086f8cb1cef3ba87f78f6e37979ab4a26fec0b07386a451d69ee9a3858480daf7e5b0c22ff25c504b58f5523181e641dd6e24efb104595a82dbd73f9fa9c07e11c36b19fdfa12cec6f1c07d039a9042431909f941a4af3b278bc4a822f628379ea633d2ba19fe2382c29ddbf977c88eda8ba3dc248088d1a7e5b81814522bfe906fa1085b197d12e86e85f9753b40a98f17ce9762adad759373ea7ab42ad47b1bf8917a88f19ad8e31726b5ab41020085e0833bd004db9cfb2a91754e27cdce80f99ca2a0dd59702c8f4018b107e6673855effc0cc8821e80bf24909a532168393d464d59aca94cd030fe85df00e02def51cad481e3d0d8fa441dc0932c02f5012f0d5d933da32d3f6a2aa6844dae24ea95286d899c873dd77767891835b25222514bd8af396f7ea22a446e68bbb13e216b9c2795bbe5a7a870870d496b206f10c09df978dc0ddf6818ff55f643c21e24559dac7fafef0e796a8ff999644827a1449eeff28a1296114a7e0432ecf5f21246b1a62cd89d90c2a163e3c0690bea42d794a0774a656b00d31f52d2682b7b44e9a33158697e2b2e1cbb31239c4d0e04a007928468f8d49d01d4e2b38d08d1258bea91c26f2e44b4224262153788c535688038bd92e4c98c1d8e992f6c0a1150a6537c9406f2fd2762bf15b091ca20488a9766424b332b08dc3b9c17a693999bc493ed4df3dbf936704e9dc57aff40263edd4209f28390668e9430e4d9c4e01b144f379a69e4ebad078f67e6ec18bff4ccf5741a4789feadc50f6f6115a6764fd6ca471fb1d78822e31c38d8de15d6bfe58d4d755f03c8d2b3b4d0b6268b5c1fdf3c74cf4f7a756614e1495ea60e5eecceeb807f50e7efb23ebc0957ec7ea4cef89d1363603f1376b1221b276a43af055a338a21c55e26a3d0ff3ff2b7d1e628e9182775caa302061ae1e3b3f65e005f7f1b744c452e753f7a12b4bd0162741f3dcfa4218e842fdc612ba82321e83d5bde930dc2a34ccace26ff60adcf4590789746881781b0e31c5e7ad94a438c3dee952f712d082608648d2479481132ee5bd263653a0c84f37c0a076f5106cd9e83deddedd089ef1d1f8826f1dbe0122fd2513cf2811bc67df35ef68ce905cc7005402317e61b9b16cf0ffb7203343c217932a9d7afd959bf1a95ef0817a51997d628068227fc6960e3133e8504593378a1fb6cc232ac37a5acb611a5d7c8aebd0662860cdcc84d30eb01ac7eb000f7a07b68b912ad37d00372bbba82b6865181979004b2d4eb803f5168e889acb7ae51a200a55b06fd6b39c6cfea269ed00ec793b489e3d6fb06e94f6367557d5a6088617a829b702301aeb71303f9046d7fb02818c06e7a7bcf1caba649865f77aebf1548d16566be2f2bee50af26a481fbc33c7255ab3079b63fc4d6c74382f5cee25560765d8f8e4e30943f0543dbb47c59826a6fff5302dc47b4001b765bc530ddc206c8aa690562bac89a1ad2e3e155ae70fcf5841c46626522ed0cb09b42f784351e3e9e5f7caf9739afe0fc7f2faf35da14576a52f969e9e0f0355887c231417aa56e860c199d3bef57b66d7f85dc31443b0e7569579d417ab8784e31ea934b6d0e73b4ca5238b5e53d441565a89146a682ebd22def4d255adaa67d62a7bc0f1b4c6148d66448cc7402ed4d95cd1fd06fd692c571fe453734f65baa8383063aa4239e4207a1acb43a47ba06e1abcdae4115b7f70b2b8468ec3880ef56371ad02753764d11237a3bf1dfe70fa4ba036a360802c66a829a3dde7ed89a20195bf5f7882a702056a9a25b1127d468bccc1392cda4cef676b9cb025b74d0de789f320d25e70abc72f85451c03ced4dd6e501d9de231976357e19240825e6ff2058219608b21878159ea1a86d6cccc80005107b026df222a5ba8b4bb1028d24a33a5d429b9508553111d4a2c06b59cc1ca48930ff0ddd1fd8a4110382e70ef4ecd2916bf72de1a9dd09334bc368446b0d8f545368a79e22d275a858acfd8ade6672c7e92dda550dfebb99abebc9ca045388278d1826e1a7b87b4bff55f3a273b83dceabc7997d51d9ebcd55c4ac94c91cd8f76716b2442f3f642d10fa60be05c2f902a8a52ea20778b810a8e180a0bb8ce6ca293278b073cd481ca87f211136471deb92104f62194c1e2bdc3f8e67c7309d861ddcbcd3033b8b636f18b3c193b5d8d83473bb21537b436d9311418f9d11ab4b2493bfc38c0ce66f155dc2ff95f2d4c9b0028c19932d5d19e0e2fcf7e80441f730fca2fa1f16f9726dc795a4afa177c47f92116c1c34d829a7d62af1b3eb713507162edde52d889c1fde6b12b771a40c2e59402ee81388b3672ade7d4d44207bf955400cf7c17dc75ebf9e5e742415a7d971f792dd47a6a6fdb80e12641727746db798ca94d988f532a9fdb5055657b6e66c93735d1c55ab4232e6d0195be58c58473d60128ea889932680afc1a00757cab4c07dd6aa5087d46971fe026e0c85357e820def6f9bb3042d3eb4b812418f5c53fca8094440bc4f9bbf630848f2bff08d97ed8045eba04c51e01a5f963f159f32b0f05b8549e10759058e905a12d9dc63d9465c1cb9a679f79ca7ef17618f01665eef9ec127337c2f00b8ca3735ddf37f345b647be4797c0b3d2977fac115d606ad0f435626a41314fdbdf13f541ddaf3b391ea585ffcc9d8ac95825d5372403889daafb1a8f582b4523b9f2483ae267274581794db9a032ec341606239d139511c0386008bea3223e173aa3d699bc6730d441a91a1f5a270cda7b279abfaf7a6526a17e11f42408aa291b9167dae8a8878fa532ccef155447e037768a6ea634efdf361566694223044d4661ecca8423b797af02584a3c4d2823a35de6eb955d85e80718269df777f0dea7d6982e3aecf2d582a974f5e4da94373712a465d803519cd5ba9048c9d1ef01ca1138ea1d08ec3c0b4e93e5b437d40744f024d623af30e48d4a107147e479ce24eda298aaa0da06b0cd3c7df78bf54aebbe03837b0f99955605d593c801b30f1ad178c698438db212d6a09c2c3d45b4be97ceab795151442850f8cb8e10027ec8e01f2e0b75121892757f7a71b9c183d246d3daef3109303867425410c50eace74b6a4525597467f3978c60410178fc08406b03e87ba03d883e4bd2bac131c4e3829e0ae36f15ec0776db1cb2ef4e41ec376a4280b6c74553690f4908a6f88b3b5fff58d8afe78a22b51bad169a9430ea31d4da775d7b806f5a5b15e53c0f26d9775c72319ee96058827cbb0a3163fa842c0f7a097b25c2a700fade2820b0c505874c9f1b286ad6cc22ce149f5579fdf8870ccf6472e4a36a8f73654927a7313178a7fdf67cfa3652c6aef80e5540a42c313fe90a9189759ab629ea0dab86e0fc4ab749b2fccf1ff015c652ab07f722d6f9161e1730b9ee9dee61af2ecda2ebe97dad6600ac5c1d6ef9f7b3673c5e5d59b25db0f55bab1e5fce379ed08e94a909b882501fb3b09382e97100e334524e34d56e441e9fa5f22888ec0b35deeb8f9acd5fed2b6d01f36850f3b9f42c3fc850ea0dcf7f5a2395b34e0e84367719f02fa4be9c6d307141dc40c2726f9e322a8d62e2f09a5d3a42e06876ea0a40b0e3e6d9dfc38999e95fe90d40982330b5135181156727d1123c8b71cdb6022e180fab12c7709e2c42767485d62d14e541e42bcfd28e6d6e7cd2d52c57e8c82a4b5a24a58785b0e4672341f7431cc257188860320196d6f3ca6bc00523920bd308a5da2ad36666475314f729fb79d60c7f9033ce3fff9ac0f396124058ea3c1dec79cc45620561febf5d85f6afe469ace9d3dfa8d46b8f6427f12b7c4d630d4af68d5b9b0d3d1d9f0fe610d87f9504d0a76f0a6282359bd5b56dd822b0349cf890f47843faf30fcb1299f57494d011404bee187463ccf714b487c86dc68321338bf7b5d68d71be03ec01f01231ce1ad578f0fc4b10d25a7c252c7a5876bb03da495fbeeb7259ba10031cff0fd95cc93c2a5e4bc2b27424cc36ffa31284d54c9a38280116027bbf63e519d1c2c576a81f0352f34866b5e84a3bb90426f38537845948ef3474166551829e368d406c2a80c52e33f534851982dcf70d1c944afaccb8073b4da9d17cb59ed50fc6dc47cda40f5884fd5eef687ccc074994675f30a96f92cebe82f1f313ae4a994154b6d69b1e39aa7df63f4a61ad1ddf2b8b191712d410d6bb2a8a8b1a86f6ec4962c7ebe297ef7e1fc20c608f3fe9a347e4f0bda1f749f06682fa62deb3bb4df4df625c05ee6a3fb059ede2826af76c736f2de4ff85069109c836d06b75163906c5e5b36b06c5f57b2e32b2c6a804a74031de853e7a78d90b5310f0e13fd16735e79578b853109f47598a22e204def575d35fd28cc1aa893951113bb2e60b9c86c7e0cb9aca21a75f648a3c3a2dcc70ba4856d3139d2c683af56fbae73c5f9a2de1fe3dbb3671f7c7a388f2a0a1a0c61100443e28172b374001a06ad7cde2a62c4af29fd7ca7f0ab8cc3db64bd89902039b7e7e5e89ff7f4e458a51a50db65128ee701a27e44b614dbd7a49b1373df49fd83fe4add69c7e8e954ac29933a696d6553b58d307a22d7c44afc9540b3054056baee56ade56316712faaf888d85e76271c68307bbc3013885f080b7db389d2331c67ae31e13de8c74eca1f428e07e4547fd4b8b9d6c3ac14e58f75e0d4ba738d685782ada67c1e2f7bb876b8b6511a7ef806eed15ce81f389cc4dfe3b45be7e353d35d42035a8321efafac4d6efed143feb4d4b46b79778d42f7820cc15010f71b69d9ece536ca7dc607e380b9b7401afa5e65a1f73aad3a079619478b49817b7d234930684e1b7c94faeab93313d9c5478aaaf497d6785cdbe8c61bc682911486de6d4b5c369ab71f2156f70be9be9e4e99cc1ba40f79d5a0872d9d21420cfb83455afe0d32e28115cb240319017ca96637d0963f83b8c7dc86a4c143f4ea80759d348cc6fe379c1ec5e57599c58426aaf3105aca673ffb67ad7bf706b8f3fa5154fb77eafcb33d08c7563124a4d435f3df19e6254aef3e5dcd36217f8d7a34cd788bac233b9941ce4ce2ba2d193d656525a54995444b7f0dfcc0b45eda0a9eb30ed46d5c4fdf9223d32468583a98481b3b526ad58fa6d751d99ef1dc3304d1f2b735005381e0cae6840e001f8bae92144e6b514b44109800ddf4b6c88c56f87c2f073be057b1ba4eb6aac1d77ba8651dbcc3261cd318929efa563003fc0a0397829fc9837e4b37daa2ab458fd66086d318ec8a424128171ea596d17767cab6f20be174beaa2f88cd83b08d799fdb5b70a9ffc71b9b9e6bb854ea964466366f4f54b84b1f98f93525279ba8e200c77be473f2b20247536144bbaed1cd491fb1c3b0b4232fd8646ff68eb8321679bb0a04616ba96794c0bb92b21d6bc59c57a93d39e4d690244dad8c0f5d3c1ea96c3210acd3c052ec6d0c442343c5a52e535cef9ee50b12d32bf68a3e1a68cfec13ee20f23c3848f4db299cab425acc8227c1187f55b779394897dfb29f26385bf242da057573efe49690ed8156e0a64d5cca83e8cce25c235338d514500a13122bb845172d6c2a7d10ec416fd61ed59bc2584b85f11d5408c92a1e5e32642d2081da76eca73385a2c61157fd3ea44651a2ae0289485e9121c7bac5d682c90ae3629d2fc7d8020f374f18ce78f01cca043f76602a5bff40a5d5050a929f4fbc6d545fea48dbe701d98863250ade515666d5208f27405305231cf15a892a3e90171af7c6377399cd805dec5549fe567a447d7691e7c0856994fc783b860ed21d6af925cee8ff725691968bb620bb9bb30df1263adf1670869d6cd2b1ca38eb62c5bb8cfe98c8502321c3c8997336067d92339a7c21691818e231ada1a242c3c397ba70c3770f3abb247e13fc5991355d2f1e0fbcee99137958d2910a03da27d352c63459ce1c74356505fea64f70ad6df8664a1305ab1ed5ccdc170acdca59f820b6db36c64f4cae9ceb1e5748cc9c7b734830febbd837a4d27c6a54e78221e108ef17faf58de41eac8dbc92f3a00b71a3a042590dd857aefc4cc978f5aad87090e9243031616dfe1011b2df627ac801472b3529518943030285c9a5f56e8d37789785bfc97bb579fb08ebdb0ca192418a99af0c5b702d2e19638614cdb38e947dc373587949938a49e109447f7ab4e839f2ef661209f641ab7b16d0c69c35d61ba6eb9eed5cba1c203e65f5022e5a4470d4415f578c74af2750468d7db001539ad9b89689b6b7c4ec6d4685185dc7ae930b8cd8c7c0b5bc0577d73dd2a60d1275b4de85af2c5b1890f4917b49aaa434229b591bbf9a24d5188ef3984487001684623ef0cd6dba3cba69e6a81aa0e561f0dc08995c4053cc0298a0b73392dab7e5d0831391bbbbe690fb45b7a2e9034309c2e01e283b17b4b090f16bfc861cea35e503e26c1d7aa22f6f6294d1918e4c4919208fa485fb02ac416c8ff7f4fca84dd7f207377c7bb92aa0d398109e73a01bcf94588df31105f97bc262086613c0ee0aac50863cd37d8b62a0167f105c0e796cb80b152becf8ef1d137422d01a8d84a1673ce6aacea5f32de67c456e74c86d9e65fd294573c6a8f44076c1609d07c8a148aaf894deca90acfb119d0fc3b5539ea1b00ac069776420306adcf41a060c18b296a086b85a16c7e3010f2ddf66f703f2f4f493d900a5c012cbcbbc0bb18981d0c7f012d87a49f249da816d6c5359199b7b39aac69484e083c4df68b977f18e9b5e76930fe87d7fe41579fe78e95a59b87d53341b159edb5213fee122b8ce45b63bd0fe87c0b91168247d42a032984644402f33925d818828ef9b561509386a3b79ee888c978d841555a0ac03378a6101ce71feb533b5ae57202211611392150c06c8f3df1259a8dc51b75ea73f111b4539e74d235a38b8e5f25608312092b8b843d0b09228d2738e5243d9e9341812c415d3603c2056ab33eeecfe90cd4a1a57fe1923f85d94fdd6b11f696cd883431ae75e69e170d0f46dec694930144482a2ef8e8d1b406bd238ef6b27efa581a0be2a6f5676a51e36ef1e6906d9c06e10a686f8e313c5a549a17110c8196ed6dd7b28dd108a02949713ac553438d9ba899583786287ce70c79a79eb32d81892e7d7cf6c240f75fd322cfc6522a28c3ffdfe42dc2a8857690212ce6ea43362aa65332e99988a45d6ea7fabed62aa56b681c201451d247d0423441a169ebdca5cf6d19c03d764335089edd0149eb496a908f2f563206506bea61cfaab477a08f439b7965aca5b663a0ac4712fc6c160360e87122a8a5b41bd27c249044d2fd227c1d99f464a5ccf735eeb3526ec875a6e07def8331a909f3ec9cd8c0141fee4e2c22717c45d220a6ff00a5ca40a7a1c737fe5026dbf202fe2de8e011d0022238eb59ea00daa142761560adcbfe6a8a68eb23217d4f4bb52081e12b66d989e56fc203ddecedf88bbe4b7373bbbc34a299d4d307ca6f5cf25a9576823aa13d7139d70ce0939cd20411cd81f78b695a64f4cbc8701f74d56ec8c652fb256bf55ee532b9e19b6820b0dd712bd6bb00c49cd891e01b23de534ffe6ec4a549c9864c131c3e7de0a571eb451cbc4ca725c4e56ad6819c15a4bc1630c9047a8a9c4506ec1425bcbbf3043d446e2f8d9a70eae416703f6991c3b190ddc360f487fca525d4387eab018ccd4b8e06c1d111d0c46a95a32147ef7d471db48b9e0730630ad0ab63edb9a65f8cdc962c05b25cf5e0044b8bafc6aa3c26ee339f8c0c032f459fe288757eca38b17becd8b5238fb3d8f1bc5546291897ece745bc855e641866131900ae67f4fd20d1eda0d4724334795f0a417f670bb75fc372a61b975b316af57a8b5786be6b99e19a426882c3f6db08b428717b2f4b839e3231eff6697f9b31af8b681f7cdb3b32fc24989a7492fd798b13c390efbee4cbe7e9a1539d20839ff21d9005e39ba5f54abd2c8cfb48afcb070bddbb17ba75e3f7e926597f1fe5633c5b10911875eff305e3dc353a2a03cb41f835b334572874cdbcfb01aca83450718e7c9f5c7a16bb08bbee70b91b8ffb221bc8b53b39fbc4778d248522646923e969e8fefdcc01ee0611dce1441d911a2ceeefd999cabe2510e829e17b6255c9d3aa8d1047e79a879fa0b779197db076d6a8be9c36cc2b34cfb7abfa6a9263057f3de394a0b66c062ee72d3a4218675b2e694541925950164718bc7698a32651e76bfc705b8497f194812c6a6d28ca7b6455c443d22daa4ce6ca6664dc7cff483e4174600ce1128ef6c8520ee053c11f7bba9f7ab0741edda1dd7eeb724803d10333f2dfb2bf39599b944f1ec87ae921c91dad54bbe9d3630d22d146a0a202f7c9e864c3fe611e0c3570e40b55197c1a51c097b1197265a25afc4883836f07d040437f7e9d615503a25d92f53d290c03f68f7223b5fe282f06cae178dcfbe092fd63aaeec5fd8e2818b9a44eb4831c014b83823cdfcd1a26bc70d1512e40209854b849d70f941b3e79c19376840d542200f930d06adf291f24368e1d41b4ac4bf302286173c697ffeb0a8aaefcdf565406e672480d0a93a18e05fc50d886bd461b5c382f3a380fde8d73c60148567c7999d56a6e59eb2f3bf73ea60caf9d901dfe8ecbc5f4760c0c784b63ed0acf9a5ef37cca3fecba835d91b7fe6485d4740ca2a7a1df155c966f83a92fba2985f1dc760097afbae2359c125658298ad79b43b4b67d3153b2b92fafb964a3d034bf833dbbbd7e3303ade3153d90530d9be4e19acbcac2259bc0679523516d9a166de11c7d9eba0dd0f4c281ea52e09554d3dc9af8ee35de5764727aacd31ca98a7679e5f8ad65ff53b238705c382103846df9199492924c1434a58127de23837cedfbabf78592f73984a8f8e0329561e043c28bd06fd5b23109f2559844f63a4862622968406a30236542995d94ae6b7bf6d2a0b97d4177f1a0f9fcac3070dab11fbfabfc09a7563dcce928ca254b5ee0e3264a8564964c61e1b14010fae40bf104bb0b26250070f0928b058b9bf79ef0a24e7bc02ce458a106c730a42ec227085d3a637138d3817386a9c0391ef01591860564053e543b7ea15a423819fa03279b1d9f6b3987a96b839d470411a12eeba6f6b527869d60a24817990b0bb2d671d86fdf5cf5c0bae4136e3986b553594e885be97757de0e2544c7eae451b53d32300599b594c4d6df312e56dbb9da9fb40b4671cd8713f404b92c85fb84a7c6e6948bd750f10596102ba5e04426833d85cb21fab0265071a2ff46ad09b51067d5e62343c108cf253e06580ef6d0e8ad3503d5a49f0b2a62000f73f97461c31e56c1892f82983bc33ab16ad405aed2f27a56404661a8ffe2d7da7178f41f7b7886eddc84db1edb04be9f7b8474214d4523cb4e9d7e50f4b23702eb14e90a2554d73018fa64c8dde8fdaeaac164d1d42852e442dfd44679ed6d61793c325eee1cf7ac1bde74a2565d9216bcee6505d17b04959e4cc1be932e738719835b6e99b0edbc3e186eb0e8e9148c95dccf5a99a89b377d5a1bdfcaf94815113a4e110bfaa0846d37042413c53fc21c42c867ff33cc99c44ae243f2a12d5c733604540d9263191065971b3aa53f40cf82c2fbe0dda9edc5842ecb776e2c9ce805c07f9e9834d800529e611b85e204377d6a186a582333c87ec25752a1a971a9b03c6e77a8c834643a35f4e73a16806394e50be86bc1760860bfeaa9acf931da002df90b187b7495d1f551d789153a010efaa9f9f73ad1e91f6d7b043479670f8802e308b31485276f47e9f15225a930eb22a5cb2aa6581711fc32e3f805d2ce63af765bd39b50bec9730833dba619da0b62a8f12e3de79cd9fdebcbcf3872e9d80ee1d9c55c7065e275254d6db3fb7ced1f49453c05d7eaad1bc1e8b3a526b373b6a5218fcc393dd20ef6f13506d22085a2a17c5adb1d200cec3af04020a0e5e3b1d61916d01161edf648ed0ea82535bc22ed496808770cfa0032d80a4e046af9de83e85a0ac515bd25de19c385cabefb9ecd201a6d0bd95b70452d2cac33908d18ae9c6f566a8988dbc0a47245c45eb51c5876d4ac8764a557563d80040a4b01e658992311a69740e3e74e14a1ea4577c438e8e22d658d675368cc3b5b7a343139445279fe13581dc3757af72db8457142bf89e07fd19df0e1580ef16b61260b1a10a7e436b743e0d02d3b241b4bf123708b31b014b1f42fd815fda028b6dce10dd75704005941dfc92872208b135f8d774fbf12a0389ae336f3096b10f01d3b85f65e26575c7ca526f20cec4c2b0b80c0b2893b57562efc8287f1f000098b00c62e0eb93db38b3db98faf8eb49cd3498ed362af0637d7e68c811f76e0188b6d7c3293816f6394671dfd13b5b2a15da33754dbef4fcf96d5581c11de0b3330afc40e0ffa5ddda2a32048db212c950e7f88621f8f2e12168acb54c4dde5d853265e9f3ac360afaf6f512b1c95398a2ffa7edc029fe2e5a74b0cf8fdfa51eea42a90d14da6d4ffab02371c0330383f705f86987045e4142022206cbe31c61f13007a80769ba5f87e3afdbd0b65ff15171437a6f6e03c45aefd2b3eff31fb50311a55aa918abf13e63dc50eb43039ef21584a33259b1cb0a52414e5251380a7dc14b14221d01722692cd5148d635030526287bbc0fea8e8adb743531fe425a5642771b883f919bf963356dcb48b4eefffa4e9cf245458004460437f0892a52fa24d055efcc3060fca5f760ef6590c75f09063490fbe8684d384251ee1d507f061091e77e2abad35400e9026402ca84d8066b20ee59c920c7e4eeead4cb24bc07e4cc8c40a41904695f82461b9d427a3cfe1bf127337a18909b884752cfb2a6ad080dc4077b515d93fe080cde9962f2c0fa4e3d04a08dba55d6b7139fcab2391067605b3471462c27e813b2abe9609b0e542ac483132f843f580be8eb652415478e05672a0b8939024dec69a78774feb9b2f9074b7fab0d4337ce785b1ca2e8c8a1866844dda8b395309d91a5daa1d79b9afc87e12b3588a8b6e127c3f9e7b8678c3f3b521f0c54a4b781f95aea6971d4069cd7f8cab15f4d9a9b2797256a8f5b008e7663a4b3eefaacaea6b511d679bd71c60a1d054636ae77e420e01348f004b5a49637c99621805f77b07b06cdc4d43ae8f583f990be0eb95e831b2a6c5fa10de42ee625f024f0342d6b802b163ebda10f492a5bf9dfd06f678963138870bf2e13f8d532eaa413f6af4100b1a3c3fb13b9eab0ded7b967904e02b782de4176dd16be548eb140249a7a8b653083812441e532a81ea25eff31152706110e287c979a87e908fc5f4a95de744fbaa7d2e67577454aaad6570d41e40ee200923ab50bdd0e87a5369eb4705d1da1765dc4e6242d2417a4709d671c63d391ee739870e2a16364bc1bf932c3613e45f8fa81fb23b48fda218adfc875ed251a2553d2865ed78d477f9db7fac51abc622fbc90dd7645983cf324eaa973896300866322c36511a480c8cc9aa3f6cd34354cee2fd3c7fe6af8eb80fc387838caec3c45f48d40ee6e1653e54f593c6cbb8ed8dc832851a8d639386a7b034e67526aea2ea7c3d1f26555cab0ab3b7d097d3d63e53477a61067fe92dd2b252c1153167db5007f57e4a87320a2d418a2916f9d63b5dc545a0a73a73808489cc4070ba0cb1037413a2b1897073810e6d12e2ebf3f2b0aca37727b93f4d0d5af56a14b47e87d956c5d424af43fec5eaa2e3c454d5ab57126f39cb2f2071951bdb821daf9c59b84af07cc62692c5226d5492c7934823ae39a8b0454e7e5a10edee3f7cac0e1f60c7aff6227cb72c92856ebcca938ff3f40b81f31674061fcdc47bbf53f364e496c8fca3a843f65a814a8eefe771f9c3edebd3a262c663b34b7c47d7d5631bccc9fa8cc7bb0fa218e58b82d36adc94afde920caa6aa20a74d1b203b68478f2284cacc46ee6ebdb0e3eb4dd469e076ea37372fa51fef950f1ee3687cc1b693e7e6b7bd8348d3fb287c0f36f0ce955e40c0e7810eb4b72e442ed05a4918dd935038f8b88c1875ff8270cea468cf4ecf48dd27e603c806fdd5c4280e7e1259540f921a7b5500109340ca65d3683c65de4063dc115764af9191945c1330f187229f32c05e499ebc16ec6239701c1abc4b30ad20222863320b65f6ff4566d4c044715f22dea840baf77becad6fd8c990707d9d198dc1dde1cdf0ee902ecf360c15952e1a45b59cde7baea4778d84de2114f8be2e1a91310b0af4f9bbf8198b051a66522137ed16d1ba5e169f4e55a97447270ff94c9386cba24531d8249479b5ad1b318bfec3aaca6b0c2f3a9081e24b3cade8491738ed65d483825633600098275f05d21f6cadaf7c060b6cefbca2a82946973f2a343d3efdfc99515c8ea4d709c027b1e80301dd2ce9ad0ef6c2cbdf9393f720e7e0e346be54f087be1afbad3434be4de3ffff64788da0f34969c30c39f089b7e5b4fd08806d679bd42592a23c724b6e2599b8168edbe5b86053418beab2a346a0ad65285563595f14f6cfac0345cf0235f1df89fdc882e61135e04bca3e521475c8d8324dec4d9ced26d9b9919e6b8d85acd5e2697d9d21b545007101132186510a48218c016f6a754c083f9ff54d005364bbe44846c3a035031eab9447bc41b8ef97a34464f517c2c801bc1657d96da77babb16b7af1678703dac33aa89b48ab2fccdebc14818652ab69041919c854a6415463b258c807e8cc93e06441ba3b6e8b83dca3cdebfbca32e14c545ea58525a948e4d8860ee0856bf203576d19712c609ee5f6334186898e2529eaa622dbe2353aca4a66ad6d2879496aaf304876d9ab88c3a51a4fb204e07314c48009838114020340fe92f8593c89a16211252a6edca8bb2492560b2015520b2272247fc247c29cab765dd7d70bcccdc121d84194533c6761fc0813e632684f688612053135895bc4f428266030e4058a65800aa753170fa0f25be26e0e5b26d86de3903907b531c11c402668a1a4b6b88f7e1afe7cf1a03af05780dee88ab9907702db9fa6f4ed3f67c0a9530966f33d524d2c043246f2e3402fdc6241d3c1e27b321f2f4a53faf3700ba4673560240bb88131d43b9d11e3031d0784ec281f02223708c6133a1919309e109a49df1c3c98f35880c1ed7302ce2eb6915fee1cf733c7eb581f6fdefe20e9af588a6ff57df3b051f78902d9be7d1ee3b9bf509426c03eb32dbd50b6bfc477227bdfaacf806e756bacc6dc4fc476c8b5b9582d04a99e47bedaa6381b960e127342864de2c01401a2ddbb6e8e08becfc10f32543f3a1b8c9b4fb4c31645c5fc9f765eb80d205ed7caba359ec7707fdec3d1b3bb6a3337eccadc110c8b821abaf36f07e577be3ea9851408c614ef909f448da7e1e309429581a2ddf6add03414a34dd6df961bd283aad3c4701e92d0508f5659b10c68271ea69fcc5e4c842b57675489b609be7434af4a4acc0e80f93cd98f898006244324d171b0606b65b38ac8d015a0b2ab6041c781e631e39406995a04c17c89e9f02465138ac482971b992dffd06e7f6c0bf8942feab5215967286cd926c3de1f9fbf0eb57f7789d6f541ca2a8dfbe9e1af9149d89a1568ee594da7f8ce0e06e3e6b9d92fb18ae476c75e1dd5c7d08a2f7b513746c2d4ca911a7931a118031b414c27217f9578b190ab949ee6ae5ad3c679cca8c5c3d501d878988fb4fd4d124e311a5cb4f7ec5698fcc65aa8ac8f3dc81447eef3bf8dc59c4c2d30956424d2684f63c174b3c7606dd5f2b79026413452de01e98d41874b1ee82d2493f7720fc79914864b9f63325ed6c2b4210dc1cea62ea566100b0ece3958cc0548725b0c8ff1f03f15f9c4514c5a0a4e93ad4c9fd59019caf15f05017b821d67595e184038d09ae8f2e93f3f482f65a5ecb4776f754b522e8dad99d39f5f38fcbabf33d802f4240340fa02e5ce030e621de14716a824a48b8810fab7fb59cd5cb3a3538a813a6170163e852fde9b7c2ebde017870a25d3708c8a9e4fcf660616496a4de885e59a0b4fdc37775e2ada991fc79dc904abc6d379104b25b52fabea113938644eaf155e36ff6ceae4505a8cf37e4132aa41b2de76352bbaf1bb9a0f1459b05bae2b8efcbd5043cfddd94b47139c141272e10ac436e4d61f95d0e18271a92ca99c698e09e39f9c1c0b1f3419c6b4583c6132caa7d622c918ba3d6aaece305743a5c1e19cff1ff78529a351003e10c16318d5f294028f141ccb3f4aae31274d0044df1560c134cc0d1782918dbe8ed5fe34b27a68753e047d7a7350febd1441f6b6209bb39e7298502bcd31ff515e1d107b1233b149959350a0159f6952d3f2105f19b69ed14019ab7473229ca9f28bb242acb9681c36a3d38fe71be01ff1034f824d51dc37087d7af43eebf905dbb9d3ebb6942c90e7d10862d2e428df7086bb2fe05605cb0a2a06c743212e5044a518215a606eec96cf2bd2a4d8a8106af27cf6848d0a8a7af6329facac280fae18a50b1137e92f20a998a3c28f9c3f6b8e4cf3f5a5d6021515ab1e74686c1343231b11b7b49f76464cbd24f8f2b14d6adee2530c208a7d6c123e01bedbf261748101a8240117d8ddffb19a130e1f109dd37646fab61e687283f0f81bcb8036ca1dde3704558068f3e84386a349b461ee7e5d2d3f657381a7d521adbf30d52fbf3e6cd21d5bf65d4e35bb489588843afedba59bdc8c9a4a32d814544c23b7275cd6dc800f702847e43d6359b43581e1089dc6f47574e18acd759c3dddb8416029dc6e926f6c92b3b19b0f15c084d6c3c71341b5a35b0f27cf51683439a5bbc7a6ad44c15ea3dd3e38cbed0833d7dd4193cacc8adedea4aa9db0c388210176e6513d373f31dfc9850807283dfd5bc64f8078b6127c4b130edb64e584f50392f6adafbae76b8d39a499981d42082b6d6eba1a71b604f29be14ac639cc116c75bc0a38a003c780d56a00298639646229b4402c83b689a8b2df0647a94c72563186b2e07524e6f883f9ccde9d975f8f98573970bab155c0715fcdb1c00c39383c399f16128ea981fe1a3f345b066c276f5550d3dd0db95b0bf46609089fd8b7af88696c89736e75db49f565651f2226384483cabce537081705d27b47b9fcfd85d7993402f33a9310d99b3f787dfc2b49c25401375e6ca1b34010da4b41b1160c472ce039e4f80849da12f7eba17487659db684c096b3325cf7a907b7f1236578ed4a8f040e3f520ecd94030b53789836789c8d50b4b6f48e9ee6b91bd58fd08ccd1aed2288baea8db8d33b0eb106fe0d4b8b276ba1b3f9dbee6171f7222d6f8ab0921b85442c559b39c1a69fb2601d115ad1e4d1a9332e13cf33ad0243a2ab21187de12409d58273206cc306b12df0637d625d2b6c81e285cf2459207060674f2757ed058ef75a4f5a42b5da7ab314b9c6240538235e8c6bb376c92995f29e4d00f97f0dc505892798f93adba5d676f42560214de1701429ad8d71f8551dc1de085fadcfca6ff1855da50ca2bcd6d4e322cd014c886a55e2cfc243c7bc04166da24d8fc25f1168b1225409e9348a27a1ec487ae789fd24a9b32aafa17312b75418e123da47650347f057aa1d488e8e1d539aa081d5bb5193a0ab95903dd55e1da976c8ff747908c843e7b6e19edf5b08acb48a8594cc3dd85369f0cb4e25173b33b66f8663f25e83bbe4deb37fce28f1e4be686f8cdd043494115e460a57513635df4caab4425fe0c4a7ef7c4d9db85a4dcc9759ea8b7d6a2338b1bebb3dcb3e8139b34951cc22f4a60b324be72638a80086c41e90ea2cb1898e65192831eabca280168f16551b94b4b1b724286cb0fb7b924c07e5fcaa12acff56fbb17cc671edfe3cdc911cbc02bed5a3accff9552841458eea0375d9816acfe25630166a40521b8dab4dcadbe4cda03c334dd04cef3cd8060aa50a316e566b563d13b720bb8434a7fe4bd5763d472bfe15578ad0522af257eb4fd5b9f40faeceb1981c1e7c3a46f4e0f73646d83ea831997b6cef77258fb0c665c36deaaea233378a5c5c0638d522bb5fa10d6555e5763fa45bde01791877a539f06986aff75e89a2f8f94ad855bde5b70c197d132862ec2c04b6f8f450294b5dbcfa69359947a40c7c4b591ea40e25a688151b79941a909eb2618a971f4be3fc722873148fc08147b850167328e1d3c0e1c64cd0893651253bd34625e7160693845573224e9d3c097ce51cf1a85f1c130430dac2fd832dc1a696d871bc506452a112b0c74a8c7395be712e60e2b9d1941d46fbb20a438063bd68de7fb80a622f7c02ba17eb1256bf8dc5a919a3cea392fd1d3f28520bb96e38004b1f3a296612bc2e48bb96138ce7913b6f0562eda741dddd97af52b6ab6df3f7f1b1011b082d7cdb2486538f4719784437090fe99d06365d4a5036e6e831ba8da1cabcf98bc2b01d714b9cc6a0f1ebc420af5f9a7d00d12dd3412a3e9ae70b3ffc4737332dd000bfce5570c6fcb0c2b762d346df3f010af7187badffd185fc6bce3fe76a26899da2d52277928d4e960d833e52cce9a2bd2e637e197d832822b46d7a1f558f13bf0091c0dc0e0d8467473370fad67afcf4201e3d3f66b3194166c0014e7d8b179220114e53db55bea2365c560edc2a0770e77be272c7a6572c9f6371808b0cde46a647d6f98be578e4d73bad89ab1c5bd36cbd1205034ec6c76f46afd7db260bde780ff06181e986ddc2c1cd9211b0fa5e5cda5ed9ef0d0bdc22d468032cf3d1b5c2e9fdc361a3c737a58e2229d5a81bf70b7be086cb8636fcdd1b9ac89af4d4539daa1c22b3ebe43fdf2090d557c6a4078234fee17132ca7478f2dbc6532886962fbb31fce9a5135f3e5ecbea8a22b6c63f2715873a6f8ffb4df8989fb3cb169e71681751c260156ba44ec3faa50ec4154d9b743a47021e36120dbc0270ed5711844847cdb4881bf9c3a935586e40532e4c0143c4d2aad6f6feb3467339d3067bfa06e2428980f308edd960987158f9ba2fd4262c8456ff244803e527d12c9358c8f3e611bba61e17c1d153103fc0eeeac983340690daccc42745383c827fcf50ff189d7cdf7718ff592d994cc851b183430501c5ab3be0cc9bc130a79a039f0df35fd684d18178ebe4c4735b99066e0f7027c5d1a367c19f5a55f370a470ee90a45f24d6aa3a01a1b91bfecf613d18c569c49d7647979f32c21e05b1ca0b4d752e74abcec0a99681b66fb0de10822f527e53e0e6c5962320570088525be098f9d3fd5f5b90949124b9d0d7089cd83e4813b72b65e26fc2614a23af91b068699d6aa012160c1c2f02593612f01fc46f3032084247ab182e7d17b7651a17ed108dd74990865e15e22d1f357e7274f3122dc90fb13a7730a7a9b67b03234abec0973d48503a8483c1207b336fd3fee32450f3978aed6e77eff1e5dbccb39bbef3fb6c75c819e3b95618953794240130a7b5bd6553de51d2ff9ae277f64186553c633edf9d2ea3d904d770cbf818b35873a2947fb90abf6065c33e320fc5b1f558082043032ab2948025da1f8e22feb5597f351d7fc19aaff003ed6cdfb1daf4e6c738eb45392a1aa315b98d14e85403b6c78f612267bfabe01505a1f068686a50005f833d16c2b8405b072098c64518a7881ae074f2a7a837b8f1681c5a68818da014d41858f81faf0c6cb7e393b9fe8219829a18a7e75674062aad91eb0e8ad1055f7e93d81c6f9b7ef0f2ed43a728d0aa15b52b56b02fa6983650f9f8c1f4f445f62b57e54d6b8871b6c13d94164703fa008a7208650b2cd21e94f0c5687b2a22e9e9b7a9a75f0a2c473b791c3697e25353afb53d1b430bf99030279ca8eccbded0577f9918e45e627fe169e224a712d7c25480bd151c6fd67bc507c38394e3eb7e9ab7ca877202fee8106aa174239165d4e5e2e9c6f1d8a84e14b322f45718f9dd91a00fcbf318403c72fd2febaebcb1ac7b188b33338593e4f6806cdb97ce96858d1ba2cc6c3b76bfea2172e656e61dcdfe8311d1d55ce4ee801e654b3bd65437ca92af859202440470aa447a78433cf28b2546d4bf4563cd5a0b20d377abd35ea1156d9c2102532e7d1d6ec692754184c7966c3c7e028eaee301bda4da7d407b3e754f02af2651033b74c92ea5dc3e6373f2dd6b8ad7554a4a04208e148c8257d0e7f2166aaec62508c35fa485e4b46cef7b10ad4aeade7b18cbebb44e4cd7e672d4b158f18940e9faf6d842979af33ad54476c072b8fa2cff07af0e4a9ace79b5945aefaf9a60313cd7cbe02ee845e640f8de43a8ce16411fe639e08c6a10f05b094a9e009c4a29923172f6ed439cff79ed76829beb78930271a5188881588278538749f754503726520f2ba9bd09b8e8a373bb2b20a6a4f72dbdc3b5d812d53c7db402ef2f4abca5155d2dec63db07e1060027a466a6966571b229a7fe6157208e46c8db5e8531ad1e9a742e7cb2d3f1ca85044f1dc9ad47a45c863e2190a369024872ab75ae44e4313810fb84cc6acb132747612e11aab820ab7c1302f717b0a188f7dfa1ae53e027a2ff772a05338516df43a1d8f575c23780c3b2d2cf3dd9b682dc017d842abe75184f6df6573324db0f07ec8c368e3f5ca13c7a1f29c3e63c6aa53bcf496bd53eb698eccce936ea361cde2902d290da827abe3f01feac08ac986276e6c17223d29ae6facbe795c84735915d7e44fbbbec2c2a6c12cd7f80cbfe94b9f2a13b7f31a0e8bd04a7909866078bd2bd84b4ae5715e7c3f938c175c4f1278c4abcfc02e0ae91e9ec2ce032a0cc6c58a2c31bb012578f3f23943385f87a79f03c78847126fbee82673191a23715a300d6e39a228f4dcccbb2935b2c7097d6eda6d410b7be829401ec6bce712fa081c8acc94f790f3611b82e93db14978bc0a3010e532f03482c3e4f94f66ee246c98ca12307cdc439814e858bff7c6e246afb487fe3a6b0adf7c31947d6db13e7a537a6b1cb8d59d0d89188a5223ecddba2e1fd723cbb12b24979bc600909c81ca9b351710e3889fecfc236f7fb1ebfeddaf6b287270d6a0a58a382c745c815162db1eb6aaac7364ddee48ab318f3c69a828d53f81b2bcb1a63bd25c14f439da8b67980b38d915baa73a2e396bc66065fd9bc459736931a2d5f3e95821578499c07be2754d32d5c1adc41a0c1c7f7ccd1fff1305a8727a968c9c758466657496b124628d229eb2667bf82c4dd8a792ea5ac46c739fcc09b5b26b04f038059e69fcd765219ce2031fc438100722f28a8af392b6a5e3ab8a9493aa9c1c32e24ff220c0e99bcd37c00bbe791491838008fffaf87e2df837f007e8143284fc61accd111b11b9a4bf2ba4d0f1f15eb6433da6e5387f4df2ea07ee8314e8459ca87e3f14a402b4889bafa3c49c3898210edfb23c1c75dfa7994291f75a0b9fcc143ec5563c24fa9aeeca028adc9f8037586b0e30d21164fd2ad47aa40b50a71bbc6578ebdb4dbfd59e2135b8b316ea07872033ce1db11f5b818847d7262af511c2e2b80a83ff7efc8366917e20c3cc26031e9ebbb685e0f0786577ff4cfdf0cba2b4a033c81fe1a63e4fd7fbd9387f91a8104f3b40455534fafd481018d38065e8b87c66f2ee561c948157998e3c0c6e66e23677deb3b5d690de58e341e398cbc48db3be7e27f6bcaa4a6ca438552e9a88448818294e60d263e0c958ca0e2e33ca80f2a1ee92e99fc1fccbfffa80e23aeae9ebcd748f654d4f5d943cbfaf460b339aff03b018c7382728b243d8accbf70e94970c8401f062f6dd4bc78dcf5142b94bff6fd092cfed6e50f424e443b19c1dac224be0b1eb779a3ab335bf6ed7d010f2563497901c9038f6a23bcb2e3406f62f75cdce38fae2201a3f543e07abee37913639d876741e06b52203a107c1dcd257c62bb07c8e5d9dd477e25f6044d42f3cb5461f8fd5937b3d55e83166e3b90066ea9ed8afa0ee654f0b5c1e18a662c517e7d8ef87172baf15aa6733cdc9809b034a339deff8817c7ed00a97b216145e760f8d250f8f7d11bf66f352a274484584915aa3931b054c1b9697cb7e167b5077bafae90d3f6206903a18b4191f3dc8bd2000196a7d787f015c25f786db787c080b9a75597333d791660d3a1e02aa0219229ec8c6f7ebe9ca67b9e28cb8fbfcb7449f2963294fecace3e6335efd0745806ed7853eae6dc6e6b76d33fbe33903ab4a5029b9433abf4c56fee3ffd2dc4cea72336f25bb5f1dec6f9a3ffe500f58f21f3be109c1214309471ce871a7a2d483e2434353538f5b0f1b63966b382b5e9c8b8ba5b321b9d24c5b6ff305c4f448ddbc1fc125487c89d7e4d8ce4d34292430f39bc793a9972a8b40070f82dfe93a049faf36e89a3c34af4078a99e2c8a17543c897e309a33bf0a9f14a1ae0dc852220b051cfe2bac275685e8db4eb7e18ea709356eeabb8161425410e3681cdc165a7187448604e3ce41f1baa11cef7b608c14d91fb335802472f193d26fd1d303cc0d71cf26b60e76fabd7a80fde0ba23fefd30650f660b4177dbc6aee61cca9970609c9664597eef51472c562121beb005ee0b6bd8c81f123a7e4321407e9a4146beb868af78114b295e9929a5d41783bdffca3cf24878dd803b20e5164f1722aed90f4d66a3403f668428f81ceca3c769ee13b9f9b76ea142fe6bf150045c58e597e94e473ffc5079b528f352114eb4a03534de1d04c16cc04ba8d0f03b58b3b8d77cd86b6b623f984c7551cbe1a979e62fb29c3b1cdac2a4ee6bc9903ae6112b0ae2e783ab169ac98a902a9c154d51f9cbda0995672eb014e40e125f0dfd46a8c46aa0224d5026feabf47b48b8b1fadff1f41f7483f60547896830576c01ba5d2ed3cc0e2b29cbb459434712081d1221f55dce184443dbc331ab670e2318b06e6903576efa1396bd809e06c0b5b8f6c3ad1d86cd381a7da6b9f6e25ea59b2cab1cb6acb13be91f580f358db8048122ba6a2591738d7af59c441fea6f63dff500e25b8bc759b227e149139fa05c2011d13f7e7c6524a04127efd53ed6c7ef6e8cc3811cb5d3e08dda86dcd1c7e73d3d24d652e8121d39aa48a45b0c47bebf12b3241a67bfe16f59baf2386556ffad8ee7a7dceb2b35bc8894730094cd910c7236a082a9cfccfa55cfdc6e63dd48e2a57c790906ed2e9dcb957974740f4127541d9d2f7c50b7a15c2d5dad3dd03158a278d374d44e98381cf7b20a1c7194475d92b115a4300462c97f313d511a0d29f9c1593b0d645236f93df1487c60f28a8299628d426a87420061808e5db26eccc91a414edc4b11ebb913824ae38cebf5d7e62c734cb0dd211c6164a840b46fad4aa0f413befb028d816ff52867480f41837bc5b3457abfb686999edd5aa5b8ee9c183babb729cdb8c0e7b58c67574964d02da58830e746494e8b67869060e81d490ab2e28029b6add4b629fffe959e3dd4c4dfa8b90b189d220fc504c3be7c275b1251b0be14203cc2d7e4ee47e2ee9348eb778adb08b3e373d94ed2a4954bbe7a1bc3b9c31c366b089400a699acc501b0929431dfe320082483c13a2fa8de9380f9828ecdaf48479c83ea03dbcc214f744cd238ea5d8d3c2f1ba6517dcb0362e3528043008c649c5fab2def104a0011b5c6403a239113be41c5641157c7d6bdf6370231d6d7b897f47017f8ffbe80995f307c2341c2ad49ef445c34f1810ad340bd63b23684a1c6837bb6a31cf798a68b47ed5d689fa84c039499350f025c19d5787d01f5b3a1efd133becd4e205846b30c4159c91e4a01987f061b12a828ec5360b929660d5690c174af519a7d374e380ee0c3791d4352ceb41d518354167ad04860064a510c0d901972df0895e5c28963557aff8fd1f31a272583b9569c5aab0a39b7c609a26b666dc3a6af30f208723480fd0e27c672c25c55a48c32fd69cae7b0543abb12f7614c9b949d80dc8a917346653f08972b4399ea72d02a9e860b20c4c47a3d84693c0b0d83ee00f3a2a969a152f309b417310115405b20eba5f3892e53a45bae62376db607c512425ba7082ba59b2e4d7fa1efaa464ca6fd915eebd11f79006ce1f49639111330ea19485d9174e63640fe52170d880234f3038add2ea40026112917a1bb6a327eb94da334d242bab79b34bdf8686cbf02d73667e3fe4f20cc6bb7ce507bbf73a4468f24bc64e030a6460c9c2aa9db3fcdff8c0513209f7eb9df65161c1cb14869b2f9937519ee06a9c95569946b2a9b3f1257079bf94ffc3c85d731f2c815d0225c69ac303f45230437886dfe180e01bee857dc4acf540f97bb3fc646845e5871436a33b8eae7533a77fc917f8ed154f212d8f260d83e8a5942a9eda5a8db3bda1a8f623f76ff3343b16362bf69b81350a1b50f74c74c524c704157f8f0beaa887b5d585d05f72d1fa6a799d6072f666e0d9671231e4e2083592fd0ff3585602a843a80a84f6ce283b2862ee93a6eb5561d426857c536c05438ad4c8e61de8202da208f986d07c1d8f634ad7b301b7ecae1b69b900722236fea35a5d8bf89a1277e808741a7c9ab24b3b488ddc535230d4e123d9fbe0636ec548c1a4f6954cd61672eeebb6cec6e8a720b23d85de6c3ada2b9e31b888717779357f5eb5676edcab6986464779b6d32b23788c346ace3f922c8ec28da726db1491479cc71178d55b751c1e5af7364e5a8c96bbba3f60a76bcdf49a62e1d3af23d048900dc96cd9b154eea5efddf0fec7729aaab1b6bfa3077dc4954e07ed1a5df5a628dce6b0b0058af7c7d0c435a41110abdae6818b1c92974814375378f9c43e726b1360176259c351914225b709c06085b32bc398892c375f0eff1fa94bce9bf7e943221edfe421103915f1dcd2d47f50d36a3b69af7b8d63e1531f3bc71843db9f73ac9d58e295dc2c5eac96cbcaeb1ebce81ec713824955044161cfd79e4b3d75800eff8368a79222f6f80c824da902e560d5aa057615e54b0768c8a3f6df3a3c0ea98e293061f6795d8e7c04ac46c95e22da304fee3e2d66a2318d38d26b6538963f51832ddc9ef79d434ae1d9af444b3c8343a2c48df29b7341d2bdc14896326d02c9bf2b9463f8333de5a4278b0b3d480afc54cb9b611f611ae00979c209ecc81360ac39818c62fabe9ba3b54295b1b4a9e1421c60e32faf56adba2ee20692004d5ea2299731f75dc3e180ea0de82b1819afa0c1eb74157db965730b3c2d2fddc0d285f3de8d28e23821840ada07928d51826926039a25cb0b7634f1e351b4effc25b59e6ceed321903b0b236cf80624796c32e50bb2d733a2bc66d5b1d7f2a445496d668779ead303f9e025a926034c467e6b06765c2037521ed8a83cdce041b38965aafeae3663b264835bbd3109ad149d699272c890ca6f02bd781a4331333b9b0b11229c44bcbd199eed1b0a582d11d76ea03d2c3d8d05120062015a909274d357b67f5a961b2b4c528ce1495e0d7c60abd49e25a5016db7cd8cd033183ac34ad433c8e184584bd3aa156050a1a7570a0b5d1697311f928e3542923036acb2ef2f91e40dc31838dbc5cd620df6326ef2b83767a274bdde95d37656cf2757c13a43c643a1d50e7f5b408291c00a7d28c98cae665832ac3926627de82de216f7941b01652a71e7542234da2948598cad1b325c0f51f818ad33a814ab86c6babce93aeb82c62c588db800d61ec3900cd23fef1d8888579d7ed0f217c1c7436317fbdaff3c1626f8dadd11a14b17d71cac99b6fe691571192b1ff8cc2a4516889cc1908abc420c559079a63806e3ab531e2ae017c6cbd2fac269ef210e767f551cc50e5e616161c9c341408b46a0cefe02658b533a6f4c9cba94faaedee00330ff691a58e73f51abdbe008b4dc8e2b897214262c315fa91d7aafd92c1fae70ae206614f76e4e03b33c0b6144d050b7e9860be3516a021d3def63d8689ad5442fc15e7a7e2361857f373905d1b006473cb3319d22491b6486b1afc1a37dd084ebe78f04f7a07d036f14d6835fbdca95d88f7a4d82e32ae3d0030b59a2bc4c0010831cd6e25bfaeec66932c975b14e0d031be0e54ae9b2f8f512f9383ee10e11aa008bd3e47ae3aff92a1f8cee2dd531a8094066f120b0ebefa797ceeb920dc04be260b665bcd4880e7169f8373d15cf963e0f5089a94b7c6acd89ae044613853bb0b1226b70e8326a0a3f665bf2986793ea079046ca5604f239137e4a5b9a2fd9a365f9eabf2ce48ca31b4d13a9c31c6041b67b8682259cf8e950f7aff6859d272246f38396712c6cf88eeab662d396b2468db0afb1e305fa92f67da5ea887075aa56467ddf97639356e8076c62aa80314e570801245da39c28c2e7c732f1ec08a425b92be6e2af18cd86f117f0948e0850e382098f4f7a4b94317c759640dabb481eb622825a20cba18fe1aa010cfc0fa2eeef6ee6cbbdfad03dd11bb871c3447ce5e0c9426329ca1828be901014271631f05c593729e13357c43ac8c0153844333842552a783cebc6ce30b97d380204993e7cf830359bd9a22f2f886d58e3fde31e9147fde62c2e332c59de9f600e922fb6dc99d4c4b555e9ffd9de3095adecbad40c0214ac40c4989bee3ca04e4110152ba5ca4aa35c3d0033705bd59d520f9e66f6ceb1eecf113ddd1bce55ecd0d10913455beee3c6710a8dbcf77338625cbff96ee70c5ba5f0dd7f96ed9fcbb75da3bd2a0fbd142bf85de44e56c1cba65779f09c9564b61fbe438dd7d2dd7999cc77de8010134ff1a8ca16f8d700869bc78401af28316c674cef8fcd9fd2f7e3d3d5227e0b06d10f274ab53c6b5283b85486fa78ab4ec4b3a15bbeba0b4828a22efb89d4cf72386a1a17bfa49706b515d994c00cd86cd52fd8be7bd24aadc399196094225913c5b2fe14f887ca6428892900184eb8952b97538f8b52d364d9665c55c7c9b498de1e1e2a6d2b1603e5d79b2a83115fc3153876a0a11896cc8aa4db7cf6f66784c9f739810aab6228c7218f6f34412e3cac73826f22e5f83c3de728784f15d6a0475a3858e30403353ebfdefa47d52ebf311a428a5db2daf5721a772b396d9881b4782c6adb73d92e73ece0af297fe2fe7a7b1bfada9021aa231a6aef2f46e4aeaa25e89b38e7ee87126873206ae87fe11b2f0ffd20f6723841d32d98df87fdedc4a0d7a4619b5fe6ed8e8b7cc80fbb83fd322c641fa78691da0c6a241cd65dd88947d7c7c8b2712173901eb88ba7480be8bcdc6e900a34cc448fcfcc11a7c5ddaaa06f7a537036974433794da7fea5b6a5c1c0e661db5edea0503fb76187feddb56ea6c587e0f400ffdbc59e96b77b7b06519399cf07a85d4c608d380377b7598ba77c7651565685f50c9f3e323a7471cb72030461898bb0824b067357b4c9cf7d58553e82c174601f94b8275d27bcaea9a137747581297c5c23c74cec1c75f63134e69155d33630c6c5bb33a960ff5b4835cc44ea40d7f9766f143e02438a7c87bf467f54bd7253664ef5c41e02bd90b20e550ae7ea47a182bdc5111da48b6b841236f0c5006400c92b54573ed659e347d38df03eb01c4b23d9a1206a12a30ab848eda67821b8267034824bb97e378236ffa365d73ea78f061ac05576821e525e106ec7e8fc6c6450811194caddcfb2a908b275845a2b09b7d380e45ef908f23995049ff45d1068aba1aab6d357a2a4dc73eecb7122fbd660301d2a77f83f3b498c2bcaf5cae565b622134883d5ba95eee960b7a58557ba6b8635e5010139ed5243b291e34a823ede9b448e1568298307cb75ba3860c2a72461c2563a45d4ac2d76047ff7b9691aa484f2038a54d60f23af3a65e371197cd7e4d01f97f9504f4d80dcc074a19e991616aab340d4160c6001280770d7ad0078beb7aa9bd82f502c4ed5f613ec575dc3f388a22631771fb203a65c68645900109f689fd57220a174d9f781e4be70363e50bd68ad3a60b4e856cf809860f506e926a5b152f1e75aa8cc1a1db18befcd64894650f560e0490b6639cf31507a52146c86621083cf8c95c56dfb510d033580cca2b20f1b32e3d7e9e79621fa0967bd3a30d94ba6c9f4070caae8fd6c7e0af744d14460b59e594b128e06afefd317411a158737d076487720c82fd89c92d334e29bfe58e141b2518184c78394bd5e7d04d17390dd36662361154f6a98a1bed4938b5ce15b0f0ac9acf6801a448fe86aa65ad21a5372c746ad50be4119eb20e2c51d6ab83d3ee2a637413ad73dc8670dbc1f4e56ed3b288e3bf4eb51a4345392a12ccb8ab190ba43b3a94c40ce3a630fc50883f287458e96381890a7beba7686c21995f9a07f69b1d40f102ec8d14c7fed3df5015f47a4d377852ec8d080a815dd15bdf2f2662d84fad51cbd922bb3156631138de82034ff3757aea70eb766e7e18e22eaadf26553647967da783c60679374dd6def1dbf5ddba35944c20ee92bdec03258f8d908c66101b9f5ae8a86459d01ea9860c07f6fb58fc040c0e4ac3c0207ff28d916c7eec4d27d07801a2c6ca92450306e1516f6a7c282e0db407ae96fde06d85d23c005a31e208ebd1654ad724f212340be5daffbc930763478e560f3add748971c41c66f46677a0696123a80549915a73582242f511ec07475577ef06c8e60e51858b7a7a952185080a62cb7c8396da74cbcad2a62472fa822e92a101335a8126fee5153c6b78671d3d3dd658771de75b531531779793062dd14e7d764b0da3b4174212ebb29229e3c1dce42c051f76d052bd8b915b07d0c5a57f142e5b3f00b301105600b34ab8c8cba5675e10863f7d893f21b5dbc4317b135845805e06bdab2db78cb7d535c1282d47f216f49705e10f507ecdfd0c455bc2986a9e5c39029415ece22de7ffb4f2e82bd3de255db184a28a0db9d982c088b28d6a10cceae855bf8f630c5863918f344e45a06b29d41730c438401c47920bb4934f8ac701ed812558de9ddd300404bc7c7b82207d0755dfd31c2b3cf1a3dc76b48fa11cfa828db6cae694d9780b609544c094397400b276fa850aa4656d2ff195736db582039abde6ae239d170b6eb2437a3fa3c3a26959d7ccbf83cb6282b9f61dfb1b2e0bae5b25f40abccf0d85a8a2eff6cadb4d281720310e22330c86a28c41820b0e858f3405245f207749294089019b00517fe6041c000519f8f34a3bccdaa5808365334b0d8abcf2419db4ae46f8f612b892c4c02b6b268c1f733ea5eb265c09c054e21bc9b641717f31d1250a848f43e805d503be85d73fefae05f0fff638c37a32a54c53e20c569bc178109e5d2e193202d077ded1242141dbc3950ba91b9988a4156e94af036493ad63e47fa681fbcb9e4541c94821255257a25dbbeaa5b967cbadd5ae88eed02947fd8f8e28f2b1ed976fbda5f2abfc56824a1f88f4d3dcafa590e8343e39b7b8a8b3500c8d96228bc488f66f5038748afc6e9c1b0fa7bef6f17c1032501f6b4e599d6a36114f5c541d61719ec4218d38646259b992de1ad780060a18bd8105528b1f16e254abea42c75b373c870aae609c1886d0be9963e34b0190ec0c3be81a50a982c84cae15e55de807ad3248cecdf8ad797ce0e27dfa7c48b14f23547d3f051ccb15e89e5a1a01b7b3833be2e937391eaf3f6098f34a3fec5c79d934d548faf95bb5dece4d2becd25cf90ed12fb88f8eef01be97430b9b9b01a5d5ae8c8969ba6b016e25b4ca36d29a209b9eb2ff37a0f7824aa3efbc6495f3b2fdd8f700849c2fcb908cf4b2b3c8076381226837bf2dc54d1b25ac203264dd093655e1e9021b9d7f9206d1378c4b188d02cd4733c985e1e7a56c7273298a936b0ec35d2a2162c36247189d1bd40901d591673c2136773546110e054088d8bdf03d65383366cfe9021b33fb59aae3f598401c81fadd0acf2fc9e613ac056a868c72b232e0bf7fccc1afe2df07a1b826c337f42791f4bbc1b802157c832bbeb74763ee747528c2edec17696b0ce6089dec0dd6ed3879b8769fe4a97f2048cb883fff8468f6dcbf3f958bd7039eee246daf257237dd1e1b365856b60288109a310e465b95eae670a116001ad83bad32f0a98d19b3632f0f3c00845eb370aaedaa95677d9494759cb08aac77b10f561ed89a3d1b1cf71d3ba9af78994556a3b83f4ac3f4cb1c27a3145d08b0f660bbcfbb685e7c3e8d164c50890823869a090cbac5d5c214ac3aba38e076132e693a93141502818ca4ce48d7e6e1fde02b53f35c4d06ca3fc605e73c2b7760553ec12cc71580caeadfe14dfe867ab0c1798177db864faf7bcf7ca489f416f26adb79a5e5b5c686252629e2f4933699adc026965ba322580af74d06d1dd2f9b4bd0a1c963ef1eb24287d341259436d19fae9baefada3f6c4563edeefb81ffb567f9f25a75b91192542feef730e4f04653d40038ac984e137ad47004452b55a29e59a8e2b580447a670fff43b3409ff24fbc39a8156a005e587e34006aa8c270db1e48cbdc233548efb126334faf350caa0a4efe120c2459d1002394937da4e195c08b9e0b24609dfcff0d15cf9d2e2c5088b2968218e50d41b9581ca6b3c0ebd0f044c254060a92cf0834abde478bf371896804e6dcb247e97a3704a0159751a35faea03b483c00bb62bc564c2c0c31d4c95d68f4dc3abdaddd8fd80b555e995a525e345bb6693118a070bc71da31499e0770a2ad67582015af6f7e3b3a7882f707b31aa37b673c51c3247d3738c58040bc8245a5ca60d958666968f34fea3aa88b24c2032cffd34afab5295271bf2c6d8223c628f5371787c6418936580760d2c889a2ca334d4ad8fa8064c5a586fb068d0d45a8ec5d116b57106b0d4328ca7fdeae2b26412dbda29c4c044d12e20e25c2e360c01622f85098745c1cb26dbbdda56ec981884006ce0ec4e59b4a6d6870712fde14166f3356a10bf33101b27600f79a70153dd2033a2e2d73c7711380e4e93311d161b123d236ed4e77f00a47d7a0a23fd8b1c0b4d74062c5014f5e51610313e60875657c4330a2ea16b8249477e4ae656d8d1067430ed023b5ebfae5f84022c2c66024dd3b9ba9f9747451c432dc5072436788191ed008793dcf02452b73f50b0119b76db859d5c58c71d8a8c1eeb813b911a3eb2b3ae71491c061b68f81915f0bc0ac6a631199575120818e776b7fc40cea37dd5f80b23486662b0273451e6eb72d18d9d6aab0982e1da4f36ae02cc818dd9078d8abf3e4606cddab8aa86b6f196f293b43e8d5f5b582e5e3f601219170f79fd1cb4479274127de7d96717555369da24d90cfb772bd5a3fb81efbaf3857504d145f217ee781b03b138e70a6aba06b6ade8040b8ed9c8b0c7a5975f62d04a72be5f2a8fdda239a210ece897e7d1f9a00971472de8a94bb12bdfaf3121498767da76b99758ae49848a9f0795f493c5c1e874fa32959f50f61ee00d1b858defb128ff33b281f70439b52b5b276745ca4cc6e0730e04c1113050be5de4fca1f23361a4e663be328c3256f8483c0e24861ac4802bbe330b7acafd17ac2e0e03391f1a95fb4b2d5fe017f987cffac19ee24969e96299bb9272e49943cc2cab6b8c4e9b551f1f0997f059e4d4d3b72211ca5c407c8664d37bf0a2e2d6802aff6325978312c911eb7ec082dad69e09ec59dccd1b1bd76a3fa21b7144cb9d4940ff844617707264904e3824da4324e2b54484137d5c52251b9e51b2dc02b09b56a5e16c8f71522fddae9769c4fd3330687736467674d4f292b96de97a476e1cf003cca19b66b822476414d3847f0fd42c9f54265e50e53210a3a333532613b96df1b8dcf0b6ee42df4e8cb071a28d2a23e434acc7c59ebccd71f308ca4013f89340628ef9a753c9f65940bba9eefb77e2758d750b08470153ae2fa244cf0cd31047a1df96920600f362128a7899725c80f9a6fa301408f557499a85ef27baba3e700da5bd08ba1398c1ec51b46c962baf3887dccab3a4b0ae68087f0a7b1c414b0770f222f4f0d567b6c11df0ab611287fe0a0b338e1eec4233e6c1ddfffa1f7413582c7623108441c4e6245b1b6348252f1179ca0a34c6b67e013c6536227d0e4eaa4204e019718927e1abf4dafb5d7662e094d2290c161c12c1f17530910b3a632231183bfa226a626c10359714c8f5623fc93bf89a0b3e02b423bea44b9c61641d021ccfbd9e447d6af7a4e9252b28464e8ef3cca9c21333a0a045e3d987319f04a1e58646aae82c7c5373210d8aef9dcf5574e52ff6806e6a659802ffff082aaa5abe047a0db961c37f1b1f519857cce6f20b38dc406cef58327867d97d5e695a11b2a7730ae594a0fe64e95eb697fa222c264280ddf78b5b8c48e6f89e288c11991d08e8e038c2d66ba92a793f7f3e61f4578726ba3950e037f5f38c32e38b525d7942b487f591350d28097c8a8a44400d3acfccfc6464c8da32324c843fa6b4b4f0823d5c681677efb69602c1c8b6da655165192cce9fb958b817dc7183c72639383c5be2029b1960ffc6934035796981ed96fdf14c696af198ce12ede5899a826bc1977cd09df21ca2091b1d34c0946332aabd797ab590c14e9c146d0e78eadd4c9a29b5c76da042df7ab06110d682b5dd2cadfbd9cd594a2d7e3da15a8cb45d476e1a0865b9c9e8c7ea8087fa94076120e258a02f4187673266c5bd280f675762743058d9b2904d48191ee5cde0c9496837d423077c53cc3f818003414b16bd89f52c4f6e814b9673929099b2b546ef8f7c04dc0184b7ec4deb329fe396ac60dce9779170b295d14e8ef51ac99f711f5bb1cdb7e5d2daa1a850c41521b6b82fce5c5fe165800ffbf5ee0253faa961bc4e058e99fcf025f99096d2ea736265014e2ea0d2d62994e1b21f97dd64db2bd4e29726324e97d2cb582a865f9f5ec5595586f066bc6d27ccf15d72d3044a88a84f152871c8b94c4cbdb87ca9e6c8ccf62df74abc8a95480a491602827641a151e042f9a4c796012a40bf9a63de1116d8d6517b1f3f6d59e928d464e393ef4f64c868ed024a996cd11258f33a1aaae1bda2d8082252e573dd5b60db498f312c2c07aa1762cfd79f6be1a94cbe27360f4c78ff1731f5a95dcfed2bf9b7ae15528bca2bdd55723688b94fe777431763d6d972bec072bb91609a9a902f5ad753c92bfe617522ec5e0c1a8220045e33607c4c1df43aae15130cf6b92f298fee5292394712f7746a4edb56469a66e664d93405132af888839361ee44138413ad2338651d0c5e4c0a61df6d066562070fc73025dddb797fb9fa2ea5563ffce3f32633365e62fa96d22a5742d91031648b5a79535542f2fd0f221d78033659646fd9f4f9a2d77b2e1cb8cab4e6e5e55dbdc9ede97c61532812449d5d0b096a3c2a59b2f26dc0da418aecb9208487d2c9a8fbd80f154ae402be717d66cd81ee9d9b717f13c7e79c248f805905b0d5c137d66c482d0bef60ec10177ca430f78e4220f62e7dcaa8297bf775be876da2a1ca7f3521b4dbe86f8b0c886dc81d227719a9356ce3f12d23c09295bb1c119e20a93e01dac8aaff7e5b65047ea644d4559960f213f41cda74b949d6d4dc6817cfe6f926bb4ef5699b8cc084e58a130b8f43eaaffd081924693c722a1543c2d144d47e01228cd0fd19e68160a45e1833babd243fd1c43c32319aa19f6dd13e06c5e0ab21a8921715c03c8b10fc2c9023ef9067872d2fa47e8d8f327289c8ec183a54e843644375fc79afdef7b4727ba125c784c0bb34a5e3bd32227778a39545e0fa07150488642019eead56bb580f6029960060ee7420ebb93e2bbf43f8ba33999a41fb7256bccb626c1480242bdd9d410d1555f3addfc19be9bd0cc83e614d1ec2d04f6caa8fa0ac68a07d00adb60aa7d86875e38e208d5bf895e6a7de46269d1b9aff2b3bb49dbe139d14322dfe1031ffb8c24142e5fe693cec8fb5d0121f04149c666090561d21a4d03bf729ec451f0ea6b969e40733d8dd51817295cd26d3485d6f543270789aec8b5593890518214c554c5eb0ccab4b440837da6fbc3e245594bb950263a6649266815a7de0f1dacdcbd39c312d2526b0871b488458308d9ffdcc6c77872a5029124a84d9dfbd9d3b57d9394a877e41233aa4d2248f46159be62a67413ef681151afa0abccb5fc0c78b8703fed1584bea0779a4ea6b722c86568289b38be9728ee1f23d764af65477acec2e65f3fb4c62e161fefc9ddd0594b7a130a3db039a5b35fcafa2c9596e7ed907668b0767847a5baee016a097bb5e8769cf6770f69e3970b4811842ccfd1dd68905ab1219eec12df3af578d07b69ff0d298662823ee522629ab155b8cad1742d5c3465ce9e24426878c6e9066ba7117276fe84c98c6cf3a2f6cdf72f5be18607282001b4d58c672900e3f18d29780bbede0fb0f1155036f2235cd35096f20cb9794d58bb762296aba43442cc4ee5de06a15c4535a7d63924de01227e2eaa6a14944017cbb904b640adf110c0f22c6262bf1118139dde61a47b7382b1e33435384caf9379a5c49e73b4c3a1b90c51521e201c44731f5df29e70024c65296062e32251fede6407c0764273e4ae514406c055d6a7e9eb5049a961ba3f3d84f4e748aadeffc541cc91c145acbfc6d663d89971eb79bda4a387d13110f6e7c5beaeb60f0137db37a1e7681f17c38b6497f63f1ca94f80091888c2e3c54dba257dda7fbe8da3888164bc92004cb0aa0a0c3fc39a793c35f26866299139d64412fd15602466d218ad3581ea47f4b6e64e1d01fe67406d9c096afd54bd0d927bc2f71668bc941d4293945bada3f830182667ef31c26fe3d17cbb66ae1a4867fc9ecd9005968ea467eed5c4b06a63abda94154b4c444f0af24788713e5a0ac9b68adbed3745c224eae1eb4f62f3e4484814235e1d79b7703b9122d36b5cb0ba93b3cc4bbc0a1dbf604782de997e9663ef90e1fe9da5981e9022993196fb211225ef424c25f15a0016a3757b80fb21e259bdfdc8c923adbcfe97e8470046f5c35648247113f60f3d18a7fcc00c04f32c39bcbe63f8a01846c3ff156a3bb607a5f65d289e052f8f0004e982cb380e7b467397d3406892979646f43ae19be2e2bedeee31cac3091b7405c2e6c4aa54f4650a2d5cfcc027d1b923b56020715a2589b2b0d8217a1d4942a3a942e531fd2c550968fb062d50712a962c7de963d9d980e3d3853d41c6b3f3ed5f6394ab295a65506dcc39906e7a8794a0ed4015f942829567c1d54500adbdde4448bf7477292a843ccde98fb328142124640a57dc1bffffb6c8dc164506f4ab12fa2398b88d227fdeb3387fe8c08f1bebded3397d22a147771ffb3f87806715c42bdceb963130641e5d80b13d01d5d8a3f0f31d028abe6631ed86f36738bbeb19a42c8cb360f8a813e6862d62ca80b75a42e404e2ac6778b0d0ddd39c4e37a90d04545381678e9f05306ec97620f0f519072052722a3fa742ea8ede148d30c76373b1f2fb227b8d11bba364c56ef614a58c329f9cd02abea8bb8817c4f7d49bb1836ca7583188ee1f733114f4432f4281f1fceccbdccf233524bc1c76c3ebc89102463524d70b878491877910ffced0e476b7d2d6a55d25d366a5e79c6731ec678831a37e4250700484791d473e2b5a444c867061cec6eb8c79f43db94395d1a6d2e7a9553c0a1d30221f0a464a5b5211750e36cc51616f84bb23ce7a145df81a989eb887afd053f27873ee680792c58fd0be5af80af0414d57d271c6c51e0502ec968ac722354ad62651fda026a68838b9053830b88da1f7bf93991d50f43d52516c66fa192f6e5e916033576cbe3f1d5b2e1b548a18db885ff4529b3cd5bbdbaedcee4b9674c5aed26d3350b6006b2cd7c5bced110a5c040ad295ee9127e4cf10b0b9a545e7556beca09bb467acf828d01611d0e2f09a8eea985b159d560571761050a04c3e00b8ad67cc86e71e14d2e924f5bd9326b09d13735914d88e6f832aace8ff3f91c860e958c6e9147de36436b96670e975b0dd1a038f8da29172a2f3b625413cef88040c0fe111c6e9b2c4bbd6fc26085f44948143caf06038f16084a26712e70ae7cf537082cd989f0bad4fbe31161afa84121eaf47d529c09126551a1bfa562f9676f2bc3411699b70bda2deca589a8719bbe81cfe0477793cd64a591065dc06fcfefd4bf4e3a36a514309d72b79885862ffa471c5a2597d199fd577cf3d7b4f65aec909105662542300c13852d9a6365fec447b4b69733df89433af43fdcad5f9ce7879a1b0f87eb0488141e6b112c2ede7b22a8b613017fdecd979cea2ecc931899ecd4a0d0381406ca4ec8b2f25bcc79d950987e9c114b7ad2caa9eb123ae50eeb3ea56bd833f0502e61eda6c2583f2e431e9f20fc1a972c62644b6f8e107e9d87f38e588ea3c3c2ce03e40dfba85bf5936df380b1935502732dbb47f84e663aa15c64669584cfe0b6383bdb07069ff8218d3e18a1168d5d0bfa6c68396f1dccf8449fbd77bd2193b69f15e46cc783fc36732fc3f2da9ae2e3d576c109bb0c8697fd34a30abcf711c41f035ed285830f3010c8940c07ffffffffffff0f395023043642fa39894d494ab22e86bf15f8a5b0d2934c49a694e431f01d64b5967c42026311150fd00e4b8df1673dcd1864ca89c43cff10a245a870a529e13b711fccedb8f46d221db61e1b52ecbed7d36d10d1444a5555bf5017a2ed3d16cbdd412413a929f6de1cb1b22e477d8789e4be269beab51251a95b2ce812c9156b1a57ec51396bcb12e9e439bb53ab117daa4a24b40c6bae8fd07165d094f0d9c12472b441c206891c6f90a8d4808f12e97043568a54b5a1836712c997e266949b475ecc68095fa3ac9cb861b1a0ac9c98ac4122c70f94143698039981c59275109144d23cfb0b778fdb31832291dc15c3d5c336cd8aa51c8791200289d4f4d9bda962ed34d6ce6249692a8af972294d45a913441e91fe6863b887d7bafd3f77ce0e228e4887fba83efaeb478aeaae11c9ac3ec4658b112fa66eee727210614442b850ab360d4f6b745a456411a94fadf77746eeccdd160bda61b1582ce62e8776606f1e4414918e23f64a1d6e794ca305024a1cd7049144a4f76307b157c465846d4197cb134144528859bd42d7f86c3553c2b7be075d8f392e2a103944d243cbaec71a31e34d0d91d8712e7645aa170fb1840fe54f9a448e365698b2582e178ba5557c00f961722ea60b228548875136b59ebf2167c7089196ad3acfcc628314bec281c820d29b534c1fa1c747784710e96836649029f3eeca9c4820bafb0e59d71c348a061197fd185773f250aaf502114024f75dce8e3a0d21b44a4bf87ee097157648e46883e40749592c168bc5827acc710922f287e346a989dc87979959cf61ba184286b1e53baa842f05c50ee5e32f7498f8f0e18b4110f14352bf6db155a6a59eca85f40d913e24fc5e46bc8859a1f566e258a30f6565c55356544c525a0e113e24a36cd838a3afb547d9879bf4703b5052e0b0584ec58737941f17bc6288ec21ddb16d6b3d1bf27dcd12bed6546b699c98a0c0912c96e66e10d143ba66830cd5ad3c24d6b41957bc44876e56099f8f203fd2471018582c066942040f49a9b34c1f7616f66ef312be3a10082840ce1d529f6654ff719b1976a784cfe492f20315b458d80a227648e61837ab732fd5b72e94157427351f6ec286e640a40e898d62df392b6b5ded4bf8cce141ba4172f9062274488a943a42834c433fe894f0d5c114103d168bc5a21bc462b158da89d7c1d4b258944592203287b45273bba18396319fad84cf7706bb75b80fd5dc8e94206cafc71c971488c821b5d3adfa1aa959ba8ee290fcfb4e6fbd97cd7e834362b5ce1e346bd1363b9eb2a2a2db638ecb0e44de90be19cb7e3f67ed235d226e408cd59ff386d861a66ac35afb478df2e564bfca0684b83673d57053b64e640d09a5e36288cf9575a7115143d23cbe6da3285d97afae481ad2f177ded14f739afbb9a344d0708b8e1575aad3887d099f2e03f9619267488d2ecd2a6ae8b07915046f418a0301e50de4818819925146cb1c2afa35ca0899a8215286b4f0d011a11fda35b934b0582c961f414eb6c71c972542869427d1fc294a76d69c3e2a3286a4cc527de547b1a731d7226248072963ab0cf12906829f648acf20656506772740386545255b240c0991db596898262e5cf7e372e23ef8ee0082c2ceb51384440e9275829034ba0818d21d96cad1183eba98f55943e40ba931aebbe59888d2bd7105225e48def60dae44a84e37e32ea4750df5dae38e2b73b513573544b89078255e33e7061d93472fdd86c816d261b3e88b3457db473f711f173c2c10d1427a667a8e9e49beb5679d291f703467bc1e735c44ca209285b44e5be6db5957bbecb02ac142ba5d7be75be3c1a39a4bf8f6525654ae904ec3ceb5fa517befbe842f2a26782d628584dab8f171650eebc755c2b7edc47ff8393c6f28cce42408bb40a40a49ad834eb5f483cb87dd8a0a15d2b662c7fe64fab6b3f38182b25a203285a44bd72c6a4d71a14683ee034890959344a4909a9ba37e9da2ed56de257c7951b9d01164795b8c425286db9a47fdcfb7e712bea680a445040a699daafa31dea918332ee14336449e9010ca959ced7dbbbc5cc2a782d2f44eca8aca8a3821fd41e55bbe5a996b6c4d480835438ba9f745bf6d031126246dedcd5186aeadf66a4496908c6b6b67e778bf0a95881252baeadd36aa199ba3de06224948ddfa4f2ed44565ce874aa1c3574e4c2e4d01c14bf195462248e8f58639a3cdd4e55bc287f0825c567e3c6ae308a8fc8e61e8b8ab66f8272617dd201757495140f47e0439c91e463067f9d3d5d16d6dd94bf8ee485939f1438322a483f21c74ce52c89ced1822243dd565c6d5acd3b75a095ff3e1267f667087567e7c9e6008295f215a6bd83af5db2fe1bbe8ed6921a4a51a9ea6e2363266328da6e0b05854d0f698e342c71d6919df45c5d4a073fc93b79e82c2300889611f632b7f997fa4509f1e735c6e00846c7c5c68176e7366a9ec48ea9933b6d4b4dfeeb3da0441526bfe67acc6a8b6d350099f0aba95d4d41fd3ee8fb3b6d49a12be76c93b2ac9bf5b73d3cf9821f35fc27744909298597e5ab365d6def007d710be6aa4acae0e322009bdb1bbe5fe4d371902f961920b25619f6ccb1c36be86474f525f7e2bfe45c8f4df8d1f69153bbc5a537d759c06e54fdc6026270a0e8b857bcc71791f099131afdaedf230c68c8e13933adad491ee9b2f6ff57cf7752b0f65d107e94eb13276f81b5d136190db638e8b0e4c522273f6f07a53d5d095c562f19492b4b87e5461ee5a99e9257ccde4e240ee58e193342c963b4e54f698e392e8489866312286c868116609df59f9f11cf8b4c87872eef25cbbda621a1d78d2332873e99bc34eef83d0dca0e344c561b1381d2a40502c164f39ee31c7a535c4061599c53ed7880ef5197534bf13e5e3b62ee14bf115372c164f59c362696e020485592c2a29be02443565b1a4f88a091b7190a0b9941520226b6049dbe93a65fe4774c7123e672728edec2406276c2c5201825282950c6e76b22ad6dfca570c767bcc71b9a8c389c6306e269e63b6374f9d440835afb1e435e60ee503888a896a8f392eac07e95bf31e6fcc286c4db512be3b5256900a4b494355588ad2ee31c7452fa7d72042cd7950b6418afaf33c6f9f0fdb1752a58307a9cdebf237fe6af0b7ed20317f5fe76a6fd5729a3674905ad347ad7fd9b1c37d9a09ca657bcc71c1410e12a2623f85eb685c5be7482b172f1b3dd6b89db7582c96e51e735c4c707087c8a06c937a988d4e5fd3537afbaa2d33a39ac5a2c2461c24ab263748aa9dd607b1548aa7dd2ae1bbac381dbd97cbaa831dec31c7650d1ba43b3787a15ef8da98971ca83de6b8b45183a4ec3cf369b788de8adea0413a678dbe571a3debd5c9911c75971bfb4c835a6209df4a0aca521a98013ba36f989a3fc9daba73238e36e8e9076fddbf4d095fbe400628798f42667446cd223c17c0a1580dbbe68bbab65db50c62a0cf0b3d7fbb633d6d95f0359419f458b9a9f215171e6287ada1c40183673fb5ec91b71d4b13c71b89f11d6f43cd30911e96f0f900f2c3e4d23c4595a8207e019b6587bfe7d87f2f8428870b52abb3bcfcf91c9b5d53a2c2b76e742a6df4464c5d25bb13b7c32ffe032505c8e10c5a903ef930f7a66eeb5e5dc2070425a59d69232dc3b2311a456d9f7b4a1865258f8d74e78e6a7367fbfb3897f0f9098a0f7661262b6a4505ef5252c787215dd485aef84af87ea0a4bc5a2cccedf88192c286c5a286c5d23de6b8088105a955fec253b58c3a554bf85056901a6b38db6ccca856a38c9e25fc86c562b1e449590102448da39d87e630de76eae5b2e5871d3e7c58526bcfa8a1695c4cd5a5104c5482a4a03c1d4196b3c007901f26787e0439c9951f0f843492e2d50cb97369235be61fa5df58415aecd8b8cc87b77e5205e9a46ac44697e963b6d78d142446bddf53737897f34bf82e79b7c7dc8e18a020adb3dafc3037add77d97f05df076e5c7e79ee0070aca858e94cbc50c132446b7545bbbf82ca6b64bf85652d00a4a90fe18e5669cb57f9ac54af82e8c3a2dba5ed6b3123d6ae64bf8d0314acdfe9c1fff1daae42ee103024a0a1d879c0e8f61f4478fb3c3724bf852565436a1b7d316ea957c6c3c4bf8567e7cd3e02465779632a6dd87157f099f1d297ec838d0b47a9671f6bcda2cd453c257a21204c82505e52f9b06c91a247290c8f10609f31a0041c5d1c7a7c71c973732ed61978fab9accfa9c12be1455c22ec6574c526c60b1acfc788b0d5682fcb898d3638e8b0d30b55a8bd1bfad33689a95300a42c2461c242472bc4172698c292b40d2535098f698e382824bc674f741540a592faf12be143f318917d939fbbb543df797f0a9347795cb8ad3718e448e36541489c120243388c362f115b562512472bc4172d1ee31c745040a2448b95c5482a45c2e12b0aca031820f88e05ce5928110908040c5031ff08007b40320e0808a0636703f48eee2297f4941595114d0005ef6200832d0010ca08128282912b800082ca03c450215b00005e888c0044e85021230f9f103c5031140085c8a721f6c020fb80b051c908106fc4a1006dcc54b2e1458806e051410041420ac582001aa44c5020838c01e44c30008efb22e256814602545ad748000a881019cd061a28201019c07ced88019f803855d52dc8ecbd5b107813057e132d6c50301d000002e970df00882fa718191bba0f8b8d0716242071d283e224046101c0d91bb5c7c4505a5e4b21204ff408806a4804627c420e23fd4090f343a8109020c20c4128d80441a212568c47b34f18c084200820f78a0031cd8008906328001342e60810a506002128800041cd000062c40010940c0010c5000020c604400210b80012d4216d043077f2003180308b184223091464848480807d408093102140a7004346041a41622b610110521440a710658f0104514ce40849090933b14b02ea0822798010f212121c130030116b18032a01132c7881231c019cc40861032a0202424840a6a8484843ce1095160424848139a9092829502a8c00488c606d038711f060d1460008d13f7711630060624801728b8431d32600635c280852b84c01152031550200c740881840822e620b28638507002344460208216000640601d8a31af6304779c98ac34e529ba41bef04648881d97125c80a87ca10c2f04c30bb0f8001a257894cb7b8a07e40002ca1a40545010e63550310192868a09108519848e13203f4cba108b3652d08538607002e635b8b849ca0a17ead883284090c3eb503ed4683e94cfc053e0682ac54b5082129440a5a473ce39e7a8aaaaaaaa66666666662222222222dedddddddd193468d0a04183060d1a34d8dddddddd8d10420821841033333333f3eeeeeeeeee39e79c73ce39aaaaaaaaaa9999999999888888888877777777c618638c31c65c7777777737420821841042ccccccccccbbbbbbbbbbe79c73ce39e7a8aaaaaaaa66666666662222222222dedddddd9db946bc4713ef871b385880144e548a9340a59d046103a5879bb0a0f9088262831f417e98f870355454d238a14148c8881b2b2827274da91112327283385454d618b14148c8480d42424668904e504c564c7e98bc91e277a837507a84848cc8111232328338424242944a6329adf18113373c25c84a105f516d25080a1a2a260b0d344a56524c161aea07ca8a4a108686058da57c589a099c40819090113842424662101232d22364014de0050c4242465ee08290901137465a101232d24648c8081b3b4873b831830b0b120b62b0468f7489230671c4912ee90d1ab0200630b8dc200d18781d2872c000d181e2a3b9e12726749ca43598a0121232828213344f51417ea072f911c47da825e840001ff040081c94a0831112584ed489c90f93941f414efc124900434848c8c808561a685892e00115b5a258101232724648c8881965b06045b1111232128011008484842061012121972300695e8212784a0a500a4ec0bc063bd03d6b0419986104083413941a60c26005c5878a6e9022402024c49752838d386ad04ed2505941f10184218821242484a1e1c387ff40214152230d355682e0416270e2061b71d4c09752e303ba41d010816e100fb04741f9143bd888a306974fb14308783560238e1ab011470d4e4c940f3866a0b2a2e27404c117408028202a22a678c313ec5840102610840e9395060d50527c8e3bd460c10280b000844783e6413061c38c32d8218290103bc270691e04930f02870f1f7b344871384a50820b1015528484846cc08c0504614148488825c8094262b0820495144b677335bbb5869ba4c8110414352c96e6414059d787116024a5be6f3d627b9852f686d2a3cd718f392e2718f9456a6d6613b5462b1932f5456234dc9a66dd99f2ca1f26252a163b8cce31d28b74ae21ab6aa5f4346482fc40690481c1091b160b2fd233de3947d330cf7fdf455aac6dd45ae36adc201cd145628b584fb159d726622ed26234a69573b24a660617c95c7eb7d7d5bdaacfc82d12eb65a81a4b37faddd0882dd2e1a9e6ae34b8502af406c91a242d2091e30d9218a815c50273a816e94ee35e5454478be4ebd61dffa58ad67f97a8a816a0f02cd2ae6dba905debaa465fc2078453470a8a0d2c4cc5e4c711c5882c52f3373a8a14eae366a2fc899158e8e95789941e7660918e11f51f578ca15af68ae44b174b54c3ccf1725d91b0f9a379c5af589e51378cb422212bf568173b51e57a56246310faf65fce7031ab55a4d6d6eb62a759aa22a9a33fd8ce996e63d6a622ade9e74cb59a23d2b35091b8f1fe8eba6b5d3c798ae4bdce1935a9dc2094d6a648784c26d3367bd82ec3257cea0224c889721f4ced182945e273c759cd617eee7096f01d2912f26b7e1a295b46af4345ad5c4ccac82852ba6baefa59e8bf2b4bf8501adf31228a84ac616b2c592d6b6ab5502466146b8dc99b87cbad6f1801457ab3186fbd51aa65907f2219a494329c6731f3f9f5447aa5fc77ab72ad6cc6555007239d480b35cbd66ece2b6cdb9c48edf778b7bff237aacef56e2221b38e3186779c4819d36018d1c459cc482612e2697750439cd8888c2e9848a8cdcdf19b76a6b106327289b4d4abc94d7754c277711f749c98a85cda89ab1c1661c412a91b9d2a73f77aac3288baa8986425d2a2f47fd6a95043886438618412295fa5a32bc6f69451aa844f5052fc2406164bdf1e3146269194f1662e86569a7ee6a3995c4e50d88d9318582c2a75a0a0948830624412696563478a6dff6d2beb8bc8184622918ed1c3fa1cf76dcf06c5310289641cdf1143a731a3c3ea11a9b935f4e6b7aaec7d4af82e2a262b88114724ddb66d95393e069f7923d25a68ce34856c7619c612be1890ac4142b20689c54222471b24ce2c168be5e0210310238c48bbfd87f6d5187567b71791ccd2d54c1be2ffa1b51491100d634e94e75bfda41a461291cc618ca9b5cc72f3e223225debe2c3d8dcb6295f257c3e94c53272888414eae361076933a8d019460c91f2b03deeb64ecfea62dd859142a493acb57fc7eb86e61ae2c2082192f1869ae2c4f45eed74091fcaca65c5552e9d6cae8d0c22b1cda68c1a3a2b919d478248671039d9624c9fa9a348d620e94122c71b24168bb9cb95612410e9d9396d7f93febff40191f6d679feed5c7f48e9d8b435b355ea9b2d3f24b45677a5da5dcdf054095f9ea704513949786806237d4808611f529fb76fcc3a1f5253cfab8f7a22b55833254c839318e0e5f5fa60640f2955b9d9e773ce555d7c25c8f942237a703666b1bf83e879488850e3df5dcc98dfb6e746f090fae442eb5fdbf7ffce4a90bc1bb943eac3bd8ec966a3e8ad306287d47c79722394cdbbdd7a0a10bcbd75c1481dd2fa75a796b33355754687d4eecc5157cabd19aab41385a746620f46e69072611ad48e616a1fd7ddb16282a8881139a486b710438cdd20831ab3582c96bbcbddb162d24c7c288382188943ca46838851f662a37538a4ceeff6bb43d65043ec0d29d92ea59eacfda0f5e586b4d46ac64daf41ecf7bf0de9f0a143d4b81152b3ce86b4c987f29bb6f7d3d6ae212d633785ceb25dde855065440d89e9752fe6acd722dc4e4362b878b1b668d85a8a1d1c7190a841b206491a2470bc41b24146d090d07f33df6dcd7bac64238c9c21dd5188cd30a35ae659878d3848f6fc183143426e65ed585bc7934821318c9421a95d35e8bbf931ed5993212975f667d99d5d793cc330328694cae75d2f99f194713124e54851f9f25b74ba7109df92c8d186b380db0b236148ad5715b24ed43a573b2b276e071892697cd7b9f66c5be782d2500c46be903c1b3a5cb98e52e80d4bf81606235e480a95b6ccf745e79e085d4c1546ba904e0d2e7b2a5af37a2f4285112ea46d64cd6a78215ac656091f4abb3bd782912d2454bf76e7b0b5f4759912becb05d1c7522734b058fa0c235a48ce106aa59abe3ac59f8574d665ae33b277570d0b092142d69235b6cf66f91592672e23335aaa99c1b642ba6ed4da9e53ef798baa900c6a2dd5366388b52a2aa4d350a96dc4ace55ff214d2615bfd8bb93979541f2924d6da6153dcea6a7a452165b61e3b6a8fb3cd291492396c4c430dcde722e613921ed5bf167ffddcbc131242a9f491a737ae9a6b4262acbbb5f6333b4fbfd5386505888f11268c2c21e99d3769b80dd2b6bcb544c56ff4d13151184942ea838af5f965ea3a3e8284d4ea0d1dea5a786cda8f91bc21ffed95c9480d5ac648cc98ec5c6cd0ea562c46ca3fb450b569fc87a7889110f3d5ec1a9fdd73dcc3488b72a1e23a97bdca849176bd97e9d3501a851d8c749cfb7d51b5522d110123e93b3addee2074ebff17290dba7e1fc6d4953bfb221d9687315b325bd4ef45da9688f99fe64c15dbf2c22c428d4c22849617f92852679d61af14ca3e73257c248d8390f860248b83905c10aa5ce038bb9a08327691fa555bb4f65b75913e97b7de5ab948aed95c5b1be19d3cb848ad7d98f36995e77a798be406b144ae509fe5c56c911442e3a8d79be947eb505e5714ca8a5a83c40d1239de2001a26060b100513fb00964d42269ae3bd5fdde904fd98ad3e16d582c168bc562c90219b448e88f293ce6557bbafef8e10622323641c62cd2ae52a8acaf6d9ebb268ba4a76953b37dceb2cf8c45fa5bb3f2d31cf43f071649dd91e3ee1a65b877af488857bb51853c65e572e740ee90434fa41364b822b586672df52a55de69d68ad4d0a769ab193f8899cd8ab4d6a2514d1b8f52b56815496fd12e93ddceffe2aa22edffa3858edd62fe76d481761464a4221d5c8d94328a61df1f54a4b690417cd3ca718f69a7482d334fdd41b4f0d52f53a43dedcff15366181bec52243da4b8dbdf3a2adb39257c76d4a15783171c24a312649022213ba3ce6c3e62ead84791d6b18354cbd5655c518b22b162eb4bd5590d538b429118af35faaa76dd6d2f2812b3590d592e3cab11df2712db5eada9d60b21b4ce34e25b115f90e189748f9a4811b92d37ed9d487cdfd6334b94ec6a1727d2c2f5ebfecd7a6f6a7613491bebc3f86d1d530baf84cfe96825eca090a189c4f88d79d42bfff4926522355c568467981e4c5f9848abf542677421a50a197489f46f4c7356bc4a5122b74462ad712de259a570772b917e31427ea4ddd42e859448888c4c5b7a9ca5615c93487df874a2bdb356274292488d91f7d93f4ad1b4bd482476e99adf8ab15e0c4122356a0755a395fbdfa73d22bdfaf7b2f4e4c3ed88a4bcb176f4dc8fb3d3dd88d46a8f6abece52889d322312f3b266187fde6dcbb388848c1d73501f849de8a82252ebea212e46f68f2b1391502964f37aec4f6b0c1191faac76d4b6af0e437488d4674d53ae942bf73f57c247c789894a4a10e629173a5a6a813932906188c4f47929e3f7cb72d7bb8f734e462192eadf5cccfc1b9f6a2ce1bb5c0eeb2083100935bc5ebf73cc1b6354099f0fe52b2a973a7c04597b2472b421c71b246a347a4339d12763108997b1f56a90bbf9655a099f4a0acaca2508267f99128357fe460d48d6207901c91a242b416060b1a4781d29eac77b1cde507a582cde504e2c168b2508269fe78e0c28902188848731ec5fda477dfb0722651ff5dd6e6657ce8e19e4f498e3a2c80044427dd0ff1fd47ca14d66b1582c37383de6b85cc8f8c3696d64dd6d3da888b1f7ba293586e1ba6d68b3846f0fb6c0624149494940548e9740861f92ae5bb4ca18f4e7965b1f52aae67ca7ad398990a91a64f021f1b6b66af89ea73dbf0ac8d843527f6b370d4b56c4daeb21b1c765e670912e449c8784fa1fadc6daf1b6fc283c245df38baebfd19f21ba4352eedfe7f4a0f3a3da858e13139520796d906187b4b7773075d99c86bd7548ec70536c98ebd2864de9908eb76cfce8cdf25721197348c82cae533f771695a29c5ce4909235d3f9b8ccf7698f43f2b3d479e9df337cf57048cc2c66e7679221d3d4bf21f131bb0ecdda34a8a17743cad667bc2984be0d29cf65aa4168a9c3cbcf86d4be552fbb476b1133bf86b46aa5b25fe7a03badb91a52e3f786b95435d3b6791ad2699fee473183faa07234a45d37eb985678ce908e2fa23e878eae43ec6648ece6bb171b3ae8a8f53224cecc569fbdd4b3562743fad6c7f64c33cbb0d1c790d0dc62cbbc77f9bf7131a4ee73cd9a3263cdc87818526b8eaeadb50aad34ad812131c7b5ba9ba7d08fb52fa43f94ba8d746dcbefe685c448a15c86d12d6bdbad0b491bae326dd41c3b0d1b17d23187a84fdb53ec24b62d2457f8cf8eb585f4d8342da4677dd6793ebdc8b0695948d9b7facc6e312ca4fb74552795b7ca677685c4b0f927ca47a8101e6685d48e8c56f335b35dc7aa90b0bd3989a7ab6153bfa8900e9f867fec7af5bfad29a4437e50256253e5482d292466e5fe5d5d2a59f78a42d273e85b7fdbfce368910185f4adb5c6970d21f68716194f48bc708fd1350617672b329c908cd17df3dc9f7a1e29329a90d65aa77735edf6535564302199c7954a35aa5f3254642c21f1fe517c56a263d67f93a184c45edbef59d7f23bbfc94842422877973b1b43eedb64202135da3dccdc54aed6b68f91ce1883b7c75371b26963a47c44ac59262353e78b911c5b6b7f8efd319a0c11239de5df2ed3b4aa360c0d2319d6fa985b8d9a61d848186961fa2e96881d841aa160a4d4d53fe5e3c69c57048c6410616bac3bb33d15fd222de223f7c6ccb0338a7c910ceba55c99b5ee6c11f522a5699fe79b528a781de245ba6d3dc6d7ef62a7f8bb48c894d164ad320d37675da4efd5c3d648ad41a83917a9b1fca6b20fd3f862c645ea477f459c68fdd6f02d121a5eca206ecd952a5a5b24a38faa98befa4b375b8bb41edd9d62bffa4efaa14532adaed5bf625ea87d6691903a86d838fa730ae991455276f808a94d631ef1c4223183ab0ed741e64d2a8545eab36819d5d657a4864c973db6d27437ea8aa4b831c36ead633baf6c453a871db772948fb63b599150b2e3eb5ca7afc63457918e5a6af5a641669065aa2231ef5c9fe61b8f9bc954a493aa7bd0b3f92e44888a74dbead9d1bb428a0e9e22ad839029639d688ab40a8f42cc4576f0562992e13cacac35b6dcd5a448aad90e216dbcae2d1e4562f5aa19661a5bad5951a47c3e8bfcd5628cc85c28d223357ad41b75da9e07453aaccfc9da49fd95ed13e9dc6b9f65c6f835639e48caf82fd2c6ce42c7b8132906297a46bb6291d4a9bb8245dad4c73b3ddedaefae57a47367d12ddfb61ed959ae48b9871b2166b9d8e959ad480bb56c663d6a8db1cac58ae4dbce6ae71c9936e75a457257bde76db1468673a922ddbe276b1a868d06572a12c3c30c5363942d6cb75091b2b1dcd69ed7c9f4d52992fff253b67a3d135f99223132c5d0a1e5a5484cb3973bfd2cd3d7489174699efac3eb91b3358ac48c1f53bf902ab35aa248ab2966cd7e76b7ed0a45524f36cd55ffbe690a14694f6334d89a89dffd8974cdd762c9d6cade863c91f8d0324d292e4c54a81309993c8e88ad378f9c1527d275f7b3e27fa694596d22a9f1cc6f9c6bd7faa33491745bfd6175c8a0fea332910ce339674da33e8ca930911a2eff96aa6d2afb539748aa59295f6d64bcb1539648e6a8627e786721edaf446a46a8a9f23257769e1289cde169271f76a73f8974df6b58322f49243767bc2dbe3aebce2391100fde9d39d5fa178344e2bcc6d3ba5643b5ec118929f2dff64ba531473922b13c9cadf69b31b8dd887408b95257d41473d38c48475ba9e2c5bf8884ab157d9361b775902212e2d97766985ad79f88f4cfcaa7b1f5b01922126fe73ad6fb35af0e91dc3494cf34f359b52152439b77d651dbba780b91ce513e455497b767099110cbb5d41c3c3d88b4db77902943e6536d41a473eb8c7eb2ec40245d8f0ef2652d97c16c40a46b66bb9532bcd038f61f92599ddfe628eb3dc3f643f243b97ccdcc9985b0fb904e8f52d35429ffe6a6f990b21dfa29b667119ee93da4a6f01453940cf1fdf590169ac6b073b3ddb2cf436a6df897aee321e9497574512ef652ed0e49f9c1a3e8a039bf1ab343f23eaeefacbd2233ac0e8939efe1c3cb9942c3e89018428ee88ff196e86b0e8929c39ecc46f58e5a72482b4fa562c5ba8772c5211d846d98b5ab9e830b0ec9df3026c3e783aafa0d2975d7ea9d6aa6b585dc90ccaed5dc987ab656a336a4a68b9e8f506b6410624332ba1ae1417e1617d11a121ad75d6f18e91f6535a495b970a933bebaf5a6212972465dadb1e357070d89d7375754697091eb1952b64747dfb42233a4bcd7a6e76ce661a4a80c4935bc445eda2d19159121ad71f5489593f54289c6904ebecaa5a635cc5e88c4900e5a2aef90411486d4ea3efb5743679e0f86b4d2983ebcd02845f85f48799ae131ecc3a8d6bd908eb945e7d023d5bcde859477b6a1cbeddc86ce85d4b6118f21e53b6cb52d24d6ccb273ffe810c3a685f4e68c9b762c6f35d3b290301d21d4501e4c7e8685d4cc41cdde1894c724bb423a7db09bf23f884f5b5648e7192e44469bff73552131ef86561f6e85d98a0a691d3d3f2b75deee7b0ae915628c993fa450754be1b96f69b7a55014d2a142d8b70ca6f22128a4563e7668d46b9fe22724b6679069ac6716313b212d6f7ce9ad25fef2d384a4503264e55c7cb48709e98e3966a3eed7ad35004b4867b5ffe16b9cdd90064009e9d651faab9531a350039084d416ea6dff96d70ccb002021791e457756268f9f3c463aa6afb71a6de3b3d01849a16e6e653f2e464ae5e6c68c3d53f3981869b16c4ccd7a7be5783c8c940db1c6162284569961612436fd88b5e30f46424b513bd6453eb70f8ca4eb8dd1866b757ffe2f1276feb673946fdfbd2fd251cc8f1e6f6f5632eb4562c7a71699750caf5bbc4869aeb96a97c78c31b58b94cddae54155ab8bb41ead5df4339d2cd5e622256b4d1d2a65cc2d428b8b74896dbcf5e2576ad1de2269d3c68e9edd2f3abcb648eb11526af1786b919652fd8f503347f19ea54552d8ee64df73d3bcb3b348ddfabf7b18af3da52b8bd4dcb8e9934dad5e761b8b848baed7b677b66c6e61911cb14e5da6b8dfc6ec2b527b3ab75236c615ba2b52f6dae4e54e54af5a2b923228112e5e96aab8b1223d2a6aac18b13f9eb68aa41429456cee59a36baa48a80735eae36799d752915ccdaa46f7ad3d3b3ba848ded432e71b4bf6a6b1738a84baee57abae57c7ea9822393f9fe3eb30a631ea94227da7ee3ad5bed9617c4891ce62889866e5a3437c4691183776e83295ba423ea248c9de551d223c8dc82714e9ee3b931933e5dff6802229f3778a36954246f77c221955abf41933d78cd9e38964d218755ec4caf0f57422dd9f6d4b5daf61e37a3891ce2f4c64a467ad427a36913697fa536770addc3c9a48eb9a35233673d62f4f2612df9b46a9cef174930713e95032e65c78896410fb2fa68f189ec56389a4ceabed44ada13489a712495befeef963f834c44389a498ac9b07975bf1ce24127fe741270d36346b8e2452e3cc639af9664ceb8f44e2b598aeccb1af631e1249e16d9fd5ba696bcd1f91ee14631f5f8c5e7973446a3f63d4e16d9f52ad1189d19f73881d43e6b73122b5b334cd5ea75f325b44d2374bb1dfe5c83d992212d24689dbea57155a8948caf8fd6ccb3c5eb91091d65d63c6d97c6b84ea10e91ce3762b937f38db102995aaea837b4d21a342a4e3732acf31cadb524488b4cd509d56f9df5cf120d2ef9e5d7a6861b7c38248cdfa2ce665d061450ec461831843fe5f4024655c9139ee9a646bff9012b5bc54cb9cdd86d60f499b0f3b085dbb59bada87740eaf6fbf7a7ba559e543eb3d678df91e92aee9867c2e917b1d3d24d5e563acd6ef1b6b1ed22d3bb4be8d42a83ff19090ba6b4897ab31e6ef90ee1b9963bc9bd1a3ec90d0bbf1acecf36716eb90da1715f99bc33c950e6961afa3c698889b399d43d2456611611ea61e5f0e69d9628dab2a0d2a8b43eaa64735f7723824cf663df5e36f48f8ae14cacb6690f9e686744e293579b758b1b136a4d336cff0f1e531656c488d171df6bd6d71f35a43bad69ca9b34277185b0de92053ad99f6f569bc6948ebce19aea687ef9c45435aad9d3f99788ccdcf19d26dbfd9bffb5b78c70ce9b4e2656b11caa354cb90b4db4f63acfdafa94986f46aff17e322cdfbcc3124c6141b3fad26b30fa6189272a5722935c81442cc3024f389dd0699738eb34b3024d54c793bc8bf9098c1f39e67a59bb55e487ade5b97f1b59a9fc92e24b4d0693c6c0e29f55c486e4ca333df76e3b585d4aab9623bc3d4c3af8584679639fac8b98c672129d25e8c5037c3d95848e8909fca5cbf425226772d96ac5921ddaf7d63ce1735c6ad0a89f5d15173adea2ea342422a9b213f8decde6b0ae991697bcdeff9a42e2924f57b542a424b99b62a0ae91497428b31f3ab7943211d4d6696eaaabd2a7a424a3d48ade5a869d02127a4368fa89736834e3a37211d5f7d63863113522e552ab99d4db3b884f4bebc987b53c6f45609a919c69c51a26cad9c49488794d1c30c373ae600404252eb38e3e58a788cc40e32bd3a97d3383b3446429c47d16da3df6e068b913211424b29f3c6c80c12e39ed9202ef6c3488bc7a4f351a678ce0b23f5ba5c5cd6d3e6edc148acdabdb356ec47bd0123e5772bde5c8898d1f68b74fa78eab931b5b97c915af514bac75b56ca7a911e31868e5bb7aa338c17a9979d46cb08156a5dbb48a74c7ee3d76dab66e9222d3f788a1d3d8cd0ca456a8ad0a0e578f851e122a979867d8a95abaeba45d2f4c576bdeb83a76c910cf3646831c4903ad7b548ab9052d82a0d327a4d8be4071b4a7fc6736bcd229db6a254cc549a2c8be4c7277ba1bf3e3c281669f5234506d53a6e10c1221d848c1f47e67b45ca63a8d97f538efef0b92231a6a33fb4db8a64bea571b41273152d2b12b2a579e907f93abab78ac4a92699baaef3fd39552434f8ceddcea86aeb2e15c920653df4c61c677e54a4f68aad99337fafe64f91d2e8fa66663553a43ead65afe7a51633568ac4da943186b88c3665a430c711ea75dbd628d26166a58bd7d762a64491d4f81e84abf89c970a457a65d45b738322353fe4aca80feb419f480adb28567b9aecacf244528310f33199cb8b75229dabb27b2fe64442cc878d62cda0eada44eaef666ed5dc18479a48ae8db0b7db9f62663391d499c56346597a364c24d5a57035d5677ed52552363edc55c8d7275b222d1e5fb4864d9e6b251226a334e6f9f9d21c4a24a37c8c5bf1d73fea24527bec3feb88bf4a492219e6d60aa51eb34c311289a1668e2523d59abb313c2071011e8f50b9c3ebc0000f4734020d1e8c68008f45448087224c80a421011e89a8000f442c80c7210cd1001e85f8018303f02084e131081f3ed41a3c04d1011e81b8980049030e347800825580c71f4c80a481011e7e383cfa40c2830f0ae0b1073d4c80471e2e2640d2f0a5d468000f3c7480c71d100f3bb408f0a8838a9b980049a30d0bf0a08309903430c0630e728480871ce2a082060f384c80c71b2e14e0e18604f068430378b041013cd640001e6a48473584aef53bd711db0a3cd290942e67566d0ff2424d4981071a125356c9ccca1177a17686d48ee661fbe36dd5f5a5a1c0c30c698d39b7fc7f3eefb8511e654898dfd0cdfaaf66a775093b5129eb0e093cc89016ae3b450a5d571e374991a3c71c97151e63484773153397dcad693b257c28292cb05880a0a4348b45c562e931c7e5848718523bccd0618ab5d2537c4af8502e1c8685b6b55e880d2d54ead23de00186e47f66b9b6c594b2c916031e5f486a21a58775b7d52472b461e931c7a5083cbc90be59b579e3c97ed40b78742139dacb458a1732f26d57c2830bc919b9399ecbee7667257ce7021e5b48c81321dc75a84e154f0b49d92a37ce0b9715aba01df0c842523eead6a18678ce318785846d0edeee3af56ca9b58bc71512376acc27cd3b52fe6d8594dc1052fb99872975f0de5083056e92220732e151858472116e63be6874611becc1830aa921a3d0726f55b6d8981320a05cbca19c1c37784c21ede1a3460f6eb6e1c552487fcd97a3def9e6d7dd784421b535a9cbd9d88d7e0a8a89b6800714d22f6e4c9dfdde1db3122fd9e0f184b4e7d93aab0c43b7ec74a49ba4c8a11ee0e184849a9e6b85eb8ee734b2581019783421297c75eeee10b51f84257c77a4ac9c1b9635ee4891c362b9636ec75d73f614ee31c74524103c9890dae623bf661a97496c68b100f9f1468f392e74f05842d244e820d4bbd6cda62b0d50564edc80838712124ba4ff67f1da669aab7924212134bc9e8956e2193cbd6e8307129259c50edb1986add8ad840f88fa9167e41889a195c9d84c2286ccdb6b0c96a816f759f92db3d131528ca487ce316ed40cfd41b558800051168b2fb5d66881c5d2b1182146625ce71bc2fd6d7665168bc562b1b4026264186931bf1ddff456b81406f1a16a80b20e23c248dfd02f75ca46fb9a7d099b1a34941e96c6c24830d269f63b017c48da0cbd5aed18748f08ed21a9635ae9b6f3c69329d643327f8a7da3bdd30a97f390dabe631bcc7bc4662d1e9239a730d9765baa3ef70ea93d3e73766fb6edbab54352fe0797296b76f4e8a9435278d8422acf5d6bca1c3a24c555accf2db51ba2ce21f95ac9be289741a52ae590b2e563735d8d436aeef8dc88ea93f3e190501da2e3759ec77cdf901c611b3f0c3d3b47ddb921e951b4141dbe69d4dd86f4ac26f91a9e93e6b0212d9e716f47d7a0e18c3524b5ead7a8d0d5904eb22b6aaea8196486a521b179868e324bf5e21d1998e10c34a437de14b1f5b2b6545bc277712198e00a4a0d107170c61992f27665cc46cf9852b36038c30ca9f1e96e8b318548e47883c462294342e7b47554a3be65f86409df2531e338830c491f7153b4aca9628b3e8664fcda1ff3b59a3e422d089013930b90202bae82e80c31a4350a59b5eafc93bfb4844f0565e58ecf08436aadd31bb576a316e2074362cc1652753eddd9b57d21b5b23ae9cd9ba6212a2fa4a3c657f790af86d0d92ea4ef3fdaa79d5fc8db395c489dbdd41d7490d23b52564e92c5f28933b690b615757bd4ce12df9f371267682121d5c4dbd5a8678f71165277f72bee8394199b6cc3195848cc303dfa6a2ddcd5a6d870c615d2f9bb4b44c49afa346e8584b4117fbb2d420671a7e18c2a24efe3cf3bc77a21aa97f0a10dcea042ba7388573b5eea94a697f05dbc0f0dce98425a9646b566aa32e8f0fac2195238ec10eb3d674421396af6e954be3652503a0b674021e1752fd5105b4ffb3f2131fac39cedd48f3d7342d26dadd793fb9b908e39b3daff95d37c3e13526b83e8cbcc5f6bbf3f630909d775b767ea89d83a7e8612d251eca8fa768dad9bd6ce484232e888eddc7663c49c9d8184847a7965a274d6c8ce8e914caa450b2df4aa1763cc1849d9ad41e87cfd32c7ac18e996e9332a3eb48a7e1123a935079b7dae358c841451f36bdfdad6e11246ea5f66aa147285acdec1488970a9756a17535cdac048bef8d3f795fa45d24d45bd967eff1df245da3387b5e3873133caa817e9593be874f32885ee302f1243afe7edacea977f1749e57285146286d6bad645e243db4c29a36f4c512ed29a754e3f32c3d6305c5ca4fb86501ebc7585cedf22297267c30a6d5f33b345527d673e6db569db558bf4ab31edd32bfd1e295a24849bed20c60c5adbd099455aa7352f557f6beb974552cc9761eb655e6953b1484bb175a587b43d6ec22239b6f933cd4e1fed7b45ea83ce41ce9c0ca166d415e9985378922994aaadb722f9c15f6be1af6445724c767025ef2ad2a1ef59dfeb906a4655915af1e953e807cf72a622a952a50da16f5de6a848afd77893effc6ac33c455a95f8c8345d4791bd29522fc66cecd565fe7929d2fe2f5a6f86fa143752a463d45f43a914e33e368a840a35fb61c65fed2351247568194437ba4e9d50a485cc5525a363bda8a048cd9cdda9b8a166167e223dfb3a8ab54bc4101bf4443afccd28eade6da4dd89d492751e94a6b9e12b271227ff59b410cbc30b6f13291b3b75ae783159cf6822351b75ae18ab32d7ea33911a5fa2657c55c4ae5ac910ccc0445286546b6c31e54ba46544dde97bce7964be0d332c9154276a7e5bb90af72a9194db71236dcfd96dd6552891d822a4b05bf3a376ec27a1dab6d3cb705f126929b7bdd69b89bac8239194e137c8bca1dcfcd52091124f75db6e98ed4cb247a4478c8e90729a5545e5888427d5f27abf3c6e4e3522bd2ee2a1a2f943d66644e2de7734e7fcdd72e64524de35cd9bbba537fb554472f53c6caf54d3f3de4424856f4cb6f6bc94db1f442495686daa468e7c4ecf2152dffeb3549ff8794c9b3848d6203132205983c4c04102c71b243e80fc30d933c310a955434757cb3b8548acae4e7e33a5f23b951069f3fe541bd37cad5a83488acfead6a5566336978248ed8da6ea4dd36e2d8641800422b12a46741ef5fd701d104961b783546ba4541fd91f52b3666f76d4b163f8ec8774502feb6a26b70f89a95d2d9b518cd9baa67c488bbc8a1db3bc63baf690d4a1654db134aa506dea21fd39a4d0d77c639bce435ae61435758768ba150fc9953a7cb8b1bb3ba4d5758dcd2ee383e74d10ccb043c25d4c6dec6fadcbf43a2495ecaa580f391d122b4bc59862c720649acd21adc5bb66965db3be5c7248f799b786f9af3be6a83824b50bb16455bbcca3ca6e27980187e4bc875619d496b17b43f2bf3f5ecb0ad19ad36e48ccdfaa3297e1678f501b12ca6ca899c77c76708f0d89e5dd7a229fe9b5d494f0f98a5a09f2630de99cfb9b654e6387ddae86d4fa6c3b42e3cc39fb945cee48594943baf5dff7b6eb17e96e091fc91a24291e4406246b90ac41120493f71438f678101fca8ea3e240ee58399c4830030d09bdb73944ad8df973eb0ce9acc387fba865121366982131969dfbebac9da577f848e4688304cd2843c2df73efa68cb7bbb66c30830c69133154889dff676799c562b1a85cee54cca123cc184372f67cc314e3255abe6248ecf298de9d65cc8f340c4957a352b7bdbcc63fc190f238535fcc9562f828bf905873be95cf7e25422abd90fcf8b3cb437b9299695d489f8aa95c889c71213586fd78ce33aa69cc2da4dda5c6573373325f550b898f354ba68cce0ecdca4252b5ce61689afac5ab1f0b49d72ed3d97ee939c6e80ae972793256bee70d626f85a46bfff87aa3ac4272ddd56631ab62f94b5121659fb276a72db63b3485848e5af352669cb1c5d60866482175f3a68d148f9bb63c0a299b19f3cacf1ba39a7a28a4c6cb9e21d5ddbaceb5194f48aa1bf1b9c6da20e6df2e98e18474b98e516363f6d8b7b45812cd68426254a777c797226652cd60425a2a91b16d5ccb32d19ab18474febaa794397edc17437798a184d4ec86a99ad610e73d9a9184d44cdb3353cd8e8b6aa18a194848e879e9356775c8abbf8c63a45fbdf8ca95a1bfd6c618c930c35619edfbeead2a4672dcf655a8cdc4480a51ad6b6d108791be9fd7f96dcb56b11a61a43e75a6ac4b6d2aab062361ab32a38eecf7ce2b602484942dc3781d47eabbbf48d8474f1e7b444afd9c2f9262ab0f3e1eb39f47d88bb4cc317bad77ac65aee145ead756cb34113a5eed7791983acbfb103e5a83640d744719ba48bd3ebb976b437c4cab123e3d2d4219b948cbb84a8458d939aade4bf850903270911ae36bd3d83cbbe37455b158527efcb058727f50c62dd2bff2757878b5bd4ff3c61a2472fc8081662bc31609a157cb91f62dbd765bc2a7e27628f7d1972b28a316e90c63c7175be7acb9b6b448aab22dc68c5287aa7da70a65cc2221672e3a53dd52294f59a447f6aaf5a16aa8d03f4aa18c58a485f07c17a3c554af79582457fabfb79441a816ab52a18c57a495bf581315731eda774532f8a9ae19b55a69904278f884325a917af5cd5eb76ee8bc5aac487c8894b2c53ed72935baab489abac6a4723e84aba9229dc3dad2936dced26d948ae47cbec7aadbde2b4f54a4458e8eab7ddbed4d768ab4ca2894ccccdca749b417c494618a74a9aba7898cd9e72f4552fd6c6a9471d4574e8a64f4f8723dc74791de71a1c6f8dcea34268aa4cdae0dc2c5f628b542917c315c8af0d034d60b14691bc285f018598dab4fa4f5acf171e2f6da569e48ee9bad1d353ff5ab3b91ae353aa8a94d1d637322f922368654b152fa6813c9572bf4e6c62ce7833491b475d7aac3ae6e106522dddd254334b8ac15632231529a874f1af3acf912492d5f5474ed5fc86c8994ea78a93a4a91dd6f25d25aede8c1e3e7afd9a144fac594e2ae65ceae6712a921b3aef7a72412ab32ed1cd4280db78c4442cecf98281b525e0989c43e1122472aff11a95db539d363766af31d91ce697e8f6bb123defc46a47be46673f1afe3279f11099bab630ecdb7d7cc5f4462a8e52e5bde2bfff21591ee99d59c43edfa117e22d2a9fabe5a67f9d8dc2322994d7cb5d0ecc16ff38748eba8ff7fe51b22a1a36c19c5773035bf10898d59b872b5557a9613227db344e388d042ce3688b4146366e7b8f6f599209261e7cd33a59aad2f168874da6df3692b34ae18209252ab47dfb0fb86dafa437a46e4c9a9b99462e587f4acfc9f2d267263541fd2fa7a7e7bd43eef9b0f4931b347ccfe3423f71ed25146cb942bb3165aa487b4daf0f61bffc377ce43caedc3d3b021a59a331ed2eaff83f68f69c830be43ba4d5c96fa6b8774e61863ab142f67de3aa4b66fda2e6c9d7cb7744848bb111ec62a95da3387949cc7fefbb431f52a87849035d34cbec62129b60c22b54d9da25238a45febde8ebb296458be216d4b35cba8a6bb21a1bd7672b5ee47c7d1db90f8fd3455467436a47b3768e1c1c59862e76b48a77c115b5f3d8eceb81a126bdd96991b63546b9f8664582d74658dd4af646848aacc1cf583349d297586e4cb245eafa570a955cd0c491b52bfdb47b45c552b435aaddf6c33cced685423433a469db7631d43ea863e4fef6643ec5a0c09f5a13e75265db985211dd3fefe597bd6d760489ec8e0b337c79689be90961af676ce155aab7921a936e7daac1a56d9dc85a43699d7c9470b695b2ea4b52dd19e36482985ba85f4ed9cd65fffd98cd242fab6da4178f09a15330ba9f132deda7c19f5432ca4ffb3ed16bbb54e5e21a56947d7d17794b86785e4479d657c75fc6833ad0a698f2a5267b79265a3423a6819e5998c5b9e3385748bb555dcf89c96fa52487d6ee9f63a2f230ae91cf64669949fd66f6540219d59b65a732233a75b194f48ed9c4daebed55c4f2bc309e99c7d35bfefb9ea59194d4888e5af3abb7e44c4ca6042420c31d53486215bbeca5842324c2dddd34c5bc35c652821f96b5388dcd92ba4aa8c24a45fa9d20ffddea7aa329090dafc59549d66539d3a46627cc3ecfd8ff1bf364662cfecda7ef3e1422e465a66511d84ca3cef2f2346326ad44f7b5de7872d1b4662c6143b99fa83a7970923edf3b552b46b35fbc3829118a36e2b957e2384ca80911832b97f8a998f19d92f12ab5e0c3196eda7d9315fa447cfeb9aafcefc3ad68ba47c5ad73ef69bde63bc484611326b5dbb9d75c77691d8f97ffb5caf8bc4c6d1fb9a6bfccc3d17c93f7d6daaa5981b6cb84807d741f8cdd9d9a5d42d12cafbe58ba1f5bd46d922b9f26fbb33ef67a1ae45ea66168d2fc3b6e5352d12538c569abbd447c5b348addbdd652fb698a15db248ccc6155a018f4ba8b46bca84f2481c0c050281300000062e5fb413a315003020201a9006835996c7b15e0f140004405c646a38261c1c8b040371301c068302813028100602c000400008060302a10025a6683e165c7a40d383480fd0f4e0d2039a1e447a809e07571e848e7f6c6f397b51f1631a21448288f68f2e401cad474eab28248a6c51f78fdcd4b6961b297ab74c4786ba314fe51accdd4669e99dc96903f013b2ed639ac62635b8e73521478e2061555eb05c567dc58df2f3cc4146069244b35369ae6760bb60ed8309a44e36e0a2cedfbc594903095bdcb8d8630f7f4437b48ed9513de681dd4c300729c858ad580bf972e01acb695d28df7035c5ae415cfbde67d119b1b41f567770d34492db18a1c5880b4674185f7c6cf43abe1a2d876ce7c9cc999f3eaf9dfbd00e6452db667cd2fad476aba3870a13a45433d2d47cc2a6bcf6628415737e88af4b0fa607103e6ff8c883035694d31fb43eeb84a9054a2bec29419b6e519588f33daa539498f493cf5c15054171dac50d76750c4dbcfe65e68e199f066325970d5ba9da7b54df7f987486c02eaabb5d1f79ddce5eae6a26938fd30bec658f5be937ef29a7432e2b4868beb032ac2acac9804e66ef154e22a8e3d75880a9b7beca918018bdcba3b0da2092c99789ea329657f8af5429b965007ea232cf0698e6624f8dac47998f23be57e32613c802e35b466392aaf89faaeff97a896e950648baa28c0890a83d622d85956893722b69ffd1b2b30e94962435527a3875e5ab7e48fcae56a63e4b95277ad52fd53aa5c6f4a5b2baaaa97ca4964f6aaa8f2a0b5555cad729eb5520b5409e0fe114065f5bbf53a7daa8944c3d58b44ce52aceabad0af9d51b45df55a6e24eed9890a95e29ea03f402fcf7f21eb4400fa6406225504476b52f7614a933231d10f01d68293fcb92f7b31ec29f07d8bf21201f66fbe7dd93b1354387b9608461f619d74c08c6b599775b4cd0cc3653b7a5de03820c83c0cc41c4e7583eccc6fe12c687105c7e9ec1d993f490e4e3700d1fe5c5cb1778c4641c37b01de7fcf7c05fbf01e698980c350e536ef69fc50ac375a3efb8d98079aafdf872d355238a8cdfe7bd6a0a46030da8ee4d501df486c6fbf6e6799886fc13a6f4b0808e6045cb71ee1b6971b787e701a65f1b439bef40e1364418c2e290db791ee8298f52c20629ec46a49ebb1caf30539d5ea50a347934156cfd3483330cc16342fd5dc5535777f89fc13440823f7375c07e6af9aa08db2014b23004d9ff882fde6f790e913c48532e79882513f85a72033ccc43788ebbe2d875fc3594d29290df3445192db65c77e5871fd6f3d0f2ca81ea0b5349df96951e2a430924140b529d8357708565738eb5ee458472e305d5f5a858fb0607b299ce4f324021280d040e178da03a54ac3acc959862fb388411195835ac0ef30d5bc2d460f9f09921f462f90f469dcdbb46a07a15f6ccc111a10205281ac2a53c18446afe5cfdd2c51a806a426f3bdbadff20786b8cb819f25832841b971cc09e46f8a6bad6ceb06cb5430119aac8026f92807341746ce720dcf35f2d8d5ee1accf17bd134fd9713e3bd51c3a873747cd41e77872a8f2f9b7ca3928244d5be868a1b5b0f09bc7b5c6ddf7dd1cbe65e7e3ebca80ee3f7bfa1e826fcd39bc82a675a73c4cb59863c900e1ee51231de861a85b2ded2153714f72c4b91abf3591a5c18476c3817ee01bce3f57f1fe4c6f565b42021abf718a68422b433a47b25eb390f67a0809c1dd0016514fa18f22dcc3d893ff234416783dd80f87617fc500a014244f59471e046d9de36ed0a3ea3e0f640d6ba0da0798ff1b7db0a9d40676713c7e6c193368013f9ecf754502606eb47227770bbc1b357c875b72718c992e6bd43200fea2efe1cc4771b1c770d7a370a1637fdfd1bbc8b1bfeba83dc3521cd67b7dc9af8c27e81ce1c9b421442a92929ee44947f251566a0e8df2fb2f1dd2d5eee79ecfe5be477341c770d7a370a1637fdfa15e331b28af275b57bbbdf31cfd352c9dcf38b057b9f7bb488a420a7c13262b41a238e907444db33a76cb695b8190e9ad15505cb0b4619f558682ecfcb1e774b9efd958503adcf5676b43e64a37b4c907630a195bd681a4503e91098168e2456e62268fe80eea58cc244a8211133944411062279b484195ac71beaaaffc30e77f5c677d9c531b00c12c8228bb4d0853d532a71d1d9184e8d421742a1396de88be125234b3e444cc29a7f92aa7f69af3748f736a2fd952945ce9222b0a959bfbcf757bf484035eba23bac4b9de873b9dfb7f3ba801fae17998313a701705f2f4dce045b6d313b0d17a8804e9129e861395fa48918aa4a46779bf9c7601e942d684c4110efb1ec7f90ec77b8b037a07c7bafd03bbbbe3dcfe015daecfec97bb26ddc98f5ef442335e7360a732d3a6b8eefc3cb77f42777d9e5b3fa13b3bcf2d9fc8dd9e3ba3974e329f66e73be7771dfd8b1d3b3d444f6162707f6a1fd1f7ee6fa50f3a511c103dbb742cb13adfb53be7ee5fe8dcfaccb8dc37019d7cd445167ae35505efabcb5dc9414d64100dc189793947e900c7f40c476550622597a808444ce4101d8188857ca2213831934bd408501199337a42f0ec430ef4103d8517c3bd8fe2828fe1be4771a1c7e0aea37fb16377cfd1bfd0d175665b80c5607c9ff3b53bd12d88536ffafc74f9cff61ca68a01d2647d54ad10a3bd54a0a3e893d2d5e6b82fa0ba758e708aaf38bff738a77738ab8b3f37fbc88e62e446f9463bb2e3eb59d02b5ee91f7729ce2e887ea192967b762b2ed9bcfebc6d0fcd11ceebfcafed7c5773f0577366758364da62ddf275cf6d8e9952fb047b243ebad17e3dd63d5e6314ce7535077d2c664e9a833d96331905822683b38efec18c1d3a49ff006211ade5de12a2cb5ef4efa892596764233a51abd4dceb1e5635361ee0f40ea66197b36e19c9d92e5edd1c85cc89b2c7bafc98bf08fcaea1e03fb92c1a59308e5019762c164eca98024c3863e64150153aaf1dddf2741e1ab70d976fe923b3ab2e86b1cbc1087cc6f6eac3f684d2436579d73fe4bf2999bb440cf00e5a770f69c459cbd1504597dc0c16246e2ce0b4f1ee42153af0ea5612aa688070ec417c18afff94c9d57a2af42c2a1ac85be924e034552ab467355a45a9a9509fa78a57e95e708b9a4e3d422af1de4ee97945ae06814b3659c0adf032beb722fe8d8b06de4e4e54746c1bfb2169669818d2a9dc98d0ab8d060d7b23da4ad893d4e589641215ddb79244b3eed7535a0f52d1888a4e071f97041a710f35283910ae992c8e30c98399663c909a15a1c5da02871e8145100dfab44285b65873ba2b9eda5d7e3d14d4aeb034a8682e23f97794ca794981c2151250504cd371360a338301158dd2ba7114c00fab881f55b142b74c3ac2271266f086ec9fa23b4a7c470250d00ead7444d334a64d37881200d9eeb496dec3e324b334a1dbd68a43ea9e5a805ac6f6975805a872b41e060754891f2bd48e8639b11e2609b1485b3ba612271d9c898b09ce5ae24c432df757bdaa9636bd39980e0b0171ba574b267d25fafa0a9c5d26135595a98165f1cd42a9043f2b94e31b295419c0d8db2c70157816042d2304fffbf111b04d8e804ad1370312af0fb1f46015e7f2448e1f09eb2990d2d516bdb7ccf5ba8f30a3de03ed2d50d3c44b8a2ea0f7b63940dc6fede5d94d6966cc1d35e8f71ae93a6a0009dcdb4cd33d03b8bcdc6472deda90b0dd6858bf6a8a8283c6bab16c2eec914eb9e004479e4b5b1ea2c1afdd4847e6d9ec3b0172f8439a3d75272a3f67622bac0909cd330cb4724daad8a7ee289a2bfcdae8014443185b8c2b91a8ba9c0a21e7e57783233df14b233d962bf05a2d4d182c9e1d5879a4afddb85749049abdcd25f8923a4083522c4d982e557d825055144d957e19be7232c226c0807703972504b2bb1900f4b7258130f66f583f693541bba1ff5505a2a35cebd7969ecb132a14bc65991a31bc8f46ca2818cae68e589843d5c92ad72a89af15ebe6f4af7053dd5d958a374c5718540b09175ea81f22ec389a5225744f32b61fc732a5a8a7eb847094650979b60e3245c55f66570226a641afa980fd6c36bd78a193f1a98c98c77f0551515ef7060d99d62c4efff611b12edb3f69c33ac200c3969825d37c204efa8d525679bb16ce56eaf90300168031e97bc131adda575232ca95b268866979b382e442b5b2ea007468138cb9df4b6fbb4786e3afeee27dafb440ea85eeed3b4ec7c799b6738e32af33ada210b1750384506501a195100a6cf2f15a91d48674b937bb6421c29c93f9ced0c043467b7203f020e4f64a9ba9b9f21d5fed3048b568f034259b72e13f2684a36172b8fd389eee7597dd2e27786520beebd77cbcc988e822bfd8d04047260f6dc01e0111cf28c567787a7e9684a023d0e3d1c45e9af2168f0f830bd2bf05cdf30876d8c6588399608adf0c53b2e75b22c869bb5c9df40cc1145da6d1bbcfb40fa5d2839e79c7815c61b2f7aae85169734d76ae3c2106c815001982f994378effb4229eed646e27d5c94f20e7d09c0c4ffac1216cc8c00788db69ee5f054fdb3514396ac0b874f4467293315a3a082ce219d5dbf01d7f8fae01e5381b42ddef342d79efdb999df5ef2adb40786cd86734b80dfd671bd6f1a66b4a26ce7dce8202ed1e1f54891c538d19b1d063deeb810d70e48b74889125b8cbd48ba743694e5a2696255967ffecc2ef2a940b8c8e4a4bd737ae518b4fdaaa0ba8854954d3b7d536118180111e65c653bb46e412fe979d010ba9af5eca71356c80ba5babb18c5b57cd3286e4868542db5b17c1241c744e9e91f7226f9e0a2da0a3b250c8d5812e1209f795b82f92435202470899423468bfe60f964063c32eb885c2bd5b6ef08d8c5eee68f7b873288a2257b850ca695be110a1caccbdef5931c32d92a8bed808f7913d185a27fd22289cd432df5b732772fac1bd3c2e41d0fbe0ee639aff0bcc407f615ff19fe598174e14f51d0a9fb96225b9942abdeb544c98d067decfeaac6506d1b126cd8ed0a11637a654a668a8b57b539ad3c1ad4d7a64d407180f408204149c116b78c826a67eb60931e19d4d6905764d13a4efa8f2037adf4e196c32d6fc28fe77792d8712278379fa1b629f37d9890c9403249ee3842a89ae4a05369df1069bd9c35d1d600aa59ccbf5a0ea4edf894be3ae3352d4cb00494c6c6cd911f6323f3c27a1f083dedb02415d0eda1d7bef7b30fadac9cb1476b1b6f865bc7d02c6fee1da46efde9130e1111f6bf8935b6409b94ee3e592e2562130bc1e390c3d0871ac8cb9d93af38754f155d4846ccf8f0a9e2941dee7ee41ada0ac6dd3c4d2934f7ee4be5f22fc70e907042984c918427fb960f47938fc54ce3b91d75ddb24fb58849bd1372d8acc75925f042613f8e735ef45da68cf247a483d0bc428f891389e846ec868064d1da5c3bbdd803bbadb64de314ef8563922505b9c91b03b9981486a5729e688a0773efc0f665ac4e9b88bbf7a01b0cbb8245caf4de612cd6521c68e64c518081997ab3478a16441431e2a719cdb10f79c4c20b0dacc3f9bdd46862c10d062ce04343cf7ab8f532fe1f869d6b47fe127a6739465ca0ebbc14a5ecf25b5569841b2f4328044c2b52925ab410d8ef28a41b1a51f9043f2d82483ac5a88d7630e01a7c381dfa4604bf942f3cde767da3263027e901202fd01bbc0f1c28ea18250dc2f8facc9a1633af666400565ed3cdb2d800bf0ed210c1da0b70541b8bc2440d859c64a7bcf52a89e91d659e55a2d7129804906548c1dd69dff03aa9f12a8009c1914deb6a234f4f8cc6259e2179474a155991efa9e2d01db11760d279b99c1143d96958667cbcce9189037a5b1926a70844dbe36f8e6cbd0173127e335421428bbc5391a9d6e6e5419f61c7e044f93424130a095d25e448a03379f506a3c6b9406300a9098bba4f66d0c6589001f350c02cb648747fb36a216411b0f5863b2b8918c8996d4e519164979bbe5f51306f32a68c41df452a6af758318a052316661844cc2a41e8b119e669865902f0d71e102c1a74129b2b1d7f71a8f457e50466c4b056af8d39fa646859e848cf702c6225d89e002fceba7a80f7d37955b35debd3fea56906441b3b6283269880fed49c1ac9f68fe21f0760190bb21401cfd8b48ad31b4c3790816e442e742e28c3b0cb212a2f6326422e850a13104bf2c26ca77451c719b6a587130626f105a64f644b66672a3bf8eadbf8d14315170be7918724986892282090e8ecd28d46acf9484fa5172e857d34f34edb01bfdbe171f4ee8e73f6b1870781a3882b2998a025e5e4cf9d3fb9668a025788b70b44dd942f769416a5fbea166bbdfd64205b2de8312a05561ee2941501653cdf2e4bc606c38e0985d6e03831fd7912de12063eac910d9c26b015dd17b9d65097ff3330a1b854598434855136032a1621b2e9e0b0fca9069145f78c8f7fa800a305570a59951eb74787507753f0db3da55efa7c2a87ba9efaa0c07091a353de50e6e0ece8083edea1ffcc78ccfcae2281fe7d3fea70dceddf89f98dbd8b558d404c8ad39837c226f0418027c3e8622a3271adc5529acbb56526b53f7ac32b600e1c5f30b609c8dd8df1f361fbb8d8e80ecd2359dc6d48227a4126c6795857b2753e3629ae2bd2cfebac92d5dc1cc982df898a78a0f4efa7172abd9a4d7c4da29aa788cc102b81c0769fad240c35090d57015684ff7613ee802af69aa95bbafc5c1b2d11c09e1063fc3ae895c86bcae2bfb71442b138d59f1dd1091fb0942f4397a8760c6b9817e2bf3942a1ea7a7f92d099115919e32ae9c41a63500a53752b2474aa9474a62f0a727a23f01e08216b54942e9b92f0d943f469f96484fb7e0d13b9ea797ce43c59f0a3e9e442cb34cf3ff587f64a5ef2adbcb0282af8d88bc99f2b12873af0c6de514a1dc47746d653cbab48bc3a1b767df51dca351bb8acbe42e3d4f00aef0b8d683f59469a50c747da86fd7fbf81dd9cc92522663a44cb21eca905084d84d09d2361418a1c8ac9002679929c2a09e2cbc5543bd5ba0670bddca829e2da4670b6ebb503d9b338c541d6e85c50c00aa7fb4232b3d0721c896c0893eb0e243828843351a3ad192aad1f6da52fddf18579e1ad9145128d021d29c85cbcafc68292f4339d6d34304aa9cf3fac277f8f3253ba097ac971b0d9a02b78d640c36cefd0a8e7af44517d1e081bc5830ee2af61332562b8661751c96d632eb03a83c50ae29cbfb2060389109d2837300d7fef7e5677cee5d7cccbc66fea6b5724119a86f46f28087fe4035532545b262103b8dff42641748b15de6b211cf61363c00100d0d9f8e090e7eb6cde7cb1ce2f55d91a5f551da103ca651acd66adb898500259621a8645c09ec2d8d0d6267dfe1a16022540d474849e6aee741591a21d8800ed223c02f95181b7e8248c1062e610135f8476ebc221b6e1114afc8c5af242500f9ec59211962d18bbf784517ae50e82ee7bbd589dcfd3cb73fe1bba25b2e54082fe8c70d8ae319bdb886a278452f6e51084fe8c20d8ae1093db847873429e9c08e9e8d1f64430b6f308e2ef8a3ab2b4d126007f5926055fbbf7c7a4bb6dd2cf03d2ddd4c19ecfb7c26aa65c6dae92b4c1a3611b29c1c35de98042bafa03c6993a25b840c6684d41ca6f5bb91971407c97dbdbcaec8ada00852e81039d51796ca48c8a11e34d016c6211ffe70dbb286bf1ad441e75e197964fb45e550a58d539e82ae38e10a65d7f9e78c0d6f60321f2787b624c22289394f9caacaf519b5c62aef04adc90a1c5c164350abb98d3cf961bc045a35345e402d59b7770833c88b2170184a70f98802b47219b1ddd015519c8bd88299ece1f30d5193998ee0a37038758f1a8e716138459a9e0689bb6833eb07f727a32eade04e231cedc7aa106031e1be5d8cb70c99334d3e2cb7203d8cd83feb7c2417abab59e15cb5fcc4a50f4deaeca10c6cf9198136ceb3dbf2e06c33b4b2297834c448d4f0465664a5743e91831cb5935ccbcd39195a437738dee80e14c46f4c729c28d85c9b7b4b43e0f08d5fba91e38a432e175dcaf900c8ed3cb60d3ffa47c4edf39477380ead8d11a094108c3304040122bbef11ff5bf54f515c24c10cce66301668490f534c8e3685967b1b3e0235e0264543d186a383e79a695453abfd94724de14b7abe3ef107777a16956d7005a7492dfba70d79ddd3a4ab47b8ee0aaf1bc61f7209b1ee7b00d7040320ac380a6531aab2001cce0b721d2f28231ad4072e73a325c280ce260b0c9b3c24d768b4fe0ed934edf05a93bcffeaa3774887c8d96f34b4fe71bfeab0be19325288fbd2e0eb1f9a2d0a8b8ff536f5e0806bd2ad3d383dfe53967aa7c7517fc255de160557ed79440b7732e12d21a575725a30fa9e81fe06f26953d7e43c8a1fdc6b41f89a50c1014eb3db1e56af7b8f18a020866b95c72c370c8f3c3eecc1c221a241050921e1358863e12ded41d61731c051890a90885013e6216c293944aa9be8caf0cf935b0762c954ebaf02efb6a491b43232c5ad77fb79a853dd93801944316b39c4fe3ab17bfa6a38655fed6b17a1fe5614f8ffe35f130a9b5ce17442566cc738c6455311a41d515082bc805b8d5ccaa2827f0528e41b1b1f6d5280f1a7833bb30aca5bd24afa2da05e778410ab00b87d78ee01f6fd629ce4a361d9b883a25894320b220fbd18be05e0693b7f5cf634675cbeeb2d1b773a34275c58625c38b3348bd1a32bd753db265b84705ad711d9cd40b9f1140b50a163cd39f0d8d056730b207435f28e9003bfbec824cc6209a358583423063845d5754234a31865e9ff950a82ac49ac6c579e88af488f2ec3f7739853b144f1dcca6f76925dee679fbd46deb4996dbbe67aea5123896f9825c7e01f5d2ecb3b942359f75b25073b0c3671d1d6dc5743277280f2fcca1edb67e0b12bbaa55d76ce4684bc5b6b8923d15e6567f97b255a689d4e04664484a4fc9e856950fb4c81e240c6af8bfecd473da6f5991ab7fba36d904f3714199ea28c9c5bee84b11d8ec5830de358c1716b6a8f8e0ec43968aa24da1440343be02e4a885f551da31fe9da5210b5d684ea343bd7964e6ac79f80e33670a696630d5352fdd4b903ed67c91ff3b940787780be6619a82e4f108e0427bbc42d759f02089fd75f8368c0d61ab74d4b717d5333411afcfd107741f50138a11a5aefa634e9882b171e69baff6146f3ded84a79b21a602fbf9b99b2ea76fd3748e9b1f66f40981d0b8283025f7fd8c51dee86e17d478566e824cebd32647ab11b17473c8b834b33174de02d6ff08f2c1c44a98a5121fd3b68e07902b465df89a0c89e65a6db35d7ecbfcf6b074865ccf000a0f8dc266e6af4b52e578d7da4f4f61b965d2c5a2eb117de0487b909c52fcd05d62b55409f8becb3ed7fdef2aaf310c9f3236834c0b47984a33d197e6ae8f71ed1ae70d15765f02fabf16a36d143420905756dc0c9bbdcb9ab36d803adeffada20bf015fa30dc4aae0472611d3e73e2e466ceb74243f7bf460ef061e3166fef9beaf2e876ae1d48fcad6906e35713fbb9f16d3f44cf21c9162b6cd65c2d6cb1536fe22e26666c0d950700cff1adad76421f39c0e70e26bae0ed2098fc20f421bbebf7ba433a2fda948a900b55b60e2dd714b5c8daf75c6e38ceb6152ead263031877f2561812bc3cb362a405d41a60108c2a3dc5c1ea0b354bb1a28dc29180d6ddf09165ba4ca04fff7c046a65809d1a1693181f00e4ace61accf4c5b6a6ed03114284dd620c90b4a1f2b78f9875509739759dbda1e3f0e63c2a20e71b1739da350ae9a635026f487f0cf5909f32e34404f92b2890436309690efd529a4d17662934b7ad640726e1e3d8b426b20b57a15cd99dda4cdacf2c40ff99cefcf5d096164a2d89220baf016094cc80d3ed61be9cf5ced454d4a88ca6eccf52fb420aa7f901b50e1483d5e9cf2872e70bf2befb91edded72ce3be743c801a6db008eb853914316a40b0e62ff0db4118c952d42145be6b60dd7a9d44baf896a26de91cec15a4e833ea5096201d8b698e03b3a618dc4f7b870d7df1704b3ccfa43b35a5181ea95e5ea1dadb46f4c3c11967e3c79bf17023a7ed8944b23a5356a031bb115c5a8ea432e0861a2609f00a16307144e45125e49aaf2743f779f0d196129cca5cfc9facba2466aabfc59a6608dae9f6474f9edaf322c5ddda7ade0b491ff1cd35b0e3ed870e7a2103358e593d9b89bcd0ec7a5905b595b79c33dfea99b6bc5f5a2bd89c8a949b2d97aaa0c0008dc93904b9c2ab5adc93d693bd888be7de77335e491244b3d8f412370449505ed36c9390f31688f69aa7d733a0e1d58137229565e769863cd200c006a7ca9981ae90a1fc3209015d564025b17340c30e42c7ee1d3a55510b951f54fa72bd1c9c5e514e2d5628c4d182652faf202f023802d2b2473e40cebca1e770890de000d87441dab8c75cf851d4182f4237a0ff052f2afedb18307bbd6b17082477b024bbd51c3e60680a71b8272c3e0520092280621026d4f9851274db269068246b4f9a6327b729d036169c08068c233c740190390efc2183657620df6d0c6dd8e466885e8579605220a4c04dae1a49dc20f8e5539420cd9e752b373742f43fb44d86fc83db45f5b7baadc6b52aa3ba05fbc735c8fcaa2d6e47f6eeaccabad88e3b509150375fb2b36682e3a870f5e78ee466fa8f822be9849aeb7b0434e8382d16aa62ced9002ce5b6288b8de2130217b2584bd2ef63679309c42f0c477ed25f4454438f5e650fb0501e56cd9c7681feee0e72b07e530e2aff196d075e0c9fc48fc355606111e9be78513c390f11a68d80c7d1f7f0c5b8045c2c441d171e4b4ff8c3fd4b50a26be63f4a99d61cfab6054792b743e25e004bcce3fbc557217b99c6f21b76aef8b842db0336b8ed9739b2e7673e328171c26ef3ef40ff004b995bfb197c764bef43446173665a09ca7b69e1fcc57edf1316ce2b0dd5bf14c88f8c67d1a896834e36825b2a36c9740e51be9d930d34ba606d7362ae9c906e4ad8470d35f53dd1572b70f0176d668603cef1db29d5421c00ba71beb5bee0a7eaac51743cbf00f0d4b9b8ff9cf97e5501fd376bc14d1040182771f68baeb0b18ddde2ee658ee1a0978af567f5e1f7a34c739ce2803a7210cdf6d8ad628703cd9715fee6373197cd627a54a526b1cb14b4645cb83b499d8375156023496793843b5818ca0c8978d0b56aee54ecea70c759f52b0c27c35f1c19c9f2c949d8be67761ed8777fcadcdd53c1c71f947c4baee7df1abad7b1109d33138626421b76d05c8922f5cf325a1669074066fc766feb9b5a1dda2fd8165acb2084afdd91c250ee302a7a7785988ba6d67cc96a71d1deef2fd921f443bd9d2fbce566f42638b1274c841f14eed366616d5bd9e2af09984f3a005253de4271382297e55e8dbdccc70ca13a33f61411233cdd3c4ee9c4cd9ed3616cf630fefca1816e2d351465abbb59e0b04b92de71c776a1618a144e481387f371be77e660c2fbb321a8e74849b82f2ced3d50c1e89e202efaba2f62205f57d314e8054fb8ea43e7afb819878024bdfb955ff4b9fe471247e02f5c01d70b4cf1b7d346a0074281dc68219eb4dfe529bab25648e41f17004c4abc911a198bc8c597366aedff4f410af3e6f0836113ced52cc70fda41c40495e72693ac506d71c32720c3d7f3a0269ae84d14b6d05e57f839fed4f9d288f64f6023ba02e21e46c1b9229dd2f2105efa02c212b6cabb211b50f3111eca22e916aec6b1221f5032214906bd00232a6c6d9e29a22fcf0936a02c25eee0147c7ba4393d0fe1a32d20efe057fc3bb2012d17e1a72b27ede16b1c1bd2013d0ffda32f932de0aa1c3bb2392d1ffda328912ee06bfc1bf2992e03f5a52893ede1eafc1d8289f699ce0b975d68290237aab741963696d9ce8f6dda352bb5a6826add5193bd97c8e64bf31121ca286c2cad0f51884fc044426bb161b8146ebc4084308b0dabc54144e93b908268526e0cae020d8f4871464563497988507d042492da8b2dc22560e3212ac8506c5aafb84906a4a7519343613c4e1c896cbe328d5d027b506b9a22d3700a74f5bc9cf57107781917c73431a7e612953387eb1fe5db4c5a582cdb16efb2afcdc416e5b1efb4ad71ccafd154506e4a8ef215f95297c03adc33924d1030fa2ab52db3b2795fb845a03b60b9befb9aeec01a2a6b9d0fb8bebdea8e2c0f807e2d59a69871e284a7a69900dbc8c29e885c0ce8ac8a6383101566ef930d8616eff9ee07b68513cc6d89d75606aa3afc18779987630225c5ac2050b2f1da57946f10b61faaec1f392493cbc60cc9a2af5f84f65444b67bc703f8baf68a9cd919b1111e52c4c3cdfcc5a158ac98b2b894e8c5d7946e149b8c401d935794a3ccdaabcd3b41251a02a33ddcc62d94b56773d51d8ade91676e664f2e2c4f9d24f425c17e4798653141834ae2cc7b605e1fc15acd94f4c05a5a5425a59f54acf37c18ad6ebb9a7754ebe00c461a26bebbeb757c52b1850872d3623d8c6a75a2fd69fcf8b0d75a540695b4b12009854468463845ab6372560ad0c80e26718560c1be7b62355f7c57730dffcc59af7fe05a134b2373736f6e8cbfedd4870d7a95b781f4d3d23b14002c3698b812a8145fb921982e55c8bbdb4577383888347361bbf7c4a8b5648c8360da7f8d3878388ff99061e135c6deb97db90e7841f12cdccc78e593baa695ec39a82d07c5b9e72ab0e73ab003d131f265bfd3f1f77444467a080e94b96dfd48b4d79ef22e71487930de7dd60b0535d2ed2b6c7fc4487e5d05dfdcda4170f4165a07a92ac4794136a297674b5f22b3eb8bc30e6180f1987bc82a92fd334dcb9cff002a069322681393b86180fef4593f010ba5fa4a429c74a0b99a7b619aa577c7a5d678a6df833e1eba3ca767073f91ce0815239767851c1d732015e7afd81c6730f49b55322993320e3e4a186538f384cefb813fe3edd71c379a8364161633c7a007f35aa13c9e5d523820ff12c230b9387372ee7c0f72db8a7ffcfa1c9e0714b203c2c4c39f0d01dd0aa75d2173465eed50b582878a7085449a7b37889a43150c816d4d1731f300afe0bdbd03b24e1289df9787c4f34df4049f289dc07470690c1d921fd62f49602655f6b27c09632ca0f2f453dbfc35f788be4f277a140466d3a8c8e682898439a662e86b60081dd1fbb03baaf92c8203e530d666f50cebfcf4163c1f2293fedd2f9631a3c5d568158c15c95b56fac684ef60b022f05be3edd1d24cbb40bc049c927900eb54321c2598318e66dcbf8bb8ad5b93b2aa86400746761b1d52ee2347671849fdbd1e1016fdec0f129c79d541ed0f3bca8518353ae64a14de5e29a5e8504d23f50856d648aaad90597435a032252a61ea3cad42edbe8c83aea52819155639db24d38be0f175faa7201aaae5378b28f997e696daa8b9e6f21daf40558cbb9165cf4319653a1fd2cde3073187deb4561cdd4e2b17bd30d42db6a4a4b6065ce1c57af12cfcb6b2390e43b595d5ea7341df50ecc7e44c85e24987e02b23c62669ff398358a0385fd4578827c9ad12e124d2eab749b8e92dea88e1bfe470490339d3aba3370aefca0deb2703317fe34889351ebdee858e02bc7c023e3fc4e20a3560b26639ff000000000000000080cd08ad459be82d644a497299f009f2e2534a49ca94e435fcc5ace12fd286bf98b710da983ea104f10a0a0b860a48e0841a951ab25a8a31a58fc0c694c52ae6aca8eb6e7ec1c308bc7e060f2a2c7b44b46c82c0a3089c88d94ac5d1415f2527abe04104f66490418a9685598a8cc710186d9e5ce2e81ee12127c08182f7a2aa06071e901e42e0d7748ae9f6facff1f40802274faa9b7bceb6f49a0710b87251bf154d56c8cb3d7ec09689a8a2526828f599870f188dbaa5c342a7f68a3dd046e99aee75d2203c78c0fbe49ca07b3d93ba540e1c27c0e1c50576d4e0a2460d2e6a7051e357702c7075a3f2e0b1032e25d31a49a4904cc8fd86133c74c0ee8e9cac15c36bd36bc3c6173b70a8c0868d2678e4804d917b3f6e48f9b36d0f1cbc123d4c724aba1b70a7a13552766ad59fecc0d130780f1b70218524ca937f8aeb28ddd8f2008c5ab01dfa3de3e5e7230b023068c185854f9296c936f5c50e1c14480dc098059b358fd0196657eaa27682c300ac2f76e05041f9000c59f0597632a4ee9c3be20d2316ac66dd2432ef881c3f5880010bde73fedb66abc6c8f92b3821337252da3ea93b05c3158ccaa61f3b37d7af663200a3157c0775227dc6090c5630d9e4e6f0106d18abe04b8b88de6a625ddfd0e1c70218aa6027f7780911e3d84963f029d0e146078c54645ac153ddf7fec8bab1034795a101062af8dc6dbb2dc136e85d5ba76054680bef6e714b2905862998dced253733f757f24ac1bdf59779a83c1da22605afd9744ab3f47eda54cc46c1f756c9143d660a53b138c01005a3a25a4c67b234c5ce43c1e8259929e8ca7feb5dd5b9010628f8a4348b241ff71ca47a05e3136c76f84acc1847482a4b2d20821b0a80e109269850ed892e71a38b2bf0c28b052cc073fc1730601b366cd8382ec0e80413d49fc4092a65dee539c18665db907c924c117b13bcbd091d9ebe2593526a829112f3699af4addf6ba1002313fca5cfaa2331c630956382b3a86e226e245501c625783349a2d40491c3ed03021896e0af2f4bd2e4d3f3b825004625b8f1cccea03949be4a52825151962734cbd4fa9693e027e8b17c299fa8e88d92606276519342295d164c27801109ce43b4f673663c7581043f298a50c12dbff6631f59662e80f108ed3b6693f980e108b6fb74d498b41474f73bde8b46f09ffdbcdc5246ec90fdc8b252010c4670ef96573a7dbeca36c158049ff49bce2343db869042010c45987f23e9c82a762218cd88a69dd3faa3d688e0c33c988c6f979aca730846b4c8525b961a82b750317db3ee4ab959083e2831ed3f1a347d9010bce750b23f3b26cd3183607dd45d580a41a7d21941f051acccbc4455745302c1561aff00c1ed55b44c595b2ca8ed0fbb58e69e9e68d3d4173876e8e8e2bdcc1001861fb88eed7aead7e90397cf4c8a720b49e9f0814d11d7df84e91b9d4e187be082fa4a236e5617670537bc04c00c30f4c06aa977dad2ab9fd471c30e00230f7c6a8b07adba5a6f3ee381171ba1b5fdd3f43b78be380de0a2060cde734420e588028c3b7071276e887a8877227405861df8fa4fb3cd2cc242ae4387177560432cabccc1b484483b47190c3a707aed2b8a9c580d0e3c2005ade30b30e6c089aaefa0d731e6fe0f861cb8989a1f36424a6c0b30e26030e0c0ef07b3582129df8b207d039f3599d258df56c9521f593b6e580d0e3c400f861bf851bb69a9fa69039f3ded054d114cdea85470725ca00617ba04186c60e4adf9c5782562a5680d4cd6cbb134c9aa343aa806aeb54e648a8c2a694c0397b77497e7dfb7480a1a58bd7c31048fd59e629675067e5224e5a1d392eca87e646913609821ad904a4efe3fb2cc7800a30c24d941d2575c5f5d7100830c9c67885d31b3e7f2fde018d8685a2f64d4c8e6eed0d1c5614d018618886ea92c2d57ce4c35d15c13444b86e94b39e7860e3755031861e0df77c4d593922229290b30c0c0e7e83942854aa9e29dce15607c8131ffce6d499bc8e9b4aa1b657380e105de5ed495881155848c6ec0860d84038c2eb05a298d857931f80908010617d8903d4272d5fd2da5e7820930b6c0bd87d4b2094109d98dffe2bc176d8e00430bac09f3a047d9e4c841ff915522f08ec305468091052e78e7fdeeee1847286181bf8eb95f81f390dc3d56fca03a6c2bb02194f074d34988f45481914187a4a663e8d12ea2029fddd9ebe3868f45d114185d17b35bdbd64f4352e0f626055d5b1169d4fbc82a02230adcd7eeda64170a9cccd8bb96fa842a9d3e818f67b5c933fffd7dd2097c6aed8fe974d90436d5c45b533f512d13b8be64bada9aed2dbe04b6a2040d29a54d9414540227bc766350bd2b099a2470c9832c892349a8104702a3c1c3434ea73d874a39021f2b278d593d259d6f23f013f34fe814293d47456053aaec3909d549b9ba45af9fc839b63a04d6a324393292426093b0bbbc4b5aaab2da41ca0401061078c9756342f3bcf13772e8c851ce8b2fba38183f6034ab07d7eb48bbdea7e0ac600b00c3075c8c9c430aba27089d841f2901183d6092aad64c32c64d9f391ef05ebeaf16830a1e62a6d6c559c1ad05447023023076c07ad012a4a412da25c38fac0d7cec3810b080086ec000860e98902b74de1c0c50a046819103b62da2a7ec0bd7987b0c68a003353040810bc0c04121b77d12ed69a4053fb23e769c0f525b3e769c8f3203183728b523a869b6eeca9e3d0c1bf0b93e574e2167523ed616b5e0275892e9449d68c12451f1b48e588e6739b3607295261deae15f62d942164cd22393e7689ff425658b58309a538de66f07a526adb0e0def3e73c1dbd6219d157703a57c95231b43a68c9157c486e3ab36bf59f75cc14b668051b566aef9225e78a9c157cc5af3b61d93fb3bc55f0a93fefc818e9554b55f049a7e89ecc22dfc86ca3b0452a981cc2bb332931a1430515ec644f1f747cbb4d317b35862d4e81669e4a4ac87dd50b5b98823b1dc22c6987d4efa152b0993455463d1553de490a36e47d769a5d261b952f6c310a36a50ad5eeeb59eb1e51701e596f2c95b03fa550701e2d8814b2ad3d470d0a6e5b3b9ac5fadd53399fe054b78f72df984c67e6097eafc2eadc9476673bc19ae8a914347ddeea0ab9b0052738696722e83a65aa44629b60b209ed1be6697b45aa094e43b21862daa7e8785f830314a861c34626b8f54c151233bbf6db8f2c33812d30c1c4ec29bafc94866556822d2ec1860a099a7b3a064f9725780921099d6428732f2bc1486e11fab3a42447c58fac1d5edc3094e0844b7ed35aab229a6d608b49b0694265dea064a83c035b48820bfd9b2e592c69cddd47965a608b4830ba34886bee6dfc367d641909b68004bf27e4c8a4a52c6d057d647d7c81e305395a9020d8e2118c6659e4b0b3c8ea932f8c23b8fc244d63281537682b470bd28d1878f14569041f6388a1b62efdc8eaf76204a755ab64ee3c7e64dd72608b45b07ba6a7d73b0565d9a1021d3abac84a0f6ca1082e4ab4184ac62e994729119c926d1e526f7eda6c22824f513dc12ff5447434478e0898618b43b0ef22542dd38624d56d610826ffe90f5d79cf7df385e09469af67ef586aea8460f38acc6f928387d84183e0df8448f01dfd6ae20a8251f7919a532933b33510ace51a173d3a296b5440f03985d4771e73ee88d13f70dbd969b193d20f9c9b4c6a377a9d36a80f7cc774d99a53aef41ff2810971fbea3e868abcca1eb84df5ce69d92b6f677a60f2751491a5aa29f77960ac5ccd3d99447b1b0f5c8ad81b93922da6a4240b5bdc810b39441acd1dd35b9decc0c9a0932d8869cc4126d581b70eb5a939e5e9c045d11efc437afc68f139b0ed1e29744e412ff396039bf973fb7ed0278450c78115b9294b377eb0a44570605dbb73e2fff9da86dec0f9841c3ca8f69b18416e609269ce929f7cbdafd30636b45fd691ba41e9d3b281d32d21825a48a752b86bf844c74e7a4d473fb23ea8c515610a0597b7e35a483922fe5582821d8d58318a9269e2fa9fe072a4939c165fc773c8788289e3ade962ea04176ad2aba9d25d97434eb01efd44991cb7f7cc6f82d75c1e3127dfe8ee390fc4d00467a9b126c64d89910926265149052533b6861c14626082cbb2ab1d5132b818832f72b4e0aa06071ef0821897602ddfa4946a625f88610946e99afa5c965279aa2bc18632e1992c2458247d294a307669d3e8d62efbfcc5988427634eea2b0465fa47560a74e8f85081e330d3430c49c48804977b57efd3c9d593e9479681043f59629abf7e7804b710e311dca44e9a279e7b9e90fec83a2e3ebec0f1811d2a50c1026a7051a3061735b8a8b101171452c6117c4792c93c6989eec935821d53aaa325ad76a5648411dc9a9b16bf4efad25f04a3ca57a4579259b2ae883de7dbe8397a97083e666bf0577589a335227873d7247a53daa85f87e02d6a3e2b158f2138a999bd424a4285e0c4b35252baf55a7409c166ca1547af424c72af41707a3922b78b5c10dc7fc8a1ab933aa57334108cd041f4b359a737cb2e20d8a4d2f565361d73c69c3f709ed6d4c23a8f299dfa81c99f5366c991d2b4cc3ef0a116428e392a9b5e0b1f989cb2c75d3b99673f3a31f6c0296dd57afda56b240982187ae02c52565c2d55418b3cf3c0fda66fde7a4aab41060f6cfc184952cca7122dbc035b21899c2dddf87aaa6ee87062438861073647b0589f2e6d849a75e0948c6026a24eba880e7c0617252c0625ab47b3811873604458b20dd59fc252f991754387271062c881cf2254a6a043b2908316074e240fb975b94fb9653fb2dccf0d1d8e3f880107de6af32f63084f9bf447960adec07588744a75b2fcd3a18fac2edcc0057fafa43abbcdcf2e1dc46803a32d7a2aafcef6a61b2900c8410c36f01fab23580e15dddad74154a0821638808b0bc421c61a38691242aad009c00c31d4c0648da1d4c80e993cef1b5ffc8ee3418c34b0e7a64f796eb63829bb11032fbed88a81064658762a3d42488e3b9e81f5983e7ad2e956ffa93ac1c9712a80270032c430031fdf4bf208df73d7bcd0d13bcc2c6294818d6757aa4166b36817374c1131c8c09bc825bc4df691958388310653be5a24f7486bb24b3a6ed8c510031b728ea572ecd290adfbc8ba612e1031c2c0a64c7e3579e4fa0729183899428bc476d39b528d5e88f105ce7290f9ab26825e9f1f59a60b31bcc055c90e39f45ea64a0d31bac0551c371932a88594e345950d1b6488c105d65e4383be2d1d37c9b7c07b3cf31c63e67d534ad302ff31857969c81bc49259e05793a8a4f6268492292cc4c0021f94b61834d4e83ae9b9029f123be9d22ec6b0029b2e93a94ad091b1d72d4b8851054688a7e0a73fbd4da5aa8418546063929092d229adf7a429d038be385f6ca00931a6c0e7daa41d732521da527386185260cdb62e78ac14a1391b05365309ed213969861850e04c524ceeff6b17944fe0b256f6d1f2342e32c5b410c3097ce690f79326db204dd80426b7974e1ff47bc8969385184ce06336ad7beabdd91218159d1154bef31c5d4487184a604d978821462c1d2d93c04735a5f398e5742146320e3190c025215209371164758c1f811b99bdf2a94b31cfca088cd267b934df67a997c610a308dc97c8759af2bf75f90ba8ab184460fc54700d95d4f28a3a042665e9c593fc2d3ae85fe4387d3ca076238610d89479bf4674348eda5ad0c576b1836304814db6232b77b269a44c0c20704976889b9f52eb262d86183fe04ae85d506da2d4e7a48521860ff81c949ea037dd7888ba077c3417d3af1cd48469a31083078c0e95b3376bc8a553bd83b251a188a103468da57bedf58abc9775428c1c70e917d3c75cd11852f581183860dff2657b1fed124f6a811837e0bb4412fdab2d75a7c32a420c1b302a4216755a438aa22b44f0a8053f7a931e99a3b48860f9c8baa1c3cd68c1241541cc6b25e5d1b2c063169c294f797286bad2b91478c882ff95e05f42652da1fd47d687472c38217aa28448af8f1afcc8ba2378c08237f1f10f519293fdf591a5c38b27c715002278bce28e397eb1229f0ea12b98904cda8dee6cca5277433990836dd8a8d284472bd852d31aef2ed59194c666e0c10a26fa8d851854aa17fdf182c72a760be92a657b1f5925050f55901678a4820dd134975e97b43d1f158c85d4d972109dd2c5f514ac47894188bc31057b679abc2b2dc549a9e431c7fd92e0410a36c60c9dee25c5102d320a26bb9efd67781c2f5514dcd59ec624af3ca6cf848249252786781750b0fea53348f0f80497844a957aa2aeadd31e9e6073deeea6edce631ff4e8047fe2a7224db614bb621e7182efdd7fc92292b6eb7e138c87ca4c9bb3c2d347366cd8b0b1633d34c127a5e2482d1139c62f055658a432a1aa5bccb210529975a9852749a6c12d5c4daec1850d1ba671e4213c30c169041577a4e524d5e297e044e41c2d656ec808ae2558cdadf1cf1264a951558211d91e63b41c3aed8b32e041893a54cc9f87c1dfd0f1c58db317784c82c99b47a5e8d23948dd737848820bd1267d960cf9c8ba157844821d53b124a97d12b6970868103c20c1e60f425f7a454f1fed47f0955b3b6465bea61d3982cd41245da126430c9991227834824b49a692d1e246b52c19c1c71ca287baca3649df45f0f66921f345ac1425a80826a58e4953e79ae7ba12c15a887e4a7aee18b4ed8108764c89fa91b5183804779df4b6498d29c7cb60133c0cc1a8752dd5236f6f3464400d2e6ae4c0713eb8b06123078ef35108369bd2dbb7ca5b1f84c6ba382bf0800721f8906495d35c35c5f80e823799f255a6cfa4935b1ca0021c0ec881e378d10041a09390193276cc932f72e0f8d8402463fba8d21a5f3de8091e80409acaa626f354c77c8efb431a2229e28d25fff2232b06e806a9f5039bef1f6e52d3f342b642f0e803bba6753c0491762bc6f9c0998cd56165b7baff1ed8fad189237ab4f4a77a60e2b707ad5751b269f3c0648f1de3a81cad67293c70571532f4c99c5d3f02078f3b70fd21420c2da1458dd009c2c30e5c5bdd78dc7c8df4b6fdc1a30e8ce4beca4a418647ab1c40720f1e74e0520e922a2777c9415c443978cc81cb253c0895ddc8a143cbdddd999999999955555555d56aa22967c5450d520303062d20821b03a883871cb83aef646b62b2e33538f0001378c481b71f53319ea68650071e7070620e4a85bc3f53ba8f2c17bc066cd870c17b917bf078031793274f8f223cf55b0f3770698358564851f4a4531bb8d2bf93f43e5b9039c4830d8c09a1f48aaef8e52a50c1e91b9f03c70a120c1e6be0ed7b44473b0bb5a7c6b1e320db82871af898c42f0951eab4aa53452ffe0b1cc5230d5cbcabd83978f2230b0d8c0cdad47ec413cf124b79058f33f02ebaaea2dda8a062ba14c2c30cfc65a915c95b595ccb327039061de1492c664c9e8f440f3270d9939a2491b640788c818bf621653b1dccd48b62e023e6c6089e1a8f30701fdb62898817356d72e8500117366cc4c1030cec7f87984be4e5a86d5bb8e38b1cc7e30b9cf06af792ecbfd677171e5ee0d3e975a6082a056da713787481c97e6d4abfea5a4653e1c1830b5c0a71e28ec6fc1a745f75e30e1e5b6063d2a32db337b0ace0a105464f75bc7c1f1db378e7a38bc22c70667194be32897183d247962995080f2cb0e196b4e5d0b12b301a2cf363860e6ef539838715d89092ecf4ed51eeea6215784b92d279d747d349f7a0027be51d41e6baa447493eb2aa6c0a7cb4d126d47786983cf790021753b0bc39435214d81fa57443aad2f9e20f05fe8452b97fd2259557f77802af7b96740ccbd1317702fb5d497d9eca91838813c2a3094cc8363ada97734a49a870e1c104feba528c156c43c8271d3776e05800053c96c045f6cc4b295b7cd528810b953c695ddb47a67812981437f7f9a94b0c1e01077d13fc5f667f7ed6fad19a26f8545f4a7895efe518cb04dba2ba252d6598e0c6d5aa464d2c9dfb251859751252298f49456509ce34dc4abb58094ea8b0e066325b9d28c166100f9eb3a3965d350976a3697bdd24df349204df79cf4e73c7cca6ee800091e0d34b0a9edd73cade3d2458cb398bc91c7c4caf5a023c82b551b5c1334b945adb117c2789d9d4deaec4d47e642d066a70800216b06103034580467017ffdf620e22c7b4c4082e866afdefbcbcdefb221879fd67a622d5a9e98ae053659b603a49d5f849043b22ef25ed10c1f3da88e037e77117bdf421784b52e3a4e426d4e50dc1c511fdcca12b04779b723a752188106cd2a4b657f1330846d85dd5c9b0589616042f4a9b5d257303c158a4aa90746380e035e9bd6a8d26b541fd032fc943c6d50949d2a57e603f7464ca8a641fd89c45d955b0aceb8d0f6cf4fb30f52a3265857b609387783ae7946cdfd7039f2e6448a562e7fe9092072e6b0a5926827b88193c3066252dbeeafd5aa5eec0a7f58b5075134aee7660bb337fa498194c74485a4004377210a00e8cb41c2f2519733a704a3772f728595ad29e035b5ae9226250e5c0580ef23ca9a045ef8771e0df421035312c0b88e08613000e6c5af2f8e6a237b01237a36848ddc08dedc60d167d2f746c0313db935ac61862b26c36302a4c2c0895336b603f3ce5670629a259218d78796912f5d2c05a4b886d1a2a68e0dcbbcc523deab7561f99880067e0cef36809162ff7f337031f6456df9c4bd84b7c095006cec253bac8a752e7ac210c084006de7359678ea22467ce8f814d57a99a7d4c3ff362e0aa472c25a1d2549b1d0636ae55501a7f337d088181f3fc1f5a624e75519e2f701bb3a993ed9a0908e00546928752122ca5ab3d75810bff18a458665c60b3f904cbc1b42e45bf05d6356453eeb793b5762df0baa73d849c7a16b8a0524853ff15bc46c70217d2afdfa91fcb63f12bf02f7a3fdaa84d1ea5b6023f3269fb51a23de38faac06dc6a4d1beb5b3ef880a7cac0ade7756be29084d8131154366ced59fe1212970a6b4882025c79c42e54481573bb5f68ad871540b05c6abb5945f563ea9eb13f87c12dcea52363bb53a815dff8c1ff61747c4b4095cbe84b4a15b2228953281d34b7247f2abe8bd7e09bc24dbec5fca3ae83095c06ee5e9b2d71444d598043679f0317de9ea54a920811515b3dd68ff684a588ec09d6dc89682102995578cc0797ade1c44558ac0959887a452c8192f5588c067d3512329bb1da51e022fe945db658ab07f4f089ccc62a672bd728e7841602f5dba64f314f45b0e085cc77f0942859aaae57ec048ac90b84127f98017b50d428a96fca05a0fb88de9b4bd3ad9a678f180cb549fe47ab2b51fd50ef8b8992b1d7057a2cc928ba6cfa31cf067df12f2dbc48e1e1c705aeb7f3b3798ca4142c440801b3052b288b8291efe13c0069c90abb7bdeed78249be92e3851a39b6212db8d13289af1eb5da59f069694346eb9cdf848d0690210bd6327ef6927bc1dd42b1e0f33bd8f805954df20b0bfc62b6889033b72290f10a3ea357921816944bb65dc1edc618bfbdd7ceadf20119ad305670174c9350299a54ee65ac42156a6a320d12cb432b57b4c84885c940859d824b79f57fe39922562606e8c6c78e1674b10c90610acef5bb457667a9a0aa527092f4891a1b59c18284147c5812aa15d784cc60ca180527d3d57fd02551b04146c8662179e2af2814ac97b72415fd5a535832100519a05855438d7948b68c4ff0193cd5897f4c495e7a0c323cc1a4dd0ae12fa934fdd409ce3396d5c7f7b388264e309eeacf749e2acfa9b409b6d3ffb54754bb9734c19a8e51bc82faf7ff99e0744e2adf733deb382638554b9953743f593997e03b737f82d2a5358d96e05f4f3763d4e4d163be12bca5c991d9293569cc538295a869d458a827c1a612dbd653fba6b492602cb2e699e5bc316124b80e4107b971e290e8ea7f72a717fb11fc66acfc415a05ed41c811bc9e8ebaa9fc52dcf13482ff3769252c6f7a92398c604b65fe747a3b8b60529fc88ca6f4447215c1770cf3501b3b99d44d04d7ad1e53f0ed8ea02d22d8cb9c2b3743f610ecc7d2f3ac9c29d9ae86e0bed5ca4a47a845550b81d2b18292106c0a8d66e5115f73c90c82bd1eb7f14d3aa414328260350715840e2ab33a3581e0a36f1edf1bd15c9e01045772d328fd2cf136337f60fd648cbc222a474d8c1f588d6d1bffcc3bc454fac0a5b439bee424223354f8c08edb070db5943d70219dd05d1527e9279d1ef88e59c934468f99fde5819d14d6e62a9e638a1e1ed8da50c97ee44793e7dd81bd34d31147a64b6e323bf0c1ef5c84f6ebafcaeac07657ae58972ae9fa4507dee4a5568c953a897ccd81b172cf492d94031b74e755ee0caa4aa6e2c07e4adb39fd6a907482035f13f46510a274c7f60d6cf293a2c2354c9f85b8810d12bd27be84b481891b476d47aebe7b101b38a164ca9d26f9b65494b1066e4394d2996432d4c0868a197c3452ddba035b20230d8cb218dbb4be95f4d267c1802d20821b2e908106fe2f5f84943e1e2aea22c838036f6649ef8d129ea7360397639cecb625fad498cac0e776cda6da63a54d9b0cbc7632cdef91fd93c8c7c069c83a724f6e9e24f262e0cd64ae3afd2187fe1b062e788e19e6ae62f25730f03176efbbe4cdb1ddfc0263f9da2fef7b489d6332bc408e589d2f6808afa016ecb8712ba30b5cc4aa98f76b01d6e0c00376d8b0610111dc88810c2e30f6eb21488ee71732b6c0293d7a428474cd74112fbc602f6468810929054b2a07f97935290bdc79eab1acd899363754a08293f6058e15e050c18d8f2fba78472c7042efde73a734d3a0917105ce4f847589b4a64f2f741424c30a5eac90e9c10403195560f3281d9410295a4abe538193a1b458e4bc687e991b5ee8206526903105ce72548dc5a05312394a815132654bce9689021373e6fd053da524df50e05e3f58d66896cc4fe7095c9f7779acb24dcd5927705a7ab1d2a724eaf16c02a774d0d19093e636adc86002bb1b3da71c64c44ade5b9540c612d8179163d2397dd06921194ae07e5cc33ea890d2ff24706922d47745cc29c90a12d8cad23127ba9d4fca11d8bcdc6b5e9142800c23b031869d86ecacbb6fc928027f523404a5eb6943810c2210dff3e72cc2d348bb650ca16c2cca1042d980838c20705a3f6bffca25f5ef3280c058ae4e3146d20f98a4a55d3912e4037634bbf95a6fb0515f0264f48015cf31d1796ccf4f88074cf4d039e86f3be02d523ad16b12193a604bffe50f194f04995c7d848c1c701e37f9b5aac9fbaf3fb270103270c0565eabffc608e92ce8232b069f821b5ee848692db8800d1bc829f038bce000056cd8f0e23321e306ac450db32463c8c9a359326c40ca20f4c6b2794895ad0567d76636496552bfd18d410b3e82889035e532651babc1458d1a5cd4a8c1010ad4b851188918b3e023a7be989db46df7840b3164c18765371df42c59de642cb8f68c3989a626062cf82b59e9d1547948934e42c478059f2afb2f8adea5ea14560c573032bb369eecd2db10b6828fd8293c6449cd75b163055ba642ccd04b759d4fab6047d908afdf9cbf27aa82f324969b631232736a53c1c7be482d2a65b591d91562a082fbb515d17be527331d418c53b09e47de84ac7f718d610abe4ad6eb88ced89a7b26c42805dfde3659a28418aacd118314ec7f7dd219cb62fed03fb23e551063146cd0513b33e9516d0b296668104314b55e021610c18d0dd02044d9a03108eeec82107a1f94a8607f64ade0046ad84043108c26d577df5c795b9213e4c0a1810a54c0868df762052b48038d4070e641db2247f0de4003108cccb94c9856fad530ffc0d6a8b52bd92637d0f003f7122b65b533fbc08630f53be9c952a4aeea86e1036b7741949d24f191e71e78491f5af2f4049d9f3d0d3df04129cb903b4f0c0968e4818b6c324db77724a99a1868e081d7ee8a9493ce7c122c60a07107d65eb486a49df7db441f59373c87b124d0b0032325889c714b5d74517e64edc08140a051072ebf926df979f657ed23cb8bff42870bcc0f68d0814f67ea5fc9526593291f595db4e0c61cd8fecf12456c845e6eecc061460e7cbc519162b5f547d40634e2c045887f69ac34d9c5868d0a400f68c0812f61fae93d52fe54e937f03542e4b552dafa1378f1153013a0e1064ea585204754526d676a032773e5a079a42535f25a030d36f01e7ac97d42de97d4af81f7acab8af79e37bfaa061a6ae0638e41548686e027ff34b0a69d9ef327bd2a713f030d3470c1265d3add6da1ed7e64358d3370fb57d9740cea52e225021a66603fe45f5013a35da05106cede64a9b89facc91a0d32b0272106dd979993daf847160d688c810b31a8068f156b411762e0be54453743cae04127280b028d3070a91f4d26b96973447d40030c4cbcb624256f0e3a07137940e30b4c7c3d7d22c6efd1ab40878e2e6e5c610e6878819b6c6d425fba90446ee4d0a1366cc4a06dd8e0c0c78ea3820d7891e30227803cd0e80263b5a2f36d8a60262e34423c5efee6504d41630bbc7932d1f655f9c8a2a105c6bcaa27c9589e29a92c30f14414556597fb2f0e0b1a58e0fe2dfee4f4f5de96b282c615b8dd3cb3f34b253f49134d59050d2b702a0837b5639b2a30bab2e49d1aedd23b15d824b2654ca9a3716f9f0227924ea64a1b74a94e4b814ba36f2cdfe8a06973a2c0c7509a92a65ccf665928f0f1cd5a6b37988a9ec0064f5a2b664d66ee7102d7913489d613ba2fd4267019cc42c6fd4ff75b3281ff11962bc81cdd8ce31298609d5314310ba575a304f62304b7b55cf9b92e49e0a2c59cf3a40e12f8b2b2ab36551d81ff90a65d9f2d315ef6c6aa054470c305348cc0a9a9e818834dd2152409a051044e678a39eba6e7f6fa895006fd22b44c69690c81ed28d9a4defd76ba240d21309a5499be905f438241e026084dc964c5f77492018e1d37fccd013480c045ff98528c9a7efcab2cd0f801aba52c3d591ecf9eac0f18e5efbf9982ea5eed68f480358b49e7e4efa5534e7251835ca006173588056a70518354a006173508056a7051834ca006173588046a60800235f04083074cf03c79215de468b91f593a1c69ec808fd8ee263d62524043076cde1441f3eb4d536d8783460e58d389694f7e2a0d6a8403ce43c9a0be3b0cd4559d80c60dd85fbd8fbac1dc020d1b70b699ac520a3a8295690b336ac1c791f144b4e4eeca250ecca0051bb5738c27ef2cb6052d0a3366c15d59509d924875d7b42cb8bd4b91315774e386e738c570302316bc9b5e8c7933077979833538f000d4310316bce511cf4a6272c48c573042c8b0e096b959523e1531c3155cf02c3235f84dd220b682cb5676a1e4a890839291fac20c56b029fa934cf8b8c828c140cc58c50c55f0195adbefbdbe6b111b5498910a4e8b2695a24754cf3d2a38fdfd54c16ef39aa89019a760ab3acb3aed9ae9ffa6e064ac32c9a3e2f5e9901b6694828b39f27f4daaa4e0b746e8ccbb59c38c51b0a5540c9720cdf535ff91971298210a6304f5504ffb3e6e0bbac881e3acce0222b8e1c58c50f051335c27a8b10e1d577f17e8f0a28b2e1660c3860d1bc60a3340c1e47c1a43c6a8b939129bf1094695be75abcc106ab589618627381b21ca56bbee4ce93bc1e528d14905d1d13eb89ce0db32057791fe22e2b989199a603d294b996a1f94fc78f137ba382ba81999e0c527e5902dc967608211915332af9c4ca5dc72301f665c824f69f2fa8724a265d59660f34b63794891f9d92c9787199560dc7243e9dde946953162062558fdb8b182a8c91b2b23c0458d07d4e0826b7051a3015c1c61c6249820d9e25ea75724c1e91391beee5d9fc78f046336b944c998b365ae21c1bfa7742582520bf9a2477072526e4bce2f4184eb08aef266088fe13782173b37a133578ce062f9dec9f8e974f417c14d2e9dd1dab736e928823d254f55359f7b484922f824bc63e6d0596d1866208289294c4749a71987e02ba6ed1132448c5fb91d3bde868d1b75ac661882dd90274fda7ccd2804fb9a2b7a5021d5d5443308c14fba0e29bf4f48e6313263106cb424319dc7103175c5093304c16abfa4d82d2a921d0836f50853ba741e1098a452ad8a21c9cd7226b73191ceadadd4fe3ae30f5c48b9acbd2b88ec76dd48818e1ba60e0933fcc0f9e4ab9229edc728417de0379e344d71a38ef2988f2c671b3f98c10746837ee6274d3252eb7be0763d261dd92598d6911e78338b954c4c270fbca64a57cacec503a342e56c9353b6147cbd03a3266ec851ddaa828d76e02469fff897232beea60efc475115b9ff6bf358e8c05d0cd13b2755296f55e6c08770d59cf282baafe5c0dd77d091d2280e5c1679552d32545b8303dba156c163756f6084c60ff2b6353770b5493d57779325d3dac0244f1fe26accd8c0867b4ca6ad3f3d95d6c0ef65b10e35eacb32a5063e447989e4602927280d8c0591b3c5cc49ff4a34f05a224592fa4fa2b433302ae6a4c2479b7f5f6660cb83b2959c42c54448086694814b9341c9f2a4b7b74f64e092ce254c438a6ccb7f0c4c1ead127773c3ad7c31f0ef15424ad522ed440f0397532a13c9ad43882102032f4a4ecc49eedf5678bec06952bd413446b1dad70b8c8dde203f8be5dc937681b1508dbf1a572e702aaac264c7103b63b905ee627aff515dc9bb835ae03f43e42bebbe2bdf6481d127ff7387ec3a530b161851a7f53ceb9505b55c81fbacdaa742c7f138162b70d9762ae6fd4f75ab5481cd36d9a3e9ab20637f54e04554c9587152d8c76f0a8c4ad249e5f4cf4ba19302fb29c5ced55689d7b928701772c838314708d93d28f0aabff933744fe0a387bceaf8c9728c981338174ba271e3e4fbbe09bc7f501172c7a8bb1d26f06a95429229b594bd4be0dfe2e73cf955b3a44a60f27a660529f9a25f92c0e74e954298eadcb61512f852a9ddee8475dbe908dc68eff5668b6fb68dc0569954c9d9dd96a322303a67d04b1d53e86689c0def8a5641dcdd933436092658946b6cb5a8b08811df5abf8a70c02db9935a8dd60a9d2c371a31e30030848aa4eb514a2858976e60ab54f11d947e5da92cff80167938345dd4ab5fc241f30d9e3a58e9f4e4b52bd076c8ce8a1eaaa7694e93ce02d54d41cd5f31d30da1f2c59be0d4925e9800dd321b94e0879a7ee1c30398ea890225ddeff71c0c81cd95a97997103ce45ad8898515cd47666d880d3eceda743c8a90579cd5b2c667069c16495b471b208f5496667c1a5ba874c79f3750a595970fa2122ed9adfa75763c1c494e2124412417f5061c1eb0891ff6459855cca57b039a56bd0f7fa215ad215ec650c19c232da5a48b6824d913a89202d8eb49c157c92b1d7548a41999aab60ff7443d2752d227ea80ab6fcab3caa5e8e51c354f029a513eea646f487202a78d336aa6f39a89845a7608387fe7aca1ae4494dc124197d434a3e797f2d05fb194b4cafde83de1852b01694bad8eea7f45ecc28181d0f99561eb2698b11059729f99ae6a5bea44b28180d315f74a70de9a305144c3afb91ba6f49dfe7134c8a5a1ef3e9e91083e709ae4ee7503197a89598eb0497dffa3ce7eb2ea13b4eb0bae5d9ed43ad018cbca8945086e250200e06038140280c8220e97215c3130000000c18138662d1684053e4ed0314000452362c4e322e142024181a180b4303612010060583413030180e05028140281c09b3444bc70771910a80ecfadd7303cab7d64e6b9c330f9c79c5c3ea3ec4109d440526a525c07d87e50c38ccf2ccf31611ec6ec55f33241fbcff6cf5f5897f9f78c3f349d0b8e6d6a6dc9765bc15f4b653029861ed10d54004fc9c8c98ed327137eb57f992149423e7e0d14dde981bace732a79f71bbf6969314ad228d645065c1fb93c7016620f1ce154ce19b0b3b6e84dee0f5b4798e60103d317fef23fe698d1b4ec244753dd6b9de8444ec16eb723862928ba8354af53429233e3dfcd0f4e09c06387395e0344c2bc36fc5667df7504bf52e60e0e1125003fc1b2401e3305d3238a668b348b4063fe705ff1dee24e5de061db988349bdab8f32a9801c97e5203d522472343d3ab213e52a3c417b748bf769ab618825f5051c95d78150ec83dd329e0b0c3ef4a96c55b49cde9991bc46386f59d68729d6f3bf083f1c351880b699a53493051387f79474fa4018393b1187660065aac49e8a83ea45ed8e2cbfa2d516282b2c3f98593aefb3edb68f717e6c83cc5f4aa307e78209c50d1ceeeb35f57f9eb6bc2b365e3c0f97d659cea3456afe6bc7423ee044c2372b3069b2d04a8a17523cc661cb4b8367497b4a2b0a1310245ee772946e5a91fc80e6b2c58e6a68835de8737c7d4200a97334caaceba17124bfc6880b0c4f9f64274fbcd33d841b5d59b8f750217012da650c801f2feadf3d9c7d04dacf35bd82b961a8f2b159ba4f93221c4387e773c53c0ac8d9857098400b25194e8350a9d636d13dbad291fadda7c520131475d60fa739095a43964c8cf0533a09a4a0b13a911c68a56b032a0a4d94dc1914da37d2c6ee6413d2c5bb3f0da2cc9f1ee1bb088d56a0930f1a6de5f2d1d217c947cce3cd1365bd2f440164612968ad2edb9a3629fc3f7ff7384963c46d1d74ca6a61ac0d57519e79dfd39e7439dd45a277f253fe93dd0417c188a24e7b6186096c13ac10c3c0a2ee6659b9ec39c78fd79da1c1209ee2fd6ab01825989d6839131c12075f657ff953fe4ffe56fef7ffa47fe25ffa99fc2bf5b2137f6c740d3c2699e8aa635f279547b36ad769399c95c98449547d83c25d836ac25a13dccec65b3e94778130a9f15fb212eb48fc716a01245a9296eb303b9e2cf7b3b8a2bce0f4284f11b52fe60bb41ae40382710c41e2787754840e736224e16c295ce416dcb10fa76b5e0195b801968189e75e0af8cd029a372e100d868dfa71972ca4a150b97df34c663bfc66b0679eb191120eb935df8b5140ab2d0e9e86a3b168607aacfc45480f869a2067f2e81f68e927a9d34e587ae03edb40a7a0e4966856b2715725d9190355662cb49c7f8d4842049a2daacb4a793994cee92b9d9e0c1fa892908851813752ae32f3be12024d1173da7efe8c532b06a4715de64b171914ce312199d952f49cdfdb1cf29a083615deea8ebc88e6527db6acd16c64153e4831c0e4fac52a6d84e5f3a16f6a1c0632718e13279aa485a526978052760bd41d335adf27622e37676a8afa6658959509644efac15c1c056789a8e869d1ab31501ac0d58e7f4c78624fa155a4badaf3d657d4ed5b6e511c2f8e3c1ce2684bc037122e2779076aff0abe9ba73c7957cc52b997dd6127954721a2833dcc56e3a829764b890783ad44d588aec0fb00824b0e8d9cbe96778fc336e6225607c3fcfcfb8424cae927855cc4bb2bc52d874fa91c2f18a9ed70de50bf74d42e465dc7c5aa635e8f310cdec1670c783228217224560d53b1cbf6f1a2218e874f3916b21dbcecbff8cdfcb9feac2c7998c74a593277e383a62c55979e449b957ef0d0d65e543832e50a886d970825677c884ce0b97dc5a8790b33d7520e1a04015bffa3f7f1c711a1eae0443b640d96204c5171bf6a67e13800e0485de02dc8f7e188d0ac7fc044b411f5493e18203e48d07311e32f263e984a40197bf5981bd246b4fa6949bab497bc1186226a0561c8f63d3e78016d9ea93e97e68455c874b14cf890af3631156313fea63e5f3f1bb0855db93d2b105eb4d7645b0e00f6cc71648282c3ecf9fd2b7abeef80315277df987eedc45fcb976f9206f3a0ed0dd87f6270f27652b0d02463d486830743bd46a873236b4315e14a8a7d1cfc6ce6c5a8bd5592a834f85c239f46c6b212a001998c9cf48b46b4880c53271144689469057db5a908525d40cb6dc3d8792d9b225b93052c42512daf1a496931cf87377d3e7fcef7fe53e9f1ceac0d310c92070d287cc97defb6aaaf770b0380afcab0ca0843cabcf053f36d5e9a1d4dd46b682ce30f4a5876eb1f3cb144e46fcffaf6c4ed8d3104000800c3a7a6717bfd6acafd7f984440df42a67a4ec0415168c0872c0368d4622665d341c7fc89632e8061896c61738e198083cf6fc3fc301c099676b052460e128fb1193f20f75db41b448fd811cf5303a07cc48422d000ddd45fde0683e1c433e76b52b6d9f7ece44214ca778358edb42d5db1c504493f098894ab0e31629f9cca6971d8e1c441184b9a692fb46dd39b90ffa1d0aa5b18f6de7cff9ebfc75fe3a3f7cfe9d70b7c7ea9ca1164344f093d0c6978f7db71b341f109b8efdf81da267c48340e7290215fd2954546c54d0e805e1575140b9d3a9a593f549fce43ed93f1984da22f49732a09295cb86a7f92403529b844f3a80dc267d9381c91dd2071984ec5665c0db84300980b167e9ab33d8f3a6a74faea0c6c6b56fcfe09f1b9d3e3c17c4a4ee02d0aee1f29033c3c531acf3d36e6ef7b8159d4e04922abb6bde479eee72d124428b00c4934ecbef948016413d90d21336830ea94e8a8feaeea958ad0cd96b75824bc99acd8a535ce9813bfdb74f04efb5290a0145820e42b543ada0ae5065a58258b5525da16ed1a4a50059b765b5aaba4015a102506d504ba76e548b504168b6a494d437d4a49f7a2ae26a9e32a506550f1e3d01071c8a5640cd87b57b6aac5486ce3e22318bde6767a8a84654cce0072adc01018b69f2b4b18e3b6427589a460631075041b23466948998408e50db9c6c8d703469bc0815bab8aa90cca72749aaa005e921219588fff5aba89f4c4ac4a584e9874d487690b6da725938f8fceeca1c75deb4506acc7857b7694e27a6596373f96ae814483fd39337ad9ad46caea1d86a8e80084eb18cd81b0c2f46c452d15238d7af4d4a76a0767d59a03a1d64acd6b48096d39969e367625adb60f38480035d8a43bbc9a264120189aae7ebb8e520367189ea4be2efcc6f6fbe3be425c2bcb0889bc17e0e3ac8505c7a5c5e03ea03aa24340593efc417c06a1052d270f3c2009a325efdd11c40477761e9b9ba4320c42346a06e67fc9405315a3056445fbe9b690a9b9eddf52b8f92fdd17e61bfb0ff05937dc3ccd3509111e629d53148ee021ab95f8adc9b090ed59fae3608dab86736c34d7d215c18d854b37167e3381b5d9b9836c86d7eb7d16f23ddc6181b5d36f26c94d8f864639f8d349be26cf0d93cbbcd34ac68367633360fdf0c87a3d946b68dc136ee7236c38ed184b636f66d9edb58f8da4cb8b1ceb0e4eb50831bb3cbb933ceac99719681a0e176772353c51b4e59e82c0c098c4f675d79b10e97248738c222e651f69a245bf754611a70208e5f2b1a0b2f002a0650c6d05340a10c70d0fdd0720d8d0c0e459664e05940f04c0ad551593ae65394c59da9ae7fdd4a8cc5ad5856e3984db0db15dd0448f0216fa29dbcce8daccccd6c55445673929822ceb18951bef64869ce44f2cf8dce8b99364d84436e27328d2202b2f151a3ac86686320d437760f061b960a01f4cf2845e15388d6175d35d35745a3514cb34ad745a2fd328b47913846ded40e02290a9637fb95726f7734f0ec7bcefb1c2d14b830b321fcc307a018cfafe27b8c181033e5c3e6104ac003562caf56a16f4258207c83ddb3e3c9f2ccac6f8203f4b80def870614c9b3ae7d8f9e3ce3425e2deff1de293911ce01d8b03be269f3e679ce3c719e57cfa627dfb3f3de29c7c07e42180fa567444fc7abed31f60e7b8278de50de041014f1a5404a7e2e0c5d021e38c86f309e88754bf006ccf8c346d75aac98bb7e7544c1f668104706c87ba38b9fcdcffb3b9df0e3c19d4462e87ec24798f958003e58cde43d6a8b04f462e09d4fe3df87789368b1ef57b1a241f825bf320dd32620f00773019498069c053ad6497235084e046148e307e650abeefbdcd38651d58026e779cb09a5db6289487f7291d62730641d02389cdb52d2e48edf050acf9991683ee1dc1b46c92283ee55857a788dd441f63b358c78e3ba9f761d0882cc3a074cf82fb00eb8c9a4db22045ea944c25ed8035661d4bd8dcc6bcc4e2a4cd68d327f0b6f2916341d317ec133a0e61f294ac5594a7e513c433496ef4f68ba0ef6956f895704c2e672ed949252654c175cbff402f3abbe1d81351fb09f4793dc54819664580f989cfc48bebb003d59ab4319abda89933f3660a89b207f6bac95d57e412321d1902322ee910ebd2e11dd2142c920ce6378927c8c15b47cd385e779ea884750680c87efa0cf4c8505b27d1e1e60b62740aff0994ab18ffd2851e0d8d82c5ce56e07126cd9f1244e1fe5f3b3f441e45c99b7d2a2092ef763519453d2a01ae552de675c33d44ad0df1e3f261f753c632b2c500a14d403d8ab4f6d1d6aa08da811157d2ae443df60a054588601b6092ec8b451c95b33eccd0df38d438f6fb27970fcbef9034650dc5023ded6b97bfe8943da84a927123ba44a7fc617a627e96a9cd1b232873b92dc2a9571fa4bb9f5b5e134ee4318bec85d34480f8d1bed4dca642152bc0bf210aecfa2b1003742057829371b86fb3d9993129252d242d971d61aab08a81bd918a22ea891bc2f429f48f7d4e4364b9983ecc7d55992da20b9c10f76cbac46a3cb4682326064cfc4aa57dc34b14b289a56d04ef0c39bd25dfc77a00330d70657046d03bdba1fd873e2139ed99fd3709d6aaf724248f844308a8133bdba4dc87c1295c86dad1e41c628da98dff80627735b4230cb2e1843221f78160f60afeeadd3aa9aea3dd18d35498db79752cccf90595880fa6047900015657caefca2565649826dbb0e84d678d60afdf0936ca50b863fef363062d5d678239c4c566f87db2ad553ae6e209d5bcf1304f51239676db93610b52ba9593c956560316eed86437e8a1060eec9e8382694ff5fed194ce7829c948b931b87858292840bcb417db0830a6959dc579e370561a9891b6062bd25ac0ff806e97da117f2f9850396356bf2d022d4880a02cdba3fbb0d82a5dbc5e0c49b18440bf316f5e615585cf34e2af53d0d73dcb8bcd432be010a299fae465520be0aeabf165a139492286ae90815566defe0c3092ad19a176a28d583e5a08b2d5c2ccf702f5a9c1cc018b989a8bc12a61f7f87d8492b89aa68795e54e0435125816d56160c82c492b226cc9e111dd4094677fe929201a624fdade1037500019ec9f4142d0226caf3df43022e2ef9101ea917543020286b211f86890bb4e05e1fd6138601483309d224c2590a93c893d1fc4b601b2f3faa6f8307b418ff20ff898b874afbd34fd70abe4371c2d7fb1a680cb0f52474c0c115bf62e16fd8d2d41b90ed26cff5e2b5b755c073626529638b7ed2e9a03c6ccf406da52ee67deaf37ae6a1abb5b5f002f2701782c2fb62689046cacb88132c6de8a6647381077bafb36b42b3ff078ec761ea01c7a498148921d5a9d31d222b51caae07fef18b1bc2d940d58b67cee43ebdba4cafdd8746b56ca02814be90f90be594f020406a01a110523a4498863a8d55119a95a1b7c6fb43e5b61067b945f85b679e4b88a8326b8becd4ada57151279f61045d5c606f6237891f373b4dca65974b735d5e5cb6f0801aac157337444633e57f78c1d53410c416bd48dcec64ef0b4b5cf91ea01e58b602c93b559c0cb4d26eeec34aedc559cce338cf7f3675aa427bcafd357cf206df76362884d5b148d6b45fef47ee1460c61f9c90676cb6050e0ef876dea4e14288798202fe5523aa724c5c94572c8d4d61050911101e857c16edbe03648434a9d1a174069950205f9b466bd1f8e2da722aa0fdf1e17259b43fac3c811f6085850507431303a1888371236858fde8c0824499cafc1714fd71d0432a21f1b685bfa5ddfe3b6a0ea0d49264eacdb7e8c87e0d002599647e47c78bacdf8a14b891bad98674cbcfc76de9d8b2848234b6039101a51140818d4be974a2a41d6f813ea9e983f940920af44167b81688bdccdc8035ed2b078a89340af0b89e4b7b96bc9d71fee0586e4104bddf1a10ec80fdddda63edf58b2fb4ed8cf405ad4c4136d5b0bc08f6f911d6703f98c9577f3bbd65c2772d7187a305b3c1d38eec97597a4e53a9edb829f38ea9e0922f04f4a4d7cc74d8fb7ea32aa3cae990b922be56880adddc2cb277628b9f9050c89cfae59defb88aa64bbc8a94e5e151e90513d767c9dffe7180781bdbe831b44904ca884d96dcf5c6b2f5241a97ef94e12584290561944b10e707c30605d1f35e8cc0d962be63f2caf3d476058ffdec8b2244c2839397809f8039742e4bb5730446b830d39958bdcba18d37089ca9e5028b6a479b78f3d79e9413c786c9ac76e8a42f1b17591a0a13fb6125be2f2531c817e809fd703c87701fe48c07d44131d583b2121a22347e1a7e00b6488af024192bbc31cd3d1b258749488638c4d6c6d9da072247cc8f6a49b8ce00419a3738bc5881a519799a9f548282141640022588aa6f25204a88bc0d558309912e704819d3e74ea1a52310fad673afa0fcaf656a9cbc90f149b4090b3af809fddc380e4f86fa5bdfc4b2a9fa9034373aef4fad1da0f415e57cb369d67b03ed31812fc7ca4f048ac270b6538271b10aabf22aa2711595d2e00a9dd8be6ea28d04a8239d2f3211ec922afcd99aea2c7c2707e05315c0af0fb6f1754f404a7b1ab349fd1d44e9bdeec61418958653f0105b5cf20ed31c09194653506225dc002484e061666a55c51281d80524c87e2dff6b064f0ef542866033db749bc417efe10e1e8858af3248fbda39aaafda5bfdb7850584b646ead00a4d6d5053fbc7b29682b3100433f4ae97e1d986182166fd52a449a16a9a6f2e6ca0c2d1a09f25f7998bfe70534a820b5b405c6a360a0613117200cb89890514a2e5f39d621802db61142a7c44fb68390446cae0e0c84b0add25b3b2cb3a265d0ae569b98f4e4bb36e4e91e09e1c4ffe78f123a735ed14f57fe148cacf1c001d1695e13b01800f9e2b9c64ecf7fea664b73724a2af007bd94d3e7e00553f3b87fddb06eba10b6528bb5fe593ef40fb202c9c5625e258ac9533a1d354e867a78ae62ae32f65e25d5550d8f25944085ec42052e153c7a665b602773621b9ec43efe3486d8c0d77b1632ae20cd485940c6c1a053b894f58ce17b9c1c2ea101383e66e3c038c3cff61afeacade7527c4aac79cb5a931c3e86b2b20ea8dd3e6274102f92ea84705ff3efe082d016a9dda6cf0c7239b03357f993fd434924a3e2833dbfcbc2a85902fc530c977a270949076efec6adf4d14d63d18f123efabcaddb9b0dfa9c7bb5326b28c2f58103ea952d5a529ff4bb1a194d60ec7a5c108d47e5866ebbfe433617e76b59f269f84093d1800de64ce7674107918e46de832bb46f04f66e5506f420986b4403351046c2aa21368d8284359d38186e1f5a75572b14da30cfbed011067d335115970cc242eff27ccc64286892c382180f3063252503948d10432445f0b44f83cad78ba8f2fa1beef922bf8480337633789ce8d98a50776c5fbd1afd0dcc1bb8081d3d2122459377ef4f1684b92001927cb2160cac595345dbba543473acc72e6403a02075b977b4585ebec0ecceea3036664abb60dea764c9ed44746aa8fd44327b8cc5d2b031f85e2847d557ed02c0a222d40832c1b86b4149d6f08546e4e11faf4af91c053237327c14c266ee7a5ae2b2e2686904071fca6963a082159c404bbeaaa02c71a27a651f24f98b17193274fb8a79f49442f189ebb419d6a0c6361ad9c548cd3099fd8e94b315413fe58eed2834a7ab228de60bdc65ae40da99890a58d55cc74c75949f61f5c18328bd9e82abbf0e6c268865ef14d93456d2650f10028bd06500acf5513e47dc5825d9bf366f016e53a215e2e878ebf6baf404053083ab251079a3f6f70ae27a3715976fbaa2872591352abfa817f019ec7bf7ac0e854347af4c249708f0c323b3b951e53650fe3288601385eaba7d8a9246c336a248d7e599e7e71b95345ce2700d844bedbbca8c83cb593bdba1ad944dde57a1ae3fb8fbb438cf7762136879f756913f0971686d0942f2c0c167d617a63b06fdab3f8610835e31f3309fd5fbe07b993b56c7f8c85af7b8a5274a1aec7ad5057c76ecc872931163d1419fa034f4249bea26c33b19fa725d695443f52afce83f0e1c3f11d4ef8992e16d947116c3806c8b06f5593f31c71e75dcf0b88dd4954c05d701c238d35e04adac906d0023838001c43f63d292a15e7a970a97030359bca045241bf125c141d4c48fc8380d3cd30c16011da9be39739f10d683bd4668a9f33119a99fd257cd61766b8a9008ad7b15d511ebb39a45b77d841cbf9889f613f8d300dae8a081399e644f8b0df8df1f8e4c1fe9c4cd92148993498d10c02e2e0181ab3bd482ee866f2ed5a3e3b95637fe5b9a7b2eb42c63b95633793dbea1e2ccb5d41a72a64484d2faa649dacbf09f2127690c4357733ed88cb2182e3993af15af6b4749db1f39f293a34753db25a3fac1350c6539a946b2eef07a33b15533526fb601bcad61b5d6ee20c24cb59767cd8372874f798c552d7ece10e416ffe09f507ea4f921c9a9f9440c6c534af54cb560b1df86e8fe494368d3b2347dc3c5586e0e5d6b49ec5c23868238c9baf3908f64290d9180952437151805ba335b58a76f0244c1cb8017c34ab65dace2b4bbcce57d4ed6d8580162000d4095d394f8304213626200cc57421affa5a65fb2485e93a1dd326ac4b426204a0c52d773df6b590d85c00a2b22e13d329e56de40f3f31a6b822c409cb34617cc284fe3de1eaf76735faf8d4bca015b22a7072d6840107ec72559360f5f83536416344d1bc510a579b760202e7014a00deea27c08c2d256da17d4a836eb93a4180c5b0abd49d25dfda50fe706b444a54e6b17c18916abe229ad618204d8f083b0f19fe5dddfcd0320fdd66398ee9e24c8a928ad19379f64f45ff60c2e0aa9511501dcee4e4f635615ddc59cdce8df7f58ea0ba47ba1e9670508f120797bb1040ed3b7924c07ef7dddd83234c97b5ee744cad14c9cc507190467ade09a68fc38cf9d28ad12fe8348a51bce2ef811dec64fbce2a74d4e9a9e0bb8b58365c53b6024f9718d4ad26dc98a53a3f8b2bd45a4051a2fa6465ee409ca3ead60393a5301c075b89809909492f606b95b2046d863a06934cf1552beb964494ae939d5d6d07ce28d03b183228bfaaca269c55156e523f00ef00c1e471b0a8afbe0557d99af7479d3173075554511c6285c676bfde3733a7fe05024ba5b1a447943a2a530d03f379ad923bb8d119f558b6e4d8a697cae2becc4fb3098bd473d1192ccdbebb7978dc7396920a48d4cd94259624944ad65c2305acb3f548cd9f9b264f9d8f8202628a11b07ce7ffc7a654500309290a9d33d049429e78f29b5880a4a153d470732b65e4d2869a94989b293d3e862f9217908ddc03e550ca2c6d570503ff06e35fe516cdcdc5f5fd5d14799535791e25c60d4c417ef373e96d8fab22da00ec925b1083822fe551d6989c0872fb9025a98cefbf32f1d9e0fc341a9b51a034a1abd3832d0c5343d695ff6676cb7d3cd04ddb539cc5c0d657cb020414e41c460b5a41dfee44031ca22a57a9264b2167eb0580099c0201f712e6028cbcbdea73a7187c29e303e2c7e0a2ecc02110f25511bf92574f5fef654537a5921df82ba74f1df0d5d020aa301640237643b8f386b3a03c81de1b50b734ab2c968e75e6ecfd9c3dbe86e175bc441795b58d37a8fd55a0e8a29479d1ddce2cc916e02b9695bc02df5b38dcde02f1e28ac7f296c3e407467eb6890807f311851476e33c46db53ba3376624d1526829b4ed93010f61296705f195492db8d873cd567c5b397b06012ad40a3fd104ecd6c152d0afa4cb74498263e6d3d8156d9b0c3c95693bd33a1615b67083c5c885a2fa9e421d118d40434f3bdbbbabd01ecd48681753b97863f1a42a549cb6cf7a491196652ad4e729946cb7d596c6ca197507ae65b1ce18452c7bd9d7e8a0ddcff47e9174521d286123b409d84cce96761124336865d7eca65fa5c0750c4ce3448cbb7b3ab3c61f1d7b1aa3900a660f0e978ff4965ac364d072a17febf5db2295cfcdb584669a9b151e57cc41a1f71ba637251a930a7e4204774096c81ef952c3a1456dda5d670aa9d9e161f5124667fd0546dba618afcbb708a6290a0ecf70528213bf27a24644d3d254267107721816d3760969b687422b0a9dcbc9db192f4619628162a9cfd735c8a8ab91229103b9a50a2db38916093d70158bf478eeb00fbfda5b0570ab9c07ae8b0074d1443029829e2a68e2eaec453044ac9414340d3a9946d76591be3834f6b9a6868c9242ba47e896fcccea65524b6d68c4f24b8415a717e5d6283f4f4057d57ce375f49a0d5bc2db6d14f27ac3884e78f26f65db705393fda00f7339f434f4abea2d5a8b6f4ab89551534a7ba002ec693184ad17baf5d59776b09addbe40e9da5ccb0a2f9d2208b667baed3d09db15362ea2eeec2a87a1fd48b0fd1531f3bb74ef670c0f6412ff8612f0a622f80d84b1fae57feb8717de60df2c1c4659b8f9bd3db47f2d07b06be7a050319e1c3f45819b85468880007a09078b800b0a98d793ed2695c908f9ba8272199d62dc7e8e22fcbd0b3c594b204054fb7ecf158975344300dd07ab06ccd9f2b4c0ba369e149c344f52f975e005ba129cd2ffd5d6c171e468ca9249a27c5344f421e52bf0c69e9a52fda69b93cddfd8a49fce22a94347b8ce4247a3ba1949cff2572e914409302afdb5d1b69c8d69bbe30112180a0edd8b01aa6359b00a0139fb01aaa6fc40668970a87b53fe03a4e71a2275f2cd7baaa7a07e67f5f5314ca2ae8a4927f8ba217a686afd642bd36f50908a08efb509405a683b45c296dced2040f8e7552c0da11ff0406a3bcd5c06468b76788da8b3a57606f01189710ac76ff363699f9bc18c78a6f99ee24a880ab42bc85645308f23a4a373fbf86c7d0449d28cafc7fd9488f0f6306f40ada446c0e0b5c407b5846f7058563e15400888ec05908772609cea0a8c627cf5b8f5d42e8249f4e1755fe46604f15a4b1600c837b153acb8a01a4d737e47e2f92ce4702f478edc6df8e394665164846e3fff975238d6498c80704909c2a01c2d4663ed78403fc58aa90e5be725966971b765c624cbb15fe491909689173ef184599db7d7f5217d119ea4f878f2f444b02d6a395208d96a1a473adb1d5726cc13ccfc30362d53508d57551166ff5eaf250a855e719784e1004d8d6df1d457df454f07016cd7b7812f6d73558dd5c0950771e96e30b7a106f379989310852628295713d7ac824cb102196f79f189737c5289cadd19fc0a89c5c51c0e84a494b9d5b12eb8e9ffcab4d4e1a50ae072308f1e4facadb415978b1cc7b482a7a53474421c9dbff6b24a2d023f565a752599eeb33c08dc7ef845e9820bc24a0b1b04c04313001b79850a32460b9c0ba83671d3397153dabd27541a8dd18ba1600ee955a1d6108e1180bb6fff83d79904f72b8b6c7ee7361cd5cbcd65aecbb62e28b9b5be632a331572cdbcc7518c5b51b8cfcce84d9139a71e08acf8afb73a3dd8bfe6dcda78ba532ab5a47d7544c7a55aed47ddcb548a4aa12a0c9814caf72f9bc3d6998e865c0d29d12f5149b29425c44c262fda391bf11e25cffdf4f5fb27af1c288bdab43fc49cd974b9f9f029b367c5ff1b8e18d43cd334f512848fde91efc4e57d8fd58c3f131889de1bf4ccbf6ebdb8c8814a506fcf463ee3b77732cdca2563890ef2c617fd9480e31df65747866b3616736ade7f639bbd40dce5a6b3848d26c3fc392c98bd18cfba981351acb53c638d1a3c1691bf224b45728bb5bf5eb2e152c5a47423d14a53b33ccfbe09242fd6690f8eecceab1ba4069f35a1e64168efcb2a40060499827fdb816d53c6a253f763b094c37bbb34785c220218320cd9628af59e8944681c4ada28f16a255c36a06cf02cedd237474764e73c3360ec417214bbb54eca5e320728c06a3b9988f67f8f5a22de0aa4ef0c1c95196620be530ddf8604d85c2b4bd30960503ebdbe41e2315d8aca12a80a2e54137f6b5855846a9e85591da8a45b2b4d4cf9ae8b95a947079520e9040b4d81ee231bdc20f0b5ceb44d4841e9e23d93daa14f9472efc44a50e0ac3d10004ada69aa80a29aeee02f5d2aab83c95d89add790bb5b1634642717e69c26bc3a41a5ea723c10c0f7906e1e603f93af6fbb475dfc0d9005ce80ac91ce27af3b13082d191fe26b08a94c5e44e7da8525c571311649786651518fc68a9458c3cc2699620089a4222f3460c9a2fe1c9161b0c2ec1476161d02ab3824a192fd74f8196e28de71a0946f6c28459400c5ef6a6ecb80d06cb5987a7c16bb14dd109ac3d035351a66f79ae65a860b057f7de3cd916167502485a76683e11c82a30310c8e460834004c01bdbcaab5347288e34eee407460c22f9f4947bd5eb125145d18547190a7cd88d18074aa1120ad98ffce7f413952006b036ec440bd3e5e9d3ea5a19635c0719677893d249f48ca235148d22b095e92a79684128e9ec66a55528e49271258244b29f1a913f74d544f4bbec9f383b10e0a3ef7a8211e6b165ccda7551ee17be4f780efb1dcc3270f1d1e523c8cf230bec7c34080c8d970e2342cca02de52443f0b3a50b0a6d001f3ffffffffffffffffff18f61babdfec00ac92694b9939579fa9a506994932a594524a2a010000a02800000091a85b233c2eae1b5c550b670bce0ae96d30d5b67d92c663cda99b0d0625744e923849ce5e425e8341fda3798e1377916b0340d4604a76762a8989de1a531acca6543a0dd5f1c9244183a942992837a2ce3e75ce602ed182891d17cffbdb0c26f95b32dcb7520693b8af79bd9c258341468b78e7fc295707903118bbc2c9cf9bcfa3541383296e8f555a1806e3972979a9beed372b103018be4eae89e697fcb69402c8174c6e763f9e92eae43103f18239e7b620fede492541c7bd00902e98eeea5249490a71c1284a7ecfbc9524521bc9ebe8c1c863c787f1c5dfe010806cc19cfa4e8e95f7b9c1d65a307c7912f3a2e22bf7150618dfe38ec717387a74a08cc717387a88a15e8064c1142d7f4bc72a0308168c1ff36de9746c49a3ba82a9b6eac3bdbfa8744a4646bef814ecd8a123c70dc4636424ed58010c40ac603861ee043fef0c21b7e73f7eb80a2649f2b274d964b9bdd6cc86711840a8602a6164599725933ea9bd00320573129556fc8491a3a30b2205d3cd57aaf0a474d265ca2818c3538e7f223d48d912144ca5a3953a4b72ac9c522d803cc1d49dbeef94c99e21b2130cea5475cde910a409a60b2a5f2363b72a68204c307c56ad18262749ae16812cc174a29aa44eabad283ddf601d204a30cb09d9414f8a150f317a780f1e3692604a9fa453da3274ba39708020c1606631ec725cb8ad2c00398261ce4f573c4943948018c1704a89eea9574caebc1e20453087b94fa92799e8d1294604737ca7997c399accd32520408680141b9d53688592845608e65c9b3f796659308004c1a4aef7f22fbaed2d56be00020493a836ba1d442ffe49fa4115a764af397919c407c631717432e99f3501480f4cb2bc2f7e0e3a58a528080f4ca1cae3670db9233e811f901d18adebef4c0aed9d2ca9070f1c5d182b407460fe9ca3e9bc6d134b3ee1012407a63d515f4b0ef51d54677900c181494ae9d2dd8c08939104203700b18139fb74e55297a54257901a98c40b25b7e5eae89e20bd332034307912fa4d4a7ea34a12cdc2202687a7b81122c2872c8cdbf1f3e1fbdb9d93b130f54991f7dfb53ca302c3072c4cb1739224497e10763a6e5df87885392999d34eb9734a52fac31506718b2b499c6ecf6dd20aa358a768ab25434c7c5961eaa0564c5eed8f5598c382e80bcd1a2585510ebfe1c5efd061016ec3872a8ce965628df228bf6ba7c224786a2761498ebabca2c2a0f5ccca84d29dc26862a8b825c83539d7e54517356cd4d8a2c6046a6c51c3bf8b1e0ec8a103478f1dc9860f5398468c5adb93920c1d945c056a78d1458d5298fa4e36df5757f74c52183de9e0b1c4eeb0ca7014a65197b38ecc8cb9701285b1e6ccbd4ac74261ba9193ec744ab5949280c2b8a73b49a1d3fd09ab55ae2af7c91326cb7dd298144fdcf874c2609268134c3c5da177e78439c7afece4a3b4e3496fc2e4699454ef57f9d04482db091132cf84a94c2a9353d48bdad9e4031357fd49d55513b479f81278beecf14125d9a7d39630a7de4f2654ed8b75b812e79d3551ff848ee93a25cc495cdfd277a7a1de4e820f4f3579c2a40f2193849e23c54fd6e43c8984a9d53b9489f6edc942c2f4a3c4f494357c3f4e8f3059d2d5f10f93230ca6356e172cb57aca37c2606295529656abd26c4698845282e7b77a8b30c75e5a1274f49f94a20893be9e1759a9728ed7d0c4f8c2ef6c8caf408d2d6a5825823395bfb424398936950bc32d00010bc3c1b05116840f441835f552697aee2b49c9210c16f6ecd47d74d96f08a349eac4d592a452a52e842995b8936bc4bbe4d40961b8b51113e4bfed89964118dccfbd32acfd4d703f04610afa6ceee2f995cdb8c33650f5110883cd65dbd7d337ea830061aeb41f23fd35bf82f00fa60e72efa97ce5c2f583b94ec664976c9b9f05fb607693e4d447f9147b4ad4928b0f3e98f49ad227dc634941ac0d858f3d184fc81be1a74a6e1bf9871e0cf25a1ef52fe97cda471e4c6b3657c1a4121ef2e30e0631214209f2ea47948e091f7630057d829ba89f7438417a818f3a9843dc29297b47077fd3071d4caf5da9db44eb60a5fe98833956cb86c8cf17103ee460aedc396b468810fff3c8480f3ee260b435ade2a7cfdd0f38184749766e733ad245fd06a3ccbb5deb9f24a8cff10d1e2e81e40f3718552e8f9a9367e6d2c90d361b780d828f36dc698299f7493a1f6cf09345b1f1cff172a76b2807d91372fd240faa411fdffb8f592984491a923f7da8af553fefab0c1f6848ee7ecb136b5e33db19f4b5baff5116bc04290f86c387191ed126acf37f748dc6878f32e07341c8bc6831331dc30719ea3e591b1fd7b8f031864ccc70af3d35e2c4c9460d2fbaa831323232a227860f317c926c37df6618f8df919d747433dd26df438707701ff10106949c771f372eaba8181a3ebe909858bb27aea5f9d3ea48c4e0a12311c3bc90f427f342cf82eb775df042b483eef88999ce83b9e09e9d6ce2e89e4ee14cc3c716fe589e6b64d87c666b860f2d6c82c6553029ab28b5fc0a380ba69df8e18434b7f0810574d0bd722af4e512f455c3c715aa92fea24c4a256fe970c08639e2c30ac99e9c1c239e3cf8b8878f2afc174b4cc55efd96a5c616359213e0e08166c310f141853da6a512434962afb8848f296049880a355bc2749748a15132a2dd92dc7db7bf870e0f7c0f1d2bc88d82d6b9253c8e2e840f289c52f62ecb179fc3fcc2c7133c2b29da69ed946beb377c38010da97b9919eaf5d7397c34a11caa43b7e7e3c60ac407134c3a334f96249f2d6aecf803861817a8c2c7124c974446ba79c5ff8f8a133e946012fc3b94bc48b50bad091f4930d95ddc4aeab6ed260509c694dbdf17cbf57f3a56c2c71150a9c4f4cf986e532114860f23143c9b9978095982922298e358d00f75621ef82082f1cfb3df7d792e7d3a1f4348cefd68599373c9aa163e84a09855f868eb2308c6f014ba9ec2071012bd51ddaaec724aaef0f103ec049d24c14e7c2ef181b1952adda297c75534d9ff0adbb7143e7a60b020ab3f2fa35cbef3c10353bfafe50d4ba6d38bc640be430c841ce0c50e30b8d8408d317678b17a0111d81800233e7660b2754ba5724d8d4a5ae1e3a03e9598bbe0230706a5bf175febc18139e9e8c1829e2d7149feb881494e97c32e850b0d3e6c609013c664f4628c3e790d4ce29a1c2b13c49335bc88408d91913fc18edf197cd0c014c4a9cf956ffec54d66610aeabfa64d56d26f8e8c5c40043662a0852ccc2f16fbc411517afc1b438b58a897d6dd2bcdfb898e0b2c2c4ce32509d65d6a3e9bd22bcc9f99f5fd792b08d3bbc22467cfb1339d25eb7d5a61124288ebffca1d936656184c3653cb399c28d6d95598db2457f5d112554f54613cb7dcb6b52b15e6f439099fc44d50618ab9a3543a39b488d2294c313447454ff9c493c3a6309a3ef9fbed6f76e195c2f8d697aa57e3a10529cc1926cf924abb274b198616a33069a9f45327b24bf4917da22387d9e3d8d1a3b51085e12e8c161951f9408d2d6a80a0c616354250638b1a22a8b1c5030a87c26492a750b19309f12c018549c9164367945a0ae97dc2a4456b09fdd2c94cee78c2dc7b27ae3fdfa7f8b80d2d3a61923113deb4963ad182130655aa4767ffe05ba2bb09a3f5af652713bec1c6021d5ff0d8e1803394630c1e99002d3461da6afff425d5d3d394099305e1a644ca8b6dad5a60c2d8e9b4240dfdea311f2d2e613e4198bbeda5dc73798e8c84010642b58449ab28fdef4969493a5b0953caecaba47ae9e45e2961facc57536de70d36d56212e6eb11224a5e93a40c4b18fe374a692189c459129416d9d70a6209681109538ece5315edddcec11c3a708471070963d945d1e626b5c4c5460afc779c34d6e21136a28523b011259926b87f2ced3ea00523f0135a2ca2686e72c4bd8915b4819111b46364646d478f3024a185224c490ea25ce5ec1c3a1a038930c94905bfbc6452526fa205228c95daf268f3a0a42c4987306767e82454de0d610a2ac2b249ea36ef73853069697652972eb7168430a9b3a0d659e77784e5066196cf79afbaea2c2d7f017aace7cb8b2e6a1861c6140cda4c633d786e6a6986144c429d598a68910b6644c19492b9bf7faef469fb13cc80824916cbe65e2d322db514201d5dd45d08663cc16c594e3cf5fb60a394cc30c30986f96ce2c9fd943bfac3d61098d10463ca7589b7cfb124d1ff14381865650133986052727f8528b5a64aff5f7ce160d8483b56502ced58012a60c6128ce3fd29fe5f8a47183cc2c0d1430926eba4159fda2f95609204c37b5613e2c9d4327631cc408271542c25ae8a6dcf898e605a3993454bce3b6da73b406d8611ccfac947b7ad5204b3a8489366a49a5ccf218241964a72aa133d6b897008e6fc17fa622d8ff65c09c1a45436cf62271a04a35e96119f94a513f33232526600c194d26a88122de95072708c1e5e98f103c39c5955126ef2f5f5637c05ea08337c60f26f4fb9a4fbfac9713acce88141b68eb61c2f2e6f1f0f4cf24f79c7db7660b8ff51f1bbdade4a8e0e8c66f28cc969a9b79db561e8576060989103836ad9559c13652cb4337060fc8a35e7c1848e4e3932ccb881692fd9a7556bc996eccdc00c1b98c2bae443f7a28b1a767881193530454f26bc89279720cca08129ec9b3442c6629fa5385082206316c6103a7e565df4fa4ab790210b83f755cec1457a5027ed4517356ce040462c0c26a738c243bbbda7b80c5898d2843ec136948e939e5798bda388df8ef1147dbac27842c5f36015eb3dfe5698e42429399892739693900e64b0c278b246b4fee675dd691526419d1a597aa3539e30c340862a4ca77f55be67f540462a8c6d1dd39478914f51b540062a8c6e3396af4cd6ff1ce721e31446b5202b888fd47735d986b1408629cc9f324d6bfb5fde5e1224c82885e9b7fc64f114c3d7ba1b0c811c3248611aad311b21bf822e8dc2205fa9b5b2c817fd118529a73fd15e82d4ff700a85c194cb86a9700285c9c4735c077d66baf409e3ffa93c62e5f784c14f7eff4a7a27ddfd4e18e6479b59aa7869f89c3028416e5df7966cc2a474bea49612ee39e768c2a44e992488c82c2fa567c298ebee253ce5b152c184b9af4f8c93e64b98c25a38ef98b525cca24efdfdb99530e9f630adca95a265a184313cc88e97f2839f9227613ad9a664c7d2a7dea39230c958bfbdbd68240cbfb62b5ad2c69728216132159331ab78ba43f908b378693f9327ce7e4d4798f54e0c8fb3b6726536c2b8a34c5df7058df991110693ef4e27952ec2a064d4c4688a89ff5011e6f518257ca6a578629808a3a8891fbcf3d5a48688307d1026fe92c8cf153a84d983583fedb9218cb77f490e7967a79457085392c3891b1ab399e611e214eedff14e6510a6f530e5512df9fe6b8230c71a0f31de9a21a6f21c29231006d52936ddb388bb3001c2bc3a63dd27e80f663bf13fa6deb5767c3f1874c793fdc29df4c1a4a2864a277fc4077389df3929434c9b18da83296c8ba9d24f3fa573f4609e13fd397e29d1827ef2604ee92df8bd7bf0601c8b7f7d59e256f47e079374dff649f4b7de13b783f9529b582a79693ff93a98f7db92f4295aaf454d07a3c62741655ad29276cfc13c42bbb69aec49d5a5c8c194a744ee089d535bc271309c9ce5a2d749f1ae190ea6bf6079d749f8e89c7d83e12efbe57095f29b49dd60aab46edfebb4e4adb6c1d87199262793a63f9b6c30d6a67d8875f1743baec17cb29334eae4d72bd95383399c5ca64a961cde279606a3ca887fff686830c9bf9d9416319ba3740663a95b50f2db663097a0555ed77f4990d6f0220232ca60ac5225ff5af88f0ce6fe6042072d5da3447732c6f055509fe3c5cb7d0962319874c575397d4209196150de64e49ac87d09d720030c063dae164fc689225ab9c1565632be6010f5ffcb9e93e9767190e105b37c4952765ec73cb0030c0be401e620a30b66bb8ea54479d52a394903195c305852c9fe93ebe9284a6eb0e1796064841432b660fe9113ed848dd815251308230c07f4c8f1608ce1613c7a9443478e08b4a0c7c8488d2d6a8c31b21e1819f9027d3232b2e3c3e081c60347189e0678850c2d98bb3e09faabc6535c8a5346160ce6bbb3a1b6dcaa3f2e8020030b86afbf9c4785095a2b490e645c2193a7a264fc88563066a7f324fd08ab505232aaa038645041c614924ab3477b8d88bef8c293c4474670f80e2fb45c001c21430a9e901105e6da6e2c60e8d8914646bef8422d1132a080329eb0e996dd18133afbdc4ec873db970a4f5b4a789b90d68e7f82cae9a87ac860424992b296e4296bba01194bc8d356d4cd2d25f9ac285ba13c9fb624bf7310660e2eae02329460aa94de927895495d926424c17492b89f2d4d4e4ab04c06120c9f3fe52bb94d5589a10d7b818c2398e2e6fc88bd5092ca65ad3320c308267d599ee2cff2d8d74530c5589c0cedda0db61dfe5f20352298aae453d6265a1e65a32118d592bc9c5afbdf91e680b3800c2118434c1246ccc7bc5b3008c6eb94848f6e377e475a17328060f050174def4386bec5c6998c1f986d84544f426e892769bd60816fc08e05be630b193e307ebef99bd991ed80000b7cc7c8880c64b81db4d5a6a5b72d8307e699d1d82f3164858fe364ecc06029c5f7f4ce7d395637d87a880146224307664be95b5ce672683764e4c0dca7cfd64b254b92e86de44836c0e0e12cb0f13d7c470f1e880f9081039378c29449fa7e21e306a694b9fc29497915fa2929906103833a3963de412d2e8a353007d96dc266c9ebb6ee88c183af861711482610031934309d14c4c4ff5dc95323905918adb47f30d172f78c0c220b93d261b342e74a3da16d01482c0c2bf25ad44ff4b70081854992cce64cde1c217aedf11178859f2f678f59d3577d5de1e65c7c59e5297180b4c2a8de294e94d215fe8415a62c39899cf94a21ceb40af39f4e3139c74bb2878f2a0cead9f4de5ae8dc27a93055988d96dad0da2909820a53af5e5ffccec9464fa73098fe9ed36a39a6e09310b25b0629c51b6f1594bc6c8090c2d0393f693c84106f701102c828f0f81661612ded1618192940001185e9d2a91c5adade2806094549e710fbec7ff29290c70e1d3d3cc1b1430717c9f7b03132124606baa8614b802b8080c2a4da84532587302f25a93b7a8401f209649a243ac96eb0217702c413a7b6bc3fffa9afa95927aefbb178b92ebdda3776e81083c7c8088f473bc4d0c1e34f3032b2458d04c5a851a34e8c1ae7c4c831460fff828b91911cdfa3877f914a015601c20953de933c4f99bb0973495ac298dc572a4207a209839ff7cb99147dfd4c9853f80bf6abf37eb1c78441add34a5e8b7df185185c5cc2a045bde790b53551279630dfb45f34e92e891455c2b4a272c73f05efa4048412e7a94add55b5514fc2a4d349f2fe9b21bb4516201d2c09537e5a0aaa9e6c74656fb02d08402261b4bcd110267eb9c593310620903056122b990593d4e5732e0d1f21031047185d7470550bf3c9f32b701e688d30aa8dc8c6c89aa04cfc061b879130a0780111d810c00d401861da7b7bf7603be6a35e8429d32af59f302aae5470d80e401461b81f196ff570f2f711012411e61452375b4bd5aaac91114418eb42289d943c7a49e987308d4afa3c65a8b6f0a1185b64a08b1a2323a54c02c4102629dd92459394d0349342185474f2939416f9e61f4298dd6e64ea7eae4b5ba0c61635bcc841983cc5cb29884af5b1161041986b2fadc675fddbbba98287007a0fd8750640026152abd2776a3564c735c79fa03d00020893ea3a997ac9e3ae09fa83299dd8ba49d296ae7c1d00f18359d35c4e0951f7eb1f0d80f4c1549f151e55d4ae7e85c78d1d364ee007cd021bb08005ea768001068e00840fa619fdf14b9a20c4977c0f468faaee33d7a5f3af07b3055992944f52f2606eababe0c1309a9a5e237a399e7c07c397c80eb5aad92159395eca955f772075306a5d38352ebf8d24078e6435b60043c70e2e921c38b8685080d0c1247ecc519e748b3abd6eb0d5f022023c9e47074646fa1220733068132ea6a9cea89ce4c8c17c765254fb7e3c4158cc00120753dc50a1f3743898dfaf842529ab1b03c81b8cd562b297ca9a31d386151037187535d4caa50aad078ab5e50aa6d55371be5b3a098dad600a3e9e049bd156c11cd4c7a5cc1ba9609282c8886f3905f3af86d251aba29e631722053ebfce45d3ef449a1710810d141205b357a9a0e4919fb49bec0d36dd408d2d6a8440c1a8636961dbb27de5f29191911110d4d8a2860538e0807f2e922f45c8134cd94d7d2a59e29d8792134ca55428d1a389962e879b603a65324ac63df5fdd7801026184d9aefe5c8c88f3e43f4dd0bf199400f1d3a362081efa1e302232391085182d1946ead59c971084982c97574d00f156bb4f635bce8829160f011edc944bd7bde11871cc1a484be11f5ee30f97edd76116204538af5a85f42be55ba36102145307d5af64951bedaa1a71f4288607093bbfce4ba59283f0a21433056871c0b72ccb34388104ca29d8a75b2c258080982b192a9680b2fd569d5b510209846b5fe99d64a1fb43f3085f0ecbaeaed4f3d31c407a65ce29810b24c3d3059ca495cba3c0f8c67f1f4f779901eb766206407c631296b7e085707064beffe1e5bc10499e6c0f8effb26b4a495b756e03c706036515b2a073d62b5746e605261e15dd7a3c574d8060661252795eebb8e2f728b167c6298928e0b84d4c0e03bdf9e71a26b08a181b96e94bedcc95234d09885594fc5396144a6494a0a076461929e45b975251db408a91668c4c2a0fb269cecaaeadfefc8c8c8485f81062ccc222efe73eaace382c62bea2409134d4e57eaf2021aae308caf25134349671df73078f44d200f078d5694fca4566713171aac30a5ab90f5f7f2a732630368ac225bab7b4bbb20e43a92b2011aaa3009162be73d6ba58b190368a4c2249d2c7371395ce88a5f0c15a0c2e82fc273c94d0f534f6129a0610a93d8f13cbe9a54a14a4d678f63871727c851571fa0518ae452509d2617157800042c30041aa430ca85b6781dffb447d6041aa3308ea970964e9becf029a230c512cd82524fd10885b132f365947015969280c2f8f96792b0a57fc220945c79c4dd43c313c64f9268963e2d7536118d4e9845ee9e3ae1b29cf28b86b91567524b000081c6264cb2733ab12cc77312222b6868c294b35aae53d9f943e83432610c7d6582a51e138613963f9736cb254ccabfb49beab99c476709931e134ffe94e7e38a66051a95306c6b9b4eafd461e5568106250ce266722979d7239fd3051a9330dbe592212fa597b00a0334246114db53e99334f5fea7489844cf47e56f4dbd3e41c2fc29987c6a314eff243dc2144fce597fc811064feb702709d649ed469884f7a625db4f395e1861ecab93b590262731176190f5ba3da925741293228c2e629412278fca6a4a84e9a472f7e0294d9e8b08b3b8fb8b8849695e3d84f14c4daf5669ffdb10a6d3f9459e7c95e6c342187d2be8ce8a5e4aa59e10268b6f3595dfe9b641185547c5d23a823007e11b3ac93c1026c94ada30b10208539274bad12627a4e70f0695b7c458d8cc92aa1fcce25dfa93a04cfa600cbddf2264cf0783092abc554bf660343bed94193256457a30c8785225693fb592ce83b1465b9ae988f6bce0c114524df058ab7b22be832989d25651257a8d6a077378be9463651d4ca7e2c81f2509d9613a1894704fa75d44733089a754b705159283298956b124f1d65a49270ee65c97ecafc4f013a58783498711f18e5fab1dbdc17835df9fda4eaea5dd605227dd6c6c85cb513e6d3087f93c0fbbf4d7f5b0c1a0cc4627cbe1a430b9b306a30815ea530c75ddeea8c1a0f464152dd14ef94f8341e86bb9879d9e4e82069360bf29cab4dd86c919cc234f92bf63e87f1799c1248ef0b6f324269a7819cc6da34ed23959ef74329865649b8ca7c760f851a2a386d6e56c8bc1dc5a333a3eded35dc2601cd5b972a57beab26030678f36266bfa0553e9ca3b3ffa25a8e9058376f48ad1cb9abe79176c8406174c6df19995e99dd3bf05e308f7e471c2ad05e35caa203b49d253af9d05c35a0abfb6f6965f6c2c98c5e32441582e7db3f515cc9f5af4cb496ab493ac60be643ae55c16a3e452150c9e614259a7c83d3d158c7af2935c9e4f9d90d30db6bc29d0988231a4b5aaab7d92d389144cb2f85a6ccf6f268a8231afe284a599fcd1030573961cab652ec7eaf8134c79f1f29fa49d60b439a15d3d745c939b601c5d725abea4649a9609a60a1fc46735a52ec9b908d05882e94efa9ed60ed7cf2ac1a8ed6db52629c14bb424c120bdd7e5642d4830c72849fb734a93c52c4730c79b1c53bbd29bb118c13cde5fe25c4e97ad95229843d7a229b9438f678508c6af7e51c2734d273d0fc158c9ce3cad2f04839293fa12aa17438e826092a3fcfb4f4a4a650f10cc6ef2851f654a46a8fcc07cb2d9659e8f8ba93e3076ce26e794152a9f640f4c6f9efc047115ab247960d08fcf1f16bf2ae70e4c293e84c84e5d5945d681a9a2759605bd2067710ecc79cb54bc53a1da2bc681e182989caa04e9eaa61b98e42ea81b957212a7a76103931c9e9dfc043b1b118d1a187ddd2c67ffdf5c0f0d1a98040f2162d27a29d967611295b7b5e5b2b230b65a9e24bde5f2743716a650ca93ebbe68d5bab030f7cc7a49c2dc5718bf3cc49fdca5c8922b4c5672b6981594944f4e2b4cba5bbad3b3e54be2ac30c5b37813f43e974eafc220d7f1a57e2da970abc224eb6e8b75271506d341c84c917dde51549853454b089d9ec2f429fab7ade896a974ef3faf3ce14aa5307775ce1fc652e9fd49611c8d4f2789496a4a46611421ff533ecfab94441446dd50d935c49cf050280c7bb39792b48b9dc44161d2a6e7da93b69cbbfe84398eac703adba1a478c2e0ddf2295b55f26a270c1e2d78a5aaa4a29f9cb0c18c4d98547690f9234abdc45213a88e7939ca9664c26492f4eedd1727ee081306f51d4d179d4a251dbc8441e8738f9f276c093b5ac23c1fb26db73dc5a8b11226b9a4d1bfdbf324b9480993c95b55fa5398251327614e617bcd528bee2b5112a61c5458371372bf043112c6dbad1e39418484e9f63a254187ac8a173ec218c2a44f62aafde1424798cf4a9a68416fc96b61234c396c5e38494a53b2424618e4f3ef88de53919f4598b2247f37bd1f6f3e8a30cfe959eb9447e9f324c2e8625ba1936c3ae88e08c38838a1a41ce476f63b84b9abab46bdb553d86708835e9ceb149f4ffc7c85e094b86d2895248449c99f26654926e8a86e10661327eac52b297dac4e10e61255f447dd7acf498130eda8a0e376f5790208937869b53c963fbaff07639d6c73517b3f182c9d7c2542e8af87fa60ea142b5659960f26fd9e7db6e664b8ba9b94625698b10753fc9c28a9bbf7cad483f94cab2513cb3c18abea72f2f194448a78308cceb6a0b39e18a7bbc3eb9d2aa5202ab383a9934ed17eaf834950272ae77cbaf47be8601a31a1a42497969accc17c3a074b266986d6e56016d3521ec5bce4d3e360be0f2fcfb9a395371c0c73613f624952a7e40d2679232bce8aefd8c50d38a30da60f3efaddef42e76c305cdcb6b8975d83592fb653580d2629adbf4bbe8d192f0de6606d7b2a695d4a1b1a0c563949825a106bb16a0c2f1a987106b3598796c93d6b626b5f381a066698c1a493d05172798855ba2898510673adc558b01c8499a40cc30c32cc1883a9f453f925df133f8ac170be264b79ce292715c72acc0883c1ea5fdc77733098ebadbed7c5c4123d850a33be6010fa67c287eb851fbd174c499aa494a8885d30cac69daea07922a2d9086670c19c72a94fd2859597f61b98b105639a656b37d1bbd26c2d182d9bd0a1be2d250be6d7ded9cf3dfb9f4bb0600a61a69ff42429b5890933ae602cb1467d88d0a530c30a8d75aa85b39829e26a594d6ea8b1a0424716f80e1bffc9865a154ca7be454e4e892d0a33a8600aea614dcf01443057f8fffc1ecba52b3b04a387bae59fac4ef9a8104c6122b449162ce64d0a0141b011062000088f12647e4e273f6004f8e02d212ea769470f1e08e84122800726e5499d9a13fb1d98468e5651f275c553c22f3c878d30c4b091021d3abed0408d2d6a7451c38b2e7a0508d081f15a43efe8f820200786333b49d36ffed76c43000e4cae56da2988c9f74aba81f12ece8707dd572a546c60568d7f53b1b706c693f7e304e5a12a6e45000dcc165b949ca137fd3b1499853b9edaebfaf27c84882c4c6782da34693a95cec8079158184e689886ca05f5208385298ab81c76e294af30dba792a437c9e3e7bcd015c6d0b322efd62297449156983dc7eaf7d31f56987f7544c7c4bace96c82a0c974cf4249c95581526c174a58e7afae749cac36f642053613ecbbed8654a8ac96d1e4450613049fa24c9b37026e95707915398ead255923c9d920b115364d2e809256a7827e11b8c57029152683976cadedad5a5c48308298c26eba8e45726d5c3f35ce8416414c693bbb5c4a2c6a74b1285c1f3abb8c8d22697942414261533259a868f758841617cf3b591ea494eddef274c279f89f1eded1c677ac2d82508254c5be78a73274ce29224d6728c9324b53861cab1106f362774e737611a995592dcc172ebb4068868c260524af97616b476e53361cac13c8a29d3abf25b04132679c4ef3fc773d77a47e4122641947419d752b3e1818088250c222c7494937ba7b7845709a378f2fc2cb627a73b3028614eb998ad3a93c674c9244c69bf3f09fdb224cc1e4c3421b3243b12e614d7a3c64ca9124b858441966832844ea173f90506914718cfc43d1597715b2aee08939c5b7241778a48234c5aa3fe52c8ca9121c408939cf309269654ea32169145983bafaf669b88a949ef14441461123c4b593419fb5d3511a61442a8a8f5b0ef544b410411c62c11d316cc3d44fb87302575f62627e5e8f802d9d0911431440c614ee209a3ffea3efa0815c224c24605e5ed272a657524dc4384100639e3552fa3ec82301984e9edeeb6c63d6591f906db176e23c9e1ba03114198a287da38a57284981f08a35c3c95ed1479e0487020020883169db33f9834f57292da4b3f9847e8a565c8ac513bf5c12c1644299dc28d92647683cd868ea46b20c207a34925ad97b86fbfa5da83d9a2e8ea389672ab24e9c1d8b9842c6d2294980f953688e4c154f24fba9c546cf9dcdba081081e0c17c235bfcf927c07e3b8c827d95d4e54dcec08113b184efc5825d65b8db8bba30e0665aa9ec2a9122b623a1884122ec22f289554f5b867109983c14b38d16b7772e97472305c52926062c5b55490e3604e1657514398cea7420f341c4caa9e76fc940a35a589bcc16cc1d4891ff2167b4d113798573d9788bfa8aaa2166983f9945895f2a4e48c8e45d8604aeeb147c9222accac226b3089b10eea4b7d28551f1135182c87ba39655d23ef2292069370a5b54f0cabd84f45d060d071ab77dbde7d64173983e9fa2f279363173183e12f5dcefcc91dd6a94819ccc1a40a916922835147e5bc955216737918f885c818cc1642a7492f256230c8300f67497a300b22613095e0316ceb2bdf8a1e0ce65869d757ad4d106f6341e40ba6bb9cc743e6a3589abc60102a4913552e6464475510e98249ee24a7caa9b9279eac8d258870c1d8676fcaa48744b6600e6bee67960e112d183e4dec87b79364febdc1d602912c98e2e592be3e76e824ae6410c18249c34536deb66d4c270c225730d7c941989c4e4e725c7bf0f8912b8858c15427a89cc20967278eae0ae64e56db1fff2de53b51c158254a97b6384abc5b77d220320583b49315726397824135b653859147c11ceb41be3c88fc4ffbe420020573d756d2be95d3c4c99f60ac5b0be661f6b47f9204224e30cbdefb9cf0613fb8da04739ef3114a48119d4a650a112698caef4a9927f9bf93998cf115483a74ecc8402b44966092f45de48f0c13c2b24a30485359290825e7b1b8c7209204d3d7789c309393126a438279d4a95cfd26e792e57ae4787404635b55899664bbeba818c19c3ed789ff513a410e1c37bcd8f1192848019122982e6fe4ada4535341e3098810c124fec9fa32456808a639a1be77293bba4323232323652242b0910c8804c1644a12c46a9b205468cb200204d3579f9d0e524dbb761586c80f4cb2c29dec8df7069b7621e20363877851921c4fcb2405ff61241a8fae80480f4cafa5e473695d1fd1df606b1b438407c65196f2578f28ed2fb9c126860d1d89bd40640726933dacac4249070655a6e468b5259fa5170381480e8c5bc1f29230b1d43bc74e040766bdec6e9238a9432831251c890d1e7c2e7203c347911a7b5a52ac24456c604a7ec14f1294d6205203b387f8242ad968c7e8a04184062649d20a27895afd8e5ecfc2a4fe57eb363b5f089185314ffc3b7afa2da98d30c04068606c31c617393090818b857974ceaa637be9b274606152ea3a65454bc79654c82b4cf2e7bf67782865a3bb3084b8c2a07b4c55122d29c9e48d86905618fda46049957e936249f20803470f2f84b0c2d471f6de75d92a4c5143562ef947c5425461ca7b8d5379848e89302415e61157adde2684a76e21a8484cd52b8dbdbd21a748b40f1e26b45b4c61de922fc69d5c522b85f194d7c713545b7f0a7d62c3c60e1dc946e50eff1c38ba781e3858f0e87164404d9310529884d97c979e2ad1b2fe41c8280ceba9c53d868d9df2f820441406cf936a6b7b753e9c42612ccfe3492895a3bb4ada10020ae3ad09213afe9db474f209c367ed1bf9f0b95abb9f10e209d35b8e8b9d73c925cad209b3ca8ee9a99639618a6e27b75cf6b4fa6e13c6fca0a40b965fce46a50953527292e445a7d8bc33616ceb7c9324f1d30ded0a30615a4be597754d3895e34b98d343546a5142e68df40223231b620993d4389dfcc63b749a628454c2dca99d53783cb9d1a70d4228612ac1f24936a3de3c6712263f53654a499e2d8448c2a44abc6d951ed3d0299130a9a54ada93529238415d410824cc73f2ad68895595937c2121e4112615dbc12c78ebc8571d611c51556147c3ebae343212d208939237fec7de6e747f16f88e3a46983574e712f7e753a47683ad98095984a9be664f09113a5f9a1461dc2afdde922d43084984f12d88fd110f559be60b421061501339d5d6a304fa1026e5676184889d14ea670d420ce129f57f5af4686fb09dc4060f2fe3e1800b88c0460c420a614e416457aca93cf1d4428844bc043b69d6860cc21c8d4fb7f8ded36fb081f14c8410419894ac1865d5694e548d4748208c5727c40575b166e6df60e3e1c56a7811811a12c8db4008204c9e83dc4baa523ee9c23f187c6f2f7d75fcf436fbc1f8793d6efc6a37f8025942fa6056f5554fc2c4cfc1021d3674f4502b0784f0c1d89aa72147e5bd0d295e0842f66050ef222f97baf5604c93d3e657554c92d47930fa764e527a1227976443f0602e1d96da41433ba91672075325a9f6d3e332b3437630e93cf31eee3b75308839154d6a9c743089bed353628721733088d6584af9da3ade192207739fe8762586c98e268f83a9a4f73427ee703049dfa7647be45dc9e137182ee73fa1dff3a7b2d30de63d136959d467562adb608ab6dbb9716283f97e2ce69bee4e92a03518aff49bca659ee48b1fd2b1238cb2e37be0c8103584a46143d06090a3c7737b505b9f82637c056ef070096c51c30f2167b0911c2166305e292984895dd8169d1b6c6b95859032183b2f4c4ef2f5cee8f0ec082164306c991c46de76e8496659c993848cc1d85fd2a588b6c560905f4a2541871d7b7f43c260fc4c4bf29da3166b7d4308184c26ddff59ce5d0af982f93cffdb9ea524ea9e8478c1dcaf575be229c9d3fd065be920a40b26d9567290b6e7f6c1bcc156638b1a60fc17660316b040b9f6102e98f3e8c9a6423ea6a9470c1578183a6e15215b309a9b7bd014f9ee7e6bc120f5b288b270557a9205839812e229ec94a5b160b80fa7dd61a28f82a854d2c42251200c86835114c5301095cb0723130000000c1c918582c1684028cbda3c1400034c2e2e5842381a2c24168b4642d15818080602218120080a84811086a1300ea381b833bd00102b64559daac590ff12b1ad16ffc03ccd8470d8d3dbe6451bc794a4d163329cad3e7b5c790fe2f6add0e664fecdd9c2300d25f0b7558e3914db6d9df6c287e9262c2200b389efdd816fb322868b74d46a57b74a1b9949231e03b187c9334d8c54be7d0c0e8cdc90d59bf800e4bbd24ef8d02901ecb91c4d425fb1b6111b17e3ba3637cc52975ff24c2e62774fea8e8822b2d45603c6c2d7c9cb61687b61c0479b03996490573312e12428ec08d30dd57d2a2e979f97991455aad7f01db7525b16878ca26942c9852431a2079956a39cedd830c7e97b9359df6ddfd91d21f6d7f8ae78f23a65b6e59222391d0e2159a5e47b2708db7dc7a7503f4acfe3b906b062ee054addd26a652e1ed08da820d36b4f57180800ed785a06216d746ce7f485e7e8fe7714e2eee102d2f268041017f8f21181d4721e1d91307499cb5ffe98e470ff0af677c48a8727a8803cc278351957ea10df654ac2ce5924ad25e96953b830fe97ad3659cc5bb21ef4c6f040aac9524e9d34c4f2758d848318d3a58f72761ec41eccad6099452fc1cfab8097676b64288cff2101eeaa713eea3f06ee22dc4a86f034fefe212797b773cb9c272805a1bb6625ed359e3a4f78ae52a2ca14ec10be6885a69a51e43961c98fd033b4f64706af4dadc9f4f9a75211702e525e8868a15b85db1f70afcc82023915000175aee1dc1fcb5b6e5a062e9bb2a0ee9f32042f4faa9273e6cede43ed3025728ba9b776d066c637768caf3e9ed3b3af53515a6c4a33f890a0f520fec215dbccc233e6db1802cc34250da3636034a4621275ce39923275f86eacdbc5324f6ffdf3ec742bb77618150c065ab439435a05d128a55e66f9cd53090e744412b4e5aeca6f40cf5d74a3ec8ccd6deed87300834ebbd2acad2eeac7107a9036bb8573280cecfbadc37e9bcfacf7ac3b0d03fae7fe12e7a2237983e30cd300b05daa776b08907d4c2251ca928871f6bae10b4f2213bbcb08e263fad036648820f693a704325d7ba1529847246601f48789e308e29966ad497fa08d9dfe0bd7b6c709e477139d8d6bd4e3364d273ccba72ed5bbbdc2a1a8e039e13f19a6aea66803c8545be60571f12188298ec58b61603d6534b11c5355550d257947438a83e809df85b03104329caeaa552e6fdbb97321bf1c2160cf2c9d1cfc2a5bb4099696521fe613f17c0a0b38b3b902342d1bd1526103c6cb863c07983acccac2ba26822dbc657e49d79408b957992d6a9922b00cfa0c17dfdc3a40ad8bc8570619bd4bd60eb6a337c300a6c76ab2224d63a25a840b63a79c53211a322663e8d394e06a38fbac6ee84838da11feaad4d44272b51515a419c1159424b9a037b770ac1be7846c92942b807b90f1b51a5664d39628137545ff6d7142466f2852e41de004a04745114ff653cd1ccf9ca9210c00f4d8d6ec219650c2759b8ea308583d369028bc5255bfb4ec10e21888a086b63159a56e02738fc81c6ad6993b088aa861d0d4fb402aab51673e3caf749e279fa43283ed11937e75a70b2d0223a581568b38d64c9453f2986ce79a8a08b12ed7a1b74c29e6381661d4db10b26888784fd8f62c99151ce9ae25f67e3ce8a8c7ae7846a26d5bca8fd60426073c77fc681f20b2b20edd4dfae2cddd55f359055a9a7a805d0b1e3da035fa964cb747f51e9ec1557dc0c48a9f682855dea8011adeebe94dd1023c6680b6c35523482a641a4443663996a7748539bce4b8bc1cb9ede083eb075aee848df4d325af92d18dfdd5ce0a5b9d214327b71009300a651df6316456f1ecb6151591381174195a044155005ea9114cc2e6ff9970c34d6cdd23c30657c262543531ae3b2f9438ad7883b4558d83ff37cae373eb826fa6d639b6709e233bf68124c0eac76c0d7d25b8597f0f5d258ed808208d9bb858b752616db06dbaed2fd5f5934ea12199d92e3a0694bc1a2c4236794fb8d7465ff4a6a75408c6745523acc8427ddceb4319203769b21d8be92ab5d2c6defcf47c5b715032880938a0d76565749f86bf73ee104b538f1bbaac265f099a39b503e8f419cbb107e68c9443dfab69a77f6c330356b8e2b8786a52f6918ca5d6b6a780e3502830e054bd231567b6e997f43e6e22371fecd14c8579bbe1d5307835fe9202aa1a29015a2ddc03dd1f5b0afd34be01148262307d97ac7de90342768e866629d492bbb4e812177a0c23a20785886aedec2bebf4003ec67646532fa17473116255a2f6d01d9824e02217f31b62cea41416e6986aef9a1d4bfe8d65821c5cb0e264a57b2842b04685db664f13967927ac0ff63cfe27b03304b4255203b99894a30c64f02000ef7598d02b49052d76dcfb3be06e6ca8189a55235c766124837940571e016dbaada913140cfbe37826a76ad41617da9d8b22dc4e60edafe0ec5090ff837768088b65fee4e45ddb1a68c5551e6548e82738ac2b50dbb7404d74f3831afc210445c296ed5d2535594ad2ba2cfdb21ae3b9e2f5da3c10324f9f2ff95688702080d7cdd18ff3daf88dcd98676e3f05d327a760d58de0685a139e003f9c930bdd54b89e205150cbc4ee48a436c6637c576bcef52829713345cd7b42115f08162c1763dcff30377e5b2b974aa20e4b0f7b74e147be943f459c8a68db25ee4fe0c1f608b60619c386a2b317b879e321082b91663fb84eb13ed8690b0b750a95c77b17b7a63bb3c6013619a1ea5ea813aa437c421e31e96c2c384cf66d39644410d076844ec8b82198450e613754b1ad15c90a95af4de32a98f861c8609579571deede37e67d14f099831245e93b04b38bf2e12e92fe7b165a3b1bd104f75fadde93af2438336dde14058bdeff04aac424b55be738cb64d1b1e205067a302b846f8acada45945d7c17581cdbf848adf84ad65e59f9e342f34f3642f28cdc4d6e7ef2526bdcf0afaa4c1fc5cc8846b6be7e62a40b6a9c9b6bf3d643b1532695388139c619892885e8433eb4125189cc80779bc4fa2e9b0544657cb8f0ea4427444e2826d4a47163a491d57c9867cabbacd32d10621946a19b443322b2b16a34a42cdbc6329b40f8189cc55fd80ab68f28fe838d988ae6a51fc3dcf62d9f07c529238888586cc28df2046d1b34ff758ba4c53daa62a78d885640817b3f778817e631735faeebbdd3ad5406f1a003f3e82be223956c49067236a00370f1875fe73004752ffba547787f98d9bc5514f652215dd2b9e2486e8e2901c4e25de0d7ce8212c7baaeef541e1d0d31688acc80d4e60ca9fe01753bdb398e1bded9b112a797240135c99130a711d08062f557806863d562e6f31a7db7fa5b3e311fd8f01ec23f4d3fe6926485e4bc2bf554cae46721aaf8211ad4122e71d52d1303527038af64b0261aeaee4cac1b5a8c9dc3da30402be72b4261471cff23de977745279358480866d029b4d21b46f96bf84177c9cb974d24d885e452849620468180454e3eec7ef1c4bb4cd5181630ce6ba5f2c01d3a6d8db6cb8103e28b967b12fa711f98b23c7a2bea7a7b6a2759ab7458c779a24a240a4394837b49bbeb6cfe0572fa43ee59e168802ae816e481fcea394919067c45c4c8e1cc4fcddbfd91eaaed356f30d896c74d411310d0ccce028aee1dcde2684eb14257c0d01d8b84d39dacc428f9adc81392ee3617078973b406b52ae52973246ed27accf2e6308082075de3eb16db59ea89b5d7b06a4233a2c3cd0bc9abcf47bc490dfe7ea1d23a26f4f7c65823556228137e7d22c298a660b38e512b5f9d1cd45d3d8d1a24a8148c8d1a6cfbcd9030ce37ae7e15267e5b328abd5af2bc1efde3cbb3afea7a485bfe61206ece02a4ca7bbfd709c85d563075373c039411502b9d19a127992f047b6c4498c910684b6f69b503272961d709a7fdf1457fe9042c17123f2c1b14747b5178ce78c2f741c40bca97864221723ec8536e75f26b07b5511f4e49a0a99b52a0600e28b91dfe1ac3c4d82a8dc4f45ad965643c1ebf46c6bf082eb5bc486873a74d53611ffb74717a75152b660c13739e8806d021da25978b890252bcc21aeb17439cc25352a80cb8309b5b0c62701c3564ed6207e7d0d462eaa77ceb9c12c5ce88761609bdb25f3b25dbd766fb8590d1b5dc926c04c3608c843b209807c97c96f193681ddc3f8b0814d30ae91e6ce9e14077ed567b8a9cb4a4cfd2a249b753509c8ddb28942882fd3cc8f2acd5e184a1ecfbcf5e5a3a5e621e265cc40f75b71ce075ab0f61708439cb2218f67e5c690843115fb2582e1a94490ee3d2088846fc2be6afbe8e6fc2bf499337b783e85b290a413b2e378a5251d6762830f9b90316550abe125f0b2abf9baf271dbcad6bd5da5dfc15d4e985b9b2713db7b21fb6c72f0769eabae1b660b7d8f30d8a9309802f6baf53bc3419b1deb70f87402c7d411b0a9c23d50e06c8b8bed1026c86c49030a3b2c126c0b33d212ed375a9394d5038fa776e8b8ed7683a124b0f2f0ea4ef2844331d8c3fd974ede6504f656447c00858920874a8931100483dd6347b03efb668e1a623d737a100d260f5cb94c4c10a49a25cd7b5940fde8938cbdd798e3f0987d5ef85f5fabb482c90c1ad403034fa16105c20699c7f8e9a7c1f0e8268312640775cea21b0025da2eb8e37afcc593d01a155d7515886c33c79015a25a586c8ba926fe779f847d7579dd3bdddf298b33a95c9348570847ada0804659a0b0ff650b1bb59d70a943139ee8a5d927e9c3462e718e2923a2541ccef6a70fb45b2a205fd73ac1681e24ef47029a3efc410edbc4d58f74a7b74085cf92fae3ac2161d7c88108d7251bf37fa1fe1888fd2d64ce6d6b8f5db0e0b8dd126133ca0f54b285250de3784c7d56d6ae88ed6db67e3fc25a92a2a49eb2ea1656881a761d30af547cd7b01190345ab7f6ded1515c8f9e6dcc9a2052b1c202736607c0c5321e20e54a6f6b9a4f325c206da86e7c4233c9c402572d9416e2f0d02ed7606f7519d349efabdb20258d0c399b6986098a88a7966d8195b096db8ea86a9a8310c387cf91b9db1afe54ca4c2c570e1d67bd7e4c6981ef4bf75d4dd575ce3e9f5ac0e7bd1464b6809b03bef7a914d23e440f0bddabaf214561e39df35cdfa6910575e990e87e70a8dd8fe45aa633a94243620a2d8ca4c8c24925f068295696bb90d2b95057a4695c18f423c6639387c0d5711246b5f4dbd72c3f50e5fe07b70f19a6372ec913a70952c5d64bcc47d52a994fc693a0ce1f580ecf48760ee3db3ac5a61d980035ba6113c7c5b0f94f5d2b8fcc4bc319b2df20177a9a8126545a99122b95b0e96e5b478f12bc4d3804a1c187f6132ad9fc259e0917d9114a7f3147b2b34a89d40aea5a115c6a4dc6701b2f18cc71e16454708963fc1d4fbb64f891943b295db234125693531493239a7f3a4cf761db9b0869e280595ae9affa914b6c3525a6e88853c4603475e5b6ad34483acaf9e64965ec9dbfca3171b7c151ff8f3133c1f44fbc1f12d138569a727249a8c52f0ec38200609b0eabac5d998f5924a1bb2263bf0d9fbcab1c240f9154f34c5a3ed43815868405bece7ee48109dee4f9ad4085ce43906c3dcee22ae39fce30f2541b7a92f42e82688ba4a86151dca82ad93e01918bec3e1466277c727090530673817d1eea988ec6f944c7a30db8eef4e288333fff88fbeb8408550e9d0da4030cfe7209330ce882c236760410f322dfb81a00cb2111937071f6b91721f0afd0d61e3328c4c0cfc1a57802f28e96bfd82f5ab52e0df6214be81304061687f9045484420ee3075666a30df20ac1208eab9a0111108ff3722efde4e742fc014e34af14b325bc00c0e908f166fa313e28423f87fb0448842687794798dad4913a92225030c01b4a1b5825b881d0ad61c207173bf2c8691922e33af3e3f9e4a73785003d1af80fc5830901cdbbe829c2a794e98d164238f89a605f9cdc7460f5cb52c0ee694442500a4c332a2e24c6e15a27aeb9b88fb0d2e2503c50a7192b2d4cbdce6458604f6263098260df3f4000d38f9c085e54e7a773ebc5a11f816d4509534181be01f20109a1b861eb031c4267e09ccea7f7c6df8940a377a52fea9821fc8955a3fde3b8111c21fefbf8f03e38f83d63c3c8072a84f286513fac8cd2496e190672b04a9e0d0301b07e83283581b8815ae069a3c42133c1e542134139c31b17aeaa80ae35a10f0313b36e1bb2e62e21456b56bf6734b7da121b28049a753378631d94ceaff7a28f1b7cbe362ee80b389db8bdbd5c1d5acf9e501161e4803d50567fa4235ddf475c734ad601a53ab1be78c05f0c6c8615999e2c72b041560117138fd1e50cfa94104abbf2f9ad8e02ae81065c38ed62cb18bb006cba19c073d9efd06f941e3af877487b1ebdd0fed02970dd9be877b0687f6264de5e7f751802605994cf784420191473c6552500e7996c995597fb20fae6b8eaa9d79d1221fc9b82d54b5a2c1890072ed54d4b51c4d3bab457dc037e35fe5bd5d4d717165086982f155c451513fd272d1f4a680be16cc78abc85c40612eb7afda05afdccf2bd05235ae8aaf6864bf3c28d7b2acff647873f14bd0a0d6f34da6bcb95631b6b977f0468c45a79d55a4a51417e46b40ad3da184c6babd5749de94e1700069928e3710a6e57cf6f0e6a2c5d0c2e1906891bc8d019d792ad271ea5042e5c3af9ba4206738b829e120bb4105d727e0afe85c12b4494648dae8c5ee62a77b6caa01bd4800d00b8fca66b4052369ce03b0d4045aca0cf65b0b3d445ad408307d109434b3cac53a7453acb0da3dc4ace11b2164dc9944020481a5a16a6d27018269018460eac77357f66fe473b75b6b253f144acea5191637d75629d6aebf0c42d7a583a7a36104d83441dab49e08365657c092ae5b10296cc4491bbb98bd8fad2787b9ae4a79546bf3dcb45d14df2253523c0f405b36a5c6fa91795b7ed3bd91e9472eac67259540c360e8fccff489ee83f26d66d5df7d174142f2c68459cf08fc99fcb279551ac5eb3189b32042058fdc34fe9d345e2c946140ffe748c4e0e6d82fc3abe3e60b1255e3d24595728b606da55a1269a102786a58500e209b5da415c0cc7359f5f008eb8bc7d8e51e0aece8595c4e81cd9e43002b88227d0219aa9fd861814dc6ccaf85c07b98431e489f5fdb1fa489de84db2e35da9944a4ba63ae15934086e13d85088a57f1cbe8ff5747eb7904acac79d98531436aed2d8d5e59e8a2eab6045f3c92622f69ed27e1b96b319a50df6c7664650ac947f239bb2e6260e0e2f1690d97e96cc8eefda40339854cb9b3ec6f40c3f81463e0a3f55423a96c5572a9a8febd7400abbe38bd73f012ba933a42a3851f22794a0c42cae7f1bbc497b04e4b25fc841d36441ff393ba4297c7a04a4c44d0f574dfe49c4bcc1dfb5ba7a4f0f5c6825c2c7df6cdbd3f291b3cd261c8d15f055c572acb6fb3fa63b602dff7ccfe1bf585008d914ab4b2220cd3d76d23462c364c5bd7dea535ba434f9185a7cd809e2d29954b2ac31027d4515742ada525b115b84311c87244a5895d41ee24e3d96a0277d80ffe1750be47942583b8a08a88bbd55ee774c15ae17d25f86fe5817f58475a2c591bac9fa7fdc5eaf9f0844d1dcaf60a5406808538d9205ab4bb3c00ead7b0712199018cf127ec4cada55dc49e0cb6d8d8f3f0f3a7c2d1af2eba992df7c94c0659122ef0bb8944b9fa137c059332560448f502f6a2352a9af683ba45e6b22c8d7e1b4c35b641f78b481de08fcc8be58c9a63179fde802d299cb0cef60f5a3985ab0489ac4445d08909ae5647d645f9f1f56ac81e6c82eac11ac721de015c9d0039345f24d25c18a07bdbd7bd88e20d368b8bd185fc3ea9d39755b0a24d1d5b126ee56551050ca23b1cfed8e7516852ebb374c3c834bca3cde349825447c552d01196fb19863a0894249e79ca091f0f62abe7b91bbe64904b3442415be85a15793a3bb723ef48bb73b6d7e25becfd93fd893602ad10422904e34f3ce66d9c984904413104d1291277c1bc24afba6a898c72008216942ae8ad6a68166cd9891cf30944829228ea45544ab18cc91d07b2652c7ed6c7ba4300639e6d5dbd5fb598804e0d82987240dd63ec6a73aa61bde1856635503b7600cbe0404dc1ec9e0c450ee43f948390d1a18581abd37ce33906094cfb8bd81a5d13be32c03e53be624f7af7d0a1ee71cd9f5372b63dd82ecdac54216ef691225d1e3dc3df4084cf16fc8e31add4f2491dfaba13dece22e68d75a08ed019fd4275d8cd16979d38b2333b3809358ce1cd1c659fb6d2cf46e5aec86a53ac8ac2ace520a4417b5375484f91b8918ba399c3a47887abde9d33203c212b0742dd5f5bba8911a3031d7ec97c8e2479d894165ac2f641605b1acf96af2adef671b3d56082f74076b8d95fed5b40715ffb31be082eb15bce8601f6d2f1404ac2d036220a41cda300582bceab6c29b115080907497d25fcd8cbb77559594a446c4a2b40c69a75b097f65c3d5fd332b6d8e00ca707a361aedae55acbc1be9038ec92fe49f0feb77b0fd226985b0312a4b5556bd590deeb8d8e6bfe0731deef2b96e4a06e787b0ff859ecac08eaa7c9357fe08183f46ba25ad5aa2836d2f9b05d72c323131f175168cd08b55fe0c41d3f9225dafc7ee071580829f247f2021a0db8ba428e6a39035ecc8c0d40c5bacdc78a08750e9c177fd52d61c15a2ece8655a4abaed4a10a28701125c912ccf4cf76789894477b2574c1bd4cdb6d29944111d35d0b5cd1c5f090cbb2c4e246a8a72647148a5ea3c6e45f7b80d1a2de4ac7c817f164540ac96abc674b564839946990ab7a5acc11785801a37b0c97e41e8c727c70c63ff0ff67b55874f5ed15b6167e8c958b11fd9cace3c4d4e03a0d3ad1c89ecec8b0a3bc613e2e1f111ba4579573b51b73349614268bb36b6f36f0f264c398c6cc77ddb2dda209b569cc55345e9f408202bb5f9b528ae08661780d33bc525b33dee6ec12c34e6070b9ffcb9160d224245f8a6f56f07ba04ca3422591415f44333be33261101a7adf550a27301eb643972dd4f4b0d91bdba8401159c87b8f163887b9e9480e61887cb362147999e616047c435eeaf127b828c60f20881391c22c090c9c805b367dbeac9edd153522e9e0cd2fe32ae200fe40577937cf70c33a44d4719872fca128f1762b4bfa31357524496e3cb6f3edb0187b4557e34a70873befcef5629c261f7a50eddc472bd66f6258227115f2db9ba1931f7225882230e94d3359806d6e11289fa4a9f7c0c724202c9912dc48d0b568ee9ea267dc80eca487681d48c8a1e546246ddaf82bc65ec2470e78d4fa38f57ff631851746eb843379f5c5521d32449ee7f3ab47f8c52fe6cfa5ea6c88809b80c80cdc0f631c4a02d44705607beabd01b5954ba55e94d07592b27579549ecd6f295347d04835b05c1f7b924822456007a236f2791e16e39f41327947bb1da6f1f3026e9e0f465fa2d893a630049204e8701d9fa68bad2e26a9d334c179f384a0a7dc8217d165e855ec08481890a391a8a55fc4675f6fa0f0e1591c1e254dcaaf886a0a0b87386665ee40b50a1ad8b0a627f6d2fb9e937583af4ce2aeb1a49e20bde17006748d0a62720b178fe1ea1acd4a31c0fec717152e53ee7bf5c21ccc10486155e026d2aafc053c176d30244909e9d056a1b727e80f3eea8e887b7af532eafb08269783457a35234e30e25b1fe22ca3f91c980b9b4fd4767879964b706484cdff2a4db967bdd83ea2c47d897f8cfd16f3e96f55b218e9bd234ba5fd866814d034f1fe2e6a2e188aaec8a10e9e95e326b3b9a79b15af2c1c42c3d36f030de44d22bfb490c44e7c6e93b3af8977bde2c60d83000a0137a2eea384e9724e42cbb19de44294a6cda5ccbb18a7421bd6ba284bef92bc070e72a7bbe50f3dd0d85bc2476de925c695a112761592ffcfca01dd1819fcc1911ccbabf14d1891f2bd1b8ede82bfebdc8b24f0b3751b5b7444aa768d8f0892d8a4c4339890ba8022bf586ac4349b272112daa3be73d2b913aec09b29fbdd02616b0d27075e1db84d4428f41533438ca7b45636d080df105d14ec4a58ade133931de989e0700757e9e2911d78912513f1de52522dae29051fc7fa2dd3a8e86edb4fff8541eee4c458c68887530ccb48cb094e17d33bab099e6eed9f7a67fafdaeddc0f67870875feb639219f8f33990d60426f39eb600e9c75c4c86ec05ec073810f04e9891139040e8a580c796aaf660a3c719216f3c4ce55117fe8b994352798d0b5776ed08c8978909326db902e30863a5f3c9777c61d5cde5fc994d7cb1c0ee41d9fd3f32f27dc95f907613ab2ca34af0785bac6f9fb2999ee69cfd0a262e1a98b3cfbd451f52ca87c23e223618bd1856056148c2249ad30faed9f5fcd3315a7b2ad1c7d20b3dc118d0fc464331494af20dd225b8e22afd2e998644c3d710f8bebacc33baac1cef5606a03435da2229aa34601d9dc03945bc95b62e5f85dca950650fc32c1783da6ffa8bc13979879d9290bd024dec482f4db2ff8242a4529efea8016a6762ecde6adf9a8f21123184c1b30e92ed2f5c166d9e8128e1b88d0e1677c23d17d82743f4d636619f0dc51e375a0a7390c31ebef9f66051295be6f60c8defc76a804b47431343dc6af2ccae68a43007231ae0d54625e58aaad54e67db537d3abbc6376f702a1ac311a007b55c8a8b2c20e1fcc76a06b7c3a1f6032987ab38dfdc025a9cf446f209e1f90e2605ae3b5070d3ea1146430ce4e48f36881c2996515bb8fe32f94a4f2d149536a57fb1546a210beb1d40a88f81bea4ad3a0be2006be1ed48b1f41711ac50b82e9c17c76325144191e04ba68e94b6be9315ddb0596fe47148d418bcb7bc92d6468f0249881f130f46ddf0ea579d7b4f2b6ce362b3223e0d38b43d878ebde519f3b433b4e1a87bd1bb9f97bd70b1f5cb1ac633052f30cecf1be584fc6484aee4ab852044c789f4f3efbdde49566e2af6da045554365f74c29d804c9b990d9b8abc90d2d67ef502b47d6ed1175aebe85ad6343a8e0736a0002bcea50be8327f79da9ada5ce3a0d63d979d814ce9911fa62b191f81028fa9dec8829ea20f957eb006c5f1ed3eecfe04cc2637e28983ac6eb44720b15ab80183e1771ef1eff95c057c231931e589e6cfe6808ff9391454bc2a3b1dbf4ad2002d2314d57a734b40f25623a1f2ad4a1341b497c05b917e47cd54b5ab4218669b8852674c26156e3cdf4b14b97537a336dc18fb51f5ff1572ca16a76feec9fa0a4bc4c7bf11ac9b73ed38dfd0a3bacdf28a3f72b9e950319fc1b9753b2a4966ca6bd3d804bc2c555212fafc809124bec86215f32909302453849fae24606867b641242541bf049b9b5a777fec72b685ba698ad52e1bbba26a12164e58ad7c04edb3e794a460fd7aac9ce022bf0ca06b2ae7ade93ec07f283610e6af5b8b341d6c956ee71f7025068aff82b0008da513bd72c188a996d4faa1d14a15c5a5f26e7a1288b4bc6665ab78c29443eb61e89e102ffa4b52997e7cebcc3fe1f83b48f752131a414c4310b561291a8e42d9a54b44e39c72b8cc39bb07c5b7d256b4a067a4df63688e5bf60ee75991af6a9e033326576accddb9d0cb662a36e2325d3885cdab6210cd693356125ca705b24f8d25e06556a7111186147ddab64768dd1c6216a52dd6d8af37fe82470a3fea593ca9b6d992444121c9d326949c33e8cbcf4165f33d833bcd2d010be77a20e704cf7e158bb9f1d1b5ee04c584ba10f3ad6dbd23a8314c5f4408f644263e3cc3876588112a1d0fe1b85973423af5c166239b60e36248e75790fd92ec5b8f347d8ede5443fde367ace6e1cf5a381177b8018a1f580acc45a1eac64115a291c1e2e994157a2be0e73084bb526d71e623e44fb66528218dba58a9477ec5a742ed9b0fe73f11d93d69431eb578d1308312d5c09acabd09863295e8ed3415f8a5b8276b8bbe92df15931963d19d9234b6f2b813724ea2fcdc069ec6a5e57867233127fec533e464219545ae30bc1f6da3a025941b02d89aa7511f22845351b8bca38fed322c2408680f04ca0097d1400402a51cebc0b11ee7ff2ba7b55215e6a6f7ed66ae54cff9314c582ce0600786cd9581de0e7f13a737d958233c33ad40fecd8c96f1f0a5321b4a1a419001a5b34860ed8b85fa72dc1d4a3972a6240a14b0f72d143d8325516ac7063c72a30edcab7f97708ab2ea7e533dbef390926f2d598e0d64376b2b33498cd75802028c5d35333ecbadd80e09426c8b2b837600da05762c1f30ece36d509cc10c3af6a7d1049d79fe70d42cfc292012d2e541cb8c2baa581379e8a42b2b97520f98a5508d51b8c2407baccba6c4f37d63709221df14fc2df094a3b80e44500aa1cdb2e13db56c3fa3dd813e17e8456f5b9b37fb099fb6db5285c5d477535024e26382cff714e8d07a4c00c78142bf44c87a01da742ffc92d63e79aa9b182cdab6b42577348eec0690290017922bcc0185eb86780f384f4a929aaf5c904e443d82e89de8666d339ba17d05a430b7c860565467d6074fe03cd27dbab5702cacdc02c42f0ad23daa3b9e16efdcbfa89c6fead6397cd7d2d50c398412a15f6ff6572fe6a8e85e308a123d34919c6ad0cbc44c62edb64426c355ac010cecc4eea87dd14d7f2bf105d75b2d496ad17574f105c1093bdba0d99f3dfabc19eceb5f03a750aec18bdd835d28b272fea5eb3ad7b94fb2c868be3d482c6c11d06a8c65b2ee98214342b706cf0a6202a318ff942baf94e8f0eb7ca831553caeaae7f97e8f1d1bb419d1a8e9db0604f3f067cf6fc06a79fddeddedd1a23f19736b7fed6bd9c587be9956d36331ea2fd9ff5cb6128efd40d10374c7b6fd6112f5a3a7ec2bfaa1daea9714d4b352f25d82383287d52eac11b3ba0f127e5aab2fb544c4e6f2684985c1aedbebbdc98d134bbbdaf2307b9a683499e68d18fc681a9b89199fea9f42a4f53a1fc9f5398e3128f3621496c46bba83402cf24a1312fda16c43d45cfd0188be6454e62daeba88cc81a5ee69a7af935f21307c865c66d0610094ada379133129e206dca49ff0685addfc9507576241a3662094f4268c80c97f46a880ec647f78315285aa94e5e0d0e147fabedafc621d630f551ff46be9ad2f2559b4ed5103d0a4cafde1814f54b50ebf297d85f46d43df20e04f9f9a5058adbeee2c71ed1697d0ce7baa1a45c1ce961b2b35705e8d2be5515d8a594fdd7b7891b32688ee268052ebf25e3b325ed44a2e87c91dd5bf806871a87a0b5def3bba3066745acc4425a3ad0c7666b069d9a0b7c175e10654b60c1941974ce46561180e2a13180b02dcaeb1471d5213b0a99fb190f960e62fb4b5f68050925175adcc6c753e122f0b024131af60662da3957c2b2d8227001450be183de7c249e773d4758147a9e8705d8cf7e5dd0ce1c9eaa9280d96e0018c35f96f27c57c28b493e203d0b08c7a744c9a1278d123ef80958473b7607d3fa77c6629c40694c286b6faf92b03a09c9f20dbb4c063af1f07c85de990ef66d6e68031e90d9bd2cadef7f7f7cb9f836dc995bbfe222cb5f6026b52fa585e7e879c42a197b67fa624e3650888bde4c3c4e2b847a4532baef61edab5eedd1c657a30ed8e037c4bf9f83d4d48bdc2b1260d18a1fbba0d6b289b14854a0c95ed949671f0b0ff13998e86640bac2b01d9feba06e45256b20b44842ee9d7fa808ef57ac5990dfa8c8dc48ebfb381119e161e4473c82d18f29b85d6e1a65ebd424680c546c9fba91d759c71a8a46619b78496cd6ad852b9b9b4820c0d986c47933236098a8fb1f7cb527f6f80b183cf9518c5883398daefb76573d75b1205234d0c22761bf6d57dc871a4d37dc6811085d250d90a5a13dae3d0e48339003daaa56936f3a2069e21ed90c9bf455fac42193acd60f635508477993cd40c40ed2615e5c867ca81ed72f208a02bb4949580fd0055502fd34a23b4cb39db667080e9b3fe5b9bbac5354143548dd83101216278bc0f0f51dc83e25c2e25ff4225ab65e7c5472220ca3cbc47c59ad5f9231b9b103aef5e8fe20211938f2655584ffe9938869df0f63a71eff29210b274998f9867b25f28c1fff32281baecc1d11663e5a3c658d9381425b1f82ac5391c80d060b0329480cbe85566e0b38ba33536e7b677b53363ef0af79a605ad767cf64eeebc6c924a947f67b9aa4ea88dd2dc9e735f7ed7692ed2d7d75d9f1da96a9dd7af7ae376a59919efa5dd0250eae5ef1afbad4739637b81938686ce9ed5ebf668a344d3e36cdf5e08c75dcce1784e47ed4ce7635a4796e17ba4e9cd63d2eb20deea2d0dcf40246a77722b6f51bcb103af6fb22ff47cede41a2f322a8e79ff6b8ae56f3b406861bb84c1a03a61583544285704d53ed46ce541d81bb22ea9e01a7f928cc1f10a49bb49901ecef8a80f0a79c09deec6e025c7d64b4fd41950224005dc31accbced4cecf4264f25c12ca5dc4908f0acde6bf09bd438f472d41ca8b16bcbf464319f57a118f622ebfcd9396352d4aad281c3bd80b97a509b53ad312088e7f6834afa73cda9d3fb94f1b3e0b866af7eb4816987f1b7c48a1068db8a14885553ad636417c8ac50b999204ba40a4203a7032459ff819cb79bfa010143a76db3a84063df6e7459792aea87f2287464b8f05768e981ad237878ddbb4563cc296637f282fa6a54eabd290fb3e0a61cd3e895bc1d19f208c9f8d374e6c15fcb36652fbfe33a058aacb17824dcddc5b3e473ce342a1364607c8aca2d1d429e469ae837b59b03e56a3b81e2d79b603023c01528ccb4ac5049a883514df2a2bb34d842e91a057cb0a04fc3ef4f4a1639263b232c1acc58b9f914f0613b5776990b5fb28434b8cf4fcfe9cf9e7c864cec5a4351354819a79ef08f6626cef0c3eaa6921c6039376c6e81586ed5d0789f4f990deeb2f0a510c5e499f520dc7a7167298e924de168fa2cafbf08f0301fbd633ba3b1132ec9502f14a52878ad3ddc492df9ca5c5e5973bf0a2e6fd978f73eb07e1d74f8b81039ca2ef88c4241b5e77bb256d420165301ff209fa23f229ab8f4163fd6906aa75e9c55c4b8711ace6f950fa6f60346a9639ab5b2bcc85ff8609ddb0a064a369175c04f95143452454bdc75cc6d9bc92c1f06b607b2a36ce35fa3e79d26f5e899161327d9fee39c018a1e8239ea2bcd8d1434cda6146cb9f93f1765e858998893a8ff22f25497e8f3489440e7113927d491ca4f098cfdd7eeb23de1103ad54190e1c10ce1452ca423efed9b237cd7b9d851c1efb3e8237eb8a6f4b613a20bec1230eaa472090f70aeecbfaae364f36c525cefedcfe981c3caa2147077f2575900519c86c3906ab5a46b63b1529350303da4704ee5c8a2356de43e89219e18b0b6f1faafd970c9377c6a72bacf11aa8c81468a774d8aea14640e234980a32a22a3361726bbc368ff5d11450ec3b7e35248e749cd69e9c0ffa4618aadea52640c7e694417b5b561531ad6a36f172d7a474f4aa51144e7786e7696fc530120443d6808de0defece7de4dff446ec5080000665405748b8526d02dd2f88bfbaa65df04f45ff19d93dc287cd2b441fe2d5adb7103b990276c3409d3ec70e290e49676c17d4fae3cacffcc8f37b23aac887fad51e2a701e9b6c404307eab01726a8090c71b196ae6055b9d27302ca01a49dc5bfa77df9713dec77d35a137aa7830abf710599b1486398a9f2238164e2429efc8828b6583576896b8676114b9f9a21b4032c4e41d9d895b4e8c31effa6a27e28c3ce7ee28040ba02e1cc548d2fe3ec17018fc8b2b126360a3edf4187d13406e81b52275c68b3ae945cfd196d9c4041700e01d7286e9a0e8c05f9c386f2350b6ccb3a5debbc33d68b515db58125060a41f36a77ddf4b5edc391e0c1160ff74a4547267b14930e341c3cd802ce1b45ee0c3560b26639ff0000000000000000008ce25022461aaa04cb2425e903a0d1d691524a29a594c7c4a79421a8d1363071743ac37d9ee202a30c4e0dcb0cea088620489b66324591cb1acd2b014620881dc43655901b2a84070862081584bc98190b30fe40b6efd4122a94570eef1430fc40acbcb8b1713780d1077212f6ad1f343e789d6eb0d900061f484a58bcf8755fb79dbd02c61ec85b6b693eb26761f30d361c8c4305395c906c1630f4a079c6b67fbc205b6ac1f3386b13c0c803693d6a1425c5c3010c3c90e2b28208d9a436c24f7805f88004726800041af8c005341030ee40b651d133eef23a65ebec409cb3f5b14ea3f3975c07928ad023be62ca9fedd28114db2c48dbbf146b937320ef8f52b93b88cb1735187220e629d1983be8f98d6803461cbe4b95745edbfe070792feb8e991a1755af31b086adb65e38acc193ded0652c7ec9544c352c628b681384ae77e073195f718061bc8262feb4e7e5d9f4a5a03318786b832590de4ef2036d67154fc6c4a0349c47b1cdd161b428f0682aae8876636a1a7fe33bc0186197c990d2ff9c1c3080430ca400e8b57b9377e5cff9081f0499a9beecb1903395aaee7e4f97cc43e6220c9a7f798db3b6120977fd8b1589ed4d6060cc4d31393223ce78eaef90239c435fab6ea05620a176a4e271922bf2e10abacbc9265f79ccb7081f4a9f22895af924dda02a9c4b54ca985e9d9b44032f9294bcd773f59250b243bb539fb7818ab60812ccaae847675a8fb0a7a50e92b0655ba15c8ddc9737606751508a62f89880e1ac3df4d05922cd516e7226c75ee29a4691b5647bf960271cfc32c6bcb8b364581fc977d4278ccba1f8202d16426919a636327253f8158e219539b2793e15627102da85235a2378124af1d7af4cb0472ec3f7bd3dd1f44bb048272d7ce0cd25402a9b2c5fad6bebcae4c027134850a6e172490fb327728ef183bb94720cd254b623463ca2b8d4092ad15aab9c53f595804c2bca60f916769b44f0462a9b43432530c7fed1088418b59bc4b8db2dd09811c33947239cf0a2d0581549636b6edfe67d00381a8e65144b4cad87b7e407093b1ef93c6183bf70129796a4773cba0265b0fc866d9f5eadf82c103c27786ce0ba7df01395576eba7d3d9e8f12a4893000c1d10b434f669565fb40be5805c4aacec56aeec08e180b4b1a799d64a083b4f1260dc20a13d4a9a929b32271836208e7e28dd76c2b45fa616e4d3e94c9f8c7517e34e0b72dca80fbabf71b1e459905bff629aceb17eb42a0b627878dbb07ff1e4cd589044deedcc88ce9dca60418e397aa9b24ae262955e917fa64c327906616fba82149a4f4e36d77d7cbe1544b11c54938ce9641232ac2887c89c2eefed53ab20081de385cbb755411ecda15546faca076d2a486dd7394bf32ef988a82007f5ca162f740a52df7cae6ce2e722375390de4344a6eb6429fe2a05d1459c555249af798814a4382adee87ecf7fd15110e5b736fde86827ab240a8258f11c93befb5ffba178cf3e3649cf4c6e2350903b9d5afecd9ed1eb274c69be497759f0cd13042564ca34264b2b7ba71347f3fcf81f4ea09f826c93567bf626482a4be989fed05479d104496f93678976aa8f4b2652bad3c5e71c13e4cd17a5dbbb65fb7309d29798952873513ae5962069d32ce1977e653c95205638cf3151417c444a90e365acaf9cd2a55b4f8294f1ba325e9452af4b82309e7263ae8f6c4b2341fe20bee7af73cee52041ce9be6e5c45cce51ed230aa5b4a992d63d9e23489a3f5e0e8d3602a1a25c9dcd5e0e3382d3d2674a9c558cd02cc21873925f2b29826431ef09e16f268220c4b4c895eddcda232288254adea7de0c32a9dc21485763393f93ded49433446d3a072fd3f94290b355b6c9861044db0bf79babca41b6010cc2b06f1a2cc750eb1d1344373abbe60829e25e20ca3f9f736c0041544f7f2aa854a9c664fe5097b2984d230cc00f89fc57cf26ef43173ee5e9dcf9c000f8f047fdac0ef2740cee4117bd9f9e1f2ea7443d547a32ced9b8970772e67831763a939f19c243a5f1e4937c872e995bd453d98174691a2eea9694bf501d4aa1ec553fb36bc5a603615d6d64698f739b9f39a4be9143ebf79eea4be8c48194271f38ac9be354734e5d507a83faa24dcbfda406dd40d02cb11cbf33871b4b1b2ab9a6e27f98db5ad960d2244cdf8c6b7873ada756ec27119e1a48e1b388cfdc963b453d0d048d3eb7664945e90c1f610068c075478cc555b3f8eb0c9e9ffc95ad5d1a559a8198fb359bf4a90c77980d673974f68c3d1948a23b9b25f111f6df8ea1121db59205dd8da611837183e70e9b62fed62d0ccb0859eef301c36fed96e42e9f5a5f48768a1737355e60b3a9d84beac21973cd88bde849e30259e3f6f33f5c9d92b7900e57be9a9764344c5a20c70bf1a1348ed251d32c2434c8a8d2315e1a0bc5b3bc23ba29b5778537538cb8cd95b6505bc1f00daeb9a59fae2aecd1531c8b2b151259b326c529b4c1fc7252408845935689421e75d3863f4161b119a5d2c84f284df3bc69c709a464dff6a2d3f3e358840134a1e8a6f35c0a3d3ac804521c0b1aeb4f4e46cb12c84946072536c86d7d470984ffd9f1f6fdf2529340befe52715aae53fc0c123e25f57a4d5c7d0472521774fcedb530973602c1ddd4c5542fefe9b2085df233a599157ad6240271f6359ad4201e0239a9ec3e9a4d77d7d2031002e93af77ac32515257210c839f25c4cc6deab050804f530b272345caa7c7f404ab2bf3328ede95a6452ab62003ea8b4bfd88e5f573d20a9cc596cfd3775868d079d754af1a23b801d947c4de6cce88060a3cdc2a65851610039f844334c5c2621270e3cb720c6744dd43b801b9c94aaf3d8e4006ce0c8aab2323b0b3ab538a73659ab4adb33272db81cbdc3ae429997350b626d85134a84ba32a1974567b2f154e894e123c6a22456be5e39589035e97b1aed156475f1937e4ac9e5f5ae2025dda5ef169f92a89c56905478cb5a9ee56212b1e22f0bd2636d564152292c5c30d1b82657052a2b868be1c2e970a154905277ac4cf7195424bfd2584c4aeb6ff64e414e112127eb26ef36630a8288e5b029844a2976cfcadd1b7dfcf622453943ae3c84a360a4f8f85ab8a2307f05517532e5329d505476c9e3d27e770914a47c31459eced490267f822445a9602aae9e2006a5f27b419465cd6927da9ca4fd88684b9a2e9c20e8242ee92b95d4f90537f1aece584ab9fb4b13fe69ce17539a65a83a138415a5b7c52f9820ac95acd8a9a2ba747609a2a70a393ddab20429678c0f75cb27de4a95208f4e41eb63dbfc831794208c89dd24d346cf8d9904416f98050b5e6da7a625008ef04212c4ff8fe717dd4f861909928c6a9dd5114182982fec43e6a551b9398f48af875b2891eb1e442f1c81da6cfd14cf98469093ea4b717d7b2ab98611a4109e37a8aefcb9f38b2028dfec62b7163dea1dc820bc5044f1ad25ad822711dd6be58878ced3208294bf467644ec43a036a75da9ce3af234445ea346c98aedbfcf1582b41bd67edc52be8e4b08528958904f4907cb200e82709eb7d3d856c82e50a3868e2d0e004078210892929f9a63eab4ade5058224df4693d788a8113248780108a386cbe821624aecfd4323d332a8fc40bebc77ca53ae7dd1af0f24bdfe789fd47eeccbf081bc31b9ba77c7a865997517850b6cc28b3d68f131b3ab1b6c4d84177a2045ff131d64fc13add5cee2451e5ee08138427dbcb0d91be2b61b6c7c05f88004b62847c7053cd07807724cad9cf6c20b3b10a3e9e5c93b2145a6ae0e6efca0fba103d94c57b651ea5a5bbbcdc1dc20fc2f8869e910042fe4d0bbdcaaa9abab688cf0d44d8f15995d1705037120785e5e9965eb149781c20b3810b4e851d2cdbdc2cefd06a27d9c55743b657af70b37104b9c5039f9fb4f78d106c27732a1e14b5d3d8e2fd8400e9f337adcf6aec5ba000f2840171c86176b20af7dbe883bb10d5b3fbc5003f16f2bb4a5bb1072393974e43038bc4803290821944c917a13e2051a08723575abc70dea940c9a1d5e9c81944c8f5ccba331de73662099764e9a63d213f7a432905336b59381bc2553fda755c7404cf3c9622571336f3a5f782106b2bd6e328b395f84813c9f53c9ba2555a1456020c5f4faf162af953ef305c26512299fc35410d5798160eacc4b28b526f2761788974ec61c622e104f6ecec17a4dba6bbc057226cf97b3e90a329eff420b248f22d4363e88fd0c8f17592099568c41debc2555f2175820e51474b2514975909f5d81245c538ca2fcbfbaab72c20b2b90fdf2550cb239896e356aecefd07196f0a20ae4b7eae07df60b2a90f77c93ce16c42fa6401c3369779a7d2105e2bf56bce9c6d89c8c0b74ec601c3d72e070410b5c092fa2401acbd15fb4473e7eaa062fa04054b5ca6d194645be0d83174f207bd0f1ed8270cbfd035e388194f498e56f5451677373f1a209e4a435e42761a2fa6f16bc6002d1642765ab9bb4a8144345c7166b1878b10482c8ab0afa6ee63cab3678e415e00312283b5cd0a37840062f94408c2f79154aa4a720c34920568a361d35065f20813c9b44848e54d11e474720758a4be215aa5733c546c6feb3f4211acb54950f13537d0b39115ae39ba23dd521f8300449e75291bf5053d1e8f728363250021b353e0a41d814fe32463d5d39762ed82269053e08411c95793eeb9d37d854a0630bfc180441b46d05952bacb5d31b6cace3028238d4bcb46bb3c2f6ade62b666a90bdc957810a745ca00b1d19a85143053ab6c01d3dbaf8080441e5cf39a9e09a3629e50db6aab5a49b8112d828c0072048cabc5c2e7c4ee6c9f41650410e1c356adcc71f7c979333ddbaf958cdceacdbd6ae940f3f902e9f08a5e557bb45a85dd0076269aa70b2829a0d8ff9e003f942c61464664c8f5362f06a12d09341d9b1a3d83838d0f640d4b8d1e2e957b1faaa3ff440da283b2afabc9985ea0de681601973f135c453c3bec1a682cf8107c256ce9f4d06eda7a500085c50a386221d5cd840a8708f1c385c903d72e050010e63a3051f7720cafca65bc9dbcaaa758163066909f8b003512b254fa94d68344d6ff0c1d1a3f4e051d61f75282d6f26e917ef2b04d6628003950ed4a5e0830ea7e595968e69e9dcdb89ca9ed4c52f53af3c0f1d5d703107c29d6c9fc9eaa0e193fb5b98f201067cc8811c44a9d2a11b2e6e896eb0ed053ee27055858b9e559bce9a5ca69e6cf78651adec7cc08194fda6c38c7ac5243c37d80c173a4e0e1c5b7017860b1d0ff87803315c50d729e4fa479b0af87003e1b3e6cc3819cdfca3037cb481603a27b53b9a39e8ea5bc0231bf0c10652db9e901736ae32a8383602b706720c5a4d671da11b6c8b747ca0460d3bcfe30a1f6a20c9331196fa455acde6811c387474d1801a353e078e94ca471a889f1a26ad4abc679291c1b3c0860a72e07074b3c2039d573410b3c8a447d75e38a5e33738031f67208d3639faa2e96bf8243390b3861819d4a8522ab71b6c6f18f8280349e666675f7b6e9a8ea3c78ef2021b3d128e1b3c6c6ce1022ed83cf0088708ca1ee18041ee285b94c3633df041065b94a6c791e5f3b071da0332d822d5a8b17a2cf8180349f707fbf04d2f1bbb1dc5052de02106a25c6598c6603232e9022eb0031f6120a5f6f8ddbb05a1edcfb120f80003d1472f837e8fdd60d3d1c3068f36f3f105b2a6c54993667981a0a39aec148f97642f0f031b6928f8e8023163d43e98fc59cd50041f5c205d1a65f55f9952a8f00db663db8b41990d332d5b3d1664064a60037d6c81787f32999cdbf0feb11b366cf4e0a1e3868d3dbbb41c1f5a208d5850a3b25fd4f09105ed5bf73443bc2c1f5830e4b8e966f8b8c21d3b89c8fdfcaf5aa1fb5cafadebda91d3f041c5d5ea8d1a397c5481f029c4c4528fb2f4ef830a641fd3276490313de7be848f29105307151e4ce853081f5220a5d6979bffab3c3e4681989743f4cb83f6114abf230bf00109b8a08b1c3d4ee9820b289073a99c834ad7c713487a1a2f87b9e48713c8d1b47a12eeb9daa68f2690ab72de4b49845a840f26104375567a76d794b4dc48f85802b94ae998e4c68647086e7c2881f4396516952a460ba57d248154c2f5ce2dccea68cd0d073812c8eda5b2dc7bdc4e7739db077c1c811c4bfaa537f5e1e2c30895cc6d797dacb96d8aece031365ce0d84277f4e8e2a308e474b2cabd5b93fed1f92002514536a8094f6a73273f86404e8b9e52dadd9b11cd871048c9deb4a9bf7ff71104f2a9aee60e2b6be5961b3e8040ccf84956a5f09cfdd98f1f90e393df68e7fcea49a5078f728106c2870fc87aa243a4a55f32f8e801b14f2c5869cdd59431c75fc0860d3e785098e78c7be97585cc9d9e50a7bda4ef85d2e9117cec80247a4f53c3e64e37278e946c50200211e0824781418d1a6de33e74403e51e9a3ae9f3e7240da20a38551611ab4cb0f1c9084eefc99ee4c1f37205a291dd1df4b314ffdb00149c8cdf6f28f266ef3b520e6759633611eb3546841ce1e91b164e829a1e52c6ad150ab1d779daf52f79477bd2d9f1a3b55b220c833a133aafcd8afe5f0c0c145c68294b27b8eef188205d1cbf35eaa982b67055f411ed35a57f91657107537a62b55c56885ed5a5a9fddae726943a710fe49969a31584150564a64ceaca64aa1418c5510dc3d7af494b1537cb39710431524cd18db52c47226c4480549897852b6b1a1e9e2b2011b315041aab061f96eb373a639c62948f1f6e425edd1f4a6185390f43326b19fa95210f5b4ce8cec99f22c918220c3e22f6d1a7d3ec718057164d3f6cf84a78a630c51106412e9beeda6b353132314e416f3389ef42b060fc60005e35d67eb357aeb6533b3624987add2545bc7f80449978a76a5d35dcc8d89e109825e9599d2a7b7e3a74ebc613be9fd1c3a27c83f722edd3b76ce0a6e8218ec83f8ecb2626882949a82ba5cbf1ccbe9e89183029f09823e753993754a3d56c5c00429feac3ae30d7c1732f8c04521c625886fb942c91afbfcd48d218625484aa74e72f3ad53eee70a312a410acb60d1a2c9186e17d663878e0de0200625887b6339a914dc2b752c2d040f88310972e5bbcaad61adfb7723430c49902fe5b4d9e7d13d6a8a0469549ece71ccedc48690206d78e5a019c2b417d4a891f602cc188f2095ee192deae139a8f488e108d25a677aebb598907323c849eff75a9fbc4df7c6600441758a88ca6a425b3c8e08d4a8c163b11063116451c1c3994cbbe13e54a3468d1a32e821831ec785188a209bccf035a13547a7688c4490662f657c4b96188820cdbb86ddfcc1fda37788362bee42aebd3569e89e4a3355ba13c43004d1545295e326a1e1692a04714b6b3cf91e4408c28710427b8aa117ec70c1b17170f4e802c7165b3c0a620c82a45be946ef34f4f8a582f2019c400c4110a3995a4c4145f47a5220c8d71d346ec3f3898e8020fb8ac81bf98f19affd81ac7e4126a5eddabd2b37d862f88130fa4374e46abda4da0782b2bfceabbf731573cd40096c7020061fc89ad74e68edfd2036b70772c9d41773a5980aca07f4409ad33a6ac6ab82a9a43c904405b939c9a8987ce6f4400c3cd4677a3a5cff42c92b021d28c0ae20c61d48a9162dee8b325142960387053250021b22886107efc5655d57d5bb425e36da47d39c14a30e9c772a19377aae5123478d1a2a283d62d081243d76a35e5b7c539b391074b03826bf5e53c6a418722047f5fdd149fc3890cfeada2d6fe04012adafa392cc1f3aa64741a9fc05508e06f4c8f13bb8c8418c3710bc92a9e0c13e895a34861b885fdb29a509d1f9b26820461b4816635d8465c3a0690c36aca171c45083c6480349f385ffbc0f95e94e31d0401ae9e1928d1e9b8da5186720e629e16a294f7bba243390b2ed9adc8adf1cefcb40def7ca71f32fabc7880ce4b4bbf639695f3dbf8ce1b8a04355dd460c44d74d3f99b6adc1da3010ad4499e598eeda3b05032945cfcfe193cab88c5f209f9a8d63aea361252f90fff337c7a4adb936d705e2c5d5130dbe7983cab840f65b1b9d76f436682bc61648b31bcc4d7b2cad291d430b0415730e423d7d9996b2f0768fb8510c2c106e2fe4ee85cb9eb61e20c615081bc54c9f129e4cc5433b74d8c881a3ec407630886185c365f298a2517383cd053adcf68a10a30aa48e398e0a9b3b87be4d5b10830a15883105824e9aea4d21861488b7d1fca2995214889a35648edd67f79d0405628e5577fc6079359b9e403a69392db75b50d9f44e2065ae3f93499f8d1c7d13085264ac9c2e525f549e0924ddf64957bec965082d81604945789ae828ab414a20bc76a69f871cd53a4a02415abe482025b354f79df63a377404928a6974dda2e5ca3102d13d89adacfe29db540482fa187a414de7918940fe1221cbe4ece9549f21103fc8f69a1d09812c42a9be8ad9651d130462ac0cd19c33c46f1808e4b03c32956fce03e8cd062862fc80a496fc62ce9b63a7d0072431da4c8d0c216f73a60724ddb9b48792293178401019329f2761a6dae2317640f4d173e9c39f7fd83c860e4852c36efc890ca72d8f910352a5d16a7bd9e73aa863e080a02363d2af94f092718c1b907253544c88e98c1ac7b001498d8e89efd4b03cda5a10d36f8f98da2c2dc81fc52bb535a4878dce82b863ba712993ce79a92cc86b31961716c5841b0bd24719abd095e98399b02076afc9afca7ad9b67c0579841019f378979ede15243f213cde7cdf631e5b410ab2a73197fa9096212bc8c1e77754686ed6bf0a62d88bb5cf18c62a3f5590929beba6cebe1aec4b05b144fc6f8feed1e6a38214e22ee953272dfd7d0af29dd2fc29743ce1695390f29c923958e568cd5929486f211b9498dcd19d918278f95f439946419015f6ca32bd65764541aacee12b281444d357a534d322050c50fc3952c378c90fc62760788294a7b2d3670dfebda74e90d293669f6b1327c899594d2fc68fc5d026889937685baaffe5d6357177995c87c83713a4cdb33d4a5fa77e8e6282a4339b283dbb29089ddf4016605c821843e9ccd6e839df1f4b90fd4573e639f54eb77280a900a31268eb12a31547000625484269cca792290d803109625dfee61fb19f45bc356aa001862408e2ac7d636386d1719341fa370c231224712f194c4fa94bc11e040c4890f75247eaa86c5c868f3085b0f98dffbe00c311a4b4adcc9b324387f6c06804f9554ee84d3a7a6e2e0c4690d76309994b7e16411e61b1e4b88a60288268415fd545b930124156ad51d7fd144b8509062288e76299772c6f66cec3380431e88bcae9bdf72da7c03004f12d7b638f75c6bcec065bc2280439c96c93b75b194e7d1ec02044e7c9447a0ec620f8541745efdee5f8065b57ca11044f956c6488a9cf29ab51a31144b3d91c7ced9ac108f2c974fb723a95c757f684198b2045b58c39e7f0e98d198a20262da99f45792a1b4d2248e7a1c75e57c4c8accd0c4490f2da464f88551b8f727108926f2a2110a41266188264e99b67a6fa12661482a4f6f3bdc1f6021c0821e07d9e8420c8e0714e8f101a4d250d826062e2d5f7fd46af2b08d267131e6c2dadfada812055b49613a6bde1f10404496ae60b1db54e37bb3f74eab617f67679f16962a6b28da58f1f4829d4e767d97f7e9f33fa4010db94bb35e6cc1d0d30830f44f7e831bd9c7d5042e50133f6404ee14bec66bb188b96eee8d1851e88497e8e9c531e4f07751e4816aa5ea51a46aee933f0404cfab2c8be9bee4052a69d327b507e60861d887231da8e0a329fd7ac03c14549132a930c327fa8078e1c386c2c08dec8a060a0ae078e1c3872b8e08c8be762061d4a6e399a49f1d31c082a8f4cae9973c55ea7013798210782dcbcf09ac4f5b58c66c481a866dea2a5b1595454800d5ca000dec50c381055843cdbd0bcbf497f03b17d5534c54f7a76ba8124e72abe3b89cf1eeb3610d67fc4a95f529ae7932c98c106b2e90a75d2f6842b98b106e2682b5d97935f96fa3a74982d66a881f8a2476cec34b56766870e1b39763c05d8767c6760461a48ea437c98b0ddbc1cce400359e533eaae9bb2576dc619484a57543f315d7a087c1732f8c00b669881bc39c6905e577fbf973210c3a3ddbd5849068256095de69b2f83fe668cc1d214b9cb905dcf909e9ee3e26e52f306706cd1850776f4e0e147982106d6b2348a5f3c230c04fbdcb7f9be9447ef6680811c6d939077167c67546c667c816439e85ca7538e4a9b9ce10592503b751e3d998c287581f8ae169476ab7c577ea347d9408d1a377af42833b840f83c11d67aa23ee58f0bb6f81d5d70cfd802b93c3ba75b57afbea01b3dca06f2468fd245caa0c7e50c2d1064e39a061dd3615333b24010a273fcf4234669e58230030bc4968b1f4f27c6c2532630e30a24354ae7d13f3972f672836dc7a375a07b8615c8c953f494fbce5408e98dd3a37061a3c70e1c3b7af48e1e3c6654813832d8dc6a2c6b17878d1e3c5cb0c3060f1c4d05d2c78c21f292fe145d9902f1723c26bf2ee97af50c2990e3f73d8fce39de7638230aa4b4f144da5730a55234030ae4df3415d1d0b13344339e400aef9adb33c40795829c40fc5c612e07d96b9f7513c8317889ca18d625c76402c1df3b45bb583a6e533396404c9e84b214e35244cd194a209de66d4daf414fc54c0239da973a539b6720c1d6ad53fbb0ebfa74f15cdbddd6e4110837274e4ee59c19462008993f5cc7f057d273a430a308242522f38d7ef96d3388400c379d64d069a2e49b338640d2ed6d3a26fb305e4a4220df2565fa2952c74a1f048214fd7df9cd2110c873631b3c3ebe781467fc8068f982e88a509ae103c6544f3b53675793096929dc562fc8fc8c1e905e3b7abceefc986be70131e6b4a3c33e6db42b4d60c60ec871c466454b7a944c71ad4d4007845751c16adf2d8c5520a0c18c1c1036693ffffa8a4d73141c28c7dbf82d7af4c0b1455b0366e080742bca45675e690a987103823a5d3a73fadee8211d5cd878010ec4ab0782b4a1336cb0ec9a75a97ac8f7898f71c48ca62e71043a500b62340bb19c628d973ed1821cdb3ff4081f65cc8224de9214d11855f4476541dad320a3566a5ba84e2cac92d1d51259d5122b0f6d32ff9d92b450c12239dbf46eb9b677af2d5f4152ee96a5e662e5d0b791e10ab286abb7cb6665b4620de5ab9561c91fc86005f14d95ba944fedc89aab20ab8fcc1d3d37af05ad2a485e9e49e6ae8d23e42615e4ea8cd696172e786a50410e3268990c1d3f05d9429350712e698d769a8298dec3563ea81a31af14a44e95e7512d091d2929c89792286daab3422577146479cb24be59c254a5a228abc5366346b3c2335d3366976b8ef9e2924241b40baa2a667941d1a62842e4c53d7d22cd5dd9ecd4bc0d3b5bf9f8199e7d571af2044133cc07dd6127481774124f9b646a52224e10654f654b7ed6ff13656c82205b946c5a2ebd58d7408626485d49656f19ab460d1999205c54cfcb5115260832e6e4d96aec6352f9b283fc0b70f4380dd8818c4b10cca48789aba9e91c6309f206ad1e83a728a312c43bbd136d3907b1398712444b977dd1e6328945745efcb5f424412e8df9bc84ee9120a66c2a8704496717d3d0f73c8298237ab13aac8e20e7758bc5ed5c23089e72640c69a129e2c40862c9d11793876a119b8c77d759e7e8e8ccb78c86129e560471a3e9b278eb13410a212f45a3fe089d3e2248f137e7a9a473c9d01f82381b9ef9ac2d86205aab5c0e8d1b2c299942907784ee9cd793107dce8dbba6d5d85a6be97a8ee1f3c98f6a791a0441f393b2116de2f27d882043106455eb70a372068270624bef4eb7648364008228aa4dc9670ea154c7fc81e4a7828c105a64d0b0f103a954cc495e68a70fe41c3c3de87b8eff9ff940da0d622e2ac60813e21eeab237d34dcdce5bb5d21631163545898e513d104d4c865690f57ec1cd03c96b4d666d2ec6778d8753de73f4adca32c65d366ecc3ed687e99aee4092a54ac8a016c4955d7620bbcb7eb66c969edb97510772147123e4545b05e1caa0c373f2cbb693669220630e44db10f374d9bec1c682f25de4ede0820b942107821032fce7a6988c3890c26f6b8a299e70f03a4b56b53d3446ec5ceb472f09313a5c9ed965bc81184f089d47e69b7019cf20c30de44f53cf274fad8e266bd4a851c3869beaede0c16d20e9b9385b6a351b881ff4827d8efaa462680dc4dedb90b1cc3f57cd6a4033366b75465c53bb6b3c37e7dca4813076756feaf4c9f0bb40061a0822ec77c4ec65c8780b41c619c8499af8dea492a7dc6f06628ef5a3a1f9f93a7f6520a60da36e2d25d3173e1bc82003796fc544795d66be380652d6dc399da5b798f58881783167a68d4115064d3ebcf6d3e62e6cdb2deeda639e1b0ce4f29351bf24e404195f20fe5c253961f93b930a046478815ccaf377baa0429ba60b841f95c25375eb654e2e90cabc76935229d4edbe05f268b1181dec92758e6b81649a1e162dc7cfb1370b6d9c6ac659ea787ecd333dd631b632b040eea062459e182926f432ae401c8f9e296f486920c30ac44bea826a586a4af9caa80249e807fd4967cd03645041cd3d19f1f0aaf4bfb4e3e5b9df845ac614f42a4f2ad32f898347f90878064a60230632a440d2e3a71bb261949a4b1488979652b6f5cdfcaf51c30d32a0c07968c98c75ca6b8cca6cc91875299f27dade09643c8120ab54aae89f93b7e53881b041784aadfdb1630635811ccad25f6585329840d48e39391aabc4c26509e4fcfeeeaebfcb500251de7eb37599ee546112487a73eab18d1b12c84168d239a778927104e289adc9fd68d26b22194620eae7adf8f7417bd022194520c7da58d5cfd9decf9241842ac4c2bd4675f6aec54b2ea62cb339ddc394310452a69f28430804193befa8d814156404811c4c59fcf611a5c62a1ec8000241f4bde2ebe7cfe7d00d193f206ecab9de925abbeccaf001497789cdd598457f92c9e801695b63ba87a777d1e101693d8f975f85b7d17f07c4b6b9f210ebd1015954b6b46a973acf5a728096b5d58b755b7699a766d0edacbc1a4a541c90a2bf9fca3321358728e306843bd7b0cc155f2a05c9b0015beeb1d9e255f919f3266e2c4f9f67cfd7825c69c97d2d49694150955db4c593d7fd9943078ff21da85183c70d3e66418e415318fbbfa449bbb22087574ce1179eb6431e8b4de46cf345b664e565dddb538528c182b041a74a57af7905e9d382ae9b90363717237cb88230623ea9f2caf968053907bda499e52b745651c7033c8d1564d3faa79afce6446c567107a593beaf3c5a1584515be1f12f83d0e8a5825ca9d69733dc68191d54109414e16f31a9aaee14277c9c8220e73f64b7c9f11a358f72660a52b2560f7b3597a4eda520697fbd3e65757695420a4fccf376deca2d2eef7d4599ac5cd1de8f82a0d4a97e0715e00312f82e64d0a3468d1a354441b8ae79ef5fd73abde9207c8482942fb5b5e986cd5c3e28c8352a894a2ff76be93f03c12ee0e313e4383a6f7321676a4bda830f4f103ea7ad4ff1ac4145512748c1f6eb36588713e40ea795a321563a2b9b20c820eeb469e9f8dfa2264841667c5196fd47260897232697f33228f13e30815db8aee68b5797b5b97a92ae213733e5acdec725f4d0f90c31d79a534a2711bf1c2d41502a588ae6b53415bf1a35d88655821c473676f0c051e7cfa3184a90e39f678fb24e82b0633ab5e77823f35b49903d8cf453eae54890634a2194109dd487cc90605b3cdfac65b6434e5ef33ce889fe57a89cff7804e153cc21cadbd4e73d5590e3b7d8a2dc38ea08c2e8065d31e7a455cf754139e0a31124f398bed24fe56c2a73832d8d11044f2d2bbf6259b1fa0f94952d025159b752ad1c46d742fcefe7736ce4c0a18237ad08828cc97379a6a7526ef7d91b1d3b7a78c0978bcd40096ce0472248164ccccf47c7328d2182bca394e7b007b120e70be5fbd9d9940e2f2c089eb4e5a482877812ee2b08ae69ea9bb9c574705d41f44d1f2ae72c4bbf6d0549c8fe08a51b2b48d799635c1117deac5d05c1bbf2e5a6b5a9fcab82a8a9bf3a3ab92615a582dcafb93c2899a48a0c2a083ac37a58d2d0ae9c82bc295aa8dc8b29089b63563256b414a493a96a417f9ffeb4928278c2af3e7dcab956d55110f3d957d6d0d2d94e1505b993c5886f7ca8136a2848a953453c94b4bc9b82822097997e82202fe9ac8d3037cbd4138451cd1b6b67e1f3a913a44ef99385f4aba8274e107eae479ad4a4943a6d821ca39789321d63d64913c46c31083d7e77fea34c90d2c64ea9940c56628409c229f10a77327c92cd254849534ca7506244a95882f05fdf96e2cca64ea904d1ca2b9bc91c3296420952d06e6a5b2d93200819b392502152542e09f2c7b6a5d8f999ed48904a27edba9755ba6c48104d5cca30f2524d871f41186dc95b545e719123881b42cbdf4a9b941bf1e75ca7eabf65045649c5fd14331741ceb4691645a9aa095311c42c4a08eb4c22487153cbfa77b46b111104d30c9b55b995bfcb431063faec99f992e8f60d41d6186375be71dddb1482701fd49eca216ede420892b87eb8f838993208729ff850323d5399044192eb7719b3416fd48120665a8af73185802027515ae7b4f807624e267d6fec2e3c8a7e208c5c32a91d2f4d47ec03e92c9f6a8af05cd1433e90f3a90a42269d32bdc33d90f764b255d116a64c7a20d775a78af240104a8e1ad92acb371e887322e39952b72eff1dc8b7e5f799945a2d213b90642e5997addbcd3c7520c932d5b95ffac552e840720b9baaeb848a199f0329e6a063e77c1f01e440f8f6f0a6f44775b78f007120a9112d274be92c221f01e040ee9449c798e3c514f708f006a27607d12fa655647a047003b15356bdcee9af731e01da4018e13154c76c208c4c62bb2c776b20ef5a566a20a6d56f36e91fb49fd240bc94726a3be9d417a1819433e2c28ce80cc460c9bcf573775e8e1988f9f9bd3b5ebaf6cb405039e7cdb0d23b72321094502d3fb51d547c0ce451326c949cb61cb618c859f9835bea8b5d7518489a495dba54ea64d560202513da448c5cca7ebf60c8f1ed5869f402d16ccd3c4839b1a5eb02397385f6b12c9d92c78533e4955b7d665b20e6d398e7a942e565a605926edabbc5c8f46f591608a33af8a5e5545dcbb0503619965d8164a9635266dfa122b20269d4987c0e4d961a530592963b398d16d47e860ae42f8db1f1f3fc4f9f02e932e68c7857f65e0abea9af542aa8a34072d9153bff6029da50209f77b8ead64f206d10df9b6a615e61279045c7aad0ae687ada2610c5673e6519f39c6102d1565354907964be251046850e1a5386874b9540f8184e7dce73139f241093f77be8bef4292712487f5a3486168f40eef069bf622390b28b1cb9154d867b458022d84155dc8ed01e2210f3bb2dfe6971d1741902593507b71c4abde9b18540ca9717d6b9c367e31b04b26f4815ab91fda24b4020c7f02faa73264b6ae21f10f4ffb867cddfbe4c12c007ec775b775ec5c6a79fca69c1d5c24a801e905acc746dcc14017840ccf2b65d4253b4ac9620106007e4d5a4c72a290b0174c06c8cc8bd5ea9dabddb57c85ca99bbcc116810e10200724b13ed91cb347001c905468e55e6f5e925102dc80381a56c54c5ab0ff0a09086003e29c695e50ca2a76186ba15d9aa99bc895ee687c67fb8d62e5d2829c7ceff2d53f346641d2315d182dd99ee3cb829c3e33c79d7fadcda558106b445ef8dc5958907dff3a9f7813d559be82e0757b2353e95d41b2ec61a1fe2adf411aad20e51199b52e8a45f594062b084a56747666f9f3fb6fb0f92ac89e2f53678af520c4d3a60ab29c798c8cbc949427a58214db5a74143371deeb0d36e4000d54102cc6dc49fa5cd264211ea720499341c566c8660aa27a96c9a4f479a520b5784ad9f4ad4da87683cd4941d2ba1c73edad644c3237d8ce4641fade50b26ffa52de185190e38866065dcff12104031aa120788c91a7eb46e9536a509084e7edd9be46e313a48c9bb736ebde7d6e7640c313c4b15395f46887bf138d4e90763ee997b64b51936fb071b19c207a52272334a7b8cac194be0962d4a4f3bb878763478fd404b9363ff7fe7df87dff061b5b264872297e0c131a0f4c942be9f9972027a5dcb4797c4f39759620c9e431fe954ce94ee44a10d4c5b71d659ab28d7583ad2941ec92ea16eb73c74e3a9320e5d331f2a64f4910346bc90cae6f39ef4890e2e8135fb6b6f961baf1679020a9d31b3d7838d5a1fc47d871cc6f4790746ea7399146238c2ea327161ad73d37d89c06230c51cf53195d51692c82a42a57043128d5393ae64410464ed68eb6d605171490810378f0281b403a1e50a3460d2ad040441f1f62713727fb824c9516d03804714f9bcac9830ab259a1610892dc11da3eaf74834d3540a310a44d75d9b939b5a29d7ab8c0468f1c8420ac87fec54ce3ab4f80c62048317cfcd4298d7c093404419022b4d6fba8d2763553804620c8b223a45c8c39dd678020ae5a3055b9fce5ee3f10f33576578cbc7bd7dc60f30359f4d767bfbcb9727a6eb0ad5e1f88df293a5f69a92b7583f9c0850e1d01a0b1079403070c72b8400034f49047d33c329918f5f3d8e26decd061a38bc285198d3c2427d6a656fbf599c4a8b8d59abfec7994753c10bf7e649fa7911fb56de1021ebfc516382c50a3860e1c77205555d8e85839a63f40c30e2471d3418b12d52374560772871c9d9e9490bfb1dc60cba1021c3c8e0ee44a99fd2cc4664627cd813472bd925e9f7eeb8f1c48ff612af37cbacf25bdc1968868c4811c3aa7e75692a95bf11b6c0e0792fa0b266cc33f7b76730334de404ca7746e2f9de3e535379046e89367696f0331dbb2768fe828d79f090d369055ac72522d1d22429ba603878d2e786080c61a081ed57fd7a486936943430d045113e2528e9e758fa7e19c777d934b42c6e5b6b6cb584268205dc88b9a647b06926d6b0a99374ac30ca4ea6f532999ef5910d2280349c4e98a91a96608d020032964d47c7ae6e27fbec740f674ab4b9792b9a8550c448f22f69b62522284108d30102e9548116edb73715d050339c6b1eb2067d3e54e20a0f1059269d8f2142c86f5946fb075eee8d1050d2f20175f7b225aadfda9633e954f4b49a30be4d3fd205338d52a81061708f3b93b63be20a4b10592289de2a9519b1b6c8d3e070c34a0e303356ac040c78e1d19a0a18532eba86aed76b3401861ae96438e0572dcaf8ae81c7e377e85e5625f374dd6f6c6667d2e9689d2cd4b9a15c831eb856c2c9d6dd4804615c8717defcbf34c0592bbd769a757bfb0ec14086ba672bb6c4c4b811c53f0d0b1948c36bdd4a8f13bf8774481bcf964896996061448a2f4460f694a4f202595373beae712e5314e20eeff5625cdce54e96c02515c373ee91e6d408309e40e6956292a56898c63f013a85103c5e06fd05802415a6a92e79df3bff3349440ca4107f1a9fc45b3e593403e7da16e837d9040da14844ae349c5fa501e8174e2d388d299f385f6681881e869316e65dd8b1f2d1a4540a6f93c0ba3691c3a42c0050d2210b3b5f39d4e7549e4e5021a4320f86e75c630117f62f20d68088128237e345479af67c336073482404a622cc6384faa733881403a999255fa7b7c4b321a3f20a6caca9f4a1761d6361168f88018ace325f5994a37878240a307c4d8359fad9df549e9f080144c468d1d6b546d50d1d801413c7e3f639e860e360ffb5cd74fbb12375db139bff833e2442307040bd3ef397a4ed1a4d2c0013164c4ecd2b23b68dc8098737651c3eef6e9a78b1e2ed040d1b00129a89fb45dd339c72eb5b06273b534776b73d52e4be7dad082204fc7907fa293098bf5d0b185076ad4681dcc98053177dfddedceaa4765415249aefda5a4140ba28896784d3a5a54fdc0c2bdb80eb5165d6dcf38cd3fa6f2bd57103606d5d81cf17931ef0ab29b4ac13688cbf79464c38030a31564f1d8b11bcc82c2851a0266b082a07e6a69326492296b5641d416952be9d0f9e2525441ce5d49856a4d5daaf98c54903659feeef01753c3860ae209a1192f9ca6fe8b4f4150e3afe9bd1f935dea8419a620dce90969a2620c5e3acbc28c52107dd3a99893a2b35e6d610629c8e1d2a8a89d55ea3c7661c62888c993075f1f5d15668882fce6b9a408ed0db27d28086e3aedfd62d8c70b4141be5472bf596e1bc28c4f90634a972de790677882dc99ba5b54ff199d20a64b497379928b229338410ef93ee1e15553bfdc04b9c6459dbb599528254d10936b8acaac79ae329f09437574db5ed546f6b3b6f2d4cc688509c2a7939a725852b1d2a68b2e0ade8c4b10662da36cd0298e0ebf25c8ef655bf2e3fa830a2b414ad32c426ce9710d2125f82eaf144d9bd54984e72f6f7d12a4faaaad20baa584bae0e2e00e0dd4a8d10517a7cfb6281da8514312e4a41f45634edf24df03cc8804c1829b78e67fc814aa1b6c5de0d8d183c716db23070e10a80087035480c3302408e625ffef797329f347906c4f948b018d2ea8842d0623e2602c1008c4e17028200a9b71a600131308000040200c0683d1603851b6f5011480035e3a22383a221c201812161a120904c360200c0685c38130180008844381408020a4e422ce0360a83c5d412450ad1c34eaef88adb52a720daf6a763f52f97b1a47c6aed55cda8ef4461a930cb941984821745571002dd0895a164fd55752afc69bf909f48c7a249cdbefd4a3f1f4bcd1270ce6828e5dfcb627c9cb39d1d286c95151af424ce1ba8847b8ef58a402af043d019908dd530f33b9ac7f083927dc4b948fd4f74c91c2112385d45a7f1809de4f3fd4979e26f495528d3e5b9da3c17c8c2157eef83d675efa97424ed1dbe9bc42a3622c9fa6a932ff393c6e7a7a002ae4f7ee5c2e1476d766b75e2a9219af486eb698201f431c2731d7a65581ff43bea7a977c5837eda342c5b1ae199f3483d6aec8336b0f2900449525d5a66b516d851deb6e95ecbaa0abf0d3da8e7060b6b460e2916b6bedafc76b8378425d937edea69b740e052ecf6d4a4c5a6902369511e9a120b00e1a0429059e347bb64720d47494755f771d00551b224ab49e2f58673e25bab7b7763019eb4e19c95a2774747eb43fa7bf3bdaed973098d7ebed1565266b09d2e1a5966c6d1bfb9f7f24f55aa76ee8d3742e7c0f2ab109b80f3810d5ea1bb1cb2a1425a201f5222b63a57724c633e7996fe96237676947cb2dca18f441ce01875d1c03eb1e5ea29e0ab3399739bcfc0b9f5abf132c52eaf3ecb2e8e5a1da6727cf4c0020d47c83f92c58d3ae41b1ef0933f220ebf96a82a8f4ef75c645b99dd40a06585bbfa1dd2fbad9085ae1199787a5044a993a5058d7e69a392fcaa1b07f3713642b3b2bba0d7c96222bfc90da2f68dd72de36f9c98b0ba61ff23ae4f42a1248aae0aadc8e531a2d196e82bab1d1b4f912186686da5777db223b733368b1019ef4548237df51e5b575700746968386e140aaee989ec298eb5f70c9ec766a30e75bfb6d48a4985d609de81d900014b96e34de16362af7ade48235b604f261cafd20513d7f30da5aa23988b0a6c44519d15c127213c6715e1f203c773fa1de1aad26b237736d84eb3623ea7491c963b1f053c6f17209657610ebce43bfcaf55b0fec13ced7c22bbf7313bd5ac8bbf2a210e1fedaed2fb278c4f622b7e127aef4adb0748e7bba3ca5fcb35c359d0c38c7caf7421664cc18ec2788ce8e6e429574538fe329d76fe91549f97c3e79903b15571be23ddbc83b163cea170fff22cbc68ea496a4d10bcf805d51b3c8f0784c3e0325282af5749dabd7b03f96f9422eb54502b77948afec46d176946b4b1f001e09d95bf7c48de1fe9aea6bf2b93097cde8f2a23c6273beba352b805cfe58de5ace9aa100a8fccddafdc27dda005a8a17c91ba9b736530e7ee85250414da3f62cc18c1182fcee02fa0c0da090c62c09c06dfa8098b60c56a2ab88a6714fbe9253e7faf8d9082a831810cec5b1863878219388af0a80a61a50e8e5948ff6ce75b1e7c0b72d2fe8410bbe53c3f77f507e5e57df16b79f62ab46e9d1e1e47b27dccf21204a3cce6823790a2ce469fbb920e56c92d381a5cf7c7741af07c81bbdcea4a020c95e920f3f7fd4fe3b562e89d14d47a1771ad28962859e3071359ceca1596be7a212a6c5c50f227394074216db65f3572339b04f1949877958aefb69a00d08d76786174de0042650540ec47ac0b95a70a4b7a3d35c1488072449cb79571eac9ddd2ca9d8c2afc873919e8404cf8c26d77bcc98f8fe90e60604631e43cb937ae00d8c21b114a93d7e7327553182628229c49b1e5460326bfd8a6656ff8c9b3c5d4e04db7ff8c2046014c4c66a2247a48b414c56179a4e428473622fd6a3d64a67c6fe924be87cc0e11a613e302bdfde55e79fb6fb651d8ca438ce21d37473fa14dfa6402cdcd3d270eb1b36eacd9e8a8746686fddc6b8fa71ffdf19cd5be47230f503bd4a47445357832f86760fa5652b5705caf20adc4ab0187636b07d76d3837cdd895798bfa29ac8cd9ee740fc35f1c09076ec9ce9eca6051034cc94dd2c80ca2c8d5994bc5ac443b8a0a800eb81d36f8882c82b75096d59a3159723e91b7efc0997bde43536e0a4e8c360212ca558d4a01c02cac053a19b20079e1721d7d02d67be23534833b0d46b4dc7693b8363798f8873731ec046fa4f8e7e39111c20ebe17af7bd929a3edf12d0776ce0f1ce0c7aa72c646ed2f43e584f8492100470c818072e42b8661c24030909e048e6c8dfc0ce3bc38b4b0c2391164d33b8cdd7082778ed077cb7b22c19c49756ad5b502c336f915c3b1f3d645c21fcafcd580d812a9efe7e997155080bdd302d8d36004d7bb4033067d08a66d90370041ebd9b2336d6d0eb36774926826a7efc274e50774383d72f0314497daf9c229aca6380c3afe0ab4464b8c2f01454b0936990201431e1dea4ac427d24fa8eb21d3080529a7c0d9dfcca0f5e6c15ce0cdaebcef6df41261a9f421e9930bed7da4c737f5d3c3169de09b2811235b0e39705f0e20e34374c86b50f9c3a216f5bdb55f27117ba0da48330e7da9d90a8fe20e66a6ca884af2ec72a6cf91499a37159c684aa86fc88999547dcea4b61654c85b61933cb859a8e360b320e3f594743e3fbf0618426f2383e2ebadf599045f6d1350c7010cf61b44d615b534aa241c471feadab32d4789b2686c96fadef3a84440a14f2e81d8c72d9dacba070dd0d39bffb34a48cc192fe04eef478e34814b6c1cda482ed2c694576d6d4379e730bec23ea40b2917c6bf3829746834080fd783c6e1f73bff94d2f4a4a2758295462b736234cf21642ee79432a1284f0de5f82d607035052bf54966d7c8bc004b154c6f9c40bf81e5318be46ce78122fa3df2e0e20ce83cc4119a03e0e95d3961aaded96a510ae932b9e064e2125cbc469147d129e55c0c25caf2fd34a5ab6f495194b719b50d175f7168b2070e1f59a123006e60a657cb86edf66acd7bdec492672c3911ad94581278ab499356c83265761fe53b4c439ea4bb2689bbb0242fcbdcda047c94e524a74e5fdcdf414a87900541421275949c7ee73568228f8eeafeaa180247d242707e48756fee34913ec2466c729ef397d4c8f5d8c30f136f5623a39a81f906a1121933fa4236f8a87953be0e780ef0491d7efec0edc7109db08c34268766c986da0fc109a5a46706e09b7bc14d1ce6fb377da4e8ef1f18fe22a20e1548f63e664c404f8309ab29ba3ba00445f0ed336424a48ed60124f4c0503ea37af2e00bdcc8728189f6f400f006acc80df1450bf95b0a056bfbe288c7f0dce9e947a343cc87c12e2406047796a337f81c1245b5af42c31f33b6b53c82c767c9d18fb430d97e088173ea6e3f8b05fd9e7a32abea977cc37876ae531f78aee6b8a49214cd3a92feca3aa8d9c0a76b65b99929d95a0ee52fc6580b61adc80db914f840095b7bfa27b499901cfdbca62ebde6602a8cbe1adfa31f16555d89463d3cf3d82b50721df9376aaa33b40fb63700b54ab5b50426d4e88458e688f5710fbc0d8d52649868b40bb450ac3e36423aa44a2d2a25a913ec0d71a440e230aed3a22c721c74a50f8ef0e0962af5ea2c09cc99aaff5054410474c1b5c0bd12811c37d2f66728ac2fa061d92585dde3a72f6e0a6b29793efda6877b07ced1c9d225a923c9a68de376c94a3106ce55162bdb3eb1c010583643cc1c600e6b354cc3f68add0695e5f56bef9fddf09992f334a869ab41c52b53720660628ba29fc8111a8f27aa34e97b83f4871f8d17136f4a983782514492bdc36abbb8442b268738a6872dac0276925833c237361965b0b1ddf805ca28844dd9436517e59c3431feccbe3485c5811bfe4d309e331c1f89c5192d5fefe3680958ef56ca606eb090ff81fcd93c1d415a482bc2ad51ac20e97026262fd9dd069bca9a38b5fe398c37879517782085d0bd7f06321e02448ea98d2ffb68c23e5f7b3d2fdd363021304094d9afdd008c0006db02f81c8a65ebb1cf6b289a8ae65f88eff95d60bff713184dd6c1d7eaa1e06b89234dc0eb199625238e05cd6f6308a75e59b0969d930a94d65e97679b99b5b8f27b0f2b484e33389f0823b97d5ccab9cf625ba801941cc2e3c001c9aaaed64cebee2138df1ad6f1343a1003d8e1ad04753ee031a8008f9d9dae7db6062c9b8351acd27470f186997b8571991821ae877aac4d2654fad376ca3d6077e2495ba762f55565cdfe5ad2a1bc01932204d82e9c2780c44bd20ebe58e4d03b5f666306248f2d60582c028b23009eab14629c11ddbe8bed3fe172e076406e897c5116698cf6e68c76d6bc5d0d60645344346ebc6bb727707d6df389ee51ed707608bfc7a0d9664a7230cd88afd85ba21cc7b5c44ad3a1b86163f0b380bc36530d976be652ab97c0db4905b2e08fa77a526474247d5d7aa5bf3f5c80caf8ad7990c2e4b89542fded3203693b5974d067ab02860e53375660a193d592bd7018c1cc81def9f6c175bfc1c8313ee57168055f5258d80c484607b0dc587fb4b5dc1861b636afb6bc018e166aa9a1511177dfe6a9a7f6901211eb3692834c6a9fa42f473fa296aeee6e027d7fc2cc45673007b6c8b92188cfb5904b1cc071935897e74cab70c095d835e455a787581d57709771b4e7dda615b4ea76589cd8ab4d690d191dc34cf7f2255fd8d86c50b837652645e3be70361585c27ea9917623956d81e174c6e65393f10e6fce47e0a2ccf7bb18a317324bf606b1cd4e4b04cba9c95f60c7cd52ed18e539f800943096eb6531b3bf5ca6a546b044186afbf70cc2ff040769b43e7eefe5e1efbd040e8fe4dc284a97d025fe7fc26dff85be1cda52fef46a30e79d63c3a0c8143e212ce495a96390c05f0ff87cf6bee2a0b4a42d1eaa7011d07dc2a2665948bfefc17edf5353a76a3d8b24b407325812234294ccced0726f330b4a99a62ae03c21af013028c29cae050542e5b66eaa1a9c769c65c0ead07870c0a3a53dfb7844de45889764483ba7102b7b53c7abdf8b86a027e87d7c3a1167407bc9bc83d5047f38c3d84ec1093a3ec915bc180b2dec98e61c49e84a1fa297aee21698e8fb139a8b385d92368764ce984ad24f7da6d325b386e22771e188f40a824a61644229b0e897f0b724d14e4da394a8ae89e3a0995969296935d6c63f1787f81eea4bd34bba0f97a5f07a92495d7ecb68f10781268a57de3161d59aa468d760bcf6c0bddee3695ae31d9de79f2668866d98510b95bad53f667caba8c7261a87d0fa98c505dc7d7a09c5ddd85c4a2810f6fe56fb3e0a3e6c9ee60eb7738ed63b444227395e3819f0d16383402386253b995829e040e6dc0f2af956e73a9a19ada2b3a193c2d927c76d1bf5f745ff7e34e82a4b83aaa103252a2a41a0b4bb5c84f4e4ee6114188716653a193d2c7778daab4c69ece170c25884e7b2c2f5ff0db6bb44ae56e82d5ef7730f6f04edf05ec8481a9abeef0f13a5045ac9fcaf2d741a4e963ae5f052ae3e2997b59c0b771f17e31fe3559ae4dbb8ec5c82679d63ab6c108b02f5fce3a0c365c41e9084dca34c92a626546724024ef9274fc2f060614d0232abcf6d83470d9e9638c84e1003a0c863000a6bae3855b2468b6701a6550313bcf7824d6461be0ca8165528268389e853ef1a8fafcdc42f18a08ce4c9393190c5dab16e24b39b7f2d84be050b1903c1a214bd6815779a9ebd526d85a5e0ca6aab6bca97a16c62f5d4825adab1b62227a0dd2994908b05e6176b8908df09e35f3b9e361052cd198f1a56d807c61171dba0915b0c91223f37867268233ab874b11c4e0c195f9d989bdd96da59ecc62899bc67392b32c5dbfb8747a6dc5fd0f32ac2ca07a9e1f61175afcc9b034db329a830972975b3055f728cd692ab8e44b32181596561a59f21a98a0534b9c742d3f2624303ec2b5570d667cfb05d50001f210ca64a7f4598b345c0b8daa2ce62a64b9463ea36407249e1b7e51f53262a04f6529234b4fae5aad2dc8a0f28dd64c1edb85e68da420d9e6be7c272bdb1206c4532021ddbea8a383232168a6c804196ce8e3540e92179c65b11d86189724da3332b9b20f58b029791a9413b3883e16cc475305b3bf0552a2c5866b252ca5d9876a567e32cd41fc7961c9c7bcc6a8d3a98aa4586d92dd3d4a2fd4a608ccdeb7b82dd3ff120dca3118b675f8ddc631caab8ec4ec250008f0b2c1b6ac89f108171e2f411413f2d19654e9ae1995f016ff1143805a1e2cd641866fef1ac2e6a140d8643d922ce8732d78ff57988bf6768df80da7223ed33e17653a55412808d4590665f93ece2d09ebe910471a33978309618f4fb052192995053f6d89f08064288271b9ab0aa503012a698cc02aa02e8d64bca11b0d2ad09d5e374b5c7202aa4d75c4ec5109ecac01f95934005644f01aed1460f00d93682ecfef7c72c66bd9b9a7283698c5d9e68f870720efc0a87ab22520cc32a960cdeb7de8f14ea8c711cda49a07dc0e01887a2fbc876a776546b2a1e34a4d7408f7af220e97687025d597ab6863cd01b1f327082f42d6aa64c67c3075df1ceaafd500cb02d0ff1e132a6f44e367a62d846c903bd00dc0d53169d4b0017e62f76a000504b9efb884a0fae1bbfac0863d5e099756f8cdd0301100f3ed3e1acf1b99749cee0b3ca97128b5c65a94d4d8c83862561776bf7a254de933ebea09afae7c29e48ff8c8e9dc169d8c11311b3933b4707b856125a60b25b7a83d6158f73fea7df40142c609124669d7e42e93ce59e0beaf30479514d379479ee0c39872b63ebd0a2d343463e4d53aae671b3ebf5feb87ad56f86bcf3a1689b5bb040edc73c1b659879dcacddf335b7a0175dc7a6da1caad925651d726b8368d5f4813269b5691f7994c323292fa1f5c17928fa704e3d14a4cce746d58c41a6b940f03febf562b9c07e264973d0083bf83b2002325ee43ba41cd2b281222fe3c23540cb6b22a8d51e0eedf6a8e756616c8adea49cf26126416da79c414578c363d4083bb3b266e0b353a5c2273a3dfaa2e414a527c9eae508a42810938697eb73bb5818d3c011cb1d0162d0f51147935d3c0841b3dd17880549a71c6a8602bb7d2af53101e4b3bc8f5afe639b91ec27d783224834076d9302f714466bb798a7c022b89bbb9d7ebdf8cbdc9102ad750ca6109016f68991bf31f3827b28dfc32284cc2d8f4d7e5724f36b7f4ce7f464a0ccb8af8d946350e7ede8150648e4b9b21015422c97944de386a1ffe7bdd9520c2570916581945cb51dd3dea24da9f450beffe8502ab979e846637b99bde8d7fb89c0f276049618416017370090c9244fcb4126a09e2e8f499423957a50ae381233452d889284af96e85ee0e470ce2af1d211bbcc761296874f5e74cf9ae042de86642d3c82678ca13971bb06dff9a6106ad783c8bd61c9b912a5d2539068937a0bba036787f6fa020c55994feeeef5f25e6d69d26b2fe473d3d7e072fcbece19eeaf19f143ea26780d57ddf218c06521a5d5dd5e4e08a1e0a794edfa109bf65f764d5a5cb7f40e4b1454a73a459685f6fd7f6bb0ca452d498c400343de854d9519561f6448f4c92389b7ec9ff60f67d5648812e89ba094b4ac83f0c3b5a00cd0f58c1fba34aaebab8f795b8fa9d5d70a5b9e9eeadd85fd0bbeb9d0e082cd56dca307f8562f355502e7a36aa5c06933b885809efd42c2f7ae9d6cd3c9e0149495986f037117576338b7e9149dbd43dacb6b7ce1558f927b4e885b5eb9dc1c3753bcb618f52196234c79ac892117fe3e20c7d6d492b0b84d4e85f070e90ecc4a173c696e850d745327e457e1faf68c48a2c57c4040b1578bd81e40f32a0952e865f18bee55d2def1313c90caa2f193ac02978078b3ac4f634808c45960783a80e0d94fe52215c35c32368ed02d7d52320ce0ab65ed5e30c0fa225696727acc7d4257939c8cb2c043a0acaac31d45da0f0b905dca45e04833b84cb71f38b12ab56283b642de26fe32022934cf542c702ed666d01c2dd4eea9294ac65d6283d200ca08257599f7c7aae2cd263e71a771b35587cb30ffaa7886d852822d8e59fc058d42b8ae953817921a2a10b0acca98a6899c0dfddf137b947d2dad71c3131126c91c9578a7437f8e4cd40730e7236b80f5f5f709bf0101ac599e1b6802f810964f79d49880593812c522719c665fdf723e1649a96d0c15d336232aab834d9af9ad12eab88d1c664f82e52362b36753b5744b3e0c9206e952359c92d30be0db7d361a65e5d18c203dd1590e65c31dd852353fa585cd8cb019fa22f963b4407f2f8564e02976de8ce826be1f93ac4e9fbe8b4d6acb928fff522504a864566e160e503b2d97dab1fb61d830093c786a2503055f902ed2bfa82a41be94dccf60b43fca136050093d7204da05b5234df0d7cbe82a7afc97bb8bee1b8de9150a2b28509e715a50388fcd021f55898a7bc508a1753e5a927d57726bde65feafb49eaac63400cb741c39d7d29eb09b2cc354f393c036486b83163b146f8b8a269e91a1137ce2ce73d88faacfa16d13023673d1b456d624420c444dc89bd6ec298761b69db753fd0084e3a7cd68b01de5a2f72e48f25ea5d16228e9d9983848606102275a7268145edb3b9f48d006401dae003160a481283f977d5b29163269ead7e2930386de659b24266b983bf44acd5e0c82834d921259619263ce89ae1565719522f2d1a950abc2f67df39a2245db86b2e42428c6707c43ebf809c92b9056a55975f9791a9606cea1b5c21ae20a06ed5d04e3237a9ff68f4acd76639a07caa8c3f99986f8d18baeb8a7154db39f2ac651729c325ec21f898c9b2a34d2b5b187b6af74ce6b7d4a769ee15214b76349291e7d9c7760b6cbc49833a1632ed56f13951a4586158c9cea3ece8937601764889b1acd4a9660b44b418ab02102901c320e41a92c54c2b6462076f8a0ef029b03ae12288c807faa8b441500a491a5f80acca802014d377f42c91586abd8540d255ffa5a966443368bda8f5ce56a371eea8524f91e1c533c9ba1914b8ba83b9a9dd6eec92675b3267e08016dd1ea5f1433300845d6f2040146afcd1cb246577aad1993541437f9fea84bfc9fe5d10655acac5f293119a37c1d60012344902e0c8633fbb21c101900e7ea4d10557c447ce4750128ac44d1536d6a23b0ca29c7128b615010f5504aa7160036258ff877949b6068846aa55bec890e95aa72400bbe86765d37c6fa4125ee6acc3e5c9696e6144ecd855467a0c757a0ec61adceb2da88700a317a4da68a0e925aaf17febf958f3a4567312b5e155bc157119b21acc9a7b6c9806bae0ea243e43abef2455cff196cc48e2877a3551625a420583b0fa3f13eb1003527129a566d04fc3a88519525c6c9dc2e4d97478ffea0065853133a75c0a83f46cf2c5d85c5f001ba9834a931850182d1ab198e4c3e220d255fec8b772dac627b2b1240a6c0ad2b6aa91343ab2ca1431dd623259dc6e423d2ac7778117aac7a1f4e07fbb0821446b98e81e8b8a35492ecbea9140019d911508825a3274a48e26e93d44c4f71f5d448aa738169437d7cc2237d4f8bcba8bdf97ae926890c0420aa14a8acb1860d763a4c0d4061faa8674730638468c1f5bdae8d096e6171e3515bdac14a2e8ba1a03109a86d82b170d547c918886bf5b1648e916e3b3ae2f28c4aba39f8c691f993176d46d5d65dd89a30c7d473d904c2b86dbadd2c286f8a5ed822eed44975ab956e82f40a1bf2c559abb4ba73b9b178bd8436af4f06b2f0d0712940c33c30ae057a181f1e677573ad89beb9b8a09c6a4267a44e6a306dbb9a21c68df4a53a8335940a6f8de33a2b6143fad720811829a65063420dbaaff48c649595dd8d29ae470ddfa45cf7f2d029eec11e7b09e3782d2c6ecf06ebfc546548ce47314dbe963066719e662b1790805ac208c827d246da3fa9c8b71993b04ccc9a9dc248d8b65f06b746824dfef421f0cad00128b80f4a6bbaf475c7d045a0eb78dd5eba7974dfd3a549ddd79c11b8aacdaff4036f61d4f5f6b74edef17d4da46e9df19c2524c0bde793f65a01bdd5124f12ff6dca6b37ab15033da21e4c8bb8058aa63c287c272c338a043d676b255d62e0f2bfa8e77a9f415706afabd0adcbb5deceacb98c721796cb31d7566efcdcb6b947fc6e050c2cded6765d86ba0cbdeb81d7465db8775df05ea40bda5dddbcefe8c2bbabb4dec7e9e5c1ab53f774d73df798645c1edfab4e79eb367c71c3d905d79d37165ea15fc1908de7309139d3f5428c2f33a828cbf365500966a25162b2042e3326e72088e861187096f2d7f2a180a66170ae4d41d857eec236f101b7a2526d10a183394d4c7294e19dcb29ea12f5668d92c7d66914c47567337cc0b5f41b5dcf1cab91e5c56ab7e90a4822dde1c4fe68f8c8b4910e1502a159e1afedda94dd061733c09f20808c98fd1f84186a441f8ad1f6b6a10d11ec56a4c6156d4235152df5b787f9a8afd49faabe2c9e974c929952aa1a6d4ba11d93d8bd5dc21bd0ede5a159a07e7dcbfdf7e016cddd07215adca73b5046819c0a7003fd0e2f7ccfabb157ed957826c0c76ad5cc50c3a7546e4361c5b0d5a4b3a0343df4159d50330a65b82a1e960756872c39a1cf2d4cd8865f483a06936d63a0dea4b419a31df77768ee2b1aacd5bb354c4f551ab4c4cd99ef06f6b91746a7b19a5729788f0ececd2794e0ea6e606f28b7566470b7454370cb17313e70ea5634797d27a5effe0daf345c330d3910b665147c71872d0440a620793f3692f578d756322224a349c9f3633d71414bc0178b622def4ed0ae4e3dece2ff72d66b72e4fe05a801fc44290d27cb6a42af1caefc51442d8014accc04f18222ba4bbc7a80f8af7a52d918cb7aa896050ac8c1e503f4979ef9ea1f158ea5b66722dc91b02f5f6747ea12dd72311d5b9673bb9cdd58717f6667e6ea12d357dc988e1c51cb003c1cda230b395af404b998b6fb7da0944bb0053cc957cc0a2be61bbf6862c969fa67fd43b1581d1f1ff4cbe23e18a315750a3b2e412ba88e1a5915a985747de4fe8bd7caa7c60b4b8de5cfcfdbe990c37da838dfeb3145110dfa9ac1fb58ccec6f94006f012c1b00030ebf9596befb07cfdc7399d90edd02576a835c5d4091d78c35eea2b3441959c3d4b37d0db3706873467d065c3dabc9501f84274e49ee564598501aaa7136106647fa9b3bf10e162b42b91e018e7d5ca936aa4ab979d4b9e9395cd750d66b834e96a62483315d1c7003fb14edd07ab33b64175e9aca752fe7d50f9e6ad50c76b9a26f3ac30bbe5d2a5deae7cf12e664d9b08ae5fe9d39e12d8aca7bb5ee0ccf48f44ba20d88bf3b1e5463bec7a8bb32ed3728b2d4942e10d08f212c0c67d7069b19aa6dea88224d0d9dbc12816565233ad6a8828d1b68fa7dad485ae065aee78ca286efcf75a4224097803d8186022bcc5832fcc20def3c1718228143a05dfbd23a1616e0cd40909b8889d801a3dbfeb493d65a815a028e27f072fd6fc13a114097b912b89891feece9e3fa0a9c4990910b815e080446873d6ca105c6933cf5f1c2ab2b3243e08497edfed55d7f0b1b734eacd77f0996f9f3854cad573511c059e0a51a28255fa203035cb78b734ae0e001852de04260eb81180ada5e7022820c400e54e4adf2e340460f1d3965387588c940038317e76e1f4cdf858a41f5ef1273a0c6f00eb91cef6bc7b23d9a2a9049b002413e0bbc231077e675212fdda957afd5ec62e5093232a8eb94ec4a137748e5eb82b6b8ed6fb30644dc2670332305a556e0f72f46edc2566a89e3164c5e6b082aa5e5140b8d0008a11cb428c54ca98cfbb3c91c37dcf54754d8941252f61746462cb4be9663162535922c1e8c672dd0646fd357191a4e0941fb455d70a9b5a741bdbf1245c0a149de378a1417017b9377ec8223dbd49754b363428dfc4f0bb9acefe1a5b484e6ac8258c0431863fc8e1af518d5e6539ae4584635dee0cdd14c1cc97b3149c5a673beacedfb77e80152c74312f8ff02c4f575a743491c839c4dfe343ed35a1da4b7c480635bb10330832e008b35f3d155caa339ab0615fb25345288e83aeb65173d22b71201d035a5e4782b37d56dff85706579a966ded75125a875ba6e692fa630a417cd6cf790446552e25afff34ca6073d6017ec7ddfbd66104596e4a9d932ee1659edbb6ec0f067050e8aba17846b8eec4975754cdfa0af5775c6fbb221fbe52fb2a59c94e90f422a7a6d607947820168fa6b601140c5f4c46d8fc81b433a973d6657badb44947ed87250ef6a8c7559310c49412cb76938b97b67c29a4a22fe3214ce6dc6bfb86fd652fc3ed36941bdcb30c651ff0d1f71946470a30fc7376fef636e9cb2c671df975878ebead9b27105075a350af15d2e608436c0cd51ba8e46866eac237aba4bca503502b51241f94bd655d3c86b652fad9e68154e94b3a97a1a59878a5f4cd13a04158a700323e7bfc65ac42fde39c9ea70e97f4e1d7f7018bc3965487bdc6fe2c71341c9037641fa906be4fe930882d71c3c8590967e704cff99b8439a36d79634973603a4445e008d844b08cb120102f78453b77fb523178174678ff06fdba5842eaabcd31c08699f7429a27a45089dcb992240ab131ffc7704437bb017f79d0d01425bb441373cdb53ef0d7de51d2deb9176a008c7fd1f725561038aa9b662051120bad266d2aa20725d473c13e2a139380851237159359390fecd3986bcb61806ef366024de1502e4e45cdd2a069e1213f4b014f2c1db9361f5d510a7ba64addccceb79ff619625eb5b8796ef13c9852971269ac1ada0998830b30e1e008f609cce0c9e261a04a648538cf0400a38877d510a3dc140435600a009c7ca1ee01c02e5b88ceef2d12986c1111ca8ff8891ef04388950225a110ab1dbdd55b3b8af7aa6de00f2ce002d37158c15fd36c82d3379ab01c316f4113b61f03c56036bebef9acd0607b1d9f3a471e60c634fa4bd94da4a19888611f641ffa77023c5ee16a1b3759cd54bbe81406671e4f7df4c4b9c4b3f2f36019eac1e15cae7ba8d2e4bccbc273ef5f5d63cbac7317019a2f8d832b4aea7a338a91ccc7efd2d0578b8d12996066766507125371882362e5f2916e2376f970ffa64a4d8acf5455ddea2ef8287c0a22c52028244463a3d86ef6520df7dd956aefc8b4dc72275eef18f89e0527ca01227507baa9b38ee094421283fa2e4ab46734c5ed31e6cfef65ff9009e178f0c19869a30c5176456a8c478dd8de3c220b2a1b781a5ba18df04b0def5f74d64c7e10aee201b93ae5157ef5379a5c0c65df1ee5cb179673574d0ff7a6dec8d974fb1e61f79ff2541088b2e7a7cb56193e6879de95e648d606cad501d6edd2ba7a2558f0677d806eaa64b74fbcad91d84d06bbadbebe56cc0126ec07c5b0c2f257a23f888fc0c73daf23f90c8b43c5cc92f8817fabfc2410f56e6dd37f7742173f2516276062d4b2bdff4ea127319712afdc521d4ad401d2e302d78e1b5d86a978f7af6a5f6d462882a8e34c46849c44ee964313c19d63dd5f760374a9b4a1f97ffbd805bac7bebb4fc1a8851529a644451b5148e53d747859ab97177a50cbbe936dd788cda96fbc62aef32456b3746a8195e7d5656a7063107633a09f97686a212007628e5e86327044f636daf2a42bd71108ed4cd90d5464a23ec03a70b871fb982103fe371c7325d860bed938603136f578628f2a2069a4e2b3b0cfa8d2d1890c2c73e518ea90a65a2d39a8bbc7178e5fa16973472531f445173c4a72d85bac4eec25d1645216588b494c104d155f43f7104a3e69b2457813013a367618c034f0b5ac71130a051870f7f71cecf01a17acd7050c562d23c99de1f0d31488a7207a01a11a262cac63e0e59aa3cbf33d02b49469d5b1cd2a2bc8ae168a383b4a0c130881235b816dcf4c88ef02a2208721abaf78c23bc2644a53a21a883396baab239f87d03624ad55aa44e51baa8cf998defbf035bd9eba0e839e50011854b3cc2f3c04530e2daac1c2638c0c844ca697181697159696b3ccb0fedc2f2be864bec37b62772552ed58d600012b9a205f69d10620ba03f01080a3762466586e9caa4c8e0fd9a5463579b0707bc54fb415cf2ce0f4ea24e50bb735b7c67b16af9daf3898c47cf8c16aadf4ea7b28f74189aa45df9c99c512de889a05a0702ec9f2808ee1e5091d4be02579d29fb198d63dd059a00aa2a2d303b60b224c301ff0000000000000000001012946d6d13b6b58568cdca94a452f08f2e69271e857720c994649229c9496e1015c90b6f9ec2073299b501cd02c802dd02c534c1bb0397ef93769eecc0e83c7592da739bc44e1d78713331f54974e0d2ef4588639a0327938b668f49939a97039ba3624a55af39ad1f07468b584c7bcddf798703eb9eac4adb54b9eb6fe0d3044b899dee753a6ee0840c0b9e3c4453b16e03a3a2eea658a782f00c1bb8f7d74c79165383720d9c3ecf79bd4d35f0396bd6e4a0b4885ad2c005cd7691428806be826664bf5dbd283903a39f7faa7133b036ba630c3aefeb7b65e0726d8aab123230de1b4aa8acc7c05777d09e424e0ceca71b4d1d94ac0b42616052681ea1fc4a880a0203a7f249083e92ed3ff485269b247d2943eb0546e969c6b593fae6d92e386934a6a07d73814f31bb53dcd098dedd02dbe5e92d4345a468b4c0f86de4fda4ead265b2c00615ac35531ed35262814d3977127d5e81152145948b7a2b3d5a818937ba4c58054eef482d913156aa0915f81cd13cfe08fb389229702293ae2e155b29f041df92279da2e7b2360a8c6acd41eb0e053e5faa69b2af28414fe0ae53cab5121954d2098c4eeaa36d47f3103681fdade86a29963c5962429722f94b603bad5f47f64ae0649f48ed2b3fe14902935c3574c82081d74cd57c171d81f790b359e56d042e897cd3b7d922b0b6f7394fba86089c05b10b42b877a71833043ec8dc785925a5e78c11029f7929f69ef04dcf982070f6ea154bc50a61a70102af7b2aea12627ec085e8a73f2b6ba224f980f7509d93b752ce91ef019b92dc9cf826fc639c076c2919bd236e9bf967078ce5dd11eb899666eb80d576f789621fb3d639e04562e5ceb793622f0e78adbc8c2958bc4f32376093f4ccd925c706ecc79cb172c839e6985203c64587b4f9c942f20a0d18153cd5c61567c0d6ed45fedbec5c4f065c788cd134b718f01747e5091e55434a290c9894f28e582835e0056c889745509b573fde0017f019f29a445b3f95e3ad60b32559baf6bd477d58c14a4c3a2a5729cb9bb30a2e948849d165263aab0af6f6524210bb18354b2343606370139526761c2124044eb8247556e6f5f120b06d2ab1ee7737c51c20701e25599e12a6d2fb032e57aefe11d16cb2f501ab26e27f0812430a313d60430439d9dac283b4669ae0a65276c069272164ba48c96dd401934f47b54f136e17e680131e379b87f944cbe1808fb1eb4dc8ee066ca526bb7c5aa62c4b36e04aaa9e25ab520dd87589e77756360d8e41520a99d3ff8f1970957522d92e661339ff9001bb29a9b2cddcb122e71f31e08486da1316475a52ff0306ecf5c5d54f3b6953f41f2f604f8faacaf6d62925ffe102f643744e3eda7772f05bc1a6acbcb43c61052bfaf992d07bf942fb55b0a93fa966bad15beb55c17ba58985904b05497d2af8b228f9a39fd20c2654f0d5f5b94d052ffbd229f8fbf5fbda1c6c236f0aaef3f679a7bb9379540a2e84b4542663be939382ab4d8b2784495ab747c128bfc91d3b94a66c8b82ffeffc9721c920bc0e0577612779940826b205145c8e1e4f3c6a0c4bc24fb035216e9e8bee09ce53456db344080b7a271853d2946ecb6fca26ce09d6a38854c9bc4df0db7a3a8b0979d629d704a3d7d42f498fba7526d8144b4d8cdd23739730c127b3edd0137c6b73094662d296ddfe71946f092efb27eb3f7925b8521a3368e794e02ea4aa6f88f9a3094d827b5dd3d0cb91049fdcba25a7891ad58d043b7a237bd390e0f246dddaa43b574c1fc1048f62fa5a63064b1d91695e4b4a94b2115c89c9b22ecd18c964047be1f1fa4c5c04afb57f17ca22651115c18f729398eeeda321896043f3a9e9122197fc10c16d7acd374bdb9462e810bc04952125cf902138b7c8a3bb3f26352a5408462f4f73498d6d7722047fb97a259f06c1c9d29a16f92be8f605c1c5ab54415332cfde07828da1e2eb1ba2d9c4355d5f292475d11fb8f3bd892594aa9e1c3ff062fd133bbd64e84e1fd2dcf16b35d77ce0826b6a53755521a67b60bb4236f9a9d40323cf435b8ff2c0d5884a414f468f11820726c49866fdfc21754816406816c43553896704514dc135a6c8972ea9deffc0e54c29870c3b8d69e207236676b87ab676b858240bba441e4b6e1f58f58b1badb5e7039345d4a64c9d9b1ae47b60f4c9a04205d1315eba7a607ddd64768875a1732e0f8c978ee7e76a96d2b80f3c70bb1facfbb4feb8c3de9623b69b56e5ee4ae6baf9253c690f3b7021c9b51c438b987ae75107f6ccd35d48b1a8b9f4a94478d081d3a9624af38bd73bf29b03177e9e5563b0729ce03bc709b8e4c0fb960ed14386b264e6230e4cde1cb544126b53b73cb07060928dcce0eaa5fdf67dbc81cb559ef4f55888f13b6d83b7d8a26d7c8c871b18a5f3e9f472cf943b4254f06803974f5a67e6ab2c78b081ab3c89dba66e5d2faa0111748ce0b106aefb6c4bc751c9e8871a382d39e874b2f35b04255cc1230ddc04b1b4add741039b277754d5f9c937619e2169d521db72100fed08091e66402ce5ed517b2ac36ddd9d314593589e24df6ecf2c8df92003772e6a7d7488982b051f63e03a5d6f6f65cdd7b48881ff1a2173fe511b7af26160734ef27479e9c1c07669261191c2534ec9c71738f96de6c123c711223ebcc08ac9d3b2abd6921df3e8023bd1eaf45a4a927b740f2e7031962cd9767947dbfdd8027b299806ef5b91a9d468818716b852293a8810e5c92e9d8547eebdeefa8e053ef966b5b1caeb09e215b83b7d755625bc375e5660e207313daaf0bfc874fb4effa3b37c5081dd9cef4406a57287987e4c810f3a7be8ceedadeffa1f5260c7545d6a937f39bd7e4481ddb4b1edb5102e1e5030ad238b5a86e6cc5232458ca63bbd46c6178f271cc1ac3bdc2385e6f698eddfbfef9e87133895313465bc58aa3e6dc1a309ac040bb1a47fe582460c1b386ee4783061bb4da7d91143a890259824895d88a0baa3341e4a70bd4ea4939c2e1e4948d33cb4cccd534485b4949d35e333144bf040026f32c91c73077d0f1df33802372aa5dca352ca932423f0a9da5571b3a7207a11f81d65215622ed3f2702a71ed396e70310288b805504c8d531604f9fa0d63e8001b645e616b6800160f1c589c001aec0712387070480c573d139b8a0d1320c00801b361ee5f01a36bac82203376274d107c0e20d57dcb871b6100000068045e368af61638b025c1100056461e34d801ac78d8e0e045c8145020a4062e0b001e3868c1be0f81b36e0e46a724f153184f24b0d389993326d4eb926c88c069c4ffefaefe426744d2d66c0657617157284eb98337e46d14206ef458d19337e4601b488018981c38b180e832fbad0e20524060eaf3123474747165ab880bbd110a2a994d0ff39186ace729ccd781b1d5ec4f00e5fc3412306b94123060e1931ba98510375e0d10a1203878c1c333a3a0cf060451733d08c9f4180c72a480c1c3260dce88e8e2c1eaae0b64fc6e4217a27f99fbdd1458d8e92c023158c57ad6bf8774e325b1a2dc390072a189925fa8be5f83f3a05c6211a5fdcc053f041ab525f16fd9ed77f98027531b36c19d34a239697501683c9bcfb9b4729d8a041470a316453ff3d29f81e5d31af5792508003187040053ce0806280788c222f31ef4ad77089d9b9eb9b9b94c839aa7d88c2d15095b1b6368f50f0e3b937fae3ae5d6d1ea0602c278d342e2e8d0ad04835787c826b4f59637a5f2ddd0c0cb50e197dc4138cc81635462fcfb7e904a7a34a675ad2b1469d9ce0eb83f0129d9f4b7ac88d9651b609b664d0c1b34c64dee588de8bd504af69ac2fe42fab1e11186a27f8430f824726d85c63569b833415aa86a186de8b8e1b98e07e274ed2fe55238407838b1836aac6e3127ca61379ea7b996e4a1a3566cca881888d8725b8e0225b72be8a36e92886e35109bed6d4fed58b0e51aaf1010d6cb1459abd8c7362d07850820d2b25c23e8550e03109fe4e7d2ad57feade4730940317a89bc043128c882047678e12623b81a196f40b1a3170d823128c0c766ad514d4381d26402de36c6a40041d0f7840822d3f8f1cfe795432f3116c5ba9aebf0443e03236e008c664ecf2d0114182ae11ece5a9378b41997764bbc8c183117cce9f7194ecbc94b366088f457097530725d3e620fab722f8feeaf3ca6e5124ee894043760b6a9252c32c05314fa14f888d083e258b7c566de7993714d4a0400c1e8768354bb69ec4184370a6c3ab42f023ecf54462053521fe200463e5a6e4686e73109cd21e64251d2d41d89b92951e81e0837e01827ea882620a842088418a204308311f258d01420a120441518c8228c6306ca9771240a0398ce32808621886811842082142420484080821841042084fd40647913833299c62ad3f32467c687ddc578e7a55bf82933a9f47a70dc04cfad2e7d83f2a0a7843681fe961cc00e333b5ff436fc0e1b3fe41155409e455737b541bac04e092528ed570be6fa4a02147de7831f9063634b91d1aa2b63af7e7f28b772335a5ef786f82ddfa9138992f340238b039602d086a2215a2aeaa638226a08af68740bbf64b175d99713f19d6bb36ef002f5b385ab4053641b6341c55dd6fa495ced385085f9af72e0e76524d862c3964a564123bc3a565aacbdcda0e66dbf646bd9b0c19907cf5f133e4a1bd97df969540c6f2133ded15b96f978233df2ba2b8c39175693622fecd169212cab66cb6e8cf26b599668b189139c8d77aecec060022f151584e72bc18492d986ae9207ea9231a90ca2c619302a57f0bfb0a86242e80835bc63aa2b21064be16c7b9f75bdad417163b2592782e0ffc4a1433909664bab0052d7b134c5003302006697483fc28e5f58bef04314a7b6d8c74a086a61f1b47334cd2dbea318448ae5292a4dceb74fc1e3808db405455fa021aa7ed480060ab7504601dd6c18d80468476e83c7f485546b2f2ee88af821f3790f7131eb1cb11cc9f948c40b759ead8aa24dabd71e981351fa1f21ef5196eb4540108b547b9f9af05f5dfc4b29a57782776e1409f34cae4d196b743191a003a74b844c94641e43852d0a05f584702360a145f7ea4fc61f0f1b3450ad6619527b6199742289cc3cb920e53a666bca33bc18c084a6dfa44962d0d66a6afaad6b38b81b9ca8832b389ec0d12056b5b217e62e89ae5b9efb8888494abda20c82f0fc32f04105e054cb6eb2f01a1e180088dd9a257a622ecf022982ceca724e1582e870b021e66dda23396a0ef1022309f1d6f3579602f67dc3bdc1a1c555524252651015f886dfd28dcb9de10c05383247ecb40966623e4f992645870b6758e2d8eaac58a14d9d86eb628d506c96bc73fad36e5aadc80e946a6f5c1964957066de77437b70e4c596e829e860188971c1baa8832009d389f01d169aa5900f4cc13e6834341d1e01d206d9e3ceb5446f8c13c3cda95bfc10459480d203afd985dd13621a4bf719c86bfd6b69554564a0d3cf3909a87b3edd804c3e4e8809fea089425369a2ae7eebc01b250ea6b3385a0a304006a9b094ec6154d6ddf85952c5fe4036b418dfa54b9080b81c6b8f1c77b9004ec214438d85957ff95da9f0a3d3c2bff6d9eb51fa9232b5e851a43384a298f478529046339bb25a5f5760a3a100f2c3edb2d33fb3590e4a280b0d100cef4c702c6aa7ec0b164ed4f2b8f894c9d9848815f05733204fe01be54d24b10a10f45e7f9762a2d05de461cb9214261ce74a2d68d819024cab44bc01bcc3452c18453154168e928539b42df4f6a2c000720b610ee5599c9b1e4cfe2b131ecb33bfc88e6853c270560ed12c08b4bde389679c42ca9194564557ac40077862c2fbbb5d2f34cbffe79c1d4fb55f2f9699260269ce84b04da78f14359f8024d8a867953e16da3ef2f780b87469b9b2d6e6cadb3c7a4fe73a5d464d21f2a1051864e2f847b1997baf1d50ca44dcca47d4e12a30acdb94f622dfe4a8256f5c5ee0c49b020f109a955cb0ccbd5487ef7473c7d3adaf7982468cfe0b422ce2ecd76eb1a78e4f732f3abbbc32334b23456555deb948449aa3cc4f25cc7c0cb6a04c208c608b371de55df2b18f6714a41a768db195899102989ac10c86fb2ea3c6bd77e3e7ef0254917121c5dd6dfc9f0b4f2d141ba673f33235d739082d84d8b8b90bc83ef89c230c80a4033b0ad4c23d641f91692ebfb535a2c7b31c0e7607521be980667bfb775290c72594251d09bd84bafc3ce17426cc10b22d82f7ec8a094e8810c7dfff120aa39cd050fd8a3a7680fe65c8acc4aaaa9b37fc032452c88313fd847f8c273f78e3ffc8eb9485fd40d76da1414e1f516f79204c44a54eed2171c7eb20d7448a319f3abf280a1dec3b12129295390738e764b7ba4e1f4e39df32a3c6c55bc3e5711841821b5a2656f41b60d64ccaaadd397a608c514e7018b408dc5153b7717c17bb8e8fe1a6a58bb39a423a9b8f416098b1915f9ec616608207a5275905b6ec7942a2cf454ff7ba4aef4ef23a80638d025e8b6cb06fa1583e4092edc22720967179f1ca638996909f9166127b651913c618ab4f3096cb488cd96fc32faaf94029fbbdd3141828b689c5e7177f7bcc011b7dfecfcb408da3f56e14fa016493decc13bd358c4de1679ee5cae29b1256d54950a63015487dceac34b806e73f0d3579bd1bb3df4154bb253d08f43eefe171f772b5da46954d9265f901956d121c098ac1e3416e1a70bc48352bdcca29aaf46862262f19d7f4da1863b0b0b792e6f2ed2b900ebe6b5b251a16316c7d55271a0fc00eb5362a58aaf4a4f39c6528f36661673f21bd604a20bed939e481000449281abd169973df0f98fbeddfdd4b02f331d23777ff25a2441436f0bdfe61651d53b3a246b550a0a4846a4e841f0216f7183f33d926919", - "kcPublicParams": "0xa45f754a9e94cccbb2cbe9d7c441b8b527026ef05e2a3aff4aa4bb1c57df3767fb669cc4c7639bd37e683653bdc50b5ab845ac5e7b4ec8541d012660276772e001c1e0475e60971884481d43fcbd44de2a02e9862dbf9f536c211814f6cc5448100bcda5dc707854af8e3829750d1fb18b127286aaa4fc959e732e2128a8a315f2f8f419bf5774fe043af46fbbeb4b27b008f0b1faba1d0a9228b9c6421f3571f0980a90d29e9fa238fb85f335f4c5e9027fd25e9d8e39f3bf2c3b9290a6466b0f706aa1b8726c7f766f40117f3134e02d302aaa10a9646991be3ce2564d4ed9e79b4040268cd864b857d7112afc12dc070100000000000067df18dac642723d9e58c09ccdd003f1333c3616318fbdc22e121bc472a3aed855dac8fce61a84652ab01a3e4708d619542c893a9d8d4ca81e7b9aaa54d9eca8674603de25d3ba1ac655b7f4e43e0add2c879407f97ada3201ac03bcb98f5c0c00d2f960aeb90146a55558c602d352c7394bd451a6e5b0d432c4dd4c748a16c219020d41fc0a3574bce4a43ddd8809df0753d1fea14ad6089c457e1815f9960c50f520f82f367308e8896b5887e004a725384e1383caa9143a605a47966f50e910001a8a2778ed01d588446c6f539b00e0af173b4f002970383db184bf4434470c11405d0cdc4d127c07bb661e6f9c995902f3d01bff60cae1feca4ac58ff313fbeb02d70dc00125f1b0ef3d629cca26b7191341ca494f29837483b063d352eb3f190067dc4faaccb7688804d55979498ab8d9f6f2f846399a37592ae089eafa7f86bf2efd087d14bde0693b0a41f3896704159120ab4897fca2595af272e4c031c0d5168323e5ad3b9c19a4fdd759ad86f4a99f5dcb2f2aa86ce2c90ec3debacbcd0d009ae8495af63a5f6fa731a49b126deeb68ac67fb3ef1f161751c33fe34729b26bb649a411afc472276faffa7baa923a04f3945dade89ec5c66a15038aee57f809b2a9cf5d53a5d07ce93df8a7fd1a31cdfdd01658be0f4b3d9fc7781d7178850c0050932a76be6a675e6758522014abbd3013213115f5314a4cca7ea1b596eb9e961608a17969ce5e789f92132a8bb53d00e4dd404878bb25d33293878ddaf630972f91c6e72426fcbf6857cadbf938aa2825165a587a198bdd611ae98b70d83b15000561a1322d81c72d03498b1cb701e2b85fcf4bf2ab2761c2e95016ccda835da900f87124bcfc3f0f8280243eb66e34050d9a0ef6f8d8b5ab4cca5a17ce615c7f3f017d98dcd2f933cbef98db7e107570d1103aaec4e3e342ad52d4ae6af6280800cc088fc33d9c9932831e7ba1d962f0bb2e5a36a5a8a55e68b344777b17f6b63f5826ca06919649d9d4c091c2cac8b0026c07d84d99363e75c75a9a3a8055a6e2f14e66fc8d4ef3c6c1a31d35d0d12c14f943e8f296b50b3ae94703f40cae8e0f007b7b1c76f5b161489f5ea82e79f28cb1fbc8cfbf9140f7e5e42311f09f72adc7e0ca7a5365d66d7d600f9eb8726da603483e3386a9e6d7f5f72fa5b2642ce1a6f032a72e0f4bc618980f6ce43a012a32bca65f1d67fc872a1f0d248eda59011000ed5da57a4d90b9fe745b59ea0b907ffdaa69d67479c5f2b9cca7631ea0191d1fe0bd369ad559c1f074fea572f4c94d15181c98682b63aade7d770628814a553338efed57431f907c7b49d2bd82d99d7d48cb70a4cbb6e1c7726392c6ac26250800fa53cfa4ce05c372605882a613018821cbc7bc2ddaa2d5fb60d15b1397057b214d5d6ed30aea3653493b52ed1601c6068dca5d45c2d0f0cea311afcbf602d7db4f6ee6bdeb04cdf7f4dbe8e83a5ba64b5fbcce9a67dbeee8ae732a77f3af610a0024865b605cd3cc4e834e5847663267737332c98942b8fc664aa0ccdfe92636e89ec943523ca3088792d9e1cdbdeb06139210a6dcd37737e21dca8ae3d17706ae31d08b9647058ef2720e2732018c41127e2b72bfb764cfa24cb4c31130194c1200ba4e7b303fde101e077d5487b0a71c7bc6dbabc2b6a7a62aa5788ee615e12967144e31881a6b3cbdb5c4d89c03f15c1310edb06c4bbf238f67e3e5f052e3c6fba8a2f3b38f428e4a3c2d292964e6b57bb19bcc9f6280e50c3fcb19b671409c1000f14d3b22d8ad82a5d85b2077d6f6eafd33737c718e04cca7ce38e96ae4d1d58747242b634c16c095f612b197332c1416ef6e28336692f45e78329c05cff4b029f304c16f1d896d6c51fdfb1e05ea09c309949f60651d6e379e9b206d4f81fb17002af92726724faa1312717937c12bd3c981ec5686c2510598e672ae282d2fe168809e7f381f7b009d379b96ed5b05c30dedc282ac74fb8e9442be30ed8bdca3dad5bd0399f86b064256c8855c8d8238ae86e73e870c38b73cb9d5047a2730dd160075189602e96bcae4e62d948db501982b5571215d12c34667860dd855bb337837c7809ffa74ab63713d6245f88bee4019b86072189fdd52695e80a29f174013816372db96773a63ca7cf2161aad8930dc3f85b5b45d93725d86eccd63e4491f00002b15e97a7fb26f279484e924e880f16cea6219e91ff57e0d54aa21cb028c2cdd17ea7d52e844c73c28d1b14b6e35611779cd5d54ff821274ca9f9096a7cbe8d2d3d4360649e351c0282d027996c5ea5467fa68907b1880de2321f84f7f41ef0400f4d080dc99eed82ec22960ad9c745cabc1fe285d0340c1440675b0c77636cf9d349de9afc057efd33c20106fbdb2e0030acc0bfd38f74b2cfa85525c03073c879ed9df950ec4f58146a36e8eb0039a9134a503cbb76181011675af22825ba3040063cc51cc37da2f2a7a3263e8f48489848d9f3eda618174e239f4e1e69a9703c2bd7e1328ae8b23a0617bac65c9ea6903fa13883a34c9e048b4a3f338f8dfc0cfcb3e1a9e77d9e42f756a61653e98fed0e5b7ae85b2b23d73551bb9dc45bfa60b0051b097280d0f70bef61dcdd94d684704d1f8844963773e715a534f660afa08f16dbdd4a7ba5ef7ed3c2e5b847f446a04de1accda7e96cede69d294ac8e950c0385d78d97c42f7c656d56c5e10097596533fd3b1b9e689188872835dc119a441800bec3229779b0380879bd1188e4cbeb6aa7a225485f3b858aada410227b5562f57bb0eadf0345ee7a9070658fd7b237040ad14b523b83a61db064f29272f0aa23671255b0f161e40e6ff1aff3922caaf9063915f43d3fa013b12f472e0a54ef18004415f0e1c15563cde8c6b2cde3b5315687532afaaf22db17c6660cdbc9f9f7e308afd6a44fa3cca7813d7b1f9af59a03913bb48761b2828c6bfcb1cc7e65c513b160b78d32cc143d765475123877ca1d5897259eb89c8abb9c0d7f79b830460900a0ce55f85c5768304ca2d2ed0403b384d786c62bd5efb1bd8030a80e5f6ee8830cb718e111c631a326b5c2dd13f9bc12ef6ea465b87ca8a327d78918de4c81864d84b8bbc7312b14c2f45376c502c62bc24c1b0a6cd2e847af95e1dc516e920200d5e3958fa07d1254005dc256d8e4afe405ac515385b32c9603211eb8ca70233478519ef694e995ec9b9a45289f1105176c3c059fe73ba88960ca768c42e4e97ff02ecd55116ebb43b995bb963c1dfa545579ae869d50553435c815bf97a84f0c00677dee349a3cef35652adb88419be5701ed664e85381b09af2a4c3fa48c7f3d69fc64cb561496d124332f66c79069818a5727e16d0276232ad522b409bb31dbe4a7e9e2102ca24b52d0a3fc06869b6278352d2c265366cefc98c38af79ef8f0200ed615322e3d46c995e2c8a9999c2df9fba635159eab3865cf9bab4afd6cded00cbca0240bdaa9963cf6704dbc82bb20cba5a7def6336fabc732642b7f7fa022cf61774939978659ed37bf1387ec46103ce426d2beff6ab8be9c807c9c7524a16006bfa96078d34868a97c8014901f7561fdce9eb36f56d1d2c5756eb96c78f86c1493791c1a16d0962c8616aa3e01a2a0bc13dd70881e74d4b34214f4c7b8872c14cccba9f8e7a5d3e8be22927980eba2b0e6de9c3f73da7b617e81a941f96b613004f3a23ba8d76ac0f7f9a650232025379ab2b0bbdfa07a131787dfd0ce8bf133dc7d9aa28f092066bf9e596c51c0b1d1429ecafe6c9895ad05198b2a597315bac09de18505024f9c9566b49f8dc5d4119828052d9f77628988f819211238f240000c377420aff42276f120629dda9534308d7a4575d42a1149d784dc08f23836fc74d52451992cec221cc47d9960b71ed0bc168bbc8690d0572cf70a6a7b437c23c89528c781871d1ab5b5c6720bf560779f67f6527bed214c8ff1ea0139fcc2c15000bbc41eb0218656a23d8f56d379cf95ff584659eaca2cf6e8e108b272b7f5d89bfe011115797b32897df5608957b1d10cdc8e3c0d83474c3bb508449d6171269359a78027aaef6db578f41a0869a3f7a0a055f64d3ce86ff55e22ecda7b96b0f0077215124b4fea9a2068e47ff4a59833fae6a3ec60de8215a747491c083b36fd7fdeea8606f4d85b11654668efecb53170a5cc438890585b662c296661a98fe83fb66a590407a589d1d7befaaf50b869204ae3351a505e753e748f5ce55838e010085d4d6a1590f42c491271120e1050e2e26d2ceca924838d988076af7d76df5e70ab87d9edf600d1f971ed2c94bdc3115f3165a2210c052a5891329578283b5bb10275115d081d160f4ccef4bb3e373e57606830af3be7d507f4197b6bdc59014005c24491fabbf07077df06907eecdb99d6b3c9b23f49795a1010dcc2341c8692dbef9e9a59661bda03512e38ee5db040c35940d7706b85ec1b5a23a9c9ca9bb799178ee9cfb83f5b4e4fe8261669c04a14b206feb2a8a2adc4c1e75abf5d9780b00066660828418fa7054387fad668bcdd5d7983cc248e8d526f7725e593902241b979172186c2b64561b96f40a5cb70e095e5c60ddd74abe8bf437d568e62dd327364ebc6a7eded57f325c5b100dc6439ce2dfd63c16ffa7f90811ca9e6b84a10e0054e6da652230564f54c2a3a6856372daee8ad486a66ccb133425e637d4d100bd3a4fc1dc919e564dde83493f188bb605f55acc78af02c5978e1671ac7669dab9188af35fa0aaed28760adb2a0e58e5370aeb4fe3c8391f7c1c6646235c57431000a63e9e4f7ca8d1f80397074f16f1e9fdab0803ef5554170f619fc443aa9470442819b23be0bc77a8a4ceca11c8a27e033dbf7bb156b229e439004853b10339c7047f6f26277f10b5e814497fcc92a8dcd6d5cabf6aece4c0ea54b581e778ac190068ca39c74b2646a8e1c4fdad7186d8f6212b20b6a45a87d63a55691762407f3249ee6a92bf34b981dfe0b3456b556013da753081542af542dcc35857122e5898b2e51a7bcca7f9e50c6bb1db4b55ef4f024c4d1dbad7af178e314b81ff2e321900eb1ad10fee3d7e9a88fb621a3c6a7307959ab6043e615f7f4a1d86981b20e0693ccf4d4037e499ea87a6f3ead9a68a0251577c89be489a715a91f79d559df43631a5d8e30fdf813a58e04ba54d1d4f7af4ed44d933335c78cab37ae1277ec21900a8ca53889672d8a1c7d5684cea8597dc6ec0023161454c5f356b6babe51c414733d21be65ce78d550dbb21af21abd703ad814ce4b8e3a46d8a1fc5e30c5ceb003958dac41a1a766b71da318f3c9e720975ffd1ef734f2398e152a0b970e31c1600958a42450a73cc7457078750438abb92ba649a767152a3e7f96af03e0812cc16cf926a5f9ac6dbcde356134cf147ac0411a7b52da98c048f9c751965646a707ea6534cf22d300501f14cfc2c6ecdd040354c35bf9dbb7d466de4c70fb2c9281100ff2599c583f0258c768cfee3eea6e90c5b9e7159b502283f3402e6e36cd57c4d11ee08b504dd1d0a5ea9d6753223f313e47cda1e5ec265949f605f2f5f4c72ad98be9d402f3921f142ac7eb4a0a44f9ab49ac8b586935daab91a15ba5494bc0600a0cbbe62f5655ed8890d806aea74cec95a8355bd369efde97f7469c36f8ee8d84d400bee39d06b147f4091631489e513d231ef7b54315e19889c924bb5e276f9d9ec014758beeb18a64474952bf2a5afc30448af31c4b348edfd4e383b68560c007eb66eaf8fcf2a2d0f016bdfdc89f180cad3ab4d725f7053ac4c3921f1dc2fa329b96160703d9c67b8761748e926201823998c93a9ee99c0d976a17d3dd0bafdc80eca44637d4847d5d5d8c6db623799858531abd57b1e47ab7a927acc84160b00367d8b6f9dd5090b62ac93a4c3b6658985375ac803b9093d4a0220b4cccb4b9109ae9e830a3d9a78e232bb47a053ef19848d63f6118fabb44bf64ebcf04ddc70fb4cb1f23618a15d9198b3651f633f0c2007a7d49354fdaf18634ce7095726020027e63420669446462f9104a6d42d535da07d78d5f62893f96e2938e4c59fd227f805c93550e9dc4c80985c93d768a00e0cc60d571ba83b1be0df29b38108c82027c2d166cfdb7b3bcd87cd0a568b023ed26c5649fea0c85ba54e4bb90b78530900c162cfb69d8cb4f2f38ce9fa4e471f8a646238bd4458fc81273d0597ea1d36951dacba3e85c33562da6b29afef3c230d46cff3af3a47b3ec6ff9f71b9bcd27106c57616ce0c79fbb9348c05cab370603bb0844097af8c62017e4baf70436b71900f854d70cce1f047d5c427eb11d054b7ded4ace54356787508091723086193dbf9c60a731ce73a4d030cdb7cd7c604a1443da7a0ff546f745446503285ff4c3f62ed2a2b907f04dcf1f893e856f3d6104caf2b1e8cc5b992328d42cb90a5cd00b00e27c73387a527a4d54d6a0eec1268c65f2082364c2a61066bd078efafc8b13168b2975f4d933dc4cc08a24f22e554b04cab28b5c82fa43fa4956cbda8615e4741d692c20401dc64c2b9585221fe6b203c4b46fb87743d03c7de826af9fe5ed09005043442b4d9a70525747d90477e9c49e358eb0f989e0d36948e309eb2f2e1b5a88def6ee6e1e9b0158a0a274fd3a65019a4ec9b7788e8470d4b9be94a57cd7768301421706b7867aa10bfd377a1b839950848e8e819a9cc3ec59fb7c6ccee4000005152a2f3539f054e8f685e7d675a29caf11d4bb1d60d1956f4879568061127d227e0ce8a7b125ed164dac06eeda5b1494e3d1741fc63cadb29f4dfadb2b192c47d5748d92301712c388f362df7810715066dddd3e9ac4dcc8072eac1233cc0000729a65e32077065822273574a441a2860fbd003817f9aa5d19187382c12834a36c76f5b07d566ef9b1d333d3bdcb4501d05c47bf2a201ab4329967acc35056d01943bdf0d221da4ad1bc4ad97a924cf9eebd8121451f7515fb8bc10800e51912008c2baa6fe5f55e480dfbeb7b2607a4b87292f8e88292facc2e9c4d2da07f96f345ad4042f41c4f44caf5f2063bbbf6041946d59c918b3054ceac53bed39a18f3a617723a6390e245f3491264e36445aee43c1fddc90316ad89016b724257bd0e00c79f67be3ca74460936dc5c53f3c1fa145eb429ee627ae8a062fee38ad92af65785715c175d176ac00552ff84c2ced0c7396ea54f86193c3eb738753da412ce47a08838ba98d0bf8101a63e98f3317922e222eeade148816cbb4e1e28123260f00b581e59d916d1bc2b3fb600668bf1a1e02e7cff661b67eb9b6e4f835894568f8eede98ab17ac08017793edd1caa7080d6138aefbabf01c345e8556759f69955fa4d1f18a08fec4a9b0cf93a1964a6b0c379e013de821badffa43e502135ef217002f8dc2bfeafb5a3d2c532765bc1f25859502e55b4294e22ea11ef523c432e54e2623402ae8789f5a3a0d153afdd46c006e9ae48960bcaf922fd8723c207a58fba93f06f3defe77f63a71135dc78a550562239fdccf5dfbff6746d071e65ba102002d7064fc8206666ff86eb4fe26211b641ca1a51ef4b9ad4cb443cfc0aeff2d429bd7b3c6b542943d6d9f5af673c28d11cf9fc5ae0fed2da2da0c8b5539135b9bed921507e639ef66976bcd89d207b53115a1de858ee55294ce441110411ce31700f3dbfd2bb833a62f0123a8458511c84b8dbbd2a8cced9995be5ace39930491a5a866fd747f0a4b85eba64ad5cec3ae0a870b156a6ae4f06743a803bb09e97b358f8012ad804f8cb2a5352b2dc30d15ed7f68c1c769c24d1f1fd839fc8d0d0e0b000c9009d75e82b44af611bc96148eb6f521c891024227b5a6e2343c67c28b64abe6baec27b66f9063b09321d63c0d230531ccdd6055dd94042208969560946d3deb233e0c03ca41c1d9984dc08247e8a6d96aa7b9b4606cd729943a3acc36e00400b115869886804cac251fddbb7e6baa3c620d70ce03f97555ea7481b2ed80fbd7470c0c6c1481f2632d55f7e412718f179d35049ee59809c5fc72cb2b4132408d59aef0c0c768c440f6f75bf1143c8555bba9bb333dbe6f3ad3acb8df0101fd0500d54eaf61e71238089ca1b81688da7823f9c1294e1c5b3e3ebc0ec6fefd8e021ee50b4ff0e155e68852c68ce929df2103d9c410d9644f81353140e3f929c6e333471fd42df85f3a4e534b47678e58302f105d35a9d53e0471ac4b1b33f6c98211001e738d6e24b1996ad5179409950e4e758bab33fd77e3c47654fdbd72971c76db6023467dca8e7712ed3f90c811d9720783c46bff4963be5485661a874b533084805788955b8edb9ca6f69268cd8da92247ff4a18f12611f780b6506169fcf90b005dd49d2647d5e554573a1f5ad88f05c2901a667fc62c20bcf97e4f8de22472c35b75812cdac896a2b9f9e22c1724370fe649bd5f7ee7fe99480b01a5eb4dd37d971c9a72177eae318d3b78aa44fd19c49a8ffa666633446e201503ea19a93407003c4e1937d36a41524a97843ce249fe72d4190464cfe204cbdaf3f5137d051dff7819e6002d3a9d08799f3644f30b2a07ee536e4e965b155d6261ae5abe6cc5db02755e5d2094eaf5722635904f2362d59b29f1444c1da759cf7b155ebcf20b0300ac57e32e4ced2315f946a0d63840da7ceaaeaf8a5d2d6cee908f599a3ed426a7911deb41ea5959c1e9041b09b4e071107df51d85ee26cf558d40512ff060b064688b69cc4141f1738ef395f84f8c7c4b97c26be2605cdcf6a66d2023843c1107000e4002f2b6726c5ddd297a54666cdddf35e7fba7eb1bdce16c9556c1e074e5ca8b4ead45dc115fdeb9c21f036d539f0bf565fdb4f18edd5857f6b4a4ab4d6fb55a628a269e47b2eea4109c03b2a590a8eae51bc76f1a115e53933a7596e19b17006ad77ba7b61210842b15388ec4a6c8276023401ea8fd1bc15444406a655dc44f3caa3ceb2798bf1d56b962e8353b770a2b5d81b3e39852e8345aa7c5ba4393bfd22d73233d74810f6b7fab27a24bf50b133ec5e65e0bd950a33658736bf95d1600776d2ddc8442296fc8eddc3d6d7f798c5802f8f9c5001500481cb7573880b6dd81a446814aaca3fe9614a123d30db70246fd4f2504a6b45c7396cc270ab8841b4108105f5543429c514f746780ed1ffd6131d6c2d87b12c9e67900c65f8a7e03007985b892427275d57be399e2f5d7d456c4c39d4650ae0f24fb35ee4d08e67076906958b3c2810499cccc7105a37dd809dd8cd2fa4e875bd435e605138677eeeaea32192a1f9812cbc365610cdb51ab1eef4797cf4c8f1094e90810004024aa0400fcf62a4db5985bd2dda6016537151799ca5dcb14c7c0c787b8cd42eaae6ff91d4ca2a4854b2d28668511b512d735060ebcb6952ef17a2131dc08e8790952035e1fb54da0c47e3bc662e5d67443ed1a87cac3b6285788f2062b42c711593bb90f006c183d448c0686fe684ee884c0257d7bffa058b7fb831779b74d75b2bc60f878c5f039ff7390ba80ac2586b0d4d5f604487753357141d93a8cbbed54f5535608953525212223e5ce7fe86e3af45897ff14326d839fe42405267b58797d00c91800401256846273a31e0bc8e3498fd807e7b4547c726af15dd5e82d6642cc389f474157bfa4cdca843d40b57582ec7a5003b52ea687347a812a8a7dfa765e20122a75fc1da4e48bcfdd09607e381513047d374f27f4bece782205cde55756f98805006a605cc75a4557aa2347c5b8f3ac4393628918cb9a14c446b662ac0808910294e6b55125344062472e2c76ccd24b8f0111fd640498d9381dd99a48adbfafd23991e7f00936b3559d8268ecb5e09411815e8a8c75dd5c6224292afdead1a04d09008a28658858afc416c65636128da8f288637c515cf474dc00cb5cae942c398d6cbfbeea96c29de365e2b80ecaeb86fa10c02df84ce413520ad1dbf662b69f22ade763a920611e739771556955ea293185bc31bbb4aec5086c63e5353be4ce7b0200ccef25d89438d1200fc48bf9ac425ea445e14151e225a16568dcc48f6f1eef14f9be03f9ccd03789ecf6f32ddf71e913fcd8ec09392a2de62a383c7460c0d1924e119fe005a857e2ac01daab8c3c790531f5997c94706c1f238920fceb33c11600417b9675caaf8d5c5a05b9319ab14adbcac90655d80683535eb8455e02c0e8b9ddbe697ba7a9f4bd0f409a5bbab9dc0c905b23bb5e99842aed5288bbece46728a9c7f0e93fdfe245dd79c453a8849022d718504d569249ccf65822ddb9dfd71400b79627483ec1b5e13706ca3a78d72d80f88a782899be81a90f9cb415b94608cd2b565fdcc9b952c2897ad403a1a62e12d43de64f88157abb61fc8f4544b09492dd1147c709531cd5e276a6bccf0ee0e9e4789c2fe29246546662704c682e5f0700057aff6bbf00ce7a728e98d9fb5ae7ddfbee51a6d9b698873a13e6efb66043782e004b7be8f1104dc818e92786c841151452f3a1665661040f32d3fb6f2b94ab0f9999bb1255704d00618969d44f3df97464a3b6161a418ed6c712bfcfd99319006ce443c2490cc1778184689ab3e56948d26237669248529e084aa73f4b767a608e7cf92632a38ee37717cc3f46ed0403933b72f2f124be902b68c9e42f88058dce4e1d1f073cd71bd913aeea482845b5309358bf69df0715c3d24298ee69a80700c2a713e178469ae52e39cb8fecf347b41f18d153591f40d236a7a2c8cb16c7a69c994756eab39a28eadf4a048ebac2122486746b343c9e752ace6e3001a1945dca616f311fc223b5d4744a28d5aba9a0b7cfbdee99a4374d7c423051383c220e0028e63a3927c8983193fb5268146581a1f922755a8480a5833a6c92dc1929df89787b9b2cf38c0e8902601abc4518b5116f6c2ca2be5681e365f72d7ad8cd9decb47ad582ccef3c8681681c8425e11b173796964bc47d98f50724068859404f10004eeffb9313e51b3508e77e901a6ae4575ab7276c4680e21449e8e669484abcf97ae56a60820d01ab81c916dde73ddd1933add66d053890ea8f6937fcc34b7a859080c7adf778773d96d92c65f01c2a88632b0fd0bcf896bc8424aaba1740cc16002d72fd60aceb6116b318b6580c019991bf26d2b3df1de7394e599e36d767d400cc5d94c44257c77f26a3a2ebfbb0e30ada5db9a1cca6814a25119d2a034bd1ff12f28cfdbb9feb99b206a37885f8610e08152deb51f76fa7118220a56042cc0b00fb56873680aa0c8750cb9e5d6d5b1167fc7decf443bb14e6519fb73e1ce99461ef20cba483d421afbada7213931a42133add473882138b154988479f09ea6478e33c9272d2b4e3a52d7c74e5df6cd19a03f53eb5e703a843075304a77b1ab80c00ec9916d8e82f716ea2cb946e3ea511ff3c211cf00242a9a519d3920985f735eef022130899c1a6a74d54855f181e64061ec910ffe2cd2b8676b11c5d419ee318dd1c8334b2e464846120bc36f0b88ac95fb947ce525baf172131a3e4cf65631400992490d7f51a71f604d99c8bd64d09a771f4668fda98c79f6d9e337cde064c22e48bb96067ebf7114e96ee8cbfe1df139a8f7d61e0b1c622456b74bf3e2c2e7d705331adfe33b6e59af94bd4c540a41d10bca8a430f3ea6832e57ec5834c180f00b5859c86bf942331ab153208be463efa86427dad54328687e7c26ec82b4c9d234ba764b5b94e60df09c594a4c17caa17c1b52165d3ec4887686ba4c824e5be07a01be5bceee4cb57b9c3123ff8d95299a3747427805212be92ecaeca6cfb3a09002e4681c7ac1ce0aedc47933b717cb993c8aa2d4bea51db0103951b35698997647fa7cdf295730b1b0aab1fa840697b06e5d89c2449963aeb6a851762c6c1c17495b0d9057422656b81514e5c09ba3336c6fd7486f120f76a23b7cec407037c1900f86fa4767215f9cc3adfa743c1d084bfcc79af17b5b6d74b8a6b81ae5988bf700082a7656867a9968fce5d53cf33d30efbbff20f28d68f470f146ab76c422a1067c885344ade33e4821ba1316c92075574bacf75d8ea2786f08f56216f2b440300c360bb179adfdd9ac2e7f6cbfff511905c613fcf53062c74af7c956264eefa7f206b6aa577b81bb6439d79582390d21992953b90e54f4a5d9964bb2c8d35f16ecbdd4a3ab4510bb8c1a630635f7b0fe8c431ea7cdab5c13ee41b878fc2255c1900c5a65f5428aa312d68122b318bffdbd01d8f9ae31355922250b24c97cfcd90b81b22f2ee0053006038468e169d05f915740a4420b2ee90f4b5ca221b7d72e6eae21bbc3832210a3b1757d70995f60c1fb8cc76ab7fa82b84899641b1586f101100c2140092cd96297de3cbadc7400a7a1606fe1c94e551306bd30da97532617300e98dd2c043aab5c1900bb0340c0b1b0c2c87976dfece0cef9636c4a73b6645e1fe63b22291e9fcd1b9fdf8acd64e7c10f03543293eeea5905c172dff78771717002f91cbf3d8884238293e9c9a2d4aaac5a5e9137e8be9021a7cde9c0176b5bb35c7d9748106c8c66b9dbf4928536c240ce394073b96dbefd46d47aa215c02ca2f01d16f0a1c4db655810228896b7f40e6795f82c3f199167fb10253f693a6100900d895db177e4571c963b3d3f2148390056e65cf9cf77a709be97eb7b3f3842265d52bb34f98eac58886ef19e42e66811320c64f40925b364a31cc32ef6f79391ed58362e92ebb3ecd6de8fa6226d888ba96e43493a2efbfa3c1821a6e09e92a0600fbb2d584d989a58d60fb24d46ecac4034b8698d40b7d0c2b72d862aa4c588eef326b8157729a214d59ae8be52e0c05136d43d0e22b2ec8f2e321a3cadcd5c9f1ec2c3df48f43558b9708bcc54f8d65766f364c8591e90d18b7b35597c816990000b8ee35736814b39dbc4bfe124176a8635d0c5bf4d43f75af4213a70d3232c220854ce8646d4b80ff0621b8599e35ba0e8d843bd73c9c1375ec26d482c4df2df95dd38e4a6d88d3810419e74ca86f7a62d5f687c3ebf12cafa75820814bd09212003d32dd08ca60de0d73125df4938d0871c00c3abc245f0e69f1e5162aa5b4256a50187bb748cf815927f105d6d99d7218c6669a394ef6d7e3782631fc5a7e95bc784b7fdd547d78e55947d748c76ae48254b628a8dc6bef7277b306ec9bf0de0e004e2a796469040d4f582087fa06d469e9b01fecb5c0d70adffbdc3d0b2e4d6b48f9816b1e9092f2c50d6880530c2baa1671328aef50606ed5d40f9e6677d080155eb3ccad44d1d793f9e63de1959c69b381aa886bfcee4effe8acb8d8120bb60a00a600aa10e67d2221eda1570c5ac31599b000b6ca5d18920032fc361a5feaa32b516cf798fa461ec66d089b71551559045e729243edf945b2220f8d89f5e0648c19d2f06bfcbdcf6a90f338c3f545c2aae058b94970d4442151c0322d326bb719001c1ee9a45c3081e0ff70189957a5fc2b015be6bf4531aa3a7ada5568bcd9d7f968b71901b64259ebf43e49182bff130d5d8144e695ce59e7e6e63c9aa72c5605bff8075701600a4d1a9ff5ad8de21e091a001552c5094442f6b1d7538e39fd04001c8c3f6e6a2d6e550291e21048e5412543d1dbc231914f72a5046d325d1118232a3510457ec06474de1dff2e3a63f00735d1f91ee572c87eed32dc5d1ffa86468afcd6d3ec1257146d2c90a6787b0b885ae3ead5208ee823910b786baedde20800b6a725f9e910c5bd8f3141875d48aef1575c9dca69a19faa697f8702b3025038de44e9fd19e844c8f7a918fb4dddaa0b7943011797bb489f8f8c6310d4242094d9c73393f3b9c572de5a6934cc62e14fa4e4e8083572bf6d131f8cf79fdb510a007b6ddc2397191bf244e6100e8619f8559b96f4badd7325a23e29c56bd512cd407b73a7b17afb49072cd63a764a2c531064bead7e8208051fa43940501893cd99d3adbe25b0e870bccebb37e24e1f969fad1c6ca40c81ed24237e216c5f4aac0b007374f2222d025c2008f6eec37aa3de2910c495cdae0e787fd6f2e18dbf33752d1a3eb66d49f756a229c413ee208c0010bebd6f6da96a3a347d7d8abd44683e8faf5fd926f104e4e56cfdf7730c1e8d1b0cce680d11061b68224601184028af0900ad33995138f055711f53b699ff661ec2fdcfe8f69864afdb5a0abe5f25cbdb2c9329606c240feff92abae89622c6bc1136c26c480836fb63fa4c9968e0aa4564286e62e366a41e7955115e73f7bf6a6636e4ae0b13fd3db47a520251a0706519005482b1a752dd4e8411772f01def7c090469beda6b83607815148d23363df6e39768ce63e9249598aa38dd8f26c4609084bc9fdb18b97f30e59b49c9df1966229678a0625c5535ab8653ac25a063a55adc1c33f016f53886de6670c3abc01631800b1cd364d05eb0fab2c6dbf6ddb07f685a6dd4250425aeb1f5dabdda36ee0a0265f79721946e34f26003b4f0ee5a50d02db0b7b5fd00c61739d395e5ea412a0c0569f6825164dfa5d988882ec821b2fed0543f412128ddf847e9cf85cf7681a0a00256c2147bfd2cdcde05d5090f7a91dbe72c26efafe15e2ee56e35469dee5010b2f0c6dbaa3e77c641a05a1481d35ba0b9f57fbcd984351b56a62ca6ea9c84f6ecee1747efb6c53c2ced17b9a3c872d7a5178c662e7587d417861c0d1f5333c0b00d98e2e061479477eea51ebd5aa3d2b6ea2c956ed3f6e27069ede12dea0e181205fd397adf2547ac95c9c5419fd5b740a2009e0165c91983a275c8040b1cc51340d472e4aaff5b0ce9223af184b67faef2421a23e17b3ca97bfee7d932bc37a1500d202e3cc84d606e0cde8bc901bdc3a5ce6e4fdafde243c3b63da79e599f866c46bcf95e8a454486078df46766f1fa204d89d23c4807689a98dca326689cb0ad66429c57f7d6b1189e12898dea5c1ec9a758167ed44cfa4647812753d124c2f1300509125a1010b7f4938c25b7a9a630e35be79e654afe37e3ffbae21bb1c11a33a2073b51a50d8cf8400296f10b3d7e703737259c8679a695be74ae502da9876b6a53c3a0d8fda7342387b2d3cb82c41cf21e61add1387ef3ce3816786f2e4440200e7fdbd102cdad630f3a581550b793c41457f158a5ca11c261b1777dcb143844b496877730a6496703f72a6b6eedce90ce95d258b933b628ebf7b5924b837c83b41f532e447d60fda376d044180c3c6d4abd1048d4a71376be2e48031a283c80400e7a8420e9e150c41c4f820dae24a132614469c4ff1486ee285adc3a860a7ecbcbc2ce43fd65dbaae8b5e507c0401e716d7b300762d144fc613d67dc3b6fb7af6ca69019e323eabf77ad93c4dca28f6b94c0f0ca4736ef91c8621dd4804d3a00f00c739c71308a234648880cadde17a9f1b131910a9736879f6fd002c9d9d43e09b8ad01244c6d5ca53bec9ef2c91d926091a3eb3fa56815f58f7bcbffe04edf83315120da5330ddc09a655bbeacd9fcb55a8ea5981dc3edb18a958c2553b0ac6030048a383057dd3b5fb9fd20b4015990f09f0cb2ffb043279758ea06e485328594efba98f831bc8d1c82ded08fd9004451011fa0e9c7a56a2f2930f3bc4b68cc19a0c93b90df81a8ad5f7d211718fc7ba5a0251d7f721406d884b2de92347dca00800f656a8f64d9e5e2190e87e088ae556a1d21baa5f372b83c239f767caec3be89bd73a3462fd91c1133e641a3443f6920553bc27293bda4f608b5e4c4f2440a9b564e827678995f524d41b23db7280cdb0fef10fcf733db888dc39d1404a2d8616005494661577bd7183d847b3380c44aabf8bf65a9abee855817946586ced8554b03cd2c41fb418737d6ba70c864dd832095c181b516f6d8e62f25632adaf3dee5098675e13ccd96d7e0b0668389a5f21fd879efcd9fa21b6c25fbf485798ffd60700f714babeb95a7e6de8691d80a161772dbb6dc848ed52749894f6f857119dbc1e68b0f07310b30ba097af490fa42459068899544350a8a9be0b028cf126d3a03ac4637792ce7fd74df76f2daf1003c70053f77d23064e260d419db3ab2056371000455b49fb1584fe8c40e9d59f24517b03f3a8ed106801b069745f822c49ed90b4f0d996c89ee08a698faf093a169fb213f1ffcaf6249e9c2f6e52b87b7d97266ce40952c88336e3ad34bda93abeaf29c26eda60aaedcfd6c56c1a347447be5d0700cf8016a605c298cf8b76963e481d325bb26622a10bb6a0c14c01816a3d1a08b270110faa26e7cdb1c8ca7d246f4ffb065e5aab97a7b420a7c4bdc704bf1a9571b9e2905b31e7a3eda4d3f9cdba2d324dc3e3685dfc64fcf2a4aa5fd320631b19006064a916ab1db8463adebde1122b98b34fbf8ea8f11a68a314ca6e2b0bdf9a91495997d27a43c75c2f0397d5b3ba8205f490c9fe70fb23d1c843f3beb7c59845ee1018a962c44c8e492c35e973df88f0c8cc55aa0a7bfb7ba86943174784f90d00e28419eac661392d70f57105daf158758a14505a92264dfe1899219f6866698a5edca5c64ae46adbb82a23f9750f6713f3737f261e9a36db3204208e19b31032a7bb433fefb84b5d1ec94d257d8507ecb530ec6e3f78186f4f20d4d091ddd30e00fcaa663260cd27bdc80cf911a0a391012822dba489bca0a74ef7224c466dbfce52447446306baa014bdef9e0d3c5b1055802db98929e095066d1d68c28113b7c89ed799c2ae4466ef526247c9597074785c7a7abaf5abc7d0b0640c06f442d0700196cd5f7b03a2c5364738a9c062cd2e538d6b8832b8c7b1088cef7800b4a748a1e1afdc5dcd563d9104ca71a4ccfda06c7f231de4c8ed321abff36b909883f7e1a20450decca80bc2631e6f29dbfe3fe97a85cd6ea8d4c5af1ec3723241b9a0f006606beba9ee8eb36bdde43c84e5e381c1c184a929f54d5a4f3c1a3653201492af49fb8810e6057669706ca70a74b67124e4fdd659a32d645e1ad75fb6c81c6f6434c45b1e959364b08b610f623b2dcf6f1fefde7494f83f5e78cec3331fc420300e102e73bb7c13511b0c8f302d02ea2bc7da13025da888e2a8023a9c20e6416dfd8cdc345147ec7c4be60322335002f0a74d4558960e4ded64f4876a47e015d6351af932615b5ed11ccd63587fc65215c88ccc064c7a84cc3bf2ca29a82c4fc16002eb172fd5d94253418c3f413126b7e277aa9af8ce25e9dda78a44bc3286fe0008a031171ad2b9246e79619b41870d20766d9153be1823e7e8fd8b3d6fe0accd973f097c8eaf899994889993058249777362af704cbcc57e521e9222cf6735e0d000d8dd4fcdce6278adf853d34e62845b185b804c62eadbbfb63db0747751638a5a956bf5c1fac6491770f80efce4dc516f9df63ef874cedc20d94adc70a3354b1b6f7565d22ee13b25b9b59e49daf2f6c3140cac580c5ede09be802696a17520f00c5187d3b4ad084acb50da2a8aa8c66d829baefde675edd6691974d36c48fe1ffca141425e3ab158e3c75f1c3b3de521112ff41cfeedb52acc271b289c5ade09672dbab8b8e0ef486edaf0e71422107c12d75f25e0e25c889834d47c9bf4db70c00240fbb23cf4f190a6c091471c8574be52d805fa9fe426e3193d4e7822ad5e782a0b967e9337ea28243f2270865d1e304e8b4a3b444d7a464a460e97aea1fe55ebd1768e512f5d63bdc13bf5fc00bb9d3799b345f48e8dc54cda480da9ff50c0900afe80f7193adf72f7dd0ac9784929a762912ec2bbf72adadb019a87110502b44e6f9d57460522ebc78302749fd6f410df9b26bd540f69962a3e8fd2c841aff1a2b13a8974d2b7f4e6c8066b24ef0afa1492a079fa933a002108d2982bef8230f000386f590bb6e6c0bc173089443534593cb86765da8ef5f6765493668b2164ce2237d9d0f9383959399b604e526f39c0b3071af52424272107f927815e12f7d10690a71bd69f4116766eaa230dd248c427fdf38691a7d956f3062655782db6b0f008ba3ff169f944e7984f7dd4185128aa178c4a7e40168ec11a09146f86196e1175e9b877ec1e9a204ae967893c7ca3500b9bbbad5edb6e063095cb6070d764eaa1f7fa749e74ee7a9ed974f1d1831698f7d003a03cd3c987f0c0803a59b99710700d09f3debd773c567c5d02a8c6177145d009d675e21fd971d7bdbdf9a81bb07a10d4e59feeca697a61b2717350f696b005b8307a81193004f0bd27bffff8c5e79259c7bffb13aa42852fa2b02cfdecd13ee4e695eaacc8c62004b6a86cf596202000348625941c164d7128a5e2650e90c962d06622b55e5ed83cb035f5b28bf8663bef2e6e70167a0c89b8a2f1d6da5bc157b4c6b35adb164ebc3287fec14a1f878eeef9fcfd8df1d851a60af12d2ebff5225969e1e1ed3f7aae3f0e1597168e307008dfb75232b683a8e158f503623c0d348d96c7add44ba6bfa59e5c9ff00d4cea7e8ef00271840ab3dceb1fed3315e0b0eebc25a60832257d267efb294d6ed3b0237d47e431322a1562846620dbdcf7a7a42af9efec3527ddbceb9f67b10616012008e55932b1c18e5c949a1e310881d407e0717141910893137fc8985792abeef26652426ae9814fae62c97215815d42315f163fcb2f7b720a23e5eddaba79c714684091ed7fe68c844fdabdf8c4676849a39ff6802bf7ccff243c042df51d03c0b0050826e4b1daec5e8a85ad2fe424779ff464018377b28ea2ef2dbacb2c2d96f78df5f7345ea05656ce9a788845500be0412c6f1339bdcc3de94c7b0174203880f4c5e7aee881d48c472caedd28bb8c5a3991245f0d29498fe720af13814211e0c0005964bb7da0ef2eb94e539f18ebfa08c3654d7d80a8c3680213b9c256eb5c140510a76e764a15778384d1fe03edffa15689bc067af35d7f3f5839abee3d83fc3097c9b73b4c7bcde06b0183050d984f797fd24e56c75d7a39f90f8e687a5d515005aa4ef203feb9602a1ba9a573f3eb05715cf8c3f37a164204b8c203ec687ad3b3b415120e4bfe41869f6605a27bb4f089eeac309062485e795788cf8df853b66ffac89a11de85a2c418015f3ddd1001b7fc844b871af57303105694e77bf55040032a245dde99d30f286f1fce209d2b0b4467618a09a3b656d382989798b70a14a2877da1bf0fee3e6a404c8aec97e72112e4025093e7c8fe4729f8be3beb49d991418a90796a13bc5c46fec77700f6c75e2e3396fefe57af4dfa67e4a0b913a130024a88e52e7ed199502d5c84640025986579872a19e58a90bc3e4661618335b18daf33a2211af292cf287ee49b372fd0306cb3f040e13f934563f3bc9eb0caa3eecfc1223d2cb5f4bb82d9ccf2472014c53e78ffb45b40b3c8bf0f1b0f26e73190093476229e4b4a6530fb982a4ac51eebef952fbf125026a4fd02c895e0c53ee57574df722bc938dbe2074995b4d2b620acb5f14f03d9120323182a722a8bd2a359ca89aa571456a81dfa1e411da10e545375eb39e95f9876fa701c382d8e91a0800b65ecd44a34219131ecbba9f648717d1c8fab3d8c9ec308228b43512ce2de84c973c7d8f4bc64b82fed472d42ddb0a05068cc56be45200ee11a0691bf777af220a7a7c2c970e5c47fdc457b821bb6c5218fe99723257155d4688b2578980c00600039f185f657419c55d02105905da023d70793c3f91d172a8a1c772f5b303724708e45dad08f282c203991e56cea37a02dd78f17c5db78b308d8d8e7e6f56fca885ba7fbe9b568f0bce6d788ddbe69886e44126c72e25036b9e44f4863a5f4006003b7f2ae132e07762cf9c3d7b996598f356bf16936a6f8f316f4c1862d1a85ae9dbb7062abbccce9b35ab029ce895f20368a03217142b2818c08e2848d6e9a65af083829d761ee9531b8ac9e11de095041faa9d019114a4c0125b53aae5b92d0a00f0431df0fd30e17dd19cbc6c6d4f161a2d4195b1522aaff08e870387a7ce1cdf7f11737821b0f781005fcf7df5bc7108f0d71dafc6f27724dc65900ed9284e29e7297d3cc824918f295bab3304f8f6ed820a5594c09bd81a6da69649ada53602002c5a16e99a6ba110f4cf24a85670c46147c3e1c2068c5f40abf59e3351726c47726449968f1448b11b670631c8723706013b90d2242ed8d0bf4ab13c50454a5bafcf19f61bb38cc4aaef3b2bcecc80fe7bfc7f946a0418941c771a8a1a09bc130096b3cb07c13f8b282db128b14ce46f873b9425cb97050908d22b7655c0fcd393469e5b1d9478b252e97c384960691e09c99b39084ef41999b59f3a351db4133b9e219cedf855076a4b1504a52a65cd4af8dce04f30bb741b9a070f70dae5e90500fa76fe552659d4aaae0468c60d16dd3a4aa59eeabd330ae33752ebcb63f16c266da68d9982ae6073d16031d1b9732b0d2bf55cb3a4379ab5f524e9921fd3a950ca7790e9feb6add7738351d58d88fec47bd0e7811746fcc8a2ce6989a7ae4b0700b5044c78da9cf72bbeda91e39b4c5be10c47a7f50940d0fef74c42f4d0398c48164c209f822c12a6d190955e2bd75d0cbb91f87aac6a517716aa21d36c203a88ceae4d7803d3d399a643d79f5dea868336e1716246e07a1c011fb9f4f39df10c00c07f3fecde47ad0aeba4e84d32c0b5c6aef4096763fa6cd024d54a7dc65ce9e79c5928fb4566f9a643811e34bbc73a0f56ec5c0ac664d50cb06bb94a88114e7605f05a19949b61becdc20a4966e0c8831c7fb74f4715f011640035451c951a1100533bd13c593920799eeaf982b032a29c16615d253e785a8b9cbf3f01c12e4346a2c9c39ef220a656b51932b1409c6d0906188ae8679ce8667fc7cb097d2a04ed7ca86105f358c9810a77dbefbed7d28b47b64454db5577cdf85539a0c0a1e214003cfeed419734ebc4859287a3ae6a41ffc567da45fe75da5fac563285536c10b786a6a47e5e1dced493016abaded8910496a85c5d4563955e3edd6659e70331d9f0e741c0926e71bbc438959de68e637047488f915c1eb262efcf31e32381ce0900e77a204993020d9a5cce0a416c7731d861bb5e3774b266b4a1836fc713776d08faa5518e704ddad157f5e52b9f5d5213d023091344726f352c3c9e888013b3336ac1931f308de2d8dd9c6f6cffdd97a1b8fb2d418673a10a3516264c592b9f0b00405efd05d4b00ef726a140c0737e2ae843b99f465741b142cd7c9f991620f7fe99ca304a799cb324ff131abc0f347a0e73944f77ae4ee85e81eff1b2b84dcc17e66d11ecaea544c11f7a9bcfe574296b9c1920a1e8ad4127224c33fd62ab620c00280cd909505fd86b9c3c6e30a67af28ab2e196ae4f096346bfeb62cbcf3ed12793279a11d12bb36163faa066c953760ecf22cd79290b20af2e997880e354b9f0eb92e05c80ce631f80fe987a32d1d32e9f059019c3240731be2f43b019c0560d00c7b52b3066bc4ad33705eeb8ed5bc54c1f03d2506446bf34b6dbc306f7b2b14b6753e72e8762c97d6062c4057f6c910ee976b3bc2a543236318269c8338e5a92e22bf8b52accfe50d289513a18967ed90ccf36c9bc255cccf5bee143ff2d7203004b5941dd84c3a09602eeda6341f95109fe0b82d6b5eb06e6faa84550907bba61dda6a1521c8406f6261c8ca569b8cc160f91c8586625cc50f0d14f52ef6fa0ab3fdf0fa971093be17f714cb6858e0a12cae4b6efddaadf4e3aaf62c1a6bb250b001e4dd69a8bea9846b745f21a6af8cd560656d3725186f14c009f6bc84bee2880192b6fe34e765536c4ed571ba47170125cd7ec3ebe5fec321fe5cfdcac0376ec7a4263aed64c41b769698a62a2e1ea11aaa78cdb6243bbaff2fd178a874e66140081fbe6294524bd4089aa1079480a2a36da43c0253f3a32528f181595054b589096fff2cebcf2c8c7b7adbeb069752116ade5e360eec472016d734860790b1ba286f4d1474a3cb20b013292191b4508ce950580926c57a199bd27ebe6f9c730080018bc74b02bc06338675523fef833e90a1d36496c8ae0fb5b586f06877388c195fd9b3cd0905fcffbe3526e21755c6b08afa6b25a3c716b8e079f5dff0b8ce5bb6d04b1f4228f7388c0454aa2a8a7a5af8ce38f13b3d7f524b1201d38f478e10800791998632857843f1394ccaa0766f14e16d568ee973e7b014bc96ce61416a4bb052c2c021cb7f43339519d735c45f90838c60e5ab1cc5a7310e5bf10b53126847a471f7b31ba284e8d60d6c0774f456f0740b30ddaaefc9f8bfed9064c7d710000fd41d8f8b82cdb53cd0c66d5cc41a03cda35fc980e89b04cfa62eccac1949489857e9966932cd9521bb42d836b9d5b16df03ae999acd9c1f54cc3534145eadc26214bdfe0983920dd69658740eb9a9a43285a59fcf76a7754ea139bf8b8ad70000489a8891fb22b65b5786aad386c24d4e43f192247b834294d2fa8e896487d96b300c3628c88583c29621f31df58da709cefd0345aea14bdc9223d4cecdac13825980ee50a91c4daaffa878492983eb6508a905bb5e77620cdd2d472b4da7f90700a896e9a3310ed97569e71c81b3cb4f382685cd1cc3d6a6b09b455f197061ce1bf5e19f752886839650c1fd24b1bbbe0e73de574b6327864118bfa55831e53aced6de53cf147135a6e30657253fc2e7a0061b6477eaca215d91b6373c8b6b121600b1097061f073b94a83ddec6e6e91662e4bc273c6083946cb4c9051cc3f5101e2cc3adf2a71fcaaff2dcaf9e2246d540bc67dd417b114d680db823ae6a1a69b25f5cc5e90b20e56e813699525711bcee417fa4a06b096a0665f7e8b9a21159b0f00d18f584c685e561f41d3b6b575f7d5b2ab9fdd4d302e4452a2bf633f83b68a907affdda11aeb57f6a6aab35942aea60e9eeb1cf146bdc4430803d5f51e808b9fcbcb852b01fd3bf3dd795c4af41d12108e0cdfd9a2c5a3da294a6d012a00ba14002bf3d7792e3e4112a1fb41e28c5970fadbadcaeaa363a2ea1a03e6dd5c8a6da1d207665518f55a6a363cacf68937a308970b2be3c8efedd54760f0ceb13390631d02e9fd610d4bd6819da8c8b802617781a2dc00c87d91774c77b5aa29ad3f1400f657724b8edc31fa878bf693d6956fd9c16a3e141fc7f5dc14d4d8b30f85dfaec50d0626bec4f3de0e22cacb3cd41e13efe606e4e5dd65b439acac25ce9437de856a96d8dfc63dfc028f3e0884c9ad140e714191ddc94e5be89dcac7ca8cf307006d4b6e0a977a95e983850cf88b5c8a48a0bc2d8d359c135a7629ae5c07a309d4f99ca855d51e22bb0cf71273d04e75140fd7e5c180d65a355b0c1bb519f3daa0f83ce70f1bb091aa23314fddea0aed93e9ad0e6661187ae7a4f4a03b19eb5c0800f2523a72dc492e82ee1cd2a0f994b637ca73aad8121469aa23d925cdfe35cefb4d300236ac46a775b9f09735d6a9f2097d1a5d8e13f6aecf2e586c0767b8ee83b50fd12f5a54009253f8cad36610abf8762d37c66b07aa70cc89c2b30a333c13009d5fada2541f3b27f52e136982402df4de248b79b8fd7939625bfd0075c10ba926436090d6f3e14800d63fccd22f9703abd958dd6e82815461a1a91c805f6ed38fb096fec1c06f6784fc6336c29967abfb7df147a7b797b8c724c0c8405a12190022c71bf0f56b8b81ee1d36a56e090093da86675069e32fa96f1b3ad86cc1fd66141a79e19c359011a59e2f3836faca0ebd05efe5e6f23f4e6e8f72b218dc91316f1caa539bfe6631fa1227a70787245c688530500ad4c23b7816c5da3b33990700f6bf466d5598e10ba57c0812d0d722f38b1cd35f9e6d387d3e91f7ad72ee9abfed3eeba1f61c0edf040347762effe303d1e9414548d17732cdf6cc98974c4dbd34bb82105b4fe39b8148e50b6d1740afa772f1ab4b43a5e68f95e05f5933de04002dc55a34aeef244f47f38ae86e6eea054958baaac4ba1997ebe1d976b65b722dccfee8726d9d99da156076452b06c30225587d247ad5e8688372575c99c925ffaf0a92c67579841508adf9997799ec40511e65c16fdff9910c5eff670b6f32000038ac6cc1609d7ef0daebe6096d520a05d74ea14d84526ce5be5c59566a3c2cc37838a99f48519daa85dba1d864160c051c95f83a765c56cdeb94807e5bc415dfea224cfc5bbb10d45fb031d5b829b94581d36d7b64de81987649df566ffdb40400b3d2797b2882d7518c91091c3e7ec304355a2ea160bb7596a136022d567ad41cdcc5d6f358ce2327fe714129d03e30155dc4aa1cb54948b3fd4be7da82168610ebbbe0c77dac8df5d9c4ec98f927ef0148963839045056c3783191e62a6ac806004102be4e0d7dc836b760c5a05b626d88b06eceebb6baa26f9288b91907167853b37add5a25295efb5f3da533630c010e657780ba360062df8552fe4acfff63861747933d4452559f17108cf05b5d5d9d0b76c88ee9865812ed07bb736d0b4107004b5c0d2b462e7da28c009423d7f49d569ae907d373e93f389c68e3ae0d6c40d4a27cc5bb6847d35ed14ffdb92adaa203ff85c0b936de8d0e07dc98c0148c692faef8be42352e1b8cd14377389f358dc559b351349f8421c150e40c55d8aacb12001785674e4d8592e8b13f17882cca9866e1a4ee66d5de1aa5c45c522b2da4277c691ced60c018b9c324d7b841e1893015cab6046016fc79f5beb6aef53fe51295f23877dfc53ab324643da30c7c9f5a5324af326c5eb6c1b91ed0053776dea1080021137e19d33268409c314b0dee5d43893960d32b01cee5edc67c0239b0a1cd311b917671039ad957a1adf5710e30c31564224009e903c702495b6e32415c7fa7f51112c57f70d37d49d92e9a0594958f63080f30fc0e241f3403b49fa54ce708000c6a95d267047d37067b65b1b60797077efc0936fe3719299ea36c2c6db5e295f43f1566c54d21dae8c31727cbc5900e40cf0f782292703889e8a2553850fbfffadcb099a852832fcb5a966481c176fd31eabe423d48461a95c94c4c34997b0700a8baafd9edd976ccd637264d30551a31a363e1865fec9f8566b345ceb8fd23ac0cf78f276879dd760e6284fc22f71d095a36fc28d2bd6a0bc662330b71a4c32b511e3ad24a2aaeb3e8942293415f4ced35e8c2465173f2e13fa55090c300411900f634571c2b3d7f194b9663390ab0a2533d2f8e45d8491854db2061ddeda1717a1afa5073e09fa81a01ab78b6b55282012b3f969775f119183802053e5f933f238afae0fd8f006e8a54fca09269ca3176c364f8530dc2379874da7a4caa9c6c170012c7f4d6c72f95516dbb6ba05f93194c95b17397a9c9f6fb10ca56f9e1b519b4638747c8d18b5be384253241ae211d020c0f6087e74fc52d26dd583455e7b418f147af85824c94862c0271bb4ad6ee03816f66e8d25371cb91e91ddb1e2e29140053d89f6340ea1070b9d91115d5b6bea6a96e99be9b727d0907f63e43551b551ec5876781d14e841dc609437825e86d0964c0ef9f1beb4876db877cda47cbefd6b107ff537486d5176f2c75f122565228430e60f3477d683bafea5759ca025f1000b5730a8b6b2b2bd115ab9ffe3b70b0dfc5b6fdc0321babe8865844169ac4fe75a398d35a4332a8297156af720f369f05227e4ea20228f8dd8713dcab3455290c6f4390b543fd11b24855f8c73ab7a6ed7e9389d8e8f98fac2605fb4fa4f7921000fb6e747048278fddef25368137b653b4fcf04b23347dc29d5c3110dd9b06b014fa18dc25185536f71f07908d849e140c9f6d7fb089c59551525822b2df5a52edb782525e8214f28e10ceb24ece95d22b2151dd61dfbe794656b55ecf549d5918000883d93aa215ab0317e1f6b957a69243b8855c4b542b89a2fa2e57e9ef6699f1138b1464574e13a064db219db3fac807b4f0f4f4fb83a021044e5c7538ca0d327e5c53f43a461da90733a82c2c24e5ff0a0d2eb8d125a0c8bf847bcfebc5ef1800cdbab579398a08080fdb7205a47722f58feaf6eb39253c5a2107269607d1125744a85f97d85eb57fe3afc75a0da2fc176d4c8df71530dfcff0cd8a6b5290d4a6c0e52df579ce5d6357380a0c68734490126c20f06f38f140180763232299a80100d9240fbd04690ad1340ced211ce1d7bf47b748664c5abc57450b67a9c946b0fb87a2862bb052f6402c4db0177fe0af0bc0cd9dd33ea59a8d6cbef0b35eac8239b56fd0caca0b3213c54bc5e0e203838918664acecd3f9a91df3d742ff2d1910200a99221373b15934d35f2c04fa1ea520b5ad78c6c6fa69cb9277ddfcd406572c9023092781d604d0db7493d451ed87b13981a1dbbdc9e3a907b1002910b167f5729bf76d7b59e640f2cea5213e13f26480fae04b9821eb508e69e1eb13d30370100bbcdea43e5ab4b3e58948a2b364af90ace4b78c32dd02dda9e2914ad00f216f3e8e1b0416c14330a52a8b9d3b29d8307bcca8eca7393c9f2db26cb7551e5051ce7dec79e72e04f02a42dc7831f44ee6915ae3937a47a2e6f473af51eef119e0b0035068f2bc355af43dfffa9991bdd08cb83a7a29c8bce6b4272db92b00b7bda128a1c6c1041728fa903de540f4f1df519408ac0ddf90d5b49598184619091625970a154f443e0cce13b2d7f0ad4d4add4d1a3509c6676df521a6034b00adc65110053622d5bf98c0246052f5bb3561fd3f22d5ba47c0ffac7130615e32944e40f1cbef011c8dbca66897073e0e55c864304d5a0f026416013bc924deb400e66b05dae2ee4b1c6e0638d4e3dc5677d50c09c91ecd83f805649eb8dc090bc97f57d07006120d2f798d8c6e27a9379725163bd6c513ecde10650925a3bb587e870ca80def97baa5c20809e30d747560b7fb7ac0f542f84a3587b3604a162f5c2d0c517b1e923512dbaa63347bf1957e9ed2ae0324ccb2d4832b6b26936b1dd1aae9e551100399ffe0316275bd83e5e2cf1bdb5c6ba9680e80b15fcc98263d673ca0ffa6dad230f5e7ea82b8f955558259ad7e0d3087564965f029e1e327ba1146c197fa41e1cef04d5c0928a3cac776c25a43a178c174e548c1c4e3aba3cea3bb9abcf4b07001d944d277a625187463460a9f8a066e6eed4989d7fd51c34ab555fd4f7936dcf034efaeb71dbed7f16360bb9a586c810aeb63e576232606a506110c051a49e798e42cdd55c4a95606854d2b97a36bf973fbc4fa76c266899f70f5852f03f4b0a00e937e4038657d9ab0638b34d2a9078dd02d9fa80fbedf22a69a5d4c2d9673f9a79e77e167525b9a5508cff851b49ca0d342f520b742ca5893f20bad7b1e99165922af1bb281f72d202ab826f918a1c09abcbe8fcec0b72c1382d4bf5219fd901006d1efd3c235021938c44e107fb83e0c32764dd9de0520b6301ce5687fde0abbe3ede20086ca1ab04f6913b6c3e0a6703c62d01f4f654b6d2866963b79fe32bc3ac890be522617fcdb029b4d285ddc54534944760627d68521c89489b1767d208003f45d422f29002698a27b67e07ed3da8a9e06783d4d551eb5b76b0f8f76b368ae77ca08baf3ef4849b99356bf613c60f2d5202d5d1a82e9abdfac80d282f5e34373656e576cdd6d03be7616cb141d3c084e604d66e40447409984ef4205a911900887fdf472ecd8b93276cb52fc6e0ef479e58dfe1dd2bf651f7b04b94cd05d98067c01e13171df6d7248b63d0583c8303ff3dfaba590f2f6dc8cb24b65306adf117f6dbb714b4ca40cb517ba318978eaa23d3f3a3a3ce76e166bd1671074b260c00fe6499b26ad11e1da7204aee001af7bc323c9b7a00705174a2be395c89c09964ab1b586e805a5c32bbf7d93119170813713e51aa8efbf9cde4dce0667f997d3edf0c94e8bf8aba5f2dc7c31cb0480753ba50c64285acea5ec999fa575103070700656d96620d15945afefcfc1f92f7060732fed1ab73c23c87967647b5a6d123054c9b4f2ade5c9a31ab4bd5e6cca30d0d6483080d20ee91024b8c738b256acf521f111fd7abda0404ce47878c0032a1a85ae3e455562ee4caffb89f3c95d3640a0001f9b27aafdb1a17e132eb547d3cef234dd709ebe64f02ef98db34b4b7e1f659d512cdb4cf2398f14ebcc5e55a509b0aba67c7e461ecb030b383caf51c97fd1f7e497e480b834b6d51b3e435aa47e736402f289721be78f765260c79672a111100b6d51b05a0f85a148eac40596fff88d8fe94d289a52241dfee3eb403482163e90c17adf85e3bf0be5b9f82ffe9e85c06eab861c1ef01126fe099abe33664c7c85a73e97b89f22d0bedf4169b2aacd155095235a33daba2e2f4ea1c6fb997e41500741d61feae2216b1ed1e9a38842078840d22643703ae8a6731f36ac58491a1af021854561072d53441209871f8ede017d64a9d2219f0b636ad1743ae7b42b31ceb1dedb002f6a80a9a817a7263cb1bf08e1e5243ef03a96526b46cb32c40a8190018710ef666ebc3fdddbc63fca60f62c70d21c2dc01fe82f63e0f7d1a618bf66050bb7e0623494af73f66605eae636207ff3cdb950370fac922bcb25bbe6c7dfe5a2a07f3795be1df9d83a4327b19f53bc66914a53d032419c56202bb1c338f170022a4806a22a0c0440028b43713c9debd1ac41cc3ed04a1c2bddbbf36b64c7ea5dc22301f61f34c14da8fbfa97a2e3804c760396ff237be360c10d53d95ff437ffb93e8e34da540c6332f35f466e4e45ade1253516fffdbbd5a3d1674beefb11000ea9698ed9dbfacccf69acf48b9ace5a58b006d2f96b72b9ea579a8405ec6f14fa65ce8684ce9270d58d6a25f74d25403cc74d8b8e450834a775dc3db926f384490129447511675129747346c410dc620b5172590603af431e7830b9d72670a0a001dcafdd46504bfd46de77e18d4442f07373680c66919b20f2290d89fbf02adf6a2a99bcc624431434990228f3f650208158c3af1097aead359b5027ee9478da75fef2a5d246481ec57caff6e138d4eb4a5841dbb313a79a5d9cc710be12462000063fde4372cb77664a945899039e0db74c811d6885276ff4e1272a5e63cd19b05b4736da6aa5cc415787c56dfeab131021f972d139e01207f8d5de67c690bf944d8704606a32d67e3dc85cc5422295ffb1463e72dfd0ef74d132f4c61e76c8116000474b7b363a9f7a27a7e94c9b9971baea886467e803488797605981f6a9b7b500009941a49ab034b28fcc93471286c0a633a500a516b4159521177825b82a025ca508b33801bea5311e2a3a58642b468bc1261140f5ec9ef120494a94a45bd1300433138a6a74908201fc9c24d6f4a8d729781521bee8331f26f2b5303fd32ef04d445c7839c9a195c6dc14a8e91ed1d033a18bb8a68abe165d3249203d57abb3496fc48cb73e3fa0ef8bcaca71a9164beab963c132002024d2a249b3621b1cf16008a0d771629ccb293f7cc2f3e5ef5f3b5b674bcbba864edfd40f4ecb91761e16814eeb117feb4a5c3812867051074391551d97273aa0e79a1cf23dcebcb58d93355e3fd841ad9c21c19ece20fcbb180b13bb68632930257a1edb29239ebd4d40900c243ff5f74bd2a6b1c36c117b05a9b2561f2e5ff5d6e814ef6431451b40c64ad436e4bbc8a71b6d976de0ab59d66dc115d41cc1e9ec18a2ac7aa22b18b24990eeb569148f0e74ce7f9d4a4675bef38d1121e8241e852db9f6abad76c8f46a102001acf07c4d8b5f0c0afa7482b9b326f3cc531e88c817cdd198f3eab4114f8325ee08260098e79d24c0480a16aaca8a50fbb49ed6fe833906b252a9cbb8a58319adaee892138a3ba7cf4f74d12f712cc7febc202089e9819fcf02dacf092eb340b00b686894230d6ae4482202366c645b24ef8e60c8f04b5aaed1d1347ef2cdee70a2d9a1e44f9ddff687d1936a578f4121431ca082d44f6b2213e964058531ff67b9db60a28a8d3aae3846f0d5b2ee7bd442de697de761bcfff069f5b926a527918008d0d69ebef647d73747e12091c68a0fe9a4351b504264e97b2ed1af5cf1de1bb673acec3b7aef8bd1f43a40310d9710d9326866fbce2f2e564d8c4bd685c2db3d2208a1ce86349d6342801caa2f4d313ef2cfe51a22923aba317f7e2b185ad040026b87de7e932fb97f0eaf6828dd8bc0a27351eb09834069352104da1e48aa470511a0a396827e03664d09555b4cced0f3bef28f25aaff793e3af9db46a88ddff2db9c24965d66656f1f8c9b391a2db09af2a1b485e0b7607457050c4f24f6b0b004ba6dd64bda6a441a7eb726c86a76b6feb35fd00770bbe56da168ac843438c538afd5a87f2e9228f5173f8a9a5db5009fc290046f3537f4915b265073c1db2313e8ce02a14663f0c950e6c6e3e63f44988b88051cf698889afb2bffdda0a0609002a05991fc416a245e3de6f09b62ef66ae02a90b8babba46adf2a89dae1f281bb7462b72469f878ab98e580cefd38e9172ce422a8029151b7e3f7b7eea90fcbe24498a6eee545f412b964c053374c6338ff483a59bced99af676144c11d6c2b0000c425bdd0f078b4c9ace2886c79f7f3f766598293d8968bef3df32585bde06d328876011c61cab050ef764df6a9e17b0bc8846d1bf14616f2c4a1cf646a8a1bd8f090564427d9545d77f6c73fb1eb435db00d68ddcbc102d813376f361c65fc1500682a08cb919a8e69d7c079c4e595b3ee8c626b7347f6b3fd69a8f58617f17fb3f1860e3acea03466ec4c02e7f7b8981003e8a1da057e2a9f9f08e3feb37727f94e9ead7a51fabe577ce4f5fd1a6a4dbb25693d82b3472cac62022a8920a3020600cbff7a73922e41c4bd7451fa7457223442a600fd97719009511b06dec30e6bb47911ec24f5c0b88e93351f7b0ef1561488b402153f96e4942b139f74c823a942f6b3e7f4920b1afbee9ec002572a556a1184513c64f32587080c76fb8099330f007902b0d5283f501ad8fa12a5061218d53e3bb226bbca1e82ab4235483c8f98ee6e6e89587dd9bd660ee8798430f9d413a93ab9d3290c061660a723a518e546c4e8acc8d2c15a2128d436b97ab73e9613814a61ce51494010ea0fa5dbcac95b0300af195d1eb4407f795d5ccb5118c31abd00f79ecc76e878d82974b49b3b238338aa10aa208a53f484c1b3c60f70ca370ea187dabc4b487dd3b9df151571980a6ff50f62e730a965099973b41ee758f3011eccb36d9bfd05f0b9094ecab1046a190039a4693c41e1e7bfd10fd47f6250e5416d62d6b867dce7d7a0d38d563d0521e44a82ac40de805370d806b74665321307685c02a7766970729c315f9d66a41f655dfa75450ff0538c21bb22e5d1b533471b6df3c20a0fa143cc97c3a1750a491800e43d86748b0f6059dec924603c0c63ebb249a75905804069b7f5a40e73949cb5ed3bafc4612ac04571d85eba959da01730e69d958de8d8bdaba4b16d318b107c5f5aab0bf450d84951df7a1e336cfc30b595fb25641243e130fd21f01e6834120051f7ac6e19b66c8535be8fd1ec8d096281f952ed61a85755190aa0fb74e6628e3c3518d1690ae2aac305ea8702adac115dd6d4b73a710f3c3cb812132e542f49717d023449f4da4cbed583c69ff75f2727bb5f8be05e3f86bb3fecc8841c0902001c28a1e734616dffb901ec7795016b4d338fd45ce10d7d918c9ee02a0a03b8fee68a0bd051081519a321ce9f16b7a315668531b3f89a7ed70845b3d320272c96bf5786120c27c051a50a0d3792e4a17e899cb38b4f63755b08fd0ab3a0eed80f00bae828094bf485e9701718e577366f0835539f705a4c114505ecba62957b128a5bbdc342368b2f5a91c5f5a6e4c12200cb0577a91c565bf0eabac75ad08bd5c1cff427289dded8e3002f7f340d504182a8116b7813f8c3088b85b611e705c3130075964e31c1327ba808a879898e42df13f1d0da53aab0df854c8e70f62dbf91bea8945123140ca4a33876c5d0c976f201edfe208d5f511031cf32bb1b6bfaea9cea7bee8fa7fc11f73e4aa0e29a024a0e0b29d1ee1c6b950c0a2380eabd4a101100847315c2ed5a0563a7f8df2e609f4bf1eef76a56f9b3f9997f53425893c345cdcda229c3adb59c160b9a6dfed7ebb918bb878ad6192504347c5619252e8ba06dcbfbe5d8216043370ff9f577457edd4a623483df1e919eecf56865ad8e858e060085a799db69f945d92f282a0dea4ebef5e9bc2a6322e74e5693c526877b214b6d35e357e071c65ba8500809279743780621af088a47312a84a26568f3be281f26db30433912f39bb936416c6f5bc184e43e07bd441ad0c9e461aab8d7e0eb010000bbbb1033357fe1dfbcdbd8d6193085ac8cc5ceaa9bd0a4ccc865ac29cccf97e11afa83c97e8162ed6e79045bb17e5102c5d1cc37878b23364d13dff6407fa09dededab2a6fc13e2701b17c698e7168447a7d7d3bd3cbd1ede5ceaafa162293050099b68e74b74e887e059c4cf6a04a9a5f99411c226d4d6c33bcf8f4fe94d6dd422061842a45c71cb764579ff10697ba16df3ecb04236c98c9a4aacaf397ce3ede5d921978439fa4f4cdebf30cf17b58a909573f6e814aed20c48807cd4e0c620d008e261a5250af9017760dbdb64f0023dc22dc441b8ab4e6aa8ca0c86f93c63d013a390ce7d635b921cf7e98a0bb2bdb0af5c95a53e9df8ceaaf545d8bd3c245016ef45bc11356e60bb07d3ced459737cafcd5449c7805abd24414c6c4249d4c170069e1621dba4f68539d080819e0dbfaf365079862d6c72c597e46e15a41d6d2cdfc6451c25f2a1da929f64f09a581980f8194838dfcb700c7a8ab49db759977accfc5b554909e685fcfba565bbd8ae795d2baf4f9eb8b71e545643536dcca1f06001dc922a289392c737c29189054492633fe9fb1c0e3cb2a58cc56f3163c5268a05d3da4a8f95a97df1cbfc9ce39c0c208268faec9d3be5aa487c961ec97d199487925674ff9c33bc26840c8f16d7af22bd249c38891965295cfd51b77e016e6030020ce2cefec6e1796ad6db7330e0f6068f843524c27ad804e91eb1ee7c6993752c4feb525bdcdf058a7bd1c49d0526d0e0ec69347cdad3284e5b7e792a07cccb1644ae44f9e0e44a2356416ee364d8e7ed49a088f4b416523ff766d5a032b180700642b900afe1493d72799ae688b3063cfa38130ae1f15d2a59e94847c081c9204449923b8596ada83cc2083f4037f1713df71f395835d74db6ffe01b61fe794f2b362abd4b1f63d3b1b7a72930c6694a76c182104bb77038e7a6da93bbb65ec050028105c001ad10f2dc0e20842f44bb184d21f2a015c2be99d7067abf8731feb0e6e05a91a4ad9c5a1b112c71b35e9190038bc2530aa8ee2624e3f4851f6a567be91fe0d8e37aef64d1e08679f28616f21eb39fce07a38dfe8efe4f648442373100040d4024ee748cb350a0f31c9bc217d7a40e764692726c5c86b6dbc6aaa804baa1da847332badad2fcd48c83353148911917802e9826b5cb207e0b6514704d1a302fc6a633d5e6e2eea20248103b4c2b43096463ee89fcc075e1db6ff53b254070047c0f8ba2cf1e9a45d523414796badb968ea218dec4806ed15c56ac00d066d234065bae61f3b8657e479f00e6eb1530d9d20493f2a844976ae3f2730b7473e41b78902c7e977d99b5b48e5254651c863cffa34f2e2f1718898f453a60da95a0500a8414beadb02c8ac9e9326cefa8e222dfceaf98566d0860fa5a0b81882e4586b098b7ecbbea06d0a140754b9315344100fc197e33e02931aadf5ca7638706b690ae172594dffaf2fd760dacb64bc184575a551f28393205d687aa24d1c234516006fa1d08fff28379aa2aebc8604548e70d0878ce56b31fa010621e8021b38b7b60efb58710a3ced243c3fff2646770602b49b8d42690b54d20d4c48921e15ab1b7c0fb8fd37506d063cc4ea9d68e0012430ecd571681d533e76226ed80cb56b0e00c993ecd4597df9a92782e3288dfb61539eb34e81e2502a43b6a613b6c19677e727432f40f8c1dbc41741a46f15eb0602ef3e45fb5d8d9948bf00c1c130a58d936b4db7fc76317ddb12f6018fa3f27e2a8fb3dd17ad21d0557cb3e5c8b08f770400a110adfe6622a8a60f13f1426cc84a51e1f0aa89d395029eaf2f9f2314a306cbc3858de7c0b48fa44aa86edb91b24b0c498713e2e5b78309672d6eecd9d2e141b88f9212f708ac9134887ee91ef932be050529be5e515845f5882b61b4e7240300b845d9d43e749aaf9a6b92e3cf2f03ae0ecb4eede7925acb1c9d6aa53862d789efc58c1383fc661517432bfe90d0b30fbe7a676ea27317de56cd506e6cda7db581592824f143053d5078655b0407b8a9682cbc65f2f813f21d587a9af50ca10f0003efdefda581ba0c00c6de0e6e81844e517fda7c5c04f038571d04257a71d45ffa6c621b80477600281b89849555b516eb657a0a1f594b8c05e065bc9202a979e0ece8fa0341e7fc6c6456479ed2a4e99721a9f3e912998244e6261f4b97e704004b6e65245c22fcc24879d1f4c538136d541c661b4582bba81363dc0c24ca1cbe436dc8028bb9427a99c299ed5959980f6d01a0ef6e5fa683be1a44ae191af3bd0e01a7103471c47e920e54a9711dbc235b9185b78ccf9805b2c46b24b27c2f160006097369a42bebe1cc7b37ff5ae019650ac66fbd11373cf9d7b083b032e3f4181125187d8cc21d4de0db3673cc5ecf0bd0878186823cb4c507a958959d082798288e9e38aed39becb056e84aa39324de303fc9b74764abcce7516274468dc00b0019b275af7d78d4c58456c44af9648cc13d9987cf1a3240157d4aaccf97840071561c701f4e6dd1a02a9aebf57709850a27ba05f95aae2fbc5edbdbc28158d8ce24d4f04e7c88929ab34cf8b1e467c5789be76c303bb2263f246daada7c896c0a00d4a3655eeeefa7945746054a8e4bbabda0db0ca79d2aae0e8cd22746a5fb7ceff284b835f9c485c0cc8f7405dfd0210914e275157f43ff287759c06044e5727b5b0271786678ec7ff7df08a7262badcddbd13a529686d6f6c446b2af6e366a0e0008a8c9ca0658a864c40a4cfc68cdc10520d51fb8ddf7d9da9feb17dbd1e1f92561ffe76f071b4e407494ed880e3be705eb977b694a34634ef4599ff538bcf479daeb9f8b3cf91a3061f5e1c4bc86cfcd006580d62e69f978e7d59686f632f30900199158bc2e9956c25150bcb1035f0560fc1b517da9490aabfdd84844c2592f30d4482427ed4def5ac93a771f2dc76e02fb5c36bfd44b16cfff8ab6436008c49d473e58aec69e3d63419f5122eb98357fbdde7c98b02180aa9d69ea44f1be61110058c0a2415f5449183b32a1455077859a67923df12def82a7787d06192171a3920d86d9c544030b15d2cd687e107c380571addee26d3ee2789f4efcd65250fc99f198a6d20f7267e49c94ab700795115dd38993d8a5fb190c6db55c6dd7f13713003614017d8b597bf1a0a736841bc2cef6748a90b3bce06e4c1f4854c408944c798bde1a5bdd5bf1be2665b38ff1f00919824b1bc26b6184e0493a91779a7c4b33a7a544d40c649061a8aa96b6a25493d6df9e02100ddf681955b99d034265e80200d7dab0f1fde77f1eb1dd1537c61d4a80b36e66a48b2048d79763ea42d857fe218f26154743e0b03f3570bfd936956915eaf3923ac2ac8d61a00079fe734bade72e852a9ddae8f067d5a6523078c1c6a3b57ce5c40fd2c0e9fa1691e9577a4a0e0020048c42efc68e9f4d266c1182c11fb03e03a69c050ee1c55fee42ccc0e2042ad0ab70e12c64ba6815301903e413070a207982efab0fdec094375fde20aced197d349217fe0d0bba839cc0c3828b061a332060757f663e98627b5d60b4cbf2160019a40f827df69201ed0bfed348ea97d41271193b633481b20c2a89ac2a4c4e470c005c8f48a5f34c8595122f2a7e4307e6847cf7bd7c8ad2aabf54fd71a6ade6b10fca1eda770039e1f8b429e01cdfa4abfb08224db0fc71c0fe3dbe87895e1800e0bba71e50f96fc6b66488d5d430170d6417fc40642ec742ec9f89f4237dff1b8e3ffd9dd0f9fe8822896f6b03a23d14f57c1bea74e6091ed02aae2f8068f3ff459f302f8bcaf426ae884083f16a0378cc555bd62bc0101dd3f90d492622a71300", - "blockLength": { - "max": [ - 1887437, - 2097152, - 2097152 - ], - "cols": 256, - "rows": 256, - "chunk_size": 32 - } - }, - "babe": { - "authorities": [], - "epochConfig": { - "c": [ - 1, - 4 - ], - "allowed_slots": "PrimaryAndSecondaryVRFSlots" - } - }, - "indices": { - "indices": [] - }, - "balances": { - "balances": [ - [ - "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - 1000000000000000000000000 - ], - [ - "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - 1000000000000000000000000 - ], - [ - "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - 1000000000000000000000000 - ], - [ - "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - 1000000000000000000000000 - ], - [ - "5F22r1tNB9mcxjWUZjmXK553frSgW7VYXFirqwfLfYteSCgs", - 1000000000000000000000 - ], - [ - "5DvjUkY3JrhnLJiT9cfp4CW7SdaJiGDUVL1n4W56uYwzHBTD", - 1000000000000000000000 - ], - [ - "5CXqwX9o9EruVhvLzsJCDzwcaRDjSiFvuKMK3NqCgDdwvMXj", - 1000000000000000000000 - ], - [ - "5HafiwspSr7Ln1rJYT3BDk7rATo8BsVvWSyh2XGhscdJe85R", - 1000000000000000000000 - ], - [ - "5G3muh9AraUW2dSU1r2k2sWpvVS7qA4zzkSKJp3d3JcbLjfX", - 1000000000000000000000 - ], - [ - "5EyeBGASTW97veaY9EmJmg7Cas9heZx3DAfxuCEKtQYVtJdM", - 1000000000000000000000 - ], - [ - "5EKsWaTgaMyia4UsGQBCnyD6YzzS64zKnStT68Zufr8anBGC", - 1000000000000000000000 - ], - [ - "5F4gXaBrzyBwTk6F1BHwLgz6wgTh7NtDswSMX2XXeg1oV8TK", - 1000000000000000000000 - ], - [ - "5FEcTiQ1EXFhZeThLzD3fUKTjpGLYhdef7e4ydCCww1xTAvx", - 1000000000000000000000 - ], - [ - "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - 1000000000000000000000000 - ], - [ - "5GBQn64h4kQ53mTmbqksZeJmjPqjSLBgGnFFsY89CUcpGsWE", - 1000000000000000000000 - ], - [ - "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - 1000000000000000000000000 - ], - [ - "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - 1000000000000000000000000 - ], - [ - "5DFMLbMHBVL4pbfJZSL9DBLoqhxgP3373uSbRqBGEkEGbofg", - 1000000000000000000000 - ], - [ - "5GKZd5qQjVXgMaFsbaFEYLLRHbLFqWemqQishhFxmhfogfZ1", - 1000000000000000000000 - ], - [ - "5Fk8Pfu4ZakD1U1cv6Upv7ME5i8f2FiHQN5nySqUAkEjqdoj", - 1000000000000000000000 - ], - [ - "5Fpmg8hgfMKxXu2F7CzJRxmCD6y53JNTZHC3aS3ar6AFdB1Y", - 1000000000000000000000 - ], - [ - "5GGq94gxzxigsLZvG96XN9PeZqSGed33ea3Bw3r6T2eagofn", - 1000000000000000000000000 - ], - [ - "5H6YveWb5qzM9ToXADK94RNCR97Y13Xp96ZSrcidEaB6Sacd", - 1000000000000000000000 - ], - [ - "5EALn2TDS7tuaA51D8KZ19uXdrWh49Gm8uFjERActeEEypCq", - 1000000000000000000000 - ] - ] - }, - "transactionPayment": { - "multiplier": "1000000000000000000" - }, - "staking": { - "validatorCount": 7, - "minimumValidatorCount": 7, - "invulnerables": [ - "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", - "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", - "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", - "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", - "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", - "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", - "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y" - ], - "forceEra": "NotForcing", - "slashRewardFraction": 100000000, - "canceledPayout": 0, - "stakers": [ - [ - "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - 1000000000000000000000, - "Validator" - ], - [ - "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - 1000000000000000000000, - "Validator" - ], - [ - "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - 1000000000000000000000, - "Validator" - ], - [ - "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - 1000000000000000000000, - "Validator" - ], - [ - "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - 1000000000000000000000, - "Validator" - ], - [ - "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - 1000000000000000000000, - "Validator" - ], - [ - "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - 1000000000000000000000, - "Validator" - ] - ], - "minNominatorBond": 10000000000000000000, - "minValidatorBond": 1000000000000000000000, - "maxValidatorCount": null, - "maxNominatorCount": null - }, - "session": { - "keys": [ - [ - "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - { - "babe": "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - "grandpa": "5Fx6c5urTW6BUv9T3W5wPZ1s7H3caRpTaAmtGZL9Xkkn3hD1", - "im_online": "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT", - "authority_discovery": "5DUQm2ZPq5GhPczRynPd6G8Hb4b3zEHkTbBcjzw21rBmm8PT" - } - ], - [ - "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - { - "babe": "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - "grandpa": "5CzYq9ZDPHzwKK1t9XqCUqLWbvKx3K9efhAqCfp2My1pW9zL", - "im_online": "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK", - "authority_discovery": "5DFvzfqCwgVPaC1dNfCaCyT7wJgLHNF7usmTPGJvRx7qMwZK" - } - ], - [ - "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - { - "babe": "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - "grandpa": "5CgLFbHnbLwktd1Gy5cNCN5Kpj5xCeqKaFNVu3eoRh7Xz1p2", - "im_online": "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a", - "authority_discovery": "5HQaM1x3Toi2MhMCjecoprv8uPtX8BXWYoyDJV4q5GNXmP9a" - } - ], - [ - "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - { - "babe": "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - "grandpa": "5GyQ9JD4j2pqeCSNm1hypF9aTKrEA5pHEZhgYhmEmZksZFWk", - "im_online": "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P", - "authority_discovery": "5G4PRtQoyBXXw83uUVR6ZbWZofBcUhjmAD2fHzuw82gFzJ4P" - } - ], - [ - "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - { - "babe": "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - "grandpa": "5ELVXMwou4whMXmDU3bYSLVaowkrN15WzHQYLRtbmdtKxRS8", - "im_online": "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp", - "authority_discovery": "5EnRujQS9VhWsqKJcgjJScZUjdUDh8obCiDaKse1uXDEuNXp" - } - ], - [ - "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - { - "babe": "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - "grandpa": "5FWMVEHejx9H5UyqSzXB2C3GsG9BD1fKGyMoM1wb5DGeovj8", - "im_online": "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5", - "authority_discovery": "5CwCDQKRyPnrSHcmxbS9cEDGb4YQxaVrbQmw9RH5yBR9Xnh5" - } - ], - [ - "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - { - "babe": "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - "grandpa": "5DcYbC64DhuHWUQ8ie73q3VC4Mqv19C1q4obzd3mFezedgDy", - "im_online": "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz", - "authority_discovery": "5G6FLxFmbWS4N4LXYWnizLRuzbf5pfjB89hMNJyGejFGSnrz" - } - ] - ] - }, - "democracy": { - "phantom": null - }, - "council": { - "phantom": null, - "members": [] - }, - "technicalCommittee": { - "phantom": null, - "members": [ - "5G3muh9AraUW2dSU1r2k2sWpvVS7qA4zzkSKJp3d3JcbLjfX", - "5DFMLbMHBVL4pbfJZSL9DBLoqhxgP3373uSbRqBGEkEGbofg", - "5Fk8Pfu4ZakD1U1cv6Upv7ME5i8f2FiHQN5nySqUAkEjqdoj" - ] - }, - "elections": { - "members": [ - [ - "5GGq94gxzxigsLZvG96XN9PeZqSGed33ea3Bw3r6T2eagofn", - 1000000000000000000 - ] - ] - }, - "technicalMembership": { - "members": [], - "phantom": null - }, - "grandpa": { - "authorities": [] - }, - "treasury": null, - "sudo": { - "key": "5DvjUkY3JrhnLJiT9cfp4CW7SdaJiGDUVL1n4W56uYwzHBTD" - }, - "imOnline": { - "keys": [] - }, - "authorityDiscovery": { - "keys": [] - }, - "dataAvailability": { - "appKeys": [ - [ - [ - 68, - 97, - 116, - 97, - 32, - 65, - 118, - 97, - 105, - 108 - ], - { - "owner": "5DvjUkY3JrhnLJiT9cfp4CW7SdaJiGDUVL1n4W56uYwzHBTD", - "id": 0 - } - ], - [ - [ - 69, - 116, - 104, - 101, - 114, - 101, - 117, - 109 - ], - { - "owner": "5DvjUkY3JrhnLJiT9cfp4CW7SdaJiGDUVL1n4W56uYwzHBTD", - "id": 1 - } - ], - [ - [ - 80, - 111, - 108, - 121, - 103, - 111, - 110 - ], - { - "owner": "5DvjUkY3JrhnLJiT9cfp4CW7SdaJiGDUVL1n4W56uYwzHBTD", - "id": 2 - } - ] - ] - }, - "nomadUpdaterManager": { - "updater": "0x695dfcfc604f9b2992642bdc5b173d1a1ed60b03", - "phantom": null - }, - "nomadHome": { - "localDomain": 2000, - "committedRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", - "updater": "0x695dfcfc604f9b2992642bdc5b173d1a1ed60b03", - "phantom": null - }, - "nomadDaBridge": {}, - "nominationPools": { - "minJoinBond": 1000000000000000000, - "minCreateBond": 10000000000000000000, - "maxPools": 16, - "maxMembersPerPool": 100, - "maxMembers": 1600 - } + "name": "Avail Kate Testnet", + "id": "Avail Testnet", + "chainType": "Live", + "bootNodes": [ + "/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWBbLvsJGYwhy7TGy32vb14kWL9mrYSY7EFv5tRwfTMNHJ" + ], + "telemetryEndpoints": null, + "protocolId": "Avail", + "properties": { + "tokenDecimals": 18, + "tokenSymbol": "AVL" + }, + "forkBlocks": null, + "badBlocks": null, + "lightSyncState": null, + "codeSubstitutes": {}, + "genesis": { + "runtime": { + "system": { + "code": "0x52bc537646db8e0528b52ffd00581ced04dee2c56a1251107068940e7092cc539c8f6782a2e4d01a327a38d7236aa39599d22af17d3bba189d23b199e57ef5045057fde4a60171c10056716a749dbf3e8dc7dbfc2337dd6c04ceacfd7f13b2f7265b4a29654a2905111471117912f023d77985df9cbf8fb76ab51e5cc5efd34fb5dd33552b2fea6e238c91d8f873f400ff0d799d901bf23a84592c16abf23f6ec85fe57f8f790df7c79ce3d5f87d1ac2f7772d883b27fb59e36fcd9bb90bd80a6ddb32824b85755b46b0eac2b4c1ef7dfad1497d0823b279eae44c816d3507acea7b74526606d0600145da2082fbee6ab3fdd61eb0aa404b838aea7ed7bfb11854daa8dba26246ed667d4f80ba2d2a56eac3228731d41eb0aa4f08d7f8ddaa463a9b93010a7cec6941a06b0f58555f2dbe4da43a708d1fe9ec14ff72dd9c4781362b1811fecebf9993210af3ea802d05b608bdbfa9ff835148bfbf4f6ff3d8e8d0efefb1830fe4ff3ec69fcdd335b6b0a5c0f62ad3d9a9f7efb1d390a0a2faf6d10f60db7e9acde3dfff7e9be761ad0579ac3d60f538aeab3907b06d9ef66c396c7f6caf66153bed9b59f340ee3dab3227c4b5bfdfb9f7ab05096224ead6e69cdb0a39ed6590db161537ea364fbfe79fcdc395bfb5209cd5d57478d4e96c6ef598cfc036674a5256779aa7c3e19ba74be1d03ceffd7b348facfe5bf36c6b0a52f59fe99e56e5c8dad950fd31ceb67b36d7f1dfdf7dcd03d4cf3fd33cfdfedb3deb3afe60b65359a7f8df639df167fcdb3dabdacf90ea3e6bfdabe9d0ff7e48ffcb9aa7b7d56960dbd8fee674ccaabdccc4b6ad2a5a5466f578b61cb33620ffad1db3ba6eab8a0d2a577ed67660287569c7acf7cb3d7975ff71444e75dfb95d20dd7b9b21a5fa68d0a9eeaf1a75a776fba576febd95e329367eaedb07d8672de883b6ea9459fd03294752b4f477b3babffbbbbb14a3eaeefe36c795b411058d2855be79fafb53cdd3bddafd3945acd1e3aaeed1b5bba9fddbcf6467886d5b454051b705c58ddaa56abf01eab6a0b4ea6a417ed8bacda7b72d6b9efd865ff731c86d758e2bb63f36aed133c8c5672d88c75fed01ab1a31d686c08fb4830f1f6b6dc856e1aff63af51e7b99735c31cf22079fb5ed543753f9316cb548bb558def5c37e1bb73ddabf17d1a73ae6340f5c75693b41ba2ca77aedb56f5875cb79d1aa20910463050fdbbed54c743f5ef6003aabf8f436eabe482fccb972f5e2a7ce73a1cea7b8c33e7de436eeb6a3bc8ea910b9215d28eabd320fef2e5cb97daadaaffe3b6534c5fa7f877eacab08afca0608b734609db02046ddb8292a5cee6d916142c753feb1e56eda39a675b2c2f75ffa6ee6fcee6802d908d7f7f2f0cdbe659aefcfbd8699b675ff3f4ef638cbd6c9b676b37eb2e4c047280a5535bfdbd7fbf6b419a2ec3442007593ab595dfb97d94b520b353feab3560ab16a4dfa7d907d8d6eee76eead32be60760fcccfdb0b55848b57bb57ff2cfb9deb3add36d95bfdbea6346e2eccdfe3ecdeeeeceefcedd3f6b531b22fdef9b87f037edfa9d023d1f619bd37dedc716011bb63fb67dffd582ecb3a6c3102c160b4a5dba9dea66edc73adbe6e16f9eed54bf4f3bf73ad5dfb3755bed7e0c8571b6354fff4cf3f8f7a39a876bff6a41fc714f70aa93d5acfcb332b521c2ff9effd121ae4e570bc2b4e3caefd33efd75655839731ad8d6cde9b6da8fcde6e974c80065e3efb2dadff96fa76cd8f877e00772ba9dea5e65ceab962d102146aa4f3213c61973af660b4488936a90ac4f622a7fbfb6408498558372a84fb2cadf6f5a2042ccaa4139d427b1f2f79f168810b36a500e95bf7fb5218fc5aafc3e8d75b60b84bff3df4eedcfe6e9b8faef63cecd4eed1b60f3df5f4dc8ebd4bed3d9a97d9fc63a63ae6bb64084b8559fc4cadfaf2d102166d5a01c2a7f3f6b3b6cacca9f35cfd6fed58630abf2fbb44ffbb44f2fb79ddadf9ca6405b5d1956cdcd06b68df16ff374fb4cb753fbfb2b661a6c5bac2b7525b6376cfcfb7bd135188c1d04a144bd40dda04aa045a047a06a50235034a80f2817b406f40bfa024a03fa04cd826aa138a056d02a2815b405540b8a855ea130a0505016d028e80a78a841c5a037a058d031680c70a6f8223eca8e2fe0b481c3051c3770b680a3059c2ce024e16001e70a3856c099014e11708c8013049c16ce0d706c804306ce183862e0848103068e161c27e0b081d3041c241c26e02c014709386be0240107093847c0e182a3064e0d70688003059c27e0f800a707383cc0d982b3031c1de00001270d9c1fe0688103031c2c385be0608103050e0b70aae030816304ce12384de09c0027053849e0a880c7157878814714785481871570a0e0b078e48087193c70c0e3063c5cc043063caae0d1058f12f0408287097828b1a30b3b92b0e3093bd6d8b165470f7688b1238c1d60e0488113c50e2e76c86007163b50b0238a1d29d86165870a76b06087133b9ee011e5260b3753e0d1ba41bae9c251dc08e1e6e8268d9b1fdca071e3839b2c375b6c7ec0a38c9b2e6ea8b841c18d13374bdc4c7173c4cd951b2ba8143751dc207133c5860b3660b0e982cd176cb460b3059b346c806073648386119b306cb6d8d8c0660c96c2e60c9b1ed8f0c0460c9b1dd8906193031b1fd8dcc0060797186cb22845b199814d0b6ca2b8bc80838a1a2f5a1260acb8dac0a2d454c1e68819243029a82d60ba9831c18c123032406581c1322305468a1d483347c06831430535831914c0307179b9ba00a365a6092c07282e38485c51dcbc81b222660b36304051414d41a50065040aca1604d4112813646f6847a839c3b7306354d3841a279cb60033a5660a356de0b8a0868d9d1934285a1135596a885033841a20d4a44193547354f3831a21d404a1c60b9c236a66a03d41c3c10e28d44441c19899a2660907c3c39801c326083262d8ac205384768656060de3a4044d0cad09da12b420d08c41860b9927645220a302192b325ac8ac40460a192864b430c3c41603981a644938b05c2570146053c02831e382cc098ee4438089010e19d0480153622b038711605c50ea429603cc053a82904d717a236339192525700e62ac40cf88a1020e0a62c01073053e810d1636318861424c136cb6b079418c1462b21093046302982362aa60d222060b3bbe6065c06081e202e60a6a053976c0430aa720cc24e152c444892922068a698b6d0a9b13b026c04c81314143a3c60c0c89cda03ba8e102a3c1f586cd15db106cb0c4206d42c06ae05a4045c1f1c5268b8d16355b6c5c3427686b68696842d0b46837d07ea08da191a1e940e3a241413382e603ed48b3c1f603d30bdc051a1b365e76dce0a5e4d0c1cc12326330c1a054044a06a82f505d4c16a0bc28619959014a8ad3124e3cd0b620bb000305ca05520c305666a2a05e7002c29402b302140c6614bf22bd508324c3704a437a815181e4c22c02e609a9059926b42fe4165058505ac0b040ba21bfc831c8372418e4171c8b4d0d4c583425b4136053d0aa6052d09ac0a8a031a12d815901ab829604b700c708338347104e4898a9a2a9818a41cd137634e1d4068ab5c309d8167878391981c71bd819a82a9c8ac9e271c6c5040e3162a6d420a10309272e645ebc07a530603cc0b6603ec07a80f3020c0c6d07de02ad85ca420ba384850606ea0a8d073c9aa04561abc28e15c8bcb14921868d1d50ecb83273021c5e707801f5049be0a9e0e8c20e2966a6c88001a7045811375ed0cca05c68136e527063a4d580eae0864a09073251b412f01554113746c87441870f4a6150324c59ecf0522ac135862b0c362e28b160a8e0510498175c4fb869422b42a602daa2483c8ee6117389c9c44cc19c32a14c134c14cc266612b3ca349a2798484c256609a60aa613d3880cd87001f3c556831d68cc388163099811345d6aace057e838ca7490ed20e341b605e68a1d26c0c105181a645e70273425ec686326053552b8dcb8b6a001c185b071b1e100d3e2860ad894cb093bb46463d08880b50047173b9080a90273e23a421b02cc0932359c093b6c805d8125a1b5c1230c1c63e020024c961d6cb8151d47e016e380c710ae139cc4000303eccb8d171c5cc0cc0085c58e23b42d302da849a246073ec68e16d428515a63a6043898f053fc088e050e2c60bcc8ae80d98207104a5cd841060e3276d460c7102e2e64564e43387181c922a3024da3260a191ba7249c8a0093c4cc15384a6458d090a695192330296aa0309fa8a1024c145919991427357824ed78018e306cdca036c051849a2e2722ec988287941d5d68483809613b6307174e4773055a0f3426d88401c7043cb2e05d4e6b94d89854b4193c279c0b8f09ef021049fc8d182df098b2c30b9a1574093e855b81e1c083e0471a0db41c9c8e80e98007185e05ce153cbee0a105868b1b26e0bcb151014503dec23be032f80c1e5478cc8083c03c602030197cc442601db00d78d480070db80abe82ade0292c85a3b00bb808862202102061287eb88a0f2178d26449101fd880073ac0010d5800031390000ffc02d50e1180c0031cd000213a04a94cc5016ae0a181496403e3baac5db9da7f9c1cf9409126477e8028520463f761c94f91d2db810f4c90fcf880f374b04e9c88e087c81226499c38f9a100f7ced81f3376880913a1224b982471b2e467688820ff72b03f083d29f2f3812334af8c056208044b7e9414c9f170b04e82382274a44992234fea91a1230cd0f15aebc4c98f921def0632cf06646c911f8efc28a17963ac501041040181d31363e785a144c911244a941c5980ce03639d28497264e8c787223f3f3f08e06959263f2c49524404423f42041549d2a40e2df90942044778f85783fd41b284c9922247902c611281a12542304182a4ee783448d2a48ac049120688a0726f0607785fe43c2f36e6c960bb5820903069f263f3b2ac90102048f2c31226488a2469527f3e704445f362b03f306122d4a4489324403811fa591202264544f0032480c7c5faf0b30404499c2c1162e80812264f920811f45364488849931fa11f6f8bf5214991a11f27424220c9f1b458273f498692083101624888234540502449937aa4890f4b8e0809e1f160b02148d2a40afd000931b9c00edccb627f7e84f81142023df8f00302101ce98100ef05eb0408c90f1048b0ac93a1253f423f402c49f20f8b25497eb0792e5824499c2c49223434c44f11112869d2e4880a08091325aa9b77c50651e4c8d0111f8e0cfd4000e6593182244a8e24194ab22409cdab6281903051f281223f434220f919e227e651b13f424c16902dff28f9c091a12542fc506408c98f50121f9624295224874e098b444ae30c22d45d61db62b12aaf3c478c4e884ee0262cdf431444a150f0e5ebddd6642fefebb7be2b5dae7c26de9d6fa62fe8bc1d9f47ac5bc6e92d576ea76dbb9f7bd4a6775f5a5ff3b54bb9dbfdb2f7de7bb2d77d61d601727148d9735fcb29a59ceecfe649df95524ab9ebafdb57eee6907277f7f9bef55ee9ebed6f026076b79c3bd7e5ae6fcf27a7b76cf6f585fe9e942b5f0760775bf66efb7bb27ddb5ff774cf74b26c88f7cc1a20fb6db7fbd67213e2bef99cdebdf58d373bb3bb3b77d6593f97ed9db5eb48a943b6dced58bb0cd63212065939316700ca9d9999e3ee02e4bab3caddbd25bbefdedccc0903c33ce79cdeded9faa604205302705fc71e3663bc7bdba6bac3e70efb3ddf5d297db73b47f74af75e98761f9f737dced917b77bcb98b9cf1d93c94101b25ffbbee7cddb2d5dae7cbebd0d7d975b39a5e438f796383452ca95dd1d77bee9bb6f9fefba7c8d2300cf35f7042c0ece5c4a8983bfc7ecccbcddedbeee12ce397b4a5f9752fac3240e9b96cbcedbbd373cdfb98fed3e97c15eb7b367ccd9ee0380bbfbd5392d9bbd5fb7b76fbbbbafecee7e523e1c09e53a74df0c48afc33c66d8ed9e6dd7d07023a03bf3be7a6ee6bd26ee5ee9eeee4fc26452ee9bdbeed1bde5faca1d8b83a567dedcecbeb1bb9fef3af3d52e1be37e32b2dbd74bb27ba5ec6d29a564de0c26a733ff91798fdf782fecee6c3dc6e52b6e5c3745dee58d1be35e316edc8d31468f176fdce5dd6df75df76b774da6ebf2e6eef7fc95dc1ff61eb6afa6e63dc7bc67cdc4e67397eeaf77dbbda5ecf6de9ae65977978cc938335f08bb7d999963620ed0ddcdddeebbbdbbb3e19bf0bdf9de836feec2e7deddeeefbd7eef3deff76cde7b30fd70dc5d76f3bafb7baf5fefeebef7dc57eeaeef76bb3fe9eeddde2d6d9052ca30674b3999a194c10050464a09a59ca9818686320f4e296bdadba59452764b4903a55c29a5af9472e56ed25fecf7b0d7ef79aff47677f7e80fca76b9cc4ed7a04bf0996d11083109e22788686a12c49121273f4124197a1d1f10c289ce8f93224130f161c911216a1a72520448884908867e96e4e47092da49cde0c39223457e848e340982890d9b922348982819c0e5431225479e1471220307b14bc38fd00f4584980c1d41c2448992233705f0e147e8c707212645780e50c34f12a1a1010820470d4c9808e9004272e4034a9430111a808f233f423a74fc0015191ae267090f1d20c8717232e424c9103f7108c911274b8e080d15194a1244104c523db686243ffc0835113af2a304894d8c0f4b7e9a343952e407044784980c39d1b1340491646889104294c70f4342ece031c40f1045869624116a520489932441dcd8c0b36308262118e2710408273c808e2041f203c473801afef4a3061a8ad4f0037444c9078a80604912209c1c01e2e390d091212702a84106022c014112271ccdd2e044043f4045902451f201219aa4849c00a0b435f8f0e3c4c98f50932098202922f4f38409921fa122479cf880e4a7080d403c07a8a109921f273d171048868e7ca008104e922c49f2438a8ae08724423f4f64d8f1337444e867c90f088a208086031ca0061f7e8a30196a2202212400b894fc3cf9515264882341e0e4000113254540b024090840c044498e98a11f274586f8f1614992224b921c0102c90f3f30293234c4cf3f59f2e303581a8a2c6192c489d0cf93224a9208f18122423f3e1cf901a2880f3f434e9800516468881f9d274b7e7c065318baa8a8646457452bccc8ae2e232b8653aee434b24545abb85acda215af4e45ab2e5a1515b991a2222e2a822b5854f48cac7855b4e215af8a565eb47a6f8bd8c88a8b8a8a7655c445ec46b6a8a8a868258d14f18a8dacb8a88d6c51d11615b191225e232b2e2a8a468a78b56a232bde1534b2e235b2e2d56ae5ab676457ab36b2abd5ca8dac78c54676c546883c21f0ee72104e8e6c3baed32f2911951e2af919257a593cc9b374961cb4937e8f76224ac351f338b68f32a7dfb2d436fda94a6ded4d5e257badca110b07258a5f4339861235719d7e184ac4574a94c89188fcca4589fa0a0d6da445daa42b7026ca50a22d7a80f99827ba9ec8c80655e989b6e8017e3caafd445bf4301f76ab154389ae87a1bc5122cee23afd274ac4264ae455344ad45532da472cceb24320e30b551e7651222954325589126dd1c3f5ef8918a9f61bd9a07a94e8a28ce43afdef2325e223d7e98794a827ed1647309ce1853466e003287cc4569c704514d4c0228aa445bd832fba602208626081ea514e42f2a48774e51d55397aadc76af99597257ee74959923c4ba4d00a12fcceaf207db90229ace255de777d24bf7c19c311d4e8010baa3c0a8dbac5573002129c30c51624a856e5df35abb614820a8c0086113fb0826a554e21cb75fa3b4eaafdacc5c6df41566d7854578622bae2ae59420b28b440420b2a5a140103315cc1e24225c1b62d2bd0a8fd58dd961553b0a209cb5e705fdf28fc45b5c5fa48036366663a538565066fcb8a2d15d529a7db5b603f3ba8dabfcf9f6a1e246e7a344fd74ecd2c0744000050779ac0ac58c375de7b2f80daf1f7c3152caaefbb0b02eb840a291613fe72f321f738e85d24a926656d1a55de7757f5f7f1c709a062bc9a0604508b7805bb87608328b0dd319883b8fa3313d8fe6404788255b387df9c13aefdad3560eb4581f8afaef09913e2f5017f68d6a0fd52b16f4d87ec4b258cc2ef8b5b27de674935fbeb310c665dfaabb96e55fb5b23f2865c9fbd4f0b918f3d73d85f5cf6ae1199cf4c777d70d794d707fff518d775e5ebc9ac413e06d610d77efe55e4b602ef7b02d4f7f1ad68a9f1250f1848411bae7a4f358f4dfccf491901c20da8ca91a10a15f6689e2e7e6ae1cef706641830d23c70b73ca079b8c2df51c1950adf06f8762a5c226ce1f9da6d1b15ce6f52e5f7fe50acfdd8cb691e28d4ac112952e54ff9ad3960d5632976c552fcfd8ee537372517b96e552350d48648f9927644d4fead91765cbb39d781887f13e14889f037fc1b2c0563d4c8418652bbf9db4202cb86cd344f7cf84f1332bf23e2cb10fe48bb8652e763dbac2a3f7253725dfc7d1f8f502ab727cd2e180e757b4ebfbf358ff6fb33cd53faddbff99ce699bf9f6a9ef8ab5ae2b49fdc0ac3b0f7e98cb3997f39b1467dafa5203e86822ad4f7110562a8efb1f718b6e2ecaf0b7b8cb10ff28a6dc51ec886887cf8a44912912689fd7cec2afdd6ab4475987ffda5457d5f7a28ea03822f3ffbc971bd5cd3a1542a952810fceebd93d50e4e56357ba0f86f87f79276f1337abd8fd76b62305b2da31d51cd3e72ddabf14f9c37955d1a3a96727a2abb34c467958f671c06b3c8f99fb8554d8ec84581b47faffd6a41e81b9bf61eb18fb4d31ea336d8cb8744de6bd406a344e6c79f58e44a2f81e69444a69c43de5fb48b8f3d86715df636d76fc53e723617d5013e167f6b0a90a8efb1c73a032a3d463bae5dfcec31cf4a5cf61dd7ac351db02118ddf5d161ef7fd1f5d15defff1ea35de9330ee31ab9728ddcd98043dd5f9f19dfd050eabe69e74711af4a9d2d81022b9c082ab882022758dc44863551a5bfdf0642dec8d9c0e72a5fc2bc1740f597df1c7ceed8b1a3646ebfe3dce68defe3918315835c435662eb67e8197c1984fd18d474d835a24c997aa7f2d2ad5302a8be92ec41c09657b0bddf0d63166c1d83ba2d167ca93d45ddd613483555b7f54495214351926ab71a23d64e8813e8a0ee9f98059b9751b775a50795cda8db9a824aed51b7250517ac0929fd00a90619a94952d4a02253ed86d858026a8ada0d61990263a37643266003d6cec911664080308e6ae744cb519d2cd67ea9fb75bf518005716d2bbea85ce52a57b1ce9a834d210caa50a11a95762d173851f91f733644a01a40fefbad05e99ed0f0bfc79c0bda2f5fbeecc055f890628f7b42e3c4d7866a54e6869ac857e7b06e4d087fa941fc05529b21fcfe42f89d0e61dbbaa24a1dea0a69d7ff84abffaa72d539aef61056f757909d4a13acca275afdb97fdf6ff09a63c94b6cdb6222a9ce974262e927d7951ee8faf9f0e5fb63cd658f99381bd36fed56d5f492ebba69d0a93e19ea6afaecc4d9989eebf6d8cbfab1e66c863c16ab62ffaa57ec9bebda9a10d39fb8ed2567fae63c3b71af622f93dc72a19e38af18cc24b761a827ae2bf69a17ca17b7cf5e72fb463d2de47e26edbd6ad9af5133ae7fe34eefe3270e2e90fcf9fe80d50de6ef9cab03bf646d88fc6933c46bf65e33daadc660b16a73d863acb1121bf6260e7b2815ebccc4618ff9152af6b4b06e540c6626ce89ac4fba8240882bf64f0bc2496cd8634fd361d7a8d8630b5f33f394c184bd19ac22aa89dba958e9fac6b4dff551c2b4cf4a5ce7f5faecca4ad7639c50a669fdd9f525aee37af5b8f69721dd3af528ad4e519d32b1ec52b7c54414d86883755b4c5061d70700ba1f63add787ec6eee754acef5219f39222229ff5a2041fae5cb9f0b040a9890ada7c7767777b7f997e3ca7bcad6c7e99b23c1667aedb3c79e045be9af9f2f9f045b7cd8cd7afa53ffe9f47d5a02761a2285786b57fc9eefd7cf8fee335e989cefdc13ae73bee46d37b9bfd3af9302cd97bf1a04e645bb55bdf8229aee3edfc783886acfbe7af6ec67ecb4cfd9f8f3fb3767e3ef5c037cea6e8f4ebe7ce7b6ca975368286b52e7af36c4489d3f5788e4baf940fef2b1c951a1a04d62b1ea504c2dbdfb50564b3f7fb51d9ad4eb7d7a72424139d45e1ffe43b1ceaefe1727347f28d6d2af46a448bd1e272887caebe3fa79d1dd1efe9a0ef0e7e4f8e53ee4ba7efed5847075e7b64eedaf264b34b085300e1f83fe186bfd2a4c36ed56b5b9997644957f39b9bbfb722b7341445506793ded07ddec63b3bb7d9d5a6e976e7cc975f29f6c55c96341a95d7f901403942ff5c9ec2ea0f7f397765bdd6f2eebfa9fc820a127b23a5955a641367e0f752d7dfc120d6231d47771435ddf539b21dcaafead05f18fdc76fcf19d7bd2313eed8288ea7bd8adaa6439694754e737c7ddddf3d9c92ac875d8ef8f415edfa3401a914784df29d07eefc5510c9d42f2062682ad3526be7823225820ec5b17307eecb435fbfddda9d7967e8170c6fdfad8a9fb71c8fcf9d37d9ab9adac95b0920ed7892bb65a9095305ba74a7f3df6ac0561daad2a5f5c89c326f7846bc7f57ae69e70bdae9fdcd68779b3bb896990571b1dbcf233fdf5b1cf757217059a8ffdd382668d8f65d8e97ad6d888cd9f5e749fb1c975f3af12ed56b5c4414a18ed882af6cc5d9c376f0ffece01ab1bd4dd1efcd7fb781051f5cb4b5c9057ffbd38a6b26dd5dfa79bdb2a391f357293c3389b5c079f5f72364c83b846ba66b058950035c200f32af5bdc31740ed2065243ab5755b4860c11889e6d9fafe678108ed542cf6570b85e7dfa5914aa1e24315df48468544f3ccd4f73a6430da3a259591e8d4fb9d27f020253ebf4f176d1d2351df77fb84fa9e687f731d2e405183296a900589c552c57f2ae6580f064a5451041564a8a450f1a1e2379251ed4ba1d22af9460a50f147ce48012aa22d7ae027e2c175def3517d1f9f688b1ee4474ae4e33aef2525daa287f84c89de75de47bab3ad167fb747db0523788085159090451384f0f53d1dc3b6aa150ad020430a2970c045065b50ad6abfdba9ef57ebe1592c1523d13c02a8efb94af79b02db05d2edac4ecfbfcd537a0fdf2baa0e9d501f855d94ef255d1269175f89779154218ddf39ed88ea73229bc61235522c26fcaea82a594151e39204486955f8dda3dd10d5976c1a552afc6e04f545ba64dba8901e61b1c10c6a94f198b0a2ded46d316154b1ce208705d17ed1e9cb972f50a82e2c58354be8228a1458ef39c8bf7ca958b076247185135784007025065b58434db68d8a056b0635ca603d498094d610ac4da38a6abf1b4185bf7bc3ee0cddb6aab4ea10572c8ad8365417656d1baaa544fb454ba468c111a08881c5524dca92c262a9f63ba277da35c15e36b9fdc7f9b7668119d4c0c117d5fe6a168069c2125c3086285fbea8f667aa772403f3f738f8cc7242f8fe93db208c9d05d7e01b15d529f88fe38a79f63ec2c7f5752bc17f2e10ef50d59f7fc7e7fbf51edfe3fb5ff167f4f7f82edfddb1c86d8541fa0b3edd1f9fe3dbbce7dad5e685213e94f1719deb63db0ad8c27f0b24fe3e5c2091b3a153f0b150773a057f35efa608e67b4fe9e1a7bc077bf837cdf33a351ffe8f05f2eb633e7c8cdb5a677e899bad33714cef41b5ce7cf8a8e6b91efe1ed5ce860a1fc70299ef5588dccaf9fe63d49b4ecdefe7676dbe8d7caf5d6da4fc6d2db185baad25b250519d9a1f835ebde8766ac21739ae45bd82ed5d60db3cd2ff6592e30a85c0dff5a183fffb26c6580d02feefe73fdacdfae4b31634849422a0b06a50178230bcf1a5c677b2aa913a91b47bdf905332a51401e57543b44664d26e086c3521f0fdd37488bfeba38392e31a833c6a33c4ffbdffa340fd8f0611d5ce6b3fe4ce01261f632d08f6d9c39f9cf6bb404c1f1f33713aac6a973df6abe9304d40f3f733ae9bcf8f71ddd6125d2a5c1fb1351dba5fe3e69738ae18b61a04faafeb35eefa12b7fcab05b968c7756977fd5e5c3fc6658f715bb1d5842ccd1eeb0ce3b8ae26a454777d74fb18c61996bd4f6f867193cb3ae53f822d7bec4bb59b75d68c025ddf18d75dcf44fa2f2e95b8add75639b9c7bd4e6dc66e05dba0ed7d87aaf07720dca9f0e1db001fd5aaf06fbaa75510870a7b54f85bf3f44308e16f0ea440db2ac27679977dc056c2649d9ae1a179ba57c20baddd12a1be872f27fc2ae377cba54a944ff374b301cdd36d40348f7c1c9ae7ab7c0c34cfb69680a2cae740f73c952f9735a3cadfe6e16a3753bb1f55c2f7e91bac3999856b50e5639d35d7150546f3ba2988bfd4953fd33cefa57cf99b2329d026399654f3248146f377a89bc5527ba6be1047ddf86f3e23045b1c33b6cc0ac3606bc2d8687b9de2df1affc7a1b824982781e4ee5ffb3fabdd5673329c09ac1b5478c1a50b3368e20454502d0dcc6a4136258c7a6b1e1eb53f9bcb34abdb4ac24b7d14d529de1618b075b2f5cc00802dd0d68f994c9004eb065bb5e08a1448a1092dd801154850ad86f16f4eb7c331c6af53fc7a872724d2ee6bfcb912e6758a76435e4b8f6a1eecfd6f9a4762f2ba68777de92f99756a6b1e79bd3f2639aed8c56df6ac09d95133da655f7ac96dcdb821afd763dccb6e92dc568cdb5abab8ed5487aafcd37b8e78d5b6ceae8feea632ed22e6cc91db9a03ffe48660e50ceb6c881a7fb96ebab612867fb59c4ef9cbff4ec9e51ed7718ddc90d77de6b64e35857476aab7fad37b1e8bc562b154fea905e2d5736a896114eedccfc6dfbd3aa797da9fa190c052fb6f7e36fee5da64b395ebd81278a9db2a4197da7ded1270a9ef3d3d5aa7bf8360a7f87de547f36ccb0446b51f07d676d082ecaff6c3d6a5e0ffd816124ed4fe1eddc3aa7e1c6e6e9a879f765cfb99dbe954f7e854bf438e4bada603d71e9d4a75aabfc8d6a56aafea6c9ecd69c8ae02ecc8c68f61aba5c9c662b1a070ef90aaedd35c573eb6ecc4b62d13205501547fec650b6487b66d95604bddba158bd95b205df7bdb7406085efb4732150750855fb9deb582868bfd4fe2159df63522372aa41fc65c8abfeeba3f38febbfda10f99d432dc87c1ff769e7b64e6e48aa4abaeba346aee3dac1f7875a10c84b52b57b58c544d60b4b52b529e5f5d1efda0ea9ea74d747d395fc64806def36f710fcd4c3bbedb4639646e454df3bf7e4d547777d17eba5816b35307eac6ecb480a466e7484e2d088e78fb907f117fed5aec427342418cabaad23b2c4ab6eeb881a48ee42452de1858a62776d7d74b63efa9723c1b6ad238eaad76d1dd183dacdfd7e6db9235a15b5729a767d2c54017342b606f1170e09245454a776778de8e22829af060a930c60f6b4205cb7b584182aaa534f0b7a75d7c7fed38204f1979a637df4bfe5a0b6cf1cd7e582f84be5875a9047673ad5cf1c6a7df43b47b46dcb083766722c90adfd1b6a81945afd9884e9c1cc985b0893756a3bd5dd547e53dd9651122a6a237cdebcd204a5c0b6310cfe766ac287efd318b69a05fa69b7aaef8b54ae0579efe3ab61c0bf29d14a45f4be55ee1cd14af5d67bfabb21af15d8b66e0ffc4e898a5454b608caa1c66715e41eedb8067042547d4f05db8b72c78a8dbfdbd999d9861a4011b22802eac8b7ecebf737a865e66ea6c68739fb68ae533253e33763dcbddafe4cdbcdd46eba1ce505ff3dcf4cb1cd4d75a71a5fd2ee54bb4d0758214dad0fffedcbc6dfa562eacd19033c810614de4c0b86611675a9fd4f73637befe3cd29612b4d7d3b98fad80a0c5805157e07539d3296f5e12f5385d09b6c252e01cb0c265be9c18919f2c38610326ce60dce299fa1a48b492d088cb0237d8df49e3013ff71f175a8fa9e92acc6e7c77559e5c874dbdeeb9e4b4956e5e7c7f7f0e34b4e0628dbfb49e5633293907b9d8aaf4306a3edfd56f94f0b229f36e4d118df0c8a3babaf085914218b25191ce37196ea3e815458433700d86d1bc5bee32adc993cf1bb57e1fcce815c0f9ff78607f00cfe904a2a366ff200be8191e019fcb7edb499362ddb29d189462d7de4dea6e037f19eb93a48cc7fd426cdefba768c44f5e7c17b78ce3daa121f85dac855e26f192b1b7c2d3d0697db84516e6989761e0812b90a8bb836e46be44d414882aa0d79353e0679db04678c52c2b76664a92bc3cac45308f27da56bdf4dd3775b3d7d87aaf0df7bb2877fe24c9cc6adeb6cf2e363929b9d6a6293f257073ec6edea74a90a7f835fdaf6da7652d8e441231fa394ac11a1c9a208595438eb6a70c90e5ccdf62fc4ec59a9ef89865865597da1457dd499eb968bfcf7d6c77be6ba45a33ee972875725edb86ebb3ddd9ad1e1d0d9509fe9bb54f71d0ad5a3e787ebf8775be97779aeefb2fab0ef647d0ff7861e78069ffffe2d10f98f764a168dfa1e17db7bfbc3bf07be617786f80b433bd46eb4db56e744bb69a21d4afb513dfb51e363b46b7f23f56592db3a5592cfda0e5fe238c019e994574931b03efc7485ddd4ebb2c809311ada18475440a3fa89a70aae74f6e0fa774ad68cfa1e15dbfb37cda8f15dc340962d2e97ba6f2a59334e46e4a0094bd68cfa3ac557fc08b86f2175f8eead1189f4c11a7753f15b0bf288eafb57dffbf8fa4f09618c32c2ef87940bb3533cb70ed56ddd447543b0c29f90db58b0c1ef664637d47b9f13551d5551b5b51f9df2bfb6d8f8bb1f42af763f66b6411c5817a9ae0c2bc9fe02ec54b4453fe422e5ffc8c960b4f16f85bf03d3a1e65e850dd8ca74a86b103ad4b583fa1f3314b64ef94ca79c873f2eb6996b4150fffef10df1dff6fc4f2dd89e5354a7a236a459bc3eba286a41a2d488605fbed48e88c5aa8f0a5d3f34abd0d0566b7cde19e26ffc47a40df13a9f2cf7baa9f49a0e5e4b34c87dc47fcd3369b7925cd6a9a7cd266c5a907ea81199bfcd3864ad015b231df27d75b5476d863cf1fa3af580d0011c5421065ad8402a420fcaf0e20af4e20a2b1b7ce24511a584c409e083f0c12d15561845cb1692f8724612520b52a08238f0828ce8450ea67c91822a53b7f5050d1e131b7d007b7cce0d554061c4831042a88023a47831052fd658c2aca88a9da2fcae47dd5f1e7ff82044637b755b5e70f98e6356e112a1c27f5254dba917c67bee5e0ca1baa3eae75cb1c5ba2d2f623b97951531d0e8f2c4136014c1055564a305d10b2b0002172da650816209aa98438d510640a8b10955ac02e3899d8a5d56e36ffcf86f7efc99ee79aa1869a724a7c6dfc8cd30b6f82cb9d7a967842a24c18616b610c60cbca052408dbfc518dffbb7f5097676c4987347fe3ea64386285be496e45420ffac53fc98fcf91dfffd5f8f4d6e766a8c4dfed67771afaef73c55ff9c3b3c617e4997e4d44881de43caef93db042b30644045962378d9c216b448c0047aa78a285827088309a31de0b0397cef3da773ee93a9dbea02892e8cd89ad8f91c27553ca10a30a0881103d60d5594a030e2004860fd400d15bc9184138078c1babc480289458018de17a27cea737efbb77a810e9ac082116a24010754400017de17a2fcffe7d02754931ab5fb9db84406dfb9ad533d629c5182f7de7bfb46116f0c4109507841175cf891c58b2c566cd911c0cbb03d1b1300f660cb4929c9a993ae732f0d2a2aff60ebbaad2c57aa8a3ff590cbf9baad2cac7afa41edfe757771aadb8a810de083f0098102066d7ce106464879a2470c199c516109541042f81b8782df6d42663ac50fe5d6cd9a85136810852960410c271ca1823f9b87a7c2dfaaa8b042196c51a1122a0821ed94ecd4b734678d1fbc2aa7186ccfae4e8783b7675b1deef95d20cbb39db289dff568e1b066d4fd940dd876dbb664804485a9dbea620af6c1f61e3e3feaa663c8cd746aa5c416d438c2184856c0e20dd5fbd93c07a8ef372fa2a8ef6fba675b2c162b8aea7d4eca7b56f568e754c9ce06c6b69bf74c156f33adc3cfc38a4dabdb8a011535a66e2b06556ab731057a26f8cf4e6dc57679b8d90fd4ff3ab55ef99bc79f0b356b44fced0d107bdcdc1186adebd67d425c87baeb6a44f6cb97972d90a1ae2f87fa68ffda0c79bd2da7fbb8c75034842be040086bb4a186116ce81eee76eaaaba1fbb255620a2f882f5043688c06a436580ba9ff2e99ea7da5f09e4b8bb3bbf3b77f73f5f82929cd775c88d962cb4a12487b528d9a1c9a2083050b2c3feeba5dba3eacbb4e3a06da5dc4bb7478f7629a75daaf22f23219105e6e56fdbc3c82ede4393a3eb242268baf652d383c2f15a72d0b6d2ad97a84d6b2daed3585ca7afb46a97da71d21ed5aeb33c23ca57501f53f3324ff3fc38ba898aa1ddbf0ced50b4dbaeb495a41a1a2f354320d5d4b0bad418d51825d554a9a9e285860b2bb57b465bde00824a47cd514d0d8a0b0af5fd8de43d3872d8d8d04de9d04173e4c881833e1c3832d447a161540d8dcfcf57f8ca96e62e1b23fdbecc3397dfd3af6acaccf3d19f38cac6c6f4f4bc8526078e23dec2e5684a149aafa1a829351f858673502250b4a686721727abdaadf5d13d43bb2943bb2d86762818daa536da7dff89ebd67af13204305ab0822764a10a55aab750a982174a60852f2ae96968814214ac2f88a1bafa0b6eb8806504eb052a6c0a53a270298212c850adeb985e7b47aae962f4c6184955dc8b95c722e25d21e261c9011654ad8597da3da3a4da2d532ab5956887ba68879ab4fb2a69ab55fb53ad96ebec9648bb790469b771719dad8f76281f2e905c67abd3ee6b1699966101b639dd6bd59aafd1822387962c3970e4e067c575fa713ce6232f333433333535396a6a70d4d4e8a0a199a153a2ccfc14d4cdd77ccd378dcd8dd4a1e36de6aff7e0a0385ec7958362bf2a1425a2861241f3a5c75e154cfb67a49dfeb14e30ef5ebebdb497a46e49d7323dcbf5eb5876e6ec2eee48efa7d050e742f35166647e555368a81fbd0cf7acf09195a3da2ff31d1f6da95db39276b6b8d25ebca7b1b84effdc508da5f663d44bb35a8636166635966da2363e622cec650babfadf95c6b43f7dd296da49b58ff6c87b6866b8a09e07d761241c315d6a7e5d677b1a9a5fd7317d149ff9759dec7b86aeeb608fd1cc9f79ad86aeeb5c4ff3271c745da7f4350f4384a23bdfffac780f0eca83ebf0d7c4d06eb9547e18da4d9a8d768b54f94fb4db66e8ba8e8976dba5f26bb44365b4dba4ca8f3d2bb57fc77b4ab49b17edb6b9237726a4937fd66b15d3315ac036075befb97e1ff392c4aa8b63d51e3d2caec39a465b95fdc7f21eff2b282b5b15a3da737beece25cb91f7ac8a0bd2ebf2b06469a44d7223ef995224a39a3fb194322c57b2d2152b3f8528b352c57ba6c88f12277523d7e997d4abb81bb5966a54fb9d0bdd77f9efe3f397286d493bd2751daed2485dacd4feaeb5d4feaee23ddb446dee5c508f55fbbbef871c175be75978558f7a58aa8a5bdca58b8c49dccac25eb668611db5da88cb16d7e9c848fdb0d47e58bca7b5d0c1129eb002257aa0ea7f59bcc7510006316091051565a8fa9f16ef612a2638c2172f5f8ca0ea7f2defa161074fb0f1858a19aafeb7c57bb8065f68c2880b4cb0546da59fad780f11abb0efd2f7f53d5abc277e7f93ac7f08efc168035ca783c02cef29511efad9c87b2e8a817eae32a911222205c275fabb9f73591ffdcea5f6bbbbf777b1f14b92abd7db194378cf62f3fa8eadd4a5c2aaeb4f306fdadf52e9b1cdb4cf7efbd3776c54f7270743594b978d72162aac3a6994b16cfb3c506115cc97e677bbe5bb6d61dffda89b7db753f753de43c4c3efc370bc853b71ccc5c43112c75daedf9f43b88e3f0faea3fdfea661948d4a94ab34ed5094adb80ed3ee2b7fc75bf853a989bdffcecce6fbff98f35dd7fb37c07b30ec53aec38fd197b4db2d95bffb48bb6da12eba41dafda8fcdd365de7d16ea732ecab086c73ba6ef1fb77ebe5df777bf468b7b44bd5a5dd7aa9ce5e6c1d5f39aadd7af192e43d5cb8202175e9d2f116ef21fa2219953f5ff11e22ede343993df6dd6e91b0f4d777db8272befcee47edf88a891211a1459a729d2622227ec75732fad8965689a2ae6d699974933fb2443ad775ba9d2eadba5f0eb02da2befd4119dff4fb9fcdbf4a58a6cd3ccdef4f379d36189998b73162d50c4d0d0e1d2f85ca54e578944ba1b2a3b2a13a727033284e06470d0d879ae1722c0dfc32dc94576969c0321d36374bc30e1e384b83493b6d30313ad8bd0ad1f64aefbdd52cf8efb32772acc56a35eb14c5e7cb2772fff7441925ea24d7f12c4d76b6cb846da527f2ad8f5cc789f88868b9ca150ca69122a4449cf49ce5f4adcc5957ab59ac56b673256549ca72bd6c246cfb5561dff515adc45736d377bb9de89be83cd2328ac2e8d6552eba4d8a3a2a9251493a5da77f5591aeead1751d3fadb84b3fc036a7e3a42923fcfdf79ef7fb91835c147f5c14971c11cd4f8e08c717c9a8a450d1542f3e1556c52aef3d7c4f349f0aabe613c1d2b5f0a9b00a7a894606a9f4545855a2a14452a8682a294639a8689e0aab88b6e861e6699e080725aaa1545845e33fe32f438918c975fc6328155695fc616813d7f1bf289111d7f1df28155641ff137d2213a5c2aa498934ca5788d675fc334a8555d11fa35cc5758e66fcb8c12bdc7a47f11769476e52f5d2778c54a245322af8172d9251bd5f95fcf9ab9adf7196c9492e72907bdcbb0ef3cc8a5bcaa4ea3fbd677bdfa1baaf5d8ab2b109c18fbf5f32bd5fd7532234ecbb54c2281157f6efd77b324a44e9f4fceb3d5332cac616c4556e514dc99ec8c800aa1325023351223219bd442fdea3d1299a46a317d7f1cfe8942c93cf5b24ed1ea353308c5b4c3b54894e297d94f9534a74b5b88effa3d1cb45a75c1f655222deaf6aca45d775fa398bebf837ed248bb2b109c5efe72cdbb6b4c0d258b6c46d6981a5c678c458b0780f51142f9251cdd27f69a250f34bdb563bc642646400d5f5c6912a8a13b1ae9343920a0b65637b5f9b761cf49eb2b1e9d0dfc92dbcc5c65b6c9dbc12bd2c17c6d2b5935be416ef612caee33fe7b6a150b5935baafffa7f65c92b728bbcb26dd42e1e452ff1a886da4556c41259300b179865a6760f091a21956af7aa3c2daf0aac9db7bab8156f75925bd9e225a9afb07a0b96ea054bc75e7698d5cd6eb9ec74b33a67d938061bd7fe8eb1c8a4ba3214cd15ec53172cc70caa288ef470a2b818747436739323656a504569563f15962a3fa91c87ca71542e009553a2f8460650b514231faa28ee854525aadaa8555d52758caa75a89aaa7a00aaa644f08d0c1017072951a4ca6847d54fc5550e55aea99c46e53b540e009553227f2303b43fd894e87d918c4aca8ef1a3380ac24837a744460650f91b19404524e3745d87bf484665640055e4d7c2de7b8cb6f6f752a83c4a255f0a954d151ffbfde93d528c6c504999792a3f54a5a792a9a45079d5f5f3f751de23c5e826d34ea6df9e4a8e0afbfd4d8a514a2585ca0f15cc4ba1b2a392792a2955cc5341a9b69742654715532ab834f04ba1f2aab734f0ef1e807f5f86332d0dfc319cb634f0c370a7a5817fe3b63d00ff89a3591af84ddcccd2c0af71354b037fc6e1581af8310eb506e02f717269e0bfb86c69e09fdcdc032c0dfc91d3b134f043ee6669e07fdc8ea581df391e4b037f73384b037f910c771a587c4f4566719062b4a3f2a7f254ed0fbedf97f32ac1dfcf209da6d30613e3bf3fb338183d9ac5c128ab591c8c66702c0e4637a8c5c12827c7e260d443d51465b33818cd9bc5c168dbb13818a1782c0e468fb33818a554fdfbbb383cbadae2e074d3b138347dd7e1df2f7adc48d8e674f008065b07b1c02dda47792d2dd747d92190f1852c4636a8de1345c1e23d94c8a91139a8344a44c48a9428be1139a82e4ab4d2a20c23202512c194308cbae8c1175f544446e4a07a94a8280a5020c10a162e4da8fc3d7c29543255dcf133a9f61bcda8ae08238f2fbd2b4810c7bf99c731039fe608e7638e5e9547dfb527daa207eee91361cf3d91cd63ef5bb551afe3b1fe514fc4aafd2dd764f89c9a9b27daa20799af79a2967922f94446332affec65a9ed499e25c79b9e284bed4faa9d4389b497813ea5441b47897c30ec6d28d16be9a0440f4589fca9b77050a29d99791a4af48efc0887be2a30a82f51a2c783beb78352e9a19a7f7db7b5ae79a3e36d625ec3f149b54b0f73a58454fbe7159abfae202d920d25d25e0735e23afd35948807d7e997a14401b36adf4dd8d27ece6d43a1fe53a99daab5b4eb33fa032bd1f82696ca7e4507d32dfadb0bf65bea7b0c071c3e0c68c0039ae77a1b50d8f33b877d733b32dfcd6ecea0dcb4226aa46e0312a102695f547da794eef04dfd26687a4d3614f88693cff7497ddab90e6ea9707e77c355dcdd692731eff6d890081cd0c9bfdd1ba9dbe01bfc19a2d1f2747a7fb8254eb8a5c6efeefeeeae36f57797c33c77770e1d1ffbe45cc72c1f7e17f370fee69b7f1773826f7ae73a494f90da68cf1f7fc7c77b9ac4bc4c4dcdcfb8fbc36fa46ea3a5845be096ca8f617d72679a8f49aaa132b4e9109441e1e8079225771aea3e439d764c87607769785dd04bc54c9ac66d35994cdac91f83e14aaf83c3f13938d46f9cf61e1fe3186b2423aef37c7af36ddbe1a179b2d21bf11ecec259defbc8962765df652f4d2693e984bd8976f34ddf65b4fb3a2914f8862ccb7ebdc7f4d8a3306a7a8c9951d8458760855d4c2693491b82d18602cf201fbe89ebba4b95d466bef6716bf25e525292fcf8da77a68f7f61d4448760d75deaf5a647e1f8a909c11e48a325ac754cff6e9eab98fe999ee9b98a89761acd68d75d1a0a7c0356a20d85eb1be9faa805b9e096ca524ad95068c9f40e27c8b6c25d2a764a35cfe9bbecf7b18ccba9a89bf9cc4defb62a21b3842cdd90d8175596bf996408f33083dcd89bb84b8514eb20e4a740d963d78a4846c96ed42e5ef0cdf8d73312dfc07f71152410e42ed877f3a5a41d77a9f14bff8cd16e4a4925bc24d795a809832f29d7c17c81fdf571087cced23cd7cb6724d9ddc17cbc7e9a3421525ecf6c5c25187ac1c0c04cd28e4b5a90525bc130883152951f4d9cf6cec9fce36236aef43e2e27b79c85d9e0c9d83533ee86d9389d6837f4deeb2c6336bee08fcf6cbc57b38f5fe22f6ae965b818ce747d7ced8b1a3f6690d9e01b98d9e019e2979eb394fe69414adca54a66a3a8575ac31c81bd8d6fc07edfb4476fa679b29f1042f87ea881644338e783f2e7bf6e0836842f8728679816c429179df68ac85fca7ffeb24705babea87ae91fdfc0df34a7ca1205eabf4a5a3bedba5e7c4349f65f178d3c033bb5b97efe73dab9c37f7c833f94d2e747aea40931bdd3cb147986e926d3d484bc8c7b54b186b1bd36e7eed3ce2dcf00b9071f3bcd44be01ce89b196fdf20dfd5c81bc6baebe83a49167c8de7fd68cda7ce41be43fe65afaf9d810bf92c79ff35b0b3221b7d1dddd5f8d90469ee1cd8cb5243ecadeaf54ec8445026ca8d2ef02c13697afb3373c9ea1c4f93fbec1c7cef0fe7de7a3bed7cd990ee518965dd775ade9bab24c26337dbf4fb3f6d0a4d1ae6bd6f9952a43bba1be3af81d64082184d0bbad765c1135ff0e7cee772d6a177fa8814c5f5421d7f910af173394bfc337f44bb7822f0ad4a6eff835f00ddf657ea5c6f78b7619e5ab9f9919be493677cdb96dbf40b49faef31e36ed2edad9203fd2ccc40ce9873bf443fe1dbe013e53d85d1fe5a609e1871408bee94fda0e590d3c839ca13494e66528fc78d11a99ae315df4356e1a3a439bcac45086d951c5326e2b8419cc38084dcb33444d48c3f7718dc37e6e3d71db73c97b76de4c2d90aefb3f9a074613d2d8ef780f5f0d1ff6dda3ddd0755dd765a240f0b3bfbee32ad6590d128676af764351870c5128107cf9fcd963ccccf22fa884c33abbb6ebfafe0b0ec9680d3c033ffc8beb6ca84c6de6cb8fcf83f734719df728d47beffa98bd2a957035fb4e09d7d950a50f3ed1a909c9a4b64356b36f3227ed9470f57a8d7636d41af886ec7aece5affca80591576a895b082384104e496be019e2cc7932ac230750d4ac5ebfa582d1463d40dd16185a543090a858e5772b153bfd681e98cfbed37e1fd3381bea7a0f8eefb6bafba91e3bcd63faadb938d33367eabf2e79c94b5ef27a1fbf86ba8baeebbabe655e62da0e311890f625a65dd7d29f68d7557b9f66f9ccccb4f4987cc940da979ebf1b7ab9559ef22fbee45ff3310ea8bfa84aaef3ead5f42ca78fcb79693b74bdcd13837d67faeb9a9f3d97aeef4c547b8cb3ebbaaeeb9beb327a7a7ed62050a217e53a193ad4557b4c529bd2633ff925ede4b3b603bfc4fe927fd19601cacc4fec4d9c491372bda440f2fbb50bc366a8cc755d9794c9b0eb31f957694bc5346eab949ac6498d932ffb32fde4a473a87f1c8e875ccd478ee62f6e7e0c97bd8f33b7d5c499a6f6ccccbf40f2b5c74c8f75a6713d6ac66d75262e7f9887f9f51e98dfbc073e0cc5b49faf5120a941e07a4c1ba2c9c73813539bd2f34fece7332703946d7ed69db2477138b4afe136d7d134dacddf38ec4ff3a326841fc8443baed86b0fb51db2ca4c3b27ab8abdf6d9d6ec9f1624b3522f6e612dc55aea4450659b3a1254c9c95f6d08acf2d5d210ac5e7416bd95a9639e90f2991963e687fc10c20ae9ee771c06966a80ba2d30dc10c38a0c03a90aa06e2b0c2d5272339d5af9d37b629ee625edb2ed3beca7fc1829fd676887aa523e8d34bd36d4a79f89e1d6693704b79349cbe810ac5e9a9c0c50368c76ab5a8a17fd6e6ea85347286c20a50ea06e8b0c2e153bedef7777f7671c5017dfbfe8c5d3e9dfc3de63271ae4b5e31a65f7aae921c0cec45f9efd09c34e18769d3ee3804aa7d74ea7ebb3d367d7af1604a3415eb1aea802655ffad57628fde97dfa5ffb6e7b1e82b559e69969580776faebf969b8f519198eb3bfba2113c3d0a1ae58e9bb8d0e753dd1e737711a9dd7f79738678267b8e8e424edead6a9b7da5a4e81f5833fd4b539ac6b6afae5baadb38eebec8ff023571307144454e36f951fe435aea6c3aacada31ed5eedb6ba222a1aa246534744e537d1e8566c65aef3ea3533d1d848cd53856f880e45edfa87ba9a689057864094ad7bd5f4fb6ba24b3bb752e16b1183162288b146ada16e4b0c2cd58a30922ae69a690c27c4a842c53a8b5a10d3b366e2662084af438628db5057c96f7a93f6f0bb21584f6ffa6ea89f260428d2f7590ccccfbccc77a8ead877435dfd67c37ccccf97e136ef91f9f833d7cf131dea9abd097ee965b8cd75e2c770eb3a30dcc6adeb741a1d8235a39d2ad1aedbb8a6a440fcf1e13b137c03d6748be0cad4f309ccbfb7998dc9982fbfbfc78ee4acd46ea8eba47072d9185bf7e387f7a05ca77fa27e88b101bd87b543d5ac765c3b67826790f0fb3f27d563a779a44351e1b7900ddab6a5a54aed50b57f686940f36ceb0b346a3f079a87d67e540daa50fb6fb63b9433c133c06f4dd2e5193aaf52f91ba9534ce4d5479d099e81dfc7df1b18d634d8b0788ff9f830a07bae087fc77be6ef773fe6dc361e2e6ea8759ab860cb76cb44c96ddb76600a8b54b75bfc1bd03cff807e146adbbc291646df3ecdc3ccd87ad38ea8874e390f9d722adbabdd9ac180e66171bf2cf4f2bceffa648319ea498badfb9999e9ae9a1909677decafead6d578ecb8b1d1910385a38666462606663b99b40c2b5d5346f8bcfd7d7aceed503d4ed7a78b78d5dd6d605dd360ebc7bafdbd6733047a5dda11d1d7a9ed1ebb7b17d86e8f3fffdc9e7ea6db76f2e6d6758a9a3580edf2f477cbd82e9dcb2c64773bf7b78f3e9eed364184f0238c117efc0714e5cf2723a4435dadc040d6471a70693723b73bbf831fe983cf74c81952a15787bcf2bf20d8646143e5a47a3c9808e4e04aa7b676877aeffffc1d3eee5eed2bf03d98089861a5535b75c80005fe426e47181e7cefbd9f11727d95bb60bfb4db3a9ecccdc3b4d301bf8b1f7b62d9fab3e6617fd80dbdcabf4348cd0df5b3e79a32d5667cc54e18b6b4cba9fbb4253fa4dd7b08b97d9cacaea4dd7653f7eb7c0fe9ee0843bf5ee7df8fdc6560d80235d9e978a8bb296cfee0e2c7fb31b36d0a524a273629bb468a5a1f30c76a368173880971206ce702bef9d717fffb268cf1654ec54c797cef534d7c4e6a6747ce12b7f170f439a9b713fb6971e4d06b70d306b67395b0cc8624b639b70d85fa4fa5767666b06fa2c18fb5a1f84a0aaed48eb534172dacd6dacbfaf0af41c2c6df5caee6129b0ba45c7cb6172d57bc78020dbe521f6b05935758964b933a54df773b75952c97fadee9bb25c2a2a175d6588ffae4fb9cffe689df80e5f20410aee37fa2ddce3f44413837b9858dc4b0f133125cb02084a182c985358e2968c51821844d83d40c94d46f5826e7eac08de11c62be29ceef1c465284104208638cb1b57029601be3fbd831c648379c09df9330d3a2c9244b30662fb6a165324eac74c519dfc7b198456dc857a805e9df6650574b184008638410a25038383f4e483f7e58f1f0a792accacc748698f425c5f894a06a8c0bdfdcb4293c1934cf24ea2b6881bde5c74e09cb341caed03214ea3f95dad9f9f18307171c1de17085a4ab84f5b06283ffe6b66ddb56372c7ae0a0c20d2e7acc9744c451e5d7dcd83ab6d2ad2681563ddaafa4b3d4f7cdb5de03416580b271e92c5b6cefbb59b3add5a576dde222012fc1d6adcee231706205b3b3bca4e7456bc2ee2d15462a3553c66f33db06a1bff70cdf7b7e30767cdcdcfdaaec8bffdea77a7439efbd4f2bc9e9baeb2327477d30a59c13cc8842e1e0fc581ffe2726fcd837a1122284b00991f319949b20faf3e3f7eff97b8fbef6351e7419a06cad4306a3ad3fc8eb6e77662b736e2dfb2a61d90f25e6dc3614ea3f95dad9e101cbd1d13b0126e755c232253f94c83014ea3f95dad9e1a17574f4a38a1092de8331c6182184d0bb80ef290121640821841c616cd88358852b114208218430c6185b0cf89e17fb20ed80a8f09f125485f0bd9d6f6e536a5540f9177c4e5f6708fd8a07a97837333927285d39af4aa227218c4b72b84408218431c6d830f0337e5488cab0370d4526767ed4126c3d968af114e193f856b35f1610c228e563524a09218c10c28e634895113fe73ff5de6f9fc2f23929c8b586c57c4287fa9cd4ec3263bc4a58a6c52a5028140a85c280175cb8bcbde2462bbe2550a918a41e7c2f87575fa75edd1cef26bc216fc1d3167a0701c6ef606018e209aafcb84a58a6e170c5a6d16d43a1fe53a99d9d1f3f6ab7f190c5d1110e30466650f170e02a18bf2d620a6ed3861a63125b8c198642fda7523b3bb5dbc0d8376d90e192061b363c13c0dd2d49c96d14a56b1a790961a45a78c97b744ff6effd54f2c3ca9ca5120aa98d4d4af550f223d5a91e3ff84b102cb26f6d084cc5c2e85519f5a175b68071bf3a290cccb7e447d2eca80396fcf7917b36fdbba52e1ad5a6e3778b468dcf5a6a9ca91115570b32b9bbb99fb79b95b95f47c9453ae9c6decd749327b216d692c5966d5654f9dd4c75de02a99648994ba7fc6178b0b1cfd48eb7cc6ce3d602b76851c6d3c29257cc4dd2f7de7bbf6343f768ffaee391091f5ac7ffbdc7c7753cd2196e93d60de6a1b863436d6d389243750a522347d8b24e2149a4f718c6f779a5d66ecb48855f217d9d8aa72f5fbec49ae4abd911073ba776faee4d5da9c2873f17c87cf8d702b99ae0a4601fa5098bc562a9b6c74e1c8d69478500d880c641ad421aa04de36266aaf02fee89aca59ace6688acf1658dffb4215bbdfe6944628d3468bfd41285eb235eb41b419049dffa801f0f00bfb520f1113db8331b2ab1336b4a8a5f9d6b4668e42394514a0823e4f266d6acfa9e034630d0456bd45784548bb8d4c7aa8f3263a9f09be3209cea14b32a438ee93c7df9f2a56e6ff3753de27baf07882159dfc3627b4078cfdc5071bb542254f91d3b51bde7dc3614aa4b57485b0b958d9febca10f6a85d57c9b6f81e1d9215ca2f5fbe5418e11329d7d8bf4a3927d8e0bfb995b66b437d7d6f837d33e7464b169c9043254208218431c6d855606127be9d0f3e190f9f39dbe926ecbcb932fb6d3b63ececec9b4a6e7278c084154b6e8eaac0669cf18aa5884588c4062156ba3e555faa012fd8b225db1eeb65398a314208fb06106584bc66a63d8cdf8496ed941e0f5b95bfe33d5869a1111f8ff05dfda290aaf07af89bf7646f7af83bcd13e70f2b366c0afec2c8ed6cca062213f75aeaed64dcd6e4e220fc51618c153c60a2c2087fd4571457b19f0b202fa4ddc78f3fbd67539292e29a5296b85d1d29879812c21865a4b21d09d893ef99b5201393f2d118c5162356ba2285f1e1fb380633085fbe479f94317e7f8474b9ee5cec6e24c5bf4aa91ae30bb618bbb46d28d4bf8f0cb66da572a001052f52f525f90ff66866706e32a726a844aa97ca73410b3aa70c8dc848000424531500303824148a0664326154730f14800f91b45050a28a446294c328a59031c618434400004404404468100050601081a7da49c58000c360afb6c53449140e65218f7fcd96bba73dd71927aa0f36ac964416ae64a9cff3358c229ae7d089dc9084c774a1a69875f62e77b03c4a7ed58515d8ea44af9ef7b569e45c73133946e329d8926e34b08bcba4df3afc4d830f580eee21fe841a88d1f7511789d5ed3a5ad0270ffb5520a868db4a78556b513221039ba42fb40f870a1848c72c21f189c74fa1d607ed42209c0ea08919d9013f3c9c1d8754c03b76f98604048c80d3870cf8459ca4a3aaea250ecb0000dc50e64a0ab0bbf9bce59839eca75ba67cba119497c1dccca35bb3d1802b7b5a96b90a26ec1feee24928915ccdd9236243f2f77b92f76ce9c13eedef16bb44da29ef84dd2a4696e46043302860f76dee352c4c09a5b89df1eb6c155bb43dd127ffc3e03164a1086b6cae86de3737dde5a9bd6ff29cd5bdd945bf5a510f09dd8c7953fb5d81718fba8df777633a54ff654c5819ae1f2d85c10a6f1bbcaae4756530d2ccaddec4b0c518b8e8d63d97215ae0244a8b9acb784033d07458797ff4f6a88526dc963fe7a28e8c3f9320e1a59f3803abd37a00a3cd5d51d276927626a62ed0817790bb7b887bd55c0ac660d62c4dc8d2c5f92600c078c095867a0501087c08106a15ff9ddc516fbb94edf73b7e2631ee5c8e22d7db007610cb6fc9ec02ce9d0471f21aaf259c0ecbd7f6e6f1fa240c45dee3a48643c063e82a1e1bebd079234ffec6c7e97c29b363bf10d73a4e9f6e5b8a9f9e4c777a8c962a692928ca3eddab99a16c6a0e23f1c94a31d435f0ef151d85326f6b243f02c986d8abd63dd45e2e87cac05a63d5da2d8f222829ff23575fc0c077d8ce1ad64f76ccb8351979dba60f5c63b8cdb236e37e103fd3366504396ffefce069e7c04ba319c335440363623ea92dda608a4eea2db1b87a5857ba5b3dd0f6466f025b7eef5758936d2be250e795363ef5c93c1925944e4e60654750c2bba5bac71a6fc2dc20943b886aaf6829a13001d7f59b44f51ba77dcfb6b4869ff249a7722dff2f13f7a5c178ec25ea0c846c162fb3c4039d573021b682319cb4f1b98c74d29b8af9627dabadcb31684e3fa3317dda073a4a80d75dce954b6d9315c631368b43f01acd6513aa9f9e23da457bbdc3a8828595e4e92932b8b3c7b1bdb0ecb46e03bc4a0ab49c1e909284a59bb5d447e6684c3cff85990d2b481c0e39bc5e63273c9e4125ffa4d6b660add259e7161c9b66f85b665091c1cf280d477949139392f399db719cb0343966314c7331e4565a892fe6082476e47a03f9fc0967d6f679947abb956de044f9626317d2a0155ff4b3f1ca1b9fddd23acc405f0a456d246852aafdb5ab4144477dfd0d2ba23300e6704b723f5c3cd146f41447b24a93ae98b0f8751563c3cc6ea4e216bdfbe9b7356b5c50c8837da805e618a57e72a065be041d2d325c9b9320d112b904ce4fe4588c701f4d0cd742001c06b64ee2c35a023ebfad23e70c7b5bdf3beb44b0d406fe9e33bd2457cf09d9e3f6055808ef3a8a9eb3df71a116888ab6274865946f0f4291b80c7f1508ce3988cd3c0d90d5a24e5eefcb3e9b0358a09548bae89d07db60fffb62444c3c14c4c4d7e67aaf1826c62fced19a703e7732a1fd8d033cbc2f3aa199df6345ef53f6693398b319d98fb2f720512557d9f71a03fed2c575e48fa6601c562ead4317b312fa15b2021f90d646e96e8eb44e5e68343016e64ad70cd1108ec7060c8442e5b04f74c3e692c60d7b567e5c0b994653b857fbf8a3b70d9efab21f7f6b2ad73b6410f11463818cd887182bc94809b5b642e935d3c174b186b8285bb1ca684eb6c7b3fee157b63430cd3440a35a86ef399771303bd53191a1d0ed6b4b25d86c11431e622151e3571d975307dfd12e67d7037476f1c3b1c992442d57776cdc11024f4d6bef078d183ba73b292b4f59f63d38f797248da17ac2b9c1af5fe8b70b09084f862e51a5f83a3a8936b2647b9aa679ac306527360f342287b2261e4f28fcd2a40d9f06c1d86a83cb974933c58114269d9c351ba62336d827bb52454cba87c14e9c13be10d9d69438c6caf29c836300deffbca45099dceff7b0c372ea6b8de2a03265bc8392ba72d54acddc42444064abccd2296d35acb0a4ded2d0b6768871bfe90fd613b75b16f812523c9f43f212435a66479b3a8b9e1a497099b2a3f54831c2acb6ebf582a4b2a0560a715a0cb9ad6a8135f101d976c7410967584939ae15d590ed232c1a7e169cd0f7dd19c67fd1c3aafea7c42d3b449b6d35f1fb399218b00138ee102fbb97c7f8ea0b119690872266333e07404a76f4cd01522e91b46db3dd6f71fece808d915d2609af5c493a119ce3ea8366ca4b48818b8cedd472856018992ccc9bccc5bc0efeac43752a210cb273cb009bb32c4b724752814b95aa4e50da6ae9d12afa919d37e4fe0d3f11824f03709ddfc8e1dacf465d91679105eddee515e66c53c66308737b71ec8e8a1eb7fd16cdbc420c2f9004f98dccbd027849a4c560fde3c20c3e38ddde4998c801e2b38019760df6ce2e6639e7e4bda7cc5b94bc0ac076307ef0f9769e39bf0ff341e2e2c8c1a4cfa8dcec2431014b8d2e0905ee25e1b481338a93b6e3349f4c7f14b4bb71c153746485f5f5e91c910a81bb005fbf7f742bb28077d2276b03309761b28cb48f4cae2b0e52c751a8eec4392503fc08d3300339425fcc73de38d6e8d24a6ea2016767e3586d70ecb9e489d2b044bc8a338f6a9beaaa30e92836a7bab2fc6a55aa312d80b66b949d4db213b355a02e178921aa2d89447e9147467b32435bc0b88caab2486466718d494112641436dd7a6492203e192ba57c5519d85629928f1952dc2bafbd5ff21606e375b1d1c5cb892a17656bb7282f4d716418edca9439460bd6d8262ea3ec7c55dadfd75aae17b4884e2151dd85469d6099546b7d824e15160052ffed26abec69743d2324c0cfdff1024c911416033eba4321a4ee6006a3188e5c04bfdc30fd129b2e76c4652d5cdb56b70c330bab7d3f51ed74b68c3cee6630cba40c61e23c705dcea9bd778950a58114ab7dfc455f2b564e9a40ee8ee1d96570b35ce9b901ab1c855f4d67c7ddbd81420ecaad9110563e91fbbcc32fc8aa1bd1425a8efd9e652b1cc952d0e6241e56781074d165da7af3875f859b1c406c1d6ef9de8bb4814d386d25550871a0e86e1d4e0d61bb143afaad06aa64eeb575f975e2b7a9820b95a1088fcd8cea8dc309f17c9f6e5442e0d4479a5257bceb265292e7373fd92c56304539007eae76a49241c22c3d8a19a62224a30485d00b7c399712c57d2642b4620205cc1dad5eaf8519e54bb28d4b503295b9692cfdd3902746a831bfc2e8961e7dea4c164ff2b6ecccc95c4886a7aeeb163940b2e438ce5e44649efc8163cd0e0ffd3d54095e50304488d2791f76b94a3095286e2ca28c597a916448b61d35d393e97509821018ea82f0d6d196e1dbc32d62f706de8c1ca8e9a4f588feb2c9aec1a085da7a7bc3fa4d9fe4129f471b6d1f3c6b68105de69b0cddc1a61deb91ade89e527566b721116a600eb27096c1e35cf6a3d54db7e3dafd3a4d02dea49c9883c2655a09b55c11552e553134da0afd411e116a8f4d02795eb6e71aa2662cb243b9e84a2f2ad065a19a8b175ad8fd71a178928da7f561d0157a460056402b7afd4126cdc50c2b362c250ab93b7b4c0966cf350976a84d953ce8fd8f98b9be798f5d613248b18e6162a641a5fb3d3535de434d532b0de2ca95368738868bcbe2700b3da60b53989b11ec45449de3e8b75c29e2da92f43dbbe8a6c08383affcd2ed6b5d05c233ce86ec306214bad65746d2c0a5e0bad64f70b24f63c0b1993f3d4174487035f6bcc612f488602eed2365c8091d088a3ff4644103b0fa5a24ee2305bd50a064ba9e356947d953e153ff7ee1df997756dd46e5bd4288016c99d9f2d2fdfaa53207a7c718e939a1b3ef292cafa72cb7a931da3a7197f738c9d227fa1729fb6a32a653c857fd51b447d684c204a7df9cc268e05a17159195bc1981b555e63832169f98fb2248d61ca385071fccc67d0f423708de0a4c1f34a6570b9490c161ef59d3890aadaff40533c43e04e98464c8f8e1e99894ad92b7dcc3c14d6d2494e37d355b71f538a2a274e1a558ffe4ce73cd5f42517142683257a66a8a288e28d35e7ce545044fb58f56d3805b01ed144d1f61eaaa8a96c03b0aaf28d6774b65ca08d4d713ee13d0fdc23b9eb41c07b9bab165d1596fcb29554693faafeee3901d226c14a7c4cf11844bd6bc805b245633f22b8ae93fabbbb8c0bd90b93caa766434a25eb2d74c05d6f875d51b64b1a17cc808082942217e601674439521c42137e805ffd13c00d3af4cdb7c3b5096e84fb7efa26759da57ebbbb03c12d9ba011bf34707795629b5ae68b54096ff38cbb04da04b0d652a29fb40146925fbb47a26da69f5d929823aa66ddeec8f5d7072ae919c07b39600f46f9b601d8750bba826f0110874212c889c79c98d9cd68ac03dd8bbd65e3bbe9954f4f501ded382e575c6ccb8493409096b3adda703ae629413b1b34b47af1a596fcac144c36ac676c149e8350d0cfd04c2bb82b40117f3dc41c4cd619dbf81776e10bab99aaff8d78b293ef07ec20dd413bf62291a094e8051b8b1c5ebcfd5b29813bf713216a059a67bfd3483a1441a60d1484d4825df1451a68e64fe2bba753509bc0014b6f711ad09acf4c2540d18031bf14442aab83a31dff3dbafc301f5c9ef86c1ea9c191c39628ecce57cc0ec676e128dbf11c180a1067b4c3e0d69cb357f55dd885b631c3ccd09810d76c83a0e4b575313f547e87806b31f8f60292a197d804f98212a698eb1067333b5d5955aa2f6883c84a9a8d8950b4140b4cc9c41132f5cb4f9a9823a517234c1f4477a095aaa923bb4d18722c637a447dd603958abbf63e5b5031af877d0f6b557ed197116802c6d466ecee6bffc68ec0cdde83627889c39b96b0e5cdfbbda56cd6b043d6d01df8f40094d0ea8b61e6fe355c1cd3e3ff640c10665e69627208461183dd5b16de954b9609e3ac0bcdab1205e64e3e13c7b950b7095d60fc576a37163153cd623462c06cd20ff193b991a33cf97f64393afe5219c0991dca8c7ea1e37ffec32173466ca6b2c366d61b10bb33afd8bba1b6da676eafeffa19a24c19614caa8dd26635cdf7fb4c460ce2557bd56444270e8fb24885f49f74d86eea54ff100f19ea3bdc69543d889ae9f56ba57d79703436db121ab4e93b37c2b14d2a0de05f176f4b9e5ff66f744c338e533d67c770cbed9a81bfae38f8c22dcb7249f688d0549f51b352117d8c9ac805f8137b056f300d8c450a3dbaac0932cc81d9aca2c13ffd624d3092513ec24eed5e5024a44a18fdee7dc0d59765c7de23de6b72f762188189360ae56064f2c683bbfa450598042a7f51801bdad1dcfa6ee5ff9b5f41a65d0b4ceb20a3fa8fc77747f239f518f3eb2c17568e4e2d2fae933b8858d388f3ec05526a64f7a36c5eb842a8f535c635ae2d87242d8e98457ed8f221dc005c292a571e38045ea0d3a80c0af29dc9c5524ebb4a6e745855375311494e12e796763e70361cdfbbccf29be5dccc452bae9a6b17d4a00d49d9f372a3c2381dae9f8dc168dd02ba8174250038ebd75c4651c39c62eca813bb4da32d2b61c1de95694efdd8a7c639669dd795f411b9292fa71a77c064b2935e29f2948e86cfd65bfa526f3f2d992a95a9699f7591f58d7394a8c8175c186400e5403ae7a2543676fdc8e4419f1bc04e83c40cbfe569b9d7a403623826c1f1577820d612f18f226ee38734529f262ca1b1ad59e566fbd727a7abf2563642bc0e8c78c363a6682ec3f1a1cec4062b891acd01150bf3bfdb480037eb91e875fe189be56ca964419eaeb5bcca10616728551a0a9666084c736def142e42366434ae59dc8b4fc9ec9c0ee1a53a32566ec2b9c335b8f5d5c22f2d328ebd44d222b682182a4ea7eb285b59dc1a2464e4114a7ef6c5630c4659db5671cd44f24012973f2ef826089da7d5d09419e92149b5e8d28e209ae22897bd9415a3f4429729e810a71a06360183c63ca8be2d280f341b3a87a5574b5bc59fc3c330000ff9fc89df75a6bf9aeb320642c88053968aa77331e343f7e533ac7f1f75e24fc95f9c0088685372c181dfd2303bae52d93db8ae2d4aa2fa4c38d20d55a944640b199915eaa6f65d4ad898517296ad7bf17ca1173cb1517a7317672db848c13c37ff1d7024036efc53491d7b6902b3592f8e5fb5b0f87202599722677875b2aa5151267bd6f9929d61b857bcb192432507575526b2e04dfd928f8ae256c715c1ca604259f415393396191d467025e61cb643e2bf8f56e3ca7aa6a3dec3a505a530c4bbe8b9f851c6f84679bcb9b939135fbc49e3cc70071165f6becdd561ca141d4b565ab8995f2b570012d36a0850311422317ab636d4f4777fb367237dab4bf4d8a4610c9422d4b590f8cac5cd7fb10e0cb5b60902204e966bf8332b5fc79de0d9fce62a67aecae23ff40940a43ca7a155e42b2092e015ae8127c89eca7132eae21b28db685cd12bdb1915b7db9fb135d8adef7ae506c1e42ff12eb5ce18447fc6910cdf9d36d2b72ab5b2928bb866e7ff909e42f15a52ebd2fd5c7ae85c87da0069f6770b60658510c78e06cf9d13bc7cad355d92c9dfba99d0d20729c04c5b9ac904b8d8ace99e70403a1ff968d50ba8cae8fd0a51b0d9d38f3ba2c583110835d1eae23a751a3bdd07a02a5bd8dd15529ed7c8f5c8a1429cea042290efcc3bb50929b874ad6853e4e610774d36e775e96e390c10f88540e43bcb6ee7d27ad93bf1d6630963110a0255126d2640f39a283b98ed22e07281822a084286c4b3ba0ea3c9ab6dac5d14fe183328ea4681d7beed44a7579b1655e91b418e932412cba1f8c2664c6a405223beb4a2b7985aad3d7c9d6330e935add0dee136d4eb780f5f66e4ee3db3e626112fc315184e0dad5485b83d87163e5bbffb0222eb3c2aad98b335b7a8e5657a968c4007558ab2e68cf2d71ca9932f050019f67722b077c93e663f89ef998d14f38c184077452b92ec317d989d20b998c17a5f712328b6d70db2e2ee67d3c05b61191e1d5ddd536b9f312e8e71809581c73cb1654dcf9c940502ca63ca88d28c1346016b253b222c8a438c404d23b19d8a9c189607ac4155a041c60d13d484c25a06144f6039b7636c9795c883dbb475c851f38500841ced6fa0cef4140a3974fcf057c048de68d956806511c824e4e53e722acc9cb1fa2755cf1e0eafb505fb19188082abd9d1cb64c3df06ba74f149859b2f69720d1573a79898f526cb016fce32f10c48d4d7cc5a2521412e5870f723bf3020460b3ce1256a8ea7447546cea2f9d8f78c99dfe3a94a01c16c43e5365dc7818d371be5dc79c2377a9344a99a16ff8143b1b33f0405d3bbbfb8974b96e62f07f4aebe76c4011840e76fb2d800214d9156e712040a298c5ddc70b2ff6581d968c388c73d74be02cca9f72a16051f745c29aa9aac48f709b8e461d96b76c06afa9937393966c00836989bc7207376a917170ff46034413b0021fb01b979a150d759c5b3ad643e5cc14c147e6f45df8bd8df6432c4cb0c9dd1e8dadfe5b724ce8b05673dc4bc20f7ebacee4dd23346c9876f71ed5247cc22f83b66ec4bc19b4b577344312626f446893f9a431dce0b854643cf16df104419fd3041b7bcc0770b5356acf53cc584cadba66425c03539075ef2883eca669357d98b0e79b79b2675c61ba2c3ee8e5e09e2de85c200eabf91283289bc46ee2559efc486a61369d1f2053589ccae1761c50eceb5866cb0fc85a2037054ac867a634e68da8e6988e1b323f4ea7dd8235ae25fc52e9968f87d1c72687a6672ce53f24a45a29828fa329f9f061910bd584b88709c1a3dd0bca501660368f962fb7c287853c2ab9a9c08d26a5e363f7765766a36f9843ae607e07b6df9898351737378bcf5ae30067e3ad11f1eebc18e6ba6425b95d3295b6d81f6519fc91316491d80148b5a9be06779c1d35087b30176d18e4ee55e61d89eb57867127cd14928813a49efe4eac82f1720e82f6972177b74df358eda6c940424cf712d6a66c695a1cb1d2f032f4cf0c48acb226968c2156a714899f5f442ac3bbbeff0eac7a1ace88355b00935c3baa4a18e86419fafe06c1cb7e2d597cd2dea717e67e4b64a03f1ca3b0df83959fdca1c7f609fa67a0f93d2e47b97713bbf4dacebbc71fd433aca908a3258d16cef28f30cd7516ed585e1474c71b14bd525b08c0464f3e8e9fa9f90a472b43ff03b9e125006178ffb8bb1d7f0e49fa9f2aa57e79a4229cfb684f590b4fd30c447dfdf5024df6fb7b37f91f24b372c3a7d7604516223cafc536548f09701a1be862061491e811dbc0debfa6a75d03026a30639987ddeb0b8c607a019dbe440a862eaf4a87262418c2e048fddea0eae338204ee366aa70f33109181e4092ee7af082aa602cc7f54a894e07fd6947254a66d8dbd1ffa0e4051156b53998b2ab4f72e2709154b26996447239150662de82ef45ca181e3cb64b366254e9058af6d896172c590729f7cd098d4e94468b7685304cb2f41643c314b050f775c23f62eabe11d55e6d7739d3f6a6331a326a7ab05dcfc5d15666c36598d8c33a0734148ab347eea038d675f056b212255e0816cb8b32b012880b577e524a15408d129e8b7fd8f467f08b3531e6755d9b27bc2ec0a52d9f7e7158fc903649259793456d2aa8ab93305f2f42cce2f0fbdfe023fee9575e007841c4698a24f19bee03b0d007d8c75f7576494c653899bcdf2298ca369e4b6debae9d37c595648532a9cbad54d8966762f50846a37030c16998474e263c7191fe4bd8ff074157ba591a3a8e659a913f9de34652478f31a01282f4c4e68b65357d114d0d8b2d57cd97470b09f662530f18ee132386772f04a1bb17700912e7afbe10741f8d5127cad29437b5d9288a4549b2e2288a70f796bddcd9c8529a858972d120c07027bd83f14c8c0e5811cba27f4aa355f82656391cb7d9a9e75091e518875a31c1081f9294c5035c136d3a82dc884e54ba38f07bcceb45a2591804fc972cfead8fa40ca00f29ddf0afa95949a139bc2d5b9ff4279115420d7a83bc38c3d0b82facc4879cd8803feed6c7d805aadd4bb08d9abf26569984c6f62936c8f6a3829e5b117adcf91f02e305ece25ecf12f7d28cd415ffba24edfcd4b0f93bf0fbbfce0bf8ef7234c3357a3fef5c820944946a5177b826b916a2c14de499754fd4fc9a439c1d9b21605749a9895f53138904cb33212705f121a7f4de1b1fb8c21423e5c5c015780188f9ca299c5b54112fe959fd2eea05713882e5a8bef9068fc7c6a52dc628272802ee310b21e15ace9629f59ccd6267d68c11ef6505a3bebcfda8bbe04ce61829a2965113b3a2d3552f0a9981f0738013cc3df69674171816662c51df5383627bab9bdaff2b871cbab410c065d681aee3b98ba7053728b57428ebeb30309a7bf049554e390c2a4e7c375f5a8148946037a4c682b86f6d4b2fdd8be513f5afc8ee8210d915c0e4cbef297a2dff7055c9b33344e587b5baad0ffc686fe65e465919ac8d3dc77e1b8f688e763567a52237228500eb83aaf7c27fa589cce62841016afde3282c950e80cf4c9cee807b4d64e86b818d67333032b00e7f99bfd16bdd90e7542cd2ad32987f625f277a55fa5d6662bf535ebc65283f497046da5b141b38ab7e8be35c49425582d53289cd447021a67942c14942325b6ad3bcea23c85fd5ade2c23dd5254d64e00b0b345c21278210889d93cdc42ebd23eb5b88830ebc1ae716f98473b5e92cfdc7ad53dfff6901ffd0ec412b7fe6c969b912c94f696d419e8ab4d1472d4d3dddca35f4f94ecba7f1ab59052a68337ccf80df2f353194711e959c92051a9449d5fab59f6fdca35bd2cd6aae41687d8b4ac1236c5bfebfa423ab28901abd1abbfb5717d67d196e4026e87effa30c26d2cd7cb8250da2acdeaf560b604624dc074563ab0fa294b972b876c492d17517e44a0d7d4b9859b033b97e61e0d80e03881f9f93ab036b203df2a41a52a09101d9bcea0f43d5e1645ce793e4168578317f3219789f48d0681c57a515b70bb05f03dd03898e5ac92a318a1488debdb3ef974cc3ddfcb55b85ce54c9dae1f84c3efbb9c67857001a26002e66d60e00e86d78aa1514735941db441b4c9bc92ca6370a98637514cd9304f21bc36382cbf47eaeb408d4d297b6e014b4ad6ab5eb1078588f4d2622814568abbf163db37bc884acb9a538da1f4f4e3b5bc172a13eb6806e9374d47870bbb34dccf6e2b1f4ec62ef46661095b1dce153f181f72750c00cb37e988704641604a3816bb4df0a5e8073cbcc22563e269c02bb92552b33b9e2050321d87b8855bbf87d53592f5715d799c78a8d94221bd7bbf3e1a7ccac710dc2d240ee0260eb4d035be394a8666564871b5636e7a8831597e0c545640de6f00e7deb95981c0ce27c1321f060f74dc7140e22afa28fe4d60769f461a6b199e4d69f862e052e7faadcc158e93a9c3964711d99fbfcf04823f01954bcb44d268c03a2793d110932d169b53855f85d9fdf61facbfb42205b0668c33b0ffa7917abe853c9f937162f06f5d30448d894e2cb980b0b1499b90301550aa94ea546fe1d789454fa961d2677305fa87ce9a3816a7a16950a9e4d6a4946680969ff78551e4eaf8c76c360ab4cd79fbf42b23947794dbed963ba1ac97dfb3bfdde6225230f25c4f8adc450e1d0a336e92c91838be70603131268dca6c1efd007ab520ddeef41d4dad1f918a73e8ce071279ef70f66619b4d0735516ed720c27f8158126b1899af06e752b1e0f815a2d3c2cf3e56ef79b91a6de4efc612f8662e7b0cc1cf635f4d051f902e7b0f2264e8eed2ee54e21e8899092a90ed28f3739c2f1602ef9476ab27de5825a9a9aee5762281e398e49a8adf646e53e1e58cce2c4b195b4a5d0fc2a1c2330a5038219207189743b097958f327873aa348f536744a938258cd00aa95c8c98ad01faa82e2dd381c3103e0dc433bacdebb84c505df569e657d7f7d1b0a3a6a93442691881785e87e33cbae2f0f39ff4a0dfd0e4dc3856df21831e1c83ed129cc1871e7eb75e633af672f619d3859029404833ee870e5ba9dd65d62e099bff7abecb9d95b2a7504060c5069b042491fe83620d2fa0f855ae539c1d6fae2dab95c4746a9acd9ac66e21d2995e2e1857da5b21786fc92f398b0a8fb2b6c68dc04c01d77949a488ae03826c361afc23ccdaf5b4408a97078792442f92eab0a8eb1227e1e92bd661011f1cd25fcd4ceb2c4742ae9622f213ba775320b27f93004d12e65940a54bdf11e96fc2a8fa99cc46c0951a07d02c9653e0ab65d09255096d394f2372d7275c8eebbee43a43919d74de3b5283e8bae6de0652605e222943d874826e3a2b76112cce5f5cbd38f996282856f244fe3ba6ecbf789d576197df458e8b196ea4ef01c1b37ecd03f1100e4c8b62cd45ac029c8ca0d3ae4cd9a21ff798e3ef7e5bb4fd09445ab48074fb0b996a5fa5d97f3335d1521fa5120facd60c30548e00748bbed15b837ad19400f9b22b2e2b06d7e0da7cdf6562ee110c3957ebd01e381f431f1e0ace3cd49013fcf5d1f7cb402325c4fc41e05223b8c1a148408d2fb162f62c8b135317dfaf80482485df7d9227665536c42989dd69e94ba42af1fe71cc1521d151de82bfa01f6847b44361ba2a7e0cc0633bb039219f2afed15862e88f97703e86b99900211f24a0b70b467ff431671af67ea39ab9122976ddc7d078815d44ac365c36c070616021b38f45d3601afd47471699de773d18571604263442767e0fde699c5b0534ea26defeba167eaf8a89264558fb709bb4ec341890477a1cbadaa8abd333d9faaf95d990c9a0d7a00d0bed1c0d249250a385fa2923a5020d10a73c15b1d0d33d0de2d3650fe6187e1d537c2adf9e3f3105d0bfca0067ce8bfff615be8baebc7a84b868dd2c0b13ae0578d0faec32a1da36f577c87ff0c4340497d73703838fa5ca456ff39515629bf074745d3016b9daa66c66f8d1d354caf9fb17a74ffe9275e00141a50e345232e401c26fd6558861fb893892527b620d74bd2f600c19a14e13c8079435e8b3d9f687a72a804e21d74e8d329fca97439a9e9c17e8a2ffaa2ae4cff73ee4d2797abdcfa4f33eacc98cc487a6fe85ec0289e3c27b117fa217719f84535c08df37db232e6f3cde0cf2be3789116c16c665c721a4de5512ac1e2f534cc86a7ece4cbf9a55ac8d7579cff023d6d631f74d6fc41cb1c55d3c5bef75881f57e595dc8f28c37bdc604f71727a8997e4d1bafebdf63637e26fb1c96cfd3f698dd6e0cdcd775e89a4897d13c17c76426f94538899e8c702cad9a98ed08e1edd37520290ae86429482b0d1ea1c34a62da346e955ecc54a847e95e3014dc53b5a0bf5e7a721f0ca1f4ca1acebfd835abf8646e480c0d782b7983bce4205ee7f890fc1bab7d4bff752561423d0855976217f32000ed881249013b13b7563fad70f30836e2e3b857d10ee7e23140e2883eadbe70fe041f32e5f8b0f98b443f43bf595af419eff45af7c3a4fd22f0ee87d924d4e33f4befab463710eee393502e95d2374046bf6a98f3f3fee75683c7a6049068bf48a62a14c3c98ecaf35a5c930e8be691333f81f9c566884dbc2d6818b4d463ab5898a3c4f20720f47f68d91d4ecb7b4eb7e116a860b8f1885d4f906bb178344e90918486dbd781326e268531946bfa27a3885f952b41b85c7b9b0fb84d679fd387baf2ef7649e8bc5d4032ecf88f4dc242fcb6af8fc724eb02a94fbdbb3678024230d1f7a20ad0292c3e2c7f28cc9e51a8ff5a29f0348acf955f932f165f300f0c75439c17e3a66d1595d16dfe6636fd0a59d315e0d3a6b35e3a1842cf28cfd9fb75c3f27e279c1daae657660b3fb8d9f52ca29558217f955c63b9e47d2666123d21da457f7373be370e7ffe58a9947ba63d7a9afcb26b02e77e3e76a98f9e3aaea79b5638382b4867d75a26573be682db975f374d881dd76326abc0365c04bf0df33df5ccd119315f4790fd82712c4b42f5a12013e015a1521e6311a947d09709fcd1d916862f83c4265c2ebf9ca94d59ed4b56218ce28c6330b8d605c68108ff60a1011d42caede6a3eada689c9e2c73d4fb9fe4860151132d8455cd0da63942aa65fa24c16581d07d04e4fe1e19f9df9c8561cfa76a9e15f4a9a566a063440e37082c86f7cc368aaeaa456d8132470729cb511a48130dfd89f552370bcc12bd261a2a0ea4ad03af24a14bef3bfb25898f5e4cd4797351e195d107b3befe3d249120c2376f13f9e179933e24a81b95483ddd2dd9eac539f1bd31d11c6e42d85beb9c19ad2724f665f2f769fdaed47c00330ec5fc16c653908e03fc2f173520a606ba9fcc4d897ef46f830693203982519f7e86474f2890f227ffab58640dbcd5f51e6a46d44d874c95bdb735da573c8051fe83ae6df6a7a920d05ec64246dffac52d66e2f84b5a789a23b18e680b8fab34fda1ce2c35051ffb2aea791cfe63c5d9902b2f99e2eed6da99c747ab0827f162387affcf804209d28de63e88f037712d37d659fd2626b903966b8314618d12b03ceb203290b0c78eba0f417685da82084195e17bfcc5595a3ce427c2f0991e3914db20b614ecbd21f64067c19d98a2848c241f82504c840d70954853a39a34d17cc122e8330acf73080d7929d58c69c4be8bf832b041e1258c689065f9f12c8345cfe5d7b4f783a957df8eb81d8293176d9a5cefe2b04f2536ad129c81a500f14539ba2f08f73d93166f2d4c6c1ce1e1c5e2d8cd1b578f9c35797439673406269f2c3475b3d008abc07e825a50ae8526a5c6761ae8f567c88dcd4ee5a8f91d7adf3a023a39881cff2b30930d05c1ab7572956e08a25e97bf87f88b3696d4c6f8853fda0a67ea4fa43a4c70e655cf85891c55b26ab58067b46f5b7c77500869515a24e955dba3a30b1e32cb38180dd05de86ce670ab9d00b8a32a6a0604501bfd541c77fe00a4eccf3f572983fe4530e2ba792425342f4eeddde963bb65236e991b8f3dee7f2387fbe47feff3ecade4ae703d1ad7f8f5beb2fa2a397b22403d02fcc2b17b5f4478ec985cba33bab21acb5795933ab325cdf2b259945a9101c8885cd956e2b38319dc91b9c35acf5dd9b46fdadd1cffd024644fd1874b2f9a9b4c1e0af08da67dd6952adcdb83122f0a38f3dc850e53a40a5690dcdc986d123e36a9920b7869d13b2d666bedeeb74da34bf4fbef8b3ccc754fbcb097c510888c192957f7561ca1734b7cd28cef8a4b54693e77aaa82e373f30ec2ac10151b1910b1f8e4940ed374f962ef6099eda6fc363338d48fc39e9490e5845a7339f09aa18f650b7ab1d99230f9aba028b2de34816eb25d2ef23ff3526dcbce0f52e2bfc31b79beee8e4e22491aeb73788e0cc7038ad1f2dfcf409b7460de5a09c364c5b4e30dbbade51fe212cd6f6e0577a3cd05c7387c4fa93b46f0baf4840042f159b79a23cb83aeadf24a25bc7532749967a8d09fc2745f714f08f4853174d5e9b0d3db2c8c29e0835148a1838437358e39899da01ea540aad344c8fdccd78f621a86483a33089ca8608bd738d2a22f4b060f691d514635dd0c0b46316a4df0043b12a6511898af39f3aea80fd77b134c63d8e6bbe6ebdb0cbb406dca6598660f1cd636eed61f3457d2f7ee9e8042eabf6d5b6b2f1d191bb3186b3926e1d2c44a81961d93ea6af43d17af06b8698ce28be45409f61e8601f30ba902281d0a12e143bad3147f498ac2a889bf0368e8c8ceae0dcf3857e97dbf6ae4b809314310e9f2bc0aca973b3b4b6921cba25328618868dd5099c4ee4263e1c68d316eb257eb6048f88f5ef47ac45364b3764a8b31cc889ce61892bd2b3828676c99c6affd12eb6822a91a44c9a274e9ca0737149e92a4e6e0576ec361196b8e2a8f3a168a2406e67f369eac6c7d0247b4f4d1d47fcfd99d50c5d56f6fe441029643c6580fe7e305304a01894e1e2f4f06607a071bdaeeb9f85aa84660b35b10cb1b7162964d2530a3627b878f684f8797a0c3fd19a8f8c69d154e4beef08972151a9b1f305b9e228f0129fcf468076b771a003702b3ce08bc23f23de7ec0b1d14e3da61af99ee3e1f81d0ed26e3978315ec5c07b83e02ee14b1dd8c71f8528b63d35cdbbeee16291ef13f4780bf2306ccf843bb884e7e94588c71a62be6f6b3b2e5eec133c65b4cc120566c1083c8d39356d220ffcb425e9ec8e4352bd47720821cfe9efc7bb75f19f070cc083b76c7b316074b993380353743222b146dcb01c813d10c3714d875cc00e8c08d4206f62bdd7315c4b324fbd1f48dbede0a2a7b7e32c0ba45500430289bc2e32759a4b3ffe373dd1d3651b998d43a9c70ff2a938b0970b6657332f4b5c76f194033090e1cf6dacbafd0311848bbf56bc60a2e9b5b041794b902b6f25d315a1e48a3491f585f3205f695379c51250b492804effa8d84bb879eb04059253a2891ba211d854a1e2937ac3794220ebf20bc3af5f20a8922455e626d28d7830ede94ab579a362c162d2d2bd9f93c3af8b78f791050608ab0cedd65a8db05f3296786f59a4a294ee2314ed20a7e51f57785e31c519c70b0ab2536b9a8d2e61347bc222073163be2bee5201eac00ffd6af2ce1accd035acf52a0743ec997d2b1bab8d528e5e94a10fb39d0e6f5e76dff72595503a8ad915b127a494cd9fc953d850f9b1b8d2231c993135d3821844b84070838c933b7244fbe5d69f931978f60a1a23f53a02c4e067d200bd2897af30d87104a28e49be0b3fdf1505f28b911cae5a8cf5576b576d37498c18682d80ef48a2d7c1522020c62fdf5d3c87c34241a46ada5bac79d8c3cbd8b766ee293abed667bab9d674bf2cb83df62ae501115ef155b6fdede0360ff0384f3c88da123dd68810b062910219ade7be063ebc786f4614471214862c473b0512e0e1338e998dae48c795c4851aa3765b48e0f1208161032054312e073eef87ecfe3f01b6ef3bef3d1e4b21ddda7eb845975ef210c8d8a2916c8a05528ed683819a6d7fe7f058540a4709d5d424df00969624823e0d7e1e090018067132f478286b32009b77fe53f83253709cd637287306f608a24f1cc73d8bf39dab31d90c5a0086ee92d66a1aa7a86742f0948e1ee4b233b6fff35ead0c42e4d267b5f37fe503824d6821ac78a73bc98af9836d2e5e6a120f5ef49146a066b33d4cfdcba2a5b59358e5d47e81d9eb1b2aa6f6e081da04a2f36b668a86606d3d265ed6c699754842391cd4c051b53c27b3e608f324cbfb2b0b1904c63c86231806e2f5c8c9815a88caa08a190891f18f192920cd9f8cc5a96a5999ef1cf854957a83aa3125711b8d99e3068b7c12a1f4dfecc7a2adf561e6b20f9406b64dbee24f757080d1d4a749ff806d8265980886cba66a0e49387f755e7c553cd1e1c11decd1e6b0a5137dac5468a00ee2be448a1578b804cc315f3178ece3dc57cf2aa0a7af99ab1f63e5356994d31e713988eea7adc9b9899f907de3fdf618ffc650f0533934a7050ac11847087925d888881c92e5904a72d040ab51bca5e7884f251213aaaaae7339a5bba01a78f643c0d82f1da64e84f63b4abe11408e9e40293f12d92c5c9a907da3f2d09f3e331ce285289959d842e21a38b4adc97365742448fe1d2275078bf9fbd70c2c99987713a033dab43efd564dc942e845d01f430184f9b0dd7f2a2a5865110aa3b16729918a54aa35b56aefa009398d02e6699ecf2105c65bd548ea2dffc8bfc830029b454ac5baf41823341c9d09b8cc324ee7ee79cb9d850ac9afc6a4ae725d9701e8c3fe6b1de3dab8a5e23eb44c1c52f7c70173d380da6e9ac0f23b92dfecc87df480fc4d19e4d299fd76713dca017586e7cf920bf3496524b0d98c6c65549e12f5437816ef606198dafc64d639f4149ec197514d06ff28d156ea632c155a96e68f9d16af0758df6006105597d2a9235eda41d9065a5df672db594091b347f368e8f17abf2ed0f73cdffaa5cf7c823c5ea40e092f12ac8d6eca92ec94a613ae07c38c69bf15efc8f9aa13dd8466fe552e3c7ee9c2da1d0ca1bda4a06e60ef8375ca6e97076d076cee8e5749dd66310c67adcc8e5991eb1b05ee80e6a1738d812e077eac971cad00a22af4bc14c61779f36d55afcecf6362a5b79995ce69a3fa6ae85af5ee6fde794ea7686681af46a5e21f4b4cc8d655b3fdcc174d8d216aab267ac8be13ae4061b5f2c48fc882af62c14c7a63dd6bb7868ce53a435766e0e8c8bfeb6f685fd8bf02d10c2c2696279715f43bbd31da5557041578e9e2b607ce7d91d4241439a729b8bc7abd78002469bf8c0ae3f37c5f3d4d1a949307003031c6d86b1b90d8bdd2098fc6b1d5251fac83dc7f07a502cabfb78cc62ed194a60e653cf67bdf34349b1726658c11c482cac89106822b67b3a652afdcd36ad432416c2fb1ad50b3404516c72d924179883397f0f76556227cb87bb847cfde6e8641011b961f459945cc5ab46c9b2279a870d328b00b17c3b597690d48c6dfbb719988f5d77f5c1f2208689cf6af04d6f2feef1c0dc7eefbee40fbb7fe38005cf0595e5e0cf0b03205ce7f71c1f2da0e93172fcf9d5b24326f6256faf7980ac585a0681a6dedb9d576b067e307b62f48cd73e2b3489e26994ec65eae3e7a9ce453a2c1eff80f7297a9035bc4ef4abe021551e071ff5d769c2b480d6a44d8ca6c81a117da5d01a68096819ee1b06949d620831340a5d386643a0c052e147e52515da99d8702cb7b718fa33ac24212f151dc6c15b0c811886aacd32da501f36292fe90af08984ab7d0c7223d5b2792041f08871c3ba6791b3dd6d2a02d5c4e8c0b1814ee65dc0f52ad0ad7c55085c9860d33e60031e9b2c9202933e01bf22603a523da9a003321a4f1edc3f22d87c5beccd3d47f970f6f101485dcf57371f2e0c314808a1f58e03aa2539fcc6317217f2411463a24f09be39eadee9e80ec3eccf89ac10c07cd574985200ef1818a41ebd698bf3ca32489aad9dd2bdfc54007e1cb6f0105f02b0132be9b3cd8edcaadbba5580d9b218a0cfffb5b15468b02467d3bd2f47d582cc49d782ed42b28968bf3569a2aa41e6763a2b439170a2dd61b520bfcc6951014b64ca155fbf23d36cacc5c6cda3ca271706d5d2f3ceceb961012bca1e30ad0fcce801f2085b8c648884c4a32047e3fdf499ec6b3e30eff1be923a0fe702e3c965f7c50c23863a1bb419ed108a66a30b1f31873c43d3155074aea41b922b3fb6b52468f027698e43c37e69f21441e3c01e351d063176219a0b47c6db5897b45c1b85310d3559d3db44cfc49063a038bfc35d6c95f683feb0182eff2a892b9fd0dc68959944e8f7e8bd629839f5accaacaa84b24cdcf3149a03a158bc392fea07268bfc6f84594229dd2d6b84c7b5023a1122729423d660e46256c4860338f87180d42dd62d94966ecd08dbf9384651a09e18587f94f16d63b7159e82bc2e9c1c6c74da315c1e0c415ae476157412af299cbf34957e0b982387d94846f5405863cbd0fa8124123a9aefd115305b21b2d644fc1457fb95eaa2a04cb3917e486227c06f60a17ffdcb5946010727451bb8d78dc3ee0bc975eb0b835f753cffa707a3cf2a0471df8a829b5ac8303e119d373a02593d79980de57188a7cc0e20a8fb9c8358741b3164d7dd54b7b6083b246d1a8a87123e3bfaf65f5bdf3b730f3e8797a00b9769815fc576dfd1311d196551cb52c6882547d4b2b85991845bc12108406bb630186cd626d4821b17c0f3325cd6f0f92c3b57bc3f60d535783b02e7d3232d73237217752d0214204532f343e805d067be59d96868f2356ea4d11eb3967731bd965245835a8e216652d997554368fc9bb2afe390fb35b5c2edad72141bacef399f7ceaa53854959cffcf40d40d90df33b264414e0dc0f9b86b054e8715a6e421a9443bed378c1c31a825c691bca8d9d17d9ff1d888d8e98ace2defa181d1c92cee664789a8103ce50b78f183beb4d76283e16812fc1e84e9b6ea557ff943d05f3284c0fb97c577aa1eb22f37ff9476d694498bb247463c30e2916a46c369c643f5400e67ea8cf619e101c43d12f9f336a4c708b3e717879b718a48b482e6807c620f0d7073949a10d1276c6ed15904dd8c3bf63fc9251b8b0c3604fecc869abf67bbd2c173e8207a111688a04a4d634de0cc20684d25507f2c89ececb8bef467f7a4cda00f7cd145f25aea49881faf667a57c7777fb160153c78f7cd197e02d9fe41b167d5722419a2e3963119f4418d25bb08c4ecc82f0b5b6e8c16a3239d6077aa2eb4c7f9ef40578bea8dd2e0ca563406d9cc01792f5791c081dbbbbd3a7b2f0b43680b3bda00f99dce6324f726f75cdae9678d7e07bc3800e9e8a56cce48207d9453d93eb2d0f49bf6fc622a161bcaf248bc834811f889eab3b11dc53e65b76b8767305ffb908228463385964555c9dac1805c37c1fa7996558685c1b2bc6722d21bd004afaff9b53fb585c7ec0b96bcde0514607de0520e4fb51a2182de72c3407aff79e6abaac63e9fa9747bae2cf36dd23a10b58a715335426ab46e073345137ddaa9f36ac48839f9a3ebf5168badaef8761a30d682b2fc064a571e495460b20239c9a45eb17c6973fe971459ae85350f52f1308894a315d689076deaaa81affe25ec616947267e9f91872ef8f46041edde94ec719c5450fbb4419cf577efd7f6489c780366cd496a7fc4ccb8d73066a5c27d93408535b108147f714f2f0355572cef692dec548fad14c732509d1b38506d596f2d506f444518d6f89feef66e91167141a3169012467b3e0034763251edaf6233f322d3813ac3e1fffd0daadcdc295551e95e40a9db76070755d231644392766d1a2aac9d4ec6c29fa3ec70f817a7d6c09e8b2ca0bc961990517e24a187a1d53c414756bd8cbeb31d0242c98ccd91069f88c8851e3c51084402bab98b43056b66a85d56b28780adcccf0757c0975dc35cd7149e86d134462ce4527502e390d286d7b9902ff6011626c204af4ce3256b6244103bef32027131ce4600d64f0098b5212a4d253e195b9ba2b4be946557414f316582cc3318703b92b71230e0f232930bb4b3e18afbb7451ee25fb7d21366836c45eb2f548111aea598a7412828aa9ed20c76b0c873a088433aaf84ec7926e59e800a430ebf79d4417494bc2e750b7a848931448bc6517dc288633e9b5c1675c4309b4e2ff6d8117e3d3b66aa4d1f434f9aae06cd91586a3a732d282b6c582b2c81ed124bb6a266e908ad3f9627add7306a4862eaf0ed0b2e0da85254302813ffe084b78cf7fe19735860f2b7d13a45c9acef446dda59f69c947cb4af3d4df0752fba51463c3c0595e63520257924e9b27d0f8385089d607eb863dba36c966b702338a653977a24de489a62719f0d81e1d252d7cd0d63ddf7ae04800b2eb343348a9b031e0e46c8899b15947d02bfa15847708ec521154128b15748e02789ff5aebcf071c58d0d96a31b8f45ab485deaee295481286057027d16af007d66a9c60545a1da5ea46a34d2d4e6db62590d715b35052199721eb669a8ab621c10d4cf4b8c3178e2953424cacd4cb2130d82776084e8358405c487e9f2362fc78a5976022c0aba989025cae569dfb7021af6ddac7c36a416ea53df1ed3bdcdd5da54755855d490524bfd185db9de54a240da7ee6bee1bca13a902bb8756b7e8ec97bd9c9d877f30650df70f4f4c4d0cf0e58082a3d2b740ab40785346a40c625b20f5b2a7f523aefb56b712da2325acfde6788a31418ca8212968dc98971c2ab82737e326e4cfabe62b8a5e4a9b9c77c9e007e491a35b1416d1cb9d722821c790c9ad6613e4be2488be79589a1dec35ab2b9b8c96a419e039dad3643dd0901af7f983d6c5566756d545c0c9370a841be8684e916d9640bb2bc971cad2adc50518a363f0046ee9863d01d0c4b560c29d136385f4f9ae0ec8d80057a15859ab3e10d9d3710ad694a7df629a041fa7ea0110441b793d5350cea6db4cb9784b27147d63f7a94e3fbb053689930e8cbe522dc646daa4bc7c683fc96a0acc8f60d4a96f9e35c16e9456406f2ef2d79ffa7a4238fd567f0e2cf643b172d9671b0ddbf2a05e3c95a657c50671119c845781409c994a7e0be93675086976c60637c604df752e99e339b90a55e6d23c61df48b1f555c2ff4763867b61047917a6da7a42fa5c54106ac2c326accec1c32dcb8639f120a8df4843c310dd814f9b81264860522effe3ad07f343fe1360f22ff5cbec8fbe44445d5b4edd08d2ae3cc098282ce0fe1ab0639717beb31371f8d3fc6605700bc3a7e7a7a188363bfae121bf9e98af4f9632727de4eaa33da55088b16f23746df0bc02796b5648e227815633123a2492af8e81147a4509acd7611cc0825f216d1ede162a859c9f910e4dc7d87b81402c5906bf00aebb6993381261e93df888454b270f4553b730039d98b5848ae532f42bf3d7dea153142edb5818da87e3565e73cc8ccb75204175ee5ca3af89c04a7c5027cc6a6b964e507862e5c2a5a0ad58b05f124c01e9385511c8ba66515c0eb4fee88f1b4442b2d4ca507e2a8def9391f20e0920744458bb09043dc351027782280953cb5f918a48ba0ba3e158f57d477319191a3a408574d7aa761e9ac73606250580856d67b2f17cdb2ad74f67da574b3726b3993cbc1e35f0a5797d986ff4b4db8d014068afa6f9493c60b34c95a92071bc24f9ecd6596ad6205c6497f121d05c1851f48de0944cf56fa92f7ee092ee9e10576b95de25750999feb1c78d90a5a12b59c72b3999c56ea5312b733333235048ad45846eb6348f565e646b571731b024d9cbac0653e14f3d5d983be456a01b78bf45d22dc900d1a9a7079757f8b02269aa1026e2ad7e48e82a19a047c2cd494c4e4f3895420baff36b1b0ae0f9db54a63ee2a570c935537994436615ea434f4b9ceed2e4593e90fe09a81140da8f66015aad878469237b65fe50cad8a395e051c6dc00b927cd82a00e30b750e6a3607bcf90ec6491b29b863de458c15555e6e8d4da41e5fe1b2db72d351d51323b5b9655ffe4ea3eb192beb51442c09deba6ad147626142bc6c99ab2febba98852b6441ba931e66dcc6b815d3f3c72d69f7b08fe83a2fc500d04d6c2f772bedc9322541ef84867c583e101d0b409980f300c31da8a8a7cf882963906de87627b5968dd4036b239a49f6633f6753f38088d67fa0a6f7c4e5abfff77a34944c42dd965b7fb2bc6a75e79e122fc8cac1493a3b3cbf0dc77220a447cd8d5191219c4b5f9e17a1e465f00ca9e603700e97d49f07ab659ee02bc1035c5fa534100f2b2b55014a8036ab00f7e6cc08c6482828663d91408160ed0dc2330038718b75a1615251231c7387ea54bdc38d2307fc09f66b0d1f95cca241868b7bdc2d594dfaa8af43c98fc120836633e1fce038b0a74c2c471a88b0beca16d0e932c911b64f2b77ab06f25ce3c64d8beb252ff83758398061fa96c2c5e17606e5b78d8590b8737f727fd074f3c78f88badaad4bb8b76a8769b94b483879e022e94d375fdf9abce0a81ff819e98234779026a38e12e8b862e1a5459b5d55916330eed0e8da0d185a70d23a32b0e44d2c6b6c968d0babaae73c45022bbb4f541b15a900a565ff649e75ca726d0b21e0feb46f01ce0b9ca73e175e84369b6f893e582d701b61b080f95bb76d22226a0d474345a282e25d0d1d23e28bcfa1fc72b1f7a94fddc550aa7c9c94da64d7ba6484b63697b53faaca2e03d900a3dc7be55ab5a8003395f649b9b5be0fd22ce5f3586caa52727cd05aa4fa532065141122e6ea5480856a47abad2c3e3c08221354519652da86262dcd8f66a84c587552b9df4b09ce6c95ccc64a3939d1ccda37dd75296a12d60b0fb2f6c9f2fe30491193111eb285e93e71729a9ad413cdde9600d2af5f37c7e80df2a2331546c4e0608090b36e60538e756a07426bbdcb4c3f6a58525f707654d2ab730712027ef6a2e1dc63556ba90caf12d40278169099905b12de18c8f9e1deb86a8fac01266f36b76d9e66cb7793302ed691b1d0301e06cc2ab6954aded4d7213522dff8c2c0a9adaf775170900ff6b70909f446009fa8bc9400f568e6e492f21f46c525e4420005ae17dce1eaf121e3bace378c5ab6de17b2048ac4153aff588180f62a6f716bd4760dc75e72922c8fb695e1061445ea457600cb86791cc872a78f6fc7db25f3dd88570e247a70346c6ae5358174a3de2007536bb655b7c4fcfe1cdb75c981ce5eab11d88dc2cce49c7bc83578c2c0e9b1f3fc0e04f156e076a62cce348cc8664df3f3845aa560dad8668c9af3d9a4051b9bef7b68e2533ed3882b1f1f02d4b4f9f082d20f6df35d5ed69c474422429e37fe35becb23831b36566ee48f7059265be678405ca3103c29f154cf661044df2dc582e03ead7e5172bcc10e0c3ef1cb4b3f0e241485577ea92926d70f3fd0142d8f1a4a4daeb55e5c8997f6f87c9e12b95a6610e5bec09751a3375eaf4bc5d123b2310be09c2dc956a0867563febc9607c6fd377daa602aff1fe44d667106ee1748d496e6cc2ef6710b03f0602cbbd75433b3ccef069283fa9854256e2f1af979e6d9776098899e060a322dc90d6403555e871390938de015f7fbd59a4d70a1bc39a05838789b35f862996555d687e63d97cd2b7238f08908a186c5ed4e55a458baa9561b07b433c30be187d7a7bb7e352cd5ceffbc8d9d591757c6ae13c0d562a60d3fd1b7e3f1d8d8ab1ae7c6da44fcdace036f953ba7d5b8534f1493adc8a04bf2dddd20ba15f7e5400a0a4f64981011181038e6a28c78329c6a4dbb8ce603b1d8246027d14528bb0d1d88ab79d0b8cf182bc1d9f3949a84d9d0c530def1c38e99119ea633075b4f4ee7e870453002fb7b8319e3a89d023f08b9b1323b23743edf8c53d2e20f1da3fe8a49b456725719092535b5d0f452576e8cc28233902728f0d6d2904ef63d5bb97a95c9fac76df338fc020297717914451e5123e2d09df1e7c88a4182cb5dd8e417e2025af5bf424a6124716764d86da87b4c09c2edcab78d78e53fbf9794cc935b9fc86658e709230186dd835abd5625a92f0756f0efd2720d931cc68a6a5c1dd6446aeef0b4f4743cd70905d0e309f81541748ec3954f73242854d3c9927923aec5e1c72354a3593adf4c72a8de2b6b14b280eb14c9d3567a8dc7f9064a9b3e511af9c88a5d923ced00452a2b4d065987a93557970499e8a27d2eec83d51a61f262e1b7f151630ebc7439557916de4edd2a879a74c6c35fca9c0a9edef5bf3520d5609436ed8740a397473d3a19f4ef502b73e3ac04bd1d63427c2b6f496a0aed3543565e1e4a045f7a40828e384ce4579db1b589ea835097bcc6a57c3396bd16a9fc225df598d0c20773807805025d68c88616bbffece726ee82112b041f8e42772cec8cac56c11c195637b47a14dc9051b30e80d894e8037919e88848b5acc3f89d11768fa1f1a2e9cbecf8ef9b064eb3e3358bf323f6481de399c7a337ef2ec77ae54970e167944429a778e4f5d262cd5e2bb8eee589d6dafcd607f3b3ce7706dcc1190d0cf4ce874e8e559d0710066dcfd559310926e0b65f6c94cd78f824868b4844e1a0e435bf3092be70536dd1d112e76d2003fa1c39f8d86e1bd826e22c7c8c2f1bff5cb5a8f1937a5a43a54f7631d57c3dd471bf7045374262a538d984dd2a3d1ef23334d20ed7d797c1a23896e8ccb2da5e4063b10164b0a8986172ebc560a47d00ebe1e77086df39da28386c7df15a707e86e253c0cf7af7a798ed68e638e8fa049e2f00467c152f17f864efb7eaa1a01c20359a9371be56a550d514a62392b9e12ccbfd34ea567627d2aa3d9bbb04e6570a1f1a462bc0210026d34f1775bd95cb2c17a3d05e5ff55b384ebc742a742349efa4ccacb04437cf2bcc1a600c1a1b8215ee9f53456ed39f31f5b69e089176e04f597e57bd6c3553af9f722e8c756801f587c55676edc3f84181d7113edd24158a5526a54aef67caaf50b6968081d9fa542d789019e6ab0fde942889c3c098b4b800544ddc77458f7fd78cc4e06d148dce8c0b2bd3e22d6ab3094e32a1a72ca89d7c5df4df8a43940a867c580594fe090426c65c52732076bdd0e6ac891394495430a95a24ea3d13cac76a5168fe5b88453d25d008390768a38923d8f4d72ed08093f6278ecfb2285bf251234dabcc2d069e10170c26a7a29b106f23f68052c035058fb7d5a01386d1e2866bd41336a17dc130c6f6563bac5fcc5820ba25e43a2480f4bcab92a190ccb796c314bdb7560c474d79b9b90448dbc1b886ab6db5dc8de6a000434e1910f8c007e9189a4f7f9cc34144d6259ddc5ba34053db19d5cb194924197ff1b06cb18693e378191327273a78ee1b8f9b64ac545b0d02ee77f31480484a9a217a0c6b9641314252c314d3ffe834162ac65b83dd02d6d354cb657d6a6dd20265a6ac58ea32a784640baaf21d9bbe813866ec77b101acc0c85d67dc7a763bddbe1e5a522b77259b20f7a2018aa1940064548b17a291f0915f3c214d45905c280bfe8c03552c4176daa4dc0abc050b996f305f213debb58a940e4bef22e401d600964b75c38c060b5de1aacd08c3e1ac5382f38675bd0da3155d4a5524ff732c076e4e1cd70c16f4035c4ea67a3c714ec37b7d9184595ac18a1d6ba5f30418d943b7bf4e9a6d0975847c451a5c49c203e000d67dcf7acf83a06f79949c198255f473994e50186fb1c1d75885074f20d539cbbe351d580a752db3750994b3a61e42233c5da90dad74d24fcf91735c559177a4257fb9ea8c5cfcdcbc913e9d6d56767847dc73ea8144b4b6f5815a67fe6b757e2209d65af8f07b7d0c1297f01c384153b3fa32f1a7a88a184cb5e7222076d32de16082f6d1d09fdcef70d1fbf7b00ee7da303ea53b2342c1cc09102e11524cac083a7ee071dc1ce857e630a0b600ebb201b5095c99653e4b5bd6b217148f3320c0fd1f17f382f98b59ac06d21a131899328fa99341624e023c101d4770ac2f34dad21038d1dc29bf0f46543aeee2b2a0df25c6431b268f3fa7038a76c421508c2566bffb39c1eb41bf80179db073fe32cb95f381913d46edda4c9176b61fb4b6a153a892c157186957a27928ea1ec4164a9075e900d9c3ea5ddc969cd9b92835d6392e5ee37f7da4a47a11574fcf028a02cd14c623277ee8fa550e7a58791bd756413cc3e3ddb835006bae4062033208b4f49981b79343fbf33a41830e93e300ad4117470d02ee677c97cf5a5d9c958ebc086ad869bdb6c158bdeaf731fc4ba338ef20d404390fc02ab09202fd0065b812ec7f2bb438c76b295412dfecd158ed7229aac4133507b96260c12f00acc0b3cb6e07e960e49a6c9439ab8c3745161798857f071bea08a78dfdd2564932bc205ab39cd82604f385cf7d68a19d50a83ffeddde2d19ef558d43b0fb15173a21f485d0d0377db47df87940a588b43af17961ff2b45b8c6c4935427e23c0c22a683ca6b1ec9b1eaa3056655713eda819b06cda8b157a90c741b9d8f3a271bac9142f0d5e83ae9dc1ab12191031d07309ef3227b0a2a368507d769bb2dab68eb7ebb3531b2e0c48149488919c47486ca4915d8857a1362625cc0e748fe67230ee2c984339815107a952efdc8d11a360e5bc0f946c6313406e6f5983707deac9e1b80ca27319e1ee0df05f0f8b26551060162a8b143a48616e298ffc32c18218e9bbdbc309138b419893734fb764c057ce3058a5c5ff20bffaf3f5a90a8ceb12ae565adc868a96e06a8c016ecb497e1d20a36a84d548efbf60c0406c139e961a7e9bbd03333b90a9e13e8c2a2d4d9400f6a271f81f8ea2c2f33da33784a2515d7cd962b77e9adf66fa5fb798e2babac5e8dfcf0280eb722c2ef50293b2e286d3a2b4fd74f34e6180cc29b3132ad9eb16739cbbd663e1e80019d1b8ec523e07be4aab75f08c4575246e1fba70faca54560d7ca1f40229c13a38094a7378d6f33f57fb814ecdb75644cc08ad3ba3242cf94f0a8ff09805620de5e8eda7ac8ca45f83c622cca8f6eb84324bfbc255bb65c38411aef4bb7e89de302cd381e1ad9c1760f8c8fcea1722b69ca2e05248998395e15414a63fd20e530582fd4c2a1d64ef799b5010fc1c08409ba4e5e62a63d1a3eb3078ea0dfa649b6a9bb09cf593cf22804111c4341abf9c59bde4d66219dc66d7ef328fceb360af52702f801e730d875c8eacc6ef40103470d7ffdf06e858697a562006915c0c9df441a7d9c7ad311ef44124ba04777bfa70e6a371b115a294e92d0b8a76ec9155193f6bfaca86fc0a4f63445914c2303b18ab9375471120f4f648d5378115c21ab424f57c738bafc00f59e9f9f1984251bcccb03570fd03755432b4f5180d45a92d7cbfc7a42703ef4b705ba791bfb6773f2bd95bd1281cda8defddf3bcaa71865506130e3958543930c76efdb0e89cdb0083b8833da05f0ac5b8ebf3e941ee83ea50ef350594ba41923ffe16dbb6a0be5992899846f5c731645bd47f819812bb00585a5951d22b1a6c66b08c492e8f7607c9ec8e260298828f320c98cca6618cc398f199895726bebd91bdeb3e32c042b4224acd867a9b2b9ba327861ec4ce1e3a6bbabe8fb2b36d9e0a829af5362e67d3108ca94c350a4c9fc1bcb5df8ae19c237cd0b538e6942a0f3cbddc3634ac9bc8eb1f503fa077177aa79a9ecf8726428ccdf65a5c82b5cdba003094bfd8a3826b1370527dd6a508401c12adc3bc529094e13b807227cc209eacd684a21f733d2c7eb37e134c7e1ab0d1b74e37d44f506063af6159f8332a4b2508676f3f4cf10d10999378f22cfd15019c3c87d368d68807296ee2a8cd74b4ee90df070f70a38affd3bbde3080ba532eab068cfdc5a045e2e17636c4cb23347afaf19518818b150764a7e8a9dbdb2703181049fd38b1b9540acf3b5c54e3d800ff5f294a07d4355d9a770f3ddfc23c550e03a4a6d414886d9998c4afc526b35bbf752926267b9ba424ffb19d4340d5ace38602b80d05a68308aabd98c2b5048cdf7dedbc30ccc9d07f126e9a212cbc6e0ac485bf60aab72ae5f6374b305bd7d666c3ecb2e1df7f80e82e16e0ee12e766b363dda79b0914f71a124bd828350c95f735a460506c182b351e4119d24b20b4630bf3d2bd8afb66c15109db60c656b32d6308a6025a493f06ea5ccfbf881e5735cd2c0beba289fc60c356b50a314dd34176437a7d5c434b5d373b43eb70401ba0f3fed7f7f73f2b5dc999debf01202615f1c877346b0e1e253c4b68852dbf10649f61c1d09050a3876363c91591d6ce6bc7e7cc37a4f435c23613b84a0f8408002d1a14c7dc80196ae4c87a3e529538b0e082451af041e148f2caea9f400b07e9301448cdc8370577697537f6b255c3045c77e0a663d65f20984133e1b95c746b08b5f3f15a61b75345b828814953100f391b0864818961738f8f4182d9c93ebc4479adb40f45b53e4890393501206e907d0260eb94475612d1f317ab2e045481c027784c35842ff4d51a2601bce92f4d76cc45354cf4a5d7db918ec3ad2c69da48de92e302a72b8e84e838a0d8fb346d3af07dec9fff10b89d6b4d04bef248ce74be0a84636a6b399c9222e1c53d309b4b1722ce07c8bd33072be2038fc7e93ec41d88ed6835fd7470b1c46ad608f1bab5196f6bc99357937a1809986a5cdafa7851fea462ae38a1eabb048f3310291a3a676de899a3bd6e3904384b270b43bea03dfac224b8c59e250c05685227a190d11ce7cf2389f0033a53b044f9136c1d4124205c1d27e7c056bbec596f2cf798870e9b4340c298731c431cb8faf7ac12e0e165de1aaeecd61542758635cfc04d4ee1da0635327a930659062a5050c37aba01353ae6ff4a997a0b9cdf0c438b055ecd77bff691ab8b3d8fa12081ec1a7e2a9ea537ab1478ce17f6d8587a526730565ad836081afd1df13350df066efa4d00043e88d85ec988bc3d3f9b76599f6dea00a5c1d41b5199b42e97ade38ecf0c1b6d8082ee828db4bd35af8d579798cea20af094da0afa4214b667751709758bc137dadd107d71117bbb27f450b269a295dfe02fb580527dc96f1cd3bfb356b0c0c5a6f83392f9fd55b69f796687be886b5a1c886a7e50e0e0d875cb1378e3a2688f75f7ab2a44950d2102694467f87910e751cad9946e743cbf3d3f2724b1dc21c2262b93c0a1dc07864d7cfbe0e8b6787541141bb6010084565a382b15a22ab5e7ccfa4708ac435ea13a014b397898168519155d85e658d47ee89d3fb38f674bd96835579f8a7eb39071696ca20e8ff6bfaca12d8cc57201bb54ddf77e218672a9f469277ed330eb96537a37fc4d0eb37d601c4c6a772986cc1e0ec4a79f10eb003f427650bb4dc0070134286eb7c71b7b8009b7dd7ffa3f6335c89117fb6ba1be592a992a1c93a0c634ccb14f1891c7a49be03296aa4d524cfd8c0ffbf97ebc0c3292b501d2fa620b660dc932260ad080b8fa7c172d3a2067c86e8720c943ffe18f494adfef06df7f5b3323d4703d9b579a70c84408515cb5eac1bf401111b9630766c81cd0b1c251ffaa838edf32d261b209807ff5db01cd6bed411c670505db3108c7213861dcbad08d7e76ba4c5c07a13ad1a45e8fce4eb48abef7ffd3f4a00b49b3f1ce417ac4d26fc64ca949a565c4b53a6876db5cd050cd5363613d0dd4251a0014f3144cc81991c850d9bf232ea37fb6d23c52549c12ef1b070c56ea6d671b3483c5e8fa780519bd7d9d921bbf0657568f38c2166940b06643d800aa0f32969b8a4372281ce3f73b72abeccc8ae39003c352dcbad3d240e05e8288265fc3ffd94061aba89bd3fba2cf07b5ce263c67aad4e6799d04343f5c328ec9c88ecbea9eccd63e5a096d3fffe2d5f78ab7b018ffdd95b943b0fa5e9e2fe4e8ff91af0173b6acc907b75bc64a1055eb2706e563ef8a2b90f67aaf4f5ef344b646965feb3a0f35639d1cb4d324b2c086759c42579aeb1bb801f4840116a35e001f743caa4ba97ab31c43858d19a93249c3b9038c808040e073a02142847d2c98c219ac98682fa75a1ea2e03c00f57ffebc1f10f90f4816cab6239289076cf46501ef4af42dfacb058a5e8a8af814352f09f1df9a530d463eb80e1095935d0199ce64ee653f7a054480045ab233b557309ed5a6032f4f06d7a1445f4992331b243e53141c582d43dba4b52d10269da180f14c3b63080ba4880463040ca0a0d6621540c8adbe237a81a8c1b057881445041fd920171c1b7d6ffc771312d2f6de7bcb2da59429a5e40a2a0b700b48ec8ae51b24d0f4102df5d3ab2db1ec35aefa8bb39e729c6a6d87f572ce6d7277f26071fbf344412b1f9ea2dcd35ed2d7b8e99d4b37c3bb8e5c8579557cc9cd5ac4b3f263acc37ae1e0133344247a528de82312551f12142250cc525ec45d6a63867c449f8fe892a44811519148fb14d1a7689f9487712a52f93cfd3bfa8ff62c55cae73f1f0d8264fc4aa50a719b522f076244f536e843a07ae9477b9211921192119211bfa9b8681dd950281c3592d6e930469fec47a11ff5e861fcd329fff92bda51798f8cf78cfe0a812a1eda547852464d69bd9fcebe9db4937602435eddc0ca8a5aa53143b4dfb687da6f159d8f84d5e4b6691cfba97afa906ad66bd5dca475c52ad340bf51ba51ba3dccdbb40771403ccfdb67db40db833410a50fe31fd07b7ea3a04d0bc191e813aae8f6213882a2d007ca1528432565240a7d562a0a7acf5629940155600a1c41110cc1593ff5be5c5fbd87935d43cbb0ab5ef9d69c12aaf4b5c411706ca7c0f28d11a8b8d8cee7cfaa27fb50f6a150f62120377ef548d88c6328947117da4c66f33359852608fe4becb3f7f950280b65a12c94851ee685b2d07f38205a888642d97f42ffc93ef4f3da871ec6e95fd177265354646cd213faecfb37192a2959847f1b24479fd7fe7abe1f443f9e2cabd0bbccbbb656bdf1e793fcabfa9c8810e49593f7def3c42a25e5637caf692952a6a45c9d7275cad5299a96f2302fe57a0f07044bc934ed53523c29efb93c9927e5613ce5fbfa3c330ae695fc27ed4fca7fbe1f86faf599572adca31675a8414dfbd359ab781e4bf19188bdbdbd3d5acdaa94527a4a5b4a707707b9f6eda49d801a49eb80b20fe8f3200bf4309e85b0cffed2c72a8bc4468f813e230cab5a53818540ad69f5666d7d3b6927eda49d780cc8251b2ef9de7b2f041f895851fa3166f1333a4946fe0a3da517bde8452ffa308fd20f7140b067aa517a7d887ee8ea2cd440604f1fc6b3d7fe823ebb9e4586fe6659bd3e59a85e0ed07adba3d5ec9aff1ee34846bac665cd7a2b193dd45509b457bd77528d73e5dedd2c3b15490ab7fc3d7c524d55552e3999bdebabbf985b0fd3b4f7c7dcf3ae7d9e7e3cae65d5baea46ab30dec3de63cfa66559d69c10c60c617e0f3920f1d9c298dfb29ef5f041861fe59b7fcdffbf34eeff43567ceca302d24429d4a3590fa4f211a550cdda4674530151d0d30fd5cf213452d9585a70f86e000208800b002ac7d5cf01871b5a482c2b9b0c9594912804a21f0f57f5c648971b7dd7be706d3a92d6d134ad9168df3a1aa669ada3695aef689a06a19641cf6bd8ac57c8934fa5a70af1db54d04fbd5915022d7659d2c94635afa01063d53bb1aabcaa62d53baf773eda671e4aeb15029b0a2d934f3615401e84feeda49db49376f2623e1ebf4062ab97723e09b3d92c3b7e7a3f9f5433194e39855c249b39e7d56ef696cf0bed8561d8caf31f8ebdf3d4cb026556dc95efd8bfcb0205c27faf9f11921192910a89a7e319b8de18281ff7cc6657505633b2fc4ac8dfae2f9422faf14afeafe44f47a67ab5b76e525827e51faa6554ea9d32eaa51ba8dea7f57638bce7ed7f56ef8bbd6f5dc68fb2be79a8a863ab4fa9b79b8cea8d4d3ac766f5c61c5b8d5ef4b3dec601c0d76746b97cca33a302f0329e1925805f7966d4009ef4cca8ee6f786654e97378ee4b1c73a9e3984b03e0984b02e0984b01e05c38e61200eacdbe656ae5aaff7a5f72a8f7c5568f43bda61b6a4bbd1da9b2d4fb2bf5bead6454952a93522fb5d54814aad57be59ea7f5e2009004fd5c002441b52a44daea310b0856abeb7a1dff5520fd554561955de3718eed60233f658f551cb5eca7082b7e72c3628c61598cd13920f1b2dce59be48b5f1a10d7fde10df91e4fb56415e2ac39e07dec9821481c6132bdd8fbd16c5cda0dfba942dcdd6d40d30d7b3d37aa7fd5b2d135e6f3d40b3d950d1b4f4cd85fdccc6c4477776bc34feed06d401bee10dab071c386d61a14a7e9278cb53c45a5484efbe6b467eccd396775cdf9de94eea0d74f4c1ea4ba4f97982132ca28f6bee622bd13e59cd492f5f6131bfffd950f5a19e59cafde6ec2f4508cfd55c9eff7e4a7ad97df45e49cfda49f58eb350d345fb3aecf5c14922013cc600864594e63b157bdf7a617d13e724e39eb475ccac3bc965a84b599c8aaa7e75f6a67ad2a107fed27132e7ef29759af3748768364d6b7bf6cf9d61cfd6c267e7a5752f5d69b9a89ce313fde20194b13d67a797d34690f5f9b9fd5148eb9d4848ddf4cccbf2ceb89951c47e9ee0e6d256b33d135a28f387681d4454caa8a9493916cac283cfcc695388e2ff1d3f561b0cb40ecad8a9330c9a32fcb5876b227d56424295e05cab2af2a961d52cd1b7dcc40a08fefb50669b1bbbbbbbbbb6615c87b2d932429b2c7b243aa2141f1b2f74d32123f7b21ee80f8995f928d9551a68a325594a9a24c1565aa2823fa2aca64d6579db1408932fe2f2f2653d7fd6f1ba52423cf7a0993b0ec906aaa2cbb2d241b6b7d4846ba86755f4cb7bb7f373aab963a02d25555552bb5da6a25a326b150a556d5a8ba2e528ec5de7b2fab2423a41a5bb588fb7c88d3de7a10e7b92e7321c6b2733319860c0f3fe5f8297ea28c120b6518949b5f559e4192114f62dfc7209e84054a4532d2998537caa0609257821f0567e746e7a58929a7c3b110de58f82423413c89cdbe1f0049b040b1575761f4df6a0d16fe878349f2f2623275ddff83493c49120bdfc3b1772c50ac7c9291ce91918cb0ec906c4846ac282b9d8318403f6572429471789edf87103f30e0a7eb411637dffa96efa3bdb7e4556068ef2de91c1593a7d18a8bcef1320d4441558e8dddef75fc7e1588f6d8c7272b309e6b154eb5a46252694f5a5de558f916fdeaab5b5555f3152c37c141ffb28e7c95052dacb8a870aa25d57b554e9543b51da0f71f90154156e5d1aa0a14b32963314dd334ecd58a8b6ac988133de53c9f71d8b7fcc959ef5ca8c2a144f8297a9c602d3e5ccfaaaad5acb8883708e758dfcf6ad64beba1fcab8a8b8ac35ede76c2c2afb8e81c41b4cfb00a8024a890675b9b555f61af65b5bffd85852ff270936968f506e11c5b7d2685bc8a0bac565c543852d3715539d6aaaaaaaab8e81ab242b7f1b8280cad84c6c33de3e37be71ef46413d364581686adc890a182bdb67d94b161343256300de30ac4fad8585855133195bf8fe6d158f99a0c0cd35e7df0c10731197f21846c599399b5c8695fbd7c1aba2b341eeb359894e727223de86db0acb4acb4648dfd205596aab3b2551b4f89c5300cc36cc8e0ae57e9ffcf6a0e5f61ac1c52eadd46f56e38d4d00d955f09043f56362d0cc3302d62366ef829466c4e4ab7cd8a37300cc32aa6591f1fb360b68d521bd7935d9e1fac93d9b0f1686cc8acb80c27dd049b47ecb3b1f025563d470e7b96a6695a04323d9a6669d6cfa87d5b3f45efa23b8f58bfb1c9a661d7abbbbbbbbbc30c6e00468fd023f4087d520104f448588fefa34f29fc81e611f9f388957cf1c557f77bfd5ebfd7eff57bfd5ebfd75affa6439bdc9873c9eeeeee06813e6a6e735defb95e74fd3627a5dbf6df752613b3036695ce5d2172bacd8d7d3dc4f7f7f80e3b877f6b0ff3b423472ce615883f28568fe5efd692dd20f3724dddcbf8adde6d7b51bd74e53df5799344d893b9a1b63c997a492cf56e3f1e6aa5deb9d54b65d4bb7d4abddda85e53ac5754ef7cb1edefb99a58cc8ad27287d6e2dc27a8caae21df617cec25e7dfd5c3bcf8179771976f9ec3bed1f968d7d42ccbb22ccbb2b0596fcb0df869e658f7a863fd7ad7994c2f2f42a4b56ad7994c2f2f5ab44c266bbdbc089158955d439b56d361b779a8be7925f89b183b2f2f2653d7fd6f1ba556129e4a4a797de49dcbac64746f2874d04156d3bab09717ecb266259f77145e5e6ec818f7664256bd7c38317ea0f9a4cbfa1b7eba735ed7fccd4f6edf15672862dfffcb83792822d006096cb08f88e70627093b2815240f27094d3cf5feb226f7002bc0385d6a8533d88706fb3e7bb6879984f567993f9ff6435b9827736032cd98958c31c6755eacf7e0577a4e3fefdfbdd0937a849e14014e852808f49d0255caafe421f5e079fa9e185bbd270874fe3f9465f155711cf5f813828bcbbf13d5a3f8867ff0cd07c4fc3056f59a3c1cc93f9ff77c109ff7bcbfc7f3a23a64f49e1f22c22847f24ff998148823799dc26b10f453ea90d1d31f227ad0c7a4b0ce88a00fd533eef50631619223c2bbf793fbb10303debd9fc966461ce9fa989488235dd58820443f3222029cda5ee97d11d7478053a11fd52143985f2926b5813945cfa994d4e8df937a8c9e74d50870aa53a2274da053a2ef94a89a5ee979bdd5c3179332498eadf583089f9c9cb2920ee23845394e7d384e79384efdf0d374f68779a839297d984f2cb0eb7ab1d735d9abb3d7ff43c9f8ebbaaeae8a384e85384e619d31d7bb01cdf3cd7dea35f9f7b00c6292e7798b27c0b0fd3bf8c83b92a7f2e0d6f3bcc50ba058fe6e8618d6ad3f8f1e0f45e421893206a3886439533016623062fd31e0a86dc6ff869f388b20d478b8072c6189776c9b7b80154db80758018677584489625d090f58428ec6cf0531d98abb265b555a06e2fe95aaa7157b3c4281b14bbc4e82007ded2bf079c6817d3fd6947ee8870481d06b3f81d17b1e7b19c691481008bdf6418cdef36c63eccb2a890401d06b1f44ca7b3e029c222202d06b2f8294f77c8c254100f4a19f00a892b2073da7429584bde863521348a9a40cf413a00faa20982208d07f1e04a1a73f81cfa77c4a0501e83fcfa9512561950401faa20f82bea80e9902fb21a1a78fd5203e2f7a511d02facfc7a458eb412454413fc58d02f411e0140890a832a00755244040451faafc4ab50d9453a2ca8e80ea430f7affda8610080021a09c7a6078814626456b8d9fa6bf476b8d87f9d7fff093acfe040b81b6e2fac33b7ffe6bb248308f5bcc9861fd61366a71e93a6b5612c63c6f206039b1df3a3b8c773bf8803233f38bb0d130b32363f9860b3bd6b9902385b8ed805b20d5573fbffa67eaee66261914cb8f3db1fc178361f9ad9f7eca5ee3a11a638c31da60b39f7ee2871a10555627c6595cad123ea805c67ebae11b547c89aa501365dd7014f6fe3a740eee1a5707c66e58fe6b86e5b7668b6599d912ccebe790a862dcfb0bec260d51ac90673925802420b92c50e024d9780727841effc9875c7c19abf69b9b21a250e34f9e13f7c6470bab0d285455e503fcf93be04f2aecfc187bdfc79731f609711b6b3b8131b17b0ab27966169b95c483edfc1d6c678db1d53bac622cac43740d7f981713bbbfe81f0de311f348358f78d71512d6fbc23aa76d200e76c90b7b6694e833ed995129eff9d09731e2f89544210e42be79f9d4fb62f2d46beaeaedac845be7c0592f85dc35e24bae3f622e65d7904a2cfc8863e1f78d77b0b2ce934f5681faffc000111e9f67b8f16ba777ae0bb64e2369272edd5f1c7d251dea7f4da61b7ed2b98957e4d8f76cdb1d876443b289352c90050ab477d6d8f71806493516be9410928cc426e24c2ce29d11d05e8f9ce350a14946a840fd2dc9a9722294776195954118a5ac2494f2e226a419ac20941242089fe9953a07e3bdf71e84514a0891b0f2c64007836384cfb1eb8857e35df56abcab2aeb9562c66534625dc33f726fc6b629e330eee2f8b915a83fcc0e3cfc7463606d246c7563dc0ab4e29c18135d96204acb6fbd43b5d03e8b570ebd8cc3e3a13ac6c1e970967436eb66986ef8e9ba4e1911bc1324bb2e585b7e6b79268cc3e3871e41f810e2c76bd18f418c0995bf84b6e5f1438f207c08f1a39d748deeece3f1838f966e06e374eda4913881b09d3415986364506239cb37496c2c1098580258eca3535f8d77978eab7255f3c34f909fd8ee5a8d28c502fb6be6e2b0eb6936bda077db1eea081663db588c6d0b0aa4fa781de1a7f9ef87b44c13f193ec9ef1d345ffbdbbd3ab4eaeaa94b08de0dd7bc87512ef6e3a899fe0f78d9facbef113fdf78e45ff8c731e914ea0d673922d68dbad25c296530a2b3b899feed645fc743bc9d6d2b5118e18b2750d396b849b4ecd43759257ea260f75c47524f65d3f62df9ddbdfced44d42dfdf495e27b1a610d97fc4a397fefddbb169d68ac5905da35d9e870918bbdc4ac73e8616eb9acd2c3231b4ccb5f62ee8a5f6f9a44f63cb0505827dcc5ee789ef38143fc5305c0c3f655593aa490546955db1eac79a65c73b589d89e77813cff11393263dda5adea5f32659609064f3844b475bcbbb745cd0a6a3ade55d3a92111214ef51fc743d878ede99b88e3f79ae4332c2b2139f30427ca25dc73e92111628950e86058c5d32eba3e1682702edefeaf25cf72e9d9f64bff7236010ebf8de042a9f8b40dbbe98d1fed76fdfebf0fedfbb38aa53188440c46ee8e1b44c4a8be3ca9f582e7b1063a21015fc4f058275662a2e56b1faf8e1e81055c53aef19c2ff017bc656f1c1ca0d3dafd521606deb3d1f398e81614481b2037f7807efe7e5f57cacd5ffecb7aec9c6eb2f7f7cbf3eefd5eafaa9b402f1cf5bdaac43c01fe2f3f223b90a71eb790b7aea659dca5bb32607bd9bd6f5acedb83eeaf03ce6d13818af97d66b3246c9cd6cb46143aa841cebc0871f615e112f46f8623c9df180c6068d0d1a1b3436288d8da8d15896656936d8c4366894d0b738ca3668d8c4366894b00dd85707db6d836db48c77ed91f10884e2d9f8136d6735cdfa683ca0af7e7e7efef5fcacf7d1f4c5de27cb5c99db64529d2a2ba23967bd376c94c142fa6cbef6f3499655a90e362aa1bcc4c6f9a2ea1663b4de1bf1a1c52a10ab7ef554661b5705623d8669d5aa40629c3666570f45fab9c242e25838f6d20a75913bacfe2ee2eed4c5ca77776b87db6e6ea32df6cd49e9b6f9749f3436686cd0d8a0b1416323c54551d0a27513df1a22ca4d14cbf221848f21de8d9f5a7b8bd37c0cd1fd6eaaf621848f21decd8b62dbc7108c9221398a95f2b28e84e1364e0637840f87c12237231398f396384edb589558f93e84a8efc63be957adf7dd5849fafb791955fe6ed6b3525946a555c6c757a9dbca8b9e19c5f2a0f8244ec863e1984b2b1c7369e3986570cc25ac6afca37aa7a85e8e42415caf9048ab0af6d5cbf7e67bb4eab91f5a5981f89d5c2feb443b7f88ce815520d74b5987c88074d721bac67c3736fe1096c9bbf73056e13ad5a9d79973ae70bc612f53d951fd78a82ef24aef27a5964e0f95f977cef9779bfce2a7fe7f455e912255043ca5f22a9ce45e74e037df9b3febbb1942e4a22c608cf190274c7c9e30d1dd1d3d4f3c1588c949269ed07cdec37d2a33d1b39fccee66c24f1aa340df7f717764a5e4e2cba218308c17c5a1b49575c7c6da4fbc8b968c1a0f4d5fbb427fe93f94e8b5cc6a8fa2af7d88632e6995bda4699f510d0049d0ab06c9ecf53748f61feed9ebad87d50e20f3a1bd2a10ab5ecf9ee7ffbce73fd16a1588e72f1fae4a7b4fd58088b59fc0b86cf991932d1fdfe46e90919d2fe51dc9b77e7219185920f22deb2b8e9f3e54a8de51e835aed26804440f9adec917719c79493eccd344dcbfd2fb1047e7f5d74bee8e327b5dd75b2b5f07f58ebd83de4defb816ef5e3f692634a74988dffd6a9a93cdcf8957e3a76eb6ddaef39c7835fd9c9052467ff29c18719d128540f408cf8957f39ce8d14c91c1a9701b377a18efdf38fa32b8d0ab70a04fe144a3ef91e9c68b0edef58b38eaa5fe10f75eea0771ecafe639a13946c45f0848ec5bbe01c2133bc4561f39d931304fd351c59f33fea702a16372f21b898edcf1fc87f3cc66b632b28ddf71721cb12aabb7a968273ae24b1eb4efafb87ec95d5ca734f9986b4181cc8f1609010cb2cc25fee7955fb4d0e13603da7fdfc3005897cad9f79e3ff67f10fe83d5c53be76e3f318cec8c3c1259208f29fbc84e3fbd7a2184103ae4eeb4cc05ffcd86f6bfcbcc0c2f6c7ef8cd0f0476b7ffe4bbbdf7fde4631db0e20285cfde35acf3ba58a6520bedafbb3b88ed7f5db1e4c8a88d213733ea854ff3b90b7bb9095bc1fa6fcfa3c07e1dc567bc9b206299d760f98538eae5f293201cd5517a30a53eb3d123b01ec1b1481c89cfccd0a7c44a2358f83958eb1d8963951016fe9355552179d2870fd118b41f8967b0f2bc82cce70518bb60ed2f6bcb17088c2d6819d6fd86615c5699b77b0438e5496440fb3dc92bf95f0b454732b4df933c4f02933c99c4fa7bfe2ad474e8cc9871c4e7f1c52a64169e24817a2cdf2c81823cc2921c698325384b6eb4c8c154ac40e133e3d8d116e2d0b80a98791373464646a68ad4fbe602a388a8c2361aec6b31d8e7f6f515ecbb9e555454545454547e8997999292929292b2c40b1d8d46a3d168f44bbc6c22914824128944efff94524a29a5efdf7d3e9fcfe7f3f9bcbfc9e3f1783c1ecf2ff192f2bcff0ba388102152e425157a255e1b645245ba6a0d3232a9225b2af44a7cc4909191491599a9d01321a2440e51946080ce960a3d1125788c1b9925ba54e897784985de1f867500bd576155b88da3dce442dc73309c1311b59a75a50263c1a80fe39061df370ee378bc9581bfc059b0ef0bebf1e253fb48adb58bbc2d669e50f3a8609385225fb0ef3b0c21d8d44c8d4d23e9247ee1d0db5674df740e67c1cca29b60df73b714ecfbd9068a5599ccba6a023281f6ccca10289430d6d0448a681df2214792958768fb8669bc7fb6ab601aef5baa40fd6f5769950df48d88f676d2f68dffc36830aa97c0a5c738e0dfb8418346000270c30d2929adc5ecd1f7606d254ce31529d2a20356d117f46ef6b592eec53e971193b658343191d8ee872c688010679e20bd61e13ffcce4f0b58b253068cae0087252541ef84a9e69064610448da60862cb470851463e8ee5010426aa06d69b5b1289882dfe3e5a1a60da449810a9c5c9104203c99410a32c1c22b8e68015a1750b62a2ea077b3b1fd9ded17db8d337d229154f83959b65c595b8b1a8b095828c164021868aa10d04816d4200ea105300705afb2020b9c6ea3aa5e51062b65fa4e29258e1256aa202565fca400c6aa050e1d45cb3759e4d84b3fb3411522a8b120cb5510916276bfa04e1a17649432422714b37c93c5122a18d08fe59b2c82602b225920b191093a2ddf647104260b1bcb587861df66ab90e59b2ad260a1e51b2c6c107f491896cb60f906870516f3cc55ac402db62ccbcda8760197e2330ecdc2da35db12a81fe1a7db497c60c04f7714c451ec42f8c98868efd61f9f080ec3c6c76e609405b8143f3ee3907fe3060d1a0108c00d37a4a4d8bbd978357b371fde6d0fc5a9a7261b37ceb151d6aea981f15df4058d8f35373f8f102c38a06f2f378196af38a285ccbb4df4051ddd6c016317aca3987a0c293f3071e72952a0b7a33cf13a8acb308d573d09aef15ed68ee24a5cdbeb2856a00dc54f33f6cec6793a3b96ff1e2047ff3580855cc734de73e7e85ae21a4fd6cd0910798766b75115f49a84f0d39d61dfed28187054e7a566873227a5dbd69342ce057a6e0c8cdb605becf44db44096e743690fbf49c028ad12e1f9cc1478a80bec0cdef381519e0a84899055642fef882a73e962f6f20ec62ce3093ab246c05e69624b03bdbc638de86e8271b485b3faf8928bf787ed68b3e700a3ba57820f375683851fa4737460668071746003a20126a2736038aaef1e8a88b743e7c0eaec1af0356da7838f4dae65c02fe00efeec1c3e6ac025f870329232b40e2cbc1fdb499806fc1f3627d01e958777f0b726d0f897718878a88c4bbc52067b39cabddc537d275da614a080c3bec968df43fd7f64eeb8d4dff2f2dac556338a59a197a48c9c5b2960901d65c59197de4be08037c618cd5dfc406b3d4020209491e11a1016f1c65883cbc46a44f542a6f58bc47b59e43ae05d8b78118b5cf593cb6ce47f4882bc58d680c87e875eeff98ccba0775a75426813006f2ea6cee3f9c8698fc92cc47940f0b787ea5c3ac70fbe51170825a816d163d8f8f07f809f0a83f00eb2b7c522d78369c0a74ba8e83f7f39a707e3880f73c861db2e8e5cdb231eaab914df9a20ba62631cd9185d6c845c8a8fc54af2c1f3d1f3d453a300c1e8451f7d887ec8147134f2bce8619e277aaa48ab7766dc7d8bd5fbec65318c688e7e7c2e0163176c261b596e9b3e52c432e3e87fd1c6eac3769187aa80fc587dcf7f7dc4c2af40a39a892ef250b34bf0bbbbb5b2b0844297bd5de4b2979b340e386cdc5daf46ddf0127c1d2e2521147be9b2d83eb177d5de3982071a794792fd245979702be377113f41cb375a2062619256e2a803e4c06f1a3ff14d16c2808288cfccc8dc686106f6b6115297c297b17b04163e5cc2b30f5842ce08188794d6c79b93d26d7ba6a74b68efe81cd9551ba8cb6c612958f823461df14a9cc347d780ef0839430cccb522ba085688e6436563ad82e81af04db3aa3bdcc6c74c0fe543483769d2248ce68678077d08e91c1ee01af0bbc6c26fb235f900d3807fd90cda114c030ab12581fea83ebc83bfd2037afde52657c64704d1397c740df8dbc6a4bbd0fae81ccd35fa590a474008bb927cb0374867e3579a03628d0204d85f3eae1f32453fc65a105825c2f65fef9a8e8e5c90cdceac6d2e244d642c7c4c07c6f1797e1ecc4d2cc3f029f4fc3bf00994fd6580e55700e798d135206517cb23942942119c5aadea0cece19b1eaa9b609fcd9893d2edbb4937d181713ccbeff1849e351da0676dc7e77946e7904a58f82608b549b77f49dce820a96962092552b7b3d7b435b18412f69aec35f1403f04a1e37809bea9ebfeb78d529c2673527adfa25cdb78072f08ece761dc67de9c946edb7ff7e11a0aa6011ffb2c5951423dc73bf89fea38bfa2041abfde0258f83823a07d8cbb6d030bffc2b1f0ad99aa3e99eb0c3936fa8cee95e2cf49e9f67fbbf8d3b304bd9dc4c66f1c3fdd3e626312faf1fbc64f4afc7483540bea230f15faf88de441dc0fce8777f129274491ebe3e6d785d178173feb19ef8a74815eaf3d7b9745e85d56613cc471ca879fb457f994bf73f4975acb5121e8a5ec63f677da9865d9dfb75a9d336c5625c6d1cccaeced6cac19bbc40aa4358f3fc098c3c85922c51158041279a2736384f7c4ab11230c263948a4f026bcc8ce1325376dd34fac410ccb4d98d81ba6fe5662f9c63b7e68039f5883184d985081e4cdbc26a0ece02881c26d5c660d6034494245d3f44c9420bc844777bd5d73b30bd3e087d887087d9a0e13d3f8502d50e85e4ddef1ec21003666540b943f6a3bba6b7795fcbc8a1e520fb2a378c70fda794accc7185e173b7fdeed33b5bf6ee10fc9e1d2353c60270ef8a04784b277210c66d61f7b4ad0f958b7fb7cef59381983b263a9ad1e83f0c1e709fdd37878b6886743959906a8de23ec9c9d6387aef19e7613738d87f78377ef3bebdfef70fd46a95facc42dd6fcdc7391b03cb2a0f0b16ac4b437880bc9072b6b8431b4251318778ef7fcb573c4e7ee8a6517105b8c9aa7f7ae73f4b3edfce456019cba960e9cba987dcf9117c0a9cee196b946ffe42a2ef5bf9f3aef3eb61f7ec7389c6994f8f4b8eb1c6ccb68cd01f23b07a9877f638c61ab7aa3d7a8b86b40effa45d1373c7ee051c79ff2210f15de39f6e11a0aeffc29d747bcf307712d85772e73c95c176d6e5a7ed765c3b202da49bcf3f7f883b2406f2349d132ac8a6aa8de8deff70df568c59ca0d7e8433d94e7e7cf173b6f67e787b87f25cbfa601ac7a9ecbaaeabd95dcbb0eb9bc32e2b72d764ad1a1fe6c1cb210dfe5b5a44e0b1e743120902d96b3f01cf7f50d97bfe532bbf12965d7f5fb020fc74ffc2b0eb5f74780fe3e34790f7421ca572b3c37b1e9875bd77215deff99854c691aed73e26a58377efe28c08227b8d5f8947857104bce7d47497152d6857dfbbb79204f576e6c8831b37ac59c9e7cd04254a6435ad0bcbde5f0718bec9b0cb9a957cde5ee802f221d7103e8c37849c63693a66b78dedcb3945b0a5f10033c03916480c121b847346f5869b27a5fcdd35d50bdf7ad9399acdb0c76acf70dd84774592a0b7692cf306bce39f473cd48fb7013f91fc5f882f80999f0ce31001a37c864bec2db0fcb3ded784e5771530eac9bc12ff7c81e5f7f480de27438477fc2028d0ad657351e1521ed484f2b3f5193f914cf6c6c60493d4e1c533435f132a4fc417a05249fd9c5279fe2753c44fb092faffcdb40a4b09e40e9cc2398d97f823e7332c37e0fee17988ba402fe304c1f560027d16c23b96e1e7265026c54966e0428a2edcb48c8d8f0d81bec054fea4aaf2e0b67a89af438c4f8490f83bc48e49a7f83214affc09456cc4828d3f23cafadec5ed95e27bc8b0f989349fa5602f4bc156efb17cc50fb0b0d2fafb627581c68ff15f6c9496af4032052beb659cd10b1535a1975a192f307e28a6efbd37df7bef3d67c204ad33798209d691919159a286bd230baf8b14d66027bd494218966f9a10060b9d5085851f351d70db76f8695bb6080110b2f0420c44c849c19c0be8c8e4600c6378b2852552b00b2d4eb00395190c536d99735c22b0d27ae1031b1fc6c812855efa9da36361132cccbe40ef6cf22efdfedc4780e97024d65d62f7efefbf7d0ce5dffeef5cbaee53fd306f86e426178473de73e7a21fce402670763f84104208e7b7bc640a18d5365c7a0fb2d767665c60df770d18f5a37560df0f58a7086fc2ff410406bc7b44f889881fa2d48f3fc25a706674b4b558f80cf32077bd25afafe4b7e8a318494dc7f5d8052fae9f35d8720c6847a28a84e8458f89fa61fb00bf2bc907db0de157f245181049381fc66fbc7433a0ce93f9138ac9b5cd12f4fa8cd57533f5868d0a09684799b166a2cccc44d9f1d3b4ac5148648d5e14b2e65b9cfc8bf3277e9a3a9565f1606b556bea4c9b199a9a9928333334332e859f70b804cab9e1125b50bfcf78e7354ee3ddfb9a69bdc66b66d85e9fd966bca6c7139d1f36968d8d8d8d0d88bbfe04ecf103c21ca80375a00ed479cf525182de6d5612ce2079a89068663493327393c2d16de667ba99998fa7b8007e2fe1c112bb62598b3164ae87df9c63f9dd6d14a1189b0e627b03964910d6b1d8cf0bc7671ee300d95317795e536540a06ddf7a288f8033a3a3beb8228eb058111569025a9429a0408422ccc8c8a4401f85e8ab868ebdc4a015713248801ef4188853e223334506e0f723314506e0cb8f9a0f3eb485df16d6bb832d902019b0fdb20679167b2140dc03c30b3432298c8ba2c8a74298ddbc6bf12ec7bbc7040b286258ebadc76016e29ac6554440afcb6cf3826ca057489c21ab8b77d9ab8c80f6a4b4ebca15eedf1f6fbb432ce2421c88d371590fb9ea2f8e899facd774c01e5ee6baac1cd6ac87f19ee10af40025ec74759931e86d1d192260a0d765747a864891d47b9749f24a9c83e43513fbbe73fc4427ed665e503b788ff7a92fa6acdeee5f579510d04b2783fe7de7321e1fd038e24421109d2e23639fc7434bb0e657a33f7ccecc1f1530d07eee6ece9dbd63c316b670df7baf218de80c0f3e17d1d07ee839a0b705e25da36974f073c6320758b57369b5e3ee4d05bc7ca386235688dbf60aa18806b465c61ad78bc48e8806b4ff05e91a1d7c493db4b4d13e0bbfdfa30e1c0b58a0fd35783052e10a1142f721c208c5c06445852bc0874daec163ae011d090bff4d8b0a57b02e3260d8a7fbf1f35c24da5f06e9e8452863f5a1eeeeb01fa4396c6aa0977a478641c4d47cb7b76d14b30e4122355fe9c128ab2250af261d3776cc88966541cb7a966559965b565b9665b10ad474e8f01aa5b6a39a56f62096458d87ceb41dad492d6a1ad434ed796b9ac6745ad4babce7d471f5755d3c2debba304dc70c1da61ddeac691e8fb6c32bebff6e67e935a2db85659ef678187ab26c06a987f701db756af3e5853c043f14442d73978e466f34f2514f8a81b41da1ac351e442d621028a4e908b1bb4b0821ac73ea18693bdaa6683a5c284667e8789e1b63555464683aa6f7ebc7f8bdeaeddefd587bbbc37e7847afb76cb46da335d04df3a1ed0ae9062476b430a87fd7bc36d09b598e5d8385f45e8bc708d4ebcd6ec02187cf735d796e8c9d244d47cb0d37e08083b6c3ed8d1713730e397cfe312e72f079733c3d77889d5156d36ab9b04cf37c2828241aa5a8c8d8565848b0e579df80c30708d085ce62ef25815ed25e5cf74fb4284caff484bac32863cbb6750e38a7bf15fb40cda81e9dedf150cd05deb9bd737b8777380cd61f0df38da877de393cc7fb16d81adb5ad75823dadeded9611afe2235708df840e0165a0d066f54ef74e7e842a37af43803cd3a0757d2c34ca3724ba77a415cecd66d5d78d1444afe88addc1a708224afc436463a72828cf2491259042554610517950ca865f9c68a2f6cbc82154ea017345abeb1220c2a966f94fc600b2f4469ef19cb4de39cff53f2fc3de48a60162cd09b6dd4089de1a7f8be805849fc9c8adf9554294b09e85f96afd8c10dec35d9eecffcc437536c506ea10b2a648c5decc0c6255231a6a07b0834b37cd3050dba88410ae08659bee942054d4cbc03afacefe20220d0408a2cd8a0085070b82822999c8004b106315929a59c72ca58812b72c08619c8a0046798424a6ee1042ad02fbc8099b420c6386794f2698e953ff253568513c048e2a38279027b3b1b6f746102dbf63d93e5620c2ea0545298810c65f87e2c26c6f8ccb90faead093406fa634e4ab7adbb8be831f8fbddbf6fb5fc57001b4bc8f665fb4553d0fe0bfc601cf09bd1609bc5609bb960fb1d3efb1ed71b13ebe33aefd872cf442874a040fd3108708a483f774aca78c79cfdab9e077ade43a8f1703df618d6196b3aaa073d108310888f98e7451d09a072a3d66316472debb3ed41f54e6a3d1877df62efb91f1fabb2d676683a3a0aff1945fc188497e4f3033d400939de55b5c74a10e8ac3c2a8c7752fe0a10e8d5c1cad7c14ffdb2726b3be6c74782cf9672cd3de7d279f79efac9aa7fbba7eda67eea2a6745bd932fe57f9040dfcaec49f085c8acb32e301e1be02c9aa03fe9fc6fd782869e105e3b8c57cb355e35352be1a1490b7a390aefd023619082080d300ec963058773b901bfc694293630bd6ba79dc34d1d32491c7a394a3ff11a0a3fbddf401ff113fc3929ddb69f8c43fef35237d34032528135bf73745de11aefad3a49f6fdadb3ce9ef0fb9d6bf7cd7a062b63303ed231027eff7f9441cfccca870ced10e0609da2c49b07b3f241815979f014f8957858412fb51445824f55b4d48fbd29c04e59424fb7658ef013f4cee19083d99cce6f7af1edbd59e92b3d4f61eeec5dd6c5d4941dd0db322d8382190f1cc6e9ec659c08a5ab18218ab905145740c9b9e20935167b3aa298cf7c2271f74a7cdaa490eaee95dee7503d7d3ffca0b3c30f92c70fde3dea857daf5243efa60353efe63d8f1e64682226f5525304f47642a27b9c715c52c63a778e2963f95d8bb587b82356527c4eb578e9bd4bacdb0de8e36008b00bf43d69da16ef3626d07f57f8e00af6be8cbceb6c1439815efabaa0fe506046f057ef42a66daed11fab18e38b5f3de62ae6cd56ef9e5967ce7f6edef5c8bb16efbc631abd03cacf6f06493dc618a3c789c568559594b2aaf03dac333e7c0fbebfd9832f725d679d8c31c28f5ba4934b2e5fea5113ad683019b28bb7b8cc50ffdb6259b8402fb5b37a95ac9367eabd6b26effa65804d3fbdf776f7be2cf632b72c06b3372d1633584569b12a93d16233abac6c3e8b5d998561d9a5f1e059865dd6c43ccd34f8fdb935d8044208e72bb14b4b66dfcbaaab29b9ac274c4247130b23376a9600110610bc48c20b274083152eb0411892d4000a2cd66044460b2b019c181130794217b61086264fa420d559d87efa022cecdd6ca35e46462604a91b36c6053748431b58f0852420e108a9feb7ac751b79fe14488111832f6c6030059417a41867f4dcdb3b2d7fd7d1e9d29418ab0729ac46f1f512259574af248c31c629a18ccd0280246e7c8e313a8e7dcef2bf09e4599c8f57e29ff014ffbd1dbc7b10c2c75b849a8ef7de7b212ffc3babb3a8740cf884452d199a1100000080003315000038100c87c482f180a0cbaa1f14000e8caa4c66561689e328c8298590318400811101110001cc0481006a505994f4e5dc5dce45acda047971d200e7dbad445328d01dc6882f9d0dd01df9ab2b8cdd2859717236616e38064f42b26f608217aad033273482f2e3496870f164ed4f70045338c6cfc42c398de0138534b2ad5b996c11a95c39104b7a53aa6719422c819d7fe58ae151bb8fee13705e9f32a8cc8a24f7c692f891c3d81aced133006f70702078f478ecb3179d60c7c9feff983c977a3a3860fe8eba6b27b6c5e33e1afbd28a97ff0b81c64ca7c24d3f406f41e08418bdc3cec86dd0cb8e31a897c6e6956551b9984825280aa23431d87ed93bcec8332b257f1fc2562d7814b72c96aedcd90c05464f212ab4a885eaf28fb6ea06ac78d54f631b7cf67cbe2d1c0be877dfe4e8ce00a7e296a5fe581b09a93eed935ecbf4123cf60828614c6b21c75f89485fdf5087030724d1bbecf339043863c47794722d544f3629b7bba14252fdd1d1bfddae136ba35746913f2313c88e8ef7ccaa632166cfedbdb0cfbb2ed8794f4d11dfbea027a9edf422bb9d322165b4ad9938dc14532e1d9724c7ea87f3361e3a05432d1e3e431747f9726dd070af032266949e67b61bf66ac31407dcf1f9d755e84bd95f43c9472ae451b021d60cfd056e61e8827ef93f6ffd829394ddda062ef474900dfb77575e66652aa8b4310d656e23813b40d8d1e57692a4123fd65fe7f39328e2cdebe797371391bb8440b2b0ea5a7cdc27ce2084bc5442503fbf33a4dff6f6d5ae31f5b0a9f56b6d262601ad5276879041afb1448b13e1edcdfdfb9857005e30d29274a94be61f631cacb10ea4a46375af326f44c1a545bb0d2a0647c6ade895bd29cfabe4e623f80d3197aa8188f9c3a532c01c5676b688f1e20ec21992dac528697194a3b7dc5eed5f5881be2406e894ea5b07ebd2b0cf843db3bf27b4abcbfe5b46491652ce86ed36ba61059766a2d175dd8e17b80aac0c8992642df0447bcd8c62dfee8f5a24f6da65626d33b18c1321fad45e372c1ec416a790f50220b47f38d56a18ce02a7ee04a381fd136364f9c5712030a523be566b7ce37248c68f0b61d49ad8126256f12e1dd03784b6dced84a7f8500138313b164f4a2f11ebe66f4689f5e8ed988ba8ada2b092187ec436adcf8b06409ed057303efd7307b005026bb009fd8ac4702c1af47e3ef195204ed860c2e86672c414f66552d366101c14d24c84ebd343c8768ee9a524ff7d38fd0dee1fe7b4b1e6df06d57d0388c1cc437cf2478b79c695077cc125fe7308a4dc77fccb7b9340b09a9c1b4818ee8e5462dc7b11173d584f5449869a4c7f5edb1052a2aeab447e9261a166415cbdf89da4bc34c8009a4a698770b9cf359904cbfe94b9ecc3b6c8924ffc21ae3a7ab8eda851fe162afab516714c6ff4252c11c4039bd50511b6eb96dd28903f292104c20ac3e4d36f585d17b6f7e57aeed25b64a0cda15b2b4e952978bdbeec8ad22ec06056e6e7319ca844e68ed7ddc331982015c2a3d07d2fcc499809e2e3156c50f2526642fdfdddb4bb06a75e6b596111cc5b2b1c1ae4cb69c387c453cb5c3dd25009ed93548e59dfd7b501e3d8548e40d89892f55c7575fc39507622e326311e7f1a011482161bd5e37c7e4d4cb3e7cd235c16d86fdd9b65d5460968282402a97f37a8c11b32b37d3c462a36ca188b0861684b55f37ca6d9c739cd1649a055adab9983f511bc9be359b092768ef2562a057b28e2332f415877d3f2e93bce1f6953db0da3ff2f6c350265050a554303b2b06bf9816adab2b4c580166e8bdc098ddccd518f0009d224ecd60465aae94569dd6e088ee95435af6371376ac5f748e4919c6ea30f0913aed628f56c7f37248653b3068b084a756a4f4976323ae8a34915ca47ed77b91029245e772de4ea1066216e5643f3868c03521bf2bf4ac293f7f3852030f13a2707f870a70b2b980ea72cdf91936c2a08040b5f1a0258288da36661c5e2bf6f0f24868aee920c29a5d483153e970e2582b72029a8b8f5dbf8a1b7f9974e37d98da603b628a6085630b38a939f9d2032713fcbc55bdf290c37671ac135aee300376fd7a1ecf2198f58d14b64b46a0ac2878c4a05dbaba210786dbfae1b3477fcbee435259640d573c7893bb2ad0e244e8f8fc793b264c6d3d7ab582ac6008c723e0f0bf81e5c72e8ab3035dcdb7ac1ca505c4a2b070eb8c5501c06838ea4591bf9350b683c32aa9e583e8134271e1b65950fffaa4ec9e3dbbd85b65aa25a2b55322791e04f984ab37423e6ab627fccf03c75410437063412e7b29ba681ae0c72b6025230ca6f70c597f4f67801442b67bcd7ccc3d8c69b7f9f909d3e1325ad4e6e54004227d8ec8caca560b8794a2cbe929cd88098678095eb6e37d2fcd57d6c59274b323b8a3ae041c184d1ac5aa01f8d12e6721521aad8cfc7f9f7e073fe5098e7be056a16448db7c1633362ed4b300ee199fc8accba5a41e7e8f71ef531ccecd402e462d6e8986ffc3b9758bd0c7226f6da7693da85b01f458d7102ef9cb7b4cbed726dfe887a175057687302f9cc19a8ba1870153fc0a93640f1cad555560f8a9df7a9883eef16bf4807838bd058590d8b8756c6624eb3d4603f90f7a93832cb7039cfe4325d8dc8348022bd4588b56a481ac03c0c9b56bb6f6abc9a3351d8b69abbea70627478803ba3a7315514a0a4dc0d8ec88173b764aebb8c5a198984f00e96a036d9911595fe3f057b8a0e2241a871e94ed35a42d545083c971d28eb7095103a46ed362f79cbf761956545a6312a0c1844d917c86ee76acec97b2616b8ba9138fcdb0359d9086258cd01c816681d8c468ef005f22fc13b4c23785282d07eac301b05ef25a3eb32654daa5133f6cd9393c28ac5715fe70694de85b74273cd2fdd2fce8f0544830482f4127c23035d33c4a38e51fbd4f771fcce2d1061b938be9d5b409604e3edbb2154fe78f2e7f6c0b53e235a31824c5549bc8d0286fba632b946700a8eb911e31a2ee142fefe6a02abd82bda2a26cc64cb031ae38f79f6ac8abb7d2cc0cbe6ff6133ad6b449a9eecd746e479a9196c5b0c17f36d744b0377e260649cd4e19d3ce38a8af8c43d37ab3d83a038f254804c71ca168818f0c78124ea90a41aa23e378c53a287d84cac0c2cab2ec5a1de3e4a3899a1b8551f48e80ea0fca1c109c14c0788c6496ca201163b1f571cbf81ae70d06f2b57fc3fa6a1f0e2f6f29b8eaed0ef0131a0431bc499142ba8d1211e94f596caa16867204677a3065a0a6d5efeda2875be4fe84bfce66e0d6d14e198e1eecc0fbbfafb15cfcbb570cb8d0fde2c609946f3dc1cf67b63aed7546a43fbb12d8b6ba78e235850154612ea40a26531c5876b3c5e3920bc7a0b1acb7ce6399bf067e239e2f12cef5a212de10c962c98b7a9999a883a9e962f133b7bb28cb42ea28a4daf6da047f181142f7e90a936bbf703bc1c567608cf4ebfdfae696f31407a0c9f2c7b888cb13e27a3fbb7b3b4292c360be843e79d981f2f8268000086dd1b05c03122c182002b2a28fb854535cf538191f74ebf5bafb3a410eda6fc0c17ade5ed391821a14835a002453f781dc6981824db9c62dbf8d3eff344af17dbb84c750c04bf7f4ef05a3a3c07993baafa184c31eb5be877dfa8eb6d4067cb099ffd67759a064a05232ddb03e0cf12d26152cd4699a57b0d3efb99906118c5c07b032c3bc8de5f7e8594d422c39273e6d8254aeb1d70b09118f50fa05f40ab6053ac91366e8eacfa7a9d1039402efc736025219ca2b8278663dbe87133335bdf39c9ad253054c7ac517a098fbbb48ac6e174c06fa0c02387a394682574180821ee610d6f2c86a11dfb27daf06b45967e5ba6b0950ca8cb54ea1bd9c2a0026bc0d63e75d7f6b39d1153ae731d3b6d98e22cf84db0f5eb87d25c8dbd27863937e711984efe7004ce64078da0ff2eb4448f2590df3f5f46112f8c86ad9d0e7fb14568a5d1c411a86d705d6b9e0cbad783db630b98e9c7234dfff487711bff495b66b34b62cf0aed4269b27dc8c4b47878e2d5f8aaadea966c6ddac3fa0ebeaaa768d6253a5c96eb2996fd83f105183efbe905176bf8806cc94e42d9619e13b597b486dc4ad8bd22a32e77a87df5a1f7a78aa2fa84d2f017284004bfe0cd463cbb72651ec43b78945b46042298f1e543fd2bf6692444aa9b4c792e5d0dcc39756a18a16dbe5b3543449f529a6ae7b2fbb4ad78d7d4fc35cd24d88fa05aeae598ba8fce2a0cb22cacd3892f35ef12a46bb66e65c606612505a701fc799ceb9387395aee5fef84e853652df2e809530330473534c5031296f7c9e449859b9b2e301fd2fa4abc5b8dcad1f6b857ae88ed3441bbf2703ca49eaf90228ecad490f6ca63ce3046e0e00dbebf1a4f27b3a502871899c45c09ac12839b63909a4c14a9ad070e0da2eff48b26e890a0189cdb40dc2581793d8f8a70a99d82aafce65961752b6303e6757bb9387099620fd5ed911cc61e9949965548eeda6a5d9ad7d4c75401061db43feb1186aa6d5766f6ad5ff880286e7f08e956aa0c669c3b013306859b0148369217db16c2bbf07a5405d6868a30576c0918aaf4cb7805fd6d66539440bdb810fffa2b8f152a16e818efbbfa928e331c582f8df1f21094c3bddae4c96e1157abecf26d926f19f858559c0e08ec303d0c1feb6a176c69b391ad6320dac074bff3ddc620a3f46ac8e3abc9850c14382abfc6c1d1e281f170c0950110174b70172786799aea45230f69c9b27b7dc1153669582740ae17897f7233ebc43bf60438d5194f95a625a53794acf0d3671e545ab7dcdfb9be413eb979389511128f635db1f333816d852450121fec85fd3f43e9b3ae62c73db7a045170eda0b0b7a9fcd6a74504d107f4315191af983c82bb049ea02b2a00b947633425dddc3b3e5c3f13fffef3fe7aa5bb0db0b9ad90c83658b381ecbd310f402a24115dc289b16a3a07632ce76cde0992a3c803eef00bda4bf779f86878de87e84b5b87ce6e5916a669275060198f1c411ff775890ef87cba031bcf08473dc6638c075799675d31ed27e38f29c132ef5d1177ae78e08c290cd9e15d87d4f425ce3fb46671d00cc2a88d0f692b3112deae58af1b0b7f7677d5f38320c20b15f71127c7dff31bfcdbe0c82005f86f2592f420013abe8b6f6e9a9091950b0ed6d3a56aac95da7f9097ccb4340a9889ee06307eaea86cb172b184f8aa117a30803afbc1c43bd41331001152f1329a86caaac71cb88069291ed602861151c1df3a1fc5fa0f066cf5bcc4bc23ab0b18081e69f6efc3919a388c23e635188703c3fb91755e5d7705f7376f9e1267b168253b1eebe5df0ef48cbd4729116f85001204c76662f3f109f26222ecbd6e0852670888875805b45cfc8bd71709b4052fc7a3decfca0cdcfe91e56b8e8a126b44927a47aaeecc84ed396bc94a04cd412fceca2e767bf5e038289df1a991b967a301b671cdbe5398491abf5f8485cee6dfcb46edcad95f9665d17b0e813908cd2b1253249e47f92ee94d2aa079b292ab6b7ea1cbb5e65e97d83d060df1bff81ac3b5ed40e6c6b2384fc57049738c70df6cee8b5f5f8de15f8716894c8ff6ad376a6bceeb3c5c05998b1189275fe03e7c98bec681f1f766967de7dbbe161e067cd294fa7f3a219aaf9cd31787b40bfe7a8fa84a2c940b920f18a1009775b1a04b562b20e47509980959b072b7ec93bd9d97821b408c7971b654ab8fdff39ab2715aecccdcb3b43ca0785ee93470350ce0e59d3143966d250e3a9f5630825431e2911915b403c90acb89441e2b041170d1d2b810fd2f3d5b8c71294ec490a0d831f9e5a84e2c1006e0b424e890e832517c593de179acfc36e2c5382ef087c81c9b29d8c1cd18ed43b2ad81938029b2c998df7f0a92eae7112e663cb5be43ea8819121490f0c7f99bf3ebd002eb0002fd35389f80bcc0ba1203816269bc698cebb9c950991c6178b2cbaf045aa932449e1488ce6ce228ebc28c9414665e45b88ed273956a4176823f39226237b26c2daabad8bcb20d81939c86a78c5239c0283ebf2a52c1f709c7874d839072ca786c1ca4e185a702f2be510070af4de8d2e1d7e2ca7bda5a6eb3cac336e178b57b464242f2a5fc5ae14026cb4315c41741f8313c7cb1648f65254f48b42f47b904a99345640f658a0a8e7f31864acf97c36801000afe67db7e29e0116baae0b4243d047ae4e8734ed974c5399a9571a87d5e9bbda68e7bbef99d32dad987a4e1fe4bc61f0efa422694886cff2e2ce4efa4736b6f45fb4ce98e2d07a0705bb23edeac76375cb1e8e21e5b77e5d668b7a5a63ecfe46a95a1c673c108aa97b50a41d0725a8862e8d470586d3ba29d90f85fc1ede0e809b88e212202fdb00cddfd6a2ded142373f02b700ce4d865575bf98a6eb7c5332e089484601797bd887d8b85bc8abf22d93ccb325ffff3969dacfd265dcdea3cd56294ccf24cd2b4bc36a801ad4629c63851a4775ff3f0948f083735059630bb9910f7b5cb89008c992dc496ab613a61ae87dc21e058221b83ddf008ba63cc4e831d8e2e9e0fae421579de07f9518498008d0f66cde5cffde35bdf8d53e634422a651e0286202d8a61c6213d8df2044d6f55d8cbfaee567b6123af683aef51580a3ec4185089209be4c4550580d95f335b79a5045f8da3425ccaef1305c81f93ff702f173ab35ce2f69d4adef2f46afd5c2621a2a41daa04e0a1d2889a48645a8802f1f2fd495e57cbda8fbce5c723a62e6c43f4412b3be035237c80cb65ec6c4370ddabb5446062316744903e14ecec445367fc6b8afca476e6a0477e93d609a7f1cd30638d48ab12beb3a18b8a5a143c620c6fd1841db28e0dc6dc739e5589ebfd60fa1b49194af24f0dc7d0517bd93a547e75a1709bcdb0aa1db02f21f5ce7662bc386d1709bfa66f31183ef09a0f188cf9e940c61efc26740f4dbee858e86bea7cc4308b5f28836e60420e9c938e68af20a835c0a9032b22d5e6c774243340f736586397f488efea9893941e4bc497a7c082534196e87123a159e23a12e3b0d403be91fb89e90d415bd82e2aa68d07a3c087c7d1f4a5a27aa2484fe0a3a7276a857033daf9850dfed04855e47f7cc1b748251a78697db1b7b63058157f2db8cd5c77ac6375e10417c5607bbef6d86e560dcda8d67dccb7f3e61fa800b719e77f75229f7cf16513b3fdb9d1a113c0dfabb4c1d788e2f05ba7d4736ef7adb752728bf9d5bf3bd1bc87a097ab925873e580d99e2984f946283ce6d3d5c0e864a8097ba29ff0caa3ae6db213d3268793f90c3d8e27fb1ee9fa65377b69b9d87bc6d7174684e6a12f2856343a2c203bd68f97adfb29db835f6c8e55edffa7964cf4ced930a57d0e252daf05b2408244d770169346e9e0555f1a29992d64324c412572bd7356b2526e63508d3f1298f350d13f6aa8ee24e65184db5faf9694cec4c88594213c11116e4d5e47baf50d8e19ce48567040d38ad73d1c8334697d15be33da2b1601410cb3355017cab87ad05bbde26ca17b6815e29154ab69e489a73f88db067dd37a24345457003bf78d50b190b890c9a3126fe2e28cc822c760f08c2c018c9ec83cc73c5268a67160f80d03090bc54d6c1591b09cf39d87e85175df4171109e851ac6eeaa41d858617bb8bad5ee8eca29f5d9f10e2f5a27e8643eaef9046eca3cfac8fe2218d9a87aad8a588c20211103a24deee21e5006236e1488d0b54b51198a4411a1266083ff72a8aa4f7107c977e6b3f38a476e2189f557f0900d08b495bd92beab132f6a5da24d496b6f0a750fc8140b6436c8218412a8b98bb139116cfe82ab8b8921e22ecfdda3d49150c033f7c465fbfa484993c63d90aee4ea84057407ae5c83392a564320c642b5cdb38363ca36b2507847e269f765f3207936a60999b39af8e1ddc156a0ca8592d147c4a2bc5a1ce01b78e24e2d925952a0aee5e1e2e29ab4efb5889005d558ae64c3c5e25f86d11f36d976193d56dbbb9acf768136756eafa7fd35d9d065dc6523585223cc93e4873c01520caa01beb8831192687d87e39ebf9362c5944c58d9b061c97b5ec7ed085cf5f8a08b8296a165a2cff45bfcfdd7080d03e6a440714260a2e73e8963e8935bbcb3e758f3eb35d4f29eb4cb1f882e92e5da0da45989bb0591f5763addf973b29409a5d48d57f10335e08d704267529d45984e330225a2de3ee8beb0c2f431fb8fbb4f1d8b1b48204b7a3c3e0f6e32027d487edce80f09ebb3b2619e8257a52837a0c8c395dd367d80b876cdf6625ad54dff21c82c96f29624e23945491c0152b7a88219da983b9ef99d8b9f4f0e1722ec7f1f3a4e1583a1da8994e6f33e41be4878a83eee8a71bafd7977bae0280625e65a9876939fde338dd0b8f693d06758a29e6a5418f6a08efc72b9168c52cedd426d3ff6c4e6ab77817a862b3cba9d95c08fa0bb4741ecd3480b014a76f897a27be7f9b48b0d0c8c07e4e90678610c20e8c796ac183e6456191c784e9f97efa83763759ec7df8148dca184ae9501ce7d21fe18bd0fa2407d9cfe368537cefd71c587ce3d80286bca637146962377be6e1d9b3422b1f6c536ba058ab9bada854a250451d5752924e2416bc2f836dfce1b8d671a7cb7c36837a19949f8c132928ce5f158cd44ca34efbb14f01ea9c6cfc50d2a83a9fad2078e7fba2ce81b1a9c98b271accc814b1eedaca7704c8020cf316aa43cc8901aa8c1e0ca9cc9410fde09e8a842037b198fc4691e329ca8cc9a98478b92f73136bd9df1b8158b3992f5f5cae2984d629c15927dcbbc4a9cf5a80a7c4a85964bc5c36b21fd25003581f99c1e7aa36d2bdb9146a4794df10ecf0de0f68a03d108fb71f06a31a91331542bef193e993d352eafa09132cfcefffe5999b59cefc8618d3cda5941fc25626ca56e438d4346d5ed87bbe82aa3df66cebc8eb93cf82e8c25c3224a65f5d16ba9472c38d2edd186004be8990c9bb789301d5e97ca125b05b24e7826233b165ac1aaf934075896a76548098a478af448cf7e669206014e50443059a1d8a4e8281ff91b1ad2825a8f90d7fb7de4ea119f8182379665de0da4a2c3a70424bbdc00e870ac95ed3f9fa01c0ea33793e13341f38d74ca94df5ddf366e132bf0cb39e7632c93a700cc7849afe9c7a5916d6e9044a7727c969a5ccb49358c80bbe14675bf92aacb527c72447399aca0b99c9b2ac6337c1d471a4615e600d82c09f49d3142553d31f931ef45c9e6979f4f1d29dc4c12ad374d93e91003d947e45709a7a830081bd3317b8ce2d10b1bf38120c759611c42551238a12757c9f6965f9fec372957e7f1ab832dd99c4c3fd94fd91ca603e96d3d84bb6925c22ad9f95d9de201156c8d4c3c034c136cb1053ce31b3d19c78a91b58a8b2fe49f19b98e1dd89b7c407e1255a7fe20cf8dc5986dced9200dde025226ca2c562e6682398f05be01917502f4e8e3df890bb7d787cf325a35f3bcc7a19bfafb3ce217a768b3af998ff5b706b25056013b1d979fad703961014ec70a9c8fcfa08db294174284d2feb50a348c78bb934a2f37f059a7eaf18fc29f9251f2899a7d478b83f1d3694b51cbe498fa610a70ae26bb4d19dc9564e4925eb7dbce7b67336a5e0f3e7680399b990d944bbcb6629ab2ae40a01770fd6922bc4e17e4e4de212ec8abb9adcb30a26d3fe84b8da53b7e9597b7b19d31363f9ea0f834f5bfd8787741d60cdf15d4691712f03abe8dba1206556266de372b9615747d348eae94d7db23cc522c3eaa69b829ea90572b33c8f5e89d0a323dc42642574540768701fa0a7fc2861fdd248f426a2e4f69c5abdd73d6a81e6a9b9a95c94d06a2f41815bf438968f29162fa91bcc32da02b0c639001b8ab250d0ade2930e38927c66511d33ac87408365bed2f5977bbdbfc0a6415507a7c7406db5f9e006bc26db268e4937b61d7ddf60b701ce6517cb116cd0d3f49958129bddcaa54ddfacc16aa084a9ad49d7f6eadcc4ccc5ea7549a6ae13d5a89b14d473469912615c292dc330344e03c892d7f69a8385c8657cb12c53f585aa8566fb55828566502153ec2b6351c1817a2ce3547bf244c00200888faa75bd0859f90ff18d99cf565248d4ae38449e8b126a0a82177f47c60c0f30900435a969c79dc8d889862d67ed80f314237350606250c9a62cca9c9a66304f4fbec0e8352b98ca33fdb2a837da0c80bb671015fb688cfd5728a8608d5dd691f3321bfaf22daf9f1eeee2c92201f0f6d7b815311e010a91326bd71619835384a6b91d0e24164a1778dacf58afa0d06665bb108771245182ace3f8a74b276ca7109a6e8a4e7207d05153247f186414cc4c469be6fd9e6e11c8f182dfe46ff1ab90a0a53507da283e5bd9485cbc94bb947a6e1b50b115987569b0162d33f65840ab00f9c53e004edce9954e8d884656f1df383d91d9605c17cb02f8148f087a9e5806ea7e8089fe689b975a2b4c57d1de0935ec3812866a7e7dd920c99e51b562b7d5d078349a13df799d4308d381aa2a5abc2eed512b09b16d23e5edbbd13b3ef7d798bcf9cde18034eae45b443ab7527588ff2063a99214958e44b555ac8e4fd64616b96942ad174bbb19338b799461265936e3d6d973f6d02a42ad1cf123fdcc5a0a1bfc2ef5c7c4b84746d2ead988bb0331dbe3a5c5de0f343e74011b8d5294c3742c07a87b44a3d0e65d6998de45754e514fcd4a81fa932658026efb65cd36b7e0ad40966ca1350651726c0ad0b39cf393f141dae95f00a847636342f0d9e9f7d7458130c597d349c634b9e99ad8ea89de39a2276bb206b9afeade6ccb8f23920d635641d4ae593dd64156fa9865fe2b47e1660fe3424ffa090e4d3c16c8731099ec134c0e56fa0b2ac46c5500b26e2afef633fe9d599a6b7aceb1a602e82f27ac53ad558461f0e9ff3ad4d2d85613b21362a0767626d95f311c05c29ce1fe5454e18e4ad602ddcfe119b7b4bf3e7b3f8a2e68cdea155de0b464c50b802b0f45b99ee2715778afd2be88dda63e8d38279b1a6107c78225eb466f98eb90e58aabe2a0b7bda3b1968ddfcf1282c05a2d88c709a6b321e6992012a0c621c58e4c01fc87fb8e64720946e096bb1bbce25f3c35ac9901cba46980ccbeb206b8aa14cb020ddec29b0f26b100f076e816b634c2a0758eb102718f4ad425443a21b39e0bc47245435019e4cff06733582f68311aead387200c0c447c9a7ff3eeac50ae6fcba465b5fe58e1282688cc5a5dccbcf455be7a4f7fa4eb4cf4e9478214da3cf39b8e4fb94179e9577b406e6a7a12ad20d8784d526e66e1b6e4f9a42da5801099f46452fc55cec9de5922e47b24fd900e7dfdbb6bfd7c5cd2582c440e7c4a91c3be8c76b36b7bbbdbcf1bf32d0e09697a3c036fce4bb019c0371cd40d1d00f4d7ba7c0c991b3c97ac4c22a24a5032554ed9dd861a058cdedcd0206ddd41d5f31fdd183e2da29930bb11509a18e75f01f4bbbfe26eb24be9a11607e0bfb535a59c61d97e5f6f48c97a609d16bed3116e42dcf33d919661bdda609787d8e154e2a66b34e7c8f5161c17aaea4b84e40c12c242ffca5dae44af9d15e00c8c971c024ff3c83acd904df47e8efb5e1294c9faf9e254c802f021804976e839e635c1c858cace0ca0176982a16e18464fe62b00851afd534b24d5f854c6632e7ab0357ad12658f5868d5667b70590a8b932586491f5509f99c287ab642d60e535d5d1e0eeb2effe78f50267dc4e961fa9d0ab90927af1f23ea3d29a19bbd0c4ff1372fe03fc58f3e2f921aec33f1c7647e930d0ab2ec5a876653bad7311ba4c09af65181b93bf4e730f8d8529a241f4a4d1a4fb2083e9bf3aa552540a2f0a4ced582219e037cbd0b758a7c8399c4fa9ff4a2f9860c47b06fcb4f46ffc06fa70d040dd1381e45b7d020dad65b1b24628ecbbe1cd89b672001e64e3d0c817d9dab34c0a84f8dc8d28e99283ce5d97b6b0ca84f103f015bd771999801206ecdbd966705929875f1c67b80f7ebebfb4ec93cb2eba59a6038e89c1bcf629cfe014757ca95f1c1fcdef1e2a771c577ce6692b6a4d173a2501c59791c20cd77fd7a7de9ba062ff61272eac14167cf92a731cb694511a9d45db93e454e592c609019a94f67a110bf4472a7b39d478ef0897e07db7c24e8f3f03d75e7a1460dee60f444f01ed9734371f3733c362843556331fe82cf1a510b488adee888873ab2959a15d69b344a1a26365e2a5cc4757808d704c89deeb11e72b620cd2febe886f13503e2dc922a53207f83ffc7014d0b95b4ececf712487eb63e08601c4ab6a4b530001ec55dbf62b85db39dc40738e02a2a224c066466988d9ee4026a17d4e19f76714678b0969c3219a543b2acb82f49a469551b4c6c1097c578c644a9275ebb9af462d1b37f3b354076a1b46b5ade128b772e1e6808e884ec690d7238fd3d0d08e70ed1e339e805d67f3c0b803985fe4430e66323d9e012b5579a69791bbd79d7c38fb921c392604e16ec662d39324e1f12a9c083d4e7f88bb9e139f1e782ac18065fbff80b66c4bdd41c0b5521a76bbe4762735dac0acb0da5cb3547548a5944a2844aabddb427d4252ab58dd31d0ea8909352756c942180bbac16a455161243ef332c7c0627ae3ffed12969f2687150db6a5e913d0599b1107c1196eaa28ffab0634ece555b25e1c97ac26aa55216532ca84754fd7e077b5980c62593f13e9ae1e9349eb754c6477759998b6d522131b10febdd6a676941539f897d96bf1d25fc781664ece04554ac6815f37149fc2980853fb1103550c80af26de8190e3a8cc1a93c6c0e68703adbf4461d1b33f3518ef8682b6461c55218599729eab0a5979c165f082f8684b0cbc5a9b0f374f1ade175b99ddf9d168ceaf272d184c473d997bd9327be732108c298349ec4a4fdabc918c588877ab47f4cdff56a4577a02f0d05ce0ce000592b90c4e4232a2fcb9740884b5cccc51cb65800f3b140cf71e54f69ee8826304c1d9152c30f5404e360b3b2ef7846fc70bfee9e14d134c23cca635768ba0594fea4d4195d5bda1bbba855e7e0e1054078741b36243b1b381fe08564d2b796cf5b858f31ee7318e0821aa7cabbe43a14f52f3ffb9b174bdc3661f55525c36634ed16a6e22bbbe322d6906e9e6994bfac0a612e4fdd195f65e1387190acd8d6f35ae5b142e5d2b466abf1d69d0a008fcefdc4541b6bb5984866f4f40afce08de3b0d515f5905624d8444243644e0bc9eb41e7a94897667c235f9db5d3682bf577e9194084fc6a33e9d777afaf0cf7ccd2400520174fe3f0cb00ad6327daed7d7e720bde5a5bef923c84e85eba8d07a412605ad07aa114e554fa6576af6b65493d045275a4b8627ed02b3924dd61c0d580036ab5ff8ee552ad2a0b90b4d6f9b39fa3b60142431a2b14f447091bf11f916abd38af23f724514362a3867ed22017929421fb744f7daa07997b1aa90b4897e312cdad95bca2dd8414deadca77eb8a1085cd574be7e515e758fab5ac7b007b0e3c9f75ece8410c324c83e212d049964e67f762fb877ce5107d5f457499857bbd5ae012e3bdb7119d738d711349bbd9e38203e48e76991fae4808312b50c3c21c135363ee3c6c5da0673d8a5e982676bbcc0c18005ee5b4605ea93bf14e6241e0daea62a931d63367af851101ec83cfe48b439531d7a090c9fac160252521f6e87843bb6642f0dced641f031bc1737f42152440d2cf9925683a0185b1374567af5e3c026658e7ff3b86239e4994d44d613378c83b327bf63fe8fa4ea99fff0401caa3fe1ae3a88bf0d14b1b3f79bcff86c454ec0ab9afce33134806aebb20fbdae04a5ac8d80fc58527875c5fb0794f5175d0fead51617ba47aae31bdd9ee91ace3491ad3cc3de771e54268d9a3e96de90833e66f6eabac637ebce736593f388c50c12bdc73157b64b5d49afdfa0fa7900355bb76819594bb93ccff2a20751262f2a7e31d805602f621623fd38f09f1a90215781cb069c47988c18046bf1e3e67cb5236be4a9bf5b8c961fc88ad75a82e1f4235b5835e720be0e2db82d564ac7e868dffb6279db80b115932768d50ed67ae6b4fb1de3191646925d33f459d1d7e47c42948e2e2e35f8f6580397a107c5877747caeb70a48e4f749f8a8aa51dfa86158fee843a4beaed7a6cfdecf2a8573f48ff61cdd8f22c36f05a4eda216b91a31df0fd020fb52e173c62e187d9645ca30357b6cb437b4f94141ff13563519ad817b20398ec00bf20b9e9a356c081832e56353f166039a0692c7ff85ebf7f15488d0a964e6bede01f47f862f3980c4a25cb48c9fc82f1a9c88bffe0ec5d312d649df6ea4bf22c460c016f1162197b16e4f5b4ca362a6a7ceda209617d31b49cfad3f8bea4259ad60809f59b2388a8976c16933f1c6c5714a442933834cf3535aadfa0104af74cc1946364796a27318712d4df067b63bb9636c7a5b62989a9416f8528a55b70ea9d4dd25c617a04fe49166a0cb5e667094926fba1ac5143b785848efd94e843cf9de5c019ab7168983a4df1ac71ebd9a3f82c96323376b6141b2e2606fc6240a0850f2e5c793358f799fdb5c7a250bb2dd233782590bf1374202629e0d7cd37654715ff1458b7bc412a95238dc452efa4f90f84da0d032d6f2c56b656e0c1f888e9f27c3ba0a17809fee5e90cf86aa477786fa2418511580be4d28fcd1c395c7ecd62e3ab01a994bb16cbe2dbd8fb1e63ac07ccdf4b5496995a1dc5b304104a15c64b88513af9361af1bc0e9418cbd154a2a2dc5b3b535942c7981d28610847178f6be0a032f4308b601fb800af9342709c0d050485679063cf092a9bd55b9a39013e3f81bfaa8fabd1a3fdc98abd3d0737cbc3236f113ed05d89a943306df61cbf824cf9dbc742545f1098255ae06b284e1c518b8a62d88a260112bd702cf52a2a5202e5e535a9312a3ed589e957b1299f8519f4f858eb7f615671a61d84b335660434f83c0add1ab8358301a4cc0e6140441a30d950df65a78df51c8ecb4d2fbc7635404e7d2e0cda08c7663c303756f16149341df4b336314d23f42d38309321ba2de297488ea63f9a9f73986b8035260931f3747eea524e4be2f32e576753f0e31c8b25f688a0ee142c7f0e65aefc318376e78672aed9d90cd64a69a6a7b5ba46ba1a9b90acb33e12de8ae020dc9c0502d6f865e1c37907cfbc9d444b8d9eb0c601d40cf965f62b1a815d1d43bf193ebf1b34824439337819fac207fbc63303f75410883b15ed710bb8c63d92f276f469ca811ad05820766e87c99ca848bb052950e4f31fbcb8ed0408ae6eebb1088084ce1ba741df2d5457057dc4371bc61068098c0c4a6134be1a0143193163197113b76a37e2067b6a0237e523d1098464f0084243bbab901a4180b583a13f4ff6346182f7158f4030ace65190f5376fd77e4226fffc09f814d92805838f9eca1830d2465f7b10b8b4d2fbd2d55740e4b0e2beec8c4428f49a6cf84ff2de7edef48b8234e563ea6c6462f425063fd93b5ac08b27a69a881a2e9f406c1d308a771c45c8bec545953fd1211e9ee91ecc017924225c814d9637393a0a08118b163851b9b45285a9ce17aa7113e9230a0707c0f35a753ee63dcef06d6c50fdc5c68b4814156d3eabb796a4e2590dad8df994c215b79a0538a8abf3208cb114382dbb5211d866299e808d5a1d4cdbe2a2da2baaeeebafc5cada5fb1614c5ab71d63ba0baeea4565c75155f510d808d8c08de880179f10de3f83ab5a2efd9042f10c90ac6899a3f6d20d450461c72f884d805eb853c75f0c1ed8474fec49037d373c5c4814098f932bb4dc8906387def9266a19e621a8670c17d064534e6df76d0a5b6fe596da2263583610e1e2a88e73c79f2c471e49af57093fc74260e9ea36aad1bf642a4adac4addfe6289c1a5350cf17759dffaf40bc5cb309ed5647a98cf3ba7d2b1d0406104969e1666a1c684ed7b30bbc4407e8b3f27ad0b4dbd7be32129bd45ad728d9cbfc1b654a8c97781368c36eea6c9b75a5f30eaa0b714ace3a236cbd953d942e32f5d8275325039a36789ac9c91df3f6dd0707eb0dfa320ec10e53bc9202200448dd318a83afeca97918296ec015c58a63c5fc3f13398a47596311860434e493b7cbb72446776489f20467b37d6239b410cac22f1174c43c2c67501d2c6e1ab8953e15d62faa339bdd8ac85909cdc37c019e963ef3f4ab9bfae334f8d8bf18ff00e58cf519fd75d149463a3644adaf2370aa080d135a999df65127ca3fe66414fd0a27b0c10d0977d17b899d8a21b620f34d37e7a36d8abce603261145a580c212b7b6121865a9d112dec3b55888b3444d68c515778f84ef915db5cbdd99f4eedc34ab5b7870335a1b326ca11b9407b660c37f8b81b76280b044c89b27b5db5a229d0134ba98d2dc4478be861dc166939775c45b3c58d31ed6ea77a11713d6670582559af812ae0a0936c9a307a81d418c262dce2b335734db8477a14088845a74a327a3d1e15f737e49abcfb0dd2e29da21e73bc3fa0bba48280aa6209934ac88b8a1346120f1474c3ac00fabdb77c4331955dbf4767eb96c1ee21f3c2e6a78a4456f1e0cb106bc2bef90542d7e250bcd862f54177e829b48389c5419ac1a255493a1457d4c4fc6b29fd5b62f1899522ff94aa7f5a2c98b852f0df52ec9f52f29fc4a2135f2afe552affa8587b22530a02fd3fe9afe0eacaa31930f37ebd86ac16c203c04e8139165e8f2065968200c9261dff2f943e7f1a8d3f1a91ff37a2d2ea00fcb391f9a7d1f89b52b5941bc5df1ac11f6b237b546ab10f9cbf43e975a525cf352427558faab4fb32f4b74cbed8c23952088b62959fe77e2af31b9c103a1da6c3d8e3503a25b0f21c21ecd9678cb7c90d506fdb00c6538fa7fac2a6a5b3e0c44bba54477ae576448d7b1aad0afe12ea77c4b8d134be35ee16fc0f437cf0cc98d03a1a8711a9296023428efe7c0bc60dce8d4a899b23dcff0e5e8e2a576010f7a75ceff40446d94987c7a2965632fb26711a291d6777e3e8cc0eb218f08def2c8531372c7ad18f5f22a637216ccd48d87bcb23f4a403e8d875a02687497ef5047a07fd762b8ddd34cdfede01c7c55951bdd6aea3d617748679db7f8deaafbe62b218b7af4914282c64fd3dca334f5e538515c7cf1462ccc567398adb722009c93e94bf50ca83a857843cd7080065a2603a4ebf468cf7ca1c7c6022ae9e5643a204c9db138fe8bf3281c9eb99c1c98ef6a386f657c21a71a21a34fcd833ab443e04e2d760b2e5dba4dd46c0233e0a0f03d3c9008d5ae01dbf5ba74ed4f5a86cf137e7d6fa081899e47413c3221bc3234fa7d863d70db7c5cc93bdbe7312f51a4fef7c62e2b76ef740baeab5e92301054d0b18092dabc7eb5adf04af389d7fc29bc4aa21bfa7e903aa24643b168ada2080486038c3e8e76c8d725ca42a8e7ba5b4d7e60fb7544d80f34c9608b578192e05fba2520f8e84af9f36a2c46736612c9878d83c5e9a142648d6239638a9b0884aa681fbb476349f868a4942ea09b314658f8c818606ed4eee0864a7b98563b1bb883d28fd66d0c7383ee2986036ce8d8fde122e40e5713538198385d697ef0d530cd6d2d32065a4dd70c636eb5daddced69e4ba60b8a5aa13b17543f057e0f9461cf9089e25d80d081542c8d176be82b31c78f6f5347ca5f38584795a658994d327d67da77dcb4ff66f79bde8279af4574a2b99d9fc7423d484357d5f5f8ec6b8d9e3b83ba223282ce33c801102a0d8f41a9a8d668e100d510221ef66e1c6cfcae10b5e18ba5ad9c6ce6ac8a02c35e595bd582d8daa408ddaf93de91fdb56f219f8924e362a4b9bc82443b9a8165b7e5d2a61216c006d6a814c5c036cfe5137c958a2a6bd64a1bd3e121d7f9297b961d8915be815c8142d6ce0655cde2e6fa33928728bf5d8093b34dbb2af5b84f18e9034d1c678d4be971e8ebdb708caf0948658c354d300fe4d19bda600738559bc3780ea29ddbe01204c302fbe3506a05999130368114c9b82c426df05f09b0f6674f66fc28f57f14a5c134c46d7dd3bce8882657ca8e3656408208bf998972604190bb9082b3cc14088b52a23e46b6dc6336970d62a4193a010af0459f16c4425dc27df258f376a006a01616528a448116196828b838a9d6ae3891bb6465bbfb1342373788c263460cb74f9c243b92cc05f26ee19ca2ccdaeb85eb5ddf4dd9e4deb3e6438f9b30a2e2302b1aed871173e9b2388b2bafdc654eab24be5ada16911ced514b40cb8050677f13e8fc4674b8ab1010c2ae89a17e28033365b5e21c73bf9f83cf34a0a4ed74d833cce61e6ef1733039345155e26a0858f153026ca2328cb157905a0a7f2bd886da8d9bb4f88de36af957850ede7e2f6604e5ca765622f3291b51d679b63cf5968db34cc1e0ad3be314c66db70cf45f7405f76607e928a401a72e7ea1e269aaab0ea6743717258f9c8cb1dd848607b562e6e16fb5c616b3454322d71bee018728533e6982e21432201943a74a732dcab4e951e93950fa0d24c79fab47502159f97a66086b7b2841096ce36ad38536a9330d35bdcd6752e52d3ac8615984a022a96067da22573e29098f3eb659c9ca28c15f9cc8637a60bb48e445d2e405205b2d8465ea433e6ae7f01dea1900c399224c6253713f49ee2c5678b8fd514e03816573723c1d1fd29deba20ba3823b543bac62c706e40b89f5bb9c561afe411cbac6c9b2a6521a10ac964504595f7acc0d5795f3117a830d286bce9a4492fe04f486da69e3b80dcfaa4d7e1cd17a00147203d81ed263abd671363594f926d1739225c8e6d88261a3528410d35d7c7da31fa580ddae817bb97b85f5d57d6f4f1a27b60bdff76d10b6e0d7a2d6755f4a43449c97b00353ee53f06e002a50477a5c76455df9cf9b31347d767c20783cc8240342c59672079a5db352a09b954e7e3bfe663313e82c51e29b0cb4cc97e5b830ba89a825f145b53efab53264d37dbf421390482a18221bfac0f99a7a6fd2fc58d05bdc5b2580b120f2d11fa56d582163f3d31debcc933d801c7dd036cfd25411f972faa4382890dc3776945770fe93119c24348d6fe36180639b3ae16d8c801b02039e8067facc90a9661ac056dc7bd2247d888cd5a1abf811c86f5270e07d7f3554e9bc9633adbbbac1fe4d9a16610cfcde7f67e3eb5e2d52e593709a9e74b97917e55ce4a2452283615141b1898633df5bbd3a1d790354ea30710184ad1c326a91f32bcdf15024b67e5df7cbe4e6cb6e6488519c8724e3aa2f8d185c4461274c633b1971045983337b95dae0c6034c07d8c88ee746a9fb30006da917a1e27f5c59f162e6bb48999865e4db01a555a1c4076fb474f48d3139d9358929b6c09719da295fad7cce151928460f04a067ab4410f98e4aff7eb109b980cb4908103988c6ed8799268942084391da2c215d2ccfce37220a7db7558b4797bd070f5e49ce425d994004ff667564d485adb6d73885e9f93dc5ad252666b190c38ad101874163ab12346fdf824c4c3fda8eb07524ec87ae995b1aba892c3cf68f284613f7cddb3418265144f34c8808fe0df372872db87da36ce33c42b3622694de6f2f4eb8064ee8d86cd070d70a4771e94c3112c17cddfb051479a63468c04547d1f2dbdcb44d2dd5b3b423f75346b1ee34ef517b04835bd3590cf2f556f6afed72b8e70c9bb333c27f9545063f0c18fb2d808c4be3da8077a0122f771ad498065dc0020a3fb17688482dfa927c1f5bfe904e1041da94d987504d2b7721baf33e95f0cd441b1cbd6b4c560a455b0343a438b124ba12dec6cb0671adc4ca5c0d534a9933e8e0ca15ad6d03baaf74a535adc8f0f5159d21825f1c36e666561f3886995964efe5cb531ed8945ef28d56826cf92344e3eb4a9cd693d8434209504eeb6d57d3b64d24e89cf6785f7c145c9fdd387713b22f7b7c309eae02dbd1e0809673d41ae110476d64820dc083ca51752bfc209a8373632ba126a46e2e281437edf523e8009edb0732e74ca0598330528140d1ecf5d4ccf79dd4a81e4b1e87cf055826c9142e71cc4d007487b2eaaf7e4ffa09c5588a8738887cb101ca344a22884ded9e41a97d40921e4a160cd9c159905cc4c451eea377ef7d780f6a7fa4902e807bd35d67b55254c04ca85292a0b7755058683647e15e2a480ce95e9ab09dca9604c96d0bb67ad60475afad77aa3907ffb5843407e24c9ef41ec7c3f1112a1aa42466761e8ef6cfdcb80aa9543cf931f575eb13b478520a2281e04d469f80a818d8cfa66a6cce27f93f58aca5e188969ca8ea2a0accaa0a4d7aef51802cce09f350243fd3f21d4c1c76666f4597deb7d8f3d7d74a60da9234bcf5258453039d78bbe9ce1885a0b601c40679f0abf0151a6795a1b9795cefd7665ca0249c770fb3a2a16353f25388fa300a6915d105f4a7653f8ad08ec659ee096e6044afc5ce6fd1b4d157d0322a262802f3c3de45e900985c8b6a082c69aa623c61b514fe4f06b91b6b11c8470692aca771caa0a8d175ca14cabb89109f4d5e2e20a2c3633dd6a2ad8b32419bc5a7a21f5117f358c36e85000107007b79dee31b67e9de5b907b1fa01d6bfc5a4eed6ebd0d3e37650fc96d55b13fad1118ec158c3d51814ad551df80a0c59ef726cff11fe957f3c47838541eacb9cc9878d74a01b05a1b3c55f82022bf9834efbebda4e28228944bb0ec6619d49edc89da281943530b7f3e571504f1cd14d9b6ae46220853f0c08076880f50715bef9091b17bb20ec93927679c493044b29ba44b1386c8b1768d68d717480e37af24798c67ba099f5584d7227e9792766f961a363546cf479ab815483466f3b7939af76520045b8482b66aa42a727a7f6dff66049bb368373104dd7c7aa2752d94ca5417d6a53ce6ebd8983b65e2d2a16a076d21fe18b7a3093bab9cce39826b35c9c56d33d2df98b392601d1e6d6ad9e971501972db774b7daa3d9174e62b4686d0e3f3730b7fda108bfd50daeb1bca180caa112e35c321e034c0778fa915f31e4eac201e3c073a3261eb75c08a4878dfe6831844d6e4ac16b5d80ecd366804e5954c0908f94b54208c25e48be1e407d8e65704666d8f1ac199a62375dc6275072590f4a5d88a3249124593c35e1b40412080b91f05c29300b6f059b78dc9b88a0bff977507f0eb5f3a1df4719d49d64527a849ddc96b40a9575be3bae5070fa966c7c63561f164e2e29bc84f6180fe1473d288dd475bf37247f0f3cdda67d5a2cc0b7e0af153e168ef7c1fa6165d2202ce00fa12eda6b4194c837bb73a8ca598bd4d924630787d015d4677f3b99fea27aec1022d68cb4ecc68a54c61dadc0c999fd20820be4aebe7283bb4d113cc99c7ad7061da02ee274dfdd0da99d5d70b31b2bfd4ac1b225c4fe433789072d448c13a5b125321065a0ede3f77adcb34248fbc4bcf81811625c586969c4798161c0d57d171699c5149c6995334910c0cf33a9b075b989315c6ee10971e24d0236f4064aba82130cd1a19704a07b8b2398deb4628747393576871cdd85fc2a6c42110a36429cd909af68a016e441dbf64227f97a5c56da41095fa117cc7908053c1c4437167f053de7fe52f788ced5d185aee20b0b2214b0a857f4d08c10826683aceab39d997e0310ed9f44e0d270266689ea360c1974c780268f4595983068cd80e6e9512fd9687cbad0f4f009a49568e215706996ba40eca2c0190f68a679d98335e12d43930e983dd2fd06c202e5af99cf0179280b6cbbebbf0bce215684a53d11e6a2c93920f7ef43a63873ef6a1ffddcae8e3d2769fdcfed9c4121ce3d891f1cd0c6ef694ce640b5eab7ba424c935b82e83e0913d8df964d9b441e3814177879261aa78383c00cc2af04b755723a40b05d629bc934775a0396a4e53d208cd3e1dd78532af154e33d95b0c75afd7206a0ea3776ef88106246f31211fbbca9eac425425aec41ed2f6a7b9712a7bf5e9613df083d2504739b5480577e3001bf8cf21a31090c4eab6a0d2a63c0244c55f154c98c665ba3f1a69bba03908d8d4c3ab4d1a775196673e1dccb2425ec794cd2bf806bdfd1e07dfe75f5294d8f89d0aa9c618309f85a9eee06d22fdbe05bc65309c4209a109e9890bba6e7025403d402c55801eae09f01e3ec53a7a560610111c766da8448ca0c99478f0ca5c33c5f4a6ff7f567175e6b2aac7e24805898b44ae0ec47c840c405934370cf717a1c14b444092ca3697533ce60783b0e6793c640bb231dd840ca64d28125eab1f8953a1c9d5e7d8f8d070f8df51878126f25edf55836194fd93cf4ade1f801bd5b2bdaaf9f54b6963299a8ffc0d929657dcb2a0fce986ea750e87312c2352afc0e85ecc6d2a0d9459295032e4bdd784c066bb2f338a9c0919393b08f61b3778e629f258a229a3740d61c5b1b161904d80834926e181b097d92f45710fd3b95b8ece83887195973b4aaaa92511dd0c5c89ef0071f966c7d37c6341ea2858809d041e57e83aaa1b592f55b5351fa584b4edbfab243cca6b921672f87b42e99864860b989c0be8385c70141cc0370aa8dc2ca55e4242d9043ecc5eee41e0d9f56b79555df1effc1f136d3e4fcb42488df58f5dd0cc1fd25daec63c29b11b6f9f7574a4a2b44ba2238c81b51d1354df0d5195a3abd03e0591c9a8b68c678f0fdacd70706812fe5558e0bfd9aa0c736951341d75a291f84de11608b023dee1ca407a120f7ccc3901658dabf93508a37f9db49898fc5b8edb0e48cf7d0f2a1b2004c09d635d8acfddd076ebbaf5387c9f7e5740892101a4a33d224c1d7834f7f0f8eab81c7500c769812141a7280a8501ff683ff0896683f9170397ed4eb83b063bc550b50cdf6d6a6bd24c3d5712ce3c30ccc4807c05f6605f8272348d6ba40cc289582e5963bfccac8a54259e7ce5fcca65ae0acb56d4d22d0ceb1412ac9b1e3d77db425886eb7b6539e86827eb32c22e4bfd1c7c9acd58a80cc0a192ad6fbd62ad0f7c08b6464ec62e7fcb1c72bf70796f25bdcbebfc957dc7bf9462b209328c35bd2dc0e967a57574dd0fd6bae94da6b5b398cd9aead880d779609012905d591cd266b41c6762e1f57aa680f41986522d2b6b20d720a5e12d606e7c222153ba7b0d619ec38c3c79da1571cbfbcbb4348a6d5b955c7ac325e6a1dffcba6337b390bde4c34d04005861621e52151b3c174f9c76fc100519b87ec026b5589f3853444459ad83a33290562198283b170df02382723ee7b62a9b051b5d2ba0e94746a51de6db5008d136fe80f3660e883acc018fe23a36ce260981b4d43f2b321e905e5de9edab0222c6ce4b62823c2c02c705d12cb2806d3a405d0d430029f4383e131ba1179e5fc090f932916ff9e759463c950eae3c86d61f6db7bae30debf6d63cbbf1e1ec0fbf6ff7958fa9db6c080ddd846c03da4cd968b6d40e80bdc49f2c81b709f099ba0493d5016c4fc20dd69457430ccaab0cea2d767514f2f80c6d899353241b9d3ce3c62cd3f20930f83ff5935eb5d76cf95bc157eaf881d6d7e6ca6906cfdb36e5fe85a022e4d4d4cab116ce0429f399a4fcdec2c561c4adf5b7ec09855dcb3571302e4ccfce47ac3c2a01e4405f4048e184f4554f1581c0236b5f1d24324d04b522b71a44b9a812a9eaa1d2676bf79c4ca5fca98969fb5d299bafba83a3942459dabd2558c08abe7488011900007a486f9600232bfba6494091050a1b6af37ae3443d459e24e57d3234f54843715a7cc2c092e85a2773f49e42fe76da16a1b304e266493ee8a599dd1fac3344d6bb813ea0c7e5b7e786b9802979679de5e1bca339a9325e2005c5427abe86c0e99c4ca247922703793ac164ef0a47c2a0b7378a671d3ed083c42dd49a13e381a0a5537bd8b36987687aaeaec28e48d8e1cee47b7989f56ed64ea35df887e812e44f6bec78c807de5467cd746226e64a398780e6951c63a25a6d1b07cd8189b87e29e481bacdaead5c22b8042580a6067c13eb395326c1840877b2a69ceb786fcf015f0b484efc4ab2b498fcd11686aabdcdb579705ac6279e505501c032efa845d7c18cfdbb5d9f6e9a6917f3b7f445bcfba1b12ca05f220a29ea0672475ee149f7ed3cd80396cbe78415c8f10bf83506f740e95fa0698210e594ee639970e5ea99c29cba31d1851b0f5a40b3c471fc31b81cb079235b99e587872d975359211736df51e33d1f1798214044b34c1c3766d640144549f7ebce7886f93baf13afa7959388963f0ac47ac42595175d24dc4be26fd686b776232ae3fcb0b9433679be82659c8b4bd84c3a22f500a1ef0d6d0fa12288c9dcb7b3b67d90b556b8eec36d79b9dc8932323fb9f9dc19362f1236c0341ca0c969f720ca44147d15af953c758c576ac6c89abccfdfa7b7666983206d82e5666314050e20bab24d3f4aa7bddd69e053d941184c54035df4772d51ca3f0936c19b8f2957e3e0289307fdcc99d5ef5b49cb09cea11c57bc210aac2473846944265ec17ae4647f794c0942e7c9a8477a13fd44794a14c3e95ac8e522fd7a9c6278ebf0e6a505bf5e223c65998ea7702918adfefc4fcb094ee888fcfe6fdc0a5f92c14b9313e089c31fdf18998e3c31374bd8b9ec3f8a43057fcd7ce40466b2e57c73e3edaeef3859cd69f00f4d7643a99eac778c1f8686b1d1137711a3a4e2a9a84964b70beb28e93e5b8ac494763d0d5afe01162a7b369ca7395606c3ae47771df65e26cf58046045e91195b25e1227668f910ea45c2938c3a4518d19374cc4a460a079792873ebcfb0e624389ebacf741f42024f649f738570a81a2d7c3c861fe2a590ab9ffd41753ae93a32a378e463931704b12598ebf69c82dc59ca68bf88eeb27eaf38c0e3ed03cea7690c23b55b31db18cfc59950b4105201ce7b90f275c571898fbef3683b6df18fe40dd916bf2f90a576cd99a7d05806e6bdaff86c12d99074e8bec103942d15928292f61f1543a90e2b24ce7a848b3ceb210a45ec1347fdff34de15454112690b5beb60a66589a99886789dafe30c10a1b87a0b86fa2a6b0a4071a225a4ab478f7cfeb90f8beb69b5ea386eda5841dfbe2d644825668dcb5956075414aa661ba6f745dc26f2d0bbe3d3940ecd700a4367dbb4f7eea9fa136e9e90801e6039a5b4f1c2a2307635c6ec20dab568ddae691067022a8ea7d4033484afe7d68a876a02b2e5776a4f49253e018b304c9dd421e699e688e57a37a34f7bdfc7e1e4dd183f49bba9ac3f051f410201a817b3748ab20f45a60b2812198b278d852464a0bf6e639c15c9b0b1a150657c600a5349a8edc5337390b1c09db9d20c24183247b680af418bcc3e3712c5f423a10a01585169f3122f537d10cb75d9c82ae681be74876885bcd803ff054b10f50e1ecca73eeccf35a5c4c56600d4b4f24eac856f7c8878595b229c4265cdc4c19535ec109c9dac0184aa11011193cc36e15986a2bb37707bbbf8746924fc2928a2de17de81414120340157e3143b057a40547e5a6bdcc69dc46163eed16730a3c40d8b3e3e2a9b596ea851ce0e428ce8bc0775f3c73fcd845ee5c8a2ae34a0d8080a01eed11fd1b43d5b5e9300d0b356e0d8f9acf8fab0a319944f92b88eda2a7a49b3c65b6fa59af7c4c0e6edcd934c74410dd0820315f321b8a93c3550b1ba85f88ab42051691e39f908658bdd1a63864f99b4aafa93a4701c862464693714b298cb01243c4ad0e75485fb03aab94e291bde85f7b70eb893b8e695e10471f3d82160cb30de5b795920ad9bf4f89e6b0a7c3ee1bb7de60dabc54a21607529b8f7484827f72d28db83199b4174c769ebb215b039492d8c4906fed3bd91d7e81997f4e88c1a53be618ba6c7483cb2c67dc6b1d0f3ecb9e79ae41518d6fc49241c818ba41eec98ecf9ad43e815ba6a6c260f0182a8dd5d6884846944d2ea8ac4321e83147437322b30ffa556f26558744ed28278012f6f3568f039590ca1ac182d4c39ac01dccd9c5849ee21673be1b137c64b681488cb56af2ffd4e00501e7a57156222a1444f9132cf14b4a621d1154117a65ff8c7e4d2eff5721f4220e1aed2a02bff7227e9c9332cbf77bc3ccdbc3ff776067f3def0180c8aea5180c423e6e2fd85aad46a7fee89320054bae7a0ad04ac5828f6936a8e7d19096954887aef37e7fec433457e4f757f62f32928313031752260440ea738fbe3823e0ad93e781656992adc1920eb68d86fb8c068a44f90d6adb7498560fdb0306940d18c9fdb775e16f5a537ac9156364d688bd1e39d589d669610e5303c7a622ec0c3717f0b781eafa5f4cc47005a0c78b675082f0c556f447d5afb59971a18e4035e509bbb9554642b7d84bf93bb8c9e01dc421e67fc93914271ec0018082eba3b5e1d7843d69b3ee40bbf1f28f762b8a97048fedba1f0c1f272d64a6a8c38136447545102cf04f193c61a5742303e57cfc0ba804a5b6400acc06161454c2ee192721602bc546e1abd4db7359d95694ce0a0eebec7056ab4092abd425fcd02f3b880c9046b879549837a2ee3ba34a432e147433b84a44cb4a5f1d3ee3828819d0d450a26da570223838738f39a4758f8ffe680e99519be3ce8b73005e66492a4786f37f6fdcde29ad24403e08b789dba61be11b0fc9323c4122360b5a5cd020bdb160a179b29761d694cb8c6ac0ce1e406c38089f489abc770e099d8c91c09004191f75a4a2a1ed80dbaf03af9cade1153557018d010580ca3291d2b2c527b38f4c7964ae4edbf53d89d11bdd2cb4abb33697f784dddf2d11a4d09170a061017e60a0f4b81a26748e7ba61c18135b2f7fcf605f04ffd8999e306f10125d782cfd78d244418daa14086dec88856dc9ec061c75b1f5cd12b5f5085a68b80c5a38a29d0bbab030e6a787b1985ce145a3002c145694c12302f60a33045137811ec8c3efa571b801e82f6776d9259363e4de0b4e7187536d9c921a11d8382e8c4212d68bd723e24ae26303d23a5f37074195592744612a8d2673b04123498f28285493159b8ac9311e8516ad9db191536f32702c87e89c4b11f593d056eccc988d4ee4c15048ae0d689353b366fb4b10e0218fb4aaf41d0a270212a1f5cce11a1950bebb8e77e72feb85eff45d238166f2d28f1fa20a2718a11d90a849cc8beb834f75039be9ddf891f8c47eb8282558859af0b2a21789c38c317e234adbc57b7fdf73591e65d69a912ee34dce8d3308f31d59904923640f0dd2324eac49db493c5097051b44c62d45b09c413458a829085209e283b71ee7849316bf0049e618802e7b2937b0718347fb1ab47f8ed44767eb1a2a111c5f633804e67b4b9e274c95414bf6ee89291874e3cb386ab9d39bb88b85d61e4dbd1c72c54b519c1296c4ef22e3e008204b9777f70c6e76df03866bac427815f01be48352331882431629e66708188469507415c1a12a1b553d0792342acc256c0291eebe3d7580483f2576480dda2ba4c04d6218286dc1df70ea58d6284816e9f8948fe85d4697adda2cf125985ab81905643078a00134e4a38c8cf594924b4383b2dcca32f210b3992a8cb6283d8bcd039c2eef562f10d0145c95d9b631a5a333e60d2d0b9cbff3f86e547e484c9af8297cf1a92de02ad011c41f018186ab96f2c3e464dd1b05a17c85feab3c410f4b919d3f9e1ce41ab45bd85723839023e46324ed792e6e6df8a09b9b1c4aa024d68cf97c26d18111ee3d8fa10a968776b0bc73c06c6a212e7fea1efb48914c39a4d041bb39bed1fe3b9ced09707590154937e806b0939845f1419c65f1ae218b436da8cb0ec5009e871585fb10d4512cdda0b3ad159ee21280db9bc0ffe2656c4e90a81016c3bd8d494a854c527650ba882b5b56c7d064ed5ac930cd600838bf95400b78191eb9b4081cd9fb7dde5b865b096d58186e602d6efb056240926ba13a3e6617be026e9d14f1ee54488029c9093bfc37a63922968220082a347f3e97b562645a9ee17318d8060c95269ebeda7596f5d322c0bdcc28855f363356e436e3dea354d8e66450cdfb06ed152438e755d7aab132a992299a560f59d46f8fc9c4866e646a4fe7ceaf718cf57b3673d650c90d703e03a5a668d7af3e80466914c1d20aedbb0b7594bf729f4b188e7028270bd3c9914cae3e0f9b3d92a3177294b0c22a0ac3f8299ca2ced400fa09d4cfb9e903c7cecc487dcb9943ae19348a9e851780277889d607b39a1f704422828c2e2b3afaa8f0cb5d95dd3ee6948e20aa95522de3aed35b561947d366dba34f0ceb78fb43f2481320231832c9216dcc0bdabbc4b1a1cc1fc810f3743f5bcf8003c3d62a5fa57389bf518ba6576808310405e2a1987980bb02116030a58ec5efd84a4522fc6be9400e1e6318a46a44b8902d27b2e8c246d4e5612160b354151be9255a2c22756f3408c38578a5628c3d966b0278fe314d6929cfa3d814a961326e4941ceea14e563bdf113177b5db3d116d809cab5644b2f1ff2be2e8f75cd6aa7eca3090bae199e4b0f3875195435dc768b829377033b19b184c7c4cc891c4e6dd968b37223427c54581c58cccad3f31173d024321a9bf1758c6f142963544847ea7bc957a14c3008670454155224294c450f1233a3d7fe8394f10f12a6e599df3b4ff16e9c8c9f9e7612b1580e63ab1420fb150722438e5209c9c7f24e40b5cde7f5d54c69c87eed3c684e8ec995029253b18be53d5d053039762a78471057713b313c36c714dc4fc88339498d0da615a8095d4221d1eec6318d25f3948abd8191f1c27e742acd86977a8b2af4b9f766b6b501fc8af721969cab44463b6cabfee4d07e9b35d9584896c3de62976c87ee35fa94d2695eb62cde4c0b138f2c93707c0643b09e6bb8aa8a495eb39e6f694c19a08a910d74e0b61598e802f501d2d009d1b9481368349baaa36e4a90d08df7c1d44ec7e7de416e028cf916609ae1d524a0253bd23816b6719406a150359ec61f894bfa481dd82c778fcfdae1f946c157006cfb23f83ddc25b1e467f4579a332d9905562decf7d8df937652c8b3b4a9516ef910eb8b9adf957deb0073aff5027693152c6735b452bdda8dbe2f6042acf9f59cc4c42559664f6f3b6bc1d989ae4bb0baba7beb94545a1bc64818b0e1c12bd5b283420e165b8401fe75b19e85560dc34a8322242592c494ebf20067a711842c0e7a63f8085ebaac217eb554affad6e7db03d13dd9768b2d7794be950da0f31fe284518624299eda443b730669b5f114e46edccc2dc1605c9823d0e3d45e0d8ad0eb23b6ffcb77082e30bccb380ad12b299f1662b4e08d1849c586402e186ca7262b6650ecc447382bb71c6e967aef2d86d58a2cf8e179e335635c6193b83a8e8c69b11bb73ae58c6d48e1f65f4a2bb4787138d53de27bc1959f6f27b74331dbbd9b0fd8021dff05dd7b0f2c3c6cfb99dd580deccab8a44be08897c2cf4e57819cc9711d36b8e5fb3c1b89ce7cc8e83d781175eddf3a879e1c5a8b0dfe1b40ceba0b7bb59de6b3b459f29c5a25a946388e7f1427d628eb7a31ce4fe8a4e8c3326e34cc159cceb31b7610a166f2ae7a99093358ae98c39925ebee381ad2500b9425442c411d201b180308c102b4dbb3951390f5c1eaef2722b581607760a421fe2db46732e80fe44348ead917db099177ab86104316fd743b5c4b240ecc7fed815f091e79c7dad13c7be18adfe657123848b0756e452b4abb85be143a408d710c62ef5f47a9fdf0a33eda3e9ab258f79ce51c924fc77f5c9f1b401031a4693b15ab213997c086112c7ab8e9a81a0d831613d016d2e11ccb4648398baf53c62791086589f329c4d1f341893a0816a849fef2dbb92d3e01ad9426d341e33d1f6cd5b5c2e8138a661eb202ccb790dfbc1f71877caed99abd8877c68933ee78959d6db3fe383408f9fc6ffcb4f0800e1cec4708887a7ef6b555323d042128c4004265480bb281a56dc4eff610aea27867e2262432af2b9d16695f9d0021184554b95ebdb8c0473a025221734a8b9554078ffe24b7e6abb680f29385bc49892e875c7075d8393376f7a3820ade6b3ad02031c1a27696fa40dd713fb3c7fe6e142b649642949a0c7e44a2dbb77d293f0ccc267826e8a1ad88171c3136ea775244b5848c8b501f3db79e3c091e2da3188d0d043f115c4ef18bb134a9336cabd209630ecb4de7d123ed5d4084f0508630fa9516b6f58317beec3ade747859093ba193546fda89bee43a9a23dc8df01b9b16402823c8ee816195b2509c08dc9adac6cab9db95312afd62d54f3f06c82b54ac026105849b44c89551c2cd6dffffcb13c9b4035e6296c687d6f7f1c33a609be4f2047c86b86a9d331d9d3ff0e4d3581c1517731d42e554447b5a7c6cc4f218e1c74fab052b9c71befac6ab3559a234ab8c99d8b2ddbe7294024e9fb56cc5db13f5f1c91cc73923c238ce032ead76a0e11280191d2c00653b2f911485fee2db4cd8a6442559e5044bacb64967cf08635eb163129f255d1cd7bb4ee5d2a5d2ef63fedd81eda3ed26c956160fb9224033d4117abbc442c4558e0c6ef0b053d639c95efedf3d11d6c53ee1f20acb7127328c8eec38f906b64f9ac80f8b925bf9f3cc485467a829581ebff0f03a71dce33fc0c57f7173395a4471ca4aff00c333c841ef2b10a44053fe56a05609e506e2e94b349b96d6ee722eaeff9e89179fa73ef5c925b90cd7554c1b881f182981dbd0f0c5e6ef545a20bb89fde41a1ad8ee2ce1220458f1d083e725d2dd161b7c3a4513717e281e81be1bccd963a1bf0df045f4cdffe68621767ae469f6bbfce1634bbc3602699d2c10a422aaad581b90c3fcbbdd6e79714b1931d3778f2c5392ee5db82ab8e42d6b96ad660b6cf46dfaa3c908f165f62516c686696df43b89c9256cdeee3655030fd0d434ef1d0be4a3603e526f68da209e6cb5784ce92e35de0136cbb70f169ac1c3ee49d41c605721de1e59bff5a8eccfe0562809ccc5747df8768ee1ecd77bb74414536f95d98cf5648cd7caf3890656d2fe14e5ebd6199031889b7f3d76b74293b565214446e1dd554778220bfc57c258d174a27e228e5ee112f8ee97ca3f808f65696203081ba9e2ca16ded8945f5c2e77ce1d794ac78d36cbedf0a7a99afc4664ecd07a9edcbf5a9f69a40400380cae3fffbec28b441b51218f8c95327ac837701c4ac21266606153a5aec5cfe586c3015652c6c0591c62fa44bdb6a0239902f7e8606cba55a0b6fa0aff6693a1c892f00265665d644a9abe13319b9dda25f74fb90a09794997bf862d5337c4ac629e41921ab2927050b03a64ae3b298bd2c6c0c263a0a7ce8c7e00ceae12ca9c98b81d265960f2cd39155b7513ab1e81b2d26f3839eedefba3490b2698855ffd78766a05320ceacb1ac6d9b03c5d7689a0e721b408eaaaed66ad825b43465cd0f1968aa74b10659ca30b21c7e593e00d4d780d8e76f5034f3a900bef81349c68c82c254ed76b4277af8e1550d252824e461440a950cb5e0fa7a725925238c88be98e4f06ce5962b562ca383178d8e45c6f43ceff8d02ca8a33b97843d7a9a4c7db51e3d4662ac64bee232d305040210d25dced2a3ee5f70b33cc9f7e02c0515dcec1c1bbb360b1d881ea77ea11aa7b3af9b6b22dbb122f1920d48f339e39e671b6594f8b691635997ef9eb4d6e68c94e8511c8299136ba65d6fd78f031e708e978b0894abb95749b3ba362f1688ba133ce8da0b89ba40bb399ab75fcb26804536968b896311ea826ddee166af2dd1c0628e5d46cb1c0c314faae21852e9012247e2df5bcb534b5f6d9a9c35259342e0fd74a9422221fef549e412937e1c91909ec38c68c6ac82060913c1470632b302790bdeef99756fa92349dc6f43c6be1a76d85229467dd49a6b7c0e44d3fb53317a2e216a1dc817dbca00e96d562e0006a161bf12788274ca3b1d8eefba675f8bce42c39bc4453de5051148b00e126b15c884aff75d9f9fd31710322770a627af0edb9ca2837cf09ef3c8a46f2a1937b13792f13215c75ef2f020895c85927f203065cdaae6b5a48e212383bb232db3f2c0567ea200fbe75e8b70830037f99fce3fa5354d2db9044cfb0bc4b8f4ebcf3c7d034478c5626c959f625af25696e96b016fce881e098cad0b4298c8b6c03c36137a6a3ac664af9dc07de4d94d681303cb0833f26138af5a982bfa9b5e205ddb74dc5ffdb9022c7d2ab5131639d37a525ec5cdc9f1e62aa2ee08ea2a2d75cb485d19d629a31abaf504ea6c4326283307f385071902c7cb8bad4a683b893b1a21fce44d48bbffcb54eea35d0182b55242101f5d8be5a5f083191bcbf565cab9c50648ee5613ff8bb279e9e29aff517045d32a1403805a2f21ce7b7384f91b39b860a4d7a932ef53a15e78c4dda5db3a5705649ba223a6fcb1ede5dcc0dbfedfad9f9236e7de98c0611dc29a1cb28aebc2d76db19cd66302a826252c47a3a7d65557d82f7eaa4061d745306cd080736f5d9530017c45e9b55ac63b8d3bc23ac47dc076481cd79d9a92fca2773a337c9a89672d66cc114314445f8e0fafaa53a5f7edef640a722eb4b544096b30269d5111d47557936a956695d361817129c16613b1a29ffd0a09e4930293f4b90fd99f8045a05d3a6423bc9045305558773d52b799f35d91bdc330bfc84e7f5cf04924f0857ce10c4dfe5c1001566761bdb09a0f4705acaa8202090ad7848b97157584a85a7dda44d0bb15f94723ffad50e92a08f38a263808d04366582e072595103654d8803b9912aa41ac8ba63ecbdb99a5ad155dc1338f33837290c815144ea07fdb6e9c2a66515eb638ddeb14c9be9fea44ce98c61bd7677eff96d8756b4931048dcab53d24a0f1fd2d2c132113b1b1441d221f9314a303f2728ea4d5c8ddfc717cac2f0204687b5e9676545508e159504ea2f5416107c94dd7c7117de446cb33a3267b9386aa26026b917eb0048278998a05a33168134028452cbe17bdf74f96098de491b9e5591c7c14076de6f356581a4edb548fb996e8738508f533d0cc761da91030f8f7cfd59fef784c1fb2c15b67f988e5af5e3ed1f0a3c1483d38a715ab7d1fbbe8faa1b59c70c0401ff11e19439551a6c4b0bc60492d4e7d55fa473f8163f8914e069908ea199704eedd8dc2b2c29a4cae4e398a8ce6244544c7b8b3366bd6432eaa416535e20f010ea8664db2703fe88b97d332179d6c5b812eaf6126657c599b06427ef0544335c97828f64c9b656848c4eea129210bd37b753a9de03d9b19de64ee6aacfb993a97560c061313b0c7213492fd7d682e002d5740fdcf75fb20588d2923b129bee5299c9c51e6411089ad3936d9f624560dc4aa2f2d8ca3b14d097b575607b1f5ae00b127d97dc027a527b1af79b5b8c9d161ef4cb10c552610667a4f6d02715007ffe0faf744cc464fbf55ec17e23ad54c52cf2ad2ccd48059ea907a639d4b5f464db08648aadb46ffb0e4fd32b2a846f60c28c82e92e97d41b31663aade94645478b156cff09bb106a1c9d4530e4824e3b47251d8785ae7ed300dfc9d648a785a9a944bccf215efe664b88af4d26fb0cba3ca39ce9186cab0ec6ce137536bd8d9c102a525ad73d54c2f93d7f6c08618aa86864343cb430bc9cc44af8d87c69b4f94c840c318363e099cec9aec1ab094232bcea27a1797e62b044d0a8eee2d05e347294cb62bb6292234add65e456a939605ae27224563ebb89e1509b983edecdf1bf1086e499a19dd369a83eab81b1af08a5c29dbc336e1c737747428be1850ebf9143462d67f561e4f4f7bb4a0cd9a458bb8d2c15d927787286ac2de8e08c4e526d3b476378baed8e9a36040ba73dd8df4f50e6764388cd646ad44ee71d15b5dca28a5f480f3fdb5657b79612005b50f05ae4058baef9fbd065e9ba3c346ada37d91a270bb4c037515b30bbfd0039ee030e735ef2af1e4a48a17ab8a198699ccb44272c95e82b7c9d168f4347e474b60ab22eb8756ae1d8c9d28d92443e6b2230ca00f641704c7132e7ff276b2201412bc938114ceb276b1b31098d13990a22b1c6e8231547a5777a9c52120b306865b38885d0b47c60b5bff17847d12b7b7c84a2f928149e2b7b5e0c128172ca5bb8bfee311071360f4a897d417d1308e37bb3d2a8ec996563631a017ef8ef894429bb4d8a6389564c5d53d155e0324ef85284a30173a8021d05a2e4802a4f11184c2284e04bce3f718dc80899f951e32d8c7576ca42cd4d343ce9be0c672fbe63786d122ffd52e5f7cc7b082f7c751a59ea381c3193bb59bb5dc070cbf821a31ae6e95348642d104fa59ebce2af7623a4f08a08298af8230b03c2c08163d57c29863f0099f5282a14ffc3754500c5a7a7d83f293722e1997f3301cacc3f2406065b6930c1f419f3484748c72cf25a8ab7e1ff0027f4d61593a056d35c0fba03998b04910f7a93a9b21fd2cb669c165f6c20ae3cc21a338086796c084e635d24773c72aa8de841b0b73f4d72707643d09165ff3f77d535e7159e143d3c44f59218233731c8d341780c6906a8982e88e354b22cb4990666d56b0f89e344e20cd8098336a86e6720ee2a96700d2d273edea5fa3b8b9c4f4c20aa0b4b058627eceaa2e5ff9b55904d478a6ab18df020c9a78846276a131889091ea7bdc09061fbf074f05151876283c1fa572d84b4e59c10537aba726e5e5f31970ee034fc701308a77633aeaf1063d5c2a567c444fc8624e387eb5e53d4b3062cee4f3196cfdefbea8fd557659521a5d9d92466a11d27d7db63fde155404ac037e93fc061cb5a93cac1246605a4675401755780903ba9b0bf8a9c1fbe4bfec400711d105a9403896ef9319ff8020c851c27d3e0d99d704eff2a3057dc7f10e3efb35dfac18aee0b821a326661f394e8711625a5bedc59c173160fc87a7b94b26dd12b84a6e061daf205393cb29aa8583d893bca07ef5a582e1fcda96ffbc122dceb3da2fe5064bc3b7976d63e3d9952a686ca6652958cf2604ba05fa9dc715cb5c7389c38b4a18c1bbee06dd4b877808247018d886534beee9c98b2779625c9e2208cb2d48b9eeb15af23a063a2806a979d26797b07bad2bcd783db7d92b62c746c1a01f3df2958a8db89a6d1cbc99c6beea968cdd8fe182747548199c5940187a6c52fb68afc5a4407054acac0cbd1f0a3f4da12e46843534452c212790cb5c089b94889caf6177b24e4114ae4bab32dd51d7fa1ce826b723b06ea80e2d889dceb3874fd32136f2a55ff9d6a8aaadd8aa3825b824db931c4f2cb072b09c6110945428a00dd2f40768dbba0963559db3a8216658a3fd81304112035f6c04bea036f948caf19409c17372f9aaeda6be5b3c1fc5563f7681710d29106c0c182a6b224f5ef905a6fbce5497827c434f4b47c62d43ea2798fb37be68b63058bfdae58d89e2c6391c601295008921db9c77150666d5ea7cbb604f314ea9064e4788878c14696e814b76b0085e52421d2ee7d2f29bd7aa18e716c23de51cd06cab40629897d92210252783f90481c3a7966f067e6179fbb5009af9002e03e54116456f1a63297c6af55cf8f3b126e5cc0b3d9e481eca8436d46680a602d4c7232b3ead3273a9691cb1145777f84fe4b64f62c612920ceed8a07a4218eab47135bd95118c7300d535d9a4e7780ce535dd5f4a37a3777572fd84715ecb836732c61075d419cc6877d045a019ecba04fe1504b40c54205e19a7033d867cddceeb494e95d91d8d33273d9aa1beb99c3eb5515c8bd19932d2c7f707e2a93e0ea88493c20182f10a8c98af7a86e15000bedd9ed5be183ccdef25a39f29b78b413eda7bef2db79432a52403d50cab0c6d0c7fe349a65a38206d2f2861a82e42f8452ff2aee8f98fd89229c7f725b51926a82b3e3086abf19a37a1de78e293932e1d08d34ffa4b7ff821c67f1da5b5865e3c842fdc3673a51ec1216c73786dea9b92aa5eaacb498fbeefbf56904694054893e3856d1d7fabe51c66c7db5028f4b786fed2d0d3874c02a2628b70175a8fce65f4437c8fb79dcbc833b2001f2fc40b61475fc4ff783bf29200f2427c01be8737c4f7f81e0e44f2767897eaf06eb55a115d901775920563fa7374f20a18d32f43860c21ba200fa413e28be8a48fc3f48b3ace02f1644a884e06e9e40aa8de0934819c3453b4867e02c5130c1cd499b2fdd7e95ad2a31cdf7ff1e0da81343b2e1c409a2072104d39e01cbd001f0fe421b7009b17e221a7847d201e143fbcebe430ad448f17c283c24589215e8817c283a200de3584e7227201c2417c4f0183934dd7400b299b23363dde479fea8d974e8e26eaa0d546231d39baced9d110725cef709cb69a6f3b3a1eafa3abf91c1dcd8b3ab6d1e4a44bc76172c035f11479c0353275fdad3407b65f0b62e3d1350e8ce9afe93a497ffd345de7f4d71f44c7f6d2c1fa658a6b5a059ca3bf618e0b760a82e8a01d351218d3efd24c604c7b2ea21fe27be4d8213adaa477f48b3ccad35fff8c13d4cb3eb645d7c9bb74cc5067fcbd746648320ed38fe32f8df95bad00fe86ec0c97bf37ec8c1cdf311ee66f08007fab8d1180bfd4c678d8a4259ea7f448c7f777a947a26fd2f70e48337a020ce02f5591f9db76658773f4af3c84d06526c70ff150c838f9018ecd10df83d4ede8607f40bc364407054bd1e408269b2868cba68a1dafede874b0ab8cbc1d5d8f9b941da2933fa8018e8d8e4ed49f7c203a13efc86ff904e801b47c19deb1fd39ba06c018f9324e72005cc249381a467ec32956be8b7c017837243fc6bb553e0e4f87951f00ef52f900f06eb5309efc1de0132b9fc66bdab5fde05db63f88de477fa2eeeb4f7e6fe33f0f72407878ff1f3a22a267ebc37df0be874ed45fbfa83b6279e8ae136efdbdefd1b928d1e3877897213c280af09303201b287a7c1432a0c0c1a60aff1edfe3b324f5622acf7b29f55e3ad74e8fba27e2757a64e3fbafd38d0eda6bc706119d8b7bf1641397344c7f68552fe95d3afdf587b050e7df4b67013edebe730bb0f921de39257afc101e143c032fb401c8a6c7fbf01a1db4b683362fdd11ebd2dd1b7687ee3e8dee7eb64717ea2e8432a3bb5d04db2fa3bbb20cb63f467771b45c3a17427971e95cafdd757bdbc708abf473ddbdb460fb37d91991f6c653b3c0f663ec6344fae87c7c0184781fafcdce9fb921fc3ea5df0b65bbbf3f86941002470a948d8d47c40f61f3447843d8d8bc8d77a16c076d7a74d0c647013c217a7c8f8bc7f6a583adb623353d0029a64f8d6161ea0c2b5355794274c31988a0aa9985a933f480c91970408433e49c014793317a14b9777b948384a2eeee769fda08344dbac7eefeee6eef6fb48e4ef4ee7deedeeed4bdbb1b4692eeae5a547e8fa3c8ccdcdd1a179ad6e9f0c15e97afa53f785da8c52c947132165626b7695dc622334cc3324ddb326cce391f10a5ab40f267523af8c91e183067f700ebcf92030c3f092f1550ee47cce0275fc588f5993d61fd39caf901eb120453723d1ab747392f8a65dac6a9ac4c6ed384fc4a659119a66199a66d1914182724b2bcd84234dc9d5fc0d83a48e30f5fa443066234a4ccb81f52a61fe380b495814314f216c6461d0a185b86786c81341ec2a94c6dd649f849ec7200f34b0806b955a807f9bab81f2e245a2dc606214d63ac3225b256a2af5fa667d4602f4cb5d80b7b3a64833368a185106280ca42caa69ff65718d8fe961e71b6ff470756ca77388a251be3e7246a0627d6a960d3502fb5a1992a16c06d2802154af4af87623ebdbc289a8b2638a5397f7a6cc3aff5a0decf72af56f06c862612aa884802d2402ba5c4400cd24005313441093140828de4823dc28315544183a036705102948d7ce2048b134c2ba594b2c6a05e999fb00b9bbd2f6590811065f08219aad8a18b7aab8c8e2ba260e516785828a59440505969e5cf1021439561aca15efa43afebba4a24883c93042df095bc220631b8aeab256402a008e915403095c0748511707e9420a80573818c416db13005052c640fa0c0c5a9070562e889c17c43cf0ee60a7a7e20bace98d7288f3693206c190569b866026918d2bcb0f19ba7474d7a44dfc5509b71d8d45f7c1a2aa8b751b65129b0f15fc053031b63efc0462430668609187571d8cb3e3d42511a71c4ae33caf8ed13ba42bd1c9f9949ff9390936e62e353bf60a05181b5bbbbbbbb7bdd1ebbefaec88aa4c122dd605f82b7c96e2c35d992a5d4bbfd31ebaaa08f7552ac74f74889883ff5ee91520988ff944fbbcbbbd373e2b212fbd82efed1a561f843ab1a0a61a1326de98246d96bceebbaaeebbaaeebbafaba1a49fc0b753dfb3014fa97bce4252f79cd6b5ef39a8cfd10b63448bc9efb1a42bfbfff886dfafdeddd7efa47e8755dd7753dadfd5d0f45975c6950a4f1e851439a17d69f93401a68fd3987956834c850b9674a5da3c1aa977118c7dd330b9f074cc96c332da9179568d538accac35679a8f22a2afd59150af488024f4476b2fc7db1736b128c9f1960e9b80ef6b7d595cb520a3041df47677f1987c62e034eda1aa6fbbd7ff3bad4afe2ce2a688eeb327b61dc9c73ce39e7f4386ebe8fbeaeab44afe7ba222b33dddd507bae53f1eefc6b5ecd73e2b2f42f4b334ed21fd651c1f294e525d04cb0744e344cb44c3829d20c845695734258a8b2fb1a00631a8ac1f6c7e1d970061c2d0b0d8a6e5f0fafcb89006328a52c0498833efc26514a71c018fa3e3ae430f495f030d4cba84ec1771590463efda6bd034bbb0696f60b2c7dfe41d1671f86d2a3ec29f6df37a129558aa55128adb5ef6b58778f1409026df643d8621eed6f86132a03610b637fcc840bc259f7180563e8cf7042757b1935247b77f13f625d8464d73ffb2316723fda85f6479f527a3f4be967cefdc8bcda1ffdec5fb2f742fdd10f99a18aa847a45163a0d49990218abdff4eaa950c6730010b7e94500e238550592c4c91e1894826a29a0312df3d163a3cf4206477f7c836c61863fcc177ee1c9f3aa594bec728319718bd62c4e835e51c983cbcae0bbb1e6231f608be348c347b0843eef50c6bf5c1940feb59a7c3bde8a3bf7edac9ccf0e8af3fd47f3f1c1b1db61f70e58348297f4d8265fed00b3fb422c6de973120b13cac3f1d83cafa875260fd9b74c4a67f70a3a05aea2386292fa2400031486185185436be7cf1041cf66e504c367ea450bc60e3c73aa788c20e5680062ed4610e279b2d48a10748881c8627231d14f6e56127aa542aa160d22ad323153b7f868829032f34ea1116ad002f0e00d8abe3c20b9dd80b9f78610752f042142fc4c1870936fef70514d8f8325fc8828d3f3382a92fd0c146304cc1c64fa24730158624363efba8e1c2225ed76572c1755dd745441d82fcbabc40037b5dd745441739528a2ca0c0b2210b5351a0814c6361053250810af99a7fe45a477f3332fdf18b0b8c1bc3d842bdd472e47e5001df73e98736a28661977eb6327f656c5dd9e0d2b29dfeac68e96f7eed6f7ea8bff9aee39deff849fbeba7febe69afeb38896dba6999fb117a42f5d776a2c961260f64167e93939a758415325050a3c9496d333ff2409a1976fe1a6e44829d6f063bdfc56abe69dc491be4b2fc5777594d6e2f58a8b30b51acdbcbac78ead1dd503dba9407a847d77546500b3d82a92e34b1ac962cd8eb4d8c40028eb69f3f048e567e3e8e4ff40a802436c938895345b073328a0e0f87d01aaa19c2f0500a767e77cdea28dd4a5d3f67d8eb3a339c876b1c09e7987fbd7b1e6c9aeb49b0f3d9e4dcdf986fce49e7af306b0912ae711cc01cf3a77f21e6899ddfdefd9cbc37b1737bf72ed5018c7115d8e9b6a5d8d9393b33fbc5d16ba0fe6690fde96f76cb93b80e8c99efa3216539a2c727a7bff92a9ee3f407872580010bce04757e4ff1528f6e9a354375a761e6cfef9593aae74b1a66fef4607fdbfcf9ae0321cb1156e8f407add67d7ff3b3bf3ab6daa49d88e36eea759df9bed3f3676b899dff228db921d48bf0bb1e7e972d0285a5d4e3567f935956e0f407797e6dd9e96fbe9f30cf75a275b1ef3b4d7254a954a281cd7cd7e9d135f2d18511c00fda3b830e150e10065a1f5c58038481f6b258a86cb748a1687a44e42aeb17505881b00b022d0b94ca7f5f9c2df4fe497d71b1dbb78cedeeda5f87980d714219efa3350bafe0032858e82c473ca175051f1cc176008aee40d30eaac450f9d835b182eff0dde43e9e63a1e47e7006fa7b4afd69b7f7cb8e2daa3ff8a79cfea092febc9bdf1cffeca74cdf3b2a4a51742825946c68ec3a94124a1672433a86a78123f6029965cf891f2a5ee3dcd4eb25ce7118f894e6700ee73c2fb1f0f9d9e39dfeb8cf9832d19f04fa83cccc74aea047811b7ae18ab7557ff0497f5cc75686a93aa959f46a168d2be0bbcf0e6e6a2ff507fda63fc852d2a3db3816be977ce8ca61a0a549522d0f57b4ded07f30db029cc375401aedc6eef6687ffde31fbb3924a2c7bdd94641ed6f612dc75203b0fcbeca4a2a07b20e84e5bfd81364bc3854b9e98034fd906d0f0badb082857787853fa3b58c17074dcef8d146fe6c85006e002b4a101b4cb6da7edffea3a9c2fe2894494206c60eb262fbbd558e032124411a02808d34f4e31cd1e127e37f5272162ceb5b8f9aa03ca8ccd0e260dfa2ba0091375af66e137c63fb2112ec156187622fc5c1a68e268091c61a43d1b9f697dc8ffec91de00890b7ee1ecee5820dc7ca6d855453bfaebaaf0cc9711c46aaf8c961e4c3f628e745b14cdb389595ca12535683d11243c68c108d1d5c5e6ad8b8f11de49c0a535058d9ebdf6a3c6c3c70427ab0dca4bf154dc4a2cd4fb4861ea5a13426adf9b0d574daca617c98a0fa93cf834271329850af66d24c3df297af216952cd4b14a471d758dacf9c73faf0730260c2fc9c73ceefe79c99ff73ce396ffc9ca4e9fd9c73ceeee71ccd979f73cee9f273ee98367ece39678d9f53c70cfd9c73ce193f271073879f73ce49e3e724c06cf939e79c307ece014c193fe79c33c6cf29335ffc9c73ceece7cc31f9e79c733e2711c09c73ce193367ff64f9597fce39278e39e79c53fb39ff0bc09c738aa668ce39bf85fb3179e8e18719d268870e20083000991c0288c111001f443e88001003668aef071f7a10f100e36f68afddd05e785c9769d96737328de56573c9b2ec2573c9b26a43ab9165d94be692652ba16c4696a9ec402334836ba130543f2a956a9371c538f5b4c0d05e4c914d9329e329aac45a34eb56ab553faaa96a55e6b160b5d69e1a8db4a757bbb6da75a948dadc6caba2bdfc067212cdcb9fb46b3a37398c64411ab7f2b58f3b4df2566b09932696fba8d323d1731f6b006be20dccdf7803cb7d540269bee73e969a144da66832451c53cc99d2a31fb680357167f4d7e91004696e4069523c9d7e4e514e527c7a64830bb026f6ecf8eb5e7802693a9e2645952aa57295af2cf7cea447ffdcbb10604dfcd1f1d78960b97714a47179ee3d499362cb95f80ef78ed3a31d9e7b4f01ac913740fcf51558ee1d09a4a901d42469320599bc647253941ebd60016be40e01fef61a5a9066869326c9d3e9c909cae947d5231956c01ad93380bf2d851e4843e3d424a952a1543cdcf74e8f42cf7de300d6c81f1d58ee5b07d2c078eefba649b2d5485a9de4b612cb512e60cdbcc9f197bb98026962b09a344da69609c81464b9962fc09ab92380bf1c06cbcde7e6e9c43d2727dc330f1701d6cc1ece2163b8672690e6c573cf394d9a2a15eba84e2a94e55870fc651758ee9905b066fe38d1a43905890dc05fe806cbbd0560cd75c3cf7d069a803457abb24cdc27d1a4cbe4301200dc0b8135d70ee7900f7b4e3c4edce368d275e2be0848139ffbaf472aefc3df1f2cf735e4fd75cb7d0fb0e6ea11419a265d2a8791cf71cfb0e6fae11cf239ee7de07e70290de530f27930f560dae11a6dc968e7e424cd144fa7530fd768a71d3d2a2765ad96aaa56aa9acfcf8c335da8d8ef863e5c7969332952ab654b1a58aad1baec97e80b83139293b9d4c27d3c9b4c335590f01764e4eca4ca7d3a9876bb29d01f4a89c84b55aaa96aa257fb826bb912d27612a956ca9644b255b375c83fde4b83139093b9d4c27d3c9b4c335588f00764e4ec24ca7d3a9876bb09d981e959368aba56aa95a2a2b7ffe700d768363fe58f9b3e524aa52cd966ab654b375c335f42700372627d1d3c974329d4c3b5c437b00b07372123551d3e964e55f3d5c4377d8871e2b2f4aab4afbf9e11a7ac3395af1c6f36edb7bfdd8f7d67bcb5b305ebcb1f2fd5bf94143694b7ce8c113f1e079da122bbf871b2a364c27cda49dac7c51c77d4bbbb9d1b2d16a6937563e0f2edb0eaa1f17d50e2ad58f95efd5d05eb2538f4b76da213b65a71e2bbf9b91c9c84cd9ce8ccc242333719929dbb1f29f06166a6537335a325a5c2bbbb1f26fc0a054f50343c5a9a8eac7cab711e36ac14e588f77b75288f36ea87aa71e2bbfc69c8e9976301366c24c3b56fecb0bc9425bd8cd566ab5680bbb71cb27a8d15ef7a1aa1faa52a97eac7c2d73b958ca1e4a4fdea9c7cad7b01da2e4557fb22d35ed5013355113f576da6a2aa1aae1d068e95deeb95a4ed24cf4866b321563de0d856abd5a3756f6d44efb69652aaed1ae8039e49742d5cd006364a6b2f2431c90b62b5e34d598b56c5bec7d9ce5507ac458932605c12a76f26df17e1fe3c9646a8dd59ffc954efbd15a262769511a46fe142b359326c54a93951a0bc6c86f1b4d75cb5a567ed6caa264401acaa186821a0a6a282b44d460363f3909bee3388ec6a235e4a7eb272b5f5be91c7efd2add058db085395a8330fd5263030cca05797b71de16f5fa7ef9ccd3232e8897efbda15e2a8278ecb167cf4884b383560bc0167bc437f4692c870940f4e6004895cd731112edf6d16e9ed675507ff269ba9ed230f26433f998fc203a6ed230f269c73d1dab3a76d29f7ce6342096cb9734f41e359695d63dbfe94ffea6a3d9043b3f6a7862610a8b94ad16a6b040412c94532f4cf920a208587ba47df6ccc97c2f9d8ae4baad8bfd514d931886612f3a62af670ef6774d97e9d5953b418310c2485b628caea499fde5c34e42f81a2ce2034a992a0253d6bdebc34ec80191ef3f23b50629547650234c95ecf488484f726b41ebd7567e58f8a32d148960ccca0f8f8bea1fc4b9a1db23cdac050d4ec999b293b2fd748862db73a2ed0642d6895091bebaa843c91a8150684294229458986a4312abadb4e5872318a3082a4cb501c8c2541b5ab639863bdcb66c19c630d6d9a8a230267e4c418dae4334135f06d2b48dafc4129006da2839367b8e164bb5bf5fb426d46e936d246d42f2847bfa53c9872b0b9f58967fe1136629a59452ca18e79c91275f24f869f94071b24af530e1392d51a283938483a6440162fd3cf15139e1c171089a063b6e517f17d0b415c6e1900ae9c13a17c44772abe88031150d350810af557806c6c0afde1ca34b41e3d798bb472071d8498f2e6f0eb59f8e8cc42fc2ffe1b83c48d93b37247ee651ed559833e2c5b990f67189534ac5ca672b1fbb225194ece5ab6aa97c5705f938c47b6ee6b9642fbd2df3287da2c88aa5cff90a8ab75c4a0949ce0eaa89ea092b468941373d6aebafad7437556c5f82b7a922c6f7f9d1bb9ed5543849fff60627767b8d1be23dfdb578aeeaa0c5b85a862aa48d04e1b618cc71b5213d2404aa1e6defbf79dee3dd27d85e6f6862e7c69c112bd73312fdd70f577916608c635e1176557f90a55489ff33043646cf5730c6eb9494f7a87a0425ced6b40a0d8a2e5dd996d224bad330fd714a9c727383048965994426b1ecf120821a81ec75941b7c2c7c8285293724b19a4be1280faa973ab1fdd4498f1cf5cd05a1d63d2aa30a953727f63acab6652f4ee9afb5a88ea2abee8ea2d108d4a32b46af8b479cf9041ad08a947addc7764f7fde2aeb9d8231ee27874140dbc4ef8716be0c14d4db297fd25f7cff1ddabb8eb2ce21c06da2e7271954d44b53dc8db242174ed42025d2fe0bd22bc6cb8bd26b4246f9d133126d139fede702133686427f034208a3e7cc453b374308b9bb682184902fdbfe48dceca91a54fdb92daaffa531ba8cfd39741f49030500037efd5734aa5f231c391c51c81d725285387a839f94ef5d849fec1b107efc0ee36b8f6ac08fff6b1122b2ff82026e0fcab08009eb905e13bebcdc3b27a4853e3a7631c628a5ecc2a04191a6514ab7960df3fe074ba91136edc0d57d9c10fa7df3b451ccd2a9d4ceb2f44415afa03881d563d906a7e505cb4df88f1a3d503b6823b5ccc5d7b487d1af50b9878ffd8be71830be080a5594575ed3a426e3ecae399d90ff041fb13e7afbd96d2f3b6859bafb9685c6730cefd219214a6778ecc35758b65f7996afb5837393dff289e517969f7d9e00c44c7a04534f822c9b985596bd14051ab00654c565289699e7082b9cf84031f588b52044762aef1d15327ea5f35ca48ae7229f5de843db9fa5a06e1ea33c3e71cf0a0e4b000316481ac6b4030fd8b4619dcb7c5a5bb22c247f2864452f3d1cad4d6e087f069aa0408fda7311320340043bff089ffae3b762beec9e7059808ca762c6f7b849cde8647851c87819afcd213d6eb8c74dca727b54947adca46ca290e155d15fc5fc2332ba2aba5f76d21a015f874c7fccccef3fa437a3867a672cbf86f99099821b2021a386926d8f91b0a93f9e43858cb11cd113d41f248281ea13ae80ad7abc7df85a8ffc1fc61aaa7785266e3b686304fffc97ce65c8cbfbbf3cb4ce0969fbf2f3c6c7771132df06119d9452dab061c3868db7f1f21f723ffe7db43b0d569d2422fe00d0faf090bbf15e0fccfd9003089feeef5bbe77a28ec80f0f6d0442e6e82e0e2b5ff3c187ae6d8deeb2adf11f0bc8fe7f3e10a69fd2f6a9b5d6fa1ae921f763c7e84677d9de88a7f6794a6b65791f206ebfd72494fe9aa589ba1926d011793d3fa48a0b124ff1498fbeb804d244181a0c0d86064383f1da169c90ea3dc196c5bb6c573884f54ab7650269ba5ba77bbabbfb85fbd12a1d13fd5d0fd4026a62351c98e6de72c632eb6fb47d8343a2bdbb2564c5ae7f726c3936fec12ea9c7840d4e48f49e602b3d0ac096b719aed0362f79c865b6d83ffd5dcd8a81abe24dc790928e4922127bbd7391fdf53e05d26c4fe2957761afbefaba1ccaf527dcf5fca47a973251830810fd504a7f17841e101b772e8361da0d2cc3b497ecb125da68e3ce55a1cfdeb061a3bbbbdbdd835f8343227ebf704362f428cb572c95535a2baf7835b3f9b4b05e5af6fa2b02b2d7b5f288358661b447997719890ccb56fd95fef7451dd7eb78e273a89a8e6d766ceaeffa171d97ba288d38516d0460ccf51080392e0e39a989dbac967909458f71647042d8e31cad477366dd6a16fd10e5c1d23cd83fad189c90a9c46a4f9158ecb9f78c6e1be63a66200db451fe27f35fe87de5aaae180d8c87ab56b0f7bf2ad755dcbb278313a2e25d95df90c09ef39e604bdab06ed2ae59fd5db759abf7d270510f83db634f444bbfc88aa53f372f7bd7bc5be141f5203f0f25f44487479358e793f92e91bae4be7d0c0e89cce3d1a322f788a888267098f8f0149d9e6e21413df1a0a8e405f763d2ae8543827a5c8e8ece7c2fdde0f4773d0b2764aa782419bffefb0f856a85ae8a32a8b7353e411ab6d76f7fb907f6058704fdd6e9d1b6736251e16a657d1d27e19ccd55ae52a9e86f7ffb378f71384f8513a2759cd37192284565a24bb147924793987098eb7b809cc0a027257bbde967c64343bd8cc3d2732730e67aef5c95730524318461411afad73f0d1a2c2c7e9b10599727a2ed2fb2629b3eedefe290d0bcedf65721d9777b44348f73a8c7499a71182747a34d293f9961ad583e90c5c2285090e59efbf69e6020f455beb97eaad239c196eb8ed3d93a1d30a65febbabbc3360f4ee7720f76ee8c0ea35e784429566d5dea9b36f530af766117766117a675dec528457527ae8234d05ef47aca052152fbbb2817a43d229a4781feae77826de649a0bfeba9e7b52a133dcafe7a09f488f2aa5fcb2eaf2e7fc15efc84759ca483f65427a18750aee7959362c3f46fb45f42a2efbf5e1b6d99fc273a1927f54fc35c1fc55e7f5dd7755d7f5dfed33312fbba324e887b4fb06d6feb3c4694853c44218f68ad0128683088ba0245524a22d2359644a4fc4b5e44e4b78f96d1c62967cb1e5dfe6e4ae5352507633a9721fdf2a547645edf9076442612bdcd48b9a8f0299c0ee3b56465e35f51e6f37c9ecf516c3fcb4fb16f7d8b7a310e88b48ff1f4a7394ec4a9db5fff1da5498de330b15148427e53a7a401d218c19e01d63413ce11b18fdf3f90867efcadeb54f3e838c93d28a0f04294c571dc882b8530f5e9acc909e19fee3efd09b6d3c3d19f7b2fdd01d80b4152b3204cfc1606646307d948a4bfbd4e414ee24c6cfc7626fdc56ecf71604ca4a9342cdf3cdc10f7426059585ee32768fdf6aec8487deeb7ce09b61bd76daff1f3f78843a2b3fc5147e7edfc189a734eef6dfca8c483604c84f74695fe6c6faf827a6523c729401aff785df786bd5660acc080e1bdf8e9b66aef46d8cace08bfe86e6391ead195dff59950e5777f37a1a72a3f76a77ad4a9e6e92fb5a4b2b0b0789dba789b1de45961421308633ad55fe4ed2f8cfbb11de088bdbc6d738249119858fe06b2be21c192d8c84a6e1a26b2db5a371530f0c413f7f1631590868bca352d021e27514fad4c51a1bdd13ec11ab7ca3d4264e59d60bbf16fb5a322c6cbee35eee45fe95df614c7bf414ff16fbff2ded39f4e17771a263eaf78aef2140e774464df98b2da6bb32bb2d26c296784bb3be738cc8c83a364e52b9c24de457501e2b6087761a988f131bcd8ac3740b1d75737ea38ab4730f5862411d5f17d15df9f34896de2f554ece9d1f5948d5115e430f14b4bbc8863637c0f8b7a3de529efe911fcf8ae6ad8d083bcdb833ce8453da5a574141b5f53d95438213dc47e8d77fa8bddb1a7bf1875604c844125e2ef045bfe1be4245f394c908def393d22e2389ea4474a204d0db4cdbb8c59d9dfab7ed25ffcf629d5dbaa95ceca274ad740fdc5c6c2c6f6fa27ee74d4fe4537ea6cfdd331be28f4d2d29bd556b64e756b50c5df47f3895936de171b3fde90d63194fe96f029eb1aeb9ad5f50f8c891da599704d9f01e6881f1dc9fb4d684a6d29310d6d041b5ff3dc506fd4b13dba1e75200d0e204d13f1535764c5ce77be42117a2c7ff75b5fb2d5d95d2c6a7ceac8304a15243d8a3a0e133f7e1faa317ed4893b90067673bf6833ba9b766d99e3527fa1fee22988b4df9fb4e91bdb326f44cf8c8accf7f1628b7a1129323d223c2cbf7b5ce825b2b48c4ee869f5627f26d06045437d596908d2b49dcf2346af88ee000fbb22a48bf480482047ac8c5e448f200d083b0833000839e8c1ee4629578cdd95b1d193e92f3e841f2dbce26f31c618a35b0963ca0dadf93fbf8803505a5daeea6d51e397eac00c65600c7cae4fea0dd99b2a8cb02de2752859d9a2c18e7a5764bfc42e43aae5af368a9275226e7e99b0f0a98c436ef71927b71b2210e6fc3548bd0bd2f682f06a16c6e89e0c373163ddbb0bcc5822d96faf715784f5ff416b7f2d0f638917fc2cfc754505c2f073dfc29bbf77d9bfe8b8afdd0d59ee573a95ee52cb794678f3422f5d1333167a1f5950437cd32325fa63d3f76ff2c9d2502f7c7e68196aff403db418b2d8ffea5882e38f6c993fa471f72aa81ce445f382ea11e6696ed21ffbc38e793817f68030337c3fc01148dfb91f4ce9d71991d4fbfa934bc808c578d912360cb5734646668a9def52e08d4eecfc08674adb360e48db39e79cd32d7b170a3b63f3f439a1173f4afbfbae90cbdf284b4bca0d257bbf4f4ae8631bda953464efd97bf67ebdf682caef7ff9e5975f57369fafefebafebd234d79cbb298623fbebb54cfb3b007bbd9665da5ffed96b5aa665d93fc136f37050f760841e507d56829c734e39a57c29a594f2a75c4195524a29e59c720657e0b93982942bf024b1dab7f682fac1ff9cc6fe9844314ac37a6ca8f2a30beae7244aa7a7655d67cd1da42ca2feb0ff70c8401a2ec24003b0f35f7b4dbea6317f77dd95434456f3a0c656f370f4c75ed61dc0f3d81ed005c7403d320365a1c1f8fc196403cbc2141b7cacd65b084aead66c2d2f580b27080b5fc70ca4a14317f0935240188963f96f0c8902ee00528280fa73625b5abc1b4f36ded8a0172fbceb2cab4a03cb67d5c4d62a855bb9a1c5f25151f16eafec490a291ed412bb6dde6d93f5d102a8c5ca38655989bd585d0401b528e5f1c24a959af08995b13259a98a30a0ccfa5fcdc2afa19cc3ff6216c62ac00f0bf0e3b80508e3cf8a430c0367802376ca1e7ba3cab25bc8c554ac0124cd28e06fdc4102fec62a10f0371621897ef1fdbe05243181c4df288223fec61318f137b2e0000d830b90c4a6217f5d0c06f8eb6710f2d7d9504457214012a382fc752400f9eb4ef8f1d7a740c4b37cbfa70092d86788bffe029bbf5e03fbd777e0a355b080a42e15e06f6721c4dfdea2c75f17018f5eb10292fa54f3b7ad40f3b7b910c4df16c3ccdffee98134dbf7370e20a957a4bfdd83d1df1642234147735c40520701f1b749d029e817c8f41720c975723463613b06476bdf5f7ec256b06c052fc1f6731120c9550ee3a2bf8ce21e58c6c10ffdcc02487220fa8df1c024e8fe422e2c004931c761fc5f1a5e61e11760166cbf10488aa92620cdfcfe2220cdf50d7b7aec8869a1619bc53666fb7b80a42882349084b5b81f3de35401dea50940c0cc0c9642c2bbf408ef5623bc0378f786c5728678971ac0bb558809f3ee0d0a14c4bb148877eb0f1490f527c2bb372c550de15d6ae3dd6ad9c7df07fb509d0278970ae1dddaa3e4cfa37472d21554e35d4ae3dd1ac429c8facf78f786bd5624efd29177eb8e5ee9f0ee0dbf4e40789712c0bb7500de0df9cb78f7c695c3bb5400dead313a57c9fae3503969fa38909326ad302a1febffa97ef02ef5c1bbb507079a28eb2f72a01c274d9364f1e0dd1b9e77435d4ece0def521bdead35628a65fd5fbc7bc3de98b2fe9147ba78f786f468441eeb1ff2e80cef52199ef4aec4b9a1bdf8e143352a894a6060298c0c980fb6c2541ee44130bab62f2a96831d014361274cc79ff81316206c0598092b05a1503086db56551a583e2b47e248600cd569020fead46ac11856d982680c280e35d152f7740f77ad2e375cad8b75f9b44eeb705ddbad6bab652729a4785053a66857e9bac19573e15c261f9fae6dd6b5d5a88f16402d161326d8444d2c4cd54c4d1ec6611c18c36d69d7569bd334a9983a3367e24469e262751104d482aa22600cb79d3c5e58a9525764453086b1168cf197384ec2b0c84c41c84470dac2fa5fa9633d8b88a4f6c398b8c126612d1e142359f85bcb27c25183a5028db257a6595246e6f8d0628aed8f6ee32a1950a8f7b3fde1903aa5202d5a30c5dc15d15f3f8d20d40b7d96f009f296055aac2250fd507f2fba506fc8088eca2ea59ba39c89f7b4643f60d4a0663294e0d8fe0ce5a4ac949d32474d9f9293266bfa64a509253bd9feece424d7992a9f2bcfb177faf8c9dee933815e703163ca04393f38c113cad0840e4ec840508b025a9c6c7f13526678502003584ca95ae0c0d822c3b1d3b8a83860a247bd841ca4d8fe06d0ede507c7124cf48efe196ca897c2a0a25e0ae484d5ec6ebeded1975f06fe073d191c5506d6af77f48703d60ac5f6b73484504288a388bf4042bd9feddadf0c19d4fb513890e0270d7dbfcbc336f42eec09f209a17635afd06e6a4cd9e6871c10ceba28e9f8ddf5a9bf6e532f9971453dc5254d9a7faab5f2d8fe96532fe9262f54cc07ea535cd230f164831afb83d26bd40ca07a1b07a793d02da6bce5aa0a2b56157a9c603fd58c1c4a1f0e1eec42857c68233bd8519dfaf684850a86950bba65fb5f44f14bf036f299665143ffb213f276b8a92d1656610b5a581936c4c109193294edd7746eae9fbfa3a4046f33934087ce451cd29cd8519cd9f5e046a677f497e06d667c50afcc0ca427191d3e7a63d5eb27593d7ad5ba9f68ec2b6c3f2cc950538f688996e2c0c4f6d31b191d1489ed96995b8e7f3b8cbdc549a63521909f268fc3c89589a59bd84dd04dfcb009f5ce967c227de46af234ca5e5a922bda72987e1953d45b4b6ddd837d690bdd32ce0a89c32c47394fefe8e74e502fb360f0a0ca929378e53bbd5ad9eba8a634c7f66fccdce2291d48ffd16eaa905f82b7994ab8436666f8f1bd6ba2517647bf8c1954f696f0b6292a37847a432119274dcfc78c8c4c8f602a0e25dbaf23f482639ba2b28cb76d53d42b631f00634e002119422f0f8034d00e59e29550c22f5c25a1446d61492b30f330cf8fede72630b6700faf9cfdd9c92ae4eeeeee52ca29a79cd2bdd8306e6aff3686ca2b4904eda6046f13ef851359bda3e5827a1bb581a1be54b52ad53c40289413dbdf4c222bfe4429ddc4f66b2d41a84cfaeb46c1987ec8f9688eec5d08245532a6a897b26c7fe982026462fb636d116da1ded1efdd8d19d40b5545b898a1de0a6307f55648052f993aa883766c7f4fa1db8bdfb04dbf0bbbf0bbd715b2333b3bdf265aac3f8c5042092584d0db5ab62fd44b79ec8b3aa47064161adb40d1759f4a7bec65d6a53dba7eba0c535290d87e7e42b71786c2405c0e6a7f97ec6556e7c20f1fc505384419f5cfa86c3f0f38a0ba7dec853d3755f87fa2adbf9ef1d13bfaab0c6aff9d91d230f00753e84d45124af24a1a060e59b2d330d05e197b8415ab1e4d415927da6a20428ce50828a434ad7d9458688f7802941ec12b202959688fb0c2498f5cfcd9ba7784154e2c7433c08734f3e1b374dbec42a78a7512b3c218a6e8c2931e4449a7b002885e9706650705869f1b99752e990785105ac020658379476c609c6aec0fc3b81ffed303125f3e3d3d69810d14d947c15dc8010d6caaf03f62a3615dd641ee078d424609ec5d94c0b0ac7351227bed35feec8fd81cb1f1e145b88b2ebaa8834d86c40542f2d96b22c45d570ef4539df26377b9d744c84676d4c68e5aec6aee0d1a7452a7e0064c4c36dd440653c8b181a267c0c40b3f3651c0282cc106f68e2bd325e1890d4e3651304fe0897094d29f995d25b6bf4fa1ef30c868204df670087d7fc80d0981d622239d13ccaf611b07afebbab07f0a21e6b15849c3ca2ac8216577b0b00a72d081d57a93177d483de8230927bdf889d17f8f5bd17e3ec65d9a0de65d4abd5badcde5dd909511841afb9340da5a6e873da2f4f2534a3b4a84d2eef65fdfcfdca378510ff2c32c7b1fcd5de696b945d09bca17ea85ab2466125cc376621432ec0b88cb81f23d8affe19811d12d521ba1d0a0c848b42dfd553454d6d115c6ccef2794ea30f325c0447ff3634ebdd5ce67e51081920127f968a202b0a6014c0148437f7e0df96035007ec1f237ff8563b0f397f0b680346ee7b38e08207c159729cbd328d64ffd0bb36081f09780b476385d62ee96c4819e1250789e17637c235000d430d01a8182200fae20a551f9660d69af5b2a0fbbdb56e535ee2dd2f66867843ad15d517775cb3f4696c4e91629a21cc6bbe5316631af88db8804c59a175199d7cf120990a6fde79c58e6a9fe18cbbc67e5bd29d7ba3e85d6f3ef309f09d51f3e11f8fd434f12b65a4baa8a8ad7adfe70dc42ee914328a74b28818e220522011dc2202b636189e274c3f0b7a7447ffd117e844e3081f165d756832adc8fee6e7d1c7ffae36e71406633957712991f37153054aa61d9334be2704d8b60c4ea16cb27f87ad8691d11f8da67f035ef72d461db9c11f02ffca8d31ffc087d9efadb793b3d0b18c376eae8c02fe2cc1d01a9271f1a213fc697f28bb06dd99e037d3cc108a3e73d11a886fe034295504c1cc8a54415d4568fdaa6a0a7fcbf2b716c90d4610ffa38904f03390c732f9778e9b6d82b7138fa58fee803854545ed6952f54250ea137762f9b56ddb38213d58efe98f3989e56f0782314ca4df09b6f0f963ab47512691f8b047502a8134f4f9650d204d7cec72441911ff7ef1e137776fbd33c2524a7ffc3c9189951d5f07cac2dfc02c732cfff5398c204e5192384e8a584018fe2c2cff1656ea581681955c8c2ba8fcd0b6dcd8b2fc92498f6e44591c9924497f393dcae1e1f8d12be29643452691a747fdeeabfed8a760d97ba43409b603f588fb17855e6a8bf7742aca8b422fa94de3b66ef5882d64c84ad8497fbcb2ccab0fe8198881f81b05a547f006d2b445c213ebdf317a512a74480402811e2be9ef06d22ce911b45042870c73fa632ef5d76223fc1b2dfce0376c1f721281fd4daf3d5f02c6408f55fd31b5f09bb8ec136e2ff758eea28965fedab12461893ce1968a0fd4873672fc1c27b17852d4872289eac1aebdda41bf2028d968539f737618d51f0b8efe2403b9941e05710d119c83db3bf853b6f407697cfbfb03cc2006294c79a39c1f359372fe817aaa4e967c7bb03764447a3c4e504912a761f8198714474a291d1cd3cd084450b221c1119bfafcacc32889533b99a449f5f9bf3f58051ea8be61e0c72b82fc2d32b5d2356fb82a7c4f825bd41fc3249c04bd1b72e910ae5809d7f84727b07b2725a182a9d04cbd5feccf935002d2b874e912c6c87bc44ae9c5284583a2ebace69787371ec36e609f613728d024067208642ad5f8e71d9ec6877ec648c6c7787e518f5a1ec6bf787e99faccdcf6fc45f4487bfe0324a1c42fd18026fdf34ba047ce5873486018c6a33f2027f100745d3c788cf23c144ee7d5cbc6bbd87897f8fd59ac6cc8c254163c568b5b8deec67b87fd77ddc78e8aa7f4b56e72ddf62a1df72b9dcad76ee559bafa2f3a9687d1bdf8960ec6c7e85a5e4617e36774323ed4cd781a5de877e8687c773bbc4bd7ff0264da1befa319c5a81a5dc7521ae6fac801b9ec8de7957f7df16e75f13697eec6b3dd213341e52020ec6bfcf51e1b7fdd0afbf2d7737294d8ebb51a1d5b1b5d910cd87ff9c82161e35dde6dbccb6bbdd51862e35dde47d770e99e605be37b8adf781297f7d13734b975c7525c2205204c77d0e5d28b8dae4647fbabd149fbd2fdc0dea563291cd4dff53b743ca5bfeb69745deaeffa50d737fd5d3fa36b53d748fabb3e46d75d27e99c56d2b54ed72b5d9f7a49d7a8feaedfba66d23cb3eb26a9eee94ff55d3be97ee23110ed20f7e911f6363ec53a09f4d7d1c628ffb216259611e1213da8ea8edd31c6ee7ed2a4da50faa7834e59e448b955345429d70fec3ba8a7040199a065dc69a631b497e642d9a463a63f666148aa1105f572968d811828498fb280a4ea30176ff122b0d777828be387a6e6da93892c2ffdc9672096120469b0bf9eb7e0a4072f96507f52f263453260218c8154560ff9e52c1a5d63094540526805e14ba0014d7af170755d324f14c0f28034fe51ca38ccf5b0a3bdde77b6d869af69d765b2d973d96fd9ab70bf52fb3d72af32636c0c7b15374cf1dfbe083f9616e189a5459042bf99ecd81e7e88b759cdbacd2ab93b89a7f78938170ed14b4b732ccfa39ea8591af598d878d07cf862d454febec6b58cbf3c2856199e2389e171dee6695e89fea599c671df2a9fd52ccb54b25fc954b22ccbb29fc9b22ccbb24cc421916d5996ad64bf6ddce675d9f3c0219171dea5ff3f6cdec5d73a99756c5d06f38e31239105b9ad4ba6ec6f9fe06fe008c0363beff1260d13f2eb1dc5333baf01cc71bdec7ca7bfeb63e73afd298131d7639de7f44fb76e60af284990c84861b91dad208d5bcc315759ec695f8f7dec91f6d833ac71d54348b33da6f24556accaf76b5b07ad067bc45d1e16de202cf732dc0af7955b59f1812ba8e29e478fb4e76a2cf74140ee6720cdf69fcc7f1c8b7b8ee356bee390e056388eabdd9561f96be56ffd9595ce46aa71a844ccf5a555903244340000000001a314000030140c07c582e1783c92a5e50314000d8d9c4c72541b8a9328c671c620040c0200000000000000104c1b048a445df00bba54ad6dfc4c2d1b7cd0e257656b4509f5bc93ad9cfd81b2303c7258dafa2df02727118685dde1ea3a04ee6a075ab7822df2255a1351f8329fad79cfbff8f6f5f3a6d7c70d3ac67cfea6b0cbf699b580103a63aacc8eac9baad344a9e6195638548d7e0368608fb08dca067dee9e84c1a180f0dc202e5f20a031d4de61bd10ed4190c1c20f9745462e1c80991ae76d59e16bd1b153dbb136a5bf465cd741a563cd534a2139d53dc1479b357785e0d84b6143aeea0ebd4252356a21faf2b357e2adee0fb6144a452bfb3963c05192298a84c64a669757ad8f4f6d3808df1db017da2cb37f859400c003ef63f2a39446b9c97f46eb6799770db26e3549fd4aad7d26f5b542d1241332b4b00ed36d3ebec43e8dff6029d02bf1f3486f61743fffe09fca2ecf8d17b1f3cd4e5da8d356fcd40148823479ef9cd368f7443caee8db817c6e69ca3b0b0e5a54642ceb42b621ef4bc09fb8198dbcbf842ff0dda6ba1c5e28abd2e118f4c672c63b77ec47df200275611fb9e21309e006644af341b4f8de032c8ba2d4acc6deafa1d03598d28c73924cc005785fe79b6b54eefe20e18ec6691087c96b80d511dd76bad8b98ed9a0cd3386d1bcb5bd997b6ad5743149dc85eeec68bc1b97eeb5d8dd7d1f126a3553f4e278e8b9787216b413e15379d4bc911b5df9c39bae74e9c4e337e4f95e8f83e37b352a0b3444aec7c525cca075e50463dcf122dc3a7b7965464bcb465ae558ee0bc6191ffb55758920cd671e3b77189311548be81e28864c9a36e458644f9aeccdaaaa0ab5649182d04b0d6e30cc91487969b8aa6744a0c08f705930e5b9a230f32a68c6ba52c169f81419bccf4a1235d19529d34028f7288c3760f293f01dcbfebc4cbd2de1f33c5246025d32b45245a977e7bf68f56d08004a0eb1bae24931791ea8a2c5350107ea7e277262c8aa715ce439d3367a2eb17ec25765bb3cc6f3320a394a6aaf8ae771ee8c50cb8c1dd91bfd5aa9925d82bced307e5d3ed4a2d03e332bba061329fa5dc1af338d9ca483dd8daa6a678a35a29486e6c012ed047db58b7c2331bff94dd411ed41b818a6664f5bbf7b811b56b384b21fda735658f390be7a8ae5cb8c4415e8112a69c3876be42a9f857f72415b93b3c6f486545aff169f4777467dac95b437da6de55a09bfe915c997b9be41f83b93e834e14f84d9b60803949933cb4b52cc1f78063ed473fa0c638f054750e17c7fb6eedc944334a1eed0186af86bc263242bae4b95c3986fc347b2f073b48c9146ad651278036faa6ba4bf6100bf75d58e8a4b24a32afd20a33345a16497d0f17cb374eb5474b78e6030269e47eeb3ca2485a5d1f661ff7a03d45ae7a015cc6902b61cf75bcedf691fbf8c2f6d25c1c717d535a21cabebf4329d4d27f034a867fbddce3e3bb4a684990f964534f0e1c95b5d904c0197614db8e953a40cca16110af9c059f90089fecd3446e876ced2e34c853be4b833a5587e1c65976704f366a39d26379ade6a168d7c22e91d064de7c5013b2aa605221e95c9cbc5364dd4aaf84b82a2a326d7b0c9f6b63d9289e03b0627f05fb0596328803b9bf0cbc51955a2fbe207261627c5fec68b72fc84fccaa25be4540f3f3dcc37c0c5a2f730a60859d8251891dc822622607e0785c1c5ae57986756dbe89b28ccf31a840553c36c5c723d5c2940db6a98cff3a5d5786cea377824cd4b64f16e29a6a10eb24a023d3d5551ac9e1952a09a85a82fea775fc3bbea523e3d388c06c5f285b46255f4f7ac0570b5672176989be30b1568949a5ed11c40a41c75a3308be789e73e11002ab0d203976a949b6eaeb6dd28d25a2c84ece2ffc1d1138b41e71330c3a9f764dfbab9349b116aa2091c517b692e1816ff3ea4fc6525af66d2d791e796aa920f92a1aa5334b0854f9d4399e90277b071a53132cd903711592d15981e99090563fe5fb50e42b19e3468b751f88c27ca4a37edadffabbd38ba1c32502b21beb17e0112842817fedd35f281bde700917abeb3c061fe90cba422118d56655ceecff456ab2a830666bbbe47a23c8501b0d4177c865ab592b095485c70858ba6b5a4982fda6355acd0da7dc42a912b2674c4cabc64577e4086cce22efacd88e467e14457a505186397ab4d66da2612dcb4718c46e342ceec647f85202e302016466d7fe71c14fa113ca25aa977a324c3f8347e635295a4485193145566892940853e7a6f0bd979e32869bc7f99cc334a90d6026ec6515926f3eae43c94e4c77bba2433bf0ca5ded8221e6d3419706ba1c7cc689e327de441cdbc40d94ce2dc5b0825d3e1382c5212775a0032893b414fb04a80d5cc176549ef9154873794a6254158fbd59ebc54467740c184ef0662746eced66e12b91e793879ed14cfa570fc5c94364e190a39fc4d845d3966d4f0920fcd143604aeb58284338cad3ebf34c4182d60f48878435ce219f352308d3e3e359a9ddb22374647850a19c01a29d090d1dd61e341c4a611bc769ef4a08d3ae38fd9b4011178b9044b21bb937695c49121826bc676b9a3871f4a8d1a96718e5b9a9356dd94005c07329d3483189525e80902b3be5b95a8d359b36fd7377fda965a29aa6c1f9c8ccef418226f9e68faba1a65be5042f1205dea2618164163449179f06d1b87dbf7d1b110e2b083130a228f4338ab21e5faccde4b25eb269221da683ad0b5c6d944634499da487d6fc280a29afc647acce783bed504cc9d5453666c483b94ec4aa5d41659731103d93941ed39883650164df77715706e4362484383dd1d1283199053d4c79fefc7d18b005011d2cc50b3d13a7d64dc75cf7faa96c035116e820b7136125c5744dd1b6dbeb0ffebfdf043099ff744c9698cda488ddc2dfab58aa0ab4968d444967f68931bcf5cf1da9bb7f6f1509a88317c3bba0da15190f8641c71dd3a0f5dc5a47e3bc1baa8ef1ea6c56b98de088f9e0cadbcd6271aa7729e8c2d8ae8cd0310ebe3d0b792b5e803c53069b75108c243ff95c4de970beb8a10129b50a48e71b397d4ba6bcd943864cdda3368a4a75c8130c49656e76bf7df5eb45e2a0168291e18c3869e44904a5f27fbb161cc123a077f80af78582c4d9639313c9d38d240dc637f85cdc5293fdb87eff34081903603ea4d7111a409ecf6a0e54bf4d5980c78b4340533ed35c5e98e5fe36803a47b1b3fc5ea03953332672e43773f8c5488a759161017e01895724267b8cd48f1b9383bfcfe04a285ff9461eb8998ea6fb981a8ab9234fb4d01fc9263fe43648730b832ba506996c683908b05d2c57a5159c4d1a13c4cbc66c5854967be29ed16e8744304f510ef4bed2ca00ee191877b8d734bd1e5f8ab50b86124724b31623e7133723367838c5aa49a412671c27df9980fcd58c1f602d62889246b28a1f858cd313f7f9acc6a5710719904e0381529daf7ae8b9fbd9225e9f9c0b11b7ea655bc442ba2ce10477a010c1cb324b16fb9d6b442dd1e1fe7049ec5ddaefad39b6f1e3df28116d3c6aea0b1b36d7d98b5121d1cf7f6307099d7b35e3a856b9daa9ad7d623d0153dedc96e9a4754ce8a4fe6439fed516267a991758bd2279f489f7a1a59e3da01d6500bbfb48bde45432c69bdf63e8a0a7a58e6943fa364490794550a6e41f3a986940a53f875b4adc5798311aa5218e452861edcb299af179acbda65adb1d0579a43e22d9a67a1142dd2834b8593d66895ae634d37f6dbff0c3585386698ed10d9f71b21481fb906f004f0d66c64fe5d5279265b6d209469c9da4c3e520569d05d07590866bce9ef9b5f344013e43c01479340292a3e37beb0b731f81e69ef295bcac821032c47cfe66cc235c81aac5c22ce16b54a0ebf0035731f8540a18926ade0609547ad56dca309dec0914d239c4cb33b8938639933df23dc9918e02bc145d260906094ac103584e45f170d761d4c03f07655e078d4452cf729f209d83a11091d11bc807e8f8adb5363ba8374f4007780136d155745ae84299892334a5557163dd1976118632685688cbbe2e72b8fabb8bbcbd748d92486abba7153ef398a29a3776a704ec47013a865809a040f5bc27e260eb4ba871c9ce3b8ba6cccdf53efd4f82cd8a1d6dbd7a307a5e789172fc41b44a5b1721b530c280bf84b45d0257d28a00424ddc9c0a2d1bbb25cbf6c29e1e6a437e23b8936b6ecc56ab94da0cc22e83d873a9b40a355e207037fd9e4661b63431caaaa72cc55873109d0c9f7389a01e387bef6ea43fa99bca8620e6681f84b028a4f251b90369fc48d1e12d19e9baf6f51993cb6a706fbcdcdf6dea6b2c26c428720b3c2b17a87071c0ed9c4cb5413006df32142646aa22e36667dc742e011e9f4a0162a19d3c223905176357dda6cb418b0846b6d786a19796e35dd0ae378dfec48d73405b241377507d52a37a086d635f9ce3c0bbf4d8c7c930be5f11a5703e69cc0aebe6b622e920a4885ad7099e741b67fa6b6f446e47166e8dee7f01428eb01670057363972f71340fc0a1da928d38fba8bff8605cab31b611db3465a12c1b50ad043d44c378e201f9d1ef3e00bebdbc933b77ee2aae2cbc43a0699c23f29434c7bf9a2c2dab83782605ed284bba3635f6025047dd23afbc71dba59869d46adbf98690e09ba643057506c60998212bf8e5886b3beb2803160e2992533b27177afdc0a277b3fb665436b9d1574a9c2a7cc008b9c9bae22be4739b7328eba5e2c74134fd53729885a9bd7d0cd1c657c4d5dfda8450883daefdf439d62dfcecc8ebd2bc851ff836ae25931f51d91b27c927a288ea17b44fe4e6b7141b2bdbf9f16bf2e39af30c12de772b4ab2b615b531698e55ed76e465bf5389b67cb1e52b26c0d034063b6b5bfd7944f66a331b967e7761bd6714a620f38a859f4a44171b2583b02001ab75c39e40230f668102e302a08408eb5600a2e201de68c432ec63d8ea021eb2d54e143f29cbb45c080c8288d157ad8aeb7a20d6a010d2a088310f9106c45408cfab7d9809415219b02a022d5e2d968d75bb0a55e9b8e06ee596f675ac28becc6163cbed049802816274e490b5b04342e334cc9189506ba1090075d8884d78c169dccf3cd3590230e9fd564f7e82286184da38b74420d5120348612a2f576438f3cd6244bc28a71c465f31390bd7ecb14e7ede780656bd0e13c0a23608d92381791077c0ff5088363fe6d7761ef7b8df31c41eaf8b07d0d13aa5352ebba705f3aa41d59af81620d032327cc8dff14f4f3eb1b546cbd75fb0ebf691a6d4868968aef1ba045b0bd938b6a37288467f0fb8aadec7f1659456eacaed0a25820d26d551237ebdb4030b4ed4f93929f71dd2831a19dce769800604b916222c6fac480bbdb0af1b52f0a3f78691abcca20dd6d96b8622b6aa040fb97d260026f0efd9af19c0010720111491d3a244ba058748648e010913af41420c538037f5cf0f1f853feea59450822c9e4a72ff19ff70c4dd23aab7075d36377561024c672fbcb169294242ee71d2feca1fe225791893328ce1904feee847e077c11044dfe4af3790afbd9beab08a80dbcb2751989fbea4ba9b15a243ea8dcb45c20de5e4c5ce720392e3ec35ccf9e5f385fe638ea6b5404e49761c97f970a366a15a23af89424e1c93b9b1ad075deec6802f0eb9632ad64b337184ee28346f817ef0f9bf8dd25ede6c7c4257c938814a5cdbdf71c58262020bbc3400ee2670908a4cb1ce6af8093a7f901ac76385b02acdb8d627320891e6c404c3d416dff4191b953ff5b39aab444e906f5dd1bc988ab6a9170e408f7f96942f2e1f319a2a3f18485bdf0ca697c8dba45d795001e84464808a30c6c514103ab62614fecc7853adbc6dac69ebc7e9d5bd6630ad3b9e8fe8d7029447b2633672300c736c2d0a967d50d63f7368cf48959a18b1343577464ff169b42c36af9454399c6293aa3670dac61b277cef28c0b8db2fb3fd1821672d33aa23a887d50902af74ed07ffc87315779bccb65c88f7fd517fafb3eac9ac2b3d8ac0556f0fd21a446c44ae2d9f590c04aab9598d059ae90d110a506764dfcb143c2546ac5d0ea6f45b4063be3de9b94134fd6c27188f36bc18a662e7ab112f62580a22969ef90a329a0a85b8007d8b25e99cb2f011466aae5aaaae0c6589a265a5319820c01750bad8fd5dedc309d06747a187498d60ddd4affae1e97e6440e87a37117e36abd95cdbbbaddb79ba90d78eaa7535e14d67e5727237c1bc8fc2d9b84f394a33dbec40930147b14ec084a30c196ef5281fc50569386f22553ce337e86bcdd1a2c8cba1a5ac0860190646f658edcea53a7f3ceb90e74603a7b43a9c0be396be59e050c8535af94618c38fe0f913d95f55de8866d64569667f6ed5dfe9215136418086cee05540456d04c57ae9c1f7c6665aaeab7795b5908283dfeea869b35d694b48342a2f5052180ccab54b124749e6f1345109956982f2d5386b2657cd689a3cebf5ae08a58514d099f85a81b819daedbe09e78c3b1cb1cb73714af0caab0532f3802d62d30f2f52ab6606a9b420221c3172b3a0f67638ecc4b6ac81e12188749c03bd8875eb45989c0a5bb3b5b478e6a41eb12321314d57699889a9ef74d6397c050d9a18bb9a368dc55e717501477915f8d66d195d24861ef79506531e52b8ac7d3efe48f9181d0d1e91f5e796856f4d3f9d99888c2c17ba3594fa2f21281f4e12ced36a62116018fe3ee134322071a5a5ee21a49c09bdd608f5ed0bdc658620620f5760a9fbda7b88559695f064860462abf6e45ab9cc54bd0eda340023780c988e35c2423d56eb8782f474e4d264b3955d9d5e10a9c2bc10d9b67e8b6a60bc871a412271f6f589d6f499846a390cf38d964fb5061f79521f240746e10bae1f3f5cb387a971c32220cc7789dc18b87fe1c2927908970341b20df346c95b7c4ca370254782e57320475eb5ff1129f01baccac16a0b91b0a6722b0dc02161798657086b4f742cd1eff151a12c07b06710288964b9789dbe11411c1db91d5972309f55c17fa274039d50e033c55408c9c415f7ff78947d647f8a6126b53d8c454df008da68fdbc22bb6234b04774fec0097ad7ebf2744c10204732ae76cc3604d529243b0d9a9fb9dab3dee1783326d8c7a972ca879e00795fb799e1c4dd7ba1dd411c67c78cbfcafeae8ee273d476bd55bc7de54892eb510ac49a7d13e2e326dd889aa5bb1475b45ea269c94c100ad4cf5e4e245315052442590c098964cd0f89c8c5c51367d28c1a98d79b765f793dcfaff0f2de8d4ce9b05599728a2ca4079ae20ddd08fa36387e2bfa1b25a79150bb915b4684bb7224b8f2c0b4071e8821d42a18914d8071206458aaae297dd8074ab33f84ced525e01ddd9010b5ce50a1f13cf04e7aea63ac53f5ab324df052a85b786a3d53cdae22a844d2566c758e4b49bfc4ab5a2ebf1cbd63df71671f62242e822049d8b745d58307cd4a4b208a628fa732c4aeb853b6d96ab75e3b0c6fe72e95b976a045cff76206ac9f0a945e0e88d1de237b9ee1b1970475b47f1815bd56da4a18005850b22368c10d37aa4d6a3ab1191374a11b83b16fc0f81c1548642f3a0e9ab83ce3160108e8017dcb5faa104432beca790d06514d4398c949bdb86ca08d4d18cb7f3b4dfed38eb07a9267623d5fdaca9c6e4ca552eb4ff236e37de682dcc785f2062f61d535a6d01cee3c3d71d716bf05b5e0b7ecddd063d5b4d1d22878f0f705dd56449f8773907a2aef04285b1677126a0f4c933d25c86cb1dcfb86b5ec857d7a0a2ef7a68c98233281c2f99be72376cc260c8bf0245aad447e832259d4d6cf9449b8294495daea64bb0e4388186ac641a5701dff1dc175e9499b20ea66a80328d94f07eb05548efc7c4039d9c3ffeb31a995a9f99b1cfc0d7ea9ac6d3d18aed42f889c7eff0a8a0166e007ada38d70e374a93311e5f2a1bcf0db60d6e1490c26b1e5a0653bb0ea57b4b5ca5eb3b189a60d1f4ce2f58e755d88ab0ab101f1f0cb4f42bc6d28d83f2a88224e8d721c328efcd8994c9001be1edd583e386aa188145496d5831077f9289d72fa2e718dc6c1d1cfa07808d39e75ee04ec2263cf9245913f7af844702c08417e93f0390763625ebbc92cc80e2ee6e9e0c52aba2fb2eccc40f8358cd42d4ead2b8f887e9bad9f0204c2e4ce8d86fc443440f604fbb87a35f5bb760f8cc7b8b10b74906ff7fa9f18ed909d4fcafa4a904f4f43b0166ff0b6e54f6d634824f37ea1ecdb91fb740c30f7c440a2c854e35638c9a131b941d1cf3a321784e54b09d86b9e4c11951b7100b0cb56499679bf906e4d2ec85e14ca9511e7ff884e29a9bc798ef5c9523055780947458e01245ec741427992302a0fee5766d7d4934dd522527ad4e39a9c624845d7ea490a5e6c6bc07be23e926d151d778426bfb4e370b7053f3a0990a36a7170b4935d05a9ddeaa429822ebef537f89ac30d37d3f5e628f0b9c7325813f6c8a04e456d2b5b62c006ca7a849db393f73016caea1aa6eafd95dc099612e2f9d12b39dcfcd63c6027b8d4b35c1b00fbd49a0a64e7a83cfd3b0def89d40e593c9a6b1320a0594f067ca1e3214e138cec3cc6df3a30de3f6672f9d1d1119f10e6315dd1aa46498f8b72b4e807343460b58459e8e787823ce7417c3eb2f4f8bf906fa0acf8cd29a24262b69be2a85c51731be49f26b7a6a20e8a342b9c87b924b255328e7a62c48422c65082a92e41cfb0eab7e9f7bda8e6006243db435b223a3b8dde4b2a315ab30ae5aa2e77501f3861764d41c1c2d202658997c91322dc0747b65feb477245d6812de580cbd506911a093b8cc3700b0895e083f8d65555dae57fb1630f072ad551b8a5424301731aa79c1586b2ce50e60ae227f9c5f87fa5439749a1f15d1f5ff7d08c3b84366c886aed24951061ab0d7d09b4e2786d62163716e8c1880448dc8260f6d613e81604bd0444300a5550fd7cea6b43c67218aa8990a132c4e48996af420ba410d8959501deee191fbf8eadb0001b22106aaa6e83f033e1565127190e7ae150afb42c9d9af18bfabef0cc86e1049d7b96079d58f3eafbcedab2e260a7d24709acc6168dc9c9768b71a2e2b76909c9239ce1d30858a40db889fe0bd46e74ad5c356d9b17b05a5e1b01541ce03491f7bedba6622afa6c50e4f0ca71fabf0172b3fde2340074d88a4c9cc0457fca24d11810012572992f681ea9cf58a20631a983f05f3cf6b6b2dc848d6e21fb8a607b953832eca187ee6386bb5602c4b4ff9bf0e83eb99af9f0ca6d28f7eef1466ea269e60d32c790c61a018f22a32492c75ad869e10b260c1b43a72f84e4b48fc73ab53daed731aff3a17c0f3215c281c49490266a8fe306335148a091357820bdfac6686df49d3f33e76b59aa1d6e75263678ceb910853c265692bf4c8ecc4282446e693deec22ca188f2c9b87ae0aed24a0743559c0ee9600d5224bd65df98f96f4f885355eda1eeb3c5797d119bcaeef05ba10dd7a2cd6b95a0aba4365c854de6b2cf4a1375c05e16c27d609778fd9d6b6ddbf3c568b8593ea567e23fef6dcaa03fb81768b59fe34223bba8e7939f2d76979fb0e8eabe018ba116a9f2f2bbcfebae64e4511abaa2ec0dbc9838b7d8c71a8f3e1f000bb1beca38e0373e0c6c81d152c648b1f93145262a8b7ee0c74283fca80996ce487f55fa2a965630295a65a86eae3e84843d374e319c846ff34f51b08e678635740f2835ca5b69ea0a7ef45005e1290362c4f26d1ea87c08d99df1b0127848534c98381278e2e5b2205ef3e1011af4cbcee689420c78041b9a503f88a2ee0e01b2c1e3841cbc32d7c86620ebc65d763f63d939277025a79b8e84e7de2e8ca10689a382e54f3d7b984126e2b77e08b133482e32df68862b3331fed56555ec9011c5e3b1d71e0f4fcf64fd776623ad080ea45e7d0e44a05bab1edad3ca731b29871be7fd91148b9395be5078012d95930ef4c60c898b7cd221696d3acb9255513c11feffba6a4d4ce52396c00a3d890cca3aeaa6413d3caab21b02fd9681ee83bb6f69fe59c590f2c898259bb5eecbdda7e22bb22ddb0af7615cba6aa80d4f96a32715275fed3421c1c25b09460ef8977c5a27d51c80a7cdc5f54e8af38a6642a848bde489e2f8ea16cdb9ae90e6e1779b323c36451b346263607bd45fe726c5c884370c9f26918b546037b080cb924a945e1db0642ab35a41c1a40d69fe409fd3548999a2f49c6787dd28cff2806364a28c5187cc033a458e26b30665d9590ac89d4e7808c23762a4803a7bbb7a942784720c8c0a40741fdb584721c8003ac43077fd96616a64801e3acfeed91134d052487ce1ca100edfe58b6df59ddf9448a361818b628a0299c9346336df845f074104b17bc1ca42ff61df7042601cca70b3d6fc48132adeba530bcb07dba95df411667218cbc36c49ad3994ca4bd237a0529a002f60bb614f0aa9e29625e9a54f4ad87ba35402e9b8871c3c2f410b2c557b1afe63e75fff2ec33a8d7d1f061df592e9769e3ca7d575746915cbae133d386d8325c88a95b8190dfaf3fb96705837054bf1a77f7db915a0ae66322140014943c1ff0b0fab93e8ebb1acd17b132f627aa6226c88bb531d9b6f6d946af84cae02e226043bd6fa5696fdde2ad9cf50dcafbd7e7c67e3e6b265b0605c50fdbb1a51cf33e3f869496cfd4beb244f1123ab9b3937c84ff76651a26789d0a5eb0eda2abf62ca05133bb3eb4420af0c78aa2748a0501312eecabdfd7cc6e42c3773f0b9d9b3126432836d9ce4ec9a6e118548f532ee24db1fd6e34e195b1f83f0ca0f80a51d2935ded4b1755e5a77085449dc5baf5196bddbcbd3e1bc5cc6ca2a90c155524536454d112dbff2c542689e125dd4034bead704f635c8cbf5505d1914e4be41b1b5ea784b8c85c901362c8f0b9566b62523a35d1fa6711a55400e407a3b0dd6058e4d509871006856d9d007d1009be0a9580a99237b05d8d29929ab55a95cbc0188952d0cbd91c805e3f6521d8b09d05a32a5ae3425ab87c2d917179680f0000211fc13e00c4600f2332bed66c2a8c8d0a166cd04a2e709b429c15549b4827d821881ebda40e5392cb85556b7f9d7eba16ac47c8f63d182792af5e19fa1a47a45f44e312352b3b79008670b27eae3d8cadb7127a6b94bc5b13f919dcd97d086703123cc71ac4c67834089666d5035fd30b51b7862bb6320f06ecba4e113d12e27cd85e40753002f0e3c3d4d418bfc425ee88e35ed073371546a0a6970c1be805e863383de0fff5eb00e4c0ea69b03063a780d4bca359a3086090a78d8093b8cce1057055d6846793f30bd9c38e43c19975049ce2374bddec80b0d5fda9dde7d92dc80f7bd9f7e309a372c95c53bc2d0a46352c99dc33dd04da119a0e3b3e23b0a88670a1e20010a89d94e220221c9ce706ed4c39d833b3aa07f7e8c409c24681175031dc94309cf2ea95438500b1f0b797e5c941010620d3e01e1cfbaa1e1e11164d0a33a4d1d9c98b1923d4c047ba6cbb5256fdc3ce00bd145beaeb59abec03aec4a3d4944759dce0f6da41f88258b5fd0101cf33b1f601ed2d7e006d8cfadd85677520d7a365588319bf01aba4bd70b51e800b4819b0d1412dca23c75f5ef4a3b1d18d15f6742dc5c8fdd0c6865646093276ec746a27688a4e86a3cb3110e0f746d8c6073661826e2b09bd25c56a23b43237c868e8f5b0e64c7a00f38665a175f55afe9e115d7aea01a358d252b5afac74cc5327c458720a885385145e01d0ef6d4e19ba2089fdf03b8298e4bcc060050dc89403e0fabae18946e816fd9459dffc39831bd49db9262581e8aeebd60760dc197c751b6f7284691ac22da7330a2a5ea6a4a81587da23527a400bd7bd044d286a712b3c50920d76e37f44f602f4871cbaa6168f32204c6f60b129d4f54cb4d61da724e0d45da372e2eacbd1bea42f89d22ebc8876490767450ab3f75f582f92a1ff57139bacf36fce63d3eb34b53aadf7c899faec6425a2183c13161b9cac40a0e2d6a9566add82c618a5bff7dc17d5791c8e9b1f8a14bad001aeb8593a0d3fb024711855191b0ae835e48a9a5fab5e482f16a81f9a4bd1180616430883778e2565f49ce5a21aa70ece8e1884199b5dbe6d893503df9d12979f21b8cac0fd42ce40df12b3481704a3e7d82bfa8e0efcfdf8825fc325a735143258669b71e9aee3f19e7b22aaa4c23884c36a460734f8509aba46fd23f12e1b8e92f96968b0aa9844591d101a7b6f4e0332079bfd2722334bf6cf504f98d75ea272425303cd60ee06d399083b30e09a0b39194c825d0f4c6c639e3a6b7d0ab1051022ac482e0eb89f180a30582667855b9fcfc561d411e6c9e89a8c23347e7f160aced7cee76cd2202c3900c6f4dbdde355cf24cd690aea71427ed91609e0d0c3b4b8e9d5e7ed366453eac2e9e165aa48f64ce98d0d88a44bb86276d2016511f3df888142f154b1b232a55289a7dc4beded4603d47ea6025c47420b16cbd4c9d1381948344d0b2cde1978e8ff7d461c1794bc63663a37cc5d569b0665db2dfde99b687600a8b2cf96745010ceb13077cca0c94495a9a863a3dd9e2b0ee4295132dec9ba3241e3145281bd03354a8342e9ada2c84c5d5ec79faa29cd032f1fbc876a2248148d733e62ffe724cedfc8738389e288084eaed7cae847aa29d18bc5aebca64e7497eed065fbc1c3196e37f2b4e2784edf6e1ec90b2ab8e04bd9e62a040e916872797a71a0d3e5d33cd1c8c6d11c3ed726c43186134ef550c87f4721c8dc354a42c81d95def34e51c992d43aefda67391f5a0b0ef24654c5953074c3b04dbcad41c81be45be1719a327934de0115395a7c090c32b1461f944b3a4b3539952e58a91e3fdae60bb25263bd511b5506c39bc4be32787291865310335920b1ea5da57175780cf2e588912dfbf0aad908ccd4ee4f548caeb52352ada17f63a8ff52179d1ed934a19b24608d3eb602e5b546f343c6a233a23b4f9cc8b6d742dabbb1b193dcd6a049566d83c13865580f8979c9101fceeb7c808d65be9afe2bc073913eea69079756556bbd59740469491189a906bd906ddaaf33cbafeaf741200a7b0ba053bfd91e75cd157e32f249297c75647ba629769348daccd06b741121458e48d534af17b418f0cd5b5e82e764c324ff7e06f69c6ad18645d06470ae74f49eac677b50f034bccc29d4e5679cf2067a63747c47f2819f7da9ba9e9b6975a585a2cbc17857079a1267b6926f927d3f62584f2d14608ca6d24733894b89b9f79633a3416dd745f6a10ff6c0bce883b13bd00b3efd896b91bba9d0bd59f5100e0b30c61e1db7323b118bfad683ebd1a21a5676c81de3158ab5e10d1d22568e9d6466ef35536e233dacaa8f1f2a29c7b2e3e364b30b6d223641810c23d30b67fc23935d9f1a74cbea41cad7e7ece21467bf331afed3ad2b93767862a49e213c845acd5f3b2a635812cca51a13a514a960e57b72897f3b7e933d658b274cea0fde98cb5af4cc4f04fc39dfa455f2206a868552f29233992edbecc72349a77f09b5e22c8fcc84e9a2053fbd26d2c59202f05c871c157abc6857475c885f8b09127d19a25cf0141d34319a6661653af827da4717c1aa7cd10f592e0f2cdefccbe1996dee9fec42852ba87a90bf1d5a831f5ae9da5d5c60cf3341d640730acaaaa347c30bb18d20ac2e6a7900849955e98bc5b9df537323d49e94e7cc7838307bb4750cb3c2340272b0707aa1063763955b472f20473117063489f314c0a109cf52941221f4a3e29aed5cae41f0462304f55a3af00dc54800164a4387611b3f8f267ff80d8dce579dc85a63bbc77d84c6e8c05d008bc9afda8db22d69b3721795688d70138234452d13da6fd2fb1553cbf4c35bcd1e44f9fd81701c1fd4f3b078a74d945449b7f71f052002de43908b03cdeff5e9824ec14cc952560aa78834144f030198b33ef968b089c1ffc0764781fcd48d0b1e2220bf211884eda64808b303a0cba25c94e156a5841d1b2d172a4ae5a7ba0d54fa1dff0674364ae35a63a82707744a7361e622ed0d3b401c8f60e1de1b095ef31c14a3a9a6575a3097ecae5602d78c25f32a4da3d125a1faa344bcf0b9692387291906c82454c034627f237a15f3cb67594caf5860a376fa6c6294bc4e040b09505b1debacd2387a2fd9a63fb3d575747b7d0fe363ae22b22f5be46ad17a611ad3736428697907fe51d6e6922aa23d80af0f91b495544dbc7c84c0ce95d821ac96b75ac65578992d0203f5975e13e6e9d7690fa290eeb9a7025234d42a3302916f3b8cd4515551f4c3c98a6d7f78ef22eab9511480d65cbf40371493426b322bfa11c8e39a69ed0d1566438adf6349872a64c2b947fc14a6eea1974753fede7e4728ecd4daf207a7d095fd57d28fb0557e0883cf74d63ac3b63b84a692ea68eb3655d7b24e54cd4d9db54f3133901db185dbc49d524c25954430af50523df01e06c3a284a72b6322438d7f0a661ec8addede28d144db06320c596d4e44f04da3d2284f8942609a3b9c94f043ee458b934a4800c7875e9ed0caa38f2d354712ebc1ba74e7c2984e80b64b5b5b7983981aed827a9987f1e8bba5a2c50901c9ae9593d74e6ca45a7bb6eb0e5960868bc1fc7825ffdff3434223aeaff858fde2fc47fc84c3ca4df0f442346c28f1e17a15420ddef58bd102b89d6f3d1bb4a4e888c3597e210b0e30758e66ee0e56dd737f1c6c02d1e55c2dc0fa74313c227422138c664416fd88e1a4d2056a641d1f98a089e490ae02cb0f1acd8f11e0cfbdd9177896e88a02d9e8136940038fc2dd05d5189a87747282e689e4880dc8eff594a181e3f9fd66ce6d6e6539ae4cb1bb33068bd24da33c36cea1a071350d126fdcb2815cee4b04ebd24abb92e962206779339e05280cc1eb848afc525f2a1823abb5f13f68ecbc57e00e2a2ac506d215285683f465cd73c7446b7a78053b70fec010f3c4a4d1c17f88ba62b171189243f354d0debcef78b0bcfe9b3185a19fb2716f87d735a5a32a5c1e6bf4309c1209c32a92fc9696c357a2231c92c4c0c4168a1e74a992ac6d0c1ae5287f91cd6191dfccf907b51da172d00b7c2ae6cfe0a9819618f019a90ec83e1cee3f5e63742c32779ad44e8d30e83f1428a0d84198dce814ec142a4189ab6734bbb2e28189bb028250a5f7d6833dc436d90a060765c509384ae9e96140ac00daab45534bca879cfe39587b0e3a2864d20b7c745f534878d1f95c86740d698ac133a414bea60bf649d25159aa9881f5b7c8267aa1a0e1b674887d944028d57f5f5848970b471bd257e4437b7425db7c23dc4a6c39e557b3dbb147558e47caed2986d043b976ee3711d3d4e933ad1a320d167d2473353efa751aa6f4824888566d1778c874a10f706822ccb7254cb3d85b92122c4ed45d9c4827b30638a701b277ce8d9ae9d8e926a09b0a6b0799cade27a754ffa3b4afc02b5fb81c5eec39510b7fce6012b92156068b88da93f1f74206cf0b9566212600cb834597df7ce1b23ae91da44601b672c89d6fcfb3dbe394256be2035233cc6537646aff0c4df16f337c678355f67a1d4b5a600f10b7ef31df8654c93fd6da5308b26725a03fe7b9ee4c0001052a400406dd640d4f0f5b6a06ad6e7222931f8b5557ed6e2e7ab9082c77a0dcda10bf2e2aa89711bcca8aaa0e552aa1e7ce6e8c5434b2c13132d0012cfa4a34605f769030a1c6e3b0c4348878c555b2eebe1d64ea78c3be9adf00dab4de577063ee75d2b10d5956ac8486f1b1d4ec3e1f69c8614812ac62df7b45a2ecbfd346ca354b98c9441e89e6e8aaa6ac731893cc4f594a9218fb5b2ba057f51d9de316c9f9361890f15ce5a120363e0f797effb07378f401310fec7727f1f378dc46f5a35e591928fa558af49afcb7323b82d057fe08923cbba5009e05a98f2f0b1782d72503fb8d525d4040da43d0c0350944ef220bd8683ef94d2341664c9a2e87cef260a2bbe7a45c600b7321fba14e085411cd8dfd5133a855b7fbbfdf24fdb7daa442bf70529e5992f9354aa888fdce9e2f31cb8da7eb08c4dd22ecb33504514356d261864ae595036b8be437f2550291d19d499473c2122304921213d5fda813e1a5e96925ad6b70c162d3b009c405b351a6b75439637c241af755b1558ee972fc75d3381f3ff169e74e615b3b300c3fc8b018065698670857998f07ff2d13ad853bc90c7926f92b9c555d8963c95ec99868d113372a8b6d5b8c606b441a64482e8a1f6d1d3b0f342170351a31ab05b6c7cc21d8b557476f4db68001589a95a1e691ec830c0cb91ba5ba5f29dea0956bdc67209abd11e365657e2f48ab0f649b26cc399b8a08e4f2da1f17cd86fe495385d51760087236ccc72c7ebdb536d5d7484af1c75f61e5adc7eb6e9104c7e2e3688cf215433431750baa8d1269197ece2a0be892954d509fde5a808afa947a808a69817517542e35df3c595cab657f1d598cb04d7a50f02e5ef61a1396b6b28c34990ec3990519d9a6d226ff4520fe0ced39c3db6fee4d9b7c6c9575bd28ee27b8be7c5e8edf76da8b0e20bb7524bc54643cb4c5ab053257b2c481c21946b49573a487aa0a990d09a4a845d6fd36cad6d5011b8b51a906439ae00f73b5e68b63e4b053b206228f85231fb89345903331a203a85a4629c137dfa077869295d0471e820d8570f01b6b42be501872f00697ba8e80d0719f5b7bfd6b05e82a5d1f37c792406cc3049bde3c74eab6444202ac6e96d3555c693dfe1d0d1471b29886e22d74eb06cba5ca2c7bc24dbe5d260fa64f3d3b6be8347e23f8fc82a53c2987e3e2d760fc0c3cec399d27ec3b32ca7732fee5e0dade505a93f7b515613f6be1868702e301fdba7c3b68123c259402316b90b522d17dc054f4f383cfed3b384a080f0b9097e8599f4970aa8bd2912dda7af986290c67d28b22abbca7f995998148543c30a650078962e43aa0ab498d4e701a806050519048899f23ace3fa9858dbc047fe5ee71a60d6b73edd7e73b69ffd913a16c4ede09706135c5e9c8a1e35d5c963248d1821768a403fbab8a4d5483906a509426f1621d6945124de067d827da13bb4bc8ef99f9b24d4f8466aa1b5b1327a749616f25e7a8953ab19940e88c2cd148f0244b90502249c4004bb9de057001d0fa80c4c193e3100c77b49997f68e3df0debd7b10c6bd0680a3db4793358103bfdc058142a96e8ef94016ac7a273037772052b6cc2f16c6c9a44447db88348d95566d0e97339b60614568ae4490da58c5e658d8cebc20b75903ee97917a0e76cdcf969da903e093f5e0c23b8356ae38f3ae1217ae5349d46cc75df78b6362f40f360933b6edb7fba4440a15108e5f3df8e0b7084438278ded57a9673bfc5cb4367acad5207702862457d18b76874f2dfd3048203bc1e0d0c740d36c8d8e7620dc3caebf6f6761eb325ad8ec558aa2d632a535f5d9b5a742903d1682ca2d189a8421a780d1a99d67ec866fecd1ec3e062b6adf6e351e84c2b03caea6719dfc6c790772d97b270fbec16537b9adb404359da88383d9da2ad8ed03e14a656bd82315d838ebc0c6d04c2fe6f5a9640b32405f972a4fb5169ab751ca5c7a448826f2e492a311da5eb51d3a8e26779c67388ed2cfd946af7f5770d8f29e64d76bb13ad826245fa005d0e90ad68311257ee716fa1cf07e5e1ca11a60bffe47854ee440825f211c961502d5745c338e139fe635a0414449b2efafe497fd553e60d3d076251722a40cb5ac3265337af0d75653dd473fa7306f143a02fd49fd67d82fa13bf54411f9a70578006ddb04e72e5db1ef38c9335145de72f011c99780c207ce3fed86f5b5824d2aa2d42945597c05cf74c61c39a998db97b95f2057195ab5009094710667056c835adc90f02105e53ad5fa4ca674e288f04b6281c83faf7de89ce1e2ac97f69575ba2f9b23eca30482945412c9e599292be3c3e7015c900fe4efc2dbfd22b99c0419fbfa488ba80b51c92b435d9ffd3e4a012f8a5a5cbf51394cb21b5b60210c2dced1519d57992033a4b7295a350d4caac649c63d4b8c10a9f1c35c7893e9f476cfa531fc83418f5280f461b03d41f6d974aece461939e387b0daf5af9d041a64fb15ad58e241d092f9b0fa5faedc7ff55bb20b9f2d598ae28b9bdfd932dfe4c5f45a7a27dbb0646d45a455cc7f915d15119505f377ff02d0106a96e0a861ae32a22e7840af056e5582023f3b33a14a0701b744e6dd13d12da74b9ba9a534bd629d5dcd9223b85139d52c7b900ec656946a7366cb75629285744e24b79ebf7e7fdd6a508ef690f5cd4d1522a3dfa9fff64295679c06e038d5c29e2d0fdcc369d6962bfed7755ca304f06526844eb6fa4d471a39f4d43ed8f2ca76587250606e2a42642f7299bf4c3847eb1bf35a9813a9783474a2a51561fb39a3e9ae8bfdb40a2b22529827b1e9ec4565f2063a4b21bf38bca8f2c3dbd99640338ecf3a475fa4775b05c795acd3aff7f60bd789ffba9901cf5da1d90477759defb1019a590e448d3a8355d1d691615982eeaac63b5cfc9dbde34e9edaabcd9211305f03478beed4e3ec835d6f20be60a31dbe42a482ec34e6ebacf1d2754a2725a8b1c482b91c6c25e810e165a2bcd7675a582a45220fcb466ca01812f07127dea393bac0a1ff7a164ace6b8b5f2aa4b6a266ec311970079b90d8072913563988f5007c85e0250125e4d97e81b8fd11338030358f1e8320a04e79edce86b00980e58afe88432fc638607ce2502846d3da7da827143cb08687682c0b2301cb3d4d309baf745e7c6be9fc8e691580b448d01e0623159dc6d63abd9b6d9f9c3a40cb86d039b0a5d42c7522a2fcde6ab468db25e30ab28a37a03f977c0053d2c475812355c0e216a182d68ed879a22fbcb26c2dff730578cdb39e6ae39dc699b96f9888303a500a9212913644f5db4808f46dc077d4254b0358104959940d01afbea044e607063d8196eafe44681c079327f10355406815c286d32f71ed4034a067130e816a411d2bda841f15b3288baf42a4b217a516421eaee8ed62c5477881e9f881b9c801f289e0024eebda39943e8e81988a4ce2ec23eb33e82063c3fcbeb2d249ab62852e65b5cc5f554bf4c5d0294b696cd4fb9b050bf7a024a37e3410eb8f3b358fe1d16475d4d7201a7ad29b56e6bcb4da73bb312f6bab705eb7f31e141bcbb4a82c9bd1488dba5110ec34d892cab4cba9577eff323f2e9262dea74b5f6df3221c2f1e809282c37679f84a8c19cfeb291c7333b6e47d14d06b1c6bc6b8c35579e70431df8abb396acec736cee0449b5a322b50abfbb86c3eed7d7198d33e1fa1fab6276cd8fa23bd89d5b6d542246aee3391c21e4fc0e967b9fad6079602149bfa790cfaa8d787adf342fe358740cf1c706f398a06a88ab71daecc5fd16eb55c700d6ee365b96f54129e24cc767420fe168f4041cecad9d37761fb7925729404ccee33d1eb97942bd36c23beb0efa3a327a3183b8d9c19f2cbfbdc0987d74219ca07e12708a523c4b0c137b6935e2b69fa060061480579d566cdf70f0dfabfea4dc1b8c45cc0417446ebf268a43b4da85d34ae72e575f11d5015aa4c7ff0427e6c86ba698a8633438a1a230e356a814ea93d5b45a47e5fc8b25a60b3a2f9da6b96cd8bc21567258e5467bb9fbaad40bd2ba31032656a0b9f3ba2908d302b305a141826234c97a725c8d3edacc1d575f21d50351c040b1353898d55f594ecb1818be961ff994cb5796cad0d10a00996509457247e2fc6b52af823dc2a8fc9b9d583e5d33935d409211eaac0eade99f96f293d5b4a695b7acc893169058f11a010031051063c50c55f921d889ef672758f98359bdd741376e04f180188ac6cc8fa14f5576911980257f00be50c91115327cb3cdb427ca951d29f0d96eca5047b428f58f6193693db5ab94ab5b8037fbed4e979427a87fc722ef204ac4efe2a9db8b2e5edb72c9895a0438b344310c99f28c10af49ccae91250baae41e9da0539cb5379612e8f78b2f227a6272ff8ba46e2a40c51a08277969186b70c7be0712e10b70aac31ef5986c8b2df7ea52ef401980a88c78d5184088b27b7b65bafe9b1dca76ff52a0f00a72a0dcada0247aef345f39cbf1acf011e3b9907f1243f453b7782a9e70e195c18089e0d347fbc95a5f93e05003041e3ceb7b981d2cb027bc344cc121ce8c7688dc38e50af2842e160af1e67ddd02a9c693c34f1354f26ac93b1ec12a21c286d1d3aec96216edd35fa0283338843c4d05c246e469d73e62d807dad71fed9a26fcfa756fd875a7326f46b053717c9cd7478138bcceb04da70c1468b8e60b6800dc488973705851d29b2ef018927557b1abe36f8dd6e9a5275027c44634b03d9d8f17d31a63bbb3eb63e1d708750b306a33eb57a2551f299bb6c0123bd9f21c6d41074617ea9bed7b3be59f503ea964c35fbc01fc37cf333f492b6288b9193e46c50ce910948d288e65a6d00c93acd49fe9db276dc54f8542d427fd1b0d38eeacc388fcf9c4dc3be678d190e73b365b5e915ec4777482a52a852e2c8b82d4e88add9a8d7e29c220303b6d44417408557ce2ac3e8b55652d2c9dbc238b13f1bf7dc8224b9675e543018548061254d68f3a2978048c998af8a33dfc01bc0ac56f2ba98209cf7de0228a5c781d9a8996b026e1dc559afa6e97619df30f658bb397fb2ea056574376b057c5168d77058b1d7c37afd9064705921617cdb4606d5135633d62e9345bc357b6f3309135a74c30135831e8c4ba3b215db366ca320abbe6adba4ad2aee5e9426563c73a943c5d6a18c0d0951ed681937b30b789edf680306924b481341123282b432757f85a0cf03bc90a5b8c177355cf029639f4072acc01900608012722b811762415025ea5c09494241437c0a49564f8d696cb8c712ae23484619720e69f965aeccf9628d61f952a869f963c6206c147d9a1820164f64f952cf60f962af69f952cd6cf962c66fee0bd245ef6e23bc7e352e99ba1ae9097e88f63577bbf96de819bbd54939852ed996ec37e6ad73c3a5222587ff2a58c539b47c77acd2d15a9bd1180572169f58ea3bbb1e5c20136e66b6e458b8e67a377beec1d583b5b1cdf5395a52e71d5873b66a78316bae3957e5f41251e32bfde7ca5c3ed6cac128e87a8a3b2ebcb076c50f95a34c98b05adc44326579ba772a89d8d54e2fb10730a777df5c0068adf4a2377a9e04a7868eab2758a0fdab94125bc0f625f7da7af0fdba0fdbbe0122e0b52a987ecae3757e7703b1baad4fc31e675edfbeaa137162a9b86a3dd2e7143ad1ba6e4f77e038d15574f2be9d0e6edb79eaba4811ca63f76a8bc1231177cc314b1c44addaf50397847edee9033a3322da29a81edac752755d072be9d7efb46eb0deb4df61bb69bed9bd69bac37ed37da37586f5a6fbcc7fe405159cd235402d4381d34185ce95688e2a1ace3232808892d8bc28386c129a7cf844ec155900bf12963257b2d1f8315cb26565f48e5a704c9da5e8a348746f3e9b8ade96ca60f9930a854a8f165b1ca9df2b74a92ccb5913d7564dbc86cfe20ae926aa2bb76b3d17d343cdc878804b2420a52051d44a1bc75d9bba4fe3965a6bffe0a13236a882c1103f8dfc7d06ff11695d515ffc4c6312633c6cd7f9c5e99cdc1293f31ade3fd04d1817e1cb8f1244561c347e871c8f7e4d52ed51ac02319111a14a6d6648debde449cdcabe4f107938af60eff64d954eb108d15b30a7647831e3b3c264268fe24b3af98380e8981afd5acfc35667bd5672ffbe71eebb62808e211ca5783e39155ad5137dd1d8cd372db41ac70d9c62dd6c1df7217712cac2888864a0ff0f7a842a6c3069bf80be1b69d7deacf602e2ba6d181ee5ee7b7351eb6d01c4450d83679ec72ced849337409a123d9ac60bdf0afa1bf505e39fc89bf02f610fb80c21b8973f0312ed95d5aea378d8c6f0b9b10ea30152e21f9da62556bc7af954c7366615ac1a98415632cbe9971d26deede50bf351ab9edfb82f75bb867c55814378d0194fbed47fde7728d3084fff9d53eaaefec75a8cadaf9b534b39f39982a702a61c7583369dc3cde1248421417bf24477b7b15deb007d06e49c8b2db2e51f62e93596896520c6e55a5b1fba2769b321c37e5c5452459e29651645784db234cb18f83c87101c6577f424ea8b01202d6416661e7708c6d8b9f7f2d5a4b280c1deb81e376932f874e21d986f31431af102fbb669a1c8f27b6cca984beccca0bbadb815ade55ea34fd798c8307554adda00d97cd339f1a51b2da7e3e0bb75c9358c2c628346161fcc91286a66738ad59b87e38fbf60c97588c774e7eef417858fd330c4a0f31e8f11fda4fffa8452c89a7dc935c567118a87cff485f6ff7a0bd195ef8f6e89426072c5d243a0cdbfd440e8135cba3bf35b96df15349950d0ccafea15f84ab37b9c24e247c316dfddae5c3d8c9b26fb3b52771aa05b4dd87dc16064b620e0762fff30108108678f881aba63e17428c870b3b3241a02c7a5320008ca1fa5bfd02483ebde7247c223d8b6793b05b248c9d2cfb365b7b12a7aa41db7dc86db5b024e61821f63fc7800061888773b86aea7321c478b8200d7b460984102b576f72859d48f862da4d68c9877137abdec6d6dec4acadd1bacf927b1412739c7887010ecc5223bc7dbc5057d5e48e73320c748e4843e1fd88d6ccee9eaa6bccc91d99b35186785197d522619f51a601521ec185874e370241810f202756ba0942afae877a6a32d5a99aaba20781acae47c8fd7fd8c23723bd3e42b98eb080bbb7bf3ec6197cc869964e7103e14b8cc52602a27263d6df44b96012a1333b831311a7df973c68b9ea6d3e1d3671836e552a85ded1d382143f49ad2f2913e16137e4083f4ffc74a263cec622c92f8c7975dadd3459584cebc24312e9ef4e5ff10f8baab5f450877088ee8cb021bdae450a2265483bc28a84aca497882711ce952e3f6e6856846728c950213953c8213fe7412303166912dcc14dcb21810765110e0e884a775ff3fec9338e10c98b3d737d84e1ff1a81fb964c4b149e9cd6e1d8b417f4904b7eb1bd7a0185f1f3560b11893f591a18f50a05cf1d2bd1eda683268a75c689dfc5e2198d055b0be2efa46dd4813b7748b02d041351fc6409bd0382be1905862f563e2e561d53272d3b87a221f2d6fc69602a8e57a56746ccacb153ffdc3eb9e6905019f79dda33d39551638d7ec4596f4a94f5dabab90e6fef538bcf524251121086492fc000a9d39f329cc56b8314c2aeacdecb8d4b1eda86a7ce020a6d6bbe9f8668d8922f2bb2248e34c6e71ee0fa17305784131a86e3d6e8ebbdc599b2b0b75abdcc114cc794b0bf4d60f63b19057767c781544dc6be20cfe51878535fc9b87368bb1615c686e22747231bdd093d9105f56cf08210533d524940568d85bd44f8e3dc468c0b2c0f8d059275f56e78e07e46946827c8c583006b86d9594984ae4ddac43aa7e50ea16fc2dff9d687351e28670ac3223416db175c171d01928cf05f08a0eadf5c01c4ee3f55eef9a04bc602ea049902ff65169458f479d0175198852e5271b5c5f9f7d5f8b322ccbce43b95b5a261ab680937c0f94b2a32c285195a1dc15e87700d743619fee8203a0f5ccc6cce82f1731cac2c6e07a9bcdf7c47d756b0fa1ae4aaf3db3ccd7eb6297bcd353cd6b131d334e0e4b60e5aee2a90c394cc2dfc8ddd9fcb5237883115f16a3aae57d19e7646f4fcc4c2281c389217f3fc91b6b63918bec35db2900d64cea01e7c81b56e04d30466e95c26117b838291b6d5342d7275340d2baf47b0134b7d4a9fa1b6cebaa15e8fe5203d81d6f4c3d622b70e41bd7116d7074d49b6439e9b97d0c51d7ad922af3e94dd68e023510cb897745422281c3694c12df10af645548e26fcd452c5875bac0d0c27dc2d6484a32885a2df4c7a31a07deb98ff92214c9de7ba8b08131badd3c181f8f2d02fd43fb68c8372247e257c3082333ccb0140580c009eb901384fa16ce92b1105d2f071fefc4e246b1ee99b1bb109a11ddc2019f07b539d60ba9b1106f231d30e3692ebfa488a9c9567d056a07b2cea827cbc5f8dd676ece7d11be4749efd01153529f965350138011fcbb77ac3493e42e79e7d9bd78ce0b47a5c43affa4f4703fa96dff1f5ad3e0d37c913acee20a9eed4ec75197a78e6b457aa9b2f05aae9fb882cc0946ea7418323e549bd712cfc26865332ffaba164f02bdff9c44a2f8e8eeb7e6e6d404e3d87c63626cd7ed83d4411211ad23aff3295ee8d6c675338405182b90194958b6961709b69d3618084e85a64d72cc998127098a22082487032a88d02620427cbd1d94a300674a733fb804dc0f2d3f8453277287f545c9d9a0e3331f3aa40b385f5d33f3247f42c978f16674b532c2ec93a21c1b6a452c0c18fcb7092f90d6831cf8844540814ae840902454172ac111bdfc189b467f3d4060eb3072eb3ca0a1c3c093ee95b1a711ad359d8cba513b86ce3130d5e273b7f1fcb1b7c9066ac214d1e4279cd2cb72a84d8f027f7f313202ad261ec60eb348415c58f01a68c8c215fe73b0e78c419695311e38a73b6cd465c7c7272d1a651816ae28280d0feb69db52a5a510b297931eb3eb44390bd64249821dbf7bb74b2e69ce92771e9170b3a3d64d45944053f9cb341a9a9f5bc0bb318a7a118cad27ce8fd6bcc3e1233d63fb38c091ddb643fb9379744b6bed61c79980b54e0b246e7d07c7b5f859c8bb9838bc2b38b4df2498015aa44dd243a6557a3393a134d4881d681c37789344e2d820e389e74ddd8221addcc1c94f455c7106f85bac42834c127095c6f5f86b74584a2b73c439f5bb0270959cf171b5e67e2124784fb06f11a1e8d760f7176b35a9bdf6c5663b3db356fd95cfb445bf7e568675a9a6b6f5e7373994397725a732ff626ea10c67494aaa829f32452fb637e7271c7e0edce42cb326aa21aefba07ce5e913bcdb24fe630f1fd01756b71d91cc6ed9669533fee0da9216a79613298eaa3801606403f25a493c917eb81772fd50242ea8ef4388352a0f103360e4046e9fe75f334fa22a8b4a38850d7c297cd325aac9980a091caa4bcf49e67a2b6e420eab2d1655901d344c84ec798053437b3a08aa596e22232c97cab796a31229367f56d0b7ff62ade68be44a59a8deced7dd6ea1e319d1240921633741abf492290dd2bdbee0c0b4bfdea6fced6c99de6720945950bc22678fe71f5766020ab3f703198a43254c0130fa46059d81d710e56a29320dbc6aca8985a96c7fbecfe519fbc08f2e8e959ba4a4f65f853384b96bd8a2d276ca56fd18a4cc1a382c28fe5ab12209899cc6102219e164f1ba8f1c4a34774e1e0e18a8a91d944fa182a6e3c2b0f490fd2b797e1e1580a8ea179e454c8ccea4b609059538dbb140f405b9cd173072a6ee0de3f8061228e8f41462a7a8451320687507a470345281bed6b058d1d61457c407fa5d16ec072d06291709c43bf93234f6e10bb96a9fa61e795ca1e7629110d3781ecfa203ed02c71d902ad41f5451e6a23786d40a254d15bde8cc3d812e809d96ba26c4aa7609cd5ca7296f5cc2181319b3a59be35671cf4f38f0598a0d9e992fc655cefd8ab21841924ff97f1f127e96397d97baa60b9ada1a6629858f515469889a9b5429bfd9b7a8265034347e017c81d5a996335d703f44fb6d0a7f50ba751b6042f5913e03409ccd2a54ddc5544ad61144010425f23ea79f2adeb81cf1f5855bac19c211ffee89b08effa1bcad0618631c4ccc7a584030aae09f39f378caa802cce7199000609294f90e37df055595124792ca265759a585f8ff59716ca43dcca35c065a6b15a618f6cf4db5e12e791fc8633120550a0c45af7270bf8bd18b8d70e61debbc63a8846cf74ec6d6ea9be44c237460eb2b1a052b4ec1a43622e3a8bd6119a6251e3388c61853fdb78a5d09883c5845b6281763d85e35c04124b1ee8bbbffbc4f03d5c70ee5fe12f9e169a051d0ed10e7acad0557d81208d6ed56c5291c060970e01e37c7e0645049688a7342e21826815c390b5265c2b36df4d0368550fd9bb5a2c6856cbea0f3ebe111291075bb8a205305a093f30b6e19f9b74ae5341edc389036d37df7b033073d644d1a4d85854a4b7dff147324c37eceaa9ddbe9144f628d0a8446b3b26078da24a9d659c4d157d4e38374d4acbdfbeb4644ee684a66debde4522e84bdf4430a56e9941aea213c79705c8a65491c4746178c903dc13a28e75945d9d84709a9682506f5382d6d661b4693fa91d3633496a33d49b1df471384a061fc0dedc8c0373113f9b11990114873d9aba6cc5e6cbb87d27db69558d26f1841f0902764015db4ef5c99b9d9324346b0438752ec1fd8e7ec35766df46214782e5fd5fdc2caa2524b60dc0f4229ee37760c57e3a23c380a8df211b89c7f3796d10227ece00978694b32349ba860c045e9c9d6233420d7056b82f0e25f95e324e31b09e43858210aa321cb8a26c157a658abd33b8a9609c0ec857719b4d1b0f3b5da66fd80e725c84b40eb0e8ed84ad9716e14444d6d7076a961a14580501375365fbd46bf431c1e0038df91b0487c722cf790f6846070e25271ed9d1f53e110eb42662d3d324e5b12055ac6b6d6b9f4ff5656b8201717c29815262ced6b9d1d181000715c73af5b36c0c097419b4b3d534219c9f282cd66d1be51798e89cb626f47610d3e6ee10fa3f98295bb2c95601ddf65f25cdcf13def215907fdab83887bde324013818e626eea81caa2c11054fee510f1436c9b6f3d92bc4d1213291a9ac84a8eb0d45f2993e0ae81757c436526e3c747c57c990c9f79449ba6dcf066810d3b4da6d5b90543cec369913c0a10986b3da1fcc7744b57ed663c59601220c6741df5ffbf9d909a9a4b7ac198ad7100ffbfe8cf4635e702e357c41fe4ece29f5a86fa1bedc00ebc48d0301646b979046c098838d7d6f1cfdc70bbe9926f1a835a8ddb145b2e3c14585996f056ce790d0281eb07b69826cf31fbc3e1c0e60784c0c728a519b9ca6ff6466d620ae606293916b3a556112a96c98355462603eee0c56050c7a5d04299cfc7b2954704edd06b2021e54ec5e404da83927d2c46b1860403f10870f151c575a13b1d67c06958ff9d17ddc120ee9c34bd557da7b7e7655f890e6fd4999d39c226d3314398ef7917a3c44f178e657e9cc0406bb865e975c7793a33c27e396bcad51fc24b9ff86778d336281939ff0fae92d18320526d8150cc9789b0b4477b0120de877c4640bc9edb07f6ae903bbba0c5e9fa70aab66bfedb99299f60fc84a66071122ecc92e8327fd231e3c6a28c1c89146f5db0d58e5028294ce02fd4b664ad0a07100f69259e30360512e217a1eccd0c2179698162e8bcc88f81ed5e5fb81b3ecccdea92e5c17d6ab2987c6b90a52802b20ea38417cc79e09337e2439a3f9e3eb000cb1861a0ad75dbc0a45521b944ad50603722370e6cfba22aeba64d99f2bfdb6a5ec8c33604d5e29103ffdc9df47601d8c8677b1ae509557cb3a83b97a93bdb4bbbeb8d2dfd193d19f72607035ad0ae80e374df420e8b77da0bf5cc903cbf669149bd6bad1fb0e85cec7c5a9719b0ba1517510391436b8402f7f9160f6a41b08e542a94f3b9f042985ceb8770cd8e7a02c675afbeb5668bfaf9e895a241ac3abbaaec1622866af9b7f2094131b05f9d9c7fbe694a2873a098671d29396a13aa323467c3e36a33d083cdba97822f28074cecbbba502eee16c3d18f4aee28a75521e869412306f15ba9657b102af84a20b51d3b3b126c390b05aeda717e57fa1084fb466cf29212239dcd9917f6ed1f220a3e549e6ffa58348834543a311a3680f2b89c9016df7699a1f55647cd3a421a0b381b13eab63a9f7c515e059311e7d7623e31d4e4e033eccd8649d147081ddd0b9e9b30ade7c2a09c24941a06adb7e675b6d593339bf06f04900c875e659f5d45ff15a2492eba8ed5becbc7e113605848032c3fce1a4c018363c89e5115ff6c4564d9fbc68c20980e87499cb87f1c494f6c8ce748637dbb79ab134f8bf449f4003f58196a68226228e6f71128eecbed8e3050dea7a1ef1b77de027f3e7cb88fa58155f395b35ef83a1c9e73712cbe24439fdadf5a0d7e1b75bc39eeeb30ebfba3c55214708b9d71a62f988160e7952c367bac0634478a01f1585c21a4817784ab8cd6f0bb808c8199db82de558cc75bdb140a30037f2862137fc10157e1ac8f26c2983b239a7c80619ad1ac66eb98473617aec74c38def534f2b628f3a3aff970efd3c52ffa6191a413bdc3060bbd404a62ee1084c178b7f0cf2bfcd745bf9ea752260a2412e76390d192fbb46ee2fc193f2e055146dbe0b17326ef7dd3d2ce49852799bc394cb746e5d3e9ca20b117630a130467b8330b13096498dbb441471f9e5ca930c01f346b2d0f93a01448568dc678f1ff9509e83a7b1d1de0ba1bef6b0e40fcb882d5a7454e55615b8eac83109280f54cad9662269b2cbe95cf660a7afe854a14c18a89d9f91731489e5c80fbb4fc6f83a48d39a3b50dc1899770b0704b8fd0ccfc666e5921630da8bd610c84091cc3a9a55dc8eba6b9a2c3e3d55776b06e46ede69a2e21a8f091b560863369284d2a284fb140ab7d3231a81212de509234404aabb0ef9b0318e3dee70d93dec209dccf06c1879f6f6108ac8e405e5bbafa257bb7166a644cdf96ed2b5fd3af31d627a88011009bc56f8a7cdfb8e85c602b91b32a0e83f66e03a95c8900be92075c4257faf62a4822d222c7916a2723ddc105753cfb2bfe2ee4f61db1ce58e97ee3eeae45c0d50332e5a0e38c4f07d7ee0c13773236446742a1c86a9753658cdaa1f89076f7e83a79bc1db01bfa868df1ff507cbee657f7af4a6890a39f74c68afefd3dcf050db2e8066a8b536501fa614a48edb49d8e7d7b9df5db535931d4da46c6d29c408e674a70a210cf28060deb1bdba20de48ec7a3470f5a84ffe331cf808622f4510bf8371de30eecd58b5e2b7403cdb9ae2593a4c3d1f7381c3c91df77366a7c3e44e7eb9e829f4ac9041f72e368ed2e031b95ea90c70db503d31cc674676fe2c5920f44f59a444bec052b7d306ab9834d47e1dae1a16d6c1dac532e832b5ddc3bd9838ed756b67564def84856dd364f6f2ba004d350d8ee4130591b56783690a4eb960b17fe9df8968d8943788f229abd0220bc0cfa20db9f41024246d8b2963a3b505b17ecdcdc31260f0599d75370e32e88273db8a7d48d5f6dc1e3738e8e98dfa10d497e83099b8e4043dee36c54f9c2a759bf78436532027fb47d2137462324a7c67c647dd7ff29a1900a2fc2d578c19a0cef605fce18b7eece0c9f4892cb1852c34ad66dc89ba2d338b16f2eee52c32040f2102d690693cb73071a0966f061353314caa311d60b729320b0ba4c2091ad4ca4e58555685b902786be28f50ad2f1cbbba110fc9f0d23eba7e72fa4bfc0432f7eca455f94b7cc560c484ebeadf83940df49fc5bee958d7e9afe74268fb2aee9aef24a464d581c6b5fb95983c7e4bb95a0911955f09ac4e267a457301275337dda2e3d55f47d4d709663b237328bd9d915e56b18705812f184d91bef3bd3b4608ea7c98bc4f8ef802e2a2ebe01480ca181b57c4eec90453218c4ac7ebe6dd28ed534b477932d248e93ffe4a6d25d77974af109523ed1ee177c844f1af00b27f2432009480ae741fe1c62e1e73ac76e9ec56129af97e6beb23d1cb1a880cdaf897de364a0ad7767b100e8a5dfbb61913deae99f4352ebeabbf81a47cc7bcb2114006b286be5998d3be2fe9309a20c14a46b1be7bb9a8a2b9520f5aa6a9f5aaeb311c14a73d7406c6844c076c69662c6cf7f813b274198bf49a8ec84d0efe782677f473af46b5edea50197e09955c20c2b7e599ff08d34b0c1fb16888419666692c15ad94b64f9bc0457c5ae67f4a3e2c615fd1c2b650c8d5b4b51c0fcebef60d82aceec1001db8146cb640d0fd931d1b8724c9d2e478c2dc0bc777c097e614226128520393a2ee18dfd06e7dfe50c386457319ec135e50b4a9f7b433beac6bccc32bcc3ecc41312dae172543ef405bc820782cc168c59362e4acc625e4786dd116b177116f53bca1eb88cc2cab7acfd261390458d9a7ba66a13fbb9ee2c5411166b1a2442362125723166efac0b0758143b132d5c1a903ab8d42ede52e41ffc0d40349d86cc155b6d60411323b29f9a4109c05d2ef79963633ca52e259e4e2f0e738ac9400782d43847551c644fe64e0e6f01298a977b67c135bb373abaaf7f51089a431394cbd2cfc30e8f5ce93d009e1640fd849246d7d8eef0e5c75d16e82e5794736fb1c5c05c0fc3ee5c501c1e4eaa2226ced1a836dbfe473e2879eaded4408626df7ed5550347c3cc4e712c59257fa47596674abcb35b0b8fea6a41d0014e62af41f10a55226b7634f95a0c5060136ce0e842179892f0d99cba5a2a66cd4614b74955c6905945c8ced218bec6c44b193efe2c1c23cc6d8c6d6a4e2a88a0c1144f9884b9d5249dff936018d8da07e9254f42ea52c627f08c92c064934def9e233b47b6aee630d116f15dafd414a6a1049f7a022fbb943d8f1734fe1a8e03e882ca55c45c45e8477c33ca4065c359cc065ad45f281478930b420703401e64cfc684b31f772ded4c221e073d4a5967e293f86a2b96ca68366f6d1a2943d231d56cb03054a24c053c46d0b994b6f2501243838b6e79c9a606e59b3913b2235c1b56fe1fd7082f95c9db742bca93507c47727c325e46fe1254be500f7628dd8096578ed0b62066258d8283ee2d8545998a5738e097c4fc2c18387552be80e3c1c08bd9e22172259d109dd592d32ef291322517f0f15c1e4c98ce12a195256b9e82f907ba19b3a11d9e742182b30f5046fb82ead4211a00554d30d56295fda8f67cb4ed6141da9a33e019b986ccc8570fe63291d9bf57b144e0aa7b64f15d3c2ddadb905ac6b33203bc8059d5624027c9dc92c150938c444c87297ac047a7001da46ece419c1ac8d09c714fd8741c8117f03d9f88d6783f59ccd9476a820bceb18f0439d7953cecb8acc4f45cef3393ce7209aa07fcd38841091975b641464a9d23d04adb3d82bb9367c160629b86949b639828ad0d9b4529507365577ca951e91d5dec98cfa3710e6417fb9c6e6a84fc3d397b96792a52be30462722a9b144331a78ff5b9332d9dab7d8c33b3ec1ce949c26ce15de3e5e294c37c0b45f81174ad159aaf1319ba08badcbf0e692269eccbc4b369380d99c6ac410ea8ec376013cad8fc0fa637728973ffa25c724d653db56815480141d5164bbbc31a47c7f4d20ebddb0a9bcd456064a10f5a29f8c1cbe6a4961cc18d0b8a95f9ea619c1c9010af05b6804411dc8c1801099ebe222c8e507936eebfedebdbe4a8ae0c488c99b13559500a0aa130eca0e47abe498b932f23966824c3e6fd1fb2e6ddda300cbc1bb6026186281996bea61b9c7e397adaf43d80a01c18e7fb035bedb432414f87347e669c880fb6c1b55b3b495c570c729408bed3d0381a54b28eaf076c2fe5b89572bdcb50eee92185d03438bef713b77985ccac20398657fc51ba26bf9a6446f484ed8879806905c3f38958166366f383d5f7cdbe9f27162228d66b264ea74bcc623f90f885fa35a6323502749004846d267244c9cbb9845525a5003b628f41d8f46eb6522852f70151898cd90009c71c81888aa2eeebb5b571fa89388566f26236a05c4c71d7ba4677224177328acef2e49977ebca20e37bac6f66e57bf07856d11eff9942a425714e0307b3c62baca06b0bcd478a2aef39cf3ac78f492c2d9acc37f69e38a1010f86061d72ab248cfe0de599fd83a412c6f972f9a70ef8804bbe367422c525a716a01594a82a8ea3dced0853df366f580ab20de9da0c7a440c9b882f337bb536d79110c13d1b2c28932f84ded9c0943235df0be4946e72cb0da4f78c8442a981897c93cd29221ba607ee70369f84c0b3f3aa143be2e117f66203e2861abaf59050eb20eafd4b83acbf0679ba95bc14ba91518bb3ca01f5640888c7bb9b86162dc38135f4fdffdf8b5ac70847819fc30cfe311eb7005863817ad74697cb2d41fc636064409edd52c0a5f67675cb003608759585501572b47e5d7ce687a43dc4382d8b287c0abb3075fb29336310becd0da672c22040a698759874505f669f4d2cb0823b1dc54c4478cfc0276995954fdb90f471d2752776cef340da9000f5f925a6993bc45c79fd4ebc55088c818c75434b94f96b02453c5884d9eb5e2387de4e10e1c8435f10cd5b4b0f5ddc76119bcc2150ff510280439b7edcd60d3488d8622b98344d0aa1540a4fb51b6300c103861be88c337564317084b44f039027908f91fa6acd0bd9d84340dcb780a12fb8426ae7c824e824b16c998fd10c8c4238509b8cde25aeb4853a5c880554be5150eb75c9418d30d3ebc429a77b057b78548177ef24a3112b69601ec8d45a9ecf1453774916431e08fe3180453869c9504679a042067ea07de0eb6927f1ea4a8529937f9413ce9ea24ace77aabf7c7d1d75e3067f0bedf1a7c8545c77739a8072c47c40ed23d1b789342956d55d8445d7442aa60983edc0645313a8b20d3a9e18284f9a3be0a983d93422a068bfefc864b455436f948a2d3f66e02e221f387b5f7e22d3b2a837534e63d8acf1a3fc454e9b326f65650584d1eeefc04d014ef3fe1d035ed31c5c828b41fee06c8959a6f920a26f4a90e034e1cc5667729701ac7c9bbcef00970344e89cbe3f0a8021cf4a352744acdab0eda96dce5078c0f405d472cbe55702d3096d1d24095a2e19018d57863cae82a7e8f5d46653328ffbfe48c633a7a662f15d95934c4c26cfd820ecde609b918e70d2227d1bfd892679eca968cb92195987095906d9508250501cc31b4129144573c322b6576d4f96630feae2a238b1a6e8c728a75b437a630f8d7308433bf238df0a336ed7b40936bc317250ab136b5f52c9c87e8c9fe8ad5895f7cb5b1feaa953e9a4d3528c38110850e7a276b8251f1cadbd79982b24383d3bd9415780269d58a7ffacca4e0b326e0479971e1d7474056d8da4a34dd1f3726b775ded20152a036a5e5493137f2b225bc7114c7fa94720676ac7eabcc017189407d59ffaf24f611f2e40a89b26cb84c40f4dd02b51546072a1479842733f82d19d7a946f406dc36bb7de645175c2c3288b0564b0e00560e70678220c0075221a2c3adf74519662900c66581c6cf949be9e30a74c00f6688e1ebbbfa42e2ab1907b5311bf34fce557909a9b5ae2e0e11d7a95397ee9eee91f22184de3d3614b362facbb446bdc54220b0adc6797079ff38894b59670d96cd2c2cd45548c667ded10724819dfac9b7b21171104a4ae7955cc2617e96da0bb7efb1daba101a7300ee5fcc8ed4bedc03afa72a149fed9dd11a7a9c03b9a7f689a2ffda4f5ac72ceb5af9df42dced787a0629bda9ff193c81171db49545579536369122d34148ceb6fb3387c049aefe08b67cbe5d093e945bb9aefe65c1e025a1acfbb1c95228a15b37c467c955b1dba963f7b5095b18cbf58b7db40b458e3ad47bfb43c82de31a96fc6b7e1a55c79c2e6d278ea4c2ace8c2c60e2b218de365d102b7648b899b6c543b1045f03f299b7fb30cb87160b478c07cad2eafcb570156157c9d3a839be0fe712e2bd29eec70b24f29777f4591f4c4ec71e8d0e86d7034d2d719bd07af9dbfa49830835b73681c118dbe8fe159cfc494a3fef505c67c1f8f792aa58b74ce9f5cac6e7635892cc4af79c980e6513bcbe46a766076b4025020d0924292c589f6c2d0fc56a9e7dee948642f6b8cd8fed29979f582e87b48e049ca9438081957de61efef020b63c57186620cb207997652dc97e9a8ac694459e2a8c26e8b91ed330d38368249587e5bc4ae13c35d70c27d2f817fe7d3e45e60adbda96cebcd38cfb1491a7a79868def8f79318ecccd97dba3b704885a651fd3b6a8826b55cea29f4186cf65d644cd387b39319a3537a812d73eed7cf5bcebad09c28da8309d17473c4bdae842fdab7c80eb3a6e969ec5b19d2ce3565d7b038a7ce822e28aafd815def0f932e8d000ba8052ffd89842923e0f6faebd759b18a617401da74e36fcbaa32c795cdda97bd0cc8cc99a1b8b69e2d7d7691560bfe56262b742f3384eaa4b1c4b67d7c225e07590b228658834b8d60ac11f64c09e9765583ec1f0ee9eb162bb2bac0e84709315678d615effdaff976fe37459c52b758ddf7d6af6a6815138c977e42bdcc3c76cf1eeaeeb294915d64f7e6dc902fae1cd698b3cbd02cd7d71bea1e32db8ed3e62fe258470c1ce0a99f001ff403201d1b3e5d6dadba5db726f3ac59f03fa61059b13d4a189d3a6c720cc811f41b11d5228a249f2d57dfd38439735c54b38ed20eab22dfce36ee71637b0a2939fafd2a4ce19e806109ec7306741ca1a55fc6108a488b061bf6a4570a3e18afbdcab6d139519f19a189b6e5bd50bf3c7b05b854216061a752068feedf2386137eeef5e55cf05be452944471b3b943b460c56262c162587568e7af0d8f340f3c08bfedb8e179de4e1d8d8cb8c952c54d117af9ad1377d780dec886028a3f2639d0bcf1b38475e8bccb9f9d3f0a4e6e721d713a813859bc449d2dca9b91c0f5f31deb81d54be260845b230469997f839a41a8b9856d6267947060450b35de2ebbbe0cc5f12d1b673aac5d8c15e75029a9e2792e0914f675e0ea71a738e054439ffacc9458fde3e5f0c58cacb4bdf96c48f19a1095a47872fc29792a371472c4be4decc0a5e52e60b46f947c8d1bde38d50ae165f5fb2035821f5693944c256564ad45dd0758f8dc996d412136e7c8324c9bbcb7037a00ff73c214b6118a92bd9c8302229fe38b31ded493381008705e036478e17b1918a254c6c12969a7060e25e534878a997b5d2f28b27ed6cd1007172b3da8fa67f1f821214b5816cbeff720b55c03949123048be913b610fc91919c21dc63002a6ef8e226d57df1220df456ce2436edd1362ce8f209a15f388ff62696dd5489de78226748565e303df51a3db01bd45f79c984cc79d11b8078dc6b85b4a8c63666c4925aff77a1fefcb24ac9d47cabb51a9c7916cd72b0a941084d74e2286220ade1a42221fba48dfb2ab5b746158a0f1e79e6f3a97497f76be8aa154c83fe88c8cbe3d6d87b87d34b26f9defd53a4c1b915da4b3f5e521fd9c37560c81f998cfb725e0450c9f96cc4abb92f1bd40346298f7967c8a53299b597993fde32f244de838cb25e820c675faf81a19fc0d21831839b405c9092a699de9eded953d607da7f6166b879530bbababc9c28834c95ef052fb9e6a80ce4a1f2a738efcf5f175eca46001db71920c9cb5ce055ac69e1c48c80397ee027426b7867b50ce5162ffce93c57cc58636262f9dc6b7bf80d627ebbe377175b85f90511238b17eab43e1c2c8e06849c2cc5dfd4794628de6fb86b3f379e132b05d9a50b2d7f6206a337084af2155b8f85a37b591ec95d37f2f3bdac55ab331da6eb9e2846cea5452ac272f6f4fa9e771c41ae173ad9cd0e17e31022eeaa76af60815130e8d80e9bc31f7b1fccf9f3853fa7eb5e4f29738249b71a7c2e5ccc13227017ca51a035b28ffd478ab8fe827e5aa6021580c8dde61b0862fe64724da2d825738a6d39b5c056e131e85913d3559822229b9c31fc287969f2af5a6034dcc4abb83c628a6443cd87d73cc743eecb537fc88e7b7384b2c062cde5b6c8817a64a6719b0f8b1d015dc17c5ba8661a3cbcd57a35a51a03257578b07cae605dcc6878eb7d95d60ce1e19f1bb78d401b82ccbf1fa0dfcc940de0d3e499295dfa0dfe91d0b002713fc32f751de944fb323b0d9fedb6404d23fb87e5de6b81121814f139f2dbc02abcc5fcbc063173a47894b4d2064740f656529c6b1704b38bda8a03ab422b7962e07222065f796567cdbaf99b20dd5098559c0708c962df3db4429a0cfdd65286de8b02548fcc17e8fc4089e3175b8560a27dd10f40d3030c2642beb351f3e526dbc3dcf961c30cc83bf01ef9831d4e0d8a30882fab4f20c0fd88a4853e126624fa34bf16ab609492ebb551309b8cff1f92819e496c29f6b2cc4f84e013f960ad163744a67ece5e36d43bf6edf51e0562ca1d6316dbf743337bc4b8215ad890a094dabd3444884a270d084a425f5d6e9227687b0ea8d9557e78b1e501258d6afa04f0c19788be1d7f4c72b8243e0c2f8f30785cb247efb56d4a8198eaf8a9b394803f5ed6c9ec24529cbc504cea013a77ed525f60cc1c5607cac9721c921ee80e462cc1d226722919d89a30c477b01b22f250d40bb17898c5423ca27f3c164a73f6e6fa13f1d029f29a9847874cbf8ab7f0da918f7eb75afc39e8180bbbc42c39fdaa533a167f9f9a4f0a35ee2d93dc5b6e19110536051b05ff0f8455ea8628871ea79c1952bd1c1e609cc0e2834ad7eaeaea5a6bfdf6b20cfbd61f07be825d183366197e912aedde42ee2222872073b0b8d2d90a52c26478f3c3e32feee298d7082af262c21020df4c1389d8eebd37ef42d05e06baaeeb0163a657a8915a3743352c9d292049cd34a3a327a9932d5e7a614b2a80448f50071aba67ad4a672f953084c3bfdd7bef6dd3198c5eae415256d04a49448b102a1198169844d0ba2d65653dd3902dc6cd2f0ab482887c601ee590b4cd643a7251854966de4f765beecd32ccdb61db1cd00250bcd845c93897cd1fb71fcebc3cdb0b4928c9a9c7e504261f4e2d423edfff7fdb03b22c036e7cd0b2d91a0a71ec81b333c1d1a191d22a761a2a318477d5c1840f53c5ad9e1d201596c54ed775712ccbf695add0b22ccbb2269e5986dd35c777af5ef765192efaa9f0585142a46282494f185b930a762caff5ff3f65c5c32250fb6f6cdf84174ab58684e359a962d83e6979095ed575e5f7c390d90b1def2331286ad378f1124e47ba74f390eb3de68197745d82f7ee9cd7ee76372575dabd3b2c96a2aa6a9ff9d00af489edbbe62e958f00bfbe70eb34f49737c83d97e02ca82fd5a82f455348a0db12a82dcfb1ac62c82601487216d4d74980b6be008cc059f2afcd1360e95dabd9e60ef3a140e8510618c03aeaebf885c17e896921dbdc33e02e980668cf99e758006e70544565680ac72c6b06c2242c9c057da24f60071450661b86991c3bb8e041939b5458792ff738fa6cd16412bd608125240e674177c95d6f47fd20cb72578620cb72c75ba80deda1bc1c8bcab19d7167e22403d7bc814c6ceb9ab9fe140c78e51ca30dc018720523ef5a3dee82ed9e768d770a07292a5904e7dca541538f7d40cb6d735741d040f344050184d401319dc2b3899af60b5415043487f2b20312e076203700431159b5b9639705753154091b6f337eb639852ac1cb5d45d30e72032880a3adc0825780c14b04f1f175cd72b6b99fb838d8541ae898c452079c60b0e32c3102e05868b1d3914b9ba6a81624b9cc3acb52b6b96bf0c220030ed2fee42ceb850de9a715d61c837d4ad0ee288a62b0536679f66a5194c681b3c55044442dcb4ce8aab0cc66c436770d3cf8608a03935ed2318c25ef505f09fa83800ffd95bc427037a74e0ff28bc20c77ea5c5e5332da437f28508e6920cb72cf39e79cfa505f12ceb2ae2779c78c79d0b380dadc61183444651042dea035418e6513e458ee21b4a809509ea6845082f48205439c053b4340d38ea1f32f4909814de13ca73837844001c859d613d4a7b376eac3708a539da6a9c6d001ef20c4d38e010435e9418e650a5028e22c2a2a1c384d58ed5eafe7b3cd1d03586c96c3631760da6a02c8698c29081a5fe8b478d976c0976dee2e150e8e18e80d76380b87c0707d6af38c076059ee2b677961141515a713bf76b92401bafee02c6b8b49ea6c394b16ae6b9b3253aa74996459dbdf2afc0957e3ef2514228fabbafa84eb2f4d0a7fc2349926bb9a3a7becaeee0b18545854725f794f7fe90938d0d40bfb42afcd7ded1c68be0bd0940b2eb0bbda3fd83de50425d0940fd4bea6e4f23395e57e825d9bca684e970f4f53d41e8eba4b65399a053fcea2d2e61bdc59b2d3f9b452e1001fb77a388b8a0a86408a9200c5b8a33dbcc56b765af0c3d7939906be1623e0ab30520739f0ec79f0019e3a41a66e9a3b81e7ee2ae2686acbb19ce652172be0022e1fae8d5801b9eb271aa66961305549d11416b5a7831899baa99b5ed0c01cbb404a4b99d8d8010534d283afcd5d6f9081f0000871343c82cc16435e3d94e4dcbe470fe0888747676785326686c8b00222489fcd440458c300ab11335b35676cb66ea4ebba2faf6bc62cc3c8e472438df9b11ead755fbb96c08db56547879583db420888c34b2102117d875000fe5e967aa8a38ac6466e7a49e6fa6c1df11b8ab95cc631a90c8edd39692acb70d32a43d296edcdd082d75c82ad1d43ee6b5f476cdede326e01304005b4330c522a7223d3bbba22408d540f185c92658bac98de4b9582e005a9762bfa017544619c5e9088bf9222f8165784302906898cc01892b8c32cdc42bee45e1e3a96701c9b25748071a497eabc2ccbb26c2d976578d7f3fd34d480b81029784b0891111f2f468a9c80e6788a82b02ccbb255c12cc3422332b964ae54393b8c70eab13892f404831be1b8169b1e6c687bef9d24c372db6a4b6dfcffb34dba9df63f572be2e204093ea078d0db6e276ddaf5c0b42d4e1d5a42388ef8905e2869fb65c70990114069930dd245ccb6ad7da6870c609c097142526a59ac426d4e38554fd46d4d2ac8aeebbabb8e2eb9f85a55755ba19ad3b395f0759d515f8b873d767c7befadf3a53cdc4ce776d80a0a182d3239455c86d09a2ef74c3a1a9a17155c72d85c8a2cd47e9e4ed77575e8b3c54b3bbb67b38467fbddf5e20c33985a0617dd4ef6ff7f8b9363d9c711e2496557755dd7f5a9d96d71930862767f27c223246a1a8c48d8985437768e5017a5230034293161f6d633b83efb19aa062be1bf6eb6f7de459fad76efd443ae49aaf6efde7bef5b5128f941300eab151c5bb6f4edb10eebfd3802aee44dfb4c1b3d6b8a3b8249423f5d101229409240fb9662d5f3a408c446a4431d52f1f495912ec7b3ebfd3b75baaedbb3f7de7befbdf7b3c54d54c176ef678b21afba3813c4df22cd8d020f664508f97f635996659f8c598691c925d399e1e999e185cbe30864655226130d57ce0c1049c1110b23de8e21ea1e55625510cedeba4dcc72df120e3aa0e68b4ccf6b134cf212515ba4f3ff3d9209618273035097a6aaaaaaaa292bfa6a1b2e3349324a1d920924313acd74030c3037426d982475058573a44546ee7654cc526d8a99d2a9a13ba89ac713339e4f41da6f75409d7a7a83938fe7b24c8f7558ef316993879ccc53937146d3b0f55887f58eebb10eeb7db6b1760613bf18a4f4cd3ed7753ba4b8780308dd9520e7c6ee470f249109234725c5a452cc7efdffff9f818690658757449ae9b84226db503580701f44ce84a8b3205554a495d301eac9a6e5aee861b268e9683b63c75d5f6326473079e5624816160a0ddb5b8013b61ea719379f89278d1d051a206628601db66211e4f10793042ca79d082c0d73049304438439c244c128a5783739b7e76f829e558baae7550c8e22372a58f4c450d1ebfeffc75266199e6a5aad606dd9569eef5689a94fc5678f131ab6755d57bc8e20468e1c3144444056574d2d4411783dd6619d77230c232d2e44ba2020dab64ab18b23b4d02579d552579965d89d5add267f556048e3684a86ad470411179f890b099b95d65a0b456519564e35ad32086ded59f3e5a9638668549e8cbef7de7b83d1d57a331de9d1f0177771be37ca11ae85655a31b7a86c542f158f6a870a0808abd4edd79f89c05486572214dcd6317994397c01c25458004e081825123c7e8aa4c005fa90be706e78f1743740e57e476894b8b991f14432a44946154e4dfa42245a265f3c66d35593d4cd8ff64ea1e37adcb1ffff2f6e96e1dc4ec34b8ff8e2d3b80a44a084c303ae6647924a48314992d0de7b6f9e5e2ac3eb708673bf495a4704e18102b1976346fbfcffb7d8b20cbf3c0d2d3b484015e908c7b22ccb1aeddea8f746be37fabd11f08d826f247c23634e2e2752cca4af54d74d57166a1478b8ad7feb0e74d891e2a93323480851d011979e169c262914c6e04d0f2541820931888a6583cc90c18af16064841de890fe8d6861445d31423257e08c7866b067a7ebba37181789c760abdf92924dfcf9d4b4a0483d6c84f014591123e474a36aced456e9d7611b47ea95c261985f2ac32b2e9ba8b16c50ad4671cae9bca5000785d0cecdbbe20744b89d6cf6de9ba8ab4c4feee22feee21cd7d7bdf76e1e65194e22ea0dcd6357b1e26e2638d8bcf054999079572483845e201013e9baee0c8a99704d668faefdff23796619763324c9b12f5c898622ccff7fdbaa67f452195e918079e9baae0db0c5c3df1288c482d5f55887f51e24fde1f55887f50e8fdbafffffffff9f38256cff77359e184532333696c0114880e8fd7befbdf770cbaadddb849a0f57521262590492fc8941031501d5a22ed544e0308d140a8aa1093bc121243f80945cd0a862d678a0f1413804fd4981307df71b76bd7fefbdf7e6edde7b6f620aa2766feeaa6aa96077c35fdcc5b90d1dda80d6d78496f5fb7f5d501f502011918ac931858620e26367506ce9eba36e1842e30e3d913e92509fa6dc05941f9c1f413c522e3e509fd3ce521034aa05cbc60df90229a4bd889974583395ece12feee298ef9dfef07006234e1b3c2c881cf03d127c43a0b35427a3463cb4c37aacc37aef6165d2ffe56639c6d8613a343b9de213f1c94347fb5fd371c2c1a8c4900b9612a807a30709081f3a34c15435562a0db1e92991e0584241204120e0752249ae076e488b1f3c4e20764e605996657fc22cc3466472c974d27ecf0d781c974618f15175447796cf5f22c12d99e0e28e5b0da01e593028749c6676347f33a4ebba1f523c7426fd3a4cf836ac4b797da6855e5a6bad8fbf2cc3c075c331c85fc9fe2b40b9758abdb9ffff366f96611ecd6667c85bd344420f0945e535fbec6ba0431ba2fe9bd65a6ba4609661a111a9ae202555156bd3b0927a3dbefcc55d9c2fdd60bc2d6cd31120e4054abf1a45b69e5a24683b47ea464bedc0f01777717ebbe51511c0a10be4ff7758edffff019073ebb10eeb7da6c73aacffde381ae9c30ca12886368040c5c01ae6c0698a524266e287dff7903398d8cb1983f0f6d63accc4416254f8dce81491583dd779d2e46ed1dce868939090bb4e6afcc55d9cffaaf4d4c3bb9ad3504c28e7f3f5cfbb722e5dd7a5d1ce1637e5e49c284a1301d866d82c99b48c20d19b2212980faaaab5d6ddd5b5d6fa7694653889788c52576e4a55cdb7dcce75dd1a35d762a69b37475462fbe1c1acfac425728fdc2497e81edd2857b955ae2ad868172836bf80162e324cb8228ed8509b9a8c75266773fb516d49dbd2c6b4396dcf8fedbd778fd65a6bdda1c73aacf75f8f7558a7d9373548143c0a260589c163306a876ac825559c54c669adb51692946598788c526e1032b5674b4b190b35fee22ece6fbcab50b395dd3bb7cc32cc74aee49eee0a4c6ecf6e1a09e587b73a59deffff7f0a955752b2dfe00cf983fa117a2102fde064e3e1493730fdfeff71ffff3fdc2cc3b95d8f5df9e163d90d6801f191f522e9f9c403a28307f9e061d5b0639ca1f3d1cd541ca3c689233a7aacc37aa721d435969d11741675285125c487879c9d7d64b8836501871b195939ac6ac8286a75e0e5a0b2602987d3f8ffea9021ed4814a16a01c2d4b43cf5ac2f2fcbf00e906e5f22ad79f8f891e482442dc4ee47056f911d7f7117e71c5094085a51243455f541f71e5918be451f238c4463301e7a78ffff7b0600801859306688f898c1a4b9e909c2d448d7754ba0cc163305324bffff32925986972c4d069365ffdfbe737a7d9fa987f7f96fa17602e3b75fffffff30c5aefdffffc729318623bbffff17331577dc4534c1edad893aadb5d6438459868dc8e492b9618873ab0029a9e12feee27cefbd6fca6e6189c85d69ae04a90a667bef7d05d457413ec4be5a4afccd4ac2e6809966e57b637cfafbdfafffff7fe9e8d7feffbf251edcf4dc2091f4861c8bc5234040bc8aac8c226c3d8dc85c93938dd1093e2ccbb250bd2cc3be1f3028343e0d0a29e451435becd7ffff7ff3cc32bcd27357df0922c75df218442cf2fc687a2ad075dd9fdc6b3113f3d7cbb9967c2cd4f40db758cfbdf7d6f1177771fece8c581c2b63b51541b1b1ec8c49adcf7e87cd653d819e72583e9864ac92a84caeaf87655916f7cb320c0c0a8dc8155cf255feff6f40ddb2770b77939a42904cf03182b1d421e609005d2fc511f6140f430009b98bd5ed8d43dbff9cc499001b2e0a26718b47d3b025a6fd961a1d9599caf0fa31290f524ba99b1981532b2787b75b81850a79147053396a6a4549135cd8a089a1b5d65a262acbb072aa69d5ca6cd95e1f142c2338028f564c09211faae4a46bae78d1599a9362a6204f54e75c305df0f09637924cb518c26ae154a829616b8fccb88ebadc25647329d610145cdd9c2b2931aac41ea1dcab0e570071ffff3292b20c13d7238f7a6d90a1ecb17f5e548799908d63d9da90828d65f78d1acbd64a6a2c6bb3f5d976812209b30c1b91c9e56b4062fec3fcc4d412cd2cc3562cadc49609dbcbc4db63787983a8a4cca1f8f1419398b49126e51da0821689e507a3a9a22c164b39ffe4c243f248cddcd8423aa1e7b85fffcafeff330153195e8d503c5d6bd666abfeff0ffa6519060685c69520e49efdab778f7558efb7efb3cd9be9bdf7de32824528d87aac46896df348b02ccbb2503b598681888e9288af01eaf8ffe3c1c345608ce9ce755d1c638b997e808c3a46e5650ff8b67442fcb8011557a849703ab02ceee13383e4e54819b443db4195844e3f9f3a1bffff0f23aafdb7adfb37abf7defb294c65784d5ffee22ece75eefaff9f6195d1c5164048a349ad986c96d43493d02ac993d9afffff7f282acbb0728a36d4e470a209c4c50f21125345daa32ada4f5f70aaf24899a42472e5f1d59b2e1564805ca6d39c4434d90c2195504ca15c671aef52196eb55effffff7f4c3582a8344ffbf5ffff1345fcdaff278a48c2535f3a9e4a1f1a3daa7028608884ec95fdff67658edaff2ca5a2920b899fe78ca31d46bdb403464fd72aa25428554cada868befabffcc55d1cf3bdf71e51b4f7de3fc82cc3c975e567c95fffde4064152240ad387164a9497b5484f69d7036a87c28ed4aebf5ffff83a2b20c2ba79a563b43d0966d67f8bd7bf74e62d6be3681d698f46bd013b60c27dead7694e5b5f7decb160f95c276ef65ab43c60534fcc55d1cf37f1aded5171bba287d5bf6de1beb97caf0badf9292bd61b0861141125b41a1aa19181748fb13c411421818ffff448c2c8d08926be55096b43ebc794a0d96c8ec0d138572b583c149bf0e2b2233442731a9d13fd6199362f7ffffbd10011c2e396254c838f2c3c8c9c5480f0a5efaa1eb6971c4a3042ba00d4998d62a808428e70392a764105ab499bc1b3f38fee22ece07a0b30593c36204a509268e2a12eb00ff29cca8ad70990388f5a483c7cbc2869658b6ffa2c70cd05384cb595e8f7558ef482857bcbe06694e21ffb7a444bfbb6edbbbc986b2dddb9644d14144893a3752fc88910c9586a894cb9e789544909b242319041c00401446e240515bc7071400092c94acd08c64b430140885c180381086e11804611006611886613806a0508c8433d8005082026a816b0153ccdfcc6dcd9499cd0fdc9976dba19bc93639b9e902b51cba7dca1cd8fc832d59c116fdd3eb8fe2cf6d9d5b0ba5e4b4829d0bbcde7093d1ef23d9a09cef9c90b9e265020284549a6cc8e983e257e323c163f21ac3222cb9a291f6b08a15a47964fecdb15ab599683b723e2b50ede217bf55f617a73df1dcbcb904dcfaac2e51e842b4e5ac930cd3052eb6fa848e3fa75a6200505bd1d9d474b5851d21e56914ff1c8e07085fbc26c4ff01521e45a2344a98e2bf7d0c1923acf8deb02ddcffb0af32303b0573dd615d77f75c1fff204d018e492b561222827610b21d01c3d9885ebfb7077f83e894e5e2cc4a1b2ee98903a5689c03c6370cdfa61710bbbd78010d6ab4f1cdb681e56f8fda604ca77ad8f14b914ddb3a5b2303fde57342bce79c59b0679b6c2801ff4f867aa3bc4e4cab2398da0ddc17fa1b29efd3aad1137daf12db5359aa4ecbe913af1376f4d03e284d1de085870d6ded63faba9563d7fc73c4621dcbf8e734d65c3e8920b83b11da38fefcc277330b3016339be9c58969b08ddd23d0eb914506dafa50b24a2dad38f1f8f69fd13fdb2aab0e109485cd5a4c8c035b3a11efcfed25ed25919a0970226d29c2db8ae5528ab4d42cb067c86044ec8053831489613712df8f1ac444f7c6f70c08359ab4890f7d83ace588303e9d350afa17b1b3c29db9551ec494738f25eab7986801c27506b48cfbd25bf87c4d1d14f2e1d99ae1f2d85a6fe286564eebada81c3b1bf8273a4eec14dd0ed282b17b834a35b8799cd70e63748d0278ed36850303f1d54f0e8bed8178ad03071eef0a645caf12823047a3826389ea194641db22f64e3cec9f0e71148a8c285d88f83b19f180941391f6d571b7cd70ad457883b34a205fe9dc046e8a3f9a3a9357c45f62c1542c048c3b3378fa9601edf42dcca14d9dd7a0b160f57ea0069f35af30c0ce33e1da087222690942db15b0390f54da657d4c203810c46dff700bee9c0a669a87d3e72b0b026291d2b4e7e1c90d94c29a498f159cc07ce7151274f35d997e8fc3ff98687bb83fe388d274649fb2aefb28e66c7e8869f681ccec2d8bbf080bb75825a1ecd144fcfa28729c9f70656ed6b45960e278ec372a4e07fc31f849745f21b622e5f4a0b62f8a2eaac99bd86c307a7c56af233864ab4f905ecd16d8a9c06de52e162577d407066908fcb7c422d8a4df6b569c8bebf22fee8fea4a0dd410acaf1eb8f87caa73332c6349c7c419230494c846ffc51e2da7565135ced82f21c1995fdcba10278924bcc7edbe5e96e12e63e0d29423a889200ea534894ad1f627449042f5bfbb46f08aea7d88ee56f1252edc479f0d1352af89c7fd06574650ff080a383a8d9426a20c6ed15ab3c2a38c3a4cb4a4b9114af1aceac15ac5448c529c33ef96f02de1a63dff450528844fcb474e587b542f4626f53c4aaaa6d3bf60c5655e434094e5e37bbe0832c8430013593017de553d5013558184063c955e754791029d50f7a13e152d1bb3f9d73ff11711ea4674c87e0dddcf2fff02770e5abd2426e4cfd6e03a71b379c689944eb325f7b382cd4afbb19b7ba83bedfd044e5dcad31398c5ad7cb1882b68bbbabf8b841a99063d5f9c6231812a4061498c5518adc549301a61640e8bc18c428feeed9a52a8c6046fd75f192c29219f16d5bd91f0f22594b5fd624f843927c9890517d5325981f8723269559a57bb18a608228d58c75b7848ad0277aed518f16239950323cead2dc2550c81295776a92abaaf5806c8312e547053b1dc49299fd09db7c7c0dc67fc26003161201feeaf10a9011df2908937054b7ff60c6efa227f45c041be4c12e0e2da45a3b7fc68ad9bd1429878b9753fe20ada1af6d63f74b54af387751357085e538ac18a6d50fc44b5f585ab9466cea5d7ea255b336261b2d19c3db4c75d61caec08716156436fa76ab09d2f77a65287c7c24544dab7acdd0529dd4292cbc6f02547a494240aef4020d9b36fc929614a30eb8d554869741585bf01b42aecf6b04240c84183670c316e7423102b26d2c22bcd44429627cc234050885f85f8ba9b7e7b80e3ed7bbd816e50ef093e6ef4ec3319c684f6a5612f2abe6107ffee19820911a80f0e43380572864d67422f946768c5ebb6b3183198fbb58b2533e0848a10a67e609dcbc73fe47a2fbbf472056b22c881d4e511a0607b0e8ca990f9bc63a68ac23c35c00eb9787fa235cf5b1e3f6e093bde89e47472c7bdef0c54b16463a787e2bf5fce1bf3726de7d2f787343dd5643d8644846a41165248820cf3470dc0125b6fa7ec40b68ed72c673dceda8a09ae3047c41be6447dd2a75530e80651a3cf79c89e79a4a13e2d1c29a2d8121b4ee7b09d450069c658f8af2fb204a0763e1f957ca3962baa33f9bc4a5cc38efb26dd115a0887e8a8dbd58badb618861f3355212ab61c6811e22e1a092aee160e6017810a62e0a6283f93a436878e793df2eb201997c3dd029280205ade6fd9c0b30164bad1a34180a64aef48438df4fd86f7100b8fd37bb3c1fdf915344fe0cd6b14a9ba13e65a3aa9449af484e78ba5e4122145d3ea4451fcb3182a8c0f603b528c9a6783f2aefc735299652d70e0f1e49a94ead7d9a2a8c75117d4fa6f95ccef9acac8d6ea6acd7943682cd5167f267b8be72600ea7699798b7505697b5edcbe806cdda14b8cc551cdcfcebf84dd83b763852011f488f3be8e4d8498a7f056976a37cf01918e134d1db6b940b02961029b8d98d61f04d002d320246b89214b1b45dd51ed4e5bca24a07b9aca60c8dbcf70cf3a11f6bc120eac6c67c7983c1faa0226423913acee31c46eadd07e348c8db63d75fc335e78cef092a41b05b882a336c60109f95239dcf97c85bdf397c74f3d2a9dd17ae18542ef3722904ad1d177edc9bbb4aacac7e89309f285db20de1eb8986f47329110df2851adf8fbd563527a1a83d1e29504820ec5a265a6af56576e16422829928e597ac09c8599da1faca030e6fc7d0cc5ce528915b53b815604c279689454e3ee65920b33c5e1aa76220a3f9056322d6e0c3bf048ddc318c13496b4e369ab03e0e0764f3283150bd22a21d962ab3e0d1c787e1ef0285fea0523b103be8e745e16eb74838b00dfaa77de2857877ac8b48b3653ee4a8abb676abcd81cf816643e744127aed0210783aaacb7e432be62d05144be36e5abea9ba7f33025212a4dae973317287e7e7aa3413f8b614aa69f59fba23b0895ce832b7a630069170f0bcc89b9a81458ff56898834311d6f04968c369a80d48f543e1e5aaf7971fa77864bce24cc9f008a2a6aeebe22c695066968a42a58513df2ba56d6dbbe78c8278626fad437cc66f35ca07e99cd319bc3230919ac222e0990977dfc687b83faf69a70f0eedee9e373bd15ef208f2819576d71b194e9027dc3fd0d3c609d10c2ed580dddabeb3ee5018023a17451e7b049408e5d87c82de9dc65674027df79a11d8081ccd41f7f5905e2997f0282e72e345910217f376c6b77ab94163c0585f0991672d9c8e64118731f5155dd273a4a567a5c59438db89a890c730dddeefc73f27796ed790b91588df1ea48b3b3ee76cd95546caf64b545841865189675d1124dfdfc817427e80b342a9595fe36bb2a41e50b40551b54855f6ce11107ce4d8744b3509c0f461f45dd9390e605e25d52f439efbc2371de323696ec9845b184daa296fb59c2c943dd05347488b547530742045d0ddea64c4f5ab5091e681d6beaca3bb858c13331d68cf37151acf64647ca5600df4cf2735fdf574caeb86db9056ebbd748fa5a5b0c759d7c8797e9a1fa0cd0c4ef9c0271d6f35f0987723d7f4f14ac9401fe339ddd298856dfab0b5d1ea4997b5d71934359788b4316f31e1dd8ade840f66d01b23d63e7f7ad150929bbe0847c89ffd68b197a4b06de96197324a9f75f8fa93766f3dbab1dac94d3af5b114a6899c0e015d6fdb0b4af3380d970f9427eae9c20d4c697b8a16462d5b41ce360446644069b054a483ef3ed03b1cc91f211fc189f223876d9c54df7658e7a1c2dc9da2761d01a26afd1aadcaf6ef9d07216ebb14686afc69644df87ba233b501a3da1519a976d8352ba10e0f15230357b1d989a578181f265f3678b6111d8404c60d4b2303a804d84a74ea23934d2bb15105f26a0dd71acd0d38ca921d8c520167e5c14b181facbd6076c9b686703a0bc215ae44abaae44361f1ca9b4a0fddf0643b54b51212708d11c8d76d0f87c9dc72d759e6b0977c9285d56450e01d929dc0c09cf4dadc3557d5ac16e9c0890b095c474940160de0d1b496a3491a1de77f99cd5a69ab03a1979d5538fcb3278c38872b589964abe4e63002727b847e795558acfa035cb150f4a336e6bf8e78910e8ed80e4b52e4b8e4c7201c651ad15ab9c46a699937ce36b25c405d18e5cd700974434170030d0cd199faba9837a11a73d3735812a03736067a4f71dd3e8582c7e07974a2b9fe92b58f8575df175c17eab2ca2b7fd2e65bd8b1597f4b50fc183d27f51e484c25ae71946e9588feecc8677acd60d11e93e31e1ff5d969882db65b45a972daa4875ef3ec037de350102ceeb1fc905b9066e461a20400554cad02872ff3991c13a402c6eef11fddccc0ef770255086e3b7e3d0dd679f248b125a7230b9552da5bef943e9534ad193277819211482a0d376cb2c4879f97f73cff0c537f9319949d0aefdfc5de78ab8076622cdd8d2dbbfb62eea9d25cd3146d41ebfc514a77e07f874181e800283eddfe1234048678dc52b629a54870c94d25113b966a4529076d1ad25480068d495dd247cf9a2ce18a08c6731d04421f8f05731944e925c4e89d9e974d972fd0607c02d578d1504daadf6ccfd1355b7ba1e365a234aba3462fc84dea169ec2a52492f96d9e0591ee12a1421a2c38fe9443bd74361a4caef91e120b08e31e95c2ed06b5592408826a50c78280303aac24e73c4f0f5e01945ca479de29301dc3443b0f9f87204b188178a3958f48dea28589bb977dfe5db47a687e3992d6abed0a90b7d9ccd05c9a26073cefaf55495e0bedf2dbcff5d2c8d6cf9d87ffee8c2a2c148e78c6b7818a2f402761a64aae274c1a39042ccc8173ec331fe61010cfcf08b2eb5efbbd1d85eabec0935f0c482111825fd2648e89429eacd104dd834d1032241a43be8e875ab63948dd3624c9d67c1f73525272dc984e2d84147dea7a7490720c238a494a416fea0550ca67242b76bdfb672d489d94fd2f8eabedb0e8b96b4cdd425d5384e3a380e5cd999f82ee4f6439e7e25582e6112f60026f3c051a486471a9c8af6d6f203586ea51d4764fe5a6879122ad270f77cd2f61de5b4bd7bdde5108a5238c36e65b9bba8d2faf27ccd99b338ef0afe3622bf03ef1b332210cbbcab43939d4c6f2ef524d90a816e0aa596721d47135d4a88b6131893ca652e0721289f24856e2aa954b0b601861c1e5ab79f313b632ad6d44d0d06eead6f665195f629aa4e0e39ad64b1c62e22c77d1c8fe570bfe1bb346404ed224843a1ee4a2cbfc8db336b25a370596bc4999f2d09f6f7501751adafcea2faea47a8a648ad36f8e219d2b6ede1da860188752ad6af5dd1652d888190adc777d61658fd3333be6ddf09eb58abd51526042eb1a94d41e7f5c4b6292cfe9e1ff900f6a93361f717fe27d459ff18aa56cbcbba5f13f7767c209dd4bdf1eecd5df02aac1c68a4f0454c4c1d2e91f42c0a90ab7678c597357fc679d8f38e75e233ff0c302ae0150067d15110f269f17c3d25f41b159aa974b8c3000ff92416b7504a681608798f3458608eb446616ee9ffa810e0591c1799684c680e8be8678cc2a550c9e1d535e096aa4154d21c2c8985c43c0c7ff87e4e04d283e175be7c0759236fd2c80abaabe0f5fee96cbbfd3d351c688ad5e2b812004a4fb8b443b79d6bdb988a4a135a7270b7abae162049f7842e0cb2fb16e45f78e60cb0e3ee018387d52c171045635eea4409f4abf866715e4df6ec5a1d022d2267ae8ea1117c79ea88737fe7d46fba59061e244d203630d20390183dc05744b464ac79a29bfaf91b1af200e914dfe5a3f909220bd70cea12bf2f6c0ce39af721229961f5740f06b034a434fb5288657b02ac966249e98230799f3dec7134d6752e46aa90608236935d59c5b634d19538fe1b24a011ae4ad0b5d78d9cf5496064140b22a32ba572a160d8bb41f33fd9cee8ec70486c965d3287a9bd0824b1375efd2c5956d9d77930e486f0abc3c9a0371eb00d30921734c2205edcbd925e3b1c204c6b2689aedb122a2f5832c8bd18a6c4d893680b0822a1c60b535c6825154560ca004a7e9595528511789817a383a52f4373c94a1ce6e72decde3ce3636818ad2072d9ee22b9c44a09509e11ce3497bd93036a2e9fc021025a2b356223ed1dee6922cc9cade788189a100fdada23ef5379373185f4e964b7d71998400ffdb0dec49c168dee9dfecd9066c270817c65896b23bc13693702854b7addd35ac1f61845232ad3c47d26769581fd1501988a3f3ce59fb4f09d470b658227f70c45a2a2b448212fa91048f0fe99be5d22aa3868a8e2218d2164c5e7310cda140a70a5148c21543b2f5aa4fd30677cb7b491c0fcda67a57ab2efbd885f14f2928483e1fd2d5320c562450e5e9c610bb15ec08494cf2faa8682617f4162878ed68eb41ae28a236184d90d7d514ac4e9e494a5103518240e56ee73736b9e88094475472a5fa71edef2d88a745d52adf51006201e95221b02b68516365b74ca23e2cba14b0c5e41b82273284d62a4e5bc0471dc97de80bbbeb9f03682389554422149a350ec47b1a034c089408d096535b4032ab57201027c0f34363b6dcbd15a4e09d47ed9143985a14578253fac05cbbaca216843a1020442b69f1c6c6f713b2c4843ec83c1de93419aeda1c4f434be8e9cdd146d46841ca65942515354bf5da6845121bab5c523ee9aa9eb3522ed2b9190270d5a6e4802196fb605f2b9f85ae163c56f4c78cc6df1f1762d2077102f548107d09bd73abcd873e61a396904c80f906aa92e092a2132ae2a7dbd7d7c67c2ed23a889e02a7f296c7609178a381f59f542d21274052472d3bcb65cb9b08ba1776e281e9d806d83ba94a4eff77fb6555acab482f5f390f845a1e34b88ae7b71843a825e2902ad67f5ec48ee7ceba0537fc4589760586314f6ece4b2d0b09534a203618f2e6a735450a9fe1f1dccbff3084de656c4ef703b5a28b277db113213ab2a0424d8eb16d2a94985b0c5512fc6cdc9f9e0f77b40f3992a120dcb21420a14da3b2576eed1caab8210e92cda910b936989132d508e68b9b1e17901771b5adbf1bc30e81b450f0ce530af826aa3889c5ba613395a8620f66bd71ab32ac6c818373433528e3b3f08cc70e16414eb1581bf92276a1ea4db14ca5341838d7f6d805ec117a5869c61819531b1d0a5473b0b6a0570f55943a232ccc34a54f03189ef3a1d4225e63cc711d25f35228489a088ef85e0f66e93f62d1549e7a4e8ff2af822112971fb08cff49fd2e1495cf7edd786b312df9326b39b7c87d951f715a427ec5f646d2339d7a13ad38054eb44ee267f98b15a2cf7adde26d4b76f5337091a24b21d630d04ef3bdd8bb0298824ff26cb7bc7ab88f04a2d2bc588c86adc2b2222d6afd95b3a2e509b46e85ec7ac7d405043cbfe08ea97108c891eda930f2b600e17769ea3d82705a1929422366a97ca1629db495e1caeb2512ab82d5f19ba6847aaa8f96cba140e874b87040b0d56b49906f68ab96ea3850970514193ee489fac25eb8f91dd64be76c529ab502c299028d248da4fd65e04914d73b41acf43a1a47520864c1235a58e2070aaef5e96a22d44d86df68959a2683323d9ace3b049b390cbb9cbdf02c3681b4b8bf38b4637b837063b1c5c68b04d6ae264f1fa904dedcf5e89016c4c2ed15cbea6052b61cd4143f865b613bbef43308c3cce98b46225212268072199c6cb74f87003e360d802876e34b1068cfc4e18d6b50d8a62dfa41bddb102a58f41154e503ef121bf9abac07bf16d84712aad84629a0aed8c4c9d9ffe51b0581ce49791ca0354c18170ca524ecfb7d054ac4704f8eb5dd77db41dcda988103df113d58723a1db871c519a4599737e99fb38144c33d81aad092bba4ec589ac2cc60385baebb72b97fdbbb9a78fae6ad5c446c4637808e5f0e5fc59ef10593eec3cca2ce99d9cfc12892971c9c8c34ad68d7ca7a8abc847bc8fd3c0fd38b55310e28063c123baa3621007537a547a4a54706056439fd7baad322ddc24b88f6d7fb59ca050bdb7e732c7b36f39df9334bbec26671e0c9925d2e5eda3b454a8ee8400c413a34aada6730cf2485694691bb908394bddb9196c13ec299482ae69d837fef6d03ba33b517c7a5e012214555e2d399afe4ea8b30edbf8e51fb1cb3bd7b3c72b50286ae53ecb9ad04b0fb509cabe227d3e0d70ed640b78e159020ea369b0303ba3f9e23b71da9c38035bd8617ccbdd01270ce8f21c54b476238f39116bee3ac441c019037204a0c7ce1208906984c509f308a8140ca791357b23a586d63a8036d1e48d0e86afa1c68d21a8857b3c5a3b9bb7f4b834ab66e36ce22a944f94cc75c781c067bd5658e2244aa9405d7d1e259d403287c244543551fe390d3838016ba04183721e5547a28e240047b0d5ebc68effcd9a56487f2a577e9e02328824c3ba5303f9635bd3295195a2db7eff80f5250133ab8d637b423aa85da90cf08af4aac83095b7c991bad9f8e9344eb6c9416b217e6767afd410dca35646ac7e5a4693078961be6e5c7b040eae5012ac75ecc0f25e548581d7a1e834c77767046a9f00f5bcb9ff79a8ea0db978e94f69384fd6f9dd8e6054d2f28261b00e53691f2b2ebadbfeae04f5fbd60d89aa3b804d9cd589771e8f247f8e56ec3f0af917ca5a170725e0c90f85bbee888e2185e220eebe641046cba19031571299441403a4c8c997aa5b93baef8ba674d63d2ab965f488115158f4c50cd92e63e6a0beecca324416c21999d2096855a06bf9cc9cb5d50c19fe754c445ef0f7c805f0083a7fd133a9af66276dec4a1badbb5e3b968ca55de57643653cbe4b66b9e86935d9578b9cddae8af6cdd1cea5babc1b06825686b0f6a88507f7d5ee70e7d17fc17770ed9a65b06ea58d4f45d7efb75f394cf7012dddaa692c7b0546b379c0c596b2344b2c728b8066d5c1bc88b65839dac2514883b9338189b1f78b1b103ce23726edf77757d1352a2045d35071585271f2c65c0219655f6516c1d002b7d06c4d0a94f4dc2145ddeaa5ba279634de9b90b60afa109e4e51d247280dec42f0b2669413f56665f811f1109b22076ed707907aa5dd4012b7f30cb22beabbb7184a51105baec49aeb597276b793e690afceb0546194e1244807208386ce19bbce13f5754417ecc0495dd0af14ccdbb3441fe2013506261d70ef172cdc4e435a062b29c3e37d795925bf37b6abbd4110d0b1000b88f71bcd74b75a2d750fa14b5f2da8bd91aaca690b080f3e61277fc0af18726084833c0de9edb876b32636b74d252f1ae72b78a95e62adc0e5ffff25b02da6a81c7f5bf79d542a9384250ac1ada250ce14f5aca6f70adba4d674812f2fc4db4ddcc46b000d8b76b0718556360fa2a9b1eac915005d88d6f76dab9cc3d9cb2cd8450941cabe7f3f14c226438f748b86337c060352ccfe5d38cf5e171c602f5b5029876b3ea1155258e733526d3a93a4bdebf986fb5868b3a29c93082fa582bf755ead56c3821b9080c8e36f7fee40e1acba5284f5c0a475ac01c5107aa80c5cd9a30bc0699d5c189c263507e0aca4a72a0b17331048adb837df88e12a7026ea6ccb4ade2717ec5b4ee4a41bab09e7c56825940463bf1fad665d4c28bb9086e78895b5809e4b38e3d2c54a4644d00e42bacde7b819241b820e4ad3ee6c86f97c8fb4fdc03afe93cf90ef671b186a0719dedc4c39e6dac91b386c4801e752c06d346ca5c4216bd4d01f4861dcf00c58d81cf13412ed81eb1b74b368032885482927bf32e454163fe2777373fd4b29d8ae3d2f0ef7b98784ba92ca73407e0635f93f1a7ca11dbb249ef9389b5981970d40a209eed46fc5affa319669b3057694e4da2fe5a6e24d54385fdba11f27870f60e7f78bacf6cc67007f4064cbd6c52f82a6ce938a68e7d6d3c9981846526904ca88b884686c24f638cc29c71d4762f9e4411a2b0d71fbaa322c1531224d7ee765eac3f38883637b0c8fa742097d555d9050863f9cf3feb21af653bc7577229c76e04ed6465caf67663d7351181dae034e10b4d047591d0cd15904993d8bf5cea3c55ab99ec3f15cb85b49b75eaaff34acca7fb0ca29c39eff5036b65509719a67f620cf6bd3c6bab06fefbdf1d2d9381537d2599a17812fe8d12b821cc2c840fe36b3358bd2a8c05629738441ffd21354172b71aa9d80e360907ec782baed73582b85d3428fc1312b221f27482bbd74dc93e95640dbd9abd70e50216cb4da5f0967f9140825c1aa86c1082d0b0e7f0f6f56707cebd7d81e575bc977dc47ea9da518e5e161660924158736550c7872f35d064f9bbd486dbd3cdf266069cb732ab30fad41fb39b708a373d20e991c8a564df8d67020d7f4fb52484adc5325e619906153f137b0c35782dea057a9d837ab95b0fd30e5751890c565e54436743f12ecf54b20a0ef560dacd7b346194e404a50456a3990b4384245b48476044a42a1d005e1fc91bceb6f95d1ec13298710bc8586522241eb46a26017776b34a6568d5542253277a932258ba8683bfb9f12bbfa9864f252e7f3c2f1d8939dd22e0e576d5cfb28ea060e906eaab0696b3192005900151008fcd5dedb2e1b7c16519f37ddc05a2c3c99dc4326fe43f193e1ab5559c1267dc20e4f48ed44f50e11b59a83b7749498097e5bf0244d5dc4e24c64f577747f2724729ab76a65cc6d9a28a745c82a3e393d24508c0e8f4bad67175aa21af0070b9489fbeb4c4140b576c1a8ea54e18bddc284295410baf6adde30479f98d304cea9da3a46547ea5511d76c74a3b7329e575407f49104a27af61abfcf1a7780884d2cefe805a19a7e64701533660c78c4939c89850ed83df821f3da3ab0f95ce2d7578509d7f4f275de605aadae5f3d23f1d6c73df71c841751d80daa344ac90b369c319ba44e29caaf95ea6b9d657384f0f7fd222a0e49131eb28af12d9b42420384429a0bb429eef4045504019bb2e6bca71a4a937fa73b240cf0dcd2f5e6984e314eeaaaa8c29cc2aeef24c20e7c538a4c8fd47cbeb8cb311427e9ba63b60551d3acd8cd7d5f94c0ea0a5ee790cbf24d5cac53da4a1b54a33f971e79421c6056e4c81eea6aeb27e8cb2f6c40acc4f04ce414f29491db60fd50ba913bfc4aec7ee9f120c6d007a5e418f6c0eaecc81fb2a8ddd690353c72a3d0163e12b95765aea8287cf4f0d7efebc3b0dc062abfe4f5c85d6753319c1ea11e7a810a3f26a47b85a55fc14a14e88c7064567e2d62a51e158857041384f8eb6d68477837f69519521c05c037a26632d3ca3f7e4350b0ad1d6fa5082dbeacc2bae6ba05303ff8555327700e886f8abe3b85d706c945da53539fa4c01835f3c8e54645bf3bfb4d96b3e8b28b2d1f49c3928e8ec0751c445f487443fe888ff99cc381227a00d25a29a545f96810258e3199ae830618da698165648443f1298e37a5ced4a1c6b8d6a6d6db82bf17e2f595da78c67313efbe7eb14729f0377d24297646e00758ed83e436fc998a075e4a6627dcea7fe1ef778e1f99c1ed74c4814a999138e95dce9e9615d50589540b8291d67510964a2ccbb6afd4a34f3a736410a7515edabd8674033148122e707157313c2a8daa9ce32e9178fdb138ff369a9fbd8c77e2f064f8689799f80feabf5d8d5f4062b65823b02b05f792759fa64f19da3405b630391a6a43813def498718edbce97cd6fb7bf1550cf233febe7bed0944fae1633fd37518549b8c8aa41655c03aa346c68375f0f3b5ccc88aab9e9f2157b25b172b001f1c451a5dd5b0b4b300f915393a2433143eef5606377ca169f66c37b5e46e450ac8478af068269a5b1757a4d16140b074a172a87075126de2df522f2c427653dacfed2041443ed3215e0fb1a37a0c897cd50374faeca1fb87e852e8ec0a357c35258d732e898c0b67f7815931bb085991db6decaf9d20930185639b81d08de620d01368e9ba184ebd4fd3ce001501fcc68f9c5a8ae10274e5edbf2ddf3178b55e8449bdb9fe8ac63528a02d5116358b3110ff716ea7ff6110908e908c50b9e301d6d1a79797667fb096d84defd764fe7d261ab7e20ca77a0319f61d18491e9bc074e6e29dd94c100db9411f30ff0f4785461f1f1c134d9296341e452493d6570e02f15858d9a84ac68b663a93cf07a0b49702b2524a58b0d4949581d45a0216a854ba68f6dba2943995c58f145562e2c994be7f6e7dd0b94b2391efbd99a50751af0acd88c5df4322d1fd1ac15af102bf63016cd65124ed300babde4970041b7a397d3c24246e687df69cb706e017cd6d900458458cd17fc960c5df4882fd257cb2f85279da8d9f099e6fc366b29a67e1b1f9dd1729a0c6a9859616c4d2f02fd7b2eea6c203f2669644273d2c5bfe7bc032f1aea296e24a9311f7242fc150118c14e765517ffedf3e310202b4b5af1779350febfb7ffaed87a3fb7095002e8f42065d3b3b3dc66c50ecfe8dbd1c454f6298b0f38d9b2c43b70c8549480195516fd6369aa995173c7b64cf8114ea0db69573ce5596da35c6d7cc29366a82691d44efca06b87a40def9ff45384e476e97547e0b75999898f8af027c6144b4dac4cbbce837b0905d76e1c43584edda902bc5ba984a525973e56ee8a9005be8ededc5568afa9698460399cf868d3a77e8b35cd1a12ad9afa0998023e35fdc4814b4149ee94b324b47d93f6edfbffb69ae0db6ba80c6c076f895a401b5d0d3024cbd29ae2c473dc005a30952e8ba65930d71aea0a938ec5b67131ec4f92c1a29b325012659c1ada83ee9ab239626d2d18e88429bd50f8ac585f5c0626594b6e1f2e40850a775532668399ae73a0a7dba80ef3bd3a8eb09436551f5d6536161c0696992d15c6af227634d9e8bccc1e08c8e83ba2fe2b157aba736ce0d9090a836d2e11d3f8bc7ee8b50193ac0c20881f7db7498f071e5bcdd3a20859a93810ff3a180b1e93dbe6a36803b16f1e98a3d8f70fc19254809a4ba542fe35049b97b108b18e72b19ecca436fb49f276e50be6ab304508c54455bf9aafa6bf2bd041a4ffed471102a3536c445f247cbca6967a796b96ecf9d5833066b7520d2e27e864b8b33dd8fc9ba491cb32fbefdf7f68a9b02a579da992204ac66b2f8650c11ee1b2ad1751fe56f1b2db859bb0ef6c166d27eb54c9017f93e7440b031b01a531d8dd7eea1dcb22cd7f6b4ddd1afa4a0b03280ab356baf61c440bd21a2ebd9b0cf8986fee545d7df6ac9f6021bc9b412654b4593a0ff063f5416bb24f8139ff16990bc1e3396a88bb5e91dd3411b5c3f5b539abe0f7ef24b24fa7fa4bda91e19d2106c0cf20ebc6000d3295ad0355589c100c6e993c7f53ab8fedc991ae4e6ed14064d026de1622a6fa8c46fbe770c0998aa5fe997d524623417734ea651babce3c319a1cf88d3e62b614527149b6407792a481837e986df38cb6afa5a21ca536fca3744c1d85282e3872bcd01b390042536cb15c60d4317d6f033b0df4ece3ea1cd8711fb89de12e423dcb064cd447d5ddb0f34a57d3ed2c928d770fcff2b589ed9bd72784eeec2d90f7e768d52df07eea8c9120cfa63a1d8f9b2226f11dc7da6b22b3fede75c1e9175044e7e78e46a21765c28b63ac7ad25c16b3619b7116947ddcefeb96b256ce6ffb9e342805cd603bb26b7946416045bc9a6e1ca3b3a607c37efd9c3131fe69403e992cf0ffb3bdbd7da0c35a9392348cc9e6ab429bbe7fed25048cc9470cb1793b9ed8088940a987fd1d0a170a48cdc34de029cdd9db0195994e873da4d27ca0d9d6460b66f8831dc26a65f0b2734097caa1401e29c81b862f43c3a7bc4d87120af0bab36190a2a1f2abdd7a44508d0e0084ecd49132457dbf85e3374c948bbae91ff9ed3eecdf11b854f97aa4a2aafb67824e6ade337af91f982bb3ddee9a7f1ca2a7ef7a4faacbe824223d1cf5f7292457cd694a3c16d74daa3b9e9c3dcb6cbaf094e16a6efd4ee634350972949eb7c08ef70dfcab9e6d3d3aa9940dd931804aa97e11182bcb3f8e68fe42895ae7d9191586126fbd91421904e9403793167111fd7862bf8fb2d67126d1c0ab0b5d4658eaddd85786eaf24129bd8b20f93a5560edb171474d12ce03cb9634fed126d74508655118086fa06a7ddbd2687e80d9ae0a227797aaf8e2065dc8186651d9bbcd2b67a33bfe73bee6fe2782f73adcafd7592bc4b6767e9b190f1c3bc0d234faf5c54f4b23b69f3137b2174d712b29cf35aa2f9dc93048320146d81bee4f72558f168348e9e21def2c2beb200c6f5178ebca0a3ee0c3a8f2eae4db106f4bac3fc8f5cb6d000abfbfe9850da8fa167cef02aa2c86755c30cc519b0ea63d00a7fca27dbb9253fbac61242ab817cc68d722f691f59bdb4fbe8c4ec12836c728049774d206f1e55f3ce09f1ef7c7af92776090ea58324b851a6a8538abc8151422d6652f2eff124fa3a983f4265b4ab9a5943205dd0719070c073f0ad8e2b49fc5f1a9de0ad65a2dcd262449a019b4c148f4aa7bc222905d80b515680a85e4749cb5f483ec5b0cc7276bedb4d6bee83dd1e8d9316e3b6817be48638e6d4b96f7c39117fe8e271a3ddb46dd80e641d0a6789c160520edc7827ddf0275e759a5d5c7e1f85471ad3583369924815a22a2531e0a43d506bf667a33c58f809bc9bf5f6916b86141137ec0af6469f71618a476fda05d691e046d8b9f9290717e4c3a8d022069e70ec2b3f698129df2d8397f4ef2838d9dfec42309f4032b24b4677d3b4e12e8acd23e9895ce6a839fda4aa5cc317192403fa0426363bbc6a53feba45f2959e35afad327c5a4252baf0bc990a6bffdcebf058231c6bdcf61217e88872f786b93a3264959dfebc20fb64a2c0a82b18fd908408e867a1cc171d5021a2a205acae4c0df1912fa08c327914718621e699c882c77c1a98731c648fef63bff5e60916c270633549ca29021228d0d67868c60c217bcf7deab65ebe7c382fdb6c4291cb2b6f60d6141fef63bffb5489689645776577c63980c55344615e719c42e60e024ca102e44d9522466cccc0928243102937a4e41700d2c68c064e13a3384cb57123f5ec017bcf7de7befbdf7de7bef0f18685518630c240cc3308ca24471de0425e5abfa45204a96cf874d90d310578e20218410264714918494bac58c0e2f432b305171dadd59665faa5e94324972b2a93060b84826eb41f105efbdf752c952daf7feba8a6e847a555d7c84ed90e3073227e4f07a8c31d601aae21c476105f151a920a10565caeb862752b88e08995e3fc6c22a407a447a35303d8a7323700706c9a6737086c0a21572bf4374efbde10d2f97cc0b439e3562366561f18177efbd97ccc5e2578aa4c01d5e4534043e44193ae2e5082a2644f020a4c72d01d6921c5d3e961cb163081f44642610a3aa1f5644e0cd37c446a628ceadb0b4b82260c40be776c01e39e79c33107b34e41e99c1800a942c04347975d900a649ef2784179b2084a4e121318589c70b3430e912b3a326868890ad1a7e40208dd79290aa315f5c66103f58f0b7dff9074209470614fef63b2f0b7ae2a5839121482ee0780242059ccf8529d844a088d10a5780a09132f6036f05be9f67a42acef3548264095cf223c8ecd1e4bd2c8c31c65da228cea14c81bb8b150886990914c522a6658972f328ec3162458a15a91e4966e06a124286a647170f2c4c14050cab5a0287887c105374f02a828a139a39c686fd88584034d4a4a6e88c15b02531425947c825529e90c81459f1a909336404c92c88af30a19e11c6186f559ce71007bee075aa7053dd2e915765556d5575551639aaeebdb79775a9b204e0619cd420e5e0830b851db6a88c8829f3f7ccef4cd699ad335d7f8bc0228c31c6448c28ce91949ac01d11a8db929e12275a3e4441d9613060bc686a7adaa673b4ebdabbc106294849151e4170590a23c663777d70629f106900012e57c24079d243d5d3171c5d479478cc293b78814632192e4c1395ab23b4a0a1410b478909cdd185e4521cf7de2b5a51e3b3cad9127fb88f471722ae98b64e689a3dacb065f5e3a8860216282e428e281171f9260f4a68606440e173188cde0bee509330724156abd8c09b5015e7b91766c1e1bf1d5c4558408c3136eae530a57b8b5c062b8c8f889c85d1af3605f5abc2239212e6254b260688cd9497aaacfa2516699bced1da478e039244e1d1e38b4b882f5944a6c8ec4800cb121f10519078695480a40798d24dfa026b9815b80bc3d22b48d2f3275d44458445b5a01752001b72e58821a65f172a214965bac203f030c28710a6a52d323b3c89b23d7af7debb024d5518de1b866198448be29ccb0b6c4512315ed10a168e7c61f8a8e62b02c12077ee1c4860ce31251c92c93cb07ae1041eb2f4921031b18684d056d06f73dc7befc5e2a338af0a5960f985e1511aaf72060a89b6e91cad6f844c2c443d54220c8220088417c539d80a20c47845472b8248c23d3a2785205f261a2046474e6ea8aaa2c390b9c248d7143d15e456a10276efbd3eb213140e19983186e116e14012866138244471de334252ea60a8e9e664f8f0e5eb8a8729513f660e40a0f6053243912a8d5495ab5071fd30c698680c948f1c882fc618638c31c678ea4ad4c6f87780fced77fec16840683cd0857bef3daafadd7bf425e38b31c6f84a0bbce202afbcc02b30f04aec66a61e59e1c2758f7cd9c9568fa9a3a9e23c8343760cc417638c319e4a626a631c268858102940d384c9c4a1880907b67cd141eb870b4120f9adb1219c5a3395420f638c8d08ab38cfb5a2b0f718634cc58ae21c4b0bdc54b81e6bf931a46d3a476b3159c26e963543b31559e7f0d0369da3b58e5c34a5541155274654f2df7ee77f07dba33e88a44571ce054600c9cba673b44de7688df191d27c8203ac9235d3e1cb0c9a215eb8a4ec2e977dad161dbd000c81f58402d40d47ba206d51a1859aa34dbfd38316d9afb9280c875ec020c6185b4902595859d23e6418d3a288fef63bff3f7051173b642bec47d8848b7654293d9c9b2a280c5121524415a3ab13ca90a961be0e5cf131c448871333633b6cb544ca0f6dd3395a638c71901c0492786190166637382b0c800429e081e159a9c0839316aaa11a6ed02e8c7240814a4c161fba66961fa47c0ba82146b46030e22b0c16aa23bf3378ca28cb198f82a23897f2557510f5cb01f6c39a1d27681123b5bbb36a5f51ca06b0270500f7f2031315b268fd480107aa1c4346723402625bbf03e46fbff31faed093c98a520887b8f7de296049fbde7bef0dd2c3bdf766856126f211863479377d03eb3420bbc3e48ea1da0e7cbab31724dd37b03f9d6c2122b64b6cdf42646b6f99d0f61f336e834dbf84e3b2decd779acd51d8a4e83a6d51b4259974806a636363633b70342107f8f76fe0bfa44e08f7f367d2044c5ef2496747692e40afb84969a595d63593d259c1d2ad401004414b29a5165b6cb1b574a4512948aea03732ba749ff2c90e8e3df082e06d1a22668d55191c86ec401f1b046208b79d6ac98525a4cd732b102ae023ca0998301a886ee801c205e18699d6c02adad06616fb6bdf1b20c112115ea2f8a8aa9202ca0304da9b46c8b04ac1cb8c110f2a300ab8c04df1d9bb72763261e1224bcac85d7def2dd2544b5c7006dba99e20b165dba96a206367203a1a42e5894c0f4a49514f767c1a1c2718c103124298d04075886006a53046dc2003558e5c8e06ca5322e5c5852b2229d400c4c86886880b5810221f5b763eb441f84fcac1e447992356ba903809812308a9852d65988a1829f3e30915a212ab9292820e1c9240f3640c881ea2142963c4161992e67cfd4ed624400c9a305d2d6431e325092d44a88192d405ea698627626213353e4411cbcad14403125bbe78a901053539a8943c59411aaf24504582f04821cd1335e093d7139135433c7da121ccad4481ade1f245072d2be49e1c318dd8e52d677773cc029ab4b025c4aa4c1135bbf99fdb4e9bd6ba8a4963615d85e8e0891cc6e48d03475173cee2bb009aed2211bcbec2262f8b98a7e4e0b622e399a53c3308f4f2aef680de6d57fbf282ddebd9d5becc60d71ecc26a84ebfffceed04e5b1f9173b636db3ddb6f8a28b2a8a2f96768b5ffa4ffc2a8ef7f148df66a43129c625181b1bcbb273d48e82560e5c85b5bb7ecdd94adfafffa236da740d1b7ad71c457d9a23a0e699a3a82fe21996ed90f47114f57da88d195dfaef85084094c77e7d1794c77e7d1f5721dbf545d98b222ef38724d45de61b3a827626a8bd0927a8fd8eb9ab9137e64eb42f1b43d246b58083db77ea8c8a2a90f10583dee8b4efb66cc90c446fd6922e4010ec0261ccf8c9f080a3a03f75e6b45f02fd1bf4a710e5993545515d0294268f1e6deab4e9b43588dc094af789aabb39d7983863f4dc35465bc5e9ed1e701575531855e782baa0b7265dde3004ee975075ae02e728e8d3a753678089a34f6ff346dfa70e67d3dba6ef374741378e163d7db229cf94929adeaaadb35d13a0546bb505d827eacd66abb83977e0982bae16c055cced4e6f385874d9b3ebf768fdf8a2c9de6d3e3f6d9c9bd7a3659d3393e8cdd268e444a237fbb3888d8d8d4d11d9e72233014a3ce52cb2ed5bfb330909dcb3c814928d9397c929c445979e5566a1fff9c2d4e134b98a25aec2e6cbd7e0e64b9ca9d35fca76399b34e028ece77064550319f964e95b64e344aa35d56ab49f4d4e50595c51d67e8d269b483911905c0508eedc01669456012bbf2222949e45235f380afbb2916e9c2c7abe4d12dd542b655250686f69553fda4c56b321b37d9db798c5d9cbfcb7330336d8b909b7f34d26fb9ad34aec7cb373b87353c5d9cff96753d5591b4b9be1076f3b2cb1c39b1d863bfce9ba9c0fdf3f67b460c4196f64e18b230d0e288d45f86298c32c2b61054454c6d8ee3cdeaf19c58941f41dec01de74877c7ab3b7aa5a491f7ab319c015631083f5850a46f089906697b30d7e0567e183d469b5d6f086611886a34fa8138678db97310369c9868d6794b46d88df84f5711520b85f501ea75232c4b62f02e539c0aeb41f3c823b03ae2285a3b094cce1e0a05f545dfe000c5731b319578363dbfc2cfc52cb4c3881cd8ba128d6f1010b40b1eb7b49800d2304290d61549cfd0a8394edecda9725f6ec6ff62cdcb39faec3f9d9ec71c69bd11da7c7da28937d1d671cd4d9585bf8aea48c9d1f135266c6ec3ccba438cac69c211a868c1936284f69a36ef0f1db2f81f24ca152c6cefed9fb69479bd12b0e849251eda5e32294852189bf97773232bf4fcde3bdd9e08763af67975f36f276e45dfe5ecf2e7cb1845df1e8bb70bc9feb48c3b62bcd02788ba04603ef4ac6d0b5defab7924ed630b9269b89db89adaa5dda5890da65b699b89dd07171df371015da85af7b79773f8fbc1d3dbbfbbdbc0b4332ff1df10c0504b19d64d2b17fc37dbb12dc2f01b63cb6d27ffba40bfc9604c177d4527006d1bdd64a29a5b4d65a2b9d08d021bad3d1ee6a6bddd46bad36e876af2738a8635fc7921dcc4df67a68aedeecef40efd976e08b141ceff69ede813f691de0ed240935041f7c1f6a2908925e71754a12280d463b150b489b2ac9a662c168539a446a0351a11dbe632fef301326effbd43b7ac595b02d18c306ddfe166ca7fd14603bc95402cb632bad6363ee5e636e1f1bdbddb7cf74df692170b0ab6e7bb8a0adbea73c733a7bf249c531cfc89b10ec0a8a2028ded96cf45d1e81ac484e5f007802bbed8b7896479d0bd07ef62f68e4ec5ff80f8087a6e161e17bd70eda05ede893e514479ef8b39137fb3a92629a8687ed9dfb06d7776269db141c7dd7b144c1ae6f2f2df3367f622174ceec882edde7d3627eae3aa73453923ad9aa794fcf972ff4a05f74b0eeeeee4e5a6b6badf56df5efd2656e7fa55196eaef528f3d4e1f2473f4d63353d0dbbca30d70d31cbde572553777d36d11262bc06a1ab3c2abaf434b2439951315ec529bf829305b12a835505194268e0f8b95a92f26107dc72645ff06b753c19064973fbda8053ee832e7662c49d2445f579c7f0c47769933f166ba6c6274699b45544cb6d2f8bee84cf7dfeeb49c9b3ac68cb1e2634ec6f478573cdb97881366fb9536295b2df0a2ebdb7e5a89f28c354a6ddf6aa58aab6fc78c54c249db0b26d15b9daf956c56ca48f4a695b452d5d97e15571f9365cea292d09ea47ddbafea6c4d17e7277f68cafad2b5acb0f423b9f46f1d91a4317fe50cbb6603e6ae1f72d569b5ddd6246b0a9bc0a65d7ddb51fff2efda7ebb66a4aa9b7d7d9b0eae9b917a296ad7b74ebb3ef81880d1d4d66401912e3352531579bb86dda556da350bd5b0bb1656753f2ef01ce74542473d1792dc68d7af6555dd4f0b5c8e73af2db02eb1af5dbf2655753f2d4c39cead7c58555a4855f7d3c292e3dc4929aa090ad4ae6f1356753f2df01ce7454247bd16926a46bbbe4d56d5fd2c7139cebdb6c0bac4be767d1ba9aafb599a729c5bf9b0aab490aaee6769c971eea414d504056ad7a78555ddcf12cf715e24b47464d35b4ab231daf5695955f7a384cb71eeb505d625f6b5ebd3a4aaee47c994e3dcca8755a5f5dbf5694855f7a364c971eea414d504056ad79f8555dd8f129ee3bc48e8a8a7248966b4ebcfb2aaee87052ec7b9d7165897d8d7ae3f93aaba1f16a61ce7563eac2aaddfae3f43aaba1f16961ce74e4a514d50c2aaee87059ee3bc488885a3598f85a45956d5fd24e1729c7b6d8175894955dd4f9229c7b9950fab4a0ba9ea7e922c39ce9d94a29aa038ceebcbc2aaee2709cf715e2494e448ec2549128d767d5956d5fd287139cebdb6c0bac4be767d9954d5fd284d39cead7c58555abf5d5f8654753f4a4b8e7327a5a8262850bb7e1856753f4a3cc77991d0514f294966b4eb875955f78384cb71eeb505d62586e407c95258d5fd20e139cead7c58555a3f27a5a82628504542473d2449a151169754d5fdac309591aaee678525c7b9d8175897d796d60fabcacae7e4388f729cffac00054a2b69c043ff2e339292d3996dc93237cd32d2aeb6565b484b2c89febe23faa8b30841b13350831aea8c059d1a70172f5c8575213c8cacd4b95dda1741d0c63953c0dd29264bbf5fdfed7fa57d60774cb2f7d166d751877e96914ee98ddee8edc47863413b21d93bf47f9982327879d1f79d1227861b33f057cac2bdf47c5995fec07d5c85b8e7b7701576cfe965be0d4be70f7d760c7f1b7787631e99b028826fe37ecd596b9f7a7b5d6ac36869d9e79910dad1aff54acf7713389c2cb9d2a5de2888ee94524a29ad443e1f2acedf650ebf0b3cbec01f03932f80b426dd6189e17863c6db5c05adbcb163ccb7417d75c6443ba06d1b9406c90eeacfb7a4098aa36f776849db11f7e5b4de5b4c5b35ea2b7ca6e8df56b35c661ed0822efabeee92369b8fb66f543aeff27682f24cdaa474d24927fdb7a9a02ded4700dbde9f23d3fdfb27288e823e77370d8ef46f18726c90f4dfeef285892a931203903630c28ddb8542d7cda8b80ce2c4a0ffc1591892d96aeebcde54a04af87a573c7774a4508ea2fe8caaa34dbc8b298c9217241c8cb0f4a6d4d0017aab350cc3f0750cfae287e18b0e012d3efd49eb80bef86269e36efa2344e9b9bdb08c5961414207f145135c34950d537bee727e511ea7b2018c0a519ef87aa4501557a5aa76956559ce59268a2f4ea8aa9b5014ea4b4a1b7d37a1a0a0e6d7ed0635bfca1e26dafb509c183435916db65d69ce36dbffed36bf7a42de108d42d5321792a58dbb65641954f6c8c8bc69949c5ff4e6c4b73309b5f35e5a56a5690de2ae4fa55cc5ddb4af368ac3ae14cbae74caaeb46bd7cf2087f68aeba9b8fa362d2c6df3b4b730288f48e2a7910fdeffa131e858655926934d1b77e7fce007ed70c44f63a27d07a88ef6f547a0d517c3591ea1eaf2574fffae783b150c3e6afdfa82deea5be0a56d8592d19c1ce2cfd6af61b7b8c255d40d829b856f01abb31594a706b57b53dacf6cc56c408db9e90acaf3c3c12ceb483535b1fdea12ef0aed783b7ef7441f7cdfd5b7b64b933a79cfe6ce7645ff2e4decb9e4865d9ed05d46ac74f8ac86c2e88dfffbac70e7f1afb57ef9158b92353e70ae0fb7533131f2144b9736fac466e1229665ca0ab65813c1dcfef36fea4fa5aa9b51812a555c36ad09505cfd19f4564209f436df46ad085dc36e1b33280f7d7a9b5b7a6e276b7c4085360b7d810ffaa7b89d0aea37a7908dde2cd8d2a56d4f282555dcf52b59036c80a398cf004700031c05097483e34fa52403fc66693f7583f469d40d923d415b07dc949c4df1a6025342e0fe5dda7a1c70b3f5a4447f71d280f083240a7442983bf0e70e247bb31dfe9eddf1c0df113af57dd3bfbab262d48d5d730c1932dc6ad718f66eb19ca58ca0a80dfeacb874ab18f47d531a0b8ac17a53d89daddeaaea72d4c55d23d1a5ff5ebc70416feeb9fae57601ba034fb86dbc692083764a96eecb6dd59e9890985793345e5fbe08b9bb5377174093674be3647ef8e2feeeeeeeeeee3f7dba03390abfb9172a3a69133d6732fa45d377da247353d42017a129e09f436f342be952cfd9cc899e5b74eab476a00192feed437d6b9621cc323364b179da974c36a4d08e46a260f714be0cc7812809a13d4910ecb0c75578e0b297812feb603ef820962b4739277a5a4731491634e6d8c4f3656fc71853b422a9f363dfdf037f5bb74896f349f8a0bd99662e2357501ca5b1c8a48f8f1dfa9b69f6e06c5c417174e7aace9eb0848713fbb6a98c863224255d60c3053658df81a3efb2fd10eedb372184fa206982252ba574ab4b971d4a738c53973143989172f7dff37d7cfaf4e93ece62da599edec29948c999789bcd0a5d5de1280240982b0084b96ad1c287de5aac68d1c26785e7e89fe5a0693f74e7f63eed5fbe757205a9f301d982de7c82943913b66dbf806e0401dd08729f931537bf2ad5bcf4aa5b257598eccfdd8db9ab4fbfbc511e6c15e773e7f63ce8f27f3c28a82f5fa80c3a87fa766640f4fd1be501fdfa83fee0833652a0e706c9f86a9de19c31a9f383ffbe079804c13a3285bf4375e187630a8a9b56c9530e5b07b08a9696d514f2b7554af3a0d64a4e80476f537af64a54d14edaae68274e7679cbb169cd636bebf7b3115aa2e56765053e7ef7a05dbe3a82c03168a77381fbf881ee63f2c653fd1bb79240f641f286257528a96d94d2315cb8e8809a46b368968b7e18709dcd0590aba0a527017ee9697264f40f4e4ec7b9adea30e0b839d3cc69b39404b2fd2c59de726c7a072f2f27a72b281baeacc03090a27debe745fbd7087c860d57619f83a59b0a7bce1f7b4e1d49a4907f7e09a66f4ed1f9335c45067b7e09ae62e699844b88168f7973737373737373a3b5d65a6b5dabd56ab55aad6663636363636363238aa2288aa22893c96432994c16866118866148a3d168341a8d367bfaf366b4559cbfae8d36236dfc8af39f8d3e15e72f8e3a93a57b6dff699b77fa0c7a1b81e396385081c89eff43c79e4f93f0ddb4a40d4731677a864199d28ccc9fa44e0773d7f72f5fb4a67c041855577fa6025d668dc111ada333c95bc5f99748d2ef37dba960c8617b8f0a74d9f32595f4c290ab22de9c734e70ce397b74eae7260b0ae6a04b406d4a963fd339075d662250a0382db1b29a4c624829a59452320cc3975159585f4629fd6aa7cf1743b21c6187362d3d7bda97febbf9996b7f43ea9c1d6743d251f6e16803dce128a6001a5f8c5071f367e38b34247bc81238b42c286ac708df8234244bb792f94d05aab8a06dfaf9825de9dff06bf52e196e25922928ae92b926b913b73dc323c084e8ded264cc16355e5725b65335c972e5e4343f6873b1603bd5d3192e423e1f113eda9118f51b3e2daa2e6b6dd32158134200df82a4ef7e8abaeab44dbfcd7d94569def6c94ea9eeda34110fdbbd44bc6663a3b8a49c117be7ca9d2a92ea6a9053133cce7f3f9cf797b51ff858b17b3d68f61e71481f2d49f33c75a52e72a16259fb64697b95c8a9e1daabb2010c581a40b7a9b2c40312b2b07ff7e08f52d6982fdfa9734e109c804dfd1b653c9f0a30731319d9fa953adbdd27966bb62a2c90c7b92e589ed3e5dc7c5180441f0e24ba70f7a823e542cca40874e4173a42535302a73ef8313ab1cb4acb884e574fced07ede6bfa83a1d27752e007e7da0afe48d272781ea5bf286fd4aeaf8fbeefe8dfa20a9e324137edf811fb4c3419759dbc61249296c27732772371c74dda23c6c6d5d0ca698b0770ed5c818f54131679b2d860d70d7a7951fe3be6f71ce3dce0dce9d73b3313689b835a1b068e9597aa6d873cf1cc56cd4f6e7b33bf351b31869da514c1b8661759a4d3982fdd337a798a46180dae58452cada82220ea154c3d25ae67d5d549d0f4945bba03c409467969335699d01519ee95ab692d9c986b73cba74d929b5bbff0d8f15fc4bdab0decfae033d8f946a4dd4e7bc455fb09d2aeac86ed1f3b5bf06c1b7b0846cf53a86850e3824c5a063ce39e774c7800895e153499c415a9a4af486a3449753a92957dc5c72a729362c3b6111cb82820111ddc4046c970fa68cd717a5d4a9a5b587f2504ab5991911b02f8da4450bf7d9e8ed052df373a646c818556b9f52770a5632d7e3fed6ab3b5503f6a3947e8edee86707e46acf53114a3fcfe6105a4080f9bea8bb5b4b7de86d6610c48fdf6f4bce5adb6cffb75b99d315083359b914a0933d33e732eec9f5a40031699d00d962aad62f69daf4081d1881dee6c38041478001a3033d8e627ead083d020c264edce75a6badbf88504a291831531e1f53d09bb5f66f5a5b4b96d6065114505a85ac99aa2d367d1f731497d1b36906dba99860d9e56fa148019c3fa8544d7944b164686c00081014004316000030100a850342c17020e720acfd14000a62944c7648301d4603911c477210c540080200000210420852c6208618663b011882433e0f0790a9bee01deca4f24b8a086e57a728a1553df453c6460b4de4940f68237571f56d1efb54a2461bd48e6d72497665d0c25c69626dc2b1c1b2d6241f76fd1b2998fc123c1b5625cf0d325f3762ba4e0e80ea0c2d534099d9fb1676fb4966df2a745bb0d1aefa56dd0254826aaea92380d5814787a47b7a05ba7513936831a09bda60a8b465fb99b429c6612609ed733c504ac7f98257886f443edcdfdc52477fccbfec4a60dda4354da9cc42c313fe13b585d104a9f5fedb4d7e3cf739cddd3853329a68946f51d6e51b447687ef8e44dcd084281e842469bc156d7c0a6bd01f7890e115feb453dfab1fd2a7d5c6f64eaca1f7a03ef94b167eff881040dbe19c660741281ccdc25eb09da623c6d664cea556cea540a569f1619be9993d9e5a79903060de236d4a58c072621179d7223d8cdb9120b406829fd70a50dd4a5657ef141411a8aa9e5598cc8b628f4c262ced9d8cccff7dabeda89645f20df9513d3b2fe5366963f1f60e1f093cd324005131d5884d46025a694e9bce44262dc99a90c9f01b810391340245c36032cc95588243aa71913e34e14124d13fb38d5caaa4805184832e28651c8a9901266b91c073c90c3d56c8153fc231f8346c5a528e8d44cfded460257cb097d895aa78fe8e30d41ef0ff20a66546593abf211217240e365a20257711054282d5cf82d366458026259d46fbcb8bd64ce59a24e9f351c5437b0fb70801e938da4735e083e9984e665167bf423cfaf930c5c98debb4f70cd5a785eedbf4f0cd517d1a12f01d66393f39dcdfc6a453c4316888a4c446ff0a8d8bce5a8b4160b6bc94bb068f89bcb700eb5b4b5d8f620c6c35e051e23d96984e583b59049a08a46ee118694c4fc715f52ba7fa3ba62bd8e878925495a92ab10c5ca96f069972f96473e3055ac2b8627645afa70934a434e8e70b8b2970d1f873755ced80f32735b8b7cce996abefb11e03411a848205ffdb750f285ba31925511031cabcddb1898ea4c2bfb941e8a2187d50427b65544ee84b4253e98501f3f292ea168410dbc19ffccc0aeed705f7fd12a8857cac073158eaa3a03aa928100184000f0259c3c81d8b823fd0d8c401bb20f34d120749df3b0678167bb994e1483cd65a1a2fe3086e9f56331186f886e38709ed8df1766bd5f24b619f0b180e2883760b0201e3e587b14f2d1a0c8b4da93710cb478741578ac2e0b149875e19cb85da092422000ae293cc5ccd299daacd3d3008665b7107fef5e8b004ddf29a1874f596ee47ed21350b2fc494672d83b207168565d02168c44d58c22b6d0d223c10781fc13b0533fd900b556602501ee1ec8541f0904b72690049ff216fe7d80fbf143f4194dd8b98db20ff8c4f4602cf77f109e54dcdb80c1a0cc9ffaf984b9140b874f5caab77ae9a26cedcc9593dde9dbb912b16e9f2b1804e32c9cc25bedc5d125a2948b4414ab493f9a7ae75b3e1566fec0da65994a9a75ccb604304701c33cb6bbc191b625a87bdff561d28f8d9df6f5c143a87ea3f6713421a64484ba1a8c9af051b143375c84e1eace66211ae744672ac3f33b0f62f41991e792f9f87f6f3b1f9f0f17331a080aba0c552a89e06ebc91fd7ee0189c5d04faf359b1f18b41873ddaefc555c71e1fb1af36b70fd9643007c5a95000ea7f207f701ba10ae76afe5f63547f6d45114d836db0d33e7dbe2bcb0077efbe8a8f582d3b6b0b9590325a15bbc8ba7fa50da55486219b0be26a1804931a4ceb07cc2ff531096219ed43042095db19c51519271162edad57dbf3e75a44c6515eac60b88bfd9c2405eab388baf61696c9b0acaba53e68ec9756b2ab5d1a79a3dd57c20a03aa643059189e8a7dc84f2eb0751ad759fb255a07a72e2dbadbe4c45141c5e4ec4e54ca3c12da1053d212f5d169db6281bc38fe87e7097b8a5e1c1a70beb0639acaf237641ba3f078f632cf53f231c8dac6999a122c1e182696e32ef7125354d179c6f164f13ec58af5954a4b3e9560b83277b227dcfa56fb2afc4969a68d45b391a081ed9da95bb7cbd1c88811363813fd827e7be57ce3c7775e29c3696079b6f0db627c563fff3230869e4faf67825990ab1de4eb376eb0a85530872e6fbdd502156ba6e94dd06c2dcee1841b85c84320d0c1736d928dfcf410a3e0e978f39bb0e02e2628a5de58fb6d59c7d66ad2bfd4394b5a652f36d99ced299d11a475067f449bf118cb06ddaa21a48bb618ab9f05d187de7406dc7d0c7288359180e79250ff8c26eabcde96762593486e5a4362836b4e86018ab990b3b9b512f3391117826b7db371674ccc74d2a0910fd8a8dc8e9499bf6c284d1f9387990c62ca0a7cf2702feeb66f41b3dbdc09852ee5b0e51748ee1437ad717e8523584ccb94b14df449e8b09dc1016127af0d92d28bae4ae5d4188c1f4a686321ca103bc5e83b53b345c5fe4883f50c15d894aa4d3ff41ab0a2ff3303d12c7cf3ad5bd2ccd2ea6e8ee0bcab5e0445433598ca90698250c594b4fd60ff067a5a083df4c03ca4c434ad5e7e1a2d73fb193f494b8adf6658f7f808222a8a59fb85cc1759038edc3a5994c0c050b08a66f302535b4119a641f2ea61c73a67b4485500648c01a78534cf6de1d7eedd45cc51fd50b2322e39e06734690b087cd1b950c4faa823c403264276e0da1c63782210d96c5b2564c8d927d87f33ff1d585b1507e6178b935e0d2d542ff08eebb30b33fb31dc949e969f085534e17684e53d196d49e3e6f270d47f007868b013b9a2019809bdd9a5cf3acac161ba7e679568b955d9497bbb40197c3803fd3e214dbba23ccac9868be4b30d8b024622914f16c660d5d98077f7dca4f49febc83cd2836f8c3f457250305dfe43462778e548ca39351f88298da3a81a18f6cf1464f51ecfbe4baff64692450162261f76c0731ea2b0f0da2de1fdd6e0a3e78a6826cbf6cdbbdcf0b36e40a3868efd426c4764dc6568704772cf4543341d87b0a79741a667c36bb13389c9015d13d6641e221250690e19da5650ec9d1279faf3475f86b0e9b18e86c6637b1eec91ca53e588813535ad3d05172f9fcc885b2439370370a05a39e2d49d0a335a9069e59c528f1d07b1bb527bd330b61622861a47543fcd98a7b4e8c7eab817dfa71dcae16ea38941cce61776d8b6dafcf93dbb409bc3ec0e8f3aa7c52642b3d4c344c6be4db0367cb8798ea174a8e395e423e092a3e7581cce0d9286f19accc2adfe648310cc512db9882d31e74d16c54a5ef76cadd774ffca169f4a07ca3eefa3ef5546eb809fb40518040297a1b13c4458e1f812819cce8e5cc47cc3e1ac1c0ff85877fea5141d798e0abc9e1798dca844405a1c6e6a3076da60260f243633532b4dc42d50b4b78c8585290c8de5ffce3a2511084d6dc05c15cee03169b38b9a862e6b32b1ed1f51e15088a61d3168b80fd7c140edfb1ba88a18b860a4c40cbcf7fb282048c0d0fb6ef9704adcf2a4417245f388ce453ad05a21d54ea043e37c4de3d94c730481d97283fa7cdf1c445e8a83ff88a5db300d298a817e92f84aa0071d147d330395d19c32611cceed85c0ecdfc5bf0ee3aafd4644ae3e2a60e8d37dcd2d189362bc5264b8997f84d9ac074e7337b9bd573af915c962de2381c1e0f8c0178d67e6637424b50fefe964f13d0eae2d7a54f93eb802961f8d1fb46008e045a70c91b87f0174584cea884fab713bb99eaf73727050fd86e2745ebc04501381009391e1d8c1aef2ae5bec564dc025ce9608c82ed209a0b721c685aeda2e0eaa6279e6059a948dd96f7f4cb34006325d46568692db75e3c00b2515f5096124bbb1437970caaed282f9ba650c5d82f93b50b825510fa1f84fc8a1c298f7b050503de602c97ecfea18445de4de599a9cf2fc953592fd3bfa85f8a4967992781d41e98c15a264394f7d6308492bf81e2f7e2a56177369e4ca3e0234e6242a2d26cf658f08a04e303ea070a1b708dccb6e5076781f5f4375231375f50fbccb697ae53563049bd1af96b0914d510bd9718625a754b29714a8e62fd56625073cba1cf283a526f8bc5d159c36aeb6524f561a1ba4131e5673dbd49c25450a98d2b34e40849008e79700f4ae23629b40c02812d66663e14b1064aff4d03117850a379bb684a9e165b5373a7a58695344d1773540515d4b5ba98a767b5dc600c96aa0d6fcb866c9c288703ea1df5579996bc10ccfb8c41c43958857bcf953fb679c402819744947d7779da01cab1a661393f242e474b310319178412a28112e293a21499a2e58e64520e4bf0102f39088b14e2cf75a06960bf61ead637dcc1f69221d488af06df98a75b3a30eb9f0c7025086ce87240cee151838e07296fde9c9047c757ced45c3514d432353028f34b05c94908d47b57f8632843bda6fb20f1d1474bb6b2816a648e252ee814672a521a4099dc2f555f8f0f16756596b1af99ca900737160f85e2f34758a4ee46ec1b54549239d890eb3fee3de540a5d98b5161d6eff4e2929ae434ecc84d5a072adba15d10b37d8e0dd3615a451e2b2e4d1c1335a95a13dd215de5f09c8440d98f597d41285e97cecb1c58dc8892d840478f83e45b0cc48cc9debbe3cb8835d78bbeab39d5caed78e03428bb407710d1a4a1588e4342a90e094835bf2be7b07288af4a345486fd21bd324dc24998d036bb78d2ba3efa95a4f56518c9eddf6d42c317f17eaafb9a698ea5e0557f02257dc8be80b34bfc01d9c048ee52b1817e484946ee1f231205c3f612261e35351d9ce17a90f993013bb897af0d2ca80454e2158721d3e9a91c800cb21d7c5580a32f95728d9170ad4ea7642856772f64234841f486c6bd4cd7de747d672a3afe1a403e236d1db1335beac40f4b9d476bd817833a2723970ddf13bd4d46358a5072cba84d4e60b927162251dcf103aa9bf77f69975aa263405a7db91e0a01a1c17bb6306bf3647703593771e5d4c5a0eb9e3e124f5f9a3a5b008f2805110c72ea6a530898dc3eb760cf24e7bf77869a2b22ce42d02b186d8a14941798d5913097ab48b45f23309a302d7590dd5c9b0f1d5f161bfd7e5c5f31bd09d13b2224177f668c5ffe5458a8a08bb3e86192b1f2cbd7f4f52e9d3e27825d1d6d23e456ba627161edb80c5f0ab128cb1fecf55f74f4e50e3193d97a39c97cfc32944813215a82ecda8f24b1f0625aa156246a4ee6e1cb6955bd30007e4043b29780593c57015aa47eeb1b57f4bf2e171df5c58c75f999f76772236e85cd0605c1e5b702ee1c9d90c5eaca3ed36546457be889450a57982e6aeeba0d8bd132f6a4df838009c6eaeb782b8bd5fd8ccef6b66d2be64380659e46c69c4dd4f8174d29845ed97470b10c1d5630cab090e5e666518bd9b3d24b6e569c460e19e27e4e55c2cfaac3af84b08e3293495fd9301d682a42450614d108194d957b428c1863a3ed80f9ed2af792de9aeef7a174a392438a832ba08a4e9577daec9f00ecb0822bf665e90f7d28555aa1f059aab74b6316f998bcb92c8e721dc8e74a8401f705d3e1ecadd1eeaf7dfcbfef6b8309c64f16adbe68dfa4e71988ae2b12f8826fa02d0470ebfc60fcf0a5a435c8731df6ad3cac23e0675857871f0d5e6035a74ac095024fd22e069eb44bbe47b78ac939ba85add3b07cc9e5a177b62e28b52cb6b37cdddb254fc860bdbb2a4a945981a11debedbaf1879e490d5c6eef038888885aee13dbc0812afc8e2434ab355a121c515c40b781ebba94eae4848226c1900f0c62b024eb8ddcf490633d41001b9057f4bee366aaaa9163779e983c6bb61c9876398430f64c313c060fe72976c804d01a4f361b6dcee179a9c9d06c625f53ea8fb88664a3ad535689341cc66372a55df066bc1fcd924089fec7ea501d0f0ff0f9db159af5dce819861ed5b4906c05cad20c3c41d45b8028713f925665aac64b0a0af9d81626f767ecd4d8a4a0ff671aae38c8a30de3bd56aa91b65679382d8923091ba38cdf9de2935485c490af1ba69bc10f8b07433b5331c8d0d60966c425b60c0a35ac7015a695a2067a8547837ea37dbedf3897620ac3efd6c43e61a3742676fa687a5e91d9f5485aca998df107b8c1b2c5222650bf95f3db4f38bb10314766cd1c1c6572ea093e4657692b4e385c757e1bb39c49eb3747c38e58aac445d0ede2ea05f77a30d27c692a26ca4c19ab8da61146436a5a7d4c63132a21172dc3994b16a6968747d2942a44bcfe6121386c82f83a709c1d10538024b5550094982e8bb89f22859cb736b9c2ffff227f5ae35df4d80c4b54c024b74752ddf835738ff35e375dbcadffeb6caef22bde09e28ca002bf61126b922082cbb6ea66311185c99196b28bc9442892166e04ac6f281b1437d38fc6fef47ec5ddf04f0149295a312887680720c75eb4d04244a36070353eadc4dada65153a6e23aa685f46e168b27d99c826605c6d9a470b764a209fd7fcec5ba3ead64f696eb54f44b3cd9e230a374d6c705557be2c914ac64820cef95791fb23d07220e4603947156c1952a65307d848ec1ac0ba61948b1252bbf4984d0ff1303f841e0b965c4ede8462dc1a71f0aaa9108c96038e384b25829f12d1075920d56e03cc5033ee5155de29bac6d4b59ba7f0bc34de9122204769e693ec462962371e535468005cf5590c323df4c35f70b5ac677fa334b3afb6ef9058ab9e0f6933b7342ab951b6f15fdb14dadc29b8f38a09bac4f9adb4dd8d877e5afeb8aa6ba23540e75b8ceda4c19755cccf14e4e40026b6c0221fe5bf3fe86e9f67794d56f67622b14277eb7a8df2ac2f65e98ed231ca0c35138f17a08b2738c104ad14377ac46744d9e92e9e2c1511a5292ec5718e710fa9d2aa9ddb8ec0be69a409712a0cf77c83d696ff9bbb036632c76a6e2411cb8c25601f7d2180d1ed9b3b833233a32395c8aaf81d7426ecd9bf94597aae7f0fa97c3e294a7a1bf6f552bb3014abd7cb11900039bb90bbd045cc2854835d171a331238811a93dc7f8a40a984895e055053695dc8263f999741108777af2ce2e1514b668769bcb0d7c98b7eb9d451e9475e7105886363b9b85b8196e3f8064f1e2a787fc1f99e5fe78b8dc82343528d24f0a5c97c1180910dfec032e6be134c6cac7e6e3a8e531f82229616f6599c09934260ff7ae53ec9086f7aa80af87e093faa827739e69b620c7671e45068a2b71a89be899a334be06b25e30c8d47fca8091294a34d8010decbf8037781fe3fec0593533c0fcfced0e52d12a621bced0e221a3e4b5106f762306d0561b217d8748e8d665893bc203860461ca8103413574a7af58f043b46c87d335f7dff4bc023d739e12ca45c0d14666f3b05b0df1dfaa38b3e3cb5d95e773e2d39a43424cf8199b0783ed670378fc17ef295f634b30cd4bfca95c59033bb2e46509d452333d8b3b5273e67dc1ab58abc710253be6748b15165a2e5306e390abd1825993918afb3d09f0dab028fdecc859ffce129d1ee7ceb6630bbf57a1568f7763ce1bf6ada4c30cfdfc12d6996f36b754f40e9ca826cfea2f1bacefdab0d745a648481b35bdda5d63d01736a45d7f4250d07d60236e1ac12a5c6dde7ae14b0b01144fb906edb665d2c4a6cc70c3c1904084b8a04a6ff8887907f5b3a3c539a5e754469cbcfd332bc94b4b532e723c8f24b369c5ae4804c59a1addcb296aac3e58619ba35f000f5e1aad26a25537a2edbf85fee2845dce2f8acd7bb5317359726d919c0d0a5294e9f95bb3d56ec23e3773b4da0a803d7156ac5c42c2e8fa4ea1dd1f6fec60bcc453a55ae81aff99dc3e186172f339fc5bcea9d6e5bcf9f2c121f3d1693a6e8d9f25104ccf8b6f71baa488b0ef2078593d065d7d7cc85b48208ab0effa0229736658be595f5e4b0b5c19fc3bdb5b7fff8fead90650c57251082d39b60521e7cb6eb9b1a931e86b2f7539b5d08155d81504cf7911b5bd7bfea59bf0f785bde6f9c12628b25afc24f1a0d6437cca7ee5f9752a57ca4452e5ff11af42a2b493364830116a8de58a4d557ce9924fad90bf15efd2f6e181b166e8c10154c43299214debe119090fe737b3f82eab230eedf6a452f789433dccf5d3efa2285c97b314d6f34be311a20a701f55155ba5699577ac0aaddb5b1540620a9bb92c78ca27bf00277360a90c47bd32f6768b1c240899896a259961dc84787215b9cfc747cd1325f77eb6606c62b0c411cec67187a780b2ce85028959ee3fa73dc4f6a9d70e327b20ec27bf1cc1ba0365720ad31362d4f627cfbfdc02cdf67113fd1a1f91db2db2e5287e1b31f1e97f93531c519a1d598a204a275761706cd76b75af1afed94edbc51f4e8ba8c6c44ec3e8247cb3eb47a0adde71880cdb93b58ed44ea30aba73b0c26a520996f037857017e2a60c6c48620904ff311612762d4e2e895d88217fa13c64768d2e76216a439a0fb9f86759240176a150b450aafc201d13ad4106796b99adc0daddb8e9a4fe665cb9b75ff724540b397c416838db267c658b30eb603b3abff72e8e5597fdc44d2fedd87448590cb301c6a5b13d50186e191d0c997a1940948682965b7430ccbaa5bb45285fb3007aa0a77e99f7000b75834e9aba4652fa660cf0576b41e021f10e79204c0316ca2b21a93e058590cc3c90512c830a02dffae01c57ed60ae1b67381afea5a4ebd5374862c53a861dfc57c7857d22ee054bc034c32d69a985083cd60433f209f38e413650e36c90ee1e06832fc9337061fea954374da18020513d1aa33b5a0a5c0afd560338828dc94b1be4170bca0530b810ffc8aa616f57709bf9079c050078c60299ca1a3fe6405fd007a9d861b55243fe04e3d35279b20a0c058d426e6a3b014e8471a6c7591fc80bbb5549daea0c09529c91263ac91f9071cfad5396fecf80eb86408c1cda90647d4c21fadadc0959f4d05f11af80ef0837617a947d038269be18f928aa0f3b8617e1cd152784b4fc5a90af901f85a0d77b2c87ec09b7aaa4e3681400172b08d4654e5c32aacbfd811c01978702e6809526fc1aae351e152cf63f3a71055d3d437605060ac3601032927f92bb682959ba03025297184eedd338a12f03ab386138a0065007ebb03b227e3f1f5963231140f1b39b86dec157fccdcf61e609a27e4002c6dc8597c73cba9c605f8493ab93c43f848cf383a4514ea19bb02d2d240ef919cabaa61cfe3a17fea5641aa22fd870da5d6396637acee7ea1acba252c8a5dadf01acb7c228e67deaca97840aa374f24e8ba592be2352d496a87ce56e2d5759a334db0ab43d3b946be14f93ab3f503441c6a9a0033487cafcaef7ab6273ad6a839c32d3b1e379f2d954b76f6eb9846318d87a5a6d9f24ece55d6d1f720b3e416fb8c332320e729d74e1d74aef5450b96cc4c6c8686bb18ebf11cf4520e1c7ea9e5f024545016a50b73a9495ef15658f604af394190b0851e5f45a2627aab2bc1b300e0a8cd062cbc938851da40be6266dbc202a469f4fdcf8e8422f354b22c1e442c36c65a198b49c34237e9ff57488b33900b754ef9836dde6da93569d6af50938eb12b73d1aa5b6bc57634410cc5d78de3c0f434cb2c4bad4cbbed645809fb5bf061dc1de44ef5032f95733290057c1d7144a253d8c4d1ad0d1772a3dfda48d31491b0f83f05c1756d3726e0c7e77ce3b9b514232902a403e2a48dab4760640d12ef4b35ed4f4683e4776c3a1792f412372755893237925b109224cbdc64b73cb0a00c668f208042b8e5a164fe3f243635417c0370980e3eba301dd074cc7247c4aa84676bba4f22cedace2f861cfcd18168613ad1495e3a5096eae285de87114ee08d42db86b7d550d72500dd047003ecdab58f4e9eef34829cf9206acec2bdc62751b6a61d3132a18b0b831a7aac3869503124b47765fce488f13ea716eaaccdcfb4cf8dc0ec3e28bb5a5e8ebee79240ae08c433782ad0be1e5592ff56dc75745677b1a827150b9ca70769c523bbb5846a91842dd897106d38ddb5e060dd71ad7e8882227da21b44f51093100aafd00cb6dc7f4ea3c35269de3f95e766821e4c9ba8aec1e62e0a01a7c34b191e9030166b71323b726a008b02337140d9244fcae0f80a71d84d6323e79462c711da60a2d6f91768725fcb34dc850e41d35a866512357852befe38e96838c6e7415bab6b5a163b03775b9e1bd51fe46855baca2815b4169c0fa1be99502d669c6cac23864af3f3932807dd58bbc35aad6c1e96575c3b9e42fc93954f2710e1f28277d4f171bef333732151133da58ca6ccaab2dc42ffc149d571dc3779e26824cc2b051f344741888fe050644849262b05fcd4b5b628052d1370d1e530361f4f7d00bdf5140ff74c6ac04ec9c8d21203ddbf71688ac349d5aabbb69d48857381d407b46ec620aa2adccc49c8d63d2a338550418e20922a2f2325d83d8547d5a858c016cd5c53ef0c1987751514893d475dbda6d9b937c6b08b1d7c1bebfa412b763bc42403bed6dc4f03f6098ef04ff7b117fd746144c66030573c1ab549ecb95dea6f2025ee74be0e17a96098117b0bda02c17cf4812f9055f877056d5ef568e35f74ab4c8a1b7459d58ef9053ea3344558a8fdd6fd750f938d53a6cf674ba06a5f32cb956432d3cc0c4cf3b7d7774e9e7796d0a0ef5bcf34919bc60b055871c578cc0d6eec12db8360229e1abf2775600a649ebc12ed102605d03cd0ae16e50aeb6aa58b33b6b264ed849b33b2991342791dc29a90ebec2571c91d1517c6be190fc8076b3bd1a0482953b2bfb2074fd27e70fed7dfa0a322718dd657646b18d0fbfb0436db5b3bbdaf0cce8afaaf3a3d9dcb756bf4d24e458cea52b51aa0af9286a2287c56f86b729106485e3b65fd0a178836c8a58d854b8b49f079e06548d00deb805e843b71177c94528d3f48001d9f9ef3ab15e4025e8226e7c255d98fdd49dbe3b76978ebdefbe7bdcaee787adb8be47d8501b9b24e2011016f58e1c2b2dd578d4c35681d8fe023e673a9c15de90ef0ca98f29a0603ca95acdb46bf6497357280d5269077a2a5405ccd22f128f771a5b8d7f62bb3eca9cc172b213c49b77218276498f15407c28d5f8d309e9c5f4d6f7078a005ee0777d7e05321aa9713ea76f6b606903067fb7e3f8682a0255106a32344bd97b382f6ff80c5d354a143d503efc3f4ec5464f43374b96dcb94cf242e3578b6914d0a945e517aeec83d847f3078ebe84b2425f2f44941d0e75ad43ebb00ac3a71a511d8f535aaeffd8679baeb6b54129b74c5286639ee6d605d3f6fce60472a773c11852fe3b49b7122847bb86049ac0da7c3cb132cc13f6ff74dc16d41870b3759b42083c1eb30545dd1ea4a177260896e41bda41ff235d35e56ad08f0c5d4762fc7d003b47a0f666e75d59666d686a466ee348db35f0b159713246655971635002e8e54a7308077894bea5ed8416c88f8dd07b2f00171e104c05af7804c322b760d2928d24bd3a69bdcc91129be48eb15f1e1f718b2eb5b09a12cfacbcb2e3ec50f74499b91279792248a11e9e3a96aa4bd12a93654e9e2b5b3c7d7f79d083b00952e1f1552513720358edce8cc9a7ce090d864df341226a7d216ce8482ed6fd0b8fa8b508376168c0aa3e4d56984f9593c2258b5dd61f438dbe95bc60dba715261143ac2db0e9f59a163488969613ea27171f2ece45c5ed062862192048ad4a0ac49eb4e35ac942d2f63118a8c07cb4815126e7252fe49d7a42c4e055131708d87ad63912c171866b5263b29c19392feb8616b34644502d009e06d7678764fb2cfc8b521469f3e39219eb08d96190440751d57af2060cbb6a84066cf827e07b319a7277856af36c02ac72c9957d939c068caeef80354919de42222d5fa397b8a32e9b2af2d747c63c709f320957e9fbeec5683d18e9bc9367b883b4a9f274e50ebc4c8db13ea50236b58580d5092bd734990cdf6766de01434c89a66765b626bf6c4afc9e9be9d5d001c0f731f7f7783f91b4ae59499e069e1b4f865bdcd66d2e00b05b52d3efc09662896b5c4c7c2d6a00e79a2f7e3d29a16ef01e214e8d5a325da10c0bdfafbfac5ae5630668213cfc6e7ae3363872d49438d8faad650d71a63088ec51b51d0e3b3320391ebd793382f7f3dbd9c80166520666ee4e794177aa6372665809b0a35160e1438b5ee7e0ede662a6bdce8d47cffa3f88795c40f4765ecae0c1f2ae5a0d199ece3e29bcb0719f2e56e6a413271668c996da490a6a2f29d915d4d76c42eadeeed6b15831ec871c59ded0f13a7b30c34b639fa49e23dfc1ddf890668b7ddd5a7f5bfb41e487d37b329cb964de32daef953d9213d00c0d9d4a07ab954397c698d9652a22e7351d20a8a1a5d39f5a6c494e6cddc2d2f92ab26c4d7d8a699636f39334d28cb984459bf4865fbc06a24a7d8c8621d63fda93a5728479754b5a9234f63cc3259e9d7063ae558383c25df04dcf7138992249a314e4cd60b0a0589284ef306ce89c9cc723e63619e8dfc4bc7585e3d00e04492a7f8535a549b9057ce890151ffa4117d71f3068ee51da99af7a4683b84006ed934779d98adb4ba51a9fa7378c4cbd0eb6dd099bc1a1fe9703c064ebda54ec47abb536babed54bab6f0c44b5303658bb4858d59a4ab7079aff146fa6bbf68a92988e533e0b263899a5c644a21d2f4b447e43db6b9d3ae9b9253055c1405db2bd009a756c80dbc48ae06fa62b8a65a046730849e325d26628599a797d4be54ae45530722d957d4783457c16306563b8c3409f16971a0efa493fb582fd473e2705dab13ea4c5ec9edc5d264d579a17e8494c181a093a2f0cb9235e6218cc397cf6e7f8fbc77b01ef44d276f58e5e395a886f1e3368fc02483b0f12ce4c09b9d6dab049e4046d3b428ba62d1005e80d54e45dd378c3cf4ee42c9ee36b6f3ff6329070ccb64cfef0c83cdcc67d0f1298ec1f7b203803f06e997273b1ead4f35070db48060134b417401350c4717c9057e1a7280d2650e7e0c3bd06db96f36ed0a667a9ff2ab4668ae233e4b9ba33ce74a2c76e6062c2aa9d0a13672fbcb273e859e373523da159bdbfd97953316110bbc2742a130e905de5ce550ddac0a71591991397ea85ca7980346c71914570e110fa5645c82fb355051a4f3e4c4cd481015ab7370c81d8955041dd0bc4ccff36127949649f871f084aee5121f09baa0bc4cc98f6127742d97f091c0b3a0770d42f67c8e88bbd883b0dc6a07226000030f1ee2a882fc33b973ec5a031b586556e82641d5f0589e665867135ae60a71b19a8ba2c2261f6f3ee0b38552bf50531998f9300e7e766f0c45f5bcdc18e7a222074acb734eb999379a446d7d2ffca4dd247cb3d9aaa8b2f14be58909013ddc969796c68270b92982f138961cb6ada677a69a29c272727eb41e38d94d8757a49d5af5bb330c8bf8cfdec5d90a31e53d594da95804b0d9000e9acb48ac447c2085cdad5d12176b47121f977034cc4a9bf4db22027ef386dc8848e51a9a3765c024cb42c5d312e21e4a2c9cff45bf44d72abff0598ea7f98a2a77ecdf7295a24e70ce2d93595cc7562b4007d995ff1908b3a11b7d16766a61b8d13b8b8d6e8b77c5c973dd46396928d8e785fb9cc450746ea2414ba6647379c86f0561ab33120fdec559999730d0a8327d90958523682653aeb59827b616b49c8cc1f01832e9bf8afadb1c11fd2147825471e113564800e919f55da0968a51852b80400baf3e9d634c8f8b853823822295cfac026609f41810defffec40fd3b0f28e7d421f9ee74e79bf9fb0d500f675091b23883b8c9521ab4ad9f0774acc1f29c62147bbd34929619044914bf0cd7880cfbf0f569b6da64fdba4d3450bc1378e21a3f79534345e59626430b00aba5bdff639e06d3e60f59fa4a56609fd2dd4973375a937963da83222e3c4643c3a67fcb5fc771fcce0271f15582336680fc41c75a91d5b0d3299132ffeacb3b84bf77da5464c50ea9e68beca653f80901fa05c1f9f80e15a03bf022f08da6f34b7db0bd6a6a14a389c1521f86d675bff3604e55d57e74dc7860970f21b3f430f8f1904e0f5b6a8eff353f00651809e9c3c8b5dbc98d0392441149db38b658ebc5262bd5c8839f4c9c9f6cfa5831f311aaed0b452be5503eed1f80b3a6aae625866ffb9b48df08f66164e980cd4520868d448e56c1419c72407952339f7550c1176f8ec24657cdfdcdc89c2bd7d71e03192e9edd2e5f1c6adb30f6b06d2cd75cd78809428036b85949df4338d063bfcadd318c6ce27ee1de0475d208902dcc9eaa389c7dd37772a4f5b2186e11e171c7258cff63c4ba865eba2ee1f6d656a86c0e17b24c49c61e9bb00858b5b590e0b230eb5826f02e1e42e08f07b95c20ddd42bb1c162ddb7fc41881638417f55d285d967621e4431701c7684b94ecbf1d7b8bbfc1ee746b25be9916ae682b235b8041f29502770ec3dc268fcb78306030dba6fc26e7ec53e41b769a0c24d477cccc780200f2dad64aa059ca5a819e4cc22540b6666935ffa5504085df0f349b3fc99c58d6cc81a6084af210c5cfc2ad471906870a50142ed26f314725db93d9e8578b27495344af1747473777555cdcdb07ff5904863ab92fe3d169a847f3984971bb4f7f0b6bd48a10e185b3dc31c0ebf8df1b2440c7d52ea4cf025e9355bc486643e42ae70b8195c8ffcac694a5382ba5348dc138116e94b736e668544819e5487bffaeb6e0aa695d38936b376ec4d431b0c434e91583f8c2e64b0b05484030477ea041283db37c4ebdc1fa81bec2ad873ae4d5bece76a0e60650f6a23f694b9cfa91aef415521b7e92ee183fa7174a4181b8a7b394cd7c465139cebcb96f1a596d8112c84df17a67c0b89935c3215e1d33942620e0a486d4ec2c257b5abf186d887f8f2196450b3cba11acf41455d8e269814bca40e44a6dad265e619fb07c3ab0878e8f2dff46689ce566a0c519ece09dcae57f739a9d1b78627550947b7376253baf8cd356dec5fa2d8f102127d4cfd562e5ce8a896e24c5b9732653aff01a498eb49374d1c3139da9afc47478b1b42b73935118f4a40884d1229b26b5e9b36a0519b7686b0b346af650fccc31b41c5de77ed983cb5b5a1145d96375d8c29ed1fbe25119f6647cc66f4715878d2f27da7b7487eeaa70e214be34e352122cc047949f1cb0927ac5d10db2b29ab9cf9e817d9f3a04a7ceaede809be90ed1713a076f26dc568cdf5fe93d346c826c5255df61518d4da23b273a3d6004b1ed4c524acc6f38b72b447e8e9f8a7dc3fd5449e0d713106bf9d5c0e62c5eaa47680f800b0e6ae0dbd998c3b0327db6712aa3728a983db089ac3f9aa33fc762ac3bfc366ced47b80fff24c2410058d3f048d7802d8f034d4b25d05338998e065131c88a1181a6217b6f2e69737fcaf92b2395583720346e8f2e3ca5d07947441eb2a1fccb81d0bda846951722b4ff6b569b3c530a438b2a359b485cd0356b97a550e0f190d15380f82009840be29fbdfabb990f034f750d1d29f6699a403bd4d4f43406744a4562d3ab274e36b38b2a1c3e54fceebe4f2e168e93eb8727594f7b1a7b718177ab385cab8a6ed984ceca4ce60868aeb2ce71a16a7f61a7933cc76e930f7b7e139471d2126b7fac69b6b5bf4e5cfb5b3284df2357d799546c7f481b387e2b5bda256207a525dc9e64ad49db5f44375c90238266649e9f52d482d2adc78e1fcb985f1da4302a43ec2fdf71472a6d3c98d9be819681f343a4583eff488c97bef844867b775bfec77200a077496945352065541144f7a1864e8407cb896c6faf378d7567bd17a68fe903b0eaa042f3381fbb2a236acdae171a9dd9365c1f5f3619c95f0406fb1176f1446b1d36591b8c7abfd161e928cee53cf42becb1ca6e24b8ee2b3e4b0ec6f20b57ad1aed9c4ff5464a7a7fdc338149d87c29c8b1179e7f66fe1591e4a941ce8cce2cb50f73086ebbe62d1362dd6f9f80db6ad5908119aab82d0375b45a1e9113fb36e898b096b6a2a27d3c51c1a17c393a9ad2053d9cc24d152d026db9e4dc81aea7bb995655c9f0209f034a8f8edf88008b2c4481a159a7eab8f128cc4e1d8c064947e17c51d9007d614355e32c812fd9a8dabd9a479f674969f8ce822b8c6df5eacf98869c6fdd151ec63db69d20c79bae92913f0178729d10dc9374fa010a600ed823ceb80e3f3d19624a7923edb12f3d3e7e3fae6a71260ed6e8e9de23365d76005b3a6596212fb1087c2bbdaedf9c162024a7486ea50baa332e589bb81adcc4cf516a469a96ac79401f66e282196c5d9df883974eaca35dbc633e9e968899f401439a469097bad8c25d6544199bedb06766b0b82a5724ea7939a01286e6e69d6fcdfbe237d9afe1a880ea641d9dedacbb5279217f87336fc5967f865a10b63fdbd183a65ba6d6823eaa86812404ca2e4fc15fd9c5b81f7a16868a853a9ac1b5160084da3b460ea72b744178cdc0126fdb02d65f174ad2696015967f31f937eece3679fa80b00958ad1dffea065da6e86cd5f96ba95a58e8e8f91741bc6a759f46bf74ff6231f06aa60719e84bfeed1f3031a7e5317bc4d52a06cd4e06593d0132b8bc06f8a7c16e2b2d891173a09a1a6a71c9cbf49fb5aeee1c03e2f63c451870a1da6e1b632e24c0c9ffea952e856de75c622eff4be32a338bddd758b3bab6f07023215f75bf1327c8137905c8509ccdf36c0622212b546451a6327e95019d4d94c8685edf7504b0518f5c2faf70a2d16e6268de1094ad978807e678631ec396782ea12d47ee9db451ac6a01770874e86a706eaaa0ec9e9d7323c6cfca1425549c7c4623a5dd064470c5a7449b86f50528385334fe3f6bac064f254fcd562aa99fcd3ea2acd29d1a0661ec0aa3ce59f63823eaece56b044c4f71e3af4ef99bcd69da19c0a5eaa598a2f04addb7df939ab24a7db6f6d02c0b0710971fd2f5f81e177f06629416da35c5d8772c72509077039d8beb0d2cce1da2a04d878d7f9ea861b61fa37a826e52e8108b2244c8315f0c37cfac9c8e80d77b1863853df2e0a65a48337b628ad63ce0f167cc70ce4f46c894bf015aca18992b2148177af39f21f03906e841d2b771b163ebc406335f326a07441c7337b24e476f11d4e1454eff4b53bf16746296efcb185dfa8a32bad7ea48dcf172e11c997a3347e6456d6727dca866e82b78e1694ced00d74bcc320d84da364790fb299798b4eed2ffafad28c413e15fc0c9e4d2888fefdded81b2f2cec2bc57244e0f7e633b5b7aac2e6b0ba002bd27d4303d26f319aaa40634f50eb54ae455af189ca022cb5f71186281eaae08090b5095c187811d7ccb1331441e90cf8efc5d6f6f3eccb2a59a89799cccbf39e967c3b7931b34d4643a526503ae6b429b989602c23aeba9fe8d1205176b1ae9cdbd06bdf164f1a67296363b6f05a2f502f6ff78bdd0459c0228e1086144c4cc9923d7677e40eb84a07ead3b3a04447a0b25ddf9a7d0adac1eb84db358c53f8dfe750982ab6d35476366fe6a7952714dc6dbdb7fcd22bd08e884a22600a2674ec0fe05d3c2ae8402e7d6715f0f2dd61967fd9d6d412737145092077aa61bc2d3fc787367a9358dd0803eccf753286260cd43523a17592dbb72ad19393a89dd8c0d768c73d4c766e5dbbfc0b8c925a928491700112188c35dcdc7a1fb004dac2188d6d5078c88790f2d5c129c32acbb2683d3d5f16872473e011a198be4eacac844e8782cc3e2842b81f1cf1a1a0e897769f11e65023f522418a485d4c73beec78e94be65b2ac27177913205d1398ebfabb4a82420019fe41986b50d5912a70e9aa75a46e59449d9a4e3391944406903469cf4f2f4d2dce5c02df3502a0c3ea32ffe63e6fa76bc0095f2f60d9879713362075a684ab2a0bf1f30a807fd48864cf70c10eaecb6ad771e095c650a8f4f3e124242486a0dd678ff5851da2100cae212b77a645e8ef07c536fa8fcc8d1f9d7282d777e2651166b10d09e47123ce0054dbf74bfa3c890a38b6f86e131f64c55bad24e39853b460c344b4bed15b6b7b41808f02ec72cc948fea3b87ad4a979a377ecdd18c790b907cd2c3529a0c9dac2852c0ac97ac5265d4df4bf416e0fc81f6315b963060c8ed2370e73032ed02eb2ecf16e51dad8201f2bf4c80a8fb69998cd6686543ce0b5dd18ac59407544035c3dcf8d4d0986c779625c901a4da2de6061165849474a14b1a6000fe028360fec59cf52323877a2f55e6c4b05a17b0cb07ed6d7e0247bab6a5be8a9393ee8dc416ed2ec9f20e9b5a2f6e0a049c2d3bceba3bce5cd3deb5ce78bbf2f021894563ad98b407b895c909db8d7586384fa2bd07077ed2d8447831ce00007e1308f16573b630f186f932488be16359a79875a352f7812d2cb2802bc18dd52c692cef2ec8ec2fa4c15052f06b6a88920cbd608045be459299e88728c3e85c59bf378f4951cae52716ac024f70b79051f0c5066c6982609a42646c273676297902c7ea548f53be86c474d5f443c71307378ed55dafdbd56e7411fc294cc5602e30c827a7e6878eb360cfe9c6817adbeeaea809a0e2ba69f60209ac794cf5168f217d401bbb2d473ff4847ee556262c3a85ca567ce62c40a4704ae116eef441cab20743cf3597060313fb0b9843cbc4f166b248c1fc09c46b31fb7cd458e17c362c8a6c93b99e64f2e183d9fb4810332ab70ba803add189ea6362b3ab8e34a63839404af1044025047282a0171272611d14d0fabac4dd4b01c2f6cc552dec5306683da1a19b901d6e469956f91326e05ac46895841fff7a9f6e72d64347f9c6dd599a3b392436656ed322a396e20dcb6e351683295bd15d553f043e1e2a45de6c042239a54f2fd3d64f530002f80b5f4c97a6dde652a08e0cd7d5f80bd93ab8c102da588ff849cf0a7f00a0aa745c8a5e24152d06a2869e1763eb850501c9daf8e69d223ccc19bb31b124d947dc8206755c48af5365b09bd5170759f7fee141d308cf6b89117257b660a8858d67a27ebdee496c927d975ebd08917dc4c97a6350245fdcf2397530a87a2e8c117871adf85c694e491ad950072576dcfb7e499cc6b811b8294eb64485924a9a72f543ea2aabcfa5040b384a89816c335c452f31d72056d1106d1573a42445dd6a36d81c54ff0cb069014b5e98770d2de33213c06a662b1188aa2cd71c0ef818c92ac63c1a8efdb5832a9d8734231a7b4511c292c4e5d0118deb908467751da6e3f541cdbbf815ca27557fe1fc47246b570ece16a0f98cdc9d5102dfc4766c80a954ceb8193c5bb608d1125a3c2812dcac1ee3dc63a599c813387d505cc56bce619bb4edafeb9e406222d76ffc6cf3a715fa50f40145dda62443d8a1ca444d2edaa5a227054557805cfd0a0a1ca1debc1e8127823ddff9b09d80aa34c04817b9a9042708790294f2daedbf1923cad98b183bbc758b822f067974bdd43e1ae5fd9dd8a53cb6342749decb959fe4299af61ba256c24d24296bc6e266e94b6f4edea1971c82ffda7f99b39bbf044f8936087ee6cb919269cf8553fdd6d60d367f848aeea94f8bdfd8459aca445334fc41c7e46a77951d2d3ac207984a73c69c082fcc8c4bafd588ce8fe3983023eca98aa905b51635d437adc15605f576ded950d35c5d21ce44e07eadd4a7034c862ff75a605d2b650fec3bb569a38ff30065404f22828cd9663ff922d1d1685a7fef6cc082cf8bb5d62eb65528d78af5d41a1491d67cab4669822bb603832ada8d323e00f38e876d5421af4989b0777da7807eb8d60edb1b1a60c9088b4f11c82ccac0ebddea6a427a49715c1cea475a393e910de395aea796028391ea8c1e36a70f2501b9433145e36624e4a44359ccb8c36dc02fc9cda86390d65ed28ece2fd229afe1881226f9da4f1581e1e0258022ce09a4c43dc4ae13eafa2fab50ec6fe533433ede5a09dfee48d114a373d0d4e20056870111ef73502373231d005417f2e7e41b1608a49aa70d1f6b2c58cca8d95a7833db1dc1a5cb51963e988e7b331445a230e4e21a51f04c432fd17c66c3c34efabf5e1373a5443d12f3c6b3083ff215cbaf310af716aa63dec005f024d44ee8860e46ac4dd5cd1b87a9cc75df7223fab6ff317f6188201a45ed0feb0aa673e2a748e3f16562840efebb0f577c785c8b8ce8444060009291b65f1a7c84826824867d11da1283589e44f3f5397867e7f1bad41bb8f8a00a4dccd53cca58c4dd489e35e0208743c7412435914ed0d1c98ae865db953e0e7d6b0c6c168bb8820603f2adf270a8dc6bd3036436b2e4a83cf2216d47eb6d99c9bb653f98df13bb456f3efa6575891f4db7ab252abf83652a9ca44b58f9553b45e54b67e118f6c07dcc2e9f2e3dd7211533df5d1838d685faa60dd3e4317f8d6cea4a97ca2d1bfbf6c9985656cd22ba79da8a46fb79a206ce1f8bb103918e963299c63602d31694a0c2e141c9d52328fee9a9e040cc61576705884c2551810074eebcf200f3c4ccaa096f58d5141c4a61d38051f7d95a4b6a83ff79522f695642e5d65ae7728845610b90b8229e13dbacae9377a170b4bb757ac41220c93bb21f4477a9b92ca672bee9133b105ddedf1a83da7443c34b7edb2259a84f43546f28f59b6a767cc081e0d360a286cb6b4bcaae6e905580de5d531dc4950bb87137d1d5adf5ee4e268f53abcb9e532a7de6315ab3df62b1551d68fd8b6ac36f0c659d1d578bed6a09f2508704c04f9f194b948675a916655f4e2d39b1b5a93d5cb23c934e0b3a652c9ed080d86c58d8425b8820897b17861b279fc756b6cae63bc47ad5a1c358ae05cc0868fc61f5ea5dfa8c7c6ef85b8b978fe2a82fa9090c2bfb29691de1f36c80f4bd4677141508668bb538b55e135b76de7753893646388e5241af3dcb6bc0ed9917e370d32abe8905790437b9385102ae8d65790837b9b12535286ca67fb328155686fd5bb8af8c96423240f9538f002ffcff640b9a782cbc9d023e5e4289b5aa0f10414270b78aaad4bd293d50a146ec5bab9422d361c47c2df4ab83c4dd6fb66d0ca37af242dfd637c499f734347b5beff2a24d769e27575de36a04990ae0dbf877c02507b4183ccb409953f4d11add40686096b12a3da3cb4fcf01fb33092881ab2a40427c0988c057c1ab64146a61c838dc618d996657f795daf8662c9b581233b232248dec4e971a3d990192c3dafae766ba7a4af630b8c37158a3e4c4be4a97d035e477b50c3a4674a9f7ada820e1c44723d609acf495d0e057a35c065b77f98305adce0563a7d42d0c30b495411b71764ed963b8a2972e26600d067bcad07f65c066770556b39a77a488590399c13b649afdafd2dfcdbd743284fb9f041d5a1ccc55afd4e0207c321d3425dbd0017806b00102fbdc4fe02cfa5dde1f9244bf87eb5af7d7589508cdc2b99925c8abcfd712e5b7b188cd881b2b572b401e5a85fb95deea4d55d785322ee2a0d028088e54b814be1137f36ead241125db7bfed66076291b351fdeca3658fdd4c0c8ee7b9888bad8a47d5d8afaff8781e224e050c4479201d881e3dd13a72921f6b65871752f6cb56e1217e14019928e823d422c717bccd63d025be022a068abfada236375eb3ce2e7ce73d6bac60fda3c39beba3721b472fff6262c3a0210cc1fd021a251a626f381ad090897fc5033cfd55d57d3e3ff960611a1fac729c75361061a6ee0b8002f16ca644e22d3653226156515fb215364cec24db77fde241652f8afa7b61b5270511362b32c1c6a12637059a29cf2e12c64ac9c2c27518bb4fa687112a643cab36ccbad7c8b6929d1253615194092c62fd70bb916cd08ca49803f9398d1eee1ab13d785964e7ce98299f39d012b46d215c917041e6ed816e07ee34fc2a3d02595b0a93638024869908c18c434df18b3c8c23648bd14f3affb2cb7946c489c087c2ba1cf67fe18db3d93860d19945e499b3ecc7803d3c8c55f286be9939a8fca08413d34ed66279248ec83053a9504a94851073cdf3e26a623d406ec35f43b1c518c2f89ed987801d9fd9d6eebf035939cbe9dd4b2e0a523ec5bd44730f05d332b8d15924a4f88364ead5f8d3109911b3f8630b48015434be8d9eb1f30f4e1ad33224386c28c6e2b93796ea984eed980d7205807db80853273436f15db107b0d08913560e4f32c20ac9861a4189796c5ac3490826a19147af4423389295cbce335f48bba185c218030f46232e7b221baa9b522813250932aa02fa03d0d3e163099099ef02a5ec8d7c64aabfd06538d08569a9d2dc0fcdb5c80b51ec107111c0caf46ef3600029d992d722740e4c98100ec7e4e74eac0b675abd185d3126470ec8852b1cb2e8aca918d5ffbea8f6c4a53450cd1db0ca2f9b55f7d517814c02594f093f023b22e735c0c47a04bf2badf33f3dc5b842574bc121e3d6815374b62b337ad3be6464a450de927af7dc4be075838fc9521d05b06aab0331c399fb3cdf4b42afc6a812ef8ab2832dfc69b7aeb61ac89859f64fa6a4e411df36f44ea5e7e8fb11987d7bffdf8cef4a01a1c248eacc94a617dd2ae643616ea2247c0b8cde8e8db990c9c3da7b4daab1224e9f67bbc50745551e9c9d67a7d0f9a35a6f49f80d7fbc0f4b32f933f0aa141169eb33412aec0c265c7ae0681095df8ce8458f1282246f834cad5a42a1ae3fbc530fb5ef1c5c5e22c45c9aba119179ed5a5062c9c8a7c3f967482d40be72913cc86c13ef387a2f519c2371108e4d4c94537f69444b9ffe0dd02aebca55f80d3e5a4afbbfe0657ef302cd67fb48fda4065b4c6048dbe569d1f9ab6fcc1a7d1d543522865c16e8e1bf3c287ff01af8dc5b77cc8acad2ed88a56ec6326d0e4e2c49170da587e4bf8b0ab8e7dc34ced18cd2f288462e38864511618ea163adf800ff545a1fa69d6a36a18a0215d4b3501cbaa3c39e590bfa4093154d26cf3ec2a0d4fc490ffcee0bd4402b72e32de4b1278176f9466ca4dc943bc4d557c43b08d55e9c8603a31ef576194dcb7e95c329b9eb6772c17412d06bb041b174ce731626b95c37d9a3611b7d8e8ddbe3f93155cdf0de124a96842a013b043fd9faf67b6c30a18ffb2cb24bfd1f2bf9710c6f3b5a675e11a71288bcebd56299aadad2c290c6c70fb9645472fab19c0e1a4d4fe6cd5b8b089117ba1b3a17c8ccb7bbabc92f42859c5a1fd4009c001ff30267e669462911b20a6548342e570671081b1b7073440d62a352722a55bee8906aa8c8188d0be941c227bbcdfc531bc43297b85967910e2a1949ef75f1395708f5b34df29442f0e3a0b657bf6f115d4f4c26df2b7d5bb6a8bb6b78246354c5d04348903daf92e9358409ad5b4c503eae32a8cf07c12b6ddd61bdfcbd5990d3b4abdcb96fcbb6d55dfca5f2214fca5b3312ddf3820d2c09d31bbaa7280bbef529b1114302fe7fb2a15d32ac0a519a90c4634f4f69b751309adf4521391c8eede01f20974095908af972ed22ff0c31b09f1c31b51ffe18de6abbeb9014917e99474916ee9275d704652ea35e037aafe46d608ee4817e93587a2de21042a912e2ed2714610897491de9283ad0a44dee0215da4531496de52047e4ee4a524d525ead2231279e38da43fdd819edd21a4ea503c922dfd8d2c1d8a3a1ad919c9c4677708a15e5d2656f96a051c8d44235b7a0777aa4ce51d1522180370c76f3978dad9d2e18e149bd81448eac21f259c8cee062a042db4d0510535650b7c77ca16d863433ba8196b14c3881d42a8be055901772f5b0e967ffb6d7103147c800c60b0220c5a8ce26596f049112c0225a594649139e1ecf94d290cf5199c80e5bbcf494dd44461c8452dc36bc27ec73a18bef73cef30e6e41e8db8457d02969f7462d09c92a6924a1e5cb40819e908d1929728b0c08023010cfd0235cb803d20c38a1a58989104d00a5e8338e30d30355e6688649c05c4e1cb090c3fe79c73ce396dcc29278d90ce09a9192a3ac1b084565440291f0fb76919c6ae1139391d204284091d9d268a1479c28891287676a44082a40a2a2899a40af42c8ad2305e0181f42f0091c8002f2fd5b4e6b4aa699a6e8842c950d149869661ecdaab4e16456b9420bda3ae0d2184104208219424495fa04a5392a44a5153aa965567555557942c26a962b9f6aa9545493c44a962ce49a24a0ea3e5054b68450594f2f1709b1139391d204284091d9d268a1479c28891287676a4408224074992f8408992213061a284264da0e0c4c914b8c9a2e89c33723049558d151550cac7c36d5a86b16baf5a31a1a3d34491224f183122832859cc394914422850a0408102050a142850a0408102050a142850a0408102050a142850a05028121449499245ad895a93ca89d22942394d92d2493f23fd944eb74469555112957ac2a0a213cbb55715804864809797181898918c923979c01104aeb228698648449120a9b1a2024af978b84dcb3076ed55278b7ac2881119ecec5464c0362e2084b4c19b7a47497082154ed6541fa4a88b4243142587d1f28225b4a2024af978b8cd889c9c0e1021c2848e4e13458a3c61c448143b3b522041928324497ca044c9109830514293265070e2240a0c68b198a44ac46d5a86b16baf5a59947413050439159d44dca66518bbf6aa41f07032811e513a1f585ce087163740364815d1825249ce89b260bcbbe1ef1890df3d25faddf3c1a33a1f46cb0b96d08a0a28e5e3e1362dc351ecec488104490e9224f18112254360c244094d9a40c189932a4489b2052cb0b0aab4aab42c4982d292248a92ac5ae521a6ace4a3d417a0a2a42a0d9f689a2e75cc4d55af286ab5c8f0da60923025b144d9a2a293f4e4c993274f9e3c999ee060f2c38e2612a08212f518bbf6aad54846c9037030f961471309f07012c58849aa667c3cdca66518bbf6aa9545199193a344142755869661ecdaab561625d5f8c8e0c46492aa1b5a5eb084565440291f0fb76919c6aebd6a25051224394892c4074a9414214a8e911750cac7c36d5a86b16baf3a5914133a3a2890819249aa6058422b2aa0948f87dbb40c63d75e153651a4c813468c44b1b3230512245524490243d0ba814e45a7191f0fb76919c6aebdea645146e4e428418408d4f140aa0a4d2a3aa9bc7b59796780d0bb1a2cef6cbc7807d3f22ee606e949cb93174f589e849eac3c5179027a92f2e4f3c4f3847bb23dd19e644f3017d0889c1cd801224420133a3ab08922459e30620446b10377a44082240749926c1f282902640299c017b07620de10525d0812785e08121f1d21bbe86274841e8997d111ea1d859f45511ac62c20901a6a452790f42c2a6b18af8040fa1780486480972718be7b99ea9cea9ca63a55d5a49f5355595635a70703a344caa95001d33b6abeb3a47717f5ee5aef70f54eabefb8ebddc7be03dd772bd83b16fcae257b77ed9ddedec9e0de05c0f34ef479278094773340ef08b0697ca06c519486f10ac893f52f0091c8002f5a8e81c9f24806e707e060f2c38e2641f07032811e513a1f58fcd0620340a01139391d2042840968830eb4217e82a26351142555735ad429a9ca43c46dcdcbc469515435c1e9f0d930f70463dc1311d2f4a649424114c5098b44299202ab272a156dbc8727be31a59474ea396dc42989883831c69c289750a9f7dedf8436bc5f4a29a59472da905d74111520a312fb2dd181164b741065c90d50b0df922a8aecb7a40a8965b2d4d3163c761c887d061fd33747e06fb0c60ef54c767cac6ff07146b3da2b7475c887edd981d89ee9204766b4670ff2e4a581c882683ad36f3471b04ced8c3607274f0cdbea98a6cddca7624b1330963475d180e99c43a854b4f11e2422c6e801c864094b24233811030a842524098108a829a7d022db6fc91450a67012840a7fe51c6017fb3d1a2fc6071f0d1c4592b202ee40ddc4f122657529ebe577c81bd7edef6527925c5cbae06a652c5d245a7160944e3c5199b0021810a4fadd2370278290c28c6017ee131cb50ddc38702019a178f8f92acf4fa03dfdc98ba208f0a4c3963385e98eba930ef9a07dfb8cf64ddf1c997ea3e949cf68972ed535fda2b629c02cf2157335ce78b4815dca8ba6df63b9c3d9d8a3c5019b735e87b7a7c662e62efee22ccb3674e38be517451c75bdc3d5ad2a2595924abed2ddb563d472c68e9fbff14672fa01129010030e4c700512f0e00720b081119a8cc77733766489efb0282727a7082d727246cf3142494ece28e6e4e41891338ad10652ec5067c00c74ac485112355d62d0231738fcb6904191499ad3f4b04ca494f097e5800a68f842163cc085113e100324d2dd01deb93147518262ec407d32a28dce010f469a20490f9ae0640842700208231995d8b20b1b754b292795e2272de08ee26112edf83275072375f7944812484fb0b6df921d223b3950e8bcf71e854122384934462a46f9628c718601cb8a80e1e3b1948f92228d5353919a9fbb4a1b52cab89fdde1c944b8a5d40f87c2f985176d50d025b4720a413e97391fa46413351e5e73421c5fc76d27352016100ba9211743c0f01dc40204923da828184a69248b3aa5ccf15ce6054f3f9f0d5e0c68765006ef600bf6fcc32145803b98130572e0c50c81f790a70049c88b913a92d2893d280c47315f40de86dab8884de98ce0d19897600948f06c9867c9025f46ac7103009e0b0d042c60ce39676c29e70d5b3e525092424d51018eb10a0ca3bce1f25ce20b8013d0032b7a34228f1d2a55c0308bd8a4052d10830a96b88009ba0414dc9217e85021f8b3df122355d0e1054458f0c412174c01062619a5025ff55ce0df7b0f5a3778815858a1027fbfd099b9686342ac928514aa1875a2fde0df2f6fe0ac000b231c388292579af8f939e76b5e763cc6a4803687a7a190cec9882f2f34be44b9f2c4a9eef0945413ca84ce8b48f0ff384ae135852df08e1718217481095b3ad559897104ee6ca4d42f53c34451a6a139d04b40b2276450c0f03672d3694eb08b2e6ce47eb607aa1f8c86b1314998172730a51a0aeab2467ca1e00bccd3322b1c80900631805a4c2278690812a52f86d2395fcc9c8f468c9431be9808dfa301330e8492905a801db100f24517f8228c514ea941d2e5c91d54ab49852bdb12f83d461138def3ea12879a3bab3b2a72e77690b1f1a68fd87e8333daaa0e45d8f534fb3cf66775d09ebdcefca248cb54d358cef28c2c63fdb254eff66ddbf490cfb9ab85b05e3f65283cb7f4c7a393d8be9d9a7407800d5fb77c04dcb61ca97e8f8611367cd5018e979adbb6736fc8f64043b8ed9cc61a24b35821a957862c95b6feeced65e21b3d96c7eb3738a3eb35ceebeec7ae9ac6666e21a677d606ae4b9fcfeeb8f4f52138a34b0fc16ef57b2e9da585984e41713f49d8d5495c9797b68ac017256fd8f94be34f235864ccc02efb15e08220955d77ec8b4608eb1df521e48662feedea08f91b9c91fccc1ba02e2d0e3b9080a3e9d3113839a3236e88e8820750be500634a8a18b91fc109c91d443a44f5a0b615dee2a43412f65228e785d8c88a88ca84e427ec8bcd4f0e91b6b054e4c610212f0800846464f0e911f32044489a091a660cf0fa1935eba5022fc24a60f9126893ee932e7293c125f1558ec4ec67e3083d91545524fcd24fe11610c4d62ce861000c29cc20e93dd7135ba17ee48d5e1fdbdf7b278bd8c1f8d24bb6359b9c16f49153b9b02652f06eef868e3c538916489fa9ecb03920468243f3f84fe0005e87076f7fe10f04ef37b08e86e76f7b0780a6fa8bb1f43a4cb0fa153ea2440a321f25327418d860c91f490f7864cbafbb1bb5780379a3b408a88e764470d439870852bd670647473041e12312355a2be0843fda00837e87783e2a4698a24f1b2b7b0c6bb0182baaba160c626c0f0f032d9f7828e33d282f0fcf39994835260b63dd4339e7ffed137dc3d3823a8bb976dad7d36f82d996267db1c76bbb0ac1d3bc6f8de7b1ddebec7d976cbdddcdbcd5ace24762de3ec4c1b00da80dde6aec6c62e2331a667bc403677cf490d9c9d6de105aa2c6d435f666451145123f9b248598193c05912aafd8e4084c97e47209264c760dbfd8e40e4031bfe7a19a86fbfb9a40a2752e827534339f683504e0554e1514292244972e2444809ca2244c7b2028582142b301286106c4127055a884c38e189eb042449a4249c40074d928881063418425c02084ec082c589101d2524499290b8f58422242a49941a21822b4a10062e8820053a50a0aaa044c25214b2446a82113e90841b4c2d2c31210ca43348b94327a59a084b4c25c072bf255430d9f0b8a37eb0c48454540103f9b7a59438ec805e8808783171bf0780fd5eec77cf7ba7aab03bd13b0e2712421192a8232bf06e402e20ee3005861a6111ef60125c5c3052dd37854da0199e4b7c1154123bc625903c1af1180c185e272260872db327f2d06c49e347836616d892c23f709ca2a851b51272541bfee5e54ac0dd8b0d49c036c83800870d1c8b0c094c5ab3e5610fd89e522289113e2ada90718a6f09a5ac734798e18e3146239215f11bc386a76a13603c1a571c460d18182fe65dd5f4a49e7094851578a03e7943a2a3d168ca529e73d48415f5bd98e9c5c4572c4af8e4c691204c5261bce013cd2977bd543f88845d42aa96b8c174c112740957d85212ffa980810e28af41074948c2066a9841156208aed04216259028494ae2087a2a4949484a2ca1a209a90b69ce29823d279c54e0badf122a88ec4952518494840b1a5838d467eca953aa67ae57fac6faf59b7a7b9c1194c719499f263d535dea9bf8ea37f254bd7499d3b4ffe18d2c8d331ad9777887a6e38c768426bd43888f1e3ca4cb84482a0aeae8cc96225e2e25f692b7727c95f18c730af372669ed2373e9e7479d2a5e508785e1e99a96e8ec4dfcc505a245d28a5d7f046d3291de448101d0282ba754b07a9349e3e437daaa89beb50a40ec4f48afaa44391d2a18833a2f391f6902ef4534e123584d9947ecbc1f13c68072abccba33159f69337e4e367e4a3be3922fd464a7a469ed237212078d0c5686281902d86a02467241f758802216f8248010d4a4ca12467247588ea1dd52998ef7ef2c68b155554c0f2934e517e912ef3530655812111900e303cdc9d48248d80674c51ccef2f531c8845143d1929c444a38c17a307ea9321a9097a31773f1cd265fe08f88dacbf48972333f1d56f8eccc8c7df1c99a12e6fe99b0b4b9719f58dd4374f33b9a68cba7bc921faea6f74e510d58fbf7490517d4c26e938e67998f63c1021f1c647c9cc7c5aecf9d2b0e724d179074cf9eb40c85f3a48d54766a8c75b3a0810f1950e4269ac2382faa4579f915e1dbe9a4ee99bead271468fa242550e41ea331545ddd2379791f08d280c05dc81267d94227db43165cc983142a9d359fe2a0d5114cc12191f36f1c653a223dd01d1c65b7203245b628290a8c5156549122676f7b2d81235d1245bfa0ce938c8624b35b6f4f7031c5147c073aac719d1eaf533d5eb7ca529f94ae38ca8ee6ce6a675d7288a22e9108aa4cd416d19512459aa61a2167027a39311f2a11e1e887aa8831c9981af1e24be6a20aa5b3a08b43b8703933efe511df241ba3c10d3a30ea2831c99899f1e64045fa99a631881a54f0fd1e38c40d2653e44f50e213823dc52047ed9216fc81ed5e76164e6cb9e72247daa967419553a44f54b932d07bfbccc4ff9491758448b18e5121335271d643a9d7408fe654475489efe8d82844252ef90ac1045f945bac4cf0caa228274902312c1212fc67e7294982a347b65c041abc14687800d53b6c0160779c9fef046176e3c44ba48b67a8d138cb7c3c1a1b2211fecb1cfd0e3d70947213fdde6d0f4379aa498b8902f7bba5abafd107a2560eb1583912ed3b1fca44b0c23f076ee21799c512c225da687a4de2124ee4897e9d18874998e338a3ad2a5a588e940e48dec93f6e990c8e4f9f498242a79c807e9f63ce81b6de78e09f9e89054b2a7bf914787a48e48a2687a1c8daa157044329dcb40a4cbf42d5fa1eb0232fd663acc813bd006f1860a929c9c9c2246d3a1101b139ca6094ebf6444323dda603a3cf2684c476039e9503de60387bc91e950d5211fecb103618fe9204766e8ef8348980e427fff46d3794c42c0e2077b00fb09c10a42f60405ae971145f3551f67b1a763b3ea3c1b6a35c43f1993a6894da4685581821c2914810299b205e6ac8ef9d08ba2ee29918c008318ecee29992023601d32a228eee4e065c68b48c483f962220d601218548b0b2e34f0803c1ad2b9266026441b3c7ac0542f06da08d01cec869ac7a321dd1302dcc11d2ea44b1009f007860051c3960e99f062de968cc02e6c090b5b8253d812cc151485310874b853c4c87604c2e0dd80813ba01e6c090652d1551b3e2e9ea5d7714630e403f5ea33d4abc757fae648d433d52f7d63bdfa4d0dc58b2e306305f5d579b3bbf98bc3a4f84ad7c468b2438b5daa18d6f3ddc66cc214fee0d3e363af384bafae395f591df438741f84ca430f82e52b9f1bcb74e8ea8c25fb8aa6d9a7c4f97d9a30465d18cd308b4f433ea83cf41995fad0fd4cbdd9ab6aa9ab5fa2e866d38bb5b831b6891b5ff8c21c8665f71e1fe3eecdb00a6fb63667c65709628566fa596daa3c88908a0e62056e6fea9728ba7ada89da4b7f2986ebcc280dc53b2db51186ecb77398db6cc46f0751f65ba24487075cec3a2f2c744379e52a3984f34c085fe5599e5979e837fbb0821fbac4fa258a264b433e84bef29910f615fda4cb8c8a7681987e89a2484511d52f51642f1b2037747e620a141fbbaa5c10c518ebce4776ff32f1c417540302d937a9f7288cf1afa95d47466d76edb50c5b4c339c43d9eb314575785f1dcaac8f8d6f75e7634f0d741dd7803606ededc2174ef978eeb5f5da3aa9ecb2c35bd34e552d77207cf57db9393bc52b985e6562205096bb1a10c8c7bedfaee1158d6157b32e48f3a159ba06e403040225d9e163bf3fea5d11c5153200ed21de15515c11834fcc5c10b17a5dd772a6bbb971764d5fb86ed9afd63459eee6a5b1c4d95bee6eb6949203c9944bdd7da28cd8e7b14c3df732bb3cb53ae6311df8f558562fec1763bf4ea5f60943f5f2f73387aace815f9f8576c0afc737377b6212367337afe9534cd36cc7716a9bb8373d3b9b28e7b1940fe7e138ecd7eb95b14b5e585e5262d72bbeac6b5e9ff966cb4d07fe7d9631dd4d6873d07487b3b503b9fa8a22ec5ab6d76fde7e9f692a8a30ec37775347a6e72573675d56761cf1b7d3d8c4bdbde3fe8e3dcbd72bce34d9cc7447c4ce7ea98da91cff452c23efdb1977ea9b1e02eeeb38bfcde53927f72bc776afe32c77371bbbc772762de39bedb3dcd9445caf79e59b1c585f57ae77c67bc53daf296d805c3792ca9973b36da08c291183a14a203bb396a21d906b8fa3089fe60c1fe34fabc3525194e5b7eb9b174771d7a7a63cdb3fda1fc5d1db2c597bcf9c93da486ae389ebf6ecd26a7c09631d906df1a539749f852e904d5f6d57ed468fe91845606b35cdf64cd378b28ddcf63377544f6d3df4f6a35df6f8155b8c337b6c71861f45d9474d8ad26cfde60ec8be37841cc18ec447202a07ecf81e53d165ce8880f92d77d4c6f48b224b331b9a4efb3bc6ba8bdbbe5eaac3fd86bb1f1bd359768c1d945f74c92e23b74c23c43404dcdcdfbe39c0edd143c06d27adb7d9732be7f0bcdb6379bbc7793b97b12d67bad3b48dc4ee6dce806cfc9b7364d6e67acc46daebe3c7a38400b26de2eec213b190aa5d7c4b77df969453eace3a761969d1d4432b932fd317831e963b1b5aa7ade4af1de0de2e9fede13a77a9fd73a93b0f7599685dbe5a995ad639f96b62427c0fb1b2ad5b8b69ebd33ad68e5d5af5f25466afa15b7388a230ee40db0a5d8de361c76edf63d7692f59daeb331da3085cb50da5da2d4da31dd334dc2d1bbaadaa6de8d6249783d34feaceb37dca5fdb26eb2d0bbbf47a6bd35d902d3f7ba8d62da6bb29ad97634ae90496d17a55fde6aec7be979b96e1bff72d452fd862f9fa031dfb7bf8ef719ba6ed336ba5eebeedadcaba8cbc32b14ecbfa94f65612d85e0e712f554d63e13c7c9bbb1e5bd6cb6c8f6deeae9e6e75d67c9db9eb21e7ad0db5d6ab6543f765c15d55d0884c8ffd26b53984e8b16d6603ba8846a8f635773c76c5e636b9e999138b2ec63cf6d4dd7d7619b9c31e4e3ae9a4937ab88d52dbd588ecc7e3b93e1a77508ac71e577befb5cf46ad0e7cab237bbdfdbcf3ce3befbc99aeb7a736df6fb9b3dcebe5a518ea10761ac29e1d5314c6d686309d23d355773c36fdb5973bc69afbd534dcaba6d17ea968739aa6afcfe92f28c5f3f178f0efebf5e07bab3dfef5e07b5bafcd6159c772c76363369e0c166dd2d79963fb8b229c31d1b17d47c67ef3652f299d73dea33b102752c933ead8b4a846643186b1c57f16639a3bd1e6b1afe5d9404fb140fbdea3bbeffb2de5a379f4a5cbf69b3bed13c69edfccdd937370eff7d8f62c773cb0b6a758dc59ee345d23b23877f536fbcd3c367e9673d8df534a8fd1ae468459d1be6c86dbaadac221b21f0fb9731cc00445c04274001314410b9e2c62c603b7e7c430ddd5eca93bfaeb32f2d90760a7b9d2dc43ba6dd8359d61d8b18dbd0a6903aad8f31e19ec79ee751effd83672d3709f5477a053b607cfa7c6f8299fbafb9c8aa2a9399a7becf7f4f566e9f0580f50b0b1db1e28b1e73d39b2cfebf3d4eac07e8780b13180b3afdfd34aeba5efe7efe7ebb3dc5d7f979607fcecd2e2801b1fcbdd7dd5f3a2796ec7a0ed817eea50f6f97a2c87b25fc7b477d4beda4399c6f1aed75fec3577357b5e9f2af64dc7280263f3f855d3e0679ac61ebb4cbcf2ccddd535dcc67aee008f3d90b691dbf3143d3fda466e4ec7e47247c49ef7d82b96317a893a0aec4beed943a727a72f8b8335b14b77f43612bba4136948c3935687b5af63d9ba96bb9aad5dbeb8e1bd6daf1b0fd85fa42c943e1369bfd95e2a37cbf4c5db661dee4bd358af392c5d9f4ceca1c2fe2c7699085f9728c962d76399ee7257b3efb7e363ad7dcb2f8a34dde17def5fa42adf36dd51fb5ebb4a7ed145d332f2e60e7f7a9687805bbb340df69a037bad7bfba6bb1a6e637fbfd995bb9a8de97b9a2f1979e50eeb1aaebeabc700cec67ee50e42e0edbbe96fa6efb84d6d0ed8affaea57ee88d855ab0153bbabe1f6d51d11bbfebdabe1b6fdab1956b97340c7a366bf294dfab25003131c61c3a96bb83d04dc300b35308111760ecf969fa8b1a0be5861c078313060b4b4bc9896964723e6c58b47838525147a31a1d0caca8b5959515179312a2a20d08b018152525e4c4acae7f3623e1f8fe7c5783c1cf762386edb5eccb669da8bd1b44723c66419c62f06630c7b311876ef8bb9f7d18831d63e1ad7f568c4985a2debc55856553d1a3086a2a6e9c54c9324bd182938872cac73bc28c2300dd38e35ae7ab6946ddbb61f94acd931eca0994511e6b839b76dbb17639c65598675a781b28fbbcd1cf3070e3f72d0695d36d3daf13226608fd98bd9779665a0c70c7a96678c31c6992056aef2aa324dd3294a85aaea644d544ef99425a9e62aaf95fc4694a21495534e65e953dc29f9c92cbb9559fdd1524b2bea4eb4df3595afbcae5c5a1d588511ceb992dfa8aa3c1d98b6b3aa70a05ea59563ee7aec78e57b459bab5f06803654b77257634b87d933be586798dd7bcd8cebf3d21dce8bebfa64a92c0ed5b2582ed91e5e6495c36861d97e6f59ddc520acdccdd896655996756f6fadbcb23aaeabad68caeab8402ba05fa0eb4ab9b64da14f01f1a0f2cf46ad4bf77e52fa6cfd855df976ab43f4f69f6f3944cf7dc3a60e51cde96e666fffe86e66666393d57143a14cbb6475dc949b12ca1dce0e1d5a1c42aff25eeda1edca2954e532715bb13a544e358dca3f9a2653959a193be7c8fa5ddbc8fde22dda466e96cfbfd01ddc2c97892cd6e763711e8bfbe794c5fac416877acbfa68cea3bb69d16959955a96655995fb277733fbc3e90ec73a018e95cd313fb9ab993127bb03dca1dab4d24c537fcdc898659bb6695a8558a517cdd7abbdae571e60b1533e5fdf477738fb33432492214363d99a07e4c92f8ab48edbdab3a93d86e718c7b8c7a33b2a467e5153f9f44f1e02ee954f9aa6fe3a9d3647fda51f63e53377335b7b8d21458bc3f6aa69967dcb1dcede5ee5a5b7cbc45016cab06f15b3d7f2fc4aa7a26b66483608fd18af311ead8e940a23948931f21bd95c411a5a1d297a5678e9fc46a09c92ebbb34ee1a4ef62a3f1f1dc2f1f6e73abcfd39cea6b9f3e46e6ecfb9fcc95cdefeac0767cf6c43f7a60d006dd04e735743cbd8335c3363cfbfab6dd5b0da99d9ef8f220010b07832830040c0620a30a256e21e47d1cdf3b244d8f3f16c5cdd282604b58760d918c0d936b3aeeb86f067081f7b086beb6ed6f6b1b8aa79344dc3300d9bd18686f1b15c2f2d4bee341d4ec92fbadc7b7f6c9b65db5fbc91f26ad3dd537eec4c77d85ece46e278dab7acd19bbd634af1af6c4f81d86b2d1f5072115fa1622bacb082eac8aa64756418536babcd4e9f65565861851559866ba6c3fe3e3b96d9991ddbecde5a9f9de6c86e7f5fd59b6599cdb22ccb329b6536b3c20a2bb22ca35607a694529a65945a91b38c665791919852bac52c631919b71556586171b036e790d83196e11c14fb0bea9371e775e9eec7b5f0beb0ebb2acdbd94c2bc5e3d1523e95f35cb74e5fadebfa27e5ba1584ca41b7f0b57a464583b4c5aedc59bfd6752b773fb6855d3984ddfec23a84e9196dddee7a76699bb9efd534dbe7d7dc97a56de6e7fa6829a7bf2ae749f1783cf77a2ed6613ab5051d9b2f08907ef281666733ed297903746a6aa7e93250a6a4cbdc36dd11b1b773efb13156753e40f94917dbe3e349f9c7e3d15d8f6d816c4c77d9f13d07651fd92f87fff6a6d94c505601dde6eec7bed76fc68eb3bdb52e5056f995bb1f332ada66ce80b4cde4f103fed836f26565c03cf3d6bb7196e5e1f0a6dd6c62d885719472d683b9eaa1ffd0aabb1a513d9db75e1886d15fc7b05a6bd5214d5fcf9efdfac568bd34f897a6f1fc8a44d7ce5f500aa5f4d24be9a59f946277d23b29a594d22d773cf6768969dabd96b767d95eda07f4f168f85ee57eeaae4684bd0b9b136b1cf7f1604d65f210f1d8738aaecbe3dedbd5886a44a22986aae50ec7d6b20e4785d9d315bdbce0d8d923a5dda75fda944d1376efbdd8a463480da6de6d9a364ec31b3e26dd4fecf2344f3ae9a4934e8a4dbf791ecb1dcc9e6658f40b0d02e13c64faf42b779707edd7e1747a699ace4df7bcd20bcf1deaef943b1c7bc2266cc2266cc226ecfacdf8f0defc22ebeb332ff4f50ce3c1636396bfc87ac8a55f681c1bc78b03571dda274da3fdd234dca7df5c03b3274cd7c0506ee2e6a4bb143d3f9e6dc2e844f19da6cb44ba4d779a263aa7699aa6abd68b63678794bc917f9176fa1a2da7bfbc11e393ce1eb4bfe5d85934ce9ef665cb35a2685ecb18c62dcf3dbc44118401e3fa3330b48ec172189f69f95960b45ce3902e93c280f199176781a187bcd02c1a46bacc18f9b9136d986bbaf7fee63b613a1c9b5250ca3f56e82079237fe56365a14c4573a0f99233cc95f74a2bbfad3b98f30f23b7fc45d667c93176c881beb8fe1096c77871fd1996c780f1fc1918cf30f29f3fd37218cf1fd21243e7b86187c3f660750cfd179f897196b7b400e0325a404300a065689a611c8725c7c82cd7f9c561767d75affb0aed0e2f5144b1cbc4ffc587b49ce57ff199eb179f69d167794b4b8ceb16d090185a6bbc9fc57428e443fe3f03e32dcffafa49972130748b7ed2050667cbc4179925bf06c6098efd4ee14986109878018c0c2130e102950880272a97759d5ed7afcbb2ae4bab340f9769bfa40fb674d863b72eab2f2cbbbda4d675e10ec8b62ecc9e62b7b798857dcab09565b79895498f054ad13e9a6669d675d90abbf54bab2c8dd9abba28909523f191cab3570cb3f63d1ab6661901f32af9087e34a6ae6e5596555dd57c31f7d8b1b5dfb6f96860bab39986fbdb94d31d119bbb07773f36fe7b31d9efe7eace66df5b1a5677371fddfdd8f79905fdbd98ea1f90ee80a4e41fdb7e7477b3afeeb4e367afb2cdb6bad38ebd7bb2bfcde5b76d7e5bcb36725b966559216017f658c632f2d7ba806c0cbbcd42c02ef665ddcab295ae2e13e1674d1398cd34ec79c11804fa45a21d173bdc38ebf3b13c1cdeb40ceb6a5eb03729953fca03fa94f6d8e72be6f95cabc31e0b82e5a1bf604c4355cfb0e8592dbdf6f4ea90f6fb7a9b43dab35b0cc3309168534dcf3ce952ffa4cb8e6d5f755731bb619a06632f1bfbcdd8837954300cbb17fbc5eaddd17de299d09f74815306117a0fe962597e3d297ff206e82c209c894e8308bd48978861f43e655b3996374297292a2916f727370dd21df5f1fc229174b1db96675874c8e66ec7a6598675cd0bf65066f9cddd8e19161db2352f7626a46fcd0b115a18d9b1df1f25802ba268c28b00ae88e28a0d0f8a9f32d42723bbcdddcdb60fa124a824cb5b4793562a562200000004f315002028100a86c321d17040901319fd14800e829e4a6c4a960a832049511005418c250902c680010003022222a3b1047ef28b8d00aa7b6bf844d17b6c40621c81b8c899723ee57820b0af8412e99fd34038d0e3f9675ae8c7e86d43ae687ec08f9e12958c506ad7f3d68d34e4443fc8a164c4f326af7c8bab2e177545924a69e24dca3fe1ba308e0cf652bf4569c02fca64c8e541800f01b23c36224d900904a64a0e0e3a4231ca10d2a2349a7b782570ac4cee4d05203bf67dfb2671cf3f41673577fcf71f1341f7a1fdee7f9e77b7b08b739eddb30abd204d70fa8b2a7344296f79898009a051c1688310185e6cd95685784d7704a2ee17b5e2e43b34dd1b6f9755a98c060a921b88df55513d6199993399691295f0c7d95913366432658725a7105e10dd5831c69ca45b009d7820783ec640c13e861581eb77636c923c0a3b0b743833251d8fe8179400d31e0b83d1edcabed83dbda0a3eeda52358b6270fd8d15ffd0d9757a7e3c92c5e386ebc471db90ed4c914f87e31593cc05865d85547a1d76d391ac04f8102645a7bde3ef645c1d73a1335746305066b1fe9c10e86df2066b42d0d037e72592dab1aa6634ca02636e1c2cf1b5eda6302b4585e16d1789a83fed253840bad977a712bf5627f6ca0bcd7bab1cb3a7113d993272f15c353a4d96881d8e29ef1d76fc9fc45f8e5553b5dbc1a15c3289c28a0125da089579702885c2202d1e607c9ec71b1fcad05746c6c6435bb76973e78082c8c3a26696194719870212d9367ca213b83b17529233a032773a3b1084880daa388df9204045c35b5498040c871f2d857ccdfea2b5e0415a60aeb90b054da9464a027be9bc9d44a2d39e285aee7c1975e5242c1c8b7c5ecf33c7a997ba35c03e98ef09ee3ba434bf85e25b910db6cf95f5ab6be3da183be0e2a54eb5c2d7ef09aa4ab2cdee682875fd3b9be7ae6b3429ba59cd31bdb6240adb949ea2d584a121778efc0f07c57b2165d1a6a5cf0abf9cf8d7e8af90f281c84e8d9ede91c95a82ea4b95a1a39d48a2f5405df5ba16f60bf2470eb29a271a17e722444655695e5715b8dc443a3265cc957b8f6b3ee70e1a6f921043d961cac4eb3ecf2c04dc7398db1f227f60fd224e6594debb7edce039071d8660487e2d030eefe87eb97b543782ec2084d601d1557c9e534fd7b70ecd877b8579bca6c873d5cc38c04d854889bdb3eb4e391f22b63ca0642cd05ae4c495e8011c7c82ecb84701fc005d4665f578a70524e00cc0d1b270287931959f6d2e1d1d812a9a38ea9644eeae63a2abf271bb8a780e2ca81d764694f73b37d1f1d158f4e7cd569929afaf3420cb116c255cb4f657b63c123b6900364caf95107d3b5036399526049d771038755a5183fb8994f700ba8bb7b9c615eb569575af47bd0c133b98d8df74958344afd3ad3cca0ff65f3378dbd96c5e4943b99a0b3ecf3655a0c053b08ac66d851aae17487506de535c11a157e0b2345adb47eada4240dc0c1fb25cafb9ffe732a46c5f61c1955b4c1a8c7d6781e91aa0bb2fc1da2a2a7c9873f07d2ac5c089b01a487e332d776c3f8182809f66c09a726d402a80834cd2710f20bed03897fdf04675d5776bb1368fa277e70df8d6d8191329852097b240fbba4ee75d47e8a92efbf56b5100decf6f49a67859d5f372bbac8e735902e79af6199955cd424626e9462333bafcdec236052017a37a7b7becc66f6ae5a6f46b407712d38bc73681d009fbc78d6bb8985dba49c2ca7ec480fa3c94e3fc2e025e6ded9089a3b06b15ce0de518add7285be59585cc56c9d5a666d8e4ff9dd38a1847e71498ff03cf045b55fa3121fa5df3b5e9ea4d50fc57e2ef31752e9eedcc54e92391b23267571b25094c97824fd6e1bfda6167b84c4d7ada295b8eea3c81747e20cee94f70ef5587d53913e6234748ab59919d02c8a98c4e2d4a6a4457f324096a9dc93cec7979ccf321c33dfa7771436790f4ac617a46461a4e560d09aa164ceee3869d03bd071e0c591c345f9dcacbd773fe8b6d9ee35760b5b1889ca711f6af95d0698f147355e5cd7bc12b7f0ad1d9c8aab8542560b2e69ea606d656548ecc11043ceb4e00d46520fb140200cf83279e0b02e51542572643f198261767699f3f94a84463e722a6b49268d918aed85a8cd4ebfc92a4cfd46635e79f0845844377b60dc5f813695a9d7147a249f54682763ae1e2c594d9c02702f7177a8e5f3a4dfc109cab4d54f14d93ce5a41906af5d58d8a223e3b5cd41463ee9fac64a551782c96afae33bcae77508b6c361c1c4c8418923423916638ec90415022c6ec61de637a032bb392152f1b7df15c6419f403f8d98030149157d6f5cb1d408c6e5fd00eab38ac848d1bf74428648edd127983fc4576b4f95e21872844ed5f292aecf5b38ec2f0c3618849997467b6333bf99901267efae77656fc851ba61f15759210abc00a1f465976a7f18b0c769c583346d14ff586202d028e6147a9db7311ad0de1bc42ef5200d432bca8ee9762b0c56f67a240e7cbd0220742159dbe60235669109b0ba121541641ae7b2fa67e19cb950a34376bc089fbd06059d856cf6e188f7b5b6e8b1bbc9a16bcf9b8e5ae76082572c646192bc6823438c963798354c92d1a12555ae1b8de00dd03b4cc15a8039bb6eb6ac0dfa5461bc9353818a03f8cb061402936c83f0bd9986ef84171e467b37487a1bc09911bc6ae1368fa854d5bd246a683646efa2466276e80fe33b467e37245fa35edf2078bae35a0b3da5c61de7abed68c1b9f425d6e7e0f0ae8cee919eb5f784771fcbdd7dc6b0cc692616b7217849297dc8b2f7d5f8a646baa4f0e541e9998b56b22caf27b2704d20791ab736222b0a73577f81b4b1b315c4055a4bd1708993d74fe9e406c477864ff4796d7e9ab2169b0c08868bf3d5588baa4279fc4af33c3967821ae8410b5aed9118e83724310bcc359eb5117ff4dd31228055a1a7aef39d94749a3db1aa46401902a16c190b8b160f52211a361316400f7bb51ffab51c32c32cc4d38d0804b42d9fc2cc261ef91891511636aaf4a1f5f9c3815030a559a171dfba57b63d60a06483cd36c12d282b21e0590b6e3199b57a712eaed3a83e154b6f9d7658067980cee11d1939f23cf026cf652a0ed4aaba29e34e786724c949178424d5709219710c7a71473683047587e32580e9845681bcd772e1692cda0f8ec2ac033d73f544dfda62fb853e9949ec219834f1bfd80ce109cbe472e3f25778b5cbdf5b52226e45a673438d7f53a9d726d55332dce7d6af93b7094bc3e1ab4d7996579188f9dd174a25bfa6e71afc67c89bd1ad326bd6c1ca76d5e6705c5cb8cd94becab0628cafeede2a14a838da92a937a5b5f44bb357aa624aaac0734e2a1f70eb1b76aa105c824bec2ff7db8d028f3968aa0b2c409a724853179e1ca2c8366df411176980ee0a57485aeebabdecfe7c807a69f1f3f590fd2f53c439e0211d4543ce4d7539969aee720eaca91cd340d88bea86801c25429df4082bed5d6f5df5593573648dbdb79b9c2144f77eec9305f0b4b156b5da856e652d3892636a4d4fa29b4e564a901c13988299fbe1e7c2822069743a4cdaa73ad854f7a85a7c8e3fb6006dcce818e16a5fc5d8cf10120a36a1e17d2589e14580dec84a81c64ed4754f8f16413108512fb0e53f18f7e50941e1781f41843c0970a605651f91ae3b4b2ba5db51f90e6045067e67154d45a1c9dc2791cf6de05f2ae8a03dc19216ec427e9ef84408f23bf630871e5666c6027a83da00c8036ba47fe0eb87a309d81ce91fd229e34af3c2268c34b9ae34292f6e65d247fe32437964e6ab52a6f3a15ad8d51afcfcf5e56891f7b3dbf874e11dcb372d5aaa54d46bd47b9c8aa6c2815374706a68013da31c0804f61da5477971af2c36a77ff5f8d9a98003994b5c76e9e7352d9d3f71a070cdd0323e88d769298af9002bd40558d30d38ff93cb6bbbc5d64c46f05e3dbde90817ddf373586926cf26f585f968e6fbc8984a6a09cb8b7dfe46aa22d8e987c5561ee8ee2f9b454a3ab7d37057679fcd863d310c536ab4e794b99a88084de392a70961268c6982b9033135330aba2a227870c29267adb8aac50bc0f4e3744726dc4d2f6e1732ed8de032aa27be77cc3623246a1c991168b3e5c02337cfb6618f26b755c5bb8ecd7e87301493c02ac636093880145fbea3003ed51afbe15f091aba3c16f0f16fb41c1c096c9b9baa104bc07e88cf9fe209cfd4d1bd85ccfec5c00a2965885c6d95bb04a91b83054f5c60205f3c2dd11a012fc4ff77678e2324e20d93aeb4539cd5baea3a2afb42f859cd0e14a8e4455314f9a824b36346620fa71476247ab17463d6e2feb687d8d2f5bc59f1647cd545c54d7115e6fe97ebce9fb906afb39492e957110cb8d3d0b47b25cb7cb8b389f0b839a80b4c11c5f76905cc24069f59bd6b7bd82ecba4a04b94ac68bdfe42ecb12f55595be160defdba8a944e16ec2737adfaf7131cb783a60c261475147bcbf80f2767148fe9114504f262b9859b621421b0e73c67a65f89380f2ed73c8d6a86fda4a8e4bbb3dcee91f2828d5b05529013824208cb7c331b6854955c44fed76ca93c79f46319b1e147ffe40cd47fc053a637fabf7828924fa4369bbb9ed10d6ef453baa6ae383ad0c2a0358bf42c747cbce42cb77b6ae05ed5f263c51c3ecc45da42ceffb6c2c239916cca41f452cf39a57d0b2b2b7228544be66067be7f91220424d0a47cebe09182e7fcdcb2348b9f52b9e2eb40e061398cb4c6c6096edc8830526170589f5e940e0ee044c2f89c2e0e3a2bae55cefadfb0877e59cfe1e896f82e9e17ed5feb2903c205656656c59e6177d04871854840f22b8e78012eb6cb2d302baec1f855580407b6bc956cb1406ab0a4da687903fdf315531e237dd9f86780887cdb499cc7c5a0531e28adf4713609b1e35b2ca91111fd333d328bb7d551ba50da1acf80efbf888d9ac791a6b9da0657740af04088e17a4ae0de4840c76957d2cfb04d589e4d201afb9971ffe452c71fedce01d4821a490c612a75a819fb9e23e39bb918aa86889048747b098244c6aa1d04684e8e585806b4905b47520a3a0153e480b1173970469ee660172b9eaf9e1513a17bc8459d33f3e2c4961b885e2289b27a332a31686f89f02f701586a3079054841b3fc10ccb4f12b1d722ef5905bad6839465e85b3cd5b8f7665c1808ca73d23df0b884d76ea4cfffad389431c2a854cc69997d12785bf4e9208fa070605b4d43a3b22c080fc570ad8128d248aa32116f19552095a279e49039718fb42c7f87501ae70d0c69b26b8c511f1062cf8547eb93ffea6bb0805b5427dffd9727310df13926aa5d62c79ba05e6ff3c509c11342f434231f6ca658214d1b46b43c74990b507e2005a434a02c30909aa7f0651014d17196e8fb6713e9c5147557be3f664863b36430d6275afe047cd09da1e80d63d75f2ca22a7b4a2c3b0a1c90071504192e541f5f219b0e49ad30c6e4e40c9d55522340999d6b2320cfa7034f606c525c95a00c96175531f7e5431b281e4f0a6a6e15dd661c769fc2b46146e96dc210271cf7c64f7c16ebb82bbd09fb8352a88bddc1259991bbe7f254e319a96981b3a5f0cd9b0d8e6ad239387abe6f5b37dc843979fe3600d7018ae071a768fb6db7a3a1e4a8d8007e9181584dcdd99a1d9b9871d2367891c854df718cabf6887006d46ee48db1fcd4a36be56e46ee512e1f56ad81c3388a4bb31dae0185f6bb45ad483cad21add178533980916286012654ba44760f3d05b8f4c267ca2b5999e8941fe4fe0bd39c60c2fa1d4e58323dfcb98a25c1a91bcf2425262a74aee9583252e43ec5c6a0445617b07eda6c66f2c4c5007125980faaad39998daf2ed83231e9c31a110086ff8c67359d28320077c50b5b6e1350eb80cbeb6210ad237f4800671323c6d1d15e8bd62631a62cf3364712f86bf6a138de5e399daef835c0a0118be8d61ce40a4aa9783bd78c9de53765135536eac8d21b1b3808e22802d5cb83058c984d5b30483d47cabf61353c7d227907a8f75245c69397490074992b9ed966ae8207836fdd793f3e1fd42ca46db9a7ec8f9c21d7b88a784018dda1a4ea463938608b682471d1ad8739c6f05d46f7042b7a16e01ba5b28f7461dff11c4aa26615186c6ae6f8e1aa831783b2a72deda85e65682fd6c17b68b2c297bcefed63e30d72126f7a266938bb35146536bec6ae6afe49d9786c4aa684e458d3b0831a996fbdc1b17fa05dc8fa291deacd02d402fa0328c778855938b6db790f51165177da24fd4485d211a0471fe112a5469302695129aa4e576e3617b9a8ff32463d643436d01670536d17348c700c35982b4ab0df0c251e26dcaeea0381683723f3aade9136142d89bdf54a021f5c92f831816e67399d93a5d8fb7b082d749dc57abd8a4cde9733331af31e16c2c96c1703cda6495e56013eaad08246365ad6233ab358971a4ecb7348e5f69b95685ad1b4fdbd15117d37293598ec2655e4e91cbe2a0ccfb09020b756504fb1b0c4f0d2edd38060a6c85095e07a6f3edf29c5454883139a9945341655138aa469174cae9ab59d2250295dad5d28ddc3e41047c4957cb21857a16bcbab998f508a0315646028717f65863d20a540abe8c96c4847afb371788b1a24f09769140b14bcad8719776f61cd7c2db7ca75798bbce5d72d697f4f6378e632f61400a443151d2786d423241e12b2c175260a5961bca287cfee62cc3093aaac8c6d0bb6eabf3fc0da480f6e5cb6a1319bda315197af7c096fb7b04d18fa4903b7f1192f2250ac24a1f2afb1a39c632f36306b249a73e687ca60632351eb8ba8612264734957452f6f2fce6b46da7124e983426e17f2304cf75c0174c5c3e3bd4b8c4d905a098b45709e3786c42b7c7e7d7ba4cd0dafff10626008597fe9af6ca5ad37b9edda1d991962dcfba01c0788cbc755eb45e1c0a30691a0bec1519f92afaeb6cfd3197f273a9ca497c9dedff74d2af71850b206b1d6822851a4d262b7855a0eaed9b0539e2a64862f5896b73a113a4eb6e6c34790d9c3d08e9fa4b2b6afad6682785802b5cc1d1364dbeb9a882cad18bd76839dfd6efeb4288ec00050051481c57e37978a996b0c9fb2ed0cb579c038fe1dff09eef95ab7faa0b36aa20c59e021928ba4133e5d625df1fd88f19404e584aca9bfdf686f5447fec0f50ffb99e25891154d1b0f599f15bad97ed9f4e01c8e3bad0c8487b982cb5b22bf20615bead961405f493a02945a2224e4941aedbba7bb024143b29e984dc0788fdbcca1d8c9a06664363c49df31ee2f437ec28ecea3162cf24750f7061e4d69577e34e957fbe75502c79c5a072b3375612858100ffa3b84dfbbbae61e747b3033504459c15a2edaa8877567e4de9b22991388f707e8b61aed7e78c06cb6bdb9471e91d0ae397a895c4c54485512df3c1d05b59c39cf9402739f7c9f950b4a9ceca64f27feb93ad714c6bc8184ce25a9633dd21e9d088cba4d9b5627f520a244342a09bcea8a22a3e0b53cb6e0e411b145e1740442e8f5ce2e121b45dab5807467d5f2728c2d6223c300673110ff3f5c0c474de9c5323e378ec4e4b490a64885e6c89d71ff3a02aecace1decbbbadaa669d7b096afc255b749f7bb750d5e7f129920858fde2bd30755b1037e59f2f31715d54e23420b685aabc588d60360ea250de72196c031592f2f6ba36c872dd16d47907432484742cd443277a14473cc4907261a68e14a45f76bec444085e377523017f0cbbb7bd57683fe0067712a4199aac39b10837041182bdd33c21cc3a598b0f6e808e5b56505b7a6459d5030161f07e5f508605b6312ba80274b8abb1e63e65eba15e568b1698ab61060c93dcc43f299f4c8bebb5fe1c8d1cdcd2c77f5e4db0e1dfe438369ad5f3badc4c570e936f9e6d8ddefff095b8214471f60989d829132187e602059ec901eb8629bc4965483dba26d2c461f515088e740e0f24830829c149062d9727f4ef242e73e27610e7060f62eadd7a1876e55874734a81cb9810831c86af45b4d79a4dc24be1e690b72e5d10ddf79615d27cbb643ee1b794bbeafe01e8579ab1551c1a6c0daad4e5ed2416db0a4c345f2b2f90bbc0e1bdebc74326cd5b606e3910a716caa3ffd2720273be7a38a6df453960ce1cf3b6ee1a8f1f62f62e200744afeda0602eed97a90f7390a64b4cbac23cf90cb29cdfb49503a332eff19304be383cc0c82af0501038e701bb6da670b4e5a6b706c3c92e138eebe80f2c829cea5e9483e6384064b34b01c2b7c3c1dbaa4bc4c1ee6c5218fc37abfb4ee3565d25c5fee67c354368157aa6afa001c5a0569da93986a163890da8109fb9eaf0578c2d8a7cb6aae0e8e34fabf5416ca24019d1073b22cf0468c2b223ca3686ec7bdb7414cab060b1d40282ce9788abecd66e2673c3836e570918c3827f0297433fb1fe2086ef894e479aebeed2c2c91d1cdcc3f636560e5ec5804a32ae17245496bfa4c8fa4b2e9b2afdc9247a5a5cd2e9c6c825fe35bec40ba04658f6b24b0d119af91e02f552008a05f146f1335fabc1b3cb48f01269c1037cb63b630c34deb20b603b6f4e76cc196f08bc3c1048c2481eae7aa1b133ee7d75ee750828980ea37d0d6b1376a2e51e327dc3cd99b5776f588399aab3cb65f9569ec783f421e0bd8380af0a9743000171a60f76055305ad6a3985f3b69a3c5b52d57b0e512001a425e4d7030b0909c877c872f65bedec8c0f942e16eae2bd15b2e2fc8df3376110ed35d6226f1a8144fc45568f4e60928cbe013f63f0c89b98602d428749515764f367e96eb3d11a8c537ce78b38ab43b13d6e8c99eeda46a878888e0bfe9518da4f808349603d997c9d97215f5207dae8e564d21c13fa57003f99419ccc0a8a0fb35d3b7efddb283edc4129fccb334b50ad14dff2816f17e889d7bdd4d8590cb24cf9b9e313372565662c07de5bcf00807ef6e93c9856928a79b16946d7ce08d3301dd250a50f62598766198fed03d1d756b055ef84c403918b754ea56ef168cfbbdca292f9b88ac876d7a95a24b7e5bf578c3a96e054bdec05949aa6ab73a59daafb07c9a8b589728ba3d7650022c38ad69d56c369637309c1e75808fd4d70de893687f61e6b476bf669aba52d5041624c8f3dc8cc53311176b0db72ed63e03b02e4b8db4ac155562d428fd7d7957c6b80b267f31aa20a8d83913270e67f3e2c19165e9ac0ee7b315cb3c103bd7f5b18f6ae21c04a934ffbb1b3b241f9586df08fa8790948f142ca89d48edd4cee2f2dc6416483636bd2dda27b2e3ab8684d4e3c6b33b88fbda4fb467954e2a34bf01f31c46d8a54f021d4a24f45f9888332f4d6b159ff16d3612ad4d448fa8329047eeb76f89ef6265bb5629ee19aed39a5d1ad96c7ba4cf84b78bbcab4712b23a15e41338132e442abc27c11ccb45b884ba2e09167a659d1626ac6c2822b9490ffa42230d58fbdad4e05a4952c2bc4448fffb03a2159e22737b846dd6c44c64f4d7fd4929b3fdde04736ff59284d60cb23441e1f809643f2509b4d94f82b43081707a0f14651a25c6cfe9367c278d243c29f429fea3fa81e77a006fa8f3730f741ac89d93c959417643ff2583d8c2c2194f910cc7d0a982234c608a240683c7e9b619bf95d432a005fddc74223f075c9d7c9837aae8a3d55acf5b17e07632f76a7ca9d42f1ae62b05d10eecb03f19920e9e3cfcc88f602c1527e4c0ade34f279e73dda66b87d9846ae2f3bf53754fb6644e865086a54b7d39acae5562843d27bc26b735bf005e67036105e6fa9916994ab83d97b3c7991833f26ae639f675d8ffd464e0d5fd1210e417ff80f13280d308621f7931196d9f20a8f291d156c34eb8bd96414b316dc29378285fea64e56ea0dcc873f19842c30a805fc311e86ef4de07a918e8b8a1cc8a8bf874bcdbf024dfa304e25455726a01f9bb9cc3357250f09c6fdcf9ae3460d476ea4486baeeb6a41a3f6142845358c9aefe4fc3d7e53cc42858e38726e884dbf1c9b3eddba48319791e14d61cdc0113dab3298b5943af340479bf84eda3fd102f8c1ce158c93da19c1581dc3f055c0e4081e8c4aed64b97b0146adc8b955a8c18f315d3b1111fdabbf958663a91dd1db5f9c941c659dd6b8cc9c68c960aad0be5720372d7bfcaa2da00e976de20ae86d219ade940db95a5cf295b75dca24aec3faa4fefbb025d1d6d895cd056aa97cdbed4c31d6fe1fbabb25db38f8cee52d1551dc67c4dd022e4590ca584bb8404cd9f734c3e3bb4008ed5a3816335beae0b95dbf4be082e0818affb9237520dee2c0291f545213a2e218fa52ddaadc61aaa9854ad0cb5d1c4e9fd0992b2c6866ca466d349f02d8c3293203c2a1f0b6e8d163a86d2deca1d714aacad33acfd52aa92cc022adf7a0def0d952edf05c3c603d5bce8159a77f72c42689480f1cbd30c58be86dda1deae1e86a86af820d3bf90e75e8c4d26c04532f383da0dd5a546c2e69e50bdc659d3e49dc18459b1376e1f5e8d0de27df73a2a83c51acf69f067ddf38dbaf9df8bf1896170f1c243c9364bc33a403c27942b2d24a2c3e110ee881ecbb85b3f36925667419a0987f84ddd03e76cd06bb1bab431d4b43164c5972e072f5ec7a547df160a44e98bf23ead3282115afeb3b926a6007b323ca59fce0351edc88ce2a1e1daca1fac78e6a04eb2c2b5e2f9ec1fcd4d71f26f5f6c72029143b578bcedd3fd2a27c3a37ede88d0e11aa1905e1ee3c760f45deab48fe33526e5484142caa5426f49459b5e84a36bf1bb93c70e13d9e93d3e6fa12daee884cc5d0382e442ba6f7fd88f0c8220ee710c2bc2b62e129e4840180f25c3a0ea4cf3e9cfa92b0290da09d6f292ec12c9f374df9bd1eae5f340e9b3bff6f88144b186ca3f9bd0a151a5be57ca23716438e9d273271862304e514359c6c3e896a4cc381917bfacd8670c47b6693960d5d80f4516c18a03916318ceb11b51feae1870a52aabd301b6422572d693f1cb9250f184d3cc97e915236cbe9df41a91ca7e107ae7648ce0542809e12e86f304c6aab4d0add251ccc1df3b2fccfb65a090134cc3271c7e9116359e2022b61a1cbff9d42f222104b9250df0059542ea40b61c99b969f743a8cf20783a6a63931ffba40485778b7b16a9fc5d72c11460a6c39962ef19f41ecfe958498c16fb6aaca52ef404f2fc052c2590e1d849fc59c4a2bf123c8a28d3d09307e42499aa5c4435dee5b8892200ed6394291e96ceafadc855e0352e71b9947e877611694f22df91d0abe5da5d68d0b4cec9fa8e563620a8a71acfd201009d6d873e33190660adc780bb9ae328031e3e38deb53a6175b0b77a5476c04cffa0a6e51e68398c9a7530d8df3987444821726a99e514cf0f148043457f2bc21b0bd343466d7a5abec4f87f3bc8b2b6811788ab55add9f1e74f394c331caac384a79c98c8219ee703f537e9b005d49e9a9615e36001f5cf48311170f0b22283c6a19f56e00f4e21ec3c4ccbd51b347504acee96bfe8c522967996d4a4558e52d111abd6b2b1e0768c6230a01e97d0700f0b470f1d5467c31714c07e83f702969af3a4bbf39dcd009193675bab233f5277c346a78c772b7cca09fe11729dab07173daf8e6c78b14e2544419e71bb820c5f8d7381b96542943bde36a9f408da60277ea5134e84de3b83965e25da9058b77721a10900b4ab9946fbc066065a6f756040c953d27d681bcce8215119fc4b487a4155eb14e3ad3755779fd836407d7e504461d3a44557712e2f02816f62dd138c70e2d7c9c9728c7cd5cb5feaea4ec06e19ac7f1f313721494c9271c83f81195805d0466f9dd0b21b09f600c4188e07c5104bfaa99c545a42a41e4f01d639f305854e2230850c0002d0a1363b599297412bb93a42d9c046c09f67c0cd856af63919ecd0422085f9acca94661fe38b2e4f51c793d292a065c7a5c7009c19fd5c0d780bdaec33a3a35ca2270a0ed69608c8ebac5052e4d31efd1dc4310bb1ad3a65df9a38d0d34ac1e7e023f02608acfa513ae5ffb73e49e04494c39e4ca3bf5adfb510d870fc415c3d55c9bd7ae6b802178f96ef1a649222d35131c41492cd3d54609fe51e6fd96bc9105cd77ace9ff7786f68c2ec9183f6302be308dd124d92e2535657251f406723f3778f506a1c7253ba298c0ee2ddaf128b6d779db1a9422b31040780db331a0d326ea2ce0abaeb50b42cf68c5bde92236d1f3984b37b2a59a39c5701598d0f85a1353b1d3b2028eb4461ad7022b1a3b383f69a557ed8820618b64c318090e9ab7fcc088edcb71831fd0362bee28fc22df081eb72b2d9d8f0171042ada5f233613073e592bcd5fbb8aa6196bee39a4e139e4260c15205500106e91a02901f46d84dcdd90885ede6826b7cffb9d729ef271e577330f98e653483719550551367a6f661d36d69a258319ed7add1e9e4aa74e2b2222aa13358840f0ad0461c579bfb0f68b46501128f2e96715927ac40293927fa734e094d1928fd0640914e5e8e3fcb88631b33ce13ae8f2282c28539e44cbc85d5b47aa22532f6b2bd510070ad719bc4ea4b937965edec9135258f24eafec140a17dac08e280e0778bf6a67b7f9b5c8c584da0f0414e41b3a1688557424082b581cce8f3b8c6b9a103a1e866c4ecf6c2b11c1e9a5877c907f9e831f8df4d625d0250134f0779d8480cd9a14fdcc8f8829652c4f55df073b1e63e6f8a051a777281e362ace6ee0b05d09d56c99efe32f002e6961c6282a4d51b93fa7696b9adb5a518878659fec7ece71804aa1f4d8511bdd7a91c39738421ff21275d331e51be64de0b94aeb620603b674fdb0b9bc0106994c6ec0613cd3d647a98a5564d4f92b6a2a397e95b3cf99be9a3d09897b7ec47cb207c74643347429579a68944876cbefaa4553cb6bfb964bec55abc403b9dd85c4401c8dab43d6febfb1e884db1e8243135ac8b714f210ad3c762331604b296e42a0f0faf3877e8a659a8108e734f8f82f704e298b459e62d86a2b86b4c506f03941da7d10a48346297467113156b99dcd10ab664539edd1c291fa0eb384e0d37fb722da00dd013319187d67b48c8667123fb8b0f4ad4062b8574211b03fbf2d47e2beba742dfc6ad8b00c6b9429b793c934b919c72eec078bb128a515fe7e62b1a8e0d3c33e06d55443407c044943659c21c02780295ed5f7271de252664cb1adf9451d9c77ca238451c85544cc7ee57379322c085e9d3f6066c5e4e8226637a28f208e5f022d637c1eac2a7f1bbb544101454e86e50be36dbd6e48c50ebd72459cfe3d34f12e7c76de91a44d1101cd23b1037d2a2b41f4a9d82ad2ff72c515eabddc5e2f0108a4aec0ba7e23045c7edaf73876d66f64deb95f84eff096ceca15bad540dbe45e2f9d08026281773a7eee729fc1c3349c672d6b138bbfec36e5d4cb8e46cd4a341de96c4e39af7d1c0dd34aacaddd1acd2ea535cfa4e8bc049343566333c52aa35de6d00892b8b5430b738ead3f4395ae0a7eaa9f0deb2333f7c5b778adba136050a9da1d8c151d0d09935293342b568614e73c9d37efef8ff2bf3bb910012fda0e7ccf9c8e3e635af935cede118f508cac7c4541e15a0b98509163c245dc2771209d68c6401c8ec263c66aa39cae684985a4ad9997d88e71e8bf22bb28ab7a145f0de48156eb18a2dd5b2e05098b4f6440544531a95b6298618e5803ece9b43d5669ecba3224125a16565fa4b46ec69d009e16acbf763cad72af4f455a0b7c074c7332c459440f51d9035b840d26d63a3d1d1bf80796bd5f43a6f07a43f04b2a11f807496b78e5b8b4507ffc477d837998449d2cd17d148559c007df2b447f02ce55c6e71a9adbf90f696fb867a1743f0731bcb8fd565fccda25472a4e6eade274efbeeb9fd974c07a2d15e03811fc2c39b223d1d17e2b12a3b0fa159fd1c3c12c0b34388923bb79ee93b96752c76e7fc63aa564b11e256f62c84915508a349d715d36f9246c423ada3ec4608f6a46f209566e88982ec543881f84e10293edb49115320bc51580ed598f385df667ac191d2001a760700f50491e6216609b0e1c6724d6756cdbdd0543d8fc75b8eeeaad16f5f6e3d9ffb8d982653281a65f64003a9779d5d2851e65fff53e1cb67d918547617a1cb8bc00aebb4345da581a984324627b446852c02230477b10e9681cc7be4ccff90acfe81cd186cccaa8cfdd9a9e5a309a80b17c82aa84c3400844852c38c8dc4814ed1560257284835b704185a562fa00b2e38383a61e03a4a8c629af9b63da7710a90f791ccea69916bf9f2dab7eccf9b5ff1deeb97ba77785904704398326cb8a52706e93bef802e1181b2ca954466d344b02d0b57604727e794da81c05ecd806f15218a1261b55c436c34f4f46097f444825eee629baa66da4eef9b688f6db461f582b535b72dc9cce1c0124fd067cb7a2da64f784521c47c471d94ef29e58bf9b488c11e20b6f86971a8367cd1b08788945b180dfc133f444be76deddd6f7dca51043eecb79147108224cfa97f2cf6f8617d1b6a1871c758ea24d068494db3ab180b6c3ff63d5d36f399520e41dba49d17b33c6dd1792599c4301e8d96768cb129372b77e1e85d38df89cf9777ff49a50b978ce437de780dafd069dd6273d758134bd0a16a0bdf2bf1a09defb528940921e8e16ee21cc0ab6eb35c44971a13441fc7f2887f0dd614ed91e27c6b8d2781eb302c77d5e0e8bebfe595437caed366c3d3d517911ba8d0ad99efe3fa0ad6fd7370d5acce8f81fd3187bd6e731c1e7b9a76e91abe91fda73643e0e078ec590428fe642e00398b094e205d4650296d9b3dc7f48092b580cfcfca8d5629eac4ea9ab6b0ea611bc3a22349accca44a40fe2dc0433e274a0fce11fae41017e2ae12f3f1715cfcf2e16521bb82c0b2494fd4e2d175058da009b77edda4de743a4a050231028b39fe7407e75bf563178695479c04d33d1ddbb84b3c16007fe6601659b3528f75e389810ef3f3379b25a812df0bfa183397cd32ba2509a6d007024fae3bbf70092d08b201ee9a05c151fcf75bfc151360c779f50433fd5dc97a826526923de31d4ccfd9a45f7c9ceddb15b0f211260458790647ec06c5d5e4256d82c345173e6bd00b00568dca31abc0b7ae513036324c008ec9338565a83dcf49ba517c4bbf480be35ca1b0761a2f9940f81f180823811191dbb9618ee38633be2fab3cb36732934d0c2eae54a880355d4cbe327a37612ed73cdda99827ee748227dbb844c44ffb8a40223ada28736aed39d3480c5fe838a002ecfa95b913f598445b28b42ed0a82dcac266dfa743a649bb15d765afaa813aed56d071fc39e6678b325965a107c1f314cf4f3e95ca80aa59fe546b6435897e3940b683883db159f2a0dc8c15d8975415ca1b30ae634f58a8e3c821303ab718027229426763a4a69559cf2e0306a01f86bcc4ae56adc921f9f594f7c21146bf1e769a3fa74e5e93d2c0475c9690262a50d24ca61fae9335258a6505ee7f9de7f4bf2a0d8097d1712be8fe23c5e7feca9c0e41f57f4b6ed1e60633f3831cf50e969877427c8dcfe6c56fc9fbd1c0291e6444c68fa7fc531828e354b3f4e7014387372508b9772f14fe67c0034c3eed7e4eefbb40c267ad51df5b3ebad6170495787886dd01b72b86500a92c8b8373cea489d464d7e196764e8cfef419808112539a97818b44335ff871ec10cff4e3ea16ede1568855a1b0468973ea27812f2f90a28a18e5e2c9cf8b423c7f0fca727aed4a78e3358e7e169908784b9aab2257e8ce01b6306763e707d34c3179a525841e0b24a04a79a99e0dd750086a73e4b2fb6bf8e6fbef00fdb2270ca871370f7c2989da13ca8a5e0425f9e3bed4034d9f0684af593820e80ab5b18a6ec72fb0c19ae43d7ae310eed314222559da5f93c9bbbf7a80cb88b2533ed190b8e672aaf68bcfe35da25b3f33201812ee4162c3bad8534b852b86610b38d3afc7c5b760cb01ff23e05ff066fffbe937e95d965ae568713edc2e8e9b251285b87262f12a14329cecd831a61942ecd14fe9e4415c143bca2e8617d92b26eeac14eca60ec492e911e174b14188798c2c94960a8c83216c4229cce24df488acd85a3cdbee205e398e49f0b50d468b721f62ee4ab1d817c07047fb40c5055fcb47916a900dd5756f41b3ab909082bbd78e9a8e014bd261f46b9c3b478bc33b73b6d9640a2c981976177c6dee819ad3cf12b9ad6f9d6739ea1ea73204db0bc1d7c435d194abff63bd19f3f510b3e5f536828a90edb842631a33c7f3a982e4950361ccc0e8bbad41f0262a3f621f2df9cc08f731c119282d4732f150778291a52543c1e353e91b6bc7de0eb59c48f63b6d3a26260b1be180cba82ecb075958bc5e3f45e6955381f0fedd8df34a02a5205bceadc0302f7c4dc5364cda7cf881412af0f9562c42d52ea20601baaed8728396a24eddd1b6ae429006e88f37f59d93c640214f964dfdc16545fa25bd65ae4fb5e6d88844ed3b236ba52eea17513532a379017f77bce56fedbaa61fbea8cbd58dc97dbf1714574f9f35b8309dc245d52ea91d1926d80f0e74facfd58f71f9c977a20aecd5352eed6ed0c6d709a122f934eb73d9d4a6736816596c1c7c865efb1333d14270eb48754091941c44229336bbcc19cf78801da8b49e83da5c87d5402f097b162939964c9028bb4dadc96f50519148727b6cb61a8e8bd7382c81fd3eafb88377c0cf890030e8f3ec26abbaf238d3899e3f4b31834da427fd672a625c3513c9611cf7c3b3ab82bdadc3ac96fdac3f8431a3b3f41a5032d863f3342bde9460592aa83bfa990c6668f80a33543eb71fa4613413ff461506f06234c159c008b0e7fe27ef9fdb0476446a041fa73d54eafd9e365b5f39b83febf859eef9101a4f6af20daee3029db39c0f73ab967471d00ade910d61b77e8ff58195daf087eeab61ff09af00f9d0d00c03e727c4eed027b5f537fa300df5654495e611ce3dc66dc83202f5cb7a5f64bf3e44fb090af5525ca821c675212cf8e9f36e1b79081c52e121a420ff3be155c920544247d54a52c92288880ee177af1a0ecd9c00ad743eb4a23e209ef61fac20ffff037da84fd2cb3c480cc0276f21ab82d45b49cfe40c57061fda4c0a06180514cc02a835ad800f9014288b68ee10575af3f12de4bcac5c16dd97256429498aac2c02aa7b31e14fb6b73de2260736369efc5a90c75570954af3c941839ce1389ae3584729964e3876c4da436a946eba9cef9bcdfb9ba8586c0601bcc9e867cf00341ee0356da01c7a16aa78cd3ea2051bb0a4c2eb3b38b6cda554f5ce5f9b85853826e77752b66475c8b491b4e4aa4e6e7b65d5e3ca130f0c3d9657a8fcc8e55f4aa4df32f57af53cafadb4324d80669fb7d4c7d7a9887a65f2ca07c49b2ab6c33aab8f7ba51582354587d7d510ed5cb761978792b8fec96efd2b4aef90c637937de093b2b90236fea76ad937aee4110645654c6f0cbd59964c4420c3ac89577c38f904cb01183e76283340a56ac2a13af057fb551318134ae5411ad67da5b5d690c22227103c6cb8d49b5dfdb239b72a03b3e3bd14b8974ae5510caf88444b1abb45989d3ed608d76c53805d28fdf5d1520e214a8706352282e32862a9935370132e45b6cd693e7a891800cc18c59478fd4eaefac51b017854567acd56d522073d5b1134312370e9a6c7e3ae36cedeb14155aab077bd71ad8791ad4002528fa3e845e9a605ccb2ad93cf9f54ba9b943c79aba606abdf1e5b550ee9cb4bba41e8e541354b3257b4f9c0b3cdc415802c19d4f766c4ffabed44b6aadec1504a1ffca89efd9cd83e2825ac24cb805e7549484718f7fa3191fcbe6c5e781e21274aacf54c37dca5afbfeb8f2ceb49333712b53fe5a4fce307cccf1f4952fb7caf9936dafa031475b943b98d6f42183c2f5debab7082c575274a50f42274759afbddd47efa7a2aef0643cb6f90880697077abeb9f80a75c8d35baa5ab268b1655bc3828b899f0e113c2350d0c159d2b107ae030a5ee0e8781230a0f36e068ba1b878d3d32191de36623a5bd8dfb2783b336fd21aaf92cce2c5cdced9a2c737afb8e6e5a2b221cad010a5604b08dbf10e0c9485edd849e8538923aa7f71b43d30254ef8f920ecb6e4a423b1918a1028f3fb376193cca388d76eb05ce6319b9fc321354ac7943cc6a5327dbb3204a6436b5eae89671b8db586271d0e730aac0051608c0d5e75136c818870b7ec904c82970374d4a46c9c00612bbab41f755979cee5bf9de0d995a7e0e9bfada893a90be0d65d4d7f7c343786593e6e1eccf88f35a4a137457b1cf89e342d8c525b83f538af69e27850348c2663be286a4ea3e25920a0b84e0e1824f519d46879ac92ed2e3615991c27a012c66011b9e790ac15eaa6e8136db2ad1c7b18eeb48c361a1a421bced14c12cd1bf0fdabb550019e86bbc61c10997405dc71a810308562fbcff5e66a34bfda4e19c102452cf1a0a5644d16910791da37943a58b996dfd76e2536825b4e01d19217da95734a8029f8557478162a458f239fb311c0726ad738389b043693e8b5e55cf98c49f5bb699b647bee7035a6fcf3931978787c06742100629d1f58ec2954ced7f02968978f08beaff6cbf2358984fa656927ba1053eca9d3b7557f597ef8e87d8727a69dd0ebd549276923611ceb77cca443008a696666830b835891fdb6ffadcf6f84aecdc5da2fada3bce68c93798533500cdee86683ebc3805fba76259d8b4880c8e51cb04cfc07aa9f4f704127d3843e126204aebb065b3d2bc4ac20e964307440173829f3154833c44a9a4ac531968eaa34061c359a68a2dc0c6ff6539cadb96a4997a0464190aa690ea01d10e6013b43056313d8b9501322f3ce683679ce2dd3c6a269a2be3a7c671befebf143f0b92fae25fab106ae5161b0c075ff271ea6b2055dc6140b9df69e8f956807a41c3e45d397b60206a793bffa3f0a38fc38de4802bacb85c3ab7df7ddc8fde5cada419ac2d056f0840fc529a66981c8d234c13adc7073208220ae8197685924521f3e960b21f113cb4c0f0c475e7c6ef2a125e973fa06013ff446caf6b7e673173f59b38ed4c636f897658c3bce1ba7d9380b3fdf7464bdefbcc6834b59d2e38e14a77fc16095c8bcf7a46007da2cc3fe6163c880f1b31cafb3a19dff87e6e36e2b7cb8ea556934537e8fdfc9de88b8693cefc60a66e1bcc534a7a748468446011b4608fcf2ef17ce4a55a82f3894a789954860201e21e51239c3b073db16479420a4768562541151020744febc7412c0eab83369a339512d61abbec6472b282ca3424f62985a16ba60f98e5cbd5ab4343a90f41807bc63dead9ce496e60e8f5c59fa79c41b9f580f2420fe12d6364f9598eb11b6131bf10d3d9ca39cdff8c497d8d66637c33a85e4f25386b115f5885c2f7031bdf3b735582102cab0f5663fc66578a0c96ec4173949bca54d6c5e0afb4cdf7a526fbe23ca3b35460c1856c57c0ec8fba2dddae5e22e11f0aee5c3eeed60e2bbabbf05c5cb72d61bfd0643401b22ee845b4ac71e6c23b300fac20c6731e4bc6c1f9920d3ccac959b8bfdbc9023461a60b50b9c79103685025f03f4b3accc6e666b182ece64f6db9b6fd2d5d0eccf2c4d8e8fcdf102ff02c3fc809cfe5e3322d6136f6b1f0e74d06957cc9a09e1c5346b2b4d2c7149b928f2afdab6cb2af447ebed27eba8981cb12d501a3e8bfa61ee8f307a2e5967c55d3f1e8cbefb179b80095f3293c75259c806dd53c719b4206a888f1045f4381a05b13076cd6238156668645b7887d38e5e86f81e3500db7d46e3c03d62e48d8eaba23b8b9e9a07e59d1ab47cad7b956ef88a0f916ee8a3cf66b2e3b5486895a5c48cf8b790845701b34b786d0757bf1262a2c4497cac4077daf8ff1f203201fa2838c7630a8262ac5d778a6921d0e9ededf8765aeb486b0235077a5a39d7ced240a67d8addd9c39d4cd19d1cffee134d05bd418512bd9a3509e8c8420019d90bed3722c8118e128aa7ae6d2d7e06a1fb6577bfe00fba11700d6799cb5eb496c9cde79cffaf563229df3ac5f175e0a168a2af6d7ae750dbae8f522312dac64c1d97721d07e5c27bf96c23605510be4996d2ceb073622f565253ed734d9e36d83896deda67afe252c101b164fedc1f12fb6536c0fc9c56d32e36c9a47d8fcd4d051fca33cccf59ec18550604c0842fd481498547e62787753f41dbc032f9e895f67be74f4f7c5083d18f8773cf0df99b3f6fe6881ea1af0cb89acaaca3d58aef99eb98191e637be62802e778d8c05ba3ee35c7822be1b1b543527e3b474c937f29ddce35a557fed6e9827e756ee619e3e3cfebb89d1702c91f456fe78809f30fafdbb9e6eaca9f932587b6e75c076bc8e3a9a095e79e391991cae3a9678e85b8048facbfef4d6a3ddec9e6411e0118e32084d7283573484ac4e14d56de3a190eb0976dc5e5cf838f0770b886209761861a0363be831145ae4d55acccddd67fc5f1c2862896407728d4a780cd823cd9192cf911b62632d7024c43facbbe6a05652c101aba0588cd0074dfb6be973374d8256884928732601450f5fa582030ad00ed1c84ebf6217271f96f611e9b0bd7af2f5e5dc235fa7a353e735e3c7c538d8f8e2d3cc1dd80c6dd66d7f5b8dda08543aafbe788e9a5bd5f8d060d8bfcde9d83b5d57d495bc2732d1500b427c926407cbb55e467252ce40c0aedc44f106b21e4234aace10eef37b612c7cc7434b5e3368f8f213ababaca3962e9e26f413e3657d72f7f0d2dd6d28afa994f262af37174cb48b5f1cb33ab405c250e666adf143dc4d0669f44d075de80ddd3d9da86517803b0d1bec8253341d452662479ce6b62f86f8f6afd1861a129bd67c4fee62a69a420a8e412875c5981e0eac3c50dc1f75349c5446eaa8d6d93f9403d3af8ee347a71f11701deed2b1aba1555d1be5ff48c26f98ff986c411a18770d331762c5113fa15ca6b9f9b6bcbd5c5f5cb2b2f76ed6498f6df3017ff9fa1a0cfe316a84167a8c338b838b4609abf0e11de01dfdf56356c07feb1630122b68cca36117fe7118b5014705f626fd114fb328f748ff41cf96041ebef5281fb065948da14a748968a7e04f8db5fbdb8bafafaf2e575ac1583b84d50819da08e83cdd447b00e06982b4a4044b1a323201d32acdb4452d4e2f2ef823c7617975f5fbcbabafeba32ae2f837a64a85fc63a655447de3d6c2aa318d2a143c1c2ca0a87b66ee6fbee495a65c3a14010aff03a9a3c63486bbf1012fc0d1e0d8e78e4e7400405a10376de8d43ce0bd950692a6d82db1b055214db08298f1a6dc280502dcfccea47a195ab1f2a109eb992a95004b60681d684540fb756e64245e4670834e366bb06a1de115b2b1e4482e51620136874ad3ca587243e8da623e8e3e63087744f97007b45db88b573cbccbd17b3b04e484e1c0f69d41ebbf60196093cc0d4936fced19657ac1ae5001d1f81efc25ee5ff17b6c56a4d5267650d7a222f0a78fbe1651af1b6d459852f28327bfeb110881e3d3528f5a8bce89f5b02a5ff0b58204586aa77e38f0f08cb35b8a877f44a59ce1da26cea127912b940f1af10cfeeebcb97175c5d5cbfb68e32ad0641771510eebab7cc047bd12d9a6ed1e717941f1e4d0444f88c9a97a0324f0876036ad97edede1e4d8a82a4e130ccd2053f2fb44f88d409322ab3b761c4709522d266571231a37b679806f975e0515af6c39bc9c8df9c38577d5ff22d1773d333c4fb04b393ca21177f14afe560b9a22f14fc17e4dddd495757e7ce7785b80493ac74eab91808b813ad720c203ead30e1bec290cf81f6b5515bebb0c2886eec00ffa583c47204221388ee3541e1bf3077fb1c3c5d9d7776ed589707a03aaad395ebc3787480dd7b10ab0a44ae37e45e08177e8473dbcfe7d181aea04df5d43bd4ad003e4eb228944552eb3d7fe66990ae6d74c5481406d1e8b5eb07d41d1b498e7c6469d59eb33ec5baf828a1b01106ebff1c955c3679f16de6f0e8ded9bdb383aeaeae65aeab0cab3519e71aaea063ac611cb8f89d602c508dbb1c5d58940fd7bd0061fb94b113ba50d06ccfa6216f0b37cc850c9da03fce002b7802c82ee3b0e56cc40146b403eda9a85d98947de3586d50801e1b943cd61d05b12f68c1b1ac16e9dc01935e0709eeec3fe90fadb4167353b3c2b3a90a849758adae6a13e118429ea6313905f9a8a148bf61a93a67f8a5af2afc506c0c504f301d5d498bfdde133233cfa2cdd1a14ceeb0e11c6321d5b8ac657ebfbe2b9e4e46ad8c6534aecc5d19f26fdd7793c1b239f479514222268bba36e9d9766624402c7a68d41175bc4df9e03e2794602b3fd77ec60e81e0bcc83a6764d075ed4ab4bece5ab36b75b5ab2f9dfd613cce03c10a102a1c203f465e2afa2d7cbed44ab06196ba19150a45753b4dcd13604c2d40faaf62c9c0f1e381ed85b0f4b330b77d0e1e5d9d3bbb76ea4237c55933a86d53eb7c0a5c2879e671705f1654311508a63c895c58fa23986ffbf2922b5c1717a605ea60daab761c2bec9625c8c9021fe26a636d223ec8e74937cd21c252b11f216edb0b2f2eae5f5e7d799d3a32d45dc6d71fcadb021bee0e289c8dd47ff977ae91644fd5c1d126239be2247261e18760beedeb2bae2e2e5f5f79cdea44b76e2161aefb14e2304265d847e62aba2fed3313a67888585cfe538867fbe2f5eb0b57972e5f5f2fb28464110d8a7bcdd07d439996b00e3b22a7d207c018141c7abe31bfc2fbc4746f29c661e4e2f21f423cdb17af5e5d5cbfacd76e511b5ff9ae7abb99c78a11c4e7844985eb8b01b13456a845876f78cfb57000d392a582f7855daa2a9cafd3f23a8e09c218711661423e223c13a9255d1c7cb4e5f20e2e8f2aa174d875d426c80e328e6aa170bc8417fe77f808262bc798a8cb489a9d9b8c98cd829767301c2823f96b710c7c4bff467a58347c0ad2ad55366c0c1b2d25f47950e1a43259e09a0dc1c288b894265c629548bd4046044d863dd0bd955ea095602146f7d0ec4c50b8bce3c3c2bca2ec150c2793f51d9143d34b130eef1f5a9c153b7a6d22eab366a540827d41514173da76c48fc2765c0cba22587537341799bac13fdd6736d8579f5574d532cf7ca5701d8a32c7ce85042c7252c57bd55889becee5c99807035c3854d03351ca95123353c2dae1e2df93cd5ced32cede8f54477432ef65acfb78cf8a89147397d6dcfd2fdcac0515ae3f4b1fdf82e7568d29409b5e7c0c8540109910152e7a1ceaeef03b75206ab7fda66e6c764c2ad55cb711a66e1eed7ab5d43d675da0f91e095598b0c729885faac444069b7902489d88bc5ccb51778e946dc55f96871880a22ebc679e10a24ea2899b606f0ebb57aa768d99e6b0f151b60f82b22967ca61803161f0a2135c51a7da04b51fa502320cdb023183adabd6782d4033f34483c144a3f5cade6a0699b0457daaf682f5063427d80381ce517af4837ac901a599c439718e2136926420644797fe4d4ec4a043004dff095dc654aeecca445440b33d8e38fb17a0dc79ddcb912e7f1a5678129f001fd865d462cb46b61078e0fa69f3a83735e0156027fe3ffe7526396954fbf6f898e0212d81108eec9e96fd771a03e391da8264d83e08f8b380396cc23411ab595d2999210cbb3d01f7d890168a539781cbd699a29bdb4ffa2ecc595fbf139432dfdea34056e1edd198004ced91e5eb05c8c43591b829a7f16532c157fc6a163eeb0ae312a71244e3c3f8f99e6db6204fbf335bd89789058599f06dee6494a7581791153093ac159299000b496b66104e4da81bf738492aa858a1de6bbc54f6f841fc5114d54f04e1d8e09da37029b4acfb4ba52330370e115686443d86e665b460e7139a0c5dfff5cd9923c618608e7a84d2ec5543ca3a08d417420dec1f2b8dfcefd8ad13b97678821e0e7fd78440dd1d111ece6ba26e9466df6647ae6561e9d600be2e9bb40aecf1c60a8a09277e924029d8a2c3c833359b9c9e20796138d80bcb2391588b1738c62cfdc6f65628b171431dd323ff86236f04fcc859bbad48f90391b638b20c5fb07074714cb7628298bec3d46d12b6c599eb219410838d487cade9d050d29b15b7ddd8f010c1402273eb4c1b29091170a52963bc83830f93b8fdd7f023af82ccc1450fc0417501df9d69689e653fbee035a5d7076d5b57b13eb9838b8d3c340ce60e2075b79e8dcf8a91661f60daff8faf9240a7228989ed01433121c1c9a30d5a1886d3cd66651deca6ae4369208ac3f2ea1f0634c98faf169920caf820cf037d2dade4785d4a5cd4293be7931f1b8bdb8a0e223b01ce384b350817958699ae6f8313e9bf67d2ec6b12160c8f77e8156ddf0b7114074ae09cc22062342daeacd2ff17b008661ce09c04f2d43f0b8ca78f29da2e48563df9798b627d5fc9c987811065489b9c61a7caf27b59fd38fa2f95a5477830dad64103aca296db9ce771db1deb19c3f16ac66bdc177e806127678a74818b2837a97bfe7d49b74f1a6bd2f7e74c2e5c1888b31dcdf5edd9fa3da03da900ebfd5b76f4db9b698934bb133f0c725bb782c7721b6997425f463347358f3d7657a639b16c8c76f4c67319495449279e6f27f2427047bbbab8ddecc4f4aa78ee5bce17c0b74c55a2278aa4dfb103b9ba24ded0f6fea1593cedd389b392a36c22e0b2946da424dd6265e157601d91c98a93650005912530322686c4d5d713fedce265f93e264e00a97919ce959108f20304b7d18035cd8b4a774bfd7b58ec7918a8d6ec7221df0b2a611ef8a5d10fe5d93e8bf62e2f377d3694b119c2e5299c30e5b9120b145e251359889e51fb4a258ca538d79598f2023115bbc29ff8bcf67ae767a4eec3b9853a3544657847b760bd8661e7f648146011de42042306654bcb87d5eb58eb6b78dd000135721f23c3052ed5cf3acd0af2c853b637d1769eb924f219985d2562821a4c20e84fb56dcbe862a682e303562a1efb81ba4cec8916bb735f7611e64a85ba25cc7ab522626c94798bc554bcde0dd5e05bcbc93fe105d2976addee3a504577d4092dd4055a152204dc639b2dd320f609674522f64786dd03aca2838378716a51b9d41b2ec63a39ee13a2f4a18dd9b34c52eb8f024fc91e57b8c0763e10e52a1702ccf2ab1fbfee1704c407ed0ded690d8ad6b4fd1b512fca07ad0a5f43c5f27c2e8121b20e10abded74cd08dcd9864b8df6fb1c12dcb58c0bf2be695eb59b6c2b2fd529e515e2a439e8c335c10a27a500627dc15e4ed702d7f2c40fe49e0304eb52d7242e7c8f46b598c972cec5005dcf6e4bfa5d24b5f8e3a958267d1d781d72e3317ab49bb86a0cc6f226de070a29497b882f5e0b46fac4624cf59d71b0bf0ce7188b98b04e4a357b9896c71ad94ebc013c78f81784b0686409f3599ce3b4238ddb008b8f836c81aef002baa0bd401f7c5f12888dde8caf09a02b9f1d1b5986da844c34222039b51ec5d076469c05f1f6f452c34cdbe51320ab55e726bf580ec3cf8d6d4cbc83961457656a61a20a57c9c9265ec9d15d2ac735a9fdb5d7bed4d9f57576b64b1ab128af9b8cd03ab0299554bc7155bffb30f0c738fb78dd4371db5c8b3aa404406d4ce40320964faaf7043482597aab7dec980f963cac3e92391b78692e015c5471945fa610ea807fb13499e8659bb66d06b9e27eece317286603ada1485235b5178b23cda58d4d50c0ce261b3a04eb29c9d05c147a8a96385ebb2a5e1320747f99c41511843ddacd2a0c26025860b8489ebb1df626d8e6ef63eba75985d213afe6131289f1b10e5ea1726a5309015fce989e17aca39ea7b8f30f7d6dd8989841e43d2406ab7eae2a9ba352c841ce53877e1207946ddb957976864d680f22f40420629201c1e4b0daf716b4456493f544bed8e10127fa4de432209e1a439e12bf50bcb1e7ca5d066e829e5eba4ff717c3ccfb2c03b9eca09b08c1952f67c01248c7acb3b56c82c434dc66f5af36ac449d447baf3160a76cfc61a7984457df88c791eccc4c62420603cb9ad415482f2b7ff6160e84e91ee1717afbac54ecad008858d8231c6ff41b23a8609a66edeec76899c204519062e1072f9677fe66900b93f92bc20007283cf00086deaa2fa76b05e063d78747ba53f408e294aecccc187a36d8730bf81df1b165698b157f40907591662f5935c523cba5ce977ffd5b0ef7a16434c91ab175d27478c2c6be33c05250dafb3340fdfe91e2e97ecc4a033111d51b2151817a98f217c1b302866ffbad546067c8739987df7a97eb82a6775729ad1d5923a2bfd5bc22fc351cf83cd03dfd42b329503f159ba1d16e6e90ec6af8702035c1b7fcb63f875556a4afb61e5d0bedf2723f2b375be7a0c13c24ca77b271f1044dcb2364c93504b7d5e549fc3a6f6ba49b19b6b9eddeb5235a4538111271d507bc832170b52e69af0298ce3041b0e07ac46c4fcc13cfafb3fa83fc6a4e31350540713d48d14d4408737e97cee41d58ff39fb5525d1a2f322dfacafad70302e0f6c35369e41ab88f7455c2f5bce6ed0cc7cc0469d80760ac32ca0045d5243b267c81d1fca52b03dd10813e401b49932417448f336da052acc792a9f45b169ec0608deaa3421e9ffaa0bb78164ef03182cc0671e3e79d3d0fb166eb17a1ecb147f5ae49d7189901ca6c0cf58e3dda0535bf9ad375f65d644ed1f42b43149621b0c4f0cd9a5747835d61835cb3cf4f8243e6c98e3c36b48304cc91b866d76c97a59b30eb7c8d94389a477338cf356df24ac14de0e0762df11eb8e83069324a2f667107ca6513ab29c925427eda3c9fed37fd8a911afa4ee9d486b07710bc2e79aae1d923c6a08742330700727f17a55a0d7fa008e216db704fc1cff9f42ddce1d7106ba9f546b7d9a9a06229c3428063739f83ec835b8d46dfc0dd48355d7ba98e721da111006777fe15087ac2fd5f42a11f38245c75dba25804bb7156406727bbbfb1fb312e58124e2dc0501cac212432ac6132b5ecbde8551b852fefaad244efe59022d4660465780cf2dfc4f76a5462040ababd4ca7d28af28df108ba0506d57b3e70de7c822b25a829090358818c85981d1b519d9c56e38460775ce0269497b9249bd1bd0e7003a90d7ac53d89fc5f2a71435f810a949b17d982bb0ebec203a3909a8384abcf058dd2063d8fac53a0602e9816cd014ea71bd493d021b78ef55be3cd00fcb35c76f422a33000a13ccf9f1e3db697ba2c69f5612630903d36cb2a8155cac46b56e1262a7e80a2ef34d9a20002e827cb9a10ab9e61fb59a00aa9bc498532262512449ff331a75701d1e691147a135e05e9b74503852b0f67ca5dd9678ad31684218bce88c4e0a5a2c98b92d97fdc20fcdb934c252183df0184db516ed93179e6e91d148606e4362976ec06e8e52adbcdda779b8521dd95c3aab8696e669e5f11fd20537a1bc232a5f9cc77d8d35d2ab384accd614c8bd495ddc8c1800ec067b90215b1904dd2d5ce898581f6a524ff0b188beb4cf9ee2a62786de7e84a85575398e6538eb595e28c0b2b562403f42f042a29bba15920da15a903da7402f709ea4ab4d7d9000c16a628bcc2e43f91994ff2d438154b50aae6af959cac5c7c965309ac4fb3110b10235470020a40f6f171c6837a4da117cdf9d35789669f09208b05cc482a4fc8de4de49652a624652f0aba092a0a7f0a7b94be4fb588631253f5bf97acd27b9fc229bdf72551fa8b98aae20d49dcd9c1bf33fa9defbbdf49f91dd1ef781f7aef25cbcb210aa7cb5fe8a78493671486708045f06dd5fc1949a7b688c99c3dbb251d4997c9277e608f60819df1a0ce7a7cfc002ad2a2e1008812215856882224e1013a2bb0c1902da010a2054dd001cb73f0f3c3fc5941102d84fe00036badb54944f15cb5d63af3c1358349c848125db86641ea4c081f84e4a03caa729ef18417d99f4469c210264940024515ac982f4b9f27aef0c415570a734e99dd5de5339c39029ea79430f3e7cb7c196029cff948783b6a9041bc1def53dac839eff4a9e3b36b60a500148bc10998f90594fe8a99d9a81fda5154382d82d613129f2f9f3c3e61e2e892ab3d51c1c6dc04e05f40c7bd847101fe199f4ef2cccccc8ce5e87b1e67a629889d687e0a6578c210662c6f7ea7705ea1879e16cbf353988352b2051434d6e914e6a8601a01a2062c22fe534cd9601a4b6f7a9d4c7a9d8c5f27a7bc8ee875f2f73ad97b9ddcbdce7d9dccbd4eb6af93ebeba8c085c98b75f2af1930df14921efba78c24945679fedd90ec1f8a65ff5b24fb7334af657f1acea6b2a250088082122d9674e952d32534a908789edd628084913180aa550ec392371030df5f355dc543ab72441eadf291fd9b0878c478de5ad52f83b3ff0d5fa570c41c3986182c4e4cdd70afc3baafc3f2c79143078f96a499427a8a1efdd4bcd132144a9691fda76b02e9d5ac414b872550c6cf3b75f6838f62499290c7f963bead544e916a1c640f228ba3b4cd495558c27432dce2c536b4e45e8a6c501627e6a88005e3b29862cc622d286260e7a6cf39fdadb54fc31d001012826d0c6035fed27f2f05c1ffd8bd18cf160f1d3cb4aa7364dc007fa6e23763f7d640df9b468a925880c798ece129f6a3a5c115313cee5b1103df2c6fad9a9ffa995d625039814755b681661f55e0622a0236fbbb182361fa3b13813f13a1876ce79dc2cb45d2748d178ae93cafeb1b6e665c313366907d639030570af8e6a0a186060e1d3ce4dc7073bf1b6868d5ea13efe9d24083869ad73de24999f2723c6fba74c09163b6e60b4a088072bf0e2fd4dd04691e268664efa788fb38914d7d190db66a8e5d87687552fdee5b5a6694b5aaa2f27ecc8c197a25bb78f9340124f7e3aee2d081d2cf452d12667ead6afb3724e2fbee3d17d974dd27e2e810b4aabf7ecf558ed65bef1d31e59a84dda3648b39c7681ac89ab42f2b586b73b97bc6acd47d98c041ee26d8307d64225ccfb2624bbfd800532c6ca5d5bea5f62da594da4ae94bd24c9b84993b3e97d1ce52367898f986f41799718763ad55579e58c2d8e6d774cb0cf0485f56f635269bf94a8735bfd2ea4f0502a2b5f9d4366ff7d47a4f5b9e581cebb4d19b2dcf9128123fd11343e2385f79d69e71f2641aa3b2dafc6a7bcda73c37ebb2302b6b19596f74365d79d2579eb595270db2b32c03a083a775c2932ee3cc026c7e3d7a2249bbc4bc4bcb4c31f4445244b89ed53d119da80222f78970af9375b28b291bea687f7e7d9d1c82110020dbef0de49098eaff5c93eaef569e49b5a8ea569611246543eb0040260100b20e00e4fe1653fd3a3a5902d9b73e69b40ccdfe37dc724af6e7b1f27efc716a4e6b3327c6c89376cc9c4101cf1498df3253340246b6818ef4c514153fb300811fbfee129e6a9c32b848ea244d8b2609435f8612f4aaa5c392af923453ca16bb2370630943df5f4a98114f1fafb374f1ae15787e0d0e87d0dfafe91ea1f7550feeedd7fb21f18629db57b478f684c1137c08caf2093b4bf2c8d5b27c820f37c85c4dd2549984e91dcf834b16b1a0d2ea0531f8d707d3af36cb504ab13b02dfd02fe288f308faeaf4571c6340bd8ba34b964be4152b94cb498c217b3f2b38edb021fd4535b3c1ddfca51f2885b3f2e083624ea58955e62ffd3a2c1d960d959f221ba897a29b95bffea2f228155182af028a17077c949883fa0a54695e65384cd6e9a5a8c664ad882a7f99a7b02685733abd0e0b15a6541ef53a2c4f2594fe32866221596ea0fba984b71572354785d25fe49fc22af39503f94bffbd1883e07f95cd1890af389bd7b8da0bc8579255c37ecbed2dae56655576eaee992d33c02357eb5cbeaa5182602da70982899e59ebe52b9dcaa4054708f5f88a25891641d0194250e209acc5ea0e102148122d8810248915582de26ec84e7ae3c62a33896328566577f62471c4588ca58823fdc90d946fb496fb521b475bd7156b5f2180a78b182b248e172877cd57b38828b320563f67f395ecb9b396af268faf2650e7e26e3358c8f58a3557ebc9a157ee6bbb3fb92f2df7c8d5b82594ab7133e4b09808e06a12a63f0878be8b52c270b5ee556a9316b7a63b4531d300950cad025b82e051ce64c62ffbd7cc2a12ef146506d133ad9a282368788e065d0a7a4282d63454964a1660da2f13839e0551b318bc7adcd7324607be4ee37404ec3fef68d4c9b2d512067509d20164e9e3440c90f0608a11536747b0e0bea42531441e55d3014e10217b8c98258d0961d098c085103ce932ca9be749517fab7c683b5d2a34030d5fed74cd653655727fcd0d4eaf76be1f9f21727f0ebd9262d47c68b1dc1fe3ab66b5ed6c419a27f74faf82c0be1565abb8ae6b9130f7bf96b13faf4bbff47b1d12c3c0dd77a22a84ef07891fb5c293be5ac18292164b86989adfddb3eb12adeeae4e29b5e1786bb573fadb709c3f461eee48e4cc263196f7ddb360b28860e0fbee274b3af162e548275eacf17a963e4554a1a549cda4048fa0942f725465e97304e8082d4b9f23b20c93a5cf9117e40fe52a46c613041f1c14210a282cff299a00977b8642a1af41e6d0ebe4198e77e4317ed9fef539d243e6ae674e9c2f9808a03f432b43e92fb33d0912355114a58fe5630c82ff2ad54dc5a7d1a8542fc6e0bdd172e3868d6b03061b29d186f4177a737df5c28f1eb7904818dfb03d0e5c5a21ada046375eb8375ac4187f319d1ef526186cb4fc0b7f0a6bb4d848d9b061e305d1464a04a5d0511435514a813006c17f95eaa6d28a4f2a5de954df546b4ac4408b287f2ae96bea7b0ca4fe85c7000cdff229312ad53f2589a94f7c41c481e1bf3e1d91bc1bfc153fe9bdd10804b198aa91fa171e2785238e371f69f4f5544ba3521da15028148ad69b8c1d3481d934aab2e97dd562f329f1f18f4c7f22f96a858505c42b2ab8944a3d064e2911038f4ff80514aa843ae117282e7d29d39f1ef5c29370527f3285355a462fe098d1f742d8f2a910861f91429c967fe1bfb0468b9812e2c020a6700c7ee15b1ee705b145c449893aaf0a36cb0f3974832e2e799403ad5d5c5c5c5c72c82107171717971cb269a5fbe402d262b833329de108addbc5c5250797116dc9a3f174a227d16412473ca239b8e4e092838b8b8b8b0e902c653964f917cf3cc982e632f3240b9f2b883e8a45982482292706840008372a288c3108feab5437b836329dba150c7eadb57ab57a35e5eb5753bcef3d2fe5267bff7d3525a5d63a8a19c554962aef9597deb0a04e94442a813f0fa4c235554945fa4a860c3c7a552a2626e6a394524a69ea26e626e626262626e606ec9525bc07bfaf5526d3a98432914635e549b894d205e00c56c3c3f243fa59f9f97e4af8257a301c91c2d097422f5449c135be9a3c305a0ded6626e627e6415ae3e7070795aac6cd8fea5e124e117df73ba30f3dc529295e09f7a78cde13734262aa8e723a9168c4a94685dd948a9c0a66bc51a822a6ac284489a34fd9d1e317891ebf28753f25e54f9fbaa28d943fa56ce0373d7ed3eba4843b482ad29048156f48f4460e1eae6ff4ba19c1000a05038c9b0e1eb351de58502bb09e19233d187ebf22ea1ff5a7f4638b5291cd806e807404dd6eb7265d410a717a49f74cdde176dbe1b77bbffe155356a59fc489292bdea878333dbe0f7dffa76a90be7b1bdf87be478fee49df434c750fd277a2c427d0c143d238cc579f0c7c9cde45a91b151c64aaaa84a92a7ead62aa3f138bce9ed60b16d371eb56a785aed9a61157e4c92a7dc77274cf2da89ba7347ad2e945a14ab8f23887af3a96672dd6337b445fd3b3e62b916d8ac471e649f358702a99b5599b58d8a692597bc0c532b8a7dfa21dea5391047307ce5b09278f0a6ae614aaee8f7e27f4291e49d60f995eb4ba9724e6a4883cc49c91786d5fcd2b61a9ea3785379c355f9da4549542c9bab937a4c964da248dccde83ede38b27cd13fa186bf6cc19ed07cf25f38aecdf7f45cbe8c8c1c335fad66bb272c8e992247187356d41ed6a9e5bb7fad5b059ebda288b1c413c586837b3a071c664ddb384df83a109250a535485e4b184925512cd684037403c6a668266546f4f10148482134818e711742fc620f8af52555baa22cff49dc8f354885051d7a998beebbeefba7066fa27123d8ef722ef452f12734e5de8fd17a2be86354fd10e1398d93e0e92d5d590c73cd22a5aab6e6e0da27c23613a7bdfbd0dd48b5e8a6ebe10f0f01758d7a3234750e84769db49dd745d8b38a2ffb81ad2cc711fbadf778ff37da7d2bd48cc117d277aa2ffbe874ae77d8f127b88be5349dcd92179df7ac1c219f317174f4f9eb2948f47d00fd7580624ace29942bf12dec721ea492a9e09ab78284fc5f42592d775dfdfa9883927b187290725f620d243e57ba8fce947493375dd9bbe13532da2defb71267ba8f0f4a6305503f5271593e94b6f32bd0dd4ab981ed5bdc9f4a84799ba938908edba970a8d9553ca4a785f25e4fe1476264f54d328129df3de499b4e6fda947e15493073b524fcb5fb4b49189b4a9f42c28f731f3f1113f7391deab9f0f42612e93eea71eea3f0df6f1187fb9398437a4eb26a78637a6f74278b4bdd6093b8b3137aee4ba1a45cc813ddee1bb1688b805464ac8025130925e33e187a251309a552224dfae00eb7db0eb7cf71987abf73fff495d4753a3dba2fbd9342a17bc51ea8bf9fe37da807911ee09b3e74bfc7ca877ec4315ed883088e8c277d0f96f7fe14f69091430447860c3155e3f4dea73ad5893d50df3de973569e45f4fe24f6208283faee7bacfce9c170e5bb10f5a79054ff46e84f7fe37eb7127a5498aa628dd387eefdeeefab8444e87ba7d0f45d98aa717ad3494cf5a3ba2f7d0aa7fbd277dddb38757f127388e090befb9cd07b6fa3fbd39f3a31e79a421a0a5394d461934e6dcf06a1507542a3412a9d3a0ff560682285df974e9d1722d55987c05e05ee3aceb883e0bf4a15133333b3011c35b7b6beed424fff51bff3bde96bf72bafc3ea50ef3d0e0ac5dd10c7717d83a4e9f7a7805c6d8049f61f45f9d6220e194ec0a837bd9430f64f5f7a2ef439ddab84c49cd07f9eb712e610b9228ee957c49c4f4c51d3e7a8a0ba47bd8dee51620f2238a50f7d8f9328fdc546e84d628f921453d4ddddddfd96e282fad37f266999b9226f3864b3355df3c543ea9931fc2b61e8553a12ea7aa70e85c3575336b3e1b0e9a837f7ba8384f11df3c57790305e451d12c6bbbe147128fca5df09bde92dea14736b7ce5288c4f628e29a724d271868445e9f1f4bc60311db79f2bbbddd073c974e20445a3a1623a95465825b48f0a53fe1486de14de2f75a314ad69d288c60f8d9f294edbaceda0f77b468e37fb786fbffd9dfb29df628a8a3724ee9dc378464c799cf201b9f2c79143d270d97fbe7c357a70fac05fc82737706f9f48fd1ccc7d1571eca788392351fecd8ee83fefbbd0df9ab6b7fbb89027e242c9b2376f8f0a309c71d5c5b12b33a0ca494e9e1218de5f09bb5709bd47a528ae69d42994acd2cc6c6676e366cad02ed55bd5b5ee5775eb731cae26d2d37fefefef84be23bd934ad7447a9c4beabe24e684be1b63b28f60ee9e86345a3523616aaac67dd2dbe8bef4f5c6f43838fcc5bf144e175804dfb8b96951aa06e9bdc721bd777ad25b11a7f42131c7f4a5277d282c75a1572314ea710ad9f0be137b984429a6a8e75298a2a43045c51b2ceeec747fbfdb7da3909772f1fdb0e049172cb49cd0af03c2170a3c93db0995a267bf0e088f333ec8ee331501cf3d7fd21f679149cb332dad028b184210d9c571d6669b80f0f879aac6599bf113d3b729a6132fd4a15fdcddddddfdbabbbbbb83feae72951f63667cb284a107c3d3af84dfa35254254cd11fa5e8a7506f4525942c52c95da451b33204f65cf3ebeeb4fd7a757777f71df6ebfd6ac512fdcff4b7e4dfe289a976fa2e8642a7efc41c93d8a3f4de9f3ee7134dff85c414fdeec5147d7ffb3a4c19ba86996ba8c394a15dd96ba8fce97154fe646a11a7f427518a52fd61eafef7a2d47d1bdf9bde86f7255ae3d250de0f87294adddddddddddd6d8b9278d265a4505ae5f4e7d79f2cdacacee341d96dee40f976c362a37b45584a389292e532dae7a5f0b83bd0785bc603a36207f5ad6f55e0d074246e9bb78a197ff1af69ea43982f5206b910248c7b4cc278ffd7f40c3fd3323538168b855ef43bdd8f62dced56f6548b379fe889a9fe1e27f4df6c7124ce9bbf784dcf9abff8877ada3f2099af3ce6e2cf64794c7a4cb242a1b0653499aff003423f36ad672db2b909bdd7d11c09ed32aff90a3f08054692dddd96fd47448cbea671d841371b9335127374587df3177775d84e5af5850ef3c1a3c7bc48cbf8919619db498ef98af4fe2e6b19fa5e9bb679eb56cafb0cca33b93fda2f3d04e6f2d8b2ecf8537ef4a2efbdcec5bd50147a4ae8367f719f65f75a76bf65f798bf38a88498edd210cf9160ff1b6850eab58a35e112d8fefc7116c974bcf4738c7804493fbe2a668625f41e0cbf27852abf129e3e144a5617a64c61aaa2c2547dfc922545a9ae6916162994ac15542859a650b2bc1ba756a45153051effc66e40c28c2519598ea51507e60bfdb1db8084a156c4216166c0c205fea49452ca994c77707f7f8a76b07f451c248bf452b40327a6fa71902cd3977e071c246b6747e5bddf39fdf7564cb578637a994b4fbfe57be54b4fbd373d8ef7a6ef377ddfe7a8bcf73aac51953dd47b5f98eaffbebf7b9d1a0e1d72b4cc4b48087ec098ade99a406e7d83637aef714cef75620eea4d62aa7ef79255fa9098aa1f5a0989d457097b10e9811253fda6fffe0ba53c2fd0cc0d49e3fff384c64489cc9ebbaf888a3d239f56e1514a1d47c1b307b49ba16ec2a066adb537346350bbde0b4976efbd9cc931d440a6ff39d489f76249d3b7c60979bf7382feae922ff2ddb926a3dcc4ba0ba104046d2d81b5b47aa8862837396b2b67adad97bbc13765e05efe68ca40bf7b2c57df5df38160f797a02930c7c83464ab9d211ab2b65ae9eda32b9d7261099cabb6fa73cdd5ead7babccf219e6440727cc5a516a2bbbb1b97fc7413929d9ea690c9e1d3a74f9fa3b4d94ae3da60c519d9c4ccd71922f0e4699911e7a03ba8cd66b3d96a1d0d817b59694678b2a41971650364499b5d91efe7247f96342349b2473f2e9cd97351fd2ac7494027d35a0199eda52ffffe58b3cc955afbfd1ead2e396543e7fe127860d4c9356d01fb2d8e1f08ec7bb5ba64e9e2f4c77d9a9122999425cd484f963456d2197a4b5d720d250db997220b0820735da8be274535505104fae7d738a5e2d3d03e275d5e521b06c1fceb32cf9b3932f71e8efd63fdd1d2a694b60cb9e7defee8fe9656b0d62ae61aff3297fa9a29f734ec1ec197ad38f290ab18822fcbd17ee3c851aff6bb221bf9b239ebe1e8d9bf6fa8fb3c1c43d9fb3c6ccf1d5e243877eaad724a29756b5d3eb5b26b0e5116f07c075f3aa55eed27e58a7b77e7be2bdfa9bbe38e0b2194d039dfe9a4422869192809a2440825422891e3cd53f4298492cbc9c09352ce3033d358561a54ec19adea6f510cad763ac131a854d5561fb0cbbfe568cb0ce4aecf42df9537d3eeabb1a999dd1067efdb28dc75274d6490c7ef42131778814559fa3001c3077759fa30e922bff56172055105851638254b1f26405dc0384b1f26b457cd5c98f0b4bcd9564a29c5f69feedeee4e41f076cf6e952df07c9f299f0da494212e282ca861568e73c96d01799c41b617e4b15bb9bbee1f5d7bd513404794f00316a4c8a2883c4e9a163cc8e3fcc9e39c22770c87b4159147791be55142c95286eb965ffc10050b44f022a603277e90c7c9638528f9e6710ec93149a3fd92897e1d5f177410c515516ec004145603c9dd4eb4e4963cba64d7a288ecee5a4c91fd0a3bc87e852db24b294301b2f75764e3650ad3a2871c7ada32610e3d27b209d18ec4b2113e0416640240800246bfc8ec3bb11f3220b33ce90fcc0ab27cffbe15d95cdad332a387b487c286889e166e33d6e822ed1169cb482a32f7b48a6cb8526dc67c358382624b603205c81589589ed4886ef5006bb562f36790af262b8bda8c4cbfbf20f0782da6b08983262c88f67546fb01aad974d86e41957a0c16546f79be0e5fd596bfccbf583461b21e586c46ab4113d633e7e4a1b58c6c490ab3e5f99367cfcbd5b06c7f503ff06420c1f26fa041837865fb706728cde267b67088270b23b064fb2d221b7b5b882104319229310b2099be8c4b840870b29432a59f450f580021d3074536144b243d4d5073450a254099be8a5400185320028b23828c40615922b2fd4116b2b5d65aeb3de6791f252bc8f4297d94c8865efb94524a1f604310aad802172f08220c2eb40f926821058f9e4436d424803c7ed94e91c7169706e431861933642b451ee5916c93647b051448a610c41492a0020da8b024db8f99c941b65fd332d2a70ab76c7d6a4df801820f3ad201aee041a68f81e011cf2f8fa76c67e4b1255b1b0304a2b00555b67fb110d93e688515b2fd5702896c5f15440a4bb2fd14918d9db13647134498042121074cecf4c0c7082558b1073a5a46ce1f896c6c1232a52fb241148468c9f6bf193129d829e3512580aec8f4bb140c806290edd3940da070850164fbb754c3820753a051d1840a961df20473f2070a37c8f46d8806f85d7a85b590451b0b842c24cd01aaf0c9d4deeccff84a87bf500cb6a0882b98804289980f19cbf220db2457f891adb53608b6b6ab021e5f46005cb98a18649ad60b47c0fcf75e8ee386fca8496c5c0c88fcc44f1234c84f8845918313988427092c490faed85772c4537011048be3388e133204733e54b82073f6969d08ea1799c78b330699bc6cb72e0c2b8c24b15c4cc132c19fad6ac108142446c61002be59fa2861033b041e65e9a384105c11d866e9a3841135d86cef72cad267092b32cdd2c706248f1fa385286e0cc8d2278a9e29a56c4aa98fe123851159fa4451cb638896e7c790a58f14addc55d6da35899614b45c7f74e5a943f2648db5a58c429edfaf1dcc2715c1f22f78c3ab9ef1902bdae32ff36f0bbbe4cbdcb70a2c31f348a3776157f7f3fbd5409aa785b4ccbdb697b75a7794c202ecad9042a1412105a3b65ab5d3aa6ee5cf0be7add5ca5dd8b3562bdfb05b41feeb30559fe6faa5b0d47372427a7c2561d2491538f2ca23c71383d9cf8a6c3821ad9a308ea75553044364fb23c76343098b6cc5947d99ef9368d8399106d11fdd46a1dcee27b2912da5a49fd3207a7b8daac0c1389e96f9961d14768a0b8fb268a96029a450fa45c610fcb9c591eba141e4cb7c1dd07e90e7e4840044fbe1786250a96684313d334343cdf3481a7a9bcd461ff5a73728f36950cba4e4f915568de8d58cd528182d237da098e516966a4616b1484fbd399e22b059cf9118121913b32692fcb400e8566b99b193b0b5cce8ad7c6b99d15ffe9234425aa67130247346b4e491e3297264461e399e29ae58a2833c724ef284e59183626df62652e5d16d339288f3ddb45a66469bcd66b3196d0634b3e5e0dd004ac2be2c4f17d32184a3d632ed6a57bbdad5af7635ac5d1d0bc1cdd12d90342b34c0a92a63d5d44de94d0ff397c9139ae119cd573ab7e6361b77eba1b7d7b5d97cc505f9cd6df4757b28cf8dcde764dccc766ff795e7e5c9f3399e1a1724bb3fbe9aafd0ac656410d09dd138dbe4a9d12eecba6e2b4f9e52c883d5317ff28faf3898bfccc740207e90a3cd9f3981f29c4179f2f8cba4b71c1e32a8891dda6a31e1419e30fbe1ae8944d2f48f40661102b9248fa06f51e486b55ad9450aa5554bb214d9d01b90d72bcba4e88d42610162b6909f3c9367061b929a3dd388d9224fe678e6cf18053cf443ea199638e9a8c0924e291f9c2f81904576d15d9e5a25673db0b5dc34367b7ed3181e671e718e491a1974bb463012181451c87d442dabfca55d120933f7100d83233211b969903b2669da3567adea9729496314897e2a6b99949f1a2d52646c5792dc73465b4b6cd16f2b75b5cc9ca5c096fed143e4b181e496e248672eb396915f03716f907b08d3d7346907286152359a25491266fe3ce59caee9fa0bedc93d69bb64fe12032a7dfda940355fe9d4a0eafa2a2d89a36de5eefa2289e374cdd7eca9b11f0a645bd655635416f4faa9365fcd1e203ab3af5b05a2b5da8a0555596e1a0b6598c241fd493499fe641253628d66495b2375ca13bc9964ca9faeb5d65aa9fce9c694dad056c970fc2e5739ca719c37c74dce91fcb4eecb1791cdac4013805a25b34e9e49b490c277bb81fc089e946260cff26d2aa722066ed104429dbb2c9b2802899c0abdab62983902728147097423874f895bad089e74913de5d72aab2873f06ae204669d56914dc7cc30018f3a5972e278af155b4a2ab2691ad3f8074cc551ce4e36402f5213d00f1039a6a3828a31aa9669bb84275d249d6144760f363f339046cb469104ad8a7a040e65e943536289a035a156d0a05828d8c70a90fcf8019220312c59fa30d1c318f7097c0179a35b89b4391570bf37abcf4a43e6f935c83c471eeaebe4f71d33cff88a245ffa319630fd40401f905301bb17d5da9a453501255283ccb255ed22d60e1f317a206a09853c9e54796c0123fb3b184f84e1039f30c2904ebc80b85d70d247f02054274c178ad08aa882b35ac625539e4b978081137e00b3f4f169810dc8bcdecb8f2126871e92c6ba7cd209b99f86cf805c690194496c53b857552dd33578a6f18528ac52d58572f7d3045f38a5aaeb52107acfbdae0b6f6e6855bf8a8629830d1201fded640212a67f6c1a0d7fe92b6fe84fc341106377eec635218362c03ee288652206d65a6bad1d8dd103eb63b6236b9dd65a3b036bc445e287bcd980508fc205ef23f2287f7ac87294b62e0091fdaf3ff622fb9f40ff181afe383c4a1651ac088d31a4baeaabdee5dfda218a90ad753101881080d81f1fa58acb841818105ba71686104283100108c6320a153226735c00224a1452ac56f2e5f4118e3ad9a6daaf214eb758f66538aa602c01cdf553364c58aea28ba30a7030cb8ef5533674b98a3ba4642a12615f4221c7d478986d28fdc55f6a4c1889c20492225946214b26685938cdeda4b54c9259cb9472eff44a35a3bc5ee3a48d130c96bfa5b56364fd7dbf09649c428290c739a4a589cc22d9c553e3232de013ef021483ff34cfcb1fbf1abfeeec59abda8667177335cef944d240d1934601210ba98a1f903073d2be83481a99e5a44d9bd3a899b4d0f70149f323619afb71d238d761d5a721085c4cd96c459cf974d26692fad3b4d93f5fcb932ef709ee2ff294814aa4cce572b95cae8af1b52daf7c2bbf65cc0d5f3513395d139c4ff2fc8b41d7cb286a48181e7fc194b9dd4de6ed027714d07bc8f39b492391a0121c053cbf6992a6efc51804ff4715105010101090af52fe6270fe74f9ea868f44aa2cf378e44ff99dfc2bdfd69030d25f3055f3a7ff90e78f5f9e3c377cd53cf7fa4ba03c5b6c9a849909c872facbeb142678ccfbf0cdb7791a3699982f6ee70fe48b7bf4a51252091a1a0528200c5958c609b32218786c197d193e707777915679cf5a365d48ab1cc6f3b49564e781b58c9c2dcb62c3dd371646ac1249c3f50c8c82bb68d251c88da45a6bed7bd50a2c9ad8afb7b6ac8bb4af16e0df47a6c8ee4eb25b0af39f43fce71748649f48240df7fe2df3643e7dfa7b2d4c5d64339148187f8e86e364c26be1f9f6e609bba20c1fb87b2826cb0f9eb0e6f115f696bf53c7a10ba74fa63a2c4f8a26404140c51497e2449cfe2688c4320f9e272dd770d25c9c6bd2cdeb972ea220e071be5a5a05227184366b157ee1b16799d63261c75a66c3a1cf92e67ee8e74f1872ff084376f796b6dfc7c83bae3899489839f39719e669244f25908cb3499e9326616e789caf97fc99922fb303e191e99172be5a35dfbb4db014d98056c0e37cbd3c77773a9be4493f10ba1246b63008622c7b913432bf573a8dd92f2d1c8a60f8a7ec031266d29034320179febd1883a06ccab294d3d6c3e7455a35655e60f9e394fd78483c8f790e5a920f90a54f10117292244fb0fcd0186510b2cbe57281f88b9e947f5b031f5fdc131464924ea3cd662c3fb20a9b1546c11f962be0d1cab098ab3af3d094d31ab14a244df7fdb6dfce24cd04a3902d141689552261da623143e2c8b52a15728ba38d025671b45d4871b44db29df9c058ec97957598bb92c65d0f62ef97cb436181b922a68cdfb817cc95e31980414ca7ed20f7732e90344ce4aace649d713e72cb3a7b92fbadccda248de4bc2e74bfc27c65faf15698af2ca86aae082e080ec53299f9cacaaccc833006ff551e24c519e4525cadf7f8eac669fdb6a787f6fc876837da0c92c77eb50ce46ad6bc5f571c55212994c77ef9e4310133889549188b04550b429659b332da2361fae79c52f5d345ab7bca4a7ba458c4ceacad65a0f42ab4475a4622e1a236da2980725b27b92d2df7f44a6b99fa5367478cc8634d52fbe513e48296294027069e4f4537e8a5e2c5d765fe67044ef94b96f4948baa98671182a9f838e04f790f3bd36819ae082e08d832912f9c0ff00b6c9ffcd8dabf95b995e59e3f5a9995f94b7bb6b61eb0fcd1cab8180c569058c2507e2940960ac852a4c9f295c8f23d4fc29499b016fde83d88b9ba3bc045e47e397d08b9df83489a2fe44a255ffa4119d0dc87a499b32774b9ef1e5fb52ba57bdad5a614d1c327b14ea0244c55ff481c9d09b98718c9637fe189b687f6aadc4112a65f460f98e5078f4debb957602902b1c0e3ece9f1d58cbff4cf9eda35248d04916069646c409e347f991f43a3c93be537ad93f44f07f94eaf6415b79ea265a48f1690e825b61a1079c6851ee4b1c1c84de5dc4291dccd8556ee025c5fe1295f248c7c9112524a2955a280e7534a295d81c36050abcdb8dbb7b635ad81bc451be63ceef291eb18d97f4aa9640869442789b0ca80b6e64ab2a6fc31610d6bd8d830afb52d778f1de4fd97366b358cc75fee02418c61ad5c2900807cdf6b9e580b893587e5faee3307418ce5ac26571808c2bed2a652a79b5c0c5414634abd38b2e3450fb9d6f74436f5071e71175220804dbd9246039d55c894481499524a29157181d627ea1395a53ed9c9f573ad4f86e4fac48b5cbb50a2aa667c108244112d5e33a801150d042392d4993c7e61dc9264fa1caeb556226841546badb55a918d7d71828b29b86001c575084abe5c7fa6d65a6bb596c2b085edd61a33539fd49f516bad31926e810400527c5bdc7b39ae72dc162f70810fad2d68c002d60a80b60812831318f31779b7f0c10d388ee3765cfe22ef164bf8c1f201d6a0174120d72d68020df288ab154dc8814a963e4e781286cf72b36c014f77a794ba3f8dcd1e2470cf5aa6884ca5ca38c0344b23c6c83b3a8f2d438284e9f76acb244c57b19b250778bc37d42cb94978257b1e5b167a38ce71f6e4ee2b7a49db5a759330fd444a5712ee43f64503b5aadf7bc6c4d9d3b2dc2a55ab5ce5338e099573459a2bec32572471869e32730507d8f30e9ac7191ce05ec101ae593efd8e2c812b6dc635ce1f1348e9e993d6aad90e333740c2b88f3cf6cce38ccaac2ba56f25f59b07d9fa0ea555ee417e6b15cd93f84fcb70ef920b6516bd4c09bff7def3947094a5c8a667b209260cc9f5b367c3eea7a886d05f3ace590d29a204ac173e2cd12253b1892ddcb28e3cea99ebc07d647f2f1c5b49133268a2a413c78675abfbf622bfdd8b314dc23805022681290f7db58a05093cfaeda1cc6efe42b0e400efb001672bdee0afe99970ee34ad67adf21f676672356750c84ef2726895eb90438784f11d5c50f8e246ab92b0e800fb8fd3402ce09edd3b8389bac484fff4093808fc7bd660bf8a291be4d7af417eb5e2e8f569e5c453bf4c9a635e8a1ff47bbd83079c3d09e31f9208f077fa73077d1e6e0e4918b7693124553e4534b4915c8b28e0958a57c2d4d0867e9d3657d278149efc6e4afbcb52877a059832727655d2f80140718e9de58f01a6d4a834edb645450b15d108000000002315002030140c074442c160384e0459ed0314800c789c4a7a589c4ad42888619842c81843080100000030000223a44d025054fc7347b45d2b382b2186a88806d809f0f289fc81666cfb9669b5d098f36010f3224ac183412864aa4b334fbb7c28619f95df0ccf349e5b838b774f7d3ba6f422b77989d6dec2fd14c523b1978bd6a3a7a765d48b1b693800e2ebc595c3b8539d64e86df3ae00d1a81a91bfd4f6a0a9b7d75b1abf7f8ae8ea1417a2e11592a80334a988bfac7c946f1eafcd86898074f7d513bc40afd3c2d12092e4f315977c319cc598ff5dd0d8cad61670911b36da794f4d00bde401970af8b0bba715e3152d020b7df29bc0ba7edb9cb4a1a96ffec8240dad9b22f039ad48d8d77b12ff12cb1b373e0519df63ddecb1f46cdac63628e59214696ea646ae28efaa522a13400924a78de2d4f3fe8a597da1a1ef5109bb9c5e7a3d49ce8542b65db120bded342d2bc28ebb85f31cacb0900aff8840b2f18c821c71011e0e8106beb8bf065b7851d6ee2e2900e36dc703b5dbce11d625a3253b210997ac7cb14c1656135ffc2da2a220c3ed4c7cefb460f8c0b0151631a0aca3bab2f045fc71dfc75260edd73945c4a4d8ae7a35fd3d3a00dc6deeca0a99ea734516212e96c15a98e0528362b02ee15f5fc45c45810fc1b910198ee3f878f114580d531d8a6f5c1be809eac4ec3ffe89a836f6692f839d2a454b9a1cb03667a1790461e2faa03e34a6aa953185dc1f07946af94ddefb512c5dd8288e45905e866773c4746b590224d197a71daab5985216784afb549cb3ce35ed5fae5893a7a2a156fd47226b755eebdf9c0db51d90e9da03dd7536aec1b82616592035b4c3f12de435b80216cb6ab8b2fc472e68aca61a7447db19e8e0a9e006f04427b858010580f0812d2b6a928fd317fc04207b1d7e6d2870e2786f91fa4304fad570485e579b38da65de12f65acf8889bc0352d65ce91708351ba21beacc4a1ffbe739df60ddcc08ce9669650af438f55265d037468f1f7ab2a2375a22318724828fa1a5f3a29da47b14c68f608df471f17850d58ab54dcce4e1841555000469f2f17f3d1e725fe22aac481743f8f03377a0f19d03821b0769c4502b199e9a2f0c5548fb585a3b244a807bc6a1543108398caa402bfaaecc068324dd10950175d8ab8e7f61c452c3a79ff3ce3e3659e36f2303244a11f27ec0a91b1807b2b48aab3539576e249841543182e5d33054c87a09af149cbe93acc0dd3f3f7d23a22b7f4103f56259c6d4db2b8bf90a8d6db94873cea84c912ae49cfee029d80e855bd5965845bb3615920b9217c1f08f9e8b6ecddc18ae728001637185bd1e0af9a4a56a3d69ddd4c00f8889161dce12f51bcbb8bf39fa65b2b6b3f406d3a8a337ff51db07ea5bef8e40cc6eb872db8ac5a87623060409f02cd2234788ff83bdd0a2f3706e4afe591499a7ee7c730ea7722f7841515515933e91b3403fc0cc50405d9203161b2a153095c9f68518fb71bd2f7a0fff6881f23a04183a468641170df07e5c69f5bf531a950d3af35b1a6ceff5e43cb94222b870759af9c35a835585071bd52c3eed6402605b07cab4bd99fddf731390bdff600acd3bf35cd59b5748db9ca4f3921ad03c032cb996a276b679eb9fb95be65cac15f3f9a338f9ec20ad9bac9f6a6d3596f85d04b0a8ca395e251cdecca1ad0d4b950828ae44ef461e08f244350ddbc14e597bc04e1ad4fd4a16d6441df206822c62918205f796aed798ab0b951406c0f6454438038bde6ca80f9a5ea3f9caf347483f5a310265f644992eb5cd6e284ba3b8b19ccbf3f98116c38bbc27372278dbbc73571b8315fe2abf1918234fe5e81427c78030d59157293b62ffe3bc2cffb81bb341e59d3d478572d1c8d74cd57260387069da3e4e6365956ea38c56b96c40583d8e4e25c91f346e4edf65123a21ede7ebb1d3c5bac81914d16224860d64d77fd8403ff5520647cb09f592522283aa589dcf226cdc7ee25fc4e15fc7e4ec2709e5aa23158c488701871075d8cccdefa496c0dfba4cd9df64599c731c65a71b39ddfcced88e7e9800a4e4c42e3bf2292d57ac0cfb81e86ea5e88c756c898b17ec6fe731e887fc734fdc4fa7e5eea7515567ad5c994536a625b06c9b9e599b91ce8498b22de56e5267042efeefafcec9525230e89984d6961df901b30e4476542fa1c1cbe60a1b9ba082ed8a9031616154a2858a3e4d8745c5c0ecc0efcba0fa77927598720ad62e420562da03538a49763e613ee8ee6a91caaf84c523616ceba13da1c65d9ee74c38b5ea713395d07441b94747180e213becaa3f668ae83ac822e1c270931b164d4d910445b3c55a9583fbd0b42c4e764931e1b871f6a52d0a39e1d338892f48ec7ed223272402b4c1a27b4b13daf48c601192eadff523fdf40e76be1ab651d99f5d8d9fa6c073367c4efd3007a758767774047ba56fe039aa6446f94a0afbba527bf4f25ec9687dae5ee8fcc3062df4966d42ad019c26a0036f049b48fe290476e057a79f9f0d824579d6bdcb3e63974ddf32586668b1c803de17aee4748f8fd5b92cda1f910b829cff4dcc756181ee9e7e8900572b0ac6103056438b131e07449ec5be6491aaf9ac1d658d75404b1992ee21f92c7eb28df284ca045adfc967b0a7c09ccfb89c7b09d5c09515b207d12a6947d84e56b3236b90a980041045e13226c77780118fc65795f4f1a5a27cdf5bba50b1525b65c13ff6b0a55b3a5aa8a0b27eea2095be7639e8e245bd17c52fc3e4f23cb21c0bf69630e588bb84000ba6943d39fd41bc583384e316770c2583ee32d3d7f278ae191c999e0435f66e9c254c66c5a8880c5c3bcc02fd56b7c3a4f8a660bf6a2e8028a91f9ede2284208362d9c4b2f354d8193b406db09d59971f3d9abc881e7a42127bebdb507a28949a6731d70132e3392247427f90f757d0c09f3b4b0cdf4c8f15091fb60038a398ada9d7e4038de1ced50a0b7b6e723f51182cf5f19e3c45e1ace10b42e49caf2e5afa92c0aeb3ec6c02b1741ede951917874673d217d66b6a26b0e9859ea3c45269792c1ff3785b1597c1efad3af918e4b264687acc8cecb81f9b5859eccacb51a5d7e7d58c9a1d22fc14842ea8753df30179e98f31d028f4005aefbe83565b98d9ca548bdb876174a2b3177c57c1f35a02f4e3b7f3ff2f20146d9b325ac816120d05469b422ba45352f22c358160ed2be0a76b76fe4932834a33425a62f583d334735b8980ef8ee5f51d4d7515683cf46fc22126e374ccb7d8ff1280aa436c7eb9450ce097037e008f31c4af148db0816807b9281a100133d863b58d8a12e4d9cb9e4901897f7c63fb8810acd7f4cc21cd5af4a0250ed74362c6f90cb4437850a0c29678f6fea5968d6d7507cb5c47d70de42ddafdee945ec2bbad907ecfe17a4f0801a7b9d9dfa4367104839d09f8931cdec52a60586c9ed15f885dd398e167724d4056fb7f1120c2fa988dfd4deee5fd967c083c872ef46255600f5c3c4c6e7dc2b5a2ff4235a8e157e4db927702b502777891a416b453499c7b21e9d8967d526b9ff3facfcb0a653e71e107c6d2f203d3213ee736b822c50d691b3cb3b12a99a1195f501c2013c26d00cbda7ddca508ce8717565168b43db58a6054cf99af1a3e0876e075aaa7774a0dcae929ce6b8ba8b6ec2e016c594a83118df835c57ed78f34c2b81b8b790a87fec1fda7e96f52c4606e416b3e0b9a0b491c950095811e81b34028f0d98585043433b26742cf39b54e3c181df0be013523ecd0a85b5a9bc38299c1d9ee333e2dcbdf36cf80a7fd9d20306878a756a59d981bae9f4158090fb0a5451f4550c8735ac02210207d9b65153cd1d6c0ae33a67a67f75d943d81b62717c0eaf02beff815dbce524396b925e9897a776012bded50af669c7ff647388656e1cf0f028b9c22c68a3c777e6a00a36ea3df3985904280df8c4a1e488220cedc224e34f028c80b665e3babf27b2ad0214b43d521e237aba3ffe792f0d74fd70fc29c719eac87f5c8ac415f8faa21e8e1532cae99fb1dfbb2e9923c6689d20df3ae1d46bdc8477295b4ca16d8e5f2b4ed57153ba8a888db4d92aca6da16e791619c278d4741919063cc418655a44955aee67cef957ce17f49a395eda87407aecfdfb717522a712db42b48c19e5c9ff1090c309f74822a806403a3d3e735d6e46923c8a0caa0105a2d665b7e3c99dbc1f32e1e7c0b5dd6ac52d90265648c0cf4c3c246ee9a2a880084def60fca65dd7c5a5f788761a09fcefa410ae4ab0921bbcad984642f60ae9030b1e6af46856345115fb2145b5ed64b53ae2c1903b6e8bd1fbf5e526abe1c35cdc13cce805f4f1d621feed06b66ab0b03fc33dbf54b3cc55f72fd577ec0a08e03d6f08d224ca1ca04d75201f3ef918dc3c05e62504c6e556e64e6f91327ae0e8f963fb558ae1a484dec677897ec71016ac7fd1fe52ea6622222d5f72f24e9d4c7b2cd357ff5d2429eb13bc82e42f38caace9c275a9ab2e46ffa8412c06704203388bfe6e4aa230d6e6c25b43558c9e83eb679bdf136e57c247309cb3ea83311327d7307128e5caf06207ed821b0fb91f60161e58a06cfe21e278c9a3d947f3b6c44ec0365e1dc31cc65070a55d39ac1db41e8abf9e59d55cbff8f8a80f9e7960a7ea896fc433a528d272b3c01387a82d6b5f10a8296029ac1eb75c49308916f03a8ec1e14004872da01dc0c1f4f60e8b25414c61c7f1f1296338912732d22b470e5cafeab0754a4e2fc40940b07eb7e64b50c345bc1bf9ff50d2d65b5ebe09a4518d4ed46f911e5724365941a377c3200b7fd4989a50e3ac12a572677da71a46d9db0e0a750dcec301db6c297bef135c0e0ebed17f67b800efd2cb7c498e531a54c85945dd10046e1d714350386768089d4baadbc9b5482462d824fa5e36c0976c49e1438e85a67144f11ac7fe7c32e1c7aa8ea1dbe6518c48699cbe1ea97beea09cb245e0c8f7c7b488a94b1d67c1963e736abc7a8476007e26a3452945e3c9b58c0db399ee94a3f48050b8f5a1edec879db435d7bd98974097e8271e7c0f202361fbe0aeceb210c51b4b6cf14da821fd3cc1e6898415459dca68ff714e2401566257817a8412332591f9fd79f9181112a6409665e8695c495682016a88832c65805bebb725d7209beede2660f1cbf217edd12194f5abef4eda2d2c5938462dc082c74b60b412bac954f5f9db44fab7ec38ce5e0e6a5066639505deae99ef66692f7fb9e1d362d2dcb4cbee40e472c68450214c5bc6f17a7da232fd9372ac12638e1ca374b897e5e144d2f00a640e39ffdd905ca09f4fe535711096562f99b4f7bc24609dc32d53eb1ee14f6c3f2e945737f729fd2343f8c4cbbcf707a1104464eeefdfeceb66602096e0bb84c88a89cfc6fbcbf05516b43943bd6e57dda9ad2d6947a2fbfad38a3c931cae6cca3761aaa22a3ba1f3e51b6a59491123901c604ade0ebd70b33be8ebbf0c41e20a1166b348ba851d9924617f19dcb71685707547018777f66fe48848459162871145320d59b1a2808981d1ae3a30f773d8e47989398f5b5f9171bcf35a3288b822ea89c5aa20d2cc921482efc5eebc928fcc4685dc2b8eb788311e9e99410ec2d8c46617b0b23ad520a9943e27f61c8c0a4147907409c4983fc5fb0994401adc1fa03be652fc6a696d6fc9ee4e6c88e1a9fd74c562c143744237fd805e8797309e8fc9650c2a4b5ec15a223d07fcd341ec590d6549ca2e8e8543b89f56b9c849b1e3af2e6c5f945411917b67a33af0df72353539407249f395a2f55daa7aebf26946ce62a8c96a9ee76aa918d13b5a792eebf5884a0e240fe9a41bafe8bdc16ac5e1cc29c209fe4630d0e249245eb7db5dd4a1d3a64fbe3dca40af9d54882d520e1d1a794b2900cc30fd0667b2d01eaf46bced8d239f7becaa778f4c0ed302d58839a849e630ecdd0d4aa4a2ae6faaa9b25e2da9089b08bda024d7dc2f91a9fc46519543dc2ca849240ce34902dce8b864fad25599b22a90e9e619c366b20889c96dd90a656bd119df33e0108c76a59635a017c2e0b16e1237fd4f3d338a7bc0a3a7796897f36b8b1646080bc35d77022d0b73e97512dab81406a61e1dce2cf496b467a13499513ab6319c05b66f23178ce3838818ce4870dd51ed66522d58ed5e4f7c93804c048bec0ee3402e29104bdc4f5f0ae9709d93b43e161f869295e268117d0e65777cb70df8422b600cad8c28ac9bdb2a70414b5fcaae85487b861f11461c79d7c414581828f16d65ea0098009b3b63e6c17aff0c8a52b419d04eac2637d9acdb09894a7389ae779c3190ad558162f04a549f5009e619c3af84bebc5f5a36f103544d483a16b5493a8a15e442e284f302d43b9806afc0ca9dc970606b9db37921197169c4c8e8ad6f055fa48c63dd3c74af39f79f04b62e38a126397383861723e9e56692e188031e04968eeb7098cd8115b9f2da688223c9c621784745e27dd5e768e4806f25c470c3c5ca9044db13df45622deebbbdba4159bd36ed0f42b50da8473402b69d8c55895ae9d1ac91d666f2207e49eb3ed228797c4cb6098e9637a4c9faa50af837f98ad96220fe12bba62ce56cd4ad84ab040e6917bfbee99ecc0d36d490c8096c6149e0ee471b5769bae28e3404cc4de52fabd1c5dc212e39a4e2a5f554cc8adbbe330b8c07edee6797ae2c0f5291f8be0d046b929c58f842422e414022d915ab4fc57ca3bc5bcea4120f9e19653f53f83292093e8d22fe1a1aa9fd881784b0e4225eb0b59919fae9425515fc33b717f0d4f7b1d54e7fcba7400b86f98f03307086e2aa4b97e7ebd51414fb8763243cf0c248bc38dbad9c221e419b9216bf7de9ca26a03a0fd86389156464d5fb18882898764353e9b9f58760241b3240526bdb192cbf48ca3474e3e531971b967b0f7cc3720e4c06508c494f3a0019d566a0c31e128e9e3d13c95e363c520efc77ff78dc75c1b8d38b3d8d5335d606dcca580e24419aa22f5279af890b76941359cfdc414e13ea29cd3d107701e6ef45d0d9869d447610c8c07742046a1ddf4dcb676d1994da1fc279701c6a7a7dd82a053909d554288642efbb19f2ab9783fd62f0fabccb5e97be3575a9b231ea6fa80b588cc192430a50133df401c7978755bc08d386d0a928383b888a56688ff5eb12290987ea83017a13f7b0ed29e59fb1d281b0581bbe3e9bb1e6355c4cc831629f62f8d68b3ad9e573975bd2eaa4bfd6acab53f00c33ccc4e57f63996dd128534a9fb4cc95b2fa6a301a66acd61a66ba856c2ba6746e2e4be664ea6aab60e3d0373992accf4820c0b380f7756379aa946f5cbe6165b08b1ecfa54a5f7b49a26a69d25254e8c2169761916bdc0dad8d9eb2bb278e8a125901ac49e078f48fcea644c2b32c7544c9146efb1f10cf7130aa2e02cdeb4650921645ea07f28dee816a22a2b640f356d6392dc343b4168edaa412d463dab5da6bb16bc95ee0cde828d4bf4fe3fde4232925160832ec544641e83a679700944423fdf94993e25b901fef5e252906c043ad70d7d6c0ec4036e2cc570e08474db3f96ca2a3b9fa7088bdbd15ec5f619c6c47fa1256f9cd66432153c810ee2ad0d5eb47a8fe5c2d2d4a1f3200963312e2d9709964ec0a5bcb4ed67c3fb8c698f3b3c9151e76ac118b780110b619dcb62e312512028f1298b052e9c562cb9b333dcac65869bd4a514a3d2438df0074a2cad1becc1758103e374550c0ede86c504e3a2f2f4cdf34cba3c7d3ae649c40ef2fd4254a4c53f7ca94dae54cf07e330e45d2f21dec3dad520adf92fb163fac2e2cd258c004ca014b7158c07c2e4f7b462e17da63ebfe3c1fb1a962d4a61d55fa8e4de6cd5aad796d94611cdcba4fe2565a64a5dd39a2aa5f6ffebc414c08897aa41fc8fafb520204c1220061bf7c26059f4784d30355aa70c5e0628dc6c6c38bafd2711c939b84e501853e48e8ef2164ab134ca8ab93926cf09f0fd3308c407c0c33b5ca5e30c6962e142efe5eeaf735926fb01892b32a52310c80d3c3834241df0a420016bf46c3d22e15c1c2b3cd6ae236b128857d5c87e38321471b40bcd551e50630a3868df20e04a5b7360352a12740b4ca6b6ff45e3ed3d978329d4f758d2a8c0fd3c39c2b9f583d4b48a77bea722efea439108a1e60758f466ccf3bf9001670b83cc9494ba0a44c85e001b8e14843245c2e39452801456187eaf56c7a399a2dd58fd29132b8355ecde5edce0eba0a8ee6476886619f38c8feb8a23e90863cf2b1574f0f3dc39f08acd3bbe361922d47e08c378b5552c07f0c215af5a7b1f4c64f726208860803b6d464980587bc230b98ce9adfb70fe64484120af593851b2b2c4800e17d9049b946d4636c230fd0a2455f1657e0eb8d168f88d8ccdcac0aaa03417813288d1d3f30e6cb7349ec4920591bfd8776c770eb415c016c1838ad201d5cb894793ff3e821a05b4ed8b204659d489960e4a4a15b67edcae390cdc32c98cf5fa282d68d897bbda6912554ec43f1b902904e9a877b89c8e5fb9cb5d6019b0b66bf24cf5eec7e3ca380100721714de9dd20330f30a7a1253423e456bc23289ac0b39a980a9136675b71feb1edca44c4a3bfb1e490f1aaf022508454de754d7f5eb7a40972ad953ba8957d71736eb0a5a12f7c5241ab45a1b337c72c859b825b574802bd6ae48c4222807fd7a60c894b58fcc53e66694cef23456e14a3d2f769b694f5a5ba8f12f48e1813968821f18a9cf7cd238596a09318ed0a29e1076249f063d0cee55106cb70b3d5b2a4b6823fca11517d87cf33c4c0a48a1981f08f4c948fd3461f100bb5c53c57d66fe3183ba453004d30cc4bb1ac62dd5f1f8e37bae5690a56e89244af2c722dcdc82d66d86be48aa56c615e44391283cc3c673d558492afa195e45e88cd78701b9c1c64f6b7a88294821a37e44d293781d1e9a59e08e18469b80fa9b1fc0103ab6a10c1e9766029c900938a10000c7ec29fe184238c8084fae9fb2c05177af85a6bc48f8e83b833262a0d95b58b66833afcc21627ab8bd5fbfb31ff6d681d1f8c65f55726faa908ed9978cbc340e8a8080b5f1ed1e3492811b071b90bd080ce1deefb3b05faefc86f032acab35c45320368b475c8f853be6d5c967cf1402c9433a768da80f8b2fb98d3dbac7ab98e3e9dedb4c97304ec680c4542a502589f6fd85988fc59595836a1d926c845a5f77056a00bff13e06f253ba312e3d17a6eb4a27f660885b0557acf18fcb660f0821088adff4bd194d200a128d8a8ca3630f1e6aafcacc43f391c0df147b28a5ca2b9c25e162175985e9887944421e87c14de514e463a2f1d0237f96e18eb380f192dbff55ddc547e16366d17c8bbd86985e6c0021af3186f538c76b12abba08e35adef81891462936a322b287f4f2d81145b6f600bd19c20da2c495903306d983defd1cc1ee20584362b8c3145c92dcb3a8c60fc05af3e3436e55341c18e97de0913e7437617919a24a48c3e57f462e451c89b770f9df459ac718be7f889e4f6b024bc32559e5e0b4238b49f82b570e89835713cbbd020e0e36596e3a41638abb02e2e02f90809e2b59d4ef268b7e4f82ffd8d6be063b21c2349f101148ee5eafb90eb85d24eb27ee96a3fcdd54edb11a906c66c9fa330a71f29c8a25b9da885d1498ce1cac9c9849af7434aa15546a12435b5887f6480ad44777cf9217cdfae8d04ff05b1232209a4a0378d824fb8fc0899aa4277e95d13d1eb8a890e0a280c0f53d7beab2e48e8f7e5fe9bb01f9061460da42a8523afd3fa48fa3071080dfa2a30fe90b080a176d5a11e3ceb7c40e437445d5dfa363b3e23223128effce968f2c2582bd8f45aa4c5318fd5edad1b0acced18e38d6da23ac59b0d9c5686df3f6b2b61fcd5e0334ff52c38f490813eb7e6aacb900c9809752a5d365bb7119cb4a219287c846deb069f58c9c6a1ef4a5413afe863a19b06943ecb398ba350a6eec07631cb9deb8e9cc1926208f53bf69dcf4e17176c680943135297891f18068a84a7d05db0d2186bde9c6a0644df622ebfece4c32a77551e49dc0581126af70bf71474accc4de6f93b725d6948fa1643d22d9de8d3e976d261ee20731ad520486edd0da444ed5dd55d8b37bd90d13bfa13d3c79b1f8effcd8c0e454efc689c88ebd3918862075c2fa23b7510256450de7e933610eec1f7616da694decd1072de1760567b8e3fa34759acca29a029e0c363049d2929570024fb7a80eb0cce38fa21ac4709ae004bdda932cb1cbcda082084afcead8e1851a5dfc6b38facc48b407fb201f74c6cc1575c060045c51af7318a373485928c09170065de904d883a239aaaa99ea8ad2b14ba894365f80feae1583e20d5a76e3d2d4860f87a135d14d489d4f40028875b89a6176f3fb6767f8384483f510ebc0b5850625dc70ce10895a401675b8a4e87a5d5323695312ff38e89e51a82a178b54341b255bc37a6686b60ecc82610f97c50f967e755c7087a1a1da899214eb97e153354bb1f226fe7f3c76b893462063037a3cc296445936639a002a0f2cf37fb90d9604f2ca26f2ffc9f12f670ffe75504f3bffe53d1aff93468ce780a011670adda4b4dcd02e9073dad0cada39801ed85f74d18abad167b68212a1b78023ed238897118268a9ecef4c045988501618d12212c89a2d9f073d92cd10935cfa55df6faffc2086ab014af01dae196546b65bbe88220b750f7bc14bf34b331aa389e202f5cbe16887611924282b06fdc225b9497774b6b997fdec3e18612eb38974a52303804a759cb8fbdbb2855cfe1470f6edd8591934534646f07ca0068921c57e713f2fb72eb14161957935566e68588bda186c537bc540e6cf88612550b90ea38090154254cff34e159093f442e8fe076de3d1eb336c48121168a7050756eeb4d2e1958415504e620c0670083563b1e6562c7c8c4d6d048d813bd427e85e75828eba6f15a9b98266e1951a103b6920b18fb3ba2c0b090afc6542e9a2674de1b6d9097ac0f4d8fef854af40752129117bd4195299dc1e1e206811d0ce7f7ed8e5ca417b9519776156ff9f681275c7fcb840d67f1a4d78dd3abcb18655d0be7322b094cdd7180eadf63c07378f5e3477287bcc95ef69e97c6cad1a10ebb54a0a397c7ce669d3f3c8552a6a2c6e4c8e2d8fabaf2044e8882c9913df381b4020c3d172e81d5e059fa0ff0c696a064488805b6cbe537e3f5a904a07dc8d4e9f38c2a0a40bb7d9283ebc62558224d405afa2aa89b46dae06e415c8c2f3edf99b3eea8b7015ae51f1b352599aef2ee54042065a4e25281ff5b51b0cd73a9ad08aafe2349e614caccd4777310caaf87905bf7d69c2499de61dcab9b496e0228e8cb45c06ee9cdd817f1d2d3ac30d84174b47ec1f2071c9b32d03d5f732a3bb6a2d130569010909e7d0aa5aba831e6978ddf892118243e35d84247b36d643ecd520af2481cb2fe5115624bb4f0c8374d8d94ed16340efde90d4b6e0441a3184c5100b2ddd057178de7719a3c5bb201bbbcb58f17b35993bc22c1bb0ceb5c07a7f1351c7fe27bb2c0a184b93058c91cb29fdc4c4a3ca1332860a807bd21e0f4a0d61089f49c5dbf1a6728f352ecc9b037966763d1b7c05ff4f8c1fc72c33eecc740c52bf6e445c7eec9ce911beb0a7c42083570b42161be42e0c57ef77bb6c7efd9a6dac05203efbc39074421681ad800e44861bea5f2bf7c33cff35c3861c55723b0221e14e0a7136694de3e0ae3d863b111b8c22b0dddddcbd614db3f61292b026c5cd44ddeb59aa7d1db47616fa9a6ce4f598d6361f14bde83e7715c92a830cf4c6bb35dc5b469c44d42cf5d52710c5dd43709daf408cf90358ff4f60c92fd032d486405b201637123111bbc4448c2a16b1ab98494ce494bd7352fe483ff1a849c796198fbd1cea1982d8979860646abed6916edffd05cfafed9a191a4e234eca7814df73a01fb85d7498a9353a7ea991a9148f987e9aa05f8d541853f46ae05a97ddcb64b407a06623b0bc8de1ea2d465efe735b8e030e3dc858f54dd2463ee85774e6d2a7c905b49db95037f70cb15142b22e035d0e56b3f54057894b248bf97aa85b5553dcbdf34144f28c212f424da33be7c1e3ea9b2fb2d3fa0a85583cc886388b4a29ddbd9e1805cf064493a8b31a151f6477b8df24525f4e9e34eb0c335cc8e53fc25131f710c3eecf8e18516bbfc1a00b9256b0440fa155a3b5fb7c8c768ae09e4d1046ad6155a23ab1719313357e052387ca6f04185288219da040a63b8718ff0a48c19b2b6924ed6b644960b2bf89706e7b25951884d2c8607522e1e432f16e9dc02062d086d5f2cd50a6598b9e438c7a2870307d9e0dfbc8193a1d6a040f5f3f89dadd9f6a3e725f2dc0a4ae489f95fb54c7280e0235eb24a2c0b92ab58e750f6a716e77694724d6a3b09df3f0f20447bd2462c38d31691030b654044c2f3cba203ed49b997d667caaf19e782408ebff197637deb76aef888826ed638dd13a0a28ddd1be6c63470bc81bc720c04f56d641b4de5c45d26f2a86e24feb7b4f9df46d9dfac82197f2c2cfa045350cad3cbff3a68c8e97ac627a3e9b67816a3004b10f04b3fe5567d91c65774d16f3180b5608c12c6288a5018c9a07c89bdab8a2657a159640e583299f690b49442b75515811f818f82a06966f66ec079017ed9eb65f550c6ff34f27ebccc3c05e96d25d46c75bd7e1c357c0881543aacb1d7350ac64a94bcef2c021048a0a2602764a2b63ccbec314e9ba096f59db030362e23244f611f433a9a7ed6201c088b43f69225218776ffa09f547300437e0bc2e01e22b7f4fd61f296ace6ae438b6d87214bb6ecfd0fe13de8dae6e6f4d5463a00af54ef2736816c38d073088b8598e28d37184aa58442a8730d171a94db9cffd4307280f3288889b674358f1584b276b8a86aa3ffb4d2ce210e0123a8f87b70fec7c55d844625032c7fe90b85ab5711cf832fac2628777e1c343290aae56303e1c4379da119a7071cb0334252b6c81ae88186d0d640831d94acf0a0b99c5ce8997bae19712db178b19abec0de7b11f2390dd0405506f7885d10eb23a474ccd1b4337ad67f719ef2b6f5e4540d857e28b7207721d5e99a7bb1fe8797c0f3d197216df23e430dd1f09b469243c078721734bb7b3a6a3884ccbc21aa0847f9036d287f82f6a8cf70d3135bf369352fff85aa262edd4af12a706bf5dea08c6c246337725968320d7530968a5358c409003be0d592be38cefbc3c38d254e7a56461d8389df37296812e8be0ea4107df92f5990035c03926cc3fbdf26dd4afcf26f8fb80d2de4b52ae19b254a5cfa1d43df3998de37923f5df1b0695b3fc0d3bbb3c6b08692a88b946e72d6e6a042efa1f12affcfa6f8e985f6285efbf5ee122ed4f318f22834247047bdec483328f67131e66db2e2fec2f413ff1ec1de0575d5e1cede94336b7bf8d8f22f0f82f1c1038781e11840f2b03b3dbe5cf08e044537f33017fb31e39d36ddc081abce48a7801996093f3988b7d5f907ebf56f67d55777fbc198891a4fb613b4963fdf38d670acadf1fcd4bf7cef915c397c81f80ee2fb86b5e28ec27edf6fa1a39b86b7686a33625a6dc228b5f26c270c82ad6375f0687f176770aa8788d074ccba79e99ef7030ed18897618fd3230a20fb754c3c9373152caa6d3e26d616b731912fa4571c9956c5dd41516aff53896838b909e007c50c6d7a92620ad0acdec35f98620040c5d2ac5eb4bf582602e2ae0bfb3d4c8b8b49cb4ae5c91194ea4b4259406d22db858f0a06dd217ea1f03ca2b3f43df1ea39867106f85eb5098484f0040e933eebd49c98a0cb30c959b968d4b0204f29e2f258b94ba492f1482dbee2cb7a264fd51d936a3076986ff25a47e4df99d23d21124891d72d44e8f5922e012aba3ae8252e67f3b82081c4c4293b31d80591a07484427d3002fa90c4c63491cfad997542c284b9ef3b8dcf82c990ddc04e019595c8e3b1c6bb7891acb8943e2f249873c8d25c3da2271864d253933c81fa9adf7e0b62a3af82c297f12d46f3cc197d4ed68c77da5d3dc4323f385453d102edb501be9612a5426ce46c07189c8d2ac4a1e0893401d94f44117fc190fe777e6603dba931a0983f517135322eba0cbb3537833d12ec17e1131a40f699de07cd682cb6214734b02c84b0ea2c44dd04b32328148382eda1dfd053991d02e62e49f44f6e9a53147861237b3598737bbef9d5a9b169f170675cf8b953e4099c2897b513964e31075a39f2679c333120f7df7a1b3b1a1a911d523ce5350a24c6df7bfdd3a20c000b732dc641013cb65f651f12b2c894953c00e6c5fc3924ce88ba0c889520d42204569a9f182253e011cbc1b29a7d0e48f567a52ca1332cd4087b3f2c32d0968923cda0fa011882cbb8a40e0022463793bc0d9ee6e392c86f647854c8309e67a478abd07dcca6677e9be4ffc3734394f9dbcabc41696da6d5a0df3e1e8842a4558eb9205b4e5b9d7e7a00dafad6db5d278524888191736bff0c4edc9350098e52071936b1ac8daefdde9153354a139a103aa41a6b65d72b82f29944e3eb3aab52fee136352e1345905e58949393f30b672ba83404892aa62e5fc103a3316f716930d6189ef4505f4e96bb0d6afd3dd2df8c7e603d65bb07ffa498eea63cee021caa0263c96e64e541d2251cdb830b36232de3f7c76c0844d3f0d2f8ac4029dcb88d60982c4e6b2399ffb34afa32ecb799c8ea1634674890128e5941fa5d5af93c6c6d8fd9a8d6f4e7e7d24e728d5922173543036683e903b96e1068c16305803501f06d8a12c5f498c65819bff6b3f0d63fa47bc0ba88d2ca0acc69d5dbf0f17c94eecba0b81fc448b68903fcd3792fd7c6bc3d078188f2134a46ec8150590bea30d6c1f91a2e0a4d1243076c427316283eb7a808e0f96f43acc411605c1b52556f25e826291a080a4ef204ded2bd0d64ad11f89895b4d312106dd969d17c227211e26544e91eb1b4ed122d366ecd83c16171fc488fc3186c4b84530abd27ec313dfbbc277bee2f4bac4dbb04f9b895a7b7a9e38f558be36cf56f75b878a2c371404888410f6919d5834811ea83ca6463998daa4672ffd594312e119b310d59197039b604c3d40e765d1c9794de7bca48e04d84cf3e2e935b74f3b28fdb97de3d5062bd5956826382b40c92ef75713c51862b88489dec66f0aeb663d9727b1c411670b8c7f74ad7faf59867143850a1df875ff5a44d8cd5f4e2fcc422a304ae2b7df024ef89a20c4b615192a9f5dfcc2251105f4078270d65914981ea2581a3fcb2cbe18ceea1cd63a3cf3c734f54a3f270e60fb302908e14c4345cec235a8779b75c02bd95e6bc945105c847aabd116493a14f77a605b46d6f7f9263ec61da7de4381f1485b6afc903bed845c647e1b89a4d72e2bb8e0ac2b2326159b2fd099e4b253fecd393cf73e1962ab70b5a387a6f99673ae27425edb2bbe925d9588194fb2cba0450ce3429f68cb7e16176bf5ed619f1716a4131f6f2c2f35548771583977d70cd975bb05ddf33f7dc4a36177901b0b19cc92c7422498ab6d82a410ac50b31b05007dbe66d7cc363d81cd0727b664b8b6c4347a63fbf48c7cb1456ca02f0acfbc8de93d0bf4c092256a13d674379289fc1ec0114f92f1a3e325ff1ba1d6b1b0819efec54bca53d3acadd46e789e53b92e06254ad93de4b1c50bef51cce17047954343564ec096634d431864f2059940a01934bc113d2b2694f360e4be7a4df4e46bff2ee00c0d40516517d935cc01626e303d0b0adfc1936ab2c12f606cd1cc807d60d4e7c36d59c67fb10399477b28617fc454305a2931de153cf8d8b20cdbfa8165e7ab6c3398cb4495ed228e3341a906ac20dd053c4384d36329532471f8f03957142c31da7efb198ea12711e672538ab50ac9bd8b3eebf2a0fd10f743118d9d86a8e5d6491c2b66874fd48abdd89ace95928e92226a5118b7a1f8187b911564bc9b72bc7d86103a030b6c608dbe665134091824228b2ff7142928a17492ca0aec95776c6a4f4d327f57ffc1673f14ba09c716b384c4fed4155d21f620b5b2d4ecb7329512867eb47c11d9c93ddb5f609ddf44827d7b0537b9e8c00a68cf3d2c08455309bdbcc96353a9009b33bd0620edc115f221d9f5a8991a42dcecf7485d5a1b8fec72e57e990055156417c0d3dd69e1d855e09480c07b1bcbfe8d5db17f2c58d009c882c2233d08672e5bc32eba1abbf9cff8544ffbb2cbcccc96351750605d28800f2f88e03a60435397eec62bac8bf0150bd8d5a6086343278ebd05abde0537382568ef27f55899752a09776afb5cd004ed85d2d881f3bec64638f2957aa753f67161d60a8379630f728550ffd9506c13ebb322b9582613a6aeaedfb5a3e69d194766e785fe017655d12bf334816b71ef0e21e4a0d2484af478cbd45edc634049f203f79ef39585e41d0bd7f8b5133e75075d19eb2478d7a8022a9d408b94b6802d0f13791f12d4a4a73cf1467d0b153e939f9a7f9b7b400fcbf1938c52a380a996deaec6809cec3fec5a5c0bd042df1dae155f6f5f8ed116ba7141be319a80c5dba1a9f53bb49e8d0f3f985c90c597d276ed1ddca98f220c52bf94a7d17bc3e747c3d1a489bf63214b6edf8c23d35bcfde1223b09a53e1bbbd5753699636ab5b26fd54046640cfaae63635ac190a118bfa886bec65d738badec8be1c8e78649d4e5a1742c650f226f44d702c33204421132c470bfbd35200691ad4bcc79789178400dd150ed885461cbafea2e4c061ae7ded6c342a8281946d4fbdef2af23fbb8ea96baaa1fed7abf1cb05a1c6549d364faa181a960465241d383c9942f48fb4b82080bfdc5c36bff10babd2e96a6facc5e0dbf0f5574ee1bd557fb6b0489a68e6373d5365b70fc3cce65d617275e29090df84073e78cbba12e0610ed6cbfadba76a7790b8b71612ce066b1fd575e410888f920aca1fc446806e497c871b364bed95562a3398702001ed4820e586fbf9445711487bb6d78680b98c9b378d2869c0018267851b3372a92cf23b5b3b53c998a1e32b43fd9d2bc8a2e23dc21bf43684e2aa2fb9a4ec290c78b75917d2b59d1daa51c961c62f8c872450ed624d87a75b292f83be19ee3823a96b575bf98a3b06eccf59cf1b2c75050b863ae8b6a16d25a626c190ed1324235e3be91a1821daba701d37b58a8163d04581c596332e3b621006f89a343c8756f195c298d43e438a3fc4accf1066ee592a33d44241c3aa4dcfccd08d5d163a8e4ec2c13e727d7a5504db0e07639919e24dbbd50ac0c4416bf1275a17389873140d75630d75ab3a66b0d8cba7285b52b5d955be503a6732630fc10ca5d7e800af3750ae65205b6b255bbe43fd7ac852845de8340e3b845ddc699c505ce81ee547ec0145f1fef3be9fc438a3b8abf20dfdd3db19e5a8af5830a78e18243b4a7e9b0e566f14aad79058b9f155a574b0e26ea5467ad60d70938f393127272bcf75ef6213cb10cb67214edd13d44a2fa86a3a524261358833ba099598b39a86c5aa331eb29ce57f1e814501bdcd620976bfafc23e3561e3ae2a62830e6f7826d4c2e00c5467e40d20a4eeb922a0af48b9948a8aa293c6fa5fd2f98700e08929685f6350de447550eea867fa3e7576f54330d13d54e81ac575a4369384dd7c1f19084136c6832a9f38ca274f86a1f7f98f0e49199cc5648db4593b68c028e7071d9412cea6a3dc5e301c918200ef3f2b6af32e03a6da98471f3a5028bf4573607d41e23a509c75d3c6b90867b9f0e913a02fc7dc2fb20a2c6384282c0f8f87b2c3d010e9f07aef36530adb3f1cf6d05aa3cc9299471f23092166b9241f7a2ced8aff8892e364762a433ea502bbd10b1b418527e9f05f542fe08fd614cee07b4d9f4f923ab0f5014afe77bdacdf85c2a0e435102fe474d4cf90c5cac48505773d9970c2c2509b50df506e1ea3d3edacb9fe060219f103109fd2d4fe69bfa181d0f4be861d508a9181a80e438cec6b08fdc066f9fc28cad843460c66dbb9fdb68f6b6effa0db6775f39a01ad20cc9f7a4f726c73ddd8a06bbfcccd0db4ba6ccae2f6d6a1153c2d8b052900c64b73f7a925e8e1cd4ddbd4f227e9bf31e47569bdf32fd184c754bea6c3dff8e13493d83a0e9c8137d9090805a38fdf00265a676be0b22a201a9be78d8382bcd9101b5f48487251f3f207034d1a6f0ca921cc384c6de3cea480505d4123dd5d4a3d37c9236c66442a366422f4c6e51be5e0e7907c9c0e20f5b1683ba03f91b1c2cb5d4a4079939acc21fa64f9052781c435bccf82a51d24f9a0c6ff835b5f81d1d7207646bb63ded1fe0c950557093605a1b5601b50c1c7b68162a2ceb5c502b1c899bb9007809ef17acc920fc06cd3fedf63ff26e26db214bb20e3299be2c0a7f7c537cae68d2affbb2d9ca9eaa169c2b5cf42d88100d83cf547db080a2941c4b8943fb481d2305cfea17458ad554e893657980ad557638cc7ae25007af0eafc06b29b6e4f3f30bdd8f22816c31d7c8755ab5fc97503924bf8e061bf07d1954673a0cfa04136ff0b0f673f121fc95030d9cc4496fd49ff368bb49cae80367bfd4caeff58dbe24ecaf529d5231c1dd53344aa058de0191ae4813c95195bfb1dbd3eca9546dff3036d6a6e189500aa872034daaf1ffb3c794bbd7b900f1842b34c42b67d422a970a1d45844f03a9aa1057861a67c796512328f39b4a8c1778cba4d9e80a4581ccdc294f2632b0dc00531bed6b206c8e78b6f1f8726ed61a27de16a15666a769cf500ed2b2283128aca566ff2a13c9ed00cdd7d0516e26a28e27409851c830bca4fe07ca107d0b32abf31d506a8176b985db4f7cd2d698a13bf676bcfe958d4976694ebafb9e6eb50b0aec2cfa2816b6b57f27d41275f330efe32ce735eeb261f92a82aaa11d2837d2713444f9c04d9453b871dbf5e9fd99c1f41f7783acac0eecb22e0ae180551c88fe2e943663485b7c8406628485852093f22c86dede37a1091de0857d606dc87bac5e8bc9dbf1991cedae08021e76467fe5e782440cbdb5c31f637f13a7a04e64eac33cde423e74447f49bb5193003415837fc20bbc7d48d43fb65954c75494616b506585b170c9345d241906759da7d4d9fe694efc9e38248472ac04159e13675b84f80e95152a33e38bb31862254de91e94aa30368c6de35db52a198d1cba08dc898a4f0bbd0aebd99cedb110b2606a79a63ffeda5951d916078fbe1d2c876fa1a77be0733533f586cc3fc6777b1349ab471f4f41144683fd0e007abf7a093b0dc8ef4b675c966e6e5a33e69d76d0a908755f225852724221e63a37e2840489a6163191e22b4048b767535f17ec795a09ccc5b1f1c05bc2478ed46e4c93952f02eccf44c8edfa9aa42e5d666c4783d6e39447e26d3bb3e66fbb2ae8643cc2b18ebff59c7d50361d51a98ae896eced2f42ea61b7890ebeed28ed51ce4732e75da93df25d3fd41bdcd50db3ef8e08dc4c70bc188799660a774ad158294c8cf115536b5cf30fc88b707292bc7c84eb4974e0cc467c9728c7c6b968b4e52f48f5a29307018e967c9bb390640c7edd334fc3c8dd930f569c85eae301ffde582c6f1a7a0d30520abc3b0c166f46a6ac6904233041f0a208e80cbfde63cf40a4b304944d70285023e2a283c8d748b1a07eabc5c03229ef5c164a42a8fa80299580b02f625f2c9bdcf72640a842b6f3ecbfa7b02f347cda70edcacdca3797b5ad14d0717468e488a7f3c40f7916025b0bdca3e71e154533e11fcfa2ab516c49b961a2f49eb83ec880ecf09cee6504bdf77b4357a58bd82e53528b18fa23f1c58203314abaca606397b204a268a96eb32c00291ee00eeb14a65835b488389c8989f190fa1789c700e69212085f7f083c0e54ed4eb60c849cd75c5c5e9f0077eee61210634b77af754f8b2be064de57071eb14020087a96b6642171f9167b3bcc79aca053bb88e17278fbf6984c5af82b2fca8c07e125daaeb4e97f0c691c8b124985a1be43003b5daa4f8012266f0e67ccdd128874ae77abd20dac0000cd029e1c0c37c27f8247e7130f5a80fd145e9067d597938c7df29b84953b8e056b61b2fc3cc08295ec6df43f04191b43a9a49210c50d2dc5d4fee018772a16eff31122f6a11278fe5aad8722051775dc97e328d74ec55bd04ba5fb9a60031e161f352ed1459146815b824c8291cee19cecf4d61b5e57113d0fabe09c0c50c7758722455520387fab314a684bccf672ceefa0f6a05e1a5dcfc0c051279c7be29a15ba8e2406bc39e1b55fee95fd60f57b09ac31cb0384015e460b6079058d80c552b9f40a1d40d40ae89af25f5196ecf74ac30cdca41fa79decf0ace2ce633568f5983d314e62cee3eb254b69d9cbe74445be52ccd37c02ce54925824514770ea43513532af07ca06c5b87e9e53009fab2b60aa79de7b8cf10a5fa68ae7cff65b62b2f81462ff9aaf03c9b743c4b2e84d87926a11f09262d8aa81237b59085410ebacf48b8202681978d3007a250718095838320e4f5ce0607e8eaefe4978c065e66cd0610fe5728f995da1a79324c8b18f8829b99c093fdceaa95879249627d446c5f3fc5c4c6a83c699a3622dbd5132ac5f38a072a47b4932a67b0da9a96442bf6ee52c99a2a008f1f31fe33e0e38a3484d4ec841295ef576c313e817a3c466c257cfc80431feade0f76018a0c8c356da4a28f8c8a7a0139c36537b441299191a04afefe3c7258159a43efc6abf089e7a59833dc9ff7d1b742a46766fbf81ebe68bfbb2587d4c9baf3b62abd732f06afef5dbe9d69b712c3143f466b439355d6d33737a14b2fde0a6004d3c07d64742a37e627ac0f67fd4067a9c0eb0bd20c7a18e3893773a48fa6a81c488efc79d216d2adbde2cab25165590e1e67002560a72ec1e313405ba28f95ab8c557269a3e68ed871742bc392e1ca55ec68ef84f69c87ac9684350e1b1a6656270b2e8c1c9db9f508ad1e05638bc980f7e6b9a667f5dfc5bb6dd49e30be38810b8b43036d5921b85c6b0fd284fccabb8db0160d80b3c01b60b95acb0d7cc68095288f1e95d2b80765e9ea86078eb53a94ee3f1c7746889e757e107df925348d135cf6a4eed097b986e495e9c29b1705d52dfe54e8f211a105084fa44245830929d96df22652b47d24ee08a4b50983995ea28f62bc57213d87f6750c3a43caa52e8dd483e413f9f6f9b7c3a4fa01d4733dcf6d9a2d2742330a9b80b6e0fc1372c8d5821252e33e5cbd18ba689797d7665689ba841fe063f5929ba0a0f2343f45c92444cd38a9313930b6a1db9e7b02f5c01944eea53c0ecb055b14affe81b33198b87914086d0d28ddf8c6bb5c957f237c743ccdd5fd4ece7e5abf43245f8ede0d8b9441862adc7fe2817e9cf1eec3e4c7023e39dc9a7a171b76dbe5c78f71de2546beee4fc883a883ad5bf101372f43a0fb5a735b1a086ef3ae7bc5630e1f9eafc6737f4b6bf16f2f0dceeca39e0de3b8131292af87bab1d805e50ab50ce60905ad8fda0bf3a2d222606e9a05a1878a3fe7186d2d4f9c29c91e4887057379085234778fbfbe8d0d25b903c05b9a5c2c7d4e86a5400c7bc72435891d61c2236c4801762ccc08b3661841df9e100e4045baf8a7696d7d23763bef206d0e039db74b864df6deebcfc98da39021dd6b2a8203c5fb0cd327861dd508cde6faf3d128ac90a6f6b2ec20fa21191f22b5031bf2f66635813c0e79a08dd38b6990735d7701d5a7b664a2f21752336e3db779d55d79942d352a7c069af813f20653ed73b8fc346db34bc1487b7733de579fc241bd282a7513f27e2ecdb9af505167075625503044803fcdff2f83f0468fa18bb25c6ff5c0ec14d5837bf0fb4010c62c340388da334435c0be5ee6181d126944a0bd4336fe25f4f62fb8a6200c595fd608a34db694d68c894de56ba41d56f02ddd63608459d5030a3d751f2213d2b1db1aade989d67ab9d303e6295104812171408cdaf0c835426856763951fa12344078c07b24f614b6d4cf23dbf3fcccf7bb5d17150106a92fc32999b6cb45f58b415009cb490761cb5d5ac2c997747aff4fbbc87392a68d0ba7bc722c2a4231e52a0a4d5a603279ea47ad7b090a255646868465704408cc6d44dc9bccf5477d43ed6f082ad2e10400421bebb318deb279660b07186882836f56b95beafe5acf9116342751ae5822ec33d7a33d0b80adedaad318750fa110500351a7e55347842c31d10f800ad9ceb82f872e8ced42d6b883bf7da1503dcffabe915e20720b798b9d212e8111bb767b63ca7469bc015ee1db4a65e137ea627b4ef2be06c1d0f04a128328b3cad9834b2e83326917e8a64eb797fec83b12bcee3b98b54ea286017408f9b234092c0b23a43b2e5da0698f2d7fbf2761ab6f714a6c1889c9b2ee3b6f2b412bfbdefbce71256d2e778a50973d9bf8328653c51029082486934c92fb0e838f96a8d99ab8b3e6dc83b63125225d387bf3f40f11b0799b17eca93f1cb00e29ec6e27d0d412f13b725f31a764ea0a793c09beae9d680487e3f0ebb09fabddec9955d40fdc985736904a1d3e8291347c50c67418c21a72d6ba4bf6f38206c7fe251adebc125394d2cf9ab8c2ece92569fe81a38699a6a5fc3f09d031262a30390b2817657db4dbefbd0041ac01bcc39848482d0457f9faaa1cc7b1ef6297ce210de1cf5d5246888a4bffe09149ede73c01bf52a83a3cf7f1601cca471c2417a0786dee274b32dc0218060f9da25a26ec24184f542947dd9c1c947047803a53296663b22ac9e6a574167cbc8d7c4e0b7736730e62622ba2fea17a5723cb580a079ebfce5498e6098f0a57fa31f5fee6eacae3802808d83bb1c932ebee0d9b65fcda3501a90b6e4d2e24f8441742e550faf8e88bb96e0281918870198fedbf38dec67c99f5c364dcac9cc85065f94a0d262662477d980af7e1073ca74b63788d517c1c1111a279a7f964ae9830aebab9a634869fe2a4135162bbccb9e8b3afb3c683eaa450d4b30777fab444b0eb5b0175135923cfe48b8a363f1625f63f2d1e8852993533eb436a48037f41084013327334f6c92170d05fb2d8eb5b633f0b43dcebb1c035cf78866cdd25161e656bdeffa49a85f5b078df7615b1d6e9e284516282baf5cdd91e6c55e6d4b1aedc28abd451583e7d03b2ef2e7332af3efba7b635d1b33b8f5deaccb4bd0a8e9a56a6aae32a8dee5caad898a64d5031fb97051f653d80e18b20c53dccd694eff543d8e7795cc5126aad44bf14c7225ee9d454f74c6b3d700cc339cac82dc565887b541bd01939c3d9140116e594514b1a5d18a87955d1b44187acc1ae28d62383e04a3dc89f839bf0152443363285320861f294584982041b4343329af9b50d5d629225cbe880f20f1f615bf1fdbd0c2f39e6e54a3a439ed5ee15bdd8ef4c229eb81decd824a63f6c087cde9bec4e1d67127dac49b8e9819945bc23b5115d9870f566e28571956ebeac1f0c1cd5773206c079adc447ec8a335d9a04bd3eb75605b7125e931325585e7930231d87862c74b5692a0f28d51c7aa008587c1f939b6acfaaf1f2181629e78616234f2593e768e99235e60da423fd74f7d660f316210d1fd2c458798e48d77861de621e1c4d9d9238026620c20be32f083d5c8926e106855310f325e733ecfbc2bfce49761432e32c5efbb14150fa4a01d61f24704db951e8d771a9abc1ac404cb24a20acfbba7710d92851db310509dec3e742e354ab8902b6949f1863aa106c60ee5fbafc2beab53063f2d3ae32a421978f80b4b65c71bb4054c38678b89a3b2eaacf453c8ac02922785df196bd0ff43090f30e0c9c3d567a804c58e2b6789c5cac67a81fb0253a7432f1e969cc669bf7cb4b2f31e8dfa98fb331dbc7bcd57a618d46505b53ded30be46495a48521b22fbe375bfb0740890f1f60de939b4877ed71f84c83a353e8fb07742ad40b15d64c1012b6453c33d0051a3165aeb8bddb32ae2ba60781955a96fc3efdbb28547095ecab8c9dc161fa9a7782dfe85e71b5b5a96de9db7116b6ea6c2733fde6ca6525ace342988846b1ff97dfe16dd5277f2cffa6ea9c478954adca93ae6b50aa7919b04f8508c5f00a9bc00f597d323148357a4684a435de4daa7357299102fa557d35f9a2b2d28e13e340a8461acfdd55498a28874ab0eba67ac2f1109b06c7973c13a155e6540561a91a85b43a64a25b5998cc6fefdf80a4f79a15aff99962aff6f5e903def98102264c38107e21087a24e88d58a34cc9434ae0848fc3a75b51eb0ad2c2d831103a095f9604e7563d6a91d5941258634a893e5a5b4a12e8ad2d2ed5833a9993e5f95273d263fc862a6e6b7b39ebc4d9095db1f60bb1d123a82ee75b343c67ace4dd706e858d1d0e6b7054f56c1f45e8eaaf65c091f0ece23a157f85f78c5d273e70f29c5dda033201520248343e4c843f4d6bcc5e1d98bada3db9ea294eabf9662ebdfcfa77b2c9ad0ea672f580569fe7676337a47f1448307fa78c9d4ce1cc6c8eac62388afc4bdeb052ca1e46fa9f777eb26fadd553b60a11242cb69c744469e90b92cb31a328f1cb6d40bfbf55cd919ab601a41ce5de7aff495fdd50ead14729ae14bf8cf35a521489cd0dce884003927b46827c4a198bb378dedead94ba7f7e6f86083e02af08aa506432cc255d8bd8deea0c325971a3f4e6d3d69747ea52aaba2584ff55cde25da744041f80e5be001e9ae9ed209c7de799948b601a59c23a55d21b08bae928cb4e43a4b275da60d7c7afd562000dbc9e5e0e788cceaaad3d389964a8466138695d510ec78738b87309cd93824b8561142ef28dc14decdd908b32b94914302b5735f418a9918b908372abd6af2bf720eb55ac8b863830278602c9837d0a9a7d28c565e0c23b99ea11a967ca63a1ce4ae27181f274da130b2e366aca5be960426534b6fc2c81d953156643c39431fa53cbd7d379729b9248deab872f16e140ca607083a43f4548fefd118108ea532287d44aa88516a43d312d2453835d0cc75c5015d9c71a8514d35ef444c4736b341aa834dea816d5f40a8b057ab4e07c5c31dc912b657b48cc305bab4b3f8d3dae2de077dba23eb0ee067da283da45f32db3c0884d9b922f9d395917c4b4f7ea1bca58cd066210eb378228672aad8b800cddb03bbb43771695dc3d927db94fec08af1860f58a882b42bc7f3ccb083b36032ba76404637da2a79eb4abbcc5b05127238044b3cc4deef6f866dd804a7f228dd4dbe41e4f300efd5456c98cd4a7a22e054ae14c4a8463fdeae58a2e9058e6ddb3dc49dc6994f913ee19fbbe11525312a537bd5f2e7e004062aef61928c614f5acc031e17b716d91dd5450d4567e5ed26014e7435c09711c2e109753625f1b071b9f56d38baad03a1a5a9cc14192868a85c674d1aef4f3ac974e8b409069e43e6ab3e9134d946f3261a0b3fa57762072e184e37c79d002ab8107f679b5f899207180e7f89fcf0b6c1936582fd4ef368bab88fa7d1b802c058d2c3044d1b03c8316b866e36cd0419813c5af44cda4ed421a7b13df3c2186c8fcaa88f8e57d698fb3fcb9fb5015280104102067e2ec14c8601b0ec07e58d43653904c1b5d5a63ed930986b841f5ac67393e5dcb695a3be3d21252c555aaf6cff9f9d1e6f630cba0d281bcd9b8693ec0fea14e6b70f44f0797e421de90245bf4a3a816b268142ad421d98d6f911b7d44126b21055a87b6e76357fe6a46610553286a657189049b30f27b29f1bdeba88123100b19fbba32efc087930d391d9846250f2ea80eef5724967325b3a560fcb61352b34d679cd6541fda95f882605d8ca56362147ce3f8a3a49cb9651a311b4c28f240e7d18251483792ff49cc791f8e82b31cbf9d03f9f158a9bd21cb95642811f5b17e956c233bca3d06d846d9620400781515b07b8c9a7acec8a9b7a60699a6b720d72d5bffa82789787e6a4ad9ee4a5edf056891898572be5bf33e66af34480af4622d3fbcb7c38065a38c1dda3948f960a4184234b3631804d71ba523c58ffc9b19125bc81eeb102e0c84f11fb06a1ed97cb3c8f7fdf0999928da1ea4951c8e32eba597003dd59b84f9c1b056f8856806e2e78e3b40220ad20e82d7043c17f6a5a066ca47a997aeb5d6b5190b9cd6b767b39cecdc2378f58e1dd7169770b621b27be737fd5e821510b2e9cb5ad4d0e0b0362257124bd763176ab66ee93fc660eb60243deb2c32bf1bd2d8bca80050f239a2ee7749819be4ccb9351105246b00580c351d1ba10cb48d73530cee257fe0d2b31f46a4ee3adb33c6acf358a11f07183ccd75ae80b20e062b460cb10f8829ae5c30e618f1ea18304b47678546b74cc38115e54fadb3027ff9262e113717904c9b4d24a38b07649f61545c18a4f38d6d3dd508e9496be421294e89e72c6a5a02fc4033eb8f804fbe38bf6668c064f278559df55d67d59e280d2595f3934d72acedd73534179e20bb8a26eca9464f555d4bd22f152ce51fd6353871db8c8bd6c32ef044882ffbbb8a23afeec2073db943e994b70dc53f4317c4243218266ce52adf553591fe2f559f70fca363614128f4cc437486b3037e334522e0638dc81b2f93a49d323cbe4f192bf2670482f02adc5d44d2787420af856e69c505733e39c08ccc682c4a8449795afdf42de32757838a2103cf1f884f051fc2e93aa961845d84f8aaf0b25471b8b80ef612b8c5505e4edb360c4cae96451c53bec1630ef303c5a8ae58ab5ccfaabc3b5cbe0fa37b52088cc2f17081395ff52af0cbf62c5dc15ebbc716b93ff46d11d4f9d72629d1ca309b69d684022e2ae88d1d54f7facb8922ed362392671c65ca16d6dd3f39a63b4d2e08cc0640da108add8657ae29f78318d30be8cde3cec1193135c8bbe26b1f3168b961edbf7f3dca0270d455cecdfbeb20958bf616aeca2c0c3593f3c39d178f6efee61e79a52184e09a8e4faf1fb982c0af2004b95b0ca8aab333aa671e4613b3ba19c1dc8d344ee6b93c50e5c296976fadb0a5d31cb7958396026a16292c67cf5105f51726695723a933673b319d86c08f255e2fb9ac654ee69de17ab30f74fc34863681feb74e36226037e7dd7a8683a9bad4ba362a4615c12dbd1fc4dbf6cea8152e4c18078c4a3bf68663c4bee9f06eafd601fb81a1f0dc59d893ed484d1261aad98d935e15525c1942c79efc2ebf4bd6a89ca4821ccf7e46e9248cf23a68f1c6717b7af17138e2dc03002f32397b344f4f8ab5d6a035e5ab1cf8f58478f09bb76f863d9a068b4952267914a9adeadef92eb19bc6f5efa6be9d9b995eaff6a637778c5c288e8403d237df624d6835c81e781c8220a97e7cf0e0a0ebcbe64fd59e4a8a7aa2cc7a92590b3a4eb7a78ccd6ef60c7e5d9f8bbec37368aacd85569445b4a91d57efd379bb26e69ddaf1a815fbd07e5d1978ca77e3895f0d3c22a3ed16aca2b1685f5a3d46705836af07459db49bd3307c63ef869e6c47af57e7304411930e6f78e609cf7fcfede077d8ff59775486f638a505246b0dacbcef596c0f25d5185123858137522039f54c5f2c5b18392cb100fdd1d2e7a3ca931e57a3a2aea1ad5876a1b2f93672491e0df1e59d4b5d659151803c9f9fa44df8aca9932c65fe4417e42a52c48892e6e72e0a808f454a6547983432d72dd3f6430748b2be652def85b1f3ef89bcf74af17b520124dd19c6c1a670f91983281d6c77aa477384452a6f532203b4470414a5171c0ad23fbd182f8efaecdd89d112ba221717db59679eae59b18013e5d57afe2ad766406754fbc7a554ea13a6ddaf2eeb1c82888dfd9ef1397b968a66890ab182f43f5b40e7f97f75056bcc6ba92ec3afc84ec9bccf32acd3f98aefa4f145b44f55265bfaac30f6e9932875871bea27050d1521f7b2a1cdceb2a24db0b0e04f5c3ec65d1bd406945f45a1bd91915d81f8c5ef0c234e5804cc22a50c5224d287cf1520e01fe303046a9a66ea3ec39dd81181f491d9995e6f8b8f64ac6aa3a0b66477a70cfadb4d9faf5a61c01f9d58769d7879e6561334117537cbcf5cbac9cfe6f48da955109f6bd7582056b132950ba5d8408fb028f29dbc92b21504dd2c5e0517547de2ca63a1a8c1b03a4fa8659028970f6985a2e6c4c55382d1535c0f3909c95d5da74edaa0184c9a6a12869efc7869134b92e343ebd240f828f65b64f3c8b17615f0c9ce49a2bdf8b4e9039dbf273f94de96d90801b6d775fc08a9839564ddcda06695cc18283cc3817290916fe9b6d2b59d82b80f0d9a36f35796c3e56ba7b6df61a936d8f809a9c11ef0016ee2619726e8f5807779a3ab83c27332b37349b850e09abf28a3835b79ffa77c5335ae7d7776ef18c22ab601d69c0d6ea17dbe2b46c1169793a932d6c9528aca7c97c6f645463022151f2c35eddf3f61b2bb358695eda69a335c81b4b6a52ef7110a54db11586c46529b3625b5f54884bf34a996c50364bed4ad9f23061005f74d070d927801114ab8538fda8c97990d45306a4ee03107005a43a7edff8cc3585896edb5d301a371837c16bf439283a42a932f7b1fa0de7f73dd948f58bd16b2fa962a4d80483fe66843a897de9857c2ddc6be3eed6893f340672dffa11c57fc107962be0ea76b5f67ae756e54121bdeb6caba7c048dc5178ca6fad75a1b3f5ab94485d69b6fabfcde470e1048dac7c6819a22d4b003af10cdab80e649e55013386a30fe536aef03f37bd834b4073587dbee9a2ec152f8c1e80a6a78c9ed9e11004dfc1a53143368063517a2163453f0314ac2cff1d1cacb0d70c96207578a7e553146fae5af70633df8dd3e233b34876cfdcc6db7d07bb852b8507c7da0f172d158209a7c2fa61c6687016b0f3fd0b9ab8ea14726892d0def4a6b69da2bc0b4777bb84069056a95c3e4c51320ebecbbd68be9ca7bdc8fc56c941a66e01d50c12e6db72e7617491192ae736a401ec736eb30d7db611925e0458c1a2f910d514f53e39497b2640c16348864879460c4d39301d3892e8a4c42b668b9ce6adf3b51a2c958a3d42c1ff39109bacfb0dab5a94fd45b2f3e5cf8a5c0f6f0588e302b659f466a0f2ad104ba49fd02b8807772f816200665d607efe5317a349e0261a293ecadb7422d0b3ac93112d2b2307154568258ed639a5ff1f5d1c923eb244ac6f95a02a5dab99fca251c917e016e65cf7800d88f36cd34c3898824b905f428219a6694d934fdd526c34208e4ed505c2964c862373bc0087604fd439c4f5b57f2e3b23408c14b9936edab689cc9c32ff2ac7143916b93cac8f0488709af22ce3497452949b7e01b0d87ea30a3978536a1a9638a960c9c4af08bb34c7743bc4910c22db184cf7ba0c9bc5afe9e2cb78c3b92f55d5baf3a80c03387fdf50bd5d29edcfc650b49c6361c8d22ba67ff44a1c8993c6229449b0802a5af4b878681d1cbe3323e4f8fad46087d010729ca2f5a0c7184b48754df0d043dfc378625951cceb6441c78078ee3b7139f761ae561007fac01f7981633aa9f6e38f1df0e3e0b268d71cb15933cbe71904246c8c081af5d07625963b47e8d3ef21d41e1dace6ff4f5f2e987932e9b110e206fa119588ac0cd10dc9fe6bd746e77996ce09159027ea591645eba31b7e9760f32e59b135da402e99d0b7a59b1ddddb9d5c6b8d3a2487a0c26f5ae13fd921fae6f35a670f2c377e8b2e9d0801ad46e1a0209e5e41f63fab09ec2ff5a62ab6e6c7e4c3880e04596f235ecf63b8cc9dac7634cce0090b399e1b0978afec0a3a04cc45740cd4c676e25081e395ae264be2122a572731d26a16fe1dfd523ca0b1cb692983c8683804e46b124e3b13e73cb14691c2e5391be30f9363adce5b806849bd3e44bb8bc8dae83c6e3924f6a70758df5b6fcfedd1e2c4fce54de1a739ed83c65193bca16968e6c28f42a9358044563c48545cdc5c4e261299b18690c98185fd29018e21b3ffc66db169dea9a790b402933ec7a90184611ef3bac81eb7c070ad96630f69fd3192926df3400e21e02edd998488079d458a1437b55e2aba217474b10580d65fc469d6eae7077f17016951e98749f8a3c6956b94682f036db8ec4ae75fc354885faa6e5dcc6e11f9c5446985c80fac3e36261dd4977c7646f19363889c4f99b4d735e9c2b36527be525268331c3c6981ce55af7519510140b2027e3388e8b4b481dae7f1f10656e140923fd934c6bc064c30dfda6b3028165b27df4d529fcf5dcb9b24e9717694d67c519d9d721bf3ee6b2977061a88896d68c247b2a031d6e3caa6799bf852937b21c00d4776b1efc668f07e242972e2889bee25705386de12d9128384f40c404ad38082af37a1046caa59b92acb368919d5d94e0f0c9cf97e192659edb178fd43866be11109ca38fceb12227f35a8730121af604962ababf6ada6c27e457219476f11bf9372d948f1dd7a596f96f2bdd4be1a796366bdcf28ae6f9049a2b7da18a239e527ee268db9d8619f5b261a6129bc209e95f1b3f9dd86f528c33316892140b8a829325f190dfeb2d9545e26c971e6a47e401f9d49aa55e5a341516ce7fc15cefd07e7a90010bf4ef25e673a94e4e242075cb9bcf8647a00b943e039ecd1fca0aa8710fdd8415d6e77f455246b7d5831943a6fe05c332e0928b144752d5fd1799e0de068826b3dc6cf1ebfd72ead9821376e66e859620a285c080805123b0fe7764a063a70daee1c3f8df133c3c1ddc25ec1e85905ad21b5af398266688cafc78c906b83ef03ecc853eb055df10934718bf090768ab38cf171b5c88fde87be59cb102b4c708aaeb51763327383e107db96a6e51a7041a3afb6de308c0323b14808604111f66d521bd0e33d2acd66103b514d6df1475d70c837b6481d7104206912b25d5c89f77a6d30d50bb42d59f78ad5c52d4a718edb05fb3afcc015ea43ff816848261503cc8d17f81f9810b50d0fc109d1cec191a64c19395cb7ecae4eef8f0cee004ee880b730e1c0e881588b380dfb4892c22d011544e4f684d2cc415632128b0521df02cce3ab3a8f1b9209234547c31e9c4119682a6efd954df2d5d7e992961f9c5e5c8993541b9f3b68430ed83c4161c3fea6744fd90dcc5768223c05b252666d2abcd5b55026119f40a6afd1052a8726882de31f5f46693027cc929d727d280e18eba8317b9a35426762e1cd0c5dd43340c333e36b4fd440eabc28bc6c9553819f690506f6feabf1271d8f6886818a043afc54ea43f9b52a56bde26f4f3b061863a4e0f5d46a393452a2dff9de98d24787bb6388053d69febdb778eac12b5b7863dfd26f6e596c2451259bed135de6a2c4da705125200c2c912c499c1992e97415bb0cb6d649b025eb33e2e02869949261a1a464129a0d4d054f6f5d8e40cbcdcbb159ecd4ea09a9779b713ae4ba30534df15322371e5f96d8d8c846e2ad89efd41490880462653aaf24c3ca071c13cf089e3ad4c907f6ac33548b2adcd94910d13819afa974580abbffe67af5acd0853b16ad81479878b953d13dc5ba525851e81bf2d80cf610eb83f51df93443554563052e09be0212ba43e797d90a205b971c47014805d500a87c085785c1fcc0a1a1f04561830dbce02b9764f81986a31c8f5f59c181da3f9f3c187d36ec09aacc9aab42183ac6a9103cdb0af4e013bf4719fd908bd500a4459cd1e7a3bffb9a745da0640c6757d42a50a2d24cc2b4cf4efbae7b0d3c704112b74384e7607a56fe5fc1d5b1f097171dd756ea21ef58f5c123c649afefff3d694715dd4ade0e391ced5019d1b83728587311e867c7a14fb892f28301cc675113988f255cd8680b9765fc238f899c694870b224306afee3c0f8b68dbcf77f34f2d0d82e6b7297e26149dc281c8932b651a9f5bd9e8bf6de5f3c7c84931f38a0f169ecd965116300a9872811aaa032e6dfc09dafcb8d9b0d3d0250e860106bd130e62a637fa3f9429df6b66df808c8177044044a3456d0555aa4228a84ab3594a2c871c106d8f4e31e324a8d04e29e15253e1c56c199557fed1d128d67c524f55664298f22586ebd0ac33916d5678bc30d2860b3a9be4746389624701d0640e687a1229ae5cd4f9d8116b9e3447a2c0e229bc7c88e24564bf91fc5658a0e9e79cbf8a7da003447df8edd88a65836b99b8c478584cf89981516b6194ca5983641b5929abb64f9447eb1789032a177c754242b9481dd40a602d1048db66c18ab05c2adf727166ef95185547830b158533ae6a0b191f26d61840f85218cc3de1faf606e03def9db91abde2ebd865eca763a92358c9b382293b667a907e40c728cc9d6153bac2c39f9c354b06bd3e85a679b4b65e7baaa09fdb3ccbf41dc481bbc582046caa21504c6d417e3616c9fce93fd253b26980d9af2067f90f14accb3eaa89fad3de416e2376eaa6c1330cce94491b06101901347d0084f595a53163bb6e29f6acc7fa5c1b4d8aed3f8671ac63c8c3de3fb76debd8ac76604be66ca93ba865b65761ec564e8aca60228907671d445f3a00a3391c17de7154694ba37f381fc7fba69b4ba04d694c9a9468167ef30a585e552a4958cf489b56660281adcab3e5a77bd7fb06af7ea1183021b3ac28cc084e1d2497b5298cdcf3975e264a4381be47c302ba477e6ded3f4e13a96a1a70d97efc335da9911681e5cd5c2e1153c46759b1a726a50cbcba1c9c2b01f37fc077367f2278aa0e00f58131f9582b049b7fc00382f4452af71fdd41c7467d3db4f572feb96ab5c44391d3f042e93933bb44ef41db57d9b1113b97c3772a5a727791fdc6eae855b087767a1a0aba5259632b4ce205a4ac3b58a8209113180173efe7d2bf4c605b834cbaa239198d8ffd16153244a52de9dc30d8a65628c1f2cfa71d065ef4078e4b4bf4b5df88e277099ba361d74286e526195933feceed0cc4f02d1eef700d9d69a333209bf3e0ffbe54b908f26b07c531e887f2179bf13f7074445162f39edafb56aeb0e75c228f2b182cbb2e2deb16707f1a50c7ab7f027ffd82a7ab7a661498594ef5cab581e974f21798445ee81909a58544711dbac1bfd8e4d7812e0d83beebe6d01817e1d5675576a82b8dd3f649b22fd913d580fee2d0c05be266cf6ab9dfb1fe1de6aefe8de64b7a480f9d360e4211947e4f9238d85411e0035b77a7a25743c9496f6044c5089a71d4feb000c4301150d9c55fa2ee81acfbb5d76c885e8fee56ea3eaae3fbc78864cd9ca43edebc503be2e91308be7d63da2f278eb6dfea23eab583c6a795a734127de2167e241dd68404f239ef6ecd9a32ca842be5e09b83d7478dc8e10339f628e30c33aa1284f850dc0b40387bd65f029e3962deb8458f6693ed3e36d116774b0934d8a839cd5c848ab3468c855700fcc15753fde036ca59587ce06ad983fee7ea00290d8bcf588bc36d16bbda17dd7a683376ca36b1964f731d7de0337d88c5793aa1ee645a39419dc77edd58b431b9c37c5254e8ec3890b4f357147ea2872adfb1817a08729f66579c5bd5a7c3110ab573d74ed6da10dee62d03a6d24da3715c71018b03cd69b3bc2b71a5dbb82916ead211ae90cfbdb5a9526774f4bcf2a635a0347bf24f2bbc2a5b796ca4d0b2a85e5c267601460803c14b702efba4ac079ebb4c88a682ed294c5f6a838af8ddc0e69bc9ff3e309eba927dcc4057781a996766b300180e166bf94710af4499e600533261bd576b79cb6bfc0aa6aad94e22fc2b38a93157f65812dadd9b7683fd9fa03b91a1627d9c2fa43839abd5f2f8b2d9e964f5449f025d90906042e82d5ab494cbddca8ddc5fac5cc8c1077e795ec114f16d8fa60326764834f4fe9d290b6cfd8c7490d0be1efd5215c3a04aa436baa5d308eb2a20e6d61cd361230b00023f688f85709ac09b68b010f946cdff8808dc3e89c6f51a2d5f1ba7f5be07d0c346aea786a201880fb78ff180623df6dcce4c132ea436152fc17a7b42b12fbe8a331e01d3fd27aef12b2b79452a624037e0a690ac60a3142dc90636253720c073926e671e813b3e32b92b25227e010c9124313412d9c7152950e85097da6934c30161801b8472e7764bc46c607c8183f1e812ce3471dc9f8ff072f327e3249c6af03041a19ff4be883773ec37c18fac0bc2059925f1e0c7d5e58e17fa14fe8813419cce54d061f041fc732e8432e833fcfc8e09f421f7065f3f7a6d0e7fbd3094a3e9dde0b7d4ef748ccf37a0041f64c30571d0f47ecd387d9724ea6dd2bdb36f037c18e0eaa519e0e0d56c35e273112b271efbd37e6540790cb9b2b603ac0623b34910ac2a557411a1eb9bcc1d1b143088d1c22c821579a08c4c8b5d27418ca95b6c30bb9568cefbdb4d81526b0224144d9a275654550a9c9404b2e6f7072a9e3862eb9aa20d7f7aec8158716d072b822f424d77f097daa0e0e38b2c8254d7983a363070272398f72adc18a0d4d72fd8721d727756c98b41718b97ecf0d4dd47024d707439f4a1b72b203fe00f045be7faab51619793115e048942321c8f73d0d2cb9d240834909b0383a419325debd41c2c80eb8d6ea420a685883c994316e2841ab9a20d75a7fc7d2f2fd7abbc8b5d65a6badf10297281a0d49c0606c4417d6c31e883bdb9aa5a66ad521805cdfc368e4faa82ab9565a08bcc8b50af66acd90e7797816e2703053d000e25e2f58d4f08d9114cef0450da73164e00c2dd0c154c6eda36107af8ca1931036744b35931139dc97772464451823a84bd24104dc6c0c1b442003470b82010f3af820868b0602237a10418c24473199d98882ba37e0993ca3b0e2a4be00dfd9112b536c103895671456ba58819518e8c8330aa41a5e27891897580a415070d2bfc60b5c760eec06e2a4ff98392dd8ec29116e7f90af8c4c9e570acf7b81fcf8dccf9ec2352ba536dde4457bf2ca4efd67a5737209b2424a67470a25c83d666ec749ff21be4af58490eba012723e9c74ff317966bf7b22008bf27ccf0ccc0165e1b429d7d5d4e5e43a0d9d8c9cb5133b1549ca27a13c4fb113519e3ffb2bf58af355e9b2b2c9b02e5f952e94f2c0ca651ae5b276b1454e4179b68744f814e42b98afdc94f395e7fc35384d5d4e2e77d1e01ae7e4ec9c93f339986128e1326b3dc1a74761c11d3ceb4b53eeb3f92a8efc03e06a8eb2c8f1002259675465f33dce125d96c381e33d1c5f71bc7dcfa5fea6eeece8e890a40c97f3956901a6b721125c7644793e2af5b608f73a15675a727272c9d894ab194b0f45339a864c39d39029671a8a19cb9d93ac085c47138e8e261b25f0fc8ee87ba88d38f3371f9b52b93cff0687583acc347697714907efa80e52315c9a720eeb19ca85fc4df03c1c71b66866ac01f3acb06247cb4e3d40c539be44b1befbc9819802d2c1ec92c48cd6eae0815ab4002f2746f2fc89a5fc59fa529e7505218e7398f70e2277d8ede6ab140a29f830932609948cc9f3d3c67a0e5e46591cfc648d390ec416a86a3eea099cf2673d5004789e8307b2f3acf1c789ffcefb0884e739780ec61f9e076aa1b060d61fe0e79f68efb2c963278f9439dfa382afcc9f4e749e87310af54f923a5d91cb166073b734733a10534038f80ebe83f1e78748c760050e2d27e203e03978a0d667046eefe0e77b175fdd501699faf9d488b3543f9f0af9cae667007e3e8df90ac74f01fc7c4ae42bd44f1d3f6b7e3e85e2ac9c9f4f8f7c75e3e7531a650de0a78d9f1efc7caac557343f757e3ebdf96ae6e7d3256711e0a7cccf0f7e7e7515e0e75723bec23fbfbe286b07126719e0e75725ab9fef32ca320db98cc6fc06e36fb0c177d7a8d706e377f33b235fcd271a66e7bf287a261c23334363e3460d0a878df8e38f63997a517c712c6f9efe8f1d733296e7f388e00144d38ec8121b473598198c39c61235ff463c219d66e229493c2939391f87784289a72e4eceaf11bf20f1137272be0df18bd188df8cf8c9c4efc8c9f931e257133f2d4ece3789dfed5b895f8eaae61b40fc965c357f87f8d9a86a7e01c40f8babe67f207e34aa9a4f00f183e2aaf93ae2574455f33d103f25ae9a3f00f18351d5fc1cf133e2aaf93ac4cf4555f305209eb8b86a7e00c4d38daae6abc4931657cd27c5538daae677209e8e5c35df34a493e97bef587c55764594d63cdfa14c9b24b73551caf3fd56e4c546c42b4f1d971ff96ad29a20cd3779a621d3d0ece677325f4199dfcdba235f3912793e6a8a6c284f6b34a72c97a69c2d72727e0a086ccaf5509cd2717906e5f9562cf19492e70340fc99812111e16a1151a5a0d672324b87e5d294e340c431c19f1281bfacb83c7b2c716e28a65c9e3dbf65797e93911202973d038bf2dc80480d108e0b208c8f4b8dcb2b47feda7d49f691a63d7b5a60cf0cfcd34d79a1e08bd6cfcb13f123642d27dff78b48e4260667b49c50202a963f41d9bf6ca1acae92fecc5c1f98b988cc805cd97bb2ffa42c24608d357225cde5307cdab1d0e56fb6bca895e07e9b9dbaad4dc56b0623b6d29d1e3b21f438124f72bf11d38b58e09a51d167a10839b28f5e243a149739adf4b38e43a228f7676bca47094ef611b96c247404527fd45c4c652acedc44fe24740a4ea290d43315a8a8810e326d3e7952399c75a0a79ce6fe36e26293fbdbd64bce6a2a2eda114ab9d26640a2642b510a75e346be721f8cc8a543c9a89ed11142113aeb28d2e9a2c963737fcb264f1293673679e877dfdfb446ea5a63715606a894c9a38d74d052770d4f4c1ef7680ec53682325b5d43ee37755118f8b3e7ca8091e6d144ed413fca6d4e2a897f127bd6505ad6465d74e444dd8d257737526e24664e3751eeff44b0d9c75e9a393be01592e0d0514b55e02f4f9a0c4cccc0a73c6932008103536bf5e9f54e3ba70da7c9b556ffae65746eafb534198ce4704347c47b76529b23cf28a83cc95588098d182e10fa46f60f40f797738aec730af6a721e958e2da6460ff0f53563331227b12380444b05ce2193270e9b93ed39bfe4d268fa250b4a99d332dc0f37bec3ae71c5d4ef6d723787a5445edd32bf4ed47f196aa81edcf065460528a47247059f31c9de0d20bebd287733887fb679da81cacb5d6d29e3cdf8a3636dc6f87dcf9d6f443f880d9d65adb81d15f56540eb8bf5a6bedbde30f9196125ca63adb3c0d90cb39a7e84d707ffdef6c641a2acac4e44e9c650b73c8ad94ce1fde7f903d7fd5529ca701b2fdafdefbf58e605bb1a401973a26d378050628e4f7cdd05a6badb5d6524ab193d5fd075b814bd0da2a0e71d48ad27e6c05ae4fb7e077d29f521fdbe33fea5137df180f71ef01e38e0b2682a2e4683018c993064528971e6d892ef983b10f2442ff7d9ffa9ed7e29c4fed58473ad27176bbaeebac16d8e6497b01c90b3884a0d670f705198cd02a8aece35cd7755dd7a1c056f1877104a33a14c4e8a5b960a3e1af243de942920e1ab7ad578b42795efdaede104beb7b89d3305ce0fea9e566aff676dec9a9bd9d67fa421feaa553ea95369c661dcfee9dc54cff0b2bf52f6ff4576fb6b68a9e4b4a1da4f5bf4bab673a7da058dec8f4bf1338c572ccf4bfaff49f2038c592be7ba6ffbd50ef09da97f1a34fa98f383367fec98c2db6e0820baf7ab5bb768bea75d76eb1c5164a7c4e4fb49a2acee4f1f27492ec3348ebbdfdeec6e2501d3b663d705a87ca13c0ccf15ce264a72379bbdbd93c499224499bc9990343e24c1ed0eb5ebc12d4359474ec8d8820ece4a1ad5a43895cdfff27962bc8c002846d86206af022fb3bacb5b6d708faa05ab13150aa2128066680201603358ee02dcb994531a58c2786981df5aca354a801cea2b0d2b4466ada9c5254c3528b6d60ab22055663559cb885af2a4f84a0ca6c8c242d9d4484030949090e09c9091b12951852959c4da96db6c83645899a1345b7a52cb8ec9b51cc8cca1944ee2f2940179533baa07286ab71cd650b5c360ec6bd74278c3ad75db8c065e7662fb427644556c4684f80417be288abc8165cba4bc93493a2c586c4579b1d5199493922c88816fcd5fe54f5553dca7d2329e5f228a080e231779fa5206bc92dcbfd957a4c493b2c0a285ed9533eba8dec42fe6a40109fd7b71f43673bb79d7bfdb6dfeed6fbdad9eb8d31d06e59f76abffe6d2773fa3889582077bbe57377775b7d7cf255ef3a6b3791765fe29bfe4d9cd216b98c0b2e2b2c534a5d7e83065c529758852e75bdd7297030bdc40c0b122f6aea4e94e9d32532fd76225fdda80368eb8ef4e62aaa28f82080bf6fe659bf89539a5eb93dcc63d2b12aa12c8c42fdce8eabc89a4cb4da748e2287728257ee0b43cadd6d7a7aeb75c57c35e4ab92e63292f22ac9dd6de432182e9a6d1adfdbe909e17ddc914daf6332994a9a4d4fe3ac4bf34ca66f938fa94271d6a51555225f113179fa2b93c9c3e46a0f8674e0dcecdc9cc74caee6e144edc169f4eccdf4d4e4caedaa30aa226a1e5509ae278f793ecaa62fbda81b7212d61971950eaf6f0ef7a881ae30cac278bc30aa328d9fa91b22825526d52362e6f48b80ca3ed621231368c9e5cd79375fa560be4d6259bf735196bd51d550d9c5feaad17dff4d63f2b842ed41175fe5268fe30ba32aa1e6718fda83fe9bbd5d6f6ff4de7a376f09d6638982924d63d9115d9ac96472f1259bde45939bdcfd9a9e5efaf75e98e9fbef51f3b85c9a5e586e3a76434ee6664e979b6b1e378de9417fab3173bc5f4605b87e6972e1729b5ca622a6200fe72b2ebed280f743bcfc7dbfd705e9387d24796b4e22cd1c2c37e96a11af95e941bf8b978a99d39766d303fe5cde5ceefea9637ac1380e2b5ffdc983cad35e77ebd6521759d060e6646d2862cb284dcaf54b93d798ecfdf4463a6bdad6c55811eb94d67c55d2a59ce4abf2977c959a9562a15a94c825556ab03d3aa3ac1ad44733a7fe6704762aab242ad311859953213055f56b49b7c87526b9774d43aa36b9d69f559a098e72fd20a5d2da5e15c6453362a27637a861f5891e6a52aef5fd6bfd99244c9249740c333973fa717c45290e3cf2c9fcfcefcb1fcc14bf2c233a09ffb32e9eb208e0e38f11c320a1f8bd8f1966c4e19fc421361cdbe49f1a218ff403c51228262626c6c5324859338e3961f17b9897f183f6e0fb502c77e4ef7b28287aff899de9a78e6c1aedf7f750ef5ac749913ecf594e4c3f6d72bdf6b3f61359e8d7e9eef8a14b6250abb5421d446aa2acd10a1ffcef4fe2773a9d400fdc11c19174b2d7f842d149f75d8293edc3c9530d0c70396925fcf84e7f3a7d08b65c33e0a3a8564239b198404338d1d087fec9ab531fd97b502c7732f8df49fcd37f27b1ccc9a7ff1af45295fb2b03904fdf374eaff3ace3abee1671e2f57be426bf6ff4bc23fc3d4e91914c4992a613a44bee57c159ded29193c8e50eef09de21835146a37641fa9dc41b2af0e9679eb4228cb2e7926cda0abe2aa79622847cf8eaf4ed43ee2f694ea2f704cf70849348fff43dfe29f86974a2941f9505d9bf022555e8d084ea22a1ba3e7be2a43d29ca9db8c21555b044a8e0e40aa0135c5db973396d30657c13a7b4f37b82677715e7c7c0a80b8b5c2670faeae57b01715c9a8220085ef0a7c882062b305b180f0694097d5c8993f48b8c703a762ca963a7c70f0bae4274984ca67c3af588791ccefccc58954019cc179884766525a70fc6107ecdc780ffc6cbe3f818621e05f3361f83ccdbe8e9b71153f66d9ee65162aac321a6ba990782e367befb19d4a7c69f9947fd0fcde378a0960d31e5009ba7f9941d81d83c4d0a888d9f791b3ff337520fd4aaa9b9f1f66fdcf8d4f893b28fa22afa40ad1bff93b2a30680a4fe86e66fc69f9f9bbf195340ad9a076ad18c4055fcbec5f2332802b5805ab12137dfb10ef1804f6e1abdacb1532833844b2fca370c4e67c17c55fa62c0fbd5a77bda5247b62dda9f3d6044570a4588c93dba0d09ec322749251db91b97aad2bde56ac354e0d26736dc01d72fdd66b3d97672752cee330721e8fdc85933beeaa7f6c72534635512abc9d6032e1db7c30b7d9a9a90e0598b28cb6f54451f7ba86a43511b65791ec628d4bfdba8ea08fe5c475b8f7a77ba90043be4240d817ef531058e9181be870ba89ffae124fdce409ca434852964c41811a3742c063af9cd0bdf9c93260ddc4fbf260d7777afd59bee2e4eaaaa94526afa61cefe0d664e7fa61e154b3bd36beff549daaf5d6d689c6d9c2afb3001c8f60306bc8832a1cd28814cff3b65fb2d73814cbfab2552adcdda6cb8f219c9868890c45e42b3852e427041948024f940eaa1b30367dee439e996afbb6c6b6dd3adb52dbd9db597567052969def4830aa0bc56e61519c95000d781163421ce204723f7d50ec5931901b67fbb505047e4f3c903e17f608a6acee56ea6d6b07e4f95503d55d7b675744932255e02e4f1a13185081bd3c694c5a902f932ff2bdf7de7bef92ab269733bab86a66db9500c7e44963624517f8254f1a139a0e0dd57b5f752f338ab917668627b6e4c6dd503aa322a22118ec72b986dca2a156d2485e62828e92f4502294e7f72b9451422507213b0d6b235d049c499aa28b1d3349536c69235da45d2d7c369a642142c746932c4dda95e322e4542304972274d408c1e50997a55b10138903c90b246e362d40bc4aeb8dac8c2eb474cd47f7b676d4e3e250c161889bdc3d56d263c706204b132b84a00290a549961d1d1d3895768fbbc75ee8c0f97c73e99c6190ce2c4db2100176b7af3843ebf998d98e3824617663cd33435fe732a94349fab45b1e657914a368b2e7ab6e9176777777f78b119e2d1afafcb0ff7920e82cd055fdb3f4daf33046a1fe89c095daf1eef03da05d36055f3d47559c9348ca06c8538a24623bd5f31e7bdd2b7f30f3d26e4d8b6de896cb7bb96cf0e5cd7546b074e98a64f7db97ce85060961462ee94b283b85cd7c499514c994604ab3f125c592fda98dde9224e592e2ca5ae4055372432e6bac2ac9fe5f5623af342548b9acb58a25bbcd973529fb575ccd39c9a52d72f3a50dcaf1a515b2432488412e6dd14c2ead51065f5a99065fdaa3ec6f6b36c9895c5a9b55cafe5fda5bf62f2d97ec7f5d37082997f725347e79619728fbdfa22b1b4a412eefec1ee5289221249a44bb0411c9b2572df56624bb85592896b664731749f656799564ffb9c375537920c2ed5d62a3f3fa043d68a919223a358d875c76adb1749296ecade44870302f0ecbfe1ef3a1d81134b974a3ec5fbaac7428d87f964e1b81e7d295b2ff9c2b9c37f80d429f0dea4eb933c2c083953cbe18fa8c5814b1885fc5255a64517cd49231b2b8e4862cfe873ee2b72bff6b10fabc062460226bf019843e1af0a8ae9cc1e7087d3200738e1c5f730c61829c830446720e255be41c7f13fae440b9f2cda7429f9b94122172ea6d429f94cde3087d6c708091713c2af4c191e3c8104231570b85fa9ad00785936b8c72cddf087d6a6edc781ba1cf0d6c23c90bd9c6d3843e3668de9bacd087a6cefc148228cfbc4ce833e3d52cf331a18f8c1773450c1531318fc3c83141389103b8289733e7fe335fdc8f8a0fa933d75a6b2592ad774febbbb5d4ffbeb882987b33bbd71bb5749640fe9d7e8e738a436abe6f2db635789ee7616b77e42a24f481cefc4068b625b2e2340981fbddf34c9ee711c9b39b779ced8177eb9c9eb52c7479e62b769456cf859e36182c539adb60308a03855118ee0a14b4d8482558ae22680497f3e6611b2671517a52a14c8f74a8d00754880ad52e3553a1596f68700a7079e3f57530cd0755acb1e9e170f9ff44dfb7e8dfd3c5992b5013b16f86fdde37ffea7c6f7a439f69adf7fc0ad4dddd230b5d9eb9b375f5cf8c83722bb04f2421a84c1fcbcc3755046fc0e54cead1c32f2bc025e9ee513eef0b600317b4d615258498b53e075da452c04006ace54966315beb67b4a2046bb48880904312b2699cf192a24544a787dc095a386e80ba83134c845af404434a9208b53e8f054658a1438b883f81e1059c5dfce008346cadef64c1802287295a4474902091a085f3812efe7cb0021948d02232adb8c0c50f9e0ce16a7d21e8e2074648816b7d2fa08b1f0ce1c2acf5c1802ef6cc1546aef561d0c579d4822a70ad2f067491fe004414b5d62703baf8436b56aca8d122120e21c59519d0458ac3132e0cb53e1ad0c59f5b048c1fd66811d1f1618886567503f47f3640176f50e9810b19adef06e82255419117825a5fcd0d1b3433323118e62504bf93c9f3bceeda1a1b0fc2fd006b11e9a6de9ffebbefe27d4f34994cb5d66be749ac1e8daf3cea8965ebe4eefbeec5bb2784e078c237963a99669abca260768258d6c97366025c86c14c9c39ffa3a21786a76f5bf378f9d387611bbd8c65df9084538609df860b80f9ef70e6f07ef835f4094f228ef84e5afbd45afb3dee52707dfa6e5fc7fece6c85338739fc30bce50e06664c91e00ff30bf08709c512e7f05f5e1ee67bf04504ca61cd5f676412bd713a693fb74ad89470399326cd47093fbe29b0ccc73cfdaf6f7da3b2e59527152e6019017952b16191ff1b043f0cc3ff2ac6638a04faf817401fd79fec30225076f124f6d0509c4e7e2378d973d2a9cad2b18ddad65b762cee9b3834d7e45cececf4e8f1957da7fe327a0ed4a2273aa61cf0f2f28ddf08e407a8750a450a3a6bb6ea89c228a53057cae590a734f4a138b407f5ad08ce8967cd22f9a6afa600be4959b4b6ea6c7dbb085feb8ab385ec5f7d68f5958f75dcc057812134fb98a2e308fe1ca0b90293e29457ec9cbba8ca67c41fb04b1ab41691182b66c41fcbc42dd722a243c50b505a4eb0c5e202598b88ce0e568801c616b316119da1a4343c7cc0f5dad7b3d65a6b83d45a4d275bbbab676db7dab3ced9b65fb661af5891b536e8f58225555c112d28268bd56475e649d967d9bdfd3523fe509b19492d22554b6bba014a30f7697a2f938bcb56a362e719f61724221c11721d11140210c4408a4ef2c59418b4d4604250c1d125664414579218c20c1a10135190014b82090a7220238a23a6942448825852c2e652634a0e2896d478c1ca08684b501c9141951ad0f8814b1a45431c1540167446103764e9c1e889d006a1326a673c11822f9c306213aa0285134510b9142374ba79bb3a95e688d2132e2e906521cac16714f648f45316e0f91f145f1d8add6a1ed884d72d4367b4566b25706df25c99d3d4388cd2a9b6de607eeb0534ac611da36d34a3aa86358cca7abc32791da10475d3040ac7048a65d2644639e900d9caf495e958d83a9392fb29155af3dae449a1a4605486c9fd54367940bf512ab3a952a65772d3a48cbf12c872add58c5c262cde137ca3acae519477c7d2c3ddb7b0c65156c39c60b02e1614449f8e252de2b74f099a040c95c960814bbf953159e077cce4a1335ac459140b3852293b76e8d0818343635406d3df5456025c52ca00285c568a90923bcb6881bf56e2a64492053d466330b97e6c0959b64b0c7968020935fbf4a62fe54ffe3690e9c728cb61322de2aaee6f24b95f2877c35030b97499d7664ebf124868cc6b4a18a131672297cee54a6df2509c8cba3e25b05f99aa6eb74591fb291dbde6e5495b024ba6a5d76678426d81e30f9116f83d4e459a4c6594058eee7918a3504ffa2d7440d7fa46bf515516b8f4db09b89c40e96bf0860adc491ce59a29ed36694918e5f616a548de13dca10994d24e460bec853e9326a67ecd5446597ebb053939f3d72531b21565728723cc2fed9c13e9c92d9b30df8e7392f529ce49285e79d264afdc396cc014613e1d5bc8c9fe9853b7b5ce5b2c862e95d6a278edd7cca1329bfb29143a9b4b5cf4c808bf512cd44697aead375c6a7a3b971d3aa109f535797672f7a0324acb4d653f343e6024b1567f105fe5e4fe15906426ad722ed5dac9072082fbbaafc9436fde0c6553f337461b332e0593586be6e6815a193c50eb1fa8e59fc271e3655e66fca1f91b630a888ccc03b5723c504b83076a01b5e6bf18babc0c441418281d91740225ee50957f4aec8901973b792996c221a2c4d992f9a146a4b96a2becbe3c598cacf3ee92dc66bbb7af527a8b196fd76f34a88b657f93774314966357d6d9bab1ec82baa48b2bea6831ca9abe9a1daeab75329bdf575237cbdec16e2efb929aeff1931b71d206ec2f274937fd8986ef6bf2743d79c04f01854f86ad0adf3706b1d11b5da238192e3dc883288b82a2bb668eff8b117c63e5109b97d80781e61de641b73e8d98b2a161851b8d4895b8ca69ec860eb8f46c1f34c2f4331d87d00ce076c2b02dd9e8929336495a9839d3c882fd0578b6a38d09e89f8a5017485db91c0e77bb519b6d36a3d16a4939f643e40eb5e54f2c3b96e95bb17ccfc3b887d66f2c89d8b2908e65af14d2b1dcd58c74c9477aeb6c130452ae4682aac06011b64f97c076f42248d824da18a9422f7aab184b5188a174b3b8db264697db12094560485c49ac0aec02dc35e26c7d4ab3188cc8a0c88e6633136e88b35f5cdc5a9f922f099ee102688fd35b7d0b1b528cc8eddf4a69913ce4455c8953a23c64fd46591ee4e1a32360a8b53e25d83f47f6a09973040e4718c00839b97c000939f9fe0d71b63e0ade20a16bf65cc792c8174a3314b5682ad05f9f4bcdefcb5736fb5f2198af6c6648ce9a59d42e125f4d5a1117bddd577965f7c8bed7dd18c5d97241748976c90e85deb2bf0d1116e97e795f776c5aaa6b4e62414d195f5a3aa94da8d93679ac7d3bb6cd5bc949fffb6adb8d655f72d25f4efabb8b84a723f864466c19b17369e0fe2f877b863d00525a20944bdc0223ac6e75f7d2eb460e787e08039eef2961981c9e36469280601a7866f14d9ccf963505e47402f23d506b8231d3493ba64498b42845a913e8f7f4672b75823ff8e0f881d3fbff570ef17c9fce6f827edf7e87de38024eb61b64fb1b645b01d3dbf7fe8adedbafc0fd498b52943b71837cc54983a2246760034c81aefb13b8c6e185a392861a36337a98d50afe70d445abf23161c4033d5c44a37204145a300d18b8c4a72a2f6041ae888d1915e01295c488cfa24852248910af24490891f43863e0f2bd48ca0beccc0923a40e2c7049faab46e5c9c551a9a2b3830c5cead098431983e2a2b8767adc70b9f3528b4da9854553b6f484f0052ee7ec255684149bc5e0a304255c4e5a4d4ce9e8891f406ab89c351a246655a0904218b89c491d15d71a61045161daac0d0a12d8a088b282103170396fb50889ca181918e2052e270e00b5167e722fb62840c4a21ce12ab2025cb62b8687dc9620231d647a559162022694bc845280cb7e4521c50b536e8021d102970dbb81ab2fe821e4f2444cc9122e3b3644d4432fc062c355e5054855d628aa92c6acca0b624546651725d9bca4805293621686144b1c490125890c4a19d306b18b37974c635a09a7c78e1e3b94d5f9983850ddb5d5c63da0ea24d8f07d324a703f9d73d2868961428609ef89c337bf4aabbbb5f7bebdf73d53fb65b5968ee5907c472160154b53a6ded42f09738d355c9489827b26cfe94da798994e323367c60227f134553e559603d56905a9f75dc122b8c4b96b91deafb482b95e1fab488b28111da2d3b6c534d50ed1a1a1d76b89a1ecd6d6d9d7e51651c7ce9a3cedb9c79899532f609aaaa63f55b503997e5b4b9b3a2d82bd690ca3288c228982bb524a5d1dd22e300a8351988b16c940a1b04aab37bd459ecb233d94d7350c177293fd3a2d06131dd3b5bbcbe8ee9eb92e62503176de911427c86ac3a022dba51cb25dc292ad183a8451038924d69ac223d3f7ce60411260c83265b59165a271252bcdfbfef6706d30624da0c0f8589efade4d8c5c6f42e4faa9d0a7e20c826e7819cd6464bc9c8b2658bee9610fc436a6a41b0f5f48c9f571843e151f31c543d509c511ceca0b23f93eca8b2bf9fe7f21827c7faec08a7cbf26f4b964c5524413a75a6bad376c2e411a9c7cef7b55e4fbb88ba47c1fa5d424dfff15b8b674c9f76d9013064e9a98699a29f7860ba52d4df2e502887c7f26f4b97f3bc0440f486481c5920ba0b01149b9f7de1f401bcc9694ebcbd88c71b7a822dfafd7abb5d6a121c05a6badb8d2dc70307938d1e5721e69900551162cd0a28916546c11822d90f2fd99c5917c1f86a643d4054c0b50b9fecbbdf73eb922847befbdb586a14ff5554db65a64fb60e863bf78b202d4f4b007629e4ea26991c173953d727dece1d6d3dce080904b1d5048b9132969368031d2508286458e9682282fd054e03df1e1eb9288c8f52f1092212442c892a8c28c2dbec5114b7cd6c3012169062ab962d2036a90d12486a2244660d102891a3e1275c59354aedebdf73209e274efbdd746ae3c6ce9d818c66d422856850eb9061ccd0a3060477054353dda152ec06ca051150af7a291c1432ef1775b3aaf5360993c6964cc5004bec9933646183ee0993c696324f918a3461b0386995cf3a489b1462e5fe7861b6860ef6edbd65afb8d72f0061ad873f937d0c09dcb6ff7664ea547b824593603049089f9fae5bcbd5498d0e47d7df9ca7f05ab26af3dcf0e634472e65421aeaaaf9af5a7adce90ebc4225757aef3caa492bffe0172fdaeaee064cd0eb87e9579f5ab507da188aa921c92999f195d6dd44a9d20f3811476b2b62cc6216bcd164c6138f5c54d5aeaa796e0166a7a5435ebcf167d9f54357b2c676d67092b5cb9ba04e67b9c56545444bf17fb3b7650ae5a44590d821b643ce4fe1a04ad48566941454175ac75f43cf12b58c36a3f0687a0d7998490b9fbced67b61c6367255c3dcb18b6c100d06ff85d4014714fdf0670bfc121544c27a04f580a20faa9a01f9210641c1c9a02458d0ad76ba65c1e549cb9396652877469019b7fbd78c5c16589e64e449c3c204367d85a22ca3d68451d60a9e0834f7eb89ebc302b6f0e4d6044aa6230dc63da3ac0e2237ed59d392605774edc643a1aec9e4799ff7f53b853e26ef3b9378bdaedebff7efbd7dd4332fdb3821ea02c72990efc19d9e6f24a94e97e03e5aa71f28943da4022cc877c6ed026d948520a0c82c2fe97e8627b451ab1b7fba953ae103de77ad4b45041499651a02e9de43fde8b9f7b3d5b9bbcf6ca12a6b7f54af21b8b936b001175766ad3942ff921410987ea013ecdff103293ba680fcb451cb3e50cb764381dcb7e34f6ac90e7d92aadc2666abef3e7e5095e352b0a1905461f44505976dbbe16cb75bd06d089e54b670c9dd774fdf834ea057c75941489d00a696bc7cb77eba753a624a76d0c3222a86715ee9e6640d970e83c9ea2bb9dfd398ab4eca8d65b23c376b6e38a7e42bef936cd8836c250e9328abb998aa7e30cac8fd340d4f6a1b9d39fd998ea5df74d08ecc7ea2f5bd7faabaa6efa13d6e85907408b56e3bd7e2aab676f4242736baa36ec99e4459e0d3b16c5c0fdf097d7ef8a0aa8ecd1a677137aaea67c19253aba3b4d65a695cac4f69b2870fa0ad6f6c5b10b8f4a4262078c189ecbd2769a193a47f4721342721ae1a57681b0a490fa8adb6dd803fcf9c0a5bb0c96996b092862bcf17e46925078319414330fe273412add409f603f7ed1802b17fc79fd412d4e85155b7516bb6524beecf562f91cb49e61daa6a0f61ceb167f643b489611f3d47b920fb27e999be905ca661a6b4663669355c0c19bcf2432e1b49d7f6d084a6b50220d8c7801d0980427546b85aa547042ee72c08cb5fa8209c6b8bce59674a43810b40ad96f748a304d70614b9db8fdc09c04ea380b4a2f77a75bf13a4075b54a5ddb84355deb241052efb45beecabbefaf5229d7641312943562cbc6aa5b0989421ef139e773d7cc21d0c70488f7c14ded1a1aaee3029437a342af0bcf95f921deb20bab15f9de4beb0e94504be4f5f079b66363270c1e1c48c814b9d3927ca751c07174c5f6707cae608fc34ee4e53cbe29fcb3e96436c46e9f86aba92db2ccdbdb0344bcb36e7364bb3b4eec9379b87370f2f97433adff7cfb356ffef3bf9ff42660d4f1eef685dad9ba2ab75b5ecb93a5a57eb6a29f8a6db2c65181f6275ea3637ff5aefa5f7bbb75efb514bad03a562d4a6623955cb3d4e459b5be853bf067440f4f3da93be24d9afa27dafeee2f4d80ceb5b31657f479e4ab93da0eea17fb5b5fb1eefc0214eef6b87937747ad7587df1deeb6277dc9def7021d9b1decdce890e54c9ab5499bb386f5ab5db99b5b7d164c5e100a4c0fe88f2ebefe81052e3bc8a3cd74f478df94e2d0f9fada7a6d8d8156cba18113746de540f3a84fbf8576fde89d598f38b6db20c1510ea96624a3b4594ff34001bbaa73a2b707dd41dd4148e0b283da2868e6abfa2094a05ac359bc9d134d166fc76b5fa364b1264fcf9c7e921ea9b4d2cc2ace0d0d485672aa3c94001ce559940d24281d9df912f4b2b6274547cf46163e82a0689e2bc88611eee3f344d3eb74d79a468faa688bc60b5c4e5a0bb43e6d57776dbf5c49295cd2056e145561aa12bbd575a1c237711ab43eb35783047bf67f1c1d3a62145cb6cbe5cf4510188d6a0277909781fb3be65bbe8993a20ffe57e79c73ce394da6efdafbbcceebbcceeb6872d77d8b2c508c6517e5a3841fbe3afda4698105eb98378403eeeed238b1b938e9434e12759193de82bf2fc594605a5e34860aee2f7bc86d1d0e1e6c41c60f68b0e065051159ecd03142ed071fb4b0c574c8a205a98914585811a28a14577091830a9eb26acb4a0c4db352446708a42e44fd484b6d7f678b2527cfad728302fbd88c6c1f8514255bfbb52884aba30a094c3bd0aabc6e785fe09b64f21c60e6b807b6841f2d1401e2ee75a7877be03a2b10a813fa3d76eccf5ce9a45d54f599447b5b27cfbda18f0aee7eddbdf67857067e13e66ac77d943079e8571eb3f6010f782f43b7bcafe34fb79cf8d70f72eb7192c75c29c0470933a7be024c9864fd4ac706e2850c0c44f6950562f29c26dd993915851482f80a0c2a404d8539b918b13e2b61f2cc59a50852ae1f82af40c8d5c70a9440c511668e0f1912e0d474f2feb48955a7e92aea0685e34e3a596bedaa73a2e1a3efaf6ec0ccf16f3adddd9dcea6c27ff86ad2a47021d7f429b7c842833facb5fe4232d0b056e2ac02d48674507624b6f6c39fd2a850d9d9e1a43f8e8e07a23c10a5e3a4efb0d0d933cd1cff6e0c5cce9be7dd280af3fde7073c705f866eddf75a241027a911e853147e805af7515465130ba653a8f4ec35963d2d11aa1900000024003315002020100a87c462a14824109549ed0314000d79944e705a170aa45914c4304a19630c208400400001434666688a13dab9a48e19576a26ce6b9bdb85466fd71968caea10ba05cac1cdd787540765ff921586ef77492de6be6ca1367c7de2f8e58250e996494680efddf28765d1c31cce55b4377cb12d0d028df5b623e573b98dd3acb36124d171bbf0376eb37ecfbe26f87d61ad8fbd13db28f943fe0a946436ef00434464344c431aba11bf9539868e3d461d9cae1e6d3405ce2bca632928f132e757cab6e2e72183363dc2c30266512b6afb764d2264c355cdf0c21eee11229c876409621f9635a2d12b2f67a6e0e0ab0f308bbe5207a0ccb79ea36ee340d7c02c1a164705f7a0702928c21547e7f22b6e65a7d76cdf52c1ae8fcce95d6fe1bd77734d3bd97017f5e7772cf4f12d7637892b44dd45cfcf98b16cb78f58112faddf61a820c3f35c9ca4ff437535c6901162d0ff49a9c3466bdc4e2ca1ddcb105e9758cfd44bbf55902566bdc0bdec37b0223680cd85ea0cb4e4c6ba00c9f3071cefe191c55ecf248c657fef8a5d78ed652e8c764df13e7376eb62726709aa419be32d2f24597e3597145dfa351e8b4b6fe5c6a4bec5fec8165053104ee4f6a318e5775f77f3b26acb23a247faa633bde514d5b5aa3a0eb44ee56b45194a4d88f83f5ba8f7a327abde712e8cd6fdda6345bd5a493af938b0dde485cdcb50e643b66495c4caa5d19b0df0b16e64e45655ea3c7854759e25b2edc5466b5c739c7dece622ddcb6b82bdc520a63f54d0745faad03096901b5b10d4f46adc09f45c043742b87141780bee58ed542c37e3059f64e20a247c5cb5b2f92f8251df4f30238b550669082510b1e7586537eab66d18b105da9a7ab532a3dda511c05a195eb9e3096f7174bdf6c5fe7d22665681cfac09725f0ce4039c053325ff985e5bd0b2576f8356d0baa19415d100d1aacddb367c52dae346039a3abdcaa1c0fc6e731248461124fa74f832cbf2784fb71c49bd05ca4d1887094b8e48211cf74a371eb6fbe31907639d276fd611da78be5519a5d037ba9ad397ac4d3df936997f3373b51703840b51d10689d5e0ebd67798dd5bbbdb8f28c5e01a92b0bc2a5925e9a0670f37497f64e082229fd1add5ab53d4353220354f2e7f0f1ce191c7c7a8d6392e3e56cc06a5cf620a23563243fb702a24e5817b86c0711c7ee9fd4d5df343265a38dd9df4b898f5a482a90905d8cabfb696c99c1e14f727f92fa6984342fa6738c6a0a5c3490e219cab6bfb9d2120408c0e518e7dee2a4e13a58bd702268885548b041f5b8e0549fe4ca53a5ea9379dcccdc727c3060e2cc7f17ac1eb08f1082dd3abe31f870200bc03b6d5af52a5ffee848761157a33d69e02cc43ef926e0d4293f8dc74948ecbd3e9732e09c94f6f342c2ba19a77843dd0711f7fcfe3770f2558b03a927d6b86fb8572a72940e7a70b33d2cdc351bd7262b7157a308aa488427aaeb50d2e3cc9a870128813471728ca0da874b4a41132815f52289f735fd8befcfd465efd6e4d8cf3298326345583dc0ce8eb6bc9ebf90d8111fa172f68d54620d2c73b64a14492d395f66cf4f80eeb6ecbc827d51ccf68f0525b8aac54a326e4c4d258721b187d219780e1dabd49eaf37681005f5868c9ca8ca0175aecb7d6435f7a4be5ca482dd974b8cb85a2450335b22600f4f5758b780eedfcc96ed1ee249d72503c13fcb7ee2eb7624319dec3a8cd9ace499b111997b64e4db3f8fb3e33cb75e22baa126777fc3498b48141c75146410d44d72f6c854f4497abf214f4c9f1af86a698828bff29ea271a1584545347bd9918e2b6012ece31c86b28ee2ecec895837cc1770c98735b4b08342e829d116cba398eae083594210394de88083dbc8577d42699d43bb4e7cb52b12bbd54ebc081dfe8d6a2646dd058a06e872f9efc1199a03dda87355db30f2e5e2e22a7a5ad85bcb50a53aee9778152334db98bc1105fa87d53c9faa3e68ce002af4f4e692d7769fe6b1ee9dacb40b1e1eac0ab0d5bd39b560f85c7c90d6a86fdf8aba4759d70bc36c358b4132b796885496517b97d885ac80e24659ac2fdb2fcbb1857f9c33760ca9dc78083290f0fa92856b242225caff470e1e28237d0c96af182038668e3e131439c8c86cb65318eca6cb471142673f90c8d957c6c145a316b4cd0022d50a21ec2f9aad2eb92ee8fbb569a58e11b698d8006979617438de5a298304ce65ee517b74ab3dd720478f133d8f20ce9e9b87e93ade588f695e46a244467bba703ef2e7deaea1b60de874cb7626bcc045e8a9e577ecaf46ea09cfcf02477d545b6cabcf45652918315ef4390e680aba681d9b5d9e18016ababab6bfbc8aaa0684ddcc34480e0ad32c533999e0fbb6eea9490a766c89303cbecf41452f5edec0f90504740ffc661bd927690ac6c31d58357fee6781f8554ac2f1e0c9a3cd846dbdfd89899ae832d943de0dad8a5bbc3b662fdade9ea95a0d60cedaabad6cf0be546263a9446563057d65f0fe90f9cf2e70ef02afac011a393226b142cb527c5157e707abd04ef64a7c5034b72206c29708e3b6a72f24458a2777406b81a5ee2ed4ef82996e68a352c616a134093fc0e174c66d553b40d5c88cb073528de8606de6d103a30a18c0e254a1de3ec15aa913851989e185a9f6c5790348fedf0909f1981000d7c481f64c31d0fa368f9867c2e6f76092b4660695fbee4a433c304392abf0c15def14db390848040a2c443f8284dbda87114ef7d631f26b7b9379c4e56f8675e4d91d2f51155e3e2885fa1329d3368b83c88e8c61135f5441a345e16acf1f6c0f9694871a5f1bbc7cf4ab6d54ba1a48ec8838587a9fd7eaa83e2722a3df70f8a606df4d85c4c6f8c2065bc0b112925899cfce82a2020b86f33e8089ef151853594f50f4e927f869eead2b19f1ca5f31d1d4b3395e09609ab0cdd21caf7e5ba7a675329c52c5298eb1b6bac3f71b7f4a9b6f1276f5b9f138e0bed3bb0a8d3c15eba8bd366f2fc643af17fb822670ac01ac18fa5847887772f4cc432784c8d50620e0e3ee8d891c642b9171ade008f980b44b3f7e32ac00f70fbcaec0cb5c9bdaf4d44d4630f103d3dc0c08d616b3feb74b2622fcb046db14f012b3ebfa2ecd7bf29f76348b425d5fdaa1f2f9566d2e5c07251d1a8a609535c917691b2d047be72e0a2a2f6be452f7a3dc1b604c5d5d086ad4cd64ebd0783cbe65d0c7a1e8a1591f59576f4bc92008333cb28f2dee5063a1f2ac33633dd38142a514009ecf7bd41190dc23d69f69b94fe8a681bf38698d93ac68637b93500de0b71558d793ae4981de9f846631e315a7f422e0a4928ff8a05ea405c06fc6b08f3854299a15bfa110df8bb422cc7a637e86783a107dcc6a6c6c70ea5c65bd18c6843b88396e90f8f78c9ae8e1085122647bd241edbeb8e498faa26ad09ab24f561c171aac0ce2473201fd1f9e9e763684bb0688f12ed58b9758cc457153f1c8103b58b85280809253b0c093f69151534ec40b2d761a59dc6b2e4f639994aef149e0c88e67567e92916816eac4991dc0091dcce6171b674fa6dbf953ca2c5941fa550921e7aceb26348f47c1300a86f13cc8260155f7a7d6c2ea5b90a48267bfe690660826ea5ff5e1a336ae65a4adecf0678b748f63828becb8cc7ca775cc643d04f910e27b110200fde5a307c2824a5e93082eeee9eab002e908d1be2fbc9afdf9256ea612454965885590170b503077af1b30da94ab6c23acb81c3fa2711987d2fd0cad4ff773221586b7a3cf2361d29e3326a65c6b30917f03670c7230290d01bdbbbab5ed458e65e45826569a4bed78dd37eb5d7384fcec4938530a15d9791ca47b402e4835c23e62c2c7ebd10e2d91dc86d93629be213e83785064a71fd294fb3c3fd2b0b73c3aecb2167e823226f42c8ea0c38ef4a1bc4abef85b4a28e1e7b959cf4d4e67485f301bef45786293813a80120dbc25480e7a8860961e6a44a10893de1033833a87c2a1f213909dd1be926502c583038838cd4a6ec515360dc14de82cb04507200569c1b1fed2921793becd008dcf8b29023e8b8d47a9ef83a7d900458f9c1758f30d27e3b98d51a952c3dceec4826243e894c6825a2c899a596ac258729a8f404e179f77747417297bf42ddd40c52b8d520ceff025c664000d82140a82662c024f7e49941185a485796decefbdb0304addbdfc1e048068c79f59c902a2de20c6038bb97b734a42f7956018b18bf900fc86ef0217421e75711841dbcf981c4764f0847108395406bf78366314075130ee714c104728f942e506a5bce1b41992d0c2299e5540207b0cb3bc5b006a07e5ad13decb2e1deb0e72d596245a241c54419d4f34660bb84a9e8f08ff5aeacda15cb8ece6909df5f0606e5802e5fd1b370d4b7b04e722d1e5d0e1e5e4e384efdbc040f6cdcc24004aa057d445600f6a699e87e5c8db2414392174c69dda534bfa38769eb8aba81f7082f3753ff1de17880805e170e9aeba048d8162c9e3f0121a9202685fa7c7809ed827055dc9c6c7e200c164f07ba50c0322eca7b824d67f3813f11a1955a5d3e9d107e6bff4bfd1844ca4b7c2929d6b626341b46f2cc8ef8f21cbaf63f42c52b75f46f0fa0650652285946a51e64b71a69a8daae4482cda5863be7338cda8263a9762bd5e04bb8bc13c38314ae7981b532e8b46061a207b0f7f4b9665847478327adf24fffbfd5997cdaf3e1f7eac79dfd28d122690aa6df36b5064579b962098eaff62c5522a86a25c22add76573ddc9581e17b218c5a97bb486786f11d4612597c102742b6450a224711a1f8b2a5caa8bcee1990e8ca07c11adacc362dccefec342086a669d2b12fdf502a810af65e27eec51aceeba445338dd6bd77baefa43a017244df36e06376a9afe2bc83943aef6a8056cacdd5c103686b438769c1a84e8162fa314c18de9a065c1bdfb35032077fa5d6c71c084e72acbf62f1e00979ddfc7a873fea1d36c63e896b5fe60e44de7e679dd09fa941ac304ea388829aea18f4e7d41b495cf7fb2c990cbf39001133fa136c737de0f9cd73b224e1d01029551c770943a790d209c8ff54c1b581ec88959542e9ae7ef3664268755dc69126ccd0c1726f90d513752c66e91b8939b042028f6fc12225336284e72110e45e1ef9a6bab013780ce4f011f70e1c9a3661506ad0c40d84670fe6db4bccb1f4324b8c89e62da2b6cba05bea11814d37ca44e1bfd24b829db12b04cf489bbe5703d44c88294756e84d3b56122fd8aacf87972ad5eaf8063968171b1c640e4999fd2fc5b10b089a6fc6176b88f5ccd3dfa8723fc8e80e39508d2d648bf3edb375f07fdf179d5d6f6252c0306e2c37995c74b8830b8b6590c8a34073ffa2f9003e346ed9b850557a704aacdd227b0fa3c5fcc1b2a82445beb7bab812181d4d0f28ebff194ec164a26546f263009728715a67793d9963ad1ecdbaf096f32400130219afb36e45f6b585d71fddf9752d088e7af6fc117988e13b3ddd5592945b491a159e4881402514b7c773023619aeeec7fcf9b37172209fed92064a65d4fc7d8a1b62444e62eb3662c380bcde8c1aa552a85f05a7ca1cd38fb0715cc099c007c9c9622307e3c1a733651172020ddd3028f1e774c5717e5d885af372486870d4e0624acaab61f47e2f34dfa23e814eeae06f44740b9876a03ef9c3db21dbbdcdabaabb2782cc8e45c5a3a0cb2c30208d906376e19a0a1e5e3e3c155e3e137dcf0956ed9061b0740cdde654f637719927d9026ff76c5a964df7668d7fc73aa90109ef7ab91399a9139ca7cd625024f947d35a8ac2059f89926411ed99fc806931692f5d03d2477ac4a3a8177c7cd03bae3b5dda839e147d2b502c08026ed23756e8d53e1ce839579d3a4dc09f328ea81297254f65527a16e8bcb4837952f0deaad5abd05a1eaa90f43e38b71e43bf8a111e0e5c8d6159308d0b4e9b66704f766c224f6f5e8fb275230922fb40bc9f2cdcc6d8d5b3e1485132056f33bb3260a13fbd12e39f46220546f27b6cecafb2dbbe741c78dd42b8a7a307771805875f9ce68bb688ab56586af94386d7c307f08f862fde7cb6ba0fb72f11526c398c199f4166fd1780be97a81ccfa73c6985ca33c112df5861cfcc8dafe09b1ab515451a9ed8097e7d86a42f0e5d2e7dd79994264e490c6c77e1c8c0a9e6bc26f6c596861703314782dd11a4644ae32dfec0e1fbb23aa06d3826d36c55882db3e4724b4045340b29a9f8e89c642e7d8ac5b6d2c2cad48527ea8deddf2373492746d3d844d37199028f7a96480b1b3acee9a65666b1afb58d606d07745cc0a5ed036bf5efb0732dd1c26346771a704c3bc9db6b561cc2221c9473a52cbeca457f7065b16a7175a0a8dbc284be4d141388196619f91ecfcaaa8bceebaa61dc47cbdd493266b77746aad9f913b8b537d911f786bb98255d79c425d11da6cff1774da2c89bdd8166c2e94ede029a26ba80787b1632b13504416b63bba1218e5b0087dac628bcc61a9a0f075a7cc9e5fee0ce62d0e2eeafa7dbc284df26061385396719f97ecf4a5a3d7fcdb47bf4efd0b116f85c3a7f4cc664c9ca0fdb3b200882f68575e701de2871832cc70974a872b0d9c6b953c6b929bb14610801285a3b2a1ee0ee7bfe1c27799fcbf5358bfa129c17fda0013a37c9fa44bb093c914de968bc2b4165575163beba02a6f46779d31488cc31218afa5ba54163ed4603678dbbb8beca1c92d51640af140677355e58b29e138a15637e89c2cf0768b364ab584f421221633131d1737397512182f91852b57af8bee5f8d5bc8164e3913b1f3bfb0c3c11a9a824df4e5ea6f28f73332dc976c102f348d7b74c6986fe95005c92fda1840618efb2480a3ad5bcb9ae42909077b2c17be587d13f532175326c9227969b7df88b418e90d5f2d4625cc13dca0bbd715abdadd5fc3b34cbedbc8aa32c3e647fb6dcada5e8e53477ac6b77f03b9d585afc76174f7b08e8b8e823cab9637bff5a5478f33da50671cc1d78319aef5a8e4f21c01bda31468b10894626fc3226d40e183452fb499810f61c8bea3e96877289577229ed8949dcdf802f482d3f2939fd3e5296e093b36afc9a5ca16755969731c31d215f56d23d9bb6988c330c22f9a49632f90d27106b5cb5b3f547bc75c89d0040dbf8e90f7e9caffa2299e5a817d240342d201017e410450be46a6ffd07b9911da976a680f9bb4deaa077e93db8e532397514f4ce3852de20d3c910a7fca6f77e07407b526cf41173c532110b3c8cbd1baf9923f31b95f4c2af38b401522881fb95c08e80f4555959cfffacc5f275f53d2072d6962b7d21ddac4dc8ecfdd723364b88d716c7ce8cbfaeb2e9674dd6e03141cf2b69de7117a0e2c54ec21c8d1d7a7654031dc75e2d76dab79744f7719164862bb6fe725418d5f31bc35f27bd709df4f6e8a7b8dc2008015d9ac8e5070aebbaa8603e90499235a1c54691b9bee2e7791d418d8474a5efc5b312b2ce4531ea0b98db9115dc6a43b39739a729056489628a2cfd50a4f1f87584ea3badb2d5be56c0d9848bdd59138f250c597bf45474e6f43457bc7a9aaa6617240fb320e0e592322a089c842044aea5609a31214c8d99fcf780e1aa1bac9e2a861c23a33e15b7321d5184e59b05858d76f444bedf10c44f7b1d94bfaf2109d61e50d35f2d5c403a1f6c773fd14691d839f1cf332de9884558fba4ad164f6c00c538fad302bdaab76f819122ab760470a446e8df0194324b280aa23e7585bd6cf78d5d2f81276981061d05bdc00ee38642f59c88e9a411b47e50110cee6eee42d53dd06d0fd7ec211d14df759fbc4a4cd07b02a277e11398b772c44e1717f9af76d92864f35251e1d8819e03e900170a74eddbd04e018ce44ca33912a54554a1fdcc8bd2fb1bea63e56ae3808d64343fb908b69ccc9a537e5e5635d793dd15446785b1b28933ba2ce244b2d5061b30fd70cad273b1254d265d71fd658c9f434b27fd44ae14895160cea2613c292d394e17de5490114d6919d1dc3a231ae4f963c60714a116f872013e65ffdcd95b7d1d1b65ad4a6fd787fdc63c6c96a81af5c0928126f944ba9db48b23dcbc4e37b5811b09b60cba386dd4b53d3931be1638989a36ba17ad8f60ca02f491a5a528280e50264ac2be27611fa1871d4853cbe9ef37eb9f0f22fabec0b46e807ea4a09755f67ccc44d8bd2367ec8a3d8241c0650db18343ff17d8012dc192dcc07888dea355e9872e914846f6ecccb6041015f25358c5cdb2f8495248d471dbab56bfb28911e1d5bfe15dee8cc1e1e4894f6dd902cfac0fcf5f76c4e6a8e62b82f2fcd916c59a815f7f9cbd729e55f36686c0837f325a6b606f6725d5ad6821436547569793500ba335c6ae195092795c96c46814fee8915fe718a86b37ca78d342300cf3684f36817cef9b12ac4ca4232508ec2aba3f3c19eeb550795d6562f9d7625dc3e5839f3d06f789f86cdfab4385aa1fd99526b538545250aef6514280252b3d921e6f458167c9046df398ee5abe6f978e8d0bb30ddc80cd1bded63199498d706670cf5edc2e05c9194ff2a52ff3dad9af7a8832dfcfcef8d3d0a173eaee029503064a1ff86634f726710806520c884c0abae7868687ac1b15bbfeec77459635b3710604e6122e704f58fc3a1e00d98b3986d46f1eafaf3f06b368e1ad6694dd6b965d5b76d220ed23ee1268c0d10bfd3c7bf15ff52901ea61ce8e10581170dff33cb134968e603f5c7aa84e62174964063a17f3ce13a494428c084b40b480591ccffca1fdab8cbf2b8bb88642a50125766a52979104530e52b3d650e260b91400af8fc588bd60ae09645f930c5461232d25744c1803b0a1d5bbb39ffe9989fdc74252c56c44c558b000fe8335f6aad6ad855c903f778a8f1f1f4194b0a8fd4da2ed96583ef660c38f145a0920633909a3c1a01bef00f72ce12aef180220096152e64d286f140d010c70c33584c25d5b217fc5f0e03884798de1a080a8f1387502d6920e08604a9cdc5b41ba8b93b34872273e535ec418f9723b92692736d11956fa37af2e9f37b7686320f2abb4e5f6abcf32990aab9147c831c0af301c67ea57d02221c1c60f60e4f363ecb06c528e1efc6477c011945664360202f8f1a1e4cb90e83d6fc49557194ccec1f7f30902f752645737a1eb79390ac8147a9d0886ca2e48d161a56ccdaeebbc36d601ad558d30f972a04538f15307d546e711efc4b31657643780a18ee8a8d44aa26025604fa4b19e467b607125962cee89f23d1569a40bb441a576881469953d149ed10f5d9e06b03936a8ba5853088ce9d34a39d3178518810e288f9694f91aa5991a8413d5137fcf7fb9555d6267f034cae6b6c63c2f288b50c7f804b97e76c0ec88a8b1d1318c5451db265f4c60314ab347c2fa2d7ae45a0e031746140fec3591d20d9984b8e14a2642b8403efb4a03c457c0ce4fb2ff193d9021c10cf6d0e592c19a32a5d5c2aa1e9e2454f6fc6b7e6fdfc840973887eeaad92560a87ab72666a32f92602fba9a7540a2692a90a81a59e619210c568e44879bc0f5c3366f2673046266f58b7129bc050aa9c50655ee752597cdfe6e4797881e9132e94129a996d4499936991dd8f98a8cb69cc88d0a1eb5024c4dde6a4a741cbfb575c6b36f2ce32e3ae987cb34a0f6704db0b8ae24789d36384dfbd11f83359a533be9f94c66d8d16b927c4fef5568153946cf92fe46e98bf06d94d7a8863bfa7621892b0848a26290ba9ef64a8a839a4cbfd5879e05bb4e00327ddea2f56101b2a5ad4ec7817c279e32e7fcd09131cda7710b23f658e7b07aa1b655bb0a0a4352153114b17c4cc60229eb4b95324772a312e85d8d0445486e0e9510971859902455470eb0a721a24a8a0451b8c1a85fa7c6ab2b8b0dff13c67542b42e5637a1ad8c97b7259f71e530cb519d45162132b1b6a59f8fe48fb251599f087008e033da35a66c2cee3b40e5eefbb56cb7c55dbc8557a234859f3391555336fa7e71829e8f74720fcea6b22a28f7e2a54c4bedce98c1c575aa4da94b2d2065366611ec6f629a7b9bf03866baa96356cb7c7cc2ec50c1c7a9b574fbe3e1d272599c6aeea7846c6cd0db0a7714047bb322c2ea281147f82e5372eef929e06afcd0788ea1fe7d822feafe8394a28c873bc47e58c67ff80ad774fd1157941038b4c42836e079043346c5e5054d49ed67187e1cbd29c3bdbbc4c85c1c09921d9d897c4edac56d7e63c04071d597bcbccee89d1b30545be30c6808ecbdd039120f056c43cda77ad768424adee971dbb120e999d8f42efda64ed15f671f2ef9e7f46a005580235e1715237367f641e97a69744ed1443f237ff527ead273021e8d2b6d2227524299554f5b38ddbb333fcce50bd0ac3679a190cc772ffa342038fe2439a85aadaf3ddb15a39adf6a5c37fd49043591f6bde3852aceb77f9212272349a566512e6a861f6cc6d029a5d8157d95a8d615fe8012548f4933b597c1c63d6d370c617df4cada23c7cac61899d4a454e5479e675ee1f1ef01a1eec1682efab4ee6099430388938eb6483fe37971f1e1a72a56fa57a3a01a8e8c3e35e6945caf9546dec06f38c7ff2f61d1e548d4baa353c20c22dcc5b4f8598dbb32f4ab94da3df2263d47648249a0c0d25132ef9acef858994da36865ff5a05929f81393b6017828925ffa1fdbd9df60948a675782d585a29b53d21fb0ca4b16a3dba7ad5e94b85bd6e3107990d6303e03f79121bb32432780e490ee280f6b8e5abfe5781ffb92c089f6373c0db7ad6a32a13e011d22dc72699f7d5d9ba8477b87ba3ed52537635917c75f5e57d23696146be343319423b6c80c53d30a45d1ff1c8057b60b731866e966cc072ea48513876c39c65475c0aeae172ba71aa6a170cd53c981050cdcce3ac036fdaa89023e26ec31a6cb7c4847a5cb64be6d2586a365c834d59d3493840f9fb0097a9f7a7e0acf4dc2fdc7a854427d34c43136502d69db5a19f26aa1f5b32b8afcb97ccf1c372e36852b29bb77605cc9e056b785d2003a866ce9edc98e90c82cb8375640c3b5fec0990fa7913d9d0da8540764dc0bed7f3c113cb7e1f0781f5ac90c99087abde4fa7735bd1d92722a24f0586bafa6a68a12cc7faa270d1a27c7119b976be177f1f461b655d706d4c25f32640f6e03dbb00f7c1188807721408ba4ce0bc12db01bea2e36c13ac3313d664cc9c3dc9481c3f34504326ce48e4450495ec92a57c1b93c9cb1e58b9c06bea7a262155d1918d78bdda7fa5c5536108bcadba948dc5fa4d509202d0f563c18e09990a9979b5c8c525a84fea4e4a215dd9b9ce01123cf72489f414e9645f1ac71143375969625628b2c155328fe1465ba302890c6816b501aaf0916138a7fae785379d56b8b399f7450a19b1d5308341175385a2580fa0aa23af8c6d8c7d1c35cd9fd6e2f3f6105608bf451ef50a7797a016176d7ef959edbec2ad09bc405e131c14e329f44cbec54ef0167e91c603b2e9c02a90d8c2dff5c9841fbe3a8b25d87c3a33098fe9c4443ff0eaa91a9c019d91fe70f314fe4c230083155d61f2432b50f169418950ebb735a21f23a78fc0a8c5734ed9e7745eec9880e3a1b51c2825f423aa88fbf20611aaa764027a05ccb6b2d938b044ffefdf02985c39789aa2cf58d66fb65996dcc839f1bf709db0dff1587d6cd56a0c1fd5db7b56e355a60c2b5c945797926d03c719308a6f4b6dcbfd6e65e3d272c45966b07b67f80f475c289cff2caa7943adc5cd7bfcc1ecc4abe33867425299d2e5870342018610f904bcabc28d82dc2fe45804aeb922391e3f5c598788a34d683e9229a378d6f07489e37110be9cf7f6bd58c1feb003a4bcb55bfae4b3c72ad51e90d90518082f4608ba6348fe8590f34bc6e6139c9a620a58e99ea17a77f11687759d08892c5a905d65c2d5fa527bfcf2acb71d82b949fd38c721a83fc247b5171ba47b6c82b3870d52524f82b144da0b8996518cb277c12cc7441404a828a35a18476f084b7d5d5b87d8106d8f38f1eed7f60270b9039855cb48ddbc5da4f909b52165e353c5894383103fd10c4ae62c0e6649cfd045eb7e646d22e17dbf46e5c685f2b1b7cd82ca5110a9c21cd1f875da12d373fc5862652cb8cd622ddb8c5b540334f6d7e3aca8a8a42610c1d9194e9909c00666b578a8f5395b974b798d94d2f7eefc139ce662c024f74c591ef2dfbdecc738d8ca06fc94437d3cf44d506f331c04b14669a5891447102812fd0c452bc2f4e912b2ed5191856a5bef6206800233142fdc9fb442add7d3c1c673ce691f8287973e30e14d1631d1731c8a7d9856383a1aaf0754f758ffb34842b73afbb398bd840ec78213e21e4c4e8aebbfa1205563fac001851966740b59f686cb7c6cc09bc8ec2428639f18cd362880bff438e5ce8e55fbba53517fb227a614ca77171c04c8921952a21203df88ae0735847ec49b24d750d030286c0eab2cc555f1147b5c3fa02c8ddc3b0156ed7c3e4712998095cb9a17085c88c321a95945648de5e800f0e8aeaaafcd34ff1cdcafb1bdfab6a8df5642c04151f72cd4f3041c7335f0ea75d0aa4d273a805ab9c3e3910827965465bc90a7a56fd8c8d386c7d3656612640b3a8cf5cf7b2885a5deebecf7eaa29e5113d83933ef9ad8124193724cbe699b5be00aa30a62801d10930ba6a5f2b1fb76c75105be20396fbe3bf65581cedd1916251888cb6a0d86186b80a0c16e6b12f67b4e6533bb8e3d57d4d80f2e9b6e053e0449ac22afef3a2299974bc6aaa3174d2f836992ea8e47cdd40d170dbee59aa0a5e6fa3cc235f3744fe54e91e0fbc944649aa498d83be0f951ca414f42bd5b1180e81ace4b282bd90140d133340fa98a503c3b77477efc1c74c776f9c3018f4e711ec686eed17f1ae7c11e1334e02d83630ce8a186a09a236ffe0b5a03bd7f19ab0efa8f85751d46bd7305b6b6d1582704fb8c65e39a556b23f1ae96a1d5b9713c5d5159e0193b72e6527b2d35f10b404e45780fef24d4f02770a08b0aac50bc3a347518efb4c16be63868c0e0834d70c3a0060e70255593f10f5620d4fcfb75201d6da12675d5b808b081a8f96418123964d44c79c2dd856ece3062977967de5111223529bc6f3204f43d5447f7a0a446bd9235c59dd1dda4465b77402a0cacfbf7d1ad4f5d7a4c841bd7440c9fe2ba2582dfc7c324cf52e9f7892012571b3b2ca605726db2f79c297d839439de440ab757b398c7e85167aafa441403504157addb8d52e27e607da5a83b2ba8eb112ddac4b1b76e6af79474b79755eaa67ddba474bd7fc31a4a615b49abe66d15f64965f40899b8b88dd2dccd6a2b8a023fb07a5d1a04f81a0e84fd13ffea154538b98d2eafa1414f06a1e27bdfcedbe4a6a0bd76aa4e0fbef94ebf26683b4e8a30b5c88db754919fc48d68cce02c42210ed436f7e90342f2978f69ed0849d70a676e58951c83a9420c2a102d759be02396cb2f6c2291d0d5b48dc179bbee9790d4521b4be5a492e1085e476fd5e970de42748fe8f68cd427c794fadbd550f4058ac377a3790186e35a2b65000ab0262188de9d351f10073187782c4682cad7d977e5249b31a40afc0449f955640fb576f765a4359191ad53e0123e865715b0e111be6b2927298481e32422161437db429f4049f9bd8f943060d7a7c6e722ae695b4222faad2d38e4a840bdb13ccc26d1a37087911e5804ed283b76f1a1d04d40d5647cd669fa0ba6a2b098f31e77b188dd1a5fa44817c2de536ebef271dca24f6046e09e3fc1756b648dc165a097ee7c380a8b2beb7cf40f7b929a9b357b8f6ab4e5743bfcbb268e21e6ace7eb245466395944ac75168d3a380df791382933188dfc110047e4469217400ba4162056e87b58298cfa843422053d1327298694f51ae50e15295648083c192ea5b7b0acfdc6938d0bdad1a83be40cb6d5c8e7a6274e0c7f067616ee359406d201a4470387f6cbd6b12c48791c136e09c1d548020b6f735c6ac018ebb881255ab10dffee640e7a77bab78f23a32a6abbde65ef9b970dc6331d1901f59d43b98699586902ac313ada330cec42003574a9d7a008bb3ab585ad15e4d806fa0cc6034d26e68c596d75e1db289b85aea271b8a312259a16cd53408966fa6387984be45fcca229f527d2a192a2dcbcbc9658069264ecf34b79791d0c11d8aabb24645ea1e021f58c168728a1b07b2d67c2fa75b14a06aa281f11098dfbbcb048ac8fa573845d24c89d4855e31a65131b38728b929746c1127f31c0940bf7f4d0e95d40736b037982faaa66f6448680b2bb193bb4fa488f1ec45de641b9c50a1755ee92fa1c08066351a8d8e9589a1af4d105d938c6778c1e1adf60e97f9a3a793177b0dfad2f5fd50d31417b578ab7c2cd83ce0ede49d562e88777c23d98fe9407188a1e884ca6992df92373a1f6e1db1bbac542467713926af1710380b682a52754a8169b21adec39bde908345ab341c95f82d0ba689dd3ebfcf768c21f6de7cfcddf3745aea42477a42212214d6d391742b51ddd609306c2e5ff7d219783239a5db9c3e387e0364359836459eab9fc3d1f3db557c61bf9d48dd57c32744b15a0c989f6a8a6eedc9394c26c8fcecdd8006b62b8670a79667209fb9130797b01333940e442162dc9b6d4adbc6fca136dea609bf0be06b65116bbc9e06b135c159f0fe3d010c51f8e80837ce633777b60a2346167230ce7b3a44307c429500fe8d09fe7b3398e62c9b9245fca7c5453863d9b7114f611466365b34f63a96c00984084742b28c49f45a2117b3c04dd6a5247a80773511e899e8ca8718ae6ba9a371e80c38af77ac72ac584679c9d21ffa4833824eb1b0aa36b897cb86e41f857a85e48cb57abdb3b176a9ca370be63a24caa7d23de2c5a497a0fda90b5d19fe0698dc27ffa3e14e2df06c18dfcb78b9cec9b971dd2fb7f485cf053e0cb0417f334ef03920cff32fcac3d0b14d2c896152ea25d7a607f2ffe425ff5d44ef5e50b5864308642c726c6c4933da9dc6f3cf5cbbefbd4ad226e3e8a9916852264adfcdd1e842eca3ae6c986882321003b93843312b030760b4c363dc8f7fa4b3f1306535c766041f698013cd9a8431eb08040fad54ca8437a3d572990f8633cdaa4b37c049acb7b4abf8d55f7d411008259656efdd58f6b4d59dbeb4c5b6fe6c96bf33ec425c2459f71650ea1f5ac3c740fb2181e4821b34cea6c44068f69e7716a9f4a07005470f7bfe6a3d7083c7d4c9aba7cbb027239b3b651282336823c7caff1c18293769ad5afd4d71764af2b9c48991f5f90a008b65994291e0129fc5a5215c531e9db26f98a42d71a281222a60a9a1e8f756b28ef6485a88d0affca4921bc1430c823d324df370b53a0f9696ca82907eaac97da885c07efb2887f45da5b58d1ca050721dda7b1c9ff08bf4bc0fb8b569dec44568a7db08b700ccbc6cdd393783280f763b72fab186ce8bf3a35f67bb6fbea20dd6f3e87c4172aac17ec1316fabbefaf3cd54b5f3059d8d19de77dd7bd23828b840673b640e98d2da88bda635503ba7be923a48ff01686c3b24dcd7a125315249b58d693ce3c72424170451044a4650392b1b2b709ef877de3a7c4c39cf0fe240da3d2f13af381c0d2514fd5db8cb1faee9daaaf298600f8b6c992dca7f6b4a57b10629b76ade5ae7724e477c6d348fd0ad52b45adf794b07c09140081218e09887704718254658494377a791593151c96ca8b8d8ba70d3dd586daec3061408d499af11343f7a808d773601c48d703b0a8ddfccaba2c14b890e8b7733d93e05a475a33d47fc26c32c788c38ef99af4533a3d36ccc3b8dffad53dd55c5127b31177a28c29930404a75f72d43ee186ac1e2a87adf5264232498e4ebb96edbc2b54f588ec0f29eb52f75a14d77f8f37c26adf250eb5d3a15a57cef6e6381738e09c25833b4cd6fe420f9d4f0b36e1ae57cf4df3b2cb8435a772d5b657b5496496e6b2a11764eaed1b3df5877761cafddc2282b768a04e66054ed0ac9c503a73970181b0eaa7263dcf0469ce57aa844d4e294b1b9864516297aed36806a2b6d0dd39fc8c3979b09beb027c096f7b19c0f232e1f2962c91cc2dbb17d6e9b10a89691fd3b0e5384b436aeb44494ce7382a1b4850efc5c2abee0b2363c63f63218e2f8040f3d3640775ca099c2b68467ae75e40cd34cf7c655ef0cb81ee0d355c5702cf995678c2572945158e0062d49cb154ebb9e6644e05259386155107efadb37aa70f3e5d2921cc077604f64d870bbe9dead8af0e4a00b60669f04abc7835f5737c90b6013d6aab52c488c6fd1a092af021b9ba5198ad574ea318159c4a000312e8b93d7f984cbe338951373bafe7494ed89bbaf2fa51a81b1cffb8ce380c08a370a606729ca8fe3c74021f8e0ca1f8a5a602e63add16b5f0d22be4d1fa330d1645868a9b5e220889384db265abcc595594356c9a48724b4aae0405dbb79b1b2fabac88c00bdd4ae2a33e07fb904b3025840965eece327e02ddc4eb2cac9fa0213a0c4689235ac904288ecc0912f0c768cf5c59abaabda2539944b5c24a7e1330afa24de032216818cd2a8615f2f25362745e7e4c3408a080197f1b554d67ce75a79fdf51405787a643419ca0e3dc08dcb7c22cbba8a1423aba4004510f01d597f968c8a18e938f320728127315f01bda6da0ebf00980508f714ef35ba9386be56260fc5b27810569c463154f48d819d81477031856dd8a7e8dbe5c258115516b0702b62468cba8c54dcb71a22874df9e00def2a83d2ef080692136a1ae885c8d49fd127daa3fe33af2290c52279391b92cd0a54c230dc7daec5df405ae0ea4987a6d39a1adea3406eb6799864279f6c5b43ed0e8f1c1cc52f60845ddc58e1624d1129107979b11496d2dc498fcddb28ce30f78094e961dfea648567e38f184d8d40e5d6f2d8037800ac5bf380f3ae23ca873e614f2ee92f2b3a18a1cb1e32a37f3485379d2d6a2715aabcfaf26404285b44b87b3a4cb008f40557ae7d3be2c4831deb85f5387c849995b97eb0d182473c020ab6d48468c752066e2af94149bb00164ccf8c23accc24b35202449bbe28de14e1f5426f55c88807eee0d2188e02704344380b6b8bf07bb36ec7f9957502919e851517709f38e0b4a95379082ac5b8d11dcc27960a36309cf21075aa8aaabeeb1f9405adfcb25307c2433681b2c2b8976749546d762dd1ac559495f1044fde058bab7c96813f0e24fa9e012e7f9cb4f12e801c215544a20fdc7acdfe937a7269adf18cf84691d66a67f558df162915bbc6a6d30464083f66ed9c74af052aa8a5c78d909cd059f8ad0d545a38493552329f68aeee1b24554eaa5a5cd8cf47ee524450f25caaf9e9cdc7cea58491eb65a1d366fbf5aa677b9b85b908e02fe1391d88ede77000b0ec1b4e84060a17cbc0c914ab7a554536698ade3a98bc75b9f4868b42b0226d3890941f18f72ab482043d7ad28b8d567d505874c3b3fb244956ca5699d438bb5f04451f8865065a5f4126bc9520fa41dcb5225633d182329025a5b11b9231c711028fbc72e33a56ea5d24a6bd2fa9a21303e692c2dfd55ed306b9005f5e28c4221f02592df4ddce9bb690ff19028f4307d5ad73977011c92ea6784d229a595d24f7832e16c574fa6eb1acda8b94752903c013f76ed512ba96b90c8a5b53f8c1be3e7fa1088b2be8434515abb5a3d3644495cc4f856efcecf3215a82f5d6343f2d9ab9a046d143dcbc538cc32c7dabf77c946ea71d593c6d6a2317b8ecb6e6583634a48c18835cebf685009fd127b3ddcfa8f2f3662ba9655ee661e0a11595219f7eae200f9a77138fdf263b567b35a822257ee838ac337aa9f4141c4a43e02e5bb5248d7a8dc2488243d9606e966c7510dbdc2612b72c29111f13268180a5b9352df14093d5069708a3da78742f386ad71f88aecc7454180bd9c9efab44904c23531b72b6e9fd8135e2201f1d682979d059f8bb0b15de9ef57c44f93deba471bf5d2bc5d768e90306d778fb0286337cbcfd529cd12ae2286fd95e6497333be15550e453e4ca40dbdb47dfbf6dca304d7a4b612964282697329eb4ae2106b85c73e115f2595ad499c070a35e6deb70f187589979d0b3e4b92ad9085fd6a0b7aee7c4b0ad53a59feeb861bc4e8df73f10671438c490ebcb00ca959f111e9d1a909357f6bf9d9bb4da977e71cc426cb38b844a223c2ed260f88cf970167078d81ec5cf16907eb4a15da28f42463d541767cdad73c12764d27ac842e6877dce678b269c46dfeccade60fcc7b71f9cb5330b913da21d44d00a6ddbecc5e04a5cae26c0d920757bacde46b59766c502689c4f23d3c1ddbd88260802a13da69395a3d6bedc4bb6ffdb1498f1dd1fac424a4bbcd529494889a89a36097712ffc1e472fb770d59d9bc5ae2a936241ec1165c59d3d9e1a841f9fbdd091b462d89a8e47c89aa3d5e7f139fa877c1f02d7cbc7aa7d2bee04a11fbdb508253c7da603330ab90eb8e3fe1580446660b673f5b9cae261862926adaf6f8711d5dae044ff716f365a71497e1905894af451dfdbf7af7ce5991dcd831068688c8a7455fa9b843e6ae13c5a26f3d6eda9a4e3b473770826a6deed54de918ce7588d996894e8cb428e1d0ce5de953cc50126f7220c661fbd3cb534902b291e80f5a989867054a6220fa22a6c75d4609188defac3eccddb361cc89af49f11d394c595135174fdacea51a7f4e8f0b95553a5c38467054f7b592794074c3075b020c384d9c3d19a187bde43aeadd3d9d0e95135dae1b87c515897cd29cd13d05a1671fe7d2449a22e8bf1153d49eadfa4709ff67e568a9b4edea314614413ca3c2d63d7e18b791e05f91346411fd7d43671e60879dd73c8c1c298a283284b47d1e345683ce04d12e33233046a72c905486c1ef8211e78630ab165158243701231cc39cf961994dbbefee21059a114e38233941cc8a1ccd366ca5c60ecbb011ef10368ab84b109adf15e7970c72e085ae10243f13fbe9576124113f15fe388c3c388856e11a6fd685a43a8950ca1d7754e25c0bea7f7d8f76b4fe5db14809d17f55b16426ad16ce3b573e2d1e84d251c1b20d8aa923223257f821bf02c47895fe45f512f44fb7c6ca3f6bf3fcde5a47b1be8a6e540526102066dca13aedf2572fcdb6ef3a96d5dcf4d110dd25c7a7326c5b30ac9d26d9ce26123944ed77d260647dbc77c562b2269f85fda36574aaf271410a000e0bf53fa29f589a5e36aa63d98b1d9e8eb07ca33c3880522fe95b7192a3d22f89929e96e197ad96915456a15cd95b1407a345dcb56779996b473f63651a97143558420bbfa76a9985747fecc7d70cdd8c7915ea86ee20e00cbdb83b9830dc9b34014cc8fe5d686187a6337ee4e37a89e9cb7f2756709f44da0122350d5c335a8d5dd6f06147afa867ce0eced39170cf090b2c43fab37600fdc3eb1ed24abf98f38af9f1cd1c4633924bf1545cd600376465ba910e849b809b36d898efe2afbc731d5b101224d182abb5169865600bc70206d95bfe450de2102480b242a84b864db089bb1570b373f4dca5c16a8fd4c004a7502d15a5533870af05a41d12e8f09978be4e81d72c59fc141c3cd30d0a81317399cf848fa6c3d43375822f0df4a01afd7e55306e3d15f972a5ea3c93a3fd23101b3c1175004607cdda347ded91d180045333f216be2429bf001884b4c81beb9c904fdd15d50d52467b059562522870b6e979d31f37c666d61a51a2043fb2204e69ef1f6820cd89e77a887e54359a87ce007101830b7b5bba0009c5bf29914dd8119769fcc5a7903747a6bf45aa445c3494e52b33018996554ac91242e4d0e39156aceb21c83563af81332bd48d7f77fd6a5982fd537bb65e5276b54362ec61667f8e278d4c8e506c941a0c21e3e9e1f1ca6b31ed065e9a50463d6396d6e2be9cc68f4b7687dda8387be6e668d4497a1ff80c3826073283531aa39032ad71f843aaf845134a38a37375da529404fd7d02dc52d5e0a9875b7b8cb49331f24d366f46e9e993b9d0ed32dd2c84893817e56536fae42c46354b0ff7152b260bbe875287dae02a3960fb64b57597f03d0b530c1a8080ab6964bcdc7380174619f5d663602b561966ec3bbefd62330e5c4f6daf41f7c09c365b5056794188fcedb200971e36e7c048affc2a794f6e0905d7b25e82777326266d12fe7e8a48a0e0fc9e80bd397ad42d448e2c0d97c1375ed370f4370ab7446c182b3fc66f4c0adaa583812f1b13817e87ec01291a90d9eca1c7e814908a641a794472412d46f624dfda2570f99fa4ff49e1a9048a7c4cfffdda7ae63013f4ab0ba29c475316ee2fa7e1815caa911373967e63c4aa24e063c7b4cd04d28e3d12f0f9bf070f375c5a7fe2d7d62a825861186b485cd200314cd7122136bd114c109ada1f639483fc8ae405241696c6d04f1a5763fa9b41aec36a31d36ce302b14e78cad6a50fc88335e5dbf504d6b79c1a6ea82d73548b6aa9217943f966c4d8dca1724865436a1d60f4662a33d82137c2d25cd703d664a83d27838f64e2348520cff2530dd62f4adda088ae1ff85fed220117db02a6637a4e445c3725d54749772a028a3914df3cd1b84aa9c74b25730ac2259fbdc5f5a6328219a931f0ea63de826e16816196491169c493214b0b968e4689a4b1769a04bc3dfc8a59916fb5d3e3627266ef5bef67dceb830620b0d1bd21b87673bc09324486dfbd6c28ccada5820f3944cc4ccac0e6ad6d247626607db768bd4627000f3b547927705db59227fdb00956151efef3ab8bffee945dbdd54861738097cb5d4fb61bf1cbcf93a1dd1f4009f05289d1264eaee1be863ceeb7fd81c8ce985edb4a48ef9018c868c32301d5a3e0e67ec8e2a26d558b40977e741918145cebd5dcdbc571418d6cc8dc87b040b42223f6b477a0903b51579b50a596371159d2d819811b4d7e1f6a218c60a0cac0b06ba76572f5575181b4aa9a91e241d73a94c7ca74fac7340e1021ec99c4554169479d7b706ed2becbba21aa7c60cd52bec10b6d92a8deaeb41ef87e9726c0323c05a2a2df07e2c5ba30bde68d682a01d1e522b1ab1c74f575328c6e9d7846d1a1c5cfe3e138a18920447c1555aeb8623d42ab08d66db0f6e3faacbbd7ba54a9477c33ba625104485bc01caee8d9598aa730037f385224789cebcde5ea9c12085e288b0bb7f5cd312e7305679ae51bc015891f41097b612d3464e0ff59c26a65d34b18c3c37293e7f49112c92df6df3d7f0e75e0ab823ba02b3301ae1d0fa265c9f3a0cc7d9aa7ae5f88ba6de0d9f4af9c70a30d96bbeb684fb88a8a676abd913bdb09bb8dedd2a3511f251ae213e5f86e8360ca7914192baaec340eafbaf990a2b325dc7072892386592c1538215202b6090b16aeb7871cdb1e53275761bd1b82d0f9b7a67baeefed19072f84850db4159ddde0b08aa2d7c44cf9ad94d43c19e1329624de9bf68099a8ab929128095b4d63fa61cd18e0dc14fef58744911013a16afe8a1407a908ff77168431efbcaa2ee206e7a054b1a1b11ab39cd368c1a4b5acb6ffc48aadacb5379f650c7741e597b34db016c0cab5ffa20244348fc6ff4819c35ef215b2aca71e42f87a46df151a8de5f83d45a6f19517b6976a8b84d1dd35710919feb2fda7fe51f181b5450a76aa669f021fc692d73b0e4b52d594f7294f0d35b47246e612d5008ec21b7cb530af37a4cfc634a38d4f80b19bff4cc76534fea528938d4b19e51a46d7a5e971aa38d23cfbf433af970c931503bd6cbe81173b13d7164762a94cfb10421a5e3f8c4b9757ba25de64fb3cbd130919b214922462500ada4e6d2d58b6b1152ac249787b569e43d66b6d7072827567b7ca02f557f941fe846ced103657ead1ab9355c051951940bb8311ce1b5977ce6900882afb7e40a2f890667edefa217ac52d842334e273a5bdc8f625902137398a71ca1d8152b2e2c1cc069f2ea82e1d4f0b854b947438d2a471fd96763ec33fed5455139613531963934a8fb403b81b1b30de4df86edf14059a6471918fd0b397e2701263c1b98515776874c1bc6a0d8ce3d28e4c5760bf99ec7cee7931d9be896225e9d0cae51f8296c31b968dd781c7439eccb74f46a562866ae3b74b19a959e669e4d7702c27cfc3695b408f00899d4c1a3c40f6f707af0e63ff83a3a0f42e26cda5e2d3ad98ecad72ad791d073b26e7288ba4fbc4d2a9f9f2d1b167912c9ae8cb98b7a8b379ecf70bf4de70411b8e8c1c60c813797b825700fe2c655d7766f68c3bd534705055aa2d8fcdb268c6c5a2730f7a4aaddc0ad4468fb2077000c575b11d4bfca9ec383e5ad4520840deb7082f1e3b8c351982c3301bc333561ebb722b1c41409b91235bb7217f7190fd7ad72670696edf3f01831d5c1b6aeb2e161d13831e0c6726d6e42c99a2e4307bb321830dfaec153ada87dc37009e9feaff6ca13637b73a1aef1421a8812292f6dc69b286cdea47d575202f9ab3b6c98372626809c56b50a3330c7327efa041747da6dd053648227624c4b4ff5331c06c082f510b9a56c6768f657d8e56f10e28a8da00eacf6121de215f6db2214debbc7936cfa39a54d212df4c4f5b207d50f2a231f3e2dd6e25be149c97c4c89b83b0b705222fc0917ae3e339d236a190482800e30b998de7b3fa3d35de3a43d7dec686097bc695822e31dd16cdb1454d01c0dcbc3e69cb0fdbf306604fe4e8a6f960c64aadbf7bdaefb0a2cb8f69eda18ec758676f7c444c029be258050538185663ec9644447db3cbbc4167292aaceb836bcb9f6ace39080dae1b3e97330be6e3f2b37dae3d917ee2c6cdf23fafc04a82c5b5327b01c8f96184d670a9b4d623aea41b3851d05a8816cc612ff5b9abbe70c3cce60e2f3ec4ca40b182e47c45fa41bbc56868fe00aeadc69445cd28112904775b914f398db4174e2bb4fcb95a56164359495f047f7a05a01e085d87bf1c5460a29d0117522725acd86f0365b5b994fa092c219a5fe90961d9686a294231f7a31e71ed82c4478c59348b116d4db7a4b16729ed605bd43e490b05d90489e9010db54bf3442c581941ba800ff0083244f3a7971fabfe97a38bd0092ad2c6acedf239dc6f816b54c2785cd194d8acdf017e5ae2447699f24ae8b52ad1351cdfcb35846f85875bb912a42a52dd839ac60d7a0bc6f10c1229606dcc23b3c35e0c15e86baa173dd8d774a85b4bc82e5497c6556a340c631679be5b0eeba73a88671ebd03f641dce4f8da073b748ab44810a312f57c6bad236ba846dce6024c9b68e27e029a987dd756e21398ea05c8ee1b913ad960fb00bcead5226646203bf9ae18f67170523a09c6563e1bef2fb5a5b86335197c35ea819d060293d213215c5bd058059b71caa4c322abd0110517366c3f4cc90636316ba8a7664b0e64e52de2c1da48c91d0529e1098ddae51620d2c07f3be95325dd81f72011b9d6010ee0f47c44fa518db5c1c2bdddd9f26866b2c7449931049c51fbf7458b7dfd720527bbdc5ed0bf9ea3448cec34cf0b6e3ab6ec3694f552944b6eee4d3335c943ea1b5b46f7ca4ae0ae88852b97b4937ad05908626f858df21c2da3b71da308d8a5be1f3106a226da899b53138c97d0b2f79a01083d2d85f0f34e8c2e51f248e041c98f1cfe83096507036daf92cac8c7224d960b1c61256dfb227c267861fe8d0c50913b1f4f25cbf325486ed830837f14ba229b03305d11fb73353c9f10f4e3bae4ed0414b9efb88600b8e86116cb14265dd5e94bcbe96db3f6ac6449fd6d5c2a12ceed3bb6926587f50bbedc225b7da8654d6ca3c3ad12b29f85e5992692de33ff9262916f4aa1ab293df3ff4342a439245238ad4fa961f7e99bfdf3f6d8e53014518677a26b37957bd97fed3c080d8254acd64d7ef558c1da3dd88506cc576bd93b3a2b02cab867407273324ad9290fa96cf2b31766b0ffbd5919a5f1b90d6f29ad60782ec7f99d8e15f355a444b3d742f65803e5d8dc10bd55f3981776a29eca720a8f4ee1c808122edff2be60f633933cf37362b85cf540ed921f05ec9f7b7627e4c47ee925a6a60b66055458271110a11390b52291b4a4bbc1e0472a503c2663b428318afce9df0346c998831901f177172d16dcc0423dbd77b5633a9880cf4301999ff941b733ac13ca20e5cd26ee4898e80a0c7b6264ddfc4461c9c873b5ab8983bf2a47b6e228576ecc2e0bd214074e467c29c182e8d3d56f501a7e95e334051e93cf6c920e91986126e1a4d05d0eabccde4ef41acceca98628767a2164628e24c18cee86960f137e95170e57a355d23c2620fde69650ba5f194f9c79207001263ea174e7dd313a3ca334c0635046b2101cbf341608bc2705248506adb7162ae6005b06bc9d732c2e6a4376d28b4a99968fc130a129c9ff0df71e01d5fb508666648f05aea6d03534d92d24e5fabe8025694ffa5e70cc44363c23175f9b3bc7fafe381e8a6364dc8618a4507e9305166ac014833964b1a00be92f6057a652bb003a2263eec1950a9411858170141f2c83e08d46bfebd8a1628fd83279d57a6ba6f7dd3b2420e5b37ecd1671cc209a6c02f58103b46859a611cb63ffc732c476fa657c71f9a4ea9761b5820bcd0401ab8b661d4c3bfdb80f49779e8192072314a395137aae2355a40d29591d4e4e596b70da329032e85a636646cc11f36886ff43f052e347fe4246e037676af654e45f35701f73695d149aed8552250cffdb28bea31557d029c4b0249c2120849449c7c8584d609df374f09a17f20a11262b5048b510337b89eb2adefe5bc3cbbc0dad61d689f13d5009ddaea26bf1bc0be9d179681c790b061ace293038f108e7bb7eca24ceb937ef22341db52362b273dfb09a1a4a23fe107477928f9833a647974cdcd3ac43d361101537c429e3a754c0ea1c36df9703b92913b0472527f043a08537f5b72d279d92c3c9c78475e50bf6015afe7f89dc16dac2ee87866e8c4d840c8ad538a035cc69ac3b0ed943dbbd156a1c425e8b9f8451299276b288dece0726f8d330b14d51d7f97bfbb6a3d28e590f1aa921545cb29ee02b06f5c4f66f65d28f12d09373f0fb72e1129fc8f6b4faa1f37d025ef4410681300fc9be230a049c2c4f29c6101e8437d135bd716d8d0ec44793d40a502ad2589c092ab6b92a6fe69b4f3957732103b5b68fd436258dc154a447f6bb44a2a4695cd244961a34633186b9d3ccb860d70d06a548aefe0081a2494bb9744acd58a6dd708798d8536aa1ac4ce510347ea6343d254d66c7e55c0d83d22e9bd6b5fd6a565ab885e96216f329e2194f597f0fe5842fac81fb0921198acec2a6225a46a519fadd090226620f7aa128213a049cce3ec104ff72e5e1c864ca89c5420f6cf883196c89c766703e340c3c28d302ec15e469a971c4f98ad2206df663c1a9417a4a53d7afa48ee485ce920c2c4fa54a4e8c9e22021bec068d0e8937f2e955cfced7fc72ffd2750f3900c6297ad09c78d6cba3464046bca74164bac1dcd5ede10726c3f2e2e9289586cbd62a083fcd2fc215629f9a82868311fc0ca6212f9215ceae2aeacce18a498aac032f9a6b4091c196c178fc9c894257b2d716ac71e1a97ce752527cbf0ff906e0abfbdc8f5f83f278209227582c4be7fdaebfe9295c0fbbf67fe01cd0b2aa4e845b21ca9f0e6c5727adbc7049d0b143930a7368c9abd16783e38f58fb2e12c43f30584465aec0dbe9570b311d9a0a2b739c2614e9f0796f05ca4bf68ada790526aba1868e2b163266ef62d89ca25df8b4bfdc1004440ea890d449906282069d74a6da6e56a1ee2ce3532678b8b73d03ea3ac9d317a90a2b9d5216bff6a5ae4a18d5ca1d30e96edb2a53c548bffe684c21a83154de21a596b9e09b164afda1acb48ec62fea6b550153dd8c02730eacc946c5b06d1c89170ff40a13365cc6a4ab8dd0c6d2d8208261f24437471dbaa9d20f7143adfe8621b6d74222ec423a4bd5826fc4a98bf6570959a5f4ee051095be9df14efad69093f545cb7f3745148813b22ca801aaf4c034f9d69ec0c524b2254300950142a4776ac4c5eb393f2ebfe2386e5e4c598e63b23541ef3e68dff384e695b9ca97c8874ba5fb7bd12ac6c155289f33ae9ef677ad88674cb5637cb12531eaaa188aaed5299654bb68b522f9a2a5d0ac1897065b9a2b4fdeda98d516bd162389c73dd5072266ad4f3d17693ec45458d552cb6909d340b549444c5472917b172ea97159f70811c1feb89841a81c58beafbeb9351d2dfc1308019a39603bfcfc73d7a8b556071f843800a7eb0e3565889ae45afc03ee893b05260702217d971e9487720242e18e54de0fff6c91e75a82c27c37d17414a4826aad6cd6d4a177e1cdf22fd7d66f8af69c42a64fdbb41076035dfe105826f95c89e99923f19b15c1292c10e13be37f61b57b492fdfe18b39f1c862e7e70df224e9a221c444c64b9827e9a899bb6724b67a2974b73f379c04b22e974d07c944796bedf69ea461cbf2311cdbe5e000af401e8500b7e35196a5413da76bc630cc81322dafb78f454407f84727109b11b19042a24f5c3f0737b9b34a4ddc6f11b353cc0db3747071b946e7493705bd2d8d1879f3c5ca8ddecb6890fc55fff3758eb223ec96eb525ee6569f8b616987a21153e926c45173963cfa15a76c139f68b33712f49c2c795055aa7ed005529107e7254f9c7bbca039e9242f76341d1ea4a4f514a550eec9c8f39139d948605f6c18012904776d2a0889542cac01dc76709cc46a8a5c222e0bb72b6fc13160e4f04cb694ab4af3d67847aedab1c4fcbfd3176b4a65d6f7c9cc05940ce42761305e7371f874488ec2b8b889780fe70768d9fe66c8c82e9bc21ce9adca91dfc047b01b4a731e40f469e9ccb36953c2e70199d235331912c2c238472c9bacfeee924b5881aca7e820d50c350b660c520401c659ed3b9e78e661e513a1fce16a2e268a1dfc82bab254a622332784b7578ea244144d3e40028ee7b0742e6a8fdd5cefdab8aa7e9bfff2a9e48656e2850645e816a640908fdb338f3edfadf1935f25dd054106274ae0056b99cfc8643a3d2a5a437a54b0591f79464d2a561f59df27f6293cf954c61d79df38df57863f484c630d196bd9f7c815c79ede1195ce5891bcfcfec00fbab068da28cde4b7aaa5a413cdc3432a2eef54cfc3b07a1346823db4d1f5882d83cf3c30067a80bdaaa19769d0ede642420eb777ae97ade1fc28dafe33c4118b6231f5b34a39e60487a5aad394a678c8b6ee9de5e483b5f7587e0b1eeaf8451a938e7a3560204842812bd017761d3f3ea327eb5fcdf0e5f2472b5591b737fc1e0c70ea593f539fc31c9fe0bbb698f3fd458065dc5f2bc04ad40612917168f8239468cd58a075a73fc1acd3d2f7ded534f32d64ce727422fa4322c7b30131a6543ae22fdb074b1fd0007059603ba500256545e205340245d1d39c87515e1a4f6934b0a29fad1512458fd62703cc562d84fbd4263890fc471ee6211a3574fcb624115af66389f1d3464699416f90a6cf0a84a4733833fb6167da6c1d93d8d803bb026af3454c99ef1b3c18c0b860d77217e3fa8182c35842504050f571c9a23b721c9e7c0bc768d965f3d9e48e5464b25e6b6d71bf66c151c32ef17a4d91d2e0ba8110daa53bbed04658882a27252fc7601d397baa8e0de40b31cb4c6b6d707e8c280b3bcf57383da897e64228df1a027cfb0806c3e31020c041a5bd8173121e5a4af204b0e55157902d2bb139a45833381b71686032b4baff0f6ef715b0aac2b8a6e02b15eefd18c651227119afece9140945be4f65ceb8eb208b8665a3f076589a61eac5d90615d4e81bc4358a7130a4d7d2dfbeac2fc9fdff0509b17872b93df8b088e61c332424aee3f8a957b8a78695ed4831a7a960d2ca3b0ead5459fb96636010c176e87c7b6c24bd91f9255f53a5ccce2cb13fe3c5632803c5ea27b062a6fad1fafcc4e3b80f22357524657fd088f781b523bb53f93dc264a664a1d7edcbe4296212c3b131b1977921345b3fa12e9bc965efb7cdc56c16257085edad72d5218065ad40e08fb28f2e3379fe703a06b7ca821e2d1392f7e9094d26612831cb904bddab9823ced2361e2f5f7927d605c7ae669c1d09cabaef1ff70ada2f89baaba7296aea415bced54a46dfd10d77d5929c10925f5046e69a4ffbb4bca405e9144cd78445a6c306c72d79e34727b38f6df22f59f04e43b854e6bfe374d276bf27edffe5cd2e7256ff81e68a345650168a9bcd839703995d4f379dca8810265b2d9ecf7b64679677cdd9f3d68681ce21292bfd58cea8515093db29c68a8053f9fd7e57ec5ba3ce7ee0882de6bba15bcdd7b2f81b5f20974adb18184134540d65a5d7610bf31bb142b56a7303f89ba39a4e7babcca53e85238b45501ceb9c1b8a2083277557c569f53fee596daa16ce5b6edb296ad54808dd6a5208d74dcb6dd4c1366cb05d4a482dbc6e27c0e65c125adfaf971a0f49278f45a9059e912bac1af57543621b65715cb4b37a2822ebe07de394ef34866a94673745f5befdead68ebfb7cc0860181a47ebcbc0767fb6fa9af9c77145e28cd63816fc5474e5aa090082a47687d9538aea39f641b0a9f545124432a7473ec98a6660284d3b8c628d3ecc94caaa2dacecad094b4bcab9341ef0d711db8dc438cbc1db8e2e02493c8ddad3a1771a75a25c8188f366e057a73b8ddbfaa27e0d710428a6a1f7993bf15f9a3add328fe9a8507e4f0810ba9f164463a2951acabf35723ce859ad322f7fc346a27424b4dceeee8b9c890d3c73b4b76f4dc8aff4bc9aa010447307bdfa7d23b7ecbc75a3f9400814773a0038269fabe738430816c05c0e3a09fcfa8a510c49e8ec9c64f0f13518620b7c19ec7b0765a6ceadc95c01c49505b9fb469592a7782cb330cc1cfe9ad87d392123b35f8c3b2f678f11c83b3ed984a5d1f59805dcf40b6a62735da0ba4e025b0f97c8813f342cb39473a8b0d48490c174aed453b020545f14081c59b1806867a9e38357ca318a6011f13f25349b997d500e92b83801933ccb81814ac611108a24fcf296b9715bd349d06e4cfc0248c9c1702c32c17be844d0fe39f30ff20528f614c2506c24e94c205677c6fb658c787445d09725aea4f408f02379c80268c580618f8a6c759bdb84a8ab4b84f755782c685af0a0f8a55aa875effba26df44694feaecb699db3126e0da89bc34a2bf6ba894ba0a1c125e80fcc04141db2ab52b07c6eaf8d78696200f04179ec80ec88e0bc79a204a5c6c75ae54f6f45588ce95a9258ffb1690d8629af41d3860c1fb6015d0cd91bd5b4e224abf5fbf6931ed3736db16cf4a67b69b01445aabe48406aa308137db1c0c22150a9a55e03089109a4b34eb394753db2a09aef82437fb3bc6f8f193a24702e5c410c277580325934d79d49afb63572ce1f6f83686caafec92cc77172f90a2516239d27531a65f919b4ea13788298625cdd955eaa4989912e00aae074f8d19ca85a41066b5ff98fb0c7c3c6bf526c941415b5222864448b4e004ea35e51ede307d048efe041553746ba987fda80b9cf84456c70e9c597a4dc3c1fc1e59c6ea590fdc9bf6c22cea736c1c6078cb7e298943a9d22a4c3157a7542d5a70a7b3d0681413cbaf3385cab121c10f474504fb3c2f4644c207956e3c9eb35907d23c21a5e150dc1f3a67bb2fe4dc2ea229b5a6be9171d818fa732590f648b610148402ad67c336e2c96517f482b3656a9755af91b3433ef1bbc95eed140d57900e9ba57495caff774781a034d7dc3095ebc770daab75ad7e49b73e779d4314a612361c985021ae45cd73d71c91d75371ad4697d843dda44de00824fff43beeb371071cbce69ba7124c77a137ff30ec87d08f5fc04a9bf77450f3db110efa08244da38288abfe8e3fbb1b4e7cd9c73b9696c8ee02f6b44dec2eef94d417b20f049286af22c169bc23314450a5e5d50d34e7191e62869903bc61f8d5743ee48081bb98fb35cdb1c883347eaff1015b623cb72c6be32afb503ccf06200fdcfaa5491308bc22e4b5e34375f88f6cb9484d8b4c9cd184a18272dbb738d31dd1ab6451d180f02327b8faddad5b03638c8bb9146c44dcf458dd3f78361564bf7f33b9f5301a9d1ac3c1eab5bf482c1d8158bd82aab2997f205647398fa7fd9b1628e9b1c93a865954af6462a2141b63fe0f7d6753ba5f15bd7d1a8780acba2d634e5113e0abe5492a41b4255fe86a03bc95e68f740e14709985eaa63409f4c66528786520580d9773126468666ed504b1710965b2091b1a5974a410adb14b767944c54227ea5bf17cd8cd1b01c4742e4670a67ef1fad08915cd92519cff245a982ad1d0cacfef3a21172c783409de3960e0ac654f323cade0e5090454868cfd6121e3acb5dd784608c0f9c02b34394ecbc128b5ec11ec00284a63145eaa675a7bdd5d419f7b2f0ce2518c4929bf9b9258b0f979c597f66e10e77a77a17c2876652fcf7269ebc80cf21564e5b5401c7c0cb71f1495aba0592412f1b93a9a5589d0ae8a71b1143269ea7aa583aba648ebe607b6346c15e62bb4b07b866b2ee3cf3137742799271767cfb18265387fdda3bbbc97df07460bf6d319d54a0938948df449efd1607a9e655f9699d8da5c836686eb1cbf86805c8ec578fbf4dbeb37f1b8f06c79b6dba99d23cd7de3e336ef1e6be41d539be6f0390fda7edc39fc6d927571ae7d064bcae796b621c94c226599ee0cc81dc52d1c1e7748048c8d7cb189788ded0251514134454443b8f9056012ab5e439443dd57c6fb1c7899b5402e0a1613258c64d124f02988e43e07ecbb6e71888b67b812c2551c5f0ab44902819f2ce5302078cb481cdb6b1ae422821a6ad7de1460fa2546875879e018fca79e3ecc1539d5cb0a0a71ce851725938f076f9033c778584844c5301dc5187233d8e5db7c3124e9508e7f55e8b45c7b3b6966bd44da1a8eeb239766567c896cd074f993773bd651682d0c789a50df210ce4ab7afa31c68be57b0d55b4fa7317ee9d711a0b8e776acf46ec4747261448d4ce5254d7f545646196a4132daf1cff0d70a3c03aa3061ccc2a5b24cf6461f21fc1d87cd61676a068e6057d3ad458d9294124133de1d181528c2c3e5b436401e3d41492331e4a0ab6d4137a8f924dcb3c4c83cf489499e4500925c9e3d9552c623d5d18c501ba29355dc40073f35bd54c124523d92eaa7975f3d4ad57d436b6c06f1c3d42c372dec504fcbd2648f8c2dda4f67239cf8c17d3d0c3619cf3e29b9054e619945736874970d7c2ba0c1e1e133ab08e6c667388fbb2b28037c2e2a459916755c6b3db8f78bc443b6a2a558389b8cdcc154926e81aa482dc25980644b0b72b0a4b1202697af65bc9452348eea39cfb342d26ac72670b4940231ef44c0e7e70ee3cc1fed175a7ab415ae48fc1df89cdfe4b080cc86bdbdcb6138cd7ba660918f0853771da8e60db80c758ef584e35b7294ae90689a85a8a799296ee7fe44ca68ca22406933f911da996cd5a3547abff157829eef5805fd9432587ac4c1db200e2391a44e9af567313ad6c5d8ca3d5763bb096fa17bafbfe10640a406493f256049a2688b9f14fd288f6f3e6a311acb64e8f75abe2c86d5844ed8cc91910891bb0927acb0ff695ca54980e5888fa9c02b0ec2afabee3df1e75aa3d4f883e828e7f54304049d0aa36055ed614388ebe3255dbe49b39982015263616b81aa396e3318bfb59a4486bc3d7a9b2feab394a9425b5380468c28fd9b2e74405202e783408d771ad118f3eea1e9586f6873b32470961a3dd231f4085e4281cef612545a47b0593f61209388d3cca9bc41bfdbb82e1fa5f9c8505bc53f873562a090d0f721667492db4675b305702be0d0cc51871a3f433b74bf1b2d0c05cf6c53b912f3d6525f59515288989652629c8749ef6f149e193bd51897d4a7f52f150476d0242da56e723847ad18e6b30b8b4acb504cbff6423f475f844320a34b2e0675a44184e47c39b6df9815e8e2eb895d19e5516f9b1500fca8a43a6db718053803e034b59ff19bf104675767da9ead672469353dc02351dafb8f48d2478f2928b772669a8b2656715303117016aa452b6ec0de3434e71ff6eb1db5d873e2cfbf727c62d56066e0c1df90d7493b87ecf473d8d3cae10fdb76c1e891ae5250ec634109824e0c250beb93903cabd2dcb9f9487c3f33b5260d9172395aa339214c9e44b7a0f4750114d4650249df923017f022a2155c2e44b320e9f83ea9d2daaab8fc054d4dfa28dc925157bc0c03acbb04524ff7fc4578a381301342efea8105ffd11031186d3b3f2fff8e0e1b0016446d227b62b4fc14765d97245b0177faca56578b60e93c9b6ea246ed3330559a7e36ae8f3f3db1d7c25c4d0e9440ad62a282a7b4326c299494f4e05875ed36977fa08818ae3cbfca02aced4da716ac96e41a35bbc1989b564a1010dbe663b55dd74bd30363a0424c866b6062eb089bf40578e897a4aaf9ec204cf4a7e3c9306ed2ddd5393b23ac9ecdcfe62391cfee2dafe8b7855a56a46a2f86773310de0e75294928f317e67d0ea97d051ae905d8d8c3beb268dc7b11e2534269bfb601a1fa54c3d540f3f7a52b5c92b55ddc7aea5789d477295911436de7f42d5865c053bd6a2dc5a4e29b69960e3fce594b1c56a7ee8757d745f68bbdb48d8052cfc95bbff4a1156b7b32142f73e2db06fa1f152b52f69ce8f4396940cd3591e46b4798e34ba255c2f4f748ddc463e5ecc06359745a898402087d821850fde8aade9b4a396c08905f3bff308fdc6ec7ed4c94b7d61f17ae92d629b8e11a68a906e56dfa8f0f934cc461096154cba5a324207ae405f69620c278c331e8828383a6ada40b901360641db5189d14c290fbf15f76afe988056198ff96dd88d0cea6790ac85b84e90ebe940fe8b7b93a98cb92af5182a59956916a0c4a00f7441ec39f1d77ef2d5835b918008ed5b6cf0cec3dedc0def836e8f9fdcd645bae0fc07baa4a881ae695399e46ee0f6861f9055a5de58574e4dd6413b9984ddd2f07ae0ec6a30d520a9513bf06821bf1a90e941017b9f0ccf337c9f99b2b50d5043094240abb9c54695be67fe5788bf67dc2a4270d5d71e9efb1085e2354033a2fa23edc8648742095e07ea3eb0204d6fb53cda1c2ab3d1fc18284d50aafe700dc40e9dc73fbfe98cab1150398b6b9217bb4d9ab229554d99a9eac3609efa1925203a1e2ea2d1949ba6df688da73e4886690a67097f357d038d3bef2806ed81cd19f80b602c1fe1250b0fb911da5714e69c5d58285243a36448b6af60a6797cfdc92c1c35ceae86562c873c40c76fbcee517daed5aa8665442e870c447be88dc40b4e59be709947c91136de2209f2416613916d7cf3b8f34ee28d4d90807584bbe1b6421f4a1729cb98aecf24998cefd073adf10919fd9f21a0b9eda5d707f056c591399987c849828459ece92e4be27e192f017414044af33e995d30ccba9a0ec5420115332bd6f3e1b8e3b1c8f49b0a4be4cb63b00b0cfd4e61991dd3b16b387182804bebfced6bcddfcce00018380ce3a80361e422f40b7c417a8de0c4bad1172ac730d1ec3b2123960f184948dbbbdb965b4a9992940147095109e509e054f2d6d226032fa00025b14cc4adf8b2e4750489d6e4da5e7b1b26d2460bee706ca5ac35b9a46b0b5f5a934b0b59d3a9c5276f2d29e97eb5d8af3cf3d67469df4abd63bffed4c2f92d0a7553d84b2d8e33db704a8b47deeae1a89d962cf550ac254be22126cd335f586a306514c9c6e439a9efb09aa845265da5779a4b63c9538623cedd64c21ad600fa4e1807ce1f0a66f54bd71526533e0847d60773467119f50f913f9364f9497292ccfac0e67e998774c8da3a64699f6b963455bf36953a3acac0b2bb79610dca18b9677d1c54098e87b7b4d5953d9941ddb63fd0ab48823952a2349b4b9e60b6e928c5ecf4f83169b0d780be60489fcebe80258240c185045f69218bcba8df653fd89efef41ed0c38663833d4480db030e7a18799a40fd32e26336eb6144e6f84a3ecd3c410d4c549199bf1b47e0f19bde8ffde069910a020669a411b21ee7fd0a3c8a20f4ebd069719c413da8258ee5a33f896bfe749fcff23167f74f5787d85bfe199880e57c0e7ce8f87418cc793a205bfe2514a590fdfd6146648ebf6c328bc209fb0216f32201182fc1d4434a324d587b0ee55c2ca5011b6f48faa8d943b24982c9bd136428ca2c0a3bbc3a7ae242a669a7b308483a014182273017109202b810e68b4be6912800860315177effd9243402fc3128a411e0ffc15d32a5af58dc649a9d5d5606d26c364d2759f631656c915d6e11733464d97ffa7356ec38eb6b2efefeedfd783fbd19be921021af93658a644025b8fb59e4297754c875b24b799ecc0c3c4a27d90a64fd583d26a1774808a21abf8c471c5904d2629016fd554478842032e721b24de934879638ac9b33e039fbc2e0513a11a12827ba52016bbf0293b8a6acc8cc75052671e914d1d77e8a91228413a524f48ecc57baf05b6b654051c786c99c320e78d0f71f2108f5fa4dbf43568f1c82bbcc87153cca99d7359cf81a36e0fbfe405ce85e8c45a5094c2012c0e00b39b719ca722b0001394034c80dc43dd9d9e45e6db97f4a1e20de02e2390f478d8f936feaaa2ebeabbf5895babfd19ede4e734b40e6f85ff71f31f0cf717c5fdc97ac61825ba4df02a8e4e12d233035e22dfaf762fc7d2f9f668cf01c62f2dca74248240d29cb1c1aba668b3e8d510c32953973c6c289f47d8169a581068df7e1f7623c630481c9b37d6bdf1a2882cc6908cc567fcf960d47490517e9a5c68738eb1a26b831205b1e002995943e0053fa6c604e993220de02334e29f9da4a7f14f3943263849190d36daef49180ccd924cf0466cbb9dc2ea4601993310b8311b02bec0c4f2ac8e3db1f9eb6b046602f4bd993d213194b2f7c9eb3bd1ba7dbdddbdddd1ba745e9deb2bbbbbbcec039e5dc7dca1cefeeee566dc1f3bdbbbbdbbe306b5377ec944a1a520fa78b99d5d26b2995399a56a975eab4d27a355be9d56cf5407627dcac4e7de6cf29fec41f9ef5766843699f5a7aab5397b2933b9b96b7ede7e32a77e0cc1c216df14ef99aba17da184b29509aefe5ad3b869715c6888d21e6043266639411444611192b8ce11443194904c570aa059b250926f5047cb39425019b2289221913430821e50577c78d99a39f471e408afd37e60e213347ff8e2e3c2572abf228953ce8ec43e6f41705a6dfced3c91bd2a3c9f382dc35945d04bdb4e79cd47bce998c4da4792497f00af00aa6179f76e587c5d7d1e9e1ade601c4879cd924b3e753154aacc0364b591859c2b8f2026d0a43b665290be388279fced7c4568214ae042d52fc60a520a204e95a646114659ca52c0ca21a46ae648efc295bc43247bec685c685148e931d5649dd72d5eb38b68cb98e16e9d7e7dce5b74d83dde2269639a999437633874c5227e581e364ef68e0287f94d4da9979b8cbafcf69a01d3bdb5147d5745aec6ed607ac0fe6abf3cc1a38b3061927cc16ccdf15bf6ee6909f9a39e427b193e630cb585aea42ca9ee6b1ff9f65616ec123e6a0c5a6d897fb0b7e2d69dfdd2af048b3a37dffe388b2027387cc8da2018f3df7b9d0be4f0ed43c430e749ee110fa5e69ac65b17c6f8b29c023cde7556476d40c78944af639f1fe4f3b41f0000d55ba14653a2fd0936938647e6d6fe2af5c5f260b1830953a95d9ccbb46172c654e32a728d9be94b64211c3c97bafdf367d31d3d17ad44afa05eba3fa6148b17e0dd3532773555fbf5f1d247d6cbfe6531842b97eed1424910d3be8862676d8820673354cf87317ddc0dfe7554936ddec50716a65d2626db14ea532eacc22d71fbb5985e4994fdeda995ae4fa354d786c22b97d2f11c53aaf3f8a192531eac7ef377f6fa1bc073dbbd9ee21b30d3bef66ae97bac956db4f361cdb09074aac7fc7c0b5da70146f7eae97ee26bdd5d4d43ed7d415f59dd7f56f11f6ba49c7a6a3e348488e7437b0614f8bf5abb5f7626b9f64abbe25e280470fb8c8cd2cfb4966567d75d98f722fbe4a989b48ced338c49ee4fa3ce4fa48b15ceb2c13c99c3ae2fc2a1068ba54d452da9e4c824191f3484b94b6334d3d2e1298a8996c5f5fa57afc383cc27222f3d2b57a55c872825fba542f5d15db19106fd52681e342212dd6af8f41226ec45bb54849fd192e751ea1525c2ad5a53a4e0a219cbc70c25aac93a845265d9feb50b5897a8749fd867dcbbab1749328b9d6da5572eda25cbfe3504ff5ebf7d22cd76fa6fa734cddc239d4627d61297322caf62f0913965ffa0be704795357cae60772875221441326f2a4df5fd38591fcf917df196ec00732b681e4e921935324cea8d379d20702d225847ab1b79b47d43f4581a0e521a8c76991a2e806524a5fac341f57e5cd94a29eb6d8aa3f1cf71ec8cc85e119f87237a33870447d7d0df51795245fb7f5afd3afad434dc0347425130de958c39186538599437ef53cb0ff4173c7546132c9704976f06f3481fb769907774bfe5461ee9899529f0de1b99b3b3a213cbef78b2d7a7dd187d00f6fc0fde23f4def4c1d222660b468c1821562b8fc3b15a827733a47b19329f7122b436b35266b355b996a5581c932590a561d664a3472aac0b4829759c37a7c6ae0d0345fb4d75872b51790128210991fa06289125902bb7fbf3a688acc3ba887e60efa294cd353e6e89a76cf831aad359ed42b3dd289484f4f4f8fa50142eb6e4d6ca2674a9fb9cc6338779b2276f186a21983e298f03883dc310571ba2b30edbc1a2f78a927f0388352aa1a48a8300d117805023ccea0a5202b199a23a6c8cc44c1e30c8a82c5a6ca6aca36434383064d0d1b305783480f183686c0e30ca27ff37c1b34606a828e6ad00d67901133e8b3a1d11225e8da743daf1664ee98e18ac80c97ec3763ae8dee25fba35af35877977091981645774f84e9f2be4b81dc741eeeff6a5f271217ce588784b9073202527d8de7b8171722b1f1abef42a0eebdb701f680a253a1dea1efef4ba870fc6809d9cbc8ee5f647fca8546352f609a10e6306ff991b7fc651eff28ca84b21e3d478c7e74effd11550864f443d5e27e151ee9baaefb2e447244089051ca7038678d007fd5773f4aa52e34e22defa5b73ccff3de0b911c9944aae7564a54a1510d0cb83e0dd1088bbcc57df7a9ce9fc3823717ed8ac0fd585af49fb548f3e8b3226caee05516b8c3d15f4a9cbbc9e003b848d36dfbedc7229dbb93bec4e360bae53a70e0c0c1c9528eb7bb9ff49162d745def2f7da45eee44bdee4d583fa0b47306408b3c4251fabf2f8364bcee44d4c9a277430301f435f34882ea95dd43b6317c1bc4951ef54d510788af160fb272945de9e931e08cd3505c17e7d0f2c07b6b7e0e65b38c4bef68e24d791e66bbf013794151c6287d8efbf2f3d106806b4e7d157fbe98106826cd1c55850caa48f7dff2599e35449b792248f6fc152a5ca14396583d19774e0f8bed5aa9b14c15afcbeb81776d21599ccf1f6969abcc96d6cc0632bc9ce0281268192e9f7d3708a69d1a7932f8df1a5399f6897e4f6dfc0d95cd1e3a681a594f5705bad75774b6b13d9dfdddd83ba79858259d7dd35cd3577b74ebdd21e43226829c303eed113e4e03a61e97d5ce0d9519fda05ef148703ca9580efdbabbd74b1b490890ded15fcd74390b21a388943d3627fdf172cdf7f9e0080d700079c2e4e03f0fb664d9fd2260dc0fb29817d684ba6efa5086736a706602bf5ac1140c113a66b0c6d193130752832870205c62007e07166d3e97da8e28919aa38a1290c97532380be06e07cf2167d00803749ccc7f9008440463f34780d4220ffcee807001ee781fc3578fcd2797042a07e0084d25ba94fbd06a0f416fe16d33cab97a1b1d1372ffbc6f7cc7e877fca7a288347857fc1d7fe2b0617bca7fa19e43c3d944138de301c31188edf87e363108ee205e1a8634138f6641fced362ba879cfe8d70ec31e3bd09475782bfb0261c3f1be1e84b32a509476792e9cf84a328138ede24d35f85a30efd54e1d8d333d109df70c474e62dda4e2dd2afb489e8f705d399245bf4afcca72d99d2a7f46b6369a5b0672d5a51e6d0c701a5ebc6088943bfbd234ee2a064b8f52f9148402e401816a58f335f1c0107c6d2ae9a4f3355d2c77fba7c1e3d1d7717064bef2303e3f467c6d4c0089382a6613856d53070aa54c71f87ebe8f746a181678b2dde2a30e73df6e4047c64e051ccde4f37e0d163d3059ede2b709fd9f2ff9cc0a123be36319a058fc778adbe9fb30004ea11b020f47259f0dcec2c00818090cc1e9a42107319ddb7e06dc0c01f70a30599fb24f76fdee635aa7dd97bd95ed554da2ce2c01ebe62dd608dd32983342db26e841d74bed1b0dea159fb6ea2e158cbb46fed1b8bf66d45f34c1d5e0dc58aac5597f637589cd37caaf2920569af3593acbd365a907bb4a8cd31bdd34c4a849668df441a139aaafbe1347a0336cc260544c38c80f3d5a2f63620508bdacf22cd47f75f387e359a8dff0fcb88a0647866b3f6bd6ddbf61cd8a345ed436851fb1a64e0b16145b06e8282d23b3d52af7120f3dab714e9635fabcf816310fc179c790a8e24c8a50ea1c8fb6bcfc3bb9f64ed3b39f6e419b0487d1990b5bdfc59b1eecf7cff029075b3820e28c8aa86d1c82c50a0e4e5ea31e4d484764e2e7072c15b00f6e89def5ee3c2d148e62e38deb0885f10b2ee4bd78f6e69df85acfb34dfd007086efc5cad01f5bd4f812c10ee2719caf765d61ea745ada80b6f5ef872d03b370c623b0b404e0ca798cb87b7b48b83135bd47ee60a8c0275e8b4a8fdcd0f306d8733f20dc73eca9ad6d3a2f69ac3f018db0087e1194e275d3842b7660c33a893f79b48963a2448a50ee405a4521ea27d2daa21066681e0a305ec739b9438f247579fa29c74af812448a5dc6e29955996929410b9a5ee24044b87120cbef1d20361840e04ead67cd919b1a901771804488b3634e05162f9d13b21b488023652052884ded94ac0f37b3849d919b0dcde0364070d345f46be9f13026406e19046807086ad6028cfd9457a87254798536ef0d4d3235f45844e8ff449e5f909903e359708b046e6e8481d1d24348fa402b6c119419f8e54924cbe336bf2fcf9386eb41679c4a9913ef28f8428214a96b23366576499f4c292371493756bad77b591701a33bfab4db25953f7ddbe795ff486028f33e9034d7223514d7a10071beab997ee84094a90a823118db3a965dc777361f598327695d91d64e505b33ac8f33b206e2384fdd54f666c4fe753cdb78d6f2d589b3f54d2bf4fc10bc8591ee2856392a3ec7d0dc8a26f43bfe693b826a8d462b368bec6e306f3055731d469a97ecf50a28b6b803f6c7ccdd38022d8f89a5746e580477fa2610f75d00cd8424da950261c715e854035ffe1f047cddb8440365ff31f08f4bd8d5f75c1f8692381bdda02d39fd2e4ada02adda70a53a1eac79bfafaf7865f3f4d1ba0744dd07e0d09630bd57061c75a4a23a9008ffd44829cd9b933762c370d8bd499e794def1396f5e68e0f963fcd54f62609b34f0fc55154b53acb2e07e99e404d9c319b38102df2d70ff945259465820cc0cd4627f4c3cc9a307e5bec2e93525cba457943c254b591a4eb99f9c6782994d4a70d058c4beff026c7c7f3f3991f3cc216ff50cb2618269db00a5b73c0f2798169facf441e57eae9f9e7a678cbfbcc8a3348f8ccd5c49efc8a40fcc7c89c31c0a9d32d89435976ed247478d34b1d7810539073cff45d3190c557fe15136bd74a28d45aafda0ebe2430d79becb19085d171f68c8736a6fa4773aa06e791e1ae97ac0469c478837719d0f584ee960e6d9dff580f23eb039735be7d46da503888d519a954e96882348876f5e03bcebae274df9fb24f22476b2948d51926915fa3914cea09b17dea0c5fe9e16db39a0540af1709c44416e8116fb276b064da1c64853646634b594f9c464a477583e5aec6f2e33680659a077e6cf52352cf176aa310173ef3de781bde4ad79bfe0ed510f44fbcbd3bd6bbff99237d9b0d4852cffae9d7a49fad83cc3fb5d7844fbabfdfd23dba3c27beffd8b7acea5854046a313ed8f20d15e0b91dc3f22fe167ede526af1b73004220332fab13dea818c4c40a2fd0550d989161e31e2adf9da6fa1106fe5982289970bd5840a6790b7b6bfa191876874199860c3096f214b6a214ba29e4543279d13422c016b86b014a3892f28bc5c47ee6b8f710864e4afbd0a9c47e02c6a717e0a2c922e1b26e18c5dc1b20bf8a68a2684bd23644841f828096b592629f14427e633e5eeee54ac9436a5734e1cf7cfeeee943aa594a2dc29a5f53fdffb7db4d65a377b35a7ee7eadbb3b8ad24a29e5ba39c5166976774a29754a69d7ee94522a529cdddd27757710e7e9fed9771eebee9a955895c23758486953eb9452caeff68e9452d6b8b7f0555be3424f9983bb28b487f39c70e7f983e784679e4e58daa874d65a69dced8c26737b67ac7f1f50c321eeab0da3e84eadb256af5edddddd55d5bdeba40c1f835b24e5795d97aa9553759a1714c59de6655b7597ca68339dadb5c608aa2d24e064f934b5d6e8a4ccf1526badf7ce596bad35ad7d992b33f0177a7301927c5ba9d52c4d8b60965a945832e564b9486719de7b35d83a94065c1154de346bb3e7fdc8f73adb5970f46ca50acf552733d379d2d8a8c1d57494cacfc6d690dcd78d90e95bb00698a5945f6bad565aef29bba648c0c9f4b92f9c21a576b44fad95365dbd61751a981b495ea2e4229d658b607ab49169773fbabbcebbd39f383247be0537ab192a750fa514291045d9cc39e79c73d26adda5c01e05764be715ec33eca16c9109af46aacb0c8e517f6b23a53867b40f0285cf9fee5bdcb7b867f1c4843b1a5dba54fad485d62c6e584d9c5bf1654909e21027a54ff5617d20b708a7cca1ef7966dabd83424cbb3762ad1ea07743d9a0b84e4a9faf7b940d0782e097aac9f2674b9ffb98e67b9cc77bdf40a0163b3402059e25c89cfecdebc0b316ceee093c5f68062d994355262c65bd70122179abab2782bb50e1eca860cf8657239552d108590ac2a9663096994d999529c5ba791fac706cf26a03a55835a0c0cc94f50d47ac85208d2a9585a693d22795e573353a1b359d943e5d963f25539ee19439b56b3e6e04209f4d87fad1a20fcee6868b6c23b7edcbd4a29d9ae8e64a1ecdeae473372ce8ac5cd9ea9f54e4942237516a0ab6e082ee4a9f0c509993c6051860f0dea3a3a383c1f79c7cdedae2c10c703af938d2c7278ed96394b34944a433799a4803b9633acd1cfd6004e06e7895e5920d3865ab324014b8c59c55719a3b6692ccd14f6582a15ac2e10deb2625e9c76ea2c82a95090950b05d60cf32490998124cb00761939458a2c3c3e8a53d93f3496a4e27ba25438011344484105335ef9cdb8c15313465266a4ea6e9349f8e3021b7920e9a4bf29c33490913a6cc4ccda99a5d4aa5c2c92a1c3ab26a83ac5279aa973964d55355d2115a6455ac0459a5faf721ab5e8c7d9155afc343567d0f126064d5f388925549498891559ff27e54a9f7bc9f9487c5f33caf88a5ec1911257b45e4f0e3f52b77cf793f1de568327723734f394e4a50e6a450c99c2c73dc8d8cfacdfb416d44bcf2f6d7fbd9a4d3bd3184161f1c59474d4095550a904789c58abaa38aa95f77ea1275320922031fa8c8f5bf25b9fe47d192eb8b3f8420d7d7f921895cbfe7072d72fd1e4030c9f57d004145ae0f24c80ab926056125d727624485179295a018724d122229d7a4215a80611993ddbbe72caba60a8cecf6c59fd2cfff2ebe187ff4a334a907304c7ce02285002d4e6049e2814a0f3864faf2888c4c5fc757801b5220460a4a9020d682972754cc1cc0fba1a81b515c61c5142853a8301a8151d10e26ec80050a8e8e5838f292ed1b00ca18350a40a5153e2738c10e99be8ef74351e874e0e104af6c3f87183ab4906d06d93e01bc1f2b83c4132072bc1f2b5fcac460ea82072f40206508976dcaf6c9881260536628420757734185852c33d8063ceae8d4c7e1fdd4ae28e9ca931a32fd01601f3db44dc0c30928a5940ac0fba106b04e6e70d2545443b6dff27e2c0c26f0a200d9bee8fdd82311cc04c0fba9dd1226f0a1045e64fa00f07e28dee18c99b9a3014dc0024af043a62f9b9091e9e3783f14eba042b63dbd93b964fa19dca8a009122c656b939ad890ed87de8feda2cb014cb6960421c8f641560d16072e49e4d024db7fefc7ca348183c308b2fdc7c0fbb1324b68e16942013a369053641589650443001801103708dda0044c856c5fa707d644b6cfa3878f0bbc1fab9465a6cc5712c0888309ec8224264688600611c4b27d0bbc1f7b6386b5376a88656b830d4cd9fe0d4a6b74015383d01846ec50868b76d181cac6d232801d1a8ea841061a52c8f66f3e4ae90e46504a29b5b951433444e425046564fb9ff7634f10ab098151a66fa304366ea4208f38b2d5b181c562052b8f92498e520c01f228c7582117bac8f6a9fd3bd444b68fbfa12bb2fd7fe104d9be8842b6af034316d97e4f0c4464fb3c96cc90edf7485aa225db241976c8f683a490ed0b21d224db37d23b32698634b2fdf99a4128304346664aabb800440b5d64fa33de0fb5016b81069910b0b0942deb05cb820bd95ec936081dc4f0f08769becf230d7dac02a11f32fdd4f7c405196fca17997e57940697b4c2934c1f657d9842a6c2964c4dd01126db24158cb27dedb3d65a6bedebb0d65a6ba518401e698268c8544b52900a327d9c4212997efda23ca9314bca947e9f1193b5d60620d31c36b872f1fd584a8e56f8b8c46e94103154e365c886ca0b3668be26254d421f5662c50b35c03c8579d56025618668ba38d95072460a335a3cd54041c60bcd92a0951747334c66c05b04c99cd0830caa2e43ab139a6821a582183e210b0c5e1825d5095cd4d035cd5225c0c07159f2d68d4108a505acbb81856d0b240eca0d7384421ad2a2744b4a99d22d99b74ff682652aba2968a13615695c08cd9250088305d717a7170b2e2f9c58706da194040219587031cd3438c1c2f0040a51e01b226d0ae67ad082c03345d820309d1df10416113c8185134f30694d9e00c33e611a1068311b6a117855f405f684b056b0c7444d02d7c852068514da0c7f59caa0685202cfbcec189c8ac10ae10d07cd09ae3ad019be2820819520667895a5ccca114c58997d00a3b29459d1a269b1b2744196322b2bb8a2e59199290412d9aff747f0773fcea6a02bd95f49f8bb8f000e67c28f47af4020fc488c6647ab10d99dc0c2244b27a480f244964e4491459eb0e9dd0ac4a055e2650469a09ec043b8b78f7a4e734d0b87d47142808645ea060ea96fbf3e57ad083c3cd70ade54c1a374ea0e08dc7fe45f08b93038b35c095384ab4669d1276cf5f8535c8ff32831a2f7fddf7956eff87b0bfd01b684bc7d052ff0e52d1c425fa76edbe3dee17edb58dccf70214b04fc33e19199c72f83ff88ccafb810cf54d497b9e73670fc5618646d8fb7902542f7ab8f80f7383c82dfc3effd91d577affd16e255fd32178e42322afc0b6e90fa38e896bffb10b5b45b81dd631ea0e85976f612f1c0cf5bb7074bdb489ec9c33cfae6d1378f36d840878e79347e797ef3e83bfa662d1e81479aa37cb4f5aac98c2ac830c3fffb6e7c8f1f38b727564594daed6834e92365dfb82dce9be50d0782d39ed34099af83e36bb7a5377fbe4f1d96c43cb588056f4826153680c0069791f623f628b8fb940f9d257cbde766c7b21dc8b2e18fce0b818cacea530fc451ec1f8757ef3d177a3ff301db0a625c1941f7082567419abcf49af1f296bc5a9462200349cb1719c698e20503194e53c0f0c253d11424788101622c4d11c5853188a65062c80ca70fca1238c49638aa44f866295b2266c212329a2fa9871270f565cf1923e2becb0982d4226fcf4dccc9aede8fea395945972e32305d27af2d640d936f1523df7a465e42a66411f20769f45d217116f94491f3c82aa58f7ac7ff7eb53fc81db262c95756c9f7654fc9374abe5f83c8f73b2f70aaa3de7e23bf0d90f5e37b5bf336fe0b81a6500c4da8e00242d2bd361498e032da3e898bf34e3a414403132e20249c162ea3d523d19a845c464ef5295ffbf27a34531541e99dd4ff58653ffed7246555098ccf5a06e55cd75581bd3c7ea5de8f0f96bffd9a902279ebbe06b2fc6d8434e6adfb54e6ad5b899e74bc75ffda20fbcaf7deea94ef57a45a02c9a3fd4dbe5f99f44ed73ba9bf5f9b489ffefbd559be5596ef8d6a94af1656a24b138eaa3c5290ce640ebd225bf72f5d72425390ef5711da65437ad4a097679cf0489be851bef7290f924767266124f20d472a44feb0e09eb51815d450fb0af3d67de945c07e1d9dc89ddb3a1b4de01fbba9ba4c88f177bb2af058891ec0fd485fe651208efb327fc0852c20f07c1a3ae5fba378bfbd9ffb38602e15d22590cb1cedbee2906f2d9234c8d6e6398ffeb0c05a0864f4437bfb21905c011147b330965e2e2dbcdeba3f7f00529081c5d1ebe592a83c3dd922fde1d1372d6087b5789f0b9da8c57b7fc5058f55c787066626227d507fdfc7fddb712b50e659fd4d29df7a5ffa786fef8f389874ebd220735c1b64cefd31031c706d70666a6b70e810640d4c14587be63c4ee4adfbdf87f125d2e22dd2e20d8db4789f488b334bf0289df2bd4444389432a712c9d67d9d7cff860b1ebd123de5fbcea477bcbfef4de68edeb99f7a0f74262d5ef73cf0b2173a91ccb9df81c195c8792e8a28df27721f2099f2d67fc321f6e80213eec578ca21f6e9cb0560da817dfa5408a738e0f9b283fb204acbd273c0cce11936cfdfbe7e7d0bca5ca4664adf0917ca6e85d899c8d0451738650515d8b332942509cd062c93655296a32472a826246559f2a493869db436967fc376771cdaddedeeeededd5d6db5b5dbbb5b43cda4534aa94fad2d95524a4aab94feb5ab8ee6655ef965bb32297ff4a79256975252abdd0d556bb59a94b2d6c82ea5a4714ac7995d56dfdc7da42078bb06666e9b982b5bdcb7b86fc9628bfb16f72d5db2d8e2bee54a970d36dbb722ee1171d22e09429ab4ab5920c8d2dd30fe7e128d00a4c57ed40f1f332e841e5cc7791eb447757a70fa06978d78ab37b9632e99392ea8e3449cb01699b4d84d96cc1d93060dca7ce5b641e6f4d7b98448e6f41371c0a37768e3b488bf099b44938a937b53a82db6d9f0517c5777f5d88fe484628895151c3e2c56b04c9969e79c33b64512172b604237740173c5850f2976a58c1a2724310453962386b070cd2f5158b122824991c2ac95a408238fbdd44c797e83c973be9c595ed997cc39e7cfd0e4999727e49999192c4ee6ebb592c2068c5fe5fd60ac7a194598148e428571cb93f68e8ce28a93ea1ab78c42fd943cf28b16532ca18528f67ab9561b4d8d4cb76d06256f3333ac74b9200918cb8a10ae14d30205955c2bb8e403c58ba7ff4a1ee9eaa33c3353583ce1a4836d12232528a46c11459726bce8e2091515fe7cc8b4852762f8171ef15711c31655c1e954596286c79beb1758c7a3620216501d151f966c308e4a1329dc99138aca4c7ba2e889a30d5fa18285c2e952e142a8366954c2688132e089992d6188e805a1219e4420c4002bb2a42a4f9830603654c3b4ba42870c190f5870b7c419576c0cb8cb5226bb828e21f34203c659ca6464c8805559ca9240209ba14a52132f92b2c4a053c3e4849338dacb1733f36e265730365a6c4bb33e96b9f4f36dbc308802a7528bf56d94e06d1e09e9f1afafe33cf4ab8c894b5bc842514ed6e76a60d86609c3f53f2c70170219792150175e4781df8d16eb6a0b1626404389518b4555e4b127d7fa75465fe61f72091e988e9a3899bd5e2e7f1efd73af66bf84dc14d4727f9539fa254e0d87f492fdc2d1d7dc51c386cd1c26481f0f3b872a707dee7584fd474a89640e2d6aea719eed29ed97d3bf97c23ae62dfa4899be8d15703f1724d422d5bcba7b75d7ea6b56bbdad5aea6b916d2a016e95b3a84058f943e0d721eeaa24f8760bdc3ba799cb9a336a6e9309d52eaf4bdbd7af5eaee948b39bd14f368e782e58f3aa920300d02550596df598163282a70d0923ca5125c9a67ba92cc09c2979811583e77c1c0df3b4fac08cc8a803fdd8ed4df5ebae4dfa721eb07b54f3d0452b5f790f5c381eafb277125716da1e8ad2778fcf2535004c11e1e600f6f4d97fff8f8bc353bd6b38ee1ee7616bc15f0772aefebf93ca14e8927a4cd979ea58730e439dd2205cd1c43489f19b60aa367895f398ddc727327ab247352609bd2d892fba7975129c0a323651e0bf356bf854daf037b64919c27367780217de6f75b25244fc7205b4e7387873d8442e9e80c60001964c062cdcc4c9a1db0ff6861b3298f3f538447e904cbbd03f6277f9b2a98c679c64f44ba1e7691b76c2cc1a37d725a417bdd25618e66e8edde5c7bbb3fdd50a8e7501445511445290d7d64204b77833ca8f3549f840b593fb84f7d2a044a610f923e2dc45bf35560106fc9a58f3b02cb16250a4b07b27e742f7a6b7252f0f8d986162f6ad19bd000db5cf3bda877e63b94de41e50e942e8eba0732b3fca9e81025bb900fb538675051983c4aa710e4520fd41498e348e08000e100cef547cf53eeb81d8e24d0881f843df8a181fb1940f2caa8b7600625e0ed350d14c1b9562f842479d37254cf4e93fb9dba663e42350a0d4ee22875873b1aefa1598b73cac2f6eef66eea4febbdd7ab0c052555499ae2fe4b50acc094a5f7335e2549639c389a33c9c9ee0a3cce1835016ba008cebe8232648e89b76099241bcaa33f89c94d1451a1243449b2591efd4926c96479be8fe9202a24659db37e7806be617b1e482976e75e7806a61e500f3c572973e8d750865370cfbfbfd361ec8e1755051e279215d83e8a0aac7555d02899d2b18f6838faf705fa288f47667988ff786496bbeb2095bda3023b6d4d22b86b0beb1d675b24240d9c52ecca01539a5a4ca2a224df2b939c1893e7cf2958b8b6601f1d99e53ecad4fe0d3db839030bc852e6d417e22dfaf9fe24c97612651ac6c6b4382712b2353f69ce98cc99f4e54f920ed12ca15daa9100df2c93a650d192f06a08eb843da328a698004f794106d48b8f233a3db97682292bd430f09665d214138430a304d88ac1dfa5be404691b7ec2ba553a8742db655412a19a20100000000d314002020140c0785429148281eeae29e0314000c8092447852188c835910e4300a21430c0100004200016288ccd0d4460016f265a0f340d6d1363c90d0c8bfadc1a3021e91c07e529ec8a56ee4369fcadd0e500069f1e0980fa27bb82074e186706e1b24b67045889d1b62afeddecc050b8458dcda8b78216995fadf070072e7f9fa79588413936a1f44893e98e199c665c5aef536d3e109234910488238205317c03dd272c77040fdfda4e2000f5a4a95032479439df5d71f8142cc63b334f658f0c383154833925b0d937f08a1a904042907ff4ede247fbee69b6bee4f90dcc33734054981e450cfd201b641874b18e5034cfefe8f9769e0a64938a60acae367da60433e58519f11c56cd4411ee30864bd0d1f62ded73fc89e45b8e83888d012538a9c5e7b02110f6cd18cd9e14a88ca631d311710d3a6167bda3891485b5233f1fa2fb117799e22667047a39413605b86cd2445d9dba209dfdfeb812e400d8e1058314fdc33e08bff6743ab5d445d604ed88e6b5d038056cfe8ae224b307657d6c0c6119c3c322d367e5bfc5a20894aa39d28ce18637a9d12f3169949d1ef6067d42801ac989bdd13fa4c121166883341a031626bec08b21a3af851ea87a3e5684860d433d41009e2763f83d46366335405d047feeff6a8c90938c1b9bd3486ff3b0721dca97d05130afa7be454509955f03af5cbd69ec038e2131e3d5e54b806538a1e1d62d47a7ba543c3a67df85873fa15e9da42485b0994c7bc6423690da09333eeec29d2dcd59373e404cb6c746d475b0d73ba31b6b8692875b86cede4e9ee875c0d82b0cfd2127166f3eff82da1d4e6428361a06f444f874a0eb11bc82fe85201b016d61ec7dfaa0a86f73bb893e31de45470a774a982022965cb0b740a05f5742bd3ac8b38df7fab099c15056cd2fff6f12b91222af1d6faa0011eb07a5216cc5de0f4644330a31f89cdcb2daae9d2bb75ac864bc8db58445bc094fbf3e3f525696fc2078453e6f513d6e7aaeabb95e0571bab24df066a88970825df071dc5d044b0d8b76f9f38ba321955f280b8dbc4c83106be24fd7e316b3e6444fb51ee9a19d2d4f6d03aedadf5463129ed971821e63cbc99573b6f0fcaf0a0f209fbd1cd4c8007f65c51b375866b20cf9ea56f2d352c0142aaa8db36d0448cba99e18cb945edf66538ba314d2bcdd66cbb55b9455102a11f81ee78b00d7c7f97a549969b7cf05ce2fe01fe6918e078bec08332ff379581bd209c2f4cc956af4ae10a8b0cd17b8aed98f3b8e650d2b0487af3402bcf713221f37798939453c4f7f89e385dbdc08f5981e4b410cd5d640f46ebd6c00e2d4cb9ced50310fe3e2001a5417175d47b241352e56b7c299079c224ee279f8ad1e5955191b6b4c1cc5ae4415ff3ecb1de475c52b28c59baec8aa7200d7129a0c20bd76d9741a04151b82afd2edd2651a66e106738302429acc9f47ce852bfcf98b4810d107c30c074b1d2858d868b57020b9c6cef0cfc747243cf211f89416390d76189e5eb50e818bb02aa4948279a3694bf6dd99daac2452ac805a4c67275aadcbdb7b6acc10a60dbede71830c0793ae37b46631eee8ba6928b0ffa82e036af4a5f3556c34cc2c820d35adc917f8743a2249f6bd6bd7decba599739435aa304cdc00bdfaf56600902af5e0f788d5f3a6b3769a4235fdfca404c1a416aca3461c674d963630678ce4e645995d13230f4b2eca5b8b118988bd4147eb05fdd493e464de6650c3f74f9be0435f229e49b917718be49ebe18618340d8135bdce57cc2ff54ac76e1af9f8f982c2011ed403f86b63916fddcb78b2aea27cf39a022e620af9bd55ab24a9febb8d6c8e4d89b8c55d227147d25f27e7e9323d48798173ed2905c8724d1317d2cc2b7f4a4eb52fa192760fe3890179af48f1e7db20fd49b9f94467c3e743690117d4b2c07b2d0bc0e56dec3e853a8178853030f4a2c98ab8b450f4a1ee2ee54676cc7bec92605c58d2698f07cd53645d4e2cc6cb01d6b22e6852c99057a507ed08eee1e2fa53f2df9716cd5c4b3258f3db054ffb18eb5de97c1c8e0bbe0af425a45bddbb0e0ec6a8c143a5939b90aa603d48bc5b01073e21d7d039a371f36a2c755f1792f4345d7dd3ddb8f0a5b10903005e376c84e7ba7d8eb61e7b99788b81cfa4e437d3ae231acf585a0eedbf19ad6553086011ecd8dfd93131365624df6485bac2fcd60134610f9a0fa432e26184cc6599b99f911f24cf267f5fd8be6c620faac41d14533c50fe134ea36f2b1c31b396a36e6e4c32fad050f144d0971f154dde9c68e2de8ef26c9a0ff7ddb98651bf51499efaa1a9dce7354aac2502873af8cf026fb009787617404a862fbd863b154d321463ac7ca690e32013cff99264c2764bf6e16d159f8f676c67845042e1e127f0e0fcd96ec2412e87e3e36e8bfded227da6b1d5c54dda1e887ae66f7ccb6bd5a8ec14f5df114122075880e1a1bca58900fe00de7b89063ce59dd323b6aa771b3a0d5f27b713430f653b036d1a29bb032559fc68f8837c4f74db2fb9df31e1220904342d08d971d361d9e7309da9abf1f9eb9fc0f905d2ea6ace89479998fbb0f1397670d03da62c6cac857d714d0317f6a523f7a543c7ecd6554f75c3bf6513376b70d5d7be615e56d230981c95d3c13a1d4e0331f3d70f29499f2b9c3bee81fb767939102543eeacc1712397a05d1a160d37b184397bddc176fe9e062af657ca11fd755ffa3791651cc63b095da903bd1ef70414a521098a14e17a01dda48952a3965eb8c9d62fc5d0cbd22120d080324d75296ab015232e49c6f168c2df7e823203c2348b8c818e48b9c4eef25adb487b9098799228358da5fc5edd7de74fdd6c00f43c884c446be4b684ef16d8f6201c6b117e3abadc827859dcdca49c397452e96162839371d42aade41007c9c85557e594115a47932b6408c08d8938d832a65c1b7890219796b4132bcc409a4a604b27929282ef67f4f6fa539c4eb96450476170bc121cfa06312bb8e426679d9e301165e13c2141f14146ae07c826142ab04831ec2fa32846e2c629ce0d14985284439560f945169c9f34b502a7ed78b7ee9b83ba9c008af3010a4e7dde6f9dc0fe3efc9e007d5f85a5c02296346ec503384f5783c4f22ae084741b2b891e8e4430193b5e032f10672cccdf78af5f77657605e07b51985b08b7b04442508d91356a43b85ec45dbfbcddbe96963fd444d97baf0d839e5f591d4c2a70631a20123841b8b10a38cdf68d8a20d130e070aa99c22cd45aaebecca6703627d8d72be010b7f8edb6b19c2af1ce2070e46f0ae3be010d659ce5a7aab2765102ce012158f5012880041c0a48df44624c30345e708fb5ef10e0041ac45ee800877dc69dc5a989dc9797d57ed789f07f78047fd3087008bdf680dcacf0a6d4d2c4b444d024c49a69401f4353a9ddf7802966a523bd16d0c79a867b5c6da4d413caccb924561a281d044a03486e33e26fa981ca4887656929e996328234551bb3a4cf7f36dd05906e45e412b9a44855dca8a13e9d48b5172d67b9b56473c064604af50e97ff1986916b38a961ca59ed91cfa69d3a886919f6f3a197cd7eadcbd63db68d4ded07ea1947b370076322d526c118d6ed27b9099698c40e8c928289b7995d69a8c1446a144cf3904bf3b7b3e2566d02b1a18604589dcd4cc95013930065723644cf03af379b98aee856d0c7615a211e67a53a48db64cef436d434b2d0422a5824a96cb3d662045579852cc7e78d9ae16001de578d078460cf5868f99fa58f64c355486ea6c80f8c48c547901b792c45ad19c14681d8006bca874aa2cea5c666d57b94f8a5b33b6ddd84d2531214689a3eafa8970664ea19b43a36c0bc703e2907d2a0ea3cb773daecd98f03b13786624395047ce13a138b80baf49ea2ef54a1d3853357105766ffe51901f673fa088d5ecca368eb12d0f3bbaee6ad083e0db065de6820e89d2d62c0a5c1776b394e8668ef9b855313cefc2024a04b4524b05fe4845c3dff26cc585b9b4ed501a7e5c563099cb20e9d58b514a1e0c7581385941062c2bd4a8137c55691292f074608bedcd18ec604b9936ed502ff609d378e65d071dd60436bc273997b9f9218f92f8df34f895349856bc69528acae9b3cf1b303bb6970838bf395cfc3fa42b450d643072f6de04f7bfc88169b52e085ff1665df6abb1a6c31bf3de2d0fa50db9205130bdb8a6d48221b7483c909fa257970a17a4d482860ad4dfd1ca2be9ccf245dabbcce602d7f27122e097cdb68dcf147ad8eaab820f871052d03ab53581d6f40f0ad61ef3afe047ff8a0777f0be499bb23cd15e792361fccec5fe6dc98c206b78ffafc8f0127240a1f2416542534e8e507946c235738fd3e92a7900fe3cc231e3dba7b1c496f65db7e8228b8bd0c4d933921eb35785a912d55002882d3a730e343002c4dbdac12608434670dfed0f63a06f17dd78d673b305d18d7887df28f9c60e5a6c9f4f9367c8b74700fac8900e1ae24945330a6ae8782a63625014f270b0a243b52b338dedf4c58387211db5d7669b047af34df16bbcac005b11febebfcd0fea3091192940ba316be83dafaf76c3d97bf7afc13270195d3c45fcbf7a7a8efb9336c2952f4b8d96da64c88f98bd22189781b1443201e3495b0b7f64a75954c2731c46d34d4f587c3ebc50c5d6fd25f1ce68de969aa56fc519b80c3a2f55460ed492fc6046a7e567f8becc35f482c1e209273f5d2917dfad0d19c85a19d61d71a98008295053702d5d2b3f0e1e76c5b4e70065a41d4fc76d85d114b2b14a2dc8fe78495155b0b749951fe226b70d488c46517e225d895a5c0632ff07e6dc56cc14a105c45e39ccbd89b14eb83d4c65fa00a3838cfbf52172ae97c7ea0bda0de23ab24eef11bdbd4d42b2cf686020fcb42b2f606745d17fd44396a259b4c9a3633da8e03e0236c2b9454b4995f24ec19c0e218485f4089952d6337ad2b02844160d9a8e4f07dd2e13330d1a31d5ab07b302a0d73aef12fa2d804ed888eb87b50fa0e888c35030fb1bc006c80254823b78f6aa0a1c8e2ad8af010da6554bd4ca3a1c0b4919f2ad0c580f56009bb14de5e16ec5f084502a590cf91f00500384d93b113120f7b3f3cb39c7896e4e09c33d2c99aebf985ff2ae8724d8eee8d20bea1ce644e97c432b3707ad9fd0415597d333c2d82f6b6b5fc067337ef17f8f639e02e324693dfd036a52add61732ac80c933f606412d4a027dc2f3ce43ee3ed99a909af4471e963cc36eee4fe7fe963d1ce156f70e267380856545b054d7a9e1fbe9437bff04a5db0a7bcc93e9b7525eb02e7af38dd3148122a4599bccf2cd0818edf445cb83bcd518557316148d51f93f5bfeb11d73dc4aaadbe6f7d566267d44787cfc834830a7b230806df82c31951f1128b56c01338dbc02d0cb6cb3d66d5ae5cf9902e3703efc06d0a517d185c49b68cdb720c7f2474ef8887c2efc2b93bf4f40157828ea6956d60b05dafaab5e19d88fa2609a5eefaccad0efd3b0093b57532aaf816123dd8880f10ec92c8a5ceac1628dbc84c4bb7109870a733b7d58dd5c74e272d68f31c35558b169f9fc55e2849bc828a873b309e07a99c6e8798683bc0016a57c06e15ceb204228dc420bef97375dae48c9719cc5b772469e3769d24773d50c07bd1c3f28433cdcffdc79689b6878527029dd416d754435339f87e55a582a02e04eee1e45f13ccbfd2f5b25cb7d5474adcb47133288dddd46ff61cee8b017dd6bf49c8e64ab3d285baa7f178834af751dcc6f395f3b9c76ee4b9c6365ccd61646e414fa69718045d3932a41a071afe432b3d109c4612310f9d0267ea0bf96f9a8ca4a901f64f721d285e691a34bab18f4875b1a18387086eff2938a838e4399b297dfc0c17a084654107df0069db8ac975058b91fa1a2bc809006cf945281114dcdb40215a5b7e6ef32fb65eb7a9988153d765c445e4b615f11ccf011a12b6c8055c932c351fd454189647f0bf1f84d13f192c1bbaf91d62b843e5f5bcd18c14c6db12c3b9e319621142580e6f641231e21752d2130d934ab69455b986039723b3711a290dd40cc972f39ed4d4f4f09b73f533b93d0a0f138cba85aff34e5b1c3c4e33b14a91fd7e55f67f0e105341f92d1198b9d3c7b8147d920bf109a53ae328fd36dcc7d258f30a6e196c4d53a1e8126d52ea01695b489b55d39c0d8cdff1fa727485e3b8c2145d073a06eb73bd84cdb91e315079cd21880541bd0d0e418c71c45ea065ce9c7a4aa534df5052a66d2dbb7176eab50d77e59395951736220c74b4262426172f348c0a2911a049dd8f4674fc6335793781b3602bdc651c7ebfbc838a38cf956867a9e7b9ce610800bc6d2bfdfbf320762331a4da25a7e1d2eb54e55cea6addf4ecac36b7f95f5fc56514e58933d8e52cde0b9b5a93054ac3171d2591ea33b2455e1e06d37b7c2b5d54242a6e4cd19ee7df0dfefdcf656d6028cbc848cc0c601cb97eafffa52a5a6a71c777de372670bc1de3970255d94ca26276e487b662ada9aa0ac0e6295a321a134163c07c1e1d2007bb06861bb7f2e8f523a39adedebea5c756b5255beb77e3396a0782b01b3dfa09aa420a1297598887c0574050c76914f27335cbb2e08d0a7060c3ad58a24e9a538769aa61dcb6cce9db54d99cee9a93455fedd6238682458554e156a115efec8a89841e6a569ab816a42e48671e3a6f3737813f22d9541e4bf4705a18a48c135cc4d3e5a9c1850af632a4ab6ddbf5b72064bb50750d0838a1eebb740fd8990796b9aa874655038bebec153e7cf41c0ce9196eb3a59a0bd72fbc390b69a7f146455540f6638732dc7c236b2a5a8f40cb815bfd0f857408ba7128fcc44c2c24d14131ce861a7dad36a5dcb92f1c0416e71608db949e7130beda8af97c4daf568a10939d940d4e5afa085afe32068657324778ff2c2ffba936b46854e9b512d2596b963e02dcd6546bd0d1cd32b9c71e3dfff74bf69692bdb5f7e78e071f3fc031440ca2ac4937831217ffa1c4ba65088ebbe9d6a52374dde960eaba43314ebb460a0b961d813e6a2faabd931f3a99b8ae3b1270605cae7e40b18afe263ece674d0efd29302eff711758c29e37610c38c8a3411fb4e25841c92f97aa4bc8dc1bb378f3ead2febff0a718bfe85405a497614c18f8acc1796d64e3b12b4f3ca40713a74700146f6c9de2b08f321d3cebaba1df40de2f8fdd9172a1876343f9fb5c6428bc0032c180eda5e91affe1a7e9900835c01e3a1799b90f9856c5bfe5b556f90c24383afee553d4f4781b9ae78002e9e0e288762f4ea6697f835a69a96a54095e4abc116453ba69caa68bf91d58ddca94e4663cdbb2e228417fa80a13653eb725a911b330e76fa86e1a11f4b7e6f7bd4e0e52f3200a4cb250c232743e4336a5ee9b04b029cdc153760a4585015706cba3253156655c86a28060451276fd349e03a1154515effb1f19b1480b6c6a8dfb2be3c9d8e856672e514a3f7e102873ed9e0691516610f632445b1e50ec43752a1a7ca8fa1afc0878aab0126c114f5584840928822e9bb53c5d8f890f44f03b65830c9384ec22ace40c5914eefa6ff5cf058c9265369d4b3274a51c11044d89435366a4c4117a45029e5bb29206ee9509716373ac85d032f2b0a1028e9097d94cfd3556491d4551d2bbaa4562d8d122c3da227af5065f10f293e47938406d5c16ee3cb1137c18b48280efb73c96263174d00b16836eb6cfb1d8f8a337ff61c01ae6251808dcdf8c1f6f51597e51b1c558f99c4c1e616a9e2740c99b09ad637a31a0475c78e258162774510b80fba996f1a8b2a1650f9374a83d6271c8678e3c3e7edadeccfc00d93de480e1f2e7329b2255fee206a7de0300f96a91289b9b5e22776da93f184fd661e2e9b7a8131939cab72c990b68dcbbe5a6ec6610e84c35d6ec533ea7063c3841030e018ef1011d290dbaa75810c2c3d73bb943c115a5014a49c8cc8fb4d461c761d4b56306f50a873b2c38f4d6e1412c011d91c03163484bc0a02ab8af807110793a0aa237715784ef4114538a810f26e794f572b0f1f754c412de2271d73524decc0b089d2b845f5d554b5486b0c1af20c543544bc7196cabed87bfba40043cdef2f6bbbc2f97b7e0185c1cff60804c4cf0f01781ce4605304b7e35e3a8c0bbe9f922b9cab33c3094bbe20c579a5c6fd3bcc123109561c407dfb6e58381413aa3e32d637b60458143cf4e560ed8a277d5409a4ea09e8bad0a75a0ecf9e14f3e5213326ba7fb3d7fbe2aade8248bef4d09d2fe80bd964825920eaa8f0ffba6054b595b5ea246fbac21a97e66a74bc250dcfff927fbdf3d1cbbc595fbe7e7629707ecf8494f0ba902b3ab8d7d0bcbd00c12e0c4e3bdf06697f212c4624a8c1ebaccdad2950d85931bb881d4c976629ab0f750d5e24fe7f0eb8b4f642dcc3e8a4d884800be844828c5f1d1fa45a1e77b4d9d61264a2a73969c9f77fc07c484404aefe2fc8c26b7f8cbccc3d4688f432131cff1b3c4bd6bbaadb28e1aa55fffd336cd47063c54afafe1f5b55e4354f997e226c86495af3e0aecd33e38ef6ec20c67222054f5c2453bf0836cf08bf6c1caa42b89ad5e5e4e4d3c955d08e589633b3b5b3b5f979f1e223cd74b2e67db69d6d54c5d419621e18889d081a453942f5312ad90c113224c62f66e547652e6903d7900f1554acda943412a87b69885941fe599b92127a24d9cd015bf32f9c64a14d17f739e9bf10da84b137fd3a7e8e551130951260cd322cd78285180e8cdc770e8bf702efdb5e333f00e9f1c15911fb7517e930632c941f1a416208bde9bab9622540f7d495388b28712a01f5a1190c7ca9b104e9411fdc1317c66dde960b1855129c025c1c7afa9febf1d996598bd0bae4f4b30dbd37a5b163e65c18943a885b1bfe85762a4ce7e1f183a6587f3132ece593ef7b783db3e22523979b7fc530ae8697a23c6c10ecf04baa92f85e24f461213f84723e58ed5852f439dee66d4a2a84be24d64085fbdf9399b9afb2471179529e8e482b381114afc2f35d322d4f8533d4cd9343036a3f4f75e042ae1c1d7ce28705c89742fa5d7c1d572f2e4f8aac99a9ab95bcce2bbe1b3118966f23273c5d017c6dc3064d97cdd8961f1b713ad73bed0eaa8d5f51507572f8f3546eb583ba87c98a84faeba92e7d32edc258c04bcb4f8af9452ab75e8275eac3c49d324289db7d1a0ae1f0ec2507bbe2f26851813a4cd3356a6be530d6028abc97e8233ec8cf201ca7f89d5a47e62bd7067e3326a322693774bb7e81460cc5bd49d6bec53126762750028b88215a914239ea22aabb13b0116d6b781c7c891754ae0edc88edb2bcf4e176b6a2ff4ef1d1ce0a8f06e99ea49c4bd25dfc6fd6e490019381620213bf68c050808be42672a10628f32d86bb84d4e8dbd2d107b5b6eac70a9eb55ff316daa4dabdb216b588bd25537e63416cc8261c73531840dc57efdfa4579db35c089185e068025a3dc0f9ce356c2079e870a09fe86713c0272f218d6359143cd8452e27b7d0157413066601f6a2406b33c42e99ca0bec0813dbab94dd18efe251c50b7e0bdc27d053bfd1771cce8270fd74f88e1d3aca988692b2647c180f01966dac9450e81a10295fc12c782d9e14309700f64310e8c7d51a80001447e8fe59603620018ffd248cb7805e33fea358eb360ce0070502cf67f4d893f94b93798ec71be883f37c31add0285a65bc8b986607c47bb06ad95989082529311dd7d7b6abd4fdd8907187376d68fa368f23ac953d973ae936e50bcc27bea27a875e4cd6bf24073aba9a71e2efbc2a80fc768a717551041c32acd9ddf3d7e6c3ede4f77cc6365b7608ee522b95bffe239358e1428d203eb59626b5d8d9e363dee4f6a5b617cf337e226a5ae2ec1dfcb4faa445e7ac8ae436e84c04f6b2afd7d872e3b25313f61f57a0732f2fd2efc76e962b4ca00d61269c660df11421eb2408353a8db8829a0d9c96ed1718c2326d767b0d036128d75545d36928845e398b740140cb4d7a47f49e8d8b9b176510678c6c9a114c00aab07545ddd8b6f3077279c51fc38e3ca6ae51c9289b08a27d93b84afb32af67ceca8db932b7d3012b0c20a923d5afd579930d2edba4e90f45bbfe8566b8306da40a3d64809f56e637666cc3069b832532395e7657bd261d11b5f5f01f03c7a3725330814b5c9530566e1b6f54def5702517aaaee7e54649268b2869e0ebafd6b9c275e6c21b0d5010e6378b1efa18fa6fb971cfb84461af0f2bc590e501876f7c62bb99ca12116ea7c360a80d151867bc534d7226ee7b18966798e0a473000bba033f82558d1e040c7f430b827d076c6fd292726779825dde23012d76fbbb4fc71a448bb01342e0da001c918aaea4aae5543b5d9a2f018257b7238e3f2a9828cc8ee30745daccdc22b119bb91c166044a1cc82f0a64a1734f6b4dc0e8438d45791dffe5d306a9b107126efc3ebdd785cb70ef9efc4882c3938017fe577641fb4a280f5af555b9a5163ac18a3475d5c941a0614ab56c87da442eaa9b36e5f5da79f705ede0376ba3485dd70748bdc39238271a073d928e2b0fc8296ee783ef818d005225fc3a8acec910daedbbfffdc4fc2b8c4864d435f093f332d789879b8e5a147d2bc49237ced6e33e5c764fed1fd18b3306cf7a8a7bb1374385ba594260d00f090ac70d44f149ca05f7ee162d5f7a79db40bc11d66b42696761725e3f89f377e6a312ce6779d2ce9ea72fa01565c885503d0d464327cc5a505ebbec2f55b61335d5260c2971e8dafb1a308db97b94a963cde59585e57b79b0fafd6cedd4843b53a5533745317d70b08b103254b22dee080b8420d8e78de5169b15254d35722affc1c38a82b906bede8b13c741480700c205f8068a3dc3557db6e0e4040070a79212efd638303d09ea47b6a02d630d043557d95f6f138271108b82f29cac7777efdcbdc0dc71a6085eb13a0fa81d7355ae2028a00559025b3a82c4e9c675cbd21c00f324e28c72a0fb26a8a317b529afddc2a0170e6b68aed247342185694345790b03635fc3a1c5278d375bfe0615627159e4e6fa5275a2c6f9a0290b46a2ffda53ba8d29e9bc67ddd55ebd1820a97689cc6ce1ca061bb996fe3421d4ef613c0bee84cef63342ce1f72c9007cfdc6519a20da389c32a24922507ded7176c0dbcf67f1df81a37cb58112e0a86c5e130d3d9516102dfe6a8109b532b51a4ce44e890130f4d03b6b5bd4130ac80e55dcc0bcb130f6d2bd9facf8a19d6c3c746a877e067d151e39b6039b47848407d0fb1af3af481294fb391b030710e4f3406d06ade2fd8bb2910d4539e6b5db4809ad4c04b06d0e2339fc5ee729d54816947dbb240e73c42dc7e30618fc98b94ea119ccf222a6b70d80f50839ea3fe0cbae0005a49c89e049c9c7d31023d3fec387818ea527462768d6b6325a29b97d056ad2bcc02b515851aae07ee602fd73d8b83ae19a0fa7f0697e99d2fc3651fcedadea4b22ed73ee8794efb70dcc8ab9fd07b70763a0136ba93e020c79068a7723b39e9c6a25d983000ffad2a4218491a1f249fb3c1957259b043dd0158ff07982dc829ff5227be7fe5ffd1dbffc370fe9357088668d79de61cafc1c7156d2f0580a66091f4117b0abc91deea5d5732303f1233515d6165fd044749bac2661a38a90723100bb90ab58cdfbc0117142883e99a98b8722361ea400b8c29d874ca2bf50b705eface3d8c601d71136a7bbf514c89f7dd50ef31528d5ab68eced4189fd238f613701396e4b066faab35034eda02ac0fff43eed130f7c9a97a0accf021c51163790b47499bbe2666b757566570d42055ecee969c02dfed183bf4017fd8620bc80f6fe3f307374026c4eb6777774f2d76bcdce54b78fc16ee88ef5b9db65fbf5fa9bb0fd105f013d286f53e7518209212393e08e9710fa02865f9211d054539dd8f785b709c509010584b05355b7e22214941168221827bbe95cf0c403ca5e570d032d7ce531fdb9d289f16db4439ec258b2773ba2fcf3307ad40ddbe237861d051f3eea71436a4a5dc8ccacdf9060edcb7bbd93e89af88054ed0c4fb2fae6d075049b85d1498836a7993e24efb66e2febd62baf4670e19a18b4951fa456f6b93458f87141c7aa89d99b628605e70a30ee57f030d61adfb9d48d2f0e342327cc797b46287d8bc437e191ad46945bf1e561e2b05c0b31840bfd219565311862b5f312075274be696210961cf025b88cfb38c7e9c9707e29e9f033471d89514ce8a769e9541ffbffa4f2e8dae3054be692cc25390da4a927e3563a7646fb0d7449a7ea5bf2a6ed59c90e8156f0e1949dc6753d1e41078158956e1152d7b07c47437eb1c6758d25c17dab1c33489817e66570ecbf3ca4c0c467ddb666c9cfb3aa49d80925890a04056b559526be8b00939584b8e5dc3e3d3e6a5bc80729687ee5d72eef12c69c6aa4586546146e75c54442d0afec936d1b5e8d0d8cb532b9960fa690a0fb24c18376a74801a18f30878c326befb2c79cc3ebf9af0ed7e9102a22c8a2c0983799964d74ae6a0ce36534b8568358451b1d1bd21527d4ca23733c520b36c3addb012d6f0b58157f0efb5bc679aec7ae4976696f7ed1dd70dcfc1a23a92adb663a5dfc1c055ad9acefdf2368539499ea4c5562f2c0b186af0cb539075d18d24d5cad2b5abe37f1f7eb0b9542aa21ca9df490acc7522a208355fc6ff18d86018ac4a09b787b962b071a13717387ed3fb7eca05403593195c9253e91a4d7509d98f01e14872bc5fe63ae11042099fce598a79958851850e457f5228ccec68e8c9952f47fcd5215376b66644d469e5715c8d399dfbb68ba420f13318d2a63e60ccbf3b832f3c73c4fe5c376416f3d18bfb8b2d5d251a1035153d98f2f4232b64a5c9b5786389dda986d159cc3bb86287526cc78891606ae58c7bd0ddd768dcf6af29c4a4b19440395ce2d6b29ebd7c0d4125246ca67f012dc2d0294958251b5fc80ea6610f692fa8b6a795f5b5e56c5e20194e0869e3a9fddae5b23256e12205902cdfa43d1100773ad3a040dffd12e98b2707f328d0278cd312ca20599baa369193be4a93cd06081431d5674307d9c967f91cc27eba9c5ab53d6ad207f0f31838b10c8e67d16be4c38a9b0b44d273c03cbac58abb6cc6eb0a09568c21920245b6984e4d12b7e29b706efcf5ac37e659a46e65c933b3fa599672fef69725a10ea6a57297d60fe9ee1d238bf886114344723e8d5ae1831c3545b68450c0c9b6c44c583947e4c13cc0df508741f8eb84d06eb48ccf362109cc448419558303d1bedbcaee16418478d93c99fc77771801be1801f67d81a376c9d9cfdbf3954bd642a9a161507288b446f9246f1590222e3866261238fcceda5056a92a1b99802d1c04bb6ae66fc22759e60d1f12fb83ed8f3d60497dfa342f15fe7850bad5b47205dda064f285a338577886b3375bc99a1bff7898c06aaca12af3aea8150b44f17507e69412d0d14a2be08bae3b085bc267d3b117739676c39a691519fec872b37ff8f30523a1ae74e1213f5ba1dc528a34b449e9faf84f50df80ac8f5f0894794d5a299fa27d0d2cf5fc870031d44caff1ab889581d07f7f0922961a36f41b3d4a09d9e677263b9da41a8aceb9b983d250d72a22c48fa72edf4a619ac40fe9cf48353f014928bee1960f449e524d3f706afd382113c58c73822f50f75d2ca81f264f399dfa0155c98bdef239b15280af4d90cc3156542129a48f3b3b7443cb188baf2e1c4ee1c4b5f6098f4d5f6d1392c414fb4be01fe34d4f235080f17dc24b05de51e69172ff4c8fff64f1c8c52b9fd85c5a8dcd0eaae84bad25022a3c3a1c90278884ae8d985b7fe44402e6607b74597fd6e0ed8ec5d75365eff420ecd7ebb8e43f3be416baebe06b5bc4c1906d5e448d051b8ef5f8937dd3ee31ea3766e236c15da97d023a0a7809ef32994f3039261c301452c2059d8e62db52add984366da54aea8663bcf85960fab56e9db6f62afbd9ca042f208c6fd56a98650000d4482f154c0f3b1dcaf4596c06820f05d381a51b64f13cf6e2a3dec35697c1476c5b89d5f972b99858240143c1db7c0c17b33fb763bb0a11709d415b5d022b229d65afc2e149f2ffa2f8e092546ab9dd4dd0a2ad88ba5a8be6c4585b5e715f573b29856290c9a3c7ec2b06d44ee8c9985c589b0405d65a85008bf9a0aee6874bf1c4f426f62f759e096cb8b827be9ae55fbe0e77a3ffa98c4d267d196a39965ac40139d5b2a74b0e0b416286a52c548132433ea0b21f524846dcb0e00fe48d1e7620e6fec28c907669f677b257045ec49a41fb6fb9e9776d5e3d4b8f39b18fd91e7e79d9eccb8f5963a1da65adae327009ed2160b8b7ea51006b1901ed47f4273bce3f970d685a9e55266684816d0d32a5baefa5b3dcb1a83d7a97cdab8b9092c3cc749a576f86f7c339e5d40ebfc2392b6ffd703e890f880f460e3ee9230710aa89467732adb0419d0d2cb39ec5be280fecbd59c36a081137074570e2bbd5b16cab5808850f88fed45ea36bebfeba6b5b524b9046f9474c1c98ee7ab33866b5d480ff943fdc164f216d5eac8bf634bbdbd23a56e593f850a00af91bb85b166ea2a0c345ede559f326ddbcebe3ded1147904e0cd0d96e230f20a65bfff816fdd135c00473f4496be05ef3880366aafd9290d99d9569abee3015cb75ecd413eafdd9504c5d7f65eb86504cce531d1ca1093bbf662f83c76154d32c46fe48bfdbe3898428a9ce8b8723042f8eb2d92be4d9ad87bfa030ef961ddb832e286d8cdec5148f314526e0e2e521a1d33da046a690086223892b37e6cd2b0adad630a3b3bf99d9829c3067c26434498158a6a3bee70b8fa2050b770ddd247b6660891bf1d1e289ddd11d6e5a4b968a44042dbfe4b2d4e2d40e9d27d5356af4f17b7b9a27be1f3907d76eb6d3fd0fcfe446ab605f8d2bcf7a7dac3fa8d262678a6bb2a6d8ff9b8a12ba451247c3d5c21c6ae8630e3acade75dc1b21768b314e7644e5953ea02ed69f7c931e25d22cf624fa15c9c97de34b7cb86240364c57de900aac9653e76e187b0760f8997a4a7442cc3beed15e734441055505a261cf8f1d1665b3a9be535bf8868d8f39c4d991da2dd96a53a1f3a7b502df4b25326a32abf003447556f36082e4b33425837f5977c9d17069f116b30feffca6f88b59e60d5a6a1095110066b90a8578bf85d36cfeda43dcc40878caedd87e105b7b075419636d1d1e71519ca2da880b0084d78279899691fd0c30ad85336227478552e20dc5ae4d6d90328185b80d5657054e4e96310631fbd959081fd4b32cc73fc39e0e18988121a404e27919cb268802f3c25db96f359965c3f6b5703c88622dae90004872f83c13806d8771c038cf4a72b94d307faff51d86d14b04c41ade418ccfc8013549630a47aed362c602e081a4273ffa288f370698ad6e390e0ca94af82a78ece4328782c75b255ec85929f4a9e75dbbb52225e6db8e6b485878b0158fbbb4ba74a93e24ca0c9b4e32c741b44d8578f3ec9b2eaf6d790550122614ef1154255ec40f06695c3f8f2f254695c392858d0334326a192676e5a437b823ce7392d528d5051ba47ddcb754cf3092893909372cbf81919bd658e2c34ff7fc6a6ddca375bea216a388e306e6a381a3bd89708621df9943e26e69832326c34482d4e546ed00fcb65a5314dc3910adaa892a2c935d9fd046fcef1c1b6784c79f431bc192b79a90ab074161302609adee152e7d8ce91b8f302a45b609c1fe33faeb0802bb13ca86883ad031df3d3f09f0a29c08f6b85c93ce61bd0f1eec838ca4b9f0b90dd671dbc9e742db551a323c065512355d72a1e01791a258343163870b748c214736bc0088dd620451e1b8b3f63bb8f6028b483e9c0c41a7aa3a683f5ce240fc439a51a547691af73ba842d5761967fc1a07e395ed0910f89022949a568b6ec484441b0569770527cb86a421d698ba0b09fe0d2073ffb1558bc5229aed825949d5c0430911fc07c783b0e96c0f11156fd5f15a23b438538def9df5cf32686ac5a4595eec709ec2622495fef1bc25390903b22b52167c3f260ae5b8faf2eaef63809711998cd45f6513f712261f506c8021d735af98b2ea6cb42fd3df4cd42d2cdc8bbf9b40c5aff8c87937679db0223d3e40a4056b3128d0520d94491ea91ab891855779cf61d17ce985e1e62e1257601e0cc2e0cc1458a77e317e76edddd0e9da4b88d3b100b85cd23255736d9f62023b55b487ced11df0ccaa0c420deacfb8018d1e40986122b281abc81bcda290045a9d2e455beff6bdae332669bb3c89c56fa9d41f553af81b9846d28f5ab3132fa632d760a4da26f33a3d73a380ce09d8080ee608d6a2f48018f76c77e62d3551068fde12955cb95ca642bfe6a38980efc010c028c96c94de9e814f1cccb31253374478c9394204b5cbca012aaf7ba6c1b9a781dc7708bf72aba4a538976d0794986865d19f83f87fd560d8af6e7fd5352ca4843fbc289f409d93cbbe4cdee30eab8c08f25a1817b63452a82baf11f59925041660c8c4beec1e0b252202304f6bbc83435caaf1b260b72cc21ce6561bbbedc5691864514e4afbdeab96298c8e3451a78db1730690cbc4ad77c4dc11aa88d7aa16993e5e3685951773702c4a89984591992840e7daa90f3a949dca9f886d828a020e8f811b2190e7a8cecd434a6b871c54fe3c62e2057a20cbeeac458a43c4fc4aa463aa105f5ecb40b818710bbe1d82f7296a306941446175efbb4fb2e17077bf84213867b58f25d00033c0f119cb1c84575f1fd225717ec31c1c836ac0e32401dc0ece74ab98fb8de0a37ab22e7a4955bbe127c9baef84bed2bb15a160d92d34a51d8475f243eeecab8d913799653fc6306f1ae3bc31800a0c311d1361f6d8c0283d9827f249e6a596f5fbda8f01d0df2e894fad18513d4f1d6f5ed03b140d4b757cf804c3efa8adbf955199b2fe83cd2ee9f4cde19181189f286adb3209e13ed157e54f0b125d15cc413d22d2df96f78be813523a0cf1b3b2214f02a229b329d1213d122bbc4617aca7b41c514aef57ab524d0bae06839c781ce55582813cb953b51c053509e5c9b800521f92c184b4da24b3d4c0d564ee433433ef570b0e710c1751193ae8b8405c1dbf130b067390fe898871ec3d164a171c191d9f75bd1bd6ed49bacec3bba86de6085de09447590c68c98d4346423e6b652e358ec47bd5c5619209bd4068d1c7a4b206865a7f15c2fd1bee9f530b51113edcb014817aa94353fe6dc306c2f203fcdb932186e29f4b05ae676df5e048523075ab5ce6ba29631475510c62d812085c01e92349196f23f552d0507d43f2e68a100984d507a0d3173562e5a1e0bb7f7b1558f86099aa5d0381fb316d5888f4b9006b0cff2da02fddbd85ccc2dba37f4fff99c91406de88d3a33f9177a2ca1be76859e6031a2d6231c7b9b3b3e77481527d5258d36d58cab9321716c33552e2792b7ae041a2f4dcda71e6e3a4585740751d6d86f545ffa5399b20e4939ea5fca5765e42b35e3bfcfc30b4e9f00d9023b4394b56e4c6db15467ec7165a935f40cdc0ac0fec66d8fd1f30c844373b820a1a7edbadf962725231511cdf80c019d751b0bfe74ac1786afd216a2aaf48be0dc0800e479e802ba7676f9abd283ac88b6643cf4d3f9c619d2c48683a8a9d6410d11505aa84a810ff608261ee18cc9f447ca3c66515b21efaec36972a4a2406f1aa1d91b426a04b6a9a5582344654498dbc81dbc65cae8420af9fe672a74d6e773ab66d3e8adee69e3699da7fa07047894276b4460fab6daf4db5a21218736ed20a847894578f86396c6974b1d6935c47dc61dcd0db2228c4cae8804ac0c6819b83dc73f957b60f42c91433e9dca2127cb93a03e4d7c3bd93a2367d07db19005cc43c109ebfcf56079bcabfe4688614b8782d28793078acfb302bb337f49a24d43e1194cd46011a0a7f44d8a07306f657c1ef8cb838bfb022166129d5c9b0cd5ed955c5d3a9e9a060ff3172bafe84900dd679b03be1afffc16b47a30d8a51fb4fc56521a36798fa2670065b757ab114388501dc63d2358c5c4243a61dd6a65539a8dba454e1765a294d6bc00f53a1d0466e504a58650f33fe8d1aed2c66cad6a651ff86e9224984476ae4fabce6d2331376eeca544f3d2d3e4ce84cd58af955e6d4cef6e937f7c14b7f6021f7dba9996598b5cc0da7ad3a65d37f845e103943f9303adcc8cc27d6303e0729b8e4b719a77d79e352f7585f2ecbcb63ac543a88442544bec73bb9541019340bf48c16516c1e73ee5b2923903bb9f861252405c221c1713bc9c5537bc6810987b9260ec9c3c29ca299f9e34399de6a69e28306bd53a6fde99d833f6385f1745fddc9e8636bd732673710f5daec51a53b8c142209fbd3e31cb807dd2a5db8212791eefcbb826c43edfb80321027f2b90ccf3740521f71bb367b1a2984202e9490b8579cd8f81020a16921ac983ec15f7c46d24cd391644c8042cdcad363f104db1d50e306f50aea7b2f1a67d976a86d3923db5c26b2da3d2da3df8f179e4993de483d3742032f949fa39b883257b7fa41ca43e193082c9fc8730ac602079091bf1ad92539bcea2bc0c700487a23f428352f338a7731b3a480338f4cbe3653aedf41928112d2dc879d8f8251d10e1e84ee7edaf4b627910090491d196d9d0f8f4e43e22a65c81b1ec6e1e492e42f1ec391038a0e924fa0a371832e0d8edd47735b2f278f350f09790983167db50cf5ebdc0278e375afd1158d377f3db29921f28e025bbe9e3170c90be34253bc6a8b65f86e4fcefdc48edcefbf6ebd09ba0b8c1d50e28c7d0b3a7015ab7d72c074340ed6e800c34adddb77e1aa3885e7852a43e6d9a15e0ed3435af21058e4106478d8a65a8997c88ebcf1b8eddd50a322642f5db5c744d6c350be0ef27f82c9d6622b71872af78dd31450aad2edb4c2f6153c3041bbd4d0138d35c382cb368c5ce68b5669213ca6efca08ef2c8eb8defefb8872af02e7664ede07e26773685ce2eb792d44b2cf4603fa1dbdbad6b2bb6593f48d4918cb2b55d191f62c6d1a77f5cbc5b6935ff83bb383d81aee3065c82775eae8237e85d1498dfa247922b9b6df7bf56233f36a0172d28cfd67a7b8d94714c615e8072a7d094ff859283c0677b3526fa6c7b3d814845546c76e79849c3a089ddec1e64423413f6989e5d27adf4588a1c064167b2a05e4cb172d31fe0a8a404677064aec11f4896a19af93a3722239ccbb0b56693d5a7e3216ad9dd61c519af6bcde307dd8216d3734fe13dc06121909d8cd27678068239730c9471589ed63dfa2998d691776a56f4e9514af0f5761720092457b2ade1ce7a311fb134de46193762b821b300af3c4bfb8f9c99cab310583eb5b51df8823ecc81b806a173dc93098548ddab882753169f039dea80e50e943cbb2941d2d190daf3b89549edf220bddbf070c43d958c6b6b9bae66531953680bcee1265d4f4dbab071eda5b00dd6cfc25ebc92f1d649a94b1ae3e2ea1f06ce14013b30ecd67a2ad5e86d137cd4dc5bc44a9228c6dc296d4d97367e7f36cfacce78429d48ede1d2849f49d3067eca124291e2d93bba31a90c36477991cf61c44ba7676a02efb2deb1d6c2b29c7861538cfa91b85c6fcf4f064159e840e381eda2c1e5521562f53dfc0a4a76908d5c09c6f2f7a2e4a6179f725fbf5143d216039f7635c103f4103410649bf96e7fc203c1376d1c47f0497bbf9cd11d72996d3b6930041240a2d65f9017b70d9659f4701e444086224cbbdb33e52a6f8a5b6a34bc82b40577510c6f107323e877c13030a05ea1e54e27baff0d6d2a5002cc6d784b75fd5019a1556402e8c90ea51cda6f2cf969e72a3ad1a6e6c95eead9a39085a3e43b44ed8d5d755f09564f98185d8b3f001d2321c0024b956184a8a3410cf809ab9f212711d6a43854751576340898ef2fe9d4a6884625c97f738078865b75d783f446441f4803de14bbd323f67176b29d749a004568a9cc5c6be6a83ef763b320a4086e5125f413e15233caad6f60c5a2130d16e1f1d90765780e928277e2882a40799e081135da17e7fe13684a7ef0d5d50c28d0acc367aa49a3fd9911e09c4d02051497d97968a6c34a10d88bb3e9a09899332c2618579939ee185cf4d28409415236ecd3207e36a1c874394a2d519effb252840b8757c6afe0842aa6b517b01e526552989faca7a83aa355256514b3340ad21c455f05e9376a4a97e501a74f14da68e60a41b9c6744855ad5b7d62c92f172086535b20a3ad67ee2b169ec3bfa762e43fb2023219dabc97876a402f20de09eeb614a1955e07c68efc057a5691ec2eb086349258bf6de6cc57832a43730cacb78ad3cc0c20ea3fd99eae65ee6e1acc9341c2d25a5a77a1671fd61f779798542b4d85d1378b2db74ecc33d8e9bdc060d2e96c4ab0d55798377b334429e16db8723838482926f44ac99f6816e5102d806ae65b49f2047c3ffbdc909c645060b5e7db4451141750dff5ebe1e377b2fb02c486954c369efd806b30c9ab93a8edb3052a57ec55f85bd49761e592ac246c26885b3d95c6ef71519169de608203484a01e90dffd16937462d53b5ce43ec3cf2f4a983ca4a229379ea24d6a6a0c0a39bd7947c17344f41044d4139a6c016078acc09c5da8e14f672420ea0532fa9918105c3af486ac013b7b321a30d8b376581464d88bf2c110aed4cdfe0e20cf8a4325718dec97f3cb43c6062b1d652dd2f9597ca2063f7a27f06a94f727a0bd5f2e85c0c03e466386ce1c0910d99fea831aa75f89de0e9711a729e54d8a3dff6d0f320c415e2da117ada2a7e728c125246eb64ec99e9d2e0cf07ff475395386f0dfe8248595c5ebd1c61b03cb15ee1235ab6453d6deaed7176126fca5f65dc5b97727e721ff94a446b334713d64e549ce4441a9c21903ae1eb9457d4bb56f5328692d4500bdf0ae3c0db65106a3ccdb2c2501f8283058bbfdfd35830a25e976492563cefddfa098e3a352473dcf306138270fcdd356075b128221fe6e5d2aab32e52ed66f93b3e18187fcaea0fb2c4a4a0579dc54273db0503b060cb7d18e7e0c2c618a987aaccde49ca5c1a25a72a75acd42bacc17d304c73a29c6ea24df8da6ee3be2a622c342ace50cd0555404f2753fe68121e770248fb957cb31acfe42ad5abb474db10bd436e4451687478bdf5edf792050e79111839a848d8bac0c35e0f08ef3aa27e609a7be552ba5454b053bbe8df36eef4f3838b43906284d8a08b12a3549f45b3a874bc666ead004398b811f2612053cc62475a92396bfd1a128a44063f1cc24783e490e6ace32659dfc7e620841ee4c06e411f0bdeabcf3f08d4a47e4a2792c1838f1b17ede2d985c14587821268039c72ded722be98653cb75faff8653a892725c44b1c7237505886622a1dd98f8a550aa3c54a23d1653f24a26527222cbea1b343d344e96eb7d88d2668440f0f7c429d93d7e06d10c6ed97116c3437469d42a2bd1bfd147faee0cdd3c58e82122978dcbe14535541b9d5f26cc58c99ac15634f905dc7903ef05bd760736dd132c74cab1a341c181822ad38ad4c3d39e5a932635929013967bff830f6e016123f7b2f75ea11abc3a98e80da7773cc8a6e4d25c7dd7a5a8eec2e6198f28095cac48c3fb1f0eebdd40b33b5cf00b9524c26bcfb51eb82b0b3321e95602fb5bcd2c2685b393efdb92c70832d8ef5f47af8359ace4b3ea962c65e36212c6257809baaddf29a68c063113a908a147677eda5e77fc2fbc2a1f43701fc6db80f10ced4c2de8ef8266b77536a44e5e9a846e9bdf07a6ccf5b09a76a15fe5d33527fc063934cb0cad422172220e5f2039db3818865f7e4934287f4db9c942d2f5ef0fe91af1600b0e2c18188c028333a39dce6899e4202bad3af4f227f6827b4b103c49dacb5b0d87348a5816e26238e3fc75770e76233789c734f05759f4ac7830ad6a08221303e572743d4521aa9fb4a7d554e2932a04995ed41f6e3ebedadd2ff26cf4272f96de1baaf8a8cdc4658501e2ff7a28de6232071f7f144b60542695cd4f7002b8285454429ecddbd22a2e57b32a0ab4839a0c4acdb97c5a71da41f892e5a9e848ff4d47b1478d35d03e6682895e22bd3d157667bd4aa162481f9ff81ac3c4d1b2b039e2d56e8f0a9bae854100f70ca54f347ce94d85d0c6925994e39918d15f60b529d272522a0916da0ca8d31176bbb54d0974ebf0bc91c5f87f741e377309aec2ad5038771fba89130f9757247f785643ed6751eacdf3d41013ac5a4cc47f40dca35b2d31c1269e902894865ea3517bc18a9c4d59a02abc38260b5b8ee54a6153b9910226f4f1c1675f242623a24fa89a8085343541c2f24243f616ace1c82e2f41898de5155e145a7e68e3ec6c17eaad3f539903860485ca7f0fb2b2cd4aaaa20c85745acba694082bf6afbcc3dd71ff5f7409abea6469d06a8dd717126393e08ef30c407340ef6d1310e87dade1cf32ed2f65bd8cad37284c435fa580052d1fb551d9fd4940dd590b3be24bbddd7c2e03666c51db0ad8169d90e87f3ada63898d6ea359e9d7e5a58fd9036b72b0735437c291219ad66d45f41e53138d70864deb6a5e18136ecc9f6d1a8b6cd06507eaab96cfbdc82d2ed4d541f3964d9bdc96cd950083d5ee9f15c9910d10a4b40f9303915de41fea11a0e711eafd94e406a543a2101041bc1f54c7334ae634395859d000b36446ecd8bd327ef5da2abff59e7768588a516c20282fe9d5c6af2bcedeee6b1a46df399799b77eafba7c6101371eef29bbc7563c08b08834c0848de90cc58dbb605fe3c71e77f70731efb5a9df7d8d65319bda603433477807535e0416cd4f84a346adeddf3176ade32b63ef5e686ef11feb252287b36958811f02798bb1ead8ea45154420d502427753ded401907d50a9938a6b1ae0e083b7345b48a73a81be9a5f5ea4aa804aeafdacd70d33c11823aa340025e5951b32ddf24a03a732d89a7d4a8028784d0dceadcc7fdf33d96a5f1dcb5bac936625aaef542c752aabfa9ca1c97a7fbd17c2f8fd9d28d31bd83a69ccbfc061e11c739ceaff1fd2e115e28f271a390497b1be24ebf61c828ec247f446e290b820acaed0fb6a7ee823c7aede1daf4b150adf12f9cf43e6428c963d3eae2329ea94beff4dce5555cd288cebf9a21e3443dd2e03f154a5cf44907add0eaab920845de9be55b0cb4ac4c65043edf076a62e6265130d45e56b4aae8cd1761865de609885909128e5d5de52ea76b254814e2cc773ae50ccae63cf4c0a093d0125c1e8dcbd1985bc7c1177bce4a3c1cb034f3c354669127f6eaf0e1012aac621ffb4a5ba1779b78f07de34282a218d8f92da91f4b715c5ad510db44e00fa2c5eae50da724ddcc4927d158fc39fca01db32d86a04937db9542269b3441dd99dae48cbbdcbfb77422d52c102c6ea588c57f8654107a40a591602693fd8d0a0713d7112f29a67d5f450e88b65dcefc00af1bbc809889f75f9dfc7db1a677974a26c9b23d32588e69ca1d008d38003997286bc7368738adf0e81d3399b1cda0ac6f661c2cf196a753635d75fff1118e2f55c20152785ade4716b67816c5be10ee2acf7497a8989a1e4b7a595f61abc36130120e3fb0cfa73e20daee31f0299ca98711f378b488ddf50f73832c54a2bc49fa559f2959d9d6a9a899f92300709ad529d3fef45a6589dde5b29429b11819cecaa385a6baea81c3a67ea70bb9a04ba64d111ccd56d694cab0478ca130b8d4ac1d5f89b3f701eda2ad7da1b7b071e721565ce093660f037b84338451b7c3006db6fc97f05bfe4596d0d029d5bf1f92e2ded755fb03278ff5ea54ce3208659d3f504ab76f90b1b6d63e202703c38b59d00b3610a9228585413270d745ae5a89264135ea32f91f66ea79bd48f69434cba86c88d43bf4c57733ac8aaa2278bd0c56f0840d52fcf8b0b61433f19516c047a246b79333b9f408cdaa1179357c32ea2285e5b06772430e2db9ef8c43b97f4b59681d68bb49393b45e04db6159bc101bcfc457e6324fd0489e671b25d563c2c4c41283131017d32deb38e8a6c7f99ebcdd2b7325cb6eaaca162f629f19d1b25a078f9cba9fca050cddadd6c8d43f22fc026d00d3f9a77ce74a0010134fd494c51ba1983a1bdd65a9ea1b24a15c8cddc137bf23b7d9e585e46ae9ee516b9abd8dda683cd9f4b950293b8b1ae0f0131ee157674fb5e1dd3815522507171ab7c68c55e7198007fcde3df9b419f03dc702e123daf3640ef8b20629c21e4cd5ddc30dce53cbbaf27fa765e365cfc96ae81546c3607cf5a9b003e5129d5b952918d74ab65d366e722c2d2c749d722aeeff2d0c8204ff79a246a939d7df5a7da1cddccd5f882b72acf2b9f681d38d70f294a1fd73e219f545eea7a6e911edf991158ce49b3cd5662ec418a2dc1b3bc9fbfecf5b4c6c6f6d63b03cb231fc80299f4be36520edbe97558f8da721a2845d58334bb447ebb49eaab47615fedd073b57e617be5814a7012b51d7850d6aa2f379d976232dafa456f1f97ff9350ba4ae08f97fb127f6a6a4e8b2ed7c464079a0e1be9c66ad9985d57d8cf8599c81d13749c510c232553c12fc0673a9da530200b3dee997a13d4b4e0b1c34304715197d8aab7d06626fcc32ea39cc8b586e10ee55f313039e41c148e82cc2dc288769da1df91e31ac1dba32206987eaaf49b204d52b602902564a01efb2dafb7e181073ebf61ea8d718dd1eb631eca28ea10342bc9132bdc05a1502b3d264ba63858920b79e3342c9683c2e93aa70f6fd2911aa21ac011f9102b15a35386d7f0d8042572a313486535ce8ed0079cb6112ce16aead67c5df14c451bf724ac8d7d77889f6b6ba921865348b61ee902b700084cc953699f1e612d404274653909ddf48cee63a2d78c3746bd6ff547047a4fbe93c33bcb97492ec849816e30c3c1ac7c407d100138563bdbd4d85ca06bfec4ea539f7effa557cd035abae8d62e9f7769f61120f5e12f3f04d003bed76d51100741733fb30e763f542678e4c982389f2a0b02c8368cf81ab5dd561d9bc72a1863ed436076076a64b4dd0095c0ee85efdf2b59222e72a09f397175d2c75edb8d928c58ffb74a0c656be6e9f2e8e03efbfa463bf7ee00fc6e3d8f16ad7d5b5f546d8cc1a78140a4261571fb9c3ae1def4bfc2c7341b9cac2470423a0a7d376eab3e0c96cdaae439bf254f1923a262026cb8854918fb9544670e10dcd72dc64829c8099fe057555a0ebb30534a45a60b5055aba63cc4b618466ae5e6ed81199e9a2b925232eb7e2fb2483a85d377f2dadf03bb8eaeddb884653b409d65bdbbb48401b5e3c8dac3390af418811f3e1cbcc7979a3ac78e418af1ec87dbd5ad47fbd95bf0f82764f917a4b883015aaf5c87e67c95e3ee164bc82e59046653d7975b2e2564a8f3dc769b0ecd32cbb533937f202c74dffbe673e3480dee89fdb04600ca3e97d0e8adb9aa385a740009331d146c4f87d0d04a4cc398e69ec125b2c072fd52fbf6bbf40381a81e9c5660010637b5eee3e5e6dd66f06be094992fa9ba8f6f428efe00cb2635294d23a716e3a5e0dd969b88abd2de7857d6ffd1aeb72bbb7065bd1e8628da6f908b9d3f593a27ec3bd79b381d4ac402acba9c2ec16d2e4144eea3321c197b2fbb24666ba551861d6e4d44b720ddb64ac6d8a09b3ebf966471e1e9e0b53c7f7083c0fb298d315ff9f6a96f06b63924e30c0e7cd26f1461cc65ac28ff02cd7b227ab7aecbc86d9d6948005b196c018047721749be7a5165aa54719d562d003eca46df364832fc5b3a7a2dce2d2602f0db0e287d3786621876166cda1ad425520b483529048604388f75005969212eb68749018214fd274cda9a2bd22af73da20eeaedd0ca087e702af8207e2e88d99b451e00052da4c46932ae033a16958b7e7058ec29a31c8cad475e139fc42cf928533988d6435be2fdb2fb36b8a25cd69f8cbb19716b89b1752ef25ea3b52af6948f8de7bb431d4e463d42d99e4231b62ec502db26ee2fa1966ad35b5bf6ef8f80020004dfb16465f115b28ede1fde58fa78084dea78e2243e8dfcb2afbc82d9cf03258d3903e09ece9911922b3957d9290be3b91e4fe1bdbf222457efb58975c2f4532335fba69192b462d6fae5ee567bd42ebd6fd20ad8302091390d97caac4d606fbad347560d87041400cfed0ec1a8b22f1c5b46913483fcb9ed0272ef11601f07e9fb55d0cf2aafe68d6d885d5831094f0361c7572787d5c6cbaa173139c13640e4973b306221d70264962b6b707b7a4b0cbfa71d3b3571c485b4f354d164a1c2e2a34d878cae61e8dc5adcf068f631992718a017eee62bf374dee5ed1e0949ff55010d87574beedb4aca315f79e42aa641a5d3b932c7734c76a4fb6dc882301ef2e788907bdcdedcb60af55ebe2e906c16e25f702bd93ae3b0064c72cd3cc12cf56f3fc47499bf201aecc1f7b220d6c85ce3ad8671eab0a9e5f3c8220215c04b1f570712021576af975fc3b29fd6a181062604966df2fe5cc64fd04f05939ff14972877efda10d0ac13f22c6fbe28bd274b038fbf7f3a391261dbe7e1dae504a8f13530e4e136616bbaf535c4dd53bad652f2e015fc8799ae775d6f2db6c68b0bb87ba14d9f6eb6ac49d251a932cf767f9e66eacb183c1b7056ece4a00d664c8752c111ba14bcf82e85c30c81a3fdb6c8ed055ac811a69b455c52784d48e6c84ef0d6ae95940fbe35a070e87835991dddd2b44d11a298b56ed5f06d410ed1f60689657228f5e3d4e19d4e710371a9da58a6c60024fc33d24bde500eb6bd5b45db18654e5c23fd66584064ab308adf9c96cf586444f2d8f98659558e81796ed2f57ceea533ebe40646562234d9b2efd00bbbcd2c569a201f88df82e3e37efa6eda75895b2852e7eb89cf9618d9b20c426c8929316b139a3711e489ee5932e8b095a24d14e16f1eda98378a3539b4ca73a8ac236c7cf79f4be54178d25148eaacad6df72158fa4c6c3321c3ed188365310b1fb12aca89f40c42102421f3e8ac141ac3d1edc353d3e124ddc18e2be2ca93a925eb37e740e6dd8557e639d08de6d5c92568a8bcaa28252533433b3d1fac6d51b06776976313358ce62ab31572a0b429360165bc99d14a4f4ddaa1f16e945f68d06f4f907d8b054be207f9e86370b7a2f4b459a57a4ff845d5b6db9a47141ebd0e8cf52f9e478114897840eae75527c082e2884508824837274a55149c60647bbd5487a9b6dd4a12f0d779040d3bf69eb41f2282554b42e38353149f78135c36e6d5ebbc1c2da6e8caf39b243e783be94720df348321af1a175e9a0e58a75268974a5b8e347ae525dffb919086a575689c63fada9c491c4dd84cb1531155531f1c11db7ac12e955dd860416ce050b3294e5b99728069fd0f986f0c1ecc53e6bd8c95a8517ab56df2823c2d759180cbd1b888d19c8c00caec47285dabe6dd2662471b61bf9b8a46a3a85e63e50373da9cd6ef2fab75ee4ff1f3815b8cf15ac19ce1b95c3f048b95a4ebb3520aa08a2a0bf7cbe53f99060ee0731c2474ae0b3cb07cec7cabf1eb3cefa5012f206628e7c8a0ed6888248f13d870150e982c30e54aa27435aec0d8171e8dc436729726ff6baef0ac1123805222af639b46b8dfe303652573b1815dce92cd01b7abda5224a65496c74508961a372d325ce6ee86b8d77c6823196d333ad5e383bd9bc7f873fb9fffc11a1ae7f6a678266c41df865206860b1ba7e3f06384f09dcc9bc2bced89422c0d57feb53ec4fee926ad2a5701750c46709ebfad3b874e543f0c699509e72fb82d3959bb76acc65ccdb0e693f3f6bb332d63165c6c189d3d2403db412292a7cecf1df1f699795bda129f036074affbe61857122668e9932b0058c05f484cd2ee71b30c1bc0d8d7f4dc26781380e106e7dd212b7fcf64c020989505ea5651e90712251d565e8eb0d90897c4bc27cf6f43cc5add8ab3d50ccc3b2d075ae55d089c5562e8250dd1ea7ae69f2f575c256087b393e106450ffd03db284eaec6b8c1c771ed960948538bba4d61ea2508313873c1ff86e184bfe5825d71b533440cf86920bca34874e43963b92e611449526b90cb6f00aa2625f797010b727d6b00ae63ae02dd7f8da087ed01046321514245bda439ea416a0071e3ebbbfc859cddeda516b62b53493e0ac68bdb39a27d1d98d04de6e9f2b842a255d76d3a2b44ff4e1fea5de2e346af3282b26ba5a3deda3ea4849dbd539442ea9703d4af09ca076dda586aa02c11ac9f492524b171bd87cca84adc2aa6279222fab54717136b7845d609b43cc0d790f1694743715895c7eaf3e878c0bc91385b3b8d27894d4720f3f58844cd2240071f88037e6605fbff1939d07fea0440269b069405035207c51952cc7e278e82d4c33d3b7127f32f0d0bdd7aa45d760137a9048f29d8ce1386cfdb85bb4d45d5622dbdd749e857a96e3087930be0f35583b2993e7d86dfc299d50f6b8751e139168df268f1f1d2e89323ce6b07368bdb5aac1801630b46c824cf8049296f77b12cf43576ec4ac41d91865aae4b71fb6d715b19cab129e00909347d0b821cbb712ee40f29813d12de2a07d68952469f7db7ca034b6ac19488062fcd95c5ae95a6809919e69c798b48476c4a99863038b1a3ab23bcc9406c03126fa3cc82d6cc4655527ff90c83b4b1fc887d75dd008911e4ddb83d4e13e8e8dfc0a4fb2686bbc27ff52eda8065c69a75e5b916b54c027a7dc760aa70950a4dd8bf027d2a94176d524fb6b14acc836bc5086e693c346d3a9a2a61e1dcdc6ece669746d8149d1d836a9ebc6225520c22a361cb84f08a61663dc122f4679d197d0f16172ffe9e9f794e3fe4068efef30af3589cdfc34c7e60937109519265bf4e01def3de7511c874a16d6798c740e6d9e49dd5ab682a859968cdfb9403e14a84c00b3e639333d8725be2c1d44855a55bbec59ac4810074d9b22e43188c93c95e994a2a61e6bf298767f4569a265bd4df7a911d55dfd16b437d66cd4b256f45b0bee62f0fa6ca61d7a657335eca53aa1889b07105a513e478206623a116b870c624d3b33106268a3b7b2f8274b391edcd732af06e4216d72197cce6c909deb956b7903fcd5f89a550f42a56c51080c48b0723bcd32754c93ced49bc602d52df685f3113ee1411ae4995fbe57093fdce488d17ab56fb9c8726ebc4e7fba92fb4d6f9dcaac67258cbf353f76e2fdf6403e94904ab4e43ca5cabb566515c562610343a9ba80213d7aa920953887ab4ed2a053f6112508dbd7c5e191467a629d7d56332acdfe19cf805f031c1c88617b32de4eb2bb273c3dd7a32f54cdb48e73d4d8b59baf4854071b1b89f739baea669110fe01f7ecca266bc77279ba3b4e47f85f5e1d6ff506cfd8d7e89402e2125bb5524795364121ea4a174555ddccf77e4fc2a5877b922d60a99098cb9e4d50354d428b3ecf36db0cb38e9aba0302e91028128deb918d6d08284bf5459f9dd61c9d5fe2a15dcab7279df878ffeb70f66c7d2a7e4a8d7492af422020960b6567f5a8a23a60fd587da13bad7153889465f1599d5600ba3c4dad6a54c9e63b67569fb1aae3b8e150caa3d090545ea154be21b6185e5ea23f54fc1d21ac97961832aed309f7e8d495e3570a42a3b2976fda21722dee39dec11d2372e676abfb45fc9b54c6cf90b17aa5b3aad23805a22c2054ced165c4e1c08431eb50731a3eb26e0a30e3b73beb53af0168dc5f49c0d436018f49014ff9001f6081b5a7f130a2cb0c9b929f283abd5e5ca177764dafb582dbaffdf69b7fb9897f124031f877616fbff93c37da0f40e64dd855c36789c9708db76cef148735632372c42a3d525af6ad6c55260862baaf1923d04be63566984a0998d66e1caee0c6bcf92e11ca73f66dc10d08fa3664f8d2c73aa898be0ab5848c95d472a6c3df17158490ce1d3e6fc8d997b5e24c2b87b8848e78cedd6df03baec848d02cc71df956bf63c94adc463a4325d7d1e581ca990a69628b0fecbd826e43596b33b1c9af9e18fdb9d514c5b5e3db0a4ee18a00dac66993888f4a9cd99d1c71fb909dfb02d3b9a76950a855ae199f1c961bf924b408c01528fa25db66ab9e44a889478e031b6c1dc2d054e4e30da30a4aa3ad5ce42c97cb7074b725c9fc4e88374be1c99571e2aa730407461453d44b7449deed7d9dfbb03735b028f724bf38c328b4ed200990c3f2f8bc8d13cb86a7458befe462c19e72887b2fb1d4b063f28c0f443dc09d2095ab2cf0316d7d9ad2187d11d6ff8c328f1fd2bb31a5e0147e8fdaf74f2721803c6a2fefd4e415f0ef585c06ca10412bb295eaf3ba3651439153d2c4965562a7b81b1da194a447026084411d5075c58fab3f09351ffc0d00deeb2853020e7b41bd442a21c7722a1f1c26fdcf5e1856248913d954a76f6924a7133254918fb9e2ff89478e0887f8cc1167915560d05b9901c58a9b4d2c08a8d4918d52f3125005020a80368fc0c60e5da10105534881e063e74b8547c07b23438a20276502e884638dbd4713522626c186ccd24edd315454cf71857ca2a0b7a1c672adb94a111bb35880512fdb7d4d45d3f4a54b3ca53bca0de1197eed8effbe8d90ea607e9620f16f6e2cb8947bd74e3772a8aab7f21f1cd7ad865030475bf4102d5895b7cc95f4f02b9fcc024524133f36d9c8741cfc3090e855d1ecab424b92c8a9dae4584efe4b5487212b9f3cdc1aa10eb676b4a1b1e4c16579dfea78265644d58014fca3b75b652583333432fd0ae6c8e0df63ec13257f4ca65b868b4441dcb23db87922bf7bd9cd5e03843150e3818aab7472f0da68cc5e04bd528c0fd4d72c187e80f0ba3548ea820c1b71a017571ca96154aa0ae94186b9c2d0bf3476cbeec22d41a32c9c2486074d64b3ca88d73330f1abf0aab7aff38755fb9fa4554a23ea2b06abeac27efce6b2c1cbe4148f5710d7ad5ee4e3f215e7a8236cfa60324927ebdb8c6fd6a3c12103eb25d9762c92313cd5b4c15345282acb76028b0ea5eeb822d88233197c1eaeea7e8c1b25ccf22012d90d10216c9c2bab7c6fda51b606c975fe4ae3e189292a9e16671cfbf4f6a2ff378be7689dff83bf862cf66b881ad3a0767ba30c1d972e6350594b495bdbddc70208b30cc18cf973483586b3900143cb9c1f7af9748e7baf715f3210176e4df46c245c5b8d6b9f7cbba007c4b4d7bea299a932b26c310848f0f23993870ebbf38df934107cccb6a5b5ec20375f0aad0d1be4860787366ef2ef502cc078dfdc988ea84034d5d77cd36db09684eea993929a740b71d9479d3c39138e81b2a0ba7ea93b126bb936288f0cb6df0546226a7bdeee70b9425ce690107f2586c277d0081ac6e53fa79c24ca87629329fc968b70321af4e02443236580ddd7fd3e72e5c589636a4011e4eebdd2cf7c32daa3579e85e5d1b767ff85ac8cf3c8e98cad2c033b234bde1c1226f97d6960c2ec82f3ac0b792264b5c068d81d850e6fc950a3573f22d6216b9a10dbff3b21d13a0440e01dae2a9d8707956f31d741cf45e24bc35a52370395bebc5c94541aa23b0c5988e9d83d7b29f48024ed9c34589460b2dcd269f97269ed623a68adc97dc27af012fac23806b9870fff90b60d8d2ecfacc5d25b9bf8b73aacf3e582ed78e526298b5a92d19668f6924f0911b09227a331c75777fe7c69645e72fcd4185725013d9e5b9cf5fcab41f7127a28730b3f34174e91b57c8ec6902a1d1a2e90e4df16ffd12463d45b72dcb0c5053450ea003b2492f0bcc9d58b0b79425214d716800c1aa3127b3ee921e452e2c1e8bc3a0c1af9d4cf7ee8e43c1c86a01ad80a5eefdfa4ca893b6c5b7b6c5f97f6fb94a390b2c45c64f9b92dca696f7926216d46039bd1cc1f2e4812c51d1de9d0168854125b33562966aee43432d3e1b218caa1b05337a213c7d0fb38523b963eaccfca613eb8acef37f3db75420a018adfdb456e706038685715fe738d2cbe0873f6fd736bfbcba94fd993b94af3dda0409cf9387b6177e62341b92c304aa63bd2624b0deb0e4828f845ed93f14c10678a9aee506f79019976bc5424e25303f044388308a957683ed1b0fc8048997db661e0bb257327393d1a954e03149783ab341559010fcfd620e07a245d0325539c7634b8042293ce4cc88ebfc10411218bc85bae6a32f70ff92a860355da5c202d510b735f3c3c2052058503313284b055655906434603878fcff539d098f61fb931de45eeeeb6ad808979cf4973914bbf0aafb4c4870b1930bcb19954d5a8ad75632534ac3e1ed09f38168ba232fa2332c805df36962bc51842ee64549730894a696dd26aad206dcc7ddfa15d4941a9cb7161fe27c8b60337acee9dd0783f7aadfac274d3c48d8805c14d803d4b022ca735999006508a2a6f0099505ac71b5a00b4b8675e519ed1f3436401d9a7a4bdcbae0b83c9a58fb9887de2b5e255ead8e03e660afc0e5189392fd70eca6bbc6883b3a9c0f7d5ec85221d3efecb1c7242ede4d8f6e186ab66ebebd47adc62ec1f92b0bb971c559e40b6a9bd760fc76a012261b1f0488ea365091b4b99f99ab444da7895da61eadb297e7086a46922c6adc17a23e2fe529718311e7a1abcfc8c4ba8cfc758af85da621a44e08b6ccc5a8a211ec27b982de8f91bbdbdd80ce16ffdf8eb8f1d7a5269534933037f842c2e67581e3c9ede04ebf2587c948c2e3e52df1e919b1c8d7dffefdb0ed483ccc06b636b3279e0c637bf22cab34c8701161a878ce907ea2dc365f9137bf185e7563f3f94edd439faa99a91f47af113fcf706269b670680982bcf16c899c78f068ff105120b7044ce312f0abe4dba6441e6fae08973001be6d620f944a5600d64af7de317121e510ecb03844f0e816e508f1ddc76a55806f426984677b3c9547291e80dd42be012f8e28ddddec15e66f71941e93150373caeec6b0c581aa1a03c082bc62e3f34500f10ae0c9064498691de50b48ca532d5b432af1b12fdc0ea05458105bd66946f4990e6a75e21b63a872753d92ad6413794f6de6c91403f687af3c80024587a810478ba9a5fe0673d66d2112a79973fe0369a60e403200f8eeffb3098fcdc6724b469a38085baffa17650472aa891f1a0c519f36fc60d41cd2ed1d4dae37aeff65a14c02dd453c997722d9f4016efa9da33c196daef907b4c7f1999b4049aad75189c03f638f64f16b67e0e355713ca168ff39ed0cd6347b114f8e689c65afb40c10c5025f98d66c7edda7052fb5db9b4adbe1dc5515d782d880480c3f0597511e5b609ba17c68e07dced037a827e7c5830962a4a0797817c71b2e05f373787487b1539ed619562f951221755da6bd8c5f01d8a6dc36e183e3007ebb033100c0af3389f85ee9e1695d9a874151df56d1905365cc95bde47e447a1c25a2392ec2de5de526e29534a299b0747087907fea38c76197483d5fd618014f57ebe90f753eba7aa1c2b33d2b572cdfb63871c8af733b5cd0342759b4ffd4d556d2e3d757e9d3bd4a817f6139bff2e21d8cf7fefa2847bf434cdfba15a65fd450fb5298bba83abd790e6018d4052aa833267c6c20fb48176ccdf31df6509eec13dd4f5d4c330ec85f46340755e8f59f3e595e5d4d940d5d25c96c86e3c6650dbf7de8f0ea0cc5439aaaa13f770efac6dc659f2df3b593f6359502ad3360955ceb22ccb9aa995cb5c3b19f8e50be1cab2aa775695532b23fd34773ed62fcc769a2c9d7bf9cb3daad7a646310ff9ef12327ffd1df7d8ea5be5cb771710394bcca383605a3ec53db8ca97d6cba9f0a59b73be10f753b3b2193f6a14f3789476a2e2b9f79dc179e21ed6bfb74a5c6ccb64f351143568c197bf4dc3edb6f67b92a6a1fe6537998f36b99f994d9be812b530a1fe3878cde8dddf40c46b48efa0dbda80a6a95ec9639649fccd06fee6a35adfb57f66ab9753e7f70564f657970573aa6500e63133493d5ffdd226b7714d1fa3e3580545518f9aa37fa3f92f2352e7ef8ab68d267d3a7a12e9a9d73889f4a3273dd536a62e19ac4a1afdbb8490de1a7d7ce7e11e5be3d6d1bb92a6893f7a275427a9b32dbd0ccaf40d28f5bfd5c387a169e8c3d168d43f1a711dfd7a8dff68544927433fe973eacc3657e76fbc3d6976617fd33975946dc53223af5ed5cf2a2e0503c9d5957c4e3d5237c26c33235d29cd8f601e0d25db1cc81c032038e7b270cec9c039e79cab3d39ce9c85dca6a124f7bcca5c44ae20b7e51483ae0ed30f60b0539a1d7b8d7afac1e36feeee31e62c237166666628cececefc8ea1303b335319dce7bb735b50c2cc4cf13beee8fb62d330ccefee8b10747f73b57791d04c5fa2db4334a80bc9fdbd480f6052b4ebfedcddffb92d82f416d2be7be84fbdbb5d6f771245527840b71d721972440a1bfcdde7fc70da1129debb772dfa3fa7b994dac43d2537828cc90483dbd03f8ee4fcb0b1d9a253e5ee5ee3617337bbb3b333a45a8e54962228bf8f75616b676bbdcd8ef8fca70b083baeefbd574108dfc555ffaa77105627aa04f332977fdde53de530998d4d8971644c364e08619b14a6a02d2f3e75a4fbcdb6a855cff3e791ba1971b588f55bdf10a90121ff48ce0ff9b277b7ea79f0ba8403f229295f889c1f5213e2faa9693ac0df7f5b375b222fa91121df3350ad1fe4cf9fd163568a7d9985f1d8ded3061003c16306cf0f1f7a745145d00ff8307389407cf851eb407cf8abc3eee3b6df6be27747211f8f31e138bf69e7eecffd7ba5fa3c7b1a0e3a7006daf422650ca2da6ec826725254fbb9a87700500425886ea6525ba73692da8e08cd445817b8098652e8c644441e5d638b6ca8db9488788d07a0d601f843700f5e033517d73fda058bfe219a61a2d3a967f6c8b5e1f8fc4a8fffa71ca1f6bf5027d0cdf4fcfc269978824ff98dfa5c659c5929094d2699d30d17986948bd3682ce94da0fd3fe9efb0d98c0a0f00220288aa2a82d46611081645b903cd1c510964882173c4b78c20b2e264f003a828ee08910bc9c6942a9aadb840c355e0037cac905400ca236aa287a01186428e18815277ce06889b6504abdb1067c63ca9212ec0bc9d89041462543062cd5bda509194f541d759b9081c45181697f1182f277cffa6e5cd3fc9d751ab99c9c3d5c534e2745212872772e0a8cbbd54308e1bb7330d6b353aff4b2a669f19c6f99e4efe500afd3d25c9bac12e42450b72d259a024a4dce39123676dc086a4388680ca0ad9da81c451cc3a77685a4b212d24fddaa1d4745e0238516b5bd06c64869e9757c5a5a8712e816a9c4f1deb32e20eff9ecb489671044a0dbd4993b35d4dcd161827a8d71644ba87fd90ca26b749ac64d1d9f3bed7305ad74b448a54d7487ee348d4be965ab76de3ffb2cf169514259ea7631458cba03b78febd42df205245269137f8b12746b1fe8138029345241e1573b1466f187faec983ad0c75d3d5e03777c9454feedfaa97c0155fe1d2cfc40b9a7ee6066d4edca814e65ba6305dde0ce4ee5873b5e633dd3d5b61215c56b2cad8a316a1b0e15a576141dc31fab6bedd326fe48c5870afb5c561bb49b77d7b12594141fafa120e03fa8ddb1c5ba452a3e3eee07a5452ad027528140d0e744faa142b09770b28321c8002aa1b46e13274f3c1f5059b7899325a84877ddedc447dded97197777d4bbbb679b5c73776e71ef6d5237a6ee0e3592a4b0ac204a94b782a551a2b89c6a556375ff75e72ec3deeec93808ab3f15dfcb0b887b9796bb5c118ee6e49c7b4f06a687bbbb102503e3bedfa69737283fec1e74fbbacdccc3dd5992507e2a9dbbfb9506f5a8e79c730f5ad4b37aa8b25d93f5eb8e4cf8522a5596a35e941714f895051d75ce39ea45392f289479283bf88e1db7fbf8a827ee14f59c83ef1c030151efc9930bcb815ccb74835b53e5669cbbee88a45e4aa54be31e0e03897a179c349669c8bf4b2d0245295fc28cab55d56a4a28afd742a9b3e6148352fb823d475b4a414318c80c5a3282729dd95b535551bfa6aaea40a59eab0a0231c1f1700fccb92eeceef6f5795d602595818018e8eaa1d95793123d31cf0964f39cc460723941228617152e14d7040c388ad0821af7d169e6ce8513fda0ba37215aa37a1853540f030e2250a9febd5b43d3a03b22b8dc201a213182f94610e64409e41384ae21ccc008eb0d9d39841d04fefca32a966f201d530f2505292afa438dd22264289c5e2e1d99f6d430804f41083508f729cd3dcdedef099cdbe5dde508e439661ebcf89879778d74651f5c6e344b40ca11b73b76edee5130ba8b0daa99728f821790488560ba1bc6c15495f52ccb7296e5966559565b165b9665bd47c15859725e18853d0c731886793386619535658a25ab8aa5949625e5bc2e0c1b8da8dc6de612e6da342f6cc4a3d1754d9932059b3265ca149666a1a4951c393c478ece415a6169e1969515169647511445bd1c395298724dd1a1820a25ea3d6a5e5376e8d0e17205d97101793b2e20fcd2c60b6f635b4e8d539a40b7f90200f7005c407885cf34160010801556f8cf324d63e1b1c082158097178002b4a03b014f08fc18a1732eba5f01c7e4a20f755f6a777815c7544970d0fead54e2ee6ed7afbbbbbbdda475651855d752ddc370afe5b103c339e71f8bf853d07f2b84570cae39a7addcf1dc9b9a63026f9c4c69fbf831c71e6243f1281fa4e08ffc0e42e65f66c8ac397f0fb57dc933b8f7eb1ef59ee633808101720e6654052ba9416e3146124960411c6b20a1091a9e30510592206890821f28e9a9e1c50b197c51c51847604213158401840e183658030927a4a086fd62081518018e2bda20030826160a0e8420042027f4208e1d144cb1042374ba48a3072758251491a4088d1a2c014416422c51c342a08d309a4882082984100357a286035cb1858e0b7200b4440c94d0b0341ce109134080038d2f7ea230410d0278e246139c0002389ab491040d436600e1040a9a7072860f123b06cf146568018535828648528311530829c1c6116d0039f112d4b06538200a512c8144149a102de1297cd4c00b2f9ee88112b020e3081a4c46c8e2491c4eac01042012a0a184153448f20218408106cf08683002165ec0b173051754ec1851c31122f8c0a08d23924032860868a892c4144824511205172440b241204242c61057e860084484a0062fa271c0020fa240c10f3c20c2490b9c886ed2002741a0a18410dcb08113beb342b8a081146068818510086850400b98f840174c80602034040d2ce821ba0115549a78820642d4d03da8210250907184a11f84488228081da208f1841478d1c41a5480a0010b2dd670c2099438410826f84012624c118411488003150cf1438e0c6a90c60eaa686306365081ebd4b0031d9471822fc288a2084818e2c756d91a6cd802044ac0c20c174c91c40f8e42e5a7ff4bc404541aca28a3f2d3efdda01bafb9dccb375b3b8580fe1641fc50fd4d3e20011283545507aeb2db421429759ba4e144d5ea364943a7beb7ef9078334540a30f3bb53f568ad2361f741c4effb4f40bf7e01d0a9204d8987ee675bf0428c0ce6c0df598f551473e70eee91f4edb70faa74a41b7eebff598f802b9303fb223fb032d9ca0e2870fd127053fa81baa49cf0e3ef0c307a8460a7e3c3194086af2c3074844f4e369db08d864644fea3d02efe13f8a7a0f35ea7d884b749afa4b29d38eec0e84ce88e2870f0ee8c7fb9c1fb211d0cf9284363b38defd53df455de44f680c280485e07befbdf71e1c02bac17950752937047950053cc883a040653ba2b8533ba2a4c004ba6d907f470821841a842e3d912921f7b6a832cf3a21b2451520f28894f1a24f8d442ffa50d127faf4503dd58776bd679df778cf90a4bcddddddddfd7ba876a17ea62e9413e57e01f16f6ae6bdcd87ebbdf7fc9fa432d735bceed94c9b9c6af78c9390d51545ad248a1570728cf11f8d5f6d4c790659e37bb7b1156c457dbf371d43bdb6ea4793d9721f8dd0c865300ff7f025334fd75a4659692906437dfd3253a3f65bb10ce6d15f7911cc7609e528fe7cf13f450296d9ec985e17b8f660274da85bd73d01124447a89bebb1453f758bb141c043575e1e0e7e53cddffc25bf66f0c95d313b677d4e8519b3057f9ba031c4399523645789e47afbb77737e54ef9536f73cbcceeb9e7c040b5486b9c03d9e390cc059be14627f133ac7067103145417327a94dd010aae11fbd2f2e482e4c3317d577978baee1d1637ffdcb378d7cab0a126a9af7ce050c89b4f920695b27a9fe9b8cbf5307327af8fc9ef55535b111338fb0114992301246c2481886613fca9945502d88a09b0f3951d3b893a6d95c8beaefeb5aac0b4b7a56a369486a50a71247eb3492e6e9a098b590ffb4c98a3601f50e47a152598a8f78ae2117a6e5f702c2f2ddbcbbabf1b77c6738fdb3e29ef4d4edeeee5ed7bbdef5aeebe2eb9b19a8695a7e9fb3681a96dfe7a0a65971d54974f4958fbafbd235385c939dd592f5507fe14ab82863281947e18c9dc0ae1e7f1cbc86ade8187f263e7867867564287f4e631f5906f5e697127722d193e2b807fbd4d59cfd099d6c4ca737959e96783342558ad2a8e78e1d157d9a8661d6327bd001f3e8f0507b297e07793feb3ca18d446e6d6c4e2793e9978a3e527ea2ced0cb24740f211caa2c835559833f601efbd425847a07852017dc63a86918c8c28cad7044b68506da01dd7868e3207e02bfc1616ccda9fa7e26ea2ea2767fa076731ab539889908ed007a4a4bd43da22e17517a83b291067f80f9877501febe05b6e67483d754bf0f85e00f86ea5e2fdbc0b6c0018ee99f000fe0885211b5f903cdda0d95b61e33dbb4df63c690a3286ae3bab6e16415fe56971077ee691affa14a6533b1775d9b6dda6ada166cb4a0fc5e4337c6a1e64fbb71a7ba6ec6003dd5b3e97450fdab7ef32475a163b23b44691b4f06f024a74cc604032f0bcd30a15bb71572cdc6c7cd96b858263e560aa504952754e5a88ba0700ff8efb93b97c24edbd8c71d764371a1a6712f6b000ca72139a051b8677facf33aaff3dfd034cfc57fbdbba533b807af50a513321554d44f63897ec9f4279e1b9e1bd9adf98e282e3d6e0637fc33276a93f3f411e8b640f01f62c30d33ec50c3658957a4865fd7f5b5737268f61e132c5a10a9691046f05f79747fcab91a22414462c55c5ff695331d771e1f3751ca69e9c663bae4eccf1de669917fe86fe7a16d29a922dc3e3bd24303866c3054d696a27e77dd3a1d36c8298753dd8654ebe54669dba952ef60a48ecaa4ca550d75e17a7e9a61d94eeadd9416571a0e8c0c1c00030a3078eacbe134dbbd8161b18292625875c1d1e863bcaeebb22ac8f56227a8a4b4a2945e74524829a5f4a7aab06b4219292dc518a3555915241a8d72700aac02975807efe08ad925db91e9c84a990a590a590e1e8d4635b145dba8b6954c24ab9f7fe85711feae63d84f8d7b4a29e4782ea9a0a55034dad8890bbbaa2b5ef092d7bce835ba2efeebba7eaa08251d51225db23999e20fd47e9e7bfe5f93c2d293072b674eccac6d465ca906949f6b33a7202f6d6a18b21b9a6dbe17dc0dbaedd0101b664ca597f76006c34d9b66e69cbb1c66cd5ada347b4ea7bde006dd4cb55d8d836d3449821b759ba88182266a045179e85ae48fd4f80ce18df3d0b588f571ad2cba0535ba6e54eb639bace8aaa5c5676db5f8a863b7624999956d302bdac675e53b6eb446d2cacac31696c7050b4bb3fc9603548b585fe43dc523be58db602a8bb659bff29566db0ad8a5edc05be109ca952b25ad48cf2403290821844fbd1c60804c26e8b644bc2ec4efd7a183b45515b5dd1660de6b61ab891999d369a699e8ca3b3a72e5b7c8d2c23d48ffbe2563c956b265ad8e6640b9d2ebbabe8894f1baae5855a40cabac19314d85242bcf624d9695ab5a538e78f9b907f6a35f1e8d76aeebbaaeab2f2c9b726a2a24a12d7b800412425c3f9db3666266c689524a59c98ff2dfda60a236b32de36c3b6575d3516d24bd073a40fa21f807493bc23f48cfd5536d543df67b3da9ca2c4d6ea5ed3702d4aee6f57b4d235e3dcfeab98a75af4a738981bf7ad67280a945a456d25ea21667cbe9b16182811961d73459cd4d08aa4eb168db8eed54a54d9598fc17ba86c84dd35c2f3f00d9662f994bb61ed3f23b321d59295ba9b17c0e28579677508514ba858e8890306d8e1e7bb9b2f2eb352b2b9776a3c152f3f0f044e189d23c515847c75932ae2bdb3289dfefb6e522c653fc17ba867a0c8dfcc841d56784c1aa0af2a1da56fa91b6bd09d336d3a9836c2a85d5a5551d238dcd7349ad89a8c748e9c64869e9bd0b6ab14ed3b065edd6947e2b554bdb11a30ecd7194769d149aa42468c6878f151e28abbb0accc57afaf3abcc2588fceadbc5d22240b5e91281d15f6f05f12a25d664541f7d56ef7ff1a56b4660f8ddd2b866235ffd5eb16a30a000e389eaa286032343830105184e54d73fabd38ab816676457828e7f6b3e4c3b36f7d20607942bcc0eea6d9ac6a669180af4c1504e4f7b18ce9cd3a93d7507ae2ce439cab6d0bf7206ddfcc4e335bbbbeb5acb92788a4de3908131d11176c9b81cd94d848c4dc3c3ab45dcbf8dd4cb35f5471d4b23ff7d695da8fefdca99d18cdfb2bebfb42e78695b882f95d2b126eafbaf6c6617047663a8463d862a794b656d16a1dd858dcccc0c898eb06bda34133c3af169d38cfa9b86fe9b1207a68e22d79106e1c6ffaacc6189ea96e3538bcc2f129fda9668f4319b7373aaaaa299ac2e4b927ee56ffa86eab29a94cd8f5b6f7c9471bdac25c2b6b16f9aeb310ce391937da6b6e5402222a229a5941acb58a940021af3fea66ff09a998e795615e5b671d4128b9f18e1d3a6a15ac354b6b8e431a4671ab5a05ce9472b08f54fcb618b82cc87d9b645d5464a6af22584fa4d6adb163d52152dcd8a16cb0d3cc2482c36ac6df2e117817f711d611755d43fe5ec9ad29cf3a796bc26dad8acbc7c332c9f33f8a77ac259a2f772d822473d6bbcd336489807dba11b2bf1691aebe5f3caaf64366d7aef6ff01a1f1df3be23e447fb9a415095a32d22f238344d1c5dfcfca4f59a0c38cea9ca8c08d7788178653403b32dad62ee7f8a6d0c72d3442e80bdfcf71a4c3bb2f1cbc055aad4223839b086c3bfc4033797765a97f2b5288cfefa6d83a4e01f69433ca61dfba08a593cfc78220f478db58740cb64ba3a679d2d75bed449fa0da6ce95df64ea9ca9d3479dbfdc23a8f6d4b67e96ac7f25eb27d111762d139823bb9b6ceb54e9663b7f1b955850ae1032c1bea5c59710664205e9ead9169f56d18ed556d5a923a505e92bc85aedc8582adc927a6f645dd83ae332a96b02ba512f7f6325f137254f497474f1d63dd5661ebcbe9795ab3cbcfab4224e73cdd940c27fef653a7815f8be8aefabec55afaa2a082b08ff7de66a741fdfca7290a945e0535b65aec66c6a21a0b3325d22fd0747b9b9ebb789fdd652e5f65225cc328f4da64a6d8b0f9f66bdb9f8ee7d0ce27238d522da167d783956371131ea60836eb432a4d6c5d851dbd801d1c106fd127dade33e1892adafa88aaaa8eab7af14453de9931f0c5ba5cca4f55dad8b015b3db5e19c6edc7905b3b91791524a2631ff118e393fae8afa82fe60bf959839468ea3aaa2d96888a712b5df6545dcbb6baed212a2d6d7b0146c5de8da2dbf4345ebd4a6d244ed9696cff136b4bc9668438b495bf7251dd0f518a8fd48e9d21774c83929de7b20c7b73cfcbd6c6861d1f8673d06d2c03f60d882b6924602b5b4e5793c968e8c4db338393ed5bfa91c4715e9ff6e97d3541019d84eb58d209dc339390fcb428e64a8047d8e3e5429b50d32a15cdd69dd619907572f6caa9caa7b05d1aa37f7e081d61df88dd00a3fc608b3671ede67503705f9217ca458c4e27760de81a38edd026ccc660c99e8489db6f9c39f38b9d2fe4a02fd1ae3acb16aa4e5924029ade3b03e66d17ba87b8573f7af6435a5a96a5fc24846ee969ac738fa958c12a9236db33eda80bac4cfa951b29079d3706a14954215663b78e5b0faea19c6864dbdcba994d61fc4c7e146f5774bda9b3639c96993a10facaf9a8d1859490f90a27263535444443434e4b1a36584eb7b45a0868386d326fed38c1154b6ad944abde953f88d47e55d71a9fe2573c976643a4a99b580cada466541b93e1b1ed57d0adac623878dafc448a2d794d66329aacb36564235facdf4835d18b663546cc1a8d87651310d73ea9db04fc0d6d83ce6ac04fe5163d130638c07a36efcd345f5f323a554a2b695e252586335b6851e82fab7c71c2d81f09bab5c2184d039e8fa359053f947aec297f0c147f5eb7e1719bae63c6e273dd58a1b71a8ae6df1e14b6803ca95a25a7663d839575e79e595731b54adac88bfdbb8bab9b1e435a38770141f8b1488bf31f1e7946154614b8d3855a4154668b55ba36483849eda64a31d712a2857f6d1265ad9e4e03b98693eda64d326244243be821ed335853659b2c5cc4cc499aca037c86c50dd0bc86663e3eded2699aab9555464f2d32b22f2ced9b9f03505edd806edef6ea6f9efa1946835beff6079e5ce3537ce5955f5cccc5afff098296d7bde710ef23f8263fa975801145c05f3f841895fcb921bce09c3b4b52ca7e570aadba96ed617d977bfdaeab09af5382758bd75dab5b4ed54ad771725ad602f7f2523e9b84698e6ae6cfb8d00ee497d711dbd9a4a42ba73ee5cf36f6fae88ebb92d44c76d8424aafc2e54b9657c1ee03bc09f72c03f6dcb79190faecabefc9a81dffdad98e9006bd401d6b9842895dfbfbf66e06b060154e6ef2fdc6c5a9ab1aaaacaa34b0cdfda12171b4655aa703b36a814d58b4de9d462a23f4b91460438fbc62ce4da3cf5e2ec38a9e8aaaab3382bc7e055aa54a9f139933fa511aeb02b7f1b5407af52e5612fb364b5444a55ca08f7320faa82cf3a40ca31bbcad9525b34124f9809459d84cf78d24c3cc7ef3266667e22859be093f9b9fab285d0dd6946babe0e3ebb88276d825ea2c86d4dfc0113a159f084c318a2c8882745f409a614c1f1248d22fe629b88bd7946521def3ae698d931c3dd8514844fdb6576ccec98d94847d7239d99ddddb973e7de57c8ddddddc580dcdddd5de6de6c8361fe427210755ff26c19dfb82df073bb8d6366667ee92e213e2a07d196d99d995973424477e6e6223dec4351854f651be5d8457952884a716989bf7a7701b1fc2b1cee7194a362a04417d59fb9a73af734a9aecfc1ae1ed66f5caddfe495551f33af3b58f88156b2ba80605aacb08abb6a2cdb6134ad97d675d1d194d5ba3eee305f071f742a76bdfceaad6c0723b4c60b48a55ddb42664557e3f7e3b4304e8ba37ede738f148ccebdacbf999d3d86f7fe65d7bd82cd06061bc6aea09b29c6f7d1df451c1b1bafc1f5977bccb92c9d66569ea9ea54472ab0b498b6d1cf5721db1c594bc602843e5f41468f5d3fcab63ec99873d8f5eeba56481dab3fa7ae201ec4f94366a63a3a3aeddfa37e38e8efdf8c54fff7ae3ef891eb5e7ce3ef19ceac8f71666d286a7f370f7e88a41ef3decaaa985114ce8929e7ed851a91737eaa7b8aea3f59581555e6eefe30db36086787aa538f7d2faa1d89259f06b67f67376db2aa6c89f57b01c97cbcd02637f97bef594fb34902b532986731e8a46f0a9e73364d036166f9d1b529bef7540cdd14456945a88aba62a09efaad90cab6428ae2a7d136f1ebe055aacc485b4aef35e06bcad4fd17601a8b14dcb9bbbb042b4d4b025982fd7bfb0f93376d5aa1569adb49e99a207c0f7b60225e532af97b376d721b3ae6093ab46dd0cd0baf236770c499c049131c4a486e6a9009e2a0b6705612450e94a0c0bde3e1d1f611f1005d1f98408d6ae4557feb42146a93228a28a2675ba1f2c68d3aa05cab4a5a945b5f5f5fa16e1b25a63a0fcf0e10cfabea7b3aea5be13def7b3dce5710d295041bd3af840b56d8a12d6d6af884bf8ad039e774b8a9d4cb7743a7f26adb8dd4e66aeea56c26d06d87fa8734cdf55cf5b5ef66aa9495aca81828c1050e684505452a67f25b229fb3f798f959590e32ce0aaad2e7f5b169306c2429f6d3ad7f19bff79e154f166f365c4f8da402e8c3ef6c93a92cb3c9548b4752bef7de636666ebaf7f32ebe6bb9f53c665acf7cb26f37193bdd0313dc4069714d0f8d56f3b84855dc7bc679971a5859234aabdc73b546a930ed6d6154173c28880da00f1f83750500571702b0a4c651e17014fb7f6df3c384489e241ceb937a74bd231fd288812c50a1150ff204b0b4947d8b55bb798154a34a6f65f52caca7ab975c61637868f191b1b121d61970fd94d85ceeb75b25ff472d1cda6daa2420a39b2968ce5aa8228d7cadf7bcfaf20eff99fcd69854447d794ef2d3b512afd57db8c36c34e344d7cb7ad93fde2f2e1a69a9b93739f817ea5ad34578a4f94e2238572ca29e76c6a1117a78db3a13426aa42b7ded9e91f996e2b7cdc4f96f70fa602a854ce57543564340400000073140000200c08868422915840205595513e14800c82984676581a8aa324894118859031c6184008010040446088882601001c402bb200e41515fbec340156614ceb572926f08c99b23de3a5da1188b01fa7956fdaa934d5724a9230e1b355128f56886a469c167e80095de9e38521d646a6518352d69950685479347155b5f094fe28b0259ec11c1fc3401185ada03d37ef714d5a2c3f96e8eaa226d60e15295411f5bdae9c8cb03ba3542fa82492402d15133c3378ff83c68a01e97d91fb77c1ce1284e6ad4fc7ab236a3ba4e7b4f2ce749294406a5ad585d486d1109abee47a8d2f98948ddde3d5941c796f8e997488a27a907b5e5698e4e5bcc9c3a64c391f083125b143d1d4a7330dc6d149b7f67b52556aa0544b07ddaba194f54ec5e2e1ba013af32d749c11a76c53fa088cdcd2db90c912c02798f17cddd1fa586b9cb7059d4ee03b91c0054da2674ef6beb9a392c173cff863141feaaee50c6a046cc7768c0def06c1707fbf1b35573a74fab8de310811876aa12ea7dee3bad5ff5bae961b36e2b5d4421bc59ea8b22026b35f0fb3a1410c1b337b8ef7c59c9c178b81deb9e8df097da7c75565207bfe0a6e1bed1bba38c1aaf736978725a12534134d182eb624e910ecac2ac2011c9ffd6414e09bce46abb9737029417dd0416ffc6683864af130b602f783cd2eda68edeea76b41a4a4cfedf80c78a10331e63ae977c053897e851f6d4d64640038beb64974a8005c6407d3315142aba6edc01ed1baa06aaee1253d685543bbf7845022c81a690d82c928034e2554e461c6ecec163773de9edcccd3a026af027322aaae8205f3899d8e3cf6edd0de0bda2c6f82ea76e779a3ddc16763745dc859e0961c391b1b6f777d28f474cb753154e08a13e89692e82411dde2592a465cb1d17b790fd485d04bab17cf5a562ae666291a49dd1ddbc3616fc47e8c3782f0ccf3230a929de1c1771cf0345dd9f647782cf743bec2e33151b62922d63f31853f686e43b03d28561d019832542d1148c170e883f7874b8214ae0c64413614fd9ce986c7c9aab737eb29cdf414fbe0037822b85c69d11624a82d7e38e9da97e19ecf0ca0716555d298f5d4881bea58e2a4b79be1f322215e601922a2f45e39f55a8a993f47afbe9f6543216f6eb9574d080190e275d22462c2ced80465663864d02bf8eb4234aa09dda8ce4a6041ddab8e058feb144bf98d63ef98f9c53ac9363c0db49523375514fd4553fda0e541742d95d286d9ba9c8f01b4e65b094eb7f5c3a29c7e27f4b13bac96c16c8ff6458b06830dab8a167e608f4ee01056bcb7354a723c74fa7d34a5318e0b43880355e82ce04d45185972d79b2c5b2867e5c8df07abe45e29c1b40542a30a74168b5f526df207a2dc48972ceab978d48ef868016f09cfcc361896d4328354c8f0213c66199799bb850e54da78b04abc390e260eeb43b58c4ecc8cebdc08ea6adc599fc1a5fb5c0d74acd92aa2535f1a74e464bfd645ade708ac0e97a6138e072fe1afd63c2032235be473fe1cf1183387b21e992afd9550028f4045df0f3d70a42cb10906e84295314cd217e5f9885d9cc4b2dc6aca564dccbf51f512baa87af3fbdee51defc2ef658e8dda5cb96e69bd5dd7f62b237a914b481e328f08eacc8ce5ea7729bf0187d30c038bbe9aeabc1ad20f1a51c7a064a9570eab2b474112d372dd9cea015cdcbcf47cb8aa9a73e5179aea5e1d8772aee40f392f67a1920eca7e3a6d5656aa07b7af465561a56e77207ed449d906427388aa53483ef3892460bd20eabb60dabfd5deb2fb0c9471378241b6a882c91faf3891ae7a27f62eba5517561de9592f453e609d80baea96b8ec09afd4bef48f95243f40e3314666496c49ca565ce5fb000461500fde6bce9785ca0200f1ad77d3010c7c0c09d152251ea0f00f5f2dc3660ec490682e5eddfe05605697641321d0452e8469b05faef24ed9465595a7cc15459668392ce27066f7810bcfad00a8417e724c4c3c28dfe3ef9edf35647b315fb9c7a5ba458a2ca9c56aac0ff95ca36fc40f173294d4109e7e2fa5bc97af62ad11333ccb674c1a479c3a6bd799100adf74e9da544b58b215c1c7f6717806c3abf5f495c8ee53bc8d03eb7eac4ac1748a6b81bb472aed1072f661b3ca444b9adb76d4309a5af2ecb0e38ab7bb55f67ee1240e6dd73e0797d90cd82a4d2990bc80bd9582d3a0a48b1732c96d1882b853aa212868c165eca1c0eda4f545e463a6ce4c00a439b455d3d70d1ea14b5f4a17b8d7a33ac8892e0540d55d26a46af3e24816f2c2a912f0e2133514438be1aec17b3dbb19d3fa3735366de117b2605fe4aeaf6cee3355dc2ed4976c7961723ebb2dd7cadbf507084b13ccc0990624253435076ce7343b3f263a7ee052fb5b098ab3f8609c69823a356a709646cd0b52308a27c055aef55951dc61b5c25a0ecdcf04aac0b25c4589014d1633b31e8c5accdff26527ab33ab744750d7d317dbf30b70a8241fea7e70f5984ca08bb60f9741487c4527db4aad72b91ec3d8708d721b7de6e4ad8ea53f9d4483e0751cc11bfd268d5ad3ebdecd5ed90c8135e1ba89947084a533e218e7296825ea4431547f1caeeea49a137d55f59c9e19c83fd159bd67fd2a27f7dafe9c973ba388a86b085650175351db868b4c3f9c6f42192875384a9fe82a4554821c9d88a26357628ac73bf445990be8af05a699be3025d605c080e135047e1bc20aa30590008b35e30846c58fe288b6235b9cf127e1b9660e7ea8cd8290e07cfe967d9a45b150d49d5809b73ad249abe73001017814ff81076fe9245a4f674b03c74874d34c5b54f6233301644da8e71d3f08265f068bd5631a39236bbe507613ace9169691374080d9b3e27789715ef81fc4886b0bec510f231e155122734f3f41023e74e63b94710a4a0d689d2cf01e46b47c06376e093dae8932b310829d7bbc59aa1105e769e4bf16150b5269ed02428853c3535fbfe9e63bd1875f4147be52426894503074f44c823d2584b3c5a43a8d2543b0bf9c7d33c0b1136d0c8726ab075931630e68920fc1048f48bdd45918402fc2ead18f511eecb4d4334dab8318bd1f561322005f9da6e621c9694d63c6983ba654e5a35d6c9cbbbadbd13ac886f2b6c758a72ab4912842ee094d7276bf717f39860261cd4cc4f80502870cc0598c7988b6968b9346759d3238cc9bd0184d5b07363081939556f8d76dc35d2585fac78508f0ab94efb5d0d101067395da548bceecfe0145af49c3b6adf846ea9a6dc516fe9ffba83655d4b6459890c0371993160193cad906f66fd480fa0d97f3627dd544077406fd311a8c6712b60a61e995ff1ba80e8b5aa736f9277e27679f3622ad0a2774d9b551abcc1cb2e98131dd4bf0cbfea545dccb03cf538e5c24de312cecaa8fd9ee5d752c1459465b1d022223f18da48e93828babbb82ba442301976463771ee335013b0d3c3d8fe9e41aa72c609cf911352e726b67c0b1928285e258dd19d941e199868845d5f107f9709ac2ca68d51d1e8480c872180141e6cbc8a93fc59d946d58471ef83396bb4108b941b510bda6d94ff2a11dc551222e556d6cbaae96c8c3e512db66e88f46760a02c3be827a62b2c27ef7a1c06643587d8c20da66d8d81a578c4c3e8d25114067b5fb55a592135282a95850f122d5295fd3d6cbc6e758af8fbc84dbc298d7ff30af190030b8eae357b3c53c990080b7b231a55055a52be3281cf821c60710c004cab220c2412644cdb5dac2264b726697cdc74bc70c9bc480e683e1944ea48a66f8851e520321fc520810c9cd38c07fea604aa71efc23b7c36e9e51e942776ef462840a13b39fa54ddb35607854fd62947feaad3bc9b5689a2e4a615e96d3f34b94846dce94ddb181ea5bfaec644e298ea773f4d247f226adb1514c2f7a9d27f36a99409560fcc8fabd6e1b49802d86c1cfb3f09965dea02d9bf1e233545e0c3223b96b6e80dae2d88baf8fdb3496b34205369dde5298d9ba291f03279393aadb6038bfd72cb805ef46b329aa301a63700aaf93b2df4d771a559ab8aa8e1d8e678b0e30799b89d1a4246e66301798d79442aad00bd7e5a0ec716cefea08c542217023b788a7c1551ac0364462291255bd885e3590b2c47117085de27248dd9fe293085fa3eed858dfc4c1b7af26884779abe0317c20811d48290480dcf1ef64b014db2cf12c4959905af42ed2c176c91e8888593410511cf2cd86b748caccc22ef6a60a603d94a54fd8763887d8b5cb02f195c811f561af4345e2468fee7145870948da29d576b34e252f9c7d29469453249a0c2e1bbc560475ff4cff20a1dea4f7faa1737ec117e05c01f70cc5bc062eaf04be2fb615e105eac5f2527c25b573c871c6d9c73c96b28c68f460e341fa089745e8cc4b952ecf65a676097f3cddada3c030df26cbeb9baef27f80cf391547c492fb517d9a57b86a09aff1a21331d6683b2862a131fad688f4959476f4d3587d6b4cfad0f897031255600224136e0b8656c8392cce1d90726bbd530d5e62a4aafdaf4b39e33110bd0a9e92c78fe1e4cbfaa771172f34472082da7abc87220e704328ab221ffd726f0e5a9b88d4bef38888ff13fe28435e05eeb0d55bd1dd82bb41e56d76fb2df14f2df86841d6db357f409c1826609be6654bcc3e90a779c93f199a13913a0dae6a6914a0f427b51b2eb858d9d05251001091904b1cb3e38177838dbca686591f407797f8c5036d26cdfe25a533218907a1fea4a7ea4682c7012e50306aa35bb3dfd14853eb3d3c113b4c7fd58e6b9ad07b87607da0a8c15180c77205ea2fca835b014d5f4647b8f5e8bafb98866afaa7127803b571dda94a2d8aaa5f7c59f61a5bc51f1b1ad8a351db4fcdc1d22fce6529c68f4896cd814629a8c84838e59160b736a9205e7b06e91767278cab2ffbeb9367d12d66b1e192dd51f23af91a3986c21eb1bcd80d7f6b38db0bef892a5f52c2bf6ed286989e62db80d640629c1b27272d69e8610017e3888fe9451b52e1318d2f1e9a22bb3b5a2699068e8fcd842f8c1c8caac293d9c6f5149e800c6d911f66b49029cf706211210c0311473a4296c3c16be22af6a9bc15c4be78f8538152d91f4f9965744408ec96df3127d6c7609c4d695abced1e322785e30bafaa2375fe8715f4a3e3564d54b65a1ee0344b8f9d3aaf81941123a418617c828b0b56a7fdd44ce618185e8431be10b5c41cf369616035e13fc40cde5b629fd938ae79a39bcfe9c5c460cc54f100bce5a8f4c03411b5a2ec33f8326bcc9a9a384eca48a85a3119b343763125dcefee6337d944b43f9cbe9e7b8221a67d09726ee6c7a34e79ba100a24fe6eddbf2c870a48000e802e58576ec5fcaeebe0a57c455d55029afb60df45ca472ebddbcfef2f8f71e0579203b99e44995bd8434709072a9610a18203df05f79b4d92c312aaaf21f9600b137ab7af98fe0795039cd32a9d51ba72519c9cc8e6ad45d280cd9d59dbdbe5d4b57934793ff1661e9dd8224bf89913673afbb41fbc1e15fb6bfb105f2c68ef05e14ef12b30b06305a13cd34d5808c6d5140ab955b1b74f9f2e3a01a7534051a42930246b29310e23650692c7fbda1c535c5fa9dcbedc3bac5730940be117b388b7dad968b69edf0dcfaa2d0717cb0a723bcf57439cab647ac7e2961784c27cb8b5d402f67070dd52c82e3df9045090afaf00cc8ba9fe11bade1ff4426df1435baf1d6a4f0e25d8e4eca93b7b7426522402e93fadc49b603daf90567ada6e1f1c04b73c4026c976a0cc7300b0d2cbcf05d2d292b82e6eee8920d007bcf4cb2921dc92a075626c8fecc9c0ab56a247ad7211487214934506fa9594469fc5c314da3f8f8211131a55d90959e20bbad8c7c5fe1f3bdf344f8fad73d891f45e70d005f8a3eaac42c654861da07d7f478f9707a842ee8d3c8204416aae1e7fdc5c64f56f3dbfbcf8c42b07d842a06fafb723f637d00cb2af6337b217ac43995dd7058033bb10c8dcb36ccddf945dcfbf61f2ac73378e97ff85e06ac94170d3052d3722067ffd4ba7ee098e121159a2daf3aa48094df544cd3085791b826571c5f6a05692b7fd0d818e1db56005ebf39b9c00954c996aac6db8f760a37f9c4de93b307c9c9a99eeaf646966837a7a09fa219b7d700ca93de24e0442370ae22d098bf296c68cdada657a6244bb2625a47d43e0e3662040356ed1c614fc3f9af805adb5de77775a1d0a1fb2be2093a82b3e4cf1323d59a76505a2bcc8dd69c556b31eb7757813a0409b96c2433f5a665c347d3ac24d0d4a8b0ef88949ad70c0301fa3e70089c0d003cc1bcfa6c7bc482ba3df41a92d568639b5a987da5c00246fb09c761eedb48d8ccfc18679327528f1656914d9593fba3f0c11d418b2fc3d9ddacc8f6ae3dbe2b89065be41779b51b64e511d5d38674ea8a3c3311f659126ecfbf692cacfc0720978b2d786d23a5983c07632487dcbc752f4cdee3f4d8158d73fa6c3547dbf82e5cbca29f0a16b08240dbe2e43c2ae4b4eb21e1302072481ae242a92302ec97150e301c40bce58e4c0022339f2d48033d5e3990e232ac964310c4c75e10884cfd07e2ac55a9e0cb3aa314a04b18539b024c249a5e62ea6d88687808195443c5f129c7a7eac6d906544ea9ca7b2aa5cf16aa049eedacc945ca9213bee62f63b4fc31b276aa8706dc610e5e1d3f4b10295cf9d6705e0ea6492d78283df5927ab89b401fa399f8296b29f7778c25cb28752a3c95ecd38adeac31a477f94de33cea000d0735a29322469ad51b1670aa2b1ad22e9e93aee02e4a1d0bb8f552f38576efd148141898897f5a243208a479e43916bc3d5121db49bc4fe285c50361c496a2ffca93ccc7c0e0db6fad8aff8b1509b382aaf54ff15ad8d4a4710438aed2bd46edc2f4ce7e6c2e19a747169caff800c2763f0d50a6f41de233a1af6016ae2fb260e311c5639e4f3363ed97650e500b9108604d40a3a4a51aa4dc76930905827e5c69b167f977d220fe0b45ee81bcdd800c47e2f6bfd85a7cf77319607d873dd7173190c37d490896c5b8fc390e4cb5456ca5b63a22455cefaf200349f164ee3e51054ad968c16c0a7a8a5ed6c369212e66bd4043a5267c6a05308d04002f102b1b1df973601e97072d72e81b9fd63fcfb842615084786f97dbb6dd877e8cf5fd93e121667f7c2ffe8ceccbe6acc832be237a831eb92eb4a3ffed9aacccf863f4705d73d5e2e1f260d57d733068c9fb8baedd4ffc0ed31e3ad8913fba9ac3f1c36fc3f58c29c3dd2b4c65173be98ea2f5482f20e1c124d4702a393cb63a5008513cdd6a4ef85b40298d2e632a4a02c20e572c2ebbc10ac9b8e0ccdf3b9d4d96007222f56296e441a6a5935b721b90f0e2d18aad29794cc714323deb0e8b4de43dc4785891afd35cab8f7870504d9ab8dfff63ff646b9685cbccac154e42b7cbe18b048bc201d97ed3731f05e643dd17cddeb1f8d5c774f4306e6afd1e8a816866e332cf0f7f526fce919237fc82fbf9ad719793c20ace84e51fcf6b7d3daf1c3528d8368b3000a2900a442261ac41376174ac217245e5e0d62a0868b43a324254e515d07ad47bd2d762796a504e99001672ad48b242b148e5c021d21fa89fb8bd6172d463ecd1cd0f3b06d9fca6e7bb47e4cb46524c90978faea800094b2a572ed62cea6f615987d5c162fb854eb4e166c048943aa87ee10fc30fb4101b4f73b9b29b5714c6a21188bc7d8fbc1e34794e17434209ba7afc543a03763d2f3af919e4fe4a9c9923ec8a4bc5aa526503ee3ca1d354a3ee773f0f6008c68526bda864e0a16569059c5ef5d1b08a4bcd92fecd606865272bbeb8d9460d63341a0b1fa1d81bc42693b6f7dcc8863cbd05c69e721ca84619ddb2745dcf5ac9f71252ce2098c9e2d904c58cd116e18206bf1b69d90f3efaae75be15918aeb001556512c3288cd48f3e5c820416ac9f56905aa7529223e44d04be7764a95ac7b185168a4ba1a1071a617047f702577ab47c0e052b94f51bea4b44025a38658d86729fd81d5669088a7913ebca84515105c4a9016079f3da9a3cc4962a17636289340caf4c238bd09723c987488d10b052c6282772ce7154b56b881bca32bd7058e621fbef0e5e9a51ed69f34dfc6ca0d9092e28e335fe217c818159b4cd93bd5b1c0102b5af5d63659bf3e01fd48d7bc0c1dd32da87b05f08135e33904d82ddf920484fc9196710f0b4f4ab056966abe19f451d3ecccfd81305e9bf242e443be80b0fc06a061dba6c0f197b0abbaac0002227edd93bb391737c5bd02c96c8e9db04f2289fd3d3e2855a188e1e0592e23be13cee04bc93e08ed681e878ab1953b41098b1ca55e932b809ba4ce35ea081b89a660a6e2fc3a2cc12d18831df8501426c13d4903b35c02ad53e20e78875c4b9879afd134e721844ac79f51eba5709da4dddd1823ce8d6031e4ff5bbeefd4c885f7ecf872515204e579482c7d6dfa052dceb3737c05309192f2e6ab504d1a3527f978c246ad3fcecfdabbae4ee86491ca48d12e27f03281bc91a2771c2034a9f847a096e95465ce785f4f9a3f2af29d7c55d6d8f903a70f7982c5dd83b373e885ab873a5857af22ddd74010bbaff534342a4274cbd235de943e1b9e116ea0624e05c3a0c5ae92f21dcad272121c4fa88bb48a7ae1316c28c7eeac1032e41e071e629756345022ba5222ab7d0720ba68cde0210f53c3865f211eb96e4c3fa59e12b7148bc5faf224af980e841eb32b71427ffb773b85082d4ceb87248003bc4b36e856205dcd83424c0648c42fad204e76b8f1d2cc6b173dc41bf0eb50f5e6e5726f5ddb27d449d648b9c6ceac41c57e4f679647465d9063a69e32b1019843c7f91de90284abdb6a24dd87b362f039f30b90781472b2809fd5763ba3738b4b09400d3bf47bf11cc0f1a7e75fbaae308b7009e4cdd556957493c4f01a9aed71eb0cb9da2ebe082b70ab9c1452ce2c613d4aab688c4699c6c1be9e2cd9c98217d2445d1061a0f1ffac46efd86b723cf39b1626f758de9c629ea7a89ecdc1651749f07b065869e623bf008867583af4dc939af9fb02c147fc708a31024c482aca37d685e2e885898531e5b02d4844d31d3c1fb979836b1e7cd95f8219bf613c23f68084e639b7445327e4770df2c233586002264c159ab1e4a2634708c83681f211e74643caa38c49cd5ac14ebfcc0e036ce4570e7f873d8b67547b426625f47f02d9b3e45a3f33d79c8d1099753d563ce8c721cc371b6b8361901d78d41cda1239f95fc64caa12ebfe63c0e6251052485c3fe1f8630d7362b9e143bd2909e7a93c79317d7ea4d3691849973c2122824f9fec2c82a47ae111e117879c13e9bf488d4988abffd75c7b14759230c35fee5c2693991b5cb50054a563ec6b0b8a5e7094fe9406e6bd1f219650cd9e6943d8816a026de73fd9dadf752778516b5b06abd3b9779f5820ad52d02f91215f3a9a5bb9943c48e8158d81b666d519e26c70cb9281f7f55e9fe7e3582e9070347353315592fb79ba4f25945f0615273494a4b4d04a55de9fdadb6aef49995d368e2d3ae426001e5b40dc39372f4fe50e0f93abeab1f126468c5bb36eff33d2a7033ee9ddaf74f3d75e63377827d6a0f80b9ff7cd3e2b589036ecb53806014d3c834d8591c18e1bb07d66fd0a67fdedba239b3994cbf57e9cf7e2b8a9fd8174b8228dbd63249bde42bda5523cf1bc859c3041d2ae867cea4c59b1867b41d46ada6adf02117a088c349c4249b50b58687686b67ca50c371eda7c5ec960205de6a0dd15027af3fd205ef2049760501f7aff1906727b32ea415aaa2f3c20ba336f3604ee0ad0be056b0c6b460614e6139a5229e052fa94be07764196e603198dba912d045747eaaf95dd8a6a2036acc711413ab94236b72dce8802ee23d8da9fc2ff7c954d0823c43dafaf58d83fbbb539dbf1e2e6e345e50e1c7b9add070d91bef5fb9b2aabc348b3a750273fb9f4c6d1a40e261f834a873e0e143760c87a8bd130df687077934629ce4eeb2fdeea192fcb030506b0b0865c8a2b5b51c3cc82b404b25bd42635413885ae01b2e57378e9133791a95cead452af5277d0c789ff99afac1008fbd4dde6b027bb84d4833be192714e5681864379456c7b5dac15b6d1a288bd5b33daa690089a17af479a808c6e05a877563c87e4bcdd2da29ec01a2a8944b22e522894a4912aba90c7596d21b2371d5b3a183b29cb19cf4241e7375d39000b28dfa99e1a0b99a8bc1e0f82a3326d36086e6b6a55bfe893eb32a8e6ebf8470807d5e795aab937c0265d74ef8519b96296ceee4ff349ad949533d53571e04251628d412a25e936f47b994853e7e20d394172f6aa06e7643b6250c79e51a6b5fd7afe38273ce4f386684ba2090ec7e9096e992d3d5495648b9fef5885a70d176e53b53ec2bbb0c9d2d5cc80f4526d9a832e53b62ca2707ae51bf2f9c782b6dff5ad487e4605d16d6c0cc29bd350d4cf295a5ee87dac44d240407bdf06484a46bf72a76f145004bee7cb1834f5db4582d74b116bf8315940094bd0caf9a96ad88501a1248b40042ed43b8a43c0b0aba7a8be0e02c23807eba076f9c55fed53013ab5de46c49ca7c0a147a35533261f39bbf9ba0eef507229109c9dce42de102a22da166329efe62c64eb099ac77f8b2606a043621dbfa52c4e2617728f8fe68068ead6e5cc575296abe0b269fba95417c7837824a3400651aefc1118288345123024247ddb98e6592c1fd67008ca2b8accc6c2e7aa95c59e48ea0aa888814188b62d82fdfcb5390b94c2d2799af0e8172a73dcefba9323ff3b23542597ee2276570c77386c9f771cad7f30a29a3d960e7f873e381fe1163a8eabf053e4cdcfeb5a98ec9962152c009c1670290927dd931f453eccb487a7ed0ea7612024553943135134bf86c112a0e6a74e426954e0b315c88585692d46cb38d2ba385e229c0b27fb7e29520f2c544f48086820f15b57c5d751e72bcd07a40dcabf76eb350b7812a5672a3804d68831ecc16004187c6f195d5cc25983c70aa2c397641bf05437eca7521c8e7e17039360356dc313f92c11b72bda1b3dc4d6ea69120651e07a3fd13752b70e0adf8f1734699974c59a88942569ad4ed91b1c376ee79f3d9b597c23093373decf5873f039abfd7dd9c07f8dbfafb9d037bc6a6468a2338b9e962f5e2a5805120ef00e4c7037a06a34d396f2547da93250804098ae907c64c000b8decb14885b8b814c62f5d4cefe72f1c8bbe4e25ea278dc97e16a627d0962cf820621fd0cdeaca4fc3e4f95035a245c7007706bf5946858415ce41686fc9f00f10185cc4ae0ed539a6905fb4f233060d2b06acb3279ea1a4d61b7863ba5b4c4a9cea67dc96988bded544879e37093134c9eaa9d4296fcfa5de311e5b1814cd48f531b8db569db94f564b4517621f24e7cdcee4511898aebebd15ae23b73c6ae80083e8404655a00bb8130c4ed7d11d753d52a2399d28097c27cf431385ae543e3230d44b25f963a50717cbac37cef0f06f230396e03382347a319d2e42215e51aec0b2b64efa321c3d0f48c0dd5ee985380a767ce9096ef5b7e856d0db9f87df1707d788cea67414a680e44b6b0025afba757793a5b0f544abbb0805e887afac4849f0482075741c6358a0dcbdc2abeeb359cd0256d6343c4cec3519a1840e746feeeb408970daccb61e6bc9d3099ed14b0663c353253fe99e6036a080123ff5533001f841b132408b284c1a402b70266e94c95bf550e35cad3bebf2f28a1823132b589bc3c4f7ce8194a7a8cb1527991c373ad0a5afebf943f3fc27b95ca02749d38f1f14c351bf67657649a839a13e1fc360961e30fb398a9038bb3c9d279b1c7519f5be0cc32de32bc78f0a6c52fecf5d952fbbb9696510fefd8b2defca5d0640ce66ad52f657d4590e30b3a5fb86e290b3d7f9210262aa94ae1144535cd0cf5a8d22de73e597c93284e4228ec38d450d3772d56169fc9641419047feffb90d809c9b07f2ed8d6818cc502d6cd3d2912d52e6d4fd6ecf781273672c13b91e9d5ad9531421785a2315aa738dff176d5da0811b6e586032b32351d58c9914044de9b09b14bd6014d787f5ae2cb06325c84320e94d9c1e3ddf219e964d8c0b3113a8f3b57001529f882e9a5c2d8b91c72de01b9577524d0516d35a08bb7da93e0d98f8fbd69d502fd20cb302f8070a131653f5d889338bb16858fe4e2100b9814f2eb7bdebb19e601d82969811e8202a941a5e8b957e265d335762ea873a8db2a4bde2ec3742f3f227373aa995e5a1ad6c96bba56effc0d0cf94184af95164a9b88bc76a4ca8d6089fca2ac1a53ff0b0a8728d65bd8e03ff9e867f000f537ef59f2fe19715848d37d6b7e857de876cc0df0f79f7cc225871870d9d8e7077e785b8d41c8f09f3f328ac128c0c214c7f008f847a6dec442283f6b74276cc5d12729897e5f6d6c96528c5db27564e479f8e4f8ecd24f43d033bf6658477af418abc8182caa0e0d54ae4403566f1c9a05bfbc4a59cd99a34ce4aca49df03998c80e88bd2bd9590d1cffd1c188fd80bd9e96012f57f18360aab0dda33be37b00924224b8e0a848849596354fa35a62d3cb695a2ad8032098aa7c569536e1a164354e593ceeafbc4d0f08bef55c89e943a88fa15a7ee06da4d94c420fed2aacb7656ead8aa1439d969cf06253c7f32b9119b031e749f3c335321f7d92444b77e3bb8f994f017bd4b11c43b8f46ee810a810f9e9256688857d3f9ef10b645631b59c2500392878f57ef4efec294d7656d41bfd27d0b2437fcafe7bd0dc8e00ddfa0124013c67e23f183b357d367de7655b8731582544e795e4a895c9e22843cd642769437908036eea3102d563af27fb935eb5897d3d5b0c21b25805adc3d8ae3ef79b9e82d28f59bf2388980da9cf98aa0c5ec39b11abf4850156314fe5c393211fd8d384aa003026de57816e97973bcfcea296cf9ba19475bbb28c58a87a1900bb4f5d8908433fc0c9c8d5829047b305ece1752b56d33b2856364fbf4df38e282ef8c3352226e8ef73416abf90d9811553583a9aa2cba0fbbaac10c208a23864467028f7a44c80d28f74531535a4e90815586824b9c2a1034212f6d35ee002283103242ba55981ba09e5e11208918879c8852de87e14c83b8daf9d8e45f23465436be14071ac52324229bf0c0ed78d1f0d33cb3926481d3aedeb038288cb24bda7e89aea775492c89865e34c6bb418644ab22fe71f99a5f603178c6e8a011fe063724cf0c394f8d6c67af883f590b9f694a58de9664b640c892fa144a3fc5f0b619dea4f118798a5e48a3b9932fad873bcc94ddd1e27f61cc3e8e2b7b388b7da16329afac53ceb3549006316c19f62c37df87606b987c20894860275d9d238975003038e3428c7bc6c6b28f511a443875b635eec6b1a555d855cc5891f5775d4b5f0b1886223c10441c61ffccccaa1bd4daa59fb831b2a665ce8e46a1d2652cfe2ef309ec2df0dd3025013992f026bed1f4cd5c7728e4b2a1f317132267dc5555519f43d59515dcd29d8c218be1f4da742c066d849303495d31d24ab4deac28b4fc7f7cfdadd9ecd3b94da9635ae2668736879fe124c81b45df4e234538193d73ef3a981d4a20a01c6ebd6bc9bcc9abf4561d4f88b7e70457a3545bf1726a90c317c16482de2c38624f5571a272513a78c57e838c4a572a4a8379ae66f0ba0b64d50782bbcc8feff41fe8e3030dd3450d239cd1da7dc01348fa05141c60d7ada6a0665e993da2c13178ef5c6ae9ee49398abafc3000d381084ba4c155bc884cac355015cee4d712297ce558a0c82b67b7fceb2678f56b770448c8dab580c589f210573f71975d945fe7d9df251ac760947d0958057449288ee11af2d980ffe85415af0eda47d7691e5bca0e53a3d09aa023472cfec38ab617b0b7bbe953472fee345ad8a14fa9874bf4f85ba24fc981683476c4847c0832f044611d2faaf893207d7572ee2aa76ad10b18b82cea5996ec2a9e80a57669637d7c2e3ac12b384771de5c6d2d106dc83df46e585ff813b9809e37bb5d8bc2c8e9059872556117dcebf60de2cc40c50a8dd472c8d44e2da77e9389bbdbc90d06e16dc9358c6e4d36068eadfca9f3f0d5520e4310d52519cc496bcdbf362ac4441ca9faed348950541de1c2ea00504b1ec4b8d691e5e1b35bc7728334f0eb389afb5cf579b6ecedd648e0a7d9c90409cddd5a792d197cd0dfd369cec4f1b3ee0a6b125a40245fb204d928d871d36244a70ba409a49dae58003e4e308130875b6cc309207c11f4058084ebc5007789344e96b8dcb28c8a982ff0a7c2999b4ad8e50b402e6f1c270eb99bf1869bb50317416eb5f021be684c0d0529dd27c6328aa3784b729b958821fbad1553ef05cac4172a9b230dbbf98018dfdc2ddba9a898fb3bcd0b01ed41d7e94398bd980f985fcdebacb8de3cde92120b54e8bc61c3989ada0123439dc38576530f925ab7189f82104403886b4d412c1a33b721e805c04d4e52f220b1bbc77344509c15d120008a58b122d55376e6c123ec02b27474b991cc8402c51913a53ff275b9bb64aba18c11559801c3622f9329fecf2b699a039dc876d52d5b13c08462f7076c077f07f2190711c03b80e3bb1863b90084d72ff0e303e4aae0d7f701b5c091cfcd938f15e3ba4893269efb4640d0f0812b17c537e5c6e245e733e53a352f851b9050d2ba5aef80fa42705ea90f0904100ff86ffd847e47588d9dbe2c37bd0b570d5dca3ff7f00ecdea6f050268efe4940fcf1157052957e3d7bdf40c8026b671c889751e5d9643ae311e2f9b6c1259f767ec74700bf149cd8c956c154fa579b5f9f985bd321c6cd591a4000291381029c04fd3bfc0e5cecf19c8ada99b5886a64cf625e4bf9a4055f1a6c899346bf5176ea0511266c890d7ae417703504c87c476434e84e2560950a7a0fa92165c51921a1bbfe4bd54c6bb5bca04d450a6a87de20e95f27ef21295343dde27e922921560a3391874ed0cbf902019559612f5713f93cc73eaec56de103b38ae4b9d4383443ee6e95c2f5bf781e9bec6207f24f7c8a8129593a164abb2fd7798f581e72d2bb2240bd0a8ad17b10ab35591db81a468dc709bf96715808e83ea34e308fff11d47e7c0025f358ab645ca7db26ea682551651428f62dbc59e4b19ca68df04611e7823a5acfc5e17b12ab846a58ba3dcce15e4805914097ce01f207da3acddd0b1f9c0b0416cb86773d92d737160f274d22907b4ac65ca5faa7cd1d0dda8d08d81899006f22d98d04bf21d08dad6b61ff8a04294a41eaf3c62fca0790eda47abe3f46fc7adbd7d1b22b4180b7716f4554e63ac06f23ab7d060cfd355c027c901fc23a07db2119dd054a184b7ed17e1c014d86bd4f9f85c878252e00a930a2b1e873c6b80c71aa288d82c9e8248fe593d9164bb33c3a7f8f3d4ee00363d30e99d25401f75622e59443259d5a28f2a708900283d4b24d729a0a031e5b6a10e8eed1a56f409a073bfa2c38cbd275002fb9164411b794e6108e46bac4b653a3043933c274e5c25b6951f2f9d08d365aac9b941dc4f0fbd698dddd8d101ad399dffac0f778263e53d3376ee128ec1157fa54b845f231453e74481c5f86951a2fb84449ed88dbb2a6c4ab3e21ac62d4a92ceab791c8f9805e9b8044a004c0ec7fad26cdc2eaec2c61cd64f712f64bd46084835f033c8c62a81d62f0585da3c428329b728d60bed6492ae59b81a188cb247b0fe10a7af48698258d61c831b9b58a430340ec4529958a8bbcfecea9833a6234e8078346d07a703b65588f8b52d83bdb9697d72fe8d12602ba7064283f798445060978d033649b15609afc8479faa3e13a91c4b81575c6aa5c0396ac0761f6e6ec540ede58787ed7c05b1b8a99fbee727d64509d84d30054a57b1c63f2bd93dda787e756d4d8d4da2a4793ba1490b1caac0b204057488f301a26e7f3c086102a0cd108612948d72dd7c40554849581382d06092215c5606fc625f583ef8fa9d09b17ebf4cb2a971b21c0a65e117027f737f706ee69104f5175bc7e282f939d38014a85ea1df3da747c16f34a493ad13cd62d0c635263d333632281885d43062fa2b62f278b8f2b0c09845401dae8a7ad0845378400ab12e2e3818c63054724b22f4eea586861213988f6bcf9639bfce03d761234a71320afc96c839fa600001e3e71138703d1500cf5bec707d0a671caa1abae64aebf1ef6115137aefd38b5c8a444796fe3ce43e723eef9993dbc79f63bee9808ca87d784531ceaff14032759d0fc9b93bab94c3c1c95eadbee9280a0bd91014ccb94ea78e0004f0f29464ccc2447747b14e046923c82316c493948dc508869571a268888641912c3ce2cc09ed2129c0b4fd7c58c652f05242f9e0b7edf68db530846539d0b96faf05613105db8c4130843735e1c3233a14e5ee3ee01e81973c6013f40104f9a32f6c3cf5091b95793ec7698dca4aa3653721150156f4a99c753ef2c90573b08bf0bc7199125eedaf7316da91db8541cdaa8b08496921b9991f514d89c2d4566a3c13ea611e5c126a15b10bc42e704192e65b0891cfd8b53fafe67fb9703349b4cf8bd7b85e33484c62da99d04d833420348fc335f0e761dc57a4626a0b23a677d44109c3e89c0bf99b2712d373e5b9526bcb05617b9d3045cbfff12c50e2f1b45cb4efbd930d0a0452848ffa8d628048a4de57b4558a04f82446bc966f63014bebc6e1f9bd0e5e1f8bab9599c2de55532c6d163821e045c7befa5f7e4cbf6e52d5339e2c3871c264fddaa7b946235134cc8264f514e52ca249cc6161b71afb3a117185971081ee056d03175da8560265ec09aec1869d8cc536dc666bf76cd75115c4b13804781260c4064718d31abba185a4ddeea213a9dc0e0924501ec62bb704dda8264782b0960c138a2ee983a208cab46d9859fee9238c1731394f706bd7b3f3d4591f8cc2849e9cd01b72f96d75fbd00e386807c92406f38f955820ce9b98bf38cc7b26dcf5ac17b7bebdfdb00553e48b1455bec0799c7a6c1f4532884180f81820f9df087ee494ce800455f1f8c6c6e41884b2b426385e35b1515fd320b19a47d599b2555b2d9d3e986296cbb81e5354bd05a7d27cf5317e3d3b9d775ea1b720a3665c6b0c0197ecc2f209403a9a127b4acf7c5eec3809e6733cb399205cefaebfcf43b5628a5ec50036f6c90d9c2ec54500c331f5813dfcbf85cb5b5a209c01940f055e7bd34c5186d632cd14b783d574e539948bf7d4f25484907c548402431a7b94c256bcefd424c5030d81f8805328d7e1bc00ffe47aa046a15e435cc14bc3220577946abb7c999e0b85f98fe47580af57a36800724f4496f1bd8c9ce9bf60cf059696510f79c62d1dad241f20b438dabb82d48bb412cfd92001da839b18c43d8f56d36da216d69223ca83484f6d203f484fed11508b805a8b6c15c740692932f4ad926d9a5f3f00c1a3f7f895ba31a03414326a98b058a897a80b781380b0c21556907a2eac0447f883693b08c29135eb9688ae5c28dc542d5da3727feb0a071d9938de0cc3020f5f6ef2cdf6de735a18bb6053b224c5d49295d9aef84c5a6aacb2bbe64ccab54e10b383000f140bbfa5ece5c9bc93301513611543a726a7b3238b13249a45bed8e2c0c87c23a3fa69db82208366ca16c5ba3c1696842db64a896e677eb213c1e26dcc82a3287e65c2c1f41aa5b3a53fa77952a9d60bdfbfa1070b6466643d18106d5eb71932b74aa1a39bacc20bf253e96b2de806b887a87521c30eee6f41f024463dfa70f67ed5853c9da714c949c3c5410b95e103f05cc01250dcc7ee3172b5bca3f004d20a3e870972326e220cb3427e2d13d8ae46090b21e81745755d20a6c2169677b47e86c40e042c22ed6d9d23d4135f1ac2f799036a25043aa48db28c0c3b28669dbcef4807cfa7402900217e17fb23f1f1060f578eff16f0ff204070bb05afda061d34913c374418e9aed21d5c85410d8f813955f827f9d953ef4287ca0a8b60b439066fa4ecec298f26191d626c672ec30caf5ae0a58da8582e104d8e8aa3a2678ba2165c06101d38ac95fdfff40cc2ae473db7a93c636e66527149e31d49900ce10ff3a0cafeeccfbcead8b98dc3d2cf5f381b55153fd30b0757cac630150d5da1ed3560cf679496308608d27988abd7473201449729bc711f6c3ca16c4f41a8121513dfa4384b11ca3a112890b024878a60d030993381e8c96f0c573af7aa56ee1e494355d8827ed02726869c1f424071840148066c1e689cc219a7a4a69d9c168512b58a17a40175b410883bb2fa6e538c4fed924c8d44c7601f30369f345c42c62e9203ba92b5f781299424cd86def20db9107e4e3245b387fabadc055a81c635a24bda2e81f6e48db62426928b1e0e1a7dbaee57d913044ccd7e4226052ce79ea86f55e10380627d16cb652111d146f0350c97f77a81ba406c40ed4bfbad4d428d6c13541e0fec839873f7961203da4847abcd019f5ed030cda66974653b3f42e687e9d0f919481005940b8895014fb3a61d05f5ca6c5a91d356c1f9edc1e38b3d366f02317eb59b9d2149be1e2e99f17ee6a2617835c2685a911bf6994487f97659da21b3e34bc6595744b4491bc5fa86e8ca51765dde37a9a5694fc68612922c710598c743e6cc94b556cb30e10064fa0e7ee5587a85f7472ca097bec0eade45d8fea1edc49404ad681addac0f7f535e3badc51ed204742ffd2ccc8c775fdbe829fc83cf45e62579f78457ca0fa177fdee9047c3d0aa4e5610c288d67b4bd38ac7911ff0d5e6c56e82e3b32504eae69e202c1cd4951750fb5c05361c85e4b1254b639de4110fb5aac74ea6720820d15688dc9999cdc8418775a2eafe92706855a2ce9b08109d91cf281c79096021dd4af511a59302225c381395577e0d739a4baf58934bc8cbf2c13ee49b10ae543eeced949cce39f05a31ec0fb818b666eeb9181b72411636e4f5b41cd8bf5341c5542321166f073e9e137965e58758b7d19a16f68ffda1e103acb978c937194846c8972fedd072d4749d2c1d643fd5f8c50ea06fb80b7c187b059cd44329d9e3dcda32e172fd063a63b6fe79c90072606bbee5e46da514165e5c47c731b86462a2ed74068544d8c74dc88d40a01415229be4c5ee6740f16ca1a182b4817e8fc6b270027f4a2ba0eb599fd4f67e6819a8076a3a7d92ae8693e6d0f21186e338b841f588b1826e0243da57edd37ca7c4fb4b0657398a5602ae903bd05051ff19c6c4f00db87299c314ff73beb4d461f7afce6a68f7bea69da5a71ba89c53d0605c6bb577382e58cc07dac29fa6ba65a8b4ee2d6492e824012758fca096f76b5825773dda87252f213ec03fa75eedb4821f6d9cb73ea55a8f83498be8dae788d3eefcee12da29c01d49a265e715bfec38e8841b1e039ba12f478e0c5ab56de697373acd465656cb9e81c9bd1808b23032b7c8f096b64c2a146a167af90ed0cf078bc26e951c8ad23fc99f990718353dfb310100d2d1af13ad5ecea741a7b6952892fbaca243b3387e1ab5bbadec0c9d110416e6f9e7378b38ac1e116cd260d101d9a49dd447cc63e782239cdb4cb82766d7b72407d5c686e7b84d719cdd001fd382c9a243f2ff161a3bb728ae8320fd7926b205dab6439dd34c569c691994c5759812662e9ef6ddbba2092dfd2f1deaedec44d60b8c386f95fc2f5881db20bd4637d92b62df892ddaaf379fd93f2dd31c0bdd5bb9031a1f6ffd842aab593ae795949258938d1e422d07ec82c63f93de4b6316fa7f2efbbcd8394342a428273317ad75828cd1aa4304413e832d72670e777193a1d826c730c71f1cebe0d0f653853dc6fdbc2da98685efe91aa73727b2bf6aa129c1dbbc69a5707d7e6c2b4149a7dae97308b9d505ead5898c07add72b1469a23bde04a825582478e5899a2501e9ed013502707abec6c5f05208c7156c86b14e9e37b1882026950a148323a9df0505e4bd0120ce826f13c6215df36841e918233b969632292768a005996d9e660a73becc81e6c73afc80eb63b50e0bd70ffbf0f53bf9e2d6cc3c8b71dc3b67599b04e196fa757b34c7790ae9ed677d8278be021e2855a584a31876801b5a5cf99da1595a08ac26e86df56362e8d7bfc02d455da38946df12a9ca72ddf282d2a25b2da711de3dfe079cf0d4bd37ba5a2b389509e616c570dec2beb644776daf0aba92c01a6868d4b4f207f35cd4a97243eef887ae6c49680cd0db5b604ba3ee17eef90a795cc9ef577abcd942b6d2839519fbc20064a78dcbca173b627db5690b8d1cbecc6d8414593bfac19d3db9f1776c6f787b28c7c3a778c48841c5a39830884f78b1f1573a5505f40576d4e3841b12ab89339d2e67070f6697ae99f82e56a0c282118ca9a94d890c9b5f9cce39d2b8033b1c91a003cd5074faa3a393d9a141e4cdac468f073e797e176b347888432b581bd879fadd8db771b00486132a3afcbcc06074cac8b250da27b144877823039322d9d8e776b45b51b2f8de85b061f31030d6b118cc1f0046db828da3c6a3017a0b29d6688a4f312f926ee709d0167d88bb93600b392608d5693f81b2412290a02021c684cd1354b6a3e4c8eefc37416e0270445a631ccfaa18dff9f5a5c2d9466d863ce39e7552ee7976fe69d08c09ada2acd6a1e668369d172d65e53e195e357fe9f8deeac336e574b9bb88429421ca570bac4e689485478c21474f89d77cf61d7cc24b901ecaf162e035fc6966da588ba95a485f4982134885ead736fbad15ed20d5e88f2e3e665c2adf26a63f52ae2918ab70c389934581e6bcd1e2c09f59467b3a6403a6731bb9d1363c96cb90165651bd8e909d16b704be4b9b3ff135de427a4b25e14f45a4969d9667977eda88148c0821f99f966c73b8526c15a6ac9d54916621a4b03dc2d347285b6cf172d3b524a43426a13168ee0762305b135627460821c2548f184c116b7012f04c4755e305632f9198f117b7327b2c850910e001ed31db355814ade65519d58c5d771fabdefe98b77615200c3fbd86b07cf60881e4ccc2f7af7593ea0b14dace120879b4e69df735f43e060e299b8c3fc7c8b97261d0e396bb31628d9b80181947d64188b97b786a792223dd63dcfac4677e6e54075e2f5da29f5bacd1bd40eaead610e45d2c2e0d880f27e8300eb4d8bffc7822dd48bcad4495dc462bf1bcfb378c46d4ff89cc0383d4a353ea1679edbee02e63befc2391bad0fa0816edfcbc31ddb00242af459e0e76e1e2f1c2cf262300aa51cdad5f71a25c64c4aff8bfc68de71499ff33b7651a60c2bdce644d63c85cc34e7c31617573a9e1eefc3138b13f7958be5f42327d90fd3c1ed8c75529737901d11330227336520cb8fe05089e91f2f9efa57e4590fab6977b65ded589abe9952790ccb5fbbc725531b1761857d708e077eb25a60a8bbd60db52a0e1cd28d28d5b44f39861acac90b6a8dbb5171b9a3e836c150d8b13f9bfc6d6dca82731fb2fb4a04ce7b3e0f36bfd6c8b6c5b34b19add192a2e9a86746b74c3a47687c5ea4d9faa4f9ba922dd0937c3076f7f78120e782421b28fb7a8571a35ecac909bf07ad9a644ef9063c8b418885e5e5e9d2f8c8544f75b77d6f2f0b3f9749933d37e1e0fd8e3b2c864d0a7aaf71d35ede53a56e2bfff44291d462dea056578ca5b4655e8a2320d91e2d5211010ed3a0422aa3c9aae927d8a0591b4bff8bdedd18df1efc1b3323dbe7ca2a9159ad8303af08f1b2253920f1eb5e1919dc31c0e41dcafb66952ca334968386f54fa8fa14c11be013a2bbb505c1b181916cb401ff69b421d9065ed12abfdd46b58494a65e8a845050948135c306e40b8aba0c992ed1999462679212dfd20d020858ff84e80220126e50591395dc05e5ccc9039440a4f6272cd015d4fb1300a400dc2c6a90c11954532752925ced7c38b6c55013dbea1af437b4886e1e26411f6f559d7c6462d2fc2da1f8d582e1e47930176e14e2edebcb32cdc074618580cb27bf01b80b894aa099134aecfd03cf8960954311e863623011f1b2bd7582fe804b89783227edc4a4d58a073997974a4d50e6de03e60290f64f9d5ec518ab7aa1d4c29dd07f59b66ca4e1095e985e90101a33578d75ce88ad28bbf9aa6d5f79d706e13ae85afbae35257bf97610e7a43c8447883ffb33c6855a14e46a0261c77799f92b78c01cdc7af327a5c67247b06d43665d3133a33c9b27531ed1fb6a9d633a7dc98eaa4dc5f2a7c6b2d457584bfcd0b37d86fe6b59b07649c55b2004808bd0bf10b60f2b5ee709da3b8d2cac55d71f431cc790b613cd6afffcb824455d8de119973d578aec22f4f4014e83c4270da12ed5482023b2079083b2676a4ffb8c320e14cd19ce402f40903174001305fabca7d54b7348ed9cc96ea672888e8280b77da75499f4692853d44fb69e142e24f327a6ecfb6b8d2b142647eb944ed838dafd0b9e1ac4d65d56b862077f58546d71f89793420480cec3a7bada2c0f01a57ff1ee520c0270b22125cd0656b94ec4b955086a84062df0cdcab118075063f9150dc0aef10237911ad6e126f1414a251d363eccdd565e57f163e0b225ff2df24e6c199637e55df501cf6005a023b27a54ec80d67ac56895a410c4ab6dd6305957cec81f6a5b1721bcdb1635cedd45c7882a0a304894cffd2ac0d5b9f3c8bd7bad0bc806badeea40030db00cce02d1edd740b2e169ba0f79ed8bf2717d91ca8f61bcc6d0400b790b2b10014d6a31a7b1801d1081a45b3c16f9d53fda7af211771341f2b14dcc2d1d369c29f424ab94aad21464e96654386d9fc068635a484c4aa41912b0a49709722a5b09b045f13f771e95ea38a84f9a9a6c71d206c90378b9246e6d31a68c434508a11e0804af1dd27244c9a8b9bdff205882a250d8a813e46c24bebbc6aa466422c7edc14adf39f92b2bfab13955c3faaf21b754239ffafa27d2517537923aa16c624b4a5bbf73b1bb2c23097a13376f20489d431e22a6482d6ce9fcaad263cab24ff54e8d8d81cd44c1da37529019693afc9c307128df9f05d8763330b8f7a0f236b52d168ac74ddafbe153fdfdd7f73ba757eb1c0a22b3facdcab3371df1c6df4eccf749cbac9ffbb38214560644bf5dec33421b61487c3e8b6fac0fce86ba90aa88102eb66e362a5833a1c3c2bd3d8746a85181972c90fa1ad73ba68258c2c61ec9898aae4aaadc8e378223b48f81f7360dbd3c3c97909bbaf80e37676894487c094c7516086b4c0513e9a2b09dad736d09cbb401ab39dbdd3948702987b13a0dd0ebd029012e98c6f9a939ce5c5b536ac4e60528b495198f59f2637cbc61e34c8f4426b87c802ab7e8139a8412a214955a56761a2a3e706cfe4b2cd0263850940d9be0312463bdf190cc4ef6a6eda379f910657751b30923c2cd568e89a59fcfa545e2165b901ffc457f6b18306627e16231aeff3d2c102ca65d75c4784d8c8214e36b895d080dd101a3237badf3b3cc4d37f04ff9e4c18edafce3a1509f0155a9650212e90e68379e9d576553fa1abaae3e06bd3190db4d56de6e61474c4916fb6e2e8487d70c0cc25ed821f658f66f349512e5e3b96b4074fbbe614171ed645887f29be16a83bea12c22620a695c3e77f37fd02e27407760688ecd7dd1d10ee50df6edefd114c8a107f1a1d80f16d18008163f3c8118a81409b418f773731f4d3b1073f115afb21dde9fe4b05bf5b1c25ed35569d49150804d7380296a09e99f43e340bc93c57ce400321240d70ca5da8bdadffba35f02c68b63cb2c3e2b9e2805609c6e6b623b531f28722d71de5d6ea5260b624835e3add94a2504e48341e8676d09fdf78bdb5745e6209734e3cc3137f5e56ca2c5886b610a8a9f5ac594068d4e8343f3da1d854549eaf500c70f12b739920fb624e8bb21141118b59b8050d32bb6b9a0026c8c24360d63e425e9096394a3d9ec913f4e1e732debabccebf1125abf403eda31b974f1a64fcb26303248d47e7831ae2fe1c2921222dd9f582373ae0f0344dbab84c87ef3d0e2ac2fd8daaac6bb317abb4660d98d8e12df247a673252d76c19f4ef23648e1a63b7b8478816f83b2fdc21ef5d79eb7cd0264da3092fcbad214e6a28e442493f24874f16f8a1a490be40535f8ff80868038c27c896470b33f20a94623982b6591992d16b4284344007a53c282033092185cf53fa503eeb3e130bbb1a7ce388e5f1789387bfaafbbadca9a446a487903100e60c66692c5664745e7718196b7b87019a5f050766fd559d33b3e1de75104d7d365e50db8d911b969ee4a649c0f2b9358c44adc0c188187b28ffb2942c87b73011226528344a884d83078e07418ed88931d18073de2b2b8a34e16027bda023c4d3ee5b1f1e9e2acb0b9890cc95e1cb817fecb0ef8372ab1f527d9caf3045056fda27a71a4d600c44ecbb24a0474592b3ef73fa9d9a2208b627a506238f297df9a8f50783e8e218724030b287a0e74babb2aea063625a21505f224cc2ef1c45bc3fbe058258b2738b1e016a5205c35c67a3ab273256d9b8c45cb9bc24b3a8d198ca637fe456554abd368da5189620d09ee19e13aa906af0819550896ce16893d2642453d25d296087147530ca144881cbe9b76ba0d5326163b09c5d0d2131d9ecb4bbc2afc7b8de55aa948ef09a8d3a1e6bd679a2db635d050ec00a919f8754203d61c91fc754f6d2538d91f4167019480fa5b36fadafa1cf62723f426d3a7ec22c4a534c251110ad4338adbee0439a09a28311b1ffc1373780a6532b325fc579a071624d2cc133b95769b3a60ce7c4e562261d5615ab35a66398df0692bf33d09d66065edd866a312f0e8d120189f118b5e640dc2d9a6d2e82509247c47e29ff6344dc24e3de248785f11835ce3df64aaf4a896ea6fbe365a1220ae43a68995ec8fb3085eb66285539dc0dc6fe4a270bbb94998557737b528314e52983f58eaa63465e619d54d912eaf4e2a7aeb06ded388f5a68c81aacef0caa1117667dde689d2640d910268c98960a62fba9213c40f066870f881c013cd6ae2d3a4a3069570c6859839f7bd519737d693dd8aa4c9d8a680861d0d08bd2024304d2ef891ec46827e0f874746863619e910269f844e15c848487cbe8c1f7f938272c54e8698240789bfb4ccd809d3632719733f055838ca0bb213418346f96bde07d1401aa1567223e33a7a07d90e9f832e322396332a4a9ce4ea000bb548a28a99927c1226989cca6177a5c97d03064e65abb37e210572a4b0ef8da1ca3215fe8cd69d38cce05c25875d041f7a24a36a19863b204332092bacc14eacc9eebe20afd7979108cbaa685c75f689cfe1b8eef3251fa74fd7e73588838b8ca7f74fe875f953a6a85cc25b77f5d10866056db0835e16e0f6ec25b3d1c7563412f9a60d896ef2d150955a50f094d94ee59365fdab99e3e3cbf72015d0a0371592b613afcf08f84077e3b744f4030a92cb6bdd81d858a96b951185f5efc67b9e1bb1c430bbd4ef0c80d068dbd30d0a70ffc074f7a2d631d857b69800c12c2b4caca3a357f8103b70e18d5085dfb3f714f5d51232674562c2a9a19e6d525935c5b16624703981d3a640e2017b7e51d81130d0014c6cb485989d18514c61627d129f7c4a394dbb274f508cfc38076da311db7102ad934fe9b98a3c5c44f4e6bba1bcf0004abfaa281c8f7888f5a1eceb5cc7d6a8c0943ebb8e4cf853290d0b2d0ae3a4fa87202551bd6d6ee60e38c5b1a0e2aee4574dcb79b8020d5808d732f4f56a0035387f2a925b07ec0d600625032263c4635c2f8007a109621cbb6ab2ec1dc29a46088eadc5fc4ac74e6ceb1511eb636f90c5748f80e3c29d73de6818bfcc1aa6adc18f2657b9d0b7baf752e73cc1309878eae384b3a70ff36f4e6a07e08773c1226a9c2c39f1e33e998f37ec6ac61748b54d94788e62a65fd14f2562b976d78f1d14f98344260641069110bed20a1f7e1a512f23bb37432e2bee3583acbd4e3ea0e625b4bde50d62a5674b24898c5518302898a5b2220bf9556001c9a10d2fdadb8fb049a2c7e8c1e2772d1b85597bdb1f6e42d0cd1ae4419ea72de940d7793ad0f55983db531325c60c5bbc6d92255ce6064f7367ffe601b5ca9f5d6424af07cbc35c68e982d7c408d0a78cd768c852f5860cc6108178a3be4fd63bbc8caddc707005b569c343b01d485c58535ba6ab2eaff6e1a5d38018b61db9066b1971024977c3f0f578f1a690fea30ff3bb3b501c6737d6e20d0c93482e3af0defe06e5c7a87e80301213267ead0d8aa3564bd46bef103ce68c7614ca6be396c2bc531fe7f2158acd785009011a02a603c4a654e79f4fb38c1b1cbcaae34fc4cdf8a2cd0734899417a08d36649c8d78c86c7190ae6edb15e35d64155b6098dd3072176ec4059fa840a36f2ca269f1e2acda9dc59da5a6119d3f5a88568355cfd902b8023841c6d06743f85bc4b666e29375d617462687b7136e21cfca8345f875490de672d305c2ae1607a1613fdd7fdacbc0ed878eae959d88557ec7c6958cb2420059bb1ffcd19af5f535199d12f04b9963231d3dcce78cce9f11b74c0fd2712594579d47fb4c84df33f02b9ed8460bca6effb3342613b9c2b1c2a04073ce7d4f50805e8ed8f5d417637673071fcbc1439fa0114cc2f9a3b99fd4b50784eafa3c98e3992c1872afcee3de0889b509dabbd02d7436746cf1eee8c6f71c02e256d6978e92b5c349d818c2e375174305fb7de0380db43159a49da4049197a4419b2afc4053421e19ba3b8b0ede6e8a6629a3460a997a44b4955755401e1da2216b4d0e84334092dd7093c139e1cb001e7743e9b8ae242f3866925ea425e770e55b94a66c7bb11e9993b38f22c1eebe8b4fba5ff31998eaa4e9a1f253f1a0e4b94bafbc58a8ff21f35f1271a2be76d2d345ad22f957ed46925ee8666d83128e9b953c325c0e4cfb49bf429a26fc55243eac2378bb4723395e81e6c16ddd12023b1403568b3fb3bd49a7d6e0f5744811f4530a14b87c04d7069871c9b9f5aad148836fe8d6912123372d0f185172a62d38db7a340f5c11b8fd1eb4f6d0c3f0601344c077ef14013d37ca8997583030d6d94d2702e82efa6f0a71772b05459645f49aff76dab4941fd00fd0129ef1433e16543591d250a0bef7d25d730b860977ae6a459f7b45426013938d40f6c606ed9cf9ed98411ba70cefd4691b7b7c4eca8dadbf1f188551bcf8a913024449b6b63ca614890c32f26c14eb55700d3258e5a868c7886ad18c7a3b3bfbff237ad15356c85e304989e54506d5afa411481a327a41d2bd082d1bdbccfa7cd186e782b7a5d6ee094d59ee3944b4d0440b556e0d50b413d235e2eeb39bd4b896ebf1d793e33130857c5a058b5b66f81ffb49931696608b4f335fc14823854d52f9e0277f5c31c8c29584ac2c3eb8134b1eb39bbbf52d223fa217877d2307d563b5dbeb35423f55be3daf2dc4adedf06172a935ec32ceb218d2730c50f7e4b46828d0328f0dee3a29ed454b1c8075916eacf5594c471356f87429a5822a2a5a84e6b07b2e10c776ef5cbee789c3e2065c9aef22f7b913a00744485b924f6ad8fdf6b7d57549462158ed0c72e24cc3af7e31aae666bc44d4cae610bc967601964e4a329b2c4be15ad18644a8b948deb50326f8a90325f11d0415606de6362d5cea5793db5768200dfb18fcf5bbcc26942275a4a5db4515b4bddd9b54e67d9e77544bc70a9bc9089a36c6301d0c4cae0950c30e319b8bcf91432718be3d62c9b8571cd487a7357ed4f008efef525ea01bb9e419b9e2387115a44000985c9685dc1b9d206db46d73f76889c1cccfad1416ae343701b75ee7e86e7db5c7689b1dae7b22adb4556aa32926d020340adf5a12b2f48c2b69d18e2fa0d51f6a8460586e68f6ea0dd4194fc3ba80dedc8bfe750bfb7b3e4c0cc4b33a5fe07ecf374ae70a4688ad3311a7ff89c1e54cd9be1f1a85033b5904c882b166a9d19185f81b756f756709b20d963a2245eb420fab2b0162ca2ddb818a639fa365129faf68f28bc0ca2f11e32db8169e2774dc9edf4917772df126742820b12fe1781938210e5abe51321f16f55a1b98223fd73cdbc24bc5c51527289dab95afc81a3ed148192ead696985619b309f777007ec9abe23290f7bc20f907f7e6cad64946e667ce78a51a532f5636c4a329804f47d0aa8989b613d8f6d4c98eb7c2bb5c3888f5f9f38662430738fe1a0874450ee730ea18f48a084ff584ce107078f670999f3780d1f6a21067f1feaa58ba4d0abe9488b490419e3984dfe9f388a100f08e2e769bbd36b0bf3ec53dc030671255d83e1ee64dc4b304bd6dac6e0436b64fc1eb4a24f43ee7ee7a2e30f5b3898e6bf417d41757684851e245b2f32b96c9cbb3151240b245e9863a94e05b462157affb22d22c201bd40f2f72030e74451695cf71c450846e24991131499e22d817d8166dcb02b90cb5f217b9f34a429bb0a9be138a459980032338bada36018f3343819491bc095415a9b02114d922e73eae857b5b5b204f47ce375729092ca998759037f14d3be08dd1a2abbc2c5818d58c00a6d0ae837273bf9b04271031768e1d8f7144c102d7872a8f2e3cfa8a05c5ec2e6d3a24dfd99af063c0b403e67ad0cf8863815c91394e3ee99868548613d36f28af1dc351b6fd666e82d60df758dd24f494cb9753b1a17b92e2e163a7857bbb2d6a9e768c8b54307f17114de2adc3531a108d2673cea87e0d5867f52e4e53a20ff67eb75b994deb0de81bb272d228468dd35d6dba690d628dcae7cb8cef8d7c4bb06f74f560c57c2ada440a4bf3da76106260eab79dc5500ffb630c93ac684f8273cd5825c09eba8a587360bf3b514c87d7490c4cc02ac28be4983f5248f562f53989b3eeebee033b525530adb672043c4f1ef8ba1a0f5db09b11bdc5261a69c7e61333813e1f7885211d7ea27ca637f4defc6045ba5a6f3abd43aae89104c8e548a58684ca62f2c765e390ce39443689ac7b1c536671fab4ab920630f30b7375e6cc404eadf07b304bb8b41b0c27b29caa8b764ad5177d212d8c2f3f80446efc08ebc2069b653dc7ca7ddc90a14ef35a37af08f164dfe5719db0247ebc750c870f5d59c001cf0fbe81209ab1606c103e32891e97a680023aa1500595c18a83bc615ebe7b8eb3cc0dfce1f4a80f1e23e6fd9f99ee32d155db36a28e971c358c926add8cc85c116a4a13a1d7776c844206bc534ad965c07c9222c4a4102043c8c232abec82b9333ff5a51f02201d60dd04f4b2bae60af9a70f8604a0add846031d46ac7dada2d574ef132efa21f36d3580c834c5d15e1c84128f4c2890d3db2e53b75f34f30438301c184815f43c1100881816d0b594a075dd13dde6b60d41a5bd4c4fc5f7a28c3c77ae0f93098c42848a0b8e63da768a54e4bef89672f0ed4bc3d764c479cbec7320e94abbeb116ff205c3885c80c809ee8c3e168baf86be4d14cbfd78733f7d27c03994e5e5cf192704b5120ed7e03f868174c126d4b282a4fdaff3bc4910676004d1102f09792e0801269274cf5e758960903fd95dd417782d99cc077a3f5dc5f065f1a45d5ad35d65519806af0963b5d277427ef7bc1ecd62d48bf1712ed7698a1ddc072d315a867c923182cd432f17930e1af579c2c19ddbbeb1638b7b70622038dea6619158170797d6a1b5ec3784a2ac2ddcfd734ac1f6e50def9a5adc9ce13793af722c6f8c7371ed6bea229627f51a51a762569392f004a86c24810e5cb37edba1748df0abb9b8059332ea383243d10c781805dea83b9d1d631f7d65a3d7029e0c5971eca10ccef0ebd3e453fdeeb491aa075343bdc6e17c7ce00f71c2c3a7b47c4bbfaad0950033518e235f41984db1184c615b016eb8c6ca8107bf11b07e71d2502c7223f71f8c19eaec7385b40f79bdf0a7c152ea05b910f4aca2960f04b884630dcc61a2c34dc50c72499359ade2cdae5f22bdba2d678c0e218ff17e3a002daed12e67b88857a50725c9da93c149ba57b9c271371c5b7d9b76b82f42915f0655b802db82dec7085350c39b84289f604fc7807f8b68fa9e5887dc5d2f70ef285b637aa9965ecc2e9cecb653146b3f868107ea5a2a4718618a94136384cca1326745a556a410bd53042b2160f2383fe81020e24d37d5315b023ad920d543e464d9419ccb3c57485a739105a3390b9892c1ec13a0575e3c8216784b89d68facb72e813682b254995dc2bd6a42055b322205f4f4f87f88989ce5ae462395f82faa3dd0e2e6df9766e0ecc56a491bc78f9eb7f6a835c00ba3c66c1986ab1e1134a189d4badd633d5ffc04db04ada33c74b856dd6fc631c219ec7ce31689c71de6e3bda9704050a6de547628ea5297e4bf2dbae29fea4654adb58564cf8c986450ce57ae56868d292984575dd1afe2ee0340a2d00c4811ec47429426a9b69a8d01bb40239847e529ebfb048a47f1120a3d5c5529782469a5d5d53582c82dba91338b5148347687d7ec8b68514e0f58e896604a501b116fa6ef414b58b6e3df73f454a119ac784064613540ab3904499740b2aaca4b0f11ee126aa6923cd04a12fa4cf7a2242d15821fa1bdf5f89d077f0856b16ef259487c080b018be3f70763a096a996c3c35435b4fb1bf4284b967b10bb80a8ab31d23d6eaa8a19a93569f409118455040426281198ce7e7397982bb6589c27c9477603b2cb0f6842766e4f6f83ab24413cec2e06f9199b95b0fd94ead703608865526140bac41cca85c86b411f1e7da403e72e0434ffcc60c8464e95315772e32041f6a68b89ca69307113a2760738054adbfef4b629f7fbe4ed780c1ff88cf4a5059e81bac45c690a8c504f9877208f18bb02b418f033363ef492ff76667047d89a6c981421bc7fe55eb191e774592c6a418fbe15ff27e2cd6b5daf43c18468c0dea9093d1282c05628ee3fe984fd91705292375315850498e0de8f80863467a8a12911c5129624b5591cc0e7345896d59b8558f047d18c8ce30ba872ca6e0a35a196f990481940cd134c7aead2ab36661d44b0c65a87725efd68780578612f61a4a531b3ae2bbc04bc821f82ea3dbdf802feabaa7eb9977cee9981f3c44c4592616e5f28dd2ebe8f0a3927152737cde07194376ac421e58330c544c1d70ea18684292f56d05884e21bd989ec2a118c9a3baf09dc81f7b49a1036134ab5a12626886851fd4f3efbf3c50620636f0ff7381d0c1355d1b7412639487f2a1eb96137508e1f950c33d3eaa3ae844b59ae463d21e8a1adbc52d0fee39be0093b8d78c29fa4007d851dfe9202412b4d2d59bc12cf38b4938b62e2cf9bd9b2d977a38c14ccb55f49afdc812ccd892bf6522d202ada3bb8f750fd615104fa7041ca4d42911927a0d1af73371fc09b3a8be7117bce1a7b2b391431123a3f3f1c80f55fc3a4c8349d5640c1458f01657d655399281d25001fc71c87d73497fe683b00f2e2aadde422fe028012f3baa6c9b155030ac0d9d47ccd359273b9a56b2d1af906a1b1d39ae773649c4aba6332b5c9ef3618ffb7a6a41c727fdf3fa8db562e326b0c794f3cba11045484e29b86a644c4f963d9920ab1ea3bbe9ff4f3ce0e183001350350ce045c189177ae3dfe9917105a94bba109ae942f4913d8dcc6a59c8f4a61a5b854bac2fe62f8adf43874fd60dc49339b56a9fd72e9aaa3952f37ecf06b40879f49d582565fbe1a594c83d090c564741400a9bc335c83953be5c30c14106786709a8d2ae66ed44a8a2cec2933ac69051e2c52d27d13e9cea52fcc44fde4403aaa667b1a410fd43b0ec1f7d469ba33a5bebec426fc57648537f8a317d29be848cc13add1ab368c843c0bc9088639188d412cb9fbbe4e9fa09fba474536944035e4284385aeb063e2ae969e314aec7106b586dbb4d9d149feeb56d8113fa56a6e725e336b57af245b08ceb2f8f34a787d84627e7efb30bc33df0202c544f5cdbfb873896c312274ba786d92b67cd9fe25a31f59826c0112281afb19624b5b6d7309630a487cb6db0bb37807e4df32b6328bc4fc1cad118b43800fe1166e72801654a2d33eb3f4c2ed91e92797a7eb88f6d3220490da5b7a994b07dda60fa98c60e8ca78bce9328e6d7d5cb31126f547c7fafa399aa89ccaf71e39ffc69e7bdc913d4191a539ee5288e1c49f3dda0c66c44493a8c466f926e440b7d423dcd9ee05e642871c6bd810aa0a011c07208d2b38963f12b1e419bf6ce2586ef07c62ef2bcb4f3c8069c11bad00b2647ccbb7641f0ee3c25badbfa056016945591bda0d959fea5e34b92e78e314f4764c1acaec69f48266b3bf2f1fb2f023d6b44abf2006101c632724516a29d08131533b30de71562c13a3498464305be8f3cbc380abc709029bb9f366e1fc532c204615cfd55335f2b252a6bd4aaa3e8718ab3bff5d0908e458a804901f4843b1c836471f11f50c08ce464400e0151b750ba3b0fd8bff2a9857a64f3e34ac2568dc053bb10ca1a567bcf340275c53c8cd0361169e9eaecab29441bc52dd7456a401da118aa836c53f8bd4f34a015d349edf154f5dcb71b6d5b1485e0bd0ed0735b6943cba73541516706680944b802db32e38502087a8f129d53f780e9e5c8492076802e8ec6cae17ee8cbef31692464533be70e3c567906e8e7345d2b85ba00348f8bc9bf49efe0a622b6fdcbce8e1131c3c5b9e3463bb268632a6ef3d76d71f5727e12c15b33e3742d0fff9afb8ad578c780e3fb0a93f3398faebaa5ea4cec338e171c8ef55039efec129ab6a2a742fcfd73a051b2b549059eec5a832d208b1ca1876405fdef8128883274325b02b3671af6e840da8ebe3f2d3af3c1d219d01c52dc7244303d2db7a6af69e82ac91db22367a2665cd6e2c11540ed11932dee24d36e8c67de2f16c011c3630b0b54c145211af56ecad90f6307e3eb436748d03abbc3f7c5d32f27e850e6a2cfb3dc5cc39501ed343f7a87fc9c43444068a7e941ee41333d5193e1a051d4db41e667ec4716bad049b4a09e9057bc11063167d693def37cafda12f3ec09ccf50b75dd360da2079ffb0a1672ed9f403edb9d6794632017e3b3d8bd62488cb25fd41036ad25adc4093f478e9f71849f36068723e3b723d794db0c77aab10483bc80d61f9dcfd644e48ebc5706dfc22c4b6c1fede3a98dd30dead160e5b19289830bda87a5c69b13678a96b1b61d16853bb06a18587c19ec5667399d5160437e8f018f4557b240984ecd84cc1d7ed47b43b4571199b66872e4cb6b0ca50b75798cc0ca9e70781d2ff97b48f890dc992f4d0cfa6fa20dc5c4a9eb057a2cc7fa5267cbfca5a0c38088517ccfb0f88c47a030c63ee5d7aa7699bd4e133ca2c9ccb3970e2ccf993cb0867209bf92c22796f2c8818c01e0350b2e445e9d256cb80cf8d58db91b32a19614e20ebc5fad6d5d52dbe099e2b83c284a10443cb8fe7764bbbeec5970cb417a3c08ecc28843190cdab24c696e1f17218ec82637d0db25a8f11dbfb19552983d323df819f76d1942e13d71edc81630ca8d1ac1b22d3a25405c824418d871920cf61881820363b0e5d339bb82c15d8ab987b959aef24a147a25ecbe0eced7b8daa0cf2393e7fa314cc6a7cefa4b911c90a31bf60553ca41a9d4c2ad41646bc56de0b89bfefb7596dcce0505b07ce4a28ad437219d02b1a86e93940e4495ef84734982745b1088f0ee0a02acd74f3de659f75b75c11a9f8e05195553bd2afeabf9c384fb444d35fbd24321eda19e57b09662e4026d09bbd70072087fdc8fc0d0f2304196e45d0a2afe4831ce2cb3d956f606b479f83a6b2e921e69a448694009a286a75e0a028d8169b877009bede8010e755358e28593e7e65c92ad74b117c084d2ff63bbe48c1d09d88d814e75376c43729eb52543f7382156953dcafca02ee4c07c855a7bb50ed64256ae09a9414fe69abd6cfa4a1586540d8cc866ab763dbf407ab4ae899a7ae45ac7e4be0a1fe2b95513fc6b975959f7fd2b36c014e1fb8ed31ae269e23f1942dd96eaea5426d5afc192cedaa7e8d9614224a2b9a10eb8e4feead26181fba62b80866b45d54b306ccfcf3010fc8b64d562b67e40c219efcbb1e29efbdcc5bdeda10e7e1a86d81e9424ac7917bb544dd19e6eae003dbb9c6667013b77a775cbd58fd2c57d9565aec7b3e6b2d852d5527ea5503edffbd1aacf01e4bb035a945a845a3054b24a07099beaa75cca2ec5b54935b1d1631ba1f527a13872b72fc0087b93ba2c623cd67623e659aa71c1d4f29be145ef7bdc87e3bdc2e620214043d138f96d9a2007175cfd475ef3e500d3601a4942f6de9bc82da54c29c949082b0828082d030ba5a241fd205317d177ecfdbb88621065a48306355a8931c6d81929a1c618dd1245e7958ca7e07e33b429f5c88416e18e980bbfbdbbdb12757777b773a59b2a522cba00f09933f246eaed2834b8037aaba033a4a7712cd10a52286989ec9e4d4fb95f0ab76177535aeb6af58fe46e89c0689bd856dcab6e186894aa6ab8bb37f60584d0a97b10ecae8312b3d29c737653c61944158f8adbfd3dbec06ec9dcd6e65d6c4f4ee69731083a2eb442042897c68556ca3863eb9b0bc4fba7cb40459a6658da49d289303ca0033028410f3ef0441635b8a26d790dbb1157a7dba5380aeee71971bf9c22ee078f86ee0793a2dc0f1271875032e483193724096131420a1743b91c84104c11020c0e6411c51617f3800c238050811219392cb9f85b8e037df043951da410021841b8c0c5afe33801c041871d8290a002872a5c7c858b0894f0800f5e1835b95808af2c42800594970950e0f222892c26d8210a0e5214b9f8f9c7711cc0030f6778a086325a80c5e52da320c210480871bf8f4d2760a3d67c824313309081101216450f91618001c147cc2553c420fe808b0c2611500a2c8718c82a845861594a1045083c70c6073c8795152e625cec422b5c9684c04890a9b59ad2065ba4957a0a431251fd422b652ccd29555e68a50c1d0451fb422b657051c6141bd2695a294389bb0d4131659432ce2e355e68a58ca05886931e22e7c04a192028630719302df17faba5021f98033046e0832b89cb6004d4064a35fcb8b4debcf3a154bc94cc287225e12a4030a20857ec02b0faa8871718b9b4e81d1d151b280930967c60183a5cf1852b49dca2c815e7e61d4b88fbf0942eac78e24a82152144124fb0a009571254132c5c499061060fae2459124d2eb71083937978c11041aeeea02b49e40681061da7bfcf38220a91ebca165d5e2e06c210ba30b93467f2032bc0702549357d71c517432e4d9a604a1428ae245b0c846a70511da6a84191cb8782f16adae24a7202c3e5d1ad3b1f7ec10f172057127782072eda05c05e23b822a87740a2074c2e4ddbba9b3bf00190904b931b6ae620690b902b0973034926fee786a856b82471cfdf47fcd2361216542af55a0a4b6198ed259d1177a2625773a2f2d59ca8f26a7fc3891aaff6dadc4e9c8fec62dfea9bd5ca481a798df78c39cfaabd4f192153e42e803ba0137556a087c45ea266b8b2d5020b8884b77f3e69e48594925669a40473b45c924aedf5c774513f49850a07445a967c2af5eb9f150d7a42a47ef58d7cf95098e986b31cd34fec0af00a3c8c5a523f57722d7df3f1c02a370ad0bbea7bd107a89625fb5dc9da5ed235fd3880a8476cb9d395ea16f5abd7bd58baaee576e4abc4112199505d8fa875b582fe8306e5cbd6ded2857f650926175a231897dbd397d5c28d1a17da6f03ab1fed9115a3bb7b8d91bbbbbb47767717c2bbb9ab68fd70067618ccc1efee7e55a0c199385972094cab7aa7e4950c096e33c7b44577ff746c2c58dcdddd9d3b0ba56c0a23a85052b27166be017b6b01994e4da05cb9cda4e4eeee718bee2ddcdddd596231e3eeeefceedc5aace4ec61fe7e8eeeeeeeced3f9c7b768c1b4b4707777e76d0b7777776e2d9cbdd9dddd9dbd275a1610f62d201247058b1688d4447e84931234911636089a5a0cb120488b227924c5092ef2a2b7eac1e8cfcf4f0fb60453e2f25aa2850a3c2a64b18936b3ce2c5562152d7a5cf678163c323c323c2ac9a3cae2796c856d123e7043151e9b25764ff774163049bbc112419793b4584916e261212cb84e2b7ae4cb9e49e5cc3233b3c92d0b55dff444973d318b9c9c145280dc30e2006f3767d160df7473fd5a777ce6bca7f9a1f3c31ed260df7873ee10a0edb910346880daf0f4719e3a55d7f8df13b43566a8629642a4ca4f697c2d62118353ccf739e5cb19a7c2cebcf7ccf9146c549ee3adf6b6148a2af74d1b9920c7dddddd7bc854a5d17d9783e9780f8de3b8eee320b7691af790d3388de9d5b8e3bfc0bc44b8bbc0bc44b0d728ddaa6a25d3ded6728aa31f1c9146bb8c75f46b63d41f2ba8478e5ca0c13afa65a0b426edfc70a16f9847fce9ce1707eb6806e25d748856ac638cfa7df3c72adcbb9fa99c621a0c6323da80e932598ddcbdff99e2362d3b518c212b0926cca46fbebf7ed376a3feaa2c2d4523c989d1d30a8de3a150d4f31f593e7ed99c9c56cbfb5fd93ea21d2db392a8fc1baa3321cc06f5b47955750dbf46b124aaa67df658f769508b9a6314d3b2cee8d5b28e86d62512df3f9b7f8ab073a38b7590ae80cbdc8ea8bc6d14ce93d6afe342ccd7b0f7ee935cd7c0f50c5cc73e99ebd3027e7afa9631c618638c31d6945822d8779f05e6ed4e2c201bf7dbc32b06926fdb6fa73f35f65b37b91ef2b92efed6b9a6657c62204ce4f4fc606cb94cac80e1e4360b88df133f5b22f73433e6b8734c072d47a5e6fc0a3d898aa21dd741d8ee7e3a719bd35a27651f120491b5c8316b6993a1e452cffc3485e2627cf95b9c96c21c1166dc836b8b070dce1c914596a8acf84a2e942a4c776e4c457cf4b4d761540c4ae348399d3acb4391b94a7b50f889d64b1809e908a96f54b51ef50de5273047bffc58c82bd233253f8c2b44a16eee30aae6420781929d590a868ee2e99b4f4974a1bd15e08eee5848d499f63816f83e11481d8b7df45d01e6e887471a91474b27144c902e84c2872577752114415a6e7fb41f4ca29bcb8e2fa3f51d22a52a88ce8ff1cf843be49f719d0517e3c586fad58ef421d471ce3e5ba26e0fefb6b15ac8b4e664bc5a3c699f7d73da432ed34ed9893b751fcb1fdef9fcf379dbb48ed5823f53aff567e555959db44c062e694bd292b2a41f9bafaae6d69cad5fc22449daa42749509270a85b37d1f4a2a5550ec5d96f16b9bb53faec3fc3a5b4cad530d8d843da3df4e857cfec8cfe33fc0b9228529f41a45a1695c64b5fb2a8f09fa8211e3f2f099dd00d204126e3d36accff90712a8fbdd8930aa5bde1a472bf7d0d9c319b59e4b14048f8c00d4edcb87331fa3cad4b3bae232a62658f7a252e1f56668370bff94cc96c90ed7d94b8747c76fe46a03f732ff0ebcea734b4eeb4df0ec49062b6ed68dd57e46a2d4ab5ecb5ae27f2b448a022a3f663a34b5b4539449772f4e7d267fada0bc9d5f8a98efbd5324b43eb9eecb773795a52c64b2f17dd804e62d95651bd4b97d79557caff500dd8a8644a48409b261551892b9334e1c1fe800297fe8b6dc0e5b1dc4927383f9fcb4e7b9a67e6c608936a0b451906ac8a544a9c54a60d890e5d9964c9d74f786698cb9d18b89469c773bad23fbe1f032ecfcc8d37b1c62ba44be731b8b8e238d17e8fbfe1959a6740af74e0c7ca141d36963ab0dcb864841853aaa45df5983137b6a00622e08019359032049322f8115b26135db8b9e0c4331305d0d1144e84be60d2c3eb0a07c8606254c30e3d9a24f1f0ea01821f209af4e8a109e8ca0d401a10b02635bbd00a105e0ab8e127e6422b41b872c50348407aa57ede652d469f5383dbf69ccd109bb6c94d6e7293132e0171aa6d7be5b66de2b65ff849327b6d66af615bf69ab66dccb180717d145d7af4c828d46b2889921ce38963a12febf3d8d4378c0509c9a1be912295904bdcd5aee4459ee4596efc885364e2163915efe28fd7782d1be859e6de3f31bebb3d23e95ee78155207d2dedf58fd72dfec49ff8b33de4a210ccd14c71a93de7c225a23ea23e4a2d46771963534dbafd2b48b79063a1e58ffce91bc62e4ef762d237d08a184ab79b9e08f5502bd12f09d4375f146a8a5c8eb89f5c327f08f50dbc6283d1ed8f50fa8677b82da3568ed77a6ff57575a56b9a218f1f50477f959677823aa78d92020299b8f16dda4b752e748dd79a3f7000e1aa19a1ccaa7ffaf5635442078466774719659431cae6cbdf15e0dbb16918d5693f1ed56dcbd269eff33ae9f4ad5697633e88c548095b8289b6a57ed0082706d6f4d7c0a415cc3184faad2e34fa6a8d2daed84074e1151b84ae13175ea921cb5d5da901e9ce8f4e8f9a7b013a71a325127980cc8f6e3f2554aabc80bdfbdc005da16b56fc35e8c2e4688a0eb7eb1695df08316edb2da6c05818a603b99d9ddba39c5f955eafa85fcbd6df5639ab6a45ada25a6113146f9873ce39457bd9246f502289e270a50627b056eac22b352871e985576a906214e58c324756455443ea0c9b0cfc980a979d9b93466984352c85651fa81fbd1836bb39f5580f7eace37a304ffa34fbd983538fa19e3e0b084664fe973d3fa53f9f4e6eec85fed3c7987a0cc3528fbdc0510a7bb0867545fa670bd9a3e463fd5877a2a15ff0a79f01912282fa13631dc7d3a89fb6c68dc2c7e44f231886c9edb1cd1a71cd7e2e25d6b1c781d0d07fb2447c4ccb6a01b32c20916b017bfacde7e6781b826a90c29c22ad19bc9dd7591155a1abe4753fd854218619c1ae11f87eb7cf9e603f79f6f8ec87cd65c747898b933e4a5c28e776382d77fbf9cd1242e3fd5940e667afbdc6754850ef939201f56e91a41e65a9d764afd3192f80464749b81f3d23889eeda168a70d723d7638eba3c4c569f03be1422b4550e21621cbdd7e07657d18723bdc7f1cc41f85836a2e088d47599fd4d3b0b4275e0ec8e9e79c3f2f0bf0477d3682fa51e63a24dcd7ece553af69d0fe9410e372e74fee05bfa79746fc4e6b84ed87cd9f173ba5bf5a24291852961584b32c21a8f747bda3beb920dca33eae832ed9f5783cf58644df306fddaabb27b41433334f89492a259db29b994a082133e3d80add7ed11d4e1370d6414ffa3c51ce32d64169ce39bb04da4cdf38566bbb7b854f2045a931db7aad9c7ff914fd8c29a7f8855f52f462dfea79e37b7712be7c08658510b68558c48c94206bb8545dc3e2a7976d05aa7fbf16bc351ac34183d026877f7807cbd6d335ded9b4c74d8910421bb6e113cec9da74731e96ca3833788d1d72f2a1f6c7ffa0920fffd0c30f9efcb87c92c01bac80c935657e925416268e5c53f8e3d61589523d9bc639bd8dbb134a7406080cd90922c3ccf6aa1f4fce7d6a59f46efc43ff834c3d5de34f6d05422de21edcd1b7e748f77377a43df72fc2cff7834c9a164d3ea59c7aed83a4ea5f219272632ebc4264c4820165ad902ab753877aefb6cfbafa94beb683c448b33aa8df6c11b4afff41adc80ca8dfa0d289e929aadb68c480648afc97a7dea17eebea6b5deabbdb9e43c205e12c921d1a7649b548a604a1cf3d12e848a22d42cd1eb5d5251da0b603d5b64cb0a19f7b136ca89bffd78201ba9664367b94a5d7b9eed4f5f65a77484e34a39fcabc53ef1fe4f4fda993f5a18f7a9fcca18bfe00797f06fca1cbbf31ae036a17f7a86e89070ee0e21ea85da8c7ba1dee67170374712f3b21ee42fda94392fad36f9d667d96780001aeed81d8a57db52ce903c4aeed914c0992b22cf948ea671f24f527ed51efb3bd8ef3cb6b6211ae0594dc28ac18a02b7b1f68e4cac0e933903d74b1eb5d7026c6ce5ecd3ca45fdc302ba81f5c2aea0115274394900245027007dcd13007bf4e13ae6a4aea1a8f424b4b4b4bcd3f5a9ea07e7069c8d2d2d2925ceaa55eea21dd437a0805aa4e863c595afab1335f9a74bf8a74931c8a74962e182701b086dfc21a7e1db40d580c210797fd2143014600ac10e0f28ecbde04170c6bd8c88b8620d01e0f611e6d270075502b030ca3892497818c9af4a24452323a4484faa8ba62088a5c22278c0e43f7072604935ed25ca4d8d2c29263b424856a2bd21eff110da3304eb8d0355ca571bc06f2224b532b4bcefd201334f222d09b8a780d13e4296311c7a9d4521b40396565b0d05fd15441f8faf5a4081525304f5bb58d813afc8ad706138222bd71b75007d1af162289eba0fa4126eadc14fbc13c028d513aa743182984325abeb0fbca7631dc880a6dfca0c2e718a56481f381ba6de16531608439b454485d3ef69fbb7c974fc425c63c9bff68ccccd6dab830577569dc97abcdd4457177bb9ab679a7ddec6adce6dde9d2aba536efb0abd5cdbb79b597cd3b79351a9b77f16a3536d5e65d5f0d46b3a1aa4103e6a5a650366ea03e25fc2a8e367273d1dc237408218436303373945ddce2276f9418633f4faa8b1a1ff2a82ec7df628c54a4e477775fae94505a965bbedd85b0ae302c62ef2560333b3da6cde82787f0ab273975eadbcb98d2e997d7e91a3056d5cfb452d0596127c80c10682554aad40056097a1181835eb81e3c03f68c8acecd8c98980cc43f3ed0186849df00d5ca43f33ad10a2a5851e14811339a8af41c4999f14405283f726690336486a6a51920300435c62b27c8851490529061874bd24e1019b82f78490a4c765a555a3f7484008f7456f8b171d1d4e29f203651d8e4b498725a29e4685f68b1d922834703cffb21783fe3656628794b0c986982676655b7d055467d709d67e666596680a2c2ef9137cb325b84ec338d8734cfba1e79dd4240c6094c46f59fcc2773b52ccbb4d7541d0d32f7845115c6b86e79646e0dac861db2ba323feb785670b552a96858dd6fc8e78f61add5a53169e4f0a89ee0517daa4f75b318bf4db35ff6d96f34a8eec773b91edb9c79d95e6c8a9c6c50e1675d4ffcafcac8c40bc48b7dad3795faa87dea37e6b1b10eed5335f558f715b9dbcfc8f548d99e78eb0bb55a8eb7673b427dd6f16c8fad5634d3e676b5473d651e9475688fc2eca639d7036537cbb35d2e5ee72c6cef2454e1bbfcacebf1eb2c74fabb929159a96ef619ed324dc37ed20bf83d7dd67917fdb7ee4fdd77e476893f71b8069b5084061fcee850e11f809d507e0db121466529da363314977181e27830b9d84c9031cdb22ccbb22c9bd84f9a510c835bf8a0c1996eff9921fc6227fc03800df2806c3f87425ec3cdbc926639080826eee99b88c19d0f99e03efd9703e1099e98b8540677c666e86cd35e7b9813ec0b9b30563df146f991cf6a2175fd53d7eda7e446d18084b55f5a90207c8da6832eaff3813fa0220c2c845c34af6da1e97c02f03e491050430e2e01bc4f92d50e3318c355f34902f0f5bbbb69fc8b77f7d9dc171a2fef300f391b233ce448c0a19da07a9d3efd5478ed3fbf4be9b65485d5da4ca44895f0a95f758775c719efbaa3f77bb56aa52ced2575a99f07c9b04b71f9ed8d679967135ee6351919d9a54b971b5c004c69c2cdc7da6bd27168e6643d4df75e13bd1b71bc921bf332464a4c4a19ffeb9117937fa2ad1badf63aceea3ec7c2d362a6f69a907c90bf42e27211415c7e998ede1b4ba45c7e9475284227580fe21b1ca8351ee63d48bb819d344b43eb02609af01300aff5e626bc4e6b341dcb1f85a7f9d8b158a7f7c7bc8e75b230a0f034cf722b04054bf339de7b166685e478ef7358efd9eba8d768ddcdece13d99f0ac19d151a9be55d11251fd09aa879c0fd59fd051a7adc4e2639d1104489aa8f9c639bc7ea872b94809eee89dc4ed1bf99c0fecca77146af3ad6998b81ebcc5ebe01638d881d7dddddd412d14a307f9932d97e552340e24c3085e79a2e5b25ff9e103f7732347ca723f57e2f247ef2b3f5490b43c41fa2e5a6c6c9063e184577d77aab79179fa9af74a5c91e6bd0f42f31eab3f470d42f3de7bd687d5b60241bccf617d74bc863f06e8daa1b114d3f11fc462a7b01eba50f80f1a016916b8cb35c25d9c059e95967d674fbbefefc9525647647ebd3a4ebb4da6fb7aa48e0e051b9b42c3703d36db427d0dae47f62aaec7f6aa0ef5276c8f7a2dbb61d452f2ff78a8be9763840526c125c8d49d64e53a1ebb1ebe1133c17e77da4b00f0acae099a09ff01c0f2b4ae096f3fe3a1c6ac248e6fe7cee078e67ae06075cf9a79c8f5e83ab823f32c4c45f3311693b11f659dbe9dbbfad85d806fd7bd4eafba6fc6f2b46ec737fba19af0b6d378b31dbd5dc732a1fbd77ceb3a37a1f38ed5b60536baf2bb87d77fb024292d313535312d29256169a11e222a323a3a322a22ea21a6a6fe69a07e05f5ab7f9a988c8eb024292d2d2925613932e21707b1100f11151511f1900795e0125313532b071ac123143aa39cc6927a259d03051d1d0a5d0e8fa6d371cd7e3b57a7ed9f3a1a5af7dbb1ff5d47e42dab05bffd4e43eb4a4b24f5ce8acf3fae0a04a179142a10037419d13e06e8f21e05ebe33383d7f0eba0414147e72874d06be4c73f340f5d36ff41a61c1f54da59e2591afb5e13e49efa1c1d6bc7e6599a8d01ba6cac8be65942d845f3eca2b1fcf21aee537fca28f525744d8587da3f429330c208238c30c20823f02581848e4780221485e6b51addc777f536ba1e3762bc56ce9f1e7b99cd968df5a9652ccb6232b3d46a36e6c6ab54bde435fc30d4611e4298efa5e856f5aaff5a57e541375ea71de663f7ad6e7c733d606e747c6ddcb0b6b574cd66a3e35ba38317a6e30b3995eda5f6a4dca1a17ee9ba4ad7473d52b68b3aaeeb27ed096551e7f5067226fe1240d74eba00fc01e8b8a90bc05fd3c12e807f9351a1f4cdd74e2e733f0cbdb2eb206e126acf7b9acfb9b567de7ea126b559e827edf1bbd7394dc701c1badcb62de459da631fba2ee4ddcf833c890515097e5f02772cad6efa855c5fbdeed2833ca89196a85cf70ef21672d2372f9691d73090e3b05b29b018f1cf50d36d2525a3a5232c4dad76ece5535a6b8cdd5166e27ec0db280ec806ba74e982e56296a7b579341d7465471ee41d37f5cd6ce2695d1ea6f6b82989ca74999f48b4dcb4a5973850a1d0bcfc03d0589ae77725bc8f7f00cf7b7e0fea1ba1be917628da25cfb3444ea2e95a4bd72c01b9f54289a96fb6344e6be91a7e666aeaa513d4ff7ce8b2160fe2a50eaa5593a4264a5bc5810a26271f3f68b28b2b7b7865e91ae805d552b7740d7c71790f8720f4802d9d96f4307df4704443c0838cd4072f7cd08209e14354ad4890e483044a5d03ef476b0e545e3e44a0940352131f2178e5a045131f2000ca8189898f2758ba164c39a79c4b5479a195a60f48239c604faa26247550371414d5530b2614951a41a9358ea8d4898514a3890b3944b571a195262034990124a56e175a318307336a76a115334800831a2fb4620694122eb46206117c1071862ef54e883dc87d08423d5df835b80ba59c3655e41d4cb9f47dc8a5c01dd3bde3d9b1173087527b4cc01d7cfbfda806e155fa067b2a73a9bbe05224ae1771e9c37851b1ff3c48c27081bd07c987d141f5a2bec15c08ba34fbb9d13d3593d36999b2edd46344db4cd0c5357e6a7cbe9fbffc453f76343a173a5551210bdc8dd64f49f5632c8d03bcc99e7eef006f4e4fbf8de04e01df6850c01b1bc0ee0011fd04c528c73bc801c461a223e6c14867907129fbe0122941222c90ae5cfa9d0447813c580aebe801e214690f300f66c23ae8cbe0d287fc5aa2880bc465f26172305b547e6d722fcc8751aab38bedd1150de84ba9e17eac74e9362965c1e0fff242fa593b2f2f2c21b4c657d7aa3e6b5a21352cebab65cd87aeca1242e35f9e866571360acc4397ea5f2c6bda28341eba5e6c1aa66be5780dfd1aad499ffb1fed5178b4e335f45f3a19bc86c63ca94f7ffe90f6e82f5dfa4c84c43cfcc53a28131121bdbfe69c73939bf497bf584a99a22f29fce2177d4dcaa7284eebad657371ceb9236aa9c8d133ed35efd9a894855da4edc92fc24c980713b10eca7176b3f4b553c73d801efdac631d40cf7f58077dca61c01afa36dc8f892807e1524edd1f9883be46bba93dfa91d25fe1a0661fe4381bac218a4f1fc298212e85d493b854b3339435a4c1190d07f59bb98c85573f606666d68110fa9483ca43edc527a2f6477ed2830ab9d517f5e3274ffae6551cb81fccedff606efcaa52116539e29b08401af0e0c216179e157f8395950a99f80c70e10f00e2f010ac8ca53fe963a525a60be173178cd3584ef643e184fb7196c7ec47c2fd38cb1118db9370bf6ed247dda4c9bc38a87e8303f9ab6f3ebfc1819c893bf11b3a6688caef35b8fd30477bbb9516139e0b1e895511b73f8808c01d7dbb09b73f71a1ae31827274bbbb9bbb491fa9a09b78141ca8dc2bae5e0d1827d5df47ff9d70bf3e423d0fb895165b6d2a34ef04c6c9ec87c2fd200d3c286604758b44dc132648bc837a560cd0857a9610cb8261fbec59f3b9c72c0b86d363cf8a2c211acb294559d6b44258b2462be4c4721b65c32cab6d94d34317f6f0b98e7a0dcbac56f7ddebb88bdb2a784e14f5c44a4fa8a00a2506c0a4d971891ae8c2c31d3257beb7e338d94b9606b87200ddb5773087fc2fde0842cdee17e14b1fdc751b03943dcfe7fbadae5c49ccb5a73608f5c99eda77ed2cd16ca6453dd9d67d9843fe898b1a24e41da3d0205c79310517dd3d70214676f4823b642e3f07c11df23207fd444b9d8f68948adafdf1a3f59ea8d0055d5f4e0c50e5cb72b1dceecc0fc667d08a4ae59f23edad5ed09d822c948820c217ce3154ea91f6c8000273bf925efc0dfb8525a1c199af7fa8a80e4f38a83fac4e7bf1635250e1631fe31f59aa905b29d50f361d397d8ccf3f70870cdc91dd17076d4c36ca40fcd35f54f8f4b1c8f580d04867e74710f82c68617cacc3f9515fc25f02d437181153699c1822264dfc8485788895900e8ff8c4e72975c615508ca1f2f3438b88dc0d4613f3681b8558c710e00eb6f10430c77cc87ff2a6a3950b6c966ed88051614b2b6fd26cecfffcb85209b1eaa21b3660545d5484d5b0342cca72f639992824e45846d44040400d0404b47dcccff731e04db402bdf933c64621af991ff3dfd7ff28ca7e3632945571ac627e6e361ec11cf35730f0209f4feb6a6233e9b284e0f8988fb148621ec7439786a34362038e67bd0fcbb284c43ceb591609eb631eba7c703ccbd61d1c96f286a353e2e2292c7855f379e84853d30faad56c757a8a7df0e8683ea5353bfac78eee8c1e85e250248a45d1281ec11dcc43d58219d437474a5cf33dc95d69be2f390e74cd7726b8836fc452a36d2c513ae79c93524a87b81205a54440c10497284f581142bbfcb3b2d111d9e597453c01252852fe7a0010a0c005a8cbdf90d2eeba6e5857485098e0d215a5dec5ecb4291840b932da551967d0a075059acccbb8c3e8b642274283331af49f139db287867a88c8ad80371107e8c58f29eb4a0f6d9c8806a52fb5d6d5ca4628159b49cc03b3ae7405dc31ad771181b229d53f525a57abd7ecf7f133fb7363d3d1d1d1d1d1d111077110070da1a74a57185c8a1fe9896231becca1b4aede12513f5722525a626a8a3f1108ee202a721c25aef86ee447d015df93e00e8ea80e78ccc36d0b40608efe2f00385585ed3f9b996ba3fd417ff0a4e7394e0bb0a6ff062d2ba0ab75a4480c2abc58c7265a057a66b4231a73ce4ecb6be6b7ea0452ae4ecb96d7c0e7570edc0cc43ae6cf5f00dcc19673803926865d2aeae4764edf729c66bb6a814d7b3f1888766ce435f3ebfcf92b8ed2ad566db5a216e8834930b4eb64b948286628a8f231bb5aa27af421b7737a9d9ef327a45ed382fa31d09d0cd4378d450e418b0c21843036e3808610ee1e638c31b8ab5fa763882e18a2ab9370f3925645852f2536a58d5d64da5d02f6762622c4990fe5fd36d00c6fe44dc99db62f49baf909484f97638c29c01c7c43219c34c6f813b32cff3954194208214308218431467e29a18cfe6db76e2e25841742ea0c1942cdaaa0faf794fa6dd76197918a91d5a74b81666606aafc2d99efbcfcc5b4fee2edae4472874083391ca30da834cef63435e9d0cc0000000000d314000028100a8844427148281cd385e13d14000d7e924a7a589dc9b32888611442c618608031800000900110981ab0003f5868a707a025ee09add7a753b6b859758323ac49a1259d7349d51dc70090c4988bed42c18d6c38fc2aff86af9238eef8462035d2c00d61d0cb5bf2904d1faf903cf9f2532e0478a97de0a93e833e25b283400b3a363aad266abbbf85f7d2a9ddfb26706beea4f62c1fa7274dd2dbb65f81d043448b387f9d409933ae6bdb2b36437ddb72b15ca86d363c711dfdd8dcf7eb6a457726ca89a94af97d8ff0f29c9e9ede6694551b892dad985064b440aa9bcc3c656d370c3b6de5ba8c4a3a0f732c0f0ce842a6a5dc26c70d8d1b84570dc7ff4b7c0b57e2db0bd936813b8587dbfdd73471d07972f38112036aa22bce404a521cbb557f31721d626cdd9cd0729269504fe4c0ccfb87ab24abff7802cb2cb4de6ea901aca76387bc8e606233b9bc77e30be22c3ac1d8a454027cbac3fbada6fa4650e13d981b6db79fe6dd30617a194ae615ac47f624c040e34f8cc3a6386ce0139f36318d773cf6469fcc05439438d2471039b9674047737206297d7c25c7aa41080cccba3a11e306618c060a557b863f1dd5d65d7ac78fe0ac8a782db1c333b0f00147405389480153584d8a71da55624982e4c350769a007fd2611b9da910db50578fa57dedcb31fd270a0702d3245879cdcce59c9a5d40fd688c79b7309e374118e7e894b16c62864bcc7fc8bcb36a69ea4621c017680ca03517eb1991e5e7ff59c8a195b52407204cbccd9f953bfa4182de116d1c2dfefdf721e1f33f55cd9c8ca9b1945b3b56a825a40d86950a2718a7f544ce38cc5ed1a03bc2dbe4a8a15dad1d22d816d4bc1ff9b9618fbffe8e7b272045eef717b507ab2ded158492a07ab7c22d54e02abd9dfaf0d464e1050f7df2611d44b5e4eb33cf4ecde7b91f00c3059866f5a1b7a91b94da90788939bdccf3433f10192834f075816e21d98b7b53772899c10e65b12ba4e210b721faf021adc8120a80e7b94731e89b52827623bb87d14fb1c8657b0935f01215775b0842bb52d383578a84268141d7809eb24755fc91de1a8082078451c1f734423488e3fc252757807950d60ce8ce7f70c5829064f06860e2737fa21f45ea6e9291c9d81a4b13b12f1114e833c17c73f2e85fb1f337840b514a86547749e45c3be45a56982211f2a1a99be7b82860018e6beb1d1adb48b865bc71bbd0129c0b2f7a0a98615f0ad0491adbb5a67895f76fe5afe07908150894d86d2254d1e1fc965f4a3e93b4cd1a7f18aaaea12a720162c33e1bcdb32e7b41f99dc44dc7bb0ef9b42b8b1fb9b440605d7a7baae8522df7019f665c68e065269975dc4d779b44dc3ee818e8476d6bba8ff1ffa7291d00f3612dfb608339bbaa2f25a9dd511b99281983f4d1c85f34f47fc55265134ba586c81c504dd7b5090a49d338286cee24297b8a2efd69cbfd3f05d82eb3cc02b14a2388966eb286f6cbf7191322a2f62333d791458c6f10c8da64421a4900be9254f9b996a9d7a67beb108fd279179828c5eef69841459a6b7039962f45a47f706a6a7732f26f319d496b65d92201bbb7b454d39caf8594c25d2cb9236d24260aee405291ca7f8d9b794dae0dfaa4ad3b70072ba0b83467886ed9580008e025ee4e08a85d607a0f58eb003b7eb1efd6ade8f2ff967b1d6a958abc6292556709f16f2e4bbe64858bb9781af4c22940d001c192589c82205d92adff6cc766faa3f5a6eb36656bbbc1b3690f539132712a8e7b4c276b782a168462293d6ceb66c3dbf0f943b511d33f4f409b15edbafd49610065eced2108a856be8c51677f8ed423753b58ef7af74a75ba7cb2244c6cf74237542c01a5d02d0a4181b13eede9aa50e49ce7560322749055b4c1d2d6fa8c19612e427ece529de0059e20696eecb4dc83ce69161f78a30dbb7d514b024543f7caee171282e19c95dde5e54b6dafa68173f52456eb34e192e8aebc43e688e5500b18735371676ec9d00862ef51cea2e7c81607fce769919b6c67658f6023f3bb68e61e12ddc33bab8fde54dd1e33e7e102da802f15cd9fca8512648f88d437427a122326a02d18ea00e376a268e6b45113af2605e202478cb6c351a90273ff22bd9f2a61d3543012ccd86ccaefa52197e045a2f22dd4025d1a97b8c740c1bb6f72e9698d647b0ac2b02c9b6c50fc21c8e78282aaa9257ecaba7d48f34ac55379ce5fe36eae30f49d6924629193c84ea40f28e0f627455224abc46f2e113b10f5d87cc36921b6e8516abf86ab04afba37fdd23d6e9f483eeaf1892c57722043aed154f628f91348950a5a658aaee6b84dec4aee1c9a1052a282d9a7f32ea0ca974b59fb9aece53b574c3ba34b0d1eb491752c58540c7096c01d9a2835f41b515cff4d08d47b8c04e1c479fd03eb49d745f1db18a30232b0f1d38428c455710bae7ce178383887c18d700baef9f976455f8d9b20bcc731a73697398baa213e349df28e05648ae11ba096762f5f67c23e46ee7f4ef834999a40ccb5d5856cea7622d5f33576456ac67ba667b354d02dc09f414e63f9ce0bc4211e9cd8faf3a9d41645e1acbb558046da3fa54d6e1d166341cdf311b0fab2c77359d1f31e5e8637aaa78ad3724b90ec7c75c9560421d4ec8265ee5365382943677b896ddf65c39177ba9ece77b1c8dca57c4b372ba29561803d053c291295c8457d5e072900cf742cf003579f70adb55f8d89cba2d3f21215b8e3efae41bc08d03b09821277e901e91baca8a67d9dea1c4b4c63ee751547cb0b813996eb6575e08d2e9a5b7862102212b2c787020ccb1b156c380a09a40f87d2e2a3bd180a94963f166f58341824a525568232c7522382905061f5eb45df82c506f8d18f63916aea5ca78e2091b2e4abb24e845699be0e8844e45b5a61b3251d2ead4f36d1a69a3953b85c5167c47afd154c9b495fc2fa26b058be9f85006ab95239477ad0d163313b6f65c106a3ed2f89d2ba0507f93f599b967914a8146569350ac8c06379073a600b5afd8729319ba24482e63f84ae7914938817f4e9db85fc5368db0de4596ae5ea3759ff7dfdbbc17d174d0ab50f0085d0441667dbc5e099a74a5c1fbed8b498ea89b3854ccdb9a5808e5cd758f0bab804156dfdb4a121f1b853bba11c8b95cb43e493db151c28d10b0a61a57bf2e9436a8f9428f29d64a039ca44a7b11306a842c63d17db218a0560cebb86ae0a92569f74fc2df778a2d64b57b4389a6052f2ade6847d93ee770f0bd64e6d064349f3b8f97f63e65a9982cec95cd5f62a8d456ba5fa2df8f2d21249688e3e704112eca1da40eb06c164b5f7569106301e5420952a81146ed8425f768b096f363a01f6b06906e286aa22693d739a2f9c89423b4c59e0a9689ce1d2da4f2a46a17a66f0e59422acb3c89532dd7cb0c3e34de8b2d034668abd858590416d4cfeb0a12a0e17e33479e86571077e3dbd80264bbd62908d9e6c24f9a6df361dcf585e93ee4c26a00b9627e18201b48bb65acb1f1bf1b62ee11575702f3509551d738651f4592773c9365a32f11dc2b10835a4db7b3548959f1192f3c9c7bc00497121573fb000297d836d99fb4e5fc96c79480e8afdd8cb2bc5404ae6117bbc07ab9f1f7896ce444fcb1f00f4e851ea07c4a6e021b1d16f56a02e30a1ea3a99392f4236501f957872934ae0059ff4e12fb52d68bc5882d333b93cc47d2f4b6a5fdc74756fcc63ea6de64490a891b0a317c0f2ce2c40a3128d4a5a7b5b31bc7e6c7b03d17caf180a4f18a5c558e1837eaa642aac81eacb2affec4492d8ac2860291383f6aa1d37989ed863f6b4fc0eb02d2f63024144b1b290dd38c8ee0864c9fe58bcfa684293d8eed47042b574510bb156f8d223b280be0eff274fe19f8805807f0fdab42a8681176881b243f83f56cef6f615ecf254115c39fe2dc6ca9b67450c69a9223aaf61e110671bba943af11c9fe54c9b7d0f9bf1df411ff30ee59ed7034f3a5e9bf6a9719c027e3f3e8109ec48ba08cb361d9c71bc5959baddab878bc8b55950a5185980f8ad27e8b90d06a3ceeb7cbaa35755f69e1824e50fb2962657dfa4e8b374ca3b6fba2c1732dc635474699dbda65101f39ef7ee643d52d6823e0c2db3e8e3ee42b3ca301cc86136e108b8c9a1ccf3ec0170e7e8f1b5fbb8ae5a680b8027ecdf0b4d45a37d7491d15124afa0001a2bac1801c38c5f867088394e02137a1123648840cc100d68640d8e43054101420614a2e9016e4d9edf08300291404d36cba5b2f4aad4cfb8fc841abadde709635ed9e08f94cf29d0f91955cfdacd345f480492b4bc9b238bcf313ef40246216df4f62a494a058f8e96109476c8304985ec44fe83b82816b524a1597621ed24cad8e7f0e7fae753308fd1446c10409498273fa0d2419316dcd0d12f23c79ddf68b7b3d7be107c2b29c2335263f38d6c95319fe1df051a4e8d79f24111237e1c5d8b8ce37a3c04881914e0a43fc1e82199429282e38871e15c180d2fbc525a9e8133ed9622f1bdda2b70c2d7942c7cca341b2080d30d47fc3eae0a153753f84b19c8e3454b053c715cd34691eff6f8a4c1e16254241fcb5e9b7d0a7ad10a33d106d1ab4e8fc56ad4d02938e9a2fe6fc2d823d09f48fe4dad003d5763ff4c290e4fd615c01b27d68cb1641b100764ac1575525bd5930c58ccad2be6bf93963bfa4c8155181ebb6379cde6467e17c5372428109aa651cc2356641c8ca44900d08902bdf17b9028e57cd5d414c6bb2e0856c5b2eb9272408d894d2814311d07b6bb7ab786b6b68bcd6a869936552f96a89e452b62107b87377288023446a3d13fc30b18bf8783282c2ea6c1d36a0625b1ecedc328c466bf707ae2434b6607b559dbbf46ec577fe46bb1e28ba14a4572478eeb9d7fcc57068009bc2c6332ba652e154ac951add1cb6134de7217540411568b3f0dc06d86888395c02e72b23039180998366376d63b854d10cdbc6679c622e658fefe27e9e599403052f7a33604f3ab02476bb3241b4478af143621c03f6b58ce40880017d1854886a20d5e3b82c1aeeb7a277b1fc637030959d887a61cbfecf60cae666ae4f848cb1c445099cb45fa696a644b97335db0feb93cd840d823592261531ecf47ab208c08087bcf44aeb5a27425eec257e5237ade90f3276cc1af2d034e05dbdcf71a4206193c75b46664d6fe61f00bf55f1cb56656ab58da59867f7d3845e074f52398be647f25b70fb20413f635c3643991cf03a952cd5e7ce523a1685ce3e100af74dad09c400d60f4bd2586bae2bc8cab52579c0c2a7944c65224ce358dd021f4bde88f635039af320c69d391b23f77b1c3867797fda57110b57eb323d929786afef84f3d5176b6732b9e549208a4756e7aab7bc8016e185d842683715968278cc0e7d1e990568c8a3ef096d39c07643f9e2a272ba17156acc76df1ad42f9f8df0366579052f0652516edbd86b7bff10f48519db116057129096d127569c130d44d324d82f2603432fc9f829a301fb3f7d0d4d1e08ec9703924158620fbd413f46d2fc38ff0d9917aae144b2e05f080908ac6c8e8cfaa35519c6f807069585669d349374035a5ca88181de8f6a570d3b405b5398163d9c8b48c6a8c0dfe8b24f19cc703ce92ca48828f693a8b043089bdefff9fc258a9b77f3f3387b51429b61d3411f13f038b204d9b665f55cab920bdf94abc711497e2438d8cd238bcd5ea52357cc62e0392916b069d2f22a400dc52469004f4b70d1c63e7b52c9b6c2192c92f3bca684731c21af5fda2db05394d3cf45fde960643e8163310a0ab47cdcde95f3490d41164d2ed080f0a21b34dacdd8e065ca3d3d844a3aa4202f0fd9a8c79370a52b89044b00391efcebe2f92c0de2c7cdc4284a7a731c5057ea2bff27701ac299ffaeb5af43c08596167f1142a08e4e0f432e432411d8f902944150ca7752f9af05c7273c1d5d23a3a82fdb629d1a380166204e1bcaaa07d93c27804b7b2ee4b5ce16112e083380e091e9e93cf6e79d90b88937dc960dd2201fecf2440ddede7c7c135645d392b2553ef28bd4042329ca44954b46ca508c4256451843ba2718cde6bfef8394b9f78ab344d6889445f10abe97a3064f7ba8524f565d5267a9a941ec254d1639cdf49e0691a6575fbc7007a370a1c24e3834b8026e3c17c628934f7d330095552a3e0afdb34c9075a57e15a1bd245d40c81f2794da86a0cd60275a05736bab59cb4f700b179a150e40be80399d4bf01b035b493e2ee8886f8555d93d18d133a0f47997609f8397c6f404cf2165c656b5b6f08e15ac0d86303fe25f51817d1181a93f41b2c714372cda93a41f4a1f24724e4964991b1255a68058a9cd7dfbfda2dd0c757e147305c8df14738ffb6f62c21b1269095d8d228912c0868891a45c1d41ef79a2d7e50542fa19a3469027bfc8c34da7c18f8439b5e921d9a63f992c1fd815531870ec23cfc9b9ec3a38439eada2d9112cd28212dde409989d337f0f253aeb86504f5e35b53af4c1c879527afe8175c574dcb0c12e39f02625a349ffbc01670cc7f2b24505520f311099bef6a50b0a386268be952d9b3dafce8bdd9b0590706d948b1079cbe9bb2a0f25390646a119f633bc0b4a033c0abb06a0de53577cd0d48827f4ec096b623aa37edf05529f4be252903497dd1c561a4ad89ed3d97ad18adedabc930923b8a6a062d241355c4286b03bf72429b5c9131baaaa47642778469282ec73ae8f8e11a3dc56a89b477e7ddbd570b90b0a1881f20dbf34bd752b9c02ccb2346f593c391a0f123571ddb43dc7e63dee202751c90b96c60651f561cc13f3dce19035defab5c0dafaa6d94710e248e0740b464e5c289c305f524251495f0891223b6ccda9a5b8b45231c01f0cb9c79a9602ad41a03ffa2cdf526a64a42789b4f1059ed6942b5a27036534a95377774e5641833ec2348b591bdfe4caa5882d5350170a082bba443f63329234c1edf2a32960a9811d960915c9cbe7131b8cadff2dd062bc853b261b0619a3b6e4850073c177329bcbb69c372d1e01fcf2244733268e4162762e12edbc96c8ab357a24e406366b5182ebf32e5bcaae82c5f2a8b104ad422983090f08cdccb3df90f5c19da1d659f69c3bdcfab47b96b0afd87c760a7fae940b3dd6d98d75ae98b9d11f3b1a61bc01bd2ff3312b49871253848f3e426ee6e79e47ce6c7e1e1907abe4101fe029e214510a26508b853c39e0e300f89d34a804252bb354931589c7a1d78ab662c8b7b5f0d42ccabba2223483037f96f74ad7c4f3faadad0032601613c00e4a9645b7d63e3557c2ef3d1875bc06764871d27c9873c2187248ee5bd9c29d70fd72c4d3da6a5f11b654a81036f9b9ba5bb4b7bfee00e0c05a504fa8b9de6bb1bb6af68cf621780837ad38b71f90b561fcd50fb36339e46ce81dd498726e5e4450e4fe659439c04bdda2e2778934f3add2933fda3968674b8ea04ef76b3e35620d55d01905730db402c18cc2d80c12e58d017cce5a1e4391e2b397b733338dc08650b2efde7f524d64e5b6cbd852ba90a0b4cc6f364bdbd885422da3f4e4f45f8406749a11901f379bde1498c92497f4b67082e65084746bccb75bf3469248527f72db2de81196201d62ea6dbccddd92eff44873a9fac9ae7b163c69b6a7a86abddeebb5b024580263bdd1188c1e18f0b533e83418a5b4eb83183542cbda7fe1831907e057cb6999809c2754aefe4a8294fb68dc622f67823a58090a1a33b669572a650b112d186a2a7468c4661d06a2a7ec8696ab9501541ed34ca60388bea3cff4b3a8d7eb2f58ea451ba2a359903cfd864640ec03a2ac7c7b4b2de49611bc322713288a2d1bc77497672b96dedf8c279a6060d104fe509b1d086aac5d8b8a3147af8a9d9ae704db9f506910b4f8297680fcdbf3904845a3faea7aeb4518a31334b7428fa1e1b443508b5c68bbeb3e0f76c7ab3ee126039c534436b49f402246958bf7837d02095e27301bdd5c31481c590d95636a71166f699cc793c349b85694ef0d5ce8d551d690352b531288a5a6ecd9c555dfa04e1ca51398fc92626529a9a16a024404e008d763b368e09a8f2a3aa047f433f12591c09402c366c83ff936cff785bc7af9e89fd3ac4e659731e22d034412c746212c56b206a3311898db920aa2a066113f8363a116f00c2504eed339f15c0567394dc22a1016926656a769dffe066e6270e69bf7d9ba6f1f06d9ede97bd5facb35baff7871bf1573eead75e1d5c868a2d49cd356a551a688593159d696add88b590b876d0aea86141d08eb5326a7a997e925236d0a03242fdba13ebe77f7af6c7f308e5b3410d5517d4527815876cecd901af4ccd869ebc8baf98292be7fd040e1c3c9d1ee3da81f8bf4dab525853e07da0a3dde3a03a100fc7df525256ca700ff468f4086f0dd0ef77374acb6a7cc6fb34f5c1e4b9790da7e3cde11003b2a68140ecc9de6ebfaf9ac49141d00c63cd02ef23c74ecf80f280761db8fc06efd410a99a496d2be6b8c81409507e94b438a41e21bb5e1137a9acd572c061bffb3495dc19419a1e7c91d15be2a0aaf8b689d218a414a4242b6478f69c546e8525248099d1160b78a015ecf9c269eb53df54a80c48dc66c618a9f5fda0e4318733212f2d343cd0d16807afe97600ddf93f485b0509f7d100e89dbfb1f7798682735f38192ae803dc53b077fdb10f979b4f28d2fb0358110d6170c1385fd36dcb1aa361f401674d57b71a5946436ccfdae21c7d69b6e20be16aaea1d49c6475cb00a6a07e74a88ba2dfc104d8095bc84840eeaa9d4162d69fb054c89d648ab34a2590836261aa659ff96343bcf2176a917f61ccadbfcfae1679237383f107136b033ffe350898ca760f402b72c457ef9c7f12bf00fff81f9f58cba38a8ec841b8e54bcb9b2365cc34d86a0884c32c2b6a66d5c7bf88ed47b248ed11c02283c42071876d0708c69887f43a7858f1bbe54093fd3912b3d077d8a24b9ee6eb9a2dc3a907ad8dfd9019684d051fa890d1314379e4a4bf457e60cbbb91fa6f6a8212ea0ae57158cccd99708b05c07adf802e80dd20e17f2a328a3c0f45b5d3318a517123a6970c665114c2625de5c620b767601db3bfb9462db5add0a7d044daad272d5af1ab74ec400583435558e368f4800e5e62daa66b934eaf96249b991ee59807d576e4b031233e89d60eed12580ef4333ae1e80233f27ef8e9118e9658170bdeec6ac541ea62a367577b9c85a476232ddf6bb2d828188acd7c6aac263d2654f674d0f9247d4128407c3207040c3d78758a6336da5efed112025a7a9bed8b5708508c28532197b310bf067fa9dbb4352eeed2583e5a7c5063bf4f194c3bb19e6798b8808dfe0f1b18de60022a8e881cc1d0d4e2928fd2602a41bb0ced480cc8c2406bbeaec9a16a70607029b12f6c751f5e5db710bff6d8f5bb82db9e4f54ee276d4ea7e4f690509d19818a71dfd412f5ee4374ca1ffed3f21e8539fea2afd07b9f34a58b943e631647288f2a07298a9e86c09038a167e4f989750e40510718181e0afb566c15f4d861ee329f6a9557f2083572ca447f39203bf7616125970a5426137c07fcd52b4b9bf597109244a7dac98bce328d485aca931581ce98da3df0ccbf0879b61aeb6ed03adcd905733be0d9faa2801aa32796d8d7d564beedf1133ae8b4a3103d9413e5f19a6ab4f25b6391a3d97872204d3d28d35d8f60fbfd9c117db0162cda672ab343c9ee5a5e379d457b3450bf2b0e96f69a9cc0cdcc52e291cd7b8a4103da9757c6365cefc469f58c3e0046558d0e074f78711133935fcd0fd0a0ee49d80e539e49684c4b07faf9ca7a5b25b598ab9affc85915636e136d5446e02ed103a8dcdd80cc1e6647bb31f62e3f6d3d12be954a1a22a0016937c5faf83ffaf2cc74684754c5d707b0ee4e6601e38e71c62989ca4ef2a2ab205c4f634cc9026fb99185387653672d23ef37022ceb67565e8ac71ed3ac8f559bbb70c9d4c1c28025f6455671ceddb7a3d0031be8f722067ea274a842a4751d09e80899410ba024a7bacd7c32317210f2115c073de831950ff252b01cf204acd3864024aacb783363dfc7f32cf8e9ccd847a91a5a942dde4e7e6abb160a9d16c82fa3b4ceb4e2598ce8e1d59078608294ba0c8bf17c7961ff163776e8efacff28d2e04633d6beda70c05718ff8fc5d32578e0c6d0ea974828737c56436ef6b163185c7e5bea62538c291c2ccf52c827fd724e7fc58944d0adb8be4d6c79329af9721ca415f40e0a1a7d273e6e47cd6261240aa9914f3506bdd8cd5cf617f5f8a4a0bb31ccc270e5ee91efa7a9d8414b7a96bab83c1cab973b64a30ea3e96e305460ce45628321ca41e5e9a46190772f047225548c4694c269a7408f885d88f3c1216e22843c0d63ecd5cc619e783042426ae09827e9168f88dda4f63c48cc20d2e1c2710f2dd49790c8006a6da81b5ff03e09c82792410f03d8921c04b78864cb00107b2764dcd9d247e2df519cb87885d055285e3e32c2e2ae5ef1d30b559a7cab33b708b80092e4831ac0ea50c4bb5289d31cece2ad572bdac47cd3863770b46a0295193b12068da017c2173c36dc05528750fd65e4ea9501851ce644733e619943a1227b623c75adf5837a70058a5ffb1bfbfb740cb79d08105560bf24319960fb5204faa3d7628662b44c2913d0c16496306915d9623357a66ea731628518902dd882cbd1390dfc013cf09d3513a4264d04b64d2c00539f66711b1ff9d90f5bc9fdab9460de04a7213f01f5d2cf3981d4b580246d602cbb91a18328d8e15f408e308073160b798876c9d436c0dc0a2fb51d3ea6a748d9e005a457a2ad2b974acd519d9d4b5873ab1688cee278de1302434377660e459bd5443a2a796ef60c02ebc69180000cca8bb318e4718d3555c755b2f471fd94fddea01f2efa60f43f36b9574af5eb3fa8cb77e2ca553dd3321da89d2c454494ecc4489b86a09372fac4a07e25099354a3973fc9808beec80937a562125d2fa4e98a16633cb9d59cbc61064d5c52d7b5484197da4086086386bdacc38eb45c6a75f4f16ab0d3a831228cd1b03f03620edce5776036afeb8af4d2d1db659ecf754bc23aa10b14c63c21d3c9173c34c788dd6bc3b77da1411c10da1e3bea7adb761d30ba0515ef059a79d95e1720b360961dbe0825092e3af2b7d0aa1337d20de90417e0d36e0d562eca89b534e905066a00eb612382ac7b00f58acdc6bf6b85dad642e78ebc120cb67984a5097317b3f1f336afa8f724b419c25d9922266933d09232dd5f9dde094550b23ce52fccff7f15290b0093ea9b504d6c0928776775398bc53db749c55673bb8270188d99f2e1725e734cbff6733576a7a5ad422e574a47c0df13e0b7a2c9aeec6c4aadd752b4d77c5536536684d15612a959a8628cd3eb3df94ee3411a79b3fe4b05365fa29a5bafa5f4d7874f3d50f1835d557e93aabd09f39af3df75868dc6448e451218f33ab25af5aaa131f0ae1799a9ad7ecce3878782ef3f0d1e245e47a8527d609c97a4d30fecc699f0e82aa9a53db07f02f2860b769747f5d5e4e412b7184d554c550b54b99dcb6f1a70c810ba81f6b56c87221826d35746f8b3841810c80d21c6d5465181228ec91f30bada4625f18d21698f214c7e6e327f13a320eacd5e0ac204f5791b3a07f232d321cd85c3335f81647108181cdf126ad0544b3086e0f0652db6dd110bf109e6abf06fc248f75d98c9fa1b2ed83d862ec67dedaebe623a921ad303b0c4a1ecc32861decda610918cd2cb47530915f8ed22421405b66159e439a7d426361f694d32fea19f3d61ace307371e48666f38bb0ae872ed1a70c9507a66ed586451ec04467ae3585d98e9fca3241e192d29ff137799f679e369b00054df3cd784ae3a7ee3463b0d34275658b780b8b83f3911d829332e95006a00cca381e34908be9904703f253082259fdb8e39a6af078a7834848be3809f8808a97d2c1613b994ba1d6046acf56a227e6f300e28c7701de261fff35da71a246d9ac1e9b0031286009c4b788862b96d01861e6fb31120bc0762d07d34be6ea031542e792c4b069c065bbc13022b12391ed954009c838fd7a21f488f7c18fe2694b7468d9d771ec1083176f3ce0865d02bba5ac5c2a7895948aecec67d79de5e9e05617b2ebf76470e3a2c98a462876f8baa0f936843fc3153c45686327de839da6c5bc30712f62406a96f22a4e2c4425449adcbb89b756d268a6c89e0f1f9faafa3a9f05428e391f46f9d4725a8576c95fde6ce11438503f2a344c2561e19164597238fe426b8a247dfe94f8074c42be188f79d1ae0740fe8349a5086134a08fcea563b82cd4463273a2eb6ca751721c4c1cacc896d3d7e12acb86e7d5d5b34ef9ec28209003db76fe6d0610413ada9f24cdfbc55e33d18a1ccc69de7c9592e8624ff8b57852cc4d216bb5b4057b098ee0b451d436866852646199339497af80f567993e6902618dce6654b3091cc45720a4f89437a79a468399f150ec1b406f7a9f012ecb8710d4b442edad8be962442d7f1becc877be8ef820fd8cf42a1a4e5944511d28d405dbac1e5d871b4ad052e21427efa039523367f4e3d161d18a255b9b777e8bcb6c0e67f3fc7c0a409f7d1c75ae5b109669a55755c4ebb7a4100f7c5c7aa30f746d4e897e1e9d2fd141a9edcfea585c17397f79cf6940f8c0dabac41ef41a9c0dc0bd46745a7f3c6cef74aa90176c0ccc4cc12dfd917eba8f8a896e188f94b97de546ca76eceb7ead1d562185405be3a697c9e657c71358a35a5d3ef0c875bf4ec9bb6c2f3aa7a08252c82f66c156b71c7b10a98a202d9405396aa21b3d36d29b408523d38170aac2b7b7ed0fa8d63e6d39d8535361bfdbc895e9be97a9dbb99fffbb860a6828b4025b931615c8327034a893e5a3ad5caae555fe2c6d3c5e5f5a287e3bc1499a920bf27f4f42aa70c78d394c3aa3fdc8ab04ebfcdab92291c6e4d209e2e8ff4d24b0e232ee9c25a68a3d295ee23a8d6e0620f70624c0ae809444e3a0848e49283e106ec37dfc238e586a69926ee4127ee82d71efcd78c9bd3b3565a3895ec52c7fc2e3930dd0f7bdba5829e584f49535e9b49abd2c874196001b572478df4efb53b194dbe7f8e19f40d5691181111696fb00afc5e8439f574c49d3a2528b4377a92bf0b96916d23626cc9f7a00ce4d605165fddfef86f44a696e84f60a867b18f8d2cb90064cb5fc560ca33f47aee586b73996212eadcc169e80507c4bcb41438a9f098459ae060f33ee4ab697e78ec1932be2c58ef3c2d5344dd799f7a3494641a790ab00c62edba756003c3344e541c86060d0916f310170c282a6abe141a72af2c6500ee5027798531817f3d2a92330fc0c7bf86c4d834ba1f596c5f0b83ebfac5268c5178b915d118d4ee3c667bc84ef27ec9665de673473dc009fab82b4c310441882172a08aa4e5d17897e3a73add8431bd67a6ab77c61b924c3fcf20e713d329c2b111537aced72f24d7b108872a936230b107230b3c9cc8f021ffe6255af2cdd7327b787619cf33a851d3beb69f3bd779890e1bb3ff6e031c2b6c95def50aa93b63e8a3be25494f5ad87e485b46a0f821879eeea8a349a679352fbf6a54b59a846a02d669afded2be220e0e55468b1c1c36055b535ca2f40c0ee86408b1f46bff892d27ac48e624f030468315e2875e3037d52ccc8ac8068b5b43e14176ecb6e3f8f1e541e2933510be9108f05d8b3f41dd5b523ae9a2eaf866c94330275fdda40d447e4654472b0f9c302e9dfe015c5449ec8f948e944296049f07b55617565b7ea76d8e02b12b709a2af7d2e605fd43845c4d1ecd652d52d86bd7b3f53040220d7b45789c395585a31109f55da160f7b147201b0614f387e393887ab1106c06ecef63c399d922d580ec220373fbce472db2003ceecc5af1c2967322e07052aaee634bba20210e14b938f1d4651333770ea36bc8dc95907e6e839ee0ed6b51994fc81a1fc515bc0c9c0b4192c202a13545b6ed73080b372ad2eb0d448a9b15bd20838ae6dc2b19b735c5df4ef2fcc915e93968d51a1a5ab8b2f0c38e3a473eaa4dc5633aa4a313e7ec861466c08c694a47e8d7c522e73583057cd934f1e40339e8700db5bbd89a726c0f3bdb53efa437624cbe69a849780a10ed56b660362b04d1e5ace163f3109f2d08eeea06d3f81e87d41c3c3fb8c11105cdd025a31dc992c1800562e17ddb24537ba8f82b4629bce1f0c2e3c3eac742d14f0ab9b7d0a486eb75daa4e5031afc7b397b5e644228419627525493b3152d01941abf8871f81c6f9f7dee9f9c3147861143c1f12f23e19126127668a825c6b45980712c7d2402be42294964d4740a84c4fe7f5ca0d9a120302d806d967f99cb1d6faa9f06e9c3bbc43e694419370ade5bd7a457e34810d32a20b65013a4e9ca856ae4f7aa9405748540e884b4c090f212540daf11c6408499754242e1263223f2a6b8eb9fa3de1c9f7c7176fcd7a8534ef9bb210b284a8aceafdc66829bc10f242168535cf08b210863d01396c162276d319f855fd0e458ba54d03c6cd6f3698f2238fd7709fbc92f78cedde952a11a43b34e14088a7baed92f812e809f8ed49fc2ebf27cfc78303dc097953e1b420c445148b6271db2b7f227f00c44bee45c324ebed6b56a5df0cfd42b421df6c9541d551267420c52c3ee60fb52a183f4061ec1e6bd54041b35451032bc445c39c71cd011069488c70228056cf78a004cf8a4132937d811a3a642c673b327ae09989819daac415e2e0f1b9d7a01a9fda50306fa09eb29e143f76fbfbab5603b02f041ac31f3ada2d3d61f6f4625d30851d63e60ca5019d6c74356c8906446098664a41401630afaa083641552966a46a3a5532ef53dcc12562dd73bd936322a6266d3ca94c19e1bcf6fbd666f6ae083c7d94bf22f716a66a83a99856c2013c0395421447db0583d31233d82643249390e9437954b6f1302754585da8ec80dd6823e4e1d3e28186e37da24563d8131c909408680008b97020346620debd64a0492f3dc4ce4dfa01608c616a8aac139cca34b71c73e03e0e365db00d46fa1491c7f6bfe264c0357633b81396857bdd1b96a1ca2bbe9202c97e4b995c255b8c82543d0fc5d8de95ccfd29093c4eae1c4917262557d5ea24086cb7f8604499ead4bf1a4bee0452b500c641f521d9067483738d8093d09f6ec4f40ec5be6ee01500ae75edd4c3c4b3d744e25b95ae0ac1704365770cd841e69502826782ea37aa3b52798d389e1133ba5dff609c2e989c113abd66eeb337f8aae826bdb8c4f55c34ab052b56e5b7c31f91387d26a6f2ee61875029d2afc79623910a3f8628ff8275d44829bf158c0d23fed5618dd5c7502ab1008fed380b3ce9e08ad4940f9c23a60458e7b610c4f35a5d327c765c3520829b5cf8fcfaa30b38a827ea43fcdd44986d21d44614ac82666af786d5382f4738020a47963b1c2766b0c7c5760ded04e3c7d7d8a2c2a8c5b074cda807d8ecfcccd1705f720edfc8f96a1932061dce00cad3686d9a612cc1c221c7cbcab78138501d5a4b19a4afcde5fa23f321f02e877b2dc5ebb70a16af2e32e8961c4d908bbdcab6818d385381cb7694579698af60c3d23ce099422cd5b9105d11812c127c2c93c98bdec4a34ef8644accf8b88969a6e0b08df302f7c0ed28f561274f9cbdadb0748101bed0ab8e63162f727012053aa97158cf98e2772ee7d442206866ee868f2243c4165f61049a4be4cd83d20f33ce152a99c690cf8e28dec46a5e7423424c8707f4ce75d6c60fc255ef697066f85acbb2175b8bf430ee44748d260a8cec7cc91e69653af138f414d4e52130bd51fb5e4240a5620598e2fef805043df54e8487a929285983ed29dfc6356c41d89f216c9536667a5c7fb142f8304f5d3ac54b7cbf2e81b740e675626f87a2da7565d91f686c62923e999b629c14a7d973ccd08dc6398330166f81b556450e5468c0893f48a81ad919e2a6c43029ab7b90a600a858a3e7ffd501887db3831fd10dcbdee86c54f313cafe1d68d336cf092345a8e6bb1c756bf9fbb449f2bdcb2accff7e66dcc04c1f22aee1ae827a36523c49fb07e3c0a251bec2348c656735277390110ea69b1e1d77467e044b105f98564710dacac7fc6ded8cf00828c2cd3ad86630c30240cbad1ad8b9ecbb42dbd5681b89f2e3b1c11ee47ccaba3fdc53238a718829e5c21a81148d6b482c722d90e81d316d74866ca85875136e8cd8e985ba57d4fdf25508e57b9c0aa82a1e37ed0a732e5aae8ca24dd8f84016285a28684ede7bafa893e5bff3a6e49bc9b5a298d29592f748d56875225eaae9a1fe23cf83b66be7dc6b510bf523ebe5a29af1bb051d7528b9037478f9b94aa3346cad0a3a3d79408fa7148d995aaa3a8950a848f0b6f337c41839d05ffe0c6748cebfbcaa1d9db7842e3b97937043f64e815f067428230ffed567bafac39ed6491ab9d45af01ed985e6c13aef3ca10e0d74442b538821a6b8d2d4344f6d31600df29fa8c3ba8877444a040c5da77a299db16f14dbffc746a2a8b719cc6b7702f0c2b81c30b2b1eaff6640c1fa35b7436189d0ed9ed2e60017d91c3e6567fbf615533054f889cb518f984579b40db21987e4f33a08f3a5db967b8aff41cdc6f87878c1db026cd99a063ee1eadeb215a28065781f61c30b8a8a54e83ef2e875eb1f69b593877ed25ff32b6a78bec7c23b43779de59fc096a01c4763d1242cd5cd24e01e07d650671c750ac0a54eb98ae8a474bbd44c03a2895e0ec468ea029835c48fe92fa82c608e80d1be55fcbf759e2feec97d2feee8e44721b98b6bea087af8807ad827daff231546e77af72a20bc55514a82b7c941d143e63b3ffafb563ad80f0f80a5ab83153e504a4c715479f27375cc4e2687e44ab03fbdf9673a35a20d8efdd2ff542f614f9807d8d30bb4773f290e0bbdec9335cafe1cee59ef1366ed21f30db759ecdba78c3d467830772c938d2b4b5922b9e686af284999bb2924ab74c18027e74c31c63b92fdbd8365aae2d8a6ec0f77d29ad0c65e8d6c3b94726d52c8c1a4fb04b2b4604231fdae06a0c0c6b82ddee481f0d4b94fc72eafd01c6362df54e60e171735a2e534bcc1e7c2fba099da8be1710c012ff25c8afc1911be2cfbf18598d58c8b9190c94cba5805b3656717277b04562bdbccd5eda8863d00d32c6233af9abf08576331053cf9ff7c39bc72a6c918de50707e0e3eb888ae4dd7284904011d6160a23eb1b796d79076daa17969348864f45a1d81676a3713487a7794437e82065f5015cabf9a05e753969e67d03ed1c7e286f0ba386fba3e5c822d1dab7e12bb2797fee2a90af079d94ca8f396721c2874de3e0249f25a03d7d8147747c5c2ae0b8c2f4de25dc3ae669109d2fc4a6250d1cba132c54dab178f5450c96ba409e2692fc61a468fa040290589b26f957eca60cd418f7d370f1809db7d4f55984782f4dab35679ead87245aa92b09405167f1b28854f5c0b275c5f1f379a5fb7a3ad43c97d2bb43efe6fe95a2efbeebd3ee02159d9f852eca94f793b0dc898e846336b6f08983687b8de9149dbf31e35d763600e72223b2aed4c3fe1a33897632cf2a577a5b0593ca301ec5c4cefe190850f413dad12934fbc3631607c1e706ce9b7685cf5de04efcb4febc03f849491541c1e24068cc5f092bdde5aa0306a3cf6462ea2c0c697a2b2ba7c6548fd00710dc4fc1e2ff266e50978bc8516b7053abd15c42390689b41c20a093ed4f111af82852d19b03dd8b1939f4610cfe2dc1675d7312f92fe6b2b98c5ef3aabe59ec72dbb5260ac7bbcf8f44d517b9460470b12ca37d471aadc87143bba8c0b90160b7488be91f6fcf5b0d37b4b48cc28bd6f94be1bcdf2548c72257e9b46e9e74c4b62ee98dd1aa6a161024efc344c17c70520ba6e9e69b4cde0b7fc40297546951e9e93484f9637273696a08f27b251dbe088d51a1b402c4d89e82da3faf0b2e44c6a05799b408e462cb6c31da6ffe71619cb62f7eb8c411967f97c6058a9c10e68f250f9c33d20cf8f3e87a845d01000498603ade10318a4c8a9b01d3f8bed9bf81296487186f113e7bd9a5608c19f08f8ba51c7acbc01974e78e327dc52ee5a4a0870bb41f52605d30af3b360a0c1024e18bd21d0802a8f92fd1132eda66d6f21c958ef23d4826d6918c4276520c00428d5fc67978d32a51d98f6919a19a8e59b5148cce5ba13395ea4ec7064c84dafa94f6b430d70754c9dd25eecac6d0a891c1c4a3b43445eabc57310b6216472a879ac6d6d05f15dbd754d45ebf81b71755a71d8034910640154140f69ead2cefbc0aaacf60e017e34afc5b25f9df5a3d255e04d39828cbedf416e345e79000b5b9afba89c3c50f392e1fe1004b7a9e5db1cab6836a1e0b715ff7849a4700bff4d2a41b032ab22803dce8b56bd36bf70a0acf34288e2206436065341d562f6f4a5b1dcca29a812583246b11e9f0325e6db340c92fbeba98b3d096c11d4a9dedf4d937dca3d936c7484e65337ec0e90162400ef54417e308908e99bd08e4e494910b992357a3bcfb52375aa7b869abc1d14f7b1d0dca6388789ae0b5dd0c68ca2a54ed65ffef948bffdf3bdc8fb82eec3630766c81c532ef0366f7cc8cf9e26f96a9ef749aa9bbbb4b18a3abad262fc8826fc7c1b7d7d9e1465b72e3fc26676ca922cc76f986995d67bd01bab265a97a3807ad495110b8589eb3dd082b33c420a6d0765ba21b6c1f424cc4319a0055819292c23722ffb4bfeb28359aa5705647a6d8e4890bfb4a9a7d22040b9858bf0ae267b44692e48f4edf58d987b59584d8cef9d0843d7703640d269e68671dd253ee81b3bb5345108d6f047c14792d975b47ab7ffe667c1745d38bbb1b89b7bc28ced77505a12f4919cca06a5e5be9c456fc08b7c869eaf6fc3a6c164f926819f9e273c4603b55cb27b4d9f860e5a5ded971d2f91446a25fce6dc81add1f4e955641ba10398d43ff6f34074fc41c27cf4e0b3696bba519e4d678e864992cae829c0d5179689fdbca1ac17e1fc35cecb2c8602a25f2b5b8a40be1967177064473601963a6aa02b4694b24da32a80ceecab1ec6cca1060ac152e65e8cd5b7c0c933b0552cb34179a2620ccd5c8d47c82631d7e29f50b67f5e4f9b977b8a5d4ab9eedf96f008e25941612a417972f15701cf0b6c0ba9f26b69da980ba8f01d016d1ae324a72dbca7c6c49ac1ee8ab37127e58896284ea09e97d4826563b1669a07aabeca4abb59ea5100b645ba64fa4c3d3833ba1792116186dbc4618d5ff247d0025654428781849d67d8e8709a24e775a3bf7736bffae4476a1d7da217d910a3bc1b82aec51cbb2b555bfc0a60d4609dcf11914587eb750c32c562c5e579df583c7e1e1aa7dfa205239703977c94595710028216a8ecc118f52e8f2ba917d3e6d901e67f52b2211a4bfb23f3a653888bf330e43d84b32a1dba28ff66e58b0239559d5283defd1fa4505f5cbea809957704357990ce40caad38a48208f1dbf587cf4e92e9c97132f9ebb3ed499726955b4d59130d5c69186e33cdaf8f56e1bf8ef32b3fdaf47e00a7428b2287a25444e9baa0bc2dd4f59323eee5fbe19ea67724c9c3a97e29f67129423dc12f1e57fee1acdf42899ec4c32a73403ca01ace9bface438886fd311da09348342fba1eda4265ae90f4ff841cf0532c76e0cc73541ca7bf890d29b4d4d87ccdce028d097799c290147fcbf6db0cec24e32cfc168669f8fcc58c78a8aeb0d84aa98383461cfd4251d1590f1342471499fc8042464b56410baee6208625c8f84b6a70eb93f8a6682ad4c78f791226bda4b3ef5e1327564f4044120636ac7eeb4a2905c424f6e3f220bfe534ff9a729a9aaba18fa392e97f87a4503771fd9206f71dd8d11b8ac6c9b2e462a5c3646515d301e33c4c7cb6371b031bc198de7668d98baaa1b883505cb2b6859fb3aa8e2b1f87cf0db4af2bd77ce3a193d36c9cf659a753538fc4c8a2d1a096759f0188a540eb2b788a1f75518f790d0d4cf37a4030d1743da0e71c82e216d00b69857d5f642db42de7e59a30ed6bd9425bf45a14d0663d56e0af9853802f54dab9197df37b5a8039e748f477341bffdcf1dedf79f95011c284891b7ae3c01f723a85a0998d9f6de7381c285c1a969771e0194e222b43d17fbea698928f86775d7b064f99508c56faa946151d7e212273033d3c8ea81459cc21dd32300e5005d15b81e0e53044292b9260c979fc2a03c92f3ba83de8141a72a1837881041def74a685e0a68cf8df2fb620eb412a79e0287d953d66682d88affa0db737fe727a1aa1776465cb12d1b4dac3b76743b33665fc473a9ea3d342a6b1aabdf00a290c15148c564d90787340585609c59d51a11f039d66ae3dbd877e3911c27ca459e410af11ccfaeb36c9b22b6528310bb27f6460d2e5b8b8133fe380eb83caf28a86206f798723aade21708d1bf9738b6384380e578fc9dd9180aee31d8581f8845306ad57e1cb9d90d2816598fcb1818a926012489314c0cda8f99a6a8e43769eadc3f010ed2478dd4484316d245c52f3cf743b569d24e16ddf6a0d12071656fd2c7b1cdc7a60dc0006a458f23c42cd302c489c8187a6163e09f6ab988319c26ac98044bda4a6644f1628b5945acca531e45dd1dbf7908c2cc552579f888b76a4e4c9ffa401bebc252edfe41fa1f1b0f260880a1cb5c6816fa5358c2bbdd28eb03ad96b09ce2dc4974576c7234f31de4f70824ef718014a3f7381b747f1b6bc399f0e4ef5728bd4b16c91e7150a3dfd75f489e8cb592c9a983b084f2a4fffdca99275ccb5221709870d63e5306983d604da8eac77558604e3c5a5e0cf10103989167e3c80ce6f4a0bd4734fcf7e2117f170fe3889d5f045dc55f1de1816dbdbb3bf908a4ab45f40134b68ef2e1eed0950738019275ff06b9852b7fd92e17c71e5e190348f0f2a68d0be11bb8328e27f51f2545482b66c149c167f0e5be159aac55fd06a37a784121935ee0b259facce9fa7f603caeac51b008ed4b1c52e8baab9532829880f5d7404b71400a64c29995eb0638d007a3b0ab80df4e6474966df1cd7f48486aa68c3103a64c3a3225c4c08c3149a2311c0b5acbe8578afd8532043e33fee2d54e70b857d01ec5338318fd57089c94cde8225112758745993e963114fccca5c849f8720b9fe66adcc2ac940e2d51782e33472981a84f231bd7478e01fddb9e9e7cde81d36c8cee00a09e02b057abb95b85a4c38c9158329b8784024415600f0c070d405481ea7249ec69a5263e534e71c62eeb885dd174bd7b095895538f1f6a5397269694b506da80d63608166c3ef88b1937b645a22135c1f53e4c6c1ab6a537f118227e84bc26615b808dd87b6a0c037e629634289d3f731f41e45747ee3c379ffad797d8cb13e1a3fc266e42b802dc95b6ff40cc1b99b07b69fd7f483ed28b7f8dbec1790262c8883c1e24a42dd1eaa8a58a1236dfc27f49d6bd15b61537b5cf22a1cf42b99586147085074811047d198031a5e84c665901b4c72fa8218f273d2b035b132e6f77ac809916ad3afa3302c18d64748bfd7fe6d347f3023cdc2d452577b7e4dcff545884bde8c61410d72531bf426c9d4b2b398278d3da383644a53c1222161873e64687af8f10a319836927829b99cd11b8f382a09766d1721310d834bbe026066cf5ffcabb68b06633aca4ed207ded71849144bf040f4a13539b1781da1c2995030f2726feba85ce5d416663510c9ec7e77ed8048f4fc8d5c6cfeb8801d925b66ac117ca49d25d7f897be546843c002d85d9aee1303d432d6e92291e5dba088d04336d51bb8163469ae86ee46ad848d4f59b67b317c32621f8f59a14eddd3ca5bfe55076ed47c46688c3533a6cc7eb14ab9c17a9bb4c0713ce2b5799e5587a9a9142e1325066023e505d3fb0bfd73e2d3fea4cec292d8cfa3ff555fce6c31ebd29357fda0768ac42ad4cbfdbc6f3a1591e2763c3eea936538f384abee6c0538950e86f86747ca7b104d1d28fe233d5112c7b8af86c8e59483df61db394a9f849486863aea1488d67d566187e95d0b61864040e9dff1bc2f3820e975185fa6b4d5fbe1297ba9fd7ddbed9aadbaa8e58054842b4118c144b0792412f42081f38a6039985e4dafbac1fd08a2c473d8d411935fe7d95e92377a710c6a8b4bbfdab86f31a15de803a6a13e6c686f51cbad7386a3025a082761cd0b76cbc6279b2a6c4047d2ce7e773895ac534793ae0630e2c93032c0e449937a33befcb46dd66c2f078448cc481d5fe985bdf797b263f5a7ada57b9c62927c73ab55b07d89c1c54665d0dd3d514b847ef9aa0250cd2392d97c7623f673e15ca2b512865a777fb4a6d427cdc056648b92e6562a788b0a09418de4d578c0922720c4a69352af19578a1d2fdb31849bcdcd64a74ea3f7bdb7825f54760178ef79b24e60214c7a543a61862ec4a30f1708aa2cf4be52d3142ae02fd3ab5716c67e93e0075bcc3a51c602dec6a1e9d291869f737a3fb74db43f254f20f3a51be146281e10068ddb4ebdca216e5772c6bab4a68ce97f9e654df3f6333b0f7f1f2c754217df29ebce8b63c6ccdb9e8a0036165374f4a78fe3613d683d58de2354124fec0aa92cfb63cffa35ac59597b7ff43dfb2bdc842444c770073ad0e34d843194c99ad0b53085c244d0b407572c59cb0b119ea4560bd53206e3f2450464f22445f594db6c3c03a3da52b877d8f69f247b154241d5789a4ef637e30b2fb924c8453a96ef1a617546ae37d755628f42f6b9087956ee669d4743809831ba2fdfe8ca5111667b0f0c76ab0e09ffa22acdfcd28e8c2495445874b2e8d58b65757a114ece3e678e47fa8e1b734f369616d6f1443d6005e48e55b00ad5173d3c7a17e3cb7221bf00cb95f037db0226a40519a0ac9295c4c96e87d0f90ab55967f305b8d9cc454409889195d000836c18bce3203c4784ac477686e2cd6d97929d23f308c504995a6ad9ca0ab95ceda684f586ea223273753dd34ef93ca925c04c67d41b34fd0925cc5645320ffeb48b9cecbb4cd4f5c2410f1024c6df70285811a69dba8db77187d1feae648d77ca5dd9aafbcca13b3c2f899ad2f6930b1966f7d3b2a4433b0ed274d34b698d028c008a7dab143c57454508e716ea07525d274f554fc8a5bca52007aed838afa4bd4ffdebfe3851007555826d044b49a552210d0e57f4f0b78f92d4ef2bc3862931495189e70d4f0720fb98fbbacfda93a088a22b6be30ba0f97f84e4c46b991bc9d706a1474e95460aa551750aca3240335e37d57ddc31b163d04fe11fbcb90e317626edaf548ff5ad20f8c0d695d21695b6c5d0d2c710c8a6893fca3601421608c887185905a1d7b62725b2a3b7142b57867cee0b82e0320c611790a85278677fb1c6c652e84f4d14f749c001035ee3e1f313001e2a8ca5f020b2856738ba99fe8952518b4dd376719385eab5d7aca696d3a0b6efcf8d479bcd595c3eb53754db8ec062f5510061a093f7ddb5ee3594e0cce588578136913b282981e94fdb0494220b09f604ac780e3427829b9f322140b0f8b137b2d4581d4aa8d788849e04e33d87fadb001cf978aa1fe9730e47ac5bf73c3c9574008c9885ee8190494cd558a97b482e2b0420f82efa1937a27c86432a04337e800fbea4e55f79713446c4d01deab9e0a3a6b31afcd7ad88df4e93c8e533d9d81456f54318d87dc4b71f77ed0c77c5b8313592825bbf55e650247b421dff106d8acbb95e866ef27bd04f8b22fa801a2fb0c5fcb2ae6cfcc7b296ea0a75338f4ce6b6c7ce85ebadb3d1ff4eee39d4c73267ca96fdebb297bf642acb1b6c4947eabd7a7ddd08abe938c4b537a264442f8aab37ba10a22e505ffaf052e1c9f947cf1035c2f5f8c196c6cc6a66192860a94eb9e670fea5c994d64bbf2a155fcde90131b575ecd1fa46dcef5a6f9d0d47326d6b1bd2680bce65b6436c721c5dd334b69b38125a48fbe1901f54281a02008fa9ad50d30e764ff2efc8a0e079414ee0166da507e5dee21aa241ac480bb0e8faf7403cc148b5abb3b8c7d9aa77f6e9250b5cb4028b714e5bc6a92ba91c1ff336312e71650e4807f2c1b2257a45ad71a31a937d53c2f2f9d1ed7470921fe8a72993c1d53fb1159792f7d5902d9943a45fa582c15da1b145cb0867e65dbedf6e829e818462baff57ee2b2ec5b1654b9f49c25ef002fdb9ea7a9d54e805306bc0f1ef09419eadedd95009d0ec9b90a4a7a74a76251f6ab04a8d78369da3f614a5511d97d154d746b413cdc6ba87d1aef9a723108077ddb23c9189e5e1640f0edd9998a72ad0251c4b2c1841bc81b829377c5410a7a8da6e635a50db0ac2532d16e98e1ff46539e3939533c74e34cf97bd21964a4bafbd77b19b4af77a9e5f073e890436af1fd9eb63a291d4da7318217c8cd5fe8af4e2f8a675d3939a52e973721a27a23d69701f5da1e5582c664241c74ec6727c611f0182c6906f66ee2cc4e3b9fab09d0985f6a7e5c47694a5fd087cbbb377b5cfca642fefef8aa8082a51070dd9ebcd2b1f2a33593bdffffd3af94413b07d76d7709e5f544c1e01241dedb6a28ccbd4b584101bd1dbd8e2de60516e9c0b91c378b61e4624601aafd57de9e5a9981a02e633a4b6f8689aa40cc323e153d73fb214baef5862a5f467e5381cf2ed8628eac7c561942f91dcd3c465f1e403cb15d5e78a64fe94b25e1b2db1e18603475d431ebeb3b6c7e899d17df70bec624e7a3f560b4281b50a490689fa14d3d5c8d7b4bb147178c9722f81e6d50a99df2f4744ad753beda56a6da55c0bfc7b0fa8558c252465300d7297f42b20c75908f1518cb87fd5e1b21031a8f58c1f65f1b6470fe2e3c4ac42a6719f00b9ebdcac46274ea112c13e8eafbf6e3c44cde600e6a470441d4f48bc3f55c40acdf4d503c6febe2645a2594cf8af0b07389d71bbebae38f8789d4414779cb73a946ace9459bc99782909934d1f67a84f09fd7c82ce69c49289d64f7629c6a2c4fb82214965c95c14373df4bcee7cf94cc00b3e2523d962a6f44c328dee020bb14ad4ecb67abc487d2d7badf608fca3e04316f8807c9d726c1c97a3c384bd45de7b7f9d62716f04c4422a354eef6db754f5c3a03683d8c71dbaf7fe4572c46e7235d5b34ae50bb08f7d90f38fa886fcf726295bc19f8be3a12d8ef1499623cafd9fce7b28b86b7a8beac3b110facc80f2838b7ba3c553d8ccfa638dee66deba5c09259831398c6428ee00de04ff884c4d91754dd9f84dbc7cdb79a4ecf6725161b83ce2cd7f13d159b0cf409b7da87119343168e6e2354401a9f1f56290f90ac8672fc939d56b6f4d5483c33d95d20527f1b809f971ca9c7696bdc27834075beb50f50968629af3c553571bdddf4acb85198323dfba9ddca9ca8be153e807de6ce4ecf93cd936546a95ecad191e94208676f6fa7bba4655680fd9addefee7e670ce9d8f064f6226f3672be357159e4ca468e19789c32fb6f3a05a62bc8518e0ec07ceb983922572c81f83dcec2b393644adae7d67907396fcfa460cd8daceb5e1af7495db3b1896a91ae82e75ea69e9b1b447ba05535863fc6444e9c0b0144ad5bcd641e100998b46268ffa8ac000ce1cdb715f3d82139817ee0199d2bf66cd508d2f5d39047ee5451e1366c7352d276aa4dd38d512c7ddb0ee2c7f3b0e07691addf87e830dc4a16f0a722826c92e98a41f5bb05073da31aec176021e361b2ebe63f6868d66a7092c71412553032e6dc0f98d27a2a64604bb4ee0f1c685fc81d06706ce68789bb2975cd83519d3e461f2ed49adda0e5c658ea683fe9bb75dbcf676faead194248e205f3a160711a8f06c29f78e8eac06546ace1bfca1a3d62959d957300e236b52305c2b7f4392f260909edf9bc62eb92ac8f4de774e8e40c011726d0e2231ddf15a4c0f818713f72d5dba5cd02840fb457d17c29cfd4b4f970e38bfb59cb8959e4800c38d5a78cbdee4d9e4517624ebacc1e859276fe9e328b2d3da21d253714a60f2f85d809af75c76f0a2133f745f02eb76dd8f6efa144ac53f2b974c4be748131f38e1113556e18ed5bdb058289dbf76e57da0c8bc8522ea01500b252bb986e0a28798d6520dcd5c6967d45c14c4b16ff754f45ab1af4411b1b22edd97a186f21a9a137ea294f072d2f3e442cfa5de19e5264778528fb40eda9def9b403daa5ed5ef3b6c3211f2a3b6b4a559dcea4e7c6c46a46b7f801b5cddd3925ec73d3ea928bb27b83d259ea59b190c3d851fb66cc44af806eb110fd0b32e9bda8e7ede9af7e2416dd9841de05a31eda9843b876b1bba270d4ce281d286cd71e675df3899d7e92dd6a626cec17022eb6e2c6d4ada03cede9cd844df747b74b181377d0aae82ec209182d7d2ba64cfb759a766f5e15d558eca7e5268ceb16e0d6bc89ea0b9565968828fc41df6ab840d807ca0ac825cb3d74a6cddb275a1cb5704788c44ee3e938a87c198d216312b53f15e6c4a4cd33536ece578bcb6da2d923edb3e2669dd8303dc3c21293dbcddc327d34dcc9b23d26142e168b88da8db3ec79640c70b225821e8241b4833985ba1a2efe311114667f947c7ed54e8a6290ed23c349d9afa54098f19b423ade6dabbe90793300cdd1627eb900bbbdcefdd2b0e9f89e0e5bae251093a388b6365aa94b3e02baf0aedc28d82c00fbb9d8c2aa7b0eee6d327d37ba9a1f306dbcb6182b1f8730d02e04f8b31f38bf01d31da4e3031e68c25119458d07b765d10c1a5887131744bfb7a22004e192963daa80698d1a199fc7779d1515108e0e1d6ff9d56c8787aef0a730efafcec4e37f61692173bba580eba1097207e1b888d45605b17d512187e1801744a73d1a119418f16b99caf1a3b3931f523627268b4bf4ff8713cf2db439dbb837a8e3724273efbe4fcbdcfdd937cd29e4d27260fe8947f0311a73d3622797808449ce09954f6a3a4fbee56c210cd1ef7f814ca4f15f3dac72490c6c459a16dda2180ec69683b697cfc8e585675a2ebddcad29271bcf7517b94e6b507ebefca976368345898e94e3d5f01be7e5edc102a0cb5fda0efee7b6abc305d783d635d355e8325c2700ef85d933992f739d76fe3891ca0ce7500a67b6405fb30d6572c3e3c80db5e38075509019d545077064768be509ca007cc7b74fc7d8a24c606f03d624cd27cf2314e1858e0689b0cc4aed69574c40de9bfec75ff19af693986ac35aeed3dda912d7e7fd3e121d9f61183156113e4694a5bf1f604480a303d47ef87a8f9a2f408a6c4466c811d48052075234794527cc03e000f79e3bb0f6ebadbf4841925d26cd1a5a8286b9d1a1eda572eb4ab549e3d646f81a27bb661cbc8411978be0e1450dc6af488d697a5930f82f20cc9ec37c30afadf329c79cf87c98e33b8da84e293ac640cdb97bf014bfddf8fe6d7f5c9ce35d1edb5c80d2a63e19c6af2f2871ea1576ae28197e2eb2752ac8f177b0aa2bd33d48001f8eb0b6ca88398f8d0830d232741aa90e031828786a55a53f831b9e00634459266713519f3963d3657f874a8390fd6fa3a8b080ec3f540c06156736f3e611cfb28f4581f0221e8465e329f877b7c09ea33c104ff54322a5e31b9cc8cb038cd4c31bf618de5cc472b993543a2c3c7028dd19a70281bd53bf44ccebfb7852a710125410817e55a9c2275c9f9c16eef3a0c72e49feebf307ef9008ea9c105eda50aced75b636811422dae1b664e2391c480913bc1c89c76913b875a4901330d884669b434bfa236233c40f2da81b81a6e68f2299694474e80dbcf9633ec2e283c6b14998489052024ee400948b079686d289ef97220b44268fffc88c8c322a83c934a5ba2c568b8ed5488602de5b93087ee69cf70316e90922b7e5dcf11b0e94cb846cbe294d260e0a6c30828cf886fda7a1e8fe020f6a48abf40543aa3690c374d54154222d0be1e073dd2a15c25ef30b4e1ee67e1e03dc3db09560652031e9d9df09c3a26cc48439308f3ffe81b302c3bae6da8441ee255f53b237a4399a6d2a9bae9a00bd085d84cc57d65d8e76fd4a8275f3b3ad9a6334ea7c7df0a3f6fdc29ba0c53e0ce2467407619ce3459b29387c614b036f84371f8dbfd513f4d09b7199ff41854d68a517fbfa2dd867ce4ecd336fdf2a81d6963b0ea5251890038e119795504ef1599f6a467b1f694a9908a10aa5df7dcec2d95e65d6006fe728f382af514a27ba3f015b4e830cefd632fd50ea293e8e1389cd52605116ff560a9aac5950062458ad2978992592c341489ea3b441775174da8a7daa831fb18a3b312f92b0c2815f70890382a6869ef30a614534a9c470b6c69b1b9d81e6b509c802cf1e17f2c928f0709c69e9d64854a61377992f192a364c678913b1ae90ec532ac38c9c19b456860c8e17327ea17c31b150d184387c43078b4be897db39137db61abc748f2c2c64677862f924e292d4ac5ecd0342b5e127b3e032374180d85f90748bec586501e282327b4af2da746ee9a2d1380f2f3f22873aedb2a2b06c7beb17f63653cc2577f823b7c71bd99ae5b06c919b519a028e436f7592610634d7ab8e392aa00541ea9ece70a693a818d070d5ae4a686e6c91b5dadccfdce03003a922ec12d53f2fac198cd896826197088bb37c9bfdd92e716079121d80559e21304a25c46d0862a82a3819924334b5f7549490093fd5daa0158228e90106ee69ca641bafc58ced5c2fdbdda88f0e580c9ca98721ffebf96de2b9354569e7e6fcc36109049c581a364cd4dd411ecf6855ecc37967220a155d9412f81e87755c544df6dfe96f47ab507f64d9d63fad6f9a1c23a21b1e8dd5a6c56379d6b9d17087979493387d4bfda8119b8df5ace1c9b3e44dc02faef78c39a78841d53fec68773d46ef009a40f76f52c4c30b7a3b78f08b0ff41f78a589666116b676d1f0c379908cae6b3a483da6a7f167a4d53e2aed2cf6d5c7d0239c0aaa46c0c4272fac4678024506aea7ec060d6be2d8778ec707b260b42477ff81d8b98b753931a8bc931d2839533a1bd79845c7ce90f856c0b32c2e7aff2831aa8f490478f827b35875f9438b2ebe1265687eadf0f6291b1eb199f2b0caaf86cd6ee79cfc94777aea73adaedd3ed4647169a72ac9e02eab9ddfd7698f4a76258ad200fe579b3c2a3163e8b48a3ad3f34c95b13d874ecc10c4b2e30983ae219111ef0194bdb9bf0dcb33650f714f6daedb4839215df71682a453123df5744b82a56982bdce0a23da7d618e54f9e792c2a250c854d169ad720689958c2bdbd0a885774a4cd7291790d9557b29a9d6c9035b9df8ad770f5eba4a0440f949acb759422d17219a853ba5fa12da5ed102ef405b5e851b6a8c0698ebf1e12dbc7108c3f1bce78485e5501114d901cd01f5cea8fb9e94328b61abaebb6a1b4d859face0e37b32a13e7c9406544a6b2b472ff76221e7a64bd123bdfd8a0038b42bdabef30bf244e01c380dfb80632c0c899fb0657318cc1bae2869ec113b21e3027f01f26c945969314ce5b2f8330fac8f64476edadb277591c459bb517f46c4ff6a965f25a0556a619ed5ff609b8ab3801d4968760a2a0ee32ea27bddef1f9d89c624f4309c7470692d842010ff4ae4dd4c2badc17b0782a03cddd04d79e11ae7944cd7201122bc119f6dbf7b69b149fc7089b30b3990075f560addfd9de8f2c5191091dd69d8b6ce904dc8c6445121b9e5a15deceb4c365ad8ec3013e575efa143d6006a95d5b9e84307c2262a003ef2e2c64c1468aca979e8fc262f921102e15eba037c20a0799fd411e09c8530b935807ddc5adce1de6c55d3e506a24fd21af6470a2d5d1d4601ca8f75f49367244119d4ac9e3f3b5f69f6adb332e4451b409b5fce86db1a318f96ea07fd52be05a9d11090e8494911f7268ec09407d825896d0b0204b35b78e2bc6e580b4c30e2d31c75e2792cce3c85592998870cdf865956b1bf58bc08e96451a6b845ee7e93b574b58f4f46f83d20f2fea084119d0b5834bb7ceffc7ffbca2469615cb0bbc867c28fa42172e0b567aa60f61f0b1b4f84b222234e3a344280d8ad65a95abcbba3b691bc82fcbaa54f1c1424ba31930ded520260c81f85a5cfe600134cbc411ac15535dc29c785479a87e6f24e35abcb4d5e701147eefde5064400f3eb7c74628534da48cfa6931d1f1512695d794163ac92e01e7eecff7ec712c6fd5dfbe50bbc6727e840cc996b363e7a7ab945c078e44351e5041a066868c50fef522f218f6b8a1f1d0e1ea2bc4b7ceb55b06ee109f4e9f524274f241d8e9951bf3e85eec8fdc5142b69e1f32c69dff319cf9ba76c8c507e3512d7bbc7da23ef9b0c0ec1bfc0da6c9f294e26e9a84e8a384207e80a63147531f66a15ec8b45c4bf3fe1382c6cefbc9c313e218ef8af8fa83162cc0e7858982c2e454b78f4086cd631abd35fa9e448d0f803c10a4714d0deabc713be3784f2f05a18e299855e2398ab38a4d2ff7ad15ecabe6d156ecd885497d2843f2ec8f8a57789fe883445003c43231157759cb40f1390fc232dae3d0ed2f27839145f5fb70ae475e0421f962af0eeae0a5ad886993d372d6d12a7d58bf7ccf52a41c5cf4ec77f8f04953a2e6264bf2cb674ff5473d493d85102e97407bc4975b84d7f3d8cc285c914f369f7bd7d53d7736eea1303511a6d86e5249c5d13a603edb196fc7a57cbcbd026c17f6a1b0e0a77d2acbd2cc6405e82b5185b0e89200307ae849dd32b3eb10f95e965dc29bafc9e271a77ace22488865aab884643235faab84d9f6ecf4c103c8dd1a100ba7362eb147324ebe8345241c6fa6015922d0aca4a054611e3a005b008088fa800f3a875ab2c5209d0460268ee8869e00a288404c9a10ea21ebda847fb0f3e0c30a3605e3e096f9029a59201bb35b197eecba00546f34826a7799e8f05bc8372d39efc789cdd7c5078423e12ec60dbb427d5305f476439daae88b57bee5688acc2f6207b594a71d392d6702eb183e1807264a413e12029c607b4deac9dfa53b30ada4a8c380eab07b6f1ecdd84e9c7d5539c48a8875ca799def811556b42e9a7c94cbe73846806c38e880a7e1edac12f629e0d20ffe2932f824473e72739971a98ffe4f6f852ce86d66046cc60de9a9492b293a3bf5adc5e1b36f44fab2f64d03c1fe8eaec7e0b25bc448345e4b8194aa58082d9a66a23b305f4264d03147e036a80da845b300ac34a077db80c06f98fb23a2c90579a406b82aaf905ed3a19a8b05f15f049515e95a1b005f7cb14a79cda777c3c957175f3871fb3e1fe6679b407f3de00ebd2b21eb052896cdf6ba069b1fe924688dc64ef4db6dc524a99a40c2408ee07260893f35a8ee32ce1380e735c51f7b592bad6c9ddcb71dc75cb71b5d63ae79c93e3388eb34eb98f43536badd512e15aabcfa0896badb562309afeacb54ece4c2e6badb54ecba1f16aadb5568c31c653d7cae1c0a5b9b8bbf7d67a477bef9db7c4f5efbd955ebfb75e8d3b6b6750fecc75945a7bbbf7762f499dd2db6d79b735c5b559dc3037055b21b65efbf48fb095118fcbf9b69c5580f3a04806f003cc20ff0906043be4b34dab0bc867330f8bdd4f22cf08c018fccc61e7d270d9de25fab5a76d072b48b4ded3b60305d4ec50c3133bb880f10e4e1b638c31c638471555c554da6c8c31c618e31fc2e4f8e1869ba0b2664625cb87c6c3cfac68adcdfab5ce3ed00431864d1b16a0180104359202e270848b1681a2ab6a5d5c525be8a81cb87c3a00014e61d3dd10edb267dffcd4b26f6eec9b9b2943f6cd142ef915dbaf9efdfad9a5cf7e5db05f2f0a20d92f0a5ced974d0716929831b1cb6f87b11dbe0d3f3fb1c31c7cb04d194913b5616cb0099b140fb9763f9fc0d1e5cc7112ecb26773126c8e93a2c4e6709892b203f75738f970851428b7a6258ca3dc76d288b9b2a487a24cc92116d1664bb36fc5284f64446eec060bccb8c1ccbef7dedb43075cf7de7baf0d6832b59a02a58587806ac08006a06cf042b3d65a6b2b50b3d65a7ba39eecfbf74661d9b70626f7ef8ca98727d0b4511285105ad4d41feebdf7ced8650cca17fbba0a318de725e79c6fc04c40efe0049b818a25e10e57af19b67872692313b8c57024ca06199aae50d992acd1c012aa4c4319269c0e561d0d5c20c13c5865282928b953a238284d56b0546af56766283434e1a1098a0f4928100565082353aea01041d5b47304be185fdc44c7f634e203533368704f233e70058d86195184d64f5c2bfa4373d16c31ee690417327821b2c64badf3c81ff4a21320c23ca2e2ce8b2c817656995ad1a9e43e12602ee1bc4799e64f7d23bbbe1211eae7acb5287ed12ec9b26897f3a6a3851e6106d5227a5310c70e9c172f706bf86e38a0a7cd969cd18c627fd30a2de82d7ff98ddfbc5ab3193727b5aa2d4b967a3bd9d16e5ce630497af19f7aa99593d59a01b3c610c5040e2945973162cc237f98bb6ef0e8a7b9dfbc3e68d5daf079ce54aaf5de04394ccaf2e79d3f93ef333ba6c15eba4faad501fdfcdcd8837e7e8f761d59d23f8132ed3c729c8fffb89daf547fe22cdef429e715e5be56afdc3b25c0c5ef74cf3db5e8a1092a5c7430e22a6b69ce1f77eebde819d38056976aa7144557928aab0da4d960eefb358ef40297bf95767da52af3cf1c292b691fa522e3af1fd8410fcb711ce7c3e2bf75c43b5f72f3d8a0df69b67a961208de9c138724e71a15ec953cb79cce6846dfe5d0057ed7b3774e5f1dfd07495aebbec5eed5b3774e73993747b3b46da95fbf3052e6f47b3987844bce6438847eaf5affeb8fa7483dfdaad567a5a54f85b5d2b13d6d4f7088427b4eb478a204afa0c13d6d4f247087d09f07b6d09d1a4c83eea4b05ee82ce606b1043784c67bda9c20f182e6f6b439b172527362430f9ea7bd956d57eba4140033687e04a45b4bfaa4eeeec3d55a6badd571adf6d66a54b344b656259a51753acea07adf49a7eed65aebeeeeb966cf97d6b60020679095a69816f86d42606d20be2d9ddfda1d37f1b62387f1db3996ddb6f8951cdbb1c46f470fd6b470bcb186b1e0e8c10c9a3f646738d4adb5b6563b726966161ee9f6bcafcca1a47f895fd76a4b72dbeffba6adf6ce5ca16c47deaf3df38d17cf765554518502e6d4626da7a653d3a9e9acd0f4b9efacf0be3de79c73dadab2f6adedacc5d65a6b6dadb5561cd45afbc367f339ae9c6beac518df6cedbc944e6a6d48464fefb0d0f427b516b4955a6bad7581d6f5cac0b5d77e2e8a752dd68dc3c2f69eb967ec1934b4daaf7886dafbc271a1e9572bc4be60ddb5e19831f68ea1e2da3163ec1d43c5b5d7da3b66ceec7b39d75e4b85bd6360958a710b2acb617b3197bb96f7d5c7807834e793dd3895d8733e07f67c00b8d3677afbefcab83ed1893898c5fae667118e022829c2cd92237454d0a601d4a51b328899d1973cfae991de0fd401ea56a8bd5a5555972a1d76db79d43aa2b4fb80a65f47fb8275b5aaaa25aa429d7f04a14d2078913bb5be9c48ecf902f0247ae3e144ae9fbfc38379d4713fa93cbffe2961183e0d490b56f95aa47798a3badda8f2d314ee093f4dd91186030ff6c1401cdcc3c00d3e9c1ceec790971520e5d96ddee8ad0a15f22fb90c468bf139df032fa2555c7e72274c6f5532496f1c59522fbb8a5106a568b1184e0e7e913a14ce77e7ecfebc5ecebc10b0395f0e88e37ece3cb2477646dbb3c89de88d0a8daf45710a4d6b23bde274a3485488270be05bd50cf2f774f6d49e1ee7d20b06b374065dbab4f39a95b452d315ba5cfe379aed932e4ac4d89a90d0a1ca905c694636274fbb9cb5b96586f17263dc3bb46f1205bb9c5be614f3c2917ddfdefbc2d5be3048d9f7c2b065863d6d5058ecfb4a5df67d0eeeef70a2698b018b7d6d326cd977dad185db9e76cd6b2d526da46d2e5c89395096a0edb2a7c992a226562ecc50811cec101328b67d0de2b03430e112dae083c104805082c9918ddf7503fd9610d9182f8162e307411c38278a199e8dff0371e01c1cf4fbe02729fae9071c589cb282d39271a5a40b255d0e3ab8f28c24bc6841876d9fd35386e479646b4106166adbfed5d65a0a44015a6badb54d904e0ce92e1bbf886d49b8d85888da18c90d463e507931644dc10a6c8e8031c93967ad45272716729e44e93821c1b1b9c9534ed4e6382eb6398ee3c42a9c2cbadbd3e65484d3150c06a898d3142ebc9c40dd3871b144c7441760485a089bd45e47627072bd50a56b309203ea36e5420e2759589238e52346b0d0fabb454e500074d31f5d64993ff0eb7f638fee5d63a979e87f9162fd6971bafeb45c639943d0afd97df85ed849b1e9cf074378bdfe6f0cc932c87efa7d6309bed5759ce1d70f85ef2d18c20b48d56f411dbebb16f8fa5a3fc10f987647b797a335eaa0ffbd1e5fdf1882fe17cdd1fd7def67fd2983ecef35e99140eaee7e76e57c2075678bc2aeb1e9bb1cdf606d3d80d9744e4aed07f4fdebe307025e6b3f90e9a07f2f4902479eb000a68d4913ee03b9fb9226dc3fe1b52f69027d20e0a64fdf924e9ea0a646114ea7738767ad5192d2084034282718cbe13b039a378ff68e25f0c8df65d25a25b751b3d1eda2693eb3d6d6aac69bd82ec93967f1adcf2afde93485fccba04ddd6f20809bfe244b1f1e1d730b9a3ec7449d7cc6b4a9937d2323a34a5a8c690977d24927bdf7de7baf977ddf6ed9b7762b9dd72f76f94856a1ef9390b381c874e0793d328d9672ca4bdd8ed62bf9901301f98c8290676e95d1a5fdf908984753ca7b6f4e6f6c8d44689ba58e9cfec3790b09fd9da73151889eb60a5c41cd26d37dca937dd1f4e7e7cdbca75f7bddfdef48420ceaa44ad5d494efc993cf94bc885318848df691f512410a188f309983491bbaf189e1bc927bddd7b153f26e2c67985d6bf5460f7b9e57478fd41d29dec7b98f4363f6ab73a439f3823923f5b80f83974ee7896de171f7562bbcd1015d3a2e30fcc02068ffa295464a4643bbbec872f621f925b51ce7a6f431b75ca9aaf2c5880103861010f42441e03f465453a6c0a42a9ad110ad29294ad413170ca39b1559cc2218b7db2d0a0e94994510dcbc09022b5869a4e8910d29d5a29edaacd56a94ea76ebc208aac9d30c87b0cc68b25aceda5012ea448b4c0d010d829e1e0bc8768064fe8345a34d6c82c0c6f902baf2b31d17596b40593e3298f338e3cd6e39ddb307ccd19af5d05a18fe143599cb7bd98b821bd0a890fdbce9953f812e3207081aecedd376449f1dd8085e85332944b8b21d9f5d5f4ba14bda44954c2226b348467eddd7b93aee5bef7af003d873afa7d054024426519d3323b36887e4e64f1745914c60dae02c0abd4e8355bcc48eab226949b1bec6b26797b35686ae26ea645b980f1f31370c0fd9cedf64b2db6d67e776bbb9cae892de6e5869b2a4107b946a9158ab51a82b2f1cf4b8a0103d32d6b3a59694e3b3235e91f32813573bcf79370fb6fefbd98cf35e2e9848af7ee6338389aed104a6ed7ada147a2fd28341852cbdd2347ff2a79a3f8546e8150c184ab588e7633cfe7343af8c728668224f4c14797860b8d6c080a1f3960a753aa4f59faeccf4a9fc7cc480663e3a1c528bacff7c65fe1e9187bab7c1b7bb0a22d860fed897ddcc229e57aab5f228590a62cca3d6067f4ea43c85be9fe157f0036ae5e9c0ea87d36a9d57a2423ec85ddfea89ae5fd22dd4aace597d9d919b3fd5be52f52a09236b26306deea9508da458e7e7532dd221e995ddf4e63aa34bda547e456e4f91a6fdaf7ba53a967a671aa63823ddb191ee9b166ca4fb35d2ade9a6fb9b3ce42ed2791df96b374e2ae43d379641846cef45fd6505bb8b6077139841f64bd7ee5e36ed771f4ea2f0bbbf991f45f2272ad4bdedc82e8aee48d16756e9a5c9526f7fa248f46a02dfdb2f7dd77f8af4658c5dc359b4f3f5eb2482755f9f67e4e64ff7b0b1ce59f73bdd8b63f7afb17b3dee8e2c410174240995fc7c66c91d8e73ce4a6fd7d709777d259d7d4591f214aa6f29005bbb92a50fa3aff40da4ee6fb454488b374e91f480dfbbdde79b73ce7f79f86c4ecd04d28a4070e4e13f98524a87401cb7b6e674fd7cd9fdf063af47997d3df8d6923cf4e39042c0d72f24e61a650308c38fc978b81e848db2fb3817f63c6e1ef6f761b0c7615a82e17cce13602e15c99f430a1192f339240ec9b474f34c4b3f97403c9762e4254bfaf5669c4b4b7a9c4be1c8b4e41a9996beb114c7b2f515049fe1afe30e9fe1ef62d0dd150f9fed804d29d522f0490dfc073fc6f891d0f72dfd725ef9538b89f37ce6e6d387cfeafd892f15551527a2533eab348acf9c46fd188146d96b39ecd5ae94b4ca72f8d2243d3029ba2a67abccc18d56cda05aab4c47ce3d643bbc6fb57e6e4b8a5cea97ab5192cf2a0cbbd69dfd0a527f6a905a4485983ff5b3ecfaf561c024adaa6aaafdbac367f53de0808827239f556b73767d8a45b5f0a2ee66e3e169d79f602a4db32bbeb6a43909a9553586fa1ea30b5dd2aafab446ab45f99de852ae4268cd6dd4cf5f009d4914baf7ff8e4c2183a5ee953c6bb751eb8efc7794ea4808a4c024f500212aa0f080fc192c312de51c520fc82fd5911040c13f024b13dc91492174c96badf2afdea47f700f1ce98481d9346192ae013f4d412918ef23041d8cff1fb588e7adfd179aa71b9e51480a74e9c7a4619fe77d144297fc3d6bb36a61ae667d551dd1ea90397cebd83439501e3545e7d60130dbbedbd7116f555850d4add87636b1ed532d9cc863d83029baa46bf6b4b241ed92aea945146a4747e411a34b5a63b3460a3d778d5acf5ac7da1f3368497ca2f362adb55671a4503ae34e0fdabfa4506b62b231c64f700031defb9e912ec5a05baae7638cb2f76acf389768cfff98473547bc1c7e0ef0e7fcac38f833fefbfa9cb18c81339662a9ef6855028d8d25d81bfc2fd868c739b36f8f586be99a19643fcb3e8c91ae19bdc99d3c893ff58c0e557f2c38b5ed7f53b67d8f0a822b5a883f15bc8600fe284080e755a04b3c244f94feed4ea4ffc001c4679693715c77b77dcae6db767a5118e545c07813db24010fc8b04b9fe21db6d40327aa416cfb206c2e678faeb1b6a46b48a0407e7c370642fe168c4e85fc6b8c960af9d3183315f2a78d1f15f2171a3515f29f31c6a8907f10d0d84385fc2b189f0af9cb187da890ffcf38a342feb311880af95330d2a890ff04e31015f2976034a242fe3e6312157232f6692774bd98cb5dcbfb4057a8612f57042310bbfdc971fc31c6086384602c8176fd9e51369649e5ce584e2b9db19c6270c672a6d9f563e34d2db26b9227bb46a957ea8b340e4408f2649774ab234ba35a188eac4e9724eba64056ae2f74ad5656c96f6b7b7dd0594b0282a7a8923ce94914a321a327a821da5091241888b6eb5fa019501a2d663eb31b96cffbf00123a6e76231a6f757ed1d410c02e4478c261af9880501a27d7cc4807ee8209f08c43e90af14b2ebc80342e94985aa52fd9cc78897b405c4f2f11913535360aea4c0021a2b36505cc8244b130b3835f14514452c618a8241022a2c01860a0b43b8b05961670d152d5b88b9e28208116c88704d5ca9fa62033250b192650b1b8e89175f4031c403618a64a1a503dc04b51826f0c3112d983982812a38071ca1b2c50629a8cc604416ac1c5dbc60c5150e0481a58b5a144faa54b95971c104061a2e20064cd202110f64654dc93284066cd0b244068e703a327585e58a861543c0d080258a2860b862bb4c1270210b0d441569228b252cb0654a30a688174d14f9f20488256b65db21b6b5d672950bf3a4862d4eb4a97db1b27485d8974b1755fb2ed9a57b6d7d1f1b103b6cd79e3620a26e9ad830a0810b18a10418772243cf90f11cc878143263c83c917122645c8a0c55824c0be645f9cca9fcdde2dcfa5c5afc6ab52b535e44a9a8a89e78118da25176117d822aa24d418a44985aecf922784cc770b89fef3303d2f1c49f9fa4a4c1ce873c3f9f07084e04fbf908702229a75f92fd7c570a354a690671d02394507145444525612d478c2e112f340dd9ab2159b49a05c90dc85d4968d7927955fa986d29a75feaf91b307ea3e7eae6fd7b2888e3e6a63fd828257bee267bf9101d1ba5789ebbf1785eb884ee91dad901cb681f29f1b91b087a5368209de76e3a1ea587a4729ebb5130e1f74d8e72a1938ca4701ee7522cad814bc59ebb5130f44a89f600b4a2b7570ddef4c2e9d75a213dde92736272de91ee40853835a5814cad3458262cf539c5eb1fbd10b093e8ab5fad1cf5f99bf3b4d5e79cb4732be53953d3aecf74813de79c73bee7eeee3eb7ec7e094abb3ed30c9ab24b7670a356180f63fbc3c8c0bab67f09dab5fd5d31de9bb3cd9e631981214d7be2983e9ae01b0855aa55567fee1ea3ac921ddcd8fe25ccda9ea44cc78ded7f633b69db6ccf7eeeeef3bab21519fe8b87b4be4991e8a7abc8fb5bae63c4d8992421c6ce600ebd49a059397e9350dd856fd86a8d5dab03c10f6e067b821ddc2f7d831b64b0334942063bbfa7a9f56a5d26f83e016f4c7670c92674196baddde278ce39dd9dbabb7b1350f388fbd7563a27a694b3d65e7c2fbe76ce393d8a1fbcec44d7fe84c0f6b0babbac08f1c63937d3a59402944e77d71dc2d56f368f605f1ac1467a733147e9053ba8dbcb64999f004c4ea88664f102172a4b8c599af3c7fb3c8e1c9823bffe9bd8e8e3db2129facc49edc5f3aa17e41be79c79ef42ba4c8e316c670c89fe7b06e3b9ed58e6ef6a9b9ddbec8e7cee8370736307386f10d22a84b7c1ec7c0601e1b44ba035bb9c61edd227cc2edf6a973d55bb14a7761983da3f3801cd7cbe47fc6c37b3115688a1e95005ab4a59b381b8e70caa609cd22a56550a0e4aa95709e33754266a79e34005356fb0f3ce3befef7baf85a00bfa7656eaee4fdecd169aea2d422b34fd898207349dcd5985577adb2749ce1c947ca28297b30fa0edee64a62f7830366195adcad49e362a2d76996d544d3c09b40d773de71193d9674f7f04e25585261528321ba0ed97d9e68316b9d66ca7cf1dc1c3f86d950924caa68f9b6cfa98823a70b5d5feacf6038cdfd6ea77a418d4e11bcfe7eafd1032c93de631eb4ffdb9dbd612e88e803359af5478cf8123c9f1d8215fc95d23f8df386f42204b14be11f68df3bf1b726707c643d272843db737e90b398f63f301ccf63e478a9dad00703ee7f1f841c8bd864277dd6b28b4f53cb2643aa1eefce028d3e13d7d8fe4e9c812e74fa8bb87ce77efb9c2708260c89900fece0752d787aef05da506c108e8f0fedba11fee3c8dc0fe91a307f841f60c7f7e3882bbc7f7a0094cfbfb9ebe6473f7d03ff7a4fba3740679dfe81afdc6f10d5972effaf9255796f0a36903a9db04a6ed7111d8307124816e8e3381697be47c188cbe4c87c7913dbe07838441b6f7de8763cd1e86e12bd550843db58bf4c6499bb60edf05234ba60dcb1cec46acda4ba021f03c083e478290fdfa09ea7891f73912ea7e91f727f87a25d7638f177902dddc73b0d732d873efc93cb2041de1bb1e46ea004ba6a6cd9127d4cd913ab4d3e6c81ef4a7cebf46da0486b469cf1e389ff33a381d789ff30eeac0f99c1076c29f6007389f33e62cd381e3c3969ddfe543118ffb28f801cea6640fcef342d9e84d9007cfef3cf714fc00f4c6f0c9f0391e3b1f841e38d232c89edcfc1d2d367dd77bf6c319bdc7214bba71de0b81e767fd0179c691a7821fe477bd97c77730041ed295412d46d39fdc97ef79371c4841f27b6fe4b8f079bcb07acf33617f03967483e02b390ef05da38cfb9053728ee4c103be178e5c38ba5c65f8252c84c960240f9edff9f9381fbef7ae51e6e246d9eb71c6d8cbc61d6f8c3dcee8c53c8f6e0f04dff5b05106ce8fc9c2d70fbe77337e1f1b6f5e36eec4c6efe62b81962f9287ec65e1f3fcce9721c983c7f59e1ec3978d3bef1ae9de796e0c5f8fdccb469e9f200f9e902c99a68b821dd0d81408dd9c7e4253ac37a0b957aa74e3916e6f8ab9ec8997837e17e6a04f79e4e89ebe07b785bb6797a72b0c8531c644ac16754c6b2d608c6c8cf1b5565ce20c0634e6c66c6302c9dc989c1baa69e62e61749dfa3ceddb7b895c3b80249c409183156686c0b274eb987d7bd8f706710467200319d0e2011aa7428d89166a54582adddad36646c9adc2cc11ac2e9d129e9921bb9c62388bd5c52eb5946bb38ad87b35f0c5cc9815eebdf75e7bef1727f6bd1ff3bff75e0d46852536f6dad3f6650a6e12b5972a1dd0dc9eb62e542cd005eacaa0ed9eb62e4d6c58a03c2145030e6580a8401616990d94f12286248adc9fbdcfbf0a463ea72526377ca00a23678ca871c2d9a00395db04ed48173519909255c4899a0a05064287a96ac408d7d1be6811a5411c6ea68b929c3458a219278ce05c91a563868c9258568e992c25375650e19869e304cbaac58cbc9e6ece40ada09d9e60da0616c233582f1e96b8d050e9da12d029fc92e45333e582c2c94b63059e990249eb0aabef4cd6922e2bcb1bc242ce22aad5c20a9c15571d14128c8553bee15e31c5a1a9c2c46a80260c4653c4926ab3066aac2e9a304aaad0945112068d079c34c0220b6baa86064c9ef60a9db558311aefd98508162534b767172240584aeb4244caeef6ec42e4c9112253112b5ea058d9e10c1921fc8c911c42235552eecfdee71f2b09224064408936523c51c5a8b081aecc152337e0fb57879b44928baf8d817bda92a88a42133105f4578573a01203e0c52a97a9da40349b551726ac7c6cb1a58c13589cceb0509fe0f281165ac86f039d376ce942430dd48a8b60cf2e337cb1c33dbbcc60c52ef54f61c46a51c7b4c64834addbd386850514343129892b9eb64071a98207a7aaeab2dc8031c6588a237f392317abb15a94b8e205cea89cb52df36a890d6c314b28415b62cb125764a8fedb0037449f59ca0dd1774f1b969abb05d614160b09ac2d34d0261a8388b193d5a28e696d4473a247441118638c7196148ee85220d302158ee103317899aa46ace8fe7d9220926f69ae116dfb8265c3f6b425b1440bce88c55958a95fd8d8be74e9f2b4c46eedd9e5a90a1868135b8ca9386149e28a4d965412d5092558e8947841099682055ea3c217e1975692fb17738008dc4585325e96249e48f2b5895d3e1253d89018b3f1f6e9e244081b0f5f385959e290b06dbca70d892d2a98b9f38a62cef7decb99d1b5d65aebbdb77e8f5bef95a534d75aabada1de5befad3490a9f7561ac8d8fa1509c75feb6763fe43277eaa2c589ccd550a568b3aa6356ee3746b6d2e408449d6d5caaab5a7cd6a082e38062b1bb2ac5cb84f1a674f9b5553116bc2646fb2bdf42729b0b2d670596197dee425bd695d136297d4ea895dd22b30148a8829bba45134ca7628a14d7b9517fef9d3401a1165f6f77d06717c5ede6b1151b5b312114776d73d067174b969d39c9dd8dc73f402fab76dcb0e4d11b0a9edba291348bb0f642d696c59b8c83c6a7499b51cb1ef7dabefbd396071d1acf3a7892c17ebd102450b0e5a886c2b5e7defbdf7d20b682027a218b062c76eb0f4d592f128522230d8189745869aa54a942b799165b3806142a3eacfcc436c59ca30993efbe2aafe14715504955deacf2ccc3ba9d03d7bda8a58b24bcdd98a50e1089db3a78d4b16172c1b17196c57aae0f282db3ccf11a81216bacc43e56453731021944bad56f35aada6a4a464a5ad2bd5ea4dad20bce99df774cf99b3d6a2489b47ddd39ab3d6a2f83fe5b3d9bf287a9830531e662accd46c7b75eabef4309d378e508b5eefff83fb72b45fc5346b91746f67d02373d4fd929af5c7dfbf927e7b7de9615ea3a8eb8fbfbe8e947d3fb7fd68de084e12d0f94b0f436f95de2abdd1e69153216610d43cf2de69ecee5b3f422dd2a4eebace69f3c877f7de489b411d29eb9e76648eba49a06d5a138b3683a895edcf79986e973476d62e696cdb1492a1edb482a01488376b91d46d03a97a7699da62d369e4d58f802c7fec083cf2a71359ff996bd0fed566097cc64985fea713599c634fda7fd4319fd5394eb73fef6f716e7de22bd1fe317afe6736dd66082a985130810c097e7c7c80a0687f1833a00a64fc4cb7f9eb827e5a9f4bc362463068ff9e21a320a00a644cb7f9d33c3f2dceadcfa561b11cb167fb276910a5fd654a1a08cd0802aa60bacd9f8ebdbfc5b9f5b9342c9623f2f470b0c367f54327da7fe727b88107346842338280a6dbfce998e8a3ce4f27b2e0fd2dceadcfa561b11c91a707c6fb6c7f1e0858a2fd45101060410d1a34a11941d36dfe744cecb1f1fe16e7d6e7d2b0588ec8d303e3491f1146c841fbe72860041b4316d4a041139a31dde64fc7c49e8f15cd080222aac0868ca11f0b663528a031014d02211f1f383f801411d918b2a0060d9ad0749b3f1d137bdee782f7b738b73e9786c572449e1e184ffa4c30930114a4c9ffe627b88190a60b8c8a886c0c595083066dbacd9f8e893def337bbdbfc5b9f5b9342c9623f2f4c078d26782990ca019b4a1224958d0fe30a724484717181511d918b2a0068de9367f3a26f6bccf0ce86240832694f4fe9f4bc36239224f0f8c277d2698c9009a41ab3164f404d582f6d74da03048423abac0a888c8c6900535a6dbfce998d8f33e33201af8f9e8caa0060dda0d210c66240521011d5570810ca39fa2d9fbcb009a41ab31446494f4248a14ed1f4645c9e0060649484717181511d918b260bacd9f8e893def3303a20df968b705356828d13210ba310383a02420a40a8e645cf063342ba28068021b120cf94c51dda0fdc129545b29831b1824211d5d605444646368bacd9f8e893def3303a20d19859f8f00787f4b9186de1f53240bde3f53a41aefdfa2484befff51241aefefa248fbfd3545a2bd3f8c2229bd7f8c2209bd7f0e45cae0fd458a34e3fd7928d28da0f78741913078ffa74840ef4f52a4a40ade7f028a8424e3fd6550a4a3f707a2483fef3f83225df0fe348a34337aff218a44c1fb1351a4a2f737a24813bcff1145227aff248a24c1fbdfa048367caef87f550058c2db7f8ffe4aa37f06b0ed7f2367fb63c0b3fd93606c7f2472fb1f4db0fd2f90b1fd8d666cff2222a2ed6fe368fb0f8d9306a1dea804ed994862ca0c950800000004001316000020100a084522812007e35054dd0314000a67ac446c603218c843490ec3280832c618630c310418620021c814d95800406ccc42d6c494ff261d44f420b88161e90ab5267328a65941bced38be96f1e896375cc619b4cd93eb4c90a923034f108e07f2ae138180b355968ca3434478c914d1d4ee9e4bcdf26f999ef5d594b8f33f2718b074d9f8344cd6605f8cf1aa330cdfebb68a225a667780882faf328e899c071ec866f073bb0a7913a2dfd71622db0e6472a0868f64a8cdb2b1767b5685b49cd0bf6a003621319ce74d896eb5ef3ca6e07c5a074df006bcbb47139411ae214623b96c8c127272e8f25f4f143abd2d5f70b1376f422c6dbad2c55c8347086130d3168872643c1805a68309bc7b59368e5b93091ad7270b6d919d50ce5964cf599688a6f060b485eeb83e2dfd7cfde86ef9e3e777628b943d4fe7d8bfc3a1fbc462b776db90daa2f973194f1134a85b5b069cd87b829741c8020434df34383a168914e7330b55171029f92ba38b87a1642734db094379c1ba82a6b95208b4c241801bbc86c28f81d295157914052ee9e9823dc81e7b93ca24908487da2efac57174e6545220907bc4dc3e54df915ca3489513b9674e9646d2c600f4e3c62bb6f7b7f092ef2759cacda269298b0107ca4adf5a8a0313a07b52cb15f9d3cc92de2cdcbb12199506090c13a203b41f78ecc691b979e66e213e901942f500218bc6b799daed3196ab103a0a0de96fb583284a94f1053ac94114f8b9f8a2144af0fbacec81d2a949e534051b766fee06b780e0257adb4b79b0b2aefbbe3ff34a0ac4815c42a5c8c58655f0af341adedaaf32b814ed53b54482dc2396bc698b570b7f0abe54aa0959f7ce2db50c1323f3d7e70ae9b8252a7c59fc4b2b2d46ee95b931d5e700eb55a4ac8dbd3b20fbeee4e28d48c0b07d65131a4e667b09804e9877c8391b5ad6634752d43cff5ed376bd7d9fc59c1c4345e0db0e21781f35b1b5234b82aa1a3002d3e153eb6123f624a8d58346f62e2c5a3968747a92b652870f3e5925abea81239c9d78e263dd2747e4e8c9d3aca8164c85eda2c1d1cb93bc6b83a33049eed2f051ca92d855c3233117465d1b3a7a5912d6b5c1919d17b66b8347224b62d7068fe85cf82e1a1ea13c895d7a7c7adbb03badb3b47cbc1294cf3a1378e08eaa4dcb3ec1f32eee04805d4364dfb6cd30288b0d5146034ff444dc02825526b41863cb006c361aae2ca06caad2fdb937148e8f27da97016c53fe0b3ed990bab90260cc7ac4240af8255b16d6f4b95e59af75b6992d87cc84a0ff72f6d0fe18688cac5e2d1a36ff43564f695abbf872a299c153054e5c8694ffcd87629c6c3d036f5de1e0821541ad96669c3841f2fedfd244d4792f21f2419aeb044527e021bd0e7d6a8250c54d8fdd2c8c8cbdab675ecd70692ef32c715c0d7ebcc799fa34b7a67213eab1786dbe41264da15c7c5e3be9f05dacf8b7c30d9c9daa40c29155ede0eae654922cfe75fec83d5c0aeba5dcc905fead8b3a338b3184a22621dc5e266f35ab347d67b1c7da31e1ec829a08a1e4f02e30326c327da6180fa56ec9bae46fc3a3e17df99fc78c263fbfc7aa102e385c52204aef82ec1f623e973437e58553dd86a3f9f5477b028fb3f7533452d3616420d6f1b3056582e0d6fbe386781c07267c80a3bba796344a511809278ad0d0e5d2aeff76960ed6d0f206df83c95019f4eed43ba645485d7bb5cb04947e795f7217661a961c3f982256444bc4cd6fa9bd4c8e687ceec8607e7c761c5e136085541b491ad4a9031888de868d7bec8ca7c9236c419d208beec49e4eb2e47240df2397c77d8d3a704b0131d9ff04bb2032a74874c763df2de01d1dbdb089dd2b4eeb81e11c85409e82413bbcd5789447bac8f857b5470383ba46d40f25df6cc6af22c6d52de223232e0c6e866ef2d8ef4f5f30e174d8edde071d0d706e7d169513cf8ddc6e0a8d19e469332f5443c15fa24d9059223d301ed9e78b270af1f50d8e54d064ac2d815a1d4c87cd437fae6e37cf4605a2229c83890d5f29d20acf039d0ca60d9e03b0aca43fc19b7c08f451742c356cda4b03d4c4b0ed90cdf177e47689e71c5d9621f047474c32a101c089614fa5cad26157f7c66c4a7d7726777b8a925965dd120a6cd8137ad094a2c09309b3811e9d56166c8a5b3ed921c64a4b9bb20f2d84519727143f0fb8f17eb8ac5b32560c25866993b14d322472cb6a7ecf64a8de8ab1757186dd1374cbb1c59e19492632f045f204f580e462c82670564d702a0a9bc59dc9ea2897f2179cf45be39477599f02914c870c53a0d52f094cabb329cb6650cb112c63936cce0d2bdc95daf152c792c25ada7def7946b6da3af2fa4199b32f1e28782c3d495b443eb3a4b87a015cb9e6ebd6484af0f6471138a7e954845b8168f7f086da4a57ea2182ca3ab83bda16ebcb106ac7042e2b8dbf6a98e402fec5d0055fc814ac49130790097ca50f9f0caba39f36cc09f8de0bd7a6fdcd493a8734bfa95b0b2fc8808a364420a5d841e47021f887ff69de3067ceb595b135a60e689a01e33739389c4fadb731ca490f726c3031f820f15203e796aea0885c76dba235d26aede1c757bd3b3aa003815abcc5a21848d7a24a981beb723ad5de87a6fe48238398009c7a7cfcde853d43e86c07a59f5f3f479732fb84b8771dfc7dfc89abd5ec22ddee48b3cee81378494c8f364378d7cfa344df92e64be1578d654d6476a457a3bbac92ad82e77520c4a23bac4eb040d93048e570964e2c456bba6052ff3bf6e60e97006148090a509fa3fe7879e8a5e3fa5d8cc1b1f28e78d1de56d448f6c4a65ccba95c26c6cdf12e9e5333855a921032458599331050213b687d7e600911b88d09b62659465251a43b0cee812bddd9cb59b8732a476a6ee43bef373efc2805a01e45885b42aba7b5721d2f36f1d24351b714e78c4bfc9588c71215752bcbd9f90f97590b2d9988b7814cbf280adc61a66d4d18b15535f96dc9ca6592e7e020e34b210ea2c14881c1faa5f45e2b13d3a6f76369f87df6ace50abca82c413ddcc891053f5dd484feca3be6f4001c0d848fa8cce5275f30d169f3d69e6809481f5a18d885e0b88acd052a54594f746f66b81b367534b770ee2fe004bcfbf2f3283928e722a40a72f4a89ec76cf07f52d2423b2ef49c497a848c47b59cdd059106bb6a0327734ba1e43e752a75f62da901f30127af3418fdfe8f7c1ca22449b52f6cb510f23e5e5b5844a9a469f857bbe013a0534a52b8c826c084ccdd0ea73d9b1ccdd687921319986bd61e78394e2184111b498f90f30f33c5ea00a65a07dfa62a5803a50ad81d725fccc9d526cda4876491681794290551e7cc6db78a35c212114ae000f4b0de372bc2bdeb16137828b424c80ece1be29180c74fdf362869c0c55b3770c996da5628aaee0a13f1acb3203278c0087cf8c8e12a0268792157d5e91033d0127f37153c2b25f88ccc0281787c0879b6bce4d95f2237fe08d3c33f003b788735f96d80b96798ea390a203aa7eea8a64a1e3ce3e367861e73a8fb19ff63334f47169b88a1d49a345c32da96e8a91f2069698c2221e8b2319c4929488fc53405417fbe24be2eb2cf8b94ee8cecb7561666cb9c411c8d6d34389a8704c7c582b40ead731f638cfaf9ed65d913c8e705791ab68c7e8d841d352229dc958c2b70f142822f1600392d00be51ed0783f3056b0ad98e72720926ef6b2a7a4798f53eebc44b087e587ef89470a00368d7655360d63ddcc5593004e2e09bbc79dc096a86e2c8724c334bc45efae7b9689b850bc94157425f06007f7320a08f9f294d030218bbe7e793a7df2bac1219575441d3825003fb5aeb4e3a7b43bf698a70d52b9811e2d817a39b9b0037fe23ac509149af17d0f7667ce4da785dce718ffd3ba8160ecf87e087ca831cdcd798ddeb7bc6d0c2afc13da1216f0a930b924c68995c358d32ef3c5eb86c1b2037627d6c7dccccc80100922acb10b9efa9cd1283ee1112395aee51b34320bd85a785a6cc5a928fc6bd89454c90735393aecb53243f982aea92c662740d58c7ad442ada52967ed38f6b87158c9adfcc82664b5946d877760e18a0f1b5326995b90a519883fe0086284557560df1a59a04f60aaadb6d0358c3e9ab60be74e8d0a2b484b359053e8b284e36f7f3256384d693378ed03bb602a7112e7e8c2b3493dfa78bb3dae77509de8321f34d0b7fed1c6430d9d8e2bc41bde65d824d9922cd9b5464543850fdce6a1a71a9ece4922bab0a5c57e78a569757ac1ee086c99e8e296c012b4fafc5df294893361a6a2d3c0cbedbd4f5f1006938e6522139cb2048d61535a3a5c95be7b52caf1d0272e96a0f095d8e3ee5e8f69a7f5bda98bfef642dff1174f33aa6fc698791a8688002743bf76d9267f89b31214f78b735bd93e422ed244af8d321ef5d141ff0125e38e73a3ba8bd0592c770c3d53685fe10a23a1bf91e90f4c7b7f8223ce51274757cd96331281eb7e604b7422388c9ce05c95ee68778883a5b1058db3ae5e60c644931f216420d573b1ce902dbe737bf8af798a1b4da26421c4312bbb666ce5f7d8d7f4cc2e20e37c61690dec3c277ac976d84f7bfde667f3a533bcc018e01e8cddbf5b4b909052e1f07e60dd152b6d76a347aa507ac4ea2526404bbeb68c03c9c62309efe91d4a593a0eb2c981a844aaf65b8b8a6f21e54a04dd5ed4a7d1c350b84d2d2e30930cb996e75d8f180140c2393494369be38311163595c9b63a69d007da3060e52e741a5dff29dc38b310c366cb88d488303850b8a83112c796b91e7d74e61bee4e69749a063162270648138a38c383799062d31f05d9de15a9005e74887f2795108020315893a7950c46ce03a90cc710c308198f9f0e5f80bf626aa9ed681d17483a94d1341789cfb0fbcd24bc69fbe1116b2f3a974331c63af6b0e7a70cb080567def0fde03434e1fd75c972600de3b41a723418328f4cfe2821ba1ca0e444110b404b1030b5971542c07ca3cdc5575f692f7c52ff82411da41937a70edc63dfeec4b27bde58881bd7ed4f7b4c68bc6cac15d444eb1f34000ef13932f8bd2f4ca8245d07e1ebee9692fe3a83219e7398373c89f021c229f7460aaccf139c45b4a571a539b4f11c41fed6c72d9f5561eb718031740329f86014b5c1be23ddcfbdf91d211ad5a7308d35ecadf984b15ccb7a49070aaf0aa953fa840db18c9717bccc36552e81da3c07246108e8ef5c48b10f5362fc7c6b89171230a9cf5939c0163368b7d64c003f746a91c454fb8c91649541582e5f68de91e22eb729484b021085f4693bc81bad5480b06cc696e6556d7c823ec6e889491b3b8195bac381e1b84f817d587e0aeab0a167509912cccec36e8b1068bb39a575ffb8085ed838b4ec18a3337cf01f6e83c83fbc06e17fc806a1ff70c60eccf708a66b30431c8d522bbba974588020d3106942f7b62274c0c55f2cf2e0c462e7819625abc73e0b5f0f1b2c283df2ec27d02a02b37024b6eae1c7a2343af08653d39ca0f8abd4c909787967c8c7e5d036fb3d7c2dd9f6a058cadbb3b9c4b9c7fa12da9edca5bd1ece502194290844f7f008543316e479a70a80c66e0aeda7382ebf29f5c2ca6800bcb1c86651528b87178f5a2cf0a2a8c584179b5a4c78d1a9c5c18b825af4fb38d422b5127d2c8ec791bd92b97e1e2a1fd25d09a5a07d33b4b0264abf9d550d8404278410bd997f634537e3b6ebb937c53a7ff8f78a829c9073fe8c7d7c138811b89e745532bb523e52e2c82cbf4529384e55cab381664e3f5c9935e746952fa75d55049c99547739f9a85a73a257cd8373abca83d3be2a4ace4caa6b9c7c126c38f1db37080694c0fb285fa662afd891792d3bb096056590b46e5064fdb42755f4ba55c48b51252d9b2edfe8f976bd8b652ebdf6cbe8f6e65e5ef7f2b06cdb8b6239bbdefd32d75eeb65b47b332f2f7af95cb6ef45696feabd113c66e5eaa07fa3494dedf863b9e9711869c100e2bc9d4edd621b0f6eecfd7aa3e098d6635921ebf55854c87c3df60a99588fb94236eb315e21e37a3ceafcb86da8a3e2cea1bec5cda36e971bad4b09731701a900865aff8667b9aad499db187b61592ed9c8e4fbaa1523255a779838b9e5e7a16a4f49a38ed69b7d7017b04a80ed029e1260aa7a29011e4eef4b80e671fed4ac73b4caf8a97341d923d5091664ef55be5838ddd075af049fc9e37acaa522d43a2f48adedce95f2171935a36b983c6710cf8662b3ebfdae5de9752577f1b78ab1c692d8066f9b638cbdc95ebb721fd16c3f8b5166d56d6fcc677632872f5f9798522d4265b63f6a8ada04c548c78d4a9d0e0ba22445695e85566c9bce28df2647d09095f8cd43c92bd6e7604ec0f7d260f736e70077a97b7ad01d75f851f0532c4cd56b642ecbc0f41f2e2205bae0906dc034446b2ed7d913bcfa3a48dbb2f9fa9ae00c65d5a9e17a1f00ae76c0e0f4284b030d64dfb69d43859bb03c5d6d7fe114d70f2a984bb714904896b87ee1814060aa6f6c195a5a3145bbac0c93d6870a42f166d3d96105a2b200050c0ed94e666111201a78a87a58ce32c120b739414a4b9a0bbb2d590e746be41262787d9bb1de2ffdbfffc74dd806524c1a1dec8822560b22e983373e2a94c171c18010780ee6bc20a17bd47fc5368722482e567877dea1b1caa864f3a1e2a500a5b158ce3756e6250dc898e6806402489847556e07472691d3c7726003930284d6183a0dd91f7b87e6ae005fd743707cf4851bf3c7f4551c7704a6d430e3b8e036b57bffce608233cedcaf9e545101560ffb907fecdc5cc922cbe63f51a7f509ac843c6c0cc0a687ab8d2da090a18e79a865980bbe6a79ef70c90cbe6434687fcf9bd72be58fd69aefc8371be60c5f47572ae90b5d12737c1d40a18fd51467600c4501fdd8d1b5231396198ee41b5c2411946e9d087d0fe289c6957cab11f6a455d5718e2d993a28486c6fd8180221b19c32a8f8e570166478987fc746f21b57f69db0473d62581454b6e85a94076bb1da5d0a5a7ec6e84d3c1ba65a127a1a1458e02632396d913d22ef9812041d3ce4cb6e51353871c4097fbec8e429741b8c2f5a33e6a16d97897b40f478d41780cd6d87cb1684403b06a575380d308b3e9cfb39887b676271deb772e1f1beceb32b6c66ad708427331101c3c03429a8118e88dd7350dd2864c1b5bc56937ef1ac523f78b2527aec312ce640b8ea514ea6d5a430cb93632f8bbe9691f681655b9cc7086de72a84075b687bb30857e52622429b9f4984ab3eba1212d1cb69ce9051a2e1024a52f55dc0f4f8085913ab2369e618e60bbc0bbef33c9abcdeb3791a3d49c3b663213c0d8dd0e9842bdf1e970d35e1436203d27ca4e7ed4971b316c4655594ea82fbfce5698c1b585ee5a8a52451e2f84de826fa13ba817ea037a08f40171145ec3a231f53a665d6a53e467907751df998925b661772bcf68029ba064a4b72c99653542d439b8361b13425edc08f8ba39ac8b50b3086f457b33bb7f67701af0bea76c5c37f3df9360423c743b0da17114c0226825f811307369c23cf293a08bb3af97e741d95d6c6cc24979f2aecf83dffea65447ea9fba8a6c8f02b476620af0118119b93d13c412825f974e637d340c34e64cc6d500f420df9abc0ea0ed5934c999ebf75ae143019455670a26d8483a124da722b5202b9260881f3e6c17cbe59fccff6a053852d06c6beb68fbce15e8129768378d268a96535b15d56ad54e216a30038d3f2379d964d1d44ceb4cdd9ecc3bc43448fb675e664d615e68aab4c5672946a2d13b1ff64dd4055c668b8d6d0449ee23d13c2d83f68c80889ff9b950d5061dc42178e355acd94c1a5de33d46ca00ff97b7852e7f7760f81af0772306b79783e44c779f5f9edb81da8f72a2ed3a2ea99ec1bfedbf888e28f221beac6873aaa322681e2f0fc68f96353bfa4aa558db23726200ddea47a0df81156c74a4f8a41856a3ed8a4c2a0b28014ba49456d47c9edf39cbc65c4e92edb64b277284e72813eedc615f1d1cca33de448c305db93b9315e410d9f90f33ae3318a1f00c91336b9d45e5efac28d6fa8f91406e627849cf5fa2f607c11edf443da9f6792c8d782e7d46fb2551544bab5226cc7d00573d034a37afe711e90a30ad68d18f003b218657c559623e3d04fc3c409e5d0bbc6a03ee4bb181b0015ef126c95aaa998690efc93c59940963fc9251a612f5b40d13cd4daa4b263921590c2705df201018d605c9b23b4e91bfe32f8831063bc38c496d565992c08bd1685150056c60226aaffb2972cb57909855000c15970ff5c109782eb4c2ad19830de08b9609b45a6d1f39e603bf8490311c12fd882cc18b54504339cd2dbea2c97f9a5415dfa05a8a8d59136a95d92e9098254be395e06810858dacfd4809b05160b539b68eac5439167df223213b1efdee9e2ec1f8aa1cbe21576fbfdeab4620b2f9ef55ad2d4d7801daa62dbc7b94f5ca241c1ab57066cae242e266ec954722186f28faeff1aec5ea8295ccc4ecdfdcbc7018440dc6c74b1f32e5f405b8794c1e865825ac453a4efbec3b1b7ce86adfd03e6adc6021b1c20230243e846ceec4e60f142c6cb639fd2f1244225b272fe2d25b460e78c6312da28afc083df04c46dd012813061363ee2ea85d412f410fc8ba3bb6c197c9cf0e19de0ce74f7eb0415e8edf3cda67f6ea9a623eaa3a92d2c6a4e7c1f94313277eabb916466e398b82ff4d6edcac1195f7631f8311aa90351ead2314b6dc336d612ad8bd0544a04c138757809411facd7dab656ed172d61e4ced9c7ae8c6a8720ea95e229eabfc3b57abe3b125015c8d9307feea71c24f282868a393b8234b3dd7d636d46d73fc9f49023d938ac9082656c32d1436127bf2d619df44a91345bfacab0fef26c7d7f6152524866666f4112f82324747a89706653c2a2641342df22b5559fcb1424ad23ea05409435812442169661751ee2c2f38e965d9d92e9b274c8b940f5a121b05ab37f79cf975e35bd063e04bd08044ebc85febbd0c0bd69e6b0f9b439e73341daf9782c05f1e7fab86a1ea02d8434465ef9a81a1828d4cceaa730ae2e7dfa89c5e448cc68ea19e676969844008bd38e863c68a1f028f4ee55719a1349988fc5101f110c0b6c66421ec04fcb0fa2719dd868337446cef3e3f33551f35c4645b08812ce8f6cbbf44340540ffaaf34b30a74ed46d01ff5e797602b8df20a378ec569c6be1809f905fcdfde9b2ac5d054b1bce970209a51f13e273d3ec826f5ddf94b79bf577610c73a67f37b927101f70a96c5b8417b8ff0c7c840a28421e9fb20fea5fbe7f19b20abe722b94b8294b08602ea593c4264515e21bc54e01496eedde01fb17b6f2e993806d29a40b8e14368bfd6f650a1f71c1de0365c9db1da0966e16a69798c0afd40bc1f3abaf2deae916a1a569e836b76da8257c6ea24b4f22cd66f41addf017bc3e5dd1972215e57bffd72561158519216dca9629f8526ce98b1d530243f465c61725b4e8138383eeda49b6ea113626be5fe490427c4a0c6d890b303d226dae173704a76c86a23f3a3166eef5d56edf460753e9fa14cbfae5d97dd8d941dbbae249c111fcd59054fc10fe35e1695c1d799f6863197e78f9fae7c757b12b777c29018d71073086f9bc5c61aa4868b51788f4cb2ad3f78f6e996c5aafc7361545ae180ce93826d0d106a9c6d08041c1d0170d5af4cd412355096952a7635cef33de39069e041fcf33f5d6308096b4a71a37d6aec043950a35221add37f518d47de6c03fab0b762be69486170884a37db55e38e1a3f53f79bc474d9ad710092d49821e4de4dcf5fafeb301a75e69363e613301b2d61ce4b7d7f8df987a3377567184f18e921879814fba47b604e39e8660a286f9e004495025b0017123a4b7b2c3a086a57f10ec76a80a6b7300aee2e49c62eae9713349ae5cbdf12cbf184d7b4cad6f139f747d5fc23ec31b9b89fa55a7409a49ab41f6ae1ca628df27e15f8dc9bbc3661727754d945dc2cd0b3724f4da0b83f63a09ce6e011c0f95dcc7728b710d4cde8c754cbe4026783ae5e602597d68f82dff6de2d81b43428e9857d480f0500456866b225557db043b89019fb2ed8dd2e6b5458615e684dfbbaa6d850046ca6efb85d21b4a64c817cd0a150b70ef8ab18f1c70a22ae75b3d7794f44d81fbacaaed134f2982d383d0a66d98a873fb889748f65b8a5a328dc114a00e2c511600ae44ae3dff96a88673e1a2c6c08b6522a8707deabb9002fa2b2ef618f9b5b33eaa64a4ff216c12de5809b41d1fe758b80af07dd1bd7f5e0655777e00fdc6b560818185ee5de9d888daf821852b19a51fec6e00d8af469a83e29a088b700f0a0141fa4e7c180052176f0d20c05b86229c7d72605f92a2460263866a64f8ebf889c54df75f3aab5f8af8719f17b2073a484fabd0c41a41b4b6811f697a0c4dfea96135ed8f3a59bd929bd54a28482e1626f11effac12294acf6f19934fb7cc54e0e5209470f2df053b2df2f2f9256e95c30d0ad747d1356774062976a8ea3541ddc0603ef06a06845ad0bb7a7303c5c2f0da6b6894a5f6a1e8861e44093fd56e5a26c8b0c4164c1a1f006026771721d7da24767b582a2eac7f9834cbd524588e8a26bf675d411cbbb30c7cf549b91f85a37868a3bf7ce54163fa0b88f99b24a3cf103993dc125f9edc3d7f280499e65012b5e3513750b99097d97a2d087282b993c725c2aa5a413c342eae2ceab1be6cbf29ae830cac72b12979bb72fb569a9d0c7c733c3e41b3bb2066b445f8e9896122e87afd3c98c814ca5117b31a47cb10710daa38699bf51d4084f8f20030cd0d6e8c8ac7c0dad9c98d9cca5eac5f99a238725d2dc6dac61068c80d70bef95a6afe1e02bfd506fee003d9a68f10f24a94e24771d90ba6afbccadd8f8323ca3ff7d3b2b58d6ac3b9690816a0b49c4677fc993898e73934fbde606b419d6877be8a697107140388a9ce1cfdd44d59c032e2b1fb28876dba8ccc9cb5bc092c1432ffe253676ae7b0ef20207e8cb6571a0fa1ecb7e7a29fc43534b1e298be2b87b5ffea821038adfc88ce9a43483c4c0b4a5090db950b0774ab13527ae783f76da3d16c932ef0a1e072242bda3b7a86446ea17eac6ac75f8ced7b8228f558fd85fa014568e98860bd99b16a38a7535db4fe992896d629a4af65ed2988116150e27163cf3a170ca99623d904866a393b3eb3b017c6a15350c023bf97bc8c244d2eb7fdc3697aaf1e06303f6fcf7be5f4340a2482307649b3746b4e8e1ae422b86e36ef9ab94bb7b012df0397dbb5129e815ecb52d1f68236a9cee634b53b3f15168141ac6c2aad164ac3f018d40ad951851054861d54bee1a188c4406f90e8d773af48723508146275401cfc4ddaba18d75376a94282f58ba5ec737339188d57c5622a8bdfcb572596ea293dba457dfe27ae337c00cd64fa4b36e7d02da313214a47f7cae8199071a3c5c44a0da048a84d77379260ca86664a860c1db7185c8c311c10b2f8f3a04a13849cb6605f4d50579be62d20576673f62e5fc9778271a455975a9a80fdbd0d8df044792da5dec21c57fdef846a72e88df468e769722cd60ee4adc93e77fc805987461f13d7610b90b6a34d3010e511e7c34de671dd0b066c787197a2cbae1661179195eacbd57b7ec97604e07ca4ab54defe3bacf369f343d90c58d9fe73f1778ea074a0c3bfe55374cf4222e7b0f49ddac68e799e9c42663cf6341f03ad0858343eecfc519460458cf5195647482ae8148bf6236ed784a4ac41d01c2dc3bb7f1788f666477cc089adfede7ba1af6bed3ef619317493ba7dadc9903aa087dd84256ed8877e694f8be2e14df58b891db696976185a97d924a69132e33332aa1ecdcbe2b1673fe810730770ece26a2f79770b0b76c322cf6204e6012fb16aa4aeda245b5960e5df1fd6f4cf207f3f1bc58b97b2e588cf053dad5633036d3a525392ee0aea0098d3b3758cab46e24d8664513dd30c3bf2f617ed4c3db88996c3cc840d78a8dd9d5c432cff2d89127a05bf4ec05d8b00e75e67999b0db65c742e436a3b6ce7d03b4a9681a025e0baf8caa9104828b4fabb082d7d667afb2f18724017b05e9395416b672b6f331e8bcd2d04f5768d9d6cb5a44a7826b4e48f9ad79719376f7cad791e479c4cd57ddfd3f032d4def3e9eee0f7ca72ea48cbfd5541682367079f1713c8628b12fe59f5ad64309922602af605caf1c74e7d7ef9c66f53dd6e08b825021540f23d9b59097c3a4b9f7cd5e31fe1ed1149a3f7aedada4d18bc83d8a3f228c5917900f177a3045cafe10336e8683c10e183208ce5d401c8eb28620f17095bd710971d37e691b9b42aea7e0464c8a7d8bdc5e1983c435906fbabf70b33786d75b06ad487e3273181419f3493408067d22d2578ce6dc716f2a9eeb26cb6a0eadeddbb9472d9f8fdf62ee4fe015e2f772ace2b4a6536203f3eb4f51c58668a255f3b0a87c5d7f11f20c5ae9021858e88d353b8932b0fba6b8c95b6dfef71573e0019c265f9012cc83c7eeb1f390aea1d157ea3ee6216eab9212cdb86debb42709e93cba6476891e1105bb2db5d43c4b4004610762aa3f2055334828a1277f5cc771081ed52a45ba79162f2c0c125956537780ddd971625863e74254aebea35c18884d7222f17e52491a279365b1597f4dc560e8464ce74e692e3bc3cd2c8156473d3d1e0c43555fb6b3e2a4a65c616a7f24dc824622896a8d7cf43632d7a79ef928aa40556d07aa1ae18fdb4796beca0b9b23e026827ce4c7ab7f7699a891aa23d67b34ac6aa1af26e9dcb1aa6a1eadc0da96925ad1226d46d02e23fad0dd724c9c1c3ac04a08bd8e7b2624394b0765a2cfe1b353e3809ba0aca14f6ceee682aa76d517c09ce5b751f36c0e1bdc1c48a04fc8ae9265eb053fcc0f402a1ddf7973b8727e32166b969aec0b67781194213ee90fb7df72e9e41b27dc778f33959d428d6a90cc2d7c2931a2b9ff9054b681270f0f7b1e96b0cdd51c469a7e149af092e5629a67f3956729419499b99c753e0a9ff79c67beb522c1065bc1c0629eb1b71a04bba953100d7741c5c836156f0fa392a3ddb2d70ee0083afc22e50e4d0c2eec40c4b16b31c6c90ec8c6bbe10f80b0bd093acb20398fdb05c1f174b517c2b77d2208dfece0131b8565778abc1e0ea4cf4e43cbeff98f18d9de42e1174bc4c055f90ae73d56a8ea3f750cd526aba98ce1a026ba52e48c1c38f0bed5fd2a748b8595e6bd59d8195189cafa9b04565133e9b0f8d98c240c8a2f31eb3c36b621d24eeaf673e8e4b094283e4ad3e38bd9a3483dd3d560e325b7772e7a39493c824d0820c54e48eab516a253a0816458bd7fd8db093dfe8666f91d7309941b3212213535b6ac4af2534b52e6893b0d8510467b163d02123738a21943bacf563d23096e1209750eed09b737b31a25f1a070a2f8850eea0d3fd58d900b4cf87732ce3c29abec54acdeb1cbb5bac7dc9c4dd3e4a186dfaa223978afe59b2129e015c7be58432f6bf37e01e9c2c503f18cbf41c99f284f5e45a40b0d315ae57890e49513ee24a5707356e58c9f52733d87f0b2df1ac43c692f44ad4d52add0dc03e719907df5e6e14b71383dcf156a25dc61dbabb04dcddfe148ef8e41fb738fa61cf458aeb7c32b7956632088b908e0bdf85628ebd1c115955f3f648cc424cc873854192dc2b3ae3db694ed27f6f0e8d3fe59f29da3e973e364745ed79fbc88f804efdbeb928018189a11a63e8da3bc0908209c1869db6b61e2b8e0d64dd56b4e7fc18c0099c9d74e87512596d854524f71ba4744e725fa193dd1d4f57c55d9ed86d2dc327e4163a83cb2750d1fe62cb3a9c6051f827a450b32e96b9e419352061621acb23675dc3f12585de05e591d09c5a7e11fae3e71036ecb524af10c1332ef7b41bd1a5050749512001d1d8e2691fc9f53f743783e05ab8a292baa097b5a9bdc905d27378b9a631cace756f7bf947ba93c6b3b1fb78171271e0986cf7a2b83d1809582e49aaaeb23afa306812164768e45f2dc6dbdc17812a56eccd560d889862eafdfc60c2ebad367b7632e9fa4e5d2b5279992c70ebe7d9121b82a334740bb6fadd9d5bbec354ae50ca33447bfb6ae2b9a0d3fb81b6728af90860e3305474ba2be1d6fc4a1a2690ab32ac99dc0fbc23a1e75ce03a46a64bf234198256aa10bc80507eb18139cb3246a0470c1b7fc2f8c78b9b0b13239dff040a7fcc40615fb34f958d3e125ba68eb383541814a276b112c347060ecd34190a0bdfe7efde25d4e89392a880dce81a9b4685b9bbd24e13192d3b7ff7dc699fc32c77595bafcf05728bae650e6d658580cf8b41f03833388c2f5305b0a2ff46d24852a6a22980ff751f8ad9db9d2399f088685ed07902479fd586d25205cefd6e35593027fc6669ed78df190333218338bd242af597371dc688e0c7b773f6c0da8510b45b5d0a678fa1e70c6a42a482961b16f129ade23d1f40a439e9150bca796f77727000ae818312688b3fa3fbe14e914775954aaa34cf0f6c4bc79c0967c5765a016b01d5b9425f27418c53349c21307733f4c31a70e95d2bbce6e7f7c531a01d502e38add4c592aa5746d7f2f6277c3243906a13e1811f493f067a8cf657312de07889537790116b21136d9f7e0215dc5eaddfaad91cec230e5833643002b101968a896932a88ddd47e4008ca9be9fcaae014dee3d1aadfc237d74e752e571392873b77e4ff442e0a9e6f2fe3d868d800419ad0e166e11205dfdcbcb004d15491136d6c0bf5ebc830049fcaefd9c3f075a707b929bc1669a0f68ad8249e9005048610f66abc18cb07357dcb29a2c4db4edfa17035266331b56eacc84a6df762b44b78b23fe5a7c54d7bb85b9c0bfc6301679f0fb905b1437aa4f63b189e6c3385192558ade0c5deb2d37d1ecb9ce0d8f1a68418a987a1f181ff31f7e2a784d5ea4942809ba6dd75f095f9db590d82df91392936c6d1689b70ea6eead6dc7138212dd784a0901092c069dbc0e1430d8eeb4fabc7ab609f811d98f5128418710630ac149ef96242fb04f5eb9bcf424383d11d9cfbc820b34e639467b7cef281f80d4a5c53d2698d0079a68c47f4a2095dd12182c4485f012fa6dd5b12d1310089608ede9541e51459ede4cf13990b5b8cb9c4f7a02640ada52a80c532385a05aca60810563e5d4074ea21531988ba46168b03d466cbbec25e21ca2eedc10bc77a7cb8cf6a82ac40fd8d9a02d221c4011bf6482bd5c5f3f5172de41ad03ec21619be2108d946a2e5197ce4decf496492f9e74d63b39fdf2a6f17a9541b993ff52590aeb3a1f234134b64dee61d3871a3536962ee9313ac54eb147060a336dfa42f1cd33c91360b3ce17729a395fee8ecc074a3ff49b4a2465e252e8e702987bb0deffb8c99e35566ef1de5806a3ed2c587e69dee2092da9226d5461c2b7e46735cbc56e9c7ada36e4402b7888f6211fc70088c57d4f202c645b3c14cd5390648d57d5009bcdbf986bbb565c1391078cc2690b6365ee81f9e242e8c23f031c5e4c2367e9fb64896294f682de970d7fb54986e4509e1a6fb8c037f96cf0d2c5f306f9fecceb46b020f4bb5b60c46b642ec45102a0a19a6010092bc0214e4546044e25fef746ba66f6c5733b68539db9796d84df21070dec688077c9d802b0d011f71e1430ad3e2b69cbbfc78977be608855084b9b78733cb084aa8db20ae2cd6290f27d0a5cda2451399f528613a43c0c1d7d6df8388cd5c995137243e5306d94a4dcabc45060cbb195e4de0ebd53c713577aae56369173445ea926207c5cce3a2f96352804b28c028988fcaeca036fd97ec66cde3694b0f99d5b50691105c6a192b3718b77744bd3d2a8f4d04b5b3dca8b7119eb52d9ae2a69881e1065745868d82d9e58a540832ccc3ca4fddf1beca90456ac774bb336d763d12200f46e5612c7c812b10e71188ae461ea6d0883780b9ea8ff7eedd523b7cd70888fedc7a5a793db090308546b3264b085c4778df859789771c9cf63bdf47340af66e995a2849c88e77bb0bf28219e7e1234c0d75480bc257e88c026eef06bd931f5172cbe860c7c32b72970aad8f006bf7cdc17e75806b5a3acc645c3674a3df9cec143e49df9810935f76ff72d816a876e2ccc942a0b06286e62b9dbbe8d5f186ab04688c25ce98098224fc28cd17316f1eefe9b4b44a04120821d0fc7c52e938f5edc6fed8fe4b57638077ac348a888287d69f023cf638e2dce1bd24f79763b731c4eac345cc9766d95a3a576049f2d30ffaa97511a70927b5ff7d06546705860faec06f343b82d8669ab38d31cad3a6d3d57bb4dbfe9d96386e9f69dcd3cda0b5cfd43142f57d4e708caa9a31ffca455df74a3e8fb24cfa9b4189064ffd373f27b4709cef645277498e3b9997ede78aa046c2d80ac7a43017b9a002bce888202e22ed859205155a0c90333becd46b4e264f04d2f05451266427926c10a8aec7382eb71565babc37ad621ce0b7aa54698a97052d41e3eb8258dac7d5b753e76697e8e05288bc1d9b7151acce7ab0dd5e1d615dc6953fe516c86f149a2af6cc430d1a26226e96526f1ec17d18d54d114d1ef98a297269e7f784ef9072c6091e1f44fa3b08acf33b7175c0e6d9ad1cec11d004fc47f2a529952d977de2f88469d8df050d5e71e658f4f66d7c9e2fe8c41d51e99687a91acdad2c7c4d58f59e95313b7387e621fd2ccf6e68096f2c48f46ea3665ebff7247cb7f205c9e7ad7e99cd46b53c46e7a94ed84cf8b2da6a96aab55712cab1033f33f112480d48bf156957a0c66f65dd2e09d103410584b12aaa8fee1a95e7a2a7beee47f82cb21a97a3241b7c25869844d3bafe86a8571dd32f1d0a1946feedf2597e99a8f0910100bcbe1e3430b7b7d6f4350379bff146a4f23d54062de3aa701aae6e40565de098361c270616d6bb1e0455e196e25db2969f3bb43b0b29656566620dbe72edc25d880d1e255f625d3c198ed4cba5eab9579f5caf61bb268ded51107e49342401f08bb5c8284129aa941664325a10bcebe1fdfae4bdb78bbb6f1494c26a85564045ea242170f091b0015c317717a61d11707036eb49fa04a6c16fce90b839da93f1919a2ffaef67c85488bebf8a28621545f78926c9648749103f06033c5fe6d22f229465f5dc8e5550d17f3b23d5f2338ce38a9e6a99136f20d1e1035eb109a475b6576ba6ffe6a759020e9f89342b7486693a80e6b675c5cbfbe18899fcce7def823665fa3a7577ade70b1089c335dd35b0a27be5a86c05cc3fa1a67c65ad6263d84708749d3108c7199a19d96216062b606fa215df1fdc11902b871740a4ed7133e1b29854769d96595c8b46db193b59b4f6bb47de288850e20f7ec86a54b9fdc3e932afa2b38307666d80888a8fb9922ab1a684a758119f48fae52e04d6618cad1ce17d455f2bb9ae2ca4a616604ba5f620009d740f1a3b7db04c95feda181fdbae677e404e17edeb95f3cdc58a0142085e7bd010297f56440e8f1564872ed59475b0ad0a85c6323c61736c5d305df8d63165a6f1898dedec7ff423ccf4663ab1d1718ea7d195ec982f1a52ddc1df417e9dca710bbb00f174760ee134fec3f0bc36f2d44bcf9dcbe46344ee2446026a1aeda6ae2367d5c77864887bd512200c6cb9cde3140250e9a5cfda76bddf0ab0a8d801075c57b0e521f9de423d264b0aa010974d0fe2811b6bf0623c225af7932daadcd10da98b97f613aa408a4663020ed16c72f915044bb2b1d55e7ae34b18b6a93481cff80b84a47a3b3cca6dad1a6aed2b30f317fd9054a0cef22fc822317c815ae752d26099a41e1d5b4062df5618375cd18ff355df36fb97f4d1767f08f2814906ec6baec2d400a24aacd2dad446942606ec9e870d0b75fea25ae5e33690acc6b080493405ef33ad7f952ec5a72e898f36833d17de8da234ec7fbf441ffe219248ef92585bdc81789fc7a2c5775ce83356b8282ac89dfac0b73141956080c51e7f0e47308a330e7777d249975101e2c511001c46f6bc9d83f5644d1be66c5451390815d7d71f4338357880a6ce5e38aba2e4a91a1d4a9848c4181cb112462f843b8673f48c81442ab6d4eb47f98f1f44633b0230564ebc1be1807bd43a2d328cb07ec229c0798fd1aeff226dcb5dda4f85e2721d0a3ac18f0323dafd3f7078f181ca1713658144bd3cca30840dc0df42ebe353663237eff23c41f6fe078a8eea16795c71fc99d6f04e1d346fc87f39116f22392d47cd8bf5b5900f40d7b4d73f9b8be16f61c8c0dcea0f0e46719e45d51adc42e3d616d67580cf69474d54c077a3abc3f650f2e9477811737610044c690b2b6e52d7cb2af2c28e755bfcc892754df06b6fd0c98c2039b53c32dd282e941a3dae147624776f4f84819ba5273481c3871ea44ff5b6126402ebabae23c407bef1eadbded5fa5e84b4eb865e886e7b86d81861b56e2df295e9c67fa6cca19eb394320f76e5c0fec31ec4b81f390aca83e3016de4d29cd360eba880a62e95f2d5652a65b0b9825c74c5a0f31395741e9c65eeaec9cc145fc29907e92fd8e9234c45bd8f96cbaeb90a3f164f1356555a151913211df50651d781ca57061b1602caa5dcf1451e3c2198c638b5154c583a80dfcc5b40da3622bafc885209e00d37127a50c882238297276a39a127e4c1b1a6785d19578423000d12329e948591568b7cac293e8ae4b4ee8474f3db3e71968128bccf519840cb62ebf11e44e124a57fdab326c5890ed8b4ce81e355e8612d48aefe3a41309b2a0ab581ac4b9c1fb43f1bdff77b6021dfc177eb400ae52a318145babd9f5e809d0be947adedda6f3db3e33aa2cf7b57f3cf66190bdc1646f5d2309f728ce978dc8ce434e1d23ac851437070322f10d0364438c309565878ea5b487aec02c9d7533f7bb8bd8e30a82521cee6ee1a51c1aa2098a499fed623d86e0f9ef2e4b79cf941799b062e4aec7277403b523653beadd319272558d7f34f6d9ac09c2c283a41367515105a9d7d341f4616bb774b388afcdb94873fd6c2f46dad85aea2a843f230585a7d4ac3b37171c923da5298381b672c506d9bd6aa9f52f3d2878f4b3fb1af5ef2111642b9c3ff2164ae5c92f1735e93b42a0abd5332a1c04ba2f782accb2a4d7444e8d30e3e187bca12853adf036fbd986b5c419a65283409f61bd24a3f0554f6085aa705b61d2008069c587142480592065ed7802fa5b75554e37cdefe1c87b20bd7aada0e0f7db8bef7300e06f3ff5cea451f65bfdf573833fc7e3d29c1dcbfcc4d86fc7ea88d3a8aa55e107be186e7e226a28f388b5c9f2e31706646019a82b67f9e0aadfb5b1ed004f4983bcc8f91dc69cce35d01e883de37025489e8387a2d7f038dc604000132549efb572598e416e7f3bddac8b5676f5396f0581a883dfd001f69a1f432fc54d07d1218af93f019a004a66efa235fc4f9aa4973f9a6f9071a6ab182e3cbe5517d337a54af0aa3060d1a65df5194dff5ccf6575360a41d7e7b469fcb3f14aeb4fee34c74cd350c852b049924e863af8980c5423c3ece70096dd521c9d57dbf67be491f64d72a1c5cacb8636c18dc9a4d87424bcf4edf3888a7f27d828550d61c1725c6974f88a3d63a2fce56388d381eb0e5f48c0cca4b60921d985c0778e86ed8582a091ac43091b96c4998061b39492bfb1151ca03ae9169a7cb27ad0218113f5f584da7ee597d373f977445e364d205f0b7d9a8b0bc62bc8ab8e33c6a85ed528b31e13a267f162779357df23b0335bbba5aabde26b3804726d7919ea0f480879734626a053f7edccdcf0cb8a253d4181a35f777b30eadc9c91b4ad99e5059baef7e9e6b7f6b7cf15fd0f627556aeda19f42f8914120c3d437576047cace75c362a81b537c5f8cedbc7f44359c4099ffa86a872aa349fe2b73fb9f014063db6e697d7abd32818dd011e1c6059b4168269eefd2f9a426bb7277279485c6ceafdc28f9adf932bda0e48027edc9fc922d58125236334bf1bd965a4d48d62bd04ee4b3016cf3e45906610e0fde1df7e8e7443fbbe53e74b3cc28a56151ee0fb6e2ed82bb36e3951c14d41bbf2f5d5292f1721fd59d4cc842649d6ba16ee372d43c0dfced067d2e32b9048067daaf291b388cba335044a9adf1dc513a3249d4805e5faaa35747784cf999bdc4f211ac39e712bcbc748e97e6a26d3cd049ade2de159688c82939db9d52b086bda25a9ddfd2163e2192cae68f27db8f1c62332ca7881b2da9330781034e99a94c55a19ad0701309675fde373050fe45a3075befdeb57bb15fac0268ba880794b5fdfa8865e59eaf3a5a8bb13c2132806d4cb9586ee7af55714e5dc60000fc9d624508ad6d61643e3ffd8035244253c7c12fa0dfaf569a85eddf8e40e74a72dd9f36608cef0302fd22a5540e5033b1e3f0581014dd9c50863b091b136b79e51727b679aedadf6caf07b1755814c124e86b551a3fb0036e23a0feae5d381abc31b92bbc02d3296ee6e51694f63fab1abd2014a2f602cef2ab4450943d46525d81875d42408a95a6b33c83ac043d9140cb949a837425661ea7ce43174c9f266e4c872116fe0a6b108ffdb0581b3b197d5ba2692dd12c236e455a6bf361dd0a0a56c329c98623d34bd0e39c841e8e2523035bd5cf5f09208d43b60ac0fb6b652f8ee8281eea2f96d622da4913a63a9580417b3e5a8ae66a621ee9081802025d2a065be3473862a24049d1170f23a3c8d3075544b05d9084720e92f842b3b9599a383dc43a60fde95dff8cb3a1855885d9b8cfe9289da0cbbcd7d8ee21688fe4249d8516a970742ba55a7de0781ef32ab305eaca23f46d15f42c638315a8ad52918e49cf4974304e956b73c4e70f665e1916d4a7fe942a23e4158a79d7a646fe3b63b71a1e92ffe018dbd0d09ee08c4a94e7fe19b57220ebae643d72f2bd35f76b55901e1903f8c1da7c0fa2e952400a4e679478afca54d8f820126f98b5e4c588e546f55bbb06675665a3da0e46bba0e1ce0b3fc6ea5d02f41490b57c1a17ed18749bb7428b001aeea3a671a0e4854f23c6af28b8e5ba82f4d9a5fe86797f4ff35bf50a0fda94fad289fda8afbbb690e796ba564f6daecc75b41e82521dc66c78b3320cf27a468ad6ea4cbde08c1901707cf6549ed6456bd51421fdd98255a6dfdcbc12b9d51725c10507b2100816200109e5c8da0da1afa5855fafff079216c98999c51895e24a2048c4c204cd12f7c586f798e07f00438445d52d6a8e58bba6003c65c2c2b0af2bf526d60bd3736e04b9f9c9c1c7b2aa1d0c044c319eb04a6a9140edc05a2db0a5bc28df7084ec00e6523acbcca98d1af766e96cc3c15572529f6657db8efe949955c1d7b67af44371149e682df42a6226c2373b3b472d7ab64d8bd8edab6ae0c93a6cd245ab29fddbb035c3939ae53315882b5f8655d3fada08bb9c03abf63b4ecb86d85abba6fde3a36179593b0c935f55e56ac503e8c27bfaab88ffa79263e743d34f64b69c7270a9da7f5077c54ddbda9acd68ff06209fa80f5c48d367407a3d44df8633ce0bbc4104a7d644d313750641484927a9b5b6b852ffb4b0a75a1124340a67998d572a051f2d673b20574cafb4ec632cd9f90b92734a632966974e284817b6ae393a10c437711eef18da918ff8a96c9a18c8327c6f9ab05274ac188a90c65b446995adae1118ddfad9dcbbbcbeee4e51beeb0e1e4a1483e2a1920f8ad87532b0feca895d0fb00a896c9e5cd2ac32a7920f302d23a15fa9b8b4ed0565cdead89275d8be332612fa7a7a3ea454e736fdac4d58ac064963e2c319e3125369d0d5d8b2a502384924b10a23dd3afa246003293d0ff604e714255dd5c321c1931b54ea0079c3d1773994d075c1c34569080c3a0ab9ff5e47eccf004e667224d9a2e2493ed1fec549ec4f7eb4940afd72fa69f1f565dcbdda9cc47043bc4c43f694d0aa51e6d58c4d39bd33e0c1e32c994cf3d6a8a226af4bd074e3aec268d256632a99d11f11d231bc789043ad1eb2d22f56cc3ea072024838fc2abaee4ab39881cbc357ffe65d8d6679a0dda76312e96a863d2fc5edf9e068fd9b37b1470cec885aac1cc01bd5f03ddbb97892f608e4c400cb127f6db574893e5d099566ef767a93c6c6172bbb6a747c9cc050c9396c98e11bad2006f3017327997207998a6571422121d69066606ee03a109e0b3b5e7c2fc87c6a5944d5fb133c14d0ca85630090aad6865d4116c03baddaebbafac2b02aae6b97057675dd4556bbc6fef558b90c91e640f0e96f1e1390ad09ae3f568f56442d6181fed21b556819e8b1b818e354c05cce298fd46591c49b0f2298f3451772f16f5b65a90f84c641842225bd2f501be6173677ba4e7ebf4a5a5c1f443ef1e5ed7b6cbc4883e436666f7e4a01f628153fa687612af1c4430de28d183aad9fb271847ba410ffaa05a809d2286aaa1accd1c2a9b84ce37320c26920bd8c8ff5800304a1eee5bd1c1d30973ba042ca768b053279465f71ecd01c0e6ed0fcff1df4e000fbbfe17da279897081a059cfda5d5df7e5ab2f700130c2bf04417420897e67100969bff375eda34f1f0d523f3d36c7f373ee3cc8121ac949d371447bd00ff5687f4d1f59762b199f68e0efcf263c4e608a7bc4ff38db2270e8ff0e44cdd8a9a7ed0f0dca92666370649e6774aeeaa30cb115053d58ddb23b5293b11aeec9793b124129992ee4325418c546954e7a22226e08a06517a562b540b823e0a2e6a1e0c6c7b62d57d028d3968f9712e4320fd7c378f9475523f551ba28686ec8636ac1d52e0a0a566307bb8c27ed1a385003740da4152c43dd08f3fa23ba4ddf21441f288629c54417be6211b43c9f2ed9f6bce29e45cfbc183e354077403b74ec7d2520588885d4814c64dbfff70edde491d9bdf29e7220e1c5d350a907f700fb811a395492bc6d74b57477cffd888e8217eb1b98f2c5ec1dcc0c90333d7c7ba1e73e3100a0cb6507e4c37447d696307f7139cc201f594a17fd18accbee3e5f0ff9cf92447360815fc97b79c98b2e9176d50121b51c8066a9c6349679f6cd82661f82129b4903dc884e4c05e7483433dea82f3a34b9e63a99f2fc9e37a9e6eba149bcee0abbd510085d310c80d74cba5896706254a0bc4387bc88f7438ab2c0adb5c020fd7f11a6f11cdaa57a02c65240b3bbdb151c6c785018f012bb3f218a45a031d6a9ed28abbdb22263b4629ca3a4f422d8d1f8d458cbffd176e0f24a1bebd851d2ac3d817708f7eaaffd09d1bbd8516d489eced089f0fee1658db3c6259e66f5c4a6029b3ee5883848c889bf7b312628db8e8598ea8181a6205541adebc6f6c5f5f68ccb5e434781cffa9c1606f4bf33804fee4102ab7776e5f44d864046b76144f09767a497da023d55edbd8074095abe125f0b0472785d0ce8fa255ea7656e784efab2f81ace87ff198107df0e9d5952875138376bd2c986ee961313390139070dd244824e9ed3bc9a9c5b0184e456bdf98603423401e13543a3af06635c03d7cc2820407b3ff52b72e6d242f473ce3cb9efd935c67fc7883e2a9b51484466e1c431a4345fdd5a0ebcd04955fda411325ab701bba4d64a5d115268052b725e1accf01aed897454f5c5069d4e83e0059785d28dd32260dd88e19f27228ddaae4fb3b390169297d3a49a41b11de0e4049e926d7a4cb732b35576e9bdf8696ce92ada7e1b388bc85a9be7c3354cbb6de780a236180390e09153ae07616203290e13ede8c37d517963b9634b882da664bee4060f9d3a04613a052cff60cfd2af544bffa5beb2f4dccd25da7cbd5dc01b48b21d2c004123f4e4b380191b297eac6e6045398634f7cb385adcb0d85215eb1c7ffc501555b9809fa9806a2311e081960603d24fdea978c19d2ee30b7c9f2cbce9874e688b9d93353f15b64e9ddd858a75eebe53d06feca79773c131e46a5de2d313f7ac164e06d9e8d52dfd3db21f5d72094dc6d23b8024b6af0507f37c2d1296bfef31089283e324521489f527b5afe759a7412ad428069549a9fde64d8c0e9e6005de84f13a327c376e690ad61f9408db4070f85b7943f1820f22c7475586206400a32ae0496e9781a6ea019fde6c0c9b2740f13994eb8aae1b88b9c0dc35bb6fd7f9fbdd3b95d9e82d017d03963d98a64b065edf2eecb17c4519ec24053343bda099a5198be9c3cdc1fc3d84bb121e79b4d975b283788e666900ee52e0dbb615202295b6f39539cc4ad2346cd19e878b2891df6cb1b6df1f4ea44edcd2ca39edfc67d9fb91b4e5bdaed37fb3c55c754e829efef71519d0b71e015556d6d49321605318725e1f4724f8cd2d05fa34b3d85dbd469578f0c72f5f72a4a92ca3492b31ab28643a3e264618206a0df0af104d15ad0909ec9b43232c1d87db0d714807bcccd16350648c0ca04a6826eece9402418a76090aa4fdc4f3a0499bb31be0b47b11fe3e12e3903cc6e438a2f6b375460ec4b056f300a00c934601a9e14df70a24cc3871064079b209db3070c51c3e3a2f51a4dd3be5fe7f40557388d2857ff5ff2e7d953d13a87a2d30b0411a84fad73b6c72dee789b0286e800263c1d9441159e746d66d53f2ac81e47034bbec9091be55bfc5ebc14e814a60aaebcec25808a0d87229f6d56a7979792b23a27be21dbe5b1186db2bbff47c8339599c385daa1d42ee25530a18aa1602688426bcf79f41b4c94d58dda72943f5b62f4856f2f12e09191c46abedcc11973d2a373e244cbd0177308482bbf830c1557f2766584c18253427717cac195ddf46d58b06c09b90d6a8d2c919cc7b20b6b282967c3a734acb1338a5aa5398368f0c23cca49a282171450f3a7ae7347a39ba1538a77dee248300a4a7a43926c6f4dc9e8a9b15458018247ceb0de98f038eaea9cfc1f0e5b211001e07239ab90a3cacebad723fc012b7080e3971909519101d449c729b0c39e68e46097224ae694260332e304371c71d6ce2a5d2e9963e64728dc2139f562e9a40f595240bd3824581ae5f0ba7d6baf220d8624fd78d3d968c8ede7988ce2a044c8350d4c06f783e2227d302bada99a4842c5feaa8ed36e4fc322fc1ebe6d99264c8a1523f6a339b2d6bd9726e22579ce84f12623dfe61f8103d6da31fa91c8de73ae204d806c45d2f43c83b410d8cc30f0f24ba5a6d56abfff2906bc597e95a3222f8c5e27b083a646125da8f46ecfd4ada6dd0cb4bff1809a2a26790f586770e193549db34a4d6085eda2d8a8844a6143135c88f7248516b3ba3920292bfaa01cfe47d447ccb015808b40dde591538b3685bbdaefd3b2c9ed30cb6e1bd3880ca020940e70f253995965baa6ed349539c7e0929ddfd110db52a694ccbc9e43f6a9822492b976a9e89484da7c88994cae8966d4072a13a39f15f8a55618f669ce41bcdb82a119f282338da36239c6f22b91ff54247540a5bfc53d98e29acbdc9c427a629bf589417ef6520a237940c52e0dc4fc9593d1e6108c6e1a4293cceb2445cde4647730968a8a256106dd73dbae83bc545ff978a52d28208c85533e5dc43b681808eca325ffd8a2cc0cf9199c7bedb7e0b4026b1bcc82d613f2c31001188a4c87371af30421693f6d1165529b76b047f53160f1af4b3bb218bae7dffaf2241f8350e0e5e221587662a1256422a59564f0061b3b77e65a82c5dc8da9c7a210c5bde1774c35cf7861c94c761e5d2d705f9f753e22b2748080028619396800e4de42f514e58601e98f9614ce48280ed253661ed49f7ac7c252b3270a73b90c2299153eac8350c8645198c416c4e3120656db4421eba146cbcce8e018114e466f56c066c6cdfe30333201737bd68e0c29edad4e28a063c924498298da093f9e57ae3450566d7a608225207ade0f198765ddee10b9e6168ad5ecbbbf5dc70798b280afe4c957cb2dd36846e41f17cb8245b52f2ee1831a12891c42dfb3e6501964b6c1c4c8a035ba83d11cd634ce8d0cf3ab0dcadec10a8333e1583c34f816a013a712629e3e2c831342deb9de1048776190919fda444c0b3f742f12824cc7f5acabb28cad1ff56198722e6b0bb75d06445601969a3805985ab797028fea3ffea7ffa6f3a880e95930e0d83f8425760d055e2154c45933c44bc98218f3a678eba6bc00ff55938c35bfdb91d601cbe85082855738fbb427dce7b18bc5946a46464bbccfad09e9d85d91b7c4d082bae0c2949143c982c788a7f828b68b6b47766b3c6dc21c8514cb088ea56f894ee33c096078dd0b3ae9e083d6ee7dea829e20a38d307628cb19fa253a3e6287bebd0a8226eea23d17bb406dbea9a51647e2e24c755ec74dcc553374e7e85c3ab45e826251cdcf41e4ba7f98a29d56ad23a59b8297b8865f51f0826fbc1c83c023dcd3b9ba85f471f64ac95108830787715cfa6d5068bcb9d7f86bc4646daae5dcd965bfffcf52cc8d40aaaf50c0c2eaa2b18c30f2e31f9a84d2b810c96ef2942d7e363546b12f735f32343c0a9755a2e2372f973f8e0cefcd91de83cabb72796a6983fc29d4e59625b9d72cda8ed9d4f81aa08d9dd6dcb0402d3027b084bd693c033452205eea3a0a95197ace95c1737191f54505ea7055b8d8e4977a2205efa350f6b6c4bb26c239b3251158d607e671d774800d77f4a47518df3afd9b8bc77f5bf6bd4f9faa04932f61691a2a770916eae879d75e3728f5a580aa588e26d17d75c3884a6776e03ede531143240f3ba716a770c182d47a150097b88a46af6183c0b2d683c1d1a55290db2d66e240eb67c0f49a48dc1011e758eaeeeb4227b366e0da8179239bcca8570e9b11e753c4a53381b64f2e0a819b67f8e2f55a244c33d06213946d69601b55766dbd1b4b76ad3509643568b31102208a952af1c17f64a9b53a4753cb86755272e07c14c42329cb60be0e8923a7b40affca6b569a18545f3deac2e2cad214bcfe0d2ef746f6454008c30119375e9d574773a7b193fdb3e5339807aa27165a7d1e22bd4ec11c123b3c417424e94babf97e1e8ed1508958a4235295a7f940ccb6b83773527a0e73a0cdac517c39d1184f27f0a81e070a0dccc46edf89c342ee6dfad1d81cfd02adbd4837f8016dd373eeaa5046b92e80620be7712169aa3c1d88c5240baf2b1feea601119826728a578dd6df3e874ea2f2ff0b1b686411fbf0f1527fb863107881584da56dda8879b66dc4cb8c1b6648859ecbcc4024382c2f461a5212cfba1e677e3878c0a476b22f078ff19707a9f83254acc46c08509df3ceb900f0a5a95b3badd31f448236c80d7ae00b58447ec23ed26bc842c6503771ca4d685a50b2015d46eded7d8bf8d0da9b2b1570a4150cdca62e4720a667e87a2861b83577b844ce81f9401dd00ef0e07088d49c1f93d1007d4220de8c7cdbc509bff37a251f9943d8a1f01c98f4a3525d7d40e78a24bd2736e26b7a0f5f0058a5eb82c136d0ebf58346de49a1d532eeecc15cf6769231e780e80e0cfe1d148b7bb5e04f5261b05bc686b1d9ebe8cfab7846a537911cea29f4b8191cff6755e8955b569869546c741158222d65280e31174f3bf78222223b333e24297c8ef62d8763419fcc9fd015c51d1446d62aa4f396810f9da4581bf860eeba00240a22b1697bf24bc4d06d3f88539854bfbae1dfd2891e58a53350f477fd74b3c6cec39bcde3d897c89042935f81211fa3d042d2e601b612ab0396492cd08fa9b358f0afd7cd55060bf62ce27c060c30017698af4dc790adc1c91fb1f188251378d839a378db35ff453006f04840f924b74792227599f20bfa5386f068f5d74a0d8c325cc3fd7b2b956119916ae3605bf2595428710decd13c2cf3839cce69f2da462551d569370c649202ea240b5cb0c0bf8661982a68899ea032b4f2ef398dc8003992a8fb48b81c1273907d1b4db0844051e779f687aafd8f3a7409d3db1f2ad9dcd3867f2c6a4b3f9ffd18aac0fa7ea2c3ce25995ea2a40583a7a713773e1d1061fec44bba404dd8b78450eaee4ff9805808a0aee7a99b6ef3a31e4fdf9277428f23e653e2939bc30e5b76f764249de2b970c51c1fe1b39e48ea05e865a818d60f0fd2cafa6114efc06ac539827665cb485c5d6fb169273b6b9cc8f6219ec661d59fa2698d5591686509e72d9639328c22ce3c8d90160e084a1a2d457c0ebb274f143ae1d916b14683b3a5095f0addd62e7922d5e0f140693fd33e559ebeb0f61f857e437046b2aa7dfdedf057677396a1b528fb3ba1f52d391971431ec7ce57a713f8994a3eab0c18f09a86d1d5034aa8d92e7722ffddf82be5699a16d7e2f330aadad0d1ab6509eec5ea9c8e641e9fcc21a63a3c037ec26271ea11b97ec82c89dcff78ca6b2651aaed087e34e303fa7b0a7d5a30d65da503daee1428e563431749139688c03de5a20e0a72525eb244a5387c6589d4aa1d6027b73b759c8aa364a25f3033f79bf3baf329e59361b465280ab6e8ed335655384e1b728745d183eaf91111b1641342e49652a69452be07bb07c10733300a8040151cbd07e2d52888ca005041ea5f9cf4618c1ef302b081131b85da2f66d9db1cc930bb792848edcd7acf14998f25c5ece7802f056ca8e0eeeebfbcbbef3b77eedcb9ee1e1dba7bec6e6f6777f7f6962eeff6ce5690daddb97327516b91daf7197d2f7b9794d3e5dacf60ef33ba2b37776f3da4ef315131db478f5df251e56d5298fccd7bbfd136e77d7d4fa377de9b2e2926fffe7b6d7d74bcbbbb69ab394fb9d6374b758666279fabe2c36ff33aa4ae5763cb7fee300b8ac9bfcf4ad0914de1dccb18df81e8d4c7bd29a6ef8d7712292b984496b4cb7eb7eeebbef7507c92d4b3b83403af428a430c13ef0aa5261bddddcccc73ce1921cda1338de0225ddf3e3ce9079097c48f9febe9c054b3cc4ed6261c522ef7594fcc6ebefb4e9d1c60ba20b50ddfe5b9e9e7e4dc8f5182d9c35a9afd48ccac8589f0636666666666c88f99bbc70498d99d88397849479254e07ffcde7bafdfeb7ffd31bcf71e7cefbdc73447ff04315f56705d8f0a395e78ef45dd293bd0a0529134655ffeeb9bd4f65178619fa98fed47fc6540fc18f629d0dc0f7fee98f9f947ef306d6e6ecefe878f5ef99fbd3044f341811f1ba98e9e251f6bf4bb2f2be60e058028f598ed9d04263b1c6112c30412471089396a811524a000d1c5891f8eec941d7690a205a9edc9b0487afc64d02033adb9f7f0f9f4ef74827ffad367ffd33dfe74722dcefb1e9b8e1dcd3d1f15fe5399ede89d2c7befbd7d4f85293a58513beefd2efdd04a5889a9f7bee377fd27baef254a668b73dae43eeaf4c290daf487eb694ec793272af4cebeac98dd26753d7547ef4ca077ba293a38919b6506ae3300e2d57f867eefe9e4640f7e67b49b51f9bb1ab56b60e5ef64564a795a9c56b1e0551ecd6e953ab0376c3c04de8e16569c96a7a7b7caccbcbe717c63c6d6e0876ca32649a6b22a2a8931c6244290ea34c71e73a4b5d0558c628c31ae52aaa51d3ced8ddd1a90ca8e096276ab2481262a43606fece01eebd3ec2a06ccc0d51f88d717779fc6bf836fc0adb1cfbd59ddefb60948039aef9d978e6d96324987fb37e7f46974f01380bf7d505907739bc3dbb4dba556d25cf58063bc4d298041c3e48734cbdee3c7cc327bcf8c921cf5b28cf4d125b4124c7e3732a747f9164a85ff34a8c2f120fc07dfeeee6e0ac27d4f48295f7421b758faa96f68c8778797dcdddd9fb3a4b47ee1c1849172942447499224e1a2e5e1244cc443429687877aac5c9a4c4a1586d0a4d23c91b295c6e9573ac27c4a499224f121976bce21fee12e971bc52d52bbfdbaf70101d3a42861c491808047529240ea7d4f7324c430c25c9ac9b3b1f7de0ea9543fa2c9ccdfbcdbed4fb4c0bf7bef69efc1e7f3bdf7de8b4c4c2e8da713a91b77f7dd5d77b9bb3b0fef71d462692993124b86a561e4a8c2c1315ab03cc2ccccdcaeadc317532d7777982dec1561763a759b63f7f762cc86984e995985839999993966529ea63ca19a250e14a350a895a9d3e98442a152294dd3b8cde197da53a95e5e5e542cf42a4e546ba2542e3033b3a6b19ccc97150d6dbaff932a55ea6535591acb09bfcd7166677676a6c1c1028cc6aa155c311cb32c164be502d7140c8c0a078c8a05ae327017ecee598c914a1c2d1999171acbc94c2dcbc9c4f1e2c50b181a8cd7afdf7bcf9572777787594acaf75c2d97ab450323c574a95ce09a9a99613999af975653d3b4fb0053ed2207c2452c27fc3162bcb497bbbbc3eea6d1685e88984e3bada6c6c606067b158e8db3d78b46a349d5d4d4d8684a386cb8a6702c0c067b8d99d9a6cac05dd07d1a5a527b936aff77e33aabc40b5c23ca97f57b514b73bda55fe01b9c656bf4773d5d780a2a51661d8277cd4c16334db13c3a3a0757db30b5a8cd84da9c0e9693d97155ba4edb94dbbbe27bf2740277262617bc173a4d21f231c67884027fbf529e90328ad9c9ca4a493d8214414648e97173cb343962e43cd967de1a0212f75a4950260918b398429a9a9a9ab848c80b62c3ec6453cd9a9a9a82040952c393f5792f4fad284e2813a4502922908268e1230da477de435e564a6bdd4053c918a17a694d118408264a80a82faba3d58f9e3248fc489feef2776ee6e8b14aac21384a758ed23bcd1c45b214181e4ca5d73d7cf4e8b0e60a2669c7288b308bb0caec7adebe6bca2cdec81eaec7b7871e22db65b7c41ed8f37a7a7a5ccdf5b68f085f0f94d95edfbfb79bc34fa4bac1cefb375980599631b347f8f607bdb3eb1b639cce2fba46c0aee461d0303bd2d7def2fd5b52974f27f37d37dd483a7f514b29e57b5348375deab1fd190e357ba7cf4e27dffe9de43bc1533cc96cae2f497e12367c7da29266f381406771faa54e773a9d4b47c6d07cb9008bc1ffebd2570b956927b997f521fd4e84620447a0a2fa6f2f11618c709b704209311081133e28c92216974230050a0ba3199772e841ced62aa976f31f14b93430c1842547c8a572050a51610212814a92eb49e9c114557af004104c960d23982923f1c88c3f644ae68b1764421822835204942b45247182228e904511535829020b22cc99ba5290744802835765ceba5290709009211d01c48c52b212cc2cc9f590c89c8b39eb4eb1a14815361079584cd805bcb20526cd5885919982220845c842304f41289aa7ba536a88c28511576636c4941a96ec10638c5820750d352049c1941a7ec89e5f40440ef0b9bff927ec108325bc1d2084103ad9028313941e8672804f8a8ca0c3a76c9852bbd79156600820e4229bc43291eaa69caeffa328b806fbd687f5f353b45b2cebc48976cb047d0b2585daf1910ecec6eaf8a8c8793c894e721ef7a186131c139f84bf1a38dcf6332c6fea54bc8813f95073ef7fc6c9ecef7c6875c43660143151aa5d28755390dfe9d4651d606dac0fff8f0bd91c5eb238cdd381c5f242bb1ab593cb65b92c172e299c746ae064b4e3b619d663ca4a184b73cd4bcdf58c135e6a5231fc011565feac8facef73ac8fd7f72dbcf06678af47a7ea3cd7dc7b9ef5f5e97f1fe4871f3f7efca28e8efc98a5d97a91bee782092549473ac538accf23a2329941c78e1e3a8208b1b2b43eef06cbc339ce1193f571a12aae24a0f0402813124af27ae795d18efbe19290d0d0fa7452db800a22c8f9b03fa8fd3198042144bd7926495d3605207441f2f2ee4795c91025d5698cfb3e6edd52f1ffd51af20daf1dbfbb9f6c4e37901fcdf58b11cc6e99ea8f3ae36446d6d2fddcb43eab5161287ba3c79027eb736252da22fca0b674fda02ff94b381011c9da4738496ddf5c55e6cbaf7e0668a4a8b954c7191aa6fc6e77303b267a3c446c78712672292d95da01592af1e5a6dab4d3f6887ec4ef1851cf3fd22da650ecd14a429332d18a767332104cccf7cb44a909f40ea4fe8242f7c4a8c1fcda4749b56323229d267ad952c45cc12862c61880005b233e041e01dfb33e598cafb33e32c6b848c477aae3fac1ecbedb89ab9b170cf0dfef80ffe82bb6e39d5efec6e2fff469d3899fc5771131b9e6e2c7770d31d7c73ffe7439cf4de4f625b4929831c077f96298013660c208c32e4e3b75c550627685e2c80a151c687103295862a8136d9afb42db8fd5d17ef57b84ca6371e00c6b9350210ab801cbcd2664f0b2c556ca13020dea5680ed0103b21a290136e7bdf708c000d46963558881a551a58d176a7c4edd2c8edc813fda2f27a5f481da4edb0c52636ce1d49a4b9859cb21ffd7cfaef79cb17c559f0f07b21a7f5f3f6f06ab5319b6fbf93def56426a6596dae68c5766106e848f054b7d04f7b2d6ae7fd2b7a7b452d59ecc2a463874d1831b3411c50a62ad0425cce086071e090909cd20d6ef6a9ed556087e43c3060abe1ec37d094ff976d92854d8c89197da3110ce44f0132a56180b6fa1513beea2e45da48d54ef2340546f254e8477952144a9fe4fce2174a9feae27020caa3fa743842ad5bfa7084baaff8f0dd53f870e232851fd7bf8300253f5ff3144f50f22c4ca11424e9860c8892310c9a0c80889a3230ca1c915254857ba44495a3a525aba819b90c05c901085d01323187a220b11144b8ab0dc6084c54a1226474d9a7ca544d1a5ae942454a9fe5d65ef749a865477ca92230d492ba2c6e09af624c64ff88465084d7838a209a59926ac78c182d7b59868c20ff1a4be9f4d9cc00584bee23c426433fb00f3acf757f55ded7751bf2b1f666321c771218ed3c5ece7527d3e23adcf089689d667f5fea2a1649cb4126d8e8f60091aedb806d53fc531a8fe27da310baa7fc63e206d8e33d15ba2d7c584175c92db1b174df3a47e5351a4a80d26ec7beff5e4a82ee18feabf1c7c9642807c89e6e1796fff157f890cc998fcd367db908c65bff24fdb0d3db10cbe22d591fdd61d3326638414896c158ead43263fd786fd722045082eb8e91ca96642985d23bde264b160de61e8c6d84432bb46aa29ae775227203f2a6a1dc755e3f316435c41b60e22fccda55695a24da439d4f7eafd79cc6f1ad43fdf69d092a09612b3b9f8f25dfaf3f07e3f6da9de5e525229db657477ba8abf4d257dc99ff3e56b47a75af33da6fbbf756c92cec368fad3ef1fb4d4d447905d729ab591e3bc52bfb53bc5d389b3a69a7de7468a866af6278e4d5b3a455d9034521d44563f558fda66e81a57feabe7d13f69d0ec0f6a6d93e6b2ffe997ad9934976d6c635a5c3d8f98ff18ba9abfa21be3d8da5e31fea4404b22dd21f3311468becc03b54e3f552f18e0af3e02ef65fea7fd5b1f234383dcbf455ff1bb7f7eff6cfdabf55af1a75a9bffdcfa57db6c6d404b76b47e5220a0250dd81891a0253b647e7e108c0f92c97ebeeb5b948f1c27fb6f7dc7472eca444230e8a46ce43859f68276d0921df3571f14342923654fb968514e729c2c7b1935cc8dc54cc7d1b122b2b591e3641fdf919a65591299942a5a6ad6f1521078503b37aa59d21244d4ce95d4ece36b276eea7a28a96b2235fb2c6ba3dad43b2f5e6a2efbec3d8a24d4aea94451bbae8205098ada35969a3d51bbd652b3cfb2ec23537319d302bc8f9ca7911c27fbac8feaeab3b96daca308a927da09c94edfbd1a4fdf69add38f9f3e46a95119b22abf9f34d28b65da9f9e55a7a8bd3c61ceed157fbeaf368e7991ded13ecb7e6eccc571b277a5606e7dc557a42f18e6af7ec7fcd5ea279d14687e0c9dfd719bdb0b859abf63f5f3513fe7c7502014ede27f73fde2467aa76ba49a7d86cab22237ca9464ef4c9a67e6287b2792bd0f390fc7b27f51a190b2ef27d9b30ba8a727ed571db731ed5b757a4dcad4b36a01a85ff94d30479a48efb0f3f467fe48b269a678cc903ea641aa5f2b54ae3b84dfc32104bff75e062184d97b523abbbb73269d439d9c9db9a712fd3f8dde8929d46bbf38d095348354f90cfd4d3f6d3d2d4c1bcde9ac8da74384b93d8ad3d1f166233d23decba6d85d5ee6b7cbbd9e4de1cdbbbbbbeb50e00ebc9d7717be6414d62191b988148dde611e54fcd7b33c3f4c5424431fe32e32dff66f4382a214f0d1656a4bd225ff91cc2cfe202121c1205c781f2c0069aebff5cbfbbb4dfadb3b2d996d7f54d8c7fc3acf7fccc7ac1eb6ad4a07917fc759d16d6ed5edc315ed5edd60bf0fdbe65c3d84f955f74221cc06b3bdbca07e17f58b7aabd56ab55afdf88aeeb6d96c9a647d0d7dcd87fd90188bdad0d7a42f186cbee677d87ccdcfafa1404b26dd51f3300af48e33bf66d2dd0dae549acdb6b19a6d632f2ad4c75edbc65eb098347e8c6d6333dbc65c30b61f7f32f20acd2132fdaaf2de7b99bbfb83f9d4a798a658d3e66b2fdfdcddcfc2d6fe21d5c7abac564d666ddacf6d48e56d065857b4005c437b516d9d56530f6685ec53943b594fb425b7d9bd1ade7bcfd1b899481089bb689a73d99fda6e9522f34f1be6c650dfdfc9cd46733a9c14f3d46ace3fd65bc72bf0675b975120346aa4f0a5871bd7e91da6db6ae990da9b14111e52586d8ebf7334747a50c0863f81cf697c35c586a404547f340624fd3cfa7fbae96877e376a4ddfdb18bb13f462dc391bd3004f220e5ee3c52664dc48be4b121c7e9e8f4f4c4f076777dbf0a161d14aa7cc2aeea91b6ea3ea4a1ddcc64eabdf75964ce24bf9514bd239beb66540f808c1b1cd7e8ee759a6b559e1eaf3774708d066c4e15d2dc7bb5a767551bb002bec147b8c6e402d0c95d6255bb395f0f5742524272926363232cd747f80623f5952578306205b59fe91393bf6e32f0d327e60a391dcb60768cc457d687bfd908463562a31ecef38be3effe1d8c0db634fcdf9680a5e1fc7322c2cdce031707feaaa6ef2f162b55562e4f0ec7e9a7591ad5028bd3aff5a7fa513a3dbc39fd302dc891458151721c505d952d2753fe528d22c22d4f2fe53f875974a14ed2d59309f2310a52a95d9f86efc1b7f0b93b91da1b194f7f5f5231bbde42b7192f63bba1518b100d55a70fc836390ad59bfce126c35e609b6a0cfe4d545cf32d7e6abe6f716e286c8eb7beb9384faf5e545aaa4aad552d166222409b4344734ccd35317d74266f62da60930d2235c7caf10250caa8b98605a82b258b0f95bd08b049ed4f40ed6092daff6a81bb970b35c6f30fa95b3bf8926a7f8e9899987f11f3ae9887f1b009dfd837e750edffc7e4fdafc7c4fa4ed6f9bbf35d85636a3199df95a931b6f704c6d07cff8e6c4ee7581ff96aafa49837ff8abfb1190f93c3799c69a65fb81a06ed6a769b71f302c67735eae33ec677aed77793c68fdc99de91f599bfd14e3eed268c762e1bda3dc739130dede48b76d367e8918b765ca4dd02aa3f0c3f7ab1c93ca66e085105b24d1978315bf754d0bd28db5c5627456173322ed9dbd0c9b2ac4fae6573a627a633f5e77861c6b6b1d4cd06b457a8808b26c43ea0a2c14816b125ef99cbe6f477cde56693f13336ea4c9bd33d30094830f93b675a1f55ed1c3db02a4689456e803609209c7014fb808a06231a624b826c4b1e03a4aff75be16fe91da72f8e06576da02084102a4491b1d12d0a5c923122a55a8d4766edeeaec33aeefe0280b339dc8d942e57cabdfdc576778f0d51bbbb2a34b7efeedbb4dde592d2bddd5d6ef73f8c66eeb17bbbbbbbbbbb7db7dbbbbbbb6777777777cfe4805f37fc8fbe7e0e3deeeeceecf929d316427ffee4eebe94c6f0253767bf2bab4208274bcbb4743aaba6a959617189be9c797cd3fdedaedc9fb642820aee3273ecb34242e7eeeeddeeeefaeebabb3bf7602a4b450dfadb9d7577f7ddddf559dfb27b06767366c82a0b5b4f32cb32b9dddfeeee5b98173f605e8af0c52b1eed5c907633c2086506a3ccde52cc56cc4b2fc22ccbb20833fa5e13605c625e529d62f419380fa8be2d075f9bf13fceb355cc58c564c12a58307087b9c4bc1461842799bd28603cc9ec55311325d50e83420fb37e6c34a7d334f9dbe9fb7818b3797abf5236fd20c56cf5809e76e55fe01579d250f099399d67c957a4a2a6c2f1e22a8bc9ffd30a688257521a4a539ddec73b4b4953b5f016e0ef4353b5f02fab6c3523174d96a604eeb785450b85116a1775513b152c1866f6fdf9d91c1de63677f31fd3d27ca369cee53ac9ec0b6d978b829c36159aeb179a6fd4add12fbb3f6b3652c0e6f4153f54cc18188e31847ce97aee21d5d48a8b102b1d2e5a38e1069a16442c2daad822082f5ca040a68b10c823a12d58632a9599df979238c55d2abfa1caff886ae0177e4a2abf26958d5067fef5ce8efcc1141a70a82f5e4685e385cc14a11d54996fa970c8c8d6c7a870b462a0c4d0a831313f916accbbbac0a2c6fc7661e4b90822c9d2eaf7ca1155abaafea9ba04a1aab68881165d3809295ab06063c249121f00b124241443cd563dd1d4d34d3d9d9c10453d3da1074ef0c1cb0138210412015c8cf09cdaddf8649184ea4db041752e3764a1a472331c73c47cd7746571e465040b21486982b6e5498dffe24b2c8a6afcd504a2083eece007226c59628167094208edbdf7de0b13ad18b5a36982094ab6d0b0450635fe5ed1c4db800a191f8d514d5c614516f57d4a85e33181a6c6a61d6a1c42531435feb482881a636c592396f043ce12a844971042a878473e1e24aa60aae28789c38a77a850b1447d31ac6869e952e3472a5450e33a41081d98e480484a0a8ce04c4749292d43ac0f664082558c29d4f73b0517525616d1fba7c2e6bcf7de6f533e8249799257013a62c24d8ef8a83721cdbda751995d613ec68b9ca7bb5b559bbaaecc8e8ff8a8776613e611433706f33c5e90ea78f132bfb11866f2627399cd5b5b93a398ed0561b6177cf831146809a4402e20981f12db60b6a9c2faf4773a389687a3384a61a104fdcd39d4fe5deea1ca872b496530228bd47e6fd27914ead02051669394f4b5d4713ed238fdec14c9ecb689859a4890198400f54e973d60ca9003a2231c92d050b9c8bf8895c43905cba3b9a03583da347d3344a510478a763f2410d7f2f60b1229e93a92ca87a3d42e8fcdaf93e5b1a17ca4719c0231a5bacdf60fb3755c619a8b34add302e16210c467cb1569bfd60a89b268982f147ad607a67e7707868fa16d6a2a61d06dceb54b4682a08c700df7b14cafefc74a8ec333ef826124466ba648eab5d13c53b13c5d8226325242b3f191e6bc4bb0d208b69626269bef98c99f898a888cb886bfd0cbe8151710299220d8db7c3fec61f3404b1a06b3f956e1e8fff117b72e065224309b87d1a0ed6dfea7e7faf43bec5f7e7707c2282b398e7f0c4a67280cca58fc5558b886ffea536f93f9986d5b080bdfe8224cd25bcce43c3d45f8462b69512199edc5a7b03c1b581c0fd2443eb886bf13edd28b8d8f70ddc0fa07f16f22f7f7d1c9e6a2cdf16f14666a3061dff5d41ee7e1a220ad2465a4643915ac5799ededfa4d51bfa42f175a0fb9dafa164512441ff6f0bb07ec8196404a9b763f6a3fec59850376730d84db0534454279c09ed2a0ed6f582243022acc7f20f6d33fbd35ffd05d152699907291bb06125037208ed9c0be3724b0871b920ec06030d83745e281209b0f8aad4a078c02c1d43c6beb609db46bad66ab6a3da72d031c1b36dcea5ff362748c222d3c74a95e770a0f4c35c513f3fb1a589e18ca451a86763c84848d8a88f691d4eed8a8b6bca1a9aa9f55a5fa56f3f4f8e555c560aa54903557f4658736a77fea60763a599665d9c30fd4e7a3fa865529a5fca77a1e52693355f529d5a354b403c2adb60d716d6903082184124208e13f64222a841042e87aaee6beb98690d2d0d89cfe2c8b6c1aebb34d44846decb0c3cbceeb02c33e6fb0032264f9c1074cba58427d2ffe73650fcee65c99abb906a2332b9d62f2c858ff4fafdc37b461c80a9070a0c40a8e9694f02a6258c2094a4d7a5822042c4e05d3e935926f95204582b0e10a21278238c2b53881a910889665d9db327a1371bc6982d9b9aafbeb816b6af5647dafc27bef9fca514c7d2bdfa3b2ab099a5577868c89343f57a62c94c3fcda49e69825a63b0c0b66c742a915e2fb33918f6c64a4ae36a7a8fe34ebb3d5bdbba96489a23aed26c42c8b4d3066597ceeae2cfbf7228c10c6971925396ad20fcb3279626629ebba74672e2f5b3889abbc079f3b844ca53ea9fb4a4b4c4ddda4a3244146eaa236ea247df4ded2b8bff7dcdd7d8d921c35e927df72a81dda99ddd9d91d66470f9945f8a2f287046baefc4525b3081f123052887c4db3e5109a5cae5efd4b4a63cacbbcbccc6fdf7b8fb7eb5cfd7e0f3ea24283871ca7554f83de5c7a7d68370a96eea60af5906ae326da866aaef2846bc249aa3719622b4e5952b81eb29ba49425b250dd1063151c3428556cb8014208e1952ade125710895280000ab9822d6a70296af73af0503b6e9d87271580228b1ff4708392097c88f994225b5456dd2945b4d4ee8bd036cbb2087bb02fee3e86f13d66974bca7dbb10be13a4a64cf97367a6a70437bac7edc51eeededb368761b6b0657ebbdaa5303398cb4b5537ec3c27529dee29c6fed45bd74ff3701fb1cfda42e989a336d91cea39ca512814caddf7eddbf7fc793f019f67ad1821cc32f810423817bafb7b563cf9de6bf7f74e328beeefe8bdc731c61841d071f5799bf364065d668e9492bdd345669f2e0865f60f6b02618278ff9eafb2295d90669994307a16e12322d5d568e131c0986581fedc1f74d9b3fe82d47b3f39b27c7e053e8f0ddf7baf61840ea17be77a1266b0218410c2f7327e3b48bd87f131be87eb67fe6d27dac5d85efb319ee66768feb594478ca799f9578f099c7e9845944c2a478a1499528488ca22a83b2507a12a8226112cd59d52646552c98654995f6dddababc99a3593da50209b87d19fe66ce8ab35e9ab55435fada08dd262b16ebe860201e06da48c1ab69ff19366aa1556ff3281e67ac6f6daffdfd8b6d93cec79d4fcd3a0ff1a2ee81bb0b1779c760d89d9d0d7eed8dee6f76d647c0d05b279190f54f31b274363005806a090bc5efb38f679d0873d8c020d49cd7fb1d95eab9aedb5fad5dbd83c8c02cd789b07baf99a1f125bd50b868d878c7fad6c1ef64135ff43623c600f8007000db2a119d801fba7403d8ed30dd8d890d8c67efa37368352ba647f6337741d67e5abf9b0a6da6c1b439160c27fe7d9d89461d1170c3535b0b7f9a01acac3260846df7158d46663acdd5dfd6adb9aa2d95e9b0c1ab3c9fa62db975fa42c467591b230216549aadbfc96ccd6cd2ab32f6937c3abad8ff9d449838979c100e3693e02309e86be22e0fa57cddbfc8e9ab7a1404be603bd566ff31baba1af7dd86f6cd21dff355f43815e2bfa82617b9be7b1bd0d0d5ab2a3e6657c90cd6f94878cdf7ea341352f83c69ebe96be60f887d1a025413c60ffff3468a3b0dfd890586ab5b5b6b45b24d6bf6464583d322c19ae25b3fa57ebb582d1d7eae9d397f6afd58effd74bfbadf53a75619e59f4b78dbe64fed5daf1dfa23be8c356dbeb25c363f50b03f3dbf6bf2a160ccc6b8b8289b152778a0f445a867641aa0c6c7bad9e3eece7f67ab57ef5acdf9fffdbab4561a00ffbd78af2a014f6dbffbf5894c7f6ff1bfdfff1b9c5fc6fb0988fa9ad47a970b4fec506a4b9fed15cb73ea5a5a874ee5724b16434220200401014c314000020100a06c4428148241cd1e45def14000f76824080623a9788b32489318590318410024000046004444613071f7587db81bbeb502638ecea7305e4b46fe572ef011deebee0f30abc02f34f99b27287bff2f3f82b87e6b862f02b21b7a4351ad1a9001d5f18ba9f35c3c123450cd7dfdb63efeae45fb7fc15e59b56f809d6daabfda58af5d63e6c072709918dd305088d60cb3445bbc0f6978335696c6a8af02c696a58c9afaabdd1be9e33fa6454dde343d22d581abab8c4b5410c23cf30e388fc476921ff9518cfe119153ebacbca313f38482207a0a255aa85414968f998681766367f720a19a86a1dcb22b33cb87342ea19bce429f06bc46fed6f7ec7270f28a848be4653885bdb01479d2d8cc07a12a63032b14b0819ec028361bb97e409704025c1fe5bdeaa426c527389ca0670fe6e6fc695a4e7d794090b8ca275a09e00f809b270b90e86a0943fa8760629eba54293a7ea7b0777ee9cf7d881d6b25447067e63a4ef52fe823636ffd1ffc716d4cbaec54f26dc16b26e2a49bcb73c217cf50c7e5d70786d610c398e8af8b8f1c61951042683cd6fab878b68f32506a95f7765eb452e20e3b840055a7e3193b90727907796914435ebe18aa699fd91166a0679e6b201960559bf8f00c4b208e5a91a956a68f76070a9a049d9aa6bedf490bd016773163156fa8f56c59c68c4aa776d8bb19cac9c00e2dd09594cddea9f06362c4c4d1e82b9d33d5f4df4edc0eb4388a0be08e964615d13353fc6d010265ed00e1aa3018384fc4f5d1b44f1172d6cb6c542c9d0049421c70fbbe6e60c0dc2773125aa7338e6295db09aed621dac860ac1be75a531c12d1c5479b1001a77d0dd75e0bf2974afaf5c146ae17d6686a046191928ae6b298401a3056ffa976bf118127384f55c746ef8b4bc136358f7a5fb74847e0364f87a045bb7357a8cb3bacaada7bbe2f2d033357c0ad30e913934951929279eec6e3c89bdfddae1b92c7a8216a4bc4f32d7c0ecce646373a424f985644ed9b78424ad0f25ac0b3364b119c969a08784eba7c0c585b0743244c55fb1ac35d82d2912a25e898f4b84ba7253c92e9a554da0c7ed7b33d9404c46c3d550733b3162bc4fbe268919de4f6dd350840ce38014b444d3277d22e2981a30ab5caaae1145e59cc9f371c5e580e471f43642c2b2f3908f7e330dae3db0806cf200c05919fd2b2cf712c407c88e7def062c4ab24eede09110521b1721b8bffa1ec1c57472d8e82d08dec9481f26c66beb1bb1e4f7f6f9f87df1d6fe0d045497c017cd7650e384ffb21e7e6c8f0e9a11942e8896d1aa2c0f8932292278582eecf3321da3507edd9d3ddfa686d4c2f70a0fcae86d2bea27b95326b0ebc7c49c5e2a919296b3c5e8d9166e98f81ba7b89a471df3441bc9103bb67aa52f6d7082c74aa9d73426e037df5cb694779d43bdad162faec52d4f527dfeac9a4893647add3a475d011b1a59bd9ebe2cf2bc3a954b0e5638687c22ad3142a12a04e6125bd6e9d6c6251a307c1f7000bd129a82606e887706dc754c295c4c05ce7bbf112bf24bf9f96b54ab50af89d043ff79d938870adfd06ae730b52e181da8eb774dadcd9a48a928313d40644156aa6acafce80da4a04c89f1cec1542631a5cd8a2999c1e77c4545a42f04794a18692281ce4b5d1c722237dd74b300652a5e8c46677059267b697fc7361853319b9622f0cb8b530ad6ea63ad01fe7589559ed8ddae0bcd6f210a087989f246994f2b590895939d77589513939dce42bb6c1618c90e481c3d111b43977ab8cc658f90aa0cb9f587b6260ac0dbf4d2402bf0e581e7d72181dd59c607568d9cbe3a739cdd9bfd455cd0e46767e887dc41ccff71683a535ef6e284140d7f30f6acb8521dbeaab28d942a4a00ac3810d5b5302fdfd53dfd6f82ed46d13faec0d64ad976084d8cd8e0e5f4bae2f6b6f01f48c349e9b90e2e9d5cecb024c7f65fb62437687e8a397faa100b3a54145e1fa64f8ebb68794ac4c2aae0c29e07c336045e7e6af9d3d9855e3474270573df2d7571b50486a47a1d74293f4d7748cb0049085c500c0dc4a23f186fc5b03a63c0d300a465630671a548011f7477e41f3cdc5f7e99903eb74460ee5f9c26ccec6cfd786bd66ce6301c8c2a97b5104da767f948f7fe230557915d981d614ec7efc187d333b86ad88e2a5b891a3d1af22cf6d311869b29d1742dc9bd321887c248db094f21c2e9063997cb63eb75fa5820b0190137a3d4d1193d447016debac7bef3a9a19ec8fee13e6ab7f017e82f4f111a8b93f14d06dc8c21d14fc3c47dde3cab8cb88e67fe6477866bd747edd3e73b4cbd561dd7d93407bf7de475ad8e4a984660f1af243070b96eedda2ec368fe3e455ca8c725e1f141024fc05d0f30f1c598282c5a9dba890018c82c48c06591475705712c6e08e310ae4d51d15bbcd349102ff69b66f2d9d94684865bab63c92455ca260fd33c3ca8349ab7d73f842e45857ed542cadd8ce8e19f23a64432c22e797ec4844eafe5de45c069d9bd80ab873069cdc40ef7c0efaeb5710e8e4107ab957e594255ecbf9504fc6c9e634242fe25cf4cb6a636caceb8d228017a1d461d1cb8fb774c2dd6938b38efb4b05e1a9ff8e6059040d04323d8bb0c7f4e40328b2283c6b64d69ebe2a7a029d4e2c9140c83fd736c189daf86809b5bb0b1278d4917504f8b735131315681537f1c7abf84cb1d6d38a7e4c467a49bfb316d61eee40b3bba56109c5e2ffd110ee05c6b3fae5686997fed21abb739b0be7e9dc1ff658df925609efe1a7a6adf9cf8d330e1a1ef022acc9893664c36a14861697c5ad32478644048b82c219be124c4d88466e612a4563b1d351a4a38b6460015c122bb634ca02d4a167931898ef771717ae1d47b383f85286442c833b1c76f8d3f4cc8f107c0aafa6d02ec0405e5e58d4834c2585f6c3a533ec8c40cae888fb13116e99a90b085c21c5a1d06b3f252cd4a6c1476b50b7f085971690f2bc556c6171120eba72736b930e59295e73203f72c7d0a7ebd6c4237c0016dccd2e0746e2abe6819e19aaf52b6422f1fb70e5e3fbd99ee13670d29fb1311e3806dc0bd8a62501d24d9d2c93927855f4a0a319e0196846834061485d8cd7adbe7fe4ee3b68c3b36e648b755e5923bb958abcfdfe92322acbf5771c88c61b4ca83cd59f5bfa1fd48d449485b4e502881980217cddc568cd6fecae41514d992a2775ec11d5a3260c56ded113b04da97a8d2888b70324832c1bd213008f2cb4dd16a5a2a5eaa30608b9c02d061869e31136f478769d360c24478723a83796756885ed01c990c618d07ae571a371857703df7ef7d5b95af7a3bdcf060075b3cb54e40638adfc5c737c41438254841d5830988d05abb11dd549eaccbe21f36abe34783733b467a22ff0cf342164b9ec4682b1074c45266a755d629a3e571ad199dab52aa049c4fa536072176952e679d75667526a5d492d3324d463bc35b3ccfc6b1f1269a58d35dca46c8bfa499f82475f1aaa8ea5a1806d4b3270f761030a088ca5fc15e3723e3d4ac26b9e22f9f2f9463b16c1c6bc1c47e7b92eca5884e383ed760357aaf422fdecba24c9e9690eca14600c1dd9c8a672a4063d0c646ad6c8d654bb0858030b343ef801296dde50b2d15ea959444049786942a6807444867dd84a64226e780de506acf8e65dcfaecb6cac13b69b4820443d7086e1ef669700b3d508577d70c032ab08c04e953006b44ef867af14c49faf7808cdd2218ced628a9e475cbe1a1d5d1428027de92ed92ed0e8ce9f95e4a70d066e82427b2d125abe769bb0c595d129ab58dc70359b29b61960c154630c0c2e1ffb61c82d7ac6c52a3d036255ba6eb9f5541429b7b007c8c101d17d499b86c377d9d32809e1f0b81e0416a38436c59adc74fc89f57036cc636b50bfcd0c30ae13a2384fb18ca95e50aab316c86854f124ba1ec77240f09eb2a4bc8442cebf746aebf201c79904de9785d24d48264add8de88581f8329314b0c897ed89615ed87961ff10b868135f708bbd7a9357ab84fa4bb2ff90adf579c75bfafc6f9993eca2849f98f73323a03f0362d1b62ecba1a10eefbd51860b9a9f42cc3e22fa1e094ea220989520a68daae8949ebaa04f78890b9375289b4e02563745c5456015f7408d40c4a43f498924a0772b86baa4df2eb08952f1a07da132c312e5cdb773cf555e401a03cfa08c2a89d06af73aae58d2e476a9ab21a170ccb27de517251275381c999b6230c8c8ac45bd4c69a544683022491a2e543c824cc3820ff91c1f023f5c70243c24ea160f2211fc61e0b26bafc7906df6fd91ccff027aeb00b73881e34d41f268d2006d68cffd72fce601f03c0abbd6009360fbeacacbcf074b30a1bf6c445ea35876de49f4a6978360aeb3d66eab529a459415b4c8abe585a545650cdb841ebc2cf6a0b6735c54d45b11bf79c947702cca0a56da24a5cb88f543b0f9bc7422cf780520e170a5fb4c3d8816d015ba0faa2337ef69c7d574d118a13b8c45fdc30d4089807c2da4fea48cdb7e5411346e185509e801e8a77a0dd34c1e70a4761ae81915eadb1c4240dfc69d6ff08500a99ba23eeb8a34c1f953869a74530ea7a05bdb191805a1a07e66de4850dcb7a2ed8316e3470f2d83aa4017b2d64aeb2caa21dd8f7b8ba57c1661a7f1f0786e959587371075b6a10b6246f1924cce9228109bb82fc3aa301e2599dd48dbe59530346ef2abb64bd066ccc9efd8a844337090cbf739140577c0925545b011da579ac455980d2a4d3832cee3ad94417f7fc142609c1e74a0a13aaf378a183512204bf84f96d55dffa3182092fd9ee0aca0e4d001f9aee1ec840d4e0b9d32e7427c3479a36d4d96b26c4e4581eb2672a326468ff741360e11e1e0c41ddd37ac8d9f0de55d8b116dc3fdc4dac2743f83ef9d834c6110633472445836e408f411c277ec501bb6f3045c78752b2a66023d90c56e31dc33262cfda0ee0114f74a5b6f0c0809684edfa6bd6f4b2b529329ce650d86ef11693a85630a26ea73f97bab75a7ab5976621366e4239d07704c6fafd570b59fd33991d2cab05096416ec943e54537ed736b4781f83985a0ee885632c7d6586341013d73f7ade41b6b384288b63143fa573cc899829e4886664ec550d1104b5abe19e07296563fa5090bd8208f7329c13986b209f27a97bd84d81290baf5812845e028f82e0b57cb9f0a7097036307c227be711d86b019570eb47a5e6b258c5aa30a8980e30723bb79adbc33e30e7d6c409ead28564f8ea66907f6eaec9bb1ed16975d5927ed28723d81594317419e576c486f9dc3ca87e36810fe83b27b658870392e1493cf870cfa8b2fb662e473d041a18e40a903f2a40f3a53ae7275845d53cb61f52b204bce304f2a7ca902b22824abc4ea3c1541047cb70312e30bf567789675d917547634d41e9f7ce3d6b0801018fd9bce29dd4aebed6b1c1c2efde1b3f1ce03c0e23363477346907679b0adeb491520a22c55f6d021a7aeb2afb0ced0d0fff9b2f7949381f9c287da14c748566e6c37b022d3d43ea0e56e728bb36ce564806a42c22d341242312a9146915f2f11b2bb03456148e058f9775752a400e7320d3e80543600710fa39e503b99e6eeec19ae276ca3f19920503f354794febed3a151609bfccb48b0f865cb57f12982a897be703db5ddf66b086974af2f98e70bb53dac4dacc8b13e3cf8002ac032365b320676c102dc927cc497dc6e52cec438bcfc9c83c4f4742f6ee439198f84130545fc72a657700096c932f1a572e79a8de2e5ce9854950bea1a0a1b044ac8c9b2f402ab66f760fd6033d54a493b3223eb9be32148d3bea106e29b999f51f32d14f366f2085a0d0cb73829a58e1fb3673f671c160bf72be555212cbd33dac1b355e70a580ec37942dcb481030fbc19bebeeacf0643a8e54add0d92fdedc93dabc166c2066719d31f5218ad47b21a3960574540c25d5df9248ae0ef8e8415e5541870687bd7775b56114d7a145a76c72a2210a283302204fa709aa58a790c23c44a027e783b5f4f674f966645f2ef1a99ee5e77a2b601b1db0038716cc624654f1bcee04553a71e8710e69a7a625d9430f523cf035bb2236018931952e2235977e504b054bfcbce2ea9cf42a6ad7ff840a82fbeed6f95a079834ec585579ce8545e123358e75fc44b8b465797a220a9d70dd8510615a12a1283f5e1090050081fd9adc70ec65afc16c506c7f4051681e84d0dfe8b602d8eb6b8cd53eb606982ad94731a0da776268d86fcc687bf434a730de4e1b3fe89cf96ae505d902f81b417b26ebee0ee13866abcb70d480fa13f68afc0a55da43a0cc2157c077b18cd9cf0f2ee185a8387463a9bff3238cc25f21ab07f0381b0f8b667345821dff1fcb7fccc88212b6091fd2334137edd6f8128431bd0bcc9b762509d600da5e13d1509a67a866fa6263ab91b997bec3caa8c795e75f64a341283fe087cf6e5e486e5e337fa951403bdcbb80716b7a72068f56ae32206b82e4f8a2b6eb738be131de1f93840773503168fe913f4a0a7605e5d44234d17cfc09d2517196ac9da8506b2379c0f65e970526e9ac2a32f2fbb50597668e4a5a900956f5d71dfeea22e413be2f849be5c4745209ffeb40ca8b3346e17bb09ff7bc12930063a03d94c98d034c4175671a5bbe735e1e9857b94f47a01eb901b84ffaf0246167f04a1381f85390e118f1149ecf2e8b023b4ae2036f99778d553bafc04bbd086b06a1acd33fc3f275c53a3b5bcc18a473193362dd584cf9c4ea69d5144e3822ad7add030b842e7d431390ebfa14f009bced380fe33ae7e50054fa101f96969501b99cbf3a8fc7f647a5a0a1fc0cb242307696e7f5ee480338d08deeddae41a4379ac6422ed852eeee91e41dfd4493b5551a44cf1fb8fa9e23cadd63eaf27727f495836946a02c6351970049d08f6fb22dda4e1c47cd275232e8f263abef8f4a7b0365091db9b9938eb06b086dce7cc056f7c03edbaa40cc4f86569b72a097451047d3d1f02f27bae8bd6b99b78e995e0780e5729d7488fb7417765e4fabb6c79e835ca6264e52ea02684768d8b31f802c6cf322c7fd9d3c951e7179fe17597f8933195681c3592cf5dd675eaed652e70f164bcb826c8eb73696d0577ed3c4efd3478adbc1e442cb3e03a5de635e6768c3f37f147449d7550b53856e1dafe994e0fd2aeb60da4af9645ab158e8686a2b6f2d45c054f949b43f767477df22d6b9594108df4e0169393c76a8c6c3c2e92d2b53f193093bbf7f2896181d1b1eff136928c0874cbd26f6e04f37cd3f13da3ba37c3b6c29730f69ee72332a5ea09b00639e14f3cd546f7a193cadf6e6dd01ea7113b689e06bb1675537c28392b282b1666e6af69f1a79527ae796f5d41a343943c68684ac4334d0d618c194d8dd79b39e96b67585cd713ceed403d175fe90978509fee9e7b9470d2e61e15525cfe82a8c5ef7150eceb37256fbda0f9ca35b39e9e4ea14628825181831613de19b03cc1d19388410b792b0e82eaa62137f6211a5508cb11345086b7d88fab1d331ce7a690454868ae12e7a1d3b016e26e298139a8c3f1d1ec61206e2978531fe0583304e3819fb4411deff3b2265b99fdc09f22549bd5ec986fb46a0f229bf4b3f75151f5f4a8272761987a12151c2b5223081fb46523acf862c0a15a33e5b1db22e2bf728242657a59d6598b052b90e8e2ab25a591f1ceede9d3881a037b58ee50c3566779894e940baf9c69c53bcf4989550f6813e165030dbfb7db8558bbf43ae30a63fcea09437a7438578f56ea07619e4b61929058bc3231797c06c23c43784aa7fb3c5a86aba1873c55652f0bcfb522f96be4f94e5da6f66d532999217a208a1403cc53d14f5a1657287eb2ea8f4f5a3599bd4e82495705afd77f5ddb552978e3e185f680280236b4fe42a01fede37785d893b081cfd919989508041e23a831a6b34b290a423df84e7c93961a950b1c58aba126b5c5b5a94d52691a61b4b5f6442620267ed475dcd9c4100da18fb8db0a7a0913f269c28ecf0a46b2f8d0f02324e201198e71f425e73a8a60b1939e6841ec454f2580f252cc951416bf866bcb37992ba50edf72a4ef090abd3c3df488baffd4eaa0f5c6c014acd09d8bab36a13d5528a37f9d2a9065e4964ff897281faae99d88eff23e7979c3a188f827077ae99384783e1153df6f7aec54b2c05ec91fedea22af2396e954f34b1a049e9234735ee29c2d28d9243ed9de98a886998c7087db688f2002e92093e09f8383505b149b8aab844e8fb420943528ad51658fbebc83682fc899b1418ab7a171039f1319669d686c0dcd5d6a403ae0507927a44e102900f7e3b267611a89133074bf39185434092513253505be665c4110cdf7279b274eb6690fa581449517efa7366d8210d27208c2ae492ef07093ad6408a9675a4fc86d7a6c287ca0d7ac46293e7e00a6f785298d8efa55c61e9cb90beaf3a554dab761066282ee6802b94a17068d2098c735b44b724461eecf767e81acd17d05b5f6dba36411895539c259db7680acdc8d864716b49d1e842a44780a153f107b805fe200f700021f012ce946982c475d8c02a418309b2e46218f2a9384a8ace41a52a1466329992cf0bbe8d15ce6cdebce5f0621cdc866145ffaa89c29159a6aca7e25f25f2c6b00b4ea1a80340a8178a7d3b387e4c9c9e89e3de3f727e65b8acfa0c786d879d0989637c0cbe094f30909835c2abf2c05e24635dbba383c432802d12b6d7e64be76fa8200328a20c89793c74b0a09c2e048e9cd1f27ffd6aeefcdba7f7a7c07734a8f0c9dd5bc4904143926ac1223fb9d08d674432e2502bf6852bc1d02808c49bf67ee98afc010c724941826c6ae20faf53bc43493eb5da345d51c9ae01e13ee8a6dc5af499ef0b56b271dd48925dfebe9db8fc1aa1cb7228891dc0821a441375d9ecc1ecb9e26e173b45fb4cb7aacafcaf74a33817eb3e61fe6810cb3e1b81a65b726306e829027d7070a60e6ab58817bd07345e950df92c830f71c5abc0aeb6dd0b85bb1df27941e53ca8cb4e804e82b8e1c856476f13b2ac932efa94ab4e9da40daec3d441edcef8c3a1c4cb2a9c6963d84eb6133738eff95606670ac10daa28e2974e1759c1280af48c0fde312a9f685ecd595126f09b0613804aa2a7f2b188421b742043ec0aeaea24cd5a021f15011fc5c49486faa0d89a3170a51ba0c364e2f6b1c1fa32d7ba680ff5ed6fae8b0d646bc17f5805c356d1974ea5d07145321326a10c30516ff7ab22136c6aa510a4cde4c0a392d20a39d94b78fa5fc28dd4fe648eb7d657b29e9b3000b5f992d0597960bc1d8d08c3c3823034fd82f3e09465e042e72e3e78f0990f86807a16b1111006ca57167c2b43622475de8a642719daaf40a1bc57aefab48a15d4974482743660316c47f44d5604f4d4d4006809922f3d5163274159dcc00e808560861985fb9590ab2869b2fbe500911c11305c246848fde414d90f49e9d8559aa67388a695187bcef8735180b28046045e435786a24851448f7add178e2befb72e0d93c80f595e417917a9b5100ecf562a23f175182935c4c4d19d4900f62c3435a34cb8d58f2d4c8f91534e19d5b8a27a8bfee368c18ce9987a5249640c8398279312e55b184bff946efae8e5dda5b9583048169854ab7e1cd64b3dab3d36a6b95412bd048b3c235eccd61183c7646f23b8781d5acd0730b9bcd8e4943a3141e47bd7dc17baaa0bca2ec2ad0aacd8c5078c38c2de044c8a2fae66bfb9e50d5f65531a58a309f7e9878d3e4c5d98c94c068730b11a03a28c036bbd7842736c210c0471ae7ada0ffa703c6420a2c595d93ce6a2fe1cc961a61a91565b3cfc66c6e9c09a7600270c6155b1607f31291b8c6ba21677f5e2780b16fbad841139cd17cfa328756c5fae421b716f9f9440e4124a10c0017ada862ebd76284d22c4d08ca51a2126a6d1069bf164ad9787756d940b4ff0486cb444708f10dcd74789c8b3fb81c9e27f316653f65071c0c0ef7928284bfabae2232ddc1900a81e5a0d70058043bf07fcd82c3adff7ed45bfcc9084c585e63eb83e629b0bd2a3c9bf26d46fe53f15008f02d66ef45cf4046b7c4239830a70241f302485fbfd2804dbe4e758f807e43039feedca0ae1e8d5271122fa2293496935ad3c2a28a7d8b7f82683c25fcbafdfa28efd3333241757ab1a6f8c26f9c6d5c93c391d958054e0e7f923adc4b728a03c6a99bd453a698e2d38553ee179559d6a6ceff80b4f95606dc9737edf8191805d97beaefaed5553e26dc2b18a3616a094b376e24c794609755b8f19edd9940353844cfd662fdd8c167581cf42f44d47d287fe834203059591d34e6692b98e91a094bd2a6b1f8afd3cff45243837b76d990f8749efe8a837ddd435b25da8766c851d12483ca4690f13db646fb5b41958a387b695789a37b7031aed0938e822d9a4d8133757a6980a8f4890113c898618a3bdb87c6f82857a4cd04fd28425bfb8c40f8e97b85a5a60e9f7b2b8e3bd715c386e56c4e620bda595caf44e00d11af8210e00d4233eab91e50996a6bd7ed6cabae712de104ccbe5a9cb696b618cc53bb4738680c486528d754266403083657debf9876d6735addc01513e4b8536a8d5ece10499d50084e711f430f8efdcb83d1cc7c8654cfd4e133560f9c00e82b6f8cfb699f12fb1c683f26d99c024ec0d1f0cc7c7b2aee467c4e4bcbfa8641a4fae6be520a839760189490c086c3320b3ad0195fd06c43888ee4c2f8b7cecfdee334ca133c3a8a8f1db122704a568fd83dc05dbfb05c0cb8589b993107feb7d51d8e8fa59a364bbc41d4e0d7edfaf6bb296226a540c3ae194b8aa87656a6e5dccffea0088ac9dd40839280c396ad6ac4b8f46622ac6205bd89d7dcc41a17490bd4f289a23feeb45501d7b1a994989915a316fd029dd4d31fbfdca98d6081e70234077c4976ae233af1b754fd1573b2f4bf79b1ebb2ad07004b59a7a4082ee3c5026d667ad0b37c42415183af2f0f8c9cc2e5a06eb60b3334831a146ee45a08b190f85f7a660af1584780456882de4dfd388ff5088286bd35478129194d7b63315352e007249990aa503001790396d2a6254e0e56a82ac8183bf45fe70cb8e5667432230e24da460c984666a09056ca027233f9d390a85b7cbfa552403f2e314e8c8291dcef84a08d9bf604a005173dd4262c3603836acc0207af8a9569c24b9632895e176978ee05344ba4a21894ff56a70041490c3d18486b035763ea58dd8e6c8b75d8712c749ca9c668a2fa3678d3f862629f939617b4bcb48dab92629f9e48641a1aa0551f5183082744b3c62991a5718386613687abe13d83658ad53c6ab44c8c366974b0475182c7ecfd3c395d492ecb29e470421edf2fca75d944bd2575ef1b29ea3077787c89f3580d8b506a0653d7247d880d2cf88242d0dc93936dadb931b2b479d642f622b3f902ba7b05038e5d51e415e509b45ade8eea3a8c54ab18bb37e723e1972078dafd9b957e25864fe187042af86989c6f64804a8349a097c16cec5411d49d552d09e7344cd1a2708d8db206fa39c993f2c0917bab122d2ab7322156a79d99009f4dfc0425c5a4a1b07a4b335448a5d19719e3b4ace6ebd97cb444adaa06cc42da24c1f1cf9049813fd13af8f5158fd1983634182b32847f4d31beb9afc47fa15a722882826adba76ffc5d63c8706ad6b8f24da6df53a3593b963416abe16f25a3d201c029963091d981ae9535c7e7d4002ead0252af8d8d7f48c283214e9c9440e90e4b63b02273a1553b593e08a9c39d6cfab0c7a175896f328246a3dee203012ca7c39e5131821a09244660cfd4fb4abd6d2353cadef26814d050fe3f2616088426ccf5032005d760210cf6ae5547b32e5d20d18bd62d23b3af1167f14ed48be92b5ac11d008b2509b780c722bb6824b20fe38f3d95ccbf1eb42b27384be5345c08def2946ab249e4e498513f99c1bfd36738d2c42acc39565bc953673fb6544112928ae8d8def1c83ff715a02207c31312636cc6cdc6c7ce8fba841abb248aa17d21759b771b17404dc1cd0e8a60cc5b7cec0de44091a390f96b45d706e540c947ccc09df95271bec6d272882ca263ec1992f74225de77e2302fbdb1f87ed4b1d20c65a06ab4a2477a458f366554d12e88da8479fbb92842064922dab5fc1281e1666c2c55eacf90051cf2af1e04303d61488003ab0b9e123bccbfed9266a138b10c0e39981c3d25911c2331380c847b3f077cbc556b538bf996fb50b63edc675115a593f4c361c2fd077190370508155fd0cab0340d2a685b0a5dfc253a4af2e8d9cd986e705db89ce92556d7b0c1ffc11a3efdd8784f538561c82167a3fa8165b3bd46030027ecc8a4cb667411496f935a073afa6548d4b891bafe7564102e5e87aac8974c3500b0fb63f93f7bb80d84d545a6c9dcb7bba5ca2427dc1e29f1219001e0dd068083b6d17854a017a9b60ceaabc3fdacd0dd17bd85c4de420c9b850dba93e7f15a5fb4f2f85568561ff7d6aaf2305431eec27a5f35129ee2423b36d585b5b2becffcaad04f4d8e7c304a5be8afdf19f57795f450ea605b814c8860fd2401cd2eac9d5c4da1527b055a861cebaa0f309ca24028d894d6f08a14cc0c974110ff3dafdb7e801e37a1a4a7959d4001515a8925f67d450fa8dad983ac4d9ac38bcf96b3b19072f85ed26aaa084c3538977790eff083a9aaad8c7f9120e35e5aa9423e716009a5510551736ff700f4853c9d24b2eae2f38004b8b290c5254a9e717ac2ac18983281c5117fd959d34a70c3d799bd46b47da38b74c6a9deeb309d32415e4e2733c8ca304cc6bb615bd998e9db0c58a9f2f659112dee24cc7bbc61d0282611b064db7353dcb1a0bffe200aa4647cff3d29e98fdf821c339ccc78a75f84b146a5176a37bab10143637b5417993191626de3261383ac05621000e01406e2facf3c29c7eb619993fc7b0a1cbf6e3b9fa5bed889bc8faa8c7a792882726843babfabd74c6b7028ef746e4f7137ccfda1ede5a5a9a973c7f4dd88ccc91f99803a9065196d62604ca376a0cfabb0f8bf48ab3461fc7dee134be02f9ee64b2ff13bcbe09f915b007e955aa277d984cf6773d261bff3d2f6778472a5713971c0b70ed1d9a8311067de270b3f0ba7d8d8e59277f0b9976ee6e46f0720399479a938d9c7e556f4cbcb4faa98505d17c81cbce52720f555c8586fa6b0529c2932c91256b24f98565dc9cb327dad120e8a485e5944a72fdc946d2f173f9caf1f0783569dcc627387034d745a513d26f00da734ba2a92c0dd3a4bbfb952f55fce6d58033c8b557d2e1526f44e674279925680e119291813729e9b8405c956cfa081b931b32bdf3f8ce25e7585857f085a5782b33643fcd0993a35c58e7f3c2d301c810146ee56a94576415c9624f41697e574850f7c172b6e3d16e5daabed2c1ea4b3995336e4d69b8a77a6a4967426544656e81e0b295fb220f54c6fe9a9a5cced1e8de6caa2ef329cb0346015dd02041acb9067f81a5f08da5890209fa7d2efbe9c00cef28581c6228b04100f5f355a2c645575d46452f3d14f4bde7016d8b9877e6ba0ae5ef04a84e91bce329843921f56763c4f6840cd0cbf4389ba1229e134cfbe99648bcdcee69135bcd9320191f3561a7b63d1070ea1697b1ced5d9ef54ddbb3ac89e3c52b38c5ebc14d2feb7268a130d6738ea28a537b466f125752c5caaec341a6be7c0632e1ab1c330426638b38a3294a3d105a7c30e06138ab8d79a32e923ad6ff206d8a0187052d79bcd746ccb4362b6fa58cbd6491fdb0b2032059dcd2265114ef9a3a813c5305501593f99ad40e215aaf717f336bd2696fcd5dcb8e5b03f4eee2c6443fe0035a79f3e3123379f2929620fd9a426ac5ecf18dd77ba2f4868c42216b2d3c6357e7ad9de7b395d4f045df8a0e1b77e6865c53b536b68971ae688bdbfaced5a49678b5ed8b486e5a98e7b47c85e2e393c256ffb3479c260274c7fcad3318405d5a459e953c86a0d45a6d3c2ebad1801d5148834f3e75327e20f9b558a3bdfe99b3828ed2debd6dc29e57da45ed8a1fa688321f0f944d0fe21a2ac36e6702904155f0043e62e27b7ac8f8f963acba5a8475317430d0c427b15e52ee07edfd778761bc92247a6b708cf13489a81a8555629115d0814b1a51d8618c94c88431f02c31588d6463a5ab016671b6c114dd7e82f391796289aca96dbe905b060370f0a4d9a797016ad782342abf053e60a840928553a6c0d70eaa289a8b514e2ed2287899d0cd2a59409bb752eaa82774a2a33c5f0a62ad391be9ead8f4262497b6468a5dab7cc920e619cf3df43bad3c207aad53ecabba3088616dad2f444ccd87043146dba0c680a1986c29dca7f3974e2d304aa72c8ed4f7a9a55a0ecdf147e0bbe6bf09cd130d4cef64d400e9fb12d738ef7ea44cb806d8f1b209c8c3a13be4e41e39161c3d953890b4c841c60922b4a152152da715745ae6cd7f8effbac6d1a1791219a86fd4b8fd02aafeaa09ccc1148b1e4dbf5785e30150c55a6dcf914202fe4d4fb9fbf8e38d30f2d1ec0d40bc6aabdd410a8b5953cbf555f7bb1c500f4b583ffb2adc2f1c3d3ef1b5af7a517d581cd60b939e8bfbaa9dd2ec695fe5475855744c4b91afaa0e0eecab5a5732221ecb40d46487535f8515067fcd89432f4dd89fb472b667ce56727d55bd91c1cc77524f22ee9e7d151f02ece4d9bb1bed3ea295b540d6d00dad66106a6d25a2b057e5742e7c1e49a1d5748057edd20c5a9517ccb1906a7035ca1b4a9417685550f1c4a7fd59897254763eabc12e7957961fdd555952ef2a57f8e39b787a579571346644e7caa2c76b3bdb65bc7a0c90df707ffea9e21aa9a2fa9f799f297a235fc1fa12de3fd5d75b274640d8983621032755ce0aeb45662655b4025fe47265d3bdb407e8ec2a596a0220d2c5a1844331731f4ddcac3c1e23d5efaee75b93aa1b97e267241500cf870633ed7553455739e5607ccc1a4d9bf6604a963626a1ffb4ff43027eefb60ea0ea30eeafc0e646a69f372692aa447f22555095aa5b0a3824063a9097346d84658ea57c7e8a7b12d9aa5bb955249944e04c0f593d82f9a9d8f72f19c150ba144aa852030b0370bebfeae8deb54fe979799b3de40073c8328e331e1df109b1fe49e06e10a124146185384990b1f244dfc2dcb14700e61b362f746bb14f48f325651cfd8299c40d62cc1b70a38584328447fdccd9522ab2645848e7387359e326cded06b5574599e954a56fb1a38c2fa4d08528bb75d3c78706a0e2202944a9e280e05425127a8db4ea73e4c1b2b115c80033b68e8699a94397c05cdaa635566703d28db55d3f04f8aee48cc0e89dc4f418404d7200107f2ba47113529234d5a9e00e671e0f085c41976159d7941d005c63188b910fc63b8cc5dea8ea3bee30a1564dc623922b40b4e30bc2c398d8a5a6c859384015ac33063cd3888c2d697c26c7ce9663c889a2c0d9fea7bf94440b290e9a11731d281b3ab948984ccb7e7db70c9a71303728e9f5d568f192662f664d43055a00de93c60ef45960716e0753cf9e05e26d408d49194bad1e1faaaa05f9791bedbd0c81746f6807b64ea5f0df2fafe632331e143d3247059e01b70603d44c9730b36a192e124573e70d6e99fe06305faece99409d3214c249fb6dd29f0277a7b60926d5ffe0858b5309315004777c62987f629d07d6a143a4f0ed7065be043487acdd2f8839d2df0dda3872e3196625e0400d56963c5597d87084ac142666c5bcc6257f83b224a58a3c298dd88da1bb3ef374d51e2aeaed648e3a6bc062ded71c2ef117253977990aaf3ac5a5842c46f05c627c19b37408cec59fb9171f0e1264d792a72b3e4318b769c81eff4cab9a1d4ae22cb3c25f6a355050af8f5438b8abab5a8aca14e292c7a78ea592dc7ac7792bacd3c90c1e08fdbd7adff6c85bd971c1d3c711040077f4c17950417a84801585801b65e28a59f1044817c1fde151980d200b39669b85fc3724b490dfb9bd7ed742328f56114318f1b64f5df23e01363983fade99834e5bc1c247d3c5b3c2bce30e6f51610aeddbb1f03dbe5bde817e0fa9f9f30a91dd4fd320b258a632edbe3a157baabb912a625a0112bf3d19fc1c1846ad0857197f9474c294090777d67ce01f5ad192a50ba85cb1208c79bed933c36a9718fb67bc282a3b22cf7ca77013fcf1e0a54643c6962ccf78a94442ce78f2656c2c544ba4a0b140a2bf8922190b35e337c5aa9e20b837774127e06c9ad93eec652aef95c93376d70bc29b0b27a9c5c15272c47636c8e2c7a8167a36e9a1dcd21b167a9cd2b7b245c7d8194ca487965a33af0cb24dd3ab116729d9f821ceb6caac365f5b51ce2d9cbe4938529e7bc4896a9d80c4d5aaf536b25119f6d393c6e68429d9879bba0ff699cb7e0d3da298b36a4cf4cc2ae13d024dba108bdc81517113865b91a78ec181d428efa058c43b283e82982da40d08074529e8cb3fb0a0ec8a7090b330136087bd8a613e0adf945a20165a4359efaa02b6c010f5065149d6120f1b356d87c4f475eed70f9f912abdbf07c5326f93f603a148ff9fc0a5e8e8f0402842f39ffb34f0051d08755cfe63c7a7dcb5e0d6a6fc032d0b4572e5812550fab7d9e0f194f8aa11c16286dfe96921c936b8ec5dd50b1e890e65f933d52e2cd67526f40b1e10d2a7126284536d5d0f13ba103ee1c8b8c1f53936f059396fada04135281d7e676a74255ba49609ddd134e2702e387b5769aa1a4cf20c0c54ee986715d0d60060ab14bf7d1ba27e7ceab732a8f74d59d7afe453107bc31386efc0decffc100ec0ef4a16bba102e7e699396b2b7fc8ffcb74bcbb9d82933a490a9103f603db0c0101f85a21aa78628b5cdad92a86e236da367beadbc6c5a61849a2773349748e2dae88aa91515ba215293b4c14e6282dfe8125f34f824d4e22b6a089363efe92d3305a4911a0815ec602c7afb2a5b51e7a1971c51c0a6ef884ef3d1854504115a90df1488270098a6e935604b9666a4738426df2b403385bb318ba2040a6e0dba7839443af49854017669a385a35a8b007973df3cacc936fe6fb59accb9aa07d64d422d2a13a4f28e437dbb3cefd2492465209a209a5b1b602d32152b6d384aabf08e518912617f22450c83ea67a0bb7c92aa44f97f96edced052ad181adc6ab792b2a951ab6289c048027292f5e332bc261931243b7577c1ff76bcd0737f2afd8f7cce8463e721819932238e12ed6bd980ff9aeee3db88c5cd357fc1b118ab50214db60b058a9214c4f98629bacd7deb437c754560871acafcbb796efaa74defcb149a5b963bc27db414d6288719b9177d1fca49965659f36fcdda4ad72a43a0d369830a9fca502b153d9c286f1132dd352e5c89c7730ca6617095a3cef59c69f894db8c0b511b283314eecad6d5f37fad07bb91635c9f3f17f938ad7862549900a30364c3d256e7405b2324952a8a1b140e6c14f169c5406aa206243b0d7e47e3928815ba602c9082005d3e1c6d96d960aa0710339b72caab516d0084f56822c97b798d09c72c5bbf723f62edc125a39c78330b7ce9b1e7dcb8ffc6766fbcf28e50bd211475d0af8c341a1e6661a8c52421d6da99cdcaaa84e175418c6463b451f63b45fa7c22b2f205b46c39cc2f3b8d61189fd9dc86149c79e7cef556f78cf45960b62b3a69f54f89180f9ba292e64aea41e4d35645e83c23cd04939dab3d58d3d93bbb4d78ec7365e8e762d7935b9c794bc9afd0d555be5f6893cc016fbf0385ef66c187a3dcb9fd7f83b68e47cdbb37dbf8384ab3cb8bdc80ea53effe84b95408b3f25606a1ac547219d909975213d048f2e891d60cd64b70cc337d17d50742ab96ace357675ac5f88cb3c6e4d17070fb48259e2189caaa903509677bed84059170978d787f3d43341caebefe8850cfe03cdb891d851875810ce05776664fd8f9e8ed4070b6a62881c058c28f05c089a9ab564c689fa402ffbbca4b1da07277121b2916a5907547b73f0f15bd88c8f90b8f7eeaafa242cac80094d14bb5f2ae69301e9acf0fe19389782a9e94aee45d00f6355eaae14b9801d1486274b6fdefabde0f0f7726ed26b53e91fcfe1f55c2de662332cf340cc5bef12bbdcf375aa450e411efecf9b24bc660224cdca5f6dac89629db805bf964e87b02d01bc2d1bd5f193ef247ee8b141d2aade62fbfcabf986e844f2bdbb71547609d4eb329359cf4cd32f288c6aaa378293754cafca971df273c04f9a73887ac8731a42349792275a613d4bccbabf3582ec746168f897956575f5b69b072b501f9762368487076a2593e621f00a4c664503ab1fbc8a8c467b118bb7ef4c5fac26d3cc531a7b3799190562e3c60d0e57e2b871bb4445593439ba7c8b4156e33c548c5ab57b0109744af86203b8c3364bb6ed20d69ad40f35208ab3599c46875f48098498b630c1b85d45903377d2cb0a0797f282728d3fd8ad37a48ca88fd59d950698931849aa97a68701cdfe6d549a636ce1828fe5db7ab07c53f6d72d187b0a284b555080397450ea0254631c7aa796983f1d20a994bf7403ac23d840908323a5e4ed780c4dd4663a1f6fa4e18a6f209de81798c9332d0baacae3f462c25811c9410809921e779a604b8f2f350c4262072e29b5f7a979bb2740955453dc8f0869e6e6d31d532f19648a414a5a78f581850ae7c0a46077746501561483a16fe42ad2c92ff86abdf3d3fd2a65487d055a31fb9fde1eac74ba1c39b005d66a878886e5d0ae614a2471658a8fcaa2c2ac7063365d698291688823601255f18dffe6f6d72cbbeb53639e917067fbd8a230147497e88999db26eadbcab3b6b960bd14dbe4fd6513c436397765f85fe3eb98911b6d27539d80590e672deb0d0650af7412fb5fbbd52c3a8586459674d99aac8eeca95d7f65a685dfd6f838e0d32bc575d8f3129de6a46b3a489c3128426b8a884d61a2ca76443a6da39b9919a40cd21b68401a22999de057cfbcb19f1682b62001bf2897978753145a291f5e99bc301971ae254e90568301f64fc9a14562886fb81a4a77ce2c16a40d60484c6c9158406c82712291490d89973b8dc4a690615fade3c46586c6560c7ae3c814f1071aa3292c59e7150b6106d81d38f305b7e16e01d7616f30c5bc25135f60f896b6dc228ab357ab10548bd61c0a9c7f793b3fbc09c6e51235676c19712e605fc3e01ab3622e9a8e989a59340c7777f861bbecce55148c7043d8de5429a4c0cff2089379d45396814cd89ec4c64a72c17424f24a24cc368fe79e97e1c1151651ec08e35eb2a72830e2faff112d7b82f9ebb2b28615883d966916e8a41dbcf7e331ed5f49c4e61fa3191b3b4b7bfa2f10b754f9640a21cef71d777008cb5592f171e8b65eea4c37cfb9a7822e09550f33b32978ecb693b602216ad606a287db1978d19fd623e903fbf0e171f99e5ae9c449478ead60c64a44851824cccea116ec9abf1887798bc13b837acff919ea5fb8a786341cfbe03bb600fb5dd1aa2c43053749191b531bda094bc5a497d1d7a42334231041182bafa1043511e356687498a85483714552c0549b4df14f8ce6cf9e97570e3e80fb602c04b2213f3c16f3baf78366358a6af131fdfaf999e4d392940cff613ac9264b5e947d43831b854a070a18c4f0527ce452176cb61e74f5a0dd743281be6a7f0b7c5d5453496617087dc864a1b87a9df7f68bf432e4308901fe7b68f3762ba1a437f77cef44cf4299828cd1ad01852811a697835c11587dd5c9d3a22cf248efd41a72ef48536fb5d4cb355f836fdd783584d68cefc8cdf0b111170845e4e5b646e477dd28add4a891a1fef4b95699ae0904614ce26ec9116f8e0be4d89357d5b87b690a70fcf2ce896d6b5219de8f323ba96fbde0e898c080b17eacac7637ed53e8e4774177833757e21a0791fdc956dd0bff0fde0fd4c77c6f2302f50bc84ca6a3916782ba6e2b924c4c937be0540485e3fbdd6dfeb260e4b945c4529dc4825922d66d23f6db38d581f7e34363104e0744b3fcd6d19716ea3305bafc0a555e097bd9ccbb73bc78bbfaf7409448ef7808972099f5445c6805c2b517dab59b8859f538cda54fa8b0cf09141219707dfea48c10072322b35c775246758ebf53911ccb1c87b1b409512cd5a882badba0829dd6b948d725605e3ca1674d31f63557aebe3a26221a0df9146b9e50d876098e42c393aba536e881b1a98c1089f09a84c6131bc6489f2443e69114a56623ad99242c49df9ab619c85be5327200cdd23a96cb40466360af578c88e565c844df3c8408db8fd81a2c9245a77aa934e25690bb87982538da0c682166881d156eddee350d55d9495d932a2f2fdb2e431d826088f7693de909dbbdca179bb9679a55c6082ab50988c65e2e9b8a4763040367207bd684dedbbfc3062db7fb0c3f9c85b92c725973d468dc42b956c4ac48291dac74275b8d57683d604575e5c3734f5c863d309ef95e819228da2d0158ba84d8bcdd0d1ae3b2feee3fd94318837a443eaff406fdb921fd6fdc7c6958d1ee24f8958669a06eedc5dec4df874ed5c9699e116740c07745c30a1890b1bd051317d6d030e4218b15bf9d231ad670b1c1dc5b7417aedab44c0fd0b9f0b8352c4b47b46682e0ae14bd93603aa381f0e313b8b5852070d93967f3f91512b99845fbf73a830236db9ddcbb5ee56855380298eb215aaac489b5457d65e221f695ec574658df3613d240c0e4eba5717ba91b25f07cf0dcc359a45b4faf4716054712c870e203fe80d6c542e07fc8ade74ea6651ecbe4784618e00b58d2934fa1c81dfdac21d938986b2fe1a3879e5f843d72e906b952d1c93f64f18a94138ef91a99ae12d20110df80dd8541ec8b7ff62144cce0d5789ac15b309e0e671c2ca3c1e8657061502cf2e73dfd6ef69b0c2036569e2360bdd13685fdeaddb064d621ef31c1adfc7011105ff7626e13d52f6f1af5e0d107a371bad9bfa14788a9c7b1ebff3fdc4c63009ac2dcc69e71d808ae3e1dd2f2f5567ff607ef2905ccf5b67dd57d7d88ba0b776fe83d06be16e9df0c156c6d28910998945f39b23dca2ff78804837e6d6f32cef7f865fadbc94969256f1b145cb57b432da4fe1668be4ae36ca8dd1d6284dbfa715f0a6001f5cb926661bddfcf9a7937edf83f64dcff990052e7966f8b92d40a782207c84c6141fb2d64ec96ded79aed83d72ec546fcc70103ce7f0164c80408b5e71740e5072cb835b1a6bbb84552c2f70c06463ef5432cec9a0e71d7b7cab010409e586d44a64c5558c3272b154eaaac3d21893e87ad79f80dffb996537ceeb524b4689889f83716c479a63b63f47c01c2380b0a4ad607afe6afeb975baba515d960a3062d30aa2638cb0ccd817d4f95e8a6c9e4e468214c589ee972478806429b68f91a25e2c2a0e80ffe8befbe8b16053b2622490795e5bd05685274976c2d07da7c31a9286f6a3a6e0a49df154b3c5fe1f3c2cdd9498997eb60839b0235e216788025712d0d920237de278cc32e68f4e92072641ac92a21dd22a5c6d556264a44ba93a0fb74c0cd879b01b24311a6ee1e801eb740eaee3d89344d5200bf7af01d30505bb01c485090a3ec57010f076620071788f58b10a2b6c047892d2751f80c388272ff2b77613a70e9fcbde8b5735d2845e0f9f438065023118e58e9c60bc996f7dd4c352f71780b22753cb188320e9061058847e7d939f2d630111693255024876af83480287d0edd9ab68b66a4c7ccf46413d507e3e9541271b602824ec8e673854548414cc635fb38a59fb03d39793c52cf8e14a599ab57446aa068156b3faf33fee955e3edf6a1435a60950a65333abcc554b031605138eb8d9481b80a5bbb911b31e1a5b46818e2d0297861970060cf83a955c766a500d793c60d21ed5cb1272f407b350a19f753c4fcd3109a6d98fa3b4fc2abfaf5481aec01c2a6b9ea1833f0e63225bdfd84bf4e3dfd3282e5b692a8ca78f156652d9a0093d17aefb5bd6e217ed96abbd2b46351d83ce3660c04553d30d30dd9b7c7401022a98901eb0eef2e6769a939483d1343b0aae8d488c028ce41e258652a159dc257eec8d516b895c3bc2b7486b03d69782c3535418ba454b3f106fb52a5738d7a8487253fcc7282c36780848f408bb09518ca127a1476fdb78ac9b52a7c3cf294491f3599f3bc8a040c2481764872fe41e42d81a670d8d5bf8b9b7a7ce6fb5e191841d1b910278052a00d29159d6dc77d508ab3e35fd9560e9266ff40712bfb359e9ceb35d887f788ae5cc99f9bf033426bdec8214219407212a0cc0f2e12b8e5d05fc731ba302af073542bfc6f7d9d23d29b46747a08dd57cbb2a3f3ac02b0bcddcbf5c2840903bc6e9c25dd9fd5bc201f0bf51cbfd7be8cc56e145d6b8ea345d86994828b05f14b17e1c795b5726e1019122636eaa794aa0f276a5a8d30e6ec848338ea7b94a7d2d1429d402e3110cba473f410e05ff5153ef7137e371d0cf1387f04cd3bb4e0f7b39eceba25de8fb94d72115a3059d93babe3438ff4ac1d094482b65abc7bf4371ee1aa3c54ca3b3cb20e391918cb92c6013a3548cdbfc6e3c25aaff0501edf52caf0c2c86a2344e9e5b7956f0985cfa18adab18d2a2febfb69e61040b5842d8ac178e72d400ccb08b31113a88d519eeb078ffa19e1026307ccb3fa104955f324be9f5a34701d4bceb13652d032c1cb2e73c0546c8272f044c550e2abc4a19634041d08865804aecf3f80db1c129ebb6299797b8ea0d7b0d8db742c788b7d0057d779886346192d1bf309163f9f3393865f6dc5d74557181ab6388f779a83972a023269a67afafa46c079f4bd8f498e4848505cacd2ca453b1acd50977bbd017dad8394329a8ae7bce2e55ebc69752af1259208a0658c546890f4d31ca85df146898b2365d2dec74284357e6aa6f7b03a2b4bedf3873729da873428ee5e6b4f37d80642d40c15e5860bf5aba522e58a0bcab7d61868db9c417177f2026d59d5609d5fef263a79373cd78adb4efbdfcd3400cf2ffb25922e8c980d8c50b9ed5512b00a097595bf9917f38541fd74f3ae8f408cb97ad960a3d10c518fb2851dd8b2a0985bafe0499e4c15301a658b7c7eb5877ca2dce6d362a9844c36ecaa7cfafa8c0ba137d01fe71d29407f65ca8a7aaabb883f1fc74ce20c3edf76ae4ee519dafbeece6449538360f6ab9cc1d5dcb8f48505a9c1c05cf9f525d451d460961f4f7000024b6f9400bde0ff61ddde45d0239f7170fc7722d68f8012d07b4ba0f73a2ccccdfb400f7c4bb7d715e13e65b9a8140678c1f7621c32f61f3831d833e35430834d0a1be76b9bf99cd9cddba5539ab88b5290627b1029991ee3af680b75ac5200e7594ddb32f4bab8d31946db15797851ea99a9c74308abbe02e0b53356ab332891a62d9708cd051ea8f166ad1a6cd9b0e26ef63c72ee4d6aa7408cb8e5c6627630bb8cea7bec4d598544b4c34c389d02ebcee370892f4c070fc5e0d474286134dd74f98914f07c70c07617410fc2c034b542faadfb5d5354ab5e4d897acdd365b71c19bb0d2181e0e1feec7a944be6616d071be7913393a28908c979d06e2e16aa9d243f9b325c46787974fd2d2370f9ea14a77e7005cc7461d624b073e3cc36265be0246da9e85a8a1364d9326bc72488605a8525c9fbc18af128a8c4719a8c2b2a83c9868cb94269e1a61f3b7824e0416c7c460bcb5e692f88df3f17c9e9465fc5f13074669467163a743000348558325c254a96e3c215165a860dd3117b2f96966890aaf6f9bcb783c70c24d0404e8afd41cc7650bbee07f129c402ea8bc10457a65dc2c84117747f449ad99570541e2acfd025a1c83c2b99ccf72b2a1d2b3b6318904031bb8cd97866218cd943ad79259953c195dce3fbe30bd04fd2733e3705c077d3c5a9ff75776a6fec0c24801802efa79096a9b01d7eab558d574eef1a46680b5e497cfd0084492fae17aa0b203163a8a9eceb955a1bab9a4c41d7016dac82515937c92afad678cdb86508d94766eddb5dc58eb4b6caa92966430c0675dcf7f80a6ec152a26127a8895aa98fa2a505c41496cd1f46c55d147db7143128bca1bbdb30e005ec130317a2a5b4917c86444e41974a737926a3d789793409950f7415d01f1bcae24e251a6780420357b91a97cc544fbdc15151ba2748cb22fd28627c0a2c3d020c61d23e25a560e6e789a84475c11c4597e8af3071f2209f3d3893fe39c80389dd3b869072d60301e41cb55237ed375dec6547fd1c937ababd8d427ec60e1a37cc65f9e1e6e67aeb8efd86c9e2ad7b49c19e8c633989ffcb462a7641d66461e5f266ee2cbca9c0879ebb3d19d7e694bcfd8b7938ae48ffbe07ba1332576c5fa4e34eb826037311f323b256c1bd9e342e92986b4a465fb28af0f677ce4e665cf47af2a9ca2f1c059bc6896bbf204cdf9ce710275a8251611dbd67897704f635c951de39c98c7492af0f27d1194a8794b0a2450ac8e3d2e99ba3290d572449303725765f00907ad98de8e4f6564402516da7ce2af7b681e7f5dea8e4db5f80ca194a830fc2ea916698f68ee428a5b10a8d0e14aebe1ad2d7c1271620259768f236ea438076d9cdbd80a510383ab1673af4672c987e0c3208270f88cea41455bd28256a0813ca4a319961205ac124176744cc0aa6ce5c46062de19736c50cb523b4add046563e01e98277aa87a47271da4fb4db2b055e2d493965179093f6a04df38a173f2e27c947dde8e27040ad8c6a0a510a2fb27c89a1d3170fbc8fe556710c44cda8ea17424514ca163c2e2b01c159e4074f6758544cbcc61799f3e2122db7babb4d020437664a74d111189d1e6b07e8aebdbc9a7841223ce65c2eba08e73a01ed6746510450fe79399918559ca292f32e8a505bc5db90bae2b5c267df0983507daba310f6751537b8d001111335a234362ec175269a05b69f5314e2dad0492634b7c7da290cd6e94e0fbd73fb854e20f3ab282e422b593883146631e395b7d3844ee592038181f345338440a0de99d32ce3d2227b03a001c2106bd2a67c611d56d7727dcef9c01d8d0bfbca2a7e1e38c4f55c567cbc0b13d484bfff0c9110fde6242e486732cec559bd4a64238f5d53140ae6a121443d22cd53c595db9dc2f6e5c04bf00a9e7d4b8ca3028bed7aebf07ce75c2380379aa00209a375a89f2b760cd1affdd9f86713c9fc11cc925e5e730c32f5d2a842ed2f627a7afa0aea93ee3d31ba493f1735ccb4e12e41fd2a09fecb917b29221aa427330dba5dad8489d3f22c6b42578b7d68087224df5746b1c7bd91f0222c41af6ef3b02e17d6ae94f718a7e30e321e05283d840996debe28f02369f584f74c191b44b3b97a3920c48e4fa0991e6bb946c7144a5b52d59ddae4b28755bdb9685f39361fd08d9bb7b3fb960d33c7954a6c01c32027b9fef155f093519c28a502a7758a6b1ea98a68e9615d9c28395892f1bc5385dcb1c33eeddda1b796cacdff67d87b47f036f188f60dfae214c8cc48e890eb99e3406c8b5b46a026289211302b9a68614ba2994c083bd301b7eeac231ad8006d900295e8508840e260cfd3a3c2326261f9fba39416bc9995bf5d42748c512d822c1df665648d8937585ae7ba13d6a6501fe1ea6f6361d5a59301a172c0fe674772eb06f8a14244abde246426b8d88a8e4333ec9c045b09b69d000e599608f4221a47a27df70d0b69ed86ff886807cc389ab2185d8d16b22ac65e17cc0696589f1ca37b0c28a6e7d6df09c1801b099d3977e9d2a109825204063cf993a5f58430fb29eefffa1659e3ff3be915b7b40c1bbd754a4406ed048a8e93a783d673aa311353780bcaf07727207bf319ea41213f8149c4bd397c6a4d42a1be801458442241feb07f25bd7be9f64a93020ced597d2f4eaf1011ada5121fe81ddd17e8b17f4a06487407b75571f3fb8494289d04fb6ec46f11a3ff8017e82e5be46cfbdc608114bcc7c1de1177e0ded04065e9429c920f8d54c2a5dbe16e9a7b901ac45b1185b640019bce693f0cb8e3c1ea1d13187446ce51514ace64365422ff3d908342d69556ae206b80c49ac1e95b29c46dfdf90691cbdbd63c0a249c18be2918d169ba2f279f80627f689c313c2248e9d2fd0addb34abd17eb33d2605d6bdb92181c17c53be7fe34996c625283ba5e8331ee3269fa71bb36a0f1dba70b3d0b5e75be9b823d8e7171c1bab3bf763d0c5423f17f9a3cc9e271a8fac53d8d09364ae57047ce15dffee6479823e177d0b702ed420b9fd436b030b6e2ea3f17cbf5074b127f6bea488441d61c4dfecdbdbb68a7355d1111111ea8674c9844b255d3c4481b8e778eb96a4e7811f06920c92050d816e6d0f981788369d34d3f6b714019fb9433e2d47a2af51e4f658d93f93947641175a0f53c8fc58ba37cc99b6c9cff73bd9d4d70654b2cb453aa97e911fff0b28269422ba4553c7c46cf2e663910bb6cbe1128a7d409fdc8d2e9c3a8616714f357ad943a533d0cf3cb09f1956622a93b4c0178a8156844cc5976005ef22e002bf4dcdf2093bebf4746d1c8d35ce321ef1a2e32701275e827429bac2258071ed09b26ea4ba9f73e0a6cdc11ce535bc3b6af7463d20712f20848382ee2e27bd9f3226a3ab4ed3dd260a1a43abff6df6d0cf6c65f2e266a42c17444815fbf887a1528b6bcf83bb4cc6177c7d4e15b7382aeaf5c302de819be4536d2f8eaf97c98842ff0fecedf42ff5c38a7d2e781821245d8b7e448e902425d03a9bacbc4bad142a2f600e129969e5020cebe5b7e29c7b77c801a3e943b1a6cb302742a809d7906fd2d800e4170f9fd1e2141e8c77fd66a82c09666bf9134cd8956608757c1d86f95e285bd79b94a396d06a997030b9a656dc02d281885ff57b9422d9e1ea888023ac70d3bc7398e65053bb113c79940e5edc3fb22b1f36ee8d1ae4064fb93cdfd1b5b5647c3fcefa643c0ba14d7d0bff895f5310ed96cb75ee2c26ee3a4ccb621ea3f627f72aa5e7a56b087b995b5cb577799ca7b6e3e9bc75638781915c435674f034df1be61b9da6ef53ec39e8a9e12611bc6d97206eaab9a3da5620b22bf0b9bd4889336404f40f88c1e3b2255408149573241f7cdd7e1145d5ff1c4b6268d0032e5b586d6c66e3fb80ca0b185f9787b86b3fead0ce13c6e2f3cca732f6327a7ab271f0a5265a3c935a2118e4a2a3137b0efec2a1a2c56301cbfc52a841407d2fabdc98a7910462b7a16ca5b1280c5421b5bb7b5a0317a567c3e2510826daae140da198dad1640d3cf24cdad8971a6e895f47410109f2fc5b4e4f35dc102c90623e4ab3fb4845ba1d432e473bcfd67cea5c032c7740917e182effcada3fb6a5e046528db228c79756300455b929dd0a827866b3398903d22e4c3bf1daf77df4cb8eb04989a8f25ba2fcde5ef9b8e5eb44eb871679e0df6a08d6b0ba8d0993c607292fe277f78cb6c976439135804c362668017a36d5dce9804972653612c3b8e1c25d25ee519984b9bfaf4dc517d6496f0b38439ae9d7225795acf78fed12596890c916559ef43463617413fd7d2024107c121684d485f1be22171ba1129a4cffd4fc1add4bed2083ac591f871a0e05fe9a1ff2494a6063a81455895d34b3bbb10c03a68e53f6d9ade8d5ae7f8da33fe4750fdf7638dc66e7fd8fd1da16e9c2fba0d01c90e80d0aae58f11acef1a4a2bd4d401eb4915c3b077a0f1f5e416dd2c97963a9b752868b6a505979d1af0eeb2676e4411612e94507ffc5067c50cab167ea502a39e622b5b4c1e26b4423b20880210106c1c7d4fce792351e7961401d4a865ea190f2e83078b39128ed9bc309e5c4732c5796dffa2b26247353970d60cecb37f0ecbbd6bbe051a05a015bc46c50140d63573101ebdbc2da848472aab8046a2ada3859eaf2bfdb294d9a84c2c0e84c3383dc6574aee11b1ab69549bf54ad9bd5652579ce23439284b007369285ccd9c4ec954fcdb13f877975b53dc0798b373dc45219b3425530b75e6235c71375fdd8ef7d8020edfcf7190a627dce8bcaa77e64c042cd53745cf02a117fb024ed7b8afd45cf0286e8c2f2bef09ec1653fe0ad349a4fd0a7ba26a1066614e55837dfe3051172ecd3630d726cbfca7c8e80aa879a42a463d46ebfe11c2e44c41dfe7f330406c98dc2fad6665c53bf171635b9dc4e28f12b9ef2ad670b79ad2d22b97d082938b6f33d88a5c9392b0fb9399f57348f2a5fe514b739740a57755f6f8ea363c975dc7db408af91821037c348d3e683f4a5da3b28cc5e4eacd02d4e4c92a8af39f328996884d49ce507a9d1e0b32851c1203eb659894b033db66a7bafa97463e82fd13cbaed7f44f007888349e2bf819a3f1e106a2cea446424a524ec81f7c4a037fb195ee5da565675ae64291b2840a6b58bafa55071f2b5ac716c0b5737d7afadfa7bc58e67de8603c1af014c01d24f2a2c210f5625bc0d908d5491cbf8da65278041877f3ee72dca53dff2ca1b4001c8f1e05ddb9da525823622005563062b29283834b9f74ee0ac3cf578bcd93b5961d0a3798fb248e27846158c0612f574f23953730a38aab4ba2134aff14739e5fe74cf7c25e4da48f0a464119be5ec8ce747fdeb8eef91e9e4d12c4c8bb28b0ab1575a1c338794059eaaab8053d2f8727d96669c9dc02516cfa0ff8cf595ff761c519366460aecf5aff8ecba42590050a863bc29e498f6f79cd9a4b67ce4c9c687b03080dc6b6475041fc29703dfb11e74f0eec05a9429eb9265d771028ad755874cf78f757da61c24b7ef89e82f4ae442d88135f00ac31988733d0d0893934f288b0510d988c7b364fb02e39bc31e94c6bfb7ef564d45dff65f362c99108957451a6d491efd43311561e7ef0fd49302fba0336e73c49b5e89e68327f213e9e4a24771c692f381be126c1f4b94ce6cc2ad2692df94753f13e5c0b780f21f3733412e28f1ddf21e983fa8d02c542abb76198ba5e32193498f15f988db72b67a264d0d7ee6702ec4505b9fda6e299941067abb68fd5de056f039f5d9310a4e25ad5edb10ddf0a19d4ad03387d24497ab218a5a245764d60adeee5fcb75a016f25c04e61acd617b7b479d48b46f532e9053fe5c7f217a9f6d81636961f420e7c95aed975e6a9b8d9fddce726d67dbd553dc497a24ee656b3aa31b19ae1daebbfa7ab5b6fe17bccaef0d39999f23d0a52ae5f50d738a0bea4a602f142fcdd19d87b8dbeb0465215ab405914492027841da91dbff1c520c7f9e89ce628841b4491d4aa4ca13a225c1c0f2d464fc163e6790e26b86b65ca07eb74f7717285ba1740821945f418a71ebedc8e623f049b3681322666f7e3ad9c947cc44972832efff06d48f108a5d3693d1765d50ae7529e96164ed456771f8afaee08032d7ed596e57b656580ca909997a7ced3ec5b16cbf5e088bf5c949d517755bbc8f140f3606917dfc92c88936c416799bf4d6cf16bd5af79106823657a74d730fb3f912e755791bef4b76b516640212f055853ea4929a841034a967492246024134a82fd89a4ad30dcadcb1e930075a9756604b5eae171be12c002fc2a29be01f1f165acf31c03d6ea79b6586728186bd1bd99e4307e30709e00ce95ca7d9cbd0e90a658371f4d0385e105e78afbec8c3ec2725d3c5e0100e1ae25d0359beb8dafe59e2aeb6ff56f2767242abda74e5bcb1016d8f46708f172c12d584fef44b4ce83cf2767865b641ba9dd3f4aca516e8e69684fa43b6519e8366c6b00e3a65e95158da68871c9e88559d45727255ff270e648e56055ecaab0f91149b13c069dfa3eaca1ae8c1f7540f72253f09d3cc3a8c345993c912c611fcf4055f7c76b375cc73d91be5207a92c48f0e389a41a9db2bde632ebe110bc7f34fc4d91132716448057ad4c98b6d6c83baba7efc5f6dba8020914f1ac7afe523d9563061c8d46af64184d181e50747fc7351dc6097e86f1d013be002d341c59b474c6ccb90bfcf9d92aaf07ff09a84b037eafed551165caaa1196855679e57c22a0f198e9035a6ad44d24ddd4e42206d3f1174a0903ba49a46511bf24a15a12d251fe6f108036477efb0aeefa4a27ff9ce02862c200424ee2bb0e4ee5e5474ff1454b9399020712a9621d0934b8179a06cc9e08887c94513e00de98b569294d48e1a259332d5b501d247cf5e46912903d987a94d1fa6f6b4d1d8f12c62fd2baa7286c1b3e455a5af85ead1b3d9cc5ab44704bd0ed011cb25fa2f2e35e883a280c8f6638119f959c3f51efd371ef57d07143a778c1c524e44e2e3648633588f690d6c4e374215f4501e5dec4d8e4440b6b80607134221cc0db3a7a1e4be38025e064d6b3ced92ff8fd9c28222c400b82918a77fd5c5d21d5b6053a1337bbfeea60157c1ece22462eb4c5b22846c4abb5ad98a17928b1a9ed5faf5a2592d6624a7a0d390a8ff58cb6c55d3a90e7fb524757db0a9e88c5072ba0bd3d2493b6084c33e41d761068b08d3dae345637c60cbec746eba1252ddbdb18c085706787d682c0a05419e06b8c9de6ec4501c18832517674ae24cd18e29789e71cea1324c646729db18974895515a528bb03b73103f2e748402d749fb9e8cc4eef5e9d375a4eff6e2da3fa96ab01ac2c0060e54fe799183e74fbf9e67b4022b357da51fa827f421d7ab610d5dea49e9a4ec27e1d233aa6c3183d5abf3b1862bbc1bcb4d366863ee046e3492d553bbe2617b661ece3cd4ac520f742b325090bdfbbb6308e10433e5da938e349af8442e7b77b39eec4a5d8fcd834b72bd83163b74459d700b9874a0ce4d4f9d69ac3112d0b7c70277a366e24c3fc63164c8e53ca19080edc01795b907ebef34fbaf2f75044e30d76abb2f149b08690dafcedb79180e9936aaa8baabc7489c917608e58a3ae9b2ed5518b52db7cd7a8ebc969285f848386da2386ad67de08869d1234c4e1f5a818ebb18bda143eb07e3174e99aeec601da7281ad7fdd7b79e1a894ca6eb28007db8563054c74dba29dce1de25a3a0a83f320dc4662ec64944f793788fed318f4c11b05b9b3c023d7a499e5c41a86e06bd5ef8c3cc02ed7c59fee9b8fcf5846cdeeafbc050c16d6f60b22ccdf6c902c65762c46c3f610442a8b4294b883aded873aa11ba6f172bff6bed6eb4c36bd6be171c9636afde9445d5645527243021259b11f4db71fa23159f176b1a47f0f3034969ec37a2c04ef40f52d0c9a777f90888a1f41be03bd2e4d2cbc4d34b35ac973b0379c18f96ecba830bb5d2548ccb10ea2c7b7213068ba1dd78b1d3de51968bbd9ebaa97fa3b3264c691a94f7bb1a57ffa91accf8a70a1333bfe3dff057d51b3189aed92c948c27d51539a1542bccd8d95d7647db196870be0c269af1e2102add23522c1bdaf6ccd3cd92f0558fb6e1d958187f502d03ce855a477801887332edfc1ddb06482156c6c37a8e44346588d94c28a18381201a5236a08148309128511049dba8eb8e3c817aafd9a26cf35b4f50fc1adc46e586578a17671e78605101e145260037dabb49185d4e4632354fbb10d0fe92da01de93da44702f44740aa7720078a7038681cd6b8900904e2524016f9de484396208d9dfe61ef9ff8482f4d5dafe0f05d7a04bf920812ee9cf46e0e359f85a11d8d72cef126a1ba1d4a0199b42e23986c2d0c1d4112f959035f2cb918fa929ecb36c5c2646c76eac1a1898108c3a795f7295d193aeca8d855b0be2972ea8712803aabdef0a0598b9de2dfd199bd565ed6b1156418d3a3682bee9df69cfa5c256852fc945b0a11d0893460a69d761e8954e2c1a717c33a72b1554e336b6c644dedcdc7607686f984c4db1fcaf75757a346d0c9881b3dbc13d262f17c287390641841aad11124a8c057af05156a6839baacf407630b088600abaf3e090db345fe34632ee5c8e9104cbe139e127e9b1168aa1972b6539bdf60e84c4d9ec92da586aa6e59e0e99118a9ed16bf234cb48d617a63187820e9297ec020737ea2e9f5262ffab59001e7f093aa6bc02f53a410a0cd1ec844320041265c238dca9e38cc0716c114732dd0ddbb831f4ffc7c8703572edfb60450ecec903641d3369f5e7202d8ace65a4ebdce4f349859496f5ee6015af4b13051581f6d0b079dd69e4173f8e1c0be01428b9f046ca0cedc125cb55bbcd3efab6ce3c561ff4dbe4a8d845ed34017b45841702e3760f5a021e472a128890cb5c02a8955a1830bfb24775e3a232e4a6a7b53dd8cffc5ce873253a6bd5137f92cf555717fccb6c6f5bc0ae3c1db48afd39ddde1bcd7453265bc39c4f14960525ff9b9d84cf76c68bd4288affb22c6e94064f56026c81e40c05c9b0379f532aed3947676c292bd8d0ee3555f8fcaf5b6c8dd82e785dfb49a886ca28cb7d3f82e643852067a3ea2951b40e8c69cc11a841f0ba2c1c5e91052e3685f4e0a2a9c79ef9b4b54de3390f3957ad24a7a856dff0d92306754e1cc45af9ab6c58c3ad97ea6707ff4f31bf3075e31959973f0dc47e010e57476a81315f3e43aaa5a71c93454ebdfd1a9f6c7871a5971f1f7fd69ec5c20e1c703bc164305471497de6b8c06f5981b9bb4c330a965340fce2e6146088b32d0301b57c1d5d2b0a10585d57d52be13b292975d6e70f7a35e98f522254cc99b83aaa523c91866aedf41e1c430b84a5404845f57f16926260e628a31917afd496812a61bf5ed92b0bc237a38ef0ef63e8aebd1d7b7d1994e0659cee6cb5b4b6f02d9974ec1015104522f770629415d5fd5dc117377b761e48794e5f3b4f246c0ebf5ad5cabe2cd9fc40cf424b1ebd87fa74621d5e5531285309b8d32ebe0d9930192e3a89a4d2a7d1d4e074e4b97c6f45781f2f5b6a12782c9d5eb99158765c5ae03cca9eb6d6ec03c0f50c3518b4912ee192881630456cd162a080ea59429109b21d056abe684c6721aada9c169411ebba98020d62fdd15fdcbe7531f183a9660dd6c160a333616c8d12aadeecdaaa7c9fe59c4e25f1d1ad764428be6d12c1f0658ba5d05f40600a479dd9c83704d9433f52dc828729273692df49c537cff82304ab1ff4fd1b1b69df1c9468d606d06a307bd78e05aa3da2ea58c7537d79541ad8cedfede1517fa48bc08d891a350707bdf432a893f50ee55b34742967274503943b6299bffc7e11fccfd4bde97d31c95f9b1d8c69beb72d03c9d4f13a87d645c93f3545a2ad3452c9e584d1f5cb969f4b9dda43b16d2ffe09dd630d9ac8bc4bf4cbd73fc2a9df8c9b9a9ea9474dd804be5d6433e8dfd1fa553c712532c0cc60f4122eebb8ca466adef9dbf1c9a237f414ea7832f97511aa74c215d628d1bbd5474174e3c3072162d420c866128c6376d17db224569617c8b028c2a8c55c2421fcd88aaede970f3998194806d6b5a0644c08947b32f0175c66c591893a5a22d08b618e6451e5ce69ab74b65febfbd3e6ff3b87ee7a3df4d04fc5aff0268d5d795720a9e74a1e91fb04d1461e06b69aa72c48c932ecd0893f68a775ba708b72895bab6b46aaa5bf05b7828b152796077630bd7190d631a785ba58f256f16d45502b31710239a8e2c025cdbfd35d52056975e7828b12df5b9a1065f0e9705f54cf8ade691b74ae259b8a0da6d53f5b763b90e39adfb20061d77a968d90c284997bb6f28ad6344b4b704bad21bc65b30145a4d0716b7d579365aaeaf0cbadd8ccfcaa91bfad8b4e4b0393164a5ef3c18ad3f885bcffe9cff11d2022af41d5f598a0eefdb27bec5e2b3a19f850ca5bd03954ecacedb110db93c659369580ad242dade7b6fb9e596324919d40b000c1e0c9a7614040d68f8c08be9d339df3aef682034c373ddddbe813b1c750d88d6ae712ff8d47ac86ca86debce33fc8633f59e9d086eabf376e9b8856f93dbf9dce9aca6711cc755eb15dcd1bcce9bd6ae823d643a6f62072a3fd7e956dbcc3e22c207694aed014f9eef4485a710cf760b44ab4dfb05d7c01e32f3c3334d23a52b89b31a1f78dd4d21e3a44754b69453ce1ec10e22d36b8e83626f51877233ce6b15a6569c1474320044f315344dab516a47404dafb98c02689a9faadc76e93e9a91d731ee88d208353535353535351e8a522a6977374f943e24fe51f3d47fd4bc74ea328654ce14787126cf98a399daeb88bc1dbc845b9df60b6c212e5174d34a9386ce24228f2e9227507fb25463439ef43ccd8bf14c0fcb251a5fd25b69deac6ca491ad5454c3fe58c51d239ab8899a88c845c648d60d93862675ac8946d0b11e6a2219a11cea57cba34c72b5dc05c734b99c857377ace8e6562a6aa5aeebbaceb51c8ae20ee9791e95316d63e18e556fa2d9ba5ee76a855932991e9b37356a601c6d85eeeba587a369a853fa9d7bd4ab1cc7b9943c71870b7174fa4529adb56e1e96c1d3bccebdead55a314ebf62d2e633d0db371dd74af2842d769bc63cd67993074f3d170d1daea7813b1da65ee7c91ace80a363019ebaa4f285a36db053af99f3c5bda9aa81875d45353ccfc88871e93742199b34948667af997c2ffd86e7550d193cd36515c984c5cd7249c6753a26ccf2635cc698481e2d73a78173ff8d274d630e39248942a9a46924b813ba049f8232d8f01a38c80d87915ec3252c0c25911cea588b536f59aac567e0947bcb64ac48c9e7e656ea2219b39fb5a72697c5ef0d13dfcc3895224f58796cea2a550d6e964b2d45d3ccc27e92445d4a913c64933cc193498839a84b2ca78b8b8b475b29eea8d2361a8c87de5d845aa8c128c51da15397cee5e542e3e2e234af10db98633a75165ceeb9b77d5d38bf3bc88d1a8e438de93e5c3562627068d88d06d8f01b5e14b26058ce9ac16a62794c8843ba30cf6c9a4161706e854d3742970c17aeae595d61cdcb2a553c69c523b833c3757ad6eaf219e61f353129fcf49890278e81b38fe96138bb174d8cd384feba21a59c31a164622184f1ec2ec3bde985b927f748d0e53374852d781ec638d7b564ac86cbb3e7322e63adee55c38563cc913d97e13a330c330cefd5f3ed47109f1b66e81b93a15f338ce05620ee90d97e2adf4fad52ee492572886853c921fd0ad22feadd1077ac56ab55067e0c0922eb4a6a2dc3bddfc018976e2beea54f2694b295ba0b19932e63324601311ef3a3e6619c823b312e97649cbab4d23631be23e39e4c583d8f60f5625c55635c152313836dc0008cf7fc8f0cf4cbbb21e6a07e03751abcd5da5a1ee74de79e65cc4606605c9e121d9767838b9b655ca2540ee978ae6363629ccf5b614bc64569c5ea22590355c5a61a6aa08fea0f0c13e0820c1598a14adfb619f77422e879b62fa779ddb051a3e2cc755d28df0b318e0e1237cf9f9ef1ae468d1a356ad4b051c3460db761fe31f3b5c6cc04f28605fdc0f981f303e707ce0f9c1f385878b8839740bbc61d314ebd8518ea1bb93469a8f48ef508220f396b62f254498c1329019201cde61713f6c7d0f8aaeea18dafea61f8c557752fbcf1555791a6323d9530a8d8735996f192ca78b6335c9eef8aba9444a1944997b966c8a45a06d6e7303e9fb3f8b07c857303c51c74692697344dd334a7de494ca55399af7336d026715e6149e452e639cdad2eccb66aaca1a7efc584fd52d6369e53f7d0a97bd2a3737ae1ca65ad39f5d533f72f7f85376cc897ee5e96cf13439761e69e73897fbc3ef4067b70208a0f9c000a43fa5e8823edd74cbfa8cfbc280a9ce82596b9ea327a9ee7e157bf5eaf35d0e4823a465b08cda96b7489a7276827344fa37ff2e68b7b5dad55ba57ffda2674cf6bad5dd7755b8b0efd214fa05b87e78e4cd7b994e9bc86fd52c637dfdc03d22f8a238668e6e5137902f5cccdf0ecbdfcb0e74bc3f3ea673a8771206dc3c33975af0b81dcc0852aa49b23930f19d7e999b06334c216c2610775910e6aa1b063fd92e17c09ca70c36d601b2e619248e53406e7eba22a9f8173d306f2664b291d6e964b4024017182f75ade682cee4db9f4d9be7171f1e62797e28e194e5958aab33800429a7006b6314775ce691786a18c124a232945bf62ff903ca4cfa5f403b14a0b9b771ef751f085cd65c2cebb1b64387f822dd81ae4e530d283f4c06c380e365cc222b8c3c3b98fcd46f879c364d8e3f30de4bc7c390e0d7b35e086bfaacf9831f30b6bea8679649c729146ca18ecc2337c5e30dd866900d2361de6c940fa455f065387719d9ee112e79a97385f65bef318bbfaa2018077384b0086af9e65f8ea0008b948239de625a5ecb0cebca15fd4e53362cc21d3c5f8866b7e15be6c91363c5bbae196185730ae3365320c301eb18d39605ca7bbce73cf6b2d9e67b28ca506922e3b9712c6e5923ce1c72b09cc8e5cca2d63dce9be8f315098307e03cd16f7fa0b5bdde562903cb878827449bd975a685dbba19a7f1aed97e65bd88532ccafd73497218c6f1cc85567e92493f7c9b0d6a54afbabacf639d7e91961eef08f9a77398cd3704390b6e1ba8d73968e73161b30e082091b6cc00d17c6e917e7437a27f402d7ddf84e60dcdc40426d9337a7de419d53ef22b6b361fc1be10b7ef11a66187466f677c135d096065a855966a906b9ba615e3d0af453087a04bbe942fc0eff78f57889e203275e7a1f815bc3b338ffa879cfa7e7799ee779524a293d795f9e5b349efd01e0f9f59d0320f49cc6f3577823b41136a0c3793a0c2f379e1ca2128ffc0e67d909717317719386abe12fdd0b73cd7bd2864b1b5e43241cb061c3860d9718890770b8e139c02208830d1c44c26ee03869bc90ab4162c36db58163d3cc1a376c9c9f5792a32284de848f47440ce13d140592816420f427f6517d7a471f1aa62d0091df1aede10299ff429c01a13fed03e996e2c5193a75ae756e06f7a34fcf5c8c8c8f781383a78cd1173f816240445e662032c5266904829f2e8d66e73f5edfb9e32e7cf94c086efc19dbb9f5d1b9c52fd98148a738a7751ab6b8675b5e05a2455e8b469d062af22a50510301c5c4c8c8c4446962f4d42b2bd670639426494fe36314144c790932c06380e7d5759a862d3e7b501bd2f6ea2c9e1767852f4256dc9796872e619e046a1b8b795edcabaf199e67de66196f5da68d0ccff4ed7cebabbeb16ea590274cb7deaf979daf98cf9051c00c4829587ca61c065b9cad0b66f10d4b298ce20ecea77b32ad160b8bc7dd48ebd6edcdadbfd9afc53096739db6b807674359336f647ccae0e92acff6392c6f942b630401bb6d38736eade52cd800fa3c9ebf38cb653c823b3c2f326110771817eed1f20de4bcf5203db0d0710871cb1b266196b3eeb65fb601312c09d4361ee629d23615f36459a45f3d4fb114da71719df6b899619ce5d675bae555ce5fdc86dec6b90ccbb71b1ec65fc2dcf3ae22945c41e559eefd045d9b5bba6117b48f0badd559a1871ba56decb49f7bdea50097bb5ca7614220f35bdee08e6b723e5d3eabcbe5e672e9f208eeb8b00d186879cfd7af0bad47b0651d10e331d2b0627cb65ca7bb10a6e516b7e02cdf877da15e855c1f2f0e646a5c986de69ce53ab315c6fce29ae6f2d6e3b35e70c1b9c78be004e2a489712e7cc1d95aaf21f596307e2bccf25b1c372d67edb49ab7421be6b77a6c38f30d5f2903a48f8f8fcfe712c66fb14f69759df95c78c3d730dbb778e53ab3fb9cc5c8687e8eb3f003c3d517fa7c45e05aab85fd9c6d800cb6f2399e1c7e63a19fba17e61ef938b83e3040dd3f7ebead99f3d637cbd91c242c06c70dc88421469a48274cdf68a27192684a49442489885a3d904d4812493621cd1b1a5a34cc9b4ed2c4a75fd0445ebfa4e04658952b5495a240bc51e10d44ec25691ad7aa35e55a0bb79378a30343232585441a30493be1fc0dc49b56e2a5daeb30469f22763dcfc8f8b9ea1bd9d440af572cc99d42b8afdc9a4eb881882412a5944a292391d7bd38cdbb2595484df4e4db65d0bc49a5b024d288660ad3d034482413dcdc44ed4d449bc9f64afa45d432a26f246b91909aa8897ad6276827da4943e9234a294da550ed82440f1b99b0f097ad5fa7a57d5b53a5ac71a126ca8d303a2901e20d878158cce37bbec4acd3a0c82485c41b3b69029508f8034706d1992472a5fa7cacaaaa44983059f16aa40f91952e96ba6a456829690af7e3b54481a64441b2335386f42b22cda4d8bccaaa484d510a2645955555b50a0e9112ef470b00593091058e120ea118655555c521a55f9abb2d1267d3a85f9aaf54da90ea59fb017756eead42964750c552e11f9f952ccb6a17e2b33090d9e359617c15fdc9a4a7ecfb3c65b2bfd2349a6bb21d164c9b4070b75a6badb55adfdcab362a968c2baee6f1e31109983c7d2b855e9bb039659a8d75982256787db89936591f16c3f80ac3b0700f96af8e8640facdeb7cd22f4d8527132225521682bb33652910dcead72bb6417e5eb9f5cdbd28699f360fabd360e9e7ebd6b7d087c540e86fbe6dabd5ca52d76b4cfa2646896924587a6dca8a04bda6694a5efb79cd57b6cada66cee493d7a4e6e3abc3bc502190d302a620c0fec320ac1ea0400907b0202b581bc2bc805af57ccdf125200bd5abe1ca2508830abef21aae60e19295abc2174016aaaf1ca607caaba35e40f96a8533cbabaf14507d857db0bcba0565c87198abe0119c408ec37090f71ce40b80180206739db641a27c15caff15300c2f41b90a61d16b9e13c24020478369e00ecaabe64950612a9cb2703299452c47ddd5b6ad56f75776e59b542265ab908525d16968860877001de72451dfe420d11992e33c38ec7d759758cf09976cac6b43da2fade28c63c3f1033757e75ce3fce21f389e853580e37d707e9d5bb90d37bbd9b95af9bd9b6f386fbe729dde5ca7579bdbc619476c6befbd436aad758563bf38df6aa037ccac16ce3b226e8b734e9bc02437775dbd10fb5500afc1b9c6eb4feb37362f1e3b66bc0acdef6f588b83837363e337be85407a4787eb348f1d3c7c8be00e0aaed3353c823bac0aa41facdbc672afb26cad95366ddbb66ddbb681d51b823679435c6d73cd69d8506e57d830f61a2846e475fc54791dae030457bcfa49cd6edbb434eaf4c6721dae336f74b87c1d3a5e87eb747f2c168b7559ac8e759447c1b37cd614258f82a3e03f4f58def916deeaa150a85a410bee8028148aa22e6581e5dfbdf57af5beb863390a3c9c15c687e9211f05978f827761ee7914bc822cc847c137b08701fc007e0ab3b7706e0dd3cb5ab74060045b90f1135ca7b5af82d56fc2145248c12b58fd864d4dc15370968dbb6d355ca7513d1f907ed7e914dbe6843a9d70eed169e971df67adb5d677ac95cd846442b32a1f3f2af968e4a4cafd68e464ca096401741bfe85367aa23ce85588c8830e82e009089480604afd6a68fbe59af11977f7eee5e573717171912e2e2e2e2e417a5c5c7088dde7fe12f2b0203fc65ddca3eb34fd6cb8771df5ee2eb810e74b4be2aee0028c0d5be04e7597e08bdf08615840b90cbfe1f163dbe4f8bb4e7b9edcf198e32b3804de77300e307f5f01e3b0240698bfe3a082e738f60f6170f80ade03cb096170380e1c3886f715701098bf0751c173bc0726c11dec119ce13a3d691c6f78db585b0477eec9f3f737e45e429e9d1877c12c9ce09fbb667c46c823ff9b99c1b15f30f8f3e972eb721bd28563bf5ef8c3218ffc03e01ce327f88d50be8e0b6dd302eed0b7d6d6f02d64813ba07b12e4917fc3239ed102ca7928fae1216887261e881efc62c2f8983699404343abd55321cc7158f83e23947f2394efa1fc13c2eb58fe649a373400e5b80a2e430e56c16578987b11dc6060e18ca302c06bd872da4483c6040a731da4c10676695162981ed7653c3eca75340ad6886bf85421ec81ddbf11c6f7303e0ee3c3c21e98cccf958f1f1f045df2bfb64179f5bcd3e974daa93805ee541b2a00741bfa7dd8163a778530d506cc6be4f81722c9c130d573fc31904602c33015f740c175f8e3214b6e6c3c070f59c2c37970d8921d302fa0e03a1c05d7e15e4b84f2f18807a39720887ba946d84a46b83d507003b801b08fce51f008d343878fce75787c1e3e83b3cb79dcbc70aee1376ec383b0506d8e5358addbb6d950d8f6ab6207bdb2fcf3cde5acb086df2c5f8777283818e620cfc3bf3007f99b4e478d1048bf0e778540fa51704f5ab7385e5348c1371cb7215ec24dc1f37d9c14dca6e016c7391c8f200b29601c1e3b5088e184f426a457faa5b94da8e9083512dcdc405ecbf7b58dcd9285b30d6efe582c9c7ba27539b8a1c09d6d6b20d0d5361557ef03a74c7e785353067e5e01527e3d0c37bfeed12f0cf1e6a930cb4fb967c30d4429d65a16ced5af67da940a4f28d7e91e94ce0caf16243301d3d0c09a73e08e0591b8d525517e7db5516754a22a008f91874e3c417301b84614770c6171568ee7d67bbe341efb4605a7711ae68d0ab86730fc38df1c1e2b8caecd877596b3585efd58587275d6b66ddb16e4ad6f28bfb6e76ff82364b9ced482e28e48e3b942f93776772cf0d6dbc20dc88f3147f50862995d853d6fa5fc45852c7e43d64b10f563fc6ab5f216e2aff0ca430b7c5d9d7cfb115eb76126c05f16dc3764e1299b48608db788349f81b30d80dbc8e13506e03ab3268c5f8001cc06300027c06c001e80d90072c4cf11e6d60b20cc5a92d79c0600618ea19934132d2e0367f9327048c33d2fbac0246e8e4c4df345f3bae1da102d3e8b03c0b59c79a3f9e48427d74e7e717e9d4e6eb593572b11a85f31a4af719a1e94fee5f63ded3bea61168f7a28d27e348dc8a6d4c50a5ba27e553096e4527b713305e335cd7bd636a06bde52ac5c730a46dc113d16f842dbeea25f35bc61aece72097a9885eab6957a29470070b8092658bba9e011c6caf17708c05c058c830a0ef3c7382c89410587390eef399efc7a698946694949bbe12e1a42aef5fa9ee31078fc82800a18861d86af61ecd70d4ce327d0788da531c1843087d79c80238747702700618eb065fd3201c70def70a6dfc5f02c30f68bbee7de7b0face6f87b0c39fe38c812eb417262c8f1f7c7416898349ae7e01e9885e1ed755618df5ada14661c5fb1c7f90d338d475001d65f2ece0a5f6c9c30cc0bfd16a3bc8609fe0a3ba85f9ad3840dd42fcd6f8426e0084d086bdf489856bdf6517dbeb5d6faa82edf9345455656d4da06e45b6f22a28ed5b089aa869b88156e60bec53cb28948ad8b88b8f173cb9a88ac287645738d0850dbe426e2794468b861def4c0349a97c77973a3bb5e93e31aebc6599cf8f5c23770bedfe1edf5aa9934d5abe784fd49cf2b964cfdd2c01666fc73262b2814ca63bc69a649a3792cf722d83f6da3c13c5b153cdf15723ccf9b77eb2b842a84b0304e1a1b1ea765b9e71e2bec9ff611e2b27c48bf3467b94e7f4e1827cdb471aae19e046f6bde43faa6bd0d6ca1b5306e9e407146af588b7296dbf0e28c23e3c4f0b5e5357c81e1597e6beac54bb85e5915156696b358f9b1b0cc0f009d45392bccfe2ccf862dc4b7d723b8800daf70aecee23d5f57ae3335a2afdfe12a4f60719d09b2386dd25ca3c1b9f5c2f9a2fc06ced6e59b8d530decd25c2ea08a81a6ec73cdda7b5b2dd7eb93a57c26d4691ae16412c1f0ab17cfa2b65961cd637cbd6a6a68536d9a349ad755980a5143dcd5ca759a36b15c63c1d9b250f87ece0a33f60832a0730f57d7e9cebf30fbe3946b3e99cc227027e55e6a950aab477055ed0a03a96fddfee83c55b3726bbd565b6db555e9ab5bb7d55acf31a9c67132ca597785f30cbfb275b55a5d9c617814cb6b887d823b38f66b460d51f847cd4e8863bf1c67fb335ca79b6986cbe06c67780c9ef91938ffc0f1329ccb2ded14aa5a9cf356986378ce5dc26c9fd3719d7032691aed6db6153799780d6dd5695b6bb51cd7adb44dcb711c7f722f27820ca82cd4ca51ae52a936ef791bd6ba85d6af7bfdad42168f604555945b54ec5705ff84fa5ca7733c3fe1ca391866fa1fa6a15f9a777816e129eb97e6a723aee6da8f3664abf88b4c5b184a1c9c14be115c7ac57a538c332e8025b8d6356aedbd9136bde6fdc2f92aa36fe216dbd1f205493c4f35e54ea71edb71b82148dcc1396db25c48630eaa51b7ab8f3f78aa293d13cef70b074ecba975eed2e11b220df5d88482a9d483f81020e6e3e3a3032c1e95a0c8538f45829e4a25559b3254c08579433fb0e2a42961114683f737442617e6cd0be34c7a7ae24a3fade0b61bc1934d674da5aa1bd06dc34172806d351b6cc3359386f5b1a6f530bc264d8b11aef421863e09ac7dd249bb7081b32321a4684a474288f13922a17c8e8a28f91ca7d0d54a06ceecc903538c32c0d02fe92d268e687f71244411ad891dac95a756d3344dd37a8230820bb078011311533c01d3985e4bd2e435fa9aa60536da570aee509418d7ebe17a3ff7fbc0fd74b80598218160e635bd25e30a1cbce6b46d009005134fbd65a774bb1cb862df9d640c5178dd4c0c7d3c4a22f4f7e351121fdeeb8f05892b638c94862dc03415897fe4cf7542f60cb13882a2a97c98540b47fabea0322ee32e49b49a8ad1dc65703f14c51c93086e8a0b932ac27557b85cb062a2f35ebe1fd0b49c04a1075c60710465f6e00383e0b2e464696a019e5aeca7607042b1b6ad6a2e4f5cd15a39696171c4aa7253472c464ebebdc5c2f7297823b8d1549afb95818a25c5b2ba2e3758b1a64081b1d92eb25b6da98c00f1b94504e6bb06fa4db7c545076052d27f57e0d408e063ee229a8f08dffd83efd601517dbd6a6a5a93c65bf203f92e507a979417d7a78397875d0fb8c0e21ef9fc622e987681e59c40b93e30323ecd0b819531c35b2f9b865b5afc2764464c9527cc592be6464b7d17459af6e8ed8238fb8a6f4cb4d3ea57d785cc1723e31213d3c25ac5c4c4b0c4c4d4e899b37104c173ede9d6dab60d47df7c52f76a753badb573fe867f50bf4f48cda5d2d828a596f6e46874b37edf115c68eae84a97734eee9b42577af7f48b2de33cad947c4bd30bd951067d5be9d55ec32919581716589610a417c495f21aad3e172e5cb85009b97cd1a5e4e1e50e5288fcc0d3d6f749b9d22b81cb0630dfa7049d7104ee449a358f3e3fcef8b6a58ef93e1e64bef982ce077d79b8a857dbccee9e5206bd746fb5ee3d8242f6dd4db020113bc68e31c6d831768c1d63cbeef64a5b45dceb5f0ba7153bc68eb163471b638c31c618a34a05b62051dddddddddd94564a29c576a705f92cefb65ab3a505e522a79c73ced9b25bb66c5a338d524a4ca7cba26e197163bf1ab3c4c4f062ec91f286f6f8f52bb6305ba85b6ad5af28a544223fd2e87126cb994c7ab7cf9532189090c2f08679d38048337d8b39678e484d30c41c538a59bfe247d9d2ad8a09a38f7e79b8d3598adce991ceb62c3cd40eae6432339db6f09e26639f72cf0e1a9f151c7240f82ce24a97f93cbfd410335627707d545eacf74d1fb46c016c0a578a56149f32bf2b573a9d73ceb9a2a918b0d8d3e752a4427dac21a43c21eea502e532e564593e9729a0aa88af4b82f765d1b97c5e10e7d2a2be7cdf121a85c9c12815451679fc40d033be09031963e7458c53ce9001e37a69c598162ca426a9dcecd7b71f2eeae351144250a210e28710cc200a21958b0b226133c1e584f073596e50e4de2a34212e85a2197152a5b89c0a36209ef070c4930f285d9b042877fba2165d16a52d0497d3827a715531a84db460dbe2724f682fb85b13569c20a94faeebe39113116c4eaefd8232ddad8a086ec7834d0697dba2f670e9c72328b2f8ec54a0980117501851adfb7814850aa2c8c1679fa20a9f293a0811914378a20a1f5874fbcd5e1a512a89a0f8a6b5f4be5cdddbe3430f8c948cae88c9c0695d7fcd1be9358d29ce11129f97aa97f293472668fa21152888232450648e5214d095069eed91bdad54044f7896d22f734f5d8ef1d4b55008ce34bc0f1ec9f440e423e980e61da407a66918671b278dcff774cd5b2a81fbee472f0a753a81e0f7795ed7715cdcb1c3c61cd439b7e1167748e75c8b3bac53af71c7c939a735f2a8a7b0865bcc419d461e349e409d73ce6da8c51c9c9f6467c3cb298c3147a5b6fae73eaa5b6b53a99aaa55730a8260e8e3e2fc61ea1da5c1f3e85d752a0b845a20b4eb52a92e95f21deca4e914ee3a1d6ebbf5386f52ce5a62b10f20b4c557dede5ab568e854915a55785329fadd9f8eea93105ec4f121bd4639c6e7cd3989b3e5c91523e97258427d097d4dd3340d6c0f643ef59ee791638c31c618d4e7119f7f2cdf87ea91f5c8bed56aa572e99a2afc3cfefd6e987b642ca41f1109b55aad501849f773f38f88246b8f8cc55aad22520786473dce50db363eae9fa84aa552a954dd189f724f5e9a728f3e47e7d3f9b69f82d8cbe1ed38e51f307c08c3b7d7398fe6611b5edecb9447f30df8e03aadb3de71ce79c7611ecfa5b503aba50aafffa841f97c8c3952385f4cbdeb1c156618be731f3cb9e733921c962cf9bc73d0ad2072c50a22415684e08a467f874acf5a4adde6d7067a9e3a6739e7f13cdff016dbf0f292a398c7f36c599cf3dc3ae7d4592ce69118490f2e77b1b8700f2dd80e2dcef272230d759796ef10e30e7ff2967b1147ae0e86ad1d5a58208efda2a0affc0bed773dfa6d61d4dc4543c8adde79f4abdecd9b2043e2182ed00111c050c212c41803c6e2427e36d80e3d3016ef380ebf50c117e853da7d2087573f5c981ed6a97fcd4fb741fe86615eb0aff98fed6d985f6d4faaef116befb5f947cdfbb01e9f08fd80672df601847e9b5b1ecdf30d6fb10d2fe19c73ce8979aa8b05883b3d469ecde204f4fc8663c4912de6d13c6f2e1d06cd86d9ba7d19234dde304fc548a46b38d2f9026f26ee68170d213db2cf3f22d2fbb0613e920e548f2fa47a909e2f823054bc43a8e16c67983de0f3df744084552c8dbc380313030dc2c30a15cc60d47b6033fd923ce2478db210dd56bf249d37ee90ae8577d2f49cddbd82c9e4f38d431ba4f41c8f8e18fa9e699847beadb2e33ad617182c521ead030faac3c7c6d9bf5dabd88ba4cf7186bb70e9f72de6914fe9f7ecd97232e5c0d37acb73ceecafc59ee17bca1678d14112dcea9a677ba96b75931304416fa11d0cf2fde2beb0e7439d695f8856da67080f0eb3ceb90ee936b4ad43ae7ed26d6b897d34cdb7bbef37f639e7eceeeeb9f59c7376cbcde25ca594ae35edd9dd45881e638c31c6387f4623909efb78648414cfe4333562c91ff15206c9e83e1e1951e4a5dfd003371e1931e4a3d78f474257de03371e095579efe391907ffb3c028ed78c1f0921457fad3eca453b51306dcf6dda39674febf1e5562b8679c1bbbb5d6b9fe9d79cb5daaf3e53f17c79f519bbd599970eb66a54d2482b9daec63e34f78f18e605ffea5ea57ccd841aa63f43dd359d8e4853be4f8b31461922f96e560f7aec3c17da2601dfe711a141e4109d0ddf308370730dd3056698e1a6d56ae92d31ad2900d0c682786f374ad62430f61308972ae99b6d12b50df5399fd4a279657caef3496d028b34cdf45a346fb81b27d7548b7e02e1e6aa04520c021d71bf8a0402d9a0cf5ced80544f6eae483fa757242935098ca1c06b217e749da6d48852da2f4a29a53c34e6901eb1076e3c2a22e9dbb58f474540392ae2c9b77ab4094cb0996033c1b61d39b21dd98e6cdb9123db91edc8b61d39b21dd98e6cf5c8917aa41ea97568a80ed5a15a8786ea501daa7568a80ed5a1aa0d0d6943da90a62db184b684b684a62db184b684b684a62db184b684b684469758822e4197a0540925a81254091a9b373d949022d2c428445264537ce64d0f2586224d54f2c304e8090d22b254844909a1a65917558cac205d498a491185488a6c4aa4893e434ae60f9309f424d2c41e490c893491c85211a6248466558cac205d4992b27da4549252ca1e487411696215232b4857926252489f79d30389a119a494b29752ea74e152485925d24cc191521325d2c81e47308934b1657d502ff0a287b2877b81a0fa688590a48f5608316af968851014fcf6d10a214496767777b7cb97e25a6f1badb8b579f4ba1829277b8c18698c34d248638c54628c91c618638c34c618238d31c6a9511a716e51899a4629d568a414674e2531c61863a4b4d65a638c31c6a8594ac4c8901d8191229f65b882b464b4be94bdad9aee396794dff3514cef5870a5fbd480cd2aa76083978227fbe79b48f4dc443e46a39632d2483d46a794524a299ddad4a6365721cfd4642d8217dbf3a2b4f2d125930a5e9c0127707d7c7c7c6015d3a66970a73dcaf8f9d3dba789f4cd863445a80a2b8698947e3a6db96aead336533618a5c7a73012539fa73f2c43384831c7742d9452fa9554d482e4b6678924299066448cbdcf6c5aebc5b843c9bb9dced8cb11b78d7ad6afe92f46dc381b2906744e2aa9a4f232b96b8a8de117638cd7661b638c9f8dbd02ebeffd9252ca9f97d239e93c41b4020b1d946610215de965b4c2064bf26711befd6b1b219d5a400c7c60249d31c678996209a27c8c31463adb6722ce4bc6993885787126c618a556f37ab9c1ae78295924e8800dc6611d14dc1c9bdaa507691b9c7e49a779f9b9668bbd566bad9bf56db579dd700c79a4f55437b8344825b1e9733c076b2c5739cb3dd6e749b9e009aebdf7ba0d7962ca2b76daa46aaa9132559cf9acb1241292443348a15f9a3fa94a64295655d5275dc8624328201535c61863c892866a91a0530aa91f2994188a2283ea4f7336d52895a8936d4b044f85840a894f48c6a62cbce26049128094b89c10ead265b941d5e2de2a36252e852274ad136ac5e554b0cde0da984683ad09ba44b99842b5d8a6d09234192ca931d87ad88eae4a0935896bbfd0a4b85b158a053dfa9e38e1dd15cc5815111af64302a62e4b42c901b91132d68bc54812cca0ab25ae0f082ff3072d3aa968495ad1d4142c4d542c22a45ad0e864a15dfb68df5b05ea445d7000aa8cb8d2fbebeed8eddd9f0d3a4fc6b528d95c49d57e43da8472a5ec38e3b4fac19b4db0bcb899764d3c24dc178d71462941e0d500c43ef5b9e466ea9a5dda1f0d6bd81e887d18169e1573c87e6cbba2eb800813a279b70c14a6cd8f365e0d3d9d94369594521a53a79cc3c77eef23b733b6668777b57d3c8ae2049fefcfbc3893a5d2926c5693269a4bb16dec1885ca25242b4241a488d8ed5b1d613fef082998b225ef4bb9e0fb5a8e007e2b2119dd13d487a2f2ba5f8b125aaea8bed42c4e9c67f93a2656dff79344c54a29edd79acd1fc856d20d5ea8d814beb583005216734c89650ae209d2891afcf476ad68206333c9f341eb7a0be69b28b032be2ec9cd364ad97aaa44002616246e37a5b4bd458c5b8b70b38cc5a6b5f7b65a1e9312d720638ef61873b42b3db9010b12c09875a2850ab8273c4411025bc59d62fea0fac013284e5ab06541b77882e341a7c4e20409143388428875f2c5f644081c1446550931504151c54912ac932636a2ee89132b04e74404aee834b2b84fcf989c4525204965928902f54cc6807c90269344023a4d9f0bceb8389b3752e9d4524a49e99ccd711c27a5c77813573df3ed33484a299ff0da00b1e594d37dbee7ab5fb2085ef438c3c56ced441babb3427cb5d3de89afd659a15ffd11e7c41ca72572a8fff83c27eee828108e19a2a0a6a11edd75260dcdaba6b202aff2e24a7a723fe196b4256d25c979f76306fff8ded29761dcf0bdadd6943bbda946c5434561a1df8b245930c16691102064600a843a8889251f58ec5e11810e7c602012292802964327933e1c610840300fd592c51459c0a0a97d08020c622d0611232658cc6287a0249847af200a82791a162988c1220c46c0b4040b227fe053c40b580e335fac6ce4c440a24a13cc4375959b6910c9c3d2d20a6041725085a004b0d83a7290264002165b07cb4f0b175346942319cc6408e0872b66300fd51db999a2ac98d28283d40f4c1bd174032458d7000660c8e27b489d939611f18a2072208381e0034304c1e2d112801083f530c61640308fc62a96f0450ce6a1e284452b7840e203933c7a066999932f92f8c072e8b408822d81e911bb78293d144dc29be2cae67c48d2f4d52be83addaa31babd9e8018a5bdb08c03a6dd73093b51d816c23466613e8f1ca3bfe5025bb36da70db56d14159e58e8b4dab465cb0ae202c4afe957e3d4843a352f9990f28d6dd7b507cf7b4269c451164929a59452c6186794a01357f64c496fe0d4de96ad71c5be537ae98310d0a00a21c0a2c3e0e0d2231fb99862095f5c7184207cb0012c7733a0ef66f3a64776821fac841182252d8ce8d094b883be065eef633a52db4ccfdd2c825a871afef17acd6767347137eba438727337eb8ab40d8da7f1b24be232d22511fa7605753217914ee62ad2cd5e9a7c5c3fdffe329b3708a022c9cc072d081a720498169f5f8cbef38b34c2e7172d8c14a10840c88cf0410f60f945e9e9129f5f965e985eb817eee5a57be95ef24bd0f74becfbbe107d7b4bc988cfada5efdc3afadc6a0a42064dc8a25c112308b0fca2c4e7972884f8fcf2528406ad2d6830057f6e2525b5a22449599ab3efdcf2f9f9dcfaf9cead1d7c6e053d00ca9115a8200848987200cbad243eb788644c5a45ad275c139730b8262e575caab858f9ce2e4ddccc4569e9db5d62b1cf2e44dfd925059f5d621092c47ec6588211264400cb2eb1cf2e4648525c925ca624e1622409a17721e202f49d5d8238a2bee232e4db5b66547c6e31face2db925e99b044d92e0050f985802112cb720f1b965a985e91b965bac703ab434791d9e7c7b8b9216d9774b11f7d312c4fdb4c4720bd1b7b394943eb396be338b29b39a54f0c49519407901529224586ef139e273cb4f0b504b112aac2da8b0a6b0a2b0a47c6756126b96593e433eb37ebe336b069f5931074b311082153e18096306cb2c233eb388644c5845ac274dc26872e57bd534abf23db382b44a4252425afaf6552c049f5744df7935c5e755d1122c2002085366902408b0bc12fabcaae2f3ea7e5e59232b6b64b52252e43baf82624db195cfeac7288965698acf2c4cdf2c56a8b034a1f2e43bb3146d4c2c4a3626269625c8b2c42c0bd1b7ab947cf8ac5aface2aa6ac6a520171040f94708320b8388265169f223eb3fcb000b114d9545b6caa292f9f55499b2acaa692b2a98a36d56c53f9c81f3eab7e68a0003a0112a8e820eb01965523f8ac6a01104c96c0e048097e8e605945c46715914aa662b2f510c6d6c3959c6a029a341b90952d964ada624a5b6ce9db53b179d383022b464e5c693242fa81c5e0738ae81b8a244fa640e203438002cb29d9b7c79c2a5a001237684aa2c911621081e5d4ccc8e794510a2925854aca089594508a48aac8774e05313531a57c987e8c92969e107dbe4cd70a15b70915f7c955c2e43bdf22a41b84746348444bdf195584cfa8a6fb13fb7c816e918adaa2a2a6a0a248f9cea82419aa48869aa18c7e829efcf01925433109238c30ae7ce75353f53955f1b152814e494a0fb4f4eda758d2e713d1773e29f1f99404209c201a62054ac4e008b07c9a057d3e199d904e52b42d4e46b42d4e422722a722dfa720a526a593cfe9e7dbc1d9bce929c115617061058b2b64900458109f41a3ef0cf2e033986400284fb8704202225092c0325882cf20085a49023649f2e43b83459a0c54226332038366606cd6fe29cd9b1414120881c1104480026445e78f29099f3f1b40c8a88081d00a8620042c833e24f80cfe80406011ad876f0bad87295f940fe9bf24ed2bd2be99f6197dfbe7d31ef3f7f39dbf6884cf5f9c2246131086c044c5c913b0fc0df1f9fb3e2654bc30a87857bc2a9e95efec353179494c4a4c4bdfeec560f0d923face5e159fbd211108117b01104838c20858f6664f8b7cf63c4f4a13cf4813a1efec05d19947645604a96b42f27cbc9f6fef6636f8dc197de70e2977494d54994209539211c680e54e4988cfdd52c7d459a146ba26d448f7a453d231f9ee8abaa0d8ed88be9d539a37110743648004a4283f58ca010c8cce1c13113e734db1ca8c081ea020260424ae80e5cea7fbe980ba2261705b84c14de1a27052be3397447db822eac3cd2867f4ed9c4f0b3e733fdf991bfacc05a18227c2e08288236641b0ccc582f8cc1171328e0915615071e53bdb26245b05c98a924d5252528acd9b197e2822c4872274b0e208ec8bcf96e83b5b243edba29f1e841145091dc4d0c10760d9ce46f0d95a2b6526b1466612a16fcf96882df29d6d90ac49667d643fdf51063ae0018b212fc2e8e189223e6f46df79432ac1e72dc925a50840f082074618b1032c6f4a409fb7a5263e6f4c56c2d89a84f1e47b2b9a3e9b121f26df1e81b6d8dc88bebd2a8df1b92e7de72a83cfb59585911d9a7ec0022645607903e2f3b66d45a8a85b5031e5bb2635528dd248558a529d297dc4c14f184d4354fc80e10318945c730d42c18a1fa0f87065c9173fc072fde17325aab2efcaa48d84d146ae7c67ade9bb8a159996a4f49d35d933bd91123e6b48df9a142a9a112a42df590b629a34d2998ab40f6df269a733207ca646df992241f199fa0c21a4880e3b1061810d60998ae0335dfae23365faa65668409b502554f64d8b92688c128991e7119f67530d4f8458b104d918444db04c7d887ca63f40456810154ac1dc2205537e4649b273e6f3c4e7f933837a5070f4812898186182a12a60940793c9eb1086d4e1a57793fca9f263e5db6392527bc786f0b9898cb6e896d28036126920f44de427b74f0664d3a3105fd2b36cf22848273e4ba39e1f94fccc60082e5a60650b58964a3e7c964b92e9b3b422bb69a44b20da70f125bde767eea52c92dd6cb02c8bd01e1e080c1d7471e44a1223c0e2103ec7a6ef243f43df6be432b409befdb6b722302406470061044a4a2401d63fdfdd7e537073277be95776553ddcdcfddcaf0837734b985b7ae92a285a6051e3395f71336ef6d25d48308219829351804ef0dccc73ce02ee705d907680d7a63872e435cd671a8783a7d30967107bbf346ff54bfb70b61eceb7c3b975c3b90adce1bc2d1550bcb53e63adb7ec8c0aa198d7fc5e9fe71c05ee702770c74e12dcccfdbc74cb6487e88c524037dbd94b4f0171b3f57270b38dbdf415d1cd1bd34b5f21b9d97a71f3367be95f17376f482f7df2e0e60de8a5cf1ddcbc11717365bab96a717395bdf499c5cdd5e7a54f29d2532fb82e4c6ed6642fddc5899bb5d9cb2ffef49bcfbce6b66d4749535c5e73f00377ac07ee6c2c20dcac01713395e2663a7be917ca7549ba2e5adc4c7d5eba2ae8e689f4d25525b86048ff62703f296e9e402fdd23bab991dc9613486f61e2bab0b859d6e0e6f601638b99574b466de237137ef30edcd9340bee5499346fba0ec875e5e60ee8a5e76ef6d2bb59270518445ed37c0377b42ea8039a371626290f49fc7dea33d4630b851a9f573b0011e035b7505eab62872baf05a990a8442cd696510d1d9a11190000000315000028140c878442b16830cd3349d31d14800e8a9a4c6e541a49d4284821868c228400000000000000188c340d00866b917057331143ae2a9d1f6840b5114629496d18554ec03d5a84a19f7cbbc1a1b1c8d029f08c562d0b9c093dba870db3e1afe4d9bdaa49f9979f9cd869204b686b62c40211249426fc4cf115355f9ac039596321a0648325ea871b1fa4dfdcbfcef1ccce78f7cbdddf764db32201a3273b1a99e062d029b93a684a5d0e9a9257834c89a21bfa294157ea24cb43357104412b35a30b7a89766827831a4a75186842f73a90545a2146139a028d41874489c1bee0a1d66082b29de2415aada616693614253b3f2e305984199fb20199f16257a5c99f88594f0644ad2aa2bf7f9c10bdbec7fede7b1f9e26ae6c579cd2f8c3e3594a46157494ea1402dd4d900f5df5fd114229d86fdaa4a5bf277f11997034e81ca63ca98d64f5f08ac7db4e012b29a00fcd8816b4249ad09c0bd257823c8e1ecd626545813d5e7dd2e823a275cd94b67a5cf05b96b5e1c6188013eafad89fe0cb4e51b3f46149d118375df50b578848473ffefcc8055f3ad220734a103ef3c7317eb9282036694e37b1b635c6a62681b24867ee0a97f19a49c05de097cae91f65359ecae6cb989e45e5b97a5e5d8c9c9f0b4cdfb6f4f879befd68d939649b83769c2390c0601ad7d67611f6150dd82ab65d65166f4fb4bac62f1102df7a5cdd06bd14cd9b2f39f2ec1f44ec1c0bd45abf20dbb53bf3f6cce7d69feb28176becf2637564a6dc802cca770f9f61376908a337faa0c723ab9af0032f14267268770f04cc312f8b5341a8fa6de5a1b2ef90eae61db1a07b3f03d30096d9acc5c96e6bed360f2c123fc95b7b618cc0248542ff6e9b1f0365d0255aef438f1e5a3ddc9a96c541ed86c1aee12a5a838d9b351ce324e8af786e01ac29fbc243f639c5f21b6f21395cb1c7059c4be32c75e7d482dbc113c9e01adc70736f0f03887df2ed1b5660bf517d488e73e6f7a8faebb0befc9a81da9cf27767a5c174a9df6118571cdd2db7e9803d1845182c0bb5f9db1dcaf7a80f76446260f1ed4e8783eae4b0754ee23e363818aab955051f006e9edb16ada002382b72fb8ed0e938ebe1829253f6b9e99abb276e083fbd28917f9476096b207db1d87e23a9e4edae6c0486d7c69b86a01faa2e8ffcb8189805e21a7c58098e9d9b5a428ee3fdc72cd3354eab4288934cc4f5c5a78f8d141c1bd6f5f09817a1b4043303c7ced5c520661d3c93754fde2b79d113ff501f3aa7b179400041dcc6daa3e3523825cd98fd3228582af61a1943535ef6e656d2e916a12c4770943188671f0ee6b92160aee6a80a56fdf66ab0d3ca0fd880576570beeb12c703bb30f1c62075f9594ebb9e958ba84bda3ffb79819f6cfbcacc5a59bfe66be0c4b927f6e7c670db610dbf1e61b0c9bb7a14a2e85707add0f109388df8141739811f5da4c1139a801b53f4bd7bf2438e1aacb55f2c93aa0ff944a492384894cc062df82040da890856da7981bf28bbb2c54d3e96e8c49767a8131ea86473ea83dd027b5322e808d697ffd475b67f2eab7faaf23afbe81082c3ae596c6ded5db3867401ca4c5bf6cb45beaa7af3fd1469b0bf71fb7244d336937cc98147ab6636532a1796f327616f25a9a89b2f042f4d482babd766c70f7a55c3a5397d415646d6a2ff4685c345f1f46993623a38c2fa5600bcfa96752161ffb65c73abef37c192b0c915927685c79478c332bf6c93470f574d1dc98055acb7366295b9d6d3b7035270ca811a43483a4d12b85516b5f29c9232d2940521e3a398db830a1d7ea2337532397e29eba01be86a46da67da566f87416cd5b0dd12bcd877ac91e430bc6cf50ad0b98d06c9117d870900c359a19b040f6bba7408597eeb05396c56a40b9cc2781a5089fa9185360987ef9c8794043decf05633c43c94c0157db39910499eb083f4b5defdc35f0c23f634e47b879f38326b3b6d3a1572f555499cd72e7ad0bc6b3566f0666ee85148c6c16cb07001c718b63d988164034cb7bb5f868f45bb76030db78655cf70ec15972a66d289f6e92c3c5ed33e49d2bde293149923c39cd39eaf20d30c312cb929438141eb7a69b73358db6faf1439c89dd3dd03cb6a5160630787ec022b082d41156e4c75562e06799bd1254c437b3831a9e079517f0c412c0ab68568ff39f29eaf80f6d40b5a9d022afc78927667bf916a56c2601cb7c8b0d971bd327d70be380eaacf8be17743e71e1a79e225469d829b313214a0622dc85b262e11584158384f7ae0026239e59882138d2f5d4cec57b6d3e5b74dcd14c1c319d9fb240e3a6b2b84fb25f87b5db0eb36557c0ed7d9f5c6ca26fcd58d0929e47129a17f23e622dab1dd6dbb3a2b5443106dde0424dd887daa570057daa710405d8019cb5ea1ce67f0efd7090c2b1fdb342eab6315ac02714e59b6ca9c10436457f55d743bf110b59a000d4bb665a130514c0f597297eb88928e00832593fe3855c4c30341a1a6c6d918704d41e13c1043278ae43fc83cf39f2aee2d100e7a7cb94d716952d97c38d6105d008a23fd68b4d61198ea99ef7699a3b760ca4aefac8bf0a0868287a56e930bca27e006073901a15b1a838511fac8608c65ab3da6c4b36abc6564283381c5c7da66b49bafa6ba55ea58e996b927fdb7a68bf001e1181a5118442105c85e0572248b359eeac1aaea2ee376bd67afa236011a22858630bf83af5ceb2771bf707c77ac93b20d88fdd2189bc8cec0f76cf841a20cdc2051330c8f46d4bdecb8b941d697ee21cb7c8354f7afbad80c85b0d5dfdfa9f97ce0bdd0c0f09f3206b37ab4cf10657fb9e06c5f773fe58b171a192b4876e36ae04a04860523761f9991ff44be63702e7d206b05e305dae6ca159c104477016cde9019b4b4ae0c813f857b42c60acfc96aa4e00897fc3a65951ef17cc5f21d8c922b37762c603f2aac5919cdfe600ad1ce1a4bd7f9980e4f7303c8a6e9bdd34dfbcda492e68b3e8a1c020c896c0454c5f77e87c451bdbe56dce828ca8a88aad2be570f71378b14222f3d35d5954ab1f47731d216692820d255a323c73686ef9d62cc84adda90ebb9cbcf1af20a1ef1c3303161e8fa41c304b7fd56652fd25d0b8f1097d24d8b9fba0ef692ad2a565ba81f1493a01a5f42b2414e9562f06b98c86d23f5e347738674f99320c71258ad63450ea14a5852bf792b5463dea602d7af9c1478317a6d1ef73a425319a5108aa4a293b3fd71a768c12fb63f87a058a86f328e78ac7dac7db7d9e3b2eca0f25b68c40e0dc9ff4a7ecbf11882f835fce58f1167f566e3418626608aeaad53de03b1747b5860b268af5ab6ec045bc0a6035471b3d981d34639c39925c87045b4902c7de83f791c17714531e9a728fe8de268290a84b0633f2f623bc683e6e838a36a3b6a1f83ac129458bf22bdb8c8a461f12dda8f282e32de1a0b0c066d0f1d75098b1eee65886d18f3a83d8c9bc0f647040ae9f2cf5aa7b55570e286082e6b64ecab8afd666602830beff771c044f3b25e24092b840fb5607578f108b44379b5febb9f58b5713b055db7aa0e2429ba9a3f99cab7ddaae763d990e0b19a5f5b7da1a5f7c961f58422e20f0128ebb4b086cfc4a4d8ff7e785a1bbdecd3cd0524f77ebca87eea1907b9d9026d7b8c4d5c0939edb01f1bbcbd52875ff0cf2a4ee758379f5c47018f5a5c42ce41be791a905c761d7a043f335ffc291c89737e060e89a53f024c0a029a5a1e8aa2c71cfcda928db91a9da26a828d9c8bdcf87c7995ca7a962b6087495f06d5051834a0403eba0fead0741cf884a10d7d6593c860ceaab1fe4e11316033bcff9a9c7830db3e7ab90a8b1a4e767dac41a60abc5730fa787ce60ef527ade3118a75f798faec0a835e404d87e617fcb06b15ba32b6619b56215a26c46e30edb37a03158822dfedf80abe54c8cbdd964a06835c070a2bc13de06f77c61ab3c61d223f6bdfc7c92768c844d922ab792f8150fd7797403a506841f4fc73516cbc688b770b6617279bfc4f3c3a9f09133286a708fb3a0af2e348a16f548fa7e359b294714a93d300bd3ac26266dece30b88aae67929788e0294a16cf4bfccbdf89f32bbe81fe7899fe5833663bc0c6a1ead482ea26079f4dd6d439ab7c39c735ddd1254fce007400c7fcbb5bf1f2ba59762655702a31d8939aa36533c2edab569b2b030ca90750ae14b0074c50f25e8bc115160494fba453025e0b90269102d29d4441d1d809be695f92c9f4822ec9a478eb9a30a0db0bd068c0e1e6691cbd233cee92dd7989318f7ce2717811043d75127760a49ee9ef83255e7dd70921677b84c8fe5307034f4b0e3eea9c2833ad0f5e40a1e1a8c8ce2c6daf53fcbb01e1ef628d8c2840a903f5555f14b074411af8eb003e80d9448ec61a76175e8adbf6f29f7396c892bbce2e74c38bb09f599dd5a03ee8a60f82e410b46fd323ebbc688e0aa1a13628c55d5eda021492a869e9213dcebed6e6169ef741c2964ed660de9fce9f3fe6b30f5e82912421d9a2cc5e93ec3b20df9446e8b3ffd6c24a0f4080f7e4bbbea6e25aa8fb377904bd32a48e531056ec822dfac1d15a21a1a1071e7c52a545ba1ae57937478cf4410167b42aec37490498bf3c7eda794e5141fd94d8967122c84211b6703fb2ae3a0d43df18ddc884833abdd8fbc9bcc99e4eedd280794baefb5fc8c842dbbdc427279649cf0ce641e738f665aa7a6d53344283531ea92e4bf79fec6e7687868133294885e95205f4d799e8ad018003922af5404b9a5f52fdfe609d968c7757da5bf4a9525f553af2ee742507c41ce3dfcff5e0254abce17b067f1618ccef6095047221e72a45d613d9126c17845e0e4947efedf757e80795b2e8875274287c084c96e46d7371821da907f8e0c5d77e8aa6b8239ea1ce4bf6637ac2ecd07465a83fc4d6c5eaa13fe762d559d7fd5f3d2f54e430b1bbbb4b5be5e38fbb83ad5089aea926cffb618f5388e231cca7c9277f4af272b006582d55daebdefcbd434937ca66e2c87d99b4c7de139f25be144c46ef404c5d205fae824e86343e51182343acad4754e83e1432d7b96f0ca0147160efe0d373021c96df77298da998b34fc817ad77e39bd801395498d92464fd10368eb9246a441ef275ab82ba9e77c26968ee85f79795527de021156d8c470e498d06a1240bac2505db0103d57d8290f7d8c50684ab6782a9c04c17f40ad4a6446179c09c254b9c90406dc00ed08dd361addf38e6ead94e5cf3abc5537000970f4d37d52e4563d720bcaeb8230dbce9ce3ad6fdddd1c0cb2c011b486af97ab8364e07e72ffb7673367ebef3cf1b87f67c6e205bffa3e54e300f418438849136acf13f1385e6a8f1ed3f4393cda179775b199322de7b247a0e6c5ddfba94d3f20843f2199e9d02c0a8ef21853f195017ec46b30c8b5571ed52cecfd98980f4c864b9f26717e804a44186db2bc1875d8bb9481883c0e4242fb588b31b8e784727ac2c7b5e1cd0a6b2ea658270291fa66153ad06502557562eb4d8c1cbbc513fb7ce5c8584bec3558ffe0ee0a8e16e00de7fd5de9042212fad0582e3ee13f89b5a5d97d535dd655c573971113d7ad4258d5e2ac2b3341645664680920ebbf1b3759d5bbd2ce3787c2c37c4c98156913da1b02f6b902983e248f22a17ca6c2f4fae1e31510a8a83fc9133054cf2c73634afb070ebda47040415069deb1de01c4302bcf8f69488a4d1b68df2091835e2809e6942f7b7699ba1e9855974ab8b6ef19ecfeee51a62e7c040aa07955f10404b2b4c8eedac3b8448daf068165d421e9c69dd0068769f108659a5ce0994fc69b6f9de3128228af6b2dabbeca52524a23d0e2da63c984a38fe11b5158813696ba98b4950d72a9f72f09942ace149edf270c14af261fe500795e9a9130dbe8ebc2dfe0d6dab9b55a7c608233b5b4687b24622bc9dfb27fb7ed7393aed83b87eccd3de4889cbc3a75914fca630fda83d14991365ad7ef0626baf7132861a7f6b055e7bb61ed8553a948bfd8810f06628bfae5344898085e0a22c3e9031b73a37cdd9c2fceb8caa5b14889932b89688b8b689c41ce1c47cd628722f234ab047b53aa666d3edf9701c345fb5b3a230266b122cc9ff88415eb274913a9783415f9979c435b1f878d6b0e086a37430c62c81d4db00f6609bd584a8213b186d2379a9c00aac98870bb80d60d6034ab1f23ee5055acffa391fb1d8758f934a036f8c6580fc1d17b287614c9cc8d9e39a4d0b6c086cf854938e3dc8ced1ac234bbb6e03255f495d7e333dec5b0e1e3362ae9a247e499840c3eebe8d1cb49e6eb24943ab266dfe5c7cc366efaac9a43ed73df2326a2433c8bc11d3812e16d884e7ec60cf14e6d0cccd7e6d0ebbc25e791ffdff65fa0fdbe1101b817118f81a82c90718d2a054f6215cdd104ee542f9e31d9290cecd8ea5ad293b270b311c23a102daf7b89212fca0d008879ead43a761f57d10031b9be5eb8551feea5fa3b7cecd5d3705b33f3d81f65c697883dd7ad6cb692697fe507974a4191db208ae83635fba41542c0075f93f75361b1310a34aa4220b671de8f75171962146248b2765f78b82951dc4f6192bc5f1196418c59de52ae62699016aa9dcb3e19fee880d0f05868d04a2ffceee6099ea57660f72bd65d3f9922f3568661a9df701c58500bd426429b71892787b73aac78af65a08937cf3308c0ee95f390cf3c9ce6c700160d42d1005e1a60a92ca7e061e51d345e5074b85382b4e2dda21c912b6e414ac3a62a1285019e331fd01a54631ec754cd365142fdd9ce00e8a679201193a87ab37fbfbbad9a552c34adc796769583697ba4833bd185f64cfd9f628a587e1b8e6373a4bed747e622743028af2ef74b889ed2476703ee25d08917f8dd4635a6f4f2e9444844309593a7c296bb6650a60c1e51eb52310b9150f66f6371bc1699ccf322c148d9357c362746295b7a6ed1dc0c29c6ce9528eed42f2849307b41c84f3cababd63f258b7a9c7a5f56a0d0b1c1b5d9f10aa18911e389f86ddb47f1c0ee90ab11e82953ec4381c1a1ee3d99db6a3692497c18bdd55b13dde951cc62b502bf24aa86940cbc19538a428c9573e07712ad207498bb27208331dcc3a3e5886330221de3b8406950836cc75d2db55adac7a8f08a55e7881f7dce44b9bff8324a5272614c904833e3b6cf89fda5d048ec482bbc648ca956871e24889c3d5ab6e31abc074a4e715646a14c381d1ad6231b3cfbf7407427ac652a87c881a185cafd95194238cd5a3df0fdbdec0f591828b6e70a76485641db86b18be0a898d9c5185193ad3fbe4ea1f20c36e287edb8990434184a608d5fbadf798a6415ca0901bc68da2d8b615842e4ceb58473e8e6736c4165fc20944ca8122d8e1a7453ec53d623a288c48170f0b55b15e6accc0f9e09bcde05ffbdd01eb1a5d3371f29c77970c2968479771630bdfc2e158010bd003b90781b7e20e6c253e11f182c1aa90607778f1f38e12dd3fda27381a77f31460c713ee742a914966fac7e35ac1a1ef07e4cb2a0b4b606e262e25a180b99498effa4a7002df8953c2306249dad1b834343857648e46e969582003e9a273e8439b828dff894956bbd4514efebe66341b3d0f7ae3f5261780fd596f38430300d8fac480d36b4482eb0075ee4e1b03e0fac772ed10c360460a144f6c4b95d0acfcbeb575edc3158765b3a7bbf19838fcb3b48c2b4c04c3fab1673dc9b00b3888f82205d9b07b9d6f4c6a01779251c969c286addeddf041ffbb19446625c6bb558fad3d252f40311062578514e46aa09aef4d98711cb31895e20b68792329e2d304bc2e016f4969e01a962507eb34cbe26b643957bbde09b1621dec7aed85e15f6a142b5227114fc7a7457532ecde9938e8866da56483aeac4de23d8b21ac91613be1075eb04f2118d6a1c9eccadcaa3f23467b4d8d2585e8998660e69c6a16e15887e1ddc148a9e56320e9f4021c8790f0e390a18fdb0a315c8df7da34da103f1081b16ef2b3f5995b142a1ff943444365d3570345bf89afef6a956deca8c65c2805d87f76a2ad142272407a6ef7005ca64294e03f163e9e7a8180196fd94a70083b255401e273188c3c9d4cbb6164eac4266ae67e6bf49e368af8a6b8ac5308845e5eb7bd71df7c3394703012bb08e20ab2df666715f1d108f961b185009b287cdaac6a85c35e66db19d4c1e0cf503cac47f5490bf159cf66c151b5c299c5fadb9c028877fd043b9643f2c482daa91ad45a01c7cfb4f895d844ee6c941ae402ef38bf4095949c6b522e7860f7bb0a08bd2d3b76ae9c897ae65966291a3539ee41de78dd8ff1223a7b95de9a9359958564b105a10a38e0260dea13b9a7814c421425950b0b09a26a6da1489fbeb0b09bfe5081164b323a14c6b011b59070ac6ee454a24870b8d9a3f0f3aa6c22ce1edaf27c5cc97ea2b1f7e480af52f3034e8a5f05db975ffe9ea64922b262ca48d70615e063718b85949797577706cfe8a9b4b57d3c2609b88be011acc4a90bd9b6a8687b953eed115f35e52879a3d423afc03c26220a4c98bc6a4d9e6c64c1184f79c3072262a2c96d5b2286521edf220f86b2e758d8f35764eb933b582c2f1b939346d7ee6472a12ecfe61231940bf15ae0002f5d561108a2f0b501b74fe06fd22bf806652ad6dd3f5d6590ad78484a6717885dad64a5eb2526648e58e11e0a81aa5d93716152ee5e7861b74725d66a799f054466a9d5cfb941ce79615c6cc5f2175d49e225bd44a9832882d83ea0544f2b1ac194e10b4b29c8d910d3e0b9d5ccdb3f4f30116482764eeb51a11e8a813ca1cf7bfab55bb2c1a7c1caca5dc2a3e0d84f637a21179849c50c776110fb8bf43d0df064bdc5c2fb47b3e1d475a17bcbb916e7335e1a640c7dccd76ff41ba0a2dc788078d7ad4d556dbb5d68479f2b885e0fe2cee607d3bb256257bfe0b537577d5b86ec8a01a28b272324428bc652afbf2c47f91856310cd790f645625a9c30712729a39c2d2cceca5aace27493d71150e1a7dd79af24171f573d1fabb8c3772dc49316ad4e56911c4b93f3fc23e25df0d7b893a99230c83599a76c92fbe28edae15fdd92e46ea38858c5a870615a67b5238f1f61748b052fc1ecd2e692f0b67a6e873d53b5e29a7f0c5b023abd1fdb051b22ea4a7b390759ef8a109caa7627a39f72d34e7ec5a22a1285a4ee2ce2eceb261efc8600f027dd469efa20b7e7436b1106e4bedf81694611aed368abd87567547641768ee3355d739a66ce2670e6b2b6eccfce8b43da823f3947cd14c2b81f2f2d16b755a474a2226e5de5338cb85a23e9a4197caf4b29b6666f779f9b1a2a69a5e9112862368aa62eef2fa428a7381de419024f16069e3e8f8990e3379f3e6f90e6979bb3aa8127a8cfddbb7191ff4a6ed886de3458218eb99521cdbd127ee3b52de74694857482aadc4b612036f7a1adf793819b0f794f130931f21cbce6fdad709367316c134641e09f56cab3c511ff3d021500e864ea38d069025aa1e22f8dabf0c21a958e626f2d73e0e471be6bf87d9af23a3ac716bdfaa3945d092355176adcc4b27f1880a1b9e9ef8daee6b6051fb798174d55fd4b7f350bb562a5654830c7e9135d9b64d52aecc7daebe953f4ece3e75b164bd1d91a19e29596e81a4551043b248dacb3e167893f2202b55dcfdd2461d9da72bd7941e516571650b384b121fc9fa3217b1df5087e8c96903346a231fb22ba82b5bc11078e4b77cae35ab9d61d40fb53f0ffa5c36f60d95930af3c215e2f7447cf4a71b033f3b6db285e89f146bc76ec83ba9d0c987f1687fd586355ca3a8b341b12024f539f16086c67a2341329ecc896a6e8198989683b268765a7aed0ddabe95d3ae0ac1b4382dd3b8dfd2fffd336d2be0dfb378d3e2bcd3d0e97880825c2a4689348086fbe7db2a49692b6e565e7aa7ebc793ede2818342a587c25236a320ff6381297d59fe0871bd4569893cb2c3650f2a9ac4a6646e0d629adf7cdeb1eb442f686091c4f811a340ca631a59ca464bbfefcc5bb4d13755f1d3f40d9ada7715098e65610854a4f94c9a1014617f426f4b0df0453aa7f89bd9f344a25ef002c5ee9172129e891747d838a8fd2517750df80a24a03fa89449e19316800147ad0f3f9a8f717a354116de84ffa23d0eee119f2cedfe17449e174db9da3fbf0de5e2356a4df977385313547efd7b5a91b0faa2431b91e27b3967f6642c2dcbf46ca5f521caae3b18e76832913a0ae30e9bfc761b9a71030700f7c5b9701834375153f23550a88a6c2507e8f409b1250b00482980ffc55dfb5bc18954b0b76d0d8e6b876dd01522d94ff0ee6309e6404fe7b5eae6b5c86ebaff6f6af425067dbae90b2967d7db800bbf8055f981c19c63a37401afdb44d548eca3bebc17a743e1719b49ac29e4489b22f8cd8fb945efefeeae76d3b89cb1936fafc6eaaaf512d611a5df60555b9de18f19cc277543e53f84b86a00f861a9141ab5f07a797f3196e7dbc683b3173ccd6e7ae9913d338a7b992c56a164e0207bbd95fefcaa0c46a1e535d65cf9155c46842e06ccd2f79b1727b57aa9972ebba5d5344eb079681afb2ba7c1fe24feb049280d1538764d7e0ad14d643990e51da32598add68a5ade0c13e3b43fa709dc7539804ed550a032b2479a06d9196dd3c5d60c9178da22edea89217588a85698719a2083e004b69be2047690e0ee84eaaa7a64a228bee07336ead661d2a44f9d34557d314cd5c47d21099faf478aec4b5de10c1a007fd9de4e954dc573b6b5b9365a5ad29219858735181d541167f98b911304afc92e700e6135b4e0635c6d1e8a63e3c86e28bad2f7cecb352c36f4091954a58fc954e6f023916f50a92cd3a660843bb5c75296c45e74aa28b8b112753cadda6624b83c3b5a9bd6814eccef4b0e6cbb061eb1c859f0d58ffebd9e56f4bc2ac9326682437098e5500eb0642732ee73c344c9dbf66da5c012b25c692e7e2420930e869bc11c3eedde7bb82a56cfd1d749cbcc752c87905b4c0b5aa8f89cce2b034db85ae89251875f978f1c6df4a6b151e5344ba2bddb0f366c5b95e173230d7b537998f4fd66f3ebfe851891a256df3eb5f75b343c095fd3ddde27d1bd89e847eb7d89c163337daa700c45e9677df9812585fc6981b6c5346c08e295314757388072d0ffd1d44ac04ff0f74a34ed22e339ae1089b33f5b1c49e551fb1fc4d4681a4e14b3f4726383bc540e2bf9885e903bd7ed2d72907060d2b444b88d74e0bd1c57100b51720dda8187c74cc6fb4e7727a8f4b9468e20f70cdccd25123f14e37e1c476b1972ce6e1e80cd0cd3f3af89c8bfa199e2bdc08bf712218476e9763713519b7247a10be61f2d07b3ed4994f2be08d678365682607cf43ad45d00f133fde93f6d906bc9518a3ffafe1e9e0689303a25c9b903b835f24f317031036c09e3bde2b1e0c581a33285ef8b86b4fdfda02b914da1816df839b794f5d07f4c88d234759db94c5251a1e23047619e6469e991a4a4bcdadb49dbb6fb311be22750773afb55b8483d9b1feb12f32f49643c5aef6b342393ad02b39ba3ccc5224c7c7a83badef7d6396faccaf65df517530d29d9b02badd1b43cb8831ebdc683dec78745d4f22270f2197e759d08740fed3b2f6f3c43b0a8f924b5ffaa11842c686158c5e5741af12e8dbb4a5860161a4fbb14cdca61080f879d95b0a44e4e3fbc5d311a48839658101be74c11faed1063622cc4e20c6ab53d669f48cc311b30b307eea2e47f870df2d2ccfe669ba222074e70b0fa3cc24ea065bab319047cff8dd3ecd5ddc46de818a78e11177c4c2fc1f6c625db7fcbfbf1349b49188b69257291410f9b192849166159c8a09384b6eeeb20f68118ea2004c86f7579f204306849e4970706b3680691201b30f2235b6032a22edd124f918addc5c2607080a94c51e82f76d620feb06c8b33a74815256e376d9374ed6073291020b11d307968def0c8822f2f75729ac7692125212c7caa34f289c58bdd51a194e1040f0495ac0bc4cbe6ddc5b345d4d6bc7447844b805c3b94a13a4a532a4cfade10e95b71280ba65f88a08b137cfd003c667ed4bc1fd23bda865ec8a3f657c3a8c37a06966bcd1327bb9165c0dad41cd8d6835de42647a8536cffd7b79461433c7461cf7af47300bedce8ad5db4ffff97bbbe186f495b90757fd81b70bef624afd186977861c924fe4854185428f5c1c4b57ef912a483e299e6ba0081c44a3c86dcd1e9fd86ea145614d58855d2d35524e854c3e19fab9410ee9844944f6c0b614320b59db295cd7ce71c71826a156b59ba671ac3f935e57295f0a21301eaa8f6666651d8ab133052865f3ce09ab011fb9ae30663121976ca546af942c278dd40cc07e49e60479403af57f461e02cf2074bb6770eefd6ff52ef48fa820f254f6f6cf18d3a8109fcc71bcf655f5fed8a2df65bdec10b53fb87480f1842040008d161fb5415ed0394c26b1080a7c037677452aef9e0fa751c0616d1636867651a8e98a971be044661069d9e889c5b9c9a105963f021b3a017beb3e1d40f29603d714e8bc9fa5f0b2daf13e0b21a228bd46080f4652e874a15f18c0c19b747ab88b95bc2772f8a5cc60278fc408db652d9c623e8344c5d3d113b68c6d7b3fed949920868b1f8c365705ee9b84c9dd6fd662961cb8677bdc86583aff078a35aa788c80872ef69a258877584d4047c554f5518d4603da33bb698905167f3a29778945399c9d2b2263b9a07bdd9e00c5d7286fdb65e963b3a471839ce6b89c306f54019f8605754013d470091e004db0edceb0d31f26e725eff7ffb5f743e0d1b32067cfcced4153aa14c993aae867dee876aefe0904fb8ec60941e8874a9253a6c91587c0b006526d92cc86daeb4aa1014efd38c28ba6b8f03f9554d286ef20942ab43fae7d7634c8069ddf30a55f79cca6a9aed3153c4ab695f4d1f8bb363f11b26e14ea8213f2aba96bcfe0c20076af7d1b3141032a01c75a9c8f6172c3bda59472d122eb271af1e11f60180a0eb70fbed7334aa34b273afc324594525a283dc5d6aed6e00be339e4991196a038f76bfe79c45a9456c33ece958fac9c3d8beb87558c9b6e945fb1fa62a05e0267165d34224d37d44a74c10f8ad94008b2c1892e9686aff8d2bd0b136bc7ebafb5008472155415cc368e19e54fd6684162ae80f4c6241efbe42f32c97ea35cb9456fcfcdc84c66d6832bafbdf242ab347274648512cdaeb8b37040d520467be97777ee7279b336135aa152d5cb2a5dfa2d65101967346955922e1b8f1cf711cd95e44dce367340be3277abea78f7d9c8e141e6814c9d810beca938ec066b1787c153b17e2373329cc60592c6527d1406a7261fa22c072eb481a6a51ac6afe67b4cf5bf06ac633b22d7110824984cc7146ce89fbab045ba684378df51176f3da9fe1a43fc2176dfc457c6a0d8f393d9361690377b00c7b14c5653ad63baa702f903b83572c49d11765420bc7f948c2f611a532eb34309f1a60fd28c63b100c43790279e568f146967a9195f9a5c4699680a2653340592a9f5524504f03302d4e26518007be440dc62a59e82bb6765dab940816a33af3c2e2898f9200b39c17867e263434bb62502f63f42a7f420ac720185313b3261e659a08e5cb586516b75a600dc2a233f282439568b7c2d2c0be66aea4585c72a14b12a607dbddaba7d622c8a4f9bc88a47efb59e8b2577e246c01f436aaf3c7845e8969ae325f69315bfa59acdacd74cdf69c5937b00877b5059fc48b7a4adcffb385e687bb76cd4350989241d32dfe4b69b9efd2a9b2ae36c198c601118bf50b1766e236b1774d2df1a7093701fb160370569a412664c103c7f3f0dd564d21b5fe5c1878cf9d41662587cbbd50bb15c149422ed720cb8d9bfe0042322bbc4cf3697a94784fd6380742c8039b1f4704e1dcb0b3680431ea32bbb3b30dc57af781ea28b2d70471b63657b0e5271a27eef7d2b4e86f603fbf597f1bf579bfdcb093529a48dea1ee4293e79e2d19279056823897efc05bf8c4bb4240dfd43b64e954b55afdf9e4a8068de1f76a8c99e0a30c9f0d08db1c17e6f08ee264053d4b8eb41c8ca3d5981fd5293b5d2ce1434830839fda392ef5742dc0d48e003fb7dfbf1ecae151bbd4c76b54240bde9b7e9dd46cd001a8026b8511e3dee0565ead02c57228900fca2bd0d84f67299b3c0483c07220322aa24232eefcd9c71b0db09300cb1bcd6ff249ee2cec2f1759591429032e73525eff91dc3a20f7bc2e5e75bbe591571b39722f1dc4fcc714fb927d301ec8014b4af51b3ebb28111b18106019276cd1a5adc2da37d290bd454a926dd10b10091540f6715c9093e9ef4fad1e77bd5876c98ae97377d5d669bd8fccaac77f8014c2c76cb3a4b8b28cc96cca1100406f4420753d0c38405d2fde951dfd19ed173bb7cd390e2a19b482a0ee602732fd41001f743ac18880407cf7259372187aa246c1ad0137c33b55be386b301f5db898ac0f40b232e401e18f32f206c5c7ee617e413e750c97ff1c5189bc65be8b7ae8be8df1c505ea9fc335a9fbb6e7fd65afc582cb7e0798d5a60ff415a26d0982d59bdc25fab5cf892506c4777fb262a100ea7f78890ae6c28ff4a0671f5941688e9750e0c046c862cd79d99334240a638602f6459b913cbb1ea67134f99a64c09933423e2b5a0f60d70e719ea083b699eb6d1d09f11e268a5e214f350d2911741cecf2c08cd0504e31c5bd74cc680696f693b9481f316bc1a4a44115732ddb59e68137c06596a08e151f993cedbd3a2fac6c235feb8374f56c3d51d03545d90830f488223e7462e24410b4b2feb5834d5e3cba6c624ec1022942b314e2586914076bd9008fbba28a2873f3ccbd9732131dead38a7b57d0b55386ad81088d5486556746f66389e5860995839fb605180ad28b3c70f45f13a8d2c35a7648792ec74ac1251dd69c4d7e8c34a96fdb5b7d64b605984df88472102b1ccdd46410afe4ad09e42392d7fc7b93eb62c585535bdeb2d93cf4b788e835019654be0e910446710ac3a98e918ac9a31dfc3fc888015032311c1eab0a94b929d206c1d7624c04019989f89990b018b80f3341456f1d052303c0360059a9580d10218cd42597700abb33135065e87f331123b06404532dbba9c6f50ac223c3a4ac5c91cbcbf063ae3fb91cd503b1288a4cc4610bb189de1ebcc4ed8bc0d31af0021851db5e2c396bd076af9b3579820f4f7e429b07df4fd8d281f06b2183dafeb00fe59cfe056ec62e43e0dd1f1fd05854a4084e306cad308ae8eb93c988ee8346a062f6962d91a18a9d58c7f3a2afc882a07057ef5080bc42e460c93ad5fe99db701321ba8b539c8f35a032b379857eabfa87444e57f3ca80a94490c527da4a06ccd9dbf602351f06af950b3b28b4121c348da3ead746fab2b9433b746ed6228f1caf9b05142d9a0f62932f40b1c5657608abb1867f3ed66a4dce224b68b1179f7dfe4f95805c8296f2fccf1210ad3448f57981856989f7e919f35d8c6004939589f8af582bf62e0b6d3a4a7852cc6bc12c4a794be02a42a6d60804e64dc57834b23108fe120ec3d5075f36bf2b64ec6bcdb11ba22f1a7249772fd3a75704388eae5d62c0885ffb7226d6c29cbf355748e8a7798cd0118d77c3dff83981b6395d846e9076a21ffc3088c8e7763a0a842866e0c2505aaea428796e17a8ea59b92824b80afa455a95ce734c896fcf36f519fd612094e78e6963ed010973d22cbc140e9cf487ba01db927667161e457137253879c44668d450ab981bfe903c6cf9049b7c509a9512c3b2237356427eb51c58035df0fcb4675241de0f1084d8e963720600603536ebfded707b8ea411c19acf22c1be9fb852c7032bd4a2fea68282a28a3d0395d231ac266b0c5f02107daf9af6221b2cd9d983ed5a9e1d142a67d9a8b3a4356b68d0e00218b5b7b00b3b66494af3e72c815a9592ec6869be6a1cd489f644e54430164bac8b2b1b8ca289d14e39e327d5a83af7d1d61e62362162a574c204f8b4cbf27d3dca8bba05223c4ed88166bed93e37cf8eb8f70ef5f331b9408ce191e3e114d2c34569ea119f79eebba5b7f8697c2596cc95302cb4fd9c9189409bb22c086c6a8d5f92149ea626f382033c9fceca5de018fd5d7315a5cb6992e3b70a9fef1cbe104b03b8e6d4412539d4004a788267ceb225a7310d32a37d9bff69a98b33b65507da5c66aa4047cc6a53ceb5b18c0f8ee35d7840647db16c56e70c3b921b5430e59e0bc54519b44dcb4deb597b66d19f8b0a0bb65f664aa150f6ed38524b68785cfa3e96450052e02ff16e801c663beb570b276c9ae8270e6926fc067fa292feafe00c92268e18efc1c0668fbed73729928447c512a2023de4c4a2d08c706e0eba259418c3c3ee8250323c2f074ccaa3422a8d9092008427eca244e819612a753f7d453abee0250ad0e7dff988b6bc0df6255c5d471f98e3de18fea9c15139caae24e8226ab9e22edc0e400147e2f18b295437911b827e32b6714871c1052f6941392891a1d1087caf2d657081a9b267ea84526e55e44f83f906d7ff572e1e6e6c145fc038572c3d3ebd760973d75b50ee46bda084445e0883790ea9a842e50d16cbdb5ab38249ec8cea69c351d0a5fe6e182f706e08573f5eeb0e05d100f884752528b13c978c3a910e6e0c5ac1cee211e53814ca0d94c116a1864452744f2029a3d860b5f2a0e84451f54ce27075bb6cb3552c811ab1a311f5b61fbd0b54f6b4bdb87c735a40027b27e39a929efc440f91cb455bd71eaa8a75206be5c6ff4b4b097b791ebeaaf08061135865a28bce9c596c1330f8add1b25ed11a240f332d8d8ea3c8f239a113c28abb01f5b27301f023ef91c1e1a066acf309cc49798c15914aa02e8aaf233ae96d8433f327649659e0e0d505b97e9c90e1f4adb56affbae7ca78493b13778bbc1a7cbab7c749373d13acef5ea67d1302bec2c06029ddf245d1eece3171a69a4a62dacac993e3ff114f37c6c694d06af64431ff6f4d077987fb91b8f138288481bd93a117145c93eac7f1c1c6d44dd67c85ddb38104244943051c34847705951547202efc3f00399c265042ad5b4df8f70b6f7aed83e9f7d6b27abfdff60460f2a2f6f2301d6acde2a66f962003ba8cfc00aa964525205a00ab570451a3beb4016ffd233602a9d31aaae2db1a06c3a1bd69dfa06aa03904152f9304527e0f3a9b0bb0e7f7538bb74021f32cd064b0da2b3b1f0ea14bbb4e1e10a03c509bc94398cf8692007abf774bf9b17d1a773919085ad09d10919beefd42bbbe4de6b4e79664d169e5ae085904f7a2420f69399d5e238abc85b14c9d4d0ed9b59df6b3a59292e516c896846d378a448b6bd04d105bf366e00afa8a8c1a4ea90586d6cfed6f4d5217233cf1c04ce54d64e9167dea89fd7e0fe315e4355bf1fe6d9da3cce0495e20e0463ec116006a80e88af01dd401632ca77115450f1600d26557112e56e7f54843ae229e3058dacea9e2ede0403fe1af83ea8574492a63850a6fd291bb640a8d90218a414899c042573e99c3624e6e04064b4b5380685716e86c4ebf5f0de2d586133d036fd6973db4fac3a642fe1cd2adbd52de7ee8b6485865914e603bb3f24afd2be0ad8897b4eb4ca5f56e6c772dae29ef7537ff64ed85f6ff07f126dac5f133309a02c682d3c6898eedb1abf6384001f4c019e9ec2c730528b65419e22014d3df146f7abac3ec834bdf3784f3bae0fb80807939eb6c38c25efa595125fc3308750fd095407be650d91a4c4676c9a4704a08914b708ac0e89b414ba4e973a3c539c99a5963ed6ba18aacd4360fd1ce60a68d677c0bf40051f9f59d5a3d2304795263b937f6828758744bbb26d8b01894c8fff2d3a74c1249ec3436b9b8b8148b0bad321c7d28b836e8becb095ef5ed132e84f79df06bb987ba777c08771c5bcec5624e63e78495f4c0b24d221e1716f6000c695320cf50623faae2f40068f51b5516d7a33859dda57f470fb0639578dd4f26c763a4604472c01faa7c40d15a4fa647152fe60b594e6d6d774582668411adb69733530bf88b62b09f0a9867b217d0d50b5d1b237d6c7a478c8eec3f6ac8652cd32d11fd35ec4d2eab3d8965ff784f594f6416a957c4c736f60e4959ec04a7fe350620037fb1b0797d0d7d39d46c2599a1c3304a699d65789db455c3a22402591b55817df18d572e1a4948562751157d97273894072f16fad5b10376156c0a3d825d373da4fc063fc8fa68bf9f400ba70a48aa5627111efe722608cdbd0f55550a308790c414b380667333bc96af0116edd768b60a5af13a06d9792dd10cea623fbd7e68cfb57eef3215c545338ceb5e317b1b81eb31c8b70b7a5c2593b212df793b8a85ac8c5b60a03dc27dba20d26466a8afda28b1af50004f0d5b44ca97fcd1e8ab801a3dc39f33377cc400b7e5c0ad90ebf6f2ca4713dc7fd1ac5918efe23c5465137ece42009a3cd8405f1fdb5756f3764f4d4ec263585187c25ca2b5af5177a924078a4d1293c9a2f86a6dabb30205d90c984c97b21e0ef97cdeb4e1e2d298cfe0ea89135d0f0a81d8520200adc99beb65a4b37ced0d8628f46374f8f08d5a601f3974f2d11640678fd95e3753cd80e41647221bb6cb9a17c2db4e7f121827e038f2d40e2ffe6e1fcf5122d81ab289365ab28ac4d9d62fabd194e77c127754d68ab9bc5c8414d15084fc28e7f958f5698620adbf2cab4766fa18ddf6b7d90d691285c396a4e44caa71660939a5f86ceac3135d0a28013c412b8f608ea92308e1830fe32b763d532f22e00b2681b395b419b0b20711292e9809f2f7fd62c6c6e37de58d3b9973b83d802abdf066054170a31d73d5fe992841808a355579f105b339103919219b89471067197384fc818048e1913c703784141d5203ca11f6c39d9b03f9c0773e4e04757b0c15183c15d0d7efdd070320df03f568d7d2611f35543a78765edbf58db1f6ea6bb1c17d0a046e7b74896fceb91635546a7a2347f6d85ab33cb32eeaba849d3964f3c15f9e91a0912accf4a141b54b0c14b710cd9be8ec004df351792110dacb08258a5a34dd842a9a5ebb103cb326012eb9a9b20ad8b8735c106d0d4aebff9ef867aa0a43bfc028c5813051305983a395edb3f3a3e591f9e132f0b27c57cac2dbf1010457fa26d92b4e11464051d3341c75ac0c5aed6335d7a9d09f9bdc964cd1e20f0466f724cec6162b43d4692957347a7c3c82bd968d986a8a74cddf4a56ac4839b38e21b13e8659cae7e7ae245a930cf53a13c5e6ac9066fee49328255ad4cd73e4100d545beed220c71ee0e52dc932237ad5d8bde0a09a3d86695058d02102f62a6f11ae9c1f48dce184c1c0adbe4e2fdc09a310732b0b9129f0856d018e3ce9512f7eb88df34f6c621bb9499d89645815342e22c938619a360cc91f45bec5e691457c28ac7714965c335b7e2b7f9caa7c086543fe32aa042aeef092bce2734924ef162c3c550d40a6624d22e544956216b520b34ed8ac95c10a56a7202f9c039d43cebbf24b83668f6991ad13473763c666fe638aa5746b3ade92390003ae0850645681a129238263bee7ab207ce3837e8e55e0533f0e9b14f42c5101545a2cf7a3f794df43cd7fafa1661bda23ca1d1385ee0e3de0031ca521f1e5f0020107b122deee3f42eda0f6656166c7fc043ef803fa0ac56962715cdead4264bcaa25a94c5216b0a171110be97e82d3c6253249d53209be01e5831a24ab526b82f69289d299db943f011a4e0421b4f4223566c4e5e2492937635b17b2f387195976a0135812621a1e2a6127216404e3caa3c0645501feda9f69b37c2f3b3826faab17330cfac88bb91c3d922e87aa6ceba985af0a47b45ed692a46641a3c80d3ef23585f335c85bd11af8b54c5ca45bbef227f30613b1249b4e7a107039fdffdbae198b9795e56947382daa6b5df3c5570596525adb54dbe524ec7638ad779a2adf5b6ea51228c7c4f56a856f7c0a5110fc213f19f592842ec415a78c75a5d29b689c70ec5c85ab940c5026371fb8fe12276ca8659388d32897fd69866f52da2d327416729f3cbd3c798cb23158002c8ee9f2f9c9e845dd16658b86ed1d7eebd1708724b2c3ab86f3a8c92713adfd9d28e98033d39f3af43aebd3e60fb57468fcd13228c560785bba10eac6af8aeb9932f4e6fa83784376787d2d75a7df92cfbb1fcabe35aafef7b1fb9044bba723e7864acfba730267f3687b35e71b86b83a2951b273d038a43bba549c21f4d5900d61474eeb2897f457821bb29f3a56dfef8b2baad522fdcd6b98bc0a5032394dde1e5ffb659dbe70cab1499b8a73de1b2a05a635b27b8917e8d4aad9b5dffc9ef7de87c374c09f93091ae4b40ff4710a3f2aa759fb73c10b2156c78d87fc818e5d565323e16080f2d0ddfdfe816a2236b158cae137bbafdf9d5d9eb86738aeb71c757b50908091458c2c79e051116ea6ff491a19651026f9709f9bc813aa5ef849ec20633dc84a6ea245b6ce94073c63a716bbdcefb605e8fa852c38cc5890a14925e152007d5dd58057d4808e7db1434067bd32266167671756adc1d9c282dd0f0f9caa43afcdf1b2d7156637421d7d37b8d2316299bf48c54d0bc9c2c84406293316b4be7c4995da972b9c3b739207fec031f00cb10ce9bd19fda3e82126b84fc45770d4aea4a9ea2e5b8d9f328d6c7be78073cef45d744b9498a1c53321a3d159b1a95e82fa0363262eb584a6b85cccf06d92da4a702393d59de4ca5c64eb1cdcbc67fdfd4d9734c338b1d645e99f5e0c1d51b923c20fc76578a135588c700ecf9adf439175e67ef2fd6498836a202adaaa67c45ff3c76f36bc4ef938bdf3356d5ce6730d4a91ae4f23c03e426b02a09aa61508dc7d00fffb7910df47c82649c35c99e7558900d7371ca2d7fbeb616d6c572f3f04cf2e79de14424c140394b9f5756dfac2a97c0c6be7adc64f20c63caabcf21f5534e84ca436d0eaaa9d31033e5dab3d8488d1835f71891a061de22a4789363e135290eaf325ca7146a15e6024e9d042ef211870ba36cfe86a7efa8ddb917071459ec280014df687356e608140297e3682a03cd34f6afe72c034aabea84b4bfe7ec140130f0e4107c5f017ab07478442a459f91c316f1c2ea69538d1e7e53f972d23dde4c30903844acaa4795d61d8267e97b89e7de5e826a1559834e46042869c2e25859598d5059744c5e14f68d945e2f1a870daac54508aa5ce06808e08b614b1c3abed64cdafdf4fb3de0c1662bdd8e0c704f679d74b51ab5b7237182a3f15372cedbfb803977f639deee1bc5e54f4d48d7e96441b7bc1f83e3d1e8bf080f39462c3f8f4d3daba7266d17f4434944d6a4a94be2e2ebd0b9f786d05503661330d6142c23a3d65a02d1ccb24cdac54dedcff3d2988bb5457587b81b0fe7a0c1f1af72d3c68373335be66a64fbdbebc4c39c8bb0d539fcfdbb2b2daa82563076b7d34b2f34203a7a47e327f33d163b2d0cc996ab39e2cebf7d16a512279e621b64a92190830f6e1debd73b8db80cacb6f9ad5bb1ac39b4c27257367410ba7b86e00c0a4342c03c716662d8fc00907fa734936d417e619b8bb2528ae0676e08ae5cbfc519da6a5753eb47f17c8c3331c47304882f6fd8c7449a1a58695ed7b76eae6af6620ed2f4edd1d2029b4380504ceb9e8fce008edc9a80d6a3594dcb033bd3c3556916b5ac3ebbd09a4cbc3d9dd33d2f90c61c7c6da9319808526cd27f57af06dbca37be50f0ffc5dcb091d37afa740e3890dd2bc383196aae7f4a7e586ff61b3086f7525091234d154a9bf3e11be646e6791e1fe18f1490cc135b3cc936073a5feef5f8bcf64ea57483963778e73074796090460d2f940bf9683659b77cef36dc11e8c6a8a9b65b31848075b1d1286179452a5624519b498a3e44d1988f3470c64a56b5048796ca60d4af2fbc909610ff1dbe4ce9685482c8c6f06e50055fb803bd76ffb3a312989af0daad452d3a6727a564994779660bfd89ba04d41515105575a6ec64d5cc768809613a0533e3f3cbdfc9af751f0573433aa708941a98770c7d8a6344707c7f60b624905fcea3b6123fa5129002bc5da3d16fd95729792520b15ca843d3e6c81b994d567f9945506c51f560280f0441c54d4080996aa8f5da132c471a5bbac945a95f1b981fef3751afbd2d350e829641a8795bc285d2e827ef9a59f640238e371f84d8ab5078ebda21d277c9c4a893fdf7dd68eefb0d6b89d707e86d370c2210a13741139c6401ec9094c6f8f040fa894a715023c7b4763e27c4f19d01604913c7e0c0e2f7692ecd8da2a3565caa17eda049de14daf2c335d13d244d32287c456acec4da6a0c4b8b5a962ec83e0a67bf0b62079d14e792fc7176b82ede1ab59c3bb3dbc8efeaff0a2c4836689744deb08e36e59a6a1389752cb6c6a46691b31d0230b0d1fb0883e41288eaa75716c69ae0badfa52880a139b982eb406ea666704054a44447f4d8612b0095ae9b456171c77cd9071bd217fb3a2f8fc1cdfdf3d92b42bb08022e218771680e28282e834b222eaa167b1c9cfa08af2f82ec733dd254b4cda1a312cc140de141680d476504d023802afac733e327039ecb549b90c240a3ec6872000bebd4f1d916a073e750ade7e687301de9d380516afc6f97419522915c4a28f519a29dece8eae64b86403f957f3a7106102d6de2f7aae2b813afe834809739eaed4a5c1f17293736a95d632319867488c4a9a3d47c0c0d77403110093ded50a81942a8a1f2afe80e4aff6f1661957df23bb23abfd6766c983ea403f3c06d1a347d9bdcec9fd3812824a26c8e7b75fcaec1c00d1472d5d77110bb9df017295a612641a6c133a2a81ea4b9afc5730d3a5cf7817f8e34ec3eddb5e116c6088e59b2dc6fb4077a49db240660dd8665622ab2a132f6f32652af2dadb57b0052188d9f5e7adbfb64dedee29264cc513baba48ed283ed10525eeb1cd0893e683fa1b0719896e77a497d513be79caae79a52b72dc22f3d7a41848e1483f11272db7787491d36a9f59e4df35fcbc97320f611111cfbb15880f3015d750cfa40d8148a6237702610ea26cd16ae910090376b01addacb63c6a0431eab1bf29cdaba0cec5a5961ad9c29792bfa503978a23f984fc95c7331109a6492a4b1e29ddd6031fd105a2e93f0575c7941feedda25ff12e328f150f9438e22269b3b3db012807c73e975e06481923a3b546697ef61aae924350115083318b106689353b2765591537d6b0e3f378909c16e43866cd6f0b40bc076e4fff2b3435ce209c28e449c6a810b8e53744e576921da4ed5363f376f025fe976811af57841870eb2697f3227ebf1bae26c9b0410f293060e76dffafe28e23a09ee1b8e60231fce6612c46e47094d178153072330fdf33156f7a0d26e72599005954fd19d72785e840f0b743e4a3b05d1a370c346f5f2e05dcbaaebcb82e8046c77a3368c3fe1c7b38c38f4fed8a8c7044ce92c53aeb08eb37cf95e1fc27e6c2620689554197e03e91cea5791619297d893050a7294ed59ec4cdf08e95b00924185d429c114650d8d1aacc4bd9be35925436f95752ee06beb7144412066a8678f6c8f66d3a8ab4d0c3bda5043a93afcca59360b0bdc54287a185192f87baeda6bb9ea1ac63b38f7701f8a342240ea209b0396ca7305d789ed1e1a3959364da3e26d20f945b845ad170861c37370749eaccf63615b7133c71e3f285c52f815fca8df44075874cd2be231e8b027bfe05fd53a9f8385f64a36d075bade09391ccc4606fcff71b2ee2da0c379b01cac6d098c2c136c1e427ce50c8b12d83c4aec7071ade12170c24fbb3ba46fdaae6144d1b25a3ea732e8f5029f223e8eea1894de11ae4330532a1ca661517973ecb53cb584b185749bbd78467a09d220a4e9a752d7c904f3b791109437057f9b2d9ba55bbf52de57a139bb66c30a2bfae2d03fc44aac95267eb99e009b5858f665f3c690b2e4d2a0e4fada639dc2ee254daa4ece8a1eebb4773eeb34ae8fb70dd4510a8b4efbb6045bb0e09f148b8a08e82346038ce4436f8133db85d621376849f88bc518b992a6aea6b8aad7f745a9ab9814c85ee29614bf4535de790a859567624c18cf4a9cf773b07b7ca0a718e8b18013248936d6a78d1efff3f8f22f84a8b6c2195a32b12f0308a5d3c647d63edbed474a2a4e908bf6fd2d9f982dfda02b64f7ac94aebe5b44c356a82ec697b2fea7e0a7069498afadb6179022015deffe69c9c0622c69c767c48a1cc30c68f48dbdc38ab3399cd67963e0cb7d41509f944ff953247339d1b030df43b6f60c7ec7a3599ae34d82f990e2ae336e7cef1b51c82bd02e0825961b9bf274e657e094e2e2a09e98a3702a85c9ca049d45166c004aee2a98699b884620a7d5435675f03c501d575662cc528746739ff6268a9d864e8ec56c4f59320675457d8a8eb61d72b84647756ef82b12eeed98eae7128e0080f9ee01699e4f4368d5bb3a6e5f5b123130a35de552166abc99aab82f04aad5dce5de98a61a52a03b2b643c5144625c98160c0048ee23fb830c60513119b1ce88a07f26f6bf71c48d8a8075287d0c94346505601424b2817e6df18ddc3b3e212ed2830521befe8fa6a9bf25313d011b8b056a892e566b04b1896093a9c91dd6d3250695cc05e8e6701bd39c05b72cdbac6b2432879ef161879821531a8b9771dc403f6526ac922ef6309f99adbf59b00172d5b66f80532d98de1a462e1e2c6b7751bf582f075dda7b8617462bcf0e4737981804ce3f185e7d8e26d2156340fef83d310636a17ca00b5efdc928ad9064ea6e0ae50258e76a8d0a8b89873a08cb2be49ad49f3879f0288dafdda4615e94acd77957507061398023bc3934bc7adaac5da9c638378b5cceca01c4a04b1daea104c9804cd929738677b490723a724653d75cc2f2fb382302391f70ca04105067642f73ef81ab47cd8e1c6a26e2be7b11da0a0dd3e4230f3d037cc469734c1dfe651a5547f7164d055efbdd718dad4c74a4c46786892aa116df835a8ab31e2ff8ef19e967c850d9db346d881528c370f24a458ececde81cb3f8af53b1894c275e8823addd2b9e2d30389bf1a1e53cbc64e120b00b4df21add60da660e5f26736b75bafc10d6bfd831979c19e616d22d6e30835a13a9fa643ad733db8c04c7be7e326c2413af47c99369335ec2b8d54726e7e03b7dce602b397f16f735e3d1e3eff25b8eba4586a3115449fc5238e20fe79a73953cdb6e072112f82ebc35f78da6112c30f69c00edb81a7b38f9c4fa31aab82679ec55261dee59f83b9e869c9aacfcaaa8a5e8354a6f7bbb5e4eaf92944755d476a0bce0dee0100ea7196b393c63b4a9f78230f236de9ba256a163b45a3338738fe9ae01d05247e43ae02c6bc0784ff6b075a5c00a18e69a215044074fd093b6fc896d259be61ab9d7d91bc7e99829a453a770a68da765fd366f9a3e6d56deaa6ab64ce9b92d886a177b0fec7f1166a61fa01f86431f6ccf6d6d25301eff1b4d088ba6ebf1f8d7170e4c7a25e4179318abb2c95f051b6a100ef7ad54c70cd532493630e28400f258f76f08e721060d5bccf72eb405fc8591846bbe878b8456fe9b9351158173c9af5dbb4c01d18a1ca11884b19a0935ae81b8337531c182d460380d70720dd345b1eeb060fa4e491880d701ef8406de6c97dcf173b41b2cfc4298d6b6c5fa6a53ef96c3620da840064050a6e59d8f7610f8aa231079db147a20799d3e6e069a2e8d9be8d83e91f73402b809d3082cbab4b5ad5431cdc5cb00a4f5ab65fea22d931f0a52c3b9f6871e4eae4b8707869d5aed75e91313ee527a39aca3f11be127671134fa448acc618786eac1abb761823dcb284bde0eff1e074fd1312480b84dc101a5b0477b9a4cd0b0dda50153995d2a4ffea1948e994ba6bf8bf9b39a480531e6f1485e4dceda325d413593084a807db41f30b38566adefffea4ef14c20779ac18b557bfe4da747a30e7028f3cf2f7d96608cd2f6c81385ddc901f2f53cacb677eadae5a54106c7f14c4013725f65c79763689781a28cfb14f1ad53fb65c4e51910cdbc877c4ab505506b75e74f83b3ddf0ccc91ba13a26fa6696e8597ba13009c68267056cdd0199e2a431e98c4d381bbdf99b75fcd37a235cf5deb6bee30d022af70fd260c12c6570235cc6ed92319ea782f3339f2c2f05e7175c32aa3943400082be7c29162220671ea4a32cb97e0f81575d97acae167ba67c12f68189421ed1affca065079948eee751451e0c11c429003d3b0d1a0a76b308abc7ff0c56fd0884aae725dc9e1b08fd822fba8b36fa3dcc247bc3e9e352d4cce813443b273d8084ca3e94d0e00943c93fcdaf0b96089ec39da798c586a6922e9fc3556c71e8b26f04c5a02da4f49817c27609d0d53162b055b3951fd102cb55d57ab41a35da921c7f42adbc4d6e21ec2e8f14c8e76e15d33c4f714b788e5e76152babc5a7c596d32028802ece27fc50e602e5974896348dea0d05a84810e619b3aa133c486e93f49c0764894a8fbc8909c38eabfeac30a16302a90f35540f906a411017f9b30bae8b9247e0ac939197d5fbcf88831fd894994e04c575b316a1a961051e7bfb21f9d66884474662533203da24f21cde0799a6eb33fb549e0727b88154768ab32b162fd36cf479b6a98f927c09b6cd3df82d7c68968f64fc7b950fe31501ecfc0aa9d7f7a880dd1c708d56ccbda83e1cc417bdf7901e3456e16fe72673d65b46e7a5f2e46ee243b1484f2ede4851561005d214e5b895484edfa53ad55148a867fab0c876f5d444ac0f75734243a62f850c3bf98fd048a2182d841961c45820c0d41023046d73d43be18ad4839914bd031544370e401b3229815664df24905f9c7fe05a964f2037ba0520c587c6f92582f435ced6421a07b0e361333ab716786fa6da9041657a57455cafe117a7c44de8fe8ff7a3de32586d32d53593a68c3a9f988e4eca6de64d87ce891dc41d1f208c46455b376f743ee78d1ca9c328bd368682ce77184fa7c4ae16a2d24fcdf36328983087eeef634f3ac3eaf59074ac69879eff4b15dc90de48f51067a3dbc800d7306db4ec09b5785d06958b34c84692cc5cfe9e4a38e48377f3d4006c308ceb5bdc643a1d9dc56475cfcb88360a0c6ec9143f0bd48911921ab97d22f1f3690961dce8504ffc9a1a154dddc7a189d9d3d8e880f3a1f809cfa28831b83f0266caabd655b654445463c4e46ff4257a090ebfd33c8435028f69195c52f883a0ae2d5f4efa97de5bdd8cf9a5d6e2d20e55fdbf8f5895085a04e8d9635d548f2cfca0217714ec9d78dd92b40dc9b854015ac6a637b0ed1ce919ac093e041fe4e917b01b327fccbe8f37eb70f40f3fa4ac526fb623e5b6cfa857d3af7267019d6d1eb2f2b9306769b6c4b6c34c2a3869725c3854b987e2e37a60923ca07240b73f00a129b083a8046d17da9d1eb7166ada2a684272d41b25d0ba41894ee3fe60ceb9625867ee92659d5c83554f2bf0623fc0ef8989d3d3f8749fc691f3079feb2e7034107764532e4e89aea4500fb5b3bdcb81c952fe69003199db343b284d82a82a821db1f6c2c92516752e6a5a3902e0221c81eb9f3fe1050c889a6b4d049dce980725e689c9e1d9df0596d95c2686ecc0194f448a920dc7d4028ad77bcb7da0acdb33f21f6738f83025d809bfc04558a92f8dd71c7e978ba8cb4e81dd8a51ff8bdc55809002ea672935df8c8b0d52b0e6419a8fbd43bda18deeb6ed4d4a2b1065d3934ef527af0364b58805e2a04fd31c4b3b86feb9d875fa44a7714a54321f59ac020e466780dec53bfd4db337102946521b2ad18a42ac0daa21f7a131c02d3be95c8dc945bb45246b5728164846562e9a767d6efe15afeab413e841ef741250e53d805810b7ea61427fec587e010ebc1866bcf9b8af9311e237c148cb223a390e3170b21d5b4563654b98816f6802f5c032bf24df737f987884df581c13bdb365866bc8885549d59b6bd1726a0b92dada3fd5014417199c5ddd339186b267806a5a874d6889f81795564ebd4fcd569114fd2c42950c61c09c635eaba66496a8d9351783203b380a76429fcc31621b027a7c4a9fdb5be7444b683efa224deafe30456ae753457367d0e0e82216f4091af79dae6d06bb4ac6b3262168dc18443e8db90304391b1bbc9a74b5a0b96394509bead76a147806a180d55c34a08e7cacefce95ed1f22bed5d2787c71568cc9121eb386adf3819ccb84141a76ca69fc9e92c842700be2574c8cc14264396b6dfc59d4101b35a7c9c2e1a7b41206fb9699e8b51d02f02d0190b380b305cff2d0ab6e0579aa342fb39615678b7eebc5ba02c712dafe615ec44a8d48cb0fe6d61c321307043d86b6e0e2f35ba95c7e5dbf7410327b7b74921509ce57348b273a97662123eb11402f9feb89d158898129db0a9beb005e1380b1b190c36f4cc1e290ff599749d585071eb70df008ae53389a2872849f58dba2bdbd98cde404bf3a7417f3008f3d211d49c8a504a543317fcfc55f3eb9d0f0ff3f321daf990d4c7ba7f43730b5293dd51b9448dc99b926994e379e0e0d46b0e8a80b1012d42636eceb48d9ba0c654b0d87220db90f5c07b9342ff88f49ebaec22dac322b4f555eb269aa534f9423dd78d3a2f3a1d53780a2423f3ec270adb00153cc6a76c7b18f01b55647c47651dd96e824e9ee9d8130ccc6319832282e0a5859b3a554a6082588e25a4ef39e4ef8a0b44d0b7876630cef08d10267e714915840361200e122c989b0ecdf334a86e60a506f8c23b91ecd8945a1ff96a469ff9e899f27fef26de4da304dc38efde2769805d09f8e31d2ebc036c17035d209ba2b14eb2fc316f4a3e4298ffd9ca392b681cc8291e4c23db4562eaea63e6f58faf68755feb57828fa22cb065385f03da199f167bff720458793233e5c0404848abeb1fe20d7f0c1427867a8c51bb28ab75827d3fb92b281c22e9559e74f19d486026023a1b123bbfa39751efc771b65d16cd623876ae47c6faf69251964eeb62faf436ebb3772c3423f25844a02781c6beee1cb994768648b512c696af1b654b322e9b846dc1857ad91f4966be113bff43ae5ccdd987eecae56d2cc7cb4bb18545aee4a9c1cde5b9280a7dea07d267677d4953c8d16d2a460558199b73f64957d790a6f9315dc747e61a77bb4309158aa0824e3ea0c662e834d8c97cc339471186833d52f134bc3efd892e32642b6ed164d4fa3ccd6ccfd3f30de914d20c79039e765d12c3950aec67c808a663aec83783cd9429342cbf47ba97051cc8f10aab082da0491ec9d198a1874b35587bf222c06830c9f443375295b172d1891ac925a3a9c2ca191c108331e719e926fdd7d5a423b2920bbe5b1846886bf208fcf6d5fa9d97e868083c1d463861f2197c9595fce98ed0bce45ad2b7756a72ab3303f0d49cd45c5553099168d87a9f82e507b56ae53a5b88b0216c5f3e25578ba3bdf658a37cacf1101284dcc235e9587490b208f6dcb7627773a93e3f27f88f73c16b0d46ef05b816405a8b0073f15b4b2d66d27bdb504702b26544ca5ab5d342b9d29dcf0b023bdf91f8adb057c51f1cbcd961fc612d2d09fe6d7812fe3301cb848a1b2909e6f3fc269554bdb397ee5f2cb295d2d5538a2d26e510bcdefa1e74f33f0c671a4678129b877395d6409024daa44fefc0ddef3a2a5a05e8515220214e3357df78cc82e242e593e1729c4196aa720f1049eaa1fe67625fc3049379bcf559bef7143cacdfd31e3f33ab04595920d36913034aa719d473bcd9568baa5c68abb9248648454bd44e136238e723eb525d63accf5101cdf9166ac6d99fa7c671b3898eebb14e35a2b6b8955c691d7e28bc79d4d2386576d904dddb9f4b18f77bfb49f2f2790a4c9091919515cd6e9e25520d5fcd2456987d5011289ba47769808dbd38f935d76383fba1d14578ebf84863e275d3bbf9d60ef30bd3b3722ed9f17c342d47724306b2094b16ca2c7dc9a17dc71d536f8a41ce7250c18d5a48bc0d1eb9f87e745b19970044070ba5df87bcc515cc906ca7ccb32b975e0f31e0d0eb101e35baa0c498c2bc018458cb566a735cacb49ed37becd59d344cbb20edfe57a96f57c995ec921a2349c44b0c399106b98ee1d04eb11d903215121ea8d3a499bf612ad2fd75b31d2e42c5fc1a4d14645a91e887363f4c71749271fc1d3b1d890539c45b67f2fc0f0c519e13914a7bce0d59871185a485d301627c0f4ea48576000cf4e0adecbc940357d7f32093943a83eb19bc39358343fa05107c17f699a928ce3b7550dfc90c2e3cb8e4d313f889204eedc773d6d9f4da77c5a540213cc44e222ec62dae467de05c6681f1a42b82862746002bd834a52144fdebc99e34f7d181313cf5cf5362434572985cc3047c4a4424575c24561e0a8381fe57e47a1aa2068e98284a56d7df5d030b4991cc5be0cd913295503feaa6839feda975a051130b0e159fa2e6e9e9738145ed6c2a3524e9885b9873144bff03b57b509aa662fe087e198a652a64fc8c2aab1d0318ca11c8fea315d65a838c0eb9e0ec5a66b392cf6b09198d20e0e90338f50fc91abd54d15107c69d745995659a1143b6b4815b4d944963f69aee998172e65a89888802ddfb95bac104a0b2a5346a2bf7cfaa244cc10d48d05f3160c38e2fe868a69f9906509f20bf3738526e6c0a0ed22e1d0efba77c2a22027782ac742e7d13497f04c573e1e8002f2478b8fc1f5037cb2dc43e689c2b55e5dcc72b4d82eda4bb196a30f583568768446efd6029329dbfbf5013239b1f691b9ae66127fa2ac06f08314e1c15a77d220d085297527349e3247bd329fa38f30b863633df9d04fbee02e1205277440228c3d13191aa9428552798a60ddf115d72f48655e9764349d7c975c65d5e0c8ed37f70a0359318c5ec19c6b7b1dc3e53c264ad1d25f9a938782fa907d87dcc131fec56d2ea115c89a01d4c989f4ebc8641d662323609d16b54fd19c2d95b34a80896547b558c38dc37ca9202fa7dfaa9b9a446eeae4a654fa48befcbdf634c9ad47b0ebb6ea8ab56c4f04ca3472508878b53fdb08788126ee954f1a686560768b325d2dc42052e10c4849bf6e04c0e7e2015f28bb4845cede944909536cfb029814bdcf589785090494cec2586061425d4787b2d8cb9cc771a1ae86342db9c661e02390b1b20fbe12b42b6a484e942268bdeca46c4aadcbfcf9f2f4a6db106391c0a79945a460fc048d4ead1d9b6bcfb12e2c0006d7a1bd301900432a598cbcdeea19fe79d77231edb04af185aa506605ee56f8446d84e2c90cede4403014a376882ce52b8103421e5bffa8c582bed14d77a4951b7e5d734d64c557d3cf1c8e6b6d2322f1cbb9ebd112d2ee2af0be36e2910263d46ea05e221cfcb382d93b6f83593c76b2a8aaed16bdc47b8a115878161d202983ce3246788549e6012f5a59c93a5c390343213557c48a90490b28e20ddf8c1519a03ff2e4226f64567d3600df7059eaa165e5f1d78096a008ae035c112a0b0e0b9430bb2afd891bedce8ac40adb994584a77541d64286f4f09be0e782862fb080bd670e0f484ee6f31bc08c9a750e70e174c9dace659cfcdfda83c02d7c8c1c488c89c3f60fe99a24dc093c01ce4ca35542537c0c3a6ce81895a7ec31c8b0a8676192b7cf7200c246b58d0eda67c814c3448dc9e9b097f23a8bdf56dee68e74ee7e6d8c9aae6ed11d49fa69dd0df728690c31a1cff36a119189a42901de01ae3bd53f8688e2e67a8185fc7073f54f38f6044e860a5029a61f3612553dda1c113000e509d50b08a6aa714815ac4c8c3b480872bd35144e112f9f05a44b781e3673574349897a09bf58190382c5487f95edd5f16e61f089e3795a3a18459912382c73e39ed95754250dd2311a6d2dad1b197f4446a67c6f18862de2ec5a501dd63f353dd8e081dd44246f8d92cc87415aa41beef9220a33e94610b5306fdcbb229ff65b32acc5ed38bc657af886fdef68c12b25d3cc9859ec579a49f0e97dd48e367bfb382cc90587c34067276ed8c4c4439976696533e70e038adbab84918fd5cccad1ece527e6915c33a471e8388321e8ae71480789c1c0f3d9a0cd00e48498b2232a122d486cb872dbca1d367386db4aae9e4418112a66be5a2b547e68a952c789383c90cc62075d947824c4484d3bd6a21b1826e22003cd585570d61dede6b1382a22a63046bea0e4456f06131be66fb8bc03213edef19ae619cc7c79ef7a8ad605e2a1d4408090032a168628e469f7db09e3fabfab2028888cce2349083179a67afb578d04838739277666724111291d22327a0c4783ae24c031cf9989a34322366b00e40436f876a5e0104c65bad3346487c58b08abee75733ea1c4af0a835de7f3e68a1f25bc5f427fccdf2ab50ecbbed01ea4ae25157822c75cb4dbf054d87c9b6c053b81aec17c2c9d290ff5dab4e70f5d4f003276572533cf323c0ec6d76d5fa4617d45d88cfd7be1ed50fa57e30791a38f3c823d56022de876580448a5927347a45f436432aa9150c2a8dccb89178c503b3f33d67648c1c6a25a62d7815985e7d95f2624a06699c9ee4b0483ac36b0211dad391e02f39c388c69162c650971249b41fad2dd099e478807de8e24a44d094052390a03ecc0d92dcaf7f1698ec14d31c600352036de4390ac8eb2556f66e396c51ad04817aac51ccfe9c205767748e1f6419d3f8693ab3f5ab95d6e5f38a8f65c422e959719a233e970488b407747f3318301342f364b78cb17f173634cdd50217fdcec44dedd9c59df6b649ccbdd5397a4e780074576a5050022aff5f92b72d1bb1e3bf4140b3f1611b66ed1b3bd22d1d2771ba4e38496c1fdd15b61ba3b5a93be1057136ed46db2b0b296e30303c15b525fc69858154637bd0ea7201f8c446b8b4928f443c200bc05fc327b3775258593b18015e30a6532c94f4e22187430649d83ca5eaa29aa055ae22bdf63c977eab1acc3efedafb90459f19cac1b65d333ccc94c70334e5f433aad45ca8bbd9d1e4e3742bc32ca6b89b80aadcf7ad5a4907595d763f1109c7b2e6030c43ed0d51f8be3139ffa62290d795c1cdbe8c0b2a430870d3f323d5772517ee924611c257e399cf3455bc55e91b21d91de2196632ea0c96cd492f9dd0539eb6a9f67e1e9d66c6b948a871ebbeee7894e16c9ceb9434d70f82ba5025348c385b2550a16e7ed73710eab9f30a9d01da784df03c366b1e7faccefa25a51e4eb07f5fcbad5e324af94abc698a25838634e4651295c8d24bffcbbb7bf88573badf9125016380c57c0211fa9994d1263381d06d180ad6d786f8ff2ce82e484e2af1961516751e635872f9adf588bd1d4e4da4a28d9ffea7fbe4403690d2feb423d02e030a06a7c244eaf027d0751dc9e0828ce64b2ca85dd2eedc327bdfa69387d022964e0d5d9e42f4a32c80e0f750cf3dfd0f986ed22b68938548b4e73cc3a7f96d19d19fc3a86a3e9a0f4a817c7c185bc14472ff29a564c22ee91256f433752de6de0a762be4ff3d265e29ce8dc4520ce85213a62aefce439fdfeaf5591d5157592a87462e5189b434415e05c7c2b13fbb8004d0b5c7afcd05fd76c5415ca13ba4318881ec55205c370f9c08bdc76050643c4b95bccc4d4cc9c34fc8157577b2ab0cc51212e9fc198ed01520c11806642fdd850d92f0d0525db928f181e9377a8e70f96cc73590f89e33730742b031119daf19ab83c7849893c4de363c28ef5c710509bdeb249a4ec7a493eb6592e1d25177f3bd1db5230344f432aed00d888a14922911c00d86e90069ff58a0fc57ea350cdfeaf297d45ff4493b65834ccb83a14d05020d9058ec79020c93c0d924120d54dad7d13711b228302598fa24784f79a36e9d197f2d7202c1701061121943bf9ca9190c4ae2d780eab2e8b6f0ad0082638be45c5dbea63cc55c6e9d90a4d690002d11f9010118ae9b1f21f6916c8d2f388453c86ff75c2b584986cb8145ae66be54e73800f9482c4cb679905562cd9d3f3be86a255b491cd412b64d4c9546e737d529178d0c705c145ddd1edbe45ef83a23e63ca56401223f49023e6d40675a93daf702d2acbd7cd227259ca662a8f0ca846304bbf0f5f8fb47263bf26a04a9d80c4cfb7326a61b79b9c9ce49c7ca2efc1a6fd394115d261f1ef50225fdad024d5f2f9c65623753ad9235721a8282bbcddb8347890bd54f8bc25c2fb4988e91d6454a0302e490cc249027609d2a13857c7e6604427b95dffc748b28644d4e7969c6a936eb6bba2164a870aed25bc2fff61480be1c1fdbe0d3dffc46d7c19ff8710a93c6d6bb0d8421447e3bd97f65aa267d8005fd54a8288b856da91ef00ece4378b2be6c930bf6a020cca98b6908fc569f8b032d40659faa62d5829cd4c0fb79c297abbef3dc8cad88c88ab4b65da07e7274c7a85a495e289742aee06e83393712e0419d38e472bfffe226c05dcd7607bc19830598ae7085bf999cfb55b86b98fa613fc7d1e93d8f7a63c25d6bd0e1069096fd647446b1042c82ee9cf4044b776138189ef54d4051efc046bf65209079148a29cbe56cc4f27c05212cddb661186293af3fac8883698c39befd90848ab9c51bc05e3221f60d9e68feab6841f1a015314596fd8f37e6041eb9c7cc46e2a223d22486a6e370129bdad69c9b4b4c95dfa1078885b533bfdc639b33168813c33395e1568351c428ed99940296e63f285a6d00a5207d0db01a0c2357ce4e086484205f501b3caf613ad3aee4322a1c31738a87e113405ac4ace872c8c414e9de5fce90d2c187a85ac63d2220eb94928582d484293a455b1390817c4ab196cb82d7ec98adb9c56c7eb464942b864c7d3414248920582055a2088b105828f313629136192a10b04733e37b91682f251da0bc630b3734ee47137d5c70d20cf4fbbe0cd0c622f64fc4b390de3e0a14e6dad5b834758e4d27f225d742bd1d8a1a1c9fdd0ac8ae4d71e149179d269aaf3de9d8b2612910f4cef3a9e0ddc77c025c5054441edf26805d34f5c5a832bad86b8a42edfbb9969b804b717d8e2bc4c7d8bc1eebc0b96d348911ef5705f7f57f2ecdda02feca4b0246102b9d50a4fc31ec3ab5e31ac18f8d556a2a53762331e802688f079e57e3fb51f025edb52bec1f2d65783e78e751d9dbff96cbfa95a55f92a2d440040da69bd734642fe6ac2ff851c9842fd541ce5a53b240a9fd3a8c469960193e8f10c28f79c412b5a9be2411c1891b9a648e246f1a137c1e397e563c48e35162a83d1ae7bb41be922311a7d8a07470132ba93891073becd235ce16ebf70b924be31391a79f51e77a025bbb8cf03f547aa33ea822dc593f836e804d81d296f16db18ed643b00535005ee7866eb94a9232caef46738a4ebc2683e7cab4ff31ffa39486a080e3ae5d91ebebd95762ffcf498a574c4430112c2369d3f9302aba8554324e989d7abb0028cba0691c104a6ace0a0229c8b7e9d44173a30d49a4b13cefb8d8222e00a0a3f9e11e4d272eecfa2c528261234a5e0e55a47718d5f701cb085b7ec7308ab6da5cb5ea4cd5a827abd113de670936600ecf10a5d5f5b30596ed0d3779b744216665f02b3e63b5e2943013202f12898081adf165a46351f127e624325be2420501a1df4ff978a3508bb7a20403cc8fbaac19a832fd1ad7c69b5f28109eafc92830136cec0015684a046c8c1411c4a12457b823f307aa22ff73164a6a37e21c217610ef4c2708708e0aecdae1a8bf7092872344fbd1762ab70359ecec167134143317487162df2299813fba3366d085089aa10f345d9b49eddf71079b8201fa57ecfcf4e8a1772c9bc5a9edaade558479bac0435da555990457a872f85f91994f0d89817292863f8b063d3eed4507105bcc6cedfb190e11f2a0b5b2760a117b72c410f994f8b821977155b4fd3fe71a5fc7a219045d4a20928020bcacf85d0550bf47b6f6c6cfd588f0591282953eae708e4e8c8a765f08b2bc0aac161376db144e77531c3875fd2d5a17edd3b71565e1bd01c31296e110d71f192f5e599e5a5a64224c9774c82942ab140c46dd8df14a1a886669a83816b09022bf384404402b7475255b90ce976681e91175d3f8341bcec0ec12c5c19ec1924c7e2fc1fe884be5d5635500122c1564e1a0fa1ee174137a8d08870a72fba5992cf8e1c578b610a5a77d8416359b38a351a4cdbf9dd81443cc195cb74a7c98b1a8d57e567f24a81f0b9dae4d5e85ae5cdea538e7260fd7212e30dfebd77fb247804a7699a335f3578a81bf3ed140885b95181c5d4af218783f176e7bfea734d01714e515cb7c6e0347535fc57c1fb802d8ed32cf674cb47f0ff4c9e3d612a94839228d2fb21e6fad5467cb0bde36134d2add82002ad23063b4e33bbe34d04e31a239857aa4668662cb1947b7a8d36b26f6728c4afda0c76d77ae7b647197d47986dcf5e8bfe5a96bc6c2bf1c8c60dfe3a8386ea29383be0eb809fbf0b29d811a0d37def8c1596b09bbdae5521c48907cbfca792dad8296e0d092868fde09fe7199088cc882ad0c72648df67fd2c2b05da44d122e8476fa6c27741091279855fdd1c9b7fc4a3244c7832ff23c6e2ae8ab0ed1b0b91398cac034a8786825b3054324e078e1ccc48c2d8cbe7ad820c4e001377e91b33b8108570bfcc2ef74d6621abbf05e3f664ba9a56a38e4110e49e3ae3f41d7c0600c084c7c71e01f17bdb8057f21a32006e907759c8761918d00bea4d7637b9a59432a5143508d1071608ed6a211993527a0ff038644319a3236edbee4627ca576228d1380e44a7e2c7dee9febc06c60144e3708fd1b4ae65e93c157af8c47c7243b10073f28f07e6b39ff7a57f419dbcaf59dfc794735e05fcb78f86befe3582b06133310293a022203192c41835557cce880da7ecc2bc24c09c88df44d9fb17637e8495b4988aaf2e52fa7b15f028495847d14b9dba3b11ff7196b3fc6e1be8a0e7ad50b35e175b93b2bb47b12feca761c8a5df5dbb6f284289b0f8a269c28631165fb168b248d8d0590d83c1c00de54a14f58ed7c03dc60d3fb8f13b19ef01346ad470923b0d12cf269e8555db17d6febed0d4fd6d25768dba45227a251993727b1993b2b99a4424152945d6a68f9cc92c37bedc288d1a246a7220ba96a577e8d3afa7308ef8b1a3e854fc2c979a480d85ec01b078c38699a458ef4b0f4629373e0d3360eda9d0c3c7fb3e9a23d0986143a772630cbaf1fde36fb9e1cc8c339975129a1cd876b51019367456ec896cd64da9b33eb20230bd1d3eba94524a014072548bc135a7ae714dfc8e8619b601400280a7c20c80b7827b8d75c4601c5945cdda48c30ceb376c14a9517de7f61d0a240e66433945c65867e6c69732d6e12129060fc921f090951b9f26cb5ce2380d9b5258a76b93f8b388e3f81639a34559f31b96b288e3bd29893d12642262a78fec72e3d36461c316baf293a62dacf7f528e1f1bef43dde07c654bf67da62618ef09b183aeb4653171b46ea45a057abdb5fbb56c0ee02f61d582707970766f54eb71a0737f1aa81fc82bb6030ce1a47fc88858b1bb9a8891bb5bc5eaeafb8267e94e2608cb2f8a61f58f9618cdd38d4adde61ef863e64237467c2a9f84f2a14301993312a6332266332b6a12cd7f4d316aa9c934009f7b175e576c3efd8840dbbd5b5f9e237dbd32fbdf4b0a04de1af22078a7e22ff070c40bc566bfb73ee9b61de51d7de04badf3852cf902c77c43b21eeeb9615b66788aa54230676def055187d3d6a8c61c36e4d545f4119c1e24a29e5336921ae943ff4ac593c6b96b430cc7ed0b2d4b670972bbf34bfd8d2a2ca58138f1bd80d92013a15b9672f6efcd0e6828ca3817645923fea22e0f28729c40fbfcb5c3ad55c5a06377efd7c308ef83f9c6a772e17868a619cae712a7eed5abd7a77b333317bc9371bf75d3b7a107094df2eb6979a2549b2d6fa8e1a5df69b7addeb2092dcd057404d65b2b0f1dbe39cd8b06bb572d13660c78d8f06f0cd8941138f2045b017666efc9e271fa6205e1481e00d9b1c392f662861c3aeddde090970f9bff8ac339f1fc53af169f886043a186f1ac0607cd2c7c3746f340e520baeeafcb46d37a2d04ae23875d685c88d32163ad00d4b6143919a143630b9a1fb4a8a1a82b60a0127755bb7a158355123e9ded14bce14861d3cb1e0aaee790a28accb533031bb0de09b24377e0fd1a9f8fd0383f11ba871b86f6eec235ad56bf5fa2ea46a17ebf88ddfa1b8f85308ae896f031b7251edfe8cb68fdfabb9baf2a1609c12e7dfef23e294be86a20affc29e72e3775f5bb9f11bc6bd6cd85deb5aadc614860250bae637f18ccb7da7326a08ba28d0413aab17a0891adf417fdacdddb1e482abe867698861c3f8a779e2e9a1bf7d5c82a14013430ef21da2b22cad44316a069c85c80ccb2faa5cd365a2275dac8c2bee5718573eb0615cc12edf18138a0c93d2556d5c855bad35fa8938743502ba72d412baf24da8d78a2b7f885a8f6e890d695774e5d355f46f257f660636a4ad2b3fa4add1e528883872c3b88aadbc96244277bfbc3664f62f57958d2bc860a227615cf936aeb051be0d2b9e78116b2c3a3e0176e317cecb976f7f617cbedf45d8905f43d850fe449afc8155ff36a285b03d8b3664965fd79f54b93ddabed004dae44c57114ed381154bba4c44450f5550f103061539502954aca2146143f4248a0d161cc50d3b6872a4480b0ca0481fdc602bba843125025314112d41bbf332d1142c0f30e1c2c512d6cac91146e460a78c3b44714959c40d738a5872438e2971439631951b9fc100e2c6f8a627e38c298cecc0882cba50c5e7117186f8f8a0882ab41710be90818a888a0db784cb445a8031c616831a24a1031722443d10b1ea2a3ea19523b048e15283183318228846113268b56a9895f183103470d2450fc0d8e1c8103c30215df105a6afd66467ac8d6206958d488b29b48062031b3aa51ce2a22551c50e8656ab2954348825332f2e3da2a294ce39679d929b7851c112510573ce3955c0c412190e2e1d1ebc11c3d8a8cc2ebd4c14042438173cfb932a32633821a5dc6403994183911366f8d0644a29a56c8e42b655410204e5163729896084a03b5b43445c8ec0a5d68325b2856b72b1c50f5b18a951b4f062230a42972d7878820a0670b1001c384a8da8e80633d801a66a1b2b99b21463cec995884b0e88a22c21e282031947883984262270f14413a022ac009d41833ae59cd28a2e7cc6e0828cc72289b808e386fca237642844548ae2db502eb2e0220a9428e5cc8931c6ed2bc7182353fadbe4496594b339ca9d40909f10ec17c9d0f45db1f2862d830c34982efd12c4335697867ae9cb5082adcb6a7567a897fe0ca64bbbd63b7dbdc62fda6005334612dfae2e12d6abe237e329fff61bd426f2aad2b6bbbb9b9b6bf87b3959e2e4c8255d26721283a8c34ce4a4862230a90d41e90ac6e8e601a52ce881871fe85647a3ba512fe856eb46af5c412985b2d5ba5123b0fc504a9fa05b1d8dea46a7d0ad8e4675a353e85647a3ba511a18218ade6add68105634a56de4250994ee40290e94522528a55d48bfa1c5848195596c464c234c1f929002bb364d88d0b9cb4d6e9bec9e242b93f83946eed3a1a371f86470be448d189caca39a70e7875e0977eaa00c4e8e860de50ccef779821b211047353421e67238dbc6fe851ab8f1bb63497eed01deb703d5c347cdbe5e97713e674a15deab22367e905e7110ff9ef6e99d76c046cae23fb5c88bf8cd7c9715e02b5c14a4566b4da65814c4c11b0ee6c871b0fd55c2d2d151b8fe3dd4501ca716f126e21eb9bb6beda0b080441c6babd87e18d6f99898188eeb9d51f5c2ce1854dcba469d4ad0b78190de49cd7a2979df750c6d9b2689edefd41ff3f1dba2fac2dcfe6a84f92c135b4bfddc65af65e8fb218147946e3e77059c5fe76f3e218833b0f39bc5ceac08d32432ba7a8594df71472f21f94ef273689592d37c1efaaa937c21dbf3bbfc4ef363a19f3ecf0b51223f1efeed85f4d317a2247e3cdbc742e8676202c5297f4f01a680d97fbfb7c0ef0f469c95151d9fd0cda44b8a1d4bf91c731c27b967e92e7bf48efc7ad538e6cf6fc106ae99ffedc086bdfa816f7e000cce1f8131c53afdb3be94fc4dc037b3bbd123e2d8f803062031f80de9e793608620ac437fda0707f0f3ff69d4f8982fb40ff385d554c3c654a9846f25c435f365b644541f413550b7501dd445fac7c1b98aa96f55e7cf3985ac0ff6db81951fdf55b1e8680938e05aed934c39261a4b629cf9c2d2588204d9fdd2c61ab121bf7cc8763b56afd82b56ada977e233097a277ece928175eae73b747187867a2bef601defca7756acd55a93e9dfca98941dabd9906b324aece57e13738c658c45bf58704a7e95fa852d2309fc2694ab5c468bedfa713db05830ce8eae72657fd1615cd9655cd94978c59494bf43fecb93be10b4df7de1c3d4984f4a67792cb8aaf4f9502b8cb1162bd65a65fdeed8de176b2f417432923a77140f9ff169ecde3e6e546574eaeeee3cffe3e75e6a6d5964246d59baf628279d739670e726a5b421eb9c91de19236ab49a2d63c442b75a378a9291b4619994ba9c4c79638eb1e5578e917661c82869777777532f2495524a39259d5ecc2a92dec04a777794725691f30656b2747c4294942778617290d800a1d168d45bc12ffd519cde3349e6f2dbf019130cefc0d0389c643b140962707006187a27048cc37fd485633a22e01a7f396f38e8efc549dd06070890898a81a2480084562b47ff870bc27635d56ef742844cb489e20631b186d84159781d2568a623fae27609b85dc7d911110bee4867a6ab208ac235a170e2ce97383056b6d8c1193e3146258ec0b220820dd56ed71b170b13ea41929c38e3074fc4ae3cf16043fb543461c4952fab0bae74620b5395b962c35a7d74b849c058a0434c063ac88a44d1c4c10eb7c90f442e124244508a2062ef114531655a49c1e2aad02962424ea61861e36522275ccc20d8ed32911321cc266c7799c849968d075bba4ce4a40c2956f232511417964e86135697e9ea32eac4ef97afc7272c7fc3bc7fc7fc468acc370c1ac7c6d8dda4d2cbdbe7a672fd63befe691c30b09f134b5c7f91beb08fc8e1beb087b8fea32fb4a95fd83ce81c5c7ff9854d838ed59841b3ba44840de5ed9741de908b2e8e17798f9f2caccb1f57974ff098964d6849bee872692e13d17eee162ad7c665222d5ce8a907c9465f7992ffddf7785fbf0556997abc1fa27a9b98fa4bbfbefd165855bf1e9bd0be7c683355ac2a3d7d96df23a6a80c2db08ac7d7b323a64efe5decc443fafaa46fe53de9eba76404aa0b54db7d3dadaa21bfe6779adff704811ede77eab1fd8987f4db937efb56b9c702ab48df4994bf56abdb3573c75209e2f5d66a7549a8068a29daac2b6cc8f2474c5112441ceee907e900ebd0607ff48e7f48ecd3f700e3f8e400aabc679954f669af18c03261d1117218977ec7a15a4542f50faa590ed2d157efedfb87cdeae1e343fad2fb74fff243541ecaf35ebe67bf9e97af5f3da58f761d8a84729de47b3f44d523bbe7217df7ded7d33f3145bf873e2ba628d71f0cd7488e29f9ace86aaf5c74df3c463fe9cfcf842796547ff49d620ff7f1f3d13fbfeb5027fed289bff443543df3b9efc43cdc77cfdf755ffa7aba0f8ca939bb8fa9f946ec0a7c6580e19afefa1fdf43913a14d72675a8130fe9bb27f9c7bd628d36fa759f3698ad5ba7ca0486de82ddfa8ce2983ad11fa28aac13fd7af878118d2d84b86108f503308565d5c7547d9ed173f547fe15bd7fa7d1897e360ed6cf89a91ada5b44b1b021c3222ba6ea773fd8d08b6e5581d64f04b3d5adacdb441cae551ccaa2386e6f8262f99e7af8f8f7c3dcbea7f9f9704ffa7c46df7d3b628a43753f4495c3fde879b81ffdfcd1c8c6d4f63d1c53dcc771886a886a84ea51636a9b31622dd7cc87e19af9a9f9f4846d0e698f5f74cc444bc0aebf0dc791aa789d5195e5114c6e48ba3e74c399db828e4f08e7ecc6efbabba9c46d2ef1679b74db681d5222beb2348e2d0b1327c45783f15b894ec52dc6da95883154a3bc8e96c58632d6b0ee9947f19b1035bb0ee392b00e83000d7dc37ec9625b56ff8f2f8e50fc467aed4141d4bd86a01b3fda4bfbd0ad06a285286c0a472330ce2ce229d699619d168bc17108d14a92171cd16106d570632c524209b15f7a0f557a2130ef3d0dcbf285f97a9484113840973b828944880f18d68c0ae6ed7f67c07c1f1096f19559e4f2953ba5700deae40ff3b634e9d6420dc4f635ad8580689c56e2a339123e24af90314a297520a6308e28d8fb6904c6892cb9e4054974b8311ea9e14620960fb594226348b0a153d9a68cc92b7ca877e6d7adc621af689c5662fbbcdbe6dcb837df5a06452bbe7a8a0b75abe3cb24c5c6bcf7e15cc2c496eba45ae774d69cbf91a4b78277bd860d96a3894a50f558609547b9f19d0997c12eaf5c948c954165159cf2ed0bb3a23b2b9a4da1c5ba15aef119d74461fd861188460716c5386ee57da6c5c668b1d3ad8c2290153664590c5ce3ef837558707373439659805348219542a168686060a214fdc20f1f45b0618ee702e9e3e8428d29a709b22e93996eec21fe10653ea64c2693f9a074e4346a3f2e29509af07919157111116a027464341a8d46a31183b1c57e8049b65632aca7c228461b2593a989f8a2e4a9306a9737403008334e20fdcfa9a3fbcbc9914ff4e075c306ca31b2b1b94ea9042a0f9850121c5077bcb6ad7bc1872cc88a87d58384aab13e6bc462b1582c16c781376c72e4e8d80103c66c03da362014f848bf827aa8a3086d0c04d4a91b18f4476dd57deb1bf8863905064dfe464c05b8405ce318e00df005f80c0f300ef7340ec712440f18f4efe99dfe210206d75f4800ad603eac15d08a7bb88b05d8f30104f4f29b0d0808080808a8d619298a9f86c5bac8474ad7a234adbbc86418d7ff87fc51a5ec1ae2aad6b84ea383b5615b998263bf1fdcf7e2388ee3b82f1c32db5b010cdeb161238cd721844b059582b9f7d1fb7714bd138575b637ddeeda3ddf6016d6b02eb4b7eb6036be23d9b8dddf8ef4c1605dc75ce38d43724d258137fca7731830563367ee0032830374f88c39730661e59c73ce9993a36307eb4c86a27e39395ce39f33515e8e8c11eb1fb6479933dd3d272787d21a54818e54aeb5d6ba8277abe3782494896b220f36e4d894f499a33d3c7ff958e0947f694af5ac0ce1ba7c53ed3e16c732b1582cd66804deb0c991a323c6f928d66a7992861de9574b713569b55e3b468cd346b85b236b6374af72c7ebc5c174c0383b62ca59c78f245144ab958505670d1978035650750e11689fc6e12ff301110c02350e7f2438e534f0691893c1448bd531223fac960fd3683edfad56c3fc666bb55aad56ab56ef0531996cc62a726545a58b88d0b65099cc9b94524a630db2f28695668b6ec16cc82f1a2adf55af6953697f13160f80803b6084087849e3e0668196ebdfd1b056d6e90f83412c0c3a4c8b47e14b567d0459b3fce54332d92cbdb483757a0ad7f8771662c888d05c5c9751931836fcff97c9a84c2693c964dbe66de9d9e63f1ed459585ee4fad6ddce39fc4892942bd88a070fd6f1664d631dfecdc712b1cddabe5e11c1f6808586fcdd07be9948f846ce68a325726002b23fa6efb43d5ffab2fa5314c97b16a5581e534a1e2edb376498690bcbfde83bf5e0fed402ab62eae4c2f728095d08c0122d950d0bf079a952107388a9463f82998b64f409019ffb4c31e5318798aa7beebf33ba9c9c985a80cf4b1563af5ebdd350bc32580b832d6b1cde47e05416d7592cb8c17fb8c63b0673707ed8b05584d2bdaaa13f7a98cd66b3d98c6b7acc6088da45699402f11bbf281c9921860e2aa2dcdd3d8c2d91ba0f088cdd68a41a40b0ec203be8d329a594765caa251b70c4d18fd69f0a3be4a8fe4603522b8f7cb445d784845cb22b4b6249605486780a09cd663f7ef6b31f11e77ff6b3e79a1ab7d6eac4c6dcf03fa688e521b78762ffc083dee9b8f7d14ba1395ba885e6e6a9c0fd56c3899d1f3e6abb5dd83e60d24ef71d04df70efdf44f0cde86bede47a936a38717adbabff23e2bcbc9350fd03aa79d038bc5dbdc4c197af874adfeb6726343f9e8d48cf3a7e61a8f8c1994c0e70ca7f5473fcc7161bb610ff405f006fa2b130ed4142429525d7e4a8750e8384613cfcc651e091c01593c9d4249bde71d6f5e762c33a3e4d11c7c65bc1bb365c53e38636b5da48cabd82009f64927362250c0683c178cc5983306313b37cd3f3e039c1064701a5c9bbb2f36ef7fa258a9d0675fddd84c49aae9ba4bb9b4c73caa6387033f78ae56a4244c8a7b5e467ae563636d57a5d8d336cff96578d336cb7a5c583759c9b737eed0f19c663091bf6aa09ebc47bf3c3c1fee9011ea2acdea13bf480759cd21c5ce3ef810430e8ef850d7b15815e5d4983bd61af76fa936106eb5f0c4442c038fc690783835e1356ead289c6a05d37e1ba376b45a4e5a5c5865bbb72c35e12e9c99b2071431d77caec46828803038a74d953e1878358ece9ef8957f70481baba2bccfb489e081beeaa3fb0e72a7aaf1c74f0c64b1210850b438e1b4c252772c71863edefef54869da1fbcba1554a5660c28660044110044129416e14bce634bf72fd65337304c18e891908fe5b5b6b50cbdd55aa1e2983a2242c51a5c0758044a5e414011178d10aacd55a93e91f046d9ad437ec95338cc7027019a9006f788e4b81266254b04e3f40faf45a7095c35460fb69822c4c7e1536fc39b9db9e9cbcc15080099ac3b4d88ee2318781a009535801dc9897c96198ad8263ac43afc7fc6b084356aebba65c990f73463f82d408b2a71e24921f71ffcd47efdf6270d7a0989ab82ff124d774575fcce729bdccf3bc7cccc3c4f4cfcc7c0fe94bf8d2c7a05e62defb7abc8ff91ed2cb7c8d384294f0c4fccc0b9181f9d297f01df333a7f9b1507a99f751e299f998ef81f9127cbc7cccd7637f460605f33128fb1206c52a89e2de32901bd28fc174b9ef500ee31a997b916ff12c5f78174ff93b1431e889b8bf63b1610389c1297f235c77f7baf6b2a1c31ce635bf915f2b0ce63087396c4e1939afe1447762a65f6d8e0366401d267abbbe6c3f7bcd6d9d78e3849cde19cd6e4f059898b5a96e6bbdc1353639a86c454f94a2707590640e4bf929a59452135fffca3a1eb3fefcf3f213b128973dce89f5a73146ff6da33d84bf362edab6202ba1253ede039484b5791c718270515154cd04616737bb86113b1384ddb66dfbea60f7f7cee8f27b90dede014112f0d4651c0da8012908e9bb77ee5dd2377247fd9449de876ce507d7f857d40c413c94ab7ae51cd089f4f58c8e40441625d42305b5d2e60eaf5694b921bf5aad5a85e086386ee845db0265d6449605c60d0db50f9d3bc7711cd73eb45e4c92c91318edbe1e6a190af8669ea06f601c0ed23b1dd43fbd02395d3cd362a8453b22d41a6ae5449e9c0ed5b76e235a2fd00a52c3826a2a18f4afa8266220c4e0a0c5ea8536543f488b2b2ae246cf39b143dcd0d0500e8f14bf43435d07de40d9f4e09afe89e2f13103d796c9b6dab695df380a3ede5ae23f1bd788f311a787c0119c345f7916bf093909bdf271d6ca41266c0f619d15f8e6703e56359f01833c30e8455e0333ae0bf9e02b9a2b4b8de6206d55b7d56aabbd5ab9d0ca57bef295af7c45e5f57ac16a5da2d0a0ccb6c4a8c8d74b26f3c1dcbd2ebdf4db4a4ff12e8a3e2c3beb78ad26bc3c614f2cb84ade86714d10767e68aa11646b4b28fd0a4d501af672b9b8af3fbf175f9ed1ef70faf57b7aead31e253cdd8fbe67fb4ef249a9591b7d3d74fb93fc7848df0624a6bc130bf4b77781feb6bd10eefb58e5c2f6a34f48fd7c7c27f9f5a8b25f4da4a9c771fa8aa7fc9f70ca9fa5488902e5b2cc5f3afc95c35f374cfd6a369293c33afd44018cd34b74ca7f4aec07504471dd5f2ffcf0f132994c261f5ce3ff7ac9d7ab5ffd7abd6e488771c16cf603c84f500c30ac8ad4b8cbec477de1d907f8070cace3482063c68159adbdfc306961439302724c5098aa30e5cc7eb066b3d96cf6038b18a33c41d61a6395a26eb35e945f59371ca4942cf9a5eceed9f2c6d6438c314629b92d9146a3d16840a4a45f74d287148336a374169bc1603f78c17e30045bc2e5b5b0eaa0966afb13103568ee1171b6efef8604797a788a1f15fdad0aed125501e29e13530ea03b82f0e1864c6b1e562c7b2a704ad8906572ce564744cbe51a9a656922eb585fe99794a4186304ea1e18c88a10c7f50fc12536208e889302a7fceb9376b9a4cbe572b5ab5d736e44f3e5378ec2a4cdd9dc3263936bb516e45aad3599fe41d0c6268c363620f86f32755758aefb810de5cf73cdde4e92d1e2b8be56c886f3a505add5647a5a679e90ad98df4897835258472ef936d41cbac23aab843bb46db7080976beba58f654307179f98df7c4225021428b2a05d1072a54345836d268eb82cb9057692b95d16861c3f99aaf28475f08de70bea2cc41a7d930caaecc6f461fab8dad28340a82e560338bdf40c1f3c53a365847cabcc9ca1d9a536615b388b28a461d49b66ab5d664fa0741d9fa1dbe452b38710aa75ae6840d658b8665dbc2fca93f9e978739f1d82fe1ed97f0b2255b769485f5ff53bfedefc402ccbf3c0fccbf7cffcbd7a3a4ad090fd34fa3bb2874a232322f324311e7449d4e10a414347d310a097935b0f2b90fe7c7bc0b2f3f43a2a4efc442cc9bde8599a7f984bcfccc9b3e214a785e3ee659454b6fa3747a174c6fe31362dff4a7cff4424cc889297f1350313ff3a7d20f51515a4cf99f4a5f0f1f5a1453fe43547416531e801aac8cce268cabe9fde32ce2d0bc773d7c645431aca2f94c33288ea9099baf215819a338e8271662bec6f3c47c8daf4709fd1e9998a71f8fccd3f87a5e3e99df114b086d454900268647166174c9976cc9232e85fc86befc914b866491aed237c235720818481ef40e32076dc38874c35e3d143a5c7943b78111fac916122bb3b2dbf395c52af6249fe78b6b606e385f9d8476f65238e47a100f094557148a42718b288bb2c82516217ad163d228b1db3b8b7592609df68aba79e9c038f3490aa9140a45430303335facf9a2f335a14cd8accd2e8e937acd282d2a3eb7ccade632c98db24906d7f86f5f17f570d07bfb99f799cce80bffa5058d33f34dd88bb39c25f33b88f96e00f3599701016e285b2f5fedba6c751e89de1ef31553910a0d908db328eba146829d1c11652ba6867a27ca945c294434b1e00904061da87178c4995a380dae4f9a5432bb9042f3e5b346e487e5a0b3644bb6642bcaa411f98314423291adf99a34bfd9e66bbee66bbe6a2d0df13cc70d9a99654ecb8dca1a2ab0f1c38f71a3dbf795abc99c9c9c9c9c9c39a92cc618494458bf9dbb47ce49ac52ce166cdbb691483130f6a5e491623a18ce8e5e6ac99b94524af22c4ce9c58e5e4a1e47eab6add69a330a42cba0a2f691b6460868453437d8f02fd36ee4d70ea601a1d168b439b5c46228aca81449a9b9cf2ccb2816fb8971878f46a3d1a8b3dd022591ebdf11a9918375fd884d58ae05967bea755f6832f5caa2e4b6790ff0ee88d48d5020d7903eb0c6ccca8fdec9081bf68abe47a0455047710ee19e43c27a55b7a19074dfadeeeb25b2dbf5637bb0823bc3daf643829536ac8071dad53bdd026a1ea2fccfce986cccee78814a8bcee85e9a5b07accb7efd0577c160ff348ec6628b92682d43b1d5ca87b58a6d6f472ed7c8d6ef582c168bbdf042efb0c038fa81402516e338aee9c1e3838617b58db66593c9b678b9dedad53ba4c6e14ff24824d212aef17f4171280fd54d6a3a13848d3f44925e503a3c2747efa48000920dd750b161af4a1f322cb4f1de71e01d920a5887f475115c03dfb410aee7bef601d7f8c7eb7deddac1862d6b576fc0e5dd9e6b0319e09d765da077bae78a6afe7ce586eb793457abe23eab4190b18e37258ba6c23adcbbbebb96f5aad4b29695569c2be2b4ac573297ccb56299ac57a596b5acb422797fa3f46ddb966e944a1ea9e372e4d43c3711b983a32a6cd82e55cb41a12b2d941cf958f64c562c43d1f109dcec17852230bc408469bc6546a0a7014204b26104722107bd8b6adbd19c79c2862c0b23905012d60142f988816bbce6607c62c43fb6222c328942c41faed838f48a40b1557aa019f77561d933d56ce842b78b6ab5df175b11280275afc58e4835b4584f8e4627c42007c2c2f68d3d8c64fd001bb74733cb31e523a69cf645ffa6a28ea8942dd72535ebd40c00000000000315000020100a864342c1683822e9b1661f14000a738a447c5c381908b31c877120839051c420030831004400068668480094e8cb1ebdebfa3d80828302e1d0fe70fdc8d28d218e5589837146fc045c97ca2810553e1048ff1a74486e4bdea3596aab312752b68db93ae7d89494c0aad8ae3905d89ac99aaa0ece99bb3eba18da8853413f0b415776114019d92eca3291c1dd2ea20df2a490598eb1aad1ba7e7c2e8adbaee82521c58814086977bb0eb53e23c5ed7e992d222815b655c0754595f2f4c2af339b4a02dce820ed0704034a1a946c244620a441f143526e8a6d2819bb9c32e6beb6988c36383b0dcb61b6dadf5e9a2ec80e68ef1b870490337ba22708b9e31cf4813f480325f8eff2f77431edc7f70737e239df23f2a8af16adb9e0db703881cdf62c4dcdfd24019c52d81cfa3b0e288de660a563682f96395602292b6e30a2e4f96e9f62fd21f5248e1bb8e36b40efe29fba3861897456d07342b1d760c9e25131fa9589cef272ace6b819105dc42d47607d927c984ccad8286a4e3213fe8210217266e03884396788d32f4a4c76387759dcdb94775b5e95d0275138903c784d987b03d03e938a998d45bc62f561d374a81d7e7c8341c02de3cc7486d50dba81977742c23c712e807f880e67ee0510fbc6993b680f3b51cedcc8edcdf13d350176f850c7254bfef17bf24b15d12f52eb8ed9187cfd19455d1c0b0544f4e9495273090804d483fefd8f21ab444ce873a64870b654bd2bf22963a08586356b2666a25e98205e386dbe3f6a75e650546726f52de20b077050a475f7f3501c07c24e030a4097b8397fd19790c372a13eea6a8670c08d962d44e358420ac0cb4d542e1f3bf883e51aa465ed89f91f84dcb286df35a5216bff2f0cc183e041055635547a9dad9d2f4c7632430737445824385ba436a8a51f7e982d7ee05bfd2ae95d06a34c68a94671a66d83f7a1d86de3811e86b37cc009fcd47d80081f1e20136f70c491f55f7bf2b8cb98b184a6ff1243ccb64ebdfa22ffe43af581053124e764d11200d66313ff5981a047a9a86f482b3e1d470504e9b874bc73f3b23dbce7b15889d2079acb41d4c2f57adde802d601d5155d16abcd538c2d4ba1c5666c1bd256e0833ea1a559a04e990f06b6539ee5b5d5583f119f3728f59e3b2d7cc5fb965100b5dc155ab0cc2098c393e694ac902d59d82fe415ed319d025bd40deb329c3c1ddb650bf696191b0dbf68ae1f6419f1a6129b9e7450682c9d28ca7f2b2896d5d2e29edd4a7e847bced291a43be1d21315604a7ed8c2d3da4e9cfeb4b75843c2bfa92f97a6e807f061d72ea148d34d710d975f9a1c045c00fb68dacb451be282df509aba98031595bbd95f807642c8010a7a8f1d3647f05e4399d41277995d38abaf543f3a364489e503c8972e80eef7ca00fda29956e64df81315790943ff4120d0e9b4e10cc7fac871cef113091e14b8f9c520cb9c82e9a08ac8a359fd92cb39c8565163bafa2d65e045a7aa527dd1b292b26f73cc8eea52a674ed50cd50b3c259017bf788ed3f1b6ac6d945ea7726b92516cfd7703ef090dc6370f3c1fc5340979c0f7a421881ad03ffc1f65753bd5e236bc8b99e57e608cedcdf6094686ad4d0c0ebc9272adedc68ab9179c1ae45d043fb96cd225bc10e71ad72ec92323d36cbce9a6ad363e1f7c9e64fa1cdaacb9e2dc9f43a2f4f137f80e5b4d7a2f3434eecbffa3c9cdbd749ba997f7af71740f15bafc3d05f8a8f7d5114cf9f9edb671bccd5bdabd6a8bf989b11b492f1e727229702164fa5a093a8039c5002d6a18f631b9859d254bbadbb8421a24401518b009141e0355ccb9e00857c5e620ef2b1bd24d39a8372902bbf6218c0db8f57621d84342faf04a40543e1c6b9f79a725ae4b892a1ffc046db1b871c0266b22fc90b07a01e55a8b917b8f17a1b83ec19915332a94736832d5bd2e717015cde8e2835d4222fdf403edb102bcc173f633e75dc47e5e065eddaf74f22e16d02c0d3014a9457d36087f5d3634862dc985636a908e7b5ea630077b835e1dc8182be52a0ab58cf55e3a78d558391c34700f8993c44f5e1ecc31aa0e5accac448d4e6c5dd6832119bbd748f9e5836687ad01e00fcea688ed02aaa17e6da6e2a1f1b0ca5871b8605984130e321e4052edc88b64bf91f9ea7cff03c934587d8c05eeab1b0348135a7655bef9e193e2f0ce2cf0012c57c1b5a9942087cff8cddd959e9afe429820c6bdf9a731d3b8912c8db729a45b2f38dce295d51303190249ef5628a37f6962466a8f1080e0b5d0d390c9b3bd18f8920a8e544197f02ace537e48d9b9e419ea6dff762bb9b28d332869463b365284b1042cbb6ff83b05278f3c489073ad8699b5e738ceb43faf4530b4468d4e4dc4c90686298de81053b7a4e1c3084051ff64014d41ab6c205122aa1776423c01ef13f7ba994773670cd33dbef7ed73cf49b18fa917a88b938d110599531e8ed31eb853ff29ddfb8341559770973a5ff1908f1dffb3c72d17499be19d6668688075fd2519ab2c2e04a8aa7320b819747e089941c826b46b94f6450673678310bac4a8aef97de368a70ab12b4f75bc1c2f1eec8ad21bdad82f9e7154d558da74929d121f45e37994283712456452037485214541fff1c24a14aa18365975157a2bbe77ffe73956ea8b1a1295f3a62c750798954a063df469886734be8335597bb9586383a2bcd7eb5446cad1fd71afdf3acebe98c8a23827cec7bf6e5a339d211cfe0c8d1dd088e34ecf3a487fc439573891bcbd65a966e80630987dcbc0ef6ae65e1f4ca5a46c2fff9a22054e8593978291f83e1938a7cb2e3db28dd738a609cd5e02446ecb6655509475abd794695853d7f3862fa29a1f967466f6d022c8e1f9a6d7b43c7144948e8d663582586eb7fa1cfc26318593e033a474af9c1a1906e937c179e43d3f72efa34d1d0fe48a86cf8ad912b0947f23a5e396e2408b00398d305b360070d545878e9e4ba4cfd3f6ff3f0bbaddb5e187a920de3f5acf9b9fba5539ff1b4149f172db46e6ce8fc7f9e0c9eb85cad6e9958c1e0a45fc5ed0243da543713e081b2ef1a346be706a4f88eed72dc70121d52d22f28a617a90dd4803a7419a4d437d4050dca34b89530290d86620a186457eea959882c1c65f5c13e3cd63ec0e7f7105102b453dfd61cb7d30bbe33a498f1367eaf5b17c8b8317aefe24c79f17433eaa724ae09a4bc2af80dae86917b2d8408fc1a5c8f61e723318517fb37d193e2ec8906ede6624f2cf270fe481cd791f5ed34a9700bd9926b8a3779cb6248011f2d6bb815f29f381775bb1b90becd7764e1ce8524f5cbe4d2e857e9937bbbca694028dfcb20fe7553b7c3bca04d44808856ccf8ff5a4fee1012cc0ec601641a6830b9ce0f84d24f84f86c4aa73abd525f7d9b64db379962d92fd8478446afd32e4d7ad523b2488865827e1cb426ac699c7d858dcaf8f6a5df7e238db6f088203a4440173d6d01f63e77b94f1959fd8f0194b5aa418ba6dbe8bc67359f2a687395b4487502b7a22f3ba27f4fb706c852c12fa35b5bc2725e775cceca58851d2110e1be61083b8af60b916839bc66660cf5d35f515c0b0219e2cd33e326a66dabcc83742af9ded7b9f079db0ffc93bf7d8382d939754b0d25616884ab2017b15decd08d86857f8b41a002d0c86e79cf13a71168b1b408e93796375be9ad77a25b3810afa041924274013800fe7ea621f6b739f3ed2a475fb20a3a01111f3501ef220ce1ea094c7a0d932322dcc5f2e4f0e735caa4e29ae15231b1640165ba5a04216402f36febb4a9dcaa14ae0f14754635560377f91ba16cfba30e340a334110c1dc0c6b771dec6a569cdc85944a3fe11c03a83ae0bc73afc22a4f55a37dc7c5c11c8a2e88faff9611ddfc3711563272cd55f8bcd0dff7d5f7613d8deeb7de0c2233536b81c9d405f1909f4ef38230b376567f7e516edb9a00af788dc867aaf614506ae7e52ba86e9ad5304aef7471222d7ea3662c393ff89ef1448ef9ef55d9408cac2facd5ffda9193b75ec813c44d05bf013112a51de0f745be9de55f54dd7d2c52856c62506a38d39d4d768b54f8c8bb3d67cf8b0978c9b7d20b771516f7e74f446528aecae7b41a50f95455ba3044ca645027da78972117a89d054ab05a90aa5c44cd5fc524e6efc1ef2b47c804a410c17489028ecde471c6bdcd40754285e76120d4c6c7be1267c54dd7e360c08d88d58ea30af595966c45e394d57c877e96ed343aed79c400e47a7f4f8de2d23e76ec11f54dff2b7df916c86cb6052bbc52173443327c331b1c9b7b1ffffe4d2feecd6a997dbdf43600c94a7c7771a6efd3cbcc003d6bcc6da5cecb84a451243aad47147138bc0898fa39f370d5cef819170ee68b7362917d306090f11cc6bf3958631a4c791fbfa270a0a4d5089367c6007cb5687ade133c71bb1332d0c7aa43988182acbf9d604f03be6d4fee68d1e85b3da26881ab49c944d7c4a46cec8ceaf195b138bbbfef6ddbf00c7dd4dae172677135c8745f23c00e810851ee036420613939de3811b09953042dfc72ae9c66a433d049f84fb1de10981f0a88a8b911d0595760e2f611ea65af87969ad4bfc38aabbec0f51bccfbc7b88a4ce9dbd9a0c527046d4ea3570d2c73361b0a29ba3295acf45a3aa3fc0da2e52c065f88a8b61ad1da009486b122e410166b1de7f007848f262ef0e0ca893bc4904d32ce323475284b9b0f90a1f811e5a213ec2e5132ef842977f8777c24bdcbc861fdeeb4e17604cfe642c1f5c60cb5d05522af6f062c7ec7680df5214353fa092c8f889db4d53422f2498a44f466e64e5e2002ffbb74f0c5242751f4bba95c912247e84350ab617e70fd2213c722389a2802f7b135c45833ed603ba1e9cb19b0093ab9a0a59cc01f0d491de044884284323b54fafe9ade187ff464c7bcef4468e3e4eaebc7abe5d7dc5068f101a21887088ff5ac40057a3941052c7c2aca2ad279c66df5c28700e3dc7b027a3171b386100501559b0fe9025ba06a6d2f39ce37434ce0f5e86be6b07fe6b37816748fa1be4cebc6b7f99483e90a0dff885d0054f1248ac96fbed7dbf0e83eb9f603f5f2caea2280c441beb671240f3e6b871e4702460c99cce8d6f86997eda579bdd9e3c3af8cce53c61275314d9aa231416fbb1370e6f7786326ebd309b220ff36da2f8243623f7cb5eb4f98719142c2f69e727e0ff0b571a8c7a2d34821d9bb0ada63980af5ea5b8f59372cae1bc04bb5211d2451fa0733ff85c091ea810b5f29c1a6dbcb35894f7eee0902c0049cdc823ab3ec67d56d508a528599241b02c0ddd8d7e0bd620a2ade9842f4ee9802795eb2fe0080ddd7fec757da5eabfab12fefe798d43bf2dae35f195c1da424a9fb666fd9ee6919b6a673a4ed859eaaa13fb389bf32108e1f1f559bd9daea9888d24fdcb8d30753b5af69b83d47b3c4255d22b4acb8b300c445c615d26f39e4128257a800b09dba7f98b3c56568d66f949e6d5cbcae90125930c9d952890f113a9a6851ca7172eae72eee8b2170462a7838cb41437114268282c807c2328478362038e6df8a8074f117ecb5cd2a23367a80b594f4a7de1650cc82e125166154e770f9acd8e7e1309bf76fc65624adba8b0660a1c5b5d606e5ccf61e2a4f071ea2432372686a3d3d9f70ca53ed6e03f490a2a7d203c99c787a69df9226ec024fb7438de538b3e5e6d2f6ce18d1a6c9de8ec01649586613356407914e11bb01b1fac91ddba6ce7ec764631b255e0b09eaa4ddf8f59fc133def54fa938ac79337ba066f7911cc5833310ea1b8f21ac99999fb943d79752e4bf050e3f773605f61f4bcf0cb1b0f431b577a9e2f73779f602bd95b2ba89f7f9d1d8d4a156264e1f34295e1ba9b6af542f1f00251e006dd2d1e2cfe31d2c5da7284e30727986eaa4442b6a5aab082720b3976f1a4700ee2265cbc9ff915100aa033691acb8f8dd358cf1f3188a9de500086b0205e220774c219fab00965bc6a8090d4b3a9e53fa3190815d8c3968fcf8ca4f10603eae71d842dcce7947f94624572ed29982d11232cab211dc09745bb850e77f330ddc69c5b6c099a31d078620e40fe2daed1d465ca4cc52764938133712b7997b91525496fd71c2363147f30ee47071f75cb34f595f496f99d7ec136d6a2827e0ce2a1c2fd2a7cf043408e046255a85295cfb98e4e215410fa7c9de903df34f4c96168f4f4f2393992304396e1a8ec68f3f14b40399468c402c6cf1994880a990c3b8afef7ca1096970ea9961828a7827b5fc04d41e7d8f603bfe4355ffd13dcf66cd9d0c4807bfa0121f18b0bbc38ea611b7e22b4b010fa701d1940303206803baa7f5e7ee3eae248fa430370bf004a7e77c840b8f532de8da624a4ce72b72fc81444241d25d7052030c6f8b4bbb92094a0527ff3d918c1ac21a1b833a314cfb8c2f5cb19d4de6b813c013758900ffa703ecb43c2eef9baf0a5a392c56adc66834ce18c198b1f78d65972b73db5669693844a122308f3baf073b9c414f13ed43f2b0f7733108dd512b4e9c4ecf5fd002f75398104d7135b8ca96cbdb35c9414e30d1e6583128a7203fff334b56b359d890c896e0ac69354d95271ab244d4fdda0387d523174e5b9c2cca83fab3bc278e08ee52273d0861f2ed00cf001c033ada2b21990b529851106b8884f48b5f0c52f83d20240288e7f36c2022a2e3e8f81ae233303d425586fada864a6d095189e1b8c29e63a00ad0259c359ebd0ac61f7f83b2792cf0fd198d68876f31aa9e5ad73df774cb058c7ff64a0e925faeaad707a5672157ac51cb7e47ba4103e16ce4395070bc2585d0ae0ac2dc3e30c3e7c19bbf8bf832aa034b4110ed3a8efb1ba10380734a6e4eda3d42116e4ad44428d935d5c56529744895ac5fc2c71a9216977b9753320e5a3d2b7a7541157ff606f5fb6464c339580e55b28d629520d2cd8ae794f0f19a696bd86484c821aa55e4ff504cd59374443d351ac14003252fe9e3a6d13b016a7afa7a156a2cd654d279f41a5e9e8bdfa796916fbcd55643e714f5081346430225135809d335a219799a72559574d7e20f39e3c26767fc4112a4f483e0d8885c7d8ffe23f7f0645351481c6084df9ab38989881821f7adb41a220e1145e1ddda95e022490f99a94f8fd57c558d092ecc473f26b7af1b86ac8087f768a5b3cefee268d904dc626dfd6bfcdedbc79683a723771778429cf79b6acc545e802de11eda900d888e4ce4c5093a5d9c0302614e47bc2e8971155e6b26c488e253449a1863b15cb7a9862c59383c99139ce1f7910fca5bda81466e4487d12cf96634eb48f4d349982a113d4389cbfb70c41628578650cdcf759974398fdf7296ddbd748f8abf8eb7d6cf0a40e6b4199faa0ce6f19d194cca3a6561e8cea5f4f848789dfcc36dd2fa55138009b6022def33669d4ff7b3ed99306d3f57e8dc7d85abfdca0eed0b62f34281593f01b55405122b096594eeaebd225e2e6b3e016585e190224ed62e9121e07e55ac4f7b4c9cf5e7229c5043f8cc8b9481e0fe386455b9e44c1576aab71e6287a79bbe129611fe2eb91d71f0e7a62d4c9ff7df66a6aabb93f4e49eb84199b82b96dc6361501288ad5829e8cba8ef928fa428d51eba020603f8e2305c87cc24c399a5c1d37b41ef623944caf1c6b11e3fb56940dada22f1bd61ee8c3203c20b521191e89321f00c7791ca25fcc1d2020b038ea6a6ea50b344ac9bdf8f7596f5919288fa5d64e98d09a6c9df8a69888870d17e2ba93627f50f33e1a13159e3d357fa6bb721b974ab7710de662e0e15766f9df9c85a8b578a74eb35caddb87f80f1d99bf49558957d1dee870b774cd3ccdcf047d3f65efd0dd8355cf79b9e9244db631bb605797228ca9d1eed5bc4fc69af74f20e736d2eb8ecf6bc3569a268c2332bb36217def5c378ce9d3fc7349f93980837670916da383f82b149142323b0f759481f74f46b2f4e3702b1095333718a00cb45d25c271b887f793926e65a8bd116f5d1314470a2ebc9979fc71a083b081c271427df97275f29df7e3a6ef25a38add33a34a1167f00a53addef9f8d641bd99ee32822d1942fa3c50824b97b01751e5ac095833e6cc0dd92603327d050de9c755c4c1f50a0ab6433c60720fe2bc6c5c20c084b9fbcfa716d0533dfaf7b833870ed004691a4f90dfd14d9dd4103344a28775a8952068f938779deceebe9991c662d11675a4654f539c761a356ee9fcdf11e3d9b579fb0731ce126b08c576513d409244a6366fcc9fda34b2c324ef9b8ef0871ae41e645c32ff97fff0c016902bf50a044b998f302a161a93fc73a884dc89b444f77161ab1e482385f9f532fad84dab31cdb81f190618558b41c6ecf13443e0926c0c81fe505a9278e67525aa20f9121b9d27b0dda25390d9c3e9a74eb01dae1f8515c70f590d243a8b344025eac4ad170ae0658de460ef451edfdc623bff9999d4b6a9b3a6e21682d4ef9b9f1f6dae7d9ef84edb5d14e42ebc90d917fe41eaba66a1c82f78a3d0b029760989a873cdd476642bcaf8068cdeaf972b166231ecf2165fe4836d75b2f29eef3b6d551128eed93b723ae88ac5e32963b16e1fc4d9a07fd026a0269d50ba8b374d939b33ac98cbfc1b4082634cb804c5340fc452bc385c3ac63d50fa151ffe106b3264fa269f099217423f550709cc6c36acaee5458dd2380f86934791aa84117e4390d46e0ab7c86cf2c475d838ec704b13557c67a9b574b2165066fd6fc82f326252149be4db92de0056b2354249810848f39c6015b16673dc121dc580e98dc9f9e450b8edd02fea36f78bede8b87e5c22f46630c85b488c453fd482bd2137e84c17453df1de8c12e597eb42324d8bfbe321766c71e8c6ef3b59c1f7560c343dfa57e7fccf76fb4addf584536918ef6ec7df8d1da25bf5a8cb0acfd2c128968687d20c1d99a9992a993bb9e1669073e560a0fa018a1bae21a67228bc002439ea2998d483edbb5bd685a195aaff6e74c6a33c4e8ea63337ce43c9dcf302d47481b9c0eff03f931ca43c3a7e008eae2ef4e401b3d0ec10055ed0683bc823418dd561898b5104cafa2ef5d3ecd565a31c2e412441bcd1f318d9a8811c358aac6a43d05b036ee81a6c043eb64d77875c6018f07d5e199ce160457421ee478fffd38e4382af8c9da4f6705ae7e5c470c1c78b28a424b229a43db8e1767124e8d156456a2c730f4aca49b0b2d088488a20c796150c6341caa48b35e0a2998136e280a2ad88d2b614d1fef8fc82b1560d1b6143e52c4e9f112af6613c7e5ef9bd2dc800ae1e76fb131f21075266e3b34a18d87cb1a09f58d4267e5bd6530447eecdffb7f861cc875de1bee2120d1ed7cec6ea8e487e60178efdc50c36f9e9b77955d95bed3432ed4d8ecf96e4aae270d5d27d049f0ca833ea40c7a7daf71d86a070e3e924781afb450a883db97c48edec2853e185f2c1678acf01bba2610c55fa24fee675ae7eed43a9ac1d1b009d455817cba89766541bedf8085dbc1f86ff5cc488630a899dc285ad987f8ca00dcc254049adb011b8583a0cbd26e0faf01cae6b5770d47aba10ea9e5883e6e5ecbe5498b3242a2bc023f268d4e6f0f0586a51832c9738eec563f3f61893448723fa9c257b129487631004638370a2f45be0d5a842a8db3283e1f8ecd9939255b2e0cb7ecfd26e1814355b7fa98fd468e2bbe9cf0e7b36cc3f1fe479ae23d5d0eed543491c856fda8d11d144be6da4223c1db01a00904970df225333725fbd86b8cd9184fbe9c87da5f052282821ef8d403757b6cdfe3d7f8d82af9f8fd8ffac30a7446a63a410f0281d90586552f0ad007b79702d1f4c986b521d24bff37abb948041b79d61eb84134211b0708fbc7a96cddde3ea2b26de9e567ce2c10686c6a2b064f8dcc61ddf76478c4ba65db14a74f43bc3e680d68381ea1cdcfb7daf9ae60c7ae1a3017023e0168a6fb91f8ed7d91378a53870d5b440c47e3518c8fea2e22d68d2c1840b7e254188f3fc0cfc75d24e9532593796bdeb71b1ae8aa16bab11fed3af7a90f41c990e464cffc351ec3bc7238c31ed728f1dee269c05cf8235dda89e92c54e72519656451c021d6c8821a899647ac493dc6ea28e89bb5f11216486eb01e930d058b5be6aef8460d98910d7e7eb703184e08c0ca211566282ab3397a1cb073b9d0d797ee2d28fc7e997419a5b8b1a00a0fb27ddfeff1488017d05b4434be17891f203ddfb544e336ca8b5dededcb99201465c056a68b9ea36e87c2afbd00cd91469aa8bd9f1a1274b90a1b011bf1c7906554c51c58a75f9844f1043c2454d5901aaed8cc46d197e9a8e529e772e9c39499a6793bf9ba877391a8c8e5c3aa730b284463012b7d20704d4f6df3bd973edfa6eeb90727a35bc88c4c4519c90bfe70b26b36c893da6184a11aaac25014be8fb0317bea9c4d9a2c734bfa45c6ba9d502a479a471f5428c3c268b1a85f485638caf25fa017d1e88161ba8c7039e86c7d195b34e8128958306439f99872c6424e3efb1384530dda020f1240a4df0ea49f2937801857a17a47f1fbdf0987f91b634a64c4e4741e98ecb362a9e80ab80cbb188623ced102ab7e86c1260228a1490a3d2d17787f3d5a36a9d1f3d742d2a9ba701cce8603dedfc98614fa70b9727d16e0fffd3af517e4503503d5951f4a7f7811a8d246ee7e878ed1351dc867f10209571ac1259906bbc4eeb54e49a5bd97aae0cd29cbef9671a210b18cb74f696c889c2c9daa5cde1f6146da21cc4b7d878e04689130b966eff56a5a472c8acb578ad2f4d944a9726f8a3da2747012e687e90febe4f6e4a567900280134dc42f2d6e2ea54e1614ca22150032c539c041fda7063c59a1e4e0b239058ba1f912f4f3a503ea23acb0b7fb6d3e09ce3b521d65ebe689681c68b2af188ae6af7379cf0463710e68303d7f86735c609d15fe51bc0e681e2c0264e51861b380c87c0145046aa9d56cbf17ae74ca21a2e702ea23d17db3a451aec876a827b08eee32bc374b2699dc6a6579c79c57e4e81f72ec97066333ff873314267f598482e0a9baa7ae3c956daaac73129f9121ea0e052ce9332060f4f53153983330975c62c8c8466716a3554a295666a7ab8496f72cc3cedfbcd0c6d0ab3470a0b18fcd7d1eaf53b751f4ccc552b3be0fec12e3ed2909080bb54ba0601ce5c35107a06b5698a03509c5d561755825f92950132fcb8e7499a2ec04c8122024736fee5c8bdac8d87132bec9a0b2280391656c80a36c7c8c6feb1aa65a58b8a7e7c36a308ba12320b1e412ef4fa5676f5f30dcfe63c7e02dbc2cc3748f23dccedae428e631baa56960195fdaa2e3f059705792eeb206335c0c1d48a9135547baf5e7e83fb794c35aef186bf847b1461fd815a6b5f075a7ec2956cac431236acf247d5e97e2cc83b78b19dc8c2acb5339a6adcf1818a93fafc03efe0839b2b79ae57b3bd4669712c9ad0c8659aaa6797bf2e49982286a30757c59b4c0a0ad65e4d2cc0b288593180edf6c34779ffb725fe46e08c962ee423797a96cd6af84696c6c92374786152033320db80a2e9fe071346bb4af71c9acf71a778a6e0d245920402b8f9a4c459d4ab4e5e9f2283e925bd1851da8b4a5e46a74fd0fde2ad13e64c09fc46b01a5c611270bcb2b0a2879232ba7733331f702da9eae2d56b11240a20d21773305a001efde83674da8839ce30e3ae6c76a5e2c8ad6b6b5e2ac3fab0476b1e1320132fbb7affdb2449183c540e5a3950518effc25b4b5a8e65bdf78dcf0baa709573b75abf211a560de06b488af281893ab8c27cf7399eeefbbd1dde9e8b780b4eef285cedd24636a1f5d561b0c18b041344985dc361ecada5b9d6a52d9f50adde9959e0da6111a6a168e23c874727ba8c0e0fd6d86f7c5baee952eea08a6d8237d07f62f755f42e27d93123aa20de880d25ab628f0d9e1db21e9addef02d5280f73a153b846a3caa04d98d82bec69a08b626fc70550252cda2a2d0f9c67d3bcda5d6f5f54a94735a147c4ca63bbd042fcbedc13f2cebefe57977d86fad86497733b821340eee7039de2798fbeb6b0e6db1d487634d35e8cf148853a3e35ddda91a718760d4d48d2c98d38523b3769c4ba0703176b840a1290e30a7ece2dbb3a7a9104cb5d1f4cc416846eebe359bd5618bbf6ef880e8508ef3293bb72b16187ca1fd65dc8ec7d810968a8eb271f333c8f342744a640fa7e2e5c450e2c5f40890c135ee2ff00676c71dafc72a4b8a3ae5da44d08189d4fcca012e0c013e923520ff5042a44ac8ab1fc34f9a01f857850599c66e346c1cb50d4df95b074c69e61c58c5fa61c67938dbe7c116b9da3fc55f71977df26a729d68c65e7e8c1aa5daf46c8d1168ab4d81af4fdf07bf45afbaa419d317301a9858cd56e028e74158736f6b97dfdc7a947e1e976141fcf8f2fb873a005da0e574bf8eb4b7fbedaaaa6ffa72e26248e7d534491b556adbe427ac2372236c820fbca758a0f9c0c7510795f6c4244c3ebdd42e005befe775392573273a4fcf29c574cacd288979b27eac140f9fd030d2f7490e99a005a7ad1c43e17888b21f50b64d516775be69addf576f113bb1bdd5e585317c281899cfce7244d4e2f97ec4363f8004693e48e525fa5b69cea84801f9ef80763d7ea4827584997f163b84dcbdc7b630b3dc4c96d498a0d1e88991397eb654c245e12ebfeb273bf4c21f63ff01ea2a994a9b142b84e869d1153366c214d5f241b631ac46f501251f91b1b15ed977c829c5c0886702bd202abf62e2b54a13bd732d43823f970113e5daea7dcc6797a032797634a6af1d27e24b09883d99b9d5af550adddbf0e9a3e940a3035b84e7a8c607a42c0ed6f2d6e83def932f679a71a95463963c3649f8b29c0c0b7460e4e5bf8f7ab0fc06217907187934e07059f5c81cc65ca806dfd74297fde3072a465e51b1f59ca0df280fa8506253bb2fc74189d0ce9ec176f1f1ca3a138d6093c7f88ef3d96429c1bca0ce1810e0b58423c06aced5827e53ee6a40e187296be3b7a8613d33bf89379b91dd2069c43a33e253817c3529a2e7017a7466f7a50f187601d00432f9b619dd7045dd808cf9a3ff22a8b66d93772b3d56c2e064f1064853215647fb33c47eab030c51c22d3fd017c7113bd53be6c5c680b5d8056fb471d384cbbef89ef0386b3a4547a05ffdbcaaefb69b866c7065a928c5052f80e823d92d02a0ce48264ae50d0cbd24564a04c14cca6fdda2c3e2f368c8fecd68ebbe7e145ddfcc24334a105c45433f9296226106016ac527f3263f40ff36e5b65de127567a0ae273d83343127b3db7ec86c2e3501c23b38318366640b3b0c6ef95421c5521e1f2f41a9abcc5e92765f8c7e127d013af41216550f95412bcb2e6921e0ed877caa102b61705e0abe7fc612817832934ea4d82496017542d4aa29dee45bbf41e628fd0fd8a9c6716e4a0d7c4d86460ffeefa892f863ff15e3b7698836e7094a6cfe2a5bb606c58028f33b7b82938145f170dae5ecc6803d75054b29135c6fac2b2b5112ca539145b64fa18e3844f975e67317f0dbab693ea1c84473f06de9258009974fc13bcab4f076edd7c4dec366c3e7160f6cb17c9b2625935aaf2b2fcbc5502d709358d6ff0ffc2b7f52a6242a61970a8c0e782c2beb6aeb6f3bc4a1cb102a79c7ba5b7200daeac908ef539acdb9c9a2a4550abb270c4f21fd53a05fe3272d16de39b0ea4f115f36dc5ee249763d160fe01a2de9cb0d838b43714ae966ea5c71214744344cebbe932d10eb857206e0d03fe562206ba91c52661644ec089027aec0afd33914306e84015329d1a902dd4958d5a91923795d03b75598ed562bfdbc90624fd46c0968e058e82757bc2756adcbd16b3976c673bc6ec012217b49325bed0e93ab47187846382d096fc06ecd1cd100594d42db21b6da815f03c5298fd6d28ecfe3e2dac36a1180479d0c4de4712f860013aca5edb2eb94a9bee334640a92d8a5799f1a599cbc7ae7254e96fe656922b7257bb3bf6c1649f190d88bc5eef006e268d38b0433fe59bf51ea9d5df7d2866e4b1eb4f727d21ebec5803c4c0fff116dc8a0dab751dbaec806bb380e3ffbeae0287ee0394d8e95fb247126eb44b2ead392551e46af2f37013b7755f81260beb2075c8ec42706d12733355805339dd70aeb8d1cc8d02eb33c6a69d4fa0353f68814a9a421919f3d2042e6333e0beb38bb824aad4613008cc1328f875583a7367649b10521c79cc31b843025b165f8da022303886288ba6b5e5d8e1e2a4f4047aaf82b58311f9ddd69a36f79c6ca0596208068f2b3f8fc5cff8ba7956ed361c702a5d72d52e19fd8f06d0001ac252e6e5f85f4f711fb07cbd8203830d0872a13661c2ac61b2cb47280089c710c9339d8b61063370aa43c8786a24ef44bcca238c9ae206f789213f5f23d206245124854c54ed491df449e1dca183b93cf4882505afd9bcdefef8a6ac3b4ca4c47bd0c28a5cf2bbcd12c721e2fd06130411727a757ae77dcedcbd1e5c58b173b84089240cccb58312e122e3b7b23888f4e4b836e0e51dc1fb3b8d02a8f080f29fde3d32e6f90413dbe92de491e3646786e82e27c2172e861e84d99b31ba46ca6e94220b94311b4a0db1da9adee3841a9436f252b57e810e0d71bc7b227f39942dded888ca5cd55f42e61be2e624a430bc2f38febfddfa95b9091e79c030d7d622b3e2067509249477b981409f689bf3beb7c8fd3cc29960200651fa996ea04461678d0d9ddf5b5280302c1ce94aae80ea312c6e2bf821f67df8e049f58afb8d7162e36e5500122c5ae2b77d68107f1259ab624b383e207395fdbe3850f6fd1c179bf985a0eca76fa031908371e833b33d1de0e7e40f9930576543b0f0810ec5d8cce5910889a4de0fb2f00df5b613cd285d11daef79e1c316671cd7113a8118976cefd6c8d4cb2aa0e28e023a4c5a589daba0aeefab017b5ce0737d3645501d3deae48901126287651a64fb6034ea10a556bdf781628668992a3a45cc0d2306f2e119b17d2be6dbbc9c07c03c9259e00e3abd29062d7792d06d6a19ded1e08e076d652e485d11cd5b21ce4dd2cd7f7ac6f055775238e5be37a4a462766c6d1e9870decc370145b3f7b532ce7d16d3612a19213302346e093793cbeda50809b38907e81ec675ff6eef4b1279300d18e8bb4712a2b84d0ad059041080ddc1aa7dd78738ee424f3feddbe290e7388ee23e5f31fdf5051e373edf8c75b3e6dfc2fe132c71206a9fa32fe0d7455418d1b25016d21494cdcf80f1df13fe4eaf34b5ec4c8d1bc0d7a498ca488d573ee9e85d24f00b4f35209e0aa113f34c5af0a98e581094406595e628358db38e436e7e0e6a4ee9fc4ff8c5494f4f9a33b83b7aa4a20450614198d87a5055e968ef2a4ef5dbd1470e1de3deb7a2be8f9c0dc20d0c247c75f3ee89647488d31b09756a5febfae5eb9d28da20b2b469bfb0dd9935a16d96067f59f37643145a8c587a4399e30da7bf69a0c1d28008f28d72e8b1745d9da614cd295cfda6b67ac32047f470569cd3acad2e5431cc9d5140275e444772d2da22fdade3dd9212fb4fcf18b871a0f973407873d9191144c95aab8f38545063b0acf6ac8d833a39e384a434787f7bebd53e27d25f908f9cff0f9cf7fb3e915c585e81e0233386ea75361c30cdb2b2801bd5f2838260c410950b1975c1b87d11ec116e6be123a0327d33015e204297c3d87b2b1cd2acbfdeb637a428025eda493c6328555b523a9f093293c79cf89d334851aa91c7727aaa94fe377fc2dd69890addfbfc4de61ca93e90dcc209aad4a790f1decb3e82407e453ee3b65639576ff55532217d4735287e85623614010ae4b443d4effcc5b8a1483da1ae9b52a5d1164c535ee5e15642464fa3e660db3be59561cbf670ebb2ec952b0c8a44cd905dd00dde591010dfd06eb0104273c4081c0a4f2ebbce8befff38709403581081dbcf35689463510f6794ab3c18590881a8d0305aa13073f9104fcd11bbe57e20296a60b724bf71e667e3bec8e24fa75ba4fb3823f39d4dd7f01a82fb425c0669dca4a697646260f26665bd3539a22820f14272b7fd15da719ffb100708af699433c12b65b2836ae94722f677c88a87d753c6128922bd6e0588760541c9d996ed9ac5c66bcf6a2cc22e44da62f1b5125c6439c794d5baa637f8f774129c325b187265fb04444a58c205bb7cf200eb15bc747baade9b59b2f9e6fa90a0a00d08682b782449bf763e8323a3554947d083dc82063eef4cbd627bbf614f71213e700d54578fc1fec23332d28b0a835826aa2c93f70046e7d874d920f6901601d45443d727fd09421c2889a1e05f11f6c37db6202b1234ca780d15acbad791790ab0974fe0900001ddb3253f97b5b6ff0edd49058a515f0e25e8f42c201c77ccb502acd52b033e342d00df01d0140fbc84c59947e9e30d2e4d4393b4a3f20bbcb06921c387a815e1e0d345010343406500e7a2fb768d1d009c147e06f99dd719d32cf0d75cbef48997d69735bb2c8cb9b9c875de1807f1f09f81de986854924ef2e823f83a6ce00ca7efe328254d8de45082c1771e60e14a91b2c5167618980b5e2390721e65c8d2eed5d7725b9dea227f26b8c4ca48bca1b5bd4c8e58ac70835b5a287797836307054702b0936dc082f96cb5c19041cf9a2ef03860185708759c96a8112b5e1c7806c3614848e807471b93b268ea694e893c8a67e805f629f0cd30898eb4185e26e3e4a2c26e5b8d4629895c8231683b7a42b2c3169d617316ee75b4b6d5a835afa3c7f5bc9cc4fd5d2b2247f9f9872df6d5ef0c4c4726d63f6cd6a3996e158dbed9fc9844922ada33e08b62bb55e0e8a7194574a031b2ba7ab6d872f94029e5780789fc2426b77ceda27875d7fc67a9d8b9d360ccf61581bc157e08706764de1a58b902e60c7d079d3aaee074780a43762f9d4c0e4efdf1b5e0d87d8eebe4d8aac4b930617a1184638b41384653c18e21a69ca734fec6aa39c001bd1d8c58244a9ee8d022c0829728c78dbc34795cdd7a6c86fa82fab9c84059f13fb8873d5cb1c40403d25af7e857d4a0e7a5cc405586179dd6b2fb5f5c7402d1e0786d1df1488c2fc20519edf26c15e0bd1a09f830004b27231afed170719b669831ed0e1b3450f8b7f5fc01ead9b449e2ffa6c9c9b7beafbeb847199e0457339645907c695d3ab38b02c6bee94311a9fb095d6e8698401c53a81ea89cd049ca9eba36f9de863096e720329aa973ebf0b85f8fe7fa63fb4a7124723192491879469c5d8c63e73eb23e61fd9c58b23e2ec4782075b249a65e9d512e9b6aaa32ae309dda72b17dd9cb5aa3a8f4e83604b3d9eca83b7a8845c82b97886ea0b243df7559d016f47828c95f9eecccbb3045964ed01e745c5620827db1c3554bcd19bf04f6be951705095b88eaaf232b169bc27dee79b40ea690d262a57e17c2e3f82d30a0dda77a2c30e6ccea6a6838d264c0e11ff45a6b69c199d257cb2ff63dc02f1344c9be843670ff7bd381b455bc7238c7dacb67f836e9b1103d2c7def3fc8cdd0713fea3aa97ce3cb7ecae9fabee34dc3090919335bda5fd373efadbcf8084ac80efd3ddc8daa164d8855166c732aeea3c057fb522e00f77d9b2c94e68c3bc63f02e4b403ef926a2767fdb0256422947c54b0f42f5dd21dfcd335657242d645cab7530922deed95e37017b397b65015dee4df1477b72b5a9bf41c970640f22f759e029954bfd87edf136511b4de7f7d81ffd5f87d30fafa04a195d3e3558a8c4fe1cac5e57a38766e4c2f4738bf264b44711b336b856cc3eb8fb5586594440f1b3aa65f97aa021f6d3474c4a84cbad7125a6e625a23cb0c2a29df1fd9f9ed2269aa6a8eade38b9ca2a93310ed079c9403849e7565a3762cf6537198c5393c24fa41aa5e5bd1a8dcfcc38f79153402eb063bd6ca03050804c89e26408b2911eda5f36015d9310f7d6a54ec2f1ba5dca3a90c63d4189dd731b2963f91d556237ed2af5db4c7a073162d89344ca9a98ce87d3ef9d2cf104226df9036f737acac95ae82e7b273f7922d3770a3bc6112d9ecdc27360c2eb5a56c36df2c082857ff1300badeff6f8493f13abc7f141c21b8a77423dfc2de452ae2bd2ead304031b611682273c3c84ff4804f52d51fcb6a30c7e2479d6e6496207343c71be413d4b6577673040da42fd4b91a27b067b2618430eeaae788ee265673df957d50eb4a1ae81bc24d27fc4eacc2e994a1ea325d5614a69edc83cdb466aedba169383b8785d70aba8b993b0337c29e5b9e50621d84b278efc985a68a9e653ef38cf33ea044a1b8efaea2ddcf561b71e9d8629a9395e271ad46845a4866b11a23dfb0a974db46dc9bbd2882681504e24f637d14a0b88d90aabbf84a9fcf3f6045966d428e850a15ec6ba8a21456234aef380367b052a07a9b66491b763ba3d9064c8e34b40966a5176396a045f54aa7bb59052163dfb5054a3b5c6af45bb64ec5df5985a2e5cc7c3b9546bb0be478238c4a88a37bdbb6c1d1559bb11945f43b74a235f09f65a77c69d0e9e660b1b682b7a336d4f318e35443d73d16c011426c18ac85ddeaf9796d4c7f50a84780fbc4b6fcb48d1373ddd8e71105ced108d6a13ef21a325600275841985af2e204eb32df2e0174618c58c6e86bfa1f38ebc1e909f946a5ba256c226294c831899c2320b5af46582f1b25f4912a077d8c19f2fe6328d49204024b91be3a0bf07420ed943302f9edd5f0a3c643bb89f0824bc059526e674a6ef106f804356e6916e029b0d3034e351a2a3cdfd5fae8bd4064899e1878787c2a053a86eec45d3e342793548a09030f8f15e130bcce4b61b07e62e38a0c8dd3d886d3d8d6d461e2e31943a729494b571ad3a9a5df22868ad1f5d9c707551de3ad4bef3f847c23654fdc84d79a1bfe69622a480f8c1a6819dba8dc42eda949ef18da9b6342e3058323f6f907c8e8af1a525e59e6fd46232fe273f58f3aff0424cc015b082bccc325ba14394bd6a31525db5998d6aa75db6dd9aedb3a96b629fddbf779a1bcd402ce0bd701456306cd76c41cecbd727e029c7ba23c1cdc79046c69475024aed13367096d8d4c6ba462fb371d7d610666fbb091b0edd0008fbfbbda1b22b5d0a19ee385d63ff2901c2665ee6dc2f6e29e56739c8c95a33486c171ed4911792c6a119131acf0ec16f0557ec601ae771f2a4026be7154be9079df608b9bef0d1045288caee18f0b5946a78cd98b1da9de225afd30cd4e0190ebc264839aa2a5b1fc500929ce7c4a138ca486e6b50ab6986548ce1c8ca32b9e3794e444d7a436155dfb3fb7e056d139df5668cb3af9b36ebf1cb245fe4ad33411f2c1118f5bd76f7b66765516b795bea2b7e0383f30b1c7881ccecbd1629f3f9131ed8d57b1838c227d202d149581b9b06b6d3b56eeecfb8e5fc70333d82be342306188ca88dee502ff0acfa90428e69607d8a2cbd86615949369e10d7c07440745770273c95396d1fd26f2d9fe5df3a2d3c591d99d01358ec64f6e31df53d8dc7cb8048229b069cf032ab0e3593317d447e4d99ee2045d62ea3d14875d5153ac36eef7b54b199b13a848b1b0944c30fd31887da5f5dc2cb1449ade7c082ec1462cba40a13b6c8796d6e305c4b1a2d606397af8034ebb73979a95fe36382eb3508b8d993aa834c494299a271656e24b4f790227f736fd79af9b0fd51a085325107872364080e0d610cc456760b557fdf704e422c791f8372aa2ec96ec5f798607f7d37a529ff955df1f0ad9ad8c9de29a38add812857d369aac29845bef2fdfa465d6f2a8cfb382a3efce143c00f7615703b0792d1c678b3e16420359a68b79ccd19c0b021aed529bafa90d636b5c5023c32e76b6ce2b1174967f0f9fef6ef9f190ba0184cd9f202db691a1b9414a473e0c14f6b6d88e8ee8b67160ce167bb5fb24bb8a352450d77f4a71b1fadc316a6bd9578b9237bd74a616358cd42cb4a7cf0a34ef29f5af9905eaa47fc5d576dff6f50ba2af45daeac8b7d3fc3e99d667ac778f3c4d7dd87621a89cd42d9d3651cbc963329344397c02101837642833948aa687e924d3918bf7d9c6df704f55f92333dfd49367354977c22bfb5207db008f726092234abe1a808e1aaac82287ef5e34f5672a2ab17cc7d4fa76d9759bc5ba9ecf020ed7a260cfa65aa0340317a6583e82d104d8ad407a10fe7adb45e401ecadd65cd3440683559803b85fa40176a2ba8b75cd662ba2c2eb1cdb64a9416a89c97faa92d714db05e415ba0dc7e29e91d58c595ac308fe99cfab70ad50fb7b07f43de1147e1007139642e9ae7b6c389071eca712ac9c2a8d7bc218daff58ea393e616f7881327391d2cf1bddb108e49bf40b641c6d56001058dc13113b23293977ce0033df365137681c59e032b18aeb59a21fa953757c10c53611fd0260fe50aca82dc50e719ea44584f8c385ae9d556ba457dc6845b77f218911d14c8cfe2031bc14b99665058957b6ec28c64e06f39f484f204c69caf394a2433ca1ea77e885322c46f5d45d7e063393bf0614b891a5b513647aba0c73716e35559cce84ea32276c83b8ddba3a8152000f4179c8e0ea1bc599e502b8bb4b2900a54e68e130faada9f8d92cc1b04c0d9dd56cf5a9cf4d58e650e8a9f2c5a204e6d4c440e89df21c130ad93c775edec3c4539a95e47f951e989ecc52a013ea85712c33ab979fbd50745ebd0b49b94505d0ba0cb427bc15a64364eb0c4f636a2b7644ee327199ed904d95c39ba063376c34b4cb87e37c8011f57c9ee62b4df1ee1fcc7b6e3765efa6b784fe4fe5e9b69427b9f6aa4394b5518cda30ea63f0af8512c8443a6a83b39aa81c29f1675be9f8a0e1674b8547ba06c56a7874a7444c6a4ddb7bdc99e3b837ba750b635db740b403023be7d2915de5a5d822a8a342e81a08bbc22f03d70d19edb5ea4cbde62ab3a26f7123f8352fa24bfaefeebee521c5c199d9a108de3c5cdb6eb78f3ae4d89274aad610c5eb19247c4ac61e56532cf34808e9e6156b39f8a007ac48a7e76a31c7be747e599abff44d5e12062a08ebd9bb8f21a4b679a2ec6ec8421109eb00fe15141d1733318698d217c588ecf0b3b6e7b13c84f9a8763315bd2ee712ef01f792a3995de7856249bfbaf8548790c5a07df499e736c15e505ed9262d67a0a1828896fff54d1c66f781cb672cf3d33330ea5481bf8fe25a57ec6943f05dd1c0dfb081d16c80a42f56709f2fe1a53a40f4f948b9cad86cd6e33fcd45f3d306fdfa0fd0f13e1f0c2af24637a0511097fc3727014d972d2fc9948da4ad3630cb4dc172a2043985cfc53dab0d1cd94577552f9d7c68747d21f071e4012e17a30697e8684e76d078b27747eb52414deeecc2c0afc2b3fea72af3d40cfc001a1ada7a61a3efc46463ae737270d8549d1bd9685594d713e85bd9fa988abf4f890f2aa28a7f77079002b1f7a13ea146f1add0765af9c6f8e5e2f638abb38560f2b66639b80e18737fcadeb9ad748c1560b7a060f2458b0bc0ac2c568040fb511c0f180ab4ea2175774e4abbae9ec5cfe3f904f98e3c03b1267e41286d5891370ef50c1e0c1faf908a0998c6176f7d7f3dd4a2e20a0ea49f77935504439d64c489cf82c2a0aee78f827887cb98a1d632748bbfa8e929f86129e2731ad1b3a07db249ce740f7dd4a5b413ecafb4c06580b6472c7b2c6ca1b9530fcb959aaa27760a42b945d4cbfa54e2e16440186acdf8bf7e9096e4329b4a969e16b1fc29628b7299e364ad1d783250ec9fadf166e684c4b4895fe11dccd5683f78f876eb08c1c8164dac2ff0c3a1e3c605418774c0378a39e86474775e8e7dfa1ae6adcfbbec49002f28ddc7b7f4a40ba5e3cd297d173dcdf47ff7ba0e466135d5a74a52046b5b84dc9b483296bd8d5307363ed2c94830bc983d14fa294f7bc10c44fbfc1f1ef53dac2cc02abe2e2aa2c57529e1c17fd2a8d55366c2eb6a924509495d9799ba9ea718fb72f574416ed89ef95ab1ea33c1c7a44984db5bddcfac4be342e40440afb20b079a33dec692dbded2aaa060f3627c884afd623ec2f61d5f3eae403f810f111c6e0b5db89bc918c8e7f2320391d194046ba7c55b74f7ea5aae39f8df8a565be77d0702b6ce20e09847eca88236ecc99863cddf3c1f0754acee6278a789751271b42816a04166df29a457720626b98c92caff45f4a4664cf4790b5a869cccd717394430ac01ae26252572c4bb60d940f02abb8368fadfde12b36ae894c467e8ab847ca75f064be65761485f7bdaad14910de578713593641d97bccc9ddbdc905b1762376f992dbbdd018ecbe4b6e9388e7e701dcdc1a0638a604af1e389d2e8eb81677fbf7096cfc1ca1433c5c7c6c7aaf20514bb85336dc0852f0ff168b83942164d046f4c1add2b8f9d506638eac6c923d041bb329a0fcffba48565bd6cbdde07b4f28151062ecedcc30b5a57a15f4fb10dac57037d60cce16225ed77de1a223d614abd00f76c4ddcc8153ea41fa1cf5efe1bd72aecbc026513b9bc4b825e8c64613e69f90047c2c7908793353760e1f1bd69df87836629aebcb788a89b93844ec46be0c96898cdcd2bc91232a4717ef34007ca188e95dc12ea81d6df94c8c255d2cac447341a34e1d89d8c96a97064b872ce17b1fc26c8c6066244c8b234d2bfe7d6b4692b08d3f7b51bbf54b3cf4f7530cb84783aeadf85091d27d240bda41d64deb316afe843913473d9bb3be71bbef01aa368fb215fe94319b04d71de6bee719209b630a4f07d3c2a109f51d527226c34d6808958f888d74d31f6977b33ceb8943a1db925d95e8779b82bb09719b7138cb3c715deb297f2802819e7424e870530c778749e622f5dab6f7fc21b22afd0a1ebf327c87ca35337619a7af81acdf68b6820cb4ceade8025d3d5659009dc5677e91d72aee86cd15e609b0e0e0287ee76966c6a034118e27518ef8067e786326550ff3f46867af5b98e2d9bd584e03f5343e4611fa5a9738252fb0f446ac7d86953b2794ebdf64daf25525e540b9b06dbe909bba5e1ae7b0e0c99c2be0dc75506df66d7adfb8ac85af200fd51ffdf2b533436712acc57f1c11f1ad2d25acdfb2b82a14ad3ac7ac0562fe5f37c58e073a43d89ec192f42e3b7e09e403f998e3c1ef0b825f3245f8d5372cb3da09c0432de2d31056519624a89cca7cf42194d921f8ed677db7fd11b8f618e5f88263718fc4413656e48664de794f6adafb2a4036140c61722b729557a830cc9c61825de5baeaeeb60249a47aa78fc16799d9a3c0174e6ca5e05a80895fdfb8e2b0b6c209d796adce8a4da38042986803891e3c0cbc61e578d15e42ec420d8623cecfbc56ded062390a5316c9f18586c038a8ebe67e7cdc0b71cece600ae220011fdac64ab9d24484eca3f3e1f96fc339c66a9794eae04ef2b6319dc816d0cdcb0d036494e590694d4aea9c442a62f4e1e67aa68500db86e12be071165681a0e28600090988909abe11c61e04d82ebef4349e3e59891a242f968103ad28f9b2020c137212de502381143531feb12ee03b50d4401cb3a633e196d75c5c63715ebc8a3f45be5f4d3280f9428a04ddafbc3615f493667d9159e902db3dc60f58a512ce52f9d01d4f26fade7a8edbb7cf36076b3945ee6bd2fdc7a79b1d21c50aa23242e6dc353d1165896b7a929889531959edfa4c9cfbde04f41802df5eb5f48422813facc5321006d447e9fabc3139f4ee6dd7db000e509db1ec48304a861c97f3d32853fe5ab01da59c1dc5591a06d8a4a54e968ae7d762c9ae88c4309bcb2fcd244c244bd6850f94cc799004a06b202a42c7ac4536ac49c7d74ad4fbac4c37b63f869b3d1b59a8b58fe9a31ba608d612f1885b30a458b058e07ee03aeae15d239ebae2c70685727927e068e98edac243ad3ba9c8ece075d84dceb2a044f6f404a03fcab31f15fa7f0b2e286ac881168dda13338d904fb11b7a2d522b16d2caf59a2fc8e527168704a3d0a95bdf6d519e73a75cc3490af1dea6ea02f9fbf4d8eefffe3bd52eadee1fb714076f882e7e77ca904ab43f37a4364d5f3397fd5a0a1e04b7d543ae7ffa30d57465886345eb32bd9d715b616d53aeba02f7654208b0e9d6467321fdcf4eaf46507841c8bef6f2a4a83faa6d213d9297967945e651dcc18645e1bb1d4a76cdeb1598ce7eaebe0c41d75f2dd6f3cbd7f6f4c8794e666447ae72b3497fffdd92b1fa82c0a2436091d7b4eb845a98690c9c7ce0675a69e0495a0b7d9a4b1d44173ab5fef3fb225f0e94e95190fa96ee235f83d59587ae66781341f85407e68c07a6e15d69efb3d8fb4089e33ed12907b55bb6b1fce7e0bc918ca4e79b489a180574d52fb754648ae1c732fbf01710c0c3335277bca6a0831d649c9ec38192c1f3171939de2589ff6b9f4c8c1a70f1bd7c0a671c9c70a4e107af518c1dd710e7130400ca4e67fd2bb567caa69f87eb6b7ccea319697a8a4bd02a7d8148856b93fc48a35bf55080f220c5f56e70ffe58e1fa2ff898656eb48f165fea8306b83d1afef8a271b3f5fba385da549ce49071618fcd5f113a2046c7272fe472dd2e3c93dcca29c83cc5e7b42424732b86adeb60794e2c6879afdb922dc96ab7c12928e19affd558c40a1a3c46224572ce52a4f61ca3e028515b1e6154e0eed38faaf6b473f09f68729665e48ae2a0309497b164cc6f28852bd08f967b5073bffc56f2a5e0029dc970f4bd10b283e0546a775b7c6602e852a7574dccb641ede403d979322ba34467ed4b6e0962236ec7b76f8ba138400ce36550a122614e842f3fd0425ae377e4fc093f383db91b70402196cfea50a76848e7cd49fe1c792c95eb184ab30ae202867e8060f11745cfe03f092e635fb564d14383c4b4ce69510a5e2881f542240ddf1130944f0a32bbe540c4dceeb084505a0e6f28383adacb8089d18861f45f13ca7f8bd605fd929516d9b921df603b236f39361b4957a25ba858a9466443922e330b47424b5f756a3991ab3a0d2da8bb4afca3a8a422c6fb72c73a0d71e93c556fd5348f924eaa41065c8d8fbdd5d51e2294d1c9aef7103e4e7e622736e77d228042fac2bc02264572fced43331d5a3acac6cd0f9a0bddaaf5c10a748b27f1cb97c122d37711a403ef74d99bac12f8149a57a2fc6f499f9778f0fdada39dc044539b3452806ad53b072e88844513766a8ffdfddfd8df171b1f10695300ad1a383bc894f2481a3299e6ac38e9c41561c99590ea940283fa17d00498d113073872a7c057723dfecc64eda5a5e5c7a5c50006dd1219f95617876897ace2273e5de3a475a31164e64e22058b1639bc12a02e7c288669f59ba82e213df385fe818e2d353618b9420f7cdf6e4869e10d799066b369f1efe2f1a6ff0771306d010cb4ec329cf3e5fc60aecce1d7e4dcce404ce1fcee153faa0c8bb6355ce9f19473eacef8e0548a71752809d0f5a5f8f388d7703e8efc1104e2f5631144ba54d3533e65d544c5f598d22f3ef1893034225268fa161cb41045b44189a00f7f118c8b3937d10333e8f7fbba60dd6e3ae1dd7d8895d0ef2e1cf9838844e6d253d34a9cc941aeb0a75cee2775c3fd44e0dd87d1f619b09f9c64fd5f38b9c50561d175cd8717b2cd859914e37460555b4af19696b8105a4bf463b15c7119d9717a7273c2c3a90b07e81ee1a485b418489e984eb3f5b8fe1421b360214be527e1fb13aff86116661b13a348924cbede281bdb247987bd8adff75dd05fe1cac2491c8f5f53ac9ef9201471119bb100fd58c51e2474e823bccd823d15d9ab964edc4d4d48e3265b36744738d5a3d407e92bdb0bbbfb8ea69a6312002c8eb7e7d6e6a8ff97c76343511b8827d8fe571081bda287d21f16909b5c86da390d7ce4fc197c2eb4f3a4e89ab00d9b1e741f47ad9a5d8f0b47d82f881d3c74820e9803fc78bb265c3e9bd8e6f44604b22e06e52067542d596ec70664572f755184aabc44a814d3b3f040b69203f066033b41e976125f01000e3b768cab2cb0db992ef8ccc04363111d769640d653f23825a8573cf990c1aeafc36d3854e31f476d835f3d6d1120dda746d376422de018d438d41d79415dfa13b9634ef59edc0ba4b9a49966429068b924ef0ca622707e0c30a839bb8fff5750d4659fb302d87a486974923d670718ac96628fcf2ec899427722fcf634e954b66d473caa644ab753ddaa88cdc93bde1138f30beb5913ced23cd30240055f349013a9b33c9be463348d221a398ac3a4722c4293a653e119675c3341c6105ccab36598afe7051ecb8bd12dbc4f3c839aaa5149712aa80db221292ce4a05c35f101826c978d7ac31b4687a2d5f422951782681a0354c512e39766eef8a5c53ce42dd59577a07549f4f5f8fb0a659ef2ebd508d9824b767783a469fd1cce34b75985767d09bee9e7a594444e610b953b26b9f9e6d3299493892823f66253cb9f393103bb34c552efe5aaa530e3cc538cda77395dfbc6139f5d7a4c1f048b997a5b6fb26740197a25817db138222e40e6a05c5e588fd96333870698bb2b29df054cbb68f80cb47d77c0b4ca95adad11834b1a795f37e25ced5f91c87f39850eb5c1fc3ce877d5b0f0ae260d2c46767c5b82530bfe11a936a7076c810f3ad6fc86f84b46bc383c9020f9836a1ce6caf5ec3a9f2994cbcb203f3879c04634b8a12ad0faa6564378c8efc2e5a46648ae25b6bc410b1b193e01fe4d43fb1b1e90ddf56c7678642642a7c3317e217acabc9782ae2430eacda8694d371871fc6cbe2252cd3bb03105f7c1c40fe26ae19135dadf0e123c174f8e6c731fdae7bcc9c201766ca6eb485a375c9452de71b9c1ea9ca5c51644b13415f536c58460bc325bc8e84a2cb99437567783b066335d0dcf0ff6b70b55f208a11178a2013805be788f8666b9a3391d7392c9598dcff10c802abf3daa329ef1dfc54319f5333e92c134ca1ea459739b01847a0830e8c12e967d42bbb69a249e3bf849bdd2b42e4cfe6f656cb2f1134112a0ae3db7cc4598133e02701807fc2472546322518d78a7a050503b8bc96be3d715114f1ec2d5e32e1e11a52d5799e484bceabac1b0cf9190f55a9c08bf89b9aca39de3fae74d23c43a88981495863fd6ea48afe145a19399c00b777610fd7102552dbbd8fe8e26c4912d1f383e116c7bcdd233076aafac63a871df4702f9af7d65a1535cd28285aa361ea60686751793075d4d620c857ae18232c1a7267acfcb3915981822f6d940bf3ca3ac90ae1b05bf9deee39692b40ab2a2726c53b91a1d41ddb238cd07b520acb71e55b5c9f888828d93b592a0f59f6606eba543c47ce128cef7153082ea203b1a740a7e9a3e2c8a25e2e00cd3e6c9e9c6ae6335824ec412438e075cb5b4d0b1b7a854a1bc212dfc04db269336a9c20331e79fdc45c3b4cbc90cff7e172605413ffe153ef762898e16f4726879a5c5b9c5bfc117527c2e5e29ec8652c8da760a7021b338025703340be30c000e9f1cde0013c4d055955bba5d1c340da62458d4bdedf8698c2c681814e007078997ddebe2c463d463f63dc34d043d992e93ccf201c2d59f7619ccdb7b4d3085e528be1f793eb6773af5716c9969417537fe300195a19e664f282268fc7915d8686e1f97d38853a54223ed7e635e93ea06091e015fd361ee608b62ba8ec8d2c55ce9a93cb5bb7413a28c0191f1305f87cf96ed335bd64142785a9da2d15cf1d191144844c84beca5d25f478716268f086137845f9f1482fc35ca2408d5fe080feff89e0d9ae49789ed282db78aa92ac1f3f8f16786f744d1395fb2ba4f243ba342468d8219831b7d64c7cf04aee31f7c9682bb53600670a305ff1d0a4f67770ebc4edfa3bb2724a6d214afcac8d0707d19c1295b541412ab8c01c85d3988920800fc60d923b7ae64b00f168bfe9c6002439104e1c1cdca444dee2ebd92ab55f4dc75d6950e2b1272281e0250b56f75eefd5b5d9d854372cca3ac410a28977a0e21edd1b8bb8de0b6b1bb77626656770519a193e2dde787e4e113fca129e5576ac951d71ab474bffa1552ce8dd42baa086a006ca1e51af75960bb2108e2c7478a1ddd641277390d029743e0108c932e5af95aceba06ac5f326939385723e1e541e3241a432c4fb40b2ef717814acf506f818e6e32a06ce14a618c95299f0f14a61f2b8ec048d0fa3402ad42cb6e89e6fedc71eb72d4f4056697a80ec1117fb108800a177a4af1b7e30f4d9c162bbfa2ea12c7e378c47e2b66e1012f4856f70498ec91ac2cbea12ae23f2f4275034fb7bebd4921e9c335de1d6ce88ffdedd99ca2bc670c1aba68cc158fb48fe73f89566f5815b32214d007212d4e2b0cc29dc1a80fe7fceadf2e5fe9ca1c9010e0cc70a1162f0b6d8ed10559738a222d2b7fe0988f86a31ae5590c8f88c215879b30099ddbe50906269e4aa317bc5b33f77dae8b781aa8d7c38aaaf8c938f21fea6e6e8c3314bdbfc7f28d70952193be210c96c3e7e06d143bbf3e1746e458c2adedd9e85911e73232e963ba640007a5f5a217cb908c9adea14b56387c8ba26f48bc5f9041dced92669b5e525474226c868068a8eddf3502e15720982fe8421312a154b4765da5ebb243f2a02242da369633cbb46661ace11ccf3a69b7e59a0734f9ee3cedfa425bcbc9bd871430ff0bd4ad2bc9ccbf8760d386f66abe8f1be9b7958bbc1b020f1de408b869c8cd091ede9e659b20828b443f04c3ce785a26c464071abacdd55ce9f0e1b1fe5b62cc62689f3bfeeaa85e08493504cbaa5f705edc79821b9136afbb376ebf8f06c7aa6ad18340e35e2f90b967a80ec082c1294697101f146ae6b929f88e76566537ff11b721b04e8fa35d7598cd1e80c18b3af66c8fb4073c980b9c51756bf418aadddd936482ab55a139af3d86e9ed0b8be4808ff91c6a3be6bde5b2e112a8efe0d3e2c25d1b9a3ddfc3ca4a2272bd81a56cc44aa209f59e8157c737cb4f3788360d3577ff0aeb3e5d542592823da628744bebce28a65d87f196897291862dcc4f671fe1558834b70dd337baca70c007b2c26cdce1da2ab72565c37be62667de06d864ecfae29dcde2862f841b67a0ae1d1a49cbdfe4058bb0fac15b1c9a1ff74aa16036fee892cb79ec228974b98e798657ba5ccb27c88bacfc7ed37d00586e1a45e5e21dc3fe59e92b601b7505f9e50868e4c59e787e0e48ea56089d854e31ad789888b375969df9034e604c00e0bccdc465cb4d518d6827585999ff9f633436c63327ce3897ba10400c898b982525c913f66f0985d4c84dc91fce23609406f7a54ac3431b54604fb95df793842043a5f142511f4cf033c0593410ebec1f02cd2c1eaee8d41c7eb4e16aeb3739345c52357d86a4728ae76fe2263774465cd838caefe9ef126a1bd05081a266181e6987beb8d5914030d6e44ae8186f6b68eaf14ffdfd42fc145ce07a7084bf5ab7f0bc4c97aef8f258c3c08ac05a74ec897646b70fcc86ebe0323a99cda79c0bb9ea9795851cba702e3407c6acddff177451b8883e50abc27068255a71fe6de6923039b47903582e07517d07bcc7c32c25bd82822929d589f816fec2e401f38f3c9df72ba8e489f7d28939af44b1fd5d0513a7b0e9d4e360d00513c1661415283aee7db3c43839f2c4a667541a0ec559b78041d0c96b541523e3ea0c194233855061a96d62bcfcbf911d3c1885e2915b540c12723215b5e8aa2a45723e151ebc040ca1c33402816fd39c3e3f1f1bdbf8fe556242c3b3e1bb1ac8cd6ea5b91fa02425063e2930422760c54efc52201711f447f59d3bf8f86facb0402b4e0ca7b33c993e864b89922ddb027828021b05f0c12e56418620bd4f91c472896da9f24b75c000f08088f2aa11bf490d3c5a233a220cba5854b8d73e54fafad8ed1f4aaea54eb16b5914847e0912f1439255177e2cd7bf28043dd30d153b93010200117bc551d6c79cbdc9fabb4a4e36b2eaa1dc56394b0ca8fa65a6c1198b0251722b464a46b157fb99d5856a6b60c542d3daa5c1a0f2fe8f3da3b34d9331163edcb8d087de9729113e202de85853829609cc39ab8925508d5966d6e986ec2f40b0124043a75674b83196ee635d49d0ed2c5ddf49bda718035fe8eb426cbd81c610e080dcb137f4c3e0c7c926aceaa28baef2dd69f0c91e9fe8aa0b3e97d56998dc0da5d68fc1a4a2f5defa4435ee54328594e6fbda4bbb9a86b3db584abec9e44a4397dc514e21e5f926272b11aa728b328594e79b9cac44e8ca3d8a94a49c0f7d058b2e16974c9b6e604544dca9740a295dff8ddec4d38729a64605c6a37b0d17b81a3ff4e5875d7fbb6c0674cd47842a7cfe186227525ef21f5086208e623cc9bb576b71d278b36224bffab5e37386228b7be85fbae24cf5386825e10ddd9fa7903f60741caca901472e7cd6b1a8d917a99d2cf351b1e8f828ec48d024451f49df6263e53fae70655643e7b6bea58960587dee258309704d1179f04e2a9bc783ebf2336ec0863c3013835bf1e6e0f339a2900fda6a38c7cf28ffc99d8ec233b2d7142a5d41c93375014e732059f8f04363e9916ff4821b3ad2782dcd503662aabd80f7bd2d5deb5ec1be940ca2c94361565aff1be375dff065e10846635c5dc80aa8099084a83c679c0023715f18c253e9d0b9d25007d083856ea49f153e422b9eccf1c4ab5e2e22f56c6881f83410d44f035a0446695a201816a903fac923beb933be6de6074e9acad164c7f402437b8fceb516e901124375faa01747bd134d01916190609676bc1106000400a2ab23abb077d394d7600bdf71ae2cbc80b53941d03688f90af9dc6def2db7945226990272067906870619062ec8622563e583cc5aedc2a8b2a2a83ef094a04d72042273501e5910558a0ea3e870ee542a62907d945ce8c0a7b2e6aafa4c2393355795355723e59123e5d1a20bcc628d2c168bc562ddabb90040835a2b90203b49727e585519905b9adfbfac99c7e94ba530fcbc696864ff1f9ac6f36582c596fd0e4008d15e4472c1144a0385a0946ce0c77cfb3fa612258690ca13ecc07c220523a96cc11f6a7ed0e98525e01e3ac68138d1038844fbea21513d4a03852891af0487ef6eb8a92cc12199b3020361c96432990c084ca973c16ace178f52a9f47d1dd3315eebd7345e0f32b711582cf1e80953c306136c79bd5eaf170f4a776e4fadd556d7cde9743a9d4e7d3a49b1dde9d434d3a224e82f59732afb57a00412045dd00de591b5524afb54c6c64024d78c9160dc301baeaf5d2e97cbe5bad1341998922bf4e4de9b322283f5b8cfc1645007925d1003d37b6aa04d7836cdec9e486ba155b2991ce83deb3d88f31eb403f71db803e83db074614078dfa97ce8adbd302094e0845ee581e8defbd0abbcbfe378df49ef45823a78dffd0e1ed8813ba8803e409b1e42c0a06f94cd0d68d4a88e035d3b41a0517bddcb0de8733c1004e6742007b2b4cb0c9c80ec2f8637b208fa031df29038fc4bd024ff4e40100df359754c0e37360db3a5bea5d2f50b83c160b01edbd6313738d7559ef4a8d30529643f2e45a6fce0e1cf918f1f2e41f4cc09ff61b4ecb66de5fffb4fd39547743705511c36b91981c5f6b13e369a26c302da944a2adba6bbeb1b4d5f33d91cf2fb6b1df6fb5f64ed8b30e4b6a01843eed7babb47600e1e8eb87d6c6a5d6963776bade153b7a41644df7a37c86c77f4b0c2de7103fe1ee407901f34d039705453fb96fb62c72e88310f0f79105181c58e75a2bf08dad4ed63031ee80ff4cc7c4944f62ec3be17137bb64204d7e1e35e6f8896df3435aa492b4df2d77230184d622b14e80a018b1d13e24bb4f0040af43ea6290c6fec5d84c0f2350e05929b1cb77901c627f470dbf40c012c5c1190201210a87a5407be48ffbef1d075c1cb6204fbf75e1f3fa0b01060670b27fcb864912273e5843132945516a5266f7e78e0f88ca4fdc47b00ceb4639a0e27c96fe24fee8529c99c78424358db320cfda5015e0e3bc6b1dfebddf9007b16c3976fbf7d72ff64cd6a5a6b535a29adb452da9f5bc74d6ecea9fd76ab0a1770fe407e6f0f324b790a9980451cfa00cf077061f6f0260cc3300c652a50b0583b3e4e8e8c3a3d3fad252cd6e974f2d334bd0b0fb0dca9d5d3c1519225fb9e6cb0be1c0ba061408e6b8b1e393018ed31052989c03a758c3f6b64b1582c16ab1ba3fa4eb7efb45c4f92f81c199df03099d6823aee6a1694298cbf4febc8c062f51d19935d09dae0d0a6edeb941b782b287617b7491314db8b547f91cab3bb76aded3230d9a583de6a5cd7954a5c186eff1794d509aa4d41554af628d9bf050c2c4a286db373f1f73b4d76766e10c15e5da12b7437ed3925c8bbd654dda256e9df37eba49d942351bb0f8a3ad4cc2cfbfbc1f4bb01a6ffd5cfda3b05b5a1eeee779a706892ffcb4564044fef3b861bbf56db84103cb5d69a4aa564ea5e8cbf0f5df3ea779a1cc569dc48a2bad10b0ec781392e499250019523c44302a5a4be1099441150dc0fe15ea454c90791be6893bbc2d8419b7a340d57bf22f474edf4f8f3e8e0a80e64916149e45b0227718be86112b218e9992689da8164fb0780b2c7b9cc12034cab45c281154cf950162360ff9a54ede9e9e94969be8244ba6e78a48ee001a7082c4abda9dc566d8dafc4644ef3042a0353a031ee171ce4dfef2c7a19278a8bdb3a4dd346ec2396997a3b7c8880dcc017f9f65463061a089a51c055ae38c1f345191957c39c0858fc320ff08dcbe572b96eac8529bde06a576ba90116672bbbcf88f348f6f76f1d99abd57ca249fe5564bfe26a579bad55cf6a9a5c3db5ca1ec9a4fafd412a9552f13039a2556467c94ac7a6521d624a296e1affd1349ecbd44c754cfcc010f173ddde7eb574da39ff86ce13d46a1d5d9fa1a60dccc149fe30ecd947d6d03354005030409b6c26068a9023fb773618681f28b6051d2ad161901734c97f0b0da5d545704245f2fc00e223553f654b32211ba4acb5f46d8d1be0cfe2ade2e765ce0a0f67d0dd73ce29042cdedcdf758fd2fe3ec7e89eddd3eb29a5d6d7ebf59252b618f885295ae15a33724f0a6d2623a0b76d6545241a8db27892af53962f0220d11edafb92ba647f397221922588e49b26e94593fcbf90615841beaab5320e8c31b69f275832aea203a03cc24f0894ae99ab1be2722967aed9cc35a4698690fd81e81cd2350212c81ca08ef5b2c8cc359bb9bc90e6236633bd7d6665b8ca8384b6207380a6cce477d23d97b39d996be6da99cd76546633951d2fa4a2329ba9a8843c5037a21d539239e958898e749a0682028bf2557d86ce2d36a78d8571b5582c269d890d14652c8c582c16eb989876da90d0d3a941ad4e010a7296b2ae3812b3d2130c10543c4c8e6815d959b2d2b1a9d4bdf2e2bea0ecef3244ae5282d6caae1580b5970e90afbd8f2b53d394adadb55e4befccd6c3019bfe7fcea969778464b3c17d4cd348ef0d1ac01ada54f35cf818a0661c6f0d173ea9542aa569b624935ab142e53d4ddc088fb79c89b3fcc82c489069f27b31fe2ff9ce94ee517e98589a456f69de0a522a85e1f789868045e9726de1055fea835e74003d077aeec5fbae0616b867f739c14028c1d9be7b20ee730fc4f6dd8b9267d65a6bb559f456102094d80782fbfb4074bfbd4a0aaea11e6419f9e54507eeef5b10a7fb2242707f5f882c554e6051f2dc518e129cfb1b9873c1fb72b3bd041ab543f57090ff82437d5b7f48debc1d3e54f00587aa7d962995749c4e548c36683539071b1ffb355b10e7c6c5038f578589fe8243cdf56baea00f0fdd53b12252f503909665dc4593fc7978a4abce66b3994a652d4cc97a8b162e4a4ff7fd4ed3fffdebffb53e3d9d4ea7d3a9560d08f6adfdf00646867652b26fdb659a46241bfebf11f07f7efbffffaf69214c496647c382e3b8e61ac435a874c107c5ff40d014f09d241f2f5e2f91cffd19cdbec4b1bd6405d9b69937fb15ac12f24033c0957b31c62ae0686a548fcb759d87270f6b6c0061f17add3041d65a798ad234f4b7df46a7918d87cef9d8b034d5d69fafce81463e71a069eaab630840228956360f025b70bb2f2ccaa27cc96aad13b3e79413d6e385eca1b7481c2ee5103c28828b274aa0eae95e1806fc00fedddd18f0d087051a878ce6022f7881c5d3fd6beb87803e9d7c527aaf70efbd2cd618d6efaf608bbc918de478112d258ca0842460892ba8408d64113f80b748edde7bef544d924b228dc35f06d1927d46124e44e18217f44c137d9ad788e89dc06aa59193112c46963d19b946aed0a28bd3ddb61b9ccd434a28a5d44585e773327aeb0a464a6b3af7be2758fbcb35a5d206b7b9e95ed650307c0f83c0f3251dc7711c6b6a8519ab5fd6bdf7de2cc6d3add77fd6ec7f41d0de12895024c64bc750e346e3946ac0399d28a5d34a2264101dfa9038fca511582821dbe1a1070f59570f692fbb40b64dc6448ac5daf1717264d4e9f9692d992c96df9b6baded1784032cf66c4a56c748264e5a8235b246d6c81a59236b648dac91d523652663fd1c278bc5627163adb5ced96dadb5d65ae959cc4d8a718924525838010abaf21fa9d3c3439bf3c1f9eb428b2b8034a98a6f8a1685e124dd8bb1ab65f5de4b297d176986339ca00ff06a86ae56abd56a954547296dda75e4d93d47228132c50c25649b82044a89fc7e512ba0518d1261d0d128310697eebeb53ed1dd543685c27a9c4ea7d3e9eb6826d25a682bccd3e964ddbbc1450ac6d97b8cb8a585e2fb6052b07c8f423c99be292e854a0a83c160b56e33d85863032427071b602dc555c79aeffbe4374d8d29a555368dc8a5a9c6f7792f1c950c820a7e631dc7711c6b604a5705d29360fcfc1c71af8f7befbd2ddb06622cf64cf376685c6c5786d0ff1351d8087d1fa532b244616e18561bb89a5107773a596b7b8673e3e272e082bb77db4a32271d2a36b0d6b66ddcf77edf7f18964a41a05a4a593df9d2a76992d042c60009d20543902a904070c9026b789a64a9d4c273933c8d8423b870024ac824e30a14f74974cc7b37ac5cb83b66569be9d33ed66af665b67f2de8e3077e1b2d783e3076775c9291858cb89ad55d593b3e4e8ee8d49efa535b7589f6a78ef125f25dc4c0da8ba78d033d9c04cbf15e8cbf8ff284a2247c654dd3bd5fc8437978b49d49f2dfc1f87b6d675559f22b0cda0484b5d334b3c2a6a9fbaf8aae533c91bdbe6a4cd3f190477b82351d0f7d6b42d5f1d0eb121d53593e58669621e8ffbb9f4e276d44574ec042e046693a2c6f0558d474b431fb6f4e56ab69aa3b93e4cffab07ff599ad9decac2595255282258f873a766aab89ac4b54167e10e8d434dacf2456a79506ced5137863f1b0785e5b12464dc7675e7090afbd0682a019e02195f504161d76c3cb43677981c7b90549f237c10954e0025814b2385759c8fe120b4d6329139ae40f46f6d7aa80c7f8ca188938620ad9294f93fce511563fc5f744eda10ca31b44f08c1f7dcb772e376eacbc68e5452b2b4e7af493e7832b2fac8cbebd95117ed10a7e11c63e334634b78ce8788308c6cff233bea3e1ed98f1dd8c116e5179115679918a0a93ce2ba3ce2c31a8b4a8a8b0845ea4127a5128c4834734cf1851008c6e10c1a167c1213c9af1ed8566782f0a792ff2bc232b307833bc956fcf5b01bdc803bd0804d28c4734ab8c6c8c6e10c1a095102834c2df1e08772f02752feaba23545e3adca9883aee45348746b4c6e80611ccbdf7a0ef5440202eb4bd88db5eb4819e680b79dfdee6dd176df7451934a2b01b44f07dcfdbc15d90f6a2abbd48d39e742e1a48d3449a881bd1bc8d5e186d7fbfebaee5ea8b6c7d51addb88f376b457379bce1514790e684af31dd1ac8d4ade0e39238df024c180840c8cec88322f3302d346b52af0b2030d1f7e488345e558ed6e5c07f2422a786506cb4bb0e5e50fc94aead77815eb1338ca10988262a98565c60a560979a08edbae5647378987b7e5a10cf37fe610090e6bac54caf7893bc5ade25e715b1de31fbbad985df90c8dc562b158ac56186e1b3283e320d2596bdbb60ffa56a507997db81ae8181ffde8180e34c97f4a63a1638cc03ec86c83cd276a53fefaeb0face918971960b16356d3789868251c414629b5d4c260372ed74dbbcba6c1e1c1c3049ac65f87cee14d6408ba2cb62b877d7787e23f4efce5611399c3b5f02d3ac67f10fa4d0eb0f672c17842e7b0509a2656036405d6fe8e2ee80a4cedc807b9922be831877908058c27340ef76142f49e2c854eda4994c80aacbd286198a5660a72d1c11674d334be6d96ca30cbb01e0ef55f462fe4ef07550932c86c8512836920ccdb81031bdce13449b9bd1d25af12d63126975fc0a40a265530a982a9605205f3d48fcb07564493fc93b84ba854150683c1344d268429b94b117d3bf7f9d5cb214bb0d625dd3d7bfe9c9352f97211a345655ac82e5ad26716c9220ca528a0b433d12b362cbdb76d0b71f762fc7d73be5e331cc3681a4ae9f705f6827691e9ac7bb9fd7d9ced2f98a3847ecefd0d0471b8efc09c6da43ed46792dc4d3eb989879b8f5c74d4c09e7792a6a4f413551950ea33a67c777f057bf6cf3969cb30b350a132097dbd7854b144d36cd9ffb6eca2a516df146d644569b480d2162ccb1f92722a577445a9b596cad4f6dbf378bd569da715f8feb66def620596bfe517f2e6e17053d99e5ea7d7e945a9a6d55ab56947f6b71112eea58903256b92aaf67524336a134501059e9afc0a6480873663c7a8827c1fe4481af190a5e3618d25f857a7d3e9b4d2057ed5da22053b361de9487de88f37a194d2d9d67643c0f4d226a09eaf113b51abbd46550c24c91f8a5b039c83ec3df8090415134d339f12d124ff14dc16e0263e24522c59417e35a98cd3b717e06b0674ac32a0e3376a20f6c570ccc739d2918e74a4231d29b5a34786f3509f273d4d68ab95f271aff34975308f06b2f1940dc6d84507d3c862fbfcc501163f02570a196f47a96774ef0db07823706d804507146052f0c7fc0dfc68283f2678c10e34944c411b1f15587a9f16462f14ec41661a190143e03ff5d83076ad24ee2ddf4942795a5338e21af9f11e28378a942919063d603058ab455bad56abd582711ebc032bb35626673b49e414d6ea48eade0e67a934effdff89f2954a61383f97042f8b49b6b49e99df33d4da0ec8f4a43fe7f3b54a36c9be225eee0d5c83017c3e2bb0cfbd51240e079b7c51ec3706165be644d0910711c58828332821933b32e9533f5b92c9785c902d2886d9bf276011ab549f4c66653299cc358d8509a9d3a5d2a9c70f1d32ed6a283df6cf2cb94b1e6051a652a914b60207f1f08709c4c31b601b0f33e76cd960e9e652f6f9f762fc954a94ee6c4934edc32e3a7886bc3a985a4dd334cd45077ffe558145e9f2fea2641027d233128b0efd7dd6a463fc3d2ff204fc6d810528d9b378430e68277903167c71801c9224cbef3c4d3c662f3a74bffdcb7d1cd0733c9ac6da970b6eb35fb8e52e1185f12a955c2e2e5e6e32ced4a44beeb866ea4c0ca29042642a466da68d338bdf476b287108601422256dfce7e1675f73a25dd7089ae4ff0ae2d2709e48c9d2e5baf74673969dcedad2586bfdac10b0288b681a09832c9778504afa5d5a92204e8d7f372a17ab45850d602a001572b4e9a62473fcf03789ddcd0fdb2e1be56be2051dba74429a200a8f12a278a9643d3f0401a292a9ac949a56925141c247172a58c999b79678919d29ce4ae22a377267b3eb0a75d8755daeeb72699a9351177afd14e1083fb80b21e1775a3019740e0f49d3741e288b00839e915db876ba54bbb7d4318169070281bc1dd47a52b0b433ec401bc8f9e039ceec2fff8d5e70be1aa2d10b8e0886aec6c865a3171c1b5fe36d802e7be1bec6db7818462f00001d06f0857b1be0644d12c95f38500747bdfc0b3855e05cb158018bf435d6148551283ed3512f9a66c6fb5324c81c2fbc3f7dd2349caffc26c1df6eaaab49ea1c3589c4e18f1fe4ed7071717917305c19799659bae71934ba200f3db33c68d4f2dc88064f1299a3fee055929167995fa0316a195d19ca6719816428bff278ef5f7f425ee5f12a4fa8feacb0b45c965538b1c78ec581dd31db57bf5178e443cd22a52ffb2a2fb18a388b468d92a3fadf147f48d6ccf3ed88b3822261bb9c66c7eedaed6ed77ad6ec76e738b388b97c7e26169d83be248eb169baa7e981ccc1bdff8c4d184c86ee3064f9e2e4c2fdd23cca9795384497a178e51c6b963fc739ca39ced1da1217babb769d05a960c078745d773d0fa99547cd5c026e0f87487129fff2d02c8f697a1d578acc876421bb2c0244e7f841e2f0efb8ed3e4c7a7e79fc2073d4481c8e5b4a901aae7b292508d471db1dd18ea1114577d3a63032cc1e66ae73d63a85ecee5a8378bdb9b6abe60b4c9213c9f6de3798415a74c1d504b17683298dda181d8f6dfcc1b05b27f8003421f8649a86fefc4ae9bb57e568e6f96e79342aa428a59606994166b320419c8a56e024c834758faf7c3d7ddbcd20332fa363fc432dc062cfcac839e20f19ca689a76f235413ac6df0637491d27f9087af63dfb9e7dcfbe67dfb3cfb3cf3d7b027b79f83f9bcd66a594758c82ae7bc0524a942c516e33c73ad63afac8a6fcc49ac0a4b8ec0c4df2ef9f41c68702410a4d63bf067fdf7f18964ae38f548a04fdafc0cabdc51554331a2ddc5b582196c593183cd90aafdc5bc89c64518691e5e8ba208e4613b86e72945a931a2d65f54a3d19639a65929d8ad1d5b2790fa8b917e35478f21a50b3643205f61b64110f53a999eae92daa2005398e761cc7711c356dc4e3bdf736e8de7baff424e028ee4e12ab752f124efb1e5d080cc30a3d1a765bad56abd5dab69393429892cc75ce350416ebde7befbd187f5f186e3c2aa886470f27798b93da095b7fa1d5cc3bda804612d53d4882393218d9a9012a4788c7054ab29e3005d5fd10548f69922dd0ab80dee845822150f2f44cd2448140b9e3f203564d1658e648329690e20a548e904e250354fb0172848ca04081fc00fe42249420a0baa75bc89fb1ea6c033bee825a941564fabd2c168bc562b1340da624e34577879c8430f67bbddb5dc4c02f59c44f28f550e87a28a512fc2b4d7420abe82e64496b8f54e9482564122d5f5eb9822257fe1be8ba7174a078802cb9df3ad18683628f78d4733e40e5a987543c9145e9237b3c1731700d1526a15105943d1e7a61b85a857a7a7a7a7a7a5454429ecc49078f8ee1a1478e4c15497946e8ee2965cbd66abd3cc0e2ff00e2030a58fc49a92606a52d69cb8be1bd8e035a844ab5ea696284e7881613d611950a4ba9699a141ccae26f4460d3e988eba83ae65b021ed2446c8788208ca9540a259eb2e31d74997a5807583c719987cf500f5d0adeb2f8d26b26583c65778005dd7ef120c116ac92328a8aaa542a954a55ab8bd3420725f67af2e31a9b2ce96925d1d9e9d99428321814272f9f1f1d4d753aea96658f542976655556a7ce6c91ec4fe7e974bd569223536c6ab6b22799f98caa738dc92872b25ab2541d316564e0da349e55a269c4e82a9339fc0a4d233f23b00d223b17b2ff8b1358ac31d3544d552c365531158d26f0e7049326cf0d9d25386bac639cf4027899cf34199866f1f4724415e378a629e45e9c8bf3c934bcc8f58872d5ca3cd3447aff97186071aa6679def0782803f02d333ccb8d9f31fa9596c72caf32e3432befe107a97c17daeedbedebb3805cc8c01b0d5076d9a0d1049e529e9ac65dc8c05a67030483b76349f6afb5f6c000a2d104be3c31d89031d45003982304755b35d400e6d89d1c1a7e088a34caa9e149df85231a46e18b7c18cbcafe34802f127c911f860f03e6805536492ed2109b249fe315a846cd9e49f251a3381de0580b7c86c7675ad3545152c2c4bcf803a0f1f2657c86eaf099175ecab7c9e1c667ec7faf69a2978f011f3f7ca6c6cb07f243901c69437584cf742f6130c202c0ce911892f07c8fca4bb009fef119195c4e6e3c99f132c6f252e6e17c19037383086ef9197ef4358c94e0d0f002007368f8ae86b763f4dda865340ac0b7d712009617b5b0bc88056c0f6f8c6e10c12c7fe35bbefb5866f8f6586698f12296192f9af1eded9801d23c1ad17c6314a0e5a8e40d5a841432120100000233150000200c0a0483e1806040261c071d1f14000d5d7e3a80583e1b49844990e45808520619a30c00c0004208c0c0500d5500727d467899c61e7a5026bae1b419262d0e3e122e609e7136829b1e00abdeeb0b25e8154c2322091a72764ed049af010c2e0e52e4b0f84d7042ba258607e61b6ec43e64405298c0f19f775530cac08d7a65da1b6eb45531195310e13e19604c7b8d72c867c8833a25d0d46a5369627aae8b9f19349ba67834dbd4a73d7c6ac85405a0000dc88f2024bbdd5199fa7cb50c2b8c595df42bb4270a28e2c3cc7f62f5ef825977e0d683f31d4003e3c1b9e97a8e1e57c75cc81b0d7e3bfc60cb0c331564ba4dde05ed55367bf5667b57eb1e48ca93101dc9e72dc524db89be5e45c6788398e7a6a074ef6fdbfec8cae7a1f1640d3390020025e69faad376448c812dcd5e178053deca94e46752ee32c075c0ea7f4704c854290b9aabdae08722b9c76b1f3d3f2a02bd0762d8c280dc7be47d1dbac92689d53f3468901e97b7042e7b1569195db0a48d936983e09cbbc956a06d74c27794b1a7b600e49ab577db8aed8a5330270798b35a155fd85474ceb7bbd613aae6420a4903dc5b3a7a42b73113e81bdcfbca02bb65a72166c234dbb82c7259c81769d38c0a9512949f57e6e8c75af47ec6471df570a319bececabb3a115c3aa549617967625fb654c0b87806317a920643441673dbd5d97fa5f6ac2fb00f94ae8ef3adea2cd51fef9c5e46b86afed0f2e4f21f6221348336332bee9ba0e9819b7b7a66ec9557d9f129daeef416463245973f43ccb66e0b9a9d9d1fe1caa96ae5aef2633630c44112526f39d03c792bde1ee111e6aa7856f7267c5b1112f4ee5158ea9ad4b488a0f9318cbbadf4a9bf88319c765cb8b1eb077d7c7e1ea434a260228e1b649c37c0ef5817a079176e472a5fcd7dfdc4446244f74cefca8c942aaa4c15163300380411f779549baed1024a130b926f9e5351c3bc17ad313a93f7c8c4f5f8ee4adc7f893538da90e40d69c68dc24498ee8536528202867adf556c9df43f899ab12c10f6bac8a714babd599302f05bf10442c7fc50c0aadeb437836d4cbe63b6af33bc2622c164e75e1f021ccbd70c871b3054b29afd566e684092b7678e786e16e5e2f5ed23a7581f3f6d607b3d30f3863a5cd7e089608c906dd29c69f815a0eb81261180e2c959f1bcfdd5d66555c4e4bd4d2aa218bd52f18e2d4caf7655d69912d9f43635919229d4582fc3315a15ef539a51368b118c333543415c95528c88787d9e210304e495d3e22ca0f68c06d8ad9721b713c21c050bda45b2b60a688acd5833590a918ee13150d24c1841b627b1ed434fda5eae54e41db11e3a740d4ec79652adc9594f1cdb5545e3319c5181639542860801426906ac6816617d410bd6aa441c0dd9d7989780392e8edd51c24d133483a3c58f5b2b97e4cd2e00708d09681927013746614b871e59d9b4ac11d897543868f675a725c2a28614027144bda01ff4281522d05e25116ef4ca60627a31cadc0b51b0ae1a270ed1fb8a3296faff30138f7867eba0938e2006c101ad7232a7b30fd1450bb0b2e1502007ea2155ddf5f0eecc1d8b038123ff13321cc0957deec2c4176be92fd5796709ac588f5cd70c349d3710dbedb306cfe46193135a93ee2645110e14ff1d93c4c0c2406f2d2ddd7ebfaabb7abfb6b3b8a993a61ab42e547ff25bb4d4bafec00b85ace23f12216f0502bf3d502b650783e25c7ee3acaec28539e54cddc54feab049597320fabb020f314afdda26d713c6873a608bc246628be847796c61c4cc62ce242bae2e9f0ba2476032cff60e48139e269139a3a697645ea15262a39403064613d9f5d0bc1deca009ff73d94ce03254e69400e60ebe2c0ccada40bcbea707768d915efa22b7384fbe2a481adfb42cd4068aee31ba2bf893fe53bc2654925cc8c68f5148fc62c144b915fc3238d4255cc905c690b42a8b3b587c19d40bf86213a43545b860494e8f9b698fa6b3e312911fd24aa247e52cdd57b61efda0893fd451e7e73085326054c2c518d28d050bbd8a9b2c8c604eb0a79553bd5ef56d12be5c88347a87aeb75a4985df741c9eccaad62a0516695888983457624901910ef6f8152514335765e970b698fdef3d815c4a2c3cd337f082e93baa59023f0b08fa9dbf468f6b1f3c268b5fd19ef94a22325c28cb29d8d5939da248db0495fb4b7002207cb3bd4d3bb364ba508abf30c7e85c05fd4dc4a845800cedc838703d477f6bf6a32c1afd3734fb0659e7d5789547d0a75fa80e2e07e980f57156a30b23beb2a66b0f0fbfa1386eb08b734c47df094846ef5525595c6437132a22dac234b4f45a5f67a9e892443fec2ed736b1dc44bd835db3801dd91b3485f9c6493697c48058484619470730639b04bbc6f7dbae79c1d9f234e90b846d06602044cd2303e135541a08df74dc40d0dc503810ba6798f5529036acb3306286d94edd9e16a06e0f8e675cd475139a617f5d2b04c7bf27a51218080ad3f07d890667fde9510b01084ed98c8e4a5768b16da821bc57c6e312b2a129084b93d88e60e068c990933c1859ac2173c7d56c92c780320017af2818ef25318179f6458e6ec50a82477cc5d5a0cf332d03b94f0a766bf32778be0881184bbe0856bdb96162c85a8fce8a6fa7cfb7c6b788e4ec528a8544f2a33ace17d08ef6c5a542815e8bbcc49708dd91e840a5bd90b9a5e1be84de227d9bc1b710e7b425f1180ae872206cab345b4de4869259a8b4c89e59fe29468b46beb7d5702241058378dba45190e868d0f94c33bcbdbadc25491167e5952cb612789051f84306a7a8b77c51e861f6f325987956bacd870f5bc9859d004334fd36c98d25e5329f4c34c92e2b3b1bcce6eb798c27feaaf479768c2aad206a0bc87864dcc5a8cadc1e56df16abbec508aa98d20753586931f3c3a8a2ec5c588cda2173f11b95010d10a594076db0324f47ba299f403ecddca08e8645d5cd053fa5263055de99747de1a60184f95a464b75490113e835f26e32bef3639961846f2de83fdecc50500c589abb7c6a90a2bfae466689af5be0fd040bc8b871b442d11c07b9ecef3793d42a1f920a41a1832206d22c1579b5a25828ea5969dc42f544ccefada1de4ee5189fe7eb190afe8064824a7da662b4ba46e3c1ea8d03321d93fe6f95d3050f53f93369c647c1b0651a5467a63fc041d0f13dcbcaff3a54f0b65389abf2246949e1cf79d7c5a7098760f889cce4f475811deefde9ada6ce3494ca21da97b86525756f88019c7a92b27bc6fa00d34b7faa1217b542c1a80fadd6de0e94569db4cb29d17c83a1181f37aea6ca1131828d00d9943bfb48664d589ef45cfdd41fc21de96815e42f12fe5cbc9156d1baba91263cc62b776a63dc3729ded5373cb3abbec902e5267061d4d3ab60920cf2696b63750acce107af0a25e81588dba65966eaa351ab3acd4a6a5de3079f7451241b083fbe540c353a8200db83701d4202de0d8e95d18c06df33719cff697f0cd6d2d18c7f2c7c4b775611e2fdb7457cd4aaf6b8c42fd79ddde7d1411f7b777226e0a8f06a7a4465957feb1eb9d00633c16d77065dd8abef81ad690c980b72ba6fc8a28cbeb1066a2504939f6a4f233b27300cda089f6715629d2c0c1f2976326cbe1b299d66d5ac414a26455be2a163bf3ffa6b5e3e0355a6260cf19a8e6b4f52f27b145bfc64af8a7369c66089bc9bb97ae6919ef33cbc212b46047a7f2445db87d9be954277e38edfeea777cb336ad52a07ee4a51073f66bcbeb25176d5382334e46012447e8409008d1717d779c006ea2a9386f15e95ba76f786a09570bdc7679bd8fc045c1bc845b16b26cf18a110a041767f358f58c28cb8a92b6266d5dfa6646911b61421abc3b04a5e09549616f2d004f278254ed593b839a0e341d3a187d13c1273e2f2dd381e90cdeb7888b4fe9c1880ac1af991cdd19547f082525b7c23913f756f4dda5482dc14b9f704e419aa1d64d4e5e8c9fea480683c23ed7123ec5a6a695d88d359e55a42862969980dbb20028b88b20ab72ed039aaaaf329c719b20c3ed58cef7e8e7a48ed4976702891e0f38c6df4c3ba27bc81471cc074c44e22b4008b171e96f6c8492213abd424890adc6d16f30cd928571a9e069171409c64e725f341ea0fa09032bc4274b14cfb771e3a28c1d579eb119f33ca3bdbb4257206351b7f6e1a5469dc96071d8666cb0b1f344f817511a8f426a047777680a41f0655ffe6b118b3e4a9344f757393a68ff4e8a28c488f4f7a24f6621e006f19e8d59e884ecaea64a4534b8e79fae433bc6258cd43e4cd60827d8fb37450ea2e594a46fd95abdb09c571ebb5edd94a676ab20549478ab87c1ef06b40577f22b6e4566c77ccce09ffc5bc96dfa0a3f5ab0baf530f03965970653a0a63a1e7f2ff9aa0a4e7602d5e90f742d8beda8389993adb0f823805f6a6fa219648e7a56dce11a85d5b3e44e4f8cb49c83dd3efd9a5260f4b73a29527a94a0304e60da259e10674450037d185e55ccad162275c6d1a2403ea567faf35ff1120160459987958e6a7891b37e0c10fdb95d9f2c9c9483ff9d53995e1ec84c7cf7980d2d26eaa8a8546b1e6755cd53159ba6c508699f3e1c23c51bdb27dee4ae22e8eef149d31ba6830b5f65de6a2ec34eb594b4371a4cd05d4ee29b3edb1c6aed250b5efdacd47bcf29c5f4cb2c0db6e34c036f6618473c46d980a8465bca4883828d0109062e570a4bf8ba9b90089f23734f5419c879b4b4e29e2ddd6fb803a28b32d79b7c799ee950a731ec41761c99fbf33674d142204a53d7c768968344578a2f04eb8cc48c96e256bd10f3a2c211b43f272fe70328a6c6fd2cb372156975690d42bed5ece78707b15baad97926b384f5324c5ec0ebfe2c52482e8b0c553fb6d2865ede026bc121ea787b4539c9826a31497fd5e8650caf9823179a41780b043a9ce9f34d3bb242ae69c09cbb948b68676a35bdbea43c865496b68130d51dec919140d537ec8d51997275c9ab872ccd58c9022b2dc745f14a7896d3f5d6d6fd1fe2dac8c2143a612e26b94b9de24dc9118e8ca410b340b5cbe41cba4d775b5ff9941fa9ad969aff93c1703c7047dc0d88c211b92ae9a6e30b137d7b8060e48696ea0b9a3402c5260eeae7b30a6742274a2a72b1536407197e12fd9b7404552c601119e86027017f1ec39ae653444448d464788e9e50d89296e382463ec8b61a60ede65adab82fc976fa01a7ee59ea3fcf23fc12cc6b36bc1ab8a11d104f0e9af0ed7c081f5b49ee8837663544c0624d37a17f3206e14dcd5b3c372bde43c3ca41fee50d7b2ce154166eb54b26bc777fe029b3f6f5c6bd6a1233219a63ac94ef615024532ba4081f2fab3cb9adfa80a9d16be798657ede0b2926bfa8e1ba00171ad06dea9b7260db68e06747b82681c5bcabc26f48c299a8f8115c3e5b1c3304a06dcb5c0af4696d5b1dc0012487cecd796c0089a1e232eae9fd4a832bd099996f3acbcda8c548b0e2252591188f159ac0634335b805aaddfbb86b74c4b70fd2afe7cbbe4c719374b0879843cf1badea1872659643eb4307932baf8f1bd92a729bc2249c68f7a65f7464b77ef568e0d76582b1e4e5bd539c56dc928262daf7330503b962622a037b6a5791fbae4afe358278bbff0eb4b15a82bf40930034f970a9e49288e32a446b5c47adb67c1c035847307d19ae1194781b75557be4489b497eb2dd500822499ef474c689b94c564beea68d9bb7db94c889ae5a442db081bdb8853a316e20b94083d911653e8da34f24201d50361ee3285ce8274cd2b0a7529d7c905c9d43657a6ef9eba5035e15c44fdd210cb9df38f3d92dd0b081e1f3fddf2a1834edf5ab7b40d9e887ca82794bee148667ae085f797b1e3b653fce948f5bb1f35d91950b1918ba98764b5a33d0d285d7e2245d3824ba0816c096340618f45386477888b8a3c197edc00c525418ad445e4150ef511e8525e51fe532af89f5dcabc987a2c3d44d2f40bf3c6abaaa37f5e196175b3124ca0b1cc77437ea839ed204edfbc1c338e3a5c18e0090272730a619fc00acca4ac7ef337f723baac400a4cf395d7c4f21c888809e665a9882a383d24072e8df641b78fd5ae342219a0c25262b4fe9d3001c985197f4595c2a17d5ae19f2c2adb97930367229a844673d47b91f5bd277590fc591e4c9bd4182f44b3a19b99ee7d21551203d9ba688efc6bf3e6e1d50e8f1a84fc92ce052f8e1472093c407e68d1623cfd52d87bdb777ec180b906048e1c5a5d067cd9cd362f6b447d3f8816a3cb7e65adec178ca10fb836935a7a1f5fc0c4570657d48e719298debf5f3298ba3909af867215a655ab6a35ea0a0db162b4263c81e4a4feb26954148eef80ac05f45717fa32e8e3661473c18f53aa85b6ae4b2595882244b4a0adf7d02cb0c571b50fb73c833c8582ffc54c6aff45dae74c7ce0b993c21b5bfe1ebee83c869ae8287e617e9eb22491292a3c00c68fccff969208b026ce2438fa55b2c19d1cab24d0cf5476b37ceeac863cd216034c522b2139a55c6ad0c8c05bc54ff06f522e2e581c97cc2bc73ed0d2bd799b4ac030cae63bb08400290135c5e02ef68105b8ff161dd41c34ac5637caf9463d08a461258e013960c61a9638a2ac27bd39497f89ce7145a4dc8f29456018e60a4724f9532a07a3eac69b5e93257dc080138cd52f905af8aa2303005d64dcb2c0fc90a2e50b11b82d3f0b34fca0e0fb5220a6cb1fd645d6672ef5cf7fbc9e700943f89121200c4c05b9fb9a6c2eba39a0eb7c395f96e785f58cba03783bf2147d7dada83a865c8c68c8cf524178cc862ef756518ec304fb88d30e2e9bf850b2af4cb6a6a15308feaa6364d0cf9896fdf19d8bb443c818684f8a412041498c8bed33aa4c1ef11146aac0c1f95d01e91c438abb68ab98cd52a890530866cf4f048d18a9b75f6c694127681a40cbdfdf385605997f2f06a75d5466b6162930e2b07fd1643059e47bc8a350d9c7c19e81fef58723e84d625f9590bd43d46b351b96beed0e5e1c622141f316f4557bded5d44b9cfe0cc255236417b44461e4210006953e4846fb5012b3479dd604c65a03f3342588adfa51f9f5f6c8dacebbde5042c6771fd4180ec8b83c1f88858f19e19449e93412250d837428c9ce5e6cdb790e75260f64a46944bf8df7ee4af2cd935bcb7c6ee48872129c73148864a9eaf29bebdbc3fcbc5a1e2765929655ae619a1ca085dfbbd6222fd5c707b23aa7837bc3d8080d03a5262c26a726208026c567d4a5203ed2692dfa73d39dd1ac86bc874f22d744a0d2f24bf03e2fe356ab4be81258b031eabd3a3a08209cbad7d241f77406c9cf9a9e34325f9105e1dac5b6b0dd110fc0834071a66d4ab57a50e35403e07670f0d57e761364691304a3eef90e0edc4c528314a98a42e85be112fc827e7a950f2fa3afc984db1ddcc4aed0aca040a2dc17a7d39bd79a206f8e1214e703003359728a3de6c5c2a00b380e8260e9b8ef50c3ce2dc08968ded7e207e46ce92f3558f08244e7af1c0499f221305ebffa6eced55edb1854385923296e7be4de3d3d240112db86f8d76a664eb5945488c3942443cdff6b399b2809bc1a2860938d553e328058fba5dc0f6229473f72fd22af99b96d71466323a883f4c2854fa20fbb20d91b46fb8899a3ec9ddbb48d380c35006177cd44afdf673f4ee86b5c16b5cb95da14a9bddecc84d6ec464987efce230f926a39ae51a24001f1f277b645e13e1167946536229c721394e9d9b435ad686d91b33a687c002171216c813aa87d80cfc9b50e5318becbc669e8855548629bffd154f55db8a5b0909c502137b7931e61618055b5fc7a64c1ed7208378b1603826d1a5b766ddffb356fca854336cb802000495c0601825c28c298e2543dd374f40ec72045cc957605d92070e0506c6e02d05c3f1a0824ade0165b0466454f3f0fe05347bf9a0a4935f4390789855deaa8864de4e305504fc30afd4c47be40fa5fa3ea0dee292a184b702ad2b582729d9364bf248b2d506937588af32df0d04591457ca09f1333811943240d6d5daca0bf016b45d38e50d92844f20ae8ce477fd96b614dc8c409b4d2d9bf02c1304d1514b141fe8079d77b9c660768e4dcede30f3f735cfb38a2c0b845d56d89905df4508c618210a66e483629b1da39177ebb48a683bc8eb4867f9fe7201baf8e3975473fc033ef853baeb051d9029e161fc2c20217fe65084bff0417d1ad5560285f6e77fa8212d0468968c97e74cd9f5771b7d97a934297fe742320dbfe4108e9f6bd305b86e1b9d5fc35d34062ecdecea05aa32aefaffc7a395ae35f9890037078d5d5c00c1b480170725e04586c5ec7223b2ff93395cde3add31d89dc4319aaa39c60479cb00862e757bc2fd20b1c770e0903f5b0b16cb39871b530d4c32fed37cd55a3d4839876c967a58c028323f534bde0eea0a4a498ced7c5963ef750170a1f6e9944378cbfc281780602409438c5e80db9a9d7412fbde44a9969b0f27c07cdf087739525800bf198e34978c3ff79e56f8e2c1c5e58c627247f85cbb3bf96af8ce7a409d1a2fbbfd040588ea675a22dd1270b79ae08f44a74d1443b200d21b700a5031d68dab142f3fd489649e5b97d027583bf2ad1f3ba526dfff496ad6834ee97170bd2f64f88a9aa7f768101e89217d15f0759ca988b47073caf08ac56aacd4520c634600dcc92c9a1334205e999e9340c3fa0b2c062cbb27873fae7b58d185ffc9f2cb1e59874e337761b2b8543fe8e04bab2ad836e1381b08f94a59f5944da810b7db612e154522bdf0df589d550cf023f4a04c7acef2c91595cdc03b9109a34a20a476b196064b730c31e155da24c6156546971e547d1959de1956fdf577626b06caf650acb854211fc03b0b857677495c84362695eb2a7dc8d2c3b45f245ae2c2bc87f32046d368545a23e385d23cb9629ac5068523b6b025fa5ec8a77536065b41e08d462c504fee1146f75d46bf90418b6dfda5d2e8cfb8af6d55c9322c0a7b4f9c469cdc5911ae72de4689011e4acf3993e68709988013af14f1a4428c74cf0a40859e78b1d6dd44df1a1eef0f263c10bda02e17edbf41d5add89a9af52b99f1403d5e34393f5330c6193da797e7c7d17aa6551af1b4418c35452e87ca72c76109692e91c46a3ecaa930ad8e9da1f77ce0d5868bbeb69b657a876d4d2b197e3ee174e35832695fb1b16e1f6a41a1d6bffcec4966ad1cc3d8f186ef4acae39500a2f731c7d26be8a90461a0f02140e7e058dd4f49d8b33a04cf3fd433f4a0785a2170ac808d24f4ac1815990f15b70a0871100ca247e89c1e9817594a6cd8f45f3163faa094d87569598a5dfe5200145bccb0025999489ac16e69cb5a21549f02567e5df3597d513630d004b7412873f0a1d21f05a90db6fe7925a3896dfa2330ddd5563606cc64c986dc876d295d285928c424d196991132090a2b812e5b507789dffa52d2b885984097318d6eebd6931af5b0ba22de20b087b859b75b238484ef1a0902c0ba486b4a01f9e7a864510f5a0c4cd9a9f1c5d321388fb68562a4324e0da0a764b792e421e110fba63d1b0aca39f9d1456a11f352c7575fec181bb6e4698c1585161a09564c9b281e7a73329a322985222f7906ab01f52216e8add99a9a908a4b648ff67cb612857fd8aae822ccdef922420b939643787d54295d0cb45c5b63e9ce86ee1f57403fd9f0090b26a00cd873ef6a46fecbd3d6940ed096a9e958c81fe54921679fff5e711372aa3b697dcbff148553b5a64dd0851a6bb02f391cec2c440bcebabc5c4fe49558b3d5a4cec7d10c2a202a15b4ab65cb0ad7735cb2b7ed699f4a2082f2335c58ab5442e0a712b219055a90f04f13aa96c7091c67c5d194e828961f8e22fbb62da154b954ff55aefe58f0703efbd6ba3194318e7c7a06bc01f1d37b70b406a46442a993e902d36c1713fa1a95a18c299538115cc8e05ee7ecb825f2161826c89ffa6c69558cf6ea76060d80902b94f99d9a7971cee6b06099f227b530d00f575a46d345c04e2dcc08424d6f6bae5b2396e9a728a5c589c8dbcf43c1942460485dbd19e651ceadd8f99d81a72ae13b4fc21ccac25b8bcb2ec961380a6e3e2b0c8a90d481b56d35c5395544a07fc6392bb143094908d9e0d721e15749049c96ece4c062b50d93dd0cba6dff3fe289dbfb908cad590e9cd0a2fd22e26377053d64a427725ef07966d26adf699dd173479cdfa056deb69c301d6da0209eaeb14a3584ee9b5262aa18304528f405174908c31c91a13b527fc5d0789e0f11d190f1acd0c5e1951a73104736a83bbf00975f756a77df4b7c90348f4a293ed2211f3091d1ec47da599cdf96a4825c81cfab6fe89f3eb4891707be7ada14c9deaffcca8e54b326a639e9806ede47fce30f251becdf9e0447c4fbf81fc18544dd034b519a4794ec7fdf90d8691a47f053dcfecff984ef2da1078c92fb07dd1bcc59e6dada4896c33faee4b066ef0215aae9d5645710906da4fd93e386f27b08dc184263f67cb90a0bc2174d57cdc2540b92d964aabe568643af0cb8de7b9d71406c8f2cbf2d68e6d4e60b99488369a1ba8c1ec221aa14812d10ed282b9cc60e7e009a5712423f264e30918c5684625831dc5ccc0f1913370253cff1d6965ee4bbd25644b495bdd453b249708070d7740a7ad44b45cccda0d925a860536924212341e2eff6da53a34dfec20d951b5c768ef854436b65a3f8b6b5876eee4cc3bf735b7c11b95b9522734e6d190eb1153e18a841e05071898138dc6c1c126166592f76bbd4227b2533686111ac61abe25a09886aaae393d72077d88215ac0e040d16c048acfc8169ec19fb9bfa70a80a26b2068801a5c0921da572251d12c9e10f9a7a5850a630459708f097c7313054a3694c9f8401219d520d40631c8b8a7aa5126fd77c17bfb7db20deee1c076c250b169398fdda859d9e8cf3b9503924cb1adf5438149e82fa14145d9b0493cc345753a912f33bd1818ba01156e1a9de87a01369c701b89518eb1fd2c2f783cfe379d351c260f3e1e6f342f16afb873ee6217c152f9ca1701eee7ab9b31375cc779182e20a879bf1e31ecae7cd23cac006480ea000c66ebc27fa6b113d36e2b9a37ef6635ffd546f3406559784422556a3a84d16990972c1aa70042091cd641fae5563ca86211903f1b199964ab8411c9b4f19e2f540adec30bddb579ced9aa9f8c0d16758619d6a544b496af2c610c67288c611a48cf28f4ac72797cc6dfaa9ff1f8832a4bcf587b67c1e315cbfd714b31927e266b518d1e864154463dbcea3373fa41701ace3804ab9df435f9993cc43ba73a39e8c4f9b7c6f77a72ee115805b28b338cb24187006df389e4767723d094de412a23840404e878b73bdd98776291f662fbca5fc0bf54d8b2fe032c0e51920fe3cff5c16bbc848aedbf4f49a145e05934640b25758b402a724e2b1701fc6bc0f56806d5ba08a810f285574dabf3c1f121e559b6cc4a8c598ba05c324da8d96c62209071265f5a93e3d9e6de3dcf7fe8c055b7718684c415b158ffae04fee3a1e22ddc22863ae3df583a0f2c2b3e069d32cd5a00770b0b6973ba626e61dd3418088178dd968493036184a8cdcf599afad52827090f793160f71ba9e0537dbec801d395d4344a1593e3825c1cec65cfad05d45515411e1725a334da3c481b5dd4350059b2d5586b469bd985d3991ef75d6d47c023376c8d57e4511f64f4708f88e73376ea6f80ed30dba2b3115d8d2bcb034031920509eb26e5fe3c17a2e0ee326591bda7744c61e9bfb0d5a130ac53180597d002c6a1d74e89411e06830bd89a8f71a3cb358908043f7062b60893963017ae1b12313f0ce63ae37412052b3964a249f10dfae69f1a87090115c4e74710390bb08fa7b07e7e80dd8b39bb678d093e56ef141b65b9a7751cb3c62126fdb72c0da3d48defeb390c8484a060b313630bb06ac2351b829871eb1917c02453ca26c1b49cc6c1888a48047e910b9ba71881edbec91152e1666a3d0e7fa520a76534925fea3cdb48298eebd8473b3c413aeca2b8877595a269a19355460a55bdcb3a7d029e69014e1c9850e0f761191f08edfae8dd20194facc76a28a61307cdaa0e2fb42c63184293f8b82216475f694f743271b83fcbe5c78f3fb8b11d0cadbad3e99e7820c50540170d14187d65772a45bb060d024fd25e06333a75b3248b929336e1b0a4f812d1ebe01fb1bdbd5cf0ca731a2fd55b2b48191ca5311956441cacf0703b5584b488f032f6569d82c8c873765f3b15aa7a19e432501fccd1d49ca01b267f528bd2cc191077c9a0e3c0eddd95c865b9f71fe7fec78fc265c95d2c987963e1e98e74bd727ee6733365cd01d8a74bac95ca9a59d600b7c45b3d153339aeaca8524ef781f338fdca6aca09f75edda23b5a7514aca91684ca39bf69d69d96e4b23df7433ce21caf68ae65195dbe80cb9381a793b911f0e149e6c670f61e70df799c3b9971cfa50d3626718023357ef45ebb0bd5fe9775c01fdd2f261252eee778c16540d73c8d14050a7c14497b9248f03d606336e951b3b6f6dc5beebd93bfe9297f8375097c2a0909fefd855337f02921fe5002e480f5ad354183216e7e9ba0855939f8281657a3b4690a2511b9f7bcd9cd0773aecfdbc789f39b4042b5e83192ba803ea624c4f2d97130205d916ccf4fe27c97ba748501f424607f2e8a2cc21d46ecd5f14081aaddd46b690f143da32b748c50704a7b4e2ff00dce7407cf1e176d734dc2eef4f2707d9adaabd2b69f0f83c5dd5b91588598027a50e71234bc5011423e0cbc0504e9030f17b89c61af040f0afd6cb2b5189a61452005146a77ad8ff279ebcc02eeacf9a09b5bde2d934245020bae073365fb8d4f1c8c5dab979dfb6cdac04d0d14855101bc83468b3cda60050d4610b5b681e5945011fff301e9fb3a5b81e0c363333b2f5a8d694e30376c71252c2f04978c6ec64e5150ac8081d36fac22be3eeb808faff7f6e8870146652bdc15cf0a66f9c16fef446fb09b6ff9a0cd4aba52c58aeac47156400cb760ce41f4056782bc0c9cc63f181a0f00ae0e5ad60b210848b3c8db281478b059810f564fdddbfc83c9d7a86dd55dcc0367b5a8ac9c189a1531aea828081b48970f74dab01a8655dff341bfcd57b826c51ce9ea13eb82d60e838e084d163d8ec319f5a6d10ddadd0e82d96f3e7f175d2abb1936e7eb6c0880b9d9af722a266d8ca7c6420d6c3fcc360d969b3155d04bab1206187282ed7f815c26a5c0c51ba109e0f221a36a6852ab921af31bd77cc0b4230c67aee166401e1f5b60a1553a6d9bb58afe256722f6f183a655595bde431c24306584fe40b7fded27bd170147d9f46071acc45ec187f4dddc2ac07f097fec9920c12c9b485509881fcbebdf1fb57a36b191114dab9aeb30469a65be54d47a560aa82af335fdaa650b368a0e642c4148b110d6329753b40caaca2586a2e7ba4f786c97a4949303a5511e17034d89dfa8928b9ae1ed9ffca9e9aef948a82ae9b239f6a5759a7a22333229019cd0731533f44f3a54ea0a22a0211f1ca8dbf3d4ad9161c93948a019c92619d07054f3de71a51d7c00af79bb305226d95d21724d7da0803a1f39e077ae47cb1e07e59d3f291df18ebf818fd4f4d00b99eec5158748a36e0478be281e93713316fe254a24fdc1e03c539685c30e05647a5c903ab5bdc695cecdb8c21f12a5089544c1b9a141a4ce3a932d93290a842ba7d1bd2facaf723ce3eb383719ac90bbc171404a975e5f6827105c713f8da931e0c01135aebf7513c856dcb8cd84a6166d3ef2f87a5c9d6ac0be5abce132503e6976cc58f1693ff4f139004665185f72750fc34543602ce348aeb0505c87de829025c3c96e64100554cc3e4878affcd2521a926d1b8129a1826db59db4b70480711bf1de2351ce51dee3f074025b05a706da2bcfb7c9aeab75a37767492c799970ac88e24259865b539bac318242205cb9b8f66454a57c05edf3ccf14063159a9bb08def9f6c6acea632144679c450eaa351d26fca4d3e1c7d59f5193c77f2e4e9b4e95215006711ec7d3038cedc9f033295c5d2a44c5d06ecd07d0bfed6e65fd0b3d51710281ecb65cd6a7c5df2df9f8d0b90e8ffb08ce6b9a4c05ecc38ca77ce75f9bc6f0df93ae47c9d1dc12ec7b9fe8640b1aaa5659a68cad355bc0abbcff49c7120213600a31d9269e38766b1ee7112c0f0e2cc524fb0c0d9c913295532e4194b7471152784276302af93287c96ea235aaacb94ff3891635b762773cb90afe4f0a5228cebfdb6ac6da8c3d07220729d58027c3eb3914b059f8f0b90bb38b36fa8474c796ebf20b935deed7d605d61d285addf080e4c00b374fc9b0be59e7074889a2273b6013658b0ca2dbfe291eb769ee1f82e47104f16670adeb0b75e993b6f4f3015dcf5b076eea08adbc533809cdcf9843a89d5fe960a0f3fe89aa874642cb8b04343b15f3e3744e0de59e778176dc7c23dc4c46fb0c3d5f94bafec3b7000e43da2e602eccf4b8d4c507c08eb3c3acc479592c0c80ac942caedecb5eb2aced26beefc9782a8e6c6b65c0bd8161012f65da79603089ef17d33be52c32bbefc676bf2494e0159341a19513a1ccba0d5007d842af8f135751a70a91dd896c769769e9c8c362323ca586246ea6dbd10b35e4818c9ce92252541e07e5f28e289edc3ffc9a35abe58cc15669a0c5daa9a208427d70162879966c86913958e751ecfd147065aa6292640f786265ae9be7797caf29e06f96e749962bc4f3e5bff1a3033da728bb63fac861d7d451c86ea494ab5daff5bcdfb112eb4193d2cd43fe4082eab9ba21847afd19c8618bbd803b151771e540838dcc4e8f801bf0e8915b3991ed53ca2607bba464c8220aa44ea977d7f78de6a8dbb2a258fae262bc078d4e4888cef6dfa87bb3fb8af4e3ffbbbc96023d4e8de2df6bd47a4f3e389d1d44264ade2ac48105f17d8fa9b3c45eb4b4c7db20bf7d499a5ba6dfd301e64d35601104ca1f6e6f3c0031bae0d518656e19c34d00c9bc1258b0223ee97c0f917ade683b89728b62003bc93cb64045b87a1ce296b3a9d9c0a8f5c17653ee235ad4227173a0297f79584cf3106639d6f5fe665589cd3f9c30c2cb10edb8a4b1d3bb8cb58d88e0ec4148857ea6cbd3a1fa0cefdebe48b2c5a2d5f87027713c77730402edb53da424f3212840371be866fba859d4a31d0af9909ec8e0d29e07ee0dfc8222d72516291b17428e5a4eaf276ff60886b769d617e4f3c97afbb586a80c3eb2e55db6671c393f83175b5b7b87fd13b49911ca83dd8e535e7c845e941d63f05fa6bd7fd543ba0392eccb20d68d6859b0b648b5c8d22e2f818c4e35ccdb95baef6a94fd4881ace933018fc17039b9b0be7421e5a1c4e9a56153bf78313ac18ecb352a61555958589336ef9002ce3ac682fdcde8a885f8e0459f9b6e6a68c6ad46d4e36c552ae7cf17d7f95b52165b46a6306dfa3b94e9623359e507d58f886e2c3416e76a98f59b2d4a39f6ccc668b56cf7ad6237f37feb8aec71ada6b2fbfa2142fc4b7f23f087b78c3d7eb2eca8c17d3930e11502812267ac57869aa22c39a865731efca5a5da0559afec75e2095934f4fb4041e5998934dd356969fff2902bf88961eefbbaec448ed991912e136fcc4777d9e6924740325c22a424f0bdc0e2584cec5e77bcbdea40fe191e05a5ef3e9f3c806fb67febfe48caef4ea9bef95882913bd62d3563da9414451dccbb4a884a04887e2f309e8720152c62987a9db6613fc93c0d0fc9806fd3415fddee3e634850946ffcabdb26e2b64a946132ffabc3179fb4dd0a1182473e14cac3ae222f00557937403b0a9d1b960eb27ad32e36832e6cee80a901b0d2477f933c1ecfb236390dc48f0c6693024bc4710bd6818c9190bb1a261001818620ad4fdba87d0f9d45e9b4d4d39c28ad1af75e55690156f9da55556f248d78ae94707c16a9b3e534399b8d5cc9f466362e0a05e886f5a19d54f13bb9aa0de92b861e5c54f8f0e9e6426ed524a49ade6fd90aa308c58c51f60d0e86089beddd9473c408b1f0b52d63a97d44a64e5dc30bfdb9e2e0958b4804921b5c3c97bf6c1e3cc272c265241888b606f9bb6494ce5c7a42c2281692f551547edd4f31cdefc0d1e6a66a8a096e2eb5060fad220ef7e8338d80376febc2c5bee4c2f3f07bc6409a30135927cf1c979b205b673b14d66f7bf1a1db6fac4850c1db6df0e9be7fcbef801ca35b7e971f07c2e3ceda6d17810452ff34331856812265124fb74e949c39f77f98b4c445e70e9e68707c4a9d29a2c550620d37cef4dc6539e9b6303c547dcdb48826231cea7ba6334a7b403779c8ecf22c1df5e4f8c004d1d766b2efa2d20c294e378aae814a1e1b842fed8676633b1735c0c14b48e9a44e7106bb28e9650f437c75bcae4784e5e977ee7e6e368ce2ef7e254b2492477eb258078896dd08027146adb8063c5c59becb1382b36aa8d1d21e07158d66974cfa2d44d1f600de33d3effa53535c7163eb0e14396fb263f3d29b9017ee380f2450531bbb5697ea3dd1b47165b652be6cd662461e02d3c8b800612faf2f42c6376c50659b7d1a26c16c05454e032f17f6f3492dc7df59d51615238a1250c2531a5f6166a0a772f065e9e82af130e43ee8f00338ef1831afcded2b58c75912359e414a0d62360ec283cd480dd0b449288c994a81069be62b7439b383e523b06c390ace6a6d8c4a583a1aabce1b4eb1c3988bd10fe4b249f461c6263746b9903658ef6c09536ab253976d043170eb3262cd4330727b390ffbd7cef563ded607e515184d584c7131025ab8a264a70d2bd039cfd23021295133166f34c862060a579350f55af6d0318f5d3bc0d117bd84ed6c081393dfd06ee52ba257328c883523156bc0c3121377eab823bdefb8dcca2e73eef089423a54817b64738c4fd73fee761868ff92c21ed59b2dcb00f8e336a87c7a373e899b0f9942d04021110fe67cb7b4220994d56c31bd505ee9124c9ece1718f054d43beae9327c6aa60675a306bbb24f5e26c9e9fcc78b55c3caeeccf6526db16659980679b82a29ce0fefd52029452d709e9005abcd349a4b2d8c04220a36f584f3b26dcc1b4657126d16056a4599683561765e6fe95a3c0cd5ba16bcbeac41d72605b131ec24e7b851e3bd7d2de9b38b6aa2a295bee12696fc5bea05101b8360e9981b68dc2a2a212a26debe055577c295520e4d9feb1e10923704729ac199010dbea828f9c50332fc3291743f29a2a2781d4616d3c81c79827682ab881203b76a0b5cf4188bd86f8648a5e1f9cb27031d9787178bbd8cef1c26b50e30e03a928f8ef43d0abf8dfa2d7adc08d96ddc4af72890144c3ce55e869e168e64cfa2d76b50472c96ba194670bcd05a36186bb22d0987913e891413d3d389c3b044f396d383bc816051974ee86d8fd4eb48f144c652ace40cc2e41fe9f705a215c115c6ae2f6d7a9c226b46d8bb51be237cf50a1f6e5960c38469050d1dac82ba98993349d6a2d53383571a28925283b9a01a5cb289121d170c453198c1e4831d554c020846d3f7bdfc24b1e1f9f5daece1347b4f26fd08e519f1168c0fd2b86aa1b09386589c6f1890b920cbe649ed722ca66ee269a24748a262086142abd70c099a4b1088fa0a4c1f102a8ace37a3636acab86a0b9d27b09b76a5512c83caf05573f8b37ac166c2de9219fb325dd133529a766d7bf98241600c26b8ddd0e8b0fb2b730d5e44916e54eeb5d3bc37077c9d3daa9853b529417586e0bc15f3269ae88e83614e24f233d5a2f9920019853311077f37fac86607a17c44fc31bef1a14471f38007f314ff73cd3d98e925fcdb4ade795361b44769fac17de52568dfa4442b6bbbdd10e6957c7f3123b81ded9db4a9695154547a37778f8f080a09290c7b1a83957685a1f82a9f960cbd0859438b3ad8927fcd4aa0b04d22ad7e328a3f730080751298e2e69add4238e1467b5d235d396e69a046e50005e975bded5c7cb3a9b3e3f879b6a51958d0507b68751c5c62a0e26606faa77bd23f6e8a59e1d64d30cc5bf80861ac6f13438b475b5b11679e0507c3f905cd8988ff739e17e1987501321d731e09d0dd6ab09890c8f599e67d81f50c4094f2fa8f5728a5b04bedbd9d6217abeb22fd16e83390ee3e0297d0d76d076316084f365577d3f58a8f97e4389900afcf01b57093c5ce89244ee537f400a82e1810d72ae099a02160b7bd7eaad6f7618d6279a593bd45e8d3a2df6e297eedd89ed67927443d901fd776c8001f76a815c8a711bc48a26f61a9e497dcabf5523731944dfd84b46c74a7521f6b92bf6107a14c275a455d379d487707989638e29682e1958ad56d22573f8696eaacb66bdaaa9318302557a6b13f0299e22da0134b12334de04b227eb9164598d81d08bfc385081a16d163bd0a7461daca4591dc2a14907b45e7108d7978f56bbadf63a758cc40f3f63c7bf986fe365212d3a6c25180e961b1e21c58f3dc9ed8fa2fa9e6099822900ec203f3616f2f958cf93ac6a914a425d5b366488e4180f5a8df0953e4d070577707a85701955b111e110349a7d799b1490971d45cae8a30b6203046ee3be36e3410872bd6a0e2285f95f8c10fc4d651e75339e45da4401e033a6ee21000e406d2f8522d9e25f7a89532e28a6e45b5d14ab10793ed60e625d03e8c596117fcc4745d34f8bd881182ff2376206917d932a73e903770e11589ec068565bd51fca2579c12788cea9358780f82b248e3337487dd9566d4fdcd08ea8b5b2f1b9e425752a1fb50c38743172f789834a2aec184d844cd1eec88d8c3e806ec4704dbe02445b8427e85b9d42a078266618c74c09c6d14d2a895af3a682fa400dc7af909d29409158c95d51f93f99212636316ac4ea98613a02700eea9fb5de3eadb3f93586851c87f86e39fa7762cf84d8a75319cf1fed32c7b1bc9cefd9ce0aa0ee373ec7358b0f009b14811097c7bb357b23c2ee0928704db63d741df11d8d27d258e1a1e00ad75d54e29439397c88ad693aba604dc660e7927f2ed7a08bb13e2e9cd55af658be5cc07f2a744be04bac8211543be982f65b45aa31bd74f3bfa2ddc935e63acda231edb77038cd5191f91936c1a2153e4e50aaee93e9f3ac78ea61e3af4afe571521b0fa1a58adf1610302a5b665826fa59da1a70b29dec2963ab10a3884c58d2e8c651bef9682e82459381d55ef9911248dacbc11aca23281f6265ad1c6b6a502613d65af37aadaf0ec3b470b7783c6a7afcdcf08e83fe5029b2fbde9dd48eed161b36177647356e74d764374497c6a91153841fbdd6ea856d27a356d8ea7796eb371ac5422b255aa595708d9f2c0cd43b3a5a02e04de86c408d66212004f7cf26d257aa3e80bb9dff4cfdf8510a3cdeb92156d3da948214e8735bdc6a29f409a90d5e4fce563dc93758c174a998f749f7029444527cc389a6e5ae0621802585b2a5f4fe9999b571ae61ba70c8a8580b4f48c01d396e14276faffa438a948905c63d6ee1dead8575b2826bfa1b3de158019587571b4175d66ef8f7845c740a1b174e6de3a2fcb2d777ed94d53cc6a12390b58d80f79573803a28ced097f8ba77963ad20f14714aecbfc82fa71951a8184947d0a75ecac21f75d86369621e305f4d356fdc20120fa9ce8bccd8e2c04709987dd1c52d31bf32ff93e987df9ed589960e2c9d93b16326725c35956b82d8d648c1b721517858b623487fa31bed174216385a071b1d3e9a941fba27976109a9c40bb255a7a9e12d3664c9baca51e4177ac47e130b95211a0ad8d8df64574db66dae0bd120a9c694fcc1ccea9dcb780996e872e0a87d67388238cb313f31667b96f824d79af5c6233adc8eb9a08d1017e6a6039585149099cd5eccab8c42fde614d21c4b1815200eee5edd0f81e586c4763ed9175484ec12fa0116e5c2a4fae9502bb6cec4cf2c9b4a091c6b4177f2dec4f4294b378658c68561481fea577ffcd350230fed6dfe09c696a1e8680aa2348b2d96f72e04aa85b88b8a9a89f108aeba216c98849c7f21057105c6c5a6d90a9d60f9631ff7e31bffb5d46056123a7089f84b042b5b49e8570c3d8be3a710b8d6229d40f74ce53c1c421cc134e479d3469726442391ab95eb9e80c1c5972ef125eae6864354e5ea3ce7493c3020fd8010ded9f0efb523e5f54aeb6b930493b0399069969363ebd6dfcfaa4f8b2ecb59e842b50ea87b74afab20c7c5c69dd0f0c5ec9188cadbe213b5d98362eb71df35c0fa0d0be40ed36f43dfc768a015acca070bab5cb08882f43b4be8a924df76e5a9e0608e98831d850dabbd5ef724578779579b1c89a3ebc539eff64d5a11b82e50b757bbb9f82c039403ac67f835a7d68a4d8813c6300500882f4378c1d0760d3b5d713db86830e8f28821d97cb13bf28f44905627d30494088f6318ba9b7c3eb3f7d052edc0061123f015867e97e44a03059778621ac2124fe5a13fbe7ffbfe69aa55fb272e69e52b951554d0ef4a1bb535dc57aceb2b370bbab964d1ada624c6dad0dc620883fcd851ddd1c96a3516ef411bf8e916e1b4059ce989ad29f7135094470cd35c47c041e5c4fc6da971baca1a0343cbf98fdfc9f19d80a0b9b19cf17b739adec6be2518c8b0a0ae9097871ff2d00355deb3430200cf4940c806e5ce5824108bc8045ee7fd27a9f9ba480357850953819d2a2830ee8d22ae329bef9b7331d829c66e51757cc3fa2e61ca595899d54aaf66ffb2d725f53b162e3153c4d3d6a557644ebc8e9c5fab1789577edbe99365b857162b0d7ea0f4bb0efa1695153281b991d9345d278fceef4ec3b6e10e624f5d31a447796ca0f5008b9120aa69f5c170bd08883dbff080b20a628048c349a42479b7600f949111fc64f48183300425eb2d06c416b2995256207caa5a1411bd6cdd101a28a5485f4d8e1c98a6b948295b44d4cd53215687a1a3fa5201b972169fe29f894fc88ff278e267bb6c443ae66fc7e66e4fd87c85f65e602cded580b3f0889ca558e89e5022aa40ff48e994f5ef2237a5da562148908142c5e563ab4183b12e9358c03de617f20980021561b09eb41879d43e3b9dabce92d446588aaaea690326286b7b2b8da8bd6bebb6d8d3f6c39c8d531369f016b8ed5e192e26fa2e2131a152d24abc3320e65e169c555093d2edf32a32a42331d2dca395ddc714ce0a7d55c95eb9620e7106d833c232dd6c3587efb8cc057a852120061310a6f2322d1363ad35f18f861970721f817bf941b3334dd59546604565d1436903958fa98a0f08a3b2a0efeae3f596ee2c6e6767479680fa031ded14dcc61e52661163b3b7065a9d555b52c080a777bfa87efc9014d2bf16a470c1b6ce0bed6f91375bcc884c885acce990d015b66d5d100a984ab21a883d0de17d679d2c224c86f3c1e4b5e58439e3a06d67ff50290a9dd270126bf0c4c2276a8dd4f2782065b0fea5be3435dd5f016f4dc9a01b66f960dce7ec7dd9048e0e14bac5f9653bef7343711cdd89a366d6c2c00b864a3832b15dcb735c748c841351434b27170f892fa5fc9e994be1b831427ae863b3b02dff89f1ccb9c0ed04a2018f819fdf43d08cd8a75b9517ea4066c835752d858fbbfb76be71e456525c7fb5fbc6d4ed832cef8add0956741e87612f0596f90ce44001ab8436bb2c7d7458cf358e3e866bcc79ac6c6ab38603459fd19df057112d913622fe351524521035bd81b1a5a173f1ab4b1baf8f9662e5084d9cb95b2723f7ee3bbc71abcccf6bc65bc5c8051cb8497b96b832239561a468285de78bff51ec2300e40eb17ed8f25a542aa621ff0bec8a3b60789d08702ff93c27a2408ec0b3d25d04bfed439d257f43ac8bca63590f0cc3a92ee02816846f334ab0094354e46973d98bc248baba138c656dd877f33a84bd6d49c4eae7f538b354d45eb93a667358f5c26c530ad9f1ca502be070b78080003b3611bcb086731a8b0fafe6f6fc66a86295ae5151e1f1debca80ec60fbe2704268b332b8a707954613d93db36505abe0b75471ccb324d60f60c85966a6d5cad729ca3925eb0fbe0fcadd37e87682e042e8b9c24e51986acae5dd3a802b422bd678c1fdb090dc7b62e5e6813af70bb19eb95d9e8edef82d37a8ccd652e287959def8699095051672fe56a1a02c3572ada205954b01060a15831fcb71de5e6e0ffc1d2ba760318e51929abc0539407ec120c229bb0b11d9618b361a06b937ed70aa1e29e0caa525647727275892f6eff8cacda473c24574d13ab1a4e6e96f0634341c4c8be054586a159f448805b548dc4e241543b68ec11bcb0ef896210127d824ebb5e6167f19c66357d18bc40297b6a2abfe0c234311650549f40ed92280faf9abcb90399782ee4fcb61838343e48657c080e7e64447faed9428c15edafc36d49b604b4d0dd4c533699c3112945690d1738e8aad3b8b69ebdf3278447d18ddf0a2b41b36f358f0b82b0343541560cdd02eeea8024fddc5357e58c0a83e4865f963c6e89ad931b83cd4d917660247d9ac73bb80e96e3d2e6ac94ca7c08eeeb6cbbe9ada4f0572219b053848b432f106f962e01968a162ee3163f6036ed6be3d2f5ee2403d7e0559a3c2a01f160822fdf6b8be0188d6f294cf6d4688ef18125d6e591784628fdd40129a363887f22f396a195c987ff1c5d7d199c34bb59abce0d6ae2aba5d589a7060984522b7d3d855478906b1b71168ffd7831745dabf014c54dc1b81a1c26e78c5d70af1863e1f17adfdfd8afbd9705aaab507f9941e4f75825c0b0f38a72fd83097f35344f4e9616098d18a7833ecdb5cbc525a608fde7820db46b5d29373046bb957d5595859b7baaea0e9de02629d642a0ee82537331b2b24e0326ca2fe32e9148e70cb18d9a4baa5111a14479fa4024b7311db6480a12aa81e8d007019670918cf235a3a0f256ca4ca8268234ace86110a2e1230b894a0ad5574751574bc4151b8b7fd82f21a329ee244da0acb582167c7e5deee1b30387b0304ebee043247561c4de80c1174d9aa3a6fa93724c8d94fe54041142e8856f0a5df4dc51fa5cdb74f7258d5ccba1d2fdbfca0f02d74f7f47b6d5a29b31bcc18c724198150fe261a58125123380185cdd1f0e499a696a652f523f396dd54d48161beb74e68be9bee0aad4a1b6ba5f5de05345c3a806711b6c889ca541b9d6f8d101656255e816df4b4767b91a440e50fad5a2c6aa31baaf2e4f5f7a747c8116a28290d2eb0d1b4f5acf205f1ae0ad34690ce10ec149d77ad2601731fca1b13fcd25b06843577b73ba6057c9058515684266fb6747937915c8efe4fe18106a5e2dc7f5d43e1dfd873609064548dddc5cb1ea4f43db3abc6ce5a7ee1da7980806867af89bcd10e3a94888a5c3c9ff66e58c3bfa256216f304dae65bd2ecb0afca82f8bbc866581e64154029ceb20742204a5d810be25e7f719968dc4d2c52b233f5e3b8b717c8570c36a5668e5cba6c0e604e43fd6f016e24dcaa8cb2dd51ee8f544b88be0214e1a206e491867fc8e63423d45dac54d3ca7184671d33e3ef99190052e2fc262ec720c64ac4940182485a50b76c13222a58bbadb6fd48ffaa45c57e90238045bd4c326d0d485409f0ed6739dc1287f9805d1180177051f4a92a275202743ac862300c7cf05fdc4576f95763a82e51b07f4711a4bcdc9490ad400d856d8ee0fedc4e42fab457fe72a35c37ab58f1709ec8b1ca508f38678f3213749eb24876ceaac3e5882eb8ec150e30121c2bfbbdc943cebd8482c3185e30387fbca5506c28b7045c8bf161e2a1a17432b19bc0d49b67c2d9beefd4d8ea314e46eedba20c0d70a66e6fc8c798c9b68c3289d4e5b7e35dfd1f520cb031927dfad328e7350131a1bc999b0eba3db3136d53bd9c4a1a539a9a96d82e0e3c73e5e17885403eda6350e6303f2d2b102a326c1ff23dd59254eb3599dc61fac935cb96ef409eb568ca6b07af749051258c9eab4610369556ff73eea05b17b7e84ea5d706bbd3da259babf648e998b00f4ea6c77d5431018adb54ab4bf423dd4130e4c732981b06ffd59f42d9a556d702d9c9c5466591ae5722253e7891edef5c6cc9048cc97f996422d5d2cff0fee0011d31277a6c47b5c6e46d250fc53e7553de43cc9a076764c37384dc252d32ac6a77e4aa465d808047dd6cc5ca06fdefc7403ad586ba2a6b6ac3423f59a99eca94dd9f5e4688d1ba29d6d2fbdaf0938592e3f63f67aee9ca0caf1187c6d8d39a40a0cf2f5fd85c447cb7c95902f2d6d4f1402befc3684050efc9f72767ded33c49d64a674b120214f7183c34930a784a6aa9abea65b8579ed8d22ca426e11cf06df3b0e420c665e067ddc7e6f5cf4382044895f427727285be04115986dad92731f4c5378a78889df07f13590efbf1e7a0d7eb9e6cb0fce33c8b8b7a0da12282a2eaa149cf2caf810a113484be2e688235f86d8f7c2bdb9134f7becd5df2d64720dc30d280fc2ae000310226abe6fb50ab531d0ab7199a7e22ebf34fcbeaad7eaeff4f62c9160d9e8e636f287f9a05451e28cf96246494d538e9dfa6be89f6db5272ce2fc371d1903016618b90fc5da4ff1f095882b7a1e9ef9b5dd513f12800c8ec9e8a4c257b83eb47b4a63795faa41f9352a4354f2ad9b8be6cad724df0f616f0c324d880e9c353d275f57b7a2196922df79b41502efd535287724771c7cc4510e16c8990bb7baed2b90ca2b636e26276599bf6aee8f6901203d9b8f0e91c176aa6e39beb288976b575d39e3e135ebead8c285adbfea13bd1d4cde6cad78c26e7f8283f22fedc020f334a968ad1e0246c6eb2adbda9aac7df2c4b531e42b784e69a417e0ea43b344243e1001e4650990ec542d42e5027417ba57af5e0d936fa93b2b3e220aaf4bfabb50070f6bc957e3fc203f3914971115fa55d635044a3073553bb38ce2b0886d681e07a35a6999306a1ec1b56afd622e51aa32c1d2bc34e4d12031647217f6e5e96c24850a54bbcf206f1aaa6efe4779ca0dce89b7a30b9645cad0aa29b6a4f569aae5fa2d4071df95bd3fa95e56010dc90f50b0e1cb9eedf3d29c40399f04cc586e546fb24b084c437edffc9e16102d9964d0d53eb0f98397998d9ff394178e666b1fa9746804f16265b86c7f0776e8dd9dae467f8d279aaaba3bdc9d0280d93d3139846d75759921e2a8151f545cfb8e80c223c7f527af5a44cfd31afd8c904062358fa284eb79c16b8dd4c288f6d8b5971cbd68ef3cd1cf3cfd066070093e3dbe105d4f7b6729ab51da9557671fdf2ba0f47628c1789a0161008b2f9785dd64f03cfda6c6a4225b2bc46d52ae1c05a8b13d7a42aa2562174fe9529828954ef1072dc89e941bf14dc2b2978e26f6ff64bb69a25e148ef9c45064eb37e483774c64167c68948eeb501440e354f92a9f5771a1c3f5b94e341c477159a8424467eb03c39aa276de77621aeb9ab9a97becad75a1156900e83316c8539a2b3015f3b6c9ec00091085409e0848d2873fcfc4e834c7070ab4ecf1a626da216c7b3dbe8be69171f34145653012f9ae486ae049a509a601c07096c4dc666406630f0c7c31f12f426235cbe0f98be561083433bfcfded4b5bb59ea2cd90ed4e4be0e0b5902676a4c167d652184b58e2c82440afbda8855961c338142ac0887df35332439dbbb8e0f02e34ad1c615392fa9949e1da6141925e6727d506056891c55ed60d2c78ee321ed3884c650e8a3a05a97fcd11d296c2455b44068afaf77a775412682188d113e841cb64081293748c637c6a10878e0ba00ca2910f249526c835f18a251c67a0c270dacb8546b0861fffb59da5ac011f802b833aa2597167da983cb2b032f402346582beae000c5ec2393e442a9218dc80a40d64de01e58d92dba3ee8ad46bfe7a9716ff7cae3e6af9109420ffceda45a575c2f452022e982b0f036aa6d40c8442c7a896ff7ba1f531ab0de25075b05e598ff9973562ab25304aada0502c936e0e9cbc9bd798590fc310826c03f0dacaacaf4e0501233c1a13aa9e413fa7c878f18dbc5b90b6490a1c0758e5ac5e272bcef2188e5c6494ffc0f4307220f0ecd0d0b555cc4ea9991cd8ba46ce9f512b8a6af631ed57fc5c2780cc02cac5bbc62d65bee0e25b0ce1001a1954830fa28a3f9b2b6608c70b32c436072ad8054fa80d8a0035e7f4898a7f4c058cab4becfdc28247abbe1040524bddc8a8c774d0a8890ea8996d51a8cb6a412ab4c92282d3544187f2aa428a4626e26161c252c9258cb7a3aa952a817c0e00a94f7a20308d1a0387d9e3b438bed4d1f648270617ff5eb1f3dc1829a1ba31396726fa13a881ddd236c9352d67de5bada1585b1eef0132861c4a0fbcd977c6e4f5cd9e38e78e445177276787652e4a0d75fed6a193267debb7cd0488882e0bd16d4b761e87db6a500ac06eda18820d8447d068ee70e9e3f0372e63642b6e096d8250602b2812f98f939117b063221f3826ae69ed932c5b5028ba81c3627942915ec2c246ea992653bd35718c6a4e45fc99a01b0cc6cd0507295371d2975e518458939f5e64be9bfc232e20c65052fca6b166f8e4530f339df78c9128125eeddc0df52d7ae475498b7bcbd53ff1dd4110637f2aca51f404c196f288e5d4efab868aebec6eb9ac8436b0af20723ff4767d37ebeff6363201b856b8883bfec5745f6ed954005471d4734c11292b1518c83249ff7ad5d892ea65cd24dd0a91c758fb3e4cbb22601762845d9cc28cccd54ad4b9f371a7c46048610a2bee76d34389974496b6d9a716a573d5615fa360adfafa612394ac9a816c74905cb83e1a16c44c4c81f359a29724136477fd3d20bc6c6d83980f82c63efba1017dcd3bc543813abc2d4312de6ca0627fcdecf5990e2ff018ff5ea6f629fda398627497a286b6ac035441fc13e6e74d7cd50f5df228a23661ec1a31e6e7ba769aa070de125595eb539817d05dc895e337e63af81b336b38968ae07ea76771e00b5f507e3512741a5d73a3529a2b63da5eef0e7b5505ee3b645e694cd46f13959aabd52378aa7745df84d20c8df6cfcb539b8eb42a6b34a31877ad31ac1e9ddbe0a6a11e89e8161d9e5e9b560e98ecfb1817ca7f488ce8f5501f43374a3bf2626d200ae591044419e2142c357b24cfd30f12d3cee2853bc4ea9ef5ec9b223c0f81c4209245b8310b47ead578c2fb2c5d23c7d55cd1487641ef8582e14f93390b7739715a2b03b7db9724124e8b350c48c287da31d61c155215425cefa33d1c3cc8c422efc07c41bd10055b5881e24870ff5a1bd59bd36a37e5e8f01a0ac3e71b72ee310cfe9348676e5729a5f46c0f2a558c543e4f06859af8bf1994f93244fffe8c4ab7d4c21065dd3b25a47cf11e60b89a00ef49a5ec3f8f12159572db58760ed628e4a35f1f6871bf81b16d46bf4668e4c10fecfe848c82bcf6b05396c25f53035957c8dbcd28f3ee9d911d2a25eae2905f6633ef5ea8f281fd10712507cb4e2663c6136fd00cde60da600d71190a1e2b23edcdbdaa3ffccb269cef7b7e94c69086d8261e40243ac24b959f16b4e22033a05f5bdbb8104b4fb2979d663f77e64834a222eee24f10fd0170f15030942d59ff53a09de2ca0bf15d363f4156e5da959c4a8316e5aae2cfaa810b3c7e0ff180c882fcf5aa03927bf0da00b9eb447f3ac402a73c408c7eb859635b1ee505502dfbcb5b570f28278974cc697b762660299215ac56139571c87faadd21eb49ae8312ac8f2f14b0ad0df99accd9ea60342d584d532394fb2af3ee5ff85d6b618e2b9fa28dfa6ad0467564ba2c061327b0dd2bc027903eac793fe55f05fcd4fcb78f4401aebd02549b841ef972b3fb6ae69fb2fd8b5814a48f838267a6617b75c2975cfdab75ae209afffa98f4f5f1f6f766c45310f0976a084a921615c8c694eea46256396fa526c22efa7aa0c71bba684a610f19c2080f6b2ccf37ec90a4038a0414faeaef9847ae5df02afc6214d43c71647f29c2e6ea63624bf94354fef3fe2bb8b5cfbc345870cef4e41890c48987be667c4a8069d70b782a4c3d29fae040cc0e7bac64ea43b942ad871d18b4341660232610d71e4d159161289eb4cc07bf773bfe334c4bfffe97c589858c484a013b4628d7f8d8b8f5fffe4ac3a505ef91ace327b92bd44184298d1bca3dc0365bee67018df40d10beedba9d649cd7e6b9dfa9dc368e4dad0b15333cf79b320f4e1f2879bb178b13a4f1b831b24b1d990fd45e3af464c004c432cc3481f334bd45f828871f55faa81952bb311ca2c64c2f7e30ea872e23c629eab0f241e46f67ffa8f0101412552e986b6fb61662e29650aedb20acdb86e46378a63c9973ae50b70752547b1ffce05780f5b731c02a7407db0530fc6cf79ec687677bccf8a98798b9baea62909f9ec5a2b3edc224ffa79cf3a7d340242b203ce019a9ec72ef7861f92560d79d5aed8eaf9dbe617556f0d5ae63a89f4194838a4bccb315bea2621e32860de08003019830d6c0523016fe53b9fa700a1face96bb30fff854fc708aa9288abf3fc86a20e28d568fbf89d18a6778ab59e875ec5cd55d6c4cabd859597c3fce1f736133908e88abbb090e2315f0a292d5dcbbc51082d142f78bc75e17757101b113967b3a20a113f63fa46f4bbd22b08006b039578ab6b9df0569a1102c7eeff808425aceec6ff7dc98a422dcaf00fb516ac82ebf9707b601330f3df6cd8361e318982206f71a9e1d9997f73dbf0a123689481034a3376715b30161aa70309794f7dd64e1252dd03d16cbf9d28e4b6e0a901b51b88f088759f03a56cbae9a00433a0dcbb74705c2ffa3aeef3b460fe5c4c5d1c1dbbfad6ed2cd39afa884451756babf712c5fe1ba3c328d6daeeb6e59652ca945233072f07e2066177bb67f4f2c188227dcc01ee0bbb070662f5baed840c36a599608e261483feb17d7d992c487fb78b3cf632d23f84bc645116eb971051f7ea5e228e8538596344b7ab9de80b67e73536c052cc39b9d0e4423246b0558d7d50b5f0820b71436afd9ed299ca01202c3f3f20f8cfd50aabb00aabb05a9de8c05c58f97119c355a5adb022a5d7ad05eff8e94147a995fef88fffc40f7d9fcc4c8f2e0bc952f6f6dc32ea42db67a465449f9b85ba25ba610d63e6df42a211d78968c785b4ad4a23329a6f4d504a99f2338d266300db304dbb5c17ee3bf1c97f0502d420a08cca6432d9104deb217bae4896b26533f3cfcfcfcfcf4f11067f5cc517455b6ebf2422a2e8d72cd68a55c45d52b848b39cb0fd4d08d822fcc362b1582c166b4ed18f4b29993bd52cc5462e924aa552a9940c0f442f51abc51ca348241289461fa6ae8b5640449cadce69d21aff48e0010e5881862233887c445f08a425554ba3161136ec92a8d56ab55aadd1089499e991b29981062537abae037ea5088fcc23dd04aeca6c0d5da622dbe176879ca8b504522ad1a8b48182b084dac21754dd6432192df9ed6f888d14b00c4c1b83932c65cb66e6542a954aa5666640f01f28868144c9aa75b6ed99a82413379862475559f85aad2d95fe8166c208baa271ef4fb812d7db478769d8a3b79c2089285669adb3c3cc89989154e7f1168f8c1d6c7fa7840502b29ce8e7171e29dd398b5d11b980c29d9e132b7aeefdad83da673272c3f8474a0d343359201aa6f9dd8b9ea322930ca36f799bd1b77c362ddf3e2d5ea9be60e45518d892126c3f8ba2b79ca7bfd0573e64f47c6d5a3e9c108e149cee458fe489a8fb4c1dea445ff771dcdf8e31cd741edee1531c8af3c49c27e63c31e789394fcc79621e739e9803a94979de729e7e5718dedc247efb9b9f1781c45ff935ee53620ef6c85a319e184f8c878787674eea3660507fae54998cc56235aba6861357ba2ed4d970c2d6e8eaad2faa507a4005d3d02f3909f226f58acbda8a7e29db3af6354cf699b8e7db594de431d7205c28240ad2b11aa669994c1614abfdd3b2209b83535ac6aa2cae49b0b1a68f13c0a08d10c5e0ab7ba3d42c98ec61535a06ece1a06c660521b8fd0149a564a82ad1db5495e8b3d18080124444d011412c5995c96433240919e613fac215c290c9b68d77f448017109b274cecf9666b5aa2883e4ce13b95ab190161251d6c66cac6d8d1b5a4b2975c2fa0b12d537acecca473fd85586e2b2c40d40ab2128db4384dc555cc9af579d0303a35a073ec5562e372ec756bdbab4b99f19cc72c082266ee3e8800d3926e4858e570810b292abd56ab55acd29c3c504c2327f7e6c4769b19ec0a278e14da8e886ab0419d81618a66bc2ceaf5263846dcfc6a59e642396d0cd5a295d829d5fd82e17e4972e8c0bea6b4fa4be0ef83f407e524a584f3210c441414141edd332253f3f3f3f3f3f94caccf00e9bc362f1c4aa44813d79f5b492a02c96b5d3d22f12515b2d12457de937860d4b3f9c62b1582c164bd3667a7456ccb9b3e3e212030411d79f7bc29386a07de0fe817d54cd881ec20231e42bf84a110918a1817e12eceba46b9e29b9199824b2b0526606941f8217852c59b264d9993b3b3b3b3b3b94d61e9180c5e2895589027bf2ea6949d91b5022950405852e143029a594520993286ae1c50336a8254412254141a2a01994f8f80485a124680bb5102c7dccff51d33c42345bffa84ca3fdebaeda454a22aa5933b09c3503c740ba39166bd600825967e735c589ab496b0996a6a343d39a0c8e2a3353f2114d26d3ae4c49672767122548741888bea6a33364fb41ad952bb78cbd5142ea57db38f4c93f04b163818a6c3c596b75b0fe28908b501888da430bbc43aee88cc17ef01aababd56ab55a6d5bd7c34e87e11ebf9fb404d62ae80b1b7210f39cafe82b168bc562b1a4ecaaf631081ba65274d3c1562f6c749995c6030331a7108b702c61c49d1825ae6293ebcf12d46844699f8e7570ce093a1010d38c1c8bfb584514fdfa0d893f30f40e7981c2c68f0e04040404e4400ee44011a8cac0b55ae9b89668d2cae14962e7c96ac55ab158ac9625d89063be5aad56abd56ab57289c46066c97267870b55dee135c6186f586774b2133f6ebdb3f5e6d1ed8a0d7b47482c16e3d84d00d3f83780511f4f31b08f29a47f1ce0430e421655ba06ccc33f0c2b335f08da608a08ec8ea3b81057ab0eeccece9ca32d6274958de9611ee6bb8179d3c7a43f6c20ee391a81248d3186628cb176309ea9fb1bcf4465f24ca1c7f14c545cdf38c57d486babf49999116936307fe3bbb9f1301ff26c4ca6e76edcb8f1277c0e64d2fec69f80c2e37814b43f41c3f1386e84ba19344a1a89f49b28c8cbcbcb8c195da8f3ebf221afc66b9e0d1a9edfbe251b355c6668df1e35cd97e1f185f15845b29ec963158c57ade42b38c19139c618639cc59f184694d108f3f1f1f1f1f1f1f1f1f1f1f1f1f1e9aef4f15f9a93b2abc2f691a640b396340f4c50029594d287f6a52f45c13c17c084e3c358e5fa4b9f888ab55a5b2ac1fc83a04967866b1c6872013a6ec8b3397947cdd6016f79cb7db88f154f4216732bfce55334198b558e5934fa2a2abd98a7f4830501879ee57a14e27ae84db8a4f7f72598c67e4e0e9d452585fb1daa0ae67374522a98dfa1aa6c7c0909168c2b4a54d81cb450f1084c53dfa7602998a6058946499d783a82693617820cafa21d07d76770fdb93d06d73fc6224ad688b994c292b552a76fb75a6211d5b1582c168bc57a369b952adfbead6fc55028165135b0182c068bc99ecd646ccec9d56612d6d0cfcbd5ae9b7517f26a5c6f31cd154cd39d0f4fc678074aca98b764cc5b9eb75a63c8988442c648af908cc9582b7673c039add351445083ce8b4278135ebef436b2f0c9ff5572c5d60f20886dc05b9ebf3c5fc2f3178f7985d061c00208dd05cc03c0a24f1e51ce049ffc91500263e65dcca828e540a7067e85e80bbd35fa424e18e1da7bcc8714fe21759a87b79c08a6e954d03f8a609a90f471d8f5f716b98c4594b7a44eff902deb32765b3a2d6fb5c85627ba009ffa15d0a77e2674f370fb07b7bfb82b74ce6d9d68a3b45aa3910c36f08e76711db399fb70569418c68e9451d23893c96432994c26735904bb0a1bf6470a340b2785bfc9f1e9c044a5c2c7bc0aef0fe6787f096764393ee663be9b98cfb1a47f6025e747260b7be654f44d5ff41c4f91fc92360b7d0adecd121494008b2a85d99518cf6413f33a5ec777a3c2c73c13551529c0553a3e8767b2c9f1a73f7d37a7cff14c549c0a9ecfe209289e54f04c36e0abf0e0e73353f72a3cf827cf6403803f3d003e073a7da6eec12feeb0ba4f0657e9781d5f54e18b3adc5ccd562d98f79f4de66adec03427bcffc4a17f7cef3f7398a6736dae2de6da62f4e5ea89bd7a5eaf9e97ab27f6ea79bd7a507818efbff3bcf88af58fd9a3bd5c27787e3fef5178f568af9e13806c3857b35544e1d85e73f5fa106cd98c15d830be4cef1f5f4c43e3fda3124ce3f2fe3106fde3e5fde3124cd3e1f8565a8f0f98ef05b3d27a3451901bcfeee3c617def81b1fd879ed22e70b633279351ec6b3f19d57fab99aaee6b1ad5c3d2e2e5edf97928d1a5ed7204f578b1d4d170d4e369bd1d59a98c363550a9e0db124f4a8623c56cdf06cb061c6d72b5c32bbdba4b3149323bec80bb78fbd9013368c44d8eacc8b2faefccc64adb4d2adce6e24c24aee044554cb80c21802ff88ab99175f5c619aeda5cef591b39418331a59ff48cd64b3545ccd52b3596a36a3d473992f3829a59c1929d5cb3b5452fc409fe3dfcd9d67a539655c2d67e68db7e6691e8ec706140bc5f60d427fdbb66d6b1e8d61d15bee8a3097744b3b5627faea3d1290951fa6421f56cd0614db3c4cb3d1e000e6e14ff300dee19fc441fa586e88bb3320a1491cd5560001d2a3878c4cd830d81684a4850d9b07c6c3d330d846378f06cd67fbba2bd6e72b6994ad4c6e1ef54ba5197c36180c0683c142210753406a602d5cd4208a2d68533ae9ecb606b04ca58a24aef63de79cf399c6bba7a74d51902148378de42609bd0c1784442d3021793748483fb2303972b047d8e7d6d07dd86fbdf76264668eb0cfed0ffd14c5a0f51776df4b2677c6d09f83403c53bf90c0d6a480b0f5c3d4e6777e357108d24f4a49331d179aa6b1c6ad56162422241165dd356bad8c53c66923aa8938c2be5008b27de85d8821011f584037f9a9c2091934e91fcd43031334915169edf83861edb4769a0059a149689b6299775021b196acd56ab57847aacb7151580f75b98090946a9339773084691a0a7ea23a614396d9600392235889af48d890819a87f5cd0051202096d4b84e26f286584f8624a24a2559b70f4b5b6599fcb03a9d437012c57d49dc91b88060345c52b680062860040f986de1f50d68d06a1e5454e033c614412e56ff3ce161b958482803d1f916e093bf1290b8a8cbe572b95c9a2633d3c3256387d3344d0357abd5ea0946855a348622f451ad4f4590d264feb8691e0d843b5939968ff62a62c1023a96fee13f8ea58a97ac67557c640eca9470edf5d2beb077b4be61b5d25eafd7ebf5aa75a6c7101933e83172e4c58739e78432e79c333a7db27dd5b4ba6d5bddbe66752fe0b8d0774f6179bda8d0fb0b69e31da12fd427ff3e8532604000b384058a9689cad4a1b7e13e64ea0f3dabb88f55f3eb6f888a896ac4134ffe9dd7ae78b29525eba4546666c756c1fd87ffd5042d0a22657c814dcdd96ac9523633b36c4e71aa8e66e865071b9f530ca6fc53abcac4941ae0600b4a95c8d8913058d4d0d03cbc86060aa3221a9367370898070691f860042b784a100bfae996048c147190fa6896a8a66d4d70ccdd2da4e7b7a5028c5e359a518d3e44e1a2fad530be815f56913cfbb355232f678757e5ec6055cc2b842d8400c20ee20ec0bf65d05018e456b537848c1f793a552563e42aeb996c5adebe6d79262aaec593e121892793fd8c985a8667b291f1a497f1913e53bffd56a31fe988c13f64f370f7b1c27b104305f73452f48f2a8c43f68adbb64de11d31681e4abcfa475fc13cfc9b09e6e161bf6ed82f97eb04eff05ea18474f7cc3146c560bab0af27ace81fa127bdfd5c13bfbb13c1a07555429f5d9f7263b5125751e7b5aa77d5cdaaac98533fec20a0e8aa9da571c35d82acc35eb8b0d4878e7b0e12d6928260437f45d8e8bb91120e311ab53c0cf3330df1174c369627d657a42d2c77909278721d70a4b4a0d201474afcc221484ffa484ffa96e0746bb504a7759ef48a27d2277d00fdf65b3ee426d8afc5c6536495cad5b989099452fa354e29f54b5f0bda5148312c75d114a59c24c2fdf6e13c4e7dee2382b3a9629d9a16dabc124ccce6f407c6938ac22ed34fc241fa72903ea54f9fd297694cdfa46953e877ac811a0bfdeea1efba94524a35e9a2df4950de41351a7390be463fe422c060ee5504fc3670b0db9be4939e896af34cb27bf95df7a4ef86f4dd8723fad0dfc878ee0b3dce48868743e3bb277938dc939eab3cb0f3c7cee7b8dd4743ccc0e95ec6d3f0a4d8704f7a211135e333c5fa36334cf171683cf75e3f19ba9ff136ddcff8f83852683c4ef7331e478af6d9d0f8eae33cfd120d6cf7c9784ec69ba28cb74f22c9d1933cd153afe4d524f34a29f2479f29fef6dd8b3e930cdb776f8a9fcdf69dc926d463484ef7713c8131723ccd5c1724d8fe108ca7d4e54ff1fbd780334b3a269acf2838c9492df4a95af934775260a5833fd66eb58a86d0b8b048e61b098b5cf9735649bfaea6bbbb3b4e4969125110243b58910ddf2448acd830b5d33b4e6a520700a2eab93f3c5a0d5886486e0d49243fe7e5c07dd7cdbdbc618efbf6e21756f935b1397f6ece293fcacc979e6419e6ba3dc71e05644299bbfd17d9e5b5b94764a4c7577baefd1a90f66a3c203b3604ef6c98128ce5c67d4807e7c304c14ecf99fc73fbe70b99f505a03bdfc651ac9a3fc89939aa099361c1b511ac3fe71ea34b192ffb271de418477c04fdfe89b3195090735bd7e77e062746861b6209cb5452e87c1d5e0e3a1e44400a9787e8a87150c7cfa943c7b7273f1dade36b5c070d5262074731b0a19724b05bf394970f8ff04efcf6ae7ccf02ccc2cb4f0ad4f0f2edbafd7d7b7777777f73cacbcbd787f1b89883dee360b45e0b936f26e1a0cb1da671e23ee237a738e83e662c855701858fc1f12798fec6b3cf67265d09e460950b735d8cd01ee38cb7bff0268c12d81bce2b24265897f06f8ef7ffb0e4e5f8661050ab385e19cd44346247fe141e85c7f1262bb7fb2eaca491e3a537e339c737ad38c8b1e528c7c39826c7cb9f2a7c297c6129e60bad3de10beb8d2f74bf329e9d3eb38c1cdf9c4eb8b061af72742eec27267b6411a5c3868d0fed75b161e35d3eef6bbcd441614e71d067cc417f14be0973f025081d9ee73fa52ffd099fff941ec757fa1b5fcfcef4b1835ff8f21ccc6da913ca1bfa9330e686fec486a63161e1845d9f3b5d8bb7136751277adcc75f75f05ed7c28b22d4b0573e88b2b3ea31a54e44158119617579f6b87e990a0d8e10cab1fe4c572978cc1792e32a40f8d4cfbc71e51a3ab0dc1405a15feb27a9fc99ef280a425f6032238ce398d0be8b5888ecf5e5989bdd6ba0641a709c74efda442904b63fc61ce487d229a51fa9479f9e1635777e2ff41c6e7c3ab5e8215110ce32bdd071b8f13776cf63bcc70d3ef9471eb1771c6db1183d4a20540331611b86ce97bfba2d92bebad1038aa7f9d900b21d658c3eb370517a94576cc93952666f4e4a7fca18ac9cf2e68a10204b3d70f4fa83edf6e9816982ed0173c38ec60d2a3d280287ebf3e49638d6da41a7ea7ac00326f020ca955fed34a2084d8be1c1eacaa748e4109a3ce60b0f3670c283021d20b468e28899e84e66a6a12b50c17365e518952eba0842870a30b0d8514926ee44c28a3bbf071044b0e10c57c172e50aacdd781801bd1f00aa5058f38240538225af07806895283610b398cd2a3e1ef02c5cb20a174d1a0b2b585cf113dfb0da2a45e0e1c78afb63c59674106bbca0db2969964efab10ed60b8dc7deb84c8509319068a287528d17f4209345b19a33521b22b07282d1f54e56f3c49fda9bb64dc80d92a0a3e5d830ccca0c08cb9d5bd59aa94cd1c39ddcc59d7f80fe2af73749d3a0d6de1b0e9690c82146fbbf0f5e19076708ded9c3c7863347cc3ee458cac1f9aedae4c7f5c393c36fc4eb55bf5061435fbd4943da29b890578b604b5f92a1a0e81ae11df35d82705d82407ffe110f8983f38d38384160ffce7ac4999115ebdfa694aa66072f0889cd6f8883f367fcc06a2fb8f20244250a2b3722711ff6c628b0dcb07772ba1f295837ec2733a7c8918f58a96211364cdd186350fce2b74e642a5234e1c6193030d78cf29203db1f4650043ec618ff327f8dcbb817990dc1a0af959fe7866d0a2be4250596dfc61863d74dc199fa63dc9347b8e0868fa5cec8c18c0e6058fe7ee1659052e9f3bfb149c0cc91a391fe8a042b6f58c500aa4ce3945229c365ff863fe3ec0f817efaf2fb43b632843e37e94f5110ad027cf22464f93a63d671fb0b4901df3fbd7af943210ef6bfe0608b017beda7f69cc66d837412a9d4b4e875c7c12ab3388c9a009ffa33d01d61948d2f6cdf38bf8b52ab68c4752351c7cd9047bf1e012ffd38a73744ab577a2fd0e060b7c03f040776c74016fc0209c27e87dca509d7bf69956be7aac6f144dd938152eee7e3684f9fc8fcd087c3fd7caf53fbd24c6d7be9e3681ffa88d0a79f8d27ce7269a44f24f494fef638f34344b6e73e1ccadffd1f4f6e8302f8dbc2df3e29fdac9a1e52cda7cfbca3469f3df0987774f7837696aabbb3f44143d314e11dfc2d44b0fd517acc3d70409d6aa0c7dd66dcc78ccf4f4311a6093d7f8a81b00f4dd4b58cece6a5c0a7ed992b57590c7579ab61541d00ff8869f15c46385278c095db779e4b0d574a18620cf172fd5a7a0f3f310f7f200150217e20180c4ed98369646c97d113cc7ccc11b425c80d1041febc4c058bd80d7f6636b1c30e0d5a002301141340914e5831b5f8c013557e983c7c9452ea019eb329ada2c3c3e7438d7d8cbd4c058bd70d7fa676318636695c51848862eb6a69c23b5110e91d65cf7062fdc3b61ce89c1b8db854eeba3946222aaadc75d908db3c6f72417e7f7f35480739a2464abc757a27b268d4f7dff8475c82be8c1989a8a8e216893e193b41ecd5c15e71b644ff90539a87ffb7042ca2262c269bb2e963c50d6595ebb21e199bd23f24142ca9481bb88a8b1c7d3444cbb78848ab5abe9b25aad1375d3ab63f014c2e064a3749e9c616e4b50067a194eaa086384dc62f6ddf56b7b7db919999bb1d99a19a16fafef033853e0498b83711991f5f01333e93cb29607e1c4fa18fd6edaba7694ce892e8110a5ab51bda278fc4681fc65ced48cccbf69db37ed8da67aa1f02d8c148e99c4c68c70e70346880fc2d41d8feb0e34a2905af941f9f8b5e497e26edc3fe4cda579ffea4926f8c4de6d462ba4f2da69c1e4c163652396ffc8eccc420628c51442fc27a949f0df21e01afe3506296242bf60acb3f4bd65e5f81edee3e1273e3c721e064d4220a11ab34c9ef2ba516379cb9d22b39289f86fc4a7c6d49f2d4281a08358a3a1da5c5f8c9bb4701255d6139c7c176f26a3f36c60ba0f32a53fc36c5ef635a363584652a573c41234ec171756a34c7419e9a46a594af85a472ca2bd993003b652ffceba592b5b5ba17f21397a3cb6ed76a7abeac5ec1ad6e75abeffc5c151cbdfc5c4b0dcb9611e953bcc35ad9a0026c51a1b051f8e00790cba81a280c4e1d203c25160aaaf03a87c1f90d250bd93730385f0726c81b9664f1ae26be06cb72a337c718e9a87e45580b26425c6f089fe60f4f8b57c3a77992323ecdef3ce653acb9f1d9ce0cf9a9be19418bf594736a3e567499ca152cb8a1bd59ae68b9e00a20de871d2c0f3a3dfc47e58a1c74fe6f286345951b3e7dd252ab56eb7b35f1c45f37aad5faf1dbe677fd6aad95f694f13d1a81e388728f551c51f3c199cb351c8bddee7543df9bf7d503356fc6bd54adb9a1e9553e75a7eea357e253f7cc1df785456e28f471ab98c425d5dd071b4f2ce932338d88d61ac1c89123873ef7e2d5b4ea165872bdbee6c977ede573ded9172e6cbf0bfe264abf1b0ec6d85f04d7a5e81264bf267a426a1cec7f79d9d47749f368c491856519dec13fddb7982f605819a6e9db37f1bb91df7dfcbd837dd3f2f19d67f4f2278f37e3578aa7f92d333e4ef7f235173ef4dde0883ebef6c538d8f6471fd6d107c616d28f9e08e947f6715a9e887d192fe3c319bdb5fff65b629ff4a5402b2485436ce53376551464488ed469957cf9e12889a7cf483c75afa3134f26ede5b32a7e26ed33c9105f3e91f8f2938fd3f2f1bb9162d3bd7c221267f452ca6f25bf2538f145dfcd6715e803e8ef5ece4ecef93970901f7590dfbd0ef1452619e4776f135ff4352e628dbef6798181759d9ed5397f24ea6e2ef79abc21110c0ec3e6d5a06d1ff26e5418fcb5cf1572314f6ec92a7908aeb8621a16bcbac07d772d127d28afa8069662d392aa2fe33ddc07db96af63f144f29c25aab5816217b9faaf9e39d8e2c3e7ad788aa7f99293db77ddf7d4c0b5c07d5e657e3ec541bfdea45d9460474f7acf71968c3e5bcd6651628bfb224f7c12e313c9aad824eeb88e833972f4dd48b919bd897b56b5bcdbcfc47d43cc7856d9f7975e5c451d0767784286c493498e466f9f08e95b3e1c1c29382d2d2d2ddff22d9161337ad27723a5e5c301adeae5897518090b1b5ffbd05ff66b2c3e00af32c2d288d482e47acf4bcafce81d99f19cebac22b5202159e52c1e92c7aa0eeafcd4cd343778471dc3be5ae0ebb2041bfa0b0696ad308d0d2df075417e847d0e56f39e1a70f858ef11798ec3c7f6ed9c7edfa5216a41020ef62da2044bfad187fefae998a49a8b58e81e064ed4753777c60b83f6b26b08a0eaa8448eb704b97468060000000802a3140000200c0a8683e170483820932ccbdc0114000a6e8842805a36998883418ea3500a21638c4106004000080090ccd010050081200fc092d380c36d03ebeac74d7130c3ea1dd35228a0edf0d2655374a2261dc4e1a5e7a3c7871486024faef5743f7bab80eb55c71e97090f88a875b40f7a53b832864849c8445a696eadfd7cfb8d95f1d2569e74b5859e377b411d353d47b77c1d38a2a4391c7bcf39c9f7e5d8c4d5511082c9337d3ca2d92bd6f15ccc8c853871bccbda0e309ff19594323c96888d67325f164b42cedac79facaeee7161cbcffce001356fc050799a49ccf0e96afee29e748f54d49189d3818717bc007cbb208cb295b69ab204a8ed9f2d1ad898758d5c494897ff024874d3cdfa11083a9fe65e7e66258a7a9abfce426ac4117e4c12294bb8aa44a87d8eb27fbecb4b9a4c42bd268efd201aa8c09430e8f9a627ab4b1c56ba3c7ae4558ee2f52434567f8d5faa775282ffa830a12adce6c61afa736b3c4196a4ead5da28b2aa951ef6b540f928313461496bc65963efcf001a3321820e170b30a17a3ea75e88402e881f06cec8b408554a5cef3d502404910948f913306f5de92ca2a4227e4480df0bea0caa442003086f7d08bb7a217db59ed475f6fec3fb409773a8bdc9c42cd48a66450761662f3abf61e03815743d452653fdd6ef9462e024b9807623470e84ec526291a003ffafbac1c94e86e10a5ef3bff700f948d808cb98a898f032e7b079913ef6eb982f8df5b92349b0bc1d3768575c422e21f409e83ebf98b9b38fbd22807442030859717fbd9ccdc0922a8926c1736f2e8a1d22a32e87f4945a060ddbf612c5d80350479612473e989f0a1424d54a401982ccc6b084d11b52c93a888511c5c4b9b0c81d5d6525247d7d57be17454eb6ac9bae99fe4b7f55c0e217262b57a727bde9d4d91e251fcf28c8878ff8aa00f4d4a44f8a3ba0f3600bc785a484c3d8b92a49dee6e8e83f3c5e975de36e355513dd35e8f1e37c4f7dc3d8049e44dbdd00d5e52e33e38cb226d565fa842e8d3e003393cd3ff7f54a44d816d95f28451846333cb01c288857f1428732c52d1500d327009c48329b4efdb3561e8392122e77e93def803c2428111061a03a6dc5a80eb18c5a46a5aba2699a42d074b9235ff46bd33d07860bac225afc7d0fe96c383e98d5c80b85814aab21a3029ad46baa3818ea0c48693346ad648563ce76cc435f327b5698a42b8ffe7951cbca32f14218c8a7763349635ca81b13a343c4fa8fccec733543fdab3379781385d2a0312bcf6bf0da308363c271db6c4cce3342b419de49a37f9d41d4bf6a83c4faf5d9862820597af8faade86b54f7eb8c27b90ce7668fbd8aefa4e2385fbd5479311b7b3ab41a04983a5623240825a34ee5352506fc3ecd53a7aa77b2edfe854b4954aea7f2160e15a695cba3f6ecc570b6df1231f106b9514803b9820fe0f4ecebb854c2868528354351b7edc1b83d18ad84ad3deb2f19ca72b43b2e00fb80416d9f6e428d70f70706629f4fd65d7f90803041b1f54d9aa6dff84cbdfad4634427bab3fe53a8f1cf8237b8cdcf348f6c186fec014673838cb0e8acfb22c72605aa501ba43ab9c1a23768d121c54ed06e204bf3d5d3fa19836f3972b33e165d84b0780e7a6d97216cc26df1afa4609be7a469979008989e4ccc5035d8a6ef12fd17a96a573ccde07111afebffea53ccd34168cd32f81f71809653d9c6471cb8a20877663004a281e603037542406b0e0c17aa30a798efd5a69fc5b8edc8eb3cc145b4726390790aa6904a30d73a6c677ad350f31c87a2a5cd009ccd30739978a130d3e738c2eda04172ccd7827c780b5e21169bde5c92a011d0220ee99e34c087008de37590d1de6cf655a16d57e0a23c619a6252d5093d558eb7f4651a8f3d695948352208a7def7ff30103982867c872df15966b8ee9c0202b4b078d5c024145db22836fffb88538130c959c79212cbe7ab260fb3d844ce8877c10508c22b3707a127b23edf72dadbbc78b46a41677f8b58261fc2254025aaa0410c9f5c51fad5a2b690d2d85459831e7b6eb2a94f36ba6c66fc0e8c13ecd293f631a7327c02e9798c08311d3a8edb58fcf95ddb418b3895c18eea87cd36a8fa9eb8b10c133106fb8ed2c5579bce99d6c005189b35bfc17b1e8b6dd429f171983c62f8ac22cc2d93db85d436b588489cead601653b9a9754fc773fdde688f0cd0ddcedf9c07d881ee9acd96b2949664eebf11c3f2ee48efe33a93bab5954feb1d4e40a37f304d02d8fc4d8d2049c726287fc4fe1c5e896af3547276f7cd273ebbe9723b5aa89c2b3472a9eed7fc729854c84d61d5b421659a445ada1b21569780b09c65fb4cada22d3b43e25903dd0e986d5c6f9fd51430e8475107163f5a32f33f5e01ca5f80bcac248e6c3ca632e87663d4a8693c6ab4e915be21bfbab8feeaf8cffd92b65ce06787ad4d9872108e4351f1e1d3b64fafda912e613f5dc8c279884c65c182b337025ae2673a0112bd95a29e305d38928fed089cc90b28b41e78bd6fab3f4736862e010198ae64975f2f338d4a7cba7a0428730675ca31d9b3d5c80c6d6eb5648bb65eba51e13e498884a0eca7e590b44946acbcc60a6a1177900a1c1625aa1d9417a764eb6923f4218e11fab8d0374b3db3a1613e18b763ad181ede212bc394a10762fe64866eac717c277de68e28b0d9126284295e0e7ee158868d208ab5ddcf1858571c216d9c89d33475d3515d445f27ad5ab686a94d1b728be046fad7c19a68dea3a372cb52ac8adaa01924736c5b232c4b9865e0c89de771b67fe270c5984c4ae59a2417259051196006f932ede95d19df8fc1c3bbc4a548f57b8994961360a8238995094de323fe37b3a15348d943205cf8e2dd8e04ae1bc7c6b8b451c6753c7ea8e534ca9d8cc12aacac033d1281c622984489db292d360404ed121411819e8b2d1da0603745b774c688b143165e763081b93dfc87b1dd08299efae3efd7c785d719b6b4868c5506cb40cb26a4e35893528a352b8bc104a10be150015bd8c52fdf0a8bb06122d8e0cc5da7efcaeb2f60a3cae2460fce34435c2e035c5c2a7518dbc29c447ef0d12079c2d3f4c706d623b9c8e1e45f22f215041ef94f421089792040530c6d923c56ac7aeafbcdf08ce6023bce39f2dce264c258190f1b2a57fd878a6d72ed0c7a882169a8185172493fb9fc0b207b68f9e2e9a277f42fc53212abc3edcfee351de0f5c9329b53140aa70123a50aeb0e18209021e5270aa5a111ae09cbb308f70beb4b6c6e6b768a8333e6786b4c035ccf7180b445c963f66c036a3e27de86e98cd4023e46ae32c8dcc5e9aa3dd2548741f025879055c8c16232afa18ee03fbad4391c66a9e20943d9dd4cc561be4bc70acda51c9fefcf932e854ff1a1c48691a4489943e0c161114e92c5b8ce5ee07b516cfb29fe7018b2d9e01d582cbce089d076056515e372f047910b910972800f1805f12d14c501c3e28240dfe82bdc3b8d6339b059f68a17ea3673725b4bdacffb3a742d7c70371ec1089912e3f7edcd8e9ec08dccc7419d91f37f8034362541574420bff4c5e2c8c9304835d1821bbba780df0f66390428c4f1cbb3586ccd61857e2843b2f253b9346803d482e71aa276d75fa164ad16963d2ccd03622e3aa6e0fb543b67574dd5886af5a8d749ebb27837096ca8155c056c82f7404eb763ed9605e4ef0460723d0476cd7b68429a7e0a803e1d256ae4b3a1223089d87b03971142c62f444aae0a4dc72e3af767a818d0538c90ff6825cd99ed308164b7e440ed25a7e5e63660296f9845dbab692275f0b960b9604cbb14e486435df80e572224c22f137ca94f41ba7d024ad47c439d938ef1d6d5178bbd54c71e797f50e68f7f9e4385eec35dfee5b591d992443281aaa871f983807c3c2f0bc0078ceabb1f0d90339b0f5b0dac23ac32817bf6f1de2a262f14d89ccb78b8cb05d0023abf113d3f9890a15dd1167b2ebb1bba7f83a923d22c72b4550dc3520d65b47fb977ffb1709350788cd7289e12e6cfeb407752e67fc3f5f7d4f8c056dfa07994f1acdb547d28697a7e32f0d4e736c7679f1f14a2f9b7d983ec54b23bc783a55d6f365214555726b20ac3d6f8c825b91fd5e5a4d46f5914b81e56cbc1dd6643ace267b154c8a54116db27badf18de6e8a127d309bf606300b4721cd0fe3effb45c1b521b5c08387767485cd4077a86d8d4941bd5197e425d9c659db946563b4263b3b1eed4e78d1b30530a082f54c9b0cd8f74202aa29420d7f4ccaea5e333852d58a899b399c66abea0ba7add09345c9eeadcf80803edab4684ac86f1c696f2bca72f701c9b27607237bf75e43aa9fa5247d58289ee0707c00a96e6b311d18ba4ad5499e79ca0caecc24ef4dbc1571811b36fea54aa93c854f9ccce0e1a1e217b1893af3e28b5322b722fac2b1757834cfb79a0e8fcd785024f5cb7e415588505aee87aae2a36dcabb4d72257793cbc903cdad11391331fa8c8f3aabd1d3413046a19021aebb3e3c85c2b1b5356325889704888565fccebe8c817b47fe1ef9d4ad5e8ee9a19cd8e32e0b95073a50045c68d8fe0c6ebb3c801715b3554386bf4f2f43c06bd0b867e80d7b56aa2107e732309cf155278cabbfe9634311eca457cbad14235eeca946230042f2e00a8e6a6eec2b4dafe2b0823e7ac6967ca1c0389e22e8ba804e89a6b0f3616a6c178dace5456246e77bc8db315b4c437cebc79515fd8e4fe0f4d0a200e5be54bd9b74cbe358f240b67fae0cb95165c261799e7ad675b53fa9ba5ced48e7de9117ddfd20abca1c1d9e2514c9a71aa642f16cbbab4ff65b38061e98040631a9a0a1bacd0a966b43b70d30d51aba536ce15f0be6f41537233beeb111d398f39b0f0776a54150d410edf6e63b5d410e9e1d2bdb7e798d2242f216ab2e1117e473e05a4c77664d1ae4fb8a229ba39545d4713b8930a466abf5bac21faea277a14b3d3982cec295d96104c4bbda0e5f6a45b5abbd7ac6e3ae13b833a4e0fb2c31a42879595db5e8c2749cf73623a0182e4b2d63e45620bfd79a6b6a6f5a2ef2d5d1a5e055c51679418e3c6be14a922e7cba9af5589ebe75f0a9e6aa1a524a500e7861ede2afc8a96394061012a77f9da374f6a685e85467599b10a4db17976dcd15a9bbdefe29d7268750e1b70404491f27084ab7193412309b86318c194e100629077fe41bd8eb510e1a9c5b75c19a8f059cef03508e7b45acc45aa75aabdea1910db045d551816732887cc6235805f310416bb12612dd6505d449136e061b6f38544d160354963814db6a8f731193c93e9cd1006a2d65363c664dfd51e478ad9e53ea9d5f9baccf96d8578401fa40fd50f1ff0b86715b5f84dfc0709d6e883c67e2ca2d7b1258a994abb72d7d1b73abaa90d6a003fa0d7410d105bbc723ad7686d6f7c8db55b7ff08031bdb78117427b4127c9a4ca50fa7bb84f15aa335bc8decf2a09b6282370781870f07530b2d96d06ab1f53c80c07c0d6211d66c6db900c8dea8399cd983985124b5150956bd79edf4b40483327c09cd8737d422156af3908bae1a33cdc513b1606be5a29f399b291b618e5e7525181514cc6c08a4bb68176acbf65812297cc49b6b56be668b69f9020b940f008fe0255274baa17595f5d0be3fcdcb2d9864767a51acd827522b0fb4f3d868bd8d8e143a75349dba5559a7bf468151c101befcda6103de70231fa55bcf082ef1f7c931c8db71a318cdf11e0a67ad0c9fcf11043f0f93c3dbacb88467f285983310613c88c400183211692cf120537f2a19f353b8ce8902faa614900ed41d506c1125dbcff6760c9d8db8e7d894f3cd1df0f45c8f59c6b6dd6d156c18a707d9db244af05425eeb55d39e605fc04e06e554f02b13151436ce1b3280faf087f30e4339f3563fd45442391e2d714a074476904408de395268705acab701b12bed9ef48e17f78117a955a3b6b6f9ed5059d4e46af40b5a61c5d549a46864944360a0ac26f447cd71fcd8a831926b1cf2e325a1be0172ae9cad224a289e82c7024956e33e06e454de0375b178a3b1280501f97e9c8731059f6c1cf0a43e5621dbf1a0ebcef59dffcad46dcc83f37de5638be5b79c42b3ada9bd7ffe6533508347e4915567bc69b8e64b118fcc92c80937b62c086e5af2d0f2d6193a1d94b350c74bebfe3358e333d9660958561ade5b0d9d03696c3bcd2e271f226b46654c5d4952962650b4191b0bb4eaa2a4964638dcf52482c8ddedb75107313d1222d4d9ae334942aa6f37bdc5289baf7696d93f18b1dd520dcc7f181b1629028f04567e93674292df5779d8158bd3ff8984a8e887221ef791d6dc1a823c8c4c07a8ff142a8240146e877314375f9f358ea7a4bf6d4c1b3a0ddf37246721c77d19882fd29c0cc2bd4d1fccdf4ce853f1b1ede87441f65b35c097d349721d42c452000b934fd4a3a44f931ef2e56a0e10b3502bfa8e6201ee13254bf4b537f1fcafc2e2759f46a9702d573902cca8d467ad9b42c6231c15377c66406665194f2c60512e91bc43539cae89e33b17f6656269bb6b2f0f0e692c85cc344b2cee52ce5b63aa3849bea65ee9a08680a970c06d5c73c9c957426b9a5e7ff10281f9200f8f2074dbd0f0cfb4f7751a9fb6614ede222329c3f623f70f63f5853bd7a1f9f50058bd1534664b3529cf27a1930462ba64a8698908099161988cb9972b25e62ebe3464c0aa4544754c464ebba1705b2efea93bd2e3303e57ed04fe2b9482697bf8d8e708e00aa56071ef39798d85a55efcbf1129ea762e64a730013d67f26e04a563a7c4404885a99097076f5b42e1c951887b72e2a2d404e491b4a4e316835867272afb57d432f2093ed211e63eab47bb00f0dbbe5c0cb3e528e25919d694be0878ce91b021fcefddf64e9f4add146cc720e0859c077ba72513891519171169b66bd20110f11724be35af186bccfceb099fd81be2d0efa3210f1b8e25034f3e2b0a5b3ffd6dfbeae4a1c83ad96925457be194ca3a64fadd377f85a038dbb3e2f26d2230c3b80118b55406f295bdc4b1b7e220ece832db4f20df25d9585f2c0c6980761a67d3954c3462f29dba826563973be1338386bd61e3c9cce4b0fda29ecca7f4a4e8e131253d6c17a6535acc430cc6c49a33318d4a2b4ad04003cb8725c25d29275875b1292a003a81f03071bdc9c71e0fb80d65aee95774886a609e1b5bae80d5741a850abdd51a32b70bd7464f0282fa3a02980ae7721c3c78d81421e7e583b0fc45e4ab82b36a4c933b6b531f4294a2d6a5a2540a630a55f79749ecc52cfc356f066859df3e4102ff1d7d9e1ea67c05b74e99e7801f512768efe6e28fb26e7175cd80540737be0b5161df3c0df73b5f9ffb0249c9d76e09cb7974563f9f893264991167b1f893e24f3874f542c23285270d2ef27233fdc186f188a01cd9dbc3861bf90559d9d55547d34d7ab2a3097af4bc08290155cfb6802779658e5a88e5bcfe11508bccf916eef2fdbd6a271d8c394c9af90cecb1b108c009bc5da32116d83c2442ff54c82c565cfefc347d31c67215ae2ab89e602b58ebd1c82ace43e09f0c61bf434a3da3f48b46a607de4dbb4bb7c0dffab183e3e0eb898c0adc0e552d232213db9b8745894eb285c311aa3d614630bc168ba2c450841fc21aee2003296488605c81cb3a81e2d623458665f4ed07d42e08f7d0193d657b47dcac1f3f4e311346dbe71ec20b1bc13c69a8d38de8f1ef5fc0f587f966b7be2ad669f6a109b0334d46e71345a98936ff883f8cb2a30bec7b3af25a5b92666e7fa28be71ec9bb9be5815c2de21c48d9c73703c2546aad0f008696a09b253a7ffdf33a6e093328aceb965c01bdcee680032b44f67b80e307dc7407478dc8a5f19fc3b3242f071ec11b1ab6ced3a680b9c608530699b99fb84047e61ec004bf7b1e8680929d0f81968de5367101dba1393ae51ef9beee9cdc6f3e943bf779948515de408ff86cbf56b3008bd190399db7c67cc98029b1e08f08d3169a07ed39e1c0b88b2c6bbe80f30cae91501efd27cb7aba7f538a66852fff637167b3d457e0f51d270c1eb481bd9d0914e9421a3ed8093492787e0e7db3cf7d04ed9999d533e06cf7717dde0b7c73aa7b600432ddf8bb0babc81f61f62ae1f5e754d7cba911fb7e265d144120af388fa98114fa2518cc2ad00385660d1ef25706eb422566a4965bd03cae48fca3947783b3c5fa3a756251e9cd6af64c164907e38f0e87577b8acaec5e78e7d31e8ffc1e385fb06026500ce18822aba5f31f9edab5896f6a6f9ff8c8f08327067d3a4adbb1281ef2d2f538ce378e660693d9c89fc5db388dca554a633edc42a8382c72569739ad62f4761a8df4bcd9a538bf09e7df05c7902e4d8c86ba524566e3ad0120339e870fb31f7642b2c1be4d1ee48e5a15999b3ba268f928324569815c63cf9a36c1a53b20f0260a0442c11fa59248ced062371394a7d2e447328354b5a43441bd1f57e063411abc521c25d6dbd927ed93f097393403b2aab4a0dcdb4dc00023220179a94e90baa0e32a16b38ea68d000b66b90076f29c81e72f921c7123fa14a30908087a57d294e7a205989362fe22b72d8aa92c92755f9b852af0e90aab9062914bf0196a62747700d822b36efd0fca78277518a0ccf956861d245eadd36d86ee5ad86c3247a63c293706d0cdba13d6c623404cc2765565570f7e9b2f9b456fd73f33d99096be5e06ca230893079064c952d38785197d2801bdef537d572b67f6974f02a96d4059b88ddb636ff699a906fe8053cfea1b0b05790e73882c9068d8ae750eee380353c87f41583551bc6848fc6027814ee58e143d31993b01af5c151f188880834aa62341d02047490b768ffc0650c0e023b8db82d8112314cc68d509d7b27650abd18927047165ae5542aaf5b28d94316e8b63ff2f8535068866fc5dd5dba397c71c4d0cb61656e20c301c6a2b0882a2687aedef9d88c0421afa9406a9201ea27008ca6cf032df0b9772a493e5ffae5e281503f40b70b7bbb00feff3eb3fdbcebadcff0380facbb07312ed36a9657bdf4245aaeb8adbd31a5e1303da96d719a2400c09156d95643ab6ece14d1390859dc84e810471159cbf3d206133b6fc6c7100e200f6defe5ef7038077fcd840252943df3942450012c584bac35465db2c2f1082c8cc7d17a0e5d48787a80ca7bace8e2893ed3366bf230b5ec059e3651d09ceeea8e9afaa9fe40fdba1138b7b3de6e30f7b6844cec4bc8a19be0404448603faf15630e5476be30d26b851fe307d50dfad33e81e406563e98779d0b7231d06c9aa280b78ce100eb6b1daeeabc202bd8e796e41c113395a43f592bc5efcccd22fffd182b9454a031f7fadbb062747624233b70e549bf7a49f1cdcc111041963b6bd3eafb7769788fcc5bbbd4cb1d359d6f9b65ffa238353951bf2eb97ebbc381799fc8eacf94ebb661c8f5db796d675aa113a07ab6bd669fcdd6cabc01c39b42fe220bfe1958405ffaa0d63fe4f5a681d7bafe8bde5ee610892db7b165e221f0cd5a4e64d827121e277525c56e1b59baa03d51e6c90a7e8018494122ed51b99f6a07c98c0b624dbd125519685ac37248fca28a4b9da717cf976e63ce7112c90dfc9b6a5c71bfe479c115e4e7bfa96067a5065f8bf655074107140c38d42b2eea782786d4a663c19173c979b58e8f7a1060171e25dae6cdc46dfc104dcd2748fedd15a17a238b13f4041fb1b0c89d2fddc3580f5e7948201b6c7925a114118b0ba4080a8ce104a6bcecd7e0c0484e938f3cb3337f848e18d3590e2d7dc6145c4c0714146d8d0a93d3119c98ab5068be2911ed629804e2e4ebca0f7fcbd54173d7240ba9ccfcb8c3fda3c2fb4f8ec4a9ae51b6a9ecd6093be63f76245b6c7db73b7940e4f72016e1bf696d185cd9b7b80d1120b24adb2a086894ba7aefb700b6efad17436bfc0de70d396e380e992d9defb688cfc6720371c3bcc10e9006d814ad0eab12be136894c03f91850e560a59cdfd350c51c932950cfa09a723c0c004dfa2ecd33bbaa021822872b566a4a985a25829e87fe9354f6ec19877e0ece2b16476d6129df035700b78cfaeb8eb4a0989efd6ead5a54a983eba17a69a7b32c8bc6913c730c2c244b0db7e6448564b346427e1c7338d80a091ebadfb0d97445de35172d617cfa016b289a9672dafe60345fd26e446ac8a159c2572d10af6015641ca23fcd952b012b66f391f6a24d457ea741c9f036cad6fc80014170d1fbffae426f77462c28fcd9102c4cf1e9361cecefececdef9a05cbbf9b16123a866c792b57fe4ef8a985e29c8df1b5eb13184b7f116ff674240c286b604c1ed9d288a22bb786655c46505dbe5dd2dedafb41a3a6a6d35ea1c4b3bd962385107658b5a9bc43629c36a0455e5822205e59c89c2e5e5d2e74c711181baf18597b97a2d3689c8a0e93c54bca69b434ba60e65f06c627efabd2d19227a9578e56b2fdf4ef3bf357c9dd984702436bbb9716d1937c0249cad8aef15ee46694d13d360472dd50d1bf58bb80a5ec5bb407fa746b221d254e8912cfe3a1159d53cd8f7d0c7ee2b11e2b8eab442045c8ab46f983bdb788bf8727c548b4501e9a464d939fb28d4c791b6eae208f4810a72a06e74bba354d1504ddc68f0b4805953e0939c82ccb9d6717f50dd66e13260b1cbf569d3853dd9d6c67fe112c1874d503a7c1543f731c78eb88fc5cc4486ee0f48da02ed0327467cb9b005e310fc6581220fbef2a411963226558c4eb54a1be38bd758aaca32d8e8c41e69c043a7b4c75097576b1361ff903f1eeb115918babe25965b91c55ca013a7580be15c42686cbacb137d18ddadf5ca424d330fa0b94e484f8eee233a4570b234fe5fe7b778f8763a82180dd9a7b6dbc74e8b2037c20736b40872e7e8b4838560401d7c951641561ce30bf51fbcaa842e74ba73b12de85e3cebe7c15e42bff298e83c00112dcbf0ae2a7aee99d997ad4e25d4f4b9bb702a810afe191462a93e4722ab705650a5fd57d8ed66785fe14a133c2b94cfc25dc9e76224486b6844561fd7d81deccdcd48ff698ca2235e8b7738684556cb87dc4da64f1703bea9be5e9e7fc13c2a288f8fdeaf3e2beda275d153fbaf4c7c03f3fe84df3427677fa7baa14dc5171d1c47ce3172269e06615b06d33940584efe0ef7d0104bd8bb908495bf35f11a0bf14c7304c99afe732e2d7897b714dcf0f636889655aebde73988f482c08dfe2c5615059bf041ccff150c4538919cb60a9e2cf9da980e5c42813484346a94ffb06ab444e6d70cab6f98fbaf0b9f024ceb04406bbf4781c3c9821121ddc7cd45e51e0c7b95ec37f9c1a9bd2064a8f65270ed9d4f44608e8fcfd5cf30f3c089abfdc96266bfd84d4f3aa55e23907f264fae665da4c63f4988459aa6a20143eaa8f566ea0f81b3423fa5855ff3c664b72318fa499c0768f5260a6e1df0187f7cd94c1e40860e109ec6af367ee09aa58e63184e3af20d226a335b5171535b2defed772bc1108786498d48e2570b962f5485c78834d474866210566944de8484bb41229eff15f290369133740162855411962748a650a40d8cfa5664252203e288d74aced6abd52184f4e24b61a58ca9cc1ff62dfa4c6212852e156ddef87391f5f4479d94270613c0762f03e70e817931bc787b7764e8a23ef57f8bc629a457e15cf056ce2c7dcf7346d348b6383aa438be5bf8ef2f435358c398c0cab827a576624425e1c3e9a42589f6ecf38b43094afebc12ce8673ff9195e0c81f342f0835af12c63a428f843ba642628be47acc85e2fdf3dbf13ad8583fba9b8782aaffca710e3f082e6768b9754cde77814a06ad00f061af5327ef5bcde65d55360f9f9c7d1169e046713974485d98d848978a2615a1dda7bb24e5042e4badd7a104363399c00cf003d2ea87d38edf11246180791788512eeb74900f657d91581039b09a417c80de116df0ccad455ace8ecf74fce920063d986024eac0b25ef295d3c89f7e8776580387980e8e2b15f2cdc529a8034fff8abecbcb664ea5c38ed9485894e6814ef230bf0c6dc39989a19207cf0b4b5ca2c76fbb075a2fc697fff5ee2a73f511527b4e5f29cc2ace036999f8965e7d75f5de5f25035041069e5aa88f7f8c09209747a069ef2d00d0ecab1783a0496f0be36c10a68cd0ad865c7e45708651c02f0b12f014647f85b8b6bfe3adec73a0add84e248889c43d8b58610b69c35a256541fa3929975af9b748d049b9708214af4690cbc8281ad56d85f5857796cb50a51b0f1d70dcc4a69d8536d3dda5ba99928dc068e9f2d0f7a966fd3d2f4b35034153dc51c525ffd4844fccfef99fbb995483da267b61dd0d0432fd2bfc1171460b719dddb069e39757d521913303dcc6538a787ec2f2c1ed34405eb2d6dcc56f220eda9142448dd609bbcbf1043a1e5202b8eec39b1b403d47a924806924f00698035a4d127dd3678b5ba93e34665f16ad3e7023806508b5bf4cf9da02d2dd530caaf4d33f5d53a93b5ce620183910d18e6e1de2c20544e6cba51d705f52108d69130322bc6daf05cee2f8208928f5cb2f4f922f4838f2cd0d355a53028b65d0d72842058120d367eb9060e7bf8a8eb373f600b88d06758eabea7f03c43fe72197f6c709c3a3f790bbdbdd4d3da30bcb2efb87d09c22d97902c262e50b1b3e19baefa8551210a403739bfb7ea058c5b97dd2e05b1acd7d5a35525d7fbdb52622ad30c2167f7da5ccb7fd3a09d7d2375f8bb9852843c87efe0fd2511365095784e182ae356138ba41a6ee0e7aee5900db5c087af0679c8b0e530320976a55e28f68c9c690c5591ebf84095a2a985094bc4e031e632a12f9661795d3884f75a8ffa0833e331972daf8340ca480a4c996b66392bc3f32970a648dc48f3a7616c2c4f5432829643bc831f351d62cd771ac9f7e5858eb0bf9ee520ddf3e13484062dbcac0f244f07fecd5a817c37bfb821a6a79fee5d8d7e2ba68d29ae9f11440c3065d6214c057ae6183b946056fa386ae605a9c99e23edadc3a886f797a08ed85a4b731c6150861d40c1ba7f7357e63cc018c24e28002ae4e0833cfaa64d4c264cdb58fa87a1a3f16079a3db85d3420acf4bbb1d1583473ce8b80c201f73907959db112ed15da569d5c1d55c3c67116286c8672b23cec7c93e6ab0fd641dca08166d8080bd97517c8abde01da172916ac28b8c658a9a7872c2bc63409ee469fb1086ce297078bad09b3404cba529150d71867c7e091d610ffe0e8ab3c674d71c706264c2b947858cc5694e2c957e70acb1f108c597d1062b560e616711c0b65ab4b02000be7151e320977cdbbc95e3b4e3c2b28c3867d446502fb27ee25dd0f1d0a1cc940244d20a7f7a21dc396dd1ba9525dca1f26b3acc55f62798629bf3b85d7ad7757d774f17391bb6618bd627987b5f7bb79fd45a9eafb07a9ea207031ab781b5b21ae15798a63acad13384a3cde3cbad86ddc039243e7f45fca0c4e65833b1dccc4ded9dceae1dd399085066f3580cd6a6ef1e3317db64f428be7b19f24ae3f290cf017850599547970b910e21369ef9a89cff0c4149b04051a69a206b29fb68769e60bafab3105fa0a98f9906387d3b9302d1eacf540f3eb63216cb057c3851175d23edc342c385cbb995620083c4216a321e55a7dfb061577fa4684faef7aef53a0b4524778b48941929df0357b14daf3d40cc35ecfd453dcf4a68cebbc544aeac12d3056577a6b32ac28a261d2e2bb938bb11ae8ca95e9cbc5378d0dd2a58797f74c8ac70a37cb6b9453520aadc8819e9cdd60df79a9ae95ead7ebc0094754e812b19bc1500e1f8170e1fd9895d3eabda4e3810acae4cdc51b2e232cfee46b3799f44e58d06849254410a10efef51bd5d5e2d6da057ec305b303a1014d5bf46255218e4f1e4126f13ecc47be6e4d2576f3f2b9b6d750b277938a01ca8ec8357552bfd9358ae63484991595d41cbad5035fcd08e30ac4c78017dc6ee2cdfb552b2e772ec2d922bfb425758a815979f45bae6fdfb08a03a3e65732a35b327ea8cdbc8c9eb7cf12743bcfff05ec30fee52fc8cebc1889c131b36372b9016fe19dcc2eb77577803b24af638e9b1f249e303c28f7e4dc2112f7f58fdf2c6402702292b10f200fed7b4d6701c1a8ef555257a8a0132c05fb7708eb724d7dede0a3181addd8861fdf3d59281e46252c9dc9d971c113f11f531dcd86955c016c0d71a580cf9d2fbba26f7fd1cea8305909719fd12497a500f110cf96ff0d4f6bf1fdebe1a61c1451706cefd1aa9b1add5a50fbb8bc30e309ddbb7362ae4bb2975c28b9415364db6a77d5c833303e24ef6a11f1ec9965a3c49bcbce33ebc9e209cbc42db83a2fa19307d7f06481244318e19cda6fc2312f4a58aa7a51c6c1feecbddf8943f587efb0db90c6246aeb4a71a2951e34d04a5d299079c450c99bd6ec058fd639f9f53ae770373c4b071de92cd51fb1aa988975a7d85d2d6b3d5463204e3ea861fc4c9c236377b5b5ae9e6c504431cc499f56902c36570ac39fa6a15fa614cc3ee9ba5c30b64cd69e3ed761c6d18105fbcfe788d6b72a2a054368dfd2f911081324203d87fc5172980579469fd323a9c790862e87215dbe653b3bcc4371ee7113641633fafaf8a9ce6e861ffda6ae074b69df70b418666347f48002f32b08781cf0488d36e9838fc34930bf38fc451345e5dff328052e907998ebd0614ab18306e06c16b1465c5403cf8f2c7b4a8ca1b9b4a815d804ef1501baafcb8b4538c1e7151c01315a1580a18205747ee10547050ef823bea9c3ac292814d9070d54ffb5ef0a88973be7a8c2e2a239135dbf940f0157e8c204a8e41eb2e17d6c41628f9d15ef55fe5f957751ef6a09841b9a824c484e0feba9a2d934b67308074ac5ae7a8c1806f46b231be825609ecfe68ec7113170bb06f1b51af1e942e45dfa68ca9a4b326b1f5e09911de69e8e4cba2df721da16b7c88bd10e7a3f513be8d71e8c70d03d4a239081d242d073507037ae46c3027f015e2a1057989f42bd4e66fca1f3b4d4b10960d0b519e5478f08b6b3b795002654e94f3e604a631394fde856afa66dfd7388149cb8afc3b9644fdedd668cf7de3ee80812952044fef3f3fdae099fd61aed67d1df1a1dd2275f4ab4bc3e6e3e75204139d97356fcc60f8c03b18986bba3ef7b248fa3f99718b61dbe82d321c2629ff071142075a5d5b55b53c74266860f053d9910226f3a43849625ae7468cf7d053b3094eb5a7feecf18ac6b2bd648e81599f46c4ce8e633f66385030d6ea6520387e3301d7f6574c8d83d51e7007d2a6637a449ec271bfa590c6aef11da52588c72776f5c079c76091d10be270ed679c6528c8926477a14e59f5aeb1c78eb601464f7f35af4ff94da2d5fcf79c79894f6c67c20ea39dd2bb12ab792daeeb731057c5ad52bfded7607d341e62ddf36cf2691ac767e30c80ae1b35d7be40962409000dff5ed85571150b9da3b8b0ed49817e18057700e9d08cf473f35d911e51831f21ffb7dcc15a0a72b53a706ea46eef5b240ef7383ddd22410a5c5991fd10db2c1af58b70ddd20cb256b480473367bcf305f08a8c27daeeb4005f171a86a8fac5458e405ca62ca29e8c6395ac5d21f33626aeec742c96325a793c9fbe8b42fe31d238d0dcc7d670a86d4ce5d5e06a2fa72479a57dcdc51063041af395f36f2faa2ce41b97a2a9e5e6557d892003841cbb955360d071257ea9fd0e0b7fe303841c2df154d86f4ae2374a5ea4dd0bd8ee9b49568ca12cc2623881da21e7fd41265574013dfe74d978300bcbc4a63af702d94cf48ee6392d57f48bfbd4a734f86dbc61086e602d510291f22ea1cc4c221ece8b60928de7252eaf7bcb766faece25c0f01bf4967654425cc57b8bf3c3eae51a395d5a752ff7ab286a155c6484f445f5cba0bc87e47a00e482114e6631bba943ffcc0d91a4a60da0e1f7db6454a2a7a9e7c032f0722d5c897b26bf46c8f2e123fe264e4af4f7ff070b79dfa30cbb9e709f97962144190c66dbe9b22972c1e38cef2847bb6c3d890183c4f26a93275b102e9034255ebd51065346e8053aa900319c91232ac957b4e77e0436c6ac61e2f36e8dbc387356251dc352d7be9fa82a1e75f7e57253448f6b1a025a93d1b5800f70017e4ac07c6b4ca995347481ab424d5643153582f8445cf76be8fe8ba3375d1c3caf6f7626a363983a53f7cdfac337e46db3d2424e8cdf47321726edfb58f353a0f9097e679da4ca2c28f08a0f404d4b2eb910be7c883fc0b01ff8fde6c3b6e21ffa9a41fb995873d90229b67a69e8e1b82541c8ba57db91c51e94f746c63b3cd6a9ec32e8b580603415a03f59a072541f47e7e30c8c2e6f1f6ddc36c4a339b870931e8da3c6e0c3e43e5f4a317b679b60079539c5b12f21dd88d166d671bb7ed9ae72694ce43163279307af81385841c852568603dcbe639d3ad926c414fc0cc7fcfe7685bda3c912ddb3c377db747eaaabf7c20a46d1e4bedbe4804bdb387d0a73d0e8e9b67437abe0096609f6e9ea7447ff0032a35929de2f7729e033974ad8b437aa16f927994e518d099c0740751a55c90463b0b9446728f67509a8ef251eec8a9560ecda19572c162091870a521a6c1c2cb18a2b50dd2ab576524d2a09bdd6048b6f4099fbc78e19688b644f8e009a8e275b2a8ba7b222100da831e71c9c290c9f00582cce1f7b7fac62d2150a0adc68959cc1955e9ade5859f795cab66f112e8e835d600df00b9cef28bc4792cbeafe264bef90ebe7e968cd1adda325be4daa52055a91adebf535ae896d0e6548c0096f3b0ef41f8feff105ee529648bff3fb8fe5ec5b7774ef9a0a8a565771a266c50f583956346c0f59b9560116010cd42d84f79482f095fb9ad48a72a7f57ff019b9d0284728e53137de858d35386ed46dba8c306fb1f8a815c759263b7f85bb004d0cfd8ea9dfc9ddeb0000d504e5971b87d37dd3d02ccfb174e08b1e3b1e36adc3ff443d029faea6ecaa1a8b5312dc7d9681ed643a952e76be73b01017a1292eb66a4ccea1ab6867aceb78ec097636ec0d1fb3440c9c1a3c35286a6154a17be9c3c808e2a8b378fb2a9a8e0f753f2751c8003d7e8cd4ecb4e88dff2b478ba9fc53acfac6309396cf0c1f57a4ed5a35e6dfd6cfb4294c8435b359b6352455aafe9005f10f68c46141bc4b57d06284ccf4a299324829d3ad4e2082380f28058935bc59307fc15951edd5640f5e7f445d3291e4b21165bfe230fd04a3da59803092459a09527847e537cbe4b9b7851d2b46cd64ea2008ff334fe5c84722a951bbad6e8770460b335813df0239cd871e9ac26c9dd795d044bebbf90bc59725b51bbd76a0bfb1196d5e786cf4ba6f44423512be36cb8b9930b4ed38edb0e56d878bfbf612f93bcd71cb240f6a2b8ee665b41620e00c6585c07d21bcf3c1213626c0e85c7c1dacdd8a3eb3d12fb2499444c86c9853caa5411a7d201ab5e859066e2e1e59d46cbee1eaa086646a693f38439d504729c69eea5e69608b1af8545bd644be7a0a040092df9bb3d00153b62c2436f4d1eb8fa7d053fa9009eae9871200ab25d0db48943e0926f7b23a2ac3b7fbcd2f376adb24adcef3830fc519bf25f1061cfc7b05bdaf75382f00fd0de4cbe0c45057ead59b040e0e3de7af1e4dfe86b1872b6ddf792fb521648980a6b67bf1e1438b9cb1afa12e63d50276371589dd0deff8a9eb29ddf45d980bb93094588ba32faae10ffd5fd2fd4cd927cd4c35eb02c90007c4bb5da92e020afbd737b159532ecba0582d2a3c3f38316501331184da687c3c639b345b078ce91d245e80575695bd55829aebf0cecc52c63c9848b93b59b4394bb776accc95e46754cebf430d95fb617b53526cfa91e33664b760cb394aa81d5e59daa1f3cf62c6b216ea355984febd99a9029cca9feec4f6f665887c30a80d641b9b009a11484d61c01c574a7b0cc36d03a5b2638fa381869411d331c833793d369c75be127410d55039153cb6c429cf6b0f026b961081dc8200d5c9ed30c880297d6517affd93ec8ae275d264c6d44dcd56490a75026b861628114e61d5860a165834d025ddd872fb3fbf0b6d58abb3b30ed21e3408876f7b318be925e7760d01707b1ea040cbfd1599668a7c8ef5c3eca26f99f154f7db5faa4eef513cf942dd870e743fe5683c4709f906939bdabe342e971ad0b551a2886a1dcaf92ff9ddfc0dd744b548a712cbb94feec117cfc980a4fa9f95bf1b789185ad14d280928fc3b8b97b9155e2a001fbdf422afee804a6a9a80d04ca81457cb7d26eb2b57ffe115bfe884ad1e1082d68b614fca7cf70eb6894bc71f50b65d9c9cd9f5a5909e58a91a476507961fdb6635a1e3e5256bcde60e4737155df7a6fd26a5f4eb592f7e4c7e4b7d82bf19adf332867958375870d09106898e846438a2a98eb722818700800699e5f0d134481732e050bc77b652ab21d9e926faceb52d40eda57180d87b461882ab04b025a0589dae716f97e0a6bf846f084cca3af3d10351a7c7007addff56c76469134050a7de5501581e29e14aa2b7a2d139f63b2237c5012b3f88ddebae865e61e99d8c13c3ff26a53701066a3635c603fdaedebc789e36b61a0c6deb5a99e2add74ad3f3bb7bb2ce79fc266d440fa6c2bbc2bb4f658a62a18947cd3d6b81c65039992209188f0ead87d836589966262f5bd7bc74d44896cd4d1a891cd73739e18f27b62f53a5e4122529b909bb5a5b49b42e1bf2491285c6c22777f476e6437237896f0a0e91e876ff3c6d53741ceba29668cf6a55bab377de3623b18d63aead2ca7f40a1d0023b31b3f7d7222f459c4bca2e284c4d175b2a83b050e815f0e3ce4deb6b454e7e1bdbba9b75c4f82c60ac8499b682a1f2910b4e755d02408a56410722864f537ea87634eac25848f09a6fb6308986d60418d9afc6fa99b67c628954c8735b38ef1d2a2f0f5c1fa647628fb9a5386f18b9a010f878a29ff2413d31eb967d4dcf62888ca39f3c502857a4c1e8ef840033d69cbe4a802055e70a8df1387692614717d28c4642f48286675458d43632348a3ea0d22364b5c3d212e65620757880b373f53db8294996fdae143d8fe825396f085ebf5791affe5dcc085ce6cf767c7415ef3f76f1083df16874c2574a50e9af0c36002270afdfaf0b252bbeac833546f64908234495cb37c55b2b959fb790e52717e8afd107c604927b64da94ace5b2e39e4e118010f4d6230c49dc6c9ff42971f0d4dcf7f9525ea91140deda01e84ac5d86d687cf589144cfaaae24a32766a608642296a8c339e58bf7b1affc626ab9919eb4e50465d60c1554cd589d01be41593487dc87204b24bd12f24cec2e3102c159af28de13e374d0ab46393a4ae7462f97c2a192bde192bae6770684886d20cc6559a4f24372bd1116f3cd2784957697e7ef364116f75d711a2d4b376f39b6a2de6a700aa40d35d745f8097c7a97f178d1c9f44d8b6c71cc39e333b88e1c169b8499a9186e7c5b3f5e60b40c4929fd0c9e8adbcd1fcda74ed7039d1e73e579d773ba82047e6fafe7f00019216c8ddc65ff83726a43fb21fa8063eb523deb73f7bf06162e5d00f541ca006036036971b97276952e5dc78bbb977d006d57cb922b552aaa743cbd5f54a5135a6b20d420a3501f946e287055d42b52cd4a222a8ec76439d274e8496ff7251686aa3dc1e3ea5b6a24150b20230cbeff09555c653e182cc67d025c09aa143ab327b6c3bae9721f8949983d25d8c1ee3c27f10c1214417c35c2a46aa9b06355bb162c7d63a1bd20d6503c6c600d6d624adde325fc14ef48fa0329d8d75c06794bd7616bffcfb0dd9520e7ffa4c1ae343ba4ea5557a4046d580c2bf6e327b28f91b56861277d5da2e49ce926f275854b482dd4824de6f24f37b8fe2dee490d4d8e63fb98e5212e0668c4735aa8171583374eafa34c03d91ebae01d08a32dee5d2ab220827504912cbb2fd300aedbc88b73a49617b45984f3e24528b7dff9d13b47f539405a066d7d50d6a76cdf5a791b81062cacdd7d4be37cbee97dc510522b3a56d24158a74bdb1806a46e4ab8d10daebce2f9e6818a5b10aa010f0254a895d576be04c28290dd8e411892d940e7dda7f0b3d14899064f0babe3db1aa894ae01a4f91a943415eeb2dcb1198748d4800b8d85e59ea3ec63bc8a6db1bdd8712cb9474a48e046f81efb5074ecb2c47c2ddf46ab3c4536a35449109c090f033c84c86e4960231086dce8b92430b6417d2b936061782dd98183d007532379256137a6d2a4ce4eff99c8412f73b59c2defb396e4296cdae9186a44113ce5c6e4e1a948cee56c14c452f447c87a9b67faab9615a46e5b6d6d26ece7a04943bfcba8476d91adc22b9160dfd63d92230af5deb34f3eef703099408f3701e474829efb09e4e4eba08782234eaf09c4e66358cd0edd1412bb468eefba2e32a973c6c1e1c72021e8d35de2149ab0357cac1340682dd99b738602a19a2566f979c9594bd621854f4e3a1ef371fbca8f8ac4217ea9b4c339872cb883ba57984843d28e4bf2119fc4d9336857aeb1ca7d06b17a52113d710efae1d134c8191127276cbf5c587b0777cf3d084c80c96a9ac66a3c2602a66f1de36d1b58a1cd2d381492f55f5bd8e6f6aaed51901c769cfef0608678dd98f6ffcbd07c5593670d052bb040c5010d218c252544a42ee6b61e74a8e895809055a5d6dd5735a02ded468d6f95f16ea97f1de59aa7418024267b87e3a94a4f93fb41a36e4becadec896f66a3da09b4fdcfdc3e9f37dae7520b71c1fbb065b43de10f1a142694e82d3c034fa2d3c65947294918c8ca677913d75bc70aa161d2aa031a8512f1dbf4113e7730f95320f593c7a763d4f6f162e0837945779edb000f33ca904ac5ec993b99e786902c55f45f210a9a4bb900dd45d698f0f73c7d64b89487bbc8aef6d34d4427ff592de32a7f7ad45fd7bb96d8795fc5f3512f97436b26ac5c8d0ed00023c66bba15e394f41068189c84d5a7888b1638abbe1bf36308d9a9f8f1603a8e6c5e8eea3900e83260033d458124036a5628dd338e0300305b0e013472cc48c08048251d7bded8bf5734788e7dfa5b40c2f43507126dac915df41afcd325f50f45278c3ec475e8a6b191fc6733ee4a55724878cf07d469029d3bd390c35c87846abb42d34b249d06e7db81bff965bee8d91c731dd3cae64182fcdb14a890f62f1cb4fde1d3671a0c02dc2e40397385257ee37f6300ae19dd73513279f0cce72366d7005bde544112dbd700f054ebdfd0fbf44294e87d3d94a02358376c2beefdb3e8e256c4fe4a402051702cc1cbb6c572d0e6f9f631ea621ea987d33566aa1718c509fed1fa56a36d7de9db332c563912b25d9bb4b8e1f324aea2b95e710066ba261fe30615b254c2d30d848d75a20ddf00a88e3d9f8c53b633b87d5a7e48b6753ce0deb28678acafa922ceb00616079039e9099f8db35f4527982db4510b8f3425b35b3e58f2e957b428b49c54968d3585c15a78338a4262ed907c5dac177436ac126967bdf244af75f5b52f60cd7718e18eabcaefb57d0ff784fd1f32036703a8c72c15b2674c999be1e644bb1e27264af6e8a10cc788e690f453124fd101a53141c8e0c796baab1eff96f71ca9eca6ff65f7a402f7bf59c63ab45df11da6d3295641d80a906700a4c6cb57da303dd9a7128c56330ee3aed452d27cdbb0a1bead8346fa10f59c554e4b50fa6182542cbefeecde7990a3b20189b0a012735ba31fb7cc1b7f287f7a5077de4deca35de6c1a7ef915e3c09cab7d4f8a02f996e971242faac8b1a73a292a8ba895819ea7cfc245c15865b3d0f27f0d39b10d6a303ae1197978cad40736fe48970afbf6d64337cdbc654069fe239b86618a023929b08de0dcf4ac130ba1ec1a4ddf508d6285c4ad788ac28fa380c34692ee71eb405664550062a49838bec5327701435936f706eefcf3a2d3c1aa27292ffc38f06fa8cfec2ba17e16ea4b66d97f7819e9ecd8368ee985f03f20adf8cae97c9ae3d54914660c191013e09e9b8063a08b0f294e3c1731e6f625113431ac3e5f9e89b2dbcc75f563d5c88ed952ab03954a882786a99398f78d4f602d4a307902ae2a59e22d8094a456ec6c7bd2e1df7e86e18aa906df287adafb16d4d89f28b212c90312bef96fe6738e45a43121a6886a7fa2e3a01e0341add383f3e1adffef90ba291dd44efa7cf702879b99d629f18204819903806dfad9852712de094e0dbc11f74e0c03b3cbec3236ae4a3275e0453531100fb3a63d66ffdaf41869e4fd2e676f4fb4e3e81780ffc366c72594de45921f286c29f188cfbaa697f78fc9e51265692e4be717803623c1f9673003dd6b53cc7bc208192a24cd713baf77088fc813dd7f097fa027d234110fca9c0a1752c4a0f64ca8d87853c99d240d893a58512be1331ef0a93a06c04aedcf36bab218acbe289d638d4707927fc145da05939ac8e25c38a55c212d618459602af178d3ae465b2609a5db8ac8abbc6c0222efdf94b5970431c0b0d0f7a0641a7451c4c225c5ae50bcc968c918f8ec8b656787c49bbd571a0074c0a13cdc7341e833cbf7f81a6c14e0b25640b8bee3379d0de8c519e98fef19488ebe52cf250a4bc628fc083f4d2985f010d0df0cbc9932e49b838edd8f7db882eef1e5c1cc6aeb87f670fc8ae0485080837b05d23a0eca69e8ebf8deafb26a83fb31316fc1ec2aaddec3b54c79f923355578877c01c7f98a409a40c6bd52e786f37f5c900c9f0bf8610f858ce47ec33ac08839c099a124f376c7ce34900481c45f0dbf40ff3edc86cfae79d101cc64b14336905324ab1bf9cf1df918305f78028fa6ac0cd350ab87f2c8a06669a8b4c292aefcd2aaa39008b7c40c556b6e2d406016344ff1afd813a2362bbee54c1eaec51e0489aef252aed28237ae217afdef939dd26e0b8a31dd02bdc70ee2ae1717e4b471b7a7864d0fc5cb5667857739583f70e133760353b95b0f306ebe949cebdcad012b6074c36768669d91413797ce5fced863e139c5720412b9c0d0e6b37f7ae9cad61ff04ca1a3851c1fb3da5f5de48c4370a30ef4cd38c73141f880967f587046fdc80ed9795b424ba1e34ac0fc5439536215d39d72e7bc43987e53cd3e6bd45d3202df99a9620bb4f5c3115fb192071db282f4073d439c271e0d40a69ea1ef5120198eaa6bc3f69757ef0247ef324b9a922c599fe2f474582cde4dabd5bd8e5dc27bd04727ce206cf9ff7ebefe3e78fc9cfa10a251f70ed6d1b15cadbb0f6ef0d43d8b5e14c60f89ea8b761e995e32959dc9e082153846a025e1d155430daa05a22388664d54b8f6d46fbc0d44246d0d1f848e941712608e819c98238e2188ed5d7a792024d82d73f950d19030fdb82bc7a4cc6fa4e1eb485f889246dcccf7f78f6af62c1ecbcfb5fb0f345e47e0840de2f9c81fe722821bd9074ee86623a66ebbf59755035779bcd7d20aee285277d8187c3d90983e17bcc17701a0d84a8143a0419c18451b0078275fb44702669cde4e21a36fbad808e801e6e890efb40bd674df958b9ea03b8cd9afdb4ff636bb73a8d8974519be5546aaf7031ea7e1f5c3abba698f97f9ac1d25d4fe018b78e8524528d1e4958460e105c6ef5b157874ecf34250debbcce005ecf7bae35cefd58c77ab0c06d63a2795c301a89c700eaeb673a7edbff11e0838f7dbcbfa3345ca33644d11510c3730b3088fbf04f72948768c012076a5bc14c53970f155a79c3d03c835dac74edb782228e2c4724ccc4227868652f65300c066287d3f60631ee7c1105b8e522fa06b5efb2341bc4c8c8512ef76fe45bef5bdf482dda225d4f454722964ba7fa9142ad60c05bc723afafb87659cf432d0d628c57802593550ba8a989566e57aaa0c05938a721544f5d20ff9875f05b3259682553e2bf2e7bddd845bf52fe7409a61876861e8b738b2d7c292b38805bcedd1fcf331c049dacfe1afabda7d9f85e9d376b3346c678bb59c3006800963a6c6a7b571ba62409bab78228eda740bf73b298c206738ef4f89385df4bb765f38bc9d45e842d88a67d287f4bf9caa0aa5a095aa675cb7c24fdf540d22af47b42e15847005b23e51d25f84dccb43b28cc6347382156f0b31cbde755f65ba9cc9fc7fac83e31a4c4ad246303876e70cd3ad8450904b20511885c3afbb280ea2f07efec04f9f20e63dc7022a3f3f737b9a9c34488943dc2fbafc4c054809b193567ce1788d80efaec62532bdf91c64a2d9e5172600a4dcf4d05080d1d6526670c7272ba7555b5070f2bc0dd065dde53a11375066a5c98f70fb5ccf90829dd22032a6be56d03d5c16fdb5079c511dc97ba52c6bc7ab56ab9093518b00bd16896382078824dd68bb7eddaa94bbcc62db4ef59792ebf7ade88bb639c444aa038512a8a8ecb8f51d4871ffcb39d551395e62847c4f00343d359fcfd76483adae8021db872ed1c1e67b8368d6d30f59e021d8822a8d531619de0940e58c2c68a1aed148dc8baa078b676679a3f47aa7637dffff6f22100ccfc5608d06d58abc2d40aec86e0c6af23a90140bd7d130a03d877a15213d02c2f1632e6135fc7a2da07f57ea60daa68835d3f758c9236c41b8738b5e9b5a44191ce08257e64b4b99d27c4bb399313141ea5a7da6fe15c7d6449375cb6607d75f2e03b23e72e9a6ed8124eaabf399d531cdf8edb48234cd09579425d1f7226b045bc703bfbda2ae0703d6dea44078c261acab28c3a0ec1bbb1d4a3d21b5ca86ed2aa8a04f4168d181551994405027de20d4d89e16411af3d65f24821ba399ed44872ce46d7f8447a4a5dbcbcf971d5bfba619d1a7a314a433b5f327f2a9966876378a58d1bdbe8d18e79ab90521446f482a2132e5e458e3d0dfbeb267cf2ad7fb39cb2ffdce61d90de48be4bc81500690b7057540aebce7848500906fa0b6c83ab70fdb02883a6a36ce18c800395171cf1b311250cc403f9bb9cf777f36f2ee32267a3793cbf3ced8257e466234e833bc4cf34dd7df9ec5fa0cb2bbeee4a32f82126f868ca80c69441936df809bcab9c107c4a24b9f5a3f84f7d4194b56c31e0f8da4287542041155153547bbf44cab25aa0925a56864d9b747455442b46655665770e6bfaa96d1c2664aa3290f13d3ff7bc38d5c7c9ae67f0ebc68a24cd1e1c3869c94ea55c571dc27d4af7310c0ee9832f2e10e815a598a6fe8fc966dd76a15b80fb3761fa2f49e0db5b8f817de5d903a916bbcf6f45c3021d0ca098f24e25da729f29b84f885d9d284574db0cfa7d4e8ad5e542a9b7d80b2195c2dfe853c782f4fb27e7fecbe08d79de62a3af4b172e7edbf1a3153d42ecf3b58a0936349f4648cedbc75799b2ed4d4a497c04a707c77aa23f74724fd9f22e98de886b25884fe7513346f6d10ea259c07600f4e041d1cfd1d61533a3eaac9ac9645ae960cce1e1d832a2ba4875da6a099e9d19f37a554e0f86c4f8cedd039e72a32c61d7ef59ac1ffbf06a7afba5a060c2528415181113367aae72906b4bb91892bc338748f92c26172b8e82f87d8e1d83298974551d2bea0bff2c143bd28e97ff4093f5c51543d29122c9338e072aa2f5b031e06321c96daf0fb2dfcb26a1fde08d1d0b5529dabe15a85fbf40704e30530855013d878a6f34106cf4b2e5eb9c58c09c998e9a3915f2ebd156b6ab713f2c7744197d161c59bbbac8cfe279414d212cd53d19e0a6f2b97d5ac15f79ce2380e6103b7059d8a0e2e4573801fe7a1b7d3de18c393749e5c372b206b938027c9106bb4b12b8db85d887d66886b961a9f66f1225c29d5268872ccba0de4cf7e8d38524cecb552ab328a47445fc757291d2af3407295c5099534af8c0802474e52f9bf8ef07ef16791fc057bd2a779dcf04a53b7d429a13ee69db78168c54c1712067b2cb04f53bd2fd802bf6968f0aa34d603420385d39114eb309b4b4c9b3338d4e959abd0aab3ce79e5e4888c0cbc9bdf3434c1821b927708db90a58128bee8462bdcd42c2726272a718695038b7152d45953a5bc62fc545ee97964e036ebf167c0249156353633510cd85503ac5a96d4ed99308a16d95378f38dbae1b8f374f11053010ed2bb6fa6de324a78176772b51e4b4bd866bb9936387af1480535db36925ed913f78a122db8aa61dbe444faa049c169e210290e6b29095e84a91ba07333af1b28462bdd8f253e33252c4cda341887c8af473ce08851557199db377851d20c412299a786c677742b834d32f0cc28ba41d5a0ff548f36fac4a0f5fb5c8057889895fc5697e463ae7a7f6395c0cab215ca0c56f6e2c4e1d78879db878d0135408f2e805aab10bd5068634d03e36d86ce409a10114fb68751eda0100719e3057c730515e579007ad386af52b35a72378e397c6705a901a73cbbf3b92a87f55981790afa90dad536e0dfbca664d3d16677a68797a94eec96f99e68e3a4fc59c805be5b7cdbe36f50186db3d06495af7100374b7a7664f299d7b5c3ff2380d8de741e574caf043523775d6b687962bf510859f81845bf5c5262cd9d4ff0fa58cbbe159de1407334d718743ea38f0e52c939b10269b68e4a6660ed96d1ee158ac45ded034637b923ddb789413dac863d03417faba86f1c5d6c73be7fef69cf7cea3d4f3fc69f35ef36968784d53579e3b83f2421543058be054055f77d08838c9b3b4e84847c5da859b71a7f83d64a54f6046185e65995ec6173cee2664a80cc4076bbdbfb5fc1405f646bdb2861771db3b691b41ab86bae60c04ce6f357916faceafd6d9925af628562f3ae387f5ee328c49b8954711148d88b1b28a980675482246f7b4060828368573c83513f23310277cdbff25f0c4dd88a72988ded9fd55124273d406722d3dc3bd1ae5b1441646ef18f997d13c32d1e71024e513331424b221bf7e9c8a7d4a40eb2f2352944f7e98d0487f88470b4aa09de01b814586c139d7a8ce0f52a999aa79ce2c7be742142ced553bedc92c58077173a9e7b6404c9578fafca3e5ab42f0506ed9673a14385a4e0fd3dbe1ae22c298174710e171f3b080544bff3dfee666b3e91b89032cfdf3f2d301ad78cc23d30b42fea9a624d65da6a4358e97cf448ed2a5893b0da070620d026ff8af8ec0a95b218d2ca02497c0f29b2f58040b8628d1abd91da774a136d67e512573a78246751506655ec8ce73d7c815cb23be26478237e4d5497bccb656f1164465ee97264fe32751e77138f0c806c4792f0c8f1ad724f0c6a3352459a4fb28d2c3a8e6c6d4f7654716a90710a6789c0e443a403e2f34eb5a0faae951a7f26b6c77719f04472175250cd02f6ef13074da2c9a53a91bc8b77b63bd9363fb9702f71f2ca1277a2d07dcc290a714785bd45da9775fef9fbff12ccafbee781666e07dac7feffb9a65849115b66d90018fa1f48edb713c07edf58e320693fca23e6fa1c01ac5a8bdee6a0edbfd580428287d5d38cdfaaf88e3596fd41b95e7c88c97e9ed340b10d41fe525d8d3ce9f27a42e7fcf949d1d61776e85de446472a68dbfd0454a8d0f65215d5e8deb37fe8decf3bb0efdbfb2b7578cff47721d3865ea2cad267e142c991d5698cc382dafa39afa32b0e80f4ea6b2514dde59a45da89491902ea4212baab1f2a90973b9811be5e830c645519071dea6b4043ae96948b649ae92caf5158528f1e5eda086e495d4a7d83a04eadcaaac2550212a060ddf889430fda7b62e6e435f31b5ad53033de26e7e73c5113516c093265aefe7f0c46767c7a84cbc702cff11026adf31b88f866e5f0c94ddd6f5185f823f6c202f309dce41c20a6ab4da3162715d1247100ba5934cd530030c9b6e6dfe7cfa39b2c5edbf16f3ecbc876724ad643ed9ea2b61ceee7f2a078b684220c800847782dcb5a8301693ec92795b1e9cd535c5af63c3b790e188b43911dc617d315cf800dc26ca1b8c122a556f3b0033a1de010c3e73a3251a20a2037a4bbb4bb7e73991023310a9d0612c1f82d377483120ba74874758bca243a38976fb27b157eec1c00ae32ba30993cd7aae0874e6bddb2c6a38c6703ec3df7c6f7999a75e2ebb19f2c8b24445d5b59e26ae6acb39b89cc85cd614c6a58f0580cb82f6faf1c3f088fcc76b1558bfad512e05709052ec867d2c83e1ce5397a2b2dab0c2bdb0f37450a1169d114acefb6254854dd833bd61a493a5773cf6736b577cffb1cd38d8d3e3aca5724dcc94c1ea3824910937431de1b354e83e72d40bfb84e615d3469b8be7a2a1fe4e852174d163958d31ca8644c6c7c2fbdd816c34030c0b5163e2d57996a58451719558a067e1b0e10dacbe2c335d7257e48f76de370c76a60b02c79e8218cbc79981bf1ea70e2d9ee154fb1156e617b2b549f35e2be4b6a689d50ddf4b2c2af72e15b77d7cacc80e82a671580054fb462cfe6e7aa89552769a4aec5b4b9f66d79fd7c8c9ad8585d345e3934b8280e06676a6d0f8491273772ea814de17e38ac6421daf695812b316741b9df5f1acc1b94d9856ca4b471f80beced7c57659d8e6dcc686690b94278b60412799f5bccbd921a4bfd5335ca924363be9cd852fb2175fb4f2d80c2720c669b2d5f97a905d0ae6a4e6f59863821ceb7b0ddc921ed765bb1e3a3a5382ab8eec08eb19c2326e60bd593d80c8f4ea1c7b942544c35c7ce0249d44e48bc94355bf29bf51a2f2abab6e73a4ca422f8bbec88b0f8697db7e7701d67f678ba399c6305f8dabb5a7df862f58ac41f5bdd732c72706ec382d8962b941fb0915ec09e2e28a6a2eb0690bf6ce01ddd3098fd2cfca244f4ad91477d870d36d8247443e06cf042efc90d14ba93f18ec4e0209ab9f65286dd41475ce5a73e78e09c6e1a70db3b39ae669414d3bad897c9313a7b18ba98e4d4a610671d8aa4233745274ff1e31d1e8093547a1ecd9ae2d2f3b29483004089fb115385cd5d383bc89d20cf324fa98ff87f723395fb8a0408187c786f9de49143a4fbfc09c503a99c746a38ce708dabf3cc51ee72b4cbbf61f606c57736b1757a05abddd8dbd825577936263ca0c03dbc5809138cac342a22d3eefa917638adfb4e8b011bcd81cead458bb83cc866497ec01a687661dcb62ecfafa330b27733f1af0ec7a527d4c8af1a44b565994e8664d3fd1edf08d618fae6d62cca49ae429300bd4ba0531a93e3529a11743963bd8db8e9e992e623cd11c0282c3e22096e87031b7dd3fcbffdf14cc8c7103d610bb02e9dcfdef1693a9d23dde5c7572921b08e0c7a307b0f82419140d7c7d1d9ada936d6eafd18e95b538f07a2118e5bbc266d3eefdf160d94802c50523f0102949e023735264ad1b1b35af8a170964db0debb5ce58730a770337bbbcc8bdde281d1ab12d71b5a27fedb26dea63323ea926fdb80ac840ba8b718f940428e1648100815b0f01c24605eb749da1e51d30225ead887c66dd96230e3517b2be30214c1fd0f2bded351ac0f73fd44f3b3570f7cb8be9177f7544854ba3449316392adae4478dd27f0a5cd88829512f1310a3d578a96a57d95a2b3bb524a548687561d2404f1526141c7ab8b57855e834f4f1c0433cbd5f16838491ea625374e433f4d7ad0c955b3b8163ce34994997368661e8bd1dad1754aee5dc76d6c1d0668ce01745365bd267b2f48dce41979f82ea095f7d8185baf310e577d15fe64a419672b6354be51e14642ed519ca3a3bde087cc55df2f47c78c044efeafcdbac6c56d11940a2e3c931f7069fb914629ef1e054cf675fc5b3185ea35448da45917b92226fd68b5c3e8239863452c18f58603f288f8d8daaadf985cfd29286ab20d3f6cba1fe5cd80f3cce18a9c4b643d663528476ebabba4ae123a02245d81f42e9c11d920f365d9ba2437b0f0b92a468135c01b86e16f20f2c3c9f0c695dee04268d279b6a98cce2e51cd2c0062c32f198bac44f98892c9cc74546cc168ae98c6890c400233c0e8194f906cac5fd73f9f0df07207e208b88735eacd060df33e32efbebff51e4aef5d866ca93ca700d1813f0a87d1767ecee4254159ba436f2395ee796242d8edc23ea391caf0da831aa36b6754f41806b9d87cdbf1c3cbc41172d0b5fd7c544c87808e71f7caabc658d5730fe0200a85ae27069108ed2c1ca4862e5e6ce11d7cbb8fa7e026caab6b4a755481ed52e55ea9f0481e64f2e20d28219c95ebd53640de6c4104edc71d78a600d2467548a86c28d06a6a481ce42ad1358c1ae802c1ce9be2eba1cf8303257cb29239ce688e4539b2f460ad6999e040699ca9f478e78db81deebbdbc8404dc8103ca59a2795a2054ba4a07965057afc69eb1179cc544c6bf8f2612794856cc670e16f54a34fe9b0ad5165531f78731aadec91f0e0e8f33006080b0401050f1f5fe90ca2ee6fae77c2a48100f130af26a8ae966b2b7ac2564ef2db7943225990277077c077a070e23131c43a2ca2f26987dfcb56254ffe8d0a8cc4c16344b66c0d034e162a689c62ed204d515bcbc85e3bec192794cb2a773d2ecbb339bfdf4661257e69f45f796c2318fb94ab12b4651283609c3f4cae2539ce869cc1725a42bfda4859ac27079c1223885ccd3e5a51c2c18b95c7ef58a1f429a1c97c538686a16f5635dee540fc85cb3a8fc32e503da183dfa64ef4cce38f58abfa689e3a23885ccd3d21722907cc89f88698271a9d24564c02c251101a35c271738f6a38610957b85c3d510a246c8d067e01bf10b2d672de0b8fee931999fc538ff07a8353987f07778fcc96cbf5731c6e8cef22760ebc0181dc69882daf26fe6c1ebee0ee1eca4d394ee2fe5fb452e1776add3f1d52b185f173ec7914aad11ab1f2bfa50fbe5cb952d01fa4cf580aa08cc1b3f3a7cd904c79763960bb91065b91fea3673f1628c348b349bcf49c8408046107ed5722f74295c8afb95c04af7cbc13101dc8fbf5c07739dc3f0186ff2c59f3f18a52976ddb7f8e1ba972d8e5c5e7c90c41053175eb82873fd5b10f2c3f51f2283eb5ec49071fd91fce08a4b892a423f401a6a02841c0c71dde876aa078c62346591404358a9814b1935f8b0032f988862a693526f561142697b28d639bcc00635573e0f8feec66a4345fd689cc187784e667fb89fffb33de701f1344fd5bfcdf99bfd7976d75cda1ac6e1d4d2aec541545719873f7f8dd6db99e0188727aaa3f089643f339cccfb5817a2ba4b1f87c5367a4620fd86bcd0dd6fc825023f5a17baeba8f601eda596f6ca4bfdbabbd2beee4e6b294b32f1215fc48958fef23fbf4fa0094dc44d3434343444615247e916275143bee3425ea58ba610458128b4941e1847c79eb102b919aa048060842e7be002283454444865dc88f0144411aa212424688809e2891b22707114049b202c4c37aa1b90ac00800841883a2eb7e0323f0f0f20ccfcd1529d036841c47557f5509953c041a1da97bd7c31e6429c9e14f497165738c2f6db9e85ebfa571e1ebd73c3e4058ba7fbe15c1fbae17e2ca42c58703f1dd723ec86b54edc72fd3bd503aed045694b855f84614d3facbd15bad4b0a11641caae3f74a2db4c7289632395a1f801983b895a87a1f8c194de812dff69d43a0c85982bd7fdb978393dfc7ed4377c9f7ef829fbf30384a485214f4b3f18d6c44b3e349faa799a9fd6a7d2f8fa40dd9ffa20f0676c9299879fb2498e7c66ac2ac24fa28a2d9ed4d7d89fce73dc7f26657f68ea3f9ab2aaf9299ff9af83cfad19ab9aa90f42f3295bf3341fa47eea5336098dafcfad8f2703339f7ad5acf1247b547ba0d60c9b87499b908dfd81464449469bd568262792d08cffa00da3ee4578a0d68de756f61f4c824f9ee3fff57f8e7ce8d3bc667f60130dfb036bec0f84d91a58cd120dd894b5a78a8faa00eafb55d1064159557ca0d6065f15a449f6f4815a5a0fa61c5c1923842297ab857a9b3ff299f19c90dbd81fceb6913f476454e35d68c68c9b269b1a8ffa1916657f6ad87eb24d37364f37bcceb3c14d355635bf7e6ad19861f39f0b75df4fe37f8e7c6c3c27f480560d1fd477f6a7fb231f1a8fb23f9d6d1a4b3f6dc33a81ad1a1656bf4eaa164603d49a46aa20b0c53d6c714ff334fec8a73e4a550114ca3fc907f534ec8f13794e92bdf12691378d3cc77f86574384facf895036c9910fcda33e098d55f9cc7cea675441663ea502827a0b70cb3fc87c3a011754a8c05cae96ff0875abbe121feead0a08cdcfbcbf005c955b4b9e03f32c3614114514615cae16b7aa4da2c4a50282fa7cc95b404e6620fa6289c924ba44de14612a115d9f4cd75d4caffca337d92cf9a74ef862520bead6695e74798e3ff5dcc9733c0051b4dc69de00c5ae4183244a8d74e1e496447ad6b0a1c2779f525a18e28dd68546bafd0ec1b8b9dfcdf5da3736275cf8d1728c4f02fc29ff8b96328e26fc4c23bbc7f7f8445c46d92b77c9785353b377f756e822ef9c963233fd9e81631e8e5ef65205d1a5dee3b41822b21c97cb67504b854645dfa91e29cd7fc66332f33459663f175833cf97bacfd899cfbc8d7a5f12d7a5db8c97459911466da2ccf6503f793d11824db088c7c7034201cb838617f58333f04a6abf7e41d7cd9edae5f4d4e4c444b30c262d654c5953f6b9c04ad0e9e9e61d9146fcbec04a57b31f10d2f5cfbcf9b10b825e513f54176d51c49733cba684ae028e713e0ee9fa73d166445042e11e68331eb054ea42f90bd6f1abf2f0ca2991e7f87fe75dc764b343935f8174e3d74c34a9753ed8f4326a9d8f225d225aa76160c594eb9f4df18c48cbfd6896ebaffbdda454f08e44be93fd34baee193bdd6f7b4da355e66930cf714dc973fc7d7b7ddb2b23826daf1b2c352382286c5a38e3817b36261887fff6621c3f547f0de63b8d8454bb4e835dffee8116574828b7b9e01d8ae4cd0451904349207d71fd398a041fb2093714e9ba847283a57e9c8e025ee9c02b7f390451c88ca00914c977bc07171825e12bf0cc6336a5579e156544bdca881889d25abb0e36d296fbe15cf844b4c52195d11d21372a4a4320de45fd56289b2ae0c3ec5b6908428743d0512e1946157867c5113800effc5840bcd0077f66ad70dfdc739225f4990fe8fef028d039f04580528500038b46b0a9a2c26a6a4a6c0897525dd49bcb5ea40823bc04d5f956d77bf5b7db2ccb359aadb4e76739b5d4a75d790e950aab20697ffa27efd496a318b4eaf4b9473d744121ca11d50fba807cb563987fb5029c4451dfc99cf6e6bda6695b7b4648a8f145fd58574ba5ec8f921680f8f4ca5d505316c85a29fb034bfd6ab5d3461938c6f99a7a0d14d41cbd5359ada3e3f6c757617eb459aa1f6d817ebcdfcf9d5daf947ae01887fa4efc329a6ef6da339df914908fc718ffa761f4ef0f125fda24324992fe540caa4c05f81488e7cc979eaad59e6ab32a9fd4c7df36fbe3f257123f094b5ad506838ffcd45b607ecafed423a8f4f26bdc41441501485f3501f8f421ac47aa095c6a5513403d7d6a89d047594e72e413bf7e1215ea6d926855d9ab50d5aa32abd92072723648fc7e214754fbed67e6c3140bd96bafd90fe85277f777ab84e6fda32de2f3e77edb1ff19b719ca2505581e8233ffefbd07c7c69a12b5aee13e06693c021cf9947fc66f3531616cd17c012f9f43d15b53ef25de5139f5b9ed9a8bd80b55c2d570bbf3cba3b84ddaf0b2dedeeee96441cb7cee7efdc83821c736fcc5193b7bb678c31eb9e93399334c6cbac93e215ffe7d1bbb786949953331a13ce668cae0a13f9abc7f99f5c7ca8225b70c3ec81cea00a19748841cb1114528058c11432b43c07afdb3d0ecee5d80bb45cee72ece875bf67c92db81a62e09444d489545197635482b8df3b0ecc37dd08d3562f299842cc52163b98028b58c50e28154099b02166972f4604c58c76b8359763464dbee06c749871440d0a38066590e130060e9218e30a2fa62013041cf4c06a4a6991028c0cb3ce9902309c1632e4b012a3c20218a37282ab5d8e5131f2222e11400b0c9ec0f2e40b217210a978014b0e3e14f1c4098456b06da9fc9c8d190373e2d8114937067a8dd05cf8474cc1f197e3b217324e869074d9cb1084eef797bd9039e23ece2a1e51e54a7ba46f08bafb2171b95ca9cbf1614a528e3eb52db3be7ce97cf9190b9788fc1b94ec7ac5246b1dc5102ffc76bd98b43e8844658181820742d05045930c413029f1f48357932d4c34500143e90a13e4e0490a98c080639ce9cfe1209509424b490a8ad651a43f2d03d1122d2d259e0b5a47104ad9a8e94117aca008a296a37e589e13647e16a60b2f3fb494dc54d182548801a2889692da456b02b5b888f299d47f6c28d184122d25a91b5af3815a364635f6ea04c8ea13a6849c7115b122be68c9f7a398114d3a849c78eb08daea6ab2c455c33d0d80cf4bacb4620991402e5ae4583886ecceaf39a77c12fc1b4842c7e221841042d8e4f424c47b47bbaf583c0fa3dbef48bc38c086cd3b11a8a1c432df4a196394514afa6dcf2fcfd3bcb86dafb52625fdbb3d5be6a26ea92ac13a9eca5a75b526feb41fc72cd5437e9144155bdc0fbe62845f0485d1e27eb0281af58ab96b669c35d9f7d315b8c0fca5f40937a11f13a8d8e2e2ff388a0b7f058802bcf0514e9011c5893190b8d5b38152bf2a4250fdfb21e0c28fad57144deee70004281d0941a9074e5a312d4f3a68b1929194322dce9b04c1e46a2999420835f1e0444bc9cc0b5adc277c289e331fd065322620a3a8a5a4865285cf7135a0a8fdef49601231c2ff41ed997a4ce8ff00b5e86b1e0968c6514a3f08a8456dd0f69cb546f8a117a715fa1bb534d00fd2344a5fe320caf483b420ee3c87593a74678f5d643b8ab85c2e576bcacce35e01610bbf51c0310ec7363654f834c6f819add1e5cb2fb202bcd30209aa1fbfe2ef88cc29160ff486dcddb15f02f3b3e7881811815f2bdbb3e631d1fe0788049af6da0701b5341bc43dca5a23f01bc8cd6c7b56b4e7344b83f641dba669bf51cf819e133f48db3e883f28883deaf8992484d715e1b21721aca0d6b40eb4fc35b0d408a9ccb0e4092f38df0c93cbeb1fb9b4526ce90b1398eb6e5f1acc7728adb5eb4ae83a4aa57b114214467cb9310203b871a9571a990c552388fa694f1acc4dd075da1398d785dad394d71646e88a123786887b9a7bba89512ce53413a54610f4676824539b74fc30180c069b49f299a499a46f26094cc731514c8c617cfc5da26e5552da14faded7fd3a0a61ad13e39e31adc31acc73a89f067b7a6a9d6f26e9f6d7dd6e1d303126988ebedd51b8a79b7bb8a787b88708ee69d6735cf29ca55eeaa55e5a929e46a657cd1a190bd8d95c0960143431b427588d712982b90290a146a7ce77b437924bdad392f6d4694fdad36a84de61ee7274b6e2bcb46254691de59e1553552288377b233437d39e5888aa09c06b89f8cb9f96da23f0c62732dc53a575383ab54e7b544520bafd925c18eb15fc19a61a4772ca4d39f540f9e4c226914cef7892d3e7612e9c723dc977525c3aa73f92f15713873db91f5572a52ba3c828e6c2103d8c52c31555fa4895a8921255bab1752ebd6e53afa64a4ed40f325125fa258cba7a88aabdc32dee6112aebb47f7e7f766aa078c293cf49453868563c952ca973146d96fc4bb7b04a8902f6af00406085cb088d2a508cee03d549fe1023e3479f5b084871db270f120a4eb2ee1b353f4a62f4b4a499ec342bcde925636798ed7e0ce25eb21a8bca8df3f4e09f01dc2875cd06ddbeca7691ed5344b7be53473c9fd032eca678ed29f9998678c32e3c9d37e1e7ff86dab72bbb189317671b3d2e5bb747e2df2c72cf2c738dd034f033487f001071e3ce1f0458be1d0e5a62ec770481ae2f8c3c16849cb10ac48081324bd5caf2b4e49b11b604b202da1b444d10c624f96a25c42e8c625a2dc281fa6629431ca18a52522638c324619a3fc80f83e2186e3cf8631a8170d6a1083980d4d927829512589a21b43bd464858a286a1a7249e70a1a1e855638c1129c618b560c095aa19624243363670242e9c68a29cbf794cb6e7b6e7ede7dcb6242eb86deed3abf6e9557349b591e237d217f5594ddd67753f880491acfd42c38bfa3512d24c0ff5834830cb74c0b64d9bc3a5a811c9ed075fdc9d19c1714ec992a58c1a84f459a3d4d287deb4d08ea97f5f30c844c3a97efda23a2ad8e0d4397ca7a7820d4fb0875ac79924f45a67fe10c273592b0d45d3f1388ad3b4cdc2002f93e740afb9f44b041b384a51fd33af9b4cdbae194b0cf077a2f2300e7f18a6e906117548eb649d4aa1f2d00d72b6039de36398846ca9d0eb65a61a519d92ec7a038ebf98902b8b5296305ebe1986b2101181a4440cc6bc205f5a2b1d5dae96bb7b9932ad2e53a605442f5891cf61ae157e22986a2195814e05811c86c384f982c68aebe8857e78f4423fb7554de0b6fd7cf025e242436e200863883fe253a0756a6e7c8e46be1597bf122b2a20ec39d7a75aaa02d296dd6de739d4aa80cc499f3e6cd126fd499250bbf269cbc878da1f7e906ee2df32763b920c9ac4b0c4ee8dcb5ecab892842ec78a78ba4c976345a0e0ca204ccdede768fcadb8e42bc94065eb8acf0fa57545ab0ad28af6e7c8020c83c0875fe1181c6d9d671c3e38da3a0d2194407d54c7d3753574425d0d4c38fe62383469816961fa802e7c2d4ff458a05ba81957842570a7de5889f033e0075d377050e1cf87dfee437ae59f0dc9bc163c20bd622621593fcbb9f7cedbcb1ee5c156f6a9efc6ff932d1674310edfeccf117c17c26256cb535f84b167aca4be5341600b65a10b26215dcdde6841add456577c695ddb161ce3d8b8a1c2e7e273ffd940fd47434e9d4d67ae200a28dbb3ddeee84f4681328a75b41e940ef7dbf7dd3c11d0bb7df700de61813dc01f788171f44b0f045e80711b07c763dcfe1f5cc685ab0f3a7154dc3ee563f3fb001adcfe1f30a75390592a0523508b0c354d6b4df36d26bac038dac6930a2f0cd1fbc00bd084fec143b8659e68a11d90fa7e0db48e3fb592fae95911a2add44bcf8a506da59e53340a854319132f0ea2500cdd422232ac645166164ee9263aa23224fa22b967ac64bfa333fba3a4059b884e42ea557bbf64108401c22f025168295d0df019f2181742085736aad41ed22b8f487c07f5f08bf8ce7cf81b64790e8490e594d6da75ff48f08aca1fe8baf5602b7af03e348a2db780b7a62dc235e4b1377ca8fc4eb22515dc2d05c028e5892d3dee2c24aacc606da30a0bb692864896ef641fbf003958b3880b8ce349cd9e99a9009f5996e77851bffb5021b5618a29c488324553ad1a47e7c6a1669c1f239daab62964afbd16a70d27153effb495e3cdc6a150dc16e74bfa9e2a05fa77cede9a6bfb5519658c324ee91afcfe4c059f5531c64c8a8b298614bbfe3e7564284a2d154106f5cbecc74b37b13ece26e4d2bf1146cdbc1f736a13f5d43b226ff68cf254d95b49595536e78b3044fd172cb9f37dbe4d0fea6682eabffd8eec7bfb98ea817a984a217bee7738caf3cfe4750a5bf339352910bbf381b48ecd9d8fa449efc0252f9fd6e1d80f44dcf93ce71cfa8107d325c6eb2efd9dafd12c070fce9ccf2afc953f44878801d2ce60c66519d348b32ccb546e53a0bffdf68c92b221576bb7025f3b84a94d4f9582f65debc8b99254aa4bf96ebb87f6a32e7b649b0fbefd47a4aa9f2fac1df36b9281dc3373e7e5ef8f71fe8eeee653568d11f5eb3a167f3716e6a283a78b18636c54b45b6c11d9fbf8d4882dfc726c622a7c7f8e911d067d831556fc004a8c64a06ee0d30700e3b81c060dde69817a23744e3f43db89516f6a175b08c389014dccb4024285cc38f755024c074a87ce3d0aa1a9a9298b8b887eae539ff4e1ee29a0624cf9889171f04df9803e20641c0cd4b073b889d190e226091a4b51900104241acd20121927a4f10412d353ad5da44c190f6b346b482bcdba3ac5a8df53c069006174050c12d34f370133df579ee3acd1ec07ad63aa7c50cc8deff2fd5b585af2184794551e322141499746335834a1eb09c915f57bff8fff2dac5ea3d98fac85d5d27b8e0f2a8425ac5a87d52be804002c1c7f4c929294a208c16a6d9dbe2c51b01ba12353c788e11272748007e3300b7d21f586744008acc2cc08af248361c3f5875c06bb67325b8471482f7010c239f2356f3a0d5d8f40bd33c6c84c45d9cf7fed7077ce6670a209ce064de69c738211a5004929e2872b5800818418581460a6942b74c8a44c3169789539c269983c103569228afbf18b63a52538b81f2f81892d51e207137739b66488255772e0f88b2d99023b7be2092ab2987d66e34fb744fcfbc6879188470861b41d8459ea47ad70fcc564404282080923570cde1cc1c3039b069476258731f2cce0893484a81fc38e38a4f1070b90a9b8ee3601f517e0ff4ad48f61fe477ee044f11b140c0683c1266be5395c44e3041cb2f2c14d141a6c196ef00e1206e29decfd59dc23e3339ca1631cfe42200ad1de6013324b3d47153b3fb00b94232bad1f251b0d4e5a47f095c0a01d5a47af2da95f276531e7c31baeda49f367fc47dbb9a63ef73069ceb01f45cd0d569348fdfc9edff33b4b8dfdfa06108a4b633ffa751716665e35817e9aa7b14450df3ff3292b34be695898a573689aa6696cd7756a3e6a3e373ba957934bc7bc56ead59cd97ccdbf9145923b0120a9cb92d665a90195fe7c8e46b2bc61eef1e721755cf910b2e4532a3170424f7cf9485a873ef7f2593924637125eb80a1e02e0db8f2390fa75772daafd678341e6771707a25bb8e66cf695e57350dc50da8fe9bd3d4aec6a3f13a15b64ff5403d0e0e731ece08dc7f23dc8e73785dc6002fea61aac7cc7feaa97744ca1fa157f2721c7ccf1ea03dca83369ad87cf8d3786beb64afa37350ac9343639d04f04abe7cca3d2cc6217f8411581fbd92673e559804917ab5352744972e5dba2c597263e386aa41efcde50b40860a8982c487af54107f9824dfe39e7e79820b43c3d0ed41231887fc661cf20652ed25db4a30a99526d09f5954afa47ce66a56e0e2ead5edec0d5733694bb2706def511bd4a50a195ae85a52e14b861f0170e147c3a62e6c291b0d9889d7fd9889329ea668a209169461e386ea4e8a5c660901c31d78e78b708f76e51fe11eee8e2a1090ca0d41520af54afef0983144fdd12bf937be54204a4a6e55daff1124f2a1900fb58e8a975ef7f3a5d78dbd922f9f765baa479b289b17bd1846d5bc4abd9b1944fb3da8de915ec92eb5bbd42d062a8db009f4c827b6608190513f567a29a57c9b2845d816f12fb209416db0b444c3a2bdca6780d457d17ccdcff8d4f3d7d6d196701642f26fb8ea10675a7f78d5e3f11c29a54c4e1b62a1942fa5944f63599ee354db255d4a97d2e5b7b2411ae24291d681433c477ecab331aa1f90ef02f77430e84a4da6eec74da9cb3872be82d890a668a289327e70e2b2d4c56504b78e0e568e55098fd38dc043da8566e55895f0384dbdb3c172e0b652aef7fb7f8077aae7708f76fd5de09ec841eccfcc605c972e0f08e3a80053183860b5cb064b65e5e091edf9f3c74fdd436ed7c60d153eb5d18573f0b0c8a81f37d5daf90fb189025b437ae5ff43fd18890b8e3f15307129e2926508d9924b423cc7b3272ec774b872fdb966ef192bf277747c1ffaf2e143edb3682b209fbe8f7c9ad14f62219227a1b6be51afb854be7db31f4845105d0cd1ca9e8b4b3f85f6537b798e0afec6da6ff647b3dbff4cc885743846e5969454fe4c72e423adaa02f2b757c1f949a85541eb237f7bf9f435ed6d92ce6900b614b5b4a7ff51cdae3a693f6a85784e6a048ca395c02566001b42eb882a814b7851c1ab75e4948ada1f873102ee61285f5a552b7bf941e6d397999c1ed3e59693d306a397f6dff9f275f04831815083b2960ca25615ed8e1f9ee399ca83cccf3e9b56e51648f65fbd2fbf924d0985e04ba869a070fc153931f1c4e5890c8a5c32d2171542975f54f470a54dc1e66e57ca2865fce08b0bc79f0f435b9898b2a58914147577f41b7c012184d0128110425b2313d57bb003d6c28a2676787d61010ba4d8011561c05250663a9973ce09654c17409491046507a2a8031f6c903e043999602cf16108a58589182638a0b204cf0bf213495cff9bce9f05c361654fb22846c5a5839afa22bba16662b258982daae48110544c31456996011342a59763535e2ceeebedeeba6d3785594f97314a9df6fef2935099234e77435aebedee6e2fded8adcdcc58c145e8ddccceec3456645c94c1310e6c8f927a8cefa8e9d5e87dfeb1b9cd1b329533626816a56c829049462619b18090094226199964c4228ec1318e4b1e3b6464f94a4ec7f96c848ea256ac116e13ce8f1f53cae914cb7491c65ac5dc004534840d17443652a0e0925e2d664a2482872ce8142728d4a5b9b93440b8345d2ecd53934bd3c3101d8799418c8722d473a91ea8c82d05604bd1b531292f88368811cd403e5b2177620c05399c200bb38e3b51a2815b195ae309ae50ba5af9000b0f5accaa110fdcac3a7608e2c697f476350750d017298e4c3083213859d29a11cc9d312d6270678d52573b4021e1c639e7bc32450ae6dcb8c58db575e8970a35192aa5ac4c488728347b3841a43c4ce1a14ae7f0fd680d62888714242db0581428a6404069684a92f662f5408668832a8786206387ec08328090429041446c0a94325274787adaf2c489b62aff2072da9f2460c87852c4cbd56a69556d81c8f7f758b043a2d6185157105ef1021d809056a416555e8ee950a4031114a3fb3d2b076e87533a33b3d79763d3c0b938ec18dd23ad0146f739e7b48129167130ba73ecc81246e90d6314ddd393a4180e3ce011d4d444c809d3931b78ccf02485871012104e783821eaa074b11c8cb448a630728837a8f5b29730568043184384b1e55714c8a1283624c5183eb8f1726c88069aa6699a7777ff0a3a99a07de7c0c1ab1c0394c03dd95ff75a0327f40e6eaf344071400d706426cd8ab63143854f6a3fa9ceb003458e2029e284a408f4840ce91513b7a8f6dbc3a118a55c873c5c8752031295becbe5cd9777742f7f5263bbcf58e1be5341bac5fd968571f8a768d8b9feb1ae6bc5451e3f76f85059c0d527f70a4685cfeeefced32b8770e539fcd173278129fb13c7a3a37ae5a43602489feb28ef2c4176a7476e7afe9a075bdca68015ec06b8c5572aa1e968027825fd592bf90960a1def638109fc9a8c4ae94653dcbd8cc0000006314002020100a88440251383020182bc2f00314000a819640805c184bb32cc96114848c418610420000c4100200234433eb00431107a44bc516235fb49596952aa6ef8d0fbf298d54dadf5c4c49ad2606fc08b7837562f84ea91253e2db12e652c9e16a64b58a2c79103e619732c4bc931a8edb93ddeb350e236ccd82ada2856cbd1953555a1b3e010169f640bfab9bd9c6ab64f0170337747ab2a84a974b96f2a0006104643720459cd9b9e69ce06975173cb4289280370b3d9dd31ea79d455c324111e7dbd87bd8a40c6db12178051d3f2ac5763916de855171a28ccb805d9620efca7673a3f17e210f4f7f18b68d0a562c0b20977abb2cb0a93d53f90125760ad09430e6f010d8d65e4fa56437854fb39d134a82e07a2a9f5ace0fd3481fbb1596e885f6fc648edd735bbdcc03a484dcf83a1d19bbe9d0121ecadd3dcc33079b646cf6e80edba536384c43cabccc1c3db896b68818d261eda15ae377cfef8f61c564a0119e6d217a05a805d91116f6c92de6ee62a96469d101c20a721cddc21c40dd0ef51b5a5eee28672c2b415a702be9dad8a55cc3d01a4102563275f7498fec266d9fe26a407d1554b7ac55af7e2ac661ae8d9f62865d73f5aa2f9a1eae0e400687d000050f3d668109ef76c31e000f02c59461885132efb4a547cfbc88312d801a468c6fde7f0421a0a43adf238bf7f0c2814d37313e6aef442d2d917ab64a3c6fe6518711fb73ca67302c3d4880827b614d2a1faf722db6696cfc1c4bf3b07336822b067328b9e757ff9029fb7913ab9f9d2760955bd625a61df6de8dbdd3805f4574760e7555b333ccef203024d2ff0f3d53e9456440f36bbe34d377e23aa6232f4b08a57da87ab9cbb426289862b4a6bf034e32f9d324337bfac9bd1bac1540079a7e3d4a81318afbe7bcdd37b7a34b9e2ab88f4dfdabbfa51351bc8a9630abb2fd22eff1acbd19231ed3474c4b6da023c2e9b716f56b28ad0b76ff2eb5b45d74a40269d6739ec414c5d06c093c43e4afafd2545f5520c154697b762b9f69aa78e60449bf211c7ff6e167a8971c87c831ff72f1a0bff063e50d0269f0f10f6c1300a23e9788c211efd9a4d2d3af0b2d65f1a70cd98fc8c32995e8b0965e2f121f0540d45110fb4f56132304c029fa790bdb27b29d5b0c72c6e4fe189e21c2d1a769000b3e351e938b92110319da974905253214f501a199498f9c590ee95ebf1d1f963b297a237980e6e922afcd5028155e26f8ef8213b4a791841fdce30e5e3aa9fef0818a0b2ba3e3331bf174bf56ecb7e24c1608f85af349e2d7f7569a94e0a328f52228cf8f8d1b59c7d53443f5886319d4623be0d9e8696966422a18ef394e9bb15bbfd22c58a2565c4b6278cbf5969d7c0bdb8da154a7145e0a444c8f15f7a67dfd2ed52adeba2c0610520266928d5e1028d95a58e1b5e5090b3c8b558e222c19e4a374b78136d20e17e25de945ea035c968e270d9a5d043e2309378ddfc8a971b0d280c25ff4b09e437123cd6d2909aed5c27eae0167d5e020908fc8845da9e925095a45fbfb34da1d9a5dab2fdf95161f9d5d0d29ea6d6be62b1b2121d85947a22733515a3c4b507ef22be8d68364195ce2edcfd90bdcadf4a30708f3bd9f663694adc2590e866ec9c292ed6d067069296c9dca44978a85bac8cd172c0c6202abc70db4a12fe1e8da55d93e871e29d8b9ac1853af18826c1811c3613a6e3a9a5e8c615c2347b9ee5672d370cf7e83e47e26f857ee8b28e2da8c28929e6d7b4d2e230c4afff8d8e32faaf55d0dce5da018c7676c7c64527b51d88a8634b5717db175eac3fdb925701facc1cb7c7c091f4d2e0cf1045f97707b194b3cd04f0a79e78137da2157beca626c00f34562896c006b41d32f0cb9253fcf6136f662c0384f1dd82edc8b451bf6f030c6167ee25f514660c2d7603337c492b35ecddc78516bea0e26e11397fc0c462699ae7eb53746738ab9c7a5f77df2750a6a5a0345404a41e69298caaea316aa6cefa3dfbbbadd29d714a90dae2174268c73293bbedb2202af88b8c49988222948059f868382f66d4ac7740647d6cd53006ce994df20ee6836cfec5746d2647a7fb25c6df6769653098e81543d80a57cc08fc20bd18b17d3c9e15f075ce5e15f6d90c68bae896edf4e10b2b1fc2fe4aa7c8c6a553a3c48489500a8bf1b42284fb30340c4c7905e0eb16e4d5cc48b4debc447f61b4a07155ba036c742607ca3cbf106a418243ac440a65da7b02ee31397aeefbb4f43a48df31db119804f507a7ac74f18e67faf49b8a883136920f0c2e11f7f69d38b347d5fe84cb809a5e345657a790c33b6735617aa508092de0e146bc5a6decc59ac2fe568b9038cc8039d0fae880447c591277a758482d3f097babf95c14e1935c7f5a21434ae1d57c1f7067a0ad8aa9009a912c55926e406a9046faada1237c8e1d7aef3ec9072d7b4aa35ec71a7a2cca363f3381a5b6a3b01d316b4d67bb47025030e50d33f57806895217f650e2154100e0221470a5743963f23f9940dd6430fbf0e830a0d8fd896b7832ebfd8e394f166ec1a1f1ec8074eb7d89d62e02e4d870d64d0afc1a8547b619462a34898b74e05d709a32528058c7c431d437f91fa4ce7d7985e60a90228dacdc4eb8065cfa40f7f64bb8580da5b0e15c162edecf53ba05948f36dab4cf16f4d3d6ceec726e5deccaa03464752bb3617e07660e00a0d7e039b7361b2b606b14e25787666c2e7a356dcc1935af05092003e4837345b8840274a0d9ccaf0e6f0774e60a043d9b151111c0eb0f7b270c0ecd8cbf5bba1d47323a5574db632e3d64f7715a86814d641bd3768e3dc2881d5c639b15b85862652b82d6d87f3d23d21182fb3f3b06167a2e58bc72b41c576409bc7bfa5a6b1c07552c2b095adad284a26b049091fd696f6b184cbb2d4d764ab8141f4bb45e5d13eb8d246a44f1871adf3bc63f60e068392487199e3eac6abe8054ae19bd04eaab54ee9e35e9c1e14c449040d5e2cef490823b87b89ecdcf734e38f5b7a608a58074f7047774d49eb572e3ee2b1f36c03c6b6f75a239308e2812f098fb84cdfde63992227b5a2c4d7ed0db37fd0297a13fe1dccf1aaac5a91c6f948383c8b856469660389bac2bd20e15da2cd1433cfa70f629f98aa4174e192ea173aa344d1777d047a89ba39cf6112264ecd8033e3fec4cc85d19b5053a9c2723f3c22e7de3e195dea45b9c054accc94e94e19c447cf7e0d6c8dc228354fa6401fa11bcf5de951161aacfc0588ae12edb0037198094ac2b0a162fc018c25600c12aead6d7cd835462914662c8a04a998042294b8059aa2a84af378f9a83ee9de1bb8b9364c2a97e9e86c79ffcf415a3f96191424131d2173674880e255fe9dd742e6b2bc9c236c773a2e8e5628df2870509cdec78debf348c3e1d87940b1b8034d21603e7b62382c5595a1b0837cf84fd41544d8c62277f22ea7454bda6326b9d3ced141a182da0a66ac394b01c8a20724980769a068069594904f3e6dd5276c71dfe560ad7aa97eea4d685085d4abb5f68782849053e94de2dc4431432c7707ee54f64d8b95a7f7b8db716ce31b47aa2ced1c8dd6b1d437050762d7cb85c3363d0ca5993f3034a3bade72c429de5a572602c9862c0295238f037882031773d156f1ba637a43965e99416668772a86fd94739ba18b06f4c14f340f6864969481174f27e336be816d668099e59b9674586649c7530e36a234a0a750cd01e9a2d1a4447f5ca00adf617b79026e091dbd8b3075631944036785b30ecf5ffb4c8f899f4d6118a53996b7c026240643bb43a4edb95acdc46a2a7a044a85bd107fac8517342cec4f69be0ea5f799a2be418afea84cb44442bad21b24d964be2f2c709e5449a445e0f32bd4557423dedf07469ce0cc956022e148e743e8c3d0a5f71fd477e5dd32039d25a8c5ac3a72e5633e4df5cacb237b9710fbc125fcc67be0f4f813eeba92ad0845462361081f84b684103f6f05f3bedff33e407f28c838a62740f3a118d16bbf3c226936b2dc4e1c7e0007f8ad5dd1e32da10cc063c6233a63f8b8a8c96cff4900c00a210014deaa2740ac17438bb7e48febd997ed4a82818709bd0a895f45d7874214de4a2be64e4fc8737230dcebf2dca5f646370516023f80af9ba8454cb072231059144d548358d265690eebc4e0442aa24402dead433d19133ceaecfaedfe3263c2d8307a6d58918e381e642b52e16d4bbb8116ccb7f24bb086c357ad498249ec104557a9d3900218359e840ad8f95b4825442336a502f4c78146148846b0b9fb789cfa8e4b023abe020a9395c2f5ebfb80c1ffc4c6c1f00ebec5116ddb067cd93485132ebcf8e9251c7ecf5b0fc64dfff0e369da91fcc138e0021bc9e8bf850783b04dabef53e7243fa936ac9b64157ef9cabdb9698f75630088ca8147729616dfd7e5e7b9eecdef79b41911df979a36ce3f2e9d7e52834b0762bd13399156049a1be409f2d8ef3470a33c12e58ff49509c892906f67b8d94456519eb9d17de4512503e1fb99bb6a0407482e6d0d4c3f6175f70d6bd16324cd82eb8d1ab0229405db0ab2c71352b9ae5f1850a8360d3c8230806875738691f4c124ef19a4d4980c51304229c404d732889d40a041eb57755f1258c25e36b2d0d2815c09262e26db13181269e988cc9b3722cba668c938d25e42d6f2e7daf3d1d7b1201b019b178809c9868321570d27212400694e22c08352f99c7018fefcb44ba138c5fc0936a381e22312b3101de2263406825b7dec6fb468d7eb87558233943a54cc8f7761d50d9cc137b0c27fc228348e57b2436fe0643849d0253208f79cc14203bf89a9db65c3db08c3ad00c70c5c46623a29471c82693a96bbb32e06e48014686e41e04afa4a9318787b5858d9d56864fa605b94b5fc1dec642c660a3971bbc563bfc501820a5e82d3bdd06082c972cb2c752c74c9e7672de1a19ac8e6741d54b1aaa2bc62dcaaa19a6cd0135c6b69d66c50ac077d7cd3eac861999f9b0c281eae66b64335d5cb5c2c34ba981b17d8f2194f7e00458a9b45eb838726bad11bc7072830e8ca2dc770f6ac08ebd0d7f98562c5c88dd4957de62d9707aa5dba054ce936d16d46b96ae3bbdfa669fa09c95df579e0f90680e4bf8582dc8998fd4508b953bc9f3db308b91ed845ae33998f0542c81d40965cbda9385b1b1060b05c81b00ebde1385e1dd706dc9e6321e4f6b1db591536b7f927f9bf6ac88f514c3162b269625b2ef374bfffd1c9227fbf5dd5422010d08c98d0a333b93cfa512226c4c087f5a8487fafe35cc53f0e51427822d7c9c7bd62292a7a38b404d95aff4ca3c866b75776fdfbfbe5e27e0b5978a0f6c75ae6a4c4f535c623fa4d4621e435e29cb2af3130e27ae3e118726c031e5ebfd3d33afb41990d2bac95248efbd7f84c9ee244f86b443bb721af748f5ae94b3f72524e251cefd1d65db18b942a0eb91e0c24d7a4a41a8b9aea67458222a15557d23bd85e00960025e33f044a3e760e03d4dc8b91266ee38fd021c6fbebf036c107edb695f8950fdf01c8d542f56668b9a8a9d133190ad3d9a13aa8d1c4eb98ce1b41adda74e2892319acf9e9fad22e89889a65ad8dfec38a345c8cdee340d74676f608f7e74f054ea49dcc931b87ac33a70583ecb071a8bfcdcd8dd4cf9e1b73ff95e1fa0772e560658afb867bb3a71185b3850eddcf5f2bba9cdcc671462a83fb0a46d869b035e52392b88a8a79dcea4fc80b1019b5baa665fa149b4dc893b4eab1dc9642fb5c81123dfb64f3b0b8e47ae54a9f76260036638e10eabf2c473a378b348b5f4f35c146ec5011a4b1367f10dad215e03bb5577529b6d1310530b029b6117d91e575c7ef8129b1b3720c2bb2255782f9d0ba41878266b6d9729e73803d129008021c8e0101099665443f2a21c7ff4150be78d90640be9d95ffc926e4ef50e0843cc22a4b87e711afb190579e46430bf39f714ffb1640bfadd308c7a8584c2ca3f72e291d533a761238b6bdb69a2da4114fa0e52e553e74426a3bfbbd25501bccec2acf11928b088e44914bcc3684f05caf593316bbb64e7071be741869fae3adce6948ef907f2403fca03fbb3db05a9acb371106f1aed0d3c4b1c60d0c701bb65b09900d876957961fee9684c870db19df435ad1f5f4ca4e824e7390a1750d5ac0f3fc4d2d428db5985af02b2f7facd6acf62220ae708038772bb3552cc65526a991ab2d20c1819f2b1f95a0c5b8ca4a5cfdd2c0607a62666effc50c5d1a05430624fef277fe0c962a59d74b79a67d57488725d2cd00597a2103403e21cf4c1d21424613130f0280f8eb6479e68b4a7a8ecdde4a086069a32e90a66cba335575641637fbb6903fd2847670fc10de037efb4c7080bcb8366f3829dabcb7714bec6fb0317ff49d960f3fa3d49bd781525a3e13943a890b79014ee5ad64e82af121f5330fd538745d411faefe947d363f6b54a82cbb63e8cef683b6c0feaac209c3a3caea10a3afd49a71390ed169d97e7e7e375953968aabb2c42cf9b9239efc4154679b0d49d8914b712e9a42182ad309aa7da741dedde0d5a230f6cdc667cac8257a8e13698336a11834fd140dec410ffafe2f7e23ea41314e60604c593a036301b73697d9eea071ba537d270334a612f3a3cd063ca696345c0fb25da74839b1190ef703b2178d1f2bcd4bfd9849ae10e7eea0e032dc2af337233895a23471dd8898089f26d4299bba481d9401aca79dd6abc809d6333e79b7a2e5f1a7231040f0c1aa9af26de125a92f4a125c8839608ac4b50a6c769628e100214bf09d2be3495f1da6317440f9eb1361840d1327c350c89a173d9fcf4c3c4bbe6191ec8a28535db981daed73bf9b39b4931e0b45610b10ee44b2183478f59cbcac24e16c6fec539c5c1db9afaa5bdc95d41d0260d86c910dad51eda860420b68b9553e481799fd911c85565088b27106d51d1026ad6304273ac99c3c13ec19c38bf15ec13c07e70586565ecb7878fd059fc1a84a2c4248c5493daf8cc72ef2aae7511b93d4b890cafa35da456a8cec22b333d1f593d63e819a0ebad7904eff843da9016d9448e050954295e025270cfd095833e00007fd32c893b056b33774a752e9a887a62855ec027669a6cb3126a65cd98e64ad283d002f1d6c78085e48c7cd6017d0e0850d54735077a9d0d1bb1b1c9bb289ac38246a9ca0fd1c9f3c23b5a09d53959b22a166890eb259133ef854b87edf0fde0a5a98d4c8707d92dfbb05758163cc25263ad623d4cfbd90b3fe098f2731eedfa7e200882986438dccba817612edd5116b5410aafa2de6d320a125f40486365f52de5a1afce9fa2e222fd7e0ca77a1d360299631e71b7bdb82b4bbcabde9dae97627a95604919040d5cbfd6e8a958c66f779ede474c4be001d3a3da9e185e7c9fb9f16eb6413e83dda635e24b8da1b36ce8b123e92c18bd9e1fb1453f6eedf2912d58539cbbe9d6b9de7aa86e92523750d5ef43f8a7ca2a3d14da3873826d97bf69193a109f371fed1eb3309200e46c1e96a8d0c9c09e63a99d4d95678a432cec09e62a39ac972d07f8cf61e7d95bcb4609a6e1fc7607956706f93fef730be7a2bcb31958f37793ae7e80cd9bd4cb22f51dc8687965247e8cc35d49ac0aba5c6e06972a2a093046a5c591b08db29932a85a3c0657b83afccc4b0ea69dc17f7b67398f81d055d6dea55f604e3652d6bfe71c248046316ba311ba91d999aa047247c11b8c48ae6b5993dea0d4f98fb3815d6ba59a3c70aa093c8872e02765f577e83d5ed8ea9eb945fb5618e50eab57ee28cec261f3ffb113c6b02aef7999af214cc1d9a6f3fb7bfe89e9a967a79fb6994ca4a97bf37ff0eee4a95b2595808a622c7ac85ae23daedb7dfc4d7c8a6ab6ba067b7ca58615d4789a237e8d59369fbca0bb53dcdc3318dbd4ae65327deab35738dffa622af8006c147f075c97b287a34949fb58ef93d6cc3958c626c40c3ca31c11924295a2804a4074b04e0e27363c80b05fab81e0722f387b17837e543a3047e1cd0d3d051e5702dfe66386a35eef5830efa333b72dd35b4922b62422fd85c704869bc7185062392911fcfa0f330827466325231dfa52d178c75958bc4db204938d20b8495275d607859021fc8d7946b1a7f45e23009cb43ca4eaebfd59066bcb91d0c3d42edbb123f3d406755f4ad7ba3d8445e96cff8486c0049fc88b5b87d1f840989d1cdfbdac86109eebe8676138bdd04a606e06f0d92df07f08a882b2cfa2e7155cff14c37b9b5282038b8a2c0a822392f45a84ea072fa60942b6c0dd6c1de37d86c80b407535c8daffb3c9b4752c4d560483bdf337bd6126086c8522c09e16d2328d3db1e7809b9289798e2372f01e3220f69f6ab85e0b443f5bf603816bbdcaba85f59f162ba5a8373672c8ca304bc7fc21863bc603880515e1e820b902622c778ca5bafc4803461700f503393ce308f32673a5f45248f2b31e5bfc132aa661b85fb7289a409bd5204fe936a6bcba8b163f5af757f222b3eb76b530a4988b9259c70627bd7ccde0f7830b5090be28c01ca125bddad6183845ed2c45d7826001b18151a32b18efed18b1875928de1273ee2028438653a4d8095f61a91204a685e9e1008f424e25187ef5e252d3a3bbf5dff5206b40d519081aa6901b668ee2c3fd46bdd4c7a7ba94fb0aa0b4060b0077aa7e048a5963ebfc2a50ef0757dcb81cf726d160369b071d4017dda194239f79e6d9bd75093d1bc4ba30ef8bc65fcd0abc818c823ec067b4b19d0b46a13fcbc8fd028a156a39822e29e25b232ceec1b23b08338e54fafe05316548b1c23c08b09cc911d850185c89a068d7116f3b214a7bbc8006688a21ab4f555403934e430c5a58b1341f7f6149fbd3b75609c11fd222df398912bd2919585bace82839b151c2338bef2b63190c25b52a51e592533ce1b7bf8900356d87bcaa9e2ad33828f6ecd1c9de3d03b0421b8dee8648336d41da2c9b83205428acd1c1b236fa8cc7cc1c26138b5b8b0114751082d46d69da961725b5620ce2244bbb06e54c847fff055a19f0ef5ee918d723949d622920dcf8b7e2cf6e4bebdd297cd5e2188cf2062cfa5fa85c7cbb129a436ca2fb56ef51e0620e87727a043c7b4a86af73e7b578f807731ee74a9c4c52fe444a0d2d81c00cc9c772c90a424a9dfed2b78f441c5de3c7e09d15d648d00542896800474217bf21e36502da5331ac28c3720d7392bfa70f9f38bcd1c095eb58c663a679562bfd478378f81ee49cdfb592bafb71d15e25ca06c93194d0a6485acd5309d6a5710955d6d403c28f1058bae8f6aeef786bcdf124b4a6ac0365d0d89058404d90583f463e0914dd8d3381dabb746392ca506c73254bd6c114d7cba9dc41e8d91d925b348c016d641d11ad5d549f7cd0e7343eea916bb809b4110a96ae8de1ca1257d35e80cbcb344624ac061adb0ff1e402b16214a8ad3bf51eb6343b17f9c9e57750b752ccb8dc18b43f2f8f536400e2843ac7b3f410b5f656a32511e0a634dd68bb4ee4f020d10111cebcdc5a7d31ca08e567d1989be2e744c2946bc74af1a8b6ca762a4986c1abbdde0c0e21770ec078f1e87786bfd41837b4f35b62ef3d23e4b7cebbf8dc62997b1158daca79218017c2378f108aad446a92599942a4c91e980fb8498f26a1c7250cbb22033f8e8c68ec0a8c7c964145f589146508de5f42350146248fbf47b6be54ad22c3df443c52ea853126ef608c5d52b6faee523721791161ac23e9efdeef401d17e6d0a637ca04b2534f4077665e1c0435a7597d08146202832aed6a078fa3521acfdbe2ebdab4642a47583dc5448fd340a9a504c38b6819199b0335d888bfde8f989bc00f3779b1cd2fe06030f7ca0f73580f5323d784f3790bf1667593a9ddedafd310982bbba53945a505d91c4ad50e4517fab127e9db311d38b85a8b854ac1136ea4a4993dbc709310bc4145cc5cb9a1c38d54e6479c1cdb797adeb854a901c400c7228deff6f725a0e693e9ce393688fcb489b900d9dc9763c00e49a7eca48fd306916fad85b1e26f31a088ad9029b7fb1e80a23f00e905602223836e871ca61b22abcac7dd6b269c4f1f920d65da51f6a7e68fe77e7e6a5ff4ab9bfb5d4d00046c40506b901d1db00392cb430bea7e850d8990daf57f799ccb7811fa132bff9d1a8b0a23e9ffe41038c75c0e9a9ed7f5cae5eaa982dc1b347d3cfd89c957675fec0f9220511f036892c49a12599431f5510287eef25e7ab89ba14ab21f5f4a274b42669357931891453a07bd7033fe51fbb6c6ee795d98c4b2979729e572697ceaf28dd87c7c54beb54d054a6ebf3a44a0a02c99e8b018a3c80e898c9ca6ea5b4449cddfdf629772d20ba89eb671fe310f90b3037b340ce60eccbaa9d7f6b82b9c0e7b492e843439ae608a561902023dd9e877a2851c0117ca99de0973638e59a7ff3cd1803b6132aea2f86750dbabe037f427255c4b7cb8d1db1978a204ce5f53912c3876a445d8d568c77edd9b039433e0502f01a70e1e0514a5ba0adcc75b1727b2d953a3baf8323034e78662f7d00c56d5a55ee7934c5133b54764fc581ae612de1de0bab30b501f58ba75e40cc5e2192ef87667c6b102f69124c1849a3a928587b8d7ddf0c0215478be70d4d33c172236c5ea2f8ca896f73a40177e008f74ce73fdb185ba00d6bbeeb14e42b905563eb7da60a9f9299db367263d609d2c06b04a54d956d231f0e1cb38af864e5ea587adfc329f441e91212cf9644c85e11cec44a30e5d0c6baba74cff98b6a44c465948572c52cf44a19cd5fd8f50a1584bd06cbc81cb422901432ee512ed977c6d27050d9c81e3bf800945a6e9dec4d3698480ea2d19b7611e6584bef43fc9e778f200e3d4c855e02f0a0ebd6d1e8fda20a13c9ac33e3d8af44dbad32af3c89d39d48027ad5ffbe8c5343c15965482fa52c5cea7dceaa701f5e721564b0c04507195b37a017c54e5b3670a5507ec34ed4f7424058cb8aa8682067335336c016cdbbffee6696b74af15cde6b565387cdcfb9b05a01ec3d9a19d07dd937288d478cca18af4e98573bee07e3d6b0b82c416fa1a065e0b7ba8cd3d252935772b66343c437565ce57149681a0f8286393abeb45f8c6efae22a87fe4a78c0fa773b777864cf0db0e0b6aa8861be1f8b63a12cbb2e00067a297c10bacd06db122c9d61a1f3378e3b2b0139b5407bc37bb0fe3b3c14f057b12e2f3d76d31e878ac930b7ba0ebf505d9f7beaaf1e86c2a218abe5d8b406f3e4f273ece41687ce7696ce191e91519a0861549d555b276c21eedc0d71e7a85d5b8e93beca18f50749828e4725f700371468053f8b6ad904799b383d33d8ca7a5151969d361f9fd68e8857c503babc9de2da789aa42398b33d5179d7d5e1724161384cf1e196a4e3584f9fd04476341813fbb7cd8475c0a4087c5779956b27c39f0ce4985be504cd7f3591667e9da28f549ffede46cd9c71d0cab40f1f463b8a22d20739a2d78a7877fa97e0e3d08567ae4f0feffa633ac25a942e6eae8102059a1a07755bae0ec56a29428b1352f2275615e63e6c50592891fb2439da17d2a73ea09ae3a4f0d3d832facd962a23e20de980990d3575fbdc5e7449a47efd7c184127644e2e156ed3894bae6ba534432d54b110c6abe7770a8966ce736653fab3482d51f4af9931bd6606398ed5d0b8e3beeb9482561f5b31ccbf4741350aacc8b5ce15f18af3bdf13903d556c0bb9580e1409314f509d65d927b97e0b5dea14c4010261ff88f34fcd00097b7d3047b71320d4f8ba8149657f3e2dbbe9b17bd1da751a482baac610f56d6390e5c0b53e5d3bd03a51ff88008086a154502729b21a8e4ec2d3b5235b682c4575ec72a8f8c80945716279c15a06d6c2f49bafb613efc7108e6852a435d7a04202256a4b6e8f851d762a06963a37986616ea688b4a031655c1132517830e664b273d23e1bbbef1ccd705ad42ff80cdc52427c9a80aeaed4fec5ebed09de90d3809718013e257e10502a154e7e3bab218a304c0c2f00aa44fb8461f6b8bdbb34434536f6df267e914ec7e0a6d8389372e0129ae34c08909b9eaa48b6a2ab47b4379db67bb4c91b89648cad4ad6c8024e84345987b800226f832ac5053455a14337d95368f5a9301f976e22fbc79589cd33eb92c9534d2e7ee3a2d8cd981d2ac22542988ccdf102324738cddf649fa77193fb292a1da237c587b0e951bd5a43e1591f90c0eb66a8520b363d30dd1d3a715f1ad1faae2c5c1d81b210edcdee981ebfc75fb802fdee0e5bf67028fe72e9ad783770dbc1e153ae4f95f89939fa4e4fff4b87db887e03f578a9644a5e78a990a6ad9785aabd28bff084b7222b1ae5fab12776270794acd0f731d1cf21166b7f0f6d8fa90e29b90f458805e44d0d156f3c81898ab9011307aeed8821dca890b1a8ba38eaf83bf968fb01187921771a6e33f0168c2c919df0075355a554e9c69b3ad190455fb916c00ba9f2b69de09abbddafbaa4a7104ac25ab0368dba9ccf802a60a4edc56ef142531820085c2ab255aa911c9a541baf8fea5005b923cab097328e3b31a322d0a14307d79e8e68611e650567477f5bd08a409e2a73020087191972f8eaf083530585287eac40397ab8d87dc824854e043de42ad6ea6f14cbf92fde60db5469a735dce60530f545865a7f76322ab7fb0fca7b187090568ee89cd9106bd565d6af1c011bd6d9b9797e9686c540347ae2bdf1eaa3018efef83045d99efef44b012c63c97e1f54de64c27023015cf051e4ef981458e30744f4e611020ad93beab563d4172a17d8e0628acf6780223890f0a5e7045912b70bca644e8cd521ae4626cf5255e9c28b1f6fd2867f8dec32518d8cfc183fa82a3dc83812ba08140a6fcd10e996a5f126cdb9e812062314051d558419c9a25c39bf805f0820553303623aa671d3539a97c35e342532b3eb54620f2cea3e12693df6bd4ba660b8bb7d5b07308a8cd11cd096e04bc2d33aa308149e0764793d3c63a53fe2d5d110d2380ffceabbf405abe76efc468348a4892ac44cbe29d9bdac01a52d71364b6fe32bce5a05a6bcc269654cd868e796c480dccc4eff6f56da167a2f899ce3c1ec4fbc6710d3330073d68759397d565d2d1861711316e389f77f0c7357e1c90cb35d0a89f0825d5171c9f413ba82af0366b91acbbd630e4f21bdeb6d73cca2dd56bfdc1cc67f208e53a4b357bea4f808e8a396bf16c4435d3a3a586515341414665b5eeeae5623cac3cba584a67f9e56e6b886db0cbc4fa487da0fc96ed0334a29284f1d99d7e483dab2853839842e205622f59b7a372238290f8615f563900811ed161c1566fe181c25db37bded320a90c1ce882c73f6a9c25c7dd0fa4cc40c1a95258037ad6f90b29358916ca045424489cc4c30648c3187e9e0436e60bff9ec10786816c88cb246059a67d2dc953df26291586059522fec43c6f9f0a9d355284fec52d9a1689a69de177f24f0a1bd782ff88485ccf0764f2c13fcb12fb042b82e589a8eba21821ecb5f5cd8d411bbcb62c27ed5cad00b681e506f1f4bd87ddc97efb90774a07f9c587734c414409af2f980b2083357f9c6d01c4ee5b1346d11a8a818ece097cf067c020b3871d29a4b12bf735a16a1aa6c900ea4785abb37073dc9fd688d58ffeaec6a9ddce41aaac2a6bd3d11ad78a0254925b69cdac9a14ee4b90f14f03032100e64beee9247a833af816224813e77094f31f880252af1293075821180e237c1dfb694d04e305697792048c2cd952731774aa9e5df90f92147e1a377cf848bf7d7c3b417be654d3cf018d805c87512fe6119e17a8804dba16093f036632c3e5d903dd989616fb00267f257bf41691f452fa4cf232165fb9b297e62a5ca88189d60515355e270ac5ab3b17660d0dff8e87843840c3a3a19d6f575f1843ae21fa751d0ce2329fcacd609d54a345e08a06fced863d7938a4546a4937ca62411f75a15f24dbcdea4203f37ceb73e3dc98c5e145a834ea119a1c91003267f8754a308df462397119ba667cd66e40aac57ca552767252e512f3ffdc2218fbe4035fd1451b03aa46ea41e1bdd029b36d0b010c925d485c0be3a34382237022cb050d8cea7fcb8b2504588a5019d86b06c70326c06024615630ef281a9a66da3bb566632313b0e6570a698a00219669c0c2a8384765e3fa1891523364adcb626ba7bf0c6373e308ef18c0b51652a260002e97dc0755598b72ae1329bc921e97821d1c36767c3389125570364b62722d554d644b618eebf9d4113fafa0a89618fef2129c20487775c78fd58ef73f0663407ed75b616fec8374ebc02e84948a652e1084c5cf3d0835fc9d294017e1720af211bb0f4df1f9c20f582ec89d55103d76d9d860f08c7adc12013a082221fec07c75c249f7a6f19bf40b807337ddf172a544df35b2dfcebf6a52c4d433b1c9563f5c8455c3b009f9c78f60b20493c58d80a0110260483b146579f6593991a9d6974fd6ae4491a0f3c36d2311ae46a80d9956cd06b47590e1b9311b06e51162f22a1c3ea6a141733fb23f88961d3fe74f262888fe9325c0e28bdefe06e643f05f2e4f80e27f21c72c00167a8e3d9f8e47da85e238907e0bf90286c71a8faffb66303eaebae28436c32943c1faad68f7beeef822488fcd7b6a4616d035ffdbf62e8c5e451beda574d01c99fdb10fc05c47f45f8b45aa6ad1a2f65e9726cd58c322cc764b025a4a2a63a847fdd30d9f9c71073809325f8849eae1a4c3a684c1a70b12fa68c82132d38c5c2d35191787e94b1a1fa0806fdb29d02fc2ad019b9ef93a9195c59564def9a2fa7b5ab0c11b578c79ae0b07e3a36d0374c9a748ee29c6dd53149d129dc432aa494f5c1e59d69349873ab9822e5e909228018086ec42c1dc36781471e55aa44389503c6ff4542d62af15aba951afc44b91264d263fcae34454c766298dc5e38a44be334a75087c805a93775ea758bb1626ed22e14d576a6ec4201ccac11f6dfcdd1f8a1ca3911285ec9e376795ee46f3d3d1009bd44f3050c20f114d43c3cd00208d8fe71859be00378bec404443c1dc543bc1dc1fff2cb1b2396110c3c978ff8bb2d5dc0198c31429722d0f66dc5c208ea36680e145888e31629a7344470387027766a03b080219be27f7470127f18d8cae12bb99886129297dc878a1ea5ec8c305994b4bc565421e03e32c3c2289aab672694542f7cdfab42570d42baa9ec4b696d49675143211590992ffa8a1219fa99ee741e3a6fc293ad6b11753af7dca9e0cc4781b93aab11c9eed733b813f99f20aaa5953a98f815a9931bf53c46f959e2b997fba8fd2f9df026a123c19e14b8cb2197820c71eea758f5a434816106a23fc8d49d13ef216ca47ac46af1701b4179b4e54b410d9069e6a79d4bbd905c49d0bd01ad1783fb5275f22fb2ffeb98d5837725a10beed15a27097b5c6bf2b9e3116cb8fb91eddc92a7e34ba55445f0aebd2e3953ed34cd42db0344694a9e4b8ec1063ba811d44cac78304dc78cb85a21175a28a2d0d3b5b15ec655ed410f2af6922f4ce46b9342dd20829fbb0f6243c66ebe0ec2dc42dc8c3a1919e2456c9a760db1842953a88a4811c318b6bdb32280c5cf006ffcc810bebfb8b5c4bcb1751a4b5d92ffe7a78883af2dff360f81982fa9e8282c7c7f9cc0be2c203589871299781e8fc6551f1c20d60e4ec4d498e08e8298b605a9b4714ccb239323a1d60dc9e72089a5aa6a7c2e022af6afe037fc604ee54e27d64b16b204c58e72eedd38207bc77d1f8bdac0537d5fd683ed5e14531a320717762a987552139b8f91939095c13f291e8ebad1c3c7ebdca02ec74adab705818d0c29f7dc971f7eb30dbd1586bb5db551b69aa84cbe943b3e502d346a9f5d46f4d5ed5250e024eecc870b4985c55bdae611c1378ce332d646d7c40ec6cd2d2f4b005807b8e01a27f6606aeb522ae60d50eccd3ceea0f2c3478334c116541c14a5fbfafb016f4e3c7594c3bb3f6947553fd1d66fddc31d02549ba480cb7335a03a9027de12ec70919f7190a281b9e6f50bd9a45d7e28039f41ac90e97b4c9435c4bf7f8273f92989955f9981046851738c8cbe989c1df816a8cbb867bdac8d4da8ae63fce6aaeeaaf0c995ec695f4adfba0271990e22c663f7dff0fa48025cb923ba7eb3f2657cb1b51e95cd1e47945dc054b2e7cc5b90d9221f8a5dc93797a0eaf2b2bb5a57996f62e0f751693537c80ad377c8aab552bdc61a8d131ae2e9ec8a485bdfaa115a740e9fa6ecb29c3d23fe9aa3808b36a3891c99d0b16897ecde522128ac1efd5380e9d0ec2c267da7e8595054e27e7633ae81ed78eec262814d289402aca2508d1950db1b8f548026e5b08975439d618548e6e549e561f7cb195e0136a3eedda9686b5d7040825d561c2af9c34ab1b919c64521d6e23bcd19de18b663a623d3c84d5188181585baaba769900beb63aa22d877b83b6005cbce1b9f7482c7aa0834f4e84386426501c16fb593a30fcc221be72aa9e84d4df3b71113a84feace3d030d985e017b4a80137b0d7257e914009069e48d101612c6e4d7cf5696db6ed5c5ea9a7d4a7586af4a4c3701bc17d7cbde31a4fb8dc278b1eca82251c9bafb95130464820148607fee98f9ee49ca16ca979bcd3f4b8c70e3e58c0c9f9a2a259572a5b1b54edf361b1aae53a1be6cb971ba37bc3ecc41c07cb5902e7d88cb4178104c14c1672542fa2779fac09492a6b1b59a292fd5fdd52c83160781f766cb80e175fb08f0e153d8496b96ada8f2ae03842893cb3e83e1ca27608146e08c5af82a02d965a0a41b1cb2998d5543fd166d2180d2ef0cb2bd12404c7d5167195ea862389ffce813d4fabfa32a08dac4b6f5efe743a378ea18e9df9e1e42c302b9d2c45828e21c39e833810dbc8d1624d7981632f7869df521f6809ae6cedec05b1738bd9983f556753015445803fdd71ce4583e472c2340877b3436686fd1dd3a95cc2a5871d585234a94cd510835faa88982784995ae2fe5c01223793e14eb19a00a4c14a2f53ebfda2a00e23f3bcdcc577a86acff87c0428a41f1ef75c8c4e91727d2dcb2b144a1eba0a7dc0bce68fbf70ebf6e3b4e8743c4432c00047912a8bbf94eb23c00613f49ba921b92273985e56d25377e062fa442455fad5e0d02f000a4e7c1e9741780eb057fc74be1d07486be2351d860dfd0913ae1c473652d92a0ba698f1d097b04349b6a484d63c9eaecae6c40f8c90db1d63dca2ae3e18c1722ec8520d39f7e8bcde8074763e245eedd51804a02ccd85748aca59c39565f08dd8cc24390308fd1adf36c450d8a2850b65a3a098a3dcb08b0d0dd996b44c5d4906f3df21e43699b794202a26441f90bf47aa73df0bb10d09fb7c9177eef3183c0c18e3ae6eddc805621bcb5072ffc4be1b93514886f6a9be1b86fe41d25d591131c3902b21266a61c9b4140240289e4af4f5ef48055810d7f66e14708b0b3da6c54a6e23fc8106026af4896e6cf9412259198491663b11bba8c8411933a1444d66fc7d01cd227d41d0a0532e5dc4bb9b2ceeb87dbc0edbb160de49ba8766ca3186ba4d197d1f550e34a4def309849d49a313c895ed28ba21a1796ee1c5f2674bbc36e5c4e0207f9bb12aca355cc08618c177aa20708ab334aebaee244d50c701e83856df9636c09506295204f5c019fc17d65eca23b06fb6311d78cf62a10e5aeee07e60de9d2113a508bb00415abd5541468f89cc996d36ac802980c13b64bfc2089d5bc82953c094fb624cfe05147ed7be98adbc3d11cb504c8cdce2d4a072a3afb1a006774e5246174411929f1089045e5187d4d63e534b82039ceb22c5d2a39364ae48dddf4096537eb494731019e3743f39cb88ce062e8918f4a2cd11914641c5ea710420baa2a834a876b80c60d6453e675620f4041b25c2a1dedc4b6b123d0d069c2fabc600de44dde3ee49a3ccf194cc8a5776c5f67d8cb638b90f75705aee0c5898b005c0f8fd83187877662acccad67f821d7fd1b3e479f96f8c1b7f5b4ae2812f1f11608810d469774c9474a95a6d264bfb63c33caa9a0a978ca0ac40170247be4519aea74c51637e6afececa07208790b9e14275f668f2dd7c026dde872c0ed7fc949d1d4de8df9cedcc41d4019e22ec436ca9574c630fe060e778e18a4094b69a4dedb589109d4c5050eb46bad9036af2303e3b7555a6a699da4316d70711250b5051c795f4307e8d79c8e507e4530ecc9e88d287c9185f81e20dd7b2393f600e372936f39888c3b85e8f36d26f9ca75bfeba44074601c1bc7a59a770655d1033fcec681ba9de7f9dba019eee34eeb2a4521ecc72ec4244418fe83c904702a50cb6005d9169f3be7db90a65766a91969cc04d3d85e6ca1977b57d36f527289f78451a9df7522c31fb3447d4937d5222edea962e1c0b3807f173a7e53074bd6cbd127d7baf9ad97b2db284f7f1e94976ad532b8d90a845e0cb9648a8ee60934d074f1c48c906a064c01d2e9fd3f3ba548f1c443737994f1d86e216eb08f81dfadfbf6f51dee768673a17c73cba0ab439445e7e627c9e26404c71096d53344d66a5af198622c041eb9749b70b4599bfe308f9dc7726258656c067f0896cc113d148265891cba296cee09bf573b530a8d71ba6ede2ee089808bbd0ea6f514912a218ba657336439e419ac037eec9e0e3549432f5d561e880c5c3098c6e7fb151ec80c029da612985ddebb7e6ccd3203395cd0ff664ad5769ae500c51edab77694016e5813d7e7d91d8ae565d3d0b361481fc32d59b324a43e411eef0f91ba32b5ab9a8cf2ee373369dc7fcc92f1aa304ba192b5e7ce5e74cd25efe7b4c0aae9a35cf200bdb1f2c06f87593293ec64ab3b626270f6bce840194cacb98ee1279cf71d645e9a2f0ed2e37a72b53e3b24756678f8764ba6e3a412b83bed04753f6dc16207eb1a71b2786cc35cc263503498a2f2463e49a082babd0382696035cc048ac27091aa21a5fb0ca0f833d87ab7f1f2e6b09249037d99ab639eeae3c1cad167bd71b52bbdd83482b08f58bd6f74dcc6dc6644c1982aef82b01bfab227f8c211b43014f012093d7be141231a1e78874dbb60007a23f356c79719b4b28d2d6dbd1f0a371a541f980f7f7307d4c1a45c7a6ad1a0e3f26f083cc2979f0903682c0ae7ca270118537a81e24ffceb999ed43009fc802f37288ec2a42cca04eaf4c5fb4eb7b0892f334997358c9d5652e0d0f5e551e29635d34d66314df031849b2c5809c426c956fb85132e8f769407b3da00d337194f1bb083999869a28550583fe054935b0eeed58193f6c0310a14a65f7b233ccb0e9a65b7d838b54e813e068f129c4a231e42c5f8113d515170827dd7a8db6142e6d92317dcccd1dcf5cc4428501cbaae7d0f43a08f263b9d32e2b0bf2c7ce7793ece94ddba6b378011ccc43e1852cefcae4e8fbb009583536aeb4324ae608280bf15c3ab4dc918980c473ce2937de80d3714d057fc9fd64760e4d201c256396315775d1afbbbec74a527f57a712953c529afc418539caa8cc9444450598e6d9f10344c194929d0e06e3b85b58e2e4e1c7e291ee216ee5d08837ffb8e85117f8a4f29f062958edb1aa2f740c3efa519a330c8fdfb094bac702ea653e6cd604e749619e530dfbca166a0b0836a106e067c72349893a58678722c534bd4796b28e8b6d81453353fd49c7e41a29a9a4dfe5867130b21653a1b27f9f5a86aef28f0e2ed59f3ea93d1998b091cf2f25a5ddbf94baddd9d775601d4af66c768469e1fc3d245baab0ba07712c6b335e77d0fe4b9cf7d610493de47d2ffeabd0778ed39e9bb0665fbe8f523942280e0f366c8129fdab352bad0471cc47f9f1a75663312234f5acaf5955c73ce00f052a4b05ebf65442b8a44db9bc29406b187d71127e2158580ea26b9434babe018c696d660038f9e78dea6058473381bbffcacf31a3ae08a152ea0a8a35a400025cb7796aada4592809f44a62977b48b9140e3c69e304c88bf232ad641e1a9e2ac70fe02aa156c269a56944cd8efc5444742142a38bf33d4c81d1c3128246372945301aa6645599965455e6dff4bb140a363e8b606b4c35b05ff2ba8bd39721ff917d079611dc8980e854b5087394fe43a546ab7ed55387aa91532b870f0778e326afd68322a2060d5c81d56d61a7130aedf5e124284d9453a8a59dcff8ef5246b822230eb8a3355f588c19d7aef81166cf72b4fcf76bc792d93ad47542e54719aa052eb9c3691dae2eb2e02bd26a8dcc4095c09c3c3c14e9c57e694e6bfc4de40c19c9e405ef897e965d0cddea0a4ea8a9459554e65f3023802b9812a3cb6e8e4973e7dd3b73e1047537b49314a8df10bf09b638c0edd3cd443b42c6770a9269531ef63771ab51fad5009c53521f6329a05e06ce5e0105e0f8586a39382330d1fa0741fbbc2d3ed59f624e703878f6b133fe05bbb4214230a845a6f3d2645c45499321ff06fe043766948c4e8e2f3af33bc9e73cd8453076c1cd7c3af6226883fe23994967967304a05543f4fadc6ec593a9c4270a20966db7632bc0d4ad6f2e8a1a9355fc0a09a409135eac1511516ecf916c4ae537acd68ba5f0e2f5302927bb123d4081c490584b26e0cf7e4ba10f0647d967e2645934162a73cf144ad2b3caaeb075763339ca2e30246e4ec273e922d94114922aed047473d50dad84c687d99f2989960ab66be16f3d6a82fb4faa06a1150c1eacc94ff77f2d15e6f2d19f86a70dc50afd7ab630d30ef90c1e32909e3ca1b6431ea9292b86397deb3f3ce025877bc94930f23a8dec93259670159e1a8f48740d3ad2c1c82d1f6f0595c7cbe79d04fe5e32b4e010d39dfff2d3ceabfeceae98b294210b5454f9e902d178b6186805ae91297acd248c8cfeda279119de9a0d0b05424983d01d6047e85f466ca9f04a5e0d2b83f84f5652be6e53c2f13a397f7ce0bc6396199ece653bdb50ec0e16c6b66f2717106f8d833c687ed6f64d37f5e79ee9eadae58c5ee64f3e2385fde4a3cd8aa14981bc1c2cf04121d43f14ea238a516ab7f3f347aed08fa714e8c592bf9f1aab462e1e37cf7b9df6e35dc256b845455d3169f659081942a176745da1e95e162223066f2971abb621505854150e65d56ab117351a89aad1d35816acda9c2546dadf931ad77b097afb953e3da83fa475f718063dfecf0552df09b6dc742e25fff4ab73debd325f37bb330e99e10326f2318e131285b133c5c59935dfcbb2838e5bd9158b97d739ac5288836b57477968f50d8ad9a78440b8a0f842f92b27d6be5ec6cb212b2281193a01b130b8107c0d90d055e04d0fa2efb9affcc7c3a6026123712d0bb01f698da2f211d0b96ccd16aa7a8283034331ae61542117bf90b45658c2472568e2484dfd4faef8d32478b579b8d2badc7c0965f420e3f14477194d696d64c412b970aeb301a8ba660d00e1da8230a8e81369e3f85fac7282e59b9700b568c79e313aac158bfa4dbe220201461e863e10981c8648b1e0bb77e50d281406319603fb8427b12415e77e3aff672d25f628eb3560d2cfcd275f5c6db34e78b7478654bb3c6a76fcca787b121fdb467aa966f7e46e1572a908e4700cdc1203a86730608c3f363188e14a64553f1d278e5d9df317569106a138526f08eac7f9e32663056769bbffeed9347da0178b172f0ce43b598047caa65afffaf51d77b7069956a49c560c74b620975e645c144bb87191104120676593135e92d3fc334c7c2a6e12e415cef63d934674d75ec0e8eb3878f1186b880fb136dcb0618432c7c9ba404477d6244a8543bfe7fd2a01007f43957ae2601a47b596f80685e4d870ae5fc8fb8ba78c79a81181f7eb766e8a0102c84922839ead75fac005ed061ecd2e0cafc570d6d44b1f6bb52dbc388cd212592b6dfa20d5b6911c935ee12e6be1ea8664793f288a74f6d8c99e3f832628c2cd960530134e4e4bd73db366a3ca38de1d1e53d238c295b7f25b8a96aa745de03554de32f2a963f475d53956b232601f3f546602d9a813fe0205841a4b96bad6501d4d569ca114f7f2db78c48c3fe1e243bd2be66f8c951d05cb18416d72ddb390eb868bdf5424659f5401aff8ce32653263a7376df61302537c8b4eceaace87c6f3a6923fdfd4ee7f063127633761eafcd0ea1a18590ae5cc7e06ab709cbdbe4ec8a47a31e2a067cd133bdf3140ae080f0ef8d202aa3e89b2029854c25c09d4d758131cad4e85b2c8425c96298e0ca9ebd785f1bc388a81c31026e160cae4a43c7c1ba80c5698fa0d4ddc4535a8aa33a146dada228ce894512c910d5f97f4cac8871eed2e8c3992f3c5c47b14b758e1c67d5dd69d2f8216f8437dd1c918bbbd29d798744d1468e9282d6b5111c0496b41cdaba4df45f1275c119ba5249b838eb6178302f5fc228dd4c4f943569bfab59cb037c2651a57d310ebc43c6d10a2b4e76cf54c30eea750e408e66a60a2f72847fb4f909268ab50ea4dafcf2e1da5fb346643b305ca13b3ad6844c7e954dd0dee592e1ccd7da97cbc710d3c04debb378df020b0cecbad37cfb7c3b71661d779adf48478f0130e8439487f8717a241362129b01aabfe763dbb502a67746df9b162a98f1823bb81a61db4b0b4f9190724f33c5b55b5392c5872c14e838ea33267e45ccacb642034b60af78ee4cea654d2b4a3b21b1810394926029da07b3c629da0856d0ee6d788d3c0c0018b0ea4f991d0ddee68b32e91d4918a532a70e20b9b0f40b09aca56cec997e8db4f89d77b06a0c1bfbd7fbda5bad41aadc065fb7df199e6ef59bd9d845268b8d7cefab04c724c3fa21cb6e43196a6a074604284cea20c685b809f2c6a6f1b489141b36985e25888d526ca393cc77d561416f2b3dd51d16287d0300b19bf3cf7c66e7879d5e898a9d016f3fbedd893c1643105e888c8b58d9b397de9af05974aeea42c9d94840939a555bbacdc6159c81eff442b545b4300a648ab23f8c5c1fde9e1805ed182a812e9f96cb2621bb098f29b0b07fb20f63fad58dfe14bbaaa5daf82d633efe0e9428280765ec6512c517a3823ffb3b1151b589c2655f66d252dacdd464f6e0796356240a61db1b6b46d69d91d1954c9528ccabfd06921f829ba45d58749f482b82b0f128877d51578094a45a4fbe7d436318812288ee4277edeada11c4488fbd251e618777193c7d27d04d1550ca75e716056797513f5389427152534b0232e7653a030f6c005cec56b864f7010b4e5c61c9f8c332c24678efa37134fc8af1770c7fc5f8233690d87e38563b1a2778b945454334b61c8cbaa72c1006cc399e833c1f8c219f57adb4203555458ba317695afe2c873d6f7fd4deb540616e5669c27bd3ee6602fd7c4c2242bb8d668d7d5886967680c162ff4d3fa256bb7438ca3e718731d186381da70da7e9eb2e1fceb515c20e43e4c91a9c957162d10e2d61759007674c6ee17a2a250b4f72f52dd49533a217dc336067ab95a1e8d4a44556d6215627934a6bdc62953ac26ac8bc69c1edac5407ac506758b14c20edb88d15ea80152053d3a4706f20abe9fe8e55808a5dad7cdb13d1c48829d0381fb0a1c7e94029b07586d06e3457db7df1111fc10a1e7d06f710223ffd535eb44d38cf32dca4e5ae1ea5f40f4fa586d7d6da0599031f50925266cf5e60563020b6600cc2584f63c4f691f7bbd07caf6c0bb8d50f98b56e473ca02534c536a5dcdf75ece1faecbd66707554dbc3f5ece1fafb00a5a72be2ebbd4bf7b8ee7bf9f5f7014ef92d9f3af7dcd74aa96edd02f3e52ef62607156c54dceb7a524de26610a823b2c2743e261d38c36408cb58e96dc4b66868d08f546eb4571d5c7db1439b9347466678cdca6647033f5265c0c9c1d950b3c20df0a6fdc725d0d44667b0fa86dac9973ad0fb0b287f30b649caaf69c83c52815bd2f4a1051da66cd67825498360351126258e5f88cb62ef46b32d615b81284bdf4d7ef2c0339ce8018b983fed9fd9a4a8234ce9cdc47b367ceebc8b907eaa92e785d25396c8628996e36941a17ff8a899120511d2cfd9b0914e807411a23440f262868f510d05e664b4e1e028ea2f3a8313d21c461f20e3923d4e28760773c26c2dbb9eabbc5c31aafc9596a47b03623d6ea017c1f12a42f8ffc21073b3645f228c099a535e74753de03a6dd59b918d7c2a12983ed48052e8864b294b0f36a25026c0cd07fa029c8aaf4b4af450a8c744d67b1372591a56dc0281e318c77a9f057a58afccb323743274ce2ecfcc192f0565b840133ca0be57b88c1cdfa64e75b3cf80c661a6cefc357d16c058bf2f4ec9b4d0ab771cf8293d64ed460be8d5b5ab0f831b569421b09f574b21a76470e3b74b8653296aef5c9dba63ce6ca4427bd7ef313a40db61db040ab9ea2b99954a8b60a6e5430e21941e29b1d0fc84278a927211ecfb7f0a169b249915a893114c2c7d492fcaa8f5563e45c218a2962a553c1624113a525d6b59297fb6050ce1f69bd5090918133eb292d57f7a35c4a7f7369901792c80fdea841aa6a6e31ef471ffca338d8aaaefa4c74b5b62b6d681f1f7278ebd562d41705c743d8ed9a862f40f76aabf96a50c146edc76fb09a569fbc47efc2a6541dadbdea2f89cd6e91104207a8919bcf475f7c4f7fd3158ff4494ad5a81703fe950b4f6557e4b4d7e3f8ffc73dcb60597b2265071144c2904285ce03b65c72b6d2e0c14986438a9424ce94ea4508545964dceb9aa0373c94ff43724a58b317e10cd8fef165ef1e09705c3072063e4ed893d8f4c49e8b24b02c24113d02f797c0661cda72374286d012d539bb5c39cead7c9dc21751e3b1cc2f93b481923d72dac2b2255c8c4d799a333f767bc37c1014d14dc64b3fd62d2c06a099924307ef681e0e948d48094e1df6a48b59b9c678b569068d36b67555a8797e1f2bdb5444573f72e28a614c73ae86c239a876605f6915aec7fa57850c30059bab99bb4c78b941dabb929b1b1fc15d683f14e393123c50db8a3a0f79f8b7151eda60f765f3a9a9ca57bfd0dce271f7b5c0445ec1e63a79ccb723ec932dc0f6752b1a26dab9ae21f4a01c54e4bf6b9ac8407206120504201298a084021c172ae9b34ab0c5e9aada8a78489e2035b1c19178608e57dbe3dd0a97c32afda8e2ed3f299cec186982bcabd5097359887db95f81dcc444b6e074010dc9a6c6770bae16149028330b9294386a0109e8334f34bfbf7f729ccf1203cc7c02f313618a04a17b4e01b344857a4356328eac637d1804d1890db0b3ae04de7dbbe6fa48f249cc023cd37670dc6c7dfe73e083095bdfd625e8f2344975d1b177f129ccc5290d43e2f12c598a0db152399487f638ec5431950602639c74fdb60e1d7d5605017536deee0a3e57d9eba61746dc2af3bf29a632d2c7c44a3bcf56835cf9782de1dbe27bfd4f44f7b1a49c6d22ad786872434378012c2fbf8ba9368ecc610841169763419c7a58d6ef9d9ea48ec570b9b8102a6adb537b508cb73839c6fe3fad105218836efafb2cdeae78b060d24a816b1c190195627275f04275f61d2118d031646fc17b942a578be9116357b025009e55bdfb9f4664a2786c115f4407bf9cc65bbc66b9b92069fefd3d2ba489c5868cb775144de4b9d5a14136daeef12b40e9d3d7a0e3dfb2078c7182a1adde5ba6df2986014bac1530fe372fed4ec8eb2351f579d61ff6af93d43e4cb4035409a01f23cd482540fb8c8d3e408d4c21f7d90122df9a011428c86b18310b704447708cec57f5682642006ec36a401f91f7441485bfe297a478cc8c73193227e599832eed05647b591670003a8a99dbf724f037699c85d3af944ec41f146aa467af57c7a2ddd623dd7037af6eaf57789161d66617b589eaa07ca6302d7c6034df12312cae4fae9319f00068ef62ad592d6aefc8e562f965be96d8a4f22b3ffdcdf69ce39e65ae12cca7c0033d8327eef63bc7fd253a8487cbcd389cfa99e716c35d869fb84572b4d71ab050e59bd8a5016ba03d894f671b64cece7520433b1286a899a3588a0fbc459523a7d8d73321729744ce340a1733152276ddd2c32a93be7fa90dd700e737935da3d2e994df18b8deeca09315a4ce0b6193e40aa0a03d2170b39efa15c80b98c346830e6b64a4220eb97b382ba25045f6e44cab070559f86f5614dad8a4e94c7dc10dd487c104fcdc459aaa0e4e25fe662e5edd054a8bfe9c4a0b62286eaa19005082a483575d6e714c3ad84da47f6e1f21240fbf25e4bc81e8e780220a2a9d3a2d80a1aa9ffed270ce5763c88d8516dda0cc945fb178cc0516fc6bcf47297768c7acbb574c5d6ba03115b5df1245c749f8e700e2a3e5856c7a22dc9ace3f1de89e43af1b6e9f766c6976a21034c42602fa7b0be444a0fdaa24fc8a089723eea0454a65cad174b5b9f8f49380629926e581a89ce3e3839ca54618e17e3766e71642c9503b4480feff7fa7450dcbb575f2ce8b1e104124fb96017d78838761cfd239a80a38459e0a689497952f27c789cc76f91f9a42c36479c507190e66bf1351465408ee7a2a65e43c2ea8a3faee7a337da20f8313e991d0dc2ee53d28a6fe2f7a32ca90e429f591bcb93456304d5084676e0468341a31fc4f238d64fc16c67ab2cab9e1b3f0cc72de8ac918c290736727bffe137349d078bc0239697e3198e710b6ee041b7ec57c9b65fbe8ad30684653fe0a70014a8051742af2fb7a5d45ae1158064cc5c3ce98f916378d62cf8b3fcbeb29d76cccaf52f16d3e279e38b6f540708f8548a245b5a04547867f6bbec96fab64bb58c6c42c6f9e36dfe19569b8c32b6cfea1729dc594d91aff12956fc804be0a95b0cf73af4f0e7a5c86c0b3ee8f9c033430040e38b4d80b3f625fd33a49173b8427432555790ef661644ab852f6593548383c04a579c7c5740f716016f06ac7a67609709d849ae110ee29c8a5f5735e827592b09b5e564dfad83cf4c44cb46e2dea40d90a1a0f79ab90e30d95a11bb4f0ea688bc6e315b45a20ed9a8a57f61e2715736bbaca4378700ef0f5920716d2cdb48c5c710c528a8898cf4a05d7f90998d73ba9d1a2629cc8f0931ae2e1648371b588de2535f0e510ef250baf521863327aa2fb141c52b037a0745d4e026561ed2d8df9b98e09dcd80fbce18bb363da895b173669ded3661020231c01d6ed0f3f5cd2bd12616784bb7b45997366adb4ab89f806023cf0e69cd7a5f1f1d3de3ea613306169aa0ced685c3d2e1dd208a6d7e284071011f0e0f1bd0935ecd7517a8d16d890ee59df1de849a69aeffe2b027c143b8c6abda9f31202cf673d062d46e4f9ca3e4d9dff51272d275c7a5f619bbaf1116f3465c7305a097e83c90a2fe8de3e2b451825beea8c947d94de91a98423710e27840058636426a19571390b745732765eb86fb75282506f22323a42473353a1f578784e2f820878f27cac2b22e30b4c6e4f7d0b9a96e8501f6cc67de67bbc75d555e60a744d745c84c26958e8e20ca300b9138b0f6f6c7b1c75de3db35a9834f20e76b9cd804c56af6388258a88d35977f122a28b9b6611bca61978bf2749aed3163b98d713c15952398ff90857aa15f4842a67babd18d550875d9019520f2536ae801312bbb718d9968c6c3c8af386d0ac6b6660c77b8a00c5fcf2008ccea8b225c4bba2d8af84b2b90846f65b9a42355fa25e5f3f0a451778887d534c8e7d025d1a44acf4a874ed071d9070d32e64c90bd0ff96b4519ebb1efa0f1a0cab4b798499f23668077e7a03d7528d6bf7223837654449bf2e3426b0a80b85ecb29c54766110519710b5f56f01684455d9b27659d264ed10b118b649ec7c8a719512224fea131f2ec419a095efea972a561d58b1eb59ebcb6513f3bb8d4af5af0428b10c5159ded9272f4769bc32021f547778c70904e068d6c3fc7e76209341373eab6bfac98e146b7bf365d791af5d36bde08c65abe0fbe6f76a732b1d42ae100e279b7319ae8de6831b226075adb9beb5916b1bdda9cc50abb0bd8c9fcfe3ef5f704baa956777ec5b536fa0ec4b4488d2a0b08e9f375677ff76554694acf2dd241991e20560c44f22986792f7e1beed4b13f51466c23046358be0c948416c720a412bfe4c64d868909818d714d727381a1d6f5c7d93b86fa6eb30d07212337e25e03456cfbc882da52d1d154bee3099e694afd7cd1e82d72847b0fb7905df22518526b1e9acb122bdd4b089cf3062b022e18e2f8041af04c5ce8e8f8047b8ec39789d39b0f15f7bfb323cca8c50ae5396e73b1cb3f24de98d11219378297ac408cea8f76cac8a325d55dd00dd7504d89bcda1866b28e2bf111073da2a10de39f8be827bd3ec93e1953009c0e11165835370f18b7832eaf8619cdbee725a24a819082337c72e9ba56384f7d38ab1b7e2b16b5e4db90f19a6a06c82f62cd02b82749efb850b43cfa76cd49a1322ad69fa04746e04bb15756b9620d9db314daa08e373b42ca68a20bc7651f887790dd49a1774676636b9d103ccd294fe3d0f72d067f1faeb034d3a7c1aaec9c6c94300fe3b44c4775b11203db99938d01e037c2883c48143eaa4933be079c7f288b08fbebcc77a7c51016eaa49ab3f208c56e6596192c3abbbf1c3db439dba986af0ea80a9e418043541849f552d61a6eb18d4e9774d26731262100f7238ed1798ef0ad6dbc0d57712f0e3ed3ed9dbcac1c79dd796bd59b74d5e6f8301f986c755830a5f89cc8973fcaf844d67eec99751fc614d3e27f6556c9fa95010b17059c585042870eede7651c1eb88528984d989737b0ba655ed1ee6c0eaf74f28d9d543e60fc7202125450aa19858c33d6df294154eaab8b3ce12f25fa3531b0766a3203aea8f062ff4707d3c43fd50110960ee93a9da1f22bb5228d34fb1a911fa811c8b8e4e688d961cc01c188b9f131187c66f6c093355071e4c373eb485db379f39f55e513bb67acd97aa981793e0dc8ab7ea1d10f378cdc6b20f6e10d80f23338de1b169b78b3cf66545110ed4fdfec9f2f3463a99681353562e15b2c56e958aa28930bc6e30607a27572f4715413f3aa15cc95f5a2cdbf1a17309f08bb427c1ddaadbd1e96081d13eae5a7d72e7537742229917cd7ddc65c3d79fbe5a6359666bd8a67574860a55d3cff3d90940f9e540accacedcb07543486823ed915dc04d2ba0e540c47ea6c08b714c006ff9c874e3f06a8ecb393419e26f2f2e18affe409c233512dc9c23246aac2633df8d4aa8e0a8a89c46dde69a98187bf59ba730ca2f1b3cb66e9d11d7b3472c9a24b3c54738c531d9b80c5481b7512fd00b3c4b318326411e54ccf028ce8b50306ac0c1a58a645a5f2672c763ec27436ebf8a340597239e214f94015a882b4544975e8255c620bd58d5e5fe46e3c0954d1ac53bc9aaa080da9d214d1f8ed2e17b8811736d98fe20b085cdf6ec4c96eb025020b83b2c7744cbd397e021ac7a11d64e0a6e3b944e7922585c10e3038ccabba145624d6ab6d672a4cf066f8942c6eb1f724770a32e78aecaeac72de0d09b5d0b0a74203501adfcf831403a7adf4bbd35f1b43186d2effda35fd00970ff922898c32dbbe036ccf033a957e82593054b24a07016d395e9a99103bac07dedf8d3d9f854c97d7003da57d81ece19bd09b101f799d44278a8500a5975f84d18fcb17ffa100660f9cd03900f57d633c8353996953be934bb68589ebf3e88bd84d36d9724b29534a29ff071b081908d9d6e880258b8afda302092d153b315657feafc2ca4917fb90c47ca82849f53e54afa701c524a2b9fed75ccfe6d8e147a51f4c38cbfb8b06ecdff5adc980fd937f5dff360a7073a7e6781f1199aa87891d1d41544dffd594a5629f656f32997ab1dfc5be7bc1bec32a634258c731fe6cfde5d49cfc4e07fb1a1a672b86bd003647ba0df6b3090cc3300cfbed4d4773d8f3c66a0efbc5a08e63d84bc7b2ec4db262d9bb36e4abc99499dc949930384586238b23247c84c071054d50078324a321a3252796764aea7b9e43ea009d888d2b9375f8ad09b2ade9588f59a742ef74789dcae73fc28f20932c1f3a8df3fee412a1ecd1d1e0b2fddac8d736169c50e25021a42f6e5180ec0f58f7fdb9fb737e34d5369e45099a01f9f79999036f45b6ebeefc7abbbdf3a125e3c2c195127ca0062a4c40021520e0828a952160a183f8831e20665212ab2589cb06407400b610841aa4208c16785154462b5e39925948f9c14293e20719bf47ecc4db9095cedbc297537337ea1e49d9a1aa9a63666ea732830208218c9714a555dd232956300cc34c1994da9d5235f6c71e49c952339793a6097133aaaa397fdeb86a1a93575713c2849f50b1f57f94eecc3d9a62a3eed19420ea0fc160c007e90d35cf882d1542e8154208611523b284c12bdf33e20b0cbc2e6544172923aac01464db19214507403ad8e2892d38780115f862517d474f0851dffb98fa687701ad661dd71869e7f5c587f1fdab367c60762824663f6a7ff07720ebe7cf9899c90c1953f65ffbbc4bbbd552b71932a6a4b4e324339a9fb79cf807213403e8206d6c07fd5cbf35cbafba215421ce915052ed7cccfa5048a946de53850f952abce893d7c7edbd2a2f783d841007aa4cd74209e77565cddca708955c7e77e4521629348754445fc419b1942c908e1696181c96df4295c53cb2528b80740e17b96ccccccccccc3d9ed352cea952f5f4f4f47451171515a95c49c9ffff97e1c487ea8c042be14407545246c289145d24a58ecedbdeb74f04153a218291e5b6c87d0746788ff7f45851610c9a959494947ad0501d5b1bf82d0159dfdec0b7b0890c5a7191c9c6d99da87ec24eba9b03d9faefee44b91178fb0937f3e0078433ec0dbf4a45dfeb74a89e136ebf627999c1f0caef52a8df79c5709f6cf72dbfdfddff62bf93cc42c83229bbbbbb6359b7d73dd5db7bcdccb1396f08824c360eef72f5556e735d57dc5dfab4325873bd37e936fcb277a113ee97820c8688b9efaf39d5bbefae56c6dcef5ee52e32207bb38fa560faefaf88a6ff4e1964d94b7fbbcbbbbbccdd74b9a3587767287bb3af3161fa96e9d9632f37c7f418eddcf4302955aaeb23160cc3b0eb41f8de310ca3bb40ead6bc85557873dc3b393390c1df1adfd5babbbbbb33c7ebe28b2fbe989d692c6af7ad5ba3d3d3567b418015a57fa932f768659bfaa4e3b269dbda98b0ad6ef46d7e2eeff9d193c7be5490bddf9a5ded431a44e56f20a5b7bfda7f54a986777777771b3a74e810c2de7c868bb9ff941a67a98d266a8e139080131ff9d0e6449c45737c434d25c05b2ee436fc388c200477c8db6e48d5f77ba339ae32fd3b17aafc2f5566f796ea76b2b7d4fd97253ba2717639896dd77b9deafa28e3a9c6b7453f61da01fc094f80cbf9cb8effdef7a3395cfe7079c826f5c5e04cfc0966c4d03d706ffce5e97d53a0eb25ff1d21db2e8a1627849ca0628311cc58f7288a0794a64bdda3283d10cb1616143146108ae8628c22942216d938ebeeb05f84348ac00eb7bb7b5fbbfbdbeeeebd88b8bbd7bdd977ef6eee6e22cded777777f77675e7d8ee992032139699b018dff5e08bf0fa429ab03561ebf0da3ad68b0f3abc628c98bc604d74f70b8c8e171831417452360e3333efbaa38c58f1de6cb1fa5fd792c476a966abd0dd7d4d5ed35c7692cdbd173bae9c9d4ea7ccb7ceab6f841707de152c49d1ddfdaf7071e5f4de15977743a532bd2b57de10f2993c62a6cc844537994c26cc3393bf2b572e9f66787b945876e978cee94891455ab21551d2450d4992a2e6724245e8fc271facd316c46d74b0cc9346e4344f35db5b5c3419b8327551a9e674172d869753e3c81b2a1566aad11ee6c44a5b788bcc8939d6c12c986c7394b84d2b5152c5e72dcb5bb6067cecb9b620615e9a4c5df272d41036093ee8620a2523285060450b964520ed92112b80580fb42c191cb85e0b1651dfbff751a5821042a8e13c98160451df195fdcd868027f0d11545a8010421f7e40228c228286f001e809c1081e208490889f1aa5534f08b0a2a16c8810c826884c45fc5c2b9f0cc28648c2274e554a95e43642e0103700c19621903a300410362084892c437c01849022a42194f00121383022c2070d08692269a22089266030639e784f98b3071a980f8c28e635061c9a97963366d6841a434f70c209d409be68a8a969a7972a9278c0302ea0c088aa70425e91c40386719174836c6b3adfab073a947fc58b21f0d0da7192011194f281d0065027f8a2a1a6a69d5e34b6a20a2d8e484204bd831026eaf42f106a3f51a879d25e200d2e8fa29dd69d1ef5190ac564fe90aed3864efbd3f7ebc055fb6dc8d6f9f2a8adfb8afa972ddb3a25753e6b426690466dd76bcf44f151f19b08453b7e1bff6931648f4aa1e89c357e67d344cdc4e6f847d6775d458def3fd81ca75da56de2c7b6c2458d347ee744787487b3d0a20512ad1d27a628b068c9fc8e936984d67b271de58ad6141adfa92a8dcd95dc26becce64bed427cdf7cc6686afff2adc446d4479719f3dd4cfd0e626837a7e08e39a31d0a8622b50bf185762a4f8a9376dd448d9f514faa4d3443c57cefce627192762a1dcc579976ef01ffba41e0435511cdafddecfe8a599a9dacb02b6bfb71eb207ca8196b06e866b1cf7c2f5806b4e8800a24117c5c05526491522c492976a0032d2bb4a0ba28e10124f0a0075594c6887206174d3011041f14ea1e1df5408a181c4d51459d2a78ab42dda3232748110276c2d142f12c16124b3e4ab003029ce0044eb0a28b27b4b4e0916182217ce823eae55800bd5ce104e69ec5a2b2461ec6cbb24e1c0da1054750b4a0800427e016a058a0f404119286a0e20a3702004e00032790f081107890e219010832ae2d3ec418638cd1069d0320b8f0c05f58b8000b0d60b1848f5d2ac1098a00e504630091f1d37a45a809c8f827676ffc79c5dcaf7a9117504e0ce5880e96af59666f4eed2490316a77cad91f1bacd3a519331a7f6fa6de1bff6b8ce9aee3eefe943896ce2f947517c89c31f9f79999c5d0620643e1081f333f9ce74420bf1d7e543f4c2866685189d127199975da18cadac0272269a7433b56464d46d1c8c7e8072d3448212121284ecc88cf462a1c3c64915266612138f9388e93b25b2b153e3fa95253610dd5dfcefb313556048c10465864065206368a2644c1836aaadd7c327aaa0e9e42193740e2a7b55030210840adacb709574c216a39d1a2700f1320186a39617e00126f892f357edce196ec7fcfc3d3543a7542c490705c63df8f016e99fe51283d14a085bd0fb74cafea516d3a3c4cec4defd48888dbc4d78c6ccbf4d409428abc7fd2fff1f3489a8493e4f72391b49b6c3922e9ce9423fdfc17f712f6793e1c7f67ca1153cb94016594819c3a8181a80fb72412a22824f3e196fc8c1e71ba03a58702b4e4fb70ebfa4731c0adeb59c86de203a067beffeb07d9c8a3fc8bae8a48c92d93e9b965f2e7e13151e625b789d1dff72379dfeffdb9d5836511778938e344618c265e8084156809e2a2e55cacea1e1121412454bbf96f886f6c4b8d6e1a6c3932228c2323bea8aadd9be721c3e283ff849cc885b827a30d9adf9cfc90dfa6d03c1a4d08cdd370c5b02c7b529a337d3f21f98458fedb9e10b3a40f7b0cc3a179f87dc42ad14d5cd8d36ccf48a592903ea16eb734690efa0329d91f9bc358159aef524df35d1fc11cdf47e078d8fd5289d9448538be6b282a964ea2f9aeb7a8f0871c341bcd6f4d7334d83684ffc98f18cdb57cb9cbee0dcdd36c3dd45448304d1f59a3a10bfdbb977de1cb6c0ee6f81c3e3f340e90e7bc26104266995c9e5d9e3f7234f129bbf149f885f8f017c080c5313dfcef64cef6ddfc01f3bb39d7daf0c3bc69f3e5987f9ba9fc8faacc341b007690a6edb481b9556271887c7e6cebb08f9f61524c4342425d0f35522775953eea2c202c92d920250a3d21a125cd0595e373345fdf558aacf4108e2d6e36e4f81cb8d27c11192455f9ef33179410cdcdd30baaf00101a9a04c1aaffa1aefdf2f24f472b687ff8a1ac7a8716a3cfc87f4a8348e66a5c2a3ea02aba0e6137a52de90df707a3ff35d0fc97f94025c9976363c2ae90ccde5789a1fe8d2742c8d93e3e1fb92e7fcc7fc7b3e9ed341346f82bf6daf477b9a01e2d3a5d93da06a830e5c67b0e109d11cfc0e3a2d53e978a3d1fe5e35d18ec77f732d6d03856a5bd9ba68eb2a4110070de25133c0552375339630f9572ff334780b99daa5f141fac6b6d31c84b1873c2789eabb1eaaf1dd6e51829fc8e57b888a0c2ecf14e0fa68777a6c668bf24f6393d972e0ee746d395c49e00b9d109594f374dbe6fd3bf18c533ea555ab70832cbe97a984fab7654e26f26d3e6fadad9c1ac05f73ee579519e3c718e3efbbae476dfb586e135fca1935ffec92f978faccf4321baf8d7f6a8bc1ae8dab2ccc0bcc772da4fa970dc873768b82ae37bd6cd79b4c44b8de7d4996653f5baafffcecba4cf061313a7a59bc2d1e169491952217179e9352c000d7f34f73f1e3453bae93ca52f587f94ccaec04b331cb733e124511ccd35fedd3521a67d26ef2928fe7c47cfc0ea285681c22ba4799e6c37cfca9b1816a8c6fbb94804c9466ab6446bd1e4abdf68a3bc393fa30db967a3d2df57a2128d68a09d797a7c0abfe4c50d5e92b698e067f184a01ae2fb4e39f544773d7dbc0744973f11dd05c7c8d8631af57fd303397d3ab31baf8831bafcfd65f70386999a63dd31a9a8b8ffad6e476922f2ebf4732d8c24a445b54c98264e5c7287ec4e114b3a80a2248a3523970e51f1c3c47e5d41425520f698d6309eea9d9679bf129cb5452ee1a11d91f5db3bfa1719ac4b0392ab7c93ecb7e3727ebf64acdb2df4c064675c5a87b74c41635634d52f9a02624bee6b851feabf2ca4ecd65bff2658f8e30aa9d4ecd1eea344e37816438fdd913c94e32356f645ecc6e8d6af69da956ee3e53fa9e48f6d96f4d466de09eb844b635dd22bd557c8f3b539ceef8677225e505218410d67015ca2bc27f2b23fdef8f343dc28fd11d47dac2ddfd41b80f173e2d8486dc9374dcfde13cf71d1ff903c48fe3582c1d9df77ef9bdf76eb82b55b93732c79fb8136ecc8c6c7f6bb05d2d2b06dcb5b2aae1a5f95dcf612598181bb45375cff389764f3bce8576ac493b9d22c93568a7aadc63e3553c433d453bd50cbb4ef5a0567219da491ab49b2b29e754a96668f71c0769c7d2d1f12025771ab453c9d06e06c1d06ebed0c91875d6d128638f35eda62f7dbf38363e4001989999795bd9c648989470a2030ca39d1329b0ebfd626f7760c4fb8d1d430f1a68366c6d1ea40bfbd7dfabc08d6dd746b617ad7a5e0172f798218ad8dd0beb5fd6967b3eba19eaf66be3ac79a9faf95bfa5e30f0da6d90ed33f302313701a887b887c8597c7ec7562a57f11eefd9396dbf4898acae487d13536d11874a5f11ff0b94a2caf5c51e0fe3884a523da28254f76f348e144b30a3ee3f046439663af017d332666a35fe07469ef3a6e89f6d1287bdf1222aaac2623eea23a879104278c11861ff053726a81d6a5318dac6699031667fc765fd9e97c7e3776f2795a10cef398ee1d1f0bcd9dd25c6f73a9e44914c6f34e792cad4bbb260a18208bb5e7d78eea9c171d735d45692a49d6c51db89526d274f7a6a5316aa3a5cf5fd75fdf5cd04e55cd653f90bef0bc82b9645ed74704bdc87eeba4ce38cd9f908d25c731e25fb20cd443a5c9ed1f753f38399fce56a224d551593db34859b9c98af8a1296527b88a9d47e566db0aed68f4e09258353ccf75ce33c87ef97fedbb820e68394059f6b0e56958b0766c782a171e0c36701b9fe3d7cf8d7a603e1db389afcaafdb13200d7f82b26b5eb56b812be295c0a3a5440e186c70e1edb2adbb1ad321e3c3e7b1e74674a468ff078168f1eff84f53dfe08eb7bd09d2935bfa3c2b36ae811d6f7f81e74877bd6131e3b50d8767c0a1beb55d8783cb7f5781d3737373a3e05bac3bd8edf51e16ffe490aff04853f62f328bc3f0a74678ad3232b7c0a7467e7090a5b0b9fc2c6c2abb0f9786e73e15d60fd93968f1d7f84c7ef78fe1d3d9e4577b8eff13b2a3c8f7fd26281857fd26a61c7b3fec88e673d3f8bf52cd09d149ef53b28fc8e7fd283a583c78e9b2104d179217e0004b02ff8d0b183f52b3cd022f578f6d9e2b3b25303fdfce9697c6076fdd3fda777838ee7f48fdbb4f0df13f5eb392c7c8eeed9a591a20f809716b655f62efcb658d856195d1961e17d3c9216de8516de470bcf83c2b3f0db7a1fbfadac86ae8cb8f03e1e890befc3c7f3a8f02e50243ede857781f270ef836e2ba32b265cb3ef384be5a9a60fd29c8552dac9edb7163616b6759b1cb4e35ac771501adaf1b84157b4e36cd01ab47b159da14434a84cc7c0d04ed21a56a6464f19564d9daca69f6ec7b88155a3fcddb8b27af4e8c162b17afcb656d8566eb3ad9cae8cd8d8acb0c20acf83c2dbfcb6b28ef239be8e9b9b1b1ddcebe05ec7f3a8f037bfad1d2dfcb678f078161ec98e6f81f2a4f03b9e85147ec7f3a0f03c5800fbe385bd69b90109024373fd01d0b11149c2bad9543cb61e3db66db1b66df1d8b6b563dbd6cdb62d1ddbb6ae006cdb62aab3c2c63d2a2826a4d368ee732af826ebcb1300b48b51b6351d5991e543c90d7b6405900e521296ea1fa114a662849a0357ca0262761cc4621ae5faa63545ce451541b033e4c7cc4e64069da32f98a84a5f64a95795a2e688626791d448d7c3d060764cc44bf83b57cff9f7e725cfb9f1fe1dd4384434cee9051622c7fb7396d5bb0d1c5b6aa8be6ba0a0fda1a98e66d7d4d3fcfb46f2df5452ccaee173f055dc14a89212d2d496d1d8625e6683d96dd9d8b65563abccb6ad6c8689f9523b0e7a27d5b6327dea556f635b1949bdea57268a24f5aa15129ab7f1346fe3b567ba8ac1f4fc4c3b3292aa0ebdd201d29cff93aa390c4192a60d5514b3933c67e61de669de1b665b997ec9cc36f3309f806d29d949429fb4667e5b34dfed0c25927a9aa7acc4eaf02af60713edcd0c16277bffa6410ff10b2d8579c8c0e51de663be9ba934a928336f6363a3d5c64451687ccffc6a427c3ca75f1edb7cb9f8bf5d6b139f8588eff15132ef9ca21813f9fbe7d8506b131f47ccb137f1fd5909149552fd86d169ebd5d63d6ed33faa6d53db4c15988d696c4112627af611c27f89bdf16d5b3452a68d2b8cac26da3e2a28a6a4dc439ba88c26cbd7a827a8461db1f5bddee5969822085396eaeed89050ef0bf2b5a0215aeb30117bd382bd2982793826148409c98a79d01739f00c260444f5c78430311ac7dfd4e33950a6c4ef21c5c3ecb8ea98506d174c8f41e182cd515dc17a8059218f984a34518968ce9f350e6ace5f4a99a91d66c7b9bfef96988e33f9b88dc77f79f75f23ed63280cf5f19d269f45997cb4b9ddd8de9492aa27e67bc6a4bc7c97127583f95ecac69152ceb93697ea4673fefe9f26845d75e329860935e7269fea6ff2699c8efbf9a1713a962988c6e95ef59e9e2d6ac743cf94e5a54f41d9d66c1300fb77aa19c756b2846b7c0b2cff601f636346628c31c6d3c6b94967bb11a4487cd3d1ec5649e3c4558d1f6de010638cbfda1ff0e3dbd81fef59e905e1b56bb151c9129ecd49596071e05f2fff016d73397ece4c4610d8f74bb07fbc437d659051df6f876ddc3686d19d27ad779bf7d716a488dbbc3751f19e9534cebb51df0dcf7156722640cf616368ce6628a5dbf88331ba2c319bee6ed3dddddddd95d8c44ccda85d0c3399b2d389db9bfdd63497abf6fb4e538a79777757fe49c793da0d212a1dd58aca6a062b2a20c8f6b7468583b9fcb2df7511f32ff19c6e71d74bb587ad345f4930b78a712091b4e02aaa7f91a02af607ef4d5bf1242bdc0e2515794668f9ee8f6d3a174442422a52a448eacaec1669a7881041fc00050989913869e3eb9933debbf02c3afcb94b295df235c3932563ea10699cce070c8d33838fa0ce07ff51185664bf109c4efc42eca9fb1c66c2b639c97dea4c4a99f1c9043521d84bf930ec4f9f61dbc43ec33eaa54984627cd4cd8c73f75ce6b61cfd7aa4891aaaa329728692ebe6a8909c1882f4618e1dbd372fd6bd3bf9ce7b0d6a683ac4d3f91198a348e5cb8bde5bac3a19e2a939dca51aeeb8581f4fc6d8852c22995547fc92b3266b748458aba99a4063efae2873adf18590e2b19f6afefea754fb042748e84f093788e9473aa54ff1cc782d707e918045f89940a9f817474582c554d82707516265155512d318bb4c834c04f5a7b00fed75c8c4b33f30d548f1d943dd99c8e2b080c43d5773ac78b8eac002a9a505e4f51ed7629c80aa57ac5661da13a50ed806cdbfdcb7bd307f01c9a9bf272fc2f862783b7b3bbbc4799786d5ad39c479154bb91e5eb5ba2424b3fbc64d8ddc303a30b202005bd17604982942a76f821a6eed1174368095afa020855c258c2140f892ba6480210aaec8bff16b17edd1fef51183098a72981a0258c208090812f92c8428a174853bc24de12108458aa2246f76ef76eeff6eeee54a93a30851630344084d7bbdbbddbbddd6fbbc1e8a955c01e8ec2d040143d6264ac8308fb7731f6c7b72112e1c891c816a439e6dec7fc9a9d991986191aa7631f8dc3475e3431836c6b84a4b45117b91537f2a2970f4383d975d1173191d090d0fed09ec0dfa147e6ce7c12ff63207df833f5317427f53b4faab4c6447bd34242fc42fb5421cc2e2303f332311f63cc1f991f134383eec8d014119d6dce989fdff408cca7e84eea619eb59511146aca3c0cdd41bd4ccca7bed3496d315bf6607efe11989f320fd3ac69ff9e93fa1813333f06f5319cccab589ccc7cd477b2f706d559a0f06f318cf64756bdb7b415555677ea3d57ba07569c4bdaaad6489a91f6d8e6b4f6eb3953f8b597fbe3f4da6736f467af7db60498d977a675f639bcfadbd6deb60af10bb2cad5427be33fc3c43cc27254fb4faaaf3d4fdbcf9d9f8279d4c74ea552cf23c3f342d9883f3ecc46e4364dd9ca4bb9302f303fe9d4d67350313c345e8622999fa23c2f3fe9749b38f3f19f3627cccbd019ca33e3cf8d81d867a25e9e072686f2c8fccb3f6d6524f5f391a47ec63c0f2ae65f62605ee63bf6612098951199473d129947cd4f3d0fea65b81a1f49ea6328cffc147db789fd4d5eb6984f7d02b685c3ce121ad3bb9404f5533361db9bbe2b6f32156a072840cd20afcd0ba146d20b9276fa76d186b83cff1017bacd9db23f6dd9b7908c9a5c6a17f125b32c292521998af6c61fa33c7439d2a96d2cf15e5fc981d2834e4bbe8f6c61bfb225bfc3aafc4e9b4b8048a3609fb1d4828b2489c0e6a420b0dca380cd89af639fe85101459260bf603c6ce3ae18c46d8ca098dd22c987049fd0d1f1264de090de605faa56b554f9459be0a0830ead93cd8c607aed7474b6aa82d0e96cdb5249ba646f9c88922a493565cf1259fface09bb0fa8c5c8f3d12f926cad32f1fa3f27998f9e77a29b5c72b30d2e8494a132d819bfef111f5b9a0be15141911e9acb7e5ed76e920498028c1e17aefa62a66c73fa91a44e3bc7f1d1020a922adb86d0b06fe6120161a22428334b7ad95fd23a3f029d2dc2749d29cc72130c916699222473ae7a5e5ec23b5984594b8bb6a8be6206c935b22128b7ba458e5a566a8f79e5ce28aaea79d1ea35d7cf959dcb6f836fcc3da294bca448f895aefb56d757d4c4c0c5d5d1fc373fad423d13e86f2b8bcf629ed79507f8a2fb595a8ca35f9e6a3cf4b7bf320b3189d5343db1020f5ef93784e8a97623e6e51604630b37872499d3ee691689fa23ca9d73e26f5dab656f17b4b2b665b455aa4a5aa32390b2f4999a771c6e63051198b139fc6a7feb167a03e199819ccf92fcf2f7f65a9efe1aca13b07f5de35b02ed81f1c7d05f57909eaf30fd4d74ec43eeccd7b5eea7869e6df45344339a9916492ea7b97ad81509a916ec1d016eaa2e6dea7b61edade5b6926f29c56f2f759d2f588b0f79994737a1118a3d960c45eda1f3f9e93faf7bec36b32aa03bd6d97282e1fa4538f9760b6ee612c4fbc6eb3f450df3ff6014b7dffb0a0b66db99c5efbd3bfc7a187fde1c3fe60d69870c5e27b3aade436ef4fdbf39fbd79aaf7efbda4177d2a2c26a44c5557780c0c8a6668ae1b86061c829ffdd1eaa1fd710413b10ecca365968c06e0f3add3779c44ed671930014edf2fa7d4b62df8f2708b1213f3a70d4a0facd6cbfbcc56cc2f699c950cf1f9237d52f9fb57464e3f7f85ad90a01ee6510ff32b8c2239fdfcd3cfe7200c8b6276fca37dbb7ca3fe675bc1d7d1b615a43924605b2e7487a3282dfeb64eefb269dbe9230f8d81c5f161714c382ad81f1737109ba37d93402605b3f1d2446d4ce43647ec4dffb5f1d0de04c1414242e227f19c13e522fec0f2e847320ac1deb0296e4be39aa45b7293959538cbcb8a60294c3c14d3f7205b546081a7ac876f4d819f79b745481825d22f09a46f646f6e8898dd220181458efc50831849b26cb9640cc24030ec11d464e02700a0c2df96470c5ea52664db1ba9d1f036afd767b259ba4bfcf87b039fd947731ec5f42ccf31d18713be29a184130909a9c83cb93c4d799a901269ce83e06076ac232fbca8dd2a313f07b512149f9ee6b847faf4e0d0a439fe4ebea2a2204a92ec8d1f35e7480e8724d91ff1fd195043e338c0d40ad81780300fff1aefdf847db8a6c2529ea3bb5683641c647f68dd049e541a3ff3339fe1d870bcc944b3ad8ce4781cbf92a148723c8e15927f9affa779d656a32186a8ead095c95563fe4935d960f2d67bf339b6090819b230ed4fa5c5ec36f5192fd1df967f8edf56cbd4f81ccf63a3c6e7a0db6a21fd1d1be5f8ed91fc53cab3faff8df24c39b2faa73c373e07dd16d38eb3ec4d7792cd903440a09a61626a2f3efe9efd0bb9b88bcb19ebcf5398b13fb4f7987798777e820a5a7e0c5517d5a7fffc4ef376e9782a93ab6ad9f70c13f394f1d3d86ca0f1ae7a155dc9a07a991fa2a2dbdc0c0d1a2f5fe69f54ec696c588a2ed9767b7b73c3d641173021d1c7dee800698e811ca0a486e6fc6936f66982635bb7e11714b03cfcfdab50a9fe527e30606f1c888966dbd68d6d5b2b5923d2242a28a6e9098d9e3f8fa73f7bdf32ca733dacef016599b37f96398c1974087f83348410c2acfdb232bb1b50e45f0fc5542483d9a6c46dde9bb6256ef31edb9a6cef6dab1d9ef1c38a1146f898797fbcff6b63566d2638d46e46c111849cfdb9bb3b7740802c51d981109cca69d2646ffcb399114cae332398d04f4df68796fde92113863548a2a5a8c46ef55439ea10cd000000001314000020100a0644428140401e13ea7bf80114800a839e427c5a9789d324c9511ca48c01c410000000004404608666661c00c88c11fa26d23e626086e8410b149b80f09467a6f0045da78ee5eaa824e91a2a410b4cd880ea44e9374bec7f4c4525ef3d2df77562306d647b447f8b0e4d16a8b7d3075e81975ed30ffc464952b4cfe1b00ed4e7176ae3ca8bdc0a94e97bfbea354a506661e4ffbff41a657e81361c69c002457a8a4e6fbd95039cc22be621859b064b5fd0306c62c20b3d228d68b7ddf50c38835d1b6c448ce32532dd7e7bc5dae99d32b671f3bf6cb2b50271d8f87453538278052926c4a2fb64b38791d158c0a54731a07d4e3d7b6434f2413bc30105277e4fc40c02a3b80b98299ebd4e1a4cec3b4e03ca38e935b7c9acc0e3546f3ddc7fca3093e1994d040fb20ae1a26a726fbe7d81d9b04c2efe81af0005b2367fe670d8c7f2f791ebcc9d0fd9fe35d4e56fce09cff450b6e8d5bb6c94d0b9943efa1e69c6056bcf682afbc41774890e0cf6cb65aaa8e12e7a79e897b97e7d51b871345ec38efd918407e1a5e02fe46513a0466e7fb8465beda3e030f93c03d33e7abcd2216b14ef89d42433fac0c612c6cea3a31c7948019d5819fe6161058158d326aecc9709d96aad152e6a7326d47d0d02328f78d98dc01a09832e79921d862cbdfa2993b3454087fced4ebaec60ae7d743fe400f52afda557b02cce39bde94713b30b36dd3a7eeacf4b6669c4e86c340091ce0f4431c8200730036cc1598c40b8d487f3e80559316fcba339d9f51393b5f20e4d3a6830e87340a4e982be42c69159c653648cc864ef8c641478d787d879f7a67fff37149174b9e48da20dd9563ff4c6489a4faf9cf51ba0c51199a2d9fec85c790d0eb59c916bee1af6b397cff27f54f898f4bf64a88602d20673ab7b57ff4949dd401482d41056d90368cb3f67eab5d15f3c9a4e9cb65ff64fdcdf0abb351d56953279836711c26a88f2a955bc52018c6402052097398d01d657d8a4431defcc4610023540441e9d7fa432ea7b50debca4819d3daa6392f6f0684b0246d1c09e21938408919378ca733b8838c2a6ea26e352ba9e45e85fe105ad76354e159e2125aa07873313abd8c239f8a46e1fa8b2f8268c3e32ce2de264130d6a3a2da9f3bbd10e287743098d46245c4ea1cccac2ad9d6f487401180a1b3082e47da1b463a14c9893d3148dad81eb1b2c155999a8d80655f7280270a5a778df88f13cc7f7f8a1fa092e3a7a39fa3140906c338b26b5ebb0447210261d2a4f0ee425ee12085375a951cf6d482e9d468e78a5e6716ceea83c79a115f2fe44219be6508d194e14b60edb1d0b1b0316f9014be1ec73af0d5033604c8502eda87cf2336dd2a0e0d54ae955f6682102642da8237aa1acc533a16614fa9638d4ccd2cb6a12ef45cf961375654ac17c66dd3db9e0365ce64c54de3ae49311f63e1ce7c69633f81be349c5b1da11a9645579b4df147a402df4f5a768a0b649f256080665685a5c09c0d909074d41a06c1c840322d648991e39fe4b3645b249e8fe192381955b595c5caf95c392ea7b44d29f344dcd031a94a371b5bba3d3971596285bae8e812a0d6434c01c352bd64e31ec036141b531fa89d462c77e04b3e9e74095c78499461e374e4eb313608438832b0bf68ac8dcd94d240a488d240b391e4cb834ba36134381313588145e807401b6ab0d07354746eb6be204b582328ccccbd9a5449065844e35333bb8c5e1ddf59b32d00e602078f7ae3c763a35012a6a16c760d2a07ec8398f1985f4d97ecad13e583746b21167e39a083c4bc9e097effad8af95580458c1646d65ffde23c9a845f73e407c1cf89d4393c6f435fbdc35022cb12333b8365ced4f7fae2f16eec623d7178183be4851ff7feb702e4b4b1ebbf95566dd9982930a3ed9666b86f2c9715cc8ce13133fc87da54df8453227b11b66f4d50eb04cc0b331c30fea42879ea725096b69abee3e86f8fd3c7ab10f099e84d34f4ff126d9096144e909568ed62fa83f92a64a1d1a585ff9eb1a5566ec3b53b94837d00e2453f1bf1ef8b7665c2c9c69b15aea43fcf3ed078ebb40f10f4e80d8ca5ae9b225302d6ea7bcd38f89c70834c5c5f55ef6947969e19c640ece69992511d09eb7ebf854d4d799e1ade912076e45a91c2e42d1ab42556d12938f93f1e88db8319e2a6342865388f09f600faecf0497d0ed5ed877198e097480b0d8e70332e63ea33ab324c391399bd1f89d5a1373fe0139a80dc34064206fb2a286444cf48c33ca0a1910ad180e800824bdf646c17414e0c1506b58fd5eca7fd2b7f9959d27c741b1a3012d00b8de67efeb40e321d099f40a3233cd8a0b3dcf4d93bad35e21e9cee5da3f52c746e54d73147539bd79297ee8a6f39742fee4a0cc59703c134a233c10009dfa280c82e5db9cc0c17e59bc5117ea38a61a3a8aa14c0d8c41f68f4916de6d72046e0ad08569c6f1d3a5f6075fae7db090c4eae8836a4e28ace8b0780d74f0fafcc675118cb8aa5aa7970a0bdc9b29602e744a5a68ab50148b52be605da5f4095bfd150e71a59aca6ac103f42bb3b9b3868804f70c6704eac32cc4c741d27c450e599ee7a213496c3214362ce8eb4bfcabda5e0d68ae025c67064bce2b9f1608e06a7bc178752638a7afe518308ba7c767ff9f1133f41bf5e33b0ef1fbb2b68c1e933eb2788afe52ed3df7b56d768dbf74a652ada45e7be789a119117d17335c5a42e0d24acb9ae96669c7c439da675281223bf6ec4c9528a91828bbd6946676972ae7b4ce0e8e13a9048ab5fcc76db450ce2876fe3d160012b1e442bca08eaaef9c9c1a8bc847866dce8603b47ad41f79b6950ac814f8075f7ebcd93e2198c0ccbea19da5f777fa2703f61bcd76b2627367a0632c43cfc7cf208f9d73ce69b89b0d6330feeac3c94441c2c4191693a35a36005576939ee5d7b79a709a9b96bd4914ad8bb8e564e444fa046436bd2a183decf08b0b4c7946d25e9996df311efd2e83704f408fd0568c19264933aa14be4493c79f3df554a581890a38304a4ba0bea61549d25bffc8320dcd0c3cdab58ca9da95019bd31dac694456e468d119131d6ae9cf41d7af03c67aeac1760fe42ed837f97508e70f9af28f0db9203c362d720a3ba0df005b1820703cacb66b908404f20e309d8a54710afad0a116604c3617d9a3b90823961e5e9a622aad974b502064aec792a5256989f30343e957a5b23444a6c0c668dcdc429942d7ba15d19e1f36384bcdde1b1b3c70ce4b87aa2ee4c74e1f15603eaa56eee6fb84b3bf83ffe8c04e464b29c1b730e524c6d3dca43ae0bac4f160b32d3283e35685b99367b8d78ebfe0f4d3b68c1900e7dac9cd3c972ce3eff4fb5a12f29a62095dc3920d5f89a31c67fc06bb92d82d019827141557926647f4c8560ae154023dd29954ec880ce641a324495d12c235e610a37de38c14e113c03b942c571bb022882672e74623dc8c08ca79c08f56dcc77ebd9032e8f6ccd6656a666c4175313f0cca5a534e9365406c77e95f917d8cf359ed4a9fc77715d9adbd1b2c11ea1a28e5cc578dd5d1171c6ec0813b37dc110d49719f09358c497b6282f664e55665008d0096bb74f0b3c36970ec6995aae8c04576d61a3516913ed3f9554d9592c804f022c0f2082d3c04312c95928975a41004c9138563ae50bc25d213cda243c3af39bb75af9b654735eff431209df4355f2f46276991d06b3b5fd1a13dc3391b032f93ac8529ae24b44f1879745e7bfd21e92ac8580835d9fc61122a063aa2c55f251c2a4c5738c966f8b452b1788b531d24f5d2393a590f34a4cc69c2d36ac88bf9423e97aaffad3bc3b2ac5e5a9ac4cec160546a39dc4069f88cbfe4bd82d92c8012e5e8659645c12db6d1f05ea887db3d30f757dda5b21da0530d33ae2365505fedd2f2ef0ad6c6079750e902fbbfbc81538e1fa9c5b26e2d5492311876f05ebbeb6d76a2e4dc05c205a2f48e46f4ddf47f3c0036c4401a437227256dee2f58b563a92e8cf240ec83b53794383cfbf2f5124743e9c80a28e385a48d7df145691c5aebb54c8414252be6a3b73c41927e16938baae8b58dc9b9e4e00e21d0d560e74ba1053968dd95acef11d25536f3e65b764608fd728707d500a89004ab155d6c59f7e399d74fa59f87bb91ce06c270e3441d0c4114905c4662bca9ebb64ee0f8265676d62e43c30063bb0abe777c294760cadd9a4acac2a41180e0c5c89bfd27b464d4e62623bc9f87c094342245521119de8fe1e6bd43b114cef76913e31db059e840f6cc3597415b3670d58e90cfe96454832a769f6bc9b0866e34b6fd7b21125a7f3032767600be9b9e7665aa8f92a297f441acc2698a010b95b3a45ba974e9873eaa28c303fb13fca17e61f23d751463cf3c60ecd280d7e02595d64d448d85123a4129d6ebabc8fb05931a3101a015bf3b736c544b9b944a032ba3985660766f8390f05d7d3d2ff56590966e9269810fe93e24e16275c90922a406ccc7367d712063350bc3cd6f7240193d03be1cc781e9d3eed961a376c3b3310feb5f3f6846a2db6316483206cf1089cea20ed36477b8f0525a277a460bd66c775f468b373a65c43cedc2d273a350f6f5389639e3a731f7cc6f2f9efd8ddcec3dd1051d6e81f9f89552cb9d416ddbbe2a76da4d7ef7a4c8f687ab524e098099b38e201c9dfd21d6b701c4bd1c6b8ca538744f0e8470d5cadd247aa41975d80af0e4cb74b6b17e323af7e4d33c266d36880c46aebbccd298e2bf76de7d87903a6847be261b2f1cd867b06e5ce15894ed1ce88a427f6337d127d99eefe02287ba8793b6d379aa8b7c311d1cbf4264c50b8db65a86652f13530f2d52fe50ee00dc3e736cc6ff444e43c786ed91f74e1e8bd461a553737e166fe0a12151b94795ff6ab91d289181d38be3046c694b6d275adfa3f3268746859e808a920c11929954d82eddbe968f39000ffca4d10b7f0e8710422558f48e557706ef030c41535a85f17d61d1c8fa831685364a6142f6f5b6530e0f90caad4b12278d129e2689802c2804e65dc0fd369a9287c6b19231be22fc4bfcf38fa08a943663af7b1a1566a8727273f0be5717a878256b5481e1fd9d86df603cf3710c016b1454b7a34089e65c36a6eb34a52be95d0a8b822eccfcc5aba9227ea49211c51c8c76fe5422da9db77032b9f9ecc7d29e513da1fd2d28de5cf7706ab9a1c97bd28c5150b08a8d3fe2527475a5be5efb6bb996fdd82d8af79e0ce51e57c40cad7e949d205926e08099e52380d215008448f72284022a439b3d1efc0badfb1a027abfed603ee1a91b5ee72e32450254befd972913bfcb03ba5476229db8bf67faa0cdb739d9688909519844c6143b34f4887815e629266612b1a52f0962511e2c4ad8eb3b3ea724fba3577686edf29198f86558bf269949cac2ed29ea1a3f0aefe6b3797054687fa102f7c4d369ee393f9cae6c7b3393199e602a80cd1895138a0d4daa7e38aab555533df2331d0ac6ad567e24107ff3db9cdf55696824e3d031a7c2f3a5c5bded08303b040dd1cd5eea30f740420f73e09113189314d1a255a83d81457454b405b896f79ae32593258e5a29568f1eff999711e4e913af81fdaa00013500f6538ad71dbe2af53c70d688f1ca438520ca5dea985f99a942cd7e3ebb6e6877cd9cb52cb1e238e459a31b96a02588e6b74006fb04afb5c5a0268696b21ff3763ae2632e5c4b3dd6959d89b24a2507111555d533837cb3988cf7540dad6c7f91b46d2d944defcee70692164acb65e04601689fe08593e59fd8fb8d6f37a11405d592d95235a758641ed90efb62052513301baf651935b6c36537064a552591c8dcd2d08da2988108f30bf0f07e560d5b57d873ad82d1f85b3baa32e0ca007a1a532192f58450f1b54b55b412892806cb3d04a4a1dbe3159a0d93c892e212f2aabe2d6828382792ae3ca76d046ae8f8c58fe2b26a21a995660da6a35f418031ccece4923264aefe3fe97c9be66631608c27ff82c60ae5eb6de1466614da98c0604b742e11abc6c5b67410dee9e9054debd32b0151b0d91db84c5e4d97f84f50785ff264603c96abbe9d4f85e5db24d1208b03ac83e0a30f02734f47e90a736280c715be7e72a85217484e1ef983f0eaa30fd38a0dfd353323f145f5e5fe26a33a0421f2b2b5a554dff2653e934842e3dd382e3332936a6b11b90b4f670e4ad908a6c6f68f031a8ea01650e99f713621a7a0c17b49432480b23c7e7c226232246b67a91194258eec69543a17b6b069d332d735026fb16bbbd30b757c90cfa71868c5dd478f58b6983547b3a118eeb976b454bf2421a4980239167fbfd32134f119bf7440c09142426d3bee86aea2ce211b10f6fe332cf1b581c087e9358db8d0f231594cff49b6175a3793c0811506a22f8959903a3c3e4a86b8950611a1b1e8e0a6e0c011289151392632384d281763632cec435534308f2e077b745e87457b422828aa54786fbba5fb9e0d2a0150f4c89dc4e3edcf052565b2ae43a7e37fd8ceba69a24148fc87cbc9c287d2e1fdf5f9126d2bdcd6cab9d2941e5abe1c5f567d3d0e4f8b390f7028ba22163a49437e3a655f32ebaaffacfc2f246b4657f70189af0b1f84cf821ee22a98990c962876fb0f9b1129c83ea9ef3b834433e9bea113df5af94b5255fcce97c0a5cccc0f5119b007dd480efffb922e4a7a49930822ff0694dd56816eb4fffc6bca887dffb42037b87bcc521f0e0285d3a3214d32dd0c770d028280815591e21653b556480a48f950d9e5f67d6fbad190bf859c374063472c91c76335edee391e6819489330c5e8ddeed5d68fb8a99c2c12180eb0c20cbe71a68526fb526e40d48347c8a1d016198c6b9838dbd64957aca0c9344b1c838daa0ab12b0be6917c3bcaa2656bd5444978a9e677ac3563e7d4fd8630e20c86789d7308fba08c9102325edfca06bb8e3832f99818708919b69e0fd43a0e85757b93fce9405f02566cb38b080c58fe4ff2e4a0bb1e6fc10f1f44a25d74ceee040fefb7e28767152d5d28f239597300f300813ab9a6743e788ff54736e89d9be4e235bca8254388e8ddfe2292849cd6dead217b6559f1ae180da19e9fd30369f6126464be1279fc078599fa7e2b1585c00594349c02106eacafe342d3e4f721181c46825225d9733038cc99163896d4b8e863f7170483a1f7cfa93513a35f63f686381800d6f6bd87ca5191b9aaa3f05524f8471589396cf1e3227cab521e205dc6e3779b38e3650777a2b13c7395dd3a1e5f0800e3191f0348c2101ad9cfcfb3934bdd77f1a24da7b3e3f143414e77707631da8398669ff6b4dd80bb625aedd21c3355fdbda76af7bf20167b1d5fd6eabf677dd148093a0b779196ea5ce22985f0d4afcdd74bfd68cfbd9654f89c64b34e12c0496c6cebc6b14291203a75e5f4fe910295b97913fb81052097e3600ab9200439ecbdc2514576f5fac1bf15604738daa6c466a34902390519a11824de6a1ad53ca46ddae4ceaede2d83f89dc04fbfba755b1d7cc8099010fe8225877e04868993cb772747103f1930721290cd9f74b46e70d1c90f04adc038659a26fb3aaaa342d794526e21d74aa9cee6de3416517f92b776d8cbec826d3c918227150f4f8ef5c4311533fc39644974ab267ce6b884b0d4b220c20e88fe646f6365953d008a8fce513935960919601747dba70c303a0dc52d5c26f48be09510f2add45310982fe748410435bc0f7d02c5b933cae5abbd53973a2d00472204e0560bf421ec642b89330b2f8aa40d3322b6083ff55445a02c48c3f5fa6d9e044a6e2aff87de25327f834f043533b09fe149ce1f44cfe0e9f957f5986e2c6786739f5dd7f0f115572bff051f834662c5e56feb619c02ee27366154e2d422ba4731089fb565094bd2fe04b279976d78fbdadfed8d283893f4d0f49e4d2e31f799046bdf02985a1aefb582498c1ab9ff90681ebf0826bb81bcdc45f75c64bb31991e4a34e38fcbc8dd341e8c6e24986f73624a7d4f3091ea47bba6ecc600ed4f251107795d643f6a278ad707931932c6aba568bdecfda4baf022c0bc7b0d4193490bcc879a6945b17d5d7afa1c15646407e3aa572a3d8c785df6b5a172917d96a881c3dd7812c72d68ec7cab5bf8b392927907f03d2262c11fbabf78b1957b3cdeacd34e96ae40f4164c8f68b5464444378712f26ecd93164b1ef60ca7546a869dfc5ef5933f44789ea8516f1cb696c0233833f7a9578e648c049856fa6cd5d72b1a176cc694f77be7115926616cb9fce50398cc775125b66c16ce2652c6e1d0c5a62fa430d268a327474612f0538b14143ade75a6979e76a72fa69f23bae38db44221e9e3d9809be15437364f3c6ac27a44eeebda6b9c0175b601c99e830ff9ae5732556e079848010ad55ad2296b90b40b80c3ed18d21f8d5452ea5b4760e5140992f03b83fd3290c2518d9ec60b2985f938e60a0937801e9cc800f3ff1c79fb848288053d198f68829f12281f353091c89c07213bbe860e450f2c923c4058876665acd31de6e2e119f79f610ce965eb7c5f047bed78dc75039e2cd31273d5d6b2211f056cd5d1a823fe4b63bd50071bb350e6400f91d36de4cd8accc68e47e4dfe98671990d9e99e5c8f8c14714beea59f06bb45d8129f053a0b60afaf5f6f7f5b96f058fbcd2270f6c9d3ebea845294ceebd24a1f6b1b7446ad9412368f302e6f234c641833bdf73c943a943753fa516e3f34b2f7a2b348fd0691249edbc2f33f4828777d3fb921fb7d3c82246c1a19638078cf1a0b85f1219ad3cdc11c36431c44f270da7582c5745bb43928de7c7413081e916e61ae62798e48e0a324f9670b5cd69e5168821fb51ea7f95503ee7d2dabe4f08910e1189831310ba0896c463de0abc541807fe4ca39a9a55fa3ee314b9dc0b3e475fc0c6754651f699404d627cc92823bdf1a50e55c69efd7e64608cea4de0419d574be5befe949722f596215f6853ac47d4bf3556eaf18d965981656d6ad28b930c4e08d5b48984ac74868f9a1f967e6d7766f38a3ab7e5f55a91fa564afddfd73af2d7d03156cf5ddab3cc21d2f49cfd4d1bd9cbd158dc84c525abc62323b40f1f9bbe32ebdc9b958b0f2d161d8b5ef4e542c8871edfc19ed4bdf04cc2ffd6ad43b559193462055354ed9b4aa8505b725a9f61a7ae1dfa79f4e41753bec981dd7520e7c3b5955929b94264003201ee6d2a80afaf23d2be0bfcc32b7b33544f2b1306fea8cf7209e0846d0d34fb9e4c5d3e3ec4a28cc650f0319154a83544e1291543651d279f3cc47d9757e345dfd256d36ee69045f303041894f2724636123a500c6a7738ddcdc4b19cb571a2d57aa86b9563b00d82e0a93dbafd5059a0a46d112845dafc6c72ad0d6e2dd713e57e1aaad1a0c7a3da635383e495c106d587d0ddbf95e2a5ef4327ea96f3d35af5446bfd9b1762fcab71aa3ab8820881f42033a8b2ce57fe840984211e36ac73ac64e216f980975de40a20dc0bcb42a27e6b12cd9d29a979314d20ea272cb569156497ee69b86f33ad54bcb3e9ad6312af3185565fea355a12e575b75302b941f511216ab328dcbea1d7b0d5d339affcb7f904d9d15296c849a3916f8ca00d29d22831590d537d800e1d9902be45a3e49c03bb43566a7701c6da2d9784530f3e5abc136f6ea79622d949fc8c38628aca6df48fb68c26b0e09edbeeccf800ae2a80e214e81bde0994dfe81f384119cbf0694bf80f0d8de1da77ccbb8a382bebd76de23ba0d792b89b603524f60924d04f54681e491508584435a1d8a9b59a50cd41d367c932f715fee79da07c251769ffaead9c33ce9dc7defddc4660c64a26287aa344cf20e86e79f40f7a2b4495112068c1c393e0e8920f430dff388c60f25e6c18e8fa25abda3dd644850841030d57b916445482cec8bd18f5e98138006187eb535790272acaad9c70a7854183cae920af462430fc962b4ba71e3dad28e70404718f96388fdcba79dc3943070245739aadfc1a7fe0f2d5e2fa11cf896afaa0a41cedc4ca67a32d94cad1ecc76df19eca4be456d77f828675c21a0a03e336d84961e95f4301abe24f310132a11c90e4d343e670897d5c3d78f806bb35101b6296640c7b05a240a63651908f7c97c86c986752c8da300c8d75b081631ee4a2c9baa556d0357a66451c7f59daf3bc208a38dc67745282c5a8918dbba35cf75c20f62282073ae61e3971424f85cd1dcb5f99a1bf2a5e8bbe51620e02fc7ddf75985f3b74285a8a67946e3083c5b8acb7cf2ae032110e4a42fdfb4a4f431a1eb071a653ace208d2c722ed86d72797f46dc6233bc9d606df2807d672fc0b2a02f1e06b21b2b9109121c43f63355415dc1802365c30eae7a58d9ddcca35be603952d11ea6731b4897b2b6567e53a827edb1b5fcb2c2c4288c7852198d57bcfdfa1219fee752d3dde3a8cadcc64e8b39e99a2f4146dfbefef472f7c4d94b3d0d3514441dd8045d33c3819f643b90e486af4321ea82abef40340895c8a5158d6a79b308f472f5995720f828f822b50732aadf6fef73833445c638ef67d222970a9b2334ac8b3398033c8f2a5f0a3a6a656020300ee8fbffc6c51c820e0c0507b52234db3a9a713a65fd529fe40c4bc4dea0937a3a54a473b924bdbe71898d3d277e3212699aa1e32bf08e60264e70422faa72dab5806d9d5d64b8a1053b0012fde08438aefae8bc8efffc870e1114f0e56d26992ce3929867d0fa4e0129db63a86b3bc8cbfb84efc51c42b575f0bd1eae9650d90c75ae2202a8f5d2e003a217ddfa2a857bbb9aca1cb1f224667765d4af5aed986523b87b52858f0042c5b55ea788867ca8f5deb422a5301054ab3b9eb4ea2505e9d32030d9c3b8f1b45e68b47c124d0e8366b9dddd81bcaede2ffe7a9c4f57c2ccf815e4e83ba5828d0f15a409da0e49b82f194c58e9e544f9f315a5850e1bd5fde1ffd01997679d52286fcac2a05df58e337a8fdc162441f1b3ad01b81a8a2128e4fc12a03ce2a43112bc698e1470f62221fe1c63da77a471c79b0ff63296af6f24387ef6ee546db925c0dfe85a2d4de7efcaaf8c15fe77f8e692b48808a1ceacf89949c24d69b02d24ace238987a9edd21295020ab2a3fcb08fc9490e3a237389a1546bbacc3df797e94cac3477eb831b461f457c58e5a029b0a78fe4ad208e36018929c25082f1ea0b1d3ee9e018a32cc37d5881915483fa3f89d3ae79228749c72d9c37846ab8604896425c08c3c4d3ec21ed02c4e8e54fb8f188c8b4318fdafa835b7e2d0b566bd8a046d780991be79b71826e08cf64596a70eb42f8d82cb0511fc9262316c0c51340f3e944cbaac6c452a09fe8586c738bc2da2f1bc5481d8248c2a98da00d596019aa480c80af2a81529d65ed88a390a2bde6781fef822bc0ea6833cdd1590dc5fa99c005a18c6f95c01ea21c7e4fe2d9828d4a7099a3bc5ccc32ed504995cb27c66ca5235b20983daf1147c0673266819b2b7ba8cc0491a7471a07d956054ff1559ffd8f69a60664e95f543eea563ca03ee56a5844bf01fdd71f340944b00ffbf7054f9b60f14b8df1ae6f7016b0e1909f63d9f6a065dcc0754701037914c06c55eef541ab53eaee76fc183a16d55474b7900dbf6998509b99d66c00cb8b2f6a42c76a40979ca547b80216cca95237071f90b0ddd1b34450a93cc6bb8cb8da8008a4093a0652bf61e44aeef35dc25d1c97e7d62ab1b3eb86799e1ef22cb2f52f6bf5e28357e00a084f281f3fccdf906f3b80360396b3d23079c6a2816e180972e3daaf81b61007c6b959a413a397c1ee62a151277d9ab34f0b64d4a84670c99d31aacb7013db5c88a62e9620bfc49655750c45ec70fce4b8487dc4552c906c078df95287e02c85715d349cdac5f19e24dd07308e234546019320c6de2e0c2a981e312d9f060e465a852cefafa8c3d5482962695d0855dabb07697baa4c6d2335547296ad323231ca304e62ea46af31446400217c2d7d628fa5d2f3a0461ac0fd66fb042aae462e72af8b462679a218f860a9e2563eac676d5468fd04694b23f0c8302b97a0e0512e34ec08b758eac6bf58f7b91d8887611dafbd05a0270ce9d035b8bc8fd71d1345037c978afa3dcda89ae40ff502009809115b000b76eea79e20815eb5e663bb810a20bcbd27443059467d3f9c1aabd3ab9a051323ead5c8c6012b6513c86516edbf9ad263fac7d4db97083a6f4c4e89539b12394856efc74e8d99b63a0cb2d840e71100382a4ff92f6d4ade127438e1683ff4d0540789e164cfe30f4c55218db1f4c9ffc67070fff5b57da9f85ec43a47aff493d6f8e3dcce223cabca0c0c49c226aa3d22069d83aa98bf72c2b9dd30756992ff40098371b44a75dad8329f6f0f3acd7af2f4c087c6ed833e35ae03bf9473bb9daf8223d11c6c2f7137a66a630ce8c29260cccdc614fa23b074303be875a68c15477ebb99cf92aacc69a67ceebfc3f456b554bb40341e6a3a8547ee05d62cf6371e6702d1d8ca583e8354acb140c8e8d6751d0c365ae2e3fa5157ff7e1f2d3a8adb7230fa46e0dcab6b7f22bf6ccbe771e72645803ae1e9fbb650d661415d5aec82ea00eb19d6e478cb656012bb2d8b34e0e60db03073a065bec190ed9a2de2511e239f91e300bb8f46b5dbb7b9e90909cd21ba48dc7611ea1c8daf95919de96b484a068de09605766844e184a8b96026444c693a3289888f8c801879463a2acb1016c03ec547d6fb94c707cfd09e9ce9a0ebd3e69e0bb114bcade9588a189dea8c16f83a5495846b4552ab74f9797774454b5491f5038cb9ddace84b911352389aef30a6080839763948a163d3bb01a764a24521be2d689a6ac6fc4815801f92e8fff4a996103e91c79f4e81d9d6b6855fe1e2c4974eadfd44dafc281aa1265c5c00d20632abfcf9b13dbcd5a27816895b6f6c82e683683dbbbec601ce9ed94cc845a8483a4d9c7183e9f4fd0879c99e4eceb3bcc27622f364d1358d9e15a531cbdd8841ac2b11f7325f5f07f2818a54eff61eb0e44e8b21fc48bdb6a821de49e7aa4c776b09e522349ba30012329d510927ba5a29ad50a8e01f58fcd97cb82a31ad97da9c1ce62e2d02f5c200a3462608e21ef81d23bc371e330869e802acd097925614cb827aca1895b0f46adb55155a0867abf1e2405d6496d9a65e0e3993a388b7d6bd1610a11e1b361a96a8f4149400a9e5aa5bcc7a5affd79857391401a04d99cc4f68a9eff4ff6a8f62f1d863fdf2a497bfac027f0a7729cb09a51740ad12905b708a8764548ef53097cbf21069c989b1e2bbc1cef89253ac607957501ea5aab04e9d058a814a5239d9d9c68f34b61c97dcb504601bc5ac1326f8b96dc3d6c77d1c4e806f5e060a8f1eff4affd23d4ca49cf6f2a12100bfcce4d8d3a6877b77c29d043913858a4d3af76c83dfb3353f3e3f66361fed86c86e7ae9b483c9f84db390d002485cbcd8d9f76097568882b52fd39d8748a18302a4bee40074bc87c80d10aea4b759676cf45caa44562c6f17850298d84200b726a5a1aaf7309908107e917b9a4327ec992e26af2e19034898dd968d855812f41469bea043f4eed7fdbb0e1173ea43f2ffd3b885e9ec49dc0f6e8f71171c2499d38c7c40c8b7d1c6bfcefeb0ec4b41153091c2c884642fa38455978383b77f9f032362c6dcc59c17349844f98261801360099a5f6ef88cf550dddd23f4de4f2bec938539c27530c4a5c94e85af88a7cc19bdda3879859809c8d7f83063915117e7225e85cebb2ae8aba6154deb7e7c2d2526a5841a00da1136ea7bd71c75f2711c9db5519e532e7e20ecfc9bf457c2e59c55e56780813ae65066ce1020715dbd684478c4e08a1f2f3c53e3e8c8d709ae34c746af8f9067918a4280234242621780a60cb37b08de566932673c6d99fa0faf78d15591ce641b4c9ef7c568034513927bb8020704d385e32f4d463b6a5f03739b4bdad76858c3fc936bfbf4b106360dc7282eba5287db03b03d1c7fde377c9d8d590303042958878ca86d3d6996e8134887dd6c85c451346cd9db96b5fc469b4a70c6fac2cb52d9eae1d863b4324682408fa48491c79566dea61eac528950c0e0525d9e70e3d19493dbd51601ec2bc5ecd9490bec00227c3aad1ef9e7d5bb41b1cde9e7b29c7ae836e49247414adec05865bd5addf98dca2952583a3cb7ef4c23f4b0320baac5c93727f84200f1d457025202dce4295e9863aabb6100ba2521e9662473af3928e931d78b99ea14545c1528353730e26ae9b243f2eef3f4902e3d5ab588bfd4e44783fd6f708125e7a1cf180915d8582606c32f4ad077acbbe037a19d25461f4feea830348111edfe0bbff8be7de2fb80deb3b9c989387033720be203e19a0c653aa1a788c64ceebf235ef52c7a71f956a83e9320351ecf5de392e26555cafcc5cf843f94fcff2205dc61f1c099f789d64f38897b804c3a41895dc0de7e27cc42333f035545f3f525642fb48eb2a9249e0cea14537f6cca02f4cd89443aa1548e4d7212a14ebf528cf1b80c0685fd1475261b5ef0ddc66b6a0886b7e7710bc710b534ffe77fb05e7f4be4d31df117c4c7a4605964d0b2e4852bb0e522c5a74ebde987fd4f295641c12d2837b04ff44d16f09bc6011f982ec9848bfba867a0ed75440334a044ddc9df41a3071e48384f095f78f275149cb94c529b14bc754eed4a8ae00dcda5f7027df03147873ca845e140287eb2b62ddb45a93d83d136faf0e026308a4706c2f79d2d41ae099d33a71b39ae3b0b5a993646bde4771dd8c204b212e93b199f8755917de14c6bd18f25cfea08fc6d8c5aa9241a021dce69525b086e34fdd2b16f685db4c56c730f65d22507e69438d4c3d2455fc525f491168668f989f6f5b3dfa1b64c2506e157be9aef4dc131bcfb5f6cc348cf180204961817138ca606065665d737f059bec7e18abdbce84cffc810f03f6ad90c9c08603efbd6c28bf92ae9c53f9afecb9d065d6171941c7c375e896f62bfebbd190e7102e7a67dc48cb8f86c53c30c4dd83938bb050d272b6bfeb400ea53ce358f00eaf4db1b4897545889419e6bfc469b3958e357992b12d4dbf552e36cdb418ff1e538e3285bf435228c56ab9340559628a5e42ab0658c9be738f98cb0f2767528c54ad13d90f1263e48af144cc3c991af28ec19ec332af390985a4ba9bf303c9549d305e4b9cb6e969a258a6b8834aecd2bf7933d331dc2aeb54b106954697887120d6009db92f0b9ff7919444f8c78d1317859df3d261bf9f99a2423b4a176043ac11a8f7a7e0b73d710894657dc2b437251e7606cf39f0e202d9f067fb7bff7613a84e544698a78fdf27d89568ff527a4ea0897264de07eabeaaac4cc7429ec59eb75c68312fbfba19bd6f43593dd3d059987b2000c136b91af836a1bf7a6bb771fd202f3cf850a5bacd70ef58f3bbac0c4a8be95689a598d07fe5f8a15b33154cc64714e852ae0ba46ba9261cacdceba43437a85be92019b3ca5cfb31453c7f28fccfbd192116f62d2f467bc2c54ed1bf1fb50f15af7b9df88ceae4922d4f3b34b057936aef387ee820d358a923427c176544fd5af74fcb327c62d489c77ac9283d0ca12bdb18914f36715fd9e774cd18a7f5f7852c4e8c1faaaa7e4b32a673ea9258635a1996eb9a735d7f53b59c55bfc3fc5505546e71b5a0ef09e86886668f6eb2d2b3dd5ec32a3c0cf013e40db00ec1b1a03cd2a687510549c78b62a7eaf455d8c4b49fc93c257b79e1634b78317f7f6684019222abc669ca8d2dddf9538d52f693e1ea5ecaad2ca72c0a2a3f07d8881e13ca6c3ccb68fda7806426e5369558a944c8b543e4846f37811c10abb072caa8f82cdc96476b294ecb6264f90e48ac19f935ed5dd0aee94712b3d2a53f16313bf54b2878bf24c4c85bf981d601244e90ef331520e5e78c00a60cd4bb945ad26c7bbfc36ff0a94e4fec1bc94bea91f806207bbe7825b3ffab630ac63362f47ec7ab0c0b56c19b60ae94bfce4c4a6f1c342c9ed33ea615952409ad9264457c58fbbb6ab82cee1d99701dde0bc1a5e8f0c42dcee08ecf7cfa57e492564508381b9b2e6252dee7c71cd211037ba000f1c031a0e969e82c0fbcbb4c0928961a8850093a0c679b60cfd9661512f21f671beedf4e80df6c534f6852dd44cf8a30795012fdf23e785c52f847bfc0375266a639c9f11c12ffc05305f0cb40719353f56d1855706c5d08661e6ea472be573c46b8fa3d5c22d6d0bb798bba52d45b47c89e244cea27bdad2b6b6ed38f4c511fd23f863cb07dbe4e8d7995e56592b2e5c39385387a4001163125404d5f82edca6e5ed9e276ab51fbce8ef9a5d884c3d16e8083cb10f6ac9e858562eebdfb338cf6351383c998a03da86f9973bd1108abca9a8079896b8355e61985e0906d8c52571a87009ebeb7b49a784a6e923ce451cb96f0be1b2b3f607837f1655be7a38d3638719e37ec7a79b79b2a20782246709108fe4ee37f0f18d08b3d6c0500d8a10801520ee26f50c426193b92259982d3fe5350fb59e01f4fc5d5a56f4522d0c8f730be416c10c408f6d016838c5c9b94c1cbde4f16d104cc0aecad641411c2078f6ebdfa933857a5b0c0800e3c3524a127addda874535b1328cf8571bbcd58293447d04aefe23ccaf725cad9a085cd810d8101df0a36c881676daca070d8f4a1af5aa5bff5749bd8e84e758f37da7cbc046e44eb237e03b4477f6831bcb0b85995f0a13f0eb6738d4e5c97911a95d21a388172219857d21c635f1bbf5f1a60db46487c56149c4d11f018732e9eb82ee49d0f1e4ce74c656979ca60565bbb25eb3fa510ef74b54381469ce88ab1d24d83208e6b594d96f5507cc6ca88fdcddab836fd650144b47535794e7a1f16181c3812d5788c653993c42ad4d2bef8a20451d82b3b355d9e195aac7369b2b0003ad950483f681f66c171b1976d7e4b55c50a19614f1497c7fa62b0a5435a6c6cc3d74a0b1f9381ceb15a876903e64570903e7577e9ac3db4c330147e2dd2b4a76c19416713317493df251f5b13c619893f9ab36d98d5e0cab49309c437a0cebc2b3f465e769237947f359a73825a8d975860892556e7c0e94ddf4bec0b1775842871fcfabbd4d2c9dafe9f55c347d1be3cd21657bb96a9351896d85f5f875fe0da792be795d030b42748ecb911ab59e7a320a35190df545375642908e41968f5bd900358562c956798fd93a5ffc1808a873f556e29fb0f5dca9dd6e12a9f680bd41769bf64defe68a0d9aac99f78398c173e63ace9b615699019edc445af90642ca1aab4b85cac364d11fdf78d5eddc7b116c3c5b8a77ed3509597735d03d55850d2a0cf6277eab9b0757ee8bfedb37065e41ab10c0390d0e79cc79744abf0d3bd8d818cd803ff972cfbd26089e5dd89f108955a7782961058f53e43315fc3ef99cb613bec689a64c4a0c964ab87bf294f08368efb3fafe1d9074e5f351094d104b712d59b31337ded05e45b08a5ab6e91cb97328d5c4e9b24454387e65288be130b2cc2b0adadf0db3a8a5d32aa84003554a10619baade84c268771be235d1355cf6ab512020158dd77250fc7101d6fd251524e4b14074386251476030c5203e91669588e671249ae173513d4731c5968f3747be2801a50afed6057c21c2932dc40b6408843f91264e4d77f4466fa86389a526c93e137bff7bb839b372ee4fd33628279290e7d90768ee3beb237cc99a2946e495d43080df8a84fe88dc942fb58b1c3f519b303ed47727c19c9d9081ef4fa2280ec11068537a4966b58545362c039c74bfc582d5e55eb52dc9620a725cbb7037c96f2203cdd17dbb7e96d9a99466ef4b63333bc916b8f345b65645030b96fc88c5acbc0123a19b86eb436bfc006a24043bdf854571347216763d0c953377e73a16934ae55e474404992316cd81d00e58d58bdf45ccb3f305581379505839da79c1036fb8ce8b149d40623e4d12abdc6f4d634babef517918b8f5e50eebff5c7b95448c3b77bf7081eb0a798c1438e0c14595d8ef2304646483c8cd6f178f0a6bae59dd137992d1bb00260b543be61647ec672f83ed21a569519fa8a3128973a9dcfd1bd5757b890d25810169b51e22331739e085a0ac138c92e2552cf30d2a81faa78f00cf63016268987d4ffe016e27d1b7f98afca626e09fd6a17d8a8ae41d41d931556837ac1640802d7e0c946ea2d06a78992e43dacfd827a264e550c66aabd74525e63fa2dbaf797c2487db20a76d1d5b1b2384134da0aca93777831652da0c73751623711a9f8a2099104b2df78fb6a28ee4066f080424e8b5672da6ccb7f1dd9deb394251d8bc182d855d9798d300fe84f76522b00130eb3c79395ca85b4710b0760fe43dc2c55805afa4a3222312d6d27529bc086c1d8ca01c169f24028015142a16b4be4c26946dccd5a21d65e31f6db243ffc74e0832eee12338f13c4cb0e77d96ba8dc06dc6d8ec85694484dc3a0813656a859191e5a8112fd5ff77b22080e08975253f83193353664e4bf5cb4dc78b3124d2bf903a6863e496815263550f7ad405b04d6d8dbca0737b18cb5b3d87e7e673672e4f4122f4b57d4bd063ebd8a19bbd00953f0cc1ccebb49dfb42ffc557948256e15880d46193251dcdaa5cc7198478bea7604ed1838d4d7df5ad16a4d3ef8dbf4c881051bdf8fb448031574301e0533b3133c31e771a15facf1b06d5e3b34d25b8db638702d168c68e59be8404163819197f38b15d9865395bcb32f1c449d04c94dd850e6fd86c2146157f5bdacdce518a439eaf9e56cf9cd15d9f83b7fce7b5f185f47f469b47345080ce31d9e09e45a2535605ea5b24665fc26f50a44e997d588e912b644b21e72007f4b49416fb159c6397b86454e0e556bc95689ad35e634bfc1f87cb840c6416a86425ec7cc8a5ae9f2ec727b7eabc8820bcbf045dca647becfc6d2d9f7d32c78a96a3c43dbd4d0a6e876ecc1f9dc9f0f4a3d322d7a1120e54287f8dab67710308948c5e878fe5a9536a947f999aff75cdc608aa4faf82159f42853c8bb0f87ef3aacaa57a792f30965b5498a960ad4ec46e940aed18f343ae7852f77f00f02220a89f39cf5bd6bc741fd11a98f275ca93f2263a19312f6f18fae666fe2d6a4d903c2ee6429996d1ac07328f0b72c90d6ffedf689dd3bf6f921f60712d01eedcc1987a31699d06d2ba3f9649f8dc8ff5a6050993e9af9423d8d324859de2c08c44a6603dd96b2b1d7495810fee6b61756ab5febe15b35c50a7985a1e9f3204dc7edba8a6af74c90cd4ee0110a37d557f2794a2d8eac3139de959a5c7a19f9ae9fe7dde0e8b63895f758d5b0d8d2dc188ec9f27b1445d0b9345d10b16c7674f3110e3dcea9be9e638de8ace42b0d2ebc76a145548b685cce098d08d728e2b7507048bedf2520c42d50580787935a451ca710c72fe16aef23bd949b8c58c110ac1a1704799d1a13ce63bb74496f3bc0902b77947926057036b5727af1e004204d704e79683393a9a1f4634b46f05770f707239f867dd9593aaf495f30ee3be518f5654d07c221fc3685ee202c90d224bbe3dc1231b2e555ab7bae5a904768667b9fc605474d2a85b26929c0460fe22e61797fc5239f2eee3265e272e75e8b2ea0b0b93c195989f7ba653035a7afab209ef100388347d2cc09fcbaed8441ed5c15bab310ddf7b541699fb146a8ccc325e80a1f0a0a146558b51d720e8b06595bb5847b51ef4e999e645aa5dd7fca178b820609273520b97d856b27453eba2656f8d6467bbc6998548ca9d1e5c5856d21d3662925a997167665f3a9cfdc4d1575fac23e1545952727f6d8c7e3ae2679e9c59e289fa3a2fc283a7cdc52b4570ef9a0cc4d214c3cf6e4f430bf48d4b50aa482f3b7d5e4e9fdae8a49ce58efc479498a0b85d3541e44abb9ba5862f48406737d45944248f59e40b8a642a303de06c5a3d661a8d78b3ce495b90c78d15de7827aa7caa8a8e2963c4d01e91a01552920092111c61422484e34bd9b5a7929b689625ba1d02707ce3775a08d6e7a9237315cf756aafe187396be294670f68ac1f3f221f33746d885ffe2b578b58ca6084b796917527514ca2206301d1f9b8585721661a65025797dadcc6af8cea86ea6a15cff4187a6d9fc3d77c943fe80d66ad9165f0e157080f1cc7ca209a96cb697443fdc45a841eb4ae0786815a29cce2b46f4076ee95de28cd17f3d46f84eefda2ce83f12a3f13eed527f582fd45f1ce28185652230aff693e9ac3ae32589d20d64ffd85b8cd561f235b39f50220965dfc066ae4d1720c70def34e35a9169c354c3d3b2b0c03c9fed8e29c832e7bfdbea1f5143123aa07c469ddb7593834f7254a20d6182714fb583695c8a0a84726a38c00034c27d468c74a554c1fd74b69b6f91dc842893a6fa2abeb8ee93e5c97239f5a5c2dcdef870fb573709461f1b846e6bc7e740bb47c494431d9e68af6a8103bab6cdd4c2350b454c9141761acee160beacc03dcd4aeefd1dc554c6aa2e9275840cc6c0a933edcc0bd26514a2a608ca06d353350ef32e35143761e223d182bd1a0a61dfeae94454317327a19a1c92aa04755d57b3330c63b2a0b3681e0e4351307c6e2ab1d5bf4716f804aa3912f461737f40184418393bcd739e6f986d6149e37083fd1ba7a5d2dfd8d61e73a2235b6c6666457ecdfa2080141ebf15592e7bdb478c8d7d8bfc991d7ebf8bb02d6b0d83b5a8b3bfec0b7e311a7f3b294cd79aa5dd62aa580fa48d112a8b76d39ceaa6d0271075c64c02461a4968421401995eb0596c5ae7e335fbd763d51df8fd44060c8d67605827c4114e861c0f2a0d81ec4937ecb7e905810eaac94f9675a873855deb48b35a48fc254a6d9ecaad128edb82689d1ad9ff66764ba150fe64a62739452c8677ff39ad38b828a75168417c5db297289db445c38541ce7b5e4d31e72049642ad043f902655d9815f81be2ccf573c3bd4d48bbc7e8fb91c60c3c4f50014d5c085c99d82031625396b341e2ed408c5c1f2f58e6bac28e474fca0db239e1a863b6b6e31712e3d98ad135005e229db009c26245de7d2aaf3a123cbf7e6f40222740de3841b3260e910e987c33d7de8768523397333f9de7c9617c51a6d476c188f65b7cfe8cbd0cd82bd5464084787fb9445670fd76569dea0e6233c75a96af6a65d54ceaff65fe88e9cafa7e2fb70c53bcec924a73d3b4b42a6a907e4ef125af19f4e6210278f00b1c5bea02f7ce76afe344ddc7d686839b2b3b44b88d98f086306e37ffd0542058e0409eed827c681fdf56ab84056d486525364f13bcc0711c826e00a2d384e06b80ada4a0de097aa24836574ea97be388651fa644d0e8fc614723da4d1f00bc386b540e15c598a9bd7c0c8f713e12c2c3435c4711b0cb5ac3726f977595266410fa3735c67e0592ee2a6bbb969fda066419cc15ca2e65d8e31a4147c3d02c7fd8620798f57168238a35f8762bc548315541c53ffbe56fa67175c5888e07b4d8d132fcba78c5761b661c9439cd36c640aef39931ede61f49e3d1d3e0c11fd978eafdaa01c7b11338a40f4dc47428e0248516f2a15c31f8660d29581842e311d4bc3dc21eaf882f2693421e51de3b3da14dd28bc5dd726cacd5c6dd82f298e431e323ccc65c5b01dae49abd877c2190ee3da2df59149d188016f294e9cf4875308d7aa71550c81719ad88715fd420a908fa5028654066b4740b210667040ea0e7374aa9c56d8904d12f5dd05ccd34f00d71d807b997f6ae402a0505657437e89f9a42341d028f00408e44ac39f023b2447a31bbb6815b2c0ce7643afe44c474a2d576549bbb0580ce9815236ddad6d4527ad57a3e3944002482e0949fcb1ab1d459351e489d6ab583da0a7f9eadc1aa70e7c9a599c5b23d33ca4ce6c41b0eb59d1661a571289eb0d2f633fb884183d167e877878a8f406152955ab62d484a3cb22521c494eb1c95007ac4dc0b96030ab24acf03bdbe9efa041f209393d9a2cc31c02c36b36d8f4a7f6e3fcd3636b1b50f542b4623e0b14bc6a2d5ae353dce59908b832fa2c0d19f653d9493a385167324c734490bbc4ca8fd39a250f47f66f16fdce4127327e528ef4e964418f264831979c9813b78b531781d7da2b87c576b2a76d068d78f207fed57f785bff6a3c0eb10a66118b01723bb83a32b4c8aed0afd8a2db3c37b8488d983d9e8a5c68abb2b30a2c7f5738ad2da69006a4de43037551a86643b552136356809f939ef657b47f3d343ac7b1d4725cd94662a65bc3391f3fb43405059f9c8aedd1e823e16a08bfb7d7402919a23cb29ffbe7b8b2c5c2a20cf9907180ef9652eafb940a22113c1b9e58d2c257801bf82e26773de49a8913e9c0d2ad22c84f62b346fe70a3e2f057c337d12a060334eb1fd32402cde9b17fb322a5563922072ae188828e1eb8ff4b836fff85a5ffabd315b95766e797a8c3491d45878ca4fc30e2ec50f085910e50db4364a7f4f4fbf012d1d7478b9ee6e9db152a4f99d0228e53e2e02aa3c41fce66509a1c60e67e5d9845408dfbda820fab46dfb38dafc50274bc74aa600fa538e54a4ce5d6242fa79d126f76e8643dad67492254219e6ee18c05669b066c7887c56fc5e1aff2ddb569a9918e2d8a782f7f319a5d80705d19ebe8489cfee447f58128f8707bab42bece6be3cf751aad704e5859f99ebca403f2f602607a1ba7d791db28c3e95e46322485c2aade2e5328281e41ec60f50a9ec381d430b4b23e8025dbbba1b4e5be1f2742f5a52598d6810b35f48cb56aec3758a651e5b5398ab20b5b8a275918d01cfd3e46ca9905ff39f6831ec8fdece949fc03a912db3c7bbfbdd6c2b2d52a478351e6693182e5d987e67e83993fb2de77a20d12d6b225fabb957f0e3b8876e0219d9b4a98f2c165b7431fb53189eb371861e658c5ecc0573a27ce8f99034fb0d2546c886f63855b6aeadd8d7b81eee149043cf07d2bd7dfaa99abb1831a1fef3a08378aa2d595a8d0885f4ca6cc10d3e6c3c147338c1a8d9fc6a18c0c3349dff7ec840af31bd28ed2fee822f00481916294420d05599a6470804a86f278fc4ab975a9cac5b8d7ea09727f5518290a114c2b5d84687d9a76b246f0f23cd678d278f0776911b2f64fad65a6c1bc9811c1278c68708958a43c8502acc1051a272d282df96438ce823c746e4888af771cdd88d45b81163040b957db159c04a263742a57f6bfc707ad26445388f681818d1e194d7203a9bb38221e03d33d6efcff77c682c73475af094de5d6d3952af44ebe6f9baf9d949e2b36efd3c7608af986f33a39ff1e14053026d2d63c60044e630baa4b6f27b0d27345b54b75aa61033a270fc350c6d6890d26382c2adab20bbcc58a5c9170b6f1a1f8a03053f6a5a2f45227b01dded4f5ee39b4a622c31240befcdd196499c927789edfd1523c0b99b84f06f46dc30b521ad6680492455560c39a9caf83a2dcf18148f6f5ad581b55fd6634405541a88bb69fd3524d4deaa6cf0e5acf57512f6a959ff02630a50c082525ebda7b139e3fa1f8192bbf12cde88a257c67173a89fa0d17d8352a616066f679205d680f0a6b092cd288a96bcc252287d8da7ab2051f845d4b4587c293f4bae2e03803373a70c3a66c814c9c7ba7d3127cb16e4e05f01a4cc8e973c03368e3881629579315b8480fef2e0c3d67da1f0c78c2004f01b27786a9e7dd5811f02de56eae3b2097b0b873e58fb537c6fcc2144dbd3b474514eb5fa718088e569e50d5940e16f01aee1d0f5a1f786dbee4069f3e6dd96f1331dc33efbbdfd09d4a810a7594d6bcf8737b0c5d793bb07d5df5c270d8d266a7185c3fd20a60bba9dba67f5ca50069a2da8ae1044f6a92b68212cac660307905ef495ef9f40f112361ef8c073f33c25be2a40823e7edcf77f0f2246ea046d1f4213ba0d0a371944327fab930edf1311d327b663292b5a6600928b90b25191bc20352ad4722a292af019e8f9abaa2a1242efd7aa347a0a24a8bbe66b8ae093cb8837092a856831ae4a5c03c6286a40d1a0f4503b154cd7a094f6869a13a94a99bde1645e395ee7d7b919165fd75a60335382b3791e341e68beaebc1dbf9c2da8c502a8658e3b31e52bb715de9891e14e3f309ff4b313b5d9f0729ac63f8c9bcfb91339314db511af5846cf54363f3fc14481788994554f9de214e582730c9fefc01329110983b8a528fd2718ce702724e34b6de3e7b994312826d21ae12669b1934b3c3f609d77bdccc561a7714b0d272b4950c73b8eec963693ce1622aa5bd8e5bf89ce7f13b5f15d080633e7fcb55fc0a4557a34cb309120c1aca7dab26389e764b724882481a5f7c13b521779b2f57dec7de2bdf806fa64f2945fd7dd155cd93c9ba45d08e7be89593ede0275a0e0ac68cd19167d9af1112f2671a4baee2adca43f868f1d8e4b5ad0c37a584f4b3315cb3bf0abe2e4522ce8dfffb79b4f062a240feeed60199404f7895d2a38449da2771cff6d3e0a6edc13fa4bd743460e204bd65634d8d42458ed1d399fe2c88a8dbc1a667cfb93ac5bb0dbfe6ed91372314bab2232e6faaed7ca55dd3966906052559e03adfdfefd111eb5b18dc662fbca7d50b36d90b43b7fd77a0c46c70a3753ded0c79ab954a65da6c3b036be35296047fa09dfd6297b79c715cb7083d2b6d2c15a89fb2be2c2448b3cc70f6be1c23899570eec18d80492da7c3512a7ef0ed58eed7ae9f78e46f6c4792c495f9a24b0344deb1244a36c6b3490b583a57345cc2e0320f866804a9cbfab19646b5f13c6e1d205b980fca439cb22034d0176257d10fd6982aa7d75a1407f60d5790ae5256e313f03d07aa1f18fa35cd2b25e08b76b91cff3d80045a5839fe7a7d941a49c5c4fb73a428db998ef3e4447b7ac538ef20e4a8af44d640abd08dbca8c7d5d6d1932cb65e62a48c4232968065dd7b86b8cb7a599f26bf83a3d063e8a9ae3f6d908ec1c9e34e9a9504222ce54e7a8b9c85c6a00aba6589a125f270f62aeae811ee5cce0a4eb0732717dc6096886cd2262d84c555511e018be8cf911c6e3ab8d4dbebbabd1441f09fd72f0af024ad1a0d9f83e02cefbd13ec165337e6fd3d19a0cf310f7bca4f1c5d22c5b72edec235423be2a4ccac8b978a9e805a83107ef3379d29dc3a15261b4a0c6520e9cfe1a9949ace906ae12e230d67c819fc5054cfb0a7c82271a0dacc6c70ee965feb42bb0a7484742535d9ecd0f0c7e45e24ac8981ad2cd9b55fecb65095e9e6b075bd0c3f5532ad96eb42593364df08af9b7601c0766d7061c613e3a7d69970c3954f852acb34cee63fea200033e9e7d1f93426bfb64bd11278fe25e1b664ac1b451d5648046401cf5c3b89c25b539fbd06d319e3d9d38784ae1671632740bff44192a4357a0355eba01799414c69d3c3db925e56505fc711b2cfc8462dfdd242a81d9af47593e19489105f8731da8853bdbcba9313a8be08500afd7ebb80a632ebd341553ba067870339bc5d3f448af5b131c0d6ae2e8fa941bf7a778af44b1102017262a4b5346e7bea2227ac109cc19b5b28cd7b36224872443147fb9682da3af821488ea96f4671c605faeec13835730d65afe23265c4c79c1b1b34e223517cb5e7ba2faed63042a5b527e8237af7f2ebca93a3f723108680e6f34e58e26d3694b7161e5121b009498c9032c64672cc64b1834f8d5b750145b7afed4aa841664cdfed1a9a4ac7723694d390d03aedc2547037564e92899935e1c3c7c8f629dde1ec16eedef9468955963a9a36c65870121fb24404a7e401e01ba4fc4b5ef63ff03adf9417fc9021b2ca30fcc64a7c61191108c3d3bb933c1f4dd8b8b7ad4ce14f048c627edc60503013f345654a7946457128c7521ea3757e9530b8e66477a9b6b2db587405b552747740b01c56463466cc67b4de3e7a838033715abf027b5feac7caaf431d8508c4daadfa2875aa9ef069c9b22b72937a465b6a6bf9e91b5e4ef858b458569740d72a0ae890c9ae9cf1d61c2621a5589abc2c0e237b0315bb6aae9bbaf9ddf6c7e12c23d5a14f08e9dbbc409039df3f7f3dcd7bde6caa36dc93664c6d0cf815f04ec043b90269a13784b8983343dcce7c316a3857baa8bd9413bb53d78ee595ecd748fc72ff17f159bff3b1f6663bb48b0a4e29d4ffc0cc823e4c99f9c056d14ca4a959e25acbb78612ace7c123ff0dac267b03b84a9de324c18c7523af03db934942af780f6feaf2e7b6cad9ea5f876f521fcb871d25d17fdf2de79fafae234a4a72a56ef1a4840551187ad087a8929cbf7e26663eb87afb0129340f5ebc99f597117e7f15c0b2cf5a3d100c157c151515532765c85e5228de02ba9cba8f3861609a1655b6d0f6505596b2d287640986126f659b7a9f7c7465499f16f8e9437a281e784f205912cd9ebef341bab37719ce4121ef3da59a8ad8af2448ab3d0075b068e8130184aaa168a0a2813092c5537100859d328152bb083ee8eff39ec3bb6308de404a240f94a1de834b0824fb1e76090aacd47e6488456398b5db42793527857ba48162968d1667511767360017a7b94789a8b08343d2104a38e0829ff93a990d5152054cceeb88c345d970bff14008155d354285d218485626efa1853f9de5a425fd655179c5c0cd36901c65521b7445cbc851753d5ae1dce88bae1b6651efe186006156c1ed0fbf8e4b82e1147e8c40da26e7c3e4fe423df121cfe6b590fe81f444d1c8b613f7f8e547b3fc5c1741847704e59e5348bba6f4e36f4f5589be31652bbbf380e30adff23a7c757113273eaa73821f33e2e507be988f8df5f1e6070ec0aceba42a69874cefe3ca3900f9352de25a471b4687c0c3c397fb37aa719e7f1000a042b53c15b94db6f6252c4a270adf7eef30d6322b1d594c2663210f8171db320ca343ca762460c5a50339985e25b230104b27d23c997573eccafafc019ae20eb09a1d393694349e6421bc937575b399f91b62d0d75bb79eb0f6588289ad5656745cff7d7c287f37c72b98074ebc31f5a911b2e8170f31270ce97bc3f82b39f3716f89a84a53c029b6d3151cbf8455d3b44b0569466414816e83e9a65dc2cfa218c63dd0259e64ab8171c537ad329bb751c4abdddbd6a582c1622dd7cc13a0b640afa8bbf3fc62a6f9e8019160fc14faabe92eb6331e86239f8a26f6ab35712d11c43806610081e65c5ced81b3a0d814641b553e76e1db2838946c920eee155c42ec23c26cb08802db31d8860a043335921288cc1c555b1c7369655a02494cfadded1b5988497f496c39249ea424f0fe132d91c4c16f37a389b87b6cee0cef64402eee1fc76f77b409b415cf9c16cf65b4183a1b08f410e5b0688f711270399586984cee775855378827c9262d9cdad1a67c70b4d32fae5d8696e677bd0cc48c7c8498cada06029c8e6fff55882b825037026256183d91c9cf3dbff283096d89daf18031859b3a8ecbb7636422c8d18a370cf3f89683f44036ff22df50a7e1c7e03667be912a23be1921d949d00818f61c0ee7fa0c815c35aad77c735582a6440eb059647d5eb95fea4c18fbe7fc0ca1a402fcaea60faf19bf16a370e357b86186931fa6a8217df3bb825ac88680f7495001dc74680f5da0603c4793a15df0417e4a4f04e616382b6e541729785dd41ba25010adf76d9b5c057ade3530a3db0dd1a55ce3a266159027f234396088577b6735daa38d86c57a68db12d5587e670903c42f2dbe2bcac668ae8a5703e14a48c26215811860c47e0db6af638ca5e6682b10d17d1aaee4142c4e14af849120bb9d05e4f4fd6a28e63b4c71d366fe0d74e33664546aeff90668110115f7942f146e4d502f947bc4333750dc7adc11ef3d2b1fb53a1f1bb6ea82261a247ba6e7985d09b5a7c79572ba6f7c1e23059bbda8052410c2cf87c809cc08007c32c39d35902869b2472144eb424109605d8f6b056f4d710a1844888d0bfd81c8d6035ffd2d288b08bcc6846a5bde02348543acea709acc8e3f44f50300f4d452c184ae3b0a37bd78b2e330be888cfa008b491bbf84e58fe055c9a0d8f7fc66a9b18a3c5074523b248ab786f434b48070ee624ac10c6a079965a48cb497d63f49e00a0ee11c63be6cd141e7bd2743f40f8bd6de889f950972a87e2f97c8cd5f4011314308764f0cdcb4dd81075c3c6ba1e15532a7e9f8bb920b89b0709c547a045db700f175149f9f217b21379430b53f4ac2b7e6efc5bb6b2f13f94c89dc210bc2c16d68f09eb6aac7bef740b0c4e2365ae7423fe8593c394a4276eefca1fa964ed69f53be6b8e985c644d7a7a4261b4e9c4c46e5b98797ef8338f8ec82d48be60bfbf29a6e32e2eb12c96b137a727a020b602a148b05fe32320f2ea78c11890b0441a7dd72ba45e4404f58b89d00994c7eb77ec1ab507b19842c68e8f0175c2ee6659f6a84a0efba2339938d71a06e4b842cceedbb3cce9fb381fb4869205ba5fb4b7ed321fd157c3c5cbcd1a9501d3b4dc63eb02208b4bb3a772da4006f6093fef17dd2b9a17abbe3e3a9bb9c6e1507a12c42104c1515a080c20010f0ac1e4fc95a37fd81b8ebb3750cdc321214865660711443c88905b7ee3f9659ca8e6b18d59d5d79507413166e6c0e4b121eafbb5982e269df4042284bc6b2a0f6cc9c491624711a9919a7f1a4729fb2394754afabd50e25f15a330d78094a0cf4f25a86aad7b322dffd6b56e61bd884ca7304c100dad830113cfc8eaeec3abbfdaf0f63661847080160c2411eb894e88ae98178f5cef0f90bac6f910f86f02f1c18e209007da2539af2cafa931c7e7607ed1ece4585f5983eeb0b8fdb803dfa622022447dbc76ab32aed69c563c525346b353167a9af2ed8385e132d7f6d38a0c61f5b00887f673a6eb9a3a444919c89c8e9e99480e64ece24b8c2b34da1a2dce34509283fe48fe83f227a05ed991ef6628c5f6018b0f9a1e29f37647723e447c1268ea337c9287e7914036364de93f6472fab4ce3f710bab304bf94f6cc1156021dcb873d1dac0ad3cdd1003dbc079be241cfbbe63d4d27ea8f1c7359e5ce7bdda7cca52345023dfdb4426d72ddd875451901fa641d160e376c2afb4e9bf34b781b2c5538d87962d1169234148ad7cdc35fa142f4477a2bbe5e9f38c9ef95d857b5563c55fd8762e556e8445948125033ac55cc1a87161c33a7a3649d744ff9d0e9c60033f2447213348c73e248c5d09bda106d2483e2888f18d2631d5a58f9709e9409b5437146b970ced1383a4ed8eb47b4920dcc035ba8796c320976850bc9570cbae15e92449aceb3dc0c7ce37685683e39a881af284e3232c0fa34b78667159b1ba757dd9546947a7cb2f791937f9e04ab0b5fff4f52cb51d2ab3850de0a0f23dce3947175d21fe936006204e4e90832e103302904594919a0fd0fe71857f79cea1799ff03eecf23761a0c482822879b7db9dc14fa955ddbd0513e3218802e55d99579c96b72b9430ff2803b546b814a4cc72b16e073e701bff12714ca8b22bcc1d4e6405691cf32ed132555b129c364539dcbbd18ef1e2879c896e06a15b36b7370aa95901cf82dff6575e2071f5aa06be17ea91dfa723be4ae53d6327c72cebce4fbb915a8d94bd127ff7778d8e6f20e9d8f043d0e791dfefd807668bc85ebfad2ba22cc6a46e7f3855ba83d512f6c7e7c5a1886ca1a0be7746b730841f506f5317a01c633c4ef9ec3da92c94a5c5386db1c62a771e55969ee768dbe4b8d0c1698ec0852be1d03bbe9c91389b9cb5421d83391a0da250d7f988e035d5c689e2be338ad55b7c22aaf1815d3eea9b286ec8e4a6b9671f22e2bed1f87efe71e554be7ffc732d9ae436f8f30c1a7d368302e9ca4edb546166063794d933d75e2794cbaaa90c2a143941d6ff64ae725c750128db6a954a0edd5167b469b3c19b37ae82c27601a93564d8dfbe3c900f1a09612855237fa6d9a5c0c3ff0af23aeb675b70471577ef2378e69b38393c15bcf53d09eb0fd8dfe390c9b44858835504d8f66462e6fdc56428ab1276051f7dc264c6c85ea52462aefc266842a992ba1ebd3fbd2fe267654bb2c29cbc3e362ad85f6a868039c4e9e9bbc4a737ba37103b0a07d3caf384c2c7102356392091959fe3c2c5bc0ca46d992bf31f70636047105716257cdc413d15cedff16498f713ea503118f9b0bbddf425c8715f588090f38802b7fce99513cc0c101fab1c027e5f60072227a98158087ec1c683a8bf37bd686c0d975117407eb549f24b94bfef7fb6fc6cf49b8d64228b44680a94df0f99c38bd5f03f1928952f7e3abf394a54a6d1f1a14bfcf7bac11957aac6f5f6a4adfd90861a0ce46993aca0cfb7488e5c99188dcace5e30c4d8fd731dcd7ad7512b18754780b941ef41f624eb9979f3150928d6b3330769dc114c8529f6b6939270777634d7261318914c96a1d77fd1de81d487179460bfacad1f30552e2e006d14fec977fbccf65f062211b23cc706726d1dcf9c0623c8182574930d8bd396d4c021c81dafd219b52410587d14ee4916825e5216b0ec2714ab71afa127f225a24df470c17e9e41fbd5392f14625f3eb4162c5ec8cfb523a31ef9a608a5014cd1e42a1ceaa3e9bbee4d10ebb0f80924918e332c767d7f216a6997aeebc953c75522cfe87aba756547c1324ad20cdb9104437f8df77e3a611940949c732e2f3521d3c4bcc0629558954658e603010aad0886673a3ff9b5824b79c3bf225b454cb38ec8c8c590f9d22fae8bd880089944eb159c5dcc43d9fa43b0a3383da1974d08e2482bf0d8b3c77378076d5b3d9a8d1dbcfaa3f542b4f4b7b6ece6160e87f5b014ba760842eba6e4f065a179ea0d41f99f9f4719ca18958a5698b454d4b0998b8b9d4a786e9c5a9d4bb76fa02535152baaba56f5358c95108a5075e8593d947b04e67d410f6d4bfc139d823f21dfe471824bda586bde0c6a5a2b14946cca559a6d99abf6f6090538c14a3ee82e3a4e93db5b6bee4fbdc0bc2dc758e7b1cf062989208d107356e3ebb75b0e9a03e9174ad4fb371d935b2feadc08eb867403e89e33664842bdc57713ca18a3aeb329906f5bd542fbfdaf7e71f72890057d51b33bc7fe8418e0bd253e8efdf48adb919c02941cb7bfc78baf39b38ac9ccf25f6da2201595cfcc8bd8d84ed1065728d79890242e989737e76078f0f4b1ac72cd72ca03b61da94e8f96bf4a3d7bb51f41a12029d80859ad7441d435f862b295587b75a9e425d84ea38d909c2c81ea8faa6e9b04616dcc3238cc41f6fcfd7d9037401f92a95fa4323b472b1c9d8a2f9c6c5fdf7896c10047d2079900323d91ba08d49858e16e4be51238f1fb92eb79a78bc9a706fbd43c81e2be8060e1103819979962d13064e561819fddbdaa086ea65c28ee78c5393a00e5acb9ed24bbfe058aca6819cff2c28a50aee519b744055ae5704b50a05508b72c0fde1258213974073c5791d52eb47df83325af8ae8df9fc0ea7dac33fd7e114176d3c831108a8c5a0bff966162c755ea6d3117850b731922ee1fc5ed50a5c70fbb5846f4196736cc2c13bc4c24dc44a33900ee3805605b21d9e7e0950a6b7f62c00a093700decbae1eb0162b076c0e3f3158fb44916f422c91d05eab403712e9bdc65a916eb45e27b4a5681abe0c715dcf2a703de589802a1549529838a4bc081b2063086e984f668769a1d4f4ef2257a241a47155a2511d2dacaaa9d44c6a3153cb465f131877d5f80ed8beaae7e637e622dd572c3817b73089e82fcc6272c3089621499419dc790529127b80949b7247816051a0894fc9bd23422a7338eb1ce2458e1c8c6b05b504dc938916b51625491a4fdae13ef458892d932c61c160ff35bb4cec8b34f6bb8b79775f2c0cf118c9c909aae11bf696043d1c6fc6b160bbcca507ebfc4c5b41039d8b642f01961b08392c660e503816e15fa7cfdab71878589da93e503f40bb0458c3a46cec8a31b6669c223e423b7dbbe27fae3cd68169857f76ab118105d5cd2c43c310fb20bc67f7157a5ac67eb6b0982a3ba4947c76c987e282cce1d91cc94d5904ecea41227ca0ab483cffd618ef90824075908aac2ea9bd36240f8cd0dd5279f099bf321a5370872bea550f04345658c509eda586df4bbeb8550ada16120c5193baf2d68f0ca633b92dddbd0394f406115bcda38642434935f7edbd2e903a80d6a9835ec791e579d0329adb02921380a3cafc44ecbbcba417298f523d36f50af3bda35799facc052469d61f7e19ee7d7fe36ea6855257884c2071c930c4bb4e64741606e344997d0b98a09d810104de02dabf29575b40da15a5030374ada1f7ed776b658d9f7b1f96ab742681464bd64897c464bc71753f8b579da960e3113fe6c8342379ed14f0ce1eb0392aca25e7a30e847712ba90df0503940b2e64cd3eff66dd261e1db21142f6de524a29534a29670558055605399a7395e6fca7b9bbbb33ea937b23f4944d61c52a49921d9e2094501494394f2e78413bd6d141b2ba02ce77cbdab4a89848911c30a8407b83e1bbe5e120a1da263c2b2866687060e166f808e24ee01004c41276fe74bad123080e6e898bcf0f16d53fc2c7b12451a9717259f9c4b8e94f325bea3f9d7c4f41dd9d76a7fe70f921531986b703a17085ce64b2844aca8d31c2085fbaa9dc97902fc1851552d42e73c1ce39030abfe322f0549009114628d263c50e95090ce28b1146f8f885d22cdbc9e16205514e45d503d83872e47091ff506e2d5bb68cb0fb9b23c4c1cccbcc8d832ad207df8b2fc216cdd09625df398bb336ae399a2adfe5a602dff5179402851042c8ccfd2064ee0799fbc108fd5564e0aef757b9e8dae8f8850ee48ec1058d0f995b1bd85f564a0dfd6e02543806ff100510b0b15a5b54b1bebe7ec227da48db3a2175feb5fb9e5fa46d9d73625da9faab7801aa3fab70bbe27f69190c9fe2021a6196055daca10d9a45cd83176bea948cb571a3021509aa432e9a745008eac03eb4d5bc8e50cdf5a1df9739ff9ad8efc81f289a73f87043f58f4f904f500daafe360bca3ca8c6f79fc1f4ef00097e608e182f751fe08d853b7141b20941ab25ecc32b1f7e6921d1b02d13695ef10ffb337fc665f5480244757ddf148212910410aa4b98803e41dd07025f3e16637caa54507c0b43afe78820aa9f300b70b607099d9d24d497ea3942094e044e7dcd10f3e61ec59f5b97edd0647834e7d6534ba341d0c74bdc08ee98e6fa51708b81d9d97af039bda05887380aea22fe1a58bfeeeeeeeeeeeed70dd942c1ef4e1042f73fedf78310083cedf7e3e5fc4f37f6fb4178e3fbd42dbef560b5ec666d29df6575d35605745f977068a08a31c2087fd0b45411e18a8709b13662547f98981dce84368b7a083d8b2af6ccccccccbcf5635a775dd7755d28185437a582767b7d6b4164c530ecf90563661d682f8b1cc059e020b2c6bfde1fb55aadb0907fbc50d6c632374e6e3034f7cd39dc280d14a0dcb4734557d96a75fd80ab9432caf8b68e8ca35b1c8a2b8a6ca01f0880c40f32ebeeca06ba46d87d000271e317bb726f3fbcc64e4885f389e8dc33bc9fdf2ddfdc77f1b3e67e83a139bfb12b9ee578991b499eba6536b736e416a24184571c936559b625144ccc43c1c4b89c9af313cc0eefee6e4f7179021de6619e15f3f46b3fb5d37e6a94591b5036aba07a5048d5eecd3ddd32bbe2cf3c3c9427e3a191c3c39d5475220ef4e342ea06e8c7676d74f59fd8db8f51623370a80c019d81435944035ba139fffe09e2b1c9fcc89d9d1d27429c644608688ff51d2744bd5dc189eabb6e71c7af1d37f6d9157f56a544803d93ff3ab11cdf7b8bc83c6db0d19fbc4b9f8c4e32211a087bcdef713725c02ff4b3a7b9380bca4d303efeff886d6ab48973620cc5edb1a15fe8c64dbc14b54e792976912ec58fad73a41aa9f19b871a1fcb99d68c8fc1d0f865615c1817c2d0f60545dfa581d040f069bcf2527c8f3078bca4f1cf89c6405712b463926e891d2b699dfe38636dc0d7c154442859d2534514bc311c2339388db39383d38dc1b6a94448fc9d83ea5665405019438088488291da3936eb259921af76cf48b8e981cd4b472bceda9051fd3be7c91921981b7be3e84061bbf3c6d1cec0d91d161c1d04a5bccbda881ca712c3a3868f12169e15142d3f405048e1b242d48e13624e4ab3ec9f3bc5fab61e2d648176bce2564bbaa5a5cbda882f680b29fc2c59ed780ddf43b6e49c7221d536298c6f387acfb8c9ead47c8bc40f5fac27e9b836920df0c5fa176ba3f98104f373cead86f39267d75b1b16ae6dbd646d272f798f58e3cfc0a11bacbdcb6fd4d5d4e8df95460e146ea81c3470689c98822720816487da653f2c58c2822c9ad8b1828914571841ca872730a9020da1c7be02a1ad02d7768a95460e546e2c1c0e3484f39cd8b99e2f8dc49b0e8ca4e37aebaf6dc67378a9e10f8572f4425eac8d04458f3d4987ec51f9454f8aa387b97eb40e23faebaf8d6683114621492a44b94cad8bcf52e16352b33492fcd05b7f69241b426f3d496e3a421b697ee849f2452fe4c5d2419adb7c920c6d725b67c8280c9236127fb72b0ea920c6aa5f1b3b6b3f6794b6ca4a01a601aefcee90bf632432c4edae02c83eb6401a23d199bbdf4d607e4829069666b4aedcb2adbccf437c1425ce99599645a7dce8839f3833a040f98655591774dfa6b2075699163e4821c80a23569d6377729cacd8ddad623504891496f92e557eaaa2ddfeb06b3140747913c010ca479ac0a1a2094c785082762a2bf880681a6877b78bcdb2e63a7efc8e465e484307ee214a7cfa3533b38fe6663e48736d05d41774c67df3a1c934976581ee6f021842fb99e0c1e59cf96fdf7beffd3891dd9d35b74b6b6bf3658534931912f4b56071da34fbecd5ac0565e74452e3c4a9f038427bc8cc1954a42bf7bf2b2acf6555a09bc5dbdd6c0b244d504b09ba3e33e36383664ef1144fa799e65ed03f9f9189f169e916a85b2982d0ac143c4e2776779f291fe8a359d69c0086ecee9635f7fec1400308ca9bf2f88927fcfbd5367eb8d18c59cb28b3fb806e2781670a3ba3ba3d5360a1761993a057632184f0d7b2f6e35b8f4d4b460b5a53dbea504608596276dcc4df3d4043d4ee4374fef0f0046b091a37a041a7c4f8619f0821d4116c07ba1de32ff3b44d649b2d35cf4e2be17f3cbdc33b3dcdcccc14eae034718425bbbbbbdb03d482da653bd07ddd77ddd7dfeeeeaab04855b1aa5de6c30255c6350d2755a5397e1032f77c903d6a4b5bea1f9fd32ac79a58b664da45557edb0f1f959fd28738aca8978aa0eed2557e4329a5aa22acfa869c52a96c6e8aa8baf7213a9f14b04de936887dfee41b675750fe20292973eea7bcdaa10e04dd7ce6a975af5bf45e943f658429cc45a6fa43b9b1c87ebf6f69dd2ffaa8fe906aa16d4a81f6c3f7b0bb218cfb1e76cbed6658c648859363442a07fb31220544169a547f32d020e1ea88143a373738393c18a9210513264c30618411560107589305b6e4bf63575c50d18e55aa2235d6c6d3392209225420e1070aa1840f30d40dfd72fdf4432a2f8814b951220bca0dc0f189313b6c8af0e042a609a7a27cdc74d976b0257402bbb204edd64766c704d6c65afee64c7c0fc6ce03f1bdd38dd30d9e1b05948271cc2150ff67af3ec50e9858c146e4a0f2ee6e77f77e1e8307546051fd67c899f0e8d0dddddddddd1d46676d2bcf540aa64b8ee2ef4e2b66e6d38d6606c2a71bcda71bcd7c3a6d2acd65190704ed671c1a282981135da462841042860e9fbb73f4575d5a5cb4937f739c6594c6edc6bf177f2960925a6c5a7451f2e7c71723ccb075004d425f92954dba48f54c918513aec0812af0bdf7a67c6f4aaeb9d38d6e8159318ecb9f9a73f9826e2e375e75698e4f34d59f9f6eb8bc2c6a97c523347040e7cc329f7df3594229a38c905e1a4c971ac54fb431d06ed1ae8c80549661d2205ace1f469781caf3bd678576c5451aa8fca120957fe6067ff3c5d796c22c73e0eadce2e6612a954ae5bcecff7b13c809b57b2a3a053f3c2d2b9f9e25fc02aee39d1d253f4c802b5ab7df79740b6f2d25b38ddb3407dbdf6d7ac8700a872028041646340f1f41669a8dd47e1d5a37d199d1cf38ce878505ed2179dbd15ccb2d078c0b8e134b0e58768c4002d485132fbe186594efb1688639a4bef7de7b70cec4f760f440b438109f946f7baf9bfb451c235450e1c704b255f4889ef6398790051244a1ff1a5f8c30c29789b49046b7c4bc0c63d4f9a83f7c6c359a6b966ca3cf09aab9fff177f72f6dc6e783eb9619b186a6105f8c30c2372f1ef8135860f2e07bf145c8575082083b4183c91d6a20e8daf018238cb0b425de60ec0a0c0ed4d9ecb5a750047e02a55b1a4228a1948f35fcf842bcdcbc54ac6b07f4894428ddd257431f628c30c25047b3ed721d9aa289502b3c2daeeb9ad784310b407d2d7ade1844dfd763eda277910cd7133d14c1377f69aee78de17aee400004136198e8fa895d130bbde80a61d7c4ac0e4837aafccc7c691dedb9019931f0a5753032505bb41cbf29b2e616d240e58fda5b8eb91e8dac13bce73937d606bcc1000628601350b331b8d0ecca8c2fde174f8009f21104e708cd0f13997123f1b5742c3d92f0c0a24da2df203e6e40393e6f0cafe3c7405e2e7e8c4339658cd96236baa37b780905daad4f8cd55b0dd6763a3d8efe9dd851091a169a38f9d39c9b4533ccda09e1f5377adbcaf04256c0decb8aa1e0231c84f3f092be09c27218e7c65ff8866f787835980106e42204038f814390cc9340975bfa7c833164081f7cdccddbeeca6e29cd693dc40883ef60290c9410135427e567ce3c327dba458a89642a993c7335a1a0392a35b8a7cdd47233557fd0549ea9dacd1c6ae326f903041414d4a4c94f3d01729394524a29e5098f9ba494524a294f72dc24a594524a7962e3a618638c31c611909b628c31c618473c6e8a31c618631ce5b829c618638c7164e326082184104211909b2084104208453c6e821042082114e5b809420821845064e3a6f7de7befbd10909bde7befbdf7423c6e7aefbdf7de0be5b8e9bdf7de7b2f64e326777777770cc84deeeeeeee188f9bdcdddddddde436362a77c76cdcd4404041dd7d01b9a9797856dd7df1b8a9737274bafbca7153dbd8a86aa7eae31f20a0a0a0264d7e78878767b5f2f1e17113e3e4e4e8e824498263e5b889535beab7f16ee6dcb08d9b64808082829a34f9019a393367e6f0b889e358584ea7993369e630501d1a3fa99b27a58c328a665828542160feda6e0cdddddddddddd7daab1b1eff7e0b5c8012ea0ef1b7e80b977c56b6abfc75e2eca6f10cc1973820e50e3752d7557560eb036bac678ba81a3bbbbbbdbda8276bc5a49fea0223f2cbbfb44dd97c09a4e6c581bd6c936d324b44d212602329f5b9a1847e65962a409129c7ed08746f480597fcc54297fa649934ebbc0cdcd8db4e0842f6f8850f9f96661dc1ebecb4a6267b244a9e33ba99630c6ece8b936ea1aa0ee13604da792b5a6181f1f1a7d8a1bc69d9039d3a4894f16b54e9be926bca9f4c04c0388f27bf1701cd182858611283333330aba60de722031e38b1146f8b2ec3f060eedb855edec4f81a264d75b11560c681b8075c6fc9136e7cfd030703df6a18ff1232dc66398d67d253db68b91b417b4dd127d1ada6e09c67e0b2f43c3c07e0b8fad8c16646ca41c5b65fc03b6cad844df0581d585addbdf0057198fd2822603a5fb3a82b17573d29163daf5a30b7b2d4b5169ae6b34a1cf692ca15d563b73a1a70ed8a670fff27310ccffde4fe5e7c1dfa35b4e66904aa552435ef86f380249e55465e6b542e57fbdfe021f698e65bcc41b9d3b4d30f12594311fdaed2a2666012d7cf7296d6a61a35eba9ed2d0ef268a8145bf1fc6d3c538448b6c8b6480818282f2ddae3414ade3a71fe3650891a1058135064a732dfa2ec37efe8ae8d6a554ec513ebf396cbbe05b1a9077434ae5871c97baa9bb90d1110bf7cff150a81c3c28548e1a7850dd02370851396aa801e3d077b6c42d1e4ccb616d3c339c9b628238208e87dbed339efd2e4b3d2fdc77d7a763a932860fa8cb8f592d4643c1ad87f9308d9a6e9a2f3b50ffe892ca87ffff1485c6ef08294ab778af50313dd98e9e6772046c9f55fc46e52ae7c63931d07adcb0886d425ee06745a0272fc918c23f5d63f452d7841efb78bdf5916443402858c19b3fd878696713382c68c0919d267ad0021ce434c183821f9238210a1bd110ae20020b38a0a113bc28a80c18c824451c893a1411841d8a304214a91f1df4f40cf183832b1e367a919be2f52e2dd3832f89bd4b8f442ff42efd9e9017ea258d0bb1b87809156112fcf91929c1172b267a228cd0081d43d122634b7c29637634676dac621bfab308dacdfadec5670eed679b497de24c81eeb348060b3ab424803d368035a1681b7a5fa9be3ba1d0daf0ea4f4f6e1295b4ea7ee32e2dbad158076a6c735d4b50fa415cd4fe866e41cb8add0363a980d3b3440907f52c41821e2270521cb3606ce9820e0f117cdc6f44787384da82bb6806adf67fc5ac6c5734fa2c72407cf951db071f7c38eb8a7aa4058e8c2fc20737940f4e375e0082f2b7c0894b875804a6038410c22126134f071da9c266b77cb62bcfe7646626d01396f7a230c2084c020d1dc287f35d3afbcc4b8f2507ca29c21d25321494f96ce4633364405ba4916cf0c7fc31928e7e8ce400ae2e6d31e6534a1e162fc9670d35bd24dfa5fc29a54c913a781b0abe4fefe6e6219848be146d247e510d8937126af4a21f6d35343fe8106d35f2473fda485c339fc4a2e71789deda68b0173d4de8472fe4e5f705c80f1ab8be0722437c94b52f5323311643b26134922ffa9af9a3d721fa93ad466ed74f920e4bbee8e113612c232d741249ef2103c406bd7e42609b123b64ba9ea64d28938c97e0b71644bac51fcef9f0657874cb73ccbdfd7dfbfb660dc7a3716f96cbfcaefdf02c58fd83864d8d868076fdecdff976834ab5b6185491d50dfbd3c21b4b73b08676baa11ddfcccde586761b14a46b0f360f3f482fe07af83e3885bd10e3d568d7688274093281b187bf91a64bf0210e155e9b8f1de0866309f1267645f9d8db9be74d5f2e3b16d1fd82c08074aaee5ff387726ac64dfed7a3ec809296b41bc986f9d6c3cc7d9a9a1f6a46ff7e6e353fd46c30273435f0ad3fd96a7c4608e8c9d38cfe7d3cd968e046b261f4ef49d80633da48d8ce7bf896f5702361a3e962bd6fa4bdbe91a0841c52908312c4008a97f9fef24930fef27d23ed0604c63f5e8ff2d2f55c158292e8228a1a5c31c48b1c6d340bdf4bd77b2b6e34d44bd7fbc6b29a9b7ffcf973f5b22f72abb1e6937683d8742009f08b2491420f23df7ad1739d1a69bfe607ace607d106f37eba46da8d14da60ac971b691f66fefb9ab791769b4979e9fa7d99ffc21094849130f9356f2ff9d7f770d3fcebfa4db9a20d8e405131749b9b70100331617f766677666776969d981d3bae956056ff1dcdb906ab0c8f1bda2642ef4e3427d428b567cf1f999fad636686238741b9496ea71b2c9cce8fce0f4c8d9818d42a86524a6350302b144c0c0a268645001d073333fb157a56413d483499e248125d18a9db53850f47c0dd3a96cb8adaf25f1a07218c6f6e374416af0174c109fabecbb239df7befddc03841b8fb6f26a347efd713dfb736f9e56bee692d04296594d1bdb71d82b32c183068d0f8faa47c337895d25d4eb498d39f087808fc40edb72fef05c18630c2d87276777777df20e5f6b4cf4abab48d9b46bf4aeaf5dd2aa9e19c7ba64373f6e9cd9a4e10ae205c419f6ee99eaa2e8150bca0436b94bdc44da2f7d1bfff8cb5c1f8b9b18a6539f82cdde235c4d07e9faa3a0ad2938c65230bacb152411822a07085692cdbf7d603f6bea560aa21e6d25da13f666aa8a5981792f7c4bc7af0448c114608a56c29637c12c2ae2d21dc8040de181a36378c1d61b36521c1cd9a33f35b7fbe848e31c208212fd751a8be0280fd856b820758a951bb0f08e9177af1c508237cd76502c94df8dce4e0fbab482921c3e8efc5c870bbae15609bd2fcb0d6606de666ad977b1d0868e095f7d02bd6ce0bdfe8059ca7a814aef98b58b2190000012473150000180c080442c1805830209aeba27c14800d73903a7a5830164743718c03210a5286184200200600600c1843342353060077ca3d99d2a778e98ea2d24cf479aabad3a30c9cb5bf133570cad89ae83d7303a514f83f4400d8828fc606cf853c5cb7d3e405fecc7753ed288f067496f3e2deee239d1c13962ed6d288a1573697337492c4a1590f2f9b9ae77f7f4784dedcdf7d79a3e185e02df0e751aaa5ee381d2ed5d343bf2d36aaa8dcbb27753cc8e0bfd5c76489a0c8233a0cd0a7e09598e3d55243bed88837e991b54f23d6c24ba691a6c34d944d17358bb34f1dbeced67d944b7c664975668e6361117be4d96563440edc438f64c09f8a1c37a159588f1cd91ce705c33f10afeb08ea97a39502c8d9dcd2b6a864175d81a771e39755aaa33f5a167a89b3c4ae7fde63616a1eed3d175539270fec9ff3470d8a7c9cb5201a23ccd34ad6238a8075b787786480995e6e353fd7258ae42313e9a902dbde0ed8bfb2c0106c8ac491790f672174ac864f226e4a8ecf0697a333e3a627c846e1273e99e3a0fb5067ba920fc78095a6b81c32a226b8257fbf415826293531368e421b76052d3a7e656437e66cf8a13c31ad391395b8a73a65f82c8c18e1c0ab9c2d86a75f7b98d1bf66649dd061455d57d4265dd098532fa94054d626ac9555075c766dc868c5b7582e267484aa541aca04ed5f9051fdac2ec420530471440187e1b8a3a16f86a94854ab39c5b34863c9899bdf9b2b15bf6923660acf3fcc04f69f606412267288997dcf7a5c9fa6fa304d81a8f813172a1c7ba4056e078d8eed8dae719ba761211d448229eb78f482b2a1bca1a255f944a6e9322cd29b5eb45c1b0566692eb30f6c563b0493e286d2dc3bcb8642c3858b787e0699a4677a8c393154d19a13cc0533e7ee3c472c6b5260b9d2e7565a5794470d63df08588e0c3b77538ff46efaa83b9d12fa3bc34874ef903f9b51ce2247a27561d7c983e70f7c64ac43b6c191e80740c9673b68ee035149342893989055b8740405da5c05e8d1c9456f900786332c319a44d4a75c53dfb3333335eee900d6c60cc1914e4c5fbc846c0b11618809d54a0da19a69764030fcad8f628bc53035d5e858a055c689522b07f21f477fecd457dc0c398a22125d293c0abf2162f8c73258b0262d1f04eeb0be02569c87c47383c2263ec8355bfd5f66c59d06b6b0a13cbf1f7b09572c4d0324f34aae278eefddb26be689d17e9c797df8a991a9d1e4b516250eb7add059e9739bcf66d052f9c05c171a22bdc4ffca9a5e43a0f3b839c972e4aa1a8eb965e82fff73bfb5e5492eda3285e446359cdcbe55ffbea9df8c3113834e92060ae897bf87aad82085d51cbede5d11b2c9ada86bb0c10a24a4f490f9395a8c9b0bd453c14dcec1fb703ba673d8aa01fd1d97a49099ad9817ec95e46bf146eef1b5970ad63ccca0e73f66043c96ad6c8a556ae3538494bdec216958864d6f1001b0227039de220c365cbe83547c261550dc419afa411280e2465269c1cc9cf044d72bdfc8bf25ff1ea4451e245e5553c2690aba3a58141ca40dfa39484d9e546198d5563931e83a95be683c107b3acdbe06cc2280ca47e7ac8be116680c433b2cde5be9f514adc3386f111f558266e94b7f31ca07a96e970643a311ec27b4d6ccdbad28a9bdaa46d8c9b7f5a1c6f4cf1a9f61daa78bc7341fd759e5143b7e45c029cdd4d0acd5d13123a82b3a5fc61044fb5a449d88a43d4cde3080c943b54760d8a146b123b0907c4f2ac0a189ca24df54dcd8e3887fb81eee1c6d6f6198d0fee9f8c2df9c001da29f0aafb192cf6f821ffd98b0f5b2755177e379a2f58575e579b4862a13509f11886aa2cdcc69a7bd5b5b95f036972136191c992e04a5965be1b308d35eac30ff77bea4a6cac349d980b610a71230f2db2405ecd33f0c0b0941fdc638dc5870977a0bda6687c6e22b5bb20134cc41757a57dd129e3bc97557d66391d8bcc9d1c6b6f0799468e41691d5ad756278d87a78d39954afd811ce74467a1fc3d198f9978a6a5689215b9fa1cbcb691a21b1ff6743cf48626f29c13fae15b829be0013763b888219f93f73a8f76a62f04b1f2000e2b0aa23d7d77f1c09a3baee6bf9a3c8da5a94d0c079d12f2cdfcf2f7da0e1da8536c31aea293784e6cb87211a4e21866831b898a8b9256afda8e4d61263151d7c5c73ecc02ebf06a185a9b345b51d683f30c61e7f23d2717829ba2f6bd07d7b5afe75a3084af116d0b6b709a3141115c505851e3a0b7d29fd4117ba4d3648eca5c45f80ec32bc24591e49773ab0fb186fe7112ff9a9c6f59e967856426aa6e1150e9d4b045aac6e50de02132c28322b832cf9b159171e9f5baa97b4624b4eaf3264f9ee435dd51bdc43cf71ff47cedb14eed3b74137c73731484ff5cf0dcfc19ae0c14ad731168b7eec6797a893177da701b7dbd89283a07194bebe4276b435a20e7e70803e00f43e2d64e69ecff3dc78d5c199dd88cb2ec5ef0ca3976f95fa197f37b25b9fb20f6f8900238310117e0c6f6a07edb117a78eee8882b17bb25f6a254c06ad3d9233078f0869ac6b3bb680c80337a62e939b69279dad37162e18ad61cb95d0a155fc6ad17c39bc1ec0204a27d74688e16e0ddc2241b21a6ba1c390a70dfa7b2148ccecc2b1501d6e95921b3b632175f024466249222685f57286efc152c4156b5c04221100343e4c904a89836d82cb1389130b894df8e0fdab64a51e16b201e2a7aa8ae3f400092da91c27b1a8b9f88d410bf950b300ddd3c02c0af4c0ed950544f8223e6bf820bfd5d9be12ddc8fc6435990321a6a1d79c2d9c01538de23849559af3be5e27689168a46edf93460ac7784589a7b6b5e6c36d8a3286a3275dbb70ccfad05c9d755bd2da353b867cd64253a378a3d448b34bbd0edfd0dcf58cd67c433cf2fcd328918d23da5530a5cc7afd6f0c848d0416fc9b4b0933e3e4b080d9951e69d8eaef990f90eae51e30a8d744883b298191cdc537a0c1d7ff46c753edf9611bdeecdb47761989d626a97db0925b8456ac40332559c34882a0cb7b371d0714232616c7f7517dc031873caf021759ae945113e716197c5799ccd30bde5d77544fc522db1e3f012f4bc2229b0d012e8ea2ebe429a0e20a41e1576420bef3af4d448541f742aad7985e9e05ed9ee32d10d7664c9c23c10cf928c202279e1ae8e58fce3299233b17bddbd0c77e80ae35bd58b4946f50cb639b156e8cc1b158a19b628a798ecff323fd5fd20768980c14d74795910d24733bcc37f55b0c9b44ded816ea7a22f9cf39b66212120b83e6a0740871902b490f8f1e54d8b84271580fd3c55d15848a64e3575959b3b479f033e2bed45127879e3928b4b244cbe6bbbe4ee2e425d73aae6128e5b04bfeb687727dcabba8bfba292b386dfab79bedc29782e1c721bd07e2ab9e8a5a502564aa2675a01d167a4a86ff924b236bf080394e0790250a7812508a2d8fd7111b26d7406ab4042f64f9954ab244336b35d639718604aa5f0b41b5efe42857ec873b73a5d2f1b419b115584457062476a04768a8c972f456562540565afceaeb9d75ddc1c392f1271e278d11c5819ec460c17f992770370a9c6f6115f0f7fa9d475373334ecbe2a6b51c73c7b0f2a4ee1e5031a27f635234997b0cf4327eaad08ad82ba8b47da4bbbc8dc295e054551768d89d4dcb380bf0a2390efe3a9797f5e9813268bb2f5e63abd0005701dde905310d125f9433730fe163ec1543fb42125cdcb04223f3183ec0ed011212ed6c0e3b87a5c1b5aba5428980ce9f902134cc188204df97291ca14381ad99b5c5cf8c85cf9304b16019e60b76e7417bc62aadfb3bb7d2f2d4e05f4aa6930a941422172f5085e235fdbd8834c1543f596bdaf643babb7c316591b2dc8f1a769fc0a2d54bc3cbad5194dfa6027ba4685848460090fdaa8a8be71b94e26127d37a9385428b994c9f991b96ddf21b134681c98e7595cce1f47484de5fc04728c9382437397cc81085f9a06402fb80e869c542e9ba4af06969572e1070f158c046bc9d26f9cfbc561adeae03a8f9c23003b3235f4970a6782fa7538c3073c0c3123409e12e66d8808608c37db1bec06d7aa9d75121610a13826500cca4e3c9781d0c0f0be12645217e103c184f46e6a260430e976411ad8325c4f51086c27e3922b2ca997aa927514969f7aca1e0c4b27ac4fe874a1520978624d9beaa5f463c78e7b03a63dd0999cefa04dcaabbde466a23b648f2c55519010dce18f721fc6bd9da7e93a5177c7fc35a79b905fc2eb1430d02035e75c529b7745875a3777af2d24d149b6394caee10056f846b955e17691c91433e3d35480e6583e428fa2d7be8459e560aa09a8936627bc7873746e55af60af38fb6e1671300ebd8be4e6a62742d50d1cf58e8e767b481105d78469f70797fc1be2013f2394436cccb0f6dea74f4155812150a23b7245bb42950a793c9b8b24599cd186c8375af4252b6187a37f42fc02c9e39f973f8d6ce24fbe5f115671f0c2efe19eab7382f2255b157cc7b3d032d3f46b8f85598ec8cf9eb7fc8c8ea04aa612193f0b568a36852f095a4a7bb26e880f4226e2db657aebf4b2218b932a32c31aecb3a2a3cd5a8ffeb1588eaeaa2365aeafda8141f300cbd5598d8974ca8f5b94abdb8a2a47304dfd7918413e052df22f090e18ac723a385f9a45f1f755596f249d47db25db1a084e86de7ce53d50a126a050f1640e61b788ae61243222c70e79845ab1d4ceabb206b0c81f4a2990faf5a6bcec2911d1df1880d1371e401f9391f15169e2e8261a9075bfcb06554f7eb8083c0d0b1a51e158017529dca93a5b8f750c8cc65791037208ed4fa4a2f959334bf6fd8e3dfe34014fc8541311447e395a399f91824dce0322a7da77886152281c93022b1a9730a0d72e92b6b8d14302c77d179d4b6e8e83ba99249c833eb51f8816087c4575b0006c2228341fda10e917156ed6919a1ff9014dda1776779aa7e7ea4bc5fdb626f051a13e09af29486b4878843cea8f27d41d744592dbf1eb2fe55c17be4a31135124f058e4987cba31101c27eb0fadee4e98304591f4036d167bbb55e6bc25de11f2fcff39004e1ab778c9a7028681f24e5775ae61c376cb80b3c1b764d7576f9ddd9b386f554c5c146b671090a6d55b316c592520b17a0a9134f79324efb046d8aa53abf532b66411e9371b0ec0fd537b4e59d292d26e8df960275dd8e0a244ee15c3fb5d0d0138363666c46eed11e83e19c3e23b0ce7bcf43665a1d235896eaa3822d4a8522371074036bca31d4314ccc507f44e8923c062359df35c6bbdc01841a324aaa368c721133704e3941b9833220e69f15c49c4e2a141dc8d36d8c84bdf5d298640bdfa8589bddcc5cfeba705c1877d596d306d7eae11cd0628e30e3f2935c9bf10067d4d1f624c484ada436bb07dd1ddb032f555b7844460dbbb2a0c426dbb8f7d995a1f3de822c78f7d9c8a309a0916e9b3e894995503d27426d1a5c4481dc9ce5e961e087d44c132d508294d6b6a57da1697505e01313b6bf92b449034c71bc6d086a3c782677603e50c2cdebb0d4abc252de837949c89aed4102a6f9da6415e3aa219f344fd49efd1c15f66cc8a821483f48ed8bbe6bff6609fba3f867c827ed0a5f3f8e9c04b9a655045bbb1cfada3b3a12bc1a21c0169aa8482d723b49b65db9f5a26f54ac17e8a7bb569ed0f5f05546b7506e8e612b0759ca906da6c03c3b7040055b4448bc86b6ecf1649dbfe5fba98aafd68816bce7c0e0916c753d87432fcc0196b4f6151197e80d727057546bbc2ac3b5bd7cf6d16a6ef6044a9143bc217b4104ddfa4c0a06eced7529e5ca08789d53b41b37aa480b49721f8371e98cfbbaf4bf92a62a5eef5158d92ba4376c4bf92e859674c7988082f2bf638d069ace8b9b3695b97a6009df1e420ad8c130a6ce5718a1916889c68ed03f796d1ea56d395e64f00efa2a69d58dc4d52e92893d6d85677ccb2b19d4e5ae6eb6f9f398aabf0d8efd0eb92bada6997eff3f1a637f1b36a54891c28ed05332c751dd5b4efb754db75a8cd5deb7c863e0a6b55b05d512a28e458cb688d8a1cb8f3b673b4da7ac0f89031bcae4bc4ed0874bedd80c774995fb3d5726d96335ed318b70f653f7fb5722e4a382a804f5df97fc3778fe152556ee779073c5cf22d03f36a6af421701a285c14a5b21f61b4ea69cd6dddcb2c1bec9d2b202fec4392238f06f73a63bd5feee13f966a0175ef88b54e7af21c3f60fba231089057e2fb51dd3c4c982e90ed0f69b2334244a67dad4d86c80ffdfd7fdec41940bd34649fc86c7148e5767ea7b483ccb1e391066066bb219a21c0b74a611289546897f822899bff6abe546f641735abb732df7cd55b2d4f3e7f2ec57f3d737b3811385ef00ab89471f7012e9ce162b6b319d98880d694588ffcb8de2605120acb4b6e01d85f50c6d3896c97da1552dc1e8bcd8d66b5156af8e54feed4b3a1b44f4abf1f0bc7a56af4099f2dfbda1dc23958c2b8143cf390762fc38d258bd17d62034036dc2d365bd7b6a986efaf17941359868823f0ba7688f8b0c888fc78e2f4374cf23122e9f099a751164a0d710b215c60dd9b914732f8cc152db8a7b7f5a5348603085dc8cd26da390971474e51a8bfb0dde3f957e76271bd2684e18520cf6e9fe3cf2a21f2af68164608c8d40acb081598d23c32bf9879da4862b4e2dc8639fc6953c0291eb944c272caec279dc4b235b3fa13f431f64676158c08129b4bfd5fa24d52a4057d0d05664926dc9af8dec2bc8939e1ac1957e799df49452e251ef785aceed4a34ef985ca10190d8f0bc174c86c998bf4bcab814cfd5f4a06566e775a801f6c44cc3e2e8701edf23fa3d4e53384c87cdb8c210d213a6466d2b6429d5cb116dae12fad2fe794870a50f461a1192778f29fcd4d32bcfb31341435369a50f36a724e887634eb5ef69f432c5f17dc994dd9fa9443acf96b40968b4761e9418fe5319d55eac5228c4004451f92c2f86b2cdf9f18734d55c76a642ced91325298476fb5947ecea998e9952c9b16569807b13d0b5cd677024153a67a4072cfb9c19d4abed575b8a4ed8a9318ad938317cc062837b7cce5fe53490d3a861162eedf946f6369723f7f33d69f41f95c37bed8c79054d80c444217273e5d09cb290884f1bf794b9ab7c1cc722660302a9efe0b886b84d288c873d7e49472cbc2994402b154dc8651cf308a51e0d568d2848fad6934ec1edeefaa722c0020774a5ebf1627f54d467ff9e53cb95127f1a8d0cf46be6698ef6f520e280856b171c3d0ba2fe68784edcfdea546460d508c0b364f859775b7b8853797e1d741e304eb779a58c162f56a050fe03609bd934988f3741e9587890ddc54a19d4e9d282d0643272fa6ca43cfdda88423fbac85fec8de54c150ea0584a3a0433c1a5eb1a6be16c4de02e6d234ff7c292d2e2b5f9453f18d6fea536b4704441e9d3367102758122e0d5ad86830d15727f36c04ec63d35245cb4c5e1024ce173205356482e7679a2c4ea79b78b6035dd912d6bdccd7553eb0925c5f5b73b06d943fe731022c48e21b4d51f01142a0e11c3c12459a0917ca967cf2a15ad4c9330288ca9493359e99bf50f5871d10ea96bc3d1433f0a521af8b819bb610c04f606483790563a8ec87d48f9e6b9391087c9831257f96542de18be1a947c07b109d5bfb2e68cc76b87a7edb2913541a184c987a7266ea880c88d2353505fedf0e1198b3b4aa1a0dac18399adec17821aad1eafab126c198770a019a0b3144310bf155a13063dff8b6ee6c48ae669bba4c098636f4a92bf4d413615c0f4310a37972dc9b28c10ec5764add991121a0e36415663d470b0b2cca513cb3ce6089ff895c66d88ea9d6a4ba41fb75b6471c4777b6eae29d32f92170d7d765dc24f2a65ae29c4a62d6c255ae3cd5243b0f5710a73176d692e5300e1c52e3cd590120c2e966c77a432bb39e2246495db1f518dbb96c9ecc371a359570e4fb04b6e668783b6536ef97225d18f28ec601c68973e1391434b3cc14c386fb3cd10489953e5af65b97806749e8c07fe6fc021ea333df3c7aebe96d956f18d2b42ae317508da9186ed5841ebee94e7c5d4014af175785ebc08b6bcc647ecddd8ab41a9706ab3ed3720f64d27d2508311a43de69d173863b5e7ba78b1ba97a8fef2dad4df3bf1f4d79f859abe9d2db961bddea8386549f5686372483676d25ce03ae0d787b84e7cdeae7ce4101c7f479f2147adb3290bbb42d2dff3288efb24ea3f328ea93f99c0f0046373d349011519a289600ae545747137198aed37d60625ae38d8f349623ba735b758a7273d90e15a9a5ec98c8b51d05629a963f81e4275ef5d395874705189e5d7abd353937c287f1651c77a91646114b4512315c523af46001383d7806ad64959645b9976c68cca7c1653a74d402a0abd101e66c92336a27e821149e3e10e347d03890fd9662f5fb7b77e61f550698d6f2b867e110104b16bedbee1e1562a8666b069bd39dcba328348505083ec4d82dbb6af4b716f68112f9273c5b8b928c68070153f6c6cbeb0373d9bdd9657d1ec4d8cfe2004ddcd29a895c38df0d26922420d7bce574ec4566157ae37d290bbc892ed1d1c9e2975db2530c0f7da85b61bdf3221416c6663aa46c51a5bf55e4f1fea4468d49f06a807a43145095b617275dc35cef4145b4c2ca826b9ba1af3c300e56fae197919eb7c352319f0fc5c95037105f893e3c569d65bcec1019afe068b47af85db69e9f80793dae47b748df021aab4a6c6b8feb6f19c5ef045d81aef6081084d325910e983138fd866008808fffc6910d8334432f1070d4b239cf8f825eacfe44b64aa7772df05fa896cc5b4dbb5fbc5f9315256fa9827820e353f2c92d53c9eb64e8ee3a6494813af6ea1fb9448570d337d5b8bc468c31a0914e0116392039f0f4bed0607e468670244a1d00dee8080f07d507b4523c1d23cead71fb36982c5c3c9b449af94ac134502af88774736911536cd4c73da7c3d2692d04034e67595398fb0eb66b9eaf7a086e23f01b851ff502f4fa852cc5be88bc8edf56893ff70c2e0855d39dedbf21df019ada0352daaadbea3327803305c034119062d9678bb2d8ca0b169281a25197847b005bad180e5b8f8ff51181ce37bc4c8bbc7e73c6c49a31967660a6035b94f0adcb37f7409fe63bcb64279d02dc98e9ada63a571222b3ee37ea781621671262385e8c3f6832cd96e50f4af6c14a2102e50e7d49884786ef9abe759d48ea7535044aa582695bc7a7eb3ca94c05dc64a251704f17da89802c5e079c8c7419e4b584290b65da676dbe551f421b98500dba13cde96ac6d9696e80794d4b9367ed6048629cf3a79b57e8b386c63c1500d9a13c859744af48df8d8032c03175f637869062c748b6f2c8547e7dfe565cf5b5b7abe2d495730650f8e2a56a2143da648110fd86c2a75a2aaa81d44c37d90be6446136146ccab3c6b7963cc89a694cf6e41133c57cac21234ee427e96d2e00b502b83d2c6725c718180530926ce911e7685745727cf30955c3fd9be211f2c0524ab1abaf37aa761aabeab61a43eed953775cbcfa4d2597e4684ea66d1850fa9a3dfbb69e53d6f4842db291d3f65c2c68d455312831b8321f3b998ce9f78283492663cd14ab4ac37c61b445c1601720b37fef1e6bfde2e43f7beba6eb4b99bdc72700e35b9491072ae4ca662be8e864b40afb3361957d4583dde2117facbdd5e03e785a56612e5419cae8b4f27d375fe4c62702f1719a1c3d2721251cbc9fd5a1e53524ae31a9149da050ccbbc428be4e2d212979cb884f095a6662623d93a3452f2f66a259986d63d75d15da7fc479ee573de372eaaca8de2890186085018a4c4a8c474b18858ed6fe593c9099e18e9af50aec81c255f5b8530c25eb574617fcb227871bdc0c157fda6b72bd5891c7401b941827578a8c5f30facfe5f6fbca996df19dc47f34998ef490774416294e3a18486fb1691ec57fe8d6244366cf64769dab2b1a175ae5ec42e30d80b5c79a2167a228febda32ce1523d964ba556bbca13d18f190b6721e5a3d6c2a73ed8af693314536b990789a25bac13861fc1da43362fa3d1c839a902146fa30997fc5bb818497208a5814793d531ea2dce768a713d8ed92cbdb3a5d00b65212f077898b15c44d9a6dd6d1a6a182926e2490936c7a9982840803a56380d08553a2e449bb869b6cfa4df614b4444f8b5a96478f2086d1a93890635d4f625fa4b7b43109185893d356e415518729f65ef793e87e18fee17c839f809c01e9f5772aa77fe296062356819481c1dcec199e82029d2ad513673404771da86635ca39f532705baa57a0467eafee582f945909405626df74881dae45379726e17af7d77d2948a328cd042941029c2f3a37c04a5d8f64ab4591b7b2c935466d5f0e75799e53f6b4381d2eb42cbfebf3cbdb5f31cb2089abc91cf489a4b383e4d777a39fe85ae9ee75ea5a5b7a31a9d3d5d400083c5765de51a91952225a4178f020ea61129c35128d19b70e94049e1993fc36546d08b3f52ae915e1fb76071723799113cf46ee1dd461056aef0ead74e4bf7e0b321b0ab6ffd6d4b5b6a8bc784ca5ccf7291df9de764535345d7435ad8184ddc9a82d8575c2453c5a20c59c32d508c1e3d4e0c71ff37db3fdc0e109f39a4581c48b5c88814899d1f571b12c89efee36180a63403444ecee9e94fd2d97c6f1284f4e4ca2317cd2e120e4cc27a2995cda7f4618bc85755008fcec80e81774c36308f59a2946fc0ac43c073985eb7ed3a5204f3c76e3b9531292230a5ffd809f8658f87a0108d99ece95fe5139e65d325843a98187580ab276c23412950269d7a2ef7fec0e6fd173a302edac49d42b6a104a57d0075301b6a445b2ca05183a72d5abef0511cb9faa72b95cced136271ca841cc265c5a4ddd2bfbfe6a423c865dbb478d4430f82ad4dffcc674f0ebb1370b9161c3a151f650c31732edf3448e40babe5dad393e9d7b96a07eaff250b6600eaa004b29aa570e938bcabec924948f6ec6dba2d7272a739006add91af67250a0ba2027e9d4c3ae5215aa4ed59003f38ae591ae34c2e334a8ff0fa67ea939981aaa69d9a403d3a4c8972f88029bccb3a146bf340d895616198870655edc1408539b310dfa91b7de89239f72870a92fa4237ca4f8b6083ed32caafabd64069dbc4007f6226a209a8f1fb1cda7e51d75b286719657b2748ea7be28bd3efc4641cf9ae3da14ab87b3a1b9d752d8b51f3d787beaaa86afd91076916c15135232fa00b21f510f821e5e3c27c9e17149f6c351fdce8edb95c4015b0b2bc48a9dec357ce34ace19f1009c5ee80e2063c894c51aafabcf71d95f7cd8c108e57c9f243036e9b132ddd075297a65a62714f948e0ad306d8167c36e3d04d3be36777894713b53197de0525d9562d71a85c96823268260e8670f64a45ff496d9cae2567b1ea8470d0481143050b5734a7204ca98f34833510995d399b404d24744ce85aca13f46e8fe29f30e4a7db91e77e2d2c0d56a596425200bdb06e369ae76895cdcb7a98c121c48ef735b3d63e6c0a4540d4a342d8475a6449962578da8d0914bd18dff6069ad426ce0317cf3103feab69d5f8ac9a042915e9d7d9c6ce3a55c0a67238752d607e003a1d77ecec083e9988797beaadd445ca6a7dd4411e36b84dee60f4add419c3ceb9410beb3a1338eb5e869b021e02fdb49925d1a56730cd469d8407baa3370b53f4df5d048e4e72c209c120297541bb26623843d0d0c150b960d5fc11a4fad2f6b9c9c0929009cce9b5e2b7cc2a816028d3bbd1c5112523102a54a3d8397183d4d3aa4db30baa0e798271c93c963277b292dfa0c670b747fb97344e0a83e091c6847892a3da0760c0fe7b33de6634e2e1257a6320619732702a20405e1f5a9a8449d1da5f697e0f6ad238d3a728cb48d4238414d932c3a85937c3c7bf33fe2709787a90f1a474ca87447cf85d08968d23d73ec64af6158f9eb5400983f6509f7154c041596fc499ea00632a5495fcf03330bb8372a5690863e35f8344f197ee31c02e9beb8838d76a534b2464903d886053c80a386b03ac9b2f6eeef6a65f27f1c6e82bfd016c1a3cb9ce0ed12a18bf091553238869f2f572806606e894895de541f755b9cf61e41601530d5abfda98cbb2acd7c73e5290602cf11f84f338bc63b33e2a9f679fbfd32b8c89f5fd1387bb4d47dbabb1420ef4aa79eaaa34e0303161ea5b3c8538b8a85016747047a9bd4a9a416ab958943dce24f885d00727fd399f4dae5a26f838e8676b122df9d15bbbba4dee881c290c549504e1b694712e98faa160384f70098bcb4500aba3551c55af8b49152ac38338f8bda9a05758c2a287dc79a6acc448b87066beac95b89a35353da3bed3a67edb5ab1adc01b004c19069bf19b43e78c609c709ccdf42731f2b32db7c29c8b1e95660f0731863980fdd9c629530f43457827ddd9723b2dc412afe9873edf2bfc8a008818b0ee888b7b8a3677c3885d8652fbea0445fc57f38131e770b49df17a8fe1a301a9aed594400cd8dc735bf96245b812c15cadad36ab32a8be097baf26a6ad619402dc655be0d23b6b54a022677106fbcbf12cd50b8a8a8995dabddc65c088fa380abc0299fc64a1ae3584fa4d9fa55313920584980f36a32befd29b1f133d41a39eba726ee237b3171e79787f0d58c4bd16c508829964ca819bc6bc150177f6da63967d8c4ec7f5d62962d76b3b4f0059f05b739331cec8f98eca3f2067129dc27d3f4ead0f56f24bf75c008d14631a87d95d9a3621a559afb00b3ab33f42e9a6a97a9242ed2ec2e8dfd06e1f8661d2ea3daa934522615a120ee50d63a6be9f9ce0a885cb085e8de8734d7aa8a3684d8890940abf050553d08615f71adee450a51862166b76c0848f56912fdc004da75e4833f37c2ad788ba17cedd43c56784f4571b49c2f060891293b0484189b7e70cce719ac1a25986f5875b8eefd4608c94fe0e049de9e8cefe6d1f8b27313f90de71b035c522c3103a9253ebff6ef2c106fd1a229c6217cafece646b2c89086dbdc695923daeb5da5806b457f129221403c27b2838c42ad728062114cd269cfa2a37c1eee7fdc2c8f5b672b358d755d408f7c4666b0bda9a4310153ae2b6c24d4229cb493cdb85a7009c1d7e57a1c45388fdd145246626196ff64cb610e3be72755d3019955aff9d6f0e3decda3d35992d522602421812fd23bf85723bdf2a523b63915b58f009bf5c4428cdef674027cc2d0313b7bfa353b1796e2168d6deb61a1899b039c71a369efd865bd014c1f9b9c3356a38257189a2ac1380e09edd7d928adb729e8020010e6772c18c915d6efac10e1f0e1e232a361083d313155ee3d680460385e0ca5c618ee0d30d3af1b825e115ddcb1c27b61ea692d68111f5a0ee37a614651b4e1896fdaa51e2eda3c02694fed7a2695e076d94cd74a4b0a20e20ed57b5165c02f8707d58a9567788084d01fa6f0142dd5c8f8d06eb6311d79769e33a2783fdfadfdf591565026bc3a102c20b86bd101aad2643117442c58fdb62c5a336a4196e67c8ad3df36babe81826a7d734456ddb326c9bd29dc9ee4c75ce561b94f2f689ecae847c06e186d200c3663571915be2195cc7170ef815181c3ac7627a280f73cce2fa8483a96d9b529dbe8b18f94f1b6169c09da610b253cee329690e611267beb207458252ae9a897d51a5291a2732082dc7e7b551a6efd620a00f4e052768019d2b5715c0ebb07065ca2201d3cc69e125fe9c1e3850a45927eca3e65e5bea65a93061e7531dc810c43e6f6877de091beb0a4f4ddde31c59912c7d0e2e69274fe43fd03d5257e8d86f546187e6ade057141bdf9d962b597bacc907acbce01e4611c3f0a4d3235349b6195fbd09f8a696b050368456f71c1b969dadaba629bf609b08f08ecd3a6790a941c6f359c4c2e8739aab9dfaf0b67c68c534bf6b755ec237d964a193e3db4c00798eaeb3f601270c53dd85080e9e5fcf07406a0b13ffe224a909c7fe5a5f28f00892149ca731ecac866d72ff9534c4a954e65ca39161c32095e3dbd40f208e78c15bf3e8d0750ba08111af039549af83e32728a1ee7c622a470cba9f9c3a4e2aef1f64e54fbe13a9ff4e412b3ce2719b834ed851b8e2859ee123052ad1ae057489fecc98fed0e56588ee52478919659365b36ac2fc78af6bea01ea18dc50b2ba696a9d1d11834323ea835d6d80edfa108100756ab1d103d4b825eed7b083d4238c9a024d9dedc4d39cb32a9cab4b712c13f9fdbb761347087b97540576271c45284b93f40c04472883b8c2fd70cc9edcb15237ff15d90ddbcbe031b23a295f3dd81120067d40785c86cb10eec2984909fb41863a041910f3e0aa70b1662003d150b109ed6385d375edd6ff3130f93118a7dede8956f1b9e1dce33ab29566280dd43ea8f1c6b3d0745b09a797099d771010f800b28cc644c710c81e62ef5dc8c7a4d0f9136125cdc88b55fbad74d2797f839961f8004c7da2574205b0b1b3b607ddaf23d1cac45d5ed2cd073c9dbf2dd4d5c503af6ec7c9d91d62627ecf62e4796f317c025fbe2b97f611df1973a7229ac877993e71e2c410fdc0f188f4fb390dfd78c556af93587f5f161a0b082f08dc72871afedba7a4f9240e923a9608052cdfb30a0f906f225ab1c72fcb02fb0fb25f06af07ca159977c6f1a3068bed0ccf3027a4f7c518e0d1ce8ee9f94e17adce851ffd902d9df7e861506448d5c4cc218b33feb8b7a2525c6a420e6b5a9e62b0e23497a1c5b0d32df8f8fb4d6a0fefb4c4f879ab5a3c63a82c645f98cffee1bf2e132552c1d7869b9665640b6e94c64c46505062f75dcc5651710f068a0335a47b5b28c7431f13545425f43cf44e5621bc185c528412d2e3fa9f55920fe973c2ad67fd498a6868f98371ba566eea14683a1fc8a6c4c0632d20105c103c610b533c4ed76393652f0408a64255337581ee3f51ecab3e8ad4564fa9c4441d5952978a2a7d78cddf3285ab92e121e4375c8f88a531de1d582b289cc5cbf73ed779d2d24f4165bf3cc96d6796dcca939867483b51f544232cd7e9645ecc7244422fc105a0ceb5bd370c8805b1fafeafdbee2ac0b96f8cf869b845dae63749ccaf267d4798d265bb2864b2f67b7c9d42f9cb60941d73324f57f462fef9f66307522963483c213b2f16f4f924a297fb82427654fe9824535eb8ccc356a6af5b2807f46d578fe7d62d79d88f5e3cb1d59d85b3263ffdd060fab10b458f47ac4b1830c85f4c92c71770471a9eaa90ec51c41d45150e370c5ef2a68b5aa479dd0d097cabd14716282c9c26f9291a89bb238f8d0eef033ca2ab2490acaf80133f78242e948b70fa00b8b50729c9e348aab2592bc4f404538e7b8373e80d29c546fa5057ca583f7853e34c1a63b569d332a9c44fff3a53262a0eaa17d4458d06fce2b689d2b8ba6713c47b90cd92422131f251a6c0397644761be7fd3f5457b689cf5ba55f6fa5482527d0505b70650562c644f5de375f836bf0b3c6f15415265e2537302a039881af6e07daf762817ba46f1430db2ef018cc5814119a1981c3f5e2325029dd6c8056576846104af4e80dedea7870641b33f41ab8ce9913498dc2ecd5d897865aa4a5b5e2e97c0410a41df6d75fee6291ee4c020b6b748f528ff9318c9da51741d5200b22bb137e201ee70485a8713ce69db0e789f5e4efd1bfcc2b39a2cd0b11ba9fc8a40617e814b984312653024b1e08f1379cdfce373ae1641e1762160ae3f6bc62f51b2ab90f3a3f14b31d45225f3030c382599af5d385ca13274015860c5b040446996ac8659572b4e9952047ff9c85bb493681787b2808e805b16adb1db97a8b3c516f19548a5d4c7535e0245f559883a5b97854848d487b5bcf23fb2778795f3391013575315d3d9c6b9db3d544d7930bca83502d249738aea302fb8c4a066e904ded912c02665402e1a3d90b6aaa6830bec412e8b790ff0b57dd3b36874f750c4128856fdaf4c17604a4bda1829060a0b7632f94dc0ab6fce260cd1e58f61c11d746d9d566b1e2e8da37e6752f48bcea9ea5577e22892b379aff5d7b7a7cad55d0ec19d9df4ca4fc6e740885bf2d77303052b6afe351c2bb4637fdb4b97f26a5d11a3753a4d7c844121f4b806793fb3f69a7f612e123d77314d73c427ba6bc55f620f745ceb8f86515a26352065d75998005d5a8277f7739dc8fb79e2b0ee757fc9962c83daf29b4d358b4766e45e8264f6b87d334389c4b75f85345081fd32142ab31221371720359b6baa07ad042f5259d8a447af7ae2ca6d04ed97eac10c5e518ff5ce3e0feabc6d82ed95e4cd49387ec8290e7268929e420c48db14f3fd4b5767bab45d90b4d35ded16924d85a9f927dfeb4b7560272bbf490d488bf049e5d350b0cd88714c209272d71d2d170a30233c4ab665264600e6255536fc5e147a821dadecae785ec0cb5adc231019399df8fe6da6f5593c76e245d41769b64306bdf03a2381436e6d164309fccf7262278175f5fa91b3dc46ad4f11e607b2ed45062e01bd7ceba323f3ebf2bf8548d7260baecce55e08b265bb59ad1c1c70afca427353453a3ea7661e9f22c6a6629728339217aec44a8b3f53b53d5834fd34f0d6f1f4de5988bf9aaa351dc47f90194d09c00bb91412bd0ae70c0596b73dd24547dec6063d73460d96b628ecef480f8005f37bf36787b11e8211433abb17e7482efe8e7a3450fa60d74c27426fb72d9a3f36954213fa2c4a393b0b6e269cb735203889016b0cd8b106dd361847ac3ff775e66dbd5497aa863859ed8899ba9e1d7a2c24b82ed283197a7453b8008fa43dd880c29c9764b8b65b2642500389630b4880015e7848f1c0b1eaca6b32bd51d45b9c328577e78d6d3e81a599b968700a22b6b6b15509ec6439be99d9ec0a4ed0960cadecbeea933a449c16d410ce879c4d46838d503e87b9947197289d84d59ced1c3c9cf7cff1d4661e138d7b7aa4dced16270198002abfef25458c9d54b4d43ab8864e0e87a09d2e24289455758f09eef10c5461b4994ef0e97db7e77daea5a25155f4604e9370bbc17c2e3e72704e25195a529d8143fc0f77c598c8bb4b573a19658e0bc5f2d7c68bf61cb828a9cce25aa825bf3ecd70f68a2a7e0047083c04250b7f726992685a8a6175fb5bc9ecbf3227d8473860eee4faf9fc665ce9cac15aa9e2ba086c18f1643176b6f171862ff8080ea508a1f303d5c039f863881c3201b5e96bb5295264a59ca66352eec6067bb085d6c2997442149b42cb8ac0f1418317e7402214cc09a74e4394680777f7f299177ecf59d564f97a1d1271aa9107a4210c6ceaa0f55f747d86ac6a4846eb5e7686f3b38c94b4ddd4b8577c3faaea5d1cf32ce95821b63c452e6c8910012043844344f363268117a7e7b8c0e824c2d80057d44f0fdaf46be70453c18969817430120e452fd658ba3ce0e6efde320d924dd5b440555d003a40945fc31359cce0da1c7517a4e354225409c6edea2585be45d9612034d0baaf16862862afeab55ee873c940c700d55426d96958be2ebb3fc846efadb1ae1442dbdf93ed097dfaa3f8b45a1d65c0bbff466586af70d934350a97acbc73f44237195ad5d121072dd1d21317014a8a3e6e84c0bad5ed295251aa92a20a5a76770d625434ed2a538862ce903449b059befde4c37fd0ddf9e5e7fd118e21a72b3052805789c6ac6dbd5a17d831aeab041dcc66df8317020c001560315ed50e56f74bf4ad650202671afc0047cddaf3ef1745f49135d1d52a275e41b5edc31a3bbdaeb1da05c52af56014138698cbd6c5e92721bc4aee2d74a49beeadc90845a3b25e86e47771b29eb3cfabaec8ff69434851945f303b301f91aee7fa3e4d2e0f382c3f3364cbb98e2ed62abe12ab1d52658bc8dce375d8b5f663931a98504cb1b57aaa737a64c5f6bb48ab2707fcaa8ee5ad9e2ad52bc4120eb47463b3d0b8012b197c142e5b00dddb374ef920b29d901b2ce8d7bc92e1017cba1b66347e1e4a12496f6eecd43b7f65e9bc82803c95facb8c23ea39d7b84a2577e4ce27d54607ce2cc2bb35603510e685c91c12f62994fe4072d1fc227111a13e1b3e4ca3cd636d2c713544330136660771a67f4977b6a04b63796f6c0021d93d198b92a612dd8d3abaab11ab69061325f7b31e0c8dfec14da18fb9274fea7e52b6c2b032875ca0fcf0ed9b2fd8a8f5fb0dc39bb940db1365a83165631e83822a59667f96511deb88740c2660f0bfdc3d01cae29a5df01701ee433c5cca1ff6011d9747c3d80efc1ce6941ac1e1f173bb0153b3fb30743d0c13c48b8e560467188715586980b1bcd4fe99fec0ab0cc3fa14b30e34d14901118d4d1c430767cbafc6430b005f78b44077cde4d4e5f7b9ba95f133c18da6151e486dc8510640540c8dd4b03dab49d4c91bfb47fd6d29fd8d0c4985d88da7a677c8a8f16377f21fda49c173ded129d5215130f8c89d896f4dc3bc7745b0416304912a8a845234c73f0ac3f8f8bcca3ae7b85093e5bafff8cffd53c4eb63ec4343c384d235445874d0acbd6e9ef52188d7a96744662a9ebac11b0dd85310eac30c9fe6da31c031c6ee9c50494010a2b756bab1bb5a382132e303d78a35927bf8b9a3c3bde2a674f93eb41709b96ba3d293885816ee3ce3d7214f46ddb833e3203e37fc1ca87a2ad69c6ece83abaee2480617475c90e8c7b2c87ef5da39190524b249b8a789238c88eb5f0b6dc108d11e9a71ec23cd21555a4c6b644144b07c59ef6900aa5e41720f468cef298f919bb62c8dba107d261206e1f165d2a59b95f705ce044b0164b51bb0a6285566b41edc0eef9c98b75ac0ab12dd0f5f27e17af7d514ae339c12ff88e680f9c2efe45f52c285fd5e296dc2e50adafcf47029239faaa8c6efbb72a1f2fa1528798378a0b334dcb89767d0f19c5e1d26847260624a5b2b4ee0e5e8bb58c73fbfe83cd9343051c9b5e071503cf10f58bb88834d50a60c758dbbd0998134f4fdba716af705141e4a65e9f3d41a866dfefab9ab4558e3448026209000052695e9b631a71e597dfe4615277c9d0d4e41d92076b5932ce7b22dd7db7db8cbb77f362473ffe4e9487428332da733c59ffc19bc042075c3d5c1599e0c8ffd2200de9795022f4cf83ffa5629da46afafb44cc9f941aec209de4c4034a56ba204e7e061f8e690ddea23f9ac2dbbf95a5cf1569a2569626988c9397ca2ffad388f562a25326145a5f1a7f652fab04a6774cae7396d7f376664895ee3171c0468ac29102710e4dd755576ff137fe392d83aa2e930c1b6a1eb71d43b50ef1d1764656c63a00e5dee8c471a716b9d330d6e20bb4b893b4cfc8cb890155c339a25558efd5741c6d3148992d121aff885554f76fa67c8549dad1d22ea4f31f6693eeb9db4e02451c85b34b410952d539bf59cfbf460fee733a4f569b78eb18420fc93f0c2c5f19644eef9c891455d43eff5b5b559bd67647044433908c6ac1c248b55a62dba160f5a9deafa0f0d1f483a1c7cdd9777aa7a167bf77e554cf6086f4d91835e351d99b71c731938c8bb41a92c6eb715723850c3030451a79a761cd10a0999bd414e69a9394a606fba69275e7dc76c61427d117eebe471cae80e8a2ee7fad5c1dc38b2f737030fa87d3374c5c0e7cdb77bc6d677e69519f8b2be687b8a1e789e4c49d797e084e9796b5301e86b5a40289cd0c3b546eab98312e7d9b60dad164211133faab018e0ffe711657b7244090288af294d5dd2e97d83aa918e8b80717478dbac76f136e0415895bba048cafc631a683b0955fda909b0ad0ab47eb6c391b348daec65c5ce443aaa3e07ef93b140e201d1191ba54973fcc988c553630e17c8e083a9a966cbbbb22de7e327eccbfeac7060d0c7602ffd79e8ffeb96117adb5598d9d8fbcc1d02561f1e54e0011982e793bd40eba7f28e52b98292f89bc6df615c7a01423c1a1c09ed7dc496d09670ff4c8ea90841651c2e7dcef2e8599772a4859cb0aee790bb94b1f2d792881229507ee31c55977213fc20ae1110ff996281468810ae7f2b003b8727025bb8359816cc91719781dd5fe409d44acafde35cf50d0cf90af41b7c48212f5796d4e6afab7a09faa6111d82ec07af43062cde840c3352346f50a37c0e54b44ec283abbd028c1a4c6212ee204351eea286be49e8b923c78c8bfc90ce15b9b3fd4da65812d59bcee27baff70f9723c9b676c4f3f9a42ef62d885b65f085ddb4451438e0eee6b922e41c87050afb6b7fca4c678e2624346ee46678835793b4dbe4c95b83107b7125b815b4a5d84ac84d0ff86b0730328724f95e9c1965e8403f4604f3c8a189a127f578653de789729dfe7402fb99bab0aff3f5b3246ddc96775c4048f86095919a4ae0fbf4a9b27fd3a3aaf173fb7821c3377e8d0f0306f23e74fa2bef0fd597012c7a61552724e51249b566c0ff7b3a422eb2e3a02064aeadcb29d53fdd398c707ae289320a4b77540f81a9f5360b8676392e319670379dad237b5f60ed9dba1a8585022d9b782cafe5123f06a76b4952e0c6bd851d3c7ffc2d6d035511baf1330fd78908be32ae7f15262da0b6574e4550a85f274f289f01d64c0cdfbf82e8d0f43bc4fe1a8092c201d0a617b88ef4041b2a95ed6529d0c07d24064670467ad731e633531d2ac2c744263f0d1cd88a5f81998a0df24d6817648743861814e48c6de25873382a04245ffaf2dcfb0f47e79245378e2678c6f2c037651369459e12883767e564419e0c2200fc459e71a9e4999dd07afd241660377cb8f2bf5ec04a0b75c0487964fb444cbd02df4ab0e9458a915895185391530556b190161b1703a5ae79dfccd5ad3f2df557392e9257698913aae6d81d20d50b318ba84773c782f3bf41695fb1324d5dbaa152fba1d842a6109bc90c82887bddb9fc7520fc0c796eedabab3cfbb9c0ad60bfff9adee58108bfe2ad0c5d1e87633a2696d60bd79c7f76beee03f77582dc9c57b2b2e74425dc6a4cb072e7855edf8ecbcc5ec35d5b2f95aaf25151f91b7c653eaa9778d6b50119713be815031553aa4e1289fda58eeaa604c6f51bc8f8447684329d34a153d71221c06d7ea160ab64c5a7d79fc4e04417483109d84738d1547cef893d952f160f04d4fad90271f2254eb648249cc20d77adc0b2e36409c0e31e538a1d48dc47b0a4c085ba94f5987b7ab25a805598e00e9a137a230db239cfe0065a4bc4da2c83a098245add0d74fcb1c2efe631aee2f6c9ae4a52a138525126f122a5c38f0cfb50111f2330061e98726138a898c1569def6b9785f0e9c022069c54d43e56b83aa2f5ae56a6bb523087153c926a3a91d2c28243459d5e884b329bc1d6e5c3de418f8000e7c3c80cf31c1e23e0a4c95ef9f11bd6989caa26eb9cf0a8c88b8340b67e4b999878ddf316ad1041851ea7a85d43b6d38e3613d05cef172705aeca7cd518bb72cd22dcfe95441fad1acec4848ca81e31c5537f8961a58e239260c7e39b63a8e82dfbbd356c20ede7b01db7d60aa323df9a09172b18882f308490b8c140c96bd4044438e26021cc5744f511b8d2872e680cfce7d883067e59fce720bc9cb356851ec4b575eb192dffe0ebfb0a2d1a0bc26d48087884cf24be230fc5e394014663dcc11141c7c99c5121fd37e40ff835bd43aa9a1d4973a004ca38c118b4c76e42a18bd7cec3ee695cc8f5b733ff88d993e5cc4b5b8a0bcaaf4db82eebd5ac4150f2da4329dce871a1372e2caa0d0726d0af328d83da58c6343df3b38150e5daddd1737442798b01dd35a478f9bb96f0b1227b30ac6daf90776a0b173c6f961742e1c042f0f8ed35af04498866ca2b4cfb7bc5569ce86a8f9e48217135ab8559ae283ad38677b229f909e6066395efc3b4d12696969451ff810dea7fc47be8da6dcc0cf3b2c56c5c9f85ba01e26c1cb5b055d6ab230aef53172d034c70edee72584ff38344caad4d5e6920ea5be0b47524fed7ad9e1ff5190e6533a0c661f0fb49258c134b5f0175a296211b1b599f81a44be616f2f7ee399105ff1fa850684361c5f8a1734822739be2730a658f62be9ad9e89a51785eb9afd8a2da8183376e116b2e66d90acdce8dac0796132a166f0ec1a88b5252da6c52561dc9b9b321c5a05edf0aed8b652e8a0b946907e8ecab4ac9e1b425d7d1424ffd9c3ff97e0451841e0d8f3227f9807e5711be2a486a6bedcf6fe365a1422879c007f796e6b53beb5660e5249e4928db6a6adc97c6e1e4562d5835c6e92aa3d14ccc2f3b6c193a7115e57de5651db20ce3ee22024dac9a5176742068d9184333c404a9ed98f57a5ed8e5d73d2cf593c3c9afeab8a4abb6307418e85063ea8a7a552b379cb374710b924cf94b8dc62750368c56d5488708b650b10ef54930a6b9d6188c6eac318557035e8e41f611d28dffc50cd7a46b95015851249617d3e8904c3a2b39bf290b86bcf2016123fd3747c636ad9025cca2a5347e12b86e44d44a461fdc7cca4a46ebed04778afcb143c344f115bfe0b0592965dfd34d52a91342d23e155e1b28defad36b1247c25a09791a0eb83ea3374d858990b3496f3907d2560505f3b68849e201d0eae93ec00d3c2a4a9cce7d4ab41a0b578ea5187bda4d39bfc26949171dbd4373ddf7b19250b851e3ca347e5e7cd242032f9ec56d03dacadd998349ce213dece9b182b07c5ba8c14713a21963d75ec2f3e22a1ec492e7c699e5d9b3afbf101a199d4654f6e7693c367e0c81aa3416a6c4e034156d9c2449b7f0a8c0a03c44259bd4a65403869be70a258c3891f3e9cf4da25217f0da58e08ec900213875b3dd7a5515b1a51083d7bdedc753c1a4e56ce4666f464b578cf5e28897fab8ae40d511cb042db9ee74b581f8ed0ecd5e995175be6a9407c823a5d6d6948d2f13246f357d9500858eaa4b474e0077062b0dc5b3603a01cba54306a15ad57ead70085e25340a9a60e28821375afd7afaafaa0acf8f70be7fe869da559da9fa568a616b055b63d629b787d41f4af500ec30e83eeeea6bef2e8ac2f3efb35048f355a5eff4f026f0225f0397161424d615160bf16c6bdd45b384a6520c9854211c904d8891a7c6c8c095c1ba93c58ada1a0ae622981b0f43acb2e18fa36f44e6b961413c6ff381b5acb0e61161c50160b43ba90b1628fe86c94309e2fbaf059a2f7adb03282a223a33b9e50c110b4c21631df9755fe817a2869c0120d44ef4526fb0dbd4ca95cd830ebdd7e7f13a9f25c0af3e2e6e33c657623078912a245db89f698909d6dcb10692bd236491eadfb3b62e2957c001f952b637bc6188aaa02abca084e2712cd9eb88586a04d83d81c589c90061f1e63e6eb60e967fc482db362edf4fda3fb6b8f1919b63d6789d02a0014cff679ce60c667122b00c56eb15480df8830ebf0e19120ff6cccec049518a82caa8644d442536d450f3fdb8aeba6204406dfdddea3e9560e8d588df083dcf9eae8985fd4edd4ba769a98124f6b58d6df44e4441696e126be6240034334db3f5a537aa63fc5def663765825bd7acf0cd4f38c207fad910393859cb8cf1b5611ce11ecbcea6fe49a4a121cbd4ad21d2148285f1e4e4d14249d74593bd26f21fb32d9254d81022df0c9f79457f3f18623321d7a046ad3a3337175758dc1a00c7ad5de65ac4242fbee9f6a8b418c4336184139cb216b0920cbeba4a69eb5065baaf59ef17a1ac195de23df6e96e051a4d8e239abc232f3dbcb78d7d7e6522fe064007dbdc47b306b09b1ee441d2d8551ef0ff84969f4871647d9a04cb9743fd3a446d9ac3a83716ee7b0c29cade18892b2de8f816d2d27472074684f77009ccc6701498bfb4b2fb812d9a85da06cd77ed23cae6bc8f051384f3abb995cb10e929e64fadbccad24e5a8be52aef5cec920a6886279d6a887db22137ea529b84d44e85c7ac03bb4cb21a2e1e93e1645c2151a2db24dd5a8a75054b2a509fc4f9db597d742053dcce57a9f4390d788064639a9622f01e2c335a4542b7f9bc14d87869e8fc7b94fb43c027bdd6ec6dcaee36568f8c7032114eabe358bb2e17f1ea3376103868f040b0af36e3d41a27c5e80b6438083bc77c048f73cfa106f069d0de7336a3d47c7c6b98c541453741b881d7e85a8f713626b0d04cc64ab1b697c97c8eda55bb1555cd90609a934b4f63fcadbebe3e44d101cf68dd950a2d00c81174ae660de0eaceaa60cb85dd7e5c140d2916b8a1b991c6224f856964add1280af5a560c1a1c60ec21eb97b1a51921b2c72bb1014366872719db6effc9a8c04ae7debbf4c400a0b84a66d4f83cf9deff36b2cec4802e45e92f4468516d03eccc2e5b14aac663236520a2f1230d799d02d1428fde7d640542af2e9c96b18df81f15ceb5350e13744e18cb4092546389b207df81370c2688a5108f8700a0129210d0e0d2aca6cf50bd3e196889cc47d5c1be7ea2af2dd515a53c8428ee515b389d99a2bb1f08a64c8accb6c5878fb8aaaa61c5d85c8ed9dee5f7595f26a139c30efbb24fe1921fa3944abe9887fbbd9858979e8920de89715cb7284d772daeb3dbabec084fa5378b81ae5818a257cde73b54f6c8a46f5f224425d9fa8cecc1c49fe60c965abaf3bffe3df9c5f79ab98db4f2c1fc3ac45b5df235d4b3d69ecb0b712e201b5b348e0179726949dde29e1d523d46c4df93ef149a14678cb1b1ad1f7079b3f31a69ed29ff8f147654f19c5192b0fcd5480565acea0c66bbf7089797f2be320fdb496870f199c33e72995473b5514dca7bace824d2f249a3762f965980008d728a87e29a6097f6895e21abc848eae737df55d31570571031411913e7c2af0a1f40aa9378bdaefe1e7244815a30ad3434c0255b59a0555d0daddeac8fbaa424b29d10f0f6825bb362d0b1dec7c8a4a18be2e2d0270a7140b38539a55317eb6548349a6ec92326e7452fc20b84cd7189b406fcd420216df1da65ed48f07146e441b245d9f622b7ac33c940e386d4da7890ccdc0b23ce75bab2d1c85a452efd3b6d7e5d65d30f77613c661c1793e714e72062fa87b2db79cc94a6c4bec29b5c89af7ecfb8acdfd65301ce9873cb8048bef1a0d8ec38a4bb5f85331459ca25d772baa70711d536dd81b997a8172fc67aa4cff7a2c866b85c01b2e2562b1da067a9afb87635f9651e9f6bfabd6ded1e257e81daa912931f311a7d4248e1d11e12bcc04fbee6bf316906c5bf5da27b96eb279ed3fa25365f96642434c203fad8a6935b3010ab4a6313b62f576247fab0fba03c11fccb71b91f15b889827566bda28578dbe9926d8d3a820c8479bfd9878883a814a012844120886319d2eb944d62e5d39ab841b28e9a84c9e5ed9308e32f69844842f6de64cbbda59452ca99090309f60855522799da8f08cda6afda108ab3472449469c2df441454ddf3b1443904bb79414c8ad59a9bec8e3c5d5f5ae2b2924f4ee94e50d4542298c2595c90b2769a9b573e6008acb93520e8c7252d21e6f7250658f20dc1a5c3c185121a258214385193b582146144648e9e20cdc83ec02072d94d620abd8ec0c5a11740a1030c182183ee042162db84cba80a2b301578986114d18a1c20f24807a4288a5cb4a238f786328af3e4258c25a6b69b648f2043b3c99e1ca0b6a10658b4b430bb8f9822e4ef069361049a14694184c94d45832e483b5d65a5b5b6c00031b8421460d470c3143173964baadb5b522712ea458b9620d2632b02043174d34da24890aacb8d0c48723244e60c68da10b173a1548e0c3930d66ac21c4922e52c036fc948184145404344314615c6671efbdd3256de8372eb20b639925a80237a94c1f28029b455a31c25a6b3f28222831b0a6695a141318cdf0c50f633059716168a20b28af0928346cd8aa0b1f71be18622ff105105f0079f174e5e7052d9884910311ac20c37d810b1f5c35d8282e9cb4660df7de7b2f18bba88a13292881d0d019d7052e66a037af728e762c978036d0820726aca8c0451857880b20ae4904c218810c76582284110fb705a72f7093ea020968101435c6134848411469e6e04c27e9e4b485469bd8e9544503626b6002a6a71d86a4e840c365c1690a9e4d1ef0e4035290000c18946a709538c940b39626e1d5004e61250d2b2b94b1f4b48253142d490b47ecd0448a1f5680f2c255c149084cefbd3783bff5857defbdf78249642c6da8105c2b51920f271b5c9838bd00811538e1823582280a428a9b821350ea65044e5ce104132918a28c0b748696002a450461d941892c69e4d8a822620c39a18508aaa0a13459f0a2d39a24a101480664442102c9ca0e59b6b8e2bbd202462370a1c9054a4c99418e5dc3895c79bc70c50530b801184137c8b158b6b5ae11c02c6d5890c7ec02c281ca2d48d0726ba0410d43413c7d7106942a6a6c9103379b84900404551c41850f519684c006696c51c39d595459874c0294294260f4e405348c40e30b1615d2031655245103252f6ec0642987051e4efc604416318091340694161bb56152294ac898a1c928850fa47106d39d4d648f1d963ca12108225a40831948ac8a80b506044c565a6b7d6c6bc20c28186a42045b80619463cbd83605794ab6efa8647aabf11e33a558582bb7098218d74b29b55b356f3789719a314ed9862688d0595aabb52e2ad67c225a7b4e593f6f6c76308f612ecf6269f3a65652915ed222ac0ed9eed1db1efebcf5346bef47c09b36edb55ad8a06c2fe59c78d4bec9b63dfd4ab0b8da6d95b037ae272a4a30232941e1456bd7f7989aa546aeb5d67a99eac75cebb55632ed397481e407da77eead373b981aa594566c94e9cbb63ad870fcae524a39e7bca9758eb8d2d07d69d8fa2a5229e569a8a8bad64a71a0c5922cb058bca76ce5892deb2c3d26d93754c4ff5acfe178a4f570aa3ac98920e3db7f6be4d664b12e0375cc59da0130070f6a190c4be39850e6793f15ab8b0993e48061929c981158382288b14a5459192d2b4ce748961e6fb6eaaa5052b1857fb3b3129d535a5ac2f1886c52d2e2c9964a6148510a03ca76f2a29b9eeb5ee852bd53fde5fb5aacd720af3036fef22e739913f369c383dd8498cb680fc03ce6b0987be07570c2c2d75c6b54870973ad611d0c5f21b85997df171e91543efdc2d22f1f525f42fcac921488a7527d864976c70a5bb7df082d961eed66fd7b0713b67e2abe541f633117fd527d9c4e5efaa59ab1d67e26c9dc7e32d52033a779ebb6e536e6f693e8750b6e9a191998fc549af539cf0aed7e85b2c2d41a30fca677bf1166a8fa105a591a53d15557cf7a944d3b1b492a40de7d21a662ebafef314f9203bea5a58b28791de6af4fbf18003ee60e001fa36547adcb5efaf53d490ed8a25b3a46cb60f4ebd3459424813acfc820cb1c769a5f76e4802307808fb9ecc80133072f6b0d8c966919cc5f5a76e480d761b4ec021a4a066a1909b5c67e26e9a394f2513a5de6c068592595189d6b4dbecc01751519984e9264abc2f166e7b3f237fc55d8d54f8fb2fdd9ad02630ef39985d2964a6110edbca5521832ec6e7ae014baa14286391813bec224393061929c9870e680a09655756fc43bf4a1f2a573e77c72511b67a4d0820e53566bad95da95768ef2d65a2bab0c806cc813a4941f90d04d09834db1ea27d420ff6a7b7d4a15e280d08d9a0604cc274c9c2138200cb935b7548c4f420de23abdf7debbc21c4a6993e746f3debed21d6d7da4d9d6c6b65fc920b8d64820dfed3709c4bb7d2781741fcc28b3037afb8dc07deaf19fb7d9e3d58e324fed5bf62cad3df555146d5cdd7bebbd57a6c27955583fa4da79ebbdfb9efe4c2222444545ed24bb3bf641bfb0042fec40e84030e7cfeb52dceba77d3ea135148702a12088f1a9484140a9f6cedae9c47e9c51408842816cae0fa1435494aef90e67eb13b6c84fd749cfa747ece931775a9492db422a5220f2765d0d756e545414175b7bf5b97b7bfd88dca8a828a7ad610c785bd33bdab6a80b1658a69091b192f5226f4cd819e4960a5630810a76f022a7b654c2e2062d6608c2a28514f2b6a51216405056845a40ada5948eb4524a27a6dbdc5bda68f65e6b69a5946a38dad56eadb5d254ead1306f4a42ad91bf21a5940663100cb7b4b4d68a27e7556b650a14226fbfb5da7a69236badb48a955a7be7ad3597204b29a594f256eab235ad561f55939a286badd55adb699af5362f6cadf5e3566bbdb7d66ab3b457dcf2bb61c39456abdd1c6fdab54d1bdeb0b5136f4d1bdeb0766d1678d3ae6dba56dbf0b55a16f65eab35e1eddaa60d6f388b2cf0d6b4e10d6bd7668137eddaa6d6154c69b59ae4388ee388aab576ce39e7bc444053eebdda6689804e70ba009076b7d72254b6bc0f10b67cc2e3d26f0772920a8b8a5c8de80911d1dc80343dce29404a404e36b1d6d07b21e63e04d05df470c85784838331e6523375a5cc45184f222022a30ba459dbb242b6385bd9ba89023711cd3dca2b7bce2baad89b1238c81ebd7d09b0ef1521b0e206fbd50a2036a5d4569933295bf16406da2fbd507232230a1343e41075658b2930c65afbd4c8e3712e8eb1ed397c73a3430043163b089d010328646801c4ada20600b655aac204db666cad95f6a25db2cd7993ade5383ddee3f8c0dac7d43837383315eb3183f6e8630939ca2955b6b6b51e329aa6f160030d067b9c426c6d46d9da14466cedda71062f5251626bc7194242911a306ded462600b4b55fe08417b67614a8dc0044850d422fd89a520d9488a808c228686b4a36b8c1d694aafcb0352d6983a00a70c819cc2e302781655b8b63f8720e29a478a2252515c594190ae083531458c000c60d4e58c801324440a6d4da0a7b92abcf6121c895fad84d93e8e46c22e707b25c8a42689529106d767423854caf437f29a5dfd1d3094dd6aefad41a55e50d3dac439eae3bb5695f3a3f75efe42962586eb0f8549f5a059618969b1bf5855014174aae5254135144286179228f902f6b6db5416cfb1cc4b6f631b1567de4666750fbb6545ac38c2c2bd02b442c55b02c81c58b35965c14544a007ca3e386e4a1bd9e6a0f47b4009445680d19c438410ff8044aec1ffbafad8091114031b0c068082eee51938b430c75b3564a21a4c910a45f39f8635866d8e36f115a065d58825ca0197449356028234853c3898a6ececbb7c82012bff6bc59a0b2c0b05f61d42a458523b16dadb5560d186c6b6d7d75a1c6136a2ceda731450da43d7aa184c6954dafb5d65a6bad9d578ff5487038e26f52c8a64921da9542ae36b573331ca7c6b3ed94be4792447b7d9153973b455338b5c9ee7e2370e7468c3f3f7b1cee68bf726f167b5a949b1b3030bef1226f7b013f734f6d2585e1e6c5c51375563a6badb5d649a71537f8e6c5450c8624060e62b34a35434a29ebed42dbb66ddb3e84caed00210624950d4775e3430ae9c6d87eb9ccadcb7bd9c5d572f9b3c22297b7b82eb68054dc4edf6a095d54dcfe129ed66c4f85221537b959bfe812629aa9b83d873754dcbe0a7d5071bb2a34000954dcee85258445a40d0eadd9b603d00dd3167a7b7851c955bb9142964bbcaca8225e1004ba552a6a571187ebd1a64771ab668872eadc0c9178badddb3eb74f632a6e7a74ed1b6a82eed3e38dd4e3f7f923371b03377bc77bca8e9ede622ed6a5c772853e684df78e7b2b9c5fc5c04b8a33d80a65adc97af4be7d7f9f1ebd3de62d8b9cd39ecdd4ead0cd4969add65e19bea6c8524b91a51eb1f6ba22cb5f95c41ff56a67539793b24a29a994286c9c2ae366d360a48dbc56e6630fa4d61714d4422036e5486cdb6bd89bc0a3b8a758054a1bf9135e3eb66ed3fad4ae89b4d68e1e7d8184570df2fc119c2da5c4f345459eb716b4f665836cedcb4a9e7f41311ec149a2ebcec40d91428c489b7929e2d01e3476af517cac7190c79cf50d97ea686c73a71f110e44e1431443fbc8cd9412a8a89a5f384394e9eb87acbc50e21a64f3feda228fa2d8632b39c20f7ace6ad4236cd74b3dbed3477036f7fa1191bd80090f50f6114965a742bbe5c7adb69b29993caab1c082340809b5e606c1a93577c605d9fece44c933474e281023201bd1a68ba0bce8928dc7fcaa6788f23d09465e59e451364d800217003a814ed1b48f95530869735d7b9c4e6688f2389dd8fbd2c2c78802994eeaef113be4ce237209221d2801144e4dfb886cc2d6ba288c06c139b7c7be97db0c55564d4a79d0c56488b49120e0402056e5486c5f1f62cc5afba629efd5c4a8de0b8a4cf1959806badac9246bad9bbc116d0cd6bda0b875746d3985f8b8657425d039e7147709476eea9c13044c65049cef50ad8980c08ec1f691d89657bc3c8203ca25baee9da4389bde7b3dcc23c216feca7919cefb90b26a1aa8691e11e8a9b5d266846d7a973c82b3e793e079a7a055df8f9aa66952be4a595f50bc9cf2fcbcc2eafa296dbdb730f94b1bf9fb8a22cf7bb37dd1204f23bb3b4a29a5b5056a6b9592f6d0fd81fd58e99cdb67fad02da596b5894523863927a56818a1a1c308d6da7bd1908206d24b87ee7103230776d5b6874e522d8316b2a021290e72d21225348752a37dd303d534a1ae20c086344127a994d26a171413d42ca31b9a65349921b46b0e7d8fed966053a9544694ed5377fde5619342a8b4e188ac09ee0a343398d8cc5032230a2ccc783223caab4b3e3c83ea86556a876c7f60b150d0b2492dde12ae14930b152fde543ae3062f2eae161baa1b4c83eed5c42d8073c653dd144a68d3fbd0b1754821f694049b8e608fb0dd53dff393b73ccff74fdd3269036d991db3bbebd910dc9de6d9d0c67eb1a18b0d5d366cb161cb861ed8f0c6869e0d5336e46ca8d9f0dad0dab0da90bab4a4a61dc8bf96a8f59336f4de18447bb4633811da3485ed7d6260d920157bec794627a9d21850aa9565a93486d218522c19404a63388d51e592e1648f9e5422a306173489c444461219df964a6418e18d0c29b06a4b2532b498645cd9a037c948a35332bb2d95ae2cd9e0151eaeec90ba41e509b1f29272adf3f29348630ca1b4412ace39e79cf293d265862e6f53a7dd812c95c678dade964a57aaec31bba410797a17292405056e5d1963832dde0caf40b594ba579205f288c5b8b2e92ccac1100d6b3c80a1149436f31305435b52c9f3b68274ca2649e7d4ee9c734a4c279113154c432729906bf22312ee6894d2fa3337a5b7f43974927632890c83835483e0d4dfc8a808821cc74da4284e5796989254bdc09bd16684c31f8de338aa711c4e618ec3290d6b5da771dc84427f4c2515048deec709348d26b697627a2750d5f0c51c5e85792aa122c662cde216a9560be4bd6a1f2a7a7a0247a8582d095199a3df0bf352e22a25b6d6524a27b518e359adac371cebfd101a80d9419d565e2ea4acb3d24bad0b6a0d2265d5ab1fbbadb67fe9a4b6d53cab5d2fa7d8377b94517b94d2467a3085643d3979127a9d958a5218502c908ad2493785b2dd3289c9167bbe5b4da17cb74c6292832d6dc4b924cf5bfd723a29a5c196b4eb25946cebfc8c8c79d7a11c5236646b5f22c8e3ddf343d7eb6ed2f624cb3d5ea12b8431fef5f4151a455a29788d8d609c33085afb1b8cb5c478ccf75ea12b9477d2b6e4036228064a96b753e4beddcaaa2f9529549c77288d2cf3b11eeb392a97c90bab5015da35a52f157d99ee94f93be54dba52ea6f789dec7989f6fc5017c64d4ca47f51bd6536cab8887c2a763150b2157a92c76f3a420623d32543140825a2408c2890d79ef2f4d36a9894ea824c42bd4d38e9552f37bd0b834de4bb668b0ce6e5633e90bf65d2cd9e200b3a191b25d3c4523677adb5d65a6bd5aefd6858a91059a66459228f220954bc868130caac6154a487d9d2891430d9238e15b78ded593c94af3e68461ec54d8fecedf40628a16a9fb947b8b7c9a6804bc45514658dd563de4ec6ac697187b69d9757490c0af215d217888af6f6314564cd3ee6c3216b6060d952e98b2b3eb654fac2059b269d3e69c7386710fced168e3e940bc7249babfa45447b3d02341a8ef6a66a923d431fba53d476d67e9b86914045fbef491eedb6a3b8035bf81cbfa276adf4a8123b3deaa856ff3eeaa4de5d27dfbbaba665478bc775f0b9b37a5c873bebf6b9a8879ee9d099d363110f3dc3f1991d7a76e3fa5bf8d86f0e9d3b3de6d0e1ae7dd4e9ee5d27f5ef59c74abcce767c55cd75f055b77a2caad1331cdac37a2c12f5ecc66774e85978fd1bd3dea7474f8f3af8dabbd875b4dfa7705c47e7b8ce868b72e8d90d8d373d16e1d0b3f033bf7a2c8ae999fe353ddeb88ebeceb54537f42cd4f69a1e8b849e13feea22ad67ff4ca867d792c67e268cd997243134c689fd76ed1bf62e9fbf7bff0eb2e4612d6fbd85671e89cb5d77d948622ea12b7cd80a612118ba425798a9e879495a93aa80665a55b47e94d66a29cd92e3d9aaa996cdb46b5fd5537b3f3b8c5a5c3fe37e417afaa09933d36eb7e3fa59ca654f3fc3d7badfedb3d4eb835239ad95c5a79fdd6b2ceedb675d2bcfba77aaa054cef7e5cb8252392a55ea33ee2d1d34733a56bd663fbba7178ac9595d76eeb3eedb83523959af545ac66da7f8b37a7ba1989ccfd39d9629eef67eb61d5f36bbbf296d2f9b711ad31fb37afcd9768b83668e6cb669b2d9b5b34ae567acb915d1d91064af0bc5e4542db39705693975b63d9153b52c4895532ff4926379a6bd2b08c5e4d4cb6c3c2895632fff6bab96cdbebf5c282627c6d5caaa8ee5ad60ae975656752d2b16f8d2726555e7c26a71bdb8720b5badc525cbbcb85aaa0cebb8ed7ea6dd2b9279c11cbc0741f0b2194ebd60602e9ba52c96690ce5c0625e5caddc7de65d7559502ae7a557a0898a8aca898101b54c2826c78696cd527f71b5b2aae3b6fb99f77ad90cffc5d5caaa8eab9f79df2e9bd9bfb82e9bb9bc75d9ace5f9b219ebaacb66ab7797cdbe6f9f79e75e74cc4567977e8b76b5348ca5c1acc19586a9b4ebd3b1cf3cfd4ee794969cf6b0b6f4c70f7ad94cd31efd6135a63fe60f7af9d96b72523a4981ecc8272b76ac085159b2ece01d6f27efb876c01dd8ce8f88b013ab51515976d5e34c32e72c41a7ade41e24334040407b9e479e873b0f3ecf761eed3cf73cf63c4836a64d8f64849ea947d923f578ee3d9c1e61f83d588fe0f69e4d8f2eed3d9a1ef37dcfd5a3277be82b9594ea9f973d758c9bf38a4e522048340dc9bde741c27129249e8764b5ca485aad1624b5ba207979b181043ccf3c12f03c307aa78787e70007e099e7719da79e87751ed579ecbb13a13911b991d0f34caa61f4086a1b7a7c81b95cf4585d7a04592d7a6cb1f4e852653daebaffc48c5e4a8f9cb63f311b8f3f317bd3e3f6c4d66cd52c382d115d8c021979e64fcc61301074b972f63cfc13b3ab1e7f62b6bda53c347adc9ed855ffbc6c0ad4c164a4909fd34821534b98979516f3b23640dce272f132ab2585509d3d29a48767b57f5eb626a4c747dbf63c22ec1fd7be427a7ce8aee7a9fb07fcb4cbab34ed4a49213fde96427eecbe1ad4a4909fd62685fca4b615f243b7d5b04affa3daf547db5508d515884edaf7f8dc4dc338c5a92eef759eeaf29995bf725ddea5da2dd77db4dd729f97cdb3da362e0f7adbe53d3f76dbb88fdd2ff7716d1e11f6abc7a7b5c1f7f8a436cc7b7eb4fdba0fdd313d3d3e79cfbcc7076f99c3ee036e9eba697a7c54bbe7876e1a4da5cdbc8fb6e74c58a5cdbc4c080b5f21276de663422c6de661c24ddacc83a1266dbc4edaccbb84296933ef0a57a14adaccb7c24fdaccb3c22c6de673c89236f3abb0256de655e18b8bab45dac080d2c686b481499b97b48991999136f334a49136f3496666855a8201882d975e0002005b2eb98045dbf06b886bad3e76e35ba557d449b90f15b51fa1a2f60b50513b8c04f902474e087be6ae07daf5349449414bb62efa9660c0c1b6a15c72018b547294d2a7a2f6a0e788f48776fa17a77317c6688d2b3f81ed90c76f11a62463bd5d1aa0544ba5c9298c22f83388c77d8c6dd80eb2753694d11a7ab106e9b4bd1706fe2850710b5da00186ab7d53a3a0025496d5a3f0429e2340d990e824ed300522e964ba8196c21a9f59c06250e252d0344dd3a4e852c057d35ab8c1d65a882285299d6ad84205267a3832a228a7ba6009062cb625189476de720986285fdce0480600a9f52a604659eacd0fbacdc37b5eecdd50471cb56fb5035bfbdd3e1dbb77f0ad7656d5bdbc78ab9708a82ab0d6da69ed47e4d3793dad3a6b496d4d5227fdc0fc605ed624568702eda9bdd901f5e60756c70302daa30c08687fb01cb2dd14889c9bde1fba2badf6b59ece405b61049d36f1a6699aa66952bcd6c872db5bca0405309e68e20a1162e4904511429c0b34ec602f3ef647714a0495915a0a620204447c81a590e16ef7e280934286cf046098a10516407c4005a1177c52c82034844a4889a0d50a94580a12324ad98b77bbdbb559ec1043161684a852f40449c8061c66b0d65a80088b0e23d822888726722e112d44d91598acb159eb430cce98f283152b7c81d4c21675a9852e6c58632968044b413730d1d1c368c8236daa4134a7f9a44da65a0344458312aa41b6a36024748363c3d71aedf686e2cb04eb017c9bb33160e65cfbed02c98eec6533eddbb19e69dfee4f7f54202823a31bbe4cb8dacb047b2d3351ba81e06665b4e75757bdc748eadc694b7e4664f8b901da0339db6b8759af7a04dbc22ca7eda9badcbedcb2b6d63ffcee7bf775fa45cfe9f916951755e9f91bf6dc7f1d667dadad3bd52350d75b58775d7e46b6703e498eebdd0d7be88daccebdbec748eaaad7f39820ebee7d751364dff38db08c6c6fbd8812fc9677fc967ed9bf18b1c29775d1ae50d6f996f0a521a542b0d6f420999b87a7a7010d384f8f919709a9afbed2b2c7c8cb84d5f715d523dc5bd6b777accbcfc8f7edad30e9459f24072b49d1cf8811cf48d6af7a15d310ea85f855751129b2d6cc72924b310d3a49e5a5d8491a8ba5606d0c06d4dd7b2dc9ee342f632ec58209a5d4a428cdf7236225b0b55f0d6bb7d7be03dcebcd0f54f3831bf922b015324c871b79b36d6b76601560894860e7eafce5d9017dccec607640719002930176c39292a62ad5064b4aa2b01948c2f2431a388c61f4b4022a3817b0c0618816782e3851c3cb964b4a8e80ea644cbb29902183b5d6252525d875494ead354bae302759b5e592921bee964b4a9820b1d44294a5a02760310ca1dd9b5d39df79975c08a22e0905b1c21a784949d0f6b65c5a218d323a499548faa3ca4d4d4d9452bc51209a4444444424892810d0a440156f4933a989286902113535fdda4a2fa5ae4d17d7fa5fd323a8738a6660a89331180ab2b4f33295474ac3af343b363d6aa38ea7f31dffa652299a1de2797c6e322a6dd572ee9ff53c8f668798a393c9ac56cb2ad4ae7aa5f98d1d628ed827d302c2c4bcdedd35d33a4b6f3df2161373c4f48a7379b1f1fdf518dd0306c432d7c197d9f1f0db6f5cc371abe357bfe694c7a71e5b3d68ab057cfd3b8cdede065769765ce69cf8f038c76f7c8b1dc7357d1db77fcd290f0de3b172b9bcd8f8f7578f1818b0a5d57a6b8778991c0f6f7cd3c771edd7715ba3c19accb2b1e3c5c5b55aadc41c97893dfca67fe39a1e8b70dcead02efba956efde22b658393f47ec32fae1b5ffc62d0e9d2dfefd2a87eafb5e63fa32d7fef0f686f674b6dfa7eeed396dafe1c05a63ed32b734bf7adcecefabd545a19ed15ce6f57a4633532fd392a169d724cc51ef3cf33cabef3c9d37e7ea3b16ca573b160898eafb8e3502bf1dcb83abdbb14459dbb14fa838c71ddb33eed8212ad271c70a4145fa1ddbe4078b245bbff6d5a52d528b6e6996d649494949494935c922a59c3827ec04030289c9a93a71e2c44975a2a52e6771dd9e521c7e429222458a142994480a121212121225222222228222b2434850505050504c504c4c4c4c4c464c4646464646d868024d202354a850a1727373737373738331c6d80e5924242424243b6487ec901db243bb498851779e54b55ed7e9f1549ceff1a8387bea3d24d5e7754848aacfeb909a521cde9a9a521cde9a9a521cde9a9a9090549e1ec153a48a5487521ca6dfea9096ba9cbd1347bf39f5484a4a4a4aa24e362ad48993a6aad1a721b50b7beca7a7a7a7a7f924458a142952a694493489882611fd2442010a0a0a4a42dd516c12ab15af9db7421cb6df8701916b93ad7a00429d8c8d14891b8e74fbfc0e2085e87b77e6e52e226da644624bc9c97b89441ec09007609861587b0ed52075eba19ba708152a7bd3669036f549bbb4873c4e2ab0397fad0a6d25f3dc344921b2368d74e8f83b97ea0e3bca48e8b595cc5391767dd3de99ba22dd20ca92286b0c253559c28994274a444c3c4c31a240762a95ba53b7a8282c4679a44ee36c1aaa4375a80e4d2878667b271471c356908582d026f409ada941280f14085a4385a0623dec87cc618c73d3a629121d6aaa74a86a3a4464dc9ed873e2401ecbd52338af50b19e4752d16a9ee90515eb0f7022932a29419385b2e58d24dfe48ac861c91eeb100e42ec913ed5215813592ec9806549061eb6151a1ada726908a865cba519be6022d4b46960da72890671cb251a26ec05190a46c444924b43447bac43c7934249c19218e9138c057948ad54754fa5ad10d55a6aed43c0dcf7f4490ab9da1a491ba45c3f5a2128db0ad520b447117694afd656f2bd5c62d264a9d4200a60e284d648a226232728b446eed13e29800912ad91506a902a450a0ece10c699eacba64af51402a682acade4213c4822fb043bf19ae421d7124a7dc04d358c8a4be4eea3151ab23cd0103aef1d110dc1fbeebdde3ea1217caa7fafb74e6808aa956d424358e50fd11032eb390456ebacd75b211a424bcb7aea10fd515fcf0a6b13faa33e87d509fd51bf0aeb13faa35e155622fa8307faa3de0bab11fd51df851508faa31ea644be15b2425668ff735c629bec6a9fec6a79d8d589fc3d2fd02a8d4e5218ec3097b720f8d7e5714ccc672eefc9c89ce6f2f97f7879572c765d249e67be8805f1378a782049b2b5955c2424420e8e6b2b59ee2216781cc70d9d42a86527000101a940a3653e3e2cd1440e335aa60116aa3882891c590b22e4bcb4cc27851524712547b6c22aaa05117260b4ec45dfd3038b91794ce4a16547aacb8ebecb8eb8cb6442ff73605a76d4f219ece06547aecfbacf5c2e3bf20e6ad991ce4c7d5e76a4a3fadcaacb8ee68f74b46f9c1eb998b8f18ac7f7d76b6a9d5904635de703ffddd33433a1d7a97ea3fb70a8fea93eca1c761dd55b54393e1cddf52ce6b08f32fa68752fa49979c1c4f0d047dcf1f551fe767d94d27a7c49a5529cb6e70eca5c8bb98eeb2e5fb95a728afb781bbae8058232328791f98b2e82f9386a77d163514ccc5d7a2ce201be458f45a2ccf3f5d1d4203ca5471815e7eaffb9b7f4ebabc3cc80549c78b5d2e32a16fbea291d9e3b8d765171b2384e14cf3d6b1ce7382a4eee9ef561892670c8e171ee2b5dc3e938f751c7db71cfd33d3a1b0f00f7745107df3d3d16ddfc53e9b1c8837f5a7aa0673c0ebba7ed8d9e891df078a7f52c76d8471bf13d786871eed0b3d788fa08eb988e580e3d8bc111d3479b166ffc7a061ef6f0fa48d33d6862f44c461f5d8da35ff4344b0f6b1c9143b3f4b04652ce4bcf2e0b551cb1444e8c3eb2ba48e839307a665358411264e480fa2826890b65add1499f2c9762b8b2f3a64326600d40014cc205bc128ee42227b81c40457b1f2a5a4ab5111460130254b49751d16a2b9967ee9f797a1812592e3149da72490625db46ed79f724a184220ea040b85477bbb7ae7bd7c1543da90ea6d244a80852a97729b0874b8144e811bbfe4c570fe65c9c2642aff899cf72f76c3813a151fb677a3d77f3885411dcfbeee21eed6222f5881f2d9c610fbdcf774d8ff63e747b44ea15bbfef8d0ede99ffb853b53f3d0dc5458a376fd0681021975e6ef7c8f71d4d18ecf713f0facc76dd4f9ee531f7554e7ae75ddbbf3a819f1a6479dd596df7dd4713d75d5fdbeef3c6a74bcc727a7c3c2577dde471d977777e54d6f5f7d751e353a70bcc7676a46c7c53daf541f755eb07b77a169095b37b00d0bc7f4318fc75ef31cbf3a2e5ec3f11da737de639eba7c7e1c75522f364099ab0ed3a1d7fe8a8199b90e77d7ed5f34c3f1b83e7eec5b8e5f31d4b31bdf711abec7a71e5b6c688b0b26e6f9a3ce0b76d565e8efc10e6cdcbc78900a402700179aeb749fb78715d1e8d9354c007ac6e3334fd55c9fd3f1d8318ee7f876e3e26ff81da73d342cf7c82e6f7dd47939eba38e0defdf75c0ab0eb3790120a603981b97076f09c075bab7dceab128007ac643839d1e8b3cd0b39acfdce8998eeb73381e3bbef11cdfc28bbf3b34d8d2236b87a7471d56ebab8f3a2d57b9fe1de461a3c78b8d0b00aec33df5dcc17552cfd76351077a56a35d293d160140cf747cc646cf705c1fdf78ec01a29aa834cdb76435ed142a12000000005315000028140e8a85229140128781aabb0714800c7aa44c7054994ac324077214630c32c618420801800043008cd0d454016369b701371b3299a6dd3f7612666c4e27e0f3f65440038c5a7a8e62a765c5eea116db75103eed40aede258a1dd0bbdae1ccabbe42504df485eabc2dc8cffc1c8411dcbb7915c596c4e409cdeb09ce3f147199e2d1c4c6bf788beea9f08e2d183770df23a0792de37f1213be478c18527955664a7a5b68161029151424158cbee58fb2f6800a9b1f90003a12ae655700ba5cd34bbb2af23523c049884b3be951a7cb1ca0837c1c8d65077eea93f2132ca32a79574b5d578e56993e04e6bc61cd42e2a957713338a9925790bd13688607030e0056053e1786b9c45e9d4a078714b289d540d7e6eafe5498e359bac2f0f1f14ec285d11383fe26f312f0d16c6643c72d1387d199fbcd9121f56601db50d8f1271b720250f9bcfe93f10e855173ca70ab284095e3d8b102a11895afa27e012c60e26c046d300b6c9c47a06636be6b6a49dfab867d8861145a896c7f60939ca65e944156b3ea79d5d77a12d8ea66642173536623ef0ab26c4c38870ae63106d6c04a0234d0d317ca525d55724bb63c192bcb47ebb2a332df328280bc565b32a5f8a7702b3d29121aaa7a3a16b36fbdf744e73351560e68bc048e84bb6c035329066d9b063bc5b96dfbf2bb1a883b299c58a28e9fbb45178ed8c67325315c67e0aca7a02654f1a311cfb112f68fc63b8bfa48a7d0488556198aaaa19e0e2bbd8bebe45b83d616239cd2be1144226983dc2fa971e34101819ab0062050a4ec11da50b8e6cfe16fa90d8e53a8c1d3a2ef6ebf6e578b92b585bcb35108db0fb17d9306b4054f13308cf8620f8f21e0ecd981b29d9a10f23e7bd05408e0266d13073b85766a71461fd662b4552f28cf9509149858b8348568484d09cb55388852ab5c20cf292c76be684f504d58697bce3215f6e950ad9048a7508fab313d5c950c9fda6a867860423f4726c444c7c846499b9bd7b7090b6b85914560506bc28d191255dcd3cff8ccb608750a7b841e7258c904332d9baef2104f48a59eff4d5fb989654178705d23df6a6ac29bea1fe0301b1c329ce3c2824e21f886ae5ea9b0ab0d97c8d77a9044d20319e2d4c9fa5925053c151a83e85b58845b5dd8f743a122a3426c4b806b5fb694729e9986c251407829634f543b254b3741a4826a0f85db6969f0af721222720f8702c911fde2c5c677c56804294864c7ffdd4e3f19a619ae5adf53449bc2e566f11c3d5e639f45549b736f8e6b544a71c8995690d88655a915f5654ee5c408fec19b5787b0e802d864205dbb1f6694ac813034c74b4adad1a7b83018692f28f14ed6e3f9309bd336044afe6d3b561e7d84cd734722a050db0ac0049ed03f6a7954884fa5f869663d5458eb73b320bee5d3cc9c2406f5413402538e66f000a639448300e8bf666a08172466b88371f5d3ed41ac923a294817d565d53ee345d942357d2753d4a182385b6e3a92c6a696902f83e241db64f65433405e920144997b83aa68c573c43c168cee0b216b927260900bc50927cff8c44726657070f6420c81cd201880b0391dba376be238efe3d5b8d1cb4712b00f8768793276b5ab5db2071688fc03c27fcca8a802dc464ffa56ecbd5fddd733609abbad8978719f25dee8ed1a44b97d0f0da26257d5aa0c7616e520f3f00f33106fa0e2f837e486cdbf82c1926731837aaa1e9a98df3de318d2b57d05a37c98b958df0a0324bdcd6b1b492a609eaecadfd90e70bfab784ef42078bb0841997801074882d1ad02fb7d5cb34f36923ef8e4c9aa6e18a9c97ac30b18e023e46c32edee70002cadae77b585cee0052e5a5892ebeb202a00b7f00704886aa233a9a50ee823e7232842536fa21af1b8e0538a6f1fb9197c5e277658d027fbdb182208278e51790967cef0c99c1386ef2a18cf1cdd7821bc93e6221473aecde72721e9441d194396c3b3fb4151d72c28b45bb894da3f5edae4c56222564f2ed53275f12cb30192a6b81accb1eba2c56e18b320a9a519484648391d8468827b8d4e3c9a88dd1fc223fbc439715095586041b824da8a3c4c177bb6da53218e095cd2debe8f3cf6f558c36529bea8f2ecd95b098927ee8269dbaf38d552bd0e30e3869c9ed41063db52c7219d7b5e5bcdb8e5433118402155a27a6426477012d10cecc8067056bc04748946d9984d46e344cff13ad28076a6224a571946bd74f4993eb3a46d1f5a690577d9255dbdc60f7af51afa500291dbb609c12f07663acc7e6f39dbebc4f40e6daf01575760d792bff851ec0ec003879bea382ad44561f48378c3b4096c6697b34cb0671f16e5270d65d2b064d9a476a9734844a6519031e3908bce91b8313324a4013ca3e2b2f141a9045002f6d4bfb447e96fce3ce449030593f4c2729093019636b47ec872336d5ac06c1a5d1d455d0919a35f61b40a169751bc6b6bf247c3be700ea0c1e85681fd3eab591d95fdf64946ea5c66710534c85baa2e5181989b1092ef15b9dfd85ea3f35ec1d09f21d7e6e53b6759a8eef98b2a1e520e99b33c3edd5185008ac24a55052139d5702446dcbc9c847f2b57d936c20eba8a178a0d2d600332728518ed97d2972d7fb4cf77e937d7e117d8ed89138da05d718266442ce42206f1977b438e32150ca804d6e604b178d9d5871e946f4ef8bb3b9d40a3815861a3f643bd8edc40c203f86ab16070633139c324636c5d6e79f7d3060f49a4d7e5369594a1a4e2e0d0167f926f3fc8e485a3a7f3d3d3162017562ce1229c61835777a9ebf64433e2de8816bb19c2ba1b50a10aad6f670220ac2294ec44af922fcb8e7e0659ba17cd82e817925fdcb588ca5abe3c328fbc8eb8058861f1fb2141826e3cffd39a639a15dc7ae61e70a4e61e07c86cf899f0bead9238eb8da6b39f44cbb7818cc3fe9ea3887cfc9efcb672744e7063b6dd3e4260119b0f261f7dc6ec0a6e14a7ebe29b90471e288244e4401d8a8614d0192238bb2c4821beca44d458d399a9489246cd51a8b732942c5e651a0cbb4987b2d2de9ac2bc208db1e48540fb99f7708be77a83c4a0ec1a25fad223e55fec3c23673f8805d9f9dc83f661d23203112e505a51af0b99b0c7c83eb63410511b1ac81343e1f9c98bf01012128c11222654c55e3d5db635090809df977db9999df3816b9e79f724e266ff0cb3ef8cde49503a05299e81592a776e53b7a4dfd54edf924f984efbc8715758e03327e00b4203355b88d6138b5853402d84bc4668eb6d5edb787fef0fc30a40c116948cecc899e843d88533114a780c90b5ac9b85248c0973897c24006152ce6d0cc46ce870786fea9daddbc718a37e98c04b85d7c990cbfa0bb2c37df91223da4b47801d1ba4f1dd8adde1e2db3e86b8ae653b57765f5d367e7523972f0af3a1102a3ca31966f99aef73292a2b419088c3ac96cde8c38505927a53597ae3d9cf4c538753afafc438997a4a8bfde19dec5359139ff064ad3650d56cc3bea4028a086ac8b30e86d5ba15a6688502fa8f9c454dc695c9c65f2ff3f40b065b71cecd92083f2a076423b2423529aff70800db5fe4305b4bb32e979b83b9246b556d05ff8b38a2233056b848f7c2287d562bdf92a19abec1817926d864b4acddc546b139441c8eb42992c9644b57845a6ce44b82b837a0d43bcd9c512bb220cb7f841b4ba8e09aef50dd8e22a86b166737ac654ac018e3bc734d07e2aa12bc382aa53eefa78c23b5ecffe55d2f23c47b35527fe86a9ed2bf92eb2682b62989811d5b41c0f987670ecf45116437882788b6f3ecf9f941fc6f83478d232ac67d7edf8bfd338387406744490599fb851389d163bc534a3cae03aa8654c2c31ecebbfcfc94766f801fd3ce0577f2f3ef71232e726aced9df782acdd2e81cf94887ec8f6970d96b34c95cfaca2fea73a054de0fae0cd85c8e850e1164bdc53405312c65fcdfcf9af07ebeac7ac722daf6ffa792832f71f34a1d35ebf1b24638de75ad115f0453651795f1e7e4428a3428babe42f51597ac4865e5ca2b569795412f83b98f373f2db207b608ab24f2ba4a1226588b90bee0aa837f21f48d0b14a0883ee8d59eb2fbbbd8ace85dcf2f2e1d74b559e905ba118cd47c8f94525cd0df7fdbd7ef649e69e72ee61ade07e75a97c6e4098dbe7036ad26d703215a0d0f61b979e7ee0569c5cf0790529209ba57c6cd37a78417e4c385d411884152748f4ffed910e9a89eb76b01dedf50560dcc2e8db6b4e1231efa490856ff727d63446a1a57cb084dc469297a35f5830c4f88f75e2868d3506027955d7e164b9b5be06c2953acf0bb5f52c50fddc36f6ba9a9d28f244e3b485691e6ba550c21cb616a794a853c2bb43d1e9467b50022a825b65b31301259a2e8d8c57819082425c8ef70b3e602401ba1d71b4d1a1a2d872ac6302a2c6fdfb37a09853f45d27054c0ba504e18a4b262de9dda45d6c3e9b68217586b17c3832102ba2c9268182b45a838bfda3a4bcf8309368c008eb01802795fdc85f7e950039a57f59c0ef02e7874d8c6ba61ac33ecc76e1032b1a9e1fccf22775a21b234c5a160b2d98fe7bc224d3ec960e8901119b2f2edfeeacb764ac1482e3c5a15d884a347f209ad503eff961383392c2d801a9bcf4a270be1ad1163a4eb6c71dc518b31c22623343a57bf42773a1b583fb64f396a3d73692510eff00f1d02a23edf22ee145ba0ea0b67f55abbb7917c03def0e8448de304182e3d240bc565b2382596cac1411b5b1148250f38f2e13b344e0bf294680d22b31ec91cb52d378a10eea8f89fc6d6044a538560f31112df91c48d5b40f5bae7fd744f5be54c9e863dc3aeb5b8b9d0568384da67bf1db45f97ad8c9c83f82d714c7706ba7e0f1b5459270d8671b937448b6a6f4210e12896071f9d1db88db5aaacd9f65ac76aa8f97888b0a6272191442c1328bd1f76537f3f12737f949333208411e1a114de15975cfe64e181aa901c56a454961a18fb890ff20bf49d0240c89e987762c5a6477a2ee39f6c798ad34074109c14717fb279b684c39b19236c2f2f1b0be127618cdc5732b33933fbce11361e5f71cdbd9e3536e7709237d36cd71d9e3b81f0a239299458aeeefe681524f59983e892b1aadd70fcbf3398de152248b72583d8b4f3bbd0c247f866a67a7de05fe728b368a55eef303a474a9c0c907eb641d81a35f559bfc04e6d832b6474826166900b39969b02dbb0dfb5d543701aab09d9e5e7ceef2572a5e7f0012a4969c3c6322d5f910422b663bbc64c2d17b4c0fbe5f16f2048d2c71f161d4361c4a4e60c8d3abdc5e2bd57cf56934a992f31aa9581dec2d641567e8d7c265e448044e5a11b01f2768d81aaa44e3e78e0d0fbb18499ece88cf60645a3ac0c3b1ba324e70658513085ddd476f62c1584596c29cceeed113200527cef3588b840b9e2cdc5289a94c93261f617a9d61542d236cf867e6d2ab2567fab7ae74d723d70d38ed34a4f676e352409127c538000dfc0d14be0657fa3ee4032b9b9a1d11750997dd0af5906de011a35e2f6fb5de7fa7ab2ebdc580c73ccb220a95faf1a43c2f4033275447ba4baef86db40fb725bd28f098617785bcc78860ccb4f8f99ec81afdecfe2e0d88c10910916bb1de7b8ab376af947ad637833160ded855d062d2076ab8942af197e88f9ae8bb45c790c8b5c221b07d9876b028a31910f011780bdbcc137d3602580953482b603b6bb5ee862b5c979f553ad2176a3bf7ac957b93f0404fe34a2142e242b4e3ebb70ad5b8ca75f33226ff81ce417dc56d78a472d25b64c545377375d5600549ccf0e2b011fb9cdfab55680d25b8dad6824b8f647c65d64f9a5e7dbe842665ee153562fbd3e1e831e6453c2f518f5262f1f1f60fd55d4e43d8278111711de33e4836a97bafbcd65c5a6b8ad6005a25461c57fd51fbc24c33020f494088808636f60b5121ad21fe455219ea222b026667afd19213a0fad3cebfacc55e2075de19017725644b852c1689ef39acf4d81681961a5e69f6ade5261a91df10cbde2a610d982430da5570ed8745ef7b006123c5c3ebb051adf7080c8f288e8eeec7054dec17804742d5be5bac9564eefcdeaa5b3098fb8aab721dd4031a971dcd852ba0b9e01f0e9ab41d434120fcafc02321c526aeb993888846035e1223a542a8a0b526bf3c75ad9def8fb160ebfb77bbe5bc80964c7f2b3dac4a128c709c1c2d9253d2d36100b051c11b37aa85c3b62e3c05d5ab9b37d2fde0a1cd48bacc18eea1e3707332a0d96950b50a30e5a1bb8b52cd71bab5f0035d756a70be788ea190555ebe67b1f23f6bbe707432a79013314d52c1f981c940ddf4caafecb4746463f8a55b5e9bfbe109f14135eb0015b4c0b1fe921b971774838911e37fb8f6ab98a0f2ce59223001e19a99bb1e064f41803c8c72822c6da43c6b4b52a25f1178f5ff208c7c5698904cb3941a6442bcf5c899dfd150a48d344567b5f369488a5e81d457eab3a3083a6aadd2cbe808ddb40e8c8f2a1061ea2fd266b064678ea89878976db3e8f1d85e613f3f5a5f4a192edbdcb39afc79a3395698277a7c5bf2aace1e5639a867865c51eefdd2ea99bdfe384fd60f5ac171bef90ac4b65eb192a42bac9ab6d002bae96bf0394f801c633c6dbd81894ceffc99c157341f568371e62a81964d6ee0ccc79357a543b5857aa23643d030e6cac09362ee4a4c4d8c44ed05a91bb9184726d0f61314253c1f1e8db9175d7acb62df0bb6fac89326fc7a02039739828229f1511a32bfc28dea8f0aca6a737ee8657e60ea988d5b922f7e01697a1e08e44f2059929efd7ff4d1e52cc8c1783ea8776c7991e1e7576e956caaa587ef27148251d27c410e4f87c7405c38b2cc8342c9a90e52729304a7e4c556236a187898548af7acc7f5b355c88de0e056cd6fc3e8a6995d527eda9e01b49675586f38f7eb99901282a6bc40a2aa7833949767d998b826017ec3571b774098d95340466ae7cb29efa6ece34de5810a1f5d6b4568043304bda7b8dc90c3c78a72f7e7a2d28810aa6d5523a71bd15ed3f462ef2b4680b2e759c5d3a743a07ae5bf2ee4e2251a754edd58dd9154e575f41acd76233244c19b0d29396554e5a6a2c2326860b0b5731cec4fca4d2feb9f5a8cb2c18a5ea0f0c42add104b0e03abf813c2beedfacceaa973bc3150144b1b53fd27e55ce01756e23923f566b0ac210dc5d17d66a4e830b98de3c969777eafb5f8a34e863b88f6e66ce73273d993323533cbf3b7bafd11d3275de0784b32efb907e3e825f5adcc32f2bd4e238318e12b04ec4f78679047026cc6adb2c32b155f3591afe4df9e592c098e8bee40e816ea50cbed51823800db8fd9510279f509c9d1a4cd481bb886c317c18460b012063012361080d426e7a38fe6c23733590680cd97e11789143ec41f32b1cbffe0f9af414806f5d88f7ca42e966d2e9b4af8074bc7c24f86d3a637b1d4e4cc9ccfa1c590807fd4391dbc4f8a16fed9cbdea0428b1ac24f33f8c1b648f5d2d3bea1d059698bb45ff85070a2acdb6445be20550e59de68a77872c7282373e11102f38c2ede44cbcd8bfb9aafdefbe59ac9d20c00d84f2359aaadebdc0a30e7e71c35d9e74844931b175fff097a2fdc62875b0ae9c11a7d6425399268013d5709d9e2d3b5ba0ebd808015fb4a32f4b17d159183bf78ca194a3fc1ee765523cf1d38cc7466742b3119cf17aae952949b4137cd00d339a1d67ea58ad7224223ef28804f6ac1ed9f89ac70d4dd38a9ea08ccce3be35cd20aa365f7f30838a841ca7ce4dac1ff8428550b968d86a0c501fa39de8af32e4d265136ef8c34d5c3a166a51f2027746d0abd213f52400305a13825f6e6af69ad87e599c12ab4c4b4552db0562e48775ae2a4ac0618557a09730268c7856939c9dc9222aca9c72273b8dedd3bb5190ea92c5749848f1ac9f026dabab79239a5c609547c984936d076e06d09efbceca27c5fa97bb3236a8d05387d971528efb6618b10a20867668b89281a4fc627676ee3e6aeae84d111334b0fb74470f21e14ee8fde07c81bcf5416d054f39a58606b2a00169fc8aced5a634147954ecb94cfb26eed40bac510d0d24c32d74ffe5ce57d4b168731c10c149b010569a0f93a8a36ae2d313bc1c8b2dac93615ff10ede7dfa1f4a1c1a06f1a9d1671431c5636c07971761e82a00a4c6187deb741cbedbb0d443831da824869ee7b2bced3a8fb2e3d49530f25641e178a338b63849abbf82565c43424eaeb6e9adc834cdda9a32f91682b7d8dd8d01293b24298b42f3e6cb09ddbcd87ca21fdb9b75a7cdbdcef3414196ed70fcaacdbbf7760d380bb3bdb4da77e09c0b6e24f524afeec7b888dea0624cd0281df2016c4a260fdf1a262fabddd70b8ce0bf39b1c6e6678bf5c916e89f4c8802d51aaa09810b9a27bb573ca9ac35b5fdf0c0f8ce78e960258762d2c6393b66e79a8516f76dcfdd95795825ba7b043429f880105f60c4d993e28d32123ee78e6f462797bd4eb835567a1b4208d94339af6758598388c0bbb7f8d18d02f8d3dceeab63c897431764b3307f7b1e08478b76cfebc1cdf193c3fba4e5c1f4277b6800657f7e1a032578ff64e858d399ed0f216efc3a0f4b4664a36cae262a8763483814a46c4f2239ac4d8a70438cea6e5f6c465735f26e3699c5dc4056129cc406a12f3cc3b076575843f6b21dcde2392982e44ca49a8ac8cc6e6c8b0be823c45320c2c6454e6d2938059b45810e1e12244f43a685c9b32cb52748860cabc75d0f6ec566fd7e9d1fb91b1dc24d6c8e3c729d8648dbdda6f39fac031a41e38eae5b67f00ce406160088d9a0b9897e95bbab50d058c7ee6aabc2617a12453a13d297c245a148aa019e93eb7f2d933e5b548fde76dfad81627e17d217d818a8a10b3a952d74a5531dde3b8bf766edde7d8b19b993093605600ee9793d95c72a36fd8664f9061206fbe5b1dd97626a52698b9bf3acfbc12ffc871b8e8982d56513f7211e7cd0c67695570ffef9c8201281c5d4d889526d61c7335a57403249da90fc97061b75fc8a8acd413087c343bf1e9b98fbac2824f1358b4e4d587beab569aa5e175ba7b827c18ada7f7ee7ab10ceb618fa244ab9be8130aa66cffec165e6d855c08c0d95a9851c145199ccebb297a61ee64144d706e4265a3a52652efd18af856addaec7d377f2927211bb89cca89a621ad3512696c385b29d03d4f65272e8099933a9e46af28f757b98f493375a100f5fa5b3f0a4aa724268c7e4605d05f74ded29d3f5047b46580430ba53f8cad260eefbe7ac9430c64c68777c551833380c0730b508f5e5174ced4cf1416bc635ab8edf9da2ee44687051a8c911a4d09cf22fc878959290af77b47316d32ca15fede5182b1f616655a316e6e32f4affba680e4b94fdf34200c5fe81baff2459648b6298056f1dc4a0757f6e3c0d559961419799ab1b7d037f3814d0d58b5519cd7b40cacbb75426f66af055fff5b794f045472c799d9958148313e79897ba0012d53b3fbb922eaf90b174060cdfa87ab514f917666ee376084681595025c5f8180f2a65e1d510f96878351c407c68cefe26abaf5562bb06012746f06861cb3ca6b59fae502d3bbe4799f5820d6192982d73bdd2695a3ccad31900bba565172c03ba137b72ad5ee31833ca5d436004a5efe58eec0b60577f910ff29e296d801a413ce24c2dbca154c672cbdaf79b1c0df342c7217ed09614a4bcc1fdf5ec1b55b7d8347942621c2e956c1b3426fb017538677e1c10e244cdd6bf2de2af722dbc7458d61497583be2a6c37a37b758b55b7ccca3388248bf40478ef916bc1a46e86a43be0f1cea85c02066b2a3bec54bb2f8c472a3abfc9e75a2d144d129375bc44d4881cdb66b5d536122af08edc6a54617203daa08f213ef4754a7727cef19b533c8f788bb02c89889f5630f16ddf048c841864cfe22dbb5bece6781c0d0a8c94338b60d03d20b7df30da5e57b6d0f978f0a0489847b7f080f7789b70e0f959ba7e4f2a1a53d27ad6f10028ece3efcc31c53b11271bb3e5e797901523d131119b072e95833baea51e289ee60b06c6afc23b4f6e2d85d04fa3c113b4eba8b8391c5d8b3e4784415ce0529049dd9369334ab2fcb4273676611d84e88fa19a2b8a421a513a85dee0c7707380981a1bdf7130f6c4a2390ba2e3d0392ecfd58aec34081e65c4c76f0f1e8105dcd7df7f9cd560d7e3e077e515d22f2ce7b9274ba7d6728ecb626e4f12802f43e289ac7819f718ccb84dba196cea38c5020f9b678a0371810ad6fef64f348a7405cf5c5a71bc0fc46b951e6d91b6d92914f7a88135c14f98169d867d9804f716a817de9351d64765bdd6e48042e9e211f5f31f64144834e726a5b2c79aa5ec83a01450b2bdbb2793cd95dae52883da63a90ac08fc2456aa7707816896ab63a16ae132f181bd15d0f595b20a8acd04988998137327ed1437c9730498fc703aae8165a4e0d37b42087cb587e2a24f6927d16508bc95e0ec7127544f0360501bc9f05a06c21ff87dabc25e60318fc7d8493c8fb45a0af59ed82996c7f5af53d24852a7a39b301449f822f8c295e716992293af1eb66fe094535a3be448360cbea94141c975de7c339aa92188195afa4159536c135db43d48fd7a7b6a4495b8273ee52bb89965caa326b2714d7c97d1d0cfb771ec35ade0b31a60c490a2031e5651e44dcdc1c600ad8d5876eacd0c7a81d9618eafb70051da92e00beb6afd2a4ce1e8620c462f488e8e35bf1429bba386d7765f20f025457b9dfe66c0cd42e2037abf0def1292f195b7155ccb786253580c27bc916822e0983fb64d611c9646d9a216cef1c8cd953b1d41ea5ad11182b9f75153834cc7fb7ac0170b843674004264ac9a12d7f8205560b05bf58e315f288b3323bc6fff5ade3f318f8489bc988b601dec42fdb02a5898007ffe12118d3518657ffdbfb88c046090b97d021f04a04303460c46413fef867938602af67e5c8d669d298a1d9dcb883884f493bf80cfdbb5f9d78ac6b0dcce25c5393fe55740b9f511cd1bd1b04ab5d7e848c62a361ff6457e05600efbbe915b71a4209702ea02e22821cf88f0d91130408c092998ebd56f7bc683348581022cb011efb651d3f835469dfdbc75af65733f773e63944e64a0e0f42b335f79f5835116752ed68f9de473d31d070688407500f9cd135427d3036e8935c579820400cb613dc9e3963b4c9d119f201fc981dedaa3e82962cbba889c9a83446f4e066291c45cd00aee36051ca9e31982b035551f18178ff5aa9a2fcdc299a8daf888dc65ade840f5bb480c5c605e64577e256a24e988fa56d3bcdb7cd569d7cf0f885c2661313b1889a7fb19879721e1117aefa613b382e5d64fb449062026ac4594221380abb1e7ea01f9236b72db1026ce214394db68329e687ff10f2059126fdfd867d0496f442b5fdf6781dd18fe461f159dce0a8882fd969cc518f2e92c983002983f356a71f4252413da37fb2ad9e792e6c8f7b6afd5133a1e398001b109406d4371b4c0223237bb646873332233a2b99f8dd839fd841e122e561c8bc7cc88ba9c0d0108b3c4203f5f2856f09c24cb5a72f785760aaa7cc620c4b1afe749e6a7847767535965309eca97f222b5549aa8dae583de709bb20a2d6a7fe540bb371ee9460f7ca871fedd731c752f10f8559321adb8872876963336305237e48b10b5199ba6e814f3872070dcbb373e13962d9303cc25675d6fe8439dfab7e1b08617ca226e0a72890b167a3bed57b55a58320158a51f263288919c5fa255af605812a8cec95c9be715ab02b5108220c3fb627e4b38c237b0352843e17c2b652f85e1622dac75c3e83043b40309c420bb0a6143242ad28f2f8f0bbf34027af7aac7ac23b49b6046680680cac6811d2b56aad04f3ce0da9273360faadaddd479b86341f33948561fca464efa5888f798632c5d96fee5eed4db93d3da75878c29033af0c3bb1b03f1d6a380cc229fec58f602ab031535badfbd8d3ed9e6209bb155c585566961969fd2dd3e5d12a54b8d0d34a82894b1204a2fff3d69dc76cf5330c3a35770f033d0e17651d66248dcab49841eab49e236a4795b7d8ae5dde3598e8063ceff32edfa801500fdbf779e51a6abdb25014b60f8945f06e9667204b37b51746cfb3dade84347e1b688c2a5a83b7ac478fbf0fa90c07048aef70ea10e08a258d67756b208014279afd51a6e9896a4c775a7cfcabf8772f2d8d8c6a0911b5cec6f36a799ddeec1c71618ebd2d42b72ad461dfe47c0109181f11d8921823cfed8ccfbc6cc2d224b3e921e490f8b4a49944c914a84e3f71285f0035e0944d80c892cb0509f7e1e0dfe568789e7b2e0778b0157b28c94a2d1bc206ff20f13bd69b1cd730f197649faf00f7ae242ba179d13a6815eed8b2ae84a23cee4c42a1d7336a3cc335d4a3466c7b42009a6e46cf0b60661ee48b663e1a40a2ceb9f6307ede6d402606d2d79ccf273a52f2594a7456440a20f1218d994134ad08272c655d2097908126c23c4f848b1160d9e7726d4a5f71fb370f224689872093f29f4bdff08a865a66eba8e05baaa091c71d20479b1d0d23e0b621cd5680f2ebf919780d0cf3e3518f6525a71b45c31bb3fdb18956d886c2b2455d648b6eb3a575c3cfa1e80413ae9a827217dca907ed5812b68087309d31051421e16515c85b11bc25cf42448491a3b5f87441202915e2bd753356584d4241fecff70ccbc60d5ac71fb9dbd06a50c9e919b1c148198b6a987af4455da5faa3ebe5ce5ef3f8bcec159e7ea7c424671d687782fcad562fa6f42e3f97cd7e14e46e485b8360d12d729c5e6c212d1ebacc8de829a8d69121034a0b5880d07f62c36c94ce10520f6a649f56a99e39a5761fe9587bf46805b980d0659f285d723190df95762bf88b21859b7ecfa78e4d50a985db850f51a4ed7777f2e85593a635069703fccfe48c7b3c113400737a97394fcde456634459f367cdf2f85623d6536342f892973fa4a72591b2d7f4baa3396d87165b6f1585290d6ae5a4300cb4a55f5308549d4cb57225cdeb472cd83f639fecab9a017757ede8626829294b47b13b00de90171269636410c62b2d647aefa59249f76c12bbddf4bacacced23b0a385023f0b1efb1a174f1e196dd0d54271bd96260a2ed9cb0d1ae5a2131bc0bfcc305c8a31128cd3c6169695353a880bce3ca3e7d7b5647105bca53fa966a5e94ce60bd37698051709a2bea389a8761a964fe082e44757510aa9eacdcaba532a90008ecfff6b0ef34ecb40bac6f3e0dadba211a0122c9e2b6e0e02d9a889cd79df30c338149a702666fd1816a099a2e053bc431a3f3ee2ae7e2ef4d213bd9dbab4065b0b336a89c2f4bbefb6a8a2f3e73634c885bbe35d546bea4618ae349a48eca6f784573372e63105b21de43085a4ddc947b7c29584a739ba15ed039878fa836101211ecf85ead9dd464855ffd6d8362fcdc62eea9fa7e54d919c6d9b78aa2ca8fe8d2541f9b583062fbf12013878a9064f702012e9e643d25881bf041d14f7e187de483d1073e08d0fff9005dc6bc1fab23a35064e53763ddd867ec870170d2dda99ae63a0318db5a1476f592322d2ef7c1e661f6f5928a5632a998017846f68c5e722b2131b0421fe4572767ba6e57d68acf7dbb0a6d724dc894aa312a3863bffff8df53a11da29e4a66e257ad90d02a485b3af804d9a0e701e8dfff235c8852ec7d99502e4cc4a4118432be0da0788001969583c436643a76f222c92595ce118c38973b9d619057236973093647ffd37c72863132b0743d02fd4fe1514cb503e9977b498ff2a84f052c94418e5401bd137740f1362291fcff8fc46f15f426a9cf5030553e828006c5f8b63ade36d5bf71cbbb62abb14970f3849cf56350e9481bfbe4892e2370d9d61f905d70a55826a1234fe22533c0eb5e0b41e93c648a42c65d6582a7d8672e3fd4a20032055a2200cdeacaff8b85812e8613d7e2449c9b24285571f37981ef0e03831f33caad8988b321c768fd758ebeccb6f9a79df6b06169992d428c770c0cc577a1812c690d4d2b8e1b187bca4da8b2459bb3b23d49fca7163170eb0d9bc9585f24f535dfb2f82796c167828f2efa092767ad3cdc5e4da560eaf9dc2366fa897e0dcca8b14a772fcfe23af0f459abd3f30a5231303e9dd417d08273a0381004ee60235ec5384f880fed5ba26c4c8028511e5eada842a81e9919c15c7c97da6afe7f6918f6927c6dbcad284d3e92fbbb1dee62c1f03f39959a5413d63c85b43531a4e2a872443fc1aa5668ecc4adf35fe1476bf89201818d3ba20556ac0fdc858ae48688fe04fad03dc8c45c7f88c6e5021fb8ca8c34155350c56b2534ce18f3ef03ab7212a4d30c9dfa116af605080735626e639727bd5b5db6e40a2f1ea0b190bbde573a85d0ed2a73de3c1d5b620e650f6a6c14f6ea99449497204fd594a11afb060dbc53e54837364e591f3b1b69d006ba82c7c0f4e3bb86589d9f393b4d60aae4bdfb34bb72490052ad4311e5376bbef2563e0f2159125813a490deb973fe2b95409491411c795b876667d7732cc018239e7fd79cb506d32c1e0922312b385ef8614c12b7b09c42cd88bcde57dad9fb2b3f194cb3ce606101114fb84cac7eaf990ce8f4c77d9fe4293443c70fc3cf5722a1c3bd956555b97e0ce63255b01defca4590563a94fa7dd2fb33043fbd4149bf17bd3a0630ef132f359229e4a944a1399c3c58914751422ce6d8e4b482e2f44922e3c059c9b11ea3c2b0864fd139ea6ee998b16f45a6e8108f6ab48bb411d353499ff44b98f982472528303c888811293dcb2079296687293daac73b203786024653aaa113f06c7ed6e9f39e68c7041ee23a540bf724b69acfa92bae440b3bb219a228a9a1b87380dbd3010e32bb39927a6ccf606f9d045da5096ebfd98696b07a0d5e85e3c0174b5e4db95197918cabe26759616d90f1c2a990beb8fee56e76740e5b6cc4eefe4873ce5b4b4e42adca9d6637bd96a828f9379032d57e8f43b6e2a7a28946f3e0cbc439b1cefaea47358792f5d4160c36623442a232b21b0973db508bb449bc8fa15e848981d738ccbf5b35306fea611a92280526e931982132c378be857bb86c51922e00151229e8e787945a78ea1c277f2087404730a78e2a69de7be4c349b9f2812b03fd1144e09d7e3582f2199a1fe420502207f2b4ca4ab4d3c4155ce27602200a41489e161347a25d41d371b74fdfd4e301b230019cccd160b906cb3700f9a70232a84d1b750ecda2ae931bd582220ce428b159b8aecd724298f06a20057b035e8b862c7457da9bed1020524a0115dafbe8ea9dd9776295f2a9d0133c8bcd9e3cdd585f2e87e37cfaba37d11920de2223a9b0a0effa65592283877e52d99dc10c8e6948ab7267a8db6fa47c2063118a84d14ec782aa1dcfb0708bb2d803d47b508b729bfe14e1efb1b1de6ed83f0700baeca865f9f7e240b6966dbf8ba919641e92ebe6bcb07c6fa1ca498f658d5a06390d2740d549afcfde897c538c6218675f9423fcedf051ac8e43cbb0e50df6bbb6ec26329babc2db30d47ce6eed007a28d5f0b11ac8517384f0695ce1749408d783b1495518052c1487c438fff5e150a769d296ff039085649a0289e45572524833f20b48e8b1b774d04fec254b20b702a29ab861359022482267dff4a816654e289bf5aca142ef721ef09a2f652d5e1b0aaeebbe756c766e66caf81e66953563ec821ee760f724348b20c26b30c3a8f0899f1c7d272945acd0fc843f14d4f31c8bfa6e4cbf800370cc1fce43fa301471ac30ea60d6a5982ad01326afd5abde198f1ece911d60dc625ce2c9100264d5dfd00b307ba09d95931bcce00a330fca6f2db4e9fbbb6c966a43792b8904f8b22213190ac52e48b4024db7852354baca9678533946310c097b7d9ab100307dab7061526e930c10da5ac116fd8ecb39b6c278619d5eafde316ad244882815ab6eacba27f95e0609fe10e147aefda408008d10b91e57f7f45884dcdfa542d0e0bf05a1e7cc0da1876e911b3dab0fbac12d900216f10620b56ba0a8025d419bde66fc48c7b6840c899f28cfc4d739806c5d1f465f54f5bb292b36b8935afc8f4ac0249767e1135e119e8f11ec424bb0f0b7e1770febcbc2b96ea77c4c51ee26aa656364a17a6f91c84acc28ce24cd1706aed36004e37b855f809800f73696d41b2db8dbf6d59e924b4329b9ec4f38494920aa16f16c9014b3e910b58b61cb03b86cdb2bbcdde051551aaebffde92eb881e0579a4b6eb9428335cbd6e730dfca435075cdc800b5488e2a8d67b930e569e9452e7ab85b78d711e44d297d9c4f1843d2b16be54e269963d3010dad1bcf4d8531a1fdf392196b700be7efbdeb5fcf28a9b6a53394219e07608003d99751f8e4417373c3af8c5046cac5bc1bf921812fbcfcde097358580eaa508f50bdc6b8472c9badec2f74046b7129a7779d4efc3392922e521228f8dc8e40029eac8e2889a9b5aa724b40620de3683f014fcc9fdf723da2366525988db60f63c3ad35d24e8f405500062b1212388ac43d4c3d051f088427ee599d73a68a0180ab59b64df9522cf92dcb304fa70b7eebc91601a0399872702cc01a372d8d8d75fcfc2d185640c97c0b5607fcabe65ca2dd6f819f4bdaa54f8d16fc6a3d3620a483b4ea0283522d23fb93c5c987cff3c78e081f2092e838e778a9d543d06cae60e312818e62936e07bf1c0643056be541bd64cf0ce201294ae4334367b0da013868b20c64a3474453a7a3bfd2e46c4121d584780b8964127ce1d5fa5eb90e1a2c45ac9dd639ffbf353d38df4c8e7372253c44055523beb300ec748c0df86d3f601dc53020d0ea48335f3c690d8a324051f1c8c281d89132366c40b545e0b711fd477e14d117a12f43cb3aa0e247895652b81850c6a1c8e4687ce8f9757ac13a947be32b651a200f6de488789dd80d1916e7e82a82ec045262c60b0e5d7c7a5b43354df8a4e1cd2a844ca1f8b81db9b09eceff68a5e17043c6d608379908dbfda371184550980f2c79ea0ea3051fff22996164af2af6d1b85865063f491cfdc6ea827a870a8cff54fc4872b365b4459785d1edf6abb0838dd508f3408b7b8f9b23fac932d2d83cf33903b9a104ab4f33236ca6087e948b52801fc80913632ab413a668909257c34bcb6ecd9c3c385b2ddd0d853faafc00ae8730210fb801c936b29d8223210fb6aa1dbb3cf40932a4bbd464771ee09d6e0d52fb5c06292f523a59db1b00be1881f11a13474ac67e029272fa5f9678ef8d3e18d6127c7abf826406a3727a149a4b6adecafaf4875c95945f738f019aafebdbab720766880a7a9eb4c21241018b09d7d8b521484294debc0a751cb1fa1f3a12483f024f382ab6675b1c5e6daae0c46e831c1f63e1671e85a230c98f4e6b2a1a5638c58e658cde731d798b678cc9a9e6fc466edeae97d5de5c324b97139a8779e75b832a73b88ee19399f0b4414ca585f9f4344a7360591f136876e158b9958fb1f34df4792ab43bbd47059f9be00ed923ba87cd5a993a9569ffc83a0f2b8c030e10d215d9ca1eef3dde2e8a599fee678fccf6085591210195e06b9f33532aa07786714fa9f1d1aa287e08690470ba368c88919b695e9be5b18140b7de2ddcda8d32acb9a7e52db4a8e47a3fd109bf52450f975ec6d76479c082987943135429c4aae47a8389ce8c430f5c29824aef824c6512f42b722820c47a10798b7b12d3a406040b95024295052883ccf96fb817bf5e8250991e3f0c183d58beaceb0d99f51c13d9453d9fa3edb0914cfdc1113eabcc3039643c03f3e6b2ddcfc058b0ce14838e85175af566d9d27221a034cd14eec4b7086c8ff1edaa7ca1c3dddb98af0ef5182e82ad0bc9843f391607bf7de8d557e64b1afcaebb8e13612aa4fc84d6cecc7c66820afe00700cb483b05b26a7adb2a69eccefb54cc96f259073134e72645e53d39506d3809adb8da565b3fa88f22c74dc1832a6b468dfe4814f52e032905a3e8cb5d05bb1361de446d025bd58a5a4b89ed4b17916f619a66e2dd5a4afd851a9daf145b1463e35a50d750a58fd5568eee895ed38bf9477541b546016822c94a8a186be4113c1fe59a083d33b536a4cf63d70162837a709dae88a27e603b8f7f65c5c10ac72cfb56dfd7a84a2e63466d702bb816ab777021c352b13a51c53029a779ac20f523f5a5bab2fdac2e9b33833ef89e2c3025970d9ce821d4a4b011fd39ff630ad609fae4dcd95ab2d62f377de70225a6341a36bafa81340ec9675ed79ae979b6028b048edec9575617cdd69ab98c98e0cc55778b5ef23a574242ba8ad7467346190a74aab84c20259078924cb3b57569c9411e03917529747529e9fceca3deadae5a555cbbe896910fe2581ea469d0b457a0f59db763cf9442026cf4a4587af0e59cf88f3b268dbe8ec6ec0491044c7e992d8151010517837145803228f8749d80916086090249e94b030cbf0cd33a8fb63684cf91e00df7251171c1d64a38929769330bb854d61a10688ccea3bbcd7749cb3679a9dea8e189a65444054d45afc87145d118fb9f294e859279be644669362981bed43f0ed8b34879da2700c35004318a8310ae5d1a1f140d20319622871a3a12bdba5749117f087fb517d98730a8d53490999648bc95b49316fc5f0089688b364daa808b85d406832dff366a1236c13415ff58210fd0748b8e03da7e6cd9417eda12c3640f1850141b84660b37032b234d3cb937f9db95f5912b0f5f6be97f83da24b196ccaefc8f034f6e5122c47c31e1a7b9eff80177043d1fb8cfb60071415f21875bc9565c4039f5a58ca28fac765380c2ffbf9105dcbb8c41ccc8bf56d0e12066ce5e1a57d3a16dde401eef5aae65f9a005a0565fad42b29c5fdf7a91053c74dbf97c5f223aa782a3d3d7827d436c14a288b2e58358fdc65980419d476bf15b34b27b6016bc47999ab25a02b2481eeec9ca9be1a658a96a464e5ad16eb41b93ca1fcd2d35f43ab1d1b082a814b2e68374cdf4c692b955093c03a18a4016cb9bed588050d026ddd525a5dbc472d99c9b8c8e14e3224de1155c60a257d857079a30891684660d5545ab2478d4dc825c6d7e6957d72e9f62fd436760eca94c1edf00f14282e8926a60d9f8624bb6d9239cadc4f7a0d8ff8f40e4d53f2e67eaf1e14c90597948a347417225a74f7bea69b8e2fb15003e434b29f11921d6054c45b33cc50fb02b53f96c3b5f999cd76ad7f3211a4d1a5fcd3884ed7bc8f1f36fb535b7164b75a3ba78cd72ff921c4de98578713dd5a0ee78fde158793ad58754bc3a5b50a117648648200f43f77d1244149b174e02666dbb5e2b1889484e26df1cdca9fccd15da3b58355273ac32f4b96e64e1a476bff1d4eae77b5c9048c248650c4b4d7bd086148261c5000359acfa0d4f31bda6c7aefcfc5148344f9b012b989fce8e39f7d520568bb6faeb94040c216c6a38c4670da77644258b2ee5c04b8b5d85f5c3b65051bb99d5be13e738417453afec533397df017bfeae9dfeacdc86b2e531b20cb422aa320aaaf892aa2b302ba00bfa44795a60d5777bd3a3060dc2ecbe11475a93656e02ec2bb43dc32e6e2f12a80e6c0c5d352443291b3adc34ac74421a98f3f30083370d5c13ff2d05b47e4c03d042b3ffeb39b4dc7bef0d8712af2572045982419d3b259838e0bbb24308ad4d233a2a9bfbd1154c02168b2b59818ad05014c9106ee33fe9bf01de4b5c7108e28a97bb1ee42b7c030ba02bb9078a0db343a1d7ec067f0fc1af0e42a5290db61532d27914850faada4621f4ee6a6155e8dca831c8412cbdf20d90e2daeb916b95cdae3e21cca4edf1ef26ff51df4a1dcdedae44425f55c14e56c84c69b5cf2c424cd7c8ecf3d331e67330df59125c8dcdbead2b9381f5014f69c6368d22dfa45cf9d91c274a6f307f3dfb4bac393190a243fe44c2d45074d50fb2f20e73f85dc2992854fdba28055bfa0f525802a8adeb1a346cde3d4d05e362e54f44ca6467fcdc134f3c2e58f9495f0df53372c95f358d6c2d1577701b4732bd2d2b10813fe4c8fcd77b451f3347078419296745a5a34a1d9f38bffaada34a42fb9835187504b202cd66d2b2644af92764160436aae7ea8634f5d3c67ef080bc4301b288a0935e92eba400d5a87f4a4626f8b18634bba0ae4a67479065d2e950463db2268ac28e24cf09d52c7f465c130bf2cd718427fe0e075e38ea38047963a94e6fec078f18a4e380f20c3eba1313ffa4f25fca925f61a61225dcaf672a930873783e3076efc1b9e0bd1b8eacb2413957b7d1547519ab31804bb0a1e73430c5e34d4c12744badacbb91388d1854af3fbb6efd9c10464e5da0ef6494ee6208c948861da09ed560a19c0f29e586a6a2a5db30a5795daae043bfb3609aec9ac8e23125e3af4f09734d8a4ecd3b222709cf694b48d31485e8472b27f9064418d1d9127d59e794f35108c1161f55e11f824886a4d69f33fd1f5b8e5fb7aadeab716ed87428c2477f47fdc0a6cd26492e39175bcf36688cf91c9ab8506b55e44458d037ee09462a026baeeb6b47786259171e85ee71fa81efc8b07a5fb64efb93767d8e2cae82c8bf74d4f49d2895eaa7d7869d1d8ba6ad8e414f384016ad6bab019498fbb1e978d8a41f6d69fae03c5726dfb18e65e12258773102acb2980dcef444af976e95988625663e25f1ba918a9f573d499abe5fac7332b93270c9bbc9f9f5665237a286c87545cb38790c4542e2520332335f03c76555993b213285fc9904f2ce48f4c239b6107d89c06e2f8d91b080c4e5a0cf87a457b09e61846413c5bd51c79e2d9f061239f9fba653895f5ae09840ad6c2a52f4d7170b1bcbcd6f733b9fa5bda59e20e31ee22b0a02fa9529dc96ce9e873c4a22872f58649060bc77ddb09c37da1cf6ff005b56a6cd05a1e0ac3d8da1ac8d07b04444ffb09840c9dc88b43547fff18020ddec4138577ed746a5ee49a74e7184e7e48cb8f1c2d038804632487263d9e726f08c452539eeda39b2e6e639a3d04438252eb61c35dc0f47a1d636c75b0829f26430ec73987540b68674e81273ebd965c252f95c8af5326b799a8e71ad70c4f7629ddc41f294554e1f52c420e367fba00388610e4ce206d1aad5706e771dda31c2c1d637732ad3f8910b75b0700ff2971cf57fb82d971d1d61af75ffcdc2b2751a839c1ec3c8d08ecd94898c89d62fc4e02f1da4a18973b9c7a3900c955bffac25dca2584a8c90dee3b1e7fce895d1a9de38f81ac24ac3ea54ffd49be50784aad1d9d01df84c338659f5d83f3b1518685e527a463bffbc0b938519d1551f76c6403f903402ded1ac601d0f5962045128aa19cc4319bf9cfec94e1c3da086cf3b10b4c1dddb906338c00e133464964ab1708a3de0021555de26929cd46d8dcc13ee4d3207ae834343a16c89009153093a5d5aa2007f89128e68576fc0fa6dc0fb7eabab45a3c2516d20f5ca2b80ca6964c7b1897e4bd99acc2de57002916cce669ca734a28cf9dc288be5a6fe1c3cce0e5ab470158786f8225068930e39bc1c4a5fbb92d847c857cf05cf68f35234155f99c3805b59e35bf8dc4cbf9c97ebbd579979477c17caeaa8a2ec48ad6f31abfee68b18300a912d6a6b29cb6c8f63df2ed939bdd43022ee619c324ec13ada7df8a4716850d4de6491b5b24438d4ea73c93ac27327a71b411053cf5cd95cdc6bae5222e48c7b9dc2e2acad7af82f1a4dda62e09b74df98ef29417680ca287031ef3e285d0ca406b8a264d69dcf5a766dd2389232a2566e36e6c8aa73c57840a03bfa0a4b0a5007bc20aaad9a2fbad1c70517054b77bbf02656d515ad5762713b7354c6aba8e51aad23ed1ae262a68355e0f22ef0661dc562bc1280e815154610f127e828acbf2492838283e7627bc010381c7aa23d6e7c34c002309757e997616fc497f8d8f234f66778c63427eeacb2dcce391f3b021577847038eaba254daf9e2d01bfd40a75239ed71460db16948fc7d035134bb59cf6c47e746a5c5f39e159f16b84ebb6ec6d0a4388e9f4608a5b82fd232b36f7201d0ca38e58187dfc7e1ee63968cb71b99a83106b6917a60d0d26a14d0e616e6530ff6ffa13dfbf90bb236ca0cf588c812624b03cd4ff0d6b031036772312d294693e77e9831c760d1e890b774542edc70e60947b42212eb0eaab568ece86630f6535000d4d502132c01521183521e942c5661ef61d30342e0912f8349be9d93318db82d4145e6a498203fe87e4af0603ae386d68d6d5e62011ac800fec88012de4e40fdda3cf66bd0110c2187113d1e5da2bb09354b5f5643ef6fc58ea7fd920f9ffe255b09fc5415b051f45a29cf9ed79d2badb01179107423a2d8eb1c2f96869afb729408dc09c53274ef168957a746085eeea488401608c680a3244f6e871b165428e78fe1033a6b3ea0e05fd900fc71e1fe5a9b80e36f39168c085170f16625e67a8871c99a3811bf004a8e7cf7471ea03554f43d265630a858fee4c648cba10cbfc77b9d20ad2ea17660cb83902a2eccb22b57ae516564383ab10fce936094c21e3f5dfe421c0909e39f8009bff3cce82f8c5a1549b4b013adbcd3ab21858648067c0d2352d2c10d5e2e04c695a44404ff3ef9ebc78195e13bfca7c563661a13ef5eaca028c6bef17cbb87126edd67a2414cb955250142e407350cb78083ee4b72a5b028858388b2550c4a20fd14a7bedf5437d125bcb8b4de1214341aae1f9e3a2425f309c0fc5222a9d7d1116f3529ab23736362b7a22c825ca8b653b1459c86600476a579bda780eb6cad3fd9553d22c452faa0d1b8a8e3719c7b54961640361f3c58f4b43b3364b5195165b2541c408fb1612a9fc969e59d8e071a51ec817031f275ea70c44aee850d387460f26c43e9143f17d685d82602733699420a2a659c698169ea8730819e338566ec0f17cfa9a789dcc4e36db33003b9d37487db17c153dce18c4d15eacdabb88ed3d58f7e8ed2b4a907b453ed51bddc0ab905f454cdedcc03c8c15d6fb664dc38f6a9b238b4db3e3b5bc20ae74cd88250bf4799c2f5daf116a9bc7e27d10ef97d156713400448a7e0fbdb5a20046e362fcf06645c6b45f032f4d786c543474ec4a6450352d5b0af1624fd257cb078d0c156d38a79c4f592e06349d234989a43a2a7550a00b5aba2dc38ce089e6388a7192b6eed7ed2bc383ae5f7fc63663ed6d73819ae6bb3dc584b8a054f71925aa95b2661c1172d2046018934c1ad8dd9b896cfd53d373c5f83c426e957604fbbe3edbe3503c4b0c8d3307e12027ed00a5df8be150c7fab09a635de849967621776e52d065914407f2ac58dae901abd1f8348dee94a1764f14dd298925c6ba3e6d828f735e9396b97527940eba44331369f18a8f7ffa7cd61c95404a2a1de4edfd0d42a4fc4516c322ebbeb4c1dc803e512abf785e6aa45e4fbf9a6f921a60836f8b9305f3960753447fc5cb96f5e815f95e718ecf835dffa10cf8d102c7fafc8b711502d07c875065894e1c196b55790797c7b13364e918b2f335181372b90f42d35c9c169a65f5f4ac8889b0af6bcf3c53cf1670a16363abfc9b4c0032f74a5258c9aec30136d898b47750e7ab1c0f30b1bced9bf86e34fd6ee00dba9e2e23b95f1a60dca2eaa204e1a4d9a14308063268a22e91fa5d02bf680d235a3bb95abc6a5a7c9709a197290407d44e48e20a844c953ba33ae8a6c00abc90d76647962a7676db4c794515da2137e5a346715ada3e872fe56d1c0288b743cedbe1fb07c9c073403208095057a241fffaf99cc412e33d1091afadb6e2bafad3ebcd60bbe8798a566a596702b6daee9e0f06a2f74be32ba555a053f314b63a5997fc96b531d1bcf43bb563c1f9911a206daf8e50e21094d61e22be641c5e85b936426ff6dc80aef287b14922fc0e47886f0cd51bf264886d7e40aaa133efb40fbc275051b78f90cdaa510543a9e4d75df3d36fc171d7d8256717b2229d4361a8520af813beba44ea03689c14709fbec409898377a8fe6965a55db173e91e82bc0360492b4d0981a60033444fbcf497376a294a8265329397cdeb9b2b928f34636e3fe733fa3567f5f96379e8612257892f73878fdfba25243461448873f3a0622fd5c09523316f11cd23677472e76dbb683e925a1d9607e619047cac9628fb073191c89b09cc4df3a85ac774482c97cc28855da880423b37cecbe7f2378c84bc622783b66577c43b80baadeba0359e04e419d7f667f6d3e97dff4190862b0012f0f3d912ed398c036b58a2516f1ec6d79473479ac2c9786bb20b465d7296aab82a3d068ef0b74acc39d19b8a294cb435bc022d42a7d5b4b3d94cadc898ace777c58ff7f6c4f16d69b78ad7a3b8fbb7ebada5e06b7f6c005165719f9dddd7aba8ce07e95bbf67e9bb1decbce065080d4c9791db0d113b2f904e747a2466d1a43bb048cc8d17baac4265a0d85962f11c86f8ca4a1113f28217b2561ee37513a383f3c2fcc39637f3c077e5ce5d0c0855babb48833dc161d39379c983f1f03a935364d6d3286fb9c9435d8683bcf53c6cb20aae54ca7f2a2fcffaafd7eb210bf988e65638977eefd196e34dbcb469e1c7f929a6a1f32634db0ce8aa14f1c0c930b676b17fe4cd46d1951745384b9f029ebd5385a8066b1e339050e903bffcecb2ccfc1c19334d25a3396e44f592dbfd3a8a4f34083632a1db66e4c80a0f94ee232b111f6d50604006fc9a637be7bb5dae165d8b1c1540841eea6671e51fba17a6bd5f2f548e0a469e24df56265296d2d5796df675ca28a1a11bd913ff0b9006224c6af8a05d0845cb6da1d7e2aab3280e5e6a9aad9581d607d9638e9de5a4e4934b3e076ed0741c9cc9645b28989b24c1c713117652f56e04f0493d2d844c946932c2883a646557730d4731e44e38ea10c4c1520e669d26a9f9fce4346302721d0a58f6e88de33a8334df725ddc4ebca020fee2e04ba9840e70cebfcbf36f1902f8e8276bac6a74b05133a1598c6c545d42bb54df3cf402725bb265e664965b63cb7dacf96a578084d0779b2beffe7874af160f62ebf97c2bb066d5ad1e53d27ae0aa186ab242a18404aa29e174197806aed9abb1bdb7eca55ebc9a619ba26999306c4232a965e92b19f76df99f432da9e65ff1ab1484ced67967b308650472f99935f562c1874f679c3da7ea0239f7727339c3cdbe5025236220448b69413d4784d51642b00977cb1dd3d33cb768ec4b7b700d5b726769f125a5faa532af891e83942a709958041a1df725565f5071f47f65cf855091a96a1b7901e01a5cd475a90b83f7b3da882279d3780ffd63deda01661f0da2bb99f22db575c1d67fcfae44466dcfe1ecce1dbcd4ef007968be3bba8e6e50ff5e1cc7032e71d66731406a00ba8ca46e10c8e754dca614ba5f75c1284cb6547b70dded7a0df9da5e38210972c269f82aaae03415d9b1de9f227275af9de340b1b739bbbf4249a26d762b5279f9495419b70ce39f7875e345a89856d0260a494d8122b726ce7fbd5ab8a7228bdc134b720f5b7141ca5f25126af2412495bfd66d700a7186bc0bac00e0bbd4fdaa40a68272bcffac9bead8ae379240278556eb48a79455e5e2d8fea4d90ecb0e26b12a79bd49aa6b43b68a9c5d645022c9f163e279350f164a14f63e77758d9cb439af4e4615dbfd9a5ebad289ad63b616e5c1de84d9000bbb44208c4fe06e70b3fa2295ac44710bf3c304e0c26e5efe2aa02b72404cc552ccb334a4ff036395024c5e3eb7e06a3ab31e8a5c7c6dec65e351a9f587fe519e5d57ee6e1a37f6bb14837d64dac39e12010fd8c8728d51861af94adfde569cf465b7f0885d06985fd7b411a4bd5e2bd75c64d61ccfd832e9e008a1e28f297c57091463231d2dd77ba9d2f60f04e93917edb2340f6f8e584651376dc9b1f217b1ba8ebe68741f1a733a3627ecc2a64ed417784169cfb8ad6b913ef8602cd16cb11b6c9b478478d7e81b1932b667217872a1e529ea5d12bd25827c3299cafafab2028193f6caf71937c90ccefb8c73f1527df9eee0f9595ea3fcdd2706e4e332a882279fe86b8b5b016703e3390b799681de00d747f93b2fa234876574ec25e15afc83a117ef52e8c65e7f3cd63027eb13241429ca6571bd3eacdac101afc31c6db8cae6a939394d79015060089a164ba75cd7be1609ba6cb72d472b529631355514b2407973188cb0b20e877ff81aa2383018b12b05aa929e348b06ca8f19268970750e22ae200585d28b5ed4eae38dc11f8ccf8b18bf585d3e945e1c000c0ae284a44a405fd03c023a1a552f6f1732c9294b17cc93fc282c2ad6bffba5760276c009da3acd039333d4bbba64c59cc01b313edf8cc18494e8f45c4550915359727bddd2425cc830f58971268cee2d8e6d910b193328631aca9831ee02d6f81bd562941c2ccd6f9ada8aa7de8f3544c950ebc7b76442415713287a74293996fe3b63739a5aa92450b845775460a9218bf349d00e13ab5b21be8ffc2fa65757dd75f4aefd90a6e83006d9729de9b8691e47bc3ca069270cf7c27add978f3e0d41599c75ca12b7456c435ad57dbb6a65b79c89a5cc0061b4aabbdd9b29a12b24b8f50ae7559a83e9d9cb4c87d0dd7a6be09200a14db139bf8bac3fe830e38d5795cff3ba317cd04db3f11c71ac29c6854bc880182e20c0e6fb37bac6841a574589d0907b4bef0e0ad8cf75f036b9d5a9129a198a18c3cfb95a3c5ccd053b1ea6bbf0ddd9f75dbe1acf8882e0fc0d449469563e9fc84582cd863e0937adcf9fdd4e2ce1a6aa99815677c51cad520310661f8d8b9f8f3eb5454d6c79ddd32f826de9637484e6744c1400da1ad7da94d155e2312d024a5113dd393cf59f948250c66f1060538fa4dd454446e769c97e1031518f587a916a406b94105a38090004e3d6634e64c506b5e0f8ec6d6c0a247e470e4abe8ab5c7d1ed8381445d2d52ce42371477aa158c889141724997a98b92ca00d08f0dfbe5f77898b4f77346e7250f9317f50f664d9c079dad6823af7352e40473988a8d1f783d7823a3379a9c7347fc9237375e70d24ff6124a1be60544df0f10dd886530629932343b1554471f02e5a655aaf72737acd99d2b56c0642ab894c8e99741ba5a87419a9edee3bbf47e74c6afa8a96747d6211ad645ccd40f5e37b7f66ea2cad7c1806573bf06fb7691c9192ec4fc31de610836446cfe563edf5a268938845c31918a071679e886596e636ac8fb99d104be424ef44e4b6f5315421ea71cb5b348b961b08291c908528e6e5641e02992b7e9cc5102bf0394637e2284218fdd1d3ca615682f63026ebbf9c97953dfa5faea6aa639b38fe8f0e5572b1390304cfb0f189f6be305e70e213e7c2ccb10d7cf97fc30544224688a0fb360476c5095f0f3a834cf6c537ba1d269a66583b80668b882adbd44858f1770f624facba1047dcbf9061b8c3efb64a11f1e98be4168f8ffb802bdb7c7717e6d7e1a9628c47058863f01b4ded40f1a156a601c807f073794ee1c11c0f22e400ba6196091121f5050d744dba0e86eaa6a7af7cfed68b76f302a733f103f039578ef28e60bd839ff7c616ce4d1ee7d775f5e34af69655b0501c06904a79f21690156f6d94df25edcd5f1d4175c504d893e38b48a85e0f10fe962468e11c40319aa47094350a60f673c7d107d5487f5169e00e3be69c309ddcb66f9a1346aa6c37a198fd7644b551f5e6885fa6005df2beb19a29e47167fc12b604907859b440715d7283352643efa24c7d9c9c3dfec9ccd8491ab2b2d7fc452e19bb4af31a993e20c97d90aec4756eeb7d5e8297994123042ff5dbbf0e93afa03680a404486c6af51dd7daffd738c4f2a6233ec06db7ccbc88fda9cdff0b1a0a5c5de9da7afad9fb0cc5edb78129ea1f76b24935824b50694605552961bba0db37a474c5b365654eb57acbf27b5713411723efe7a753e7e3159879342e9504baef90c6336b475c831f2fd493a3527c808b09745ecceca1e219801d3ab24dbe056d82bb90b13f27868b90d09c81ee7af0f3ad0a213d0530ec6ffc510776820f29027fb9392ce5a6c317a9f09e562d05b1d07d8203fb562b652d93c45581957a5d151a12521d9747218c7646174a9cd2fb5cae2d5eebd4778acc1236655c0cbddaf1fd8bdcb4ce3c3e0959e6101767498e4115452a9c696a1dca471329a475ee459b5ccbc59cd14edd0b517a736c60df041614d9b9cc496332f79f1ea1a4abe2e6f16d3d6d3608ae9d47e59d27f1aadf763f21227c4505949c915d60b4a609c21f6294fef95813e2e04ca34141433147dcd74f3ac4c2ba05bee012ac2aad7a3f6229e07966bd478b6cf38604af427fa95056868cc41f65446f0f9a040169276a51d8c04d42fb54560084ec539c2bf10731401da4be2678bd1a912d105b324c183f70089fa1ed4feec5aab6978fc96a136d968849a8c8d587862ea43c99a136add3ff0694ad131a5bff7976473924b1e6c2567652303f0120f06e5fd15c7451e0e63846f77dc205689171f8d93598c11d137a879db4fc2555b666eaba8f44b7bd9d0ef1a6a8dd1073164cd99b08de8ec306d3c47020b4640043a6ba42c49f9ee0f11ac8c08e5c0f6472452dd8ce17adc836f4cc8bcc2106008c8add112dc0b04e06577d57917ceb48145b6229bc79e50d47f6cb298d5274868609ab1161e0d2c95a6130bcd2feb0ab8cd597fa5f3bcd27a293e1d8e67288a725796aabe1a5796da508be06118950aa1bba4efa8c2fe1781bf6b4377e00775a4a2519e452ebf1ffaa727e16a5a1ee7f500a1e4a5dfd39a108ec8d922840c4bc65048679f9d15d75c919056e4ecb929706d707393d4664eeeb98da96ada5b738439b5926120d863cf5436bf5152a335bdd41fcdaa020dfc34729a886e60c560ff3cf12c6010ef04061965c552a87526f7d8f0a7290982bf43ba8645ed50789511d3b377ecbd0670e1a0830d52df5ebaa48441d21285b2c76c83c010a358a3ab0f163a2c03bd90954cbc7d4ffd356416be265247fc674a306c3ff9abd4c2dc2993fc8880ddd24639dc824da74fc2141b1d8ad968d6c123d2ad2202f4917578067b985263d64ec2b306ee98e4c15404bb3347fb8ac6b6ef095759cddf2fc7874c1b2158b351c5383ab5d2ee13abe0f4682e3d4a460ab1459abab23d939abc04fd65738af41c2576aa287528894e015c0625fab2d1139339a986bcfcf925836b200367d4cdfef92076c833f74fd23f691bca781018c9fe06e38e18bd7d3cefaed4966da560e9c0dee0728331f156e49aeada59996213f3d7b85cfd9479585932ca4f0dddfb25fcf43d2b8b43f8ccccd6cbac5f8bc263c40a3f01bf75e515c7d58ed0908f3d7c2b9127ad667fd901fa3fd3b19f385867ece83bbfb453da13cae174498c01207c3e08c394df6454871cc220379a2a83934f2daeccdcb044a0f68e944c0052ca4af708c50530705094040c4b6045249f640c83b84e62479da2db29c71292dcfc32053694fab9ddaef71fa3f43d6a5393b9a13354500f5f2146ebd743532adc413215530f4779370c79caed755a23131e5e1e238abcf5641bba921aa5bd825c01c417073e84b6fee2dd1810c5aa55b4b46808384cdd0380e82c3301ca165ffcd593d993415bd8cd0181d50a8e41a8dba348695aa7f3c4cd69be933b88464ad30359247fb06ec9640b8ba5a815207dfee1bb0c02218274e82be5e17a707d671a4a7d50def7d8426eb3bd8b3bebed0bac3ccc589b617173e4c47477656f31b768038dd5df3c7db4360ac8a3b59c8cece14b4b976e8ebc69c089f9a9b65a57d69b7ab5791a38a8dac92aa7e5ef877adbe0c847bc42b9d0ffa0b46ae4f13458057efe801036704e41aad2dfc7fabdaf84417b5b8d789118af31ed0777e17da8d2e954888ef3480286bd6c6f5c9b3d47f3ff2503f9e99601a9a9eb774b25dec4d3006938635040d4ee7dc5b2c33c750e8e5a917e2826d6dab75d29a022a9e2510f5550533a94571e85aeb21597a6bd7acfdd89fbdf6372e88922b07eea9ec39c907795423a272352db477d1b5107502913ee0d6d014cca039a3b77a85d30145a4d63965f0e1fa96de5ea31d03226165ba513ba131252373b869929fb175a6e66f850ef805b8818984709d0388483150c06006190fc81469d6e0020534554edbee9e37d39d84eb45418d14dd0783e6a216def6e7befbda59452068f0af60a8b0ab987c9cefc0a61ee61b2337b824e0bbf430e9a09fcbc8eb3b967871c34ee4198d46ced833049e5af7b1026378bde833041e51b84c929abc095e941988426f0f33a9b7bac0d3acdbee7fb44f15e956af5a229d08b17128449b5b947d2143a1c3e6a8908256cbb2c69cbb5a6d7511956afa3976165cd1887f198abee724fe20d54366f29483fead14ee64d659d99919179bd5cae568b95592f14dc6d72327383b4bd0c4a48dbbf4e43dade35d644226dcf6a993ea39fd5913c0a5579c7f48bc9addfa06764a4ed4d42d5260caa327ba424a974ca5b2a2d29b93b9545db8336d0a64d4eb4fd679337eaad67a4ed3dcfa6e55d96b494e1f39a61144154d0f2ae1b1b7aa6254d61c3f429fe717bbc202fd74ad573718045151ed07a442e0517a87980d6f32160dc92440650d07a2c4d419e098fce76c5891acd87e633273d22445d89da285d5192e64d6fd8bce9ccfbd31278699d9db9a4bd8c5351f2c6cc299717156a84c16ab95ea1e9e2eb63e02c03f67923ac64970455091f0d1b443d3310cec6a03290392382093b73c986ef9e32cf61e698e54a34bd5e2634657b30f3ac667cd98695f6f24763d38697ee32cf8a46ded841692edbb0d2368b35b2ce4c4b19144bed739add0fa792cea650a96285ca70aa8c66793fee5659eb0f4b7e68f2c313283f18e9a1812b5426b1509906b45099d4b6c70f43a84cea9a5f46dcfaa3e54d0353b4bdb5a63c8aa1da4c24a4ba3fada4f7a7e7cc127b1171a796f51fadb4d24aebfcc9595c1b3cbd337fbca1dd2dede8ba5a168f3be288b89fce22d9221bc4d5a4eaa40a596aa34355772f26b5bf985c9b731677777bfe80f63ba6e73dd9e59cc5dd31359777e616ad235f83cc1288a1798e50d15eb5696a448d86a62039aa51498244546549529195264a4eae3ca1317afb4d97688dd65e4e9792c09c622182719a65c9ea544b11ebf5a749eb758893d86bd013125e8dd868bc0a5128b466cfe069d7eb24aa31b371c2b9211089a916261189c625a7225493eb24c533b5cbe95db81ea1b12a548dd4a03aa4fe68c942b1d0251a7b8181b162b56224d058698a8406a64334468568cc080da243e8cfd492e5f3620070eef3682503e9e574e32498d31d0386cc120aaed398f1950867b54e3f9fc44a3809a79f53684ee3f4f2e535f2fe6a1ce6b3bcefec306e23efd5ace513f21c9a4226e049434f0397400296e1792436029e465a22e039449c81278dc56498173c04cb312091911950cbb90149707600d1b30c4b62e4198a66320d4d645ef9061aa3b9a70e4d242f35551218a29825308a564d584e5a3f5a18064c00ec026601e3dcd8a0b17aa40a552335a80ea93f540bcd822916ba54c41dfa86bca1213bab99a230ef93308926519b9af47df7ae5616e905db23223bc526b146b666a15824d6466343f6893de244a889115b64836496c97960288e27d72b920a2606c68ad57a49ddd7a4eebbc9e57599183f9601fb8c11ec9223a229498c6c0d0a12dbd09323d68915b24dac912ea80a09092d050da15c320948afcbcc3c06b622e330a51917e1ca088f2dc95e02161aa779bd35e135a8d058ad812d913db249ec145bb3461689856287accd1eb14fac90136bc436b141b688c6a8d267badfaa43aa57e1a600d8d8b8fd4bc92d32d244c8c99127433624506a4649a6101dd1d8124babcc24ce8aa7045e0997442c639613a85d19f6d74a75c54fc956054a929195294a4757a82c2161a94263b5564d5539c601500526e3a39014934b788d151859c66f945699e638aeb0f28c0b60a9956b7c052c2f7984e36449e5134ef3f4cd323a8484d66c2ec9987add33ffab088fbd5e86a8bbe47de5cb73ce879d84bcafe712add199c732042d5ac79b59c26b192ffea07e1a92fa0d7ab98b917fe6f55408f6fc7a7a84d6c4f2bc920900c353c9856985053c93300e9e55f009dfd018151b47343685c6aa514cc9dd16691ad1c97960288ea7196034cf09d330830c0e68008d713f549fb90da23198982530564d584e5a4f5c2f2832f7a8d4a7cbb9977b6098e3e2787a3d0b3ac78d14f0153f1ab312868f58dcf1501ff4b8698b748ce14f2fe05d72a458e07e0ff0fa1e047801e760db029630b0702f957a8e832ef8e169fc00300d5b22bc021600b638f00db64768acbe065b14b00500b641345680118503e0e63538bec20070de02ed2f64e9a1c50097340643de128b0f1c6381051e99f617300ece8e2c009d71e0f80ab806851450f984c2c7bc25151f00b8467d0035df717a0b37fec2781e2bbc4701248db970496307c85b62d13e300c05b85fe13db0a43102e42dafe8f99107bef117b0a4b19cbca5153d7f6aa1e63bb0a4311df3a801bc1c0039f20d537440ebec189f798f16fcdf1a1922e3f9f688911987dd22a1b1112ec26d121adba1ecb1db124ec2ad900a797f34a7713b1480bc6f8d9b706b939bd8b225085a679ff0d92d118dd5dbc8fb1649ef78bdad426b76ce6dbcee176ef3cae3017825c055a8d93d9ee37517e0ba66fbf800b2d09a0dc37568a106c03e0a807b6002f0782107db16b0dca1034b1a6321d3324e1640560147de379adee46d43d314f29e698a42de34f6004e7bbd6d426b360b47e1f5d609add929dcc6ebed135ab375dce6f5d6466b76007ef37a0b85d6ec1dc7f17a6b446bb600aec2ebed145ab35b788ed7db235ab3f5716034e642de724a0b7807d6814516f000304d639c1c58d2d80a590058051c58d2d88dbc55d0f301c03758d2d8e93658d2584dde36f47c0ad80646014b1a03403e01cf700d8c4363f526601a4c0397804990e1181e018b8067601560582503dba0b1fa8c310d1c6306cb601e4c039ea18565c00ec00da0b17a18980138861f18061aabf2088697bc25924bde322995b7cc3686caa63966315b248d1422813923f9c0304d482294b06d42919e6f79377dde929eb7d66e7a6b735de2d6eb6a6f8211ffed6ec3a000f6e476f23417b04b4b4b4b469cf72d9d96969696883a562b8a14f3964ec800c813a4ac0ba2b69e0651b5812955d9fcf76a5f1a447afec5c4dd344e689c541b4e89dabac54ae57a39896f995eb6bb619c153d3d9bde30ab57919e57b99ce87957cba6e75f58467afeb4828124b3c0187d1d91d711711d91e9b552998e5e2b15518b88d511751dd1cbe7bd5456cbf5d3bb201879dfc4642598bc63b0cfcb367cda249e689cac2e8d130ecaedbe619bc6899e30a57f1ef7982079a3fb3c8c493c9ddb62e278b1327174f9d5c4cd595cf9113ee3328e1f43e60654f70d33ef39a936314e3ca16a1313cb5b2e8d90b75c12216fa934236fa904cb5b26c9c85b26e5bc2512ce5b223d6f6914236f6924d3ed9b4e49cbdb912530a5efae5030253ddfa271d95f79c748f82aef198d2c6b095956d98a842ccbdfab2ccb2a43b5262bef6fbe0ad1a57ab3673b06ce70eed53c2d5ae52db3c8252518794ba40c93b7349a9ed28d2aef9bd92c16fbfe4a8401e75f29b8bb5352aa36b3cba2679e2614c1e88c13a10e20af95ea8a52d63eafabd56ad356fbbcae56abd964cd56fbbcae569b355b68026db669ab7d5e57abd15acd169a409bcd56fbbcae56abd9926ca109b4d96ca109b4d96ca109b4d96c49b5cfeb6ab55acd169a409bcd169a409bcd56b38526d0669b49b6dae775b55acd366b4949b69a2dc9169a409bcd169a409bcd169a409bcd564baa7d5e57abd5421308da6cb466abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aedabd57e6a238853417ca3ebcf4ffda1493fb57e0149ba2b94189211220430d810d6c2648208022613c4cc073218a0c213520512533a24a6b0c0078426563405aebc35a1a2691316c468796b928445e249098e32804495223e20a1850f4870e103123d20e2031242d841c6079896b7261768a203132158458b8f8b1b123db82121042e492869931cc068794b42072d6f496ca0082554f0dd92f03ceffb92504a020649643141055c39a609e8284219249f111854172d6f4768b1d2f276c40fb096b7221f8a8a6e452db81569b915e50004415398e4460223e3389e50244092a1e58d044d54d7f246022598185ade4a10f4f2f2f2a282b995c0c6d2f2560225d2047e5ec7d930d435ef1a3405bd0825cd2980c12e602d6c3613fabe590f3dcc7a80f5303b02090b0839020447841c5181234272a0472d6f46c84066071374467022b01f30e28720214658204888113c0c9111d231e9828995ef89e7cd6ee21cebe529631c572d906ed2d1065ac71cebddeb68139666ab4cd09dff624ca82cd9c25a6b6798e99a3f9921574abbe4485b2d6f4ba6dca1d50ae8fb563244647458f1d4d54c46872d5b6472b82d79722b428ad71745b0404811510c812244e6e75644124518610b022c0830184c8bb5b07f3722a8dc46a0f402821523d5ca6a73978c10a1850721dc8a2052e42584ee56c490f6c1165a11976e4468b9154164028d0089e84888a3dec77546b8bc6f0f0f0d437ae082c92834811f0f386a3f40645372a40429532354561f1e313221a95fe2d1887536640e2a6405aa8300680e2a481a1c5b6e7c118021dc489a6ab311424d1052903475da6cdca0f00300f8e0841ed4e081093ba0913475da68cc4af082842e645cc468e83d6d23e4408b808319b21b304953bf025933a5bc51254dfd9e36c081658dfa3db5a89191b1fa8d6158a394ed69a344496a4886e8111aa34234c8074fb242a2eb815c2094be7c70338bbdd6239004b39917df375372440423d801a78488a9a408215d8ca00b8b9b68c11354a0b0e08b23474a924c25430ce9e226021f4440040827c4f01b3481df2c8db5ec84006831e748197d085e536a05b2fe61bda5d196332e6f69f461b91cc7711cc7714ebaaeebbaaeeb6c9ee7799ee77946dff77ddff77d42200882200882432693c96432994cb5300cc3300c4fe486169e0e193224e886265e48fde2871614f3b4fcfcd0825634f14250597e7e7e68411f4dfc902142622c7d34f1427224ad68e28708915b6c3f3f446234f1446e68f8abb25b651fbe57e58daa119069dc71a8a453529913025e344e099771ea51a5a621b8e062cad7978c0a461c753d276decd1cfcfcf10343943cb51cfda16107081910a98a8e16005525a30c41170080f14e12e3713ea401723a84115515240e3a418c202dd1244eebdaa21aef84128615b20f10d194204e3103c646193680987d841c82b8bdb1051e84ecbdb104e704bdf1783652b3ff4a7dad05ad6e2521ba7e56d082df4a6363b64878c506ad360dedfcc423fae07934b72456f79d90008446e42f080c8ab063721b2d0262d6f4220c16056ac8569317bd10046031a82a41a0faaf470628a26565a30040443481e0451f382503284e3b8e9d91582b0c009c9107b1b0231880a08a94016498c800a1cd4a00b2c2c08c112770b410f7878c1e016c44d835ade8280d23d61bfef5e27d409d5918770557acfa05174bdd5d4091637e354597dcd5a203d5bb92f2d6f43e0406f993483f49c9264235f37a8429fcc2158b45cc16265532795de0a59ca110961a4e54d08275acb9b1045e87a84d65469d37196d6206dbe3ca75059bd9785a06b954b9c156df3950cd4502c40e82a6d28162aab548bae7588ae413426f52d8825b4466da01780a6a38f4ed34c6b4daed4406c09eefee4d26be9ceef176913ca6fe290b206b5b1afa72f7a7f55ca64309bc5e0fb66af2b66af2bb8253d8db82a258d912704d4cd2cf6d5b5411fad2aa9b7d97eda5a6bc52c4254ad95e338cb4d6e7296e3e4e4a611c7711cc7e5ce07a85a6badb5d255ad93bed61715b9a4050f68b81879cc28bca83c64b5a2a5a4a9354fa3d70b6ea8e5ada6a4e57de81491f8547264d3d3484fa45b4d48efaf7674f300155d279e3f5a1be93977e6961d989e9f43f4dc99f4e5822b6fb51fbd57ba5e7e7b538a58bf2ad23710d874d5ba4ad15ba5ebbb71c79422697acc28b43db599524be971e88c226feca9698e226946fa4fdea07987d3c07c49b9f25389bc51c31ca2a71249237fa3861945d2c84f117c20494f232d022b254d14dae6692469e48bcafd349a38a4c81b52cb2c23873b8df4feb4947b9a363d3e4002299b353d3e700219937ac7e83a4da0a5de2e3d3e50848c495d2f4e1c3d3e7084ac2175bd121e80426f1e68a225155ade9054d12e2a529bef5ccdfc5e97cae4374c73dc25a5321995d17b5d95639d5c504943596d58f7afd5cbe56f70aa0d1843b571b9949781861beafca936f8f233680ac5b8cc979f44bf745d7edaaacd7842de9f3ee130b08c4cf3d94d380cce196806ec233c8571062a2176121ee267a01144b88c7f782603d580b909f7702b0391203b8d77d895814490f119e7f02b03bdfe7c8a636420198d977015466120fcba098606e47d261739d164feaf3090e9f5187fc140af186ffd848162e422950604e3315a771d74ddf4562e4243034abd758b815cb988006840e15da65ce44503327de6af5c444503b27fdd0503d1cc5ee323069ae5222c1ad0f7991ab9c84703a27f1de61503c1e4222e342098c7302117993420d55ba7c9453a1ad0e9aec760201ab9888b06c4fd55422e02a301c5f8eab18b24e422281a9078d765b9c80d0da8fbcc63b9888906e4f2d62f06825d08900f6d845c64041a50fdeb22e422321a50cc637ccec84556a001a1ee3a2c17b1a101819f999fb98c5c84d280ee5b67612021403eb49c8bd0a001bdbc958150073a1d683c5078f1ade35ca4041ad07857062a3269aecf1ce8192846069a19883b903d503dd03c7d91499bc940aa03bd1cc8e540f7a9b37e0322499f70190c34ffca40ae0c643a1078a0ef40ddbd1799b45606621d68752018078279cc71ea0918079b66ad606018aa4c3e06df5065f230f2aa17ec8263a832f9149e3f55267ff124aa3279d469c40da8b2a02a2b5a559994ffb00c5526efe129349ddc051ae65095c92a9bd12f04b6a6292763a0add052015468f91ac17db97e31b9531ecd9759896a167a64245ed3d77d5cae81fb4e0d5c9e45928686fee5dfe52d03487acb24296fcc4c836650109877ec6896bac995c84925ba959efec5e426d199f44ae2d64a54896a3a849272e0882641cbdb90920e5145a2eaa5bf9d6904c81cd24363f54080d04063f53cd586062aabcffbe60ce5824b425506efe05cf2e57d912040d2145c0898ae9c20395ca183137a1aa1855f4449410f4bd04c4108c2f6640b5a48c51227b0010db565cb962f68a82d2df8e81d496334569fc34b05d7856a331a714663ce9162ae2e489afad70aeefe8bb81cdc389044dea8d7b45a2dbfef0efcf6be41fd6dd2dfe1e906ea7e9fb444b97cdf97ef94eadb05e6fb25e65b05e31b66f51da3e5370c2d57ae6fd6ebbb25f3ed9af97ec5f896f9f78c9631740c3c835d2dd60a460c8ceac5257551a7510c4da0a4f13a4ed2543a25cdf7b9bc63ccc8bc5c2dd60a460c8ceac5257551a7510c4de0e7759cad546a9f99d9ed60ce2ca5b5f6fb3e5114efbd2a956af51a6c5ed118b5dfa936bf68ec164ad89c73e6975d7d2af15e51f5adec4bc6e6ce95b70d68b96dc088ae177fb8a22b7d2d0a5fb466672bd131fd4563ab1c84097825e2e78e92f17347c9e9734709ea7347c9fddc5192baa853ce3908137b596fb97fdd452f08936f6609c4d040e65d35bc2075660662ca2f30afbeacf2f267b3bc0187ce07a4d488f0456bb6921ed377c6134a5ebc36b5820df6ebbef94fc7741cf4c4bbea2efc3afbdabdde2fcc3a61b53ae14de3671df3a63abc79db7fdfb4f3cb3ae14db79ccd1fe7d3d34d4ecf3d91e8cd9d87ead4e3a02db6df5673ffe6bf2c69ccce233af6d5c7a6a8ef2934c36ff09df4320fd536f374bbabdd67df656cb3cbf4efdcbccd3ee6ed63984113877d976bb5a973df3d7c1abbcfa6320fd5ddefd7d92b76f69f69d4015a1b62fb70626bab9d41baf3ceb97cc4220a83c7a9b3f3b08c81c6b8394d9ff76f7ea6ac631ffec32a0d62a9270f130777e2360f9d3ab75cb5a139e1dc99fbe461e2f8ce99c62c23877b4ee4de85df4de778f86e3af818688decb0e43edc596b3f6cadd7e5c9c3acc1591360d1a29e9fe76a559ee814b4bc5519a2634045c7b4bcc560890ee53c72e52d065674a8c52fe91015c2e48dd47ed1a4a0a5486d5e4d33a409d3d3c7e06aadbe5bc35004411014b18e497e20288aaccf9dea63d61dfecb9b6ad3c3bca9168f43ebdc3229fc6aad37791edcb5e60a661df1a6830f650b55ef9a3daef3e9c1e106cdcd1d44d7cfcc592d7a77e7a13a31c74157bcabe6c06d3d8ba5ea3d35e8033ce7bddb3cf43cb43ee63a6649775624dd2bf4942ed0d316454f6944c3ecbbf1bcca79f38ff1a6ed869f1d7b9832deac0c66d3bd7742acbbf286d1cafbaef2fe60c4d81e39dcebb9797b65e2a89f19ac75b7de7ddb253db6301f73d4e843d4dca777cfcaa8fc31afb2509de057bb9551dc4f630bf33a601e3f4e8ee33266652ed7af6064d4cc7b14b99a0e454e9b3a6dc2528bb5be7231b3c6b6575ae06aea2aec9d3b516cfac5374230402b6f7c5ade852ff51b7bf106869e223785aa9d7b664583f9661deee2c16fabc12e268ece25efd9cdb5ad8c7237b30e77eff322ed31c1cf31479ce70e62d777efdd692082a1b75c5a5aba177c37830d2d7ecf6043dfa37878a8be1fbfed6a6c41bccecd7b6af0e1bdd187a8459694cddb69856d061b7ad6c5c421e65dc3bd256de2f407e24e7f7b029ae330f785dacbb68b59a3e356f344a1bcd47be6f0336bb3d94c91ef9ba9a4fdcc0eb3991d7080d46456a1a4831f1d3ab0c00f11598eb6787283232b8a56708513a429333df8d08512133f800205114594ae300a9a09aa020355c080527aab8c661939dca0ab43ff031141cb5b154db41c7370047c7c7c68520cc2fd87a9a7bb1c39d0fb8ff05c77fb1ff7dd4d36d3c73c972c931fa77fef9155e601f9e172ee6111ccc3f730f9a17af70bfe3e95a72df7745feef1724f8fe9d63efc0feff6632df5f1a7cc9dee927bbabb1c26cfa21e2ef79c72cfc8e4cb0da8b2fae37b782ff7783f3d9567adcaea6feeb147e59e9329f7f4981e7ecc30f430f9f1e51e53c6b934d4ffd4d914aab2ba64135acd928aee77e4cd1a6d95e4e57bd4e58fb3d4c567d24fc88f8fae4339760811d6bca6b86a9c3af1d42c2c2407ed8865d4b2bd5e83f05dae3c97eabdb71a7ca803bc0bde53bb98f0be419bb60aebb4203578508fc7a1a19c1800efa3c32aca6af31272f845631e52ac638f83b61781fce8f9c17addd5d11e57eee1fecaac9b8e53392cb5d4e2e93072dc31b1d431a7c7fcf4988753e4724e17f72baf2e471d308e435778abb84b8d0305828099bffee367bd980041c0eb327f1056ee61ddf5da1489a5b39363cb962fb42b0726bcd4a1e4e1f464b530f53c0cbc33f5ccae9cf0310f1f9377e61697dfc3e09db9e5dda8c395135e9579aa061fd3dca803759aa5da242d35408906d65ff5957b8460df3269c6b75c12e17bfed046f859f8f58917c0fa2bf7c838eb2ddce3436bbdcefa025ef90b983557c6a94166918c99a76d16c99055b6f5cc1b071f9ca6797b072fc705c838ab857d6872f4c1e999f7e9609e1f7fb30d55ef98d6a1399d1e3f021601cfc0301938dfa037d5de4d78ebcccc53b5779a792a1d1a1a2282ef7a65fdd0993d7b64782af716ee699d087e0feb44f05f18b37010eb7f0b07b182586f7dc43adee9c3191c348f4367b0a4817f615937cd36747a9e8599d8bc9343cfacf35dda3445a24996a348dfa5d8864ed3874272d05e9709dffa4c4fd02b0789f18b9388901c9ba7ea2a92685a236f5554a14af58adcb10fe98966697943aae990135f6d82c8cbcb7f7725a594f9653e93e57de5d971aaacfe7599fc052bc35065f53274088243ebaefcf357ab05abc1bceb4e0efd4c24c6652e8619082512e3ad6ff09b22cd642231ce3a4fd534dbd0e92f2b89912730738e2251242fdbd0e9edd3caacef93c94795cb3a9d8e129792d6b9732dda7abdf20ad31f1d5a2c6dda852720abcc8527d07a3847185af91b0f60d372d40103eb3814b3f2aaca7e74fd89a12c1ccc99f7b4429a7236d0737cc0dd2bfb89a7be591174a36248888c16192db2467ed373d39ecbd4d65829a9c441a5a4f2925e4a1a049920ccfda1eabc1cad9c9a8ef373acc1143ec022c383db143c90f1e236850ea6589ac28b5937c50d8adc86a630b15896a6c0426607d7f4829ba780a287da822cf5531831f4d895c3622d207ab5b99fa26601d54a8a251ddcabe56d0aa1c7a608f25c50c4054376008375612dec4a162eac51d7755d0f9ee779520851999462e8bb3225180282285c40a46684cc2205112705931eb8e83aeb4951e3a4184208173e70578e9450b0420341f8410b11414cd9e268a93bf28105b8b8326d5c1cc9012c073990519251c201c782251608919952840e3798124411991b4c09d29f96b7293f5064b0908181942d52846024250852b030f16f4a192ca4dca002b50a294945aa9082145485142978a8424a14527c9051a2ccc0db620877399f255e78c1240b2790f821d2228a1426a41d4e40c2135218ad80c806aca88115a32fb8282aa8007739a3252ee85e9594223ee003a32876202303ae065148c04531410f1c085cecad8d281a3045111214a50226a31e1491a1e216050752746822b4dff4ae637ab7553960d6f16e7a7dd6a9379dc3db6aee20d69126cc03ef1eed633f75cd3edf9c2b98cdaef8be9915b45362566144c505a8cca8f050cb436740850a95152c81d2840ba68842298a2428b280028bdb755d0b6ed741d184caa406a17842655283504081c20546a4b07274bbdd9e087202c96c251365cbb0e07a5adea038d1fb8f41298241d9018a0e7a7f7684a8bd95f63cf09e07c5f53c154ca13249e5eba1822a542639105f5516573e2c16b09dbdbc55363d1a68efd78af63c152869cff3bc2eafc0de83a0d2ab151005142830283327604ec0603015580bbbd930606bc207489e68620ba1279aa08281279a3032f244134674e089185ade9af0419fb4bc35918313466c21b031f1031ee8134c2ced309f60e2ca1099272c13543031c5db379f389e5078d242391a808eff8ec293766ae19b168525ed84278d6259e7b8e333bdc39f89b3de456c4ddfaaf5c304941e96d3f5346a5a642ddd527069f4b3449f8a5200456f59e5e649399c4ec0a56102ee0c6967c40ddfed49962aa994020a2f9272a081922a8cb038020320174f84961042c60496b396f34992051657d88000e2054754b93da9f920d3e4de9e3c7142ef7b2866b324be6f86c40c0923294038b12941850a5aca1cc1598e43b2836ab55465528795dc6d891f388ee34e60ab3299a22582ec123fb59e60089ad3f276822c5da0565dd7c91471bbae87932c5506eee8e1c84f09827828f2450c4ef0339ea0871e6496d02a9848181c8008226644c066ab79950832011022b0d5da2a4374412d6f4a4cb9125066925f25982022e5ff9b1243280184de9f61e9640246e343bc65d0a1b5a773dcbd376f1974eaf4198ddd73381c3fedb537df158ddd714c8da7df9f4ef7baa0ee4f3e520f7ffabe7b51392795c32cc7bbe01da6ee787f3addbbaf3eb9523947d2d83ded70bc771c53f73834bcf7de7befbdf76a1717d65d1eba5c1fa8cf68ecb6b0753977960b8ddd7bef6db15a28d4592814cae55ed54ff8e52a9cf3e2733a6a74c12814a63a75b98ff8b465c8194fdc51dc45e59c6658e9316f1c7418f3715263686a88d3f850c6501c97f75178d4391d75e9c22da095ede972869fa6cca1a4ed6190b4bd2adc34689eaa75545fbd07cc6dfe2c8cdbbc632e471f367f3a28ee210a7747e651461a75f13670a2ed6172ee6deaf6dce8e374942bfc0258777d01afb78eda9fe65ca9ec0ab32bff78bdc5a17ee5eb48809787afa8ccbd7b68450e5b97cba0519f630fee36bb52b71f7fc2aed4c37d350ae54afd603dfc0f596561de326819b43d6abc87ba1c5d98fa659fee9265e4704ff91d2aebbc3ccc3ae2882ddea73cc34abf641ef328b9ca3c55c31c46b63199a76ad539988c435578e3703a614b632807e8b0eab1c71e7f3a2a5b1adb3c55abf20ea2edb95187e9d647d5b6c7295b1a437d0c515c0ed5f6a671264a2522d239263d1e854d4fe12d834ebd8e3a4c0fafbef75fb569fd3ed4b103954f67e5a7ce61f1bafc74f9c2fa025c999563da7e01d966538fa9c7ac637a9863cadb47a31eee195612d4a309a36c6083211d1e95ca1c3ee12d833efde52e9775fabd0b7fdc2f96296cc3d4f727bc4df7f49875500f3f471e630e4ae57aea7e5461d65f5cb0015a79c5e1f117a7a81ef136e519563afc173ea4220aeff035f868d447d7f8d44f77e11687b70c9a7b0aff68ddf5111ba0955d3fe11fafcc42a16658b9defa8f56fec1fa562b2d6a93e9381447c3a0e53dbc65d0f2920a22a858691ba6a40246df18fa62c5164bf4b65b08b105105b3cb1464249c349b44590eb090fe9a6c50cf48ac6b4b8526badd6deb4b869b103574ed51b071f794abf08250df154adba7f9e6a753acf61fb4a2db5d656fa69e72bdeb9b203b2b34b9aabc9777286898b83a6f356ded2f9ce2e7512cf5bcc714253c62084e4a29f427ada340e0de5b9188484781012b2f60b2c94aa4cd19b67cf6083d270d6b0a7b85ed174d461bb9835e8bb5b8cb530b2f2448754e46eb04b3446ad8f5ddaf1ec690d123927d1f475402ae0e0704c2d825895819b55ad1924d77e85a0d3e80af4f5b77e654de7baae131f8ad97500fa31fb6810ef4f5bd0fbe7a34d582269104bced298ead48b17785ecdb45fcd8e033cd6cb5bd4dca8e3cbb6ae007e7fdc4c0dac3344f6137be24c075c60e1167c3d8d79fb4aefea877b75fd3edde56f55673ef27e302752ef72ecbcd94d5bc57b243f71c9ddf3e706ef3468e04e1e5177584563dce78fb5b9f4d6be563436b3e4ee6b3a91a8b44bdc2d8f6ca673ce39e7ccd0a58105f1f3596eb488bf950bdfbdab9c65c6d979c3c32549140ce8995d3cac9e9ff7b1f388a4a19f09e2aaf68a7e895bd459616589b695767274c1c32ce0c81ba2bc31b78ef70ec7beb8770f5ff077d81c5d5eb4a6ab69ee2e1edfbbabeae8f20eefefbbfbc91e667fef6a60d3dcbd1a14e9f09fcb3f7cff42bdfba4a30fce47f871878f4efd456beced788b5d2e7fb9541d06efcec523bccae572178f978fe3f7fa98179cba0bdee1a35379ce5fac83cae14f5867cc20bea1b199c5dc7517e58d1a66d865578efdf9a95a8e39f787eaef9ac35373e377eefb4c1ef8996800bdf3741a0422471f0dd03b31f47710efe4d0737cc1878697edbb87a049c4a2a4e17224cd3c0ec561faa8e8f7730b86a2782f34819cb596c76aca499bcd114e0ae5c4dd7e2ace524aadb6ef7e3a5dbc85a12ec7138a3b71dc899b317dd6ebe02e472b6d3dada759b7b082e41e355a995158460e172547d4b5286b7568e23c6e7ed407352b16e1f77ddff779dfbdeffb0eda1a1388c383f730087a1d078220d875dd41bc67baeb38ce0bb11701188723009b01e24a1ae372c7c36a35b381d54c22cae204b72c88f42a0b1bf5218b21bd573a07badeb208d275ce4cb9fcd1d8cc1177af86309927f2d30cd00049cb5bd2150d002d6f4928d01f9df9c0953436ebf63e6f52eec8b5b7df8c1177cb1f9afbe44092935b344528e9f75d1c1fd2a8d5e3aef79d2c0a556b8d85a1883d11771ae4f4c8d2b57bcb1b758497e317829447f6445c454c358827119f285ed56a0477bf74fd4c11d7de8465e4e0819587dce2d11c85d51ead011fcad17ee2779adc3d2c35383f3cc34a77d4ebc68e4a09eb673c70b734f2a4187e3c85f2a9542a954add7bc57b6fea622a854f47e13d032c15de9bfae92453f3dc77614f8578e6add21265e9bc1571def7e2c330f5b96de8fb90daa5531d758c4fc91df2a8e3507db1d427f138351433be9929ba32bbe0d199105c3a87683a9332f5d1181277de19562094d3872b6f4943dabba4a30b385ada5cc3d43a406f7cc8c2f52b5cff82ebc3395a0ca3a4bdbb78e40dde754f47eb75dbc77cf6a6df6d0fde9282b4779b41162ddeea68dd6218af1825258de974f4018ab779fbd087630bde610e6298bb601df1e2ef5f5eaec2aed6a55e5d8ea97fd8d53aeb5287773dc42e1ee25d17efcaae56dee1a35577f160a56010326941529eb0ebbb83070f9e85555f61d561e07d3af818ace372a9c1cb31c73b4cdee241157ec930fc55197717ac033e75b109a3b0ce298f78fb68317b073376ed90507e7eb4e9df2daec18477e4d2cf8fe671d1e12b8fa8c39b96b4ddc9a1a9a401cfd369d343dae93049db1ce29d18dade847772c8177c9aa001be1b7b7cf75eb13d4eddf1ddbbc55fb634c64949b34ff4729c71e05a18f4e340c85dc2f6c53bf6f3b505f99a81e49860d0dc81eccc1968ee3be40c34e7a3eba69afb4e7d387113baa57d40a0ede70e39832c82600647f4bc959206f7573c1f4e71e7d8d7dcc9d187cdbbc7b543bedede6a1c6ac79d1b86e890c38f9632266dd691af79a767be0ac13d0c3ff0dfacd6e6add236ef99a757a5d4f6564b3ded3f4c0017aaa6216960b83e5c4ae92c866a63f72c2986f4a395d1ace23b6b4848ae4832a2675ade6010033d8321ba042d6f5864d1e1c7fdabb5f230e99a270fde392b5fa5ae3c08c90fc35e65afd88cd09d7256aca23bcc1ba643171ab406f51d466b52d4e65ece45cc331de07838ad7accb9c7c0b9c03827dee5dcb9bb40c318bca2318efbcc0f57bcd4fbf3211ee63874456b62f2f7a2353059fc0c06aed46216af8281c5a7545afcc5e251e24f58fcf00e5fff8979870f6fcd62920592475424de32e9b0f0c814ca309b7004667ac3a0754ca6bc67da746ffe13a9cdb549d5c49ec2af3289676a97de8bfb0be9a8e364bab7da57ea698db8f4a0694e256e7838cbc3cd5ca0ce6ae9cc05be8a85fd1ced250f3789baf0845f5a567162ef6138bba12da8e44b57b63d2c9d221a0800004100b315003030140a088422a14096848134b90f14800b95ae42664c970a931846311463942186000200018600630818293a910360bf22a47b377555efe98f2a0e059159653d05100d1b46e30feb1c9074f0f0f20543bd243a719561ead538c3f74f401a3de142d08061b7873f80063bff8e47d3e9d35b2e5163078b84f3a9749026d55fca1d03508df1f0ea7a7151c744548a8a2636065be368ef4911b2ced5f8bb8894a4eda17c7a3cc91d986b09bf26074a15930b46acb17f028fc355c8213cfcfc0a5f4fb1e1a2378db5d5116589d896b8260a292180465dcced6b12d233e588b9b08b8a2a25f814163b184c27bb676977e5fa5c22105e6d074122e3f07e6fbafd2d9ecdd3f3fefda2e964f4fe02f1c63c7ae8c379b3e2e0501519a02e9ee35276fe4ed6e77f053f0425e5675740f8073da2b1cc0c3965c27ec941e40abcaca94956245797cc806ff3fa3570e38773338d65075adb1db58fb913f2aaa71018ef89d6fae4862dff80a68755ed58a5336c26dd689296f1d140b98356b852b5d1f6e60057d616dbb124c27cbe607b6146ed2f8722a58d5851d9cf74749b5a858b9cd0dcbf028be6a5fbdb0fddb484ce631a4b506669ce0fcf46e4c4d9ce70e526cde45e5e4a9be64c868889a291bb8d7f11b5da0ce4034f2a8694ebde737cebdf42281ed7498e497190bc65b0556ba3b32aa0d6e6a2815b66bc35567e955ffb990017787002f150f99356fe2b9b13aeb70e9c514bacca36bd1d057653635740faa008f544c862a7bbe4b04c44d1b829ce98d6880b89d31f5aec6a1273aab3dd88427aa7a231cd7d89aca331cd1060bb132a66fc7041c0f1534e301eed1c8832629aa8f3841598baa3bb3ad7240fb7ae1b509bbe86de208a19739e458ec025a51491dd9fcd06b7a6d034a7ed2d4a2e310d1d597348bd34db935be30c6e735840c1b33a4862f2ac39b840d9cf0c5887887dba51b1a6fa2e0cd2c4756305a50349c0b60ff9018dfd0dee4fbf12caea243fee2326d1f7fd51a11c9ea02703f86f84c12de5c2743fd9094070157b49952e8307a521d8ea7ba78ee8ca9b189f614dd2526b8f447702206d60333b4fe90e5996db8257a95d86f96521e7e8bacbd846c9bccf7c785b39acb8a06bfe62af42a61a1d5f03814c845ac410085a56cbff9eb701032cd8b9259f3d60407d2690b0f74e08779075677688fe4307c01ef090d42fd02985469352c2e5600b226ed6adaeff7ff5082d09f62cc8889b5cca0605583c2c07770fc5e661b48186dcfbcc904bc91532ee59cd304090ae979dee3ede24fe49ec11a544f2770990d07abee45cd172627b5b9bc635d1b51fde9695c6fcf0c6617feaa446f342707c8296bde8523733b8d99cc323c5ea9a8899b6f79a20128f1460a6ff62ab0d1d243d9ec7cd99a38405df85aed6482a287489ff3c407a8cd350f609ac8c7723df0be2134693d7e16569c2f9d14f6d8e1df67c4205df7c3ce62e259532c12588dfbfee7ebf6c38167605091db3aa10bfbfc035df9ed46a9f475a021c35e0a8ecef1806e68dbcc22741b90dc139871f4f3a9277ea8c885e48dd0c80de3e05cf8c4b45fe2e10ea976791b6c9bca8ecb15a92103a0ec4e62e7fd3b3728a4c6773704bead3239c9c7c761ec7e096633f1ba79ee589095d3e797223763764ec2daf41edf39398259898951d1bb1c39bbf58f3632721df776a2d82ded089be47610856c8eb1720274a106faa661bd5d07ebb0d961ac5d146a8103038ad4da0c5e1c8630a12475d68300a33230fbddd8ad3c7220ec4f253c44f203cba43925f38a1ca4213f4998557d5871c9b166b6952282fbe21adb7ab8824053a0d9e1b533226b1ad36ca60ac0d4363cc8a548fd0acc0a0fe54d5900c6ff6a114f047ed18fc15313dd4d131cda3eefa43a5255c08b16c2e2aeae87c47d950f3f7cc969d6c1988bf53af59088e7fbc72baf512e6c7362c7cae5141256205fd9e82451aeb397be958b52b691712f7a61388a79eeffb1a789ef42c930a011f37d1e77b80efbb6bbf03c81eb2fb81519a9e2b1722752bbbdf71eb1873498fa93a400ff926102f970efc8b66b5a5f6c3735da02e98168f4d5956b13d1b34a4bcca0517794c6424b34d92b57e839a1bee59711be7357fdebab3d77f4cee4c66d0fc64f757243f1988bea34e729c95c0c6d9a703256d9032f9fec4b505c8e4d53ca352c657bba220464b8ed619f847caee08f80cf8e3a4eca679871ef7a496472eada32e818ca888662177419753f8115f159a3a763466466e3d2efd472877299c9f4dba1fe42dda78d800a1cd02400160cd661b5d03456958f3166d7dd1a68b195d51e22ec072717434f058fa1ade433edfd26ca66889c91d7ebe9bdafbef70d9c2a0f38480ca6d8e26b8866845f8cf01d471a34c8467938fb2b45e78dcbb7d0c2280a36b49217d19cc19dcd225d4a8d277bafa49f2b996d3dc9cbf6a562a9996911a24f4400d04a8a07c3e153867a2277b8618c785a5268ca92f1bad2c9af0474cc12de68f3939843247fbfcefa38ec2c5e231fb181cca5aba6f3b82844af6c677f996218a581a18530280342d1786d11863cd2ae8fa38484814a934322f674520673b58ba57382bd93437926e6020a738495c236f4461cea53196f9843095a8abce0069c3ae56d7a39a838ce045156fa08fb5de0d8281b93ab643d21b1211704c7056a315c36464214e37e8b80f5a5b8271ae4c80e8411aacd6f6f81c969f457ca4497d29274c63a32e426fe30bd9fe44d5032b44bdd05189e9e6b67fcbaea040c9563b3b7fad37b14c0b3695bf8da61e8b081baa162b6f2612eaf550c9d70da7688b5ed20341bcd58146ce200a5c8aabb04dac86d06f753de8023634a064d2ad24e39e1a7a16990a8c19af3b6ca4cef7a2b8079fbc956ac7e272201537b5ffec9eee4b7e4cd6207d9150aec7275d2721b5172eeac8066354908f60da569d21613d35a06844b6a1861384c4e05899565d722edadd4783e85ed95d45ade3f654f5b8b343454d474a97e505d5dad0938bfe10bfa2c513bef2d5a2bbd76309622d1f19f27beab42ec3dc8852bce285c810aa552fa173a11d39895472c3d3afc6bb6633d8cb8d35749d13821c5378e28ed69d89cd6b055b3c4140c7f1193ef69e16656c31b748d6aafaa90b04dc98962cef1adcc11dc491bfd044987ed5cd3c250e8dc01a2e72dee0a9c1f06c53784d107454c1143764b825f359a3ec40d8c7a30ac726462105a90d83f791fed1761b30c7880bae774bd44b78a1883ef1d3a8371904403a9dca9a644b411d1153045cbba92eb29f8ce3bcb518869fad84b08e1d952fb446214e2b568b923c7259f2c89b4b0351e4f5ce60296ea0ab0117d8dd4dea0513582cc718c9effecef3c94ba76576230ec80f77864ac56dc9d0ab90555c871aee88f55f0e80c241191ea08b35b464fc4266c3d85eb05e7731f753f4c0f272063dfa9ee5dc05683bdb6877f9e2dfac8c88a9f0ac274f43280222ff3ef08a3d1b9243b9a49fce678d7fd2e512ab4720ac477b287649f79d62dbf2ef671592d6d0803954b40c1671ea8607bd2ce35fc904666f88ace873e9070f9e79e302a1676821563191770de6322badb4a3a5ea4a776699bf760239c3f2de3eccf6ac741d870d082d0f7f14c48037963f0390b2e36e8f6b3145fef20a309a59afd6cd868c11ee89edc0d9f7234eed527da560ae615ae3dc028474c8892960271418c69eb089c3ef06b30503be32e211427aefb2653ea4383febcaa3bdce1e022165dfaca7ac3917460416447d6bc544ef50ceb22c82226dca1d612a914ae13360b4566bd70c23bb98894e184f1da2a524192ca937e6be4f23ad1df797ad7fd7c7be3d3b5149d331a8495ab35a5b4e0466ee73316778ad42df87c9db8249f582f4d54af1cc3af9c2e62cdcfdaee84ea2cba94cfc490230bf72bb32662d9f1f38b10aa40a96123555c0448d7d088073835cdd750e424704ccc548726fe24c2fd3a637918e16a544f42de63ffaa7d594f999e66b499835c1dc376b028a667aad7951e141b4d223500ea3bdf664894cfc0d8a9cfb86953c5d6e6511952420899743b51612cf953e6cad3c99c75c6096e6eccc7f19a197c92d30a05b58f255f3285c44b6e91eeb6799b57204dd39cc078ed02b5a45c75c8b252b928cb432f296725c2a5651da4303a9db62710c6a46384302ca9b3145f8b62652dbf19e79c66583b90196d24a481ef9b95d57e563326a2bb796dab582211b3016f4d34bf9b5da8947255a1953e39e9b993c9cd309e8ddca229e1c98d6b97d36f889ad01fda0a8c482a691613c54795683af0aff3fedf2b4f4957ad9409f01cacffcd9689776100209f56c932ddf5fc5d5598a8026ca6f59e71ebf6a5635b5b6b922d323eb6353f7beb2a5d2aef16598871ab79d9f28e4b2ab1485180860f815272eeb04b55bed4b1528d4c90d25f17628bbdd772de2b07c29a2a8b4c1411df368fb5c3e4f1d7d94b00808fae2fb64226822f6ee29b645492b8aa2827ef843903a626d19859daa36769b22770df196d878b43b67334c75b98c477faebba85f123803ebd2e2502c615f5a6f7b0115f99bd07375c7706453313d2161f4b584f6dd077bcafb2eb0f67523db8b97af39d5b039e85af4b2666e6073540ada1a7c51856a8c13e6c4cbac3827236fecbcfe7177678cdb0ea1f62f337959c16dc71f5e937a9eb07b8a0e8cbe73d29493ddc3227c8df164dd6c8372994da83e83560b3914d7b46a0a20a62f0a28538dc43d289478e8d1943d7a645fef98a25e375a274851eb6953f85cc083244370cf9a9e896dc59d495088244a74e78181353d8c7ced708dfe717162c1f46c408f08cc464f8985dfec76114518baf2a3a802ab9c667b1d8572396348030c11837e779dd5504a341c4e56a05ae184b5409fa25e260048271aca344f630226f62274e9d781fc1377388f96a0850c7f9c347a722756f646b643b9a4a452e2daa66be4db83b3a1c96e2fecbfe8d68f3417266fe446c8ecf127d4311f893ed9b66776ffbe7b1e36f79835f405dcc0d57b43141ccd929763c9a8e8c3d0fa85fa39b96f6c143b23b3ae361fab37d9ecf3aedd36536c7768130397cb4db187c45ff6a84e6db2d515fd7112249c1f9877ee2d445655a5edf30afef5217164f235e3a3b320bba69eaeab14b687b71c503229b9f69577e026fad938f91926db3a7e067f8ff08802b25af4f71a56dd5774b22f0c126edb62eecad90ca2ea0a11fd2108eff60a002b49e374f9b4a4b108a64cbaf65f0500cb74eea97fe9034d3e6003261d16d1194421ec97dbd32e92718f60a15cd4025fc472f4a1660cc1066dee43da314118d5704d68ba7615159124046bc77569e4fae8c4898d0afda98cbdff207607874dd8321f735d736201abab37f4ae64928bdcc812e630ffd02d2d61a64e35311654c424919549771e09a74fc1d90f1700381cc97e18452c6191f390778d0ea8825d36984997777e4c5f6e29b4302dd2a83d587f3c23513c5f11ae48ef14658927626b52b7c1ebbc93397aa3ab731dd915d6b61a1a977ea9d4c78b2a331e5c35eabaf1927c9bc9bf49a14f2c5e4f8374a763ae81f35adf63bd3caa29978f53888af7dcfedc691ef96ebe552cc35874b610a2376c925d065debcb6c348a649c3449bed4a89396ad0bb38156491232522ffd8f06fbbfd0516dc34088e510138a9bd7af0e9053e791acbff1ba46c95f14feace2ed5721b4b2b160879b537e91735f44838536d8b12572fec87fae7de45945aec83ed9a71ea5518cc40f1e8899f59691c6c6b22ba2aa475855907b6ce09d118bd0b8a92ea4cadc9430a6e7fe93acce7c43a4c7289b6dce12f9ed5a6b824eb4ac1c386ac5e7704feafa580d8c28a49f151859442b1269ed34f97f95f2cfed0ae022600543de4439b7e32a0c430d1a4d45f72dbf141585c767e83ad6de40a53b31d6998c0013271d7769ba38976efcdf1f343c37ea610233beee98d867e5eb4651f113686823485c21705e907ba8f7cae97c7d9056f416ba442fd2d613298dec15dec9e27628e470f969542d0beecc29cb7e8f7c611177b984adca2c93ec662e04cf22da36c4888316839efc831892a3c5f84ff6d50acb594a46defbed160b361e8d3621b64f55e850a08dfa459168b9f86cacf5b3b1c4daf88d3e21c6ede762e4df19e22790aa4e3082070900546e9a09faa1a71dd54de35a024cf20c173bbf28ea1c0657414fd9ab4e482428edc4e990ff3e5a7eeb9e81cfb81bd9a5bbc32133d5206dfa43d62453a94bebf168191927e06ff6fa73b1c2317de5ac0f38cb078c57653815de14e5b45c970ac5349a200e3ac304f2cb639f0066b6a19b32b21e713ff9248344bfb8b5c14a54929ab00c51c9612b877ce7b09ec3adb6992decd6e36a3c7d705e45b51eb2e63e8993f1a5642d496691ed9709526092a218ae4bf8bf705fc015a1825dca745671c2752f77ceeefaddc044a4a3ea1daface69abc8f0c1b6a931bc12f482c007c7ac81c21d79a2b7afe431f038df6851828291ededff56a02d5fe98b37629bf472c144369a80976549dd618a2a2812f3d24725c7ee277035869ca719d167ad4663f49705bc712c72836e3da4a1c897a56b6275a7cd87aa490461781b8e27abbbb5d44a7847e15936d0e797f26823191a32d53c3d60df045e4e258c75db1b8aaf83162323d007fd183c00e27fd2c2431a6aa152759646f6c38f37568d00dedec5e27614517ee30f25571ae68741dd52b2495720e3537f32e7231a1b58fc2e96bb5f7341410291cf1f103146f6b2317b3820c4b3b7b0e5a7ff58b16ee63aabdde67c841a88b14b9def0560fb9c402e49c083c48c0be40be2d5ae11f37392026c3cdf6d1124fe930bd55da450d94af36d15f1fe7f02ca98cdaf21b4727993a01f102939707310486d50d6fe2e460fa489044ff6b7a8f77500f9b9aba092a39e1fb9ed74100adb9780f26303accac0ff0541733e9c17637e4cc2d147cc46f796d7d28e507f64c7a14012362d3a69715df0e0f72edff4035cff00b244a5298e27224849f777fb1c1728589ce24de8ac5204b5c183f208bfa4828b92615ff3a61637ecb9d3b2fb23926ca0ab695e670c464641ef0584f419d2c2a2bd287f1b6e3d7e069809d54c4823876c58855b48719366ad43f524810ae7735cc9051f68a86fd23d38ace3b5910ac8b2ff3c0aec89b66e67bd394837b9c974bdd663e05bc67e296f12da1ba6a5d6c9bcfe61174318489ef6bbd20791d2f331806755a56352cb507ae7e8dd324055aaeeeae9c23dcdcfb5241ec3609206676f7725d054de417d0c6af5b4fb550949ec5ede56e26a5605f25388cd939d031b5d23ebe74ee4bbef9593483eace8a879afa0e3c82647490410e68ebf311a962d12bb15e3cacc6d377c9aea1771b66e745201ce4a3df0c9acea21f723bc51577198dd9ad421a06dff97dc12172545ae43d89929015b6be9f733c37900b96b5d04069d1dcdb04c91e742e5ddd87d0d7066870afd1260fe02a860a92a115d52e9960f5aa5f14b1ec10acafa073b5d15ae64f3314404cbd91b00f955314f2f938aab4d33bd9a12aecebd0837fc892824b3389dad2eca650b2d53e09249a19c354e7732ca0dd6f9da3fc15b1180c9ad3b9a422e81f896234e74a245f6da687217787560c6961c3f89783c7ba42956f20690a3de2c0c44c54ac641e1fdd38f33297cbd62bffe91f4d494020bf3a0dd018fc476c53752a588404fb7db29167b2acb53948c79da9264a16f45dde727d69815255e1f5a7313302b880ea7667085298cc33b6d69666c5e81af52e83291609801e5fd7efddf7cc926099426fa847900618bcb36cbfbbd10b9b4dd94466230935e21e9a2942d509d4f3f2ed4704d04155404103a4396f4561228036a01d1fb0fa04150862bde73b3efd6369d085cb96948b45c8b9768c96d0ce9afdea520ed55fa8bc5470a6af125575784528b446f55a42c2ad9481f436a1c928dc33c6eff48ecaf4098c19eb89835247a4bb6ea27a15b57dca2cd5a310cbf596781156f4467617b3c5f3ec25e5d32cea506a8f11facf7d816c80c4fa21eb4794a5bbfb6a9f7078b9ca98be4e8cf3520d40a252db0f29829c9cf8e31f9d5fc63bdbf4c6730e40f1b42544de5f04d579e63f71a02a59fb07a890bb9138ca8004cee066c777eacc80a46e27a28b098ac2dd34ac57ce924f9968041709f9f5c0aefabd8248b11e2ed1a7fbfe7a24e414ff6320ed49792d010c24f54be1e89315b15d95c7e98ce2a76e4c99517bd52691ac7b464f946c5a210733a3c8a751c8fd53f4fc0f54a46643eb4dee5bec7b56ccb47ef85ed4c1d744fc9e4247ce2d3226f667d69f9945c8c8a39b6095bb7f3ef0199a8e3b195db116fa84e3f844fb3275f143cbdae962bb5a6616e46e80979dc30af077c84182e21e599ff5394c4fc95803e1564071c570c024bafeca439607518cecfb10bd8edd6fb4ff8867e83b4a68077b130254eb0839fbb7ebc8f3602b162b634393fbf210e7829d81003e83291a2a8ad7c002843ef9db1af08ad28e5a863f1e86947a785d7bb4f6a2edf37fdb681a815ba2ec3ff3056e4aa819eba7046a8c3979612da07346a8755bf7c18911ed8f8a7c6e9f596e4c761960c3bf3065c3620ba9a55575b41a2607121385e6d6adedad94d9ac34fa850c4aa6353918992b9ea05eab2d1c0d0580ee091990ed39bfcfd3cb80f8ae1ffcaec6f270838a06b0f6e0804685d91e2297c23d1aaab24e8957d5c5fdc71b406c0e9d44963665ee900335b8d024e19e8d058eca6b515603570b8776de6fa4871ac413b3d11376a40aeaf2b5a283c258fbe3599d6aaab49d6f6d54713914b2c5164ee9af9814deaa891223da2116b8bb2f56ca8defca98245d0b2a0c122fd073971886d3060900462789bbbd79a3e5e71d838a92741692e0228e78af633a175710191155290d61baaa7c85dd0ffbf88855abb3f0a577a0a3101e60514d1a730e20436d2c7ae8835f954ad6228a0a051f99ae0f2a6d71aa2065525c3aa1f2d835bb2cff83ba85b32c498c16c88c84ab36a7a06ee5cd6daca8b83bcafbaaae33750ab969bfb08d1b37e2160466cac682b02b3522225191450b96634cba7213a35a5ac6fbcefca45be3bc69b8ea3b52b2374df2df06fc0525590d71bc5d61459189bcb5b125fa57a6cc529a47a61c6f0229503421cfd430b26740c8fd1cb45c5a38db804ab01754b8d3e3e72fdacd610c2ca8e851806c047f18510943e536011455ab45f645b11492ca4b7dad7f4bb8ab08a12da60aaa79e60738645600955282166b22cc10f8171b025f2c340420a27f09d87795e1ae1517c31d58273ffd7c3f3c346e104014f15be6bb258ef3535dd86c71308205eaf2cf97a3e47b2c8fc4673a3328b2ca6c31752ceb6ff79bd490320338f807c8f345e77650b44c3c339be44f5ce4aaef01313b6e546d3bf9e013e24fa5664f7b53b3a3dd62eebca0883f109f4607b166e9dde2cb86fa79395a6f6e581d3fbd0f7a70567d2f117a7cf5b05fb2639630772a45b753750fa7ae20f7254ace4fd8c9843555e3017c41e8f3a54e00d46c462c4e34bb21c6c1fcf79df52965aedd5b8ca58be559b2f64484173ac1401ea0c554f39ff84a9bf342e555d553d4aab2465bffd4cb9103b2e1eee6486664a0041a2e7725b565d4642b8168d266bc81be98d02387c32fb39e16aa4676744c0fdb5455af2098ec0151934af1d9b39d560031625815ee2427a323f56be718b062a4b7ecb1c3457c5fbed3706fb2475b734da87121e7337e013c50866f42f2b147044f279cd04fd75b0c212d16d9e136312610775099eb3c8b612d0b9ec6857362a106aaf9be0418e65ed5813f1a0169c73d9ae2c119d3bf8f1f3314ad302c8cb7e9687531f8f19b5de4613c11733288cbad15a1f975f437a72adf3649f9922bf2931d510c7414ad6bf9a57101e906329dd6725900bb4c947a4172086950a3e8b638f759141b3bb84434e080ee9e243f5272c8daea96208c2e53b83c4b882546eaec9651007356d89aa5f8d97c6506accf69ad282f1548f321cf305d8aaeba54b8d1700c316b6bc80d9dd5d088b6088ca685a60b047172818de41b937c29d4dacb236bca7671ab12b59009a6a2e044f8c37276a3c1308ad537270afe1514a9949b7936c87af093e496abaa407e4aa3d183a54ffce95bc8a840002b1b2685ab0d82c276b9f13adc30247a0dfc23f375377be15d63061cd447282965aaeb3b2d3b54a14c9cfc4474a382f1f864e69cb4e2815a72c5b23ef9c7616da5f1a0bd2398d2f892242659ae5e20f060c7ca6983463c730f5f9e0fce509528dc265d91fc0b332f6ce67e85c1db205cb36371062cc7f882e933fce68901d7162a31aa300f47fa745b6bbb93fb9e17e40343cc0dfd13c80c9f7a3e487e0ce6daa010a0af77a458fae5a91e68a18113cdafac2b80addc29a039f036bd7704a15ea71b29846bb69a55a084c9ea3579fe7c52e4c31a195b5e1f01c7b727db293e9102af283ac8364bf06c614760fb7ff239efdd95995ab1c945a0c9dea1464016773bf7cfcaad676bbfde56236e9c58bd1624694a04620c27c418865231e502844e535b885225564cc386c4bff4a521094a3cc5300314da0cf8a49a540fb88fe02635c3d493694ceb6112bbb36c53e265951507c49f0c44bea4e77d039ce9ad3b934c72aa095e215e7d4a69a5ebc43385b03a5e52e7ca4b71cff0acf5a213ef6a87c833da0abd4e8d10db21220a00e571f1d35068abf51da9a522882c27bab391e8fb90f6197b808a0ed942241cadedfa77d1ddf28677227f3ecea86ce12d3eb9b6648edcb8468795931e012bd4ea77cfb4bb823ce162b8ba13ef0fdff9ba655bf33742656c2f28750476114a8cd6a8cbfc31d333adeeb7e1a9de9702d8ee0cbd48ad3f6995801c0bd10e23de93ad2d2776d0bc755f6840efed72af227dccf7dd3aa65fed98aac3c5eb73bcb9e34c2a18f61ad7408e78dbb010b4c1ca813e68984cbae08ffe987b6dd9994b000f22b87c2b17face56075e45f49e1243bd19245c69bc2fcdfc52aba58e62a67623f5354e4b91daa67cbe09b9bf672a8e1c7fc1c20e2925d4bc485a7de95205c6f777f0f2e75618502464e3ee4edcb2ada8461d1cb8f8c57c581c8330dd1905f1e80c19e7b07fbf8762f0ccb762172cff35397ee81bdeda8d99ddae585edd54ec03c4dde5aa9eb183b06461e387627e04af34436ffbdf25c8e5685fa8f05d53039287e30d8e3041aceba301a037f9d22049b81e86f63877cc6161b8504aa49ca3f12a189c561ed9905d487849d90d16080697e1220e000359999ddefb98bc1aeff0dd761b9905422ca46a1256624492f0849a95fa9650afce072de28ddd2d9b30a9ddb4cd0fa1cc3b137048edb88920b25e59f7cdfa3fa3318d7c010bc11c41482f7ade5319c3cbb7d09bcea82809cbec3ea230e590412e90072cf2591af39ef4fbfc96f6f1827cc1167bc145651523d34c95894ba5d7a65a3b950c243afdd06d900c01211130e30be8cc44c5ada98307479594fe3a54e7756c10634c45a1af79ecad17b0f93b17cb0ee0a3dc1fbd8e31e22ad0ee2549354d38bc5bb0698222c455a8d1455e206ecfeab4f2fec18e9a09e7e557842f19700914b1ea3c2e576e983260579aa82a2c3c74e6f69ae4829f86c041246702aed5ac87e3d0f39cb37e4b600acfba0837ba433a149905f88ae25ad21096a8c4ecc5911e158e2a610038dc013d08ae929e7adc41d8d5e7f60e5e1da20f6670a474dca9cd2a0b840ac5ef994a891203e8d46a943bfabcccde868620221974f8fefc668a5e7c57004053b63c8d747f538a33a04a6c973ae37e7158c316a39a08929ba38a55c67e085a3e53ebe6151566a405b1a5eb33044e50c22b671b8a0a92f131b192703eb415a149d646882c57d44b19d943038d151fa2ccffeff0705b522d70f284b15ac67f2c30b1490ca9c1084bd7b45173bd3590157d38ab0f7116f614f0cc0ac57d16b6141a584c43fbc5c7cb0a535493f9f52eb54b55a02f0b2fee0f9b7d69ec7c6b0ba106bc5e7d26d89145d7522135eb8cb4651632a5c0a7800f986c959aecfbae995dad9bb1f130bc5ccab36222a2193323796754f370174aed2562dec6c47e971a06ebef9383f08815fb5a477455d333abf487cf07f0a1f2daae55b8ef16848a4719bd0899a4b9c40d86a9fc5f45fb4594843ad24f3b3bb1252149a256061b97b1a9c76335c28a6e27d8b4feb728f323bf85e587594ac6e7ea3d3c63e8c1efaf4ac0a53c8d355413298202bf791b03801385845fce5d8b3e92b59e96fa04689b34ce6b14b4ac6bcc8acad2e4e8ce205436fc9210ab36074dd8716734641c4e974a42ddb6da75623b34148be1d69a0c151e63f3a145f9f1991ce6df7f8338dd5aace7133a610ee6617176221d3761fe4acb22df9339c33b0eea5014a7f7726bc286ecde76c3f295c53a9532a4058e9cdad8d0e4ecb5d980f43c719aee1ed140a94a23c37985cbc8cf9a833d6c9b59b8bf9ea20308e010bdf00986486f485174722cefac3dd24487c9a489b7f0dcba977a39805f818e0ec565ed0d404c25d4bf691eb5438c6b4d7e3e190e100da55d2dbc2c6d1f5761c436a480db3654820a531254e7b4f5241a6c1bd8d1efea089d90b6d529407748e45d9086d40f7da127355036233331630ae7e5d00c259c35d28c54437d40073fecbf0c5bd4ec8313c3c3775da392757668b4df46b422408bf01daef8c59edfc57430edf5052d9caf87c011c44420185405b642ef6a4fabcdf28b94aaf4b1b63b2098fc924e6b37189b282ae020bc7ba4e80dc3c10df97d5e3f6e297c9bbcb8ecf69e84586b1d8d2b9f8c85143d8575a4762e64d3fbe5a1c2168f0ce4958a73fec691120cdb0a8e73faa552dd92c66aa628cc01ab0d803fb6521378eef294c01e096e6b82d11ebca4e9d53f5602610f8e939ad02fb17da055dc038163885430658811dc42849ff40544240405bfde92dc507ca02e6db32f29613b38cfa33998fcda72c757b5259ab5f1d691401c48b459f91a0aefb9546823ca24d1e5a8352362ccab45c8c9a6ab107e3afd6c0143fb8a4bda8282b6ac5a7cc61be655214aa8404e4bf0922fef30e07a4fcb385df3c8075fd8c34a220886dae82ed7e80b1adfca837ac576170ff65f3c84371588e2cf3f209c4ce6a390d203b17b0bcd654557007a6b89f9ca421af712d886f244772976229d77d6c9ec3dc0b76d4832dfeb85725884b57497a68d1ddacb87cbf9cc4b070b2588a8dd23982f5b76154f977778d8faf1450d8d17dc17e0910f2d8dba2221cc2bf2c1a3d9cb494c043db63dc083e0e488d838bea91aadd599d3f18414629a30d04f6dd5f3b8352c323c787d53c4ec4d91b6355d2cd88a6ea79e25b3160f1bdfa0162963c6c245a6e2145c15b8b88d41cd115deb078f3b188d588f0b448b76d9b32b29ea1649c3e6bd82621a05f4fcde017a6d2b40936a800c07b8329e8b5afae05a893f7370277bf66da819b61a7cc0c39e320684cb8288992c48bccf7800915e4fdd81496f0c6adbd663071729a0cb849ee6aee5fba5df5917f1cae0c7234f638dc7366285624ffb84f8b61fda37d93baea143814d83bfe26ca8d94b79b0658051e325496bb6f25aa6262874142f24c99ade4c641ab6344a0a8b1decbdd94b5ca7c866b3d3668649373ba7fdd55ee3d2dcd0b2fb7f14ad9d60c5e19ded1f3ac1e3b1713efa5d8e309425cbd8a4fc3e8da9eb4d180b87239f0d18332be41b6d7a8da6a7edd873285f02dfc80b7eff2a6773b9d1fdd945cf126feb265ef6a82281b2646b3d5aa6eeb617a7d7ad879855573eb6760e6e73143358a804bcacd562527b80a9049aaa1bd7a30bc805f328afcfa95ab6d7013313d65eb48080febf8e322eb95b4810600da1996f4085c289bffc97dd59943a583e21a9a0596d6d283a854e6cb9ea21c6006f72ff427fad52394008d55a01d538d9fbf052ff6dbc3c28ea4975aee659b71d1482ed73a5174bf81f8a3426b63f8edc23efc62887d9067bfb8924b691c58c194daaa316ad7f8122bcf197b72fac5211d5a60d0c39fb61dd66c5602a8267f9a5614223b792220339f29091f1ed884846e92d200f0dc9e35bf8da71e9afd18d7a8c67c4534fc507e407079e10b5023078912c16588366a32c1da96bfee49533f72323b9b584439d354b3250f258c0b8b1aa5049c4d097470df7f0371fee261ffabd2e51da9ae1b331875467491b6bd9302212cdd0f4c1b9adc2ca802336237eb17fb8bee35ac8c92a93139875a81ab2b26ecbe2d3299b0e1ac29ac92f479eb29a87401c2363bb5ae9e620337b9c7e93d0d35709d78a94670e0f6ed472910dade5d49f267ff5af7f3ee8fa837c25db8a4cfef7dc41382bdb91787d576b44d220d1c346768b3b460c826001a1bc8f61d31393fb560bbd0f4582b9b3a276968637c9c6fda73d4b1dafbd7a674937f185aec41e973a26ba8d6d7b50db59829496f91c49fc8348f938b35e03a126663d61599dfb7d44075031f6c6e9ff0ae7938baeb6c40e1c4591dbdeacef1e26cb26baac7bb495c4b359d21309df91bf979831ab7d642686bc4e4ad702ac79edcf20cc9bd041a881071ae006bc52e6ac6be75208a730211ae9fa1386cf4a0c4fc34e2150c90c25d34601a09db06bfb1fe767c4fcf72df2558748ab809ca468ce882f9bed7c8946c0ccbc295bb9282cb8f054a0f058fb6621fc2f45e3d36415c941fe45485304a5c4b5c7af951c68d539f6ab4de7c2bbb693c20d51bd811ddebd0d539509a7cb3cbd14afcf66ba484f66fea663ba82c4505cfc85b4a7d7f74b286e9cd0dbd76cf3f8d48f2fabe715cbe849b539c786beadabde316e721a7d8e7e3541745c37f703e5fbee5b90a7f5de55e23e1606c463bbbe14cfb435b9e8716263a3e0f8a7b17bd637fb2b2641fce6871a7459ff10f7ccbf3c785269bce411a9e9598cb9ced0ad8d154b468ab521960ab63a41aa6237c4a582dd27926a942e83fb2f0c45d495e7cbfd5ae0a3eeff678be5b22f3cabd7f722947fe970460446bccb7a268f2e9e8bb0b960ad02cedf67d99562363a06ed8acdcf5dbc9d9a55fc9eabc696177f56decac3be136505bef2dc2798918668d5e2ca3a734dada98d3b6eedf3954efb4fee5652bb3b91819675708e3b890dc2f0b54adf1d50e3e81316fd9721e3ef1dc529c8dbda90362131c43ab119063d1ea4a88f754972ff085d62143148e95de638c3b296fe1d782ddddc60ba975631df7c098276b446a202cd1dd3f949825f6c81a0beb5a5bd0c046d11f7666aa739b5b7a644089ec12f1ad7b2238adcd9bcd668819337379817ccf09ccd9e1fb1b0be3a85b81689bce855f5249364a8695992cf7822fe2648d5d8d9de7ecb76782c95b943177a0629019b5e117d2e18baa408dc702dae16790fd4ed07fac46545d0d21c2f2c3ed8e39b8beceefd4f62c79bd2574fc0b6922fc25cbcc65780c0cf1416b50b9fbde2a859f783669f6203d162bd50fdf9ff237d6fc9c48ce0a6d0705a1cfddf550a3a093189cc6d8bfe94f2ec1c907b631ee9e869b17b47bb1b9d910e307e1bf3db6ea18f88d41ce09ba3992ce3dd38859b6a265e250a17eca6125d28ea3adcb2cd87d1c2a9c9b28527a3c1e7fe5740f55061fed72241144274d0932abc9e8e662dff5c88e2092a79bf7fa604e63595d4b1ea825b1b8f041a11b8fa33cae280ec8616d3f45840803b2b3c007e1c1b1212074e68e7bd2c1920b0448760263343c92b03776435e08b42b01692c2a4c335d01d20dd5e97f6dc849532feaa3bdb01168709379d18768580050edcdff69266432867058edc4d5cbc71c7917610b91668ff9612b3e1c81cfd7c78e478a67f0f50f39f88851ec3cf3475855a3052b27810e1ff287959b2cc71e8d3eaab04c41ef0ea5b975bdc7038e09ce3d74b9c759877fb1f6417a6f1b09cc1ae2a3a7c8e622dea3ec3c0610f39b8a849b5081f198658b6a874ffb6ce3e5079b8ae4517107f34adf7f1e64ab0b02751f33f08045bc6dc1af2e964d4442e35c6128ec8b33d95d3d3593a86c2af8eae60f150c63c7734f25ead6d979fa540e08aa4272f96e6475fee9c2b4dd9424d107b310d28d53c3c6def773d4b0af4bc1d949a66358ba6232ea455809c04d4318eb743ffef829bca3dbefaf06fff92fd144bf76899e9ee3387c87ab7593df1d4eb60652202d5130cc59829bac78fa5879f6b10927d7520b987e289979d435b505bc4def38b206f0f31bda91d03e9436d187a299a66cf8ef907a4309dd8f6bac2857e42d32914fc19ed7720c6abc0e01b2c9c2eec0d6507a433a00c63ce740da5c954c0b5012127e8b9261c2de680c65270857b98e90261200b3641f6a4431503d10f49ce41005d2a4e36011b7fbeb031645f1e7e6298b5a7b4c353ba42946624884527e4926c0ca9a26a654cabfd0ce89da74b880bd39159918c76fa4198b7f440b10a2472ba044c0055d935683c3bf61fbb5f0f01d28ca524b5b5058218f5236fa8655023b7bc05a0f703cd06ee9868125a4912cf3c8fa5ac2dae913039aa7b35ee80336a2d29a73e200f9f86981fa4ae47df4bc302fe4de0dd1aff88b9d2b0716d13e414f0441a20dc70a35f1ac00f82c74321e8d507f46b9d121c48ef4afc7cc5d1e80c59c376d50b8b44af626104b2994253c1f6154c054a9283b5fb9427bf8c451e282d5a32a0ededc0c7fc9712aed4290ce8a5646ddfba3d0bd7831e9a01df51af92cf0a2ea5dc664d1705fc77ffc16e12616af1f658ddaeead7e5f39203480b15c2d61d2d9d945d69023d610f2bbfe87d3e5379041884489952a2011e5b71c0209229a0e87a633d606cc2d639704eaaf24acb6138e79e43dd265d5f62f150fd7896c59829f1b7ff1a2403d82b60e16100fbb8989e0ef1db51b5a3c513a82a94a26b04d46d143d05f021bf23f0029cc2b3058920bdbb1a7b8f64d1f7829d4f2770c2f7021b7a44ea2c3b6f8fb82371ae66a533834516a939c6e183ce217be62dcb78a2e1193026a588d631e85f4297e1fa458925c0deb4828b35b8e33e173cc6fc3b3f5c655de22dd36f0e9e66350f81d88b8cc5fd58b97fdc046cdf702caf425730903424af691613b70d1f4e4c3c14ae7c9e93bccdea0cbd7103b1037d51dff9c44d0f1b52be3904bf719605fcf2b6a8038bbbffe4412713af06fb62054a47003b10514a2567cee730d9d7085bd478ddc4a1581ded79cc9f0df18665d07decd04da04db3267bf76cbfc5a580a14f52cd9782c43032b8b36ca836db1a83c72c08d54daf7914f84b40c4dc08573f98ed3eabf6b4a2e0b00899a33edb43d67bff9f6defe0e2263e7f818ee0ef8f11a5bf21951770308294fa4ed17585c06a2c1641e4e72b7ed633d080b5bce2f939511db1e9995540e8af234d40511560f739cd9a2a6d4c0160f0e4e6c3d300ab63c4254f521c11cb65bd21b07e85a090715d6dcacf0c3555ad24454496d861517d1459894c56c95aacd435b2da9d09ce0d60c9ce3fb20c0053191ef19bc8cbec77a67c3bb09331a7bcfdf41b7cadc93a18ae3c7b8b6b7a1cef819eaf55bea65b9b3a9d63703436c71583c1b1f5bce2effc86a2c71b072fc298227b112247254933f989f112214f87dea19f635bf742da21d7f616a4adc06cd2cbe90b0997497b6c388be7a7f7287090962ad91bd4cf5c86ecb291e71b653f394c6b862433bed4907aaa8a3aeab03ccc9375a7904156728c957170eee202d77e26a146341dc721783ef9cc1f72f616106151d42213bd0fdd362ef48e06d81c7a5cb41d907ddc6ac00666171b02685cc306a1eebd5ee94a986da8f7c8f0d32e2b928e513923aa53a1e897c765216863bdfd9fdd886c2605a33393ae1457cdb5af3890a8e3bc054bb72f10c70f898976bb7c289ce2ea6ce435640f7eb10f02f45e3580fc027b6387b87b072585cade41e16e47f88f39f41a7b070f1c97e763f17b479cd559dc28c8bc09b858e70339f7a6019bf48d4f23ce805b427194f8a31ee15b6af9b959c83ec47d57929bb4f6d9e863ab34fc30efcbd463c13cdabf922aee669e1bab88d0a842dcdc7911ddd4fc4f666fd3a317506604674cc52b5e73cc29a00686ce0bf0977042753639ea8e177625d2d8903c49e780e03fa4e1fca747af2afc1f979178fbf4e51f72c381f998655df7532f3b9eab9409edca855e4792bc8c6a5925056cbc36ef91def620022d64f6c564490657f24a39f662652107a9326509b6e26525012b498524363165910775b9a2047b71b2928115a9b2149bd8b248024a49a1847d712c7b3521b704355efdc7acf8b86f459adbe4904f992d77c29f272e7181a4a270d3444b9272742a31ebe094a0426d15be5477ebb181bdd32b5b166f558d9b61f0dc42900dc7e16dbe4ce6aee18f21dbda60cacdc782bc687d665e50f44a6f980bd6a4c223cc21b9da19882db9032bf2aa8bf30c45c8d3a884dfe39fc2f9208a8fb818ffb3ad0d949c8fab1979598bdfcc66d7a36f9fe4089c0045ba342de2ee91dc38d9564eae7f1be06fed796b51748a5145fa51ba2573b74d6ba4bb08af7458e609721f10f88ed09a5130b4de0e1ce581a4dd7223db07a28c83f4780a0869a8f27b8e4dc81b2f66e00577f06686a322a8d1259746a358a26c9f040fbc61b4f44870ccec61ca2af232daf2ede232268bb861400dd09962df72e38b23dc79a81353d2361b7883dc8dad36836120a1d368b8fa6e5b77e634dab6c19145dee3943d99150e71cc8f9383d0f34f6674a693bad734836cd317a5a6adc21e7f6a0a726ddbf95593a8d3527758fd917b6e1f4a9c5905b34c21df4d24a63aad041dc27bddf4540e43ed34d468a76b1f42d68c547407f59197b51f3067f19a513d724dd0d01686ce6ef17158dc101ce849ac7988c430c7725c3e4d48751bf3e1e34d3bc4cb111b8b1fbd9eadf9e1103b817ef8e69e9bc10bd64b2e34cbaf811d93a4e02c155ea24e5755e3af63b1fbaa6b222bffeb3a5c73efe4032e2fdb31e71141c1da7dcec8ce40c52a15239f9db5ec4314517c12c04acb05a7169a4aa38cd4e3168c2b33f669263a9d96379e26b22da4f2babab1dafa478c02d1adbd0a8b0d08d74998cc139b03013fa455c3ea757b9473658516bb042f8ca706b622614c9426e38040cb788b4f238c90cfdd03ffe8e2f54bd6d43ec05659f1688bbd73b520a3fa45693fcc05560f38524f86f9478158bba15cfe0d965a4a3ecbff1ae3f92f537294ea6486dae0312f404459af0ff7a121771e84ba90e426ab9045f1ed8e83e6909a00d3f3835c5978bce7521941a5787ca31bea62087b8e7461ecd3d7839cb94928ee2c1d830f786e3a83674051924487a2b67667af5bb9399e6e4fcde3ed68940b94b25528123969b499a26b911e2444fb21b7a764ee00751001dec2e670589063f6523d1a5e1c878c6468c588b8d0703fa077a429422f40a2f587d21672628343acd4baaffb0314d6a1e9be923c8b75900ddde3d14d626fc1b0bbaab23c8fcf1d53667a749553f0580edc718f877c34ad40a2a7d6a1270bb4edcf5c833a7f5d432d9185ab747f39adc90070000c2f405707d6a8fb92be06829bb2bc005f60a8cb1888b26750e0ae5c32813a73d694a21eaa6784c80167763caa7b64e92317a1a1a2ca435bbe80b9f7356c920ba81d7c76e9850580a12e644aabd72c43b467faddc113ad79eba6086cce901ab0a6ba5ef575e336b102e5c380dec8439816d616284d9b8fda1ebc833ab92a0701ca7f1fb2625640c7f8b51a5ab5b91d2b577de7e47bebe096fe1b41318b3e73975b91b9e7b6005055a5342e13070b202c8e4258228906d63fc2e6e85423e06f4a69f48ac6ed89301c9313289a6267c27b5c92e68e3f9760fb2874c0ab076d75ecc5f731e839817b96d71d809bce57944010868386bbf07fd1a5f7e2810ff644d538212d79cdf0424325ec77b2bbb7fc2e89a31d02ea5cb5d339224b55a300ad8fdeab65760d457863d40cb319931f2bdef02b154e1120e7e0addfabe18763886a4fb7723b8054e3356f2fb17d50d4c6a656ee800b0ebb8efe3cb040c69551354a2d568021ec1dcb675776264f4580351a695b5c59e44ccc80722fb3c5af70809e919f158c709ade1223b4ac3f4a9528eeffca85b81b82fe2f193e32373c109a215516000054af49afb75c85134f954c2d4297b16f570e6b370886c6380b020a85e7dd6d30fdf73918fcffadb4bb51d8e246c0e552a9432c958f8eaddc442ff5b42fdc547ee3b92f4ac17a8cab5b726d6c7551da26ec86b8d9acd1c1446eb13cd5d6a9db954cc98c5af6a340ae66ab9de6eee82d55271c6ba151468bfbe1d68a4bd2993f3a26a2dceccad28f94842e8d57c59e7f71c653045db232c7a86636693a5ee1709058dfc43756e618b9cf7d5f17b2ff8107018de37f3abcbb8075ce35fbc1301b7530d3f3730f2d34ea7fbe23bf3e50387bcd7f9f5151160e31826852440d1144949fcd096a4a79e1153c02ec2f87f18a03dc0a7a40d40158131aa33b2fb40af1bdf2d9bc1523cdfa4365a3763d96699019bf09df74706f9ccc79f6250789e074e9f9245af7dd0b65bded7ab9120e917ed816440fa58b3b078cb26f87a26960614376688fcceaae432cafc38aac4bc0666747e1a47d566d64a067b83267caddc727bf589110bb0dada82e4df8a890e45a7f20e240786e9bddb3467d952ea1b9f2fbd516df6a1d4ce388faa9bf1f24620fab67b037e78367f336840eb9a5d107578c40f7b8ea1713ca96507eed13d354a6461cf001b0b96ac79bf8f9c62a33653a461e4b3ca631846e08ecddee280a8494fe9184db369d6f030ba7fcd03b228e310e59f77dfacf0a1b56530d48f781b2a14068c9bd4273ef10b06f1941ad19c4c609ce27886b03abbde5f66db8a3136b832636b0396df460b3b188fce22486ff479556bf0876d198a4b97d1feae0f33fc2ff759f8ed8bb3de902163bc1ed6456f0d237f82383ddb4c045f9c33533d4e6db002b538af80149fc908a3f800d3f10fb7e67d38b8b2af643f67e1855ee3741bd7e56faef1db012977114d5cd143d6b2821bf24c1ba799c723bb61013f28af35584c546de881e3c227e1ec49a14e5c380895ff0c258f92208d83fe922e7b4a3bc01e472dde64008074bd7a01afa9b5f1cad2d69ba072761e75c0a561eba5d759a6c2e2319d4b047169ceb09d23ea8c7c56809e166420dfa5781406f240fa2f4cb47f922abbb208f3a22446542bda1f527dcc8bd1e4dc4b89583c36475d3850abd92902ab800956a5d76a2a0d51770bff20871a486dd2a524fb7cce9769018238049af2d3264bb4df22b9ba185f7e3e371558a26ec8f417581a1a4e2ee280efc7c7d8b3557598f64791f6a973b6274dafa621c89527c499794b3e2f55fb9257212d275fc4814cfc0bcee0478ee90b581d9b24abf307a8a5dc72ab6bdab30aae7878b11cbc336cee0402e6bc894457024179a4d01e353b18122ca8b8bffb52f199b7568af11a3388f0b26b96fd043db22a970297c0d3db2b0b001a72508eed91528874e99078cd5b16be4a19b9c84b8d2d1b93b8067a00fe019daccbbdefb0773a920ba1b0f257d6e724112a1b95227869cfc75bfa16aec079ab4ea6ad924fa61634c946d033aa7494f70ba5e0a7b2e938552f2fe101a86d7324b350677c9f9b777eeb8a1ea38094c0606c5fff9e2c4bd0987028160929fd1df2a392946295c68cc2f0e45571aa734fc85b648aecf5c97c824a6975319ee2a2bdafc7701a5549f58a45ad9e910bc70cb06dea5e959cd17a5548913c4be148c70b805add51325ca5f8437c571845becf1d9525c22eb934a2a6b0227f15116c5484bbe81d508672840366f8d99020b59d0ca941abf6d892bbac9cc5e70f2a16cb00ddb26585399d6e67454625f980af125cf310dbaddad590c4886fc02d3ce2f5138fda178e86108e1df725839eb8740cd6954324b0375fc196b65e0117a6165ced374aaad3a0a8b30c04c303fcf7f9550d35741ff62693f4f71d6ed085511307f6cc51b2c49b50feeb9bcfd13e0f38190dbbcf03a2e63e7cfa046da125ca8c718824eb653cb4e78d6fa633782c13bc599892f3147b4e10b44093dc08e88aee56d076f340747edaac47157d1300910bd632c0a818377e4e427e313ed1dd186f608341c031221146ec1d08200168707b0f87c2fd609d01024a13b9c191da134b6df5a266b924d291a4b7a74cb92dc34da330901c3703268587a3437b26500a474e06c08058a91ffc2dbca919613108fb54c8628a24536bc81481893964c5fc445600e2140ce124b6833e2ff64350661ed5dc6a3bb9cda20319debaad2ea68c028584e0cb51d25935c3171dbc60bb89d67c2eda68bb80d65e336b057c4f21929ed224559dbb6c96b7477295a4c2a2be6b19d0b5fc05845bc5328b4cd5187815a9181add282aa82ed334fe9332226e1dd3d1b9380f9d187a6d477e7aaa97536519d74924d794f9406ec944da512b36525d3a43d9cc851131cf6917062667ba1fba2d21ebee7ecb1db6c5ab4c698e4ca45077d3c76e1ec935ee3265f66587a76c24242147aa441477ce47121eaa66870e7ca149477c35631d6244c0e0a976f1297f59fd0d2998541d3b40aec7fff08fee027aa20a7d425a413795fac1ca87b3fb7af725f76c974aeb615136a72eb6e58b690ee2c009246290ec8d23882d8160e3246d0ced592bc0d8a45747403981c44192bb81eddec855b4ea34bbbcca8027aa3f4214f50babbcaf1465b2923436ec6c462e6b812075538a9c449d5e3843019b63dee01a1f604d1c5aa1bd2b57b2de9ba86991b306c593876697ce2bbe48f0ec8014f75a8b73975c89925fa4e875700d921a47599f1186073992b850774aa1f28a84560d3c037aea01a602dfc16884165cded0b9cafe0f691b3f0425af68dc9e3aff4432eaedc3d922cfa8ac6c427054dd9557251ddd145a855a03980b594e10ab536542f098c12623d3f2f903a453bfdfce7384d0b4d935dad2e3e394db9f706903a5be79f4d0d81062fba82e5c4045a938365afb706083112514f501ab1dfa9386f0871eb047b0b628be3a47a2852663e3c7e1027fa584e40b7716f2d0fc1fefd9d12c9fbaf71ffcf63b823e5cc4851b3b1529cc876021ab3e5e134225d481628c46fa13839124ee91efa1ac8766aa06cec23c7bf657fa0c959ba0f4d70d677cae324c3597d52ccae706d42db8590627601c4f0e8e6a92a7e20c8001acf86e122db2628b167287c3855a849ae91c7bb64002f2a5b2b458678f07790331664cefae3608a9f1928bb1c250282233b48c1ac63a314ab620d3384d9489b410f6601f600d3dee15d07f4c5fc7bd48745be29207caf61d0d576804b477375b1ccd2799412aeb2c63f9f07380e47cab41b68c88a95cb7cd4837ea0c5c763535b3ec70840a0d25285bba89e136a39c024a5b63679147f3aecac753f328f8951efcac332b4a0218aee6a911c2afaadf075ac35132c3d33036565420f22789c9599f61ba62295f2ff0e30bf63d869a7e2da8ca717e28c912af2db8df085b0202c0b6543e061af1bb2bb2e10b359d141cd981533b33735c7057c00ba08064c42de0bfa4d5245828d358fc9df77deffcc188df502808290fe0d52146ae0676c38a01ece2cb145dedaceff973830d780b3cc3653cd9ac92babb3d8c444eb92a183af7cd92bbe46a8986d75338a779fab922f9b888d442b372f36cb628d5d4c587e5c1baf5400040fe57864e8e1a79c570c05debd32e5fd7f1c02eaf222cba6fcec07ae87cabbce2488139085c21fae14d61020be4064ac7b305514d0eb9d6f9c016d26919fad80e29cb974d6e6e8e96b4a29c1e0ecc2051597234fa8030363305c579660f3d1211c6b16fb12176f781ef55b9ee17ef41ac60ed0ed9dbb9b792e213625f75d000a8a0fa7c79ba430dbc005c607b4a4761175bf69a07d154c484fdf00f66c97b9ce4c8c717488bd64b97ad495cb0ce4746eebdc16d66f5c3c319b4081054ff56c81696bda1e2d76a12d092b4819f3762603b05142813179dc82b5877b99251a628001966a38bf67aa8ad397a62a9d7d65add2d57776dab33561516b15cee2e64bd8ae3d4454405c8419cd2e47d559d3e801c889be3edac0701bc106dfd769c64af783d900ebc92d22b727233803ba5f429baeb81b46d8fe862ccbe31c4cf3fbc9c212b56bcbd21953dd599cd5163c2d6f66801d167f64829eda01620ef06e1903ac28ce05cf97845f98616c3811846842dca6807a157813ff959e4e4819349ea3abec3f41d832cd72439c388de16008895a3fb2c6813cf0bc057bfc400d10df5862ef0c027f3e442ca91605fa81ae3835c4546ba2275698ad9b2ab0bf58193216f248a6762b2bbad83723d8eb0ec5a8759a60a8b139409e0fbd429194772e28b404cc415035ce771acc28a63a8fc0282566088822441cc186233f37a29e4cd5007a59e2f692d6687e894594ecd7a98790828047a03e945da7563f7f88c1cc85d2e7d6eeb1dae7a036ce26948739f3c33c42398e1333a43d28394ba27b36b7594282feb3b5153d8aa23cc83ebc4c757d798bcd88fcfad02fd23e3de75c655b88bd8cd3ab28268aa9bc78529c6011995f5995744c0a12a3ea7132eeedc3f76a06082b9b1535f1238d9ec5e7ca6f4d057108dc658b939b7f2085b693c2a62ba785f43ab1c121feb17eed0b231bb4e355718bc1a38ee167456d7d8e1378007015cb44b7cb71289d7264532447990c3219878388e91ea781ad4e09a1a07ad3c84c320280ae103c1982a843408508f012c19022785a04628cc0ab1124cd111455c71d1b6d05a9ac0ab854bd3eeda5a48eb1caaea639815775acf867698c6b0bf565684cb0979b74bf2d49aa3571eaed69873f94ae522a40c35fe0334ca4960f4159e425f426a3b2624769779ba2706bbbea4722c580e1e80933975251b9b49784e4c4db0949d3187348192d70c474856c663035730812a71468ae0829181308a68d46b5c499c684ea3b00aa2aea198e63c43ca0ebf14f8a56d309c45d811ec1714b411f78e75796f93753fef6e43f5cf5e3907eb543fffecedfc1fc07547e4cc8afeceadf27fd7dd17fd64819657ecc5b7e05613603fcce519ea47c5c9a7b46487f3f8237510599bf252c653971c186276d6695a7b2941309b136e63f3733875894fabc6cc7fca950570a50ed85e98692fba26f3fccc3c122c9d9a92056f7f2804971ef688c14c40e6990637e34f5ee244c54808b1b258c756188901d288a5cbffd777123ce4544c4670187410144238ec0840bf07a045698016ea1bba6affdc9f3bb34102679788b06db459e6fd54072c8c5ad3590fbb8bc8d06521c17b7df4042e3c26d1bc8605cbe4d03698b576e982e2a760535b97284f57e4bd52163f4b71ab05a9de40b46a55415d63d56053d808810128355e068f54ea32ed5718c5adf1ffe42cbc09c2a88cb7bb0c50447806c392e0174023ae5ec890269d13923c579aa80a8930816d1aca993fbee98296a8b54805f296238d55c54c7da6a404176341b644f0f9439c3265e3cf9931920e7568597a2f22cabe490d4b07acd291ac809b90fcefe85c7154813b9995655bb7f69aca2fb978daab87c6f50cdf1d776b0149074b6873c1b206b928e4e4d856cc9fd63150d20824e47a317ae0133947621452233bda5e1e605999dba637809f9a24239bb8bdbf6c64d407869dbe079950a041d8a8fe4a2b803dd0f697f6b9bda6229a2cd4d1c9ad8b357714f57553cf3f6f54c6e0f36f031c180e6c8b625ec05976ab5280eed720d310308419bb18e052bb77afd0d72bf518ea8e54b95f1853da899252d1cced2c09d6fe542a8c4044c2b3c82cdf312599a2112b27474c935b36db5ddc086963965b767581d002d4f3e46286505dbe8de7d002621435324a754a308017e402dae5dcff1244f45a7761c17ad2b38615761daa79d29ec4ebce1ab123038f6eccfa207dd4af40ae84a904cb7e590f2c46ccb1129b04f38e6ab14b0d08817023eb28cde7954bcd2b48d80182f178ec78bfe6f163995f0537fd3ea169a230f0292fbcc403069502097da667f67a4bfc8fe161830a6dc3bb1447085cebe7009099c756173d0f5a4fd6e17d75182ef6ed96da171d712df161a86761fdd520df06cec5b502ccef05ff3c4306cfd775fc0f5786c5a72af350a54da357040c4de83ae108e0777741bcf7c4b8804210cf7c4090a47e113a45d6f769c11d1356efc71e50f87695c8c8101cca57e4577ffc2ec173d3670b2b8fc39744c4bb6a2cba4f9a614df24e5e590d9c2e429b3b58c9c9be3102509c8b559cf354fb0ae29ac59be8e0006496a2e7a93ed46a30157378e3c134f62b78bd6021f20db1780fa84ef7c38f94036d4b2e882a5add123f9bb6620f6b720e5e779601edf9fcc6f46e738235d97944a2fb01a8e461f90a005764625ffe96a04ca141f8ffc40c1550f93777772884c91f9c7a4ccd35de6d8a3b4fd324a3b17f3db3e922bc1ffb4fbfd9a14df9797f5a827c1f1bf81f8c1f1e68fb27d95c0563e0f3f2677bbfe4342a8b28a8d4cf0dae296025cf84d88890126d7e383e2bbb94a71e94bf8e00e3e1abfc7e44a6cdc705432d8b008e10f73b806876ca39921f80c25977ec65f128ecf3b7a866a6138c0853cc3f7e20a8aa62ad6021c552d241a761a9daa4be495f14713d5800b58af18c095b33f747be019fc6f78e56bbc1d178dcddcf79f3f03f2979561bc601449cd8d1708d9d0d014bede35bfaf735a609f84d7d5b9eab19657c71aa3aa74e0d0fc3615884823c31e7dd1e7e9499d93dc594c9b4a84934638c0140cb6e880c5027b22faf616a20b80dba58d203d7c23668d581f4efa52a4cd1233eb008028f2c03ed2f0b80ba9595703c00fc6ecfb5293a6aa0efe8fea6cb7f138da61fdaa83c97b49215a812f78479d6b77e228a9e79bd9bc1ced0bf80e11c2114aa9d472ba878b827388184136468d06055a463b28d4a9791392a4a89de64921e2c99131b0f4d6283e8a437108c58e878500ff06562acf28794fe988c36c4787e55c6ed7d8be6a4165f0d33f249ffa57974245621d40237d92a0031c9f84936ee09e2a03cfddd2e7320792d7219d65b46b6b17bb6c08fff3a23fcc4fa416e4819fb55e6304f4d36b16387d68db16a89f8425acc5395c116128ba6a8ac11a248cad83152d78e5af94782d36f0ddfd2e99ec01366121084b1f3c21c9c2d29a9e069be27a74a42452e44646d965872dbaff778744873461b4649967f8a58b9c066159a441b02a41cc9a22501f64f9ae5e441f9896988bdcfef15bc7202620d04ef31b83291ac205bbb21f869b2549a104fdc21c404cf1dfcb07f94ddbdceb08295884b87bdb3701db3f989b0718ec890b708fa4f4c54376b6f1bab7d13ab6d13ab6d15b17cc53c31d93a2b399cdb2dbaf32b342d49a88eda2432aef68f4976ef349b5474346b500ef61d5758cad7a174f6ebb57caa9b4620549519022ae9151f304f2416beca1435892c6c54e6bb655391d04f5d32330efb71410a57cc0122ab4cbc274067cd7bf5243fe5b27d5e4ec199e0397b72bf895b78342d78cc99379abc3dcaafa1f002bdf51f514008474abd48c6fd9b7c6fd6fb9b869f65b8408df59343e567c2da00001b6d8c117abc33891b8b358feeb06c747bb1cbf0d7587219f9917534ec881dfda7f03c8313bbb68738a9e1498aaef492878e05a58af81b4ccdf4b725cfb6599078498774068005646d13c9de7694387b8fd0f3cb8c133618fc9a7c35d502945b1771a9e580a67d02f8ae492b440bdaa6880e8e762151a1209a375f313645713728e88d79b9ac2792700cc39cfdc16ea5a69fb777418c06b581005ba1220bebd017ac7867f3b20b20696ceb5572d0df251a912382b2f6e4a1ea4a04a2a6a14bf2ad67713a31ce0cd9d87815ad4da7381d395e6bc67ea91a2383e6f43d6a80e991aac5fda4baf311b02dc7604a3334ed313242efdd4bcb1f466178f0d3a814eab4ba58d7a43e3434852261094d199eb421b80604182e6a2dc527918105466b4be6bcc75a11df0d4148f2fd252ab440016f3bdb680aec8aa8219040c882c08d94984400cd3e8256460605b68c76b27f808449a8b7b53f501f99a6d42144eebe82162616043121ab099f5eb06a891c3b24704a38d7643eb8348ab996921a335d78db880a94f1d5e48a944c0901a53183aaf7834419e10a22fc33cb185f274564db75c1853a94009f4600a842c689e2744abecf4183330b027010ded844b3510b41abeb45c8218e878084c00d8b964a4927a137209b52e87162fde1fd0ab68ada607b74f8af2834503535a271862fa46189626b021a4128684800d0195b0a524360b54849522b049a4228c34810d21953024046693af6a996fa0ff708867361cba47f300f8615ff994308887be6b7cb4228545da52fea140293666fe94424dd8f5d4124e2211a2b369666df760bba8444752e021e99d5fc10c4b72f2f2f0f61eca675ed4b1e6ad41fe54d401dc75013a06d9385d308e519b0e806b38b5895a99dbb16e7c56fe3885adacccbb4ac03302ed8cb18d8b90b9fd760b07301a93c7f950a8401092f72fa432a78740182b212dc2741781e0a88aa79dc82b697172c96d0ab8341481df428decb6b6f796524a990252039f032f037b7c1b6b318a9eddcc81b1310f8bc6855d4927b1bdb65adbd5c5933bc8efb338a55c0e0ae3dc93ce16aa281c54678aa8b06ce84481fa01075517398a3b2d1788333d1b71bed7139b9ecd70e3dd79bd66dc2d826d87a67f3569e01d7b9d1cfe358aa3e864ada572655adffbd5fcc079b407e1e6b5d9138c41fb1bda5ff3e7c3a399e3dda94e3bf6e2fb7c72723c00f1b407c1f6f87360885f5f1cef0ada0cd7a3efff82bdd9d7ccdfcdcffe27e2658f71399586cba9e6d7de79664f0833d8bb79117f41d08fcd9e1bdfb86db8f1eebc1e042ebc5738f667d6fc82f5654fab381fdecc7d54459b4ac88ee578705f7f08209e46fb584e08374ffb1e7e6dfe82e3e3decdd3cc5fe5ddb80d633180b29f8de0c17dda8700e269dfd34f13f1daecd11e9bbf9ba7895fc6c079dfbd105fc38db81241638b1cd8f7f0d3be775fbf8e131deb997ded65b81e102fb381c005c997e17a648ff324397ec5f9dca9de15a2a8c7f115c3cda8a2887bedf267dc5d9abdd9d7c4d186e3c0b768cab06dfb610c4601b0c08025c48bb83175b6a07d9c59cdec91fdec7dba18c0211066ce7863e68843323307d6d37f67660eccf480f698f6380704fdf7f55f3dc3d15e86d36f69df9b3d6da6cd9fcc653430e9f3b23424d80a68c6c94c997bcbf060da3616a3c704fce2873708c613cd1ffce15baa1e8c971fe37e60bc1c23347b4cd096eac7f4bbc303c59678c28e4c1409834d4d8961c4309e26dd2e4f93c21b4ce10d261e191a009d2a1924b511605b040d804efb3ed1f1c8b063906ccbcb3653042c15fcd9d714d1a0d8127168f9000b447ec0485df9995a001ba132454dc24cf9b0460bc6f886591324850c159930d89df4d95bdc2fd82b49d23ef92fb327fb6bfe6acc9a5adf1df1c52f11841f66de27dd8af810382fe271ded6c7dfab8f71cff6d7fcddb79931cc5fb017e2abf9dbdd1df143bc083384f9c3f9fddd11bf6692315c69fe82afff950ffb97d99bbdccfcd5a4bb23feeceb57b3347f23dc1dd2b4e6affedc1df14933e917ecd5b7f5abf9dbc0dd11bffcdfeb775ef5a82adebcf3aaf81bdc19ce792308dc2fd823ffc6fcd1703de5c35ee37a82bdd2ac4c3d26970ecd2ae4ee88e29708d23dbfe007cecb1fbef360664f7ee7f9aa90cd2bc5fc30e667e7c408ff03e7850f42e5655e75ba567c2187734f766563f8a48db5107318dacf25e48d77a5bd29e1b9c1e04949db742c86195f9b02b980b98cd44aa41aa54057b66c7b0ae464d7165adb6601803d059a4a81ac6c991e0a603394831719d62ccd00cc817665a53f3fa43f413d9e9280545013a4b4a425144a817e723475f5d0c505aa0bc9c5f92e505ff7cad06d9bdf635706cf04ec83ad35d20213930e30459e84501f58a6844152645bf6cb07274e549c54100259e11a52c4d5c4b502f655c7b725edd64ad9ed6e43bb5b0d0d3eb0be438e15a4a28e40b9e212fed4ed5a3bb498ba76deb50811c64008af648770eb0e7dafd692b5d58948eb861690cf092c58c10184c90430d4c0d584a8cd9aad2d244533319bfcd286858c73c6459ad808ddf8022489d6d6991bae9fa52d60b26cb132a4851e3678b9cd1617714b0a6904b20544cbe9964266c3b5447403d292ecd994dc4de82664b375d9ea2d4827022e9b8d8d151b222ddc0628c4a6cd511ba2365959bb9c7346cab8e69cb351169aac2c2b64a580859a1544d2c9e2919534228b7e3546176b6bfb8fd8415bac34db7f04168db743619dd9fe8ec1b540931614b40c39810c5059584a273091590c4551144551144551046a5541993132e5ca8f355833c4b09c90a65eafbd634a0fad1f5b58c0a8c1fa51b15e30ca527d5e606a41992338eca0328255264987055e258c992b402b37c0007475a5a54367cacaaa04bbb61dcaeae827eb8cd1b9aaead249538546a7aa6a4caeea61fb7e677fe884712c0406c47902ea9ad622b6435515d9d9b44b41c9340d41c9710217b2d51597d7d55451ae7a02d3c1868871e6e1ca095f3501e22b1eb3ab184ea85a61ebed505547bb1d9871dce5722dc038778564d54406eb692acd551a2add2e021cc4b8c00824f809df21f8996d9f6b216104dd8e8308e8763b6c9d7ca368c5caf422ee06fb7e75fa79013d792225b5d391ea92860a1a303a5169a2727c814213054d93dd8e8771dce978d1f172895832a783fbf95f5cd367579c0fbfc74431c4f968589efcbed7d7bf3c224ffdfc39d641fdfcb02761b8dab5c387d53bbe48c3daf4fdd5af9786ddb96e1b8b91e4fbdf5c59ca64ef6f6538bf3b95cb063a2bd03b14325959beebe4accf58cc58f89796857e77bf3b5fc69efc21d9975f6339bd98e977a727ebdaa42d6f0bd95069ead0e765c731e4d20edf5ffc0c8506b8c3cf3e9f6d7ebdc75ee0d8c37025cef7b32c66ef13df7df7631ffe0c57f43c9f9fefc76266fedca6f0ffcdde049b425681f0b3e3cab7f767346cecf1bfc4a76177e8a3616f15c312453abf075796b66f67c2e75dac8a23505680acb03cfb3e6fb2ed91edf32bdbea1561199a366cb3ff007d73cd260ffefcf533092e5dbdd6305b5c97f0050cd82540b7e31786cf0dae64639e6ca3905e97acddf6af75bbad59a5c2276bf531da316e04bbe232ce383b214f68c7a47d7cb3a24d78034803680998a8b5d6cfc0eaea5f702ba33930ab8dc5fdfab516406f6085c81d4d02638c317e1356875f8731c68f2bd65916f931feb266556453f7a2ee20d245ddfe99001a18c40f0c5ad3479b227c8ca5efd71be4005e5417750b40bb8837b62ab2ad14ed108dc3fc786bab0286afeec0f86cd22b0af8adcfaeaf8a2f0cebc267e3b7f6efe7180c0d981bb779f0dbfcd8b4f744e116e616265742fb7b98ad75f76c4b1fa2cd666afb39a139da6e5474c64f86c469c7e45b16d69a375d2b03481ded980cadeea68326a1f34b60444d6769c7658e1ad245dd01a09100d08e67f9de50a07dff2cc6cf9fd3e5ecc3a6814191ca5757815f3b06a19973bfeebc7716075244080d0cba4d9101298324dda63580cc94f46e6bb4cfa9c4e85d20031b10f342db1f5ff8ce15b0b41cfcb1adb71d6f0e3667d47ddfbffa7f0f435dc211a11a6d310975879f43d3477d8cbb952ae332e79cf3dde0d6bf8da9e5b52a203d7747581d0a133a363eea743a13bbb1ace168a72db206429b7f775e88aee3cd071d74931b471a0a3d739b4dd6236d4ca330b7a741346c2741ba8f340a30a9c1ea3c0d12b2ebbe31d14bf4efac0adf05bb863aeae7ec8aca43b1eb1f597b6facc5d5be71e318ae4348b72a6ecca6413fb66f5cddca7c6ecd80f879963f7c6d55843118b58ae2e7176dfeabf36b9fb0da14c8523b26af68985d00b0687b2a54b40fb03d0dda6275108d6f62ace9e3d697f68dbb5a193d77fdfa6d805704d4e0b13dad81b40fb0b59fb810b891e1c02d0458e0bf5fb3a5435df6e5ddb486907d7d884148177587da45d245dd59df07062b0e69dd4dac81419b4d716b58da2e21eb7b3af4b43d053e6d14db53e08eedb10e42f36a770069353078f1a7414526c8aa8141fb359e17bc0f0cfad7789bb5d6deb7f6e62d371964948ea5f4926bcef976e1f2cea0f158b33bd9d4b727ed7894518a506e9e3419dff186f94644e71066eaf0064f68967b2fce6899180f62198661288eae5494a25ab0f2f57abd60a41293d28e5449889253aa2465369bcdb4569a52ea922a59296dd56ab51a0ece5252ba6483dc8107518af640b271b33d458398326494aa87ae699d8d8eb25152d01b01c9d506952d650a7925dd0427c686a7213d8da427902ddb9e9e243873a04840abed1bcb6c4fcf2e797b7a5ed9e4f6f484b25f280fb4879f8000493285310cb1215d82922e614997bc48916611d3044e906cb6bf617b1c1e182292428506a6205155486c31b98fabc581e0e80a57f542425145519db1591d08c42f3ff631d387e7bd982cb77d847dbdf0adf3133a3f51475c0e268ec8e5ece357e99351eef0b5ed089b3ca199fd56c9591d800e689f2eb7ad2d45e2b1ed9bc820e77b4a42d6edd89c419b41ed3a7548c7470648dfd6da091cb9602d0748dfd5575e938aae7f6fe91854bb9d760961ecee588dda259432bccb1ff60c719770132b652584bb3e09f567cf70c0fea96eef5193f4e85b18a300e9b2e189a98d939326407234bd90e5ca8f7c3b9fa053500c2e0f284d9ff864019acf23188e705513ac48e3526c670e288adad0d5280938fd87d8594fe055ea5678fa96334128167aaf6eb81104090542596742263a8e9a0a800655c059b31728b4c9db4c41736ba48a50106710678119f4ac42afa0b0d3a3c41f2be801ce14c6a04dd0a4aa24ec529504e067d6e89c4f50a772410b0825c079c2b994022e95094a146733556bf0a91dd0dac3123328151b7c4065a71431b54b0dfa24039ae20c3303ea54aa0e2fa20a4d927cb16ac3e563c712a3168c9a4e9c6aa250d7f2036ae2e4516b38982f688a32a00a712d148ba248f47a894ab628469d4bfc4a831bd01d284e2ad4eaea15062162448d530a423674381da168130a28101e5015e71228b39304a863e98186384d009c5f5016254ea00e6800ce2c1f83e468c4a00638a59a8a84414b807a0f24ceaac52ac532aa39aa10ea2db8e139380e64c8a050e8eebcc1061aa21e313421aa4854403d4b05e898c1c9a4b2f12ea82d6819b401e7ce5959702f38a0b5055c0370a79b330b5a3b7d052818b4c43900e7dc021e417bd4271dd09c1167972175a88c736983d2805e70a64195a00858c029e2c4823ad9813cdd07b7b24210c591a41af18112a982befe64e20495d2a10d09b840e1f8f28417864976981af190d48482eae4552b781be11be5fe89ec2ef744355c7bcfd9d0b42aafed69d193ed69510d3b1643252125aa21ad21e581ccd0724cbd72e427b194084b8e5b575aa4c28e6d4f8b6efccf8debc685b3eb92d64072ddc77bb572bd436faf078ce2a8a4ac984629748a6c04200000f3150000181008070422a14810c69aa8a8071480086d74346048281886c28030180a8401c1301084610084412806a1000660108c2321aecb038efa3f1b5574e66a105da1e07578c3e0d780d593e7d98261f8e943f70394a0422f89aba8dc2062301ac9a0a3ea7c4a91b0be84630cfe92012dc9c2bf04fe1b9171ef83645a5f01ee16cbc808419de3dd6a834678aad129f1de7b9329ed651d28d5833218147240b55f08d55d94d50584f0b3159841c8232109bc78daa961a9c98a23b2ea42486e1296862ee1c446172017c8646f38237ae990931630be27b2e3ac35fbf59732ed084f8e957d55099ad3f55764bf044c91b70f9c163df948109d8d2c19ef01a5c1a0e0be890ffdd98214a1005ac39e760359644796a7c4e203a1c5ecd8ab4073642969aa4d4baaf0ec817cd2b95200dd11765d8ccf8b01fcb646fc12b04a867e698a4b0dfe60d712cbd9d9e340b7e9b81ded8217730d8e9ad4452cec52735f402a389dd78e7a78f8a12ffa76e0e16ac9a7f8c8a07f2645721a6c95fea4a6c277cd1bdec8705fceb0831ea62107ea3b3ed06966c01bc80cefe9630b81cee68251184c98805058d450491bc38d33eb01b7712bbbee59ec289aaedcc14ba6c5310a980d7ed21d0c32cc06c7128f4e164084937e404480f29a0630dcf70e95d207e56428655fbe534541c2c3329e6f9241c14c5a3b2372bf91f6c8cd1725d52989561a4cc24fddf8ab38f676e587a6c5feafd4c2512240ad45e7641ed2ff20a4857a68ccf3f05b8850338c103445567b6b15fb3d08daf4a862c97cdfcd2c24baa2e5f7ec3fdfadd54a1513ea7a3223ebfab242aaaa54215ac1c3b9abc8b42fe35c61d2d73514f50904be3859032191833cac67fdf8c14373697b6de8a97841423009ac5db2f8ab1c84b36383e9f100e65f0616be1d60bf2e06dd8c7a3b45b1eae66618fc68cec707061049e0c2313c792b0ba3aabfa2d0c19f4d5c292cc61dabb0549b69835c5361c180d8c402c48d09e99c67591a9a4204de9898cbdae2a1b3e8c0360cbb79b394ab4e3018d67f23489d558f7685867a19d8734fd2faf12aead60220dd4341ef11b8fb9e7bb935c31d3351adb40209d70b9bbff7f8f124f5b48fe4437735ba35a7517a6ac93c3a89b487cea041bb03019e0cdf957117a798249bb22b76033c07ea5bb560a3e2afde5ef52eb53d1cfd10ece067af187425868cc603f141fa21c441b68da7762b247035ccd9c969c221ac2e16648baf438acf29ed7e88d5447d781e1a68b6c0c0cd352ac39d4093b198336a84ec5e3e9bd6fe1b9a8365c59134ef5eaa080162fde889943d2269e2e2601c520b7ada00e9bf52a57e333511d8d3900e68391e15405b796a303fb1b6ecdf9119336201e51b132e9f1130555afd882483e05de85f768f1294d1a51fc43cb5ef150ea5bf2d43ed384130101110f007b750f808a0b5c5699e253928c97b82d8f54c79a08dfd60151050f81eb5a6e9070ba407709b8ab14718a727018f68cd02ec81721c884d08f487718779781fee10173de0fbe0f3e6093f77417900abf359f5308ec083eb03690f2a5878361b813f48e1f1c86f323ce03fdcedc70f2ac03d270d3f84761017360f60bba6438fb601678ac181922918b0c2de3c00a1c2f7286d3b14ea99b518f1e0ec4bbc79085e156a92a1a2e9330428184f493343bc40b810a0819082d523ba6601f6401df70fd340ac88f634dd0c20f2fcf61cd1a9403c2cd77ac63ce3dac483050130103eb79e90360b8387df4105f1b3de53a8f3014e8fe97a3fec3ed4824a0bc21dc507b487f70714c4153cf8ec7844e6a6807bc46b08840ba262201a673c266d164f1e9f6b15828c57f7481d07c41602ed0106620391f83006a2f901c203c0405c301e923413622e10197f7a141c0ac10908290c3c9c69160c0fab53425c7e3022c40a9787dc1516c227cec37cb320e269dd0c215674798ab5090f0808c1c3beb4d534de70752a9f5869b310f5b00e0b20563c3c041b46207c2679846b16453cac33e4c1fd83eb10172e9ed33a15200fb475fcd0f460b41f566c8d68b172ef3e53b050dbb28ec5470321a6f245580269c17fe01826af259b06f0e5b2bf2e132143e217f6a880613b1ee03584cfd7437018f1a0621183cca9e2a84e0c4f8fd9e943700fde270cd0e9dca5c56e6a46eb05f74bf8963cbd81a05de3230fc69530449eaf87899a05d433773310863f4831f330deadc8f45cde6681f0c4e2519f2d45d5c3342cfcd0f3f50891631cea9137cf3c58c87b3a076288eec13dc1d82cf81e8ba3e0418540fc419f108e273dcc350be29ec61d8470204083b868ede1cdf904f5406cc57950c1f690de4e880b082fc40ef1f287b707dcc6e39c844d0340f8fcb0f4b0089117c471223d5dd7a341066ee36a6dc7d3d364c98675f63aac2858c5851656ce01910581fee03088154c8fc90d4d8828ae3cf406a10f168fa7dc617e80f93087903ec40584277ad773cc534cb338e851bd9915f240d8383d4c037101ddd3da0e3e3a077ef8fa50890715034f619d4f4ccf5dda9d0a8fba4d93912800c3a18e73631eb6193e381e5c7fb070f1ec1d803f509f8c6997d715384b6c6cb1b8b7ea27d9465658370f8268fcf3a069903c58243df94e8000f3a10921fdc16010172c0f48dce20d9efbb728688fb1b88b558f32ee13c31e7bd3d0070bd703644d45c62322a72cd413ca591053f9e0b3efa9d1a67a40208410d71d53048cd41140c07dc886007ab3cfb34e239500edf001c1398647dafcf860e1e2d91c18c4bddeae80161dd9640ce7a1af5bbff747778c7826d09ddc5974b8540fed1e00feb980d9b1df7bb3cf7c0b477d8a76fa8a4f151cecfd0ef357c3376260428e0cab16441b3e3490c7f7233f124390a756ef2e1ec431f8294320d471ee8ff0ee4896ef5edad12bf6a1132a68cf86dc18090e2d5dded79b9a58d7b2dbd3a9ec79788d48ffc5c78ee71add46d5aa41547deab8a29e517e3667076bd32f615d09c27e4c72c8ab3dc293d675c8d4b3e1ff4b0aa13f4848e63d5a089bba3141e1ea5697f18212e0286346b0503f92efc56ae8353717f360b29ff7e20eae8d6fa9636eabb93cd9e2708f0e5beea5debde4e2294a4f5f860e67cd785b3d67b521ccf7b18c21220b5932a60867ac08960f13ca4d208d3d185faf3d35ca613c526240d60e58b4d92e38258c972e93ee267814e43c342e128678a9f2d4a8c00d3d99db65c0d3165d4069085f6726dd1824e173d0cf48b616b20453c7d8ec67ea537cadaa538027f8aa261245277e2e7361ddce70ad5a434cbec09cc6f5ebfcfa4c91ba43ecafaf1d462756c3fb6d3311dec8f397376555b06437e4c825330ab5ce5ff99253222a0b17d709828d230ab18b62bd3cd65afb9da49786548145dbfe48ec3f345afb052cbd42ae8001c41711d5b87d642c51b7e3261823e9c4af0b8adcd5c4de81c49eec9b662fc80376477e6227af58bdba77b405e1600dfe80de01c9eb9e4fb63e5e90460f352b83ee3074927b51e5caafd3471317d78f011ee47739736b79fbfbcb9a5e572e134c36e4d867a8724825950ad0ea9e2178640ce7b538f4133f4faaf55612576e7313d141900e298a7460074987b069a327b36d2ff30cc5e6a4f8abc313aaa95a62bc7bd296b7397316e4f005157637c0e1b08ba3b06d5cc6003c5f50b41f2e79007c0479df600c05785f6b14562b0b6505847fd1e484faec97c92a02eb5bb2d370d429cb848bcede4b319460b76f867417528be685a912e4c28a3811f640443cdc1d86184ee7e261110090a87e003eb2ab69d1308835d4975390fd91357cf956df46d0d4bcfa50b42620516779a2ef4eba91e634a397f6ce0cc67b2d20b5eec608ff44f69f53af2d2c2a32ac1c6c03703dd7e48ada036eebe24e557da3d980bfbe644126148bcc3f9e340ffec48dff6ccb4cc8586edf61e65fa9ab4a3dc5b44e9312ba7585aa10392c1fc4cc65cc2ddb4e632d5a86eb1488a793d89329b2186280f0d3d8bcac611241993171e3544015b67953bffc0c22b2a353cabd7aca5a5837358702b809281cae86c29d526b6011c0b61fbf746ea1b19bd05a4478d1b2264c10fc59660f3dace96d5cd97f3168499eefc99c5f3432d5d9660e33f6689cb98affff2f53de960b10d07f095cffbffa9d05dad0587260d4d48cd3388b44277d2b3853714da6095e9ad57d5f137eab12438bb2b51a25f992a5da8f63bde80f35732cd71d9f9ffa9a7f698d80c3e63e7a87ee472b995ee81c07bcb79d416f5a47c78504b1fe4ad8658eb8aab2a824d5a99e5908bf9bca20581790d8e8fb3dd5fe2916abc6d9a1182dfaa8e4a4c66b013ae915ee242d8aad2842ba4f3a30b14b67f08de7e7786e1b99355e0771c36a38faaac8bddd0ce16fe53e15bef12110744aac96a848e7fc321a6605e521c55888be66fbfdfd44c475a72301415cdfb6244325e279cba4b8558e432296be0098790a1885cd40a5a276f39a3d0f906c7669f77341e95a81608e81086dde3c79943fe0e530edaef11eb262f2486c208992d0e90e29d362118daec9281ba37c224f8c56883c0809cb26b3541ba02d51d1f48b6e5ca2302e3fabfd4a1eb7c291ade20f1e3dcf294f86456a67f215f6a6448bdffe43d08b85c9c3a41fd0b5901d99f02a90469d667543e52590b181dfac1031ac26ac9eadf9f6d57ccfaa0b167f5e22d0bae286144cebcb24c6f400b31b5c980c45f83ac84939393b5c6b96534c21420170960f295131e8b4178c2cc4701d0c160885629dc969214d80f056b6107585a982bcc0a6026bc2c11a9a4466e3d86efef23d0433472d309256da2c582f12ea04d7a1ea5d35199f966482504b1e3691f814c4ede68f3ebb5d8294e7585e08277455e049b48307db4651668728c3568f572120943953dd06ec53569107de70618cf81ccbec3ff44331b13ccc20629eb3f288f7c23b3979b8f7cd5c1f8603b682c4474105600e02026ef79c22f01393e8a30f17a1cdbef3519d5e81d57a52b59cab2ca9e4abec2cc0ed6917d4d151526e3f46fa6eff69472e0f514f387964ccf218d335897b5569a855f19ecdab83578ce6dc27ffd65885ee2c618c48842453ad695d4bccddfb42e32035864f79fcf4802d0f42cb17b9b2e13a2e6d7bf3a48c4f003145e1954b9d78e33287e1a95cd904b3e93228e6c6536f48118cb0b2e248826e7b7122cd371573eab955a10c425743d2e9aadde61e71304786c599aa8643f77bca723010d8c462cc51191a79d05b5a0285c1ea58b08b3684b2fc66362e9034c7fa45dde8d8e85c90a8dc0aac3788520ffb4cd8392890375cd6a877e2c712ee9fd28d2dc28ed8256a070bc5ef3fa90448d5ea550cb8c089cd4ef30dc9184111dc34fa03e5a7eb3dd3f13615c3877605b7e388f362970cc2510d8f1b9284bb3413211ad77260699a2e4d21905512c1b3e1225463d789b810e9ce03215deb06b0b9115bd9b96e062acb9c5338efbbaebdc0e617acdad1779c62d35ec163fe1e9f49cd8766ea04f9b40879ecd215798471e764fb64c87b20eb3ca5c157982de0319e0ed4dc8f5551c0117397480a5e5dad5e6207dadf36dc55c1c075a5204c531cac5bef15445f92088dab021d4f8eec1b519e02810ffe2abd9d6298524b907bf89274c0d8fc4a106de4b1751cfa9b0f254ad1d09873ccbb525b7459d26fe231f49f299ba6a8e5ab9cee12b2ae63e93bc2eec28d93ca2b8a80c1232b4430c0c85f0fea84ae736aef3ee673434a8f3f3777b5973340d882fb004ac3a7bc61fc882a4401c64519444dddc7d05d4d33b608a0e56ada7e2b5ee77e1d943f59e8fd7b057204d9a8cec8300122880b394ff72bf46d0f2e57e1528e6574aee0e90c298dd3c666044f21802308d0adc1f030924799c75efe1f9804ab85b138c467ef5231e0269ad74853eb5acbe0ea39d1f111c2e65cf0f9eb60039cca996356fa89e4a71227e1913b0bafa082ef2dc338ec29e16bc70974b11080a6f7c610a175671a9795916766ac420256cc60751630461f441f22763de4ccd35ba376761fed7e7cb79a253d808183992cb6314862a9984c8ba25c2acd33908c11494d049ae08e326a5245f2bac25392fc1d7dd1c7341cd78cd4aed0aa0f52aa0ebe2867719ca1344ca76491b78d607fdbd0c32e637dbff39497877bac603dde75cc18585d6fa3e3e0acc7a9941fce7bcd3ad30a13eaf809f00e08438e2b4df5a77d792fa257de1bc942eb935001b88eb6fe50122e78e0f33cf3613cefaa0f6525b729e55b824e0e3eb8731e2b0c034c0c199e56e30c8e33e0c4a232ecea2c79c9b69aa2d327cae06639c182de2374884a2e17dbb82d5cccbbec3f7f6de3159d61a34e7579ad7cb8d9e7c69ff193a84e1e9a021dcb90a0bc99167ec5539428c9bb1e430c0bb1fd84b24f7a645ff8c7198d7ec3ff17e0a447c9082bd7fcd9ea9ed5bff19b61a96d640163bc772ef95bae149f53f8147cd077d98422aaa6686357aa6d8725d804fe307dc51be51f4901288299b0b8f01395c7c4972d6c5250cca303e5c83b5406b51ce4d6e962eab615242c6bc3491e36faafc764b76488ae0c58198a096c0d04244fb0694f3f7a6497d62fab358a367b8459d54bd3ce8280f16e2f2271be5a4a4e78bc8891a15747e00ad4df917851391ef45660a6e30962a412b06a026355c7aafbb3247ed080194c301df30bdb4e95febf0da783fb48268194b23e9e6a714dd2b299f8cb61c46e8bf3729786d0d6aa39bdf42429ad4152983358a65c3d95806b1128ec5c660e4ea662d07fc41144c45a3013d09e2d4ce60a7cc2a15c80e199a5d4567a8eaa3242c63e5c66a15d1ee510dfe09b39ea68456c8f1cdb494a9158e937d551c2c5ccd3d647d4eaf9c95eb22ec7179e0342ee8aeed0cb5ef22f0c2d0665e604657039ac90edc1375281d3fb4c6397fd85559bbeb62436d917223558f5101736db9a3ee54d7e6eac73e4a8429d36e9a2e11f33a0ee54921e7341ed03bf99925c5aa6b14f50b6d9e3c2f576589e2c61f5d3ade599ff1c51b736ca3a3f24fe9cb3ba2693ca2cce3dbe67a702e50cae28ccb25dbeaadd2c57fb40ea6c4d5331c1e74b268d25389dcf9e007e9edf92b8d450c72fe27aad97ba504bfb06e5a9d4ca78b88ef945967946dacc688887ed0fae641e17f65caf2ec5f8422c85fa146eaa04ff48e21c421cf3caedfc733dbe94b48ee7ed7846cb3726a0162d43e53b96520c195d5eb14bcda8b02cfccef67a07f01f2a252f036cf8bf62aa550cdf138d21a05ea9115c2406a369334b5fdc56d288859d9bad351bd1de2c00785413403d1673bc102ab7562c24ed839f2cdd5fe450a0e676c27ad5e234a0ea9bae889f7b2f23dbd8c8dd9248b7cb8b9efa31dfbe4df8880a2c8b20b64c9f9bb01a69b32fceb77a0a79242cce024d3c955a983f30084116bcbeacef1d5bd04c01d1ac7e4b51226ed3aad93192160b69c986d1f85b72ab1748b412b4157a8ad5376b92e0ef1fc91fa8f738fc033fd02cb76471bff1fde355f91735d8ef5134035b75e762fcffae390b4fecf9a7c2ccefd3416c4f95ab6ee2ebee46033fe2cf48e14479a5487c5352ebc743f0fd123ba63f2c39fb44e636ccc6e4760101bcc9765dd4523f46aef87091fcfc6682b6195b7503cf51c3cab7690d26f19ca48bf0d362b8cab3555cadf79ef556de53aa5d89d23abfc05fd56c82d7790af4d60d115edc3e0cb56facac95b7344a9d5ebd29f00ffe4b6193ed65535e56867aa3be1cce60d69f8c979c660cfa1b3dd969fd5699e207467827d3e33ecbc59c625892f66bc80c548939b8a72f81d676193a8618190d798f8f876c11f967cf14b914187a193f50e42e9c298633905b4a18995dae49bdd5ff79b5c234dbe4ea206b4e0a6e4ec118904102d0817e8027477fc63ed406e02606665da6c0e4214d141d3e79d2b8c9b6e6bbe91f7169bb124d5c8cee40742102f24258e43777fd17d1a3fc6e5c8c79a846cecfc1a3850a5d57fada737bd915ed12030ef0a103eb9b9686c8403e2c505c1f5be1c5c81e7ee8d3528d2a8a75b42e970813ad09599b01d779987cb3a07b685fad029959107c37d8908fe02d87af0dc80c34bc2c7edec93f9b5d15fe1181f6cbfbbe03185f6098e8fc6d940fb2138c04c61adb5f414f005e1e5e54971a14f904f1b0d0d68e4e5cfa85af06fc86e717e0023c04db53b031e3dd3a70da1d94b1adbe485db280762e61acdb4519890acf572a9967a8dc1b33b09f491c1c1e144f12d9c40f232ac1a753db12d1f9518951c0f7e5f365f75d47c353b3fad53dbf2bbae3d082a49342caac9589a63dbe075e48ac998362c230feb32f5b90ee4a92a5b069e96203de8bbf3a2e1c63b4ff2489da90f7ee4c443bd188489b4d060bc8c081448bdb7bc88317f7d5b9894fce053e951a83b62f1cba7900718fbe5b46fb5a20029cb39db47d08f056669f66a038c93af7997a31bf00e37bacd9680a2d604b47ebadcf14bc73221d7ec3941fd49d72955804b1873235759a106fc23c8742976884eca22200796068c4e2834970c49cf51698f651ed8970003faa95482083a38995b8c332862bd4ff00c04040b94acda8b81ca5c88d5bc19e74fd155e614816bd176341ce2ad453ae728edf4f19acc865e43dc352f1171187f3c96915ed58085faf26ceee259ca46b7d9e84a64bbc641f15ff836ca2061342bb16a69299aef2cceb2a210fd01d73bfe81e148d0d478e9d6e68c09ac3a43b166a3bd620e08a832cc935e30ada8a4ebff566adaecd5e2ca70bca1fe7f47fae7c11f4d24aae1b561a349ce2be38910810e53cebb62edf3ec08f31685be1841de074b2e60cc4797429438c845c129b6d370f4867fb61e3650377cbd9862f581b177a468bca381a966add739aaf7f0cfa0f0ade3de583da1f59869e9210939744245c5d08a6ca1a57b2f7770ee5d2f744338023e43fe930617d6fe206b78972de7b135f1ad2aa7ce9c34a57ccdbedc8c7ec6ad65f11f423dcc491f4ae3336756ab89e70631ac0921b6e7bb3072962933aa562cd120e1657d0d4fb6dd8131c7d3cf5413aa3c6f15d49c429909b6167c7df28abeed6c5c17110c912e5a6ce8f5598dc7446ee2bdf7f793fa835bd0b799fdfaa2ae9ef73e6d3b9384b84147b3a12747c55b4ff6ec43d649c1caa070b3f3288dd5e2cdb31e17b163d7c2764e0dd2d6134458bd629228e8a8e077d4866c728b3ea88796a5812050bdc2c43b30579a7e157269d2b25a3454f3a5cca2fd2252d7e52d816d1f51ed6b5d27b4c348c551e1735e1f327ebe97ceee79f0d1dda099dd5e9621ff558209b46c3633c37354c5163c0d11d8f7ec975b380704b85dbeb01c8c03cce55d4fbafff0a8734011a643099144aa6ddf4e2da19ec1b0e69ed88d221832e408ae902c1949bd1024c163563a8a7a7f3a7ee4f343b537192953906b5c7c6104e8dfbd72b8dbeb2f863db80e10365a0c9d9c60d6ff05c572b9f94e2445065f4bcf1e125141a865ea710227259f67d5c2993a02e5acce35f02cb803e495c6094592599934db60a8f110501e17cb138809fe20456cc0bc50680692016e807a1f24f771eba0818345559951b62093589eed67e6e63c43aba43faa6a4c2c15b42d9f5e7852d26fb9783711f248b0ea25945c2707042abf44be6f613b7a4024ac8f7f7226a239fab8ac83394caf4f9b4e05fb6612bb064aabc45387c94ce01bed832d7ee9ec4eb6d43089043fb6f7388b11819a78a29a48c00cf68473c5cb04fae5506aecf0c2d1acef7687f3fbd8007de36b7e838a00a51a460bf5839b215bf13b6e295d12a738faa324dfcbd89036741cde3b12c02e73cd2894a504065253a15631f7381c672713e7e58a8825b32777a1a84d4d60a3b689fddb0c900df13579b47996d4864222adda4d24c9696f89357bf785eec49357f13115bedb250d90b6149d791fee2ee291f3456a4b298933187cbb82e263dad953ac578f72c221f618be31f1577c943e9be2f1e4b3f2d31e22ab471d1fb76edcdb547355bca07ddc224c7a4c85e8d1b479a93d5640b4cf6fe077bcd327c255a6a377f7cd803ce4a5a413f7c1df950dcc32607ab0537904d775ae81e5c96c70ccb59c7462ad2dd7c439fa5d9dbd0475ba679160e9a1893f0c330aa025af22cb623c50ee1a6254b75d089fa818ac6937e513a07c24671b135773dea53dc7e22152692485eb9647b0370dcf3f9547dd2458debb6206510c5c769425aded3bc12e6ac528291c781c65605be30f9381db4d31cf32d64a1fb438752f0e88d65477d6c4d35693680198071c9102be223513ffcbbc6a789f3aaff2693bf3f05cb82b76bc624029be34fffba13d5b83ba51c6b961e226cc8c14f7e9ca2508505d4b0348859b84ddf865c47077d4ca99e02342a19b88cf0c3d4b508429ab24a498df1f4c85140eaa64abafadd0ee6a3ee488c89785c0b7bb7d55513e2f0e550d35ab2d76232c3c4970c83698c6be8c7543384e10b84e2c14540b81777a97a32595f32451b015203c07b066d34d9ebd205e21ff6c6020e35716e762b90719625e502b0b432cd373647f7c2d3cb4aeb163c0c62ed22538b6ff456a1f3389e8aa7646864f03b0f3fd172c5e5ce214407e8383ca1ddacc4ca2806ebb05c65f3ed5a84ac8ddfc9996646956c3fc0d56a6bf81b4ebda1bc63982a5d32eb2a41752a58c6812ccd666636952deee7c9338b9e2977c8968b2b0be106e871762e07a2c43af559653df9b427b143f33ff95a98ef7db8c22b2f05500387be217ad88292e949f6b5eb91129c7385fefbee4331e7198c61290438e3a330bce99d788449c75a15b3f740e2f57d7351a255e248e5e72ec5b12ee62af645d3f9be4ce38ad67fe5bdd1681a9f12dab271581a7654320baf7a44451ba5c06d61cb36252b2b499540adfa62d6bb6ff2835406f1639b92e6ab5c1d557893cfb47f05b48c27d3731ba8d59d0a9a0122e5f42a4cc49cc537e2d8941ac64636b0e5bbeb7de5e26db518e3a12b965cc4ccab1d55e183a3b664f989877cb7fd8896b66fe11151e113561cca82f611cdbd04e240e4576669eab2d996b525d61f034ae61bd1bd01d71d2ebbf53b303baa1a0b09fc39709feb973945af69f0fed98f9c4dda3cd22892408d32c24acfbdb7449c5475f6c8c8eb48d012a5aec3d4dd0ea982043d69a97d69054447a4ede76ea52390727f1bc01b86d489468cef764d0677f35880097d0f90334eaa136318bd05f024cb879a3722e40c7ecc79695a19965905ba7134a2467fa40fde135d5b5740cae30649a2c4332a7f29789437c2e541016d8988089e8f18106319dbc2b5df4b6b119cc52f2ec57b252d78570fa5e28647a2ba8df8c5e737eadd3aee605e2fd2bf191ef312c216e2d2c613cb4a5f56009bfe64bfcdc23c7bf2f0ab3b75d51526ba74b9a5455080c8d9168e02f9de245242cad1b38f6c58de39c5d9f062ad6aa120b4802001cd6e186adbce1139bd4146a99176788c060d4f691ae8a9835b102398fa50269445fe0385e81b1b92fb5a7a5904fdefc57a24b4353aa18f3fab61a2b1cbf59a464f3efaf3e2971c2148fad4c5f821085c83bdf669533015d0fb79761c5772eb9198d98a7bcade126eb8fd475372f6c1dafca754ebd15eae92dc0a865434bf80e2c593ce0ee0ae89f539fd7142e77cc1e3d31e92e784bac9d51be87e843d4ad059f37d84e3fc94e405be8345d012551030cd8a3a6cd07d5428f8408145810085ce6083c9404c31e3897dfd75b238399cde4e6ed1db27527b88480ebd9034b99bc86809c88578fd98d8add634567234df78fc05fb41779bb64e643ff68f0fb2cd36d93b050014fd1282114174dc534e622923eebe81bb68ac709d8e38b57b575e4eba5d343f9a13dfadedf9bf337e6df3f938326ba6bdac5d34536874fcc476d7d72e1ad7896dcc5dad0bb4c478f471f93fcdb8b46efd36876baa6b15c05da763aa3377769763cd8b6aa0d3de7e5a2db83b11f716005a56ac462bcef6d21c1aa881263b0ff469da338f3469e2d38449939e264b9a286992a4094f939d263a4d9af8f8f830f1e9f159e2a3c427890f8fcf8e8f8e4f13263e4c9830e961b2848912264998f030d961a2c3a4498f4f0f939e9e9e253d4a7a92f4f0f4ecf4e8f43459e2b384c9929e254b962859926409cf929d253a4b9a28f151c244498f92254a942849a28447c98e121d254d92f8246192a427c992244a922449c2936427894e92263c3e3c4c787a7896f028e149c2c3c3b3c3a3c3d364c76787c94ecfce921d253b49767876767674769ae8f8e830d1e9d159a2a34427890e8fce8e8e8e8e93ce4dc7ba582f9d8ebb1eced93b9c4db3c9c5dd67a2169a998c4696c2a7f000f89fd1cc6800f0ffffee8ec4dd8fb83b8ebb8b4656567c2d4c99ba56b895926be5a42cbf46332bcbaf6d9c45ff694a9cadcbddf47fe32c2a2bbf765af4569cae4f9e3c8169ab3377ddc98cb856a995f83323467ed73f2d937971e555c0bda66280bbbfbb5404f0d777f76efffa5addde3d225f4ed31ce4526df7712cc1dd57ee5225a9648ef33f3fbf237b8b7351f938dfcd331ae2eea32b054605a6ccb8e3c8527b7177637b0e6dd32edd8c8c70f72cee4a81f19dbb28c4dd4fbb4b330eadbb8f3264c4c4dd73dcfdc7dd4770975846a7a336d3ba3336197568e7cdb4ad7136dd3d88bb99563325733728672533257d7876acae41ee9e015a7bdbaca7dda6e53949d93777a3e8760e5b2bda4c495dae97b1949d8b768e92c317bd3555fa6dde4e0a36da39236d0bc2c676ebab7136f1509a77d26937af97a659e8b43bcd3c5e2f69e7226dcf5ca46d53b556ce8bd6263c94e629b89cd3236c4170770ca4d85c6a89b4bb27b90bf545a7e3eda23bcdb7eaee16b8fb70f722eee24b4455e0eeb687d6a62fd3544af9b83ece5fe2c87835f5e15eadb6d19eb648e59f1645abe9ee2e77efe1ee3cdcc6dd6b4003b8fb1577853c5788860e70f7afe913f7f2ed71f9772f7fde369d8e3aa3927187a6edfedd7292f0f898b6c9ed6cd284a7c734ed0e6d97cdf1d6d3ed9bfba55bdf9c4d73722ead664e6a4ff4f66e3976977539ffe4e7dd9dc6592c1f0bdc15beef8bf2f497bb9615b80b1c813b5a87c0c05d6014eefec35da0187f925a8dafbbdfb8a75000b74ec733ef724cdbe402470872f70bdc05cedc1d5bf47fdedefe447b59a71fe7f595bd933df17ddb947736b5f1aa4fbb7bcb3d3cdd1d88bb4051a7e3dee154ee0e869ee634b58feb9f16a7bd6dd3c7f9eebab1dd5994b7bbbf6f4df7e7f0ddbbeed28cfb1aaadc7d88bbdcc9dd5fee721ddcdd97515c6a9bf2fff6352baf9a3a1d4ddb64f3d534c74c758e9951b4e6fcd29ade2eeaee2994e8eee1075ed05080024068613046091c29c040e1c8025828e1c650d2011b548a0cb6011f327cf858e309c27ca0088d4188964f0c07013b64f8c8408611c5d3518a7cb004e64b102c33786841468d8f797a221dc5c30166c08011bd8011632f70f002ea6b50602ae6a8100556a9719418c2509697165820c30f45501445710591f5ab0f5100c16f892834851bf52890aa87824aa1522890342c11c6948a31b1bec64528a8a5f04126560c055144a150224a14451185f207c507c14f1d51e3a847c1baa47c08f5a9b027dd4de1ab3e25c2ba002199c2184daccb0d159064b5624be283ac581714c8550a54c1c458170f9f058657d470f085e51c7849b16277fcd478911b5858030383c267c59ec2071f0cb2b1f9d68a467c9a307c28a108f322becd83b0145a0f86ad9b5fa1057be18320d4d3c0bc80018350ffc20741e2dfbc924d0dec0606060cba791a9897173e08aa793060108d179b56cb8b4d0a340fb662e0a750f3a18deb46c894d5ab9856b1227ee1ab6245fc50ff01293eebc64bcd83f9209a67c1bcdcfc0b1f44f3e04dec09e5250515504f137b427901f341378fba29e10696820aa8af893da1fe4604d4a33ea48181018368be05030306b5be0656f33521ec067523458808e2df7c09a8b77916cc4b2bcb0a4137b1143e059a0f53a8a181b5540f06c5ec7075f13b48558ca9885ff845fcc4171f254404f1c357421d85cf8279500d787324bedf1ca1fe51a18a01352c1413145050217cd4ab00bef8282ca1b47ad5a3e005cc07a5945a9f7a15584ff38ec20b1f948aa1a082ea6962603e08f5ad980aac58ea57311554e0a7622ea0de5f0515886b3880c115824121ec05f005d10b9825ba7c4032bd20c696e8f201897a1f93a5467c510b2d9e1a6086f45f8d2141325a344182ada62e2b7288831ea3c3b5f4e42f0161d9883534360e5b5a7d8b045f0512adde632e8ffda859bdc350fbc54fb548f15335374431518cfd58025137521c14530fa6c81b23d4ff087bfc0a1a9a6fd1d07cab4c9977f00cd29fd562ad524cada7f9d54d15d4502b46936abd4dcb4586ab076f86582bd60e2c9b1517e46a09fc825ca9c8558c03165cbe7a3025b28656319610f246ca2a2453293252cf1a33860c33e4ea593bac9e5586447d6a8c0f554bd5fae1a3e5a302d12546d88322fd829b29e0187225b21eace09562627dea5f37556e86583191e564ac2624a1a0562e1b2045747ea82895a893171b0c60041845d88341eac6660c19362d16101b0f59cf44f3fea018614feba60a48a6014fac9b21966b48158aa0a3523cc68471a591c517a493c1e203588c2153a2d80585d51d77dc3102128a292b4ca9f17005b20932248385981e55fcc1efb222dd69a8ef02deb1bbac48a2156ca945ae1e25beea8648f5e12ac622f2071f2c413823a3c890f0c7928d0ef82a580bf52008beea513e3fa12c64912a1608e44cc9423d0a067e2a1602d792978182f221c31f3214d3940c8ccd3c74144f47492a25da60852a0582a09021d5537186743254d84022219d0c03dc20596f6307f9a493a9a202648d5883ba49d9a456362a9808a68a9c545901592f7acdc9940da84a7dea8b904321197e536e69053284121aa95ea57a5145d2c0faf0c19a4a44b55e55844cc15c84ad5629546a25b25e84a9be0859e33e2ef1af1073c513295a61e60a1b48279dac49d98030905cba210ad3dd6545b29abaac481ba7a56a50295528920ec244109562dd18891f0e89b110e534f0636216ab57812fc63ee042bd874ca997c325bef8a0d75a2f3e93ea57df5aa2892d81248b4805ae622c52044b00860b12f5a82884d081747205314822a493a942097283242a05aa40100457309b67d990ac55eb5b7ff35b246d54aa9a1b292a956a05a351b16045c855cdab602c96f8ac9b29e0a3604ba9969802c1d58b3744aa57a91e0c574ce0ab5635abd4cd10783304be2aa642bdafa4802f4e998131d8d22cf60157971e24e834d09f85831b64cd9f413a5933022ec89a29a2209d9c42080678216b6661cfd28cc72fddb46a5aef0a65ad56ec47ab860666f337b09a6fc16c6c8a9034df822dd1b49650aa1e649348dafc16c914109b214052a91e4badbff9168f1b2218abc70d11cdd7c45a20d943a54abbf048a7f178550d0f10543d0f90e66b6e60b09abfa9114168c56a9e474dcd8d0dac8606b67a1e7e032b42d2c0bc06767343f3e20d51ab46e5246b4582291e204d0b52b841821f4a7106e9e40a644d0f55f89eea51330b592b843f0b7b42f0a1a0441853f8e04af522cc9940bd02b9644386a91813f8e187a80e48c10559239d8c1460c82a0c5005187246ced215c8a5d5abc21b95d79644b7096573b840d2553031e562ac0839739aff182a950ea4f8de0a43f146080f1a1a9be711a26eaaa8de0684590c35829a291b24571fe3802b3c43ae9ee617e08514c55615718a901b779a67d97c934876e9d283f4d8d77421a289358124f8abf7581348dac49640546c0ab894aa52845cad865436204a035190e2a3b820c547a55e45bad396504b2111ea512f92b1276a504290aaad03997a50015e481488c308c8f05b6eb4bea607eb634be0ea0684561790f46f1249f0bbf4f89a55ac094c3d186b0297529f0eb9481d7e085b125b8f6ac5985a2a900e5b6abdb79e75d3a507a9dd694bad77239451f8a816ac09244327c11b564cc8d0ea51bf4152151399c2df2099ea02925d40d29f06148ba8f122e2afa2109f45260a2e48d6abc467b15c2e2040fe514c7452d1a803128c290912abc3d505d499a1501a9028548a44a56ae28c44bd8a4489aa941bad624b60909418c69a9c03165c375656203b20c11893ea592f3eeb5337375dc0a6b0092437488a65c8d478d8d3058c89c0b5143e1813c52884680249548cb545157eea555018800c5f0cc148bd10e4ea514e82644dcbc66f8c50b1581b2eff25b1ca2ac6047e41facd10143490ac9b2154283e08135335ab9b2ae017556a6a6cc4f09f4895b8b4022992e13417630af805098241a240d28cf8649ea80029239dcc1351e8b002bf087b965220c802411004c1542a8412420997546e146bc3d55a3dca6b1a850abda6c310f49a069db6fa15ebdd69ab2e2890e2d20a2858171429fa90f84caa0fc12f48d48d5195f055e1abc2af016f88c4f822d686cb1f2cc36b649ed08104bf1802c120511fde10852fc6985031f00b314259194ef32f53f3282643c2e0bc6f102b514c346802c5a4c8fff08008ece6486c89451ef9102644f64682fc9057c162b12fb1ff5fc136887d5175f0b267c170625fc2d4e37c0dac48ec4b110efe06a641ec4bf8a967fd0be641ec8bea8dbc053058ec4bec8b3c0638accf00f645c87f2142c68929c823ff03f665482c86599006447ec8f7807d2142e4833c4d90580c3c82367821b12f197c8f1f12e481c0be08f9f1439e07ec0b8fffd1e35bb02f4386bc0b343c88047921425efc0a605f2c6005f950c8179c216f01914ff590093102e47bbc076f03fbe2c1905711f90e8a0879d47f8fd6ffc31e847d19f23122b12fadd817d77f79fd781f1f031844e46141625f827c0c60d0c7be80ff25fc2fa8ff927af137807d897d51fd97d57f61fd171f16fc970bfe0b06ff25830752f35f6cfecbcd7fe9f13c1e0aea084ec82aa2a687d7fc2d60a20c17502e206bb87eb85c101099e880c8041b648b74324c48a0024c1891802ad8d882c685942b05c6053ab278e2021b08c387a0541926a6603131c685d81a6412404402c4904bae479940a5861ab13352b60538225000302520c11b41283648d41b38e01319c285229dcc126ea040092e9248e38c274b5c71f3801690f021be48802766186309195ec00007825217408018040c4be460b3040c3673bc96f0e282288a1e0840049438a34546090b042016815f428d25c420975ea706022c252a0b1040cb18359849c20b0cc8914505cc28a30c9d315c4d1b90fa2770c41746a8118300122cf42083840d0248a5529eb231c34c08e6c081026e6411945a030e1a12d070441a2b3247b041430c0c2496207b904e0689031020f60035625fa0409d0bc4bed0619131e20b23ae30b3060b3c84b103045404891420c5779d21c518eca881a552914ec60829c630c208110441100441100441f1cbfc70203f7c690868b352dda01e64ad6e400053362858d88a8100ba0c7cd0513014e9a85791161c2063840e640d0deac5d60d08340e86289107eaa184b1986a8e98162e1b1618863dae346a40948bac30851297500f8220c8024170098c79811251283245d44100140a857a355c29d2c91441070e2e917432458820870ec0c670b1418a2932457051041504a8011f1573c2b5a443eaf8a4503f405c3f4232450041a248275304024825762097745c282200b0398af00273401d4b88e0c7e8c0d351c68d0924410616870366b0e23900450590883dfd0047181f88a8210044bc00338302d8083e0c38fe02198099418125c8008117b026b0780728e0af5002c6802062600af06686b801a68021c020e08e180d74c0c2802008379e58038645046a00e3c518d30129600b48c08f19e28730404c871c60121042863f23040b1fe6cc1372c46ad8008c070b3c04cef8058491002d4cc0002f4dc0be2802868203e830802e82a0e1d308c2853f012c8a1090c1811bd8b04102068000cc092e245045cccb136fc611b02cc4c0a6e041092004d003105f3e0e3b9e0073c088f0c011187827d2800d600c58992e1e872b0e10050c4c124f0120be1020b6c30f36c472f801862f400a484082580b1f8075d106ec498d589832e4f8e28a2c3eb0801696f84208580f3d3c02707834c4c4708698a71a4a20441c3168408b0a8c3103020fb0a301300b4c012b83093788f0c187c7800e2340c00cb11710d0c26bc004b03acc64e08d095c005600349a10e34db0c5b741851c4ec0b8300236010490d9e1b93840007e8a0378d1a10e180744404507fe8c32b0074c400c99df800360385801a3010a1b9078247ef839c294c0871abcf0e1055818288041310226e0b040069e0414100119b022bcf81fb0f80c288000ae961252b85a41c0d8e8a18d1c1e0e03cc00a380015c80c150c7db31871770c0c8b4f10958e3b130031682306007d8e283a822360028602c24015b238817d3c32b208711f430036c881e5c80bd51c7bf31c757000e24dab8630d581566c0ac082366c31665aa7821a0602389080431801e605f7238a20033685100179e8a3aea980376031c5f461bff803562023003b643189fc4163116aa78010a9811490820882fa207980772809d21c00cbf06015c7823ea40630ed80f7018a08d10acf101331e8c306027d8628b2a7e0b2860622401db401027e82105397c156166f81dc2b810bba10e18187378000e28da88628d2f811928080396822d88a8e20e289e01496411040c033d7c037288cdc0c30c31197870c1853a604ccc01a3038eb7a20d205cac35606ab858663c0f627c041c004b030b9808a480a189580c47c4020004b9a4f30de801a6811d74208376a00185d211c3237688992189179cb88206306840c3023090d1018706cc6083831832d4e0208118686470c57870c1807081df840daa3133a4c2b8418481c0057e0c3582187240010d3ac4f02506f186166a6010553834c003d5a2b674b7fb1921dded7e7c7e1e45abe9fa11dd5da3b76e7bdaacc59971cf387c6dbfd4f6baa4e1eed6c419dbccea840b9793269c2c0ee3ee4e50709bcecc3cebe4747727507039a73c1befea746ab12fdb7e96c9866dcee584e5ee366cb3edbbbbf5b419f7f3dab6d5b6335cdb6bb3c253cb94669f0ddfaa3371b85c1363b3605cdb6aa86b1dbe3525777c71aeda8fdb7e288f576bb3baeb59b7ddd57edc2676b8bb6d89ab0919faf26a93318ef3d5a96d6aa2837fbe4dbb9ebf7b3c7cffac4146bb2150046bd038a18b0f1570779cbb9614a009389a9f8bdc435c1d75c5a8edb6a83d8788a02ae0c05d0c3302710e1c994ddff167996c397cb7be4e1686bae38a28456452ddbd64adacec5eb66736ed79ed99f169b7ee85a0c595703199b9d734e3ec4dffaa0fad6fd3ea64df678b10e0ea3173da2eefe4bc6f6f9fda268bed99f13b48051477f5841971f975baea4adb432b965aedb4d86764cf5c5492e0160eb8abd1e367366df6ccf8a63b776f9ff34ef3aea9ddd7dd9fb8bb1c1e87bb93e02e2567b8a0b7ba7bbb2d5afe77569ba2d599dc3dbb4b898eeb74cce16be28ad65b104ddc35c0ee4a7283dde56aaae3e598a9b6349d7998d6cb3b9a459952bbcb49773b1b4fa7bb1dcf067834e0484444cf454b6a9b8c7ee8c616d75d6a8fcc7be69bda238bde2a7a6b53c55750b40a9df6b4423c2ab84eedd1e95489468be6f0d55f7bb6d7c5cc4234ea1fae9f66dcf9bbdeee3a290d312a69daa559f73d4b78683c96a9a241779f16f7fe87f294343d10ed933431e9ba6bfd11e7ffcd4ebb7ba675b26f6f3bbb873e292be97a84878ab6cda555291759a4d3ee6a11ca8dd4e672373d4ff26eb447746613db13ae35b2bb9c74e60c028a92a76dbad6b4483f475734cabb1beded6669457be6dd69e59d16f7f63dadce3c27fbfa568d6bba1ff71e97e69bf2deea7afb34e3c807978cbf7db16dbab934eb76afbe6632339af797404a3fe71096128829cdbe6d8b4e7be25e0efab1bd2e9567945a1eafa659cacf5bb77b64f927ae5f968fcbf579d632bdf5fd2ccd537eac6f7b5adf32b51b47969f66b467625bd39e69566d75d6edd7f56765464ada4eb6a8fc5d4e716f77ddddaded6b6dd35c4e795f7fdbdce7fdd6f7b8fb4c66bdd5d7f54fab7b28cee32fad5a5b1345afef71fed4ee8a7ed63fab6fcdde9953debed5f75ba717f779bfbe5fed79c7d3a2e779773f5497eb655c2fef6df55b9fceacf671f973f862f2c7b467ea3fb1d59ff733e5d746f67d9d7975beffd92a544ebbab79515e2f8a7be801245b949034413222e18144f5359cafc9fe6b4c66466fbfeb233d97af69c9a1fdf64d2b6f3ced692d7e7bfb5fddbdee2d9db597bb389ccd277fb48f7f96e96d9a77afabee71be5a5b5dcbe18bd39ae5086e4cf3ae5fff48d091d9d77ed7bf4c49e3985afd68ede1ba7babcba7f57dd6bfb1dde59dfe9df1c636b538dc3dadee55d3de5edf5959bebe9fc397c7ab3bde6fbfddb9e8475c7efd36ade48f3fabdbba7d7d9fc319add5ee9ada5d0f4bf9716754bfdddd6d79bc7ae2cbf47657f55bddcedbb44d4ffea8efef34f36cfabfdb9ff667995e9f69366dfa8fa2f5f589665ddafb5f5a7737e5e18be270b996efae666ebabd2eb6666ff5e6ee5e64b38dfa4ced6dd7c3f9f7dd5df4ad4ee9358a56a11fae44392bd55b4fff78e8997776d7d316c9ea5e3db24dd7cadd5d2b459577e29ae66c3687ab4e2887ef89edd169d3bc0f60db000e4ed46cb622a3a1242429586c524020918c94926cb65a09dc039fe451dcdd0477c5aea02204f23002a0264afcb43a5dd1a128ae0ed0f8dd5aad16cd69f7be3bfb5adeea945aad16cdc6b6498aab832bde6ab568467d75fb71b9d56ad1e0e4689aded836596de693866fdde5e43b8edacc674e4e4df3f6d6c9b8682dbfcb5bf7845aad164dbaadb6a5969753deeef6dc7dc85d4522e0a37935bee976fadddede1e57f353cbfb8deb4d6bd35b9c5fe35b37ce424a285a85b4ddbfa0df99839c2a913de1eaff9df9f6bb3fad2fa3687da74af43e5c301b1f4bdb367b69f979ff69cfb3fe368275f57dd5edd7b8daddff50b4f674eff5d5293d0c5fabdb27ee65dce7a27ac245ebdd17e7bbb5cde1a15f6a9bb269916c2ead567256b2b9aab525b2696f579cbb49a9eee5db64d323bbebc9bba2337725dab9c86e277bee9c914edccb5332529aa7d85d77d294d36eddab3a27295a5bbc6f16a74a94da6cbbabad892d0e976dbf7dd1bb7b36d49ab89aa9ddb86a3bedae62dbaef6b6d36a753977dfe22ed8d6e9b87bbbdb696fba79461ddaeda4d99b6edb74776dbaa93d6dbaa268b5e96ad399bbf2f43d75e6ae379b35d38cf3d974fbfa7272b4cd9d37bde5e89c5acdeeb2ce76d65dc69a56abd9ddddb897be179f665c9abbbbcff8bf182003407657f16f8ba295f7d8973113eefda416ed9d56676a7c519c69bb9b637735c5e5ec581c938aebc9d9e1a93a4c92984ace244994f8e8582634bb6bbaf5ada773f4ee6526d3eacc9c7d731b8434a11577b7b96b0328bbe66e53056f2c9fc5a92b29e02db3d913a0278fe3745ed9c6592b35a4d468e3ac95ff7fbc0500ef745e9bcd9dd6c664d674cfb185162928bc3c01c259d485273fbf712f9b8fe4b1456db613cd28257610b1a8ced8fafc274f1e47862d3a9aa926d279a00ddcc508b8848cc0ed99f1ff366f675d42c6b87fcd9ed97c8bdeaaceac36c5bd3f6d6a37b65f432b4eedc6770618769e8643adfe274f7eeb72d7ea469b3bed09eeaec55d42c4336312948684c82352e87fdee9bc2b3488cf797597636dba6f391ae7bb4d8ba2d9cce9b959dcad098f55a2d393e454527974784c9d5acf9389ce4e35ab4f131e26368912263a4d72ccad7b694ead969ebaeed85d4eb23817299dd7c6e355a09ddd434ef6c4433fa6c5c293a4674fb81aa867090f959f9e253c5476cea9adee7a6a349b3d3b3dedcb294f53adb6d364a5ee1a85d763ca19b5f17815c8a7f7635a2c0d70f712dc05a409779d8e49461e5ac6e14bb36835f56971ee6aaddbf5283d753d87783c92a7a956336d7657a68ded6edfdd2e0bd95dabecf060d9c1c2d354abd95a4d57abe17c35b6db494a6acf6aa9009d96c7bbe9d6b59daebe1fedcb48da36dd7d7737e5d9eaa9f1ae8766212633a3418e6aca418808a650e22296d5015438c3f86a0220d08145938f832e641a1e988880afe81033048051c81d7ec7073cb5c30c4c98c069e1e013812f0f4778b873c244083f99a776406d91c483259e2a01892820207a779cd591199000b93389f1802b71b0e1e0162bd8f084ca8baf3248a28b1fec3072b1d5001d6c0d68f2d50b5fd8b0e50477b84a849afae48b3bdc5735dc568ce0211c54c62c6634714701124f5ca07820f53d6432b0803b7cd5a40b53cc4f159e7a0388121c83e3a011322716e02b1c45f4001f243805e121949d0f0ed8dde12a4d8317507e3e478d11650cea09c95147474d472c7082ab7ad0c183274240828753f05011edd0c0575f0640c4939503f84a0e130c70854de98ec61076d400c40757093112020f314d380fce5db4da13aedebdfcab563e7037f354fa6ab772d1c527a0afc48067ea05aebc0798ba00e401b27844268ed24124b20a59ac94880241c7201c3d745004f103d0574e52de43955212d6840e82202aa402822b30044194ea84100cc15578011208aac09587e0cd880a552a19cd8362188a368022088634200942b0e529500c5116049742100c595742212118aac4108423044155088a00620082a890b5450ab5e2015e0082201836092d60a1401fc01054852018a26c6028d2b494843620100b4c15413d01576128eea068c210c4e9d1030240dca999823a0a5df470085044c9c45408a23c35003003a087ee72b91c74500443300e90151e01c130158628104c02e6802cd0260cc35025041a094331047550634d062c0fc09b0a82843c80a93003500451a08747e1d380a28757e55f820140396c0bd0a17411a2401528aec01b1015260c593514e88302c350fcd0a625035320b8d2117736d001431a152b0441105c81600d0cc335502ab0158aa8263016f6401045035b3521c85a81219490484824d400e528077b80aa30046f44174a0c3308c3105481220e6c15016b52219802793011120ead6a5a217863d9ac425004900582a81014412aa006619370485813aec21488024330046ba006614db81241540a05824c401428035ba00d08824e4022210d6a05b2443004c11a08aa2e087f806208a644b0495803a24222200a15866228824dc2100c12d2802d9025862008d6400d429a150a14592208824c1e047284f58342920251600b148180ad56ad468b10222007221886aa70654197053a355440300443100469be729e97b00268868438fc49f8810364900073e303596a0612700503655c09a68627fd50864daa6338d20f56f88004cb4622fcb064e6a82a8162e507227350a943749afc0024a749e59104130cdc146102a3017b3000a2a0a7bce3003d9f021fcb3a88d04a23c2591922f2ec758e201133936383f26d36780c2a70313eb87899bac15f74c11de5eebe832d6acbdbc6ebd97c70fb8abbeb589c8bec2e27b93b90bb67715560a3d3b1ee7ada545e683a08e369d55ab5441eac9e550ba5818d120b4531964c45c3f2116d7a80a28dca26fa5037a89798860b057852f108572d7176a3814f029e68b0d89ce28c070ba11221a92b22a8fad1e2e98995282f17429146b4825382a70db470840c16c054edb50114164231088ac60361402924683ca9541b1c79b1a047d01714082cc0f094412b8bcd0f9b1f274cb180c7d234743cfdec1608250eae550b7593621263a0810596c843a501d823090b6f00d13a22012fac333cf0086b52505eab266215aba589167ca4643453683c506d118fac9ab4c0801f406801891a2e70e978b931adc8c0c5534d0fd7830b373c3d402c43504e5619f4b040b36aa2a261f14031190201a501cd143a9e68564337492c2a42a44ca16951b1493a7f18f0848138eba151d57cdca8686aa4c44c20e289864585c86d86a714ca95025522a868524e544780826a7a2d232c2a2a9a550637515a45c4a216063f867810e482232c2455903c60818635ae92dc24613274b4b21157415235544fcb4634f25056ad158d9893aa22fa4001534250b0d4053a2d96896a22c5091016cd052d262c0815d52861c9c422621115124f47788851524852445a45c4213d76501ab4f034e680281c8a26a2520088999003161933910032c634c1041242c8b0420a4e9a0967cdd2842d258c80e54ad2919510a8d47c92c83ce8808317bb70c01d727ce08d0f803a8805c9602506026214418408523ea86960814d8d8a0b2ba858c288228408e207313e5c9119c9197b288052d21d768ce056821c716461cb2f1c6ab8382027342b236eb081498b02691c6144ad490f063f6a6858ab2142a458c0167b1a1585303445ca010410030c159459720513094062852c5898f400f9219641c61c58809ef4b4562a275ea0e2092076c861060020e00007a8c1a808c889111bb00ed409c233a2998f23e480f84688815419508d7002a1045a68d89c1196118e115a113a816222641297c022e0062c0d52436e320831082d007fbc7ca42a085fa04be411d6a468c2168b15ae56a950045120a8f29b1e2821282c9ec4003c895654471e5c91800517114fa994cdca033558107fd81131b0112209950c4fa295d605344380b8f0d422412c0145a466ab6c5853583e2a1a94132034a9309e58533cfdd8c2428b09ca0711d8b0f194bae329651344024f363b86c5530b088f70e5249593d2018c053519f0d08248c3530f580f188af6ca610179ddd1420a09cb67f583ea81fa6109f18422dac951d1a8947842d5a88288b39a1d1428da88339a2929242b1254415434aa259b1f363f5a405a17ac4840a1a005551054132da4be78ea6049dcbdad030dc49a4d0fd54b0451349490786483812a5c6559095915a52ce001aa6a5029d106854285a8158a856ad10c1151ab2bab0a7a1cd1bc56aa15885a894ac41c1164658012c2426b8354124f3c9460e1a51285b0a2b420b2d142ccf67e470adea0401a659001c617bd5cd20d364809fae009938ce58823c788ab076ba5a504a3a23bc89c11810d6ad009c3039402b0318131bcc8420a268ac8193dd8a1b76bd029094260a602689ce10005aca082095b4a18c1a80884291b10c1e0022baa58818904a890824d8321196fc0838d0b74d93ddd918212d0b1450b0617bc26e045170dc8428a053851830062b099404216a3a2a131c87401812bc25059438d31bc704016581021c40c5f5c08819909a0910516563ce1e5c99e43525e376634e0061b6038a00a2aa238e28600d8d366c2162d5986a438a9e1bc6ec62003860f3ddce0c59e26843034458a931a8f1bd135e0c618641ed045155444e1c4113808c00b9710869e38a93151b28353c14bf43b34e0c6051e0046170ea8820a278ec0e1060104c04b066c5cb67c9033da5187952a3d785860880d34cc3042161d200230c3cf6989d61da814842848d5119e809584884478445804c813eea074c0b186864282fa0b3608878042564150198040440cc00b5a3e2aa800e5127bd8f070dd04b1c9a06608cdabb562a956a14a954aa1400f32a40377d950718bdeeac637e5e5d8339b17f73470075736435ce5ae9a385c351b70770fdc553306e765fff6bc1adfd7f7f77d27bfb4a655677ebd5f23801a195c3528b8979fc3d7ea7c8ff34f7e5ef6e4e7f1cdd95b8d15570de95e3e2ebfbebf7f372ee3386a19a2a20a3f1473d932d3b2e5a7a0a2ef17fd14527ce16359be6ea7d9d79477552785933bb656df11c624297cc60594711fcdf7659ddd653db4802946dbeb7271ef4f5c17006601551470460162a4b7f25e013b051089e20bf731a7be366271c6f96e6c37be38b9df6d66d19c7e9aa308e3eea35214238c25be4425d18fbe8c7e168a42c73d8a1f51a0808093fba87fbc27aee6e7bc95a000e2eea335752fd5293d5166fc27c63c61c398e22af4c408fedbb4699a4d3cf484ce139ee484113eeaeaab3e9c2fe9844e9f554752711f9df0c0eeec2e27016d6c4d9b53dd699c4d8f34cea63c20f456538bd15e13be1b5b33b54769de66c501a1e8bda5f608882749cf66dbf530104f121bcf888928eebbfbb3d3ee043891001912e0e3ee692f5f1c1ace58f69f6d6a6f337d977862091b96d8b2841125ccb88ffbceb6115c85bea6939e363ecdcadb14c78acce8c4f966919228411240248143124048bc81c41648ec9000720418477471c40a47e8238618b101236c30024a1166dc7dd4faeeaaf3f959e7f3e1eea33d1c0fb5baf377bf33d6e9d4f2bebe9ee18bef5b7c77a9dd4e95a81c69f671356d7efd4e75a7ad7e2514bd3aa1f2c93f524b8d6616bd55bbcb66cde891dab6bab49fb14db3aebc6b5e5edefaf3ae458051449722dec734a7b9d7d5d7d5a2bff326820722c010210211a821d2a8a9945cf4b4d1f6f0dd389b160ffd98c3f9ed4da794f1104f436c71ff518831841080104242f8a715bd3b5f46d18cfb1cf4b41147f64a434443566ab56d56de2e0bf178d5c42992e5f4b7af939152971fc40d4194ee3ee26cf3670c841bee6ee2a11fdef841871fce1f847ef81143871838c4542106053136313408c002013d0470708032a34dadee753e7f1bc1f97c9be569a9e555ab3bab3dbfe6f0fdd5a3ff114756cfba7b9bd65def1f2787afec718a64465ffba7e19c3dd4c457f64545341c99d1effab5dd557ada88f3c5dd9f955c6a6a6d4e749b674f9bee695f532d652d6b6acba78de94d739ee9345f9bcede5ea796e9578f0ef0c3072f7cd8c107d2001d30401006203ad343047a48a107250580a30063c699b6282f5bde3399e3ebbc71b82ae5c7b2ccbcdeffd0674ab3eff3fef2e2deded2fcb62338639c8b1e5b5d961f777dab7b4ed5a9da6cf8eeca3f32bed6bd7cd3da540090006608800401b610a0264c15617218283cc8c143113ce878f8e13e9ef64a7a6d8a3bd3fcf896287a75e66c9727ce417828b5d8d6c70d8d388fbb5cf4cea8d6b46c3eae264e59beb55a968b46db9477d5e62b7bf977bebe6f62a311e3c86a355c2bfafa9e38dfdeee5e9a795f7f8726dc7d4cafb6e75bdd1ec01c0390628901fc30001e06b04fd4c8678b665fc3d991190d60031dc0d0e1c97dd457b74b9b6d5b5de62c7a9b6ecafbd4fa74b7eef4e3b20e417228410e518c5c4adbb65acbebfa765793c652a716e39bc5ea1a941e492971396f5eefd3bccddf0db568359372088243183838e160c30189eb86366e087383d30daf7ba7de3667c3696d51dc3b2dae1635df66c329adfd55decfcad396b2d7d9a7346a7bd38ded0745b1a94ee9cc44e5cf14aad594ca5d6f77f1dd8dfbbebe8d7adff2793dcb54956c0063c34f0d27a861881a6a0d2f00360400c6479c718f3436e55bb5bb2fcbd7f57338a316e71fae4363795aa6ba936ab5287fad69d38beb63bb2b5ab5d5d57c7c1fef9446b44cf38f3ca32fa3e5b853b3697da672ebde599e57df7035d3bdab3571ce492d53ddfaeb5b1367f3358a06e08e0090110000044046c319347c4103cf7d2c4f7be21cf4c3d5e2945a4e9c6fb51a0eb549b2520bbe329e38ebf4f57d2fff7af977e21eeeef7956adaf8c9bd7dba52dad96c7abe749d2909a018a1976339c3314194fabafbe43634db57e0ec61f6af7c517a7b1ad327840862990707ddc95fd2983910c3832883ee6bdabbe35b55fd3a9dd7657d37a84efee246b35a1d19e318410430b8c1c16001306cc0b606a309819adbebe3f710f67d37cd38aada91f452fd35bddb69997f4364d9219fdc8a53c71bee15ead86a255a8d4f259a3f5ad4d1a4becabe9a9db378bdeb8fa7edf5d75bedc7b6d6d8abb1b5badedebbbebe5dfe5b42c9970ef7f309c0043072f90e005205e405f50326a9cd31e2eefd7bc5efe3deebed596a9ee982a510e67f4337e7db3cef73acd177db2a6167f01e28b0d5f5af8f2fb42e50b075e3cb08397202f1658fbab475f4b6deeb456bef6383b32a3f2b4f537aee6c5dda11ff5c676d7cba51587879e36ce70f4d5bacafe876e5c376a7152c6e7bdc5a159241910af12599b2a05dd8d6f3e42aaa905d26d9e8df24bf3d697ca99569f4d6d16485f01fa61c23d9dd0951cbe4c6646710f0848ef72d1a9774da5e06bd3a7d5daa63c5e4f0399160b10d08f4d7b3af39ca4a0b577dea67be221b4eebcb12fb700666cc1c77dd43fcbf45a67deeebe36d274d16dabb4e0fa59a63f91dcdd88bb5828e3632e62410977bf66d6ba16e9a7123c59f194c39393a70b56d06205a6152e50c10dd73fcb84ef97383b385b4719faffa1dbb4e9c541d19c6e9ccdaf5ba63f872f5acd6ba4f751861ebddd9dda269c4d7b4bd22a88a0c28e0aad14c8a460440a670a3a29380a0c40e1c9bdfcdaf9b3556625ce688623d3e7b5fd2c53ada67fb6ca58e2eca077e3de5ba6ba77d9b4b7cf9b1c4bfdb34c385af6b34c492850f11147f6bcde9fd6a21065080069b83b09802600e0e40e002a3e00b0d06a9ed045ceafee78afaf92933df1efcc4f01bff2e7e486bb5b9be2b02f6b4cf27aefb3c39785cbf7834f049faca9044d5734e9dc4bdb4b77f979e3eed74a5cf9b411876653996de78ca4d3de6d77316a751737f45fdfa6b7d7c5a6369f799b699ed2bba2c7422f845e1177b7baf7f8e2dec61b69ebec94bbbbf680d641d3a07fdc71f4e7ece4fdbc2b53f0b527e41447c319d78d6fe6d913ac4da7a4652a4b87a4ad2e28e8e246172cba28a0cb0d5d6abc10f0b6e0a1ee8e23fb9dddfa97f433adad794f3cf4b4ffaf054579daf8161bedf476a9456baf0bee3e2fd332fe5a7bda586936ad95e5d3c634b5b81f6a7138fbfa668c7db93ec9dbc966dc479cd3365d344fe1e3d615c539ebcf5a286ff751b7f30f3e33e2f0d2fcb6e9a256765addabbcfb2909a4d315e3ecceec86d81da176a043b83b92bbd0a43a988260524ab1d188a25bdb5d516d757bd4efb3d876dab6b6375ede8f736e7a9fc5bade5e679db9f1fd1cbeb95c457119fbf2291bb58e8ecece8fb9d1669a4dedaea775fd1f6a71557fd6e5ae4e9765de3f3bad99eead6deeacb9ffed278fa214914820fc9628b0d4c392094b43dcad6e7f6a776efa5f45ed09547402fd6c7dad9045bbda7eb8eed06a795909adbb34636c518b2f8a874e1b45a7abaef2768fb77b46b59a4e572a5c8ade49cf121e2a5a7426aee94d4a9ad3d4661c1ed24de1febb9d614a7b66b356ea9cdc7523f0aa4d499d8ebb3b36d2b17269fc508b92b9a75cdae37d0e5f7b336dfa39b527d43437d399bbee70d9ea94722cdc14d6fab6bdbdd5d5a6a63d3f6fab53c2f17cb4fbeabcd15ec5d99386337e5d75fbbce6ed25e174dc53f4e294ec194edc6509e03e6249739a8552abdb57cab81fe867997eb60ad0cf56f9312d167b667374d749e604c089dd5d04779d1a98659853fc52dbf4face706cd3d5d856ab99faee6ab57c6d3c5dcabec449c2d534bf4c2a931ec90b992f98a87b89b363be6e56dc9eb8017163e16682eb06e44714ede96bd39de5476c4f6c795bdbdc3d7fe76923ceced38484c6d29ed92c7fb8becfd632bfefce32a57567d3a7e16c992a519da2a2bc6a75af8d6c6c7738a7b709dbffa1b79dd59abcd92c36577949ee6ee4aef204a512ae52e7eee30fcda93d71efd6d3bdb7e76dda3923fd509bbecdf2478ed4a42819151d39323a5d9c4d79baa2e8ad527e80cbf76d92d555776475d5f18094cccbcb5b4add358a4ef5c6f69a1787ebe98d7b59086791746a773d8db3595329b59a12ef6e9b0dee630e5f6d2b539b8ebb8fd9660219ee9eeb69d20427777714bd5b9b30c2f8fa86e02e13dcddee33e7b4b89a20b88b4b133ef2ee4e3f6fdeceee5db93ce5e8eae39294bbb7d71768e8674a3f38239daeba2d276c39726d792d626881410b8f77f74cef7bf1c53dcfea8c0a954086bb7fe0ae126e7095c0739590a48416096efcd619fdfa9a1c4ba36dda258b54ab29fd2ad19fb8929043428d6b040a8c80c4085846703762e471f9c495f63f9676ff82527b54778d52ce4aaba36c6c77bf7a345addc6b669772beacae293c50277ef71171636b08481c5082c22600172f723775d89e34a0f57ce2b2e77bab8d7a54e572ab59a5294a7fd97383ba7e55da52843a38d77f7ce58f6bacdb34d55c7bbfb4c716f68cce1abb53573ca2bed2e6bebabb6f269bcbb3fcdd72229052971e0ee3eee4a8223498da41a927c90dc702179e1420a00920fe95d22b8e14825122e9fb8eaaa43fa1f4ba5b2467b5c2e911ec923a13d9cd6d6347b9a77957cb68877f7bea74d4dda6805e90acd873645e9cad747d177c2bb5bdba6d46a7bbefd599a714f1bb165aadb5adc6b239ff13bf159fc397c75dbeeb2fe34e39a2e0822f4389ac3759485eee865d40536ba19d1b88ad0286aa1a8574484a80b222488b0101d71f752db7dd32cb7284f2bf5acd4357d568b748bf2b4b1dca1299576bc8fa23ddc6f9d77687ddcddb7e45d256c7946e5e3ab7977ff0fd7ddfbb2eebeae9f5a5f46cd1f4afe8fb59a52f9b8ccb3e76f9dcdf2ff77b33c5e2f97569d39334f5c7f562a956fdaa62fc752a97c9b5a9def4b1c259951f9b5dfbe4e16e5edb2d0d3c6d3eaaa3b37ee655d75279a75daa6bafd650e5f9d5121bdef4eca58669daf7cbbdfe2f2d77bda5dd3b54c17fd13ed659fe6dd6ae3dd5d3e6d8c32f4bfb45ef3e22cb6b7b2442bafb7dfeaf69f6f757be35aa9d355573e6ddc567fa953cbe35da5f2ad6edb5dcd5ddedd8f2d2fd330efee474d1b655f9d79f6d4e94a05675d6d0a8463837e26e3dd0da4adcea889e67cb31667d3a93df1c501fdd84e34dbf2d9d32e2b3eb8fba7bda8be279a9dfcae4f73d992da7cf6b4962d6f754a5658ce654baa65cb8fcf94f3fead7b4b4f5651c3fdad6e2701a1681542aad5805ed757faf971ca41285a4d20a51f9c91cfe22a3d4268c3ddabb82b8430636a51b49ab4f187bba6e5a556f73e9fbda4b3daadf19de9b62f0426212419aa808f3fcbe4b318a7f4595ccafed4db6a22770dfdb8fbb87346a23201171522a8d4e0ee40dc45c5478547054725099524543800810cf79c9fe760d4d1d199e9ec3c92c7f996285acdf21f979f36e2c8deee9bfa3e28ca5b6cf4b4519fd5a66f7335cd5bff699f36e2ecc88c9e06f4f31c8c369bbe56a734567c7337cd5f96b8674f5cf3d9d31b5bddee9120389120c8503de58cef2477b7e2ae2962ee6b5c5332cd9b775353db2842dbc916a516fb8c7eb64aada60404a4f423e5c72907b9a484f182bb4b719714320551441085095714ecee41ee8a321b4f8b2fce9eafefe3aeceec699cd2e2fba7ecf77dfd4371debab7fbf1b4f686a2d737d3ed7c7bdcd08fe976b21adf9aabff3fcbf456b7d37c9baacedef4dde5bcd008dc1d8bbb840ee0ee4aee120a21680e6ccfd3625c51de5bb3a23c9b66ddb6bbd79768ac4d779bd5e66471fed36eb362fbf676eafbe657f4c828b527506a7f4c8b4573d1e171b227e6c293e49df8f4b4043db13a5d7536bbcb3a253dbd13579fc5a7dd3ac90654ab29fdccd6b384878acde65477369d9e1d2a3e8ba19cf177413142dbf43ceb6f6c2fef9a36c5b7eef2597fbbfbf89f669c4e5754e760714149e2fa8004ee9ec45d1f68319e36b5bb9791ac892b4e6d530601ade6acee5cf435bb73d198da5cc575a7eba3a8f5bdae8f43adde36c934c9f3669d4ffb32d23944d66a4a1f8ce0e6ebeaf359fce4073277ab5372019d893204b4c578da73e8d1aa332fa73c5dd1b73a251ec9930448e927cd537eb60a8f47fe2c930be8cab6bf2f7f96a97cdcfd9f657a9c2faf3eb6a990bba3dcc10ddc49f7010306dc0718771f60c829ee1b78e01834f1f14211f7f18213f7f1020beee3052bdcc70b6bb80f1852ee030624ee038610dc070cd57dc000c67dc0d08016ccdd4121657074eeee4378474c70770f0266d1f9d1c58727233cf17177fdb34cb6f7272cb79dc1a54d367bab37376c3f62b8bbded5b4f26ce6456f3d9e12ee5a5bd4eebab5ed27cc0f7753dbf4e4fea373b7e1022f5e133c2e2f5e5008b2181f6d9a89725189ce74b5a84da9fc88837bb8fba3bdb2c75d14ad4349a596132e9759deb323351ccbc1986626f332d1ac3d320a3d073f546b8bcef0ad3bb5e695f1b4fb5a5c9a713ebbcb3a6b7ccd8bf276770f9d464a1c017c02de1867b7819d133b1676b41d0c2583fe508c8ae03e963624ef6436c4c1c8a5fc2323975aadd4f2fac8a87bff4399ae954f33aef672f7b6239ff647c6d3fe729a330fcd99f7b8fc759b95f647c8e7604473e63dce36b4ee7c0ea139e7cc4bed99569f6deb8a02e99a5a1b1090d28f46733ebaf2b39a5a20a51f34e7a39a5a5bc6a94573b9bc6d3be71408cdf9c8eeba6d5a5b3423a1391f698be6f444b3ddb909886666d3a39fd56a69ee1cda3609a8e867547e6c3ba3493ba31a0827b53b375ddd6fabafcc977d4aba32ae13335aabdf49d539cd7679e3aa3bd2517123da4827737727752e771f732370f7f13cabcef5724d7262de3fcb84e301977150ea76b2b629ef8eec8c8fbcbe47bcea4b2acfb3968f79d59784cbc2da505f16044b3bd3b0da2295af75e59db8d6abd342670e27cffdd4392b38adce3a5f79da9d9bb4fd656c1a81f3dda429c2cb74bdae3c6dd3b73fd97fcde13bfb9b12bc9ede37cdfa26c3cda72c717e37198e4e579dec569bc039a9bc7ae47eda34e35c957959c6475d6a5cae367d9563bc7c2a47809da5cfcb76e6956c6576fa12d96e98fdd0b4dacfbafa4ed408a85603021afae1520697272e52b8d4b66c60cb18305b8eb6fcbcb6f8d08285161bb4d4b4e8bc4ae040093a94b042094c255840820548a08104d4e2fc3e8b4f34efe813a7cb237df48f63f74d6546e5cf4a1ca2f2c867f19745b413cdb5a247f2474426fee96d73680f67d36a6eab7f981cb9945aac6e9fd7bcb98cd26a20140d152191599e83f1eab2fc2829ce575ff913c56f839e7775464600330209237890050459a4c812431610b26880050358a2c0d2c3e2836575a50257bcb8e27b5dc172058807e18c9e5c24a3d22249a1a23424a566776cba56b3e95bf2fc13201e13db1e8ac3f7350eaff7bbc7fb34e3943cfff3b2d4eaf6a83483d20a4a47943c898bfa41511ec97f0edf239951d30b090a241490ba200979899086084c88908208535e22f0380ac1eb4888232b474270bc8c7430fa7915cdf143515af42fa230889c5c27a1e1943b47a5ec4bf4ea7c6f713e7fb8f21cc98ccaff209c91ec7592a73d4e89b36377373d2a7ff635d96b9ea7f194e6ce91c5d164aff12d834a9ea347f23b478fe4891ec907a53dde974a6a355cb6d913ae2ecf6ad35aadacb7c9ea84743b87643c6d487ea8dd68ddba9abb9bf234ce77e31eceb79ae6a68ceaf4c5bf9f9d563060650c2b61ac8860658a95222a7f592152e50b9c913ea28f68a7ba3b3a92197ded3c8f8ce899d69c4d7f36d3374a1529553008e103af10de788530c42b040384102684284322780d8df11acac1bdc42971884a5d0645791a0e8da6894a221a07a3b5b8fa1bdb5e17ab6fbda41f7fb836ddea531a91c65ffdd593241a2aaf0c5119f590ccb5c536f71aa242069530ee8ead4985e723bea8896d3e8ba9f4a026eed50722aad5947c19bf40c8819065ca1d53a098a2c2143c8588940e48d141ca0a63b9adb6a516c5b9fc67aabb568b523e2ecb1e67db24a352f6e550f9bbbdbdf17675eb6a04cfacae3a9e3d2d536ec297495725265d3790141d292e8f32858f27b6399fc5af28a54781e2e799cba4eb7e098d71afbcfb20083db9d370eebd8446f09790cbeeeefe7d83347071bb5ac4a4ab1250d093e3a0a05710101fb994a419f71faa7b79f7c319bf481d5e24afd4f2e451258b9c4040e6add550b40a01d95dbd40404a3f16e5f594cc1fd36239a1f88ce539547e70c6ccf8033138cff6074fe3cf32e15cf40197a45a0d88c72387807e009a01e80950054fcc3ca1e2c9ada6cbffd9acdc594a9923a54a159951394ac119655f5691f248be8acca8b4616c519b3e87526b8fce6b4bade501d1903f9332f3e931559b455bd4fe50f9913929e3eea409d37c39219dd4ce78de3d59fbc2dd3dccabe6349e36f7aa35bd6a2e6f4286575d132346b289d35093d2dd9b40f1262e77f739e3eeaed355e7e393c377dfea7bede3e4dac916f950711f201a3349c37dbcb788491826443d677c9c9d565bdd46efbeba878cb189baebe1f54e7c33ee3972f7578febb5a4cc9229dc7d09cfc733cd385c3dabd212284040285a85727aa4a42a992901e23e72302619f34a22445a2d2a94642849053c6ef084711f77deb9d7e5756f3bc91b47667fd5a66f89b1f0a47634b0a38347a9f746a3d926fc55870d9d27744ad0a1c95140cef9caf960ecc028c6d81b856871bc68627ceb1ebe56b7f7ae55573e6db43ae3e01eaf66d9fff6cdf866535994d74c8819d26b96c1164876488090ac8e88e1ee47fc75048823341c59f23af203870d1c31ee5ec45f3828e070c171f2c2f1c1a535bdfbb6cb66f6ed23476c139a9bb0365253db947336cde5ea99d613d74dcb3c4dab9db836595fd6fd0c3734e65dc5e7cee358b59134cdef64a33dcdcb4f7b9dd9d369a6d5704332225eb22c32a1976c346201234418317a191932e2eeebd4ea5d2f8795c6ccc3573cc0c103175e1ef8bc3c08cf486d8905078b0c4b79dabc2d96a6cffbf3b658cad3627975b0d4c14f07b88c8483f33399d932e5fdaf2254bc8af48a407915f917076bbc3888c2c7f2c42192696cf573108b8d2026e6154b8aedbc606ac07c805d58ce4fe0bdb88f655245ebc592e629ad31a7f68456de3fa255ebd28cb331993555daba4e416fc5dd5d8fb6c1191bacf0da20c8dd2df0d70634226abc881841a40522340d32a0410d2f0d78eea3ddb9e9479c2b12d2e732fa481e49293735e53467745667a7b53be39d9b6c65ba73930637af21600c89e135648b8f79cfaa4d73f5352a440e2142b8fb0bb9204817af205604610a42cb4004af0cd2f09281ce2b03181032dc479ca7e1aadbb22f7178f68649346876ffcffa38e386c6fbfa05e4098815203c5e40501834e16389b383b3696977559bd7c7fbfa33b1cda576671f63008401cdeb8207bc2e98c24b9badd580947e6a35cdcbe9d1d13f791e4fc92654be2e407a5d30b3408d970543bc2c587a5990f42305e349b3292fa34c66456f3f2bad4d4724a5ec9d398b9e695a4dda6fdf342fd59dfe55bc7b19a7bdadedaffe50b42afd50b46ebb339613db9fa1755f5e35859a703681b4dd198b5325fa198edd19cb6cd73b91643fa6c5b27313109399ad0045d1398bdad3feaadd198bddb9e957b1cd67b10f301667a2978f217dadbc7cb4dc47b3e2c85705fa5581f9aae0f57a3de0f5eae295be868c694e533bc3e5b39765dc9977ab4f8e16675c6ff587a6f6fca13fd3f66eb462cbfb3497fa9ea58b88978b05d77659e941c7ab8716eeb8fc4a9be5aa6e5fdf99310d777156b753b4bce7d06b2344dbc9625baeded26c26d56a4a36cda6466fdd67b5ba13f7728a93f4332cb273e8b7a99c397c6ddbe6cede2db54d1945736ae39146dabbe1320f31a4938f278f231f79b81c7733c576b2f8358ae6f477d539497add8871f7d188bf6e783ebe6e66be8c6d969b96cd14e3c696775f36368c2f1b9d3bd9130f9dd75643e65503c4ab4600af9aa017cd197bbff68e5e3435bc685077f7e12f1a125e34631aee5eab2995e4abb57ab1a078b1b4b8fbca5f2ca5178b6755c7ca8cd72a88d5086645793763ddb6b9bcd1fa68dd99681ded786776e7225aad2cbf768bf2344d96245a75e6d1c6f1a55ae3a532e2a5dae1a51ac1d18ab323337aa96c5ea92a5e29165ea99d97788197d8c4b8b3f6d49997f678d632d1ce349b5392cab2569ef825827989257e893eeee34b7ca1c6b87b6a7927bc503acff885fa8cb7cc5fa1995c5a8f5ee1103eeabaf5ee65323cf202d1788153f838cbe13bd3d537fa0b2ce1050679f91a2f1762c465daa8337bbbafd8a2e5e386f0cb97dc51e60e1baa6edfcafbd59dc69577d68cf290ee4092023bdcc7d2567e114945e993a4100d29bd142423a22f32fa2852ac5821855e4ad02b1915bd52d215a24f1aa2627375776dcaeb75b1695a2d2a04c493a427cbe19bc357a72b1514ad4229d0a5c0c75170c671b6bbac2d0abe70efe550e0b481bb5070e4639a9f0705ac8c7fdbdfcf483bbed819db01c6dddd0e9dea4bed49d671c67d1657c718777dd1cbf3db6f23d8c9d7f127e080fb09a6f051e3d834ef64ffc355e804a5bbffd013e4f8b875dd55a7abcea9ee80807e4cb0c1190a9c49e20cd3992125f8c2e25c24f427ae25c88c469b9ab4fa43742c800e273ab6d0e1840e0d48d0050906400228eefeb3b1f6e70fddd170fe590edf394c304718731c3187983992e6781c5b088808415308400881cc4c06ccd460669be93103ca1101396490a3491c1e88438a388288038d030310340004000081121054f0010b7c20860f24f9001038be8043c3818303030f88e101311eb879e046f7d0a3a7712185b4fcec6bfa8ffc23798bbbe8cf7676dfda687776be669433f4b411272997519951297b33ad16df246c84d29c4a284166547af0ba9d347e92cca89ccdb4aebc9456e2a068157a245fc223f92429e52c5f3d33fab1dc292d5a9b6eaf0b527d7df5cf4a9b2dadeea1e8151cd927ed5ab96df6f6abbbf269443fe2c85ed3465a9a5fa7799b758a2e750fe5fd0c6b7bd36c2b779e563e2e57dc35efd6b7fe8fdd5d256c75be340369b43a55a20e3869271da0e2ee630764286a4dcc0133ee637d0e9051c40131bfdb73c0095b0e0071777bdf30e36e247d830c7f434c4df3e7a2379cc63746f8bd21731fcf0da4e1f6a25767deb737a50d4ce123d20696366034ce94c8200d54a18118348045032cf731ede9acc94fb31b41b841821b4a7c244db20d2cdae8a10ddec5b756fed2cb73b219b84006068042068032d00106cac08015eee35b8b9bd1466b71d6e2caa72dd934cd33b4360dbdcf1e61e00803ab3262b88f4265909469b1c1051b0b60639775be2f9f1665e87fbb569ed7563e6dfcfa9f56df05e6b88001dc7db44d7777e29ad69cf27817f0b9c00f773fb1e525e12cd053810b5400860ad4d668638d19d6f8400d336a1ca1860c23937979d6674d6c7317bd677a6b2fef8b7bbb9d8ec5fefca138e36975ef56f3b659643f3ad93f714daf6dcae6ceeab62fef78bdffa1be13d7bfe5a58d7bd6f723be9f66f3a275a7eff8db7fe567bfddb3598bb3bdd396e66adbe514977792ee51208c8f38da5a4c011e49019d1187023f3c8d36d2d021a3bf7b79b67b375f1a55267006adf84e994013ee38b2ea4b9a8093fb38019d114702b297c0981c09d8e09eb148804aef7c5302ef3ea25126d78446134eb3292f080d9e3b5a7ffba2d1e3ae9d2a91b636c5d97c166f6dcf5a4de90c21ce683a2377c68f910374b775e358dbb8faeceeee0e9a34a95c4a2d6f7566146186ce0c0e2210011b2280fa58ee9cd3f2f52dad897391ec6d9a66df50cacb298f571fa71c42ebce4aa5892b5a771ef13d6b192694f1a40c1513648c40460763ac310698319ac6d08d31844c09c820804c09644608780002474060bb8f3b1b14e533feac7ff64bf3ceee1e5fa3bf4cff8fabcf76e21e5ab7ee45a9d5944a249bcf621bceb55a11363aeff9436db89ab61ad2f819ff503df4b4d126bde5e5195acdbb6f6afece784c7359ce8ca4d6a653caf3f6ba5c140245ca10c30b31b68fbf8aa6b6293f6d9c95ba562729624011e3878f4a464648ffbbfd6ef84a18298491f300143ca0880728819102302400061160ec0086942fe2f862872fa07871873b07ffe3d6e9d54652ab7bd5a68f637be996bdddb8a6b597dbbc5f6a9bece3c8aaf9335d758fa2d556568be67c7bf26bb4716b7b964f1bc7d1dcf667339ddab4f26ccadbbadcdd7d2fff667586639b2e5a6d3c6b994ad9eb9f9d96c9cc368bdeaaedabb9b1129399ad588bb336c5d94c7d7748405e40195f57773dbdd000481fd56a4a3f4e39c8a66bcf4ecfb458baa039400d077c7140132edc184ba1477bb8d4fa1e4551b49a7af6e5698774e6ae41a5d5ed7a5a5c7fa6f4a3b626ae5bef7a667acd47d1ca64543e175fb850f2f1b4750b26b6b0618b1f2ddcd022072d4e2d7a34208db1bcf5b4edb4d5c7b373e4287775b963b3e95abed53ddaada7ff877f288fa76fbab54d7fe3eaebe59f597f4e39e595bfcd5efe8d76bc329c75bf33a6558ded506fcce18ceaca7b9b8ebb1fce67cf6ade9fb6013ec68431c606fb27ae3945b3ceb7b3bafde6dde55db360230b21b210210b14164a60f18445152c663e0a09c98cca29ba06d56ab59aadacbcdfedb5d557a724fb11e7977d59b3bf33b6374d1b37cf9a4ef6872bd1b879bd5497a54dba62005798238e4cd75a2de3f050ada6b47bd976deca4b6d397ccd344fb167ded5d4da6a6a539c154c566c7177cf5b5bd15345191f7933cb74739537aba20977f72a9edc75f51db98fe7adbccfbd4dab115dc5bb8f978a33eeaeeb8e8a314e450a54c8dceab6be7fe26c5a4ddbb6a6960169384e4a3260010ce0f978da7ba6d5d4f7aca9c5240356534431c5938fbf9ffdd05bddb9e8ebd7db14ace5a8a40fcbe8999a754aa919001101000000c31100002824160c47a472d98cb078d43c1400036fe0548a50190eb434c70c32c61832200200200000204100009b68ce664395170044c73cb95adb7a9a08767662989c8a2d59e5c3b77152182c5eb70a4b08883f3d89d326af4f32bcf8b1238fb575ef54a78081e30366baa5fc8e016649182d6106339ef96b1d0898f25854ee4ea7ce039e8d3639b65acd1b6d7d42d7c8258f6afc0cafa9393a4d2d0902d932d1fba6191577ccf1654d027dc11be17db32418dfa0056abbf64c2ce38ab70df92c8e222b038555cbf2436e9d78b4fdb7e56fd02f9a160844e6956363b80f579e7ea9ca2eefd7655152981e33a666bbef68270833b55dfe0c154abdddb08ed1d277cb1e8cd50e97a4ffd9325f9ec1cc2d792014f37201f877521a0be3bc2305a87548d9e198c9f620c1c0432092a64b0e19a12d7ac9cf042749db7ccd6fdd906a5726d8b3c7d63254210f1c9e698d9b5475fc14083fa716a48fdc32add0f4407d6a6f35c580547baf4907587054eb12458acaa3d2f0f0e96c4b59e675c5e44fce06b72223c8111389d7d3ff4bcfa538fe0077fa1920f6f9bd7f1711f2b3c7147b247015170a7bc052cfe813d886a42e57ecd19c50c47fc8d337e89fce67a561b620624a3dff986b396dee5e92b337d99fea08f2d4d15dc0d13834c67f90424e89f11bbb78ddcf769492f7a6e395e54e4dac53170465ebc711c2e136bd620709138a2ab0e73794bbea4d30d4bc090784f90ce5ab8f113f8c066ec0d67d789d8165452e472aea19905808ca2374e76c1c06e2c54ba957ad4dcce8ae26ea22f9bd82d5ace5a064742d9a9e9b93d89b1390e7a151985e83b0f93450d1f399a44597755037a86ffbc92ac1fb670cdb9f1102db9ab5c0288bdc0b29e218c10bf043fe46fc384e847bb474328acd8b3d352bba54183c2b2d7a10cc87126d01de65734c98cee66c19fe82f89f17e51175f0204868005d31d5ff429cd0823ca147421491a3a733ca6c6cfb2762182505973d8bde9d37ddeb3a6b8992b02f2b8ae09b0f237604180f2f549e45ab51dda009205fed308d1d83ff4d914827dad84efe0cddab96b6ab97449d93f20ea3c39f4ed0a4808c62039f17b2698f8449a748054b067eb2337cc5134976bad6e5488eb36b0e71840bce9221c58408ce010cc239288628074b0cd0a32c22e3ece309c4728f40536224f317bcf8199e8c64158c41e197c28e0ec70d2855d9dcdaa3f40eb718deae59af22c40639bc812018a092fc526783b39eff4bb9366258731af9bef83169efe7faab88fdb45937932fa66a18f81726690afbea44aabf7ffb2f2a477f18e31effcdcb7fef31de840b61e1b8ed320d5b4b6e65f7750e451fd5453362a85d70ae9ea1a9289391bc71334ebb3c46ae0d8e9c0ac2f96ee3f10b1907d5464a913a0b19b1d43992d4bd79541e67c8f2283dabda18c28db09d3ae44d1be080046120c53dc57db70935f644696bf1fc1d73a6d77f617251b007a12ad9bd14e4d55171b8937d46cadc1b9010278ae83508106861a3d348d7b684dd43868c8e91b9456583a1bc6161713fce6117275d2a6f8efcaae91687987f9d333a96dc40a92b40ca4dd197afbd24dc166c1cb8a0b7e8de59d1ce2f28051a0113e41fef7844b20a7ffa3de26cc8be7a281438098380ccc6368e322b31e8a967c06f07fe530073a895d3bc23c1b18102d34f6c00f49c39e8e55aae052beaddc796d318f4cf0c297d24a44db31fdafae51586b2843886267a27b865f2334375e92aee5efc1aa46c90730d72e3b4110cc947486311ead42d6e6711fc6c939703b8fd43e0a62d8311538f0155500a9b9e313967e97cc24f67163e223acced05306b56c10704bfcf7239aba01c917eeeed19951d00c2f852c012ba8b2babe90368e3e21cbefb81c600db0e3a7c67b592ebb7e0cdc847a5dc0bfa010ffc14aa2414aa7eb3f1c28c2c7379616b31d1f596495594fce029e82b1b329f22cf0636f725089a1ba19b6ba4ffdcd51d0f9c95fe43deb380f2e78fc8a2c09d4c4bae219c87d1074dcb7b2beece62d0c13aa2d3273c5fd9b0dcd4b43d53e119b9528b9c282be956b7c772fbf8b7dcff35bc9ddd8ef7a7e960b13aaf67a9e4db79b511f8a0319e2fa81f0092dda8bfa58f09c30f0659f464b9b62fea755af2be53dcab0c5e6b7e7fc5b18eaf0ba0f9249eb6700be60e3325853afead8759b5702f2b87a0a02c8475d85678c8c93ba574fe1b9bcfcc1be3dd4bc79e4a2f5fd5a4619c5edcab3cf4866a279cf87564e475592efa0c9356d792744987fdc19091d4724e3e86fb06a5300a482357b407b41a064b2d208ca9f5804b84cd642eae5f742381eca33683d07ddc994edfc796d9c46566ff41975cb1f5be6490953ddc5a11ef4b3166ca28628ec2320b11abd7be5e3d9bf171771ad95325a1b9ca7137cb5d1c6fedcfaf65ed553538dc42dbd3f2fba47f06b10d717e887cd8c4e720cd288bc398cb108449ffc9d8fa70c29b3b0d38a61aeefe70530a19e74996a52d495a6854a276175355cc923e130faac00df3b7648292a3132d7ca24ec5076ffec32a2c04a6f244a242aa548ce9bbdf0ee1a94d954d884d5739d9f2b001b115075972c74891b5374c704bbd2c2d57a10b49f6215649f0937c3ffdddf8af79f80efa9f74fc9afa3a6ceeb2c35d51f20bf727c019ccfaed2afe5be42fae4f38372db2bdca321208e7c1933aeb13e3f7ff9a845448fd46fd87b77f6bc81bbfba451c0e2c0c604343e1e504ba7262139c61066b84ebae25a62a4c95b9478c8c4f17aac5f236cbbdc25012f6f583cc9a5a7af9af5a6fc1e8b0072d145fca4c0c91166e82b40c52b0273ea7342fb58c2240d0e9161c3a325ff31689162036b1f4f62753f52feb0ccc4a51b3e480a25fac5b78bad900e2e74940a13c173e77c0799967dc07dfd90530f494c9c4e87d7156ad2d588678fe64de7dc55da655a367e2bedfdb938cf1b90a8009ad2342fb6e236ed4536972cf88f98de0c3faf15ebd271431972ea0e7c2c607206449ba22ada7d19de2fabedc1bd0e0c1d9009a88f6706266c680c85c88b386fb2cd372b2ea98a6f50f66b624eb29943980632ec17bcd28501eb7ffc8a501bf2f09f5dc53776ebef4f7f7d5fc7ee3cb0feebfc42702f8ede11912fee7951ef48c7713b0b3ccfffd808d36bced151be348cef64a65a9ac9ec757703737b1897d7f0182265f75d5648f4833fe1a5d987dd31d5a3fcd269b841e575a3f768c6686a0604b350fc0ab657f1f03d5443c16bc38777500aa4b252082dd8924b37a514f9be7c26e296e7c70c7253ef52379a6d0ac09156222ccb43bc35bf63a017daf7898d812756f5dfa5375e273fbf71e80d80d23311a263f8f18e9f920e5e59caeb6459f810499fbebb6e66baf047688a262f4a26e58ea1df998477f1eb8a0f62043c088a65c66ac7fae31cc1898a331455a342f2c9d5bd25773b353cdff9e44dfededc85c16cd88e3f73e49ca90f3639d817d7c1cb3210efb99ba74881c3a1f952f811de8b54e0c1b5b5b657c0f6e99a68d9897928aab07acefcc4b577834a468f47a17ec5e300a06c47a50028a2151a678390189ea172a642dd9cc57e89ea836e4f5dc398f541dad281e119fde3e7fee2da5b0c23c5d306eaafdc0f1fe57d2d9c090ba3cb1f9c7880d9819859a36393d0ae22ba9318f711cba0392335794b69126b8125c30a80a725b902366717d2285f7f55bb6512dcdf47018e7f4e23f2cfbd977b6027d2f4f8aad98b0e02ff502b5bacd11e2549b833f7c758ba6839e44e42487b31f6d3fd745f8350905ba5b3fc80bf7c09c2dfe5f13a7bb3bb6b4aaac6bff82204f94cb2a6940785bb49e6496001412c7d75254591b7e90e99806b9aec4d6b28705489f6596f18617d8be8fcee8d58975cedb15856f3e314d9cb029e0607529e5a1c7d913cae7f9bd9a1106f98a0630b7325ad1ad7bac42e9b94aeb1ccdb34dcd80b8fd31f23a20fd2910407dce72bf1423b87adac126531a234dac23bc6347fc36ba06726115c447d4d9f5f6164dfd1fe902a01e447c4862d7f96b1f5a0bc7f657a8b77fbdfa4bd14ed4826659384c60bf2255aefd59f89eeba14c7c78472ccb3418953a470aaf8cd17e97df6d3f48dc679d2f364c84f9e2b857c23c798579692ec1958d48165a55018ddd97b5adffd92da897943a1194f6d4360ca9a9171f8bd1b646524d5c2e11165f5b1520d7804bcc176747fabb4815271ce8996b06baee8904fcb676a4e311838645d7d8a66712be48d187e1e6250433e47819f86a64ec3b8115bbf43010372764b2e235ce81be3736d1d8f3bad6c8b3fb3faa63e68a23d2647065abaac262510dbd8603c9f65048fa4b614a487abe77de39586c60f2e86c51b6ad0c98f160793044d6c97f0510616cb068c38797c9e1dc331fc8d1da46e951cf875360e83b946d947231e628ae114d58b3c9aa727a6a4becc9ce6a7e926a29fe8a1df166b67df69447b2294f504baebfcc8fadadb8d619a65a52dd25248b39bf1257c28c8814541e5c3ada1692a565be877d80bb9bf43739890687b32e89fffed34ed1f22723e3039e0e68cc610ba3e54b1b5aa6875b71ccbc564a189604114f023782a77c816c7e0b930567bbb70249e49fabb4c899b2dc777834cd9d75d8cc97f308ffd8fa446b2ab8c8697e6808c92e812e2195e600947a2eb9626f107652cfa76db9580b51b63645df5d7ceec1ef1cae9d9c76c308f891c179f8bb4d0084bb30cebbef00ebf2398ebac4e8e628f15e7afe7494601c3151318d2a906289e35e0f3ba8d84a21718c80095a79d7772c24eb3adc489ddb5fc37709efa3394d4ebd738e15c68afe6b1123fe916a412b58d0728b4781faeeccf04e275c7536d016153f24ebce06dbae4d8769d9107ee7f77cbfed4b7f8f37cfef5be9b83fd4801bfc0adaf3458d433b780536f5bbfcf45348816c542562e8370db411c4f9e67c5b9f60a55ab5cd753cd4283e62f1242ba7902391f216cf77909a1566f4f9f429c8adf5c94e97e5e33727f44a7be4d87848256bb1b5dd88d627e670f0b27881a5ba2e740129b965a6e7c8fa34c0412aa23246bbbd16327a9003bcd8f9440670f50973620fd342b770052931893b6023ec7fa53eb418432e1a58ef939b738ec1af34be49f97770da6fd72967d768f852fc5cf17ccabfe3215641cfaf86901eb40e78bbaf67a6f8c97aa0a0e357db0b3cfeb9790072907f3c3bd443eb443c5173c14825977c7af0db55af895a261054d7a9e8cb97f28305370582314c08979c0c410cf23724c26bbbf6a5b6670c731e120fa54c185b718219cd0e854d8625a6eb204bfc979a0ffeda648440213b5ad85273c363d3b65606222c515888ae94f62c2871106f9c847675b8a25def58f3ac2da316d8a8b2eee69507bb6f8fbb6e36899569f61f228e224d9feba111c70929fb70ee1cd40735e6505c1280797d8ca3cf5dcfdc13b0a2168b8a9b17213d92f146228b7cc0a5b0108ee38986b2c362bdc16fd1866d6b9d53f04ccf3c8d62133836e02587d0f3b09cd8a76c873b963bfb04744706e0ccd9b89ed00f4469dff3781126d120bc1c784b0a2db1b882add142b55d09e756b17722d9575294afeabaecf5c0d3fe094ddfb62eb778338c7a9d5cbf259f6d08ac720c98daf23a5d437478696d63cc392f6c279b3893b0bf0f0585861f714494d12a5dbe049fdd9577c6928b319dd84d1fe070830ee7c5fe26a26083e3d1edbd2e0e57f443c162706dd86bc42a60f101767120dba1c1c3998dc6c3dd71d7ed18b2c1c3da57f8cee7615b1922b597e84fb048066060cb1525f82f2ac619b70b8761be6f695fac972d969f2bb703a6e782e527df4ee0fea8c90c12120cc000ce097437f4a07d3959474dff6b27cedd5c8b588b01d589ae33a37485b38dc50c7f436a8ad1d57d5be1722fc1d68fb4c7feb4cd487bda4fcfca26be43e5b62929970f95f020381f9b48f55845ad3935f8d6e089eda39d9f14c31d1c4440bf35c287b9b4caf117c6b0012ac1cfc9d1fa1ac851be0fb50e1c0c65f50bd5216482fd3dee22fd441e90c9f14c7b42c6193a2fdf47ceb4f7f8f9f28e52b00cf2b12ea39b15ef1ca4a6ef04e85787368a1ab30ea8592b683f053c474907a702f655d440f3da2d1bc8e65ddffc995e90d943ebfeb5270ac7c4d6f370305f958e6a7187acda6469a3725379f95b71dc320f3544bffcb524c7ea126c2a6fa60af12ffdfa6562b70bacbb15ead78974ffbe426546432dd75ee851e88403a533f0f5487da862c6f64e01f9ff67e96e33da5108fc76769dbc0f112244ce8e0429422ccd21bbf6964b0bf3677cc3b417c6a58b43f45925fec75260f2e652236172fc09ce9d2c00044383e1e2ae7fec3d59aab89c61769626220fbfa0caff54de134a3fe2e1e14a7e993fc2e57a6285777eead4513d806c633338099eef296c11ae48521370cff83ea012cfd84617243e88e55d1682faf60063b4a0481691d790b5b065d9791b9481a6325bd52de3f67d65e89e98b97a10607d2d6f490198e1e41b4a8665647d759937f680a0f1b14a23b983b00ad6ec97b784870b2fe850d964f5d807ca31963c9b3bb122167641542d61aa85d6946c90c713853bbd9aa1a273bab8832c134b9c3491de07aae0376f488e181bcea75b5112c17d1e7d904d10bf5844f7e137f10fdbe12a200703f349096b25c7d86cbf05bca9bca637e8abf8afa67601586f6794587f08546343fc2624d9448da903b6dc59ac14d1172b0aabd0fcff51a0f31397346defffcd52eece7454c8bd9bd625dcff39c0513302c20ad42d47617a40d29e27fd4d7c6fd179d2cdbe7e693beca401ce78032497aa6dbf89f3d0b845ef600e48780c7fdf3f7ac18a30d01543a90ecccde448fb4ce0afa1114d7ad74bea2ba590aa3dbf8810e76227809a551aa82873649d86709ff089cb10e3750d955118bd51727f6010aa5820934c6dfbf6d4042fe8f6c922eeef8e99cc4f1a5dd6356f5a85f5877a5db271eafe803c8d9e3f544cdd54403c452b8b88426afe7624264c9e81322e1b697a5e5316cf71216646268b90c90b11f610ff5b4545309193a92ff740e029812d135e1a69b46a24c40c93bfbe889b26a090f3bfd3d142c33f7ab08e000c044523a167a2308840555f09f8468bb253a455a9a425353c87833e9622f62511018fc4206114531440b0eaf4b30038dcddf171fb032df9ed17e38735ffda21f82f4cf8fb2bd09218c129593663537c43727034e202370f06e30c04330db821271263d57005bacfc71493d9b7418aa6058058dc6b375c02c5300c1fae3dc711b50a6153244b55d338e923a2520ce533d296e0f729d244f48f04eb942bf8be2610b076aced065b83127a4665531d1d11092033ed1b1abfdb11d7d3bbbc672741e0e783de6f609bad96720076914802e0a5782f3eb1386e6485825933d34f7db004f6c73c91fd765dcd842f4d88e6041b2e4e744632fd6e46e48cfa592b5bab94df39584987df946619327be003e509eea11f2bbaa25f56a1ccbef909be6180fb660a9de01960d3c6d0e13d5a137b418a4741aa988d74b3eded6a1ab05f43006db3efebb59db930f878e22f052ecd5707771e0fc89083a4f97c701269b51977d7d6deb36a579bae0df42a5627e81bfd2bba67ccc6e290c5ccc1d07cf0cb3fe7d32f8ce2ae23872050af3bce1da97dc34e0696d9a7ba7060cbbfc48d7131248b1f5b526f5161f87b93838089b14467ee18f9ce53c2fa7c72a72a3e2b8f90745d3b07786cc6ff16c1c1be34c044fa9efd7e31b1fc991616f045a99e063e51906809c583551730a5ff336ec3e8fb2cd1af90dbbf43aa3460b1fe2fb27084930a4b4b09b64733237de23da8c2a8dec94a1fc1efde1f747217ec08d0b88c1af36d78276e52826b4679505560d5507e22ef598c84b0de92ce36c5492362400004162b9ea9730bf1d73ad404ff6298807903a67142fb27aacbc2929be2f2b6583ff908c665383f27c2fe168f87bc8e6f66672ab5e111b049c6453eead1fa0889b6aa5d2e71ca723856c05ef1a0ae2d595561820022b4357658d125a72557130fb41ae86023e498f2040464370a8af4092f7ad01eba518579481a2f9291889291d22d56f9a9bdd360e3a18b64f11aba8d8f598eb9b38c68d26845842da7461fe4cfedf5964e9c3dca692d549518d068b3368281a7e6e2410c5d771fe7f98561164eff0ae40d364f7f8d2b96388c7cdbbb5305f659935d761530970bff8127fe7269dde385f063f171e7f054acb84e4f85c6d548d17057a9ceaf990416e0985183dce1ed28522ab8815d7e585460b31fdf3f2c70a02d05cbeda7702fd0189ff3e68321e2679e9d78f9bff268901300d4515a534cea7e4c936a3ff8fef7e19fcf0a27ba7b028dc9f333bdffce7339be0db97372095ce99b115b139ed28f086e8f311cf3159465f9bf780c580b030925e2393c351b79f1e994037760f5f503e607bcf5c9cee1b1e8c181a59473d17d8de094e9168f9fc81c12a6987de98bf8e81234e4bda6b0ce57ba2adb45a08e11576c0744b6d016747a7cd43dc4911d910f25b05ac02b00f39aa7d9c0516ab1eae2f39f058b0335ce5b8d25f771c7a90465bf42a61fb56d82aaa869191272180e265f16f33801678297ee30889980100f76c09cafcd6dfa8c20df663006d9c2370d9dbd2673be28096b088143c08a3a6adfc391e59dba46ecfeec09c18e2ad1f3310e8c0f0ebf237b0663ffd77a1bd2d3ff7abf8f2d448db78de90afbd916dbb2f1a3f610c94395f7f6633ccfae79b38698ae0e9a798a6bb8619698ed8f8d013e5f9b418c3ca21d6f9641b3869bad1f45693a061b3876731bcb233225654c0b488a72a59c87428f28938a60d01380a941fa35d0c7787ac51a7cc10defcb8f92e405ce67fcab9eb526b25c3fc690e9ded3c0fae000bd105aeff664d4cf978a52cee74b645a7ca7aa71b2af976c389d3e03bde7cdc90874abe5baf5e2f149147aed7dc66d83b099f176e87687390fc5221c952a6a8b7665b70cf91213f56d93e825f3274abbca97cd1fee151eca2a271e9549a42acb142a0705dd7a87263de4a16b876a47bca029ca6dc9548bff98c0446f60969a9f0b595663300fa45dde5ec43c964948e15861c4f12e8558461c239e40499f050d6079e07021654d2cfa5baad94dc9f82af83d0ce297fb643af7481960c99c13d790d3eb707b7e0d1e3b0c5aeb056916b7ea306d1804d6c7cfe60f8f12c7a324c89ab67da82ca0ec0d34d31e44ae15ec3693b0c775743fa9a96c132550d19a064762595059bf52d7b759798f00079a5752ef846c01fb437a40e92537d2bafb7338267764bb187f3ff40984af04776df0c5398430c5bd0e5b45015ed277368037d81057abf2ddf11f2bbe4b92727496d3e2026e1cba1ada3dd7f36e2da086bb981dd42e1b6891662e4cb3dfbdb0d83d3007ecb2a95780685187801f221e3b2b54167e102bbfd9756198c67669f30f2df704c97638fefb8b1ff36da2efd54ff508cde8a290288c103049de49545b7a67159cd61622e94b7b91bcbe97e8124ebb79999cd136e824c7a2447ad6bb916cc0358c8eb4370d3b9282d7d76a98f5d4c1c7574f5df7a33f1f9b089876978ebbb0559aa500fa3945e7b496bbe63d45b24e49e88eb12a96b821930e1c5bab776c0b811a320f0d17319a67f496a3c35766314d2c50086386fe5f400ffbea3bfc7b96eebc65c2d10e0ce58851cd320f602a79baffe913fc5ccbb42d94c96f8f08c64f70fecc5a84c942c44fa68e478488c5a1b886917fb914d85e763ec7a5fd9db542581b571d5c7f55a046d9bbe264d4cd82947a3dffecd3bd753c47c4b5d12f4bc43f775bef825df11b390cd8973d3685204356f1180943658ef224411924860301a1c403454f69cc7db75fc222f40a708b87648d5ac946774bc84c3e9ccfb0f6a1ab677c2675a4cca7ae4d579fff5710bab806db2d4f54106d26c8f9c0c28e5ff083841006da5fb9ad4675c742e42d78c8639350cd337bc797d179513671966c79db3fdaeab6782e163d2da02d982d04efafa24c6067cc73f2f8d694dd02919d2b9aac56389b0dc31ca20b1164fbe018386392be0adf4243a28c91f0bbf5be773c97a824bcc8dced23df2de106b60bb0001618f4efcd3bc1cae7ec44990335c4922df6346d9d5842f47a9efd980ff1e77cd60b6c1c8e9185e511ea97ab174d0340d0551b370c119f4f4d3831ddc82512063099d7cc59c02bcc7164c816fbaec40a6a5f102e30b3c90becb0c6c4918fff5dff37db711c60b192a952debf503722b27f8429bbb769729b2fed03edeb966a989ac4a422b52013cf435580fb76133a2534156ca485ec589272f3eb0bba6f0068d475efd2b41477133a1619318365018efd2a41794c5089b3e8ddc3c52129a727453c5b08c3acac521cbb5e58db0de5841f98111280672ecb37c9ff8f423930f457db33db0dd178f4c4ef2a34566995c00e1041fa6cdb48791035ccf9410c46e15d4cf1f4c5113f499807ab80b7b368762fc2ff551a9137624957fa8bcbdd4a87b16c1cf0ae34795dccd962688390dd52f8e41042be782b859d983827b838a19e1f153605d8c79b7b0849d3b0965b2c25ba6bb82193cace597de5a0a6e09e5cfcc46f6b9964485a606d9603fae25093ea4d237997f367b53cfe7b4dcc12cbde4def3452e15eef64e9f9ea22730a17bddbf64c154e649f36b77542bec74dfa30c2d9bc6b2f17e6fea3f3f83e80dc08284d93cab130c6b8c5399f1185f1d585ac16123ddcef4c084b0faa4d9018aa9b0d89982c32926044c76bf0aff1f64a0ad3aefe967794d3fc6cd7c0844ac3500ac46179c80e2be400f760627ed2ac0ec4351f23fceeea6a464a2ece08f85ce1f5af25c5007b886f14267cb83f362c4251b35a563b40181708e32a572e680b9fe1ef230a82dde148c9ea9afa1d14e78654e2982ff342d08e6214d46911286f650918734aef08caf8851d369be501108cef37ccf660853c58444864d9b255fa359479770474436a023069a81df637343f3bc9ff8c8533f6dd26a351346f22eed5598ad8bbdb07a0440013d17ad39b2f79659f21888fc7ff9c730c2540bd0b3d3ea5924fce10863d0c283bf0ac2ab6dd1cc6c17f9760d986364c3289524fdbad003788f5f5f1f5b4cdb006ad6e280f67c52c098de736fad1a860444fcbe1f0461f2364abf165e811492c5dddcafd7600a7e387ec98cd4a3349f384a2bd8b3a911cea623e2f5c35eecdc0a235118cfeb9c1220a19b7fe2f0ac4c928fcbbb81fc86bc1b45cafbd1a3c66f8a98b8daf9960ab96bcd38e46be234ca1075a20eaa7ec56ef4e86ad51fb961321c46393ec25a4e34c2aabff8de30fbf34305e3550b35779187b3e3abde5c009d8332b57fc4da47251cafd1b78f385814b7264b6b795e15479a1e9ffc7cd25a9e112bdc8eab83221e155e9b9b80b068e5fd88b82536a086d5bd8479f330166ac9c4fa661aa3bdf4beca27efb936b16292ca8c3d8ea9f335b22d90820ed1ef65e66d1ac138eccf57becd28d656ba3c100cbc1ad36e92ba800e6415a8fef589844eff827ad5cfe247a54e4156f3d24101c79703d8c98d5f266903debde226809656693db0433be0f7c84aba9aa7d34641ec3252323e276edd37d5c4db80e8db9e02952f57963b13d0cf41cd263f7795f116aac20bb3c054775a24522b01dc400f6c69658d05efdac2d0af16ed3c0ef50be4edf17153c70c34f49daa58c6c13ebaf2a3a73f59e645e27aaad274930d3f69cb07506067c281ea2ae46ccf6c3b0e242d78ffe3ead48d9f55c5c69ed2358dfa1d1853ec42d52ddc8fc239987d0c8b8519e43866da5489d0ed6ad36a420285533fc84488519115013455d54a13603250f148b9b2771f015762030863afe2c10d263db6256146e33486ffe80a3b0c312ce8d0aa35aa01e63f2cef9e895831f864e77e83641e80aa0c50dfe5a407b0a857a1ef61e8614d11366ba61c8122be9ded1cebc7dd647affcd23a67e3bcd5cbc9d06139b643f9d0f52e8c7991b875284351ce8e0ed8956e525acd7ab3b07b746e8eab07e7711b2dbfa49e5748b80405f7ad751be9f6a6bd5d98bb8975dc3d629f19144734e2a31dea016047ed6062b17d85ea41cd1da087c7dcd5f58aeb3927697a729519bcee6ae8fadbe2bf6fe593719a15c2a26b348ffbe5c7b5f5fcdd298f20dd4a6683cb033d0f933b3498cacba2f421830b59ce278e885622369f0a5b0149e92dfab86f88f485c49dc6f5d162302e16b3ed2d553df6bf26c2dd681221cef6da8e19ac278ab92e002836051424f1b6ff37f21ccc51b63716b1af7100e093867e66aeacfe069076153998a1abac3e3daffa27ff8916dc442a56d08793dbf2886b6f4db458307944557ff52c516c2dc6b2807065dc96f13c1c21f5720aba572f8317be8ca038c4ea1aa8277b6eb3a46c1eddec21e86e749124296b4ee88d3b696ade5ec6a4e091740432f0c330315f5fb52a450a0c9b0049401f143789917cd093b90f17cce0fc0a85f0f6e6d7e32406f5cb4c18112b42d804d97f6a6f410931cf2da77583b4fe1be66a43a1a6ce69ce1296a1ce4ea769eb52481393343877616a65c21c86d4bba0b9df7753433fd9dba8feee7b766644831a0addaf3f9e8f015c5d49c99acab49d78e6142844f1795995b49e239905a90ebe20491b6e612d53c6543888ac56270d9d7dfdc335630d2d6ec8d5962c6239f4f4ffa3e250700cae8a316837848ff0422f1b2d499eb8f68a477a841142b70fd00b9f6e7f800327592e4fc2613d56ed57003fef92562247477918b095a3da592caa1b43d1fbbc9faf1d5fc3ad36015ea8d8018ec43f430ead434c8a7e387e94595751a803401b679a2f0e7870d2b4077f5cf7099a5e746991c19cab08fff2ab1915043cc70b4b92eb8b4a40c4c296d9c7554cbf7cd47200e6f80ee0f1d6624d7896dfeaedc5129416a51c9919f46f3f09f4243461fd13891d9d367c6dd8778b332b3c0948c423105cbf2fb32b26ecefee18248485c5e5bf4c72414da87d200a95a0c3caa15c7df010a31313a8f5e946dfb789a8861c2cc97cddf6e8ec7d767d6e0463755f3e9e0c438b31910ea17b934e3e12b76421309ba809b13259b20956c6d37b0acd7c1431ea7700acdfcaad60d5d9adb7d30f3361448e358283fcac3babb0f9ac0034265ba3c0fdc6c6f9a35e92eaab32d4212a7b18ccfb43e8eb1067b07e6db57e33ff0e7f5678aa0ecbd8abfeec44aaf7ffbffb81807e5966eef7f0e00523089a8a0edc9e2493c02d146337db1826b4b4164c413b4f15fee28612c800f87939e397c95e02892f9329e2daf178b81c6c39f48aebffbccbd1d6c3b5b81864676ede29fd83fad4d0b005a7a6a64852ac4660962982744135ba08a112fdb4cead28b499256daf8595e7c0eb8f2a76ed787f3ac01d94c118dbdeb57452beb731d1a277a89559052282c58c4f263a89d95ea0cbf3deacf25baf37fc0a2fbbdf0768ceeb38d1cf105d3bf913b1fe1a7d875878b90714e1fa02d789a358c857d38cedf4ca3e5c1908473ec4e02b4a50b8b2a63814f71f7fc1fc89aa3948fe44e01aa097234a52e05b252cb6229add0745e12c6102df4974b30f164425d1eaca6507234b892e5a0d190db3263ec3acf00fe1855c73a3a46f7cad11a34a8e20480f364318ccdd608d1c8844191c33b8eec158391662ed5ac2f60c3748e63397e93144b9000c827246a3162b3ac490a24d7b60f171b84f13a5acb17e1fcd9001e7d466e768ba0383ec348e1023ab3b5b423859863bc600eee6fa0647a1b0280ab0ea8e825463e9e670da05c7a8bd40001047b660283a7cb6d97dda449e494edf167c03f805d2cc1681a824def14ba46bd7709a58c674fde1c4eb9f4e2991c56e4f0d7c72f0775234b8827a426508e124179259a3e299da91e7d19ed54d07407683b6f9ec1a174b2e790f516a2ceeccf4e433b5338cd2ee4564a48ece8ba984838ae8ca6cfa0a6271019568f72e5ab7c87a01237af7af501f3372fb7b926720d027c38997f44ce075eaf3d9f384f7aa1d7f4950b44e0af71b2469d75dc520b23a14007230403f901d9c86f44c1511336d3fe54dae0273fdaf897f8906d3e2ca34becd52d22c9b0b0915bf83ae0df8189ccfc385abef4c772e7a9211651b750abfdb7e816430c0287e4cd38ea164a6588b7acf8a82dd601093496b392364bb224e5fcafdd17b095fa3c6583709744808b8b93c805f495c89640143b64603130eef056677c0f53e3ca067522845748bc757636101c4afe007a092f80389b29bd2bf6e4dad3a1939495522e7776534f20ab2e68eb52012b15070339d179e43e5e711a80bb795f142dfc852cd8129c13d1421b166dc1b874fa7d3833cf75f9020d7c133e46843c5b8825060c835b4bfcf8aabf0ab0101e1bcc7806e6f9343a0618f0bf00081e0b275f71dda5b82fb7141b7868a13d8cfb62c8d3632309104e97080e80c629b7d35a1389e8609d5608b799b474dbcadd67d73a09a594530bbb58f9e332eb34df54b1270ca4e69a1970899f49bcf741c7bcce5aea7260dd4a8b3bc4dcd3f8c9a4df14f2f168a59abca85a5847fe77c7e0e69157a7b5e396cff45f984340dc1f691c2bda83ff6ef9ba083302d00121166c3c8ab9bde4787b769a57d3683078d77e55f5c4fdd0a8e7932f2fff437979ce1b965bbe2555b33048158551a1d0a0ae656ce3c8f330a594376c7122c6922b36b0c9d22ba99c280895deb13f00d6f783e28436189958c17872e0e351f5a1c2e0651423676627fa577d3f56a7d8b0967ed7c3221c2a52a8128b244d201c367f8538010f00ff556524052e6cf5717d99be758a9edad54029acc75c26d644650875ec27230906e609af06500a37cc27f26b31e01453834a6ccca2d35381bc45f6b617518433f48f001ae2827c915c071d5fe7992093de980dbba9209e54e228a9a1a5693711d898ebe04f23ed7295ee20895e74d968b44fa1f074e055d1f8e370d8cc0a7b5cfd533b1cd3c8355c99b9f4c716fa4acc56ae4a5c2a306794c3229d0f1220e635113eade76c87cd2b34a0853a09b893445c4dac9b5f84415ac09d7e48bc3b602c4d7020f4c915e43c62c82df1ed6fba01f3d7bb5ba31037ee771d2c2f50e1a45bc8d63e639a4f36ca81feac4d1ccdcb4cd924c93dc6204e99cb5aace65b315e3967f11e0d0404e5a6d757361554707f2de112a28b1f6646d0235e94d7990db41dad5049ddce37a088260465363248c4101fa7cf02b8386034fef7cf21042c3010f6c37b94d777a35419190c750334fbd86007650abe1a9ee0f4d2c25093138f1724fedd32feb021290ab51f58e132a39b2bc7c18c64717dc1cd3369cb2218d46ecc8ffed836a4c4066310330a3cff4ef2ccd24d64da0d6537c43542326ed24307dc39d5892ae58b3724e92b7ff047cfff78ec2361c41981a0d4eeeb14d6770cf4ffbea6a97ebc009de4d8e230117177fa0b293202ac92b94c137b770718dc243a3dc6158df4b4602e5b5c649cb103a050171e7d555ec3f0395827dfc304c76cf104d6e1e97bad76cb41ebe969cad8d98c15a067b0b19057415dd94703bb1c41878452e1d9593437bf5df3c73cd51656bc669840c90841b3c552bfc0142e2b7031b400e5444c51a7e499de3bd9578314e609f440619f917a9d1e1b4105652653f0db7b1899e3f2b741f99d5bbd7dba50773ad237b3584949f10a796371b0027533d64a3d23f5ff3edf4470cf839ea714bcbbd93a4722229f2771f1e5dc6d9308ec7a9a9cfe7b18e39a5a15990da0cf21c615181b6a077a16104b2a6932685056d0e81fe2a210317b590a333788063e0db7d72ac449b8dc3d99d51a0369f5b4afc8735c1a262dccdee9589388ae095ab8c3ab2ce07844910e869f7ee5b2a13a817c85e08c52fd90b759c4eebb739602716056c1f8704a8096cfa47253450933351414eeebcace8bb8bd543c3a7c3b20c4d4a8308b6f3eb1ccf756c537ebefa2f8f092e74d70ca0a819f8ef8f01006968960538cffdcc2eb2914613714ed150c6d59db379ffb198acadff21e98232c22c72abc0ba4c438f89f24055f7e3f7b0d4a1e57a0e30c4db001ed48d5b1969745953f122c2a36be10bd8b5e7ba534e39183694cf5d9a099d148a831422f27f225a8e910a46c0fb99e07ad50e4cf42510467c4d87d8939cc5a4baf555c4aafe39ef622faad149b1d87c8a239c8852c19722b8dc1c32c4df49c92eab6ef6ef1470cd048fc41701e516f67816d434af171c468c59c66850831d6c4485a610556798acb6499a4a942e76a9f6bc17c42dd0390c865cdab319c911ac25521b8c57d33241bf2c9f4679baca8f4edc552ab0fda1790e37f411cb51f04a578f6261e5141e97f69e60c33a0e6b19bb9e579dae48e0bd9c0a2d4b399fe6d973787cf526aafe74cb62c69fd20bbd728ce421c59bf6c0edd72dd2fe61089c261557000bff6be5e68d2400e47c134ded3d97b43688fde0c9c64bf76be0e0ffc30d0f8f3988727e526f5d22ca08c992d07b377768eaa1eb75ab738e2d13ce705c65b05954c350bb704fa2752f69c5e3412f80f84e77fe27316cddc2ce0e56aa068579ec68f8c426fcb4ef9fc987d209f416fdeac6a1dcd0c100b9d7058eb64a8004cca5ad2ba7121f30265c544808c4f9e8e23c3a706cfba280c517d5a7ae5076ce8257f705012fcdeece313090e63d76f7d41f89c5f7bac8abb807e103cab01e84a2f1e5c9497bc3f691417d3a7d8a0d0cb0c31730e0ad33cb6fa414fe83e229cdfac0e0a3083c12058b13ab8b97572bb2d395d5d67f9e293d7a13b7552ea79fc7330b1980fe9dd6aba4e973f65c1e0600d6832eff95cdf9914cd5396bdbf0414e66acd47d2199ce507f8a88f9adc42fee3c0a02c664f039d71e43ac8bcb3c9666afce15fc8684ca93db996f654e3bad72738cbe9369318ebd8bbd686fe04d5f67c4301c03a0bb17eac8347b5d3bd79345f1e963ea82131de2f5ef7df5c7360def07da1fc1e636d6ff2f96e49e3808fcff0ff3347a51b1bf5fddcdc2f2372d6d3c98623491273df2b46db01b970f88ef5d7da5579166f95f172ce3c45b5d0cc7aa2a045cb8e3ad1e40d67f3e7f3d41a1fd0b772af61e53ba2fda00001c0b18e71a33f1a30b534e879e41cf8852ec0b8a17cf0cde810b5c04161e683dfdd081d88f6c803ebb7fb0aba0dccc9f69baaec365e7ef1617f4db53326bba38072066623418889893210b0b943d2b20d305dfdadcfcf235d818f43d9680408e9942d1332efbbb79ddc510c58ffc57a9d6eb1bcb6c11620c2f6f8e270103286c995da6d36b5279f9dcead10e5d502a0b0aac7f6304caa0d45278994724f6e54e6bf17c6f2acdd3ca8f1d6652ec545cc00ffbb0a32b9c59400cf185fd4eba2def5d8ecd600f3943a4b7a1680f0b309e5ced8d344ec544276d2ef878e3e675ee48945f24698789237637f3f9d651e3bfdad1ce48d2d00ad84549327897f5b25888be64bd637545e1c8b564b5a7bdf07bd8b20498348355d8122b21eeb5c65fe377a3f32197b2949a78415b1055fa6b0aa8eee6a7032f8f2226dd949d589b7e2e7ab333f381ef219f02221c6c710b386c9b949fd84d49419cc2e983dc5751fc9972303e734f283b7088b050e1ecd80b3264265e2ed80b66cb23899cd9ae337358113da2c0753b904eb374e1eec79f409ad440ea144c9221e13c6b9242a0f87eb36919bf45356e36098d6cd8aed3613c5e83cc931afa4294fdec8d41618dd21f5071536140f6ef3cc396d709b4c5d12d3f30cf4f25d5bba9a607b9fdcd182b5be44fbe042b6a9860218e63e020488ecc9bbb4e21584b588c035ed348e866665aa1143f9df627c85ab3737d8d946f2f9a5ce405b9d376672f88c8e51a6b0e12d3fd5ce1f30ab4d805b5829c2886ca8216bae7481f6ef12019ae8c7e70fac102aacaea6ca2f78310c07fce35363d9795995abf7594ef094f8d4ab12b7f3c78500abd08f233abcc87ae7a304cc337702136e09cd15a4d7ec30be81195a09289629dff668b7f765f896be57204859e665d443e3235615288032dd0cbd127870bdc6043343b08bb6ea8a43e4f3d623c4e744a3e5c65f30a62f9d609b6fcc52e61daebaca385b4792b1cf9e703c264f0fdf4a84a42e3fab7d56285e170160ac5eda11a893a8369658e0df2d96d579c1000118eecf2a1d8a4ecfe53ced8f4b00cf8ef25fe21c641db2aff3860f690bd10d819fc405cca0f555495651d1b99c98d5d1aa363f53f7b2290c10e008f45e0bd8539bc4ee16aa445c119da40879debde9a76215a69506a5fa5c8c6fa984bdc14fafff0a8993834ac41fe7df4e650cac2dce6e79a366924f2ca184faed07043b3e33867a79d5ec4a94ced3505dc4c8da0b8906b8464612d4a8928e3aebffe62a3d30ec4eaf0e324b0d1ece7f999f4b28464410b9e861789ff58ee9c9d3cc66dda3e442dc82ba9224c7f2a5ac71398fd487acc46b84705072ca003f0a0068c6efac309546a4e3b68f6afe3820f1424419f05f062387ee3c0c9cb7bcacfa79abab1055e72cde1853b071c328d30925aa656fc5536cb9c96593e419f3ccbcb968b8a324f336e3c73bdf7213f4e4e24443956dc4c11d1d569a6f3c20a1a124dbb4b90358bbaf57e3e561e94c6b75b233f1b39aff37b90080fc19f4025d20387d42ddf5fdd2c61bddaadc00d097c1c36bece40c4728556847e81c06b253b7ecda682a83fc0fbbad0e2a2ca722e6de8297387dbd043d6452048bf7c138692c2fb8339987c037c716da2a253116b998ac2243cd57ec50e0f3a72db956b9e9f3c9117e457ecd714fdde2f25dd806e3b442d7b18f4b4600fe92de466c53b21aa5e99e1619a3b494fc736670d9ff38470c9b427462d5975215319e24a6044fdbeca02fa019f05218b8bb62c78229fd7b24c5907c45331e10295d5c433f6da608415b4bd62dcc9d6d97aa9ddef5c8ad7581fe5853323ad7f079354326ebc216e3f1ff9104251aa5c3d4d9761b864f8ae20c64ecffad484e6522ed7a900cb20bd52944da4cc99f143448d7dfcd4935f9d0fce36150f2ec383112cc0ac742c2c22b0eaca203f6155f1c0b0b034edf9248d5b76f287adcecc38138d3f2f66a362f1ec6b2105b566902aa70fda600d16ac178382cb995cc71c3611623a1fa2bc032c79ab467a3d252de1b7c6f43f78fc9c8891731d88bda7a816832ae813b9cd14f2972fa7d0e222838e4675b290540227849948bd2469fba2367e4a086567b7f01a2ba262b0143c14d5c9b81aad5bf5fac3cddcee9d6bc65408b517edf059d8c5cf0ec7abf7d3907f43e6d79fe353f81bfdda0faef557d958f60c2e9a95d694ff18c0d3a3fe88c1812b617023e3d4e19b2b68c7bb5780e04b163c1aead4eb2e33c954a42bd311f727e28ed54df617d655e5f92f11f172aa6747c51fe5dbad5ddf5e079782717e29d45b87a9c6a6b36c469c409f61d98274af2c35b384023a6ed1deb081298f4635b771eb31dc10b05569e76df7ae9c5fee7e439c0fe071bf88630df4058df4dbb8fccdac5781f47cfcf7b2f3cd1fcd2d6eec611e2b91cec999717cc221db6a366b29dea8a452945bd4c1466158ad3da2f3af6d43dca543a4c93633264f8efe8384d149b44089d07f3a40cfe9c292288202944c681a3a9e20d193f63d78b5c0ca5681f1aa36d7ef175236e0a70a256375871a83f9d80c5f8ee58e46fc5f1898f31a293977097d59a9054b9dcc1be82c92df4138ba66e4de207e24a0d61f3b3d457a43765cd4b7678d2783b24cc3c9d1da4bbb3e1087850e8fe66eb6ed5bad20087cfd2032f588dbfaac15c0b2f04a88bff9b22823134e592123afdfc57b6c64d8a9c37e8b07aedcdf0c11dd11a6bf6d2ea0f72611ab9336a12a8b85ea39781198be4cbfa544fa83b5751869af6da34f677316d37920c7cd5683bcefec647e12c2488a1dfb95f19e83e9034a6d7b204ff60dbe3a276a00cd59b3a1792f83cb466c672047e27b9aa51875dd379721e0944f09a0bf65cdb90728b5dc5848737055a9b3159f66ae1da01c48e0019e8d98c6564cf3c88899ffb4b75395ba9e82b172335deac4a63e0ecb7f2cf571178618cafea8b00a0df8efc8718736d7160c8181e62025da032ce82926adc29eb70308ac1cc5627af0a8a6fe6d7560adcd9ca40c040ac3217ec3ba6a02516aee89cf2a18e510f29185ae809c4f9f91dfdda39bfc7ff983b51d88636b41901b94ffd49cbba3559fab3c38836f7bf628d0465704b33e64d36f903ad513928e9827bae3bee4c44e944eaf68c58252689e1124a68b80432e03b3344425a5be0f7c4e27e5cd15960c39bb32c1cf5f91b736d1fcd402a6fc50c7452f04571b4bcbdcfc1564acbbceee024ea3a09960ca0f06286ac2b0590ccea15602e85d23efde4bb75ef5cc073f2e7dfb07c2f01c2c6df16c65d63d740d6270433ee390108623435084787850fb859a18481280a5a1ce3b3501ae73209b4d3ee658d1a136399206949386bb3c204922ad5eb30290c94336fb843e1cb037ff019a343f6923fa477284ab036ce691816000560861cf17842f5b14bf4fa74a4c186680bfee25930005a331874b37d0c3a55b816a7f1078d7319f0140a000db83a66281110e0be92e602fefc5e3e03d50b00d8e1380da5c11e90d0a07f88945e2dddb7681fe80b09b14d37d787b304186d7a809af2b6876393cff69830e30a127a9f414fb8d8d7fbc35db663e129feff43869815adf4091a8a9c0696f9f54c0bc1aed00a2edd7633adbff6c19c1f58b3c03f73956beac311834481fd429a584a686872802c9fc10071b9b7914a14bd228a9934fd886a683b5be4a925fd577d171198e53fd20de871e9fc88f6c19f8ccdf44ae11c18fa0651421e32fef407294b8cc1689260c4df7043789ac2bda3f63ce02abe6e7ce92e8e64f2ac880e98dddd931e9bbf8eeffb455870b7313958a5d5063254a615e83a57032a91e52949e9b6005a7c9829c943aea185c078ca0248c24942d01196b33f6e9d91922e4f00d932de3ede4395706579871d640e15fbb57336b9af1366ddac18bcedae5e523f69ccca9ff6d787bef94fe50c81739afd0e20a3502a952c0421c75bdede07d60d429ceed5e48bb23af0625df89a23658a5fb9b9e710e5187f71d04adf8240a5c9819e77917357c872324cb6e785d4fb273082cd29d2e76b2b6332e841d34cf71ea248de0578fd127869fb4e0d12c33a1accf1058283c20418a286da1fc3f8cc4dc57b11edbbcd45bcd964348ac6ba4b12f0e60a6d4d0a1314b3cf4c8c584663f2c9b060f513d2b407e08ea09e087a2775cd3e740079ab3deceb0e54b9ed78fd2aa24f731ed8cf4a25053ed577440e0148409db007ee6c325c58850b589f9c48bb1ed7221541cfbf56a848fb809d8740fe73516e12876784e2efccfecfa060a56f2003666a883f0f7db2f9766c4adab8ce0685e4a6285c8aa46f2c4b7d42c4f3c6b70b6772bdb3c965478fb206ac0c3b6a3ae77e4ffed23fbd0cc7b07f6083eddcb14f85837a8c2ee030997ff540113ce1a0d6840389ec83e2a9dfbed129036f4a42100f6028490898a37d896ff0636f1338bdde9780560c83396dc96c4bb8b30c68270ac0285bc47d2bbd25882e6ff52c2c74cfb7b3a9f99763a6073bd12a33671343d00da61250367dfd4a3f032d96c3b418804f4d57b3afb0974667803ca609184b1fafe804b22af275fca193d7ca42c2f4d3ff742101e995d1c23831ef61093d9f58f8cfe1c1c3a67e02fc98be517c98c737d7e161aa8b6ae536b4bab12fed0b45e05ae3ed16d07fd7627ad90d1ae295f7899ed66ec5930a9e9909e2e9a28a400ef3446fb6810a15bd64effad364fbe4d592f65d0e6ef1bafd781054445c81be92a6f5d764f6ff7b82480027f70917fee3f06a3ba2f25b20a597eb7ce69b8a36584024df0bbc41eec549dfbb3f995863a8fda5ac5572f1812e232065da7c2678ead07e6df06508efb8a2a2e85cc358913875c9c299a0c4bf1cc0da7c62ec1a091bc98e4a8a55f5421b72069972e08cc2bc1d71cbcb6e1f0d42b9fa2fb7705cb54772e1347939badb6dd271fee1dffc1be3ceffe72ac9724d4b1e1152a37577eaa5b93226ce046686affb83ea9e363360cf1834e2e039f97a78bcea4a82ea7a8ad7534b6460889a7aa48f7b110d39a00048e52035585081d9871e26f3067062743d9949dbc48823631f3ed8eb53383a9219903aa0429cfebbc03987fec2127b3a1e9982847c3c1d9c44de621084b880096c758d8ec2ae8e481e9a20f91d2080392645ae4e220c401d53f5ca51b6c1e4a7fec05392ec123392a58029a7aab059fd215a4e9d9b4905c7f60daf91e016fbdefd7fb7decc8f0391cabd4f56d10ae54ef65dbbddc4ce5ebc3d2528dcc2bf0f11f4133c0d41775be921bd078e8e55485d351c0258e7f1765b8bda332bbd87eed2e38a6c0744f23837cc879fcac362e7c1feb78b0e75f953c226fbcd065c97d7b623c3627532afd0dfa275232a440c7ebfadd1420614808ca0eef160e20e3ff751fbd2513d57c8038eb4b0d7208717d02c877ae2e604cddb687dd76bab5aa71d8276534576afb4a39a18fa82c362f6c40017f04d20bc3e9d6bad538dd6e5473bec3fb04d740e91f30760f5d1727d4ad133fc5e16f985f3a9efa5c5edae1e62e3c1e82a09666bf202fda61b7d2d7b7fe271233bcc0932e00f7e320e5e45d283409e8c904818ed6609cd78822e2caf2738a8635ff242cc64fed19271aa0f9cdc042351d468539f64ee9924770173b91b627cafae4800531f44600ae3a968f321052f8cea3159a64cbc763c3a90c2e06facc9dc51c711fb40a289f3049607ecd58f8d2e17f66344a02951b5414ff2d325d0d17638d680d5ccd31679c5e04ebd9b5e96ecf9040e6eb468e22e46dc9d78f7c5102e258ff141f9eaf3a80c940318b49b142ef3020c296cc8d92870cb8a6e20809772b93c62a8c30e34d3adb6affd9001fd8e2df209a326b8068d9a9239e72f55b5e1e177b44d80dde7d7e7cfd217be7c91603d634f673d2c3afa933885c8e7f0f460ad7208843024f6620206e0181be870c13435f3c3c545565c7f19d6c686798007915f20e381e13ee86d2d3e440b1061e6ed769b51731feff53cd37db26e4e3c9a3e51a405b3e27e7cdf3256e7f9ce90aca843eb364cd4a5f38aed60c6eda872095bab1d10e99e621c22afa302d5b573bbd6fb80d341382d8814d86ff998da556f0ef3666837fa06d3dec539863a400f2a8f8961c3a6c220545b0c0ae8a43764446812e03de516b87a64f4afc73b65743531c65c59cc33830deb743d58acc7e7478eee991f08852e3f1ac493456817495b3982eea5079ea9ec3bedff48513ecf6b88ba6f5c63ba08bfdca4276bff0fbb504ce196ea87af71fec6e631b318cf11e58b9d71ec7b31a04b729f5ab50930e7b54503b8c518222205a47141705ca5165122ea66f28d8d3396c1f0c46715b1de1efb5980c5bc55773d882862b23fe6e059088e282dbf683497754711a767840c7dbf8c6e3310f7ffbbe18465ab06ce0745b677cbb1fb325bfd5ea9130e86983e47d897c00bb550bdfd0a58fe3aa82dd3be843f40525c16a41d8fd6227cd977e18c44778a80b133ab8b98d87008afe0430b0acc258f1a8c818652797a479f7454f928bde6fc10caa98cc983e29599d0ed0a611cddbff48e4e0ef251533b2338ccf37bd6d2556906a91c0b837cafdf4c58d11a119dc0b7bf0f447d1832208bf3d29bc873c2c4b874718d34622ea470fa3fcec6a8eaf2f579ed5a08ab41509fa68f9347826441fe9959ffcddc89df51cca6fc17aeb973b1b78df586ff50085244646a18c1bd07f7630ebc1fdce3494d103141f8edbc7163cb3321e05824e14a5758472cb92a22c48f14f44da99df93187107f4919a88e842ab57ecb34c7e15c09f98fed88eb5c8e8738af5f3662a567e7e7ff3102c9b06678e438d051382b059f266d71c1c92f7eb6761c1a6d2522042fb33eaeda5feedc062138012fe85d3652bf3216ab115b8ee3437bc495d79cf0a17a064322aad353f940968b7b53d70ce521dd80871e85a8bb5ab23c01edbae4f176448aec577e1f9f8eefbf8290053110840c982db4ee6def9f1bd507acba36b36da62196204ece9dafd876035c49454a414c94f392f209ab2b1f93c3a04a3115947008a0a04ff8e7c407c0cc2e60b86af06236e0329866a1615c3f42854943691424c94ba7ef022f32e783d0fecf54be81d29460be27f58e2a7483a3e14c7a02ad9f0fe0e2e7eefe5f7f735220d6f347ce910648478c6208ab82cbd4085b82e61dcb7cc7b87ad8f1dbcf77e8699f90cc4a1c6c4c6b39e69b95afa3ddbd5e5b9eed6b96fb28b1583d46f6c44b8a0a2ff1d023d1dbbb0968d296cf615ea17267cd39b677037909697177c115fe3b9126dbf0973c04736cce7b968143c3e4888b40811ce004c3f34cac3bf8c3009bf891eaf228ddec159f4750fe66fd665144ddce790ded62c641cf9a3cb66dab723a00c6c4729dbfc09b145ddf9d413c208dccb8b134d88b7ce8d32ede1475fb0889f8eedf11a2ff505736715024f177be28e80a4d8185bf4c3107ccfbbdfd616f9d042c4a212bf4678630e8219cd714a7e78aaf681adc4bac2629d469e0f30889c16dc0538addfab9bbd6659eb34ca665ac9a9c72f1bab81dee15613dba9c2aeb2bd7e712f2aca64d2929281cda3849e21e923846044ffb938a843167e75757cf2e23a2c5d1e034fb2cb9bd561075129399c73c0fc103d5a82ea3fbe27ab7099e8778dd50ca8caabc1c6fd4ef000a654ecc06870ed73f747b202228950924d0034b7f5a89d766494b368fed209d32fe0ce64afdcbc1f7b4d06ef1b38e2607d8c054f2870b5881fc1db036c14071169fee9b648bec647901b920e0e46d2bd005b8c4d45351840ae17639b393ae90d64fafc64b7f8b9a31b5f675ebff0c543d139b75662982b50931c08d3a04ed59c4a97bdd2d3807596dec7d5bc91b631c7fe56d0013afb6bbf4e705f7b8ae5293861924aa17b5ee7519643554d724d9b3f44f74e0732b536ed59f671f35ee07c9e6dddf8d213b791abab2807b5303727818bcea1ef3462fa986cec4d946cddb5c6d710b989089178984e41f387a1fba57a670a7510a68f10e10b7b7fe0fc9c29a95f01689387589a9838acf5d0d524cda7b793b308c5abbcaf599ea3c5087e3320c0a6d2e3e24b7897313c8e2559c25fceb69317b8fd90f7a53d9d3fb34a9f4634680667d3a4577fa85c67ad145ab66fbfecbb279a84c3e59fb11fd90f7755f3e3f66b0432ad6f9ae0c7d2fa7838b383d10a52ad4947430e8ab1f1d06868a2dd202065d848c339a4474e28502f148095891a7731bd17d4376ee4e5ed5de6f25fb4438245f37a2b14358f135486440231b9d6441da50eb30f15ef3eff5fa5facfaab3a5ad2aa49d2e0edd63b590b32473a01fc7f53cc6733f6551a72de3d8d176acda1c249d10a72724ac0c7da9da70e50340c2463092e59ddb57c52df01e03d781c0225b23e3733973919818dce0f1d89f0fd1e3921272f3afff788f3ae50157a55e5496526cb9ec92734bd05eb59c2a1cd970583f2c359ff0789d42c8a19114a685ebee110e33060057a661c3636dd9ebbb24db62a6700dd0002cb362103f8331bee366e4ba7fd2aef987750e1c79bf378f2fce5499e60fb303096beb4489fc3cd485d1f77df80514ae8a6213f332c33b509b92404a46846a3d39227d3dbdbbef786fa176ea102226bb833ef2c504aa588e9cef3e347a1b7527f9a25f58ffc6f4bc4aafcefeb8789d74cd428f467a1428dfe0e72f810cd17ed1adeb489de475dc9b45874d444002713eaa594cf0a221378a18e4122b4675d7c1b47cbb3f45619528ad3ea82c6d401e62008fa28254ffef191b281386e6437a1860804f3a9ebaf107656259f2fa5ae4ec3e821e92cdf74d2b150e12243eea332fde19805d467a7cc98a043a2ef25c0c249328e34984207de8e51aee2e7e92b060e065030b81eee3791a91fd0c73c271dcb889b27d9b050ae227a3861bd1211cf6adfbfdb4bdf5e9c9d337950f8ca9cd0fbad9b099576dde21de89575e52016e8fd96627c3bfef0dc6f95ae0ab2fd0a70c3facf287cec23813ba72613804c6faaa3c94771079b3077817f55f30ce22302d711358dba038e67eeb0a394c2788798ea5f2625ed7a910f1b8a2fbe801ed0baa29f3803719034da696eb729f32c0d5093cd17c12e1644e256e11b60cd7d01751d8d2b3b928678cd3dffd1e44e020e57fd8f4f5d25aaffe09601f2930613a10fb4026b7b72851247aa5e85bfb336dbb2bc4e75b1c7ad44be38ff580f384eaf4ff532f7a2695bb94e3fc1f74a1d8aa2fbe668d1f5ecaba0615b1ad14ad2315a97443a88c5c582a2b8a2e06a69460e7c038259a7201da975a1039f95347d7c11980a1c918726e29e24efe21a95b3a62c9606b6d2a8734e886de57c94d34b39eb8d59e5a11fa46ba5b32a6ec6b85156dc54186baebc3c7a0a35a50dd61b6990c5908893360ea563ec235e4662fdd46d26e86b098db9f8734b173e1ffcf8ba0a9ec67bfdb6ea623af1b21291b55cd43b19ea25f16b4bb6fb78775a83e5486f094d0fc52243698f4f4bea4ba6a55c062922f9b7469a2e721dd5e233691c813cb52644217922998f6c5e42ccb8961b2633f94b277ae118ca3215aa08fe8f9bd143807d92947ab2a804984aa685b7e96f9a5160b9222651634bd157311881133a89cfd0d87aef5458b6f8fe2b5429cc2959a6a4a40bd7082cdbfeda3477960fa8769625cbcbbf90e062483bee6ffe7dee8460434d6b5e4893c37b563c0caa5a8cd6f14aada181580e4020090727416e18be6a7a6f3b1ecaae1aabfef47ad97feba7a5d2892e88d3eae8f595e415e00c2e01dee477f1a2733dea62ef6edc259739cda573475187dbafe448d1a22a388da14a696fdaf876207e81aafd7bd8a439da8e568ad458845ccbb838f36963c11c5d2f3ce5978d95d83bd9cb66266fc3f35e0ea7572d29d87d66b0611876bf2d5cb43483d13d8edc4baed79b754eebd32e4c59d15774cfb5321bbb459680c342d01bd371ea14eefdffd5252a6f71a090862484faa60fe9e7587832d783eee58bd082c477f572e2c9a426a095e570b4df168e4c6cf79213bcfcf3a0f814fb74d94a644381e7418fa0b974598af0efda5c4be0775efae1550e850fd21a4c8822f0e1c3a7c98772e2254c024def25e5e2385572458e3e4cd3089e329f5c412d46d2adf46cefc393c2880895893abd236fbc28d718be9a80a0f37abd45dc600d5168ca8a96d95ebb570d7a3d803a0ca3eff170ee7ff9e9a2a8c8b286c54094ca3ca563d415c4bf7b4e380e93070d470b88bb503886ed8b5c0dde002ceeb07ec7a9b59549ca08dfcc20d7026f17c84ddebcfa275a48a5ff32f833a5e347224b6de495e98046440f5b8c9043e452bb9c9fa894edab4f1b70a333fc1741fcd17502cbe04034927dd48e01f53964941a60dc5b881760db45ba35d33ef878504983b594ec168adc498f957aee2a188b0bdfd1eef8696be3c226970e8221833f4faca0e460a9b2c973f97a52fd06528803ddc28efadfb9bb63a56f25efd221cd4dd5188048c7afdf21f776cabc88b69608d80a7decb01ab5a4bc33edebfa7bcc41abee7f404fcb22f156ab0c1254b6fb7ad099d9840e82a5969bcc3588849affff3727654a7ca7b96f56540746d3f87eeeef8d076ab6627820be401afca44935fd9d362f74d7fa39f8d4dba823cc14e74d28fd84e766f28973c4152641f75527fb6bbf21d47aa29e68e325805f4db78ae4300757a5b4262953b9044d7fd715875c2701777cb7ffda9ee71d3034fec6f3ce8bf5011f53eee32e02e6437fca50e73a3e90ef0cb6be9e13b95c136da43dd31363a58b013af8d2b21eed27ebd3c72380904f93d42b027cf27cdc87aa8d664f4ba15f5a52e54342425b214353d86b87fc10a69de7ba14c5b6c6c87a570b62dd5e7bd8b07bc42e74c048eba58f83f1ca070ae4310d5daf4d203c12105ddfe7f8b5f055b1cf03d64610db8a32052ec658517c9185f00391d0682cb8d5ca2dd1cbef69fd9e11d7245e37db34b9136e94d5ac76ec7cdea8421d643f4b2fd29dfde34b5a0b2025ec78e67076a8e0dacd2949dde37a6592bc0155318d526c66a407b79249981f9b536584e8cf2e55aabea436cf36c46deeee5bd46d4c19a618ddb4f74faa2a0a6366f402cbf80a93f72ddafa83369e9745efbd0c1964e842270e619168c0f6501d11a3bfbb73ae38e362ee48f927ce212bf3af6113eaa3f0dc6ffb6d68df9664af338603e306fa336d220dd115f8fe147b67d425fdf752be422774528330e524f77217051a1cbe0555d64fcfa813ddf855b138717e8a652842d0651ba160517046440f2dc257b9d852fcc6a75226bb2cdff447c3eac4ecdf14d74ad6aff1442ec9a328d6f29360a9ae9a8df006895663534c7ae3b8a3df8dad7b89047b2bd527878aba4ae5989966efbea962b4387dc767a144a925a0faa317238fb6f3720ead5977c86c4abed98aaacd4e80cc32140b4684a804c3b1fd2392354e0242556979c31f4cc390ff8e9124650b55bc4cb05dc06e9818d8c2620adcd0271143df8394f6c72912e09d88d2e484746c84cc8c23d5c5853b9eaf0a219cb24f9564af6fed4a27093c36751bc09e168974897af49c6018f112d1c487b920b25da8956bc30a17adb4fc0c179d399767f505138135190282dd15f965177b96f030211f3cf6e67d94adc35618baa7739102e8edd6897681af99bd447b367c25ee3f0301755610156c6584d6b48fe11485855346f0a5d0f6ce331d646e41aaa050367f32693c71b31adc8a793ade054b71f2017cd40e65d457ca480cbf8a97491b7d63ba8a3dbcef0f887df754cf8afcad514685bea058a130c6991468b06553a66ed84cf7132d5c18754cafe3a466aacdb568e3879cb6fbd153bdd57c4dd1ff9b42e36952ecd09c96220de4078ce45006358d1bce84cf0dedc6af557e373a69b163a5ccf8016c3e2de4e4a8c54537cbe6423423a4fa689c200ff67bd903e67de66a0956b9cce275e6021d09a2e122a00d757c3ffe9fe13204d9e96d8d6fd0c4b9729f4bc0a61afc8c520bbc8265d5ee5e205895ec2cbf3c7dac71002b72afc05c6468267d78fad6a7fd04695f8c71025c6dbf289626ab38ea0f9f1537be323421ef0a7470478eb1716c303763e48600fcf6b3a586a3adfd48282d247e8b6babd9e8052fa23ba505d8898081f2c89fe0c0e83a0b5b820db1adfe381303097a9d72363b67d1e0b33f5883359b403ec0319248f9326a4c968800c680b1642185276fbc46e1b44eac75b219cbcc7cae52b74a2ac88545d32d77524e62028055f7156b283f58f3a517542183a81949826c49164f53fe1a74978b6ae1d6c4d52f5c15961df07060ec18ec63e0235a4a6c0624c01492fdc094cd7b3612617470176ccc09493f28206f7af7f13c902af003e7472cd40b9000deabf917bf74e7b553bf23316f02d443eecdceb2bc8a81d3e10c025c77029e7b78361a9934de0bef2b9d1095807381524681e699f84a31f5e069955b3f967a2b0430d8ae19f0078abfaa0c856ea6f41a80e2382ffb155a0df7d91e7a9924caa6f5c2844ec5a002f5ac126e4a47efb5ae9711155b983fee78747ff73797e0a983ce4e9ae7081ba9ebd433603b431670d6a10395d813c0da235c89251500639896eb44adb9851ab40be5308029f75a04712fa9eb4099f1006743084218d88beaeae124c8aef1c2e737c30bef37cee38dc41cc05712c773421b19c3ef7338080b42347da932853eb55636068533b15dd89c0ed1a03fd0a6f9c3af8ad4fa29f74c6d76b14af1a01e865c5f0b2c7e1ee8005c439d3ccacf12d4c3b86b04291b9f3e0378abd775a74bf0ba6e547c7f003e443a79c73f1c0d1d8c75c39449c911fa82df82e9f753770decfce5beeccbc9071d739979c6dc09dde58f01a68e68434f1f3bf8023164f36e383fb51c43bc6af8db37dbf366f268bfa4f0cdbd8739f0ae11f97cdbe95c7ee0f3b85833ae3bff5d8dcf247d90613d2e196130d6bf42b224b5f01fb47b745c887e165f4b786ee4be40728669de3dffb66120fc21f4623c76c222fa80b9999a099f7d648003aea8f7f2044a368ca47de3cd29aeb8d24430c48e5fd0ede68446319cfa1725132ca1b80a307f84e68f8cd8585b0323d2e5d9ced8dc13c4888a61c56262afb1b228fd7f5f353abcf266197df7fc0061e9c5d80c85c07b43ecf0a74b49a7da3c5fa684903eaf19b7ead0cab8fb38d0ecad806b3bf8e0613b7b6f5fa338863ecc20009a80fca4facfebd181ea1983fd2fa260feb897ddcae15b85d4343be0757fc2fae99775ffda13ab9bf7e6a6bfcb5caea27a8bdac1b8cfa2ee3677fe0f20aeca74925e953fa5b3158d4b61ad2dbcbc3c1c446a4de6bac70aec75553d226f3b9e7178264379f13a4ae157f86a83feaa46dabe6f47f74ed229a4602c700bf0f8ffaf474f2b3cafac725e57e477474f9403b796218596413b392005d92d31e5e680344af012cc43cd311a613da5712f2edf3c54bfc2b1b3980f309c725dd12147c16ec0dd07329bc4d93f8aa901d7fe14f3ec001fb18435019c8e8f6300c1fb68e5d13afdbd619876a839d416bdcebfa485b4d40b1e385fd40b33e3be72159335642f17d330280a1351e44edafe5a381edaf58f9e80dc11d3a9efb952ac5849677183fdc32d3a7776e50090b3cfddc649a15a74c7a9cf7abc0f4997090e4456e5e3f394da74d9e1e13d3fc9ec5fe02c7ebdc5ef56687d5c8f9f787ce074ae319b2ac673327c97338ea973cc432a86bc7e5048e8bd5c63deacc85b67e655d2636322fde6917a350be7cd5c03f5ca180b4e4ab9a462b4cf9c3841dfd1044198b8e9eff1d8471f2aabd37a594defe798d0d0efef6a219849f5adc7c81f27bfee068975f8fb058e031ed60ddbc2986ce6af55a1e2a9e68fc3e2cdf26f1bdd1c836b1fce1d6e6f8b247cb2702e34fce4f05cffc703233d5abe2b14cf5f2653bc7a5d198a2d7693a7300db8b46ed9bb71cfec7bfee7f0e777b38e6975e27d5b81f0b532a720ee8ef1b4b9879fe0cd73fccfc1e4cc39993ab6f940a4d0047f261d253e476c2ac46a6a1c099ac8113a307a77963a938479f222d578f8af0de07570ab3b05648c13306a8e00b3a475c21ad9876e547d43de9be8f3408f15fba8056c7e0bb1d60ae444d5fbbb7272e20b2801b75058c9c0089e6ea9271f6fdf4683983e49b77b38fddec52afe86e880abacdab3c4cac3d25f488d3183f0d043451838a0fccb429d8655207419fada6273cdd804d422cef2ac310164fd42feb38322115df8a547ec3f183bf5b147bab11775fce8726728892c62ed5e3c88b149ae08a5b28179e5d4a6db5f81b8cde6686df0eec90c7c03567e6941dbf74232c37c8ea5f693e7c10610d7a004b9c72245eedaa1f1cd4f53909cc4c2f385618a7cb0834d62619ed42524913f52395933fd205c411ca7a87fb28dc960a82ba394a9cfa6a09baa7d118ea1af54d25de82e19e8985c4e046c7c6503a536c84a641523d3a859a51ba86358807a7bbbe7d13094f12f143537fc8e3a662523a6575551e56991ad9ebc2e5b15f6656ccf3a2ccd45077ebb315872e6437bc02c630b7ed2f4ebc314068a7022573fad4592aef526933abdb83d03089822671bae272835e5b9f788c8266ce8366f67752338f2140c33eac510f003fe4ba3294efe64e60e9fd1559c937bbf61468e1af31ddbb71f62bc1f902c6fe513c9f8964d15254b2a0c1251f3b3879e3a641c5e90ea858693a7941e78e718ae4cf2a116623295aad4b027627ea411d46a0ceb787986588347a765237af64874675100df1fe36ce1d7be7df2a3ce136452fa0b62f5e6aa40bf888108976a681233570d3ef682ce89cb8a8185893eb73653533ce21ef3849376c7df6a2c07a7467b65194affd86f39b09810ccd278a026459b1a995279accb21c53a513a7fa6a39c54a123e1a596bb4d8eee762a69318a4ca4b331f355bb2122a6e3ecfa81e5ad9be0e42165870bbf91d0844cf89d750f1473cbfa203c5761f4d724e0abea16989625c38439da08e728290dc43fec4bc6bffcc0971c7cd2187721f6e6ce5b83c3c70218aa399b72eba3fda98c2d615ca6333163b50c0597fce84f2a33904eb21f1745152f41a04cfc110179da6143ab68bcc6ff1d499a76685f5a07234562a7a38007d38f2ea2bde8525a4aaaca0bf61a3fb33f35edf1bb9f141f360911fb8978271517590d6f13d70493f872c044100afcb77a7af0eb3affd081a6f9a389b652ec43e005ebd592b38b3d8486f483c42205b1645a9df0daa7f0bbd1027ab2999c11d2f7712b5a144f26eae4a99a75f7ce7da7c5c49bfb5d0b7a30212048b4fcbbaa42048bfb930b9062307cf6d1869d74257333b0b424c85eb5e8c8d3c453351e99e793230069dca1b5c890a6dd3b45819af4f156ac96ef4fb648bbe6be9d0746549cbd83ba51d0809bc7eb5e8d5716ee22a88b746e1bebf5794b6943dcce515880dff29d84b2020c97398dc117741adfc0766e88d9238e9a8427226a7b914ee97bd2f13f19afce47af0cbf7ceb5c18376e1c7df8e37e875e717a7d39f135bc146a925eaa0a302d6b400ff127bba98aee4e21475b6bd79cf01c18e0693bd2a65b36a332e7e35823ec7fa8c1d1683ee34083ca219b1ee5464dca1269be7083a502d0a23245418f664909caae74f66f969872259e472c52f4bdf985df937551bbd0c42f3bb061301afcccf26d3c101ec786454c969ff79b8c60086d0a72f2958291ac417753da0f20c219cf547b503e8066a0e829c471625ccf8a69459e5b83c17b23262b7be67ad27ca7401ae6e67b0408baf991381ea90323c8eead0322ae3e95eef953339c168e72c2f7ae3e3292a70e45b92f386945ae7434ac103194b6f418ed5559609448bc00be6f26e82d34db4c4192e588dd07564798c8a2db6d566ae481ea4e2726d08b49b0f9d3a072663b1885e9bf827074078c05ab63ad26c5612e9c03234f605827c90b9701f4efbeb55f8309187d3df0c5571b1de55819e1801b57533956d9fc7f2b98cb24e9135e44b80fd9115c5d47feab487e77be1aa3b3ce7ae95db34d042cda6ebaaf4612b8d972f95f9ba2622228e0cadd5743d5e1fb265a27f08462d9db8aa705b25a0dc5252f7c738412304ad52223a8d2f9722ee432b147943f07285a9c0bb9f29df811ae298280f1a59bada9e797510c4895cb550adbdaec07c59f582bea3142787157aff586cd4bca5059772cb94a62a861e8379217e896592ef63d3c354f9b15523985f0b2a885257fc4a4e01e111efa4a0de4c097674e6b4bff329dbea3654ad10362bc738fa727758e5d55a2728d108f3d031f4566d5eedc8c12315df75647cc908cecdf3a838b35cd91284cb791127d29c8638f7f466c6676e6d3f67866664ae3d83f406b0c978df0221bd7c6fd9330bacdf04eb78e5fe9b5b4d281f0adf58ae37b0c9aa4c5d705715d6185c15ae0224d9d5ae944da45885347970874b6f174013a77918091cbee785f01b3a3581590acdecf9a0f3225da29d28ac31a9d0fec7f77e9ba3d1048ab7779a47857d2ae3a427a1921875a446e341e74f35d1e4844c86660ee187c095d82d86db359e84a33930ce31cb290b888d0305f1ed0b2c2d9e9459a01a60e4b0384c498c4863e6d44c4dc5b8f875c0616786a502bbdbec3c1872182582ad27ea8272a80f48245f8c6fa062e509e554bb93759f32cba1cd6f276c8764ab541a393046d74ce26a4ba20eea6b24cf5bd9b6c000aad559854d6d92e52f71c2913ea0aa3c1f003cf48c1874bdf6694df1f0275e5f563d74ed776e95f3730ced1245de1068361a2443756a0b311245523bf607c8c0c6539ea78bfddd539f6b566b02a2b68849474cfcd22a3ff0ba9f4d0c7febe3ac030535b1918ef38a3f05b8220a2a8713e008230485f20c93f8da926f152a80954fc7d6c3738bf181d146b8b50ad42c902e09a4342144291504f64b6cd6ec0a45ccd0bfa1068aa84b973a778a20e532b6edfb0c09a2be258a89e8900bd970d9435d7668e7fdf4504fe876efa7186d834bfc805d05e4dfd476aad2d89d19333d9710d808e8105181f49d1d18d5e60dc6806192397c821012bd681f3416663bd7bab96595028386ae78b6ae58e3a5401472aa8e0944b4a1dd37f01ec69ea896b1733513142d83e5c9ce94b5c48a4a0c71a2e0e065ceda0ad506d5d6a8c05949404f5dc76ab6acddf31c794cca5bd00b9ebca6c0177c32c6ad9ea1d0d07495c54d3033a4fc9912e3830a6b5c6d0311f3c67f865ebd151c0a3421eb46272bbd01b0856010b3cb0de482546a673a3a4f2c65e65634eeb35865993b5de833841fed568b9e2bd6c9b50477dcb48c04685c638cc83201244a933812f6cc3ebfdc6e68b8c40a4919f2e241a51e4034582b5744876238ea76089d155a471ac7c26cf4feb13547c971cd34b5d11d0a098284230bd265921536d90ea80af781b6b59816a1a117233cf12a10b50c00721505852faca18037c440b95af72346453be8bfcb067b47d4386a93060886c0512ea2bcff54c312926c6530130b08f6a3444b48b53544deb5ac0cab1847e953e959b2a331c643f72f26f12d6c016ae17c36f0c82794091ebd1db193f616625e0b3a471327196d10554ff1e2cd6abe7a4e7369a43aaea1213e27e3939a9b270420612b1e8ca141be74ae085b2d5997e9e72565fef956008e27032fedec4bf93221ab8c26cd4edfa28a895d489d932fafb58a78fbde9fa0bb6347f1215317e65b690cac708871c4c1f2189578aca93d35bb3f5d5da3438a6835c96be696e1c33a5a80493272d3c2c3e97d260cd5c98748665de73e418714b83e3bf2a939babb8d9694c5f206dacc727804a4074a62cbc33230107cc9b2914e3dc9e40717364712c27ca65a947b75ab298af6e67db031c7e1072dda04800c9f4eb58df6c1bc36f0dfa3ba367d2ed719e3a2112d114e62d9a28451752b7b6adc41079379d6690ea35e2a07a09b7a0e4fb32934f162674931a7ac337273d813fe537e90df586946bfb719d6449737201b09805ecf3fc632b3dc410496e9bdc4f14937d6bda9d35b3139137ac46b83cf777aafdada4ab4c0a115e91c9bed0e7fab5d946c4922303b6f8c1c06b3ea8449cb98eeec4fd39989e3faa515968023f22c447d44e07f91a3ab7ea35a0d1ceef03957beaebf9cc4e2158a66fa875c141672a501f7a7170a4eec50f38aa88812409e825fdb9b03512ba0b07ed20304c8f4b6ca53daad758e334e5ccf4273e948c70af4affc808d2340d1ff9eb0273184291f7567f7efe409aaf4917ad4a71f9886aaa36fb7f70746130e8fc2fc4cf1d078189d1c33340b1059b7467136746bef740bd52b7cd6351194a75e8a1ac87ff029a25048bfbc477639c9568950313f9573c583b2b819918f538dda938203a8fc4e695941e8b862d4b5aea63cde9efee41fd99c9ce683474f1002c4e3354ce7b5df6437c6e9b6985810ff8c9d44ee51998b5f88437168df55125f612fb4955b763661b710bf9e42b0afd39c33030581500a4193759bf59bf979a072e902bd9982e1e448b323bfc6197e083f629fb458eefed1596b46bb521d56e1f79c82a39f05ab075d2020276f45781d8dd0de919552aff2f0bad1651e154aafb7c7d36d1f4dc15bd1a17aa0a96c3a1300536f41257db1ea177f6071c7520b4a45c2f15587ca2c682289428d5088b2b9ad73e331648ba77bedf1c2a891db7d7ca80b525a369fcb2fbaba64da311ef9923e6a3c494bc26fdc7b26380a1816c3c717cabfe184c25eb31faa002d9d40f254dda01932cc3d1580c8df294ced9259505784ef2d51d7c762c5d1c9a914d7b24f319db183ad9d5c73e2b24d0b3f1cccf5c298a9ec8e64297fb8fd6d6b591d3f0351606bb36c7b2bbfab49ac65544d14df81d0493143278fefac42cda7cac0f128186759e5ce9c7acf5696825c6feff1bce17b003de50896251183145f2497e95c5cf30dbe4f4ba3e8544b9af61ada10a55f273de3e263cd3950a2c54cbc08f8e90e5583c70d877f1aba84b7dd6b88089fd370171d39dba2870672efce5a1062fda63751bcd99b95f8790adcb506dd3c0075eef6cbee26e3a470d46e7b2f7a39040339f9dd0e69abcb35498bced8b72688c44fde4e8ff55913aee3eabb452f748eea238d0893ca18070c0f22605865f1a4469bf8b5aa83e1387384c18041bce48d0971518d4ee817788f211ba7f5ea32192f17c52969907e9e42ad7a249b26acfab65c3d7e6c46a6eb4ea595eafa0bdb91469bb2625762348f20fbcd9aa0b9b98b535c9e2c39e9dc54170d1443ca668a33cd71181cb7c0ab05b4e30a2d15c1b9226bddf4520d7bae5aa1de32d295fe540dc5678a496664b52504a9447b35a7ce34413d34e58d8a770fac952126465b0c7166f5d5c7165543812506ce8dbd76b56a5ed3d5509ddb051b391aa1b24cbe11b4a1a0b415ae19be34361dd15e72647c5818a0a5580b81d083ab63ce1033e3d522074aaffc39a7cd935ccc37a6753439a30f0f4e0e84e5a002410a3762667be6e2d6092e20873987c054fc6d3e144bd68b232b5ce6d057c8d97b4ca1e884b6159a10bb91d11553df0a492fef2788580b348c6fc939d819bee2e79c23a5c8a1c7eda8470aba8181b9dfa1db91f78aa298cd3c58a0a116359828ed8ed2ddc93554ae98f5b185ef1851577c19d5e692615e309e0afdac3c02ca33e2e53ceeb868a1ca58ddacf403fe9c256f25e409a7e3ad7cab2dee884bd171704380f200fa5185607dee2aa80eb8bdcb8aae8227a152ed0df020591a9a1789c842ff7777e85adb3314990d9a3314a7f8cff68c8253a17611b444d41bda3b2d5914c16dacdac03a5bbf10279890601f35e70a362a77e04ae98873b890bdf22f856d358839ea1f775851caf3045b34b83ee33f3015e6ae2a994905fa2dad4e9092d788e6329c72ee7f557de1dcce2395d2e336fc742b344759e0f18a12de8b17def5b8cdd26de447030fcb11561935d3f2160b647d02355b90e30e9af5214aa0a929a118f3b665b24e60b0906409c6c4e786f1de857ac1036d1a842dd52a01ad0d8ba9b7d3d29d62f9009540d5979b517a5174e5dd761cdb0a5861c957ce710fa6a94d54f0f236f313371fcefc9c2e4d9388789796bebba08a57b9766470ffc8563fd8f9c4a75f1fab033d4ba6d57ca87ee82d41284208f48500e934f538d7187035d654d85d6a0377ac82828e6b682b0b8b47ca7274743d9addbdee453b254df374c2a72601ea4aafaa8037b259d3ead82a247301021045e9f434831d3f34fc2786d44a37423fe4dc421c08b03932e2d2524d46a571e6f021c915cc8087bbb675eb740529afda1e23ed440a1beabcd3f125271d7c320d12e20e9296f6b3e5c5e2da85b1e3d6d2dea7fa2522e560a1496850b0f1a5ce32b56164d19e8f98872e57a1d434843d26a178727d96e9548b438d6e3ae5362e3a05913f7517bc7f86524d2e18e7ea31399f64052c3a578ade7c1602e7bc0371de8aaa3013bd9c9f3c152dafc46eaebe8e703ec048fb589b4388dc5c0cf2e6ca24703ebb61858780cddb7236b7c36d7e8ed2c3396af2589c3cb049ca79ee2d4fee6d9cdb922dd92f2d9c730a74aff8369fdb01e70cedc6deda7c7a05cbc37dce79c3686b3d37e4e12720cc5c6c73f5edcde714290b67dae4c2b4b9a9b46d7e5c8c9be7f2b50e2fdeb8bf2e807d9babb3673edd1637e792dcbca8d3b9f1f4227f75f3039e6d9e6248bf791ecbcddb3ededc87d96c29b839d772f3226286939a9b4fd7d09b733cdebc5f3d8b729b37c527ce0dc43edafc6c7fb9796e23aa726a9e2d0b3d8581ce936fae3026aecfbe33ea5c121403de68224bb5685e9e3c661121cdc9d7d8c5d1c82b053c05ed19312516d929a470f995ce81207166afc03e805750fc57fcbee98e18b5fd39d06a9f0ed926f8cdb9aed8610c9f5335c7af4bfaf289317d094a488a605385fce4113e46ac0fbb9a98bbfc0d9ba49817eeca45a5ff1e8358a9c610472b47939e5bd0d281ef4c2d9bfa4ae24f53a37ae7c32df803b9986fddeab2b68b3f48a25ce27deaeda892c45ffee8047f6f4c9c95a9bde2ecdad0149d26f22ca294e88654901cdd1fdff1b4c6c5f524546974452eb2e64fa02b9dfed250726b12c74db913ec530abbc0ce27c63b22e7b2179dbe71bdd4e2e429bbdeb547980d11ff8ce5d460248198488daf93f688ac4aef2b86a24dde67ad379a8366d0f5cb4bd25689247f6d43b0bb1451e164472cf448f32f4af642df377440a2b7f43c1e3ab0dd285c4f8056677e8fa33b3de4b91e27164e038ec724c2a6793c9fb361d0097240d8f76e52e90383aebd3d417149f346450aa34e7893a79f03948f25196e1446f03b193cbe7ce7c705fc828d0f3b907dbfab5eebd40cff2e62761331a62653e9c96ad8ece3dba2014f479709f1403d2e2a9bf82202aecd44befac1873fa72283688c6f774b7f2805a3c9119d977e1d180b539790808baa3d44dd96a4c06b4f4b0c4f3efbe92223dafeb525a8840d1ef6d31b7053b5e250f35ebfb6afc554a79c8f5b6ebf183ed7c61b9f7d1eb9916afb31d1522340e32d5f5de76f158fd5c0a5a4821e9935dfeda556e7131e372e0b440dfe1bbe0ffea762a43b05b10bbdffd4c361f93bafbae01ca6530f572c88185ffc3fba6e2a3a6d67c510fb6bd129180bf1695defa4aa3cdc98225f6af846ba01f11d4953f9275642bcdbf57015bd37a70aff5e6ce19e79c0f380efd0a7c478dcbf09fba83e20dd2372f7a396be201a221e5daeda758921202b1b3cbdf00bb8406e4392e85daba2fad3df2fa1e525ca2db10cc1a310b36e213241c23cd74807b520b481f892126b320573bc841b0599aeca7005330883b5e760747038b139512f63020187ba0cb2ada1dbe44aa69b57b94783e64aeb2d50a6115aaac0f2b77af25f4d43156fe541bc4d9addab740fdf4a745102b34c94b11e16599e5b68a2f8302c683fbc0d91ab4f7b6c4557b5bf35e2cfefa68a5951748c243995143bc7d0189aa55bf9df496daf1fce5e74b51512f772fa8712e7bd22607367d4627343eb5eb521d3bf1d4c607805e916bdcde92097b24d363445e02fe99df2f0311147cfa55a9b6472f672e6d44bc8cdf8771a5c72ad23ba07e292db525b21d481ee5d9202a3396969a1d2e1c39a9f1a7f203841ec529f8457f7a5acd1b5ecbb6a0110a37fe412df84100511e29a8be9886be8d57e49722662a934cf4ca97d6d75981f81701ef7b3eb5cf3aa29a59bc571be70c5d9c63af529c8e42e2c167ac2bf0d937bd513dee3746a008ff434bf2960686973ea98c391160195220d7f5a5cabb0edd6d471a13ef55210e65f4d97ff88af39a3cb42eea9a3d9eaf3f40af7a4cf0ad197c5f6367139d2b0f16dd09334aad49263ba70f96e66b5dba98bd51c25e74a1913a554e51e6e64aa8c008eddb6109ef8e7bc861213fbb56fe642d31ec8cec8f2a47e76afb9848a7c6b7141ac803f3e7148a7ee33d676e408e8ecb69bc8442fb2755d6cd18f4df20980f01bf6e60ad0e4c75056e1a8fdcdd83479019fbae71281d8cb362e892deabd0d8e522d7acc61ab548add5d6c141c794779f997a3adb39b6d8523f26d7fe30297fae525834cab3ec7cf3f49eacfb8cb2b3f8d6fccdc9294f89ca51ea2a6fa0ea3031264bc7390473edadf19b92921c9594bbce5a5fb86b11be2c57e63c44a627a9732374e5044a70ebbc4a4fe014f7fa5a8f7c769132129bc65eab638b5ef586120a8caf7f9394d40e44f77f848b2e8092e6e0b53efe25e23c1ca3bd6ee12c1fa9d39682e79d14bf8fc27a1fe69f73de4abf996b99b62c47df1c1568c6aaf353b2955a75fbbfbca41e56d3337c4aa7f663c93b4d42f98b3948c3edfde194943e2a0fe3c1795e3d7003b82d4f9d3ef7db142dcb96a1120fd1f777c0310a64afc98c52a74951f5abb204e905b9b9ca54efcb0ab6dd214b8756d2340fa9ffd0c26a8d6abc56622927fc7d0dfc2153f3a655e24b9771a8c2956986b173602a4ffb1ab1b21d5f7f3975bfaf49fb0b5438abcff3ab61433d5abcc0e4895eddd615ba9c90ee0eb5b8e806e8db39082e0b14dee49487aca6a5ba9cb1dc6cc942c016e18c5273fea774cbb2bae9ea3718ca551b9c8dcd272f57971db4c708affdb362c4e460fd7d88a8fe8147f83c511fae60283e0cb1e61e79270e11ddd7215b1d895b62e15d6d4afc1264989bf64af384dd9a5f99c455669cbbbd8662709b5cffade8ac1be05a030a721271a7dbd82af27064c9a3af7c09887fae05714a872aab1808bf446831aa16cc3370b3693a1f42fc7948545a341f64eade44e5cd5779437a027f327f234a2e1ff430f44589226d6a1249cc94369316cc020103f502f7a467df0657340e47782c0cde3a696e5015eb9bfe101313b62993fb4f2827efda375c06545b0f2d09430f0acd93ec2a664c63ee767d859644bb17f54365a7e3ca1b357ed36936a114b573a7e3454f77b63e5bfe30cde82bef8eab46826f800f8cfec2d742c2a552ec4de07e8359d516c7115bcee44a460df79463bba754c46046e40450f0839c30a864e6fc10e36cfe33d72381f317469b3940943139d188d1fae07450f31fad5bbc7846a1d24a43e8b9492b608af8706ed13db08157a84d5dc50be6793f4edfeddb1ac9fb6d44cf4cbb4130e7026566048e1ba677630577e87091c84e88fd244abbfb27eae63ad834a5f28b084c94d099b4eb55c651ce9d25203d446054af7f3dd4c1010ab913a73a0bc4307d79d05ca8aca33778495e5d487f59df841576f1f8838279add5229b66cdebe2556961019929578037cf06663e83f71412d00fc5ca400b16ba4a4901b81670290dd29100d000d880fd796faca1b33ca1b2e4a1b8acc4bb3c1c7c69aa7dd25341b52526069a385cd56d6c095356ad8d0ccb3424b1a574c9e335f758adb796b67309c659eb3269b0d776c3bcfacfa70703db6a8de7d4d6bf9b76a4ed33db8f6636de7ada90c6c6fde365bd3e51d98bb1c0c67616ecc6baff396d8bbad3eb6fad8d278ff6134d5457c75f781f1b84cfe23b358cd4468442e8be69ea7cc1d0f1e9763626aeaaa1b13629e382dde9eb3da7ffcc8c25fe64216efa0eeec71ffee3dd27f19b8826534ad61625e2f9836f25a7c128959ffd41fd978f2353d674d279a6968bedddc1a73d7346a955fcee22c9e3be6f7a8b2c494778ed91f1d9f99b7fdc7936b3ed1b4ee11cc1e772ee2eef9757eddf59a34da795e22cebb73b6bd2b26ee4cfca59deb358853f4b23560be4775635c70d57b88f393bcb754b5b53ae22de1afcdd29a87374e553195f1a7155c53ced32c155bf5124968cbb9af381345f3105b1973199b614d551a7a873fad06a905296352cad85d33ab4bf2899234549237fc5f1bedd2c2d4e0ff12952fc9038e44627bcc4e388a6614bd95cf3e8ae281989cf6cb5e17cd34361576ade3592d66f83075da6af4e2dddeeed65677b8356ff99a33d7c2dfddad6ee09a7c6396c54e4ed898a778604b523413b10ecda8d6e58278ca8a9fc2512247841c057ada0d62dfbd689ef275d754c081a23be59fdcfa27b5fe49dd3f99453a71d4ff3fe529160fe2a97b24887de41255bca972cd20f6ddce6b3c887d3c55aba87a35c554e829a2d010163a50a0e2fcdfca93821013411c4af2e1fff9331d616bf447354f3497d923ef989d9c18f3deaacfb5e3cee6e12f176fd6e80fbea6c1ecbb68fa4b897ad5bfacee8caed7e468eea675c7ec841fb313ad9bc2cfff07d7bd54020cbebf45f409c61cbd908908a6292bb8a9422e72f106d7d0c154e80d1634c367c3054626c6a56bcd759c4233179a55357582a29a2a8a0da2687151e0f82d2922bb9db90eb9ae79ec9787951411ce795c2922bb9dd9e4faaa4cdc312ae4f8aaf39d6654d54dd7e42647576ce30904426f16de550bcf0bd4bdeb59d3cd5cc556d73ca384b4e7d96ede35db4bc4eb2fb3fcbcb76bfd3b4f2ae78cd674f2bc813a0b3390c8d3150b7f79e762566b57abbf94d54832be475fd3bd38eb9e449c570dd4b5deeaab83b7eb154c4f5db3b6a6177be92d15b8a6576df53569d7bcbae679dea3cf9ce18e51b01f9cc5c4a67b4d8eb33836ab72c04cc4ba5f66779ac7d19c75bfccfea856add33b4759b50ecd4810fabf3634af5d3420a1078916eebdb3a6cb620721c74254eb58b06088897f128793372fc7f7f60222381a6480480244c7ff77f14c8836a214110f1117132206587d6708345d5b903b43e05e1a02d7c6ea4b43a0e95e1b8ddf295f888c2032e0da664d361c9706ae8750d8e2db3c647568086d76c130b189d7f67a469c604409f7a28001078aee941e5f5a4674acd7631e1a31e4ff67c73c6c7aa435ff5fdb288a8f79d8b3d98aa01541e3ff9887484e3011c141af676ee8cd118efebff74c8586fc9358ff4f924efe89c59d13d3de33e73988d91e9b39eff554351df6a892a63e09499254900308ddffa52a276f40fd938006b17c9bb55a6d0cd3108a1cf8fff59986601f3d226dd4206990325286a443d022214810a28c10bdffcfbcd6f38ed55ab7f3bae6b86aab4e8941e4613151f7ff077ba62098f020c25feeb763f61ed92d5310343f78feaf8dfc428679520b9ae39a5d7b6c8c882df6f4ffe9330540c90b7bf09712f17aac42d92e8ee621f6ad5d9d6763e7182b97391672fc84d739c65a75ca77f6e279cd1d6375adee9a68cd8543d75673f9da1ddeb829b0ace37ce7620eae986bb775cc4ed0aa9d90e3ab2d2b21c7eaae83655dfeade90ea8c5bb567946b5aef3140b4dab80db2bab6cba793defd0b46a2be7cde339e5c7ec84013473aacdd78cc555f586db3955d99cad3a58d671cef34ad4e88ab9b851ebf0c675b0accb69ab9d3bc758c135d5ea1c63f1637622fc6916778b12d2a5796846f10eb25d99e3a96307cb3a6230efaad0dcb5e6c21d33f57086a9871a3ca8f039a09690e3ab6c25dde1b278c49ecdc68f3d5571df3a8be722ce2af1d630cab403f19f022e0ef8f1f35cef6c45d57d5fde53df05a642feffffe493ff479f49872bfc80fda3b9ca3df224c481a82371e3dbdb9d6ff327a456eb3cc5dab96baf209aeea95b15515f656d4cd4ba1beeb88a4d79e9d668bbe365a9f897aec25fe6a9e96f6d355555dad5362b15f2ecc3535d9786646b2b55c55454361b0c34d55e369bcdd6ebad194553612f65718fe55c49d4aa3b4fd51e0f625f0fa3bd1e46d9b46f8db61caac7a3a0f22f77fce1fdd3c48cb2bd5e4f0992225050505050504f5046a414284264889028a8aa234fd11e6ea279e8da6a1f3e3c65b3e58ef70f49f6619f12af4b73a244c5bf5e316fb6051aff98051b5830fe7fee9958305700628508568062e65513b5de79787de771b7a8799e3baf29f1d2ce591330775b2189490512985448f3688a79d73a5305263b65c2a3e8df64c223e7ece101fbb1a2299eab17eef0e0d03d05469f429a55f7ec33f25238ffb5664a8109530a4bffe6bd43e8c91d3c7768439c8d3ba63bc6277766ff844a4b09cf56d25dd742cee275b795ecbca6595a487646cc85044c4ff58c78db21a00e9f3a55ea5c14ae4001ce9b33bea678f7a67bb3caa6bf35ddec5dd3e351d8b736729c813d739bad83e555fd61210d85291404a043e85f77df0502b5cdc63bb579eebe76d1294267c69c16e600e778c979246704395f72665a67767c77dab2479576c4c65fba623613536cd43c7376795370bdd7c949c53fad3a39dda3baeabc75d6358f2a30af7a8d53258e8e382d4e8873c20327f0feb14a43b36fea9a2a4f7b3d34f734f05e7c0269421c13c8fcbf39e5ecf5cc7557b1eac36bc6d96ce7d7f0877d79f394f0273baabc5b75da5b55f3d93a7569aad6be2636ed2504a0842eff6fa698a5e50c3cd9b49f67cec0de79eb11dbb5476c57125212709010c00876469832829208288850460429388ee08c00470338577a4d675ff79a575df50fdb7826ea5f6fb5901b0297108230813008043f205801e10b84166fe6bc31f306c99b46bdea20ba6222c7b935d8535ae62aeeb6bb67be6696c5c2cc559ed27a6bbbf3a6759e7d3ad85b9d39d30759983e98f1e0860337576e924c8cb3ba6296635d73f8c3be29678f6def9a8bb8ad694176ee6c6abc79e39b79bbe6f107ec408a0efa7450ec60d8c1913648b479d366abcd9236340e80e0600b13070bb08942edad98d6b37121575589f889c9b706a22bdea9eae4c4d3d23939f952de733d7a985c1bfbbdb57b6d27cf29bfa7161acf746dd92e93b3ad179b05d8ecd840d0067336305e8e3be6ad38ab2b4655f598d13553acd9b3c684ffef759c95cc94ecae411a0dc668c0e4ff4db6ad7154d526dbd6f6d617631ff0a60651704d8fbe9cf9bda9f9400d947ff3ccbb6b12f506ceb66eba5aa7c6870e1960c9609626d09bb77335afe8aa7d3a3845ca9794a6db35d1bca6440c966f6e37bec49d3fd8a5f19246ca3cb7be2771675f1aa57f0cfc74bd6280c7c4c0cbbab65c1840c160e94df69e5ce7fdadad5ef346b3e7cde0aab7f1f2f4a2796fa1f1f25daf5098d0a0f97f33b8a6eceddaeb8c9f5fafe57d068e79d133c2334d66fffd982e6074819c0bce0b9ede8240407d79166c604113338fcc047a13aaebbcbaefccd30c9e9b192f3733d9ccd21bf3da5680e8b1505760a502debf396bbac78dfbdaaaba58a6509931658c9479327ec86421e33446d0983bff66de2cf76173c53b1755cd798ab69c9fb7366bba3bbd0173d51828439eee3ba669d62486d1f3368898366fce86bf7478f3101367182746f86ff28edb2a19c5629a8489e29f18268530425a56592206cbba1f57bc8661f2ffaf7518a5378d1b6f8151024c1b93effcd3178cf05c33d6f9f503cb596098fc0dcc129ac1308f823dff4f411a5fee145cdd28c0f15b7f51f4bcddfa5266cd3edd17e1971f5efcfcbfa9a7ace9cd4b977fd30b8c09f84c8066022cf3ee4cec692a391379cf9857099022d821022d113889004797425dca3c9ad754535933ab65b39d5ff83a99e905725bb4ebf53af16eaa5a77b97519800ba1376fe7addd134dcfeb04d4e789a617e512c60535a79c99666eb9624b094c5ba66c61a145cebfc983c7358b370f71c7fb6e9ccd599a6a2a5c5a4da9aa35bbd3f6a6c5d4e222cc4e18faffe62fed98a87b8b2f477707cb53e69413ef0e86fba2a1c4f6f7c334a2be9947ddb75ef554164359c66439b33061d13d17734fdb2a3cd7054c7bcea481651a50cdbca797866577c5d11518ae9061bab2e54aed8aee2bbaae99d5bdecebe9de1bead3d733f1f2b4746b66b5194533a16cc1dc7bbad7b3ea846002081c802009044c0f20f140110f5c604e3955adb776deda99ed816130dc03c353d6542fb0a659e7d7ed79776b774d35156e258f1509ac9c566e1cfb1cbf1c7bc72c3046cf7d2d575753af4c6078c0806052c002302a4153b56681eacd3ae31b63b151518422cfc439739fdeeccebcdd39b8a646bc519f9a899a13779a8b09b47e5a39ffa6aa7556f5be5aef3a9cce006fc43fe0ba4dc546613bb0916ca72a4754195485822a595588b045b02afc7f5a5855553d55d9dd2e775d0c06b12f73a1a042eecc58e7edf8c935f35635ab7f175f1acf65dd1e172a8af60475b7be4f37bdeb14d3342f4dc8a5455d1ad4d779b9d49028138a9882e9cdb2f8e9292aeaee16cdbf8b9e438a5c75d6d473d066e3413c55bb1c777b9c3c887d35bef3393ccf19d405028689e6ace774a70cbf9a6e9224770ad40572875ffc97ee9e893a078944fd5b754a757b5cf3a866daaa69fcb8b6474e28b7acbceecc82e16e8f6b06b1afb7b903b5ad971233efed4c4373dad31f9d07d1f4ae37bed31d5c5b34b7319bf9e53d13a86635c5bdffda8da7ce5d10fb82d877d135556fbe6610fb2e28478832826e04ab72842423d446a0fd4d726db47b9f44428416fe1f8a273831778eebca2bd5ce0804baeb85941f30d18a70470317a2e436e4970df4f4a0a0365b56170653ac105a8090c4ffd26d43d5b49de2db2c4180e0daf4cdff79d555fca6d17687a668bb7b43e80d0bffff1a6d39ee69b4ed69b4e5453674ded468bbab1d3f7320c0ef77d3c035873bae3a6627373742fc7fe986cefff77a6e06785553fdc0b05173ad699669d4fb989d98c73cbc3ad884fd929e1a6968e6edd5aad2e2dd1ed7accaf16376c2b2378eb1d08ce6541513775af33831adc2bebc81bad75bd35e6fd9dcebf53ac7c09eeeb9d8f2acd196f71f46d9487d90005ed450fa1a4c3296ca2e4a5f76a9f16597fb6597265f76d9fab24bfeb28b952fbb80f9b24b065f76e9e0cb2e70beece2c2975df87cd9c5872fbb18fab20b145f4690f4650435be8ca0c7971120f93202ac2f2370e0cb08d8031230e04b0db0b08e8514855e0395c4724678448d0d4f62d940ea48d80942124b10786c24f870c92cb340467698c121b34c9046aa911d2199c5d11ea91d3c7821c3c46c29a084071e524b121c454e1902915b6e04229225101e92cb016043da58a188ec92a61192c74b8a8ca00a4551835eb8e404882ed423374a2405373950f75e91627e107a5a12c5842c73472988034ff29067666c995862ec21d500c36a1b1009916d9eb8a2b5b0841409c71121208264f821e904da72aa6257867cc109464e3a8850481c6cc83333620c23075d81a8094a1b44e4145d707e18e9108a31b97095001a3d816242a2e441c04e00f0c4a49c617dfc61248c917182d3230a1957311c8c9c3d649709528e06e0f0888a92422ac2e0e70006909c4848ec025dd6ca4b525b84940164b6e4b0e0c1cb53c0095102b190a2d01380437ef20a1893ffc7182d02c535ab230105fac1074080fef4c0c30e7e3220a4430e380cd91a71ad0177f19fa47103d987cfc774fcf88f95e413dfe7fb08428a81f4e29f03dd9769baf4ad799029ffff7ff4ddfcff8fa8c440d0b33a0e1c9698fba55d1a065c3000c340f82bfe5d9acd87de4d2462e08498d57cd571de7a6f1c9a08fe9f6fbd06d776f3140c67adfa5e131377e699b998ae294def6c85cd4336e7618f9bb32674d553c135eddacbfca57dc5c13478f1d1877bc747d54765b2edbd4a81638ce64b4b77d75cf3d6b7594fc5d79c759e7d57f7a63b5cf166dbdaeddafa8ad38d8b6bee9a5a775c71965163e12dcdebdab96baf3cd5799b85b25d5c1c5d5b2bdc7155d75c63f28c81f36f4ef9ba636c8f66b3ddc135e559d55c55bdd54253bc252604cde37d4d4d049e8ce02bfcb5bb6b42d99ea02e5067de5b55f79ea07a3e4f156fcd12d3b3a67b8d9be88fa40a7e6d9ade8d815755f1ce451c11af597869986df50e5ee10fe3aea92f675bbd9b5c336bbc8d99e5194dfb35f94d8938980e398f0bd42dabfbbdaad63c1e5cb59aa78eaada5a1dd79b9e1af2944bab6b5dd7baadb5bbd6ad99d5ea5ad7b56ec554b988afbad6f1acabd68cb5557211537221629e46bd9e27d40572f959c3191dfe7018331b9f5c9e77c2607aa5350fcd3935b72c9af9ceecffc7206de0f3c6351bdbcdfe3fee9f14c1118b1e66648b929610c342462c8908a52d2c761c59dc7822032b543f903904f828fecd9f466f565b546ffda1120b0cbfb467a2b0a71b9fbcf3ae37afa9bae68e3f1ccc58bccf9108ded33b5be9ad7a5573d4d1d3c5bda69a0a9af6720fa6c0de5354941023e6ca816574c56957db1ecb39cf7be3865a38be836c22d10a0e56f25821e1ffdecb357b6d3d737c3cf33c2506e1a59191519051d0ff55c008c6b749c686bc15fffffbb258c4f36dfe7231ab3e5ffa2e72288b5eca228df4004ad97639d2d2587b44bd81417eb9d819912c9862b1273b06debc6a1e929ecefbff021af1404f4f2d2fc1e46de1c27ff3c9356fe7dc8a23b947be633bfa2ff79fffdf72cefc0ae57e8a3d916d5925cef36d06115356692a0f782a8085f34f5ef97f2592f5b53c6716c85302cd5c59599b482cd73d42deb2972b2b8b44cb75b87afda3d99875dc2a4a089ab25142f2f09ccdd05c53135003b943cecb53156f8d755a67cc565af37646b71650abb75a6b6e6774cd3badbb4de5822bce6a0a6c69c38d89c2df9aa7d8fcfb996cdafb714dc130f16e0d34cf35c55927376a15ebcbb190b775c46aae9a32b1caaa59b842cf479307d329ad796b1755e6ca56ad3e12f3de52532115c757a86f11b94399affeffde9b23f9641a87504152d036a62f0a7ac678e8fdff17e54fce177ffddfec3a4830660c46a2d8111d8a3ce9794c9022ca045424efd0ec644533df55a8aa856634c55b78e37a3d304c5c537c5c71110bb10fbe33305799c59dbba601d3fb7475a71d7d5b0333deb89db7b89959931b3bdb6e1feef5826bfa6bd1bccf60f69dbff33c4fddd1b37695dcd3676633d7cd4b3b55dc358f03f3deb29db4abce5a5d734dd923e6ec7402c35967139afbec74dadaea6cba9d6fad81e89a85e705a69c86b7de996df9c5f84e39b3ceaf35e5d8d76a7c4da089378d9f53ee915e704dbfce6bcbc1156f13ef5cbb5d736f0d5cdb19bab590e31f509fe7cd2a4fefeead2fdd9da7e8ce3a0b981be2fe943bfe5873116f9c0e92cef86ad4409bc9b99e72f2cdf1c69d5f577795eaee5ceeae43b5f55da356d5e3bd38daadddaff3ee3cdb9ce39def79c5dbc255f51ae0d2e2ed7257e794f3eb9a1bf7ad7bca775748c33b5f34e39da79c382d1e6947b5738c75cd9d895bdb6ce7cdb32673d6b4734f6db6f376633ed2ba5e774a9b1573ba7bde3be51be5e99493af3a653191abb49e396767d987d7151b9b9c5c33a398a8816bcae3ced0dcf47402737aa738abdb8ef3e0a1aa98f7bc769efbddad061a9bae8a851ce79bf78fe32f7b1d555ffacbc4be5eb36b5dd73a34ef146f718e55adb3d23cbc715de87adb75ad43335f31bb0bae299ee2788a1b3596d6bcdb1237426b7af90dcefedb03376079436f3b6697a7b4a69b9918c144cfc53b2ff98f0de198e7ddf21895128911ff1f059aabdc232c36964bf62cb96049962555ca2527bf34be35bbde8b964b66fc7f902f9510fa37eaf5f26b3bcfbbe2bc723b1dce0a574542403e60f29b1209846f2ab19978f7cc6d2cbe4ce2c39e32c90a659236badfd95dd326042e50e3f83209184fe204abecc5638625a648cc94482ab878cc70a0e84ef95ab3159db75579c408132ca340b56b5dd7baccbbd6dccec0ae7535848851e938e0994072464b251f408af1e042c40f920026b31c48184dca1e389034aacfabd669cd65c45c9c63952a6f91487e8a7f2285928720b2c59ea6ff9ff2e5014f648def812c1288cf2341fe783d3e3c91568e60c6624bf67f92ff93fb9facc2fe3ff14b05d8f456acb2b92f154802c3599998f2cc19eefc9ebf5bbb50e7f93baf31a7c574f75feac3beecc34ddda6708b0e7fe9d628156bce323fafee4d97b6bbe6112cb70c5c936defee6b66af515f5d9367b6e5b421bfd9c7f9ee9a33be7dfaf223ab775fb3d6ecf0f7e4d49d5035ddb9ceacb8bc2ebeaacadee3c637ff58cdaab9b6333b6bbac78db766899977cd231eea9d83b9af29cefbac41d17ac23b9f568daf795ef19ae870583d9e0e97d504b7ebe9b4723caa2e2ede4ea745d5e3c255e9bacedacee8da765ecb28de5dc7d36bf2209a55a35e87b535d5bf1abec2e3c67ce7228ab190a798cf32579bf0e53fddf566ef9a3670cbba3dd7b716f28b551f1107efd6c0f69777b7c7359dfa9af7d351c55af9475502593a769698d7608c4d0c4f7a4f554d87e7ddfa5cd3fbfff73f068279ec1988f9fedd2145da0b4cef91bcea21455ab0ff8ff2e50148cc98ce93ab3cfbf014dfa6cd5736e5f87f734d830457bc6a5fce47ccf67ae6bc8777ee19f3dacb7bf84b87dccb495bf6f0995355778633ab7265cd9ab2b00b3916726565616d22d124e69e02b5ee1d73efd83b769448fcf97ce5011ee4bc815b8fd445c965f1af67cc2b49e449abd2001cff64942006e831a0cdcdacfef1bba6bb5f2ef6d08c0e7136da6c68b6d9f2d6bf1ecb9fa04ca8da2f1779c4290b90c3b7a9aaf947f21a209feca07079f1a0fc934fbcfec92e1eb9fb27b9fe49069c3841f994047431d7944d8d794a02a4882eec2014670731ef19aa89abfe355d1f9a6ea3a07200386639400403e06c25fdf1e5003b6a79b3a58e463afedcad8153943a94e85852f2658e3c650e08ae59e61852e26054e2c86313f612070437c9bde60fdfb5c4d154cb9b45cb1b7e300b0b4aa4354644f1c0ff975fde48ff3fc79737b6826b4abb36253705f8d1e19fc5442a28be98e5137efeafed09129e609b2e2fde5953b174c20627d638f1c59c35dd59d33566dd558e4d859c987beeb8fb8acbeaef8552519d928958908d725ce4294aaac89022413230caf7948510c1381311f22445a4a6288ca22c8aceff6b3362ae4bbbb64bbb361b0f4d30fae72a4e9520793f4d786922eb1fcd565ac035c7574d4a2944c1b32c66d99bcdb66276c7e28625b4be76dc9de7df1adb318931f01fdbcae906fec7b4fe63baff5856ccc9974a942995e8125be03f9653fad8d5ff67dededccebc3dcfacf29e3a395da0be3c7ae63c663ca77c4d9bcc19ad375ddbeef2166fad5aefb4e6d9784ef9361195319b2c199282111206f9607116dad07c28c6114714c999395b7136d54160ca338b3915fef05d33ab899b076fd7c41d0b7fa8be7cf39ace9a4e7435ead5099bf2baac5435edbbd80184587cad905521a8424d65211a3fa35d1bde1d2c5fdab5a92afe35a158ab47bc45d55b5d03eee29ad680bb68c5e525e4f8ca8acb8b1017cea69d4d7bcf98d71e9b7636edbdff5813a5ff1812abffaf5a6fc39f56a7782f77bda2a9f6ea6b2ee236318bb3296fabf897f29b46db1dcf3e3cf51f336335da7f0cc87fcc69f61f6b8afd784543ccd0916701f60d75b043d117a0a70774a48d02627690fa3d6d045de9e302946f418f0f01781100d1cf59639525cea0ff107698b94186c5d26f70c485344864f9b74011fa07053e570f066a8e0ae86ef35b16ed94c05148fd0346c00c95b1fd79ae480f6bc5a9ce136de4fab028e08607bae9f2840bdffdd30c0f4b16ac301f451014394cf063f45d57a4f87285bcbfc52a31f2f0a3e79dc4f90f7e586ff82644eefc99b2a084a7fa1be4001fb45f020309121d4e537f64abc9929e0a9e780572b0e3c292398a7ec896a82516fd02f050410df2f414d1de7cc0510d2048d0e581b44046499819f46709dcf9691e343e81141c3982c28911dec72a43fa7a33c4f3b0ea432ce20a93bf4c741ce02465852f000a9323422ee0f91d618870f135e05e87a040744c084289cf6105e5565332c4dfa861d0116092a5b771c662c60c087d8d18548a498a00bd2c071f4e80e2d7e84b37377038bf5878a62f4b81e2a030fc52163b7236a012809f21010c194f60587a191adc0b3e2853c0c778210713527e882f00133d1aa157fc0913c0e9f8ba2908080b603be0880a40881ec60c09206219f0200c060f1a0dde54d8bff0d2c318283938afc4084c98244400f44aac0d457480e522cc85134b11d4e024248f0b302248147c1c91c7850b3f37b6d62862d26203d54acb0c364f0b235c2922cd85098b207a78e99141f02cb644b085b5c1451e16417c98b04089282c89d01c331584a9139684a6d00665153979921858db18c102f5494b36ce4cf9810026483c6820a50a2e5e8490d2c8c0c58d0d5ec2907c5d30865c8f2e521003a23a9809bab12b14616df0c136b11dd47c6981c8d22606c2133ab4080cca13c3e2a7821d878cf858033140c800092bce1811096657cef68cd1c0c1a5c1f11113328a0f1a60420d1246fe2000945e876242b2300448034c52c8213b20a3b828f210467a89e2a8a6c29627b2cacc03a3212761e4d7132642b07e2c91563ad88042039621855ce1c00f17a2933c600b0b221f981f72a9c8100841006843be013ea6088984bda22aa41099d30b7b432d9cf001111bd807d45566051f5fa47e8f0a55605c36eeb710c40d744823a47ece9c4221900c847d084f472c908487addf403784d30778cf5f10fb4541c7aae9c14cb5e122478d9ce7e262caca0e0adafc0357c50694d4697a7ec5a0256259e7893dc6382ae2cc9a07ca217766cc48fdc946c604058c963e0a2212cc4a119eeff2f2d5c475c1cf6f5971f10020307fde091e22687c0c31e49b2839771357e43c9592550a57e678f9254c87883e3891f1479e60299275c411af00a02c74e25051c40ff182e6871a186b1e8ac866eb8f213f6f6af920c32902c20389a1d0025c68b6fc0c480a4950e1c6c627d0021d3d68f26c791f5b4b9715cc08cf63812986b042f6f4b7aac5718771cf17f025c3145c92f4f81d65a4f850e12be9751022e056038f043e476e28850a54fd1b3600c08f0204c4781bbe15fc9c4006f81a33a890597903e6653b2c0133c548c8976fa4445d9196cf0426aa89cc4412bfa425852c698c347ec6044b60299188f132d61c6259a812808f01c30c87069882eb0568e2ce1b295c7cf002008162502f837d001c00c5175e1479183414b57070027d183d827080b415fc8b2f8eac9c2088cf2b35f24089009ce079a52a3be4e9a1c4a377f1848b1f2cc082e75d1cfbd449645bf42e944878510316f9166c6c4d9ceabcf916361a49a48894cf220820ea3c02b3e5597081c2d1280985671184060398f01b3ea950eeb80bbdf04918b05fae06497d120352e4786303109fb4746680406a961ea9875298431c111e2983a808ac0800ca23f95e20d6f0c1a3470ab2e52b0a47071f7b9495268443257c6c87271830a14ba38f85800bea7cf8f95896029aec2842cdc71af0d2e3c196091f236283144c6bd28fd16820468f008678328a424ca0c011f5e40fb837350020f8240b546a70e08090273b1842836887cd935e28b8c38402554f56f1a2008a1d023cf9a545cb0032b027ada6f8219092e39342dcb8a8f325f8e4015c4e1e0f8a4f2e3df9328011869e7c25585d3e10f2ef048e120af158f26f2810151d0eca7f40ba0b4a4103ff7b768843e5d002ff2d3c41438f3552fccfa9218b368dfc87804332450ce97f031fb9a404f67f018d8cf321fb07b3ab608a16d23f971b518bac00e1ff8127ad073088f0df05a822a826c93ff109d00d2e44f807b690c508146cfe4f11fedcc052f98f02c59215269fb2d887d40726995fdab5adb8679b350177b117e4b27122de38773cb40162f201001a02260903669b051212fe9fcc7328ab90049f2bbbff27f7a829ca707fa871fc7f128a0e3cc8c131085005ff1f6b80e52201108d4750fc7f0c8e07226cc958d8a3c0ff934bcc7c6995f9b2410bff4fca8094a58705fe5811fe7f6c821e34382002011bfafc3f92144b3840a784193258e2ff6358b8254680f90166d1ff23d520e387090cd2b4c0c3ffb750738611f9c7760593ff278b90a202081c61408402ff9fa4c1e92203611f2a83fed51417710d778cce01a4f4a78497124be09f7c196c029df075b5a466909334492cf1ff8f43111f04be9ce4fc3f49c5f08598ff8fc190a108af85a229384b7dc0966c3c21f2d4024f0b9c233ff78432c1ab23a60706953884feff73f4e1e13e54b1a77befa968b3f56cb61eb6a0bcaeeef7c98b3f7af4e8d1ffff931faae026780a48e145a5423f86f101842b18ae6210e44218954f055b4c9baf137e88e0f510f8c2bc70c00929c31a6384365e2064a3841b6c2e60d3c5873ba10e182d575d88fc906df0281a6103964135aca1226650004c6e8b9e30810756ef8a8976852d087a58c0c3cd182d2c8841f3c10241c08cd02500f5893432b66c7048490b9c2a3b700464d0a140ca4ce20a9629716218c5c4d0827247505a4cd26375c41c7c645ba0f3434d88224c60017ab440b0670114bc685942e286ad009a2806b54cbf2847a0b8f4a1e1803e5d5e61b8f89980092380f082680e95b02a628e12e0a0a1330a218da1c110822205a0d0491d073c62b01c2666b861109d2318fc60e4811f4a52f435422cbd81c1228a274b74d0f9448101461339d0a807b410bb5305881f2caa10c3250c3a2485151e15f243b5f400d6a23308d48003d71132a45a2082c5038e823dbcb012cc4086108c9091c2a6850f7e665b0438818916a32c2311682610c42e2d25baa28d5255805d7da4d02046db2c480147133ebc201b6ba20031480636443278608c11271c21e8c81c27314e2490440523493c0a83f380c8125e22b845612805456e8256531cd24167d3f1856501181c0971e583931086ee1d099aa038340ed0d0864a0f452847dc1d4b6c70430b36840628938c5180509229aa2e60c4a44b8a3b4d54eab439760896388106c70953553c5ad48705930601972a64667875168459288091432d8a9526d21091400c4eec1e28381ae226c1106abe1a4981f2810624c222b4d071b1c74e0f850c48f3c8090f5e146d4bf02ac06a64c50e489ed85a021114100f725021c3ca35c308213f784800cd13a721341091c1866155e8d069455098630e51b7202edcc121818e831c1e08c00d2f206ac0072d8bbe7ce026f78745a4038c00d0986365d0105410884161030d3f981094c282a10a68a8125b1b59990104089e08abab873a1790496ac2502259c7a307882d83625803c40c1ec02882818e24189e38c0e8c80f352c118064c116435b0429010397440e34941962869112608ba2f0903d38a024e009040c30113110538510383700f0628a2d8672b6398cde002086144c530b8d14397abcd84280912bfebcc1a125e47ca2892d423608655122a81121ded68caa1ed21755c0b6a0b468568855d195c19c2b02150a41853479948cf843450e71bc161999e10a1e98dc0fa9049e28c303ce47bf3f2c860aad60c1304796de0dc1345cb41d9b0e4054a0c1c719317c541406213134cb0c1656f80871f40b2be209f9c323610e35717884156067e9100d395370214aa82d3db2034452820d263d6c4de0020f08bcd47428f482490b8b302c3178400e6e90bd30a0f6e3c867d01f01b67e2cc1078602e4c8a8b2a08304c2a40083a343507aa8e580de3120469417555114f891c889440338a1904e6044042ba49044811122dcbcd140ca55102bc4f10135688621ee24b054c212295abcdca820c4014f316e66d888d0620b132e68c82288862b9858d1f161c7140bd050321a82330ce488a18e9dde0a18189183c2840e1318285450441120689cb8b1a4ea4d97291c7a5854bcd31465c2cecb098b89bd1e9a632eaefe632c6249ff4f1af11f4352fa277bc001512c1623ff63afaa990a98b962889488c061e9ffa3ae13aa6a16ffda2a19edfd72f1863a8f1a356ad4888c7385158eaaa082a4d1a8cf9a1ffe957dc2f6d6ff7f2cc9157c8ae8d3c286443610c2bfb5ddfdd262d7065a8d0f087c3ec0bc87934bb22139f8c385fbfaf0fb58cd9257650d55ff9b488c3289984fb59a6ff8e354fcc6d79c261991532445d1ab22e53978810e0847a06eed48149acf7c29f5347ab245027ac234ddedf3c5547538fc188ee1d8193b634e31a7478f482b482bcc60ebbb3aa8e27be65f8be2b0a66e5754371c97ae4b0623640c2ffcbffaa50c1498699148ec7115a3b96bafaaae755b68cebe5b65aea7ed8872f5764d2050ab5a5399b776cd5ae71878b179542f2d135bacdcb597a9a6b8aff9f21f2d6f2dccbe8c65a258c5b30ed4d7a8afb670e63de6a29a39310bfbcebd675f6e07b3e53d9da1b91b9b3016b2f8bcb523e779dedab5f54c4c5163c758f575238a6a9e4198a18db3baad399c9eb86b125b15e321beb40cc41c888bbc6baefad7754d3e6b326a2c34efaeb40ecdba67afbc6a5dd73aadeb59b733cb7671a141f210fbae8d4b8b8b0b77a9724d023df5494541f5a284b445a05aa9562a0aaaed2f3816d57fec0927fe5fdd1bf7d3aa7abbf2c0b5d9fe638a9af8875af98dca6b076555fc54d1e2df8545c436fd671602be4d61c76c90638f31a104efbce5bac28ed9abaa379bed3fb68412493b0e60918645189946f3df63cb748f8f215b8d2f23fe4f8912f2143565c8973ae58778febf568448d4d55311a82bd970a90891a8ae9c44c995ba4e77089534ffdf037b925199e23f2da62854edc935322a3efe6308a42dfcbf2c0d41964af03709927b6de7997f2b2ea2998ac76f6826e69e23e69ee3c29e3e1172f0c2ad7f13cdd87893095f1694838517e79eca8260ff6f7259d076d128212dd00a1910ce737c69c729a09228afbee6f4b7dea0bcb8f20579d5c6acd3c035a76aed43b3922145b64ed555af7d73ac629663768722fd0fec0743e66be1ffcd2e0ca6c40c96d18c853adfd6e79fcc5740d7ea2e13531ebaa64ed0351d6215b08a719853a474ad721abaa6c32f29269fd5d0351d369d379fe89a0e4f9e097f461dd535977f98dd05d7f4a877ceac564f816bdb44a2035efeafadf71f1b34c47f8f65b1cd66048a0891a8cda7d4f947519e53d914d98f9749d9f3262a458d89769e621d7be6bda3942ddd115142da2f5a0c50eedaabebad7f54ffb1403ffc3fd59a6221d5aa1525a46d00c700ddd6ae3fbc87ff180fc39fc642757c6f9da5753b1755bdb3d97666db5deeba68ebf84609696fff61b022448608894233149a57adfb7919bdba06fdabeaedc7d3ac9cad3a4fd59dd322ce575deb82782a13f16ecd75adcba8d6f11a3dcfcaff2ed0ee84ff2145da222f4224aa6bef6c514260d8882d2e47d52d4b4b1725a4e55afa181878f21fc3e1ff936237fc077117623ed5a07e99678e7d1c4f31b95142da8e3bdfeaf2ff6442156f5605b22da6e7dd2cec5e9292645a19c8b4c21eabc07b59ddea062010f61c90e9fefc7f94f964421571535a5cbcdd493e0987e4dbcc3ebd3b7f32a36a6baaee4ce4b3a785944ca7f4ff1978cfacfa8a4335dd99ad1df3f05f01a8a0566335fcc768f88fcdf0b22c42313d614a64589896301861ff61611f0b7ba4b0ff12f660c0fcc3f817ffff1484fd8bb0302d616160c2fec3c228f8b02dffff5876620090610b4b80ff23debf54dd0d81329f6a47bc37aefdd217322717f4356d8d9843cca75a5fd360eaabe9ce1ef74fe644fda3af84355c282c71a38301518020c20ae3121a7c00274c0547636a302203211df62cd929b9e84041138c195cf421c41f320e7092ccf1a2e9e1512a95b081142d68a851a5ce0914e8c952a5082a2c3e9032bc34695e161160c05004009e24e0e18010fe0c7140a49629c24c97246a241981021a5510d990059105570d2e0839505fc00a5162403204bfe3a642acea980829460c1bb946518efce3c487cf408a2cf6056307798664e2ffc9bf628513041d11e7aacd11187870208c9f22b79b101c500c5bf75fbb6b5bc69d98310137484c678a312d18f2207599727a2b6ed42179a8a941de32d04346d1e30aa4a53f78be009d410c4b23413126e678c55acca4207520430c48310d1c21a92948c5c49ce1e0db78cd106374234d4fd624cc7f2c0f0c55b97be43b08e6e82f374160881955cb6af7b59c44c22a0cdf6694908ca6c6201babf857c48482329f6a4588440da3585d23de42cc2828f3a9b61af5f6093916ca708eae643845ff0f83f7827d190e09dfe6d1d7e31cb3690dc70b2a9163e3d55736db2fa3fac71af156d2db9905c3442460989839f6f5b8517319f556f50f0c1355cca3f2edbcc5b9cd16cbc9a6faa747ceded6bd7367de5362ac85180b564795656f6bc6fa8fd541e1ff7916dfa68a654ce2bc699abf74fdd1b3aaaa784d6d6a2e66b567132e61f46fcb795bfd784ab4d9a648f123de3a629673acfe644b76289952c244092d3647ce6be09acb3ae22d9e1bd03a59125486240a199240b112fe798c8411626b626c44888500c23fd68d1d61e208a26b037b6a0a629eee86c3d2d29ae2c235c1f174b9dc54135d8e8bb7bb3c1c8f4a0b0bab4bc785cb59e5783a5c55eef2a8700b4c6961dd705c5538de8d0b97d5a5c34959f1ba70543a5c1703b81d0fb7fba53b135bdd5656330f2c779d5122b75c26a63c2a5e57b692aa4d52afe09aeebedbca9a92d918fdffd7d569e57837aa1cd6d6d64d66bbe1ffeb52e5ac7254b8ad5d8d0705c7d36951c96c73e0d8c2c86c5f6c61ff3f6bba53be2e8e77f3ca716d6562cacb1d57a93d15b76aef97ae5a87aa380b4db5fe631da0a946532d746bf5bcdbb9a8b5338a335746755610f38298f71f6bf31fe320f7a32f8879ff313628eef83fb68114b077fdc7d604718f6990c17f4c0dbaa6c3adf7c6c9a4a20814f6af0493ffe27d197afe5df8fe91e6bca112842f16c9f02f4208ca01409452941cb6a42020f5ff2fd59486a42286c10d248d3367664d46c81448aad56a416268fe5fe96367b2afd7eb15999211c9f2391ff196ca83788aafa993e314c7597cc5ecae6bcda579f9b76a1d46d71cbc01b534af6bcdc5b7b6026a69e09a036a01b5569d52715e0d2b3c085f468b2c4a4a929ba43650417cc76ce64251aeb13a6fabd06cd4e88a838af124e6e9495531d50a86b3d6ccea3dba6be60da4e11d578feaaaf779f1e599b77ce38ca627e71c08d4edd43d89b9f3e3ee6ce0cabd4a94745c75693ba369f1d2901053e18ec559398893ec327b7ce0de9bd59425ea9f5ecff3bc9ae53af6341753f5c6e6ec247b05d714e72a99d394d6977fb320fec6873f8d75eff0a7b170c7555ca4156b2b6b42d37481ac29eccf6b3b3b95cc479b1f785ef6c3f85968942550c5ffef4c6c81d78605d66509c4d0361bcb7315182fff7868da63593cfc6521155755dcebc9b8316300a43c5f22e5f02512105f221dfa12498a2f9302f83289c79749505f26557d9904e5cba4f5cba42b5f26a1f932698e0b261d020400c3c5983f5f8e39e2cb318bbe24e3e24b3239be24c3e34b3248be24b3c09764bcbe2413fc928c952fc944f025990bbe24c3e64b3274be24f3c2976466589af1e211fa4c8ff6333d7ae0ff654b25938c29ec654c16bc8c09849731dd7919d30b2f63f2f33226215ec674e8654c53bcac7441a3d482c3975a007da905892fb548f1e516f2cb2d32bedc5240a9f414f64b4f11fcd21306bff474c22f3ddd710183490906d38c3a7dbeac13802feb14fab28ea22feb3cfad28e8b2fede0f8d20e8f2fed04f9d20e932fed30f0a59d295fdac95fda61bfb4a3e54b3b63beb493e64b3b6ebeb453e74b3b357c6927d097760e7d69678a25190ca597c118e06530a05e06e3f6321859ff2f80cc05a397b918f432a5a4972909f032a51c2f5342208072c650e9cb618d2f873ebe1c2af0e51037dcfa7208e5cbe1f0cb61d89743335f0edd7c39acf3e51000ff1f23c612085f6614becc357c99fd7c9985f8321ffa3243f12590fc12c8f42590802f8133182f945c04f0422673faf33227225ee6c4c4cb80b0781910192f03725f0644c8cb805cb9288087ad67e2a13f130f66966cc8d0b1144369eae9cba9235f4e39f9724aca9753c42fa7ae7c3925c19753177c39b5e6cb293a5f4ed5f0e514a02fa70e7d49457e4925fb92ca802fa9685f52497d4975f52555035f5205bfa4e25f52857d4925e64baa3332620810008e1b366ad090954c4b335adc5804e39916c99e69518e675a94c0332d4ac2e2ff958e9c5f1e49bf3cd2bf3c72fcf28816178902f832d1015f2632f2652206be4c04e5cb44f9cb4455fe5f00990ea6443e9e29d1d333255af24c89b89e29917ea6445f5e086028e94b4331be3464e34b43067c6968f6a52122ff4f030790255f02d97d0924fd128896ffc7f134bec70c194b3d9cfc528fdf2ff5587fa9c7965fea81e6977aa8f04b3dfcfc528f41bfd4438a5ff281a4e44287ac0d972fdba8f9b24d9d2fdbfcf9b2cda1ff7f25010a68d305a7031a8250c0e9fcff9fd115044e8fbbe3ec05d7740b730efcc7d467d9d3c502b20194f836796f67368a9cf2fdc3c47be404c3441f17c99d8161a28f20559ad434ff6e905be59443fa9008002fcb11e651bddee38a755fb56a1e7d312ad981189721fa2bfe9efcc7d2ff9850802fe01b78190e292fbbf1e851d98d2c269a5573b8f503321b46d46ab5238a33d77f2cf8563c908ffe3f06cc3a9b0d08d45aa738166e6dd5a862014646a3cfffd76848fdaffaa278aac7f235b20b8854281c93731f67d52cf43571ad851c0b73d75e5af3b8121913d4ff9b2f6342922d29fa20644b614c4b4b3b4b1bd2d08c271b643262d879a139ddd59a59aebeee562643f6391398de7bf3ce45da6ea730cbb74c5e4cb7ccaed7db0f2f577793ac018969e6b59ba34273d7b217359992093225de7fdb83e954d7ba5bef5a77856bed8ac1c5d5330a34c38197b510fee3642d7cfcbf9794df80c505ffbf838cc58dfd489223f5288919adf39d02bfae9985b7a673b4f97f1932a4a7193d904844bc158110f968bc30e328cf184749ff4feee9434e7921c7576c9ae75ff6bbae47497c9bb9b8db9f972bf6cc70459a27736455f7545cd4db0a22ff65153a7c5e5b9b8d1fb393146df1aa89e98a7730fb26d01d8af3ff6bbafbe5e27fcceb3fd645451fe4434a4945f944304cbc4990dc3525ce9a1ae541c2a09153a3a67fa40d489b95066a2c2819a13afe3fe96356e666337a51164df156ce5626ff616c3c4f96d8fa6edf5df364d3cef3799ef7c80cc83d729dee8c4d33b0b7ea9427b96cda7bea91199bf6a69f8a7fbd24b7673548904bebbcdde7795ef36661f75dda8c4dfbd5ebe5b5a3bab6bbd657fc3b6feeae677a9e5c6b1e6cda775ae471aa58eb54d99eaa2df1e60c0caad9a8549328d645ea189a1100000000008000c31000303020160bc5a201a16c44a9b90914800160a464b062210ca4388a21648c01860000000000000000880a06ad4484b8de79e8e0a7a1bda20af2ae7a19027a234baf83ed240da5069246290607f832b96dbce71f329489fd16cf555ea8f1491d7feb1c78fd37e1a789789c67ec1addf8dd5d9f60640580ef3c37bf2af8d1b80bf4efa2d6f5a473b218374a5042100ba31ec0cc32bba758e7851c4f9cb656beb268e4b0908599c1b0fd5077beb128fbc1dd699178093726e006f8f89faf3ad292fc847512f19bffbbead1c8f1218356816441a0e20aa4d9d9c8f0266a14ab6afd49084ddb46091c1936728f86b2f2619d56df9c098abaf4ae3f06fc857be7a92b1a8d2c2bb829f191c597f9daa305c85b6875909933b87f8dada8f79fea7e314a64ef515705f7a8259f3f3ee63faab8dd2b841a6121cd442974ba1f91c99188e0a68dcf32ca66ae49b4110e18ccb26492fe59cae2935b9b6aff697575789402ff2eaf29dfddfbb5605b13bce45ccee996e90e0004cd2165b0527919e08ef4cddd81c4987adfbe2a7dc57ef06cdb14854da4f961299ac3276cb8863a28167a3aeb0f555432fbd953b735f2ea015be726ec017d06dbd245fd930b5247b7d91f443cc70964bc3d89a88caa646e1c460051300a89c651eb4c895fe9f5343fad4857a510df7b2315308b68659183fdc9b9e83e2a8aedaab0a9c9671b178e1443a1bb970c129b17dfe581828bb2c68dd8d5d2f1081ab7db04f06b7980531cd7d8416ebcef8a4093843fa459b2ef30264fcf5490db28cdb69c9193feddf44b7da26fb9b5a359146e12469210d3778f37c7ec3a61540b5b408a874aa7b24aad29a8c54709be7aa46605943bc654e9640e5194a2a9a763eeaa35d4a0eae2172106ca2da9b1fc13a844e00a2057506b207cd68fe90d901d93a8c7c6c7bda101506bb48a69fe0dcf787a19daa23e3847fb2f72123713c0f21743df7fcc8422df8a6b396207161fb1c9be6d64caf6bf93a73141ce42b3ca391ad88b0b280289ed8d7e9291e7cf3e33c1022c6eced60251489f93c79d3d1ab9c38e3994d4e99e06948ed4c96425e3f011d5c2646a2f71a10df2d197dd73ca77a16ed4b0d0f8051e50c7715c85922c28a0d901f4c422babb03ab936b83ab715a9c2eb9f8398ec3a7a011a7fecfd5d7972460a61bc0e26f3c30cb34c811993085e378f863d62288237026c6463b0461fe4a89fcdee1cfcaa140a5aba147035f83b07694dcbc057eb919a232014a2dca26f2b41d10b5a0cd9eadbd9e0acf9e187d0cf76cfd4d3dc3689ef74e5de2d34d36a57e483ecf15cb2608d03a5e6d7d06b9a2a6f4d9b385c42889c3f96f4e3083b3054cbb261e77990a0bd26dcd48111cd60a5db02cba2da2e8f3c96bf68932d305ccbf601ba328afd8dc729a3a0968a53a92fb62b743b38fc21ae591347604f86859875517efbac3cce90b4c6fcbe30f66a450ac2c75f2860de3091e7767b6f35708d194853116998d2004ddd1db0097ea896546e253ab9670796f9b95c34c2819bf3cb4c1856196f83ccc0310df7496dcc5ef1eb0996114df113d4f71020a5ee1777f7d1a4598d83fd3355de60f5ea02d8e7449356ba41ca2f37a46b2a4867d2c001033ef10733ec4a1a091fee3e8d610f85ac3e9c7517edc37618dd7ec721e44e43f8036c4d4d1df29d403f833792eaf98278ca8e61e5c5678fce0d140b2bb5fc8bc94a06f5b95aff34a30159c88032dbfc925da2e28a717c8dc164b2edece1846ee4b57b6edb4602946a90a0d21124a8decedd636049ece43a0404b33153994ee74a242fe42a21b6f42ebdabcaa0118ea81e5093a9a3e3560f897ac3fd9d30941117e766d2881c84043dac5ca6ec4d7021f4f69e6c7d9784dcaf3cd30542ca62f0d4a09896b9a1c107cff84fb0eab1c121eca8fd0a7c5c1e12f9355eafa237620c77504bcc15704bc7f2b92a1967c8f873eae4e905ad621eb3505948693b427a1d1e983c1c6408426742883b174ee1c624e70f9fc10416df9fd8cb3410e22bd815ff468893c31a7f128e0f637bac5d0985f1b1b79d27f5ffb12c1c1348a1b4ff197c57ac9385405548f25cdb4b80f54578ce9fe1f766779f300ef1034b1775893a27040932a82f22a70d28683a8a40e69cddd06632bf2dac2a15c51c32a07aa78367c91d288c6dba3bdc02b250123cae4e50789adcd794a6e77e889bea325d18d5105faaf929c6cc4a492a85f51b7d52e6dbbe6abf393aa3c1c48674ead6580d2a897ddeca9cf571c41edd722b1bbaf35c8d1c0054fda5ef50dc78e2bb469e8a2409ce79fee39305f99c376eeaa115d3f80368ec25dded1978fbe8d114c98bb458c204372b81361e4dc0ac15b15e087ec3553b244d6116e842716328d293312c1076121a9fec63b5cfd0fbf8a5c9d6eb270f956a69f81036c48220243d3f151758f2edfacbe3cafb71963a97c3dc0ddd7fe39dd8c6db62a37a82d9b0738c34215df4b45bc75050e8d5912ec327478399118eb9cfadea7d97fe2753fc8f1be87953e19e46ad5fbacf28d51f029645783af5f05197cff5ed712e2fd7f0f0eabd54b44631133d35a5e8d534912fd243ad306b09a20969b00b4cb5d132561fb230ccfb966b1768d961e80e34a8dc68c22cb71de9b806596cee5422471644ae9bb882d782e521067393ce18218aace8c5e136f95e025296be72a088b6188322daf1d37893ff311c39f4c906c11d6e3c2e68167cc3e61873d6178b0ec896f344e8b471ada3182704b27d53623ff050a3e8f15fbfee1758d4d1f0f0f56d019a4e3955a5c7cc824e375a8e0bd81331850d69f5bd8038c0d7bcb14d5e2efb317318431d7837bb13c02b5c9bd26eaa604e884a983f855052d1553e51e65b1d22c5b6d2358905db1bc6de637922a858d795ba303a246225b93f288254749fca289723bd1c25e9d90a630e7e31fdf73cd206ae3422864af203f00b3810544c4164a01f55dd07ec53f1fb9aced28931e1d48a595c9465f90f6ba992fc816aba6386b472c9065a369d053a86a1b2294fd0df2698fc02e167e16db8740a2686926b18bad2e7b61cc01acacf07a2e73aac39d950c4a045f48cee50d7061da00bb1fe2084609c615e2e8cdfa3bd8e3aadc5642a1b92c09c0e6d8b9513bb1db92a3cdc5b1e845d1a67990d6e72f76443564204bb8bcd7f11d1bee35565acc6e669301465290260c94ba50ef35be93583ff0e492620d2e942325a61b44bd51e23fc0f3d3ecb7bc2eb413ae9118df44c8272fc148bd9914018d5ae41861a28ef572645ff25aa07bae785442216a027b8c2c1501a008deb51c20fdb210c88ff8f7626f0a698abd7394f22ca7027a387e5c7e1dc23de3de0c6914a7978c19348ed2bca82cadfab9ec4d72e77fa83c08bb906fb220a53be2e0c37a4025d8ee47f7aadd8bf6ceec8fb5b135659b5cacb9fbd180f925e133f167977879fd61b2198dc657dddd2d9b796105a0d585e305bf90441eaeafc91c7ad96e3c6397f970cae0ac02f4edc7c91e6ee0687881d2ddbc9a69d663ab941ac60609a398048bd2c1e82dea6df12fb4b1a8cd4a2533237190307ad2faeb77e88fcc7dde805e3b991602387a1359af155bb8eb8f765488592be6de1204b6a719f99c6bb2efa3e9ffb6bc435c78ca5ee04ed4b3dc23813bb373a626e922da8ba8fc1b524205d040567706ae75953711872b00025840a10b436a2ab4dcd28b817c505809ff0518abfbd7e082221c8a888371edd95aba8f843de680343035f1b30365e94a1c111cd12ae51dbdfcd034fe8e1a91103ea38c4aaa18396cda57a21c6c8f5ef4bf6050f5119221915e13b5be362a4927c419dae357882d3ad6c72b9031c331b356cc0a23535698ccae2449802cb9d2a7a735bb7f89740a4d50ad106d998012149d73a46ee5d5605c81aa0b248705cfe1fc452c0ba39aa1ab54b8dd951f97bcb50d4d19aa7e8b3ac2dae0faa6c1d69c058e6e787ccd881e76f150da300a52feca1a27c12c8e9df1d5c61a07d20278683f5899fb9ab66c6742865a39d5b269284fd9aad513174d4839f81fba4a12ea7b1f4c12aaf99dad573185f16243a30f9544c7325e4c2313c3c9cae3449d69111ba577d8aa079cd6acafd8ead5f5fffecebcd767301a0b3d32584e5fd17c4d5fc90c3816bd4fc107b393d2d756fdd65d5d80cb6f3ddde4ff03746346921fb197ae02add01f15eb452959b304f58f013ef5a2af6d9d8759462f59339b8a509b3da589ddd3bb8cf95eeff193568e42d89f58d7ac65390b6a485f7345c064fe4e1668e659d5f85949ab08a3f39926d6475d4e1b85b0115e44dea39229f8957a4ee5d5df7843318abf22db2c2f7db48af3837bb851b2563fd866d19830e99c7b23c940d3814afb42aa26e106221508e44ecd9602551661e16cf08b8d23ba0445a0facad48777e98c27df6ce497b46731c9411c68c422aebc07680b42ef9f39bb60a8937775023ea98b1fa1eb14c3e6bfa9f79dad417a79cf6555732865c6485e4eb7595a128f3cce0ea687a8b5d43f1ab42de4a41feacf486448696ed76d4a4da83ef7dc9bda8e0f0db8cdf79fb05ab60c0ff923d62ec252a5ea88def89f19e2d0342f9b4eb1496ac1862d4398cef4650788c609c0910183a5837ec75763e70c113636941353539edc9ff6edcd21b6cba59ca021cc28c23d05684bd31eafbc1f00289085bf5774ad1387abfb2754d617517d664f1204972b0fee93b878919397e5288ab52a80a6b78a97b64b2cdd210841cb4183a448ce4c4e7cd8a853d72c43af610aabc48f49eabfd8ebf8674a5db7ebd9f9207a26c3fe8c4b5ce2b5f07d6b45ad77811cdf45f45796ac02d103239f2ab84958852700317b2efa9b8ff55e318f82d7663b06a509e896daacac18d05683a5c94ae36dffd4c354a302bd2c9bdb08148902457bc6467a765f3e40ee7ef330015029272e7249b09f924324b11988bd46b6b005bb7c8e7ca153f1454a67aae2fc3ae6ff4903b99c056c01d73dee63a3fcad5b078c9d7ff285f50388ed84b01e86285f1639012fd042850eda032323dc2f663622ee362152ff42871c612d05fd424d29284bdb445edf1a9df3dd017a9cccc46caca896af8d0d0d57e5fab57c14fdd79772a1830671ff5ffbcc87323ef5b78d1410c6696344fdf18b7e463316ceb63b3ea8cc70d6ae4dd5c2d941e884a6a35b72aec30fa02433955a773dd90d16068962f3a06336130e21e898ff246af32cfc40b6c73d0142dbc58e7be05d6e1473c486f3454d1eea1d1caf936527ef1bd01f3693d5eebba6996bacd343b0ba1e65ae545f82822714acf1cc668b66e1416eb60146ff9e224e6bb7056f1f306e2de738f71e8043f9ea954ba2af8faaf45df40dc47030f433c1f9b39b320325d893952e9a068b41f2864b3cf8f96be01fc1cceb24f1cfe8bed14f61630509a07d2cb982a6d86a90dea8ef5a64b5c7491e3ddebc42c7ba648f49cc12cb2f5d077e317dad9164b80d9ba95f273a299b63de20ccb2e598063efb3aafe92e5aff66e80caa1d52587e8feddfa277fd3290dda33699bf00d90fc4cb11bfcb81cdb30176cfdf3c0f60748863ea3240f2b18b85ba2195cc31a623526d75fad43c8b7e698ebadbd058c8907e862cd39a163ecb36acf9154016f2e206f8a4c2b9a526f881fdf11fc3974becd00ceab7e536eea87488e031539af5413673550ffc32c09c5a8d6f396c39f26dd4a9891ceed5b20e0d112870a0f18044be6e86daa6f3cc2f9ccba557c099d20796a90755f38d8493810bc37d3d777431fe4d75d2ed74f5348ae16b17f2b8d4e8004efe67979e41c00bbfb65528d81f16fcb9b231d89b7a205e553aad1932ca48d324492be3dc8d9ae2827f0f971480a92d6e4ef9bc40bfb254da082c3a698067ae97ffe806f459917a38a3841283e7cf2899bf6222028f38aca90209af9b8e2512e4487a71ec43740d32b1b8a25e3e20596517cd0376c04f722f9aca170266466de71c1c0591e54755cc4ec2362a9c7fab9ba9ef2b129f48456c9b885fd6538d93084e4985efe840f8e4811a139633c4a1f79511b1c43da2239f0ce4bcf118decef06e98c2ee7a2a1e1a48cded8185a0542f9bfbd8606a356c231d50d0e68fa72486dbd0f406b4a33f31d39f77df709da674fcf68b8bf53843dfa077f355511aa3e4d7ce117618dafd208caf3b272969b19989b208b18bf40b0eac2120f895b69ea846a0fc9292fea4d57571c2fed606e32bf52d92ffaf054f568695910893cfa6296cbc4cf163340f5757e0f80b164fde2a0edb21ec6cf5632e374f3dcfbc38d12eae225a1ffd6e4abe8a76ca53a047ccdd8193654e73f75a1c027281cab01a3485617e277956c9114d1711219e894e497ed11a186bd890e2db07c37c4ac9a8c76d7834f268a413ccc91498aa4da239c26a69e6304432434a4759456e9679cc347a092e635d06216768169ff845ea2570e0bf8211118a36f535f983255452918a5b97eab366e31836811a101d90d57e0588439d1d88bc098ca34513a124e2009fa17d29918711bb3d32b684894ab11da684e9caec7ed6010e2c040b2cd42688815350cde0f9c3778086f8cb1cef3ba87f78f6e37979ab4a26fec0b07386a451d69ee9a3858480daf7e5b0c22ff25c504b58f5523181e641dd6e24efb104595a82dbd73f9fa9c07e11c36b19fdfa12cec6f1c07d039a9042431909f941a4af3b278bc4a822f628379ea633d2ba19fe2382c29ddbf977c88eda8ba3dc248088d1a7e5b81814522bfe906fa1085b197d12e86e85f9753b40a98f17ce9762adad759373ea7ab42ad47b1bf8917a88f19ad8e31726b5ab41020085e0833bd004db9cfb2a91754e27cdce80f99ca2a0dd59702c8f4018b107e6673855effc0cc8821e80bf24909a532168393d464d59aca94cd030fe85df00e02def51cad481e3d0d8fa441dc0932c02f5012f0d5d933da32d3f6a2aa6844dae24ea95286d899c873dd77767891835b25222514bd8af396f7ea22a446e68bbb13e216b9c2795bbe5a7a870870d496b206f10c09df978dc0ddf6818ff55f643c21e24559dac7fafef0e796a8ff999644827a1449eeff28a1296114a7e0432ecf5f21246b1a62cd89d90c2a163e3c0690bea42d794a0774a656b00d31f52d2682b7b44e9a33158697e2b2e1cbb31239c4d0e04a007928468f8d49d01d4e2b38d08d1258bea91c26f2e44b4224262153788c535688038bd92e4c98c1d8e992f6c0a1150a6537c9406f2fd2762bf15b091ca20488a9766424b332b08dc3b9c17a693999bc493ed4df3dbf936704e9dc57aff40263edd4209f28390668e9430e4d9c4e01b144f379a69e4ebad078f67e6ec18bff4ccf5741a4789feadc50f6f6115a6764fd6ca471fb1d78822e31c38d8de15d6bfe58d4d755f03c8d2b3b4d0b6268b5c1fdf3c74cf4f7a756614e1495ea60e5eecceeb807f50e7efb23ebc0957ec7ea4cef89d1363603f1376b1221b276a43af055a338a21c55e26a3d0ff3ff2b7d1e628e9182775caa302061ae1e3b3f65e005f7f1b744c452e753f7a12b4bd0162741f3dcfa4218e842fdc612ba82321e83d5bde930dc2a34ccace26ff60adcf4590789746881781b0e31c5e7ad94a438c3dee952f712d082608648d2479481132ee5bd263653a0c84f37c0a076f5106cd9e83deddedd089ef1d1f8826f1dbe0122fd2513cf2811bc67df35ef68ce905cc7005402317e61b9b16cf0ffb7203343c217932a9d7afd959bf1a95ef0817a51997d628068227fc6960e3133e8504593378a1fb6cc232ac37a5acb611a5d7c8aebd0662860cdcc84d30eb01ac7eb000f7a07b68b912ad37d00372bbba82b6865181979004b2d4eb803f5168e889acb7ae51a200a55b06fd6b39c6cfea269ed00ec793b489e3d6fb06e94f6367557d5a6088617a829b702301aeb71303f9046d7fb02818c06e7a7bcf1caba649865f77aebf1548d16566be2f2bee50af26a481fbc33c7255ab3079b63fc4d6c74382f5cee25560765d8f8e4e30943f0543dbb47c59826a6fff5302dc47b4001b765bc530ddc206c8aa690562bac89a1ad2e3e155ae70fcf5841c46626522ed0cb09b42f784351e3e9e5f7caf9739afe0fc7f2faf35da14576a52f969e9e0f0355887c231417aa56e860c199d3bef57b66d7f85dc31443b0e7569579d417ab8784e31ea934b6d0e73b4ca5238b5e53d441565a89146a682ebd22def4d255adaa67d62a7bc0f1b4c6148d66448cc7402ed4d95cd1fd06fd692c571fe453734f65baa8383063aa4239e4207a1acb43a47ba06e1abcdae4115b7f70b2b8468ec3880ef56371ad02753764d11237a3bf1dfe70fa4ba036a360802c66a829a3dde7ed89a20195bf5f7882a702056a9a25b1127d468bccc1392cda4cef676b9cb025b74d0de789f320d25e70abc72f85451c03ced4dd6e501d9de231976357e19240825e6ff2058219608b21878159ea1a86d6cccc80005107b026df222a5ba8b4bb1028d24a33a5d429b9508553111d4a2c06b59cc1ca48930ff0ddd1fd8a4110382e70ef4ecd2916bf72de1a9dd09334bc368446b0d8f545368a79e22d275a858acfd8ade6672c7e92dda550dfebb99abebc9ca045388278d1826e1a7b87b4bff55f3a273b83dceabc7997d51d9ebcd55c4ac94c91cd8f76716b2442f3f642d10fa60be05c2f902a8a52ea20778b810a8e180a0bb8ce6ca293278b073cd481ca87f211136471deb92104f62194c1e2bdc3f8e67c7309d861ddcbcd3033b8b636f18b3c193b5d8d83473bb21537b436d9311418f9d11ab4b2493bfc38c0ce66f155dc2ff95f2d4c9b0028c19932d5d19e0e2fcf7e80441f730fca2fa1f16f9726dc795a4afa177c47f92116c1c34d829a7d62af1b3eb713507162edde52d889c1fde6b12b771a40c2e59402ee81388b3672ade7d4d44207bf955400cf7c17dc75ebf9e5e742415a7d971f792dd47a6a6fdb80e12641727746db798ca94d988f532a9fdb5055657b6e66c93735d1c55ab4232e6d0195be58c58473d60128ea889932680afc1a00757cab4c07dd6aa5087d46971fe026e0c85357e820def6f9bb3042d3eb4b812418f5c53fca8094440bc4f9bbf630848f2bff08d97ed8045eba04c51e01a5f963f159f32b0f05b8549e10759058e905a12d9dc63d9465c1cb9a679f79ca7ef17618f01665eef9ec127337c2f00b8ca3735ddf37f345b647be4797c0b3d2977fac115d606ad0f435626a41314fdbdf13f541ddaf3b391ea585ffcc9d8ac95825d5372403889daafb1a8f582b4523b9f2483ae267274581794db9a032ec341606239d139511c0386008bea3223e173aa3d699bc6730d441a91a1f5a270cda7b279abfaf7a6526a17e11f42408aa291b9167dae8a8878fa532ccef155447e037768a6ea634efdf361566694223044d4661ecca8423b797af02584a3c4d2823a35de6eb955d85e80718269df777f0dea7d6982e3aecf2d582a974f5e4da94373712a465d803519cd5ba9048c9d1ef01ca1138ea1d08ec3c0b4e93e5b437d40744f024d623af30e48d4a107147e479ce24eda298aaa0da06b0cd3c7df78bf54aebbe03837b0f99955605d593c801b30f1ad178c698438db212d6a09c2c3d45b4be97ceab795151442850f8cb8e10027ec8e01f2e0b75121892757f7a71b9c183d246d3daef3109303867425410c50eace74b6a4525597467f3978c60410178fc08406b03e87ba03d883e4bd2bac131c4e3829e0ae36f15ec0776db1cb2ef4e41ec376a4280b6c74553690f4908a6f88b3b5fff58d8afe78a22b51bad169a9430ea31d4da775d7b806f5a5b15e53c0f26d9775c72319ee96058827cbb0a3163fa842c0f7a097b25c2a700fade2820b0c505874c9f1b286ad6cc22ce149f5579fdf8870ccf6472e4a36a8f73654927a7313178a7fdf67cfa3652c6aef80e5540a42c313fe90a9189759ab629ea0dab86e0fc4ab749b2fccf1ff015c652ab07f722d6f9161e1730b9ee9dee61af2ecda2ebe97dad6600ac5c1d6ef9f7b3673c5e5d59b25db0f55bab1e5fce379ed08e94a909b882501fb3b09382e97100e334524e34d56e441e9fa5f22888ec0b35deeb8f9acd5fed2b6d01f36850f3b9f42c3fc850ea0dcf7f5a2395b34e0e84367719f02fa4be9c6d307141dc40c2726f9e322a8d62e2f09a5d3a42e06876ea0a40b0e3e6d9dfc38999e95fe90d40982330b5135181156727d1123c8b71cdb6022e180fab12c7709e2c42767485d62d14e541e42bcfd28e6d6e7cd2d52c57e8c82a4b5a24a58785b0e4672341f7431cc257188860320196d6f3ca6bc00523920bd308a5da2ad36666475314f729fb79d60c7f9033ce3fff9ac0f396124058ea3c1dec79cc45620561febf5d85f6afe469ace9d3dfa8d46b8f6427f12b7c4d630d4af68d5b9b0d3d1d9f0fe610d87f9504d0a76f0a6282359bd5b56dd822b0349cf890f47843faf30fcb1299f57494d011404bee187463ccf714b487c86dc68321338bf7b5d68d71be03ec01f01231ce1ad578f0fc4b10d25a7c252c7a5876bb03da495fbeeb7259ba10031cff0fd95cc93c2a5e4bc2b27424cc36ffa31284d54c9a38280116027bbf63e519d1c2c576a81f0352f34866b5e84a3bb90426f38537845948ef3474166551829e368d406c2a80c52e33f534851982dcf70d1c944afaccb8073b4da9d17cb59ed50fc6dc47cda40f5884fd5eef687ccc074994675f30a96f92cebe82f1f313ae4a994154b6d69b1e39aa7df63f4a61ad1ddf2b8b191712d410d6bb2a8a8b1a86f6ec4962c7ebe297ef7e1fc20c608f3fe9a347e4f0bda1f749f06682fa62deb3bb4df4df625c05ee6a3fb059ede2826af76c736f2de4ff85069109c836d06b75163906c5e5b36b06c5f57b2e32b2c6a804a74031de853e7a78d90b5310f0e13fd16735e79578b853109f47598a22e204def575d35fd28cc1aa893951113bb2e60b9c86c7e0cb9aca21a75f648a3c3a2dcc70ba4856d3139d2c683af56fbae73c5f9a2de1fe3dbb3671f7c7a388f2a0a1a0c61100443e28172b374001a06ad7cde2a62c4af29fd7ca7f0ab8cc3db64bd89902039b7e7e5e89ff7f4e458a51a50db65128ee701a27e44b614dbd7a49b1373df49fd83fe4add69c7e8e954ac29933a696d6553b58d307a22d7c44afc9540b3054056baee56ade56316712faaf888d85e76271c68307bbc3013885f080b7db389d2331c67ae31e13de8c74eca1f428e07e4547fd4b8b9d6c3ac14e58f75e0d4ba738d685782ada67c1e2f7bb876b8b6511a7ef806eed15ce81f389cc4dfe3b45be7e353d35d42035a8321efafac4d6efed143feb4d4b46b79778d42f7820cc15010f71b69d9ece536ca7dc607e380b9b7401afa5e65a1f73aad3a079619478b49817b7d234930684e1b7c94faeab93313d9c5478aaaf497d6785cdbe8c61bc682911486de6d4b5c369ab71f2156f70be9be9e4e99cc1ba40f79d5a0872d9d21420cfb83455afe0d32e28115cb240319017ca96637d0963f83b8c7dc86a4c143f4ea80759d348cc6fe379c1ec5e57599c58426aaf3105aca673ffb67ad7bf706b8f3fa5154fb77eafcb33d08c7563124a4d435f3df19e6254aef3e5dcd36217f8d7a34cd788bac233b9941ce4ce2ba2d193d656525a54995444b7f0dfcc0b45eda0a9eb30ed46d5c4fdf9223d32468583a98481b3b526ad58fa6d751d99ef1dc3304d1f2b735005381e0cae6840e001f8bae92144e6b514b44109800ddf4b6c88c56f87c2f073be057b1ba4eb6aac1d77ba8651dbcc3261cd318929efa563003fc0a0397829fc9837e4b37daa2ab458fd66086d318ec8a424128171ea596d17767cab6f20be174beaa2f88cd83b08d799fdb5b70a9ffc71b9b9e6bb854ea964466366f4f54b84b1f98f93525279ba8e200c77be473f2b20247536144bbaed1cd491fb1c3b0b4232fd8646ff68eb8321679bb0a04616ba96794c0bb92b21d6bc59c57a93d39e4d690244dad8c0f5d3c1ea96c3210acd3c052ec6d0c442343c5a52e535cef9ee50b12d32bf68a3e1a68cfec13ee20f23c3848f4db299cab425acc8227c1187f55b779394897dfb29f26385bf242da057573efe49690ed8156e0a64d5cca83e8cce25c235338d514500a13122bb845172d6c2a7d10ec416fd61ed59bc2584b85f11d5408c92a1e5e32642d2081da76eca73385a2c61157fd3ea44651a2ae0289485e9121c7bac5d682c90ae3629d2fc7d8020f374f18ce78f01cca043f76602a5bff40a5d5050a929f4fbc6d545fea48dbe701d98863250ade515666d5208f27405305231cf15a892a3e90171af7c6377399cd805dec5549fe567a447d7691e7c0856994fc783b860ed21d6af925cee8ff725691968bb620bb9bb30df1263adf1670869d6cd2b1ca38eb62c5bb8cfe98c8502321c3c8997336067d92339a7c21691818e231ada1a242c3c397ba70c3770f3abb247e13fc5991355d2f1e0fbcee99137958d2910a03da27d352c63459ce1c74356505fea64f70ad6df8664a1305ab1ed5ccdc170acdca59f820b6db36c64f4cae9ceb1e5748cc9c7b734830febbd837a4d27c6a54e78221e108ef17faf58de41eac8dbc92f3a00b71a3a042590dd857aefc4cc978f5aad87090e9243031616dfe1011b2df627ac801472b3529518943030285c9a5f56e8d37789785bfc97bb579fb08ebdb0ca192418a99af0c5b702d2e19638614cdb38e947dc373587949938a49e109447f7ab4e839f2ef661209f641ab7b16d0c69c35d61ba6eb9eed5cba1c203e65f5022e5a4470d4415f578c74af2750468d7db001539ad9b89689b6b7c4ec6d4685185dc7ae930b8cd8c7c0b5bc0577d73dd2a60d1275b4de85af2c5b1890f4917b49aaa434229b591bbf9a24d5188ef3984487001684623ef0cd6dba3cba69e6a81aa0e561f0dc08995c4053cc0298a0b73392dab7e5d0831391bbbbe690fb45b7a2e9034309c2e01e283b17b4b090f16bfc861cea35e503e26c1d7aa22f6f6294d1918e4c4919208fa485fb02ac416c8ff7f4fca84dd7f207377c7bb92aa0d398109e73a01bcf94588df31105f97bc262086613c0ee0aac50863cd37d8b62a0167f105c0e796cb80b152becf8ef1d137422d01a8d84a1673ce6aacea5f32de67c456e74c86d9e65fd294573c6a8f44076c1609d07c8a148aaf894deca90acfb119d0fc3b5539ea1b00ac069776420306adcf41a060c18b296a086b85a16c7e3010f2ddf66f703f2f4f493d900a5c012cbcbbc0bb18981d0c7f012d87a49f249da816d6c5359199b7b39aac69484e083c4df68b977f18e9b5e76930fe87d7fe41579fe78e95a59b87d53341b159edb5213fee122b8ce45b63bd0fe87c0b91168247d42a032984644402f33925d818828ef9b561509386a3b79ee888c978d841555a0ac03378a6101ce71feb533b5ae57202211611392150c06c8f3df1259a8dc51b75ea73f111b4539e74d235a38b8e5f25608312092b8b843d0b09228d2738e5243d9e9341812c415d3603c2056ab33eeecfe90cd4a1a57fe1923f85d94fdd6b11f696cd883431ae75e69e170d0f46dec694930144482a2ef8e8d1b406bd238ef6b27efa581a0be2a6f5676a51e36ef1e6906d9c06e10a686f8e313c5a549a17110c8196ed6dd7b28dd108a02949713ac553438d9ba899583786287ce70c79a79eb32d81892e7d7cf6c240f75fd322cfc6522a28c3ffdfe42dc2a8857690212ce6ea43362aa65332e99988a45d6ea7fabed62aa56b681c201451d247d0423441a169ebdca5cf6d19c03d764335089edd0149eb496a908f2f563206506bea61cfaab477a08f439b7965aca5b663a0ac4712fc6c160360e87122a8a5b41bd27c249044d2fd227c1d99f464a5ccf735eeb3526ec875a6e07def8331a909f3ec9cd8c0141fee4e2c22717c45d220a6ff00a5ca40a7a1c737fe5026dbf202fe2de8e011d0022238eb59ea00daa142761560adcbfe6a8a68eb23217d4f4bb52081e12b66d989e56fc203ddecedf88bbe4b7373bbbc34a299d4d307ca6f5cf25a9576823aa13d7139d70ce0939cd20411cd81f78b695a64f4cbc8701f74d56ec8c652fb256bf55ee532b9e19b6820b0dd712bd6bb00c49cd891e01b23de534ffe6ec4a549c9864c131c3e7de0a571eb451cbc4ca725c4e56ad6819c15a4bc1630c9047a8a9c4506ec1425bcbbf3043d446e2f8d9a70eae416703f6991c3b190ddc360f487fca525d4387eab018ccd4b8e06c1d111d0c46a95a32147ef7d471db48b9e0730630ad0ab63edb9a65f8cdc962c05b25cf5e0044b8bafc6aa3c26ee339f8c0c032f459fe288757eca38b17becd8b5238fb3d8f1bc5546291897ece745bc855e641866131900ae67f4fd20d1eda0d4724334795f0a417f670bb75fc372a61b975b316af57a8b5786be6b99e19a426882c3f6db08b428717b2f4b839e3231eff6697f9b31af8b681f7cdb3b32fc24989a7492fd798b13c390efbee4cbe7e9a1539d20839ff21d9005e39ba5f54abd2c8cfb48afcb070bddbb17ba75e3f7e926597f1fe5633c5b10911875eff305e3dc353a2a03cb41f835b334572874cdbcfb01aca83450718e7c9f5c7a16bb08bbee70b91b8ffb221bc8b53b39fbc4778d248522646923e969e8fefdcc01ee0611dce1441d911a2ceeefd999cabe2510e829e17b6255c9d3aa8d1047e79a879fa0b779197db076d6a8be9c36cc2b34cfb7abfa6a9263057f3de394a0b66c062ee72d3a4218675b2e694541925950164718bc7698a32651e76bfc705b8497f194812c6a6d28ca7b6455c443d22daa4ce6ca6664dc7cff483e4174600ce1128ef6c8520ee053c11f7bba9f7ab0741edda1dd7eeb724803d10333f2dfb2bf39599b944f1ec87ae921c91dad54bbe9d3630d22d146a0a202f7c9e864c3fe611e0c3570e40b55197c1a51c097b1197265a25afc4883836f07d040437f7e9d615503a25d92f53d290c03f68f7223b5fe282f06cae178dcfbe092fd63aaeec5fd8e2818b9a44eb4831c014b83823cdfcd1a26bc70d1512e40209854b849d70f941b3e79c19376840d542200f930d06adf291f24368e1d41b4ac4bf302286173c697ffeb0a8aaefcdf565406e672480d0a93a18e05fc50d886bd461b5c382f3a380fde8d73c60148567c7999d56a6e59eb2f3bf73ea60caf9d901dfe8ecbc5f4760c0c784b63ed0acf9a5ef37cca3fecba835d91b7fe6485d4740ca2a7a1df155c966f83a92fba2985f1dc760097afbae2359c125658298ad79b43b4b67d3153b2b92fafb964a3d034bf833dbbbd7e3303ade3153d90530d9be4e19acbcac2259bc0679523516d9a166de11c7d9eba0dd0f4c281ea52e09554d3dc9af8ee35de5764727aacd31ca98a7679e5f8ad65ff53b238705c382103846df9199492924c1434a58127de23837cedfbabf78592f73984a8f8e0329561e043c28bd06fd5b23109f2559844f63a4862622968406a30236542995d94ae6b7bf6d2a0b97d4177f1a0f9fcac3070dab11fbfabfc09a7563dcce928ca254b5ee0e3264a8564964c61e1b14010fae40bf104bb0b26250070f0928b058b9bf79ef0a24e7bc02ce458a106c730a42ec227085d3a637138d3817386a9c0391ef01591860564053e543b7ea15a423819fa03279b1d9f6b3987a96b839d470411a12eeba6f6b527869d60a24817990b0bb2d671d86fdf5cf5c0bae4136e3986b553594e885be97757de0e2544c7eae451b53d32300599b594c4d6df312e56dbb9da9fb40b4671cd8713f404b92c85fb84a7c6e6948bd750f10596102ba5e04426833d85cb21fab0265071a2ff46ad09b51067d5e62343c108cf253e06580ef6d0e8ad3503d5a49f0b2a62000f73f97461c31e56c1892f82983bc33ab16ad405aed2f27a56404661a8ffe2d7da7178f41f7b7886eddc84db1edb04be9f7b8474214d4523cb4e9d7e50f4b23702eb14e90a2554d73018fa64c8dde8fdaeaac164d1d42852e442dfd44679ed6d61793c325eee1cf7ac1bde74a2565d9216bcee6505d17b04959e4cc1be932e738719835b6e99b0edbc3e186eb0e8e9148c95dccf5a99a89b377d5a1bdfcaf94815113a4e110bfaa0846d37042413c53fc21c42c867ff33cc99c44ae243f2a12d5c733604540d9263191065971b3aa53f40cf82c2fbe0dda9edc5842ecb776e2c9ce805c07f9e9834d800529e611b85e204377d6a186a582333c87ec25752a1a971a9b03c6e77a8c834643a35f4e73a16806394e50be86bc1760860bfeaa9acf931da002df90b187b7495d1f551d789153a010efaa9f9f73ad1e91f6d7b043479670f8802e308b31485276f47e9f15225a930eb22a5cb2aa6581711fc32e3f805d2ce63af765bd39b50bec9730833dba619da0b62a8f12e3de79cd9fdebcbcf3872e9d80ee1d9c55c7065e275254d6db3fb7ced1f49453c05d7eaad1bc1e8b3a526b373b6a5218fcc393dd20ef6f13506d22085a2a17c5adb1d200cec3af04020a0e5e3b1d61916d01161edf648ed0ea82535bc22ed496808770cfa0032d80a4e046af9de83e85a0ac515bd25de19c385cabefb9ecd201a6d0bd95b70452d2cac33908d18ae9c6f566a8988dbc0a47245c45eb51c5876d4ac8764a557563d80040a4b01e658992311a69740e3e74e14a1ea4577c438e8e22d658d675368cc3b5b7a343139445279fe13581dc3757af72db8457142bf89e07fd19df0e1580ef16b61260b1a10a7e436b743e0d02d3b241b4bf123708b31b014b1f42fd815fda028b6dce10dd75704005941dfc92872208b135f8d774fbf12a0389ae336f3096b10f01d3b85f65e26575c7ca526f20cec4c2b0b80c0b2893b57562efc8287f1f000098b00c62e0eb93db38b3db98faf8eb49cd3498ed362af0637d7e68c811f76e0188b6d7c3293816f6394671dfd13b5b2a15da33754dbef4fcf96d5581c11de0b3330afc40e0ffa5ddda2a32048db212c950e7f88621f8f2e12168acb54c4dde5d853265e9f3ac360afaf6f512b1c95398a2ffa7edc029fe2e5a74b0cf8fdfa51eea42a90d14da6d4ffab02371c0330383f705f86987045e4142022206cbe31c61f13007a80769ba5f87e3afdbd0b65ff15171437a6f6e03c45aefd2b3eff31fb50311a55aa918abf13e63dc50eb43039ef21584a33259b1cb0a52414e5251380a7dc14b14221d01722692cd5148d635030526287bbc0fea8e8adb743531fe425a5642771b883f919bf963356dcb48b4eefffa4e9cf245458004460437f0892a52fa24d055efcc3060fca5f760ef6590c75f09063490fbe8684d384251ee1d507f061091e77e2abad35400e9026402ca84d8066b20ee59c920c7e4eeead4cb24bc07e4cc8c40a41904695f82461b9d427a3cfe1bf127337a18909b884752cfb2a6ad080dc4077b515d93fe080cde9962f2c0fa4e3d04a08dba55d6b7139fcab2391067605b3471462c27e813b2abe9609b0e542ac483132f843f580be8eb652415478e05672a0b8939024dec69a78774feb9b2f9074b7fab0d4337ce785b1ca2e8c8a1866844dda8b395309d91a5daa1d79b9afc87e12b3588a8b6e127c3f9e7b8678c3f3b521f0c54a4b781f95aea6971d4069cd7f8cab15f4d9a9b2797256a8f5b008e7663a4b3eefaacaea6b511d679bd71c60a1d054636ae77e420e01348f004b5a49637c99621805f77b07b06cdc4d43ae8f583f990be0eb95e831b2a6c5fa10de42ee625f024f0342d6b802b163ebda10f492a5bf9dfd06f678963138870bf2e13f8d532eaa413f6af4100b1a3c3fb13b9eab0ded7b967904e02b782de4176dd16be548eb140249a7a8b653083812441e532a81ea25eff31152706110e287c979a87e908fc5f4a95de744fbaa7d2e67577454aaad6570d41e40ee200923ab50bdd0e87a5369eb4705d1da1765dc4e6242d2417a4709d671c63d391ee739870e2a16364bc1bf932c3613e45f8fa81fb23b48fda218adfc875ed251a2553d2865ed78d477f9db7fac51abc622fbc90dd7645983cf324eaa973896300866322c36511a480c8cc9aa3f6cd34354cee2fd3c7fe6af8eb80fc387838caec3c45f48d40ee6e1653e54f593c6cbb8ed8dc832851a8d639386a7b034e67526aea2ea7c3d1f26555cab0ab3b7d097d3d63e53477a61067fe92dd2b252c1153167db5007f57e4a87320a2d418a2916f9d63b5dc545a0a73a73808489cc4070ba0cb1037413a2b1897073810e6d12e2ebf3f2b0aca37727b93f4d0d5af56a14b47e87d956c5d424af43fec5eaa2e3c454d5ab57126f39cb2f2071951bdb821daf9c59b84af07cc62692c5226d5492c7934823ae39a8b0454e7e5a10edee3f7cac0e1f60c7aff6227cb72c92856ebcca938ff3f40b81f31674061fcdc47bbf53f364e496c8fca3a843f65a814a8eefe771f9c3edebd3a262c663b34b7c47d7d5631bccc9fa8cc7bb0fa218e58b82d36adc94afde920caa6aa20a74d1b203b68478f2284cacc46ee6ebdb0e3eb4dd469e076ea37372fa51fef950f1ee3687cc1b693e7e6b7bd8348d3fb287c0f36f0ce955e40c0e7810eb4b72e442ed05a4918dd935038f8b88c1875ff8270cea468cf4ecf48dd27e603c806fdd5c4280e7e1259540f921a7b5500109340ca65d3683c65de4063dc115764af9191945c1330f187229f32c05e499ebc16ec6239701c1abc4b30ad20222863320b65f6ff4566d4c044715f22dea840baf77becad6fd8c990707d9d198dc1dde1cdf0ee902ecf360c15952e1a45b59cde7baea4778d84de2114f8be2e1a91310b0af4f9bbf8198b051a66522137ed16d1ba5e169f4e55a97447270ff94c9386cba24531d8249479b5ad1b318bfec3aaca6b0c2f3a9081e24b3cade8491738ed65d483825633600098275f05d21f6cadaf7c060b6cefbca2a82946973f2a343d3efdfc99515c8ea4d709c027b1e80301dd2ce9ad0ef6c2cbdf9393f720e7e0e346be54f087be1afbad3434be4de3ffff64788da0f34969c30c39f089b7e5b4fd08806d679bd42592a23c724b6e2599b8168edbe5b86053418beab2a346a0ad65285563595f14f6cfac0345cf0235f1df89fdc882e61135e04bca3e521475c8d8324dec4d9ced26d9b9919e6b8d85acd5e2697d9d21b545007101132186510a48218c016f6a754c083f9ff54d005364bbe44846c3a035031eab9447bc41b8ef97a34464f517c2c801bc1657d96da77babb16b7af1678703dac33aa89b48ab2fccdebc14818652ab69041919c854a6415463b258c807e8cc93e06441ba3b6e8b83dca3cdebfbca32e14c545ea58525a948e4d8860ee0856bf203576d19712c609ee5f6334186898e2529eaa622dbe2353aca4a66ad6d2879496aaf304876d9ab88c3a51a4fb204e07314c48009838114020340fe92f8593c89a16211252a6edca8bb2492560b2015520b2272247fc247c29cab765dd7d70bcccdc121d84194533c6761fc0813e632684f688612053135895bc4f428266030e4058a65800aa753170fa0f25be26e0e5b26d86de3903907b531c11c402668a1a4b6b88f7e1afe7cf1a03af05780dee88ab9907702db9fa6f4ed3f67c0a9530966f33d524d2c043246f2e3402fdc6241d3c1e27b321f2f4a53faf3700ba4673560240bb88131d43b9d11e3031d0784ec281f02223708c6133a1919309e109a49df1c3c98f35880c1ed7302ce2eb6915fee1cf733c7eb581f6fdefe20e9af588a6ff57df3b051f78902d9be7d1ee3b9bf509426c03eb32dbd50b6bfc477227bdfaacf806e756bacc6dc4fc476c8b5b9582d04a99e47bedaa6381b960e127342864de2c01401a2ddbb6e8e08becfc10f32543f3a1b8c9b4fb4c31645c5fc9f765eb80d205ed7caba359ec7707fdec3d1b3bb6a3337eccadc110c8b821abaf36f07e577be3ea9851408c614ef909f448da7e1e309429581a2ddf6add03414a34dd6df961bd283aad3c4701e92d0508f5659b10c68271ea69fcc5e4c842b57675489b609be7434af4a4acc0e80f93cd98f898006244324d171b0606b65b38ac8d015a0b2ab6041c781e631e39406995a04c17c89e9f02465138ac482971b992dffd06e7f6c0bf8942feab5215967286cd926c3de1f9fbf0eb57f7789d6f541ca2a8dfbe9e1af9149d89a1568ee594da7f8ce0e06e3e6b9d92fb18ae476c75e1dd5c7d08a2f7b513746c2d4ca911a7931a118031b414c27217f9578b190ab949ee6ae5ad3c679cca8c5c3d501d878988fb4fd4d124e311a5cb4f7ec5698fcc65aa8ac8f3dc81447eef3bf8dc59c4c2d30956424d2684f63c174b3c7606dd5f2b79026413452de01e98d41874b1ee82d2493f7720fc79914864b9f63325ed6c2b4210dc1cea62ea566100b0ece3958cc0548725b0c8ff1f03f15f9c4514c5a0a4e93ad4c9fd59019caf15f05017b821d67595e184038d09ae8f2e93f3f482f65a5ecb4776f754b522e8dad99d39f5f38fcbabf33d802f4240340fa02e5ce030e621de14716a824a48b8810fab7fb59cd5cb3a3538a813a6170163e852fde9b7c2ebde017870a25d3708c8a9e4fcf660616496a4de885e59a0b4fdc37775e2ada991fc79dc904abc6d379104b25b52fabea113938644eaf155e36ff6ceae4505a8cf37e4132aa41b2de76352bbaf1bb9a0f1459b05bae2b8efcbd5043cfddd94b47139c141272e10ac436e4d61f95d0e18271a92ca99c698e09e39f9c1c0b1f3419c6b4583c6132caa7d622c918ba3d6aaece305743a5c1e19cff1ff78529a351003e10c16318d5f294028f141ccb3f4aae31274d0044df1560c134cc0d1782918dbe8ed5fe34b27a68753e047d7a7350febd1441f6b6209bb39e7298502bcd31ff515e1d107b1233b149959350a0159f6952d3f2105f19b69ed14019ab7473229ca9f28bb242acb9681c36a3d38fe71be01ff1034f824d51dc37087d7af43eebf905dbb9d3ebb6942c90e7d10862d2e428df7086bb2fe05605cb0a2a06c743212e5044a518215a606eec96cf2bd2a4d8a8106af27cf6848d0a8a7af6329facac280fae18a50b1137e92f20a998a3c28f9c3f6b8e4cf3f5a5d6021515ab1e74686c1343231b11b7b49f76464cbd24f8f2b14d6adee2530c208a7d6c123e01bedbf261748101a8240117d8ddffb19a130e1f109dd37646fab61e687283f0f81bcb8036ca1dde3704558068f3e84386a349b461ee7e5d2d3f657381a7d521adbf30d52fbf3e6cd21d5bf65d4e35bb489588843afedba59bdc8c9a4a32d814544c23b7275cd6dc800f702847e43d6359b43581e1089dc6f47574e18acd759c3dddb8416029dc6e926f6c92b3b19b0f15c084d6c3c71341b5a35b0f27cf51683439a5bbc7a6ad44c15ea3dd3e38cbed0833d7dd4193cacc8adedea4aa9db0c388210176e6513d373f31dfc9850807283dfd5bc64f8078b6127c4b130edb64e584f50392f6adafbae76b8d39a499981d42082b6d6eba1a71b604f29be14ac639cc116c75bc0a38a003c780d56a00298639646229b4402c83b689a8b2df0647a94c72563186b2e07524e6f883f9ccde9d975f8f98573970bab155c0715fcdb1c00c39383c399f16128ea981fe1a3f345b066c276f5550d3dd0db95b0bf46609089fd8b7af88696c89736e75db49f565651f2226384483cabce537081705d27b47b9fcfd85d7993402f33a9310d99b3f787dfc2b49c25401375e6ca1b34010da4b41b1160c472ce039e4f80849da12f7eba17487659db684c096b3325cf7a907b7f1236578ed4a8f040e3f520ecd94030b53789836789c8d50b4b6f48e9ee6b91bd58fd08ccd1aed2288baea8db8d33b0eb106fe0d4b8b276ba1b3f9dbee6171f7222d6f8ab0921b85442c559b39c1a69fb2601d115ad1e4d1a9332e13cf33ad0243a2ab21187de12409d58273206cc306b12df0637d625d2b6c81e285cf2459207060674f2757ed058ef75a4f5a42b5da7ab314b9c6240538235e8c6bb376c92995f29e4d00f97f0dc505892798f93adba5d676f42560214de1701429ad8d71f8551dc1de085fadcfca6ff1855da50ca2bcd6d4e322cd014c886a55e2cfc243c7bc04166da24d8fc25f1168b1225409e9348a27a1ec487ae789fd24a9b32aafa17312b75418e123da47650347f057aa1d488e8e1d539aa081d5bb5193a0ab95903dd55e1da976c8ff747908c843e7b6e19edf5b08acb48a8594cc3dd85369f0cb4e25173b33b66f8663f25e83bbe4deb37fce28f1e4be686f8cdd043494115e460a57513635df4caab4425fe0c4a7ef7c4d9db85a4dcc9759ea8b7d6a2338b1bebb3dcb3e8139b34951cc22f4a60b324be72638a80086c41e90ea2cb1898e65192831eabca280168f16551b94b4b1b724286cb0fb7b924c07e5fcaa12acff56fbb17cc671edfe3cdc911cbc02bed5a3accff9552841458eea0375d9816acfe25630166a40521b8dab4dcadbe4cda03c334dd04cef3cd8060aa50a316e566b563d13b720bb8434a7fe4bd5763d472bfe15578ad0522af257eb4fd5b9f40faeceb1981c1e7c3a46f4e0f73646d83ea831997b6cef77258fb0c665c36deaaea233378a5c5c0638d522bb5fa10d6555e5763fa45bde01791877a539f06986aff75e89a2f8f94ad855bde5b70c197d132862ec2c04b6f8f450294b5dbcfa69359947a40c7c4b591ea40e25a688151b79941a909eb2618a971f4be3fc722873148fc08147b850167328e1d3c0e1c64cd0893651253bd34625e7160693845573224e9d3c097ce51cf1a85f1c130430dac2fd832dc1a696d871bc506452a112b0c74a8c7395be712e60e2b9d1941d46fbb20a438063bd68de7fb80a622f7c02ba17eb1256bf8dc5a919a3cea392fd1d3f28520bb96e38004b1f3a296612bc2e48bb96138ce7913b6f0562eda741dddd97af52b6ab6df3f7f1b1011b082d7cdb2486538f4719784437090fe99d06365d4a5036e6e831ba8da1cabcf98bc2b01d714b9cc6a0f1ebc420af5f9a7d00d12dd3412a3e9ae70b3ffc4737332dd000bfce5570c6fcb0c2b762d346df3f010af7187badffd185fc6bce3fe76a26899da2d52277928d4e960d833e52cce9a2bd2e637e197d832822b46d7a1f558f13bf0091c0dc0e0d8467473370fad67afcf4201e3d3f66b3194166c0014e7d8b179220114e53db55bea2365c560edc2a0770e77be272c7a6572c9f6371808b0cde46a647d6f98be578e4d73bad89ab1c5bd36cbd1205034ec6c76f46afd7db260bde780ff06181e986ddc2c1cd9211b0fa5e5cda5ed9ef0d0bdc22d468032cf3d1b5c2e9fdc361a3c737a58e2229d5a81bf70b7be086cb8636fcdd1b9ac89af4d4539daa1c22b3ebe43fdf2090d557c6a4078234fee17132ca7478f2dbc6532886962fbb31fce9a5135f3e5ecbea8a22b6c63f2715873a6f8ffb4df8989fb3cb169e71681751c260156ba44ec3faa50ec4154d9b743a47021e36120dbc0270ed5711844847cdb4881bf9c3a935586e40532e4c0143c4d2aad6f6feb3467339d3067bfa06e2428980f308edd960987158f9ba2fd4262c8456ff244803e527d12c9358c8f3e611bba61e17c1d153103fc0eeeac983340690daccc42745383c827fcf50ff189d7cdf7718ff592d994cc851b183430501c5ab3be0cc9bc130a79a039f0df35fd684d18178ebe4c4735b99066e0f7027c5d1a367c19f5a55f370a470ee90a45f24d6aa3a01a1b91bfecf613d18c569c49d7647979f32c21e05b1ca0b4d752e74abcec0a99681b66fb0de10822f527e53e0e6c5962320570088525be098f9d3fd5f5b90949124b9d0d7089cd83e4813b72b65e26fc2614a23af91b068699d6aa012160c1c2f02593612f01fc46f3032084247ab182e7d17b7651a17ed108dd74990865e15e22d1f357e7274f3122dc90fb13a7730a7a9b67b03234abec0973d48503a8483c1207b336fd3fee32450f3978aed6e77eff1e5dbccb39bbef3fb6c75c819e3b95618953794240130a7b5bd6553de51d2ff9ae277f64186553c633edf9d2ea3d904d770cbf818b35873a2947fb90abf6065c33e320fc5b1f558082043032ab2948025da1f8e22feb5597f351d7fc19aaff003ed6cdfb1daf4e6c738eb45392a1aa315b98d14e85403b6c78f612267bfabe01505a1f068686a50005f833d16c2b8405b072098c64518a7881ae074f2a7a837b8f1681c5a68818da014d41858f81faf0c6cb7e393b9fe8219829a18a7e75674062aad91eb0e8ad1055f7e93d81c6f9b7ef0f2ed43a728d0aa15b52b56b02fa6983650f9f8c1f4f445f62b57e54d6b8871b6c13d94164703fa008a7208650b2cd21e94f0c5687b2a22e9e9b7a9a75f0a2c473b791c3697e25353afb53d1b430bf99030279ca8eccbded0577f9918e45e627fe169e224a712d7c25480bd151c6fd67bc507c38394e3eb7e9ab7ca877202fee8106aa174239165d4e5e2e9c6f1d8a84e14b322f45718f9dd91a00fcbf318403c72fd2febaebcb1ac7b188b33338593e4f6806cdb97ce96858d1ba2cc6c3b76bfea2172e656e61dcdfe8311d1d55ce4ee801e654b3bd65437ca92af859202440470aa447a78433cf28b2546d4bf4563cd5a0b20d377abd35ea1156d9c2102532e7d1d6ec692754184c7966c3c7e028eaee301bda4da7d407b3e754f02af2651033b74c92ea5dc3e6373f2dd6b8ad7554a4a04208e148c8257d0e7f2166aaec62508c35fa485e4b46cef7b10ad4aeade7b18cbebb44e4cd7e672d4b158f18940e9faf6d842979af33ad54476c072b8fa2cff07af0e4a9ace79b5945aefaf9a60313cd7cbe02ee845e640f8de43a8ce16411fe639e08c6a10f05b094a9e009c4a29923172f6ed439cff79ed76829beb78930271a5188881588278538749f754503726520f2ba9bd09b8e8a373bb2b20a6a4f72dbdc3b5d812d53c7db402ef2f4abca5155d2dec63db07e1060027a466a6966571b229a7fe6157208e46c8db5e8531ad1e9a742e7cb2d3f1ca85044f1dc9ad47a45c863e2190a369024872ab75ae44e4313810fb84cc6acb132747612e11aab820ab7c1302f717b0a188f7dfa1ae53e027a2ff772a05338516df43a1d8f575c23780c3b2d2cf3dd9b682dc017d842abe75184f6df6573324db0f07ec8c368e3f5ca13c7a1f29c3e63c6aa53bcf496bd53eb698eccce936ea361cde2902d290da827abe3f01feac08ac986276e6c17223d29ae6facbe795c84735915d7e44fbbbec2c2a6c12cd7f80cbfe94b9f2a13b7f31a0e8bd04a7909866078bd2bd84b4ae5715e7c3f938c175c4f1278c4abcfc02e0ae91e9ec2ce032a0cc6c58a2c31bb012578f3f23943385f87a79f03c78847126fbee82673191a23715a300d6e39a228f4dcccbb2935b2c7097d6eda6d410b7be829401ec6bce712fa081c8acc94f790f3611b82e93db14978bc0a3010e532f03482c3e4f94f66ee246c98ca12307cdc439814e858bff7c6e246afb487fe3a6b0adf7c31947d6db13e7a537a6b1cb8d59d0d89188a5223ecddba2e1fd723cbb12b24979bc600909c81ca9b351710e3889fecfc236f7fb1ebfeddaf6b287270d6a0a58a382c745c815162db1eb6aaac7364ddee48ab318f3c69a828d53f81b2bcb1a63bd25c14f439da8b67980b38d915baa73a2e396bc66065fd9bc459736931a2d5f3e95821578499c07be2754d32d5c1adc41a0c1c7f7ccd1fff1305a8727a968c9c758466657496b124628d229eb2667bf82c4dd8a792ea5ac46c739fcc09b5b26b04f038059e69fcd765219ce2031fc438100722f28a8af392b6a5e3ab8a9493aa9c1c32e24ff220c0e99bcd37c00bbe791491838008fffaf87e2df837f007e8143284fc61accd111b11b9a4bf2ba4d0f1f15eb6433da6e5387f4df2ea07ee8314e8459ca87e3f14a402b4889bafa3c49c3898210edfb23c1c75dfa7994291f75a0b9fcc143ec5563c24fa9aeeca028adc9f8037586b0e30d21164fd2ad47aa40b50a71bbc6578ebdb4dbfd59e2135b8b316ea07872033ce1db11f5b818847d7262af511c2e2b80a83ff7efc8366917e20c3cc26031e9ebbb685e0f0786577ff4cfdf0cba2b4a033c81fe1a63e4fd7fbd9387f91a8104f3b40455534fafd481018d38065e8b87c66f2ee561c948157998e3c0c6e66e23677deb3b5d690de58e341e398cbc48db3be7e27f6bcaa4a6ca438552e9a88448818294e60d263e0c958ca0e2e33ca80f2a1ee92e99fc1fccbfffa80e23aeae9ebcd748f654d4f5d943cbfaf460b339aff03b018c7382728b243d8accbf70e94970c8401f062f6dd4bc78dcf5142b94bff6fd092cfed6e50f424e443b19c1dac224be0b1eb779a3ab335bf6ed7d010f2563497901c9038f6a23bcb2e3406f62f75cdce38fae2201a3f543e07abee37913639d876741e06b52203a107c1dcd257c62bb07c8e5d9dd477e25f6044d42f3cb5461f8fd5937b3d55e83166e3b90066ea9ed8afa0ee654f0b5c1e18a662c517e7d8ef87172baf15aa6733cdc9809b034a339deff8817c7ed00a97b216145e760f8d250f8f7d11bf66f352a274484584915aa3931b054c1b9697cb7e167b5077bafae90d3f6206903a18b4191f3dc8bd2000196a7d787f015c25f786db787c080b9a75597333d791660d3a1e02aa0219229ec8c6f7ebe9ca67b9e28cb8fbfcb7449f2963294fecace3e6335efd0745806ed7853eae6dc6e6b76d33fbe33903ab4a5029b9433abf4c56fee3ffd2dc4cea72336f25bb5f1dec6f9a3ffe500f58f21f3be109c1214309471ce871a7a2d483e2434353538f5b0f1b63966b382b5e9c8b8ba5b321b9d24c5b6ff305c4f448ddbc1fc125487c89d7e4d8ce4d34292430f39bc793a9972a8b40070f82dfe93a049faf36e89a3c34af4078a99e2c8a17543c897e309a33bf0a9f14a1ae0dc852220b051cfe2bac275685e8db4eb7e18ea709356eeabb8161425410e3681cdc165a7187448604e3ce41f1baa11cef7b608c14d91fb335802472f193d26fd1d303cc0d71cf26b60e76fabd7a80fde0ba23fefd30650f660b4177dbc6aee61cca9970609c9664597eef51472c562121beb005ee0b6bd8c81f123a7e4321407e9a4146beb868af78114b295e9929a5d41783bdffca3cf24878dd803b20e5164f1722aed90f4d66a3403f668428f81ceca3c769ee13b9f9b76ea142fe6bf150045c58e597e94e473ffc5079b528f352114eb4a03534de1d04c16cc04ba8d0f03b58b3b8d77cd86b6b623f984c7551cbe1a979e62fb29c3b1cdac2a4ee6bc9903ae6112b0ae2e783ab169ac98a902a9c154d51f9cbda0995672eb014e40e125f0dfd46a8c46aa0224d5026feabf47b48b8b1fadff1f41f7483f60547896830576c01ba5d2ed3cc0e2b29cbb459434712081d1221f55dce184443dbc331ab670e2318b06e6903576efa1396bd809e06c0b5b8f6c3ad1d86cd381a7da6b9f6e25ea59b2cab1cb6acb13be91f580f358db8048122ba6a2591738d7af59c441fea6f63dff500e25b8bc759b227e149139fa05c2011d13f7e7c6524a04127efd53ed6c7ef6e8cc3811cb5d3e08dda86dcd1c7e73d3d24d652e8121d39aa48a45b0c47bebf12b3241a67bfe16f59baf2386556ffad8ee7a7dceb2b35bc8894730094cd910c7236a082a9cfccfa55cfdc6e63dd48e2a57c790906ed2e9dcb957974740f4127541d9d2f7c50b7a15c2d5dad3dd03158a278d374d44e98381cf7b20a1c7194475d92b115a4300462c97f313d511a0d29f9c1593b0d645236f93df1487c60f28a8299628d426a87420061808e5db26eccc91a414edc4b11ebb913824ae38cebf5d7e62c734cb0dd211c6164a840b46fad4aa0f413befb028d816ff52867480f41837bc5b3457abfb686999edd5aa5b8ee9c183babb729cdb8c0e7b58c67574964d02da58830e746494e8b67869060e81d490ab2e28029b6add4b629fffe959e3dd4c4dfa8b90b189d220fc504c3be7c275b1251b0be14203cc2d7e4ee47e2ee9348eb778adb08b3e373d94ed2a4954bbe7a1bc3b9c31c366b089400a699acc501b0929431dfe320082483c13a2fa8de9380f9828ecdaf48479c83ea03dbcc214f744cd238ea5d8d3c2f1ba6517dcb0362e3528043008c649c5fab2def104a0011b5c6403a239113be41c5641157c7d6bdf6370231d6d7b897f47017f8ffbe80995f307c2341c2ad49ef445c34f1810ad340bd63b23684a1c6837bb6a31cf798a68b47ed5d689fa84c039499350f025c19d5787d01f5b3a1efd133becd4e205846b30c4159c91e4a01987f061b12a828ec5360b929660d5690c174af519a7d374e380ee0c3791d4352ceb41d518354167ad04860064a510c0d901972df0895e5c28963557aff8fd1f31a272583b9569c5aab0a39b7c609a26b666dc3a6af30f208723480fd0e27c672c25c55a48c32fd69cae7b0543abb12f7614c9b949d80dc8a917346653f08972b4399ea72d02a9e860b20c4c47a3d84693c0b0d83ee00f3a2a969a152f309b417310115405b20eba5f3892e53a45bae62376db607c512425ba7082ba59b2e4d7fa1efaa464ca6fd915eebd11f79006ce1f49639111330ea19485d9174e63640fe52170d880234f3038add2ea40026112917a1bb6a327eb94da334d242bab79b34bdf8686cbf02d73667e3fe4f20cc6bb7ce507bbf73a4468f24bc64e030a6460c9c2aa9db3fcdff8c0513209f7eb9df65161c1cb14869b2f9937519ee06a9c95569946b2a9b3f1257079bf94ffc3c85d731f2c815d0225c69ac303f45230437886dfe180e01bee857dc4acf540f97bb3fc646845e5871436a33b8eae7533a77fc917f8ed154f212d8f260d83e8a5942a9eda5a8db3bda1a8f623f76ff3343b16362bf69b81350a1b50f74c74c524c704157f8f0beaa887b5d585d05f72d1fa6a799d6072f666e0d9671231e4e2083592fd0ff3585602a843a80a84f6ce283b2862ee93a6eb5561d426857c536c05438ad4c8e61de8202da208f986d07c1d8f634ad7b301b7ecae1b69b900722236fea35a5d8bf89a1277e808741a7c9ab24b3b488ddc535230d4e123d9fbe0636ec548c1a4f6954cd61672eeebb6cec6e8a720b23d85de6c3ada2b9e31b888717779357f5eb5676edcab6986464779b6d32b23788c346ace3f922c8ec28da726db1491479cc71178d55b751c1e5af7364e5a8c96bbba3f60a76bcdf49a62e1d3af23d048900dc96cd9b154eea5efddf0fec7729aaab1b6bfa3077dc4954e07ed1a5df5a628dce6b0b0058af7c7d0c435a41110abdae6818b1c92974814375378f9c43e726b1360176259c351914225b709c06085b32bc398892c375f0eff1fa94bce9bf7e943221edfe421103915f1dcd2d47f50d36a3b69af7b8d63e1531f3bc71843db9f73ac9d58e295dc2c5eac96cbcaeb1ebce81ec713824955044161cfd79e4b3d75800eff8368a79222f6f80c824da902e560d5aa057615e54b0768c8a3f6df3a3c0ea98e293061f6795d8e7c04ac46c95e22da304fee3e2d66a2318d38d26b6538963f51832ddc9ef79d434ae1d9af444b3c8343a2c48df29b7341d2bdc14896326d02c9bf2b9463f8333de5a4278b0b3d480afc54cb9b611f611ae00979c209ecc81360ac39818c62fabe9ba3b54295b1b4a9e1421c60e32faf56adba2ee20692004d5ea2299731f75dc3e180ea0de82b1819afa0c1eb74157db965730b3c2d2fddc0d285f3de8d28e23821840ada07928d51826926039a25cb0b7634f1e351b4effc25b59e6ceed321903b0b236cf80624796c32e50bb2d733a2bc66d5b1d7f2a445496d668779ead303f9e025a926034c467e6b06765c2037521ed8a83cdce041b38965aafeae3663b264835bbd3109ad149d699272c890ca6f02bd781a4331333b9b0b11229c44bcbd199eed1b0a582d11d76ea03d2c3d8d05120062015a909274d357b67f5a961b2b4c528ce1495e0d7c60abd49e25a5016db7cd8cd033183ac34ad433c8e184584bd3aa156050a1a7570a0b5d1697311f928e3542923036acb2ef2f91e40dc31838dbc5cd620df6326ef2b83767a274bdde95d37656cf2757c13a43c643a1d50e7f5b408291c00a7d28c98cae665832ac3926627de82de216f7941b01652a71e7542234da2948598cad1b325c0f51f818ad33a814ab86c6babce93aeb82c62c588db800d61ec3900cd23fef1d8888579d7ed0f217c1c7436317fbdaff3c1626f8dadd11a14b17d71cac99b6fe691571192b1ff8cc2a4516889cc1908abc420c559079a63806e3ab531e2ae017c6cbd2fac269ef210e767f551cc50e5e616161c9c341408b46a0cefe02658b533a6f4c9cba94faaedee00330ff691a58e73f51abdbe008b4dc8e2b897214262c315fa91d7aafd92c1fae70ae206614f76e4e03b33c0b6144d050b7e9860be3516a021d3def63d8689ad5442fc15e7a7e2361857f373905d1b006473cb3319d22491b6486b1afc1a37dd084ebe78f04f7a07d036f14d6835fbdca95d88f7a4d82e32ae3d0030b59a2bc4c0010831cd6e25bfaeec66932c975b14e0d031be0e54ae9b2f8f512f9383ee10e11aa008bd3e47ae3aff92a1f8cee2dd531a8094066f120b0ebefa797ceeb920dc04be260b665bcd4880e7169f8373d15cf963e0f5089a94b7c6acd89ae044613853bb0b1226b70e8326a0a3f665bf2986793ea079046ca5604f239137e4a5b9a2fd9a365f9eabf2ce48ca31b4d13a9c31c6041b67b8682259cf8e950f7aff6859d272246f38396712c6cf88eeab662d396b2468db0afb1e305fa92f67da5ea887075aa56467ddf97639356e8076c62aa80314e570801245da39c28c2e7c732f1ec08a425b92be6e2af18cd86f117f0948e0850e382098f4f7a4b94317c759640dabb481eb622825a20cba18fe1aa010cfc0fa2eeef6ee6cbbdfad03dd11bb871c3447ce5e0c9426329ca1828be901014271631f05c593729e13357c43ac8c0153844333842552a783cebc6ce30b97d380204993e7cf830359bd9a22f2f886d58e3fde31e9147fde62c2e332c59de9f600e922fb6dc99d4c4b555e9ffd9de3095adecbad40c0214ac40c4989bee3ca04e4110152ba5ca4aa35c3d0033705bd59d520f9e66f6ceb1eecf113ddd1bce55ecd0d10913455beee3c6710a8dbcf77338625cbff96ee70c5ba5f0dd7f96ed9fcbb75da3bd2a0fbd142bf85de44e56c1cba65779f09c9564b61fbe438dd7d2dd7999cc77de8010134ff1a8ca16f8d700869bc78401af28316c674cef8fcd9fd2f7e3d3d5227e0b06d10f274ab53c6b5283b85486fa78ab4ec4b3a15bbeba0b4828a22efb89d4cf72386a1a17bfa49706b515d994c00cd86cd52fd8be7bd24aadc399196094225913c5b2fe14f887ca6428892900184eb8952b97538f8b52d364d9665c55c7c9b498de1e1e2a6d2b1603e5d79b2a83115fc3153876a0a11896cc8aa4db7cf6f66784c9f739810aab6228c7218f6f34412e3cac73826f22e5f83c3de728784f15d6a0475a3858e30403353ebfdefa47d52ebf311a428a5db2daf5721a772b396d9881b4782c6adb73d92e73ece0af297fe2fe7a7b1bfada9021aa231a6aef2f46e4aeaa25e89b38e7ee87126873206ae87fe11b2f0ffd20f6723841d32d98df87fdedc4a0d7a4619b5fe6ed8e8b7cc80fbb83fd322c641fa78691da0c6a241cd65dd88947d7c7c8b2712173901eb88ba7480be8bcdc6e900a34cc448fcfcc11a7c5ddaaa06f7a537036974433794da7fea5b6a5c1c0e661db5edea0503fb76187feddb56ea6c587e0f400ffdbc59e96b77b7b06519399cf07a85d4c608d380377b7598ba77c7651565685f50c9f3e323a7471cb72030461898bb0824b067357b4c9cf7d58553e82c174601f94b8275d27bcaea9a137747581297c5c23c74cec1c75f63134e69155d33630c6c5bb33a960ff5b4835cc44ea40d7f9766f143e02438a7c87bf467f54bd7253664ef5c41e02bd90b20e550ae7ea47a182bdc5111da48b6b841236f0c5006400c92b54573ed659e347d38df03eb01c4b23d9a1206a12a30ab848eda67821b8267034824bb97e378236ffa365d73ea78f061ac05576821e525e106ec7e8fc6c6450811194caddcfb2a908b275845a2b09b7d380e45ef908f23995049ff45d1068aba1aab6d357a2a4dc73eecb7122fbd660301d2a77f83f3b498c2bcaf5cae565b622134883d5ba95eee960b7a58557ba6b8635e5010139ed5243b291e34a823ede9b448e1568298307cb75ba3860c2a72461c2563a45d4ac2d76047ff7b9691aa484f2038a54d60f23af3a65e371197cd7e4d01f97f9504f4d80dcc074a19e991616aab340d4160c6001280770d7ad0078beb7aa9bd82f502c4ed5f613ec575dc3f388a22631771fb203a65c68645900109f689fd57220a174d9f781e4be70363e50bd68ad3a60b4e856cf809860f506e926a5b152f1e75aa8cc1a1db18befcd64894650f560e0490b6639cf31507a52146c86621083cf8c95c56dfb510d033580cca2b20f1b32e3d7e9e79621fa0967bd3a30d94ba6c9f4070caae8fd6c7e0af744d14460b59e594b128e06afefd317411a158737d076487720c82fd89c92d334e29bfe58e141b2518184c78394bd5e7d04d17390dd36662361154f6a98a1bed4938b5ce15b0f0ac9acf6801a448fe86aa65ad21a5372c746ad50be4119eb20e2c51d6ab83d3ee2a637413ad73dc8670dbc1f4e56ed3b288e3bf4eb51a4345392a12ccb8ab190ba43b3a94c40ce3a630fc50883f287458e96381890a7beba7686c21995f9a07f69b1d40f102ec8d14c7fed3df5015f47a4d377852ec8d080a815dd15bdf2f2662d84fad51cbd922bb3156631138de82034ff3757aea70eb766e7e18e22eaadf26553647967da783c60679374dd6def1dbf5ddba35944c20ee92bdec03258f8d908c66101b9f5ae8a86459d01ea9860c07f6fb58fc040c0e4ac3c0207ff28d916c7eec4d27d07801a2c6ca92450306e1516f6a7c282e0db407ae96fde06d85d23c005a31e208ebd1654ad724f212340be5daffbc930763478e560f3add748971c41c66f46677a0696123a80549915a73582242f511ec07475577ef06c8e60e51858b7a7a952185080a62cb7c8396da74cbcad2a62472fa822e92a101335a8126fee5153c6b78671d3d3dd658771de75b531531779793062dd14e7d764b0da3b4174212ebb29229e3c1dce42c051f76d052bd8b915b07d0c5a57f142e5b3f00b301105600b34ab8c8cba5675e10863f7d893f21b5dbc4317b135845805e06bdab2db78cb7d535c1282d47f216f49705e10f507ecdfd0c455bc2986a9e5c39029415ece22de7ffb4f2e82bd3de255db184a28a0db9d982c088b28d6a10cceae855bf8f630c5863918f344e45a06b29d41730c438401c47920bb4934f8ac701ed812558de9ddd300404bc7c7b82207d0755dfd31c2b3cf1a3dc76b48fa11cfa828db6cae694d9780b609544c094397400b276fa850aa4656d2ff195736db582039abde6ae239d170b6eb2437a3fa3c3a26959d7ccbf83cb6282b9f61dfb1b2e0bae5b25f40abccf0d85a8a2eff6cadb4d281720310e22330c86a28c41820b0e858f3405245f207749294089019b00517fe6041c000519f8f34a3bccdaa5808365334b0d8abcf2419db4ae46f8f612b892c4c02b6b268c1f733ea5eb265c09c054e21bc9b641717f31d1250a848f43e805d503be85d73fefae05f0fff638c37a32a54c53e20c569bc178109e5d2e193202d077ded1242141dbc3950ba91b9988a4156e94af036493ad63e47fa681fbcb9e4541c94821255257a25dbbeaa5b967cbadd5ae88eed02947fd8f8e28f2b1ed976fbda5f2abfc56824a1f88f4d3dcafa590e8343e39b7b8a8b3500c8d96228bc488f66f5038748afc6e9c1b0fa7bef6f17c1032501f6b4e599d6a36114f5c541d61719ec4218d38646259b992de1ad780060a18bd8105528b1f16e254abea42c75b373c870aae609c1886d0be9963e34b0190ec0c3be81a50a982c84cae15e55de807ad3248cecdf8ad797ce0e27dfa7c48b14f23547d3f051ccb15e89e5a1a01b7b3833be2e937391eaf3f6098f34a3fec5c79d934d548faf95bb5dece4d2becd25cf90ed12fb88f8eef01be97430b9b9b01a5d5ae8c8969ba6b016e25b4ca36d29a209b9eb2ff37a0f7824aa3efbc6495f3b2fdd8f700849c2fcb908cf4b2b3c8076381226837bf2dc54d1b25ac203264dd093655e1e9021b9d7f9206d1378c4b188d02cd4733c985e1e7a56c7273298a936b0ec35d2a2162c36247189d1bd40901d591673c2136773546110e054088d8bdf03d65383366cfe9021b33fb59aae3f598401c81fadd0acf2fc9e613ac056a868c72b232e0bf7fccc1afe2df07a1b826c337f42791f4bbc1b802157c832bbeb74763ee747528c2edec17696b0ce6089dec0dd6ed3879b8769fe4a97f2048cb883fff8468f6dcbf3f958bd7039eee246daf257237dd1e1b365856b60288109a310e465b95eae670a116001ad83bad32f0a98d19b3632f0f3c00845eb370aaedaa95677d9494759cb08aac77b10f561ed89a3d1b1cf71d3ba9af78994556a3b83f4ac3f4cb1c27a3145d08b0f660bbcfbb685e7c3e8d164c50890823869a090cbac5d5c214ac3aba38e076132e693a93141502818ca4ce48d7e6e1fde02b53f35c4d06ca3fc605e73c2b7760553ec12cc71580caeadfe14dfe867ab0c1798177db864faf7bcf7ca489f416f26adb79a5e5b5c686252629e2f4933699adc026965ba322580af74d06d1dd2f9b4bd0a1c963ef1eb24287d341259436d19fae9baefada3f6c4563edeefb81ffb567f9f25a75b91192542feef730e4f04653d40038ac984e137ad47004452b55a29e59a8e2b580447a670fff43b3409ff24fbc39a8156a005e587e34006aa8c270db1e48cbdc233548efb126334faf350caa0a4efe120c2459d1002394937da4e195c08b9e0b24609dfcff0d15cf9d2e2c5088b2968218e50d41b9581ca6b3c0ebd0f044c254060a92cf0834abde478bf371896804e6dcb247e97a3704a0159751a35faea03b483c00bb62bc564c2c0c31d4c95d68f4dc3abdaddd8fd80b555e995a525e345bb6693118a070bc71da31499e0770a2ad67582015af6f7e3b3a7882f707b31aa37b673c51c3247d3738c58040bc8245a5ca60d958666968f34fea3aa88b24c2032cffd34afab5295271bf2c6d8223c628f5371787c6418936580760d2c889a2ca334d4ad8fa8064c5a586fb068d0d45a8ec5d116b57106b0d4328ca7fdeae2b26412dbda29c4c044d12e20e25c2e360c01622f85098745c1cb26dbbdda56ec981884006ce0ec4e59b4a6d6870712fde14166f3356a10bf33101b27600f79a70153dd2033a2e2d73c7711380e4e93311d161b123d236ed4e77f00a47d7a0a23fd8b1c0b4d74062c5014f5e51610313e60875657c4330a2ea16b8249477e4ae656d8d1067430ed023b5ebfae5f84022c2c66024dd3b9ba9f9747451c432dc5072436788191ed008793dcf02452b73f50b0119b76db859d5c58c71d8a8c1eeb813b911a3eb2b3ae71491c061b68f81915f0bc0ac6a631199575120818e776b7fc40cea37dd5f80b23486662b0273451e6eb72d18d9d6aab0982e1da4f36ae02cc818dd9078d8abf3e4606cddab8aa86b6f196f293b43e8d5f5b582e5e3f601219170f79fd1cb4479274127de7d96717555369da24d90cfb772bd5a3fb81efbaf3857504d145f217ee781b03b138e70a6aba06b6ade8040b8ed9c8b0c7a5975f62d04a72be5f2a8fdda239a210ece897e7d1f9a00971472de8a94bb12bdfaf3121498767da76b99758ae49848a9f0795f493c5c1e874fa32959f50f61ee00d1b858defb128ff33b281f70439b52b5b276745ca4cc6e0730e04c1113050be5de4fca1f23361a4e663be328c3256f8483c0e24861ac4802bbe330b7acafd17ac2e0e03391f1a95fb4b2d5fe017f987cffac19ee24969e96299bb9272e49943cc2cab6b8c4e9b551f1f0997f059e4d4d3b72211ca5c407c8664d37bf0a2e2d6802aff6325978312c911eb7ec082dad69e09ec59dccd1b1bd76a3fa21b7144cb9d4940ff844617707264904e3824da4324e2b54484137d5c52251b9e51b2dc02b09b56a5e16c8f71522fddae9769c4fd3330687736467674d4f292b96de97a476e1cf003cca19b66b822476414d3847f0fd42c9f54265e50e53210a3a333532613b96df1b8dcf0b6ee42df4e8cb071a28d2a23e434acc7c59ebccd71f308ca4013f89340628ef9a753c9f65940bba9eefb77e2758d750b08470153ae2fa244cf0cd31047a1df96920600f362128a7899725c80f9a6fa301408f557499a85ef27baba3e700da5bd08ba1398c1ec51b46c962baf3887dccab3a4b0ae68087f0a7b1c414b0770f222f4f0d567b6c11df0ab611287fe0a0b338e1eec4233e6c1ddfffa1f7413582c7623108441c4e6245b1b6348252f1179ca0a34c6b67e013c6536227d0e4eaa4204e019718927e1abf4dafb5d7662e094d2290c161c12c1f17530910b3a632231183bfa226a626c10359714c8f5623fc93bf89a0b3e02b423bea44b9c61641d021ccfbd9e447d6af7a4e9252b28464e8ef3cca9c21333a0a045e3d987319f04a1e58646aae82c7c5373210d8aef9dcf5574e52ff6806e6a659802ffff082aaa5abe047a0db961c37f1b1f519857cce6f20b38dc406cef58327867d97d5e695a11b2a7730ae594a0fe64e95eb697fa222c264280ddf78b5b8c48e6f89e288c11991d08e8e038c2d66ba92a793f7f3e61f4578726ba3950e037f5f38c32e38b525d7942b487f591350d28097c8a8a44400d3acfccfc6464c8da32324c843fa6b4b4f0823d5c681677efb69602c1c8b6da655165192cce9fb958b817dc7183c72639383c5be2029b1960ffc6934035796981ed96fdf14c696af198ce12ede5899a826bc1977cd09df21ca2091b1d34c0946332aabd797ab590c14e9c146d0e78eadd4c9a29b5c76da042df7ab06110d682b5dd2cadfbd9cd594a2d7e3da15a8cb45d476e1a0865b9c9e8c7ea8087fa94076120e258a02f4187673266c5bd280f675762743058d9b2904d48191ee5cde0c9496837d423077c53cc3f818003414b16bd89f52c4f6e814b9673929099b2b546ef8f7c04dc0184b7ec4deb329fe396ac60dce9779170b295d14e8ef51ac99f711f5bb1cdb7e5d2daa1a850c41521b6b82fce5c5fe165800ffbf5ee0253faa961bc4e058e99fcf025f99096d2ea736265014e2ea0d2d62994e1b21f97dd64db2bd4e29726324e97d2cb582a865f9f5ec5595586f066bc6d27ccf15d72d3044a88a84f152871c8b94c4cbdb87ca9e6c8ccf62df74abc8a95480a491602827641a151e042f9a4c796012a40bf9a63de1116d8d6517b1f3f6d59e928d464e393ef4f64c868ed024a996cd11258f33a1aaae1bda2d8082252e573dd5b60db498f312c2c07aa1762cfd79f6be1a94cbe27360f4c78ff1731f5a95dcfed2bf9b7ae15528bca2bdd55723688b94fe777431763d6d972bec072bb91609a9a902f5ad753c92bfe617522ec5e0c1a8220045e33607c4c1df43aae15130cf6b92f298fee5292394712f7746a4edb56469a66e664d93405132af888839361ee44138413ad2338651d0c5e4c0a61df6d066562070fc73025dddb797fb9fa2ea5563ffce3f32633365e62fa96d22a5742d91031648b5a79535542f2fd0f221d78033659646fd9f4f9a2d77b2e1cb8cab4e6e5e55dbdc9ede97c61532812449d5d0b096a3c2a59b2f26dc0da418aecb9208487d2c9a8fbd80f154ae402be717d66cd81ee9d9b717f13c7e79c248f805905b0d5c137d66c482d0bef60ec10177ca430f78e4220f62e7dcaa8297bf775be876da2a1ca7f3521b4dbe86f8b0c886dc81d227719a9356ce3f12d23c09295bb1c119e20a93e01dac8aaff7e5b65047ea644d4559960f213f41cda74b949d6d4dc6817cfe6f926bb4ef5699b8cc084e58a130b8f43eaaffd081924693c722a1543c2d144d47e01228cd0fd19e68160a45e1833babd243fd1c43c32319aa19f6dd13e06c5e0ab21a8921715c03c8b10fc2c9023ef9067872d2fa47e8d8f327289c8ec183a54e843644375fc79afdef7b4727ba125c784c0bb34a5e3bd32227778a39545e0fa07150488642019eead56bb580f6029960060ee7420ebb93e2bbf43f8ba33999a41fb7256bccb626c1480242bdd9d410d1555f3addfc19be9bd0cc83e614d1ec2d04f6caa8fa0ac68a07d00adb60aa7d86875e38e208d5bf895e6a7de46269d1b9aff2b3bb49dbe139d14322dfe1031ffb8c24142e5fe693cec8fb5d0121f04149c666090561d21a4d03bf729ec451f0ea6b969e40733d8dd51817295cd26d3485d6f543270789aec8b5593890518214c554c5eb0ccab4b440837da6fbc3e245594bb950263a6649266815a7de0f1dacdcbd39c312d2526b0871b488458308d9ffdcc6c77872a5029124a84d9dfbd9d3b57d9394a877e41233aa4d2248f46159be62a67413ef681151afa0abccb5fc0c78b8703fed1584bea0779a4ea6b722c86568289b38be9728ee1f23d764af65477acec2e65f3fb4c62e161fefc9ddd0594b7a130a3db039a5b35fcafa2c9596e7ed907668b0767847a5baee016a097bb5e8769cf6770f69e3970b4811842ccfd1dd68905ab1219eec12df3af578d07b69ff0d298662823ee522629ab155b8cad1742d5c3465ce9e24426878c6e9066ba7117276fe84c98c6cf3a2f6cdf72f5be18607282001b4d58c672900e3f18d29780bbede0fb0f1155036f2235cd35096f20cb9794d58bb762296aba43442cc4ee5de06a15c4535a7d63924de01227e2eaa6a14944017cbb904b640adf110c0f22c6262bf1118139dde61a47b7382b1e33435384caf9379a5c49e73b4c3a1b90c51521e201c44731f5df29e70024c65296062e32251fede6407c0764273e4ae514406c055d6a7e9eb5049a961ba3f3d84f4e748aadeffc541cc91c145acbfc6d663d89971eb79bda4a387d13110f6e7c5beaeb60f0137db37a1e7681f17c38b6497f63f1ca94f80091888c2e3c54dba257dda7fbe8da3888164bc92004cb0aa0a0c3fc39a793c35f26866299139d64412fd15602466d218ad3581ea47f4b6e64e1d01fe67406d9c096afd54bd0d927bc2f71668bc941d4293945bada3f830182667ef31c26fe3d17cbb66ae1a4867fc9ecd9005968ea467eed5c4b06a63abda94154b4c444f0af24788713e5a0ac9b68adbed3745c224eae1eb4f62f3e4484814235e1d79b7703b9122d36b5cb0ba93b3cc4bbc0a1dbf604782de997e9663ef90e1fe9da5981e9022993196fb211225ef424c25f15a0016a3757b80fb21e259bdfdc8c923adbcfe97e8470046f5c35648247113f60f3d18a7fcc00c04f32c39bcbe63f8a01846c3ff156a3bb607a5f65d289e052f8f0004e982cb380e7b467397d3406892979646f43ae19be2e2bedeee31cac3091b7405c2e6c4aa54f4650a2d5cfcc027d1b923b56020715a2589b2b0d8217a1d4942a3a942e531fd2c550968fb062d50712a962c7de963d9d980e3d3853d41c6b3f3ed5f6394ab295a65506dcc39906e7a8794a0ed4015f942829567c1d54500adbdde4448bf7477292a843ccde98fb328142124640a57dc1bffffb6c8dc164506f4ab12fa2398b88d227fdeb3387fe8c08f1bebded3397d22a147771ffb3f87806715c42bdceb963130641e5d80b13d01d5d8a3f0f31d028abe6631ed86f36738bbeb19a42c8cb360f8a813e6862d62ca80b75a42e404e2ac6778b0d0ddd39c4e37a90d04545381678e9f05306ec97620f0f519072052722a3fa742ea8ede148d30c76373b1f2fb227b8d11bba364c56ef614a58c329f9cd02abea8bb8817c4f7d49bb1836ca7583188ee1f733114f4432f4281f1fceccbdccf233524bc1c76c3ebc89102463524d70b878491877910ffced0e476b7d2d6a55d25d366a5e79c6731ec678831a37e4250700484791d473e2b5a444c867061cec6eb8c79f43db94395d1a6d2e7a9553c0a1d30221f0a464a5b5211750e36cc51616f84bb23ce7a145df81a989eb887afd053f27873ee680792c58fd0be5af80af0414d57d271c6c51e0502ec968ac722354ad62651fda026a68838b9053830b88da1f7bf93991d50f43d52516c66fa192f6e5e916033576cbe3f1d5b2e1b548a18db885ff4529b3cd5bbdbaedcee4b9674c5aed26d3350b6006b2cd7c5bced110a5c040ad295ee9127e4cf10b0b9a545e7556beca09bb467acf828d01611d0e2f09a8eea985b159d560571761050a04c3e00b8ad67cc86e71e14d2e924f5bd9326b09d13735914d88e6f832aace8ff3f91c860e958c6e9147de36436b96670e975b0dd1a038f8da29172a2f3b625413cef88040c0fe111c6e9b2c4bbd6fc26085f44948143caf06038f16084a26712e70ae7cf537082cd989f0bad4fbe31161afa84121eaf47d529c09126551a1bfa562f9676f2bc3411699b70bda2deca589a8719bbe81cfe0477793cd64a591065dc06fcfefd4bf4e3a36a514309d72b79885862ffa471c5a2597d199fd577cf3d7b4f65aec909105662542300c13852d9a6365fec447b4b69733df89433af43fdcad5f9ce7879a1b0f87eb0488141e6b112c2ede7b22a8b613017fdecd979cea2ecc931899ecd4a0d0381406ca4ec8b2f25bcc79d950987e9c114b7ad2caa9eb123ae50eeb3ea56bd833f0502e61eda6c2583f2e431e9f20fc1a972c62644b6f8e107e9d87f38e588ea3c3c2ce03e40dfba85bf5936df380b1935502732dbb47f84e663aa15c64669584cfe0b6383bdb07069ff8218d3e18a1168d5d0bfa6c68396f1dccf8449fbd77bd2193b69f15e46cc783fc36732fc3f2da9ae2e3d576c109bb0c8697fd34a30abcf711c41f035ed285830f3010c8940c07ffffffffffff0f395023043642fa39894d494ab22e86bf15f8a5b0d2934c49a694e431f01d64b5967c42026311150fd00e4b8df1673dcd1864ca89c43cff10a245a870a529e13b711fccedb8f46d221db61e1b52ecbed7d36d10d1444a5555bf5017a2ed3d16cbdd412413a929f6de1cb1b22e477d8789e4be269beab51251a95b2ce812c9156b1a57ec51396bcb12e9e439bb53ab117daa4a24b40c6bae8fd07165d094f0d9c12472b441c206891c6f90a8d4808f12e97043568a54b5a1836712c997e266949b475ecc68095fa3ac9cb861b1a0ac9c98ac4122c70f94143698039981c59275109144d23cfb0b778fdb31832291dc15c3d5c336cd8aa51c8791200289d4f4d9bda962ed34d6ce6249692a8af972294d45a913441e91fe6863b887d7bafd3f77ce0e228e4887fba83efaeb478aeaae11c9ac3ec4658b112fa66eee727210614442b850ab360d4f6b745a456411a94fadf77746eeccdd160bda61b1582ce62e8776606f1e4414918e23f64a1d6e794ca305024a1cd7049144a4f76307b157c465846d4197cb134144528859bd42d7f86c3553c2b7be075d8f392e2a103944d243cbaec71a31e34d0d91d8712e7645aa170fb1840fe54f9a448e365698b2582e178ba5557c00f961722ea60b228548875136b59ebf2167c7089196ad3acfcc628314bec281c820d29b534c1fa1c747784710e96836649029f3eeca9c4820bafb0e59d71c348a061197fd185773f250aaf502114024f75dce8e3a0d21b44a4bf87ee097157648e46883e40749592c168bc5827acc710922f287e346a989dc87979959cf61ba184286b1e53baa842f05c50ee5e32f7498f8f0e18b4110f14352bf6db155a6a59eca85f40d913e24fc5e46bc8859a1f566e258a30f6565c55356544c525a0e113e24a36cd838a3afb547d9879bf4703b5052e0b0584ec58737941f17bc6288ec21ddb16d6b3d1bf27dcd12bed6546b699c98a0c0912c96e66e10d143ba66830cd5ad3c24d6b41957bc44876e56099f8f203fd2471018582c066942040f49a9b34c1f7616f66ef312be3a10082840ce1d529f6654ff719b1976a784cfe492f20315b458d80a227648e61837ab732fd5b72e94157427351f6ec286e640a40e898d62df392b6b5ded4bf8cce141ba4172f9062274488a943a42834c433fe894f0d5c114103d168bc5a21bc462b158da89d7c1d4b258944592203287b45273bba18396319fad84cf7706bb75b80fd5dc8e94206cafc71c971488c821b5d3adfa1aa959ba8ee290fcfb4e6fbd97cd7e834362b5ce1e346bd1363b9eb2a2a2db638ecb0e44de90be19cb7e3f67ed235d226e408cd59ff386d861a66ac35afb478df2e564bfca0684b83673d57053b64e640d09a5e36288cf9575a7115143d23cbe6da3285d97afae481ad2f177ded14f739afbb9a344d0708b8e1575aad3887d099f2e03f9619267488d2ecd2a6ae8b07915046f418a0301e50de4818819925146cb1c2afa35ca0899a8215286b4f0d011a11fda35b934b0582c961f414eb6c71c972542869427d1fc294a76d69c3e2a3286a4cc527de547b1a731d7226248072963ab0cf12906829f648acf20656506772740386545255b240c0991db596898262e5cf7e372e23ef8ee0082c2ceb51384440e9275829034ba0818d21d96cad1183eba98f55943e40ba931aebbe59888d2bd7105225e48def60dae44a84e37e32ea4750df5dae38e2b73b513573544b89078255e33e7061d93472fdd86c816d261b3e88b3457db473f711f173c2c10d1427a667a8e9e49beb5679d291f703467bc1e735c44ca209285b44e5be6db5957bbecb02ac142ba5d7be75be3c1a39a4bf8f6525654ae904ec3ceb5fa517befbe842f2a26782d628584dab8f171650eebc755c2b7edc47ff8393c6f28cce42408bb40a40a49ad834eb5f483cb87dd8a0a15d2b662c7fe64fab6b3f38182b25a203285a44bd72c6a4d71a14683ee034890959344a4909a9ba37e9da2ed56de257c7951b9d01164795b8c425286db9a47fdcfb7e712bea680a445040a699daafa31dea918332ee14336449e9010ca959ced7dbbbc5cc2a782d2f44eca8aca8a3821fd41e55bbe5a996b6c4d480835438ba9f745bf6d031126246dedcd5186aeadf66a4496908c6b6b67e778bf0a95881252baeadd36aa199ba3de06224948ddfa4f2ed44565ce874aa1c3574e4c2e4d01c14bf195462248e8f58639a3cdd4e55bc287f0825c567e3c6ae308a8fc8e61e8b8ab66f8272617dd201757495140f47e0439c91e463067f9d3d5d16d6dd94bf8ee485939f1438322a483f21c74ce52c89ced1822243dd565c6d5acd3b75a095ff3e1267f667087567e7c9e6008295f215a6bd83af5db2fe1bbe8ed6921a4a51a9ea6e2363266328da6e0b05854d0f698e342c71d6919df45c5d4a073fc93b79e82c2300889611f632b7f997fa4509f1e735c6e00846c7c5c68176e7366a9ec48ea9933b6d4b4dfeeb3da0441526bfe67acc6a8b6d350099f0aba95d4d41fd3ee8fb3b6d49a12be76c93b2ac9bf5b73d3cf9821f35fc27744909298597e5ab365d6def007d710be6aa4acae0e322009bdb1bbe5fe4d371902f961920b25619f6ccb1c36be86474f525f7e2bfe45c8f4df8d1f69153bbc5a537d759c06e54fdc6026270a0e8b857bcc71791f099131afdaedf230c68c8e13933adad491ee9b2f6ff57cf7752b0f65d107e94eb13276f81b5d136190db638e8b0e4c522273f6f07a53d5d095c562f19492b4b87e5461ee5a99e9257ccde4e240ee58e193342c963b4e54f698e392e8489866312286c868116609df59f9f11cf8b4c87872eef25cbbda621a1d78d2332873e99bc34eef83d0dca0e344c561b1381d2a40502c164f39ee31c7a535c4061599c53ed7880ef5197534bf13e5e3b62ee14bf115372c164f59c362696e020485592c2a29be02443565b1a4f88a091b7190a0b9941520226b6049dbe93a65fe4774c7123e672728edec2406276c2c5201825282950c6e76b22ad6dfca570c767bcc71b9a8c389c6306e269e63b6374f9d440835afb1e435e60ee503888a896a8f392eac07e95bf31e6fcc286c4db512be3b5256900a4b494355588ad2ee31c7452fa7d72042cd7950b6418afaf33c6f9f0fdb1752a58307a9cdebf237fe6af0b7ed20317f5fe76a6fd5729a3674905ad347ad7fd9b1c37d9a09ca657bcc71c1410e12a2623f85eb685c5be7482b172f1b3dd6b89db7582c96e51e735c4c707087c8a06c937a988d4e5fd3537afbaa2d33a39ac5a2c2461c24ab263748aa9dd607b1548aa7dd2ae1bbac381dbd97cbaa831dec31c7650d1ba43b3787a15ef8da98971ca83de6b8b45183a4ec3cf369b788de8adea0413a678dbe571a3debd5c9911c75971bfb4c835a6209df4a0aca521a98013ba36f989a3fc9daba73238e36e8e9076fddbf4d095fbe400628798f42667446cd223c17c0a1580dbbe68bbab65db50c62a0cf0b3d7fbb633d6d95f0359419f458b9a9f215171e6287ada1c40183673fb5ec91b71d4b13c71b89f11d6f43cd30911e96f0f900f2c3e4d23c4595a8207e019b6587bfe7d87f2f8428870b52abb3bcfcf91c9b5d53a2c2b76e742a6df4464c5d25bb13b7c32ffe032505c8e10c5a903ef930f7a66eeb5e5dc2070425a59d69232dc3b2311a456d9f7b4a1865258f8d74e78e6a7367fbfb3897f0f9098a0f7661262b6a4505ef5252c787215dd485aef84af87ea0a4bc5a2cccedf88192c286c5a286c5d23de6b8088105a955fec253b58c3a554bf85056901a6b38db6ccca856a38c9e25fc86c562b1e449590102448da39d87e630de76eae5b2e5871d3e7c58526bcfa8a1695c4cd5a5104c5482a4a03c1d4196b3c007901f26787e0439c9951f0f843492e2d50cb97369235be61fa5df58415aecd8b8cc87b77e5205e9a46ac44697e963b6d78d142446bddf53737897f34bf82e79b7c7dc8e18a020adb3dafc3037add77d97f05df076e5c7e79ee0070aca858e94cbc50c132446b7545bbbf82ca6b64bf85652d00a4a90fe18e5669cb57f9ac54af82e8c3a2dba5ed6b3123d6ae64bf8d0314acdfe9c1fff1daae42ee103024a0a1d879c0e8f61f4478fb3c3724bf852565436a1b7d316ea957c6c3c4bf8567e7cd3e02465779632a6dd87157f099f1d297ec838d0b47a9671f6bcda2cd453c257a21204c82505e52f9b06c91a247290c8f10609f31a0041c5d1c7a7c71c973732ed61978fab9accfa9c12be1455c22ec6574c526c60b1acfc788b0d5682fcb898d3638e8b0d30b55a8bd1bfad33689a95300a42c2461c242472bc4172698c292b40d2535098f698e382824bc674f741540a592faf12be143f318917d939fbbb543df797f0a9347795cb8ad3718e448e36541489c120243388c362f115b562512472bc4172d1ee31c745040a2448b95c5482a45c2e12b0aca031820f88e05ce5928110908040c5031ff08007b40320e0808a0636703f48eee2297f4941595114d0005ef6200832d0010ca08128282912b800082ca03c450215b00005e888c0044e85021230f9f103c5031140085c8a721f6c020fb80b051c908106fc4a1006dcc54b2e1458806e051410041420ac582001aa44c5020838c01e44c30008efb22e256814602545ad748000a881019cd061a28201019c07ced88019f803855d52dc8ecbd5b107813057e132d6c50301d000002e970df00882fa718191bba0f8b8d0716242071d283e224046101c0d91bb5c7c4505a5e4b21204ff408806a4804627c420e23fd4090f343a8109020c20c4128d80441a212568c47b34f18c084200820f78a0031cd8008906328001342e60810a506002128800041cd000062c40010940c0010c5000020c604400210b80012d4216d043077f2003180308b184223091464848480807d408093102140a7004346041a41622b610110521440a710658f0104514ce40849090933b14b02ea0822798010f212121c130030116b18032a01132c7881231c019cc40861032a0202424840a6a8484843ce1095160424848139a9092829502a8c00488c606d038711f060d1460008d13f7711630060624801728b8431d32600635c280852b84c01152031550200c740881840822e620b28638507002344460208216000640601d8a31af6304779c98ac34e529ba41bef04648881d97125c80a87ca10c2f04c30bb0f8001a257894cb7b8a07e40002ca1a40545010e63550310192868a09108519848e13203f4cba108b3652d08538607002e635b8b849ca0a17ead883284090c3eb503ed4683e94cfc053e0682ac54b5082129440a5a473ce39e7a8aaaaaaaa66666666662222222222dedddddddd193468d0a04183060d1a34d8dddddddd8d10420821841033333333f3eeeeeeeeee39e79c73ce39aaaaaaaaaa9999999999888888888877777777c618638c31c65c7777777737420821841042ccccccccccbbbbbbbbbbe79c73ce39e7a8aaaaaaaa66666666662222222222dedddddd9db946bc4713ef871b385880144e548a9340a59d046103a5879bb0a0f9088262831f417e98f870355454d238a14148c8881b2b2827274da91112327283385454d618b14148c8480d42424668904e504c564c7e98bc91e277a837507a84848cc8111232328338424242944a6329adf18113373c25c84a105f516d25080a1a2a260b0d344a56524c161aea07ca8a4a108686058da57c589a099c40819090113842424662101232d22364014de0050c4242465ee08290901137465a101232d24648c8081b3b4873b831830b0b120b62b0468f7489230671c4912ee90d1ab0200630b8dc200d18781d2872c000d181e2a3b9e12726749ca43598a0121232828213344f51417ea072f911c47da825e840001ff040081c94a0831112584ed489c90f93941f414efc124900434848c8c808561a685892e00115b5a258101232724648c8881965b06045b1111232128011008484842061012121972300695e8212784a0a500a4ec0bc063bd03d6b0419986104083413941a60c26005c5878a6e9022402024c49752838d386ad04ed2505941f10184218821242484a1e1c387ff40214152230d355682e0416270e2061b71d4c09752e303ba41d010816e100fb04741f9143bd888a306974fb14308783560238e1ab011470d4e4c940f3866a0b2a2e27404c117408028202a22a678c313ec5840102610840e9395060d50527c8e3bd460c10280b000844783e6413061c38c32d8218290103bc270691e04930f02870f1f7b344871384a50820b1015528484846cc08c0504614148488825c8094262b0820495144b677335bbb5869ba4c8110414352c96e6414059d787116024a5be6f3d627b9852f686d2a3cd718f392e2718f9456a6d6613b5462b1932f5456234dc9a66dd99f2ca1f26252a163b8cce31d28b74ae21ab6aa5f4346482fc40690481c1091b160b2fd233de3947d330cf7fdf455aac6dd45ae36adc201cd145628b584fb159d726622ed26234a69573b24a660617c95c7eb7d7d5bdaacfc82d12eb65a81a4b37faddd0882dd2e1a9e6ae34b8502af406c91a242d2091e30d9218a815c50273a816e94ee35e5454478be4ebd61dffa58ad67f97a8a816a0f02cd2ae6dba905debaa465fc2078453470a8a0d2c4cc5e4c711c5882c52f3373a8a14eae366a2fc899158e8e95789941e7660918e11f51f578ca15af68ae44b174b54c3ccf1725d91b0f9a379c5af589e51378cb422212bf568173b51e57a56246310faf65fce7031ab55a4d6d6eb62a759aa22a9a33fd8ce996e63d6a622ade9e74cb59a23d2b35091b8f1fe8eba6b5d3c798ae4bdce1935a9dc2094d6a648784c26d3367bd82ec3257cea0224c889721f4ced182945e273c759cd617eee7096f01d2912f26b7e1a295b46af4345ad5c4ccac82852ba6baefa59e8bf2b4bf8501adf31228a84ac616b2c592d6b6ab5502466146b8dc99b87cbad6f1801457ab3186fbd51aa65907f2219a494329c6731f3f9f5447aa5fc77ab72ad6cc6555007239d480b35cbd66ece2b6cdb9c48edf778b7bff237aacef56e2221b38e3186779c4819d36018d1c459cc482612e2697750439cd8888c2e9848a8cdcdf19b76a6b106327289b4d4abc94d7754c277711f749c98a85cda89ab1c1661c412a91b9d2a73f77aac3288baa8986425d2a2f47fd6a95043886438618412295fa5a32bc6f69451aa844f5052fc2406164bdf1e3146269194f1662e86569a7ee6a3995c4e50d88d9318582c2a75a0a0948830624412696563478a6dff6d2beb8bc8184622918ed1c3fa1cf76dcf06c5310289641cdf1143a731a3c3ea11a9b935f4e6b7aaec7d4af82e2a262b88114724ddb66d95393e069f7923d25a68ce34856c7619c612be1890ac4142b20689c54222471b24ce2c168be5e0210310238c48bbfd87f6d5187567b71791ccd2d54c1be2ffa1b51491100d634e94e75bfda41a461291cc618ca9b5cc72f3e223225debe2c3d8dcb6295f257c3e94c53272888414eae361076933a8d019460c91f2b03deeb64ecfea62dd859142a493acb57fc7eb86e61ae2c2082192f1869ae2c4f45eed74091fcaca65c5552e9d6cae8d0c22b1cda68c1a3a2b919d478248671039d9624c9fa9a348d620e94122c71b24168bb9cb95612410e9d9396d7f93febff40191f6d679feed5c7f48e9d8b435b355ea9b2d3f24b45677a5da5dcdf054095f9ea704513949786806237d4808611f529fb76fcc3a1f5253cfab8f7a22b55833254c839318e0e5f5fa60640f2955b9d9e773ce555d7c25c8f942237a703666b1bf83e879488850e3df5dcc98dfb6e746f090fae442eb5fdbf7ffce4a90bc1bb943eac3bd8ec966a3e8ad306287d47c79722394cdbbdd7a0a10bcbd75c1481dd2fa75a796b33355754687d4eecc5157cabd19aab41385a746620f46e69072611ad48e616a1fd7ddb16282a8881139a486b710438cdd20831ab3582c96bbcbddb162d24c7c288382188943ca46838851f662a37538a4ceeff6bb43d65043ec0d29d92ea59eacfda0f5e586b4d46ac64daf41ecf7bf0de9f0a143d4b81152b3ce86b4c987f29bb6f7d3d6ae212d633785ceb25dde855065440d89e9752fe6acd722dc4e4362b878b1b668d85a8a1d1c7190a841b206491a2470bc41b24146d090d07f33df6dcd7bac64238c9c21dd5188cd30a35ae659878d3848f6fc183143426e65ed585bc7934821318c9421a95d35e8bbf931ed5993212975f667d99d5d793cc330328694cae75d2f99f194713124e54851f9f25b74ba7109df92c8d186b380db0b236148ad5715b24ed43a573b2b276e071892697cd7b9f66c5be782d2500c46be903c1b3a5cb98e52e80d4bf81606235e480a95b6ccf745e79e085d4c1546ba904e0d2e7b2a5af37a2f4285112ea46d64cd6a78215ac656091f4abb3bd782912d2454bf76e7b0b5f4759912becb05d1c7522734b058fa0c235a48ce106aa59abe3ac59f8574d665ae33b277570d0b092142d69235b6cf66f91592672e23335aaa99c1b642ba6ed4da9e53ef798baa900c6a2dd5366388b52a2aa4d350a96dc4ace55ff214d2615bfd8bb93979541f2924d6da6153dcea6a7a452165b61e3b6a8fb3cd291492396c4c430dcde722e613921ed5bf167ffddcbc131242a9f491a737ae9a6b4262acbbb5f6333b4fbfd5386505888f11268c2c21e99d3769b80dd2b6bcb544c56ff4d13151184942ea838af5f965ea3a3e8284d4ea0d1dea5a786cda8f91bc21ffed95c9480d5ac648cc98ec5c6cd0ea562c46ca3fb450b569fc87a7889110f3d5ec1a9fdd73dcc3488b72a1e23a97bdca849176bd97e9d3501a851d8c749cfb7d51b5522d110123e93b3addee2074ebff17290dba7e1fc6d4953bfb221d9687315b325bd4ef45da9688f99fe64c15dbf2c22c428d4c22849617f92852679d61af14ca3e73257c248d8390f860248b83905c10aa5ce038bb9a08327691fa555bb4f65b75913e97b7de5ab948aed95c5b1be19d3cb848ad7d98f36995e77a798be406b144ae509fe5c56c911442e3a8d79be947eb505e5714ca8a5a83c40d1239de2001a26060b100513fb00964d42269ae3bd5fdde904fd98ad3e16d582c168bc562c90219b448e88f293ce6557bbafef8e10622323641c62cd2ae52a8acaf6d9ebb268ba4a76953b37dceb2cf8c45fa5bb3f2d31cf43f071649dd91e3ee1a65b877af488857bb51853c65e572e740ee90434fa41364b822b586672df52a55de69d68ad4d0a769ab193f8899cd8ab4d6a2514d1b8f52b56815496fd12e93ddceffe2aa22edffa3858edd62fe76d481761464a4221d5c8d94328a61df1f54a4b690417cd3ca718f69a7482d334fdd41b4f0d52f53a43dedcff15366181bec52243da4b8dbdf3a2adb39257c76d4a15783171c24a312649022213ba3ce6c3e62ead84791d6b18354cbd5655c518b22b162eb4bd5590d538b429118af35faaa76dd6d2f2812b3590d592e3cab11df2712db5eada9d60b21b4ce34e25b115f90e189748f9a4811b92d37ed9d487cdfd6334b94ec6a1727d2c2f5ebfecd7a6f6a7613491bebc3f86d1d530baf84cfe96825eca090a189c4f88d79d42bfff4926522355c568467981e4c5f9848abf542677421a50a197489f46f4c7356bc4a5122b74462ad712de259a570772b917e31427ea4ddd42e859448888c4c5b7a9ca5615c93487df874a2bdb356274292488d91f7d93f4ad1b4bd482476e99adf8ab15e0c4122356a0755a395fbdfa73d22bdfaf7b2f4e4c3ed88a4bcb176f4dc8fb3d3dd88d46a8f6abece52889d322312f3b266187fde6dcbb388848c1d73501f849de8a82252ebea212e46f68f2b1391502964f37aec4f6b0c1191faac76d4b6af0e437488d4674d53ae942bf73f57c247c789894a4a10e629173a5a6a813932906188c4f47929e3f7cb72d7bb8f734e462192eadf5cccfc1b9f6a2ce1bb5c0eeb2083100935bc5ebf73cc1b6354099f0fe52b2a973a7c04597b2472b421c71b246a347a4339d12763108997b1f56a90bbf9655a099f4a0acaca2508267f99128357fe460d48d6207901c91a242b416060b1a4781d29eac77b1cde507a582cde504e2c168b2508269fe78e0c28902188848731ec5fda477dfb0722651ff5dd6e6657ce8e19e4f498e3a2c80044427dd0ff1fd47ca14d66b1582c37383de6b85cc8f8c3696d64dd6d3da888b1f7ba293586e1ba6d68b3846f0fb6c0624149494940548e9740861f92ae5bb4ca18f4e7965b1f52aae67ca7ad398990a91a64f021f1b6b66af89ea73dbf0ac8d843527f6b370d4b56c4daeb21b1c765e670912e449c8784fa1fadc6daf1b6fc283c245df38baebfd19f21ba4352eedfe7f4a0f3a3da858e13139520796d906187b4b7773075d99c86bd7548ec70536c98ebd2864de9908eb76cfce8cdf25721197348c82cae533f771695a29c5ce4909235d3f9b8ccf7698f43f2b3d479e9df337cf57048cc2c66e7679221d3d4bf21f131bb0ecdda34a8a17743cad667bc2984be0d29cf65aa4168a9c3cbcf86d4be552fbb476b1133bf86b46aa5b25fe7a03badb91a52e3f786b95435d3b6791ad2699fee473183faa07234a45d37eb985678ce908e2fa23e878eae43ec6648ece6bb171b3ae8a8f53224cecc569fbdd4b3562743fad6c7f64c33cbb0d1c790d0dc62cbbc77f9bf7131a4ee73cd9a3263cdc87818526b8eaeadb50aad34ad812131c7b5ba9ba7d08fb52fa43f94ba8d746dcbefe685c448a15c86d12d6bdbad0b491bae326dd41c3b0d1b17d23187a84fdb53ec24b62d2457f8cf8eb585f4d8342da4677dd6793ebdc8b0695948d9b7facc6e312ca4fb74552795b7ca677685c4b0f927ca47a8101e6685d48e8c56f335b35dc7aa90b0bd3989a7ab6153bfa8900e9f867fec7af5bfad29a4437e50256253e5482d292466e5fe5d5d2a59f78a42d273e85b7fdbfce368910185f4adb5c6970d21f68716194f48bc708fd1350617672b329c908cd17df3dc9f7a1e29329a90d65aa77735edf6535564302199c7954a35aa5f3254642c21f1fe517c56a263d67f93a184c45edbef59d7f23bbfc94842422877973b1b43eedb64202135da3dccdc54aed6b68f91ce1883b7c75371b26963a47c44ac59262353e78b911c5b6b7f8efd319a0c11239de5df2ed3b4aa360c0d2319d6fa985b8d9a61d848186961fa2e96881d841aa160a4d4d53fe5e3c69c57048c6410616bac3bb33d15fd222de223f7c6ccb0338a7c910ceba55c99b5ee6c11f522a5699fe79b528a781de245ba6d3dc6d7ef62a7f8bb48c894d164ad320d37675da4efd5c3d648ad41a83917a9b1fca6b20fd3f862c645ea477f459c68fdd6f02d121a5eca206ecd952a5a5b24a38faa98befa4b375b8bb41edd9d62bffa4efaa14532adaed5bf625ea87d6691903a86d838fa730ae991455276f808a94d631ef1c4223183ab0ed741e64d2a8545eab36819d5d657a4864c973db6d27437ea8aa4b831c36ead633baf6c453a871db772948fb63b599150b2e3eb5ca7afc63457918e5a6af5a641669065aa2231ef5c9fe61b8f9bc954a493aa7bd0b3f92e44888a74dbead9d1bb428a0e9e22ad839029639d688ab40a8f42cc4576f0562992e13cacac35b6dcd5a448aad90e216dbcae2d1e4562f5aa19661a5bad5951a47c3e8bfcd5628cc85c28d223357ad41b75da9e07453aaccfc9da49fd95ed13e9dc6b9f65c6f835639e48caf82fd2c6ce42c7b8132906297a46bb6291d4a9bb8245dad4c73b3ddedaefae57a47367d12ddfb61ed959ae48b9871b2166b9d8e959ad480bb56c663d6a8db1cac58ae4dbce6ae71c9936e75a457257bde76db1468673a922ddbe276b1a868d06572a12c3c30c5363942d6cb75091b2b1dcd69ed7c9f4d52992fff253b67a3d135f99223132c5d0a1e5a5484cb3973bfd2cd3d7489174699efac3eb91b3358ac48c1f53bf902ab35aa248ab2966cd7e76b7ed0a45524f36cd55ffbe690a14694f6334d89a89dffd8974cdd762c9d6cade863c91f8d0324d292e4c54a81309993c8e88ad378f9c1527d275f7b3e27fa694596d22a9f1cc6f9c6bd7faa33491745bfd6175c8a0fea332910ce339674da33e8ca930911a2eff96aa6d2afb539748aa59295f6d64bcb1539648e6a8627e786721edaf446a46a8a9f23257769e1289cde169271f76a73f8974df6b58322f49243767bc2dbe3aebce2391100fde9d39d5fa178344e2bcc6d3ba5643b5ec118929f2dff64ba531473922b13c9cadf69b31b8dd887408b95257d41473d38c48475ba9e2c5bf8884ab157d9361b775902212e2d97766985ad79f88f4cfcaa7b1f5b01922126fe73ad6fb35af0e91dc3494cf34f359b52152439b77d651dbba780b91ce513e455497b767099110cbb5d41c3c3d88b4db77902943e6536d41a473eb8c7eb2ec40245d8f0ef2652d97c16c40a46b66bb9532bcd038f61f92599ddfe628eb3dc3f643f243b97ccdcc9985b0fb904e8f52d35429ffe6a6f990b21dfa29b667119ee93da4a6f01453940cf1fdf590169ac6b073b3ddb2cf436a6df897aee321e9497574512ef652ed0e49f9c1a3e8a039bf1ab343f23eaeefacbd2233ac0e8939efe1c3cb9942c3e89018428ee88ff196e86b0e8929c39ecc46f58e5a72482b4fa562c5ba8772c5211d846d98b5ab9e830b0ec9df3026c3e783aafa0d2975d7ea9d6aa6b585dc90ccaed5dc987ab656a336a4a68b9e8f506b6410624332ba1ae1417e1617d11a121ad75d6f18e91f6535a495b970a933bebaf5a6212972465dadb1e357070d89d7375754697091eb1952b64747dfb42233a4bcd7a6e76ce661a4a80c4935bc445eda2d19159121ad71f5489593f54289c6904ebecaa5a635cc5e88c4900e5a2aef90411486d4ea3efb5743679e0f86b4d2983ebcd02845f85f48799ae131ecc3a8d6bd908eb945e7d023d5bcde859477b6a1cbeddc86ce85d4b6118f21e53b6cb52d24d6ccb273ffe810c3a685f4e68c9b762c6f35d3b290301d21d4501e4c7e8685d4cc41cdde1894c724bb423a7db09bf23f884f5b5648e7192e44469bff73552131ef86561f6e85d98a0a691d3d3f2b75deee7b0ae915628c993fa450754be1b96f69b7a55014d2a142d8b70ca6f22128a4563e7668d46b9fe22724b6679069ac6716313b212d6f7ce9ad25fef2d384a4503264e55c7cb48709e98e3966a3eed7ad35004b4867b5ffe16b9cdd90064009e9d651faab9531a350039084d416ea6dff96d70ccb002021791e457756268f9f3c463aa6afb71a6de3b3d01849a16e6e653f2e464ae5e6c68c3d53f3981869b16c4ccd7a7be5783c8c940db1c6162284569961612436fd88b5e30f46424b513bd6453eb70f8ca4eb8dd1866b757ffe2f1276feb673946fdfbd2fd251cc8f1e6f6f5632eb4562c7a71699750caf5bbc4869aeb96a97c78c31b58b94cddae54155ab8bb41ead5df4339d2cd5e622256b4d1d2a65cc2d428b8b74896dbcf5e2576ad1de2269d3c68e9edd2f3abcb648eb11526af1786b919652fd8f503347f19ea54552d8ee64df73d3bcb3b348ddfabf7b18af3da52b8bd4dcb8e9934dad5e761b8b848baed7b677b66c6e61911cb14e5da6b8dfc6ec2b527b3ab75236c615ba2b52f6dae4e54e54af5a2b923228112e5e96aab8b1223d2a6aac18b13f9eb68aa41429456cee59a36baa48a80735eae36799d752915ccdaa46f7ad3d3b3ba848ded432e71b4bf6a6b1738a84baee57abae57c7ea9822393f9fe3eb30a631ea94227da7ee3ad5bed9617c4891ce62889866e5a3437c4691183776e83295ba423ea248c9de551d223c8dc82714e9ee3b931933e5dff6802229f3778a36954246f77c221955abf41933d78cd9e38964d218755ec4caf0f57422dd9f6d4b5daf61e37a3891ce2f4c64a467ad427a36913697fa536770addc3c9a48eb9a35233673d62f4f2612df9b46a9cef174930713e95032e65c78896410fb2fa68f189ec56389a4ceabed44ada13489a712495befeef963f834c44389a498ac9b07975bf1ce24127fe741270d36346b8e2452e3cc639af9664ceb8f44e2b598aeccb1af631e1249e16d9fd5ba696bcd1f91ee14631f5f8c5e7973446a3f63d4e16d9f52ad1189d19f73881d43e6b73122b5b334cd5ea75f325b44d2374bb1dfe5c83d992212d24689dbea57155a8948caf8fd6ccb3c5eb91091d65d63c6d97c6b84ea10e91ce3762b937f38db102995aaea837b4d21a342a4e3732acf31cadb524488b4cd509d56f9df5cf120d2ef9e5d7a6861b7c38248cdfa2ce665d061450ec461831843fe5f4024655c9139ee9a646bff9012b5bc54cb9cdd86d60f499b0f3b085dbb59bada87740eaf6fbf7a7ba559e543eb3d678df91e92aee9867c2e917b1d3d24d5e563acd6ef1b6b1ed22d3bb4be8d42a83ff19090ba6b4897ab31e6ef90ee1b9963bc9bd1a3ec90d0bbf1acecf36716eb90da1715f99bc33c950e6961afa3c698889b399d43d2456611611ea61e5f0e69d9628dab2a0d2a8b43eaa64735f7723824cf663df5e36f48f8ae14cacb6690f9e686744e293579b758b1b136a4d336cff0f1e531656c488d171df6bd6d71f35a43bad69ca9b34277185b0de92053ad99f6f569bc6948ebce19aea687ef9c45435aad9d3f99788ccdcf19d26dbfd9bffb5b78c70ce9b4e2656b11caa354cb90b4db4f63acfdafa94986f46aff17e322cdfbcc3124c6141b3fad26b30fa6189272a5722935c81442cc3024f389dd0699738eb34b3024d54c793bc8bf9098c1f39e67a59bb55e487ade5b97f1b59a9fc92e24b4d0693c6c0e29f55c486e4ca333df76e3b585d4aab9623bc3d4c3af8584679639fac8b98c672129d25e8c5037c3d95848e8909fca5cbf425226772d96ac5921ddaf7d63ce1735c6ad0a89f5d15173adea2ea342422a9b213f8decde6b0ae991697bcdeff9a42e2924f57b542a424b99b62a0ae91497428b31f3ab7943211d4d6696eaaabd2a7a424a3d48ade5a869d02127a4368fa89736834e3a37211d5f7d63863113522e552ab99d4db3b884f4bebc987b53c6f45609a919c69c51a26cad9c49488794d1c30c373ae600404252eb38e3e58a788cc40e32bd3a97d3383b3446429c47d16da3df6e068b913211424b29f3c6c80c12e39ed9202ef6c3488bc7a4f351a678ce0b23f5ba5c5cd6d3e6edc148acdabdb356ec47bd0123e5772bde5c8898d1f68b74fa78eab931b5b97c915af514bac75b56ca7a911e31868e5bb7aa338c17a9979d46cb08156a5dbb48a74c7ee3d76dab66e9222d3f788a1d3d8cd0ca456a8ad0a0e578f851e122a979867d8a95abaeba45d2f4c576bdeb83a76c910cf3646831c4903ad7b548ab9052d82a0d327a4d8be4071b4a7fc6736bcd229db6a254cc549a2c8be4c7277ba1bf3e3c281669f5234506d53a6e10c1221d848c1f47e67b45ca63a8d97f538efef0b92231a6a33fb4db8a64bea571b41273152d2b12b2a579e907f93abab78ac4a92699baaef3fd39552434f8ceddcea86aeb2e15c920653df4c61c677e54a4f68aad99337fafe64f91d2e8fa66663553a43ead65afe7a51633568ac4da943186b88c3665a430c711ea75dbd628d26166a58bd7d762a64491d4f81e84abf89c970a457a65d45b738322353fe4aca80feb419f480adb28567b9aecacf244528310f33199cb8b75229dabb27b2fe64442cc878d62cda0eada44eaef666ed5dc18479a48ae8db0b7db9f62663391d499c56346597a364c24d5a57035d5677ed52552363edc55c8d7275b222d1e5fb4864d9e6b251226a334e6f9f9d21c4a24a37c8c5bf1d73fea24527bec3feb88bf4a492219e6d60aa51eb34c311289a1668e2523d59abb313c2071011e8f50b9c3ebc0000f4734020d1e8c68008f45448087224c80a421011e89a8000f442c80c7210cd1001e85f8018303f02084e131081f3ed41a3c04d1011e81b8980049030e347800825580c71f4c80a481011e7e383cfa40c2830f0ae0b1073d4c80471e2e2640d2f0a5d468000f3c7480c71d100f3bb408f0a8838a9b980049a30d0bf0a08309903430c0630e728480871ce2a082060f384c80c71b2e14e0e18604f068430378b041013cd640001e6a48473584aef53bd711db0a3cd290942e67566d0ff2424d4981071a125356c9ccca1177a17686d48ee661fbe36dd5f5a5a1c0c30c698d39b7fc7f3eefb8511e654898dfd0cdfaaf66a775093b5129eb0e093cc89016ae3b450a5d571e374991a3c71c97151e63484773153397dcad693b257c28292cb05880a0a4348b45c562e931c7e5848718523bccd0618ab5d2537c4af8502e1c8685b6b55e880d2d54ead23de00186e47f66b9b6c594b2c916031e5f486a21a58775b7d52472b461e931c7a5083cbc90be59b579e3c97ed40b78742139dacb458a1732f26d57c2830bc919b9399ecbee7667257ce7021e5b48c81321dc75a84e154f0b49d92a37ce0b9715aba01df0c842523eead6a18678ce318785846d0edeee3af56ca9b58bc71512376acc27cd3b52fe6d8594dc1052fb99872975f0de5083056e92220732e151858472116e63be6874611becc1830aa921a3d0726f55b6d8981320a05cbca19c1c37784c21ede1a3460f6eb6e1c552487fcd97a3def9e6d7dd784421b535a9cbd9d88d7e0a8a89b6800714d22f6e4c9dfdde1db3122fd9e0f184b4e7d93aab0c43b7ec74a49ba4c8a11ee0e184849a9e6b85eb8ee734b2581019783421297c75eeee10b51f84257c77a4ac9c1b9635ee4891c362b9636ec75d73f614ee31c74524103c9890dae623bf661a97496c68b100f9f1468f392e74f05842d244e820d4bbd6cda62b0d50564edc80838712124ba4ff67f1da669aab7924212134bc9e8956e2193cbd6e8307129259c50edb1986add8ad840f88fa9167e41889a195c9d84c2286ccdb6b0c96a816f759f92db3d131528ca487ce316ed40cfd41b558800051168b2fb5d66881c5d2b1182146625ce71bc2fd6d7665168bc562b1b4026264186931bf1ddff456b81406f1a16a80b20e23c248dfd02f75ca46fb9a7d099b1a34941e96c6c24830d269f63b017c48da0cbd5aed18748f08ed21a9635ae9b6f3c69329d643327f8a7da3bdd30a97f390dabe631bcc7bc4662d1e9239a730d9765baa3ef70ea93d3e73766fb6edbab54352fe0797296b76f4e8a9435278d8422acf5d6bca1c3a24c555accf2db51ba2ce21f95ac9be289741a52ae590b2e563735d8d436aeef8dc88ea93f3e190501da2e3759ec77cdf901c611b3f0c3d3b47ddb921e951b4141dbe69d4dd86f4ac26f91a9e93e6b0212d9e716f47d7a0e18c3524b5ead7a8d0d5904eb22b6aaea8196486a521b179868e324bf5e21d1998e10c34a437de14b1f5b2b6545bc277712198e00a4a0d107170c61992f27665cc46cf9852b36038c30ca9f1e96e8b318548e47883c462294342e7b47554a3be65f86409df2531e338830c491f7153b4aca9628b3e8664fcda1ff3b59a3e422d089013930b90202bae82e80c31a4350a59b5eafc93bfb4844f0565e58ecf08436aadd31bb576a316e2074362cc1652753eddd9b57d21b5b23ae9cd9ba6212a2fa4a3c657f790af86d0d92ea4ef3fdaa79d5fc8db395c489dbdd41d7490d23b52564e92c5f28933b690b615757bd4ce12df9f371267682121d5c4dbd5a8678f71165277f72bee8394199b6cc3195848cc303dfa6a2ddcd5a6d870c615d2f9bb4b44c49afa346e8584b4117fbb2d420671a7e18c2a24efe3cf3bc77a21aa97f0a10dcea042ba7388573b5eea94a697f05dbc0f0dce98425a9646b566aa32e8f0fac2195238ec10eb3d674421396af6e954be3652503a0b674021e1752fd5105b4ffb3f2131fac39cedd48f3d7342d26dadd793fb9b908e39b3daff95d37c3e13526b83e8cbcc5f6bbf3f630909d775b767ea89d83a7e8612d251eca8fa768dad9bd6ce484232e888eddc7663c49c9d8184847a7965a274d6c8ce8e914caa450b2df4aa1763cc1849d9ad41e87cfd32c7ac18e996e9332a3eb48a7e1123a935079b7dae358c841451f36bdfdad6e11246ea5f66aa147285acdec1488970a9756a17535cdac048bef8d3f795fa45d24d45bd967eff1df245da3387b5e3873133caa817e9593be874f32885ee302f1243afe7edacea977f1749e57285146286d6bad645e243db4c29a36f4c512ed29a754e3f32c3d6305c5ca4fb86501ebc7585cedf22297267c30a6d5f33b345527d673e6db569db558bf4ab31edd32bfd1e295a24849bed20c60c5adbd099455aa7352f557f6beb974552cc9761eb655e6953b1484bb175a587b43d6ec22239b6f933cd4e1fed7b45ea83ce41ce9c0ca166d415e9985378922994aaadb722f9c15f6be1af6445724c767025ef2ad2a1ef59dfeb906a4655915af1e953e807cf72a622a952a50da16f5de6a848afd77893effc6ac33c455a95f8c8345d4791bd29522fc66cecd565fe7929d2fe2f5a6f86fa143752a463d45f43a914e33e368a840a35fb61c65fed2351247568194437ba4e9d50a485cc5525a363bda8a048cd9cdda9b8a166167e223dfb3a8ab54bc4101bf4443afccd28eade6da4dd89d492751e94a6b9e12b271227ff59b410cbc30b6f13291b3b75ae783159cf6822351b75ae18ab32d7ea33911a5fa2657c55c4ae5ac910ccc0445286546b6c31e54ba46544dde97bce7964be0d332c9154276a7e5bb90af72a9194db71236dcfd96dd6552891d822a4b05bf3a376ec27a1dab6d3cb705f126929b7bdd69b89bac8239194e137c8bca1dcfcd52091124f75db6e98ed4cb247a4478c8e90729a5545e5888427d5f27abf3c6e4e3522bd2ee2a1a2f943d66644e2de7734e7fcdd72e64524de35cd9bbba537fb554472f53c6caf54d3f3de4424856f4cb6f6bc94db1f442495686daa468e7c4ecf2152dffeb3549ff8794c9b3848d6203132205983c4c04102c71b243e80fc30d933c310a955434757cb3b8548acae4e7e33a5f23b951069f3fe541bd37cad5a83488acfead6a5566336978248ed8da6ea4dd36e2d8641800422b12a46741ef5fd701d104961b783546ba4541fd91f52b3666f76d4b163f8ec8774502feb6a26b70f89a95d2d9b518cd9baa67c488bbc8a1db3bc63baf690d4a1654db134aa506dea21fd39a4d0d77c639bce435ae61435758768ba150fc9953a7cb8b1bb3ba4d5758dcd2ee383e74d10ccb043c25d4c6dec6fadcbf43a2495ecaa580f391d122b4bc59862c720649acd21adc5bb66965db3be5c7248f799b786f9af3be6a83824b50bb16455bbcca3ca6e27980187e4bc875619d496b17b43f2bf3f5ecb0ad19ad36e48ccdfaa3297e1678f501b12ca6ca899c77c76708f0d89e5dd7a229fe9b5d494f0f98a5a09f2630de99cfb9b654e6387ddae86d4fa6c3b42e3cc39fb945cee48594943baf5dff7b6eb17e96e091fc91a24291e4406246b90ac41120493f71438f678101fca8ea3e240ee58399c4830030d09bdb73944ad8df973eb0ce9acc387fba865121366982131969dfbebac9da577f848e4688304cd2843c2df73efa68cb7bbb66c30830c69133154889dff676799c562b1a85cee54cca123cc184372f67cc314e3255abe6248ecf298de9d65cc8f340c4957a352b7bdbcc63fc190f238535fcc9562f828bf905873be95cf7e25422abd90fcf8b3cb437b9299695d489f8aa95c889c71213586fd78ce33aa69cc2da4dda5c6573373325f550b898f354ba68cce0ecdca4252b5ce61689afac5ab1f0b49d72ed3d97ee939c6e80ae972793256bee70d626f85a46bfff87aa3ac4272ddd56631ab62f94b5121659fb276a72db63b3485848e5af352669cb1c5d60866482175f3a68d148f9bb63c0a299b19f3cacf1ba39a7a28a4c6cb9e21d5ddbaceb5194f48aa1bf1b9c6da20e6df2e98e18474b98e516363f6d8b7b45812cd68426254a777c797226652cd60425a2a91b16d5ccb32d19ab18474febaa794397edc17437798a184d4ec86a99ad610e73d9a9184d44cdb3353cd8e8b6aa18a194848e879e9356775c8abbf8c63a45fbdf8ca95a1bfd6c618c930c35619edfbeead2a4672dcf655a8cdc4480a51ad6b6d108791be9fd7f96dcb56b11a61a43e75a6ac4b6d2aab062361ab32a38eecf7ce2b602484942dc3781d47eabbbf48d8474f1e7b444afd9c2f9262ab0f3e1eb39f47d88bb4cc317bad77ac65aee145ead756cb34113a5eed7791983acbfb103e5a83640d744719ba48bd3ebb976b437c4cab123e3d2d4219b948cbb84a8458d939aade4bf850903270911ae36bd3d83cbbe37455b158527efcb058727f50c62dd2bff2757878b5bd4ff3c61a2472fc8081662bc31609a157cb91f62dbd765bc2a7e27628f7d1972b28a316e90c63c7175be7acb9b6b448aab22dc68c5287aa7da70a65cc2221672e3a53dd52294f59a447f6aaf5a16aa8d03f4aa18c58a485f07c17a3c554af79582457fabfb79441a816ab52a18c57a495bf581315731eda774532f8a9ae19b55a69904278f884325a917af5cd5eb76ee8bc5aac487c8894b2c53ed72935baab489abac6a4723e84aba9229dc3dad2936dced26d948ae47cbec7aadbde2b4f54a4458e8eab7ddbed4d768ab4ca2894ccccdca749b417c494618a74a9aba7898cd9e72f4552fd6c6a9471d4574e8a64f4f8723dc74791de71a1c6f8dcea34268aa4cdae0dc2c5f628b542917c315c8af0d034d60b14691bc285f018598dab4fa4f5acf171e2f6da569e48ee9bad1d353ff5ab3b91ae353aa8a94d1d637322f922368654b152fa6813c9572bf4e6c62ce7833491b475d7aac3ae6e106522dddd254334b8ac15632231529a874f1af3acf912492d5f5474ed5fc86c8994ea78a93a4a91dd6f25d25aede8c1e3e7afd9a144fac594e2ae65ceae6712a921b3aef7a72412ab32ed1cd4280db78c4442cecf98281b525e0989c43e1122472aff11a95db539d363766af31d91ce697e8f6bb123defc46a47be46673f1afe3279f11099bab630ecdb7d7cc5f4462a8e52e5bde2bfff21591ee99d59c43edfa117e22d2a9fabe5a67f9d8dc2322994d7cb5d0ecc16ff38748eba8ff7fe51b22a1a36c19c5773035bf10898d59b872b5557a9613227db344e388d042ce3688b4146366e7b8f6f599209261e7cd33a59aad2f168874da6df3692b34ae18209252ab47dfb0fb86dafa437a46e4c9a9b99462e587f4acfc9f2d267263541fd2fa7a7e7bd43eef9b0f4931b347ccfe3423f71ed25146cb942bb3165aa487b4daf0f61bffc377ce43caedc3d3b021a59a331ed2eaff83f68f69c830be43ba4d5c96fa6b8774e61863ab142f67de3aa4b66fda2e6c9d7cb7744848bb111ec62a95da3387949cc7fefbb431f52a87849035d34cbec62129b60c22b54d9da25238a45febde8ebb296458be216d4b35cba8a6bb21a1bd7672b5ee47c7d1db90f8fd3455467436a47b3768e1c1c59862e76b48a77c115b5f3d8eceb81a126bdd96991b63546b9f8664582d74658dd4af646848aacc1cf583349d297586e4cb245eafa570a955cd0c491b52bfdb47b45c552b435aaddf6c33cced685423433a469db7631d43ea863e4fef6643ec5a0c09f5a13e75265db985211dd3fefe597bd6d760489ec8e0b337c79689be90961af676ce155aab7921a936e7daac1a56d9dc85a43699d7c9470b695b2ea4b52dd19e36482985ba85f4ed9cd65fffd98cd242fab6da4178f09a15330ba9f132deda7c19f5432ca4ffb3ed16bbb54e5e21a56947d7d17794b86785e4479d657c75fc6833ad0a698f2a5267b79265a3423a6819e5998c5b9e3385748bb555dcf89c96fa52487d6ee9f63a2f230ae91cf64669949fd66f6540219d59b65a732233a75b194f48ed9c4daebed55c4f2bc309e99c7d35bfefb9ea59194d4888e5af3abb7e44c4ca6042420c31d53486215bbeca5842324c2dddd34c5bc35c652821f96b5388dcd92ba4aa8c24a45fa9d20ffddea7aa329090dafc59549d66539d3a46627cc3ecfd8ff1bf364662cfecda7ef3e1422e465a66511d84ca3cef2f2346326ad44f7b5de7872d1b4662c6143b99fa83a7970923edf3b552b46b35fbc3829118a36e2b957e2384ca80911832b97f8a998f19d92f12ab5e0c3196eda7d9315fa447cfeb9aafcefc3ad68ba47c5ad73ef69bde63bc484611326b5dbb9d75c77691d8f97ffb5caf8bc4c6d1fb9a6bfccc3d17c93f7d6daaa5981b6cb84807d741f8cdd9d9a5d42d12cafbe58ba1f5bd46d922b9f26fbb33ef67a1ae45ea66168d2fc3b6e5352d12538c569abbd447c5b348addbdd652fb698a15db248ccc6155a018f4ba8b46bca84f2481c0c050281300000062e5fb413a315003020201a9006835996c7b15e0f140004405c646a38261c1c8b040371301c068302813028100602c000400008060302a10025a6683e165c7a40d383480fd0f4e0d2039a1e447a809e07571e848e7f6c6f397b51f1631a21448288f68f2e401cad474eab28248a6c51f78fdcd4b6961b297ab74c4786ba314fe51accdd4669e99dc96903f013b2ed639ac62635b8e73521478e2061555eb05c567dc58df2f3cc4146069244b35369ae6760bb60ed8309a44e36e0a2cedfbc594903095bdcb8d8630f7f4437b48ed9513de681dd4c300729c858ad580bf972e01acb695d28df7035c5ae415cfbde67d119b1b41f567770d34492db18a1c5880b4674185f7c6cf43abe1a2d876ce7c9cc999f3eaf9dfbd00e6452db667cd2fad476aba3870a13a45433d2d47cc2a6bcf6628415737e88af4b0fa607103e6ff8c883035694d31fb43eeb84a9054a2bec29419b6e519588f33daa539498f493cf5c15054171dac50d76750c4dbcfe65e68e199f066325970d5ba9da7b54df7f987486c02eaabb5d1f79ddce5eae6a26938fd30bec658f5be937ef29a7432e2b4868beb032ac2acac9804e66ef154e22a8e3d75880a9b7beca918018bdcba3b0da2092c99789ea329657f8af5429b965007ea232cf0698e6624f8dac47998f23be57e32613c802e35b466392aaf89faaeff97a896e950648baa28c0890a83d622d85956893722b69ffd1b2b30e94962435527a3875e5ab7e48fcae56a63e4b95277ad52fd53aa5c6f4a5b2baaaa97ca4964f6aaa8f2a0b5555cad729eb5520b5409e0fe114065f5bbf53a7daa8944c3d58b44ce52aceabad0af9d51b45df55a6e24eed9890a95e29ea03f402fcf7f21eb4400fa6406225504476b52f7614a933231d10f01d68293fcb92f7b31ec29f07d8bf21201f66fbe7dd93b1354387b9608461f619d74c08c6b599775b4cd0cc3653b7a5de03820c83c0cc41c4e7583eccc6fe12c687105c7e9ec1d993f490e4e3700d1fe5c5cb1778c4641c37b01de7fcf7c05fbf01e698980c350e536ef69fc50ac375a3efb8d98079aafdf872d355238a8cdfe7bd6a0a46030da8ee4d501df486c6fbf6e6799886fc13a6f4b0808e6045cb71ee1b6971b787e701a65f1b439bef40e1364418c2e290db791ee8298f52c20629ec46a49ebb1caf30539d5ea50a347934156cfd3483330cc16342fd5dc5535777f89fc13440823f7375c07e6af9aa08db2014b23004d9ff882fde6f790e913c48532e79882513f85a72033ccc43788ebbe2d875fc3594d29290df3445192db65c77e5871fd6f3d0f2ca81ea0b5349df96951e2a430924140b529d8357708565738eb5ee458472e305d5f5a858fb0607b299ce4f324021280d040e178da03a54ac3acc959862fb388411195835ac0ef30d5bc2d460f9f09921f462f90f469dcdbb46a07a15f6ccc111a10205281ac2a53c18446afe5cfdd2c51a806a426f3bdbadff20786b8cb819f25832841b971cc09e46f8a6bad6ceb06cb5430119aac8026f92807341746ce720dcf35f2d8d5ee1accf17bd134fd9713e3bd51c3a873747cd41e77872a8f2f9b7ca3928244d5be868a1b5b0f09bc7b5c6ddf7dd1cbe65e7e3ebca80ee3f7bfa1e826fcd39bc82a675a73c4cb59863c900e1ee51231de861a85b2ded2153714f72c4b91abf3591a5c18476c3817ee01bce3f57f1fe4c6f565b42021abf718a68422b433a47b25eb390f67a0809c1dd0016514fa18f22dcc3d893ff234416783dd80f87617fc500a014244f59471e046d9de36ed0a3ea3e0f640d6ba0da0798ff1b7db0a9d40676713c7e6c193368013f9ecf754502606eb47227770bbc1b357c875b72718c992e6bd43200fea2efe1cc4771b1c770d7a370a1637fdfd1bbc8b1bfeba83dc3521cd67b7dc9af8c27e81ce1c9b421442a92929ee44947f251566a0e8df2fb2f1dd2d5eee79ecfe5be477341c770d7a370a1637fdfa15e331b28af275b57bbbdf31cfd352c9dcf38b057b9f7bb488a420a7c13262b41a238e907444db33a76cb695b8190e9ad15505cb0b4619f558682ecfcb1e774b9efd958503adcf5676b43e64a37b4c907630a195bd681a4503e91098168e2456e62268fe80eea58cc244a8211133944411062279b484195ac71beaaaffc30e77f5c677d9c531b00c12c8228bb4d0853d532a71d1d9184e8d421742a1396de88be125234b3e444cc29a7f92aa7f69af3748f736a2fd952945ce9222b0a959bfbcf757bf484035eba23bac4b9de873b9dfb7f3ba801fae17998313a701705f2f4dce045b6d313b0d17a8804e9129e861395fa48918aa4a46779bf9c7601e942d684c4110efb1ec7f90ec77b8b037a07c7bafd03bbbbe3dcfe015daecfec97bb26ddc98f5ef442335e7360a732d3a6b8eefc3cb77f42777d9e5b3fa13b3bcf2d9fc8dd9e3ba3974e329f66e73be7771dfd8b1d3b3d444f6162707f6a1fd1f7ee6fa50f3a511c103dbb742cb13adfb53be7ee5fe8dcfaccb8dc37019d7cd445167ae35505efabcb5dc9414d64100dc189793947e900c7f40c476550622597a808444ce4101d8188857ca2213831934bd408501199337a42f0ec430ef4103d8517c3bd8fe2828fe1be4771a1c7e0aea37fb16377cfd1bfd0d175665b80c5607c9ff3b53bd12d88536ffafc74f9cff61ca68a01d2647d54ad10a3bd54a0a3e893d2d5e6b82fa0ba758e708aaf38bff738a77738ab8b3f37fbc88e62e446f9463bb2e3eb59d02b5ee91f7729ce2e887ea192967b762b2ed9bcfebc6d0fcd11ceebfcafed7c5773f0577366758364da62ddf275cf6d8e9952fb047b243ebad17e3dd63d5e6314ce7535077d2c664e9a833d96331905822683b38efec18c1d3a49ff006211ade5de12a2cb5ef4efa892596764233a51abd4dceb1e5635361ee0f40ea66197b36e19c9d92e5edd1c85cc89b2c7bafc98bf08fcaea1e03fb92c1a59308e5019762c164eca98024c3863e64150153aaf1dddf2741e1ab70d976fe923b3ab2e86b1cbc1087cc6f6eac3f684d2436579d73fe4bf2999bb440cf00e5a770f69c459cbd1504597dc0c16246e2ce0b4f1ee42153af0ea5612aa688070ec417c18afff94c9d57a2af42c2a1ac85be924e034552ab467355a45a9a9509fa78a57e95e708b9a4e3d422af1de4ee97945ae06814b3659c0adf032beb722fe8d8b06de4e4e54746c1bfb2169669818d2a9dc98d0ab8d060d7b23da4ad893d4e589641215ddb79244b3eed7535a0f52d1888a4e071f97041a710f35283910ae992c8e30c98399663c909a15a1c5da02871e8145100dfab44285b65873ba2b9eda5d7e3d14d4aeb034a8682e23f97794ca794981c2151250504cd371360a338301158dd2ba7114c00fab881f55b142b74c3ac2271266f086ec9fa23b4a7c470250d00ead7444d334a64d37881200d9eeb496dec3e324b334a1dbd68a43ea9e5a805ac6f6975805a872b41e060754891f2bd48e8639b11e2609b1485b3ba612271d9c898b09ce5ae24c432df757bdaa9636bd39980e0b0171ba574b267d25fafa0a9c5d26135595a98165f1cd42a9043f2b94e31b295419c0d8db2c70157816042d2304fffbf111b04d8e804ad1370312af0fb1f46015e7f2448e1f09eb2990d2d516bdb7ccf5ba8f30a3de03ed2d50d3c44b8a2ea0f7b63940dc6fede5d94d6966cc1d35e8f71ae93a6a0009dcdb4cd33d03b8bcdc6472deda90b0dd6858bf6a8a8283c6bab16c2eec914eb9e004479e4b5b1ea2c1afdd4847e6d9ec3b0172f8439a3d75272a3f67622bac0909cd330cb4724daad8a7ee289a2bfcdae8014443185b8c2b91a8ba9c0a21e7e57783233df14b233d962bf05a2d4d182c9e1d5879a4afddb85749049abdcd25f8923a4083522c4d982e557d825055144d957e19be7232c226c0807703972504b2bb1900f4b7258130f66f583f693541bba1ff5505a2a35cebd7969ecb132a14bc65991a31bc8f46ca2818cae68e589843d5c92ad72a89af15ebe6f4af7053dd5d958a374c5718540b09175ea81f22ec389a5225744f32b61fc732a5a8a7eb847094650979b60e3245c55f66570226a641afa980fd6c36bd78a193f1a98c98c77f0551515ef7060d99d62c4efff611b12edb3f69c33ac200c3969825d37c204efa8d525679bb16ce56eaf90300168031e97bc131adda575232ca95b268866979b382e442b5b2ea007468138cb9df4b6fbb4786e3afeee27dafb440ea85eeed3b4ec7c799b6738e32af33ada210b1750384506501a195100a6cf2f15a91d48674b937bb6421c29c93f9ced0c043467b7203f020e4f64a9ba9b9f21d5fed3048b568f034259b72e13f2684a36172b8fd389eee7597dd2e27786520beebd77cbcc988e822bfd8d04047260f6dc01e0111cf28c567787a7e9684a023d0e3d1c45e9af2168f0f830bd2bf05cdf30876d8c6588399608adf0c53b2e75b22c869bb5c9df40cc1145da6d1bbcfb40fa5d2839e79c7815c61b2f7aae85169734d76ae3c2106c815001982f994378effb4229eed646e27d5c94f20e7d09c0c4ffac1216cc8c00788db69ee5f054fdb3514396ac0b874f4467293315a3a082ce219d5dbf01d7f8fae01e5381b42ddef342d79efdb999df5ef2adb40786cd86734b80dfd671bd6f1a66b4a26ce7dce8202ed1e1f54891c538d19b1d063deeb810d70e48b74889125b8cbd48ba743694e5a2696255967ffecc2ef2a940b8c8e4a4bd737ae518b4fdaaa0ba8854954d3b7d536118180111e65c653bb46e412fe979d010ba9af5eca71356c80ba5babb18c5b57cd3286e4868542db5b17c1241c744e9e91f7226f9e0a2da0a3b250c8d5812e1209f795b82f92435202470899423468bfe60f964063c32eb885c2bd5b6ef08d8c5eee68f7b873288a2257b850ca695be110a1caccbdef5931c32d92a8bed808f7913d185a27fd22289cd432df5b732772fac1bd3c2e41d0fbe0ee639aff0bcc407f615ff19fe598174e14f51d0a9fb96225b9942abdeb544c98d067decfeaac6506d1b126cd8ed0a11637a654a668a8b57b539ad3c1ad4d7a64d407180f408204149c116b78c826a67eb60931e19d4d6905764d13a4efa8f2037adf4e196c32d6fc28fe77792d8712278379fa1b629f37d9890c9403249ee3842a89ae4a05369df1069bd9c35d1d600aa59ccbf5a0ea4edf894be3ae3352d4cb00494c6c6cd911f6323f3c27a1f083dedb02415d0eda1d7bef7b30fadac9cb1476b1b6f865bc7d02c6fee1da46efde9130e1111f6bf8935b6409b94ee3e592e2562130bc1e390c3d0871ac8cb9d93af38754f155d4846ccf8f0a9e2941dee7ee41ada0ac6dd3c4d2934f7ee4be5f22fc70e907042984c918427fb960f47938fc54ce3b91d75ddb24fb58849bd1372d8acc75925f042613f8e735ef45da68cf247a483d0bc428f891389e846ec868064d1da5c3bbdd803bbadb64de314ef8563922505b9c91b03b9981486a5729e688a0773efc0f665ac4e9b88bbf7a01b0cbb8245caf4de612cd6521c68e64c518081997ab3478a16441431e2a719cdb10f79c4c20b0dacc3f9bdd46862c10d062ce04343cf7ab8f532fe1f869d6b47fe127a6739465ca0ebbc14a5ecf25b5569841b2f4328044c2b52925ab410d8ef28a41b1a51f9043f2d82483ac5a88d7630e01a7c381dfa4604bf942f3cde767da3263027e901202fd01bbc0f1c28ea18250dc2f8facc9a1633af666400565ed3cdb2d800bf0ed210c1da0b70541b8bc2440d859c64a7bcf52a89e91d659e55a2d7129804906548c1dd69dff03aa9f12a8009c1914deb6a234f4f8cc6259e2179474a155991efa9e2d01db11760d279b99c1143d96958667cbcce9189037a5b1926a70844dbe36f8e6cbd0173127e335421428bbc5391a9d6e6e5419f61c7e044f93424130a095d25e448a03379f506a3c6b9406300a9098bba4f66d0c6589001f350c02cb648747fb36a216411b0f5863b2b8918c8996d4e519164979bbe5f51306f32a68c41df452a6af758318a052316661844cc2a41e8b119e669865902f0d71e102c1a74129b2b1d7f71a8f457e50466c4b056af8d39fa646859e848cf702c6225d89e002fceba7a80f7d37955b35debd3fea56906441b3b6283269880fed49c1ac9f68fe21f0760190bb21401cfd8b48ad31b4c3790816e442e742e28c3b0cb212a2f6326422e850a13104bf2c26ca77451c719b6a587130626f105a64f644b66672a3bf8eadbf8d14315170be7918724986892282090e8ecd28d46acf9484fa5172e857d34f34edb01bfdbe171f4ee8e73f6b1870781a3882b2998a025e5e4cf9d3fb9668a025788b70b44dd942f769416a5fbea166bbdfd64205b2de8312a05561ee2941501653cdf2e4bc606c38e0985d6e03831fd7912de12063eac910d9c26b015dd17b9d65097ff3330a1b854598434855136032a1621b2e9e0b0fca9069145f78c8f7fa800a305570a59951eb74787507753f0db3da55efa7c2a87ba9efaa0c07091a353de50e6e0ece8083edea1ffcc78ccfcae2281fe7d3fea70dceddf89f98dbd8b558d404c8ad39837c226f0418027c3e8622a3271adc5529acbb56526b53f7ac32b600e1c5f30b609c8dd8df1f361fbb8d8e80ecd2359dc6d48227a4126c6795857b2753e3629ae2bd2cfebac92d5dc1cc982df898a78a0f4efa7172abd9a4d7c4da29aa788cc102b81c0769fad240c35090d57015684ff7613ee802af69aa95bbafc5c1b2d11c09e1063fc3ae895c86bcae2bfb71442b138d59f1dd1091fb0942f4397a8760c6b9817e2bf3942a1ea7a7f92d099115919e32ae9c41a63500a53752b2474aa9474a62f0a727a23f01e08216b54942e9b92f0d943f469f96484fb7e0d13b9ea797ce43c59f0a3e9e442cb34cf3ff587f64a5ef2adbcb0282af8d88bc99f2b12873af0c6de514a1dc47746d653cbab48bc3a1b767df51dca351bb8acbe42e3d4f00aef0b8d683f59469a50c747da86fd7fbf81dd9cc92522663a44cb21eca905084d84d09d2361418a1c8ac9002679929c2a09e2cbc5543bd5ba0670bddca829e2da4670b6ebb503d9b338c541d6e85c50c00aa7fb4232b3d0721c896c0893eb0e243828843351a3ad192aad1f6da52fddf18579e1ad9145128d021d29c85cbcafc68292f4339d6d34304aa9cf3fac277f8f3253ba097ac971b0d9a02b78d640c36cefd0a8e7af44517d1e081bc5830ee2af61332562b8661751c96d632eb03a83c50ae29cbfb2060389109d2837300d7fef7e5677cee5d7cccbc66fea6b5724119a86f46f28087fe4035532545b262103b8dff42641748b15de6b211cf61363c00100d0d9f8e090e7eb6cde7cb1ce2f55d91a5f551da103ca651acd66adb898500259621a8645c09ec2d8d0d6267dfe1a16022540d474849e6aee741591a21d8800ed223c02f95181b7e8248c1062e610135f8476ebc221b6e1114afc8c5af242500f9ec59211962d18bbf784517ae50e82ee7bbd589dcfd3cb73fe1bba25b2e54082fe8c70d8ae319bdb886a278452f6e51084fe8c20d8ae1093db847873429e9c08e9e8d1f64430b6f308e2ef8a3ab2b4d126007f5926055fbbf7c7a4bb6dd2cf03d2ddd4c19ecfb7c26aa65c6dae92b4c1a3611b29c1c35de98042bafa03c6993a25b840c6684d41ca6f5bb91971407c97dbdbcaec8ada00852e81039d51796ca48c8a11e34d016c6211ffe70dbb286bf1ad441e75e197964fb45e550a58d539e82ae38e10a65d7f9e78c0d6f60321f2787b624c22289394f9caacaf519b5c62aef04adc90a1c5c164350abb98d3cf961bc045a35345e402d59b7770833c88b2170184a70f98802b47219b1ddd015519c8bd88299ece1f30d5193998ee0a37038758f1a8e716138459a9e0689bb6833eb07f727a32eade04e231cedc7aa106031e1be5d8cb70c99334d3e2cb7203d8cd83feb7c2417abab59e15cb5fcc4a50f4deaeca10c6cf9198136ceb3dbf2e06c33b4b2297834c448d4f0465664a5743e91831cb5935ccbcd39195a437738dee80e14c46f4c729c28d85c9b7b4b43e0f08d5fba91e38a432e175dcaf900c8ed3cb60d3ffa47c4edf39477380ead8d11a094108c3304040122bbef11ff5bf54f515c24c10cce66301668490f534c8e3685967b1b3e0235e0264543d186a383e79a695453abfd94724de14b7abe3ef107777a16956d7005a7492dfba70d79ddd3a4ab47b8ee0aaf1bc61f7209b1ee7b00d7040320ac380a6531aab2001cce0b721d2f28231ad4072e73a325c280ce260b0c9b3c24d768b4fe0ed934edf05a93bcffeaa3774887c8d96f34b4fe71bfeab0be19325288fbd2e0eb1f9a2d0a8b8ff536f5e0806bd2ad3d383dfe53967aa7c7517fc255de160557ed79440b7732e12d21a575725a30fa9e81fe06f26953d7e43c8a1fdc6b41f89a50c1014eb3db1e56af7b8f18a020866b95c72c370c8f3c3eecc1c221a241050921e1358863e12ded41d61731c051890a90885013e6216c293944aa9be8caf0cf935b0762c954ebaf02efb6a491b43232c5ad77fb79a853dd93801944316b39c4fe3ab17bfa6a38655fed6b17a1fe5614f8ffe35f130a9b5ce17442566cc738c6455311a41d515082bc805b8d5ccaa2827f0528e41b1b1f6d5280f1a7833bb30aca5bd24afa2da05e778410ab00b87d78ee01f6fd629ce4a361d9b883a25894320b220fbd18be05e0693b7f5cf634675cbeeb2d1b773a34275c58625c38b3348bd1a32bd753db265b84705ad711d9cd40b9f1140b50a163cd39f0d8d056730b207435f28e9003bfbec824cc6209a358583423063845d5754234a31865e9ff950a82ac49ac6c579e88af488f2ec3f7739853b144f1dcca6f76925dee679fbd46deb4996dbbe67aea5123896f9825c7e01f5d2ecb3b942359f75b25073b0c3671d1d6dc5743277280f2fcca1edb67e0b12bbaa55d76ce4684bc5b6b8923d15e6567f97b255a689d4e04664484a4fc9e856950fb4c81e240c6af8bfecd473da6f5991ab7fba36d904f3714199ea28c9c5bee84b11d8ec5830de358c1716b6a8f8e0ec43968aa24da1440343be02e4a885f551da31fe9da5210b5d684ea343bd7964e6ac79f80e33670a696630d5352fdd4b903ed67c91ff3b940787780be6619a82e4f108e0427bbc42d759f02089fd75f8368c0d61ab74d4b717d5333411afcfd107741f50138a11a5aefa634e9882b171e69baff6146f3ded84a79b21a602fbf9b99b2ea76fd3748e9b1f66f40981d0b8283025f7fd8c51dee86e17d478566e824cebd32647ab11b17473c8b834b33174de02d6ff08f2c1c44a98a5121fd3b68e07902b465df89a0c89e65a6db35d7ecbfcf6b074865ccf000a0f8dc266e6af4b52e578d7da4f4f61b965d2c5a2eb117de0487b909c52fcd05d62b55409f8becb3ed7fdef2aaf310c9f3236834c0b47984a33d197e6ae8f71ed1ae70d15765f02fabf16a36d143420905756dc0c9bbdcb9ab36d803adeffada20bf015fa30dc4aae0472611d3e73e2e466ceb74243f7bf460ef061e3166fef9beaf2e876ae1d48fcad6906e35713fbb9f16d3f44cf21c9162b6cd65c2d6cb1536fe22e26666c0d950700cff1adad76421f39c0e70e26bae0ed2098fc20f421bbebf7ba433a2fda948a900b55b60e2dd714b5c8daf75c6e38ceb6152ead263031877f2561812bc3cb362a405d41a60108c2a3dc5c1ea0b354bb1a28dc29180d6ddf09165ba4ca04fff7c046a65809d1a1693181f00e4ace61accf4c5b6a6ed03114284dd620c90b4a1f2b78f9875509739759dbda1e3f0e63c2a20e71b1739da350ae9a635026f487f0cf5909f32e34404f92b2890436309690efd529a4d17662934b7ad640726e1e3d8b426b20b57a15cd99dda4cdacf2c40ff99cefcf5d096164a2d89220baf016094cc80d3ed61be9cf5ced454d4a88ca6eccf52fb420aa7f901b50e1483d5e9cf2872e70bf2befb91edded72ce3be743c801a6db008eb853914316a40b0e62ff0db4118c952d42145be6b60dd7a9d44baf896a26de91cec15a4e833ea5096201d8b698e03b3a618dc4f7b870d7df1704b3ccfa43b35a5181ea95e5ea1dadb46f4c3c11967e3c79bf17023a7ed8944b23a5356a031bb115c5a8ea432e0861a2609f00a16307144e45125e49aaf2743f779f0d196129cca5cfc9facba2466aabfc59a6608dae9f6474f9edaf322c5ddda7ade0b491ff1cd35b0e3ed870e7a2103358e593d9b89bcd0ec7a5905b595b79c33dfea99b6bc5f5a2bd89c8a949b2d97aaa0c0008dc93904b9c2ab5adc93d693bd888be7de77335e491244b3d8f412370449505ed36c9390f31688f69aa7d733a0e1d58137229565e769863cd200c006a7ca9981ae90a1fc3209015d564025b17340c30e42c7ee1d3a55510b951f54fa72bd1c9c5e514e2d5628c4d182652faf202f023802d2b2473e40cebca1e770890de000d87441dab8c75cf851d4182f4237a0ff052f2afedb18307bbd6b17082477b024bbd51c3e60680a71b8272c3e0520092280621026d4f9851274db269068246b4f9a6327b729d036169c08068c233c740190390efc2183657620df6d0c6dd8e466885e8579605220a4c04dae1a49dc20f8e5539420cd9e752b373742f43fb44d86fc83db45f5b7baadc6b52aa3ba05fbc735c8fcaa2d6e47f6eeaccabad88e3b509150375fb2b36682e3a870f5e78ee466fa8f822be9849aeb7b0434e8382d16aa62ced9002ce5b6288b8de2130217b2584bd2ef63679309c42f0c477ed25f4454438f5e650fb0501e56cd9c7681feee0e72b07e530e2aff196d075e0c9fc48fc355606111e9be78513c390f11a68d80c7d1f7f0c5b8045c2c441d171e4b4ff8c3fd4b50a26be63f4a99d61cfab6054792b743e25e004bcce3fbc557217b99c6f21b76aef8b842db0336b8ed9739b2e7673e328171c26ef3ef40ff004b995bfb197c764bef43446173665a09ca7b69e1fcc57edf1316ce2b0dd5bf14c88f8c67d1a896834e36825b2a36c9740e51be9d930d34ba606d7362ae9c906e4ad8470d35f53dd1572b70f0176d668603cef1db29d5421c00ba71beb5bee0a7eaac51743cbf00f0d4b9b8ff9cf97e5501fd376bc14d1040182771f68baeb0b18ddde2ee658ee1a0978af567f5e1f7a34c739ce2803a7210cdf6d8ad628703cd9715fee6373197cd627a54a526b1cb14b4645cb83b499d8375156023496793843b5818ca0c8978d0b56aee54ecea70c759f52b0c27c35f1c19c9f2c949d8be67761ed8777fcadcdd53c1c71f947c4baee7df1abad7b1109d33138626421b76d05c8922f5cf325a1669074066fc766feb9b5a1dda2fd8165acb2084afdd91c250ee302a7a7785988ba6d67cc96a71d1deef2fd921f443bd9d2fbce566f42638b1274c841f14eed366616d5bd9e2af09984f3a005253de4271382297e55e8dbdccc70ca13a33f61411233cdd3c4ee9c4cd9ed3616cf630fefca1816e2d351465abbb59e0b04b92de71c776a1618a144e481387f371be77e660c2fbb321a8e74849b82f2ced3d50c1e89e202efaba2f62205f57d314e8054fb8ea43e7afb819878024bdfb955ff4b9fe471247e02f5c01d70b4cf1b7d346a0074281dc68219eb4dfe529bab25648e41f17004c4abc911a198bc8c597366aedff4f410af3e6f0836113ced52cc70fda41c40495e72693ac506d71c32720c3d7f3a0269ae84d14b6d05e57f839fed4f9d288f64f6023ba02e21e46c1b9229dd2f2105efa02c212b6cabb211b50f3111eca22e916aec6b1221f5032214906bd00232a6c6d9e29a22fcf0936a02c25eee0147c7ba4393d0fe1a32d20efe057fc3bb2012d17e1a72b27ede16b1c1bd2013d0ffda32f932de0aa1c3bb2392d1ffda328912ee06bfc1bf2992e03f5a52893ede1eafc1d8289f699ce0b975d68290237aab741963696d9ce8f6dda352bb5a6826add5193bd97c8e64bf31121ca286c2cad0f51884fc044426bb161b8146ebc4084308b0dabc54144e93b908268526e0cae020d8f4871464563497988507d042492da8b2dc22560e3212ac8506c5aafb84906a4a7519343613c4e1c896cbe328d5d027b506b9a22d3700a74f5bc9cf57107781917c73431a7e612953387eb1fe5db4c5a582cdb16efb2afcdc416e5b1efb4ad71ccafd154506e4a8ef215f95297c03adc33924d1030fa2ab52db3b2795fb845a03b60b9befb9aeec01a2a6b9d0fb8bebdea8e2c0f807e2d59a69871e284a7a69900dbc8c29e885c0ce8ac8a6383101566ef930d8616eff9ee07b68513cc6d89d75606aa3afc18779987630225c5ac2050b2f1da57946f10b61faaec1f392493cbc60cc9a2af5f84f65444b67bc703f8baf68a9cd919b1111e52c4c3cdfcc5a158ac98b2b894e8c5d7946e149b8c401d935794a3ccdaabcd3b41251a02a33ddcc62d94b56773d51d8ade91676e664f2e2c4f9d24f425c17e4798653141834ae2cc7b605e1fc15acd94f4c05a5a5425a59f54acf37c18ad6ebb9a7754ebe00c461a26bebbeb757c52b1850872d3623d8c6a75a2fd69fcf8b0d75a540695b4b12009854468463845ab6372560ad0c80e26718560c1be7b62355f7c57730dffcc59af7fe05a134b2373736f6e8cbfedd4870d7a95b781f4d3d23b14002c3698b812a8145fb921982e55c8bbdb4577383888347361bbf7c4a8b5648c8360da7f8d3878388ff99061e135c6deb97db90e7841f12cdccc78e593baa695ec39a82d07c5b9e72ab0e73ab003d131f265bfd3f1f77444467a080e94b96dfd48b4d79ef22e71487930de7dd60b0535d2ed2b6c7fc4487e5d05dfdcda4170f4165a07a92ac4794136a297674b5f22b3eb8bc30e6180f1987bc82a92fd334dcb9cff002a069322681393b86180fef4593f010ba5fa4a429c74a0b99a7b619aa577c7a5d678a6df833e1eba3ca767073f91ce0815239767851c1d732015e7afd81c6730f49b55322993320e3e4a186538f384cefb813fe3edd71c379a8364161633c7a007f35aa13c9e5d523820ff12c230b9387372ee7c0f72db8a7ffcfa1c9e0714b203c2c4c39f0d01dd0aa75d2173465eed50b582878a7085449a7b37889a43150c816d4d1731f300afe0bdbd03b24e1289df9787c4f34df4049f289dc07470690c1d921fd62f49602655f6b27c09632ca0f2f453dbfc35f788be4f277a140466d3a8c8e682898439a662e86b60081dd1fbb03baaf92c8203e530d666f50cebfcf4163c1f2293fedd2f9631a3c5d568158c15c95b56fac684ef60b022f05be3edd1d24cbb40bc049c927900eb54321c2598318e66dcbf8bb8ad5b93b2aa86400746761b1d52ee2347671849fdbd1e1016fdec0f129c79d541ed0f3bca8518353ae64a14de5e29a5e8504d23f50856d648aaad90597435a032252a61ea3cad42edbe8c83aea52819155639db24d38be0f175faa7201aaae5378b28f997e696daa8b9e6f21daf40558cbb9165cf4319653a1fd2cde3073187deb4561cdd4e2b17bd30d42db6a4a4b6065ce1c57af12cfcb6b2390e43b595d5ea7341df50ecc7e44c85e24987e02b23c62669ff398358a0385fd4578827c9ad12e124d2eab749b8e92dea88e1bfe470490339d3aba3370aefca0deb2703317fe34889351ebdee858e02bc7c023e3fc4e20a3560b26639ff000000000000000080cd08ad459be82d644a497299f009f2e2534a49ca94e435fcc5ace12fd286bf98b710da983ea104f10a0a0b860a48e0841a951ab25a8a31a58fc0c694c52ae6aca8eb6e7ec1c308bc7e060f2a2c7b44b46c82c0a3089c88d94ac5d1415f2527abe04104f66490418a9685598a8cc710186d9e5ce2e81ee12127c08182f7a2aa06071e901e42e0d7748ae9f6facff1f40802274faa9b7bceb6f49a0710b87251bf154d56c8cb3d7ec09689a8a2526828f599870f188dbaa5c342a7f68a3dd046e99aee75d2203c78c0fbe49ca07b3d93ba540e1c27c0e1c50576d4e0a2460d2e6a7051e357702c7075a3f2e0b1032e25d31a49a4904cc8fd86133c74c0ee8e9cac15c36bd36bc3c6173b70a8c0868d2678e4804d917b3f6e48f9b36d0f1cbc123d4c724aba1b70a7a13552766ad59fecc0d130780f1b70218524ca937f8aeb28ddd8f2008c5ab01dfa3de3e5e7230b023068c185854f9296c936f5c50e1c14480dc098059b358fd0196657eaa27682c300ac2f76e05041f9000c59f0597632a4ee9c3be20d2316ac66dd2432ef881c3f5880010bde73fedb66abc6c8f92b3821337252da3ea93b05c3158ccaa61f3b37d7af663200a3157c0775227dc6090c5630d9e4e6f0106d18abe04b8b88de6a625ddfd0e1c70218aa6027f7780911e3d84963f029d0e146078c54645ac153ddf7fec8bab1034795a101062af8dc6dbb2dc136e85d5ba76054680bef6e714b2905862998dced253733f757f24ac1bdf59779a83c1da22605afd9744ab3f47eda54cc46c1f756c9143d660a53b138c01005a3a25a4c67b234c5ce43c1e8259929e8ca7feb5dd5b9010628f8a4348b241ff71ca47a05e3136c76f84acc1847482a4b2d20821b0a80e109269850ed892e71a38b2bf0c28b052cc073fc1730601b366cd8382ec0e80413d49fc4092a65dee539c18665db907c924c117b13bcbd091d9ebe2593526a829112f3699af4addf6ba1002313fca5cfaa2331c630956382b3a86e226e245501c625783349a2d40491c3ed03021896e0af2f4bd2e4d3f3b825004625b8f1cccea03949be4a52825151962734cbd4fa9693e027e8b17c299fa8e88d92606276519342295d164c27801109ce43b4f673663c7581043f298a50c12dbff6631f59662e80f108ed3b6693f980e108b6fb74d498b41474f73bde8b46f09ffdbcdc5246ec90fdc8b252010c4670ef96573a7dbeca36c158049ff49bce2343db869042010c45987f23e9c82a762218cd88a69dd3faa3d688e0c33c988c6f979aca730846b4c8525b961a82b750317db3ee4ab959083e2831ed3f1a347d9010bce750b23f3b26cd3183607dd45d580a41a7d21941f051acccbc4455745302c1561aff00c1ed55b44c595b2ca8ed0fbb58e69e9e68d3d4173876e8e8e2bdcc1001861fb88eed7aead7e90397cf4c8a720b49e9f0814d11d7df84e91b9d4e187be082fa4a236e5617670537bc04c00c30f4c06aa977dad2ab9fd471c30e00230f7c6a8b07adba5a6f3ee381171ba1b5fdd3f43b78be380de0a2060cde734420e588028c3b7071276e887a8877227405861df8fa4fb3cd2cc242ae4387177560432cabccc1b484483b47190c3a707aed2b8a9c580d0e3c2005ade30b30e6c089aaefa0d731e6fe0f861cb8989a1f36424a6c0b30e26030e0c0ef07b3582129df8b207d039f3599d258df56c9521f593b6e580d0e3c400f861bf851bb69a9fa69039f3ded054d114cdea85470725ca00617ba04186c60e4adf9c5782562a5680d4cd6cbb134c9aa343aa806aeb54e648a8c2a694c0397b77497e7dfb7480a1a58bd7c31048fd59e629675067e5224e5a1d392eca87e646913609821ad904a4efe3fb2cc7800a30c24d941d2575c5f5d7100830c9c67885d31b3e7f2fde018d8685a2f64d4c8e6eed0d1c5614d018618886ea92c2d57ce4c35d15c13444b86e94b39e7860e3755031861e0df77c4d593922229290b30c0c0e7e83942854aa9e29dce15607c8131ffce6d499bc8e9b4aa1b657380e105de5ed495881155848c6ec0860d84038c2eb05a298d857931f80908010617d8903d4272d5fd2da5e7820930b6c0bd87d4b2094109d98dffe2bc176d8e00430bac09f3a047d9e4c841ff915522f08ec305468091052e78e7fdeeee1847286181bf8eb95f81f390dc3d56fca03a6c2bb02194f074d34988f45481914187a4a663e8d12ea2029fddd9ebe3868f45d114185d17b35bdbd64f4352e0f626055d5b1169d4fbc82a02230adcd7eeda64170a9cccd8bb96fa842a9d3e818f67b5c933fffd7dd2097c6aed8fe974d90436d5c45b533f512d13b8be64bada9aed2dbe04b6a2040d29a54d9414540227bc766350bd2b099a2470c9832c892349a8104702a3c1c3434ea73d874a39021f2b278d593d259d6f23f013f34fe814293d47456053aaec3909d549b9ba45af9fc839b63a04d6a324393292426093b0bbbc4b5aaab2da41ca0401061078c9756342f3bcf13772e8c851ce8b2fba38183f6034ab07d7eb48bbdea7e0ac600b00c3075c8c9c430aba27089d841f2901183d6092aad64c32c64d9f391ef05ebeaf16830a1e62a6d6c559c1ad05447023023076c07ad012a4a412da25c38fac0d7cec3810b080086ec000860e98902b74de1c0c50a046819103b62da2a7ec0bd7987b0c68a003353040810bc0c04121b77d12ed69a4053fb23e769c0f525b3e769c8f3203183728b523a869b6eeca9e3d0c1bf0b93e574e2167523ed616b5e0275892e9449d68c12451f1b48e588e6739b3607295261deae15f62d942164cd22393e7689ff425658b58309a538de66f07a526adb0e0def3e73c1dbd6219d157703a57c95231b43a68c9157c486e3ab36bf59f75cc14b668051b566aef9225e78a9c157cc5af3b61d93fb3bc55f0a93fefc818e9554b55f049a7e89ecc22dfc86ca3b0452a981cc2bb332931a1430515ec644f1f747cbb4d317b35862d4e81669e4a4ac87dd50b5b98823b1dc22c6987d4efa152b0993455463d1553de490a36e47d769a5d261b952f6c310a36a50ad5eeeb59eb1e51701e596f2c95b03fa550701e2d8814b2ad3d470d0a6e5b3b9ac5fadd53399fe054b78f72df984c67e6097eafc2eadc9476673bc19ae8a914347ddeea0ab9b0052738696722e83a65aa44629b60b209ed1be6697b45aa094e43b21862daa7e8785f830314a861c34626b8f54c151233bbf6db8f2c33812d30c1c4ec29bafc94866556822d2ec1860a099a7b3a064f9725780921099d6428732f2bc1486e11fab3a42447c58fac1d5edc3094e0844b7ed35aab229a6d608b49b0694265dea064a83c035b48820bfd9b2e592c69cddd47965a608b4830ba34886bee6dfc367d641909b68004bf27e4c8a4a52c6d057d647d7c81e305395a9020d8e2118c6659e4b0b3c8ea932f8c23b8fc244d63281537682b470bd28d1878f14569041f6388a1b62efdc8eaf76204a755ab64ee3c7e64dd72608b45b07ba6a7d73b0565d9a1021d3abac84a0f6ca1082e4ab4184ac62e994729119c926d1e526f7eda6c22824f513dc12ff5447434478e0898618b43b0ef22542dd38624d56d610826ffe90f5d79cf7df385e09469af67ef586aea8460f38acc6f928387d84183e0df8448f01dfd6ae20a8251f7919a532933b33510ace51a173d3a296b5440f03985d4771e73ee88d13f70dbd969b193d20f9c9b4c6a377a9d36a80f7cc774d99a53aef41ff2810971fbea3e868abcca1eb84df5ce69d92b6f677a60f2751491a5aa29f77960ac5ccd3d99447b1b0f5c8ad81b93922da6a4240b5bdc810b39441acd1dd35b9decc0c9a0932d8869cc4126d581b70eb5a939e5e9c045d11efc437afc68f139b0ed1e29744e412ff396039bf973fb7ed0278450c78115b9294b377eb0a44570605dbb73e2fff9da86dec0f9841c3ca8f69b18416e609269ce929f7cbdafd30636b45fd691ba41e9d3b281d32d21825a48a752b86bf844c74e7a4d473fb23ea8c515610a0597b7e35a483922fe5582821d8d58318a9269e2fa9fe072a4939c165fc773c8788289e3ade962ea04176ad2aba9d25d97434eb01efd44991cb7f7cc6f82d75c1e3127dfe8ee390fc4d00467a9b126c64d89910926265149052533b6861c14626082cbb2ab1d5132b818832f72b4e0aa06071ef0821897602ddfa4946a625f88610946e99afa5c965279aa2bc18632e1992c2458247d294a307669d3e8d62efbfcc5988427634eea2b0465fa47560a74e8f85081e330d3430c49c48804977b57efd3c9d593e9479681043f59629abf7e7804b710e311dca44e9a279e7b9e90fec83a2e3ebec0f1811d2a50c1026a7051a3061735b8a8b101171452c6117c4792c93c6989eec935821d53aaa325ad76a5648411dc9a9b16bf4efad25f04a3ca57a4579259b2ae883de7dbe8397a97083e666bf0577589a335227873d7247a53daa85f87e02d6a3e2b158f2138a999bd424a4285e0c4b35252baf55a7409c166ca1547af424c72af41707a3922b78b5c10dc7fc8a1ab933aa57334108cd041f4b359a737cb2e20d8a4d2f565361d73c69c3f709ed6d4c23a8f299dfa81c99f5366c991d2b4cc3ef0a116428e392a9b5e0b1f989cb2c75d3b99673f3a31f6c0296dd57afda56b240982187ae02c52565c2d55418b3cf3c0fda66fde7a4aab41060f6cfc184952cca7122dbc035b21899c2dddf87aaa6ee87062438861073647b0589f2e6d849a75e0948c6026a24eba880e7c0617252c0625ab47b3811873604458b20dd59fc252f991754387271062c881cf2254a6a043b2908316074e240fb975b94fb9653fb2dccf0d1d8e3f880107de6af32f63084f9bf447960adec07588744a75b2fcd3a18fac2edcc0057fafa43abbcdcf2e1dc46803a32d7a2aafcef6a61b2900c8410c36f01fab23580e15dddad74154a0821638808b0bc421c61a38691242aad009c00c31d4c0648da1d4c80e993cef1b5ffc8ee3418c34b0e7a64f796eb63829bb11032fbed88a81064658762a3d42488e3b9e81f5983e7ad2e956ffa93ac1c9712a80270032c430031fdf4bf208df73d7bcd0d13bcc2c6294818d6757aa4166b36817374c1131c8c09bc825bc4df691958388310653be5a24f7486bb24b3a6ed8c510031b728ea572ecd290adfbc8ba612e1031c2c0a64c7e3579e4fa0729183899428bc476d39b528d5e88f105ce7290f9ab26825e9f1f59a60b31bcc055c90e39f45ea64a0d31bac0551c371932a88594e345950d1b6488c105d65e4383be2d1d37c9b7c07b3cf31c63e67d534ad302ff31857969c81bc49259e05793a8a4f6268492292cc4c0021f94b61834d4e83ae9b9029f123be9d22ec6b0029b2e93a94ad091b1d72d4b8851054688a7e0a73fbd4da5aa8418546063929092d229adf7a429d038be385f6ca00931a6c0e7daa41d732521da527386185260cdb62e78ac14a1391b05365309ed213969861850e04c524ceeff6b17944fe0b256f6d1f2342e32c5b410c3097ce690f79326db204dd80426b7974e1ff47bc8969385184ce06336ad7beabdd91218159d1154bef31c5d4487184a604d978821462c1d2d93c04735a5f398e5742146320e3190c025215209371164758c1f811b99bdf2a94b31cfca088cd267b934df67a997c610a308dc97c8759af2bf75f90ba8ab184460fc54700d95d4f28a3a042665e9c593fc2d3ae85fe4387d3ca076238610d89479bf4674348eda5ad0c576b1836304814db6232b77b269a44c0c20704976889b9f52eb262d86183fe04ae85d506da2d4e7a48521860ff81c949ea037dd7888ba077c3417d3af1cd48469a31083078c0e95b3376bc8a553bd83b251a188a103468da57bedf58abc9775428c1c70e917d3c75cd11852f581183860dff2657b1fed124f6a811837e0bb4412fdab2d75a7c32a420c1b302a4216755a438aa22b44f0a8053f7a931e99a3b48860f9c8baa1c3cd68c1241541cc6b25e5d1b2c063169c294f797286bad2b91478c882ff95e05f42652da1fd47d687472c38217aa28448af8f1afcc8ba2378c08237f1f10f519293fdf591a5c38b27c715002278bce28e397eb1229f0ea12b98904cda8dee6cca5277433990836dd8a8d284472bd852d31aef2ed59194c666e0c10a26fa8d851854aa17fdf182c72a760be92a657b1f5925050f55901678a4820dd134975e97b43d1f158c85d4d972109dd2c5f514ac47894188bc31057b679abc2b2dc549a9e431c7fd92e0410a36c60c9dee25c5102d320a26bb9efd67781c2f5514dcd59ec624af3ca6cf848249252786781750b0fea53348f0f80497844a957aa2aeadd31e9e6073deeea6edce631ff4e8047fe2a7224db614bb621e7182efdd7fc92292b6eb7e138c87ca4c9bb3c2d347366cd8b0b1633d34c127a5e2482d1139c62f055658a432a1aa5bccb210529975a9852749a6c12d5c4daec1850d1ba671e4213c30c169041577a4e524d5e297e044e41c2d656ec808ae2558cdadf1cf1264a951558211d91e63b41c3aed8b32e041893a54cc9f87c1dfd0f1c58db317784c82c99b47a5e8d23948dd737848820bd1267d960cf9c8ba157844821d53b124a97d12b6970868103c20c1e60f425f7a454f1fed47f0955b3b6465bea61d3982cd41245da126430c9991227834824b49a692d1e246b52c19c1c71ca287baca3649df45f0f66921f345ac1425a80826a58e4953e79ae7ba12c15a887e4a7aee18b4ed8108764c89fa91b5183804779df4b6498d29c7cb60133c0cc1a8752dd5236f6f3464400d2e6ae4c0713eb8b06123078ef35108369bd2dbb7ca5b1f84c6ba382bf0800721f8906495d35c35c5f80e823799f255a6cfa4935b1ca0021c0ec881e378d10041a09390193276cc932f72e0f8d8402463fba8d21a5f3de8091e80409acaa626f354c77c8efb431a2229e28d25fff2232b06e806a9f5039bef1f6e52d3f342b642f0e803bba6753c0491762bc6f9c0998cd56165b7baff1ed8fad189237ab4f4a77a60e2b707ad5751b269f3c0648f1de3a81cad67293c70571532f4c99c5d3f02078f3b70fd21420c2da1458dd009c2c30e5c5bdd78dc7c8df4b6fdc1a30e8ce4beca4a418647ab1c40720f1e74e0520e922a2777c9415c443978cc81cb253c0895ddc8a143cbdddd999999999955555555d56aa22967c5450d520303062d20821b03a883871cb83aef646b62b2e33538f0001378c481b71f53319ea68650071e7070620e4a85bc3f53ba8f2c17bc066cd870c17b917bf078031793274f8f223cf55b0f3770698358564851f4a4531bb8d2bf93f43e5b9039c4830d8c09a1f48aaef8e52a50c1e91b9f03c70a120c1e6be0ed7b44473b0bb5a7c6b1e320db82871af898c42f0951eab4aa53452ffe0b1cc5230d5cbcabd83978f2230b0d8c0cdad47ec413cf124b79058f33f02ebaaea2dda8a062ba14c2c30cfc65a915c95b595ccb327039061de1492c664c9e8f440f3270d9939a2491b640788c818bf621653b1dccd48b62e023e6c6089e1a8f30701fdb62898817356d72e8500117366cc4c1030cec7f87984be4e5a86d5bb8e38b1cc7e30b9cf06af792ecbfd677171e5ee0d3e975a6082a056da713787481c97e6d4abfea5a4653e1c1830b5c0a71e28ec6fc1a745f75e30e1e5b6063d2a32db337b0ace0a105464f75bc7c1f1db378e7a38bc22c70667194be32897183d247962995080f2cb0e196b4e5d0b12b301a2cf363860e6ef539838715d89092ecf4ed51eeea6215784b92d279d747d349f7a0027be51d41e6baa447493eb2aa6c0a7cb4d126d47786983cf790021753b0bc39435214d81fa57443aad2f9e20f05fe8452b97fd2259557f77802af7b96740ccbd1317702fb5d497d9eca91838813c2a3094cc8363ada97734a49a870e1c104feba528c156c43c8271d3776e05800053c96c045f6cc4b295b7cd528810b953c695ddb47a67812981437f7f9a94b0c1e01077d13fc5f667f7ed6fad19a26f8545f4a7895efe518cb04dba2ba252d6598e0c6d5aa464d2c9dfb251859751252298f49456509ce34dc4abb58094ea8b0e066325b9d28c166100f9eb3a3965d350976a3697bdd24df349204df79cf4e73c7cca6ee800091e0d34b0a9edd73cade3d2458cb398bc91c7c4caf5a023c82b551b5c1334b945adb117c2789d9d4deaec4d47e642d066a70800216b06103034580467017ffdf620e22c7b4c4082e866afdefbcbcdefb221879fd67a622d5a9e98ae053659b603a49d5f849043b22ef25ed10c1f3da88e037e77117bdf421784b52e3a4e426d4e50dc1c511fdcca12b04779b723a752188106cd2a4b657f1330846d85dd5c9b0589616042f4a9b5d257303c158a4aa90746380e035e9bd6a8d26b541fd032fc943c6d50949d2a57e603f7464ca8a641fd89c45d955b0aceb8d0f6cf4fb30f52a3265857b609387783ae7946cdfd7039f2e6448a562e7fe9092072e6b0a5926827b88193c3066252dbeeafd5aa5eec0a7f58b5075134aee7660bb337fa498194c74485a4004377210a00e8cb41c2f2519733a704a3772f728595ad29e035b5ae9226250e5c0580ef23ca9a045ef8771e0df421035312c0b88e08613000e6c5af2f8e6a237b01237a36848ddc08dedc60d167d2f746c0313db935ac61862b26c36302a4c2c0895336b603f3ce5670629a259218d78796912f5d2c05a4b886d1a2a68e0dcbbcc523deab7561f99880067e0cef36809162ff7f337031f6456df9c4bd84b7c095006cec253bac8a752e7ac210c084006de7359678ea22467ce8f814d57a99a7d4c3ff362e0aa472c25a1d2549b1d0636ae55501a7f337d088181f3fc1f5a624e75519e2f701bb3a993ed9a0908e00546928752122ca5ab3d75810bff18a458665c60b3f904cbc1b42e45bf05d6356453eeb793b5762df0baa73d849c7a16b8a0524853ff15bc46c70217d2afdfa91fcb63f12bf02f7a3fdaa84d1ea5b6023f3269fb51a23de38faac06dc6a4d1beb5b3ef880a7cac0ade7756be29084d8131154366ced59fe1212970a6b4882025c79c42e54481573bb5f68ad871540b05c6abb5945f563ea9eb13f87c12dcea52363bb53a815dff8c1ff61747c4b4095cbe84b4a15b2228953281d34b7247f2abe8bd7e09bc24dbec5fca3ae83095c06ee5e9b2d71444d598043679f0317de9ea54a920811515b3dd68ff684a588ec09d6dc89682102995578cc0797ade1c44558ac0959887a452c8192f5588c067d3512329bb1da51e022fe945db658ab07f4f089ccc62a672bd728e7841602f5dba64f314f45b0e085cc77f0942859aaae57ec048ac90b84127f98017b50d428a96fca05a0fb88de9b4bd3ad9a678f180cb549fe47ab2b51fd50ef8b8992b1d7057a2cc928ba6cfa31cf067df12f2dbc48e1e1c705aeb7f3b3798ca4142c440801b3052b288b8291efe13c0069c90abb7bdeed78249be92e3851a39b6212db8d13289af1eb5da59f069694346eb9cdf848d0690210bd6327ef6927bc1dd42b1e0f33bd8f805954df20b0bfc62b6889033b72290f10a3ea357921816944bb65dc1edc618bfbdd7ceadf20119ad305670174c9350299a54ee65ac42156a6a320d12cb432b57b4c84885c940859d824b79f57fe39922562606e8c6c78e1674b10c90610acef5bb457667a9a0aa527092f4891a1b59c18284147c5812aa15d784cc60ca180527d3d57fd02551b04146c8662179e2af2814ac97b72415fd5a535832100519a05855438d7948b68c4ff0193cd5897f4c495e7a0c323cc1a4dd0ae12fa934fdd409ce3396d5c7f7b388264e309eeacf749e2acfa9b409b6d3ffb54754bb9734c19a8e51bc82faf7ff99e0744e2adf733deb382638554b9953743f593997e03b737f82d2a5358d96e05f4f3763d4e4d163be12bca5c991d9293569cc538295a869d458a827c1a612dbd653fba6b492602cb2e699e5bc316124b80e4107b971e290e8ea7f72a717fb11fc66acfc415a05ed41c811bc9e8ebaa9fc52dcf13482ff3769252c6f7a92398c604b65fe747a3b8b60529fc88ca6f4447215c1770cf3501b3b99d44d04d7ad1e53f0ed8ea02d22d8cb9c2b3743f610ecc7d2f3ac9c29d9ae86e0bed5ca4a47a845550b81d2b18292106c0a8d66e5115f73c90c82bd1eb7f14d3aa414328260350715840e2ab33a3581e0a36f1edf1bd15c9e01045772d328fd2cf136337f60fd648cbc222a474d8c1f588d6d1bffcc3bc454fac0a5b439bee424223354f8c08edb070db5943d70219dd05d1527e9279d1ef88e59c934468f99fde5819d14d6e62a9e638a1e1ed8da50c97ee44793e7dd81bd34d31147a64b6e323bf0c1ef5c84f6ebafcaeac07657ae58972ae9fa4507dee4a5568c953a897ccd81b172cf492d94031b74e755ee0caa4aa6e2c07e4adb39fd6a907482035f13f46510a274c7f60d6cf293a2c2354c9f85b8810d12bd27be84b481891b476d47aebe7b101b38a164ca9d26f9b65494b1066e4394d2996432d4c0868a197c3452ddba035b20230d8cb218dbb4be95f4d267c1802d20821b2e908106fe2f5f84943e1e2aea22c838036f6649ef8d129ea7360397639cecb625fad498cac0e776cda6da63a54d9b0cbc7632cdef91fd93c8c7c069c83a724f6e9e24f262e0cd64ae3afd2187fe1b062e788e19e6ae62f25730f03176efbbe4cdb1ddfc0263f9da2fef7b489d6332bc408e589d2f6808afa016ecb8712ba30b5cc4aa98f76b01d6e0c00376d8b0610111dc88810c2e30f6eb21488ee71732b6c0293d7a428474cd74112fbc602f6468810929054b2a07f97935290bdc79eab1acd899363754a08293f6058e15e050c18d8f2fba78472c7042efde73a734d3a0917105ce4f847589b4a64f2f741424c30a5eac90e9c10403195560f3281d9410295a4abe538193a1b458e4bc687e991b5ee8206526903105ce72548dc5a05312394a815132654bce9689021373e6fd053da524df50e05e3f58d66896cc4fe7095c9f7779acb24dcd5927705a7ab1d2a724eaf16c02a774d0d19093e636adc86002bb1b3da71c64c44ade5b9540c612d8179163d2397dd06921194ae07e5cc33ea890d2ff24706922d47745cc29c90a12d8cad23127ba9d4fca11d8bcdc6b5e9142800c23b031869d86ecacbb6fc928027f523404a5eb6943810c2210dff3e72cc2d348bb650ca16c2cca1042d980838c20705a3f6bffca25f5ef3280c058ae4e3146d20f98a4a55d3912e4037634bbf95a6fb0515f0264f48015cf31d1796ccf4f88074cf4d039e86f3be02d523ad16b12193a604bffe50f194f04995c7d848c1c701e37f9b5aac9fbaf3fb270103270c0565eabffc608e92ce8232b069f821b5ee848692db8800d1bc829f038bce000056cd8f0e23321e306ac450db32463c8c9a359326c40ca20f4c6b2794895ad0567d76636496552bfd18d410b3e82889035e532651babc1458d1a5cd4a8c1010ad4b851188918b3e023a7be989db46df7840b3164c18765371df42c59de642cb8f68c3989a626062cf82b59e9d1547948934e42c478059f2afb2f8adea5ea14560c573032bb369eecd2db10b6828fd8293c6449cd75b163055ba642ccd04b759d4fab6047d908afdf9cbf27aa82f324969b631232736a53c1c7be482d2a65b591d91562a082fbb515d17be527331d418c53b09e47de84ac7f718d610abe4ad6eb88ced89a7b26c42805dfde3659a28418aacd118314ec7f7dd219cb62fed03fb23e551063146cd0513b33e9516d0b296668104314b55e021610c18d0dd02044d9a03108eeec82107a1f94a8607f64ade0046ad84043108c26d577df5c795b9213e4c0a1810a54c0868df762052b48038d4070e641db2247f0de4003108cccb94c9856fad530ffc0d6a8b52bd92637d0f003f7122b65b533fbc08630f53be9c952a4aeea86e1036b7741949d24f191e71e78491f5af2f4049d9f3d0d3df04129cb903b4f0c0968e4818b6c324db77724a99a1868e081d7ee8a9493ce7c122c60a07107d65eb486a49df7db441f59373c87b124d0b0032325889c714b5d74517e64edc08140a051072ebf926df979f657ed23cb8bff42870bcc0f68d0814f67ea5fc9526593291f595db4e0c61cd8fecf12456c845e6eecc061460e7cbc519162b5f547d40634e2c045887f69ac34d9c5868d0a400f68c0812f61fae93d52fe54e937f03542e4b552dafa1378f1153013a0e1064ea585204754526d676a032773e5a079a42535f25a030d36f01e7ac97d42de97d4af81f7acab8af79e37bfaa061a6ae0638e41548686e027ff34b0a69d9ef327bd2a713f030d3470c1265d3add6da1ed7e64358d3370fb57d9740cea52e225021a66603fe45f5013a35da05106cede64a9b89facc91a0d32b0272106dd979993daf847160d688c810b31a8068f156b411762e0be54453743cae04127280b028d3070a91f4d26b96973447d40030c4cbcb624256f0e3a07137940e30b4c7c3d7d22c6efd1ab40878e2e6e5c610e6878819b6c6d425fba90446ee4d0a1366cc4a06dd8e0c0c78ea3820d7891e30227803cd0e80263b5a2f36d8a60262e34423c5efee6504d41630bbc7932d1f655f9c8a2a105c6bcaa27c9589e29a92c30f14414556597fb2f0e0b1a58e0fe2dfee4f4f5de96b282c615b8dd3cb3f34b253f49134d59050d2b702a0837b5639b2a30bab2e49d1aedd23b15d824b2654ca9a3716f9f0227924ea64a1b74a94e4b814ba36f2cdfe8a06973a2c0c7509a92a65ccf665928f0f1cd5a6b37988a9ec0064f5a2b664d66ee7102d7913489d613ba2fd4267019cc42c6fd4ff75b3281ff11962bc81cdd8ce31298609d5314310ba575a304f62304b7b55cf9b92e49e0a2c59cf3a40e12f8b2b2ab36551d81ff90a65d9f2d315ef6c6aa054470c305348cc0a9a9e818834dd2152409a051044e678a39eba6e7f6fa895006fd22b44c69690c81ed28d9a4defd76ba240d21309a5499be905f438241e026084dc964c5f77492018e1d37fccd013480c045ff98528c9a7efcab2cd0f801aba52c3d591ecf9eac0f18e5efbf9982ea5eed68f480358b49e7e4efa5534e7251835ca006173588056a70518354a006173508056a7051834ca006173588046a60800235f04083074cf03c79215de468b91f593a1c69ec808fd8ee263d62524043076cde1441f3eb4d536d8783460e58d389694f7e2a0d6a8403ce43c9a0be3b0cd4559d80c60dd85fbd8fbac1dc020d1b70b699ac520a3a8295690b336ac1c791f144b4e4eeca250ecca0051bb5738c27ef2cb6052d0a3366c15d59509d924875d7b42cb8bd4b91315774e386e738c570302316bc9b5e8c7933077979833538f000d4310316bce511cf4a6272c48c573042c8b0e096b959523e1531c3155cf02c3235f84dd220b682cb5676a1e4a890839291fac20c56b029fa934cf8b8c828c140cc58c50c55f0195adbefbdbe6b111b5498910a4e8b2695a24754cf3d2a38fdfd54c16ef39aa89019a760ab3acb3aed9ae9ffa6e064ac32c9a3e2f5e9901b6694828b39f27f4daaa4e0b746e8ccbb59c38c51b0a5540c9720cdf535ff91971298210a6304f5504ffb3e6e0bbac881e3acce0222b8e1c58c50f051335c27a8b10e1d577f17e8f0a28b2e1660c3860d1bc60a3340c1e47c1a43c6a8b939129bf1094695be75abcc106ab589618627381b21ca56bbee4ce93bc1e528d14905d1d13eb89ce0db32057791fe22e2b989199a603d294b996a1f94fc78f137ba382ba81999e0c527e5902dc967608211915332af9c4ca5dc72301f665c824f69f2fa8724a265d59660f34b63794891f9d92c9787199560dc7243e9dde946953162062558fdb8b182a8c91b2b23c0458d07d4e0826b7051a3015c1c61c6249820d9e25ea75724c1e91391beee5d9fc78f046336b944c998b365ae21c1bfa7742582520bf9a2477072526e4bce2f4184eb08aef266088fe13782173b37a133578ce062f9dec9f8e974f417c14d2e9dd1dab736e928823d254f55359f7b484922f824bc63e6d0596d1866208289294c4749a71987e02ba6ed1132448c5fb91d3bde868d1b75ac661882dd90274fda7ccd2804fb9a2b7a5021d5d5443308c14fba0e29bf4f48e6313263106cb424319dc7103175c5093304c16abfa4d82d2a921d0836f50853ba741e1098a452ad8a21c9cd7226b73191ceadadd4fe3ae30f5c48b9acbd2b88ec76dd48818e1ba60e0933fcc0f9e4ab9229edc728417de0379e344d71a38ef2988f2c671b3f98c10746837ee6274d3252eb7be0763d261dd92598d6911e78338b954c4c270fbca64a57cacec503a342e56c9353b6147cbd03a3266ec851ddaa828d76e02469fff897232beea60efc475115b9ff6bf358e8c05d0cd13b2755296f55e6c08770d59cf282baafe5c0dd77d091d2280e5c1679552d32545b8303dba156c163756f6084c60ff2b6353770b5493d57779325d3dac0244f1fe26accd8c0867b4ca6ad3f3d95d6c0ef65b10e35eacb32a5063e447989e4602927280d8c0591b3c5cc49ff4a34f05a224592fa4fa2b433302ae6a4c2479b7f5f6660cb83b2959c42c54448086694814b9341c9f2a4b7b74f64e092ce254c438a6ccb7f0c4c1ead127773c3ad7c31f0ef15424ad522ed440f0397532a13c9ad43882102032f4a4ecc49eedf5678bec06952bd413446b1dad70b8c8dde203f8be5dc937681b1508dbf1a572e702aaac264c7103b63b905ee627aff515dc9bb835ae03f43e42bebbe2bdf6481d127ff7387ec3a530b161851a7f53ceb9505b55c81fbacdaa742c7f138162b70d9762ae6fd4f75ab5481cd36d9a3e9ab20637f54e04554c9587152d8c76f0a8c4ad249e5f4cf4ba19302fb29c5ced55689d7b928701772c838314708d93d28f0aabff933744fe0a387bceaf8c9728c981338174ba271e3e4fbbe09bc7f501172c7a8bb1d26f06a95429229b594bd4be0dfe2e73cf955b3a44a60f27a660529f9a25f92c0e74e954298eadcb61512f852a9ddee8475dbe908dc68eff5668b6fb68dc0569954c9d9dd96a322303a67d04b1d53e86689c0def8a5641dcdd933436092658946b6cb5a8b08811df5abf8a70c02db9935a8dd60a9d2c371a31e30030848aa4eb514a2858976e60ab54f11d947e5da92cff80167938345dd4ab5fc241f30d9e3a58e9f4e4b52bd076c8ce8a1eaaa7694e93ce02d54d41cd5f31d30da1f2c59be0d4925e9800dd321b94e0879a7ee1c30398ea890225ddeff71c0c81cd95a97997103ce45ad8898515cd47666d880d3eceda743c8a90579cd5b2c667069c16495b471b208f5496667c1a5ba874c79f3750a595970fa2122ed9adfa75763c1c494e2124412417f5061c1eb0891ff6459855cca57b039a56bd0f7fa215ad215ec650c19c232da5a48b6824d913a89202d8eb49c157c92b1d7548a41999aab60ff7443d2752d227ea80ab6fcab3caa5e8e51c354f029a513eea646f487202a78d336aa6f39a89845a7608387fe7aca1ae4494dc124197d434a3e797f2d05fb194b4cafde83de1852b01694bad8eea7f45ecc28181d0f99561eb2698b11059729f99ae6a5bea44b28180d315f74a70de9a305144c3afb91ba6f49dfe7134c8a5a1ef3e9e91083e709ae4ee7503197a89598eb0497dffa3ce7eb2ea13b4eb0bae5d9ed43ad018cbca8945086e250200e06038140280c8220e97215c3130000000c18138662d1684053e4ed0314000452362c4e322e142024181a180b4303612010060583413030180e05028140281c09b3444bc70771910a80ecfadd7303cab7d64e6b9c330f9c79c5c3ea3ec4109d440526a525c07d87e50c38ccf2ccf31611ec6ec55f33241fbcff6cf5f5897f9f78c3f349d0b8e6d6a6dc9765bc15f4b653029861ed10d54004fc9c8c98ed327137eb57f992149423e7e0d14dde981bace732a79f71bbf6969314ad228d645065c1fb93c7016620f1ce154ce19b0b3b6e84dee0f5b4798e60103d317fef23fe698d1b4ec244753dd6b9de8444ec16eb723862928ba8354af53429233e3dfcd0f4e09c06387395e0344c2bc36fc5667df7504bf52e60e0e1125003fc1b2401e3305d3238a668b348b4063fe705ff1dee24e5de061db988349bdab8f32a9801c97e5203d522472343d3ab213e52a3c417b748bf769ab618825f5051c95d78150ec83dd329e0b0c3ef4a96c55b49cde9991bc46386f59d68729d6f3bf083f1c351880b699a53493051387f79474fa4018393b1187660065aac49e8a83ea45ed8e2cbfa2d516282b2c3f98593aefb3edb68f717e6c83cc5f4aa307e78209c50d1ceeeb35f57f9eb6bc2b365e3c0f97d659cea3456afe6bc7423ee044c2372b3069b2d04a8a17523cc661cb4b8367497b4a2b0a1310245ee772946e5a91fc80e6b2c58e6a68835de8737c7d4200a97334caaceba17124bfc6880b0c4f9f64274fbcd33d841b5d59b8f750217012da650c801f2feadf3d9c7d04dacf35bd82b961a8f2b159ba4f93221c4387e773c53c0ac8d9857098400b25194e8350a9d636d13dbad291fadda7c520131475d60fa739095a43964c8cf0533a09a4a0b13a911c68a56b032a0a4d94dc1914da37d2c6ee6413d2c5bb3f0da2cc9f1ee1bb088d56a0930f1a6de5f2d1d217c947cce3cd1365bd2f440164612968ad2edb9a3629fc3f7ff7384963c46d1d74ca6a61ac0d57519e79dfd39e7439dd45a277f253fe93dd0417c188a24e7b6186096c13ac10c3c0a2ee6659b9ec39c78fd79da1c1209ee2fd6ab01825989d6839131c12075f657ff953fe4ffe56fef7ffa47fe25ffa99fc2bf5b2137f6c740d3c2699e8aa635f279547b36ad769399c95c98449547d83c25d836ac25a13dccec65b3e94778130a9f15fb212eb48fc716a01245a9296eb303b9e2cf7b3b8a2bce0f4284f11b52fe60bb41ae40382710c41e2787754840e736224e16c295ce416dcb10fa76b5e0195b801968189e75e0af8cd029a372e100d868dfa71972ca4a150b97df34c663bfc66b0679eb191120eb935df8b5140ab2d0e9e86a3b168607aacfc45480f869a2067f2e81f68e927a9d34e587ae03edb40a7a0e4966856b2715725d9190355662cb49c7f8d4842049a2daacb4a793994cee92b9d9e0c1fa892908851813752ae32f3be12024d1173da7efe8c532b06a4715de64b171914ce312199d952f49cdfdb1cf29a083615deea8ebc88e6527db6acd16c64153e4831c0e4fac52a6d84e5f3a16f6a1c0632718e13279aa485a526978052760bd41d335adf27622e37676a8afa6658959509644efac15c1c056789a8e869d1ab31501ac0d58e7f4c78624fa155a4badaf3d657d4ed5b6e511c2f8e3c1ce2684bc037122e2779076aff0abe9ba73c7957cc52b997dd6127954721a2833dcc56e3a829764b890783ad44d588aec0fb00824b0e8d9cbe96778fc336e6225607c3fcfcfb8424cae927855cc4bb2bc52d874fa91c2f18a9ed70de50bf74d42e465dc7c5aa635e8f310cdec1670c783228217224560d53b1cbf6f1a2218e874f3916b21dbcecbff8cdfcb9feac2c7998c74a593277e383a62c55979e449b957ef0d0d65e543832e50a886d970825677c884ce0b97dc5a8790b33d7520e1a04015bffa3f7f1c711a1eae0443b640d96204c5171bf6a67e13800e0485de02dc8f7e188d0ac7fc044b411f5493e18203e48d07311e32f263e984a40197bf5981bd246b4fa6949bab497bc1186226a0561c8f63d3e78016d9ea93e97e68455c874b14cf890af3631156313fea63e5f3f1bb0855db93d2b105eb4d7645b0e00f6cc71648282c3ecf9fd2b7abeef80315277df987eedc45fcb976f9206f3a0ed0dd87f6270f27652b0d02463d486830743bd46a873236b4315e14a8a7d1cfc6ce6c5a8bd5592a834f85c239f46c6b212a001998c9cf48b46b4880c53271144689469057db5a908525d40cb6dc3d8792d9b225b93052c42512daf1a496931cf87377d3e7fcef7fe53e9f1ceac0d310c92070d287cc97defb6aaaf770b0380afcab0ca0843cabcf053f36d5e9a1d4dd46b682ce30f4a5876eb1f3cb144e46fcffaf6c4ed8d3104000800c3a7a6717bfd6acafd7f984440df42a67a4ec0415168c0872c0368d4622665d341c7fc89632e8061896c61738e198083cf6fc3fc301c099676b052460e128fb1193f20f75db41b448fd811cf5303a07cc48422d000ddd45fde0683e1c433e76b52b6d9f7ece44214ca778358edb42d5db1c504493f098894ab0e31629f9cca6971d8e1c441184b9a692fb46dd39b90ffa1d0aa5b18f6de7cff9ebfc75fe3a3f7cfe9d70b7c7ea9ca1164344f093d0c6978f7db71b341f109b8efdf81da267c48340e7290215fd2954546c54d0e805e1575140b9d3a9a593f549fce43ed93f1984da22f49732a09295cb86a7f92403529b844f3a80dc267d9381c91dd2071984ec5665c0db84300980b167e9ab33d8f3a6a74faea0c6c6b56fcfe09f1b9d3e3c17c4a4ee02d0aee1f29033c3c531acf3d36e6ef7b8159d4e04922abb6bde479eee72d124428b00c4934ecbef948016413d90d21336830ea94e8a8feaeea958ad0cd96b75824bc99acd8a535ce9813bfdb74f04efb5290a0145820e42b543ada0ae5065a58258b5525da16ed1a4a50059b765b5aaba4015a102506d504ba76e548b504168b6a494d437d4a49f7a2ae26a9e32a506550f1e3d01071c8a5640cd87b57b6aac5486ce3e22318bde6767a8a84654cce0072adc01018b69f2b4b18e3b6427589a460631075041b23466948998408e50db9c6c8d703469bc0815bab8aa90cca72749aaa005e921219588fff5aba89f4c4ac4a584e9874d487690b6da725938f8fceeca1c75deb4506acc7857b7694e27a6596373f96ae814483fd39337ad9ad46caea1d86a8e80084eb18cd81b0c2f46c452d15238d7af4d4a76a0767d59a03a1d64acd6b48096d39969e367625adb60f38480035d8a43bbc9a264120189aae7ebb8e520367189ea4be2efcc6f6fbe3be425c2bcb0889bc17e0e3ac8505c7a5c5e03ea03aa24340593efc417c06a1052d270f3c2009a325efdd11c40477761e9b9ba4320c42346a06e67fc9405315a3056445fbe9b690a9b9eddf52b8f92fdd17e61bfb0ff05937dc3ccd3509111e629d53148ee021ab95f8adc9b090ed59fae3608dab86736c34d7d215c18d854b37167e3381b5d9b9836c86d7eb7d16f23ddc6181b5d36f26c94d8f864639f8d349be26cf0d93cbbcd34ac68367633360fdf0c87a3d946b68dc136ee7236c38ed184b636f66d9edb58f8da4cb8b1ceb0e4eb50831bb3cbb933ceac99719681a0e176772353c51b4e59e82c0c098c4f675d79b10e97248738c222e651f69a245bf754611a70208e5f2b1a0b2f002a0650c6d05340a10c70d0fdd0720d8d0c0e459664e05940f04c0ad551593ae65394c59da9ae7fdd4a8cc5ad5856e3984db0db15dd0448f0216fa29dbcce8daccccd6c55445673929822ceb18951bef64869ce44f2cf8dce8b99364d84436e27328d2202b2f151a3ac86686320d437760f061b960a01f4cf2845e15388d6175d35d35745a3514cb34ad745a2fd328b47913846ded40e02290a9637fb95726f7734f0ec7bcefb1c2d14b830b321fcc307a018cfafe27b8c181033e5c3e6104ac003562caf56a16f4258207c83ddb3e3c9f2ccac6f8203f4b80def870614c9b3ae7d8f9e3ce3425e2deff1de293911ce01d8b03be269f3e679ce3c719e57cfa627dfb3f3de29c7c07e42180fa567444fc7abed31f60e7b8278de50de041014f1a5404a7e2e0c5d021e38c86f309e88754bf006ccf8c346d75aac98bb7e7544c1f668104706c87ba38b9fcdcffb3b9df0e3c19d4462e87ec24798f958003e58cde43d6a8b04f462e09d4fe3df87789368b1ef57b1a241f825bf320dd32620f00773019498069c053ad6497235084e046148e307e650abeefbdcd38651d58026e779cb09a5db6289487f7291d62730641d02389cdb52d2e48edf050acf9991683ee1dc1b46c92283ee55857a788dd441f63b358c78e3ba9f761d0882cc3a074cf82fb00eb8c9a4db22045ea944c25ed8035661d4bd8dcc6bcc4e2a4cd68d327f0b6f2916341d317ec133a0e61f294ac5594a7e513c433496ef4f68ba0ef6956f895704c2e672ed949252654c175cbff402f3abbe1d81351fb09f4793dc54819664580f989cfc48bebb003d59ab4319abda89933f3660a89b207f6bac95d57e412321d1902322ee910ebd2e11dd2142c920ce6378927c8c15b47cd385e779ea884750680c87efa0cf4c8505b27d1e1e60b62740aff0994ab18ffd2851e0d8d82c5ce56e07126cd9f1244e1fe5f3b3f441e45c99b7d2a2092ef763519453d2a01ae552de675c33d44ad0df1e3f261f753c632b2c500a14d403d8ab4f6d1d6aa08da811157d2ae443df60a054588601b6092ec8b451c95b33eccd0df38d438f6fb27970fcbef9034650dc5023ded6b97bfe8943da84a927123ba44a7fc617a627e96a9cd1b232873b92dc2a9571fa4bb9f5b5e134ee4318bec85d34480f8d1bed4dca642152bc0bf210aecfa2b1003742057829371b86fb3d9993129252d242d971d61aab08a81bd918a22ea891bc2f429f48f7d4e4364b9983ecc7d55992da20b9c10f76cbac46a3cb4682326064cfc4aa57dc34b14b289a56d04ef0c39bd25dfc77a00330d70657046d03bdba1fd873e2139ed99fd3709d6aaf724248f844308a8133bdba4dc87c1295c86dad1e41c628da98dff80627735b4230cb2e1843221f78160f60afeeadd3aa9aea3dd18d35498db79752cccf90595880fa6047900015657caefca2565649826dbb0e84d678d60afdf0936ca50b863fef363062d5d678239c4c566f87db2ad553ae6e209d5bcf1304f51239676db93610b52ba9593c956560316eed86437e8a1060eec9e8382694ff5fed194ce7829c948b931b87858292840bcb417db0830a6959dc579e370561a9891b6062bd25ac0ff806e97da117f2f9850396356bf2d022d4880a02cdba3fbb0d82a5dbc5e0c49b18440bf316f5e615585cf34e2af53d0d73dcb8bcd432be010a299fae465520be0aeabf165a139492286ae90815566defe0c3092ad19a176a28d583e5a08b2d5c2ccf702f5a9c1cc018b989a8bc12a61f7f87d8492b89aa68795e54e0435125816d56160c82c492b226cc9e111dd4094677fe929201a624fdade1037500019ec9f4142d0226caf3df43022e2ef9101ea917543020286b211f86890bb4e05e1fd6138601483309d224c2590a93c893d1fc4b601b2f3faa6f8307b418ff20ff898b874afbd34fd70abe4371c2d7fb1a680cb0f52474c0c115bf62e16fd8d2d41b90ed26cff5e2b5b755c073626529638b7ed2e9a03c6ccf406da52ee67deaf37ae6a1abb5b5f002f2701782c2fb62689046cacb88132c6de8a6647381077bafb36b42b3ff078ec761ea01c7a498148921d5a9d31d222b51caae07fef18b1bc2d940d58b67cee43ebdba4cafdd8746b56ca02814be90f90be594f020406a01a110523a4498863a8d55119a95a1b7c6fb43e5b61067b945f85b679e4b88a8326b8becd4ada57151279f61045d5c606f6237891f373b4dca65974b735d5e5cb6f0801aac157337444633e57f78c1d53410c416bd48dcec64ef0b4b5cf91ea01e58b602c93b559c0cb4d26eeec34aedc559cce338cf7f3675aa427bcafd357cf206df76362884d5b148d6b45fef47ee1460c61f9c90676cb6050e0ef876dea4e14288798202fe5523aa724c5c94572c8d4d61050911101e857c16edbe03648434a9d1a174069950205f9b466bd1f8e2da722aa0fdf1e17259b43fac3c811f6085850507431303a1888371236858fde8c0824499cafc1714fd71d0432a21f1b685bfa5ddfe3b6a0ea0d49264eacdb7e8c87e0d002599647e47c78bacdf8a14b891bad98674cbcfc76de9d8b2848234b6039101a51140818d4be974a2a41d6f813ea9e983f940920af44167b81688bdccdc8035ed2b078a89340af0b89e4b7b96bc9d71fee0586e4104bddf1a10ec80fdddda63edf58b2fb4ed8cf405ad4c4136d5b0bc08f6f911d6703f98c9577f3bbd65c2772d7187a305b3c1d38eec97597a4e53a9edb829f38ea9e0922f04f4a4d7cc74d8fb7ea32aa3cae990b922be56880adddc2cb277628b9f9050c89cfae59defb88aa64bbc8a94e5e151e90513d767c9dffe7180781bdbe831b44904ca884d96dcf5c6b2f5241a97ef94e12584290561944b10e707c30605d1f35e8cc0d962be63f2caf3d476058ffdec8b2244c2839397809f8039742e4bb5730446b830d39958bdcba18d37089ca9e5028b6a479b78f3d79e9413c786c9ac76e8a42f1b17591a0a13fb6125be2f2531c817e809fd703c87701fe48c07d44131d583b2121a22347e1a7e00b6488af024192bbc31cd3d1b258749488638c4d6c6d9da072247cc8f6a49b8ce00419a3738bc5881a519799a9f548282141640022588aa6f25204a88bc0d558309912e704819d3e74ea1a52310fad673afa0fcaf656a9cbc90f149b4090b3af809fddc380e4f86fa5bdfc4b2a9fa9034373aef4fad1da0f415e57cb369d67b03ed31812fc7ca4f048ac270b6538271b10aabf22aa2711595d2e00a9dd8be6ea28d04a8239d2f3211ec922afcd99aea2c7c2707e05315c0af0fb6f1754f404a7b1ab349fd1d44e9bdeec61418958653f0105b5cf20ed31c09194653506225dc002484e061666a55c51281d80524c87e2dff6b064f0ef542866033db749bc417efe10e1e8858af3248fbda39aaafda5bfdb7850584b646ead00a4d6d5053fbc7b29682b3100433f4ae97e1d986182166fd52a449a16a9a6f2e6ca0c2d1a09f25f7998bfe70534a820b5b405c6a360a0613117200cb89890514a2e5f39d621802db61142a7c44fb68390446cae0e0c84b0add25b3b2cb3a265d0ae569b98f4e4bb36e4e91e09e1c4ffe78f123a735ed14f57fe148cacf1c001d1695e13b01800f9e2b9c64ecf7fea664b73724a2af007bd94d3e7e00553f3b87fddb06eba10b6528bb5fe593ef40fb202c9c5625e258ac9533a1d354e867a78ae62ae32f65e25d5550d8f25944085ec42052e153c7a665b602773621b9ec43efe3486d8c0d77b1632ae20cd485940c6c1a053b894f58ce17b9c1c2ea101383e66e3c038c3cff61afeacade7527c4aac79cb5a931c3e86b2b20ea8dd3e6274102f92ea84705ff3efe082d016a9dda6cf0c7239b03357f993fd434924a3e2833dbfcbc2a85902fc530c977a270949076efec6adf4d14d63d18f123efabcaddb9b0dfa9c7bb5326b28c2f58103ea952d5a529ff4bb1a194d60ec7a5c108d47e5866ebbfe433617e76b59f269f84093d1800de64ce7674107918e46de832bb46f04f66e5506f420986b4403351046c2aa21368d8284359d38186e1f5a75572b14da30cfbed011067d335115970cc242eff27ccc64286892c382180f3063252503948d10432445f0b44f83cad78ba8f2fa1beef922bf8480337633789ce8d98a50776c5fbd1afd0dcc1bb8081d3d2122459377ef4f1684b92001927cb2160cac595345dbba543473acc72e6403a02075b977b4585ebec0ecceea3036664abb60dea764c9ed44746aa8fd44327b8cc5d2b031f85e2847d557ed02c0a222d40832c1b86b4149d6f08546e4e11faf4af91c053237327c14c266ee7a5ae2b2e2686904071fca6963a082159c404bbeaaa02c71a27a651f24f98b17193274fb8a79f49442f189ebb419d6a0c6361ad9c548cd3099fd8e94b315413fe58eed2834a7ab228de60bdc65ae40da99890a58d55cc74c75949f61f5c18328bd9e82abbf0e6c268865ef14d93456d2650f10028bd06500acf5513e47dc5825d9bf366f016e53a215e2e878ebf6baf404053083ab251079a3f6f70ae27a3715976fbaa2872591352abfa817f019ec7bf7ac0e854347af4c249708f0c323b3b951e53650fe3288601385eaba7d8a9246c336a248d7e599e7e71b95345ce2700d844bedbbca8c83cb593bdba1ad944dde57a1ae3fb8fbb438cf7762136879f756913f0971686d0942f2c0c167d617a63b06fdab3f8610835e31f3309fd5fbe07b993b56c7f8c85af7b8a5274a1aec7ad5057c76ecc872931163d1419fa034f4249bea26c33b19fa725d695443f52afce83f0e1c3f11d4ef8992e16d947116c3806c8b06f5593f31c71e75dcf0b88dd4954c05d701c238d35e04adac906d0023838001c43f63d292a15e7a970a97030359bca045241bf125c141d4c48fc8380d3cd30c16011da9be39739f10d683bd4668a9f33119a99fd257cd61766b8a9008ad7b15d511ebb39a45b77d841cbf9889f613f8d300dae8a081399e644f8b0df8df1f8e4c1fe9c4cd92148993498d10c02e2e0181ab3bd482ee866f2ed5a3e3b95637fe5b9a7b2eb42c63b95633793dbea1e2ccb5d41a72a64484d2faa649dacbf09f2127690c4357733ed88cb2182e3993af15af6b4749db1f39f293a34753db25a3fac1350c6539a946b2eef07a33b15533526fb601bcad61b5d6ee20c24cb59767cd8372874f798c552d7ece10e416ffe09f507ea4f921c9a9f9440c6c534af54cb560b1df86e8fe494368d3b2347dc3c5586e0e5d6b49ec5c23868238c9baf3908f64290d9180952437151805ba335b58a76f0244c1cb8017c34ab65dace2b4bbcce57d4ed6d8580162000d4095d394f8304213626200cc57421affa5a65fb2485e93a1dd326ac4b426204a0c52d773df6b590d85c00a2b22e13d329e56de40f3f31a6b822c409cb34617cc284fe3de1eaf76735faf8d4bca015b22a7072d6840107ec72559360f5f83536416344d1bc510a579b760202e7014a00deea27c08c2d256da17d4a836eb93a4180c5b0abd49d25dfda50fe706b444a54e6b17c18916abe229ad618204d8f083b0f19fe5dddfcd0320fdd66398ee9e24c8a928ad19379f64f45ff60c2e0aa9511501dcee4e4f635615ddc59cdce8df7f58ea0ba47ba1e9670508f120797bb1040ed3b7924c07ef7dddd83234c97b5ee744cad14c9cc507190467ade09a68fc38cf9d28ad12fe8348a51bce2ef811dec64fbce2a74d4e9a9e0bb8b58365c53b6024f9718d4ad26dc98a53a3f8b2bd45a4051a2fa6465ee409ca3ead60393a5301c075b89809909492f606b95b2046d863a06934cf1552beb964494ae939d5d6d07ce28d03b183228bfaaca269c55156e523f00ef00c1e471b0a8afbe0557d99af7479d3173075554511c6285c676bfde3733a7fe05024ba5b1a447943a2a530d03f379ad923bb8d119f558b6e4d8a697cae2becc4fb3098bd473d1192ccdbebb7978dc7396920a48d4cd94259624944ad65c2305acb3f548cd9f9b264f9d8f8202628a11b07ce7ffc7a654500309290a9d33d049429e78f29b5880a4a153d470732b65e4d2869a94989b293d3e862f9217908ddc03e550ca2c6d570503ff06e35fe516cdcdc5f5fd5d14799535791e25c60d4c417ef373e96d8fab22da00ec925b1083822fe551d6989c0872fb9025a98cefbf32f1d9e0fc341a9b51a034a1abd3832d0c5343d695ff6676cb7d3cd04ddb539cc5c0d657cb020414e41c460b5a41dfee44031ca22a57a9264b2167eb0580099c0201f712e6028cbcbdea73a7187c29e303e2c7e0a2ecc02110f25511bf92574f5fef654537a5921df82ba74f1df0d5d020aa301640237643b8f386b3a03c81de1b50b734ab2c968e75e6ecfd9c3dbe86e175bc441795b58d37a8fd55a0e8a29479d1ddce2cc916e02b9695bc02df5b38dcde02f1e28ac7f296c3e407467eb6890807f311851476e33c46db53ba3376624d1526829b4ed93010f61296705f195492db8d873cd567c5b397b06012ad40a3fd104ecd6c152d0afa4cb74498263e6d3d8156d9b0c3c95693bd33a1615b67083c5c885a2fa9e421d118d40434f3bdbbbabd01ecd48681753b97863f1a42a549cb6cf7a491196652ad4e729946cb7d596c6ca197507ae65b1ce18452c7bd9d7e8a0ddcff47e9174521d286123b409d84cce96761124336865d7eca65fa5c0750c4ce3448cbb7b3ab3c61f1d7b1aa3900a660f0e978ff4965ac364d072a17febf5db2295cfcdb584669a9b151e57cc41a1f71ba637251a930a7e4204774096c81ef952c3a1456dda5d670aa9d9e161f5124667fd0546dba618afcbb708a6290a0ecf70528213bf27a24644d3d254267107721816d3760969b687422b0a9dcbc9db192f4619628162a9cfd735c8a8ab91229103b9a50a2db38916093d70158bf478eeb00fbfda5b0570ab9c07ae8b0074d1443029829e2a68e2eaec453044ac9414340d3a9946d76591be3834f6b9a6868c9242ba47e896fcccea65524b6d68c4f24b8415a717e5d6283f4f4057d57ce375f49a0d5bc2db6d14f27ac3884e78f26f65db705393fda00f7339f434f4abea2d5a8b6f4ab89551534a7ba002ec693184ad17baf5d59776b09addbe40e9da5ccb0a2f9d2208b667baed3d09db15362ea2eeec2a87a1fd48b0fd1531f3bb74ef670c0f6412ff8612f0a622f80d84b1fae57feb8717de60df2c1c4659b8f9bd3db47f2d07b06be7a050319e1c3f45819b85468880007a09078b800b0a98d793ed2695c908f9ba8272199d62dc7e8e22fcbd0b3c594b204054fb7ecf158975344300dd07ab06ccd9f2b4c0ba369e149c344f52f975e005ba129cd2ffd5d6c171e468ca9249a27c5344f421e52bf0c69e9a52fda69b93cddfd8a49fce22a94347b8ce4247a3ba1949cff2572e914409302afdb5d1b69c8d69bbe30112180a0edd8b01aa6359b00a0139fb01aaa6fc40668970a87b53fe03a4e71a2275f2cd7baaa7a07e67f5f5314ca2ae8a4927f8ba217a686afd642bd36f50908a08efb509405a683b45c296dced2040f8e7552c0da11ff0406a3bcd5c06468b76788da8b3a57606f01189710ac76ff363699f9bc18c78a6f99ee24a880ab42bc85645308f23a4a373fbf86c7d0449d28cafc7fd9488f0f6306f40ada446c0e0b5c407b5846f7058563e15400888ec05908772609cea0a8c627cf5b8f5d42e8249f4e1755fe46604f15a4b1600c837b153acb8a01a4d737e47e2f92ce4702f478edc6df8e394665164846e3fff975238d6498c80704909c2a01c2d4663ed78403fc58aa90e5be725966971b765c624cbb15fe491909689173ef184599db7d7f5217d119ea4f878f2f444b02d6a395208d96a1a473adb1d5726cc13ccfc30362d53508d57551166ff5eaf250a855e719784e1004d8d6df1d457df454f07016cd7b7812f6d73558dd5c0950771e96e30b7a106f379989310852628295713d7ac824cb102196f79f189737c5289cadd19fc0a89c5c51c0e84a494b9d5b12eb8e9ffcab4d4e1a50ae072308f1e4facadb415978b1cc7b482a7a53474421c9dbff6b24a2d023f565a752599eeb33c08dc7ef845e9820bc24a0b1b04c04313001b79850a32460b9c0ba83671d3397153dabd27541a8dd18ba1600ee955a1d6108e1180bb6fff83d79904f72b8b6c7ee7361cd5cbcd65aecbb62e28b9b5be632a331572cdbcc7518c5b51b8cfcce84d9139a71e08acf8afb73a3dd8bfe6dcda78ba532ab5a47d7544c7a55aed47ddcb548a4aa12a0c9814caf72f9bc3d6998e865c0d29d12f5149b29425c44c262fda391bf11e25cffdf4f5fb27af1c288bdab43fc49cd974b9f9f029b367c5ff1b8e18d43cd334f512848fde91efc4e57d8fd58c3f131889de1bf4ccbf6ebdb8c8814a506fcf463ee3b77732cdca2563890ef2c617fd9480e31df65747866b3616736ade7f639bbd40dce5a6b3848d26c3fc392c98bd18cfba981351acb53c638d1a3c1691bf224b45728bb5bf5eb2e152c5a47423d14a53b33ccfbe09242fd6690f8eecceab1ba4069f35a1e64168efcb2a40060499827fdb816d53c6a253f763b094c37bbb34785c220218320cd9628af59e8944681c4ada28f16a255c36a06cf02cedd237474764e73c3360ec417214bbb54eca5e320728c06a3b9988f67f8f5a22de0aa4ef0c1c95196620be530ddf8604d85c2b4bd30960503ebdbe41e2315d8aca12a80a2e54137f6b5855846a9e85591da8a45b2b4d4cf9ae8b95a947079520e9040b4d81ee231bdc20f0b5ceb44d4841e9e23d93daa14f9472efc44a50e0ac3d10004ada69aa80a29aeee02f5d2aab83c95d89add790bb5b1634642717e69c26bc3a41a5ea723c10c0f7906e1e603f93af6fbb475dfc0d9005ce80ac91ce27af3b13082d191fe26b08a94c5e44e7da8525c571311649786651518fc68a9458c3cc2699620089a4222f3460c9a2fe1c9161b0c2ec1476161d02ab3824a192fd74f8196e28de71a0946f6c28459400c5ef6a6ecb80d06cb5987a7c16bb14dd109ac3d035351a66f79ae65a860b057f7de3cd916167502485a76683e11c82a30310c8e460834004c01bdbcaab5347288e34eee407460c22f9f4947bd5eb125145d18547190a7cd88d18074aa1120ad98ffce7f413952006b036ec440bd3e5e9d3ea5a19635c0719677893d249f48ca235148d22b095e92a79684128e9ec66a55528e49271258244b29f1a913f74d544f4bbec9f383b10e0a3ef7a8211e6b165ccda7551ee17be4f780efb1dcc3270f1d1e523c8cf230bec7c34080c8d970e2342cca02de52443f0b3a50b0a6d001f3ffffffffffffffffff18f61babdfec00ac92694b9939579fa9a506994932a594524a2a010000a02800000091a85b233c2eae1b5c550b670bce0ae96d30d5b67d92c663cda99b0d0625744e923849ce5e425e8341fda3798e1377916b0340d4604a76762a8989de1a531acca6543a0dd5f1c9244183a942992837a2ce3e75ce602ed182891d17cffbdb0c26f95b32dcb7520693b8af79bd9c258341468b78e7fc295707903118bbc2c9cf9bcfa3541383296e8f555a1806e3972979a9beed372b103018be4eae89e697fcb69402c8174c6e763f9e92eae43103f18239e7b620fede492541c7bd00902e98eeea5249490a71c1284a7ecfbc9524521bc9ebe8c1c863c787f1c5dfe010806cc19cfa4e8e95f7b9c1d65a307c7912f3a2e22bf7150618dfe38ec717387a74a08cc717387a88a15e8064c1142d7f4bc72a0308168c1ff36de9746c49a3ba82a9b6eac3bdbfa8744a4646bef814ecd8a123c70dc4636424ed58010c40ac603861ee043fef0c21b7e73f7eb80a2649f2b274d964b9bdd6cc86711840a8602a6164599725933ea9bd00320573129556fc8491a3a30b2205d3cd57aaf0a474d265ca2818c3538e7f223d48d912144ca5a3953a4b72ac9c522d803cc1d49dbeef94c99e21b2130cea5475cde910a409a60b2a5f2363b72a68204c307c56ad18262749ae16812cc174a29aa44eabad283ddf601d204a30cb09d9414f8a150f317a780f1e3692604a9fa453da3274ba39708020c1606631ec725cb8ad2c00398261ce4f573c4943948018c1704a89eea9574caebc1e20453087b94fa92799e8d1294604737ca7997c399accd32520408680141b9d53688592845608e65c9b3f796659308004c1a4aef7f22fbaed2d56be00020493a836ba1d442ffe49fa4115a764af397919c407c631717432e99f3501480f4cb2bc2f7e0e3a58a528080f4ca1cae3670db9233e811f901d18adebef4c0aed9d2ca9070f1c5d182b407460fe9ca3e9bc6d134b3ee1012407a63d515f4b0ef51d54677900c181494ae9d2dd8c08939104203700b18139fb74e55297a54257901a98c40b25b7e5eae89e20bd332034307912fa4d4a7ea34a12cdc2202687a7b81122c2872c8cdbf1f3e1fbdb9d93b130f54991f7dfb53ca302c3072c4cb1739224497e10763a6e5df87885392999d34eb9734a52fac31506718b2b499c6ecf6dd20aa358a768ab25434c7c5961eaa0564c5eed8f5598c382e80bcd1a2585510ebfe1c5efd061016ec3872a8ce965628df228bf6ba7c224786a2761498ebabca2c2a0f5ccca84d29dc26862a8b825c83539d7e54517356cd4d8a2c6046a6c51c3bf8b1e0ec8a103478f1dc9860f5398468c5adb93920c1d945c056a78d1458d5298fa4e36df5757f74c52183de9e0b1c4eeb0ca7014a65197b38ecc8cb9701285b1e6ccbd4ac74261ba9193ec744ab5949280c2b8a73b49a1d3fd09ab55ae2af7c91326cb7dd298144fdcf874c2609268134c3c5da177e78439c7afece4a3b4e3496fc2e4699454ef57f9d04482db091132cf84a94c2a9353d48bdad9e4031357fd49d55513b479f81278beecf14125d9a7d39630a7de4f2654ed8b75b812e79d3551ff848ee93a25cc495cdfd277a7a1de4e820f4f3579c2a40f2193849e23c54fd6e43c8984a9d53b9489f6edc942c2f4a3c4f494357c3f4e8f3059d2d5f10f93230ca6356e172cb57aca37c2606295529656abd26c4698845282e7b77a8b30c75e5a1274f49f94a20893be9e1759a9728ed7d0c4f8c2ef6c8caf408d2d6a5825823395bfb424398936950bc32d00010bc3c1b05116840f441835f552697aee2b49c9210c16f6ecd47d74d96f08a349eac4d592a452a52e842995b8936bc4bbe4d40961b8b51113e4bfed89964118dccfbd32acfd4d703f04610afa6ceee2f995cdb8c33650f5110883cd65dbd7d337ea830061aeb41f23fd35bf82f00fa60e72efa97ce5c2f583b94ec664976c9b9f05fb607693e4d447f9147b4ad4928b0f3e98f49ad227dc634941ac0d858f3d184fc81be1a74a6e1bf9871e0cf25a1ef52fe97cda471e4c6b3657c1a4121ef2e30e0631214209f2ea47948e091f7630057d829ba89f7438417a818f3a9843dc29297b47077fd3071d4caf5da9db44eb60a5fe98833956cb86c8cf17103ee460aedc396b468810fff3c8480f3ee260b435ade2a7cfdd0f38184749766e733ad245fd06a3ccbb5deb9f24a8cff10d1e2e81e40f3718552e8f9a9367e6d2c90d361b780d828f36dc698299f7493a1f6cf09345b1f1cff172a76b2807d91372fd240faa411fdffb8f592984491a923f7da8af553fefab0c1f6848ee7ecb136b5e33db19f4b5baff5116bc04290f86c387191ed126acf37f748dc6878f32e07341c8bc6831331dc30719ea3e591b1fd7b8f031864ccc70af3d35e2c4c9460d2fbaa831323232a227860f317c926c37df6618f8df919d747433dd26df438707701ff10106949c771f372eaba8181a3ebe909858bb27aea5f9d3ea48c4e0a12311c3bc90f427f342cf82eb775df042b483eef88999ce83b9e09e9d6ce2e89e4ee14cc3c716fe589e6b64d87c666b860f2d6c82c6553029ab28b5fc0a380ba69df8e18434b7f0810574d0bd722af4e512f455c3c715aa92fea24c4a256fe970c08639e2c30ac99e9c1c239e3cf8b8878f2afc174b4cc55efd96a5c616359213e0e08166c310f141853da6a512434962afb8848f296049880a355bc2749748a15132a2dd92dc7db7bf870e0f7c0f1d2bc88d82d6b9253c8e2e840f289c52f62ecb179fc3fcc2c7133c2b29da69ed946beb377c38010da97b9919eaf5d7397c34a11caa43b7e7e3c60ac407134c3a334f96249f2d6aecf803861817a8c2c7124c974446ba79c5ff8f8a133e946012fc3b94bc48b50bad091f4930d95ddc4aeab6ed260509c694dbdf17cbf57f3a56c2c71150a9c4f4cf986e532114860f23143c9b9978095982922298e358d00f75621ef82082f1cfb3df7d792e7d3a1f4348cefd68599373c9aa163e84a09855f868eb2308c6f014ba9ec2071012bd51ddaaec724aaef0f103ec049d24c14e7c2ef181b1952adda297c75534d9ff0adbb7143e7a60b020ab3f2fa35cbef3c10353bfafe50d4ba6d38bc640be430c841ce0c50e30b8d8408d317678b17a0111d81800233e7660b2754ba5724d8d4a5ae1e3a03e9598bbe0230706a5bf175febc18139e9e8c1829e2d7149feb881494e97c32e850b0d3e6c609013c664f4628c3e790d4ce29a1c2b13c49335bc88408d91913fc18edf197cd0c014c4a9cf956ffec54d66610aeabfa64d56d26f8e8c5c40043662a0852ccc2f16fbc411517afc1b438b58a897d6dd2bcdfb898e0b2c2c4ce32509d65d6a3e9bd22bcc9f99f5fd792b08d3bbc22467cfb1339d25eb7d5a61124288ebffca1d936656184c3653cb399c28d6d95598db2457f5d112554f54613cb7dcb6b52b15e6f439099fc44d50618ab9a3543a39b488d2294c313447454ff9c493c3a6309a3ef9fbed6f76e195c2f8d697aa57e3a10529cc1926cf924abb274b198616a33069a9f45327b24bf4917da22387d9e3d8d1a3b51085e12e8c161951f9408d2d6a80a0c616354250638b1a22a8b1c5030a87c26492a750b19309f12c018549c9164367945a0ae97dc2a4456b09fdd2c94cee78c2dc7b27ae3fdfa7f8b80d2d3a61923113deb4963ad182130655aa4767ffe05ba2bb09a3f5af652713bec1c6021d5ff0d8e1803394630c1e99002d3461da6afff425d5d3d394099305e1a644ca8b6dad5a60c2d8e9b4240dfdea311f2d2e613e4198bbeda5dc73798e8c84010642b58449ab28fdef4969493a5b0953caecaba47ae9e45e2961facc57536de70d36d56212e6eb11224a5e93a40c4b18fe374a692189c459129416d9d70a6209681109538ece5315edddcec11c3a708471070963d945d1e626b5c4c5460afc779c34d6e21136a28523b011259926b87f2ced3ea00523f0135a2ca2686e72c4bd8915b4819111b46364646d478f3024a185224c490ea25ce5ec1c3a1a038930c94905bfbc6452526fa205228c95daf268f3a0a42c4987306767e82454de0d610a2ac2b249ea36ef73853069697652972eb7168430a9b3a0d659e77784e5066196cf79afbaea2c2d7f017aace7cb8b2e6a1861c6140cda4c633d786e6a6986144c429d598a68910b6644c19492b9bf7faef469fb13cc80824916cbe65e2d322db514201d5dd45d08663cc16c594e3cf5fb60a394cc30c30986f96ce2c9fd943bfac3d61098d10463ca7589b7cfb124d1ff14381865650133986052727f8528b5a64aff5f7ce160d8483b56502ced58012a60c6128ce3fd29fe5f8a47183cc2c0d1430926eba4159fda2f95609204c37b5613e2c9d4327631cc408271542c25ae8a6dcf898e605a3993454bce3b6da73b406d8611ccfac947b7ad5204b3a8489366a49a5ccf218241964a72aa133d6b897008e6fc17fa622d8ff65c09c1a45436cf62271a04a35e96119f94a513f33232526600c194d26a88122de95072708c1e5e98f103c39c5955126ef2f5f5637c05ea08337c60f26f4fb9a4fbfac9713acce88141b68eb61c2f2e6f1f0f4cf24f79c7db7660b8ff51f1bbdade4a8e0e8c66f28cc969a9b79db561e8576060989103836ad9559c13652cb4337060fc8a35e7c1848e4e3932ccb881692fd9a7556bc996eccdc00c1b98c2bae443f7a28b1a767881193530454f26bc89279720cca08129ec9b3442c6629fa5385082206316c6103a7e565df4fa4ab790210b83f755cec1457a5027ed4517356ce040462c0c26a738c243bbbda7b80c5898d2843ec136948e939e5798bda388df8ef1147dbac27842c5f36015eb3dfe5698e42429399892739693900e64b0c278b246b4fee675dd691526419d1a597aa3539e30c340862a4ca77f55be67f540462a8c6d1dd39478914f51b540062a8c6e3396af4cd6ff1ce721e31446b5202b888fd47735d986b1408629cc9f324d6bfb5fde5e1224c82885e9b7fc64f114c3d7ba1b0c811c3248611aad311b21bf822e8dc2205fa9b5b2c817fd118529a73fd15e82d4ff700a85c194cb86a9700285c9c4735c077d66baf409e3ffa93c62e5f784c14f7eff4a7a27ddfd4e18e6479b59aa7869f89c3028416e5df7966cc2a474bea49612ee39e768c2a44e992488c82c2fa567c298ebee253ce5b152c184b9af4f8c93e64b98c25a38ef98b525cca24efdfdb99530e9f630adca95a265a184313cc88e97f2839f9227613ad9a664c7d2a7dea39230c958bfbdbd68240cbfb62b5ad2c69728216132159331ab78ba43f908b378693f9327ce7e4d4798f54e0c8fb3b6726536c2b8a34c5df7058df991110693ef4e27952ec2a064d4c4688a89ff5011e6f518257ca6a578629808a3a8891fbcf3d5a48688307d1026fe92c8cf153a84d983583fedb9218cb77f490e7967a79457085392c3891b1ab399e611e214eedff14e6510a6f530e5512df9fe6b8230c71a0f31de9a21a6f21c29231006d52936ddb388bb3001c2bc3a63dd27e80f663bf13fa6deb5767c3f1874c793fdc29df4c1a4a2864a277fc4077389df3929434c9b18da83296c8ba9d24f3fa573f4609e13fd397e29d1827ef2604ee92df8bd7bf0601c8b7f7d59e256f47e079374dff649f4b7de13b783f9529b582a79693ff93a98f7db92f4295aaf454d07a3c62741655ad29276cfc13c42bbb69aec49d5a5c8c194a744ee089d535bc271309c9ce5a2d749f1ae190ea6bf6079d749f8e89c7d83e12efbe57095f29b49dd60aab46edfebb4e4adb6c1d87199262793a63f9b6c30d6a67d8875f1743baec17cb29334eae4d72bd95383399c5ca64a961cde279606a3ca887fff686830c9bf9d9416319ba3740663a95b50f2db663097a0555ed77f4990d6f0220232ca60ac5225ff5af88f0ce6fe6042072d5da3447732c6f055509fe3c5cb7d0962319874c575397d4209196150de64e49ac87d09d720030c063dae164fc689225ab9c1565632be6010f5ffcb9e93e9767190e105b37c4952765ec73cb0030c0be401e620a30b66bb8ea54479d52a394903195c305852c9fe93ebe9284a6eb0e1796064841432b660fe9113ed848dd815251308230c07f4c8f1608ce1613c7a9443478e08b4a0c7c8488d2d6a8c31b21e1819f9027d3232b2e3c3e081c60347189e0678850c2d98bb3e09faabc6535c8a5346160ce6bbb3a1b6dcaa3f2e8020030b86afbf9c4785095a2b490e645c2193a7a264fc88563066a7f324fd08ab505232aaa038645041c614924ab3477b8d88bef8c293c4474670f80e2fb45c001c21430a9e901105e6da6e2c60e8d8914646bef8422d1132a080329eb0e996dd18133afbdc4ec873db970a4f5b4a789b90d68e7f82cae9a87ac860424992b296e4296bba01194bc8d356d4cd2d25f9ac285ba13c9fb624bf7310660e2eae02329460aa94de927895495d926424c17492b89f2d4d4e4ab04c06120c9f3fe52bb94d5589a10d7b818c2398e2e6fc88bd5092ca65ad3320c308267d599ee2cff2d8d74530c5589c0cedda0db61dfe5f20352298aae453d6265a1e65a32118d592bc9c5afbdf91e680b3800c2118434c1246ccc7bc5b3008c6eb94848f6e377e475a17328060f050174def4386bec5c6998c1f986d84544f426e892769bd60816fc08e05be630b193e307ebef99bd991ed80000b7cc7c8880c64b81db4d5a6a5b72d8307e699d1d82f3164858fe364ecc06029c5f7f4ce7d395637d87a880146224307664be95b5ce672683764e4c0dca7cfd64b254b92e86de44836c0e0e12cb0f13d7c470f1e880f9081039378c29449fa7e21e306a694b9fc29497915fa2929906103833a3963de412d2e8a353007d96dc266c9ebb6ee88c183af861711482610031934309d14c4c4ff5dc95323905918adb47f30d172f78c0c220b93d261b342e74a3da16d01482c0c2bf25ad44ff4b70081854992cce64cde1c217aedf11178859f2f678f59d3577d5de1e65c7c59e5297180b4c2a8de294e94d215fe8415a62c39899cf94a21ceb40af39f4e3139c74bb2878f2a0cead9f4de5ae8dc27a93055988d96dad0da2909820a53af5e5ffccec9464fa73098fe9ed36a39a6e09310b25b0629c51b6f1594bc6c8090c2d0393f693c84106f701102c828f0f81661612ded1618192940001185e9d2a91c5adade2806094549e710fbec7ff29290c70e1d3d3cc1b1430717c9f7b03132124606baa8614b802b8080c2a4da84532587302f25a93b7a8401f209649a243ac96eb0217702c413a7b6bc3fffa9afa95927aefbb178b92ebdda3776e81083c7c8088f473bc4d0c1e34f3032b2458d04c5a851a34e8c1ae7c4c831460fff828b91911cdfa3877f914a015601c20953de933c4f99bb0973495ac298dc572a4207a209839ff7cb99147dfd4c9853f80bf6abf37eb1c78441add34a5e8b7df185185c5cc2a045bde790b53551279630dfb45f34e92e891455c2b4a272c73f05efa4048412e7a94add55b5514fc2a4d349f2fe9b21bb4516201d2c09537e5a0aaa9e6c74656fb02d08402261b4bcd110267eb9c593310620903056122b990593d4e5732e0d1f21031047185d7470550bf3c9f32b701e688d30aa8dc8c6c89aa04cfc061b879130a0780111d810c00d401861da7b7bf7603be6a35e8429d32af59f302aae5470d80e401461b81f196ff570f2f711012411e61452375b4bd5aaac91114418eb42289d943c7a49e987308d4afa3c65a8b6f0a1185b64a08b1a2323a54c02c4102629dd92459394d0349342185474f2939416f9e61f4298dd6e64ea7eae4b5ba0c61635bcc841983cc5cb29884af5b1161041986b2fadc675fddbbba98287007a0fd8750640026152abd2776a3564c735c79fa03d00020893ea3a997ac9e3ae09fa83299dd8ba49d296ae7c1d00f18359d35c4e0951f7eb1f0d80f4c1549f151e55d4ae7e85c78d1d364ee007cd021bb08005ea768001068e00840fa619fdf14b9a20c4977c0f468faaee33d7a5f3af07b3055992944f52f2606eababe0c1309a9a5e237a399e7c07c397c80eb5aad92159395eca955f772075306a5d38352ebf8d24078e6435b60043c70e2e921c38b8685080d0c1247ecc519e748b3abd6eb0d5f022023c9e47074646fa1220733068132ea6a9cea89ce4c8c17c765254fb7e3c4158cc00120753dc50a1f3743898dfaf842529ab1b03c81b8cd562b297ca9a31d386151037187535d4caa50aad078ab5e50aa6d55371be5b3a098dad600a3e9e049bd156c11cd4c7a5cc1ba9609282c8886f3905f3af86d251aba29e631722053ebfce45d3ef449a1710810d141205b357a9a0e4919fb49bec0d36dd408d2d6a8440c1a8636961dbb27de5f29191911110d4d8a2860538e0807f2e922f45c8134cd94d7d2a59e29d8792134ca55428d1a389962e879b603a65324ac63df5fdd7801026184d9aefe5c8c88f3e43f4dd0bf199400f1d3a362081efa1e302232391085182d1946ead59c971084982c97574d00f156bb4f635bce8829160f011edc944bd7bde11871cc1a484be11f5ee30f97edd76116204538af5a85f42be55ba36102145307d5af64951bedaa1a71f4288607093bbfce4ba59283f0a21433056871c0b72ccb34388104ca29d8a75b2c258080982b192a9680b2fd569d5b510209846b5fe99d64a1fb43f3085f0ecbaeaed4f3d31c407a65ce29810b24c3d3059ca495cba3c0f8c67f1f4f779901eb766206407c631296b7e085707064beffe1e5bc10499e6c0f8effb26b4a495b756e03c706036515b2a073d62b5746e605261e15dd7a3c574d8060661252795eebb8e2f728b167c6298928e0b84d4c0e03bdf9e71a26b08a181b96e94bedcc95234d09885594fc5396144a6494a0a076461929e45b975251db408a91668c4c2a0fb269cecaaeadfefc8c8c8485f81062ccc222efe73eaace382c62bea2409134d4e57eaf2021aae308caf25134349671df73078f44d200f078d5694fca4566713171aac30a5ab90f5f7f2a732630368ac225bab7b4bbb20e43a92b2011aaa3009162be73d6ba58b190368a4c2249d2c7371395ce88a5f0c15a0c2e82fc273c94d0f534f6129a0610a93d8f13cbe9a54a14a4d678f63871727c851571fa0518ae452509d2617157800042c30041aa430ca85b6781dffb447d6041aa3308ea970964e9becf029a230c512cd82524fd10885b132f365947015969280c2f8f96792b0a57fc220945c79c4dd43c313c64f9268963e2d7536118d4e9845ee9e3ae1b29cf28b86b91567524b000081c6264cb2733ab12cc77312222b6868c294b35aae53d9f943e83432610c7d6582a51e138613963f9736cb254ccabfb49beab99c476709931e134ffe94e7e38a66051a95306c6b9b4eafd461e5568106250ce266722979d7239fd3051a9330dbe592212fa597b00a0334246114db53e99334f5fea7489844cf47e56f4dbd3e41c2fc29987c6a314eff243dc2144fce597fc811064feb702709d649ed469884f7a625db4f395e1861ecab93b590262731176190f5ba3da925741293228c2e629412278fca6a4a84e9a472f7e0294d9e8b08b3b8fb8b8849695e3d84f14c4daf5669ffdb10a6d3f9459e7c95e6c342187d2be8ce8a5e4aa59e10268b6f3595dfe9b641185547c5d23a823007e11b3ac93c1026c94ada30b10208539274bad12627a4e70f0695b7c458d8cc92aa1fcce25dfa93a04cfa600cbddf2264cf0783092abc554bf660343bed94193256457a30c8785225693fb592ce83b1465b9ae988f6bce0c114524df058ab7b22be832989d25651257a8d6a077378be9463651d4ca7e2c81f2509d9613a1894704fa75d44733089a754b705159283298956b124f1d65a49270ee65c97ecafc4f013a58783498711f18e5fab1dbdc17835df9fda4eaea5dd605227dd6c6c85cb513e6d3087f93c0fbbf4d7f5b0c1a0cc4627cbe1a430b9b306a30815ea530c75ddeea8c1a0f464152dd14ef94f8341e86bb9879d9e4e82069360bf29cab4dd86c919cc234f92bf63e87f1799c1248ef0b6f324269a7819cc6da34ed23959ef74329865649b8ca7c760f851a2a386d6e56c8bc1dc5a333a3eded35dc2601cd5b972a57beab26030678f36266bfa0553e9ca3b3ffa25a8e9058376f48ad1cb9abe79176c8406174c6df19995e99dd3bf05e308f7e471c2ad05e35caa203b49d253af9d05c35a0abfb6f6965f6c2c98c5e32441582e7db3f515cc9f5af4cb496ab493ac60be643ae55c16a3e452150c9e614259a7c83d3d158c7af2935c9e4f9d90d30db6bc29d0988231a4b5aaab7d92d389144cb2f85a6ccf6f268a8231afe284a599fcd1030573961cab652ec7eaf8134c79f1f29fa49d60b439a15d3d745c939b601c5d725abea4649a9609a60a1fc46735a52ec9b908d05882e94efa9ed60ed7cf2ac1a8ed6db52629c14bb424c120bdd7e5642d4830c72849fb734a93c52c4730c79b1c53bbd29bb118c13cde5fe25c4e97ad95229843d7a229b9438f678508c6af7e51c2734d273d0fc158c9ce3cad2f04839293fa12aa17438e826092a3fcfb4f4a4a650f10cc6ef2851f654a46a8fcc07cb2d9659e8f8ba93e3076ce26e794152a9f640f4c6f9efc047115ab247960d08fcf1f16bf2ae70e4c293e84c84e5d5945d681a9a2759605bd2067710ecc79cb54bc53a1da2bc681e182989caa04e9eaa61b98e42ea81b957212a7a76103931c9e9dfc043b1b118d1a187ddd2c67ffdf5c0f0d1a98040f2162d27a29d967611295b7b5e5b2b230b65a9e24bde5f2743716a650ca93ebbe68d5bab030f7cc7a49c2dc5718bf3cc49fdca5c8922b4c5672b6981594944f4e2b4cba5bbad3b3e54be2ac30c5b37813f43e974eafc220d7f1a57e2da970abc224eb6e8b75271506d341c84c917dde51549853454b089d9ec2f429fab7ade896a974ef3faf3ce14aa5307775ce1fc652e9fd49611c8d4f2789496a4a46611421ff533ecfab94441446dd50d935c49cf050280c7bb39792b48b9dc44161d2a6e7da93b69cbbfe84398eac703adba1a478c2e0ddf2295b55f26a270c1e2d78a5aaa4a29f9cb0c18c4d98547690f9234abdc45213a88e7939ca9664c26492f4eedd1727ee081306f51d4d179d4a251dbc8441e8738f9f276c093b5ac23c1fb26db73dc5a8b11226b9a4d1bfdbf324b9480993c95b55fa5398251327614e617bcd528bee2b5112a61c5458371372bf043112c6dbad1e39418484e9f63a254187ac8a173ec218c2a44f62aafde1424798cf4a9a68416fc96b61234c396c5e38494a53b2424618e4f3ef88de53919f4598b2247f37bd1f6f3e8a30cfe959eb9447e9f324c2e8625ba1936c3ae88e08c38838a1a41ce476f63b84b9abab46bdb553d86708835e9ceb149f4ffc7c85e094b86d2895248449c99f26654926e8a86e10661327eac52b297dac4e10e61255f447dd7acf498130eda8a0e376f5790208937869b53c963fbaff07639d6c73517b3f182c9d7c2542e8af87fa60ea142b5659960f26fd9e7db6e664b8ba9b94625698b10753fc9c28a9bbf7cad483f94cab2513cb3c18abea72f2f194448a78308cceb6a0b39e18a7bbc3eb9d2aa5202ab383a9934ed17eaf834950272ae77cbaf47be8601a31a1a42497969accc17c3a074b266986d6e56016d3521ec5bce4d3e360be0f2fcfb9a395371c0c73613f624952a7e40d2679232bce8aefd8c50d38a30da60f3efaddef42e76c305cdcb6b8975d83592fb653580d2629adbf4bbe8d192f0de6606d7b2a695d4a1b1a0c563949825a106bb16a0c2f1a987106b3598796c93d6b626b5f381a066698c1a493d05172798855ba2898510673adc558b01c8499a40cc30c32cc1883a9f453f925df133f8ac170be264b79ce292715c72acc0883c1ea5fdc77733098ebadbed7c5c4123d850a33be6010fa67c287eb851fbd174c499aa494a8885d30cac69daea07922a2d9086670c19c72a94fd2859597f61b98b105639a656b37d1bbd26c2d182d9bd0a1be2d250be6d7ded9cf3dfb9f4bb0600a61a69ff42429b5890933ae602cb1467d88d0a530c30a8d75aa85b39829e26a594d6ea8b1a0424716f80e1bffc9865a154ca7be454e4e892d0a33a8600aea614dcf01443057f8fffc1ecba52b3b04a387bae59fac4ef9a8104c6122b449162ce64d0a0141b011062000088f12647e4e273f6004f8e02d212ea769470f1e08e84122800726e5499d9a13fb1d98468e5651f275c553c22f3c878d30c4b091021d3abed0408d2d6a7451c38b2e7a0508d081f15a43efe8f820200786333b49d36ffed76c43000e4cae56da2988c9f74aba81f12ece8707dd572a546c60568d7f53b1b706c693f7e304e5a12a6e45000dcc165b949ca137fd3b1499853b9edaebfaf27c84882c4c6782da34693a95cec8079158184e689886ca05f5208385298ab81c76e294af30dba792a437c9e3e7bcd015c6d0b322efd62297449156983dc7eaf7d31f56987f7544c7c4bace96c82a0c974cf4249c95581526c174a58e7afae749cac36f642053613ecbbed8654a8ac96d1e4450613049fa24c9b37026e95707915398ead255923c9d920b115364d2e809256a7827e11b8c57029152683976cadedad5a5c48308298c26eba8e45726d5c3f35ce8416414c693bbb5c4a2c6a74b1285c1f3abb8c8d22697942414261533259a868f758841617cf3b591ea494eddef274c279f89f1eded1c677ac2d82508254c5be78a73274ce29224d6728c9324b53861cab1106f362774e737611a995592dcc172ebb4068868c260524af97616b476e53361cac13c8a29d3abf25b04132679c4ef3fc773d77a47e4122641947419d752b3e1818088250c222c7494937ba7b7845709a378f2fc2cb627a73b3028614eb998ad3a93c674c9244c69bf3f09fdb224cc1e4c3421b3243b12e614d7a3c64ca9124b858441966832844ea173f90506914718cfc43d1597715b2aee08939c5b7241778a48234c5aa3fe52c8ca9121c408939cf309269654ea32169145983bafaf669b88a949ef14441461123c4b593419fb5d3511a61442a8a8f5b0ef544b410411c62c11d316cc3d44fb87302575f62627e5e8f802d9d0911431440c614ee209a3ffea3efa0815c224c24605e5ed272a657524dc4384100639e3552fa3ec82301984e9edeeb6c63d6591f906db176e23c9e1ba03114198a287da38a57284981f08a35c3c95ed1479e0487020020883169db33f9834f57292da4b3f9847e8a565c8ac513bf5c12c1644299dc28d92647683cd868ea46b20c207a34925ad97b86fbfa5da83d9a2e8ea389672ab24e9c1d8b9842c6d2294980f953688e4c154f24fba9c546cf9dcdba081081e0c17c235bfcf927c07e3b8c827d95d4e54dcec08113b184efc5825d65b8db8bba30e0665aa9ec2a9122b623a1884122ec22f289554f5b867109983c14b38d16b7772e97472305c52926062c5b55490e3604e1657514398cea7420f341c4caa9e76fc940a35a589bcc16cc1d4891ff2167b4d113798573d9788bfa8aaa2166983f9945895f2a4e48c8e45d8604aeeb147c9222accac226b3089b10eea4b7d28551f1135182c87ba39655d23ef2292069370a5b54f0cabd84f45d060d071ab77dbde7d64173983e9fa2f279363173183e12f5dcefcc91dd6a94819ccc1a40a916922835147e5bc955216737918f885c818cc1642a7492f256230c8300f67497a300b22613095e0316ceb2bdf8a1e0ce65869d757ad4d106f6341e40ba6bb9cc743e6a3589abc60102a4913552e6464475510e98249ee24a7caa9b9279eac8d258870c1d8676fcaa48744b6600e6bee67960e112d183e4dec87b79364febdc1d602912c98e2e592be3e76e824ae6410c18249c34536deb66d4c270c225730d7c941989c4e4e725c7bf0f8912b8858c15427a89cc20967278eae0ae64e56db1fff2de53b51c158254a97b6384abc5b77d220320583b49315726397824135b653859147c11ceb41be3c88fc4ffbe420020573d756d2be95d3c4c99f60ac5b0be661f6b47f9204224e30cbdefb9cf0613fb8da04739ef3114a48119d4a650a112698caef4a9927f9bf93998cf115483a74ecc8402b44966092f45de48f0c13c2b24a30485359290825e7b1b8c7209204d3d7789c309393126a438279d4a95cfd26e792e57ae4787404635b55899664bbeba818c19c3ed789ff513a410e1c37bcd8f1192848019122982e6fe4ada4535341e3098810c124fec9fa32456808a639a1be77293bba4323232323652242b0910c8804c1644a12c46a9b205468cb200204d3579f9d0e524dbb761586c80f4cb2c29dec8df7069b7621e20363877851921c4fcb2405ff61241a8fae80480f4cafa5e473695d1fd1df606b1b438407c65196f2578f28ed2fb9c126860d1d89bd40640726933dacac4249070655a6e468b5259fa5170381480e8c5bc1f29230b1d43bc74e040766bdec6e9238a9432831251c890d1e7c2e7203c347911a7b5a52ac24456c604a7ec14f1294d6205203b387f8242ad968c7e8a04184062649d20a27895afd8e5ecfc2a4fe57eb363b5f089185314ffc3b7afa2da98d30c04068606c31c617393090818b857974ceaa637be9b274606152ea3a65454bc79654c82b4cf2e7bf67782865a3bb3084b8c2a07b4c55122d29c9e48d86905618fda46049957e936249f20803470f2f84b0c2d471f6de75d92a4c5143562ef947c5425461ca7b8d5379848e89302415e61157adde2684a76e21a8484cd52b8dbdbd21a748b40f1e26b45b4c61de922fc69d5c522b85f194d7c713545b7f0a7d62c3c60e1dc946e50eff1c38ba781e3858f0e87164404d9310529884d97c979e2ad1b2fe41c8280ceba9c53d868d9df2f820441406cf936a6b7b753e9c42612ccfe3492895a3bb4ada10020ae3ad09213afe9db474f209c367ed1bf9f0b95abb9f10e209d35b8e8b9d73c925cad209b3ca8ee9a99639618a6e27b75cf6b4fa6e13c6fca0a40b965fce46a50953527292e445a7d8bc33616ceb7c9324f1d30ded0a30615a4be597754d3895e34b98d343546a5142e68df40223231b620993d4389dfcc63b749a628454c2dca99d53783cb9d1a70d4228612ac1f24936a3de3c6712263f53654a499e2d8448c2a44abc6d951ed3d0299130a9a54ada93529238415d410824cc73f2ad68895595937c2121e4112615dbc12c78ebc8571d611c51556147c3ebae343212d208939237fec7de6e747f16f88e3a46983574e712f7e753a47683ad98095984a9be664f09113a5f9a1461dc2afdde922d43084984f12d88fd110f559be60b421061501339d5d6a304fa1026e5676184889d14ea670d420ce129f57f5af4686fb09dc4060f2fe3e1800b88c0460c420a614e416457aca93cf1d4428844bc043b69d6860cc21c8d4fb7f8ded36fb081f14c8410419894ac1865d5694e548d4748208c5727c40575b166e6df60e3e1c56a7811811a12c8db4008204c9e83dc4baa523ee9c23f187c6f2f7d75fcf436fbc1f8793d6efc6a37f8025942fa6056f5554fc2c4cfc1021d3674f4502b0784f0c1d89aa72147e5bd0d295e0842f66050ef222f97baf5604c93d3e657554c92d47930fa764e527a1227976443f0602e1d96da41433ba91672075325a9f6d3e332b3437630e93cf31eee3b75308839154d6a9c743089bed353628721733088d6584af9da3ade192207739fe8762586c98e268f83a9a4f73427ee703049dfa7647be45dc9e137182ee73fa1dff3a7b2d30de63d136959d467562adb608ab6dbb9716283f97e2ce69bee4e92a03518aff49bca659ee48b1fd2b1238cb2e37be0c8103584a46143d06090a3c7737b505b9f82637c056ef070096c51c30f2167b0911c2166305e292984895dd8169d1b6c6b95859032183b2f4c4ef2f5cee8f0ec082164306c991c46de76e8496659c993848cc1d85fd2a588b6c560905f4a2541871d7b7f43c260fc4c4bf29da3166b7d4308184c26ddff59ce5d0af982f93cffdb9ea524ea9e8478c1dcaf575be229c9d3fd065be920a40b26d9567290b6e7f6c1bcc156638b1a60fc17660316b040b9f6102e98f3e8c9a6423ea6a9470c1578183a6e15215b309a9b7bd014f9ee7e6bc120f5b288b270557a9205839812e229ec94a5b160b80fa7dd61a28f82a854d2c42251200c86835114c5301095cb0723130000000c1c918582c1684028cbda3c1400034c2e2e5842381a2c24168b4642d15818080602218120080a84811086a1300ea381b833bd00102b64559daac590ff12b1ad16ffc03ccd8470d8d3dbe6451bc794a4d163329cad3e7b5c790fe2f6add0e664fecdd9c2300d25f0b7558e3914db6d9df6c287e9262c2200b389efdd816fb322868b74d46a57b74a1b9949231e03b187c9334d8c54be7d0c0e8cdc90d59bf800e4bbd24ef8d02901ecb91c4d425fb1b6111b17e3ba3637cc52975ff24c2e62774fea8e8822b2d45603c6c2d7c9cb61687b61c0479b03996490573312e12428ec08d30dd57d2a2e979f97991455aad7f01db7525b16878ca26942c9852431a2079956a39cedd830c7e97b9359df6ddfd91d21f6d7f8ae78f23a65b6e59222391d0e2159a5e47b2708db7dc7a7503f4acfe3b906b062ee054addd26a652e1ed08da820d36b4f57180800ed785a06216d746ce7f485e7e8fe7714e2eee102d2f268041017f8f21181d4721e1d91307499cb5ffe98e470ff0af677c48a8727a8803cc278351957ea10df654ac2ce5924ad25e96953b830fe97ad3659cc5bb21ef4c6f040aac9524e9d34c4f2758d848318d3a58f72761ec41eccad6099452fc1cfab8097676b64288cff2101eeaa713eea3f06ee22dc4a86f034fefe212797b773cb9c272805a1bb6625ed359e3a4f78ae52a2ca14ec10be6885a69a51e43961c98fd033b4f64706af4dadc9f4f9a75211702e525e8868a15b85db1f70afcc82023915000175aee1dc1fcb5b6e5a062e9bb2a0ee9f32042f4faa9273e6cede43ed3025728ba9b776d066c637768caf3e9ed3b3af53515a6c4a33f890a0f520fec215dbccc233e6db1802cc34250da3636034a4621275ce39923275f86eacdbc5324f6ffdf3ec742bb77618150c065ab439435a05d128a55e66f9cd53090e744412b4e5aeca6f40cf5d74a3ec8ccd6deed87300834ebbd2acad2eeac7107a9036bb8573280cecfbadc37e9bcfacf7ac3b0d03fae7fe12e7a2237983e30cd300b05daa776b08907d4c2251ca928871f6bae10b4f2213bbcb08e263fad036648820f693a704325d7ba1529847246601f48789e308e29966ad497fa08d9dfe0bd7b6c709e477139d8d6bd4e3364d273ccba72ed5bbbdc2a1a8e039e13f19a6aea66803c8545be60571f12188298ec58b61603d6534b11c5355550d257947438a83e809df85b03104329caeaa552e6fdbb97321bf1c2160cf2c9d1cfc2a5bb4099696521fe613f17c0a0b38b3b902342d1bd1526103c6cb863c07983acccac2ba26822dbc657e49d79408b957992d6a9922b00cfa0c17dfdc3a40ad8bc8570619bd4bd60eb6a337c300a6c76ab2224d63a25a840b63a79c53211a322663e8d394e06a38fbac6ee84838da11feaad4d44272b51515a419c1159424b9a037b770ac1be7846c92942b807b90f1b51a5664d39628137545ff6d7142466f2852e41de004a04745114ff653cd1ccf9ca9210c00f4d8d6ec219650c2759b8ea308583d369028bc5255bfb4ec10e21888a086b63159a56e02738fc81c6ad6993b088aa861d0d4fb402aab51673e3caf749e279fa43283ed11937e75a70b2d0223a581568b38d64c9453f2986ce79a8a08b12ed7a1b74c29e6381661d4db10b26888784fd8f62c99151ce9ae25f67e3ce8a8c7ae7846a26d5bca8fd60426073c77fc681f20b2b20edd4dfae2cddd55f359055a9a7a805d0b1e3da035fa964cb747f51e9ec1557dc0c48a9f682855dea8011adeebe94dd1023c6680b6c35523482a641a4443663996a7748539bce4b8bc1cb9ede083eb075aee848df4d325af92d18dfdd5ce0a5b9d214327b71009300a651df6316456f1ecb6151591381174195a044155005ea9114cc2e6ff9970c34d6cdd23c30657c262543531ae3b2f9438ad7883b4558d83ff37cae373eb826fa6d639b6709e233bf68124c0eac76c0d7d25b8597f0f5d258ed808208d9bb858b752616db06dbaed2fd5f5934ea12199d92e3a0694bc1a2c4236794fb8d7465ff4a6a75408c6745523acc8427ddceb4319203769b21d8be92ab5d2c6defcf47c5b715032880938a0d76565749f86bf73ee104b538f1bbaac265f099a39b503e8f419cbb107e68c9443dfab69a77f6c330356b8e2b8786a52f6918ca5d6b6a780e3502830e054bd231567b6e997f43e6e22371fecd14c8579bbe1d5307835fe9202aa1a29015a2ddc03dd1f5b0afd34be01148262307d97ac7de90342768e866629d492bbb4e812177a0c23a20785886aedec2bebf4003ec67646532fa17473116255a2f6d01d9824e02217f31b62cea41416e6986aef9a1d4bfe8d65821c5cb0e264a57b2842b04685db664f13967927ac0ff63cfe27b03304b4255203b99894a30c64f02000ef7598d02b49052d76dcfb3be06e6ca8189a55235c766124837940571e016dbaada913140cfbe37826a76ad41617da9d8b22dc4e60edafe0ec5090ff837768088b65fee4e45ddb1a68c5551e6548e82738ac2b50dbb7404d74f3831afc210445c296ed5d2535594ad2ba2cfdb21ae3b9e2f5da3c10324f9f2ff95688702080d7cdd18ff3daf88dcd98676e3f05d327a760d58de0685a139e003f9c930bdd54b89e205150cbc4ee48a436c6637c576bcef52829713345cd7b42115f08162c1763dcff30377e5b2b974aa20e4b0f7b74e147be943f459c8a68db25ee4fe0c1f608b60619c386a2b317b879e321082b91663fb84eb13ed8690b0b750a95c77b17b7a63bb3c6013619a1ea5ea813aa437c421e31e96c2c384cf66d39644410d076844ec8b82198450e613754b1ad15c90a95af4de32a98f861c8609579571deede37e67d14f099831245e93b04b38bf2e12e92fe7b165a3b1bd104f75fadde93af2438336dde14058bdeff04aac424b55be738cb64d1b1e205067a302b846f8acada45945d7c17581cdbf848adf84ad65e59f9e342f34f3642f28cdc4d6e7ef2526bdcf0afaa4c1fc5cc8846b6be7e62a40b6a9c9b6bf3d643b1532695388139c619892885e8433eb4125189cc80779bc4fa2e9b0544657cb8f0ea4427444e2826d4a47163a491d57c9867cabbacd32d10621946a19b443322b2b16a34a42cdbc6329b40f8189cc55fd80ab68f28fe838d988ae6a51fc3dcf62d9f07c529238888586cc28df2046d1b34ff758ba4c53daa62a78d885640817b3f778817e631735faeebbdd3ad5406f1a003f3e82be223956c49067236a00370f1875fe73004752ffba547787f98d9bc5514f652215dd2b9e2486e8e2901c4e25de0d7ce8212c7baaeef541e1d0d31688acc80d4e60ca9fe01753bdb398e1bded9b112a797240135c99130a711d08062f557806863d562e6f31a7db7fa5b3e311fd8f01ec23f4d3fe6926485e4bc2bf554cae46721aaf8211ad4122e71d52d1303527038af64b0261aeaee4cac1b5a8c9dc3da30402be72b4261471cff23de977745279358480866d029b4d21b46f96bf84177c9cb974d24d885e452849620468180454e3eec7ef1c4bb4cd5181630ce6ba5f2c01d3a6d8db6cb8103e28b967b12fa711f98b23c7a2bea7a7b6a2759ab7458c779a24a240a4394837b49bbeb6cfe0572fa43ee59e168802ae816e481fcea394919067c45c4c8e1cc4fcddbfd91eaaed356f30d896c74d411310d0ccce028aee1dcde2684eb14257c0d01d8b84d39dacc428f9adc81392ee3617078973b406b52ae52973246ed27accf2e6308082075de3eb16db59ea89b5d7b06a4233a2c3cd0bc9abcf47bc490dfe7ea1d23a26f4f7c65823556228137e7d22c298a660b38e512b5f9d1cd45d3d8d1a24a8148c8d1a6cfbcd9030ce37ae7e15267e5b328abd5af2bc1efde3cbb3afea7a485bfe61206ece02a4ca7bbfd709c85d563075373c039411502b9d19a127992f047b6c4498c910684b6f69b503272961d709a7fdf1457fe9042c17123f2c1b14747b5178ce78c2f741c40bca97864221723ec8536e75f26b07b5511f4e49a0a99b52a0600e28b91dfe1ac3c4d82a8dc4f45ad965643c1ebf46c6bf082eb5bc486873a74d53611ffb74717a75152b660c13739e8806d021da25978b890252bcc21aeb17439cc25352a80cb8309b5b0c62701c3564ed6207e7d0d462eaa77ceb9c12c5ce88761609bdb25f3b25dbd766fb8590d1b5dc926c04c3608c843b209807c97c96f193681ddc3f8b0814d30ae91e6ce9e14077ed567b8a9cb4a4cfd2a249b753509c8ddb28942882fd3cc8f2acd5e184a1ecfbcf5e5a3a5e621e265cc40f75b71ce075ab0f61708439cb2218f67e5c690843115fb2582e1a94490ee3d2088846fc2be6afbe8e6fc2bf499337b783e85b290a413b2e378a5251d6762830f9b90316550abe125f0b2abf9baf271dbcad6bd5da5dfc15d4e985b9b2713db7b21fb6c72f0769eabae1b660b7d8f30d8a9309802f6baf53bc3419b1deb70f87402c7d411b0a9c23d50e06c8b8bed1026c86c49030a3b2c126c0b33d212ed375a9394d5038fa776e8b8ed7683a124b0f2f0ea4ef2844331d8c3fd974ede6504f656447c00858920874a8931100483dd6347b03efb668e1a623d737a100d260f5cb94c4c10a49a25cd7b5940fde8938cbdd798e3f0987d5ef85f5fabb482c90c1ad403034fa16105c20699c7f8e9a7c1f0e8268312640775cea21b0025da2eb8e37afcc593d01a155d7515886c33c79015a25a586c8ba926fe779f847d7579dd3bdddf298b33a95c9348570847ada0804659a0b0ff650b1bb59d70a943139ee8a5d927e9c3462e718e2923a2541ccef6a70fb45b2a205fd73ac1681e24ef47029a3efc410edbc4d58f74a7b74085cf92fae3ac2161d7c88108d7251bf37fa1fe1888fd2d64ce6d6b8f5db0e0b8dd126133ca0f54b285250de3784c7d56d6ae88ed6db67e3fc25a92a2a49eb2ea1656881a761d30af547cd7b01190345ab7f6ded1515c8f9e6dcc9a2052b1c202736607c0c5321e20e54a6f6b9a4f325c206da86e7c4233c9c402572d9416e2f0d02ed7606f7519d349efabdb20258d0c399b6986098a88a7966d8195b096db8ea86a9a8310c387cf91b9db1afe54ca4c2c570e1d67bd7e4c6981ef4bf75d4dd575ce3e9f5ac0e7bd1464b6809b03bef7a914d23e440f0bddabaf214561e39df35cdfa6910575e990e87e70a8dd8fe45aa633a94243620a2d8ca4c8c24925f068295696bb90d2b95057a4695c18f423c6639387c0d5711246b5f4dbd72c3f50e5fe07b70f19a6372ec913a70952c5d64bcc47d52a994fc693a0ce1f580ecf48760ee3db3ac5a61d980035ba6113c7c5b0f94f5d2b8fcc4bc319b2df20177a9a8126545a99122b95b0e96e5b478f12bc4d3804a1c187f6132ad9fc259e0917d9114a7f3147b2b34a89d40aea5a115c6a4dc6701b2f18cc71e16454708963fc1d4fbb64f891943b295db234125693531493239a7f3a4cf761db9b0869e280595ae9affa914b6c3525a6e88853c4603475e5b6ad34483acaf9e64965ec9dbfca3171b7c151ff8f3133c1f44fbc1f12d138569a727249a8c52f0ec38200609b0eabac5d998f5924a1bb2263bf0d9fbcab1c240f9154f34c5a3ed43815868405bece7ee48109dee4f9ad4085ce43906c3dcee22ae39fce30f2541b7a92f42e82688ba4a86151dca82ad93e01918bec3e1466277c727090530673817d1eea988ec6f944c7a30db8eef4e288333fff88fbeb8408550e9d0da4030cfe7209330ce882c236760410f322dfb81a00cb2111937071f6b91721f0afd0d61e3328c4c0cfc1a57802f28e96bfd82f5ab52e0df6214be81304061687f9045484420ee3075666a30df20ac1208eab9a0111108ff3722efde4e742fc014e34af14b325bc00c0e908f166fa313e28423f87fb0448842687794798dad4913a92225030c01b4a1b5825b881d0ad61c207173bf2c8691922e33af3e3f9e4a73785003d1af80fc5830901cdbbe829c2a794e98d164238f89a605f9cdc7460f5cb52c0ee694442500a4c332a2e24c6e15a27aeb9b88fb0d2e2503c50a7192b2d4cbdce6458604f6263098260df3f4000d38f9c085e54e7a773ebc5a11f816d4509534181be01f20109a1b861eb031c4267e09ccea7f7c6df8940a377a52fea9821fc8955a3fde3b8111c21fefbf8f03e38f83d63c3c8072a84f286513fac8cd2496e190672b04a9e0d0301b07e83283581b8815ae069a3c42133c1e542134139c31b17aeaa80ae35a10f0313b36e1bb2e62e21456b56bf6734b7da121b28049a753378631d94ceaff7a28f1b7cbe362ee80b389db8bdbd5c1d5acf9e501161e4803d50567fa4235ddf475c734ad601a53ab1be78c05f0c6c8615999e2c72b041560117138fd1e50cfa94104abbf2f9ad8e02ae81065c38ed62cb18bb006cba19c073d9efd06f941e3af877487b1ebdd0fed02970dd9be877b0687f6264de5e7f751802605994cf784420191473c6552500e7996c995597fb20fae6b8eaa9d79d1221fc9b82d54b5a2c1890072ed54d4b51c4d3bab457dc037e35fe5bd5d4d717165086982f155c451513fd272d1f4a680be16cc78abc85c40612eb7afda05afdccf2bd05235ae8aaf6864bf3c28d7b2acff647873f14bd0a0d6f34da6bcb95631b6b977f0468c45a79d55a4a51417e46b40ad3da184c6babd5749de94e1700069928e3710a6e57cf6f0e6a2c5d0c2e1906891bc8d019d792ad271ea5042e5c3af9ba4206738b829e120bb4105d727e0afe85c12b4494648dae8c5ee62a77b6caa01bd4800d00b8fca66b4052369ce03b0d4045aca0cf65b0b3d445ad408307d109434b3cac53a7453acb0da3dc4ace11b2164dc9944020481a5a16a6d27018269018460eac77357f66fe473b75b6b253f144acea5191637d75629d6aebf0c42d7a583a7a36104d83441dab49e08365657c092ae5b10296cc4491bbb98bd8fad2787b9ae4a79546bf3dcb45d14df2253523c0f405b36a5c6fa91795b7ed3bd91e9472eac67259540c360e8fccff489ee83f26d66d5df7d174142f2c68459cf08fc99fcb279551ac5eb3189b32042058fdc34fe9d345e2c946140ffe748c4e0e6d82fc3abe3e60b1255e3d24595728b606da55a1269a102786a58500e209b5da415c0cc7359f5f008eb8bc7d8e51e0aece8595c4e81cd9e43002b88227d0219aa9fd861814dc6ccaf85c07b98431e489f5fdb1fa489de84db2e35da9944a4ba63ae15934086e13d85088a57f1cbe8ff5747eb7904acac79d98531436aed2d8d5e59e8a2eab6045f3c92622f69ed27e1b96b319a50df6c7664650ac947f239bb2e6260e0e2f1690d97e96cc8eefda40339854cb9b3ec6f40c3f81463e0a3f55423a96c5572a9a8febd7400abbe38bd73f012ba933a42a3851f22794a0c42cae7f1bbc497b04e4b25fc841d36441ff393ba4297c7a04a4c44d0f574dfe49c4bcc1dfb5ba7a4f0f5c6825c2c7df6cdbd3f291b3cd261c8d15f055c572acb6fb3fa63b602dff7ccfe1bf585008d914ab4b2220cd3d76d23462c364c5bd7dea535ba434f9185a7cd809e2d29954b2ac31027d4515742ada525b115b84311c87244a5895d41ee24e3d96a0277d80ffe1750be47942583b8a08a88bbd55ee774c15ae17d25f86fe5817f58475a2c591bac9fa7fdc5eaf9f0844d1dcaf60a5406808538d9205ab4bb3c00ead7b0712199018cf127ec4cada55dc49e0cb6d8d8f3f0f3a7c2d1af2eba992df7c94c0659122ef0bb8944b9fa137c059332560448f502f6a2352a9af683ba45e6b22c8d7e1b4c35b641f78b481de08fcc8be58c9a63179fde802d299cb0cef60f5a3985ab0489ac4445d08909ae5647d645f9f1f56ac81e6c82eac11ac721de015c9d0039345f24d25c18a07bdbd7bd88e20d368b8bd185fc3ea9d39755b0a24d1d5b126ee56551050ca23b1cfed8e7516852ebb374c3c834bca3cde349825447c552d01196fb19863a0894249e79ca091f0f62abe7b91bbe64904b3442415be85a15793a3bb723ef48bb73b6d7e25becfd93fd893602ad10422904e34f3ce66d9c984904413104d1291277c1bc24afba6a898c72008216942ae8ad6a68166cd9891cf30944829228ea45544ab18cc91d07b2652c7ed6c7ba4300639e6d5dbd5fb598804e0d82987240dd63ec6a73aa61bde1856635503b7600cbe0404dc1ec9e0c450ee43f948390d1a18581abd37ce33906094cfb8bd81a5d13be32c03e53be624f7af7d0a1ee71cd9f5372b63dd82ecdac54216ef691225d1e3dc3df4084cf16fc8e31add4f2491dfaba13dece22e68d75a08ed019fd4275d8cd16979d38b2333b3809358ce1cd1c659fb6d2cf46e5aec86a53ac8ac2ace520a4417b5375484f91b8918ba399c3a47887abde9d33203c212b0742dd5f5bba8911a3031d7ec97c8e2479d894165ac2f641605b1acf96af2adef671b3d56082f74076b8d95fed5b40715ffb31be082eb15bce8601f6d2f1404ac2d036220a41cda300582bceab6c29b115080907497d25fcd8cbb77559594a446c4a2b40c69a75b097f65c3d5fd332b6d8e00ca707a361aedae55acbc1be9038ec92fe49f0feb77b0fd226985b0312a4b5556bd590deeb8d8e6bfe0731deef2b96e4a06e787b0ff859ecac08eaa7c9357fe08183f46ba25ad5aa2836d2f9b05d72c323131f175168cd08b55fe0c41d3f9225dafc7ee071580829f247f2021a0db8ba428e6a39035ecc8c0d40c5bacdc78a08750e9c177fd52d61c15a2ece8655a4abaed4a10a28701125c912ccf4cf76789894477b2574c1bd4cdb6d29944111d35d0b5cd1c5f090cbb2c4e246a8a72647148a5ea3c6e45f7b80d1a2de4ac7c817f164540ac96abc674b564839946990ab7a5acc11785801a37b0c97e41e8c727c70c63ff0ff67b55874f5ed15b6167e8c958b11fd9cace3c4d4e03a0d3ad1c89ecec8b0a3bc613e2e1f111ba4579573b51b73349614268bb36b6f36f0f264c398c6cc77ddb2dda209b569cc55345e9f408202bb5f9b528ae08661780d33bc525b33dee6ec12c34e6070b9ffcb9160d224245f8a6f56f07ba04ca3422591415f44333be33261101a7adf550a27301eb643972dd4f4b0d91bdba8401159c87b8f163887b9e9480e61887cb362147999e616047c435eeaf127b828c60f20881391c22c090c9c805b367dbeac9edd153522e9e0cd2fe32ae200fe40577937cf70c33a44d4719872fca128f1762b4bfa31357524496e3cb6f3edb0187b4557e34a70873befcef5629c261f7a50eddc472bd66f6258227115f2db9ba1931f7225882230e94d3359806d6e11289fa4a9f7c0c724202c9912dc48d0b568ee9ea267dc80eca487681d48c8a1e546246ddaf82bc65ec2470e78d4fa38f57ff631851746eb843379f5c5521d32449ee7f3ab47f8c52fe6cfa5ea6c88809b80c80cdc0f631c4a02d44705607beabd01b5954ba55e94d07592b27579549ecd6f295347d04835b05c1f7b924822456007a236f2791e16e39f41327947bb1da6f1f3026e9e0f465fa2d893a630049204e8701d9fa68bad2e26a9d334c179f384a0a7dc8217d165e855ec08481890a391a8a55fc4675f6fa0f0e1591c1e254dcaaf886a0a0b87386665ee40b50a1ad8b0a627f6d2fb9e937583af4ce2aeb1a49e20bde17006748d0a62720b178fe1ea1acd4a31c0fec717152e53ee7bf5c21ccc10486155e026d2aafc053c176d30244909e9d056a1b727e80f3eea8e887b7af532eafb08269783457a35234e30e25b1fe22ca3f91c980b9b4fd4767879964b706484cdff2a4db967bdd83ea2c47d897f8cfd16f3e96f55b218e9bd234ba5fd866814d034f1fe2e6a2e188aaec8a10e9e95e326b3b9a79b15af2c1c42c3d36f030de44d22bfb490c44e7c6e93b3af8977bde2c60d83000a0137a2eea384e9724e42cbb19de44294a6cda5ccbb18a7421bd6ba284bef92bc070e72a7bbe50f3dd0d85bc2476de925c695a112761592ffcfca01dd1819fcc1911ccbabf14d1891f2bd1b8ede82bfebdc8b24f0b3751b5b7444aa768d8f0892d8a4c4339890ba8022bf586ac4349b272112daa3be73d2b913aec09b29fbdd02616b0d27075e1db84d4428f41533438ca7b45636d080df105d14ec4a58ade133931de989e0700757e9e2911d78912513f1de52522dae29051fc7fa2dd3a8e86edb4fff8541eee4c458c68887530ccb48cb094e17d33bab099e6eed9f7a67fafdaeddc0f67870875feb639219f8f33990d60426f39eb600e9c75c4c86ec05ec073810f04e9891139040e8a580c796aaf660a3c719216f3c4ce55117fe8b994352798d0b5776ed08c8978909326db902e30863a5f3c9777c61d5cde5fc994d7cb1c0ee41d9fd3f32f27dc95f907613ab2ca34af0785bac6f9fb2999ee69cfd0a262e1a98b3cfbd451f52ca87c23e223618bd1856056148c2249ad30faed9f5fcd3315a7b2ad1c7d20b3dc118d0fc464331494af20dd225b8e22afd2e998644c3d710f8bebacc33baac1cef5606a03435da2229aa34601d9dc03945bc95b62e5f85dca950650fc32c1783da6ffa8bc13979879d9290bd024dec482f4db2ff8242a4529efea8016a6762ecde6adf9a8f21123184c1b30e92ed2f5c166d9e8128e1b88d0e1677c23d17d82743f4d636619f0dc51e375a0a7390c31ebef9f66051295be6f60c8defc76a804b47431343dc6af2ccae68a43007231ae0d54625e58aaad54e67db537d3abbc6376f702a1ac311a007b55c8a8b2c20e1fcc76a06b7c3a1f6032987ab38dfdc025a9cf446f209e1f90e2605ae3b5070d3ea1146430ce4e48f36881c2996515bb8fe32f94a4f2d149536a57fb1546a210beb1d40a88f81bea4ad3a0be2006be1ed48b1f41711ac50b82e9c17c76325144191e04ba68e94b6be9315ddb0596fe47148d418bcb7bc92d6468f0249881f130f46ddf0ea579d7b4f2b6ce362b3223e0d38b43d878ebde519f3b433b4e1a87bd1bb9f97bd70b1f5cb1ac633052f30cecf1be584fc6484aee4ab852044c789f4f3efbdde49566e2af6da045554365f74c29d804c9b990d9b8abc90d2d67ef502b47d6ed1175aebe85ad6343a8e0736a0002bcea50be8327f79da9ada5ce3a0d63d979d814ce9911fa62b191f81028fa9dec8829ea20f957eb006c5f1ed3eecfe04cc2637e28983ac6eb44720b15ab80183e1771ef1eff95c057c231931e589e6cfe6808ff9391454bc2a3b1dbf4ad2002d2314d57a734b40f25623a1f2ad4a1341b497c05b917e47cd54b5ab4218669b8852674c26156e3cdf4b14b97537a336dc18fb51f5ff1572ca16a76feec9fa0a4bc4c7bf11ac9b73ed38dfd0a3bacdf28a3f72b9e950319fc1b9753b2a4966ca6bd3d804bc2c555212fafc809124bec86215f32909302453849fae24606867b641242541bf049b9b5a777fec72b685ba698ad52e1bbba26a12164e58ad7c04edb3e794a460fd7aac9ce022bf0ca06b2ae7ade93ec07f283610e6af5b8b341d6c956ee71f7025068aff82b0008da513bd72c188a996d4faa1d14a15c5a5f26e7a1288b4bc6665ab78c29443eb61e89e102ffa4b52997e7cebcc3fe1f83b48f752131a414c4310b561291a8e42d9a54b44e39c72b8cc39bb07c5b7d256b4a067a4df63688e5bf60ee75991af6a9e033326576accddb9d0cb662a36e2325d3885cdab6210cd693356125ca705b24f8d25e06556a7111186147ddab64768dd1c6216a52dd6d8af37fe82470a3fea593ca9b6d992444121c9d326949c33e8cbcf4165f33d833bcd2d010be77a20e704cf7e158bb9f1d1b5ee04c584ba10f3ad6dbd23a8314c5f4408f644263e3cc3876588112a1d0fe1b85973423af5c166239b60e36248e75790fd92ec5b8f347d8ede5443fde367ace6e1cf5a381177b8018a1f580acc45a1eac64115a291c1e2e994157a2be0e73084bb526d71e623e44fb66528218dba58a9477ec5a742ed9b0fe73f11d93d69431eb578d1308312d5c09acabd09863295e8ed3415f8a5b8276b8bbe92df15931963d19d9234b6f2b813724ea2fcdc069ec6a5e57867233127fec533e464219545ae30bc1f6da3a025941b02d89aa7511f22845351b8bca38fed322c2408680f04ca0097d1400402a51cebc0b11ee7ff2ba7b55215e6a6f7ed66ae54cff9314c582ce0600786cd9581de0e7f13a737d958233c33ad40fecd8c96f1f0a5321b4a1a419001a5b34860ed8b85fa72dc1d4a3972a6240a14b0f72d143d8325516ac7063c72a30edcab7f97708ab2ea7e533dbef390926f2d598e0d64376b2b33498cd75802028c5d35333ecbadd80e09426c8b2b837600da05762c1f30ece36d509cc10c3af6a7d1049d79fe70d42cfc292012d2e541cb8c2baa581379e8a42b2b97520f98a5508d51b8c2407baccba6c4f37d63709221df14fc2df094a3b80e44500aa1cdb2e13db56c3fa3dd813e17e8456f5b9b37fb099fb6db5285c5d477535024e26382cff714e8d07a4c00c78142bf44c87a01da742ffc92d63e79aa9b182cdab6b42577348eec0690290017922bcc0185eb86780f384f4a929aaf5c904e443d82e89de8666d339ba17d05a430b7c860565467d6074fe03cd27dbab5702cacdc02c42f0ad23daa3b9e16efdcbfa89c6fead6397cd7d2d50c398412a15f6ff6572fe6a8e85e308a123d34919c6ad0cbc44c62edb64426c355ac010cecc4eea87dd14d7f2bf105d75b2d496ad17574f105c1093bdba0d99f3dfabc19eceb5f03a750aec18bdd835d28b272fea5eb3ad7b94fb2c868be3d482c6c11d06a8c65b2ee98214342b706cf0a6202a318ff942baf94e8f0eb7ca831553caeaae7f97e8f1d1bb419d1a8e9db0604f3f067cf6fc06a79fddeddedd1a23f19736b7fed6bd9c587be9956d36331ea2fd9ff5cb6128efd40d10374c7b6fd6112f5a3a7ec2bfaa1daea9714d4b352f25d82383287d52eac11b3ba0f127e5aab2fb544c4e6f2684985c1aedbebbdc98d134bbbdaf2307b9a683499e68d18fc681a9b89199fea9f42a4f53a1fc9f5398e3128f3621496c46bba83402cf24a1312fda16c43d45cfd0188be6454e62daeba88cc81a5ee69a7af935f21307c865c66d0610094ada379133129e206dca49ff0685addfc9507576241a3662094f4268c80c97f46a880ec647f78315285aa94e5e0d0e147fabedafc621d630f551ff46be9ad2f2559b4ed5103d0a4cafde1814f54b50ebf297d85f46d43df20e04f9f9a5058adbeee2c71ed1697d0ce7baa1a45c1ce961b2b35705e8d2be5515d8a594fdd7b7891b32688ee268052ebf25e3b325ed44a2e87c91dd5bf806871a87a0b5def3bba3066745acc4425a3ad0c7666b069d9a0b7c175e10654b60c1941974ce46561180e2a13180b02dcaeb1471d5213b0a99fb190f960e62fb4b5f68050925175adcc6c753e122f0b024131af60662da3957c2b2d8227001450be183de7c249e773d4758147a9e8705d8cf7e5dd0ce1c9eaa9280d96e0018c35f96f27c57c28b493e203d0b08c7a744c9a1278d123ef80958473b7607d3fa77c6629c40694c286b6faf92b03a09c9f20dbb4c063af1f07c85de990ef66d6e68031e90d9bd2cadef7f7f7cb9f836dc995bbfe222cb5f6026b52fa585e7e879c42a197b67fa624e3650888bde4c3c4e2b847a4532baef61edab5eedd1c657a30ed8e037c4bf9f83d4d48bdc2b1260d18a1fbba0d6b289b14854a0c95ed949671f0b0ff13998e86640bac2b01d9feba06e45256b20b44842ee9d7fa808ef57ac5990dfa8c8dc48ebfb381119e161e4473c82d18f29b85d6e1a65ebd424680c546c9fba91d759c71a8a46619b78496cd6ad852b9b9b4820c0d986c47933236098a8fb1f7cb527f6f80b183cf9518c5883398daefb76573d75b1205234d0c22761bf6d57dc871a4d37dc6811085d250d90a5a13dae3d0e48339003daaa56936f3a2069e21ed90c9bf455fac42193acd60f635508477993cd40c40ed2615e5c867ca81ed72f208a02bb4949580fd0055502fd34a23b4cb39db667080e9b3fe5b9bbac5354143548dd83101216278bc0f0f51dc83e25c2e25ff4225ab65e7c5472220ca3cbc47c59ad5f9231b9b103aef5e8fe20211938f2655584ffe9938869df0f63a71eff29210b274998f9867b25f28c1fff32281baecc1d11663e5a3c658d9381425b1f82ac5391c80d060b0329480cbe85566e0b38ba33536e7b677b53363ef0af79a605ad767cf64eeebc6c924a947f67b9aa4ea88dd2dc9e735f7ed7692ed2d7d75d9f1da96a9dd7af7ae376a59919efa5dd0250eae5ef1afbad4739637b81938686ce9ed5ebf668a344d3e36cdf5e08c75dcce1784e47ed4ce7635a4796e17ba4e9cd63d2eb20deea2d0dcf40246a77722b6f51bcb103af6fb22ff47cede41a2f322a8e79ff6b8ae56f3b406861bb84c1a03a61583544285704d53ed46ce541d81bb22ea9e01a7f928cc1f10a49bb49901ecef8a80f0a79c09deec6e025c7d64b4fd41950224005dc31accbced4cecf4264f25c12ca5dc4908f0acde6bf09bd438f472d41ca8b16bcbf464319f57a118f622ebfcd9396352d4aad281c3bd80b97a509b53ad312088e7f6834afa73cda9d3fb94f1b3e0b866af7eb4816987f1b7c48a1068db8a14885553ad636417c8ac50b999204ba40a4203a7032459ff819cb79bfa010143a76db3a84063df6e7459792aea87f2287464b8f05768e981ad237878ddbb4563cc296637f282fa6a54eabd290fb3e0a61cd3e895bc1d19f208c9f8d374e6c15fcb36652fbfe33a058aacb17824dcddc5b3e473ce342a1364607c8aca2d1d429e469ae837b59b03e56a3b81e2d79b603023c01528ccb4ac5049a883514df2a2bb34d842e91a057cb0a04fc3ef4f4a1639263b232c1acc58b9f914f0613b5776990b5fb28434b8cf4fcfe9cf9e7c864cec5a4351354819a79ef08f6626cef0c3eaa6921c6039376c6e81586ed5d0789f4f990deeb2f0a510c5e499f520dc7a7167298e924de168fa2cafbf08f0301fbd633ba3b1132ec9502f14a52878ad3ddc492df9ca5c5e5973bf0a2e6fd978f73eb07e1d74f8b81039ca2ef88c4241b5e77bb256d420165301ff209fa23f229ab8f4163fd6906aa75e9c55c4b8711ace6f950fa6f60346a9639ab5b2bcc85ff8609ddb0a064a369175c04f95143452454bdc75cc6d9bc92c1f06b607b2a36ce35fa3e79d26f5e899161327d9fee39c018a1e8239ea2bcd8d1434cda6146cb9f93f1765e858998893a8ff22f25497e8f3489440e7113927d491ca4f098cfdd7eeb23de1103ad54190e1c10ce1452ca423efed9b237cd7b9d851c1efb3e8237eb8a6f4b613a20bec1230eaa472090f70aeecbfaae364f36c525cefedcfe981c3caa2147077f2575900519c86c3906ab5a46b63b1529350303da4704ee5c8a2356de43e89219e18b0b6f1faafd970c9377c6a72bacf11aa8c81468a774d8aea14640e234980a32a22a3361726bbc368ff5d11450ec3b7e35248e749cd69e9c0ffa4618aadea52640c7e694417b5b561531ad6a36f172d7a474f4aa51144e7786e7696fc530120443d6808de0defece7de4dff446ec5080000665405748b8526d02dd2f88bfbaa65df04f45ff19d93dc287cd2b441fe2d5adb7103b990276c3409d3ec70e290e49676c17d4fae3cacffcc8f37b23aac887fad51e2a701e9b6c404307eab01726a8090c71b196ae6055b9d27302ca01a49dc5bfa77df9713dec77d35a137aa7830abf710599b1486398a9f2238164e2429efc8828b6583576896b8676114b9f9a21b4032c4e41d9d895b4e8c31effa6a27e28c3ce7ee28040ba02e1cc548d2fe3ec17018fc8b2b126360a3edf4187d13406e81b52275c68b3ae945cfd196d9c4041700e01d7286e9a0e8c05f9c386f2350b6ccb3a5debbc33d68b515db58125060a41f36a77ddf4b5edc391e0c1160ff74a4547267b14930e341c3cd802ce1b45ee0c3560b26639ff0000000000000000008ce25022461aaa04cb2425e903a0d1d691524a29a594c7c4a79421a8d1363071743ac37d9ee202a30c4e0dcb0cea088620489b66324591cb1acd2b014620881dc43655901b2a84070862081584bc98190b30fe40b6efd4122a94570eef1430fc40acbcb8b1713780d1077212f6ad1f343e789d6eb0d900061f484a58bcf8755fb79dbd02c61ec85b6b693eb26761f30d361c8c4305395c906c1630f4a079c6b67fbc205b6ac1f3386b13c0c803693d6a1425c5c3010c3c90e2b28208d9a436c24f7805f88004726800041af8c005341030ee40b651d133eef23a65ebec409cb3f5b14ea3f3975c07928ad023be62ca9fedd28114db2c48dbbf146b937320ef8f52b93b88cb1735187220e629d1983be8f98d6803461cbe4b95745edbfe070792feb8e991a1755af31b086adb65e38acc193ded0652c7ec9544c352c628b681384ae77e073195f718061bc8262feb4e7e5d9f4a5a03318786b832590de4ef2036d67154fc6c4a0349c47b1cdd161b428f0682aae8876636a1a7fe33bc0186197c990d2ff9c1c3080430ca400e8b57b9377e5cff9081f0499a9beecb1903395aaee7e4f97cc43e6220c9a7f798db3b6120977fd8b1589ed4d6060cc4d31393223ce78eaef90239c435fab6ea05620a176a4e271922bf2e10abacbc9265f79ccb7081f4a9f22895af924dda02a9c4b54ca985e9d9b44032f9294bcd773f59250b243bb539fb7818ab60812ccaae847675a8fb0a7a50e92b0655ba15c8ddc9737606751508a62f89880e1ac3df4d05922cd516e7226c75ee29a4691b5647bf960271cfc32c6bcb8b364581fc977d4278ccba1f8202d16426919a636327253f8158e219539b2793e15627102da85235a2378124af1d7af4cb0472ec3f7bd3dd1f44bb048272d7ce0cd25402a9b2c5fad6bebcae4c027134850a6e172490fb327728ef183bb94720cd254b623463ca2b8d4092ad15aab9c53f595804c2bca60f916769b44f0462a9b43432530c7fed1088418b59bc4b8db2dd09811c33947239cf0a2d0581549636b6edfe67d00381a8e65144b4cad87b7e407093b1ef93c6183bf70129796a4773cba0265b0fc866d9f5eadf82c103c27786ce0ba7df01395576eba7d3d9e8f12a4893000c1d10b434f669565fb40be5805c4aacec56aeec08e180b4b1a799d64a083b4f1260dc20a13d4a9a929b32271836208e7e28dd76c2b45fa616e4d3e94c9f8c7517e34e0b72dca80fbabf71b1e459905bff629aceb17eb42a0b627878dbb07ff1e4cd589044deedcc88ce9dca60418e397aa9b24ae262955e917fa64c327906616fba82149a4f4e36d77d7cbe1544b11c54938ce9641232ac2887c89c2eefed53ab20081de385cbb755411ecda15546faca076d2a486dd7394bf32ef988a82007f5ca162f740a52df7cae6ce2e722375390de4344a6eb6429fe2a05d1459c555249af798814a4382adee87ecf7fd15110e5b736fde86827ab240a8258f11c93befb5ffba178cf3e3649cf4c6e2350903b9d5afecd9ed1eb274c69be497759f0cd13042564ca34264b2b7ba71347f3fcf81f4ea09f826c93567bf626482a4be989fed05479d104496f93678976aa8f4b2652bad3c5e71c13e4cd17a5dbbb65fb7309d29798952873513ae5962069d32ce1977e653c95205638cf3151417c444a90e365acaf9cd2a55b4f8294f1ba325e9452af4b82309e7263ae8f6c4b2341fe20bee7af73cee52041ce9be6e5c45cce51ed230aa5b4a992d63d9e23489a3f5e0e8d3602a1a25c9dcd5e0e3382d3d2674a9c558cd02cc21873925f2b29826431ef09e16f268220c4b4c895eddcda232288254adea7de0c32a9dc21485763393f93ded49433446d3a072fd3f94290b355b6c9861044db0bf79babca41b6010cc2b06f1a2cc750eb1d1344373abbe60829e25e20ca3f9f736c0041544f7f2aa854a9c664fe5097b2984d230cc00f89fc57cf26ef43173ee5e9dcf9c000f8f047fdac0ef2740cee4117bd9f9e1f2ea7443d547a32ced9b8970772e67831763a939f19c243a5f1e4937c872e995bd453d98174691a2eea9694bf501d4aa1ec553fb36bc5a603615d6d64698f739b9f39a4be9143ebf79eea4be8c48194271f38ac9be354734e5d507a83faa24dcbfda406dd40d02cb11cbf33871b4b1b2ab9a6e27f98db5ad960d2244cdf8c6b7873ada756ec27119e1a48e1b388cfdc963b453d0d048d3eb7664945e90c1f610068c075478cc555b3f8eb0c9e9ffc95ad5d1a559a8198fb359bf4a90c77980d673974f68c3d1948a23b9b25f111f6df8ea1121db59205dd8da611837183e70e9b62fed62d0ccb0859eef301c36fed96e42e9f5a5f48768a1737355e60b3a9d84beac21973cd88bde849e30259e3f6f33f5c9d92b7900e57be9a9764344c5a20c70bf1a1348ed251d32c2434c8a8d2315e1a0bc5b3bc23ba29b5778537538cb8cd95b6505bc1f00daeb9a59fae2aecd1531c8b2b151259b326c529b4c1fc7252408845935689421e75d3863f4161b119a5d2c84f284df3bc69c709a464dff6a2d3f3e358840134a1e8a6f35c0a3d3ac804521c0b1aeb4f4e46cb12c84946072536c86d7d470984ffd9f1f6fdf2529340befe52715aae53fc0c123e25f57a4d5c7d0472521774fcedb530973602c1ddd4c5542fefe9b2085df233a599157ad6240271f6359ad4201e0239a9ec3e9a4d77d7d2031002e93af77ac32515257210c839f25c4cc6deab050804f530b272345caa7c7f404ab2bf3328ede95a6452ab62003ea8b4bfd88e5f573d20a9cc596cfd3775868d079d754af1a23b801d947c4de6cce88060a3cdc2a65851610039f844334c5c2621270e3cb720c6744dd43b801b9c94aaf3d8e4006ce0c8aab2323b0b3ab538a73659ab4adb33272db81cbdc3ae429997350b626d85134a84ba32a1974567b2f154e894e123c6a22456be5e39589035e97b1aed156475f1937e4ac9e5f5ae2025dda5ef169f92a89c56905478cb5a9ee56212b1e22f0bd2636d564152292c5c30d1b82657052a2b868be1c2e970a154905277ac4cf7195424bfd2584c4aeb6ff64e414e112127eb26ef36630a8288e5b029844a2976cfcadd1b7dfcf622453943ae3c84a360a4f8f85ab8a2307f05517532e5329d505476c9e3d27e770914a47c31459eced490267f822445a9602aae9e2006a5f27b419465cd6927da9ca4fd88684b9a2e9c20e8242ee92b95d4f90537f1aece584ab9fb4b13fe69ce17539a65a83a138415a5b7c52f9820ac95acd8a9a2ba747609a2a70a393ddab20429678c0f75cb27de4a95208f4e41eb63dbfc831794208c89dd24d346cf8d9904416f98050b5e6da7a625008ef04212c4ff8fe717dd4f861909928c6a9dd5114182982fec43e6a551b9398f48af875b2891eb1e442f1c81da6cfd14cf98469093ea4b717d7b2ab98611a4109e37a8aefcb9f38b2028dfec62b7163dea1dc820bc5044f1ad25ad822711dd6be58878ced3208294bf467644ec43a036a75da9ce3af234445ea346c98aedbfcf1582b41bd67edc52be8e4b08528958904f4907cb200e82709eb7d3d856c82e50a3868e2d0e004078210892929f9a63eab4ade5058224df4693d788a8113248780108a386cbe821624aecfd4323d332a8fc40bebc77ca53ae7dd1af0f24bdfe789fd47eeccbf081bc31b9ba77c7a865997517850b6cc28b3d68f131b3ab1b6c4d84177a2045ff131d64fc13add5cee2451e5ee08138427dbcb0d91be2b61b6c7c05f88004b62847c7053cd07807724cad9cf6c20b3b10a3e9e5c93b2145a6ae0e6efca0fba103d94c57b651ea5a5bbbcdc1dc20fc2f8869e910042fe4d0bbdcaaa9abab688cf0d44d8f15995d1705037120785e5e9965eb149781c20b3810b4e851d2cdbdc2cefd06a27d9c55743b657af70b37104b9c5039f9fb4f78d106c27732a1e14b5d3d8e2fd8400e9f337adcf6aec5ba000f2840171c86176b20af7dbe883bb10d5b3fbc5003f16f2bb4a5bb1072393974e43038bc4803290821944c917a13e2051a08723575abc70dea940c9a1d5e9c81944c8f5ccba331de73662099764e9a63d213f7a432905336b59381bc2553fda755c7404cf3c9622571336f3a5f782106b2bd6e328b395f84813c9f53c9ba2555a1456020c5f4faf162af953ef305c26512299fc35410d5798160eacc4b28b526f2761788974ec61c622e104f6ecec17a4dba6bbc057226cf97b3e90a329eff420b248f22d4363e88fd0c8f17592099568c41debc2555f2175820e51474b2514975909f5d81245c538ca2fcbfbaab72c20b2b90fdf2550cb239896e356aecefd07196f0a20ae4b7eae07df60b2a90f77c93ce16c42fa6401c3369779a7d2105e2bf56bce9c6d89c8c0b74ec601c3d72e070410b5c092fa2401acbd15fb4473e7eaa062fa04054b5ca6d194645be0d83174f207bd0f1ed8270cbfd035e388194f498e56f5451677373f1a209e4a435e42761a2fa6f16bc6002d1642765ab9bb4a8144345c7166b1878b10482c8ab0afa6ee63cab3678e415e00312283b5cd0a37840062f94408c2f79154aa4a720c34920568a361d35065f20813c9b44848e54d11e474720758a4be215aa5733c546c6feb3f4211acb54950f13537d0b39115ae39ba23dd521f8300449e75291bf5053d1e8f728363250021b353e0a41d814fe32463d5d39762ed82269053e08411c95793eeb9d37d854a0630bfc180441b46d05952bacb5d31b6cace3028238d4bcb46bb3c2f6ade62b666a90bdc957810a745ca00b1d19a85143053ab6c01d3dbaf8080441e5cf39a9e09a3629e50db6aab5a49b8112d828c0072048cabc5c2e7c4ee6c9f41650410e1c356adcc71f7c979333ddbaf958cdceacdbd6ae940f3f902e9f08a5e557bb45a85dd0076269aa70b2829a0d8ff9e003f942c61464664c8f5362f06a12d09341d9b1a3d83838d0f640d4b8d1e2e957b1faaa3ff440da283b2afabc9985ea0de681601973f135c453c3bec1a682cf8107c256ce9f4d06eda7a500085c50a386221d5cd840a8708f1c385c903d72e050010e63a3051f7720cafca65bc9dbcaaa758163066909f8b003512b254fa94d68344d6ff0c1d1a3f4e051d61f75282d6f26e917ef2b04d6628003950ed4a5e0830ea7e595968e69e9dcdb89ca9ed4c52f53af3c0f1d5d703107c29d6c9fc9eaa0e193fb5b98f201067cc8811c44a9d2a11b2e6e896eb0ed053ee27055858b9e559bce9a5ca69e6cf78651adec7cc08194fda6c38c7ac5243c37d80c173a4e0e1c5b7017860b1d0ff87803315c50d729e4fa479b0af87003e1b3e6cc3819cdfca3037cb481603a27b53b9a39e8ea5bc0231bf0c10652db9e901736ae32a8383602b706720c5a4d671da11b6c8b747ca0460d3bcfe30a1f6a20c9331196fa455acde6811c387474d1801a353e078e94ca471a889f1a26ad4abc679291c1b3c0860a72e07074b3c2039d573410b3c8a447d75e38a5e33738031f67208d3639faa2e96bf8243390b3861819d4a8522ab71b6c6f18f8280349e666675f7b6e9a8ea3c78ef2021b3d128e1b3c6c6ce1022ed83cf0088708ca1ee18041ee285b94c3633df041065b94a6c791e5f3b071da0332d822d5a8b17a2cf8180349f707fbf04d2f1bbb1dc5052de02106a25c6598c6603232e9022eb0031f6120a5f6f8ddbb05a1edcfb120f80003d1472f837e8fdd60d3d1c3068f36f3f105b2a6c54993667981a0a39aec148f97642f0f031b6928f8e8023163d43e98fc59cd50041f5c205d1a65f55f9952a8f00db663db8b41990d332d5b3d1664064a60037d6c81787f32999cdbf0feb11b366cf4e0a1e3868d3dbbb41c1f5a208d5850a3b25fd4f09105ed5bf73443bc2c1f5830e4b8e966f8b8c21d3b89c8fdfcaf5aa1fb5cafadebda91d3f041c5d5ea8d1a397c5481f029c4c4528fb2f4ef830a641fd3276490313de7be848f29105307151e4ce853081f5220a5d6979bffab3c3e4681989743f4cb83f6114abf230bf00109b8a08b1c3d4ee9820b289073a99c834ad7c713487a1a2f87b9e48713c8d1b47a12eeb9daa68f2690ab72de4b49845a840f26104375567a76d794b4dc48f85802b94ae998e4c68647086e7c2881f4396516952a460ba57d248154c2f5ce2dccea68cd0d073812c8eda5b2dc7bdc4e7739db077c1c811c4bfaa537f5e1e2c30895cc6d797dacb96d8aece031365ce0d84277f4e8e2a308e474b2cabd5b93fed1f92002514536a8094f6a73273f86404e8b9e52dadd9b11cd871048c9deb4a9bf7ff71104f2a9aee60e2b6be5961b3e8040ccf84956a5f09cfdd98f1f90e393df68e7fcea49a5078f728106c2870fc87aa243a4a55f32f8e801b14f2c5869cdd59431c75fc0860d3e785098e78c7be97585cc9d9e50a7bda4ef85d2e9117cec80247a4f53c3e64e37278e946c50200211e0824781418d1a6de33e74403e51e9a3ae9f3e7240da20a38551611ab4cb0f1c9084eefc99ee4c1f37205a291dd1df4b314ffdb00149c8cdf6f28f266ef3b520e6759633611eb3546841ce1e91b164e829a1e52c6ad150ab1d779daf52f79477bd2d9f1a3b55b220c833a133aafcd8afe5f0c0c145c68294b27b8eef188205d1cbf35eaa982b67055f411ed35a57f91657107537a62b55c56885ed5a5a9fddae726943a710fe49969a31584150564a64ceaca64aa1418c5510dc3d7af494b1537cb39710431524cd18db52c47226c4480549897852b6b1a1e9e2b2011b315041aab061f96eb373a639c62948f1f6e425edd1f4a6185390f43326b19fa95210f5b4ce8cec99f22c918220c3e22f6d1a7d3ec718057164d3f6cf84a78a630c51106412e9beeda6b353132314e416f3389ef42b060fc60005e35d67eb357aeb6533b3624987add2545bc7f80449978a76a5d35dcc8d89e109825e9599d2a7b7e3a74ebc613be9fd1c3a27c83f722edd3b76ce0a6e8218ec83f8ecb2626882949a82ba5cbf1ccbe9e89183029f09823e753993754a3d56c5c00429feac3ae30d7c1732f8c04521c625886fb942c91afbfcd48d218625484aa74e72f3ad53eee70a312a410acb60d1a2c9186e17d663878e0de0200625887b6339a914dc2b752c2d040f88310972e5bbcaad61adfb7723430c49902fe5b4d9e7d13d6a8a0469549ece71ccedc48690206d78e5a019c2b417d4a891f602cc188f2095ee192deae139a8f488e108d25a677aebb598907323c849eff75a9fbc4df7c6600441758a88ca6a425b3c8e08d4a8c163b11063116451c1c3994cbbe13e54a3468d1a32e821831ec785188a209bccf035a13547a7688c4490662f657c4b96188820cdbb86ddfcc1fda37788362bee42aebd3569e89e4a3355ba13c43004d1545295e326a1e1692a04714b6b3cf91e4408c28710427b8aa117ec70c1b17170f4e802c7165b3c0a620c82a45be946ef34f4f8a582f2019c400c4110a3995a4c4145f47a5220c8d71d346ec3f3898e8020fb8ac81bf98f19affd81ac7e4126a5eddabd2b37d862f88130fa4374e46abda4da0782b2bfceabbf731573cd40096c7020061fc89ad74e68edfd2036b70772c9d41773a5980aca07f4409ad33a6ac6ab82a9a43c904405b939c9a8987ce6f4400c3cd4677a3a5cff42c92b021d28c0ae20c61d48a9162dee8b325142960387053250021b22886107efc5655d57d5bb425e36da47d39c14a30e9c772a19377aae5123478d1a2a283d62d081243d76a35e5b7c539b391074b03826bf5e53c6a418722047f5fdd149fc3890cfeada2d6fe04012adafa392cc1f3aa64741a9fc05508e06f4c8f13bb8c8418c3710bc92a9e0c13e895a34861b885fdb29a509d1f9b26820461b4816635d8465c3a0690c36aca171c45083c6480349f385ffbc0f95e94e31d0401ae9e1928d1e9b8da5186720e629e16a294f7bba243390b2ed9adc8adf1cefcb40def7ca71f32fabc7880ce4b4bbf639695f3dbf8ce1b8a04355dd460c44d74d3f99b6adc1da3010ad4499e598eeda3b05032945cfcfe193cab88c5f209f9a8d63aea361252f90fff337c7a4adb936d705e2c5d5130dbe7983cab840f65b1b9d76f436682bc61648b31bcc4d7b2cad291d430b0415730e423d7d9996b2f0768fb8510c2c106e2fe4ee85cb9eb61e20c615081bc54c9f129e4cc5433b74d8c881a3ec407630886185c365f298a2517383cd053adcf68a10a30aa48e398e0a9b3b87be4d5b10830a15883105824e9aea4d21861488b7d1fca2995214889a35648edd67f79d0405628e5577fc6079359b9e403a69392db75b50d9f44e2065ae3f93499f8d1c7d13085264ac9c2e525f549e0924ddf64957bec965082d81604945789ae828ab414a20bc76a69f871cd53a4a02415abe482025b354f79df63a377404928a6974dda2e5ca3102d13d89adacfe29db540482fa187a414de7918940fe1221cbe4ece9549f21103fc8f69a1d09812c42a9be8ad9651d130462ac0cd19c33c46f1808e4b03c32956fce03e8cd062862fc80a496fc62ce9b63a7d0072431da4c8d0c216f73a60724ddb9b48792293178401019329f2761a6dae2317640f4d173e9c39f7fd83c860e4852c36efc890ca72d8f910352a5d16a7bd9e73aa863e080a02363d2af94f092718c1b907253544c88e98c1ac7b001498d8e89efd4b03cda5a10d36f8f98da2c2dc81fc52bb535a4878dce82b863ba712993ce79a92cc86b31961716c5841b0bd24719abd095e98399b02076afc9afca7ad9b67c0579841019f378979ede15243f213cde7cdf631e5b410ab2a73197fa9096212bc8c1e77754686ed6bf0a62d88bb5cf18c62a3f5590929beba6cebe1aec4b05b144fc6f8feed1e6a38214e22ee953272dfd7d0af29dd2fc29743ce1695390f29c923958e568cd5929486f211b9498dcd19d918278f95f439946419015f6ca32bd65764541aacee12b281444d357a534d322050c50fc3952c378c90fc62760788294a7b2d3670dfebda74e90d293669f6b1327c899594d2fc68fc5d026889937685baaffe5d6357177995c87c83713a4cdb33d4a5fa77e8e6282a4339b283dbb29089ddf4016605c821843e9ccd6e839df1f4b90fd4573e639f54eb77280a900a31268eb12a31547000625484269cca792290d803109625dfee61fb19f45bc356aa001862408e2ac7d636386d1719341fa370c231224712f194c4fa94bc11e040c4890f75247eaa86c5c868f3085b0f98dffbe00c311a4b4adcc9b324387f6c06804f9554ee84d3a7a6e2e0c4690d76309994b7e16411e61b1e4b88a60288268415fd545b930124156ad51d7fd144b8509062288e76299772c6f66cec3380431e88bcae9bdf72da7c03004f12d7b638f75c6bcec065bc2280439c96c93b75b194e7d1ec02044e7c9447a0ec620f8541745efdee5f8065b57ca11044f956c6488a9cf29ab51a31144b3d91c7ced9ac108f2c974fb723a95c757f684198b2045b58c39e7f0e98d198a20262da99f45792a1b4d2248e7a1c75e57c4c8accd0c4490f2da464f88551b8f727108926f2a2110a41266188264e99b67a6fa12661482a4f6f3bdc1f6021c0821e07d9e8420c8e0714e8f101a4d250d826062e2d5f7fd46af2b08d267131e6c2dadfada812055b49613a6bde1f10404496ae60b1db54e37bb3f74eab617f67679f16962a6b28da58f1f4829d4e767d97f7e9f33fa4010db94bb35e6cc1d0d30830f44f7e831bd9c7d5042e50133f6404ee14bec66bb188b96eee8d1851e88497e8e9c531e4f07751e4816aa5ea51a46aee933f0404cfab2c8be9bee4052a69d327b507e60861d887231da8e0a329fd7ac03c14549132a930c327fa8078e1c386c2c08dec8a060a0ae078e1c3872b8e08c8be762061d4a6e399a49f1d31c082a8f4cae9973c55ea7013798210782dcbcf09ac4f5b58c66c481a866dea2a5b1595454800d5ca000dec50c381055843cdbd0bcbf497f03b17d5534c54f7a76ba8124e72abe3b89cf1eeb3610d67fc4a95f529ae7932c98c106b2e90a75d2f6842b98b106e2682b5d97935f96fa3a74982d66a881f8a2476cec34b56766870e1b39763c05d8767c6760461a48ea437c98b0ddbc1cce400359e533eaae9bb2576dc619484a57543f315d7a087c1732f8c00b669881bc39c6905e577fbf973210c3a3ddbd5849068256095de69b2f83fe668cc1d214b9cb905dcf909e9ee3e26e52f306706cd1850776f4e0e147982106d6b2348a5f3c230c04fbdcb7f9be9447ef6680811c6d939077167c67546c667c816439e85ca7538e4a9b9ce10592503b751e3d998c287581f8ae169476ab7c577ea347d9408d1a377af42833b840f83c11d67aa23ee58f0bb6f81d5d70cfd802b93c3ba75b57afbea01b3dca06f2468fd245caa0c7e50c2d1064e39a061dd3615333b24010a273fcf4234669e58230030bc4968b1f4f27c6c2532630e30a24354ae7d13f3972f672836dc7a375a07b8615c8c953f494fbce5408e98dd3a37061a3c70e1c3b7af48e1e3c6654813832d8dc6a2c6b17878d1e3c5cb0c3060f1c4d05d2c78c21f292fe145d9902f1723c26bf2ee97af50c2990e3f73d8fce39de7638230aa4b4f144da5730a55234030ae4df3415d1d0b13344339e400aef9adb33c40795829c40fc5c612e07d96b9f7513c8317889ca18d625c76402c1df3b45bb583a6e533396404c9e84b214e35244cd194a209de66d4daf414fc54c0239da973a539b6720c1d6ad53fbb0ebfa74f15cdbddd6e4110837274e4ee59c19462008993f5cc7f057d273a430a308242522f38d7ef96d3388400c379d64d069a2e49b338640d2ed6d3a26fb305e4a4220df2565fa2952c74a1f048214fd7df9cd2110c873631b3c3ebe781467fc8068f982e88a509ae103c6544f3b53675793096929dc562fc8fc8c1e905e3b7abceefc986be70131e6b4a3c33e6db42b4d60c60ec871c466454b7a944c71ad4d4007845751c16adf2d8c5520a0c18c1c1036693ffffa8a4d73141c28c7dbf82d7af4c0b1455b0366e080742bca45675e690a987103823a5d3a73fadee8211d5cd878010ec4ab0782b4a1336cb0ec9a75a97ac8f7898f71c48ca62e71043a500b62340bb19c628d973ed1821cdb3ff4081f65cc8224de9214d11855f4476541dad320a3566a5ba84e2cac92d1d51259d5122b0f6d32ff9d92b450c12239dbf46eb9b677af2d5f4152ee96a5e662e5d0b791e10ab286abb7cb6665b4620de5ab9561c91fc86005f14d95ba944fedc89aab20ab8fcc1d3d37af05ad2a485e9e49e6ae8d23e42615e4ea8cd696172e786a50410e3268990c1d3f05d9429350712e698d769a8298dec3563ea81a31af14a44e95e7512d091d2929c89792286daab3422577146479cb24be59c254a5a228abc5366346b3c2335d3366976b8ef9e2924241b40baa2a667941d1a62842e4c53d7d22cd5dd9ecd4bc0d3b5bf9f8199e7d571af2044133cc07dd6127481774124f9b646a52224e10654f654b7ed6ff13656c82205b946c5a2ebd58d7408626485d49656f19ab460d1999205c54cfcb5115260832e6e4d96aec6352f9b283fc0b70f4380dd8818c4b10cca48789aba9e91c6309f206ad1e83a728a312c43bbd136d3907b1398712444b977dd1e6328945745efcb5f424412e8df9bc84ee9120a66c2a8704496717d3d0f73c8298237ab13aac8e20e7758bc5ed5c23089e72640c69a129e2c40862c9d11793876a119b8c77d759e7e8e8ccb78c86129e560471a3e9b278eb13410a212f45a3fe089d3e2248f137e7a9a473c9d01f82381b9ef9ac2d86205aab5c0e8d1b2c299942907784ee9cd793107dce8dbba6d5d85a6be97a8ee1f3c98f6a791a0441f393b2116de2f27d882043106455eb70a372068270624bef4eb7648364008228aa4dc9670ea154c7fc81e4a7828c105a64d0b0f103a954cc495e68a70fe41c3c3de87b8eff9ff940da0d622e2ac60813e21eeab237d34dcdce5bb5d21631163545898e513d104d4c865690f57ec1cd03c96b4d666d2ec6778d8753de73f4adca32c65d366ecc3ed687e99aee4092a54ac8a016c4955d7620bbcb7eb66c969edb97510772147123e4545b05e1caa0c373f2cbb693669220630e44db10f374d9bec1c682f25de4ede0820b942107821032fce7a6988c3890c26f6b8a299e70f03a4b56b53d3446ec5ceb472f09313a5c9ed965bc81184f089d47e69b7019cf20c30de44f53cf274fad8e266bd4a851c3869beaede0c16d20e9b9385b6a351b881ff4827d8efaa462680dc4dedb90b1cc3f57cd6a4033366b75465c53bb6b3c37e7dca4813076756feaf4c9f0bb40061a0822ec77c4ec65c8780b41c619c8499af8dea492a7dc6f06628ef5a3a1f9f93a7f6520a60da36e2d25d3173e1bc82003796fc544795d66be380652d6dc399da5b798f58881783167a68d4115064d3ebcf6d3e62e6cdb2deeda639e1b0ce4f29351bf24e404195f20fe5c253961f93b930a046478815ccaf377baa0429ba60b841f95c25375eb654e2e90cabc76935229d4edbe05f268b1181dec92758e6b81649a1e162dc7cfb1370b6d9c6ac659ea787ecd333dd631b632b040eea062459e182926f432ae401c8f9e296f486920c30ac44bea826a586a4af9caa80249e807fd4967cd03645041cd3d19f1f0aaf4bfb4e3e5b9df845ac614f42a4f2ad32f898347f90878064a60230632a440d2e3a71bb261949a4b1488979652b6f5cdfcaf51c30d32a0c07968c98c75ca6b8cca6cc91875299f27dade09643c8120ab54aae89f93b7e53881b041784aadfdb1630635811ccad25f6585329840d48e39391aabc4c26509e4fcfeeeaebfcb500251de7eb37599ee546112487a73eab18d1b12c84168d239a778927104e289adc9fd68d26b22194620eae7adf8f7417bd022194520c7da58d5cfd9decf9241842ac4c2bd4675f6aec54b2ea62cb339ddc394310452a69f28430804193befa8d814156404811c4c59fcf611a5c62a1ec8000241f4bde2ebe7cfe7d00d193f206ecab9de925abbeccaf001497789cdd598457f92c9e801695b63ba87a777d1e101693d8f975f85b7d17f07c4b6b9f210ebd1015954b6b46a973acf5a728096b5d58b755b7699a766d0edacbc1a4a541c90a2bf9fca3321358728e306843bd7b0cc155f2a05c9b0015beeb1d9e255f919f3266e2c4f9f67cfd7825c69c97d2d49694150955db4c593d7fd9943078ff21da85183c70d3e66418e415318fbbfa449bbb22087574ce1179eb6431e8b4de46cf345b664e565dddb538528c182b041a74a57af7905e9d382ae9b90363717237cb88230623ea9f2caf968053907bda499e52b745651c7033c8d1564d3faa79afce6446c567107a593beaf3c5a1584515be1f12f83d0e8a5825ca9d69733dc68191d54109414e16f31a9aaee14277c9c8220e73f64b7c9f11a358f72660a52b2560f7b3597a4eda520697fbd3e65757695420a4fccf376deca2d2eef7d4599ac5cd1de8f82a0d4a97e0715e00312f82e64d0a3468d1a354441b8ae79ef5fd73abde9207c8482942fb5b5e986cd5c3e28c8352a894a2ff76be93f03c12ee0e313e4383a6f7321676a4bda830f4f103ea7ad4ff1ac4145512748c1f6eb36588713e40ea795a321563a2b9b20c820eeb469e9f8dfa2264841667c5196fd47260897232697f33228f13e30815db8aee68b5797b5b97a92ae213733e5acdec725f4d0f90c31d79a534a2711bf1c2d41502a588ae6b53415bf1a35d88655821c473676f0c051e7cfa3184a90e39f678fb24e82b0633ab5e77823f35b49903d8cf453eae54890634a2194109dd487cc90605b3cdfac65b6434e5ef33ce889fe57a89cff7804e153cc21cadbd4e73d5590e3b7d8a2dc38ea08c2e8065d31e7a455cf754139e0a31124f398bed24fe56c2a73832d8d11044f2d2bbf6259b1fa0f94952d025159b752ad1c46d742fcefe7736ce4c0a18237ad08828cc97379a6a7526ef7d91b1d3b7a78c0978bcd40096ce0472248164ccccf47c7328d2182bca394e7b007b120e70be5fbd9d9940e2f2c089eb4e5a482877812ee2b08ae69ea9bb9c574705d41f44d1f2ae72c4bbf6d0549c8fe08a51b2b48d799635c1117deac5d05c1bbf2e5a6b5a9fcab82a8a9bf3a3ab92615a582dcafb93c2899a48a0c2a083ac37a58d2d0ae9c82bc295aa8dc8b29089b63563256b414a493a96a417f9ffeb4928278c2af3e7dcab956d55110f3d957d6d0d2d94e1505b993c5886f7ca8136a2848a953453c94b4bc9b82822097997e82202fe9ac8d3037cbd4138451cd1b6b67e1f3a913a44ef99385f4aba8274e107eae479ad4a4943a6d821ca39789321d63d64913c46c31083d7e77fea34c90d2c64ea9940c56628409c229f10a77327c92cd254849534ca7506244a95882f05fdf96e2cca64ea904d1ca2b9bc91c3296420952d06e6a5b2d93200819b392502152542e09f2c7b6a5d8f999ed48904a27edba9755ba6c48104d5cca30f2524d871f41186dc95b545e719123881b42cbdf4a9b941bf1e75ca7eabf65045649c5fd14331741ceb4691645a9aa095311c42c4a08eb4c22487153cbfa77b46b111104d30c9b55b995bfcb431063faec99f992e8f60d41d6186375be71dddb1482701fd49eca216ede420892b87eb8f838993208729ff850323d5399044192eb7719b3416fd48120665a8af73185802027515ae7b4f807624e267d6fec2e3c8a7e208c5c32a91d2f4d47ec03e92c9f6a8af05cd1433e90f3a90a42269d32bdc33d90f764b255d116a64c7a20d775a78af240104a8e1ad92acb371e887322e39952b72eff1dc8b7e5f799945a2d213b90642e5997addbcd3c7520c932d5b95ffac552e840720b9baaeb848a199f0329e6a063e77c1f01e440f8f6f0a6f44775b78f007120a9112d274be92c221f01e040ee9449c798e3c514f708f006a27607d12fa655647a047003b15356bdcee9af731e01da4018e13154c76c208c4c62bb2c776b20ef5a566a20a6d56f36e91fb49fd240bc94726a3be9d417a1819433e2c28ce80cc460c9bcf573775e8e1988f9f9bd3b5ebaf6cb405039e7cdb0d23b72321094502d3fb51d547c0ce451326c949cb61cb618c859f9835bea8b5d7518489a495dba54ea64d560202513da448c5cca7ebf60c8f1ed5869f402d16ccd3c4839b1a5eb02397385f6b12c9d92c78533e4955b7d665b20e6d398e7a942e565a605926edabbc5c8f46f591608a33af8a5e5545dcbb0503619965d8164a9635266dfa122b20269d4987c0e4d961a530592963b398d16d47e860ae42f8db1f1f3fc4f9f02e932e68c7857f65e0abea9af542aa8a34072d9153bff6029da50209f77b8ead64f206d10df9b6a615e61279045c7aad0ae687ada2610c5673e6519f39c6102d1565354907964be251046850e1a5386874b9540f8184e7dce73139f241093f77be8bef4292712487f5a3486168f40eef069bf622390b28b1cb9154d867b458022d84155dc8ed01e2210f3bb2dfe6971d1741902593507b71c4abde9b18540ca9717d6b9c367e31b04b26f4815ab91fda24b4020c7f02faa73264b6ae21f10f4ffb867cddfbe4c12c007ec775b775ec5c6a79fca69c1d5c24a801e905acc746dcc14017840ccf2b65d4253b4ac9620106007e4d5a4c72a290b0174c06c8cc8bd5ea9dabddb57c85ca99bbcc116810e10200724b13ed91cb347001c905468e55e6f5e925102dc80381a56c54c5ab0ff0a09086003e29c695e50ca2a76186ba15d9aa99bc895ee687c67fb8d62e5d2829c7ceff2d53f346641d2315d182dd99ee3cb829c3e33c79d7fadcda558106b445ef8dc5958907dff3a9f7813d559be82e0757b2353e95d41b2ec61a1fe2adf411aad20e51199b52e8a45f594062b084a56747666f9f3fb6fb0f92ac89e2f53678af520c4d3a60ab29c798c8cbc949427a58214db5a74143371deeb0d36e4000d54102cc6dc49fa5cd264211ea720499341c566c8660aa27a96c9a4f479a520b5784ad9f4ad4da87683cd4941d2ba1c73edad644c3237d8ce4641fade50b26ffa52de185190e38866065dcff12104031aa120788c91a7eb46e9536a509084e7edd9be46e313a48c9bb736ebde7d6e7640c313c4b15395f46887bf138d4e90763ee997b64b51936fb071b19c207a52272334a7b8cac194be0962d4a4f3bb878763478fd404b9363ff7fe7df87dff061b5b264872297e0c131a0f4c942be9f9972027a5dcb4797c4f39759620c9e431fe954ce94ee44a10d4c5b71d659ab28d7583ad2941ec92ea16eb73c74e3a9320e5d331f2a64f4910346bc90cae6f39ef4890e2e8135fb6b6f961baf1679020a9d31b3d7838d5a1fc47d871cc6f4790746ea7399146238c2ea327161ad73d37d89c06230c51cf53195d51692c82a42a57043128d5393ae64410464ed68eb6d605171490810378f0281b403a1e50a3460d2ad040441f1f62713727fb824c9516d03804714f9bcac9830ab259a1610892dc11da3eaf74834d3540a310a44d75d9b939b5a29d7ab8c0468f1c8420ac87fec54ce3ab4f80c62048317cfcd4298d7c093404419022b4d6fba8d2763553804620c8b223a45c8c39dd678020ae5a3055b9fce5ee3f10f33576578cbc7bd7dc60f30359f4d767bfbcb9727a6eb0ad5e1f88df293a5f69a92b7583f9c0850e1d01a0b1079403070c72b8400034f49047d33c329918f5f3d8e26decd061a38bc285198d3c2427d6a656fbf599c4a8b8d59abfec7994753c10bf7e649fa7911fb56de1021ebfc516382c50a3860e1c77205555d8e85839a63f40c30e2471d3418b12d52374560772871c9d9e9490bfb1dc60cba1021c3c8e0ee44a99fd2cc4664627cd813472bd925e9f7eeb8f1c48ff612af37cbacf25bdc1968868c4811c3aa7e75692a95bf11b6c0e0792fa0b266cc33f7b76730334de404ca7746e2f9de3e535379046e89367696f0331dbb2768fe828d79f090d369055ac72522d1d22429ba603878d2e786080c61a081ed57fd7a486936943430d045113e2528e9e758fa7e19c777d934b42c6e5b6b6cb584268205dc88b9a647b06926d6b0a99374ac30ca4ea6f532999ef5910d2280349c4e98a91a96608d020032964d47c7ae6e27fbec740f674ab4b9792b9a8550c448f22f69b62522284108d30102e9548116edb73715d050339c6b1eb2067d3e54e20a0f1059269d8f2142c86f5946fb075eee8d1050d2f20175f7b225aadfda9633e954f4b49a30be4d3fd205338d52a81061708f3b93b63be20a4b10592289de2a9519b1b6c8d3e070c34a0e303356ac040c78e1d19a0a18532eba86aed76b3401861ae96438e0572dcaf8ae81c7e377e85e5625f374dd6f6c6667d2e9689d2cd4b9a15c831eb856c2c9d6dd4804615c8717defcbf34c0592bbd769a757bfb0ec14086ba672bb6c4c4b811c53f0d0b1948c36bdd4a8f13bf8774481bcf964896996061448a2f4460f694a4f202595373beae712e5314e20eeff5625cdce54e96c02515c373ee91e6d408309e40e6956292a56898c63f013a85103c5e06fd05802415a6a92e79df3bff3349440ca4107f1a9fc45b3e593403e7da16e837d9040da14844ae349c5fa501e8174e2d388d299f385f6681881e869316e65dd8b1f2d1a4540a6f93c0ba3691c3a42c0050d2210b3b5f39d4e7549e4e5021a4320f86e75c630117f62f20d68088128237e345479af67c336073482404a622cc6384faa733881403a999255fa7b7c4b321a3f20a6caca9f4a1761d6361168f88018ace325f5994a37878240a307c4d8359fad9df549e9f080144c468d1d6b546d50d1d801413c7e3f639e860e360ffb5cd74fbb12375db139bff833e2442307040bd3ef397a4ed1a4d2c0013164c4ecd2b23b68dc8098737651c3eef6e9a78b1e2ed040d1b00129a89fb45dd339c72eb5b06273b534776b73d52e4be7dad082204fc7907fa293098bf5d0b185076ad4681dcc98053177dfddedceaa4765415249aefda5a4140ba28896784d3a5a54fdc0c2bdb80eb5165d6dcf38cd3fa6f2bd57103606d5d81cf17931ef0ab29b4ac13688cbf79464c38030a31564f1d8b11bcc82c2851a0266b082a07e6a69326492296b5641d416952be9d0f9e2525441ce5d49856a4d5daaf98c54903659feeef01753c3860ae209a1192f9ca6fe8b4f4150e3afe9bd1f935dea8419a620dce90969a2620c5e3acbc28c52107dd3a99893a2b35e6d610629c8e1d2a8a89d55ea3c7661c62888c993075f1f5d15668882fce6b9a408ed0db27d28086e3aedfd62d8c70b4141be5472bf596e1bc28c4f90634a972de790677882dc99ba5b54ff199d20a64b497379928b229338410ef93ee1e15553bfdc04b9c6459dbb599528254d10936b8acaac79ae329f09437574db5ed546f6b3b6f2d4cc688509c2a7939a725852b1d2a68b2e0ade8c4b10662da36cd0298e0ebf25c8ef655bf2e3fa830a2b414ad32c426ce9710d2125f82eaf144d9bd54984e72f6f7d12a4faaaad20baa584bae0e2e00e0dd4a8d10517a7cfb6281da8514312e4a41f45634edf24df03cc8804c1829b78e67fc814aa1b6c5de0d8d183c716db23070e10a80087035480c3302408e625ffef797329f347906c4f948b018d2ea8842d0623e2602c1008c4e17028200a9b71a600131308000040200c0683d1603851b6f5011480035e3a22383a221c201812161a120904c360200c0685c38130180008844381408020a4e422ce0360a83c5d412450ad1c34eaef88adb52a720daf6a763f52f97b1a47c6aed55cda8ef4461a930cb941984821745571002dd0895a164fd55752afc69bf909f48c7a249cdbefd4a3f1f4bcd1270ce6828e5dfcb627c9cb39d1d286c95151af424ce1ba8847b8ef58a402af043d019908dd530f33b9ac7f083927dc4b948fd4f74c91c2112385d45a7f1809de4f3fd4979e26f495528d3e5b9da3c17c8c2157eef83d675efa97424ed1dbe9bc42a3622c9fa6a932ff393c6e7a7a002ae4f7ee5c2e1476d766b75e2a9219af486eb698201f431c2731d7a65581ff43bea7a977c5837eda342c5b1ae199f3483d6aec8336b0f2900449525d5a66b516d851deb6e95ecbaa0abf0d3da8e7060b6b460e2916b6bedafc76b8378425d937edea69b740e052ecf6d4a4c5a6902369511e9a120b00e1a0429059e347bb64720d47494755f771d00551b224ab49e2f58673e25bab7b7763019eb4e19c95a2774747eb43fa7bf3bdaed973098d7ebed1565266b09d2e1a5966c6d1bfb9f7f24f55aa76ee8d3742e7c0f2ab109b80f3810d5ea1bb1cb2a1425a201f5222b63a57724c633e7996fe96237676947cb2dca18f441ce01875d1c03eb1e5ea29e0ab3399739bcfc0b9f5abf132c52eaf3ecb2e8e5a1da6727cf4c0020d47c83f92c58d3ae41b1ef0933f220ebf96a82a8f4ef75c645b99dd40a06585bbfa1dd2fbad9085ae1199787a5044a993a5058d7e69a392fcaa1b07f3713642b3b2bba0d7c96222bfc90da2f68dd72de36f9c98b0ba61ff23ae4f42a1248aae0aadc8e531a2d196e82bab1d1b4f912186686da5777db223b733368b1019ef4548237df51e5b575700746968386e140aaee989ec298eb5f70c9ec766a30e75bfb6d48a4985d609de81d900014b96e34de16362af7ade48235b604f261cafd20513d7f30da5aa23988b0a6c44519d15c127213c6715e1f203c773fa1de1aad26b237736d84eb3623ea7491c963b1f053c6f17209657610ebce43bfcaf55b0fec13ced7c22bbf7313bd5ac8bbf2a210e1fedaed2fb278c4f622b7e127aef4adb0748e7bba3ca5fcb35c359d0c38c7caf7421664cc18ec2788ce8e6e429574538fe329d76fe91549f97c3e79903b15571be23ddbc83b163cea170fff22cbc68ea496a4d10bcf805d51b3c8f0784c3e0325282af5749dabd7b03f96f9422eb54502b77948afec46d176946b4b1f001e09d95bf7c48de1fe9aea6bf2b93097cde8f2a23c6273beba352b805cfe58de5ace9aa100a8fccddafdc27dda005a8a17c91ba9b736530e7ee85250414da3f62cc18c1182fcee02fa0c0da090c62c09c06dfa8098b60c56a2ab88a6714fbe9253e7faf8d9082a831810cec5b1863878219388af0a80a61a50e8e5948ff6ce75b1e7c0b72d2fe8410bbe53c3f77f507e5e57df16b79f62ab46e9d1e1e47b27dccf21204a3cce6823790a2ce469fbb920e56c92d381a5cf7c7741af07c81bbdcea4a020c95e920f3f7fd4fe3b562e89d14d47a1771ad28962859e3071359ceca1596be7a212a6c5c50f227394074216db65f3572339b04f1949877958aefb69a00d08d76786174de0042650540ec47ac0b95a70a4b7a3d35c1488072449cb79571eac9ddd2ca9d8c2afc873919e8404cf8c26d77bcc98f8fe90e60604631e43cb937ae00d8c21b114a93d7e7327553182628229c49b1e5460326bfd8a6656ff8c9b3c5d4e04db7ff8c2046014c4c66a2247a48b414c56179a4e428473622fd6a3d64a67c6fe924be87cc0e11a613e302bdfde55e79fb6fb651d8ca438ce21d37473fa14dfa6402cdcd3d270eb1b36eacd9e8a8746686fddc6b8fa71ffdf19cd5be47230f503bd4a47445357832f86760fa5652b5705caf20adc4ab0187636b07d76d3837cdd895798bfa29ac8cd9ee740fc35f1c09076ec9ce9eca6051034cc94dd2c80ca2c8d5994bc5ac443b8a0a800eb81d36f8882c82b75096d59a3159723e91b7efc0997bde43536e0a4e8c360212ca558d4a01c02cac053a19b20079e1721d7d02d67be23534833b0d46b4dc7693b8363798f8873731ec046fa4f8e7e39111c20ebe17af7bd929a3edf12d0776ce0f1ce0c7aa72c646ed2f43e584f8492100470c818072e42b8661c24030909e048e6c8dfc0ce3bc38b4b0c2391164d33b8cdd7082778ed077cb7b22c19c49756ad5b502c336f915c3b1f3d645c21fcafcd580d812a9efe7e997155080bdd302d8d36004d7bb4033067d08a66d90370041ebd9b2336d6d0eb36774926826a7efc274e50774383d72f0314497daf9c229aca6380c3afe0ab4464b8c2f01454b0936990201431e1dea4ac427d24fa8eb21d3080529a7c0d9dfcca0f5e6c15ce0cdaebcef6df41261a9f421e9930bed7da4c737f5d3c3169de09b2811235b0e39705f0e20e34374c86b50f9c3a216f5bdb55f27117ba0da48330e7da9d90a8fe20e66a6ca884af2ec72a6cf91499a37159c684aa86fc88999547dcea4b61654c85b61933cb859a8e360b320e3f594743e3fbf0618426f2383e2ebadf599045f6d1350c7010cf61b44d615b534aa241c471feadab32d4789b2686c96fadef3a84440a14f2e81d8c72d9dacba070dd0d39bffb34a48cc192fe04eef478e34814b6c1cda482ed2c694576d6d4379e730bec23ea40b2917c6bf3829746834080fd783c6e1f73bff94d2f4a4a2758295462b736234cf21642ee79432a1284f0de5f82d607035052bf54966d7c8bc004b154c6f9c40bf81e5318be46ce78122fa3df2e0e20ce83cc4119a03e0e95d3961aaded96a510ae932b9e064e2125cbc469147d129e55c0c25caf2fd34a5ab6f495194b719b50d175f7168b2070e1f59a123006e60a657cb86edf66acd7bdec492672c3911ad94581278ab499356c83265761fe53b4c439ea4bb2689bbb0242fcbdcda047c94e524a74e5fdcdf414a87900541421275949c7ee73568228f8eeafeaa180247d242707e48756fee34913ec2466c729ef397d4c8f5d8c30f136f5623a39a81f906a1121933fa4236f8a87953be0e780ef0491d7efec0edc7109db08c34268766c986da0fc109a5a46706e09b7bc14d1ce6fb377da4e8ef1f18fe22a20e1548f63e664c404f8309ab29ba3ba00445f0ed336424a48ed60124f4c0503ea37af2e00bdcc8728189f6f400f006acc80df1450bf95b0a056bfbe288c7f0dce9e947a343cc87c12e2406047796a337f81c1245b5af42c31f33b6b53c82c767c9d18fb430d97e088173ea6e3f8b05fd9e7a32abea977cc37876ae531f78aee6b8a49214cd3a92feca3aa8d9c0a76b65b99929d95a0ee52fc6580b61adc80db914f840095b7bfa27b499901cfdbca62ebde6602a8cbe1adfa31f16555d89463d3cf3d82b50721df9376aaa33b40fb63700b54ab5b50426d4e88458e688f5710fbc0d8d52649868b40bb450ac3e36423aa44a2d2a25a913ec0d71a440e230aed3a22c721c74a50f8ef0e0962af5ea2c09cc99aaff5054410474c1b5c0bd12811c37d2f66728ac2fa061d92585dde3a72f6e0a6b29793efda6877b07ced1c9d225a923c9a68de376c94a3106ce55162bdb3eb1c010583643cc1c600e6b354cc3f68add0695e5f56bef9fddf09992f334a869ab41c52b53720660628ba29fc8111a8f27aa34e97b83f4871f8d17136f4a983782514492bdc36abbb8442b268738a6872dac0276925833c237361965b0b1ddf805ca28844dd9436517e59c3431feccbe3485c5811bfe4d309e331c1f89c5192d5fefe3680958ef56ca606eb090ff81fcd93c1d415a482bc2ad51ac20e97026262fd9dd069bca9a38b5fe398c37879517782085d0bd7f06321e02448ea98d2ffb68c23e5f7b3d2fdd363021304094d9afdd008c0006db02f81c8a65ebb1cf6b289a8ae65f88eff95d60bff713184dd6c1d7eaa1e06b89234dc0eb199625238e05cd6f6308a75e59b0969d930a94d65e97679b99b5b8f27b0f2b484e33389f0823b97d5ccab9cf625ba801941cc2e3c001c9aaaed64cebee2138df1ad6f1343a1003d8e1ad04753ee031a8008f9d9dae7db6062c9b8351acd27470f186997b8571991821ae877aac4d2654fad376ca3d6077e2495ba762f55565cdfe5ad2a1bc01932204d82e9c2780c44bd20ebe58e4d03b5f666306248f2d60582c028b23009eab14629c11ddbe8bed3fe172e076406e897c5116698cf6e68c76d6bc5d0d60645344346ebc6bb727707d6df389ee51ed707608bfc7a0d9664a7230cd88afd85ba21cc7b5c44ad3a1b86163f0b380bc36530d976be652ab97c0db4905b2e08fa77a526474247d5d7aa5bf3f5c80caf8ad7990c2e4b89542fded3203693b5974d067ab02860e53375660a193d592bd7018c1cc81def9f6c175bfc1c8313ee57168055f5258d80c484607b0dc587fb4b5dc1861b636afb6bc018e166aa9a1511177dfe6a9a7f6901211eb3692834c6a9fa42f473fa296aeee6e027d7fc2cc45673007b6c8b92188cfb5904b1cc071935897e74cab70c095d835e455a787581d57709771b4e7dda615b4ea76589cd8ab4d690d191dc34cf7f2255fd8d86c50b837652645e3be70361585c27ea9917623956d81e174c6e65393f10e6fce47e0a2ccf7bb18a317324bf606b1cd4e4b04cba9c95f60c7cd52ed18e539f800943096eb6531b3bf5ca6a546b044186afbf70cc2ff040769b43e7eefe5e1efbd040e8fe4dc284a97d025fe7fc26dff85be1cda52fef46a30e79d63c3a0c8143e212ce495a96390c05f0ff87cf6bee2a0b4a42d1eaa7011d07dc2a2665948bfefc17edf5353a76a3d8b24b407325812234294ccced0726f330b4a99a62ae03c21af013028c29cae050542e5b66eaa1a9c769c65c0ead07870c0a3a53dfb7844de45889764483ba7102b7b53c7abdf8b86a027e87d7c3a1167407bc9bc83d5047f38c3d84ec1093a3ec915bc180b2dec98e61c49e84a1fa297aee21698e8fb139a8b385d92368764ce984ad24f7da6d325b386e22771e188f40a824a61644229b0e897f0b724d14e4da394a8ae89e3a0995969296935d6c63f1787f81eea4bd34bba0f97a5f07a92495d7ecb68f10781268a57de3161d59aa468d760bcf6c0bddee3695ae31d9de79f2668866d98510b95bad53f667caba8c7261a87d0fa98c505dc7d7a09c5ddd85c4a2810f6fe56fb3e0a3e6c9ee60eb7738ed63b444227395e3819f0d16383402386253b995829e040e6dc0f2af956e73a9a19ada2b3a193c2d927c76d1bf5f745ff7e34e82a4b83aaa103252a2a41a0b4bb5c84f4e4ee6114188716653a193d2c7778daab4c69ece170c25884e7b2c2f5ff0db6bb44ae56e82d5ef7730f6f04edf05ec8481a9abeef0f13a5045ac9fcaf2d741a4e963ae5f052ae3e2997b59c0b771f17e31fe3559ae4dbb8ec5c82679d63ab6c108b02f5fce3a0c365c41e9084dca34c92a626546724024ef9274fc2f060614d0232abcf6d83470d9e9638c84e1003a0c863000a6bae3855b2468b6701a6550313bcf7824d6461be0ca8165528268389e853ef1a8fafcdc42f18a08ce4c9393190c5dab16e24b39b7f2d84be050b1903c1a214bd6815779a9ebd526d85a5e0ca6aab6bca97a16c62f5d4825adab1b62227a0dd2994908b05e6176b8908df09e35f3b9e361052cd198f1a56d807c61171dba0915b0c91223f37867268233ab874b11c4e0c195f9d989bdd96da59ecc62899bc67392b32c5dbfb8747a6dc5fd0f32ac2ca07a9e1f61175afcc9b034db329a830972975b3055f728cd692ab8e44b32181596561a59f21a98a0534b9c742d3f2624303ec2b5570d667cfb05d50001f210ca64a7f4598b345c0b8daa2ce62a64b9463ea36407249e1b7e51f53262a04f6529234b4fae5aad2dc8a0f28dd64c1edb85e68da420d9e6be7c272bdb1206c4532021ddbea8a383232168a6c804196ce8e3540e92179c65b11d86189724da3332b9b20f58b029791a9413b3883e16cc475305b3bf0552a2c5866b252ca5d9876a567e32cd41fc7961c9c7bcc6a8d3a98aa4586d92dd3d4a2fd4a608ccdeb7b82dd3ff120dca3118b675f8ddc631caab8ec4ec250008f0b2c1b6ac89f108171e2f411413f2d19654e9ae1995f016ff1143805a1e2cd641866fef1ac2e6a140d8643d922ce8732d78ff57988bf6768df80da7223ed33e17653a55412808d4590665f93ece2d09ebe910471a33978309618f4fb052192995053f6d89f08064288271b9ab0aa503012a698cc02aa02e8d64bca11b0d2ad09d5e374b5c7202aa4d75c4ec5109ecac01f95934005644f01aed1460f00d93682ecfef7c72c66bd9b9a7283698c5d9e68f870720efc0a87ab22520cc32a960cdeb7de8f14ea8c711cda49a07dc0e01887a2fbc876a776546b2a1e34a4d7408f7af220e97687025d597ab6863cd01b1f327082f42d6aa64c67c3075df1ceaafd500cb02d0ff1e132a6f44e367a62d846c903bd00dc0d53169d4b0017e62f76a000504b9efb884a0fae1bbfac0863d5e099756f8cdd0301100f3ed3e1acf1b99749cee0b3ca97128b5c65a94d4d8c83862561776bf7a254de933ebea09afae7c29e48ff8c8e9dc169d8c11311b3933b4707b856125a60b25b7a83d6158f73fea7df40142c609124669d7e42e93ce59e0beaf30479514d379479ee0c39872b63ebd0a2d343463e4d53aae671b3ebf5feb87ad56f86bcf3a1689b5bb040edc73c1b659879dcacddf335b7a0175dc7a6da1caad925651d726b8368d5f4813269b5691f7994c323292fa1f5c17928fa704e3d14a4cce746d58c41a6b940f03febf562b9c07e264973d0083bf83b2002325ee43ba41cd2b281222fe3c23540cb6b22a8d51e0eedf6a8e756616c8adea49cf26126416da79c414578c363d4083bb3b266e0b353a5c2273a3dfaa2e414a527c9eae508a42810938697eb73bb5818d3c011cb1d0162d0f51147935d3c0841b3dd17880549a71c6a8602bb7d2af53101e4b3bc8f5afe639b91ec27d783224834076d9302f714466bb798a7c022b89bbb9d7ebdf8cbdc9102ad750ca6109016f68991bf31f3827b28dfc32284cc2d8f4d7e5724f36b7f4ce7f464a0ccb8af8d946350e7ede8150648e4b9b21015422c97944de386a1ffe7bdd9520c2570916581945cb51dd3dea24da9f450beffe8502ab979e846637b99bde8d7fb89c0f276049618416017370090c9244fcb4126a09e2e8f499423957a50ae381233452d889284af96e85ee0e470ce2af1d211bbcc761296874f5e74cf9ae042de86642d3c82678ca13971bb06dff9a6106ad783c8bd61c9b912a5d2539068937a0bba036787f6fa020c55994feeeef5f25e6d69d26b2fe473d3d7e072fcbece19eeaf19f143ea26780d57ddf218c06521a5d5dd5e4e08a1e0a794edfa109bf65f764d5a5cb7f40e4b1454a73a459685f6fd7f6bb0ca452d498c400343de854d9519561f6448f4c92389b7ec9ff60f67d5648812e89ba094b4ac83f0c3b5a00cd0f58c1fba34aaebab8f795b8fa9d5d70a5b9e9eeadd85fd0bbeb9d0e082cd56dca307f8562f355502e7a36aa5c06933b885809efd42c2f7ae9d6cd3c9e0149495986f037117576338b7e9149dbd43dacb6b7ce1558f927b4e885b5eb9dc1c3753bcb618f52196234c79ac892117fe3e20c7d6d492b0b84d4e85f070e90ecc4a173c696e850d745327e457e1faf68c48a2c57c4040b1578bd81e40f32a0952e865f18bee55d2def1313c90caa2f193ac02978078b3ac4f634808c45960783a80e0d94fe52215c35c32368ed02d7d52320ce0ab65ed5e30c0fa225696727acc7d4257939c8cb2c043a0acaac31d45da0f0b905dca45e04833b84cb71f38b12ab56283b642de26fe32022934cf542c702ed666d01c2dd4eea9294ac65d6283d200ca08257599f7c7aae2cd263e71a771b35587cb30ffaa7886d852822d8e59fc058d42b8ae953817921a2a10b0acca98a6899c0dfddf137b947d2dad71c3131126c91c9578a7437f8e4cd40730e7236b80f5f5f709bf0101ac599e1b6802f810964f79d49880593812c522719c665fdf723e1649a96d0c15d336232aab834d9af9ad12eab88d1c664f82e52362b36753b5744b3e0c9206e952359c92d30be0db7d361a65e5d18c203dd1590e65c31dd852353fa585cd8cb019fa22f963b4407f2f8564e02976de8ce826be1f93ac4e9fbe8b4d6acb928fff522504a864566e160e503b2d97dab1fb61d830093c786a2503055f902ed2bfa82a41be94dccf60b43fca136050093d7204da05b5234df0d7cbe82a7afc97bb8bee1b8de9150a2b28509e715a50388fcd021f55898a7bc508a1753e5a927d57726bde65feafb49eaac63400cb741c39d7d29eb09b2cc354f393c036486b83163b146f8b8a269e91a1137ce2ce73d88faacfa16d13023673d1b456d624420c444dc89bd6ec298761b69db753fd0084e3a7cd68b01de5a2f72e48f25ea5d16228e9d9983848606102275a7268145edb3b9f48d006401dae003160a481283f977d5b29163269ead7e2930386de659b24266b983bf44acd5e0c82834d921259619263ce89ae1565719522f2d1a950abc2f67df39a2245db86b2e42428c6707c43ebf809c92b9056a55975f9791a9606cea1b5c21ae20a06ed5d04e3237a9ff68f4acd76639a07caa8c3f99986f8d18baeb8a7154db39f2ac651729c325ec21f898c9b2a34d2b5b187b6af74ce6b7d4a769ee15214b76349291e7d9c7760b6cbc49833a1632ed56f13951a4586158c9cea3ece8937601764889b1acd4a9660b44b418ab02102901c320e41a92c54c2b6462076f8a0ef029b03ae12288c807faa8b441500a491a5f80acca802014d377f42c91586abd8540d255ffa5a966443368bda8f5ce56a371eea8524f91e1c533c9ba1914b8ba83b9a9dd6eec92675b3267e08016dd1ea5f1433300845d6f2040146afcd1cb246577aad1993541437f9fea84bfc9fe5d10655acac5f293119a37c1d60012344902e0c8633fbb21c101900e7ea4d10557c447ce4750128ac44d1536d6a23b0ca29c7128b615010f5504aa7160036258ff877949b6068846aa55bec890e95aa72400bbe86765d37c6fa4125ee6acc3e5c9696e6144ecd855467a0c757a0ec61adceb2da88700a317a4da68a0e925aaf17febf958f3a4567312b5e155bc157119b21acc9a7b6c9806bae0ea243e43abef2455cff196cc48e2877a3551625a420583b0fa3f13eb1003527129a566d04fc3a88519525c6c9dc2e4d97478ffea0065853133a75c0a83f46cf2c5d85c5f001ba9834a931850182d1ab198e4c3e220d255fec8b772dac627b2b1240a6c0ad2b6aa91343ab2ca1431dd623259dc6e423d2ac7778117aac7a1f4e07fbb0821446b98e81e8b8a35492ecbea9140019d911508825a3274a48e26e93d44c4f71f5d448aa738169437d7cc2237d4f8bcba8bdf97ae926890c0420aa14a8acb1860d763a4c0d4061faa8674730638468c1f5bdae8d096e6171e3515bdac14a2e8ba1a03109a86d82b170d547c918886bf5b1648e916e3b3ae2f28c4aba39f8c691f993176d46d5d65dd89a30c7d473d904c2b86dbadd2c286f8a5ed822eed44975ab956e82f40a1bf2c559abb4ba73b9b178bd8436af4f06b2f0d0712940c33c30ae057a181f1e677573ad89beb9b8a09c6a4267a44e6a306dbb9a21c68df4a53a8335940a6f8de33a2b6143fad720811829a65063420dbaaff48c649595dd8d29ae470ddfa45cf7f2d029eec11e7b09e3782d2c6ecf06ebfc546548ce47314dbe963066719e662b1790805ac208c827d246da3fa9c8b71993b04ccc9a9dc248d8b65f06b746824dfef421f0cad00128b80f4a6bbaf475c7d045a0eb78dd5eba7974dfd3a549ddd79c11b8aacdaff4036f61d4f5f6b74edef17d4da46e9df19c2524c0bde793f65a01bdd5124f12ff6dca6b37ab15033da21e4c8bb8058aa63c287c272c338a043d676b255d62e0f2bfa8e77a9f415706afabd0adcbb5deceacb98c721796cb31d7566efcdcb6b947fc6e050c2cded6765d86ba0cbdeb81d7465db8775df05ea40bda5dddbcefe8c2bbabb4dec7e9e5c1ab53f774d73df798645c1edfab4e79eb367c71c3d905d79d37165ea15fc1908de7309139d3f5428c2f33a828cbf365500966a25162b2042e3326e72088e861187096f2d7f2a180a66170ae4d41d857eec236f101b7a2526d10a183394d4c7294e19dcb29ea12f5668d92c7d66914c47567337cc0b5f41b5dcf1cab91e5c56ab7e90a4822dde1c4fe68f8c8b4910e1502a159e1afedda94dd061733c09f20808c98fd1f84186a441f8ad1f6b6a10d11ec56a4c6156d4235152df5b787f9a8afd49faabe2c9e974c929952aa1a6d4ba11d93d8bd5dc21bd0ede5a159a07e7dcbfdf7e016cddd07215adca73b5046819c0a7003fd0e2f7ccfabb157ed957826c0c76ad5cc50c3a7546e4361c5b0d5a4b3a0343df4159d50330a65b82a1e960756872c39a1cf2d4cd8865f483a06936d63a0dea4b419a31df77768ee2b1aacd5bb354c4f551ab4c4cd99ef06f6b91746a7b19a5729788f0ececd2794e0ea6e606f28b7566470b7454370cb17313e70ea5634797d27a5effe0daf345c330d3910b665147c71872d0440a620793f3692f578d756322224a349c9f3633d71414bc0178b622def4ed0ae4e3dece2ff72d66b72e4fe05a801fc44290d27cb6a42af1caefc51442d8014accc04f18222ba4bbc7a80f8af7a52d918cb7aa896050ac8c1e503f4979ef9ea1f158ea5b66722dc91b02f5f6747ea12dd72311d5b9673bb9cdd58717f6667e6ea12d357dc988e1c51cb003c1cda230b395af404b998b6fb7da0944bb0053cc957cc0a2be61bbf6862c969fa67fd43b1581d1f1ff4cbe23e18a315750a3b2e412ba88e1a5915a985747de4fe8bd7caa7c60b4b8de5cfcfdbe990c37da838dfeb3145110dfa9ac1fb58ccec6f94006f012c1b00030ebf9596befb07cfdc7399d90edd02576a835c5d4091d78c35eea2b3441959c3d4b37d0db3706873467d065c3dabc9501f84274e49ee564598501aaa7136106647fa9b3bf10e162b42b91e018e7d5ca936aa4ab979d4b9e9395cd750d66b834e96a62483315d1c7003fb14edd07ab33b64175e9aca752fe7d50f9e6ad50c76b9a26f3ac30bbe5d2a5deae7cf12e664d9b08ae5fe9d39e12d8aca7bb5ee0ccf48f44ba20d88bf3b1e5463bec7a8bb32ed3728b2d4942e10d08f212c0c67d7069b19aa6dea88224d0d9dbc12816565233ad6a8828d1b68fa7dad485ae065aee78ca286efcf75a4224097803d8186022bcc5832fcc20def3c1718228143a05dfbd23a1616e0cd40909b8889d801a3dbfeb493d65a815a028e27f072fd6fc13a114097b912b89891feece9e3fa0a9c4990910b815e080446873d6ca105c6933cf5f1c2ab2b3243e08497edfed55d7f0b1b734eacd77f0996f9f3854cad573511c059e0a51a28255fa203035cb78b734ae0e001852de04260eb81180ada5e7022820c400e54e4adf2e340460f1d3965387588c940038317e76e1f4cdf858a41f5ef1273a0c6f00eb91cef6bc7b23d9a2a9049b002413e0bbc231077e675212fdda957afd5ec62e5093232a8eb94ec4a137748e5eb82b6b8ed6fb30644dc2670332305a556e0f72f46edc2566a89e3164c5e6b082aa5e5140b8d0008a11cb428c54ca98cfbb3c91c37dcf54754d8941252f61746462cb4be9663162535922c1e8c672dd0646fd357191a4e0941fb455d70a9b5a741bdbf1245c0a149de378a1417017b9377ec8223dbd49754b363428dfc4f0bb9acefe1a5b484e6ac8258c0431863fc8e1af518d5e6539ae4584635dee0cdd14c1cc97b3149c5a673beacedfb77e80152c74312f8ff02c4f575a743491c839c4dfe343ed35a1da4b7c480635bb10330832e008b35f3d155caa339ab0615fb25345288e83aeb65173d22b71201d035a5e4782b37d56dff85706579a966ded75125a875ba6e692fa630a417cd6cf790446552e25afff34ca6073d6017ec7ddfbd66104596e4a9d932ee1659edbb6ec0f067050e8aba17846b8eec4975754cdfa0af5775c6fbb221fbe52fb2a59c94e90f422a7a6d607947820168fa6b601140c5f4c46d8fc81b433a973d6657badb44947ed87250ef6a8c7559310c49412cb76938b97b67c29a4a22fe3214ce6dc6bfb86fd652fc3ed36941bdcb30c651ff0d1f71946470a30fc7376fef636e9cb2c671df975878ebead9b27105075a350af15d2e608436c0cd51ba8e46866eac237aba4bca503502b51241f94bd655d3c86b652fad9e68154e94b3a97a1a59878a5f4cd13a04158a700323e7bfc65ac42fde39c9ea70e97f4e1d7f7018bc3965487bdc6fe2c71341c9037641fa906be4fe930882d71c3c8590967e704cff99b8439a36d79634973603a4445e008d844b08cb120102f78453b77fb523178174678ff06fdba5842eaabcd31c08699f7429a27a45089dcb992240ab131ffc7704437bb017f79d0d01425bb441373cdb53ef0d7de51d2deb9176a008c7fd1f725561038aa9b662051120bad266d2aa20725d473c13e2a139380851237159359390fecd3986bcb61806ef366024de1502e4e45cdd2a069e1213f4b014f2c1db9361f5d510a7ba64addccceb79ff619625eb5b8796ef13c9852971269ac1ada0998830b30e1e008f609cce0c9e261a04a648538cf0400a38877d510a3dc140435600a009c7ca1ee01c02e5b88ceef2d12986c1111ca8ff8891ef04388950225a110ab1dbdd55b3b8af7aa6de00f2ce002d37158c15fd36c82d3379ab01c316f4113b61f03c56036bebef9acd0607b1d9f3a471e60c634fa4bd94da4a19888611f641ffa77023c5ee16a1b3759cd54bbe81406671e4f7df4c4b9c4b3f2f36019eac1e15cae7ba8d2e4bccbc273ef5f5d63cbac7317019a2f8d832b4aea7a338a91ccc7efd2d0578b8d12996066766507125371882362e5f2916e2376f970ffa64a4d8acf5455ddea2ef8287c0a22c52028244463a3d86ef6520df7dd956aefc8b4dc72275eef18f89e0527ca01227507baa9b38ee094421283fa2e4ab46734c5ed31e6cfef65ff9009e178f0c19869a30c5176456a8c478dd8de3c220b2a1b781a5ba18df04b0def5f74d64c7e10aee201b93ae5157ef5379a5c0c65df1ee5cb179673574d0ff7a6dec8d974fb1e61f79ff2541088b2e7a7cb56193e6879de95e648d606cad501d6edd2ba7a2558f0677d806eaa64b74fbcad91d84d06bbadbebe56cc0126ec07c5b0c2f257a23f888fc0c73daf23f90c8b43c5cc92f8817fabfc2410f56e6dd37f7742173f2516276062d4b2bdff4ea127319712afdc521d4ad401d2e302d78e1b5d86a978f7af6a5f6d462882a8e34c46849c44ee964313c19d63dd5f760374a9b4a1f97ffbd805bac7bebb4fc1a8851529a644451b5148e53d747859ab97177a50cbbe936dd788cda96fbc62aef32456b3746a8195e7d5656a7063107633a09f97686a212007628e5e86327044f636daf2a42bd71108ed4cd90d5464a23ec03a70b871fb982103fe371c7325d860bed938603136f578628f2a2069a4e2b3b0cfa8d2d1890c2c73e518ea90a65a2d39a8bbc7178e5fa16973472531f445173c4a72d85bac4eec25d1645216588b494c104d155f43f7104a3e69b2457813013a367618c034f0b5ac71130a051870f7f71cecf01a17acd7050c562d23c99de1f0d31488a7207a01a11a262cac63e0e59aa3cbf33d02b49469d5b1cd2a2bc8ae168a383b4a0c130881235b816dcf4c88ef02a2208721abaf78c23bc2644a53a21a883396baab239f87d03624ad55aa44e51baa8cf998defbf035bd9eba0e839e50011854b3cc2f3c04530e2daac1c2638c0c844ca697181697159696b3ccb0fedc2f2be864bec37b62772552ed58d600012b9a205f69d10620ba03f01080a3762466586e9caa4c8e0fd9a5463579b0707bc54fb415cf2ce0f4ea24e50bb735b7c67b16af9daf3898c47cf8c16aadf4ea7b28f74189aa45df9c99c512de889a05a0702ec9f2808ee1e5091d4be02579d29fb198d63dd059a00aa2a2d303b60b224c301ff0000000000000000001012946d6d13b6b58568cdca94a452f08f2e69271e857720c994649229c9496e1015c90b6f9ec2073299b501cd02c802dd02c534c1bb0397ef93769eecc0e83c7592da739bc44e1d78713331f54974e0d2ef4588639a0327938b668f49939a97039ba3624a55af39ad1f07468b584c7bcddf798703eb9eac4adb54b9eb6fe0d3044b899dee753a6ee0840c0b9e3c4453b16e03a3a2eea658a782f00c1bb8f7d74c79165383720d9c3ecf79bd4d35f0396bd6e4a0b4885ad2c005cd7691428806be826664bf5dbd283903a39f7faa7133b036ba630c3aefeb7b65e0726d8aab123230de1b4aa8acc7c05777d09e424e0ceca71b4d1d94ac0b42616052681ea1fc4a880a0203a7f249083e92ed3ff485269b247d2943eb0546e969c6b593fae6d92e386934a6a07d73814f31bb53dcd098dedd02dbe5e92d4345a468b4c0f86de4fda4ead265b2c00615ac35531ed35262814d3977127d5e81152145948b7a2b3d5a818937ba4c58054eef482d913156aa0915f81cd13cfe08fb389229702293ae2e155b29f041df92279da2e7b2360a8c6acd41eb0e053e5faa69b2af28414fe0ae53cab5121954d2098c4eeaa36d47f3103681fdade86a29963c5962429722f94b603bad5f47f64ae0649f48ed2b3fe14902935c3574c82081d74cd57c171d81f790b359e56d042e897cd3b7d922b0b6f7394fba86089c05b10b42b877a71833043ec8dc785925a5e78c11029f7929f69ef04dcf982070f6ea154bc50a61a70102af7b2aea12627ec085e8a73f2b6ba224f980f7509d93b752ce91ef019b92dc9cf826fc639c076c2919bd236e9bf967078ce5dd11eb899666eb80d576f789621fb3d639e04562e5ceb793622f0e78adbc8c2958bc4f32376093f4ccd925c706ecc79cb172c839e6985203c64587b4f9c942f20a0d18153cd5c61567c0d6ed45fedbec5c4f065c788cd134b718f01747e5091e55434a290c9894f28e582835e0056c889745509b573fde0017f019f29a445b3f95e3ad60b32559baf6bd477d58c14a4c3a2a5729cb9bb30a2e948849d165263aab0af6f6524210bb18354b2343606370139526761c2124044eb8247556e6f5f120b06d2ab1ee7737c51c20701e25599e12a6d2fb032e57aefe11d16cb2f501ab26e27f0812430a313d60430439d9dac283b4669ae0a65276c069272164ba48c96dd401934f47b54f136e17e680131e379b87f944cbe1808fb1eb4dc8ee066ca526bb7c5aa62c4b36e04aaa9e25ab520dd87589e77756360d8e41520a99d3ff8f1970957522d92e661339ff9001bb29a9b2cddcb122e71f31e08486da1316475a52ff0306ecf5c5d54f3b6953f41f2f604f8faacaf6d62925ffe102f643744e3eda7772f05bc1a6acbcb43c61052bfaf992d07bf942fb55b0a93fa966bad15beb55c17ba58985904b05497d2af8b228f9a39fd20c2654f0d5f5b94d052ffbd229f8fbf5fbda1c6c236f0aaef3f679a7bb9379540a2e84b4542663be939382ab4d8b2784495ab747c128bfc91d3b94a66c8b82ffeffc9721c920bc0e0577612779940826b205145c8e1e4f3c6a0c4bc24fb035216e9e8bee09ce53456db344080b7a271853d2946ecb6fca26ce09d6a38854c9bc4df0db7a3a8b0979d629d704a3d7d42f498fba7526d8144b4d8cdd23739730c127b3edd0137c6b73094662d296ddfe71946f092efb27eb3f7925b8521a3368e794e02ea4aa6f88f9a3094d827b5dd3d0cb91049fdcba25a7891ad58d043b7a237bd390e0f246dddaa43b574c1fc1048f62fa5a63064b1d91695e4b4a94b2115c89c9b22ecd18c964047be1f1fa4c5c04afb57f17ca22651115c18f729398eeeda321896043f3a9e9122197fc10c16d7acd374bdb9462e810bc04952125cf902138b7c8a3bb3f26352a5408462f4f73498d6d7722047fb97a259f06c1c9d29a16f92be8f605c1c5ab54415332cfde07828da1e2eb1ba2d9c4355d5f292475d11fb8f3bd892594aa9e1c3ff062fd133bbd64e84e1fd2dcf16b35d77ce0826b6a53755521a67b60bb4236f9a9d40323cf435b8ff2c0d5884a414f468f11820726c49866fdfc21754816406816c43553896704514dc135a6c8972ea9deffc0e54c29870c3b8d69e207236676b87ab676b858240bba441e4b6e1f58f58b1badb5e7039345d4a64c9d9b1ae47b60f4c9a04205d1315eba7a607ddd64768875a1732e0f8c978ee7e76a96d2b80f3c70bb1facfbb4feb8c3de9623b69b56e5ee4ae6baf9253c690f3b7021c9b51c438b987ae75107f6ccd35d48b1a8b9f4a94478d081d3a9624af38bd73bf29b03177e9e5563b0729ce03bc709b8e4c0fb960ed14386b264e6230e4cde1cb544126b53b73cb07060928dcce0eaa5fdf67dbc81cb559ef4f55888f13b6d83b7d8a26d7c8c871b18a5f3e9f472cf943b4254f06803974f5a67e6ab2c78b081ab3c89dba66e5d2faa0111748ce0b106aefb6c4bc751c9e8871a382d39e874b2f35b04255cc1230ddc04b1b4add741039b277754d5f9c937619e2169d521db72100fed08091e66402ce5ed517b2ac36ddd9d314593589e24df6ecf2c8df92003772e6a7d7488982b051f63e03a5d6f6f65cdd7b48881ff1a2173fe511b7af26160734ef27479e9c1c07669261191c2534ec9c71738f96de6c123c711223ebcc08ac9d3b2abd6921df3e8023bd1eaf45a4a927b740f2e7031962cd9767947dbfdd8027b299806ef5b91a9d468818716b852293a8810e5c92e9d8547eebdeefa8e053ef966b5b1caeb09e215b83b7d755625bc375e5660e207313daaf0bfc874fb4effa3b37c5081dd9cef4406a57287987e4c810f3a7be8ceedadeffa1f5260c7545d6a937f39bd7e4481ddb4b1edb5102e1e5030ad238b5a86e6cc5232458ca63bbd46c6178f271cc1ac3bdc2385e6f698eddfbfef9e87133895313465bc58aa3e6dc1a309ac040bb1a47fe582460c1b386ee4783061bb4da7d91143a890259824895d88a0baa3341e4a70bd4ea4939c2e1e4948d33cb4cccd534485b4949d35e333144bf040026f32c91c73077d0f1df33802372aa5dca352ca932423f0a9da5571b3a7207a11f81d65215622ed3f2702a71ed396e70310288b805504c8d531604f9fa0d63e8001b645e616b6800160f1c589c001aec0712387070480c573d139b8a0d1320c00801b361ee5f01a36bac82203376274d107c0e20d57dcb871b6100000068045e368af61638b025c1100056461e34d801ac78d8e0e045c8145020a4062e0b001e3868c1be0f81b36e0e46a724f153184f24b0d389993326d4eb926c88c069c4ffefaefe426744d2d66c0657617157284eb98337e46d14206ef458d19337e4601b488018981c38b180e832fbad0e20524060eaf3123474747165ab880bbd110a2a994d0ff39186ace729ccd781b1d5ec4f00e5fc3412306b94123060e1931ba98510375e0d10a1203878c1c333a3a0cf060451733d08c9f4180c72a480c1c3260dce88e8e2c1eaae0b64fc6e4217a27f99fbdd1458d8e92c023158c57ad6bf8774e325b1a2dc390072a189925fa8be5f83f3a05c6211a5fdcc053f041ab525f16fd9ed77f98027531b36c19d34a239697501683c9bcfb9b4729d8a041470a316453ff3d29f81e5d31af5792508003187040053ce0806280788c222f31ef4ad77089d9b9eb9b9b94c839aa7d88c2d15095b1b6368f50f0e3b937fae3ae5d6d1ea0602c278d342e2e8d0ad04835787c826b4f59637a5f2ddd0c0cb50e197dc4138cc81635462fcfb7e904a7a34a675ad2b1469d9ce0eb83f0129d9f4b7ac88d9651b609b664d0c1b34c64dee588de8bd504af69ac2fe42fab1e11186a27f8430f824726d85c63569b833415aa86a186de8b8e1b98e07e274ed2fe55238407838b1836aac6e3127ca61379ea7b996e4a1a3566cca881888d8725b8e0225b72be8a36e92886e35109bed6d4fed58b0e51aaf1010d6cb1459abd8c7362d07850820d2b25c23e8550e03109fe4e7d2ad57feade4730940317a89bc043128c882047678e12623b81a196f40b1a3170d823128c0c766ad514d4381d26402de36c6a40041d0f7840822d3f8f1cfe795432f3116c5ba9aebf0443e03236e008c664ecf2d0114182ae11ece5a9378b41997764bbc8c183117cce9f7194ecbc94b366088f457097530725d3e620fab722f8feeaf3ca6e5124ee894043760b6a9252c32c05314fa14f888d083e258b7c566de7993714d4a0400c1e8768354bb69ec4184370a6c3ab42f023ecf54462053521fe200463e5a6e4686e73109cd21e64251d2d41d89b92951e81e0837e01827ea882620a842088418a204308311f258d01420a120441518c8228c6306ca9771240a0398ce32808621886811842082142420484080821841042084fd40647913833299c62ad3f32467c687ddc578e7a55bf82933a9f47a70dc04cfad2e7d83f2a0a7843681fe961cc00e333b5ff436fc0e1b3fe41155409e455737b541bac04e092528ed570be6fa4a02147de7831f9063634b91d1aa2b63af7e7f28b772335a5ef786f82ddfa9138992f340238b039602d086a2215a2aeaa638226a08af68740bbf64b175d99713f19d6bb36ef002f5b385ab4053641b6341c55dd6fa495ced385085f9af72e0e76524d862c3964a564123bc3a565aacbdcda0e66dbf646bd9b0c19907cf5f133e4a1bd97df969540c6f2133ded15b96f978233df2ba2b8c39175693622fecd169212cab66cb6e8cf26b599668b189139c8d77aecec060022f151584e72bc18492d986ae9207ea9231a90ca2c619302a57f0bfb0a86242e80835bc63aa2b21064be16c7b9f75bdad417163b2592782e0ffc4a1433909664bab0052d7b134c5003302006697483fc28e5f58bef04314a7b6d8c74a086a61f1b47334cd2dbea318448ae5292a4dceb74fc1e3808db405455fa021aa7ed480060ab7504601dd6c18d80468476e83c7f485546b2f2ee88af821f3790f7131eb1cb11cc9f948c40b759ead8aa24dabd71e981351fa1f21ef5196eb4540108b547b9f9af05f5dfc4b29a57782776e1409f34cae4d196b743191a003a74b844c94641e43852d0a05f584702360a145f7ea4fc61f0f1b3450ad6619527b6199742289cc3cb920e53a666bca33bc18c084a6dfa44962d0d66a6afaad6b38b81b9ca8832b389ec0d12056b5b217e62e89ae5b9efb8888494abda20c82f0fc32f04105e054cb6eb2f01a1e180088dd9a257a622ecf022982ceca724e1582e870b021e66dda23396a0ef1022309f1d6f3579602f67dc3bdc1a1c555524252651015f886dfd28dcb9de10c05383247ecb40966623e4f992645870b6758e2d8eaac58a14d9d86eb628d506c96bc73fad36e5aadc80e946a6f5c1964957066de77437b70e4c596e829e860188971c1baa8832009d389f01d169aa5900f4cc13e6834341d1e01d206d9e3ceb5446f8c13c3cda95bfc10459480d203afd985dd13621a4bf719c86bfd6b69554564a0d3cf3909a87b3edd804c3e4e8809fea089425369a2ae7eebc01b250ea6b3385a0a304006a9b094ec6154d6ddf85952c5fe4036b418dfa54b9080b81c6b8f1c77b9004ec214438d85957ff95da9f0a3d3c2bff6d9eb51fa9232b5e851a43384a298f478529046339bb25a5f5760a3a100f2c3edb2d33fb3590e4a280b0d100cef4c702c6aa7ec0b164ed4f2b8f894c9d9848815f05733204fe01be54d24b10a10f45e7f9762a2d05de461cb9214261ce74a2d68d819024cab44bc01bcc3452c18453154168e928539b42df4f6a2c000720b610ee5599c9b1e4cfe2b131ecb33bfc88e6853c270560ed12c08b4bde389679c42ca9194564557ac40077862c2fbbb5d2f34cbffe79c1d4fb55f2f9699260269ce84b04da78f14359f8024d8a867953e16da3ef2f780b87469b9b2d6e6cadb3c7a4fe73a5d464d21f2a1051864e2f847b1997baf1d50ca44dcca47d4e12a30acdb94f622dfe4a8256f5c5ee0c49b020f109a955cb0ccbd5487ef7473c7d3adaf7982468cfe0b422ce2ecd76eb1a78e4f732f3abbbc32334b23456555deb948449aa3cc4f25cc7c0cb6a04c208c608b371de55df2b18f6714a41a768db195899102989ac10c86fb2ea3c6bd77e3e7ef0254917121c5dd6dfc9f0b4f2d141ba673f33235d739082d84d8b8b90bc83ef89c230c80a4033b0ad4c23d641f91692ebfb535a2c7b31c0e7607521be980667bfb775290c72594251d09bd84bafc3ce17426cc10b22d82f7ec8a094e8810c7dfff120aa39cd050fd8a3a7680fe65c8acc4aaaa9b37fc032452c88313fd847f8c273f78e3ffc8eb9485fd40d76da1414e1f516f79204c44a54eed2171c7eb20d7448a319f3abf280a1dec3b12129295390738e764b7ba4e1f4e39df32a3c6c55bc3e5711841821b5a2656f41b60d64ccaaadd397a608c514e7018b408dc5153b7717c17bb8e8fe1a6a58bb39a423a9b8f416098b1915f9ec616608207a5275905b6ec7942a2cf454ff7ba4aef4ef23a80638d025e8b6cb06fa1583e4092edc22720967179f1ca638996909f9166127b651913c618ab4f3096cb488cd96fc32faaf94029fbbdd3141828b689c5e7177f7bcc011b7dfecfcb408da3f56e14fa016493decc13bd358c4de1679ee5cae29b1256d54950a63015487dceac34b806e73f0d3579bd1bb3df4154bb253d08f43eefe171f772b5da46954d9265f901956d121c098ac1e3416e1a70bc48352bdcca29aaf46862262f19d7f4da1863b0b0b792e6f2ed2b900ebe6b5b251a16316c7d55271a0fc00eb5362a58aaf4a4f39c6528f36661673f21bd604a20bed939e481000449281abd169973df0f98fbeddfdd4b02f331d23777ff25a2441436f0bdfe61651d53b3a246b550a0a4846a4e841f0216f7183f33d926919", + "kcPublicParams": "0xa45f754a9e94cccbb2cbe9d7c441b8b527026ef05e2a3aff4aa4bb1c57df3767fb669cc4c7639bd37e683653bdc50b5ab845ac5e7b4ec8541d012660276772e001c1e0475e60971884481d43fcbd44de2a02e9862dbf9f536c211814f6cc5448100bcda5dc707854af8e3829750d1fb18b127286aaa4fc959e732e2128a8a315f2f8f419bf5774fe043af46fbbeb4b27b008f0b1faba1d0a9228b9c6421f3571f0980a90d29e9fa238fb85f335f4c5e9027fd25e9d8e39f3bf2c3b9290a6466b0f706aa1b8726c7f766f40117f3134e02d302aaa10a9646991be3ce2564d4ed9e79b4040268cd864b857d7112afc12dc070100000000000067df18dac642723d9e58c09ccdd003f1333c3616318fbdc22e121bc472a3aed855dac8fce61a84652ab01a3e4708d619542c893a9d8d4ca81e7b9aaa54d9eca8674603de25d3ba1ac655b7f4e43e0add2c879407f97ada3201ac03bcb98f5c0c00d2f960aeb90146a55558c602d352c7394bd451a6e5b0d432c4dd4c748a16c219020d41fc0a3574bce4a43ddd8809df0753d1fea14ad6089c457e1815f9960c50f520f82f367308e8896b5887e004a725384e1383caa9143a605a47966f50e910001a8a2778ed01d588446c6f539b00e0af173b4f002970383db184bf4434470c11405d0cdc4d127c07bb661e6f9c995902f3d01bff60cae1feca4ac58ff313fbeb02d70dc00125f1b0ef3d629cca26b7191341ca494f29837483b063d352eb3f190067dc4faaccb7688804d55979498ab8d9f6f2f846399a37592ae089eafa7f86bf2efd087d14bde0693b0a41f3896704159120ab4897fca2595af272e4c031c0d5168323e5ad3b9c19a4fdd759ad86f4a99f5dcb2f2aa86ce2c90ec3debacbcd0d009ae8495af63a5f6fa731a49b126deeb68ac67fb3ef1f161751c33fe34729b26bb649a411afc472276faffa7baa923a04f3945dade89ec5c66a15038aee57f809b2a9cf5d53a5d07ce93df8a7fd1a31cdfdd01658be0f4b3d9fc7781d7178850c0050932a76be6a675e6758522014abbd3013213115f5314a4cca7ea1b596eb9e961608a17969ce5e789f92132a8bb53d00e4dd404878bb25d33293878ddaf630972f91c6e72426fcbf6857cadbf938aa2825165a587a198bdd611ae98b70d83b15000561a1322d81c72d03498b1cb701e2b85fcf4bf2ab2761c2e95016ccda835da900f87124bcfc3f0f8280243eb66e34050d9a0ef6f8d8b5ab4cca5a17ce615c7f3f017d98dcd2f933cbef98db7e107570d1103aaec4e3e342ad52d4ae6af6280800cc088fc33d9c9932831e7ba1d962f0bb2e5a36a5a8a55e68b344777b17f6b63f5826ca06919649d9d4c091c2cac8b0026c07d84d99363e75c75a9a3a8055a6e2f14e66fc8d4ef3c6c1a31d35d0d12c14f943e8f296b50b3ae94703f40cae8e0f007b7b1c76f5b161489f5ea82e79f28cb1fbc8cfbf9140f7e5e42311f09f72adc7e0ca7a5365d66d7d600f9eb8726da603483e3386a9e6d7f5f72fa5b2642ce1a6f032a72e0f4bc618980f6ce43a012a32bca65f1d67fc872a1f0d248eda59011000ed5da57a4d90b9fe745b59ea0b907ffdaa69d67479c5f2b9cca7631ea0191d1fe0bd369ad559c1f074fea572f4c94d15181c98682b63aade7d770628814a553338efed57431f907c7b49d2bd82d99d7d48cb70a4cbb6e1c7726392c6ac26250800fa53cfa4ce05c372605882a613018821cbc7bc2ddaa2d5fb60d15b1397057b214d5d6ed30aea3653493b52ed1601c6068dca5d45c2d0f0cea311afcbf602d7db4f6ee6bdeb04cdf7f4dbe8e83a5ba64b5fbcce9a67dbeee8ae732a77f3af610a0024865b605cd3cc4e834e5847663267737332c98942b8fc664aa0ccdfe92636e89ec943523ca3088792d9e1cdbdeb06139210a6dcd37737e21dca8ae3d17706ae31d08b9647058ef2720e2732018c41127e2b72bfb764cfa24cb4c31130194c1200ba4e7b303fde101e077d5487b0a71c7bc6dbabc2b6a7a62aa5788ee615e12967144e31881a6b3cbdb5c4d89c03f15c1310edb06c4bbf238f67e3e5f052e3c6fba8a2f3b38f428e4a3c2d292964e6b57bb19bcc9f6280e50c3fcb19b671409c1000f14d3b22d8ad82a5d85b2077d6f6eafd33737c718e04cca7ce38e96ae4d1d58747242b634c16c095f612b197332c1416ef6e28336692f45e78329c05cff4b029f304c16f1d896d6c51fdfb1e05ea09c309949f60651d6e379e9b206d4f81fb17002af92726724faa1312717937c12bd3c981ec5686c2510598e672ae282d2fe168809e7f381f7b009d379b96ed5b05c30dedc282ac74fb8e9442be30ed8bdca3dad5bd0399f86b064256c8855c8d8238ae86e73e870c38b73cb9d5047a2730dd160075189602e96bcae4e62d948db501982b5571215d12c34667860dd855bb337837c7809ffa74ab63713d6245f88bee4019b86072189fdd52695e80a29f174013816372db96773a63ca7cf2161aad8930dc3f85b5b45d93725d86eccd63e4491f00002b15e97a7fb26f279484e924e880f16cea6219e91ff57e0d54aa21cb028c2cdd17ea7d52e844c73c28d1b14b6e35611779cd5d54ff821274ca9f9096a7cbe8d2d3d4360649e351c0282d027996c5ea5467fa68907b1880de2321f84f7f41ef0400f4d080dc99eed82ec22960ad9c745cabc1fe285d0340c1440675b0c77636cf9d349de9afc057efd33c20106fbdb2e0030acc0bfd38f74b2cfa85525c03073c879ed9df950ec4f58146a36e8eb0039a9134a503cbb76181011675af22825ba3040063cc51cc37da2f2a7a3263e8f48489848d9f3eda618174e239f4e1e69a9703c2bd7e1328ae8b23a0617bac65c9ea6903fa13883a34c9e048b4a3f338f8dfc0cfcb3e1a9e77d9e42f756a61653e98fed0e5b7ae85b2b23d73551bb9dc45bfa60b0051b097280d0f70bef61dcdd94d684704d1f8844963773e715a534f660afa08f16dbdd4a7ba5ef7ed3c2e5b847f446a04de1accda7e96cede69d294ac8e950c0385d78d97c42f7c656d56c5e10097596533fd3b1b9e689188872835dc119a441800bec3229779b0380879bd1188e4cbeb6aa7a225485f3b858aada410227b5562f57bb0eadf0345ee7a9070658fd7b237040ad14b523b83a61db064f29272f0aa23671255b0f161e40e6ff1aff3922caaf9063915f43d3fa013b12f472e0a54ef18004415f0e1c15563cde8c6b2cde3b5315687532afaaf22db17c6660cdbc9f9f7e308afd6a44fa3cca7813d7b1f9af59a03913bb48761b2828c6bfcb1cc7e65c513b160b78d32cc143d765475123877ca1d5897259eb89c8abb9c0d7f79b830460900a0ce55f85c5768304ca2d2ed0403b384d786c62bd5efb1bd8030a80e5f6ee8830cb718e111c631a326b5c2dd13f9bc12ef6ea465b87ca8a327d78918de4c81864d84b8bbc7312b14c2f45376c502c62bc24c1b0a6cd2e847af95e1dc516e920200d5e3958fa07d1254005dc256d8e4afe405ac515385b32c9603211eb8ca70233478519ef694e995ec9b9a45289f1105176c3c059fe73ba88960ca768c42e4e97ff02ecd55116ebb43b995bb963c1dfa545579ae869d50553435c815bf97a84f0c00677dee349a3cef35652adb88419be5701ed664e85381b09af2a4c3fa48c7f3d69fc64cb561496d124332f66c79069818a5727e16d0276232ad522b409bb31dbe4a7e9e2102ca24b52d0a3fc06869b6278352d2c265366cefc98c38af79ef8f0200ed615322e3d46c995e2c8a9999c2df9fba635159eab3865cf9bab4afd6cded00cbca0240bdaa9963cf6704dbc82bb20cba5a7def6336fabc732642b7f7fa022cf61774939978659ed37bf1387ec46103ce426d2beff6ab8be9c807c9c7524a16006bfa96078d34868a97c8014901f7561fdce9eb36f56d1d2c5756eb96c78f86c1493791c1a16d0962c8616aa3e01a2a0bc13dd70881e74d4b34214f4c7b8872c14cccba9f8e7a5d3e8be22927980eba2b0e6de9c3f73da7b617e81a941f96b613004f3a23ba8d76ac0f7f9a650232025379ab2b0bbdfa07a131787dfd0ce8bf133dc7d9aa28f092066bf9e596c51c0b1d1429ecafe6c9895ad05198b2a597315bac09de18505024f9c9566b49f8dc5d4119828052d9f77628988f819211238f240000c377420aff42276f120629dda9534308d7a4575d42a1149d784dc08f23836fc74d52451992cec221cc47d9960b71ed0bc168bbc8690d0572cf70a6a7b437c23c89528c781871d1ab5b5c6720bf560779f67f6527bed214c8ff1ea0139fcc2c15000bbc41eb0218656a23d8f56d379cf95ff584659eaca2cf6e8e108b272b7f5d89bfe011115797b32897df5608957b1d10cdc8e3c0d83474c3bb508449d6171269359a78027aaef6db578f41a0869a3f7a0a055f64d3ce86ff55e22ecda7b96b0f0077215124b4fea9a2068e47ff4a59833fae6a3ec60de8215a747491c083b36fd7fdeea8606f4d85b11654668efecb53170a5cc438890585b662c296661a98fe83fb66a590407a589d1d7befaaf50b869204ae3351a505e753e748f5ce55838e010085d4d6a1590f42c491271120e1050e2e26d2ceca924838d988076af7d76df5e70ab87d9edf600d1f971ed2c94bdc3115f3165a2210c052a5891329578283b5bb10275115d081d160f4ccef4bb3e373e57606830af3be7d507f4197b6bdc59014005c24491fabbf07077df06907eecdb99d6b3c9b23f49795a1010dcc2341c8692dbef9e9a59661bda03512e38ee5db040c35940d7706b85ec1b5a23a9c9ca9bb799178ee9cfb83f5b4e4fe8261669c04a14b206feb2a8a2adc4c1e75abf5d9780b00066660828418fa7054387fad668bcdd5d7983cc248e8d526f7725e593902241b979172186c2b64561b96f40a5cb70e095e5c60ddd74abe8bf437d568e62dd327364ebc6a7eded57f325c5b100dc6439ce2dfd63c16ffa7f90811ca9e6b84a10e0054e6da652230564f54c2a3a6856372daee8ad486a66ccb133425e637d4d100bd3a4fc1dc919e564dde83493f188bb605f55acc78af02c5978e1671ac7669dab9188af35fa0aaed28760adb2a0e58e5370aeb4fe3c8391f7c1c6646235c57431000a63e9e4f7ca8d1f80397074f16f1e9fdab0803ef5554170f619fc443aa9470442819b23be0bc77a8a4ceca11c8a27e033dbf7bb156b229e439004853b10339c7047f6f26277f10b5e814497fcc92a8dcd6d5cabf6aece4c0ea54b581e778ac190068ca39c74b2646a8e1c4fdad7186d8f6212b20b6a45a87d63a55691762407f3249ee6a92bf34b981dfe0b3456b556013da753081542af542dcc35857122e5898b2e51a7bcca7f9e50c6bb1db4b55ef4f024c4d1dbad7af178e314b81ff2e321900eb1ad10fee3d7e9a88fb621a3c6a7307959ab6043e615f7f4a1d86981b20e0693ccf4d4037e499ea87a6f3ead9a68a0251577c89be489a715a91f79d559df43631a5d8e30fdf813a58e04ba54d1d4f7af4ed44d933335c78cab37ae1277ec21900a8ca53889672d8a1c7d5684cea8597dc6ec0023161454c5f356b6babe51c414733d21be65ce78d550dbb21af21abd703ad814ce4b8e3a46d8a1fc5e30c5ceb003958dac41a1a766b71da318f3c9e720975ffd1ef734f2398e152a0b970e31c1600958a42450a73cc7457078750438abb92ba649a767152a3e7f96af03e0812cc16cf926a5f9ac6dbcde356134cf147ac0411a7b52da98c048f9c751965646a707ea6534cf22d300501f14cfc2c6ecdd040354c35bf9dbb7d466de4c70fb2c9281100ff2599c583f0258c768cfee3eea6e90c5b9e7159b502283f3402e6e36cd57c4d11ee08b504dd1d0a5ea9d6753223f313e47cda1e5ec265949f605f2f5f4c72ad98be9d402f3921f142ac7eb4a0a44f9ab49ac8b586935daab91a15ba5494bc0600a0cbbe62f5655ed8890d806aea74cec95a8355bd369efde97f7469c36f8ee8d84d400bee39d06b147f4091631489e513d231ef7b54315e19889c924bb5e276f9d9ec014758beeb18a64474952bf2a5afc30448af31c4b348edfd4e383b68560c007eb66eaf8fcf2a2d0f016bdfdc89f180cad3ab4d725f7053ac4c3921f1dc2fa329b96160703d9c67b8761748e926201823998c93a9ee99c0d976a17d3dd0bafdc80eca44637d4847d5d5d8c6db623799858531abd57b1e47ab7a927acc84160b00367d8b6f9dd5090b62ac93a4c3b6658985375ac803b9093d4a0220b4cccb4b9109ae9e830a3d9a78e232bb47a053ef19848d63f6118fabb44bf64ebcf04ddc70fb4cb1f23618a15d9198b3651f633f0c2007a7d49354fdaf18634ce7095726020027e63420669446462f9104a6d42d535da07d78d5f62893f96e2938e4c59fd227f805c93550e9dc4c80985c93d768a00e0cc60d571ba83b1be0df29b38108c82027c2d166cfdb7b3bcd87cd0a568b023ed26c5649fea0c85ba54e4bb90b78530900c162cfb69d8cb4f2f38ce9fa4e471f8a646238bd4458fc81273d0597ea1d36951dacba3e85c33562da6b29afef3c230d46cff3af3a47b3ec6ff9f71b9bcd27106c57616ce0c79fbb9348c05cab370603bb0844097af8c62017e4baf70436b71900f854d70cce1f047d5c427eb11d054b7ded4ace54356787508091723086193dbf9c60a731ce73a4d030cdb7cd7c604a1443da7a0ff546f745446503285ff4c3f62ed2a2b907f04dcf1f893e856f3d6104caf2b1e8cc5b992328d42cb90a5cd00b00e27c73387a527a4d54d6a0eec1268c65f2082364c2a61066bd078efafc8b13168b2975f4d933dc4cc08a24f22e554b04cab28b5c82fa43fa4956cbda8615e4741d692c20401dc64c2b9585221fe6b203c4b46fb87743d03c7de826af9fe5ed09005043442b4d9a70525747d90477e9c49e358eb0f989e0d36948e309eb2f2e1b5a88def6ee6e1e9b0158a0a274fd3a65019a4ec9b7788e8470d4b9be94a57cd7768301421706b7867aa10bfd377a1b839950848e8e819a9cc3ec59fb7c6ccee4000005152a2f3539f054e8f685e7d675a29caf11d4bb1d60d1956f4879568061127d227e0ce8a7b125ed164dac06eeda5b1494e3d1741fc63cadb29f4dfadb2b192c47d5748d92301712c388f362df7810715066dddd3e9ac4dcc8072eac1233cc0000729a65e32077065822273574a441a2860fbd003817f9aa5d19187382c12834a36c76f5b07d566ef9b1d333d3bdcb4501d05c47bf2a201ab4329967acc35056d01943bdf0d221da4ad1bc4ad97a924cf9eebd8121451f7515fb8bc10800e51912008c2baa6fe5f55e480dfbeb7b2607a4b87292f8e88292facc2e9c4d2da07f96f345ad4042f41c4f44caf5f2063bbbf6041946d59c918b3054ceac53bed39a18f3a617723a6390e245f3491264e36445aee43c1fddc90316ad89016b724257bd0e00c79f67be3ca74460936dc5c53f3c1fa145eb429ee627ae8a062fee38ad92af65785715c175d176ac00552ff84c2ced0c7396ea54f86193c3eb738753da412ce47a08838ba98d0bf8101a63e98f3317922e222eeade148816cbb4e1e28123260f00b581e59d916d1bc2b3fb600668bf1a1e02e7cff661b67eb9b6e4f835894568f8eede98ab17ac08017793edd1caa7080d6138aefbabf01c345e8556759f69955fa4d1f18a08fec4a9b0cf93a1964a6b0c379e013de821badffa43e502135ef217002f8dc2bfeafb5a3d2c532765bc1f25859502e55b4294e22ea11ef523c432e54e2623402ae8789f5a3a0d153afdd46c006e9ae48960bcaf922fd8723c207a58fba93f06f3defe77f63a71135dc78a550562239fdccf5dfbff6746d071e65ba102002d7064fc8206666ff86eb4fe26211b641ca1a51ef4b9ad4cb443cfc0aeff2d429bd7b3c6b542943d6d9f5af673c28d11cf9fc5ae0fed2da2da0c8b5539135b9bed921507e639ef66976bcd89d207b53115a1de858ee55294ce441110411ce31700f3dbfd2bb833a62f0123a8458511c84b8dbbd2a8cced9995be5ace39930491a5a866fd747f0a4b85eba64ad5cec3ae0a870b156a6ae4f06743a803bb09e97b358f8012ad804f8cb2a5352b2dc30d15ed7f68c1c769c24d1f1fd839fc8d0d0e0b000c9009d75e82b44af611bc96148eb6f521c891024227b5a6e2343c67c28b64abe6baec27b66f9063b09321d63c0d230531ccdd6055dd94042208969560946d3deb233e0c03ca41c1d9984dc08247e8a6d96aa7b9b4606cd729943a3acc36e00400b115869886804cac251fddbb7e6baa3c620d70ce03f97555ea7481b2ed80fbd7470c0c6c1481f2632d55f7e412718f179d35049ee59809c5fc72cb2b4132408d59aef0c0c768c440f6f75bf1143c8555bba9bb333dbe6f3ad3acb8df0101fd0500d54eaf61e71238089ca1b81688da7823f9c1294e1c5b3e3ebc0ec6fefd8e021ee50b4ff0e155e68852c68ce929df2103d9c410d9644f81353140e3f929c6e333471fd42df85f3a4e534b47678e58302f105d35a9d53e0471ac4b1b33f6c98211001e738d6e24b1996ad5179409950e4e758bab33fd77e3c47654fdbd72971c76db6023467dca8e7712ed3f90c811d9720783c46bff4963be5485661a874b533084805788955b8edb9ca6f69268cd8da92247ff4a18f12611f780b6506169fcf90b005dd49d2647d5e554573a1f5ad88f05c2901a667fc62c20bcf97e4f8de22472c35b75812cdac896a2b9f9e22c1724370fe649bd5f7ee7fe99480b01a5eb4dd37d971c9a72177eae318d3b78aa44fd19c49a8ffa666633446e201503ea19a93407003c4e1937d36a41524a97843ce249fe72d4190464cfe204cbdaf3f5137d051dff7819e6002d3a9d08799f3644f30b2a07ee536e4e965b155d6261ae5abe6cc5db02755e5d2094eaf5722635904f2362d59b29f1444c1da759cf7b155ebcf20b0300ac57e32e4ced2315f946a0d63840da7ceaaeaf8a5d2d6cee908f599a3ed426a7911deb41ea5959c1e9041b09b4e071107df51d85ee26cf558d40512ff060b064688b69cc4141f1738ef395f84f8c7c4b97c26be2605cdcf6a66d2023843c1107000e4002f2b6726c5ddd297a54666cdddf35e7fba7eb1bdce16c9556c1e074e5ca8b4ead45dc115fdeb9c21f036d539f0bf565fdb4f18edd5857f6b4a4ab4d6fb55a628a269e47b2eea4109c03b2a590a8eae51bc76f1a115e53933a7596e19b17006ad77ba7b61210842b15388ec4a6c8276023401ea8fd1bc15444406a655dc44f3caa3ceb2798bf1d56b962e8353b770a2b5d81b3e39852e8345aa7c5ba4393bfd22d73233d74810f6b7fab27a24bf50b133ec5e65e0bd950a33658736bf95d1600776d2ddc8442296fc8eddc3d6d7f798c5802f8f9c5001500481cb7573880b6dd81a446814aaca3fe9614a123d30db70246fd4f2504a6b45c7396cc270ab8841b4108105f5543429c514f746780ed1ffd6131d6c2d87b12c9e67900c65f8a7e03007985b892427275d57be399e2f5d7d456c4c39d4650ae0f24fb35ee4d08e67076906958b3c2810499cccc7105a37dd809dd8cd2fa4e875bd435e605138677eeeaea32192a1f9812cbc365610cdb51ab1eef4797cf4c8f1094e90810004024aa0400fcf62a4db5985bd2dda6016537151799ca5dcb14c7c0c787b8cd42eaae6ff91d4ca2a4854b2d28668511b512d735060ebcb6952ef17a2131dc08e8790952035e1fb54da0c47e3bc662e5d67443ed1a87cac3b6285788f2062b42c711593bb90f006c183d448c0686fe684ee884c0257d7bffa058b7fb831779b74d75b2bc60f878c5f039ff7390ba80ac2586b0d4d5f604487753357141d93a8cbbed54f5535608953525212223e5ce7fe86e3af45897ff14326d839fe42405267b58797d00c91800401256846273a31e0bc8e3498fd807e7b4547c726af15dd5e82d6642cc389f474157bfa4cdca843d40b57582ec7a5003b52ea687347a812a8a7dfa765e20122a75fc1da4e48bcfdd09607e381513047d374f27f4bece782205cde55756f98805006a605cc75a4557aa2347c5b8f3ac4393628918cb9a14c446b662ac0808910294e6b55125344062472e2c76ccd24b8f0111fd640498d9381dd99a48adbfafd23991e7f00936b3559d8268ecb5e09411815e8a8c75dd5c6224292afdead1a04d09008a28658858afc416c65636128da8f288637c515cf474dc00cb5cae942c398d6cbfbeea96c29de365e2b80ecaeb86fa10c02df84ce413520ad1dbf662b69f22ade763a920611e739771556955ea293185bc31bbb4aec5086c63e5353be4ce7b0200ccef25d89438d1200fc48bf9ac425ea445e14151e225a16568dcc48f6f1eef14f9be03f9ccd03789ecf6f32ddf71e913fcd8ec09392a2de62a383c7460c0d1924e119fe005a857e2ac01daab8c3c790531f5997c94706c1f238920fceb33c11600417b9675caaf8d5c5a05b9319ab14adbcac90655d80683535eb8455e02c0e8b9ddbe697ba7a9f4bd0f409a5bbab9dc0c905b23bb5e99842aed5288bbece46728a9c7f0e93fdfe245dd79c453a8849022d718504d569249ccf65822ddb9dfd71400b79627483ec1b5e13706ca3a78d72d80f88a782899be81a90f9cb415b94608cd2b565fdcc9b952c2897ad403a1a62e12d43de64f88157abb61fc8f4544b09492dd1147c709531cd5e276a6bccf0ee0e9e4789c2fe29246546662704c682e5f0700057aff6bbf00ce7a728e98d9fb5ae7ddfbee51a6d9b698873a13e6efb66043782e004b7be8f1104dc818e92786c841151452f3a1665661040f32d3fb6f2b94ab0f9999bb1255704d00618969d44f3df97464a3b6161a418ed6c712bfcfd99319006ce443c2490cc1778184689ab3e56948d26237669248529e084aa73f4b767a608e7cf92632a38ee37717cc3f46ed0403933b72f2f124be902b68c9e42f88058dce4e1d1f073cd71bd913aeea482845b5309358bf69df0715c3d24298ee69a80700c2a713e178469ae52e39cb8fecf347b41f18d153591f40d236a7a2c8cb16c7a69c994756eab39a28eadf4a048ebac2122486746b343c9e752ace6e3001a1945dca616f311fc223b5d4744a28d5aba9a0b7cfbdee99a4374d7c423051383c220e0028e63a3927c8983193fb5268146581a1f922755a8480a5833a6c92dc1929df89787b9b2cf38c0e8902601abc4518b5116f6c2ca2be5681e365f72d7ad8cd9decb47ad582ccef3c8681681c8425e11b173796964bc47d98f50724068859404f10004eeffb9313e51b3508e77e901a6ae4575ab7276c4680e21449e8e669484abcf97ae56a60820d01ab81c916dde73ddd1933add66d053890ea8f6937fcc34b7a859080c7adf778773d96d92c65f01c2a88632b0fd0bcf896bc8424aaba1740cc16002d72fd60aceb6116b318b6580c019991bf26d2b3df1de7394e599e36d767d400cc5d94c44257c77f26a3a2ebfbb0e30ada5db9a1cca6814a25119d2a034bd1ff12f28cfdbb9feb99b206a37885f8610e08152deb51f76fa7118220a56042cc0b00fb56873680aa0c8750cb9e5d6d5b1167fc7decf443bb14e6519fb73e1ce99461ef20cba483d421afbada7213931a42133add473882138b154988479f09ea6478e33c9272d2b4e3a52d7c74e5df6cd19a03f53eb5e703a843075304a77b1ab80c00ec9916d8e82f716ea2cb946e3ea511ff3c211cf00242a9a519d3920985f735eef022130899c1a6a74d54855f181e64061ec910ffe2cd2b8676b11c5d419ee318dd1c8334b2e464846120bc36f0b88ac95fb947ce525baf172131a3e4cf65631400992490d7f51a71f604d99c8bd64d09a771f4668fda98c79f6d9e337cde064c22e48bb96067ebf7114e96ee8cbfe1df139a8f7d61e0b1c622456b74bf3e2c2e7d705331adfe33b6e59af94bd4c540a41d10bca8a430f3ea6832e57ec5834c180f00b5859c86bf942331ab153208be463efa86427dad54328687e7c26ec82b4c9d234ba764b5b94e60df09c594a4c17caa17c1b52165d3ec4887686ba4c824e5be07a01be5bceee4cb57b9c3123ff8d95299a3747427805212be92ecaeca6cfb3a09002e4681c7ac1ce0aedc47933b717cb993c8aa2d4bea51db0103951b35698997647fa7cdf295730b1b0aab1fa840697b06e5d89c2449963aeb6a851762c6c1c17495b0d9057422656b81514e5c09ba3336c6fd7486f120f76a23b7cec407037c1900f86fa4767215f9cc3adfa743c1d084bfcc79af17b5b6d74b8a6b81ae5988bf700082a7656867a9968fce5d53cf33d30efbbff20f28d68f470f146ab76c422a1067c885344ade33e4821ba1316c92075574bacf75d8ea2786f08f56216f2b440300c360bb179adfdd9ac2e7f6cbfff511905c613fcf53062c74af7c956264eefa7f206b6aa577b81bb6439d79582390d21992953b90e54f4a5d9964bb2c8d35f16ecbdd4a3ab4510bb8c1a630635f7b0fe8c431ea7cdab5c13ee41b878fc2255c1900c5a65f5428aa312d68122b318bffdbd01d8f9ae31355922250b24c97cfcd90b81b22f2ee0053006038468e169d05f915740a4420b2ee90f4b5ca221b7d72e6eae21bbc3832210a3b1757d70995f60c1fb8cc76ab7fa82b84899641b1586f101100c2140092cd96297de3cbadc7400a7a1606fe1c94e551306bd30da97532617300e98dd2c043aab5c1900bb0340c0b1b0c2c87976dfece0cef9636c4a73b6645e1fe63b22291e9fcd1b9fdf8acd64e7c10f03543293eeea5905c172dff78771717002f91cbf3d8884238293e9c9a2d4aaac5a5e9137e8be9021a7cde9c0176b5bb35c7d9748106c8c66b9dbf4928536c240ce394073b96dbefd46d47aa215c02ca2f01d16f0a1c4db655810228896b7f40e6795f82c3f199167fb10253f693a6100900d895db177e4571c963b3d3f2148390056e65cf9cf77a709be97eb7b3f3842265d52bb34f98eac58886ef19e42e66811320c64f40925b364a31cc32ef6f79391ed58362e92ebb3ecd6de8fa6226d888ba96e43493a2efbfa3c1821a6e09e92a0600fbb2d584d989a58d60fb24d46ecac4034b8698d40b7d0c2b72d862aa4c588eef326b8157729a214d59ae8be52e0c05136d43d0e22b2ec8f2e321a3cadcd5c9f1ec2c3df48f43558b9708bcc54f8d65766f364c8591e90d18b7b35597c816990000b8ee35736814b39dbc4bfe124176a8635d0c5bf4d43f75af4213a70d3232c220854ce8646d4b80ff0621b8599e35ba0e8d843bd73c9c1375ec26d482c4df2df95dd38e4a6d88d3810419e74ca86f7a62d5f687c3ebf12cafa75820814bd09212003d32dd08ca60de0d73125df4938d0871c00c3abc245f0e69f1e5162aa5b4256a50187bb748cf815927f105d6d99d7218c6669a394ef6d7e3782631fc5a7e95bc784b7fdd547d78e55947d748c76ae48254b628a8dc6bef7277b306ec9bf0de0e004e2a796469040d4f582087fa06d469e9b01fecb5c0d70adffbdc3d0b2e4d6b48f9816b1e9092f2c50d6880530c2baa1671328aef50606ed5d40f9e6677d080155eb3ccad44d1d793f9e63de1959c69b381aa886bfcee4effe8acb8d8120bb60a00a600aa10e67d2221eda1570c5ac31599b000b6ca5d18920032fc361a5feaa32b516cf798fa461ec66d089b71551559045e729243edf945b2220f8d89f5e0648c19d2f06bfcbdcf6a90f338c3f545c2aae058b94970d4442151c0322d326bb719001c1ee9a45c3081e0ff70189957a5fc2b015be6bf4531aa3a7ada5568bcd9d7f968b71901b64259ebf43e49182bff130d5d8144e695ce59e7e6e63c9aa72c5605bff8075701600a4d1a9ff5ad8de21e091a001552c5094442f6b1d7538e39fd04001c8c3f6e6a2d6e550291e21048e5412543d1dbc231914f72a5046d325d1118232a3510457ec06474de1dff2e3a63f00735d1f91ee572c87eed32dc5d1ffa86468afcd6d3ec1257146d2c90a6787b0b885ae3ead5208ee823910b786baedde20800b6a725f9e910c5bd8f3141875d48aef1575c9dca69a19faa697f8702b3025038de44e9fd19e844c8f7a918fb4dddaa0b7943011797bb489f8f8c6310d4242094d9c73393f3b9c572de5a6934cc62e14fa4e4e8083572bf6d131f8cf79fdb510a007b6ddc2397191bf244e6100e8619f8559b96f4badd7325a23e29c56bd512cd407b73a7b17afb49072cd63a764a2c531064bead7e8208051fa43940501893cd99d3adbe25b0e870bccebb37e24e1f969fad1c6ca40c81ed24237e216c5f4aac0b007374f2222d025c2008f6eec37aa3de2910c495cdae0e787fd6f2e18dbf33752d1a3eb66d49f756a229c413ee208c0010bebd6f6da96a3a347d7d8abd44683e8faf5fd926f104e4e56cfdf7730c1e8d1b0cce680d11061b68224601184028af0900ad33995138f055711f53b699ff661ec2fdcfe8f69864afdb5a0abe5f25cbdb2c9329606c240feff92abae89622c6bc1136c26c480836fb63fa4c9968e0aa4564286e62e366a41e7955115e73f7bf6a6636e4ae0b13fd3db47a520251a0706519005482b1a752dd4e8411772f01def7c090469beda6b83607815148d23363df6e39768ce63e9249598aa38dd8f26c4609084bc9fdb18b97f30e59b49c9df1966229678a0625c5535ab8653ac25a063a55adc1c33f016f53886de6670c3abc01631800b1cd364d05eb0fab2c6dbf6ddb07f685a6dd4250425aeb1f5dabdda36ee0a0265f79721946e34f26003b4f0ee5a50d02db0b7b5fd00c61739d395e5ea412a0c0569f6825164dfa5d988882ec821b2fed0543f412128ddf847e9cf85cf7681a0a00256c2147bfd2cdcde05d5090f7a91dbe72c26efafe15e2ee56e35469dee5010b2f0c6dbaa3e77c641a05a1481d35ba0b9f57fbcd984351b56a62ca6ea9c84f6ecee1747efb6c53c2ced17b9a3c872d7a5178c662e7587d417861c0d1f5333c0b00d98e2e061479477eea51ebd5aa3d2b6ea2c956ed3f6e27069ede12dea0e181205fd397adf2547ac95c9c5419fd5b740a2009e0165c91983a275c8040b1cc51340d472e4aaff5b0ce9223af184b67faef2421a23e17b3ca97bfee7d932bc37a1500d202e3cc84d606e0cde8bc901bdc3a5ce6e4fdafde243c3b63da79e599f866c46bcf95e8a454486078df46766f1fa204d89d23c4807689a98dca326689cb0ad66429c57f7d6b1189e12898dea5c1ec9a758167ed44cfa4647812753d124c2f1300509125a1010b7f4938c25b7a9a630e35be79e654afe37e3ffbae21bb1c11a33a2073b51a50d8cf8400296f10b3d7e703737259c8679a695be74ae502da9876b6a53c3a0d8fda7342387b2d3cb82c41cf21e61add1387ef3ce3816786f2e4440200e7fdbd102cdad630f3a581550b793c41457f158a5ca11c261b1777dcb143844b496877730a6496703f72a6b6eedce90ce95d258b933b628ebf7b5924b837c83b41f532e447d60fda376d044180c3c6d4abd1048d4a71376be2e48031a283c80400e7a8420e9e150c41c4f820dae24a132614469c4ff1486ee285adc3a860a7ecbcbc2ce43fd65dbaae8b5e507c0401e716d7b300762d144fc613d67dc3b6fb7af6ca69019e323eabf77ad93c4dca28f6b94c0f0ca4736ef91c8621dd4804d3a00f00c739c71308a234648880cadde17a9f1b131910a9736879f6fd002c9d9d43e09b8ad01244c6d5ca53bec9ef2c91d926091a3eb3fa56815f58f7bcbffe04edf83315120da5330ddc09a655bbeacd9fcb55a8ea5981dc3edb18a958c2553b0ac6030048a383057dd3b5fb9fd20b4015990f09f0cb2ffb043279758ea06e485328594efba98f831bc8d1c82ded08fd9004451011fa0e9c7a56a2f2930f3bc4b68cc19a0c93b90df81a8ad5f7d211718fc7ba5a0251d7f721406d884b2de92347dca00800f656a8f64d9e5e2190e87e088ae556a1d21baa5f372b83c239f767caec3be89bd73a3462fd91c1133e641a3443f6920553bc27293bda4f608b5e4c4f2440a9b564e827678995f524d41b23db7280cdb0fef10fcf733db888dc39d1404a2d8616005494661577bd7183d847b3380c44aabf8bf65a9abee855817946586ced8554b03cd2c41fb418737d6ba70c864dd832095c181b516f6d8e62f25632adaf3dee5098675e13ccd96d7e0b0668389a5f21fd879efcd9fa21b6c25fbf485798ffd60700f714babeb95a7e6de8691d80a161772dbb6dc848ed52749894f6f857119dbc1e68b0f07310b30ba097af490fa42459068899544350a8a9be0b028cf126d3a03ac4637792ce7fd74df76f2daf1003c70053f77d23064e260d419db3ab2056371000455b49fb1584fe8c40e9d59f24517b03f3a8ed106801b069745f822c49ed90b4f0d996c89ee08a698faf093a169fb213f1ffcaf6249e9c2f6e52b87b7d97266ce40952c88336e3ad34bda93abeaf29c26eda60aaedcfd6c56c1a347447be5d0700cf8016a605c298cf8b76963e481d325bb26622a10bb6a0c14c01816a3d1a08b270110faa26e7cdb1c8ca7d246f4ffb065e5aab97a7b420a7c4bdc704bf1a9571b9e2905b31e7a3eda4d3f9cdba2d324dc3e3685dfc64fcf2a4aa5fd320631b19006064a916ab1db8463adebde1122b98b34fbf8ea8f11a68a314ca6e2b0bdf9a91495997d27a43c75c2f0397d5b3ba8205f490c9fe70fb23d1c843f3beb7c59845ee1018a962c44c8e492c35e973df88f0c8cc55aa0a7bfb7ba86943174784f90d00e28419eac661392d70f57105daf158758a14505a92264dfe1899219f6866698a5edca5c64ae46adbb82a23f9750f6713f3737f261e9a36db3204208e19b31032a7bb433fefb84b5d1ec94d257d8507ecb530ec6e3f78186f4f20d4d091ddd30e00fcaa663260cd27bdc80cf911a0a391012822dba489bca0a74ef7224c466dbfce52447446306baa014bdef9e0d3c5b1055802db98929e095066d1d68c28113b7c89ed799c2ae4466ef526247c9597074785c7a7abaf5abc7d0b0640c06f442d0700196cd5f7b03a2c5364738a9c062cd2e538d6b8832b8c7b1088cef7800b4a748a1e1afdc5dcd563d9104ca71a4ccfda06c7f231de4c8ed321abff36b909883f7e1a20450decca80bc2631e6f29dbfe3fe97a85cd6ea8d4c5af1ec3723241b9a0f006606beba9ee8eb36bdde43c84e5e381c1c184a929f54d5a4f3c1a3653201492af49fb8810e6057669706ca70a74b67124e4fdd659a32d645e1ad75fb6c81c6f6434c45b1e959364b08b610f623b2dcf6f1fefde7494f83f5e78cec3331fc420300e102e73bb7c13511b0c8f302d02ea2bc7da13025da888e2a8023a9c20e6416dfd8cdc345147ec7c4be60322335002f0a74d4558960e4ded64f4876a47e015d6351af932615b5ed11ccd63587fc65215c88ccc064c7a84cc3bf2ca29a82c4fc16002eb172fd5d94253418c3f413126b7e277aa9af8ce25e9dda78a44bc3286fe0008a031171ad2b9246e79619b41870d20766d9153be1823e7e8fd8b3d6fe0accd973f097c8eaf899994889993058249777362af704cbcc57e521e9222cf6735e0d000d8dd4fcdce6278adf853d34e62845b185b804c62eadbbfb63db0747751638a5a956bf5c1fac6491770f80efce4dc516f9df63ef874cedc20d94adc70a3354b1b6f7565d22ee13b25b9b59e49daf2f6c3140cac580c5ede09be802696a17520f00c5187d3b4ad084acb50da2a8aa8c66d829baefde675edd6691974d36c48fe1ffca141425e3ab158e3c75f1c3b3de521112ff41cfeedb52acc271b289c5ade09672dbab8b8e0ef486edaf0e71422107c12d75f25e0e25c889834d47c9bf4db70c00240fbb23cf4f190a6c091471c8574be52d805fa9fe426e3193d4e7822ad5e782a0b967e9337ea28243f2270865d1e304e8b4a3b444d7a464a460e97aea1fe55ebd1768e512f5d63bdc13bf5fc00bb9d3799b345f48e8dc54cda480da9ff50c0900afe80f7193adf72f7dd0ac9784929a762912ec2bbf72adadb019a87110502b44e6f9d57460522ebc78302749fd6f410df9b26bd540f69962a3e8fd2c841aff1a2b13a8974d2b7f4e6c8066b24ef0afa1492a079fa933a002108d2982bef8230f000386f590bb6e6c0bc173089443534593cb86765da8ef5f6765493668b2164ce2237d9d0f9383959399b604e526f39c0b3071af52424272107f927815e12f7d10690a71bd69f4116766eaa230dd248c427fdf38691a7d956f3062655782db6b0f008ba3ff169f944e7984f7dd4185128aa178c4a7e40168ec11a09146f86196e1175e9b877ec1e9a204ae967893c7ca3500b9bbbad5edb6e063095cb6070d764eaa1f7fa749e74ee7a9ed974f1d1831698f7d003a03cd3c987f0c0803a59b99710700d09f3debd773c567c5d02a8c6177145d009d675e21fd971d7bdbdf9a81bb07a10d4e59feeca697a61b2717350f696b005b8307a81193004f0bd27bffff8c5e79259c7bffb13aa42852fa2b02cfdecd13ee4e695eaacc8c62004b6a86cf596202000348625941c164d7128a5e2650e90c962d06622b55e5ed83cb035f5b28bf8663bef2e6e70167a0c89b8a2f1d6da5bc157b4c6b35adb164ebc3287fec14a1f878eeef9fcfd8df1d851a60af12d2ebff5225969e1e1ed3f7aae3f0e1597168e307008dfb75232b683a8e158f503623c0d348d96c7add44ba6bfa59e5c9ff00d4cea7e8ef00271840ab3dceb1fed3315e0b0eebc25a60832257d267efb294d6ed3b0237d47e431322a1562846620dbdcf7a7a42af9efec3527ddbceb9f67b10616012008e55932b1c18e5c949a1e310881d407e0717141910893137fc8985792abeef26652426ae9814fae62c97215815d42315f163fcb2f7b720a23e5eddaba79c714684091ed7fe68c844fdabdf8c4676849a39ff6802bf7ccff243c042df51d03c0b0050826e4b1daec5e8a85ad2fe424779ff464018377b28ea2ef2dbacb2c2d96f78df5f7345ea05656ce9a788845500be0412c6f1339bdcc3de94c7b0174203880f4c5e7aee881d48c472caedd28bb8c5a3991245f0d29498fe720af13814211e0c0005964bb7da0ef2eb94e539f18ebfa08c3654d7d80a8c3680213b9c256eb5c140510a76e764a15778384d1fe03edffa15689bc067af35d7f3f5839abee3d83fc3097c9b73b4c7bcde06b0183050d984f797fd24e56c75d7a39f90f8e687a5d515005aa4ef203feb9602a1ba9a573f3eb05715cf8c3f37a164204b8c203ec687ad3b3b415120e4bfe41869f6605a27bb4f089eeac309062485e795788cf8df853b66ffac89a11de85a2c418015f3ddd1001b7fc844b871af57303105694e77bf55040032a245dde99d30f286f1fce209d2b0b4467618a09a3b656d382989798b70a14a2877da1bf0fee3e6a404c8aec97e72112e4025093e7c8fe4729f8be3beb49d991418a90796a13bc5c46fec77700f6c75e2e3396fefe57af4dfa67e4a0b913a130024a88e52e7ed199502d5c84640025986579872a19e58a90bc3e4661618335b18daf33a2211af292cf287ee49b372fd0306cb3f040e13f934563f3bc9eb0caa3eecfc1223d2cb5f4bb82d9ccf2472014c53e78ffb45b40b3c8bf0f1b0f26e73190093476229e4b4a6530fb982a4ac51eebef952fbf125026a4fd02c895e0c53ee57574df722bc938dbe2074995b4d2b620acb5f14f03d9120323182a722a8bd2a359ca89aa571456a81dfa1e411da10e545375eb39e95f9876fa701c382d8e91a0800b65ecd44a34219131ecbba9f648717d1c8fab3d8c9ec308228b43512ce2de84c973c7d8f4bc64b82fed472d42ddb0a05068cc56be45200ee11a0691bf777af220a7a7c2c970e5c47fdc457b821bb6c5218fe99723257155d4688b2578980c00600039f185f657419c55d02105905da023d70793c3f91d172a8a1c772f5b303724708e45dad08f282c203991e56cea37a02dd78f17c5db78b308d8d8e7e6f56fca885ba7fbe9b568f0bce6d788ddbe69886e44126c72e25036b9e44f4863a5f4006003b7f2ae132e07762cf9c3d7b996598f356bf16936a6f8f316f4c1862d1a85ae9dbb7062abbccce9b35ab029ce895f20368a03217142b2818c08e2848d6e9a65af083829d761ee9531b8ac9e11de095041faa9d019114a4c0125b53aae5b92d0a00f0431df0fd30e17dd19cbc6c6d4f161a2d4195b1522aaff08e870387a7ce1cdf7f11737821b0f781005fcf7df5bc7108f0d71dafc6f27724dc65900ed9284e29e7297d3cc824918f295bab3304f8f6ed820a5594c09bd81a6da69649ada53602002c5a16e99a6ba110f4cf24a85670c46147c3e1c2068c5f40abf59e3351726c47726449968f1448b11b670631c8723706013b90d2242ed8d0bf4ab13c50454a5bafcf19f61bb38cc4aaef3b2bcecc80fe7bfc7f946a0418941c771a8a1a09bc130096b3cb07c13f8b282db128b14ce46f873b9425cb97050908d22b7655c0fcd393469e5b1d9478b252e97c384960691e09c99b39084ef41999b59f3a351db4133b9e219cedf855076a4b1504a52a65cd4af8dce04f30bb741b9a070f70dae5e90500fa76fe552659d4aaae0468c60d16dd3a4aa59eeabd330ae33752ebcb63f16c266da68d9982ae6073d16031d1b9732b0d2bf55cb3a4379ab5f524e9921fd3a950ca7790e9feb6add7738351d58d88fec47bd0e7811746fcc8a2ce6989a7ae4b0700b5044c78da9cf72bbeda91e39b4c5be10c47a7f50940d0fef74c42f4d0398c48164c209f822c12a6d190955e2bd75d0cbb91f87aac6a517716aa21d36c203a88ceae4d7803d3d399a643d79f5dea868336e1716246e07a1c011fb9f4f39df10c00c07f3fecde47ad0aeba4e84d32c0b5c6aef4096763fa6cd024d54a7dc65ce9e79c5928fb4566f9a643811e34bbc73a0f56ec5c0ac664d50cb06bb94a88114e7605f05a19949b61becdc20a4966e0c8831c7fb74f4715f011640035451c951a1100533bd13c593920799eeaf982b032a29c16615d253e785a8b9cbf3f01c12e4346a2c9c39ef220a656b51932b1409c6d0906188ae8679ce8667fc7cb097d2a04ed7ca86105f358c9810a77dbefbed7d28b47b64454db5577cdf85539a0c0a1e214003cfeed419734ebc4859287a3ae6a41ffc567da45fe75da5fac563285536c10b786a6a47e5e1dced493016abaded8910496a85c5d4563955e3edd6659e70331d9f0e741c0926e71bbc438959de68e637047488f915c1eb262efcf31e32381ce0900e77a204993020d9a5cce0a416c7731d861bb5e3774b266b4a1836fc713776d08faa5518e704ddad157f5e52b9f5d5213d023091344726f352c3c9e888013b3336ac1931f308de2d8dd9c6f6cffdd97a1b8fb2d418673a10a3516264c592b9f0b00405efd05d4b00ef726a140c0737e2ae843b99f465741b142cd7c9f991620f7fe99ca304a799cb324ff131abc0f347a0e73944f77ae4ee85e81eff1b2b84dcc17e66d11ecaea544c11f7a9bcfe574296b9c1920a1e8ad4127224c33fd62ab620c00280cd909505fd86b9c3c6e30a67af28ab2e196ae4f096346bfeb62cbcf3ed12793279a11d12bb36163faa066c953760ecf22cd79290b20af2e997880e354b9f0eb92e05c80ce631f80fe987a32d1d32e9f059019c3240731be2f43b019c0560d00c7b52b3066bc4ad33705eeb8ed5bc54c1f03d2506446bf34b6dbc306f7b2b14b6753e72e8762c97d6062c4057f6c910ee976b3bc2a543236318269c8338e5a92e22bf8b52accfe50d289513a18967ed90ccf36c9bc255cccf5bee143ff2d7203004b5941dd84c3a09602eeda6341f95109fe0b82d6b5eb06e6faa84550907bba61dda6a1521c8406f6261c8ca569b8cc160f91c8586625cc50f0d14f52ef6fa0ab3fdf0fa971093be17f714cb6858e0a12cae4b6efddaadf4e3aaf62c1a6bb250b001e4dd69a8bea9846b745f21a6af8cd560656d3725186f14c009f6bc84bee2880192b6fe34e765536c4ed571ba47170125cd7ec3ebe5fec321fe5cfdcac0376ec7a4263aed64c41b769698a62a2e1ea11aaa78cdb6243bbaff2fd178a874e66140081fbe6294524bd4089aa1079480a2a36da43c0253f3a32528f181595054b589096fff2cebcf2c8c7b7adbeb069752116ade5e360eec472016d734860790b1ba286f4d1474a3cb20b013292191b4508ce950580926c57a199bd27ebe6f9c730080018bc74b02bc06338675523fef833e90a1d36496c8ae0fb5b586f06877388c195fd9b3cd0905fcffbe3526e21755c6b08afa6b25a3c716b8e079f5dff0b8ce5bb6d04b1f4228f7388c0454aa2a8a7a5af8ce38f13b3d7f524b1201d38f478e10800791998632857843f1394ccaa0766f14e16d568ee973e7b014bc96ce61416a4bb052c2c021cb7f43339519d735c45f90838c60e5ab1cc5a7310e5bf10b53126847a471f7b31ba284e8d60d6c0774f456f0740b30ddaaefc9f8bfed9064c7d710000fd41d8f8b82cdb53cd0c66d5cc41a03cda35fc980e89b04cfa62eccac1949489857e9966932cd9521bb42d836b9d5b16df03ae999acd9c1f54cc3534145eadc26214bdfe0983920dd69658740eb9a9a43285a59fcf76a7754ea139bf8b8ad70000489a8891fb22b65b5786aad386c24d4e43f192247b834294d2fa8e896487d96b300c3628c88583c29621f31df58da709cefd0345aea14bdc9223d4cecdac13825980ee50a91c4daaffa878492983eb6508a905bb5e77620cdd2d472b4da7f90700a896e9a3310ed97569e71c81b3cb4f382685cd1cc3d6a6b09b455f197061ce1bf5e19f752886839650c1fd24b1bbbe0e73de574b6327864118bfa55831e53aced6de53cf147135a6e30657253fc2e7a0061b6477eaca215d91b6373c8b6b121600b1097061f073b94a83ddec6e6e91662e4bc273c6083946cb4c9051cc3f5101e2cc3adf2a71fcaaff2dcaf9e2246d540bc67dd417b114d680db823ae6a1a69b25f5cc5e90b20e56e813699525711bcee417fa4a06b096a0665f7e8b9a21159b0f00d18f584c685e561f41d3b6b575f7d5b2ab9fdd4d302e4452a2bf633f83b68a907affdda11aeb57f6a6aab35942aea60e9eeb1cf146bdc4430803d5f51e808b9fcbcb852b01fd3bf3dd795c4af41d12108e0cdfd9a2c5a3da294a6d012a00ba14002bf3d7792e3e4112a1fb41e28c5970fadbadcaeaa363a2ea1a03e6dd5c8a6da1d207665518f55a6a363cacf68937a308970b2be3c8efedd54760f0ceb13390631d02e9fd610d4bd6819da8c8b802617781a2dc00c87d91774c77b5aa29ad3f1400f657724b8edc31fa878bf693d6956fd9c16a3e141fc7f5dc14d4d8b30f85dfaec50d0626bec4f3de0e22cacb3cd41e13efe606e4e5dd65b439acac25ce9437de856a96d8dfc63dfc028f3e0884c9ad140e714191ddc94e5be89dcac7ca8cf307006d4b6e0a977a95e983850cf88b5c8a48a0bc2d8d359c135a7629ae5c07a309d4f99ca855d51e22bb0cf71273d04e75140fd7e5c180d65a355b0c1bb519f3daa0f83ce70f1bb091aa23314fddea0aed93e9ad0e6661187ae7a4f4a03b19eb5c0800f2523a72dc492e82ee1cd2a0f994b637ca73aad8121469aa23d925cdfe35cefb4d300236ac46a775b9f09735d6a9f2097d1a5d8e13f6aecf2e586c0767b8ee83b50fd12f5a54009253f8cad36610abf8762d37c66b07aa70cc89c2b30a333c13009d5fada2541f3b27f52e136982402df4de248b79b8fd7939625bfd0075c10ba926436090d6f3e14800d63fccd22f9703abd958dd6e82815461a1a91c805f6ed38fb096fec1c06f6784fc6336c29967abfb7df147a7b797b8c724c0c8405a12190022c71bf0f56b8b81ee1d36a56e090093da86675069e32fa96f1b3ad86cc1fd66141a79e19c359011a59e2f3836faca0ebd05efe5e6f23f4e6e8f72b218dc91316f1caa539bfe6631fa1227a70787245c688530500ad4c23b7816c5da3b33990700f6bf466d5598e10ba57c0812d0d722f38b1cd35f9e6d387d3e91f7ad72ee9abfed3eeba1f61c0edf040347762effe303d1e9414548d17732cdf6cc98974c4dbd34bb82105b4fe39b8148e50b6d1740afa772f1ab4b43a5e68f95e05f5933de04002dc55a34aeef244f47f38ae86e6eea054958baaac4ba1997ebe1d976b65b722dccfee8726d9d99da156076452b06c30225587d247ad5e8688372575c99c925ffaf0a92c67579841508adf9997799ec40511e65c16fdff9910c5eff670b6f32000038ac6cc1609d7ef0daebe6096d520a05d74ea14d84526ce5be5c59566a3c2cc37838a99f48519daa85dba1d864160c051c95f83a765c56cdeb94807e5bc415dfea224cfc5bbb10d45fb031d5b829b94581d36d7b64de81987649df566ffdb40400b3d2797b2882d7518c91091c3e7ec304355a2ea160bb7596a136022d567ad41cdcc5d6f358ce2327fe714129d03e30155dc4aa1cb54948b3fd4be7da82168610ebbbe0c77dac8df5d9c4ec98f927ef0148963839045056c3783191e62a6ac806004102be4e0d7dc836b760c5a05b626d88b06eceebb6baa26f9288b91907167853b37add5a25295efb5f3da533630c010e657780ba360062df8552fe4acfff63861747933d4452559f17108cf05b5d5d9d0b76c88ee9865812ed07bb736d0b4107004b5c0d2b462e7da28c009423d7f49d569ae907d373e93f389c68e3ae0d6c40d4a27cc5bb6847d35ed14ffdb92adaa203ff85c0b936de8d0e07dc98c0148c692faef8be42352e1b8cd14377389f358dc559b351349f8421c150e40c55d8aacb12001785674e4d8592e8b13f17882cca9866e1a4ee66d5de1aa5c45c522b2da4277c691ced60c018b9c324d7b841e1893015cab6046016fc79f5beb6aef53fe51295f23877dfc53ab324643da30c7c9f5a5324af326c5eb6c1b91ed0053776dea1080021137e19d33268409c314b0dee5d43893960d32b01cee5edc67c0239b0a1cd311b917671039ad957a1adf5710e30c31564224009e903c702495b6e32415c7fa7f51112c57f70d37d49d92e9a0594958f63080f30fc0e241f3403b49fa54ce708000c6a95d267047d37067b65b1b60797077efc0936fe3719299ea36c2c6db5e295f43f1566c54d21dae8c31727cbc5900e40cf0f782292703889e8a2553850fbfffadcb099a852832fcb5a966481c176fd31eabe423d48461a95c94c4c34997b0700a8baafd9edd976ccd637264d30551a31a363e1865fec9f8566b345ceb8fd23ac0cf78f276879dd760e6284fc22f71d095a36fc28d2bd6a0bc662330b71a4c32b511e3ad24a2aaeb3e8942293415f4ced35e8c2465173f2e13fa55090c300411900f634571c2b3d7f194b9663390ab0a2533d2f8e45d8491854db2061ddeda1717a1afa5073e09fa81a01ab78b6b55282012b3f969775f119183802053e5f933f238afae0fd8f006e8a54fca09269ca3176c364f8530dc2379874da7a4caa9c6c170012c7f4d6c72f95516dbb6ba05f93194c95b17397a9c9f6fb10ca56f9e1b519b4638747c8d18b5be384253241ae211d020c0f6087e74fc52d26dd583455e7b418f147af85824c94862c0271bb4ad6ee03816f66e8d25371cb91e91ddb1e2e29140053d89f6340ea1070b9d91115d5b6bea6a96e99be9b727d0907f63e43551b551ec5876781d14e841dc609437825e86d0964c0ef9f1beb4876db877cda47cbefd6b107ff537486d5176f2c75f122565228430e60f3477d683bafea5759ca025f1000b5730a8b6b2b2bd115ab9ffe3b70b0dfc5b6fdc0321babe8865844169ac4fe75a398d35a4332a8297156af720f369f05227e4ea20228f8dd8713dcab3455290c6f4390b543fd11b24855f8c73ab7a6ed7e9389d8e8f98fac2605fb4fa4f7921000fb6e747048278fddef25368137b653b4fcf04b23347dc29d5c3110dd9b06b014fa18dc25185536f71f07908d849e140c9f6d7fb089c59551525822b2df5a52edb782525e8214f28e10ceb24ece95d22b2151dd61dfbe794656b55ecf549d5918000883d93aa215ab0317e1f6b957a69243b8855c4b542b89a2fa2e57e9ef6699f1138b1464574e13a064db219db3fac807b4f0f4f4fb83a021044e5c7538ca0d327e5c53f43a461da90733a82c2c24e5ff0a0d2eb8d125a0c8bf847bcfebc5ef1800cdbab579398a08080fdb7205a47722f58feaf6eb39253c5a2107269607d1125744a85f97d85eb57fe3afc75a0da2fc176d4c8df71530dfcff0cd8a6b5290d4a6c0e52df579ce5d6357380a0c68734490126c20f06f38f140180763232299a80100d9240fbd04690ad1340ced211ce1d7bf47b748664c5abc57450b67a9c946b0fb87a2862bb052f6402c4db0177fe0af0bc0cd9dd33ea59a8d6cbef0b35eac8239b56fd0caca0b3213c54bc5e0e203838918664acecd3f9a91df3d742ff2d1910200a99221373b15934d35f2c04fa1ea520b5ad78c6c6fa69cb9277ddfcd406572c9023092781d604d0db7493d451ed87b13981a1dbbdc9e3a907b1002910b167f5729bf76d7b59e640f2cea5213e13f26480fae04b9821eb508e69e1eb13d30370100bbcdea43e5ab4b3e58948a2b364af90ace4b78c32dd02dda9e2914ad00f216f3e8e1b0416c14330a52a8b9d3b29d8307bcca8eca7393c9f2db26cb7551e5051ce7dec79e72e04f02a42dc7831f44ee6915ae3937a47a2e6f473af51eef119e0b0035068f2bc355af43dfffa9991bdd08cb83a7a29c8bce6b4272db92b00b7bda128a1c6c1041728fa903de540f4f1df519408ac0ddf90d5b49598184619091625970a154f443e0cce13b2d7f0ad4d4add4d1a3509c6676df521a6034b00adc65110053622d5bf98c0246052f5bb3561fd3f22d5ba47c0ffac7130615e32944e40f1cbef011c8dbca66897073e0e55c864304d5a0f026416013bc924deb400e66b05dae2ee4b1c6e0638d4e3dc5677d50c09c91ecd83f805649eb8dc090bc97f57d07006120d2f798d8c6e27a9379725163bd6c513ecde10650925a3bb587e870ca80def97baa5c20809e30d747560b7fb7ac0f542f84a3587b3604a162f5c2d0c517b1e923512dbaa63347bf1957e9ed2ae0324ccb2d4832b6b26936b1dd1aae9e551100399ffe0316275bd83e5e2cf1bdb5c6ba9680e80b15fcc98263d673ca0ffa6dad230f5e7ea82b8f955558259ad7e0d3087564965f029e1e327ba1146c197fa41e1cef04d5c0928a3cac776c25a43a178c174e548c1c4e3aba3cea3bb9abcf4b07001d944d277a625187463460a9f8a066e6eed4989d7fd51c34ab555fd4f7936dcf034efaeb71dbed7f16360bb9a586c810aeb63e576232606a506110c051a49e798e42cdd55c4a95606854d2b97a36bf973fbc4fa76c266899f70f5852f03f4b0a00e937e4038657d9ab0638b34d2a9078dd02d9fa80fbedf22a69a5d4c2d9673f9a79e77e167525b9a5508cff851b49ca0d342f520b742ca5893f20bad7b1e99165922af1bb281f72d202ab826f918a1c09abcbe8fcec0b72c1382d4bf5219fd901006d1efd3c235021938c44e107fb83e0c32764dd9de0520b6301ce5687fde0abbe3ede20086ca1ab04f6913b6c3e0a6703c62d01f4f654b6d2866963b79fe32bc3ac890be522617fcdb029b4d285ddc54534944760627d68521c89489b1767d208003f45d422f29002698a27b67e07ed3da8a9e06783d4d551eb5b76b0f8f76b368ae77ca08baf3ef4849b99356bf613c60f2d5202d5d1a82e9abdfac80d282f5e34373656e576cdd6d03be7616cb141d3c084e604d66e40447409984ef4205a911900887fdf472ecd8b93276cb52fc6e0ef479e58dfe1dd2bf651f7b04b94cd05d98067c01e13171df6d7248b63d0583c8303ff3dfaba590f2f6dc8cb24b65306adf117f6dbb714b4ca40cb517ba318978eaa23d3f3a3a3ce76e166bd1671074b260c00fe6499b26ad11e1da7204aee001af7bc323c9b7a00705174a2be395c89c09964ab1b586e805a5c32bbf7d93119170813713e51aa8efbf9cde4dce0667f997d3edf0c94e8bf8aba5f2dc7c31cb0480753ba50c64285acea5ec999fa575103070700656d96620d15945afefcfc1f92f7060732fed1ab73c23c87967647b5a6d123054c9b4f2ade5c9a31ab4bd5e6cca30d0d6483080d20ee91024b8c738b256acf521f111fd7abda0404ce47878c0032a1a85ae3e455562ee4caffb89f3c95d3640a0001f9b27aafdb1a17e132eb547d3cef234dd709ebe64f02ef98db34b4b7e1f659d512cdb4cf2398f14ebcc5e55a509b0aba67c7e461ecb030b383caf51c97fd1f7e497e480b834b6d51b3e435aa47e736402f289721be78f765260c79672a111100b6d51b05a0f85a148eac40596fff88d8fe94d289a52241dfee3eb403482163e90c17adf85e3bf0be5b9f82ffe9e85c06eab861c1ef01126fe099abe33664c7c85a73e97b89f22d0bedf4169b2aacd155095235a33daba2e2f4ea1c6fb997e41500741d61feae2216b1ed1e9a38842078840d22643703ae8a6731f36ac58491a1af021854561072d53441209871f8ede017d64a9d2219f0b636ad1743ae7b42b31ceb1dedb002f6a80a9a817a7263cb1bf08e1e5243ef03a96526b46cb32c40a8190018710ef666ebc3fdddbc63fca60f62c70d21c2dc01fe82f63e0f7d1a618bf66050bb7e0623494af73f66605eae636207ff3cdb950370fac922bcb25bbe6c7dfe5a2a07f3795be1df9d83a4327b19f53bc66914a53d032419c56202bb1c338f170022a4806a22a0c0440028b43713c9debd1ac41cc3ed04a1c2bddbbf36b64c7ea5dc22301f61f34c14da8fbfa97a2e3804c760396ff237be360c10d53d95ff437ffb93e8e34da540c6332f35f466e4e45ade1253516fffdbbd5a3d1674beefb11000ea9698ed9dbfacccf69acf48b9ace5a58b006d2f96b72b9ea579a8405ec6f14fa65ce8684ce9270d58d6a25f74d25403cc74d8b8e450834a775dc3db926f384490129447511675129747346c410dc620b5172590603af431e7830b9d72670a0a001dcafdd46504bfd46de77e18d4442f07373680c66919b20f2290d89fbf02adf6a2a99bcc624431434990228f3f650208158c3af1097aead359b5027ee9478da75fef2a5d246481ec57caff6e138d4eb4a5841dbb313a79a5d9cc710be12462000063fde4372cb77664a945899039e0db74c811d6885276ff4e1272a5e63cd19b05b4736da6aa5cc415787c56dfeab131021f972d139e01207f8d5de67c690bf944d8704606a32d67e3dc85cc5422295ffb1463e72dfd0ef74d132f4c61e76c8116000474b7b363a9f7a27a7e94c9b9971baea886467e803488797605981f6a9b7b500009941a49ab034b28fcc93471286c0a633a500a516b4159521177825b82a025ca508b33801bea5311e2a3a58642b468bc1261140f5ec9ef120494a94a45bd1300433138a6a74908201fc9c24d6f4a8d729781521bee8331f26f2b5303fd32ef04d445c7839c9a195c6dc14a8e91ed1d033a18bb8a68abe165d3249203d57abb3496fc48cb73e3fa0ef8bcaca71a9164beab963c132002024d2a249b3621b1cf16008a0d771629ccb293f7cc2f3e5ef5f3b5b674bcbba864edfd40f4ecb91761e16814eeb117feb4a5c3812867051074391551d97273aa0e79a1cf23dcebcb58d93355e3fd841ad9c21c19ece20fcbb180b13bb68632930257a1edb29239ebd4d40900c243ff5f74bd2a6b1c36c117b05a9b2561f2e5ff5d6e814ef6431451b40c64ad436e4bbc8a71b6d976de0ab59d66dc115d41cc1e9ec18a2ac7aa22b18b24990eeb569148f0e74ce7f9d4a4675bef38d1121e8241e852db9f6abad76c8f46a102001acf07c4d8b5f0c0afa7482b9b326f3cc531e88c817cdd198f3eab4114f8325ee08260098e79d24c0480a16aaca8a50fbb49ed6fe833906b252a9cbb8a58319adaee892138a3ba7cf4f74d12f712cc7febc202089e9819fcf02dacf092eb340b00b686894230d6ae4482202366c645b24ef8e60c8f04b5aaed1d1347ef2cdee70a2d9a1e44f9ddff687d1936a578f4121431ca082d44f6b2213e964058531ff67b9db60a28a8d3aae3846f0d5b2ee7bd442de697de761bcfff069f5b926a527918008d0d69ebef647d73747e12091c68a0fe9a4351b504264e97b2ed1af5cf1de1bb673acec3b7aef8bd1f43a40310d9710d9326866fbce2f2e564d8c4bd685c2db3d2208a1ce86349d6342801caa2f4d313ef2cfe51a22923aba317f7e2b185ad040026b87de7e932fb97f0eaf6828dd8bc0a27351eb09834069352104da1e48aa470511a0a396827e03664d09555b4cced0f3bef28f25aaff793e3af9db46a88ddff2db9c24965d66656f1f8c9b391a2db09af2a1b485e0b7607457050c4f24f6b0b004ba6dd64bda6a441a7eb726c86a76b6feb35fd00770bbe56da168ac843438c538afd5a87f2e9228f5173f8a9a5db5009fc290046f3537f4915b265073c1db2313e8ce02a14663f0c950e6c6e3e63f44988b88051cf698889afb2bffdda0a0609002a05991fc416a245e3de6f09b62ef66ae02a90b8babba46adf2a89dae1f281bb7462b72469f878ab98e580cefd38e9172ce422a8029151b7e3f7b7eea90fcbe24498a6eee545f412b964c053374c6338ff483a59bced99af676144c11d6c2b0000c425bdd0f078b4c9ace2886c79f7f3f766598293d8968bef3df32585bde06d328876011c61cab050ef764df6a9e17b0bc8846d1bf14616f2c4a1cf646a8a1bd8f090564427d9545d77f6c73fb1eb435db00d68ddcbc102d813376f361c65fc1500682a08cb919a8e69d7c079c4e595b3ee8c626b7347f6b3fd69a8f58617f17fb3f1860e3acea03466ec4c02e7f7b8981003e8a1da057e2a9f9f08e3feb37727f94e9ead7a51fabe577ce4f5fd1a6a4dbb25693d82b3472cac62022a8920a3020600cbff7a73922e41c4bd7451fa7457223442a600fd97719009511b06dec30e6bb47911ec24f5c0b88e93351f7b0ef1561488b402153f96e4942b139f74c823a942f6b3e7f4920b1afbee9ec002572a556a1184513c64f32587080c76fb8099330f007902b0d5283f501ad8fa12a5061218d53e3bb226bbca1e82ab4235483c8f98ee6e6e89587dd9bd660ee8798430f9d413a93ab9d3290c061660a723a518e546c4e8acc8d2c15a2128d436b97ab73e9613814a61ce51494010ea0fa5dbcac95b0300af195d1eb4407f795d5ccb5118c31abd00f79ecc76e878d82974b49b3b238338aa10aa208a53f484c1b3c60f70ca370ea187dabc4b487dd3b9df151571980a6ff50f62e730a965099973b41ee758f3011eccb36d9bfd05f0b9094ecab1046a190039a4693c41e1e7bfd10fd47f6250e5416d62d6b867dce7d7a0d38d563d0521e44a82ac40de805370d806b74665321307685c02a7766970729c315f9d66a41f655dfa75450ff0538c21bb22e5d1b533471b6df3c20a0fa143cc97c3a1750a491800e43d86748b0f6059dec924603c0c63ebb249a75905804069b7f5a40e73949cb5ed3bafc4612ac04571d85eba959da01730e69d958de8d8bdaba4b16d318b107c5f5aab0bf450d84951df7a1e336cfc30b595fb25641243e130fd21f01e6834120051f7ac6e19b66c8535be8fd1ec8d096281f952ed61a85755190aa0fb74e6628e3c3518d1690ae2aac305ea8702adac115dd6d4b73a710f3c3cb812132e542f49717d023449f4da4cbed583c69ff75f2727bb5f8be05e3f86bb3fecc8841c0902001c28a1e734616dffb901ec7795016b4d338fd45ce10d7d918c9ee02a0a03b8fee68a0bd051081519a321ce9f16b7a315668531b3f89a7ed70845b3d320272c96bf5786120c27c051a50a0d3792e4a17e899cb38b4f63755b08fd0ab3a0eed80f00bae828094bf485e9701718e577366f0835539f705a4c114505ecba62957b128a5bbdc342368b2f5a91c5f5a6e4c12200cb0577a91c565bf0eabac75ad08bd5c1cff427289dded8e3002f7f340d504182a8116b7813f8c3088b85b611e705c3130075964e31c1327ba808a879898e42df13f1d0da53aab0df854c8e70f62dbf91bea8945123140ca4a33876c5d0c976f201edfe208d5f511031cf32bb1b6bfaea9cea7bee8fa7fc11f73e4aa0e29a024a0e0b29d1ee1c6b950c0a2380eabd4a101100847315c2ed5a0563a7f8df2e609f4bf1eef76a56f9b3f9997f53425893c345cdcda229c3adb59c160b9a6dfed7ebb918bb878ad6192504347c5619252e8ba06dcbfbe5d8216043370ff9f577457edd4a623483df1e919eecf56865ad8e858e060085a799db69f945d92f282a0dea4ebef5e9bc2a6322e74e5693c526877b214b6d35e357e071c65ba8500809279743780621af088a47312a84a26568f3be281f26db30433912f39bb936416c6f5bc184e43e07bd441ad0c9e461aab8d7e0eb010000bbbb1033357fe1dfbcdbd8d6193085ac8cc5ceaa9bd0a4ccc865ac29cccf97e11afa83c97e8162ed6e79045bb17e5102c5d1cc37878b23364d13dff6407fa09dededab2a6fc13e2701b17c698e7168447a7d7d3bd3cbd1ede5ceaafa162293050099b68e74b74e887e059c4cf6a04a9a5f99411c226d4d6c33bcf8f4fe94d6dd422061842a45c71cb764579ff10697ba16df3ecb04236c98c9a4aacaf397ce3ede5d921978439fa4f4cdebf30cf17b58a909573f6e814aed20c48807cd4e0c620d008e261a5250af9017760dbdb64f0023dc22dc441b8ab4e6aa8ca0c86f93c63d013a390ce7d635b921cf7e98a0bb2bdb0af5c95a53e9df8ceaaf545d8bd3c245016ef45bc11356e60bb07d3ced459737cafcd5449c7805abd24414c6c4249d4c170069e1621dba4f68539d080819e0dbfaf365079862d6c72c597e46e15a41d6d2cdfc6451c25f2a1da929f64f09a581980f8194838dfcb700c7a8ab49db759977accfc5b554909e685fcfba565bbd8ae795d2baf4f9eb8b71e545643536dcca1f06001dc922a289392c737c29189054492633fe9fb1c0e3cb2a58cc56f3163c5268a05d3da4a8f95a97df1cbfc9ce39c0c208268faec9d3be5aa487c961ec97d199487925674ff9c33bc26840c8f16d7af22bd249c38891965295cfd51b77e016e6030020ce2cefec6e1796ad6db7330e0f6068f843524c27ad804e91eb1ee7c6993752c4feb525bdcdf058a7bd1c49d0526d0e0ec69347cdad3284e5b7e792a07cccb1644ae44f9e0e44a2356416ee364d8e7ed49a088f4b416523ff766d5a032b180700642b900afe1493d72799ae688b3063cfa38130ae1f15d2a59e94847c081c9204449923b8596ada83cc2083f4037f1713df71f395835d74db6ffe01b61fe794f2b362abd4b1f63d3b1b7a72930c6694a76c182104bb77038e7a6da93bbb65ec050028105c001ad10f2dc0e20842f44bb184d21f2a015c2be99d7067abf8731feb0e6e05a91a4ad9c5a1b112c71b35e9190038bc2530aa8ee2624e3f4851f6a567be91fe0d8e37aef64d1e08679f28616f21eb39fce07a38dfe8efe4f648442373100040d4024ee748cb350a0f31c9bc217d7a40e764692726c5c86b6dbc6aaa804baa1da847332badad2fcd48c83353148911917802e9826b5cb207e0b6514704d1a302fc6a633d5e6e2eea20248103b4c2b43096463ee89fcc075e1db6ff53b254070047c0f8ba2cf1e9a45d523414796badb968ea218dec4806ed15c56ac00d066d234065bae61f3b8657e479f00e6eb1530d9d20493f2a844976ae3f2730b7473e41b78902c7e977d99b5b48e5254651c863cffa34f2e2f1718898f453a60da95a0500a8414beadb02c8ac9e9326cefa8e222dfceaf98566d0860fa5a0b81882e4586b098b7ecbbea06d0a140754b9315344100fc197e33e02931aadf5ca7638706b690ae172594dffaf2fd760dacb64bc184575a551f28393205d687aa24d1c234516006fa1d08fff28379aa2aebc8604548e70d0878ce56b31fa010621e8021b38b7b60efb58710a3ced243c3fff2646770602b49b8d42690b54d20d4c48921e15ab1b7c0fb8fd37506d063cc4ea9d68e0012430ecd571681d533e76226ed80cb56b0e00c993ecd4597df9a92782e3288dfb61539eb34e81e2502a43b6a613b6c19677e727432f40f8c1dbc41741a46f15eb0602ef3e45fb5d8d9948bf00c1c130a58d936b4db7fc76317ddb12f6018fa3f27e2a8fb3dd17ad21d0557cb3e5c8b08f770400a110adfe6622a8a60f13f1426cc84a51e1f0aa89d395029eaf2f9f2314a306cbc3858de7c0b48fa44aa86edb91b24b0c498713e2e5b78309672d6eecd9d2e141b88f9212f708ac9134887ee91ef932be050529be5e515845f5882b61b4e7240300b845d9d43e749aaf9a6b92e3cf2f03ae0ecb4eede7925acb1c9d6aa53862d789efc58c1383fc661517432bfe90d0b30fbe7a676ea27317de56cd506e6cda7db581592824f143053d5078655b0407b8a9682cbc65f2f813f21d587a9af50ca10f0003efdefda581ba0c00c6de0e6e81844e517fda7c5c04f038571d04257a71d45ffa6c621b80477600281b89849555b516eb657a0a1f594b8c05e065bc9202a979e0ece8fa0341e7fc6c6456479ed2a4e99721a9f3e912998244e6261f4b97e704004b6e65245c22fcc24879d1f4c538136d541c661b4582bba81363dc0c24ca1cbe436dc8028bb9427a99c299ed5959980f6d01a0ef6e5fa683be1a44ae191af3bd0e01a7103471c47e920e54a9711dbc235b9185b78ccf9805b2c46b24b27c2f160006097369a42bebe1cc7b37ff5ae019650ac66fbd11373cf9d7b083b032e3f4181125187d8cc21d4de0db3673cc5ecf0bd0878186823cb4c507a958959d082798288e9e38aed39becb056e84aa39324de303fc9b74764abcce7516274468dc00b0019b275af7d78d4c58456c44af9648cc13d9987cf1a3240157d4aaccf97840071561c701f4e6dd1a02a9aebf57709850a27ba05f95aae2fbc5edbdbc28158d8ce24d4f04e7c88929ab34cf8b1e467c5789be76c303bb2263f246daada7c896c0a00d4a3655eeeefa7945746054a8e4bbabda0db0ca79d2aae0e8cd22746a5fb7ceff284b835f9c485c0cc8f7405dfd0210914e275157f43ff287759c06044e5727b5b0271786678ec7ff7df08a7262badcddbd13a529686d6f6c446b2af6e366a0e0008a8c9ca0658a864c40a4cfc68cdc10520d51fb8ddf7d9da9feb17dbd1e1f92561ffe76f071b4e407494ed880e3be705eb977b694a34634ef4599ff538bcf479daeb9f8b3cf91a3061f5e1c4bc86cfcd006580d62e69f978e7d59686f632f30900199158bc2e9956c25150bcb1035f0560fc1b517da9490aabfdd84844c2592f30d4482427ed4def5ac93a771f2dc76e02fb5c36bfd44b16cfff8ab6436008c49d473e58aec69e3d63419f5122eb98357fbdde7c98b02180aa9d69ea44f1be61110058c0a2415f5449183b32a1455077859a67923df12def82a7787d06192171a3920d86d9c544030b15d2cd687e107c380571addee26d3ee2789f4efcd65250fc99f198a6d20f7267e49c94ab700795115dd38993d8a5fb190c6db55c6dd7f13713003614017d8b597bf1a0a736841bc2cef6748a90b3bce06e4c1f4854c408944c798bde1a5bdd5bf1be2665b38ff1f00919824b1bc26b6184e0493a91779a7c4b33a7a544d40c649061a8aa96b6a25493d6df9e02100ddf681955b99d034265e80200d7dab0f1fde77f1eb1dd1537c61d4a80b36e66a48b2048d79763ea42d857fe218f26154743e0b03f3570bfd936956915eaf3923ac2ac8d61a00079fe734bade72e852a9ddae8f067d5a6523078c1c6a3b57ce5c40fd2c0e9fa1691e9577a4a0e0020048c42efc68e9f4d266c1182c11fb03e03a69c050ee1c55fee42ccc0e2042ad0ab70e12c64ba6815301903e413070a207982efab0fdec094375fde20aced197d349217fe0d0bba839cc0c3828b061a332060757f663e98627b5d60b4cbf2160019a40f827df69201ed0bfed348ea97d41271193b633481b20c2a89ac2a4c4e470c005c8f48a5f34c8595122f2a7e4307e6847cf7bd7c8ad2aabf54fd71a6ade6b10fca1eda770039e1f8b429e01cdfa4abfb08224db0fc71c0fe3dbe87895e1800e0bba71e50f96fc6b66488d5d430170d6417fc40642ec742ec9f89f4237dff1b8e3ffd9dd0f9fe8822896f6b03a23d14f57c1bea74e6091ed02aae2f8068f3ff459f302f8bcaf426ae884083f16a0378cc555bd62bc0101dd3f90d492622a71300", + "blockLength": { + "max": [ + 1887437, + 2097152, + 2097152 + ], + "cols": 256, + "rows": 256, + "chunk_size": 32 + } + }, + "babe": { + "authorities": [], + "epochConfig": { + "c": [ + 1, + 4 + ], + "allowed_slots": "PrimaryAndSecondaryVRFSlots" } + }, + "indices": { + "indices": [] + }, + "balances": { + "balances": [ + [ + "5FH2QRq2k2uA6HHwwMggDbjGHjJJE9R3SXac9aBPxcK6rn8x", + 2000000000000000000 + ], + [ + "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + 11000000000000000000 + ], + [ + "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + 11000000000000000000 + ], + [ + "5GmUKWK1aoqyndcJcmDfJScF26LUwyj1woVN2E2AhCdZw4Mk", + 2000000000000000000 + ], + [ + "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + 11000000000000000000 + ], + [ + "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + 11000000000000000000 + ], + [ + "5EHdVc8aX4KGQrL1MxNBgrkGJDNBe6Xg1PcGQTyvKLxhrfiV", + 10000000000000000000 + ], + [ + "5DnsSWZRC7MiPKcpfYdbj67FSUvSMMNMMF8Uw3ZdAqYd4rPZ", + 2000000000000000000 + ], + [ + "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + 11000000000000000000 + ], + [ + "5CiSXC1o4L257Gq7vd244jgGfMsWQadSqVwwLEz8KvF9ME36", + 2000000000000000000 + ], + [ + "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + 11000000000000000000 + ], + [ + "5CSgF4xbSZ5EN2Z52tbdu63CwYnPsvM6HahhKjoXumV8AJom", + 10000000000000000000 + ], + [ + "5C7vaq3yC94X4mbv4cgrrNod1G5HLhaeiBP8aeSBCy4iZyUp", + 100000000000000000000 + ], + [ + "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + 11000000000000000000 + ], + [ + "5CcnpV9rsL98Vv8CxvSDXNXXi4vTZLc2pzv1KKJcSvvQuXGh", + 10000000000000000000 + ] + ] + }, + "transactionPayment": { + "multiplier": "1000000000000000000" + }, + "staking": { + "validatorCount": 7, + "minimumValidatorCount": 7, + "invulnerables": [ + "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y" + ], + "forceEra": "NotForcing", + "slashRewardFraction": 100000000, + "canceledPayout": 0, + "stakers": [ + [ + "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + 10000000000000000000, + "Validator" + ], + [ + "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + 10000000000000000000, + "Validator" + ], + [ + "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + 10000000000000000000, + "Validator" + ], + [ + "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + 10000000000000000000, + "Validator" + ], + [ + "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + 10000000000000000000, + "Validator" + ], + [ + "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + 10000000000000000000, + "Validator" + ], + [ + "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + 10000000000000000000, + "Validator" + ] + ], + "minNominatorBond": 1000000000000000000, + "minValidatorBond": 10000000000000000000, + "maxValidatorCount": null, + "maxNominatorCount": null + }, + "session": { + "keys": [ + [ + "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + { + "babe": "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + "grandpa": "5FXntGgMQs5WXF1gfMYKKBy7mcyA36SW9A5cX61KHx5oRh3t", + "im_online": "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD", + "authority_discovery": "5CDA2QG5ir4EUuWM5Mpve328P1YXtUH4M5orPwvkPoboCJzD" + } + ], + [ + "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + { + "babe": "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + "grandpa": "5HDciAq3cU5q3tdwaPK7fBEamGu3JpyEqHoZgwdKcGJnS1uu", + "im_online": "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT", + "authority_discovery": "5FsQBbxBeUvkPv8vJbrhs2j5WCcRQb9jTEa3M41t7iVZhhKT" + } + ], + [ + "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + { + "babe": "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + "grandpa": "5HP1cun3VXtZVc1kFTaHt1xarYFVk3vAVLHwWxYyJ8LZ7TRT", + "im_online": "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT", + "authority_discovery": "5Ey2QhfwiQBHoQ1MU9xYkLzoQRRfXnhQaJPbAtFZ5pHhkRuT" + } + ], + [ + "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + { + "babe": "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + "grandpa": "5FyLGCeWe5QNXVZAD9R63XpmpS4UpSynKVKmFppVzq8Dqi21", + "im_online": "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4", + "authority_discovery": "5Gj58EEcyXhVu16dcmLBZVxNXq4vvwxEnaKbyhmen15TxDu4" + } + ], + [ + "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + { + "babe": "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + "grandpa": "5DKcQNr79jMKYgTG8HjTRhpnC5TJABdoqMLq9QEgqfxHvEb8", + "im_online": "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K", + "authority_discovery": "5ETyro1PqeQJrYXots7e4m2donhrede251s8CQNZPCNbpV9K" + } + ], + [ + "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + { + "babe": "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + "grandpa": "5DBhaZWbGTbDb6sj3EDM37AQse4XQ9aFmatzAzM3TmhMpyuv", + "im_online": "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg", + "authority_discovery": "5ECEHdvgq79WJGuR55PR2zjQNpregui6B8KHgM1tEoT1bYDg" + } + ], + [ + "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + { + "babe": "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + "grandpa": "5FFuwueqyR8oBzNtSBB7uREfNbfg4oBfB1uMWopdND168BAH", + "im_online": "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y", + "authority_discovery": "5CSt9Pn7NrTHpHSDTC5Yd4YHronw64HAPr9h6K5YR6UMYV8y" + } + ] + ] + }, + "democracy": { + "phantom": null + }, + "council": { + "phantom": null, + "members": [] + }, + "technicalCommittee": { + "phantom": null, + "members": [ + "5CSgF4xbSZ5EN2Z52tbdu63CwYnPsvM6HahhKjoXumV8AJom", + "5CcnpV9rsL98Vv8CxvSDXNXXi4vTZLc2pzv1KKJcSvvQuXGh", + "5EHdVc8aX4KGQrL1MxNBgrkGJDNBe6Xg1PcGQTyvKLxhrfiV" + ] + }, + "elections": { + "members": [ + [ + "5CiSXC1o4L257Gq7vd244jgGfMsWQadSqVwwLEz8KvF9ME36", + 1000000000000000000 + ], + [ + "5DnsSWZRC7MiPKcpfYdbj67FSUvSMMNMMF8Uw3ZdAqYd4rPZ", + 1000000000000000000 + ], + [ + "5FH2QRq2k2uA6HHwwMggDbjGHjJJE9R3SXac9aBPxcK6rn8x", + 1000000000000000000 + ] + ] + }, + "technicalMembership": { + "members": [], + "phantom": null + }, + "grandpa": { + "authorities": [] + }, + "treasury": null, + "sudo": { + "key": "5C7vaq3yC94X4mbv4cgrrNod1G5HLhaeiBP8aeSBCy4iZyUp" + }, + "imOnline": { + "keys": [] + }, + "authorityDiscovery": { + "keys": [] + }, + "dataAvailability": { + "appKeys": [ + [ + [ + 68, + 97, + 116, + 97, + 32, + 65, + 118, + 97, + 105, + 108 + ], + { + "owner": "5C7vaq3yC94X4mbv4cgrrNod1G5HLhaeiBP8aeSBCy4iZyUp", + "id": 0 + } + ], + [ + [ + 69, + 116, + 104, + 101, + 114, + 101, + 117, + 109 + ], + { + "owner": "5C7vaq3yC94X4mbv4cgrrNod1G5HLhaeiBP8aeSBCy4iZyUp", + "id": 1 + } + ], + [ + [ + 80, + 111, + 108, + 121, + 103, + 111, + 110 + ], + { + "owner": "5C7vaq3yC94X4mbv4cgrrNod1G5HLhaeiBP8aeSBCy4iZyUp", + "id": 2 + } + ] + ] + }, + "nomadUpdaterManager": { + "updater": "0x695dfcfc604f9b2992642bdc5b173d1a1ed60b03", + "phantom": null + }, + "nomadHome": { + "localDomain": 2000, + "committedRoot": "0x0000000000000000000000000000000000000000000000000000000000000000", + "updater": "0x695dfcfc604f9b2992642bdc5b173d1a1ed60b03", + "phantom": null + }, + "nomadDaBridge": {}, + "nominationPools": { + "minJoinBond": 1000000000000000000, + "minCreateBond": 10000000000000000000, + "maxPools": 16, + "maxMembersPerPool": 100, + "maxMembers": 1600 + } } -} \ No newline at end of file + } +} diff --git a/misc/genesis/testnet.kate.chain.spec.raw.json b/misc/genesis/testnet.kate.chain.spec.raw.json index 086a1c8ca..c51db91eb 100644 --- a/misc/genesis/testnet.kate.chain.spec.raw.json +++ b/misc/genesis/testnet.kate.chain.spec.raw.json @@ -1,11 +1,9 @@ { "name": "Avail Kate Testnet", - "id": "Avail Testnet_116d7474-0481-11ee-bc2a-7bfc086be54e", + "id": "Avail Testnet", "chainType": "Live", "bootNodes": [ - "/dns/gateway-fullnode-001.kate.avail.tools/tcp/30333/p2p/12D3KooWB7mxRszUN9RJyQbttutEnEDtaUNMfr9SgvArPCfsDv2f", - "/dns/gateway-fullnode-002.kate.avail.tools/tcp/30333/p2p/12D3KooWFzLz2vw8gBUgxNWUKDr5AvjosPe5wz9hmqmdcTsUwvhs", - "/dns/gateway-fullnode-003.kate.avail.tools/tcp/30333/p2p/12D3KooWS1ShBPcFSn3UCm1UH8UiYh5k1FNMqqZA13pVj3uR9oyp" + "/ip4/127.0.0.1/tcp/30333/p2p/12D3KooWBbLvsJGYwhy7TGy32vb14kWL9mrYSY7EFv5tRwfTMNHJ" ], "telemetryEndpoints": null, "protocolId": "Avail", @@ -24,13 +22,13 @@ "0x01e3d1ac52ab8d7b9bf5f1d707ae496ec842360ca55ced31e31cd22b1c508b0a": "0x695dfcfc604f9b2992642bdc5b173d1a1ed60b03", "0x1a736d37504c2e3fb73dad160c55b2914e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x1cb6f36e027abb2091cfb5110ab5087f4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02010000000000000034cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c0301000000000000003e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a0100000000000000784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d0100000000000000b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b0580100000000000000b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc36540100000000000000ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b0100000000000000", + "0x1cb6f36e027abb2091cfb5110ab5087f5e0621c4869aa60c02be9adcc98a0d1d": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46010000000000000010ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f01000000000000005e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af7901000000000000006a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e0100000000000000805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b0100000000000000a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c380100000000000000ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a280100000000000000", "0x1cb6f36e027abb2091cfb5110ab5087f66e8f035c8adbe7f1547b43c51e6f8a4": "0x00000000", - "0x1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02010000000000000034cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c0301000000000000003e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a0100000000000000784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d0100000000000000b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b0580100000000000000b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc36540100000000000000ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b0100000000000000", + "0x1cb6f36e027abb2091cfb5110ab5087faacf00b9b41fda7a9268821c2a2b3e4c": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46010000000000000010ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f01000000000000005e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af7901000000000000006a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e0100000000000000805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b0100000000000000a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c380100000000000000ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a280100000000000000", "0x1cb6f36e027abb2091cfb5110ab5087fdc6b171b77304263c292cc3ea5ed31ef": "0x0100000000000000040000000000000002", - "0x2099d7f109d6e535fb000bba623fd4404c014e6bf8b8c2c011e7290b85696bb3": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0234cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c033e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2db0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", + "0x2099d7f109d6e535fb000bba623fd4404c014e6bf8b8c2c011e7290b85696bb3": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4610ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af796a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827ba851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", "0x2099d7f109d6e535fb000bba623fd4404e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0234cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c033e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2db0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", + "0x2099d7f109d6e535fb000bba623fd4409f99a2ce711f3a31b2fc05604c93f179": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4610ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af796a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827ba851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", "0x26aa394eea5630e07c48ae0c9558cef734abf5cb34d6244378cddbf18e849d96": "0x00000000074e01ca341100", "0x26aa394eea5630e07c48ae0c9558cef74e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x26aa394eea5630e07c48ae0c9558cef75684a022a34dd8bfa2baaf44f172b710": "0x01", @@ -38,115 +36,106 @@ "0x26aa394eea5630e07c48ae0c9558cef7a407599dd3c9482bc8e5740cc6db69cb": "0xcdcc1c0000002000000020000104010480", "0x26aa394eea5630e07c48ae0c9558cef7a44704b568d21667356a5a050c118746b4def25cfda6ef3a00000000": "0x4545454545454545454545454545454545454545454545454545454545454545", "0x26aa394eea5630e07c48ae0c9558cef7a7fd6c28836b9a28522dc924110cf439": "0x01", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da903e01b10d2893a4bb727ba72d91e029a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da925bc20e0c12e35518c9f7844347a1a3384b039caa9aa17d0aa6980b2852e8102fe7693c7b431d763de7946f5de8ac83d": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da92770bb0e8ebd717385c15a6d27b51b34ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da937c55312f5e196cb322ba2c2de45ce5c5cc4fa41408b3df340fe460009b1cf21b336b43070913ce8f6874972894e7055": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da939f3414d9c736134370847b4428fb1b63e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da93b72f6dc37497c7674a6be9c4bb22f58f407593f824c070cd000f54398280dde4d324176a70e07f4257a3e2e661c864e": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da93fb8c397576b62c869170849443c9ac15263f6d59d237556ba5cd563e9ecbcd0d3fd0828feea83c1709f23c56dc5086c": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da942204c92c54e71766628c1146d07b52014b2d682119fd56d8d800a75c50c339ae4432fd7cd36d5b103fc192361ab4108": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9438d6130fefdad13725189d85541ab79b60e289f71a65a329084e92fabc5aa43fd4ebc9fe37341722fba15e492d17a23": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da949e3083466c4497f700fb0d9c086301e82aae2ceb7e8890a525e29e292609864ec6bb55350ef2436dfaa71f60ae7873e": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da900881cee2bc8a0c07f4d04f9d1997c83805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da907d8bac66c3ce32f94c30358de20b38d6253f8324cfa92fb324e2b3c469256ea7ec3ae98611071be69524bd24f10b64c": "0x000000000000000001000000000000000000e8890423c78a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9292002702bca4266356c8f5e01960c8c10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da92cdf1a49f4205c466cc1682552eec67918788ec9bf57fe0c0ac41d2559b24e9ee9ff2324f81ce0577e5d8937c993fd09": "0x000000000000000001000000000000000000e8890423c78a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da933d309a3c4c640906b602b341cae67b010c1f76625e973060cf4fd26ae9fc7a844455f0ace85ea6c542ecaab18d79228": "0x000000000000000001000000000000000000e8890423c78a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da947cb664413987ddb30d487b866382567ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da94891dbdfa3ce4ed5400628a6509dd1c46a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da948ddb49acf33447cc59b50a983e7df281cc7b34b29b7166de967d6bc7fae39430a4787d92b9bac9e53e3dc462a0a9b7a": "0x000000000000000001000000000000000000c84e676dc11b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da955dc8ec32d9a8cefa39057526909c068a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da95ecffd7b6c0f78751baa9d281e0bfa3a6d6f646c70792f74727372790000000000000000000000000000000000000000": "0x0000000000000000010000000000000000a0724e180900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da96d8a0340b1ccba7a7193d44a26fc324ca6505a15c36345826045da26dda111175d26e4021a093e2e4eaf6f11149d7368": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da971e4c7dfb0271c2b54a9b7071d7e9a9eb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da97b00eaa81a208a146751b74cf0a5bc9ea2c5dc9987c21775231bf77406c81897cef369e0509fa6e893fce1895906163a": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da97f8f58cce0f7602b1763b787cf0a04b66409a517da26a42b537be7e65e164c6dd13cf35b1427ae30de92137cf6dd2e36": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9859f7a7195546bc9d1355b80c2038f21b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9985377275921c97ec79e87759eee98bf345adc7f3751ac0c8eb996fa7d35eb484dcd368c2c72d3b6c0951797e206a474": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9aeeeced25b802cb936b34062ddb59180bc45e56261b1e981d2c7472d7871e0eedba7ea7fc6833ce35a8e86a21799036b": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b0ee19450ca52f7b7e5e3a99053d3be834cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9b1048fcf65fcab25f09c1b884d84432eba3064f506c7abcbfd8c1a448ceabfc7f556a9734a3805737710e030e1732f5b": "0x00000000000000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9c12049286bd7b5e6a35ee2c3f970f8c6de9597a1039474f80d6af8659c64371a31dfb3ead94e77540b3c01ed749d7e26": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9cd96541e18acd966497a7411c023646280d816591367a18ea0a653996d2614c6b8753dbd82839632224e3e3a71ed6b4c": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e21ec3de713762bdfb8ffb9e4f8e542b2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x00000000030000000100000000000000000000a1edccce1bc2d3000000000000000000000000000000000000000000000000a0dec5adc93536000000000000000000a0dec5adc9353600000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9e8c2808a27ca245b0febb6f066c547968c42fd9b204541a5d69bf18e75dcc8b7af2033eb11938ccbec318372f50f3173": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", - "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9eae19b6f7dacf245b0028bf24df29ba7b03b5441c2770df6f389c3d39d0a0f0bbf0ab6dd25ff96a2c1bd32c3772c200a": "0x000000000000000001000000000000000000a0dec5adc9353600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da982b03e98afec1d63c0d9afab436f4e7e06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da98c83622077e0060460a9ca1f3894a35d4c64cd21d679f0fb0c10f3320c70f61e142c53d915cd4188bb909810506a7835": "0x000000000000000001000000000000000000c84e676dc11b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da99297ccc14068f7d2330c729fe08fab130274942c0845b86feae8dc7ed7448d79f2781b2440f83135b9e5094087ca0829": "0x00000000000000000100000000000000000010632d5ec76b0500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da997ca2d15acab5700ad274521d85115ec8e1a14fb549c3c9e96f6a31bad454fe16f40c22e67a3e536e99443a7e8143f7a": "0x000000000000000001000000000000000000c84e676dc11b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9ad81abae52f69154220757ef107688885e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x0000000003000000010000000000000000004c31b8d9a7980000000000000000000000000000000000000000000000000000e8890423c78a00000000000000000000e8890423c78a0000000000000000", + "0x26aa394eea5630e07c48ae0c9558cef7b99d880ec681799c0cf30e8886371da9c286fc7e898916d5996d74b91f05519dd0086cc14858ddc8edb7adc5c45e2ae881738bc2fe43e88be3e2239268b59f27": "0x000000000000000001000000000000000000c84e676dc11b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "0x26aa394eea5630e07c48ae0c9558cef7f9cce9c888469bb1a0dceaa129672ef8": "0x2428646174612d617661696c", "0x2b06af9719ac64d755623cda8ddd9b944e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0234cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c033e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2db0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", + "0x2b06af9719ac64d755623cda8ddd9b949f99a2ce711f3a31b2fc05604c93f179": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4610ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af796a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827ba851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", "0x2c5de123c468aef7f3ac2ab3a76f87ce4e7b9012096b41c4eb3aaf947f6ea429": "0x0400", "0x2f85f1e1378cb2d7b83adbaf0b5869c24e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b65153cb1f00942ff401000000": "0xe6d31beacb0b23f845444f168565d0c37a85253c97db35f4b30fe46845c026a607000000", - "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b6b4def25cfda6ef3a00000000": "0xe6d31beacb0b23f845444f168565d0c37a85253c97db35f4b30fe46845c026a607000000", + "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b65153cb1f00942ff401000000": "0x6e550284ee58f20c89e37efe59c1cca945518039d3760a92a99d25a5702a19df07000000", + "0x2f85f1e1378cb2d7b83adbaf0b5869c298ef7dc060436e4ed803af07632b89b6b4def25cfda6ef3a00000000": "0x6e550284ee58f20c89e37efe59c1cca945518039d3760a92a99d25a5702a19df07000000", "0x2f85f1e1378cb2d7b83adbaf0b5869c2ff3ae12770bea2e48d9bde7385e7a25f": "0x0000000002000000", "0x3a2d6c9353500637d8f8e3e0fa0bb1c54e7b9012096b41c4eb3aaf947f6ea429": "0x0400", "0x3a2d6c9353500637d8f8e3e0fa0bb1c5ba7fb8745735dc3be2a2c61a72c39e78": "0x00", "0x3a636f6465": "0x52bc537646db8e0528b52ffd00581ced04dee2c56a1251107068940e7092cc539c8f6782a2e4d01a327a38d7236aa39599d22af17d3bba189d23b199e57ef5045057fde4a60171c10056716a749dbf3e8dc7dbfc2337dd6c04ceacfd7f13b2f7265b4a29654a2905111471117912f023d77985df9cbf8fb76ab51e5cc5efd34fb5dd33552b2fea6e238c91d8f873f400ff0d799d901bf23a84592c16abf23f6ec85fe57f8f790df7c79ce3d5f87d1ac2f7772d883b27fb59e36fcd9bb90bd80a6ddb32824b85755b46b0eac2b4c1ef7dfad1497d0823b279eae44c816d3507acea7b74526606d0600145da2082fbee6ab3fdd61eb0aa404b838aea7ed7bfb11854daa8dba26246ed667d4f80ba2d2a56eac3228731d41eb0aa4f08d7f8ddaa463a9b93010a7cec6941a06b0f58555f2dbe4da43a708d1fe9ec14ff72dd9c4781362b1811fecebf9993210af3ea802d05b608bdbfa9ff835148bfbf4f6ff3d8e8d0efefb1830fe4ff3ec69fcdd335b6b0a5c0f62ad3d9a9f7efb1d390a0a2faf6d10f60db7e9acde3dfff7e9be761ad0579ac3d60f538aeab3907b06d9ef66c396c7f6caf66153bed9b59f340ee3dab3227c4b5bfdfb9f7ab05096224ead6e69cdb0a39ed6590db161537ea364fbfe79fcdc395bfb5209cd5d57478d4e96c6ef598cfc036674a5256779aa7c3e19ba74be1d03ceffd7b348facfe5bf36c6b0a52f59fe99e56e5c8dad950fd31ceb67b36d7f1dfdf7dcd03d4cf3fd33cfdfedb3deb3afe60b65359a7f8df639df167fcdb3dabdacf90ea3e6bfdabe9d0ff7e48ffcb9aa7b7d56960dbd8fee674ccaabdccc4b6ad2a5a5466f578b61cb33620ffad1db3ba6eab8a0d2a577ed67660287569c7acf7cb3d7975ff71444e75dfb95d20dd7b9b21a5fa68d0a9eeaf1a75a776fba576febd95e329367eaedb07d8672de883b6ea9459fd03294752b4f477b3babffbbbbb14a3eaeefe36c795b411058d2855be79fafb53cdd3bddafd3945acd1e3aaeed1b5bba9fddbcf6467886d5b454051b705c58ddaa56abf01eab6a0b4ea6a417ed8bacda7b72d6b9efd865ff731c86d758e2bb63f36aed133c8c5672d88c75fed01ab1a31d686c08fb4830f1f6b6dc856e1aff63af51e7b99735c31cf22079fb5ed543753f9316cb548bb558def5c37e1bb73ddabf17d1a73ae6340f5c75693b41ba2ca77aedb56f5875cb79d1aa20910463050fdbbed54c743f5ef6003aabf8f436eabe482fccb972f5e2a7ce73a1cea7b8c33e7de436eeb6a3bc8ea910b9215d28eabd320fef2e5cb97daadaaffe3b6534c5fa7f877eacab08afca0608b734609db02046ddb8292a5cee6d916142c753feb1e56eda39a675b2c2f75ffa6ee6fcee6802d908d7f7f2f0cdbe659aefcfbd8699b675ff3f4ef638cbd6c9b676b37eb2e4c047280a5535bfdbd7fbf6b419a2ec3442007593ab595dfb97d94b520b353feab3560ab16a4dfa7d907d8d6eee76eead32be60760fcccfdb0b55848b57bb57ff2cfb9deb3add36d95bfdbea6346e2eccdfe3ecdeeeeceefcedd3f6b531b22fdef9b87f037edfa9d023d1f619bd37dedc716011bb63fb67dffd582ecb3a6c3102c160b4a5dba9dea66edc73adbe6e16f9eed54bf4f3bf73ad5dfb3755bed7e0c8571b6354fff4cf3f8f7a39a876bff6a41fc714f70aa93d5acfcb332b521c2ff9effd121ae4e570bc2b4e3caefd33efd75655839731ad8d6cde9b6da8fcde6e974c80065e3efb2dadff96fa76cd8f877e00772ba9dea5e65ceab962d102146aa4f3213c61973af660b4488936a90ac4f622a7fbfb6408498558372a84fb2cadf6f5a2042ccaa4139d427b1f2f79f168810b36a500e95bf7fb5218fc5aafc3e8d75b60b84bff3df4eedcfe6e9b8faef63cecd4eed1b60f3df5f4dc8ebd4bed3d9a97d9fc63a63ae6bb64084b8559fc4cadfaf2d102166d5a01c2a7f3f6b3b6cacca9f35cfd6fed58630abf2fbb44ffbb44f2fb79ddadf9ca6405b5d1956cdcd06b68df16ff374fb4cb753fbfb2b661a6c5bac2b7525b6376cfcfb7bd135188c1d04a144bd40dda04aa045a047a06a50235034a80f2817b406f40bfa024a03fa04cd826aa138a056d02a2815b405540b8a855ea130a0505016d028e80a78a841c5a037a058d031680c70a6f8223eca8e2fe0b481c3051c3770b680a3059c2ce024e16001e70a3856c099014e11708c8013049c16ce0d706c804306ce183862e0848103068e161c27e0b081d3041c241c26e02c014709386be0240107093847c0e182a3064e0d70688003059c27e0f800a707383cc0d982b3031c1de00001270d9c1fe0688103031c2c385be0608103050e0b70aae030816304ce12384de09c0027053849e0a880c7157878814714785481871570a0e0b078e48087193c70c0e3063c5cc043063caae0d1058f12f0408287097828b1a30b3b92b0e3093bd6d8b165470f7688b1238c1d60e0488113c50e2e76c86007163b50b0238a1d29d86165870a76b06087133b9ee011e5260b3753e0d1ba41bae9c251dc08e1e6e8268d9b1fdca071e3839b2c375b6c7ec0a38c9b2e6ea8b841c18d13374bdc4c7173c4cd951b2ba8143751dc207133c5860b3660b0e982cd176cb460b3059b346c806073648386119b306cb6d8d8c0660c96c2e60c9b1ed8f0c0460c9b1dd8906193031b1fd8dcc0060797186cb22845b199814d0b6ca2b8bc80838a1a2f5a1260acb8dac0a2d454c1e68819243029a82d60ba9831c18c123032406581c1322305468a1d483347c06831430535831914c0307179b9ba00a365a6092c07282e38485c51dcbc81b222660b36304051414d41a50065040aca1604d4112813646f6847a839c3b7306354d3841a279cb60033a5660a356de0b8a0868d9d1934285a1135596a885033841a20d4a44193547354f3831a21d404a1c60b9c236a66a03d41c3c10e28d44441c19899a2660907c3c39801c326083262d8ac205384768656060de3a4044d0cad09da12b420d08c41860b9927645220a302192b325ac8ac40460a192864b430c3c41603981a644938b05c2570146053c02831e382cc098ee4438089010e19d0480153622b038711605c50ea429603cc053a82904d717a236339192525700e62ac40cf88a1020e0a62c01073053e810d1636318861424c136cb6b079418c1462b21093046302982362aa60d222060b3bbe6065c06081e202e60a6a053976c0430aa720cc24e152c444892922068a698b6d0a9b13b026c04c81314143a3c60c0c89cda03ba8e102a3c1f586cd15db106cb0c4206d42c06ae05a4045c1f1c5268b8d16355b6c5c3427686b68696842d0b46837d07ea08da191a1e940e3a241413382e603ed48b3c1f603d30bdc051a1b365e76dce0a5e4d0c1cc12326330c1a054044a06a82f505d4c16a0bc28619959014a8ad3124e3cd0b620bb000305ca05520c305666a2a05e7002c29402b302140c6614bf22bd508324c3704a437a815181e4c22c02e609a9059926b42fe4165058505ac0b040ba21bfc831c8372418e4171c8b4d0d4c583425b4136053d0aa6052d09ac0a8a031a12d815901ab829604b700c708338347104e4898a9a2a9818a41cd137634e1d4068ab5c309d8167878391981c71bd819a82a9c8ac9e271c6c5040e3162a6d420a10309272e645ebc07a530603cc0b6603ec07a80f3020c0c6d07de02ad85ca420ba384850606ea0a8d073c9aa04561abc28e15c8bcb14921868d1d50ecb83273021c5e707801f5049be0a9e0e8c20e2966a6c88001a7045811375ed0cca05c68136e527063a4d580eae0864a09073251b412f01554113746c87441870f4a6150324c59ecf0522ac135862b0c362e28b160a8e0510498175c4fb869422b42a602daa2483c8ee6117389c9c44cc19c32a14c134c14cc266612b3ca349a2798484c256609a60aa613d3880cd87001f3c556831d68cc388163099811345d6aace057e838ca7490ed20e341b605e68a1d26c0c105181a645e70273425ec686326053552b8dcb8b6a001c185b071b1e100d3e2860ad894cb093bb46463d08880b50047173b9080a90273e23a421b02cc0932359c093b6c805d8125a1b5c1230c1c63e020024c961d6cb8151d47e016e380c710ae139cc4000303eccb8d171c5cc0cc0085c58e23b42d302da849a246073ec68e16d428515a63a6043898f053fc088e050e2c60bcc8ae80d98207104a5cd841060e3276d460c7102e2e64564e43387181c922a3024da3260a191ba7249c8a0093c4cc15384a6458d090a695192330296aa0309fa8a1024c145919991427357824ed78018e306cdca036c051849a2e2722ec988287941d5d68483809613b6307174e4773055a0f3426d88401c7043cb2e05d4e6b94d89854b4193c279c0b8f09ef021049fc8d182df098b2c30b9a1574093e855b81e1c083e0471a0db41c9c8e80e98007185e05ce153cbee0a105868b1b26e0bcb151014503dec23be032f80c1e5478cc8083c03c602030197cc442601db00d78d480070db80abe82ade0292c85a3b00bb808862202102061287eb88a0f2178d26449101fd880073ac0010d5800031390000ffc02d50e1180c0031cd000213a04a94cc5016ae0a181496403e3baac5db9da7f9c1cf9409126477e8028520463f761c94f91d2db810f4c90fcf880f374b04e9c88e087c81226499c38f9a100f7ced81f3376880913a1224b982471b2e467688820ff72b03f083d29f2f3812334af8c056208044b7e9414c9f170b04e82382274a44992234fea91a1230cd0f15aebc4c98f921def0632cf06646c911f8efc28a17963ac501041040181d31363e785a144c911244a941c5980ce03639d28497264e8c787223f3f3f08e06959263f2c49524404423f42041549d2a40e2df90942044778f85783fd41b284c9922247902c611281a12542304182a4ee783448d2a48ac049120688a0726f0607785fe43c2f36e6c960bb5820903069f263f3b2ac90102048f2c31226488a2469527f3e704445f362b03f306122d4a4489324403811fa591202264544f0032480c7c5faf0b30404499c2c1162e80812264f920811f45364488849931fa11f6f8bf5214991a11f27424220c9f1b458273f498692083101624888234540502449937aa4890f4b8e0809e1f160b02148d2a40afd000931b9c00edccb627f7e84f81142023df8f00302101ce98100ef05eb0408c90f1048b0ac93a1253f423f402c49f20f8b25497eb0792e5824499c2c49223434c44f11112869d2e4880a08091325aa9b77c50651e4c8d0111f8e0cfd4000e6593182244a8e24194ab22409cdab6281903051f281223f434220f919e227e651b13f424c16902dff28f9c091a12542fc506408c98f50121f9624295224874e098b444ae30c22d45d61db62b12aaf3c478c4e884ee0262cdf431444a150f0e5ebddd6642fefebb7be2b5dae7c26de9d6fa62fe8bc1d9f47ac5bc6e92d576ea76dbb9f7bd4a6775f5a5ff3b54bb9dbfdb2f7de7bb2d77d61d601727148d9735fcb29a59ceecfe649df95524ab9ebafdb57eee6907277f7f9bef55ee9ebed6f026076b79c3bd7e5ae6fcf27a7b76cf6f585fe9e942b5f0760775bf66efb7bb27ddb5ff774cf74b26c88f7cc1a20fb6db7fbd67213e2bef99cdebdf58d373bb3bb3b77d6593f97ed9db5eb48a943b6dced58bb0cd63212065939316700ca9d9999e3ee02e4bab3caddbd25bbefdedccc0903c33ce79cdeded9faa604205302705fc71e3663bc7bdba6bac3e70efb3ddf5d297db73b47f74af75e98761f9f737dced917b77bcb98b9cf1d93c94101b25ffbbee7cddb2d5dae7cbebd0d7d975b39a5e438f796383452ca95dd1d77bee9bb6f9fefba7c8d2300cf35f7042c0ece5c4a8983bfc7ecccbcddedbeee12ce397b4a5f9752fac3240e9b96cbcedbbd373cdfb98fed3e97c15eb7b367ccd9ee0380bbfbd5392d9bbd5fb7b76fbbbbafecee7e523e1c09e53a74df0c48afc33c66d8ed9e6dd7d07023a03bf3be7a6ee6bd26ee5ee9eeee4fc26452ee9bdbeed1bde5faca1d8b83a567dedcecbeb1bb9fef3af3d52e1be37e32b2dbd74bb27ba5ec6d29a564de0c26a733ff91798fdf782fecee6c3dc6e52b6e5c3745dee58d1be35e316edc8d31468f176fdce5dd6df75df76b774da6ebf2e6eef7fc95dc1ff61eb6afa6e63dc7bc67cdc4e67397eeaf77dbbda5ecf6de9ae65977978cc938335f08bb7d999963620ed0ddcdddeebbbdbbb3e19bf0bdf9de836feec2e7deddeeefbd7eef3deff76cde7b30fd70dc5d76f3bafb7baf5fefeebef7dc57eeaeef76bb3fe9eeddde2d6d9052ca30674b3999a194c10050464a09a59ca9818686320f4e296bdadba59452764b4903a55c29a5af9472e56ed25fecf7b0d7ef79aff47677f7e80fca76b9cc4ed7a04bf0996d11083109e22788686a12c49121273f4124197a1d1f10c289ce8f93224130f161c911216a1a72520448884908867e96e4e47092da49cde0c39223457e848e340982890d9b922348982819c0e5431225479e1471220307b14bc38fd00f4584980c1d41c2448992233705f0e147e8c707212645780e50c34f12a1a1010820470d4c9808e9004272e4034a9430111a808f233f423a74fc0015191ae267090f1d20c8717232e424c9103f7108c911274b8e080d15194a1244104c523db686243ffc0835113af2a304894d8c0f4b7e9a343952e407044784980c39d1b1340491646889104294c70f4342ece031c40f1045869624116a520489932441dcd8c0b36308262118e2710408273c808e2041f203c473801afef4a3061a8ad4f0037444c9078a80604912209c1c01e2e390d091212702a84106022c014112271ccdd2e044043f4045902451f201219aa4849c00a0b435f8f0e3c4c98f50932098202922f4f38409921fa122479cf880e4a7080d403c07a8a109921f273d171048868e7ca008104e922c49f2438a8ae08724423f4f64d8f1337444e867c90f088a208086031ca0061f7e8a30196a2202212400b894fc3cf9515264882341e0e4000113254540b024090840c044498e98a11f274586f8f1614992224b921c0102c90f3f30293234c4cf3f59f2e303581a8a2c6192c489d0cf93224a9208f18122423f3e1cf901a2880f3f434e9800516468881f9d274b7e7c065318baa8a8646457452bccc8ae2e232b8653aee434b24545abb85acda215af4e45ab2e5a1515b991a2222e2a822b5854f48cac7855b4e215af8a565eb47a6f8bd8c88a8b8a8a7655c445ec46b6a8a8a868258d14f18a8dacb8a88d6c51d11615b191225e232b2e2a8a468a78b56a232bde1534b2e235b2e2d56ae5ab676457ab36b2abd5ca8dac78c54676c546883c21f0ee72104e8e6c3baed32f2911951e2af919257a593cc9b374961cb4937e8f76224ac351f338b68f32a7dfb2d436fda94a6ded4d5e257badca110b07258a5f4339861235719d7e184ac4574a94c89188fcca4589fa0a0d6da445daa42b7026ca50a22d7a80f99827ba9ec8c80655e989b6e8017e3caafd445bf4301f76ab154389ae87a1bc5122cee23afd274ac4264ae455344ad45532da472cceb24320e30b551e7651222954325589126dd1c3f5ef8918a9f61bd9a07a94e8a28ce43afdef2325e223d7e98794a827ed1647309ce1853466e003287cc4569c704514d4c0228aa445bd832fba602208626081ea514e42f2a48774e51d55397aadc76af99597257ee74959923c4ba4d00a12fcceaf207db90229ace255de777d24bf7c19c311d4e8010baa3c0a8dbac5573002129c30c51624a856e5df35abb614820a8c0086113fb0826a554e21cb75fa3b4eaafdacc5c6df41566d7854578622bae2ae59420b28b440420b2a5a140103315cc1e24225c1b62d2bd0a8fd58dd961553b0a209cb5e705fdf28fc45b5c5fa48036366663a538565066fcb8a2d15d529a7db5b603f3ba8dabfcf9f6a1e246e7a344fd74ecd2c0744000050779ac0ac58c375de7b2f80daf1f7c3152caaefbb0b02eb840a291613fe72f321f738e85d24a926656d1a55de7757f5f7f1c709a062bc9a0604508b7805bb87608328b0dd319883b8fa3313d8fe6404788255b387df9c13aefdad3560eb4581f8afaef09913e2f5017f68d6a0fd52b16f4d87ec4b258cc2ef8b5b27de674935fbeb310c665dfaabb96e55fb5b23f2865c9fbd4f0b918f3d73d85f5cf6ae1199cf4c777d70d794d707fff518d775e5ebc9ac413e06d610d77efe55e4b602ef7b02d4f7f1ad68a9f1250f1848411bae7a4f358f4dfccf491901c20da8ca91a10a15f6689e2e7e6ae1cef706641830d23c70b73ca079b8c2df51c1950adf06f8762a5c226ce1f9da6d1b15ce6f52e5f7fe50acfdd8cb691e28d4ac112952e54ff9ad3960d5632976c552fcfd8ee537372517b96e552350d48648f9927644d4fead91765cbb39d781887f13e14889f037fc1b2c0563d4c8418652bbf9db4202cb86cd344f7cf84f1332bf23e2cb10fe48bb8652e763dbac2a3f7253725dfc7d1f8f502ab727cd2e180e757b4ebfbf358ff6fb33cd53faddbff99ce699bf9f6a9ef8ab5ae2b49fdc0ac3b0f7e98cb3997f39b1467dafa5203e86822ad4f7110562a8efb1f718b6e2ecaf0b7b8cb10ff28a6dc51ec886887cf8a44912912689fd7cec2afdd6ab4475987ffda5457d5f7a28ea03822f3ffbc971bd5cd3a1542a952810fceebd93d50e4e56357ba0f86f87f79276f1337abd8fd76b62305b2da31d51cd3e72ddabf14f9c37955d1a3a96727a2abb34c467958f671c06b3c8f99fb8554d8ec84581b47faffd6a41e81b9bf61eb18fb4d31ea336d8cb8744de6bd406a344e6c79f58e44a2f81e69444a69c43de5fb48b8f3d86715df636d76fc53e723617d5013e167f6b0a90a8efb1c73a032a3d463bae5dfcec31cf4a5cf61dd7ac351db02118ddf5d161ef7fd1f5d15defff1ea35de9330ee31ab9728ddcd98043dd5f9f19dfd050eabe69e74711af4a9d2d81022b9c082ab882022758dc44863551a5bfdf0642dec8d9c0e72a5fc2bc1740f597df1c7ceed8b1a3646ebfe3dce68defe3918315835c435662eb67e8197c1984fd18d474d835a24c997aa7f2d2ad5302a8be92ec41c09657b0bddf0d63166c1d83ba2d167ca93d45ddd613483555b7f54495214351926ab71a23d64e8813e8a0ee9f98059b9751b775a50795cda8db9a824aed51b7250517ac0929fd00a90619a94952d4a02253ed86d858026a8ada0d61990263a37643266003d6cec911664080308e6ae744cb519d2cd67ea9fb75bf518005716d2bbea85ce52a57b1ce9a834d210caa50a11a95762d173851f91f733644a01a40fefbad05e99ed0f0bfc79c0bda2f5fbeecc055f890628f7b42e3c4d7866a54e6869ac857e7b06e4d087fa941fc05529b21fcfe42f89d0e61dbbaa24a1dea0a69d7ff84abffaa72d539aef61056f757909d4a13acca275afdb97fdf6ff09a63c94b6cdb6222a9ce974262e927d7951ee8faf9f0e5fb63cd658f99381bd36fed56d5f492ebba69d0a93e19ea6afaecc4d9989eebf6d8cbfab1e66c863c16ab62ffaa57ec9bebda9a10d39fb8ed2567fae63c3b71af622f93dc72a19e38af18cc24b761a827ae2bf69a17ca17b7cf5e72fb463d2de47e26edbd6ad9af5133ae7fe34eefe3270e2e90fcf9fe80d50de6ef9cab03bf646d88fc6933c46bf65e33daadc660b16a73d863acb1121bf6260e7b2815ebccc4618ff9152af6b4b06e540c6626ce89ac4fba8240882bf64f0bc2496cd8634fd361d7a8d8630b5f33f394c184bd19ac22aa89dba958e9fac6b4dff551c2b4cf4a5ce7f5faecca4ad7639c50a669fdd9f525aee37af5b8f69721dd3af528ad4e519d32b1ec52b7c54414d86883755b4c5061d70700ba1f63add787ec6eee754acef5219f39222229ff5a2041fae5cb9f0b040a9890ada7c7767777b7f997e3ca7bcad6c7e99b23c1667aedb3c79e045be9af9f2f9f045b7cd8cd7afa53ffe9f47d5a02761a2285786b57fc9eefd7cf8fee335e989cefdc13ae73bee46d37b9bfd3af9302cd97bf1a04e645bb55bdf8229aee3edfc783886acfbe7af6ec67ecb4cfd9f8f3fb3767e3ef5c037cea6e8f4ebe7ce7b6ca975368286b52e7af36c4489d3f5788e4baf940fef2b1c951a1a04d62b1ea504c2dbdfb50564b3f7fb51d9ad4eb7d7a72424139d45e1ffe43b1ceaefe1727347f28d6d2af46a448bd1e272887caebe3fa79d1dd1efe9a0ef0e7e4f8e53ee4ba7efed5847075e7b64eedaf264b34b085300e1f83fe186bfd2a4c36ed56b5b9997644957f39b9bbfb722b7341445506793ded07ddec63b3bb7d9d5a6e976e7cc975f29f6c55c96341a95d7f901403942ff5c9ec2ea0f7f397765bdd6f2eebfa9fc820a127b23a5955a641367e0f752d7dfc120d6231d47771435ddf539b21dcaafead05f18fdc76fcf19d7bd2313eed8288ea7bd8adaa6439694754e737c7ddddf3d9c92ac875d8ef8f415edfa3401a914784df29d07eefc5510c9d42f2062682ad3526be7823225820ec5b17307eecb435fbfddda9d7967e8170c6fdfad8a9fb71c8fcf9d37d9ab9adac95b0920ed7892bb65a9095305ba74a7f3df6ac0561daad2a5f5c89c326f7846bc7f57ae69e70bdae9fdcd68779b3bb896990571b1dbcf233fdf5b1cf757217059a8ffdd382668d8f65d8e97ad6d888cd9f5e749fb1c975f3af12ed56b5c4414a18ed882af6cc5d9c376f0ffece01ab1bd4dd1efcd7fb781051f5cb4b5c9057ffbd38a6b26dd5dfa79bdb2a391f357293c3389b5c079f5f72364c83b846ba66b058950035c200f32af5bdc31740ed2065243ab5755b4860c11889e6d9fafe678108ed542cf6570b85e7dfa5914aa1e24315df48468544f3ccd4f73a6430da3a259591e8d4fb9d27f020253ebf4f176d1d2351df77fb84fa9e687f731d2e405183296a900589c552c57f2ae6580f064a5451041564a8a450f1a1e2379251ed4ba1d22af9460a50f147ce48012aa22d7ae027e2c175def3517d1f9f688b1ee4474ae4e33aef2525daa287f84c89de75de47bab3ad167fb747db0523788085159090451384f0f53d1dc3b6aa150ad020430a2970c045065b50ad6abfdba9ef57ebe1592c1523d13c02a8efb94af79b02db05d2edac4ecfbfcd537a0fdf2baa0e9d501f855d94ef255d1269175f89779154218ddf39ed88ea73229bc61235522c26fcaea82a594151e39204486955f8dda3dd10d5976c1a552afc6e04f545ba64dba8901e61b1c10c6a94f198b0a2ded46d316154b1ce208705d17ed1e9cb972f50a82e2c58354be8228a1458ef39c8bf7ca958b076247185135784007025065b58434db68d8a056b0635ca603d498094d610ac4da38a6abf1b4185bf7bc3ee0cddb6aab4ea10572c8ad8365417656d1baaa544fb454ba468c111a08881c5524dca92c262a9f63ba277da35c15e36b9fdc7f9b7668119d4c0c117d5fe6a168069c2125c3086285fbea8f667aa772403f3f738f8cc7242f8fe93db208c9d05d7e01b15d529f88fe38a79f63ec2c7f5752bc17f2e10ef50d59f7fc7e7fbf51edfe3fb5ff167f4f7f82edfddb1c86d8541fa0b3edd1f9fe3dbbce7dad5e685213e94f1719deb63db0ad8c27f0b24fe3e5c2091b3a153f0b150773a057f35efa608e67b4fe9e1a7bc077bf837cdf33a351ffe8f05f2eb633e7c8cdb5a677e899bad33714cef41b5ce7cf8a8e6b91efe1ed5ce860a1fc70299ef5588dccaf9fe63d49b4ecdefe7676dbe8d7caf5d6da4fc6d2db185baad25b250519d9a1f835ebde8766ac21739ae45bd82ed5d60db3cd2ff6592e30a85c0dff5a183fffb26c6580d02feefe73fdacdfae4b31634849422a0b06a50178230bcf1a5c677b2aa913a91b47bdf905332a51401e57543b44664d26e086c3521f0fdd37488bfeba38392e31a833c6a33c4ffbdffa340fd8f0611d5ce6b3fe4ce01261f632d08f6d9c39f9cf6bb404c1f1f33713aac6a973df6abe9304d40f3f733ae9bcf8f71ddd6125d2a5c1fb1351dba5fe3e69738ae18b61a04faafeb35eefa12b7fcab05b968c7756977fd5e5c3fc6658f715bb1d5842ccd1eeb0ce3b8ae26a454777d74fb18c61996bd4f6f867193cb3ae53f822d7bec4bb59b75d68c025ddf18d75dcf44fa2f2e95b8add75639b9c7bd4e6dc66e05dba0ed7d87aaf07720dca9f0e1db001fd5aaf06fbaa75510870a7b54f85bf3f44308e16f0ea440db2ac27679977dc056c2649d9ae1a179ba57c20baddd12a1be872f27fc2ae377cba54a944ff374b301cdd36d40348f7c1c9ae7ab7c0c34cfb69680a2cae740f73c952f9735a3cadfe6e16a3753bb1f55c2f7e91bac3999856b50e5639d35d7150546f3ba2988bfd4953fd33cefa57cf99b2329d026399654f3248146f377a89bc5527ba6be1047ddf86f3e23045b1c33b6cc0ac3606bc2d8687b9de2df1affc7a1b824982781e4ee5ffb3fabdd5673329c09ac1b5478c1a50b3368e20454502d0dcc6a4136258c7a6b1e1eb53f9bcb34abdb4ac24b7d14d529de1618b075b2f5cc00802dd0d68f994c9004eb065bb5e08a1448a1092dd801154850ad86f16f4eb7c331c6af53fc7a872724d2ee6bfcb912e6758a76435e4b8f6a1eecfd6f9a4762f2ba68777de92f99756a6b1e79bd3f2639aed8c56df6ac09d95133da655f7ac96dcdb821afd763dccb6e92dc568cdb5abab8ed5487aafcd37b8e78d5b6ceae8feea632ed22e6cc91db9a03ffe48660e50ceb6c881a7fb96ebab612867fb59c4ef9cbff4ec9e51ed7718ddc90d77de6b64e35857476aab7fad37b1e8bc562b154fea905e2d5736a896114eedccfc6dfbd3aa797da9fa190c052fb6f7e36fee5da64b395ebd81278a9db2a4197da7ded1270a9ef3d3d5aa7bf8360a7f87de547f36ccb0446b51f07d676d082ecaff6c3d6a5e0ffd816124ed4fe1eddc3aa7e1c6e6e9a879f765cfb99dbe954f7e854bf438e4bada603d71e9d4a75aabfc8d6a56aafea6c9ecd69c8ae02ecc8c68f61aba5c9c662b1a070ef90aaedd35c573eb6ecc4b62d13205501547fec650b6487b66d95604bddba158bd95b205df7bdb7406085efb4732150750855fb9deb582868bfd4fe2159df63522372aa41fc65c8abfeeba3f38febbfda10f99d432dc87c1ff769e7b64e6e48aa4abaeba346aee3dac1f7875a10c84b52b57b58c544d60b4b52b529e5f5d1efda0ea9ea74d747d395fc64806def36f710fcd4c3bbedb4639646e454df3bf7e4d547777d17eba5816b35307eac6ecb480a466e7484e2d088e78fb907f117fed5aec427342418cabaad23b2c4ab6eeb881a48ee42452de1858a62776d7d74b63efa9723c1b6ad238eaad76d1dd183dacdfd7e6db9235a15b5729a767d2c54017342b606f1170e09245454a776778de8e22829af060a930c60f6b4205cb7b584182aaa534f0b7a75d7c7fed38204f1979a637df4bfe5a0b6cf1cd7e582f84be5875a9047673ad5cf1c6a7df43b47b46dcb083766722c90adfd1b6a81945afd9884e9c1cc985b0893756a3bd5dd547e53dd9651122a6a237cdebcd204a5c0b6310cfe766ac287efd318b69a05fa69b7aaef8b54ae0579efe3ab61c0bf29d14a45f4be55ee1cd14af5d67bfabb21af15d8b66e0ffc4e898a5454b608caa1c66715e41eedb8067042547d4f05db8b72c78a8dbfdbd999d9861a4011b22802eac8b7ecebf737a865e66ea6c68739fb68ae533253e33763dcbddafe4cdbcdd46eba1ce505ff3dcf4cb1cd4d75a71a5fd2ee54bb4d0758214dad0fffedcbc6dfa562eacd19033c810614de4c0b86611675a9fd4f73637befe3cd29612b4d7d3b98fad80a0c5805157e07539d3296f5e12f5385d09b6c252e01cb0c265be9c18919f2c38610326ce60dce299fa1a48b492d088cb0237d8df49e3013ff71f175a8fa9e92acc6e7c77559e5c874dbdeeb9e4b4956e5e7c7f7f0e34b4e0628dbfb49e5633293907b9d8aaf4306a3edfd56f94f0b229f36e4d118df0c8a3babaf085914218b25191ce37196ea3e815458433700d86d1bc5bee32adc993cf1bb57e1fcce815c0f9ff78607f00cfe904a2a366ff200be8191e019fcb7edb499362ddb29d189462d7de4dea6e037f19eb93a48cc7fd426cdefba768c44f5e7c17b78ce3daa121f85dac855e26f192b1b7c2d3d0697db84516e6989761e0812b90a8bb836e46be44d414882aa0d79353e0679db04678c52c2b76664a92bc3cac45308f27da56bdf4dd3775b3d7d87aaf0df7bb2877fe24c9cc6adeb6cf2e363929b9d6a6293f257073ec6edea74a90a7f835fdaf6da7652d8e441231fa394ac11a1c9a208595438eb6a70c90e5ccdf62fc4ec59a9ef89865865597da1457dd499eb968bfcf7d6c77be6ba45a33ee972875725edb86ebb3ddd9ad1e1d0d9509fe9bb54f71d0ad5a3e787ebf8775be97779aeefb2fab0ef647d0ff7861e78069ffffe2d10f98f764a168dfa1e17db7bfbc3bf07be617786f80b433bd46eb4db56e744bb69a21d4afb513dfb51e363b46b7f23f56592db3a5592cfda0e5fe238c019e994574931b03efc7485ddd4ebb2c809311ada18475440a3fa89a70aae74f6e0fa774ad68cfa1e15dbfb37cda8f15dc340962d2e97ba6f2a59334e46e4a0094bd68cfa3ac557fc08b86f2175f8eead1189f4c11a7753f15b0bf288eafb57dffbf8fa4f09618c32c2ef87940bb3533cb70ed56ddd447543b0c29f90db58b0c1ef664637d47b9f13551d5551b5b51f9df2bfb6d8f8bb1f42af763f66b6411c5817a9ae0c2bc9fe02ec54b4453fe422e5ffc8c960b4f16f85bf03d3a1e65e850dd8ca74a86b103ad4b583fa1f3314b64ef94ca79c873f2eb6996b4150fffef10df1dff6fc4f2dd89e5354a7a236a459bc3eba286a41a2d488605fbed48e88c5aa8f0a5d3f34abd0d0566b7cde19e26ffc47a40df13a9f2cf7baa9f49a0e5e4b34c87dc47fcd3369b7925cd6a9a7cd266c5a907ea81199bfcd3864ad015b231df27d75b5476d863cf1fa3af580d0011c5421065ad8402a420fcaf0e20af4e20a2b1b7ce24511a584c409e083f0c12d15561845cb1692f8724612520b52a08238f0828ce8450ea67c91822a53b7f5050d1e131b7d007b7cce0d554061c4831042a88023a47831052fd658c2aca88a9da2fcae47dd5f1e7ff82044637b755b5e70f98e6356e112a1c27f5254dba917c67bee5e0ca1baa3eae75cb1c5ba2d2f623b97951531d0e8f2c4136014c1055564a305d10b2b0002172da650816209aa98438d510640a8b10955ac02e3899d8a5d56e36ffcf86f7efc99ee79aa1869a724a7c6dfc8cd30b6f82cb9d7a967842a24c18616b610c60cbca052408dbfc518dffbb7f5097676c4987347fe3ea64386285be496e45420ffac53fc98fcf91dfffd5f8f4d6e766a8c4dfed67771afaef73c55ff9c3b3c617e4997e4d44881de43caef93db042b30644045962378d9c216b448c0047aa78a285827088309a31de0b0397cef3da773ee93a9dbea02892e8cd89ad8f91c27553ca10a30a0881103d60d5594a030e2004860fd400d15bc9184138078c1babc480289458018de17a27cea737efbb77a810e9ac082116a24010754400017de17a2fcffe7d02754931ab5fb9db84406dfb9ad533d629c5182f7de7bfb46116f0c4109507841175cf891c58b2c566cd911c0cbb03d1b1300f660cb4929c9a993ae732f0d2a2aff60ebbaad2c57aa8a3ff590cbf9baad2cac7afa41edfe757771aadb8a810de083f0098102066d7ce106464879a2470c199c516109541042f81b8782df6d42663ac50fe5d6cd9a85136810852960410c271ca1823f9b87a7c2dfaaa8b042196c51a1122a0821ed94ecd4b734678d1fbc2aa7186ccfae4e8783b7675b1deef95d20cbb39db289dff568e1b066d4fd940dd876dbb664804485a9dbea620af6c1f61e3e3feaa663c8cd746aa5c416d438c2184856c0e20dd5fbd93c07a8ef372fa2a8ef6fba675b2c162b8aea7d4eca7b56f568e754c9ce06c6b69bf74c156f33adc3cfc38a4dabdb8a011535a66e2b06556ab731057a26f8cf4e6dc57679b8d90fd4ff3ab55ef99bc79f0b356b44fced0d107bdcdc1186adebd67d425c87baeb6a44f6cb97972d90a1ae2f87fa68ffda0c79bd2da7fbb8c75034842be040086bb4a186116ce81eee76eaaaba1fbb255620a2f882f5043688c06a436580ba9ff2e99ea7da5f09e4b8bb3bbf3b77f73f5f82929cd775c88d962cb4a12487b528d9a1c9a2083050b2c3feeba5dba3eacbb4e3a06da5dc4bb7478f7629a75daaf22f23219105e6e56fdbc3c82ede4393a3eb242268baf652d383c2f15a72d0b6d2ad97a84d6b2daed3585ca7afb46a97da71d21ed5aeb33c23ca57501f53f3324ff3fc38ba898aa1ddbf0ced50b4dbaeb495a41a1a2f354320d5d4b0bad418d51825d554a9a9e285860b2bb57b465bde00824a47cd514d0d8a0b0af5fd8de43d3872d8d8d04de9d04173e4c881833e1c3832d447a161540d8dcfcf57f8ca96e62e1b23fdbecc3397dfd3af6acaccf3d19f38cac6c6f4f4bc8526078e23dec2e5684a149aafa1a829351f858673502250b4a686721727abdaadf5d13d43bb2943bb2d86762818daa536da7dff89ebd67af13204305ab0822764a10a55aab750a982174a60852f2ae96968814214ac2f88a1bafa0b6eb8806504eb052a6c0a53a270298212c850adeb985e7b47aae962f4c6184955dc8b95c722e25d21e261c9011654ad8597da3da3a4da2d532ab5956887ba68879ab4fb2a69ab55fb53ad96ebec9648bb790469b771719dad8f76281f2e905c67abd3ee6b1699966101b639dd6bd59aafd1822387962c3970e4e067c575fa713ce6232f333433333535396a6a70d4d4e8a0a199a153a2ccfc14d4cdd77ccd378dcd8dd4a1e36de6aff7e0a0385ec7958362bf2a1425a2861241f3a5c75e154cfb67a49dfeb14e30ef5ebebdb497a46e49d7323dcbf5eb5876e6ec2eee48efa7d050e742f35166647e555368a81fbd0cf7acf09195a3da2ff31d1f6da95db39276b6b8d25ebca7b1b84effdc508da5f663d44bb35a8636166635966da2363e622cec650babfadf95c6b43f7dd296da49b58ff6c87b6866b8a09e07d761241c315d6a7e5d677b1a9a5fd7317d149ff9759dec7b86aeeb608fd1cc9f79ad86aeeb5c4ff3271c745da7f4350f4384a23bdfffac780f0eca83ebf0d7c4d06eb9547e18da4d9a8d768b54f94fb4db66e8ba8e8976dba5f26bb44365b4dba4ca8f3d2bb57fc77b4ab49b17edb6b9237726a4937fd66b15d3315ac036075befb97e1ff392c4aa8b63d51e3d2caec39a465b95fdc7f21eff2b282b5b15a3da737beece25cb91f7ac8a0bd2ebf2b06469a44d7223ef995224a39a3fb194322c57b2d2152b3f8528b352c57ba6c88f12277523d7e997d4abb81bb5966a54fb9d0bdd77f9efe3f397286d493bd2751daed2485dacd4feaeb5d4feaee23ddb446dee5c508f55fbbbef871c175be75978558f7a58aa8a5bdca58b8c49dccac25eb668611db5da88cb16d7e9c848fdb0d47e58bca7b5d0c1129eb002257aa0ea7f59bcc7510006316091051565a8fa9f16ef612a2638c2172f5f8ca0ea7f2defa161074fb0f1858a19aafeb7c57bb8065f68c2880b4cb0546da59fad780f11abb0efd2f7f53d5abc277e7f93ac7f08efc168035ca783c02cef29511efad9c87b2e8a817eae32a911222205c275fabb9f73591ffdcea5f6bbbbf777b1f14b92abd7db194378cf62f3fa8eadd4a5c2aaeb4f306fdadf52e9b1cdb4cf7efbd3776c54f7270743594b978d72162aac3a6994b16cfb3c506115cc97e677bbe5bb6d61dffda89b7db753f753de43c4c3efc370bc853b71ccc5c43112c75daedf9f43b88e3f0faea3fdfea661948d4a94ab34ed5094adb80ed3ee2b7fc75bf853a989bdffcecce6fbff98f35dd7fb37c07b30ec53aec38fd197b4db2d95bffb48bb6da12eba41dafda8fcdd365de7d16ea732ecab086c73ba6ef1fb77ebe5df777bf468b7b44bd5a5dd7aa9ce5e6c1d5f39aadd7af192e43d5cb8202175e9d2f116ef21fa2219953f5ff11e22ede343993df6dd6e91b0f4d777db8272befcee47edf88a891211a1459a729d2622227ec75732fad8965689a2ae6d699974933fb2443ad775ba9d2eadba5f0eb02da2befd4119dff4fb9fcdbf4a58a6cd3ccdef4f379d36189998b73162d50c4d0d0e1d2f85ca54e578944ba1b2a3b2a13a727033284e06470d0d879ae1722c0dfc32dc94576969c0321d36374bc30e1e384b83493b6d30313ad8bd0ad1f64aefbdd52cf8efb32772acc56a35eb14c5e7cb2772fff7441925ea24d7f12c4d76b6cb846da527f2ad8f5cc789f88868b9ca150ca69122a4449cf49ce5f4adcc5957ab59ac56b673256549ca72bd6c246cfb5561dff515adc45736d377bb9de89be83cd2328ac2e8d6552eba4d8a3a2a9251493a5da77f5591aeead1751d3fadb84b3fc036a7e3a42923fcfdf79ef7fb91835c147f5c14971c11cd4f8e08c717c9a8a450d1542f3e1556c52aef3d7c4f349f0aabe613c1d2b5f0a9b00a7a894606a9f4545855a2a14452a8682a294639a8689e0aab88b6e861e6699e080725aaa1545845e33fe32f438918c975fc6328155695fc616813d7f1bf289111d7f1df28155641ff137d2213a5c2aa498934ca5788d675fc334a8555d11fa35cc5758e66fcb8c12bdc7a47f11769476e52f5d2778c54a245322af8172d9251bd5f95fcf9ab9adf7196c9492e72907bdcbb0ef3cc8a5bcaa4ea3fbd677bdfa1baaf5d8ab2b109c18fbf5f32bd5fd7532234ecbb54c2281157f6efd77b324a44e9f4fceb3d5332cac616c4556e514dc99ec8c800aa1325023351223219bd442fdea3d1299a46a317d7f1cfe8942c93cf5b24ed1ea353308c5b4c3b54894e297d94f9534a74b5b88effa3d1cb45a75c1f655222deaf6aca45d775fa398bebf837ed248bb2b109c5efe72cdbb6b4c0d258b6c46d6981a5c678c458b0780f51142f9251cdd27f69a250f34bdb563bc642646400d5f5c6912a8a13b1ae9343920a0b65637b5f9b761cf49eb2b1e9d0dfc92dbcc5c65b6c9dbc12bd2c17c6d2b5935be416ef612caee33fe7b6a150b5935baafffa7f65c92b728bbcb26dd42e1e452ff1a886da4556c41259300b179865a6760f091a21956af7aa3c2daf0aac9db7bab8156f75925bd9e225a9afb07a0b96ea054bc75e7698d5cd6eb9ec74b33a67d938061bd7fe8eb1c8a4ba3214cd15ec53172cc70caa288ef470a2b818747436739323656a504569563f15962a3fa91c87ca71542e009553a2f8460650b514231faa28ee854525aadaa8555d52758caa75a89aaa7a00aaa644f08d0c1017072951a4ca6847d54fc5550e55aea99c46e53b540e009553227f2303b43fd894e87d918c4aca8ef1a3380ac24837a744460650f91b19404524e3745d87bf484665640055e4d7c2de7b8cb6f6f752a83c4a255f0a954d151ffbfde93d528c6c504999792a3f54a5a792a9a45079d5f5f3f751de23c5e826d34ea6df9e4a8e0afbfd4d8a514a2585ca0f15cc4ba1b2a392792a2955cc5341a9b69742654715532ab834f04ba1f2aab734f0ef1e807f5f86332d0dfc319cb634f0c370a7a5817fe3b63d00ff89a3591af84ddcccd2c0af71354b037fc6e1581af8310eb506e02f717269e0bfb86c69e09fdcdc032c0dfc91d3b134f043ee6669e07fdc8ea581df391e4b037f73384b037f910c771a587c4f4566719062b4a3f2a7f254ed0fbedf97f32ac1dfcf209da6d30613e3bf3fb338183d9ac5c128ab591c8c66702c0e4637a8c5c12827c7e260d443d51465b33818cd9bc5c168dbb13818a1782c0e468fb33818a554fdfbbb383cbadae2e074d3b138347dd7e1df2f7adc48d8e674f008065b07b1c02dda47792d2dd747d92190f1852c4636a8de1345c1e23d94c8a91139a8344a44c48a9428be1139a82e4ab4d2a20c23202512c194308cbae8c1175f544446e4a07a94a8280a5020c10a162e4da8fc3d7c29543255dcf133a9f61bcda8ae08238f2fbd2b4810c7bf99c731039fe608e7638e5e9547dfb527daa207eee91361cf3d91cd63ef5bb551afe3b1fe514fc4aafd2dd764f89c9a9b27daa20799af79a2967922f94446332affec65a9ed499e25c79b9e284bed4faa9d4389b497813ea5441b47897c30ec6d28d16be9a0440f4589fca9b77050a29d99791a4af48efc0887be2a30a82f51a2c783beb78352e9a19a7f7db7b5ae79a3e36d625ec3f149b54b0f73a58454fbe7159abfae202d920d25d25e0735e23afd35948807d7e997a14401b36adf4dd8d27ece6d43a1fe53a99daab5b4eb33fa032bd1f82696ca7e4507d32dfadb0bf65bea7b0c071c3e0c68c0039ae77a1b50d8f33b877d733b32dfcd6ecea0dcb4226aa46e0312a102695f547da794eef04dfd26687a4d3614f88693cff7497ddab90e6ea9707e77c355dcdd692731eff6d890081cd0c9bfdd1ba9dbe01bfc19a2d1f2747a7fb8254eb8a5c6efeefeeeae36f57797c33c77770e1d1ffbe45cc72c1f7e17f370fee69b7f1773826f7ae73a494f90da68cf1f7fc7c77b9ac4bc4c4dcdcfb8fbc36fa46ea3a5845be096ca8f617d72679a8f49aaa132b4e9109441e1e8079225771aea3e439d764c87607769785dd04bc54c9ac66d35994cdac91f83e14aaf83c3f13938d46f9cf61e1fe3186b2423aef37c7af36ddbe1a179b2d21bf11ecec259defbc8962765df652f4d2693e984bd8976f34ddf65b4fb3a2914f8862ccb7ebdc7f4d8a3306a7a8c9951d8458760855d4c2693491b82d18602cf201fbe89ebba4b95d466bef6716bf25e525292fcf8da77a68f7f61d4448760d75deaf5a647e1f8a909c11e48a325ac754cff6e9eab98fe999ee9b98a89761acd68d75d1a0a7c0356a20d85eb1be9faa805b9e096ca524ad95068c9f40e27c8b6c25d2a764a35cfe9bbecf7b18ccba9a89bf9cc4defb62a21b3842cdd90d8175596bf996408f33083dcd89bb84b8514eb20e4a740d963d78a4846c96ed42e5ef0cdf8d73312dfc07f71152410e42ed877f3a5a41d77a9f14bff8cd16e4a4925bc24d795a809832f29d7c17c81fdf571087cced23cd7cb6724d9ddc17cbc7e9a3421525ecf6c5c25187ac1c0c04cd28e4b5a90525bc130883152951f4d9cf6cec9fce36236aef43e2e27b79c85d9e0c9d83533ee86d9389d6837f4deeb2c6336bee08fcf6cbc57b38f5fe22f6ae965b818ce747d7ced8b1a3f6690d9e01b98d9e019e2979eb394fe69414adca54a66a3a8575ac31c81bd8d6fc07edfb4476fa679b29f1042f87ea881644338e783f2e7bf6e0836842f8728679816c429179df68ac85fca7ffeb24705babea87ae91fdfc0df34a7ca1205eabf4a5a3bedba5e7c4349f65f178d3c033bb5b97efe73dab9c37f7c833f94d2e747aea40931bdd3cb147986e926d3d484bc8c7b54b186b1bd36e7eed3ce2dcf00b9071f3bcd44be01ce89b196fdf20dfd5c81bc6baebe83a49167c8de7fd68cda7ce41be43fe65afaf9d810bf92c79ff35b0b3221b7d1dddd5f8d90469ee1cd8cb5243ecadeaf54ec8445026ca8d2ef02c13697afb3373c9ea1c4f93fbec1c7cef0fe7de7a3bed7cd990ee518965dd775ade9bab24c26337dbf4fb3f6d0a4d1ae6bd6f9952a43bba1be3af81d64082184d0bbad765c1135ff0e7cee772d6a177fa8814c5f5421d7f910af173394bfc337f44bb7822f0ad4a6eff835f00ddf657ea5c6f78b7619e5ab9f9919be493677cdb96dbf40b49faef31e36ed2edad9203fd2ccc40ce9873bf443fe1dbe013e53d85d1fe5a609e1871408bee94fda0e590d3c839ca13494e66528fc78d11a99ae315df4356e1a3a439bcac45086d951c5326e2b8419cc38084dcb33444d48c3f7718dc37e6e3d71db73c97b76de4c2d90aefb3f9a074613d2d8ef780f5f0d1ff6dda3ddd0755dd765a240f0b3bfbee32ad6590d128676af764351870c5128107cf9fcd963ccccf22fa884c33abbb6ebfafe0b0ec9680d3c033ffc8beb6ca84c6de6cb8fcf83f734719df728d47beffa98bd2a957035fb4e09d7d950a50f3ed1a909c9a4b64356b36f3227ed9470f57a8d7636d41af886ec7aece5affca80591576a895b082384104e496be019e2cc7932ac230750d4ac5ebfa582d1463d40dd16185a543090a858e5772b153bfd681e98cfbed37e1fd3381bea7a0f8eefb6bafba91e3bcd63faadb938d33367eabf2e79c94b5ef27a1fbf86ba8baeebbabe655e62da0e311890f625a65dd7d29f68d7557b9f66f9ccccb4f4987cc940da979ebf1b7ab9559ef22fbee45ff3310ea8bfa84aaef3ead5f42ca78fcb79693b74bdcd13837d67faeb9a9f3d97aeef4c547b8cb3ebbaaeeb9beb327a7a7ed62050a217e53a193ad4557b4c529bd2633ff925ede4b3b603bfc4fe927fd19601cacc4fec4d9c491372bda440f2fbb50bc366a8cc755d9794c9b0eb31f957694bc5346eab949ac6498d932ffb32fde4a473a87f1c8e875ccd478ee62f6e7e0c97bd8f33b7d5c499a6f6ccccbf40f2b5c74c8f75a6713d6ac66d75262e7f9887f9f51e98dfbc073e0cc5b49faf5120a941e07a4c1ba2c9c73813539bd2f34fece7332703946d7ed69db2477138b4afe136d7d134dacddf38ec4ff3a326841fc8443baed86b0fb51db2ca4c3b27ab8abdf6d9d6ec9f1624b3522f6e612dc55aea4450659b3a1254c9c95f6d08acf2d5d210ac5e7416bd95a9639e90f2991963e687fc10c20ae9ee771c06966a80ba2d30dc10c38a0c03a90aa06e2b0c2d5272339d5af9d37b629ee625edb2ed3beca7fc1829fd676887aa523e8d34bd36d4a79f89e1d6693704b79349cbe810ac5e9a9c0c50368c76ab5a8a17fd6e6ea85347286c20a50ea06e8b0c2e153bedef7777f7671c5017dfbfe8c5d3e9dfc3de63271ae4b5e31a65f7aae921c0cec45f9efd09c34e18769d3ee3804aa7d74ea7ebb3d367d7af1604a3415eb1aea802655ffad57628fde97dfa5ffb6e7b1e82b559e69969580776faebf969b8f519198eb3bfba2113c3d0a1ae58e9bb8d0e753dd1e737711a9dd7f79738678267b8e8e424edead6a9b7da5a4e81f5833fd4b539ac6b6afae5baadb38eebec8ff023571307144454e36f951fe435aea6c3aacada31ed5eedb6ba222a1aa246534744e537d1e8566c65aef3ea3533d1d848cd53856f880e45edfa87ba9a689057864094ad7bd5f4fb6ba24b3bb752e16b1183162288b146ada16e4b0c2cd58a30922ae69a690c27c4a842c53a8b5a10d3b366e2662084af438628db5057c96f7a93f6f0bb21584f6ffa6ea89f260428d2f7590ccccfbccc77a8ead877435dfd67c37ccccf97e136ef91f9f833d7cf131dea9abd097ee965b8cd75e2c770eb3a30dcc6adeb741a1d8235a39d2ad1aedbb8a6a440fcf1e13b137c03d6748be0cad4f309ccbfb7998dc9982fbfbfc78ee4acd46ea8eba47072d9185bf7e387f7a05ca77fa27e88b101bd87b543d5ac765c3b67826790f0fb3f27d563a779a44351e1b7900ddab6a5a54aed50b57f686940f36ceb0b346a3f079a87d67e540daa50fb6fb63b9433c133c06f4dd2e5193aaf52f91ba9534ce4d5479d099e81dfc7df1b18d634d8b0788ff9f830a07bae087fc77be6ef773fe6dc361e2e6ea8759ab860cb76cb44c96ddb76600a8b54b75bfc1bd03cff807e146adbbc291646df3ecdc3ccd87ad38ea8874e390f9d722adbabdd9ac180e66171bf2cf4f2bceffa648319ea498badfb9999e9ae9a1909677decafead6d578ecb8b1d1910385a38666462606663b99b40c2b5d5346f8bcfd7d7aceed503d4ed7a78b78d5dd6d605dd360ebc7bafdbd6733047a5dda11d1d7a9ed1ebb7b17d86e8f3fffdc9e7ea6db76f2e6d6758a9a3580edf2f477cbd82e9dcb2c64773bf7b78f3e9eed364184f0238c117efc0714e5cf2723a4435dadc040d6471a70693723b73bbf831fe983cf74c81952a15787bcf2bf20d8646143e5a47a3c9808e4e04aa7b676877aeffffc1d3eee5eed2bf03d98089861a5535b75c80005fe426e47181e7cefbd9f11727d95bb60bfb4db3a9ecccdc3b4d301bf8b1f7b62d9fab3e6617fd80dbdcabf4348cd0df5b3e79a32d5667cc54e18b6b4cba9fbb4253fa4dd7b08b97d9cacaea4dd7653f7eb7c0fe9ee0843bf5ee7df8fdc6560d80235d9e978a8bb296cfee0e2c7fb31b36d0a524a273629bb468a5a1f30c76a368173880971206ce702bef9d717fffb268cf1654ec54c797cef534d7c4e6a6747ce12b7f170f439a9b713fb6971e4d06b70d306b67395b0cc8624b639b70d85fa4fa5767666b06fa2c18fb5a1f84a0aaed48eb534172dacd6dacbfaf0af41c2c6df5caee6129b0ba45c7cb6172d57bc78020dbe521f6b05935758964b933a54df773b75952c97fadee9bb25c2a2a175d6588ffae4fb9cffe689df80e5f20410aee37fa2ddce3f44413837b9858dc4b0f133125cb02084a182c985358e2968c51821844d83d40c94d46f5826e7eac08de11c62be29ceef1c465284104208638cb1b57029601be3fbd831c648379c09df9330d3a2c9244b30662fb6a165324eac74c519dfc7b198456dc857a805e9df6650574b184008638410a25038383f4e483f7e58f1f0a792accacc748698f425c5f894a06a8c0bdfdcb4293c1934cf24ea2b6881bde5c74e09cb341caed03214ea3f95dad9f9f18307171c1de17085a4ab84f5b06283ffe6b66ddb56372c7ae0a0c20d2e7acc9744c451e5d7dcd83ab6d2ad2681563ddaafa4b3d4f7cdb5de03416580b271e92c5b6cefbb59b3add5a576dde222012fc1d6adcee231706205b3b3bca4e7456bc2ee2d15462a3553c66f33db06a1bff70cdf7b7e30767cdcdcfdaaec8bffdea77a7439efbd4f2bc9e9baeb2327477d30a59c13cc8842e1e0fc581ffe2726fcd837a1122284b00991f319949b20faf3e3f7eff97b8fbef6351e7419a06cad4306a3ad3fc8eb6e77662b736e2dfb2a61d90f25e6dc3614ea3f95dad9e101cbd1d13b0126e755c232253f94c83014ea3f95dad9e1a17574f4a38a1092de8331c6182184d0bb80ef290121640821841c616cd88358852b114208218430c6185b0cf89e17fb20ed80a8f09f125485f0bd9d6f6e536a5540f9177c4e5f6708fd8a07a97837333927285d39af4aa227218c4b72b84408218431c6d830f0337e5488cab0370d4526767ed4126c3d968af114e193f856b35f1610c228e563524a09218c10c28e634895113fe73ff5de6f9fc2f23929c8b586c57c4287fa9cd4ec3263bc4a58a6c52a5028140a85c280175cb8bcbde2462bbe2550a918a41e7c2f87575fa75edd1cef26bc216fc1d3167a0701c6ef606018e209aafcb84a58a6e170c5a6d16d43a1fe53a99d9d1f3f6ab7f190c5d1110e30466650f170e02a18bf2d620a6ed3861a63125b8c198642fda7523b3bb5dbc0d8376d90e192061b363c13c0dd2d49c96d14a56b1a790961a45a78c97b744ff6effd54f2c3ca9ca5120aa98d4d4af550f223d5a91e3ff84b102cb26f6d084cc5c2e85519f5a175b68071bf3a290cccb7e447d2eca80396fcf7917b36fdbba52e1ad5a6e3778b468dcf5a6a9ca91115570b32b9bbb99fb79b95b95f47c9453ae9c6decd749327b216d692c5966d5654f9dd4c75de02a99648994ba7fc6178b0b1cfd48eb7cc6ce3d602b76851c6d3c29257cc4dd2f7de7bbf6343f768ffaee391091f5ac7ffbdc7c7753cd2196e93d60de6a1b863436d6d389243750a522347d8b24e2149a4f718c6f779a5d66ecb48855f217d9d8aa72f5fbec49ae4abd911073ba776faee4d5da9c2873f17c87cf8d702b99ae0a4601fa5098bc562a9b6c74e1c8d69478500d880c641ad421aa04de36266aaf02fee89aca59ace6688acf1658dffb4215bbdfe6944628d3468bfd41285eb235eb41b419049dffa801f0f00bfb520f1113db8331b2ab1336b4a8a5f9d6b4668e42394514a0823e4f266d6acfa9e034630d0456bd45784548bb8d4c7aa8f3263a9f09be3209cea14b32a438ee93c7df9f2a56e6ff3753de27baf07882159dfc3627b4078cfdc5071bb542254f91d3b51bde7dc3614aa4b57485b0b958d9febca10f6a85d57c9b6f81e1d9215ca2f5fbe5418e11329d7d8bf4a3927d8e0bfb995b66b437d7d6f837d33e7464b169c9043254208218431c6d855606127be9d0f3e190f9f39dbe926ecbcb932fb6d3b63ececec9b4a6e7278c084154b6e8eaac0669cf18aa5884588c4062156ba3e555faa012fd8b225db1eeb65398a314208fb06106584bc66a63d8cdf8496ed941e0f5b95bfe33d5869a1111f8ff05dfda290aaf07af89bf7646f7af83bcd13e70f2b366c0afec2c8ed6cca062213f75aeaed64dcd6e4e220fc51618c153c60a2c2087fd4571457b19f0b202fa4ddc78f3fbd67539292e29a5296b85d1d29879812c21865a4b21d09d893ef99b5201393f2d118c5162356ba2285f1e1fb380633085fbe479f94317e7f8474b9ee5cec6e24c5bf4aa91ae30bb618bbb46d28d4bf8f0cb66da572a001052f52f525f90ff66866706e32a726a844aa97ca73410b3aa70c8dc848000424531500303824148a0664326154730f14800f91b45050a28a446294c328a59031c618434400004404404468100050601081a7da49c58000c360afb6c53449140e65218f7fcd96bba73dd71927aa0f36ac964416ae64a9cff3358c229ae7d089dc9084c774a1a69875f62e77b03c4a7ed58515d8ea44af9ef7b569e45c73133946e329d8926e34b08bcba4df3afc4d830f580eee21fe841a88d1f7511789d5ed3a5ad0270ffb5520a868db4a78556b513221039ba42fb40f870a1848c72c21f189c74fa1d607ed42209c0ea08919d9013f3c9c1d8754c03b76f98604048c80d3870cf8459ca4a3aaea250ecb0000dc50e64a0ab0bbf9bce59839eca75ba67cba119497c1dccca35bb3d1802b7b5a96b90a26ec1feee24928915ccdd9236243f2f77b92f76ce9c13eedef16bb44da29ef84dd2a4696e46043302860f76dee352c4c09a5b89df1eb6c155bb43dd127ffc3e03164a1086b6cae86de3737dde5a9bd6ff29cd5bdd945bf5a510f09dd8c7953fb5d81718fba8df777633a54ff654c5819ae1f2d85c10a6f1bbcaae4756530d2ccaddec4b0c518b8e8d63d97215ae0244a8b9acb784033d07458797ff4f6a88526dc963fe7a28e8c3f9320e1a59f3803abd37a00a3cd5d51d276927626a62ed0817790bb7b887bd55c0ac660d62c4dc8d2c5f92600c078c095867a0501087c08106a15ff9ddc516fbb94edf73b7e2631ee5c8e22d7db007610cb6fc9ec02ce9d0471f21aaf259c0ecbd7f6e6f1fa240c45dee3a48643c063e82a1e1bebd079234ffec6c7e97c29b363bf10d73a4e9f6e5b8a9f9e4c777a8c962a692928ca3eddab99a16c6a0e23f1c94a31d435f0ef151d85326f6b243f02c986d8abd63dd45e2e87cac05a63d5da2d8f222829ff23575fc0c077d8ce1ad64f76ccb8351979dba60f5c63b8cdb236e37e103fd3366504396ffefce069e7c04ba319c335440363623ea92dda608a4eea2db1b87a5857ba5b3dd0f6466f025b7eef5758936d2be250e795363ef5c93c1925944e4e60654750c2bba5bac71a6fc2dc20943b886aaf6829a13001d7f59b44f51ba77dcfb6b4869ff249a7722dff2f13f7a5c178ec25ea0c846c162fb3c4039d573021b682319cb4f1b98c74d29b8af9627dabadcb31684e3fa3317dda073a4a80d75dce954b6d9315c631368b43f01acd6513aa9f9e23da457bbdc3a8828595e4e92932b8b3c7b1bdb0ecb46e03bc4a0ab49c1e909284a59bb5d447e6684c3cff85990d2b481c0e39bc5e63273c9e4125ffa4d6b660add259e7161c9b66f85b665091c1cf280d477949139392f399db719cb0343966314c7331e4565a892fe6082476e47a03f9fc0967d6f679947abb956de044f9626317d2a0155ff4b3f1ca1b9fddd23acc405f0a456d246852aafdb5ab4144477dfd0d2ba23300e6704b723f5c3cd146f41447b24a93ae98b0f8751563c3cc6ea4e216bdfbe9b7356b5c50c8837da805e618a57e72a065be041d2d325c9b9320d112b904ce4fe4588c701f4d0cd742001c06b64ee2c35a023ebfad23e70c7b5bdf3beb44b0d406fe9e33bd2457cf09d9e3f6055808ef3a8a9eb3df71a116888ab6274865946f0f4291b80c7f1508ce3988cd3c0d90d5a24e5eefcb3e9b0358a09548bae89d07db60fffb62444c3c14c4c4d7e67aaf1826c62fced19a703e7732a1fd8d033cbc2f3aa199df6345ef53f6693398b319d98fb2f720512557d9f71a03fed2c575e48fa6601c562ead4317b312fa15b2021f90d646e96e8eb44e5e68343016e64ad70cd1108ec7060c8442e5b04f74c3e692c60d7b567e5c0b994653b857fbf8a3b70d9efab21f7f6b2ad73b6410f11463818cd887182bc94809b5b642e935d3c174b186b8285bb1ca684eb6c7b3fee157b63430cd3440a35a86ef399771303bd53191a1d0ed6b4b25d86c11431e622151e3571d975307dfd12e67d7037476f1c3b1c992442d57776cdc11024f4d6bef078d183ba73b292b4f59f63d38f797248da17ac2b9c1af5fe8b70b09084f862e51a5f83a3a8936b2647b9aa679ac306527360f342287b2261e4f28fcd2a40d9f06c1d86a83cb974933c58114269d9c351ba62336d827bb52454cba87c14e9c13be10d9d69438c6caf29c836300deffbca45099dceff7b0c372ea6b8de2a03265bc8392ba72d54acddc42444064abccd2296d35acb0a4ded2d0b6768871bfe90fd613b75b16f812523c9f43f212435a66479b3a8b9e1a497099b2a3f54831c2acb6ebf582a4b2a0560a715a0cb9ad6a8135f101d976c7410967584939ae15d590ed232c1a7e169cd0f7dd19c67fd1c3aafea7c42d3b449b6d35f1fb399218b00138ee102fbb97c7f8ea0b119690872266333e07404a76f4cd01522e91b46db3dd6f71fece808d915d2609af5c493a119ce3ea8366ca4b48818b8cedd472856018992ccc9bccc5bc0efeac43752a210cb273cb009bb32c4b724752814b95aa4e50da6ae9d12afa919d37e4fe0d3f11824f03709ddfc8e1dacf465d91679105eddee515e66c53c66308737b71ec8e8a1eb7fd16cdbc420c2f9004f98dccbd027849a4c560fde3c20c3e38ddde4998c801e2b38019760df6ce2e6639e7e4bda7cc5b94bc0ac076307ef0f9769e39bf0ff341e2e2c8c1a4cfa8dcec2431014b8d2e0905ee25e1b481338a93b6e3349f4c7f14b4bb71c153746485f5f5e91c910a81bb005fbf7f742bb28077d2276b03309761b28cb48f4cae2b0e52c751a8eec4392503fc08d3300339425fcc73de38d6e8d24a6ea2016767e3586d70ecb9e489d2b044bc8a338f6a9beaaa30e92836a7bab2fc6a55aa312d80b66b949d4db213b355a02e178921aa2d89447e9147467b32435bc0b88caab2486466718d494112641436dd7a6492203e192ba57c5519d85629928f1952dc2bafbd5ff21606e375b1d1c5cb892a17656bb7282f4d716418edca9439460bd6d8262ea3ec7c55dadfd75aae17b4884e2151dd85469d6099546b7d824e15160052ffed26abec69743d2324c0cfdff1024c911416033eba4321a4ee6006a3188e5c04bfdc30fd129b2e76c4652d5cdb56b70c330bab7d3f51ed74b68c3cee6630cba40c61e23c705dcea9bd778950a58114ab7dfc455f2b564e9a40ee8ee1d96570b35ce9b901ab1c855f4d67c7ddbd81420ecaad9110563e91fbbcc32fc8aa1bd1425a8efd9e652b1cc952d0e6241e56781074d165da7af3875f859b1c406c1d6ef9de8bb4814d386d25550871a0e86e1d4e0d61bb143afaad06aa64eeb575f975e2b7a9820b95a1088fcd8cea8dc309f17c9f6e5442e0d4479a5257bceb265292e7373fd92c56304539007eae76a49241c22c3d8a19a62224a30485d00b7c399712c57d2642b4620205cc1dad5eaf8519e54bb28d4b503295b9692cfdd3902746a831bfc2e8961e7dea4c164ff2b6ecccc95c4886a7aeeb163940b2e438ce5e44649efc8163cd0e0ffd3d54095e50304488d2791f76b94a3095286e2ca28c597a916448b61d35d393e97509821018ea82f0d6d196e1dbc32d62f706de8c1ca8e9a4f588feb2c9aec1a085da7a7bc3fa4d9fe4129f471b6d1f3c6b68105de69b0cddc1a61deb91ade89e527566b721116a600eb27096c1e35cf6a3d54db7e3dafd3a4d02dea49c9883c2655a09b55c11552e553134da0afd411e116a8f4d02795eb6e71aa2662cb243b9e84a2f2ad065a19a8b175ad8fd71a178928da7f561d0157a460056402b7afd4126cdc50c2b362c250ab93b7b4c0966cf350976a84d953ce8fd8f98b9be798f5d613248b18e6162a641a5fb3d3535de434d532b0de2ca95368738868bcbe2700b3da60b53989b11ec45449de3e8b75c29e2da92f43dbbe8a6c08383affcd2ed6b5d05c233ce86ec306214bad65746d2c0a5e0bad64f70b24f63c0b1993f3d4174487035f6bcc612f488602eed2365c8091d088a3ff4644103b0fa5a24ee2305bd50a064ba9e356947d953e153ff7ee1df997756dd46e5bd4288016c99d9f2d2fdfaa53207a7c718e939a1b3ef292cafa72cb7a931da3a7197f738c9d227fa1729fb6a32a653c857fd51b447d684c204a7df9cc268e05a17159195bc1981b555e63832169f98fb2248d61ca385071fccc67d0f423708de0a4c1f34a6570b9490c161ef59d3890aadaff40533c43e04e98464c8f8e1e99894ad92b7dcc3c14d6d2494e37d355b71f538a2a274e1a558ffe4ce73cd5f42517142683257a66a8a288e28d35e7ce545044fb58f56d3805b01ed144d1f61eaaa8a96c03b0aaf28d6774b65ca08d4d713ee13d0fdc23b9eb41c07b9bab165d1596fcb29554693faafeee3901d226c14a7c4cf11844bd6bc805b245633f22b8ae93fabbbb8c0bd90b93caa766434a25eb2d74c05d6f875d51b64b1a17cc808082942217e601674439521c42137e805ffd13c00d3af4cdb7c3b5096e84fb7efa26759da57ebbbb03c12d9ba011bf34707795629b5ae68b54096ff38cbb04da04b0d652a29fb40146925fbb47a26da69f5d929823aa66ddeec8f5d7072ae919c07b39600f46f9b601d8750bba826f0110874212c889c79c98d9cd68ac03dd8bbd65e3bbe9954f4f501ded382e575c6ccb8493409096b3adda703ae629413b1b34b47af1a596fcac144c36ac676c149e8350d0cfd04c2bb82b40117f3dc41c4cd619dbf81776e10bab99aaff8d78b293ef07ec20dd413bf62291a094e8051b8b1c5ebcfd5b29813bf713216a059a67bfd3483a1441a60d1484d4825df1451a68e64fe2bba753509bc0014b6f711ad09acf4c2540d18031bf14442aab83a31dff3dbafc301f5c9ef86c1ea9c191c39628ecce57cc0ec676e128dbf11c180a1067b4c3e0d69cb357f55dd885b631c3ccd09810d76c83a0e4b575313f547e87806b31f8f60292a197d804f98212a698eb1067333b5d5955aa2f6883c84a9a8d8950b4140b4cc9c41132f5cb4f9a9823a517234c1f4477a095aaa923bb4d18722c637a447dd603958abbf63e5b5031af877d0f6b557ed197116802c6d466ecee6bffc68ec0cdde83627889c39b96b0e5cdfbbda56cd6b043d6d01df8f40094d0ea8b61e6fe355c1cd3e3ff640c10665e69627208461183dd5b16de954b9609e3ac0bcdab1205e64e3e13c7b950b7095d60fc576a37163153cd623462c06cd20ff193b991a33cf97f64393afe5219c0991dca8c7ea1e37ffec32173466ca6b2c366d61b10bb33afd8bba1b6da676eafeffa19a24c19614caa8dd26635cdf7fb4c460ce2557bd56444270e8fb24885f49f74d86eea54ff100f19ea3bdc69543d889ae9f56ba57d79703436db121ab4e93b37c2b14d2a0de05f176f4b9e5ff66f744c338e533d67c770cbed9a81bfae38f8c22dcb7249f688d0549f51b352117d8c9ac805f8137b056f300d8c450a3dbaac0932cc81d9aca2c13ffd624d3092513ec24eed5e5024a44a18fdee7dc0d59765c7de23de6b72f762188189360ae56064f2c683bbfa450598042a7f51801bdad1dcfa6ee5ff9b5f41a65d0b4ceb20a3fa8fc77747f239f518f3eb2c17568e4e2d2fae933b8858d388f3ec05526a64f7a36c5eb842a8f535c635ae2d87242d8e98457ed8f221dc005c292a571e38045ea0d3a80c0af29dc9c5524ebb4a6e745855375311494e12e796763e70361cdfbbccf29be5dccc452bae9a6b17d4a00d49d9f372a3c2381dae9f8dc168dd02ba8174250038ebd75c4651c39c62eca813bb4da32d2b61c1de95694efdd8a7c639669dd795f411b9292fa71a77c064b2935e29f2948e86cfd65bfa526f3f2d992a95a9699f7591f58d7394a8c8175c186400e5403ae7a2543676fdc8e4419f1bc04e83c40cbfe569b9d7a403623826c1f1577820d612f18f226ee38734529f262ca1b1ad59e566fbd727a7abf2563642bc0e8c78c363a6682ec3f1a1cec4062b891acd01150bf3bfdb480037eb91e875fe189be56ca964419eaeb5bcca10616728551a0a9666084c736def142e42366434ae59dc8b4fc9ec9c0ee1a53a32566ec2b9c335b8f5d5c22f2d328ebd44d222b682182a4ea7eb285b59dc1a2464e4114a7ef6c5630c4659db5671cd44f24012973f2ef826089da7d5d09419e92149b5e8d28e209ae22897bd9415a3f4429729e810a71a06360183c63ca8be2d280f341b3a87a5574b5bc59fc3c330000ff9fc89df75a6bf9aeb320642c88053968aa77331e343f7e533ac7f1f75e24fc95f9c0088685372c181dfd2303bae52d93db8ae2d4aa2fa4c38d20d55a944640b199915eaa6f65d4ad898517296ad7bf17ca1173cb1517a7317672db848c13c37ff1d7024036efc53491d7b6902b3592f8e5fb5b0f87202599722677875b2aa5151267bd6f9929d61b857bcb192432507575526b2e04dfd928f8ae256c715c1ca604259f415393396191d467025e61cb643e2bf8f56e3ca7aa6a3dec3a505a530c4bbe8b9f851c6f84679bcb9b939135fbc49e3cc70071165f6becdd561ca141d4b565ab8995f2b570012d36a0850311422317ab636d4f4777fb367237dab4bf4d8a4610c9422d4b590f8cac5cd7fb10e0cb5b60902204e966bf8332b5fc79de0d9fce62a67aecae23ff40940a43ca7a155e42b2092e015ae8127c89eca7132eae21b28db685cd12bdb1915b7db9fb135d8adef7ae506c1e42ff12eb5ce18447fc6910cdf9d36d2b72ab5b2928bb866e7ff909e42f15a52ebd2fd5c7ae85c87da0069f6770b60658510c78e06cf9d13bc7cad355d92c9dfba99d0d20729c04c5b9ac904b8d8ace99e70403a1ff968d50ba8cae8fd0a51b0d9d38f3ba2c583110835d1eae23a751a3bdd07a02a5bd8dd15529ed7c8f5c8a1429cea042290efcc3bb50929b874ad6853e4e610774d36e775e96e390c10f88540e43bcb6ee7d27ad93bf1d6630963110a0255126d2640f39a283b98ed22e07281822a084286c4b3ba0ea3c9ab6dac5d14fe183328ea4681d7beed44a7579b1655e91b418e932412cba1f8c2664c6a405223beb4a2b7985aad3d7c9d6330e935add0dee136d4eb780f5f66e4ee3db3e626112fc315184e0dad5485b83d87163e5bbffb0222eb3c2aad98b335b7a8e5657a968c4007558ab2e68cf2d71ca9932f050019f67722b077c93e663f89ef998d14f38c184077452b92ec317d989d20b998c17a5f712328b6d70db2e2ee67d3c05b61191e1d5ddd536b9f312e8e71809581c73cb1654dcf9c940502ca63ca88d28c1346016b253b222c8a438c404d23b19d8a9c189607ac4155a041c60d13d484c25a06144f6039b7636c9795c883dbb475c851f38500841ced6fa0cef4140a3974fcf057c048de68d956806511c824e4e53e722acc9cb1fa2755cf1e0eafb505fb19188082abd9d1cb64c3df06ba74f149859b2f69720d1573a79898f526cb016fce32f10c48d4d7cc5a2521412e5870f723bf3020460b3ce1256a8ea7447546cea2f9d8f78c99dfe3a94a01c16c43e5365dc7818d371be5dc79c2377a9344a99a16ff8143b1b33f0405d3bbbfb8974b96e62f07f4aebe76c4011840e76fb2d800214d9156e712040a298c5ddc70b2ff6581d968c388c73d74be02cca9f72a16051f745c29aa9aac48f709b8e461d96b76c06afa9937393966c00836989bc7207376a917170ff46034413b0021fb01b979a150d759c5b3ad643e5cc14c147e6f45df8bd8df6432c4cb0c9dd1e8dadfe5b724ce8b05673dc4bc20f7ebacee4dd23346c9876f71ed5247cc22f83b66ec4bc19b4b577344312626f446893f9a431dce0b854643cf16df104419fd3041b7bcc0770b5356acf53cc584cadba66425c03539075ef2883eca669357d98b0e79b79b2675c61ba2c3ee8e5e09e2de85c200eabf91283289bc46ee2559efc486a61369d1f2053589ccae1761c50eceb5866cb0fc85a2037054ac867a634e68da8e6988e1b323f4ea7dd8235ae25fc52e9968f87d1c72687a6672ce53f24a45a29828fa329f9f061910bd584b88709c1a3dd0bca501660368f962fb7c287853c2ab9a9c08d26a5e363f7765766a36f9843ae607e07b6df9898351737378bcf5ae30067e3ad11f1eebc18e6ba6425b95d3295b6d81f6519fc91316491d80148b5a9be06779c1d35087b30176d18e4ee55e61d89eb57867127cd14928813a49efe4eac82f1720e82f6972177b74df358eda6c940424cf712d6a66c695a1cb1d2f032f4cf0c48acb226968c2156a714899f5f442ac3bbbeff0eac7a1ace88355b00935c3baa4a18e86419fafe06c1cb7e2d597cd2dea717e67e4b64a03f1ca3b0df83959fdca1c7f609fa67a0f93d2e47b97713bbf4dacebbc71fd433aca908a3258d16cef28f30cd7516ed585e1474c71b14bd525b08c0464f3e8e9fa9f90a472b43ff03b9e125006178ffb8bb1d7f0e49fa9f2aa57e79a4229cfb684f590b4fd30c447dfdf5024df6fb7b37f91f24b372c3a7d7604516223cafc536548f09701a1be862061491e811dbc0debfa6a75d03026a30639987ddeb0b8c607a019dbe440a862eaf4a87262418c2e048fddea0eae338204ee366aa70f33109181e4092ee7af082aa602cc7f54a894e07fd6947254a66d8dbd1ffa0e4051156b53998b2ab4f72e2709154b26996447239150662de82ef45ca181e3cb64b366254e9058af6d896172c590729f7cd098d4e94468b7685304cb2f41643c314b050f775c23f62eabe11d55e6d7739d3f6a6331a326a7ab05dcfc5d15666c36598d8c33a0734148ab347eea038d675f056b212255e0816cb8b32b012880b577e524a15408d129e8b7fd8f467f08b3531e6755d9b27bc2ec0a52d9f7e7158fc903649259793456d2aa8ab93305f2f42cce2f0fbdfe023fee9575e007841c4698a24f19bee03b0d007d8c75f7576494c653899bcdf2298ca369e4b6debae9d37c595648532a9cbad54d8966762f50846a37030c16998474e263c7191fe4bd8ff074157ba591a3a8e659a913f9de34652478f31a01282f4c4e68b65357d114d0d8b2d57cd97470b09f662530f18ee132386772f04a1bb17700912e7afbe10741f8d5127cad29437b5d9288a4549b2e2288a70f796bddcd9c8529a858972d120c07027bd83f14c8c0e5811cba27f4aa355f82656391cb7d9a9e75091e518875a31c1081f9294c5035c136d3a82dc884e54ba38f07bcceb45a2591804fc972cfead8fa40ca00f29ddf0afa95949a139bc2d5b9ff4279115420d7a83bc38c3d0b82facc4879cd8803feed6c7d805aadd4bb08d9abf26569984c6f62936c8f6a3829e5b117adcf91f02e305ece25ecf12f7d28cd415ffba24edfcd4b0f93bf0fbbfce0bf8ef7234c3357a3fef5c820944946a5177b826b916a2c14de499754fd4fc9a439c1d9b21605749a9895f53138904cb33212705f121a7f4de1b1fb8c21423e5c5c015780188f9ca299c5b54112fe959fd2eea05713882e5a8bef9068fc7c6a52dc628272802ee310b21e15ace9629f59ccd6267d68c11ef6505a3bebcfda8bbe04ce61829a2965113b3a2d3552f0a9981f0738013cc3df69674171816662c51df5383627bab9bdaff2b871cbab410c065d681aee3b98ba7053728b57428ebeb30309a7bf049554e390c2a4e7c375f5a8148946037a4c682b86f6d4b2fdd8be513f5afc8ee8210d915c0e4cbef297a2dff7055c9b33344e587b5baad0ffc686fe65e465919ac8d3dc77e1b8f688e763567a52237228500eb83aaf7c27fa589cce62841016afde3282c950e80cf4c9cee807b4d64e86b818d67333032b00e7f99bfd16bdd90e7542cd2ad32987f625f277a55fa5d6662bf535ebc65283f497046da5b141b38ab7e8be35c49425582d53289cd447021a67942c14942325b6ad3bcea23c85fd5ade2c23dd5254d64e00b0b345c21278210889d93cdc42ebd23eb5b88830ebc1ae716f98473b5e92cfdc7ad53dfff6901ffd0ec412b7fe6c969b912c94f696d419e8ab4d1472d4d3dddca35f4f94ecba7f1ab59052a68337ccf80df2f353194711e959c92051a9449d5fab59f6fdca35bd2cd6aae41687d8b4ac1236c5bfebfa423ab28901abd1abbfb5717d67d196e4026e87effa30c26d2cd7cb8250da2acdeaf560b604624dc074563ab0fa294b972b876c492d17517e44a0d7d4b9859b033b97e61e0d80e03881f9f93ab036b203df2a41a52a09101d9bcea0f43d5e1645ce793e4168578317f3219789f48d0681c57a515b70bb05f03dd03898e5ac92a318a1488debdb3ef974cc3ddfcb55b85ce54c9dae1f84c3efbb9c67857001a26002e66d60e00e86d78aa1514735941db441b4c9bc92ca6370a98637514cd9304f21bc36382cbf47eaeb408d4d297b6e014b4ad6ab5eb1078588f4d2622814568abbf163db37bc884acb9a538da1f4f4e3b5bc172a13eb6806e9374d47870bbb34dccf6e2b1f4ec62ef46661095b1dce153f181f72750c00cb37e988704641604a3816bb4df0a5e8073cbcc22563e269c02bb92552b33b9e2050321d87b8855bbf87d53592f5715d799c78a8d94221bd7bbf3e1a7ccac710dc2d240ee0260eb4d035be394a8666564871b5636e7a8831597e0c545640de6f00e7deb95981c0ce27c1321f060f74dc7140e22afa28fe4d60769f461a6b199e4d69f862e052e7faadcc158e93a9c3964711d99fbfcf04823f01954bcb44d268c03a2793d110932d169b53855f85d9fdf61facbfb42205b0668c33b0ffa7917abe853c9f937162f06f5d30448d894e2cb980b0b1499b90301550aa94ea546fe1d789454fa961d2677305fa87ce9a3816a7a16950a9e4d6a4946680969ff78551e4eaf8c76c360ab4cd79fbf42b23947794dbed963ba1ac97dfb3bfdde6225230f25c4f8adc450e1d0a336e92c91838be70603131268dca6c1efd007ab520ddeef41d4dad1f918a73e8ce071279ef70f66619b4d0735516ed720c27f8158126b1899af06e752b1e0f815a2d3c2cf3e56ef79b91a6de4efc612f8662e7b0cc1cf635f4d051f902e7b0f2264e8eed2ee54e21e8899092a90ed28f3739c2f1602ef9476ab27de5825a9a9aee5762281e398e49a8adf646e53e1e58cce2c4b195b4a5d0fc2a1c2330a5038219207189743b097958f327873aa348f536744a938258cd00aa95c8c98ad01faa82e2dd381c3103e0dc433bacdebb84c505df569e657d7f7d1b0a3a6a93442691881785e87e33cbae2f0f39ff4a0dfd0e4dc3856df21831e1c83ed129cc1871e7eb75e633af672f619d3859029404833ee870e5ba9dd65d62e099bff7abecb9d95b2a7504060c5069b042491fe83620d2fa0f855ae539c1d6fae2dab95c4746a9acd9ac66e21d2995e2e1857da5b21786fc92f398b0a8fb2b6c68dc04c01d77949a488ae03826c361afc23ccdaf5b4408a97078792442f92eab0a8eb1227e1e92bd661011f1cd25fcd4ceb2c4742ae9622f213ba775320b27f93004d12e65940a54bdf11e96fc2a8fa99cc46c0951a07d02c9653e0ab65d09255096d394f2372d7275c8eebbee43a43919d74de3b5283e8bae6de0652605e222943d874826e3a2b76112cce5f5cbd38f996282856f244fe3ba6ecbf789d576197df458e8b196ea4ef01c1b37ecd03f1100e4c8b62cd45ac029c8ca0d3ae4cd9a21ff798e3ef7e5bb4fd09445ab48074fb0b996a5fa5d97f3335d1521fa5120facd60c30548e00748bbed15b837ad19400f9b22b2e2b06d7e0da7cdf6562ee110c3957ebd01e381f431f1e0ace3cd49013fcf5d1f7cb402325c4fc41e05223b8c1a148408d2fb162f62c8b135317dfaf80482485df7d9227665536c42989dd69e94ba42af1fe71cc1521d151de82bfa01f6847b44361ba2a7e0cc0633bb039219f2afed15862e88f97703e86b99900211f24a0b70b467ff431671af67ea39ab9122976ddc7d078815d44ac365c36c070616021b38f45d3601afd47471699de773d18571604263442767e0fde699c5b0534ea26defeba167eaf8a89264558fb709bb4ec341890477a1cbadaa8abd333d9faaf95d990c9a0d7a00d0bed1c0d249250a385fa2923a5020d10a73c15b1d0d33d0de2d3650fe6187e1d537c2adf9e3f3105d0bfca0067ce8bfff615be8baebc7a84b868dd2c0b13ae0578d0faec32a1da36f577c87ff0c4340497d73703838fa5ca456ff39515629bf074745d3016b9daa66c66f8d1d354caf9fb17a74ffe9275e00141a50e345232e401c26fd6558861fb893892527b620d74bd2f600c19a14e13c8079435e8b3d9f687a72a804e21d74e8d329fca97439a9e9c17e8a2ffaa2ae4cff73ee4d2797abdcfa4f33eacc98cc487a6fe85ec0289e3c27b117fa217719f84535c08df37db232e6f3cde0cf2be3789116c16c665c721a4de5512ac1e2f534cc86a7ece4cbf9a55ac8d7579cff023d6d631f74d6fc41cb1c55d3c5bef75881f57e595dc8f28c37bdc604f71727a8997e4d1bafebdf63637e26fb1c96cfd3f698dd6e0cdcd775e89a4897d13c17c76426f94538899e8c702cad9a98ed08e1edd37520290ae86429482b0d1ea1c34a62da346e955ecc54a847e95e3014dc53b5a0bf5e7a721f0ca1f4ca1acebfd835abf8646e480c0d782b7983bce4205ee7f890fc1bab7d4bff752561423d0855976217f32000ed881249013b13b7563fad70f30836e2e3b857d10ee7e23140e2883eadbe70fe041f32e5f8b0f98b443f43bf595af419eff45af7c3a4fd22f0ee87d924d4e33f4befab463710eee393502e95d2374046bf6a98f3f3fee75683c7a6049068bf48a62a14c3c98ecaf35a5c930e8be691333f81f9c566884dbc2d6818b4d463ab5898a3c4f20720f47f68d91d4ecb7b4eb7e116a860b8f1885d4f906bb178344e90918486dbd781326e268531946bfa27a3885f952b41b85c7b9b0fb84d679fd387baf2ef7649e8bc5d4032ecf88f4dc242fcb6af8fc724eb02a94fbdbb3678024230d1f7a20ad0292c3e2c7f28cc9e51a8ff5a29f0348acf955f932f165f300f0c75439c17e3a66d1595d16dfe6636fd0a59d315e0d3a6b35e3a1842cf28cfd9fb75c3f27e279c1daae657660b3fb8d9f52ca29558217f955c63b9e47d2666123d21da457f7373be370e7ffe58a9947ba63d7a9afcb26b02e77e3e76a98f9e3aaea79b5638382b4867d75a26573be682db975f374d881dd76326abc0365c04bf0df33df5ccd119315f4790fd82712c4b42f5a12013e015a1521e6311a947d09709fcd1d916862f83c4265c2ebf9ca94d59ed4b56218ce28c6330b8d605c68108ff60a1011d42caede6a3eada689c9e2c73d4fb9fe4860151132d8455cd0da63942aa65fa24c16581d07d04e4fe1e19f9df9c8561cfa76a9e15f4a9a566a063440e37082c86f7cc368aaeaa456d8132470729cb511a48130dfd89f552370bcc12bd261a2a0ea4ad03af24a14bef3bfb25898f5e4cd4797351e195d107b3befe3d249120c2376f13f9e179933e24a81b95483ddd2dd9eac539f1bd31d11c6e42d85beb9c19ad2724f665f2f769fdaed47c00330ec5fc16c653908e03fc2f173520a606ba9fcc4d897ef46f830693203982519f7e86474f2890f227ffab58640dbcd5f51e6a46d44d874c95bdb735da573c8051fe83ae6df6a7a920d05ec64246dffac52d66e2f84b5a789a23b18e680b8fab34fda1ce2c35051ffb2aea791cfe63c5d9902b2f99e2eed6da99c747ab0827f162387affcf804209d28de63e88f037712d37d659fd2626b903966b8314618d12b03ceb203290b0c78eba0f417685da82084195e17bfcc5595a3ce427c2f0991e3914db20b614ecbd21f64067c19d98a2848c241f82504c840d70954853a39a34d17cc122e8330acf73080d7929d58c69c4be8bf832b041e1258c689065f9f12c8345cfe5d7b4f783a957df8eb81d8293176d9a5cefe2b04f2536ad129c81a500f14539ba2f08f73d93166f2d4c6c1ce1e1c5e2d8cd1b578f9c35797439673406269f2c3475b3d008abc07e825a50ae8526a5c6761ae8f567c88dcd4ee5a8f91d7adf3a023a39881cff2b30930d05c1ab7572956e08a25e97bf87f88b3696d4c6f8853fda0a67ea4fa43a4c70e655cf85891c55b26ab58067b46f5b7c77500869515a24e955dba3a30b1e32cb38180dd05de86ce670ab9d00b8a32a6a0604501bfd541c77fe00a4eccf3f572983fe4530e2ba792425342f4eeddde963bb65236e991b8f3dee7f2387fbe47feff3ecade4ae703d1ad7f8f5beb2fa2a397b22403d02fcc2b17b5f4478ec985cba33bab21acb5795933ab325cdf2b259945a9101c8885cd956e2b38319dc91b9c35acf5dd9b46fdadd1cffd024644fd1874b2f9a9b4c1e0af08da67dd6952adcdb83122f0a38f3dc850e53a40a5690dcdc986d123e36a9920b7869d13b2d666bedeeb74da34bf4fbef8b3ccc754fbcb097c510888c192957f7561ca1734b7cd28cef8a4b54693e77aaa82e373f30ec2ac10151b1910b1f8e4940ed374f962ef6099eda6fc363338d48fc39e9490e5845a7339f09aa18f650b7ab1d99230f9aba028b2de34816eb25d2ef23ff3526dcbce0f52e2bfc31b79beee8e4e22491aeb73788e0cc7038ad1f2dfcf409b7460de5a09c364c5b4e30dbbade51fe212cd6f6e0577a3cd05c7387c4fa93b46f0baf4840042f159b79a23cb83aeadf24a25bc7532749967a8d09fc2745f714f08f4853174d5e9b0d3db2c8c29e0835148a1838437358e39899da01ea540aad344c8fdccd78f621a86483a33089ca8608bd738d2a22f4b060f691d514635dd0c0b46316a4df0043b12a6511898af39f3aea80fd77b134c63d8e6bbe6ebdb0cbb406dca6598660f1cd636eed61f3457d2f7ee9e8042eabf6d5b6b2f1d191bb3186b3926e1d2c44a81961d93ea6af43d17af06b8698ce28be45409f61e8601f30ba902281d0a12e143bad3147f498ac2a889bf0368e8c8ceae0dcf3857e97dbf6ae4b809314310e9f2bc0aca973b3b4b6921cba25328618868dd5099c4ee4263e1c68d316eb257eb6048f88f5ef47ac45364b3764a8b31cc889ce61892bd2b3828676c99c6affd12eb6822a91a44c9a274e9ca0737149e92a4e6e0576ec361196b8e2a8f3a168a2406e67f369eac6c7d0247b4f4d1d47fcfd99d50c5d56f6fe441029643c6580fe7e305304a01894e1e2f4f06607a071bdaeeb9f85aa84660b35b10cb1b7162964d2530a3627b878f684f8797a0c3fd19a8f8c69d154e4beef08972151a9b1f305b9e228f0129fcf468076b771a003702b3ce08bc23f23de7ec0b1d14e3da61af99ee3e1f81d0ed26e3978315ec5c07b83e02ee14b1dd8c71f8528b63d35cdbbeee16291ef13f4780bf2306ccf843bb884e7e94588c71a62be6f6b3b2e5eec133c65b4cc120566c1083c8d39356d220ffcb425e9ec8e4352bd47720821cfe9efc7bb75f19f070cc083b76c7b316074b993380353743222b146dcb01c813d10c3714d875cc00e8c08d4206f62bdd7315c4b324fbd1f48dbede0a2a7b7e32c0ba45500430289bc2e32759a4b3ffe373dd1d3651b998d43a9c70ff2a938b0970b6657332f4b5c76f194033090e1cf6dacbafd0311848bbf56bc60a2e9b5b041794b902b6f25d315a1e48a3491f585f3205f695379c51250b492804effa8d84bb879eb04059253a2891ba211d854a1e2937ac3794220ebf20bc3af5f20a8922455e626d28d7830ede94ab579a362c162d2d2bd9f93c3af8b78f791050608ab0cedd65a8db05f3296786f59a4a294ee2314ed20a7e51f57785e31c519c70b0ab2536b9a8d2e61347bc222073163be2bee5201eac00ffd6af2ce1accd035acf52a0743ec997d2b1bab8d528e5e94a10fb39d0e6f5e76dff72595503a8ad915b127a494cd9fc953d850f9b1b8d2231c993135d3821844b84070838c933b7244fbe5d69f931978f60a1a23f53a02c4e067d200bd2897af30d87104a28e49be0b3fdf1505f28b911cae5a8cf5576b576d37498c18682d80ef48a2d7c1522020c62fdf5d3c87c34241a46ada5bac79d8c3cbd8b766ee293abed667bab9d674bf2cb83df62ae501115ef155b6fdede0360ff0384f3c88da123dd68810b062910219ade7be063ebc786f4614471214862c473b0512e0e1338e998dae48c795c4851aa3765b48e0f1208161032054312e073eef87ecfe3f01b6ef3bef3d1e4b21ddda7eb845975ef210c8d8a2916c8a05528ed683819a6d7fe7f058540a4709d5d424df00969624823e0d7e1e090018067132f478286b32009b77fe53f83253709cd637287306f608a24f1cc73d8bf39dab31d90c5a0086ee92d66a1aa7a86742f0948e1ee4b233b6fff35ead0c42e4d267b5f37fe503824d6821ac78a73bc98af9836d2e5e6a120f5ef49146a066b33d4cfdcba2a5b59358e5d47e81d9eb1b2aa6f6e081da04a2f36b668a86606d3d265ed6c699754842391cd4c051b53c27b3e608f324cbfb2b0b1904c63c86231806e2f5c8c9815a88caa08a190891f18f192920cd9f8cc5a96a5999ef1cf854957a83aa3125711b8d99e3068b7c12a1f4dfecc7a2adf561e6b20f9406b64dbee24f757080d1d4a749ff806d8265980886cba66a0e49387f755e7c553cd1e1c11decd1e6b0a5137dac5468a00ee2be448a1578b804cc315f3178ece3dc57cf2aa0a7af99ab1f63e5356994d31e713988eea7adc9b9899f907de3fdf618ffc650f0533934a7050ac11847087925d888881c92e5904a72d040ab51bca5e7884f251213aaaaae7339a5bba01a78f643c0d82f1da64e84f63b4abe11408e9e40293f12d92c5c9a907da3f2d09f3e331ce285289959d842e21a38b4adc97365742448fe1d2275078bf9fbd70c2c99987713a033dab43efd564dc942e845d01f430184f9b0dd7f2a2a5865110aa3b16729918a54aa35b56aefa009398d02e6699ecf2105c65bd548ea2dffc8bfc830029b454ac5baf41823341c9d09b8cc324ee7ee79cb9d850ac9afc6a4ae725d9701e8c3fe6b1de3dab8a5e23eb44c1c52f7c70173d380da6e9ac0f23b92dfecc87df480fc4d19e4d299fd76713dca017586e7cf920bf3496524b0d98c6c65549e12f5437816ef606198dafc64d639f4149ec197514d06ff28d156ea632c155a96e68f9d16af0758df6006105597d2a9235eda41d9065a5df672db594091b347f368e8f17abf2ed0f73cdffaa5cf7c823c5ea40e092f12ac8d6eca92ec94a613ae07c38c69bf15efc8f9aa13dd8466fe552e3c7ee9c2da1d0ca1bda4a06e60ef8375ca6e97076d076cee8e5749dd66310c67adcc8e5991eb1b05ee80e6a1738d812e077eac971cad00a22af4bc14c61779f36d55afcecf6362a5b79995ce69a3fa6ae85af5ee6fde794ea7686681af46a5e21f4b4cc8d655b3fdcc174d8d216aab267ac8be13ae4061b5f2c48fc882af62c14c7a63dd6bb7868ce53a435766e0e8c8bfeb6f685fd8bf02d10c2c2696279715f43bbd31da5557041578e9e2b607ce7d91d4241439a729b8bc7abd78002469bf8c0ae3f37c5f3d4d1a949307003031c6d86b1b90d8bdd2098fc6b1d5251fac83dc7f07a502cabfb78cc62ed194a60e653cf67bdf34349b1726658c11c482cac89106822b67b3a652afdcd36ad432416c2fb1ad50b3404516c72d924179883397f0f76556227cb87bb847cfde6e8641011b961f459945cc5ab46c9b2279a870d328b00b17c3b597690d48c6dfbb719988f5d77f5c1f2208689cf6af04d6f2feef1c0dc7eefbee40fbb7fe38005cf0595e5e0cf0b03205ce7f71c1f2da0e93172fcf9d5b24326f6256faf7980ac585a0681a6dedb9d576b067e307b62f48cd73e2b3489e26994ec65eae3e7a9ce453a2c1eff80f7297a9035bc4ef4abe021551e071ff5d769c2b480d6a44d8ca6c81a117da5d01a68096819ee1b06949d620831340a5d386643a0c052e147e52515da99d8702cb7b718fa33ac24212f151dc6c15b0c811886aacd32da501f36292fe90af08984ab7d0c7223d5b2792041f08871c3ba6791b3dd6d2a02d5c4e8c0b1814ee65dc0f52ad0ad7c55085c9860d33e60031e9b2c9202933e01bf22603a523da9a003321a4f1edc3f22d87c5beccd3d47f970f6f101485dcf57371f2e0c314808a1f58e03aa2539fcc6317217f2411463a24f09be39eadee9e80ec3eccf89ac10c07cd574985200ef1818a41ebd698bf3ca32489aad9dd2bdfc54007e1cb6f0105f02b0132be9b3cd8edcaadbba5580d9b218a0cfffb5b15468b02467d3bd2f47d582cc49d782ed42b28968bf3569a2aa41e6763a2b439170a2dd61b520bfcc6951014b64ca155fbf23d36cacc5c6cda3ca271706d5d2f3ceceb961012bca1e30ad0fcce801f2085b8c648884c4a32047e3fdf499ec6b3e30eff1be923a0fe702e3c965f7c50c23863a1bb419ed108a66a30b1f31873c43d3155074aea41b922b3fb6b52468f027698e43c37e69f21441e3c01e351d063176219a0b47c6db5897b45c1b85310d3559d3db44cfc49063a038bfc35d6c95f683feb0182eff2a892b9fd0dc68959944e8f7e8bd629839f5accaacaa84b24cdcf3149a03a158bc392fea07268bfc6f84594229dd2d6b84c7b5023a1122729423d660e46256c4860338f87180d42dd62d94966ecd08dbf9384651a09e18587f94f16d63b7159e82bc2e9c1c6c74da315c1e0c415ae476157412af299cbf34957e0b982387d94846f5405863cbd0fa8124123a9aefd115305b21b2d644fc1457fb95eaa2a04cb3917e486227c06f60a17ffdcb5946010727451bb8d78dc3ee0bc975eb0b835f753cffa707a3cf2a0471df8a829b5ac8303e119d373a02593d79980de57188a7cc0e20a8fb9c8358741b3164d7dd54b7b6083b246d1a8a87123e3bfaf65f5bdf3b730f3e8797a00b9769815fc576dfd1311d196551cb52c6882547d4b2b85991845bc12108406bb630186cd626d4821b17c0f3325cd6f0f92c3b57bc3f60d535783b02e7d3232d73237217752d0214204532f343e805d067be59d96868f2356ea4d11eb3967731bd965245835a8e216652d997554368fc9bb2afe390fb35b5c2edad72141bacef399f7ceaa53854959cffcf40d40d90df33b264414e0dc0f9b86b054e8715a6e421a9443bed378c1c31a825c691bca8d9d17d9ff1d888d8e98ace2defa181d1c92cee664789a8103ce50b78f183beb4d76283e16812fc1e84e9b6ea557ff943d05f3284c0fb97c577aa1eb22f37ff9476d694498bb247463c30e2916a46c369c643f5400e67ea8cf619e101c43d12f9f336a4c708b3e717879b718a48b482e6807c620f0d7073949a10d1276c6ed15904dd8c3bf63fc9251b8b0c3604fecc869abf67bbd2c173e8207a111688a04a4d634de0cc20684d25507f2c89ececb8bef467f7a4cda00f7cd145f25aea49881faf667a57c7777fb160153c78f7cd197e02d9fe41b167d5722419a2e3963119f4418d25bb08c4ecc82f0b5b6e8c16a3239d6077aa2eb4c7f9ef40578bea8dd2e0ca563406d9cc01792f5791c081dbbbbd3a7b2f0b43680b3bda00f99dce6324f726f75cdae9678d7e07bc3800e9e8a56cce48207d9453d93eb2d0f49bf6fc622a161bcaf248bc834811f889eab3b11dc53e65b76b8767305ffb908228463385964555c9dac1805c37c1fa7996558685c1b2bc6722d21bd004afaff9b53fb585c7ec0b96bcde0514607de0520e4fb51a2182de72c3407aff79e6abaac63e9fa9747bae2cf36dd23a10b58a715335426ab46e073345137ddaa9f36ac48839f9a3ebf5168badaef8761a30d682b2fc064a571e495460b20239c9a45eb17c6973fe971459ae85350f52f1308894a315d689076deaaa81affe25ec616947267e9f91872ef8f46041edde94ec719c5450fbb4419cf577efd7f6489c780366cd496a7fc4ccb8d73066a5c27d93408535b108147f714f2f0355572cef692dec548fad14c732509d1b38506d596f2d506f444518d6f89feef66e91167141a3169012467b3e0034763251edaf6233f322d3813ac3e1fffd0daadcdc295551e95e40a9db76070755d231644392766d1a2aac9d4ec6c29fa3ec70f817a7d6c09e8b2ca0bc961990517e24a187a1d53c414756bd8cbeb31d0242c98ccd91069f88c8851e3c51084402bab98b43056b66a85d56b28780adcccf0757c0975dc35cd7149e86d134462ce4527502e390d286d7b9902ff6011626c204af4ce3256b6244103bef32027131ce4600d64f0098b5212a4d253e195b9ba2b4be946557414f316582cc3318703b92b71230e0f232930bb4b3e18afbb7451ee25fb7d21366836c45eb2f548111aea598a7412828aa9ed20c76b0c873a088433aaf84ec7926e59e800a430ebf79d4417494bc2e750b7a848931448bc6517dc288633e9b5c1675c4309b4e2ff6d8117e3d3b66aa4d1f434f9aae06cd91586a3a732d282b6c582b2c81ed124bb6a266e908ad3f9627add7306a4862eaf0ed0b2e0da85254302813ffe084b78cf7fe19735860f2b7d13a45c9acef446dda59f69c947cb4af3d4df0752fba51463c3c0595e63520257924e9b27d0f8385089d607eb863dba36c966b702338a653977a24de489a62719f0d81e1d252d7cd0d63ddf7ae04800b2eb343348a9b031e0e46c8899b15947d02bfa15847708ec521154128b15748e02789ff5aebcf071c58d0d96a31b8f45ab485deaee295481286057027d16af007d66a9c60545a1da5ea46a34d2d4e6db62590d715b35052199721eb669a8ab621c10d4cf4b8c3178e2953424cacd4cb2130d82776084e8358405c487e9f2362fc78a5976022c0aba989025cae569dfb7021af6ddac7c36a416ea53df1ed3bdcdd5da54755855d490524bfd185db9de54a240da7ee6bee1bca13a902bb8756b7e8ec97bd9c9d877f30650df70f4f4c4d0cf0e58082a3d2b740ab40785346a40c625b20f5b2a7f523aefb56b712da2325acfde6788a31418ca8212968dc98971c2ab82737e326e4cfabe62b8a5e4a9b9c77c9e007e491a35b1416d1cb9d722821c790c9ad6613e4be2488be79589a1dec35ab2b9b8c96a419e039dad3643dd0901af7f983d6c5566756d545c0c9370a841be8684e916d9640bb2bc971cad2adc50518a363f0046ee9863d01d0c4b560c29d136385f4f9ae0ec8d80057a15859ab3e10d9d3710ad694a7df629a041fa7ea0110441b793d5350cea6db4cb9784b27147d63f7a94e3fbb053689930e8cbe522dc646daa4bc7c683fc96a0acc8f60d4a96f9e35c16e9456406f2ef2d79ffa7a4238fd567f0e2cf643b172d9671b0ddbf2a05e3c95a657c50671119c845781409c994a7e0be93675086976c60637c604df752e99e339b90a55e6d23c61df48b1f555c2ff4763867b61047917a6da7a42fa5c54106ac2c326accec1c32dcb8639f120a8df4843c310dd814f9b81264860522effe3ad07f343fe1360f22ff5cbec8fbe44445d5b4edd08d2ae3cc098282ce0fe1ab0639717beb31371f8d3fc6605700bc3a7e7a7a188363bfae121bf9e98af4f9632727de4eaa33da55088b16f23746df0bc02796b5648e227815633123a2492af8e81147a4509acd7611cc0825f216d1ede162a859c9f910e4dc7d87b81402c5906bf00aebb6993381261e93df888454b270f4553b730039d98b5848ae532f42bf3d7dea153142edb5818da87e3565e73cc8ccb75204175ee5ca3af89c04a7c5027cc6a6b964e507862e5c2a5a0ad58b05f124c01e9385511c8ba66515c0eb4fee88f1b4442b2d4ca507e2a8def9391f20e0920744458bb09043dc351027782280953cb5f918a48ba0ba3e158f57d477319191a3a408574d7aa761e9ac73606250580856d67b2f17cdb2ad74f67da574b3726b3993cbc1e35f0a5797d986ff4b4db8d014068afa6f9493c60b34c95a92071bc24f9ecd6596ad6205c6497f121d05c1851f48de0944cf56fa92f7ee092ee9e10576b95de25750999feb1c78d90a5a12b59c72b3999c56ea5312b733333235048ad45846eb6348f565e646b571731b024d9cbac0653e14f3d5d983be456a01b78bf45d22dc900d1a9a7079757f8b02269aa1026e2ad7e48e82a19a047c2cd494c4e4f3895420baff36b1b0ae0f9db54a63ee2a570c935537994436615ea434f4b9ceed2e4593e90fe09a81140da8f66015aad878469237b65fe50cad8a395e051c6dc00b927cd82a00e30b750e6a3607bcf90ec6491b29b863de458c15555e6e8d4da41e5fe1b2db72d351d51323b5b9655ffe4ea3eb192beb51442c09deba6ad147626142bc6c99ab2febba98852b6441ba931e66dcc6b815d3f3c72d69f7b08fe83a2fc500d04d6c2f772bedc9322541ef84867c583e101d0b409980f300c31da8a8a7cf882963906de87627b5968dd4036b239a49f6633f6753f38088d67fa0a6f7c4e5abfff77a34944c42dd965b7fb2bc6a75e79e122fc8cac1493a3b3cbf0dc77220a447cd8d5191219c4b5f9e17a1e465f00ca9e603700e97d49f07ab659ee02bc1035c5fa534100f2b2b55014a8036ab00f7e6cc08c6482828663d91408160ed0dc2330038718b75a1615251231c7387ea54bdc38d2307fc09f66b0d1f95cca241868b7bdc2d594dfaa8af43c98fc120836633e1fce038b0a74c2c471a88b0beca16d0e932c911b64f2b77ab06f25ce3c64d8beb252ff83758398061fa96c2c5e17606e5b78d8590b8737f727fd074f3c78f88badaad4bb8b76a8769b94b483879e022e94d375fdf9abce0a81ff819e98234779026a38e12e8b862e1a5459b5d55916330eed0e8da0d185a70d23a32b0e44d2c6b6c968d0babaae73c45022bbb4f541b15a900a565ff649e75ca726d0b21e0feb46f01ce0b9ca73e175e84369b6f893e582d701b61b080f95bb76d22226a0d474345a282e25d0d1d23e28bcfa1fc72b1f7a94fddc550aa7c9c94da64d7ba6484b63697b53faaca2e03d900a3dc7be55ab5a8003395f649b9b5be0fd22ce5f3586caa52727cd05aa4fa532065141122e6ea5480856a47abad2c3e3c08221354519652da86262dcd8f66a84c587552b9df4b09ce6c95ccc64a3939d1ccda37dd75296a12d60b0fb2f6c9f2fe30491193111eb285e93e71729a9ad413cdde9600d2af5f37c7e80df2a2331546c4e0608090b36e60538e756a07426bbdcb4c3f6a58525f707654d2ab730712027ef6a2e1dc63556ba90caf12d40278169099905b12de18c8f9e1deb86a8fac01266f36b76d9e66cb7793302ed691b1d0301e06cc2ab6954aded4d7213522dff8c2c0a9adaf775170900ff6b70909f446009fa8bc9400f568e6e492f21f46c525e4420005ae17dce1eaf121e3bace378c5ab6de17b2048ac4153aff588180f62a6f716bd4760dc75e72922c8fb695e1061445ea457600cb86791cc872a78f6fc7db25f3dd88570e247a70346c6ae5358174a3de2007536bb655b7c4fcfe1cdb75c981ce5eab11d88dc2cce49c7bc83578c2c0e9b1f3fc0e04f156e076a62cce348cc8664df3f3845aa560dad8668c9af3d9a4051b9bef7b68e2533ed3882b1f1f02d4b4f9f082d20f6df35d5ed69c474422429e37fe35becb23831b36566ee48f7059265be678405ca3103c29f154cf661044df2dc582e03ead7e5172bcc10e0c3ef1cb4b3f0e241485577ea92926d70f3fd0142d8f1a4a4daeb55e5c8997f6f87c9e12b95a6610e5bec09751a3375eaf4bc5d123b2310be09c2dc956a0867563febc9607c6fd377daa602aff1fe44d667106ee1748d496e6cc2ef6710b03f0602cbbd75433b3ccef069283fa9854256e2f1af979e6d9776098899e060a322dc90d6403555e871390938de015f7fbd59a4d70a1bc39a05838789b35f862996555d687e63d97cd2b7238f08908a186c5ed4e55a458baa9561b07b433c30be187d7a7bb7e352cd5ceffbc8d9d591757c6ae13c0d562a60d3fd1b7e3f1d8d8ab1ae7c6da44fcdace036f953ba7d5b8534f1493adc8a04bf2dddd20ba15f7e5400a0a4f64981011181038e6a28c78329c6a4dbb8ce603b1d8246027d14528bb0d1d88ab79d0b8cf182bc1d9f3949a84d9d0c530def1c38e99119ea633075b4f4ee7e870453002fb7b8319e3a89d023f08b9b1323b23743edf8c53d2e20f1da3fe8a49b456725719092535b5d0f452576e8cc28233902728f0d6d2904ef63d5bb97a95c9fac76df338fc020297717914451e5123e2d09df1e7c88a4182cb5dd8e417e2025af5bf424a6124716764d86da87b4c09c2edcab78d78e53fbf9794cc935b9fc86658e709230186dd835abd5625a92f0756f0efd2720d931cc68a6a5c1dd6446aeef0b4f4743cd70905d0e309f81541748ec3954f73242854d3c9927923aec5e1c72354a3593adf4c72a8de2b6b14b280eb14c9d3567a8dc7f9064a9b3e511af9c88a5d923ced00452a2b4d065987a93557970499e8a27d2eec83d51a61f262e1b7f151630ebc7439557916de4edd2a879a74c6c35fca9c0a9edef5bf3520d5609436ed8740a397473d3a19f4ef502b73e3ac04bd1d63427c2b6f496a0aed3543565e1e4a045f7a40828e384ce4579db1b589ea835097bcc6a57c3396bd16a9fc225df598d0c20773807805025d68c88616bbffece726ee82112b041f8e42772cec8cac56c11c195637b47a14dc9051b30e80d894e8037919e88848b5acc3f89d11768fa1f1a2e9cbecf8ef9b064eb3e3358bf323f6481de399c7a337ef2ec77ae54970e167944429a778e4f5d262cd5e2bb8eee589d6dafcd607f3b3ce7706dcc1190d0cf4ce874e8e559d0710066dcfd559310926e0b65f6c94cd78f824868b4844e1a0e435bf3092be70536dd1d112e76d2003fa1c39f8d86e1bd826e22c7c8c2f1bff5cb5a8f1937a5a43a54f7631d57c3dd471bf7045374262a538d984dd2a3d1ef23334d20ed7d797c1a23896e8ccb2da5e4063b10164b0a8986172ebc560a47d00ebe1e77086df39da28386c7df15a707e86e253c0cf7af7a798ed68e638e8fa049e2f00467c152f17f864efb7eaa1a01c20359a9371be56a550d514a62392b9e12ccbfd34ea567627d2aa3d9bbb04e6570a1f1a462bc0210026d34f1775bd95cb2c17a3d05e5ff55b384ebc742a742349efa4ccacb04437cf2bcc1a600c1a1b8215ee9f53456ed39f31f5b69e089176e04f597e57bd6c3553af9f722e8c756801f587c55676edc3f84181d7113edd24158a5526a54aef67caaf50b6968081d9fa542d789019e6ab0fde942889c3c098b4b800544ddc77458f7fd78cc4e06d148dce8c0b2bd3e22d6ab3094e32a1a72ca89d7c5df4df8a43940a867c580594fe090426c65c52732076bdd0e6ac891394495430a95a24ea3d13cac76a5168fe5b88453d25d008390768a38923d8f4d72ed08093f6278ecfb2285bf251234dabcc2d069e10170c26a7a29b106f23f68052c035058fb7d5a01386d1e2866bd41336a17dc130c6f6563bac5fcc5820ba25e43a2480f4bcab92a190ccb796c314bdb7560c474d79b9b90448dbc1b886ab6db5dc8de6a000434e1910f8c007e9189a4f7f9cc34144d6259ddc5ba34053db19d5cb194924197ff1b06cb18693e378191327273a78ee1b8f9b64ac545b0d02ee77f31480484a9a217a0c6b9641314252c314d3ffe834162ac65b83dd02d6d354cb657d6a6dd20265a6ac58ea32a784640baaf21d9bbe813866ec77b101acc0c85d67dc7a763bddbe1e5a522b77259b20f7a2018aa1940064548b17a291f0915f3c214d45905c280bfe8c03552c4176daa4dc0abc050b996f305f213debb58a940e4bef22e401d600964b75c38c060b5de1aacd08c3e1ac5382f38675bd0da3155d4a5524ff732c076e4e1cd70c16f4035c4ea67a3c714ec37b7d9184595ac18a1d6ba5f30418d943b7bf4e9a6d0975847c451a5c49c203e000d67dcf7acf83a06f79949c198255f473994e50186fb1c1d75885074f20d539cbbe351d580a752db3750994b3a61e42233c5da90dad74d24fcf91735c559177a4257fb9ea8c5cfcdcbc913e9d6d56767847dc73ea8144b4b6f5815a67fe6b757e2209d65af8f07b7d0c1297f01c384153b3fa32f1a7a88a184cb5e7222076d32de16082f6d1d09fdcef70d1fbf7b00ee7da303ea53b2342c1cc09102e11524cac083a7ee071dc1ce857e630a0b600ebb201b5095c99653e4b5bd6b217148f3320c0fd1f17f382f98b59ac06d21a131899328fa99341624e023c101d4770ac2f34dad21038d1dc29bf0f46543aeee2b2a0df25c6431b268f3fa7038a76c421508c2566bffb39c1eb41bf80179db073fe32cb95f381913d46edda4c9176b61fb4b6a153a892c157186957a27928ea1ec4164a9075e900d9c3ea5ddc969cd9b92835d6392e5ee37f7da4a47a11574fcf028a02cd14c623277ee8fa550e7a58791bd756413cc3e3ddb835006bae4062033208b4f49981b79343fbf33a41830e93e300ad4117470d02ee677c97cf5a5d9c958ebc086ad869bdb6c158bdeaf731fc4ba338ef20d404390fc02ab09202fd0065b812ec7f2bb438c76b295412dfecd158ed7229aac4133507b96260c12f00acc0b3cb6e07e960e49a6c9439ab8c3745161798857f071bea08a78dfdd2564932bc205ab39cd82604f385cf7d68a19d50a83ffeddde2d19ef558d43b0fb15173a21f485d0d0377db47df87940a588b43af17961ff2b45b8c6c4935427e23c0c22a683ca6b1ec9b1eaa3056655713eda819b06cda8b157a90c741b9d8f3a271bac9142f0d5e83ae9dc1ab12191031d07309ef3227b0a2a368507d769bb2dab68eb7ebb3531b2e0c48149488919c47486ca4915d8857a1362625cc0e748fe67230ee2c984339815107a952efdc8d11a360e5bc0f946c6313406e6f5983707deac9e1b80ca27319e1ee0df05f0f8b26551060162a8b143a48616e298ffc32c18218e9bbdbc309138b419893734fb764c057ce3058a5c5ff20bffaf3f5a90a8ceb12ae565adc868a96e06a8c016ecb497e1d20a36a84d548efbf60c0406c139e961a7e9bbd03333b90a9e13e8c2a2d4d9400f6a271f81f8ea2c2f33da33784a2515d7cd962b77e9adf66fa5fb798e2babac5e8dfcf0280eb722c2ef50293b2e286d3a2b4fd74f34e6180cc29b3132ad9eb16739cbbd663e1e80019d1b8ec523e07be4aab75f08c4575246e1fba70faca54560d7ca1f40229c13a38094a7378d6f33f57fb814ecdb75644cc08ad3ba3242cf94f0a8ff09805620de5e8eda7ac8ca45f83c622cca8f6eb84324bfbc255bb65c38411aef4bb7e89de302cd381e1ad9c1760f8c8fcea1722b69ca2e05248998395e15414a63fd20e530582fd4c2a1d64ef799b5010fc1c08409ba4e5e62a63d1a3eb3078ea0dfa649b6a9bb09cf593cf22804111c4341abf9c59bde4d66219dc66d7ef328fceb360af52702f801e730d875c8eacc6ef40103470d7ffdf06e858697a562006915c0c9df441a7d9c7ad311ef44124ba04777bfa70e6a371b115a294e92d0b8a76ec9155193f6bfaca86fc0a4f63445914c2303b18ab9375471120f4f648d5378115c21ab424f57c738bafc00f59e9f9f1984251bcccb03570fd03755432b4f5180d45a92d7cbfc7a42703ef4b705ba791bfb6773f2bd95bd1281cda8defddf3bcaa71865506130e3958543930c76efdb0e89cdb0083b8833da05f0ac5b8ebf3e941ee83ea50ef350594ba41923ffe16dbb6a0be5992899846f5c731645bd47f819812bb00585a5951d22b1a6c66b08c492e8f7607c9ec8e260298828f320c98cca6618cc398f199895726bebd91bdeb3e32c042b4224acd867a9b2b9ba327861ec4ce1e3a6bbabe8fb2b36d9e0a829af5362e67d3108ca94c350a4c9fc1bcb5df8ae19c237cd0b538e6942a0f3cbddc3634ac9bc8eb1f503fa077177aa79a9ecf8726428ccdf65a5c82b5cdba003094bfd8a3826b1370527dd6a508401c12adc3bc529094e13b807227cc209eacd684a21f733d2c7eb37e134c7e1ab0d1b74e37d44f506063af6159f8332a4b2508676f3f4cf10d10999378f22cfd15019c3c87d368d68807296ee2a8cd74b4ee90df070f70a38affd3bbde3080ba532eab068cfdc5a045e2e17636c4cb23347afaf19518818b150764a7e8a9dbdb2703181049fd38b1b9540acf3b5c54e3d800ff5f294a07d4355d9a770f3ddfc23c550e03a4a6d414886d9998c4afc526b35bbf752926267b9ba424ffb19d4340d5ace38602b80d05a68308aabd98c2b5048cdf7dedbc30ccc9d07f126e9a212cbc6e0ac485bf60aab72ae5f6374b305bd7d666c3ecb2e1df7f80e82e16e0ee12e766b363dda79b0914f71a124bd828350c95f735a460506c182b351e4119d24b20b4630bf3d2bd8afb66c15109db60c656b32d6308a6025a493f06ea5ccfbf881e5735cd2c0beba289fc60c356b50a314dd34176437a7d5c434b5d373b43eb70401ba0f3fed7f7f73f2b5dc999debf01202615f1c877346b0e1e253c4b68852dbf10649f61c1d09050a3876363c91591d6ce6bc7e7cc37a4f435c23613b84a0f8408002d1a14c7dc80196ae4c87a3e529538b0e082451af041e148f2caea9f400b07e9301448cdc8370577697537f6b255c3045c77e0a663d65f20984133e1b95c746b08b5f3f15a61b75345b828814953100f391b0864818961738f8f4182d9c93ebc4479adb40f45b53e4890393501206e907d0260eb94475612d1f317ab2e045481c027784c35842ff4d51a2601bce92f4d76cc45354cf4a5d7db918ec3ad2c69da48de92e302a72b8e84e838a0d8fb346d3af07dec9fff10b89d6b4d04bef248ce74be0a84636a6b399c9222e1c53d309b4b1722ce07c8bd33072be2038fc7e93ec41d88ed6835fd7470b1c46ad608f1bab5196f6bc99357937a1809986a5cdafa7851fea462ae38a1eabb048f3310291a3a676de899a3bd6e3904384b270b43bea03dfac224b8c59e250c05685227a190d11ce7cf2389f0033a53b044f9136c1d4124205c1d27e7c056bbec596f2cf798870e9b4340c298731c431cb8faf7ac12e0e165de1aaeecd61542758635cfc04d4ee1da0635327a930659062a5050c37aba01353ae6ff4a997a0b9cdf0c438b055ecd77bff691ab8b3d8fa12081ec1a7e2a9ea537ab1478ce17f6d8587a526730565ad836081afd1df13350df066efa4d00043e88d85ec988bc3d3f9b76599f6dea00a5c1d41b5199b42e97ade38ecf0c1b6d8082ee828db4bd35af8d579798cea20af094da0afa4214b667751709758bc137dadd107d71117bbb27f450b269a295dfe02fb580527dc96f1cd3bfb356b0c0c5a6f83392f9fd55b69f796687be886b5a1c886a7e50e0e0d875cb1378e3a2688f75f7ab2a44950d2102694467f87910e751cad9946e743cbf3d3f2724b1dc21c2262b93c0a1dc07864d7cfbe0e8b6787541141bb6010084565a382b15a22ab5e7ccfa4708ac435ea13a014b397898168519155d85e658d47ee89d3fb38f674bd96835579f8a7eb39071696ca20e8ff6bfaca12d8cc57201bb54ddf77e218672a9f469277ed330eb96537a37fc4d0eb37d601c4c6a772986cc1e0ec4a79f10eb003f427650bb4dc0070134286eb7c71b7b8009b7dd7ffa3f6335c89117fb6ba1be592a992a1c93a0c634ccb14f1891c7a49be03296aa4d524cfd8c0ffbf97ebc0c3292b501d2fa620b660dc932260ad080b8fa7c172d3a2067c86e8720c943ffe18f494adfef06df7f5b3323d4703d9b579a70c84408515cb5eac1bf401111b9630766c81cd0b1c251ffaa838edf32d261b209807ff5db01cd6bed411c670505db3108c7213861dcbad08d7e76ba4c5c07a13ad1a45e8fce4eb48abef7ffd3f4a00b49b3f1ce417ac4d26fc64ca949a565c4b53a6876db5cd050cd5363613d0dd4251a0014f3144cc81991c850d9bf232ea37fb6d23c52549c12ef1b070c56ea6d671b3483c5e8fa780519bd7d9d921bbf0657568f38c2166940b06643d800aa0f32969b8a4372281ce3f73b72abeccc8ae39003c352dcbad3d240e05e8288265fc3ffd94061aba89bd3fba2cf07b5ce263c67aad4e6799d04343f5c328ec9c88ecbea9eccd63e5a096d3fffe2d5f78ab7b018ffdd95b943b0fa5e9e2fe4e8ff91af0173b6acc907b75bc64a1055eb2706e563ef8a2b90f67aaf4f5ef344b646965feb3a0f35639d1cb4d324b2c086759c42579aeb1bb801f4840116a35e001f743caa4ba97ab31c43858d19a93249c3b9038c808040e073a02142847d2c98c219ac98682fa75a1ea2e03c00f57ffebc1f10f90f4816cab6239289076cf46501ef4af42dfacb058a5e8a8af814352f09f1df9a530d463eb80e1095935d0199ce64ee653f7a054480045ab233b557309ed5a6032f4f06d7a1445f4992331b243e53141c582d43dba4b52d10269da180f14c3b63080ba4880463040ca0a0d6621540c8adbe237a81a8c1b057881445041fd920171c1b7d6ffc771312d2f6de7bcb2da59429a5e40a2a0b700b48ec8ae51b24d0f4102df5d3ab2db1ec35aefa8bb39e729c6a6d87f572ce6d7277f26071fbf344412b1f9ea2dcd35ed2d7b8e99d4b37c3bb8e5c8579557cc9cd5ac4b3f263acc37ae1e0133344247a528de82312551f12142250cc525ec45d6a63867c449f8fe892a44811519148fb14d1a7689f9487712a52f93cfd3bfa8ff62c55cae73f1f0d8264fc4aa50a719b522f076244f536e843a07ae9477b9211921192119211bfa9b8681dd950281c3592d6e930469fec47a11ff5e861fcd329fff92bda51798f8cf78cfe0a812a1eda547852464d69bd9fcebe9db4937602435eddc0ca8a5aa53143b4dfb687da6f159d8f84d5e4b6691cfba97afa906ad66bd5dca475c52ad340bf51ba51ba3dccdbb40771403ccfdb67db40db833410a50fe31fd07b7ea3a04d0bc191e813aae8f6213882a2d007ca1528432565240a7d562a0a7acf5629940155600a1c41110cc1593ff5be5c5fbd87935d43cbb0ab5ef9d69c12aaf4b5c411706ca7c0f28d11a8b8d8cee7cfaa27fb50f6a150f62120377ef548d88c6328947117da4c66f33359852608fe4becb3f7f950280b65a12c94851ee685b2d07f38205a888642d97f42ffc93ef4f3da871ec6e95fd177265354646cd213faecfb37192a2959847f1b24479fd7fe7abe1f443f9e2cabd0bbccbbb656bdf1e793fcabfa9c8810e49593f7def3c42a25e5637caf692952a6a45c9d7275cad5299a96f2302fe57a0f07044bc934ed53523c29efb93c9927e5613ce5fbfa3c330ae695fc27ed4fca7fbe1f86faf599572adca31675a8414dfbd359ab781e4bf19188bdbdbd3d5acdaa94527a4a5b4a707707b9f6eda49d801a49eb80b20fe8f3200bf4309e85b0cffed2c72a8bc4468f813e230cab5a53818540ad69f5666d7d3b6927eda49d780cc8251b2ef9de7b2f041f895851fa3166f1333a4946fe0a3da517bde8452ffa308fd20f7140b067aa517a7d887ee8ea2cd440604f1fc6b3d7fe823ebb9e4586fe6659bd3e59a85e0ed07adba3d5ec9aff1ee34846bac665cd7a2b193dd45509b457bd77528d73e5dedd2c3b15490ab7fc3d7c524d55552e3999bdebabbf985b0fd3b4f7c7dcf3ae7d9e7e3cae65d5baea46ab30dec3de63cfa66559d69c10c60c617e0f3920f1d9c298dfb29ef5f041861fe59b7fcdffbf34eeff43567ceca302d24429d4a3590fa4f211a550cdda4674530151d0d30fd5cf213452d9585a70f86e000208800b002ac7d5cf01871b5a482c2b9b0c9594912804a21f0f57f5c648971b7dd7be706d3a92d6d134ad9168df3a1aa669ada3695aef689a06a19641cf6bd8ac57c8934fa5a70af1db54d04fbd5915022d7659d2c94635afa01063d53bb1aabcaa62d53baf773eda671e4aeb15029b0a2d934f3615401e84feeda49db49376f2623e1ebf4062ab97723e09b3d92c3b7e7a3f9f5433194e39855c249b39e7d56ef696cf0bed8561d8caf31f8ebdf3d4cb026556dc95efd8bfcb0205c27faf9f11921192910a89a7e319b8de18281ff7cc6657505633b2fc4ac8dfae2f9422faf14afeafe44f47a67ab5b76e525827e51faa6554ea9d32eaa51ba8dea7f57638bce7ed7f56ef8bbd6f5dc68fb2be79a8a863ab4fa9b79b8cea8d4d3ac766f5c61c5b8d5ef4b3dec601c0d76746b97cca33a302f0329e1925805f7966d4009ef4cca8ee6f786654e97378ee4b1c73a9e3984b03e0984b02e0984b01e05c38e61200eacdbe656ae5aaff7a5f72a8f7c5568f43bda61b6a4bbd1da9b2d4fb2bf5bead6454952a93522fb5d54814aad57be59ea7f5e2009004fd5c002441b52a44daea310b0856abeb7a1dff5520fd554561955de3718eed60233f658f551cb5eca7082b7e72c3628c61598cd13920f1b2dce59be48b5f1a10d7fde10df91e4fb56415e2ac39e07dec9821481c6132bdd8fbd16c5cda0dfba942dcdd6d40d30d7b3d37aa7fd5b2d135e6f3d40b3d950d1b4f4cd85fdccc6c4477776bc34feed06d401bee10dab071c386d61a14a7e9278cb53c45a5484efbe6b467eccd396775cdf9de94eea0d74f4c1ea4ba4f97982132ca28f6bee622bd13e59cd492f5f6131bfffd950f5a19e59cafde6ec2f4508cfd55c9eff7e4a7ad97df45e49cfda49f58eb350d345fb3aecf5c14922013cc600864594e63b157bdf7a617d13e724e39eb475ccac3bc965a84b599c8aaa7e75f6a67ad2a107fed27132e7ef29759af3748768364d6b7bf6cf9d61cfd6c267e7a5752f5d69b9a89ce313fde20194b13d67a797d34690f5f9b9fd5148eb9d4848ddf4cccbf2ceb89951c47e9ee0e6d256b33d135a28f387681d4454caa8a9493916cac283cfcc695388e2ff1d3f561b0cb40ecad8a9330c9a32fcb5876b227d56424295e05cab2af2a961d52cd1b7dcc40a08fefb50669b1bbbbbbbbbb6615c87b2d932429b2c7b243aa2141f1b2f74d32123f7b21ee80f8995f928d9551a68a325594a9a24c1565aa2823fa2aca64d6579db1408932fe2f2f2653d7fd6f1ba52423cf7a0993b0ec906aaa2cbb2d241b6b7d4846ba86755f4cb7bb7f373aab963a02d25555552bb5da6a25a326b150a556d5a8ba2e528ec5de7b2fab2423a41a5bb588fb7c88d3de7a10e7b92e7321c6b2733319860c0f3fe5f8297ea28c120b6518949b5f559e4192114f62dfc7209e84054a4532d2998537caa0609257821f0567e746e7a58929a7c3b110de58f82423413c89cdbe1f0049b040b1575761f4df6a0d16fe878349f2f2623275ddff83493c49120bdfc3b1772c50ac7c9291ce91918cb0ec906c4846ac282b9d8318403f6572429471789edf87103f30e0a7eb411637dffa96efa3bdb7e4556068ef2de91c1593a7d18a8bcef1320d4441558e8dddef75fc7e1588f6d8c7272b309e6b154eb5a46252694f5a5de558f916fdeaab5b5555f3152c37c141ffb28e7c95052dacb8a870aa25d57b554e9543b51da0f71f90154156e5d1aa0a14b32963314dd334ecd58a8b6ac988133de53c9f71d8b7fcc959ef5ca8c2a144f8297a9c602d3e5ccfaaaad5acb8883708e758dfcf6ad64beba1fcab8a8b8ac35ede76c2c2afb8e81c41b4cfb00a8024a890675b9b555f61af65b5bffd85852ff270936968f506e11c5b7d2685bc8a0bac565c543852d3715539d6aaaaaaaab8e81ab242b7f1b8280cad84c6c33de3e37be71ef46413d364581686adc890a182bdb67d94b161343256300de30ac4fad8585855133195bf8fe6d158f99a0c0cd35e7df0c10731197f21846c599399b5c8695fbd7c1aba2b341eeb359894e727223de86db0acb4acb4648dfd205596aab3b2551b4f89c5300cc36cc8e0ae57e9ffcf6a0e5f61ac1c52eadd46f56e38d4d00d955f09043f56362d0cc3302d62366ef829466c4e4ab7cd8a37300cc32aa6591f1fb360b68d521bd7935d9e1fac93d9b0f1686cc8acb80c27dd049b47ecb3b1f025563d470e7b96a6695a04323d9a6669d6cfa87d5b3f45efa23b8f58bfb1c9a661d7abbbbbbbbbc30c6e00468fd023f4087d520104f448588fefa34f29fc81e611f9f388957cf1c557f77bfd5ebfd7eff57bfd5ebfd75affa6439bdc9873c9eeeeee06813e6a6e735defb95e74fd3627a5dbf6df752613b3036695ce5d2172bacd8d7d3dc4f7f7f80e3b877f6b0ff3b423472ce615883f28568fe5efd692dd20f3724dddcbf8adde6d7b51bd74e53df5799344d893b9a1b63c997a492cf56e3f1e6aa5deb9d54b65d4bb7d4abddda85e53ac5754ef7cb1edefb99a58cc8ad27287d6e2dc27a8caae21df617cec25e7dfd5c3bcf8179771976f9ec3bed1f968d7d42ccbb22ccbb2b0596fcb0df869e658f7a863fd7ad7994c2f2f42a4b56ad7994c2f2f5ab44c266bbdbc089158955d439b56d361b779a8be7925f89b183b2f2f2653d7fd6f1ba556129e4a4a797de49dcbac64746f2874d04156d3bab09717ecb266259f77145e5e6ec818f7664256bd7c38317ea0f9a4cbfa1b7eba735ed7fccd4f6edf15672862dfffcb83792822d006096cb08f88e70627093b2815240f27094d3cf5feb226f7002bc0385d6a8533d88706fb3e7bb6879984f567993f9ff6435b9827736032cd98958c31c6755eacf7e0577a4e3fefdfbdd0937a849e14014e852808f49d0255caafe421f5e079fa9e185bbd270874fe3f9465f155711cf5f813828bcbbf13d5a3f8867ff0cd07c4fc3056f59a3c1cc93f9ff77c109ff7bcbfc7f3a23a64f49e1f22c22847f24ff998148823799dc26b10f453ea90d1d31f227ad0c7a4b0ce88a00fd533eef50631619223c2bbf793fbb10303debd9fc966461ce9fa989488235dd58820443f3222029cda5ee97d11d7478053a11fd52143985f2926b5813945cfa994d4e8df937a8c9e74d50870aa53a2274da053a2ef94a89a5ee979bdd5c3179332498eadf583089f9c9cb2920ee23845394e7d384e79384efdf0d374f68779a839297d984f2cb0eb7ab1d735d9abb3d7ff43c9f8ebbaaeae8a384e85384e619d31d7bb01cdf3cd7dea35f9f7b00c6292e7798b27c0b0fd3bf8c83b92a7f2e0d6f3bcc50ba058fe6e8618d6ad3f8f1e0f45e421893206a3886439533016623062fd31e0a86dc6ff869f388b20d478b8072c6189776c9b7b80154db80758018677584489625d090f58428ec6cf0531d98abb265b555a06e2fe95aaa7157b3c4281b14bbc4e82007ded2bf079c6817d3fd6947ee8870481d06b3f81d17b1e7b19c691481008bdf6418cdef36c63eccb2a890401d06b1f44ca7b3e029c222202d06b2f8294f77c8c254100f4a19f00a892b2073da7429584bde863521348a9a40cf413a00faa20982208d07f1e04a1a73f81cfa77c4a0501e83fcfa9512561950401faa20f82bea80e9902fb21a1a78fd5203e2f7a511d02facfc7a458eb412454413fc58d02f411e0140890a832a00755244040451faafc4ab50d9453a2ca8e80ea430f7affda8610080021a09c7a6078814626456b8d9fa6bf476b8d87f9d7fff093acfe040b81b6e2fac33b7ffe6bb248308f5bcc9861fd61366a71e93a6b5612c63c6f206039b1df3a3b8c773bf8803233f38bb0d130b32363f9860b3bd6b9902385b8ed805b20d5573fbffa67eaee66261914cb8f3db1fc178361f9ad9f7eca5ee3a11a638c31da60b39f7ee2871a10555627c6595cad123ea805c67ebae11b547c89aa501365dd7014f6fe3a740eee1a5707c66e58fe6b86e5b7668b6599d912ccebe790a862dcfb0bec260d51ac90673925802420b92c50e024d9780727841effc9875c7c19abf69b9b21a250e34f9e13f7c6470bab0d285455e503fcf93be04f2aecfc187bdfc79731f609711b6b3b8131b17b0ab27966169b95c483edfc1d6c678db1d53bac622cac43740d7f981713bbbfe81f0de311f348358f78d71512d6fbc23aa76d200e76c90b7b6694e833ed995129eff9d09731e2f89544210e42be79f9d4fb62f2d46beaeaedac845be7c0592f85dc35e24bae3f622e65d7904a2cfc8863e1f78d77b0b2ce934f5681faffc000111e9f67b8f16ba777ae0bb64e2369272edd5f1c7d251dea7f4da61b7ed2b98957e4d8f76cdb1d876443b289352c90050ab477d6d8f71806493516be9410928cc426e24c2ce29d11d05e8f9ce350a14946a840fd2dc9a9722294776195954118a5ac2494f2e226a419ac20941242089fe9953a07e3bdf71e84514a0891b0f2c64007836384cfb1eb8857e35df56abcab2aeb9562c66534625dc33f726fc6b629e330eee2f8b915a83fcc0e3cfc7463606d246c7563dc0ab4e29c18135d96204acb6fbd43b5d03e8b570ebd8cc3e3a13ac6c1e970967436eb66986ef8e9ba4e1911bc1324bb2e585b7e6b79268cc3e3871e41f810e2c76bd18f418c0995bf84b6e5f1438f207c08f1a39d748deeece3f1838f966e06e374eda4913881b09d3415986364506239cb37496c2c1098580258eca3535f8d77978eab7255f3c34f909fd8ee5a8d28c502fb6be6e2b0eb6936bda077db1eea081663db588c6d0b0aa4fa781de1a7f9ef87b44c13f193ec9ef1d345ffbdbbd3ab4eaeaa94b08de0dd7bc87512ef6e3a899fe0f78d9facbef113fdf78e45ff8c731e914ea0d673922d68dbad25c296530a2b3b899feed645fc743bc9d6d2b5118e18b2750d396b849b4ecd43759257ea260f75c47524f65d3f62df9ddbdfced44d42dfdf495e27b1a610d97fc4a397fefddbb169d68ac5905da35d9e870918bbdc4ac73e8616eb9acd2c3231b4ccb5f62ee8a5f6f9a44f63cb0505827dcc5ee789ef38143fc5305c0c3f655593aa490546955db1eac79a65c73b589d89e77813cff11393263dda5adea5f32659609064f3844b475bcbbb745cd0a6a3ade55d3a92111214ef51fc743d878ede99b88e3f79ae4332c2b2139f30427ca25dc73e92111628950e86058c5d32eba3e1682702edefeaf25cf72e9d9f64bff7236010ebf8de042a9f8b40dbbe98d1fed76fdfebf0fedfbb38aa53188440c46ee8e1b44c4a8be3ca9f582e7b1063a21015fc4f058275662a2e56b1faf8e1e81055c53aef19c2ff017bc656f1c1ca0d3dafd521606deb3d1f398e81614481b2037f7807efe7e5f57cacd5ffecb7aec9c6eb2f7f7cbf3eefd5eafaa9b402f1cf5bdaac43c01fe2f3f223b90a71eb790b7aea659dca5bb32607bd9bd6f5acedb83eeaf03ce6d13818af97d66b3246c9cd6cb46143aa841cebc0871f615e112f46f8623c9df180c6068d0d1a1b3436288d8da8d15896656936d8c4366894d0b738ca3668d8c4366894b00dd85707db6d836db48c77ed91f10884e2d9f8136d6735cdfa683ca0af7e7e7efef5fcacf7d1f4c5de27cb5c99db64529d2a2ba23967bd376c94c142fa6cbef6f3499655a90e362aa1bcc4c6f9a2ea1663b4de1bf1a1c52a10ab7ef554661b5705623d8669d5aa40629c3666570f45fab9c242e25838f6d20a75913bacfe2ee2eed4c5ca77776b87db6e6ea32df6cd49e9b6f9749f3436686cd0d8a0b1416323c54551d0a27513df1a22ca4d14cbf221848f21de8d9f5a7b8bd37c0cd1fd6eaaf621848f21decd8b62dbc7108c9221398a95f2b28e84e1364e0637840f87c12237231398f396384edb589558f93e84a8efc63be957adf7dd5849fafb791955fe6ed6b3525946a555c6c757a9dbca8b9e19c5f2a0f8244ec863e1984b2b1c7369e3986570cc25ac6afca37aa7a85e8e42415caf9048ab0af6d5cbf7e67bb4eab91f5a5981f89d5c2feb443b7f88ce815520d74b5987c88074d721bac67c3736fe1096c9bbf73056e13ad5a9d79973ae70bc612f53d951fd78a82ef24aef27a5964e0f95f977cef9779bfce2a7fe7f455e912255043ca5f22a9ce45e74e037df9b3febbb1942e4a22c608cf190274c7c9e30d1dd1d3d4f3c1588c949269ed07cdec37d2a33d1b39fccee66c24f1aa340df7f717764a5e4e2cba218308c17c5a1b49575c7c6da4fbc8b968c1a0f4d5fbb427fe93f94e8b5cc6a8fa2af7d88632e6995bda4699f510d0049d0ab06c9ecf53748f61feed9ebad87d50e20f3a1bd2a10ab5ecf9ee7ffbce73fd16a1588e72f1fae4a7b4fd58088b59fc0b86cf991932d1fdfe46e90919d2fe51dc9b77e7219185920f22deb2b8e9f3e54a8de51e835aed26804440f9adec917719c79493eccd344dcbfd2fb1047e7f5d74bee8e327b5dd75b2b5f07f58ebd83de4defb816ef5e3f692634a74988dffd6a9a93cdcf8957e3a76eb6ddaef39c7835fd9c9052467ff29c18719d128540f408cf8957f39ce8d14c91c1a9701b377a18efdf38fa32b8d0ab70a04fe144a3ef91e9c68b0edef58b38eaa5fe10f75eea0771ecafe639a13946c45f0848ec5bbe01c2133bc4561f39d931304fd351c59f33fea702a16372f21b898edcf1fc87f3cc66b632b28ddf71721cb12aabb7a968273ae24b1eb4efafb87ec95d5ca734f9986b4181cc8f1609010cb2cc25fee7955fb4d0e13603da7fdfc3005897cad9f79e3ff67f10fe83d5c53be76e3f318cec8c3c1259208f29fbc84e3fbd7a2184103ae4eeb4cc05ffcd86f6bfcbcc0c2f6c7ef8cd0f0476b7ffe4bbbdf7fde4631db0e20285cfde35acf3ba58a6520bedafbb3b88ed7f5db1e4c8a88d213733ea854ff3b90b7bb9095bc1fa6fcfa3c07e1dc567bc9b206299d760f98538eae5f293201cd5517a30a53eb3d123b01ec1b1481c89cfccd0a7c44a2358f83958eb1d8963951016fe9355552179d2870fd118b41f8967b0f2bc82cce70518bb60ed2f6bcb17088c2d6819d6fd86615c5699b77b0438e5496440fb3dc92bf95f0b454732b4df933c4f02933c99c4fa7bfe2ad474e8cc9871c4e7f1c52a64169e24817a2cdf2c81823cc2921c698325384b6eb4c8c154ac40e133e3d8d116e2d0b80a98791373464646a68ad4fbe602a388a8c2361aec6b31d8e7f6f515ecbb9e555454545454547e8997999292929292b2c40b1d8d46a3d168f44bbc6c22914824128944efff94524a29a5efdf7d3e9fcfe7f3f9bcbfc9e3f1783c1ecf2ff192f2bcff0ba388102152e425157a255e1b645245ba6a0d3232a9225b2af44a7cc4909191491599a9d01321a2440e51946080ce960a3d1125788c1b9925ba54e897784985de1f867500bd576155b88da3dce442dc73309c1311b59a75a50263c1a80fe39061df370ee378bc9581bfc059b0ef0bebf1e253fb48adb58bbc2d669e50f3a8609385225fb0ef3b0c21d8d44c8d4d23e9247ee1d0db5674df740e67c1cca29b60df73b714ecfbd9068a5599ccba6a023281f6ccca10289430d6d0448a681df2214792958768fb8669bc7fb6ab601aef5baa40fd6f5769950df48d88f676d2f68dffc36830aa97c0a5c738e0dfb8418346000270c30d2929adc5ecd1f7606d254ce31529d2a20356d117f46ef6b592eec53e971193b658343191d8ee872c688010679e20bd61e13ffcce4f0b58b253068cae0087252541ef84a9e69064610448da60862cb470851463e8ee5010426aa06d69b5b1289882dfe3e5a1a60da449810a9c5c9104203c99410a32c1c22b8e68015a1750b62a2ea077b3b1fd9ded17db8d337d229154f83959b65c595b8b1a8b095828c164021868aa10d04816d4200ea105300705afb2020b9c6ea3aa5e51062b65fa4e29258e1256aa202565fca400c6aa050e1d45cb3759e4d84b3fb3411522a8b120cb5510916276bfa04e1a17649432422714b37c93c5122a18d08fe59b2c82602b225920b191093a2ddf647104260b1bcb587861df66ab90e59b2ad260a1e51b2c6c107f491896cb60f906870516f3cc55ac402db62ccbcda8760197e2330ecdc2da35db12a81fe1a7db497c60c04f7714c451ec42f8c98868efd61f9f080ec3c6c76e609405b8143f3ee3907fe3060d1a0108c00d37a4a4d8bbd978357b371fde6d0fc5a9a7261b37ceb151d6aea981f15df4058d8f35373f8f102c38a06f2f378196af38a285ccbb4df4051ddd6c016317aca3987a0c293f3071e72952a0b7a33cf13a8acb308d573d09aef15ed68ee24a5cdbeb2856a00dc54f33f6cec6793a3b96ff1e2047ff3580855cc734de73e7e85ae21a4fd6cd0910798766b75115f49a84f0d39d61dfed28187054e7a566873227a5dbd69342ce057a6e0c8cdb605becf44db44096e743690fbf49c028ad12e1f9cc1478a80bec0cdef381519e0a84899055642fef882a73e962f6f20ec62ce3093ab246c05e69624b03bdbc638de86e8271b485b3faf8928bf787ed68b3e700a3ba57820f375683851fa4737460668071746003a20126a2736038aaef1e8a88b743e7c0eaec1af0356da7838f4dae65c02fe00efeec1c3e6ac025f870329232b40e2cbc1fdb499806fc1f3627d01e958777f0b726d0f897718878a88c4bbc52067b39cabddc537d275da614a080c3bec968df43fd7f64eeb8d4dff2f2dac556338a59a197a48c9c5b2960901d65c59197de4be08037c618cd5dfc406b3d4020209491e11a1016f1c65883cbc46a44f542a6f58bc47b59e43ae05d8b78118b5cf593cb6ce47f4882bc58d680c87e875eeff98ccba0775a75426813006f2ea6cee3f9c8698fc92cc47940f0b787ea5c3ac70fbe51170825a816d163d8f8f07f809f0a83f00eb2b7c522d78369c0a74ba8e83f7f39a707e3880f73c861db2e8e5cdb231eaab914df9a20ba62631cd9185d6c845c8a8fc54af2c1f3d1f3d453a300c1e8451f7d887ec8147134f2bce8619e277aaa48ab7766dc7d8bd5fbec65318c688e7e7c2e0163176c261b596e9b3e52c432e3e87fd1c6eac3769187aa80fc587dcf7f7dc4c2af40a39a892ef250b34bf0bbbbb5b2b0844297bd5de4b2979b340e386cdc5daf46ddf0127c1d2e2521147be9b2d83eb177d5de3982071a794792fd245979702be377113f41cb375a2062619256e2a803e4c06f1a3ff14d16c2808288cfccc8dc686106f6b6115297c297b17b04163e5cc2b30f5842ce08188794d6c79b93d26d7ba6a74b68efe81cd9551ba8cb6c612958f823461df14a9cc347d780ef0839430cccb522ba085688e6436563ad82e81af04db3aa3bdcc6c74c0fe543483769d2248ce68678077d08e91c1ee01af0bbc6c26fb235f900d3807fd90cda114c030ab12581fea83ebc83bfd2037afde52657c64704d1397c740df8dbc6a4bbd0fae81ccd35fa590a474008bb927cb0374867e3579a03628d0204d85f3eae1f32453fc65a105825c2f65fef9a8e8e5c90cdceac6d2e244d642c7c4c07c6f1797e1ecc4d2cc3f029f4fc3bf00994fd6580e55700e798d135206517cb23942942119c5aadea0cece19b1eaa9b609fcd9893d2edbb4937d181713ccbeff1849e351da0676dc7e77946e7904a58f82608b549b77f49dce820a96962092552b7b3d7b435b18412f69aec35f1403f04a1e37809bea9ebfeb78d529c2673527adfa25cdb78072f08ece761dc67de9c946edb7ff7e11a0aa6011ffb2c5951423dc73bf89fea38bfa2041abfde0258f83823a07d8cbb6d030bffc2b1f0ad99aa3e99eb0c3936fa8cee95e2cf49e9f67fbbf8d3b304bd9dc4c66f1c3fdd3e626312faf1fbc64f4afc7483540bea230f15faf88de441dc0fce8777f129274491ebe3e6d785d178173feb19ef8a74815eaf3d7b9745e85d56613cc471ca879fb457f994bf73f4975acb5121e8a5ec63f677da9865d9dfb75a9d336c5625c6d1cccaeced6cac19bbc40aa4358f3fc098c3c85922c51158041279a2736384f7c4ab11230c263948a4f026bcc8ce1325376dd34fac410ccb4d98d81ba6fe5662f9c63b7e68039f5883184d985081e4cdbc26a0ece02881c26d5c660d6034494245d3f44c9420bc844777bd5d73b30bd3e087d887087d9a0e13d3f8502d50e85e4ddef1ec21003666540b943f6a3bba6b7795fcbc8a1e520fb2a378c70fda794accc7185e173b7fdeed33b5bf6ee10fc9e1d2353c60270ef8a04784b277210c66d61f7b4ad0f958b7fb7cef59381983b263a9ad1e83f0c1e709fdd37878b6886743959906a8de23ec9c9d6387aef19e7613738d87f78377ef3bebdfef70fd46a95facc42dd6fcdc7391b03cb2a0f0b16ac4b437880bc9072b6b8431b4251318778ef7fcb573c4e7ee8a6517105b8c9aa7f7ae73f4b3edfce456019cba960e9cba987dcf9117c0a9cee196b946ffe42a2ef5bf9f3aef3eb61f7ec7389c6994f8f4b8eb1c6ccb68cd01f23b07a9877f638c61ab7aa3d7a8b86b40effa45d1373c7ee051c79ff2210f15de39f6e11a0aeffc29d747bcf307712d85772e73c95c176d6e5a7ed765c3b202da49bcf3f7f883b2406f2349d132ac8a6aa8de8deff70df568c59ca0d7e8433d94e7e7cf173b6f67e787b87f25cbfa601ac7a9ecbaaeabd95dcbb0eb9bc32e2b72d764ad1a1fe6c1cb210dfe5b5a44e0b1e743120902d96b3f01cf7f50d97bfe532bbf12965d7f5fb020fc74ffc2b0eb5f74780fe3e34790f7421ca572b3c37b1e9875bd77215deff99854c691aed73e26a58377efe28c08227b8d5f8947857104bce7d47497152d6857dfbbb79204f576e6c8831b37ac59c9e7cd04254a6435ad0bcbde5f0718bec9b0cb9a957cde5ee802f221d7103e8c37849c63693a66b78dedcb3945b0a5f10033c03916480c121b847346f5869b27a5fcdd35d50bdf7ad9399acdb0c76acf70dd84774592a0b7692cf306bce39f473cd48fb7013f91fc5f882f80999f0ce31001a37c864bec2db0fcb3ded784e5771530eac9bc12ff7c81e5f7f480de27438477fc2028d0ad657351e1521ed484f2b3f5193f914cf6c6c60493d4e1c533435f132a4fc417a05249fd9c5279fe2753c44fb092faffcdb40a4b09e40e9cc2398d97f823e7332c37e0fee17988ba402fe304c1f560027d16c23b96e1e7265026c54966e0428a2edcb48c8d8f0d81bec054fea4aaf2e0b67a89af438c4f8490f83bc48e49a7f83214affc09456cc4828d3f23cafadec5ed95e27bc8b0f989349fa5602f4bc156efb17cc50fb0b0d2fafb627581c68ff15f6c9496af4032052beb659cd10b1535a1975a192f307e28a6efbd37df7bef3d67c204ad33798209d691919159a286bd230baf8b14d66027bd494218966f9a10060b9d5085851f351d70db76f8695bb6080110b2f0420c44c849c19c0be8c8e4600c6378b2852552b00b2d4eb00395190c536d99735c22b0d27ae1031b1fc6c812855efa9da36361132cccbe40ef6cf22efdfedc4780e97024d65d62f7efefbf7d0ce5dffeef5cbaee53fd306f86e426178473de73e7a21fce402670763f84104208e7b7bc640a18d5365c7a0fb2d767665c60df770d18f5a37560df0f58a7086fc2ff410406bc7b44f889881fa2d48f3fc25a706674b4b558f80cf32077bd25afafe4b7e8a318494dc7f5d8052fae9f35d8720c6847a28a84e8458f89fa61fb00bf2bc907db0de157f245181049381fc66fbc7433a0ce93f9138ac9b5cd12f4fa8cd57533f5868d0a09684799b166a2cccc44d9f1d3b4ac5148648d5e14b2e65b9cfc8bf3277e9a3a9565f1606b556bea4c9b199a9a9928333334332e859f70b804cab9e1125b50bfcf78e7354ee3ddfb9a69bdc66b66d85e9fd966bca6c7139d1f36968d8d8d8d0d88bbfe04ecf103c21ca80375a00ed479cf525182de6d5612ce2079a89068663493327393c2d16de667ba99998fa7b8007e2fe1c112bb62598b3164ae87df9c63f9dd6d14a1189b0e627b03964910d6b1d8cf0bc7671ee300d95317795e536540a06ddf7a288f8033a3a3beb8228eb058111569025a9429a0408422ccc8c8a4401f85e8ab868ebdc4a015713248801ef4188853e223334506e0f723314506e0cb8f9a0f3eb485df16d6bb832d902019b0fdb20679167b2140dc03c30b3432298c8ba2c8a74298ddbc6bf12ec7bbc7040b286258ebadc76016e29ac6554440afcb6cf3826ca057489c21ab8b77d9ab8c80f6a4b4ebca15eedf1f6fbb432ce2421c88d371590fb9ea2f8e899facd774c01e5ee6baac1cd6ac87f19ee10af40025ec74759931e86d1d192260a0d765747a864891d47b9749f24a9c83e43513fbbe73fc4427ed665e503b788ff7a92fa6acdeee5f579510d04b2783fe7de7321e1fd038e24421109d2e23639fc7434bb0e657a33f7ccecc1f1530d07eee6ece9dbd63c316b670df7baf218de80c0f3e17d1d07ee839a0b705e25da36974f073c6320758b57369b5e3ee4d05bc7ca386235688dbf60aa18806b465c61ad78bc48e8806b4ff05e91a1d7c493db4b4d13e0bbfdfa30e1c0b58a0fd35783052e10a1142f721c208c5c06445852bc0874daec163ae011d090bff4d8b0a57b02e3260d8a7fbf1f35c24da5f06e9e8452863f5a1eeeeb01fa4396c6aa0977a478641c4d47cb7b76d14b30e4122355fe9c128ab2250af261d3776cc88966541cb7a966559965b565b9665b10ad474e8f01aa5b6a39a56f62096458d87ceb41dad492d6a1ad434ed796b9ac6745ad4babce7d471f5755d3c2debba304dc70c1da61ddeac691e8fb6c32bebff6e67e935a2db85659ef678187ab26c06a987f701db756af3e5853c043f14442d73978e466f34f2514f8a81b41da1ac351e442d621028a4e908b1bb4b0821ac73ea18693bdaa6683a5c284667e8789e1b63555464683aa6f7ebc7f8bdeaeddefd587bbbc37e7847afb76cb46da335d04df3a1ed0ae9062476b430a87fd7bc36d09b598e5d8385f45e8bc708d4ebcd6ec02187cf735d796e8c9d244d47cb0d37e08083b6c3ed8d1713730e397cfe312e72f079733c3d77889d5156d36ab9b04cf37c2828241aa5a8c8d8565848b0e579df80c30708d085ce62ef25815ed25e5cf74fb4284caff484bac32863cbb6750e38a7bf15fb40cda81e9dedf150cd05deb9bd737b8777380cd61f0df38da877de393cc7fb16d81adb5ad75823dadeded9611afe2235708df840e0165a0d066f54ef74e7e842a37af43803cd3a0757d2c34ca3724ba77a415cecd66d5d78d1444afe88addc1a708224afc436463a72828cf2491259042554610517950ca865f9c68a2f6cbc82154ea017345abeb1220c2a966f94fc600b2f4469ef19cb4de39cff53f2fc3de48a60162cd09b6dd4089de1a7f8be805849fc9c8adf9554294b09e85f96afd8c10dec35d9eecffcc437536c506ea10b2a648c5decc0c6255231a6a07b0834b37cd3050dba88410ae08659bee942054d4cbc03afacefe20220d0408a2cd8a0085070b82822999c8004b106315929a59c72ca58812b72c08619c8a0046798424a6ee1042ad02fbc8099b420c6386794f2698e953ff253568513c048e2a38279027b3b1b6f746102dbf63d93e5620c2ea0545298810c65f87e2c26c6f8ccb90faead093406fa634e4ab7adbb8be831f8fbddbf6fb5fc57001b4bc8f665fb4553d0fe0bfc601cf09bd1609bc5609bb960fb1d3efb1ed71b13ebe33aefd872cf442874a040fd3108708a483f774aca78c79cfdab9e077ade43a8f1703df618d6196b3aaa073d108310888f98e7451d09a072a3d66316472debb3ed41f54e6a3d1877df62efb91f1fabb2d676683a3a0aff1945fc188497e4f3033d400939de55b5c74a10e8ac3c2a8c7752fe0a10e8d5c1cad7c14ffdb2726b3be6c74782cf9672cd3de7d279f79efac9aa7fbba7eda67eea2a6745bd932fe57f9040dfcaec49f085c8acb32e301e1be02c9aa03fe9fc6fd782869e105e3b8c57cb355e35352be1a1490b7a390aefd023619082080d300ec963058773b901bfc694293630bd6ba79dc34d1d32491c7a394a3ff11a0a3fbddf401ff113fc3929ddb69f8c43fef35237d34032528135bf73745de11aefad3a49f6fdadb3ce9ef0fb9d6bf7cd7a062b63303ed231027eff7f9441cfccca870ced10e0609da2c49b07b3f241815979f014f8957858412fb51445824f55b4d48fbd29c04e59424fb7658ef013f4cee19083d99cce6f7af1edbd59e92b3d4f61eeec5dd6c5d4941dd0db322d8382190f1cc6e9ec659c08a5ab18218ab905145740c9b9e20935167b3aa298cf7c2271f74a7cdaa490eaee95dee7503d7d3ffca0b3c30f92c70fde3dea857daf5243efa60353efe63d8f1e64682226f5525304f47642a27b9c715c52c63a778e2963f95d8bb587b82356527c4eb578e9bd4bacdb0de8e36008b00bf43d69da16ef3626d07f57f8e00af6be8cbceb6c1439815efabaa0fe506046f057ef42a66daed11fab18e38b5f3de62ae6cd56ef9e5967ce7f6edef5c8bb16efbc631abd03cacf6f06493dc618a3c789c568559594b2aaf03dac333e7c0fbebfd9832f725d679d8c31c28f5ba4934b2e5fea5113ad683019b28bb7b8cc50ffdb6259b8402fb5b37a95ac9367eabd6b26effa65804d3fbdf776f7be2cf632b72c06b3372d1633584569b12a93d16233abac6c3e8b5d998561d9a5f1e059865dd6c43ccd34f8fdb935d8044208e72bb14b4b66dfcbaaab29b9ac274c4247130b23376a9600110610bc48c20b274083152eb0411892d4000a2cd66044460b2b019c181130794217b61086264fa420d559d87efa022cecdd6ca35e46462604a91b36c6053748431b58f0852420e108a9feb7ac751b79fe14488111832f6c6030059417a41867f4dcdb3b2d7fd7d1e9d29418ab0729ac46f1f512259574af248c31c629a18ccd0280246e7c8e313a8e7dcef2bf09e4599c8f57e29ff014ffbd1dbc7b10c2c75b849a8ef7de7b212ffc3babb3a8740cf884452d199a1100000080003315000038100c87c482f180a0cbaa1f14000e8caa4c66561689e328c8298590318400811101110001cc0481006a505994f4e5dc5dce45acda047971d200e7dbad445328d01dc6882f9d0dd01df9ab2b8cdd2859717236616e38064f42b26f608217aad033273482f2e3496870f164ed4f70045338c6cfc42c398de0138534b2ad5b996c11a95c39104b7a53aa6719422c819d7fe58ae151bb8fee13705e9f32a8cc8a24f7c692f891c3d81aced133006f70702078f478ecb3179d60c7c9feff983c977a3a3860fe8eba6b27b6c5e33e1afbd28a97ff0b81c64ca7c24d3f406f41e08418bdc3cec86dd0cb8e31a897c6e6956551b9984825280aa23431d87ed93bcec8332b257f1fc2562d7814b72c96aedcd90c05464f212ab4a885eaf28fb6ea06ac78d54f631b7cf67cbe2d1c0be877dfe4e8ce00a7e296a5fe581b09a93eed935ecbf4123cf60828614c6b21c75f89485fdf5087030724d1bbecf339043863c47794722d544f3629b7bba14252fdd1d1bfddae136ba35746913f2313c88e8ef7ccaa632166cfedbdb0cfbb2ed8794f4d11dfbea027a9edf422bb9d322165b4ad9938dc14532e1d9724c7ea87f3361e3a05432d1e3e431747f9726dd070af032266949e67b61bf66ac31407dcf1f9d755e84bd95f43c9472ae451b021d60cfd056e61e8827ef93f6ffd829394ddda062ef474900dfb77575e66652aa8b4310d656e23813b40d8d1e57692a4123fd65fe7f39328e2cdebe797371391bb8440b2b0ea5a7cdc27ce2084bc5442503fbf33a4dff6f6d5ae31f5b0a9f56b6d262601ad5276879041afb1448b13e1edcdfdfb9857005e30d29274a94be61f631cacb10ea4a46375af326f44c1a545bb0d2a0647c6ade895bd29cfabe4e623f80d3197aa8188f9c3a532c01c5676b688f1e20ec21992dac528697194a3b7dc5eed5f5881be2406e894ea5b07ebd2b0cf843db3bf27b4abcbfe5b46491652ce86ed36ba61059766a2d175dd8e17b80aac0c8992642df0447bcd8c62dfee8f5a24f6da65626d33b18c1321fad45e372c1ec416a790f50220b47f38d56a18ce02a7ee04a381fd136364f9c5712030a523be566b7ce37248c68f0b61d49ad8126256f12e1dd03784b6dced84a7f8500138313b164f4a2f11ebe66f4689f5e8ed988ba8ada2b092187ec436adcf8b06409ed057303efd7307b005026bb009fd8ac4702c1af47e3ef195204ed860c2e86672c414f66552d366101c14d24c84ebd343c8768ee9a524ff7d38fd0dee1fe7b4b1e6df06d57d0388c1cc437cf2478b79c695077cc125fe7308a4dc77fccb7b9340b09a9c1b4818ee8e5462dc7b11173d584f5449869a4c7f5edb1052a2aeab447e9261a166415cbdf89da4bc34c8009a4a698770b9cf359904cbfe94b9ecc3b6c8924ffc21ae3a7ab8eda851fe162afab516714c6ff4252c11c4039bd50511b6eb96dd28903f292104c20ac3e4d36f585d17b6f7e57aeed25b64a0cda15b2b4e952978bdbeec8ad22ec06056e6e7319ca844e68ed7ddc331982015c2a3d07d2fcc499809e2e3156c50f2526642fdfdddb4bb06a75e6b596111cc5b2b1c1ae4cb69c387c453cb5c3dd25009ed93548e59dfd7b501e3d8548e40d89892f55c7575fc39507622e326311e7f1a011482161bd5e37c7e4d4cb3e7cd235c16d86fdd9b65d5460968282402a97f37a8c11b32b37d3c462a36ca188b0861684b55f37ca6d9c739cd1649a055adab9983f511bc9be359b092768ef2562a057b28e2332f415877d3f2e93bce1f6953db0da3ff2f6c350265050a554303b2b06bf9816adab2b4c580166e8bdc098ddccd518f0009d224ecd60465aae94569dd6e088ee95435af6371376ac5f748e4919c6ea30f0913aed628f56c7f37248653b3068b084a756a4f4976323ae8a34915ca47ed77b91029245e772de4ea1066216e5643f3868c03521bf2bf4ac293f7f3852030f13a2707f870a70b2b980ea72cdf91936c2a08040b5f1a0258288da36661c5e2bf6f0f24868aee920c29a5d483153e970e2582b72029a8b8f5dbf8a1b7f9974e37d98da603b628a6085630b38a939f9d2032713fcbc55bdf290c37671ac135aee300376fd7a1ecf2198f58d14b64b46a0ac2878c4a05dbaba210786dbfae1b3477fcbee435259640d573c7893bb2ad0e244e8f8fc793b264c6d3d7ab582ac6008c723e0f0bf81e5c72e8ab3035dcdb7ac1ca505c4a2b070eb8c5501c06838ea4591bf9350b683c32aa9e583e8134271e1b65950fffaa4ec9e3dbbd85b65aa25a2b55322791e04f984ab37423e6ab627fccf03c75410437063412e7b29ba681ae0c72b6025230ca6f70c597f4f67801442b67bcd7ccc3d8c69b7f9f909d3e1325ad4e6e54004227d8ec8caca560b8794a2cbe929cd88098678095eb6e37d2fcd57d6c59274b323b8a3ae041c184d1ac5aa01f8d12e6721521aad8cfc7f9f7e073fe5098e7be056a16448db7c1633362ed4b300ee199fc8accba5a41e7e8f71ef531ccecd402e462d6e8986ffc3b9758bd0c7226f6da7693da85b01f458d7102ef9cb7b4cbed726dfe887a175057687302f9cc19a8ba1870153fc0a93640f1cad555560f8a9df7a9883eef16bf4807838bd058590d8b8756c6624eb3d4603f90f7a93832cb7039cfe4325d8dc8348022bd4588b56a481ac03c0c9b56bb6f6abc9a3351d8b69abbea70627478803ba3a7315514a0a4dc0d8ec88173b764aebb8c5a198984f00e96a036d9911595fe3f057b8a0e2241a871e94ed35a42d545083c971d28eb7095103a46ed362f79cbf761956545a6312a0c1844d917c86ee76acec97b2616b8ba9138fcdb0359d9086258cd01c816681d8c468ef005f22fc13b4c23785282d07eac301b05ef25a3eb32654daa5133f6cd9393c28ac5715fe70694de85b74273cd2fdd2fce8f0544830482f4127c23035d33c4a38e51fbd4f771fcce2d1061b938be9d5b409604e3edbb2154fe78f2e7f6c0b53e235a31824c5549bc8d0286fba632b946700a8eb911e31a2ee142fefe6a02abd82bda2a26cc64cb031ae38f79f6ac8abb7d2cc0cbe6ff6133ad6b449a9eecd746e479a9196c5b0c17f36d744b0377e260649cd4e19d3ce38a8af8c43d37ab3d83a038f254804c71ca168818f0c78124ea90a41aa23e378c53a287d84cac0c2cab2ec5a1de3e4a3899a1b8551f48e80ea0fca1c109c14c0788c6496ca201163b1f571cbf81ae70d06f2b57fc3fa6a1f0e2f6f29b8eaed0ef0131a0431bc499142ba8d1211e94f596caa16867204677a3065a0a6d5efeda2875be4fe84bfce66e0d6d14e198e1eecc0fbbfafb15cfcbb570cb8d0fde2c609946f3dc1cf67b63aed7546a43fbb12d8b6ba78e235850154612ea40a26531c5876b3c5e3920bc7a0b1acb7ce6399bf067e239e2f12cef5a212de10c962c98b7a9999a883a9e962f133b7bb28cb42ea28a4daf6da047f181142f7e90a936bbf703bc1c567608cf4ebfdfae696f31407a0c9f2c7b888cb13e27a3fbb7b3b4292c360be843e79d981f2f8268000086dd1b05c03122c182002b2a28fb854535cf538191f74ebf5bafb3a410eda6fc0c17ade5ed391821a14835a002453f781dc6981824db9c62dbf8d3eff344af17dbb84c750c04bf7f4ef05a3a3c07993baafa184c31eb5be877dfa8eb6d4067cb099ffd67759a064a05232ddb03e0cf12d26152cd4699a57b0d3efb99906118c5c07b032c3bc8de5f7e8594d422c39273e6d8254aeb1d70b09118f50fa05f40ab6053ac91366e8eacfa7a9d1039402efc736025219ca2b8278663dbe87133335bdf39c9ad253054c7ac517a098fbbb48ac6e174c06fa0c02387a394682574180821ee610d6f2c86a11dfb27daf06b45967e5ba6b0950ca8cb54ea1bd9c2a0026bc0d63e75d7f6b39d1153ae731d3b6d98e22cf84db0f5eb87d25c8dbd27863937e711984efe7004ce64078da0ff2eb4448f2590df3f5f46112f8c86ad9d0e7fb14568a5d1c411a86d705d6b9e0cbad783db630b98e9c7234dfff487711bff495b66b34b62cf0aed4269b27dc8c4b47878e2d5f8aaadea966c6ddac3fa0ebeaaa768d6253a5c96eb2996fd83f105183efbe905176bf8806cc94e42d9619e13b597b486dc4ad8bd22a32e77a87df5a1f7a78aa2fa84d2f017284004bfe0cd463cbb72651ec43b78945b46042298f1e543fd2bf6692444aa9b4c792e5d0dcc39756a18a16dbe5b3543449f529a6ae7b2fbb4ad78d7d4fc35cd24d88fa05aeae598ba8fce2a0cb22cacd3892f35ef12a46bb66e65c606612505a701fc799ceb9387395aee5fef84e853652df2e809530330473534c5031296f7c9e449859b9b2e301fd2fa4abc5b8dcad1f6b857ae88ed3441bbf2703ca49eaf90228ecad490f6ca63ce3046e0e00dbebf1a4f27b3a502871899c45c09ac12839b63909a4c14a9ad070e0da2eff48b26e890a0189cdb40dc2581793d8f8a70a99d82aafce65961752b6303e6757bb9387099620fd5ed911cc61e9949965548eeda6a5d9ad7d4c75401061db43feb1186aa6d5766f6ad5ff880286e7f08e956aa0c669c3b013306859b0148369217db16c2bbf07a5405d6868a30576c0918aaf4cb7805fd6d66539440bdb810fffa2b8f152a16e818efbbfa928e331c582f8df1f21094c3bddae4c96e1157abecf26d926f19f858559c0e08ec303d0c1feb6a176c69b391ad6320dac074bff3ddc620a3f46ac8e3abc9850c14382abfc6c1d1e281f170c0950110174b70172786799aea45230f69c9b27b7dc1153669582740ae17897f7233ebc43bf60438d5194f95a625a53794acf0d3671e545ab7dcdfb9be413eb979389511128f635db1f333816d852450121fec85fd3f43e9b3ae62c73db7a045170eda0b0b7a9fcd6a74504d107f4315191af983c82bb049ea02b2a00b947633425dddc3b3e5c3f13fffef3fe7aa5bb0db0b9ad90c83658b381ecbd310f402a24115dc289b16a3a07632ce76cde0992a3c803eef00bda4bf779f86878de87e84b5b87ce6e5916a669275060198f1c411ff775890ef87cba031bcf08473dc6638c075799675d31ed27e38f29c132ef5d1177ae78e08c290cd9e15d87d4f425ce3fb46671d00cc2a88d0f692b3112deae58af1b0b7f7677d5f38320c20b15f71127c7dff31bfcdbe0c82005f86f2592f420013abe8b6f6e9a9091950b0ed6d3a56aac95da7f9097ccb4340a9889ee06307eaea86cb172b184f8aa117a30803afbc1c43bd41331001152f1329a86caaac71cb88069291ed602861151c1df3a1fc5fa0f066cf5bcc4bc23ab0b18081e69f6efc3919a388c23e635188703c3fb91755e5d7705f7376f9e1267b168253b1eebe5df0ef48cbd4729116f85001204c76662f3f109f26222ecbd6e0852670888875805b45cfc8bd71709b4052fc7a3decfca0cdcfe91e56b8e8a126b44927a47aaeecc84ed396bc94a04cd412fceca2e767bf5e038289df1a991b967a301b671cdbe5398491abf5f8485cee6dfcb46edcad95f9665d17b0e813908cd2b1253249e47f92ee94d2aa079b292ab6b7ea1cbb5e65e97d83d060df1bff81ac3b5ed40e6c6b2384fc57049738c70df6cee8b5f5f8de15f8716894c8ff6ad376a6bceeb3c5c05998b1189275fe03e7c98bec681f1f766967de7dbbe161e067cd294fa7f3a219aaf9cd31787b40bfe7a8fa84a2c940b920f18a1009775b1a04b562b20e47509980959b072b7ec93bd9d97821b408c7971b654ab8fdff39ab2715aecccdcb3b43ca0785ee93470350ce0e59d3143966d250e3a9f5630825431e2911915b403c90acb89441e2b041170d1d2b810fd2f3d5b8c71294ec490a0d831f9e5a84e2c1006e0b424e890e832517c593de179acfc36e2c5382ef087c81c9b29d8c1cd18ed43b2ad81938029b2c998df7f0a92eae7112e663cb5be43ea8819121490f0c7f99bf3ebd002eb0002fd35389f80bcc0ba1203816269bc698cebb9c950991c6178b2cbaf045aa932449e1488ce6ce228ebc28c9414665e45b88ed273956a4176823f39226237b26c2daabad8bcb20d81939c86a78c5239c0283ebf2a52c1f709c7874d839072ca786c1ca4e185a702f2be510070af4de8d2e1d7e2ca7bda5a6eb3cac336e178b57b464242f2a5fc5ae14026cb4315c41741f8313c7cb1648f65254f48b42f47b904a99345640f658a0a8e7f31864acf97c36801000afe67db7e29e0116baae0b4243d047ae4e8734ed974c5399a9571a87d5e9bbda68e7bbef99d32dad987a4e1fe4bc61f0efa422694886cff2e2ce4efa4736b6f45fb4ce98e2d07a0705bb23edeac76375cb1e8e21e5b77e5d668b7a5a63ecfe46a95a1c673c108aa97b50a41d0725a8862e8d470586d3ba29d90f85fc1ede0e809b88e212202fdb00cddfd6a2ded142373f02b700ce4d865575bf98a6eb7c5332e089484601797bd887d8b85bc8abf22d93ccb325ffff3969dacfd265dcdea3cd56294ccf24cd2b4bc36a801ad4629c63851a4775ff3f0948f083735059630bb9910f7b5cb89008c992dc496ab613a61ae87dc21e058221b83ddf008ba63cc4e831d8e2e9e0fae421579de07f9518498008d0f66cde5cffde35bdf8d53e634422a651e0286202d8a61c6213d8df2044d6f55d8cbfaee567b6123af683aef51580a3ec4185089209be4c4550580d95f335b79a5045f8da3425ccaef1305c81f93ff702f173ab35ce2f69d4adef2f46afd5c2621a2a41daa04e0a1d2889a48645a8802f1f2fd495e57cbda8fbce5c723a62e6c43f4412b3be035237c80cb65ec6c4370ddabb5446062316744903e14ecec445367fc6b8afca476e6a0477e93d609a7f1cd30638d48ab12beb3a18b8a5a143c620c6fd1841db28e0dc6dc739e5589ebfd60fa1b49194af24f0dc7d0517bd93a547e75a1709bcdb0aa1db02f21f5ce7662bc386d1709bfa66f31183ef09a0f188cf9e940c61efc26740f4dbee858e86bea7cc4308b5f28836e60420e9c938e68af20a835c0a9032b22d5e6c774243340f736586397f488efea9893941e4bc497a7c082534196e87123a159e23a12e3b0d403be91fb89e90d415bd82e2aa68d07a3c087c7d1f4a5a27aa2484fe0a3a7276a857033daf9850dfed04855e47f7cc1b748251a78697db1b7b63058157f2db8cd5c77ac6375e10417c5607bbef6d86e560dcda8d67dccb7f3e61fa800b719e77f75229f7cf16513b3fdb9d1a113c0dfabb4c1d788e2f05ba7d4736ef7adb752728bf9d5bf3bd1bc87a097ab925873e580d99e2984f946283ce6d3d5c0e864a8097ba29ff0caa3ae6db213d3268793f90c3d8e27fb1ee9fa65377b69b9d87bc6d7174684e6a12f2856343a2c203bd68f97adfb29db835f6c8e55edffa7964cf4ced930a57d0e252daf05b2408244d770169346e9e0555f1a29992d64324c412572bd7356b2526e63508d3f1298f350d13f6aa8ee24e65184db5faf9694cec4c88594213c11116e4d5e47baf50d8e19ce48567040d38ad73d1c8334697d15be33da2b1601410cb3355017cab87ad05bbde26ca17b6815e29154ab69e489a73f88db067dd37a24345457003bf78d50b190b890c9a3126fe2e28cc822c760f08c2c018c9ec83cc73c5268a67160f80d03090bc54d6c1591b09cf39d87e85175df4171109e851ac6eeaa41d858617bb8bad5ee8eca29f5d9f10e2f5a27e8643eaef9046eca3cfac8fe2218d9a87aad8a588c20211103a24deee21e5006236e1488d0b54b51198a4411a1266083ff72a8aa4f7107c977e6b3f38a476e2189f557f0900d08b495bd92beab132f6a5da24d496b6f0a750fc8140b6436c8218412a8b98bb139116cfe82ab8b8921e22ecfdda3d49150c033f7c465fbfa484993c63d90aee4ea84057407ae5c83392a564320c642b5cdb38363ca36b2507847e269f765f3207936a60999b39af8e1ddc156a0ca8592d147c4a2bc5a1ce01b78e24e2d925952a0aee5e1e2e29ab4efb5889005d558ae64c3c5e25f86d11f36d976193d56dbbb9acf768136756eafa7fd35d9d065dc6523585223cc93e4873c01520caa01beb8831192687d87e39ebf9362c5944c58d9b061c97b5ec7ed085cf5f8a08b8296a165a2cff45bfcfdd7080d03e6a440714260a2e73e8963e8935bbcb3e758f3eb35d4f29eb4cb1f882e92e5da0da45989bb0591f5763addf973b29409a5d48d57f10335e08d704267529d45984e330225a2de3ee8beb0c2f431fb8fbb4f1d8b1b48204b7a3c3e0f6e32027d487edce80f09ebb3b2619e8257a52837a0c8c395dd367d80b876cdf6625ad54dff21c82c96f29624e23945491c0152b7a88219da983b9ef99d8b9f4f0e1722ec7f1f3a4e1583a1da8994e6f33e41be4878a83eee8a71bafd7977bae0280625e65a9876939fde338dd0b8f693d06758a29e6a5418f6a08efc72b9168c52cedd426d3ff6c4e6ab77817a862b3cba9d95c08fa0bb4741ecd3480b014a76f897a27be7f9b48b0d0c8c07e4e90678610c20e8c796ac183e6456191c784e9f97efa83763759ec7df8148dca184ae9501ce7d21fe18bd0fa2407d9cfe368537cefd71c587ce3d80286bca637146962377be6e1d9b3422b1f6c536ba058ab9bada854a250451d5752924e2416bc2f836dfce1b8d671a7cb7c36837a19949f8c132928ce5f158cd44ca34efbb14f01ea9c6cfc50d2a83a9fad2078e7fba2ce81b1a9c98b271accc814b1eedaca7704c8020cf316aa43cc8901aa8c1e0ca9cc9410fde09e8a842037b198fc4691e329ca8cc9a98478b92f73136bd9df1b8158b3992f5f5cae2984d629c15927dcbbc4a9cf5a80a7c4a85964bc5c36b21fd25003581f99c1e7aa36d2bdb9146a4794df10ecf0de0f68a03d108fb71f06a31a91331542bef193e993d352eafa09132cfcefffe5999b59cefc8618d3cda5941fc25626ca56e438d4346d5ed87bbe82aa3df66cebc8eb93cf82e8c25c3224a65f5d16ba9472c38d2edd186004be8990c9bb789301d5e97ca125b05b24e7826233b165ac1aaf934075896a76548098a478af448cf7e669206014e50443059a1d8a4e8281ff91b1ad2825a8f90d7fb7de4ea119f8182379665de0da4a2c3a70424bbdc00e870ac95ed3f9fa01c0ea33793e13341f38d74ca94df5ddf366e132bf0cb39e7632c93a700cc7849afe9c7a5916d6e9044a7727c969a5ccb49358c80bbe14675bf92aacb527c72447399aca0b99c9b2ac6337c1d471a4615e600d82c09f49d3142553d31f931ef45c9e6979f4f1d29dc4c12ad374d93e91003d947e45709a7a830081bd3317b8ce2d10b1bf38120c759611c42551238a12757c9f6965f9fec372957e7f1ab832dd99c4c3fd94fd91ca603e96d3d84bb6925c22ad9f95d9de201156c8d4c3c034c136cb1053ce31b3d19c78a91b58a8b2fe49f19b98e1dd89b7c407e1255a7fe20cf8dc5986dced9200dde025226ca2c562e6682398f05be01917502f4e8e3df890bb7d787cf325a35f3bcc7a19bfafb3ce217a768b3af998ff5b706b25056013b1d979fad703961014ec70a9c8fcfa08db294174284d2feb50a348c78bb934a2f37f059a7eaf18fc29f9251f2899a7d478b83f1d3694b51cbe498fa610a70ae26bb4d19dc9564e4925eb7dbce7b67336a5e0f3e7680399b990d944bbcb6629ab2ae40a01770fd6922bc4e17e4e4de212ec8abb9adcb30a26d3fe84b8da53b7e9597b7b19d31363f9ea0f834f5bfd8787741d60cdf15d4691712f03abe8dba1206556266de372b9615747d348eae94d7db23cc522c3eaa69b829ea90572b33c8f5e89d0a323dc42642574540768701fa0a7fc2861fdd248f426a2e4f69c5abdd73d6a81e6a9b9a95c94d06a2f41815bf438968f29162fa91bcc32da02b0c639001b8ab250d0ade2930e38927c66511d33ac87408365bed2f5977bbdbfc0a6415507a7c7406db5f9e006bc26db268e4937b61d7ddf60b701ce6517cb116cd0d3f49958129bddcaa54ddfacc16aa084a9ad49d7f6eadcc4ccc5ea7549a6ae13d5a89b14d473469912615c292dc330344e03c892d7f69a8385c8657cb12c53f585aa8566fb55828566502153ec2b6351c1817a2ce3547bf244c00200888faa75bd0859f90ff18d99cf565248d4ae38449e8b126a0a82177f47c60c0f30900435a969c79dc8d889862d67ed80f314237350606250c9a62cca9c9a66304f4fbec0e8352b98ca33fdb2a837da0c80bb671015fb688cfd5728a8608d5dd691f3321bfaf22daf9f1eeee2c92201f0f6d7b815311e010a91326bd71619835384a6b91d0e24164a1778dacf58afa0d06665bb108771245182ace3f8a74b276ca7109a6e8a4e7207d05153247f186414cc4c469be6fd9e6e11c8f182dfe46ff1ab90a0a53507da283e5bd9485cbc94bb947a6e1b50b115987569b0162d33f65840ab00f9c53e004edce9954e8d884656f1df383d91d9605c17cb02f8148f087a9e5806ea7e8089fe689b975a2b4c57d1de0935ec3812866a7e7dd920c99e51b562b7d5d078349a13df799d4308d381aa2a5abc2eed512b09b16d23e5edbbd13b3ef7d798bcf9cde18034eae45b443ab7527588ff2063a99214958e44b555ac8e4fd64616b96942ad174bbb19338b799461265936e3d6d973f6d02a42ad1cf123fdcc5a0a1bfc2ef5c7c4b84746d2ead988bb0331dbe3a5c5de0f343e74011b8d5294c3742c07a87b44a3d0e65d6998de45754e514fcd4a81fa932658026efb65cd36b7e0ad40966ca1350651726c0ad0b39cf393f141dae95f00a847636342f0d9e9f7d7458130c597d349c634b9e99ad8ea89de39a2276bb206b9afeade6ccb8f23920d635641d4ae593dd64156fa9865fe2b47e1660fe3424ffa090e4d3c16c8731099ec134c0e56fa0b2ac46c5500b26e2afef633fe9d599a6b7aceb1a602e82f27ac53ad558461f0e9ff3ad4d2d85613b21362a0767626d95f311c05c29ce1fe5454e18e4ad602ddcfe119b7b4bf3e7b3f8a2e68cdea155de0b464c50b802b0f45b99ee2715778afd2be88dda63e8d38279b1a6107c78225eb466f98eb90e58aabe2a0b7bda3b1968ddfcf1282c05a2d88c709a6b321e6992012a0c621c58e4c01fc87fb8e64720946e096bb1bbce25f3c35ac9901cba46980ccbeb206b8aa14cb020ddec29b0f26b100f076e816b634c2a0758eb102718f4ad425443a21b39e0bc47245435019e4cff06733582f68311aead387200c0c447c9a7ff3eeac50ae6fcba465b5fe58e1282688cc5a5dccbcf455be7a4f7fa4eb4cf4e9478214da3cf39b8e4fb94179e9577b406e6a7a12ad20d8784d526e66e1b6e4f9a42da5801099f46452fc55cec9de5922e47b24fd900e7dfdbb6bfd7c5cd2582c440e7c4a91c3be8c76b36b7bbbdbcf1bf32d0e09697a3c036fce4bb019c0371cd40d1d00f4d7ba7c0c991b3c97ac4c22a24a5032554ed9dd861a058cdedcd0206ddd41d5f31fdd183e2da29930bb11509a18e75f01f4bbbfe26eb24be9a11607e0bfb535a59c61d97e5f6f48c97a609d16bed3116e42dcf33d919661bdda609787d8e154e2a66b34e7c8f5161c17aaea4b84e40c12c242ffca5dae44af9d15e00c8c971c024ff3c83acd904df47e8efb5e1294c9faf9e254c802f021804976e839e635c1c858cace0ca0176982a16e18464fe62b00851afd534b24d5f854c6632e7ab0357ad12658f5868d5667b70590a8b932586491f5509f99c287ab642d60e535d5d1e0eeb2effe78f50267dc4e961fa9d0ab90927af1f23ea3d29a19bbd0c4ff1372fe03fc58f3e2f921aec33f1c7647e930d0ab2ec5a876653bad7311ba4c09af65181b93bf4e730f8d8529a241f4a4d1a4fb2083e9bf3aa552540a2f0a4ced582219e037cbd0b758a7c8399c4fa9ff4a2f9860c47b06fcb4f46ffc06fa70d040dd1381e45b7d020dad65b1b24628ecbbe1cd89b672001e64e3d0c817d9dab34c0a84f8dc8d28e99283ce5d97b6b0ca84f103f015bd771999801206ecdbd966705929875f1c67b80f7ebebfb4ec93cb2eba59a6038e89c1bcf629cfe014757ca95f1c1fcdef1e2a771c577ce6692b6a4d173a2501c59791c20cd77fd7a7de9ba062ff61272eac14167cf92a731cb694511a9d45db93e454e592c609019a94f67a110bf4472a7b39d478ef0897e07db7c24e8f3f03d75e7a1460dee60f444f01ed9734371f3733c362843556331fe82cf1a510b488adee888873ab2959a15d69b344a1a26365e2a5cc4757808d704c89deeb11e72b620cd2febe886f13503e2dc922a53207f83ffc7014d0b95b4ececf712487eb63e08601c4ab6a4b530001ec55dbf62b85db39dc40738e02a2a224c066466988d9ee4026a17d4e19f76714678b0969c3219a543b2acb82f49a469551b4c6c1097c578c644a9275ebb9af462d1b37f3b354076a1b46b5ade128b772e1e6808e884ec690d7238fd3d0d08e70ed1e339e805d67f3c0b803985fe4430e66323d9e012b5579a69791bbd79d7c38fb921c392604e16ec662d39324e1f12a9c083d4e7f88bb9e139f1e782ac18065fbff80b66c4bdd41c0b5521a76bbe4762735dac0acb0da5cb3547548a5944a2844aabddb427d4252ab58dd31d0ea8909352756c942180bbac16a455161243ef332c7c0627ae3ffed12969f2687150db6a5e913d0599b1107c1196eaa28ffab0634ece555b25e1c97ac26aa55216532ca84754fd7e077b5980c62593f13e9ae1e9349eb754c6477759998b6d522131b10febdd6a676941539f897d96bf1d25fc781664ece04554ac6815f37149fc2980853fb1103550c80af26de8190e3a8cc1a93c6c0e68703adbf4461d1b33f3518ef8682b6461c55218599729eab0a5979c165f082f8684b0cbc5a9b0f374f1ade175b99ddf9d168ceaf272d184c473d997bd9327be732108c298349ec4a4fdabc918c588877ab47f4cdff56a4577a02f0d05ce0ce000592b90c4e4232a2fcb9740884b5cccc51cb65800f3b140cf71e54f69ee8826304c1d9152c30f5404e360b3b2ef7846fc70bfee9e14d134c23cca635768ba0594fea4d4195d5bda1bbba855e7e0e1054078741b36243b1b381fe08564d2b796cf5b858f31ee7318e0821aa7cabbe43a14f52f3ffb9b174bdc3661f55525c36634ed16a6e22bbbe322d6906e9e6994bfac0a612e4fdd195f65e1387190acd8d6f35ae5b142e5d2b466abf1d69d0a008fcefdc4541b6bb5984866f4f40afce08de3b0d515f5905624d8444243644e0bc9eb41e7a94897667c235f9db5d3682bf577e9194084fc6a33e9d777afaf0cf7ccd2400520174fe3f0cb00ad6327daed7d7e720bde5a5bef923c84e85eba8d07a412605ad07aa114e554fa6576af6b65493d045275a4b8627ed02b3924dd61c0d580036ab5ff8ee552ad2a0b90b4d6f9b39fa3b60142431a2b14f447091bf11f916abd38af23f724514362a3867ed22017929421fb744f7daa07997b1aa90b4897e312cdad95bca2dd8414deadca77eb8a1085cd574be7e515e758fab5ac7b007b0e3c9f75ece8410c324c83e212d049964e67f762fb877ce5107d5f457499857bbd5ae012e3bdb7119d738d711349bbd9e38203e48e76991fae4808312b50c3c21c135363ee3c6c5da0673d8a5e982676bbcc0c18005ee5b4605ea93bf14e6241e0daea62a931d63367af851101ec83cfe48b439531d7a090c9fac160252521f6e87843bb6642f0dced641f031bc1737f42152440d2cf9925683a0185b1374567af5e3c026658e7ff3b86239e4994d44d613378c83b327bf63fe8fa4ea99fff0401caa3fe1ae3a88bf0d14b1b3f79bcff86c454ec0ab9afce33134806aebb20fbdae04a5ac8d80fc58527875c5fb0794f5175d0fead51617ba47aae31bdd9ee91ace3491ad3cc3de771e54268d9a3e96de90833e66f6eabac637ebce736593f388c50c12bdc73157b64b5d49afdfa0fa7900355bb76819594bb93ccff2a20751262f2a7e31d805602f621623fd38f09f1a90215781cb069c47988c18046bf1e3e67cb5236be4a9bf5b8c961fc88ad75a82e1f4235b5835e720be0e2db82d564ac7e868dffb6279db80b115932768d50ed67ae6b4fb1de3191646925d33f459d1d7e47c42948e2e2e35f8f6580397a107c5877747caeb70a48e4f749f8a8aa51dfa86158fee843a4beaed7a6cfdecf2a8573f48ff61cdd8f22c36f05a4eda216b91a31df0fd020fb52e173c62e187d9645ca30357b6cb437b4f94141ff13563519ad817b20398ec00bf20b9e9a356c081832e56353f166039a0692c7ff85ebf7f15488d0a964e6bede01f47f862f3980c4a25cb48c9fc82f1a9c88bffe0ec5d312d649df6ea4bf22c460c016f1162197b16e4f5b4ca362a6a7ceda209617d31b49cfad3f8bea4259ad60809f59b2388a8976c16933f1c6c5714a442933834cf3535aadfa0104af74cc1946364796a27318712d4df067b63bb9636c7a5b62989a9416f8528a55b70ea9d4dd25c617a04fe49166a0cb5e667094926fba1ac5143b785848efd94e843cf9de5c019ab7168983a4df1ac71ebd9a3f82c96323376b6141b2e2606fc6240a0850f2e5c793358f799fdb5c7a250bb2dd233782590bf1374202629e0d7cd37654715ff1458b7bc412a95238dc452efa4f90f84da0d032d6f2c56b656e0c1f888e9f27c3ba0a17809fee5e90cf86aa477786fa2418511580be4d28fcd1c395c7ecd62e3ab01a994bb16cbe2dbd8fb1e63ac07ccdf4b5496995a1dc5b304104a15c64b88513af9361af1bc0e9418cbd154a2a2dc5b3b535942c7981d28610847178f6be0a032f4308b601fb800af9342709c0d050485679063cf092a9bd55b9a39013e3f81bfaa8fabd1a3fdc98abd3d0737cbc3236f113ed05d89a943306df61cbf824cf9dbc742545f1098255ae06b284e1c518b8a62d88a260112bd702cf52a2a5202e5e535a9312a3ed589e957b1299f8519f4f858eb7f615671a61d84b335660434f83c0add1ab8358301a4cc0e6140441a30d950df65a78df51c8ecb4d2fbc7635404e7d2e0cda08c7663c303756f16149341df4b336314d23f42d38309321ba2de297488ea63f9a9f73986b8035260931f3747eea524e4be2f32e576753f0e31c8b25f688a0ee142c7f0e65aefc318376e78672aed9d90cd64a69a6a7b5ba46ba1a9b90acb33e12de8ae020dc9c0502d6f865e1c37907cfbc9d444b8d9eb0c601d40cf965f62b1a815d1d43bf193ebf1b34824439337819fac207fbc63303f75410883b15ed710bb8c63d92f276f469ca811ad05820766e87c99ca848bb052950e4f31fbcb8ed0408ae6eebb1088084ce1ba741df2d5457057dc4371bc61068098c0c4a6134be1a0143193163197113b76a37e2067b6a0237e523d1098464f0084243bbab901a4180b583a13f4ff6346182f7158f4030ace65190f5376fd77e4226fffc09f814d92805838f9eca1830d2465f7b10b8b4d2fbd2d55740e4b0e2beec8c4428f49a6cf84ff2de7edef48b8234e563ea6c6462f425063fd93b5ac08b27a69a881a2e9f406c1d308a771c45c8bec545953fd1211e9ee91ecc017924225c814d9637393a0a08118b163851b9b45285a9ce17aa7113e9230a0707c0f35a753ee63dcef06d6c50fdc5c68b4814156d3eabb796a4e2590dad8df994c215b79a0538a8abf3208cb114382dbb5211d866299e808d5a1d4cdbe2a2da2baaeeebafc5cada5fb1614c5ab71d63ba0baeea4565c75155f510d808d8c08de880179f10de3f83ab5a2efd9042f10c90ac6899a3f6d20d450461c72f884d805eb853c75f0c1ed8474fec49037d373c5c4814098f932bb4dc8906387def9266a19e621a8670c17d064534e6df76d0a5b6fe596da2263583610e1e2a88e73c79f2c471e49af57093fc74260e9ea36aad1bf642a4adac4addfe6289c1a5350cf17759dffaf40bc5cb309ed5647a98cf3ba7d2b1d0406104969e1666a1c684ed7b30bbc4407e8b3f27ad0b4dbd7be32129bd45ad728d9cbfc1b654a8c97781368c36eea6c9b75a5f30eaa0b714ace3a236cbd953d942e32f5d8275325039a36789ac9c91df3f6dd0707eb0dfa320ec10e53bc9202200448dd318a83afeca97918296ec015c58a63c5fc3f13398a47596311860434e493b7cbb72446776489f20467b37d6239b410cac22f1174c43c2c67501d2c6e1ab8953e15d62faa339bdd8ac85909cdc37c019e963ef3f4ab9bfae334f8d8bf18ff00e58cf519fd75d149463a3644adaf2370aa080d135a999df65127ca3fe66414fd0a27b0c10d0977d17b899d8a21b620f34d37e7a36d8abce603261145a580c212b7b6121865a9d112dec3b55888b3444d68c515778f84ef915db5cbdd99f4eedc34ab5b7870335a1b326ca11b9407b660c37f8b81b76280b044c89b27b5db5a229d0134ba98d2dc4478be861dc166939775c45b3c58d31ed6ea77a11713d6670582559af812ae0a0936c9a307a81d418c262dce2b335734db8477a14088845a74a327a3d1e15f737e49abcfb0dd2e29da21e73bc3fa0bba48280aa6209934ac88b8a1346120f1474c3ac00fabdb77c4331955dbf4767eb96c1ee21f3c2e6a78a4456f1e0cb106bc2bef90542d7e250bcd862f54177e829b48389c5419ac1a255493a1457d4c4fc6b29fd5b62f1899522ff94aa7f5a2c98b852f0df52ec9f52f29fc4a2135f2afe552affa8587b22530a02fd3fe9afe0eacaa31930f37ebd86ac16c203c04e8139165e8f2065968200c9261dff2f943e7f1a8d3f1a91ff37a2d2ea00fcb391f9a7d1f89b52b5941bc5df1ac11f6b237b546ab10f9cbf43e975a525cf352427558faab4fb32f4b74cbed8c23952088b62959fe77e2af31b9c103a1da6c3d8e3503a25b0f21c21ecd9678cb7c90d506fdb00c6538fa7fac2a6a5b3e0c44bba54477ae576448d7b1aad0afe12ea77c4b8d134be35ee16fc0f437cf0cc98d03a1a8711a9296023428efe7c0bc60dce8d4a899b23dcff0e5e8e2a576010f7a75ceff40446d94987c7a2965632fb26711a291d6777e3e8cc0eb218f08def2c8531372c7ad18f5f22a637216ccd48d87bcb23f4a403e8d875a02687497ef5047a07fd762b8ddd34cdfede01c7c55951bdd6aea3d617748679db7f8deaafbe62b218b7af4914282c64fd3dca334f5e538515c7cf1462ccc567398adb722009c93e94bf50ca83a857843cd7080065a2603a4ebf468cf7ca1c7c6022ae9e5643a204c9db138fe8bf3281c9eb99c1c98ef6a386f657c21a71a21a34fcd833ab443e04e2d760b2e5dba4dd46c0233e0a0f03d3c9008d5ae01dbf5ba74ed4f5a86cf137e7d6fa081899e47413c3221bc3234fa7d863d70db7c5cc93bdbe7312f51a4fef7c62e2b76ef740baeab5e92301054d0b18092dabc7eb5adf04af389d7fc29bc4aa21bfa7e903aa24643b168ada2080486038c3e8e76c8d725ca42a8e7ba5b4d7e60fb7544d80f34c9608b578192e05fba2520f8e84af9f36a2c46736612c9878d83c5e9a142648d6239638a9b0884aa681fbb476349f868a4942ea09b314658f8c818606ed4eee0864a7b98563b1bb883d28fd66d0c7383ee2986036ce8d8fde122e40e5713538198385d697ef0d530cd6d2d32065a4dd70c636eb5daddced69e4ba60b8a5aa13b17543f057e0f9461cf9089e25d80d081542c8d176be82b31c78f6f5347ca5f38584795a658994d327d67da77dcb4ff66f79bde8279af4574a2b99d9fc7423d484357d5f5f8ec6b8d9e3b83ba223282ce33c801102a0d8f41a9a8d668e100d510221ef66e1c6cfcae10b5e18ba5ad9c6ce6ac8a02c35e595bd582d8daa408ddaf93de91fdb56f219f8924e362a4b9bc82443b9a8165b7e5d2a61216c006d6a814c5c036cfe5137c958a2a6bd64a1bd3e121d7f9297b961d8915be815c8142d6ce0655cde2e6fa33928728bf5d8093b34dbb2af5b84f18e9034d1c678d4be971e8ebdb708caf0948658c354d300fe4d19bda600738559bc3780ea29ddbe01204c302fbe3506a05999130368114c9b82c426df05f09b0f6674f66fc28f57f14a5c134c46d7dd3bce8882657ca8e3656408208bf998972604190bb9082b3cc14088b52a23e46b6dc6336970d62a4193a010af0459f16c4425dc27df258f376a006a01616528a448116196828b838a9d6ae3891bb6465bbfb1342373788c263460cb74f9c243b92cc05f26ee19ca2ccdaeb85eb5ddf4dd9e4deb3e6438f9b30a2e2302b1aed871173e9b2388b2bafdc654eab24be5ada16911ced514b40cb8050677f13e8fc4674b8ab1010c2ae89a17e28033365b5e21c73bf9f83cf34a0a4ed74d833cce61e6ef1733039345155e26a0858f153026ca2328cb157905a0a7f2bd886da8d9bb4f88de36af957850ede7e2f6604e5ca765622f3291b51d679b63cf5968db34cc1e0ad3be314c66db70cf45f7405f76607e928a401a72e7ea1e269aaab0ea6743717258f9c8cb1dd848607b562e6e16fb5c616b3454322d71bee018728533e6982e21432201943a74a732dcab4e951e93950fa0d24c79fab47502159f97a66086b7b2841096ce36ad38536a9330d35bdcd6752e52d3ac8615984a022a96067da22573e29098f3eb659c9ca28c15f9cc8637a60bb48e445d2e405205b2d8465ea433e6ae7f01dea1900c399224c6253713f49ee2c5678b8fd514e03816573723c1d1fd29deba20ba3823b543bac62c706e40b89f5bb9c561afe411cbac6c9b2a6521a10ac964504595f7acc0d5795f3117a830d286bce9a4492fe04f486da69e3b80dcfaa4d7e1cd17a00147203d81ed263abd671363594f926d1739225c8e6d88261a3528410d35d7c7da31fa580ddae817bb97b85f5d57d6f4f1a27b60bdff76d10b6e0d7a2d6755f4a43449c97b00353ee53f06e002a50477a5c76455df9cf9b31347d767c20783cc8240342c59672079a5db352a09b954e7e3bfe663313e82c51e29b0cb4cc97e5b830ba89a825f145b53efab53264d37dbf421390482a18221bfac0f99a7a6fd2fc58d05bdc5b2580b120f2d11fa56d582163f3d31debcc933d801c7dd036cfd25411f972faa4382890dc3776945770fe93119c24348d6fe36180639b3ae16d8c801b02039e8067facc90a9661ac056dc7bd2247d888cd5a1abf811c86f5270e07d7f3554e9bc9633adbbbac1fe4d9a16610cfcde7f67e3eb5e2d52e593709a9e74b97917e55ce4a2452283615141b1898633df5bbd3a1d790354ea30710184ad1c326a91f32bcdf15024b67e5df7cbe4e6cb6e6488519c8724e3aa2f8d185c4461274c633b1971045983337b95dae0c6034c07d8c88ee746a9fb30006da917a1e27f5c59f162e6bb48999865e4db01a555a1c4076fb474f48d3139d9358929b6c09719da295fad7cce151928460f04a067ab4410f98e4aff7eb109b980cb4908103988c6ed8799268942084391da2c215d2ccfce37220a7db7558b4797bd070f5e49ce425d994004ff667564d485adb6d73885e9f93dc5ad252666b190c38ad101874163ab12346fdf824c4c3fda8eb07524ec87ae995b1aba892c3cf68f284613f7cddb3418265144f34c8808fe0df372872db87da36ce33c42b3622694de6f2f4eb8064ee8d86cd070d70a4771e94c3112c17cddfb051479a63468c04547d1f2dbdcb44d2dd5b3b423f75346b1ee34ef517b04835bd3590cf2f556f6afed72b8e70c9bb333c27f9545063f0c18fb2d808c4be3da8077a0122f771ad498065dc0020a3fb17688482dfa927c1f5bfe904e1041da94d987504d2b7721baf33e95f0cd441b1cbd6b4c560a455b0343a438b124ba12dec6cb0671adc4ca5c0d534a9933e8e0ca15ad6d03baaf74a535adc8f0f5159d21825f1c36e666561f3886995964efe5cb531ed8945ef28d56826cf92344e3eb4a9cd693d8434209504eeb6d57d3b64d24e89cf6785f7c145c9fdd387713b22f7b7c309eae02dbd1e0809673d41ae110476d64820dc083ca51752bfc209a8373632ba126a46e2e281437edf523e8009edb0732e74ca0598330528140d1ecf5d4ccf79dd4a81e4b1e87cf055826c9142e71cc4d007487b2eaaf7e4ffa09c5588a8738887cb101ca344a22884ded9e41a97d40921e4a160cd9c159905cc4c451eea377ef7d780f6a7fa4902e807bd35d67b55254c04ca85292a0b7755058683647e15e2a480ce95e9ab09dca9604c96d0bb67ad60475afad77aa3907ffb5843407e24c9ef41ec7c3f1112a1aa42466761e8ef6cfdcb80aa9543cf931f575eb13b478520a2281e04d469f80a818d8cfa66a6cce27f93f58aca5e188969ca8ea2a0accaa0a4d7aef51802cce09f350243fd3f21d4c1c76666f4597deb7d8f3d7d74a60da9234bcf5258453039d78bbe9ce1885a0b601c40679f0abf0151a6795a1b9795cefd7665ca0249c770fb3a2a16353f25388fa300a6915d105f4a7653f8ad08ec659ee096e6044afc5ce6fd1b4d157d0322a262802f3c3de45e900985c8b6a082c69aa623c61b514fe4f06b91b6b11c8470692aca771caa0a8d175ca14cabb89109f4d5e2e20a2c3633dd6a2ad8b32419bc5a7a21f5117f358c36e85000107007b79dee31b67e9de5b907b1fa01d6bfc5a4eed6ebd0d3e37650fc96d55b13fad1118ec158c3d51814ad551df80a0c59ef726cff11fe957f3c47838541eacb9cc9878d74a01b05a1b3c55f82022bf9834efbebda4e28228944bb0ec6619d49edc89da281943530b7f3e571504f1cd14d9b6ae46220853f0c08076880f50715bef9091b17bb20ec93927679c493044b29ba44b1386c8b1768d68d717480e37af24798c67ba099f5584d7227e9792766f961a363546cf479ab815483466f3b7939af76520045b8482b66aa42a727a7f6dff66049bb368373104dd7c7aa2752d94ca5417d6a53ce6ebd8983b65e2d2a16a076d21fe18b7a3093bab9cce39826b35c9c56d33d2df98b392601d1e6d6ad9e971501972db774b7daa3d9174e62b4686d0e3f3730b7fda108bfd50daeb1bca180caa112e35c321e034c0778fa915f31e4eac201e3c073a3261eb75c08a4878dfe6831844d6e4ac16b5d80ecd366804e5954c0908f94b54208c25e48be1e407d8e65704666d8f1ac199a62375dc6275072590f4a5d88a3249124593c35e1b40412080b91f05c29300b6f059b78dc9b88a0bff977507f0eb5f3a1df4719d49d64527a849ddc96b40a9575be3bae5070fa966c7c63561f164e2e29bc84f6180fe1473d288dd475bf37247f0f3cdda67d5a2cc0b7e0af153e168ef7c1fa6165d2202ce00fa12eda6b4194c837bb73a8ca598bd4d924630787d015d4677f3b99fea27aec1022d68cb4ecc68a54c61dadc0c999fd20820be4aebe7283bb4d113cc99c7ad7061da02ee274dfdd0da99d5d70b31b2bfd4ac1b225c4fe433789072d448c13a5b125321065a0ede3f77adcb34248fbc4bcf81811625c586969c4798161c0d57d171699c5149c6995334910c0cf33a9b075b989315c6ee10971e24d0236f4064aba82130cd1a19704a07b8b2398deb4628747393576871cdd85fc2a6c42110a36429cd909af68a016e441dbf64227f97a5c56da41095fa117cc7908053c1c4437167f053de7fe52f788ced5d185aee20b0b2214b0a857f4d08c10826683aceab39d997e0310ed9f44e0d270266689ea360c1974c780268f4595983068cd80e6e9512fd9687cbad0f4f009a49568e215706996ba40eca2c0190f68a679d98335e12d43930e983dd2fd06c202e5af99cf0179280b6cbbebbf0bce215684a53d11e6a2c93920f7ef43a63873ef6a1ffddcae8e3d2769fdcfed9c4121ce3d891f1cd0c6ef694ce640b5eab7ba424c935b82e83e0913d8df964d9b441e3814177879261aa78383c00cc2af04b755723a40b05d629bc934775a0396a4e53d208cd3e1dd78532af154e33d95b0c75afd7206a0ea3776ef88106246f31211fbbca9eac425425aec41ed2f6a7b9712a7bf5e9613df083d2504739b5480577e3001bf8cf21a31090c4eab6a0d2a63c0244c55f154c98c665ba3f1a69bba03908d8d4c3ab4d1a775196673e1dccb2425ec794cd2bf806bdfd1e07dfe75f5294d8f89d0aa9c618309f85a9eee06d22fdbe05bc65309c4209a109e9890bba6e7025403d402c55801eae09f01e3ec53a7a560610111c766da8448ca0c99478f0ca5c33c5f4a6ff7f567175e6b2aac7e24805898b44ae0ec47c840c405934370cf717a1c14b444092ca3697533ce60783b0e6793c640bb231dd840ca64d28125eab1f8953a1c9d5e7d8f8d070f8df51878126f25edf55836194fd93cf4ade1f801bd5b2bdaaf9f54b6963299a8ffc0d929657dcb2a0fce986ea750e87312c2352afc0e85ecc6d2a0d9459295032e4bdd784c066bb2f338a9c0919393b08f61b3778e629f258a229a3740d61c5b1b161904d80834926e181b097d92f45710fd3b95b8ece83887195973b4aaaa92511dd0c5c89ef0071f966c7d37c6341ea2858809d041e57e83aaa1b592f55b5351fa584b4edbfab243cca6b921672f87b42e99864860b989c0be8385c70141cc0370aa8dc2ca55e4242d9043ecc5eee41e0d9f56b79555df1effc1f136d3e4fcb42488df58f5dd0cc1fd25daec63c29b11b6f9f7574a4a2b44ba2238c81b51d1354df0d5195a3abd03e0591c9a8b68c678f0fdacd70706812fe5558e0bfd9aa0c736951341d75a291f84de11608b023dee1ca407a120f7ccc3901658dabf93508a37f9db49898fc5b8edb0e48cf7d0f2a1b2004c09d635d8acfddd076ebbaf5387c9f7e5740892101a4a33d224c1d7834f7f0f8eab81c7500c769812141a7280a8501ff683ff0896683f9170397ed4eb83b063bc550b50cdf6d6a6bd24c3d5712ce3c30ccc4807c05f6605f8272348d6ba40cc289582e5963bfccac8a54259e7ce5fcca65ae0acb56d4d22d0ceb1412ac9b1e3d77db425886eb7b6539e86827eb32c22e4bfd1c7c9acd58a80cc0a192ad6fbd62ad0f7c08b6464ec62e7fcb1c72bf70796f25bdcbebfc957dc7bf9462b209328c35bd2dc0e967a57574dd0fd6bae94da6b5b398cd9aead880d779609012905d591cd266b41c6762e1f57aa680f41986522d2b6b20d720a5e12d606e7c222153ba7b0d619ec38c3c79da1571cbfbcbb4348a6d5b955c7ac325e6a1dffcba6337b390bde4c34d04005861621e52151b3c174f9c76fc100519b87ec026b5589f3853444459ad83a33290562198283b170df02382723ee7b62a9b051b5d2ba0e94746a51de6db5008d136fe80f3660e883acc018fe23a36ce260981b4d43f2b321e905e5de9edab0222c6ce4b62823c2c02c705d12cb2806d3a405d0d430029f4383e131ba1179e5fc090f932916ff9e759463c950eae3c86d61f6db7bae30debf6d63cbbf1e1ec0fbf6ff7958fa9db6c080ddd846c03da4cd968b6d40e80bdc49f2c81b709f099ba0493d5016c4fc20dd69457430ccaab0cea2d767514f2f80c6d899353241b9d3ce3c62cd3f20930f83ff5935eb5d76cf95bc157eaf881d6d7e6ca6906cfdb36e5fe85a022e4d4d4cab116ce0429f399a4fcdec2c561c4adf5b7ec09855dcb3571302e4ccfce47ac3c2a01e4405f4048e184f4554f1581c0236b5f1d24324d04b522b71a44b9a812a9eaa1d2676bf79c4ca5fca98969fb5d299bafba83a3942459dabd2558c08abe7488011900007a486f9600232bfba6494091050a1b6af37ae3443d459e24e57d3234f54843715a7cc2c092e85a2773f49e42fe76da16a1b304e266493ee8a599dd1fac3344d6bb813ea0c7e5b7e786b9802979679de5e1bca339a9325e2005c5427abe86c0e99c4ca247922703793ac164ef0a47c2a0b7378a671d3ed083c42dd49a13e381a0a5537bd8b36987687aaeaec28e48d8e1cee47b7989f56ed64ea35df887e812e44f6bec78c807de5467cd746226e64a398780e6951c63a25a6d1b07cd8189b87e29e481bacdaead5c22b8042580a6067c13eb395326c1840877b2a69ceb786fcf015f0b484efc4ab2b498fcd11686aabdcdb579705ac6279e505501c032efa845d7c18cfdbb5d9f6e9a6917f3b7f445bcfba1b12ca05f220a29ea0672475ee149f7ed3cd80396cbe78415c8f10bf83506f740e95fa0698210e594ee639970e5ea99c29cba31d1851b0f5a40b3c471fc31b81cb079235b99e587872d975359211736df51e33d1f1798214044b34c1c3766d640144549f7ebce7886f93baf13afa7959388963f0ac47ac42595175d24dc4be26fd686b776232ae3fcb0b9433679be82659c8b4bd84c3a22f500a1ef0d6d0fa12288c9dcb7b3b67d90b556b8eec36d79b9dc8932323fb9f9dc19362f1236c0341ca0c969f720ca44147d15af953c758c576ac6c89abccfdfa7b7666983206d82e5666314050e20bab24d3f4aa7bddd69e053d941184c54035df4772d51ca3f0936c19b8f2957e3e0289307fdcc99d5ef5b49cb09cea11c57bc210aac2473846944265ec17ae4647f794c0942e7c9a8477a13fd44794a14c3e95ac8e522fd7a9c6278ebf0e6a505bf5e223c65998ea7702918adfefc4fcb094ee888fcfe6fdc0a5f92c14b9313e089c31fdf18998e3c31374bd8b9ec3f8a43057fcd7ce40466b2e57c73e3edaeef3859cd69f00f4d7643a99eac778c1f8686b1d1137711a3a4e2a9a84964b70beb28e93e5b8ac494763d0d5afe01162a7b369ca7395606c3ae47771df65e26cf58046045e91195b25e1227668f910ea45c2938c3a4518d19374cc4a460a079792873ebcfb0e624389ebacf741f42024f649f738570a81a2d7c3c861fe2a590ab9ffd41753ae93a32a378e463931704b12598ebf69c82dc59ca68bf88eeb27eaf38c0e3ed03cea7690c23b55b31db18cfc59950b4105201ce7b90f275c571898fbef3683b6df18fe40dd916bf2f90a576cd99a7d05806e6bdaff86c12d99074e8bec103942d15928292f61f1543a90e2b24ce7a848b3ceb210a45ec1347fdff34de15454112690b5beb60a66589a99886789dafe30c10a1b87a0b86fa2a6b0a4071a225a4ab478f7cfeb90f8beb69b5ea386eda5841dfbe2d644825668dcb5956075414aa661ba6f745dc26f2d0bbe3d3940ecd700a4367dbb4f7eea9fa136e9e90801e6039a5b4f1c2a2307635c6ec20dab568ddae691067022a8ea7d4033484afe7d68a876a02b2e5776a4f49253e018b304c9dd421e699e688e57a37a34f7bdfc7e1e4dd183f49bba9ac3f051f410201a817b3748ab20f45a60b2812198b278d852464a0bf6e639c15c9b0b1a150657c600a5349a8edc5337390b1c09db9d20c24183247b680af418bcc3e3712c5f423a10a01585169f3122f537d10cb75d9c82ae681be74876885bcd803ff054b10f50e1ecca73eeccf35a5c4c56600d4b4f24eac856f7c8878595b229c4265cdc4c19535ec109c9dac0184aa11011193cc36e15986a2bb37707bbbf8746924fc2928a2de17de81414120340157e3143b057a40547e5a6bdcc69dc46163eed16730a3c40d8b3e3e2a9b596ea851ce0e428ce8bc0775f3c73fcd845ee5c8a2ae34a0d8080a01eed11fd1b43d5b5e9300d0b356e0d8f9acf8fab0a319944f92b88eda2a7a49b3c65b6fa59af7c4c0e6edcd934c74410dd0820315f321b8a93c3550b1ba85f88ab42051691e39f908658bdd1a63864f99b4aafa93a4701c862464693714b298cb01243c4ad0e75485fb03aab94e291bde85f7b70eb893b8e695e10471f3d82160cb30de5b795920ad9bf4f89e6b0a7c3ee1bb7de60dabc54a21607529b8f7484827f72d28db83199b4174c769ebb215b039492d8c4906fed3bd91d7e81997f4e88c1a53be618ba6c7483cb2c67dc6b1d0f3ecb9e79ae41518d6fc49241c818ba41eec98ecf9ad43e815ba6a6c260f0182a8dd5d6884846944d2ea8ac4321e83147437322b30ffa556f26558744ed28278012f6f3568f039590ca1ac182d4c39ac01dccd9c5849ee21673be1b137c64b681488cb56af2ffd4e00501e7a57156222a1444f9132cf14b4a621d1154117a65ff8c7e4d2eff5721f4220e1aed2a02bff7227e9c9332cbf77bc3ccdbc3ff776067f3def0180c8aea5180c423e6e2fd85aad46a7fee89320054bae7a0ad04ac5828f6936a8e7d19096954887aef37e7fec433457e4f757f62f32928313031752260440ea738fbe3823e0ad93e781656992adc1920eb68d86fb8c068a44f90d6adb7498560fdb0306940d18c9fdb775e16f5a537ac9156364d688bd1e39d589d669610e5303c7a622ec0c3717f0b781eafa5f4cc47005a0c78b675082f0c556f447d5afb59971a18e4035e509bbb9554642b7d84bf93bb8c9e01dc421e67fc93914271ec0018082eba3b5e1d7843d69b3ee40bbf1f28f762b8a97048fedba1f0c1f272d64a6a8c38136447545102cf04f193c61a5742303e57cfc0ba804a5b6400acc06161454c2ee192721602bc546e1abd4db7359d95694ce0a0eebec7056ab4092abd425fcd02f3b880c9046b879549837a2ee3ba34a432e147433b84a44cb4a5f1d3ee3828819d0d450a26da570223838738f39a4758f8ffe680e99519be3ce8b73005e66492a4786f37f6fdcde29ad24403e08b789dba61be11b0fc9323c4122360b5a5cd020bdb160a179b29761d694cb8c6ac0ce1e406c38089f489abc770e099d8c91c09004191f75a4a2a1ed80dbaf03af9cade1153557018d010580ca3291d2b2c527b38f4c7964ae4edbf53d89d11bdd2cb4abb33697f784dddf2d11a4d09170a061017e60a0f4b81a26748e7ba61c18135b2f7fcf605f04ffd8999e306f10125d782cfd78d244418daa14086dec88856dc9ec061c75b1f5cd12b5f5085a68b80c5a38a29d0bbab030e6a787b1985ce145a3002c145694c12302f60a33045137811ec8c3efa571b801e82f6776d9259363e4de0b4e7187536d9c921a11d8382e8c4212d68bd723e24ae26303d23a5f37074195592744612a8d2673b04123498f28285493159b8ac9311e8516ad9db191536f32702c87e89c4b11f593d056eccc988d4ee4c15048ae0d689353b366fb4b10e0218fb4aaf41d0a270212a1f5cce11a1950bebb8e77e72feb85eff45d238166f2d28f1fa20a2718a11d90a849cc8beb834f75039be9ddf891f8c47eb8282558859af0b2a21789c38c317e234adbc57b7fdf73591e65d69a912ee34dce8d3308f31d59904923640f0dd2324eac49db493c5097051b44c62d45b09c413458a829085209e283b71ee7849316bf0049e618802e7b2937b0718347fb1ab47f8ed44767eb1a2a111c5f633804e67b4b9e274c95414bf6ee89291874e3cb386ab9d39bb88b85d61e4dbd1c72c54b519c1296c4ef22e3e008204b9777f70c6e76df03866bac427815f01be48352331882431629e66708188469507415c1a12a1b553d0792342acc256c0291eebe3d7580483f2576480dda2ba4c04d6218286dc1df70ea58d6284816e9f8948fe85d4697adda2cf125985ab81905643078a00134e4a38c8cf594924b4383b2dcca32f210b3992a8cb6283d8bcd039c2eef562f10d0145c95d9b631a5a333e60d2d0b9cbff3f86e547e484c9af8297cf1a92de02ad011c41f018186ab96f2c3e464dd1b05a17c85feab3c410f4b919d3f9e1ce41ab45bd85723839023e46324ed792e6e6df8a09b9b1c4aa024d68cf97c26d18111ee3d8fa10a968776b0bc73c06c6a212e7fea1efb48914c39a4d041bb39bed1fe3b9ced09707590154937e806b0939845f1419c65f1ae218b436da8cb0ec5009e871585fb10d4512cdda0b3ad159ee21280db9bc0ffe2656c4e90a81016c3bd8d494a854c527650ba882b5b56c7d064ed5ac930cd600838bf95400b78191eb9b4081cd9fb7dde5b865b096d58186e602d6efb056240926ba13a3e6617be026e9d14f1ee54488029c9093bfc37a63922968220082a347f3e97b562645a9ee17318d8060c95269ebeda7596f5d322c0bdcc28855f363356e436e3dea354d8e66450cdfb06ed152438e755d7aab132a992299a560f59d46f8fc9c4866e646a4fe7ceaf718cf57b3673d650c90d703e03a5a668d7af3e80466914c1d20aedbb0b7594bf729f4b188e7028270bd3c9914cae3e0f9b3d92a3177294b0c22a0ac3f8299ca2ced400fa09d4cfb9e903c7cecc487dcb9943ae19348a9e851780277889d607b39a1f704422828c2e2b3afaa8f0cb5d95dd3ee6948e20aa95522de3aed35b561947d366dba34f0ceb78fb43f2481320231832c9216dcc0bdabbc4b1a1cc1fc810f3743f5bcf8003c3d62a5fa57389bf518ba6576808310405e2a1987980bb02116030a58ec5efd84a4522fc6be9400e1e6318a46a44b8902d27b2e8c246d4e5612160b354151be9255a2c22756f3408c38578a5628c3d966b0278fe314d6929cfa3d814a961326e4941ceea14e563bdf113177b5db3d116d809cab5644b2f1ff2be2e8f75cd6aa7eca3090bae199e4b0f3875195435dc768b829377033b19b184c7c4cc891c4e6dd968b37223427c54581c58cccad3f31173d024321a9bf1758c6f142963544847ea7bc957a14c3008670454155224294c450f1233a3d7fe8394f10f12a6e599df3b4ff16e9c8c9f9e7612b1580e63ab1420fb150722438e5209c9c7f24e40b5cde7f5d54c69c87eed3c684e8ec995029253b18be53d5d053039762a78471057713b313c36c714dc4fc88339498d0da615a8095d4221d1eec6318d25f3948abd8191f1c27e742acd86977a8b2af4b9f766b6b501fc8af721969cab44463b6cabfee4d07e9b35d9584896c3de62976c87ee35fa94d2695eb62cde4c0b138f2c93707c0643b09e6bb8aa8a495eb39e6f694c19a08a910d74e0b61598e802f501d2d009d1b9481368349baaa36e4a90d08df7c1d44ec7e7de416e028cf916609ae1d524a0253bd23816b6719406a150359ec61f894bfa481dd82c778fcfdae1f946c157006cfb23f83ddc25b1e467f4579a332d9905562decf7d8df937652c8b3b4a9516ef910eb8b9adf957deb0073aff5027693152c6735b452bdda8dbe2f6042acf9f59cc4c42559664f6f3b6bc1d989ae4bb0baba7beb94545a1bc64818b0e1c12bd5b283420e165b8401fe75b19e85560dc34a8322242592c494ebf20067a711842c0e7a63f8085ebaac217eb554affad6e7db03d13dd9768b2d7794be950da0f31fe284518624299eda443b730669b5f114e46edccc2dc1605c9823d0e3d45e0d8ad0eb23b6ffcb77082e30bccb380ad12b299f1662b4e08d1849c586402e186ca7262b6650ecc447382bb71c6e967aef2d86d58a2cf8e179e335635c6193b83a8e8c69b11bb73ae58c6d48e1f65f4a2bb4787138d53de27bc1959f6f27b74331dbbd9b0fd8021dff05dd7b0f2c3c6cfb99dd580deccab8a44be08897c2cf4e57819cc9711d36b8e5fb3c1b89ce7cc8e83d781175eddf3a879e1c5a8b0dfe1b40ceba0b7bb59de6b3b459f29c5a25a946388e7f1427d628eb7a31ce4fe8a4e8c3326e34cc159cceb31b7610a166f2ae7a99093358ae98c39925ebee381ad2500b9425442c411d201b180308c102b4dbb3951390f5c1eaef2722b581607760a421fe2db46732e80fe44348ead917db099177ab86104316fd743b5c4b240ecc7fed815f091e79c7dad13c7be18adfe657123848b0756e452b4abb85be143a408d710c62ef5f47a9fdf0a33eda3e9ab258f79ce51c924fc77f5c9f1b401031a4693b15ab213997c086112c7ab8e9a81a0d831613d016d2e11ccb4648398baf53c62791086589f329c4d1f341893a0816a849fef2dbb92d3e01ad9426d341e33d1f6cd5b5c2e8138a661eb202ccb790dfbc1f71877caed99abd8877c68933ee78959d6db3fe383408f9fc6ffcb4f0800e1cec4708887a7ef6b555323d042128c4004265480bb281a56dc4eff610aea27867e2262432af2b9d16695f9d0021184554b95ebdb8c0473a025221734a8b9554078ffe24b7e6abb680f29385bc49892e875c7075d8393376f7a3820ade6b3ad02031c1a27696fa40dd713fb3c7fe6e142b649642949a0c7e44a2dbb77d293f0ccc267826e8a1ad88171c3136ea775244b5848c8b501f3db79e3c091e2da3188d0d043f115c4ef18bb134a9336cabd209630ecb4de7d123ed5d4084f0508630fa9516b6f58317beec3ade747859093ba193546fda89bee43a9a23dc8df01b9b16402823c8ee816195b2509c08dc9adac6cab9db95312afd62d54f3f06c82b54ac026105849b44c89551c2cd6dffffcb13c9b4035e6296c687d6f7f1c33a609be4f2047c86b86a9d331d9d3ff0e4d3581c1517731d42e554447b5a7c6cc4f218e1c74fab052b9c71befac6ab3559a234ab8c99d8b2ddbe7294024e9fb56cc5db13f5f1c91cc73923c238ce032ead76a0e11280191d2c00653b2f911485fee2db4cd8a6442559e5044bacb64967cf08635eb163129f255d1cd7bb4ee5d2a5d2ef63fedd81eda3ed26c956160fb9224033d4117abbc442c4558e0c6ef0b053d639c95efedf3d11d6c53ee1f20acb7127328c8eec38f906b64f9ac80f8b925bf9f3cc485467a829581ebff0f03a71dce33fc0c57f7173395a4471ca4aff00c333c841ef2b10a44053fe56a05609e506e2e94b349b96d6ee722eaeff9e89179fa73ef5c925b90cd7554c1b881f182981dbd0f0c5e6ef545a20bb89fde41a1ad8ee2ce1220458f1d083e725d2dd161b7c3a4513717e281e81be1bccd963a1bf0df045f4cdffe68621767ae469f6bbfce1634bbc3602699d2c10a422aaad581b90c3fcbbdd6e79714b1931d3778f2c5392ee5db82ab8e42d6b96ad660b6cf46dfaa3c908f165f62516c686696df43b89c9256cdeee3655030fd0d434ef1d0be4a3603e526f68da209e6cb5784ce92e35de0136cbb70f169ac1c3ee49d41c605721de1e59bff5a8eccfe0562809ccc5747df8768ee1ecd77bb74414536f95d98cf5648cd7caf3890656d2fe14e5ebd6199031889b7f3d76b74293b565214446e1dd554778220bfc57c258d174a27e228e5ee112f8ee97ca3f808f65696203081ba9e2ca16ded8945f5c2e77ce1d794ac78d36cbedf0a7a99afc4664ecd07a9edcbf5a9f69a40400380cae3fffbec28b441b51218f8c95327ac837701c4ac21266606153a5aec5cfe586c3015652c6c0591c62fa44bdb6a0239902f7e8606cba55a0b6fa0aff6693a1c892f00265665d644a9abe13319b9dda25f74fb90a09794997bf862d5337c4ac629e41921ab2927050b03a64ae3b298bd2c6c0c263a0a7ce8c7e00ceae12ca9c98b81d265960f2cd39155b7513ab1e81b2d26f3839eedefba3490b2698855ffd78766a05320ceacb1ac6d9b03c5d7689a0e721b408eaaaed66ad825b43465cd0f1968aa74b10659ca30b21c7e593e00d4d780d8e76f5034f3a900bef81349c68c82c254ed76b4277af8e1550d252824e461440a950cb5e0fa7a725925238c88be98e4f06ce5962b562ca383178d8e45c6f43ceff8d02ca8a33b97843d7a9a4c7db51e3d4662ac64bee232d305040210d25dced2a3ee5f70b33cc9f7e02c0515dcec1c1bbb360b1d881ea77ea11aa7b3af9b6b22dbb122f1920d48f339e39e671b6594f8b691635997ef9eb4d6e68c94e8511c8299136ba65d6fd78f031e708e978b0894abb95749b3ba362f1688ba133ce8da0b89ba40bb399ab75fcb26804536968b896311ea826ddee166af2dd1c0628e5d46cb1c0c314faae21852e9012247e2df5bcb534b5f6d9a9c35259342e0fd74a9422221fef549e412937e1c91909ec38c68c6ac82060913c1470632b302790bdeef99756fa92349dc6f43c6be1a76d85229467dd49a6b7c0e44d3fb53317a2e216a1dc817dbca00e96d562e0006a161bf12788274ca3b1d8eefba675f8bce42c39bc4453de5051148b00e126b15c884aff75d9f9fd31710322770a627af0edb9ca2837cf09ef3c8a46f2a1937b13792f13215c75ef2f020895c85927f203065cdaae6b5a48e212383bb232db3f2c0567ea200fbe75e8b70830037f99fce3fa5354d2db9044cfb0bc4b8f4ebcf3c7d034478c5626c959f625af25696e96b016fce881e098cad0b4298c8b6c03c36137a6a3ac664af9dc07de4d94d681303cb0833f26138af5a982bfa9b5e205ddb74dc5ffdb9022c7d2ab5131639d37a525ec5cdc9f1e62aa2ee08ea2a2d75cb485d19d629a31abaf504ea6c4326283307f385071902c7cb8bad4a683b893b1a21fce44d48bbffcb54eea35d0182b55242101f5d8be5a5f083191bcbf565cab9c50648ee5613ff8bb279e9e29aff517045d32a1403805a2f21ce7b7384f91b39b860a4d7a932ef53a15e78c4dda5db3a5705649ba223a6fcb1ede5dcc0dbfedfad9f9236e7de98c0611dc29a1cb28aebc2d76db19cd66302a826252c47a3a7d65557d82f7eaa4061d745306cd080736f5d9530017c45e9b55ac63b8d3bc23ac47dc076481cd79d9a92fca2773a337c9a89672d66cc114314445f8e0fafaa53a5f7edef640a722eb4b544096b30269d5111d47557936a956695d361817129c16613b1a29ffd0a09e4930293f4b90fd99f8045a05d3a6423bc9045305558773d52b799f35d91bdc330bfc84e7f5cf04924f0857ce10c4dfe5c1001566761bdb09a0f4705acaa8202090ad7848b97157584a85a7dda44d0bb15f94723ffad50e92a08f38a263808d04366582e072595103654d8803b9912aa41ac8ba63ecbdb99a5ad155dc1338f33837290c815144ea07fdb6e9c2a66515eb638ddeb14c9be9fea44ce98c61bd7677eff96d8756b4931048dcab53d24a0f1fd2d2c132113b1b1441d221f9314a303f2728ea4d5c8ddfc717cac2f0204687b5e9676545508e159504ea2f5416107c94dd7c7117de446cb33a3267b9386aa26026b917eb0048278998a05a33168134028452cbe17bdf74f96098de491b9e5591c7c14076de6f356581a4edb548fb996e8738508f533d0cc761da91030f8f7cfd59fef784c1fb2c15b67f988e5af5e3ed1f0a3c1483d38a715ab7d1fbbe8faa1b59c70c0401ff11e19439551a6c4b0bc60492d4e7d55fa473f8163f8914e069908ea199704eedd8dc2b2c29a4cae4e398a8ce6244544c7b8b3366bd6432eaa416535e20f010ea8664db2703fe88b97d332179d6c5b812eaf6126657c599b06427ef0544335c97828f64c9b656848c4eea129210bd37b753a9de03d9b19de64ee6aacfb993a97560c061313b0c7213492fd7d682e002d5740fdcf75fb20588d2923b129bee5299c9c51e6411089ad3936d9f624560dc4aa2f2d8ca3b14d097b575607b1f5ae00b127d97dc027a527b1af79b5b8c9d161ef4cb10c552610667a4f6d02715007ffe0faf744cc464fbf55ec17e23ad54c52cf2ad2ccd48059ea907a639d4b5f464db08648aadb46ffb0e4fd32b2a846f60c28c82e92e97d41b31663aade94645478b156cff09bb106a1c9d4530e4824e3b47251d8785ae7ed300dfc9d648a785a9a944bccf215efe664b88af4d26fb0cba3ca39ce9186cab0ec6ce137536bd8d9c102a525ad73d54c2f93d7f6c08618aa86864343cb430bc9cc44af8d87c69b4f94c840c318363e099cec9aec1ab094232bcea27a1797e62b044d0a8eee2d05e347294cb62bb6292234add65e456a939605ae27224563ebb89e1509b983edecdf1bf1086e499a19dd369a83eab81b1af08a5c29dbc336e1c737747428be1850ebf9143462d67f561e4f4f7bb4a0cd9a458bb8d2c15d927787286ac2de8e08c4e526d3b476378baed8e9a36040ba73dd8df4f50e6764388cd646ad44ee71d15b5dca28a5f480f3fdb5657b79612005b50f05ae4058baef9fbd065e9ba3c346ada37d91a270bb4c037515b30bbfd0039ee030e735ef2af1e4a48a17ab8a198699ccb44272c95e82b7c9d168f4347e474b60ab22eb8756ae1d8c9d28d92443e6b2230ca00f641704c7132e7ff276b2201412bc938114ceb276b1b31098d13990a22b1c6e8231547a5777a9c52120b306865b38885d0b47c60b5bff17847d12b7b7c84a2f928149e2b7b5e0c128172ca5bb8bfee311071360f4a897d417d1308e37bb3d2a8ec996563631a017ef8ef894429bb4d8a6389564c5d53d155e0324ef85284a30173a8021d05a2e4802a4f11184c2284e04bce3f718dc80899f951e32d8c7576ca42cd4d343ce9be0c672fbe63786d122ffd52e5f7cc7b082f7c751a59ea381c3193bb59bb5dc070cbf821a31ae6e95348642d104fa59ebce2af7623a4f08a08298af8230b03c2c08163d57c29863f0099f5282a14ffc3754500c5a7a7d83f293722e1997f3301cacc3f2406065b6930c1f419f3484748c72cf25a8ab7e1ff0027f4d61593a056d35c0fba03998b04910f7a93a9b21fd2cb669c165f6c20ae3cc21a338086796c084e635d24773c72aa8de841b0b73f4d72707643d09165ff3f77d535e7159e143d3c44f59218233731c8d341780c6906a8982e88e354b22cb4990666d56b0f89e344e20cd8098336a86e6720ee2a96700d2d273edea5fa3b8b9c4f4c20aa0b4b058627eceaa2e5ff9b55904d478a6ab18df020c9a78846276a131889091ea7bdc09061fbf074f05151876283c1fa572d84b4e59c10537aba726e5e5f31970ee034fc701308a77633aeaf1063d5c2a567c444fc8624e387eb5e53d4b3062cee4f3196cfdefbea8fd557659521a5d9d92466a11d27d7db63fde155404ac037e93fc061cb5a93cac1246605a4675401755780903ba9b0bf8a9c1fbe4bfec400711d105a9403896ef9319ff8020c851c27d3e0d99d704eff2a3057dc7f10e3efb35dfac18aee0b821a326661f394e8711625a5bedc59c173160fc87a7b94b26dd12b84a6e061daf205393cb29aa8583d893bca07ef5a582e1fcda96ffbc122dceb3da2fe5064bc3b7976d63e3d9952a686ca6652958cf2604ba05fa9dc715cb5c7389c38b4a18c1bbee06dd4b877808247018d886534beee9c98b2779625c9e2208cb2d48b9eeb15af23a063a2806a979d26797b07bad2bcd783db7d92b62c746c1a01f3df2958a8db89a6d1cbc99c6beea968cdd8fe182747548199c5940187a6c52fb68afc5a4407054acac0cbd1f0a3f4da12e46843534452c212790cb5c089b94889caf6177b24e4114ae4bab32dd51d7fa1ce826b723b06ea80e2d889dceb3874fd32136f2a55ff9d6a8aaadd8aa3825b824db931c4f2cb072b09c6110945428a00dd2f40768dbba0963559db3a8216658a3fd81304112035f6c04bea036f948caf19409c17372f9aaeda6be5b3c1fc5563f7681710d29106c0c182a6b224f5ef905a6fbce5497827c434f4b47c62d43ea2798fb37be68b63058bfdae58d89e2c6391c601295008921db9c77150666d5ea7cbb604f314ea9064e4788878c14696e814b76b0085e52421d2ee7d2f29bd7aa18e716c23de51cd06cab40629897d92210252783f90481c3a7966f067e6179fbb5009af9002e03e54116456f1a63297c6af55cf8f3b126e5cc0b3d9e481eca8436d46680a602d4c7232b3ead3273a9691cb1145777f84fe4b64f62c612920ceed8a07a4218eab47135bd95118c7300d535d9a4e7780ce535dd5f4a37a3777572fd84715ecb836732c61075d419cc6877d045a019ecba04fe1504b40c54205e19a7033d867cddceeb494e95d91d8d33273d9aa1beb99c3eb5515c8bd19932d2c7f707e2a93e0ea88493c20182f10a8c98af7a86e15000bedd9ed5be183ccdef25a39f29b78b413eda7bef2db79432a52403d50cab0c6d0c7fe349a65a38206d2f2861a82e42f8452ff2aee8f98fd89229c7f725b51926a82b3e3086abf19a37a1de78e293932e1d08d34ffa4b7ff821c67f1da5b5865e3c842fdc3673a51ec1216c73786dea9b92aa5eaacb498fbeefbf56904694054893e3856d1d7fabe51c66c7db5028f4b786fed2d0d3874c02a2628b70175a8fce65f4437c8fb79dcbc833b2001f2fc40b61475fc4ff783bf29200f2427c01be8737c4f7f81e0e44f2767897eaf06eb55a115d901775920563fa7374f20a18d32f43860c21ba200fa413e28be8a48fc3f48b3ace02f1644a884e06e9e40aa8de0934819c3453b4867e02c5130c1cd499b2fdd7e95ad2a31cdf7ff1e0da81343b2e1c409a2072104d39e01cbd001f0fe421b7009b17e221a7847d201e143fbcebe430ad448f17c283c24589215e8817c283a200de3584e7227201c2417c4f0183934dd7400b299b23363dde479fea8d974e8e26eaa0d546231d39baced9d110725cef709cb69a6f3b3a1eafa3abf91c1dcd8b3ab6d1e4a44bc76172c035f11479c0353275fdad3407b65f0b62e3d1350e8ce9afe93a497ffd345de7f4d71f44c7f6d2c1fa658a6b5a059ca3bf618e0b760a82e8a01d351218d3efd24c604c7b2ea21fe27be4d8213adaa477f48b3ccad35fff8c13d4cb3eb645d7c9bb74cc5067fcbd746648320ed38fe32f8df95bad00fe86ec0c97bf37ec8c1cdf311ee66f08007fab8d1180bfd4c678d8a4259ea7f448c7f777a947a26fd2f70e48337a020ce02f5591f9db76658773f4af3c84d06526c70ff150c838f9018ecd10df83d4ede8607f40bc364407054bd1e408269b2868cba68a1dafede874b0ab8cbc1d5d8f9b941da2933fa8018e8d8e4ed49f7c203a13efc86ff904e801b47c19deb1fd39ba06c018f9324e72005cc249381a467ec32956be8b7c017837243fc6bb553e0e4f87951f00ef52f900f06eb5309efc1de0132b9fc66bdab5fde05db63f88de477fa2eeeb4f7e6fe33f0f72407878ff1f3a22a267ebc37df0be874ed45fbfa83b6279e8ae136efdbdefd1b928d1e3877897213c280af09303201b287a7c1432a0c0c1a60aff1edfe3b324f5622acf7b29f55e3ad74e8fba27e2757a64e3fbafd38d0eda6bc706119d8b7bf1641397344c7f68552fe95d3afdf587b050e7df4b67013edebe730bb0f921de39257afc101e143c032fb401c8a6c7fbf01a1db4b683362fdd11ebd2dd1b7687ee3e8dee7eb64717ea2e8432a3bb5d04db2fa3bbb20cb63f467771b45c3a17427971e95cafdd757bdbc708abf473ddbdb460fb37d91991f6c653b3c0f663ec6344fae87c7c0184781fafcdce9fb921fc3ea5df0b65bbbf3f86941002470a948d8d47c40f61f3447843d8d8bc8d77a16c076d7a74d0c647013c217a7c8f8bc7f6a583adb623353d0029a64f8d6161ea0c2b5355794274c31988a0aa9985a933f480c91970408433e49c014793317a14b9777b948384a2eeee769fda08344dbac7eefeee6eef6fb48e4ef4ee7deedeeed4bdbb1b4692eeae5a547e8fa3c8ccdcdd1a179ad6e9f0c15e97afa53f785da8c52c947132165626b7695dc622334cc3324ddb326cce391f10a5ab40f267523af8c91e183067f700ebcf92030c3f092f1550ee47cce0275fc588f5993d61fd39caf901eb120453723d1ab747392f8a65dac6a9ac4c6ed384fc4a659119a66199a66d1914182724b2bcd84234dc9d5fc0d83a48e30f5fa443066234a4ccb81f52a61fe380b495814314f216c6461d0a185b86786c81341ec2a94c6dd649f849ec7200f34b0806b955a807f9bab81f2e245a2dc606214d63ac3225b256a2af5fa667d4602f4cb5d80b7b3a64833368a185106280ca42caa69ff65718d8fe961e71b6ff470756ca77388a251be3e7246a0627d6a960d3502fb5a1992a16c06d2802154af4af87623ebdbc289a8b2638a5397f7a6cc3aff5a0decf72af56f06c862612aa884802d2402ba5c4400cd24005313441093140828de4823dc28315544183a036705102948d7ce2048b134c2ba594b2c6a05e999fb00b9bbd2f6590811065f08219aad8a18b7aab8c8e2ba260e516785828a59440505969e5cf1021439561aca15efa43afebba4a24883c93042df095bc220631b8aeab256402a008e915403095c0748511707e9420a80573818c416db13005052c640fa0c0c5a9070562e889c17c43cf0ee60a7a7e20bace98d7288f3693206c190569b866026918d2bcb0f19ba7474d7a44dfc5509b71d8d45f7c1a2aa8b751b65129b0f15fc053031b63efc0462430668609187571d8cb3e3d42511a71c4ae33caf8ed13ba42bd1c9f9949ff9390936e62e353bf60a05181b5bbbbbbbb7bdd1ebbefaec88aa4c122dd605f82b7c96e2c35d992a5d4bbfd31ebaaa08f7552ac74f74889883ff5ee91520988ff944fbbcbbbd373e2b212fbd82efed1a561f843ab1a0a61a1326de98246d96bceebbaaeebbaaeebbafaba1a49fc0b753dfb3014fa97bce4252f79cd6b5ef39a8cfd10b63448bc9efb1a42bfbfff886dfafdeddd7efa47e8755dd7753dadfd5d0f45975c6950a4f1e851439a17d69f93401a68fd3987956834c850b9674a5da3c1aa977118c7dd330b9f074cc96c332da9179568d538accac35679a8f22a2afd59150af488024f4476b2fc7db1736b128c9f1960e9b80ef6b7d595cb520a3041df47677f1987c62e034eda1aa6fbbd7ff3bad4afe2ce2a688eeb327b61dc9c73ce39e7f4386ebe8fbeaeab44afe7ba222b33dddd507bae53f1eefc6b5ecd73e2b2f42f4b334ed21fd651c1f294e525d04cb0744e344cb44c3829d20c845695734258a8b2fb1a00631a8ac1f6c7e1d970061c2d0b0d8a6e5f0fafcb89006328a52c0498833efc26514a71c018fa3e3ae430f495f030d4cba84ec1771590463efda6bd034bbb0696f60b2c7dfe41d1671f86d2a3ec29f6df37a129558aa55128adb5ef6b58778f1409026df643d8621eed6f86132a03610b637fcc840bc259f7180563e8cf7042757b1935247b77f13f625d8464d73ffb2316723fda85f6479f527a3f4be967cefdc8bcda1ffdec5fb2f742fdd10f99a18aa847a45163a0d49990218abdff4eaa950c6730010b7e94500e238550592c4c91e1894826a29a0312df3d163a3cf4206477f7c836c61863fcc177ee1c9f3aa594bec728319718bd62c4e835e51c983cbcae0bbb1e6231f608be348c347b0843eef50c6bf5c1940feb59a7c3bde8a3bf7edac9ccf0e8af3fd47f3f1c1b1db61f70e58348297f4d8265fed00b3fb422c6de973120b13cac3f1d83cafa875260fd9b74c4a67f70a3a05aea2386292fa2400031486185185436be7cf1041cf66e504c367ea450bc60e3c73aa788c20e5680062ed4610e279b2d48a10748881c8627231d14f6e56127aa542aa160d22ad323153b7f868829032f34ea1116ad002f0e00d8abe3c20b9dd80b9f78610752f042142fc4c1870936fef70514d8f8325fc8828d3f3382a92fd0c146304cc1c64fa24730158624363efba8e1c2225ed76572c1755dd745441d82fcbabc40037b5dd745441739528a2ca0c0b2210b5351a0814c6361053250810af99a7fe45a477f3332fdf18b0b8c1bc3d842bdd472e47e5001df73e98736a28661977eb6327f656c5dd9e0d2b29dfeac68e96f7eed6f7ea8bff9aee39deff849fbeba7febe69afeb38896dba6999fb117a42f5d776a2c961260f64167e93939a758415325050a3c9496d333ff2409a1976fe1a6e44829d6f063bdfc56abe69dc491be4b2fc5777594d6e2f58a8b30b51acdbcbac78ead1dd503dba9407a847d77546500b3d82a92e34b1ac962cd8eb4d8c40028eb69f3f048e567e3e8e4ff40a802436c938895345b073328a0e0f87d01aaa19c2f0500a767e77cdea28dd4a5d3f67d8eb3a339c876b1c09e7987fbd7b1e6c9aeb49b0f3d9e4dcdf986fce49e7af306b0912ae711cc01cf3a77f21e6899ddfdefd9cbc37b1737bf72ed5018c7115d8e9b6a5d8d9393b33fbc5d16ba0fe6690fde96f76cb93b80e8c99efa3216539a2c727a7bff92a9ee3f407872580010bce04757e4ff1528f6e9a354375a761e6cfef9593aae74b1a66fef4607fdbfcf9ae0321cb1156e8f407add67d7ff3b3bf3ab6daa49d88e36eea759df9bed3f3676b899dff228db921d48bf0bb1e7e972d0285a5d4e3567f935956e0f407797e6dd9e96fbe9f30cf75a275b1ef3b4d7254a954a281cd7cd7e9d135f2d18511c00fda3b830e150e10065a1f5c58038481f6b258a86cb748a1687a44e42aeb17505881b00b022d0b94ca7f5f9c2df4fe497d71b1dbb78cedeeda5f87980d714219efa3350bafe0032858e82c473ca175051f1cc176008aee40d30eaac450f9d835b182eff0dde43e9e63a1e47e7006fa7b4afd69b7f7cb8e2daa3ff8a79cfea092febc9bdf1cffeca74cdf3b2a4a51742825946c68ec3a94124a1672433a86a78123f6029965cf891f2a5ee3dcd4eb25ce7118f894e6700ee73c2fb1f0f9d9e39dfeb8cf9832d19f04fa83cccc74aea047811b7ae18ab7557ff0497f5cc75686a93aa959f46a168d2be0bbcf0e6e6a2ff507fda63fc852d2a3db3816be977ce8ca61a0a549522d0f57b4ded07f30db029cc375401aedc6eef6687ffde31fbb3924a2c7bdd94641ed6f612dc75203b0fcbeca4a2a07b20e84e5bfd81364bc3854b9e98034fd906d0f0badb082857787853fa3b58c17074dcef8d146fe6c85006e002b4a101b4cb6da7edffea3a9c2fe2894494206c60eb262fbbd558e032124411a02808d34f4e31cd1e127e37f5272162ceb5b8f9aa03ca8ccd0e260dfa2ba0091375af66e137c63fb2112ec156187622fc5c1a68e268091c61a43d1b9f697dc8ffec91de00890b7ee1ecee5820dc7ca6d855453bfaebaaf0cc9711c46aaf8c961e4c3f628e745b14cdb389595ca12535683d11243c68c108d1d5c5e6ad8b8f11de49c0a535058d9ebdf6a3c6c3c70427ab0dca4bf154dc4a2cd4fb4861ea5a13426adf9b0d574daca617c98a0fa93cf834271329850af66d24c3df297af216952cd4b14a471d758dacf9c73faf0730260c2fc9c73ceefe79c99ff73ce396ffc9ca4e9fd9c73ceeee71ccd979f73cee9f273ee98367ece39678d9f53c70cfd9c73ce193f271073879f73ce49e3e724c06cf939e79c307ece014c193fe79c33c6cf29335ffc9c73ceece7cc31f9e79c733e2711c09c73ce193367ff64f9597fce39278e39e79c53fb39ff0bc09c738aa668ce39bf85fb3179e8e18719d268870e20083000991c0288c111001f443e88001003668aef071f7a10f100e36f68afddd05e785c9769d96737328de56573c9b2ec2573c9b26a43ab9165d94be692652ba16c4696a9ec402334836ba130543f2a956a9371c538f5b4c0d05e4c914d9329e329aac45a34eb56ab553faaa96a55e6b160b5d69e1a8db4a757bbb6da75a948dadc6caba2bdfc067212cdcb9fb46b3a37398c64411ab7f2b58f3b4df2566b09932696fba8d323d1731f6b006be20dccdf7803cb7d540269bee73e969a144da66832451c53cc99d2a31fb680357167f4d7e91004696e4069523c9d7e4e514e527c7a64830bb026f6ecf8eb5e7802693a9e2645952aa57295af2cf7cea447ffdcbb10604dfcd1f1d78960b97714a47179ee3d499362cb95f80ef78ed3a31d9e7b4f01ac913740fcf51558ee1d09a4a901d42469320599bc647253941ebd60016be40e01fef61a5a9066869326c9d3e9c909cae947d5231956c01ad93380bf2d851e4843e3d424a952a1543cdcf74e8f42cf7de300d6c81f1d58ee5b07d2c078eefba649b2d5485a9de4b612cb512e60cdbcc9f197bb98026962b09a344da69609c81464b9962fc09ab92380bf1c06cbcde7e6e9c43d2727dc330f1701d6cc1ece2163b8672690e6c573cf394d9a2a15eba84e2a94e55870fc651758ee9905b066fe38d1a43905890dc05fe806cbbd0560cd75c3cf7d069a803457abb24cdc27d1a4cbe4301200dc0b8135d70ee7900f7b4e3c4edce368d275e2be0848139ffbaf472aefc3df1f2cf735e4fd75cb7d0fb0e6ea11419a265d2a8791cf71cfb0e6fae11cf239ee7de07e70290de530f27930f560dae11a6dc968e7e424cd144fa7530fd768a71d3d2a2765ad96aaa56aa9acfcf8c335da8d8ef863e5c7969332952ab654b1a58aad1baec97e80b83139293b9d4c27d3c9b4c335590f01764e4eca4ca7d3a9876bb29d01f4a89c84b55aaa96aa257fb826bb912d27612a956ca9644b255b375c83fde4b83139093b9d4c27d3c9b4c335588f00764e4ec24ca7d3a9876bb09d981e959368aba56aa95a2a2b7ffe700d768363fe58f9b3e524aa52cd966ab654b375c335f42700372627d1d3c974329d4c3b5c437b00b07372123551d3e964e55f3d5c4377d8871e2b2f4aab4afbf9e11a7ac3395af1c6f36edb7bfdd8f7d67bcb5b305ebcb1f2fd5bf94143694b7ce8c113f1e079da122bbf871b2a364c27cda49dac7c51c77d4bbbb9d1b2d16a6937563e0f2edb0eaa1f17d50e2ad58f95efd5d05eb2538f4b76da213b65a71e2bbf9b91c9c84cd9ce8ccc242333719929dbb1f29f06166a6537335a325a5c2bbbb1f26fc0a054f50343c5a9a8eac7cab711e36ac14e588f77b75288f36ea87aa71e2bbfc69c8e9976301366c24c3b56fecb0bc9425bd8cd566ab5680bbb71cb27a8d15ef7a1aa1faa52a97eac7c2d73b958ca1e4a4fdea9c7cad7b01da2e4557fb22d35ed5013355113f576da6a2aa1aae1d068e95deeb95a4ed24cf4866b321563de0d856abd5a3756f6d44efb69652aaed1ae8039e49742d5cd006364a6b2f2431c90b62b5e34d598b56c5bec7d9ce5507ac458932605c12a76f26df17e1fe3c9646a8dd59ffc954efbd15a262769511a46fe142b359326c54a93951a0bc6c86f1b4d75cb5a567ed6caa264401acaa186821a0a6a282b44d460363f3909bee3388ec6a235e4a7eb272b5f5be91c7efd2add058db085395a8330fd5263030cca05797b71de16f5fa7ef9ccd3232e8897efbda15e2a8278ecb167cf4884b383560bc0167bc437f4692c870940f4e6004895cd731112edf6d16e9ed675507ff269ba9ed230f26433f998fc203a6ed230f269c73d1dab3a76d29f7ce6342096cb9734f41e359695d63dbfe94ffea6a3d9043b3f6a7862610a8b94ad16a6b040412c94532f4cf920a208587ba47df6ccc97c2f9d8ae4baad8bfd514d931886612f3a62af670ef6774d97e9d5953b418310c2485b628caea499fde5c34e42f81a2ce2034a992a0253d6bdebc34ec80191ef3f23b50629547650234c95ecf488484f726b41ebd7567e58f8a32d148960ccca0f8f8bea1fc4b9a1db23cdac050d4ec999b293b2fd748862db73a2ed0642d6895091bebaa843c91a8150684294229458986a4312abadb4e5872318a3082a4cb501c8c2541b5ab639863bdcb66c19c630d6d9a8a230267e4c418dae4334135f06d2b48dafc4129006da2839367b8e164bb5bf5fb426d46e936d246d42f2847bfa53c9872b0b9f58967fe1136629a59452ca18e79c91275f24f869f94071b24af530e1392d51a283938483a6440162fd3cf15139e1c171089a063b6e517f17d0b415c6e1900ae9c13a17c44772abe88031150d350810af557806c6c0afde1ca34b41e3d798bb472071d8498f2e6f0eb59f8e8cc42fc2ffe1b83c48d93b37247ee651ed559833e2c5b990f67189534ac5ca672b1fbb225194ece5ab6aa97c5705f938c47b6ee6b9642fbd2df3287da2c88aa5cff90a8ab75c4a0949ce0eaa89ea092b468941373d6aebafad7437556c5f82b7a922c6f7f9d1bb9ed5543849fff60627767b8d1be23dfdb578aeeaa0c5b85a862aa48d04e1b618cc71b5213d2404aa1e6defbf79dee3dd27d85e6f6862e7c69c112bd73312fdd70f577916608c635e1176557f90a55489ff33043646cf5730c6eb9494f7a87a0425ced6b40a0d8a2e5dd996d224bad330fd714a9c727383048965994426b1ecf120821a81ec75941b7c2c7c8285293724b19a4be1280faa973ab1fdd4498f1cf5cd05a1d63d2aa30a953727f63acab6652f4ee9afb5a88ea2abee8ea2d108d4a32b46af8b479cf9041ad08a947addc7764f7fde2aeb9d8231ee27874140dbc4ef8716be0c14d4db297fd25f7cff1ddabb8eb2ce21c06da2e7271954d44b53dc8db242174ed42025d2fe0bd22bc6cb8bd26b4246f9d133126d139fede702133686427f034208a3e7cc453b374308b9bb682184902fdbfe48dceca91a54fdb92daaffa531ba8cfd39741f49030500037efd5734aa5f231c391c51c81d725285387a839f94ef5d849fec1b107efc0ee36b8f6ac08fff6b1122b2ff82026e0fcab08009eb905e13bebcdc3b27a4853e3a7631c628a5ecc2a04191a6514ab7960df3fe074ba91136edc0d57d9c10fa7df3b451ccd2a9d4ceb2f44415afa03881d563d906a7e505cb4df88f1a3d503b6823b5ccc5d7b487d1af50b9878ffd8be71830be080a5594575ed3a426e3ecae399d90ff041fb13e7afbd96d2f3b6859bafb9685c6730cefd219214a6778ecc35758b65f7996afb5837393dff289e517969f7d9e00c44c7a04534f822c9b985596bd14051ab00654c565289699e7082b9cf84031f588b52044762aef1d15327ea5f35ca48ae7229f5de843db9fa5a06e1ea33c3e71cf0a0e4b000316481ac6b4030fd8b4619dcb7c5a5bb22c247f2864452f3d1cad4d6e087f069aa0408fda7311320340043bff089ffae3b762beec9e7059808ca762c6f7b849cde8647851c87819afcd213d6eb8c74dca727b54947adca46ca290e155d15fc5fc2332ba2aba5f76d21a015f874c7fccccef3fa437a3867a672cbf86f99099821b2021a386926d8f91b0a93f9e43858cb11cd113d41f248281ea13ae80ad7abc7df85a8ffc1fc61aaa7785266e3b686304fffc97ce65c8cbfbbf3cb4ce0969fbf2f3c6c7771132df06119d9452dab061c3868db7f1f21f723ffe7db43b0d569d2422fe00d0faf090bbf15e0fccfd9003089feeef5bbe77a28ec80f0f6d0442e6e82e0e2b5ff3c187ae6d8deeb2adf11f0bc8fe7f3e10a69fd2f6a9b5d6fa1ae921f763c7e84677d9de88a7f6794a6b65791f206ebfd72494fe9aa589ba1926d011793d3fa48a0b124ff1498fbeb804d244181a0c0d86064383f1da169c90ea3dc196c5bb6c573884f54ab7650269ba5ba77bbabbfb85fbd12a1d13fd5d0fd4026a62351c98e6de72c632eb6fb47d8343a2bdbb2564c5ae7f726c3936fec12ea9c7840d4e48f49e602b3d0ac096b719aed0362f79c865b6d83ffd5dcd8a81abe24dc790928e4922127bbd7391fdf53e05d26c4fe2957761afbefaba1ccaf527dcf5fca47a973251830810fd504a7f17841e101b772e8361da0d2cc3b497ecb125da68e3ce55a1cfdeb061a3bbbbdbdd835f8343227ebf704362f428cb572c95535a2baf7835b3f9b4b05e5af6fa2b02b2d7b5f288358661b447997719890ccb56fd95fef7451dd7eb78e273a89a8e6d766ceaeffa171d97ba288d38516d0460ccf51080392e0e39a989dbac967909458f71647042d8e31cad477366dd6a16fd10e5c1d23cd83fad189c90a9c46a4f9158ecb9f78c6e1be63a66200db451fe27f35fe87de5aaae180d8c87ab56b0f7bf2ad755dcbb278313a2e25d95df90c09ef39e604bdab06ed2ae59fd5db759abf7d270510f83db634f444bbfc88aa53f372f7bd7bc5be141f5203f0f25f44487479358e793f92e91bae4be7d0c0e89cce3d1a322f788a888267098f8f0149d9e6e21413df1a0a8e405f763d2ae8543827a5c8e8ece7c2fdde0f4773d0b2764aa782419bffefb0f856a85ae8a32a8b7353e411ab6d76f7fb907f6058704fdd6e9d1b6736251e16a657d1d27e19ccd55ae52a9e86f7ffb378f71384f8513a2759cd37192284565a24bb147924793987098eb7b809cc0a027257bbde967c64343bd8cc3d2732730e67aef5c95730524318461411afad73f0d1a2c2c7e9b10599727a2ed2fb2629b3eedefe290d0bcedf65721d9777b44348f73a8c7499a71182747a34d293f9961ad583e90c5c2285090e59efbf69e6020f455beb97eaad239c196eb8ed3d93a1d30a65febbabbc3360f4ee7720f76ee8c0ea35e784429566d5dea9b36f530af766117766117a675dec528457527ae8234d05ef47aca052152fbbb2817a43d229a4781feae77826de649a0bfeba9e7b52a133dcafe7a09f488f2aa5fcb2eaf2e7fc15efc84759ca483f65427a18750aee7959362c3f46fb45f42a2efbf5e1b6d99fc273a1927f54fc35c1fc55e7f5dd7755d7f5dfed33312fbba324e887b4fb06d6feb3c4694853c44218f68ad0128683088ba0245524a22d2359644a4fc4b5e44e4b78f96d1c62967cb1e5dfe6e4ae5352507633a9721fdf2a547645edf9076442612bdcd48b9a8f0299c0ee3b56465e35f51e6f37c9ecf516c3fcb4fb16f7d8b7a310e88b48ff1f4a7394ec4a9db5fff1da5498de330b15148427e53a7a401d218c19e01d63413ce11b18fdf3f90867efcadeb54f3e838c93d28a0f04294c571dc882b8530f5e9acc909e19fee3efd09b6d3c3d19f7b2fdd01d80b4152b3204cfc1606646307d948a4bfbd4e414ee24c6cfc7626fdc56ecf71604ca4a9342cdf3cdc10f7426059585ee32768fdf6aec8487deeb7ce09b61bd76daff1f3f78843a2b3fc5147e7edfc189a734eef6dfca8c483604c84f74695fe6c6faf827a6523c729401aff785df786bd5660acc080e1bdf8e9b66aef46d8cace08bfe86e6391ead195dff59950e5777f37a1a72a3f76a77ad4a9e6e92fb5a4b2b0b0789dba789b1de45961421308633ad55fe4ed2f8cfbb11de088bdbc6d738249119858fe06b2be21c192d8c84a6e1a26b2db5a371530f0c413f7f1631590868bca352d021e27514fad4c51a1bdd13ec11ab7ca3d4264e59d60bbf16fb5a322c6cbee35eee45fe95df614c7bf414ff16fbff2ded39f4e17771a263eaf78aef2140e774464df98b2da6bb32bb2d26c296784bb3be738cc8c83a364e52b9c24de457501e2b6087761a988f131bcd8ac3740b1d75737ea38ab4730f5862411d5f17d15df9f34896de2f554ece9d1f5948d5115e430f14b4bbc8863637c0f8b7a3de529efe911fcf8ae6ad8d083bcdb833ce8453da5a574141b5f53d95438213dc47e8d77fa8bddb1a7bf1875604c844125e2ef045bfe1be4245f394c908def393d22e2389ea4474a204d0db4cdbb8c59d9dfab7ed25ffcf629d5dbaa95ceca274ad740fdc5c6c2c6f6fa27ee74d4fe4537ea6cfdd331be28f4d2d29bd556b64e756b50c5df47f3895936de171b3fde90d63194fe96f029eb1aeb9ad5f50f8c891da599704d9f01e6881f1dc9fb4d684a6d29310d6d041b5ff3dc506fd4b13dba1e75200d0e204d13f1535764c5ce77be42117a2c7ff75b5fb2d5d95d2c6a7ceac8304a15243d8a3a0e133f7e1faa317ed4893b90067673bf6833ba9b766d99e3527fa1fee22988b4df9fb4e91bdb326f44cf8c8accf7f1628b7a1129323d223c2cbf7b5ce825b2b48c4ee869f5627f26d06045437d596908d2b49dcf2346af88ee000fbb22a48bf480482047ac8c5e448f200d083b0833000839e8c1ee4629578cdd95b1d193e92f3e841f2dbce26f31c618a35b0963ca0dadf93fbf8803505a5daeea6d51e397eac00c65600c7cae4fea0dd99b2a8cb02de2752859d9a2c18e7a5764bfc42e43aae5af368a9275226e7e99b0f0a98c436ef71927b71b2210e6fc3548bd0bd2f682f06a16c6e89e0c373163ddbb0bcc5822d96faf715784f5ff416b7f2d0f638917fc2cfc754505c2f073dfc29bbf77d9bfe8b8afdd0d59ee573a95ee52cb794678f3422f5d1333167a1f5950437cd32325fa63d3f76ff2c9d2502f7c7e68196aff403db418b2d8ffea5882e38f6c993fa471f72aa81ce445f382ea11e6696ed21ffbc38e793817f68030337c3fc01148dfb91f4ce9d71991d4fbfa934bc808c578d912360cb5734646668a9def52e08d4eecfc08674adb360e48db39e79cd32d7b170a3b63f3f439a1173f4afbfbae90cbdf284b4bca0d257bbf4f4ae8631bda953464efd97bf67ebdf682caef7ff9e5975f57369fafefebafebd234d79cbb298623fbebb54cfb3b007bbd9665da5ffed96b5aa665d93fc136f37050f760841e507d56829c734e39a57c29a594f2a75c4195524a29e59c720657e0b93982942bf024b1dab7f682fac1ff9cc6fe9844314ac37a6ca8f2a30beae7244aa7a7655d67cd1da42ca2feb0ff70c8401a2ec24003b0f35f7b4dbea6317f77dd95434456f3a0c656f370f4c75ed61dc0f3d81ed005c7403d320365a1c1f8fc196403cbc2141b7cacd65b084aead66c2d2f580b27080b5fc70ca4a14317f0935240188963f96f0c8902ee00528280fa73625b5abc1b4f36ded8a0172fbceb2cab4a03cb67d5c4d62a855bb9a1c5f25151f16eafec490a291ed412bb6dde6d93f5d102a8c5ca38655989bd585d0401b528e5f1c24a959af08995b13259a98a30a0ccfa5fcdc2afa19cc3ff6216c62ac00f0bf0e3b80508e3cf8a430c0367802376ca1e7ba3cab25bc8c554ac0124cd28e06fdc4102fec62a10f0371621897ef1fdbe05243181c4df288223fec61318f137b2e0000d830b90c4a6217f5d0c06f8eb6710f2d7d9504457214012a382fc752400f9eb4ef8f1d7a740c4b37cbfa70092d86788bffe029bbf5e03fbd777e0a355b080a42e15e06f6721c4dfdea2c75f17018f5eb10292fa54f3b7ad40f3b7b910c4df16c3ccdffee98134dbf7370e20a957a4bfdd83d1df1642234147735c40520701f1b749d029e817c8f41720c975723463613b06476bdf5f7ec256b06c052fc1f6731120c9550ee3a2bf8ce21e58c6c10ffdcc02487220fa8df1c024e8fe422e2c004931c761fc5f1a5e61e11760166cbf10488aa92620cdfcfe2220cdf50d7b7aec8869a1619bc53666fb7b80a42882349084b5b81f3de35401dea50940c0cc0c9642c2bbf408ef5623bc0378f786c5728678971ac0bb558809f3ee0d0a14c4bb148877eb0f1490f527c2bb372c550de15d6ae3dd6ad9c7df07fb509d0278970ae1dddaa3e4cfa37472d21554e35d4ae3dd1ac429c8facf78f786bd5624efd29177eb8e5ee9f0ee0dbf4e40789712c0bb7500de0df9cb78f7c695c3bb5400dead313a57c9fae3503969fa38909326ad302a1febffa97ef02ef5c1bbb507079a28eb2f72a01c274d9364f1e0dd1b9e77435d4ece0def521bdead35628a65fd5fbc7bc3de98b2fe9147ba78f786f468441eeb1ff2e80cef52199ef4aec4b9a1bdf8e143352a894a6060298c0c980fb6c2541ee44130bab62f2a96831d014361274cc79ff81316206c0598092b05a1503086db56551a583e2b47e248600cd569020fead46ac11856d982680c280e35d152f7740f77ad2e375cad8b75f9b44eeb705ddbad6bab652729a4785053a66857e9bac19573e15c261f9fae6dd6b5d5a88f16402d161326d8444d2c4cd54c4d1ec6611c18c36d69d7569bd334a9983a3367e24469e262751104d482aa22600cb79d3c5e58a9525764453086b1168cf197384ec2b0c84c41c84470dac2fa5fa9633d8b88a4f6c398b8c126612d1e142359f85bcb27c25183a5028db257a6595246e6f8d0628aed8f6ee32a1950a8f7b3fde1903aa5202d5a30c5dc15d15f3f8d20d40b7d96f009f296055aac2250fd507f2fba506fc8088eca2ea59ba39c89f7b4643f60d4a0663294e0d8fe0ce5a4ac949d32474d9f9293266bfa64a509253bd9feece424d7992a9f2bcfb177faf8c9dee933815e703163ca04393f38c113cad0840e4ec840508b025a9c6c7f13526678502003584ca95ae0c0d822c3b1d3b8a83860a247bd841ca4d8fe06d0ede507c7124cf48efe196ca897c2a0a25e0ae484d5ec6ebeded1975f06fe073d191c5506d6af77f48703d60ac5f6b73484504288a388bf4042bd9feddadf0c19d4fb513890e0270d7dbfcbc336f42eec09f209a17635afd06e6a4cd9e6871c10ceba28e9f8ddf5a9bf6e532f9971453dc5254d9a7faab5f2d8fe96532fe9262f54cc07ea535cd230f164831afb83d26bd40ca07a1b07a793d02da6bce5aa0a2b56157a9c603fd58c1c4a1f0e1eec42857c68233bd8519dfaf684850a86950bba65fb5f44f14bf036f299665143ffb213f276b8a92d1656610b5a581936c4c109193294edd7746eae9fbfa3a4046f33934087ce451cd29cd8519cd9f5e046a677f497e06d667c50afcc0ca427191d3e7a63d5eb27593d7ad5ba9f68ec2b6c3f2cc950538f688996e2c0c4f6d31b191d1489ed96995b8e7f3b8cbdc549a63521909f268fc3c89589a59bd84dd04dfcb009f5ce967c227de46af234ca5e5a922bda72987e1953d45b4b6ddd837d690bdd32ce0a89c32c47394fefe8e74e502fb360f0a0ca929378e53bbd5ad9eba8a634c7f66fccdce2291d48ffd16eaa905f82b7994ab8436666f8f1bd6ba2517647bf8c1954f696f0b6292a37847a432119274dcfc78c8c4c8f602a0e25dbaf23f482639ba2b28cb76d53d42b631f00634e002119422f0f8034d00e59e29550c22f5c25a1446d61492b30f330cf8fede72630b6700faf9cfdd9c92ae4eeeeee52ca29a79cd2bdd8306e6aff3686ca2b4904eda6046f13ef851359bda3e5827a1bb581a1be54b52ad53c40289413dbdf4c222bfe4429ddc4f66b2d41a84cfaeb46c1987ec8f9688eec5d08245532a6a897b26c7fe982026462fb636d116da1ded1efdd8d19d40b5545b898a1de0a6307f55648052f993aa883766c7f4fa1db8bdfb04dbf0bbbf0bbd715b2333b3bdf265aac3f8c5042092584d0db5ab62fd44b79ec8b3aa47064161adb40d1759f4a7bec65d6a53dba7eba0c535290d87e7e42b71786c2405c0e6a7f97ec6556e7c20f1fc505384419f5cfa86c3f0f38a0ba7dec853d3755f87fa2adbf9ef1d13bfaab0c6aff9d91d230f00753e84d45124af24a1a060e59b2d330d05e197b8415ab1e4d415927da6a20428ce50828a434ad7d9458688f7802941ec12b202959688fb0c2498f5cfcd9ba7784154e2c7433c08734f3e1b374dbec42a78a7512b3c218a6e8c2931e4449a7b002885e9706650705869f1b99752e990785105ac020658379476c609c6aec0fc3b81ffed303125f3e3d3d69810d14d947c15dc8010d6caaf03f62a3615dd641ee078d424609ec5d94c0b0ac7351227bed35feec8fd81cb1f1e145b88b2ebaa8834d86c40542f2d96b22c45d570ef4539df26377b9d744c84676d4c68e5aec6aee0d1a7452a7e0064c4c36dd440653c8b181a267c0c40b3f3651c0282cc106f68e2bd325e1890d4e3651304fe0897094d29f995d25b6bf4fa1ef30c868204df670087d7fc80d0981d622239d13ccaf611b07afebbab07f0a21e6b15849c3ca2ac8216577b0b00a72d081d57a93177d483de8230927bdf889d17f8f5bd17e3ec65d9a0de65d4abd5badcde5dd909511841afb9340da5a6e873da2f4f2534a3b4a84d2eef65fdfcfdca378510ff2c32c7b1fcd5de696b945d09bca17ea85ab2466125cc376621432ec0b88cb81f23d8affe19811d12d521ba1d0a0c848b42dfd553454d6d115c6ccef2794ea30f325c0447ff3634ebdd5ce67e51081920127f968a202b0a6014c0148437f7e0df96035007ec1f237ff8563b0f397f0b680346ee7b38e08207c159729cbd328d64ffd0bb36081f09780b476385d62ee96c4819e1250789e17637c235000d430d01a8182200fae20a551f9660d69af5b2a0fbbdb56e535ee2dd2f66867843ad15d517775cb3f4696c4e91629a21cc6bbe5316631af88db8804c59a175199d7cf120990a6fde79c58e6a9fe18cbbc67e5bd29d7ba3e85d6f3ef309f09d51f3e11f8fd434f12b65a4baa8a8ad7adfe70dc42ee914328a74b28818e220522011dc2202b636189e274c3f0b7a7447ffd117e844e3081f165d756832adc8fee6e7d1c7ffae36e71406633957712991f37153054aa61d9334be2704d8b60c4ea16cb27f87ad8691d11f8da67f035ef72d461db9c11f02ffca8d31ffc087d9efadb793b3d0b18c376eae8c02fe2cc1d01a9271f1a213fc697f28bb06dd99e037d3cc108a3e73d11a886fe034295504c1cc8a54415d4568fdaa6a0a7fcbf2b716c90d4610ffa38904f03390c732f9778e9b6d82b7138fa58fee803854545ed6952f54250ea137762f9b56ddb38213d58efe98f3989e56f0782314ca4df09b6f0f963ab47512691f8b047502a8134f4f9650d204d7cec72441911ff7ef1e137776fbd33c2524a7ffc3c9189951d5f07cac2dfc02c732cfff5398c204e5192384e8a584018fe2c2cff1656ea581681955c8c2ba8fcd0b6dcd8b2fc92498f6e44591c9924497f393dcae1e1f8d12be29643452691a747fdeeabfed8a760d97ba43409b603f588fb17855e6a8bf7742aca8b422fa94de3b66ef5882d64c84ad8497fbcb2ccab0fe8198881f81b05a547f006d2b445c213ebdf317a512a74480402811e2be9ef06d22ce911b45042870c73fa632ef5d76223fc1b2dfce0376c1f721281fd4daf3d5f02c6408f55fd31b5f09bb8ec136e2ff758eea28965fedab12461893ce1968a0fd4873672fc1c27b17852d4872289eac1aebdda41bf2028d968539f737618d51f0b8efe2403b9941e05710d119c83db3bf853b6f407697cfbfb03cc2006294c79a39c1f359372fe817aaa4e967c7bb03764447a3c4e504912a761f8198714474a291d1cd3cd084450b221c1119bfafcacc32889533b99a449f5f9bf3f58051ea8be61e0c72b82fc2d32b5d2356fb82a7c4f825bd41fc3249c04bd1b72e910ae5809d7f84727b07b2725a182a9d04cbd5feccf935002d2b874e912c6c87bc44ae9c5284583a2ebace69787371ec36e609f613728d024067208642ad5f8e71d9ec6877ec648c6c7787e518f5a1ec6bf787e99faccdcf6fc45f4487bfe0324a1c42fd18026fdf34ba047ce5873486018c6a33f2027f100745d3c788cf23c144ee7d5cbc6bbd87897f8fd59ac6cc8c254163c568b5b8deec67b87fd77ddc78e8aa7f4b56e72ddf62a1df72b9dcad76ee559bafa2f3a9687d1bdf8960ec6c7e85a5e4617e36774323ed4cd781a5de877e8687c773bbc4bd7ff0264da1befa319c5a81a5dc7521ae6fac801b9ec8de7957f7df16e75f13697eec6b3dd213341e52020ec6bfcf51e1b7fdd0afbf2d7737294d8ebb51a1d5b1b5d910cd87ff9c82161e35dde6dbccb6bbdd51862e35dde47d770e99e605be37b8adf781297f7d13734b975c7525c2205204c77d0e5d28b8dae4647fbabd149fbd2fdc0dea563291cd4dff53b743ca5bfeb69745deaeffa50d737fd5d3fa36b53d748fabb3e46d75d27e99c56d2b54ed72b5d9f7a49d7a8feaedfba66d23cb3eb26a9eee94ff55d3be97ee23110ed20f7e911f6363ec53a09f4d7d1c628ffb216259611e1213da8ea8edd31c6ee7ed2a4da50faa7834e59e448b955345429d70fec3ba8a7040199a065dc69a631b497e642d9a463a63f666148aa1105f572968d811828498fb280a4ea30176ff122b0d777828be387a6e6da93892c2ffdc9672096120469b0bf9eb7e0a4072f96507f52f263453260218c8154560ff9e52c1a5d63094540526805e14ba0014d7af170755d324f14c0f28034fe51ca38ccf5b0a3bdde77b6d869af69d765b2d973d96fd9ab70bf52fb3d72af32636c0c7b15374cf1dfbe083f9616e189a5459042bf99ecd81e7e88b759cdbacd2ab93b89a7f78938170ed14b4b732ccfa39ea8591af598d878d07cf862d454febec6b58cbf3c2856199e2389e171dee6695e89fea599c671df2a9fd52ccb54b25fc954b22ccbb29fc9b22ccbb24cc421916d5996ad64bf6ddce675d9f3c0219171dea5ff3f6cdec5d73a99756c5d06f38e31239105b9ad4ba6ec6f9fe06fe008c0363beff1260d13f2eb1dc5333baf01cc71bdec7ca7bfeb63e73afd298131d7639de7f44fb76e60af284990c84861b91dad208d5bcc315759ec695f8f7dec91f6d833ac71d54348b33da6f24556accaf76b5b07ad067bc45d1e16de202cf732dc0af7955b59f1812ba8e29e478fb4e76a2cf74140ee6720cdf69fcc7f1c8b7b8ee356bee390e056388eabdd9561f96be56ffd9595ce46aa71a844ccf5a555903244340000000001a314000030140c07c582e1783c92a5e50314000d8d9c4c72541b8a9328c671c620040c0200000000000000104c1b048a445df00bba54ad6dfc4c2d1b7cd0e257656b4509f5bc93ad9cfd81b2303c7258dafa2df02727118685dde1ea3a04ee6a075ab7822df2255a1351f8329fad79cfbff8f6f5f3a6d7c70d3ac67cfea6b0cbf699b580103a63aacc8eac9baad344a9e6195638548d7e0368608fb08dca067dee9e84c1a180f0dc202e5f20a031d4de61bd10ed4190c1c20f9745462e1c80991ae76d59e16bd1b153dbb136a5bf465cd741a563cd534a2139d53dc1479b357785e0d84b6143aeea0ebd4252356a21faf2b357e2adee0fb6144a452bfb3963c05192298a84c64a669757ad8f4f6d3808df1db017da2cb37f859400c003ef63f2a39446b9c97f46eb6799770db26e3549fd4aad7d26f5b542d1241332b4b00ed36d3ebec43e8dff6029d02bf1f3486f61743fffe09fca2ecf8d17b1f3cd4e5da8d356fcd40148823479ef9cd368f7443caee8db817c6e69ca3b0b0e5a54642ceb42b621ef4bc09fb8198dbcbf842ff0dda6ba1c5e28abd2e118f4c672c63b77ec47df200275611fb9e21309e006644af341b4f8de032c8ba2d4acc6deafa1d03598d28c73924cc005785fe79b6b54eefe20e18ec6691087c96b80d511dd76bad8b98ed9a0cd3386d1bcb5bd997b6ad5743149dc85eeec68bc1b97eeb5d8dd7d1f126a3553f4e278e8b9787216b413e15379d4bc911b5df9c39bae74e9c4e337e4f95e8f83e37b352a0b3444aec7c525cca075e50463dcf122dc3a7b7965464bcb465ae558ee0bc6191ffb55758920cd671e3b77189311548be81e28864c9a36e458644f9aeccdaaaa0ab5649182d04b0d6e30cc91487969b8aa6744a0c08f705930e5b9a230f32a68c6ba52c169f81419bccf4a1235d19529d34028f7288c3760f293f01dcbfebc4cbd2de1f33c5246025d32b45245a977e7bf68f56d08004a0eb1bae24931791ea8a2c5350107ea7e277262c8aa715ce439d3367a2eb17ec25765bb3cc6f3320a394a6aaf8ae771ee8c50cb8c1dd91bfd5aa9925d82bced307e5d3ed4a2d03e332bba061329fa5dc1af338d9ca483dd8daa6a678a35a29486e6c012ed047db58b7c2331bff94dd411ed41b818a6664f5bbf7b811b56b384b21fda735658f390be7a8ae5cb8c4415e8112a69c3876be42a9f857f72415b93b3c6f486545aff169f4777467dac95b437da6de55a09bfe915c997b9be41f83b93e834e14f84d9b60803949933cb4b52cc1f78063ed473fa0c638f054750e17c7fb6eedc944334a1eed0186af86bc263242bae4b95c3986fc347b2f073b48c9146ad651278036faa6ba4bf6100bf75d58e8a4b24a32afd20a33345a16497d0f17cb374eb5474b78e6030269e47eeb3ca2485a5d1f661ff7a03d45ae7a015cc6902b61cf75bcedf691fbf8c2f6d25c1c717d535a21cabebf4329d4d27f034a867fbddce3e3bb4a684990f964534f0e1c95b5d904c0197614db8e953a40cca16110af9c059f90089fecd3446e876ced2e34c853be4b833a5587e1c65976704f366a39d26379ade6a168d7c22e91d064de7c5013b2aa605221e95c9cbc5364dd4aaf84b82a2a326d7b0c9f6b63d9289e03b0627f05fb0596328803b9bf0cbc51955a2fbe207261627c5fec68b72fc84fccaa25be4540f3f3dcc37c0c5a2f730a60859d8251891dc822622607e0785c1c5ae57986756dbe89b28ccf31a840553c36c5c723d5c2940db6a98cff3a5d5786cea377824cd4b64f16e29a6a10eb24a023d3d5551ac9e1952a09a85a82fea775fc3bbea523e3d388c06c5f285b46255f4f7ac0570b5672176989be30b1568949a5ed11c40a41c75a3308be789e73e11002ab0d203976a949b6eaeb6dd28d25a2c84ece2ffc1d1138b41e71330c3a9f764dfbab9349b116aa2091c517b692e1816ff3ea4fc6525af66d2d791e796aa920f92a1aa5334b0854f9d4399e90277b071a53132cd903711592d15981e99090563fe5fb50e42b19e3468b751f88c27ca4a37edadffabbd38ba1c32502b21beb17e0112842817fedd35f281bde700917abeb3c061fe90cba422118d56655ceecff456ab2a830666bbbe47a23c8501b0d4177c865ab592b095485c70858ba6b5a4982fda6355acd0da7dc42a912b2674c4cabc64577e4086cce22efacd88e467e14457a505186397ab4d66da2612dcb4718c46e342ceec647f85202e302016466d7fe71c14fa113ca25aa977a324c3f8347e635295a4485193145566892940853e7a6f0bd979e32869bc7f99cc334a90d6026ec6515926f3eae43c94e4c77bba2433bf0ca5ded8221e6d3419706ba1c7cc689e327de441cdbc40d94ce2dc5b0825d3e1382c5212775a0032893b414fb04a80d5cc176549ef9154873794a6254158fbd59ebc54467740c184ef0662746eced66e12b91e793879ed14cfa570fc5c94364e190a39fc4d845d3966d4f0920fcd143604aeb58284338cad3ebf34c4182d60f48878435ce219f352308d3e3e359a9ddb22374647850a19c01a29d090d1dd61e341c4a611bc769ef4a08d3ae38fd9b4011178b9044b21bb937695c49121826bc676b9a3871f4a8d1a96718e5b9a9356dd94005c07329d3483189525e80902b3be5b95a8d359b36fd7377fda965a29aa6c1f9c8ccef418226f9e68faba1a65be5042f1205dea2618164163449179f06d1b87dbf7d1b110e2b083130a228f4338ab21e5faccde4b25eb269221da683ad0b5c6d944634499da487d6fc280a29afc647acce783bed504cc9d5453666c483b94ec4aa5d41659731103d93941ed39883650164df77715706e4362484383dd1d1283199053d4c79fefc7d18b005011d2cc50b3d13a7d64dc75cf7faa96c035116e820b7136125c5744dd1b6dbeb0ffebfdf043099ff744c9698cda488ddc2dfab58aa0ab4968d444967f68931bcf5cf1da9bb7f6f1509a88317c3bba0da15190f8641c71dd3a0f5dc5a47e3bc1baa8ef1ea6c56b98de088f9e0cadbcd6271aa7729e8c2d8ae8cd0310ebe3d0b792b5e803c53069b75108c243ff95c4de970beb8a10129b50a48e71b397d4ba6bcd943864cdda3368a4a75c8130c49656e76bf7df5eb45e2a0168291e18c3869e44904a5f27fbb161cc123a077f80af78582c4d9639313c9d38d240dc637f85cdc5293fdb87eff34081903603ea4d7111a409ecf6a0e54bf4d5980c78b4340533ed35c5e98e5fe36803a47b1b3fc5ea03953332672e43773f8c5488a759161017e01895724267b8cd48f1b9383bfcfe04a285ff9461eb8998ea6fb981a8ab9234fb4d01fc9263fe43648730b832ba506996c683908b05d2c57a5159c4d1a13c4cbc66c5854967be29ed16e8744304f510ef4bed2ca00ee191877b8d734bd1e5f8ab50b86124724b31623e7133723367838c5aa49a412671c27df9980fcd58c1f602d62889246b28a1f858cd313f7f9acc6a5710719904e0381529daf7ae8b9fbd9225e9f9c0b11b7ea655bc442ba2ce10477a010c1cb324b16fb9d6b442dd1e1fe7049ec5ddaefad39b6f1e3df28116d3c6aea0b1b36d7d98b5121d1cf7f6307099d7b35e3a856b9daa9ad7d623d0153dedc96e9a4754ce8a4fe6439fed516267a991758bd2279f489f7a1a59e3da01d6500bbfb48bde45432c69bdf63e8a0a7a58e6943fa364490794550a6e41f3a986940a53f875b4adc5798311aa5218e452861edcb299af179acbda65adb1d0579a43e22d9a67a1142dd2834b8593d66895ae634d37f6dbff0c3585386698ed10d9f71b21481fb906f004f0d66c64fe5d5279265b6d209469c9da4c3e520569d05d07590866bce9ef9b5f344013e43c01479340292a3e37beb0b731f81e69ef295bcac821032c47cfe66cc235c81aac5c22ce16b54a0ebf0035731f8540a18926ade0609547ad56dca309dec0914d239c4cb33b8938639933df23dc9918e02bc145d260906094ac103584e45f170d761d4c03f07655e078d4452cf729f209d83a11091d11bc807e8f8adb5363ba8374f4007780136d155745ae84299892334a5557163dd1976118632685688cbbe2e72b8fabb8bbcbd748d92486abba7153ef398a29a3776a704ec47013a865809a040f5bc27e260eb4ba871c9ce3b8ba6cccdf53efd4f82cd8a1d6dbd7a307a5e789172fc41b44a5b1721b530c280bf84b45d0257d28a00424ddc9c0a2d1bbb25cbf6c29e1e6a437e23b8936b6ecc56ab94da0cc22e83d873a9b40a355e207037fd9e4661b63431caaaa72cc55873109d0c9f7389a01e387bef6ea43fa99bca8620e6681f84b028a4f251b90369fc48d1e12d19e9baf6f51993cb6a706fbcdcdf6dea6b2c26c428720b3c2b17a87071c0ed9c4cb5413006df32142646aa22e36667dc742e011e9f4a0162a19d3c223905176357dda6cb418b0846b6d786a19796e35dd0ae378dfec48d73405b241377507d52a37a086d635f9ce3c0bbf4d8c7c930be5f11a5703e69cc0aebe6b622e920a4885ad7099e741b67fa6b6f446e47166e8dee7f01428eb01670057363972f71340fc0a1da928d38fba8bff8605cab31b611db3465a12c1b50ad043d44c378e201f9d1ef3e00bebdbc933b77ee2aae2cbc43a0699c23f29434c7bf9a2c2dab83782605ed284bba3635f6025047dd23afbc71dba59869d46adbf98690e09ba643057506c60998212bf8e5886b3beb2803160e2992533b27177afdc0a277b3fb665436b9d1574a9c2a7cc008b9c9bae22be4739b7328eba5e2c74134fd53729885a9bd7d0cd1c657c4d5dfda8450883daefdf439d62dfcecc8ebd2bc851ff836ae25931f51d91b27c927a288ea17b44fe4e6b7141b2bdbf9f16bf2e39af30c12de772b4ab2b615b531698e55ed76e465bf5389b67cb1e52b26c0d034063b6b5bfd7944f66a331b967e7761bd6714a620f38a859f4a44171b2583b02001ab75c39e40230f668102e302a08408eb5600a2e201de68c432ec63d8ea021eb2d54e143f29cbb45c080c8288d157ad8aeb7a20d6a010d2a088310f9106c45408cfab7d9809415219b02a022d5e2d968d75bb0a55e9b8e06ee596f675ac28becc6163cbed049802816274e490b5b04342e334cc9189506ba1090075d8884d78c169dccf3cd3590230e9fd564f7e82286184da38b74420d5120348612a2f576438f3cd6244bc28a71c465f31390bd7ecb14e7ede780656bd0e13c0a23608d92381791077c0ff5088363fe6d7761ef7b8df31c41eaf8b07d0d13aa5352ebba705f3aa41d59af81620d032327cc8dff14f4f3eb1b546cbd75fb0ebf691a6d4868968aef1ba045b0bd938b6a37288467f0fb8aadec7f1659456eacaed0a25820d26d551237ebdb4030b4ed4f93929f71dd2831a19dce769800604b916222c6fac480bbdb0af1b52f0a3f78691abcca20dd6d96b8622b6aa040fb97d260026f0efd9af19c0010720111491d3a244ba058748648e010913af41420c538037f5cf0f1f853feea59450822c9e4a72ff19ff70c4dd23aab7075d36377561024c672fbcb169294242ee71d2feca1fe225791893328ce1904feee847e077c11044dfe4af3790afbd9beab08a80dbcb2751989fbea4ba9b15a243ea8dcb45c20de5e4c5ce720392e3ec35ccf9e5f385fe638ea6b5404e49761c97f970a366a15a23af89424e1c93b9b1ad075deec6802f0eb9632ad64b337184ee28346f817ef0f9bf8dd25ede6c7c4257c938814a5cdbdf71c58262020bbc3400ee2670908a4cb1ce6af8093a7f901ac76385b02acdb8d627320891e6c404c3d416dff4191b953ff5b39aab444e906f5dd1bc988ab6a9170e408f7f96942f2e1f319a2a3f18485bdf0ca697c8dba45d795001e84464808a30c6c514103ab62614fecc7853adbc6dac69ebc7e9d5bd6630ad3b9e8fe8d7029447b2633672300c736c2d0a967d50d63f7368cf48959a18b1343577464ff169b42c36af9454399c6293aa3670dac61b277cef28c0b8db2fb3fd1821672d33aa23a887d50902af74ed07ffc87315779bccb65c88f7fd517fafb3eac9ac2b3d8ac0556f0fd21a446c44ae2d9f590c04aab9598d059ae90d110a506764dfcb143c2546ac5d0ea6f45b4063be3de9b94134fd6c27188f36bc18a662e7ab112f62580a22969ef90a329a0a85b8007d8b25e99cb2f011466aae5aaaae0c6589a265a5319820c01750bad8fd5dedc309d06747a187498d60ddd4affae1e97e6440e87a37117e36abd95cdbbbaddb79ba90d78eaa7535e14d67e5727237c1bc8fc2d9b84f394a33dbec40930147b14ec084a30c196ef5281fc50569386f22553ce337e86bcdd1a2c8cba1a5ac0860190646f658edcea53a7f3ceb90e74603a7b43a9c0be396be59e050c8535af94618c38fe0f913d95f55de8866d64569667f6ed5dfe9215136418086cee05540456d04c57ae9c1f7c6665aaeab7795b5908283dfeea869b35d694b48342a2f5052180ccab54b124749e6f1345109956982f2d5386b2657cd689a3cebf5ae08a58514d099f85a81b819daedbe09e78c3b1cb1cb73714af0caab0532f3802d62d30f2f52ab6606a9b420221c3172b3a0f67638ecc4b6ac81e12188749c03bd8875eb45989c0a5bb3b5b478e6a41eb12321314d57699889a9ef74d6397c050d9a18bb9a368dc55e717501477915f8d66d195d24861ef79506531e52b8ac7d3efe48f9181d0d1e91f5e796856f4d3f9d99888c2c17ba3594fa2f21281f4e12ced36a62116018fe3ee134322071a5a5ee21a49c09bdd608f5ed0bdc658620620f5760a9fbda7b88559695f064860462abf6e45ab9cc54bd0eda340023780c988e35c2423d56eb8782f474e4d264b3955d9d5e10a9c2bc10d9b67e8b6a60bc871a412271f6f589d6f499846a390cf38d964fb5061f79521f240746e10bae1f3f5cb387a971c32220cc7789dc18b87fe1c2927908970341b20df346c95b7c4ca370254782e57320475eb5ff1129f01baccac16a0b91b0a6722b0dc02161798657086b4f742cd1eff151a12c07b06710288964b9789dbe11411c1db91d5972309f55c17fa274039d50e033c55408c9c415f7ff78947d647f8a6126b53d8c454df008da68fdbc22bb6234b04774fec0097ad7ebf2744c10204732ae76cc3604d529243b0d9a9fb9dab3dee1783326d8c7a972ca879e00795fb799e1c4dd7ba1dd411c67c78cbfcafeae8ee273d476bd55bc7de54892eb510ac49a7d13e2e326dd889aa5bb1475b45ea269c94c100ad4cf5e4e245315052442590c098964cd0f89c8c5c51367d28c1a98d79b765f793dcfaff0f2de8d4ce9b05599728a2ca4079ae20ddd08fa36387e2bfa1b25a79150bb915b4684bb7224b8f2c0b4071e8821d42a18914d8071206458aaae297dd8074ab33f84ced525e01ddd9010b5ce50a1f13cf04e7aea63ac53f5ab324df052a85b786a3d53cdae22a844d2566c758e4b49bfc4ab5a2ebf1cbd63df71671f62242e822049d8b745d58307cd4a4b208a628fa732c4aeb853b6d96ab75e3b0c6fe72e95b976a045cff76206ac9f0a945e0e88d1de237b9ee1b1970475b47f1815bd56da4a18005850b22368c10d37aa4d6a3ab1191374a11b83b16fc0f81c1548642f3a0e9ab83ce3160108e8017dcb5faa104432beca790d06514d4398c949bdb86ca08d4d18cb7f3b4dfed38eb07a9267623d5fdaca9c6e4ca552eb4ff236e37de682dcc785f2062f61d535a6d01cee3c3d71d716bf05b5e0b7ecddd063d5b4d1d22878f0f705dd56449f8773907a2aef04285b1677126a0f4c933d25c86cb1dcfb86b5ec857d7a0a2ef7a68c98233281c2f99be72376cc260c8bf0245aad447e832259d4d6cf9449b8294495daea64bb0e4388186ac641a5701dff1dc175e9499b20ea66a80328d94f07eb05548efc7c4039d9c3ffeb31a995a9f99b1cfc0d7ea9ac6d3d18aed42f889c7eff0a8a0166e007ada38d70e374a93311e5f2a1bcf0db60d6e1490c26b1e5a0653bb0ea57b4b5ca5eb3b189a60d1f4ce2f58e755d88ab0ab101f1f0cb4f42bc6d28d83f2a88224e8d721c328efcd8994c9001be1edd583e386aa188145496d5831077f9289d72fa2e718dc6c1d1cfa07808d39e75ee04ec2263cf9245913f7af844702c08417e93f0390763625ebbc92cc80e2ee6e9e0c52aba2fb2eccc40f8358cd42d4ead2b8f887e9bad9f0204c2e4ce8d86fc443440f604fbb87a35f5bb760f8cc7b8b10b74906ff7fa9f18ed909d4fcafa4a904f4f43b0166ff0b6e54f6d634824f37ea1ecdb91fb740c30f7c440a2c854e35638c9a131b941d1cf3a321784e54b09d86b9e4c11951b7100b0cb56499679bf906e4d2ec85e14ca9511e7ff884e29a9bc798ef5c9523055780947458e01245ec741427992302a0fee5766d7d4934dd522527ad4e39a9c624845d7ea490a5e6c6bc07be23e926d151d778426bfb4e370b7053f3a0990a36a7170b4935d05a9ddeaa429822ebef537f89ac30d37d3f5e628f0b9c7325813f6c8a04e456d2b5b62c006ca7a849db393f73016caea1aa6eafd95dc099612e2f9d12b39dcfcd63c6027b8d4b35c1b00fbd49a0a64e7a83cfd3b0def89d40e593c9a6b1320a0594f067ca1e3214e138cec3cc6df3a30de3f6672f9d1d1119f10e6315dd1aa46498f8b72b4e807343460b58459e8e787823ce7417c3eb2f4f8bf906fa0acf8cd29a24262b69be2a85c51731be49f26b7a6a20e8a342b9c87b924b255328e7a62c48422c65082a92e41cfb0eab7e9f7bda8e6006243db435b223a3b8dde4b2a315ab30ae5aa2e77501f3861764d41c1c2d202658997c91322dc0747b65feb477245d6812de580cbd506911a093b8cc3700b0895e083f8d65555dae57fb1630f072ad551b8a5424301731aa79c1586b2ce50e60ae227f9c5f87fa5439749a1f15d1f5ff7d08c3b84366c886aed24951061ab0d7d09b4e2786d62163716e8c1880448dc8260f6d613e81604bd0444300a5550fd7cea6b43c67218aa8990a132c4e48996af420ba410d8959501deee191fbf8eadb0001b22106aaa6e83f033e1565127190e7ae150afb42c9d9af18bfabef0cc86e1049d7b96079d58f3eafbcedab2e260a7d24709acc6168dc9c9768b71a2e2b76909c9239ce1d30858a40db889fe0bd46e74ad5c356d9b17b05a5e1b01541ce03491f7bedba6622afa6c50e4f0ca71fabf0172b3fde2340074d88a4c9cc0457fca24d11810012572992f681ea9cf58a20631a983f05f3cf6b6b2dc848d6e21fb8a607b953832eca187ee6386bb5602c4b4ff9bf0e83eb99af9f0ca6d28f7eef1466ea269e60d32c790c61a018f22a32492c75ad869e10b260c1b43a72f84e4b48fc73ab53daed731aff3a17c0f3215c281c49490266a8fe306335148a091357820bdfac6686df49d3f33e76b59aa1d6e75263678ceb910853c265692bf4c8ecc4282446e693deec22ca188f2c9b87ae0aed24a0743559c0ee9600d5224bd65df98f96f4f885355eda1eeb3c5797d119bcaeef05ba10dd7a2cd6b95a0aba4365c854de6b2cf4a1375c05e16c27d609778fd9d6b6ddbf3c568b8593ea567e23fef6dcaa03fb81768b59fe34223bba8e7939f2d76979fb0e8eabe018ba116a9f2f2bbcfebae64e4511abaa2ec0dbc9838b7d8c71a8f3e1f000bb1beca38e0373e0c6c81d152c648b1f93145262a8b7ee0c74283fca80996ce487f55fa2a965630295a65a86eae3e84843d374e319c846ff34f51b08e678635740f2835ca5b69ea0a7ef45005e1290362c4f26d1ea87c08d99df1b0127848534c98381278e2e5b2205ef3e1011af4cbcee689420c78041b9a503f88a2ee0e01b2c1e3841cbc32d7c86620ebc65d763f63d939277025a79b8e84e7de2e8ca10689a382e54f3d7b984126e2b77e08b133482e32df68862b3331fed56555ec9011c5e3b1d71e0f4fcf64fd776623ad080ea45e7d0e44a05bab1edad3ca731b29871be7fd91148b9395be5078012d95930ef4c60c898b7cd221696d3acb9255513c11feffba6a4d4ce52396c00a3d890cca3aeaa6413d3caab21b02fd9681ee83bb6f69fe59c590f2c898259bb5eecbdda7e22bb22ddb0af7615cba6aa80d4f96a32715275fed3421c1c25b09460ef8977c5a27d51c80a7cdc5f54e8af38a6642a848bde489e2f8ea16cdb9ae90e6e1779b323c36451b346263607bd45fe726c5c884370c9f26918b546037b080cb924a945e1db0642ab35a41c1a40d69fe409fd3548999a2f49c6787dd28cff2806364a28c5187cc033a458e26b30665d9590ac89d4e7808c23762a4803a7bbb7a942784720c8c0a40741fdb584721c8003ac43077fd96616a64801e3acfeed91134d052487ce1ca100edfe58b6df59ddf9448a361818b628a0299c9346336df845f074104b17bc1ca42ff61df7042601cca70b3d6fc48132adeba530bcb07dba95df411667218cbc36c49ad3994ca4bd237a0529a002f60bb614f0aa9e29625e9a54f4ad87ba35402e9b8871c3c2f410b2c557b1afe63e75fff2ec33a8d7d1f061df592e9769e3ca7d575746915cbae133d386d8325c88a95b8190dfaf3fb96705837054bf1a77f7db915a0ae66322140014943c1ff0b0fab93e8ebb1acd17b132f627aa6226c88bb531d9b6f6d946af84cae02e226043bd6fa5696fdde2ad9cf50dcafbd7e7c67e3e6b265b0605c50fdbb1a51cf33e3f869496cfd4beb244f1123ab9b3937c84ff76651a26789d0a5eb0eda2abf62ca05133bb3eb4420af0c78aa2748a0501312eecabdfd7cc6e42c3773f0b9d9b3126432836d9ce4ec9a6e118548f532ee24db1fd6e34e195b1f83f0ca0f80a51d2935ded4b1755e5a77085449dc5baf5196bddbcbd3e1bc5cc6ca2a90c155524536454d112dbff2c542689e125dd4034bead704f635c8cbf5505d1914e4be41b1b5ea784b8c85c901362c8f0b9566b62523a35d1fa6711a55400e407a3b0dd6058e4d509871006856d9d007d1009be0a9580a99237b05d8d29929ab55a95cbc0188952d0cbd91c805e3f6521d8b09d05a32a5ae3425ab87c2d917179680f0000211fc13e00c4600f2332bed66c2a8c8d0a166cd04a2e709b429c15549b4827d821881ebda40e5392cb85556b7f9d7eba16ac47c8f63d182792af5e19fa1a47a45f44e312352b3b79008670b27eae3d8cadb7127a6b94bc5b13f919dcd97d086703123cc71ac4c67834089666d5035fd30b51b7862bb6320f06ecba4e113d12e27cd85e40753002f0e3c3d4d418bfc425ee88e35ed073371546a0a6970c1be805e863383de0fff5eb00e4c0ea69b03063a780d4bca359a3086090a78d8093b8cce1057055d6846793f30bd9c38e43c19975049ce2374bddec80b0d5fda9dde7d92dc80f7bd9f7e309a372c95c53bc2d0a46352c99dc33dd04da119a0e3b3e23b0a88670a1e20010a89d94e220221c9ce706ed4c39d833b3aa07f7e8c409c24681175031dc94309cf2ea95438500b1f0b797e5c941010620d3e01e1cfbaa1e1e11164d0a33a4d1d9c98b1923d4c047ba6cbb5256fdc3ce00bd145beaeb59abec03aec4a3d4944759dce0f6da41f88258b5fd0101cf33b1f601ed2d7e006d8cfadd85677520d7a365588319bf01aba4bd70b51e800b4819b0d1412dca23c75f5ef4a3b1d18d15f6742dc5c8fdd0c6865646093276ec746a27688a4e86a3cb3110e0f746d8c6073661826e2b09bd25c56a23b43237c868e8f5b0e64c7a00f38665a175f55afe9e115d7aea01a358d252b5afac74cc5327c458720a885385145e01d0ef6d4e19ba2089fdf03b8298e4bcc060050dc89403e0fabae18946e816fd9459dffc39831bd49db9262581e8aeebd60760dc197c751b6f7284691ac22da7330a2a5ea6a4a81587da23527a400bd7bd044d286a712b3c50920d76e37f44f602f4871cbaa6168f32204c6f60b129d4f54cb4d61da724e0d45da372e2eacbd1bea42f89d22ebc8876490767450ab3f75f582f92a1ff57139bacf36fce63d3eb34b53aadf7c899faec6425a2183c13161b9cac40a0e2d6a9566add82c618a5bff7dc17d5791c8e9b1f8a14bad001aeb8593a0d3fb024711855191b0ae835e48a9a5fab5e482f16a81f9a4bd1180616430883778e2565f49ce5a21aa70ece8e1884199b5dbe6d893503df9d12979f21b8cac0fd42ce40df12b3481704a3e7d82bfa8e0efcfdf8825fc325a735143258669b71e9aee3f19e7b22aaa4c23884c36a460734f8509aba46fd23f12e1b8e92f96968b0aa9844591d101a7b6f4e0332079bfd2722334bf6cf504f98d75ea272425303cd60ee06d399083b30e09a0b39194c825d0f4c6c639e3a6b7d0ab1051022ac482e0eb89f180a30582667855b9fcfc561d411e6c9e89a8c23347e7f160aced7cee76cd2202c3900c6f4dbdde355cf24cd690aea71427ed91609e0d0c3b4b8e9d5e7ed366453eac2e9e165aa48f64ce98d0d88a44bb86276d2016511f3df888142f154b1b232a55289a7dc4beded4603d47ea6025c47420b16cbd4c9d1381948344d0b2cde1978e8ff7d461c1794bc63663a37cc5d569b0665db2dfde99b687600a8b2cf96745010ceb13077cca0c94495a9a863a3dd9e2b0ee4295132dec9ba3241e3145281bd03354a8342e9ada2c84c5d5ec79faa29cd032f1fbc876a2248148d733e62ffe724cedfc8738389e288084eaed7cae847aa29d18bc5aebca64e7497eed065fbc1c3196e37f2b4e2784edf6e1ec90b2ab8e04bd9e62a040e916872797a71a0d3e5d33cd1c8c6d11c3ed726c43186134ef550c87f4721c8dc354a42c81d95def34e51c992d43aefda67391f5a0b0ef24654c5953074c3b04dbcad41c81be45be1719a327934de0115395a7c090c32b1461f944b3a4b3539952e58a91e3fdae60bb25263bd511b5506c39bc4be32787291865310335920b1ea5da57175780cf2e588912dfbf0aad908ccd4ee4f548caeb52352ada17f63a8ff52179d1ed934a19b24608d3eb602e5b546f343c6a233a23b4f9cc8b6d742dabbb1b193dcd6a049566d83c13865580f8979c9101fceeb7c808d65be9afe2bc073913eea69079756556bbd59740469491189a906bd906ddaaf33cbafeaf741200a7b0ba053bfd91e75cd157e32f249297c75647ba629769348daccd06b741121458e48d534af17b418f0cd5b5e82e764c324ff7e06f69c6ad18645d06470ae74f49eac677b50f034bccc29d4e5679cf2067a63747c47f2819f7da9ba9e9b6975a585a2cbc17857079a1267b6926f927d3f62584f2d14608ca6d24733894b89b9f79633a3416dd745f6a10ff6c0bce883b13bd00b3efd896b91bba9d0bd59f5100e0b30c61e1db7323b118bfad683ebd1a21a5676c81de3158ab5e10d1d22568e9d6466ef35536e233dacaa8f1f2a29c7b2e3e364b30b6d223641810c23d30b67fc23935d9f1a74cbea41cad7e7ece21467bf331afed3ad2b93767862a49e213c845acd5f3b2a635812cca51a13a514a960e57b72897f3b7e933d658b274cea0fde98cb5af4cc4f04fc39dfa455f2206a868552f29233992edbecc72349a77f09b5e22c8fcc84e9a2053fbd26d2c59202f05c871c157abc6857475c885f8b09127d19a25cf0141d34319a6661653af827da4717c1aa7cd10f592e0f2cdefccbe1996dee9fec42852ba87a90bf1d5a831f5ae9da5d5c60cf3341d640730acaaaa347c30bb18d20ac2e6a7900849955e98bc5b9df537323d49e94e7cc7838307bb4750cb3c2340272b0707aa1063763955b472f20473117063489f314c0a109cf52941221f4a3e29aed5cae41f0462304f55a3af00dc54800164a4387611b3f8f267ff80d8dce579dc85a63bbc77d84c6e8c05d008bc9afda8db22d69b3721795688d70138234452d13da6fd2fb1553cbf4c35bcd1e44f9fd81701c1fd4f3b078a74d945449b7f71f052002de43908b03cdeff5e9824ec14cc952560aa78834144f030198b33ef968b089c1ffc0764781fcd48d0b1e2220bf211884eda64808b303a0cba25c94e156a5841d1b2d172a4ae5a7ba0d54fa1dff0674364ae35a63a82707744a7361e622ed0d3b401c8f60e1de1b095ef31c14a3a9a6575a3097ecae5602d78c25f32a4da3d125a1faa344bcf0b9692387291906c82454c034627f237a15f3cb67594caf5860a376fa6c6294bc4e040b09505b1debacd2387a2fd9a63fb3d575747b7d0fe363ae22b22f5be46ad17a611ad3736428697907fe51d6e6922aa23d80af0f91b495544dbc7c84c0ce95d821ac96b75ac65578992d0203f5975e13e6e9d7690fa290eeb9a7025234d42a3302916f3b8cd4515551f4c3c98a6d7f78ef22eab9511480d65cbf40371493426b322bfa11c8e39a69ed0d1566438adf6349872a64c2b947fc14a6eea1974753fede7e4728ecd4daf207a7d095fd57d28fb0557e0883cf74d63ac3b63b84a692ea68eb3655d7b24e54cd4d9db54f3133901db185dbc49d524c25954430af50523df01e06c3a284a72b6322438d7f0a661ec8addede28d144db06320c596d4e44f04da3d2284f8942609a3b9c94f043ee458b934a4800c7875e9ed0caa38f2d354712ebc1ba74e7c2984e80b64b5b5b7983981aed827a9987f1e8bba5a2c50901c9ae9593d74e6ca45a7bb6eb0e5960868bc1fc7825ffdff3434223aeaff858fde2fc47fc84c3ca4df0f442346c28f1e17a15420ddef58bd102b89d6f3d1bb4a4e888c3597e210b0e30758e66ee0e56dd737f1c6c02d1e55c2dc0fa74313c227422138c664416fd88e1a4d2056a641d1f98a089e490ae02cb0f1acd8f11e0cfbdd9177896e88a02d9e8136940038fc2dd05d5189a87747282e689e4880dc8eff594a181e3f9fd66ce6d6e6539ae4cb1bb33068bd24da33c36cea1a071350d126fdcb2815cee4b04ebd24abb92e962206779339e05280cc1eb848afc525f2a1823abb5f13f68ecbc57e00e2a2ac506d215285683f465cd73c7446b7a78053b70fec010f3c4a4d1c17f88ba62b171189243f354d0debcef78b0bcfe9b3185a19fb2716f87d735a5a32a5c1e6bf4309c1209c32a92fc9696c357a2231c92c4c0c4168a1e74a992ac6d0c1ae5287f91cd6191dfccf907b51da172d00b7c2ae6cfe0a9819618f019a90ec83e1cee3f5e63742c32779ad44e8d30e83f1428a0d84198dce814ec142a4189ab6734bbb2e28189bb028250a5f7d6833dc436d90a060765c509384ae9e96140ac00daab45534bca879cfe39587b0e3a2864d20b7c745f534878d1f95c86740d698ac133a414bea60bf649d25159aa9881f5b7c8267aa1a0e1b674887d944028d57f5f5848970b471bd257e4437b7425db7c23dc4a6c39e557b3dbb147558e47caed2986d043b976ee3711d3d4e933ad1a320d167d2473353efa751aa6f4824888566d1778c874a10f706822ccb7254cb3d85b92122c4ed45d9c4827b30638a701b277ce8d9ae9d8e926a09b0a6b0799cade27a754ffa3b4afc02b5fb81c5eec39510b7fce6012b92156068b88da93f1f74206cf0b9566212600cb834597df7ce1b23ae91da44601b672c89d6fcfb3dbe394256be2035233cc6537646aff0c4df16f337c678355f67a1d4b5a600f10b7ef31df8654c93fd6da5308b26725a03fe7b9ee4c0001052a400406dd640d4f0f5b6a06ad6e7222931f8b5557ed6e2e7ab9082c77a0dcda10bf2e2aa89711bcca8aaa0e552aa1e7ce6e8c5434b2c13132d0012cfa4a34605f769030a1c6e3b0c4348878c555b2eebe1d64ea78c3be9adf00dab4de577063ee75d2b10d5956ac8486f1b1d4ec3e1f69c8614812ac62df7b45a2ecbfd346ca354b98c9441e89e6e8aaa6ac731893cc4f594a9218fb5b2ba057f51d9de316c9f9361890f15ce5a120363e0f797effb07378f401310fec7727f1f378dc46f5a35e591928fa558af49afcb7323b82d057fe08923cbba5009e05a98f2f0b1782d72503fb8d525d4040da43d0c0350944ef220bd8683ef94d2341664c9a2e87cef260a2bbe7a45c600b7321fba14e085411cd8dfd5133a855b7fbbfdf24fdb7daa442bf70529e5992f9354aa888fdce9e2f31cb8da7eb08c4dd22ecb33504514356d261864ae595036b8be437f2550291d19d499473c2122304921213d5fda813e1a5e96925ad6b70c162d3b009c405b351a6b75439637c241af755b1558ee972fc75d3381f3ff169e74e615b3b300c3fc8b018065698670857998f07ff2d13ad853bc90c7926f92b9c555d8963c95ec99868d113372a8b6d5b8c606b441a64482e8a1f6d1d3b0f342170351a31ab05b6c7cc21d8b557476f4db68001589a95a1e691ec830c0cb91ba5ba5f29dea0956bdc67209abd11e365657e2f48ab0f649b26cc399b8a08e4f2da1f17cd86fe495385d51760087236ccc72c7ebdb536d5d7484af1c75f61e5adc7eb6e9104c7e2e3688cf215433431750baa8d1269197ece2a0be892954d509fde5a808afa947a808a69817517542e35df3c595cab657f1d598cb04d7a50f02e5ef61a1396b6b28c34990ec3990519d9a6d226ff4520fe0ced39c3db6fee4d9b7c6c9575bd28ee27b8be7c5e8edf76da8b0e20bb7524bc54643cb4c5ab053257b2c481c21946b49573a487aa0a990d09a4a845d6fd36cad6d5011b8b51a906439ae00f73b5e68b63e4b053b206228f85231fb89345903331a203a85a4629c137dfa077869295d0471e820d8570f01b6b42be501872f00697ba8e80d0719f5b7bfd6b05e82a5d1f37c792406cc3049bde3c74eab6444202ac6e96d3555c693dfe1d0d1471b29886e22d74eb06cba5ca2c7bc24dbe5d260fa64f3d3b6be8347e23f8fc82a53c2987e3e2d760fc0c3cec399d27ec3b32ca7732fee5e0dade505a93f7b515613f6be1868702e301fdba7c3b68123c259402316b90b522d17dc054f4f383cfed3b384a080f0b9097e8599f4970aa8bd2912dda7af986290c67d28b22abbca7f995998148543c30a650078962e43aa0ab498d4e701a806050519048899f23ace3fa9858dbc047fe5ee71a60d6b73edd7e73b69ffd913a16c4ede09706135c5e9c8a1e35d5c963248d1821768a403fbab8a4d5483906a509426f1621d6945124de067d827da13bb4bc8ef99f9b24d4f8466aa1b5b1327a749616f25e7a8953ab19940e88c2cd148f0244b90502249c4004bb9de057001d0fa80c4c193e3100c77b49997f68e3df0debd7b10c6bd0680a3db4793358103bfdc058142a96e8ef94016ac7a273037772052b6cc2f16c6c9a44447db88348d95566d0e97339b60614568ae4490da58c5e658d8cebc20b75903ee97917a0e76cdcf969da903e093f5e0c23b8356ae38f3ae1217ae5349d46cc75df78b6362f40f360933b6edb7fba4440a15108e5f3df8e0b7084438278ded57a9673bfc5cb4367acad5207702862457d18b76874f2dfd3048203bc1e0d0c740d36c8d8e7620dc3caebf6f6761eb325ad8ec558aa2d632a535f5d9b5a742903d1682ca2d189a8421a780d1a99d67ec866fecd1ec3e062b6adf6e351e84c2b03caea6719dfc6c790772d97b270fbec16537b9adb404359da88383d9da2ad8ed03e14a656bd82315d838ebc0c6d04c2fe6f5a9640b32405f972a4fb5169ab751ca5c7a448826f2e492a311da5eb51d3a8e26779c67388ed2cfd946af7f5770d8f29e64d76bb13ad826245fa005d0e90ad68311257ee716fa1cf07e5e1ca11a60bffe47854ee440825f211c961502d5745c338e139fe635a0414449b2efafe497fd553e60d3d076251722a40cb5ac3265337af0d75653dd473fa7306f143a02fd49fd67d82fa13bf54411f9a70578006ddb04e72e5db1ef38c9335145de72f011c99780c207ce3fed86f5b5824d2aa2d42945597c05cf74c61c39a998db97b95f2057195ab5009094710667056c835adc90f02105e53ad5fa4ca674e288f04b6281c83faf7de89ce1e2ac97f69575ba2f9b23eca30482945412c9e599292be3c3e7015c900fe4efc2dbfd22b99c0419fbfa488ba80b51c92b435d9ffd3e4a012f8a5a5cbf51394cb21b5b60210c2dced1519d57992033a4b7295a350d4caac649c63d4b8c10a9f1c35c7893e9f476cfa531fc83418f5280f461b03d41f6d974aece461939e387b0daf5af9d041a64fb15ad58e241d092f9b0fa5faedc7ff55bb20b9f2d598ae28b9bdfd932dfe4c5f45a7a27dbb0646d45a455cc7f915d15119505f377ff02d0106a96e0a861ae32a22e7840af056e5582023f3b33a14a0701b744e6dd13d12da74b9ba9a534bd629d5dcd9223b85139d52c7b900ec656946a7366cb75629285744e24b79ebf7e7fdd6a508ef690f5cd4d1522a3dfa9fff64295679c06e038d5c29e2d0fdcc369d6962bfed7755ca304f06526844eb6fa4d471a39f4d43ed8f2ca76587250606e2a42642f7299bf4c3847eb1bf35a9813a9783474a2a51561fb39a3e9ae8bfdb40a2b22529827b1e9ec4565f2063a4b21bf38bca8f2c3dbd99640338ecf3a475fa4775b05c795acd3aff7f60bd789ffba9901cf5da1d90477759defb1019a590e448d3a8355d1d691615982eeaac63b5cfc9dbde34e9edaabcd9211305f03478beed4e3ec835d6f20be60a31dbe42a482ec34e6ebacf1d2754a2725a8b1c482b91c6c25e810e165a2bcd7675a582a45220fcb466ca01812f07127dea393bac0a1ff7a164ace6b8b5f2aa4b6a266ec311970079b90d8072913563988f5007c85e0250125e4d97e81b8fd11338030358f1e8320a04e79edce86b00980e58afe88432fc638607ce2502846d3da7da827143cb08687682c0b2301cb3d4d309baf745e7c6be9fc8e691580b448d01e0623159dc6d63abd9b6d9f9c3a40cb86d039b0a5d42c7522a2fcde6ab468db25e30ab28a37a03f977c0053d2c475812355c0e216a182d68ed879a22fbcb26c2dff730578cdb39e6ae39dc699b96f9888303a500a9212913644f5db4808f46dc077d4254b0358104959940d01afbea044e607063d8196eafe44681c079327f10355406815c286d32f71ed4034a067130e816a411d2bda841f15b3288baf42a4b217a516421eaee8ed62c5477881e9f881b9c801f289e0024eebda39943e8e81988a4ce2ec23eb33e82063c3fcbeb2d249ab62852e65b5cc5f554bf4c5d0294b696cd4fb9b050bf7a024a37e3410eb8f3b358fe1d16475d4d7201a7ad29b56e6bcb4da73bb312f6bab705eb7f31e141bcbb4a82c9bd1488dba5110ec34d892cab4cba9577eff323f2e9262dea74b5f6df3221c2f1e809282c37679f84a8c19cfeb291c7333b6e47d14d06b1c6bc6b8c35579e70431df8abb396acec736cee0449b5a322b50abfbb86c3eed7d7198d33e1fa1fab6276cd8fa23bd89d5b6d542246aee3391c21e4fc0e967b9fad6079602149bfa790cfaa8d787adf342fe358740cf1c706f398a06a88ab71daecc5fd16eb55c700d6ee365b96f54129e24cc767420fe168f4041cecad9d37761fb7925729404ccee33d1eb97942bd36c23beb0efa3a327a3183b8d9c19f2cbfbdc0987d74219ca07e12708a523c4b0c137b6935e2b69fa060061480579d566cdf70f0dfabfea4dc1b8c45cc0417446ebf268a43b4da85d34ae72e575f11d5015aa4c7ff0427e6c86ba698a8633438a1a230e356a814ea93d5b45a47e5fc8b25a60b3a2f9da6b96cd8bc21567258e5467bb9fbaad40bd2ba31032656a0b9f3ba2908d302b305a141826234c97a725c8d3edacc1d575f21d50351c040b1353898d55f594ecb1818be961ff994cb5796cad0d10a00996509457247e2fc6b52af823dc2a8fc9b9d583e5d33935d409211eaac0eade99f96f293d5b4a695b7acc893169058f11a010031051063c50c55f921d889ef672758f98359bdd741376e04f180188ac6cc8fa14f5576911980257f00be50c91115327cb3cdb427ca951d29f0d96eca5047b428f58f6193693db5ab94ab5b8037fbed4e979427a87fc722ef204ac4efe2a9db8b2e5edb72c9895a0438b344310c99f28c10af49ccae91250baae41e9da0539cb5379612e8f78b2f227a6272ff8ba46e2a40c51a08277969186b70c7be0712e10b70aac31ef5986c8b2df7ea52ef401980a88c78d5184088b27b7b65bafe9b1dca76ff52a0f00a72a0dcada0247aef345f39cbf1acf011e3b9907f1243f453b7782a9e70e195c18089e0d347fbc95a5f93e05003041e3ceb7b981d2cb027bc344cc121ce8c7688dc38e50af2842e160af1e67ddd02a9c693c34f1354f26ac93b1ec12a21c286d1d3aec96216edd35fa0283338843c4d05c246e469d73e62d807dad71fed9a26fcfa756fd875a7326f46b053717c9cd7478138bcceb04da70c1468b8e60b6800dc488973705851d29b2ef018927557b1abe36f8dd6e9a5275027c44634b03d9d8f17d31a63bbb3eb63e1d708750b306a33eb57a2551f299bb6c0123bd9f21c6d41074617ea9bed7b3be59f503ea964c35fbc01fc37cf333f492b6288b9193e46c50ce910948d288e65a6d00c93acd49fe9db276dc54f8542d427fd1b0d38eeacc388fcf9c4dc3be678d190e73b365b5e915ec4777482a52a852e2c8b82d4e88add9a8d7e29c220303b6d44417408557ce2ac3e8b55652d2c9dbc238b13f1bf7dc8224b9675e543018548061254d68f3a2978048c998af8a33dfc01bc0ac56f2ba98209cf7de0228a5c781d9a8996b026e1dc559afa6e97619df30f658bb397fb2ea056574376b057c5168d77058b1d7c37afd9064705921617cdb4606d5135633d62e9345bc357b6f3309135a74c30135831e8c4ba3b215db366ca320abbe6adba4ad2aee5e9426563c73a943c5d6a18c0d0951ed681937b30b789edf680306924b481341123282b432757f85a0cf03bc90a5b8c177355cf029639f4072acc01900608012722b811762415025ea5c09494241437c0a49564f8d696cb8c712ae23484619720e69f965aeccf9628d61f952a869f963c6206c147d9a1820164f64f952cf60f962af69f952cd6cf962c66fee0bd245ef6e23bc7e352e99ba1ae9097e88f63577bbf96de819bbd54939852ed996ec37e6ad73c3a5222587ff2a58c539b47c77acd2d15a9bd1180572169f58ea3bbb1e5c20136e66b6e458b8e67a377beec1d583b5b1cdf5395a52e71d5873b66a78316bae3957e5f41251e32bfde7ca5c3ed6cac128e87a8a3b2ebcb076c50f95a34c98b05adc44326579ba772a89d8d54e2fb10730a777df5c0068adf4a2377a9e04a7868eab2758a0fdab94125bc0f625f7da7af0fdba0fdbbe0122e0b52a987ecae3757e7703b1baad4fc31e675edfbeaa137162a9b86a3dd2e7143ad1ba6e4f77e038d15574f2be9d0e6edb79eaba4811ca63f76a8bc1231177cc314b1c44addaf50397847edee9033a3322da29a81edac752755d072be9d7efb46eb0deb4df61bb69bed9bd69bac37ed37da37586f5a6fbcc7fe405159cd235402d4381d34185ce95688e2a1ace3232808892d8bc28386c129a7cf844ec155900bf12963257b2d1f8315cb26565f48e5a704c9da5e8a348746f3e9b8ade96ca60f9930a854a8f165b1ca9df2b74a92ccb5913d7564dbc86cfe20ae926aa2bb76b3d17d343cdc878804b2420a52051d44a1bc75d9bba4fe3965a6bffe0a13236a882c1103f8dfc7d06ff11695d515ffc4c6312633c6cd7f9c5e99cdc1293f31ade3fd04d1817e1cb8f1244561c347e871c8f7e4d52ed51ac02319111a14a6d6648debde449cdcabe4f107938af60eff64d954eb108d15b30a7647831e3b3c264268fe24b3af98380e8981afd5acfc35667bd5672ffbe71eebb62808e211ca5783e39155ad5137dd1d8cd372db41ac70d9c62dd6c1df7217712cac2888864a0ff0f7a842a6c3069bf80be1b69d7deacf602e2ba6d181ee5ee7b7351eb6d01c4450d83679ec72ced849337409a123d9ac60bdf0afa1bf505e39fc89bf02f610fb80c21b8973f0312ed95d5aea378d8c6f0b9b10ea30152e21f9da62556bc7af954c7366615ac1a98415632cbe9971d26deede50bf351ab9edfb82f75bb867c55814378d0194fbed47fde7728d3084fff9d53eaaefec75a8cadaf9b534b39f39982a702a61c7583369dc3cde1248421417bf24477b7b15deb007d06e49c8b2db2e51f62e93596896520c6e55a5b1fba2769b321c37e5c5452459e29651645784db234cb18f83c87101c6577f424ea8b01202d6416661e7708c6d8b9f7f2d5a4b280c1deb81e376932f874e21d986f31431af102fbb669a1c8f27b6cca984beccca0bbadb815ade55ea34fd798c8307554adda00d97cd339f1a51b2da7e3e0bb75c9358c2c628346161fcc91286a66738ad59b87e38fbf60c97588c774e7eef417858fd330c4a0f31e8f11fda4fffa8452c89a7dc935c567118a87cff485f6ff7a0bd195ef8f6e89426072c5d243a0cdbfd440e8135cba3bf35b96df15349950d0ccafea15f84ab37b9c24e247c316dfddae5c3d8c9b26fb3b52771aa05b4dd87dc16064b620e0762fff30108108678f881aba63e17428c870b3b3241a02c7a5320008ca1fa5bfd02483ebde7247c223d8b6793b05b248c9d2cfb365b7b12a7aa41db7dc86db5b024e61821f63fc7800061888773b86aea7321c478b8200d7b460984102b576f72859d48f862da4d68c9877137abdec6d6dec4acadd1bacf927b1412739c7887010ecc5223bc7dbc5057d5e48e73320c748e4843e1fd88d6ccee9eaa6bccc91d99b35186785197d522619f51a601521ec185874e370241810f202756ba0942afae877a6a32d5a99aaba20781acae47c8fd7fd8c23723bd3e42b98eb080bbb7bf3ec6197cc869964e7103e14b8cc52602a27263d6df44b96012a1333b831311a7df973c68b9ea6d3e1d3671836e552a85ded1d382143f49ad2f2913e16137e4083f4ffc74a263cec622c92f8c7975dadd3459584cebc24312e9ef4e5ff10f8baab5f450877088ee8cb021bdae450a2265483bc28a84aca497882711ce952e3f6e6856846728c950213953c8213fe7412303166912dcc14dcb21810765110e0e884a775ff3fec9338e10c98b3d737d84e1ff1a81fb964c4b149e9cd6e1d8b417f4904b7eb1bd7a0185f1f3560b11893f591a18f50a05cf1d2bd1eda683268a75c689dfc5e2198d055b0be2efa46dd4813b7748b02d041351fc6409bd0382be1905862f563e2e561d53272d3b87a221f2d6fc69602a8e57a56746ccacb153ffdc3eb9e6905019f79dda33d39551638d7ec4596f4a94f5dabab90e6fef538bcf524251121086492fc000a9d39f329cc56b8314c2aeacdecb8d4b1eda86a7ce020a6d6bbe9f8668d8922f2bb2248e34c6e71ee0fa17305784131a86e3d6e8ebbdc599b2b0b75abdcc114cc794b0bf4d60f63b19057767c781544dc6be20cfe51878535fc9b87368bb1615c686e22747231bdd093d9105f56cf08210533d524940568d85bd44f8e3dc468c0b2c0f8d059275f56e78e07e46946827c8c583006b86d9594984ae4ddac43aa7e50ea16fc2dff9d687351e28670ac3223416db175c171d01928cf05f08a0eadf5c01c4ee3f55eef9a04bc602ea049902ff65169458f479d0175198852e5271b5c5f9f7d5f8b322ccbce43b95b5a261ab680937c0f94b2a32c285195a1dc15e87700d743619fee8203a0f5ccc6cce82f1731cac2c6e07a9bcdf7c47d756b0fa1ae4aaf3db3ccd7eb6297bcd353cd6b131d334e0e4b60e5aee2a90c394cc2dfc8ddd9fcb5237883115f16a3aae57d19e7646f4fcc4c2281c389217f3fc91b6b63918bec35db2900d64cea01e7c81b56e04d30466e95c26117b838291b6d5342d7275340d2baf47b0134b7d4a9fa1b6cebaa15e8fe5203d81d6f4c3d622b70e41bd7116d7074d49b6439e9b97d0c51d7ad922af3e94dd68e023510cb897745422281c3694c12df10af645548e26fcd452c5875bac0d0c27dc2d6484a32885a2df4c7a31a07deb98ff92214c9de7ba8b08131badd3c181f8f2d02fd43fb68c8372247e257c3082333ccb0140580c009eb901384fa16ce92b1105d2f071fefc4e246b1ee99b1bb109a11ddc2019f07b539d60ba9b1106f231d30e3692ebfa488a9c9567d056a07b2cea827cbc5f8dd676ece7d11be4749efd01153529f965350138011fcbb77ac3493e42e79e7d9bd78ce0b47a5c43affa4f4703fa96dff1f5ad3e0d37c913acee20a9eed4ec75197a78e6b457aa9b2f05aae9fb882cc0946ea7418323e549bd712cfc26865332ffaba164f02bdff9c44a2f8e8eeb7e6e6d404e3d87c63626cd7ed83d4411211ad23aff3295ee8d6c675338405182b90194958b6961709b69d3618084e85a64d72cc998127098a22082487032a88d02620427cbd1d94a300674a733fb804dc0f2d3f8453277287f545c9d9a0e3331f3aa40b385f5d33f3247f42c978f16674b532c2ec93a21c1b6a452c0c18fcb7092f90d6831cf8844540814ae840902454172ac111bdfc189b467f3d4060eb3072eb3ca0a1c3c093ee95b1a711ad359d8cba513b86ce3130d5e273b7f1fcb1b7c9066ac214d1e4279cd2cb72a84d8f027f7f313202ad261ec60eb348415c58f01a68c8c215fe73b0e78c419695311e38a73b6cd465c7c7272d1a651816ae28280d0feb69db52a5a510b297931eb3eb44390bd64249821dbf7bb74b2e69ce92771e9170b3a3d64d45944053f9cb341a9a9f5bc0bb318a7a118cad27ce8fd6bcc3e1233d63fb38c091ddb643fb9379744b6bed61c79980b54e0b246e7d07c7b5f859c8bb9838bc2b38b4df2498015aa44dd243a6557a3393a134d4881d681c37789344e2d820e389e74ddd8221addcc1c94f455c7106f85bac42834c127095c6f5f86b74584a2b73c439f5bb0270959cf171b5e67e2124784fb06f11a1e8d760f7176b35a9bdf6c5663b3db356fd95cfb445bf7e568675a9a6b6f5e7373994397725a732ff626ea10c67494aaa829f32452fb637e7271c7e0edce42cb326aa21aefba07ce5e913bcdb24fe630f1fd01756b71d91cc6ed9669533fee0da9216a79613298eaa3801606403f25a493c917eb81772fd50242ea8ef4388352a0f103360e4046e9fe75f334fa22a8b4a38850d7c297cd325aac9980a091caa4bcf49e67a2b6e420eab2d1655901d344c84ec798053437b3a08aa596e22232c97cab796a31229367f56d0b7ff62ade68be44a59a8deced7dd6ea1e319d1240921633741abf492290dd2bdbee0c0b4bfdea6fced6c99de6720945950bc22678fe71f5766020ab3f703198a43254c0130fa46059d81d710e56a29320dbc6aca8985a96c7fbecfe519fbc08f2e8e959ba4a4f65f853384b96bd8a2d276ca56fd18a4cc1a382c28fe5ab12209899cc6102219e164f1ba8f1c4a34774e1e0e18a8a91d944fa182a6e3c2b0f490fd2b797e1e1580a8ea179e454c8ccea4b609059538dbb140f405b9cd173072a6ee0de3f8061228e8f41462a7a8451320687507a470345281bed6b058d1d61457c407fa5d16ec072d06291709c43bf93234f6e10bb96a9fa61e795ca1e7629110d3781ecfa203ed02c71d902ad41f5451e6a23786d40a254d15bde8cc3d812e809d96ba26c4aa7609cd5ca7296f5cc2181319b3a59be35671cf4f38f0598a0d9e992fc655cefd8ab21841924ff97f1f127e96397d97baa60b9ada1a6629858f515469889a9b5429bfd9b7a8265034347e017c81d5a996335d703f44fb6d0a7f50ba751b6042f5913e03409ccd2a54ddc5544ad61144010425f23ea79f2adeb81cf1f5855bac19c211ffee89b08effa1bcad0618631c4ccc7a584030aae09f39f378caa802cce7199000609294f90e37df055595124792ca265759a585f8ff59716ca43dcca35c065a6b15a618f6cf4db5e12e791fc8633120550a0c45af7270bf8bd18b8d70e61debbc63a8846cf74ec6d6ea9be44c237460eb2b1a052b4ec1a43622e3a8bd6119a6251e3388c61853fdb78a5d09883c5845b6281763d85e35c04124b1ee8bbbffbc4f03d5c70ee5fe12f9e169a051d0ed10e7acad0557d81208d6ed56c5291c060970e01e37c7e0645049688a7342e21826815c390b5265c2b36df4d0368550fd9bb5a2c6856cbea0f3ebe111291075bb8a205305a093f30b6e19f9b74ae5341edc389036d37df7b033073d644d1a4d85854a4b7dff147324c37eceaa9ddbe9144f628d0a8446b3b26078da24a9d659c4d157d4e38374d4acbdfbeb4644ee684a66debde4522e84bdf4430a56e9941aea213c79705c8a65491c4746178c903dc13a28e75945d9d84709a9682506f5382d6d661b4693fa91d3633496a33d49b1df471384a061fc0dedc8c0373113f9b11990114873d9aba6cc5e6cbb87d27db69558d26f1841f0902764015db4ef5c99b9d9324346b0438752ec1fd8e7ec35766df46214782e5fd5fdc2caa2524b60dc0f4229ee37760c57e3a23c380a8df211b89c7f3796d10227ece00978694b32349ba860c045e9c9d6233420d7056b82f0e25f95e324e31b09e43858210aa321cb8a26c157a658abd33b8a9609c0ec857719b4d1b0f3b5da66fd80e725c84b40eb0e8ed84ad9716e14444d6d7076a961a14580501375365fbd46bf431c1e0038df91b0487c722cf790f6846070e25271ed9d1f53e110eb42662d3d324e5b12055ac6b6d6b9f4ff5656b8201717c29815262ced6b9d1d181000715c73af5b36c0c097419b4b3d534219c9f282cd66d1be51798e89cb626f47610d3e6ee10fa3f98295bb2c95601ddf65f25cdcf13def215907fdab83887bde324013818e626eea81caa2c11054fee510f1436c9b6f3d92bc4d1213291a9ac84a8eb0d45f2993e0ae81757c436526e3c747c57c990c9f79449ba6dcf066810d3b4da6d5b90543cec369913c0a10986b3da1fcc7744b57ed663c59601220c6741df5ffbf9d909a9a4b7ac198ad7100ffbfe8cf4635e702e357c41fe4ece29f5a86fa1bedc00ebc48d0301646b979046c098838d7d6f1cfdc70bbe9926f1a835a8ddb145b2e3c14585996f056ce790d0281eb07b69826cf31fbc3e1c0e60784c0c728a519b9ca6ff6466d620ae606293916b3a556112a96c98355462603eee0c56050c7a5d04299cfc7b2954704edd06b2021e54ec5e404da83927d2c46b1860403f10870f151c575a13b1d67c06958ff9d17ddc120ee9c34bd557da7b7e7655f890e6fd4999d39c226d3314398ef7917a3c44f178e657e9cc0406bb865e975c7793a33c27e396bcad51fc24b9ff86778d336281939ff0fae92d18320526d8150cc9789b0b4477b0120de877c4640bc9edb07f6ae903bbba0c5e9fa70aab66bfedb99299f60fc84a66071122ecc92e8327fd231e3c6a28c1c89146f5db0d58e5028294ce02fd4b664ad0a07100f69259e30360512e217a1eccd0c2179698162e8bcc88f81ed5e5fb81b3ecccdea92e5c17d6ab2987c6b90a52802b20ea38417cc79e09337e2439a3f9e3eb000cb1861a0ad75dbc0a45521b944ad50603722370e6cfba22aeba64d99f2bfdb6a5ec8c33604d5e29103ffdc9df47601d8c8677b1ae509557cb3a83b97a93bdb4bbbeb8d2dfd193d19f72607035ad0ae80e374df420e8b77da0bf5cc903cbf669149bd6bad1fb0e85cec7c5a9719b0ba1517510391436b8402f7f9160f6a41b08e542a94f3b9f042985ceb8770cd8e7a02c675afbeb5668bfaf9e895a241ac3abbaaec1622866af9b7f2094131b05f9d9c7fbe694a2873a098671d29396a13aa323467c3e36a33d083cdba97822f28074cecbbba502eee16c3d18f4aee28a75521e869412306f15ba9657b102af84a20b51d3b3b126c390b05aeda717e57fa1084fb466cf29212239dcd9917f6ed1f220a3e549e6ffa58348834543a311a3680f2b89c9016df7699a1f55647cd3a421a0b381b13eab63a9f7c515e059311e7d7623e31d4e4e033eccd8649d147081ddd0b9e9b30ade7c2a09c24941a06adb7e675b6d593339bf06f04900c875e659f5d45ff15a2492eba8ed5becbc7e113605848032c3fce1a4c018363c89e5115ff6c4564d9fbc68c20980e87499cb87f1c494f6c8ce748637dbb79ab134f8bf449f4003f58196a68226228e6f71128eecbed8e3050dea7a1ef1b77de027f3e7cb88fa58155f395b35ef83a1c9e73712cbe24439fdadf5a0d7e1b75bc39eeeb30ebfba3c55214708b9d71a62f988160e7952c367bac0634478a01f1585c21a4817784ab8cd6f0bb808c8199db82de558cc75bdb140a30037f2862137fc10157e1ac8f26c2983b239a7c80619ad1ac66eb98473617aec74c38def534f2b628f3a3aff970efd3c52ffa6191a413bdc3060bbd404a62ee1084c178b7f0cf2bfcd745bf9ea752260a2412e76390d192fbb46ee2fc193f2e055146dbe0b17326ef7dd3d2ce49852799bc394cb746e5d3e9ca20b117630a130467b8330b13096498dbb441471f9e5ca930c01f346b2d0f93a01448568dc678f1ff9509e83a7b1d1de0ba1bef6b0e40fcb882d5a7454e55615b8eac83109280f54cad9662269b2cbe95cf660a7afe854a14c18a89d9f91731489e5c80fbb4fc6f83a48d39a3b50dc1899770b0704b8fd0ccfc666e5921630da8bd610c84091cc3a9a55dc8eba6b9a2c3e3d55776b06e46ede69a2e21a8f091b560863369284d2a284fb140ab7d3231a81212de509234404aabb0ef9b0318e3dee70d93dec209dccf06c1879f6f6108ac8e405e5bbafa257bb7166a644cdf96ed2b5fd3af31d627a88011009bc56f8a7cdfb8e85c602b91b32a0e83f66e03a95c8900be92075c4257faf62a4822d222c7916a2723ddc105753cfb2bfe2ee4f61db1ce58e97ee3eeae45c0d50332e5a0e38c4f07d7ee0c13773236446742a1c86a9753658cdaa1f89076f7e83a79bc1db01bfa868df1ff507cbee657f7af4a6890a39f74c68afefd3dcf050db2e8066a8b536501fa614a48edb49d8e7d7b9df5db535931d4da46c6d29c408e674a70a210cf28060deb1bdba20de48ec7a3470f5a84ffe331cf808622f4510bf8371de30eecd58b5e2b7403cdb9ae2593a4c3d1f7381c3c91df77366a7c3e44e7eb9e829f4ac9041f72e368ed2e031b95ea90c70db503d31cc674676fe2c5920f44f59a444bec052b7d306ab9834d47e1dae1a16d6c1dac532e832b5ddc3bd9838ed756b67564def84856dd364f6f2ba004d350d8ee4130591b56783690a4eb960b17fe9df8968d8943788f229abd0220bc0cfa20db9f41024246d8b2963a3b505b17ecdcdc31260f0599d75370e32e88273db8a7d48d5f6dc1e3738e8e98dfa10d497e83099b8e4043dee36c54f9c2a759bf78436532027fb47d2137462324a7c67c647dd7ff29a1900a2fc2d578c19a0cef605fce18b7eece0c9f4892cb1852c34ad66dc89ba2d338b16f2eee52c32040f2102d690693cb73071a0966f061353314caa311d60b729320b0ba4c2091ad4ca4e58555685b902786be28f50ad2f1cbbba110fc9f0d23eba7e72fa4bfc0432f7eca455f94b7cc560c484ebeadf83940df49fc5bee958d7e9afe74268fb2aee9aef24a464d581c6b5fb95983c7e4bb95a0911955f09ac4e267a457301275337dda2e3d55f47d4d709663b237328bd9d915e56b18705812f184d91bef3bd3b4608ea7c98bc4f8ef802e2a2ebe01480ca181b57c4eec90453218c4ac7ebe6dd28ed534b477932d248e93ffe4a6d25d77974af109523ed1ee177c844f1af00b27f2432009480ae741fe1c62e1e73ac76e9ec56129af97e6beb23d1cb1a880cdaf897de364a0ad7767b100e8a5dfbb61913deae99f4352ebeabbf81a47cc7bcb2114006b286be5998d3be2fe9309a20c14a46b1be7bb9a8a2b9520f5aa6a9f5aaeb311c14a73d7406c6844c076c69662c6cf7f813b274198bf49a8ec84d0efe782677f473af46b5edea50197e09955c20c2b7e599ff08d34b0c1fb16888419666692c15ad94b64f9bc0457c5ae67f4a3e2c615fd1c2b650c8d5b4b51c0fcebef60d82aceec1001db8146cb640d0fd931d1b8724c9d2e478c2dc0bc777c097e614226128520393a2ee18dfd06e7dfe50c386457319ec135e50b4a9f7b433beac6bccc32bcc3ecc41312dae172543ef405bc820782cc168c59362e4acc625e4786dd116b177116f53bca1eb88cc2cab7acfd261390458d9a7ba66a13fbb9ee2c5411166b1a2442362125723166efac0b0758143b132d5c1a903ab8d42ede52e41ffc0d40349d86cc155b6d60411323b29f9a4109c05d2ef79963633ca52e259e4e2f0e738ac9400782d43847551c644fe64e0e6f01298a977b67c135bb373abaaf7f51089a431394cbd2cfc30e8f5ce93d009e1640fd849246d7d8eef0e5c75d16e82e5794736fb1c5c05c0fc3ee5c501c1e4eaa2226ced1a836dbfe473e2879eaded4408626df7ed5550347c3cc4e712c59257fa47596674abcb35b0b8fea6a41d0014e62af41f10a55226b7634f95a0c5060136ce0e842179892f0d99cba5a2a66cd4614b74955c6905945c8ced218bec6c44b193efe2c1c23cc6d8c6d6a4e2a88a0c1144f9884b9d5249dff936018d8da07e9254f42ea52c627f08c92c064934def9e233b47b6aee630d116f15dafd414a6a1049f7a022fbb943d8f1734fe1a8e03e882ca55c45c45e8477c33ca4065c359cc065ad45f281478930b420703401e64cfc684b31f772ded4c221e073d4a5967e293f86a2b96ca68366f6d1a2943d231d56cb03054a24c053c46d0b994b6f2501243838b6e79c9a606e59b3913b2235c1b56fe1fd7082f95c9db742bca93507c47727c325e46fe1254be500f7628dd8096578ed0b62066258d8283ee2d8545998a5738e097c4fc2c18387552be80e3c1c08bd9e22172259d109dd592d32ef291322517f0f15c1e4c98ce12a195256b9e82f907ba19b3a11d9e742182b30f5046fb82ead4211a00554d30d56295fda8f67cb4ed6141da9a33e019b986ccc8570fe63291d9bf57b144e0aa7b64f15d3c2ddadb905ac6b33203bc8059d5624027c9dc92c150938c444c87297ac047a7001da46ece419c1ac8d09c714fd8741c8117f03d9f88d6783f59ccd9476a820bceb18f0439d7953cecb8acc4f45cef3393ce7209aa07fcd38841091975b641464a9d23d04adb3d82bb9367c160629b86949b639828ad0d9b4529507365577ca951e91d5dec98cfa3710e6417fb9c6e6a84fc3d397b96792a52be30462722a9b144331a78ff5b9332d9dab7d8c33b3ec1ce949c26ce15de3e5e294c37c0b45f81174ad159aaf1319ba08badcbf0e692269eccbc4b369380d99c6ac410ea8ec376013cad8fc0fa637728973ffa25c724d653db56815480141d5164bbbc31a47c7f4d20ebddb0a9bcd456064a10f5a29f8c1cbe6a4961cc18d0b8a95f9ea619c1c9010af05b6804411dc8c1801099ebe222c8e507936eebfedebdbe4a8ae0c488c99b13559500a0aa130eca0e47abe498b932f23966824c3e6fd1fb2e6ddda300cbc1bb6026186281996bea61b9c7e397adaf43d80a01c18e7fb035bedb432414f87347e669c880fb6c1b55b3b495c570c729408bed3d0381a54b28eaf076c2fe5b89572bdcb50eee92185d03438bef713b77985ccac20398657fc51ba26bf9a6446f484ed8879806905c3f38958166366f383d5f7cdbe9f27162228d66b264ea74bcc623f90f885fa35a6323502749004846d267244c9cbb9845525a5003b628f41d8f46eb6522852f70151898cd90009c71c81888aa2eeebb5b571fa89388566f26236a05c4c71d7ba4677224177328acef2e49977ebca20e37bac6f66e57bf07856d11eff9942a425714e0307b3c62baca06b0bcd478a2aef39cf3ac78f492c2d9acc37f69e38a1010f86061d72ab248cfe0de599fd83a412c6f972f9a70ef8804bbe367422c525a716a01594a82a8ea3dced0853df366f580ab20de9da0c7a440c9b882f337bb536d79110c13d1b2c28932f84ded9c0943235df0be4946e72cb0da4f78c8442a981897c93cd29221ba607ee70369f84c0b3f3aa143be2e117f66203e2861abaf59050eb20eafd4b83acbf0679ba95bc14ba91518bb3ca01f5640888c7bb9b86162dc38135f4fdffdf8b5ac70847819fc30cfe311eb7005863817ad74697cb2d41fc636064409edd52c0a5f67675cb003608759585501572b47e5d7ce687a43dc4382d8b287c0abb3075fb29336310becd0da672c22040a698759874505f669f4d2cb0823b1dc54c4478cfc0276995954fdb90f471d2752776cef340da9000f5f925a6993bc45c79fd4ebc55088c818c75434b94f96b02453c5884d9eb5e2387de4e10e1c8435f10cd5b4b0f5ddc76119bcc2150ff510280439b7edcd60d3488d8622b98344d0aa1540a4fb51b6300c103861be88c337564317084b44f039027908f91fa6acd0bd9d84340dcb780a12fb8426ae7c824e824b16c998fd10c8c4238509b8cde25aeb4853a5c880554be5150eb75c9418d30d3ebc429a77b057b78548177ef24a3112b69601ec8d45a9ecf1453774916431e08fe3180453869c9504679a042067ea07de0eb6927f1ea4a8529937f9413ce9ea24ace77aabf7c7d1d75e3067f0bedf1a7c8545c77739a8072c47c40ed23d1b789342956d55d8445d7442aa60983edc0645313a8b20d3a9e18284f9a3be0a983d93422a068bfefc864b455436f948a2d3f66e02e221f387b5f7e22d3b2a837534e63d8acf1a3fc454e9b326f65650584d1eeefc04d014ef3fe1d035ed31c5c828b41fee06c8959a6f920a26f4a90e034e1cc5667729701ac7c9bbcef00970344e89cbe3f0a8021cf4a352744acdab0eda96dce5078c0f405d472cbe55702d3096d1d24095a2e19018d57863cae82a7e8f5d46653328ffbfe48c633a7a662f15d95934c4c26cfd820ecde609b918e70d2227d1bfd892679eca968cb92195987095906d9508250501cc31b4129144573c322b6576d4f96630feae2a238b1a6e8c728a75b437a630f8d7308433bf238df0a336ed7b40936bc317250ab136b5f52c9c87e8c9fe8ad5895f7cb5b1feaa953e9a4d3528c38110850e7a276b8251f1cadbd79982b24383d3bd9415780269d58a7ffacca4e0b326e0479971e1d7474056d8da4a34dd1f3726b775ded20152a036a5e5493137f2b225bc7114c7fa94720676ac7eabcc017189407d59ffaf24f611f2e40a89b26cb84c40f4dd02b51546072a1479842733f82d19d7a946f406dc36bb7de645175c2c3288b0564b0e00560e70678220c0075221a2c3adf74519662900c66581c6cf949be9e30a74c00f6688e1ebbbfa42e2ab1907b5311bf34fce557909a9b5ae2e0e11d7a95397ee9eee91f22184de3d3614b362facbb446bdc54220b0adc6797079ff38894b59670d96cd2c2cd45548c667ded10724819dfac9b7b21171104a4ae7955cc2617e96da0bb7efb1daba101a7300ee5fcc8ed4bedc03afa72a149fed9dd11a7a9c03b9a7f689a2ffda4f5ac72ceb5af9df42dced787a0629bda9ff193c81171db49545579536369122d34148ceb6fb3387c049aefe08b67cbe5d093e945bb9aefe65c1e025a1acfbb1c95228a15b37c467c955b1dba963f7b5095b18cbf58b7db40b458e3ad47bfb43c82de31a96fc6b7e1a55c79c2e6d278ea4c2ace8c2c60e2b218de365d102b7648b899b6c543b1045f03f299b7fb30cb87160b478c07cad2eafcb570156157c9d3a839be0fe712e2bd29eec70b24f29777f4591f4c4ec71e8d0e86d7034d2d719bd07af9dbfa49830835b73681c118dbe8fe159cfc494a3fef505c67c1f8f792aa58b74ce9f5cac6e7635892cc4af79c980e6513bcbe46a766076b4025020d0924292c589f6c2d0fc56a9e7dee948642f6b8cd8fed29979f582e87b48e049ca9438081957de61efef020b63c57186620cb207997652dc97e9a8ac694459e2a8c26e8b91ed330d38368249587e5bc4ae13c35d70c27d2f817fe7d3e45e60adbda96cebcd38cfb1491a7a79868def8f79318ecccd97dba3b704885a651fd3b6a8826b55cea29f4186cf65d644cd387b39319a3537a812d73eed7cf5bcebad09c28da8309d17473c4bdae842fdab7c80eb3a6e969ec5b19d2ce3565d7b038a7ce822e28aafd815def0f932e8d000ba8052ffd89842923e0f6faebd759b18a617401da74e36fcbaa32c795cdda97bd0cc8cc99a1b8b69e2d7d7691560bfe56262b742f3384eaa4b1c4b67d7c225e07590b228658834b8d60ac11f64c09e9765583ec1f0ee9eb162bb2bac0e84709315678d615effdaff976fe37459c52b758ddf7d6af6a6815138c977e42bdcc3c76cf1eeaeeb294915d64f7e6dc902fae1cd698b3cbd02cd7d71bea1e32db8ed3e62fe258470c1ce0a99f001ff403201d1b3e5d6dadba5db726f3ac59f03fa61059b13d4a189d3a6c720cc811f41b11d5228a249f2d57dfd38439735c54b38ed20eab22dfce36ee71637b0a2939fafd2a4ce19e806109ec7306741ca1a55fc6108a488b061bf6a4570a3e18afbdcab6d139519f19a189b6e5bd50bf3c7b05b854216061a752068feedf2386137eeef5e55cf05be452944471b3b943b460c56262c162587568e7af0d8f340f3c08bfedb8e179de4e1d8d8cb8c952c54d117af9ad1377d780dec886028a3f2639d0bcf1b38475e8bccb9f9d3f0a4e6e721d713a813859bc449d2dca9b91c0f5f31deb81d54be260845b230469997f839a41a8b9856d6267947060450b35de2ebbbe0cc5f12d1b673aac5d8c15e75029a9e2792e0914f675e0ea71a738e054439ffacc9458fde3e5f0c58cacb4bdf96c48f19a1095a47872fc29792a371472c4be4decc0a5e52e60b46f947c8d1bde38d50ae165f5fb2035821f5693944c256564ad45dd0758f8dc996d412136e7c8324c9bbcb7037a00ff73c214b6118a92bd9c8302229fe38b31ded493381008705e036478e17b1918a254c6c12969a7060e25e534878a997b5d2f28b27ed6cd1007172b3da8fa67f1f821214b5816cbeff720b55c03949123048be913b610fc91919c21dc63002a6ef8e226d57df1220df456ce2436edd1362ce8f209a15f388ff62696dd5489de78226748565e303df51a3db01bd45f79c984cc79d11b8078dc6b85b4a8c63666c4925aff77a1fefcb24ac9d47cabb51a9c7916cd72b0a941084d74e2286220ade1a42221fba48dfb2ab5b746158a0f1e79e6f3a97497f76be8aa154c83fe88c8cbe3d6d87b87d34b26f9defd53a4c1b915da4b3f5e521fd9c37560c81f998cfb725e0450c9f96cc4abb92f1bd40346298f7967c8a53299b597993fde32f244de838cb25e820c675faf81a19fc0d21831839b405c9092a699de9eded953d607da7f6166b879530bbababc9c28834c95ef052fb9e6a80ce4a1f2a738efcf5f175eca46001db71920c9cb5ce055ac69e1c48c80397ee027426b7867b50ce5162ffce93c57cc58636262f9dc6b7bf80d627ebbe377175b85f90511238b17eab43e1c2c8e06849c2cc5dfd4794628de6fb86b3f379e132b05d9a50b2d7f6206a337084af2155b8f85a37b591ec95d37f2f3bdac55ab331da6eb9e2846cea5452ac272f6f4fa9e771c41ae173ad9cd0e17e31022eeaa76af60815130e8d80e9bc31f7b1fccf9f3853fa7eb5e4f29738249b71a7c2e5ccc13227017ca51a035b28ffd478ab8fe827e5aa6021580c8dde61b0862fe64724da2d825738a6d39b5c056e131e85913d3559822229b9c31fc287969f2af5a6034dcc4abb83c628a6443cd87d73cc743eecb537fc88e7b7384b2c062cde5b6c8817a64a6719b0f8b1d015dc17c5ba8661a3cbcd57a35a51a03257578b07cae605dcc6878eb7d95d60ce1e19f1bb78d401b82ccbf1fa0dfcc940de0d3e499295dfa0dfe91d0b002713fc32f751de944fb323b0d9fedb6404d23fb87e5de6b81121814f139f2dbc02abcc5fcbc063173a47894b4d2064740f656529c6b1704b38bda8a03ab422b7962e07222065f796567cdbaf99b20dd5098559c0708c962df3db4429a0cfdd65286de8b02548fcc17e8fc4089e3175b8560a27dd10f40d3030c2642beb351f3e526dbc3dcf961c30cc83bf01ef9831d4e0d8a30882fab4f20c0fd88a4853e126624fa34bf16ab609492ebb551309b8cff1f92819e496c29f6b2cc4f84e013f960ad163744a67ece5e36d43bf6edf51e0562ca1d6316dbf743337bc4b8215ad890a094dabd3444884a270d084a425f5d6e9227687b0ea8d9557e78b1e501258d6afa04f0c19788be1d7f4c72b8243e0c2f8f30785cb247efb56d4a8198eaf8a9b394803f5ed6c9ec24529cbc504cea013a77ed525f60cc1c5607cac9721c921ee80e462cc1d226722919d89a30c477b01b22f250d40bb17898c5423ca27f3c164a73f6e6fa13f1d029f29a9847874cbf8ab7f0da918f7eb75afc39e8180bbbc42c39fdaa533a167f9f9a4f0a35ee2d93dc5b6e19110536051b05ff0f8455ea8628871ea79c1952bd1c1e609cc0e2834ad7eaeaea5a6bfdf6b20cfbd61f07be825d183366197e912aedde42ee2222872073b0b8d2d90a52c26478f3c3e32feee298d7082af262c21020df4c1389d8eebd37ef42d05e06baaeeb0163a657a8915a3743352c9d292049cd34a3a327a9932d5e7a614b2a80448f50071aba67ad4a672f953084c3bfdd7bef6dd3198c5eae415256d04a49448b102a1198169844d0ba2d65653dd3902dc6cd2f0ab482887c601ee590b4cd643a7251854966de4f765beecd32ccdb61db1cd00250bcd845c93897cd1fb71fcebc3cdb0b4928c9a9c7e504261f4e2d423edfff7fdb03b22c036e7cd0b2d91a0a71ec81b333c1d1a191d22a761a2a318477d5c1840f53c5ad9e1d201596c54ed775712ccbf695add0b22ccbb2269e5986dd35c777af5ef765192efaa9f0585142a46282494f185b930a762caff5ff3f65c5c32250fb6f6cdf84174ab58684e359a962d83e6979095ed575e5f7c390d90b1def2331286ad378f1124e47ba74f390eb3de68197745d82f7ee9cd7ee76372575dabd3b2c96a2aa6a9ff9d00af489edbbe62e958f00bfbe70eb34f49737c83d97e02ca82fd5a82f455348a0db12a82dcfb1ac62c82601487216d4d74980b6be008cc059f2afcd1360e95dabd9e60ef3a140e8510618c03aeaebf885c17e896921dbdc33e02e980668cf99e758006e70544565680ac72c6b06c2242c9c057da24f60071450661b86991c3bb8e041939b5458792ff738fa6cd16412bd608125240e674177c95d6f47fd20cb72578620cb72c75ba80deda1bc1c8bcab19d7167e22403d7bc814c6ceb9ab9fe140c78e51ca30dc018720523ef5a3dee82ed9e768d770a07292a5904e7dca541538f7d40cb6d735741d040f344050184d401319dc2b3899af60b5415043487f2b20312e076203700431159b5b9639705753154091b6f337eb639852ac1cb5d45d30e72032880a3adc0825780c14b04f1f175cd72b6b99fb838d8541ae898c452079c60b0e32c3102e05868b1d3914b9ba6a81624b9cc3acb52b6b96bf0c220030ed2fee42ceb850de9a715d61c837d4ad0ee288a62b0536679f66a5194c681b3c55044442dcb4ce8aab0cc66c436770d3cf8608a03935ed2318c25ef505f09fa83800ffd95bc427037a74e0ff28bc20c77ea5c5e5332da437f28508e6920cb72cf39e79cfa505f12ceb2ae2779c78c79d0b380dadc61183444651042dea035418e6513e458ee21b4a809509ea6845082f48205439c053b4340d38ea1f32f4909814de13ca73837844001c859d613d4a7b376eac3708a539da6a9c6d001ef20c4d38e010435e9418e650a5028e22c2a2a1c384d58ed5eafe7b3cd1d03586c96c3631760da6a02c8698c29081a5fe8b478d976c0976dee2e150e8e18e80d76380b87c0707d6af38c076059ee2b677961141515a713bf76b92401bafee02c6b8b49ea6c394b16ae6b9b3253aa74996459dbdf2afc0957e3ef2514228fabbafa84eb2f4d0a7fc2349926bb9a3a7becaeee0b18545854725f794f7fe90938d0d40bfb42afcd7ded1c68be0bd0940b2eb0bbda3fd83de50425d0940fd4bea6e4f23395e57e825d9bca684e970f4f53d41e8eba4b65399a053fcea2d2e61bdc59b2d3f9b452e1001fb77a388b8a0a86408a9200c5b8a33dbcc56b765af0c3d7939906be1623e0ab30520739f0ec79f0019e3a41a66e9a3b81e7ee2ae2686acbb19ce652172be0022e1fae8d5801b9eb271aa66961305549d11416b5a7831899baa99b5ed0c01cbb404a4b99d8d8010534d283afcd5d6f9081f0000871343c82cc16435e3d94e4dcbe470fe0888747676785326686c8b00222489fcd440458c300ab11335b35676cb66ea4ebba2faf6bc62cc3c8e472438df9b11ead755fbb96c08db56547879583db420888c34b2102117d875000fe5e967aa8a38ac6466e7a49e6fa6c1df11b8ab95cc631a90c8edd39692acb70d32a43d296edcdd082d75c82ad1d43ee6b5f476cdede326e01304005b4330c522a7223d3bbba22408d540f185c92658bac98de4b9582e005a9762bfa017544619c5e9088bf9222f8165784302906898cc01892b8c32cdc42bee45e1e3a96701c9b25748071a497eabc2ccbb26c2d976578d7f3fd34d480b81029784b0891111f2f468a9c80e6788a82b02ccbb255c12cc3422332b964ae54393b8c70eab13892f404831be1b8169b1e6c687bef9d24c372db6a4b6dfcffb34dba9df63f572be2e204093ea078d0db6e276ddaf5c0b42d4e1d5a42388ef8905e2869fb65c70990114069930dd245ccb6ad7da6870c609c097142526a59ac426d4e38554fd46d4d2ac8aeebbabb8e2eb9f85a55755ba19ad3b395f0759d515f8b873d767c7befadf3a53cdc4ce776d80a0a182d3239455c86d09a2ef74c3a1a9a17155c72d85c8a2cd47e9e4ed77575e8b3c54b3bbb67b38467fbddf5e20c33985a0617dd4ef6ff7f8b9363d9c711e2496557755dd7f5a9d96d71930862767f27c223246a1a8c48d8985437768e5017a5230034293161f6d633b83efb19aa062be1bf6eb6f7de459fad76efd443ae49aaf6efde7bef5b5128f941300eab151c5bb6f4edb10eebfd3802aee44dfb4c1b3d6b8a3b8249423f5d101229409240fb9662d5f3a408c446a4431d52f1f495912ec7b3ebfd3b75baaedbb3f7de7befbdf7b3c54d54c176ef678b21afba3813c4df22cd8d020f664508f97f635996659f8c598691c925d399e1e999e185cbe30864655226130d57ce0c1049c1110b23de8e21ea1e55625510cedeba4dcc72df120e3aa0e68b4ccf6b134cf212515ba4f3ff3d9209618273035097a6aaaaaaaa292bfa6a1b2e3349324a1d920924313acd74030c3037426d982475058573a44546ee7654cc526d8a99d2a9a13ba89ac713339e4f41da6f75409d7a7a83938fe7b24c8f7558ef316993879ccc53937146d3b0f55887f58eebb10eeb7db6b1760613bf18a4f4cd3ed7753ba4b8780308dd9520e7c6ee470f249109234725c5a452cc7efdffff9f818690658757449ae9b84226db503580701f44ce84a8b3205554a495d301eac9a6e5aee861b268e9683b63c75d5f6326473079e5624816160a0ddb5b8013b61ea719379f89278d1d051a206628601db66211e4f10793042ca79d082c0d73049304438439c244c128a5783739b7e76f829e558baae7550c8e22372a58f4c450d1ebfeffc75266199e6a5aad606dd9569eef5689a94fc5678f131ab6755d57bc8e20468e1c3144444056574d2d4411783dd6619d77230c232d2e44ba2020dab64ab18b23b4d02579d552579965d89d5add267f556048e3684a86ad470411179f890b099b95d65a0b456519564e35ad32086ded59f3e5a9638668549e8cbef7de7b83d1d57a331de9d1f0177771be37ca11ae85655a31b7a86c542f158f6a870a0808abd4edd79f89c05486572214dcd6317994397c01c25458004e081825123c7e8aa4c005fa90be706e78f1743740e57e476894b8b991f14432a44946154e4dfa42245a265f3c66d35593d4cd8ff64ea1e37adcb1ffff2f6e96e1dc4ec34b8ff8e2d3b80a44a084c303ae6647924a48314992d0de7b6f9e5e2ac3eb708673bf495a4704e18102b1976346fbfcffb7d8b20cbf3c0d2d3b484015e908c7b22ccb1aeddea8f746be37fabd11f08d826f247c23634e2e2752cca4af54d74d57166a1478b8ad7feb0e74d891e2a93323480851d011979e169c262914c6e04d0f2541820931888a6583cc90c18af16064841de890fe8d6861445d31423257e08c7866b067a7ebba37181789c760abdf92924dfcf9d4b4a0483d6c84f014591123e474a36aced456e9d7611b47ea95c261985f2ac32b2e9ba8b16c50ad4671cae9bca5000785d0cecdbbe20744b89d6cf6de9ba8ab4c4feee22feee21cd7d7bdf76e1e65194e22ea0dcd6357b1e26e2638d8bcf054999079572483845e201013e9baee0c8a99704d668faefdff23796619763324c9b12f5c898622ccff7fdbaa67f452195e918079e9baae0db0c5c3df1288c482d5f55887f51e24fde1f55887f50e8fdbafffffffff9f38256cff77359e184532333696c0114880e8fd7befbdf770cbaadddb849a0f57521262590492fc8941031501d5a22ed544e0308d140a8aa1093bc121243f80945cd0a862d678a0f1413804fd4981307df71b76bd7fefbdf7e6edde7b6f620aa2766feeaa6aa96077c35fdcc5b90d1dda80d6d78496f5fb7f5d501f502011918ac931858620e26367506ce9eba36e1842e30e3d913e92509fa6dc05941f9c1f413c522e3e509fd3ce521034aa05cbc60df90229a4bd889974583395ece12feee298ef9dfef07006234e1b3c2c881cf03d127c43a0b35427a3463cb4c37aacc37aef6165d2ffe56639c6d8613a343b9de213f1c94347fb5fd371c2c1a8c4900b9612a807a30709081f3a34c15435562a0db1e92991e0584241204120e0752249ae076e488b1f3c4e20764e605996657fc22cc3466472c974d27ecf0d781c974618f15175447796cf5f22c12d99e0e28e5b0da01e593028749c6676347f33a4ebba1f523c7426fd3a4cf836ac4b797da6855e5a6bad8fbf2cc3c075c331c85fc9fe2b40b9758abdb9ffff366f96611ecd6667c85bd344420f0945e535fbec6ba0431ba2fe9bd65a6ba4609661a111a9ae202555156bd3b0927a3dbefcc55d9c2fdd60bc2d6cd31120e4054abf1a45b69e5a24683b47ea464bedc0f01777717ebbe51511c0a10be4ff7758edffff019073ebb10eeb7da6c73aacffde381ae9c30ca12886368040c5c01ae6c0698a524266e287dff7903398d8cb1983f0f6d63accc4416254f8dce81491583dd779d2e46ed1dce868939090bb4e6afcc55d9cffaaf4d4c3bb9ad3504c28e7f3f5cfbb722e5dd7a5d1ce1637e5e49c284a1301d866d82c99b48c20d19b2212980faaaab5d6ddd5b5d6fa7694653889788c52576e4a55cdb7dcce75dd1a35d762a69b37475462fbe1c1acfac425728fdc2497e81edd2857b955ae2ad868172836bf80162e324cb8228ed8509b9a8c75266773fb516d49dbd2c6b4396dcf8fedbd778fd65a6bdda1c73aacf75f8f7558a7d9373548143c0a260589c163306a876ac825559c54c669adb51692946598788c526e1032b5674b4b190b35fee22ece6fbcab50b395dd3bb7cc32cc74aee49eee0a4c6ecf6e1a09e587b73a59deffff7f0a955752b2dfe00cf983fa117a2102fde064e3e1493730fdfeff71ffff3fdc2cc3b95d8f5df9e163d90d6801f191f522e9f9c403a28307f9e061d5b0639ca1f3d1cd541ca3c689233a7aacc37aa721d435969d11741675285125c487879c9d7d64b8836501871b195939ac6ac8286a75e0e5a0b2602987d3f8ffea9021ed4814a16a01c2d4b43cf5ac2f2fcbf00e906e5f22ad79f8f891e482442dc4ee47056f911d7f7117e71c5094085a51243455f541f71e5918be451f238c4463301e7a78ffff7b0600801859306688f898c1a4b9e909c2d448d7754ba0cc163305324bffff32925986972c4d069365ffdfbe737a7d9fa987f7f96fa17602e3b75fffffff30c5aefdffffc729318623bbffff17331577dc4534c1edad893aadb5d6438459868dc8e492b9618873ab0029a9e12feee27cefbd6fca6e6189c85d69ae04a90a667bef7d05d457413ec4be5a4afccd4ac2e6809966e57b637cfafbdfafffff7fe9e8d7feffbf251edcf4dc2091f4861c8bc5234040bc8aac8c226c3d8dc85c93938dd1093e2ccbb250bd2cc3be1f3028343e0d0a29e451435becd7ffff7ff3cc32bcd27357df0922c75df218442cf2fc687a2ad075dd9fdc6b3113f3d7cbb9967c2cd4f40db758cfbdf7d6f1177771fece8c581c2b63b51541b1b1ec8c49adcf7e87cd653d819e72583e9864ac92a84caeaf87655916f7cb320c0c0a8dc8155cf255feff6f40ddb2770b77939a42904cf03182b1d421e609005d2fc511f6140f430009b98bd5ed8d43dbff9cc499001b2e0a26718b47d3b025a6fd961a1d9599caf0fa31290f524ba99b1981532b2787b75b81850a79147053396a6a4549135cd8a089a1b5d65a262acbb072aa69d5ca6cd95e1f142c2338028f564c09211faae4a46bae78d1599a9362a6204f54e75c305df0f09637924cb518c26ae154a829616b8fccb88ebadc25647329d610145cdd9c2b2931aac41ea1dcab0e570071ffff3292b20c13d7238f7a6d90a1ecb17f5e548799908d63d9da90828d65f78d1acbd64a6a2c6bb3f5d976812209b30c1b91c9e56b4062fec3fcc4d412cd2cc3562cadc49609dbcbc4db63787983a8a4cca1f8f1419398b49126e51da0821689e507a3a9a22c164b39ffe4c243f248cddcd8423aa1e7b85fffcafeff330153195e8d503c5d6bd666abfeff0ffa6519060685c69520e49efdab778f7558efb7efb3cd9be9bdf7de32824528d87aac46896df348b02ccbb2503b598681888e9288af01eaf8ffe3c1c345608ce9ce755d1c638b997e808c3a46e5650ff8b67442fcb8011557a849703ab02ceee13383e4e54819b443db4195844e3f9f3a1bffff0f23aafdb7adfb37abf7defb294c65784d5ffee22ece75eefaff9f6195d1c5164048a349ad986c96d43493d02ac993d9afffff7f282acbb0728a36d4e470a209c4c50f21125345daa32ada4f5f70aaf24899a42472e5f1d59b2e1564805ca6d39c4434d90c2195504ca15c671aef52196eb55effffff7f4c3582a8344ffbf5ffff1345fcdaff278a48c2535f3a9e4a1f1a3daa7028608884ec95fdff67658edaff2ca5a2920b899fe78ca31d46bdb403464fd72aa25428554cada868befabffcc55d1cf3bdf71e51b4f7de3fc82cc3c975e567c95fffde4064152240ad387164a9497b5484f69d7036a87c28ed4aebf5ffff83a2b20c2ba79a563b43d0966d67f8bd7bf74e62d6be3681d698f46bd013b60c27dead7694e5b5f7decb160f95c276ef65ab43c60534fcc55d1cf37f1aded5171bba287d5bf6de1beb97caf0badf9292bd61b0861141125b41a1aa19181748fb13c411421818ffff448c2c8d08926be55096b43ebc794a0d96c8ec0d138572b583c149bf0e2b2233442731a9d13fd6199362f7ffffbd10011c2e396254c838f2c3c8c9c5480f0a5efaa1eb6971c4a3042ba00d4998d62a808428e70392a764105ab499bc1b3f38fee22ece07a0b30593c36204a509268e2a12eb00ff29cca8ad70990388f5a483c7cbc2869658b6ffa2c70cd05384cb595e8f7558ef482857bcbe06694e21ffb7a444bfbb6edbbbc986b2dddb9644d14144893a3752fc88910c9586a894cb9e789544909b242319041c00401446e240515bc7071400092c94acd08c64b430140885c180381086e11804611006611886613806a0508c8433d8005082026a816b0153ccdfcc6dcd9499cd0fdc9976dba19bc93639b9e902b51cba7dca1cd8fc832d59c116fdd3eb8fe2cf6d9d5b0ba5e4b4829d0bbcde7093d1ef23d9a09cef9c90b9e265020284549a6cc8e983e257e323c163f21ac3222cb9a291f6b08a15a47964fecdb15ab599683b723e2b50ede217bf55f617a73df1dcbcb904dcfaac2e51e842b4e5ac930cd3052eb6fa848e3fa75a6200505bd1d9d474b5851d21e56914ff1c8e07085fbc26c4ff01521e45a2344a98e2bf7d0c1923acf8deb02ddcffb0af32303b0573dd615d77f75c1fff204d018e492b561222827610b21d01c3d9885ebfb7077f83e894e5e2cc4a1b2ee98903a5689c03c6370cdfa61710bbbd78010d6ab4f1cdb681e56f8fda604ca77ad8f14b914ddb3a5b2303fde57342bce79c59b0679b6c2801ff4f867aa3bc4e4cab2398da0ddc17fa1b29efd3aad1137daf12db5359aa4ecbe913af1376f4d03e284d1de085870d6ded63faba9563d7fc73c4621dcbf8e734d65c3e8920b83b11da38fefcc277330b3016339be9c58969b08ddd23d0eb914506dafa50b24a2dad38f1f8f69fd13fdb2aab0e109485cd5a4c8c035b3a11efcfed25ed25919a0970226d29c2db8ae5528ab4d42cb067c86044ec8053831489613712df8f1ac444f7c6f70c08359ab4890f7d83ace588303e9d350afa17b1b3c29db9551ec494738f25eab7986801c27506b48cfbd25bf87c4d1d14f2e1d99ae1f2d85a6fe286564eebada81c3b1bf8273a4eec14dd0ed282b17b834a35b8799cd70e63748d0278ed36850303f1d54f0e8bed8178ad03071eef0a645caf12823047a3826389ea194641db22f64e3cec9f0e71148a8c285d88f83b19f180941391f6d571b7cd70ad457883b34a205fe9dc046e8a3f9a3a9357c45f62c1542c048c3b3378fa9601edf42dcca14d9dd7a0b160f57ea0069f35af30c0ce33e1da087222690942db15b0390f54da657d4c203810c46dff700bee9c0a669a87d3e72b0b026291d2b4e7e1c90d94c29a498f159cc07ce7151274f35d997e8fc3ff98687bb83fe388d274649fb2aefb28e66c7e8869f681ccec2d8bbf080bb75825a1ecd144fcfa28729c9f70656ed6b45960e278ec372a4e07fc31f849745f21b622e5f4a0b62f8a2eaac99bd86c307a7c56af233864ab4f905ecd16d8a9c06de52e162577d407066908fcb7c422d8a4df6b569c8bebf22fee8fea4a0dd410acaf1eb8f87caa73332c6349c7c419230494c846ffc51e2da7565135ced82f21c1995fdcba10278924bcc7edbe5e96e12e63e0d29423a889200ea534894ad1f627449042f5bfbb46f08aea7d88ee56f1252edc479f0d1352af89c7fd06574650ff080a383a8d9426a20c6ed15ab3c2a38c3a4cb4a4b9114af1aceac15ac5448c529c33ef96f02de1a63dff450528844fcb474e587b542f4626f53c4aaaa6d3bf60c5655e434094e5e37bbe0832c8430013593017de553d5013558184063c955e754791029d50f7a13e152d1bb3f9d73ff11711ea4674c87e0dddcf2fff02770e5abd2426e4cfd6e03a71b379c689944eb325f7b382cd4afbb19b7ba83bedfd044e5dcad31398c5ad7cb1882b68bbbabf8b841a99063d5f9c6231812a4061498c5518adc549301a61640e8bc18c428feeed9a52a8c6046fd75f192c29219f16d5bd91f0f22594b5fd624f843927c9890517d5325981f8723269559a57bb18a608228d58c75b7848ad0277aed518f16239950323cead2dc2550c81295776a92abaaf5806c8312e547053b1dc49299fd09db7c7c0dc67fc26003161201feeaf10a9011df2908937054b7ff60c6efa227f45c041be4c12e0e2da45a3b7fc68ad9bd1429878b9753fe20ada1af6d63f74b54af387751357085e538ac18a6d50fc44b5f585ab9466cea5d7ea255b336261b2d19c3db4c75d61caec08716156436fa76ab09d2f77a65287c7c24544dab7acdd0529dd4292cbc6f02547a494240aef4020d9b36fc929614a30eb8d554869741585bf01b42aecf6b04240c84183670c316e7423102b26d2c22bcd44429627cc234050885f85f8ba9b7e7b80e3ed7bbd816e50ef093e6ef4ec3319c684f6a5612f2abe6107ffee19820911a80f0e43380572864d67422f946768c5ebb6b3183198fbb58b2533e0848a10a67e609dcbc73fe47a2fbbf472056b22c881d4e511a0607b0e8ca990f9bc63a68ac23c35c00eb9787fa235cf5b1e3f6e093bde89e47472c7bdef0c54b16463a787e2bf5fce1bf3726de7d2f787343dd5643d8644846a41165248820cf3470dc0125b6fa7ec40b68ed72c673dceda8a09ae3047c41be6447dd2a75530e80651a3cf79c89e79a4a13e2d1c29a2d8121b4ee7b09d450069c658f8af2fb204a0763e1f957ca3962baa33f9bc4a5cc38efb26dd115a0887e8a8dbd58badb618861f3355212ab61c6811e22e1a092aee160e6017810a62e0a6283f93a436878e793df2eb201997c3dd029280205ade6fd9c0b30164bad1a34180a64aef48438df4fd86f7100b8fd37bb3c1fdf915344fe0cd6b14a9ba13e65a3aa9449af484e78ba5e4122145d3ea4451fcb3182a8c0f603b528c9a6783f2aefc735299652d70e0f1e49a94ead7d9a2a8c75117d4fa6f95ccef9acac8d6ea6acd7943682cd5167f267b8be72600ea7699798b7505697b5edcbe806cdda14b8cc551cdcfcebf84dd83b763852011f488f3be8e4d8498a7f056976a37cf01918e134d1db6b940b02961029b8d98d61f04d002d320246b89214b1b45dd51ed4e5bca24a07b9aca60c8dbcf70cf3a11f6bc120eac6c67c7983c1faa0226423913acee31c46eadd07e348c8db63d75fc335e78cef092a41b05b882a336c60109f95239dcf97c85bdf397c74f3d2a9dd17ae18542ef3722904ad1d177edc9bbb4aacac7e89309f285db20de1eb8986f47329110df2851adf8fbd563527a1a83d1e29504820ec5a265a6af56576e16422829928e597ac09c8599da1faca030e6fc7d0cc5ce528915b53b815604c279689454e3ee65920b33c5e1aa76220a3f9056322d6e0c3bf048ddc318c13496b4e369ab03e0e0764f3283150bd22a21d962ab3e0d1c787e1ef0285fea0523b103be8e745e16eb74838b00dfaa77de2857877ac8b48b3653ee4a8abb676abcd81cf816643e744127aed0210783aaacb7e432be62d05144be36e5abea9ba7f33025212a4dae973317287e7e7aa3413f8b614aa69f59fba23b0895ce832b7a630069170f0bcc89b9a81458ff56898834311d6f04968c369a80d48f543e1e5aaf7971fa77864bce24cc9f008a2a6aeebe22c695066968a42a58513df2ba56d6dbbe78c8278626fad437cc66f35ca07e99cd319bc3230919ac222e0990977dfc687b83faf69a70f0eedee9e373bd15ef208f2819576d71b194e9027dc3fd0d3c609d10c2ed580dddabeb3ee5018023a17451e7b049408e5d87c82de9dc65674027df79a11d8081ccd41f7f5905e2997f0282e72e345910217f376c6b77ab94163c0585f0991672d9c8e64118731f5155dd273a4a567a5c59438db89a890c730dddeefc73f27796ed790b91588df1ea48b3b3ee76cd95546caf64b545841865189675d1124dfdfc817427e80b342a9595fe36bb2a41e50b40551b54855f6ce11107ce4d8744b3509c0f461f45dd9390e605e25d52f439efbc2371de323696ec9845b184daa296fb59c2c943dd05347488b547530742045d0ddea64c4f5ab5091e681d6beaca3bb858c13331d68cf37151acf64647ca5600df4cf2735fdf574caeb86db9056ebbd748fa5a5b0c759d7c8797e9a1fa0cd0c4ef9c0271d6f35f0987723d7f4f14ac9401fe339ddd298856dfab0b5d1ea4997b5d71934359788b4316f31e1dd8ade840f66d01b23d63e7f7ad150929bbe0847c89ffd68b197a4b06de96197324a9f75f8fa93766f3dbab1dac94d3af5b114a6899c0e015d6fdb0b4af3380d970f9427eae9c20d4c697b8a16462d5b41ce360446644069b054a483ef3ed03b1cc91f211fc189f223876d9c54df7658e7a1c2dc9da2761d01a26afd1aadcaf6ef9d07216ebb14686afc69644df87ba233b501a3da1519a976d8352ba10e0f15230357b1d989a578181f265f3678b6111d8404c60d4b2303a804d84a74ea23934d2bb15105f26a0dd71acd0d38ca921d8c520167e5c14b181facbd6076c9b686703a0bc215ae44abaae44361f1ca9b4a0fddf0643b54b51212708d11c8d76d0f87c9dc72d759e6b0977c9285d56450e01d929dc0c09cf4dadc3557d5ac16e9c0890b095c474940160de0d1b496a3491a1de77f99cd5a69ab03a1979d5538fcb3278c38872b589964abe4e63002727b847e795558acfa035cb150f4a336e6bf8e78910e8ed80e4b52e4b8e4c7201c651ad15ab9c46a699937ce36b25c405d18e5cd700974434170030d0cd199faba9837a11a73d3735812a03736067a4f71dd3e8582c7e07974a2b9fe92b58f8575df175c17eab2ca2b7fd2e65bd8b1597f4b50fc183d27f51e484c25ae71946e9588feecc8677acd60d11e93e31e1ff5d969882db65b45a972daa4875ef3ec037de350102ceeb1fc905b9066e461a20400554cad02872ff3991c13a402c6eef11fddccc0ef770255086e3b7e3d0dd679f248b125a7230b9552da5bef943e9534ad193277819211482a0d376cb2c4879f97f73cff0c537f9319949d0aefdfc5de78ab8076622cdd8d2dbbfb62eea9d25cd3146d41ebfc514a77e07f874181e800283eddfe1234048678dc52b629a54870c94d25113b966a4529076d1ad25480068d495dd247cf9a2ce18a08c6731d04421f8f05731944e925c4e89d9e974d972fd0607c02d578d1504daadf6ccfd1355b7ba1e365a234aba3462fc84dea169ec2a52492f96d9e0591ee12a1421a2c38fe9443bd74361a4caef91e120b08e31e95c2ed06b5592408826a50c78280303aac24e73c4f0f5e01945ca479de29301dc3443b0f9f87204b188178a3958f48dea28589bb977dfe5db47a687e3992d6abed0a90b7d9ccd05c9a26073cefaf55495e0bedf2dbcff5d2c8d6cf9d87ffee8c2a2c148e78c6b7818a2f402761a64aae274c1a39042ccc8173ec331fe61010cfcf08b2eb5efbbd1d85eabec0935f0c482111825fd2648e89429eacd104dd834d1032241a43be8e875ab63948dd3624c9d67c1f73525272dc984e2d84147dea7a7490720c238a494a416fea0550ca67242b76bdfb672d489d94fd2f8eabedb0e8b96b4cdd425d5384e3a380e5cd999f82ee4f6439e7e25582e6112f60026f3c051a486471a9c8af6d6f203586ea51d4764fe5a6879122ad270f77cd2f61de5b4bd7bdde5108a5238c36e65b9bba8d2faf27ccd99b338ef0afe3622bf03ef1b332210cbbcab43939d4c6f2ef524d90a816e0aa596721d47135d4a88b6131893ca652e0721289f24856e2aa954b0b601861c1e5ab79f313b632ad6d44d0d06eead6f665195f629aa4e0e39ad64b1c62e22c77d1c8fe570bfe1bb346404ed224843a1ee4a2cbfc8db336b25a370596bc4999f2d09f6f7501751adafcea2faea47a8a648ad36f8e219d2b6ede1da860188752ad6af5dd1652d888190adc777d61658fd3333be6ddf09eb58abd51526042eb1a94d41e7f5c4b6292cfe9e1ff900f6a93361f717fe27d459ff18aa56cbcbba5f13f7767c209dd4bdf1eecd5df02aac1c68a4f0454c4c1d2e91f42c0a90ab7678c597357fc679d8f38e75e233ff0c302ae0150067d15110f269f17c3d25f41b159aa974b8c3000ff92416b7504a681608798f3458608eb446616ee9ffa810e0591c1799684c680e8be8678cc2a550c9e1d535e096aa4154d21c2c8985c43c0c7ff87e4e04d283e175be7c0759236fd2c80abaabe0f5fee96cbbfd3d351c688ad5e2b812004a4fb8b443b79d6bdb988a4a135a7270b7abae162049f7842e0cb2fb16e45f78e60cb0e3ee018387d52c171045635eea4409f4abf866715e4df6ec5a1d022d2267ae8ea1117c79ea88737fe7d46fba59061e244d203630d20390183dc05744b464ac79a29bfaf91b1af200e914dfe5a3f909220bd70cea12bf2f6c0ce39af721229961f5740f06b034a434fb5288657b02ac966249e98230799f3dec7134d6752e46aa90608236935d59c5b634d19538fe1b24a011ae4ad0b5d78d9cf5496064140b22a32ba572a160d8bb41f33fd9cee8ec70486c965d3287a9bd0824b1375efd2c5956d9d77930e486f0abc3c9a0371eb00d30921734c2205edcbd925e3b1c204c6b2689aedb122a2f5832c8bd18a6c4d893680b0822a1c60b535c6825154560ca004a7e9595528511789817a383a52f4373c94a1ce6e72decde3ce3636818ad2072d9ee22b9c44a09509e11ce3497bd93036a2e9fc021025a2b356223ed1dee6922cc9cade788189a100fdada23ef5379373185f4e964b7d71998400ffdb0dec49c168dee9dfecd9066c270817c65896b23bc13693702854b7addd35ac1f61845232ad3c47d26769581fd1501988a3f3ce59fb4f09d470b658227f70c45a2a2b448212fa91048f0fe99be5d22aa3868a8e2218d2164c5e7310cda140a70a5148c21543b2f5aa4fd30677cb7b491c0fcda67a57ab2efbd885f14f2928483e1fd2d5320c562450e5e9c610bb15ec08494cf2faa8682617f4162878ed68eb41ae28a236184d90d7d514ac4e9e494a5103518240e56ee73736b9e88094475472a5fa71edef2d88a745d52adf51006201e95221b02b68516365b74ca23e2cba14b0c5e41b82273284d62a4e5bc0471dc97de80bbbeb9f03682389554422149a350ec47b1a034c089408d096535b4032ab57201027c0f34363b6dcbd15a4e09d47ed9143985a14578253fac05cbbaca216843a1020442b69f1c6c6f713b2c4843ec83c1de93419aeda1c4f434be8e9cdd146d46841ca65942515354bf5da6845121bab5c523ee9aa9eb3522ed2b9190270d5a6e4802196fb605f2b9f85ae163c56f4c78cc6df1f1762d2077102f548107d09bd73abcd873e61a396904c80f906aa92e092a2132ae2a7dbd7d7c67c2ed23a889e02a7f296c7609178a381f59f542d21274052472d3bcb65cb9b08ba1776e281e9d806d83ba94a4eff77fb6555acab482f5f390f845a1e34b88ae7b71843a825e2902ad67f5ec48ee7ceba0537fc4589760586314f6ece4b2d0b09534a203618f2e6a735450a9fe1f1dccbff3084de656c4ef703b5a28b277db113213ab2a0424d8eb16d2a94985b0c5512fc6cdc9f9e0f77b40f3992a120dcb21420a14da3b2576eed1caab8210e92cda910b936989132d508e68b9b1e17901771b5adbf1bc30e81b450f0ce530af826aa3889c5ba613395a8620f66bd71ab32ac6c818373433528e3b3f08cc70e16414eb1581bf92276a1ea4db14ca5341838d7f6d805ec117a5869c61819531b1d0a5473b0b6a0570f55943a232ccc34a54f03189ef3a1d4225e63cc711d25f35228489a088ef85e0f66e93f62d1549e7a4e8ff2af822112971fb08cff49fd2e1495cf7edd786b312df9326b39b7c87d951f715a427ec5f646d2339d7a13ad38054eb44ee267f98b15a2cf7adde26d4b76f5337091a24b21d630d04ef3bdd8bb0298824ff26cb7bc7ab88f04a2d2bc588c86adc2b2222d6afd95b3a2e509b46e85ec7ac7d405043cbfe08ea97108c891eda930f2b600e17769ea3d82705a1929422366a97ca1629db495e1caeb2512ab82d5f19ba6847aaa8f96cba140e874b87040b0d56b49906f68ab96ea3850970514193ee489fac25eb8f91dd64be76c529ab502c299028d248da4fd65e04914d73b41acf43a1a47520864c1235a58e2070aaef5e96a22d44d86df68959a2683323d9ace3b049b390cbb9cbdf02c3681b4b8bf38b4637b837063b1c5c68b04d6ae264f1fa904dedcf5e89016c4c2ed15cbea6052b61cd4143f865b613bbef43308c3cce98b46225212268072199c6cb74f87003e360d802876e34b1068cfc4e18d6b50d8a62dfa41bddb102a58f41154e503ef121bf9abac07bf16d84712aad84629a0aed8c4c9d9ffe51b0581ce49791ca0354c18170ca524ecfb7d054ac4704f8eb5dd77db41dcda988103df113d58723a1db871c519a4599737e99fb38144c33d81aad092bba4ec589ac2cc60385baebb72b97fdbbb9a78fae6ad5c446c4637808e5f0e5fc59ef10593eec3cca2ce99d9cfc12892971c9c8c34ad68d7ca7a8abc847bc8fd3c0fd38b55310e28063c123baa3621007537a547a4a54706056439fd7baad322ddc24b88f6d7fb59ca050bdb7e732c7b36f39df9334bbec26671e0c9925d2e5eda3b454a8ee8400c413a34aada6730cf2485694691bb908394bddb9196c13ec299482ae69d837fef6d03ba33b517c7a5e012214555e2d399afe4ea8b30edbf8e51fb1cb3bd7b3c72b50286ae53ecb9ad04b0fb509cabe227d3e0d70ed640b78e159020ea369b0303ba3f9e23b71da9c38035bd8617ccbdd01270ce8f21c54b476238f39116bee3ac441c019037204a0c7ce1208906984c509f308a8140ca791357b23a586d63a8036d1e48d0e86afa1c68d21a8857b3c5a3b9bb7f4b834ab66e36ce22a944f94cc75c781c067bd5658e2244aa9405d7d1e259d403287c244543551fe390d3838016ba04183721e5547a28e240047b0d5ebc68effcd9a56487f2a577e9e02328824c3ba5303f9635bd3295195a2db7eff80f5250133ab8d637b423aa85da90cf08af4aac83095b7c991bad9f8e9344eb6c9416b217e6767afd410dca35646ac7e5a4693078961be6e5c7b040eae5012ac75ecc0f25e548581d7a1e834c77767046a9f00f5bcb9ff79a8ea0db978e94f69384fd6f9dd8e6054d2f28261b00e53691f2b2ebadbfeae04f5fbd60d89aa3b804d9cd589771e8f247f8e56ec3f0af917ca5a170725e0c90f85bbee888e2185e220eebe641046cba19031571299441403a4c8c997aa5b93baef8ba674d63d2ab965f488115158f4c50cd92e63e6a0beecca324416c21999d2096855a06bf9cc9cb5d50c19fe754c445ef0f7c805f0083a7fd133a9af66276dec4a1badbb5e3b968ca55de57643653cbe4b66b9e86935d9578b9cddae8af6cdd1cea5babc1b06825686b0f6a88507f7d5ee70e7d17fc17770ed9a65b06ea58d4f45d7efb75f394cf7012dddaa692c7b0546b379c0c596b2344b2c728b8066d5c1bc88b65839dac2514883b9338189b1f78b1b103ce23726edf77757d1352a2045d35071585271f2c65c0219655f6516c1d002b7d06c4d0a94f4dc2145ddeaa5ba279634de9b90b60afa109e4e51d247280dec42f0b2669413f56665f811f1109b22076ed707907aa5dd4012b7f30cb22beabbb7184a51105baec49aeb597276b793e690afceb0546194e1244807208386ce19bbce13f5754417ecc0495dd0af14ccdbb3441fe2013506261d70ef172cdc4e435a062b29c3e37d795925bf37b6abbd4110d0b1000b88f71bcd74b75a2d750fa14b5f2da8bd91aaca690b080f3e61277fc0af18726084833c0de9edb876b32636b74d252f1ae72b78a95e62adc0e5ffff25b02da6a81c7f5bf79d542a9384250ac1ada250ce14f5aca6f70adba4d674812f2fc4db4ddcc46b000d8b76b0718556360fa2a9b1eac915005d88d6f76dab9cc3d9cb2cd8450941cabe7f3f14c226438f748b86337c060352ccfe5d38cf5e171c602f5b5029876b3ea1155258e733526d3a93a4bdebf986fb5868b3a29c93082fa582bf755ead56c3821b9080c8e36f7fee40e1acba5284f5c0a475ac01c5107aa80c5cd9a30bc0699d5c189c263507e0aca4a72a0b17331048adb837df88e12a7026ea6ccb4ade2717ec5b4ee4a41bab09e7c56825940463bf1fad665d4c28bb9086e78895b5809e4b38e3d2c54a4644d00e42bacde7b819241b820e4ad3ee6c86f97c8fb4fdc03afe93cf90ef671b186a0719dedc4c39e6dac91b386c4801e752c06d346ca5c4216bd4d01f4861dcf00c58d81cf13412ed81eb1b74b368032885482927bf32e454163fe2777373fd4b29d8ae3d2f0ef7b98784ba92ca73407e0635f93f1a7ca11dbb249ef9389b5981970d40a209eed46fc5affa319669b3057694e4da2fe5a6e24d54385fdba11f27870f60e7f78bacf6cc67007f4064cbd6c52f82a6ce938a68e7d6d3c9981846526904ca88b884686c24f638cc29c71d4762f9e4411a2b0d71fbaa322c1531224d7ee765eac3f38883637b0c8fa742097d555d9050863f9cf3feb21af653bc7577229c76e04ed6465caf67663d7351181dae034e10b4d047591d0cd15904993d8bf5cea3c55ab99ec3f15cb85b49b75eaaff34acca7fb0ca29c39eff5036b65509719a67f620cf6bd3c6bab06fefbdf1d2d9381537d2599a17812fe8d12b821cc2c840fe36b3358bd2a8c05629738441ffd21354172b71aa9d80e360907ec782baed73582b85d3428fc1312b221f27482bbd74dc93e95640dbd9abd70e50216cb4da5f0967f9140825c1aa86c1082d0b0e7f0f6f56707cebd7d81e575bc977dc47ea9da518e5e161660924158736550c7872f35d064f9bbd486dbd3cdf266069cb732ab30fad41fb39b708a373d20e991c8a564df8d67020d7f4fb52484adc5325e619906153f137b0c35782dea057a9d837ab95b0fd30e5751890c565e54436743f12ecf54b20a0ef560dacd7b346194e404a50456a3990b4384245b48476044a42a1d005e1fc91bceb6f95d1ec13298710bc8586522241eb46a26017776b34a6568d5542253277a932258ba8683bfb9f12bbfa9864f252e7f3c2f1d8939dd22e0e576d5cfb28ea060e906eaab0696b3192005900151008fcd5dedb2e1b7c16519f37ddc05a2c3c99dc4326fe43f193e1ab5559c1267dc20e4f48ed44f50e11b59a83b7749498097e5bf0244d5dc4e24c64f577747f2724729ab76a65cc6d9a28a745c82a3e393d24508c0e8f4bad67175aa21af0070b9489fbeb4c4140b576c1a8ea54e18bddc284295410baf6adde30479f98d304cea9da3a46547ea5511d76c74a3b7329e575407f49104a27af61abfcf1a7780884d2cefe805a19a7e64701533660c78c4939c89850ed83df821f3da3ab0f95ce2d7578509d7f4f275de605aadae5f3d23f1d6c73df71c841751d80daa344ac90b369c319ba44e29caaf95ea6b9d657384f0f7fd222a0e49131eb28af12d9b42420384429a0bb429eef4045504019bb2e6bca71a4a937fa73b240cf0dcd2f5e6984e314eeaaaa8c29cc2aeef24c20e7c538a4c8fd47cbeb8cb311427e9ba63b60551d3acd8cd7d5f94c0ea0a5ee790cbf24d5cac53da4a1b54a33f971e79421c6056e4c81eea6aeb27e8cb2f6c40acc4f04ce414f29491db60fd50ba913bfc4aec7ee9f120c6d007a5e418f6c0eaecc81fb2a8ddd690353c72a3d0163e12b95765aea8287cf4f0d7efebc3b0dc062abfe4f5c85d6753319c1ea11e7a810a3f26a47b85a55fc14a14e88c7064567e2d62a51e158857041384f8eb6d68477837f69519521c05c037a26632d3ca3f7e4350b0ad1d6fa5082dbeacc2bae6ba05303ff8555327700e886f8abe3b85d706c945da53539fa4c01835f3c8e54645bf3bfb4d96b3e8b28b2d1f49c3928e8ec0751c445f487443fe888ff99cc381227a00d25a29a545f96810258e3199ae830618da698165648443f1298e37a5ced4a1c6b8d6a6d6db82bf17e2f595da78c67313efbe7eb14729f0377d24297646e00758ed83e436fc998a075e4a6627dcea7fe1ef778e1f99c1ed74c4814a999138e95dce9e9615d50589540b8291d67510964a2ccbb6afd4a34f3a736410a7515edabd8674033148122e707157313c2a8daa9ce32e9178fdb138ff369a9fbd8c77e2f064f8689799f80feabf5d8d5f4062b65823b02b05f792759fa64f19da3405b630391a6a43813def498718edbce97cd6fb7bf1550cf233febe7bed0944fae1633fd37518549b8c8aa41655c03aa346c68375f0f3b5ccc88aab9e9f2157b25b172b001f1c451a5dd5b0b4b300f915393a2433143eef5606377ca169f66c37b5e46e450ac8478af068269a5b1757a4d16140b074a172a87075126de2df522f2c427653dacfed2041443ed3215e0fb1a37a0c897cd50374faeca1fb87e852e8ec0a357c35258d732e898c0b67f7815931bb085991db6decaf9d20930185639b81d08de620d01368e9ba184ebd4fd3ce001501fcc68f9c5a8ae10274e5edbf2ddf3178b55e8449bdb9fe8ac63528a02d5116358b3110ff716ea7ff6110908e908c50b9e301d6d1a79797667fb096d84defd764fe7d261ab7e20ca77a0319f61d18491e9bc074e6e29dd94c100db9411f30ff0f4785461f1f1c134d9296341e452493d6570e02f15858d9a84ac68b663a93cf07a0b49702b2524a58b0d4949581d45a0216a854ba68f6dba2943995c58f145562e2c994be7f6e7dd0b94b2391efbd99a50751af0acd88c5df4322d1fd1ac15af102bf63016cd65124ed300babde4970041b7a397d3c24246e687df69cb706e017cd6d900458458cd17fc960c5df4882fd257cb2f85279da8d9f099e6fc366b29a67e1b1f9dd1729a0c6a9859616c4d2f02fd7b2eea6c203f2669644273d2c5bfe7bc032f1aea296e24a9311f7242fc150118c14e765517ffedf3e310202b4b5af1779350febfb7ffaed87a3fb7095002e8f42065d3b3b3dc66c50ecfe8dbd1c454f6298b0f38d9b2c43b70c8549480195516fd6369aa995173c7b64cf8114ea0db69573ce5596da35c6d7cc29366a82691d44efca06b87a40def9ff45384e476e97547e0b75999898f8af027c6144b4dac4cbbce837b0905d76e1c43584edda902bc5ba984a525973e56ee8a9005be8ededc5568afa9698460399cf868d3a77e8b35cd1a12ad9afa0998023e35fdc4814b4149ee94b324b47d93f6edfbffb69ae0db6ba80c6c076f895a401b5d0d3024cbd29ae2c473dc005a30952e8ba65930d71aea0a938ec5b67131ec4f92c1a29b325012659c1ada83ee9ab239626d2d18e88429bd50f8ac585f5c0626594b6e1f2e40850a775532668399ae73a0a7dba80ef3bd3a8eb09436551f5d6536161c0696992d15c6af227634d9e8bccc1e08c8e83ba2fe2b157aba736ce0d9090a836d2e11d3f8bc7ee8b50193ac0c20881f7db7498f071e5bcdd3a20859a93810ff3a180b1e93dbe6a36803b16f1e98a3d8f70fc19254809a4ba542fe35049b97b108b18e72b19ecca436fb49f276e50be6ab304508c54455bf9aafa6bf2bd041a4ffed471102a3536c445f247cbca6967a796b96ecf9d5833066b7520d2e27e864b8b33dd8fc9ba491cb32fbefdf7f68a9b02a579da992204ac66b2f8650c11ee1b2ad1751fe56f1b2db859bb0ef6c166d27eb54c9017f93e7440b031b01a531d8dd7eea1dcb22cd7f6b4ddd1afa4a0b03280ab356baf61c440bd21a2ebd9b0cf8986fee545d7df6ac9f6021bc9b412654b4593a0ff063f5416bb24f8139ff16990bc1e3396a88bb5e91dd3411b5c3f5b539abe0f7ef24b24fa7fa4bda91e19d2106c0cf20ebc6000d3295ad0355589c100c6e993c7f53ab8fedc991ae4e6ed14064d026de1622a6fa8c46fbe770c0998aa5fe997d524623417734ea651babce3c319a1cf88d3e62b614527149b6407792a481837e986df38cb6afa5a21ca536fca3744c1d85282e3872bcd01b390042536cb15c60d4317d6f033b0df4ece3ea1cd8711fb89de12e423dcb064cd447d5ddb0f34a57d3ed2c928d770fcff2b589ed9bd72784eeec2d90f7e768d52df07eea8c9120cfa63a1d8f9b2226f11dc7da6b22b3fede75c1e9175044e7e78e46a21765c28b63ac7ad25c16b3619b7116947ddcefeb96b256ce6ffb9e342805cd603bb26b7946416045bc9a6e1ca3b3a607c37efd9c3131fe69403e992cf0ffb3bdbd7da0c35a9392348cc9e6ab429bbe7fed25048cc9470cb1793b9ed8088940a987fd1d0a170a48cdc34de029cdd9db0195994e873da4d27ca0d9d6460b66f8831dc26a65f0b2734097caa1401e29c81b862f43c3a7bc4d87120af0bab36190a2a1f2abdd7a44508d0e0084ecd49132457dbf85e3374c948bbae91ff9ed3eecdf11b854f97aa4a2aafb67824e6ade337af91f982bb3ddee9a7f1ca2a7ef7a4faacbe824223d1cf5f7292457cd694a3c16d74daa3b9e9c3dcb6cbaf094e16a6efd4ee634350972949eb7c08ef70dfcab9e6d3d3aa9940dd931804aa97e11182bcb3f8e68fe42895ae7d9191586126fbd91421904e9403793167111fd7862bf8fb2d67126d1c0ab0b5d4658eaddd85786eaf24129bd8b20f93a5560edb171474d12ce03cb9634fed126d74508655118086fa06a7ddbd2687e80d9ae0a227797aaf8e2065dc8186651d9bbcd2b67a33bfe73bee6fe2782f73adcafd7592bc4b6767e9b190f1c3bc0d234faf5c54f4b23b69f3137b2174d712b29cf35aa2f9dc93048320146d81bee4f72558f168348e9e21def2c2beb200c6f5178ebca0a3ee0c3a8f2eae4db106f4bac3fc8f5cb6d000abfbfe9850da8fa167cef02aa2c86755c30cc519b0ea63d00a7fca27dbb9253fbac61242ab817cc68d722f691f59bdb4fbe8c4ec12836c728049774d206f1e55f3ce09f1ef7c7af92776090ea58324b851a6a8538abc8151422d6652f2eff124fa3a983f4265b4ab9a5943205dd0719070c073f0ad8e2b49fc5f1a9de0ad65a2dcd262449a019b4c148f4aa7bc222905d80b515680a85e4749cb5f483ec5b0cc7276bedb4d6bee83dd1e8d9316e3b6817be48638e6d4b96f7c39117fe8e271a3ddb46dd80e641d0a6789c160520edc7827ddf0275e759a5d5c7e1f85471ad3583369924815a22a2531e0a43d506bf667a33c58f809bc9bf5f6916b86141137ec0af6469f71618a476fda05d691e046d8b9f9290717e4c3a8d022069e70ec2b3f698129df2d8397f4ef2838d9dfec42309f4032b24b4677d3b4e12e8acd23e9895ce6a839fda4aa5cc317192403fa0426363bbc6a53feba45f2959e35afad327c5a4252baf0bc990a6bffdcebf058231c6bdcf61217e88872f786b93a3264959dfebc20fb64a2c0a82b18fd908408e867a1cc171d5021a2a205acae4c0df1912fa08c327914718621e699c882c77c1a98731c648fef63bff5e60916c270633549ca29021228d0d67868c60c217bcf7deab65ebe7c382fdb6c4291cb2b6f60d6141fef63bffb5489689645776577c63980c55344615e719c42e60e024ca102e44d9522466cccc0928243102937a4e41700d2c68c064e13a3384cb57123f5ec017bcf7de7befbdf7de7bef0f18685518630c240cc3308ca24471de0425e5abfa45204a96cf874d90d310578e20218410264714918494bac58c0e2f432b305171dadd59665faa5e94324972b2a93060b84826eb41f105efbdf752c952daf7feba8a6e847a555d7c84ed90e3073227e4f07a8c31d601aae21c476105f151a920a10565caeb862752b88e08995e3fc6c22a407a447a35303d8a7323700706c9a6737086c0a21572bf4374efbde10d2f97cc0b439e3562366561f18177efbd97ccc5e2578aa4c01d5e4534043e44193ae2e5082a2644f020a4c72d01d6921c5d3e961cb163081f44642610a3aa1f5644e0cd37c446a628ceadb0b4b82260c40be776c01e39e79c33107b34e41e99c1800a942c04347975d900a649ef2784179b2084a4e121318589c70b3430e912b3a326868890ad1a7e40208dd79290aa315f5c66103f58f0b7dff9074209470614fef63b2f0b7ae2a5839121482ee0780242059ccf8529d844a088d10a5780a09132f6036f05be9f67a42acef3548264095cf223c8ecd1e4bd2c8c31c65da228cea14c81bb8b150886990914c522a6658972f328ec3162458a15a91e4966e06a124286a647170f2c4c14050cab5a0287887c105374f02a828a139a39c686fd88584034d4a4a6e88c15b02531425947c825529e90c81459f1a909336404c92c88af30a19e11c6186f559ce71007bee075aa7053dd2e915765556d5575551639aaeebdb79775a9b204e0619cd420e5e0830b851db6a88c8829f3f7ccef4cd699ad335d7f8bc0228c31c6448c28ce91949ac01d11a8db929e12275a3e4441d9613060bc686a7adaa673b4ebdabbc106294849151e4170590a23c663777d70629f106900012e57c24079d243d5d3171c5d479478cc293b78814632192e4c1395ab23b4a0a1410b478909cdd185e4521cf7de2b5a51e3b3cad9127fb88f471722ae98b64e689a3dacb065f5e3a8860216282e428e281171f9260f4a68606440e173188cde0bee509330724156abd8c09b5015e7b91766c1e1bf1d5c4558408c3136eae530a57b8b5c062b8c8f889c85d1af3605f5abc2239212e6254b260688cd9497aaacfa2516699bced1da478e039244e1d1e38b4b882f5944a6c8ec4800cb121f10519078695480a40798d24dfa026b9815b80bc3d22b48d2f3275d44458445b5a01752001b72e58821a65f172a214965bac203f030c28710a6a52d323b3c89b23d7af7debb024d5518de1b866198448be29ccb0b6c4512315ed10a168e7c61f8a8e62b02c12077ee1c4860ce31251c92c93cb07ae1041eb2f4921031b18684d056d06f73dc7befc5e2a338af0a5960f985e1511aaf72060a89b6e91cad6f844c2c443d54220c8220088417c539d80a20c47845472b8248c23d3a2785205f261a2046474e6ea8aaa2c390b9c248d7143d15e456a10276efbd3eb213140e19983186e116e14012866138244471de334252ea60a8e9e664f8f0e5eb8a8729513f660e40a0f6053243912a8d5495ab5071fd30c698680c948f1c882fc618638c31c678ea4ad4c6f87780fced77fec16840683cd0857bef3daafadd7bf425e38b31c6f84a0bbce202afbcc02b30f04aec66a61e59e1c2758f7cd9c9568fa9a3a9e23c8343760cc417638c319e4a626a631c268858102940d384c9c4a1880907b67cd141eb870b4120f9adb1219c5a3395420f638c8d08ab38cfb5a2b0f718634cc58ae21c4b0bdc54b81e6bf931a46d3a476b3159c26e963543b31559e7f0d0369da3b58e5c34a5541155274654f2df7ee77f07dba33e88a44571ce054600c9cba673b44de7688df191d27c8203ac9235d3e1cb0c9a215eb8a4ec2e977dad161dbd000c81f58402d40d47ba206d51a1859aa34dbfd38316d9afb9280c875ec020c6185b4902595859d23e6418d3a288fef63bff3f7051173b642bec47d8848b7654293d9c9b2a280c5121524415a3ab13ca90a961be0e5cf131c448871333633b6cb544ca0f6dd3395a638c71901c0492786190166637382b0c800429e081e159a9c0839316aaa11a6ed02e8c7240814a4c161fba66961fa47c0ba82146b46030e22b0c16aa23bf3378ca28cb198f82a23897f2557510f5cb01f6c39a1d27681123b5bbb36a5f51ca06b0270500f7f2031315b268fd480107aa1c4346723402625bbf03e46fbff31faed093c98a520887b8f7de296049fbde7bef0dd2c3bdf766856126f211863479377d03eb3420bbc3e48ea1da0e7cbab31724dd37b03f9d6c2122b64b6cdf42646b6f99d0f61f336e834dbf84e3b2decd779acd51d8a4e83a6d51b4259974806a636363633b70342107f8f76fe0bfa44e08f7f367d2044c5ef2496747692e40afb84969a595d63593d259c1d2ad401004414b29a5165b6cb1b574a4512948aea03732ba749ff2c90e8e3df082e06d1a22668d55191c86ec401f1b046208b79d6ac98525a4cd732b102ae023ca0998301a886ee801c205e18699d6c02adad06616fb6bdf1b20c112115ea2f8a8aa9202ca0304da9b46c8b04ac1cb8c110f2a300ab8c04df1d9bb72763261e1224bcac85d7def2dd2544b5c7006dba99e20b165dba96a206367203a1a42e5894c0f4a49514f767c1a1c2718c103124298d04075886006a53046dc2003558e5c8e06ca5322e5c5852b2229d400c4c86886880b5810221f5b763eb441f84fcac1e447992356ba903809812308a9852d65988a1829f3e30915a212ab9292820e1c9240f3640c881ea2142963c4161992e67cfd4ed624400c9a305d2d6431e325092d44a88192d405ea698627626213353e4411cbcad14403125bbe78a901053539a8943c59411aaf24504582f04821cd1335e093d7139135433c7da121ccad4481ade1f245072d2be49e1c318dd8e52d677773cc029ab4b025c4aa4c1135bbf99fdb4e9bd6ba8a4963615d85e8e0891cc6e48d03475173cee2bb009aed2211bcbec2262f8b98a7e4e0b622e399a53c3308f4f2aef680de6d57fbf282ddebd9d5becc60d71ecc26a84ebfffceed04e5b1f9173b636db3ddb6f8a28b2a8a2f96768b5ffa4ffc2a8ef7f148df66a43129c625181b1bcbb273d48e82560e5c85b5bb7ecdd94adfafffa236da740d1b7ad71c457d9a23a0e699a3a82fe21996ed90f47114f57da88d195dfaef85084094c77e7d1794c77e7d1f5721dbf545d98b222ef38724d45de61b3a827626a8bd0927a8fd8eb9ab9137e64eb42f1b43d246b58083db77ea8c8a2a90f10583dee8b4efb66cc90c446fd6922e4010ec0261ccf8c9f080a3a03f75e6b45f02fd1bf4a710e5993545515d0294268f1e6deab4e9b43588dc094af789aabb39d7983863f4dc35465bc5e9ed1e701575531855e782baa0b7265dde3004ee975075ae02e728e8d3a753678089a34f6ff346dfa70e67d3dba6ef374741378e163d7db229cf94929adeaaadb35d13a0546bb505d827eacd66abb83977e0982bae16c055cced4e6f385874d9b3ebf768fdf8a2c9de6d3e3f6d9c9bd7a3659d3393e8cdd268e444a237fbb3888d8d8d4d11d9e72233014a3ce52cb2ed5bfb330909dcb3c814928d9397c929c445979e5566a1fff9c2d4e134b98a25aec2e6cbd7e0e64b9ca9d35fca76399b34e028ece77064550319f964e95b64e344aa35d56ab49f4d4e50595c51d67e8d269b483911905c0508eedc01669456012bbf2222949e45235f380afbb2916e9c2c7abe4d12dd542b655250686f69553fda4c56b321b37d9db798c5d9cbfcb7330336d8b909b7f34d26fb9ad34aec7cb373b87353c5d9cff96753d5591b4b9be1076f3b2cb1c39b1d863bfce9ba9c0fdf3f67b460c4196f64e18b230d0e288d45f86298c32c2b61054454c6d8ee3cdeaf19c58941f41dec01de74877c7ab3b7aa5a491f7ab319c015631083f5850a46f089906697b30d7e0567e183d469b5d6f086611886a34fa8138678db97310369c9868d6794b46d88df84f5711520b85f501ea75232c4b62f02e539c0aeb41f3c823b03ae2285a3b094cce1e0a05f545dfe000c5731b319578363dbfc2cfc52cb4c3881cd8ba128d6f1010b40b1eb7b49800d2304290d61549cfd0a8394edecda9725f6ec6ff62cdcb39faec3f9d9ec71c69bd11da7c7da28937d1d671cd4d9585bf8aea48c9d1f135266c6ec3ccba438cac69c211a868c1936284f69a36ef0f1db2f81f24ca152c6cefed9fb69479bd12b0e849251eda5e32294852189bf97773232bf4fcde3bdd9e08763af67975f36f276e45dfe5ecf2e7cb1845df1e8bb70bc9feb48c3b62bcd02788ba04603ef4ac6d0b5defab7924ed630b9269b89db89adaa5dda5890da65b699b89dd07171df371015da85af7b79773f8fbc1d3dbbfbbdbc0b4332ff1df10c0504b19d64d2b17fc37dbb12dc2f01b63cb6d27ffba40bfc9604c177d4527006d1bdd64a29a5b4d65a2b9d08d021bad3d1ee6a6bddd46bad36e876af2738a8635fc7921dcc4df67a68aedeecef40efd976e08b141ceff69ede813f691de0ed240935041f7c1f6a2908925e71754a12280d463b150b489b2ac9a662c168539a446a0351a11dbe632fef301326effbd43b7ac595b02d18c306ddfe166ca7fd14603bc95402cb632bad6363ee5e636e1f1bdbddb7cf74df692170b0ab6e7bb8a0adbea73c733a7bf249c531cfc89b10ec0a8a2028ded96cf45d1e81ac484e5f007802bbed8b7896479d0bd07ef62f68e4ec5ff80f8087a6e161e17bd70eda05ede893e514479ef8b39137fb3a92629a8687ed9dfb06d7776269db141c7dd7b144c1ae6f2f2df3367f622174ceec882edde7d3627eae3aa73453923ad9aa794fcf972ff4a05f74b0eeeeee4e5a6b6badf56df5efd2656e7fa55196eaef528f3d4e1f2473f4d63353d0dbbca30d70d31cbde572553777d36d11262bc06a1ab3c2abaf434b2439951315ec529bf829305b12a835505194268e0f8b95a92f26107dc72645ff06b753c19064973fbda8053ee832e7662c49d2445f579c7f0c47769933f166ba6c6274699b45544cb6d2f8bee84cf7dfeeb49c9b3ac68cb1e2634ec6f478573cdb97881366fb9536295b2df0a2ebdb7e5a89f28c354a6ddf6aa58aab6fc78c54c249db0b26d15b9daf956c56ca48f4a695b452d5d97e15571f9365cea292d09ea47ddbafea6c4d17e7277f68cafad2b5acb0f423b9f46f1d91a4317fe50cbb6603e6ae1f72d569b5ddd6246b0a9bc0a65d7ddb51fff2efda7ebb66a4aa9b7d7d9b0eae9b917a296ad7b74ebb3ef81880d1d4d66401912e3352531579bb86dda556da350bd5b0bb1656753f2ef01ce74542473d1792dc68d7af6555dd4f0b5c8e73af2db02eb1af5dbf2655753f2d4c39cead7c58555a4855f7d3c292e3dc4929aa090ad4ae6f1356753f2df01ce7454247bd16926a46bbbe4d56d5fd2c7139cebdb6c0bac4be767d1ba9aafb599a729c5bf9b0aab490aaee6769c971eea414d504056ad7a78555ddcf12cf715e24b47464d35b4ab231daf5695955f7a384cb71eeb505d625f6b5ebd3a4aaee47c994e3dcca8755a5f5dbf5694855f7a364c971eea414d504056ad79f8555dd8f129ee3bc48e8a8a7248966b4ebcfb2aaee87052ec7b9d7165897d8d7ae3f93aaba1f16a61ce7563eac2aaddfae3f43aaba1f16961ce74e4a514d50c2aaee87059ee3bc488885a3598f85a45956d5fd24e1729c7b6d8175894955dd4f9229c7b9950fab4a0ba9ea7e922c39ce9d94a29aa038ceebcbc2aaee2709cf715e2494e448ec2549128d767d5956d5fd287139cebdb6c0bac4be767d9954d5fd284d39cead7c58555abf5d5f8654753f4a4b8e7327a5a8262850bb7e1856753f4a3cc77991d0514f294966b4eb875955f78384cb71eeb505d62586e407c95258d5fd20e139cead7c58555a3f27a5a82628504542473d2449a151169754d5fdac309591aaee678525c7b9d8175897d796d60fabcacae7e4388f729cffac00054a2b69c043ff2e339292d3996dc93237cd32d2aeb6565b484b2c89febe23faa8b30841b13350831aea8c059d1a70172f5c8575213c8cacd4b95dda1741d0c63953c0dd29264bbf5fdfed7fa57d60774cb2f7d166d751877e96914ee98ddee8edc47863413b21d93bf47f9982327879d1f79d1227861b33f057cac2bdf47c5995fec07d5c85b8e7b7701576cfe965be0d4be70f7d760c7f1b7787631e99b028826fe37ecd596b9f7a7b5d6ac36869d9e79910dad1aff54acf7713389c2cb9d2a5de2888ee94524a29ad443e1f2acedf650ebf0b3cbec01f03932f80b426dd6189e17863c6db5c05adbcb163ccb7417d75c6443ba06d1b9406c90eeacfb7a4098aa36f776849db11f7e5b4de5b4c5b35ea2b7ca6e8df56b35c661ed0822efabeee92369b8fb66f543aeff27682f24cdaa474d24927fdb7a9a02ded4700dbde9f23d3fdfb27288e823e77370d8ef46f18726c90f4dfeef285892a931203903630c28ddb8542d7cda8b80ce2c4a0ffc1591892d96aeebcde54a04af87a573c7774a4508ea2fe8caaa34dbc8b298c9217241c8cb0f4a6d4d0017aab350cc3f0750cfae287e18b0e012d3efd49eb80bef86269e36efa2344e9b9bdb08c5961414207f145135c34950d537bee727e511ea7b2018c0a519ef87aa4501557a5aa76956559ce59268a2f4ea8aa9b5014ea4b4a1b7d37a1a0a0e6d7ed0635bfca1e26dafb509c183435916db65d69ce36dbffed36bf7a42de108d42d5321792a58dbb65641954f6c8c8bc69949c5ff4e6c4b73309b5f35e5a56a5690de2ae4fa55cc5ddb4af368ac3ae14cbae74caaeb46bd7cf2087f68aeba9b8fa362d2c6df3b4b730288f48e2a7910fdeffa131e858655926934d1b77e7fce007ed70c44f63a27d07a88ef6f547a0d517c3591ea1eaf2574fffae783b150c3e6afdfa82deea5be0a56d8592d19c1ce2cfd6af61b7b8c255d40d829b856f01abb31594a706b57b53dacf6cc56c408db9e90acaf3c3c12ceb483535b1fdea12ef0aed783b7ef7441f7cdfd5b7b64b933a79cfe6ce7645ff2e4decb9e4865d9ed05d46ac74f8ac86c2e88dfffbac70e7f1afb57ef9158b92353e70ae0fb7533131f2144b9736fac466e1229665ca0ab65813c1dcfef36fea4fa5aa9b51812a555c36ad09505cfd19f4564209f436df46ad085dc36e1b33280f7d7a9b5b7a6e276b7c4085360b7d810ffaa7b89d0aea37a7908dde2cd8d2a56d4f282555dcf52b59036c80a398cf004700031c05097483e34fa52403fc66693f7583f469d40d923d415b07dc949c4df1a6025342e0fe5dda7a1c70b3f5a4447f71d280f083240a7442983bf0e70e247bb31dfe9eddf1c0df113af57dd3bfbab262d48d5d730c1932dc6ad718f66eb19ca58ca0a80dfeacb874ab18f47d531a0b8ac17a53d89daddeaaea72d4c55d23d1a5ff5ebc70416feeb9fae57601ba034fb86dbc692083764a96eecb6dd59e9890985793345e5fbe08b9bb5377174093674be3647ef8e2feeeeeeeeeee3f7dba03390abfb9172a3a69133d6732fa45d377da247353d42017a129e09f436f342be952cfd9cc899e5b74eab476a00192feed437d6b9621cc323364b179da974c36a4d08e46a260f714be0cc7812809a13d4910ecb0c75578e0b297812feb603ef820962b4739277a5a4731491634e6d8c4f3656fc71853b422a9f363dfdf037f5bb74896f349f8a0bd99662e2357501ca5b1c8a48f8f1dfa9b69f6e06c5c417174e7aace9eb0848713fbb6a98c863224255d60c3053658df81a3efb2fd10eedb372184fa206982252ba574ab4b971d4a738c53973143989172f7dff37d7cfaf4e93ece62da599edec29948c999789bcd0a5d5de1280240982b0084b96ad1c287de5aac68d1c26785e7e89fe5a0693f74e7f63eed5fbe757205a9f301d982de7c82943913b66dbf806e0401dd08729f931537bf2ad5bcf4aa5b257598eccfdd8db9ab4fbfbc511e6c15e773e7f63ce8f27f3c28a82f5fa80c3a87fa766640f4fd1be501fdfa83fee0833652a0e706c9f86a9de19c31a9f383ffbe079804c13a3285bf4375e187630a8a9b56c9530e5b07b08a9696d514f2b7554af3a0d64a4e80476f537af64a54d14edaae68274e7679cbb169cd636bebf7b3115aa2e56765053e7ef7a05dbe3a82c03168a77381fbf881ee63f2c653fd1bb79240f641f286257528a96d94d2315cb8e8809a46b368968b7e18709dcd0590aba0a527017ee9697264f40f4e4ec7b9adea30e0b839d3cc69b39404b2fd2c59de726c7a072f2f27a72b281baeacc03090a27debe745fbd7087c860d57619f83a59b0a7bce1f7b4e1d49a4907f7e09a66f4ed1f9335c45067b7e09ae62e699844b88168f7973737373737373a3b5d65a6b5dabd56ab55aad6663636363636363238aa2288aa22893c96432994c16866118866148a3d168341a8d367bfaf366b4559cbfae8d36236dfc8af39f8d3e15e72f8e3a93a57b6dff699b77fa0c7a1b81e396385081c89eff43c79e4f93f0ddb4a40d4731677a864199d28ccc9fa44e0773d7f72f5fb4a67c041855577fa6025d668dc111ada333c95bc5f99748d2ef37dba960c8617b8f0a74d9f32595f4c290ab22de9c734e70ce397b74eae7260b0ae6a04b406d4a963fd339075d662250a0382db1b29a4c624829a59452320cc3975159585f4629fd6aa7cf1743b21c6187362d3d7bda97febbf9996b7f43ea9c1d6743d251f6e16803dce128a6001a5f8c5071f367e38b34247bc81238b42c286ac708df8234244bb792f94d05aab8a06dfaf9825de9dff06bf52e196e25922928ae92b926b913b73dc323c084e8ded264cc16355e5725b65335c972e5e4343f6873b1603bd5d3192e423e1f113eda9118f51b3e2daa2e6b6dd32158134200df82a4ef7e8abaeab44dbfcd7d94569def6c94ea9eeda34110fdbbd44bc6663a3b8a49c117be7ca9d2a92ea6a9053133cce7f3f9cf797b51ff858b17b3d68f61e71481f2d49f33c75a52e72a16259fb64697b95c8a9e1daabb2010c581a40b7a9b2c40312b2b07ff7e08f52d6982fdfa9734e109c804dfd1b653c9f0a30731319d9fa953adbdd27966bb62a2c90c7b92e589ed3e5dc7c5180441f0e24ba70f7a823e542cca40874e4173a42535302a73ef8313ab1cb4acb884e574fced07ede6bfa83a1d27752e007e7da0afe48d272781ea5bf286fd4aeaf8fbeefe8dfa20a9e324137edf811fb4c3419759dbc61249296c27732772371c74dda23c6c6d5d0ca698b0770ed5c818f54131679b2d860d70d7a7951fe3be6f71ce3dce0dce9d73b3313689b835a1b068e9597aa6d873cf1cc56cd4f6e7b33bf351b31869da514c1b8661759a4d3982fdd337a798a46180dae58452cada82220ea154c3d25ae67d5d549d0f4945bba03c409467969335699d01519ee95ab692d9c986b73cba74d929b5bbff0d8f15fc4bdab0decfae033d8f946a4dd4e7bc455fb09d2aeac86ed1f3b5bf06c1b7b0846cf53a86850e3824c5a063ce39e774c7800895e153499c415a9a4af486a3449753a92957dc5c72a729362c3b6111cb82820111ddc4046c970fa68cd717a5d4a9a5b587f2504ab5991911b02f8da4450bf7d9e8ed052df373a646c818556b9f52770a5632d7e3fed6ab3b5503f6a3947e8edee86707e46acf53114a3fcfe6105a4080f9bea8bb5b4b7de86d6610c48fdf6f4bce5adb6cffb75b99d315083359b914a0933d33e732eec9f5a40031699d00d962aad62f69daf4081d1881dee6c38041478001a3033d8e627ead083d020c264edce75a6badbf88504a291831531e1f53d09bb5f66f5a5b4b96d6065114505a85ac99aa2d367d1f731497d1b36906dba99860d9e56fa148019c3fa8544d7944b164686c00081014004316000030100a850342c17020e720acfd14000a62944c7648301d4603911c477210c540080200000210420852c6208618663b011882433e0f0790a9bee01deca4f24b8a086e57a728a1553df453c6460b4de4940f68237571f56d1efb54a2461bd48e6d72497665d0c25c69626dc2b1c1b2d6241f76fd1b2998fc123c1b5625cf0d325f3762ba4e0e80ea0c2d534099d9fb1676fb4966df2a745bb0d1aefa56dd0254826aaea92380d5814787a47b7a05ba7513936831a09bda60a8b465fb99b429c6612609ed733c504ac7f98257886f443edcdfdc52477fccbfec4a60dda4354da9cc42c313fe13b585d104a9f5fedb4d7e3cf739cddd3853329a68946f51d6e51b447687ef8e44dcd084281e842469bc156d7c0a6bd01f7890e115feb453dfab1fd2a7d5c6f64eaca1f7a03ef94b167eff881040dbe19c660741281ccdc25eb09da623c6d664cea556cea540a569f1619be9993d9e5a79903060de236d4a58c072621179d7223d8cdb9120b406829fd70a50dd4a5657ef141411a8aa9e5598cc8b628f4c262ced9d8cccff7dabeda89645f20df9513d3b2fe5366963f1f60e1f093cd324005131d5884d46025a694e9bce44262dc99a90c9f01b810391340245c36032cc95588243aa71913e34e14124d13fb38d5caaa4805184832e28651c8a9901266b91c073c90c3d56c8153fc231f8346c5a528e8d44cfded460257cb097d895aa78fe8e30d41ef0ff20a66546593abf211217240e365a20257711054282d5cf82d366458026259d46fbcb8bd64ce59a24e9f351c5437b0fb70801e938da4735e083e9984e665167bf423cfaf930c5c98debb4f70cd5a785eedbf4f0cd517d1a12f01d66393f39dcdfc6a453c4316888a4c446ff0a8d8bce5a8b4160b6bc94bb068f89bcb700eb5b4b5d8f620c6c35e051e23d96984e583b59049a08a46ee118694c4fc715f52ba7fa3ba62bd8e878925495a92ab10c5ca96f069972f96473e3055ac2b8627645afa70934a434e8e70b8b2970d1f873755ced80f32735b8b7cce996abefb11e03411a848205ffdb750f285ba31925511031cabcddb1898ea4c2bfb941e8a2187d50427b65544ee84b4253e98501f3f292ea168410dbc19ffccc0aeed705f7fd12a8857cac073158eaa3a03aa928100184000f0259c3c81d8b823fd0d8c401bb20f34d120749df3b0678167bb994e1483cd65a1a2fe3086e9f56331186f886e38709ed8df1766bd5f24b619f0b180e2883760b0201e3e587b14f2d1a0c8b4da93710cb478741578ac2e0b149875e19cb85da092422000ae293cc5ccd299daacd3d3008665b7107fef5e8b004ddf29a1874f596ee47ed21350b2fc494672d83b207168565d02168c44d58c22b6d0d223c10781fc13b0533fd900b556602501ee1ec8541f0904b72690049ff216fe7d80fbf143f4194dd8b98db20ff8c4f4602cf77f109e54dcdb80c1a0cc9ffaf984b9140b874f5caab77ae9a26cedcc9593dde9dbb912b16e9f2b1804e32c9cc25bedc5d125a2948b4414ab493f9a7ae75b3e1566fec0da65994a9a75ccb604304701c33cb6bbc191b625a87bdff561d28f8d9df6f5c143a87ea3f6713421a64484ba1a8c9af051b143375c84e1eace66211ae744672ac3f33b0f62f41991e792f9f87f6f3b1f9f0f17331a080aba0c552a89e06ebc91fd7ee0189c5d04faf359b1f18b41873ddaefc555c71e1fb1af36b70fd9643007c5a95000ea7f207f701ba10ae76afe5f63547f6d45114d836db0d33e7dbe2bcb0077efbe8a8f582d3b6b0b9590325a15bbc8ba7fa50da55486219b0be26a1804931a4ceb07cc2ff531096219ed43042095db19c51519271162edad57dbf3e75a44c6515eac60b88bfd9c2405eab388baf61696c9b0acaba53e68ec9756b2ab5d1a79a3dd57c20a03aa643059189e8a7dc84f2eb0751ad759fb255a07a72e2dbadbe4c45141c5e4ec4e54ca3c12da1053d212f5d169db6281bc38fe87e7097b8a5e1c1a70beb0639acaf237641ba3f078f632cf53f231c8dac6999a122c1e182696e32ef7125354d179c6f164f13ec58af5954a4b3e9560b83277b227dcfa56fb2afc4969a68d45b391a081ed9da95bb7cbd1c88811363813fd827e7be57ce3c7775e29c3696079b6f0db627c563fff3230869e4faf67825990ab1de4eb376eb0a85530872e6fbdd502156ba6e94dd06c2dcee1841b85c84320d0c1736d928dfcf410a3e0e978f39bb0e02e2628a5de58fb6d59c7d66ad2bfd4394b5a652f36d99ced299d11a475067f449bf118cb06ddaa21a48bb618ab9f05d187de7406dc7d0c7288359180e79250ff8c26eabcde96762593486e5a4362836b4e86018ab990b3b9b512f3391117826b7db371674ccc74d2a0910fd8a8dc8e9499bf6c284d1f9387990c62ca0a7cf2702feeb66f41b3dbdc09852ee5b0e51748ee1437ad717e8523584ccb94b14df449e8b09dc1016127af0d92d28bae4ae5d4188c1f4a686321ca103bc5e83b53b345c5fe4883f50c15d894aa4d3ff41ab0a2ff3303d12c7cf3ad5bd2ccd2ea6e8ee0bcab5e0445433598ca90698250c594b4fd60ff067a5a083df4c03ca4c434ad5e7e1a2d73fb193f494b8adf6658f7f808222a8a59fb85cc1759038edc3a5994c0c050b08a66f302535b4119a641f2ea61c73a67b4485500648c01a78534cf6de1d7eedd45cc51fd50b2322e39e06734690b087cd1b950c4faa823c403264276e0da1c63782210d96c5b2564c8d927d87f33ff1d585b1507e6178b935e0d2d542ff08eebb30b33fb31dc949e969f085534e17684e53d196d49e3e6f270d47f007868b013b9a2019809bdd9a5cf3acac161ba7e679568b955d9497bbb40197c3803fd3e214dbba23ccac9868be4b30d8b024622914f16c660d5d98077f7dca4f49febc83cd2836f8c3f457250305dfe43462778e548ca39351f88298da3a81a18f6cf1464f51ecfbe4baff64692450162261f76c0731ea2b0f0da2de1fdd6e0a3e78a6826cbf6cdbbdcf0b36e40a3868efd426c4764dc6568704772cf4543341d87b0a79741a667c36bb13389c9015d13d6641e221250690e19da5650ec9d1279faf3475f86b0e9b18e86c6637b1eec91ca53e588813535ad3d05172f9fcc885b2439370370a05a39e2d49d0a335a9069e59c528f1d07b1bb527bd330b61622861a47543fcd98a7b4e8c7eab817dfa71dcae16ea38941cce61776d8b6dafcf93dbb409bc3ec0e8f3aa7c52642b3d4c344c6be4db0367cb8798ea174a8e395e423e092a3e7581cce0d9286f19accc2adfe648310cc512db9882d31e74d16c54a5ef76cadd774ffca169f4a07ca3eefa3ef5546eb809fb40518040297a1b13c4458e1f812819cce8e5cc47cc3e1ac1c0ff85877fea5141d798e0abc9e1798dca844405a1c6e6a3076da60260f243633532b4dc42d50b4b78c8585290c8de5ffce3a2511084d6dc05c15cee03169b38b9a862e6b32b1ed1f51e15088a61d3168b80fd7c140edfb1ba88a18b860a4c40cbcf7fb282048c0d0fb6ef9704adcf2a4417245f388ce453ad05a21d54ea043e37c4de3d94c730481d97283fa7cdf1c445e8a83ff88a5db300d298a817e92f84aa0071d147d330395d19c32611cceed85c0ecdfc5bf0ee3aafd4644ae3e2a60e8d37dcd2d189362bc5264b8997f84d9ac074e7337b9bd573af915c962de2381c1e0f8c0178d67e6637424b50fefe964f13d0eae2d7a54f93eb802961f8d1fb46008e045a70c91b87f0174584cea884fab713bb99eaf73727050fd86e2745ebc04501381009391e1d8c1aef2ae5bec564dc025ce9608c82ed209a0b721c685aeda2e0eaa6279e6059a948dd96f7f4cb34006325d46568692db75e3c00b2515f5096124bbb1437970caaed282f9ba650c5d82f93b50b825510fa1f84fc8a1c298f7b050503de602c97ecfea18445de4de599a9cf2fc953592fd3bfa85f8a4967992781d41e98c15a264394f7d6308492bf81e2f7e2a56177369e4ca3e0234e6242a2d26cf658f08a04e303ea070a1b708dccb6e5076781f5f4375231375f50fbccb697ae53563049bd1af96b0914d510bd9718625a754b29714a8e62fd56625073cba1cf283a526f8bc5d159c36aeb6524f561a1ba4131e5673dbd49c25450a98d2b34e40849008e79700f4ae23629b40c02812d66663e14b1064aff4d03117850a379bb684a9e165b5373a7a58695344d1773540515d4b5ba98a767b5dc600c96aa0d6fcb866c9c288703ea1df5579996bc10ccfb8c41c43958857bcf953fb679c402819744947d7779da01cab1a661393f242e474b310319178412a28112e293a21499a2e58e64520e4bf0102f39088b14e2cf75a06960bf61ead637dcc1f69221d488af06df98a75b3a30eb9f0c7025086ce87240cee151838e07296fde9c9047c757ced45c3514d432353028f34b05c94908d47b57f8632843bda6fb20f1d1474bb6b2816a648e252ee814672a521a4099dc2f555f8f0f16756596b1af99ca900737160f85e2f34758a4ee46ec1b54549239d890eb3fee3de540a5d98b5161d6eff4e2929ae434ecc84d5a072adba15d10b37d8e0dd3615a451e2b2e4d1c1335a95a13dd215de5f09c8440d98f597d41285e97cecb1c58dc8892d840478f83e45b0cc48cc9debbe3cb8835d78bbeab39d5caed78e03428bb407710d1a4a1588e4342a90e094835bf2be7b07288af4a345486fd21bd324dc24998d036bb78d2ba3efa95a4f56518c9eddf6d42c317f17eaafb9a698ea5e0557f02257dc8be80b34bfc01d9c048ee52b1817e484946ee1f231205c3f612261e35351d9ce17a90f993013bb897af0d2ca80454e2158721d3e9a91c800cb21d7c5580a32f95728d9170ad4ea7642856772f64234841f486c6bd4cd7de747d672a3afe1a403e236d1db1335beac40f4b9d476bd817833a2723970ddf13bd4d46358a5072cba84d4e60b927162251dcf103aa9bf77f69975aa263405a7db91e0a01a1c17bb6306bf3647703593771e5d4c5a0eb9e3e124f5f9a3a5b008f2805110c72ea6a530898dc3eb760cf24e7bf77869a2b22ce42d02b186d8a14941798d5913097ab48b45f23309a302d7590dd5c9b0f1d5f161bfd7e5c5f31bd09d13b2224177f668c5ffe5458a8a08bb3e86192b1f2cbd7f4f52e9d3e27825d1d6d23e456ba627161edb80c5f0ab128cb1fecf55f74f4e50e3193d97a39c97cfc32944813215a82ecda8f24b1f0625aa156246a4ee6e1cb6955bd30007e4043b29780593c57015aa47eeb1b57f4bf2e171df5c58c75f999f76772236e85cd0605c1e5b702ee1c9d90c5eaca3ed36546457be889450a57982e6aeeba0d8bd132f6a4df838009c6eaeb782b8bd5fd8ccef6b66d2be64380659e46c69c4dd4f8174d29845ed97470b10c1d5630cab090e5e666518bd9b3d24b6e569c460e19e27e4e55c2cfaac3af84b08e3293495fd9301d682a42450614d108194d957b428c1863a3ed80f9ed2af792de9aeef7a174a392438a832ba08a4e9577daec9f00ecb0822bf665e90f7d28555aa1f059aab74b6316f998bcb92c8e721dc8e74a8401f705d3e1ecadd1eeaf7dfcbfef6b8309c64f16adbe68dfa4e71988ae2b12f8826fa02d0470ebfc60fcf0a5a435c8731df6ad3cac23e0675857871f0d5e6035a74ac095024fd22e069eb44bbe47b78ac939ba85add3b07cc9e5a177b62e28b52cb6b37cdddb254fc860bdbb2a4a945981a11debedbaf1879e490d5c6eef038888885aee13dbc0812afc8e2434ab355a121c515c40b781ebba94eae4848226c1900f0c62b024eb8ddcf490633d41001b9057f4bee366aaaa9163779e983c6bb61c9876398430f64c313c060fe72976c804d01a4f361b6dcee179a9c9d06c625f53ea8fb88664a3ad535689341cc66372a55df066bc1fcd924089fec7ea501d0f0ff0f9db159af5dce819861ed5b4906c05cad20c3c41d45b8028713f925665aac64b0a0af9d81626f767ecd4d8a4a0ff671aae38c8a30de3bd56aa91b65679382d8923091ba38cdf9de2935485c490af1ba69bc10f8b07433b5331c8d0d60966c425b60c0a35ac7015a695a2067a8547837ea37dbedf3897620ac3efd6c43e61a3742676fa687a5e91d9f5485aca998df107b8c1b2c5222650bf95f3db4f38bb10314766cd1c1c6572ea093e4657692b4e385c757e1bb39c49eb3747c38e58aac445d0ede2ea05f77a30d27c692a26ca4c19ab8da61146436a5a7d4c63132a21172dc3994b16a6968747d2942a44bcfe6121386c82f83a709c1d10538024b5550094982e8bb89f22859cb736b9c2ffff227f5ae35df4d80c4b54c024b74752ddf835738ff35e375dbcadffeb6caef22bde09e28ca002bf61126b922082cbb6ea66311185c99196b28bc9442892166e04ac6f281b1437d38fc6fef47ec5ddf04f0149295a312887680720c75eb4d04244a36070353eadc4dada65153a6e23aa685f46e168b27d99c826605c6d9a470b764a209fd7fcec5ba3ead64f696eb54f44b3cd9e230a374d6c705557be2c914ac64820cef95791fb23d07220e4603947156c1952a65307d848ec1ac0ba61948b1252bbf4984d0ff1303f841e0b965c4ede8462dc1a71f0aaa9108c96038e384b25829f12d1075920d56e03cc5033ee5155de29bac6d4b59ba7f0bc34de9122204769e693ec462962371e535468005cf5590c323df4c35f70b5ac677fa334b3afb6ef9058ab9e0f6933b7342ab951b6f15fdb14dadc29b8f38a09bac4f9adb4dd8d877e5afeb8aa6ba23540e75b8ceda4c19755cccf14e4e40026b6c0221fe5bf3fe86e9f67794d56f67622b14277eb7a8df2ac2f65e98ed231ca0c35138f17a08b2738c104ad14377ac46744d9e92e9e2c1511a5292ec5718e710fa9d2aa9ddb8ec0be69a409712a0cf77c83d696ff9bbb036632c76a6e2411cb8c25601f7d2180d1ed9b3b833233a32395c8aaf81d7426ecd9bf94597aae7f0fa97c3e294a7a1bf6f552bb3014abd7cb11900039bb90bbd045cc2854835d171a331238811a93dc7f8a40a984895e055053695dc8263f999741108777af2ce2e1514b668769bcb0d7c98b7eb9d451e9475e7105886363b9b85b8196e3f8064f1e2a787fc1f99e5fe78b8dc82343528d24f0a5c97c1180910dfec032e6be134c6cac7e6e3a8e531f82229616f6599c09934260ff7ae53ec9086f7aa80af87e093faa827739e69b620c7671e45068a2b71a89be899a334be06b25e30c8d47fca8091294a34d8010decbf8037781fe3fec0593533c0fcfced0e52d12a621bced0e221a3e4b5106f762306d0561b217d8748e8d665893bc203860461ca8103413574a7af58f043b46c87d335f7dff4bc023d739e12ca45c0d14666f3b05b0df1dfaa38b3e3cb5d95e773e2d39a43424cf8199b0783ed670378fc17ef295f634b30cd4bfca95c59033bb2e46509d452333d8b3b5273e67dc1ab58abc710253be6748b15165a2e5306e390abd1825993918afb3d09f0dab028fdecc859ffce129d1ee7ceb6630bbf57a1568f7763ce1bf6ada4c30cfdfc12d6996f36b754f40e9ca826cfea2f1bacefdab0d745a648481b35bdda5d63d01736a45d7f4250d07d60236e1ac12a5c6dde7ae14b0b01144fb906edb665d2c4a6cc70c3c1904084b8a04a6ff8887907f5b3a3c539a5e754469cbcfd332bc94b4b532e723c8f24b369c5ae4804c59a1addcb296aac3e58619ba35f000f5e1aad26a25537a2edbf85fee2845dce2f8acd7bb5317359726d919c0d0a5294e9f95bb3d56ec23e3773b4da0a803d7156ac5c42c2e8fa4ea1dd1f6fec60bcc453a55ae81aff99dc3e186172f339fc5bcea9d6e5bcf9f2c121f3d1693a6e8d9f25104ccf8b6f71baa488b0ef2078593d065d7d7cc85b48208ab0effa0229736658be595f5e4b0b5c19fc3bdb5b7fff8fead90650c57251082d39b60521e7cb6eb9b1a931e86b2f7539b5d08155d81504cf7911b5bd7bfea59bf0f785bde6f9c12628b25afc24f1a0d6437cca7ee5f9752a57ca4452e5ff11af42a2b493364830116a8de58a4d557ce9924fad90bf15efd2f6e181b166e8c10154c43299214debe119090fe737b3f82eab230eedf6a452f789433dccf5d3efa2285c97b314d6f34be311a20a701f55155ba5699577ac0aaddb5b1540620a9bb92c78ca27bf00277360a90c47bd32f6768b1c240899896a259961dc84787215b9cfc747cd1325f77eb6606c62b0c411cec67187a780b2ce85028959ee3fa73dc4f6a9d70e327b20ec27bf1cc1ba0365720ad31362d4f627cfbfdc02cdf67113fd1a1f91db2db2e5287e1b31f1e97f93531c519a1d598a204a275761706cd76b75af1afed94edbc51f4e8ba8c6c44ec3e8247cb3eb47a0adde71880cdb93b58ed44ea30aba73b0c26a520996f037857017e2a60c6c48620904ff311612762d4e2e895d88217fa13c64768d2e76216a439a0fb9f86759240176a150b450aafc201d13ad4106796b99adc0daddb8e9a4fe665cb9b75ff724540b397c416838db267c658b30eb603b3abff72e8e5597fdc44d2fedd87448590cb301c6a5b13d50186e191d0c997a1940948682965b7430ccbaa5bb45285fb3007aa0a77e99f7000b75834e9aba4652fa660cf0576b41e021f10e79204c0316ca2b21a93e058590cc3c90512c830a02dffae01c57ed60ae1b67381afea5a4ebd5374862c53a861dfc57c7857d22ee054bc034c32d69a985083cd60433f209f38e413650e36c90ee1e06832fc9337061fea954374da18020513d1aa33b5a0a5c0afd560338828dc94b1be4170bca0530b810ffc8aa616f57709bf9079c050078c60299ca1a3fe6405fd007a9d861b55243fe04e3d35279b20a0c058d426e6a3b014e8471a6c7591fc80bbb5549daea0c09529c91263ac91f9071cfad5396fecf80eb86408c1cda90647d4c21fadadc0959f4d05f11af80ef0837617a947d038269be18f928aa0f3b8617e1cd152784b4fc5a90af901f85a0d77b2c87ec09b7aaa4e3681400172b08d4654e5c32aacbfd811c01978702e6809526fc1aae351e152cf63f3a71055d3d437605060ac3601032927f92bb682959ba03025297184eedd338a12f03ab386138a0065007ebb03b227e3f1f5963231140f1b39b86dec157fccdcf61e609a27e4002c6dc8597c73cba9c605f8493ab93c43f848cf383a4514ea19bb02d2d240ef919cabaa61cfe3a17fea5641aa22fd870da5d6396637acee7ea1acba252c8a5dadf01acb7c228e67deaca97840aa374f24e8ba592be2352d496a87ce56e2d5759a334db0ab43d3b946be14f93ab3f503441c6a9a0033487cafcaef7ab6273ad6a839c32d3b1e379f2d954b76f6eb9846318d87a5a6d9f24ece55d6d1f720b3e416fb8c332320e729d74e1d74aef5450b96cc4c6c8686bb18ebf11cf4520e1c7ea9e5f024545016a50b73a9495ef15658f604af394190b0851e5f45a2627aab2bc1b300e0a8cd062cbc938851da40be6266dbc202a469f4fdcf8e8422f354b22c1e442c36c65a198b49c34237e9ff57488b33900b754ef9836dde6da93569d6af50938eb12b73d1aa5b6bc57634410cc5d78de3c0f434cb2c4bad4cbbed645809fb5bf061dc1de44ef5032f95733290057c1d7144a253d8c4d1ad0d1772a3dfda48d31491b0f83f05c1756d3726e0c7e77ce3b9b514232902a403e2a48dab4760640d12ef4b35ed4f4683e4776c3a1792f412372755893237925b109224cbdc64b73cb0a00c668f208042b8e5a164fe3f243635417c0370980e3eba301dd074cc7247c4aa84676bba4f22cedace2f861cfcd18168613ad1495e3a5096eae285de87114ee08d42db86b7d550d72500dd047003ecdab58f4e9eef34829cf9206acec2bdc62751b6a61d3132a18b0b831a7aac3869503124b47765fce488f13ea716eaaccdcfb4cf8dc0ec3e28bb5a5e8ebee79240ae08c433782ad0be1e5592ff56dc75745677b1a827150b9ca70769c523bbb5846a91842dd897106d38ddb5e060dd71ad7e8882227da21b44f51093100aafd00cb6dc7f4ea3c35269de3f95e766821e4c9ba8aec1e62e0a01a7c34b191e9030166b71323b726a008b02337140d9244fcae0f80a71d84d6323e79462c711da60a2d6f91768725fcb34dc850e41d35a866512357852befe38e96838c6e7415bab6b5a163b03775b9e1bd51fe46855baca2815b4169c0fa1be99502d669c6cac23864af3f3932807dd58bbc35aad6c1e96575c3b9e42fc93954f2710e1f28277d4f171bef333732151133da58ca6ccaab2dc42ffc149d571dc3779e26824cc2b051f344741888fe050644849262b05fcd4b5b628052d1370d1e530361f4f7d00bdf5140ff74c6ac04ec9c8d21203ddbf71688ac349d5aabbb69d48857381d407b46ec620aa2adccc49c8d63d2a338550418e20922a2f2325d83d8547d5a858c016cd5c53ef0c1987751514893d475dbda6d9b937c6b08b1d7c1bebfa412b763bc42403bed6dc4f03f6098ef04ff7b117fd746144c66030573c1ab549ecb95dea6f2025ee74be0e17a96098117b0bda02c17cf4812f9055f877056d5ef568e35f74ab4c8a1b7459d58ef9053ea3344558a8fdd6fd750f938d53a6cf674ba06a5f32cb956432d3cc0c4cf3b7d7774e9e7796d0a0ef5bcf34919bc60b055871c578cc0d6eec12db8360229e1abf2775600a649ebc12ed102605d03cd0ae16e50aeb6aa58b33b6b264ed849b33b2991342791dc29a90ebec2571c91d1517c6be190fc8076b3bd1a0482953b2bfb2074fd27e70fed7dfa0a322718dd657646b18d0fbfb0436db5b3bbdaf0cce8afaaf3a3d9dcb756bf4d24e458cea52b51aa0af9286a2287c56f86b729106485e3b65fd0a178836c8a58d854b8b49f079e06548d00deb805e843b71177c94528d3f48001d9f9ef3ab15e4025e8226e7c255d98fdd49dbe3b76978ebdefbe7bdcaee787adb8be47d8501b9b24e2011016f58e1c2b2dd578d4c35681d8fe023e673a9c15de90ef0ca98f29a0603ca95acdb46bf6497357280d5269077a2a5405ccd22f128f771a5b8d7f62bb3eca9cc172b213c49b77218276498f15407c28d5f8d309e9c5f4d6f7078a005ee0777d7e05321aa9713ea76f6b606903067fb7e3f8682a0255106a32344bd97b382f6ff80c5d354a143d503efc3f4ec5464f43374b96dcb94cf242e3578b6914d0a945e517aeec83d847f3078ebe84b2425f2f44941d0e75ad43ebb00ac3a71a511d8f535aaeffd8679baeb6b54129b74c5286639ee6d605d3f6fce60472a773c11852fe3b49b7122847bb86049ac0da7c3cb132cc13f6ff74dc16d41870b3759b42083c1eb30545dd1ea4a177260896e41bda41ff235d35e56ad08f0c5d4762fc7d003b47a0f666e75d59666d686a466ee348db35f0b159713246655971635002e8e54a7308077894bea5ed8416c88f8dd07b2f00171e104c05af7804c322b760d2928d24bd3a69bdcc91129be48eb15f1e1f718b2eb5b09a12cfacbcb2e3ec50f74499b91279792248a11e9e3a96aa4bd12a93654e9e2b5b3c7d7f79d083b00952e1f1552513720358edce8cc9a7ce090d864df341226a7d216ce8482ed6fd0b8fa8b508376168c0aa3e4d56984f9593c2258b5dd61f438dbe95bc60dba715261143ac2db0e9f59a163488969613ea27171f2ece45c5ed062862192048ad4a0ac49eb4e35ac942d2f63118a8c07cb4815126e7252fe49d7a42c4e055131708d87ad63912c171866b5263b29c19392feb8616b34644502d009e06d7678764fb2cfc8b521469f3e39219eb08d96190440751d57af2060cbb6a84066cf827e07b319a7277856af36c02ac72c9957d939c068caeef80354919de42222d5fa397b8a32e9b2af2d747c63c709f320957e9fbeec5683d18e9bc9367b883b4a9f274e50ebc4c8db13ea50236b58580d5092bd734990cdf6766de01434c89a66765b626bf6c4afc9e9be9d5d001c0f731f7f7783f91b4ae59499e069e1b4f865bdcd66d2e00b05b52d3efc09662896b5c4c7c2d6a00e79a2f7e3d29a16ef01e214e8d5a325da10c0bdfafbfac5ae5630668213cfc6e7ae3363872d49438d8faad650d71a63088ec51b51d0e3b3320391ebd793382f7f3dbd9c80166520666ee4e794177aa6372665809b0a35160e1438b5ee7e0ede662a6bdce8d47cffa3f88795c40f4765ecae0c1f2ae5a0d199ece3e29bcb0719f2e56e6a413271668c996da490a6a2f29d915d4d76c42eadeeed6b15831ec871c59ded0f13a7b30c34b639fa49e23dfc1ddf890668b7ddd5a7f5bfb41e487d37b329cb964de32daef953d9213d00c0d9d4a07ab954397c698d9652a22e7351d20a8a1a5d39f5a6c494e6cddc2d2f92ab26c4d7d8a699636f39334d28cb984459bf4865fbc06a24a7d8c8621d63fda93a5728479754b5a9234f63cc3259e9d7063ae558383c25df04dcf7138992249a314e4cd60b0a0589284ef306ce89c9cc723e63619e8dfc4bc7585e3d00e04492a7f8535a549b9057ce890151ffa4117d71f3068ee51da99af7a4683b84006ed934779d98adb4ba51a9fa7378c4cbd0eb6dd099bc1a1fe9703c064ebda54ec47abb536babed54bab6f0c44b5303658bb4858d59a4ab7079aff146fa6bbf68a92988e533e0b263899a5c644a21d2f4b447e43db6b9d3ae9b9253055c1405db2bd009a756c80dbc48ae06fa62b8a65a046730849e325d26628599a797d4be54ae45530722d957d4783457c16306563b8c3409f16971a0efa493fb582fd473e2705dab13ea4c5ec9edc5d264d579a17e8494c181a093a2f0cb9235e6218cc397cf6e7f8fbc77b01ef44d276f58e5e395a886f1e3368fc02483b0f12ce4c09b9d6dab049e4046d3b428ba62d1005e80d54e45dd378c3cf4ee42c9ee36b6f3ff6329070ccb64cfef0c83cdcc67d0f1298ec1f7b203803f06e997273b1ead4f35070db48060134b417401350c4717c9057e1a7280d2650e7e0c3bd06db96f36ed0a667a9ff2ab4668ae233e4b9ba33ce74a2c76e6062c2aa9d0a13672fbcb273e859e373523da159bdbfd97953316110bbc2742a130e905de5ce550ddac0a71591991397ea85ca7980346c71914570e110fa5645c82fb355051a4f3e4c4cd481015ab7370c81d8955041dd0bc4ccff36127949649f871f084aee5121f09baa0bc4cc98f6127742d97f091c0b3a0770d42f67c8e88bbd883b0dc6a07226000030f1ee2a882fc33b973ec5a031b586556e82641d5f0589e665867135ae60a71b19a8ba2c2261f6f3ee0b38552bf50531998f9300e7e766f0c45f5bcdc18e7a222074acb734eb999379a446d7d2ffca4dd247cb3d9aaa8b2f14be58909013ddc969796c68270b92982f138961cb6ada677a69a29c272727eb41e38d94d8757a49d5af5bb330c8bf8cfdec5d90a31e53d594da95804b0d9000e9acb48ac447c2085cdad5d12176b47121f977034cc4a9bf4db22027ef386dc8848e51a9a3765c024cb42c5d312e21e4a2c9cff45bf44d72abff0598ea7f98a2a77ecdf7295a24e70ce2d93595cc7562b4007d995ff1908b3a11b7d16766a61b8d13b8b8d6e8b77c5c973dd46396928d8e785fb9cc450746ea2414ba6647379c86f0561ab33120fdec559999730d0a8327d90958523682653aeb59827b616b49c8cc1f01832e9bf8afadb1c11fd2147825471e113564800e919f55da0968a51852b80400baf3e9d634c8f8b853823822295cfac026609f41810defffec40fd3b0f28e7d421f9ee74e79bf9fb0d500f675091b23883b8c9521ab4ad9f0774acc1f29c62147bbd34929619044914bf0cd7880cfbf0f569b6da64fdba4d3450bc1378e21a3f79534345e59626430b00aba5bdff639e06d3e60f59fa4a56609fd2dd4973375a937963da83222e3c4643c3a67fcb5fc771fcce0271f15582336680fc41c75a91d5b0d3299132ffeacb3b84bf77da5464c50ea9e68beca653f80901fa05c1f9f80e15a03bf022f08da6f34b7db0bd6a6a14a389c1521f86d675bff3604e55d57e74dc7860970f21b3f430f8f1904e0f5b6a8eff353f00651809e9c3c8b5dbc98d0392441149db38b658ebc5262bd5c8839f4c9c9f6cfa5831f311aaed0b452be5503eed1f80b3a6aae625866ffb9b48df08f66164e980cd4520868d448e56c1419c72407952339f7550c1176f8ec24657cdfdcdc89c2bd7d71e03192e9edd2e5f1c6adb30f6b06d2cd75cd78809428036b85949df4338d063bfcadd318c6ce27ee1de0475d208902dcc9eaa389c7dd37772a4f5b2186e11e171c7258cff63c4ba865eba2ee1f6d656a86c0e17b24c49c61e9bb00858b5b590e0b230eb5826f02e1e42e08f07b95c20ddd42bb1c162ddb7fc41881638417f55d285d967621e4431701c7684b94ecbf1d7b8bbfc1ee746b25be9916ae682b235b8041f29502770ec3dc268fcb78306030dba6fc26e7ec53e41b769a0c24d477cccc780200f2dad64aa059ca5a819e4cc22540b6666935ffa5504085df0f349b3fc99c58d6cc81a6084af210c5cfc2ad471906870a50142ed26f314725db93d9e8578b27495344af1747473777555cdcdb07ff5904863ab92fe3d169a847f3984971bb4f7f0b6bd48a10e185b3dc31c0ebf8df1b2440c7d52ea4cf025e9355bc486643e42ae70b8195c8ffcac694a5382ba5348dc138116e94b736e668544819e5487bffaeb6e0aa695d38936b376ec4d431b0c434e91583f8c2e64b0b05484030477ea041283db37c4ebdc1fa81bec2ad873ae4d5bece76a0e60650f6a23f694b9cfa91aef415521b7e92ee183fa7174a4181b8a7b394cd7c465139cebcb96f1a596d8112c84df17a67c0b89935c3215e1d33942620e0a486d4ec2c257b5abf186d887f8f2196450b3cba11acf41455d8e269814bca40e44a6dad265e619fb07c3ab0878e8f2dff46689ce566a0c519ece09dcae57f739a9d1b78627550947b7376253baf8cd356dec5fa2d8f102127d4cfd562e5ce8a896e24c5b9732653aff01a498eb49374d1c3139da9afc47478b1b42b73935118f4a40884d1229b26b5e9b36a0519b7686b0b346af650fccc31b41c5de77ed983cb5b5a1145d96375d8c29ed1fbe25119f6647cc66f4715878d2f27da7b7487eeaa70e214be34e352122cc047949f1cb0927ac5d10db2b29ab9cf9e817d9f3a04a7ceaede809be90ed1713a076f26dc568cdf5fe93d346c826c5255df61518d4da23b273a3d6004b1ed4c524acc6f38b72b447e8e9f8a7dc3fd5449e0d713106bf9d5c0e62c5eaa47680f800b0e6ae0dbd998c3b0327db6712aa3728a983db089ac3f9aa33fc762ac3bfc366ced47b80fff24c2410058d3f048d7802d8f034d4b25d05338998e065131c88a1181a6217b6f2e69737fcaf92b2395583720346e8f2e3ca5d07947441eb2a1fccb81d0bda846951722b4ff6b569b3c530a438b2a359b485cd0356b97a550e0f190d15380f82009840be29fbdfabb990f034f750d1d29f6699a403bd4d4f43406744a4562d3ab274e36b38b2a1c3e54fceebe4f2e168e93eb8727594f7b1a7b718177ab385cab8a6ed984ceca4ce60868aeb2ce71a16a7f61a7933cc76e930f7b7e139471d2126b7fac69b6b5bf4e5cfb5b3284df2357d799546c7f481b387e2b5bda256207a525dc9e64ad49db5f44375c90238266649e9f52d482d2adc78e1fcb985f1da4302a43ec2fdf71472a6d3c98d9be819681f343a4583eff488c97bef844867b775bfec77200a077496945352065541144f7a1864e8407cb896c6faf378d7567bd17a68fe903b0eaa042f3381fbb2a236acdae171a9dd9365c1f5f3619c95f0406fb1176f1446b1d36591b8c7abfd161e928cee53cf42becb1ca6e24b8ee2b3e4b0ec6f20b57ad1aed9c4ff5464a7a7fdc338149d87c29c8b1179e7f66fe1591e4a941ce8cce2cb50f73086ebbe62d1362dd6f9f80db6ad5908119aab82d0375b45a1e9113fb36e898b096b6a2a27d3c51c1a17c393a9ad2053d9cc24d152d026db9e4dc81aea7bb995655c9f0209f034a8f8edf88008b2c4481a159a7eab8f128cc4e1d8c064947e17c51d9007d614355e32c812fd9a8dabd9a479f674969f8ce822b8c6df5eacf98869c6fdd151ec63db69d20c79bae92913f0178729d10dc9374fa010a600ed823ceb80e3f3d19624a7923edb12f3d3e7e3fae6a71260ed6e8e9de23365d76005b3a6596212fb1087c2bbdaedf9c162024a7486ea50baa332e589bb81adcc4cf516a469a96ac79401f66e282196c5d9df883974eaca35dbc633e9e968899f401439a469097bad8c25d6544199bedb06766b0b82a5724ea7939a01286e6e69d6fcdfbe237d9afe1a880ea641d9dedacbb5279217f87336fc5967f865a10b63fdbd183a65ba6d6823eaa86812404ca2e4fc15fd9c5b81f7a16868a853a9ac1b5160084da3b460ea72b744178cdc0126fdb02d65f174ad2696015967f31f937eece3679fa80b00958ad1dffea065da6e86cd5f96ba95a58e8e8f91741bc6a759f46bf74ff6231f06aa60719e84bfeed1f3031a7e5317bc4d52a06cd4e06593d0132b8bc06f8a7c16e2b2d891173a09a1a6a71c9cbf49fb5aeee1c03e2f63c451870a1da6e1b632e24c0c9ffea952e856de75c622eff4be32a338bddd758b3bab6f07023215f75bf1327c8137905c8509ccdf36c0622212b546451a6327e95019d4d94c8685edf7504b0518f5c2faf70a2d16e6268de1094ad978807e678631ec396782ea12d47ee9db451ac6a01770874e86a706eaaa0ec9e9d7323c6cfca1425549c7c4623a5dd064470c5a7449b86f50528385334fe3f6bac064f254fcd562aa99fcd3ea2acd29d1a0661ec0aa3ce59f63823eaece56b044c4f71e3af4ef99bcd69da19c0a5eaa598a2f04addb7df939ab24a7db6f6d02c0b0710971fd2f5f81e177f06629416da35c5d8772c72509077039d8beb0d2cce1da2a04d878d7f9ea861b61fa37a826e52e8108b2244c8315f0c37cfac9c8e80d77b1863853df2e0a65a48337b628ad63ce0f167cc70ce4f46c894bf015aca18992b2148177af39f21f03906e841d2b771b163ebc406335f326a07441c7337b24e476f11d4e1454eff4b53bf16746296efcb185dfa8a32bad7ea48dcf172e11c997a3347e6456d6727dca866e82b78e1694ced00d74bcc320d84da364790fb299798b4eed2ffafad28c413e15fc0c9e4d2888fefdded81b2f2cec2bc57244e0f7e633b5b7aac2e6b0ba002bd27d4303d26f319aaa40634f50eb54ae455af189ca022cb5f71186281eaae08090b5095c187811d7ccb1331441e90cf8efc5d6f6f3eccb2a59a89799cccbf39e967c3b7931b34d4643a526503ae6b429b989602c23aeba9fe8d1205176b1ae9cdbd06bdf164f1a67296363b6f05a2f502f6ff78bdd0459c0228e1086144c4cc9923d7677e40eb84a07ead3b3a04447a0b25ddf9a7d0adac1eb84db358c53f8dfe750982ab6d35476366fe6a7952714dc6dbdb7fcd22bd08e884a22600a2674ec0fe05d3c2ae8402e7d6715f0f2dd61967fd9d6d412737145092077aa61bc2d3fc787367a9358dd0803eccf753286260cd43523a17592dbb72ad19393a89dd8c0d768c73d4c766e5dbbfc0b8c925a928491700112188c35dcdc7a1fb004dac2188d6d5078c88790f2d5c129c32acbb2683d3d5f16872473e011a198be4eacac844e8782cc3e2842b81f1cf1a1a0e897769f11e65023f522418a485d4c73beec78e94be65b2ac27177913205d1398ebfabb4a82420019fe41986b50d5912a70e9aa75a46e59449d9a4e3391944406903469cf4f2f4d2dce5c02df3502a0c3ea32ffe63e6fa76bc0095f2f60d9879713362075a684ab2a0bf1f30a807fd48864cf70c10eaecb6ad771e095c650a8f4f3e124242486a0dd678ff5851da2100cae212b77a645e8ef07c536fa8fcc8d1f9d7282d777e2651166b10d09e47123ce0054dbf74bfa3c890a38b6f86e131f64c55bad24e39853b460c344b4bed15b6b7b41808f02ec72cc948fea3b87ad4a979a377ecdd18c790b907cd2c3529a0c9dac2852c0ac97ac5265d4df4bf416e0fc81f6315b963060c8ed2370e73032ed02eb2ecf16e51dad8201f2bf4c80a8fb69998cd6686543ce0b5dd18ac59407544035c3dcf8d4d0986c779625c901a4da2de6061165849474a14b1a6000fe028360fec59cf52323877a2f55e6c4b05a17b0cb07ed6d7e0247bab6a5be8a9393ee8dc416ed2ec9f20e9b5a2f6e0a049c2d3bceba3bce5cd3deb5ce78bbf2f021894563ad98b407b895c909db8d7586384fa2bd07077ed2d8447831ce00007e1308f16573b630f186f932488be16359a79875a352f7812d2cb2802bc18dd52c692cef2ec8ec2fa4c15052f06b6a88920cbd608045be459299e88728c3e85c59bf378f4951cae52716ac024f70b79051f0c5066c6982609a42646c273676297902c7ea548f53be86c474d5f443c71307378ed55dafdbd56e7411fc294cc5602e30c827a7e6878eb360cfe9c6817adbeeaea809a0e2ba69f60209ac794cf5168f217d401bbb2d473ff4847ee556262c3a85ca567ce62c40a4704ae116eef441cab20743cf3597060313fb0b9843cbc4f166b248c1fc09c46b31fb7cd458e17c362c8a6c93b99e64f2e183d9fb4810332ab70ba803add189ea6362b3ab8e34a63839404af1044025047282a0171272611d14d0fabac4dd4b01c2f6cc552dec5306683da1a19b901d6e469956f91326e05ac46895841fff7a9f6e72d64347f9c6dd599a3b392436656ed322a396e20dcb6e351683295bd15d553f043e1e2a45de6c042239a54f2fd3d64f530002f80b5f4c97a6dde652a08e0cd7d5f80bd93ab8c102da588ff849cf0a7f00a0aa745c8a5e24152d06a2869e1763eb850501c9daf8e69d223ccc19bb31b124d947dc8206755c48af5365b09bd5170759f7fee141d308cf6b89117257b660a8858d67a27ebdee496c927d975ebd08917dc4c97a6350245fdcf2397530a87a2e8c117871adf85c694e491ad950072576dcfb7e499cc6b811b8294eb64485924a9a72f543ea2aabcfa5040b384a89816c335c452f31d72056d1106d1573a42445dd6a36d81c54ff0cb069014b5e98770d2de33213c06a662b1188aa2cd71c0ef818c92ac63c1a8efdb5832a9d8734231a7b4511c292c4e5d0118deb908467751da6e3f541cdbbf815ca27557fe1fc47246b570ece16a0f98cdc9d5102dfc4766c80a954ceb8193c5bb608d1125a3c2812dcac1ee3dc63a599c813387d505cc56bce619bb4edafeb9e406222d76ffc6cf3a715fa50f40145dda62443d8a1ca444d2edaa5a227054557805cfd0a0a1ca1debc1e8127823ddff9b09d80aa34c04817b9a9042708790294f2daedbf1923cad98b183bbc758b822f067974bdd43e1ae5fd9dd8a53cb6342749decb959fe4299af61ba256c24d24296bc6e266e94b6f4edea1971c82ffda7f99b39bbf044f8936087ee6cb919269cf8553fdd6d60d367f848aeea94f8bdfd8459aca445334fc41c7e46a77951d2d3ac207984a73c69c082fcc8c4bafd588ce8fe3983023eca98aa905b51635d437adc15605f576ded950d35c5d21ce44e07eadd4a7034c862ff75a605d2b650fec3bb569a38ff30065404f22828cd9663ff922d1d1685a7fef6cc082cf8bb5d62eb65528d78af5d41a1491d67cab4669822bb603832ada8d323e00f38e876d5421af4989b0777da7807eb8d60edb1b1a60c9088b4f11c82ccac0ebddea6a427a49715c1cea475a393e910de395aea796028391ea8c1e36a70f2501b9433145e36624e4a44359ccb8c36dc02fc9cda86390d65ed28ece2fd229afe1881226f9da4f1581e1e0258022ce09a4c43dc4ae13eafa2fab50ec6fe533433ede5a09dfee48d114a373d0d4e20056870111ef73502373231d005417f2e7e41b1608a49aa70d1f6b2c58cca8d95a7833db1dc1a5cb51963e988e7b331445a230e4e21a51f04c432fd17c66c3c34efabf5e1373a5443d12f3c6b3083ff215cbaf310af716aa63dec005f024d44ee8860e46ac4dd5cd1b87a9cc75df7223fab6ff317f6188201a45ed0feb0aa673e2a748e3f16562840efebb0f577c785c8b8ce8444060009291b65f1a7c84826824867d11da1283589e44f3f5397867e7f1bad41bb8f8a00a4dccd53cca58c4dd489e35e0208743c7412435914ed0d1c98ae865db953e0e7d6b0c6c168bb8820603f2adf270a8dc6bd3036436b2e4a83cf2216d47eb6d99c9bb653f98df13bb456f3efa6575891f4db7ab252abf83652a9ca44b58f9553b45e54b67e118f6c07dcc2e9f2e3dd7211533df5d1838d685faa60dd3e4317f8d6cea4a97ca2d1bfbf6c9985656cd22ba79da8a46fb79a206ce1f8bb103918e963299c63602d31694a0c2e141c9d52328fee9a9e040cc61576705884c2551810074eebcf200f3c4ccaa096f58d5141c4a61d38051f7d95a4b6a83ff79522f695642e5d65ae7728845610b90b8229e13dbacae9377a170b4bb757ac41220c93bb21f4477a9b92ca672bee9133b105ddedf1a83da7443c34b7edb2259a84f43546f28f59b6a767cc081e0d360a286cb6b4bcaae6e905580de5d531dc4950bb87137d1d5adf5ee4e268f53abcb9e532a7de6315ab3df62b1551d68fd8b6ac36f0c659d1d578bed6a09f2508704c04f9f194b948675a916655f4e2d39b1b5a93d5cb23c934e0b3a652c9ed080d86c58d8425b8820897b17861b279fc756b6cae63bc47ad5a1c358ae05cc0868fc61f5ea5dfa8c7c6ef85b8b978fe2a82fa9090c2bfb29691de1f36c80f4bd4677141508668bb538b55e135b76de7753893646388e5241af3dcb6bc0ed9917e370d32abe8905790437b9385102ae8d65790837b9b12535286ca67fb328155686fd5bb8af8c96423240f9538f002ffcff640b9a782cbc9d023e5e4289b5aa0f10414270b78aaad4bd293d50a146ec5bab9422d361c47c2df4ab83c4dd6fb66d0ca37af242dfd637c499f734347b5beff2a24d769e27575de36a04990ae0dbf877c02507b4183ccb409953f4d11add40686096b12a3da3cb4fcf01fb33092881ab2a40427c0988c057c1ab64146a61c838dc618d996657f795daf8662c9b581233b232248dec4e971a3d990192c3dafae766ba7a4af630b8c37158a3e4c4be4a97d035e477b50c3a4674a9f7ada820e1c44723d609acf495d0e057a35c065b77f98305adce0563a7d42d0c30b495411b71764ed963b8a2972e26600d067bcad07f65c066770556b39a77a488590399c13b649afdafd2dfcdbd743284fb9f041d5a1ccc55afd4e0207c321d3425dbd0017806b00102fbdc4fe02cfa5dde1f9244bf87eb5af7d7589508cdc2b99925c8abcfd712e5b7b188cd881b2b572b401e5a85fb95deea4d55d785322ee2a0d028088e54b814be1137f36ead241125db7bfed66076291b351fdeca3658fdd4c0c8ee7b9888bad8a47d5d8afaff8781e224e050c4479201d881e3dd13a72921f6b65871752f6cb56e1217e14019928e823d422c717bccd63d025be022a068abfada236375eb3ce2e7ce73d6bac60fda3c39beba3721b472fff6262c3a0210cc1fd021a251a626f381ad090897fc5033cfd55d57d3e3ff960611a1fac729c75361061a6ee0b8002f16ca644e22d3653226156515fb215364cec24db77fde241652f8afa7b61b5270511362b32c1c6a12637059a29cf2e12c64ac9c2c27518bb4fa687112a643cab36ccbad7c8b6929d1253615194092c62fd70bb916cd08ca49803f9398d1eee1ab13d785964e7ce98299f39d012b46d215c917041e6ed816e07ee34fc2a3d02595b0a93638024869908c18c434df18b3c8c23648bd14f3affb2cb7946c489c087c2ba1cf67fe18db3d93860d19945e499b3ecc7803d3c8c55f286be9939a8fca08413d34ed66279248ec83053a9504a94851073cdf3e26a623d406ec35f43b1c518c2f89ed987801d9fd9d6eebf035939cbe9dd4b2e0a523ec5bd44730f05d332b8d15924a4f88364ead5f8d3109911b3f8630b48015434be8d9eb1f30f4e1ad33224386c28c6e2b93796ea984eed980d7205807db80853273436f15db107b0d08913560e4f32c20ac9861a4189796c5ac3490826a19147af4423389295cbce335f48bba185c218030f46232e7b221baa9b522813250932aa02fa03d0d3e163099099ef02a5ec8d7c64aabfd06538d08569a9d2dc0fcdb5c80b51ec107111c0caf46ef3600029d992d722740e4c98100ec7e4e74eac0b675abd185d3126470ec8852b1cb2e8aca918d5ffbea8f6c4a53450cd1db0ca2f9b55f7d517814c02594f093f023b22e735c0c47a04bf2badf33f3dc5b842574bc121e3d6815374b62b337ad3be6464a450de927af7dc4be075838fc9521d05b06aab0331c399fb3cdf4b42afc6a812ef8ab2832dfc69b7aeb61ac89859f64fa6a4e411df36f44ea5e7e8fb11987d7bffdf8cef4a01a1c248eacc94a617dd2ae643616ea2247c0b8cde8e8db990c9c3da7b4daab1224e9f67bbc50745551e9c9d67a7d0f9a35a6f49f80d7fbc0f4b32f933f0aa141169eb33412aec0c265c7ae0681095df8ce8458f1282246f834cad5a42a1ae3fbc530fb5ef1c5c5e22c45c9aba119179ed5a5062c9c8a7c3f967482d40be72913cc86c13ef387a2f519c2371108e4d4c94537f69444b9ffe0dd02aebca55f80d3e5a4afbbfe0657ef302cd67fb48fda4065b4c6048dbe569d1f9ab6fcc1a7d1d543522865c16e8e1bf3c287ff01af8dc5b77cc8acad2ed88a56ec6326d0e4e2c49170da587e4bf8b0ab8e7dc34ced18cd2f288462e38864511618ea163adf800ff545a1fa69d6a36a18a0215d4b3501cbaa3c39e590bfa4093154d26cf3ec2a0d4fc490ffcee0bd4402b72e32de4b1278176f9466ca4dc943bc4d557c43b08d55e9c8603a31ef576194dcb7e95c329b9eb6772c17412d06bb041b174ce731626b95c37d9a3611b7d8e8ddbe3f93155cdf0de124a96842a013b043fd9faf67b6c30a18ffb2cb24bfd1f2bf9710c6f3b5a675e11a71288bcebd56299aadad2c290c6c70fb9645472fab19c0e1a4d4fe6cd5b8b089117ba1b3a17c8ccb7bbabc92f42859c5a1fd4009c001ff30267e669462911b20a6548342e570671081b1b7073440d62a352722a55bee8906aa8c8188d0be941c227bbcdfc531bc43297b85967910e2a1949ef75f1395708f5b34df29442f0e3a0b657bf6f115d4f4c26df2b7d5bb6a8bb6b78246354c5d04348903daf92e9358409ad5b4c503eae32a8cf07c12b6ddd61bdfcbd5990d3b4abdcb96fcbb6d55dfca5f2214fca5b3312ddf3820d2c09d31bbaa7280bbef529b1114302fe7fb2a15d32ac0a519a90c4634f4f69b751309adf4521391c8eede01f20974095908af972ed22ff0c31b09f1c31b51ffe18de6abbeb9014917e99474916ee9275d704652ea35e037aafe46d608ee4817e93587a2de21042a912e2ed2714610897491de9283ad0a44dee0215da4531496de52047e4ee4a524d525ead2231279e38da43fdd819edd21a4ea503c922dfd8d2c1d8a3a1ad919c9c4677708a15e5d2656f96a051c8d44235b7a0777aa4ce51d1522180370c76f3978dad9d2e18e149bd81448eac21f259c8cee062a042db4d0510535650b7c77ca16d863433ba8196b14c3881d42a8be055901772f5b0e967ffb6d7103147c800c60b0220c5a8ce26596f049112c0225a594649139e1ecf94d290cf5199c80e5bbcf494dd44461c8452dc36bc27ec73a18bef73cef30e6e41e8db8457d02969f7462d09c92a6924a1e5cb40819e908d1929728b0c08023010cfd0235cb803d20c38a1a58989104d00a5e8338e30d30355e6688649c05c4e1cb090c3fe79c73ce396dcc29278d90ce09a9192a3ac1b084565440291f0fb76919c6ae1139391d204284091d9d268a1479c28891287676a44082a40a2a2899a40af42c8ad2305e0181f42f0091c8002f2fd5b4e6b4aa699a6e8842c950d149869661ecdaab4e16456b9420bda3ae0d2184104208219424495fa04a5392a44a5153aa965567555557942c26a962b9f6aa9545493c44a962ce49a24a0ea3e5054b68450594f2f1709b1139391d204284091d9d268a1479c28891287676a4408224074992f8408992213061a284264da0e0c4c914b8c9a2e89c33723049558d151550cac7c36d5a86b16baf5a31a1a3d34491224f183122832859cc394914422850a0408102050a142850a0408102050a142850a0408102050a142850a05028121449499245ad895a93ca89d22942394d92d2493f23fd944eb74469555112957ac2a0a213cbb55715804864809797181898918c923979c01104aeb228698648449120a9b1a2024af978b84dcb3076ed55278b7ac2881119ecec5464c0362e2084b4c19b7a47497082154ed6541fa4a88b4243142587d1f28225b4a2024af978b8cd889c9c0e1021c2848e4e13458a3c61c448143b3b522041928324497ca044c9109830514293265070e2240a0c68b198a44ac46d5a86b16baf5a59947413050439159d44dca66518bbf6aa41f07032811e513a1f585ce087163740364815d1825249ce89b260bcbbe1ef1890df3d25faddf3c1a33a1f46cb0b96d08a0a28e5e3e1362dc351ecec488104490e9224f18112254360c244094d9a40c189932a4489b2052cb0b0aab4aab42c4982d292248a92ac5ae521a6ace4a3d417a0a2a42a0d9f689a2e75cc4d55af286ab5c8f0da60923025b144d9a2a293f4e4c993274f9e3c999ee060f2c38e2612a08212f518bbf6aad54846c9037030f961471309f07012c58849aa667c3cdca66518bbf6aa9545199193a344142755869661ecdaab561625d5f8c8e0c46492aa1b5a5eb084565440291f0fb76919c6aebd6a25051224394892c4074a9414214a8e911750cac7c36d5a86b16baf3a5914133a3a2890819249aa6058422b2aa0948f87dbb40c63d75e153651a4c813468c44b1b3230512245524490243d0ba814e45a7191f0fb76919c6aebdea645146e4e428418408d4f140aa0a4d2a3aa9bc7b59796780d0bb1a2cef6cbc7807d3f22ee606e949cb93174f589e849eac3c5179027a92f2e4f3c4f3847bb23dd19e644f3017d0889c1cd801224420133a3ab08922459e30620446b10377a44082240749926c1f282902640299c017b07620de10525d0812785e08121f1d21bbe86274841e8997d111ea1d859f45511ac62c20901a6a452790f42c2a6b18af8040fa1780486480972718be7b99ea9cea9ca63a55d5a49f5355595635a70703a344caa95001d33b6abeb3a47717f5ee5aef70f54eabefb8ebddc7be03dd772bd83b16fcae257b77ed9ddedec9e0de05c0f34ef479278094773340ef08b0697ca06c519486f10ac893f52f0091c8002f5a8e81c9f24806e707e060f2c38e2641f07032811e513a1f58fcd0620340a01139391d2042840968830eb4217e82a26351142555735ad429a9ca43c46dcdcbc469515435c1e9f0d930f70463dc1311d2f4a649424114c5098b44299202ab272a156dbc8727be31a59474ea396dc42989883831c69c289750a9f7dedf8436bc5f4a29a59472da905d74111520a312fb2dd181164b741065c90d50b0df922a8aecb7a40a8965b2d4d3163c761c887d061fd33747e06fb0c60ef54c767cac6ff07146b3da2b7475c887edd981d89ee9204766b4670ff2e4a581c882683ad36f3471b04ced8c3607274f0cdbea98a6cddca7624b1330963475d180e99c43a854b4f11e2422c6e801c864094b24233811030a842524098108a829a7d022db6fc91450a67012840a7fe51c6017fb3d1a2fc6071f0d1c4592b202ee40ddc4f122657529ebe577c81bd7edef6527925c5cbae06a652c5d245a7160944e3c5199b0021810a4fadd2370278290c28c6017ee131cb50ddc38702019a178f8f92acf4fa03dfdc98ba208f0a4c3963385e98eba930ef9a07dfb8cf64ddf1c997ea3e949cf68972ed535fda2b629c02cf2157335ce78b4815dca8ba6df63b9c3d9d8a3c5019b735e87b7a7c662e62efee22ccb3674e38be517451c75bdc3d5ad2a2595924abed2ddb563d472c68e9fbff14672fa01129010030e4c700512f0e00720b081119a8cc77733766489efb0282727a7082d727246cf3142494ece28e6e4e41891338ad10652ec5067c00c74ac485112355d62d0231738fcb6904191499ad3f4b04ca494f097e5800a68f842163cc085113e100324d2dd01deb93147518262ec407d32a28dce010f469a20490f9ae0640842700208231995d8b20b1b754b292795e2272de08ee26112edf83275072375f7944812484fb0b6df921d223b3950e8bcf71e854122384934462a46f9628c718601cb8a80e1e3b1948f92228d5353919a9fbb4a1b52cab89fdde1c944b8a5d40f87c2f985176d50d025b4720a413e97391fa46413351e5e73421c5fc76d27352016100ba9211743c0f01dc40204923da828184a69248b3aa5ccf15ce6054f3f9f0d5e0c68765006ef600bf6fcc32145803b98130572e0c50c81f790a70049c88b913a92d2893d280c47315f40de86dab8884de98ce0d19897600948f06c9867c9025f46ac7103009e0b0d042c60ce39676c29e70d5b3e525092424d51018eb10a0ca3bce1f25ce20b8013d0032b7a34228f1d2a55c0308bd8a4052d10830a96b88009ba0414dc9217e85021f8b3df122355d0e1054458f0c412174c01062619a5025ff55ce0df7b0f5a3778815858a1027fbfd099b9686342ac928514aa1875a2fde0df2f6fe0ac000b231c388292579af8f939e76b5e763cc6a4803687a7a190cec9882f2f34be44b9f2c4a9eef0945413ca84ce8b48f0ff384ae135852df08e1718217481095b3ad559897104ee6ca4d42f53c34451a6a139d04b40b2276450c0f03672d3694eb08b2e6ce47eb607aa1f8c86b1314998172730a51a0aeab2467ca1e00bccd3322b1c80900631805a4c2278690812a52f86d2395fcc9c8f468c9431be9808dfa301330e8492905a801db100f24517f8228c514ea941d2e5c91d54ab49852bdb12f83d461138def3ea12879a3bab3b2a72e77690b1f1a68fd87e8333daaa0e45d8f534fb3cf66775d09ebdcefca248cb54d358cef28c2c63fdb254eff66ddbf490cfb9ab85b05e3f65283cb7f4c7a393d8be9d9a7407800d5fb77c04dcb61ca97e8f8611367cd5018e979adbb6736fc8f64043b8ed9cc61a24b35821a957862c95b6feeced65e21b3d96c7eb3738a3eb35ceebeec7ae9ac6666e21a677d606ae4b9fcfeeb8f4f52138a34b0fc16ef57b2e9da585984e41713f49d8d5495c9797b68ac017256fd8f94be34f235864ccc02efb15e08220955d77ec8b4608eb1df521e48662feedea08f91b9c91fccc1ba02e2d0e3b9080a3e9d3113839a3236e88e8820750be500634a8a18b91fc109c91d443a44f5a0b615dee2a43412f65228e785d8c88a88ca84e427ec8bcd4f0e91b6b054e4c610212f0800846464f0e911f32044489a091a660cf0fa1935eba5022fc24a60f9126893ee932e7293c125f1558ec4ec67e3083d91545524fcd24fe11610c4d62ce861000c29cc20e93dd7135ba17ee48d5e1fdbdf7b278bd8c1f8d24bb6359b9c16f49153b9b02652f06eef868e3c538916489fa9ecb03920468243f3f84fe0005e87076f7fe10f04ef37b08e86e76f7b0780a6fa8bb1f43a4cb0fa153ea2440a321f25327418d860c91f490f7864cbafbb1bb5780379a3b408a88e764470d439870852bd670647473041e12312355a2be0843fda00837e87783e2a4698a24f1b2b7b0c6bb0182baaba160c626c0f0f032d9f7828e33d282f0fcf39994835260b63dd4339e7ffed137dc3d3823a8bb976dad7d36f82d996267db1c76bbb0ac1d3bc6f8de7b1ddebec7d976cbdddcdbcd5ace24762de3ec4c1b00da80dde6aec6c62e2331a667bc403677cf490d9c9d6de105aa2c6d435f666451145123f9b248598193c05912aafd8e4084c97e47209264c760dbfd8e40e4031bfe7a19a86fbfb9a40a2752e827534339f683504e0554e1514292244972e2444809ca2244c7b2028582142b301286106c4127055a884c38e189eb042449a4249c40074d928881063418425c02084ec082c589101d2524499290b8f58422242a49941a21822b4a10062e8820053a50a0aaa044c25214b2446a82113e90841b4c2d2c31210ca43348b94327a59a084b4c25c072bf255430d9f0b8a37eb0c48454540103f9b7a59438ec805e8808783171bf0780fd5eec77cf7ba7aab03bd13b0e2712421192a8232bf06e402e20ee3005861a6111ef60125c5c3052dd37854da0199e4b7c1154123bc625903c1af1180c185e272260872db327f2d06c49e347836616d892c23f709ca2a851b51272541bfee5e54ac0dd8b0d49c036c83800870d1c8b0c094c5ab3e5610fd89e522289113e2ada90718a6f09a5ac734798e18e3146239215f11bc386a76a13603c1a571c460d18182fe65dd5f4a49e7094851578a03e7943a2a3d168ca529e73d48415f5bd98e9c5c4572c4af8e4c691204c5261bce013cd2977bd543f88845d42aa96b8c174c112740957d85212ffa980810e28af41074948c2066a9841156208aed04216259028494ae2087a2a4949484a2ca1a209a90b69ce29823d279c54e0badf122a88ec4952518494840b1a5838d467eca953aa67ae57fac6faf59b7a7b9c1194c719499f263d535dea9bf8ea37f254bd7499d3b4ffe18d2c8d331ad9777887a6e38c768426bd43888f1e3ca4cb84482a0aeae8cc96225e2e25f692b7727c95f18c730af372669ed2373e9e7479d2a5e508785e1e99a96e8ec4dfcc505a245d28a5d7f046d3291de448101d0282ba754b07a9349e3e437daaa89beb50a40ec4f48afaa44391d2a18833a2f391f6902ef4534e123584d9947ecbc1f13c68072abccba33159f69337e4e367e4a3be3922fd464a7a469ed237212078d0c5686281902d86a02467241f758802216f8248010d4a4ca12467247588ea1dd52998ef7ef2c68b155554c0f2934e517e912ef3530655812111900e303cdc9d48248d80674c51ccef2f531c8845143d1929c444a38c17a307ea9321a9097a31773f1cd265fe08f88dacbf48972333f1d56f8eccc8c7df1c99a12e6fe99b0b4b9719f58dd4374f33b9a68cba7bc921faea6f74e510d58fbf7490517d4c26e938e67998f63c1021f1c647c9cc7c5aecf9d2b0e724d179074cf9eb40c85f3a48d54766a8c75b3a0810f1950e4269ac2382faa4579f915e1dbe9a4ee99bead271468fa242550e41ea331545ddd2379791f08d280c05dc81267d94227db43165cc983142a9d359fe2a0d5114cc12191f36f1c653a223dd01d1c65b7203245b628290a8c5156549122676f7b2d81235d1245bfa0ce938c8624b35b6f4f7031c5147c073aac719d1eaf533d5eb7ca529f94ae38ca8ee6ce6a675d7288a22e9108aa4cd416d19512459aa61a2167027a39311f2a11e1e887aa8831c9981af1e24be6a20aa5b3a08b43b8703933efe511df241ba3c10d3a30ea2831c99899f1e64045fa99a631881a54f0fd1e38c40d2653e44f50e213823dc52047ed9216fc81ed5e76164e6cb9e72247daa967419553a44f54b932d07bfbccc4ff9491758448b18e5121335271d643a9d7408fe654475489efe8d82844252ef90ac1045f945bac4cf0caa228274902312c1212fc67e7294982a347b65c041abc14687800d53b6c0160779c9fef046176e3c44ba48b67a8d138cb7c3c1a1b2211fecb1cfd0e3d70947213fdde6d0f4379aa498b8902f7bba5abafd107a2560eb1583912ed3b1fca44b0c23f076ee21799c512c225da687a4de2124ee4897e9d18874998e338a3ad2a5a588e940e48dec93f6e990c8e4f9f498242a79c807e9f63ce81b6de78e09f9e89054b2a7bf914787a48e48a2687a1c8daa157044329dcb40a4cbf42d5fa1eb0232fd663acc813bd006f1860a929c9c9c2246d3a1101b139ca6094ebf6444323dda603a3cf2684c476039e9503de60387bc91e950d5211fecb103618fe9204766e8ef8348980e427fff46d3794c42c0e2077b00fb09c10a42f60405ae971145f3551f67b1a763b3ea3c1b6a35c43f1993a6894da4685581821c2914810299b205e6ac8ef9d08ba2ee29918c008318ecee29992023601d32a228eee4e065c68b48c483f962220d601218548b0b2e34f0803c1ad2b9266026441b3c7ac0542f06da08d01cec869ac7a321dd1302dcc11d2ea44b1009f007860051c3960e99f062de968cc02e6c090b5b8253d812cc151485310874b853c4c87604c2e0dd80813ba01e6c090652d1551b3e2e9ea5d7714630e403f5ea33d4abc757fae648d433d52f7d63bdfa4d0dc58b2e306305f5d579b3bbf98bc3a4f84ad7c468b2438b5daa18d6f3ddc66cc214fee0d3e363af384bafae395f591df438741f84ca430f82e52b9f1bcb74e8ea8c25fb8aa6d9a7c4f97d9a30465d18cd308b4f433ea83cf41995fad0fd4cbdd9ab6aa9ab5fa2e866d38bb5b831b6891b5ff8c21c8665f71e1fe3eecdb00a6fb63667c65709628566fa596daa3c88908a0e62056e6fea9728ba7ada89da4b7f2986ebcc280dc53b2db51186ecb77398db6cc46f0751f65ba24487075cec3a2f2c744379e52a3984f34c085fe5599e5979e837fbb0821fbac4fa258a264b433e84bef29910f615fda4cb8c8a7681987e89a2484511d52f51642f1b2037747e620a141fbbaa5c10c518ebce4776ff32f1c417540302d937a9f7288cf1afa95d47466d76edb50c5b4c339c43d9eb314575785f1dcaac8f8d6f75e7634f0d741dd7803606ededc2174ef978eeb5f5da3aa9ecb2c35bd34e552d77207cf57db9393bc52b985e6562205096bb1a10c8c7bedfaee1158d6157b32e48f3a159ba06e403040225d9e163bf3fea5d11c5153200ed21de15515c11834fcc5c10b17a5dd772a6bbb971764d5fb86ed9afd63459eee6a5b1c4d95bee6eb6949203c9944bdd7da28cd8e7b14c3df732bb3cb53ae6311df8f558562fec1763bf4ea5f60943f5f2f73387aace815f9f8576c0afc737377b6212367337afe9534cd36cc7716a9bb8373d3b9b28e7b1940fe7e138ecd7eb95b14b5e585e5262d72bbeac6b5e9ff966cb4d07fe7d9631dd4d6873d07487b3b503b9fa8a22ec5ab6d76fde7e9f692a8a30ec37775347a6e72573675d56761cf1b7d3d8c4bdbde3fe8e3dcbd72bce34d9cc7447c4ce7ea98da91cff452c23efdb1977ea9b1e02eeeb38bfcde53927f72bc776afe32c77371bbbc772762de39bedb3dcd9445caf79e59b1c585f57ae77c67bc53daf296d805c3792ca9973b36da08c291183a14a203bb396a21d906b8fa3089fe60c1fe34fabc3525194e5b7eb9b174771d7a7a63cdb3fda1fc5d1db2c597bcf9c93da486ae389ebf6ecd26a7c09631d906df1a539749f852e904d5f6d57ed468fe91845606b35cdf64cd378b28ddcf63377544f6d3df4f6a35df6f8155b8c337b6c71861f45d9474d8ad26cfde60ec8be37841cc18ec447202a07ecf81e53d165ce8880f92d77d4c6f48b224b331b9a4efb3bc6ba8bdbbe5eaac3fd86bb1f1bd359768c1d945f74c92e23b74c23c43404dcdcdfbe39c0edd143c06d27adb7d9732be7f0bcdb6379bbc7793b97b12d67bad3b48dc4ee6dce806cfc9b7364d6e67acc46daebe3c7a38400b26de2eec213b190aa5d7c4b77df969453eace3a761969d1d4432b932fd317831e963b1b5aa7ade4af1de0de2e9fede13a77a9fd73a93b0f7599685dbe5a995ad639f96b62427c0fb1b2ad5b8b69ebd33ad68e5d5af5f25466afa15b7388a230ee40db0a5d8de361c76edf63d7692f59daeb331da3085cb50da5da2d4da31dd334dc2d1bbaadaa6de8d6249783d34feaceb37dca5fdb26eb2d0bbbf47a6bd35d902d3f7ba8d62da6bb29ad97634ae90496d17a55fde6aec7be979b96e1bff72d452fd862f9fa031dfb7bf8ef719ba6ed336ba5eebeedadcaba8cbc32b14ecbfa94f65612d85e0e712f554d63e13c7c9bbb1e5bd6cb6c8f6deeae9e6e75d67c9db9eb21e7ad0db5d6ab6543f765c15d55d0884c8ffd26b53984e8b16d6603ba8846a8f635773c76c5e636b9e999138b2ec63cf6d4dd7d7619b9c31e4e3ae9a4937ab88d52dbd588ecc7e3b93e1a77508ac71e577befb5cf46ad0e7cab237bbdfdbcf3ce3befbc99aeb7a736df6fb9b3dcebe5a518ea10761ac29e1d5314c6d686309d23d355773c36fdb5973bc69afbd534dcaba6d17ea968739aa6afcfe92f28c5f3f178f0efebf5e07bab3dfef5e07b5bafcd6159c772c76363369e0c166dd2d79963fb8b229c31d1b17d47c67ef3652f299d73dea33b102752c933ead8b4a846643186b1c57f16639a3bd1e6b1afe5d9404fb140fbdea3bbeffb2de5a379f4a5cbf69b3bed13c69edfccdd937370eff7d8f62c773cb0b6a758dc59ee345d23b23877f536fbcd3c367e9673d8df534a8fd1ae468459d1be6c86dbaadac221b21f0fb9731cc00445c04274001314410b9e2c62c603b7e7c430ddd5eca93bfaeb32f2d90760a7b9d2dc43ba6dd8359d61d8b18dbd0a6903aad8f31e19ec79ee751effd83672d3709f5477a053b607cfa7c6f8299fbafb9c8aa2a9399a7becf7f4f566e9f0580f50b0b1db1e28b1e73d39b2cfebf3d4eac07e8780b13180b3afdfd34aeba5efe7efe7ebb3dc5d7f979607fcecd2e2801b1fcbdd7dd5f3a2796ec7a0ed817eea50f6f97a2c87b25fc7b477d4beda4399c6f1aed75fec3577357b5e9f2af64dc7280263f3f855d3e0679ac61ebb4cbcf2ccddd535dcc67aee008f3d90b691dbf3143d3fda466e4ec7e47247c49ef7d82b96317a893a0aec4beed943a727a72f8b8335b14b77f43612bba4136948c3935687b5af63d9ba96bb9aad5dbeb8e1bd6daf1b0fd85fa42c943e1369bfd95e2a37cbf4c5db661dee4bd358af392c5d9f4ceca1c2fe2c7699085f9728c962d76399ee7257b3efb7e363ad7dcb2f8a34dde17def5fa42adf36dd51fb5ebb4a7ed145d332f2e60e7f7a9687805bbb340df69a037bad7bfba6bb1a6e637fbfd995bb9a8de97b9a2f1979e50eeb1aaebeabc700cec67ee50e42e0edbbe96fa6efb84d6d0ed8affaea57ee88d855ab0153bbabe1f6d51d11bbfebdabe1b6fdab1956b97340c7a366bf294dfab25003131c61c3a96bb83d04dc300b35308111760ecf969fa8b1a0be5861c078313060b4b4bc9896964723e6c58b47838525147a31a1d0caca8b5959515179312a2a20d08b018152525e4c4acae7f3623e1f8fe7c5783c1cf762386edb5eccb669da8bd1b44723c66419c62f06630c7b311876ef8bb9f7d18831d63e1ad7f568c4985a2debc55856553d1a3086a2a6e9c54c9324bd182938872cac73bc28c2300dd38e35ae7ab6946ddbb61f94acd931eca0994511e6b839b76dbb17639c65598675a781b28fbbcd1cf3070e3f72d0695d36d3daf13226608fd98bd9779665a0c70c7a96678c31c6992056aef2aa324dd3294a85aaea644d544ef99425a9e62aaf95fc4694a21495534e65e953dc29f9c92cbb9559fdd1524b2bea4eb4df3595afbcae5c5a1d588511ceb992dfa8aa3c1d98b6b3aa70a05ea59563ee7aec78e57b459bab5f06803654b77257634b87d933be586798dd7bcd8cebf3d21dce8bebfa64a92c0ed5b2582ed91e5e6495c36861d97e6f59ddc520acdccdd896655996756f6fadbcb23aaeabad68caeab8402ba05fa0eb4ab9b64da14f01f1a0f2cf46ad4bf77e52fa6cfd855df976ab43f4f69f6f3944cf7dc3a60e51cde96e666fffe86e66666393d57143a14cbb6475dc949b12ca1dce0e1d5a1c42aff25eeda1edca2954e532715bb13a544e358dca3f9a2653959a193be7c8fa5ddbc8fde22dda466e96cfbfd01ddc2c97892cd6e763711e8bfbe794c5fac416877acbfa68cea3bb69d16959955a96655995fb277733fbc3e90ec73a018e95cd313fb9ab993127bb03dca1dab4d24c537fcdc898659bb6695a8558a517cdd7abbdae571e60b1533e5fdf477738fb33432492214363d99a07e4c92f8ab48edbdab3a93d86e718c7b8c7a33b2a467e5153f9f44f1e02ee954f9aa6fe3a9d3647fda51f63e53377335b7b8d21458bc3f6aa69967dcb1dcede5ee5a5b7cbc45016cab06f15b3d7f2fc4aa7a26b66483608fd18af311ead8e940a23948931f21bd95c411a5a1d297a5678e9fc46a09c92ebbb34ee1a4ef62a3f1f1dc2f1f6e73abcfd39cea6b9f3e46e6ecfb9fcc95cdefeac0767cf6c43f7a60d006dd04e735743cbd8335c3363cfbfab6dd5b0da99d9ef8f220010b07832830040c0620a30a256e21e47d1cdf3b244d8f3f16c5cdd282604b58760d918c0d936b3aeeb86f067081f7b086beb6ed6f6b1b8aa79344dc3300d9bd18686f1b15c2f2d4bee341d4ec92fbadc7b7f6c9b65db5fbc91f26ad3dd537eec4c77d85ece46e278dab7acd19bbd634af1af6c4f81d86b2d1f5072115fa1622bacb082eac8aa64756418536babcd4e9f65565861851559866ba6c3fe3e3b96d9991ddbecde5a9f9de6c86e7f5fd59b6599cdb22ccb329b6536b3c20a2bb22ca35607a694529a65945a91b38c665791919852bac52c631919b71556586171b036e790d83196e11c14fb0bea9371e775e9eec7b5f0beb0ebb2acdbd94c2bc5e3d1523e95f35cb74e5fadebfa27e5ba1584ca41b7f0b57a464583b4c5aedc59bfd6752b773fb6855d3984ddfec23a84e9196dddee7a76699bb9efd534dbe7d7dc97a56de6e7fa6829a7bf2ae749f1783cf77a2ed6613ab5051d9b2f08907ef281666733ed297903746a6aa7e93250a6a4cbdc36dd11b1b773efb13156753e40f94917dbe3e349f9c7e3d15d8f6d816c4c77d9f13d07651fd92f87fff6a6d94c505601dde6eec7bed76fc68eb3bdb52e5056f995bb1f332ada66ce80b4cde4f103fed836f26565c03cf3d6bb7196e5e1f0a6dd6c62d885719472d683b9eaa1ffd0aabb1a513d9db75e1886d15fc7b05a6bd5214d5fcf9efdfac568bd34f897a6f1fc8a44d7ce5f500aa5f4d24be9a59f946277d23b29a594d22d773cf6768969dabd96b767d95eda07f4f168f85ee57eeaae4684bd0b9b136b1cf7f1604d65f210f1d8738aaecbe3dedbd5886a44a22986aae50ec7d6b20e4785d9d315bdbce0d8d923a5dda75fda944d1376efbdd8a463480da6de6d9a364ec31b3e26dd4fecf2344f3ae9a4934e8a4dbf791ecb1dcc9e6658f40b0d02e13c64faf42b779707edd7e1747a699ace4df7bcd20bcf1deaef943b1c7bc2266cc2266cc226ecfacdf8f0defc22ebeb332ff4f50ce3c1636396bfc87ac8a55f681c1bc78b03571dda274da3fdd234dca7df5c03b3274cd7c0506ee2e6a4bb143d3f9e6dc2e844f19da6cb44ba4d779a263aa7699aa6abd68b63678794bc917f9176fa1a2da7bfbc11e393ce1eb4bfe5d85934ce9ef665cb35a2685ecb18c62dcf3dbc44118401e3fa3330b48ec172189f69f95960b45ce3902e93c280f199176781a187bcd02c1a46bacc18f9b9136d986bbaf7fee63b613a1c9b5250ca3f56e82079237fe56365a14c4573a0f99233cc95f74a2bbfad3b98f30f23b7fc45d667c93176c881beb8fe1096c77871fd1996c780f1fc1918cf30f29f3fd37218cf1fd21243e7b86187c3f660750cfd179f897196b7b400e0325a404300a065689a611c8725c7c82cd7f9c561767d75affb0aed0e2f5144b1cbc4ffc587b49ce57ff199eb179f69d167794b4b8ceb16d090185a6bbc9fc57428e443fe3f03e32dcffafa49972130748b7ed2050667cbc4179925bf06c6098efd4ee14986109878018c0c2130e102950880272a97759d5ed7afcbb2ae4bab340f9769bfa40fb674d863b72eab2f2cbbbda4d675e10ec8b62ecc9e62b7b798857dcab09565b79895498f054ad13e9a6669d675d90abbf54bab2c8dd9abba28909523f191cab3570cb3f63d1ab6661901f32af9087e34a6ae6e5596555dd57c31f7d8b1b5dfb6f96860bab39986fbdb94d31d119bbb07773f36fe7b31d9efe7eace66df5b1a5677371fddfdd8f79905fdbd98ea1f90ee80a4e41fdb7e7477b3afeeb4e367afb2cdb6bad38ebd7bb2bfcde5b76d7e5bcb36725b966559216017f658c632f2d7ba806c0cbbcd42c02ef665ddcab295ae2e13e1674d1398cd34ec79c11804fa45a21d173bdc38ebf3b13c1cdeb40ceb6a5eb03729953fca03fa94f6d8e72be6f95cabc31e0b82e5a1bf604c4355cfb0e8592dbdf6f4ea90f6fb7a9b43dab35b0cc3309168534dcf3ce952ffa4cb8e6d5f755731bb619a06632f1bfbcdd8837954300cbb17fbc5eaddd17de299d09f74815306117a0fe962597e3d297ff206e82c209c894e8308bd48978861f43e655b3996374297292a2916f727370dd21df5f1fc229174b1db96675874c8e66ec7a6598675cd0bf65066f9cddd8e19161db2352f7626a46fcd0b115a18d9b1df1f25802ba268c28b00ae88e28a0d0f8a9f32d42723bbcdddcdb60fa124a824cb5b4793562a562200000004f315002028100a86c321d17040901319fd14800e829e4a6c4a960a832049511005418c250902c680010003022222a3b1047ef28b8d00aa7b6bf844d17b6c40621c81b8c899723ee57820b0af8412e99fd34038d0e3f9675ae8c7e86d43ae687ec08f9e12958c506ad7f3d68d34e4443fc8a164c4f326af7c8bab2e177545924a69e24dca3fe1ba308e0cf652bf4569c02fca64c8e541800f01b23c36224d900904a64a0e0e3a4231ca10d2a2349a7b782570ac4cee4d05203bf67dfb2671cf3f41673577fcf71f1341f7a1fdee7f9e77b7b08b739eddb30abd204d70fa8b2a7344296f79898009a051c1688310185e6cd95685784d7704a2ee17b5e2e43b34dd1b6f9755a98c060a921b88df55513d6199993399691295f0c7d95913366432658725a7105e10dd5831c69ca45b009d7820783ec640c13e861581eb77636c923c0a3b0b743833251d8fe8179400d31e0b83d1edcabed83dbda0a3eeda52358b6270fd8d15ffd0d9757a7e3c92c5e386ebc471db90ed4c914f87e31593cc05865d85547a1d76d391ac04f8102645a7bde3ef645c1d73a1335746305066b1fe9c10e86df2066b42d0d037e72592dab1aa6634ca02636e1c2cf1b5eda6302b4585e16d1789a83fed253840bad977a712bf5627f6ca0bcd7bab1cb3a7113d993272f15c353a4d96881d8e29ef1d76fc9fc45f8e5553b5dbc1a15c3289c28a0125da089579702885c2202d1e607c9ec71b1fcad05746c6c6435bb76973e78082c8c3a26696194719870212d9367ca213b83b17529233a032773a3b1084880daa388df9204045c35b5498040c871f2d857ccdfea2b5e0415a60aeb90b054da9464a027be9bc9d44a2d39e285aee7c1975e5242c1c8b7c5ecf33c7a997ba35c03e98ef09ee3ba434bf85e25b910db6cf95f5ab6be3da183be0e2a54eb5c2d7ef09aa4ab2cdee682875fd3b9be7ae6b3429ba59cd31bdb6240adb949ea2d584a121778efc0f07c57b2165d1a6a5cf0abf9cf8d7e8af90f281c84e8d9ede91c95a82ea4b95a1a39d48a2f5405df5ba16f60bf2470eb29a271a17e722444655695e5715b8dc443a3265cc957b8f6b3ee70e1a6f921043d961cac4eb3ecf2c04dc7398db1f227f60fd224e6594debb7edce039071d8660487e2d030eefe87eb97b543782ec2084d601d1557c9e534fd7b70ecd877b8579bca6c873d5cc38c04d854889bdb3eb4e391f22b63ca0642cd05ae4c495e8011c7c82ecb84701fc005d4665f578a70524e00cc0d1b270287931959f6d2e1d1d812a9a38ea9644eeae63a2abf271bb8a780e2ca81d764694f73b37d1f1d158f4e7cd569929afaf3420cb116c255cb4f657b63c123b6900364caf95107d3b5036399526049d771038755a5183fb8994f700ba8bb7b9c615eb569575af47bd0c133b98d8df74958344afd3ad3cca0ff65f3378dbd96c5e4943b99a0b3ecf3655a0c053b08ac66d851aae17487506de535c11a157e0b2345adb47eada4240dc0c1fb25cafb9ffe732a46c5f61c1955b4c1a8c7d6781e91aa0bb2fc1da2a2a7c9873f07d2ac5c089b01a487e332d776c3f8182809f66c09a726d402a80834cd2710f20bed03897fdf04675d5776bb1368fa277e70df8d6d8191329852097b240fbba4ee75d47e8a92efbf56b5100decf6f49a67859d5f372bbac8e735902e79af6199955cd424626e9462333bafcdec236052017a37a7b7becc66f6ae5a6f46b407712d38bc73681d009fbc78d6bb8985dba49c2ca7ec480fa3c94e3fc2e025e6ded9089a3b06b15ce0de518add7285be59585cc56c9d5a666d8e4ff9dd38a1847e71498ff03cf045b55fa3121fa5df3b5e9ea4d50fc57e2ef31752e9eedcc54e92391b23267571b25094c97824fd6e1bfda6167b84c4d7ada295b8eea3c81747e20cee94f70ef5587d53913e6234748ab59919d02c8a98c4e2d4a6a4457f324096a9dc93cec7979ccf321c33dfa7771436790f4ac617a46461a4e560d09aa164ceee3869d03bd071e0c591c345f9dcacbd773fe8b6d9ee35760b5b1889ca711f6af95d0698f147355e5cd7bc12b7f0ad1d9c8aab8542560b2e69ea606d656548ecc11043ceb4e00d46520fb140200cf83279e0b02e51542572643f198261767699f3f94a84463e722a6b49268d918aed85a8cd4ebfc92a4cfd46635e79f0845844377b60dc5f813695a9d7147a249f54682763ae1e2c594d9c02702f7177a8e5f3a4dfc109cab4d54f14d93ce5a41906af5d58d8a223e3b5cd41463ee9fac64a551782c96afae33bcae77508b6c361c1c4c8418923423916638ec90415022c6ec61de637a032bb392152f1b7df15c6419f403f8d98030149157d6f5cb1d408c6e5fd00eab38ac848d1bf74428648edd127983fc4576b4f95e21872844ed5f292aecf5b38ec2f0c3618849997467b6333bf99901267efae77656fc851ba61f15759210abc00a1f465976a7f18b0c769c583346d14ff586202d028e6147a9db7311ad0de1bc42ef5200d432bca8ee9762b0c56f67a240e7cbd0220742159dbe60235669109b0ba121541641ae7b2fa67e19cb950a34376bc089fbd06059d856cf6e188f7b5b6e8b1bbc9a16bcf9b8e5ae76082572c646192bc6823438c963798354c92d1a12555ae1b8de00dd03b4cc15a8039bb6eb6ac0dfa5461bc9353818a03f8cb061402936c83f0bd9986ef84171e467b37487a1bc09911bc6ae1368fa854d5bd246a683646efa2466276e80fe33b467e37245fa35edf2078bae35a0b3da5c61de7abed68c1b9f425d6e7e0f0ae8cee919eb5f784771fcbdd7dc6b0cc692616b7217849297dc8b2f7d5f8a646baa4f0e541e9998b56b22caf27b2704d20791ab736222b0a73577f81b4b1b315c4055a4bd1708993d74fe9e406c477864ff4796d7e9ab2169b0c08868bf3d5588baa4279fc4af33c3967821ae8410b5aed9118e83724310bcc359eb5117ff4dd31228055a1a7aef39d94749a3db1aa46401902a16c190b8b160f52211a361316400f7bb51ffab51c32c32cc4d38d0804b42d9fc2cc261ef91891511636aaf4a1f5f9c3815030a559a171dfba57b63d60a06483cd36c12d282b21e0590b6e3199b57a712eaed3a83e154b6f9d7658067980cee11d1939f23cf026cf652a0ed4aaba29e34e786724c949178424d5709219710c7a71473683047587e32580e9845681bcd772e1692cda0f8ec2ac033d73f544dfda62fb853e9949ec219834f1bfd80ce109cbe472e3f25778b5cbdf5b52226e45a673438d7f53a9d726d55332dce7d6af93b7094bc3e1ab4d7996579188f9dd174a25bfa6e71afc67c89bd1ad326bd6c1ca76d5e6705c5cb8cd94becab0628cafeede2a14a838da92a937a5b5f44bb357aa624aaac0734e2a1f70eb1b76aa105c824bec2ff7db8d028f3968aa0b2c409a724853179e1ca2c8366df411176980ee0a57485aeebabdecfe7c807a69f1f3f590fd2f53c439e0211d4543ce4d7539969aee720eaca91cd340d88bea86801c25429df4082bed5d6f5df5593573648dbdb79b9c2144f77eec9305f0b4b156b5da856e652d3892636a4d4fa29b4e564a901c13988299fbe1e7c2822069743a4cdaa73ad854f7a85a7c8e3fb6006dcce818e16a5fc5d8cf10120a36a1e17d2589e14580dec84a81c64ed4754f8f16413108512fb0e53f18f7e50941e1781f41843c0970a605651f91ae3b4b2ba5db51f90e6045067e67154d45a1c9dc2791cf6de05f2ae8a03dc19216ec427e9ef84408f23bf630871e5666c6027a83da00c8036ba47fe0eb87a309d81ce91fd229e34af3c2268c34b9ae34292f6e65d247fe32437964e6ab52a6f3a15ad8d51afcfcf5e56891f7b3dbf874e11dcb372d5aaa54d46bd47b9c8aa6c2815374706a68013da31c0804f61da5477971af2c36a77ff5f8d9a98003994b5c76e9e7352d9d3f71a070cdd0323e88d769298af9002bd40558d30d38ff93cb6bbbc5d64c46f05e3dbde90817ddf373586926cf26f585f968e6fbc8984a6a09cb8b7dfe46aa22d8e987c5561ee8ee2f9b454a3ab7d37057679fcd863d310c536ab4e794b99a88084de392a70961268c6982b9033135330aba2a227870c29267adb8aac50bc0f4e3744726dc4d2f6e1732ed8de032aa27be77cc3623246a1c991168b3e5c02337cfb6618f26b755c5bb8ecd7e87301493c02ac636093880145fbea3003ed51afbe15f091aba3c16f0f16fb41c1c096c9b9baa104bc07e88cf9fe209cfd4d1bd85ccfec5c00a2965885c6d95bb04a91b83054f5c60205f3c2dd11a012fc4ff77678e2324e20d93aeb4539cd5baea3a2afb42f859cd0e14a8e4455314f9a824b36346620fa71476247ab17463d6e2feb687d8d2f5bc59f1647cd545c54d7115e6fe97ebce9fb906afb39492e957110cb8d3d0b47b25cb7cb8b389f0b839a80b4c11c5f76905cc24069f59bd6b7bd82ecba4a04b94ac68bdfe42ecb12f55595be160defdba8a944e16ec2737adfaf7131cb783a60c261475147bcbf80f2767148fe9114504f262b9859b621421b0e73c67a65f89380f2ed73c8d6a86fda4a8e4bbb3dcee91f2828d5b05529013824208cb7c331b6854955c44fed76ca93c79f46319b1e147ffe40cd47fc053a637fabf7828924fa4369bbb9ed10d6ef453baa6ae383ad0c2a0358bf42c747cbce42cb77b6ae05ed5f263c51c3ecc45da42ceffb6c2c239916cca41f452cf39a57d0b2b2b7228544be66067be7f91220424d0a47cebe09182e7fcdcb2348b9f52b9e2eb40e061398cb4c6c6096edc8830526170589f5e940e0ee044c2f89c2e0e3a2bae55cefadfb0877e59cfe1e896f82e9e17ed5feb2903c205656656c59e6177d04871854840f22b8e78012eb6cb2d302baec1f855580407b6bc956cb1406ab0a4da687903fdf315531e237dd9f86780887cdb499cc7c5a0531e28adf4713609b1e35b2ca91111fd333d328bb7d551ba50da1acf80efbf888d9ac791a6b9da0657740af04088e17a4ae0de4840c76957d2cfb04d589e4d201afb9971ffe452c71fedce01d4821a490c612a75a819fb9e23e39bb918aa86889048747b098244c6aa1d04684e8e585806b4905b47520a3a0153e480b1173970469ee660172b9eaf9e1513a17bc8459d33f3e2c4961b885e2289b27a332a31686f89f02f701586a3079054841b3fc10ccb4f12b1d722ef5905bad6839465e85b3cd5b8f7665c1808ca73d23df0b884d76ea4cfffad389431c2a854cc69997d12785bf4e9208fa070605b4d43a3b22c080fc570ad8128d248aa32116f19552095a279e49039718fb42c7f87501ae70d0c69b26b8c511f1062cf8547eb93ffea6bb0805b5427dffd9727310df13926aa5d62c79ba05e6ff3c509c11342f434231f6ca658214d1b46b43c74990b507e2005a434a02c30909aa7f0651014d17196e8fb6713e9c5147557be3f664863b36430d6275afe047cd09da1e80d63d75f2ca22a7b4a2c3b0a1c90071504192e541f5f219b0e49ad30c6e4e40c9d55522340999d6b2320cfa7034f606c525c95a00c96175531f7e5431b281e4f0a6a6e15dd661c769fc2b46146e96dc210271cf7c64f7c16ebb82bbd09fb8352a88bddc1259991bbe7f254e319a96981b3a5f0cd9b0d8e6ad239387abe6f5b37dc843979fe3600d7018ae071a768fb6db7a3a1e4a8d8007e9181584dcdd99a1d9b9871d2367891c854df718cabf6887006d46ee48db1fcd4a36be56e46ee512e1f56ad81c3388a4bb31dae0185f6bb45ad483cad21add178533980916286012654ba44760f3d05b8f4c267ca2b5999e8941fe4fe0bd39c60c2fa1d4e58323dfcb98a25c1a91bcf2425262a74aee9583252e43ec5c6a0445617b07eda6c66f2c4c5007125980faaad39998daf2ed83231e9c31a110086ff8c67359d28320077c50b5b6e1350eb80cbeb6210ad237f4800671323c6d1d15e8bd62631a62cf3364712f86bf6a138de5e399daef835c0a0118be8d61ce40a4aa9783bd78c9de53765135536eac8d21b1b3808e22802d5cb83058c984d5b30483d47cabf61353c7d227907a8f75245c69397490074992b9ed966ae8207836fdd793f3e1fd42ca46db9a7ec8f9c21d7b88a784018dda1a4ea463938608b682471d1ad8739c6f05d46f7042b7a16e01ba5b28f7461dff11c4aa26615186c6ae6f8e1aa831783b2a72deda85e65682fd6c17b68b2c297bcefed63e30d72126f7a266938bb35146536bec6ae6afe49d9786c4aa684e458d3b0831a996fbdc1b17fa05dc8fa291deacd02d402fa0328c778855938b6db790f51165177da24fd4485d211a0471fe112a5469302695129aa4e576e3617b9a8ff32463d643436d01670536d17348c700c35982b4ab0df0c251e26dcaeea0381683723f3aade9136142d89bdf54a021f5c92f831816e67399d93a5d8fb7b082d749dc57abd8a4cde9733331af31e16c2c96c1703cda6495e56013eaad08246365ad6233ab358971a4ecb7348e5f69b95685ad1b4fdbd15117d37293598ec2655e4e91cbe2a0ccfb09020b756504fb1b0c4f0d2edd38060a6c85095e07a6f3edf29c5454883139a9945341655138aa469174cae9ab59d2250295dad5d28ddc3e41047c4957cb21857a16bcbab998f508a0315646028717f65863d20a540abe8c96c4847afb371788b1a24f09769140b14bcad8719776f61cd7c2db7ca75798bbce5d72d697f4f6378e632f61400a443151d2786d423241e12b2c175260a5961bca287cfee62cc3093aaac8c6d0bb6eabf3fc0da480f6e5cb6a1319bda315197af7c096fb7b04d18fa4903b7f1192f2250ac24a1f2afb1a39c632f36306b249a73e687ca60632351eb8ba8612264734957452f6f2fce6b46da7124e983426e17f2304cf75c0174c5c3e3bd4b8c4d905a098b45709e3786c42b7c7e7d7ba4cd0dafff10626008597fe9af6ca5ad37b9edda1d991962dcfba01c0788cbc755eb45e1c0a30691a0bec1519f92afaeb6cfd3197f273a9ca497c9dedff74d2af71850b206b1d6822851a4d262b7855a0eaed9b0539e2a64862f5896b73a113a4eb6e6c34790d9c3d08e9fa4b2b6afad6682785802b5cc1d1364dbeb9a882cad18bd76839dfd6efeb4288ec00050051481c57e37978a996b0c9fb2ed0cb579c038fe1dff09eef95ab7faa0b36aa20c59e021928ba4133e5d625df1fd88f19404e584aca9bfdf686f5447fec0f50ffb99e25891154d1b0f599f15bad97ed9f4e01c8e3bad0c8487b982cb5b22bf20615bead961405f493a02945a2224e4941aedbba7bb024143b29e984dc0788fdbcca1d8c9a06664363c49df31ee2f437ec28ecea3162cf24750f7061e4d69577e34e957fbe75502c79c5a072b3375612858100ffa3b84dfbbbae61e747b3033504459c15a2edaa8877567e4de9b22991388f707e8b61aed7e78c06cb6bdb9471e91d0ae397a895c4c54485512df3c1d05b59c39cf9402739f7c9f950b4a9ceca64f27feb93ad714c6bc8184ce25a9633dd21e9d088cba4d9b5627f520a244342a09bcea8a22a3e0b53cb6e0e411b145e1740442e8f5ce2e121b45dab5807467d5f2728c2d6223c300673110ff3f5c0c474de9c5323e378ec4e4b490a64885e6c89d71ff3a02aecace1decbbbadaa669d7b096afc255b749f7bb750d5e7f129920858fde2bd30755b1037e59f2f31715d54e23420b685aabc588d60360ea250de72196c031592f2f6ba36c872dd16d47907432484742cd443277a14473cc4907261a68e14a45f76bec444085e377523017f0cbbb7bd57683fe0067712a4199aac39b10837041182bdd33c21cc3a598b0f6e808e5b56505b7a6459d5030161f07e5f508605b6312ba80274b8abb1e63e65eba15e568b1698ab61060c93dcc43f299f4c8bebb5fe1c8d1cdcd2c77f5e4db0e1dfe438369ad5f3badc4c570e936f9e6d8ddefff095b8214471f60989d829132187e602059ec901eb8629bc4965483dba26d2c461f515088e740e0f24830829c149062d9727f4ef242e73e27610e7060f62eadd7a1876e55874734a81cb9810831c86af45b4d79a4dc24be1e690b72e5d10ddf79615d27cbb643ee1b794bbeafe01e8579ab1551c1a6c0daad4e5ed2416db0a4c345f2b2f90bbc0e1bdebc74326cd5b606e3910a716caa3ffd2720273be7a38a6df453960ce1cf3b6ee1a8f1f62f62e200744afeda0602eed97a90f7390a64b4cbac23cf90cb29cdfb49503a332eff19304be383cc0c82af0501038e701bb6da670b4e5a6b706c3c92e138eebe80f2c829cea5e9483e6384064b34b01c2b7c3c1dbaa4bc4c1ee6c5218fc37abfb4ee3565d25c5fee67c354368157aa6afa001c5a0569da93986a163890da8109fb9eaf0578c2d8a7cb6aae0e8e34fabf5416ca24019d1073b22cf0468c2b223ca3686ec7bdb7414cab060b1d40282ce9788abecd66e2673c3836e570918c3827f0297433fb1fe2086ef894e479aebeed2c2c91d1cdcc3f636560e5ec5804a32ae17245496bfa4c8fa4b2e9b2afdc9247a5a5cd2e9c6c825fe35bec40ba04658f6b24b0d119af91e02f552008a05f146f1335fabc1b3cb48f01269c1037cb63b630c34deb20b603b6f4e76cc196f08bc3c1048c2481eae7aa1b133ee7d75ee750828980ea37d0d6b1376a2e51e327dc3cd99b5776f588399aab3cb65f9569ec783f421e0bd8380af0a9743000171a60f76055305ad6a3985f3b69a3c5b52d57b0e512001a425e4d7030b0909c877c872f65bedec8c0f942e16eae2bd15b2e2fc8df3376110ed35d6226f1a8144fc45568f4e60928cbe013f63f0c89b98602d428749515764f367e96eb3d11a8c537ce78b38ab43b13d6e8c99eeda46a878888e0bfe9518da4f808349603d997c9d97215f5207dae8e564d21c13fa57003f99419ccc0a8a0fb35d3b7efddb283edc4129fccb334b50ad14dff2816f17e889d7bdd4d8590cb24cf9b9e313372565662c07de5bcf00807ef6e93c9856928a79b16946d7ce08d3301dd250a50f62598766198fed03d1d756b055ef84c403918b754ea56ef168cfbbdca292f9b88ac876d7a95a24b7e5bf578c3a96e054bdec05949aa6ab73a59daafb07c9a8b589728ba3d7650022c38ad69d56c369637309c1e75808fd4d70de893687f61e6b476bf669aba52d5041624c8f3dc8cc53311176b0db72ed63e03b02e4b8db4ac155562d428fd7d7957c6b80b267f31aa20a8d83913270e67f3e2c19165e9ac0ee7b315cb3c103bd7f5b18f6ae21c04a934ffbb1b3b241f9586df08fa8790948f142ca89d48edd4cee2f2dc6416483636bd2dda27b2e3ab8684d4e3c6b33b88fbda4fb467954e2a34bf01f31c46d8a54f021d4a24f45f9888332f4d6b159ff16d3612ad4d448fa8329047eeb76f89ef6265bb5629ee19aed39a5d1ad96c7ba4cf84b78bbcab4712b23a15e41338132e442abc27c11ccb45b884ba2e09167a659d1626ac6c2822b9490ffa42230d58fbdad4e05a4952c2bc4448fffb03a2159e22737b846dd6c44c64f4d7fd4929b3fdde04736ff59284d60cb23441e1f809643f2509b4d94f82b43081707a0f14651a25c6cfe9367c278d243c29f429fea3fa81e77a006fa8f3730f741ac89d93c959417643ff2583d8c2c2194f910cc7d0a982234c608a240683c7e9b619bf95d432a005fddc74223f075c9d7c9837aae8a3d55acf5b17e07632f76a7ca9d42f1ae62b05d10eecb03f19920e9e3cfcc88f602c1527e4c0ade34f279e73dda66b87d9846ae2f3bf53754fb6644e865086a54b7d39acae5562843d27bc26b735bf005e67036105e6fa9916994ab83d97b3c7991833f26ae639f675d8ffd464e0d5fd1210e417ff80f13280d308621f7931196d9f20a8f291d156c34eb8bd96414b316dc29378285fea64e56ea0dcc873f19842c30a805fc311e86ef4de07a918e8b8a1cc8a8bf874bcdbf024dfa304e25455726a01f9bb9cc3357250f09c6fdcf9ae3460d476ea4486baeeb6a41a3f6142845358c9aefe4fc3d7e53cc42858e38726e884dbf1c9b3eddba48319791e14d61cdc0113dab3298b5943af340479bf84eda3fd102f8c1ce158c93da19c1581dc3f055c0e4081e8c4aed64b97b0146adc8b955a8c18f315d3b1111fdabbf958663a91dd1db5f9c941c659dd6b8cc9c68c960aad0be5720372d7bfcaa2da00e976de20ae86d219ade940db95a5cf295b75dca24aec3faa4fefbb025d1d6d895cd056aa97cdbed4c31d6fe1fbabb25db38f8cee52d1551dc67c4dd022e4590ca584bb8404cd9f734c3e3bb4008ed5a3816335beae0b95dbf4be082e0818affb9237520dee2c0291f545213a2e218fa52ddaadc61aaa9854ad0cb5d1c4e9fd0992b2c6866ca466d349f02d8c3293203c2a1f0b6e8d163a86d2deca1d714aacad33acfd52aa92cc022adf7a0def0d952edf05c3c603d5bce8159a77f72c42689480f1cbd30c58be86dda1deae1e86a86af820d3bf90e75e8c4d26c04532f383da0dd5a546c2e69e50bdc659d3e49dc18459b1376e1f5e8d0de27df73a2a83c51acf69f067ddf38dbaf9df8bf1896170f1c243c9364bc33a403c27942b2d24a2c3e110ee881ecbb85b3f36925667419a0987f84ddd03e76cd06bb1bab431d4b43164c5972e072f5ec7a547df160a44e98bf23ead3282115afeb3b926a6007b323ca59fce0351edc88ce2a1e1daca1fac78e6a04eb2c2b5e2f9ec1fcd4d71f26f5f6c72029143b578bcedd3fd2a27c3a37ede88d0e11aa1905e1ee3c760f45deab48fe33526e5484142caa5426f49459b5e84a36bf1bb93c70e13d9e93d3e6fa12daee884cc5d0382e442ba6f7fd88f0c8220ee710c2bc2b62e129e4840180f25c3a0ea4cf3e9cfa92b0290da09d6f292ec12c9f374df9bd1eae5f340e9b3bff6f88144b186ca3f9bd0a151a5be57ca23716438e9d273271862304e514359c6c3e896a4cc381917bfacd8670c47b6693960d5d80f4516c18a03916318ceb11b51feae1870a52aabd301b6422572d693f1cb9250f184d3cc97e915236cbe9df41a91ca7e107ae7648ce0542809e12e86f304c6aab4d0add251ccc1df3b2fccfb65a090134cc3271c7e9116359e2022b61a1cbff9d42f222104b9250df0059542ea40b61c99b969f743a8cf20783a6a63931ffba40485778b7b16a9fc5d72c11460a6c39962ef19f41ecfe958498c16fb6aaca52ef404f2fc052c2590e1d849fc59c4a2bf123c8a28d3d09307e42499aa5c4435dee5b8892200ed6394291e96ceafadc855e0352e71b9947e877611694f22df91d0abe5da5d68d0b4cec9fa8e563620a8a71acfd201009d6d873e33190660adc780bb9ae328031e3e38deb53a6175b0b77a5476c04cffa0a6e51e68398c9a7530d8df3987444821726a99e514cf0f148043457f2bc21b0bd343466d7a5abec4f87f3bc8b2b6811788ab55add9f1e74f394c331caac384a79c98c8219ee703f537e9b005d49e9a9615e36001f5cf48311170f0b22283c6a19f56e00f4e21ec3c4ccbd51b347504acee96bfe8c522967996d4a4558e52d111abd6b2b1e0768c6230a01e97d0700f0b470f1d5467c31714c07e83f702969af3a4bbf39dcd009193675bab233f5277c346a78c772b7cca09fe11729dab07173daf8e6c78b14e2544419e71bb820c5f8d7381b96542943bde36a9f408da60277ea5134e84de3b83965e25da9058b77721a10900b4ab9946fbc066065a6f756040c953d27d681bcce8215119fc4b487a4155eb14e3ad3755779fd836407d7e504461d3a44557712e2f02816f62dd138c70e2d7c9c9728c7cd5cb5feaea4ec06e19ac7f1f313721494c9271c83f81195805d0466f9dd0b21b09f600c4188e07c5104bfaa99c545a42a41e4f01d639f305854e2230850c0002d0a1363b599297412bb93a42d9c046c09f67c0cd856af63919ecd0422085f9acca94661fe38b2e4f51c793d292a065c7a5c7009c19fd5c0d780bdaec33a3a35ca2270a0ed69608c8ebac5052e4d31efd1dc4310bb1ad3a65df9a38d0d34ac1e7e023f02608acfa513ae5ffb73e49e04494c39e4ca3bf5adfb510d870fc415c3d55c9bd7ae6b802178f96ef1a649222d35131c41492cd3d54609fe51e6fd96bc9105cd77ace9ff7786f68c2ec9183f6302be308dd124d92e2535657251f406723f3778f506a1c7253ba298c0ee2ddaf128b6d779db1a9422b31040780db331a0d326ea2ce0abaeb50b42cf68c5bde92236d1f3984b37b2a59a39c5701598d0f85a1353b1d3b2028eb4461ad7022b1a3b383f69a557ed8820618b64c318090e9ab7fcc088edcb71831fd0362bee28fc22df081eb72b2d9d8f0171042ada5f233613073e592bcd5fbb8aa6196bee39a4e139e4260c15205500106e91a02901f46d84dcdd90885ede6826b7cffb9d729ef271e577330f98e653483719550551367a6f661d36d69a258319ed7add1e9e4aa74e2b2222aa13358840f0ad0461c579bfb0f68b46501128f2e96715927ac40293927fa734e094d1928fd0640914e5e8e3fcb88631b33ce13ae8f2282c28539e44cbc85d5b47aa22532f6b2bd510070ad719bc4ea4b937965edec9135258f24eafec140a17dac08e280e0778bf6a67b7f9b5c8c584da0f0414e41b3a1688557424082b581cce8f3b8c6b9a103a1e866c4ecf6c2b11c1e9a5877c907f9e831f8df4d625d0250134f0779d8480cd9a14fdcc8f8829652c4f55df073b1e63e6f8a051a777281e362ace6ee0b05d09d56c99efe32f002e6961c6282a4d51b93fa7696b9adb5a518878659fec7ece71804aa1f4d8511bdd7a91c39738421ff21275d331e51be64de0b94aeb620603b674fdb0b9bc0106994c6ec0613cd3d647a98a5564d4f92b6a2a397e95b3cf99be9a3d09897b7ec47cb207c74643347429579a68944876cbefaa4553cb6bfb964bec55abc403b9dd85c4401c8dab43d6febfb1e884db1e8243135ac8b714f210ad3c762331604b296e42a0f0faf3877e8a659a8108e734f8f82f704e298b459e62d86a2b86b4c506f03941da7d10a48346297467113156b99dcd10ab664539edd1c291fa0eb384e0d37fb722da00dd013319187d67b48c8667123fb8b0f4ad4062b8574211b03fbf2d47e2beba742dfc6ad8b00c6b9429b793c934b919c72eec078bb128a515fe7e62b1a8e0d3c33e06d55443407c044943659c21c02780295ed5f7271de252664cb1adf9451d9c77ca238451c85544cc7ee57379322c085e9d3f6066c5e4e8226637a28f208e5f022d637c1eac2a7f1bbb544101454e86e50be36dbd6e48c50ebd72459cfe3d34f12e7c76de91a44d1101cd23b1037d2a2b41f4a9d82ad2ff72c515eabddc5e2f0108a4aec0ba7e23045c7edaf73876d66f64deb95f84eff096ceca15bad540dbe45e2f9d08026281773a7eee729fc1c3349c672d6b138bbfec36e5d4cb8e46cd4a341de96c4e39af7d1c0dd34aacaddd1acd2ea535cfa4e8bc049343566333c52aa35de6d00892b8b5430b738ead3f4395ae0a7eaa9f0deb2333f7c5b778adba136050a9da1d8c151d0d09935293342b568614e73c9d37efef8ff2bf3bb910012fda0e7ccf9c8e3e635af935cede118f508cac7c4541e15a0b98509163c245dc2771209d68c6401c8ec263c66aa39cae684985a4ad9997d88e71e8bf22bb28ab7a145f0de48156eb18a2dd5b2e05098b4f6440544531a95b6298618e5803ece9b43d5669ecba3224125a16565fa4b46ec69d009e16acbf763cad72af4f455a0b7c074c7332c459440f51d9035b840d26d63a3d1d1bf80796bd5f43a6f07a43f04b2a11f807496b78e5b8b4507ffc477d837998449d2cd17d148559c007df2b447f02ce55c6e71a9adbf90f696fb867a1743f0731bcb8fd565fccda25472a4e6eade274efbeeb9fd974c07a2d15e03811fc2c39b223d1d17e2b12a3b0fa159fd1c3c12c0b34388923bb79ee93b96752c76e7fc63aa564b11e256f62c84915508a349d715d36f9246c423ada3ec4608f6a46f209566e88982ec543881f84e10293edb49115320bc51580ed598f385df667ac191d2001a760700f50491e6216609b0e1c6724d6756cdbdd0543d8fc75b8eeeaad16f5f6e3d9ffb8d982653281a65f64003a9779d5d2851e65fff53e1cb67d918547617a1cb8bc00aebb4345da581a984324627b446852c02230477b10e9681cc7be4ccff90acfe81cd186cccaa8cfdd9a9e5a309a80b17c82aa84c3400844852c38c8dc4814ed1560257284835b704185a562fa00b2e38383a61e03a4a8c629af9b63da7710a90f791ccea69916bf9f2dab7eccf9b5ff1deeb97ba77785904704398326cb8a52706e93bef802e1181b2ca954466d344b02d0b57604727e794da81c05ecd806f15218a1261b55c436c34f4f46097f444825eee629baa66da4eef9b688f6db461f582b535b72dc9cce1c0124fd067cb7a2da64f784521c47c471d94ef29e58bf9b488c11e20b6f86971a8367cd1b08788945b180dfc133f444be76deddd6f7dca51043eecb79147108224cfa97f2cf6f8617d1b6a1871c758ea24d068494db3ab180b6c3ff63d5d36f399520e41dba49d17b33c6dd1792599c4301e8d96768cb129372b77e1e85d38df89cf9777ff49a50b978ce437de780dafd069dd6273d758134bd0a16a0bdf2bf1a09defb528940921e8e16ee21cc0ab6eb35c44971a13441fc7f2887f0dd614ed91e27c6b8d2781eb302c77d5e0e8bebfe595437caed366c3d3d517911ba8d0ad99efe3fa0ad6fd7370d5acce8f81fd3187bd6e731c1e7b9a76e91abe91fda73643e0e078ec590428fe642e00398b094e205d4650296d9b3dc7f48092b580cfcfca8d5629eac4ea9ab6b0ea611bc3a22349accca44a40fe2dc0433e274a0fce11fae41017e2ae12f3f1715cfcf2e16521bb82c0b2494fd4e2d175058da009b77edda4de743a4a050231028b39fe7407e75bf563178695479c04d33d1ddbb84b3c16007fe6601659b3528f75e389810ef3f3379b25a812df0bfa183397cd32ba2509a6d007024fae3bbf70092d08b201ee9a05c151fcf75bfc151360c779f50433fd5dc97a826526923de31d4ccfd9a45f7c9ceddb15b0f211260458790647ec06c5d5e4256d82c345173e6bd00b00568dca31abc0b7ae513036324c008ec9338565a83dcf49ba517c4bbf480be35ca1b0761a2f9940f81f180823811191dbb9618ee38633be2fab3cb36732934d0c2eae54a880355d4cbe327a37612ed73cdda99827ee748227dbb844c44ffb8a40223ada28736aed39d3480c5fe838a002ecfa95b913f598445b28b42ed0a82dcac266dfa743a649bb15d765afaa813aed56d071fc39e6678b325965a107c1f314cf4f3e95ca80aa59fe546b6435897e3940b683883db159f2a0dc8c15d8975415ca1b30ae634f58a8e3c821303ab718027229426763a4a69559cf2e0306a01f86bcc4ae56adc921f9f594f7c21146bf1e769a3fa74e5e93d2c0475c9690262a50d24ca61fae9335258a6505ee7f9de7f4bf2a0d8097d1712be8fe23c5e7feca9c0e41f57f4b6ed1e60633f3831cf50e969877427c8dcfe6c56fc9fbd1c0291e6444c68fa7fc531828e354b3f4e7014387372508b9772f14fe67c0034c3eed7e4eefbb40c267ad51df5b3ebad6170495787886dd01b72b86500a92c8b8373cea489d464d7e196764e8cfef419808112539a97818b44335ff871ec10cff4e3ea16ede1568855a1b0468973ea27812f2f90a28a18e5e2c9cf8b423c7f0fca727aed4a78e3358e7e169908784b9aab2257e8ce01b6306763e707d34c3179a525841e0b24a04a79a99e0dd750086a73e4b2fb6bf8e6fbef00fdb2270ca871370f7c2989da13ca8a5e0425f9e3bed4034d9f0684af593820e80ab5b18a6ec72fb0c19ae43d7ae310eed314222559da5f93c9bbbf7a80cb88b2533ed190b8e672aaf68bcfe35da25b3f33201812ee4162c3bad8534b852b86610b38d3afc7c5b760cb01ff23e05ff066fffbe937e95d965ae568713edc2e8e9b251285b87262f12a14329cecd831a61942ecd14fe9e4415c143bca2e8617d92b26eeac14eca60ec492e911e174b14188798c2c94960a8c83216c4229cce24df488acd85a3cdbee205e398e49f0b50d468b721f62ee4ab1d817c07047fb40c5055fcb47916a900dd5756f41b3ab909082bbd78e9a8e014bd261f46b9c3b478bc33b73b6d9640a2c981976177c6dee819ad3cf12b9ad6f9d6739ea1ea73204db0bc1d7c435d194abff63bd19f3f510b3e5f536828a90edb842631a33c7f3a982e4950361ccc0e8bbad41f0262a3f621f2df9cc08f731c119282d4732f150778291a52543c1e353e91b6bc7de0eb59c48f63b6d3a26260b1be180cba82ecb075958bc5e3f45e6955381f0fedd8df34a02a5205bceadc0302f7c4dc5364cda7cf881412af0f9562c42d52ea20601baaed8728396a24eddd1b6ae429006e88f37f59d93c640214f964dfdc16545fa25bd65ae4fb5e6d88844ed3b236ba52eea17513532a379017f77bce56fedbaa61fbea8cbd58dc97dbf1714574f9f35b8309dc245d52ea91d1926d80f0e74facfd58f71f9c977a20aecd5352eed6ed0c6d709a122f934eb73d9d4a6736816596c1c7c865efb1333d14270eb48754091941c44229336bbcc19cf78801da8b49e83da5c87d5402f097b162939964c9028bb4dadc96f50519148727b6cb61a8e8bd7382c81fd3eafb88377c0cf890030e8f3ec26abbaf238d3899e3f4b31834da427fd672a625c3513c9611cf7c3b3ab82bdadc3ac96fdac3f8431a3b3f41a5032d863f3342bde9460592aa83bfa990c6668f80a33543eb71fa4613413ff461506f06234c159c008b0e7fe27ef9fdb0476446a041fa73d54eafd9e365b5f39b83febf859eef9101a4f6af20daee3029db39c0f73ab967471d00ade910d61b77e8ff58195daf087eeab61ff09af00f9d0d00c03e727c4eed027b5f537fa300df5654495e611ce3dc66dc83202f5cb7a5f64bf3e44fb090af5525ca821c675212cf8e9f36e1b79081c52e121a420ff3be155c920544247d54a52c92288880ee177af1a0ecd9c00ad743eb4a23e209ef61fac20ffff037da84fd2cb3c480cc0276f21ab82d45b49cfe40c57061fda4c0a06180514cc02a835ad800f9014288b68ee10575af3f12de4bcac5c16dd97256429498aac2c02aa7b31e14fb6b73de2260736369efc5a90c75570954af3c941839ce1389ae3584729964e3876c4da436a946eba9cef9bcdfb9ba8586c0601bcc9e867cf00341ee0356da01c7a16aa78cd3ea2051bb0a4c2eb3b38b6cda554f5ce5f9b85853826e77752b66475c8b491b4e4aa4e6e7b65d5e3ca130f0c3d9657a8fcc8e55f4aa4df32f57af53cafadb4324d80669fb7d4c7d7a9887a65f2ca07c49b2ab6c33aab8f7ba51582354587d7d510ed5cb761978792b8fec96efd2b4aef90c637937de093b2b90236fea76ad937aee4110645654c6f0cbd59964c4420c3ac89577c38f904cb01183e76283340a56ac2a13af057fb551318134ae5411ad67da5b5d690c22227103c6cb8d49b5dfdb239b72a03b3e3bd14b8974ae5510caf88444b1abb45989d3ed608d76c53805d28fdf5d1520e214a8706352282e32862a9935370132e45b6cd693e7a891800cc18c59478fd4eaefac51b017854567acd56d522073d5b1134312370e9a6c7e3ae36cedeb14155aab077bd71ad8791ad4002528fa3e845e9a605ccb2ad93cf9f54ba9b943c79aba606abdf1e5b550ee9cb4bba41e8e541354b3257b4f9c0b3cdc415802c19d4f766c4ffabed44b6aadec1504a1ffca89efd9cd83e2825ac24cb805e7549484718f7fa3191fcbe6c5e781e21274aacf54c37dca5afbfeb8f2ceb49333712b53fe5a4fce307cccf1f4952fb7caf9936dafa031475b943b98d6f42183c2f5debab7082c575274a50f42274759afbddd47efa7a2aef0643cb6f90880697077abeb9f80a75c8d35baa5ab268b1655bc3828b899f0e113c2350d0c159d2b107ae030a5ee0e8781230a0f36e068ba1b878d3d32191de36623a5bd8dfb2783b336fd21aaf92cce2c5cdced9a2c737afb8e6e5a2b221cad010a5604b08dbf10e0c9485edd849e8538923aa7f71b43d30254ef8f920ecb6e4a423b1918a1028f3fb376193cca388d76eb05ce6319b9fc321354ac7943cc6a5327dbb3204a6436b5eae89671b8db586271d0e730aac0051608c0d5e75136c818870b7ec904c82970374d4a46c9c00612bbab41f755979cee5bf9de0d995a7e0e9bfada893a90be0d65d4d7f7c343786593e6e1eccf88f35a4a137457b1cf89e342d8c525b83f538af69e27850348c2663be286a4ea3e25920a0b84e0e1824f519d46879ac92ed2e3615991c27a012c66011b9e790ac15eaa6e8136db2ad1c7b18eeb48c361a1a421bced14c12cd1bf0fdabb550019e86bbc61c10997405dc71a810308562fbcff5e66a34bfda4e19c102452cf1a0a5644d16910791da37943a58b996dfd76e2536825b4e01d19217da95734a8029f8557478162a458f239fb311c0726ad738389b043693e8b5e55cf98c49f5bb699b647bee7035a6fcf3931978787c06742100629d1f58ec2954ced7f02968978f08beaff6cbf2358984fa656927ba1053eca9d3b7557f597ef8e87d8727a69dd0ebd549276923611ceb77cca443008a696666830b835891fdb6ffadcf6f84aecdc5da2fada3bce68c93798533500cdee86683ebc3805fba76259d8b4880c8e51cb04cfc07aa9f4f704127d3843e126204aebb065b3d2bc4ac20e964307440173829f3154833c44a9a4ac531968eaa34061c359a68a2dc0c6ff6539cadb96a4997a0464190aa690ea01d10e6013b43056313d8b9501322f3ce683679ce2dd3c6a269a2be3a7c671befebf143f0b92fae25fab106ae5161b0c075ff271ea6b2055dc6140b9df69e8f956807a41c3e45d397b60206a793bffa3f0a38fc38de4802bacb85c3ab7df7ddc8fde5cada419ac2d056f0840fc529a66981c8d234c13adc7073208220ae8197685924521f3e960b21f113cb4c0f0c475e7c6ef2a125e973fa06013ff446caf6b7e673173f59b38ed4c636f897658c3bce1ba7d9380b3fdf7464bdefbcc6834b59d2e38e14a77fc16095c8bcf7a46007da2cc3fe6163c880f1b31cafb3a19dff87e6e36e2b7cb8ea556934537e8fdfc9de88b8693cefc60a66e1bcc534a7a748468446011b4608fcf2ef17ce4a55a82f3894a789954860201e21e51239c3b073db16479420a4768562541151020744febc7412c0eab83369a339512d61abbec6472b282ca3424f62985a16ba60f98e5cbd5ab4343a90f41807bc63dead9ce496e60e8f5c59fa79c41b9f580f2420fe12d6364f9598eb11b6131bf10d3d9ca39cdff8c497d8d66637c33a85e4f25386b115f5885c2f7031bdf3b735582102cab0f5663fc66578a0c96ec4173949bca54d6c5e0afb4cdf7a526fbe23ca3b35460c1856c57c0ec8fba2dddae5e22e11f0aee5c3eeed60e2bbabbf05c5cb72d61bfd0643401b22ee845b4ac71e6c23b300fac20c6731e4bc6c1f9920d3ccac959b8bfdbc9023461a60b50b9c79103685025f03f4b3accc6e666b182ece64f6db9b6fd2d5d0eccf2c4d8e8fcdf102ff02c3fc809cfe5e3322d6136f6b1f0e74d06957cc9a09e1c5346b2b4d2c7149b928f2afdab6cb2af447ebed27eba8981cb12d501a3e8bfa61ee8f307a2e5967c55d3f1e8cbefb179b80095f3293c75259c806dd53c719b4206a888f1045f4381a05b13076cd6238156668645b7887d38e5e86f81e3500db7d46e3c03d62e48d8eaba23b8b9e9a07e59d1ab47cad7b956ef88a0f916ee8a3cf66b2e3b5486895a5c48cf8b790845701b34b786d0757bf1262a2c4497cac4077daf8ff1f203201fa2838c7630a8262ac5d778a6921d0e9ededf8765aeb486b0235077a5a39d7ced240a67d8addd9c39d4cd19d1cffee134d05bd418512bd9a3509e8c8420019d90bed3722c8118e128aa7ae6d2d7e06a1fb6577bfe00fba11700d6799cb5eb496c9cde79cffaf563229df3ac5f175e0a168a2af6d7ae750dbae8f522312dac64c1d97721d07e5c27bf96c23605510be4996d2ceb073622f565253ed734d9e36d83896deda67afe252c101b164fedc1f12fb6536c0fc9c56d32e36c9a47d8fcd4d051fca33cccf59ec18550604c0842fd481498547e62787753f41dbc032f9e895f67be74f4f7c5083d18f8773cf0df99b3f6fe6881ea1af0cb89acaaca3d58aef99eb98191e637be62802e778d8c05ba3ee35c7822be1b1b543527e3b474c937f29ddce35a557fed6e9827e756ee619e3e3cfebb89d1702c91f456fe78809f30fafdbb9e6eaca9f932587b6e75c076bc8e3a9a095e79e391991cae3a9678e85b8048facbfef4d6a3ddec9e6411e0118e32084d7283573484ac4e14d56de3a190eb0976dc5e5cf838f0770b886209761861a0363be831145ae4d55acccddd67fc5f1c2862896407728d4a780cd823cd9192cf911b62632d7024c43facbbe6a05652c101aba0588cd0074dfb6be973374d8256884928732601450f5fa582030ad00ed1c84ebf6217271f96f611e9b0bd7af2f5e5dc235fa7a353e735e3c7c538d8f8e2d3cc1dd80c6dd66d7f5b8dda08543aafbe788e9a5bd5f8d060d8bfcde9d83b5d57d495bc2732d1500b427c926407cbb55e467252ce40c0aedc44f106b21e4234aace10eef37b612c7cc7434b5e3368f8f213ababaca3962e9e26f413e3657d72f7f0d2dd6d28afa994f262af37174cb48b5f1cb33ab405c250e666adf143dc4d0669f44d075de80ddd3d9da86517803b0d1bec8253341d452662479ce6b62f86f8f6afd1861a129bd67c4fee62a69a420a8e412875c5981e0eac3c50dc1f75349c5446eaa8d6d93f9403d3af8ee347a71f11701deed2b1aba1555d1be5ff48c26f98ff986c411a18770d331762c5113fa15ca6b9f9b6bcbd5c5f5cb2b2f76ed6498f6df3017ff9fa1a0cfe316a84167a8c338b838b4609abf0e11de01dfdf56356c07feb1630122b68cca36117fe7118b5014705f626fd114fb328f748ff41cf96041ebef5281fb065948da14a748968a7e04f8db5fbdb8bafafaf2e575ac1583b84d50819da08e83cdd447b00e06982b4a4044b1a323201d32acdb4452d4e2f2ef823c7617975f5fbcbabafeba32ae2f837a64a85fc63a655447de3d6c2aa318d2a143c1c2ca0a87b66ee6fbee495a65c3a14010aff03a9a3c63486bbf1012fc0d1e0d8e78e4e7400405a10376de8d43ce0bd950692a6d82db1b055214db08298f1a6dc280502dcfccea47a195ab1f2a109eb992a95004b60681d684540fb756e64245e4670834e366bb06a1de115b2b1e4482e51620136874ad3ca587243e8da623e8e3e63087744f97007b45db88b573cbccbd17b3b04e484e1c0f69d41ebbf60196093cc0d4936fced19657ac1ae5001d1f81efc25ee5ff17b6c56a4d5267650d7a222f0a78fbe1651af1b6d459852f28327bfeb110881e3d3528f5a8bce89f5b02a5ff0b58204586aa77e38f0f08cb35b8a877f44a59ce1da26cea127912b940f1af10cfeeebcb97175c5d5cbfb68e32ad0641771510eebab7cc047bd12d9a6ed1e717941f1e4d0444f88c9a97a0324f0876036ad97edede1e4d8a82a4e130ccd2053f2fb44f88d409322ab3b761c4709522d266571231a37b679806f975e0515af6c39bc9c8df9c38577d5ff22d1773d333c4fb04b393ca21177f14afe560b9a22f14fc17e4dddd495757e7ce7785b80493ac74eab91808b813ad720c203ead30e1bec290cf81f6b5515bebb0c2886eec00ffa583c47204221388ee3541e1bf3077fb1c3c5d9d7776ed589707a03aaad395ebc3787480dd7b10ab0a44ae37e45e08177e8473dbcfe7d181aea04df5d43bd4ad003e4eb228944552eb3d7fe66990ae6d74c5481406d1e8b5eb07d41d1b498e7c6469d59eb33ec5baf828a1b01106ebff1c955c3679f16de6f0e8ded9bdb383aeaeae65aeab0cab3519e71aaea063ac611cb8f89d602c508dbb1c5d58940fd7bd0061fb94b113ba50d06ccfa6216f0b37cc850c9da03fce002b7802c82ee3b0e56cc40146b403eda9a85d98947de3586d50801e1b943cd61d05b12f68c1b1ac16e9dc01935e0709eeec3fe90fadb4167353b3c2b3a90a849758adae6a13e118429ea6313905f9a8a148bf61a93a67f8a5af2afc506c0c504f301d5d498bfdde133233cfa2cdd1a14ceeb0e11c6321d5b8ac657ebfbe2b9e4e46ad8c6534aecc5d19f26fdd7793c1b239f479514222268bba36e9d9766624402c7a68d41175bc4df9e03e2794602b3fd77ec60e81e0bcc83a6764d075ed4ab4bece5ab36b75b5ab2f9dfd613cce03c10a102a1c203f465e2afa2d7cbed44ab06196ba19150a45753b4dcd13604c2d40faaf62c9c0f1e381ed85b0f4b330b77d0e1e5d9d3bbb76ea4237c55933a86d53eb7c0a5c2879e671705f1654311508a63c895c58fa23986ffbf2922b5c1717a605ea60daab761c2bec9625c8c9021fe26a636d223ec8e74937cd21c252b11f216edb0b2f2eae5f5e7d799d3a32d45dc6d71fcadb021bee0e289c8dd47ff977ae91644fd5c1d126239be2247261e18760beedeb2bae2e2e5f5f79cdea44b76e2161aefb14e2304265d847e62aba2fed3313a67888585cfe538867fbe2f5eb0b57972e5f5f2fb28464110d8a7bcdd07d439996b00e3b22a7d207c018141c7abe31bfc2fbc4746f29c661e4e2f21f423cdb17af5e5d5cbfacd76e511b5ff9ae7abb99c78a11c4e7844985eb8b01b13456a845876f78cfb57000d392a582f7855daa2a9cafd3f23a8e09c218711661423e223c13a9255d1c7cb4e5f20e2e8f2aa174d875d426c80e328e6aa170bc8417fe77f808262bc798a8cb489a9d9b8c98cd829767301c2823f96b710c7c4bff467a58347c0ad2ad55366c0c1b2d25f47950e1a43259e09a0dc1c288b894265c629548bd4046044d863dd0bd955ea095602146f7d0ec4c50b8bce3c3c2bca2ec150c2793f51d9143d34b130eef1f5a9c153b7a6d22eab366a540827d41514173da76c48fc2765c0cba22587537341799bac13fdd6736d8579f5574d532cf7ca5701d8a32c7ce85042c7252c57bd55889becee5c99807035c3854d03351ca95123353c2dae1e2df93cd5ced32cede8f54477432ef65acfb78cf8a89147397d6dcfd2fdcac0515ae3f4b1fdf82e7568d29409b5e7c0c8540109910152e7a1ceaeef03b75206ab7fda66e6c764c2ad55cb711a66e1eed7ab5d43d675da0f91e095598b0c729885faac444069b7902489d88bc5ccb51778e946dc55f96871880a22ebc679e10a24ea2899b606f0ebb57aa768d99e6b0f151b60f82b22967ca61803161f0a2135c51a7da04b51fa502320cdb023183adabd6782d4033f34483c144a3f5cade6a0699b0457daaf682f5063427d80381ce517af4837ac901a599c439718e2136926420644797fe4d4ec4a043004dff095dc654aeecca445440b33d8e38fb17a0dc79ddcb912e7f1a5678129f001fd865d462cb46b61078e0fa69f3a83735e0156027fe3ffe7526396954fbf6f898e0212d81108eec9e96fd771a03e391da8264d83e08f8b380396cc23411ab595d2999210cbb3d01f7d890168a539781cbd699a29bdb4ffa2ecc595fbf139432dfdea34056e1edd198004ced91e5eb05c8c43591b829a7f16532c157fc6a163eeb0ae312a71244e3c3f8f99e6db6204fbf335bd89789058599f06dee6494a7581791153093ac159299000b496b66104e4da81bf738492aa858a1de6bbc54f6f841fc5114d54f04e1d8e09da37029b4acfb4ba52330370e115686443d86e665b460e7139a0c5dfff5cd9923c618608e7a84d2ec5543ca3a08d417420dec1f2b8dfcefd8ad13b97678821e0e7fd78440dd1d111ece6ba26e9466df6647ae6561e9d600be2e9bb40aecf1c60a8a09277e924029d8a2c3c833359b9c9e20796138d80bcb2391588b1738c62cfdc6f65628b171431dd323ff86236f04fcc859bbad48f90391b638b20c5fb07074714cb7628298bec3d46d12b6c599eb219410838d487cade9d050d29b15b7ddd8f010c1402273eb4c1b29091170a52963bc83830f93b8fdd7f023af82ccc1450fc0417501df9d69689e653fbee035a5d7076d5b57b13eb9838b8d3c340ce60e2075b79e8dcf8a91661f60daff8faf9240a7228989ed01433121c1c9a30d5a1886d3cd66651deca6ae4369208ac3f2ea1f0634c98faf169920caf820cf037d2dade4785d4a5cd4293be7931f1b8bdb8a0e223b01ce384b350817958699ae6f8313e9bf67d2ec6b12160c8f77e8156ddf0b7114074ae09cc22062342daeacd2ff17b008661ce09c04f2d43f0b8ca78f29da2e48563df9798b627d5fc9c987811065489b9c61a7caf27b59fd38fa2f95a5477830dad64103aca296db9ce771db1deb19c3f16ac66bdc177e806127678a74818b2837a97bfe7d49b74f1a6bd2f7e74c2e5c1888b31dcdf5edd9fa3da03da900ebfd5b76f4db9b698934bb133f0c725bb782c7721b6997425f463347358f3d7657a639b16c8c76f4c67319495449279e6f27f2427047bbbab8ddecc4f4aa78ee5bce17c0b74c55a2278aa4dfb103b9ba24ded0f6fea1593cedd389b392a36c22e0b2946da424dd6265e157601d91c98a93650005912530322686c4d5d713fedce265f93e264e00a97919ce959108f20304b7d18035cd8b4a774bfd7b58ec7918a8d6ec7221df0b2a611ef8a5d10fe5d93e8bf62e2f377d3694b119c2e5299c30e5b9120b145e251359889e51fb4a258ca538d79598f2023115bbc29ff8bcf67ae767a4eec3b9853a3544657847b760bd8661e7f648146011de42042306654bcb87d5eb58eb6b78dd000135721f23c3052ed5cf3acd0af2c853b637d1769eb924f219985d2562821a4c20e84fb56dcbe862a682e303562a1efb81ba4cec8916bb735f7611e64a85ba25cc7ab522626c94798bc554bcde0dd5e05bcbc93fe105d2976addee3a504577d4092dd4055a152204dc639b2dd320f609674522f64786dd03aca2838378716a51b9d41b2ec63a39ee13a2f4a18dd9b34c52eb8f024fc91e57b8c0763e10e52a1702ccf2ab1fbfee1704c407ed0ded690d8ad6b4fd1b512fca07ad0a5f43c5f27c2e8121b20e10abded74cd08dcd9864b8df6fb1c12dcb58c0bf2be695eb59b6c2b2fd529e515e2a439e8c335c10a27a500627dc15e4ed702d7f2c40fe49e0304eb52d7242e7c8f46b598c972cec5005dcf6e4bfa5d24b5f8e3a958267d1d781d72e3317ab49bb86a0cc6f226de070a29497b882f5e0b46fac4624cf59d71b0bf0ce7188b98b04e4a357b9896c71ad94ebc013c78f81784b0686409f3599ce3b4238ddb008b8f836c81aef002baa0bd401f7c5f12888dde8caf09a02b9f1d1b5986da844c34222039b51ec5d076469c05f1f6f452c34cdbe51320ab55e726bf580ec3cf8d6d4cbc83961457656a61a20a57c9c9265ec9d15d2ac735a9fdb5d7bed4d9f57576b64b1ab128af9b8cd03ab0299554bc7155bffb30f0c738fb78dd4371db5c8b3aa404406d4ce40320964faaf7043482597aab7dec980f963cac3e92391b78692e015c5471945fa610ea807fb13499e8659bb66d06b9e27eece317286603ada1485235b5178b23cda58d4d50c0ce261b3a04eb29c9d05c147a8a96385ebb2a5e1320747f99c41511843ddacd2a0c26025860b8489ebb1df626d8e6ef63eba75985d213afe6131289f1b10e5ea1726a5309015fce989e17aca39ea7b8f30f7d6dd8989841e43d2406ab7eae2a9ba352c841ce53877e1207946ddb957976864d680f22f40420629201c1e4b0daf716b4456493f544bed8e10127fa4de432209e1a439e12bf50bcb1e7ca5d066e829e5eba4ff717c3ccfb2c03b9eca09b08c1952f67c01248c7acb3b56c82c434dc66f5af36ac449d447baf3160a76cfc61a7984457df88c791eccc4c62420603cb9ad415482f2b7ff6160e84e91ee1717afbac54ecad008858d8231c6ff41b23a8609a66edeec76899c204519062e1072f9677fe66900b93f92bc20007283cf00086deaa2fa76b05e063d78747ba53f408e294aecccc187a36d8730bf81df1b165698b157f40907591662f5935c523cba5ce977ffd5b0ef7a16434c91ab175d27478c2c6be33c05250dafb3340fdfe91e2e97ecc4a033111d51b2151817a98f217c1b302866ffbad546067c8739987df7a97eb82a6775729ad1d5923a2bfd5bc22fc351cf83cd03dfd42b329503f159ba1d16e6e90ec6af8702035c1b7fcb63f875556a4afb61e5d0bedf2723f2b375be7a0c13c24ca77b271f1044dcb2364c93504b7d5e549fc3a6f6ba49b19b6b9eddeb5235a4538111271d507bc832170b52e69af0298ce3041b0e07ac46c4fcc13cfafb3fa83fc6a4e31350540713d48d14d4408737e97cee41d58ff39fb5525d1a2f322dfacafad70302e0f6c35369e41ab88f7455c2f5bce6ed0cc7cc0469d80760ac32ca0045d5243b267c81d1fca52b03dd10813e401b49932417448f336da052acc792a9f45b169ec0608deaa3421e9ffaa0bb78164ef03182cc0671e3e79d3d0fb166eb17a1ecb147f5ae49d7189901ca6c0cf58e3dda0535bf9ad375f65d644ed1f42b43149621b0c4f0cd9a5747835d61835cb3cf4f8243e6c98e3c36b48304cc91b866d76c97a59b30eb7c8d94389a477338cf356df24ac14de0e0762df11eb8e83069324a2f667107ca6513ab29c925427eda3c9fed37fd8a911afa4ee9d486b07710bc2e79aae1d923c6a08742330700727f17a55a0d7fa008e216db704fc1cff9f42ddce1d7106ba9f546b7d9a9a06229c3428063739f83ec835b8d46dfc0dd48355d7ba98e721da111006777fe15087ac2fd5f42a11f38245c75dba25804bb7156406727bbbfb1fb312e58124e2dc0501cac212432ac6132b5ecbde8551b852fefaad244efe59022d4660465780cf2dfc4f76a5462040ababd4ca7d28af28df108ba0506d57b3e70de7c822b25a829090358818c85981d1b519d9c56e38460775ce0269497b9249bd1bd0e7003a90d7ac53d89fc5f2a71435f810a949b17d982bb0ebec203a3909a8384abcf058dd2063d8fac53a0602e9816cd014ea71bd493d021b78ef55be3cd00fcb35c76f422a33000a13ccf9f1e3db697ba2c69f5612630903d36cb2a8155cac46b56e1262a7e80a2ef34d9a20002e827cb9a10ab9e61fb59a00aa9bc498532262512449ff331a75701d1e691147a135e05e9b74503852b0f67ca5dd9678ad31684218bce88c4e0a5a2c98b92d97fdc20fcdb934c252183df0184db516ed93179e6e91d148606e4362976ec06e8e52adbcdda779b8521dd95c3aab8696e669e5f11fd20537a1bc232a5f9cc77d8d35d2ab384accd614c8bd495ddc8c1800ec067b90215b1904dd2d5ce898581f6a524ff0b188beb4cf9ee2a62786de7e84a85575398e6538eb595e28c0b2b562403f42f042a29bba15920da15a903da7402f709ea4ab4d7d9000c16a628bcc2e43f91994ff2d438154b50aae6af959cac5c7c965309ac4fb3110b10235470020a40f6f171c6837a4da117cdf9d35789669f09208b05cc482a4fc8de4de49652a624652f0aba092a0a7f0a7b94be4fb588631253f5bf97acd27b9fc229bdf72551fa8b98aae20d49dcd9c1bf33fa9defbbdf49f91dd1ef781f7aef25cbcb210aa7cb5fe8a78493671486708045f06dd5fc1949a7b688c99c3dbb251d4997c9277e608f60819df1a0ce7a7cfc002ad2a2e1008812215856882224e1013a2bb0c1902da010a2054dd001cb73f0f3c3fc5941102d84fe00036badb54944f15cb5d63af3c1358349c848125db86641ea4c081f84e4a03caa729ef18417d99f4469c210264940024515ac982f4b9f27aef0c415570a734e99dd5de5339c39029ea79430f3e7cb7c196029cff948783b6a9041bc1def53dac839eff4a9e3b36b60a500148bc10998f90594fe8a99d9a81fda5154382d82d613129f2f9f3c3e61e2e892ab3d51c1c6dc04e05f40c7bd847101fe199f4ef2cccccc8ce5e87b1e67a629889d687e0a6578c210662c6f7ea7705ea1879e16cbf353988352b2051434d6e914e6a8601a01a2062c22fe534cd9601a4b6f7a9d4c7a9d8c5f27a7bc8ee875f2f73ad97b9ddcbdce7d9dccbd4eb6af93ebeba8c085c98b75f2af1930df14921efba78c24945679fedd90ec1f8a65ff5b24fb7334af657f1acea6b2a250088082122d9674e952d32534a908789edd628084913180aa550ec392371030df5f355dc543ab72441eadf291fd9b0878c478de5ad52f83b3ff0d5fa570c41c3986182c4e4cdd70afc3baafc3f2c79143078f96a499427a8a1efdd4bcd132144a9691fda76b02e9d5ac414b872550c6cf3b75f6838f62499290c7f963bead544e916a1c640f228ba3b4cd495558c27432dce2c536b4e45e8a6c501627e6a88005e3b29862cc622d286260e7a6cf39fdadb54fc31d001012826d0c6035fed27f2f05c1ffd8bd18cf160f1d3cb4aa7364dc007fa6e23763f7d640df9b468a925880c798ece129f6a3a5c115313cee5b1103df2c6fad9a9ffa995d625039814755b681661f55e0622a0236fbbb182361fa3b13813f13a1876ce79dc2cb45d2748d178ae93cafeb1b6e665c313366907d639030570af8e6a0a186060e1d3ce4dc7073bf1b6868d5ea13efe9d24083869ad73de24999f2723c6fba74c09163b6e60b4a088072bf0e2fd4dd04691e268664efa788fb38914d7d190db66a8e5d87687552fdee5b5a6694b5aaa2f27ecc8c197a25bb78f9340124f7e3aee2d081d2cf452d12667ead6afb3724e2fbee3d17d974dd27e2e810b4aabf7ecf558ed65bef1d31e59a84dda3648b39c7681ac89ab42f2b586b73b97bc6acd47d98c041ee26d8307d64225ccfb2624bbfd800532c6ca5d5bea5f62da594da4ae94bd24c9b84993b3e97d1ce52367898f986f41799718763ad55579e58c2d8e6d774cb0cf0485f56f635269bf94a8735bfd2ea4f0502a2b5f9d4366ff7d47a4f5b9e581cebb4d19b2dcf9128123fd11343e2385f79d69e71f2641aa3b2dafc6a7bcda73c37ebb2302b6b19596f74365d79d2579eb595270db2b32c03a083a775c2932ee3cc026c7e3d7a2249bbc4bc4bcb4c31f4445244b89ed53d119da80222f78970af9375b28b291bea687f7e7d9d1c82110020dbef0de49098eaff5c93eaef569e49b5a8ea569611246543eb0040260100b20e00e4fe1653fd3a3a5902d9b73e69b40ccdfe37dc724af6e7b1f27efc716a4e6b3327c6c89376cc9c4101cf1498df3253340246b6818ef4c514153fb300811fbfee129e6a9c32b848ea244d8b2609435f8612f4aaa5c392af923453ca16bb2370630943df5f4a98114f1fafb374f1ae15787e0d0e87d0dfafe91ea1f7550feeedd7fb21f18629db57b478f684c1137c08caf2093b4bf2c8d5b27c820f37c85c4dd2549984e91dcf834b16b1a0d2ea0531f8d707d3af36cb504ab13b02dfd02fe288f308faeaf4571c6340bd8ba34b964be4152b94cb498c217b3f2b38edb021fd4535b3c1ddfca51f2885b3f2e083624ea58955e62ffd3a2c1d960d959f221ba897a29b95bffea2f228155182af028a17077c949883fa0a54695e65384cd6e9a5a8c664ad882a7f99a7b02685733abd0e0b15a6541ef53a2c4f2594fe32866221596ea0fba984b71572354785d25fe49fc22af39503f94bffbd1883e07f95cd1890af389bd7b8da0bc8579255c37ecbed2dae56655576eaee992d33c02357eb5cbeaa5182602da70982899e59ebe52b9dcaa4054708f5f88a25891641d0194250e209acc5ea0e102148122d8810248915582de26ec84e7ae3c62a33896328566577f62471c4588ca58823fdc90d946fb496fb521b475bd7156b5f2180a78b182b248e172877cd57b38828b320563f67f395ecb9b396af268faf2650e7e26e3358c8f58a3557ebc9a157ee6bbb3fb92f2df7c8d5b82594ab7133e4b09808e06a12a63f0878be8b52c270b5ee556a9316b7a63b4531d300950cad025b82e051ce64c62ffbd7cc2a12ef146506d133ad9a282368788e065d0a7a4282d63454964a1660da2f13839e0551b318bc7adcd7324607be4ee37404ec3fef68d4c9b2d512067509d20164e9e3440c90f0608a11536747b0e0bea42531441e55d3014e10217b8c98258d0961d098c085103ce932ca9be749517fab7c683b5d2a34030d5fed74cd653655727fcd0d4eaf76be1f9f21727f0ebd9262d47c68b1dc1fe3ab66b5ed6c419a27f74faf82c0be1565abb8ae6b9130f7bf96b13faf4bbff47b1d12c3c0dd77a22a84ef07891fb5c293be5ac18292164b86989adfddb3eb12adeeae4e29b5e1786bb573fadb709c3f461eee48e4cc263196f7ddb360b28860e0fbee274b3af162e548275eacf17a963e4554a1a549cda4048fa0942f725465e97304e8082d4b9f23b20c93a5cf9117e40fe52a46c613041f1c14210a282cff299a00977b8642a1af41e6d0ebe4198e77e4317ed9fef539d243e6ae674e9c2f9808a03f432b43e92fb33d0912355114a58fe5630c82ff2ad54dc5a7d1a8542fc6e0bdd172e3868d6b03061b29d186f4177a737df5c28f1eb7904818dfb03d0e5c5a21ada046375eb8375ac4187f319d1ef526186cb4fc0b7f0a6bb4d848d9b061e305d1464a04a5d0511435514a813006c17f95eaa6d28a4f2a5de954df546b4ac4408b287f2ae96bea7b0ca4fe85c7000cdff229312ad53f2589a94f7c41c481e1bf3e1d91bc1bfc153fe9bdd10804b198aa91fa171e2785238e371f69f4f5544ba3521da15028148ad69b8c1d3481d934aab2e97dd562f329f1f18f4c7f22f96a858505c42b2ab8944a3d064e2911038f4ff80514aa843ae117282e7d29d39f1ef5c29370527f3285355a462fe098d1f742d8f2a910861f91429c967fe1bfb0468b9812e2c020a6700c7ee15b1ee705b145c449893aaf0a36cb0f3974832e2e799403ad5d5c5c5c5c72c82107171717971cb269a5fbe402d262b833329de108addbc5c5250797116dc9a3f174a227d16412473ca239b8e4e092838b8b8b8b0e902c653964f917cf3cc982e632f3240b9f2b883e8a45982482292706840008372a288c3108feab5437b836329dba150c7eadb57ab57a35e5eb5753bcef3d2fe5267bff7d3525a5d63a8a19c554962aef9597deb0a04e94442a813f0fa4c235554945fa4a860c3c7a552a2626e6a394524a69ea26e626e626262626e606ec9525bc07bfaf5526d3a98432914635e549b894d205e00c56c3c3f243fa59f9f97e4af8257a301c91c2d097422f5449c135be9a3c305a0ded6626e627e6415ae3e7070795aac6cd8fea5e124e117df73ba30f3dc529295e09f7a78cde13734262aa8e723a9168c4a94685dd948a9c0a66bc51a822a6ac284489a34fd9d1e317891ebf28753f25e54f9fbaa28d943fa56ce0373d7ed3eba4843b482ad29048156f48f4460e1eae6ff4ba19c1000a05038c9b0e1eb351de58502bb09e19233d187ebf22ea1ff5a7f4638b5291cd806e807404dd6eb7265d410a717a49f74cdde176dbe1b77bbffe155356a59fc489292bdea878333dbe0f7dffa76a90be7b1bdf87be478fee49df434c750fd277a2c427d0c143d238cc579f0c7c9cde45a91b151c64aaaa84a92a7ead62aa3f138bce9ed60b16d371eb56a785aed9a61157e4c92a7dc77274cf2da89ba7347ad2e945a14ab8f23887af3a96672dd6337b445fd3b3e62b916d8ac471e649f358702a99b5599b58d8a692597bc0c532b8a7dfa21dea5391047307ce5b09278f0a6ae614aaee8f7e27f4291e49d60f995eb4ba9724e6a4883cc49c91786d5fcd2b61a9ea3785379c355f9da4549542c9bab937a4c964da248dccde83ede38b27cd13fa186bf6cc19ed07cf25f38aecdf7f45cbe8c8c1c335fad66bb272c8e992247187356d41ed6a9e5bb7fad5b059ebda288b1c413c586837b3a071c664ddb384df83a109250a535485e4b184925512cd684037403c6a668266546f4f10148482134818e711742fc620f8af52555baa22cff49dc8f354885051d7a998beebbeefba7066fa27123d8ef722ef452f12734e5de8fd17a2be86354fd10e1398d93e0e92d5d590c73cd22a5aab6e6e0da27c23613a7bdfbd0dd48b5e8a6ebe10f0f01758d7a3234750e84769db49dd745d8b38a2ffb81ad2cc711fbadf778ff37da7d2bd48cc117d277aa2ffbe874ae77d8f127b88be5349dcd92179df7ac1c219f317174f4f9eb2948f47d00fd7580624ace29942bf12dec721ea492a9e09ab78284fc5f42592d775dfdfa9883927b187290725f620d243e57ba8fce947493375dd9bbe13532da2defb71267ba8f0f4a6305503f5271593e94b6f32bd0dd4ab981ed5bdc9f4a84799ba938908edba970a8d9553ca4a785f25e4fe1476264f54d328129df3de499b4e6fda947e15493073b524fcb5fb4b49189b4a9f42c28f731f3f1113f7391deab9f0f42612e93eea71eea3f0df6f1187fb9398437a4eb26a78637a6f74278b4bdd6093b8b3137aee4ba1a45cc813ddee1bb1688b805464ac8025130925e33e187a251309a552224dfae00eb7db0eb7cf71987abf73fff495d4753a3dba2fbd9342a17bc51ea8bf9fe37da807911ee09b3e74bfc7ca877ec4315ed883088e8c277d0f96f7fe14f69091430447860c3155e3f4dea73ad5893d50df3de973569e45f4fe24f6208283faee7bacfce9c170e5bb10f5a79054ff46e84f7fe37eb7127a5498aa628dd387eefdeeefab8444e87ba7d0f45d98aa717ad3494cf5a3ba2f7d0aa7fbd277dddb38757f127388e090befb9cd07b6fa3fbd39f3a31e79a421a0a5394d461934e6dcf06a1507542a3412a9d3a0ff560682285df974e9d1722d55987c05e05ee3aceb883e0bf4a15133333b3011c35b7b6beed424fff51bff3bde96bf72bafc3ea50ef3d0e0ac5dd10c7717d83a4e9f7a7805c6d8049f61f45f9d6220e194ec0a837bd9430f64f5f7a2ef439ddab84c49cd07f9eb712e610b9228ee957c49c4f4c51d3e7a8a0ba47bd8dee51620f2238a50f7d8f9328fdc546e84d628f921453d4ddddddfd96e282fad37f266999b9226f3864b3355df3c543ea9931fc2b61e8553a12ea7aa70e85c3575336b3e1b0e9a837f7ba8384f11df3c57790305e451d12c6bbbe147128fca5df09bde92dea14736b7ce5288c4f628e29a724d271868445e9f1f4bc60311db79f2bbbddd073c974e20445a3a1623a95465825b48f0a53fe1486de14de2f75a314ad69d288c60f8d9f294edbaceda0f77b468e37fb786fbffd9dfb29df628a8a3724ee9dc378464c799cf201b9f2c79143d270d97fbe7c357a70fac05fc82737706f9f48fd1ccc7d1571eca788392351fecd8ee83fefbbd0df9ab6b7fbb89027e242c9b2376f8f0a309c71d5c5b12b33a0ca494e9e1218de5f09bb5709bd47a528ae69d42994acd2cc6c6676e366cad02ed55bd5b5ee5775eb731cae26d2d37fefefef84be23bd934ad7447a9c4beabe24e684be1b63b28f60ee9e86345a3523616aaac67dd2dbe8bef4f5c6f43838fcc5bf144e175804dfb8b96951aa06e9bdc721bd777ad25b11a7f42131c7f4a5277d282c75a1572314ea710ad9f0be137b984429a6a8e75298a2a43045c51b2ceeec747fbfdb7da3909772f1fdb0e049172cb49cd0af03c2170a3c93db0995a267bf0e088f333ec8ee331501cf3d7fd21f679149cb332dad028b184210d9c571d6669b80f0f879aac6599bf113d3b729a6132fd4a15fdcddddddfdbabbbbbb83feae72951f63667cb284a107c3d3af84dfa35254254cd11fa5e8a7506f4525942c52c95da451b33204f65cf3ebeeb4fd7a757777f71df6ebfd6ac512fdcff4b7e4dfe289a976fa2e8642a7efc41c93d8a3f4de9f3ee7134dff85c414fdeec5147d7ffb3a4c19ba86996ba8c394a15dd96ba8fce97154fe646a11a7f427518a52fd61eafef7a2d47d1bdf9bde86f7255ae3d250de0f87294adddddddddddd6d8b9278d265a4505ae5f4e7d79f2cdacacee341d96dee40f976c362a37b45584a389292e532dae7a5f0b83bd0785bc603a36207f5ad6f55e0d074246e9bb78a197ff1af69ea43982f5206b910248c7b4cc278ffd7f40c3fd3323538168b855ef43bdd8f62dced56f6548b379fe889a9fe1e27f4df6c7124ce9bbf784dcf9abff8877ada3f2099af3ce6e2cf64794c7a4cb242a1b0653499aff003423f36ad672db2b909bdd7d11c09ed32aff90a3f08054692dddd96fd47448cbea671d841371b9335127374587df3177775d84e5af5850ef3c1a3c7bc48cbf8919619db498ef98af4fe2e6b19fa5e9bb679eb56cafb0cca33b93fda2f3d04e6f2d8b2ecf8537ef4a2efbdcec5bd50147a4ae8367f719f65f75a76bf65f798bf38a88498edd210cf9160ff1b6850eab58a35e112d8fefc7116c974bcf4738c7804493fbe2a668625f41e0cbf27852abf129e3e144a5617a64c61aaa2c2547dfc922545a9ae6916162994ac15542859a650b2bc1ba756a45153051effc66e40c28c2519598ea51507e60bfdb1db8084a156c4216166c0c205fea49452ca994c77707f7f8a76b07f451c248bf452b40327a6fa71902cd3977e071c246b6747e5bddf39fdf7564cb578637a994b4fbfe57be54b4fbd373d8ef7a6ef377ddfe7a8bcf73aac51953dd47b5f98eaffbebf7b9d1a0e1d72b4cc4b48087ec098ade99a406e7d83637aef714cef75620eea4d62aa7ef79255fa9098aa1f5a0989d457097b10e9811253fda6fffe0ba53c2fd0cc0d49e3fff384c64489cc9ebbaf888a3d239f56e1514a1d47c1b307b49ba16ec2a066adb537346350bbde0b4976efbd9cc931d440a6ff39d489f76249d3b7c60979bf7382feae922ff2ddb926a3dcc4ba0ba104046d2d81b5b47aa8862837396b2b67adad97bbc13765e05efe68ca40bf7b2c57df5df38160f797a02930c7c83464ab9d211ab2b65ae9eda32b9d7261099cabb6fa73cdd5ead7babccf219e6440727cc5a516a2bbbb1b97fc7413929d9ea690c9e1d3a74f9fa3b4d94ae3da60c519d9c4ccd71922f0e4699911e7a03ba8cd66b3d96a1d0d817b59694678b2a41971650364499b5d91efe7247f96342349b2473f2e9cd97351fd2ac7494027d35a0199eda52ffffe58b3cc955afbfd1ead2e396543e7fe127860d4c9356d01fb2d8e1f08ec7bb5ba64e9e2f4c77d9a9122999425cd484f963456d2197a4b5d720d250db997220b0820735da8be274535505104fae7d738a5e2d3d03e275d5e521b06c1fceb32cf9b3932f71e8efd63fdd1d2a694b60cb9e7defee8fe9656b0d62ae61aff3297fa9a29f734ec1ec197ad38f290ab18822fcbd17ee3c851aff6bb221bf9b239ebe1e8d9bf6fa8fb3c1c43d9fb3c6ccf1d5e243877eaad724a29756b5d3eb5b26b0e5116f07c075f3aa55eed27e58a7b77e7be2bdfa9bbe38e0b2194d039dfe9a4422869192809a2440825422891e3cd53f4298492cbc9c09352ce3033d358561a54ec19adea6f510cad763ac131a854d5561fb0cbbfe568cb0ce4aecf42df9537d3eeabb1a999dd1067efdb28dc75274d6490c7ef42131778814559fa3001c3077759fa30e922bff56172055105851638254b1f26405dc0384b1f26b457cd5c98f0b4bcd9564a29c5f69feedeee4e41f076cf6e952df07c9f299f0da494212e282ca861568e73c96d01799c41b617e4b15bb9bbee1f5d7bd513404794f00316a4c8a2883c4e9a163cc8e3fcc9e39c22770c87b4159147791be55142c95286eb965ffc10050b44f022a603277e90c7c9638528f9e6710ec93149a3fd92897e1d5f177410c515516ec004145603c9dd4eb4e4963cba64d7a288ecee5a4c91fd0a3bc87e852db24b294301b2f75764e3650ad3a2871c7ada32610e3d27b209d18ec4b2113e0416640240800246bfc8ec3bb11f3220b33ce90fcc0ab27cffbe15d95cdad332a387b487c286889e166e33d6e822ed1169cb482a32f7b48a6cb8526dc67c358382624b603205c81589589ed4886ef5006bb562f36790af262b8bda8c4cbfbf20f0782da6b08983262c88f67546fb01aad974d86e41957a0c16546f79be0e5fd596bfccbf583461b21e586c46ab4113d633e7e4a1b58c6c490ab3e5f99367cfcbd5b06c7f503ff06420c1f26fa041837865fb706728cde267b67088270b23b064fb2d221b7b5b882104319229310b2099be8c4b840870b29432a59f450f580021d3074536144b243d4d5073450a254099be8a5400185320028b23828c40615922b2fd4116b2b5d65aeb3de6791f252bc8f4297d94c8865efb94524a1f604310aad802172f08220c2eb40f926821058f9e4436d424803c7ed94e91c7169706e431861933642b451ee5916c93647b051448a610c41492a0020da8b024db8f99c941b65fd332d2a70ab76c7d6a4df801820f3ad201aee041a68f81e011cf2f8fa76c67e4b1255b1b0304a2b00555b67fb110d93e688515b2fd5702896c5f15440a4bb2fd14918d9db13647134498042121074cecf4c0c7082558b1073a5a46ce1f896c6c1232a52fb241148468c9f6bf193129d829e3512580aec8f4bb140c806290edd3940da070850164fbb754c3820753a051d1840a961df20473f2070a37c8f46d8806f85d7a85b590451b0b842c24cd01aaf0c9d4deeccff84a87bf500cb6a0882b98804289980f19cbf220db2457f891adb53608b6b6ab021e5f46005cb98a18649ad60b47c0fcf75e8ee386fca8496c5c0c88fcc44f1234c84f8845918313988427092c490faed85772c4537011048be3388e133204733e54b82073f6969d08ea1799c78b330699bc6cb72e0c2b8c24b15c4cc132c19fad6ac108142446c61002be59fa2861033b041e65e9a384105c11d866e9a3841135d86cef72cad267092b32cdd2c706248f1fa385286e0cc8d2278a9e29a56c4aa98fe123851159fa4451cb638896e7c790a58f14addc55d6da35899614b45c7f74e5a943f2648db5a58c429edfaf1dcc2715c1f22f78c3ab9ef1902bdae32ff36f0bbbe4cbdcb70a2c31f348a3776157f7f3fbd5409aa785b4ccbdb697b75a7794c202ecad9042a1412105a3b65ab5d3aa6ee5cf0be7add5ca5dd8b3562bdfb05b41feeb30559fe6faa5b0d47372427a7c2561d2491538f2ca23c71383d9cf8a6c3821ad9a308ea75553044364fb23c76343098b6cc5947d99ef9368d8399106d11fdd46a1dcee27b2912da5a49fd3207a7b8daac0c1389e96f9961d14768a0b8fb268a96029a450fa45c610fcb9c591eba141e4cb7c1dd07e90e7e4840044fbe1786250a96684313d334343cdf3481a7a9bcd461ff5a73728f36950cba4e4f915568de8d58cd528182d237da098e516966a4616b1484fbd399e22b059cf9118121913b32692fcb400e8566b99b193b0b5cce8ad7c6b99d15ffe9234425aa67130247346b4e491e3297264461e399e29ae58a2833c724ef284e59183626df62652e5d16d339288f3ddb45a66469bcd66b3196d0634b3e5e0dd004ac2be2c4f17d32184a3d632ed6a57bbdad5af7635ac5d1d0bc1cdd12d90342b34c0a92a63d5d44de94d0ff397c9139ae119cd573ab7e6361b77eba1b7d7b5d97cc505f9cd6df4757b28cf8dcde764dccc766ff795e7e5c9f3399e1a1724bb3fbe9aafd0ac656410d09dd138dbe4a9d12eecba6e2b4f9e52c883d5317ff28faf3898bfccc740207e90a3cd9f3981f29c4179f2f8cba4b71c1e32a8891dda6a31e1419e30fbe1ae8944d2f48f40661102b9248fa06f51e486b55ad9450aa5554bb214d9d01b90d72bcba4e88d42610162b6909f3c9367061b929a3dd388d9224fe678e6cf18053cf443ea199638e9a8c0924e291f9c2f81904576d15d9e5a25673db0b5dc34367b7ed3181e671e718e491a1974bb463012181451c87d442dabfca55d120933f7100d83233211b969903b2669da3567adea9729496314897e2a6b99949f1a2d52646c5792dc73465b4b6cd16f2b75b5cc9ca5c096fed143e4b181e496e248672eb396915f03716f907b08d3d7346907286152359a25491266fe3ce59caee9fa0bedc93d69bb64fe12032a7dfda940355fe9d4a0eafa2a2d89a36de5eefa2289e374cdd7eca9b11f0a645bd655635416f4faa9365fcd1e203ab3af5b05a2b5da8a0555596e1a0b6598c241fd493499fe641253628d66495b2375ca13bc9964ca9faeb5d65aa9fce9c694dad056c970fc2e5739ca719c37c74dce91fcb4eecb1791cdac4013805a25b34e9e49b490c277bb81fc089e946260cff26d2aa722066ed104429dbb2c9b2802899c0abdab62983902728147097423874f895bad089e74913de5d72aab2873f06ae204669d56914dc7cc30018f3a5972e278af155b4a2ab2691ad3f8074cc551ce4e36402f5213d00f1039a6a3828a31aa9669bb84275d249d6144760f363f339046cb469104ad8a7a040e65e943536289a035a156d0a05828d8c70a90fcf8019220312c59fa30d1c318f7097c0179a35b89b4391570bf37abcf4a43e6f935c83c471eeaebe4f71d33cff88a245ffa319630fd40401f905301bb17d5da9a453501255283ccb255ed22d60e1f317a206a09853c9e54796c0123fb3b184f84e1039f30c2904ebc80b85d70d247f02054274c178ad08aa882b35ac625539e4b978081137e00b3f4f169810dc8bcdecb8f2126871e92c6ba7cd209b99f86cf805c690194496c53b857552dd33578a6f18528ac52d58572f7d3045f38a5aaeb52107acfbdae0b6f6e6855bf8a8629830d1201fded640212a67f6c1a0d7fe92b6fe84fc341106377eec635218362c03ee288652206d65a6bad1d8dd103eb63b6236b9dd65a3b036bc445e287bcd980508fc205ef23f2287f7ac87294b62e0091fdaf3ff622fb9f40ff181afe383c4a1651ac088d31a4baeaabdee5dfda218a90ad753101881080d81f1fa58acb841818105ba71686104283100108c6320a153226735c00224a1452ac56f2e5f4118e3ad9a6daaf214eb758f66538aa602c01cdf553364c58aea28ba30a7030cb8ef5533674b98a3ba4642a12615f4221c7d478986d28fdc55f6a4c1889c20492225946214b26685938cdeda4b54c9259cb9472eff44a35a3bc5ee3a48d130c96bfa5b56364fd7dbf09649c428290c739a4a589cc22d9c553e3232de013ef021483ff34cfcb1fbf1abfeeec59abda8667177335cef944d240d1934601210ba98a1f903073d2be83481a99e5a44d9bd3a899b4d0f70149f323619afb71d238d761d5a721085c4cd96c459cf974d26692fad3b4d93f5fcb932ef709ee2ff294814aa4cce572b95cae8af1b52daf7c2bbf65cc0d5f3513395d139c4ff2fc8b41d7cb286a48181e7fc194b9dd4de6ed027714d07bc8f39b492391a0121c053cbf6992a6efc51804ff4715105010101090af52fe6270fe74f9ea868f44aa2cf378e44ff99dfc2bdfd69030d25f3055f3a7ff90e78f5f9e3c377cd53cf7fa4ba03c5b6c9a849909c872facbeb142678ccfbf0cdb7791a3699982f6ee70fe48b7bf4a51252091a1a0528200c5958c609b32218786c197d193e707777915679cf5a365d48ab1cc6f3b49564e781b58c9c2dcb62c3dd371646ac1249c3f50c8c82bb68d251c88da45a6bed7bd50a2c9ad8afb7b6ac8bb4af16e0df47a6c8ee4eb25b0af39f43fce71748649f48240df7fe2df3643e7dfa7b2d4c5d64339148187f8e86e364c26be1f9f6e609bba20c1fb87b2826cb0f9eb0e6f115f696bf53c7a10ba74fa63a2c4f8a26404140c51497e2449cfe2688c4320f9e272dd770d25c9c6bd2cdeb972ea220e071be5a5a05227184366b157ee1b16799d63261c75a66c3a1cf92e67ee8e74f1872ff084376f796b6dfc7c83bae3899489839f39719e669244f25908cb3499e9326616e789caf97fc99922fb303e191e99172be5a35dfbb4db014d98056c0e37cbd3c77773a9be4493f10ba1246b63008622c7b913432bf573a8dd92f2d1c8a60f8a7ec031266d29034320179febd1883a06ccab294d3d6c3e7455a35655e60f9e394fd78483c8f790e5a920f90a54f10117292244fb0fcd0186510b2cbe57281f88b9e947f5b031f5fdc131464924ea3cd662c3fb20a9b1546c11f962be0d1cab098ab3af3d094d31ab14a244df7fdb6dfce24cd04a3902d141689552261da623143e2c8b52a15728ba38d025671b45d4871b44db29df9c058ec97957598bb92c65d0f62ef97cb436181b922a68cdfb817cc95e31980414ca7ed20f7732e90344ce4aace649d713e72cb3a7b92fbadccda248de4bc2e74bfc27c65faf15698af2ca86aae082e080ec53299f9cacaaccc833006ff551e24c519e4525cadf7f8eac669fdb6a787f6fc876837da0c92c77eb50ce46ad6bc5f571c55212994c77ef9e4310133889549188b04550b429659b332da2361fae79c52f5d345ab7bca4a7ba458c4ceacad65a0f42ab4475a4622e1a236da2980725b27b92d2df7f44a6b99fa5367478cc8634d52fbe513e48296294027069e4f4537e8a5e2c5d765fe67044ef94b96f4948baa98671182a9f838e04f790f3bd36819ae082e08d832912f9c0ff00b6c9ffcd8dabf95b995e59e3f5a9995f94b7bb6b61eb0fcd1cab8180c569058c2507e2940960ac852a4c9f295c8f23d4fc29499b016fde83d88b9ba3bc045e47e397d08b9df83489a2fe44a255ffa4119d0dc87a499b32774b9ef1e5fb52ba57bdad5a614d1c327b14ea0244c55ff481c9d09b98718c9637fe189b687f6aadc4112a65f460f98e5078f4debb957602902b1c0e3ece9f1d58cbff4cf9eda35248d04916069646c409e347f991f43a3c93be537ad93f44f07f94eaf6415b79ea265a48f1690e825b61a1079c6851ee4b1c1c84de5dc4291dccd8556ee025c5fe1295f248c7c9112524a2955a280e7534a295d81c36050abcdb8dbb7b635ad81bc451be63ceef291eb18d97f4aa9640869442789b0ca80b6e64ab2a6fc31610d6bd8d830afb52d778f1de4fd97366b358cc75fee02418c61ad5c2900807cdf6b9e580b893587e5faee3307418ce5ac26571808c2bed2a652a79b5c0c5414634abd38b2e3450fb9d6f74436f5071e71175220804dbd9246039d55c894481499524a29157181d627ea1395a53ed9c9f573ad4f86e4fac48b5cbb50a2aa667c108244112d5e33a801150d042392d4993c7e61dc9264fa1caeb556226841546badb55a918d7d71828b29b86001c575084abe5c7fa6d65a6bb596c2b085edd61a33539fd49f516bad31926e810400527c5bdc7b39ae72dc162f70810fad2d68c002d60a80b60812831318f31779b7f0c10d388ee3765cfe22ef164bf8c1f201d6a0174120d72d68020df288ab154dc8814a963e4e781286cf72b36c014f77a794ba3f8dcd1e2470cf5aa6884ca5ca38c0344b23c6c83b3a8f2d438284e9f76acb244c57b19b250778bc37d42cb94978257b1e5b167a38ce71f6e4ee2b7a49db5a759330fd444a5712ee43f64503b5aadf7bc6c4d9d3b2dc2a55ab5ce5338e099573459a2bec32572471869e32730507d8f30e9ac7191ce05ec101ae593efd8e2c812b6dc635ce1f1348e9e993d6aad90e333740c2b88f3cf6cce38ccaac2ba56f25f59b07d9fa0ea555ee417e6b15cd93f84fcb70ef920b6516bd4c09bff7def3947094a5c8a667b209260cc9f5b367c3eea7a886d05f3ace590d29a204ac173e2cd12253b1892ddcb28e3cea99ebc07d647f2f1c5b49133268a2a413c78675abfbf622bfdd8b314dc23805022681290f7db58a05093cfaeda1cc6efe42b0e400efb001672bdee0afe99970ee34ad67adf21f676672356750c84ef2726895eb90438784f11d5c50f8e246ab92b0e800fb8fd3402ce09edd3b8389bac484fff4093808fc7bd660bf8a291be4d7af417eb5e2e8f569e5c453bf4c9a635e8a1ff47bbd83079c3d09e31f9208f077fa73077d1e6e0e4918b7693124553e4534b4915c8b28e0958a57c2d4d0867e9d3657d278149efc6e4afbcb52877a059832727655d2f80140718e9de58f01a6d4a834edb645450b15d108000000002315002030140c074442c160384e0459ed0314800c789c4a7a589c4ad42888619842c81843080100000030000223a44d025054fc7347b45d2b382b2186a88806d809f0f289fc81666cfb9669b5d098f36010f3224ac183412864aa4b334fbb7c28619f95df0ccf349e5b838b774f7d3ba6f422b77989d6dec2fd14c523b1978bd6a3a7a765d48b1b693800e2ebc595c3b8539d64e86df3ae00d1a81a91bfd4f6a0a9b7d75b1abf7f8ae8ea1417a2e11592a80334a988bfac7c946f1eafcd86898074f7d513bc40afd3c2d12092e4f315977c319cc598ff5dd0d8cad61670911b36da794f4d00bde401970af8b0bba715e3152d020b7df29bc0ba7edb9cb4a1a96ffec8240dad9b22f039ad48d8d77b12ff12cb1b373e0519df63ddecb1f46cdac63628e59214696ea646ae28efaa522a13400924a78de2d4f3fe8a597da1a1ef5109bb9c5e7a3d49ce8542b65db120bded342d2bc28ebb85f31cacb0900aff8840b2f18c821c71011e0e8106beb8bf065b7851d6ee2e2900e36dc703b5dbce11d625a3253b210997ac7cb14c1656135ffc2da2a220c3ed4c7cefb460f8c0b0151631a0aca3bab2f045fc71dfc75260edd73945c4a4d8ae7a35fd3d3a00dc6deeca0a99ea734516212e96c15a98e0528362b02ee15f5fc45c45810fc1b910198ee3f878f114580d531d8a6f5c1be809eac4ec3ffe89a836f6692f839d2a454b9a1cb03667a1790461e2faa03e34a6aa953185dc1f07946af94ddefb512c5dd8288e45905e866773c4746b590224d197a71daab5985216784afb549cb3ce35ed5fae5893a7a2a156fd47226b755eebdf9c0db51d90e9da03dd7536aec1b82616592035b4c3f12de435b80216cb6ab8b2fc472e68aca61a7447db19e8e0a9e006f04427b858010580f0812d2b6a928fd317fc04207b1d7e6d2870e2786f91fa4304fad570485e579b38da65de12f65acf8889bc0352d65ce91708351ba21beacc4a1ffbe739df60ddcc08ce9669650af438f55265d037468f1f7ab2a2375a22318724828fa1a5f3a29da47b14c68f608df471f17850d58ab54dcce4e1841555000469f2f17f3d1e725fe22aac481743f8f03377a0f19d03821b0769c4502b199e9a2f0c5548fb585a3b244a807bc6a1543108398caa402bfaaecc068324dd10950175d8ab8e7f61c452c3a79ff3ce3e3659e36f2303244a11f27ec0a91b1807b2b48aab3539576e249841543182e5d33054c87a09af149cbe93acc0dd3f3f7d23a22b7f4103f56259c6d4db2b8bf90a8d6db94873cea84c912ae49cfee029d80e855bd5965845bb3615920b9217c1f08f9e8b6ecddc18ae728001637185bd1e0af9a4a56a3d69ddd4c00f8889161dce12f51bcbb8bf39fa65b2b6b3f406d3a8a337ff51db07ea5bef8e40cc6eb872db8ac5a87623060409f02cd2234788ff83bdd0a2f3706e4afe591499a7ee7c730ea7722f7841515515933e91b3403fc0cc50405d9203161b2a153095c9f68518fb71bd2f7a0fff6881f23a04183a468641170df07e5c69f5bf531a950d3af35b1a6ceff5e43cb94222b870759af9c35a835585071bd52c3eed6402605b07cab4bd99fddf731390bdff600acd3bf35cd59b5748db9ca4f3921ad03c032cb996a276b679eb9fb95be65cac15f3f9a338f9ec20ad9bac9f6a6d3596f85d04b0a8ca395e251cdecca1ad0d4b950828ae44ef461e08f244350ddbc14e597bc04e1ad4fd4a16d6441df206822c62918205f796aed798ab0b951406c0f6454438038bde6ca80f9a5ea3f9caf347483f5a310265f644992eb5cd6e284ba3b8b19ccbf3f98116c38bbc27372278dbbc73571b8315fe2abf1918234fe5e81427c78030d59157293b62ffe3bc2cffb81bb341e59d3d478572d1c8d74cd57260387069da3e4e6365956ea38c56b96c40583d8e4e25c91f346e4edf65123a21ede7ebb1d3c5bac81914d16224860d64d77fd8403ff5520647cb09f592522283aa589dcf226cdc7ee25fc4e15fc7e4ec2709e5aa23158c488701871075d8cccdefa496c0dfba4cd9df64599c731c65a71b39ddfcced88e7e9800a4e4c42e3bf2292d57ac0cfb81e86ea5e88c756c898b17ec6fe731e887fc734fdc4fa7e5eea7515567ad5c994536a625b06c9b9e599b91ce8498b22de56e5267042efeefafcec9525230e89984d6961df901b30e4476542fa1c1cbe60a1b9ba082ed8a9031616154a2858a3e4d8745c5c0ecc0efcba0fa77927598720ad62e420562da03538a49763e613ee8ee6a91caaf84c523616ceba13da1c65d9ee74c38b5ea713395d07441b94747180e213becaa3f668ae83ac822e1c270931b164d4d910445b3c55a9583fbd0b42c4e764931e1b871f6a52d0a39e1d338892f48ec7ed223272402b4c1a27b4b13daf48c601192eadff523fdf40e76be1ab651d99f5d8d9fa6c073367c4efd3007a758767774047ba56fe039aa6446f94a0afbba527bf4f25ec9687dae5ee8fcc3062df4966d42ad019c26a0036f049b48fe290476e057a79f9f0d824579d6bdcb3e63974ddf32586668b1c803de17aee4748f8fd5b92cda1f910b829cff4dcc756181ee9e7e8900572b0ac6103056438b131e07449ec5be6491aaf9ac1d658d75404b1992ee21f92c7eb28df284ca045adfc967b0a7c09ccfb89c7b09d5c09515b207d12a6947d84e56b3236b90a980041045e13226c77780118fc65795f4f1a5a27cdf5bba50b1525b65c13ff6b0a55b3a5aa8a0b27eea2095be7639e8e245bd17c52fc3e4f23cb21c0bf69630e588bb84000ba6943d39fd41bc583384e316770c2583ee32d3d7f278ae191c999e0435f66e9c254c66c5a8880c5c3bcc02fd56b7c3a4f8a660bf6a2e8028a91f9ede2284208362d9c4b2f354d8193b406db09d59971f3d9abc881e7a42127bebdb507a28949a6731d70132e3392247427f90f757d0c09f3b4b0cdf4c8f15091fb60038a398ada9d7e4038de1ced50a0b7b6e723f51182cf5f19e3c45e1ace10b42e49caf2e5afa92c0aeb3ec6c02b1741ede951917874673d217d66b6a26b0e9859ea3c45269792c1ff3785b1597c1efad3af918e4b264687acc8cecb81f9b5859eccacb51a5d7e7d58c9a1d22fc14842ea8753df30179e98f31d028f4005aefbe83565b98d9ca548bdb876174a2b3177c57c1f35a02f4e3b7f3ff2f20146d9b325ac816120d05469b422ba45352f22c358160ed2be0a76b76fe4932834a33425a62f583d334735b8980ef8ee5f51d4d7515683cf46fc22126e374ccb7d8ff1280aa436c7eb9450ce097037e008f31c4af148db0816807b9281a100133d863b58d8a12e4d9cb9e4901897f7c63fb8810acd7f4cc21cd5af4a0250ed74362c6f90cb4437850a0c29678f6fea5968d6d7507cb5c47d70de42ddafdee945ec2bbad907ecfe17a4f0801a7b9d9dfa4367104839d09f8931cdec52a60586c9ed15f885dd398e167724d4056fb7f1120c2fa988dfd4deee5fd967c083c872ef46255600f5c3c4c6e7dc2b5a2ff4235a8e157e4db927702b502777891a416b453499c7b21e9d8967d526b9ff3facfcb0a653e71e107c6d2f203d3213ee736b822c50d691b3cb3b12a99a1195f501c2013c26d00cbda7ddca508ce8717565168b43db58a6054cf99af1a3e0876e075aaa7774a0dcae929ce6b8ba8b6ec2e016c594a83118df835c57ed78f34c2b81b8b790a87fec1fda7e96f52c4606e416b3e0b9a0b491c950095811e81b34028f0d98585043433b26742cf39b54e3c181df0be013523ecd0a85b5a9bc38299c1d9ee333e2dcbdf36cf80a7fd9d20306878a756a59d981bae9f4158090fb0a5451f4550c8735ac02210207d9b65153cd1d6c0ae33a67a67f75d943d81b62717c0eaf02beff815dbce524396b925e9897a776012bded50af669c7ff647388656e1cf0f028b9c22c68a3c777e6a00a36ea3df3985904280df8c4a1e488220cedc224e34f028c80b665e3babf27b2ad0214b43d521e237aba3ffe792f0d74fd70fc29c719eac87f5c8ac415f8faa21e8e1532cae99fb1dfbb2e9923c6689d20df3ae1d46bdc8477295b4ca16d8e5f2b4ed57153ba8a888db4d92aca6da16e791619c278d4741919063cc418655a44955aee67cef957ce17f49a395eda87407aecfdfb717522a712db42b48c19e5c9ff1090c309f74822a806403a3d3e735d6e46923c8a0caa0105a2d665b7e3c99dbc1f32e1e7c0b5dd6ac52d90265648c0cf4c3c246ee9a2a880084def60fca65dd7c5a5f788761a09fcefa410ae4ab0921bbcad984642f60ae9030b1e6af46856345115fb2145b5ed64b53ae2c1903b6e8bd1fbf5e526abe1c35cdc13cce805f4f1d621feed06b66ab0b03fc33dbf54b3cc55f72fd577ec0a08e03d6f08d224ca1ca04d75201f3ef918dc3c05e62504c6e556e64e6f91327ae0e8f963fb558ae1a484dec677897ec71016ac7fd1fe52ea6622222d5f72f24e9d4c7b2cd357ff5d2429eb13bc82e42f38caace9c275a9ab2e46ffa8412c06704203388bfe6e4aa230d6e6c25b43558c9e83eb679bdf136e57c247309cb3ea83311327d7307128e5caf06207ed821b0fb91f60161e58a06cfe21e278c9a3d947f3b6c44ec0365e1dc31cc65070a55d39ac1db41e8abf9e59d55cbff8f8a80f9e7960a7ea896fc433a528d272b3c01387a82d6b5f10a8296029ac1eb75c49308916f03a8ec1e14004872da01dc0c1f4f60e8b25414c61c7f1f1296338912732d22b470e5cafeab0754a4e2fc40940b07eb7e64b50c345bc1bf9ff50d2d65b5ebe09a4518d4ed46f911e5724365941a377c3200b7fd4989a50e3ac12a572677da71a46d9db0e0a750dcec301db6c297bef135c0e0ebed17f67b800efd2cb7c498e531a54c85945dd10046e1d714350386768089d4baadbc9b5482462d824fa5e36c0976c49e1438e85a67144f11ac7fe7c32e1c7aa8ea1dbe6518c48699cbe1ea97beea09cb245e0c8f7c7b488a94b1d67c1963e736abc7a8476007e26a3452945e3c9b58c0db399ee94a3f48050b8f5a1edec879db435d7bd98974097e8271e7c0f202361fbe0aeceb210c51b4b6cf14da821fd3cc1e6898415459dca68ff714e2401566257817a8412332591f9fd79f9181112a6409665e8695c495682016a88832c65805bebb725d7209beede2660f1cbf217edd12194f5abef4eda2d2c5938462dc082c74b60b412bac954f5f9db44fab7ec38ce5e0e6a5066639505deae99ef66692f7fb9e1d362d2dcb4cbee40e472c68450214c5bc6f17a7da232fd9372ac12638e1ca374b897e5e144d2f00a640e39ffdd905ca09f4fe535711096562f99b4f7bc24609dc32d53eb1ee14f6c3f2e945737f729fd2343f8c4cbbcf707a1104464eeefdfeceb66602096e0bb84c88a89cfc6fbcbf05516b43943bd6e57dda9ad2d6947a2fbfad38a3c931cae6cca3761aaa22a3ba1f3e51b6a59491123901c604ade0ebd70b33be8ebbf0c41e20a1166b348ba851d9924617f19dcb71685707547018777f66fe48848459162871145320d59b1a2808981d1ae3a30f773d8e47989398f5b5f9171bcf35a3288b822ea89c5aa20d2cc921482efc5eebc928fcc4685dc2b8eb788311e9e99410ec2d8c46617b0b23ad520a9943e27f61c8c0a4147907409c4983fc5fb0994401adc1fa03be652fc6a696d6fc9ee4e6c88e1a9fd74c562c143744237fd805e8797309e8fc9650c2a4b5ec15a223d07fcd341ec590d6549ca2e8e8543b89f56b9c849b1e3af2e6c5f945411917b67a33af0df72353539407249f395a2f55daa7aebf26946ce62a8c96a9ee76aa918d13b5a792eebf5884a0e240fe9a41bafe8bdc16ac5e1cc29c209fe4630d0e249245eb7db5dd4a1d3a64fbe3dca40af9d54882d520e1d1a794b2900cc30fd0667b2d01eaf46bced8d239f7becaa778f4c0ed302d58839a849e630ecdd0d4aa4a2ae6faaa9b25e2da9089b08bda024d7dc2f91a9fc46519543dc2ca849240ce34902dce8b864fad25599b22a90e9e619c366b20889c96dd90a656bd119df33e0108c76a59635a017c2e0b16e1237fd4f3d338a7bc0a3a7796897f36b8b1646080bc35d77022d0b73e97512dab81406a61e1dce2cf496b467a13499513ab6319c05b66f23178ce3838818ce4870dd51ed66522d58ed5e4f7c93804c048bec0ee3402e29104bdc4f5f0ae9709d93b43e161f869295e268117d0e65777cb70df8422b600cad8c28ac9bdb2a70414b5fcaae85487b861f11461c79d7c414581828f16d65ea0098009b3b63e6c17aff0c8a52b419d04eac2637d9acdb09894a7389ae779c3190ad558162f04a549f5009e619c3af84bebc5f5a36f103544d483a16b5493a8a15e442e284f302d43b9806afc0ca9dc970606b9db37921197169c4c8e8ad6f055fa48c63dd3c74af39f79f04b62e38a126397383861723e9e56692e188031e04968eeb7098cd8115b9f2da688223c9c621784745e27dd5e768e4806f25c470c3c5ca9044db13df45622deebbbdba4159bd36ed0f42b50da8473402b69d8c55895ae9d1ac91d666f2207e49eb3ed228797c4cb6098e9637a4c9faa50af837f98ad96220fe12bba62ce56cd4ad84ab040e6917bfbee99ecc0d36d490c8096c6149e0ee471b5769bae28e3404cc4de52fabd1c5dc212e39a4e2a5f554cc8adbbe330b8c07edee6797ae2c0f5291f8be0d046b929c58f842422e414022d915ab4fc57ca3bc5bcea4120f9e19653f53f83292093e8d22fe1a1aa9fd881784b0e4225eb0b59919fae9425515fc33b717f0d4f7b1d54e7fcba7400b86f98f03307086e2aa4b97e7ebd51414fb8763243cf0c248bc38dbad9c221e419b9216bf7de9ca26a03a0fd86389156464d5fb18882898764353e9b9f58760241b3240526bdb192cbf48ca3474e3e531971b967b0f7cc3720e4c06508c494f3a0019d566a0c31e128e9e3d13c95e363c520efc77ff78dc75c1b8d38b3d8d5335d606dcca580e24419aa22f5279af890b76941359cfdc414e13ea29cd3d107701e6ef45d0d9869d447610c8c07742046a1ddf4dcb676d1994da1fc279701c6a7a7dd82a053909d554288642efbb19f2ab9783fd62f0fabccb5e97be3575a9b231ea6fa80b588cc192430a50133df401c7978755bc08d386d0a928383b888a56688ff5eb12290987ea83017a13f7b0ed29e59fb1d281b0581bbe3e9bb1e6355c4cc831629f62f8d68b3ad9e573975bd2eaa4bfd6acab53f00c33ccc4e57f63996dd128534a9fb4cc95b2fa6a301a66acd61a66ba856c2ba6746e2e4be664ea6aab60e3d0373992accf4820c0b380f7756379aa946f5cbe6165b08b1ecfa54a5f7b49a26a69d25254e8c2169761916bdc0dad8d9eb2bb278e8a125901ac49e078f48fcea644c2b32c7544c9146efb1f10cf7130aa2e02cdeb4650921645ea07f28dee816a22a2b640f356d6392dc343b4168edaa412d463dab5da6bb16bc95ee0cde828d4bf4fe3fde4232925160832ec544641e83a679700944423fdf94993e25b901fef5e252906c043ad70d7d6c0ec4036e2cc570e08474db3f96ca2a3b9fa7088bdbd15ec5f619c6c47fa1256f9cd66432153c810ee2ad0d5eb47a8fe5c2d2d4a1f3200963312e2d9709964ec0a5bcb4ed67c3fb8c698f3b3c9151e76ac118b780110b619dcb62e312512028f1298b052e9c562cb9b333dcac65869bd4a514a3d2438df0074a2cad1becc1758103e374550c0ede86c504e3a2f2f4cdf34cba3c7d3ae649c40ef2fd4254a4c53f7ca94dae54cf07e330e45d2f21dec3dad520adf92fb163fac2e2cd258c004ca014b7158c07c2e4f7b462e17da63ebfe3c1fb1a962d4a61d55fa8e4de6cd5aad796d94611cdcba4fe2565a64a5dd39a2aa5f6ffebc414c08897aa41fc8fafb520204c1220061bf7c26059f4784d30355aa70c5e0628dc6c6c38bafd2711c939b84e501853e48e8ef2164ab134ca8ab93926cf09f0fd3308c407c0c33b5ca5e30c6962e142efe5eeaf735926fb01892b32a52310c80d3c3834241df0a420016bf46c3d22e15c1c2b3cd6ae236b128857d5c87e38321471b40bcd551e50630a3868df20e04a5b7360352a12740b4ca6b6ff45e3ed3d978329d4f758d2a8c0fd3c39c2b9f583d4b48a77bea722efea439108a1e60758f466ccf3bf9001670b83cc9494ba0a44c85e001b8e14843245c2e39452801456187eaf56c7a399a2dd58fd29132b8355ecde5edce0eba0a8ee6476886619f38c8feb8a23e90863cf2b1574f0f3dc39f08acd3bbe361922d47e08c378b5552c07f0c215af5a7b1f4c64f726208860803b6d464980587bc230b98ce9adfb70fe64484120af593851b2b2c4800e17d9049b946d4636c230fd0a2455f1657e0eb8d168f88d8ccdcac0aaa03417813288d1d3f30e6cb7349ec4920591bfd8776c770eb415c016c1838ad201d5cb894793ff3e821a05b4ed8b204659d489960e4a4a15b67edcae390cdc32c98cf5fa282d68d897bbda6912554ec43f1b902904e9a877b89c8e5fb9cb5d6019b0b66bf24cf5eec7e3ca380100721714de9dd20330f30a7a1253423e456bc23289ac0b39a980a9136675b71feb1edca44c4a3bfb1e490f1aaf022508454de754d7f5eb7a40972ad953ba8957d71736eb0a5a12f7c5241ab45a1b337c72c859b825b574802bd6ae48c4222807fd7a60c894b58fcc53e66694cef23456e14a3d2f769b694f5a5ba8f12f48e1813968821f18a9cf7cd238596a09318ed0a29e1076249f063d0cee55106cb70b3d5b2a4b6823fca11517d87cf33c4c0a48a1981f08f4c948fd3461f100bb5c53c57d66fe3183ba453004d30cc4bb1ac62dd5f1f8e37bae5690a56e89244af2c722dcdc82d66d86be48aa56c615e44391283cc3c673d558492afa195e45e88cd78701b9c1c64f6b7a88294821a37e44d293781d1e9a59e08e18469b80fa9b1fc0103ab6a10c1e9766029c900938a10000c7ec29fe184238c8084fae9fb2c05177af85a6bc48f8e83b833262a0d95b58b66833afcc21627ab8bd5fbfb31ff6d681d1f8c65f55726faa908ed9978cbc340e8a8080b5f1ed1e3492811b071b90bd080ce1deefb3b05faefc86f032acab35c45320368b475c8f853be6d5c967cf1402c9433a768da80f8b2fb98d3dbac7ab98e3e9dedb4c97304ec680c4542a502589f6fd85988fc59595836a1d926c845a5f77056a00bff13e06f253ba312e3d17a6eb4a27f660885b0557acf18fcb660f0821088adff4bd194d200a128d8a8ca3630f1e6aafcacc43f391c0df147b28a5ca2b9c25e162175985e9887944421e87c14de514e463a2f1d0237f96e18eb380f192dbff55ddc547e16366d17c8bbd86985e6c0021af3186f538c76b12abba08e35adef81891462936a322b287f4f2d81145b6f600bd19c20da2c495903306d983defd1cc1ee20584362b8c3145c92dcb3a8c60fc05af3e3436e55341c18e97de0913e7437617919a24a48c3e57f462e451c89b770f9df459ac718be7f889e4f6b024bc32559e5e0b4238b49f82b570e89835713cbbd020e0e36596e3a41638abb02e2e02f90809e2b59d4ef268b7e4f82ffd8d6be063b21c2349f101148ee5eafb90eb85d24eb27ee96a3fcdd54edb11a906c66c9fa330a71f29c8a25b9da885d1498ce1cac9c9849af7434aa15546a12435b5887f6480ad44777cf9217cdfae8d04ff05b1232209a4a0378d824fb8fc0899aa4277e95d13d1eb8a890e0a280c0f53d7beab2e48e8f7e5fe9bb01f9061460da42a8523afd3fa48fa3071080dfa2a30fe90b080a176d5a11e3ceb7c40e437445d5dfa363b3e23223128effce968f2c2582bd8f45aa4c5318fd5edad1b0acced18e38d6da23ac59b0d9c5686df3f6b2b61fcd5e0334ff52c38f490813eb7e6aacb900c9809752a5d365bb7119cb4a219287c846deb069f58c9c6a1ef4a5413afe863a19b06943ecb398ba350a6eec07631cb9deb8e9cc1926208f53bf69dcf4e17176c680943135297891f18068a84a7d05db0d2186bde9c6a0644df622ebfece4c32a77551e49dc0581126af70bf71474accc4de6f93b725d6948fa1643d22d9de8d3e976d261ee20731ad520486edd0da444ed5dd55d8b37bd90d13bfa13d3c79b1f8effcd8c0e454efc689c88ebd3918862075c2fa23b7510256450de7e933610eec1f7616da694decd1072de1760567b8e3fa34759acca29a029e0c363049d2929570024fb7a80eb0cce38fa21ac4709ae004bdda932cb1cbcda082084afcead8e1851a5dfc6b38facc48b407fb201f74c6cc1575c060045c51af7318a373485928c09170065de904d883a239aaaa99ea8ad2b14ba894365f80feae1583e20d5a76e3d2d4860f87a135d14d489d4f40028875b89a6176f3fb6767f8384483f510ebc0b5850625dc70ce10895a401675b8a4e87a5d5323695312ff38e89e51a82a178b54341b255bc37a6686b60ecc82610f97c50f967e755c7087a1a1da899214eb97e153354bb1f226fe7f3c76b893462063037a3cc296445936639a002a0f2cf37fb90d9604f2ca26f2ffc9f12f670ffe75504f3bffe53d1aff93468ce780a011670adda4b4dcd02e9073dad0cada39801ed85f74d18abad167b68212a1b78023ed238897118268a9ecef4c045988501618d12212c89a2d9f073d92cd10935cfa55df6faffc2086ab014af01dae196546b65bbe88220b750f7bc14bf34b331aa389e202f5cbe16887611924282b06fdc225b9497774b6b997fdec3e18612eb38974a52303804a759cb8fbdbb2855cfe1470f6edd8591934534646f07ca0068921c57e713f2fb72eb14161957935566e68588bda186c537bc540e6cf88612550b90ea38090154254cff34e159093f442e8fe076de3d1eb336c48121168a7050756eeb4d2e1958415504e620c0670083563b1e6562c7c8c4d6d048d813bd427e85e75828eba6f15a9b98266e1951a103b6920b18fb3ba2c0b090afc6542e9a2674de1b6d9097ac0f4d8fef854af40752129117bd4195299dc1e1e206811d0ce7f7ed8e5ca417b9519776156ff9f681275c7fcb840d67f1a4d78dd3abcb18655d0be7322b094cdd7180eadf63c07378f5e3477287bcc95ef69e97c6cad1a10ebb54a0a397c7ce669d3f3c8552a6a2c6e4c8e2d8fabaf2044e8882c9913df381b4020c3d172e81d5e059fa0ff0c696a064488805b6cbe537e3f5a904a07dc8d4e9f38c2a0a40bb7d9283ebc62558224d405afa2aa89b46dae06e415c8c2f3edf99b3eea8b7015ae51f1b352599aef2ee54042065a4e25281ff5b51b0cd73a9ad08aafe2349e614caccd4777310caaf87905bf7d69c2499de61dcab9b496e0228e8cb45c06ee9cdd817f1d2d3ac30d84174b47ec1f2071c9b32d03d5f732a3bb6a2d130569010909e7d0aa5aba831e6978ddf892118243e35d84247b36d643ecd520af2481cb2fe5115624bb4f0c8374d8d94ed16340efde90d4b6e0441a3184c5100b2ddd057178de7719a3c5bb201bbbcb58f17b35993bc22c1bb0ceb5c07a7f1351c7fe27bb2c0a184b93058c91cb29fdc4c4a3ca1332860a807bd21e0f4a0d61089f49c5dbf1a6728f352ecc9b037966763d1b7c05ff4f8c1fc72c33eecc740c52bf6e445c7eec9ce911beb0a7c42083570b42161be42e0c57ef77bb6c7efd9a6dac05203efbc39074421681ad800e44861bea5f2bf7c33cff35c3861c55723b0221e14e0a7136694de3e0ae3d863b111b8c22b0dddddcbd614db3f61292b026c5cd44ddeb59aa7d1db47616fa9a6ce4f598d6361f14bde83e7715c92a830cf4c6bb35dc5b469c44d42cf5d52710c5dd43709daf408cf90358ff4f60c92fd032d486405b201637123111bbc4448c2a16b1ab98494ce494bd7352fe483ff1a849c796198fbd1cea1982d8979860646abed6916edffd05cfafed9a191a4e234eca7814df73a01fb85d7498a9353a7ea991a9148f987e9aa05f8d541853f46ae05a97ddcb64b407a06623b0bc8de1ea2d465efe735b8e030e3dc858f54dd2463ee85774e6d2a7c905b49db95037f70cb15142b22e035d0e56b3f54057894b248bf97aa85b5553dcbdf34144f28c212f424da33be7c1e3ea9b2fb2d3fa0a85583cc886388b4a29ddbd9e1805cf064493a8b31a151f6477b8df24525f4e9e34eb0c335cc8e53fc25131f710c3eecf8e18516bbfc1a00b9256b0440fa155a3b5fb7c8c768ae09e4d1046ad6155a23ab1719313357e052387ca6f04185288219da040a63b8718ff0a48c19b2b6924ed6b644960b2bf89706e7b25951884d2c8607522e1e432f16e9dc02062d086d5f2cd50a6598b9e438c7a2870307d9e0dfbc8193a1d6a040f5f3f89dadd9f6a3e725f2dc0a4ae489f95fb54c7280e0235eb24a2c0b92ab58e750f6a716e77694724d6a3b09df3f0f20447bd2462c38d31691030b654044c2f3cba203ed49b997d667caaf19e782408ebff197637deb76aef888826ed638dd13a0a28ddd1be6c63470bc81bc720c04f56d641b4de5c45d26f2a86e24feb7b4f9df46d9dfac82197f2c2cfa045350cad3cbff3a68c8e97ac627a3e9b67816a3004b10f04b3fe5567d91c65774d16f3180b5608c12c6288a5018c9a07c89bdab8a2657a159640e583299f690b49442b75515811f818f82a06966f66ec079017ed9eb65f550c6ff34f27ebccc3c05e96d25d46c75bd7e1c357c0881543aacb1d7350ac64a94bcef2c021048a0a2602764a2b63ccbec314e9ba096f59db030362e23244f611f433a9a7ed6201c088b43f69225218776ffa09f547300437e0bc2e01e22b7f4fd61f296ace6ae438b6d87214bb6ecfd0fe13de8dae6e6f4d5463a00af54ef2736816c38d073088b8598e28d37184aa58442a8730d171a94db9cffd4307280f3288889b674358f1584b276b8a86aa3ffb4d2ce210e0123a8f87b70fec7c55d844625032c7fe90b85ab5711cf832fac2628777e1c343290aae56303e1c4379da119a7071cb0334252b6c81ae88186d0d640831d94acf0a0b99c5ce8997bae19712db178b19abec0de7b11f2390dd0405506f7885d10eb23a474ccd1b4337ad67f719ef2b6f5e4540d857e28b7207721d5e99a7bb1fe8797c0f3d197216df23e430dd1f09b469243c078721734bb7b3a6a3884ccbc21aa0847f9036d287f82f6a8cf70d3135bf369352fff85aa262edd4af12a706bf5dea08c6c246337725968320d7530968a5358c409003be0d592be38cefbc3c38d254e7a56461d8389df37296812e8be0ea4107df92f5990035c03926cc3fbdf26dd4afcf26f8fb80d2de4b52ae19b254a5cfa1d43df3998de37923f5df1b0695b3fc0d3bbb3c6b08692a88b946e72d6e6a042efa1f12affcfa6f8e985f6285efbf5ee122ed4f318f22834247047bdec483328f67131e66db2e2fec2f413ff1ec1de0575d5e1cede94336b7bf8d8f22f0f82f1c1038781e11840f2b03b3dbe5cf08e044537f33017fb31e39d36ddc081abce48a7801996093f3988b7d5f907ebf56f67d55777fbc198891a4fb613b4963fdf38d670acadf1fcd4bf7cef915c397c81f80ee2fb86b5e28ec27edf6fa1a39b86b7686a33625a6dc228b5f26c270c82ad6375f0687f176770aa8788d074ccba79e99ef7030ed18897618fd3230a20fb754c3c9373152caa6d3e26d616b731912fa4571c9956c5dd41516aff53896838b909e007c50c6d7a92620ad0acdec35f98620040c5d2ac5eb4bf582602e2ae0bfb3d4c8b8b49cb4ae5c91194ea4b4259406d22db858f0a06dd217ea1f03ca2b3f43df1ea39867106f85eb5098484f0040e933eebd49c98a0cb30c959b968d4b0204f29e2f258b94ba492f1482dbee2cb7a264fd51d936a3076986ff25a47e4df99d23d21124891d72d44e8f5922e012aba3ae8252e67f3b82081c4c4293b31d80591a07484427d3002fa90c4c63491cfad997542c284b9ef3b8dcf82c990ddc04e019595c8e3b1c6bb7891acb8943e2f249873c8d25c3da2271864d253933c81fa9adf7e0b62a3af82c297f12d46f3cc197d4ed68c77da5d3dc4323f385453d102edb501be9612a5426ce46c07189c8d2ac4a1e0893401d94f44117fc190fe777e6603dba931a0983f517135322eba0cbb3537833d12ec17e1131a40f699de07cd682cb6214734b02c84b0ea2c44dd04b32328148382eda1dfd053991d02e62e49f44f6e9a53147861237b3598737bbef9d5a9b169f170675cf8b953e4099c2897b513964e31075a39f2679c333120f7df7a1b3b1a1a911d523ce5350a24c6df7bfdd3a20c000b732dc641013cb65f651f12b2c894953c00e6c5fc3924ce88ba0c889520d42204569a9f182253e011cbc1b29a7d0e48f567a52ca1332cd4087b3f2c32d0968923cda0fa011882cbb8a40e0022463793bc0d9ee6e392c86f647854c8309e67a478abd07dcca6677e9be4ffc3734394f9dbcabc41696da6d5a0df3e1e8842a4558eb9205b4e5b9d7e7a00dafad6db5d278524888191736bff0c4edc9350098e52071936b1ac8daefdde9153354a139a103aa41a6b65d72b82f29944e3eb3aab52fee136352e1345905e58949393f30b672ba83404892aa62e5fc103a3316f716930d6189ef4505f4e96bb0d6afd3dd2df8c7e603d65bb07ffa498eea63cee021caa0263c96e64e541d2251cdb830b36232de3f7c76c0844d3f0d2f8ac4029dcb88d60982c4e6b2399ffb34afa32ecb799c8ea1634674890128e5941fa5d5af93c6c6d8fd9a8d6f4e7e7d24e728d5922173543036683e903b96e1068c16305803501f06d8a12c5f498c65819bff6b3f0d63fa47bc0ba88d2ca0acc69d5dbf0f17c94eecba0b81fc448b68903fcd3792fd7c6bc3d078188f2134a46ec8150590bea30d6c1f91a2e0a4d1243076c427316283eb7a808e0f96f43acc411605c1b52556f25e826291a080a4ef204ded2bd0d64ad11f89895b4d312106dd969d17c227211e26544e91eb1b4ed122d366ecd83c16171fc488fc3186c4b84530abd27ec313dfbbc277bee2f4bac4dbb04f9b895a7b7a9e38f558be36cf56f75b878a2c371404888410f6919d5834811ea83ca6463998daa4672ffd594312e119b310d59197039b604c3d40e765d1c9794de7bca48e04d84cf3e2e935b74f3b28fdb97de3d5062bd5956826382b40c92ef75713c51862b88489dec66f0aeb663d9727b1c411670b8c7f74ad7faf59867143850a1df875ff5a44d8cd5f4e2fcc422a304ae2b7df024ef89a20c4b615192a9f5dfcc2251105f4078270d65914981ea2581a3fcb2cbe18ceea1cd63a3cf3c734f54a3f270e60fb302908e14c4345cec235a8779b75c02bd95e6bc945105c847aabd116493a14f77a605b46d6f7f9263ec61da7de4381f1485b6afc903bed845c647e1b89a4d72e2bb8e0ac2b2326159b2fd099e4b253fecd393cf73e1962ab70b5a387a6f99673ae27425edb2bbe925d9588194fb2cba0450ce3429f68cb7e16176bf5ed619f1716a4131f6f2c2f35548771583977d70cd975bb05ddf33f7dc4a36177901b0b19cc92c7422498ab6d82a410ac50b31b05007dbe66d7cc363d81cd0727b664b8b6c4347a63fbf48c7cb1456ca02f0acfbc8de93d0bf4c092256a13d674379289fc1ec0114f92f1a3e325ff1ba1d6b1b0819efec54bca53d3acadd46e789e53b92e06254ad93de4b1c50bef51cce17047954343564ec096634d431864f2059940a01934bc113d2b2694f360e4be7a4df4e46bff2ee00c0d40516517d935cc01626e303d0b0adfc1936ab2c12f606cd1cc807d60d4e7c36d59c67fb10399477b28617fc454305a2931de153cf8d8b20cdbfa8165e7ab6c3398cb4495ed228e3341a906ac20dd053c4384d36329532471f8f03957142c31da7efb198ea12711e672538ab50ac9bd8b3eebf2a0fd10f743118d9d86a8e5d6491c2b66874fd48abdd89ace95928e92226a5118b7a1f8187b911564bc9b72bc7d86103a030b6c608dbe665134091824228b2ff7142928a17492ca0aec95776c6a4f4d327f57ffc1673f14ba09c716b384c4fed4155d21f620b5b2d4ecb7329512867eb47c11d9c93ddb5f609ddf44827d7b0537b9e8c00a68cf3d2c08455309bdbcc96353a9009b33bd0620edc115f221d9f5a8991a42dcecf7485d5a1b8fec72e57e990055156417c0d3dd69e1d855e09480c07b1bcbfe8d5db17f2c58d009c882c2233d08672e5bc32eba1abbf9cff8544ffbb2cbcccc96351750605d28800f2f88e03a60435397eec62bac8bf0150bd8d5a6086343278ebd05abde0537382568ef27f55899752a09776afb5cd004ed85d2d881f3bec64638f2957aa753f67161d60a8379630f728550ffd9506c13ebb322b9582613a6aeaedfb5a3e69d194766e785fe017655d12bf334816b71ef0e21e4a0d2484af478cbd45edc634049f203f79ef39585e41d0bd7f8b5133e75075d19eb2478d7a8022a9d408b94b6802d0f13791f12d4a4a73cf1467d0b153e939f9a7f9b7b400fcbf1938c52a380a996deaec6809cec3fec5a5c0bd042df1dae155f6f5f8ed116ba7141be319a80c5dba1a9f53bb49e8d0f3f985c90c597d276ed1ddca98f220c52bf94a7d17bc3e747c3d1a489bf63214b6edf8c23d35bcfde1223b09a53e1bbbd5753699636ab5b26fd54046640cfaae63635ac190a118bfa886bec65d738badec8be1c8e78649d4e5a1742c650f226f44d702c33204421132c470bfbd35200691ad4bcc79789178400dd150ed885461cbafea2e4c061ae7ded6c342a8281946d4fbdef2af23fbb8ea96baaa1fed7abf1cb05a1c6549d364faa181a960465241d383c9942f48fb4b82080bfdc5c36bff10babd2e96a6facc5e0dbf0f5574ee1bd557fb6b0489a68e6373d5365b70fc3cce65d617275e29090df84073e78cbba12e0610ed6cbfadba76a7790b8b71612ce066b1fd575e410888f920aca1fc446806e497c871b364bed95562a3398702001ed4820e586fbf9445711487bb6d78680b98c9b378d2869c0018267851b3372a92cf23b5b3b53c998a1e32b43fd9d2bc8a2e23dc21bf43684e2aa2fb9a4ec290c78b75917d2b59d1daa51c961c62f8c872450ed624d87a75b292f83be19ee3823a96b575bf98a3b06eccf59cf1b2c75050b863ae8b6a16d25a626c190ed1324235e3be91a1821daba701d37b58a8163d04581c596332e3b621006f89a343c8756f195c298d43e438a3fc4accf1066ee592a33d44241c3aa4dcfccd08d5d163a8e4ec2c13e727d7a5504db0e07639919e24dbbd50ac0c4416bf1275a17389873140d75630d75ab3a66b0d8cba7285b52b5d955be503a6732630fc10ca5d7e800af3750ae65205b6b255bbe43fd7ac852845de8340e3b845ddc699c505ce81ee547ec0145f1fef3be9fc438a3b8abf20dfdd3db19e5a8af5830a78e18243b4a7e9b0e566f14aad79058b9f155a574b0e26ea5467ad60d70938f393127272bcf75ef6213cb10cb67214edd13d44a2fa86a3a524261358833ba099598b39a86c5aa331eb29ce57f1e814501bdcd620976bfafc23e3561e3ae2a62830e6f7826d4c2e00c5467e40d20a4eeb922a0af48b9948a8aa293c6fa5fd2f98700e08929685f6350de447550eea867fa3e7576f54330d13d54e81ac575a4369384dd7c1f19084136c6832a9f38ca274f86a1f7f98f0e49199cc5648db4593b68c028e7071d9412cea6a3dc5e301c918200ef3f2b6af32e03a6da98471f3a5028bf4573607d41e23a509c75d3c6b90867b9f0e913a02fc7dc2fb20a2c6384282c0f8f87b2c3d010e9f07aef36530adb3f1cf6d05aa3cc9299471f23092166b9241f7a2ced8aff8892e364762a433ea502bbd10b1b418527e9f05f542fe08fd614cee07b4d9f4f923ab0f5014afe77bdacdf85c2a0e435102fe474d4cf90c5cac48505773d9970c2c2509b50df506e1ea3d3edacb9fe060219f103109fd2d4fe69bfa181d0f4be861d508a9181a80e438cec6b08fdc066f9fc28cad843460c66dbb9fdb68f6b6effa0db6775f39a01ad20cc9f7a4f726c73ddd8a06bbfcccd0db4ba6ccae2f6d6a1153c2d8b052900c64b73f7a925e8e1cd4ddbd4f227e9bf31e47569bdf32fd184c754bea6c3dff8e13493d83a0e9c8137d9090805a38fdf00265a676be0b22a201a9be78d8382bcd9101b5f48487251f3f207034d1a6f0ca921cc384c6de3cea480505d4123dd5d4a3d37c9236c66442a366422f4c6e51be5e0e7907c9c0e20f5b1683ba03f91b1c2cb5d4a4079939acc21fa64f9052781c435bccf82a51d24f9a0c6ff835b5f81d1d7207646bb63ded1fe0c950557093605a1b5601b50c1c7b68162a2ceb5c502b1c899bb9007809ef17acc920fc06cd3fedf63ff26e26db214bb20e3299be2c0a7f7c537cae68d2affbb2d9ca9eaa169c2b5cf42d88100d83cf547db080a2941c4b8943fb481d2305cfea17458ad554e893657980ad557638cc7ae25007af0eafc06b29b6e4f3f30bdd8f22816c31d7c8755ab5fc97503924bf8e061bf07d1954673a0cfa04136ff0b0f673f121fc95030d9cc4496fd49ff368bb49cae80367bfd4caeff58dbe24ecaf529d5231c1dd53344aa058de0191ae4813c95195bfb1dbd3eca9546dff3036d6a6e189500aa872034daaf1ffb3c794bbd7b900f1842b34c42b67d422a970a1d45844f03a9aa1057861a67c796512328f39b4a8c1778cba4d9e80a4581ccdc294f2632b0dc00531bed6b206c8e78b6f1f8726ed61a27de16a15666a769cf500ed2b2283128aca566ff2a13c9ed00cdd7d0516e26a28e27409851c830bca4fe07ca107d0b32abf31d506a8176b985db4f7cd2d698a13bf676bcfe958d4976694ebafb9e6eb50b0aec2cfa2816b6b57f27d41275f330efe32ce735eeb261f92a82aaa11d2837d2713444f9c04d9453b871dbf5e9fd99c1f41f7783acac0eecb22e0ae180551c88fe2e943663485b7c8406628485852093f22c86dede37a1091de0857d606dc87bac5e8bc9dbf1991cedae08021e76467fe5e782440cbdb5c31f637f13a7a04e64eac33cde423e74447f49bb5193003415837fc20bbc7d48d43fb65954c75494616b506585b170c9345d241906759da7d4d9fe694efc9e38248472ac04159e13675b84f80e95152a33e38bb31862254de91e94aa30368c6de35db52a198d1cba08dc898a4f0bbd0aebd99cedb110b2606a79a63ffeda5951d916078fbe1d2c876fa1a77be0733533f586cc3fc6777b1349ab471f4f41144683fd0e007abf7a093b0dc8ef4b675c966e6e5a33e69d76d0a908755f225852724221e63a37e2840489a6163191e22b4048b767535f17ec795a09ccc5b1f1c05bc2478ed46e4c93952f02eccf44c8edfa9aa42e5d666c4783d6e39447e26d3bb3e66fbb2ae8643cc2b18ebff59c7d50361d51a98ae896eced2f42ea61b7890ebeed28ed51ce4732e75da93df25d3fd41bdcd50db3ef8e08dc4c70bc188799660a774ad158294c8cf115536b5cf30fc88b707292bc7c84eb4974e0cc467c9728c7c6b968b4e52f48f5a29307018e967c9bb390640c7edd334fc3c8dd930f569c85eae301ffde582c6f1a7a0d30520abc3b0c166f46a6ac6904233041f0a208e80cbfde63cf40a4b304944d70285023e2a283c8d748b1a07eabc5c03229ef5c164a42a8fa80299580b02f625f2c9bdcf72640a842b6f3ecbfa7b02f347cda70edcacdca3797b5ad14d0717468e488a7f3c40f7916025b0bdca3e71e154533e11fcfa2ab516c49b961a2f49eb83ec880ecf09cee6504bdf77b4357a58bd82e53528b18fa23f1c58203314abaca606397b204a268a96eb32c00291ee00eeb14a65835b488389c8989f190fa1789c700e69212085f7f083c0e54ed4eb60c849cd75c5c5e9f0077eee61210634b77af754f8b2be064de57071eb14020087a96b6642171f9167b3bcc79aca053bb88e17278fbf6984c5af82b2fca8c07e125daaeb4e97f0c691c8b124985a1be43003b5daa4f8012266f0e67ccdd128874ae77abd20dac0000cd029e1c0c37c27f8247e7130f5a80fd145e9067d597938c7df29b84953b8e056b61b2fc3cc08295ec6df43f04191b43a9a49210c50d2dc5d4fee018772a16eff31122f6a11278fe5aad8722051775dc97e328d74ec55bd04ba5fb9a60031e161f352ed1459146815b824c8291cee19cecf4d61b5e57113d0fabe09c0c50c7758722455520387fab314a684bccf672ceefa0f6a05e1a5dcfc0c051279c7be29a15ba8e2406bc39e1b55fee95fd60f57b09ac31cb0384015e460b6079058d80c552b9f40a1d40d40ae89af25f5196ecf74ac30cdca41fa79decf0ace2ce633568f5983d314e62cee3eb254b69d9cbe74445be52ccd37c02ce54925824514770ea43513532af07ca06c5b87e9e53009fab2b60aa79de7b8cf10a5fa68ae7cff65b62b2f81462ff9aaf03c9b743c4b2e84d87926a11f09262d8aa81237b59085410ebacf48b8202681978d3007a250718095838320e4f5ce0607e8eaefe4978c065e66cd0610fe5728f995da1a79324c8b18f8829b99c093fdceaa95879249627d446c5f3fc5c4c6a83c699a3622dbd5132ac5f38a072a47b4932a67b0da9a96442bf6ee52c99a2a008f1f31fe33e0e38a3484d4ec841295ef576c313e817a3c466c257cfc80431feade0f76018a0c8c356da4a28f8c8a7a0139c36537b441299191a04afefe3c7258159a43efc6abf089e7a59833dc9ff7d1b742a46766fbf81ebe68bfbb2587d4c9baf3b62abd732f06afef5dbe9d69b712c3143f466b439355d6d33737a14b2fde0a6004d3c07d64742a37e627ac0f67fd4067a9c0eb0bd20c7a18e3893773a48fa6a81c488efc79d216d2adbde2cab25165590e1e67002560a72ec1e313405ba28f95ab8c557269a3e68ed871742bc392e1ca55ec68ef84f69c87ac9684350e1b1a6656270b2e8c1c9db9f508ad1e05638bc980f7e6b9a667f5dfc5bb6dd49e30be38810b8b43036d5921b85c6b0fd284fccabb8db0160d80b3c01b60b95acb0d7cc68095288f1e95d2b80765e9ea86078eb53a94ee3f1c7746889e757e107df925348d135cf6a4eed097b986e495e9c29b1705d52dfe54e8f211a105084fa44245830929d96df22652b47d24ee08a4b50983995ea28f62bc57213d87f6750c3a43caa52e8dd483e413f9f6f9b7c3a4fa01d4733dcf6d9a2d2742330a9b80b6e0fc1372c8d5821252e33e5cbd18ba689797d7665689ba841fe063f5929ba0a0f2343f45c92444cd38a9313930b6a1db9e7b02f5c01944eea53c0ecb055b14affe81b33198b87914086d0d28ddf8c6bb5c957f237c743ccdd5fd4ece7e5abf43245f8ede0d8b9441862adc7fe2817e9cf1eec3e4c7023e39dc9a7a171b76dbe5c78f71de2546beee4fc883a883ad5bf101372f43a0fb5a735b1a086ef3ae7bc5630e1f9eafc6737f4b6bf16f2f0dceeca39e0de3b8131292af87bab1d805e50ab50ce60905ad8fda0bf3a2d222606e9a05a1878a3fe7186d2d4f9c29c91e4887057379085234778fbfbe8d0d25b903c05b9a5c2c7d4e86a5400c7bc72435891d61c2236c4801762ccc08b3661841df9e100e4045baf8a7696d7d23763bef206d0e039db74b864df6deebcfc98da39021dd6b2a8203c5fb0cd327861dd508cde6faf3d128ac90a6f6b2ec20fa21191f22b5031bf2f66635813c0e79a08dd38b6990735d7701d5a7b664a2f21752336e3db779d55d79942d352a7c069af813f20653ed73b8fc346db34bc1487b7733de579fc241bd282a7513f27e2ecdb9af505167075625503044803fcdff2f83f0468fa18bb25c6ff5c0ec14d5837bf0fb4010c62c340388da334435c0be5ee6181d126944a0bd4336fe25f4f62fb8a6200c595fd608a34db694d68c894de56ba41d56f02ddd63608459d5030a3d751f2213d2b1db1aade989d67ab9d303e6295104812171408cdaf0c835426856763951fa12344078c07b24f614b6d4cf23dbf3fcccf7bb5d17150106a92fc32999b6cb45f58b415009cb490761cb5d5ac2c997747aff4fbbc87392a68d0ba7bc722c2a4231e52a0a4d5a603279ea47ad7b090a255646868465704408cc6d44dc9bccf5477d43ed6f082ad2e10400421bebb318deb279660b07186882836f56b95beafe5acf9116342751ae5822ec33d7a33d0b80adedaad318750fa110500351a7e55347842c31d10f800ad9ceb82f872e8ced42d6b883bf7da1503dcffabe915e20720b798b9d212e8111bb767b63ca7469bc015ee1db4a65e137ea627b4ef2be06c1d0f04a128328b3cad9834b2e83326917e8a64eb797fec83b12bcee3b98b54ea286017408f9b234092c0b23a43b2e5da0698f2d7fbf2761ab6f714a6c1889c9b2ee3b6f2b412bfbdefbce71256d2e778a50973d9bf8328653c51029082486934c92fb0e838f96a8d99ab8b3e6dc83b63125225d387bf3f40f11b0799b17eca93f1cb00e29ec6e27d0d412f13b725f31a764ea0a793c09beae9d680487e3f0ebb09fabddec9955d40fdc985736904a1d3e8291347c50c67418c21a72d6ba4bf6f38206c7fe251adebc125394d2cf9ab8c2ece92569fe81a38699a6a5fc3f09d031262a30390b2817657db4dbefbd0041ac01bcc39848482d0457f9faaa1cc7b1ef6297ce210de1cf5d5246888a4bffe09149ede73c01bf52a83a3cf7f1601cca471c2417a0786dee274b32dc0218060f9da25a26ec24184f542947dd9c1c947047803a53296663b22ac9e6a574167cbc8d7c4e0b7736730e62622ba2fea17a5723cb580a079ebfce5498e6098f0a57fa31f5fee6eacae3802808d83bb1c932ebee0d9b65fcda3501a90b6e4d2e24f8441742e550faf8e88bb96e0281918870198fedbf38dec67c99f5c364dcac9cc85065f94a0d262662477d980af7e1073ca74b63788d517c1c1111a279a7f964ae9830aebab9a634869fe2a4135162bbccb9e8b3afb3c683eaa450d4b30777fab444b0eb5b0175135923cfe48b8a363f1625f63f2d1e8852993533eb436a48037f41084013327334f6c92170d05fb2d8eb5b633f0b43dcebb1c035cf78866cdd25161e656bdeffa49a85f5b078df7615b1d6e9e284516282baf5cdd91e6c55e6d4b1aedc28abd451583e7d03b2ef2e7332af3efba7b635d1b33b8f5deaccb4bd0a8e9a56a6aae32a8dee5caad898a64d5031fb97051f653d80e18b20c53dccd694eff543d8e7795cc5126aad44bf14c7225ee9d454f74c6b3d700cc339cac82dc565887b541bd01939c3d9140116e594514b1a5d18a87955d1b44187acc1ae28d62383e04a3dc89f839bf0152443363285320861f294584982041b4343329af9b50d5d629225cbe880f20f1f615bf1fdbd0c2f39e6e54a3a439ed5ee15bdd8ef4c229eb81decd824a63f6c087cde9bec4e1d67127dac49b8e9819945bc23b5115d9870f566e28571956ebeac1f0c1cd5773206c079adc447ec8a335d9a04bd3eb75605b7125e931325585e7930231d87862c74b5692a0f28d51c7aa008587c1f939b6acfaaf1f2181629e78616234f2593e768e99235e60da423fd74f7d660f316210d1fd2c458798e48d77861de621e1c4d9d9238026620c20be32f083d5c8926e106855310f325e733ecfbc2bfce49761432e32c5efbb14150fa4a01d61f24704db951e8d771a9abc1ac404cb24a20acfbba7710d92851db310509dec3e742e354ab8902b6949f1863aa106c60ee5fbafc2beab53063f2d3ae32a421978f80b4b65c71bb4054c38678b89a3b2eaacf453c8ac02922785df196bd0ff43090f30e0c9c3d567a804c58e2b6789c5cac67a81fb0253a7432f1e969cc669bf7cb4b2f31e8dfa98fb331dbc7bcd57a618d46505b53ded30be46495a48521b22fbe375bfb0740890f1f60de939b4877ed71f84c83a353e8fb07742ad40b15d64c1012b6453c33d0051a3165aeb8bddb32ae2ba60781955a96fc3efdbb28547095ecab8c9dc161fa9a7782dfe85e71b5b5a96de9db7116b6ea6c2733fde6ca6525ace342988846b1ff97dfe16dd5277f2cffa6ea9c478954adca93ae6b50aa7919b04f8508c5f00a9bc00f597d323148357a4684a435de4daa7357299102fa557d35f9a2b2d28e13e340a8461acfdd55498a28874ab0eba67ac2f1109b06c7973c13a155e6540561a91a85b43a64a25b5998cc6fefdf80a4f79a15aff99962aff6f5e903def98102264c38107e21087a24e88d58a34cc9434ae0848fc3a75b51eb0ad2c2d831103a095f9604e7563d6a91d5941258634a893e5a5b4a12e8ad2d2ed5833a9993e5f95273d263fc862a6e6b7b39ebc4d9095db1f60bb1d123a82ee75b343c67ace4dd706e858d1d0e6b7054f56c1f45e8eaaf65c091f0ece23a157f85f78c5d273e70f29c5dda033201520248343e4c843f4d6bcc5e1d98bada3db9ea294eabf9662ebdfcfa77b2c9ad0ea672f580569fe7676337a47f1448307fa78c9d4ce1cc6c8eac62388afc4bdeb052ca1e46fa9f777eb26fadd553b60a11242cb69c744469e90b92cb31a328f1cb6d40bfbf55cd919ab601a41ce5de7aff495fdd50ead14729ae14bf8cf35a521489cd0dce884003927b46827c4a198bb378dedead94ba7f7e6f86083e02af08aa506432cc255d8bd8deea0c325971a3f4e6d3d69747ea52aaba2584ff55cde25da744041f80e5be001e9ae9ed209c7de799948b601a59c23a55d21b08bae928cb4e43a4b275da60d7c7afd562000dbc9e5e0e788cceaaad3d389964a8466138695d510ec78738b87309cd93824b8561142ef28dc14decdd908b32b94914302b5735f418a9918b908372abd6af2bf720eb55ac8b863830278602c9837d0a9a7d28c565e0c23b99ea11a967ca63a1ce4ae27181f274da130b2e366aca5be960426534b6fc2c81d953156643c39431fa53cbd7d379729b9248deab872f16e140ca607083a43f4548fefd118108ea532287d44aa88516a43d312d2453835d0cc75c5015d9c71a8514d35ef444c4736b341aa834dea816d5f40a8b057ab4e07c5c31dc912b657b48cc305bab4b3f8d3dae2de077dba23eb0ee067da283da45f32db3c0884d9b922f9d395917c4b4f7ea1bca58cd066210eb378228672aad8b800cddb03bbb43771695dc3d927db94fec08af1860f58a882b42bc7f3ccb083b36032ba76404637da2a79eb4abbcc5b05127238044b3cc4deef6f866dd804a7f228dd4dbe41e4f300efd5456c98cd4a7a22e054ae14c4a8463fdeae58a2e9058e6ddb3dc49dc6994f913ee19fbbe11525312a537bd5f2e7e004062aef61928c614f5acc031e17b716d91dd5450d4567e5ed26014e7435c09711c2e109753625f1b071b9f56d38baad03a1a5a9cc14192868a85c674d1aef4f3ac974e8b409069e43e6ab3e9134d946f3261a0b3fa57762072e184e37c79d002ab8107f679b5f899207180e7f89fcf0b6c1936582fd4ef368bab88fa7d1b802c058d2c3044d1b03c8316b866e36cd0419813c5af44cda4ed421a7b13df3c2186c8fcaa88f8e57d698fb3fcb9fb5015280104102067e2ec14c8601b0ec07e58d43653904c1b5d5a63ed930986b841f5ac67393e5dcb695a3be3d21252c555aaf6cff9f9d1e6f630cba0d281bcd9b8693ec0fea14e6b70f44f0797e421de90245bf4a3a816b268142ad421d98d6f911b7d44126b21055a87b6e76357fe6a46610553286a657189049b30f27b29f1bdeba88123100b19fbba32efc087930d391d9846250f2ea80eef5724967325b3a560fcb61352b34d679cd6541fda95f882605d8ca56362147ce3f8a3a49cb9651a311b4c28f240e7d18251483792ff49cc791f8e82b31cbf9d03f9f158a9bd21cb95642811f5b17e956c233bca3d06d846d9620400781515b07b8c9a7acec8a9b7a60699a6b720d72d5bffa82789787e6a4ad9ee4a5edf056891898572be5bf33e66af34480af4622d3fbcb7c38065a38c1dda3948f960a4184234b3631804d71ba523c58ffc9b19125bc81eeb102e0c84f11fb06a1ed97cb3c8f7fdf0999928da1ea4951c8e32eba597003dd59b84f9c1b056f8856806e2e78e3b40220ad20e82d7043c17f6a5a066ca47a997aeb5d6b5190b9cd6b767b39cecdc2378f58e1dd7169770b621b27be737fd5e821510b2e9cb5ad4d0e0b0362257124bd763176ab66ee93fc660eb60243deb2c32bf1bd2d8bca80050f239a2ee7749819be4ccb9351105246b00580c351d1ba10cb48d73530cee257fe0d2b31f46a4ee3adb33c6acf358a11f07183ccd75ae80b20e062b460cb10f8829ae5c30e618f1ea18304b47678546b74cc38115e54fadb3027ff9262e113717904c9b4d24a38b07649f61545c18a4f38d6d3dd508e9496be421294e89e72c6a5a02fc4033eb8f804fbe38bf6668c064f278559df55d67d59e280d2595f3934d72acedd73534179e20bb8a26eca9464f555d4bd22f152ce51fd6353871db8c8bd6c32ef044882ffbbb8a23afeec2073db943e994b70dc53f4317c4243218266ce52adf553591fe2f559f70fca363614128f4cc437486b3037e334522e0638dc81b2f93a49d323cbe4f192bf2670482f02adc5d44d2787420af856e69c505733e39c08ccc682c4a8449795afdf42de32757838a2103cf1f884f051fc2e93aa961845d84f8aaf0b25471b8b80ef612b8c5505e4edb360c4cae96451c53bec1630ef303c5a8ae58ab5ccfaabc3b5cbe0fa37b52088cc2f17081395ff52af0cbf62c5dc15ebbc716b93ff46d11d4f9d72629d1ca309b69d684022e2ae88d1d54f7facb8922ed362392671c65ca16d6dd3f39a63b4d2e08cc0640da108add8657ae29f78318d30be8cde3cec1193135c8bbe26b1f3168b961edbf7f3dca0270d455cecdfbeb20958bf616aeca2c0c3593f3c39d178f6efee61e79a52184e09a8e4faf1fb982c0af2004b95b0ca8aab333aa671e4613b3ba19c1dc8d344ee6b93c50e5c296976fadb0a5d31cb7958396026a16292c67cf5105f51726695723a933673b319d86c08f255e2fb9ac654ee69de17ab30f74fc34863681feb74e36226037e7dd7a8683a9bad4ba362a4615c12dbd1fc4dbf6cea8152e4c18078c4a3bf68663c4bee9f06eafd601fb81a1f0dc59d893ed484d1261aad98d935e15525c1942c79efc2ebf4bd6a89ca4821ccf7e46e9248cf23a68f1c6717b7af17138e2dc03002f32397b344f4f8ab5d6a035e5ab1cf8f58478f09bb76f863d9a068b4952267914a9adeadef92eb19bc6f5efa6be9d9b995eaff6a637778c5c288e8403d237df624d6835c81e781c8220a97e7cf0e0a0ebcbe64fd59e4a8a7aa2cc7a92590b3a4eb7a78ccd6ef60c7e5d9f8bbec37368aacd85569445b4a91d57efd379bb26e69ddaf1a815fbd07e5d1978ca77e3895f0d3c22a3ed16aca2b1685f5a3d46705836af07459db49bd3307c63ef869e6c47af57e7304411930e6f78e609cf7fcfede077d8ff59775486f638a505246b0dacbcef596c0f25d5185123858137522039f54c5f2c5b18392cb100fdd1d2e7a3ca931e57a3a2aea1ad5876a1b2f93672491e0df1e59d4b5d659151803c9f9fa44df8aca9932c65fe4417e42a52c48892e6e72e0a808f454a6547983432d72dd3f6430748b2be652def85b1f3ef89bcf74af17b520124dd19c6c1a670f91983281d6c77aa477384452a6f532203b4470414a5171c0ad23fbd182f8efaecdd89d112ba221717db59679eae59b18013e5d57afe2ad766406754fbc7a554ea13a6ddaf2eeb1c82888dfd9ef1397b968a66890ab182f43f5b40e7f97f75056bcc6ba92ec3afc84ec9bccf32acd3f98aefa4f145b44f55265bfaac30f6e9932875871bea27050d1521f7b2a1cdceb2a24db0b0e04f5c3ec65d1bd406945f45a1bd91915d81f8c5ef0c234e5804cc22a50c5224d287cf1520e01fe303046a9a66ea3ec39dd81181f491d9995e6f8b8f64ac6aa3a0b66477a70cfadb4d9faf5a61c01f9d58769d7879e6561334117537cbcf5cbac9cfe6f48da955109f6bd7582056b132950ba5d8408fb028f29dbc92b21504dd2c5e0517547de2ca63a1a8c1b03a4fa8659028970f6985a2e6c4c55382d1535c0f3909c95d5da74edaa0184c9a6a12869efc7869134b92e343ebd240f828f65b64f3c8b17615f0c9ce49a2bdf8b4e9039dbf273f94de96d90801b6d775fc08a9839564ddcda06695cc18283cc3817290916fe9b6d2b59d82b80f0d9a36f35796c3e56ba7b6df61a936d8f809a9c11ef0016ee2619726e8f5807779a3ab83c27332b37349b850e09abf28a3835b79ffa77c5335ae7d7776ef18c22ab601d69c0d6ea17dbe2b46c1169793a932d6c9528aca7c97c6f645463022151f2c35eddf3f61b2bb358695eda69a335c81b4b6a52ef7110a54db11586c46529b3625b5f54884bf34a996c50364bed4ad9f23061005f74d070d927801114ab8538fda8c97990d45306a4ee03107005a43a7edff8cc3585896edb5d301a371837c16bf439283a42a932f7b1fa0de7f73dd948f58bd16b2fa962a4d80483fe66843a897de9857c2ddc6be3eed6893f340672dffa11c57fc107962be0ea76b5f67ae756e54121bdeb6caba7c048dc5178ca6fad75a1b3f5ab94485d69b6fabfcde470e1048dac7c6819a22d4b003af10cdab80e649e55013386a30fe536aef03f37bd834b4073587dbee9a2ec152f8c1e80a6a78c9ed9e11004dfc1a53143368063517a2163453f0314ac2cff1d1cacb0d70c96207578a7e553146fae5af70633df8dd3e233b34876cfdcc6db7d07bb852b8507c7da0f172d158209a7c2fa61c6687016b0f3fd0b9ab8ea14726892d0def4a6b69da2bc0b4777bb84069056a95c3e4c51320ebecbbd68be9ca7bdc8fc56c941a66e01d50c12e6db72e7617491192ae736a401ec736eb30d7db611925e0458c1a2f910d514f53e39497b2640c16348864879460c4d39301d3892e8a4c42b668b9ce6adf3b51a2c958a3d42c1ff39109bacfb0dab5a94fd45b2f3e5cf8a5c0f6f0588e302b659f466a0f2ad104ba49fd02b8807772f816200665d607efe5317a349e0261a293ecadb7422d0b3ac93112d2b2307154568258ed639a5ff1f5d1c923eb244ac6f95a02a5dab99fca251c917e016e65cf7800d88f36cd34c3898824b905f428219a6694d934fdd526c34208e4ed505c2964c862373bc0087604fd439c4f5b57f2e3b23408c14b9936edab689cc9c32ff2ac7143916b93cac8f0488709af22ce3497452949b7e01b0d87ea30a3978536a1a9638a960c9c4af08bb34c7743bc4910c22db184cf7ba0c9bc5afe9e2cb78c3b92f55d5baf3a80c03387fdf50bd5d29edcfc650b49c6361c8d22ba67ff44a1c8993c6229449b0802a5af4b878681d1cbe3323e4f8fad46087d010729ca2f5a0c7184b48754df0d043dfc378625951cceb6441c78078ee3b7139f761ae561007fac01f7981633aa9f6e38f1df0e3e0b268d71cb15933cbe71904246c8c081af5d07625963b47e8d3ef21d41e1dace6ff4f5f2e987932e9b110e206fa119588ac0cd10dc9fe6bd746e77996ce09159027ea591645eba31b7e9760f32e59b135da402e99d0b7a59b1ddddb9d5c6b8d3a2487a0c26f5ae13fd921fae6f35a670f2c377e8b2e9d0801ad46e1a0209e5e41f63fab09ec2ff5a62ab6e6c7e4c3880e04596f235ecf63b8cc9dac7634cce0090b399e1b0978afec0a3a04cc45740cd4c676e25081e395ae264be2122a572731d26a16fe1dfd523ca0b1cb692983c8683804e46b124e3b13e73cb14691c2e5391be30f9363adce5b806849bd3e44bb8bc8dae83c6e3924f6a70758df5b6fcfedd1e2c4fce54de1a739ed83c65193bca16968e6c28f42a9358044563c48545cdc5c4e261299b18690c98185fd29018e21b3ffc66db169dea9a790b402933ec7a90184611ef3bac81eb7c070ad96630f69fd3192926df3400e21e02edd998488079d458a1437b55e2aba217474b10580d65fc469d6eae7077f17016951e98749f8a3c6956b94682f036db8ec4ae75fc354885faa6e5dcc6e11f9c5446985c80fac3e36261dd4977c7646f19363889c4f99b4d735e9c2b36527be525268331c3c6981ce55af7519510140b2027e3388e8b4b481dae7f1f10656e140923fd934c6bc064c30dfda6b3028165b27df4d529fcf5dcb9b24e9717694d67c519d9d721bf3ee6b2977061a88896d68c247b2a031d6e3caa6799bf852937b21c00d4776b1efc668f07e242972e2889bee25705386de12d9128384f40c404ad38082af37a1046caa59b92acb368919d5d94e0f0c9cf97e192659edb178fd43866be11109ca38fceb12227f35a8730121af604962ababf6ada6c27e457219476f11bf9372d948f1dd7a596f96f2bdd4be1a796366bdcf28ae6f9049a2b7da18a239e527ee268db9d8619f5b261a6129bc209e95f1b3f9dd86f528c33316892140b8a829325f190dfeb2d9545e26c971e6a47e401f9d49aa55e5a341516ce7fc15cefd07e7a90010bf4ef25e673a94e4e242075cb9bcf8647a00b943e039ecd1fca0aa8710fdd8415d6e77f455246b7d5831943a6fe05c332e0928b144752d5fd1799e0de068826b3dc6cf1ebfd72ead9821376e66e859620a285c080805123b0fe7764a063a70daee1c3f8df133c3c1ddc25ec1e85905ad21b5af398266688cafc78c906b83ef03ecc853eb055df10934718bf090768ab38cf171b5c88fde87be59cb102b4c708aaeb51763327383e107db96a6e51a7041a3afb6de308c0323b14808604111f66d521bd0e33d2acd66103b514d6df1475d70c837b6481d7104206912b25d5c89f77a6d30d50bb42d59f78ad5c52d4a718edb05fb3afcc015ea43ff816848261503cc8d17f81f9810b50d0fc109d1cec191a64c19395cb7ecae4eef8f0cee004ee880b730e1c0e881588b380dfb4892c22d011544e4f684d2cc415632128b0521df02cce3ab3a8f1b9209234547c31e9c4119682a6efd954df2d5d7e992961f9c5e5c8993541b9f3b68430ed83c4161c3fea6744fd90dcc5768223c05b252666d2abcd5b55026119f40a6afd1052a8726882de31f5f46693027cc929d727d280e18eba8317b9a35426762e1cd0c5dd43340c333e36b4fd440eabc28bc6c9553819f690506f6feabf1271d8f6886818a043afc54ea43f9b52a56bde26f4f3b061863a4e0f5d46a393452a2dff9de98d24787bb6388053d69febdb778eac12b5b7863dfd26f6e596c2451259bed135de6a2c4da705125200c2c912c499c1992e97415bb0cb6d649b025eb33e2e02869949261a1a464129a0d4d054f6f5d8e40cbcdcbb159ecd4ea09a9779b713ae4ba30534df15322371e5f96d8d8c846e2ad89efd41490880462653aaf24c3ca071c13cf089e3ad4c907f6ac33548b2adcd94910d13819afa974580abbffe67af5acd0853b16ad81479878b953d13dc5ba525851e81bf2d80cf610eb83f51df93443554563052e09be0212ba43e797d90a205b971c47014805d500a87c085785c1fcc0a1a1f04561830dbce02b9764f81986a31c8f5f59c181da3f9f3c187d36ec09aacc9aab42183ac6a9103cdb0af4e013bf4719fd908bd500a4459cd1e7a3bffb9a745da0640c6757d42a50a2d24cc2b4cf4efbae7b0d3c704112b74384e7607a56fe5fc1d5b1f097171dd756ea21ef58f5c123c649afefff3d694715dd4ade0e391ced5019d1b83728587311e867c7a14fb892f28301cc675113988f255cd8680b9765fc238f899c694870b224306afee3c0f8b68dbcf77f34f2d0d82e6b7297e26149dc281c8932b651a9f5bd9e8bf6de5f3c7c84931f38a0f169ecd965116300a9872811aaa032e6dfc09dafcb8d9b0d3d0250e860106bd130e62a637fa3f9429df6b66df808c8177044044a3456d0555aa4228a84ab3594a2c871c106d8f4e31e324a8d04e29e15253e1c56c199557fed1d128d67c524f55664298f22586ebd0ac33916d5678bc30d2860b3a9be4746389624701d0640e687a1229ae5cd4f9d8116b9e3447a2c0e229bc7c88e24564bf91fc5658a0e9e79cbf8a7da003447df8edd88a65836b99b8c478584cf89981516b6194ca5983641b5929abb64f9447eb1789032a177c754242b9481dd40a602d1048db66c18ab05c2adf727166ef95185547830b158533ae6a0b191f26d61840f85218cc3de1faf606e03def9db91abde2ebd865eca763a92358c9b382293b667a907e40c728cc9d6153bac2c39f9c354b06bd3e85a679b4b65e7baaa09fdb3ccbf41dc481bbc582046caa21504c6d417e3616c9fce93fd253b26980d9af2067f90f14accb3eaa89fad3de416e2376eaa6c1330cce94491b06101901347d0084f595a53163bb6e29f6acc7fa5c1b4d8aed3f8671ac63c8c3de3fb76debd8ac76604be66ca93ba865b65761ec564e8aca60228907671d445f3a00a3391c17de7154694ba37f381fc7fba69b4ba04d694c9a9468167ef30a585e552a4958cf489b56660281adcab3e5a77bd7fb06af7ea1183021b3ac28cc084e1d2497b5298cdcf3975e264a4381be47c302ba477e6ded3f4e13a96a1a70d97efc335da9911681e5cd5c2e1153c46759b1a726a50cbcba1c9c2b01f37fc077367f2278aa0e00f58131f9582b049b7fc00382f4452af71fdd41c7467d3db4f572feb96ab5c44391d3f042e93933bb44ef41db57d9b1113b97c3772a5a727791fdc6eae855b087767a1a0aba5259632b4ce205a4ac3b58a8209113180173efe7d2bf4c605b834cbaa239198d8ffd16153244a52de9dc30d8a65628c1f2cfa71d065ef4078e4b4bf4b5df88e277099ba361d74286e526195933feceed0cc4f02d1eef700d9d69a333209bf3e0ffbe54b908f26b07c531e887f2179bf13f7074445162f39edafb56aeb0e75c228f2b182cbb2e2deb16707f1a50c7ab7f027ffd82a7ab7a661498594ef5cab581e974f21798445ee81909a58544711dbac1bfd8e4d7812e0d83beebe6d01817e1d5675576a82b8dd3f649b22fd913d580fee2d0c05be266cf6ab9dfb1fe1de6aefe8de64b7a480f9d360e4211947e4f9238d85411e0035b77a7a25743c9496f6044c5089a71d4feb000c4301150d9c55fa2ee81acfbb5d76c885e8fee56ea3eaae3fbc78864cd9ca43edebc503be2e91308be7d63da2f278eb6dfea23eab583c6a795a734127de2167e241dd68404f239ef6ecd9a32ca842be5e09b83d7478dc8e10339f628e30c33aa1284f850dc0b40387bd65f029e3962deb8458f6693ed3e36d116774b0934d8a839cd5c848ab3468c855700fcc15753fde036ca59587ce06ad983fee7ea00290d8bcf588bc36d16bbda17dd7a683376ca36b1964f731d7de0337d88c5793aa1ee645a39419dc77edd58b431b9c37c5254e8ec3890b4f357147ea2872adfb1817a08729f66579c5bd5a7c3110ab573d74ed6da10dee62d03a6d24da3715c71018b03cd69b3bc2b71a5dbb82916ead211ae90cfbdb5a9526774f4bcf2a635a0347bf24f2bbc2a5b796ca4d0b2a85e5c267601460803c14b702efba4ac079ebb4c88a682ed294c5f6a838af8ddc0e69bc9ff3e309eba927dcc4057781a996766b300180e166bf94710af4499e600533261bd576b79cb6bfc0aa6aad94e22fc2b38a93157f65812dadd9b7683fd9fa03b91a1627d9c2fa43839abd5f2f8b2d9e964f5449f025d90906042e82d5ab494cbddca8ddc5fac5cc8c1077e795ec114f16d8fa60326764834f4fe9d290b6cfd8c7490d0be1efd5215c3a04aa436baa5d308eb2a20e6d61cd361230b00023f688f85709ac09b68b010f946cdff8808dc3e89c6f51a2d5f1ba7f5be07d0c346aea786a201880fb78ff180623df6dcce4c132ea436152fc17a7b42b12fbe8a331e01d3fd27aef12b2b79452a624037e0a690ac60a3142dc90636253720c073926e671e813b3e32b92b25227e010c9124313412d9c7152950e85097da6934c30161801b8472e7764bc46c607c8183f1e812ce3471dc9f8ff072f327e3249c6af03041a19ff4be883773ec37c18fac0bc2059925f1e0c7d5e58e17fa14fe8813419cce54d061f041fc732e8432e833fcfc8e09f421f7065f3f7a6d0e7fbd3094a3e9dde0b7d4ef748ccf37a0041f64c30571d0f47ecd387d9724ea6dd2bdb36f037c18e0eaa519e0e0d56c35e273112b271efbd37e6540790cb9b2b603ac0623b34910ac2a557411a1eb9bcc1d1b143088d1c22c821579a08c4c8b5d27418ca95b6c30bb9568cefbdb4d81526b0224144d9a275654550a9c9404b2e6f7072a9e3862eb9aa20d7f7aec8158716d072b822f424d77f097daa0e0e38b2c8254d7983a363070272398f72adc18a0d4d72fd8721d727756c98b41718b97ecf0d4dd47024d707439f4a1b72b203fe00f045be7faab51619793115e048942321c8f73d0d2cb9d240834909b0383a419325debd41c2c80eb8d6ea420a685883c994316e2841ab9a20d75a7fc7d2f2fd7abbc8b5d65a6badf10297281a0d49c0606c4417d6c31e883bdb9aa5a66ad521805cdfc368e4faa82ab9565a08bcc8b50af66acd90e7797816e2703053d000e25e2f58d4f08d9114cef0450da73164e00c2dd0c154c6eda36107af8ca1931036744b35931139dc97772464451823a84bd24104dc6c0c1b442003470b82010f3af820868b0602237a10418c24473199d98882ba37e0993ca3b0e2a4be00dfd9112b536c103895671456ba58819518e8c8330aa41a5e27891897580a415070d2bfc60b5c760eec06e2a4ff98392dd8ec29116e7f90af8c4c9e570acf7b81fcf8dccf9ec2352ba536dde4457bf2ca4efd67a5737209b2424a67470a25c83d666ec749ff21be4af58490eba012723e9c74ff317966bf7b22008bf27ccf0ccc0165e1b429d7d5d4e5e43a0d9d8c9cb5133b1549ca27a13c4fb113519e3ffb2bf58af355e9b2b2c9b02e5f952e94f2c0ca651ae5b276b1454e4179b68744f814e42b98afdc94f395e7fc35384d5d4e2e77d1e01ae7e4ec9c93f339986128e1326b3dc1a74761c11d3ceb4b53eeb3f92a8efc03e06a8eb2c8f1002259675465f33dce125d96c381e33d1c5f71bc7dcfa5fea6eeece8e890a40c97f3956901a6b721125c7644793e2af5b608f73a15675a727272c9d894ab194b0f45339a864c39d39029671a8a19cb9d93ac085c47138e8e261b25f0fc8ee87ba88d38f3371f9b52b93cff0687583acc347697714907efa80e52315c9a720eeb19ca85fc4df03c1c71b66866ac01f3acb06247cb4e3d40c539be44b1befbc9819802d2c1ec92c48cd6eae0815ab4002f2746f2fc89a5fc59fa529e7505218e7398f70e2277d8ede6ab140a29f830932609948cc9f3d3c67a0e5e46591cfc648d390ec416a86a3eea099cf2673d5004789e8307b2f3acf1c789ffcefb0884e739780ec61f9e076aa1b060d61fe0e79f68efb2c963278f9439dfa382afcc9f4e749e87310af54f923a5d91cb166073b734733a10534038f80ebe83f1e78748c760050e2d27e203e03978a0d667046eefe0e77b175fdd501699faf9d488b3543f9f0af9cae667007e3e8df90ac74f01fc7c4ae42bd44f1d3f6b7e3e85e2ac9c9f4f8f7c75e3e7531a650de0a78d9f1efc7caac557343f757e3ebdf96ae6e7d3256711e0a7cccf0f7e7e7515e0e75723bec23fbfbe286b07126719e0e75725ab9fef32ca320db98cc6fc06e36fb0c177d7a8d706e377f33b235fcd271a66e7bf287a261c23334363e3460d0a878df8e38f63997a517c712c6f9efe8f1d733296e7f388e00144d38ec8121b473598198c39c61235ff463c219d66e229493c2939391f87784289a72e4eceaf11bf20f1137272be0df18bd188df8cf8c9c4efc8c9f931e257133f2d4ece3789dfed5b895f8eaae61b40fc965c357f87f8d9a86a7e01c40f8babe67f207e34aa9a4f00f183e2aaf93ae2574455f33d103f25ae9a3f00f18351d5fc1cf133e2aaf93ac4cf4555f305209eb8b86a7e00c4d38daae6abc4931657cd27c5538daae677209e8e5c35df34a493e97bef587c55764594d63cdfa14c9b24b73551caf3fd56e4c546c42b4f1d971ff96ad29a20cd3779a621d3d0ece677325f4199dfcdba235f3912793e6a8a6c284f6b34a72c97a69c2d72727e0a086ccaf5509cd2717906e5f9562cf19492e70340fc99812111e16a1151a5a0d672324b87e5d294e340c431c19f1281bfacb83c7b2c716e28a65c9e3dbf65797e93911202973d038bf2dc80480d108e0b208c8f4b8dcb2b47feda7d49f691a63d7b5a60cf0cfcd34d79a1e08bd6cfcb13f123642d27dff78b48e4260667b49c50202a963f41d9bf6ca1acae92fecc5c1f98b988cc805cd97bb2ffa42c24608d357225cde5307cdab1d0e56fb6bca895e07e9b9dbaad4dc56b0623b6d29d1e3b21f438124f72bf11d38b58e09a51d167a10839b28f5e243a149739adf4b38e43a228f7676bca47094ef611b96c247404527fd45c4c652acedc44fe24740a4ea290d43315a8a8810e326d3e7952399c75a0a79ce6fe36e26293fbdbd64bce6a2a2eda114ab9d26640a2642b510a75e346be721f8cc8a543c9a89ed11142113aeb28d2e9a2c963737fcb264f1293673679e877dfdfb446ea5a63715606a894c9a38d74d052770d4f4c1ef7680ec53682325b5d43ee37755118f8b3e7ca8091e6d144ed413fca6d4e2a897f127bd6505ad6465d74e444dd8d257737526e24664e3751eeff44b0d9c75e9a393be01592e0d0514b55e02f4f9a0c4cccc0a73c6932008103536bf5e9f54e3ba70da7c9b556ffae65746eafb534198ce4704347c47b76529b23cf28a83cc95588098d182e10fa46f60f40f797738aec730af6a721e958e2da6460ff0f53563331227b12380444b05ce2193270e9b93ed39bfe4d268fa250b4a99d332dc0f37bec3ae71c5d4ef6d723787a5445edd32bf4ed47f196aa81edcf065460528a47247059f31c9de0d20bebd287733887fb679da81cacb5d6d29e3cdf8a3636dc6f87dcf9d6f443f880d9d65adb81d15f56540eb8bf5a6bedbde30f9196125ca63adb3c0d90cb39a7e84d707ffdef6c641a2acac4e44e9c650b73c8ad94ce1fde7f903d7fd5529ca701b2fdafdefbf58e605bb1a401973a26d378050628e4f7cdd05a6badb5d6524ab193d5fd075b814bd0da2a0e71d48ad27e6c05ae4fb7e077d29f521fdbe33fea5137df180f71ef01e38e0b2682a2e4683018c993064528971e6d892ef983b10f2442ff7d9ffa9ed7e29c4fed58473ad27176bbaeebac16d8e6497b01c90b3884a0d670f705198cd02a8aece35cd7755dd7a1c056f1877104a33a14c4e8a5b960a3e1af243de942920e1ab7ad578b42795efdaede104beb7b89d3305ce0fea9e566aff676dec9a9bd9d67fa421feaa553ea95369c661dcfee9dc54cff0b2bf52f6ff4576fb6b68a9e4b4a1da4f5bf4bab673a7da058dec8f4bf1338c572ccf4bfaff49f2038c592be7ba6ffbd50ef09da97f1a34fa98f383367fec98c2db6e0820baf7ab5bb768bea75d76eb1c5164a7c4e4fb49a2acee4f1f27492ec3348ebbdfdeec6e2501d3b663d705a87ca13c0ccf15ce264a72379bbdbd93c499224499bc9990343e24c1ed0eb5ebc12d4359474ec8d8820ece4a1ad5a43895cdfff27962bc8c002846d86206af022fb3bacb5b6d708faa05ab13150aa2128066680201603358ee02dcb994531a58c2786981df5aca354a801cea2b0d2b4466ada9c5254c3528b6d60ab22055663559cb885af2a4f84a0ca6c8c242d9d4484030949090e09c9091b12951852959c4da96db6c83645899a1345b7a52cb8ec9b51cc8cca1944ee2f2940179533baa07286ab71cd650b5c360ec6bd74278c3ad75db8c065e7662fb427644556c4684f80417be288abc8165cba4bc93493a2c586c4579b1d5199493922c88816fcd5fe54f5553dca7d2329e5f228a080e231779fa5206bc92dcbfd957a4c493b2c0a285ed9533eba8dec42fe6a40109fd7b71f43673bb79d7bfdb6dfeed6fbdad9eb8d31d06e59f76abffe6d2773fa3889582077bbe57377775b7d7cf255ef3a6b3791765fe29bfe4d9cd216b98c0b2e2b2c534a5d7e83065c529758852e75bdd7297030bdc40c0b122f6aea4e94e9d32532fd76225fdda80368eb8ef4e62aaa28f82080bf6fe659bf89539a5eb93dcc63d2b12aa12c8c42fdce8eabc89a4cb4da748e2287728257ee0b43cadd6d7a7aeb75c57c35e4ab92e63292f22ac9dd6de432182e9a6d1adfdbe909e17ddc914daf6332994a9a4d4fe3ac4bf34ca66f938fa94271d6a51555225f113179fa2b93c9c3e46a0f8674e0dcecdc9cc74caee6e144edc169f4eccdf4d4e4caedaa30aa226a1e5509ae278f793ecaa62fbda81b7212d61971950eaf6f0ef7a881ae30cac278bc30aa328d9fa91b22825526d52362e6f48b80ca3ed621231368c9e5cd79375fa560be4d6259bf735196bd51d550d9c5feaad17dff4d63f2b842ed41175fe5268fe30ba32aa1e6718fda83fe9bbd5d6f6ff4de7a376f09d6638982924d63d9115d9ac96472f1259bde45939bdcfd9a9e5efaf75e98e9fbef51f3b85c9a5e586e3a76434ee6664e979b6b1e378de9417fab3173bc5f4605b87e6972e1729b5ca622a6200fe72b2ebed280f743bcfc7dbfd705e9387d24796b4e22cd1c2c37e96a11af95e941bf8b978a99d39766d303fe5cde5ceefea9637ac1380e2b5ffdc983cad35e77ebd6521759d060e6646d2862cb284dcaf54b93d798ecfdf4463a6bdad6c55811eb94d67c55d2a59ce4abf2977c959a9562a15a94c825556ab03d3aa3ac1ad44733a7fe6704762aab242ad311859953213055f56b49b7c87526b9774d43aa36b9d69f559a098e72fd20a5d2da5e15c6453362a27637a861f5891e6a52aef5fd6bfd99244c9249740c333973fa717c45290e3cf2c9fcfcefcb1fcc14bf2c233a09ffb32e9eb208e0e38f11c320a1f8bd8f1966c4e19fc421361cdbe49f1a218ff403c51228262626c6c5324859338e3961f17b9897f183f6e0fb502c77e4ef7b28287aff899de9a78e6c1aedf7f750ef5ac749913ecf594e4c3f6d72bdf6b3f61359e8d7e9eef8a14b6250abb5421d446aa2acd10a1ffcef4fe2773a9d400fdc11c19174b2d7f842d149f75d8293edc3c9530d0c70396925fcf84e7f3a7d08b65c33e0a3a8564239b198404338d1d087fec9ab531fd97b502c7732f8df49fcd37f27b1ccc9a7ff1af45295fb2b03904fdf374eaff3ace3abee1671e2f57be426bf6ff4bc23fc3d4e91914c4992a613a44bee57c159ded29193c8e50eef09de21835146a37641fa9dc41b2af0e9679eb4228cb2e7926cda0abe2aa79622847cf8eaf4ed43ee2f694ea2f704cf70849348fff43dfe29f86974a2941f9505d9bf022555e8d084ea22a1ba3e7be2a43d29ca9db8c21555b044a8e0e40aa0135c5db973396d30657c13a7b4f37b82677715e7c7c0a80b8b5c2670faeae57b01715c9a8220085ef0a7c882062b305b180f0694097d5c8993f48b8c703a762ca963a7c70f0bae4274984ca67c3af588791ccefccc58954019cc179884766525a70fc6107ecdc780ffc6cbe3f818621e05f3361f83ccdbe8e9b71153f66d9ee65162aac321a6ba990782e367befb19d4a7c69f9947fd0fcde378a0960d31e5009ba7f9941d81d83c4d0a888d9f791b3ff337520fd4aaa9b9f1f66fdcf8d4f893b28fa22afa40ad1bff93b2a30680a4fe86e66fc69f9f9bbf195340ad9a076ad18c4055fcbec5f2332802b5805ab12137dfb10ef1804f6e1abdacb1532833844b2fca370c4e67c17c55fa62c0fbd5a77bda5247b62dda9f3d6044570a4588c93dba0d09ec322749251db91b97aad2bde56ac354e0d26736dc01d72fdd66b3d97672752cee330721e8fdc85933beeaa7f6c72534635512abc9d6032e1db7c30b7d9a9a90e0598b28cb6f54451f7ba86a43511b65791ec628d4bfdba8ea08fe5c475b8f7a77ba90043be4240d817ef531058e9181be870ba89ffae124fdce409ca434852964c41811a3742c063af9cd0bdf9c93260ddc4fbf260d7777afd59bee2e4eaaaa94526afa61cefe0d664e7fa61e154b3bd36beff549daaf5d6d689c6d9c2afb3001c8f60306bc8832a1cd28814cff3b65fb2d73814cbfab2552adcdda6cb8f219c9868890c45e42b3852e427041948024f940eaa1b30367dee439e996afbb6c6b6dd3adb52dbd9db597567052969def4830aa0bc56e61519c95000d781163421ce204723f7d50ec5931901b67fbb505047e4f3c903e17f608a6acee56ea6d6b07e4f95503d55d7b675744932255e02e4f1a13185081bd3c694c5a902f932ff2bdf7de7bef92ab269733bab86a66db9500c7e44963624517f8254f1a139a0e0dd57b5f752f338ab917668627b6e4c6dd503aa322a22118ec72b986dca2a156d2485e62828e92f4502294e7f72b9451422507213b0d6b235d049c499aa28b1d3349536c69235da45d2d7c369a642142c746932c4dda95e322e4542304972274d408c1e50997a55b10138903c90b246e362d40bc4aeb8dac8c2eb474cd47f7b676d4e3e250c161889bdc3d56d263c706204b132b84a00290a549961d1d1d3895768fbbc75ee8c0f97c73e99c6190ce2c4db2100176b7af3843ebf998d98e3824617663cd33435fe732a94349fab45b1e657914a368b2e7ab6e9176777777f78b119e2d1afafcb0ff7920e82cd055fdb3f4daf33046a1fe89c095daf1eef03da05d36055f3d47559c9348ca06c8538a24623bd5f31e7bdd2b7f30f3d26e4d8b6de896cb7bb96cf0e5cd7546b074e98a64f7db97ce85060961462ee94b283b85cd7c499514c994604ab3f125c592fda98dde9224e592e2ca5ae4055372432e6bac2ac9fe5f5623af342548b9acb58a25bbcd973529fb575ccd39c9a52d72f3a50dcaf1a515b2432488412e6dd14c2ead51065f5a99065fdaa3ec6f6b36c9895c5a9b55cafe5fda5bf62f2d97ec7f5d37082997f725347e79619728fbdfa22b1b4a412eefec1ee5289221249a44bb0411c9b2572df56624bb85592896b664731749f656799564ffb9c375537920c2ed5d62a3f3fa043d68a919223a358d875c76adb1749296ecade44870302f0ecbfe1ef3a1d81134b974a3ec5fbaac7428d87f964e1b81e7d295b2ff9c2b9c37f80d429f0dea4eb933c2c083953cbe18fa8c5814b1885fc5255a64517cd49231b2b8e4862cfe873ee2b72bff6b10fabc062460226bf019843e1af0a8ae9cc1e7087d3200738e1c5f730c61829c830446720e255be41c7f13fae440b9f2cda7429f9b94122172ea6d429f94cde3087d6c708091713c2af4c191e3c8104231570b85fa9ad00785936b8c72cddf087d6a6edc781ba1cf0d6c23c90bd9c6d3843e3668de9bacd087a6cefc148228cfbc4ce833e3d52cf331a18f8c1773450c1531318fc3c83141389103b8289733e7fe335fdc8f8a0fa933d75a6b2592ad774febbbb5d4ffbeb882987b33bbd71bb5749640fe9d7e8e738a436abe6f2db635789ee7616b77e42a24f481cefc4068b625b2e2340981fbddf34c9ee711c9b39b779ced8177eb9c9eb52c7479e62b769456cf859e36182c539adb60308a03855118ee0a14b4d8482558ae22680497f3e6611b2671517a52a14c8f74a8d00754880ad52e3553a1596f68700a7079e3f57530cd0755acb1e9e170f9ff44dfb7e8dfd3c5992b5013b16f86fdde37ffea7c6f7a439f69adf7fc0ad4dddd230b5d9eb9b375f5cf8c83722bb04f2421a84c1fcbcc3755046fc0e54cead1c32f2bc025e9ee513eef0b600317b4d615258498b53e075da452c04006ace54966315beb67b4a2046bb48880904312b2699cf192a24544a787dc095a386e80ba83134c845af404434a9208b53e8f054658a1438b883f81e1059c5dfce008346cadef64c1802287295a4474902091a085f3812efe7cb0021948d02232adb8c0c50f9e0ce16a7d21e8e2074648816b7d2fa08b1f0ce1c2acf5c1802ef6cc1546aef561d0c579d4822a70ad2f067491fe004414b5d62703baf8436b56aca8d122120e21c59519d0458ac3132e0cb53e1ad0c59f5b048c1fd66811d1f1618886567503f47f3640176f50e9810b19adef06e82255419117825a5fcd0d1b3433323118e62504bf93c9f3bceeda1a1b0fc2fd006b11e9a6de9ffebbefe27d4f34994cb5d66be749ac1e8daf3cea8965ebe4eefbeec5bb2784e078c237963a99669abca260768258d6c97366025c86c14c9c39ffa3a21786a76f5bf378f9d387611bbd8c65df9084538609df860b80f9ef70e6f07ef835f4094f228ef84e5afbd45afb3dee52707dfa6e5fc7fece6c85338739fc30bce50e06664c91e00ff30bf08709c512e7f05f5e1ee67bf04504ca61cd5f676412bd713a693fb74ad89470399326cd47093fbe29b0ccc73cfdaf6f7da3b2e59527152e6019017952b16191ff1b043f0cc3ff2ac6638a04faf817401fd79fec30225076f124f6d0509c4e7e2378d973d2a9cad2b18ddad65b762cee9b3834d7e45cececf4e8f1957da7fe327a0ed4a2273aa61cf0f2f28ddf08e407a8750a450a3a6bb6ea89c228a53057cae590a734f4a138b407f5ad08ce8967cd22f9a6afa600be4959b4b6ea6c7dbb085feb8ab385ec5f7d68f5958f75dcc057812134fb98a2e308fe1ca0b90293e29457ec9cbba8ca67c41fb04b1ab41691182b66c41fcbc42dd722a243c50b505a4eb0c5e202598b88ce0e568801c616b316119da1a4343c7cc0f5dad7b3d65a6b83d45a4d275bbbab676db7dab3ced9b65fb661af5891b536e8f58225555c112d28268bd56475e649d967d9bdfd3523fe509b19492d22554b6bba014a30f7697a2f938bcb56a362e719f61724221c11721d11140210c4408a4ef2c59418b4d4604250c1d125664414579218c20c1a10135190014b82090a7220238a23a6942448825852c2e652634a0e2896d478c1ca08684b501c9141951ad0f8814b1a45431c1540167446103764e9c1e889d006a1326a673c11822f9c306213aa0285134510b9142374ba79bb3a95e688d2132e2e906521cac16714f648f45316e0f91f145f1d8add6a1ed884d72d4367b4566b25706df25c99d3d4388cd2a9b6de607eeb0534ac611da36d34a3aa86358cca7abc32791da10475d3040ac7048a65d2644639e900d9caf495e958d83a9392fb29155af3dae449a1a4605486c9fd54367940bf512ab3a952a65772d3a48cbf12c872add58c5c262cde137ca3acae519477c7d2c3ddb7b0c65156c39c60b02e1614449f8e252de2b74f099a040c95c960814bbf953159e077cce4a1335ac459140b3852293b76e8d0818343635406d3df5456025c52ca00285c568a90923bcb6881bf56e2a64492053d466330b97e6c0959b64b0c7968020935fbf4a62fe54ffe3690e9c728cb61322de2aaee6f24b95f2877c35030b97499d7664ebf124868cc6b4a18a131672297cee54a6df2509c8cba3e25b05f99aa6eb74591fb291dbde6e5495b024ba6a5d76678426d81e30f9116f83d4e459a4c6594058eee7918a3504ffa2d7440d7fa46bf515516b8f4db09b89c40e96bf0860adc491ce59a29ed36694918e5f616a548de13dca10994d24e460bec853e9326a67ecd5446597ebb053939f3d72531b21565728723cc2fed9c13e9c92d9b30df8e7392f529ce49285e79d264afdc396cc014613e1d5bc8c9fe9853b7b5ce5b2c862e95d6a278edd7cca1329bfb29143a9b4b5cf4c808bf512cd44697aead375c6a7a3b971d3aa109f535797672f7a0324acb4d653f343e6024b1567f105fe5e4fe15906426ad722ed5dac9072082fbbaafc9436fde0c6553f337461b332e0593586be6e6815a193c50eb1fa8e59fc271e3655e66fca1f91b630a888ccc03b5723c504b83076a01b5e6bf18babc0c441418281d91740225ee50957f4aec8901973b792996c221a2c4d992f9a146a4b96a2becbe3c598cacf3ee92dc66bbb7af527a8b196fd76f34a88b657f93774314966357d6d9bab1ec82baa48b2bea6831ca9abe9a1daeab75329bdf575237cbdec16e2efb929aeff1931b71d206ec2f274937fd8986ef6bf2743d79c04f01854f86ad0adf3706b1d11b5da238192e3dc883288b82a2bb668eff8b117c63e5109b97d80781e61de641b73e8d98b2a161851b8d4895b8ca69ec860eb8f46c1f34c2f4331d87d00ce076c2b02dd9e8929336495a9839d3c882fd0578b6a38d09e89f8a5017485db91c0e77bb519b6d36a3d16a4939f643e40eb5e54f2c3b96e95bb17ccfc3b887d66f2c89d8b2908e65af14d2b1dcd58c74c9477aeb6c130452ae4682aac06011b64f97c076f42248d824da18a9422f7aab184b5188a174b3b8db264697db12094560485c49ac0aec02dc35e26c7d4ab3188cc8a0c88e6633136e88b35f5cdc5a9f922f099ee102688fd35b7d0b1b528cc8eddf4a69913ce4455c8953a23c64fd46591ee4e1a32360a8b53e25d83f47f6a09973040e4718c00839b97c000939f9fe0d71b63e0ade20a16bf65cc792c8174a3314b5682ad05f9f4bcdefcb5736fb5f2198af6c6648ce9a59d42e125f4d5a1117bddd577965f7c8bed7dd18c5d97241748976c90e85deb2bf0d1116e97e795f776c5aaa6b4e62414d195f5a3aa94da8d93679ac7d3bb6cd5bc949fffb6adb8d655f72d25f4efabb8b84a723f864466c19b17369e0fe2f877b863d00525a20944bdc0223ac6e75f7d2eb460e787e08039eef2961981c9e36469280601a7866f14d9ccf963505e47402f23d506b8231d3493ba64498b42845a913e8f7f4672b75823ff8e0f881d3fbff570ef17c9fce6f827edf7e87de38024eb61b64fb1b645b01d3dbf7fe8adedbafc0fd498b52943b71837cc54983a2246760034c81aefb13b8c6e185a392861a36337a98d50afe70d445abf23161c4033d5c44a37204145a300d18b8c4a72a2f6041ae888d1915e01295c488cfa24852248910af24490891f43863e0f2bd48ca0beccc0923a40e2c7049faab46e5c9c551a9a2b3830c5cead098431983e2a2b8767adc70b9f3528b4da9854553b6f484f0052ee7ec255684149bc5e0a304255c4e5a4d4ce9e8891f406ab89c351a246655a0904218b89c491d15d71a61045161daac0d0a12d8a088b282103170396fb50889ca181918e2052e270e00b5167e722fb62840c4a21ce12ab2025cb62b8687dc9620231d647a559162022694bc845280cb7e4521c50b536e8021d102970dbb81ab2fe821e4f2444cc9122e3b3644d4432fc062c355e5054855d628aa92c6acca0b624546651725d9bca4805293621686144b1c490125890c4a19d306b18b37974c635a09a7c78e1e3b94d5f9983850ddb5d5c63da0ea24d8f07d324a703f9d73d2868961428609ef89c337bf4aabbbb5f7bebdf73d53fb65b5968ee5907c472160154b53a6ded42f09738d355c9489827b26cfe94da798994e323367c60227f134553e559603d56905a9f75dc122b8c4b96b91deafb482b95e1fab488b28111da2d3b6c534d50ed1a1a1d76b89a1ecd6d6d9d7e51651c7ce9a3cedb9c79899532f609aaaa63f55b503997e5b4b9b3a2d82bd690ca3288c228982bb524a5d1dd22e300a8351988b16c940a1b04aab37bd459ecb233d94d7350c177293fd3a2d06131dd3b5bbcbe8ee9eb92e62503176de911427c86ac3a022dba51cb25dc292ad183a8451038924d69ac223d3f7ce60411260c83265b59165a271252bcdfbfef6706d30624da0c0f8589efade4d8c5c6f42e4faa9d0a7e20c826e7819cd6464bc9c8b2658bee9610fc436a6a41b0f5f48c9f571843e151f31c543d509c511ceca0b23f93eca8b2bf9fe7f21827c7faec08a7cbf26f4b964c5524413a75a6bad376c2e411a9c7cef7b55e4fbb88ba47c1fa5d424dfff15b8b674c9f76d9013064e9a98699a29f7860ba52d4df2e502887c7f26f4b97f3bc0440f486481c5920ba0b01149b9f7de1f401bcc9694ebcbd88c71b7a822dfafd7abb5d6a121c05a6badb8d2dc70307938d1e5721e69900551162cd0a28916546c11822d90f2fd99c5917c1f86a643d4054c0b50b9fecbbdf73eb922847befbdb586a14ff5554db65a64fb60e863bf78b202d4f4b007629e4ea26991c173953d727dece1d6d3dce080904b1d5048b9132969368031d2508286458e9682282fd054e03df1e1eb9288c8f52f1092212442c892a8c28c2dbec5114b7cd6c3012169062ab962d2036a90d12486a2244660d102891a3e1275c59354aedebdf73209e274efbdd746ae3c6ce9d818c66d422856850eb9061ccd0a3060477054353dda152ec06ca051150af7a291c1432ef1775b3aaf5360993c6964cc5004bec9933646183ee0993c696324f918a3461b0386995cf3a489b1462e5fe7861b6860ef6edbd65afb8d72f0061ad873f937d0c09dcb6ff7664ea547b824593603049089f9fae5bcbd5498d0e47d7df9ca7f05ab26af3dcf0e634472e65421aeaaaf9af5a7adce90ebc4225757aef3caa492bffe0172fdaeaee064cd0eb87e9579f5ab507da188aa921c92999f195d6dd44a9d20f3811476b2b62cc6216bcd164c6138f5c54d5aeaa796e0166a7a5435ebcf167d9f54357b2c676d67092b5cb9ba04e67b9c56545444bf17fb3b7650ae5a44590d821b643ce4fe1a04ad48566941454175ac75f43cf12b58c36a3f0687a0d7998490b9fbced67b61c6367255c3dcb18b6c100d06ff85d4014714fdf0670bfc121544c27a04f580a20faa9a01f9210641c1c9a02458d0ad76ba65c1e549cb9396652877469019b7fbd78c5c16589e64e449c3c204367d85a22ca3d68451d60a9e0834f7eb89ebc302b6f0e4d6044aa6230dc63da3ac0e2237ed59d392605774edc643a1aec9e4799ff7f53b853e26ef3b9378bdaedebff7efbd7dd4332fdb3821ea02c72990efc19d9e6f24a94e97e03e5aa71f28943da4022cc877c6ed026d948520a0c82c2fe97e8627b451ab1b7fba953ae103de77ad4b45041499651a02e9de43fde8b9f7b3d5b9bbcf6ca12a6b7f54af21b8b936b001175766ad3942ff921410987ea013ecdff103293ba680fcb451cb3e50cb764381dcb7e34f6ac90e7d92aadc2666abef3e7e5095e352b0a1905461f44505976dbbe16cb75bd06d089e54b670c9dd774fdf834ea057c75941489d00a696bc7cb77eba753a624a76d0c3222a86715ee9e6640d970e83c9ea2bb9dfd398ab4eca8d65b23c376b6e38a7e42bef936cd8836c250e9328abb998aa7e30cac8fd340d4f6a1b9d39fd998ea5df74d08ecc7ea2f5bd7faabaa6efa13d6e85907408b56e3bd7e2aab676f4242736baa36ec99e4459e0d3b16c5c0fdf097d7ef8a0aa8ecd1a677137aaea67c19253aba3b4d65a695cac4f69b2870fa0ad6f6c5b10b8f4a4262078c189ecbd2769a193a47f4721342721ae1a57681b0a490fa8adb6dd803fcf9c0a5bb0c96996b092862bcf17e46925078319414330fe273412add409f603f7ed1802b17fc79fd412d4e85155b7516bb6524beecf562f91cb49e61daa6a0f61ceb167f643b489611f3d47b920fb27e999be905ca661a6b4663669355c0c19bcf2432e1b49d7f6d084a6b50220d8c7801d0980427546b85aa547042ee72c08cb5fa8209c6b8bce59674a43810b40ad96f748a304d70614b9db8fdc09c04ea380b4a2f77a75bf13a4075b54a5ddb84355deb241052efb45beecabbefaf5229d7641312943562cbc6aa5b0989421ef139e773d7cc21d0c70488f7c14ded1a1aaee3029437a342af0bcf95f921deb20bab15f9de4beb0e94504be4f5f079b66363270c1e1c48c814b9d3927ca751c07174c5f6707cae608fc34ee4e53cbe29fcb3e96436c46e9f86aba92db2ccdbdb0344bcb36e7364bb3b4eec9379b87370f2f97433adff7cfb356ffef3bf9ff42660d4f1eef685dad9ba2ab75b5ecb93a5a57eb6a29f8a6db2c65181f6275ea3637ff5aefa5f7bbb75efb514bad03a562d4a6623955cb3d4e459b5be853bf067440f4f3da93be24d9afa27dafeee2f4d80ceb5b31657f479e4ab93da0eea17fb5b5fb1eefc0214eef6b87937747ad7587df1deeb6277dc9def7021d9b1decdce890e54c9ab5499bb386f5ab5db99b5b7d164c5e100a4c0fe88f2ebefe81052e3bc8a3cd74f478df94e2d0f9fada7a6d8d8156cba18113746de540f3a84fbf8576fde89d598f38b6db20c1510ea96624a3b4594ff34001bbaa73a2b707dd41dd4148e0b283da2868e6abfa2094a05ac359bc9d134d166fc76b5fa364b1264fcf9c7e921ea9b4d2cc2ace0d0d485672aa3c94001ce559940d24281d9df912f4b2b6274547cf46163e82a0689e2bc88611eee3f344d3eb74d79a468faa688bc60b5c4e5a0bb43e6d57776dbf5c49295cd2056e145561aa12bbd575a1c237711ab43eb35783047bf67f1c1d3a62145cb6cbe5cf4510188d6a0277909781fb3be65bbe8993a20ffe57e79c73ce394da6efdafbbcceebbcceeb6872d77d8b2c508c6517e5a3841fbe3afda4698105eb98378403eeeed238b1b938e9434e12759193de82bf2fc594605a5e34860aee2f7bc86d1d0e1e6c41c60f68b0e065051159ecd03142ed071fb4b0c574c8a205a98914585811a28a14577091830a9eb26acb4a0c4db352446708a42e44fd484b6d7f678b2527cfad728302fbd88c6c1f8514255bfbb52884aba30a094c3bd0aabc6e785fe09b64f21c60e6b807b6841f2d1401e2ee75a7877be03a2b10a813fa3d76eccf5ce9a45d54f599447b5b27cfbda18f0aee7eddbdf67857067e13e66ac77d943079e8571eb3f6010f782f43b7bcafe34fb79cf8d70f72eb7192c75c29c0470933a7be024c9864fd4ac706e2850c0c44f6950562f29c26dd993915851482f80a0c2a404d8539b918b13e2b61f2cc59a50852ae1f82af40c8d5c70a9440c511668e0f1912e0d474f2feb48955a7e92aea0685e34e3a596bedaa73a2e1a3efaf6ec0ccf16f3adddd9dcea6c27ff86ad2a47021d7f429b7c842833facb5fe4232d0b056e2ac02d48674507624b6f6c39fd2a850d9d9e1a43f8e8e07a23c10a5e3a4efb0d0d933cd1cff6e0c5cce9be7dd280af3fde7073c705f866eddf75a241027a911e853147e805af7515465130ba653a8f4ec35963d2d11aa1900000024003315002020100a87c462a14824109549ed0314000d79944e705a170aa45914c4304a19630c208400400001434666688a13dab9a48e19576a26ce6b9bdb85466fd71968caea10ba05cac1cdd787540765ff921586ef77492de6be6ca1367c7de2f8e58250e996494680efddf28765d1c31cce55b4377cb12d0d028df5b623e573b98dd3acb36124d171bbf0376eb37ecfbe26f87d61ad8fbd13db28f943fe0a946436ef00434464344c431aba11bf9539868e3d461d9cae1e6d3405ce2bca632928f132e757cab6e2e72183363dc2c30266512b6afb764d2264c355cdf0c21eee11229c876409621f9635a2d12b2f67a6e0e0ab0f308bbe5207a0ccb79ea36ee340d7c02c1a164705f7a0702928c21547e7f22b6e65a7d76cdf52c1ae8fcce95d6fe1bd77734d3bd97017f5e7772cf4f12d7637892b44dd45cfcf98b16cb78f58112faddf61a820c3f35c9ca4ff437535c6901162d0ff49a9c3466bdc4e2ca1ddcb105e9758cfd44bbf55902566bdc0bdec37b0223680cd85ea0cb4e4c6ba00c9f3071cefe191c55ecf248c657fef8a5d78ed652e8c764df13e7376eb62726709aa419be32d2f24597e3597145dfa351e8b4b6fe5c6a4bec5fec8165053104ee4f6a318e5775f77f3b26acb23a247faa633bde514d5b5aa3a0eb44ee56b45194a4d88f83f5ba8f7a327abde712e8cd6fdda6345bd5a493af938b0dde485cdcb50e643b66495c4caa5d19b0df0b16e64e45655ea3c7854759e25b2edc5466b5c739c7dece622ddcb6b82bdc520a63f54d0745faad03096901b5b10d4f46adc09f45c043742b87141780bee58ed542c37e3059f64e20a247c5cb5b2f92f8251df4f30238b550669082510b1e7586537eab66d18b105da9a7ab532a3dda511c05a195eb9e3096f7174bdf6c5fe7d22665681cfac09725f0ce4039c053325ff985e5bd0b2576f8356d0baa19415d100d1aacddb367c52dae346039a3abdcaa1c0fc6e731248461124fa74f832cbf2784fb71c49bd05ca4d1887094b8e48211cf74a371eb6fbe31907639d276fd611da78be5519a5d037ba9ad397ac4d3df936997f3373b51703840b51d10689d5e0ebd67798dd5bbbdb8f28c5e01a92b0bc2a5925e9a0670f37497f64e082229fd1add5ab53d4353220354f2e7f0f1ce191c7c7a8d6392e3e56cc06a5cf620a23563243fb702a24e5817b86c0711c7ee9fd4d5df343265a38dd9df4b898f5a482a90905d8cabfb696c99c1e14f727f92fa6984342fa6738c6a0a5c3490e219cab6bfb9d2120408c0e518e7dee2a4e13a58bd702268885548b041f5b8e0549fe4ca53a5ea9379dcccdc727c3060e2cc7f17ac1eb08f1082dd3abe31f870200bc03b6d5af52a5ffee848761157a33d69e02cc43ef926e0d4293f8dc74948ecbd3e9732e09c94f6f342c2ba19a77843dd0711f7fcfe3770f2558b03a927d6b86fb8572a72940e7a70b33d2cdc351bd7262b7157a308aa488427aaeb50d2e3cc9a870128813471728ca0da874b4a41132815f52289f735fd8befcfd465efd6e4d8cf3298326345583dc0ce8eb6bc9ebf90d8111fa172f68d54620d2c73b64a14492d395f66cf4f80eeb6ecbc827d51ccf68f0525b8aac54a326e4c4d258721b187d219780e1dabd49eaf37681005f5868c9ca8ca0175aecb7d6435f7a4be5ca482dd974b8cb85a2450335b22600f4f5758b780eedfcc96ed1ee249d72503c13fcb7ee2eb7624319dec3a8cd9ace499b111997b64e4db3f8fb3e33cb75e22baa126777fc3498b48141c75146410d44d72f6c854f4497abf214f4c9f1af86a698828bff29ea271a1584545347bd9918e2b6012ece31c86b28ee2ecec895837cc1770c98735b4b08342e829d116cba398eae083594210394de88083dbc8577d42699d43bb4e7cb52b12bbd54ebc081dfe8d6a2646dd058a06e872f9efc1199a03dda87355db30f2e5e2e22a7a5ad85bcb50a53aee9778152334db98bc1105fa87d53c9faa3e68ce002af4f4e692d7769fe6b1ee9dacb40b1e1eac0ab0d5bd39b560f85c7c90d6a86fdf8aba4759d70bc36c358b4132b796885496517b97d885ac80e24659ac2fdb2fcbb1857f9c33760ca9dc78083290f0fa92856b242225caff470e1e28237d0c96af182038668e3e131439c8c86cb65318eca6cb471142673f90c8d957c6c145a316b4cd0022d50a21ec2f9aad2eb92ee8fbb569a58e11b698d8006979617438de5a298304ce65ee517b74ab3dd720478f133d8f20ce9e9b87e93ade588f695e46a244467bba703ef2e7deaea1b60de874cb7626bcc045e8a9e577ecaf46ea09cfcf02477d545b6cabcf45652918315ef4390e680aba681d9b5d9e18016ababab6bfbc8aaa0684ddcc34480e0ad32c533999e0fbb6eea9490a766c89303cbecf41452f5edec0f90504740ffc661bd927690ac6c31d58357fee6781f8554ac2f1e0c9a3cd846dbdfd89899ae832d943de0dad8a5bbc3b662fdade9ea95a0d60cedaabad6cf0be546263a9446563057d65f0fe90f9cf2e70ef02afac011a393226b142cb527c5157e707abd04ef64a7c5034b72206c29708e3b6a72f24458a2777406b81a5ee2ed4ef82996e68a352c616a134093fc0e174c66d553b40d5c88cb073528de8606de6d103a30a18c0e254a1de3ec15aa913851989e185a9f6c5790348fedf0909f1981000d7c481f64c31d0fa368f9867c2e6f76092b4660695fbee4a433c304392abf0c15def14db390848040a2c443f8284dbda87114ef7d631f26b7b9379c4e56f8675e4d91d2f51155e3e2885fa1329d3368b83c88e8c61135f5441a345e16acf1f6c0f9694871a5f1bbc7cf4ab6d54ba1a48ec8838587a9fd7eaa83e2722a3df70f8a606df4d85c4c6f8c2065bc0b112925899cfce82a2020b86f33e8089ef151853594f50f4e927f869eead2b19f1ca5f31d1d4b3395e09609ab0cdd21caf7e5ba7a675329c52c5298eb1b6bac3f71b7f4a9b6f1276f5b9f138e0bed3bb0a8d3c15eba8bd366f2fc643af17fb822670ac01ac18fa5847887772f4cc432784c8d50620e0e3ee8d891c642b9171ade008f980b44b3f7e32ac00f70fbcaec0cb5c9bdaf4d44d4630f103d3dc0c08d616b3feb74b2622fcb046db14f012b3ebfa2ecd7bf29f76348b425d5fdaa1f2f9566d2e5c07251d1a8a609535c917691b2d047be72e0a2a2f6be452f7a3dc1b604c5d5d086ad4cd64ebd0783cbe65d0c7a1e8a1591f59576f4bc92008333cb28f2dee5063a1f2ac33633dd38142a514009ecf7bd41190dc23d69f69b94fe8a681bf38698d93ac68637b93500de0b71558d793ae4981de9f846631e315a7f422e0a4928ff8a05ea405c06fc6b08f3854299a15bfa110df8bb422cc7a637e86783a107dcc6a6c6c70ea5c65bd18c6843b88396e90f8f78c9ae8e1085122647bd241edbeb8e498faa26ad09ab24f561c171aac0ce2473201fd1f9e9e763684bb0688f12ed58b9758cc457153f1c8103b58b85280809253b0c093f69151534ec40b2d761a59dc6b2e4f639994aef149e0c88e67567e92916816eac4991dc0091dcce6171b674fa6dbf953ca2c5941fa550921e7aceb26348f47c1300a86f13cc8260155f7a7d6c2ea5b90a48267bfe690660826ea5ff5e1a336ae65a4adecf0678b748f63828becb8cc7ca775cc643d04f910e27b110200fde5a307c2824a5e93082eeee9eab002e908d1be2fbc9afdf9256ea612454965885590170b503077af1b30da94ab6c23acb81c3fa2711987d2fd0cad4ff773221586b7a3cf2361d29e3326a65c6b30917f03670c7230290d01bdbbbab5ed458e65e45826569a4bed78dd37eb5d7384fcec4938530a15d9791ca47b402e4835c23e62c2c7ebd10e2d91dc86d93629be213e83785064a71fd294fb3c3fd2b0b73c3aecb2167e823226f42c8ea0c38ef4a1bc4abef85b4a28e1e7b959cf4d4e67485f301bef45786293813a80120dbc25480e7a8860961e6a44a10893de1033833a87c2a1f213909dd1be926502c583038838cd4a6ec515360dc14de82cb04507200569c1b1fed2921793becd008dcf8b29023e8b8d47a9ef83a7d900458f9c1758f30d27e3b98d51a952c3dceec4826243e894c6825a2c899a596ac258729a8f404e179f77747417297bf42ddd40c52b8d520ceff025c664000d82140a82662c024f7e49941185a485796decefbdb0304addbdfc1e048068c79f59c902a2de20c6038bb97b734a42f7956018b18bf900fc86ef0217421e75711841dbcf981c4764f0847108395406bf78366314075130ee714c104728f942e506a5bce1b41992d0c2299e5540207b0cb3bc5b006a07e5ad13decb2e1deb0e72d596245a241c54419d4f34660bb84a9e8f08ff5aeacda15cb8ece6909df5f0606e5802e5fd1b370d4b7b04e722d1e5d0e1e5e4e384efdbc040f6cdcc24004aa057d445600f6a699e87e5c8db2414392174c69dda534bfa38769eb8aba81f7082f3753ff1de17880805e170e9aeba048d8162c9e3f0121a9202685fa7c7809ed827055dc9c6c7e200c164f07ba50c0322eca7b824d67f3813f11a1955a5d3e9d107e6bff4bfd1844ca4b7c2929d6b626341b46f2cc8ef8f21cbaf63f42c52b75f46f0fa0650652285946a51e64b71a69a8daae4482cda5863be7338cda8263a9762bd5e04bb8bc13c38314ae7981b532e8b46061a207b0f7f4b9665847478327adf24fffbfd5997cdaf3e1f7eac79dfd28d122690aa6df36b5064579b962098eaff62c5522a86a25c22add76573ddc9581e17b218c5a97bb486786f11d4612597c102742b6450a224711a1f8b2a5caa8bcee1990e8ca07c11adacc362dccefec342086a669d2b12fdf502a810af65e27eec51aceeba445338dd6bd77baefa43a017244df36e06376a9afe2bc83943aef6a8056cacdd5c103686b438769c1a84e8162fa314c18de9a065c1bdfb35032077fa5d6c71c084e72acbf62f1e00979ddfc7a873fea1d36c63e896b5fe60e44de7e679dd09fa941ac304ea388829aea18f4e7d41b495cf7fb2c990cbf39001133fa136c737de0f9cd73b224e1d01029551c770943a790d209c8ff54c1b581ec88959542e9ae7ef3664268755dc69126ccd0c1726f90d513752c66e91b8939b042028f6fc12225336284e72110e45e1ef9a6bab013780ce4f011f70e1c9a3661506ad0c40d84670fe6db4bccb1f4324b8c89e62da2b6cba05bea11814d37ca44e1bfd24b829db12b04cf489bbe5703d44c88294756e84d3b56122fd8aacf87972ad5eaf8063968171b1c640e4999fd2fc5b10b089a6fc6176b88f5ccd3dfa8723fc8e80e39508d2d648bf3edb375f07fdf179d5d6f6252c0306e2c37995c74b8830b8b6590c8a34073ffa2f9003e346ed9b850557a704aacdd227b0fa3c5fcc1b2a82445beb7bab812181d4d0f28ebff194ec164a26546f263009728715a67793d9963ad1ecdbaf096f32400130219afb36e45f6b585d71fddf9752d088e7af6fc117988e13b3ddd5592945b491a159e4881402514b7c773023619aeeec7fcf9b37172209fed92064a65d4fc7d8a1b62444e62eb3662c380bcde8c1aa552a85f05a7ca1cd38fb0715cc099c007c9c9622307e3c1a733651172020ddd3028f1e774c5717e5d885af372486870d4e0624acaab61f47e2f34dfa23e814eeae06f44740b9876a03ef9c3db21dbbdcdabaabb2782cc8e45c5a3a0cb2c30208d906376e19a0a1e5e3e3c155e3e137dcf0956ed9061b0740cdde654f637719927d9026ff76c5a964df7668d7fc73aa90109ef7ab91399a9139ca7cd625024f947d35a8ac2059f89926411ed99fc806931692f5d03d2477ac4a3a8177c7cd03bae3b5dda839e147d2b502c08026ed23756e8d53e1ce839579d3a4dc09f328ea81297254f65527a16e8bcb4837952f0deaad5abd05a1eaa90f43e38b71e43bf8a111e0e5c8d6159308d0b4e9b66704f766c224f6f5e8fb275230922fb40bc9f2cdcc6d8d5b3e1485132056f33bb3260a13fbd12e39f46220546f27b6cecafb2dbbe741c78dd42b8a7a307771805875f9ce68bb688ab56586af94386d7c307f08f862fde7cb6ba0fb72f11526c398c199f4166fd1780be97a81ccfa73c6985ca33c112df5861cfcc8dafe09b1ab515451a9ed8097e7d86a42f0e5d2e7dd79994264e490c6c77e1c8c0a9e6bc26f6c596861703314782dd11a4644ae32dfec0e1fbb23aa06d3826d36c55882db3e4724b4045340b29a9f8e89c642e7d8ac5b6d2c2cad48527ea8deddf2373492746d3d844d37199028f7a96480b1b3acee9a65666b1afb58d606d07745cc0a5ed036bf5efb0732dd1c26346771a704c3bc9db6b561cc2221c9473a52cbeca457f7065b16a7175a0a8dbc284be4d141388196619f91ecfcaaa8bceebaa61dc47cbdd493266b77746aad9f913b8b537d911f786bb98255d79c425d11da6cff1774da2c89bdd8166c2e94ede029a26ba80787b1632b13504416b63bba1218e5b0087dac628bcc61a9a0f075a7cc9e5fee0ce62d0e2eeafa7dbc284df26061385396719f97ecf4a5a3d7fcdb47bf4efd0b116f85c3a7f4cc664c9ca0fdb3b200882f68575e701de2871832cc70974a872b0d9c6b953c6b929bb14610801285a3b2a1ee0ee7bfe1c27799fcbf5358bfa129c17fda0013a37c9fa44bb093c914de968bc2b4165575163beba02a6f46779d31488cc31218afa5ba54163ed4603678dbbb8beca1c92d51640af140677355e58b29e138a15637e89c2cf0768b364ab584f421221633131d1737397512182f91852b57af8bee5f8d5bc8164e3913b1f3bfb0c3c11a9a824df4e5ea6f28f73332dc976c102f348d7b74c6986fe95005c92fda1840618efb2480a3ad5bcb9ae42909077b2c17be587d13f532175326c9227969b7df88b418e90d5f2d4625cc13dca0bbd715abdadd5fc3b34cbedbc8aa32c3e647fb6dcada5e8e53477ac6b77f03b9d585afc76174f7b08e8b8e823cab9637bff5a5478f33da50671cc1d78319aef5a8e4f21c01bda31468b10894626fc3226d40e183452fb499810f61c8bea3e96877289577229ed8949dcdf802f482d3f2939fd3e5296e093b36afc9a5ca16755969731c31d215f56d23d9bb6988c330c22f9a49632f90d27106b5cb5b3f547bc75c89d0040dbf8e90f7e9caffa2299e5a817d240342d201017e410450be46a6ffd07b9911da976a680f9bb4deaa077e93db8e532397514f4ce3852de20d3c910a7fca6f77e07407b526cf41173c532110b3c8cbd1baf9923f31b95f4c2af38b401522881fb95c08e80f4555959cfffacc5f275f53d2072d6962b7d21ddac4dc8ecfdd723364b88d716c7ce8cbfaeb2e9674dd6e03141cf2b69de7117a0e2c54ec21c8d1d7a7654031dc75e2d76dab79744f7719164862bb6fe725418d5f31bc35f27bd709df4f6e8a7b8dc2008015d9ac8e5070aebbaa8603e90499235a1c54691b9bee2e7791d418d8474a5efc5b312b2ce4531ea0b98db9115dc6a43b39739a729056489628a2cfd50a4f1f87584ea3badb2d5be56c0d9848bdd59138f250c597bf45474e6f43457bc7a9aaa6617240fb320e0e592322a089c842044aea5609a31214c8d99fcf780e1aa1bac9e2a861c23a33e15b7321d5184e59b05858d76f444bedf10c44f7b1d94bfaf2109d61e50d35f2d5c403a1f6c773fd14691d839f1cf332de9884558fba4ad164f6c00c538fad302bdaab76f819122ab760470a446e8df0194324b280aa23e7585bd6cf78d5d2f81276981061d05bdc00ee38642f59c88e9a411b47e50110cee6eee42d53dd06d0fd7ec211d14df759fbc4a4cd07b02a277e11398b772c44e1717f9af76d92864f35251e1d8819e03e900170a74eddbd04e018ce44ca33912a54554a1fdcc8bd2fb1bea63e56ae3808d64343fb908b69ccc9a537e5e5635d793dd15446785b1b28933ba2ce244b2d5061b30fd70cad273b1254d265d71fd658c9f434b27fd44ae14895160cea2613c292d394e17de5490114d6919d1dc3a231ae4f963c60714a116f872013e65ffdcd95b7d1d1b65ad4a6fd787fdc63c6c96a81af5c0928126f944ba9db48b23dcbc4e37b5811b09b60cba386dd4b53d3931be1638989a36ba17ad8f60ca02f491a5a528280e50264ac2be27611fa1871d4853cbe9ef37eb9f0f22fabec0b46e807ea4a09755f67ccc44d8bd2367ec8a3d8241c0650db18343ff17d8012dc192dcc07888dea355e9872e914846f6ecccb6041015f25358c5cdb2f8495248d471dbab56bfb28911e1d5bfe15dee8cc1e1e4894f6dd902cfac0fcf5f76c4e6a8e62b82f2fcd916c59a815f7f9cbd729e55f36686c0837f325a6b606f6725d5ad6821436547569793500ba335c6ae195092795c96c46814fee8915fe718a86b37ca78d342300cf3684f36817cef9b12ac4ca4232508ec2aba3f3c19eeb550795d6562f9d7625dc3e5839f3d06f789f86cdfab4385aa1fd99526b538545250aef6514280252b3d921e6f458167c9046df398ee5abe6f978e8d0bb30ddc80cd1bded63199498d706670cf5edc2e05c9194ff2a52ff3dad9af7a8832dfcfcef8d3d0a173eaee029503064a1ff86634f726710806520c884c0abae7868687ac1b15bbfeec77459635b3710604e6122e704f58fc3a1e00d98b3986d46f1eafaf3f06b368e1ad6694dd6b965d5b76d220ed23ee1268c0d10bfd3c7bf15ff52901ea61ce8e10581170dff33cb134968e603f5c7aa84e62174964063a17f3ce13a494428c084b40b480591ccffca1fdab8cbf2b8bb88642a50125766a52979104530e52b3d650e260b91400af8fc588bd60ae09645f930c5461232d25744c1803b0a1d5bbb39ffe9989fdc74252c56c44c558b000fe8335f6aad6ad855c903f778a8f1f1f4194b0a8fd4da2ed96583ef660c38f145a0920633909a3c1a01bef00f72ce12aef180220096152e64d286f140d010c70c33584c25d5b217fc5f0e03884798de1a080a8f1387502d6920e08604a9cdc5b41ba8b93b34872273e535ec418f9723b92692736d11956fa37af2e9f37b7686320f2abb4e5f6abcf32990aab9147c831c0af301c67ea57d02221c1c60f60e4f363ecb06c528e1efc6477c011945664360202f8f1a1e4cb90e83d6fc49557194ccec1f7f30902f752645737a1eb79390ac8147a9d0886ca2e48d161a56ccdaeebbc36d601ad558d30f972a04538f15307d546e711efc4b31657643780a18ee8a8d44aa26025604fa4b19e467b607125962cee89f23d1569a40bb441a576881469953d149ed10f5d9e06b03936a8ba5853088ce9d34a39d3178518810e288f9694f91aa5991a8413d5137fcf7fb9555d6267f034cae6b6c63c2f288b50c7f804b97e76c0ec88a8b1d1318c5451db265f4c60314ab347c2fa2d7ae45a0e031746140fec3591d20d9984b8e14a2642b8403efb4a03c457c0ce4fb2ff193d9021c10cf6d0e592c19a32a5d5c2aa1e9e2454f6fc6b7e6fdfc840973887eeaad92560a87ab72666a32f92602fba9a7540a2692a90a81a59e619210c568e44879bc0f5c3366f2673046266f58b7129bc050aa9c50655ee752597cdfe6e4797881e9132e94129a996d4499936991dd8f98a8cb69cc88d0a1eb5024c4dde6a4a741cbfb575c6b36f2ce32e3ae987cb34a0f6704db0b8ae24789d36384dfbd11f83359a533be9f94c66d8d16b927c4fef5568153946cf92fe46e98bf06d94d7a8863bfa7621892b0848a26290ba9ef64a8a839a4cbfd5879e05bb4e00327ddea2f56101b2a5ad4ec7817c279e32e7fcd09131cda7710b23f658e7b07aa1b655bb0a0a4352153114b17c4cc60229eb4b95324772a312e85d8d0445486e0e9510971859902455470eb0a721a24a8a0451b8c1a85fa7c6ab2b8b0dff13c67542b42e5637a1ad8c97b7259f71e530cb519d45162132b1b6a59f8fe48fb251599f087008e033da35a66c2cee3b40e5eefbb56cb7c55dbc8557a234859f3391555336fa7e71829e8f74720fcea6b22a28f7e2a54c4bedce98c1c575aa4da94b2d2065366611ec6f629a7b9bf03866baa96356cb7c7cc2ec50c1c7a9b574fbe3e1d272599c6aeea7846c6cd0db0a7714047bb322c2ea281147f82e5372eef929e06afcd0788ea1fe7d822feafe8394a28c873bc47e58c67ff80ad774fd1157941038b4c42836e079043346c5e5054d49ed67187e1cbd29c3bdbbc4c85c1c09921d9d897c4edac56d7e63c04071d597bcbccee89d1b30545be30c6808ecbdd039120f056c43cda77ad768424adee971dbb120e999d8f42efda64ed15f671f2ef9e7f46a005580235e1715237367f641e97a69744ed1443f237ff527ead273021e8d2b6d2227524299554f5b38ddbb333fcce50bd0ac3679a190cc772ffa342038fe2439a85aadaf3ddb15a39adf6a5c37fd49043591f6bde3852aceb77f9212272349a566512e6a861f6cc6d029a5d8157d95a8d615fe8012548f4933b597c1c63d6d370c617df4cada23c7cac61899d4a454e5479e675ee1f1ef01a1eec1682efab4ee6099430388938eb6483fe37971f1e1a72a56fa57a3a01a8e8c3e35e6945caf9546dec06f38c7ff2f61d1e548d4baa353c20c22dcc5b4f8598dbb32f4ab94da3df2263d47648249a0c0d25132ef9acef858994da36865ff5a05929f81393b6017828925ffa1fdbd9df60948a675782d585a29b53d21fb0ca4b16a3dba7ad5e94b85bd6e3107990d6303e03f79121bb32432780e490ee280f6b8e5abfe5781ffb92c089f6373c0db7ad6a32a13e011d22dc72699f7d5d9ba8477b87ba3ed52537635917c75f5e57d23696146be343319423b6c80c53d30a45d1ff1c8057b60b731866e966cc072ea48513876c39c65475c0aeae172ba71aa6a170cd53c981050cdcce3ac036fdaa89023e26ec31a6cb7c4847a5cb64be6d2586a365c834d59d3493840f9fb0097a9f7a7e0acf4dc2fdc7a854427d34c43136502d69db5a19f26aa1f5b32b8afcb97ccf1c372e36852b29bb77605cc9e056b785d2003a866ce9edc98e90c82cb8375640c3b5fec0990fa7913d9d0da8540764dc0bed7f3c113cb7e1f0781f5ac90c99087abde4fa7735bd1d92722a24f0586bafa6a68a12cc7faa270d1a27c7119b976be177f1f461b655d706d4c25f32640f6e03dbb00f7c1188807721408ba4ce0bc12db01bea2e36c13ac3313d664cc9c3dc9481c3f34504326ce48e4450495ec92a57c1b93c9cb1e58b9c06bea7a262155d1918d78bdda7fa5c5536108bcadba948dc5fa4d509202d0f563c18e09990a9979b5c8c525a84fea4e4a215dd9b9ce01123cf72489f414e9645f1ac71143375969625628b2c155328fe1465ba302890c6816b501aaf0916138a7fae785379d56b8b399f7450a19b1d5308341175385a2580fa0aa23af8c6d8c7d1c35cd9fd6e2f3f6105608bf451ef50a7797a016176d7ef959edbec2ad09bc405e131c14e329f44cbec54ef0167e91c603b2e9c02a90d8c2dff5c9841fbe3a8b25d87c3a33098fe9c4443ff0eaa91a9c019d91fe70f314fe4c230083155d61f2432b50f169418950ebb735a21f23a78fc0a8c5734ed9e7745eec9880e3a1b51c2825f423aa88fbf20611aaa764027a05ccb6b2d938b044ffefdf02985c39789aa2cf58d66fb65996dcc839f1bf709db0dff1587d6cd56a0c1fd5db7b56e355a60c2b5c945797926d03c719308a6f4b6dcbfd6e65e3d272c45966b07b67f80f475c289cff2caa7943adc5cd7bfcc1ecc4abe33867425299d2e5870342018610f904bcabc28d82dc2fe45804aeb922391e3f5c598788a34d683e9229a378d6f07489e37110be9cf7f6bd58c1feb003a4bcb55bfae4b3c72ad51e90d90518082f4608ba6348fe8590f34bc6e6139c9a620a58e99ea17a77f11687759d08892c5a905d65c2d5fa527bfcf2acb71d82b949fd38c721a83fc247b5171ba47b6c82b3870d52524f82b144da0b8996518cb277c12cc7441404a828a35a18476f084b7d5d5b87d8106d8f38f1eed7f60270b9039855cb48ddbc5da4f909b52165e353c5894383103fd10c4ae62c0e6649cfd045eb7e646d22e17dbf46e5c685f2b1b7cd82ca5110a9c21cd1f875da12d373fc5862652cb8cd622ddb8c5b540334f6d7e3aca8a8a42610c1d9194e9909c00666b578a8f5395b974b798d94d2f7eefc139ce662c024f74c591ef2dfbdecc738d8ca06fc94437d3cf44d506f331c04b14669a5891447102812fd0c452bc2f4e912b2ed5191856a5bef6206800233142fdc9fb442add7d3c1c673ce691f8287973e30e14d1631d1731c8a7d9856383a1aaf0754f758ffb34842b73afbb398bd840ec78213e21e4c4e8aebbfa1205563fac001851966740b59f686cb7c6cc09bc8ec2428639f18cd362880bff438e5ce8e55fbba53517fb227a614ca77171c04c8921952a21203df88ae0735847ec49b24d750d030286c0eab2cc555f1147b5c3fa02c8ddc3b0156ed7c3e4712998095cb9a17085c88c321a95945648de5e800f0e8aeaaafcd34ff1cdcafb1bdfab6a8df5642c04151f72cd4f3041c7335f0ea75d0aa4d273a805ab9c3e3910827965465bc90a7a56fd8c8d386c7d3656612640b3a8cf5cf7b2885a5deebecf7eaa29e5113d83933ef9ad8124193724cbe699b5be00aa30a62801d10930ba6a5f2b1fb76c75105be20396fbe3bf65581cedd1916251888cb6a0d86186b80a0c16e6b12f67b4e6533bb8e3d57d4d80f2e9b6e053e0449ac22afef3a2299974bc6aaa3174d2f836992ea8e47cdd40d170dbee59aa0a5e6fa3cc235f3744fe54e91e0fbc944649aa498d83be0f951ca414f42bd5b1180e81ace4b282bd90140d133340fa98a503c3b77477efc1c74c776f9c3018f4e711ec686eed17f1ae7c11e1334e02d83630ce8a186a09a236ffe0b5a03bd7f19ab0efa8f85751d46bd7305b6b6d1582704fb8c65e39a556b23f1ae96a1d5b9713c5d5159e0193b72e6527b2d35f10b404e45780fef24d4f02770a08b0aac50bc3a347518efb4c16be63868c0e0834d70c3a0060e70255593f10f5620d4fcfb75201d6da12675d5b808b081a8f96418123964d44c79c2dd856ece3062977967de5111223529bc6f3204f43d5447f7a0a446bd9235c59dd1dda4465b77402a0cacfbf7d1ad4f5d7a4c841bd7440c9fe2ba2582dfc7c324cf52e9f7892012571b3b2ca605726db2f79c297d839439de440ab757b398c7e85167aafa441403504157addb8d52e27e607da5a83b2ba8eb112ddac4b1b76e6af79474b79755eaa67ddba474bd7fc31a4a615b49abe66d15f64965f40899b8b88dd2dccd6a2b8a023fb07a5d1a04f81a0e84fd13ffea154538b98d2eafa1414f06a1e27bdfcedbe4a6a0bd76aa4e0fbef94ebf26683b4e8a30b5c88db754919fc48d68cce02c42210ed436f7e90342f2978f69ed0849d70a676e58951c83a9420c2a102d759be02396cb2f6c2291d0d5b48dc179bbee9790d4521b4be5a492e1085e476fd5e970de42748fe8f68cd427c794fadbd550f4058ac377a3790186e35a2b65000ab0262188de9d351f10073187782c4682cad7d977e5249b31a40afc0449f955640fb576f765a4359191ad53e0123e865715b0e111be6b2927298481e32422161437db429f4049f9bd8f943060d7a7c6e722ae695b4222faad2d38e4a840bdb13ccc26d1a37087911e5804ed283b76f1a1d04d40d5647cd669fa0ba6a2b098f31e77b188dd1a5fa44817c2de536ebef271dca24f6046e09e3fc1756b648dc165a097ee7c380a8b2beb7cf40f7b929a9b357b8f6ab4e5743bfcbb268e21e6ace7eb245466395944ac75168d3a380df791382933188dfc110047e4469217400ba4162056e87b58298cfa843422053d1327298694f51ae50e15295648083c192ea5b7b0acfdc6938d0bdad1a83be40cb6d5c8e7a6274e0c7f067616ee359406d201a4470387f6cbd6b12c48791c136e09c1d548020b6f735c6ac018ebb881255ab10dffee640e7a77bab78f23a32a6abbde65ef9b970dc6331d1901f59d43b98699586902ac313ada330cec42003574a9d7a008bb3ab585ad15e4d806fa0cc6034d26e68c596d75e1db289b85aea271b8a312259a16cd53408966fa6387984be45fcca229f527d2a192a2dcbcbc9658069264ecf34b79791d0c11d8aabb24645ea1e021f58c168728a1b07b2d67c2fa75b14a06aa281f11098dfbbcb048ac8fa573845d24c89d4855e31a65131b38728b929746c1127f31c0940bf7f4d0e95d40736b037982faaa66f6448680b2bb193bb4fa488f1ec45de641b9c50a1755ee92fa1c08066351a8d8e9589a1af4d105d938c6778c1e1adf60e97f9a3a793177b0dfad2f5fd50d31417b578ab7c2cd83ce0ede49d562e88777c23d98fe9407188a1e884ca6992df92373a1f6e1db1bbac542467713926af1710380b682a52754a8169b21adec39bde908345ab341c95f82d0ba689dd3ebfcf768c21f6de7cfcddf3745aea42477a42212214d6d391742b51ddd609306c2e5ff7d219783239a5db9c3e387e0364359836459eab9fc3d1f3db557c61bf9d48dd57c32744b15a0c989f6a8a6eedc9394c26c8fcecdd8006b62b8670a79667209fb9130797b01333940e442162dc9b6d4adbc6fca136dea609bf0be06b65116bbc9e06b135c159f0fe3d010c51f8e80837ce633777b60a2346167230ce7b3a44307c429500fe8d09fe7b3398e62c9b9245fca7c5453863d9b7114f611466365b34f63a96c00984084742b28c49f45a2117b3c04dd6a5247a80773511e899e8ca8718ae6ba9a371e80c38af77ac72ac584679c9d21ffa4833824eb1b0aa36b897cb86e41f857a85e48cb57abdb3b176a9ca370be63a24caa7d23de2c5a497a0fda90b5d19fe0698dc27ffa3e14e2df06c18dfcb78b9cec9b971dd2fb7f485cf053e0cb0417f334ef03920cff32fcac3d0b14d2c896152ea25d7a607f2ffe425ff5d44ef5e50b5864308642c726c6c4933da9dc6f3cf5cbbefbd4ad226e3e8a9916852264adfcdd1e842eca3ae6c986882321003b93843312b030760b4c363dc8f7fa4b3f1306535c766041f698013cd9a8431eb08040fad54ca8437a3d572990f8633cdaa4b37c049acb7b4abf8d55f7d411008259656efdd58f6b4d59dbeb4c5b6fe6c96bf33ec425c2459f71650ea1f5ac3c740fb2181e4821b34cea6c44068f69e7716a9f4a07005470f7bfe6a3d7083c7d4c9aba7cbb027239b3b651282336823c7caff1c18293769ad5afd4d71764af2b9c48991f5f90a008b65994291e0129fc5a5215c531e9db26f98a42d71a281222a60a9a1e8f756b28ef6485a88d0affca4921bc1430c823d324df370b53a0f9696ca82907eaac97da885c07efb2887f45da5b58d1ca050721dda7b1c9ff08bf4bc0fb8b569dec44568a7db08b700ccbc6cdd393783280f763b72fab186ce8bf3a35f67bb6fbea20dd6f3e87c4172aac17ec1316fabbefaf3cd54b5f3059d8d19de77dd7bd23828b840673b640e98d2da88bda635503ba7be923a48ff01686c3b24dcd7a125315249b58d693ce3c72424170451044a4650392b1b2b709ef877de3a7c4c39cf0fe240da3d2f13af381c0d2514fd5db8cb1faee9daaaf298600f8b6c992dca7f6b4a57b10629b76ade5ae7724e477c6d348fd0ad52b45adf794b07c09140081218e09887704718254658494377a791593151c96ca8b8d8ba70d3dd586daec3061408d499af11343f7a808d773601c48d703b0a8ddfccaba2c14b890e8b7733d93e05a475a33d47fc26c32c788c38ef99af4533a3d36ccc3b8dffad53dd55c5127b31177a28c29930404a75f72d43ee186ac1e2a87adf5264232498e4ebb96edbc2b54f588ec0f29eb52f75a14d77f8f37c26adf250eb5d3a15a57cef6e6381738e09c25833b4cd6fe420f9d4f0b36e1ae57cf4df3b2cb8435a772d5b657b5496496e6b2a11764eaed1b3df5877761cafddc2282b768a04e66054ed0ac9c503a73970181b0eaa7263dcf0469ce57aa844d4e294b1b9864516297aed36806a2b6d0dd39fc8c3979b09beb027c096f7b19c0f232e1f2962c91cc2dbb17d6e9b10a89691fd3b0e5384b436aeb44494ce7382a1b4850efc5c2abee0b2363c63f63218e2f8040f3d3640775ca099c2b68467ae75e40cd34cf7c655ef0cb81ee0d355c5702cf995678c2572945158e0062d49cb154ebb9e6644e05259386155107efadb37aa70f3e5d2921cc077604f64d870bbe9dead8af0e4a00b60669f04abc7835f5737c90b6013d6aab52c488c6fd1a092af021b9ba5198ad574ea318159c4a000312e8b93d7f984cbe338951373bafe7494ed89bbaf2fa51a81b1cffb8ce380c08a370a606729ca8fe3c74021f8e0ca1f8a5a602e63add16b5f0d22be4d1fa330d1645868a9b5e220889384db265abcc595594356c9a48724b4aae0405dbb79b1b2fabac88c00bdd4ae2a33e07fb904b3025840965eece327e02ddc4eb2cac9fa0213a0c4689235ac904288ecc0912f0c768cf5c59abaabda2539944b5c24a7e1330afa24de032216818cd2a8615f2f25362745e7e4c3408a080197f1b554d67ce75a79fdf51405787a643419ca0e3dc08dcb7c22cbba8a1423aba4004510f01d597f968c8a18e938f320728127315f01bda6da0ebf00980508f714ef35ba9386be56260fc5b27810569c463154f48d819d81477031856dd8a7e8dbe5c258115516b0702b62468cba8c54dcb71a22874df9e00def2a83d2ef080692136a1ae885c8d49fd127daa3fe33af2290c52279391b92cd0a54c230dc7daec5df405ae0ea4987a6d39a1adea3406eb6799864279f6c5b43ed0e8f1c1cc52f60845ddc58e1624d1129107979b11496d2dc498fcddb28ce30f78094e961dfea648567e38f184d8d40e5d6f2d8037800ac5bf380f3ae23ca873e614f2ee92f2b3a18a1cb1e32a37f3485379d2d6a2715aabcfaf26404285b44b87b3a4cb008f40557ae7d3be2c4831deb85f5387c849995b97eb0d182473c020ab6d48468c752066e2af94149bb00164ccf8c23accc24b35202449bbe28de14e1f5426f55c88807eee0d2188e02704344380b6b8bf07bb36ec7f9957502919e851517709f38e0b4a95379082ac5b8d11dcc27960a36309cf21075aa8aaabeeb1f9405adfcb25307c2433681b2c2b8976749546d762dd1ac559495f1044fde058bab7c96813f0e24fa9e012e7f9cb4f12e801c215544a20fdc7acdfe937a7269adf18cf84691d66a67f558df162915bbc6a6d30464083f66ed9c74af052aa8a5c78d909cd059f8ad0d545a38493552329f68aeee1b24554eaa5a5cd8cf47ee524450f25caaf9e9cdc7cea58491eb65a1d366fbf5aa677b9b85b908e02fe1391d88ede77000b0ec1b4e84060a17cbc0c914ab7a554536698ade3a98bc75b9f4868b42b0226d3890941f18f72ab482043d7ad28b8d567d505874c3b3fb244956ca5699d438bb5f04451f8865065a5f4126bc9520fa41dcb5225633d182329025a5b11b9231c711028fbc72e33a56ea5d24a6bd2fa9a21303e692c2dfd55ed306b9005f5e28c4221f02592df4ddce9bb690ff19028f4307d5ad73977011c92ea6784d229a595d24f7832e16c574fa6eb1acda8b94752903c013f76ed512ba96b90c8a5b53f8c1be3e7fa1088b2be8434515abb5a3d3644495cc4f856efcecf3215a82f5d6343f2d9ab9a046d143dcbc538cc32c7dabf77c946ea71d593c6d6a2317b8ecb6e6583634a48c18835cebf685009fd127b3ddcfa8f2f3662ba9655ee661e0a11595219f7eae200f9a77138fdf263b567b35a822257ee838ac337aa9f4141c4a43e02e5bb5248d7a8dc2488243d9606e966c7510dbdc2612b72c29111f13268180a5b9352df14093d5069708a3da78742f386ad71f88aecc7454180bd9c9efab44904c23531b72b6e9fd8135e2201f1d682979d059f8bb0b15de9ef57c44f93deba471bf5d2bc5d768e90306d778fb0286337cbcfd529cd12ae2286fd95e6497333be15550e453e4ca40dbdb47dfbf6dca304d7a4b612964282697329eb4ae2106b85c73e115f2595ad499c070a35e6deb70f187589979d0b3e4b92ad9085fd6a0b7aee7c4b0ad53a59feeb861bc4e8df73f10671438c490ebcb00ca959f111e9d1a909357f6bf9d9bb4da977e71cc426cb38b844a223c2ed260f88cf970167078d81ec5cf16907eb4a15da28f42463d541767cdad73c12764d27ac842e6877dce678b269c46dfeccade60fcc7b71f9cb5330b913da21d44d00a6ddbecc5e04a5cae26c0d920757bacde46b59766c502689c4f23d3c1ddbd88260802a13da69395a3d6bedc4bb6ffdb1498f1dd1fac424a4bbcd529494889a89a36097712ffc1e472fb770d59d9bc5ae2a936241ec1165c59d3d9e1a841f9fbdd091b462d89a8e47c89aa3d5e7f139fa877c1f02d7cbc7aa7d2bee04a11fbdb508253c7da603330ab90eb8e3fe1580446660b673f5b9cae261862926adaf6f8711d5dae044ff716f365a71497e1905894af451dfdbf7af7ce5991dcd831068688c8a7455fa9b843e6ae13c5a26f3d6eda9a4e3b473770826a6deed54de918ce7588d996894e8cb428e1d0ce5de953cc50126f7220c661fbd3cb534902b291e80f5a989867054a6220fa22a6c75d4609188defac3eccddb361cc89af49f11d394c595135174fdacea51a7f4e8f0b95553a5c38467054f7b592794074c3075b020c384d9c3d19a187bde43aeadd3d9d0e95135dae1b87c515897cd29cd13d05a1671fe7d2449a22e8bf1153d49eadfa4709ff67e568a9b4edea314614413ca3c2d63d7e18b791e05f91346411fd7d43671e60879dd73c8c1c298a283284b47d1e345683ce04d12e33233046a72c905486c1ef8211e78630ab165158243701231cc39cf961994dbbefee21059a114e38233941cc8a1ccd366ca5c60ecbb011ef10368ab84b109adf15e7970c72e085ae10243f13fbe9576124113f15fe388c3c388856e11a6fd685a43a8950ca1d7754e25c0bea7f7d8f76b4fe5db14809d17f55b16426ad16ce3b573e2d1e84d251c1b20d8aa923223257f821bf02c47895fe45f512f44fb7c6ca3f6bf3fcde5a47b1be8a6e540526102066dca13aedf2572fcdb6ef3a96d5dcf4d110dd25c7a7326c5b30ac9d26d9ce26123944ed77d260647dbc77c562b2269f85fda36574aaf271410a000e0bf53fa29f589a5e36aa63d98b1d9e8eb07ca33c3880522fe95b7192a3d22f89929e96e197ad96915456a15cd95b1407a345dcb56779996b473f63651a97143558420bbfa76a9985747fecc7d70cdd8c7915ea86ee20e00cbdb83b9830dc9b34014cc8fe5d686187a6337ee4e37a89e9cb7f2756709f44da0122350d5c335a8d5dd6f06147afa867ce0eced39170cf090b2c43fab37600fdc3eb1ed24abf98f38af9f1cd1c4633924bf1545cd600376465ba910e849b809b36d898efe2afbc731d5b101224d182abb5169865600bc70206d95bfe450de2102480b242a84b864db089bb1570b373f4dca5c16a8fd4c004a7502d15a5533870af05a41d12e8f09978be4e81d72c59fc141c3cd30d0a81317399cf848fa6c3d43375822f0df4a01afd7e55306e3d15f972a5ea3c93a3fd23101b3c1175004607cdda347ded91d180045333f216be2429bf001884b4c81beb9c904fdd15d50d52467b059562522870b6e979d31f37c666d61a51a2043fb2204e69ef1f6820cd89e77a887e54359a87ce007101830b7b5bba0009c5bf29914dd8119769fcc5a7903747a6bf45aa445c3494e52b33018996554ac91242e4d0e39156aceb21c83563af81332bd48d7f77fd6a5982fd537bb65e5276b54362ec61667f8e278d4c8e506c941a0c21e3e9e1f1ca6b31ed065e9a50463d6396d6e2be9cc68f4b7687dda8387be6e668d4497a1ff80c3826073283531aa39032ad71f843aaf845134a38a37375da529404fd7d02dc52d5e0a9875b7b8cb49331f24d366f46e9e993b9d0ed32dd2c84893817e56536fae42c46354b0ff7152b260bbe875287dae02a3960fb64b57597f03d0b530c1a8080ab6964bcdc7380174619f5d663602b561966ec3bbefd62330e5c4f6daf41f7c09c365b5056794188fcedb200971e36e7c048affc2a794f6e0905d7b25e82777326266d12fe7e8a48a0e0fc9e80bd397ad42d448e2c0d97c1375ed370f4370ab7446c182b3fc66f4c0adaa583812f1b13817e87ec01291a90d9eca1c7e814908a641a794472412d46f624dfda2570f99fa4ff49e1a9048a7c4cfffdda7ae63013f4ab0ba29c475316ee2fa7e1815caa911373967e63c4aa24e063c7b4cd04d28e3d12f0f9bf070f375c5a7fe2d7d62a825861186b485cd200314cd7122136bd114c109ada1f639483fc8ae405241696c6d04f1a5763fa9b41aec36a31d36ce302b14e78cad6a50fc88335e5dbf504d6b79c1a6ea82d73548b6aa9217943f966c4d8dca1724865436a1d60f4662a33d82137c2d25cd703d664a83d27838f64e2348520cff2530dd62f4adda088ae1ff85fed220117db02a6637a4e445c3725d54749772a028a3914df3cd1b84aa9c74b25730ac2259fbdc5f5a6328219a931f0ea63de826e16816196491169c493214b0b968e4689a4b1769a04bc3dfc8a59916fb5d3e3627266ef5bef67dceb830620b0d1bd21b87673bc09324486dfbd6c28ccada5820f3944cc4ccac0e6ad6d247626607db768bd4627000f3b547927705db59227fdb00956151efef3ab8bffee945dbdd54861738097cb5d4fb61bf1cbcf93a1dd1f4009f05289d1264eaee1be863ceeb7fd81c8ce985edb4a48ef9018c868c32301d5a3e0e67ec8e2a26d558b40977e741918145cebd5dcdbc571418d6cc8dc87b040b42223f6b477a0903b51579b50a596371159d2d819811b4d7e1f6a218c60a0cac0b06ba76572f5575181b4aa9a91e241d73a94c7ca74fac7340e1021ec99c4554169479d7b706ed2becbba21aa7c60cd52bec10b6d92a8deaeb41ef87e9726c0323c05a2a2df07e2c5ba30bde68d682a01d1e522b1ab1c74f575328c6e9d7846d1a1c5cfe3e138a18920447c1555aeb8623d42ab08d66db0f6e3faacbbd7ba54a9477c33ba625104485bc01caee8d9598aa730037f385224789cebcde5ea9c12085e288b0bb7f5cd312e7305679ae51bc015891f41097b612d3464e0ff59c26a65d34b18c3c37293e7f49112c92df6df3d7f0e75e0ab823ba02b3301ae1d0fa265c9f3a0cc7d9aa7ae5f88ba6de0d9f4af9c70a30d96bbeb684fb88a8a676abd913bdb09bb8dedd2a3511f251ae213e5f86e8360ca7914192baaec340eafbaf990a2b325dc7072892386592c1538215202b6090b16aeb7871cdb1e53275761bd1b82d0f9b7a67baeefed19072f84850db4159ddde0b08aa2d7c44cf9ad94d43c19e1329624de9bf68099a8ab929128095b4d63fa61cd18e0dc14fef58744911013a16afe8a1407a908ff77168431efbcaa2ee206e7a054b1a1b11ab39cd368c1a4b5acb6ffc48aadacb5379f650c7741e597b34db016c0cab5ffa20244348fc6ff4819c35ef215b2aca71e42f87a46df151a8de5f83d45a6f19517b6976a8b84d1dd35710919feb2fda7fe51f181b5450a76aa669f021fc692d73b0e4b52d594f7294f0d35b47246e612d5008ec21b7cb530af37a4cfc634a38d4f80b19bff4cc76534fea528938d4b19e51a46d7a5e971aa38d23cfbf433af970c931503bd6cbe81173b13d7164762a94cfb10421a5e3f8c4b9757ba25de64fb3cbd130919b214922462500ada4e6d2d58b6b1152ac249787b569e43d66b6d7072827567b7ca02f557f941fe846ced103657ead1ab9355c051951940bb8311ce1b5977ce6900882afb7e40a2f890667edefa217ac52d842334e273a5bdc8f625902137398a71ca1d8152b2e2c1cc069f2ea82e1d4f0b854b947438d2a471fd96763ec33fed5455139613531963934a8fb403b81b1b30de4df86edf14059a6471918fd0b397e2701263c1b98515776874c1bc6a0d8ce3d28e4c5760bf99ec7cee7931d9be896225e9d0cae51f8296c31b968dd781c7439eccb74f46a562866ae3b74b19a959e669e4d7702c27cfc3695b408f00899d4c1a3c40f6f707af0e63ff83a3a0f42e26cda5e2d3ad98ecad72ad791d073b26e7288ba4fbc4d2a9f9f2d1b167912c9ae8cb98b7a8b379ecf70bf4de70411b8e8c1c60c813797b825700fe2c655d7766f68c3bd534705055aa2d8fcdb268c6c5a2730f7a4aaddc0ad4468fb2077000c575b11d4bfca9ec383e5ad4520840deb7082f1e3b8c351982c3301bc333561ebb722b1c41409b91235bb7217f7190fd7ad72670696edf3f01831d5c1b6aeb2e161d13831e0c6726d6e42c99a2e4307bb321830dfaec153ada87dc37009e9feaff6ca13637b73a1aef1421a8812292f6dc69b286cdea47d575202f9ab3b6c98372626809c56b50a3330c7327efa041747da6dd053648227624c4b4ff5331c06c082f510b9a56c6768f657d8e56f10e28a8da00eacf6121de215f6db2214debbc7936cfa39a54d212df4c4f5b207d50f2a231f3e2dd6e25be149c97c4c89b83b0b705222fc0917ae3e339d236a190482800e30b998de7b3fa3d35de3a43d7dec686097bc695822e31dd16cdb1454d01c0dcbc3e69cb0fdbf306604fe4e8a6f960c64aadbf7bdaefb0a2cb8f69eda18ec758676f7c444c029be258050538185663ec9644447db3cbbc4167292aaceb836bcb9f6ace39080dae1b3e97330be6e3f2b37dae3d917ee2c6cdf23fafc04a82c5b5327b01c8f96184d670a9b4d623aea41b3851d05a8816cc612ff5b9abbe70c3cce60e2f3ec4ca40b182e47c45fa41bbc56868fe00aeadc69445cd28112904775b914f398db4174e2bb4fcb95a56164359495f047f7a05a01e085d87bf1c5460a29d0117522725acd86f0365b5b994fa092c219a5fe90961d9686a294231f7a31e71ed82c4478c59348b116d4db7a4b16729ed605bd43e490b05d90489e9010db54bf3442c581941ba800ff0083244f3a7971fabfe97a38bd0092ad2c6acedf239dc6f816b54c2785cd194d8acdf017e5ae2447699f24ae8b52ad1351cdfcb35846f85875bb912a42a52dd839ac60d7a0bc6f10c1229606dcc23b3c35e0c15e86baa173dd8d774a85b4bc82e5497c6556a340c631679be5b0eeba73a88671ebd03f641dce4f8da073b748ab44810a312f57c6bad236ba846dce6024c9b68e27e029a987dd756e21398ea05c8ee1b913ad960fb00bcead5226646203bf9ae18f67170523a09c6563e1bef2fb5a5b86335197c35ea819d060293d213215c5bd058059b71caa4c322abd0110517366c3f4cc90636316ba8a7664b0e64e52de2c1da48c91d0529e1098ddae51620d2c07f3be95325dd81f72011b9d6010ee0f47c44fa518db5c1c2bdddd9f26866b2c7449931049c51fbf7458b7dfd720527bbdc5ed0bf9ea3448cec34cf0b6e3ab6ec3694f552944b6eee4d3335c943ea1b5b46f7ca4ae0ae88852b97b4937ad05908626f858df21c2da3b71da308d8a5be1f3106a226da899b53138c97d0b2f79a01083d2d85f0f34e8c2e51f248e041c98f1cfe83096507036daf92cac8c7224d960b1c61256dfb227c267861fe8d0c50913b1f4f25cbf325486ed830837f14ba229b03305d11fb73353c9f10f4e3bae4ed0414b9efb88600b8e86116cb14265dd5e94bcbe96db3f6ac6449fd6d5c2a12ceed3bb6926587f50bbedc225b7da8654d6ca3c3ad12b29f85e5992692de33ff9262916f4aa1ab293df3ff4342a439245238ad4fa961f7e99bfdf3f6d8e53014518677a26b37957bd97fed3c080d8254acd64d7ef558c1da3dd88506cc576bd93b3a2b02cab867407273324ad9290fa96cf2b31766b0ffbd5919a5f1b90d6f29ad60782ec7f99d8e15f355a444b3d742f65803e5d8dc10bd55f3981776a29eca720a8f4ee1c808122edff2be60f633933cf37362b85cf540ed921f05ec9f7b7627e4c47ee925a6a60b66055458271110a11390b52291b4a4bbc1e0472a503c2663b428318afce9df0346c998831901f177172d16dcc0423dbd77b5633a9880cf4301999ff941b733ac13ca20e5cd26ee4898e80a0c7b6264ddfc4461c9c873b5ab8983bf2a47b6e228576ecc2e0bd214074e467c29c182e8d3d56f501a7e95e334051e93cf6c920e91986126e1a4d05d0eabccde4ef41acceca98628767a2164628e24c18cee86960f137e95170e57a355d23c2620fde69650ba5f194f9c79207001263ea174e7dd313a3ca334c0635046b2101cbf341608bc2705248506adb7162ae6005b06bc9d732c2e6a4376d28b4a99968fc130a129c9ff0df71e01d5fb508666648f05aea6d03534d92d24e5fabe8025694ffa5e70cc44363c23175f9b3bc7fafe381e8a6364dc8618a4507e9305166ac014833964b1a00be92f6057a652bb003a2263eec1950a9411858170141f2c83e08d46bfebd8a1628fd83279d57a6ba6f7dd3b2420e5b37ecd1671cc209a6c02f58103b46859a611cb63ffc732c476fa657c71f9a4ea9761b5820bcd0401ab8b661d4c3bfdb80f49779e8192072314a395137aae2355a40d29591d4e4e596b70da329032e85a636646cc11f36886ff43f052e347fe4246e037676af654e45f35701f73695d149aed8552250cffdb28bea31557d029c4b0249c2120849449c7c8584d609df374f09a17f20a11262b5048b510337b89eb2adefe5bc3cbbc0dad61d689f13d5009ddaea26bf1bc0be9d179681c790b061ace293038f108e7bb7eca24ceb937ef22341db52362b273dfb09a1a4a23fe107477928f9833a647974cdcd3ac43d361101537c429e3a754c0ea1c36df9703b92913b0472527f043a08537f5b72d279d92c3c9c78475e50bf6015afe7f89dc16dac2ee87866e8c4d840c8ad538a035cc69ac3b0ed943dbbd156a1c425e8b9f8451299276b288dece0726f8d330b14d51d7f97bfbb6a3d28e590f1aa921545cb29ee02b06f5c4f66f65d28f12d09373f0fb72e1129fc8f6b4faa1f37d025ef4410681300fc9be230a049c2c4f29c6101e8437d135bd716d8d0ec44793d40a502ad2589c092ab6b92a6fe69b4f3957732103b5b68fd436258dc154a447f6bb44a2a4695cd244961a34633186b9d3ccb860d70d06a548aefe0081a2494bb9744acd58a6dd708798d8536aa1ac4ce510347ea6343d254d66c7e55c0d83d22e9bd6b5fd6a565ab885e96216f329e2194f597f0fe5842fac81fb0921198acec2a6225a46a519fadd090226620f7aa128213a049cce3ec104ff72e5e1c864ca89c5420f6cf883196c89c766703e340c3c28d302ec15e469a971c4f98ad2206df663c1a9417a4a53d7afa48ee485ce920c2c4fa54a4e8c9e22021bec068d0e8937f2e955cfced7fc72ffd2750f3900c6297ad09c78d6cba3464046bca74164bac1dcd5ede10726c3f2e2e9289586cbd62a083fcd2fc215629f9a82868311fc0ca6212f9215ceae2aeacce18a498aac032f9a6b4091c196c178fc9c894257b2d716ac71e1a97ce752527cbf0ff906e0abfbdc8f5f83f278209227582c4be7fdaebfe9295c0fbbf67fe01cd0b2aa4e845b21ca9f0e6c5727adbc7049d0b143930a7368c9abd16783e38f58fb2e12c43f30584465aec0dbe9570b311d9a0a2b739c2614e9f0796f05ca4bf68ada790526aba1868e2b163266ef62d89ca25df8b4bfdc1004440ea890d449906282069d74a6da6e56a1ee2ce3532678b8b73d03ea3ac9d317a90a2b9d5216bff6a5ae4a18d5ca1d30e96edb2a53c548bffe684c21a83154de21a596b9e09b164afda1acb48ec62fea6b550153dd8c02730eacc946c5b06d1c89170ff40a13365cc6a4ab8dd0c6d2d8208261f24437471dbaa9d20f7143adfe8621b6d74222ec423a4bd5826fc4a98bf6570959a5f4ee051095be9df14efad69093f545cb7f3745148813b22ca801aaf4c034f9d69ec0c524b2254300950142a4776ac4c5eb393f2ebfe2386e5e4c598e63b23541ef3e68dff384e695b9ca97c8874ba5fb7bd12ac6c155289f33ae9ef677ad88674cb5637cb12531eaaa188aaed5299654bb68b522f9a2a5d0ac1897065b9a2b4fdeda98d516bd162389c73dd5072266ad4f3d17693ec45458d552cb6909d340b549444c5472917b172ea97159f70811c1feb89841a81c58beafbeb9351d2dfc1308019a39603bfcfc73d7a8b556071f843800a7eb0e3565889ae45afc03ee893b05260702217d971e9487720242e18e54de0fff6c91e75a82c27c37d17414a4826aad6cd6d4a177e1cdf22fd7d66f8af69c42a64fdbb41076035dfe105826f95c89e99923f19b15c1292c10e13be37f61b57b492fdfe18b39f1c862e7e70df224e9a221c444c64b9827e9a899bb6724b67a2974b73f379c04b22e974d07c944796bedf69ea461cbf2311cdbe5e000af401e8500b7e35196a5413da76bc630cc81322dafb78f454407f84727109b11b19042a24f5c3f0737b9b34a4ddc6f11b353cc0db3747071b946e7493705bd2d8d1879f3c5ca8ddecb6890fc55fff3758eb223ec96eb525ee6569f8b616987a21153e926c45173963cfa15a76c139f68b33712f49c2c795055aa7ed005529107e7254f9c7bbca039e9242f76341d1ea4a4f514a550eec9c8f39139d948605f6c18012904776d2a0889542cac01dc76709cc46a8a5c222e0bb72b6fc13160e4f04cb694ab4af3d67847aedab1c4fcbfd3176b4a65d6f7c9cc05940ce42761305e7371f874488ec2b8b889780fe70768d9fe66c8c82e9bc21ce9adca91dfc047b01b4a731e40f469e9ccb36953c2e70199d235331912c2c238472c9bacfeee924b5881aca7e820d50c350b660c520401c659ed3b9e78e661e513a1fce16a2e268a1dfc82bab254a622332784b7578ea244144d3e40028ee7b0742e6a8fdd5cefdab8aa7e9bfff2a9e48656e2850645e816a640908fdb338f3edfadf1935f25dd054106274ae0056b99cfc8643a3d2a5a437a54b0591f79464d2a561f59df27f6293cf954c61d79df38df57863f484c630d196bd9f7c815c79ede1195ce5891bcfcfec00fbab068da28cde4b7aaa5a413cdc3432a2eef54cfc3b07a1346823db4d1f5882d83cf3c30067a80bdaaa19769d0ede642420eb777ae97ade1fc28dafe33c4118b6231f5b34a39e60487a5aad394a678c8b6ee9de5e483b5f7587e0b1eeaf8451a938e7a3560204842812bd017761d3f3ea327eb5fcdf0e5f2472b5591b737fc1e0c70ea593f539fc31c9fe0bbb698f3fd458065dc5f2bc04ad40612917168f8239468cd58a075a73fc1acd3d2f7ded534f32d64ce727422fa4322c7b30131a6543ae22fdb074b1fd0007059603ba500256545e205340245d1d39c87515e1a4f6934b0a29fad1512458fd62703cc562d84fbd4263890fc471ee6211a3574fcb624115af66389f1d3464699416f90a6cf0a84a4733833fb6167da6c1d93d8d803bb026af3454c99ef1b3c18c0b860d77217e3fa8182c35842504050f571c9a23b721c9e7c0bc768d965f3d9e48e5464b25e6b6d71bf66c151c32ef17a4d91d2e0ba8110daa53bbed04658882a27252fc7601d397baa8e0de40b31cb4c6b6d707e8c280b3bcf57383da897e64228df1a027cfb0806c3e31020c041a5bd8173121e5a4af204b0e55157902d2bb139a45833381b71686032b4baff0f6ef715b0aac2b8a6e02b15eefd18c651227119afece9140945be4f65ceb8eb208b8665a3f076589a61eac5d90615d4e81bc4358a7130a4d7d2dfbeac2fc9fdff0509b17872b93df8b088e61c332424aee3f8a957b8a78695ed4831a7a960d2ca3b0ead5459fb96636010c176e87c7b6c24bd91f9255f53a5ccce2cb13fe3c5632803c5ea27b062a6fad1fafcc4e3b80f22357524657fd088f781b523bb53f93dc264a664a1d7edcbe4296212c3b131b1977921345b3fa12e9bc965efb7cdc56c16257085edad72d5218065ad40e08fb28f2e3379fe703a06b7ca821e2d1392f7e9094d26612831cb904bddab9823ced2361e2f5f7927d605c7ae669c1d09cabaef1ff70ada2f89baaba7296aea415bced54a46dfd10d77d5929c10925f5046e69a4ffbb4bca405e9144cd78445a6c306c72d79e34727b38f6df22f59f04e43b854e6bfe374d276bf27edffe5cd2e7256ff81e68a345650168a9bcd839703995d4f379dca8810265b2d9ecf7b64679677cdd9f3d68681ce21292bfd58cea8515093db29c68a8053f9fd7e57ec5ba3ce7ee0882de6bba15bcdd7b2f81b5f20974adb18184134540d65a5d7610bf31bb142b56a7303f89ba39a4e7babcca53e85238b45501ceb9c1b8a2083277557c569f53fee596daa16ce5b6edb296ad54808dd6a5208d74dcb6dd4c1366cb05d4a482dbc6e27c0e65c125adfaf971a0f49278f45a9059e912bac1af57543621b65715cb4b37a2822ebe07de394ef34866a94673745f5befdead68ebfb7cc0860181a47ebcbc0767fb6fa9af9c77145e28cd63816fc5474e5aa090082a47687d9538aea39f641b0a9f545124432a7473ec98a6660284d3b8c628d3ecc94caaa2dacecad094b4bcab9341ef0d711db8dc438cbc1db8e2e02493c8ddad3a1771a75a25c8188f366e057a73b8ddbfaa27e0d710428a6a1f7993bf15f9a3add328fe9a8507e4f0810ba9f164463a2951acabf35723ce859ad322f7fc346a27424b4dceeee8b9c890d3c73b4b76f4dc8aff4bc9aa010447307bdfa7d23b7ecbc75a3f9400814773a0038269fabe738430816c05c0e3a09fcfa8a510c49e8ec9c64f0f13518620b7c19ec7b0765a6ceadc95c01c49505b9fb469592a7782cb330cc1cfe9ad87d392123b35f8c3b2f678f11c83b3ed984a5d1f59805dcf40b6a62735da0ba4e025b0f97c8813f342cb39473a8b0d48490c174aed453b020545f14081c59b1806867a9e38357ca318a6011f13f25349b997d500e92b83801933ccb81814ac611108a24fcf296b9715bd349d06e4cfc0248c9c1702c32c17be844d0fe39f30ff20528f614c2506c24e94c205677c6fb658c787445d09725aea4f408f02379c80268c580618f8a6c759bdb84a8ab4b84f755782c685af0a0f8a55aa875effba26df44694feaecb699db3126e0da89bc34a2bf6ba894ba0a1c125e80fcc04141db2ab52b07c6eaf8d78696200f04179ec80ec88e0bc79a204a5c6c75ae54f6f45588ce95a9258ffb1690d8629af41d3860c1fb6015d0cd91bd5b4e224abf5fbf6931ed3736db16cf4a67b69b01445aabe48406aa308137db1c0c22150a9a55e03089109a4b34eb394753db2a09aef82437fb3bc6f8f193a24702e5c410c277580325934d79d49afb63572ce1f6f83686caafec92cc77172f90a2516239d27531a65f919b4ea13788298625cdd955eaa4989912e00aae074f8d19ca85a41066b5ff98fb0c7c3c6bf526c941415b5222864448b4e004ea35e51ede307d048efe041553746ba987fda80b9cf84456c70e9c597a4dc3c1fc1e59c6ea590fdc9bf6c22cea736c1c6078cb7e298943a9d22a4c3157a7542d5a70a7b3d0681413cbaf3385cab121c10f474504fb3c2f4644c207956e3c9eb35907d23c21a5e150dc1f3a67bb2fe4dc2ea229b5a6be9171d818fa732590f648b610148402ad67c336e2c96517f482b3656a9755af91b3433ef1bbc95eed140d57900e9ba57495caff774781a034d7dc3095ebc770daab75ad7e49b73e779d4314a612361c985021ae45cd73d71c91d75371ad4697d843dda44de00824fff43beeb371071cbce69ba7124c77a137ff30ec87d08f5fc04a9bf77450f3db110efa08244da38288abfe8e3fbb1b4e7cd9c73b9696c8ee02f6b44dec2eef94d417b20f049286af22c169bc23314450a5e5d50d34e7191e62869903bc61f8d5743ee48081bb98fb35cdb1c883347eaff1015b623cb72c6be32afb503ccf06200fdcfaa5491308bc22e4b5e34375f88f6cb9484d8b4c9cd184a18272dbb738d31dd1ab6451d180f02327b8faddad5b03638c8bb9146c44dcf458dd3f78361564bf7f33b9f5301a9d1ac3c1eab5bf482c1d8158bd82aab2997f205647398fa7fd9b1628e9b1c93a865954af6462a2141b63fe0f7d6753ba5f15bd7d1a8780acba2d634e5113e0abe5492a41b4255fe86a03bc95e68f740e14709985eaa63409f4c66528786520580d9773126468666ed504b1710965b2091b1a5974a410adb14b767944c54227ea5bf17cd8cd1b01c4742e4670a67ef1fad08915cd92519cff245a982ad1d0cacfef3a21172c783409de3960e0ac654f323cade0e5090454868cfd6121e3acb5dd784608c0f9c02b34394ecbc128b5ec11ec00284a63145eaa675a7bdd5d419f7b2f0ce2518c4929bf9b9258b0f979c597f66e10e77a77a17c2876652fcf7269ebc80cf21564e5b5401c7c0cb71f1495aba0592412f1b93a9a5589d0ae8a71b1143269ea7aa583aba648ebe607b6346c15e62bb4b07b866b2ee3cf3137742799271767cfb18265387fdda3bbbc97df07460bf6d319d54a0938948df449efd1607a9e655f9699d8da5c836686eb1cbf86805c8ec578fbf4dbeb37f1b8f06c79b6dba99d23cd7de3e336ef1e6be41d539be6f0390fda7edc39fc6d927571ae7d064bcae796b621c94c226599ee0cc81dc52d1c1e7748048c8d7cb189788ded0251514134454443b8f9056012ab5e439443dd57c6fb1c7899b5402e0a1613258c64d124f02988e43e07ecbb6e71888b67b812c2551c5f0ab44902819f2ce5302078cb481cdb6b1ae422821a6ad7de1460fa2546875879e018fca79e3ecc1539d5cb0a0a71ce851725938f076f9033c778584844c5301dc5187233d8e5db7c3124e9508e7f55e8b45c7b3b6966bd44da1a8eeb239766567c896cd074f993773bd651682d0c789a50df210ce4ab7afa31c68be57b0d55b4fa7317ee9d711a0b8e776acf46ec4747261448d4ce5254d7f545646196a4132daf1cff0d70a3c03aa3061ccc2a5b24cf6461f21fc1d87cd61676a068e6057d3ad458d9294124133de1d181528c2c3e5b436401e3d41492331e4a0ab6d4137a8f924dcb3c4c83cf489499e4500925c9e3d9552c623d5d18c501ba29355dc40073f35bd54c124523d92eaa7975f3d4ad57d436b6c06f1c3d42c372dec504fcbd2648f8c2dda4f67239cf8c17d3d0c3619cf3e29b9054e619945736874970d7c2ba0c1e1e133ab08e6c667388fbb2b28037c2e2a459916755c6b3db8f78bc443b6a2a558389b8cdcc154926e81aa482dc25980644b0b72b0a4b1202697af65bc9452348eea39cfb342d26ac72670b4940231ef44c0e7e70ee3cc1fed175a7ab415ae48fc1df89cdfe4b080cc86bdbdcb6138cd7ba660918f0853771da8e60db80c758ef584e35b7294ae90689a85a8a799296ee7fe44ca68ca22406933f911da996cd5a3547abff157829eef5805fd9432587ac4c1db200e2391a44e9af567313ad6c5d8ca3d5763bb096fa17bafbfe10640a406493f256049a2688b9f14fd288f6f3e6a311acb64e8f75abe2c86d5844ed8cc91910891bb0927acb0ff695ca54980e5888fa9c02b0ec2afabee3df1e75aa3d4f883e828e7f54304049d0aa36055ed614388ebe3255dbe49b39982015263616b81aa396e3318bfb59a4486bc3d7a9b2feab394a9425b5380468c28fd9b2e74405202e783408d771ad118f3eea1e9586f6873b32470961a3dd231f4085e4281cef612545a47b0593f61209388d3cca9bc41bfdbb82e1fa5f9c8505bc53f873562a090d0f721667492db4675b305702be0d0cc51871a3f433b74bf1b2d0c05cf6c53b912f3d6525f59515288989652629c8749ef6f149e193bd51897d4a7f52f150476d0242da56e723847ad18e6b30b8b4acb504cbff6423f475f844320a34b2e0675a44184e47c39b6df9815e8e2eb895d19e5516f9b1500fca8a43a6db718053803e034b59ff19bf104675767da9ead672469353dc02351dafb8f48d2478f2928b772669a8b2656715303117016aa452b6ec0de3434e71ff6eb1db5d873e2cfbf727c62d56066e0c1df90d7493b87ecf473d8d3cae10fdb76c1e891ae5250ec634109824e0c250beb93903cabd2dcb9f9487c3f33b5260d9172395aa339214c9e44b7a0f4750114d4650249df923017f022a2155c2e44b320e9f83ea9d2daaab8fc054d4dfa28dc925157bc0c03acbb04524ff7fc4578a381301342efea8105ffd11031186d3b3f2fff8e0e1b0016446d227b62b4fc14765d97245b0177faca56578b60e93c9b6ea246ed3330559a7e36ae8f3f3db1d7c25c4d0e9440ad62a282a7b4326c299494f4e05875ed36977fa08818ae3cbfca02aced4da716ac96e41a35bbc1989b564a1010dbe663b55dd74bd30363a0424c866b6062eb089bf40578e897a4aaf9ec204cf4a7e3c9306ed2ddd5393b23ac9ecdcfe62391cfee2dafe8b7855a56a46a2f86773310de0e75294928f317e67d0ea97d051ae905d8d8c3beb268dc7b11e2534269bfb601a1fa54c3d540f3f7a52b5c92b55ddc7aea5789d477295911436de7f42d5865c053bd6a2dc5a4e29b69960e3fce594b1c56a7ee8757d745f68bbdb48d8052cfc95bbff4a1156b7b32142f73e2db06fa1f152b52f69ce8f4396940cd3591e46b4798e34ba255c2f4f748ddc463e5ecc06359745a898402087d821850fde8aade9b4a396c08905f3bff308fdc6ec7ed4c94b7d61f17ae92d629b8e11a68a906e56dfa8f0f934cc461096154cba5a324207ae405f69620c278c331e8828383a6ada40b901360641db5189d14c290fbf15f76afe988056198ff96dd88d0cea6790ac85b84e90ebe940fe8b7b93a98cb92af5182a59956916a0c4a00f7441ec39f1d77ef2d5835b918008ed5b6cf0cec3dedc0def836e8f9fdcd645bae0fc07baa4a881ae695399e46ee0f6861f9055a5de58574e4dd6413b9984ddd2f07ae0ec6a30d520a9513bf06821bf1a90e941017b9f0ccf337c9f99b2b50d5043094240abb9c54695be67fe5788bf67dc2a4270d5d71e9efb1085e2354033a2fa23edc8648742095e07ea3eb0204d6fb53cda1c2ab3d1fc18284d50aafe700dc40e9dc73fbfe98cab1150398b6b9217bb4d9ab229554d99a9eac3609efa1925203a1e2ea2d1949ba6df688da73e4886690a67097f357d038d3bef2806ed81cd19f80b602c1fe1250b0fb911da5714e69c5d58285243a36448b6af60a6797cfdc92c1c35ceae86562c873c40c76fbcee517daed5aa8665442e870c447be88dc40b4e59be709947c91136de2209f2416613916d7cf3b8f34ee28d4d90807584bbe1b6421f4a1729cb98aecf24998cefd073adf10919fd9f21a0b9eda5d707f056c591399987c849828459ece92e4be27e192f017414044af33e995d30ccba9a0ec5420115332bd6f3e1b8e3b1c8f49b0a4be4cb63b00b0cfd4e61991dd3b16b387182804bebfced6bcddfcce00018380ce3a80361e422f40b7c417a8de0c4bad1172ac730d1ec3b2123960f184948dbbbdb965b4a9992940147095109e509e054f2d6d226032fa00025b14cc4adf8b2e4750489d6e4da5e7b1b26d2460bee706ca5ac35b9a46b0b5f5a934b0b59d3a9c5276f2d29e97eb5d8af3cf3d67469df4abd63bffed4c2f92d0a7553d84b2d8e33db704a8b47deeae1a89d962cf550ac254be22126cd335f586a306514c9c6e439a9efb09aa845265da5779a4b63c9538623cedd64c21ad600fa4e1807ce1f0a66f54bd71526533e0847d60773467119f50f913f9364f9497292ccfac0e67e998774c8da3a64699f6b963455bf36953a3acac0b2bb79610dca18b9677d1c54098e87b7b4d5953d9941ddb63fd0ab48823952a2349b4b9e60b6e928c5ecf4f83169b0d780be60489fcebe80258240c185045f69218bcba8df653fd89efef41ed0c38663833d4480db030e7a18799a40fd32e26336eb6144e6f84a3ecd3c410d4c549199bf1b47e0f19bde8ffde069910a020669a411b21ee7fd0a3c8a20f4ebd069719c413da8258ee5a33f896bfe749fcff23167f74f5787d85bfe199880e57c0e7ce8f87418cc793a205bfe2514a590fdfd6146648ebf6c328bc209fb0216f32201182fc1d4434a324d587b0ee55c2ca5011b6f48faa8d943b24982c9bd136428ca2c0a3bbc3a7ae242a669a7b308483a014182273017109202b810e68b4be6912800860315177effd9243402fc3128a411e0ffc15d32a5af58dc649a9d5d5606d26c364d2759f631656c915d6e11733464d97ffa7356ec38eb6b2efefeedfd783fbd19be921021af93658a644025b8fb59e4297754c875b24b799ecc0c3c4a27d90a64fd583d26a1774808a21abf8c471c5904d2629016fd554478842032e721b24de934879638ac9b33e039fbc2e0513a11a12827ba52016bbf0293b8a6acc8cc75052671e914d1d77e8a91228413a524f48ecc57baf05b6b654051c786c99c320e78d0f71f2108f5fa4dbf43568f1c82bbcc87153cca99d7359cf81a36e0fbfe405ce85e8c45a5094c2012c0e00b39b719ca722b0001394034c80dc43dd9d9e45e6db97f4a1e20de02e2390f478d8f936feaaa2ebeabbf5895babfd19ede4e734b40e6f85ff71f31f0cf717c5fdc97ac61825ba4df02a8e4e12d233035e22dfaf762fc7d2f9f668cf01c62f2dca74248240d29cb1c1aba668b3e8d510c32953973c6c289f47d8169a581068df7e1f7623c630481c9b37d6bdf1a2882cc6908cc567fcf960d47490517e9a5c68738eb1a26b831205b1e002995943e0053fa6c604e993220de02334e29f9da4a7f14f3943263849190d36daef49180ccd924cf0466cbb9dc2ea4601993310b8311b02bec0c4f2ac8e3db1f9eb6b046602f4bd993d213194b2f7c9eb3bd1ba7dbdddbdddd1ba745e9deb2bbbbbbcec039e5dc7dca1cefeeee566dc1f3bdbbbbdbbe306b5377ec944a1a520fa78b99d5d26b2995399a56a975eab4d27a355be9d56cf5407627dcac4e7de6cf29fec41f9ef5766843699f5a7aab5397b2933b9b96b7ede7e32a77e0cc1c216df14ef99aba17da184b29509aefe5ad3b869715c6888d21e6043266639411444611192b8ce11443194904c570aa059b250926f5047cb39425019b2289221913430821e50577c78d99a39f471e408afd37e60e213347ff8e2e3c2572abf228953ce8ec43e6f41705a6dfced3c91bd2a3c9f382dc35945d04bdb4e79cd47bce998c4da4792497f00af00aa6179f76e587c5d7d1e9e1ade601c4879cd924b3e753154aacc0364b591859c2b8f2026d0a43b665290be388279fced7c4568214ae042d52fc60a520a204e95a646114659ca52c0ca21a46ae648efc295bc43247bec685c685148e931d5649dd72d5eb38b68cb98e16e9d7e7dce5b74d83dde2269639a999437633874c5227e581e364ef68e0287f94d4da9979b8cbafcf69a01d3bdb5147d5745aec6ed607ac0fe6abf3cc1a38b3061927cc16ccdf15bf6ee6909f9a39e427b193e630cb585aea42ca9ee6b1ff9f65616ec123e6a0c5a6d897fb0b7e2d69dfdd2af048b3a37dffe388b2027387cc8da2018f3df7b9d0be4f0ed43c430e749ee110fa5e69ac65b17c6f8b29c023cde7556476d40c78944af639f1fe4f3b41f0000d55ba14653a2fd0936938647e6d6fe2af5c5f260b1830953a95d9ccbb46172c654e32a728d9be94b64211c3c97bafdf367d31d3d17ad44afa05eba3fa6148b17e0dd3532773555fbf5f1d247d6cbfe6531842b97eed1424910d3be8862676d8820673354cf87317ddc0dfe7554936ddec50716a65d2626db14ea532eacc22d71fbb5985e4994fdeda995ae4fa354d786c22b97d2f11c53aaf3f8a192531eac7ef377f6fa1bc073dbbd9ee21b30d3bef66ae97bac956db4f361cdb09074aac7fc7c0b5da70146f7eae97ee26bdd5d4d43ed7d415f59dd7f56f11f6ba49c7a6a3e348488e7437b0614f8bf5abb5f7626b9f64abbe25e280470fb8c8cd2cfb4966567d75d98f722fbe4a989b48ced338c49ee4fa3ce4fa48b15ceb2c13c99c3ae2fc2a1068ba54d452da9e4c824191f3484b94b6334d3d2e1298a8996c5f5fa57afc383cc27222f3d2b57a55c872825fba542f5d15db19106fd52681e342212dd6af8f41226ec45bb54849fd192e751ea1525c2ad5a53a4e0a219cbc70c25aac93a845265d9feb50b5897a8749fd867dcbbab1749328b9d6da5572eda25cbfe3504ff5ebf7d22cd76fa6fa734cddc239d4627d61297322caf62f0913965ffa0be704795357cae60772875221441326f2a4df5fd38591fcf917df196ec00732b681e4e921935324cea8d379d20702d225847ab1b79b47d43f4581a0e521a8c76991a2e806524a5fac341f57e5cd94a29eb6d8aa3f1cf71ec8cc85e119f87237a33870447d7d0df51795245fb7f5afd3afad434dc0347425130de958c39186538599437ef53cb0ff4173c7546132c9704976f06f3481fb769907774bfe5461ee9899529f0de1b99b3b3a213cbef78b2d7a7dd187d00f6fc0fde23f4def4c1d222660b468c1821562b8fc3b15a827733a47b19329f7122b436b35266b355b996a5581c932590a561d664a3472aac0b4829759c37a7c6ae0d0345fb4d75872b51790128210991fa06289125902bb7fbf3a688acc3ba887e60efa294cd353e6e89a76cf831aad359ed42b3dd289484f4f4f8fa50142eb6e4d6ca2674a9fb9cc6338779b2276f186a21983e298f03883dc310571ba2b30edbc1a2f78a927f0388352aa1a48a8300d117805023ccea0a5202b199a23a6c8cc44c1e30c8a82c5a6ca6aca36434383064d0d1b305783480f183686c0e30ca27ff37c1b34606a828e6ad00d67901133e8b3a1d11225e8da743daf1664ee98e18ac80c97ec3763ae8dee25fba35af35877977091981645774f84e9f2be4b81dc741eeeff6a5f271217ce588784b9073202527d8de7b8171722b1f1abef42a0eebdb701f680a253a1dea1efef4ba870fc6809d9cbc8ee5f647fca8546352f609a10e6306ff991b7fc651eff28ca84b21e3d478c7e74effd11550864f443d5e27e151ee9baaefb2e447244089051ca7038678d007fd5773f4aa52e34e22defa5b73ccff3de0b911c9944aae7564a54a1510d0cb83e0dd1088bbcc57df7a9ce9fc3823717ed8ac0fd585af49fb548f3e8b3226caee05516b8c3d15f4a9cbbc9e003b848d36dfbedc7229dbb93bec4e360bae53a70e0c0c1c9528eb7bb9ff49162d745def2f7da45eee44bdee4d583fa0b47306408b3c4251fabf2f8364bcee44d4c9a277430301f435f34882ea95dd43b6317c1bc4951ef54d510788af160fb272945de9e931e08cd3505c17e7d0f2c07b6b7e0e65b38c4bef68e24d791e66bbf013794151c6287d8efbf2f3d106806b4e7d157fbe98106826cd1c55850caa48f7dff2599e35449b792248f6fc152a5ca14396583d19774e0f8bed5aa9b14c15afcbeb81776d21599ccf1f6969abcc96d6cc0632bc9ce0281268192e9f7d3708a69d1a7932f8df1a5399f6897e4f6dfc0d95cd1e3a681a594f5705bad75774b6b13d9dfdddd83ba79858259d7dd35cd3577b74ebdd21e43226829c303eed113e4e03a61e97d5ce0d9519fda05ef148703ca9580efdbabbd74b1b490890ded15fcd74390b21a388943d3627fdf172cdf7f9e0080d700079c2e4e03f0fb664d9fd2260dc0fb29817d684ba6efa5086736a706602bf5ac1140c113a66b0c6d193130752832870205c62007e07166d3e97da8e28919aa38a1290c97532380be06e07cf2167d00803749ccc7f9008440463f34780d4220ffcee807001ee781fc3578fcd2797042a07e0084d25ba94fbd06a0f416fe16d33cab97a1b1d1372ffbc6f7cc7e877fca7a288347857fc1d7fe2b0617bca7fa19e43c3d944138de301c31188edf87e363108ee205e1a8634138f6641fced362ba879cfe8d70ec31e3bd09475782bfb0261c3f1be1e84b32a509476792e9cf84a328138ede24d35f85a30efd54e1d8d333d109df70c474e62dda4e2dd2afb489e8f705d399245bf4afcca72d99d2a7f46b6369a5b0672d5a51e6d0c701a5ebc6088943bfbd234ee2a064b8f52f9148402e401816a58f335f1c0107c6d2ae9a4f3355d2c77fba7c1e3d1d7717064bef2303e3f467c6d4c0089382a6613856d53070aa54c71f87ebe8f746a181678b2dde2a30e73df6e4047c64e051ccde4f37e0d163d3059ede2b709fd9f2ff9cc0a123be36319a058fc778adbe9fb30004ea11b020f47259f0dcec2c00818090cc1e9a42107319ddb7e06dc0c01f70a30599fb24f76fdee635aa7dd97bd95ed554da2ce2c01ebe62dd608dd32983342db26e841d74bed1b0dea159fb6ea2e158cbb46fed1b8bf66d45f34c1d5e0dc58aac5597f637589cd37caaf2920569af3593acbd365a907bb4a8cd31bdd34c4a849668df441a139aaafbe1347a0336cc260544c38c80f3d5a2f63620508bdacf22cd47f75f387e359a8dff0fcb88a0647866b3f6bd6ddbf61cd8a345ed436851fb1a64e0b16145b06e8282d23b3d52af7120f3dab714e9635fabcf816310fc179c790a8e24c8a50ea1c8fb6bcfc3bb9f64ed3b39f6e419b0487d1990b5bdfc59b1eecf7cff029075b3820e28c8aa86d1c82c50a0e4e5ea31e4d484764e2e7072c15b00f6e89def5ee3c2d148e62e38deb0885f10b2ee4bd78f6e69df85acfb34dfd007086efc5cad01f5bd4f812c10ee2719caf765d61ea745ada80b6f5ef872d03b370c623b0b404e0ca798cb87b7b48b83135bd47ee60a8c0275e8b4a8fdcd0f306d8733f20dc73eca9ad6d3a2f69ac3f018db0087e1194e275d3842b7660c33a893f79b48963a2448a50ee405a4521ea27d2daa21066681e0a305ec739b9438f247579fa29c74af812448a5dc6e29955996929410b9a5ee24044b87120cbef1d20361840e04ead67cd919b1a901771804488b3634e05162f9d13b21b488023652052884ded94ac0f37b3849d919b0dcde0364070d345f46be9f13026406e19046807086ad6028cfd9457a87254798536ef0d4d3235f45844e8ff449e5f909903e359708b046e6e8481d1d24348fa402b6c119419f8e54924cbe336bf2fcf9386eb41679c4a9913ef28f8428214a96b23366576499f4c292371493756bad77b591701a33bfab4db25953f7ddbe795ff486028f33e9034d7223514d7a10071beab997ee84094a90a823118db3a965dc777361f598327695d91d64e505b33ac8f33b206e2384fdd54f666c4fe753cdb78d6f2d589b3f54d2bf4fc10bc8591ee2856392a3ec7d0dc8a26f43bfe693b826a8d462b368bec6e306f3055731d469a97ecf50a28b6b803f6c7ccdd38022d8f89a5746e580477fa2610f75d00cd8424da950261c715e854035ffe1f047cddb8440365ff31f08f4bd8d5f75c1f8692381bdda02d39fd2e4ada02adda70a53a1eac79bfafaf7865f3f4d1ba0744dd07e0d09630bd57061c75a4a23a9008ffd44829cd9b933762c370d8bd499e794def1396f5e68e0f963fcd54f62609b34f0fc55154b53acb2e07e99e404d9c319b38102df2d70ff945259465820cc0cd4627f4c3cc9a307e5bec2e93525cba457943c254b591a4eb99f9c6782994d4a70d058c4beff026c7c7f3f3991f3cc216ff50cb2618269db00a5b73c0f2798169facf441e57eae9f9e7a678cbfbcc8a3348f8ccd5c49efc8a40fcc7c89c31c0a9d32d89435976ed247478d34b1d7810539073cff45d3190c557fe15136bd74a28d45aafda0ebe2430d79becb19085d171f68c8736a6fa4773aa06e791e1ae97ac0469c478837719d0f584ee960e6d9dff580f23eb039735be7d46da503888d519a954e96882348876f5e03bcebae274df9fb24f22476b2948d51926915fa3914cea09b17dea0c5fe9e16db39a0540af1709c44416e8116fb276b064da1c64853646634b594f9c464a477583e5aec6f2e33680659a077e6cf52352cf176aa310173ef3de781bde4ad79bfe0ed510f44fbcbd3bd6bbff99237d9b0d4852cffae9d7a49fad83cc3fb5d7844fbabfdfd23dba3c27beffd8b7acea5854046a313ed8f20d15e0b91dc3f22fe167ede526af1b73004220332fab13dea818c4c40a2fd0550d989161e31e2adf9da6fa1106fe5982289970bd5840a6790b7b6bfa191876874199860c3096f214b6a214ba29e4543279d13422c016b86b014a3892f28bc5c47ee6b8f710864e4afbd0a9c47e02c6a717e0a2c922e1b26e18c5dc1b20bf8a68a2684bd23644841f828096b592629f14427e633e5eeee54ac9436a5734e1cf7cfeeee943aa594a2dc29a5f53fdffb7db4d65a377b35a7ee7eadbb3b8ad24a29e5ba39c5166976774a29754a69d7ee94522a529cdddd27757710e7e9fed9771eebee9a955895c23758486953eb9452caeff68e9452d6b8b7f0555be3424f9983bb28b487f39c70e7f983e784679e4e58daa874d65a69dced8c26737b67ac7f1f50c321eeab0da3e84eadb256af5edddddd55d5bdeba40c1f835b24e5795d97aa9553759a1714c59de6655b7597ca68339dadb5c608aa2d24e064f934b5d6e8a4ccf1526badf7ce596bad35ad7d992b33f0177a7301927c5ba9d52c4d8b60965a945832e564b9486719de7b35d83a94065c1154de346bb3e7fdc8f73adb5970f46ca50acf552733d379d2d8a8c1d57494cacfc6d690dcd78d90e95bb00698a5945f6bad565aef29bba648c0c9f4b92f9c21a576b44fad95365dbd61751a981b495ea2e4229d658b607ab49169773fbabbcebbd39f383247be0537ab192a750fa514291045d9cc39e79c73d26adda5c01e05764be715ec33eca16c9109af46aacb0c8e517f6b23a53867b40f0285cf9fee5bdcb7b867f1c4843b1a5dba54fad485d62c6e584d9c5bf1654909e21027a54ff5617d20b708a7cca1ef7966dabd83424cbb3762ad1ea07743d9a0b84e4a9faf7b940d0782e097aac9f2674b9ffb98e67b9cc77bdf40a0163b3402059e25c89cfecdebc0b316ceee093c5f68062d994355262c65bd70122179abab2782bb50e1eca860cf8657239552d108590ac2a9663096994d999529c5ba791fac706cf26a03a55835a0c0cc94f50d47ac85208d2a9585a693d22795e573353a1b359d943e5d963f25539ee19439b56b3e6e04209f4d87fad1a20fcee6868b6c23b7edcbd4a29d9ae8e64a1ecdeae473372ce8ac5cd9ea9f54e4942237516a0ab6e082ee4a9f0c509993c6051860f0dea3a3a383c1f79c7cdedae2c10c703af938d2c7278ed96394b34944a433799a4803b9633acd1cfd6004e06e7895e5920d3865ab324014b8c59c55719a3b6692ccd14f6582a15ac2e10deb2625e9c76ea2c82a95090950b05d60cf32490998124cb00761939458a2c3c3e8a53d93f3496a4e27ba25438011344484105335ef9cdb8c15313465266a4ea6e9349f8e3021b7920e9a4bf29c33490913a6cc4ccda99a5d4aa5c2c92a1c3ab26a83ac5279aa973964d55355d2115a6455ac0459a5faf721ab5e8c7d9155afc343567d0f126064d5f388925549498891559ff27e54a9f7bc9f9487c5f33caf88a5ec1911257b45e4f0e3f52b77cf793f1de568327723734f394e4a50e6a450c99c2c73dc8d8cfacdfb416d44bcf2f6d7fbd9a4d3bd3184161f1c59474d4095550a904789c58abaa38aa95f77ea1275320922031fa8c8f5bf25b9fe47d192eb8b3f8420d7d7f921895cbfe7072d72fd1e4030c9f57d004145ae0f24c80ab926056125d727624485179295a018724d122229d7a4215a80611993ddbbe72caba60a8cecf6c59fd2cfff2ebe187ff4a334a907304c7ce02285002d4e6049e2814a0f3864faf2888c4c5fc757801b5220460a4a9020d682972754cc1cc0fba1a81b515c61c5142853a8301a8151d10e26ec80050a8e8e5838f292ed1b00ca18350a40a5153e2738c10e99be8ef74351e874e0e104af6c3f87183ab4906d06d93e01bc1f2b83c4132072bc1f2b5fcac460ea82072f40206508976dcaf6c9881260536628420757734185852c33d8063ceae8d4c7e1fdd4ae28e9ca931a32fd01601f3db44dc0c30928a5940ac0fba106b04e6e70d2545443b6dff27e2c0c26f0a200d9bee8fdd82311cc04c0fba9dd1226f0a1045e64fa00f07e28dee18c99b9a3014dc0024af043a62f9b9091e9e3783f14eba042b63dbd93b964fa19dca8a009122c656b939ad890ed87de8feda2cb014cb6960421c8f641560d16072e49e4d024db7fefc7ca348183c308b2fdc7c0fbb1324b68e16942013a369053641589650443001801103708dda0044c856c5fa707d644b6cfa3878f0bbc1fab9465a6cc5712c0888309ec8224264688600611c4b27d0bbc1f7b6386b5376a88656b830d4cd9fe0d4a6b74015383d01846ec50868b76d181cac6d232801d1a8ea841061a52c8f66f3e4ae90e46504a29b5b951433444e425046564fb9ff7634f10ab098151a66fa304366ea4208f38b2d5b181c562052b8f92498e520c01f228c7582117bac8f6a9fd3bd444b68fbfa12bb2fd7fe104d9be8842b6af034316d97e4f0c4464fb3c96cc90edf7485aa225db241976c8f683a490ed0b21d224db37d23b32698634b2fdf99a4128304346664aabb800440b5d64fa33de0fb5016b81069910b0b0942deb05cb820bd95ec936081dc4f0f08769becf230d7dac02a11f32fdd4f7c405196fca17997e57940697b4c2934c1f657d9842a6c2964c4dd01126db24158cb27dedb3d65a6bedebb0d65a6ba518401e698268c8544b52900a327d9c4212997efda23ca9314bca947e9f1193b5d60620d31c36b872f1fd584a8e56f8b8c46e94103154e365c886ca0b3668be26254d421f5662c50b35c03c8579d56025618668ba38d95072460a335a3cd54041c60bcd92a0951747334c66c05b04c99cd0830caa2e43ab139a6821a582183e210b0c5e1825d5095cd4d035cd5225c0c07159f2d68d4108a505acbb81856d0b240eca0d7384421ad2a2744b4a99d22d99b74ff682652aba2968a13615695c08cd9250088305d717a7170b2e2f9c58706da194040219587031cd3438c1c2f0040a51e01b226d0ae67ad082c03345d820309d1df10416113c8185134f30694d9e00c33e611a1068311b6a117855f405f684b056b0c7444d02d7c852068514da0c7f59caa0685202cfbcec189c8ac10ae10d07cd09ae3ad019be2820819520667895a5ccca114c58997d00a3b29459d1a269b1b2744196322b2bb8a2e59199290412d9aff747f0773fcea6a02bd95f49f8bb8f000e67c28f47af4020fc488c6647ab10d99dc0c2244b27a480f244964e4491459eb0e9dd0ac4a055e2650469a09ec043b8b78f7a4e734d0b87d47142808645ea060ea96fbf3e57ad083c3cd70ade54c1a374ea0e08dc7fe45f08b93038b35c095384ab4669d1276cf5f8535c8ff32831a2f7fddf7956eff87b0bfd01b684bc7d052ff0e52d1c425fa76edbe3dee17edb58dccf70214b04fc33e19199c72f83ff88ccafb810cf54d497b9e73670fc5618646d8fb7902542f7ab8f80f7383c82dfc3effd91d577affd16e255fd32178e42322afc0b6e90fa38e896bffb10b5b45b81dd631ea0e85976f612f1c0cf5bb7074bdb489ec9c33cfae6d1378f36d840878e79347e797ef3e83bfa662d1e81479aa37cb4f5aac98c2ac830c3fffb6e7c8f1f38b727564594daed6834e92365dfb82dce9be50d0782d39ed34099af83e36bb7a5377fbe4f1d96c43cb588056f4826153680c0069791f623f628b8fb940f9d257cbde766c7b21dc8b2e18fce0b818cacea530fc451ec1f8757ef3d177a3ff301db0a625c1941f7082567419abcf49af1f296bc5a9462200349cb1719c698e20503194e53c0f0c253d11424788101622c4d11c5853188a65062c80ca70fca1238c49638aa44f866295b2266c212329a2fa9871270f565cf1923e2becb0982d4226fcf4dccc9aede8fea395945972e32305d27af2d640d936f1523df7a465e42a66411f20769f45d217116f94491f3c82aa58f7ac7ff7eb53fc81db262c95756c9f7654fc9374abe5f83c8f73b2f70aaa3de7e23bf0d90f5e37b5bf336fe0b81a6500c4da8e00242d2bd361498e032da3e898bf34e3a414403132e20249c162ea3d523d19a845c464ef5295ffbf27a34531541e99dd4ff58653ffed7246555098ccf5a06e55cd75581bd3c7ea5de8f0f96bffd9a902279ebbe06b2fc6d8434e6adfb54e6ad5b899e74bc75ffda20fbcaf7deea94ef57a45a02c9a3fd4dbe5f99f44ed73ba9bf5f9b489ffefbd559be5596ef8d6a94af1656a24b138eaa3c5290ce640ebd225bf72f5d72425390ef5711da65437ad4a097679cf0489be851bef7290f924767266124f20d472a44feb0e09eb51815d450fb0af3d67de945c07e1d9dc89ddb3a1b4de01fbba9ba4c88f177bb2af058891ec0fd485fe651208efb327fc0852c20f07c1a3ae5fba378bfbd9ffb38602e15d22590cb1cedbee2906f2d9234c8d6e6398ffeb0c05a0864f4437bfb21905c011147b330965e2e2dbcdeba3f7f00529081c5d1ebe592a83c3dd922fde1d1372d6087b5789f0b9da8c57b7fc5058f55c787066626227d507fdfc7fddb712b50e659fd4d29df7a5ffa786fef8f389874ebd220735c1b64cefd31031c706d70666a6b70e810640d4c14587be63c4ee4adfbdf87f125d2e22dd2e20d8db4789f488b334bf0289df2bd4444389432a712c9d67d9d7cff860b1ebd123de5fbcea477bcbfef4de68edeb99f7a0f74262d5ef73cf0b2173a91ccb9df81c195c8792e8a28df27721f2099f2d67fc321f6e80213eec578ca21f6e9cb0560da817dfa5408a738e0f9b283fb204acbd273c0cce11936cfdfbe7e7d0bca5ca4664adf0917ca6e85d899c8d0451738650515d8b332942509cd062c93655296a32472a826246559f2a493869db436967fc376771cdaddedeeeededd5d6db5b5dbbb5b43cda4534aa94fad2d95524a4aab94feb5ab8ee6655ef965bb32297ff4a79256975252abdd0d556bb59a94b2d6c82ea5a4714ac7995d56dfdc7da42078bb06666e9b982b5bdcb7b86fc9628bfb16f72d5db2d8e2bee54a970d36dbb722ee1171d22e09429ab4ab5920c8d2dd30fe7e128d00a4c57ed40f1f332e841e5cc7791eb447757a70fa06978d78ab37b9632e99392ea8e3449cb01699b4d84d96cc1d93060dca7ce5b641e6f4d7b98448e6f41371c0a37768e3b488bf099b44938a937b53a82db6d9f0517c5777f5d88fe484628895151c3e2c56b04c9969e79c33b64512172b604237740173c5850f2976a58c1a2724310453962386b070cd2f5158b122824991c2ac95a408238fbdd44c797e83c973be9c595ed997cc39e7cfd0e4999727e49999192c4ee6ebb592c2068c5fe5fd60ac7a194598148e428571cb93f68e8ce28a93ea1ab78c42fd943cf28b16532ca18528f67ab9561b4d8d4cb76d06256f3333ac74b9200918cb8a10ae14d30205955c2bb8e403c58ba7ff4a1ee9eaa33c3353583ce1a4836d12232528a46c11459726bce8e2091515fe7cc8b4852762f8171ef15711c31655c1e954596286c79beb1758c7a3620216501d151f966c308e4a1329dc99138aca4c7ba2e889a30d5fa18285c2e952e142a8366954c2688132e089992d6188e805a1219e4420c4002bb2a42a4f9830603654c3b4ba42870c190f5870b7c419576c0cb8cb5226bb828e21f34203c659ca6464c8805559ca9240209ba14a52132f92b2c4a053c3e4849338dacb1733f36e265730365a6c4bb33e96b9f4f36dbc308802a7528bf56d94e06d1e09e9f1afafe33cf4ab8c894b5bc842514ed6e76a60d86609c3f53f2c70170219792150175e4781df8d16eb6a0b1626404389518b4555e4b127d7fa75465fe61f72091e988e9a3899bd5e2e7f1efd73af66bf84dc14d4727f9539fa254e0d87f492fdc2d1d7dc51c386cd1c26481f0f3b872a707dee7584fd474a89640e2d6aea719eed29ed97d3bf97c23ae62dfa4899be8d15703f1724d422d5bcba7b75d7ea6b56bbdad5aea6b916d2a016e95b3a84058f943e0d721eeaa24f8760bdc3ba799cb9a336a6e9309d52eaf4bdbd7af5eaee948b39bd14f368e782e58f3aa920300d02550596df598163282a70d0923ca5125c9a67ba92cc09c2979811583e77c1c0df3b4fac08cc8a803fdd8ed4df5ebae4dfa721eb07b54f3d0452b5f790f5c381eafb277125716da1e8ad2778fcf2535004c11e1e600f6f4d97fff8f8bc353bd6b38ee1ee7616bc15f0772aefebf93ca14e8927a4cd979ea58730e439dd2205cd1c43489f19b60aa367895f398ddc727327ab247352609bd2d892fba7975129c0a323651e0bf356bf854daf037b64919c27367780217de6f75b25244fc7205b4e7387873d8442e9e80c60001964c062cdcc4c9a1db0ff6861b3298f3f538447e904cbbd03f6277f9b2a98c679c64f44ba1e7691b76c2cc1a37d725a417bdd25618e66e8edde5c7bbb3fdd50a8e7501445511445290d7d64204b77833ca8f3549f840b593fb84f7d2a044a610f923e2dc45bf35560106fc9a58f3b02cb16250a4b07b27e742f7a6b7252f0f8d986162f6ad19bd000db5cf3bda877e63b94de41e50e942e8eba0732b3fca9e81025bb900fb538675051983c4aa710e4520fd41498e348e08000e100cef547cf53eeb81d8e24d0881f843df8a181fb1940f2caa8b7600625e0ed350d14c1b9562f842479d37254cf4e93fb9dba663e42350a0d4ee22875873b1aefa1598b73cac2f6eef66eea4febbdd7ab0c052555499ae2fe4b50acc094a5f7335e2549639c389a33c9c9ee0a3cce1835016ba008cebe8232648e89b76099241bcaa33f89c94d1451a1243449b2591efd4926c96479be8fe9202a24659db37e7806be617b1e482976e75e7806a61e500f3c572973e8d750865370cfbfbfd361ec8e1755051e279215d83e8a0aac7555d02899d2b18f6838faf705fa288f47667988ff786496bbeb2095bda3023b6d4d22b86b0beb1d675b24240d9c52ecca01539a5a4ca2a224df2b939c1893e7cf2958b8b6601f1d99e53ecad4fe0d3db839030bc852e6d417e22dfaf9fe24c97612651ac6c6b4382712b2353f69ce98cc99f4e54f920ed12ca15daa9100df2c93a650d192f06a08eb843da328a698004f794106d48b8f233a3db97682292bd430f09665d214138430a304d88ac1dfa5be404691b7ec2ba553a8742db655412a19a20100000000d314002020140c0785429148281eeae29e0314000c8092447852188c835910e4300a21430c0100004200016288ccd0d4460016f265a0f340d6d1363c90d0c8bfadc1a3021e91c07e529ec8a56ee4369fcadd0e500069f1e0980fa27bb82074e186706e1b24b67045889d1b62afeddecc050b8458dcda8b78216995fadf070072e7f9fa79588413936a1f44893e98e199c665c5aef536d3e109234910488238205317c03dd272c77040fdfda4e2000f5a4a95032479439df5d71f8142cc63b334f658f0c383154833925b0d937f08a1a904042907ff4ede247fbee69b6bee4f90dcc33734054981e450cfd201b641874b18e5034cfefe8f9769e0a64938a60acae367da60433e58519f11c56cd4411ee30864bd0d1f62ded73fc89e45b8e83888d012538a9c5e7b02110f6cd18cd9e14a88ca631d311710d3a6167bda3891485b5233f1fa2fb117799e22667047a39413605b86cd2445d9dba209dfdfeb812e400d8e1058314fdc33e08bff6743ab5d445d604ed88e6b5d038056cfe8ae224b307657d6c0c6119c3c322d367e5bfc5a20894aa39d28ce18637a9d12f3169949d1ef6067d42801ac989bdd13fa4c121166883341a031626bec08b21a3af851ea87a3e5684860d433d41009e2763f83d46366335405d047feeff6a8c90938c1b9bd3486ff3b0721dca97d05130afa7be454509955f03af5cbd69ec038e2131e3d5e54b806538a1e1d62d47a7ba543c3a67df85873fa15e9da42485b0994c7bc6423690da09333eeec29d2dcd59373e404cb6c746d475b0d73ba31b6b8692875b86cede4e9ee875c0d82b0cfd2127166f3eff82da1d4e6428361a06f444f874a0eb11bc82fe85201b016d61ec7dfaa0a86f73bb893e31de45470a774a982022965cb0b740a05f5742bd3ac8b38df7fab099c15056cd2fff6f12b91222af1d6faa0011eb07a5216cc5de0f4644330a31f89cdcb2daae9d2bb75ac864bc8db58445bc094fbf3e3f525696fc2078453e6f513d6e7aaeabb95e0571bab24df066a88970825df071dc5d044b0d8b76f9f38ba321955f280b8dbc4c83106be24fd7e316b3e6444fb51ee9a19d2d4f6d03aedadf5463129ed971821e63cbc99573b6f0fcaf0a0f209fbd1cd4c8007f65c51b375866b20cf9ea56f2d352c0142aaa8db36d0448cba99e18cb945edf66538ba314d2bcdd66cbb55b9455102a11f81ee78b00d7c7f97a549969b7cf05ce2fe01fe6918e078bec08332ff379581bd209c2f4cc956af4ae10a8b0cd17b8aed98f3b8e650d2b0487af3402bcf713221f37798939453c4f7f89e385dbdc08f5981e4b410cd5d640f46ebd6c00e2d4cb9ced50310fe3e2001a5417175d47b241352e56b7c299079c224ee279f8ad1e5955191b6b4c1cc5ae4415ff3ecb1de475c52b28c59baec8aa7200d7129a0c20bd76d9741a04151b82afd2edd2651a66e106738302429acc9f47ce852bfcf98b4810d107c30c074b1d2858d868b57020b9c6cef0cfc747243cf211f89416390d76189e5eb50e818bb02aa4948279a3694bf6dd99daac2452ac805a4c67275aadcbdb7b6acc10a60dbede71830c0793ae37b46631eee8ba6928b0ffa82e036af4a5f3556c34cc2c820d35adc917f8743a2249f6bd6bd7decba599739435aa304cdc00bdfaf56600902af5e0f788d5f3a6b3769a4235fdfca404c1a416aca3461c674d963630678ce4e645995d13230f4b2eca5b8b118988bd4147eb05fdd493e464de6650c3f74f9be0435f229e49b917718be49ebe18618340d8135bdce57cc2ff54ac76e1af9f8f982c2011ed403f86b63916fddcb78b2aea27cf39a022e620af9bd55ab24a9febb8d6c8e4d89b8c55d227147d25f27e7e9323d48798173ed2905c8724d1317d2cc2b7f4a4eb52fa192760fe3890179af48f1e7db20fd49b9f94467c3e743690117d4b2c07b2d0bc0e56dec3e853a8178853030f4a2c98ab8b450f4a1ee2ee54676cc7bec92605c58d2698f07cd53645d4e2cc6cb01d6b22e6852c99057a507ed08eee1e2fa53f2df9716cd5c4b3258f3db054ffb18eb5de97c1c8e0bbe0af425a45bddbb0e0ec6a8c143a5939b90aa603d48bc5b01073e21d7d039a371f36a2c755f1792f4345d7dd3ddb8f0a5b10903005e376c84e7ba7d8eb61e7b99788b81cfa4e437d3ae231acf585a0eedbf19ad6553086011ecd8dfd93131365624df6485bac2fcd60134610f9a0fa432e26184cc6599b99f911f24cf267f5fd8be6c620faac41d14533c50fe134ea36f2b1c31b396a36e6e4c32fad050f144d0971f154dde9c68e2de8ef26c9a0ff7ddb98651bf51499efaa1a9dce7354aac2502873af8cf026fb009787617404a862fbd863b154d321463ac7ca690e32013cff99264c2764bf6e16d159f8f676c67845042e1e127f0e0fcd96ec2412e87e3e36e8bfded227da6b1d5c54dda1e887ae66f7ccb6bd5a8ec14f5df114122075880e1a1bca58900fe00de7b89063ce59dd323b6aa771b3a0d5f27b713430f653b036d1a29bb032559fc68f8837c4f74db2fb9df31e1220904342d08d971d361d9e7309da9abf1f9eb9fc0f905d2ea6ace89479998fbb0f1397670d03da62c6cac857d714d0317f6a523f7a543c7ecd6554f75c3bf6513376b70d5d7be615e56d230981c95d3c13a1d4e0331f3d70f29499f2b9c3bee81fb767939102543eeacc1712397a05d1a160d37b184397bddc176fe9e062af657ca11fd755ffa3791651cc63b095da903bd1ef70414a521098a14e17a01dda48952a3965eb8c9d62fc5d0cbd22120d080324d75296ab015232e49c6f168c2df7e823203c2348b8c818e48b9c4eef25adb487b9098799228358da5fc5edd7de74fdd6c00f43c884c446be4b684ef16d8f6201c6b117e3abadc827859dcdca49c397452e96162839371d42aade41007c9c85557e594115a47932b6408c08d8938d832a65c1b7890219796b4132bcc409a4a604b27929282ef67f4f6fa539c4eb96450476170bc121cfa06312bb8e426679d9e301165e13c2141f14146ae07c826142ab04831ec2fa32846e2c629ce0d14985284439560f945169c9f34b502a7ed78b7ee9b83ba9c008af3010a4e7dde6f9dc0fe3efc9e007d5f85a5c02296346ec503384f5783c4f22ae084741b2b891e8e4430193b5e032f10672cccdf78af5f77657605e07b51985b08b7b04442508d91356a43b85ec45dbfbcddbe96963fd444d97baf0d839e5f591d4c2a70631a20123841b8b10a38cdf68d8a20d130e070aa99c22cd45aaebecca6703627d8d72be010b7f8edb6b19c2af1ce2070e46f0ae3be010d659ce5a7aab2765102ce012158f5012880041c0a48df44624c30345e708fb5ef10e0041ac45ee800877dc69dc5a989dc9797d57ed789f07f78047fd3087008bdf680dcacf0a6d4d2c4b444d024c49a69401f4353a9ddf7802966a523bd16d0c79a867b5c6da4d413caccb924561a281d044a03486e33e26fa981ca4887656929e996328234551bb3a4cf7f36dd05906e45e412b9a44855dca8a13e9d48b5172d67b9b56473c064604af50e97ff1986916b38a961ca59ed91cfa69d3a886919f6f3a197cd7eadcbd63db68d4ded07ea1947b370076322d526c118d6ed27b9099698c40e8c928289b7995d69a8c1446a144cf3904bf3b7b3e2566d02b1a18604589dcd4cc95013930065723644cf03af379b98aee856d0c7615a211e67a53a48db64cef436d434b2d0422a5824a96cb3d662045579852cc7e78d9ae16001de578d078460cf5868f99fa58f64c355486ea6c80f8c48c547901b792c45ad19c14681d8006bca874aa2cea5c666d57b94f8a5b33b6ddd84d2531214689a3eafa8970664ea19b43a36c0bc703e2907d2a0ea3cb773daecd98f03b13786624395047ce13a138b80baf49ea2ef54a1d3853357105766ffe51901f673fa088d5ecca368eb12d0f3bbaee6ad083e0db065de6820e89d2d62c0a5c1776b394e8668ef9b855313cefc2024a04b4524b05fe4845c3dff26cc585b9b4ed501a7e5c563099cb20e9d58b514a1e0c7581385941062c2bd4a8137c55691292f074608bedcd18ec604b9936ed502ff609d378e65d071dd60436bc273997b9f9218f92f8df34f895349856bc69528acae9b3cf1b303bb6970838bf395cfc3fa42b450d643072f6de04f7bfc88169b52e085ff1665df6abb1a6c31bf3de2d0fa50db9205130bdb8a6d48221b7483c909fa257970a17a4d482860ad4dfd1ca2be9ccf245dabbcce602d7f27122e097cdb68dcf147ad8eaab820f871052d03ab53581d6f40f0ad61ef3afe047ff8a0777f0be499bb23cd15e792361fccec5fe6dc98c206b78ffafc8f0127240a1f2416542534e8e507946c235738fd3e92a7900fe3cc231e3dba7b1c496f65db7e8228b8bd0c4d933921eb35785a912d55002882d3a730e343002c4dbdac12608434670dfed0f63a06f17dd78d673b305d18d7887df28f9c60e5a6c9f4f9367c8b74700fac8900e1ae24945330a6ae8782a63625014f270b0a243b52b338dedf4c58387211db5d7669b047af34df16bbcac005b11febebfcd0fea3091192940ba316be83dafaf76c3d97bf7afc13270195d3c45fcbf7a7a8efb9336c2952f4b8d96da64c88f98bd22189781b1443201e3495b0b7f64a75954c2731c46d34d4f587c3ebc50c5d6fd25f1ce68de969aa56fc519b80c3a2f55460ed492fc6046a7e567f8becc35f482c1e209273f5d2917dfad0d19c85a19d61d71a98008295053702d5d2b3f0e1e76c5b4e70065a41d4fc76d85d114b2b14a2dc8fe78495155b0b749951fe226b70d488c46517e225d895a5c0632ff07e6dc56cc14a105c45e39ccbd89b14eb83d4c65fa00a3838cfbf52172ae97c7ea0bda0de23ab24eef11bdbd4d42b2cf686020fcb42b2f606745d17fd44396a259b4c9a3633da8e03e0236c2b9454b4995f24ec19c0e218485f4089952d6337ad2b02844160d9a8e4f07dd2e13330d1a31d5ab07b302a0d73aef12fa2d804ed888eb87b50fa0e888c35030fb1bc006c80254823b78f6aa0a1c8e2ad8af010da6554bd4ca3a1c0b4919f2ad0c580f56009bb14de5e16ec5f084502a590cf91f00500384d93b113120f7b3f3cb39c7896e4e09c33d2c99aebf985ff2ae8724d8eee8d20bea1ce644e97c432b3707ad9fd0415597d333c2d82f6b6b5fc067337ef17f8f639e02e324693dfd036a52add61732ac80c933f606412d4a027dc2f3ce43ee3ed99a909af4471e963cc36eee4fe7fe963d1ce156f70e267380856545b054d7a9e1fbe9437bff04a5db0a7bcc93e9b7525eb02e7af38dd3148122a4599bccf2cd0818edf445cb83bcd518557316148d51f93f5bfeb11d73dc4aaadbe6f7d566267d44787cfc834830a7b230806df82c31951f1128b56c01338dbc02d0cb6cb3d66d5ae5cf9902e3703efc06d0a517d185c49b68cdb720c7f2474ef8887c2efc2b93bf4f40157828ea6956d60b05dafaab5e19d88fa2609a5eefaccad0efd3b0093b57532aaf816123dd8880f10ec92c8a5ceac1628dbc84c4bb7109870a733b7d58dd5c74e272d68f31c35558b169f9fc55e2849bc828a873b309e07a99c6e8798683bc0016a57c06e15ceb204228dc420bef97375dae48c9719cc5b772469e3769d24773d50c07bd1c3f28433cdcffdc79689b6878527029dd416d754435339f87e55a582a02e04eee1e45f13ccbfd2f5b25cb7d5474adcb47133288dddd46ff61cee8b017dd6bf49c8e64ab3d285baa7f178834af751dcc6f395f3b9c76ee4b9c6365ccd61646e414fa69718045d3932a41a071afe432b3d109c4612310f9d0267ea0bf96f9a8ca4a901f64f721d285e691a34bab18f4875b1a18387086eff2938a838e4399b297dfc0c17a084654107df0069db8ac975058b91fa1a2bc809006cf945281114dcdb40215a5b7e6ef32fb65eb7a9988153d765c445e4b615f11ccf011a12b6c8055c932c351fd454189647f0bf1f84d13f192c1bbaf91d62b843e5f5bcd18c14c6db12c3b9e319621142580e6f641231e21752d2130d934ab69455b986039723b3711a290dd40cc972f39ed4d4f4f09b73f533b93d0a0f138cba85aff34e5b1c3c4e33b14a91fd7e55f67f0e105341f92d1198b9d3c7b8147d920bf109a53ae328fd36dcc7d258f30a6e196c4d53a1e8126d52ea01695b489b55d39c0d8cdff1fa727485e3b8c2145d073a06eb73bd84cdb91e315079cd21880541bd0d0e418c71c45ea065ce9c7a4aa534df5052a66d2dbb7176eab50d77e59395951736220c74b4262426172f348c0a2911a049dd8f4674fc6335793781b3602bdc651c7ebfbc838a38cf956867a9e7b9ce610800bc6d2bfdfbf320762331a4da25a7e1d2eb54e55cea6addf4ecac36b7f95f5fc56514e58933d8e52cde0b9b5a93054ac3171d2591ea33b2455e1e06d37b7c2b5d54242a6e4cd19ee7df0dfefdcf656d6028cbc848cc0c601cb97eafffa52a5a6a71c777de372670bc1de3970255d94ca26276e487b662ada9aa0ac0e6295a321a134163c07c1e1d2007bb06861bb7f2e8f523a39adedebea5c756b5255beb77e3396a0782b01b3dfa09aa420a1297598887c0574050c76914f27335cbb2e08d0a7060c3ad58a24e9a538769aa61dcb6cce9db54d99cee9a93455fedd6238682458554e156a115efec8a89841e6a569ab816a42e48671e3a6f3737813f22d9541e4bf4705a18a48c135cc4d3e5a9c1850af632a4ab6ddbf5b72064bb50750d0838a1eebb740fd8990796b9aa874655038bebec153e7cf41c0ce9196eb3a59a0bd72fbc390b69a7f146455540f6638732dc7c236b2a5a8f40cb815bfd0f857408ba7128fcc44c2c24d14131ce861a7dad36a5dcb92f1c0416e71608db949e7130beda8af97c4daf568a10939d940d4e5afa085afe32068657324778ff2c2ffba936b46854e9b512d2596b963e02dcd6546bd0d1cd32b9c71e3dfff74bf69692bdb5f7e78e071f3fc031440ca2ac4937831217ffa1c4ba65088ebbe9d6a52374dde960eaba43314ebb460a0b961d813e6a2faabd931f3a99b8ae3b1270605cae7e40b18afe263ece674d0efd29302eff711758c29e37610c38c8a3411fb4e25841c92f97aa4bc8dc1bb378f3ead2febff0a718bfe85405a497614c18f8acc1796d64e3b12b4f3ca40713a74700146f6c9de2b08f321d3cebaba1df40de2f8fdd9172a1876343f9fb5c6428bc0032c180eda5e91affe1a7e9900835c01e3a1799b90f9856c5bfe5b556f90c24383afee553d4f4781b9ae78002e9e0e288762f4ea6697f835a69a96a54095e4abc116453ba69caa68bf91d58ddca94e4663cdbb2e228417fa80a13653eb725a911b330e76fa86e1a11f4b7e6f7bd4e0e52f3200a4cb250c232743e4336a5ee9b04b029cdc153760a4585015706cba3253156655c86a28060451276fd349e03a1154515effb1f19b1480b6c6a8dfb2be3c9d8e856672e514a3f7e102873ed9e0691516610f632445b1e50ec43752a1a7ca8fa1afc0878aab0126c114f5584840928822e9bb53c5d8f890f44f03b65830c9384ec22ace40c5914eefa6ff5cf058c9265369d4b3274a51c11044d89435366a4c4117a45029e5bb29206ee9509716373ac85d032f2b0a1028e9097d94cfd3556491d4551d2bbaa4562d8d122c3da227af5065f10f293e47938406d5c16ee3cb1137c18b48280efb73c96263174d00b16836eb6cfb1d8f8a337ff61c01ae6251808dcdf8c1f6f51597e51b1c558f99c4c1e616a9e2740c99b09ad637a31a0475c78e258162774510b80fba996f1a8b2a1650f9374a83d6271c8678e3c3e7edadeccfc00d93de480e1f2e7329b2255fee206a7de0300f96a91289b9b5e22776da93f184fd661e2e9b7a8131939cab72c990b68dcbbe5a6ec6610e84c35d6ec533ea7063c3841030e018ef1011d290dbaa75810c2c3d73bb943c115a5014a49c8cc8fb4d461c761d4b56306f50a873b2c38f4d6e1412c011d91c03163484bc0a02ab8af807110793a0aa237715784ef4114538a810f26e794f572b0f1f754c412de2271d73524decc0b089d2b845f5d554b5486b0c1af20c543544bc7196cabed87bfba40043cdef2f6bbbc2f97b7e0185c1cff60804c4cf0f01781ce4605304b7e35e3a8c0bbe9f922b9cab33c3094bbe20c579a5c6fd3bcc123109561c407dfb6e58381413aa3e32d637b60458143cf4e560ed8a277d5409a4ea09e8bad0a75a0ecf9e14f3e5213326ba7fb3d7fbe2aade8248bef4d09d2fe80bd964825920eaa8f0ffba6054b595b5ea246fbac21a97e66a74bc250dcfff927fbdf3d1cbbc595fbe7e7629707ecf8494f0ba902b3ab8d7d0bcbd00c12e0c4e3bdf06697f212c4624a8c1ebaccdad2950d85931bb881d4c976629ab0f750d5e24fe7f0eb8b4f642dcc3e8a4d884800be844828c5f1d1fa45a1e77b4d9d61264a2a73969c9f77fc07c484404aefe2fc8c26b7f8cbccc3d4688f432131cff1b3c4bd6bbaadb28e1aa55fffd336cd47063c54afafe1f5b55e4354f997e226c86495af3e0aecd33e38ef6ec20c67222054f5c2453bf0836cf08bf6c1caa42b89ad5e5e4e4d3c955d08e589633b3b5b3b5f979f1e223cd74b2e67db69d6d54c5d419621e18889d081a453942f5312ad90c113224c62f66e547652e6903d7900f1554acda943412a87b69885941fe599b92127a24d9cd015bf32f9c64a14d17f739e9bf10da84b137fd3a7e8e551130951260cd322cd78285180e8cdc770e8bf702efdb5e333f00e9f1c15911fb7517e930632c941f1a416208bde9bab9622540f7d495388b28712a01f5a1190c7ca9b104e9411fdc1317c66dde960b1855129c025c1c7afa9febf1d996598bd0bae4f4b30dbd37a5b163e65c18943a885b1bfe85762a4ce7e1f183a6587f3132ece593ef7b783db3e22523979b7fc530ae8697a23c6c10ecf04baa92f85e24f461213f84723e58ed5852f439dee66d4a2a84be24d64085fbdf9399b9afb2471179529e8e482b381114afc2f35d322d4f8533d4cd9343036a3f4f75e042ae1c1d7ce28705c89742fa5d7c1d572f2e4f8aac99a9ab95bcce2bbe1b3118966f23273c5d017c6dc3064d97cdd8961f1b713ad73bed0eaa8d5f51507572f8f3546eb583ba87c98a84faeba92e7d32edc258c04bcb4f8af9452ab75e8275eac3c49d324289db7d1a0ae1f0ec2507bbe2f26851813a4cd3356a6be530d6028abc97e8233ec8cf201ca7f89d5a47e62bd7067e3326a322693774bb7e81460cc5bd49d6bec53126762750028b88215a914239ea22aabb13b0116d6b781c7c891754ae0edc88edb2bcf4e176b6a2ff4ef1d1ce0a8f06e99ea49c4bd25dfc6fd6e490019381620213bf68c050808be42672a10628f32d86bb84d4e8dbd2d107b5b6eac70a9eb55ff316daa4dabdb216b588bd25537e63416cc8261c73531840dc57efdfa4579db35c089185e068025a3dc0f9ce356c2079e870a09fe86713c0272f218d6359143cd8452e27b7d0157413066601f6a2406b33c42e99ca0bec0813dbab94dd18efe251c50b7e0bdc27d053bfd1771cce8270fd74f88e1d3aca988692b2647c180f01966dac9450e81a10295fc12c782d9e14309700f64310e8c7d51a80001447e8fe59603620018ffd248cb7805e33fea358eb360ce0070502cf67f4d893f94b93798ec71be883f37c31add0285a65bc8b986607c47bb06ad95989082529311dd7d7b6abd4fdd8907187376d68fa368f23ac953d973ae936e50bcc27bea27a875e4cd6bf24073aba9a71e2efbc2a80fc768a717551041c32acd9ddf3d7e6c3ede4f77cc6365b7608ee522b95bffe239358e1428d203eb59626b5d8d9e363dee4f6a5b617cf337e226a5ae2ec1dfcb4faa445e7ac8ae436e84c04f6b2afd7d872e3b25313f61f57a0732f2fd2efc76e962b4ca00d61269c660df11421eb2408353a8db8829a0d9c96ed1718c2326d767b0d036128d75545d36928845e398b740140cb4d7a47f49e8d8b9b176510678c6c9a114c00aab07545ddd8b6f3077279c51fc38e3ca6ae51c9289b08a27d93b84afb32af67ceca8db932b7d3012b0c20a923d5afd579930d2edba4e90f45bbfe8566b8306da40a3d64809f56e637666cc3069b832532395e7657bd261d11b5f5f01f03c7a3725330814b5c9530566e1b6f54def5702517aaaee7e54649268b2869e0ebafd6b9c275e6c21b0d5010e6378b1efa18fa6fb971cfb84461af0f2bc590e501876f7c62bb99ca12116ea7c360a80d151867bc534d7226ee7b18966798e0a473000bba033f82558d1e040c7f430b827d076c6fd292726779825dde23012d76fbbb4fc71a448bb01342e0da001c918aaea4aae5543b5d9a2f018257b7238e3f2a9828cc8ee30745daccdc22b119bb91c166044a1cc82f0a64a1734f6b4dc0e8438d45791dffe5d306a9b107126efc3ebdd785cb70ef9efc4882c3938017fe577641fb4a280f5af555b9a5163ac18a3475d5c941a0614ab56c87da442eaa9b36e5f5da79f705ede0376ba3485dd70748bdc39238271a073d928e2b0fc8296ee783ef818d005225fc3a8acec910daedbbfffdc4fc2b8c4864d435f093f332d789879b8e5a147d2bc49237ced6e33e5c764fed1fd18b3306cf7a8a7bb1374385ba594260d00f090ac70d44f149ca05f7ee162d5f7a79db40bc11d66b42696761725e3f89f377e6a312ce6779d2ce9ea72fa01565c885503d0d464327cc5a505ebbec2f55b61335d5260c2971e8dafb1a308db97b94a963cde59585e57b79b0fafd6cedd4843b53a5533745317d70b08b103254b22dee080b8420d8e78de5169b15254d35722affc1c38a82b906bede8b13c741480700c205f8068a3dc3557db6e0e4040070a79212efd638303d09ea47b6a02d630d043557d95f6f138271108b82f29cac7777efdcbdc0dc71a6085eb13a0fa81d7355ae2028a00559025b3a82c4e9c675cbd21c00f324e28c72a0fb26a8a317b529afddc2a0170e6b68aed247342185694345790b03635fc3a1c5278d375bfe0615627159e4e6fa5275a2c6f9a0290b46a2ffda53ba8d29e9bc67ddd55ebd1820a97689cc6ce1ca061bb996fe3421d4ef613c0bee84cef63342ce1f72c9007cfdc6519a20da389c32a24922507ded7176c0dbcf67f1df81a37cb58112e0a86c5e130d3d9516102dfe6a8109b532b51a4ce44e890130f4d03b6b5bd4130ac80e55dcc0bcb130f6d2bd9facf8a19d6c3c746a877e067d151e39b6039b47848407d0fb1af3af481294fb391b030710e4f3406d06ade2fd8bb2910d4539e6b5db4809ad4c04b06d0e2339fc5ee729d54816947dbb240e73c42dc7e30618fc98b94ea119ccf222a6b70d80f50839ea3fe0cbae0005a49c89e049c9c7d31023d3fec387818ea527462768d6b6325a29b97d056ad2bcc02b515851aae07ee602fd73d8b83ae19a0fa7f0697e99d2fc3651fcedadea4b22ed73ee8794efb70dcc8ab9fd07b70763a0136ba93e020c79068a7723b39e9c6a25d983000ffad2a4218491a1f249fb3c1957259b043dd0158ff07982dc829ff5227be7fe5ffd1dbffc370fe9357088668d79de61cafc1c7156d2f0580a66091f4117b0abc91deea5d5732303f1233515d6165fd044749bac2661a38a90723100bb90ab58cdfbc0117142883e99a98b8722361ea400b8c29d874ca2bf50b705eface3d8c601d71136a7bbf514c89f7dd50ef31528d5ab68eced4189fd238f613701396e4b066faab35034eda02ac0fff43eed130f7c9a97a0accf021c51163790b47499bbe2666b757566570d42055ecee969c02dfed183bf4017fd8620bc80f6fe3f307374026c4eb6777774f2d76bcdce54b78fc16ee88ef5b9db65fbf5fa9bb0fd105f013d286f53e7518209212393e08e9710fa02865f9211d054539dd8f785b709c509010584b05355b7e22214941168221827bbe95cf0c403ca5e570d032d7ce531fdb9d289f16db4439ec258b2773ba2fcf3307ad40ddbe237861d051f3eea71436a4a5dc8ccacdf9060edcb7bbd93e89af88054ed0c4fb2fae6d075049b85d1498836a7993e24efb66e2febd62baf4670e19a18b4951fa456f6b93458f87141c7aa89d99b628605e70a30ee57f030d61adfb9d48d2f0e342327cc797b46287d8bc437e191ad46945bf1e561e2b05c0b31840bfd219565311862b5f312075274be696210961cf025b88cfb38c7e9c9707e29e9f033471d89514ce8a769e9541ffbffa4f2e8dae3054be692cc25390da4a927e3563a7646fb0d7449a7ea5bf2a6ed59c90e8156f0e1949dc6753d1e41078158956e1152d7b07c47437eb1c6758d25c17dab1c33489817e66570ecbf3ca4c0c467ddb666c9cfb3aa49d80925890a04056b559526be8b00939584b8e5dc3e3d3e6a5bc80729687ee5d72eef12c69c6aa4586546146e75c54442d0afec936d1b5e8d0d8cb532b9960fa690a0fb24c18376a74801a18f30878c326befb2c79cc3ebf9af0ed7e9102a22c8a2c0983799964d74ae6a0ce36534b8568358451b1d1bd21527d4ca23733c520b36c3addb012d6f0b58157f0efb5bc679aec7ae4976696f7ed1dd70dcfc1a23a92adb663a5dfc1c055ad9acefdf2368539499ea4c5562f2c0b186af0cb539075d18d24d5cad2b5abe37f1f7eb0b9542aa21ca9df490acc7522a208355fc6ff18d86018ac4a09b787b962b071a13717387ed3fb7eca05403593195c9253e91a4d7509d98f01e14872bc5fe63ae11042099fce598a79958851850e457f5228ccec68e8c9952f47fcd5215376b66644d469e5715c8d399dfbb68ba420f13318d2a63e60ccbf3b832f3c73c4fe5c376416f3d18bfb8b2d5d251a1035153d98f2f4232b64a5c9b5786389dda986d159cc3bb86287526cc78891606ae58c7bd0ddd768dcf6af29c4a4b19440395ce2d6b29ebd7c0d4125246ca67f012dc2d0294958251b5fc80ea6610f692fa8b6a795f5b5e56c5e20194e0869e3a9fddae5b23256e12205902cdfa43d1100773ad3a040dffd12e98b2707f328d0278cd312ca20599baa369193be4a93cd06081431d5674307d9c967f91cc27eba9c5ab53d6ad207f0f31838b10c8e67d16be4c38a9b0b44d273c03cbac58abb6cc6eb0a09568c21920245b6984e4d12b7e29b706efcf5ac37e659a46e65c933b3fa599672fef69725a10ea6a57297d60fe9ee1d238bf886114344723e8d5ae1831c3545b68450c0c9b6c44c583947e4c13cc0df508741f8eb84d06eb48ccf362109cc448419558303d1bedbcaee16418478d93c99fc77771801be1801f67d81a376c9d9cfdbf3954bd642a9a161507288b446f9246f1590222e3866261238fcceda5056a92a1b99802d1c04bb6ae66fc22759e60d1f12fb83ed8f3d60497dfa342f15fe7850bad5b47205dda064f285a338577886b3375bc99a1bff7898c06aaca12af3aea8150b44f17507e69412d0d14a2be08bae3b085bc267d3b117739676c39a691519fec872b37ff8f30523a1ae74e1213f5ba1dc528a34b449e9faf84f50df80ac8f5f0894794d5a299fa27d0d2cf5fc870031d44caff1ab889581d07f7f0922961a36f41b3d4a09d9e677263b9da41a8aceb9b983d250d72a22c48fa72edf4a619ac40fe9cf48353f014928bee1960f449e524d3f706afd382113c58c73822f50f75d2ca81f264f399dfa0155c98bdef239b15280af4d90cc3156542129a48f3b3b7443cb188baf2e1c4ee1c4b5f6098f4d5f6d1392c414fb4be01fe34d4f235080f17dc24b05de51e69172ff4c8fff64f1c8c52b9fd85c5a8dcd0eaae84bad25022a3c3a1c90278884ae8d985b7fe44402e6607b74597fd6e0ed8ec5d75365eff420ecd7ebb8e43f3be416baebe06b5bc4c1906d5e448d051b8ef5f8937dd3ee31ea3766e236c15da97d023a0a7809ef32994f3039261c301452c2059d8e62db52add984366da54aea8663bcf85960fab56e9db6f62afbd9ca042f208c6fd56a98650000d4482f154c0f3b1dcaf4596c06820f05d381a51b64f13cf6e2a3dec35697c1476c5b89d5f972b99858240143c1db7c0c17b33fb763bb0a11709d415b5d022b229d65afc2e149f2ffa2f8e092546ab9dd4dd0a2ad88ba5a8be6c4585b5e715f573b29856290c9a3c7ec2b06d44ee8c9985c589b0405d65a85008bf9a0aee6874bf1c4f426f62f759e096cb8b827be9ae55fbe0e77a3ffa98c4d267d196a39965ac40139d5b2a74b0e0b416286a52c548132433ea0b21f524846dcb0e00fe48d1e7620e6fec28c907669f677b257045ec49a41fb6fb9e9776d5e3d4b8f39b18fd91e7e79d9eccb8f5963a1da65adae327009ed2160b8b7ea51006b1901ed47f4273bce3f970d685a9e55266684816d0d32a5baefa5b3dcb1a83d7a97cdab8b9092c3cc749a576f86f7c339e5d40ebfc2392b6ffd703e890f880f460e3ee9230710aa89467732adb0419d0d2cb39ec5be280fecbd59c36a081137074570e2bbd5b16cab5808850f88fed45ea36bebfeba6b5b524b9046f9474c1c98ee7ab33866b5d480ff943fdc164f216d5eac8bf634bbdbd23a56e593f850a00af91bb85b166ea2a0c345ede559f326ddbcebe3ded1147904e0cd0d96e230f20a65bfff816fdd135c00473f4496be05ef3880366aafd9290d99d9569abee3015cb75ecd413eafdd9504c5d7f65eb86504cce531d1ca1093bbf662f83c76154d32c46fe48bfdbe3898428a9ce8b8723042f8eb2d92be4d9ad87bfa030ef961ddb832e286d8cdec5148f314526e0e2e521a1d33da046a690086223892b37e6cd2b0adad630a3b3bf99d9829c3067c26434498158a6a3bee70b8fa2050b770ddd247b6660891bf1d1e289ddd11d6e5a4b968a44042dbfe4b2d4e2d40e9d27d5356af4f17b7b9a27be1f3907d76eb6d3fd0fcfe446ab605f8d2bcf7a7dac3fa8d262678a6bb2a6d8ff9b8a12ba451247c3d5c21c6ae8630e3acade75dc1b21768b314e7644e5953ea02ed69f7c931e25d22cf624fa15c9c97de34b7cb86240364c57de900aac9653e76e187b0760f8997a4a7442cc3beed15e734441055505a261cf8f1d1665b3a9be535bf8868d8f39c4d991da2dd96a53a1f3a7b502df4b25326a32abf003447556f36082e4b33425837f5977c9d17069f116b30feffca6f88b59e60d5a6a1095110066b90a8578bf85d36cfeda43dcc40878caedd87e105b7b075419636d1d1e71519ca2da880b0084d78279899691fd0c30ad85336227478552e20dc5ae4d6d90328185b80d5657054e4e96310631fbd959081fd4b32cc73fc39e0e18988121a404e27919cb268802f3c25db96f359965c3f6b5703c88622dae90004872f83c13806d8771c038cf4a72b94d307faff51d86d14b04c41ade418ccfc8013549630a47aed362c602e081a4273ffa288f370698ad6e390e0ca94af82a78ece4328782c75b255ec85929f4a9e75dbbb52225e6db8e6b485878b0158fbbb4ba74a93e24ca0c9b4e32c741b44d8578f3ec9b2eaf6d790550122614ef1154255ec40f06695c3f8f2f254695c392858d0334326a192676e5a437b823ce7392d528d5051ba47ddcb754cf3092893909372cbf81919bd658e2c34ff7fc6a6ddca375bea216a388e306e6a381a3bd89708621df9943e26e69832326c34482d4e546ed00fcb65a5314dc3910adaa892a2c935d9fd046fcef1c1b6784c79f431bc192b79a90ab074161302609adee152e7d8ce91b8f302a45b609c1fe33faeb0802bb13ca86883ad031df3d3f09f0a29c08f6b85c93ce61bd0f1eec838ca4b9f0b90dd671dbc9e742db551a323c065512355d72a1e01791a258343163870b748c214736bc0088dd620451e1b8b3f63bb8f6028b483e9c0c41a7aa3a683f5ce240fc439a51a547691af73ba842d5761967fc1a07e395ed0910f89022949a568b6ec484441b0569770527cb86a421d698ba0b09fe0d2073ffb1558bc5229aed825949d5c0430911fc07c783b0e96c0f11156fd5f15a23b438538def9df5cf32686ac5a4595eec709ec2622495fef1bc25390903b22b52167c3f260ae5b8faf2eaef63809711998cd45f6513f712261f506c8021d735af98b2ea6cb42fd3df4cd42d2cdc8bbf9b40c5aff8c87937679db0223d3e40a4056b3128d0520d94491ea91ab891855779cf61d17ce985e1e62e1257601e0cc2e0cc1458a77e317e76edddd0e9da4b88d3b100b85cd23255736d9f62023b55b487ced11df0ccaa0c420deacfb8018d1e40986122b281abc81bcda290045a9d2e455beff6bdae332669bb3c89c56fa9d41f553af81b9846d28f5ab3132fa632d760a4da26f33a3d73a380ce09d8080ee608d6a2f48018f76c77e62d3551068fde12955cb95ca642bfe6a38980efc010c028c96c94de9e814f1cccb31253374478c9394204b5cbca012aaf7ba6c1b9a781dc7708bf72aba4a538976d0794986865d19f83f87fd560d8af6e7fd5352ca4843fbc289f409d93cbbe4cdee30eab8c08f25a1817b63452a82baf11f59925041660c8c4beec1e0b252202304f6bbc83435caaf1b260b72cc21ce6561bbbedc5691864514e4afbdeab96298c8e3451a78db1730690cbc4ad77c4dc11aa88d7aa16993e5e3685951773702c4a89984591992840e7daa90f3a949dca9f886d828a020e8f811b2190e7a8cecd434a6b871c54fe3c62e2057a20cbeeac458a43c4fc4aa463aa105f5ecb40b818710bbe1d82f7296a306941446175efbb4fb2e17077bf84213867b58f25d00033c0f119cb1c84575f1fd225717ec31c1c836ac0e32401dc0ece74ab98fb8de0a37ab22e7a4955bbe127c9baef84bed2bb15a160d92d34a51d8475f243eeecab8d913799653fc6306f1ae3bc31800a0c311d1361f6d8c0283d9827f249e6a596f5fbda8f01d0df2e894fad18513d4f1d6f5ed03b140d4b757cf804c3efa8adbf955199b2fe83cd2ee9f4cde19181189f286adb3209e13ed157e54f0b125d15cc413d22d2df96f78be813523a0cf1b3b2214f02a229b329d1213d122bbc4617aca7b41c514aef57ab524d0bae06839c781ce55582813cb953b51c053509e5c9b800521f92c184b4da24b3d4c0d564ee433433ef570b0e710c1751193ae8b8405c1dbf130b067390fe898871ec3d164a171c191d9f75bd1bd6ed49bacec3bba86de6085de09447590c68c98d4346423e6b652e358ec47bd5c5619209bd4068d1c7a4b206865a7f15c2fd1bee9f530b51113edcb014817aa94353fe6dc306c2f203fcdb932186e29f4b05ae676df5e048523075ab5ce6ba29631475510c62d812085c01e92349196f23f552d0507d43f2e68a100984d507a0d3173562e5a1e0bb7f7b1558f86099aa5d0381fb316d5888f4b9006b0cff2da02fddbd85ccc2dba37f4fff99c91406de88d3a33f9177a2ca1be76859e6031a2d6231c7b9b3b3e77481527d5258d36d58cab9321716c33552e2792b7ae041a2f4dcda71e6e3a4585740751d6d86f545ffa5399b20e4939ea5fca5765e42b35e3bfcfc30b4e9f00d9023b4394b56e4c6db15467ec7165a935f40cdc0ac0fec66d8fd1f30c844373b820a1a7edbadf962725231511cdf80c019d751b0bfe74ac1786afd216a2aaf48be0dc0800e479e802ba7676f9abd283ac88b6643cf4d3f9c619d2c48683a8a9d6410d11505aa84a810ff608261ee18cc9f447ca3c66515b21efaec36972a4a2406f1aa1d91b426a04b6a9a5582344654498dbc81dbc65cae8420af9fe672a74d6e773ab66d3e8adee69e3699da7fa07047894276b4460fab6daf4db5a21218736ed20a847894578f86396c6974b1d6935c47dc61dcd0db2228c4cae8804ac0c6819b83dc73f957b60f42c91433e9dca2127cb93a03e4d7c3bd93a2367d07db19005cc43c109ebfcf56079bcabfe4688614b8782d28793078acfb302bb337f49a24d43e1194cd46011a0a7f44d8a07306f657c1ef8cb838bfb022166129d5c9b0cd5ed955c5d3a9e9a060ff3172bafe84900dd679b03be1afffc16b47a30d8a51fb4fc56521a36798fa2670065b757ab114388501dc63d2358c5c4243a61dd6a65539a8dba454e1765a294d6bc00f53a1d0466e504a58650f33fe8d1aed2c66cad6a651ff86e9224984476ae4fabce6d2331376eeca544f3d2d3e4ce84cd58af955e6d4cef6e937f7c14b7f6021f7dba9996598b5cc0da7ad3a65d37f845e103943f9303adcc8cc27d6303e0729b8e4b719a77d79e352f7585f2ecbcb63ac543a88442544bec73bb9541019340bf48c16516c1e73ee5b2923903bb9f861252405c221c1713bc9c5537bc6810987b9260ec9c3c29ca299f9e34399de6a69e28306bd53a6fde99d833f6385f1745fddc9e8636bd732673710f5daec51a53b8c142209fbd3e31cb807dd2a5db8212791eefcbb826c43edfb80321027f2b90ccf3740521f71bb367b1a2984202e9490b8579cd8f81020a16921ac983ec15f7c46d24cd391644c8042cdcad363f104db1d50e306f50aea7b2f1a67d976a86d3923db5c26b2da3d2da3df8f179e4993de483d3742032f949fa39b883257b7fa41ca43e193082c9fc8730ac602079091bf1ad92539bcea2bc0c700487a23f428352f338a7731b3a480338f4cbe3653aedf41928112d2dc879d8f8251d10e1e84ee7edaf4b627910090491d196d9d0f8f4e43e22a65c81b1ec6e1e492e42f1ec391038a0e924fa0a371832e0d8edd47735b2f278f350f09790983167db50cf5ebdc0278e375afd1158d377f3db29921f28e025bbe9e3170c90be34253bc6a8b65f86e4fcefdc48edcefbf6ebd09ba0b8c1d50e28c7d0b3a7015ab7d72c074340ed6e800c34adddb77e1aa3885e7852a43e6d9a15e0ed3435af21058e4106478d8a65a8997c88ebcf1b8eddd50a322642f5db5c744d6c350be0ef27f82c9d6622b71872af78dd31450aad2edb4c2f6153c3041bbd4d0138d35c382cb368c5ce68b5669213ca6efca08ef2c8eb8defefb8872af02e7664ede07e26773685ce2eb792d44b2cf4603fa1dbdbad6b2bb6593f48d4918cb2b55d191f62c6d1a77f5cbc5b6935ff83bb383d81aee3065c82775eae8237e85d1498dfa247922b9b6df7bf56233f36a0172d28cfd67a7b8d94714c615e8072a7d094ff859283c0677b3526fa6c7b3d814845546c76e79849c3a089ddec1e64423413f6989e5d27adf4588a1c064167b2a05e4cb172d31fe0a8a404677064aec11f4896a19af93a3722239ccbb0b56693d5a7e3216ad9dd61c519af6bcde307dd8216d3734fe13dc06121909d8cd27678068239730c9471589ed63dfa2998d691776a56f4e9514af0f5761720092457b2ade1ce7a311fb134de46193762b821b300af3c4bfb8f9c99cab310583eb5b51df8823ecc81b806a173dc93098548ddab882753169f039dea80e50e943cbb2941d2d190daf3b89549edf220bddbf070c43d958c6b6b9bae66531953680bcee1265d4f4dbab071eda5b00dd6cfc25ebc92f1d649a94b1ae3e2ea1f06ce14013b30ecd67a2ad5e86d137cd4dc5bc44a9228c6dc296d4d97367e7f36cfacce78429d48ede1d2849f49d3067eca124291e2d93bba31a90c36477991cf61c44ba7676a02efb2deb1d6c2b29c7861538cfa91b85c6fcf4f064159e840e381eda2c1e5521562f53dfc0a4a76908d5c09c6f2f7a2e4a6179f725fbf5143d216039f7635c103f4103410649bf96e7fc203c1376d1c47f0497bbf9cd11d72996d3b6930041240a2d65f9017b70d9659f4701e444086224cbbdb33e52a6f8a5b6a34bc82b40577510c6f107323e877c13030a05ea1e54e27baff0d6d2a5002cc6d784b75fd5019a1556402e8c90ea51cda6f2cf969e72a3ad1a6e6c95eead9a39085a3e43b44ed8d5d755f09564f98185d8b3f001d2321c0024b956184a8a3410cf809ab9f212711d6a43854751576340898ef2fe9d4a6884625c97f738078865b75d783f446441f4803de14bbd323f67176b29d749a004568a9cc5c6be6a83ef763b320a4086e5125f413e15233caad6f60c5a2130d16e1f1d90765780e928277e2882a40799e081135da17e7fe13684a7ef0d5d50c28d0acc367aa49a3fd9911e09c4d02051497d97968a6c34a10d88bb3e9a09899332c2618579939ee185cf4d28409415236ecd3207e36a1c874394a2d519effb252840b8757c6afe0842aa6b517b01e526552989faca7a83aa355256514b3340ad21c455f05e9376a4a97e501a74f14da68e60a41b9c6744855ad5b7d62c92f172086535b20a3ad67ee2b169ec3bfa762e43fb2023219dabc97876a402f20de09eeb614a1955e07c68efc057a5691ec2eb086349258bf6de6cc57832a43730cacb78ad3cc0c20ea3fd99eae65ee6e1acc9341c2d25a5a77a1671fd61f779798542b4d85d1378b2db74ecc33d8e9bdc060d2e96c4ab0d55798377b334429e16db8723838482926f44ac99f6816e5102d806ae65b49f2047c3ffbdc909c645060b5e7db4451141750dff5ebe1e377b2fb02c486954c369efd806b30c9ab93a8edb3052a57ec55f85bd49761e592ac246c26885b3d95c6ef71519169de608203484a01e90dffd16937462d53b5ce43ec3cf2f4a983ca4a229379ea24d6a6a0c0a39bd7947c17344f41044d4139a6c016078acc09c5da8e14f672420ea0532fa9918105c3af486ac013b7b321a30d8b376581464d88bf2c110aed4cdfe0e20cf8a4325718dec97f3cb43c6062b1d652dd2f9597ca2063f7a27f06a94f727a0bd5f2e85c0c03e466386ce1c0910d99fea831aa75f89de0e9711a729e54d8a3dff6d0f320c415e2da117ada2a7e728c125246eb64ec99e9d2e0cf07ff475395386f0dfe8248595c5ebd1c61b03cb15ee1235ab6453d6deaed7176126fca5f65dc5b97727e721ff94a446b334713d64e549ce4441a9c21903ae1eb9457d4bb56f5328692d4500bdf0ae3c0db65106a3ccdb2c2501f8283058bbfdfd35830a25e976492563cefddfa098e3a352473dcf306138270fcdd356075b128221fe6e5d2aab32e52ed66f93b3e18187fcaea0fb2c4a4a0579dc54273db0503b060cb7d18e7e0c2c618a987aaccde49ca5c1a25a72a75acd42bacc17d304c73a29c6ea24df8da6ee3be2a622c342ace50cd0555404f2753fe68121e770248fb957cb31acfe42ad5abb474db10bd436e4451687478bdf5edf792050e79111839a848d8bac0c35e0f08ef3aa27e609a7be552ba5454b053bbe8df36eef4f3838b43906284d8a08b12a3549f45b3a874bc666ead004398b811f2612053cc62475a92396bfd1a128a44063f1cc24783e490e6ace32659dfc7e620841ee4c06e411f0bdeabcf3f08d4a47e4a2792c1838f1b17ede2d985c14587821268039c72ded722be98653cb75faff8653a892725c44b1c7237505886622a1dd98f8a550aa3c54a23d1653f24a26527222cbea1b343d344e96eb7d88d2668440f0f7c429d93d7e06d10c6ed97116c3437469d42a2bd1bfd147faee0cdd3c58e82122978dcbe14535541b9d5f26cc58c99ac15634f905dc7903ef05bd760736dd132c74cab1a341c181822ad38ad4c3d39e5a932635929013967bff830f6e016123f7b2f75ea11abc3a98e80da7773cc8a6e4d25c7dd7a5a8eec2e6198f28095cac48c3fb1f0eebdd40b33b5cf00b9524c26bcfb51eb82b0b3321e95602fb5bcd2c2685b393efdb92c70832d8ef5f47af8359ace4b3ea962c65e36212c6257809baaddf29a68c063113a908a147677eda5e77fc2fbc2a1f43701fc6db80f10ced4c2de8ef8266b77536a44e5e9a846e9bdf07a6ccf5b09a76a15fe5d33527fc063934cb0cad422172220e5f2039db3818865f7e4934287f4db9c942d2f5ef0fe91af1600b0e2c18188c028333a39dce6899e4202bad3af4f227f6827b4b103c49dacb5b0d87348a5816e26238e3fc75770e76233789c734f05759f4ac7830ad6a08221303e572743d4521aa9fb4a7d554e2932a04995ed41f6e3ebedadd2ff26cf4272f96de1baaf8a8cdc4658501e2ff7a28de6232071f7f144b60542695cd4f7002b8285454429ecddbd22a2e57b32a0ab4839a0c4acdb97c5a71da41f892e5a9e848ff4d47b1478d35d03e6682895e22bd3d157667bd4aa162481f9ff81ac3c4d1b2b039e2d56e8f0a9bae854100f70ca54f347ce94d85d0c6925994e39918d15f60b529d272522a0916da0ca8d31176bbb54d0974ebf0bc91c5f87f741e377309aec2ad5038771fba89130f9757247f785643ed6751eacdf3d41013ac5a4cc47f40dca35b2d31c1269e902894865ea3517bc18a9c4d59a02abc38260b5b8ee54a6153b9910226f4f1c1675f242623a24fa89a8085343541c2f24243f616ace1c82e2f41898de5155e145a7e68e3ec6c17eaad3f539903860485ca7f0fb2b2cd4aaaa20c85745acba694082bf6afbcc3dd71ff5f7409abea6469d06a8dd717126393e08ef30c407340ef6d1310e87dade1cf32ed2f65bd8cad37284c435fa580052d1fb551d9fd4940dd590b3be24bbddd7c2e03666c51db0ad8169d90e87f3ada63898d6ea359e9d7e5a58fd9036b72b0735437c291219ad66d45f41e53138d70864deb6a5e18136ecc9f6d1a8b6cd06507eaab96cfbdc82d2ed4d541f3964d9bdc96cd950083d5ee9f15c9910d10a4b40f9303915de41fea11a0e711eafd94e406a543a2101041bc1f54c7334ae634395859d000b36446ecd8bd327ef5da2abff59e7768588a516c20282fe9d5c6af2bcedeee6b1a46df399799b77eafba7c6101371eef29bbc7563c08b08834c0848de90cc58dbb605fe3c71e77f70731efb5a9df7d8d65319bda603433477807535e0416cd4f84a346adeddf3176ade32b63ef5e686ef11feb252287b36958811f02798bb1ead8ea45154420d502427753ded401907d50a9938a6b1ae0e083b7345b48a73a81be9a5f5ea4aa804aeafdacd70d33c11823aa340025e5951b32ddf24a03a732d89a7d4a8028784d0dceadcc7fdf33d96a5f1dcb5bac936625aaef542c752aabfa9ca1c97a7fbd17c2f8fd9d28d31bd83a69ccbfc061e11c739ceaff1fd2e115e28f271a390497b1be24ebf61c828ec247f446e290b820acaed0fb6a7ee823c7aede1daf4b150adf12f9cf43e6428c963d3eae2329ea94beff4dce5555cd288cebf9a21e3443dd2e03f154a5cf44907add0eaab920845de9be55b0cb4ac4c65043edf076a62e6265130d45e56b4aae8cd1761865de609885909128e5d5de52ea76b254814e2cc773ae50ccae63cf4c0a093d0125c1e8dcbd1985bc7c1177bce4a3c1cb034f3c354669127f6eaf0e1012aac621ffb4a5ba1779b78f07de34282a218d8f92da91f4b715c5ad510db44e00fa2c5eae50da724ddcc4927d158fc39fca01db32d86a04937db9542269b3441dd99dae48cbbdcbfb77422d52c102c6ea588c57f8654107a40a591602693fd8d0a0713d7112f29a67d5f450e88b65dcefc00af1bbc809889f75f9dfc7db1a677974a26c9b23d32588e69ca1d008d38003997286bc7368738adf0e81d3399b1cda0ac6f661c2cf196a753635d75fff1118e2f55c20152785ade4716b67816c5be10ee2acf7497a8989a1e4b7a595f61abc36130120e3fb0cfa73e20daee31f0299ca98711f378b488ddf50f73832c54a2bc49fa559f2959d9d6a9a899f92300709ad529d3fef45a6589dde5b29429b11819cecaa385a6baea81c3a67ea70bb9a04ba64d111ccd56d694cab0478ca130b8d4ac1d5f89b3f701eda2ad7da1b7b071e721565ce093660f037b84338451b7c3006db6fc97f05bfe4596d0d029d5bf1f92e2ded755fb03278ff5ea54ce3208659d3f504ab76f90b1b6d63e202703c38b59d00b3610a9228585413270d745ae5a89264135ea32f91f66ea79bd48f69434cba86c88d43bf4c57733ac8aaa2278bd0c56f0840d52fcf8b0b61433f19516c047a246b79333b9f408cdaa1179357c32ea2285e5b06772430e2db9ef8c43b97f4b59681d68bb49393b45e04db6159bc101bcfc457e6324fd0489e671b25d563c2c4c41283131017d32deb38e8a6c7f99ebcdd2b7325cb6eaaca162f629f19d1b25a078f9cba9fca050cddadd6c8d43f22fc026d00d3f9a77ce74a0010134fd494c51ba1983a1bdd65a9ea1b24a15c8cddc137bf23b7d9e585e46ae9ee516b9abd8dda683cd9f4b950293b8b1ae0f0131ee157674fb5e1dd3815522507171ab7c68c55e7198007fcde3df9b419f03dc702e123daf3640ef8b20629c21e4cd5ddc30dce53cbbaf27fa765e365cfc96ae81546c3607cf5a9b003e5129d5b952918d74ab65d366e722c2d2c749d722aeeff2d0c8204ff79a246a939d7df5a7da1cddccd5f882b72acf2b9f681d38d70f294a1fd73e219f545eea7a6e911edf991158ce49b3cd5662ec418a2dc1b3bc9fbfecf5b4c6c6f6d63b03cb231fc80299f4be36520edbe97558f8da721a2845d58334bb447ebb49eaab47615fedd073b57e617be5814a7012b51d7850d6aa2f379d976232dafa456f1f97ff9350ba4ae08f97fb127f6a6a4e8b2ed7c464079a0e1be9c66ad9985d57d8cf8599c81d13749c510c232553c12fc0673a9da530200b3dee997a13d4b4e0b1c34304715197d8aab7d06626fcc32ea39cc8b586e10ee55f313039e41c148e82cc2dc288769da1df91e31ac1dba32206987eaaf49b204d52b602902564a01efb2dafb7e181073ebf61ea8d718dd1eb631eca28ea10342bc9132bdc05a1502b3d264ba63858920b79e3342c9683c2e93aa70f6fd2911aa21ac011f9102b15a35386d7f0d8042572a313486535ce8ed0079cb6112ce16aead67c5df14c451bf724ac8d7d77889f6b6ba921865348b61ee902b700084cc953699f1e612d404274653909ddf48cee63a2d78c3746bd6ff547047a4fbe93c33bcb97492ec849816e30c3c1ac7c407d100138563bdbd4d85ca06bfec4ea539f7effa557cd035abae8d62e9f7769f61120f5e12f3f04d003bed76d51100741733fb30e763f542678e4c982389f2a0b02c8368cf81ab5dd561d9bc72a1863ed436076076a64b4dd0095c0ee85efdf2b59222e72a09f397175d2c75edb8d928c58ffb74a0c656be6e9f2e8e03efbfa463bf7ee00fc6e3d8f16ad7d5b5f546d8cc1a78140a4261571fb9c3ae1def4bfc2c7341b9cac2470423a0a7d376eab3e0c96cdaae439bf254f1923a262026cb8854918fb9544670e10dcd72dc64829c8099fe057555a0ebb30534a45a60b5055aba63cc4b618466ae5e6ed81199e9a2b925232eb7e2fb2483a85d377f2dadf03bb8eaeddb884653b409d65bdbbb48401b5e3c8dac3390af418811f3e1cbcc7979a3ac78e418af1ec87dbd5ad47fbd95bf0f82764f917a4b883015aaf5c87e67c95e3ee164bc82e59046653d7975b2e2564a8f3dc769b0ecd32cbb533937f202c74dffbe673e3480dee89fdb04600ca3e97d0e8adb9aa385a740009331d146c4f87d0d04a4cc398e69ec125b2c072fd52fbf6bbf40381a81e9c5660010637b5eee3e5e6dd66f06be094992fa9ba8f6f428efe00cb2635294d23a716e3a5e0dd969b88abd2de7857d6ffd1aeb72bbb7065bd1e8628da6f908b9d3f593a27ec3bd79b381d4ac402acba9c2ec16d2e4144eea3321c197b2fbb24666ba551861d6e4d44b720ddb64ac6d8a09b3ebf966471e1e9e0b53c7f7083c0fb298d315ff9f6a96f06b63924e30c0e7cd26f1461cc65ac28ff02cd7b227ab7aecbc86d9d6948005b196c018047721749be7a5165aa54719d562d003eca46df364832fc5b3a7a2dce2d2602f0db0e287d3786621876166cda1ad425520b483529048604388f75005969212eb68749018214fd274cda9a2bd22af73da20eeaedd0ca087e702af8207e2e88d99b451e00052da4c46932ae033a16958b7e7058ec29a31c8cad475e139fc42cf928533988d6435be2fdb2fb36b8a25cd69f8cbb19716b89b1752ef25ea3b52af6948f8de7bb431d4e463d42d99e4231b62ec502db26ee2fa1966ad35b5bf6ef8f80020004dfb16465f115b28ede1fde58fa78084dea78e2243e8dfcb2afbc82d9cf03258d3903e09ece9911922b3957d9290be3b91e4fe1bdbf222457efb58975c2f4532335fba69192b462d6fae5ee567bd42ebd6fd20ad8302091390d97caac4d606fbad347560d87041400cfed0ec1a8b22f1c5b46913483fcb9ed0272ef11601f07e9fb55d0cf2aafe68d6d885d5831094f0361c7572787d5c6cbaa173139c13640e4973b306221d70264962b6b707b7a4b0cbfa71d3b3571c485b4f354d164a1c2e2a34d878cae61e8dc5adcf068f631992718a017eee62bf374dee5ed1e0949ff55010d87574beedb4aca315f79e42aa641a5d3b932c7734c76a4fb6dc882301ef2e788907bdcdedcb60af55ebe2e906c16e25f702bd93ae3b0064c72cd3cc12cf56f3fc47499bf201aecc1f7b220d6c85ce3ad8671eab0a9e5f3c8220215c04b1f570712021576af975fc3b29fd6a181062604966df2fe5cc64fd04f05939ff14972877efda10d0ac13f22c6fbe28bd274b038fbf7f3a391261dbe7e1dae504a8f13530e4e136616bbaf535c4dd53bad652f2e015fc8799ae775d6f2db6c68b0bb87ba14d9f6eb6ac49d251a932cf767f9e66eacb183c1b7056ece4a00d664c8752c111ba14bcf82e85c30c81a3fdb6c8ed055ac811a69b455c52784d48e6c84ef0d6ae95940fbe35a070e87835991dddd2b44d11a298b56ed5f06d410ed1f60689657228f5e3d4e19d4e710371a9da58a6c60024fc33d24bde500eb6bd5b45db18654e5c23fd66584064ab308adf9c96cf586444f2d8f98659558e81796ed2f57ceea533ebe40646562234d9b2efd00bbbcd2c569a201f88df82e3e37efa6eda75895b2852e7eb89cf9618d9b20c426c8929316b139a3711e489ee5932e8b095a24d14e16f1eda98378a3539b4ca73a8ac236c7cf79f4be54178d25148eaacad6df72158fa4c6c3321c3ed188365310b1fb12aca89f40c42102421f3e8ac141ac3d1edc353d3e124ddc18e2be2ca93a925eb37e740e6dd8557e639d08de6d5c92568a8bcaa28252533433b3d1fac6d51b06776976313358ce62ab31572a0b429360165bc99d14a4f4ddaa1f16e945f68d06f4f907d8b054be207f9e86370b7a2f4b459a57a4ff845d5b6db9a47141ebd0e8cf52f9e478114897840eae75527c082e2884508824837274a55149c60647bbd5487a9b6dd4a12f0d779040d3bf69eb41f2282554b42e38353149f78135c36e6d5ebbc1c2da6e8caf39b243e783be94720df348321af1a175e9a0e58a75268974a5b8e347ae525dffb919086a575689c63fada9c491c4dd84cb1531155531f1c11db7ac12e955dd860416ce050b3294e5b99728069fd0f986f0c1ecc53e6bd8c95a8517ab56df2823c2d759180cbd1b888d19c8c00caec47285dabe6dd2662471b61bf9b8a46a3a85e63e50373da9cd6ef2fab75ee4ff1f3815b8cf15ac19ce1b95c3f048b95a4ebb3520aa08a2a0bf7cbe53f99060ee0731c2474ae0b3cb07cec7cabf1eb3cefa5012f206628e7c8a0ed6888248f13d870150e982c30e54aa27435aec0d8171e8dc436729726ff6baef0ac1123805222af639b46b8dfe303652573b1815dce92cd01b7abda5224a65496c74508961a372d325ce6ee86b8d77c6823196d333ad5e383bd9bc7f873fb9fffc11a1ae7f6a678266c41df865206860b1ba7e3f06384f09dcc9bc2bced89422c0d57feb53ec4fee926ad2a5701750c46709ebfad3b874e543f0c699509e72fb82d3959bb76acc65ccdb0e693f3f6bb332d63165c6c189d3d2403db412292a7cecf1df1f699795bda129f036074affbe61857122668e9932b0058c05f484cd2ee71b30c1bc0d8d7f4dc26781380e106e7dd212b7fcf64c020989505ea5651e90712251d565e8eb0d90897c4bc27cf6f43cc5add8ab3d50ccc3b2d075ae55d089c5562e8250dd1ea7ae69f2f575c256087b393e106450ffd03db284eaec6b8c1c771ed960948538bba4d61ea2508313873c1ff86e184bfe5825d71b533440cf86920bca34874e43963b92e611449526b90cb6f00aa2625f797010b727d6b00ae63ae02dd7f8da087ed01046321514245bda439ea416a0071e3ebbbfc859cddeda516b62b53493e0ac68bdb39a27d1d98d04de6e9f2b842a255d76d3a2b44ff4e1fea5de2e346af3282b26ba5a3deda3ea4849dbd539442ea9703d4af09ca076dda586aa02c11ac9f492524b171bd87cca84adc2aa6279222fab54717136b7845d609b43cc0d790f1694743715895c7eaf3e878c0bc91385b3b8d27894d4720f3f58844cd2240071f88037e6605fbff1939d07fea0440269b069405035207c51952cc7e278e82d4c33d3b7127f32f0d0bdd7aa45d760137a9048f29d8ce1386cfdb85bb4d45d5622dbdd749e857a96e3087930be0f35583b2993e7d86dfc299d50f6b8751e139168df268f1f1d2e89323ce6b07368bdb5aac1801630b46c824cf8049296f77b12cf43576ec4ac41d91865aae4b71fb6d715b19cab129e00909347d0b821cbb712ee40f29813d12de2a07d68952469f7db7ca034b6ac19488062fcd95c5ae95a6809919e69c798b48476c4a99863038b1a3ab23bcc9406c03126fa3cc82d6cc4655527ff90c83b4b1fc887d75dd008911e4ddb83d4e13e8e8dfc0a4fb2686bbc27ff52eda8065c69a75e5b916b54c027a7dc760aa70950a4dd8bf027d2a94176d524fb6b14acc836bc5086e693c346d3a9a2a61e1dcdc6ece669746d8149d1d836a9ebc6225520c22a361cb84f08a61663dc122f4679d197d0f16172ffe9e9f794e3fe4068efef30af3589cdfc34c7e60937109519265bf4e01def3de7511c874a16d6798c740e6d9e49dd5ab682a859968cdfb9403e14a84c00b3e639333d8725be2c1d44855a55bbec59ac4810074d9b22e43188c93c95e994a2a61e6bf298767f4569a265bd4df7a911d55dfd16b437d66cd4b256f45b0bee62f0fa6ca61d7a657335eca53aa1889b07105a513e478206623a116b870c624d3b33106268a3b7b2f8274b391edcd732af06e4216d72197cce6c909deb956b7903fcd5f89a550f42a56c51080c48b0723bcd32754c93ced49bc602d52df685f3113ee1411ae4995fbe57093fdce488d17ab56fb9c8726ebc4e7fba92fb4d6f9dcaac67258cbf353f76e2fdf6403e94904ab4e43ca5cabb566515c562610343a9ba80213d7aa920953887ab4ed2a053f6112508dbd7c5e191467a629d7d56332acdfe19cf805f031c1c88617b32de4eb2bb273c3dd7a32f54cdb48e73d4d8b59baf4854071b1b89f739baea669110fe01f7ecca266bc77279ba3b4e47f85f5e1d6ff506cfd8d7e89402e2125bb5524795364121ea4a174555ddccf77e4fc2a5877b922d60a99098cb9e4d50354d428b3ecf36db0cb38e9aba0302e91028128deb918d6d08284bf5459f9dd61c9d5fe2a15dcab7279df878ffeb70f66c7d2a7e4a8d7492af422020960b6567f5a8a23a60fd587da13bad7153889465f1599d5600ba3c4dad6a54c9e63b67569fb1aae3b8e150caa3d090545ea154be21b6185e5ea23f54fc1d21ac97961832aed309f7e8d495e3570a42a3b2976fda21722dee39dec11d2372e676abfb45fc9b54c6cf90b17aa5b3aad23805a22c2054ced165c4e1c08431eb50731a3eb26e0a30e3b73beb53af0168dc5f49c0d436018f49014ff9001f6081b5a7f130a2cb0c9b929f283abd5e5ca177764dafb582dbaffdf69b7fb9897f124031f877616fbff93c37da0f40e64dd855c36789c9708db76cef148735632372c42a3d525af6ad6c55260862baaf1923d04be63566984a0998d66e1caee0c6bcf92e11ca73f66dc10d08fa3664f8d2c73aa898be0ab5848c95d472a6c3df17158490ce1d3e6fc8d997b5e24c2b87b8848e78cedd6df03baec848d02cc71df956bf63c94adc463a4325d7d1e581ca990a69628b0fecbd826e43596b33b1c9af9e18fdb9d514c5b5e3db0a4ee18a00dac66993888f4a9cd99d1c71fb909dfb02d3b9a76950a855ae199f1c961bf924b408c01528fa25db66ab9e44a889478e031b6c1dc2d054e4e30da30a4aa3ad5ce42c97cb7074b725c9fc4e88374be1c99571e2aa730407461453d44b7449deed7d9dfbb03735b028f724bf38c328b4ed200990c3f2f8bc8d13cb86a7458befe462c19e72887b2fb1d4b063f28c0f443dc09d2095ab2cf0316d7d9ad2187d11d6ff8c328f1fd2bb31a5e0147e8fdaf74f2721803c6a2fefd4e415f0ef585c06ca10412bb295eaf3ba3651439153d2c4965562a7b81b1da194a447026084411d5075c58fab3f09351ffc0d00deeb2853020e7b41bd442a21c7722a1f1c26fdcf5e1856248913d954a76f6924a7133254918fb9e2ff89478e0887f8cc1167915560d05b9901c58a9b4d2c08a8d4918d52f3125005020a80368fc0c60e5da10105534881e063e74b8547c07b23438a20276502e884638dbd4713522626c186ccd24edd315454cf71857ca2a0b7a1c672adb94a111bb35880512fdb7d4d45d3f4a54b3ca53bca0de1197eed8effbe8d90ea607e9620f16f6e2cb8947bd74e3772a8aab7f21f1cd7ad865030475bf4102d5895b7cc95f4f02b9fcc024524133f36d9c8741cfc3090e855d1ecab424b92c8a9dae4584efe4b5487212b9f3cdc1aa10eb676b4a1b1e4c16579dfea78265644d58014fca3b75b652583333432fd0ae6c8e0df63ec13257f4ca65b868b4441dcb23db87922bf7bd9cd5e03843150e3818aab7472f0da68cc5e04bd528c0fd4d72c187e80f0ba3548ea820c1b71a017571ca96154aa0ae94186b9c2d0bf3476cbeec22d41a32c9c2486074d64b3ca88d73330f1abf0aab7aff38755fb9fa4554a23ea2b06abeac27efce6b2c1cbe4148f5710d7ad5ee4e3f215e7a8236cfa60324927ebdb8c6fd6a3c12103eb25d9762c92313cd5b4c15345282acb76028b0ea5eeb822d88233197c1eaeea7e8c1b25ccf22012d90d10216c9c2bab7c6fda51b606c975fe4ae3e189292a9e16671cfbf4f6a2ff378be7689dff83bf862cf66b881ad3a0767ba30c1d972e6350594b495bdbddc70208b30cc18cf973483586b3900143cb9c1f7af9748e7baf715f3210176e4df46c245c5b8d6b9f7cbba007c4b4d7bea299a932b26c310848f0f23993870ebbf38df934107cccb6a5b5ec20375f0aad0d1be4860787366ef2ef502cc078dfdc988ea84034d5d77cd36db09684eea993929a740b71d9479d3c39138e81b2a0ba7ea93b126bb936288f0cb6df0546226a7bdeee70b9425ce690107f2586c277d0081ac6e53fa79c24ca87629329fc968b70321af4e02443236580ddd7fd3e72e5c589636a4011e4eebdd2cf7c32daa3579e85e5d1b767ff85ac8cf3c8e98cad2c033b234bde1c1226f97d6960c2ec82f3ac0b792264b5c068d81d850e6fc950a3573f22d6216b9a10dbff3b21d13a0440e01dae2a9d8707956f31d741cf45e24bc35a52370395bebc5c94541aa23b0c5988e9d83d7b29f48024ed9c34589460b2dcd269f97269ed623a68adc97dc27af012fac23806b9870fff90b60d8d2ecfacc5d25b9bf8b73aacf3e582ed78e526298b5a92d19668f6924f0911b09227a331c75777fe7c69645e72fcd4185725013d9e5b9cf5fcab41f7127a28730b3f34174e91b57c8ec6902a1d1a2e90e4df16ffd12463d45b72dcb0c5053450ea003b2492f0bcc9d58b0b79425214d716800c1aa3127b3ee921e452e2c1e8bc3a0c1af9d4cf7ee8e43c1c86a01ad80a5eefdfa4ca893b6c5b7b6c5f97f6fb94a390b2c45c64f9b92dca696f7926216d46039bd1cc1f2e4812c51d1de9d0168854125b33562966aee43432d3e1b218caa1b05337a213c7d0fb38523b963eaccfca613eb8acef37f3db75420a018adfdb456e706038685715fe738d2cbe0873f6fd736bfbcba94fd993b94af3dda0409cf9387b6177e62341b92c304aa63bd2624b0deb0e4828f845ed93f14c10678a9aee506f79019976bc5424e25303f044388308a957683ed1b0fc8048997db661e0bb257327393d1a954e03149783ab341559010fcfd620e07a245d0325539c7634b8042293ce4cc88ebfc10411218bc85bae6a32f70ff92a860355da5c202d510b735f3c3c2052058503313284b055655906434603878fcff539d098f61fb931de45eeeeb6ad808979cf4973914bbf0aafb4c4870b1930bcb19954d5a8ad75632534ac3e1ed09f38168ba232fa2332c805df36962bc51842ee64549730894a696dd26aad206dcc7ddfa15d4941a9cb7161fe27c8b60337acee9dd0783f7aadfac274d3c48d8805c14d803d4b022ca735999006508a2a6f0099505ac71b5a00b4b8675e519ed1f3436401d9a7a4bdcbae0b83c9a58fb9887de2b5e255ead8e03e660afc0e5189392fd70eca6bbc6883b3a9c0f7d5ec85221d3efecb1c7242ede4d8f6e186ab66ebebd47adc62ec1f92b0bb971c559e40b6a9bd760fc76a012261b1f0488ea365091b4b99f99ab444da7895da61eadb297e7086a46922c6adc17a23e2fe529718311e7a1abcfc8c4ba8cfc758af85da621a44e08b6ccc5a8a211ec27b982de8f91bbdbdd80ce16ffdf8eb8f1d7a5269534933037f842c2e67581e3c9ede04ebf2587c948c2e3e52df1e919b1c8d7dffefdb0ed483ccc06b636b3279e0c637bf22cab34c8701161a878ce907ea2dc365f9137bf185e7563f3f94edd439faa99a91f47af113fcf706269b670680982bcf16c899c78f068ff105120b7044ce312f0abe4dba6441e6fae08973001be6d620f944a5600d64af7de317121e510ecb03844f0e816e508f1ddc76a55806f426984677b3c9547291e80dd42be012f8e28ddddec15e66f71941e93150373caeec6b0c581aa1a03c082bc62e3f34500f10ae0c9064498691de50b48ca532d5b432af1b12fdc0ea05458105bd66946f4990e6a75e21b63a872753d92ad6413794f6de6c91403f687af3c80024587a810478ba9a5fe0673d66d2112a79973fe0369a60e403200f8eeffb3098fcdc6724b469a38085baffa17650472aa891f1a0c519f36fc60d41cd2ed1d4dae37aeff65a14c02dd453c997722d9f4016efa9da33c196daef907b4c7f1999b4049aad75189c03f638f64f16b67e0e355713ca168ff39ed0cd6347b114f8e689c65afb40c10c5025f98d66c7edda7052fb5db9b4adbe1dc5515d782d880480c3f0597511e5b609ba17c68e07dced037a827e7c5830962a4a0797817c71b2e05f373787487b1539ed619562f951221755da6bd8c5f01d8a6dc36e183e3007ebb033100c0af3389f85ee9e1695d9a874151df56d1905365cc95bde47e447a1c25a2392ec2de5de526e29534a299b0747087907fea38c76197483d5fd618014f57ebe90f753eba7aa1c2b33d2b572cdfb63871c8af733b5cd0342759b4ffd4d556d2e3d757e9d3bd4a817f6139bff2e21d8cf7fefa2847bf434cdfba15a65fd450fb5298bba83abd790e6018d4052aa833267c6c20fb48176ccdf31df6509eec13dd4f5d4c330ec85f46340755e8f59f3e595e5d4d940d5d25c96c86e3c6650dbf7de8f0ea0cc5439aaaa13f770efac6dc659f2df3b593f6359502ad3360955ceb22ccb9aa995cb5c3b19f8e50be1cab2aa775695532b23fd34773ed62fcc769a2c9d7bf9cb3daad7a646310ff9ef12327ffd1df7d8ea5be5cb771710394bcca383605a3ec53db8ca97d6cba9f0a59b73be10f753b3b2193f6a14f3789476a2e2b9f79dc179e21ed6bfb74a5c6ccb64f351143568c197bf4dc3edb6f67b92a6a1fe6537998f36b99f994d9be812b530a1fe3878cde8dddf40c46b48efa0dbda80a6a95ec9639649fccd06fee6a35adfb57f66ab9753e7f70564f657970573aa6500e63133493d5ffdd226b7714d1fa3e3580545518f9aa37fa3f92f2352e7ef8ab68d267d3a7a12e9a9d73889f4a3273dd536a62e19ac4a1afdbb8490de1a7d7ce7e11e5be3d6d1bb92a6893f7a275427a9b32dbd0ccaf40d28f5bfd5c387a169e8c3d168d43f1a711dfd7a8dff68544927433fe973eacc3657e76fbc3d6976617fd33975946dc53223af5ed5cf2a2e0503c9d5957c4e3d5237c26c33235d29cd8f601e0d25db1cc81c032038e7b270cec9c039e79cab3d39ce9c85dca6a124f7bcca5c44ae20b7e51483ae0ed30f60b0539a1d7b8d7afac1e36feeee31e62c237166666628cececefc8ea1303b335319dce7bb735b50c2cc4cf13beee8fb62d330ccefee8b10747f73b57791d04c5fa2db4334a80bc9fdbd480f6052b4ebfedcddffb92d82f416d2be7be84fbdbb5d6f771245527840b71d721972440a1bfcdde7fc70da1129debb772dfa3fa7b994dac43d2537828cc90483dbd03f8ee4fcb0b1d9a253e5ee5ee3617337bbb3b333a45a8e54962228bf8f75616b676bbdcd8ef8fca70b083baeefbd574108dfc555ffaa77105627aa04f332977fdde53de530998d4d8971644c364e08619b14a6a02d2f3e75a4fbcdb6a855cff3e791ba1971b588f55bdf10a90121ff48ce0ff9b277b7ea79f0ba8403f229295f889c1f5213e2faa9693ac0df7f5b375b222fa91121df3350ad1fe4cf9fd163568a7d9985f1d8ded3061003c16306cf0f1f7a745145d00ff8307389407cf851eb407cf8abc3eee3b6df6be27747211f8f31e138bf69e7eecffd7ba5fa3c7b1a0e3a7006daf422650ca2da6ec826725254fbb9a87700500425886ea6525ba73692da8e08cd445817b8098652e8c644441e5d638b6ca8db9488788d07a0d601f843700f5e033517d73fda058bfe219a61a2d3a967f6c8b5e1f8fc4a8fffa71ca1f6bf5027d0cdf4fcfc269978824ff98dfa5c659c5929094d2699d30d17986948bd3682ce94da0fd3fe9efb0d98c0a0f00220288aa2a82d46611081645b903cd1c510964882173c4b78c20b2e264f003a828ee08910bc9c6942a9aadb840c355e0037cac905400ca236aa287a01186428e18815277ce06889b6504abdb1067c63ca9212ec0bc9d89041462543062cd5bda509194f541d759b9081c45181697f1182f277cffa6e5cd3fc9d751ab99c9c3d5c534e2745212872772e0a8cbbd54308e1bb7330d6b353aff4b2a669f19c6f99e4efe500afd3d25c9bac12e42450b72d259a024a4dce39123676dc086a4388680ca0ad9da81c451cc3a77685a4b212d24fddaa1d4745e0238516b5bd06c64869e9757c5a5a8712e816a9c4f1deb32e20eff9ecb489671044a0dbd4993b35d4dcd161827a8d71644ba87fd90ca26b749ac64d1d9f3bed7305ad74b448a54d7487ee348d4be965ab76de3ffb2cf169514259ea7631458cba03b78febd42df205245269137f8b12746b1fe8138029345241e1573b1466f187faec983ad0c75d3d5e03777c9454feedfaa97c0155fe1d2cfc40b9a7ee6066d4edca814e65ba6305dde0ce4ee5873b5e633dd3d5b61215c56b2cad8a316a1b0e15a576141dc31fab6bedd326fe48c5870afb5c561bb49b77d7b12594141fafa120e03fa8ddb1c5ba452a3e3eee07a5452ad027528140d0e744faa142b09770b28321c8002aa1b46e13274f3c1f5059b7899325a84877ddedc447dded97197777d4bbbb679b5c73776e71ef6d5237a6ee0e3592a4b0ac204a94b782a551a2b89c6a556375ff75e72ec3deeec93808ab3f15dfcb0b887b9796bb5c118ee6e49c7b4f06a687bbbb102503e3bedfa69737283fec1e74fbbacdccc3dd5992507e2a9dbbfb9506f5a8e79c730f5ad4b37aa8b25d93f5eb8e4cf8522a5596a35e941714f895051d75ce39ea45392f289479283bf88e1db7fbf8a827ee14f59c83ef1c030151efc9930bcb815ccb74835b53e5669cbbee88a45e4aa54be31e0e03897a179c349669c8bf4b2d0245295fc28cab55d56a4a28afd742a9b3e6148352fb823d475b4a414318c80c5a3282729dd95b535551bfa6aaea40a59eab0a0231c1f1700fccb92eeceef6f5795d602595818018e8eaa1d95793123d31cf0964f39cc460723941228617152e14d7040c388ad0821af7d169e6ce8513fda0ba37215aa37a1853540f030e2250a9febd5b43d3a03b22b8dc201a213182f94610e64409e41384ae21ccc008eb0d9d39841d04fefca32a966f201d530f2505292afa438dd22264289c5e2e1d99f6d430804f41083508f729cd3dcdedef099cdbe5dde508e439661ebcf89879778d74651f5c6e344b40ca11b73b76edee5130ba8b0daa99728f821790488560ba1bc6c15495f52ccb7296e5966559565b165b9665bd47c15859725e18853d0c731886793386619535658a25ab8aa5949625e5bc2e0c1b8da8dc6de612e6da342f6cc4a3d1754d9932059b3265ca149666a1a4951c393c478ece415a6169e1969515169647511445bd1c395298724dd1a1820a25ea3d6a5e5376e8d0e17205d97101793b2e20fcd2c60b6f635b4e8d539a40b7f90200f7005c407885cf34160010801556f8cf324d63e1b1c082158097178002b4a03b014f08fc18a1732eba5f01c7e4a20f755f6a777815c7544970d0fead54e2ee6ed7afbbbbbbdda475651855d752ddc370afe5b103c339e71f8bf853d07f2b84570cae39a7addcf1dc9b9a63026f9c4c69fbf831c71e6243f1281fa4e08ffc0e42e65f66c8ac397f0fb57dc933b8f7eb1ef59ee633808101720e6654052ba9416e3146124960411c6b20a1091a9e30510592206890821f28e9a9e1c50b197c51c51847604213158401840e183658030927a4a086fd62081518018e2bda20030826160a0e8420042027f4208e1d144cb1042374ba48a3072758251491a4088d1a2c014416422c51c342a08d309a4882082984100357a286035cb1858e0b7200b4440c94d0b0341ce109134080038d2f7ea230410d0278e246139c0002389ab491040d436600e1040a9a7072860f123b06cf146568018535828648528311530829c1c6116d0039f112d4b06538200a512c8144149a102de1297cd4c00b2f9ee88112b020e3081a4c46c8e2491c4eac01042012a0a184153448f20218408106cf08683002165ec0b173051754ec1851c31122f8c0a08d23924032860868a892c4144824511205172440b241204242c61057e860084484a0062fa271c0020fa240c10f3c20c2490b9c886ed2002741a0a18410dcb08113beb342b8a081146068818510086850400b98f840174c80602034040d2ce821ba0115549a78820642d4d03da8210250907184a11f84488228081da208f1841478d1c41a5480a0010b2dd670c2099438410826f84012624c118411488003150cf1438e0c6a90c60eaa686306365081ebd4b0031d9471822fc288a2084818e2c756d91a6cd802044ac0c20c174c91c40f8e42e5a7ff4bc404541aca28a3f2d3efdda01bafb9dccb375b3b8580fe1641fc50fd4d3e20011283545507aeb2db421429759ba4e144d5ea364943a7beb7ef9078334540a30f3bb53f568ad2361f741c4effb4f40bf7e01d0a9204d8987ee675bf0428c0ce6c0df598f551473e70eee91f4edb70faa74a41b7eebff598f802b9303fb223fb032d9ca0e2870fd127053fa81baa49cf0e3ef0c307a8460a7e3c3194086af2c3074844f4e369db08d864644fea3d02efe13f8a7a0f35ea7d884b749afa4b29d38eec0e84ce88e2870f0ee8c7fb9c1fb211d0cf9284363b38defd53df455de44f680c280485e07befbdf71e1c02bac17950752937047950053cc883a040653ba2b8533ba2a4c004ba6d907f470821841a842e3d912921f7b6a832cf3a21b2451520f28894f1a24f8d442ffa50d127faf4503dd58776bd679df778cf90a4bcddddddddfd7ba876a17ea62e9413e57e01f16f6ae6bdcd87ebbdf7fc9fa432d735bceed94c9b9c6af78c9390d51545ad248a1570728cf11f8d5f6d4c790659e37bb7b1156c457dbf371d43bdb6ea4793d9721f8dd0c865300ff7f025334fd75a4659692906437dfd3253a3f65bb10ce6d15f7911cc7609e528fe7cf13f450296d9ec985e17b8f660274da85bd73d01124447a89bebb1453f758bb141c043575e1e0e7e53cddffc25bf66f0c95d313b677d4e8519b3057f9ba031c4399523645789e47afbb77737e54ef9536f73cbcceeb9e7c040b5486b9c03d9e390cc059be14627f133ac7067103145417327a94dd010aae11fbd2f2e482e4c3317d577978baee1d1637ffdcb378d7cab0a126a9af7ce050c89b4f920695b27a9fe9b8cbf5307327af8fc9ef55535b111338fb0114992301246c2481886613fca9945502d88a09b0f3951d3b893a6d95c8beaefeb5aac0b4b7a56a369486a50a71247eb3492e6e9a098b590ffb4c98a3601f50e47a152598a8f78ae2117a6e5f702c2f2ddbcbbabf1b77c6738fdb3e29ef4d4edeeee5ed7bbdef5aeebe2eb9b19a8695a7e9fb3681a96dfe7a0a65971d54974f4958fbafbd235385c939dd592f5507fe14ab82863281947e18c9dc0ae1e7f1cbc86ade8187f263e7867867564287f4e631f5906f5e697127722d193e2b807fbd4d59cfd099d6c4ca737959e96783342558ad2a8e78e1d157d9a8661d6327bd001f3e8f0507b297e07793feb3ca18d446e6d6c4e2793e9978a3e527ea2ced0cb24740f211caa2c835559833f601efbd425847a07852017dc63a86918c8c28cad7044b68506da01dd7868e3207e02bfc1616ccda9fa7e26ea2ea2767fa076731ab539889908ed007a4a4bd43da22e17517a83b291067f80f9877501febe05b6e67483d754bf0f85e00f86ea5e2fdbc0b6c0018ee99f000fe0885211b5f903cdda0d95b61e33dbb4df63c690a3286ae3bab6e16415fe56971077ee691affa14a6533b1775d9b6dda6ada166cb4a0fc5e4337c6a1e64fbb71a7ba6ec6003dd5b3e97450fdab7ef32475a163b23b44691b4f06f024a74cc604032f0bcd30a15bb71572cdc6c7cd96b858263e560aa504952754e5a88ba0700ff8efb93b97c24edbd8c71d764371a1a6712f6b000ca72139a051b8677facf33aaff3dfd034cfc57fbdbba533b807af50a513321554d44f63897ec9f4279e1b9e1bd9adf98e282e3d6e0637fc33276a93f3f411e8b640f01f62c30d33ec50c3658957a4865fd7f5b5737268f61e132c5a10a9691046f05f79747fcab91a22414462c55c5ff695331d771e1f3751ca69e9c663bae4eccf1de669917fe86fe7a16d29a922dc3e3bd24303866c3054d696a27e77dd3a1d36c8298753dd8654ebe54669dba952ef60a48ecaa4ca550d75e17a7e9a61d94eeadd9416571a0e8c0c1c00030a3078eacbe134dbbd8161b18292625875c1d1e863bcaeebb22ac8f56227a8a4b4a2945e74524829a5f4a7aab06b4219292dc518a3555915241a8d72700aac02975807efe08ad925db91e9c84a990a590a590e1e8d4635b145dba8b6954c24ab9f7fe85711feae63d84f8d7b4a29e4782ea9a0a55034dad8890bbbaa2b5ef092d7bce835ba2efeebba7eaa08251d51225db23999e20fd47e9e7bfe5f93c2d293072b674eccac6d465ca906949f6b33a7202f6d6a18b21b9a6dbe17dc0dbaedd0101b664ca597f76006c34d9b66e69cbb1c66cd5ada347b4ea7bde006dd4cb55d8d836d3449821b759ba88182266a045179e85ae48fd4f80ce18df3d0b588f571ad2cba0535ba6e54eb639bace8aaa5c5676db5f8a863b7624999956d302bdac675e53b6eb446d2cacac31696c7050b4bb3fc9603548b585fe43dc523be58db602a8bb659bff29566db0ad8a5edc05be109ca952b25ad48cf2403290821844fbd1c60804c26e8b644bc2ec4efd7a183b45515b5dd1660de6b61ab891999d369a699e8ca3b3a72e5b7c8d2c23d48ffbe2563c956b265ad8e6640b9d2ebbabe8894f1baae5855a40cabac19314d85242bcf624d9695ab5a538e78f9b907f6a35f1e8d76aeebbaaeab2f2c9b726a2a24a12d7b800412425c3f9db3666266c689524a59c98ff2dfda60a236b32de36c3b6575d3516d24bd073a40fa21f807493bc23f48cfd5536d543df67b3da9ca2c4d6ea5ed3702d4aee6f57b4d235e3dcfeab98a75af4a738981bf7ad67280a945a456d25ea21667cbe9b16182811961d73459cd4d08aa4eb168db8eed54a54d9598fc17ba86c84dd35c2f3f00d9662f994bb61ed3f23b321d59295ba9b17c0e28579677508514ba858e8890306d8e1e7bb9b2f2eb352b2b9776a3c152f3f0f044e189d23c515847c75932ae2bdb3289dfefb6e522c653fc17ba867a0c8dfcc841d56784c1aa0af2a1da56fa91b6bd09d336d3a9836c2a85d5a5551d238dcd7349ad89a8c748e9c64869e9bd0b6ab14ed3b065edd6947e2b554bdb11a30ecd7194769d149aa42468c6878f151e28abbb0accc57afaf3abcc2588fceadbc5d22240b5e91281d15f6f05f12a25d664541f7d56ef7ff1a56b4660f8ddd2b866235ffd5eb16a30a000e389eaa286032343830105184e54d73fabd38ab816676457828e7f6b3e4c3b36f7d20607942bcc0eea6d9ac6a669180af4c1504e4f7b18ce9cd3a93d7507ae2ce439cab6d0bf7206ddfcc4e335bbbbeb5acb92788a4de3908131d11176c9b81cd94d848c4dc3c3ab45dcbf8dd4cb35f5471d4b23ff7d695da8fefdca99d18cdfb2bebfb42e78695b882f95d2b126eafbaf6c6617047663a8463d862a794b656d16a1dd858dcccc0c898eb06bda34133c3af169d38cfa9b86fe9b1207a68e22d79106e1c6ffaacc6189ea96e3538bcc2f129fda9668f4319b7373aaaaa299ac2e4b927ee56ffa86eab29a94cd8f5b6f7c9471bdac25c2b6b16f9aeb310ce391937da6b6e5402222a229a5941acb58a940021af3fea66ff09a998e795615e5b671d4128b9f18e1d3a6a15ac354b6b8e431a4671ab5a05ce9472b08f54fcb618b82cc87d9b645d5464a6af22584fa4d6adb163d52152dcd8a16cb0d3cc2482c36ac6df2e117817f711d611755d43fe5ec9ad29cf3a796bc26dad8acbc7c332c9f33f8a77ac259a2f772d822473d6bbcd336489807dba11b2bf1691aebe5f3caaf64366d7aef6ff01a1f1df3be23e447fb9a415095a32d22f238344d1c5dfcfca4f59a0c38cea9ca8c08d7788178653403b32dad62ee7f8a6d0c72d3442e80bdfcf71a4c3bb2f1cbc055aad4223839b086c3bfc4033797765a97f2b5288cfefa6d83a4e01f69433ca61dfba08a593cfc78220f478db58740cb64ba3a679d2d75bed449fa0da6ce95df64ea9ca9d3479dbfdc23a8f6d4b67e96ac7f25eb27d111762d139823bb9b6ceb54e9663b7f1b955850ae1032c1bea5c59710664205e9ead9169f56d18ed556d5a923a505e92bc85aedc8582adc927a6f645dd83ae332a96b02ba512f7f6325f137254f497474f1d63dd5661ebcbe9795ab3cbcfab4224e73cdd940c27fef653a7815f8be8aefabec55afaa2a082b08ff7de66a741fdfca7290a945e0535b65aec66c6a21a0b3325d22fd0747b9b9ebb789fdd652e5f65225cc328f4da64a6d8b0f9f66bdb9f8ee7d0ce27238d522da167d783956371131ea60836eb432a4d6c5d851dbd801d1c106fd127dade33e1892adafa88aaaa8eab7af14453de9931f0c5ba5cca4f55dad8b015b3db5e19c6edc7905b3b91791524a2631ff118e393fae8afa82fe60bf959839468ea3aaa2d96888a712b5df6545dcbb6baed212a2d6d7b0146c5de8da2dbf4345ebd4a6d244ed9696cff136b4bc9668438b495bf7251dd0f518a8fd48e9d21774c83929de7b20c7b73cfcbd6c6861d1f8673d06d2c03f60d882b6924602b5b4e5793c968e8c4db338393ed5bfa91c4715e9ff6e97d3541019d84eb58d209dc339390fcb428e64a8047d8e3e5429b50d32a15cdd69dd619907572f6caa9caa7b05d1aa37f7e081d61df88dd00a3fc608b3671ede67503705f9217ca458c4e27760de81a38edd026ccc660c99e8489db6f9c39f38b9d2fe4a02fd1ae3acb16aa4e5924029ade3b03e66d17ba87b8573f7af6435a5a96a5fc24846ee969ac738fa958c12a9236db33eda80bac4cfa951b29079d3706a14954215663b78e5b0faea19c6864dbdcba994d61fc4c7e146f5774bda9b3639c96993a10facaf9a8d1859490f90a27263535444443434e4b1a36584eb7b45a0868386d326fed38c1154b6ad944abde953f88d47e55d71a9fe2573c976643a4a99b580cada466541b93e1b1ed57d0adac623878dafc448a2d794d66329aacb36564235facdf4835d18b663546cc1a8d87651310d73ea9db04fc0d6d83ce6ac04fe5163d130638c07a36efcd345f5f323a554a2b695e252586335b6851e82fab7c71c2d81f09bab5c2184d039e8fa359053f947aec297f0c147f5eb7e1719bae63c6e273dd58a1b71a8ae6df1e14b6803ca95a25a7663d839575e79e595731b54adac88bfdbb8bab9b1e435a38770141f8b1488bf31f1e7946154614b8d3855a4154668b55ba36483849eda64a31d712a2857f6d1265ad9e4e03b98693eda64d326244243be821ed335853659b2c5cc4cc499aca037c86c50dd0bc86663e3eded2699aab9555464f2d32b22f2ced9b9f03505edd806edef6ea6f9efa1946835beff6079e5ce3537ce5955f5cccc5afff098296d7bde710ef23f8263fa975801145c05f3f841895fcb921bce09c3b4b52ca7e570aadba96ed617d977bfdaeab09af5382758bd75dab5b4ed54ad771725ad602f7f2523e9b84698e6ae6cfb8d00ee497d711dbd9a4a42ba73ee5cf36f6fae88ebb92d44c76d8424aafc2e54b9657c1ee03bc09f72c03f6dcb79190faecabefc9a81dffdad98e9006bd401d6b9842895dfbfbf66e06b060154e6ef2fdc6c5a9ab1aaaacaa34b0cdfda12171b4655aa703b36a814d58b4de9d462a23f4b91460438fbc62ce4da3cf5e2ec38a9e8aaaab3382bc7e055aa54a9f139933fa511aeb02b7f1b5407af52e5612fb364b5444a55ca08f7320faa82cf3a40ca31bbcad9525b34124f9809459d84cf78d24c3cc7ef3266667e22859be093f9b9fab285d0dd6946babe0e3ebb88276d825ea2c86d4dfc0113a159f084c318a2c8882745f409a614c1f1248d22fe629b88bd7946521def3ae698d931c3dd8514844fdb6576ccec98d94847d7239d99ddddb973e7de57c8ddddddc580dcdddd5de6de6c8361fe427210755ff26c19dfb82df073bb8d6366667ee92e213e2a07d196d99d995973424477e6e6223dec4351854f651be5d8457952884a716989bf7a7701b1fc2b1cee7194a362a04417d59fb9a73af734a9aecfc1ae1ed66f5caddfe495551f33af3b58f88156b2ba80605aacb08abb6a2cdb6134ad97d675d1d194d5ba3eee305f071f742a76bdfceaad6c0723b4c60b48a55ddb42664557e3f7e3b4304e8ba37ede738f148ccebdacbf999d3d86f7fe65d7bd82cd06061bc6aea09b29c6f7d1df451c1b1bafc1f5977bccb92c9d66569ea9ea54472ab0b498b6d1cf5721db1c594bc602843e5f41468f5d3fcab63ec99873d8f5eeba56481dab3fa7ae201ec4f94366a63a3a3aeddfa37e38e8efdf8c54fff7ae3ef891eb5e7ce3ef19ceac8f71666d286a7f370f7e88a41ef3decaaa985114ce8929e7ed851a91737eaa7b8aea3f59581555e6eefe30db36086787aa538f7d2faa1d89259f06b67f67376db2aa6c89f57b01c97cbcd02637f97bef594fb34902b532986731e8a46f0a9e73364d036166f9d1b529bef7540cdd14456945a88aba62a09efaad90cab6428ae2a7d136f1ebe055aacc485b4aef35e06bcad4fd17601a8b14dcb9bbbb042b4d4b025982fd7bfb0f93376d5aa1569adb49e99a207c0f7b60225e532af97b376d721b3ae6093ab46dd0cd0baf236770c499c049131c4a486e6a9009e2a0b6705612450e94a0c0bde3e1d1f611f1005d1f98408d6ae4557feb42146a93228a28a2675ba1f2c68d3aa05cab4a5a945b5f5f5fa16e1b25a63a0fcf0e10cfabea7b3aea5be13def7b3dce5710d295041bd3af840b56d8a12d6d6af884bf8ad039e774b8a9d4cb7743a7f26adb8dd4e66aeea56c26d06d87fa8734cdf55cf5b5ef66aa9495aca81828c1050e684505452a67f25b229fb3f798f959590e32ce0aaad2e7f5b169306c2429f6d3ad7f19bff79e154f166f365c4f8da402e8c3ef6c93a92cb3c9548b4752bef7de636666ebaf7f32ebe6bb9f53c665acf7cb26f37193bdd0313dc4069714d0f8d56f3b84855dc7bc679971a5859234aabdc73b546a930ed6d6154173c28880da00f1f83750500571702b0a4c651e17014fb7f6df3c384489e241ceb937a74bd231fd288812c50a1150ff204b0b4947d8b55bb798154a34a6f65f52caca7ab975c61637868f191b1b121d61970fd94d85ceeb75b25ff472d1cda6daa2420a39b2968ce5aa8228d7cadf7bcfaf20eff99fcd69854447d794ef2d3b512afd57db8c36c34e344d7cb7ad93fde2f2e1a69a9b93739f817ea5ad34578a4f94e2238572ca29e76c6a1117a78db3a13426aa42b7ded9e91f996e2b7cdc4f96f70fa602a854ce57543564340400000073140000200c08868422915840205595513e14800c82984676581a8aa324894118859031c6184008010040446088882601001c402bb200e41515fbec340156614ceb572926f08c99b23de3a5da1188b01fa7956fdaa934d5724a9230e1b355128f56886a469c167e80095de9e38521d646a6518352d69950685479347155b5f094fe28b0259ec11c1fc3401185ada03d37ef714d5a2c3f96e8eaa226d60e15295411f5bdae9c8cb03ba3542fa82492402d15133c3378ff83c68a01e97d91fb77c1ce1284e6ad4fc7ab236a3ba4e7b4f2ce749294406a5ad585d486d1109abee47a8d2f98948ddde3d5941c796f8e997488a27a907b5e5698e4e5bcc9c3a64c391f083125b143d1d4a7330dc6d149b7f67b52556aa0544b07ddaba194f54ec5e2e1ba013af32d749c11a76c53fa088cdcd2db90c912c02798f17cddd1fa586b9cb7059d4ee03b91c0054da2674ef6beb9a392c173cff863141feaaee50c6a046cc7768c0def06c1707fbf1b35573a74fab8de310811876aa12ea7dee3bad5ff5bae961b36e2b5d4421bc59ea8b22026b35f0fb3a1410c1b337b8ef7c59c9c178b81deb9e8df097da7c75565207bfe0a6e1bed1bba38c1aaf736978725a12534134d182eb624e910ecac2ac2011c9ffd6414e09bce46abb9737029417dd0416ffc6683864af130b602f783cd2eda68edeea76b41a4a4cfedf80c78a10331e63ae977c053897e851f6d4d64640038beb64974a8005c6407d3315142aba6edc01ed1baa06aaee1253d685543bbf7845022c81a690d82c928034e2554e461c6ecec163773de9edcccd3a026af027322aaae8205f3899d8e3cf6edd0de0bda2c6f82ea76e779a3ddc16763745dc859e0961c391b1b6f777d28f474cb753154e08a13e89692e82411dde2592a465cb1d17b790fd485d04bab17cf5a562ae666291a49dd1ddbc3616fc47e8c3782f0ccf3230a929de1c1771cf0345dd9f647782cf743bec2e33151b62922d63f31853f686e43b03d28561d019832542d1148c170e883f7874b8214ae0c64413614fd9ce986c7c9aab737eb29cdf414fbe0037822b85c69d11624a82d7e38e9da97e19ecf0ca0716555d298f5d4881bea58e2a4b79be1f322215e601922a2f45e39f55a8a993f47afbe9f6543216f6eb9574d080190e275d22462c2ced80465663864d02bf8eb4234aa09dda8ce4a6041ddab8e058feb144bf98d63ef98f9c53ac9363c0db49523375514fd4553fda0e541742d95d286d9ba9c8f01b4e65b094eb7f5c3a29c7e27f4b13bac96c16c8ff6458b06830dab8a167e608f4ee01056bcb7354a723c74fa7d34a5318e0b43880355e82ce04d45185972d79b2c5b2867e5c8df07abe45e29c1b40542a30a74168b5f526df207a2dc48972ceab978d48ef868016f09cfcc361896d4328354c8f0213c66199799bb850e54da78b04abc390e260eeb43b58c4ecc8cebdc08ea6adc599fc1a5fb5c0d74acd92aa2535f1a74e464bfd645ade708ac0e97a6138e072fe1afd63c2032235be473fe1cf1183387b21e992afd9550028f4045df0f3d70a42cb10906e84295314cd217e5f9885d9cc4b2dc6aca564dccbf51f512baa87af3fbdee51defc2ef658e8dda5cb96e69bd5dd7f62b237a914b481e328f08eacc8ce5ea7729bf0187d30c038bbe9aeabc1ad20f1a51c7a064a9570eab2b474112d372dd9cea015cdcbcf47cb8aa9a73e5179aea5e1d8772aee40f392f67a1920eca7e3a6d5656aa07b7af465561a56e77207ed449d906427388aa53483ef3892460bd20eabb60dabfd5deb2fb0c9471378241b6a882c91faf3891ae7a27f62eba5517561de9592f453e609d80baea96b8ec09afd4bef48f95243f40e3314666496c49ca565ce5fb000461500fde6bce9785ca0200f1ad77d3010c7c0c09d152251ea0f00f5f2dc3660ec490682e5eddfe05605697641321d0452e8469b05faef24ed9465595a7cc15459668392ce27066f7810bcfad00a8417e724c4c3c28dfe3ef9edf35647b315fb9c7a5ba458a2ca9c56aac0ff95ca36fc40f173294d4109e7e2fa5bc97af62ad11333ccb674c1a479c3a6bd799100adf74e9da544b58b215c1c7f6717806c3abf5f495c8ee53bc8d03eb7eac4ac1748a6b81bb472aed1072f661b3ca444b9adb76d4309a5af2ecb0e38ab7bb55f67ee1240e6dd73e0797d90cd82a4d2990bc80bd9582d3a0a48b1732c96d1882b853aa212868c165eca1c0eda4f545e463a6ce4c00a439b455d3d70d1ea14b5f4a17b8d7a33ac8892e0540d55d26a46af3e24816f2c2a912f0e2133514438be1aec17b3dbb19d3fa3735366de117b2605fe4aeaf6cee3355dc2ed4976c7961723ebb2dd7cadbf507084b13ccc0990624253435076ce7343b3f263a7ee052fb5b098ab3f8609c69823a356a709646cd0b52308a27c055aef55951dc61b5c25a0ecdcf04aac0b25c4589014d1633b31e8c5accdff26527ab33ab744750d7d317dbf30b70a8241fea7e70f5984ca08bb60f9741487c4527db4aad72b91ec3d8708d721b7de6e4ad8ea53f9d4483e0751cc11bfd268d5ad3ebdecd5ed90c8135e1ba89947084a533e218e7296825ea4431547f1caeeea49a137d55f59c9e19c83fd159bd67fd2a27f7dafe9c973ba388a86b085650175351db868b4c3f9c6f42192875384a9fe82a4554821c9d88a26357628ac73bf445990be8af05a699be3025d605c080e135047e1bc20aa30590008b35e30846c58fe288b6235b9cf127e1b9660e7ea8cd8290e07cfe967d9a45b150d49d5809b73ad249abe73001017814ff81076fe9245a4f674b03c74874d34c5b54f6233301644da8e71d3f08265f068bd5631a39236bbe507613ace9169691374080d9b3e27789715ef81fc4886b0bec510f231e155122734f3f41023e74e63b94710a4a0d689d2cf01e46b47c06376e093dae8932b310829d7bbc59aa1105e769e4bf16150b5269ed02428853c3535fbfe9e63bd1875f4147be52426894503074f44c823d2584b3c5a43a8d2543b0bf9c7d33c0b1136d0c8726ab075931630e68920fc1048f48bdd45918402fc2ead18f511eecb4d4334dab8318bd1f561322005f9da6e621c9694d63c6983ba654e5a35d6c9cbbbadbd13ac886f2b6c758a72ab4912842ee094d7276bf717f39860261cd4cc4f80502870cc0598c7988b6968b9346759d3238cc9bd0184d5b07363081939556f8d76dc35d2585fac78508f0ab94efb5d0d101067395da548bceecfe0145af49c3b6adf846ea9a6dc516fe9ffba83655d4b6459890c0371993160193cad906f66fd480fa0d97f3627dd544077406fd311a8c6712b60a61e995ff1ba80e8b5aa736f9277e27679f3622ad0a2774d9b551abcc1cb2e98131dd4bf0cbfea545dccb03cf538e5c24de312cecaa8fd9ee5d752c1459465b1d022223f18da48e93828babbb82ba442301976463771ee335013b0d3c3d8fe9e41aa72c609cf911352e726b67c0b1928285e258dd19d941e199868845d5f107f9709ac2ca68d51d1e8480c872180141e6cbc8a93fc59d946d58471ef83396bb4108b941b510bda6d94ff2a11dc551222e556d6cbaae96c8c3e512db66e88f46760a02c3be827a62b2c27ef7a1c06643587d8c20da66d8d81a578c4c3e8d25114067b5fb55a592135282a95850f122d5295fd3d6cbc6e758af8fbc84dbc298d7ff30af190030b8eae357b3c53c990080b7b231a55055a52be3281cf821c60710c004cab220c2412644cdb5dac2264b726697cdc74bc70c9bc480e683e1944ea48a66f8851e520321fc520810c9cd38c07fea604aa71efc23b7c36e9e51e942776ef462840a13b39fa54ddb35607854fd62947feaad3bc9b5689a2e4a615e96d3f34b94846dce94ddb181ea5bfaec644e298ea773f4d247f226adb1514c2f7a9d27f36a99409560fcc8fabd6e1b49802d86c1cfb3f09965dea02d9bf1e233545e0c3223b96b6e80dae2d88baf8fdb3496b34205369dde5298d9ba291f03279393aadb6038bfd72cb805ef46b329aa301a63700aaf93b2df4d771a559ab8aa8e1d8e678b0e30799b89d1a4246e66301798d79442aad00bd7e5a0ec716cefea08c542217023b788a7c1551ac0364462291255bd885e3590b2c47117085de27248dd9fe293085fa3eed858dfc4c1b7af26884779abe0317c20811d48290480dcf1ef64b014db2cf12c4959905af42ed2c176c91e8888593410511cf2cd86b748caccc22ef6a60a603d94a54fd8763887d8b5cb02f195c811f561af4345e2468fee7145870948da29d576b34e252f9c7d29469453249a0c2e1bbc560475ff4cff20a1dea4f7faa1737ec117e05c01f70cc5bc062eaf04be2fb615e105eac5f2527c25b573c871c6d9c73c96b28c68f460e341fa089745e8cc4b952ecf65a676097f3cddada3c030df26cbeb9baef27f80cf391547c492fb517d9a57b86a09aff1a21331d6683b2862a131fad688f4959476f4d3587d6b4cfad0f897031255600224136e0b8656c8392cce1d90726bbd530d5e62a4aafdaf4b39e33110bd0a9e92c78fe1e4cbfaa771172f34472082da7abc87220e704328ab221ffd726f0e5a9b88d4bef38888ff13fe28435e05eeb0d55bd1dd82bb41e56d76fb2df14f2df86841d6db357f409c1826609be6654bcc3e90a779c93f199a13913a0dae6a6914a0f427b51b2eb858d9d05251001091904b1cb3e38177838dbca686591f407797f8c5036d26cdfe25a533218907a1fea4a7ea4682c7012e50306aa35bb3dfd14853eb3d3c113b4c7fd58e6b9ad07b87607da0a8c15180c77205ea2fca835b014d5f4647b8f5e8bafb98866afaa7127803b571dda94a2d8aaa5f7c59f61a5bc51f1b1ad8a351db4fcdc1d22fce6529c68f4896cd814629a8c84838e59160b736a9205e7b06e91767278cab2ffbeb9367d12d66b1e192dd51f23af91a3986c21eb1bcd80d7f6b38db0bef892a5f52c2bf6ed286989e62db80d640629c1b27272d69e8610017e3888fe9451b52e1318d2f1e9a22bb3b5a2699068e8fcd842f8c1c8caac293d9c6f5149e800c6d911f66b49029cf706211210c0311473a4296c3c16be22af6a9bc15c4be78f8538152d91f4f9965744408ec96df3127d6c7609c4d695abced1e322785e30bafaa2375fe8715f4a3e3564d54b65a1ee0344b8f9d3aaf81941123a418617c828b0b56a7fdd44ce618185e8431be10b5c41cf369616035e13fc40cde5b629fd938ae79a39bcfe9c5c460cc54f100bce5a8f4c03411b5a2ec33f8326bcc9a9a384eca48a85a3119b343763125dcefee6337d944b43f9cbe9e7b8221a67d09726ee6c7a34e79ba100a24fe6eddbf2c870a48000e802e58576ec5fcaeebe0a57c455d55029afb60df45ca472ebddbcfef2f8f71e0579203b99e44995bd8434709072a9610a18203df05f79b4d92c312aaaf21f9600b137ab7af98fe0795039cd32a9d51ba72519c9cc8e6ad45d280cd9d59dbdbe5d4b57934793ff1661e9dd8224bf89913673afbb41fbc1e15fb6bfb105f2c68ef05e14ef12b30b06305a13cd34d5808c6d5140ab955b1b74f9f2e3a01a7534051a42930246b29310e23650692c7fbda1c535c5fa9dcbedc3bac5730940be117b388b7dad968b69edf0dcfaa2d0717cb0a723bcf57439cab647ac7e2961784c27cb8b5d402f67070dd52c82e3df9045090afaf00cc8ba9fe11bade1ff4426df1435baf1d6a4f0e25d8e4eca93b7b7426522402e93fadc49b603daf90567ada6e1f1c04b73c4026c976a0cc7300b0d2cbcf05d2d292b82e6eee8920d007bcf4cb2921dc92a075626c8fecc9c0ab56a247ad7211487214934506fa9594469fc5c314da3f8f8211131a55d90959e20bbad8c7c5fe1f3bdf344f8fad73d891f45e70d005f8a3eaac42c654861da07d7f478f9707a842ee8d3c8204416aae1e7fdc5c64f56f3dbfbcf8c42b07d842a06fafb723f637d00cb2af6337b217ac43995dd7058033bb10c8dcb36ccddf945dcfbf61f2ac73378e97ff85e06ac94170d3052d3722067ffd4ba7ee098e121159a2daf3aa48094df544cd3085791b826571c5f6a05692b7fd0d818e1db56005ebf39b9c00954c996aac6db8f760a37f9c4de93b307c9c9a99eeaf646966837a7a09fa219b7d700ca93de24e0442370ae22d098bf296c68cdada657a6244bb2625a47d43e0e3662040356ed1c614fc3f9af805adb5de77775a1d0a1fb2be2093a82b3e4cf1323d59a76505a2bcc8dd69c556b31eb7757813a0409b96c2433f5a665c347d3ac24d0d4a8b0ef88949ad70c0301fa3e70089c0d003cc1bcfa6c7bc482ba3df41a92d568639b5a987da5c00246fb09c761eedb48d8ccfc18679327528f1656914d9593fba3f0c11d418b2fc3d9ddacc8f6ae3dbe2b89065be41779b51b64e511d5d38674ea8a3c3311f659126ecfbf692cacfc0720978b2d786d23a5983c07632487dcbc752f4cdee3f4d8158d73fa6c3547dbf82e5cbca29f0a16b08240dbe2e43c2ae4b4eb21e1302072481ae242a92302ec97150e301c40bce58e4c0022339f2d48033d5e3990e232ac964310c4c75e10884cfd07e2ac55a9e0cb3aa314a04b18539b024c249a5e62ea6d88687808195443c5f129c7a7eac6d906544ea9ca7b2aa5cf16aa049eedacc945ca9213bee62f63b4fc31b276aa8706dc610e5e1d3f4b10295cf9d6705e0ea6492d78283df5927ab89b401fa399f8296b29f7778c25cb28752a3c95ecd38adeac31a477f94de33cea000d0735a29322469ad51b1670aa2b1ad22e9e93aee02e4a1d0bb8f552f38576efd148141898897f5a243208a479e43916bc3d5121db49bc4fe285c50361c496a2ffca93ccc7c0e0db6fad8aff8b1509b382aaf54ff15ad8d4a4710438aed2bd46edc2f4ce7e6c2e19a747169caff800c2763f0d50a6f41de233a1af6016ae2fb260e311c5639e4f3363ed97650e500b9108604d40a3a4a51aa4dc76930905827e5c69b167f977d220fe0b45ee81bcdd800c47e2f6bfd85a7cf77319607d873dd7173190c37d490896c5b8fc390e4cb5456ca5b63a22455cefaf200349f164ee3e51054ad968c16c0a7a8a5ed6c369212e66bd4043a5267c6a05308d04002f102b1b1df973601e97072d72e81b9fd63fcfb842615084786f97dbb6dd877e8cf5fd93e121667f7c2ffe8ceccbe6acc832be237a831eb92eb4a3ffed9aacccf863f4705d73d5e2e1f260d57d733068c9fb8baedd4ffc0ed31e3ad8913fba9ac3f1c36fc3f58c29c3dd2b4c65173be98ea2f5482f20e1c124d4702a393cb63a5008513cdd6a4ef85b40298d2e632a4a02c20e572c2ebbc10ac9b8e0ccdf3b9d4d96007222f56296e441a6a5935b721b90f0e2d18aad29794cc714323deb0e8b4de43dc4785891afd35cab8f7870504d9ab8dfff63ff646b9685cbccac154e42b7cbe18b048bc201d97ed3731f05e643dd17cddeb1f8d5c774f4306e6afd1e8a816866e332cf0f7f526fce919237fc82fbf9ad719793c20ace84e51fcf6b7d3daf1c3528d8368b3000a2900a442261ac41376174ac217245e5e0d62a0868b43a324254e515d07ad47bd2d762796a504e99001672ad48b242b148e5c021d21fa89fb8bd6172d463ecd1cd0f3b06d9fca6e7bb47e4cb46524c90978faea800094b2a572ed62cea6f615987d5c162fb854eb4e166c048943aa87ee10fc30fb4101b4f73b9b29b5714c6a21188bc7d8fbc1e34794e17434209ba7afc543a03763d2f3af919e4fe4a9c9923ec8a4bc5aa526503ee3ca1d354a3ee773f0f6008c68526bda864e0a16569059c5ef5d1b08a4bcd92fecd606865272bbeb8d9460d63341a0b1fa1d81bc42693b6f7dcc8863cbd05c69e721ca84619ddb2745dcf5ac9f71252ce2098c9e2d904c58cd116e18206bf1b69d90f3efaae75be15918aeb001556512c3288cd48f3e5c820416ac9f56905aa7529223e44d04be7764a95ac7b185168a4ba1a1071a617047f702577ab47c0e052b94f51bea4b44025a38658d86729fd81d5669088a7913ebca84515105c4a9016079f3da9a3cc4962a17636289340caf4c238bd09723c987488d10b052c6282772ce7154b56b881bca32bd7058e621fbef0e5e9a51ed69f34dfc6ca0d9092e28e335fe217c818159b4cd93bd5b1c0102b5af5d63659bf3e01fd48d7bc0c1dd32da87b05f08135e33904d82ddf920484fc9196710f0b4f4ab056966abe19f451d3ecccfd81305e9bf242e443be80b0fc06a061dba6c0f197b0abbaac0002227edd93bb391737c5bd02c96c8e9db04f2289fd3d3e2855a188e1e0592e23be13cee04bc93e08ed681e878ab1953b41098b1ca55e932b809ba4ce35ea081b89a660a6e2fc3a2cc12d18831df8501426c13d4903b35c02ad53e20e78875c4b9879afd134e721844ac79f51eba5709da4dddd1823ce8d6031e4ff5bbeefd4c885f7ecf872515204e579482c7d6dfa052dceb3737c05309192f2e6ab504d1a3527f978c246ad3fcecfdabbae4ee86491ca48d12e27f03281bc91a2771c2034a9f847a096e95465ce785f4f9a3f2af29d7c55d6d8f903a70f7982c5dd83b373e885ab873a5857af22ddd74010bbaff534342a4274cbd235de943e1b9e116ea0624e05c3a0c5ae92f21dcad272121c4fa88bb48a7ae1316c28c7eeac1032e41e071e629756345022ba5222ab7d0720ba68cde0210f53c3865f211eb96e4c3fa59e12b7148bc5faf224af980e841eb32b71427ffb773b85082d4ceb87248003bc4b36e856205dcd83424c0648c42fad204e76b8f1d2cc6b173dc41bf0eb50f5e6e5726f5ddb27d449d648b9c6ceac41c57e4f679647465d9063a69e32b1019843c7f91de90284abdb6a24dd87b362f039f30b90781472b2809fd5763ba3738b4b09400d3bf47bf11cc0f1a7e75fbaae308b7009e4cdd556957493c4f01a9aed71eb0cb9da2ebe082b70ab9c1452ce2c613d4aab688c4699c6c1be9e2cd9c98217d2445d1061a0f1ffac46efd86b723cf39b1626f758de9c629ea7a89ecdc1651749f07b065869e623bf008867583af4dc939af9fb02c147fc708a31024c482aca37d685e2e885898531e5b02d4844d31d3c1fb979836b1e7cd95f8219bf613c23f68084e639b7445327e4770df2c233586002264c159ab1e4a2634708c83681f211e74643caa38c49cd5ac14ebfcc0e036ce4570e7f873d8b67547b426625f47f02d9b3e45a3f33d79c8d1099753d563ce8c721cc371b6b8361901d78d41cda1239f95fc64caa12ebfe63c0e6251052485c3fe1f8630d7362b9e143bd2909e7a93c79317d7ea4d3691849973c2122824f9fec2c82a47ae111e117879c13e9bf488d4988abffd75c7b14759230c35fee5c2693991b5cb50054a563ec6b0b8a5e7094fe9406e6bd1f219650cd9e6943d8816a026de73fd9dadf752778516b5b06abd3b9779f5820ad52d02f91215f3a9a5bb9943c48e8158d81b666d519e26c70cb9281f7f55e9fe7e3582e9070347353315592fb79ba4f25945f0615273494a4b4d04a55de9fdadb6aef49995d368e2d3ae426001e5b40dc39372f4fe50e0f93abeab1f126468c5bb36eff33d2a7033ee9ddaf74f3d75e63377827d6a0f80b9ff7cd3e2b589036ecb53806014d3c834d8591c18e1bb07d66fd0a67fdedba239b3994cbf57e9cf7e2b8a9fd8174b8228dbd63249bde42bda5523cf1bc859c3041d2ae867cea4c59b1867b41d46ada6adf02117a088c349c4249b50b58687686b67ca50c371eda7c5ec960205de6a0dd15027af3fd205ef2049760501f7aff1906727b32ea415aaa2f3c20ba336f3604ee0ad0be056b0c6b460614e6139a5229e052fa94be07764196e603198dba912d045747eaaf95dd8a6a2036acc711413ab94236b72dce8802ee23d8da9fc2ff7c954d0823c43dafaf58d83fbbb539dbf1e2e6e345e50e1c7b9add070d91bef5fb9b2aabc348b3a750273fb9f4c6d1a40e261f834a873e0e143760c87a8bd130df687077934629ce4eeb2fdeea192fcb030506b0b0865c8a2b5b51c3cc82b404b25bd42635413885ae01b2e57378e9133791a95cead452af5277d0c789ff99afac1008fbd4dde6b027bb84d4833be192714e5681864379456c7b5dac15b6d1a288bd5b33daa690089a17af479a808c6e05a877563c87e4bcdd2da29ec01a2a8944b22e522894a4912aba90c7596d21b2371d5b3a183b29cb19cf4241e7375d39000b28dfa99e1a0b99a8bc1e0f82a3326d36086e6b6a55bfe893eb32a8e6ebf8470807d5e795aab937c0265d74ef8519b96296ceee4ff349ad949533d53571e04251628d412a25e936f47b994853e7e20d394172f6aa06e7643b6250c79e51a6b5fd7afe38273ce4f386684ba2090ec7e9096e992d3d5495648b9fef5885a70d176e53b53ec2bbb0c9d2d5cc80f4526d9a832e53b62ca2707ae51bf2f9c782b6dff5ad487e4605d16d6c0cc29bd350d4cf295a5ee87dac44d240407bdf06484a46bf72a76f145004bee7cb1834f5db4582d74b116bf8315940094bd0caf9a96ad88501a1248b40042ed43b8a43c0b0aba7a8be0e02c23807eba076f9c55fed53013ab5de46c49ca7c0a147a35533261f39bbf9ba0eef507229109c9dce42de102a22da166329efe62c64eb099ac77f8b2606a043621dbfa52c4e2617728f8fe68068ead6e5cc575296abe0b269fba95417c7837824a3400651aefc1118288345123024247ddb98e6592c1fd67008ca2b8accc6c2e7aa95c59e48ea0aa888814188b62d82fdfcb5390b94c2d2799af0e8172a73dcefba9323ff3b23542597ee2276570c77386c9f771cad7f30a29a3d960e7f873e381fe1163a8eabf053e4cdcfeb5a98ec9962152c009c1670290927dd931f453eccb487a7ed0ea7612024553943135134bf86c112a0e6a74e426954e0b315c88585692d46cb38d2ba385e229c0b27fb7e29520f2c544f48086820f15b57c5d751e72bcd07a40dcabf76eb350b7812a5672a3804d68831ecc16004187c6f195d5cc25983c70aa2c397641bf05437eca7521c8e7e17039360356dc313f92c11b72bda1b3dc4d6ea69120651e07a3fd13752b70e0adf8f1734699974c59a88942569ad4ed91b1c376ee79f3d9b597c23093373decf5873f039abfd7dd9c07f8dbfafb9d037bc6a6468a2338b9e962f5e2a5805120ef00e4c7037a06a34d396f2547da93250804098ae907c64c000b8decb14885b8b814c62f5d4cefe72f1c8bbe4e25ea278dc97e16a627d0962cf820621fd0cdeaca4fc3e4f95035a245c7007706bf5946858415ce41686fc9f00f10185cc4ae0ed539a6905fb4f233060d2b06acb3279ea1a4d61b7863ba5b4c4a9cea67dc96988bded544879e37093134c9eaa9d4296fcfa5de311e5b1814cd48f531b8db569db94f564b4517621f24e7cdcee4511898aebebd15ae23b73c6ae80083e8404655a00bb8130c4ed7d11d753d52a2399d28097c27cf431385ae543e3230d44b25f963a50717cbac37cef0f06f230396e03382347a319d2e42215e51aec0b2b64efa321c3d0f48c0dd5ee985380a767ce9096ef5b7e856d0db9f87df1707d788cea67414a680e44b6b0025afba757793a5b0f544abbb0805e887afac4849f0482075741c6358a0dcbdc2abeeb359cd0256d6343c4cec3519a1840e746feeeb408970daccb61e6bc9d3099ed14b0663c353253fe99e6036a080123ff5533001f841b132408b284c1a402b70266e94c95bf550e35cad3bebf2f28a1823132b589bc3c4f7ce8194a7a8cb1527991c373ad0a5afebf943f3fc27b95ca02749d38f1f14c351bf67657649a839a13e1fc360961e30fb398a9038bb3c9d279b1c7519f5be0cc32de32bc78f0a6c52fecf5d952fbbb9696510fefd8b2defca5d0640ce66ad52f657d4590e30b3a5fb86e290b3d7f9210262aa94ae1144535cd0cf5a8d22de73e597c93284e4228ec38d450d3772d56169fc9641419047feffb90d809c9b07f2ed8d6818cc502d6cd3d2912d52e6d4fd6ecf781273672c13b91e9d5ad9531421785a2315aa738dff176d5da0811b6e586032b32351d58c9914044de9b09b14bd6014d787f5ae2cb06325c84320e94d9c1e3ddf219e964d8c0b3113a8f3b57001529f882e9a5c2d8b91c72de01b9577524d0516d35a08bb7da93e0d98f8fbd69d502fd20cb302f8070a131653f5d889338bb16858fe4e2100b9814f2eb7bdebb19e601d82969811e8202a941a5e8b957e265d335762ea873a8db2a4bde2ec3742f3f227373aa995e5a1ad6c96bba56effc0d0cf94184af95164a9b88bc76a4ca8d6089fca2ac1a53ff0b0a8728d65bd8e03ff9e867f000f537ef59f2fe19715848d37d6b7e857de876cc0df0f79f7cc225871870d9d8e7077e785b8d41c8f09f3f328ac128c0c214c7f008f847a6dec442283f6b74276cc5d12729897e5f6d6c96528c5db27564e479f8e4f8ecd24f43d033bf6658477af418abc8182caa0e0d54ae4403566f1c9a05bfbc4a59cd99a34ce4aca49df03998c80e88bd2bd9590d1cffd1c188fd80bd9e96012f57f18360aab0dda33be37b00924224b8e0a848849596354fa35a62d3cb695a2ad8032098aa7c569536e1a164354e593ceeafbc4d0f08bef55c89e943a88fa15a7ee06da4d94c420fed2aacb7656ead8aa1439d969cf06253c7f32b9119b031e749f3c335321f7d92444b77e3bb8f994f017bd4b11c43b8f46ee810a810f9e9256688857d3f9ef10b645631b59c2500392878f57ef4efec294d7656d41bfd27d0b2437fcafe7bd0dc8e00ddfa0124013c67e23f183b357d367de7655b8731582544e795e4a895c9e22843cd642769437908036eea3102d563af27fb935eb5897d3d5b0c21b25805adc3d8ae3ef79b9e82d28f59bf2388980da9cf98aa0c5ec39b11abf4850156314fe5c393211fd8d384aa003026de57816e97973bcfcea296cf9ba19475bbb28c58a87a1900bb4f5d8908433fc0c9c8d5829047b305ece1752b56d33b2856364fbf4df38e282ef8c3352226e8ef73416abf90d9811553583a9aa2cba0fbbaac10c208a23864467028f7a44c80d28f74531535a4e90815586824b9c2a1034212f6d35ee002283103242ba55981ba09e5e11208918879c8852de87e14c83b8daf9d8e45f23465436be14071ac52324229bf0c0ed78d1f0d33cb3926481d3aedeb038288cb24bda7e89aea775492c89865e34c6bb418644ab22fe71f99a5f603178c6e8a011fe063724cf0c394f8d6c67af883f590b9f694a58de9664b640c892fa144a3fc5f0b619dea4f118798a5e48a3b9932fad873bcc94ddd1e27f61cc3e8e2b7b388b7da16329afac53ceb3549006316c19f62c37df87606b987c20894860275d9d238975003038e3428c7bc6c6b28f511a443875b635eec6b1a555d855cc5891f5775d4b5f0b1886223c10441c61ffccccaa1bd4daa59fb831b2a665ce8e46a1d2652cfe2ef309ec2df0dd3025013992f026bed1f4cd5c7728e4b2a1f317132267dc5555519f43d59515dcd29d8c218be1f4da742c066d849303495d31d24ab4deac28b4fc7f7cfdadd9ecd3b94da9635ae2668736879fe124c81b45df4e234538193d73ef3a981d4a20a01c6ebd6bc9bcc9abf4561d4f88b7e70457a3545bf1726a90c317c16482de2c38624f5571a272513a78c57e838c4a572a4a8379ae66f0ba0b64d50782bbcc8feff41fe8e3030dd3450d239cd1da7dc01348fa05141c60d7ada6a0665e993da2c13178ef5c6ae9ee49398abafc3000d381084ba4c155bc884cac355015cee4d712297ce558a0c82b67b7fceb2678f56b770448c8dab580c589f210573f71975d945fe7d9df251ac760947d0958057449288ee11af2d980ffe85415af0eda47d7691e5bca0e53a3d09aa023472cfec38ab617b0b7bbe953472fee345ad8a14fa9874bf4f85ba24fc981683476c4847c0832f044611d2faaf893207d7572ee2aa76ad10b18b82cea5996ec2a9e80a57669637d7c2e3ac12b384771de5c6d2d106dc83df46e585ff813b9809e37bb5d8bc2c8e9059872556117dcebf60de2cc40c50a8dd472c8d44e2da77e9389bbdbc90d06e16dc9358c6e4d36068eadfca9f3f0d5520e4310d52519cc496bcdbf362ac4441ca9faed348950541de1c2ea00504b1ec4b8d691e5e1b35bc7728334f0eb389afb5cf579b6ecedd648e0a7d9c90409cddd5a792d197cd0dfd369cec4f1b3ee0a6b125a40245fb204d928d871d36244a70ba409a49dae58003e4e308130875b6cc309207c11f4058084ebc5007789344e96b8dcb28c8a982ff0a7c2999b4ad8e50b402e6f1c270eb99bf1869bb50317416eb5f021be684c0d0529dd27c6328aa3784b729b958821fbad1553ef05cac4172a9b230dbbf98018dfdc2ddba9a898fb3bcd0b01ed41d7e94398bd980f985fcdebacb8de3cde92120b54e8bc61c3989ada0123439dc38576530f925ab7189f82104403886b4d412c1a33b721e805c04d4e52f220b1bbc77344509c15d120008a58b122d55376e6c123ec02b27474b991cc8402c51913a53ff275b9bb64aba18c11559801c3622f9329fecf2b699a039dc876d52d5b13c08462f7076c077f07f2190711c03b80e3bb1863b90084d72ff0e303e4aae0d7f701b5c091cfcd938f15e3ba4893269efb4640d0f0812b17c537e5c6e245e733e53a352f851b9050d2ba5aef80fa42705ea90f0904100ff86ffd847e47588d9dbe2c37bd0b570d5dca3ff7f00ecdea6f050268efe4940fcf1157052957e3d7bdf40c8026b671c889751e5d9643ae311e2f9b6c1259f767ec74700bf149cd8c956c154fa579b5f9f985bd321c6cd591a4000291381029c04fd3bfc0e5cecf19c8ada99b5886a64cf625e4bf9a4055f1a6c899346bf5176ea0511266c890d7ae417703504c87c476434e84e2560950a7a0fa92165c51921a1bbfe4bd54c6bb5bca04d450a6a87de20e95f27ef21295343dde27e922921560a3391874ed0cbf902019559612f5713f93cc73eaec56de103b38ae4b9d4383443ee6e95c2f5bf781e9bec6207f24f7c8a8129593a164abb2fd7798f581e72d2bb2240bd0a8ad17b10ab35591db81a468dc709bf96715808e83ea34e308fff11d47e7c0025f358ab645ca7db26ea682551651428f62dbc59e4b19ca68df04611e7823a5acfc5e17b12ab846a58ba3dcce15e4805914097ce01f207da3acddd0b1f9c0b0416cb86773d92d737160f274d22907b4ac65ca5faa7cd1d0dda8d08d81899006f22d98d04bf21d08dad6b61ff8a04294a41eaf3c62fca0790eda47abe3f46fc7adbd7d1b22b4180b7716f4554e63ac06f23ab7d060cfd355c027c901fc23a07db2119dd054a184b7ed17e1c014d86bd4f9f85c878252e00a930a2b1e873c6b80c71aa288d82c9e8248fe593d9164bb33c3a7f8f3d4ee00363d30e99d25401f75622e59443259d5a28f2a708900283d4b24d729a0a031e5b6a10e8eed1a56f409a073bfa2c38cbd275002fb9164411b794e6108e46bac4b653a3043933c274e5c25b6951f2f9d08d365aac9b941dc4f0fbd698dddd8d101ad399dffac0f778263e53d3376ee128ec1157fa54b845f231453e74481c5f86951a2fb84449ed88dbb2a6c4ab3e21ac62d4a92ceab791c8f9805e9b8044a004c0ec7fad26cdc2eaec2c61cd64f712f64bd46084835f033c8c62a81d62f0585da3c428329b728d60bed6492ae59b81a188cb247b0fe10a7af48698258d61c831b9b58a430340ec4529958a8bbcfecea9833a6234e8078346d07a703b65588f8b52d83bdb9697d72fe8d12602ba7064283f798445060978d033649b15609afc8479faa3e13a91c4b81575c6aa5c0396ac0761f6e6ec540ede58787ed7c05b1b8a99fbee727d64509d84d30054a57b1c63f2bd93dda787e756d4d8d4da2a4793ba1490b1caac0b204057488f301a26e7f3c086102a0cd108612948d72dd7c40554849581382d06092215c5606fc625f583ef8fa9d09b17ebf4cb2a971b21c0a65e117027f737f706ee69104f5175bc7e282f939d38014a85ea1df3da747c16f34a493ad13cd62d0c635263d333632281885d43062fa2b62f278b8f2b0c09845401dae8a7ad0845378400ab12e2e3818c63054724b22f4eea586861213988f6bcf9639bfce03d761234a71320afc96c839fa600001e3e71138703d1500cf5bec707d0a671caa1abae64aebf1ef6115137aefd38b5c8a444796fe3ce43e723eef9993dbc79f63bee9808ca87d784531ceaff14032759d0fc9b93bab94c3c1c95eadbee9280a0bd91014ccb94ea78e0004f0f29464ccc2447747b14e046923c82316c493948dc508869571a268888641912c3ce2cc09ed2129c0b4fd7c58c652f05242f9e0b7edf68db530846539d0b96faf05613105db8c4130843735e1c3233a14e5ee3ee01e81973c6013f40104f9a32f6c3cf5091b95793ec7698dca4aa3653721150156f4a99c753ef2c90573b08bf0bc7199125eedaf7316da91db8541cdaa8b08496921b9991f514d89c2d4566a3c13ea611e5c126a15b10bc42e704192e65b0891cfd8b53fafe67fb9703349b4cf8bd7b85e33484c62da99d04d833420348fc335f0e761dc57a4626a0b23a677d44109c3e89c0bf99b2712d373e5b9526bcb05617b9d3045cbfff12c50e2f1b45cb4efbd930d0a0452848ffa8d628048a4de57b4558a04f82446bc966f63014bebc6e1f9bd0e5e1f8bab9599c2de55532c6d163821e045c7befa5f7e4cbf6e52d5339e2c3871c264fddaa7b946235134cc8264f514e52ca249cc6161b71afb3a117185971081ee056d03175da8560265ec09aec1869d8cc536dc666bf76cd75115c4b13804781260c4064718d31abba185a4ddeea213a9dc0e0924501ec62bb704dda8264782b0960c138a2ee983a208cab46d9859fee9238c1731394f706bd7b3f3d4591f8cc2849e9cd01b72f96d75fbd00e386807c92406f38f955820ce9b98bf38cc7b26dcf5ac17b7bebdfdb00553e48b1455bec0799c7a6c1f4532884180f81820f9df087ee494ce800455f1f8c6c6e41884b2b426385e35b1515fd320b19a47d599b2555b2d9d3e986296cbb81e5354bd05a7d27cf5317e3d3b9d775ea1b720a3665c6b0c0197ecc2f209403a9a127b4acf7c5eec3809e6733cb399205cefaebfcf43b5628a5ec50036f6c90d9c2ec54500c331f5813dfcbf85cb5b5a209c01940f055e7bd34c5186d632cd14b783d574e539948bf7d4f25484907c548402431a7b94c256bcefd424c5030d81f8805328d7e1bc00ffe47aa046a15e435cc14bc3220577946abb7c999e0b85f98fe47580af57a36800724f4496f1bd8c9ce9bf60cf059696510f79c62d1dad241f20b438dabb82d48bb412cfd92001da839b18c43d8f56d36da216d69223ca83484f6d203f484fed11508b805a8b6c15c740692932f4ad926d9a5f3f00c1a3f7f895ba31a03414326a98b058a897a80b781380b0c21556907a2eac0447f883693b08c29135eb9688ae5c28dc542d5da3727feb0a071d9938de0cc3020f5f6ef2cdf6de735a18bb6053b224c5d49295d9aef84c5a6aacb2bbe64ccab54e10b383000f140bbfa5ece5c9bc93301513611543a726a7b3238b13249a45bed8e2c0c87c23a3fa69db82208366ca16c5ba3c1696842db64a896e677eb213c1e26dcc82a3287e65c2c1f41aa5b3a53fa77952a9d60bdfbfa1070b6466643d18106d5eb71932b74aa1a39bacc20bf253e96b2de806b887a87521c30eee6f41f024463dfa70f67ed5853c9da714c949c3c5410b95e103f05cc01250dcc7ee3172b5bca3f004d20a3e870972326e220cb3427e2d13d8ae46090b21e81745755d20a6c2169677b47e86c40e042c22ed6d9d23d4135f1ac2f799036a25043aa48db28c0c3b28669dbcef4807cfa7402900217e17fb23f1f1060f578eff16f0ff204070bb05afda061d34913c374418e9aed21d5c85410d8f813955f827f9d953ef4287ca0a8b60b439066fa4ecec298f26191d626c672ec30caf5ae0a58da8582e104d8e8aa3a2678ba2165c06101d38ac95fdfff40cc2ae473db7a93c636e66527149e31d49900ce10ff3a0cafeeccfbcead8b98dc3d2cf5f381b55153fd30b0757cac630150d5da1ed3560cf679496308608d27988abd7473201449729bc711f6c3ca16c4f41a8121513dfa4384b11ca3a112890b024878a60d030993381e8c96f0c573af7aa56ee1e494355d8827ed02726869c1f424071840148066c1e689cc219a7a4a69d9c168512b58a17a40175b410883bb2fa6e538c4fed924c8d44c7601f30369f345c42c62e9203ba92b5f781299424cd86def20db9107e4e3245b387fabadc055a81c635a24bda2e81f6e48db62426928b1e0e1a7dbaee57d913044ccd7e4226052ce79ea86f55e10380627d16cb652111d146f0350c97f77a81ba406c40ed4bfbad4d428d6c13541e0fec839873f7961203da4847abcd019f5ed030cda66974653b3f42e687e9d0f919481005940b8895014fb3a61d05f5ca6c5a91d356c1f9edc1e38b3d366f02317eb59b9d2149be1e2e99f17ee6a2617835c2685a911bf6994487f97659da21b3e34bc6595744b4491bc5fa86e8ca51765dde37a9a5694fc68612922c710598c743e6cc94b556cb30e10064fa0e7ee5587a85f7472ca097bec0eade45d8fea1edc49404ad681addac0f7f535e3badc51ed204742ffd2ccc8c775fdbe829fc83cf45e62579f78457ca0fa177fdee9047c3d0aa4e5610c288d67b4bd38ac7911ff0d5e6c56e82e3b32504eae69e202c1cd4951750fb5c05361c85e4b1254b639de4110fb5aac74ea6720820d15688dc9999cdc8418775a2eafe92706855a2ce9b08109d91cf281c79096021dd4af511a59302225c381395577e0d739a4baf58934bc8cbf2c13ee49b10ae543eeced949cce39f05a31ec0fb818b666eeb9181b72411636e4f5b41cd8bf5341c5542321166f073e9e137965e58758b7d19a16f68ffda1e103acb978c937194846c8972fedd072d4749d2c1d643fd5f8c50ea06fb80b7c187b059cd44329d9e3dcda32e172fd063a63b6fe79c90072606bbee5e46da514165e5c47c731b86462a2ed74068544d8c74dc88d40a01415229be4c5ee6740f16ca1a182b4817e8fc6b270027f4a2ba0eb599fd4f67e6819a8076a3a7d92ae8693e6d0f21186e338b841f588b1826e0243da57edd37ca7c4fb4b0657398a5602ae903bd05051ff19c6c4f00db87299c314ff73beb4d461f7afce6a68f7bea69da5a71ba89c53d0605c6bb577382e58cc07dac29fa6ba65a8b4ee2d6492e824012758fca096f76b5825773dda87252f213ec03fa75eedb4821f6d9cb73ea55a8f83498be8dae788d3eefcee12da29c01d49a265e715bfec38e8841b1e039ba12f478e0c5ab56de697373acd465656cb9e81c9bd1808b23032b7c8f096b64c2a146a167af90ed0cf078bc26e951c8ad23fc99f990718353dfb310100d2d1af13ad5ecea741a7b6952892fbaca243b3387e1ab5bbadec0c9d110416e6f9e7378b38ac1e116cd260d101d9a49dd447cc63e782239cdb4cb82766d7b72407d5c686e7b84d719cdd001fd382c9a243f2ff161a3bb728ae8320fd7926b205dab6439dd34c569c691994c5759812662e9ef6ddbba2092dfd2f1deaedec44d60b8c386f95fc2f5881db20bd4637d92b62df892ddaaf379fd93f2dd31c0bdd5bb9031a1f6ffd842aab593ae795949258938d1e422d07ec82c63f93de4b6316fa7f2efbbcd8394342a428273317ad75828cd1aa4304413e832d72670e777193a1d826c730c71f1cebe0d0f653853dc6fdbc2da98685efe91aa73727b2bf6aa129c1dbbc69a5707d7e6c2b4149a7dae97308b9d505ead5898c07add72b1469a23bde04a825582478e5899a2501e9ed013502707abec6c5f05208c7156c86b14e9e37b1882026950a148323a9df0505e4bd0120ce826f13c6215df36841e918233b969632292768a005996d9e660a73becc81e6c73afc80eb63b50e0bd70ffbf0f53bf9e2d6cc3c8b71dc3b67599b04e196fa757b34c7790ae9ed677d8278be021e2855a584a31876801b5a5cf99da1595a08ac26e86df56362e8d7bfc02d455da38946df12a9ca72ddf282d2a25b2da711de3dfe079cf0d4bd37ba5a2b389509e616c570dec2beb644776daf0aba92c01a6868d4b4f207f35cd4a97243eef887ae6c49680cd0db5b604ba3ee17eef90a795cc9ef577abcd942b6d2839519fbc20064a78dcbca173b627db5690b8d1cbecc6d8414593bfac19d3db9f1776c6f787b28c7c3a778c48841c5a39830884f78b1f1573a5505f40576d4e3841b12ab89339d2e67070f6697ae99f82e56a0c282118ca9a94d890c9b5f9cce39d2b8033b1c91a003cd5074faa3a393d9a141e4cdac468f073e797e176b347888432b581bd879fadd8db771b00486132a3afcbcc06074cac8b250da27b144877823039322d9d8e776b45b51b2f8de85b061f31030d6b118cc1f0046db828da3c6a3017a0b29d6688a4f312f926ee709d0167d88bb93600b392608d5693f81b2412290a02021c684cd1354b6a3e4c8eefc37416e0270445a631ccfaa18dff9f5a5c2d9466d863ce39e7552ee7976fe69d08c09ada2acd6a1e668369d172d65e53e195e357fe9f8deeac336e574b9bb88429421ca570bac4e689485478c21474f89d77cf61d7cc24b901ecaf162e035fc6966da588ba95a485f4982134885ead736fbad15ed20d5e88f2e3e665c2adf26a63f52ae2918ab70c389934581e6bcd1e2c09f59467b3a6403a6731bb9d1363c96cb90165651bd8e909d16b704be4b9b3ff135de427a4b25e14f45a4969d9667977eda88148c0821f99f966c73b8526c15a6ac9d54916621a4b03dc2d347285b6cf172d3b524a43426a13168ee0762305b135627460821c2548f184c116b7012f04c4755e305632f9198f117b7327b2c850910e001ed31db355814ade65519d58c5d771fabdefe98b77615200c3fbd86b07cf60881e4ccc2f7af7593ea0b14dace120879b4e69df735f43e060e299b8c3fc7c8b97261d0e396bb31628d9b80181947d64188b97b786a792223dd63dcfac4677e6e54075e2f5da29f5bacd1bd40eaead610e45d2c2e0d880f27e8300eb4d8bffc7822dd48bcad4495dc462bf1bcfb378c46d4ff89cc0383d4a353ea1679edbee02e63befc2391bad0fa0816edfcbc31ddb00242af459e0e76e1e2f1c2cf262300aa51cdad5f71a25c64c4aff8bfc68de71499ff33b7651a60c2bdce644d63c85cc34e7c31617573a9e1eefc3138b13f7958be5f42327d90fd3c1ed8c75529737901d11330227336520cb8fe05089e91f2f9efa57e4590fab6977b65ded589abe9952790ccb5fbbc725531b1761857d708e077eb25a60a8bbd60db52a0e1cd28d28d5b44f39861acac90b6a8dbb5171b9a3e836c150d8b13f9bfc6d6dca82731fb2fb4a04ce7b3e0f36bfd6c8b6c5b34b19add192a2e9a86746b74c3a47687c5ea4d9faa4f9ba922dd0937c3076f7f78120e782421b28fb7a8571a35ecac909bf07ad9a644ef9063c8b418885e5e5e9d2f8c8544f75b77d6f2f0b3f9749933d37e1e0fd8e3b2c864d0a7aaf71d35ede53a56e2bfff44291d462dea056578ca5b4655e8a2320d91e2d5211010ed3a0422aa3c9aae927d8a0591b4bff8bdedd18df1efc1b3323dbe7ca2a9159ad8303af08f1b2253920f1eb5e1919dc31c0e41dcafb66952ca334968386f54fa8fa14c11be013a2bbb505c1b181916cb401ff69b421d9065ed12abfdd46b58494a65e8a845050948135c306e40b8aba0c992ed1999462679212dfd20d020858ff84e80220126e50591395dc05e5ccc9039440a4f6272cd015d4fb1300a400dc2c6a90c11954532752925ced7c38b6c55013dbea1af437b4886e1e26411f6f559d7c6462d2fc2da1f8d582e1e47930176e14e2edebcb32cdc074618580cb27bf01b80b894aa099134aecfd03cf8960954311e863623011f1b2bd7582fe804b89783227edc4a4d58a073997974a4d50e6de03e60290f64f9d5ec518ab7aa1d4c29dd07f59b66ca4e1095e985e90101a33578d75ce88ad28bbf9aa6d5f79d706e13ae85afbae35257bf97610e7a43c8447883ffb33c6855a14e46a0261c77799f92b78c01cdc7af327a5c67247b06d43665d3133a33c9b27531ed1fb6a9d633a7dc98eaa4dc5f2a7c6b2d457584bfcd0b37d86fe6b59b07649c55b2004808bd0bf10b60f2b5ee709da3b8d2cac55d71f431cc790b613cd6afffcb824455d8de119973d578aec22f4f4014e83c4270da12ed5482023b2079083b2676a4ffb8c320e14cd19ce402f40903174001305fabca7d54b7348ed9cc96ea672888e8280b77da75499f4692853d44fb69e142e24f327a6ecfb6b8d2b142647eb944ed838dafd0b9e1ac4d65d56b862077f58546d71f89793420480cec3a7bada2c0f01a57ff1ee520c0270b22125cd0656b94ec4b955086a84062df0cdcab118075063f9150dc0aef10237911ad6e126f1414a251d363eccdd565e57f163e0b225ff2df24e6c199637e55df501cf6005a023b27a54ec80d67ac56895a410c4ab6dd6305957cec81f6a5b1721bcdb1635cedd45c7882a0a304894cffd2ac0d5b9f3c8bd7bad0bc806badeea40030db00cce02d1edd740b2e169ba0f79ed8bf2717d91ca8f61bcc6d0400b790b2b10014d6a31a7b1801d1081a45b3c16f9d53fda7af211771341f2b14dcc2d1d369c29f424ab94aad21464e96654386d9fc068635a484c4aa41912b0a49709722a5b09b045f13f771e95ea38a84f9a9a6c71d206c90378b9246e6d31a68c434508a11e0804af1dd27244c9a8b9bdff205882a250d8a813e46c24bebbc6aa466422c7edc14adf39f92b2bfab13955c3faaf21b754239ffafa27d2517537923aa16c624b4a5bbf73b1bb2c23097a13376f20489d431e22a6482d6ce9fcaad263cab24ff54e8d8d81cd44c1da37529019693afc9c307128df9f05d8763330b8f7a0f236b52d168ac74ddafbe153fdfdd7f73ba757eb1c0a22b3facdcab3371df1c6df4eccf749cbac9ffbb38214560644bf5dec33421b61487c3e8b6fac0fce86ba90aa88102eb66e362a5833a1c3c2bd3d8746a85181972c90fa1ad73ba68258c2c61ec9898aae4aaadc8e378223b48f81f7360dbd3c3c97909bbaf80e37676894487c094c7516086b4c0513e9a2b09dad736d09cbb401ab39dbdd3948702987b13a0dd0ebd029012e98c6f9a939ce5c5b536ac4e60528b495198f59f2637cbc61e34c8f4426b87c802ab7e8139a8412a214955a56761a2a3e706cfe4b2cd0263850940d9be0312463bdf190cc4ef6a6eda379f910657751b30923c2cd568e89a59fcfa545e2165b901ffc457f6b18306627e16231aeff3d2c102ca65d75c4784d8c8214e36b895d080dd101a3237badf3b3cc4d37f04ff9e4c18edafce3a1509f0155a9650212e90e68379e9d576553fa1abaae3e06bd3190db4d56de6e61474c4916fb6e2e8487d70c0cc25ed821f658f66f349512e5e3b96b4074fbbe614171ed645887f29be16a83bea12c22620a695c3e77f37fd02e27407760688ecd7dd1d10ee50df6edefd114c8a107f1a1d80f16d18008163f3c8118a81409b418f773731f4d3b1073f115afb21dde9fe4b05bf5b1c25ed35569d49150804d7380296a09e99f43e340bc93c57ce400321240d70ca5da8bdadffba35f02c68b63cb2c3e2b9e2805609c6e6b623b531f28722d71de5d6ea5260b624835e3add94a2504e48341e8676d09fdf78bdb5745e6209734e3cc3137f5e56ca2c5886b610a8a9f5ac594068d4e8343f3da1d854549eaf500c70f12b739920fb624e8bb21141118b59b8050d32bb6b9a0026c8c24360d63e425e9096394a3d9ec913f4e1e732debabccebf1125abf403eda31b974f1a64fcb26303248d47e7831ae2fe1c2921222dd9f582373ae0f0344dbab84c87ef3d0e2ac2fd8daaac6bb317abb4660d98d8e12df247a673252d76c19f4ef23648e1a63b7b8478816f83b2fdc21ef5d79eb7cd0264da3092fcbad214e6a28e442493f24874f16f8a1a490be40535f8ff80868038c27c896470b33f20a94623982b6591992d16b4284344007a53c282033092185cf53fa503eeb3e130bbb1a7ce388e5f1789387bfaafbbadca9a446a487903100e60c66692c5664745e7718196b7b87019a5f050766fd559d33b3e1de75104d7d365e50db8d911b969ee4a649c0f2b9358c44adc0c188187b28ffb2942c87b73011226528344a884d83078e07418ed88931d18073de2b2b8a34e16027bda023c4d3ee5b1f1e9e2acb0b9890cc95e1cb817fecb0ef8372ab1f527d9caf3045056fda27a71a4d600c44ecbb24a0474592b3ef73fa9d9a2208b627a506238f297df9a8f50783e8e218724030b287a0e74babb2aea063625a21505f224cc2ef1c45bc3fbe058258b2738b1e016a5205c35c67a3ab273256d9b8c45cb9bc24b3a8d198ca637fe456554abd368da5189620d09ee19e13aa906af0819550896ce16893d2642453d25d296087147530ca144881cbe9b76ba0d5326163b09c5d0d2131d9ecb4bbc2afc7b8de55aa948ef09a8d3a1e6bd679a2db635d050ec00a919f8754203d61c91fc754f6d2538d91f4167019480fa5b36fadafa1cf62723f426d3a7ec22c4a534c251110ad4338adbee0439a09a28311b1ffc1373780a6532b325fc579a071624d2cc133b95769b3a60ce7c4e562261d5615ab35a66398df0692bf33d09d66065edd866a312f0e8d120189f118b5e640dc2d9a6d2e82509247c47e29ff6344dc24e3de248785f11835ce3df64aaf4a896ea6fbe365a1220ae43a68995ec8fb3085eb66285539dc0dc6fe4a270bbb94998557737b528314e52983f58eaa63465e619d54d912eaf4e2a7aeb06ded388f5a68c81aacef0caa1117667dde689d2640d910268c98960a62fba9213c40f066870f881c013cd6ae2d3a4a3069570c6859839f7bd519737d693dd8aa4c9d8a680861d0d08bd2024304d2ef891ec46827e0f874746863619e910269f844e15c848487cbe8c1f7f938272c54e8698240789bfb4ccd809d3632719733f055838ca0bb213418346f96bde07d1401aa1567223e33a7a07d90e9f832e322396332a4a9ce4ea000bb548a28a99927c1226989cca6177a5c97d03064e65abb37e210572a4b0ef8da1ca3215fe8cd69d38cce05c25875d041f7a24a36a19863b204332092bacc14eacc9eebe20afd7979108cbaa685c75f689cfe1b8eef3251fa74fd7e73588838b8ca7f74fe875f953a6a85cc25b77f5d10866056db0835e16e0f6ec25b3d1c7563412f9a60d896ef2d150955a50f094d94ee59365fdab99e3e3cbf72015d0a0371592b613afcf08f84077e3b744f4030a92cb6bdd81d858a96b951185f5efc67b9e1bb1c430bbd4ef0c80d068dbd30d0a70ffc074f7a2d631d857b69800c12c2b4caca3a357f8103b70e18d5085dfb3f714f5d51232674562c2a9a19e6d525935c5b16624703981d3a640e2017b7e51d81130d0014c6cb485989d18514c61627d129f7c4a394dbb274f508cfc38076da311db7102ad934fe9b98a3c5c44f4e6bba1bcf0004abfaa281c8f7888f5a1eceb5cc7d6a8c0943ebb8e4cf853290d0b2d0ae3a4fa87202551bd6d6ee60e38c5b1a0e2aee4574dcb79b8020d5808d732f4f56a0035387f2a925b07ec0d600625032263c4635c2f8007a109621cbb6ab2ec1dc29a46088eadc5fc4ac74e6ceb1511eb636f90c5748f80e3c29d73de6818bfcc1aa6adc18f2657b9d0b7baf752e73cc1309878eae384b3a70ff36f4e6a07e08773c1226a9c2c39f1e33e998f37ec6ac61748b54d94788e62a65fd14f2562b976d78f1d14f98344260641069110bed20a1f7e1a512f23bb37432e2bee3583acbd4e3ea0e625b4bde50d62a5674b24898c5518302898a5b2220bf9556001c9a10d2fdadb8fb049a2c7e8c1e2772d1b85597bdb1f6e42d0cd1ae4419ea72de940d7793ad0f55983db531325c60c5bbc6d92255ce6064f7367ffe601b5ca9f5d6424af07cbc35c68e982d7c408d0a78cd768c852f5860cc6108178a3be4fd63bbc8caddc707005b569c343b01d485c58535ba6ab2eaff6e1a5d38018b61db9066b1971024977c3f0f578f1a690fea30ff3bb3b501c6737d6e20d0c93482e3af0defe06e5c7a87e80301213267ead0d8aa3564bd46bef103ce68c7614ca6be396c2bc531fe7f2158acd785009011a02a603c4a654e79f4fb38c1b1cbcaae34fc4cdf8a2cd0734899417a08d36649c8d78c86c7190ae6edb15e35d64155b6098dd3072176ec4059fa840a36f2ca269f1e2acda9dc59da5a6119d3f5a88568355cfd902b8023841c6d06743f85bc4b666e29375d617462687b7136e21cfca8345f875490de672d305c2ae1607a1613fdd7fdacbc0ed878eae959d88557ec7c6958cb2420059bb1ffcd19af5f535199d12f04b9963231d3dcce78cce9f11b74c0fd2712594579d47fb4c84df33f02b9ed8460bca6effb3342613b9c2b1c2a04073ce7d4f50805e8ed8f5d417637673071fcbc1439fa0114cc2f9a3b99fd4b50784eafa3c98e3992c1872afcee3de0889b509dabbd02d7436746cf1eee8c6f71c02e256d6978e92b5c349d818c2e375174305fb7de0380db43159a49da4049197a4419b2afc4053421e19ba3b8b0ede6e8a6629a3460a997a44b4955755401e1da2216b4d0e84334092dd7093c139e1cb001e7743e9b8ae242f3866925ea425e770e55b94a66c7bb11e9993b38f22c1eebe8b4fba5ff31998eaa4e9a1f253f1a0e4b94bafbc58a8ff21f35f1271a2be76d2d345ad22f957ed46925ee8666d83128e9b953c325c0e4cfb49bf429a26fc55243eac2378bb4723395e81e6c16ddd12023b1403568b3fb3bd49a7d6e0f5744811f4530a14b87c04d7069871c9b9f5aad148836fe8d6912123372d0f185172a62d38db7a340f5c11b8fd1eb4f6d0c3f0601344c077ef14013d37ca8997583030d6d94d2702e82efa6f0a71772b05459645f49aff76dab4941fd00fd0129ef1433e16543591d250a0bef7d25d730b860977ae6a459f7b45426013938d40f6c606ed9cf9ed98411ba70cefd4691b7b7c4eca8dadbf1f188551bcf8a913024449b6b63ca614890c32f26c14eb55700d3258e5a868c7886ad18c7a3b3bfbff237ad15356c85e304989e54506d5afa411481a327a41d2bd082d1bdbccfa7cd186e782b7a5d6ee094d59ee3944b4d0440b556e0d50b413d235e2eeb39bd4b896ebf1d793e33130857c5a058b5b66f81ffb49931696608b4f335fc14823854d52f9e0277f5c31c8c29584ac2c3eb8134b1eb39bbbf52d223fa217877d2307d563b5dbeb35423f55be3daf2dc4adedf06172a935ec32ceb218d2730c50f7e4b46828d0328f0dee3a29ed454b1c8075916eacf5594c471356f87429a5822a2a5a84e6b07b2e10c776ef5cbee789c3e2065c9aef22f7b913a00744485b924f6ad8fdf6b7d57549462158ed0c72e24cc3af7e31aae666bc44d4cae610bc967601964e4a329b2c4be15ad18644a8b948deb50326f8a90325f11d0415606de6362d5cea5793db5768200dfb18fcf5bbcc26942275a4a5db4515b4bddd9b54e67d9e77544bc70a9bc9089a36c6301d0c4cae0950c30e319b8bcf91432718be3d62c9b8571cd487a7357ed4f008efef525ea01bb9e419b9e2387115a44000985c9685dc1b9d206db46d73f76889c1cccfad1416ae343701b75ee7e86e7db5c7689b1dae7b22adb4556aa32926d020340adf5a12b2f48c2b69d18e2fa0d51f6a8460586e68f6ea0dd4194fc3ba80dedc8bfe750bfb7b3e4c0cc4b33a5fe07ecf374ae70a4688ad3311a7ff89c1e54cd9be1f1a85033b5904c882b166a9d19185f81b756f756709b20d963a2245eb420fab2b0162ca2ddb818a639fa365129faf68f28bc0ca2f11e32db8169e2774dc9edf4917772df126742820b12fe1781938210e5abe51321f16f55a1b98223fd73cdbc24bc5c51527289dab95afc81a3ed148192ead696985619b309f777007ec9abe23290f7bc20f907f7e6cad64946e667ce78a51a532f5636c4a329804f47d0aa8989b613d8f6d4c98eb7c2bb5c3888f5f9f38662430738fe1a0874450ee730ea18f48a084ff584ce107078f670999f3780d1f6a21067f1feaa58ba4d0abe9488b490419e3984dfe9f388a100f08e2e769bbd36b0bf3ec53dc030671255d83e1ee64dc4b304bd6dac6e0436b64fc1eb4a24f43ee7ee7a2e30f5b3898e6bf417d41757684851e245b2f32b96c9cbb3151240b245e9863a94e05b462157affb22d22c201bd40f2f72030e74451695cf71c450846e24991131499e22d817d8166dcb02b90cb5f217b9f34a429bb0a9be138a459980032338bada36018f3343819491bc095415a9b02114d922e73eae857b5b5b204f47ce375729092ca998759037f14d3be08dd1a2abbc2c5818d58c00a6d0ae837273bf9b04271031768e1d8f7144c102d7872a8f2e3cfa8a05c5ec2e6d3a24dfd99af063c0b403e67ad0cf8863815c91394e3ee99868548613d36f28af1dc351b6fd666e82d60df758dd24f494cb9753b1a17b92e2e163a7857bbb2d6a9e768c8b54307f17114de2adc3531a108d2673cea87e0d5867f52e4e53a20ff67eb75b994deb0de81bb272d228468dd35d6dba690d628dcae7cb8cef8d7c4bb06f74f560c57c2ada440a4bf3da76106260eab79dc5500ffb630c93ac684f8273cd5825c09eba8a587360bf3b514c87d7490c4cc02ac28be4983f5248f562f53989b3eeebee033b525530adb672043c4f1ef8ba1a0f5db09b11bdc5261a69c7e61333813e1f7885211d7ea27ca637f4defc6045ba5a6f3abd43aae89104c8e548a58684ca62f2c765e390ce39443689ac7b1c536671fab4ab920630f30b7375e6cc404eadf07b304bb8b41b0c27b29caa8b764ad5177d212d8c2f3f80446efc08ebc2069b653dc7ca7ddc90a14ef35a37af08f164dfe5719db0247ebc750c870f5d59c001cf0fbe81209ab1606c103e32891e97a680023aa1500595c18a83bc615ebe7b8eb3cc0dfce1f4a80f1e23e6fd9f99ee32d155db36a28e971c358c926add8cc85c116a4a13a1d7776c844206bc534ad965c07c9222c4a4102043c8c232abec82b9333ff5a51f02201d60dd04f4b2bae60af9a70f8604a0add846031d46ac7dada2d574ef132efa21f36d3580c834c5d15e1c84128f4c2890d3db2e53b75f34f30438301c184815f43c1100881816d0b594a075dd13dde6b60d41a5bd4c4fc5f7a28c3c77ae0f93098c42848a0b8e63da768a54e4bef89672f0ed4bc3d764c479cbec7320e94abbeb116ff205c3885c80c809ee8c3e168baf86be4d14cbfd78733f7d27c03994e5e5cf192704b5120ed7e03f868174c126d4b282a4fdaff3bc4910676004d1102f09792e0801269274cf5e758960903fd95dd417782d99cc077a3f5dc5f065f1a45d5ad35d65519806af0963b5d277427ef7bc1ecd62d48bf1712ed7698a1ddc072d315a867c923182cd432f17930e1af579c2c19ddbbeb1638b7b70622038dea6619158170797d6a1b5ec3784a2ac2ddcfd734ac1f6e50def9a5adc9ce13793af722c6f8c7371ed6bea229627f51a51a762569392f004a86c24810e5cb37edba1748df0abb9b8059332ea383243d10c781805dea83b9d1d631f7d65a3d7029e0c5971eca10ccef0ebd3e453fdeeb491aa075343bdc6e17c7ce00f71c2c3a7b47c4bbfaad0950033518e235f41984db1184c615b016eb8c6ca8107bf11b07e71d2502c7223f71f8c19eaec7385b40f79bdf0a7c152ea05b910f4aca2960f04b884630dcc61a2c34dc50c72499359ade2cdae5f22bdba2d678c0e218ff17e3a002daed12e67b88857a50725c9da93c149ba57b9c271371c5b7d9b76b82f42915f0655b802db82dec7085350c39b84289f604fc7807f8b68fa9e5887dc5d2f70ef285b637aa9965ecc2e9cecb653146b3f868107ea5a2a4718618a94136384cca1326745a556a410bd53042b2160f2383fe81020e24d37d5315b023ad920d543e464d9419ccb3c57485a739105a3390b9892c1ec13a0575e3c8216784b89d68facb72e813682b254995dc2bd6a42055b322205f4f4f87f88989ce5ae462395f82faa3dd0e2e6df9766e0ecc56a491bc78f9eb7f6a835c00ba3c66c1986ab1e1134a189d4badd633d5ffc04db04ada33c74b856dd6fc631c219ec7ce31689c71de6e3bda9704050a6de547628ea5297e4bf2dbae29fea4654adb58564cf8c986450ce57ae56868d292984575dd1afe2ee0340a2d00c4811ec47429426a9b69a8d01bb40239847e529ebfb048a47f1120a3d5c5529782469a5d5d53582c82dba91338b5148347687d7ec8b68514e0f58e896604a501b116fa6ef414b58b6e3df73f454a119ac784064613540ab3904499740b2aaca4b0f11ee126aa6923cd04a12fa4cf7a2242d15821fa1bdf5f89d077f0856b16ef259487c080b018be3f70763a096a996c3c35435b4fb1bf4284b967b10bb80a8ab31d23d6eaa8a19a93569f409118455040426281198ce7e7397982bb6589c27c9477603b2cb0f6842766e4f6f83ab24413cec2e06f9199b95b0fd94ead703608865526140bac41cca85c86b411f1e7da403e72e0434ffcc60c8464e95315772e32041f6a68b89ca69307113a2760738054adbfef4b629f7fbe4ed780c1ff88cf4a5059e81bac45c690a8c504f9877208f18bb02b418f033363ef492ff76667047d89a6c981421bc7fe55eb191e774592c6a418fbe15ff27e2cd6b5daf43c18468c0dea9093d1282c05628ee3fe984fd91705292375315850498e0de8f80863467a8a12911c5129624b5591cc0e7345896d59b8558f047d18c8ce30ba872ca6e0a35a196f990481940cd134c7aead2ab36661d44b0c65a87725efd68780578612f61a4a531b3ae2bbc04bc821f82ea3dbdf802feabaa7eb9977cee9981f3c44c4592616e5f28dd2ebe8f0a3927152737cde07194376ac421e58330c544c1d70ea18684292f56d05884e21bd989ec2a118c9a3baf09dc81f7b49a1036134ab5a12626886851fd4f3efbf3c50620636f0ff7381d0c1355d1b7412639487f2a1eb96137508e1f950c33d3eaa3ae844b59ae463d21e8a1adbc52d0fee39be0093b8d78c29fa4007d851dfe9202412b4d2d59bc12cf38b4938b62e2cf9bd9b2d977a38c14ccb55f49afdc812ccd892bf6522d202ada3bb8f750fd615104fa7041ca4d42911927a0d1af73371fc09b3a8be7117bce1a7b2b391431123a3f3f1c80f55fc3a4c8349d5640c1458f01657d655399281d25001fc71c87d73497fe683b00f2e2aadde422fe028012f3baa6c9b155030ac0d9d47ccd359273b9a56b2d1af906a1b1d39ae773649c4aba6332b5c9ef3618ffb7a6a41c727fdf3fa8db562e326b0c794f3cba11045484e29b86a644c4f963d9920ab1ea3bbe9ff4f3ce0e183001350350ce045c189177ae3dfe9917105a94bba109ae942f4913d8dcc6a59c8f4a61a5b854bac2fe62f8adf43874fd60dc49339b56a9fd72e9aaa3952f37ecf06b40879f49d582565fbe1a594c83d090c564741400a9bc335c83953be5c30c14106786709a8d2ae66ed44a8a2cec2933ac69051e2c52d27d13e9cea52fcc44fde4403aaa667b1a410fd43b0ec1f7d469ba33a5bebec426fc57648537f8a317d29be848cc13add1ab368c843c0bc9088639188d412cb9fbbe4e9fa09fba474536944035e4284385aeb063e2ae969e314aec7106b586dbb4d9d149feeb56d8113fa56a6e725e336b57af245b08ceb2f8f34a787d84627e7efb30bc33df0202c544f5cdbfb873896c312274ba786d92b67cd9fe25a31f59826c0112281afb19624b5b6d7309630a487cb6db0bb37807e4df32b6328bc4fc1cad118b43800fe1166e72801654a2d33eb3f4c2ed91e92797a7eb88f6d3220490da5b7a994b07dda60fa98c60e8ca78bce9328e6d7d5cb31126f547c7fafa399aa89ccaf71e39ffc69e7bdc913d4191a539ee5288e1c49f3dda0c66c44493a8c466f926e440b7d423dcd9ee05e642871c6bd810aa0a011c07208d2b38963f12b1e419bf6ce2586ef07c62ef2bcb4f3c8069c11bad00b2647ccbb7641f0ee3c25badbfa056016945591bda0d959fea5e34b92e78e314f4764c1acaec69f48266b3bf2f1fb2f023d6b44abf2006101c632724516a29d08131533b30de71562c13a3498464305be8f3cbc380abc709029bb9f366e1fc532c204615cfd55335f2b252a6bd4aaa3e8718ab3bff5d0908e458a804901f4843b1c836471f11f50c08ce464400e0151b750ba3b0fd8bff2a9857a64f3e34ac2568dc053bb10ca1a567bcf340275c53c8cd0361169e9eaecab29441bc52dd7456a401da118aa836c53f8bd4f34a015d349edf154f5dcb71b6d5b1485e0bd0ed0735b6943cba73541516706680944b802db32e38502087a8f129d53f780e9e5c8492076802e8ec6cae17ee8cbef31692464533be70e3c567906e8e7345d2b85ba00348f8bc9bf49efe0a622b6fdcbce8e1131c3c5b9e3463bb268632a6ef3d76d71f5727e12c15b33e3742d0fff9afb8ad578c780e3fb0a93f3398faebaa5ea4cec338e171c8ef55039efec129ab6a2a742fcfd73a051b2b549059eec5a832d208b1ca1876405fdef8128883274325b02b3671af6e840da8ebe3f2d3af3c1d219d01c52dc7244303d2db7a6af69e82ac91db22367a2665cd6e2c11540ed11932dee24d36e8c67de2f16c011c3630b0b54c145211af56ecad90f6307e3eb436748d03abbc3f7c5d32f27e850e6a2cfb3dc5cc39501ed343f7a87fc9c43444068a7e941ee41333d5193e1a051d4db41e667ec4716bad049b4a09e9057bc11063167d693def37cafda12f3ec09ccf50b75dd360da2079ffb0a1672ed9f403edb9d6794632017e3b3d8bd62488cb25fd41036ad25adc4093f478e9f71849f36068723e3b723d794db0c77aab10483bc80d61f9dcfd644e48ebc5706dfc22c4b6c1fede3a98dd30dead160e5b19289830bda87a5c69b13678a96b1b61d16853bb06a18587c19ec5667399d5160437e8f018f4557b240984ecd84cc1d7ed47b43b4571199b66872e4cb6b0ca50b75798cc0ca9e70781d2ff97b48f890dc992f4d0cfa6fa20dc5c4a9eb057a2cc7fa5267cbfca5a0c38088517ccfb0f88c47a030c63ee5d7aa7699bd4e133ca2c9ccb3970e2ccf993cb0867209bf92c22796f2c8818c01e0350b2e445e9d256cb80cf8d58db91b32a19614e20ebc5fad6d5d52dbe099e2b83c284a10443cb8fe7764bbbeec5970cb417a3c08ecc28843190cdab24c696e1f17218ec82637d0db25a8f11dbfb19552983d323df819f76d1942e13d71edc81630ca8d1ac1b22d3a25405c824418d871920cf61881820363b0e5d339bb82c15d8ab987b959aef24a147a25ecbe0eced7b8daa0cf2393e7fa314cc6a7cefa4b911c90a31bf60553ca41a9d4c2ad41646bc56de0b89bfefb7596dcce0505b07ce4a28ad437219d02b1a86e93940e4495ef84734982745b1088f0ee0a02acd74f3de659f75b75c11a9f8e05195553bd2afeabf9c384fb444d35fbd24321eda19e57b09662e4026d09bbd70072087fdc8fc0d0f2304196e45d0a2afe4831ce2cb3d956f606b479f83a6b2e921e69a448694009a286a75e0a028d8169b877009bede8010e755358e28593e7e65c92ad74b117c084d2ff63bbe48c1d09d88d814e75376c43729eb52543f7382156953dcafca02ee4c07c855a7bb50ed64256ae09a9414fe69abd6cfa4a1586540d8cc866ab763dbf407ab4ae899a7ae45ac7e4be0a1fe2b95513fc6b975959f7fd2b36c014e1fb8ed31ae269e23f1942dd96eaea5426d5afc192cedaa7e8d9614224a2b9a10eb8e4feead26181fba62b80866b45d54b306ccfcf3010fc8b64d562b67e40c219efcbb1e29efbdcc5bdeda10e7e1a86d81e9424ac7917bb544dd19e6eae003dbb9c6667013b77a775cbd58fd2c57d9565aec7b3e6b2d852d5527ea5503edffbd1aacf01e4bb035a945a845a3054b24a07099beaa75cca2ec5b54935b1d1631ba1f527a13872b72fc0087b93ba2c623cd67623e659aa71c1d4f29be145ef7bdc87e3bdc2e620214043d138f96d9a2007175cfd475ef3e500d3601a4942f6de9bc82da54c29c949082b0828082d030ba5a241fd205317d177ecfdbb88621065a48306355a8931c6d81929a1c618dd1245e7958ca7e07e33b429f5c88416e18e980bbfbdbbdb12757777b773a59b2a522cba00f09933f246eaed2834b8037aaba033a4a7712cd10a52286989ec9e4d4fb95f0ab76177535aeb6af58fe46e89c0689bd856dcab6e186894aa6ab8bb37f60584d0a97b10ecae8312b3d29c737653c61944158f8adbfd3dbec06ec9dcd6e65d6c4f4ee69731083a2eb442042897c68556ca3863eb9b0bc4fba7cb40459a6658da49d289303ca0033028410f3ef0441635b8a26d790dbb1157a7dba5380aeee71971bf9c22ee078f86ee0793a2dc0f1271875032e483193724096131420a1743b91c84104c11020c0e6411c51617f3800c238050811219392cb9f85b8e037df043951da410021841b8c0c5afe33801c041871d8290a002872a5c7c858b0894f0800f5e1835b95808af2c42800594970950e0f222892c26d8210a0e5214b9f8f9c7711cc0030f6778a086325a80c5e52da320c210480871bf8f4d2760a3d67c824313309081101216450f91618001c147cc2553c420fe808b0c2611500a2c8718c82a845861594a1045083c70c6073c8795152e625cec422b5c9684c04890a9b59ad2065ba4957a0a431251fd422b652ccd29555e68a50c1d0451fb422b657051c6141bd2695a294389bb0d4131659432ce2e355e68a58ca05886931e22e7c04a192028630719302df17faba5021f98033046e0832b89cb6004d4064a35fcb8b4debcf3a154bc94cc287225e12a4030a20857ec02b0faa8871718b9b4e81d1d151b280930967c60183a5cf1852b49dca2c815e7e61d4b88fbf0942eac78e24a82152144124fb0a009571254132c5c499061060fae2459124d2eb71083937978c11041aeeea02b49e40681061da7bfcf38220a91ebca165d5e2e06c210ba30b93467f2032bc0702549357d71c517432e4d9a604a1428ae245b0c846a70511da6a84191cb8782f16adae24a7202c3e5d1ad3b1f7ec10f172057127782072eda05c05e23b822a87740a2074c2e4ddbba9b3bf00190904b931b6ae620690b902b0973034926fee786a856b82471cfdf47fcd2361216542af55a0a4b6198ed259d1177a2625773a2f2d59ca8f26a7fc3891aaff6dadc4e9c8fec62dfea9bd5ca481a798df78c39cfaabd4f192153e42e803ba0137556a087c45ea266b8b2d5020b8884b77f3e69e48594925669a40473b45c924aedf5c774513f49850a07445a967c2af5eb9f150d7a42a47ef58d7cf95098e986b31cd34fec0af00a3c8c5a523f57722d7df3f1c02a370ad0bbea7bd107a89625fb5dc9da5ed235fd3880a8476cb9d395ea16f5abd7bd58baaee576e4abc4112199505d8fa875b582fe8306e5cbd6ded2857f650926175a231897dbd397d5c28d1a17da6f03ab1fed9115a3bb7b8d91bbbbbb47767717c2bbb9ab68fd70067618ccc1efee7e55a0c199385972094cab7aa7e4950c096e33c7b44577ff746c2c58dcdddd9d3b0ba56c0a23a85052b27166be017b6b01994e4da05cb9cda4e4eeee718bee2ddcdddd596231e3eeeefceedc5aace4ec61fe7e8eeeeeeeced3f9c7b768c1b4b4707777e76d0b7777776e2d9cbdd9dddd9dbd275a1610f62d201247058b1688d4447e84931234911636089a5a0cb120488b227924c5092ef2a2b7eac1e8cfcf4f0fb60453e2f25aa2850a3c2a64b18936b3ce2c5562152d7a5cf678163c323c323c2ac9a3cae2796c856d123e7043151e9b25764ff774163049bbc112419793b4584916e261212cb84e2b7ae4cb9e49e5cc3233b3c92d0b55dff444973d318b9c9c145280dc30e2006f3767d160df7473fd5a777ce6bca7f9a1f3c31ed260df7873ee10a0edb910346880daf0f4719e3a55d7f8df13b43566a8629642a4ca4f697c2d62118353ccf739e5cb19a7c2cebcf7ccf9146c549ee3adf6b6148a2af74d1b9920c7dddddd7bc854a5d17d9783e9780f8de3b8eee320b7691af790d3388de9d5b8e3bfc0bc44b8bbc0bc44b0d728ddaa6a25d3ded6728aa31f1c9146bb8c75f46b63d41f2ba8478e5ca0c13afa65a0b426edfc70a16f9847fce9ce1707eb6806e25d748856ac638cfa7df3c72adcbb9fa99c621a0c6323da80e932598ddcbdff99e2362d3b518c212b0926cca46fbebf7ed376a3feaa2c2d4523c989d1d30a8de3a150d4f31f593e7ed99c9c56cbfb5fd93ea21d2db392a8fc1baa3321cc06f5b47955750dbf46b124aaa67df658f769508b9a6314d3b2cee8d5b28e86d62512df3f9b7f8ab073a38b7590ae80cbdc8ea8bc6d14ce93d6afe342ccd7b0f7ee935cd7c0f50c5cc73e99ebd3027e7afa9631c618638c31d6945822d8779f05e6ed4e2c201bf7dbc32b06926fdb6fa73f35f65b37b91ef2b92efed6b9a6657c62204ce4f4fc606cb94cac80e1e4360b88df133f5b22f73433e6b8734c072d47a5e6fc0a3d898aa21dd741d8ee7e3a719bd35a27651f120491b5c8316b6993a1e452cffc3485e2627cf95b9c96c21c1166dc836b8b070dce1c914596a8acf84a2e942a4c776e4c457cf4b4d761540c4ae348399d3acb4391b94a7b50f889d64b1809e908a96f54b51ef50de5273047bffc58c82bd233253f8c2b44a16eee30aae6420781929d590a868ee2e99b4f4974a1bd15e08eee5848d499f63816f83e11481d8b7df45d01e6e887471a91474b27144c902e84c2872577752114415a6e7fb41f4ca29bcb8e2fa3f51d22a52a88ce8ff1cf843be49f719d0517e3c586fad58ef421d471ce3e5ba26e0fefb6b15ac8b4e664bc5a3c699f7d73da432ed34ed9893b751fcb1fdef9fcf379dbb48ed5823f53aff567e555959db44c062e694bd292b2a41f9bafaae6d69cad5fc22449daa42749509270a85b37d1f4a2a5550ec5d96f16b9bb53faec3fc3a5b4cad530d8d843da3df4e857cfec8cfe33fc0b9228529f41a45a1695c64b5fb2a8f09fa8211e3f2f099dd00d204126e3d36accff90712a8fbdd8930aa5bde1a472bf7d0d9c319b59e4b14048f8c00d4edcb87331fa3cad4b3bae232a62658f7a252e1f56668370bff94cc96c90ed7d94b8747c76fe46a03f732ff0ebcea734b4eeb4df0ec49062b6ed68dd57e46a2d4ab5ecb5ae27f2b448a022a3f663a34b5b4539449772f4e7d267fada0bc9d5f8a98efbd5324b43eb9eecb773795a52c64b2f17dd804e62d95651bd4b97d79557caff500dd8a8644a48409b261551892b9334e1c1fe800297fe8b6dc0e5b1dc4927383f9fcb4e7b9a67e6c608936a0b451906ac8a544a9c54a60d890e5d9964c9d74f786698cb9d18b89469c773bad23fbe1f032ecfcc8d37b1c62ba44be731b8b8e238d17e8fbfe1959a6740af74e0c7ca141d36963ab0dcb864841853aaa45df5983137b6a00622e08019359032049322f8115b26135db8b9e0c4331305d0d1144e84be60d2c3eb0a07c8606254c30e3d9a24f1f0ea01821f209af4e8a109e8ca0d401a10b02635bbd00a105e0ab8e127e6422b41b872c50348407aa57ede652d469f5383dbf69ccd109bb6c94d6e7293132e0171aa6d7be5b66de2b65ff849327b6d66af615bf69ab66dccb180717d145d7af4c828d46b2889921ce38963a12febf3d8d4378c0509c9a1be912295904bdcd5aee4459ee4596efc885364e2163915efe28fd7782d1be859e6de3f31bebb3d23e95ee78155207d2dedf58fd72dfec49ff8b33de4a210ccd14c71a93de7c225a23ea23e4a2d46771963534dbafd2b48b79063a1e58ffce91bc62e4ef762d237d08a184ab79b9e08f5502bd12f09d4375f146a8a5c8eb89f5c327f08f50dbc6283d1ed8f50fa8677b82da3568ed77a6ff57575a56b9a218f1f50477f959677823aa78d92020299b8f16dda4b752e748dd79a3f7000e1aa19a1ccaa7ffaf5635442078466774719659431cae6cbdf15e0dbb16918d5693f1ed56dcbd269eff33ae9f4ad5697633e88c548095b8289b6a57ed0082706d6f4d7c0a415cc3184faad2e34fa6a8d2daed84074e1151b84ae13175ea921cb5d5da901e9ce8f4e8f9a7b013a71a325127980cc8f6e3f2554aabc80bdfbdc005da16b56fc35e8c2e4688a0eb7eb1695df08316edb2da6c05818a603b99d9ddba39c5f955eafa85fcbd6df5639ab6a45ada25a6113146f9873ce39457bd9246f502289e270a50627b056eac22b352871e985576a906214e58c324756455443ea0c9b0cfc980a979d9b93466984352c85651fa81fbd1836bb39f5580f7eace37a304ffa34fbd983538fa19e3e0b084664fe973d3fa53f9f4e6eec85fed3c7987a0cc3528fbdc0510a7bb0867545fa670bd9a3e463fd5877a2a15ff0a79f01912282fa13631dc7d3a89fb6c68dc2c7e44f231886c9edb1cd1a71cd7e2e25d6b1c781d0d07fb2447c4ccb6a01b32c20916b017bfacde7e6781b826a90c29c22ad19bc9dd7591155a1abe4753fd854218619c1ae11f87eb7cf9e603f79f6f8ec87cd65c747898b933e4a5c28e776382d77fbf9cd1242e3fd5940e667afbdc6754850ef939201f56e91a41e65a9d764afd3192f80464749b81f3d23889eeda168a70d723d7638eba3c4c569f03be1422b4550e21621cbdd7e07657d18723bdc7f1cc41f85836a2e088d47599fd4d3b0b4275e0ec8e9e79c3f2f0bf0477d3682fa51e63a24dcd7ece553af69d0fe9410e372e74fee05bfa79746fc4e6b84ed87cd9f173ba5bf5a24291852961584b32c21a8f747bda3beb920dca33eae832ed9f5783cf58644df306fddaabb27b41433334f89492a259db29b994a082133e3d80add7ed11d4e1370d6414ffa3c51ce32d64169ce39bb04da4cdf38566bbb7b854f2045a931db7aad9c7ff914fd8c29a7f8855f52f462dfea79e37b7712be7c08658510b68558c48c94206bb8545dc3e2a7976d05aa7fbf16bc351ac34183d026877f7807cbd6d335ded9b4c74d8910421bb6e113cec9da74731e96ca3833788d1d72f2a1f6c7ffa0920fffd0c30f9efcb87c92c01bac80c935657e925416268e5c53f8e3d61589523d9bc639bd8dbb134a7406080cd90922c3ccf6aa1f4fce7d6a59f46efc43ff834c3d5de34f6d05422de21edcd1b7e748f77377a43df72fc2cff7834c9a164d3ea59c7aed83a4ea5f219272632ebc4264c4820165ad902ab753877aefb6cfbafa94beb683c448b33aa8df6c11b4afff41adc80ca8dfa0d289e929aadb68c480648afc97a7dea17eebea6b5deabbdb9e43c205e12c921d1a7649b548a604a1cf3d12e848a22d42cd1eb5d5251da0b603d5b64cb0a19f7b136ca89bffd78201ba9664367b94a5d7b9eed4f5f65a77484e34a39fcabc53ef1fe4f4fda993f5a18f7a9fcca18bfe00797f06fca1cbbf31ae036a17f7a86e89070ee0e21ea85da8c7ba1dee67170374712f3b21ee42fda94392fad36f9d667d96780001aeed81d8a57db52ce903c4aeed914c0992b22cf948ea671f24f527ed51efb3bd8ef3cb6b6211ae0594dc28ac18a02b7b1f68e4cac0e933903d74b1eb5d7026c6ce5ecd3ca45fdc302ba81f5c2aea0115274394900245027007dcd13007bf4e13ae6a4aea1a8f424b4b4b4bcd3f5a9ea07e7069c8d2d2d2925ceaa55eea21dd437a0805aa4e863c595afab1335f9a74bf8a74931c8a74962e182701b086dfc21a7e1db40d580c210797fd2143014600ac10e0f28ecbde04170c6bd8c88b8620d01e0f611e6d270075502b030ca3892497818c9af4a24452323a4484faa8ba62088a5c22278c0e43f7072604935ed25ca4d8d2c29263b424856a2bd21eff110da3304eb8d0355ca571bc06f2224b532b4bcefd201334f222d09b8a780d13e4296311c7a9d4521b40396565b0d05fd15441f8faf5a4081525304f5bb58d813afc8ad706138222bd71b75007d1af162289eba0fa4126eadc14fbc13c028d513aa743182984325abeb0fbca7631dc880a6dfca0c2e718a56481f381ba6de16531608439b454485d3ef69fbb7c974fc425c63c9bff68ccccd6dab830577569dc97abcdd4457177bb9ab679a7ddec6adce6dde9d2aba536efb0abd5cdbb79b597cd3b79351a9b77f16a3536d5e65d5f0d46b3a1aa4103e6a5a650366ea03e25fc2a8e367273d1dc237408218436303373945ddce2276f9418633f4faa8b1a1ff2a82ec7df628c54a4e477775fae94505a965bbedd85b0ae302c62ef2560333b3da6cde82787f0ab273975eadbcb98d2e997d7e91a3056d5cfb452d0596127c80c10682554aad40056097a1181835eb81e3c03f68c8acecd8c98980cc43f3ed0186849df00d5ca43f33ad10a2a5851e14811339a8af41c4999f14405283f726690336486a6a51920300435c62b27c8851490529061874bd24e1019b82f78490a4c765a555a3f7484008f7456f8b171d1d4e29f203651d8e4b498725a29e4685f68b1d922834703cffb21783fe3656628794b0c986982676655b7d055467d709d67e666596680a2c2ef9137cb325b84ec338d8734cfba1e79dd4240c6094c46f59fcc2773b52ccbb4d7541d0d32f7845115c6b86e79646e0dac861db2ba323feb785670b552a96858dd6fc8e78f61add5a53169e4f0a89ee0517daa4f75b318bf4db35ff6d96f34a8eec773b91edb9c79d95e6c8a9c6c50e1675d4ffcafcac8c40bc48b7dad3795faa87dea37e6b1b10eed5335f558f715b9dbcfc8f548d99e78eb0bb55a8eb7673b427dd6f16c8fad5634d3e676b5473d651e9475688fc2eca639d7036537cbb35d2e5ee72c6cef2454e1bbfcacebf1eb2c74fabb929159a96ef619ed324dc37ed20bf83d7dd67917fdb7ee4fdd77e476893f71b8069b5084061fcee850e11f809d507e0db121466529da363314977181e27830b9d84c9031cdb22ccbb22c9bd84f9a510c835bf8a0c1996eff9921fc6227fc03800df2806c3f87425ec3cdbc926639080826eee99b88c19d0f99e03efd9703e1099e98b8540677c666e86cd35e7b9813ec0b9b30563df146f991cf6a2175fd53d7eda7e446d18084b55f5a90207c8da6832eaff3813fa0220c2c845c34af6da1e97c02f03e491050430e2e01bc4f92d50e3318c355f34902f0f5bbbb69fc8b77f7d9dc171a2fef300f391b233ce448c0a19da07a9d3efd5478ed3fbf4be9b65485d5da4ca44895f0a95f758775c719efbaa3f77bb56aa52ced2575a99f07c9b04b71f9ed8d679967135ee6351919d9a54b971b5c004c69c2cdc7da6bd27168e6643d4df75e13bd1b71bc921bf332464a4c4a19ffeb9117937fa2ad1badf63aceea3ec7c2d362a6f69a907c90bf42e27211415c7e998ede1b4ba45c7e9475284227580fe21b1ca8351ee63d48bb819d344b43eb02609af01300aff5e626bc4e6b341dcb1f85a7f9d8b158a7f7c7bc8e75b230a0f034cf722b04054bf339de7b166685e478ef7358efd9eba8d768ddcdece13d99f0ac19d151a9be55d11251fd09aa879c0fd59fd051a7adc4e2639d1104489aa8f9c639bc7ea872b94809eee89dc4ed1bf99c0fecca77146af3ad6998b81ebcc5ebe01638d881d7dddddd412d14a307f9932d97e552340e24c3085e79a2e5b25ff9e103f7732347ca723f57e2f247ef2b3f5490b43c41fa2e5a6c6c9063e184577d77aab79179fa9af74a5c91e6bd0f42f31eab3f470d42f3de7bd687d5b60241bccf617d74bc863f06e8daa1b114d3f11fc462a7b01eba50f80f1a016916b8cb35c25d9c059e95967d674fbbefefc9525647647ebd3a4ebb4da6fb7aa48e0e051b9b42c3703d36db427d0dae47f62aaec7f6aa0ef5276c8f7a2dbb61d452f2ff78a8be9763840526c125c8d49d64e53a1ebb1ebe1133c17e77da4b00f0acae099a09ff01c0f2b4ae096f3fe3a1c6ac248e6fe7cee078e67ae06075cf9a79c8f5e83ab823f32c4c45f3311693b11f659dbe9dbbfad85d806fd7bd4eafba6fc6f2b46ec737fba19af0b6d378b31dbd5dc732a1fbd77ceb3a37a1f38ed5b60536baf2bb87d77fb024292d313535312d29256169a11e222a323a3a322a22ea21a6a6fe69a07e05f5ab7f9a988c8eb024292d2d2925613932e21707b1100f11151511f1900795e0125313532b071ac123143aa39cc6927a259d03051d1d0a5d0e8fa6d371cd7e3b57a7ed9f3a1a5af7dbb1ff5d47e42dab05bffd4e43eb4a4b24f5ce8acf3fae0a04a179142a10037419d13e06e8f21e05ebe33383d7f0eba0414147e72874d06be4c73f340f5d36ff41a61c1f54da59e2591afb5e13e49efa1c1d6bc7e6599a8d01ba6cac8be65942d845f3eca2b1fcf21aee537fca28f525744d8587da3f429330c208238c30c20823f02581848e4780221485e6b51addc777f536ba1e3762bc56ce9f1e7b99cd968df5a9652ccb6232b3d46a36e6c6ab54bde435fc30d4611e4298efa5e856f5aaff5a57e541375ea71de663f7ad6e7c733d606e747c6ddcb0b6b574cd66a3e35ba38317a6e30b3995eda5f6a4dca1a17ee9ba4ad7473d52b68b3aaeeb27ed096551e7f5067226fe1240d74eba00fc01e8b8a90bc05fd3c12e807f9351a1f4cdd74e2e733f0cbdb2eb206e126acf7b9acfb9b567de7ea126b559e827edf1bbd7394dc701c1badcb62de459da631fba2ee4ddcf833c890515097e5f02772cad6efa855c5fbdeed2833ca89196a85cf70ef21672d2372f9691d73090e3b05b29b018f1cf50d36d2525a3a5232c4dad76ece5535a6b8cdd5166e27ec0db280ec806ba74e982e56296a7b579341d7465471ee41d37f5cd6ce2695d1ea6f6b82989ca74999f48b4dcb4a5973850a1d0bcfc03d0589ae77725bc8f7f00cf7b7e0fea1ba1be917628da25cfb3444ea2e95a4bd72c01b9f54289a96fb6344e6be91a7e666aeaa513d4ff7ce8b2160fe2a50eaa5593a4264a5bc5810a26271f3f68b28b2b7b7865e91ae805d552b7740d7c71790f8720f4802d9d96f4307df4704443c0838cd4072f7cd08209e14354ad4890e483044a5d03ef476b0e545e3e44a0940352131f2178e5a045131f2000ca8189898f2758ba164c39a79c4b5479a195a60f48239c604faa26247550371414d5530b2614951a41a9358ea8d4898514a3890b3944b571a195262034990124a56e175a318307336a76a115334800831a2fb4620694122eb46206117c1071862ef54e883dc87d08423d5df835b80ba59c3655e41d4cb9f47dc8a5c01dd3bde3d9b1173087527b4cc01d7cfbfda806e155fa067b2a73a9bbe05224ae1771e9c37851b1ff3c48c27081bd07c987d141f5a2bec15c08ba34fbb9d13d3593d36999b2edd46344db4cd0c5357e6a7cbe9fbffc453f76343a173a5551210bdc8dd64f49f5632c8d03bcc99e7eef006f4e4fbf8de04e01df6850c01b1bc0ee0011fd04c528c73bc801c461a223e6c14867907129fbe0122941222c90ae5cfa9d0447813c580aebe801e214690f300f66c23ae8cbe0d287fc5aa2880bc465f26172305b547e6d722fcc8751aab38bedd1150de84ba9e17eac74e9362965c1e0fff242fa593b2f2f2c21b4c657d7aa3e6b5a21352cebab65cd87aeca1242e35f9e866571360acc4397ea5f2c6bda28341eba5e6c1aa66be5780dfd1aad499ffb1fed5178b4e335f45f3a19bc86c63ca94f7ffe90f6e82f5dfa4c84c43cfcc53a28131121bdbfe69c73939bf497bf584a99a22f29fce2177d4dcaa7284eebad657371ceb9236aa9c8d133ed35efd9a894855da4edc92fc24c980713b10eca7176b3f4b553c73d801efdac631d40cf7f58077dca61c01afa36dc8f892807e1524edd1f9883be46bba93dfa91d25fe1a0661fe4381bac218a4f1fc298212e85d493b854b3339435a4c1190d07f59bb98c85573f606666d68110fa9483ca43edc527a2f6477ed2830ab9d517f5e3274ffae6551cb81fccedff606efcaa52116539e29b08401af0e0c216179e157f8395950a99f80c70e10f00e2f010ac8ca53fe963a525a60be173178cd3584ef643e184fb7196c7ec47c2fd38cb1118db9370bf6ed247dda4c9bc38a87e8303f9ab6f3ebfc1819c893bf11b3a6688caef35b8fd30477bbb9516139e0b1e895511b73f8808c01d7dbb09b73f71a1ae31827274bbbb9bbb491fa9a09b78141ca8dc2bae5e0d1827d5df47ff9d70bf3e423d0fb895165b6d2a34ef04c6c9ec87c2fd200d3c286604758b44dc132648bc837a560cd0857a9610cb8261fbec59f3b9c72c0b86d363cf8a2c211acb294559d6b44258b2462be4c4721b65c32cab6d94d34317f6f0b98e7a0dcbac56f7ddebb88bdb2a784e14f5c44a4fa8a00a2506c0a4d971891ae8c2c31d3257beb7e338d94b9606b87200ddb5773087fc2fde0842cdee17e14b1fdc751b03943dcfe7fbadae5c49ccb5a73608f5c99eda77ed2cd16ca6453dd9d67d9843fe898b1a24e41da3d0205c79310517dd3d70214676f4823b642e3f07c11df23207fd444b9d8f68948adafdf1a3f59ea8d0055d5f4e0c50e5cb72b1dceecc0fc667d08a4ae59f23edad5ed09d822c948820c217ce3154ea91f6c8000273bf925efc0dfb8525a1c199af7fa8a80e4f38a83fac4e7bf1635250e1631fe31f59aa905b29d50f361d397d8ccf3f70870cdc91dd17076d4c36ca40fcd35f54f8f4b1c8f580d04867e74710f82c68617cacc3f9515fc25f02d437181153699c1822264dfc8485788895900e8ff8c4e72975c615508ca1f2f3438b88dc0d4613f3681b8558c710e00eb6f10430c77cc87ff2a6a3950b6c966ed88051614b2b6fd26cecfffcb85209b1eaa21b3660545d5484d5b0342cca72f639992824e45846d44040400d0404b47dcccff731e04db402bdf933c64621af991ff3dfd7ff28ca7e3632945571ac627e6e361ec11cf35730f0209f4feb6a6233e9b284e0f8988fb148621ec7439786a34362038e67bd0fcbb284c43ceb591609eb631eba7c703ccbd61d1c96f286a353e2e2292c7855f379e84853d30faad56c757a8a7df0e8683ea5353bfac78eee8c1e85e250248a45d1281ec11dcc43d58219d437474a5cf33dc95d69be2f390e74cd7726b8836fc452a36d2c513ae79c93524a87b81205a54440c10497284f581142bbfcb3b2d111d9e597453c01252852fe7a0010a0c005a8cbdf90d2eeba6e5857485098e0d215a5dec5ecb4291840b932da551967d0a075059acccbb8c3e8b642274283331af49f139db287867a88c8ad80371107e8c58f29eb4a0f6d9c8806a52fb5d6d5ca4628159b49cc03b3ae7405dc31ad771181b229d53f525a57abd7ecf7f133fb7363d3d1d1d1d1d1d111077110070da1a74a57185c8a1fe9896231becca1b4aede12513f5722525a626a8a3f1108ee202a721c25aef86ee447d015df93e00e8ea80e78ccc36d0b40608efe2f00385585ed3f9b996ba3fd417ff0a4e7394e0bb0a6ff062d2ba0ab75a4480c2abc58c7265a057a66b4231a73ce4ecb6be6b7ea0452ae4ecb96d7c0e7570edc0cc43ae6cf5f00dcc19673803926865d2aeae4764edf729c66bb6a814d7b3f1888766ce435f3ebfcf92b8ed2ad566db5a216e8834930b4eb64b948286628a8f231bb5aa27af421b7737a9d9ef327a45ed382fa31d09d0cd4378d450e418b0c21843036e3808610ee1e638c31b8ab5fa763882e18a2ab9370f3925645852f2536a58d5d64da5d02f6762622c4990fe5fd36d00c6fe44dc99db62f49baf909484f97638c29c01c7c43219c34c6f813b32cff3954194208214308218431467e29a18cfe6db76e2e25841742ea0c1942cdaaa0faf794fa6dd76197918a91d5a74b81666606aafc2d99efbcfcc5b4fee2edae4472874083391ca30da834cef63435e9d0cc0000000000d314000028100a8844427148281cd385e13d14000d7e924a7a589dc9b32888611442c618608031800000900110981ab0003f5868a707a025ee09add7a753b6b859758323ac49a1259d7349d51dc70090c4988bed42c18d6c38fc2aff86af9238eef8462035d2c00d61d0cb5bf2904d1faf903cf9f2532e0478a97de0a93e833e25b283400b3a363aad266abbbf85f7d2a9ddfb26706beea4f62c1fa7274dd2dbb65f81d043448b387f9d409933ae6bdb2b36437ddb72b15ca86d363c711dfdd8dcf7eb6a457726ca89a94af97d8ff0f29c9e9ede6694551b892dad985064b440aa9bcc3c656d370c3b6de5ba8c4a3a0f732c0f0ce842a6a5dc26c70d8d1b84570dc7ff4b7c0b57e2db0bd936813b8587dbfdd73471d07972f38112036aa22bce404a521cbb557f31721d626cdd9cd0729269504fe4c0ccfb87ab24abff7802cb2cb4de6ea901aca76387bc8e606233b9bc77e30be22c3ac1d8a454027cbac3fbada6fa4650e13d981b6db79fe6dd30617a194ae615ac47f624c040e34f8cc3a6386ce0139f36318d773cf6469fcc05439438d2471039b9674047737206297d7c25c7aa41080cccba3a11e306618c060a557b863f1dd5d65d7ac78fe0ac8a782db1c333b0f00147405389480153584d8a71da55624982e4c350769a007fd2611b9da910db50578fa57dedcb31fd270a0702d3245879cdcce59c9a5d40fd688c79b7309e374118e7e894b16c62864bcc7fc8bcb36a69ea4621c017680ca03517eb1991e5e7ff59c8a195b52407204cbccd9f953bfa4182de116d1c2dfefdf721e1f33f55cd9c8ca9b1945b3b56a825a40d86950a2718a7f544ce38cc5ed1a03bc2dbe4a8a15dad1d22d816d4bc1ff9b9618fbffe8e7b272045eef717b507ab2ded158492a07ab7c22d54e02abd9dfaf0d464e1050f7df2611d44b5e4eb33cf4ecde7b91f00c3059866f5a1b7a91b94da90788939bdccf3433f10192834f075816e21d98b7b53772899c10e65b12ba4e210b721faf021adc8120a80e7b94731e89b52827623bb87d14fb1c8657b0935f01215775b0842bb52d383578a84268141d7809eb24755fc91de1a8082078451c1f734423488e3fc252757807950d60ce8ce7f70c5829064f06860e2737fa21f45ea6e9291c9d81a4b13b12f1114e833c17c73f2e85fb1f337840b514a86547749e45c3be45a56982211f2a1a99be7b82860018e6beb1d1adb48b865bc71bbd0129c0b2f7a0a98615f0ad0491adbb5a67895f76fe5afe07908150894d86d2254d1e1fc965f4a3e93b4cd1a7f18aaaea12a720162c33e1bcdb32e7b41f99dc44dc7bb0ef9b42b8b1fb9b440605d7a7baae8522df7019f665c68e065269975dc4d779b44dc3ee818e8476d6bba8ff1ffa7291d00f3612dfb608339bbaa2f25a9dd511b99281983f4d1c85f34f47fc55265134ba586c81c504dd7b5090a49d338286cee24297b8a2efd69cbfd3f05d82eb3cc02b14a2388966eb286f6cbf7191322a2f62333d791458c6f10c8da64421a4900be9254f9b996a9d7a67beb108fd279179828c5eef69841459a6b7039962f45a47f706a6a7732f26f319d496b65d92201bbb7b454d39caf8594c25d2cb9236d24260aee405291ca7f8d9b794dae0dfaa4ad3b70072ba0b83467886ed9580008e025ee4e08a85d607a0f58eb003b7eb1efd6ade8f2ff967b1d6a958abc6292556709f16f2e4bbe64858bb9781af4c22940d001c192589c82205d92adff6cc766faa3f5a6eb36656bbbc1b3690f539132712a8e7b4c276b782a168462293d6ceb66c3dbf0f943b511d33f4f409b15edbafd49610065eced2108a856be8c51677f8ed423753b58ef7af74a75ba7cb2244c6cf74237542c01a5d02d0a4181b13eede9aa50e49ce7560322749055b4c1d2d6fa8c19612e427ece529de0059e20696eecb4dc83ce69161f78a30dbb7d514b024543f7caee171282e19c95dde5e54b6dafa68173f52456eb34e192e8aebc43e688e5500b18735371676ec9d00862ef51cea2e7c81607fce769919b6c67658f6023f3bb68e61e12ddc33bab8fde54dd1e33e7e102da802f15cd9fca8512648f88d437427a122326a02d18ea00e376a268e6b45113af2605e202478cb6c351a90273ff22bd9f2a61d3543012ccd86ccaefa52197e045a2f22dd4025d1a97b8c740c1bb6f72e9698d647b0ac2b02c9b6c50fc21c8e78282aaa9257ecaba7d48f34ac55379ce5fe36eae30f49d6924629193c84ea40f28e0f627455224abc46f2e113b10f5d87cc36921b6e8516abf86ab04afba37fdd23d6e9f483eeaf1892c57722043aed154f628f91348950a5a658aaee6b84dec4aee1c9a1052a282d9a7f32ea0ca974b59fb9aece53b574c3ba34b0d1eb491752c58540c7096c01d9a2835f41b515cff4d08d47b8c04e1c479fd03eb49d745f1db18a30232b0f1d38428c455710bae7ce178383887c18d700baef9f976455f8d9b20bcc731a73697398baa213e349df28e05648ae11ba096762f5f67c23e46ee7f4ef834999a40ccb5d5856cea7622d5f33576456ac67ba667b354d02dc09f414e63f9ce0bc4211e9cd8faf3a9d41645e1acbb558046da3fa54d6e1d166341cdf311b0fab2c77359d1f31e5e8637aaa78ad3724b90ec7c75c9560421d4ec8265ee5365382943677b896ddf65c39177ba9ece77b1c8dca57c4b372ba29561803d053c291295c8457d5e072900cf742cf003579f70adb55f8d89cba2d3f21215b8e3efae41bc08d03b09821277e901e91baca8a67d9dea1c4b4c63ee751547cb0b813996eb6575e08d2e9a5b7862102212b2c787020ccb1b156c380a09a40f87d2e2a3bd180a94963f166f58341824a525568232c7522382905061f5eb45df82c506f8d18f63916aea5ca78e2091b2e4abb24e845699be0e8844e45b5a61b3251d2ead4f36d1a69a3953b85c5167c47afd154c9b495fc2fa26b058be9f85006ab95239477ad0d163313b6f65c106a3ed2f89d2ba0507f93f599b967914a8146569350ac8c06379073a600b5afd8729319ba24482e63f84ae7914938817f4e9db85fc5368db0de4596ae5ea3759ff7dfdbbc17d174d0ab50f0085d0441667dbc5e099a74a5c1fbed8b498ea89b3854ccdb9a5808e5cd758f0bab804156dfdb4a121f1b853bba11c8b95cb43e493db151c28d10b0a61a57bf2e9436a8f9428f29d64a039ca44a7b11306a842c63d17db218a0560cebb86ae0a92569f74fc2df778a2d64b57b4389a6052f2ade6847d93ee770f0bd64e6d064349f3b8f97f63e65a9982cec95cd5f62a8d456ba5fa2df8f2d21249688e3e704112eca1da40eb06c164b5f7569106301e5420952a81146ed8425f768b096f363a01f6b06906e286aa22693d739a2f9c89423b4c59e0a9689ce1d2da4f2a46a17a66f0e59422acb3c89532dd7cb0c3e34de8b2d034668abd858590416d4cfeb0a12a0e17e33479e86571077e3dbd80264bbd62908d9e6c24f9a6df361dcf585e93ee4c26a00b9627e18201b48bb65acb1f1bf1b62ee11575702f3509551d738651f4592773c9365a32f11dc2b10835a4db7b3548959f1192f3c9c7bc00497121573fb000297d836d99fb4e5fc96c79480e8afdd8cb2bc5404ae6117bbc07ab9f1f7896ce444fcb1f00f4e851ea07c4a6e021b1d16f56a02e30a1ea3a99392f4236501f957872934ae0059ff4e12fb52d68bc5882d333b93cc47d2f4b6a5fdc74756fcc63ea6de64490a891b0a317c0f2ce2c40a3128d4a5a7b5b31bc7e6c7b03d17caf180a4f18a5c558e1837eaa642aac81eacb2affec4492d8ac2860291383f6aa1d37989ed863f6b4fc0eb02d2f63024144b1b290dd38c8ee0864c9fe58bcfa684293d8eed47042b574510bb156f8d223b280be0eff274fe19f8805807f0fdab42a8681176881b243f83f56cef6f615ecf254115c39fe2dc6ca9b67450c69a9223aaf61e110671bba943af11c9fe54c9b7d0f9bf1df411ff30ee59ed7034f3a5e9bf6a9719c027e3f3e8109ec48ba08cb361d9c71bc5959baddab878bc8b55950a5185980f8ad27e8b90d06a3ceeb7cbaa35755f69e1824e50fb2962657dfa4e8b374ca3b6fba2c1732dc635474699dbda65101f39ef7ee643d52d6823e0c2db3e8e3ee42b3ca301cc86136e108b8c9a1ccf3ec0170e7e8f1b5fbb8ae5a680b8027ecdf0b4d45a37d7491d15124afa0001a2bac1801c38c5f867088394e02137a1123648840cc100d68640d8e43054101420614a2e9016e4d9edf08300291404d36cba5b2f4aad4cfb8fc841abadde709635ed9e08f94cf29d0f91955cfdacd345f480492b4bc9b238bcf313ef40246216df4f62a494a058f8e96109476c8304985ec44fe83b82816b524a1597621ed24cad8e7f0e7fae753308fd1446c10409498273fa0d2419316dcd0d12f23c79ddf68b7b3d7be107c2b29c2335263f38d6c95319fe1df051a4e8d79f24111237e1c5d8b8ce37a3c04881914e0a43fc1e82199429282e38871e15c180d2fbc525a9e8133ed9622f1bdda2b70c2d7942c7cca341b2080d30d47fc3eae0a153753f84b19c8e3454b053c715cd34691eff6f8a4c1e16254241fcb5e9b7d0a7ad10a33d106d1ab4e8fc56ad4d02938e9a2fe6fc2d823d09f48fe4dad003d5763ff4c290e4fd615c01b27d68cb1641b100764ac1575525bd5930c58ccad2be6bf93963bfa4c8155181ebb6379cde6467e17c5372428109aa651cc2356641c8ca44900d08902bdf17b9028e57cd5d414c6bb2e0856c5b2eb9272408d894d2814311d07b6bb7ab786b6b68bcd6a869936552f96a89e452b62107b87377288023446a3d13fc30b18bf8783282c2ea6c1d36a0625b1ecedc328c466bf707ae2434b6607b559dbbf46ec577fe46bb1e28ba14a4572478eeb9d7fcc57068009bc2c6332ba652e154ac951add1cb6134de7217540411568b3f0dc06d86888395c02e72b23039180998366376d63b854d10cdbc6679c622e658fefe27e9e599403052f7a33604f3ab02476bb3241b4478af143621c03f6b58ce40880017d1854886a20d5e3b82c1aeeb7a277b1fc637030959d887a61cbfecf60cae666ae4f848cb1c445099cb45fa696a644b97335db0feb93cd840d823592261531ecf47ab208c08087bcf44aeb5a27425eec257e5237ade90f3276cc1af2d034e05dbdcf71a4206193c75b46664d6fe61f00bf55f1cb56656ab58da59867f7d3845e074f52398be647f25b70fb20413f635c3643991cf03a952cd5e7ce523a1685ce3e100af74dad09c400d60f4bd2586bae2bc8cab52579c0c2a7944c65224ce358dd021f4bde88f635039af320c69d391b23f77b1c3867797fda57110b57eb323d929786afef84f3d5176b6732b9e549208a4756e7aab7bc8016e185d842683715968278cc0e7d1e990568c8a3ef096d39c07643f9e2a272ba17156acc76df1ad42f9f8df0366579052f0652516edbd86b7bff10f48519db116057129096d127569c130d44d324d82f2603432fc9f829a301fb3f7d0d4d1e08ec9703924158620fbd413f46d2fc38ff0d9917aae144b2e05f080908ac6c8e8cfaa35519c6f807069585669d349374035a5ca88181de8f6a570d3b405b5398163d9c8b48c6a8c0dfe8b24f19cc703ce92ca48828f693a8b043089bdefff9fc258a9b77f3f3387b51429b61d3411f13f038b204d9b665f55cab920bdf94abc711497e2438d8cd238bcd5ea52357cc62e0392916b069d2f22a400dc52469004f4b70d1c63e7b52c9b6c2192c92f3bca684731c21af5fda2db05394d3cf45fde960643e8163310a0ab47cdcde95f3490d41164d2ed080f0a21b34dacdd8e065ca3d3d844a3aa4202f0fd9a8c79370a52b89044b00391efcebe2f92c0de2c7cdc4284a7a731c5057ea2bff27701ac299ffaeb5af43c08596167f1142a08e4e0f432e432411d8f902944150ca7752f9af05c7273c1d5d23a3a82fdb629d1a380166204e1bcaaa07d93c27804b7b2ee4b5ce16112e083380e091e9e93cf6e79d90b88937dc960dd2201fecf2440ddede7c7c135645d392b2553ef28bd4042329ca44954b46ca508c4256451843ba2718cde6bfef8394b9f78ab344d6889445f10abe97a3064f7ba8524f565d5267a9a941ec254d1639cdf49e0691a6575fbc7007a370a1c24e3834b8026e3c17c628934f7d330095552a3e0afdb34c9075a57e15a1bd245d40c81f2794da86a0cd60275a05736bab59cb4f700b179a150e40be80399d4bf01b035b493e2ee8886f8555d93d18d133a0f47997609f8397c6f404cf2165c656b5b6f08e15ac0d86303fe25f51817d1181a93f41b2c714372cda93a41f4a1f24724e4964991b1255a68058a9cd7dfbfda2dd0c757e147305c8df14738ffb6f62c21b1269095d8d228912c0868891a45c1d41ef79a2d7e50542fa19a3469027bfc8c34da7c18f8439b5e921d9a63f992c1fd815531870ec23cfc9b9ec3a38439eada2d9112cd28212dde409989d337f0f253aeb86504f5e35b53af4c1c879527afe8175c574dcb0c12e39f02625a349ffbc01670cc7f2b24505520f311099bef6a50b0a386268be952d9b3dafce8bdd9b0590706d948b1079cbe9bb2a0f25390646a119f633bc0b4a033c0abb06a0de53577cd0d48827f4ec096b623aa37edf05529f4be252903497dd1c561a4ad89ed3d97ad18adedabc930923b8a6a062d241355c4286b03bf72429b5c9131baaaa47642778469282ec73ae8f8e11a3dc56a89b477e7ddbd570b90b0a1881f20dbf34bd752b9c02ccb2346f593c391a0f123571ddb43dc7e63dee202751c90b96c60651f561cc13f3dce19035defab5c0dafaa6d94710e248e0740b464e5c289c305f524251495f0891223b6ccda9a5b8b45231c01f0cb9c79a9602ad41a03ffa2cdf526a64a42789b4f1059ed6942b5a27036534a95377774e5641833ec2348b591bdfe4caa5882d5350170a082bba443f63329234c1edf2a32960a9811d960915c9cbe7131b8cadff2dd062bc853b261b0619a3b6e4850073c177329bcbb69c372d1e01fcf2244733268e4162762e12edbc96c8ab357a24e406366b5182ebf32e5bcaae82c5f2a8b104ad422983090f08cdccb3df90f5c19da1d659f69c3bdcfab47b96b0afd87c760a7fae940b3dd6d98d75ae98b9d11f3b1a61bc01bd2ff3312b49871253848f3e426ee6e79e47ce6c7e1e1907abe4101fe029e214510a26508b853c39e0e300f89d34a804252bb354931589c7a1d78ab662c8b7b5f0d42ccabba2223483037f96f74ad7c4f3faadad0032601613c00e4a9645b7d63e3557c2ef3d1875bc06764871d27c9873c2187248ee5bd9c29d70fd72c4d3da6a5f11b654a81036f9b9ba5bb4b7bfee00e0c05a504fa8b9de6bb1bb6af68cf621780837ad38b71f90b561fcd50fb36339e46ce81dd498726e5e4450e4fe659439c04bdda2e2778934f3add2933fda3968674b8ea04ef76b3e35620d55d01905730db402c18cc2d80c12e58d017cce5a1e4391e2b397b733338dc08650b2efde7f524d64e5b6cbd852ba90a0b4cc6f364bdbd885422da3f4e4f45f8406749a11901f379bde1498c92497f4b67082e65084746bccb75bf3469248527f72db2de81196201d62ea6dbccddd92eff44873a9fac9ae7b163c69b6a7a86abddeebb5b024580263bdd1188c1e18f0b533e83418a5b4eb83183542cbda7fe1831907e057cb6999809c2754aefe4a8294fb68dc622f67823a58090a1a33b669572a650b112d186a2a7468c4661d06a2a7ec8696ab9501541ed34ca60388bea3cff4b3a8d7eb2f58ea451ba2a359903cfd864640ec03a2ac7c7b4b2de49611bc322713288a2d1bc77497672b96dedf8c279a6060d104fe509b1d086aac5d8b8a3147af8a9d9ae704db9f506910b4f8297680fcdbf3904845a3faea7aeb4518a31334b7428fa1e1b443508b5c68bbeb3e0f76c7ab3ee126039c534436b49f402246958bf7837d02095e27301bdd5c31481c590d95636a71166f699cc793c349b85694ef0d5ce8d551d690352b531288a5a6ecd9c555dfa04e1ca51398fc92626529a9a16a024404e008d763b368e09a8f2a3aa047f433f12591c09402c366c83ff936cff785bc7af9e89fd3ac4e659731e22d034412c746212c56b206a3311898db920aa2a066113f8363a116f00c2504eed339f15c0567394dc22a1016926656a769dffe066e6270e69bf7d9ba6f1f06d9ede97bd5facb35baff7871bf1573eead75e1d5c868a2d49cd356a551a688593159d696add88b590b876d0aea86141d08eb5326a7a997e925236d0a03242fdba13ebe77f7af6c7f308e5b3410d5517d4527815876cecd901af4ccd869ebc8baf98292be7fd040e1c3c9d1ee3da81f8bf4dab525853e07da0a3dde3a03a100fc7df525256ca700ff468f4086f0dd0ef77374acb6a7cc6fb34f5c1e4b9790da7e3cde11003b2a68140ecc9de6ebfaf9ac49141d00c63cd02ef23c74ecf80f280761db8fc06efd410a99a496d2be6b8c81409507e94b438a41e21bb5e1137a9acd572c061bffb3495dc19419a1e7c91d15be2a0aaf8b689d218a414a4242b6478f69c546e8525248099d1160b78a015ecf9c269eb53df54a80c48dc66c618a9f5fda0e4318733212f2d343cd0d16807afe97600ddf93f485b0509f7d100e89dbfb1f7798682735f38192ae803dc53b077fdb10f979b4f28d2fb0358110d6170c1385fd36dcb1aa361f401674d57b71a5946436ccfdae21c7d69b6e20be16aaea1d49c6475cb00a6a07e74a88ba2dfc104d8095bc84840eeaa9d4162d69fb054c89d648ab34a2590836261aa659ff96343bcf2176a917f61ccadbfcfae1679237383f107136b033ffe350898ca760f402b72c457ef9c7f12bf00fff81f9f58cba38a8ec841b8e54bcb9b2365cc34d86a0884c32c2b6a66d5c7bf88ed47b248ed11c02283c42071876d0708c69887f43a7858f1bbe54093fd3912b3d077d8a24b9ee6eb9a2dc3a907ad8dfd9019684d051fa890d1314379e4a4bf457e60cbbb91fa6f6a8212ea0ae57158cccd99708b05c07adf802e80dd20e17f2a328a3c0f45b5d3318a517123a6970c665114c2625de5c620b767601db3bfb9462db5add0a7d044daad272d5af1ab74ec400583435558e368f4800e5e62daa66b934eaf96249b991ee59807d576e4b031233e89d60eed12580ef4333ae1e80233f27ef8e9118e9658170bdeec6ac541ea62a367577b9c85a476232ddf6bb2d828188acd7c6aac263d2654f674d0f9247d4128407c3207040c3d78758a6336da5efed112025a7a9bed8b5708508c28532197b310bf067fa9dbb4352eeed2583e5a7c5063bf4f194c3bb19e6798b8808dfe0f1b18de60022a8e881cc1d0d4e2928fd2602a41bb0ced480cc8c2406bbeaec9a16a70607029b12f6c751f5e5db710bff6d8f5bb82db9e4f54ee276d4ea7e4f690509d19818a71dfd412f5ee4374ca1ffed3f21e8539fea2afd07b9f34a58b943e631647288f2a07298a9e86c09038a167e4f989750e40510718181e0afb566c15f4d861ee329f6a9557f2083572ca447f39203bf7616125970a5426137c07fcd52b4b9bf597109244a7dac98bce328d485aca931581ce98da3df0ccbf0879b61aeb6ed03adcd905733be0d9faa2801aa32796d8d7d564beedf1133ae8b4a3103d9413e5f19a6ab4f25b6391a3d97872204d3d28d35d8f60fbfd9c117db0162cda672ab343c9ee5a5e379d457b3450bf2b0e96f69a9cc0cdcc52e291cd7b8a4103da9757c6365cefc469f58c3e0046558d0e074f78711133935fcd0fd0a0ee49d80e539e49684c4b07faf9ca7a5b25b598ab9affc85915636e136d5446e02ed103a8dcdd80cc1e6647bb31f62e3f6d3d12be954a1a22a0016937c5faf83ffaf2cc74684754c5d707b0ee4e6601e38e71c62989ca4ef2a2ab205c4f634cc9026fb99185387653672d23ef37022ceb67565e8ac71ed3ac8f559bbb70c9d4c1c28025f6455671ceddb7a3d0031be8f722067ea274a842a4751d09e80899410ba024a7bacd7c32317210f2115c073de831950ff252b01cf204acd3864024aacb783363dfc7f32cf8e9ccd847a91a5a942dde4e7e6abb160a9d16c82fa3b4ceb4e2598ce8e1d59078608294ba0c8bf17c7961ff163776e8efacff28d2e04633d6beda70c05718ff8fc5d32578e0c6d0ea974828737c56436ef6b163185c7e5bea62538c291c2ccf52c827fd724e7fc58944d0adb8be4d6c79329af9721ca415f40e0a1a7d273e6e47cd6261240aa9914f3506bdd8cd5cf617f5f8a4a0bb31ccc270e5ee91efa7a9d8414b7a96bab83c1cab973b64a30ea3e96e305460ce45628321ca41e5e9a46190772f047225548c4694c269a7408f885d88f3c1216e22843c0d63ecd5cc619e783042426ae09827e9168f88dda4f63c48cc20d2e1c2710f2dd49790c8006a6da81b5ff03e09c82792410f03d8921c04b78864cb00107b2764dcd9d247e2df519cb87885d055285e3e32c2e2ae5ef1d30b559a7cab33b708b80092e4831ac0ea50c4bb5289d31cece2ad572bdac47cd3863770b46a0295193b12068da017c2173c36dc05528750fd65e4ea9501851ce644733e619943a1227b623c75adf5837a70058a5ffb1bfbfb740cb79d08105560bf24319960fb5204faa3d7628662b44c2913d0c16496306915d9623357a66ea731628518902dd882cbd1390dfc013cf09d3513a4264d04b64d2c00539f66711b1ff9d90f5bc9fdab9460de04a7213f01f5d2cf3981d4b580246d602cbb91a18328d8e15f408e308073160b798876c9d436c0dc0a2fb51d3ea6a748d9e005a457a2ad2b974acd519d9d4b5873ab1688cee278de1302434377660e459bd5443a2a796ef60c02ebc69180000cca8bb318e4718d3555c755b2f471fd94fddea01f2efa60f43f36b9574af5eb3fa8cb77e2ca553dd3321da89d2c454494ecc4489b86a09372fac4a07e25099354a3973fc9808beec80937a562125d2fa4e98a16633cb9d59cbc61064d5c52d7b5484197da4086086386bdacc38eb45c6a75f4f16ab0d3a831228cd1b03f03620edce5776036afeb8af4d2d1db659ecf754bc23aa10b14c63c21d3c9173c34c788dd6bc3b77da1411c10da1e3bea7adb761d30ba0515ef059a79d95e1720b360961dbe0825092e3af2b7d0aa1337d20de90417e0d36e0d562eca89b534e905066a00eb612382ac7b00f58acdc6bf6b85dad642e78ebc120cb67984a5097317b3f1f336afa8f724b419c25d9922266933d09232dd5f9dde094550b23ce52fccff7f15290b0093ea9b504d6c0928776775398bc53db749c55673bb8270188d99f2e1725e734cbff6733576a7a5ad422e574a47c0df13e0b7a2c9aeec6c4aadd752b4d77c5536536684d15612a959a8628cd3eb3df94ee3411a79b3fe4b05365fa29a5bafa5f4d7874f3d50f1835d557e93aabd09f39af3df75868dc6448e451218f33ab25af5aaa131f0ae1799a9ad7ecce3878782ef3f0d1e245e47a8527d609c97a4d30fecc699f0e82aa9a53db07f02f2860b769747f5d5e4e412b7184d554c550b54b99dcb6f1a70c810ba81f6b56c87221826d35746f8b3841810c80d21c6d5465181228ec91f30bada4625f18d21698f214c7e6e327f13a320eacd5e0ac204f5791b3a07f232d321cd85c3335f81647108181cdf126ad0544b3086e0f0652db6dd110bf109e6abf06fc248f75d98c9fa1b2ed83d862ec67dedaebe623a921ad303b0c4a1ecc32861decda610918cd2cb47530915f8ed22421405b66159e439a7d426361f694d32fea19f3d61ace307371e48666f38bb0ae872ed1a70c9507a66ed586451ec04467ae3585d98e9fca3241e192d29ff137799f679e369b00054df3cd784ae3a7ee3463b0d34275658b780b8b83f3911d829332e95006a00cca381e34908be9904703f253082259fdb8e39a6af078a7834848be3809f8808a97d2c1613b994ba1d6046acf56a227e6f300e28c7701de261fff35da71a246d9ac1e9b0031286009c4b788862b96d01861e6fb31120bc0762d07d34be6ea031542e792c4b069c065bbc13022b12391ed954009c838fd7a21f488f7c18fe2694b7468d9d771ec1083176f3ce0865d02bba5ac5c2a7895948aecec67d79de5e9e05617b2ebf76470e3a2c98a462876f8baa0f936843fc3153c45686327de839da6c5bc30712f62406a96f22a4e2c4425449adcbb89b756d268a6c89e0f1f9faafa3a9f05428e391f46f9d4725a8576c95fde6ce11438503f2a344c2561e19164597238fe426b8a247dfe94f8074c42be188f79d1ae0740fe8349a5086134a08fcea563b82cd4463273a2eb6ca751721c4c1cacc896d3d7e12acb86e7d5d5b34ef9ec28209003db76fe6d0610413ada9f24cdfbc55e33d18a1ccc69de7c9592e8624ff8b57852cc4d216bb5b4057b098ee0b451d436866852646199339497af80f567993e6902618dce6654b3091cc45720a4f89437a79a468399f150ec1b406f7a9f012ecb8710d4b442edad8be962442d7f1becc877be8ef820fd8cf42a1a4e5944511d28d405dbac1e5d871b4ad052e21427efa039523367f4e3d161d18a255b9b777e8bcb6c0e67f3fc7c0a409f7d1c75ae5b109669a55755c4ebb7a4100f7c5c7aa30f746d4e897e1e9d2fd141a9edcfea585c17397f79cf6940f8c0dabac41ef41a9c0dc0bd46745a7f3c6cef74aa90176c0ccc4cc12dfd917eba8f8a896e188f94b97de546ca76eceb7ead1d562185405be3a697c9e657c71358a35a5d3ef0c875bf4ec9bb6c2f3aa7a08252c82f66c156b71c7b10a98a202d9405396aa21b3d36d29b408523d38170aac2b7b7ed0fa8d63e6d39d8535361bfdbc895e9be97a9dbb99fffbb860a6828b4025b931615c8327034a893e5a3ad5caae555fe2c6d3c5e5f5a287e3bc1499a920bf27f4f42aa70c78d394c3aa3fdc8ab04ebfcdab92291c6e4d209e2e8ff4d24b0e232ee9c25a68a3d295ee23a8d6e0620f70624c0ae809444e3a0848e49283e106ec37dfc238e586a69926ee4127ee82d71efcd78c9bd3b3565a3895ec52c7fc2e3930dd0f7bdba5829e584f49535e9b49abd2c874196001b572478df4efb53b194dbe7f8e19f40d5691181111696fb00afc5e8439f574c49d3a2528b4377a92bf0b96916d23626cc9f7a00ce4d605165fddfef86f44a696e84f60a867b18f8d2cb90064cb5fc560ca33f47aee586b73996212eadcc169e80507c4bcb41438a9f098459ae060f33ee4ab697e78ec1932be2c58ef3c2d5344dd799f7a3494641a790ab00c62edba756003c3344e541c86060d0916f310170c282a6abe141a72af2c6500ee5027798531817f3d2a92330fc0c7bf86c4d834ba1f596c5f0b83ebfac5268c5178b915d118d4ee3c667bc84ef27ec9665de673473dc009fab82b4c310441882172a08aa4e5d17897e3a73add8431bd67a6ab77c61b924c3fcf20e713d329c2b111537aced72f24d7b108872a936230b107230b3c9cc8f021ffe6255af2cdd7327b787619cf33a851d3beb69f3bd779890e1bb3ff6e031c2b6c95def50aa93b63e8a3be25494f5ad87e485b46a0f821879eeea8a349a679352fbf6a54b59a846a02d669afded2be220e0e55468b1c1c36055b535ca2f40c0ee86408b1f46bff892d27ac48e624f030468315e2875e3037d52ccc8ac8068b5b43e14176ecb6e3f8f1e541e2933510be9108f05d8b3f41dd5b523ae9a2eaf866c94330275fdda40d447e4654472b0f9c302e9dfe015c5449ec8f948e944296049f07b55617565b7ea76d8e02b12b709a2af7d2e605fd43845c4d1ecd652d52d86bd7b3f53040220d7b45789c395585a31109f55da160f7b147201b0614f387e393887ab1106c06ecef63c399d922d580ec220373fbce472db2003ceecc5af1c2967322e07052aaee634bba20210e14b938f1d4651333770ea36bc8dc95907e6e839ee0ed6b51994fc81a1fc515bc0c9c0b4192c202a13545b6ed73080b372ad2eb0d448a9b15bd20838ae6dc2b19b735c5df4ef2fcc915e93968d51a1a5ab8b2f0c38e3a473eaa4dc5633aa4a313e7ec861466c08c694a47e8d7c522e73583057cd934f1e40339e8700db5bbd89a726c0f3bdb53efa437624cbe69a849780a10ed56b660362b04d1e5ace163f3109f2d08eeea06d3f81e87d41c3c3fb8c11105cdd025a31dc992c1800562e17ddb24537ba8f82b4629bce1f0c2e3c3eac742d14f0ab9b7d0a486eb75daa4e5031afc7b397b5e644228419627525493b3152d01941abf8871f81c6f9f7dee9f9c3147861143c1f12f23e19126127668a825c6b45980712c7d2402be42294964d4740a84c4fe7f5ca0d9a120302d806d967f99cb1d6faa9f06e9c3bbc43e694419370ade5bd7a457e34810d32a20b65013a4e9ca856ae4f7aa9405748540e884b4c090f212540daf11c6408499754242e1263223f2a6b8eb9fa3de1c9f7c7176fcd7a8534ef9bb210b284a8aceafdc66829bc10f242168535cf08b210863d01396c162276d319f855fd0e458ba54d03c6cd6f3698f2238fd7709fbc92f78cedde952a11a43b34e14088a7baed92f812e809f8ed49fc2ebf27cfc78303dc097953e1b420c445148b6271db2b7f227f00c44bee45c324ebed6b56a5df0cfd42b421df6c9541d551267420c52c3ee60fb52a183f4061ec1e6bd54041b35451032bc445c39c71cd011069488c70228056cf78a004cf8a4132937d811a3a642c673b327ae09989819daac415e2e0f1b9d7a01a9fda50306fa09eb29e143f76fbfbab5603b02f041ac31f3ada2d3d61f6f4625d30851d63e60ca5019d6c74356c8906446098664a41401630afaa083641552966a46a3a5532ef53dcc12562dd73bd936322a6266d3ca94c19e1bcf6fbd666f6ae083c7d94bf22f716a66a83a99856c2013c0395421447db0583d31233d82643249390e9437954b6f1302754585da8ec80dd6823e4e1d3e28186e37da24563d8131c909408680008b97020346620debd64a0492f3dc4ce4dfa01608c616a8aac139cca34b71c73e03e0e365db00d46fa1491c7f6bfe264c0357633b81396857bdd1b96a1ca2bbe9202c97e4b995c255b8c82543d0fc5d8de95ccfd29093c4eae1c4917262557d5ea24086cb7f8604499ead4bf1a4bee0452b500c641f521d9067483738d8093d09f6ec4f40ec5be6ee01500ae75edd4c3c4b3d744e25b95ae0ac1704365770cd841e69502826782ea37aa3b52798d389e1133ba5dff609c2e989c113abd66eeb337f8aae826bdb8c4f55c34ab052b56e5b7c31f91387d26a6f2ee61875029d2afc79623910a3f8628ff8275d44829bf158c0d23fed5618dd5c7502ab1008fed380b3ce9e08ad4940f9c23a60458e7b610c4f35a5d327c765c3520829b5cf8fcfaa30b38a827ea43fcdd44986d21d44614ac82666af786d5382f4738020a47963b1c2766b0c7c5760ded04e3c7d7d8a2c2a8c5b074cda807d8ecfcccd1705f720edfc8f96a1932061dce00cad3686d9a612cc1c221c7cbcab78138501d5a4b19a4afcde5fa23f321f02e877b2dc5ebb70a16af2e32e8961c4d908bbdcab6818d385381cb7694579698af60c3d23ce099422cd5b9105d11812c127c2c93c98bdec4a34ef8644accf8b88969a6e0b08df302f7c0ed28f561274f9cbdadb0748101bed0ab8e63162f727012053aa97158cf98e2772ee7d442206866ee868f2243c4165f61049a4be4cd83d20f33ce152a99c690cf8e28dec46a5e7423424c8707f4ce75d6c60fc255ef697066f85acbb2175b8bf430ee44748d260a8cec7cc91e69653af138f414d4e52130bd51fb5e4240a5620598e2fef805043df54e8487a929285983ed29dfc6356c41d89f216c9536667a5c7fb142f8304f5d3ac54b7cbf2e81b740e675626f87a2da7565d91f686c62923e999b629c14a7d973ccd08dc6398330166f81b556450e5468c0893f48a81ad919e2a6c43029ab7b90a600a858a3e7ffd501887db3831fd10dcbdee86c54f313cafe1d68d336cf092345a8e6bb1c756bf9fbb449f2bdcb2accff7e66dcc04c1f22aee1ae827a36523c49fb07e3c0a251bec2348c656735277390110ea69b1e1d77467e044b105f98564710dacac7fc6ded8cf00828c2cd3ad86630c30240cbad1ad8b9ecbb42dbd5681b89f2e3b1c11ee47ccaba3fdc53238a718829e5c21a81148d6b482c722d90e81d316d74866ca85875136e8cd8e985ba57d4fdf25508e57b9c0aa82a1e37ed0a732e5aae8ca24dd8f84016285a28684ede7bafa893e5bff3a6e49bc9b5a298d29592f748d56875225eaae9a1fe23cf83b66be7dc6b510bf523ebe5a29af1bb051d7528b9037478f9b94aa3346cad0a3a3d79408fa7148d995aaa3a8950a848f0b6f337c41839d05ffe0c6748cebfbcaa1d9db7842e3b97937043f64e815f067428230ffed567bafac39ed6491ab9d45af01ed985e6c13aef3ca10e0d74442b538821a6b8d2d4344f6d31600df29fa8c3ba8877444a040c5da77a299db16f14dbffc746a2a8b719cc6b7702f0c2b81c30b2b1eaff6640c1fa35b7436189d0ed9ed2e60017d91c3e6567fbf615533054f889cb518f984579b40db21987e4f33a08f3a5db967b8aff41cdc6f87878c1db026cd99a063ee1eadeb215a28065781f61c30b8a8a54e83ef2e875eb1f69b593877ed25ff32b6a78bec7c23b43779de59fc096a01c4763d1242cd5cd24e01e07d650671c750ac0a54eb98ae8a474bbd44c03a2895e0ec468ea029835c48fe92fa82c608e80d1be55fcbf759e2feec97d2feee8e44721b98b6bea087af8807ad827daff231546e77af72a20bc55514a82b7c941d143e63b3ffafb563ad80f0f80a5ab83153e504a4c715479f27375cc4e2687e44ab03fbdf9673a35a20d8efdd2ff542f614f9807d8d30bb4773f290e0bbdec9335cafe1cee59ef1366ed21f30db759ecdba78c3d467830772c938d2b4b5922b9e686af284999bb2924ab74c18027e74c31c63b92fdbd8365aae2d8a6ec0f77d29ad0c65e8d6c3b94726d52c8c1a4fb04b2b4604231fdae06a0c0c6b82ddee481f0d4b94fc72eafd01c6362df54e60e171735a2e534bcc1e7c2fba099da8be1710c012ff25c8afc1911be2cfbf18598d58c8b9190c94cba5805b3656717277b04562bdbccd5eda8863d00d32c6233af9abf08576331053cf9ff7c39bc72a6c918de50707e0e3eb888ae4dd7284904011d6160a23eb1b796d79076daa17969348864f45a1d81676a3713487a7794437e82065f5015cabf9a05e753969e67d03ed1c7e286f0ba386fba3e5c822d1dab7e12bb2797fee2a90af079d94ca8f396721c2874de3e0249f25a03d7d8147747c5c2ae0b8c2f4de25dc3ae669109d2fc4a6250d1cba132c54dab178f5450c96ba409e2692fc61a468fa040290589b26f957eca60cd418f7d370f1809db7d4f55984782f4dab35679ead87245aa92b09405167f1b28854f5c0b275c5f1f379a5fb7a3ad43c97d2bb43efe6fe95a2efbeebd3ee02159d9f852eca94f793b0dc898e846336b6f08983687b8de9149dbf31e35d763600e72223b2aed4c3fe1a33897632cf2a577a5b0593ca301ec5c4cefe190850f413dad12934fbc3631607c1e706ce9b7685cf5de04efcb4febc03f849491541c1e24068cc5f092bdde5aa0306a3cf6462ea2c0c697a2b2ba7c6548fd00710dc4fc1e2ff266e50978bc8516b7053abd15c42390689b41c20a093ed4f111af82852d19b03dd8b1939f4610cfe2dc1675d7312f92fe6b2b98c5ef3aabe59ec72dbb5260ac7bbcf8f44d517b9460470b12ca37d471aadc87143bba8c0b90160b7488be91f6fcf5b0d37b4b48cc28bd6f94be1bcdf2548c72257e9b46e9e74c4b62ee98dd1aa6a161024efc344c17c70520ba6e9e69b4cde0b7fc40297546951e9e93484f9637273696a08f27b251dbe088d51a1b402c4d89e82da3faf0b2e44c6a05799b408e462cb6c31da6ffe71619cb62f7eb8c411967f97c6058a9c10e68f250f9c33d20cf8f3e87a845d01000498603ade10318a4c8a9b01d3f8bed9bf81296487186f113e7bd9a5608c19f08f8ba51c7acbc01974e78e327dc52ee5a4a0870bb41f52605d30af3b360a0c1024e18bd21d0802a8f92fd1132eda66d6f21c958ef23d4826d6918c4276520c00428d5fc67978d32a51d98f6919a19a8e59b5148cce5ba13395ea4ec7064c84dafa94f6b430d70754c9dd25eecac6d0a891c1c4a3b43445eabc57310b6216472a879ac6d6d05f15dbd754d45ebf81b71755a71d8034910640154140f69ead2cefbc0aaacf60e017e34afc5b25f9df5a3d255e04d39828cbedf416e345e79000b5b9afba89c3c50f392e1fe1004b7a9e5db1cab6836a1e0b715ff7849a4700bff4d2a41b032ab22803dce8b56bd36bf70a0acf34288e2206436065341d562f6f4a5b1dcca29a812583246b11e9f0325e6db340c92fbeba98b3d096c11d4a9dedf4d937dca3d936c7484e65337ec0e90162400ef54417e308908e99bd08e4e494910b992357a3bcfb52375aa7b869abc1d14f7b1d0dca6388789ae0b5dd0c68ca2a54ed65ffef948bffdf3bdc8fb82eec3630766c81c532ef0366f7cc8cf9e26f96a9ef749aa9bbbb4b18a3abad262fc8826fc7c1b7d7d9e1465b72e3fc26676ca922cc76f986995d67bd01bab265a97a3807ad495110b8589eb3dd082b33c420a6d0765ba21b6c1f424cc4319a0055819292c23722ffb4bfeb28359aa5705647a6d8e4890bfb4a9a7d22040b9858bf0ae267b44692e48f4edf58d987b59584d8cef9d0843d7703640d269e68671dd253ee81b3bb5345108d6f047c14792d975b47ab7ffe667c1745d38bbb1b89b7bc28ced77505a12f4919cca06a5e5be9c456fc08b7c869eaf6fc3a6c164f926819f9e273c4603b55cb27b4d9f860e5a5ded971d2f91446a25fce6dc81add1f4e955641ba10398d43ff6f34074fc41c27cf4e0b3696bba519e4d678e864992cae829c0d5179689fdbca1ac17e1fc35cecb2c8602a25f2b5b8a40be1967177064473601963a6aa02b4694b24da32a80ceecab1ec6cca1060ac152e65e8cd5b7c0c933b0552cb34179a2620ccd5c8d47c82631d7e29f50b67f5e4f9b977b8a5d4ab9eedf96f008e25941612a417972f15701cf0b6c0ba9f26b69da980ba8f01d016d1ae324a72dbca7c6c49ac1ee8ab37127e58896284ea09e97d4826563b1669a07aabeca4abb59ea5100b645ba64fa4c3d3833ba1792116186dbc4618d5ff247d0025654428781849d67d8e8709a24e775a3bf7736bffae4476a1d7da217d910a3bc1b82aec51cbb2b555bfc0a60d4609dcf11914587eb750c32c562c5e579df583c7e1e1aa7dfa205239703977c94595710028216a8ecc118f52e8f2ba917d3e6d901e67f52b2211a4bfb23f3a653888bf330e43d84b32a1dba28ff66e58b0239559d5283defd1fa4505f5cbea809957704357990ce40caad38a48208f1dbf587cf4e92e9c97132f9ebb3ed499726955b4d59130d5c69186e33cdaf8f56e1bf8ef32b3fdaf47e00a7428b2287a25444e9baa0bc2dd4f59323eee5fbe19ea67724c9c3a97e29f67129423dc12f1e57fee1acdf42899ec4c32a73403ca01ace9bface438886fd311da09348342fba1eda4265ae90f4ff841cf0532c76e0cc73541ca7bf890d29b4d4d87ccdce028d097799c290147fcbf6db0cec24e32cfc168669f8fcc58c78a8aeb0d84aa98383461cfd4251d1590f1342471499fc8042464b56410baee6208625c8f84b6a70eb93f8a6682ad4c78f791226bda4b3ef5e1327564f4044120636ac7eeb4a2905c424f6e3f220bfe534ff9a729a9aaba18fa392e97f87a4503771fd9206f71dd8d11b8ac6c9b2e462a5c3646515d301e33c4c7cb6371b031bc198de7668d98baaa1b883505cb2b6859fb3aa8e2b1f87cf0db4af2bd77ce3a193d36c9cf659a753538fc4c8a2d1a096759f0188a540eb2b788a1f75518f790d0d4cf37a4030d1743da0e71c82e216d00b69857d5f642db42de7e59a30ed6bd9425bf45a14d0663d56e0af9853802f54dab9197df37b5a8039e748f477341bffdcf1dedf79f95011c284891b7ae3c01f723a85a0998d9f6de7381c285c1a969771e0194e222b43d17fbea698928f86775d7b064f99508c56faa946151d7e212273033d3c8ea81459cc21dd32300e5005d15b81e0e53044292b9260c979fc2a03c92f3ba83de8141a72a1837881041def74a685e0a68cf8df2fb620eb412a79e0287d953d66682d88affa0db737fe727a1aa1776465cb12d1b4dac3b76743b33665fc473a9ea3d342a6b1aabdf00a290c15148c564d90787340585609c59d51a11f039d66ae3dbd877e3911c27ca459e410af11ccfaeb36c9b22b6528310bb27f6460d2e5b8b8133fe380eb83caf28a86206f798723aade21708d1bf9738b6384380e578fc9dd9180aee31d8581f8845306ad57e1cb9d90d2816598fcb1818a926012489314c0cda8f99a6a8e43769eadc3f010ed2478dd4484316d245c52f3cf743b569d24e16ddf6a0d12071656fd2c7b1cdc7a60dc0006a458f23c42cd302c489c8187a6163e09f6ab988319c26ac98044bda4a6644f1628b5945acca531e45dd1dbf7908c2cc552579f888b76a4e4c9ffa401bebc252edfe41fa1f1b0f260880a1cb5c6816fa5358c2bbdd28eb03ad96b09ce2dc4974576c7234f31de4f70824ef718014a3f7381b747f1b6bc399f0e4ef5728bd4b16c91e7150a3dfd75f489e8cb592c9a983b084f2a4fffdca99275ccb5221709870d63e5306983d604da8eac77558604e3c5a5e0cf10103989167e3c80ce6f4a0bd4734fcf7e2117f170fe3889d5f045dc55f1de1816dbdbb3bf908a4ab45f40134b68ef2e1eed0950738019275ff06b9852b7fd92e17c71e5e190348f0f2a68d0be11bb8328e27f51f2545482b66c149c167f0e5be159aac55fd06a37a784121935ee0b259facce9fa7f603caeac51b008ed4b1c52e8baab9532829880f5d7404b71400a64c29995eb0638d007a3b0ab80df4e6474966df1cd7f48486aa68c3103a64c3a3225c4c08c3149a2311c0b5acbe8578afd8532043e33fee2d54e70b857d01ec5338318fd57089c94cde8225112758745993e963114fccca5c849f8720b9fe66adcc2ac940e2d51782e33472981a84f231bd7478e01fddb9e9e7cde81d36c8cee00a09e02b057abb95b85a4c38c9158329b8784024415600f0c070d405481ea7249ec69a5263e534e71c62eeb885dd174bd7b095895538f1f6a5397269694b506da80d63608166c3ef88b1937b645a22135c1f53e4c6c1ab6a537f118227e84bc26615b808dd87b6a0c037e629634289d3f731f41e45747ee3c379ffad797d8cb13e1a3fc266e42b802dc95b6ff40cc1b99b07b69fd7f483ed28b7f8dbec1790262c8883c1e24a42dd1eaa8a58a1236dfc27f49d6bd15b61537b5cf22a1cf42b99586147085074811047d198031a5e84c665901b4c72fa8218f273d2b035b132e6f77ac809916ad3afa3302c18d64748bfd7fe6d347f3023cdc2d452577b7e4dcff545884bde8c61410d72531bf426c9d4b2b398278d3da383644a53c1222161873e64687af8f10a319836927829b99cd11b8f382a09766d1721310d834bbe026066cf5ffcabb68b06633aca4ed207ded71849144bf040f4a13539b1781da1c2995030f2726feba85ce5d416663510c9ec7e77ed8048f4fc8d5c6cfeb8801d925b66ac117ca49d25d7f897be546843c002d85d9aee1303d432d6e92291e5dba088d04336d51bb8163469ae86ee46ad848d4f59b67b317c32621f8f59a14eddd3ca5bfe55076ed47c46688c3533a6cc7eb14ab9c17a9bb4c0713ce2b5799e5587a9a9142e1325066023e505d3fb0bfd73e2d3fea4cec292d8cfa3ff555fce6c31ebd29357fda0768ac42ad4cbfdbc6f3a1591e2763c3eea936538f384abee6c0538950e86f86747ca7b104d1d28fe233d5112c7b8af86c8e59483df61db394a9f849486863aea1488d67d566187e95d0b61864040e9dff1bc2f3820e975185fa6b4d5fbe1297ba9fd7ddbed9aadbaa8e58054842b4118c144b0792412f42081f38a6039985e4dafbac1fd08a2c473d8d411935fe7d95e92377a710c6a8b4bbfdab86f31a15de803a6a13e6c686f51cbad7386a3025a082761cd0b76cbc6279b2a6c4047d2ce7e773895ac534793ae0630e2c93032c0e449937a33befcb46dd66c2f078448cc481d5fe985bdf797b263f5a7ada57b9c62927c73ab55b07d89c1c54665d0dd3d514b847ef9aa0250cd2392d97c7623f673e15ca2b512865a777fb4a6d427cdc056648b92e6562a788b0a09418de4d578c0922720c4a69352af19578a1d2fdb31849bcdcd64a74ea3f7bdb7825f54760178ef79b24e60214c7a543a61862ec4a30f1708aa2cf4be52d3142ae02fd3ab5716c67e93e0075bcc3a51c602dec6a1e9d291869f737a3fb74db43f254f20f3a51be146281e10068ddb4ebdca216e5772c6bab4a68ce97f9e654df3f6333b0f7f1f2c754217df29ebce8b63c6ccdb9e8a0036165374f4a78fe3613d683d58de2354124fec0aa92cfb63cffa35ac59597b7ff43dfb2bdc842444c770073ad0e34d843194c99ad0b53085c244d0b407572c59cb0b119ea4560bd53206e3f2450464f22445f594db6c3c03a3da52b877d8f69f247b154241d5789a4ef637e30b2fb924c8453a96ef1a617546ae37d755628f42f6b9087956ee669d4743809831ba2fdfe8ca5111667b0f0c76ab0e09ffa22acdfcd28e8c2495445874b2e8d58b65757a114ece3e678e47fa8e1b734f369616d6f1443d6005e48e55b00ad5173d3c7a17e3cb7221bf00cb95f037db0226a40519a0ac9295c4c96e87d0f90ab55967f305b8d9cc454409889195d000836c18bce3203c4784ac477686e2cd6d97929d23f308c504995a6ad9ca0ab95ceda684f586ea223273753dd34ef93ca925c04c67d41b34fd0925cc5645320ffeb48b9cecbb4cd4f5c2410f1024c6df70285811a69dba8db77187d1feae648d77ca5dd9aafbcca13b3c2f899ad2f6930b1966f7d3b2a4433b0ed274d34b698d028c008a7dab143c57454508e716ea07525d274f554fc8a5bca52007aed838afa4bd4ffdebfe3851007555826d044b49a552210d0e57f4f0b78f92d4ef2bc3862931495189e70d4f0720fb98fbbacfda93a088a22b6be30ba0f97f84e4c46b991bc9d706a1474e95460aa551750aca3240335e37d57ddc31b163d04fe11fbcb90e317626edaf548ff5ad20f8c0d695d21695b6c5d0d2c710c8a6893fca3601421608c887185905a1d7b62725b2a3b7142b57867cee0b82e0320c611790a85278677fb1c6c652e84f4d14f749c001035ee3e1f313001e2a8ca5f020b2856738ba99fe8952518b4dd376719385eab5d7aca696d3a0b6efcf8d479bcd595c3eb53754db8ec062f5510061a093f7ddb5ee3594e0cce588578136913b282981e94fdb0494220b09f604ac780e3427829b9f322140b0f8b137b2d4581d4aa8d788849e04e33d87fadb001cf978aa1fe9730e47ac5bf73c3c9574008c9885ee8190494cd558a97b482e2b0420f82efa1937a27c86432a04337e800fbea4e55f79713446c4d01deab9e0a3a6b31afcd7ad88df4e93c8e533d9d81456f54318d87dc4b71f77ed0c77c5b8313592825bbf55e650247b421dff106d8acbb95e866ef27bd04f8b22fa801a2fb0c5fcb2ae6cfcc7b296ea0a75338f4ce6b6c7ce85ebadb3d1ff4eee39d4c73267ca96fdebb297bf642acb1b6c4947eabd7a7ddd08abe938c4b537a264442f8aab37ba10a22e505ffaf052e1c9f947cf1035c2f5f8c196c6cc6a66192860a94eb9e670fea5c994d64bbf2a155fcde90131b575ecd1fa46dcef5a6f9d0d47326d6b1bd2680bce65b6436c721c5dd334b69b38125a48fbe1901f54281a02008fa9ad50d30e764ff2efc8a0e079414ee0166da507e5dee21aa241ac480bb0e8faf7403cc148b5abb3b8c7d9aa77f6e9250b5cb4028b714e5bc6a92ba91c1ff336312e71650e4807f2c1b2257a45ad71a31a937d53c2f2f9d1ed7470921fe8a72993c1d53fb1159792f7d5902d9943a45fa582c15da1b145cb0867e65dbedf6e829e818462baff57ee2b2ec5b1654b9f49c25ef002fdb9ea7a9d54e805306bc0f1ef09419eadedd95009d0ec9b90a4a7a74a76251f6ab04a8d78369da3f614a5511d97d154d746b413cdc6ba87d1aef9a723108077ddb23c9189e5e1640f0edd9998a72ad0251c4b2c1841bc81b829377c5410a7a8da6e635a50db0ac2532d16e98e1ff46539e3939533c74e34cf97bd21964a4bafbd77b19b4af77a9e5f073e890436af1fd9eb63a291d4da7318217c8cd5fe8af4e2f8a675d3939a52e973721a27a23d69701f5da1e5582c664241c74ec6727c611f0182c6906f66ee2cc4e3b9fab09d0985f6a7e5c47694a5fd087cbbb377b5cfca642fefef8aa8082a51070dd9ebcd2b1f2a33593bdffffd3af94413b07d76d7709e5f544c1e01241dedb6a28ccbd4b584101bd1dbd8e2de60516e9c0b91c378b61e4624601aafd57de9e5a9981a02e633a4b6f8689aa40cc323e153d73fb214baef5862a5f467e5381cf2ed8628eac7c561942f91dcd3c465f1e403cb15d5e78a64fe94b25e1b2db1e18603475d431ebeb3b6c7e899d17df70bec624e7a3f560b4281b50a490689fa14d3d5c8d7b4bb147178c9722f81e6d50a99df2f4744ad753beda56a6da55c0bfc7b0fa8558c252465300d7297f42b20c75908f1518cb87fd5e1b21031a8f58c1f65f1b6470fe2e3c4ac42a6719f00b9ebdcac46274ea112c13e8eafbf6e3c44cde600e6a470441d4f48bc3f55c40acdf4d503c6febe2645a2594cf8af0b07389d71bbebae38f8789d4414779cb73a946ace9459bc99782909934d1f67a84f09fd7c82ce69c49289d64f7629c6a2c4fb82214965c95c14373df4bcee7cf94cc00b3e2523d962a6f44c328dee020bb14ad4ecb67abc487d2d7badf608fca3e04316f8807c9d726c1c97a3c384bd45de7b7f9d62716f04c4422a354eef6db754f5c3a03683d8c71dbaf7fe4572c46e7235d5b34ae50bb08f7d90f38fa886fcf726295bc19f8be3a12d8ef1499623cafd9fce7b28b86b7a8beac3b110facc80f2838b7ba3c553d8ccfa638dee66deba5c09259831398c6428ee00de04ff884c4d91754dd9f84dbc7cdb79a4ecf6725161b83ce2cd7f13d159b0cf409b7da87119343168e6e2354401a9f1f56290f90ac8672fc939d56b6f4d5483c33d95d20527f1b809f971ca9c7696bdc27834075beb50f50968629af3c553571bdddf4acb85198323dfba9ddca9ca8be153e807de6ce4ecf93cd936546a95ecad191e94208676f6fa7bba4655680fd9addefee7e670ce9d8f064f6226f3672be357159e4ca468e19789c32fb6f3a05a62bc8518e0ec07ceb983922572c81f83dcec2b393644adae7d67907396fcfa460cd8daceb5e1af7495db3b1896a91ae82e75ea69e9b1b447ba05535863fc6444e9c0b0144ad5bcd641e100998b46268ffa8ac000ce1cdb715f3d82139817ee0199d2bf66cd508d2f5d39047ee5451e1366c7352d276aa4dd38d512c7ddb0ee2c7f3b0e07691addf87e830dc4a16f0a722826c92e98a41f5bb05073da31aec176021e361b2ebe63f6868d66a7092c71412553032e6dc0f98d27a2a64604bb4ee0f1c685fc81d06706ce68789bb2975cd83519d3e461f2ed49adda0e5c658ea683fe9bb75dbcf676faead194248e205f3a160711a8f06c29f78e8eac06546ace1bfca1a3d62959d957300e236b52305c2b7f4392f260909edf9bc62eb92ac8f4de774e8e40c011726d0e2231ddf15a4c0f818713f72d5dba5cd02840fb457d17c29cfd4b4f970e38bfb59cb8959e4800c38d5a78cbdee4d9e4517624ebacc1e859276fe9e328b2d3da21d253714a60f2f85d809af75c76f0a2133f745f02eb76dd8f6efa144ac53f2b974c4be748131f38e1113556e18ed5bdb058289dbf76e57da0c8bc8522ea01500b252bb986e0a28798d6520dcd5c6967d45c14c4b16ff754f45ab1af4411b1b22edd97a186f21a9a137ea294f072d2f3e442cfa5de19e5264778528fb40eda9def9b403daa5ed5ef3b6c3211f2a3b6b4a559dcea4e7c6c46a46b7f801b5cddd3925ec73d3ea928bb27b83d259ea59b190c3d851fb66cc44af806eb110fd0b32e9bda8e7ede9af7e2416dd9841de05a31eda9843b876b1bba270d4ce281d286cd71e675df3899d7e92dd6a626cec17022eb6e2c6d4ada03cede9cd844df747b74b181377d0aae82ec209182d7d2ba64cfb759a766f5e15d558eca7e5268ceb16e0d6bc89ea0b9565968828fc41df6ab840d807ca0ac825cb3d74a6cddb275a1cb5704788c44ee3e938a87c198d216312b53f15e6c4a4cd33536ece578bcb6da2d923edb3e2669dd8303dc3c21293dbcddc327d34dcc9b23d26142e168b88da8db3ec79640c70b225821e8241b4833985ba1a2efe311114667f947c7ed54e8a6290ed23c349d9afa54098f19b423ade6dabbe90793300cdd1627eb900bbbdcefdd2b0e9f89e0e5bae251093a388b6365aa94b3e02baf0aedc28d82c00fbb9d8c2aa7b0eee6d327d37ba9a1f306dbcb6182b1f8730d02e04f8b31f38bf01d31da4e3031e68c25119458d07b765d10c1a5887131744bfb7a22004e192963daa80698d1a199fc7779d1515108e0e1d6ff9d56c8787aef0a730efafcec4e37f61692173bba580eba1097207e1b888d45605b17d512187e1801744a73d1a119418f16b99caf1a3b3931f523627268b4bf4ff8713cf2db439dbb837a8e3724273efbe4fcbdcfdd937cd29e4d27260fe8947f0311a73d3622797808449ce09954f6a3a4fbee56c210cd1ef7f814ca4f15f3dac72490c6c459a16dda2180ec69683b697cfc8e585675a2ebddcad29271bcf7517b94e6b507ebefca976368345898e94e3d5f01be7e5edc102a0cb5fda0efee7b6abc305d783d635d355e8325c2700ef85d933992f739d76fe3891ca0ce7500a67b6405fb30d6572c3e3c80db5e38075509019d545077064768be509ca007cc7b74fc7d8a24c606f03d624cd27cf2314e1858e0689b0cc4aed69574c40de9bfec75ff19af693986ac35aeed3dda912d7e7fd3e121d9f61183156113e4694a5bf1f604480a303d47ef87a8f9a2f408a6c4466c811d48052075234794527cc03e000f79e3bb0f6ebadbf4841925d26cd1a5a8286b9d1a1eda572eb4ab549e3d646f81a27bb661cbc8411978be0e1450dc6af488d697a5930f82f20cc9ec37c30afadf329c79cf87c98e33b8da84e293ac640cdb97bf014bfddf8fe6d7f5c9ce35d1edb5c80d2a63e19c6af2f2871ea1576ae28197e2eb2752ac8f177b0aa2bd33d48001f8eb0b6ca88398f8d0830d232741aa90e031828786a55a53f831b9e00634459266713519f3963d3657f874a8390fd6fa3a8b080ec3f540c06156736f3e611cfb28f4581f0221e8465e329f877b7c09ea33c104ff54322a5e31b9cc8cb038cd4c31bf618de5cc472b993543a2c3c7028dd19a70281bd53bf44ccebfb7852a710125410817e55a9c2275c9f9c16eef3a0c72e49feebf307ef9008ea9c105eda50aced75b636811422dae1b664e2391c480913bc1c89c76913b875a4901330d884669b434bfa236233c40f2da81b81a6e68f2299694474e80dbcf9633ec2e283c6b14998489052024ee400948b079686d289ef97220b44268fffc88c8c322a83c934a5ba2c568b8ed5488602de5b93087ee69cf70316e90922b7e5dcf11b0e94cb846cbe294d260e0a6c30828cf886fda7a1e8fe020f6a48abf40543aa3690c374d54154222d0be1e073dd2a15c25ef30b4e1ee67e1e03dc3db09560652031e9d9df09c3a26cc48439308f3ffe81b302c3bae6da8441ee255f53b237a4399a6d2a9bae9a00bd085d84cc57d65d8e76fd4a8275f3b3ad9a6334ea7c7df0a3f6fdc29ba0c53e0ce2467407619ce3459b29387c614b036f84371f8dbfd513f4d09b7199ff41854d68a517fbfa2dd867ce4ecd336fdf2a81d6963b0ea5251890038e119795504ef1599f6a467b1f694a9908a10aa5df7dcec2d95e65d6006fe728f382af514a27ba3f015b4e830cefd632fd50ea293e8e1389cd52605116ff560a9aac5950062458ad2978992592c341489ea3b441775174da8a7daa831fb18a3b312f92b0c2815f70890382a6869ef30a614534a9c470b6c69b1b9d81e6b509c802cf1e17f2c928f0709c69e9d64854a61377992f192a364c678913b1ae90ec532ac38c9c19b456860c8e17327ea17c31b150d184387c43078b4be897db39137db61abc748f2c2c64677862f924e292d4ac5ecd0342b5e127b3e032374180d85f90748bec586501e282327b4af2da746ee9a2d1380f2f3f22873aedb2a2b06c7beb17f63653cc2577f823b7c71bd99ae5b06c919b519a028e436f7592610634d7ab8e392aa00541ea9ece70a693a818d070d5ae4a686e6c91b5dadccfdce03003a922ec12d53f2fac198cd896826197088bb37c9bfdd92e716079121d80559e21304a25c46d0862a82a3819924334b5f7549490093fd5daa0158228e90106ee69ca641bafc58ced5c2fdbdda88f0e580c9ca98721ffebf96de2b9354569e7e6fcc36109049c581a364cd4dd411ecf6855ecc37967220a155d9412f81e87755c544df6dfe96f47ab507f64d9d63fad6f9a1c23a21b1e8dd5a6c56379d6b9d17087979493387d4bfda8119b8df5ace1c9b3e44dc02faef78c39a78841d53fec68773d46ef009a40f76f52c4c30b7a3b78f08b0ff41f78a589666116b676d1f0c379908cae6b3a483da6a7f167a4d53e2aed2cf6d5c7d0239c0aaa46c0c4272fac4678024506aea7ec060d6be2d8778ec707b260b42477ff81d8b98b753931a8bc931d2839533a1bd79845c7ce90f856c0b32c2e7aff2831aa8f490478f827b35875f9438b2ebe1265687eadf0f6291b1eb199f2b0caaf86cd6ee79cfc94777aea73adaedd3ed4647169a72ac9e02eab9ddfd7698f4a76258ad200fe579b3c2a3163e8b48a3ad3f34c95b13d874ecc10c4b2e30983ae219111ef0194bdb9bf0dcb33650f714f6daedb4839215df71682a453123df5744b82a56982bdce0a23da7d618e54f9e792c2a250c854d169ad720689958c2bdbd0a885774a4cd7291790d9557b29a9d6c9035b9df8ad770f5eba4a0440f949acb759422d17219a853ba5fa12da5ed102ef405b5e851b6a8c0698ebf1e12dbc7108c3f1bce78485e5501114d901cd01f5cea8fb9e94328b61abaebb6a1b4d859face0e37b32a13e7c9406544a6b2b472ff76221e7a64bd123bdfd8a0038b42bdabef30bf244e01c380dfb80632c0c899fb0657318cc1bae2869ec113b21e3027f01f26c945969314ce5b2f8330fac8f64476edadb277591c459bb517f46c4ff6a965f25a0556a619ed5ff609b8ab3801d4968760a2a0ee32ea27bddef1f9d89c624f4309c7470692d842010ff4ae4dd4c2badc17b0782a03cddd04d79e11ae7944cd7201122bc119f6dbf7b69b149fc7089b30b3990075f560addfd9de8f2c5191091dd69d8b6ce904dc8c6445121b9e5a15deceb4c365ad8ec3013e575efa143d6006a95d5b9e84307c2262a003ef2e2c64c1468aca979e8fc262f921102e15eba037c20a0799fd411e09c8530b935807ddc5adce1de6c55d3e506a24fd21af6470a2d5d1d4601ca8f75f49367244119d4ac9e3f3b5f69f6adb332e4451b409b5fce86db1a318f96ea07fd52be05a9d11090e8494911f7268ec09407d825896d0b0204b35b78e2bc6e580b4c30e2d31c75e2792cce3c85592998870cdf865956b1bf58bc08e96451a6b845ee7e93b574b58f4f46f83d20f2fea084119d0b5834bb7ceffc7ffbca2469615cb0bbc867c28fa42172e0b567aa60f61f0b1b4f84b222234e3a344280d8ad65a95abcbba3b691bc82fcbaa54f1c1424ba31930ded520260c81f85a5cfe600134cbc411ac15535dc29c785479a87e6f24e35abcb4d5e701147eefde5064400f3eb7c74628534da48cfa6931d1f1512695d794163ac92e01e7eecff7ec712c6fd5dfbe50bbc6727e840cc996b363e7a7ab945c078e44351e5041a066868c50fef522f218f6b8a1f1d0e1ea2bc4b7ceb55b06ee109f4e9f524274f241d8e9951bf3e85eec8fdc5142b69e1f32c69dff319cf9ba76c8c507e3512d7bbc7da23ef9b0c0ec1bfc0da6c9f294e26e9a84e8a384207e80a63147531f66a15ec8b45c4bf3fe1382c6cefbc9c313e218ef8af8fa83162cc0e7858982c2e454b78f4086cd631abd35fa9e448d0f803c10a4714d0deabc713be3784f2f05a18e299855e2398ab38a4d2ff7ad15ecabe6d156ecd885497d2843f2ec8f8a57789fe883445003c43231157759cb40f1390fc232dae3d0ed2f27839145f5fb70ae475e0421f962af0eeae0a5ad886993d372d6d12a7d58bf7ccf52a41c5cf4ec77f8f04953a2e6264bf2cb674ff5473d493d85102e97407bc4975b84d7f3d8cc285c914f369f7bd7d53d7736eea1303511a6d86e5249c5d13a603edb196fc7a57cbcbd026c17f6a1b0e0a77d2acbd2cc6405e82b5185b0e89200307ae849dd32b3eb10f95e965dc29bafc9e271a77ace22488865aab884643235faab84d9f6ecf4c103c8dd1a100ba7362eb147324ebe8345241c6fa6015922d0aca4a054611e3a005b008088fa800f3a875ab2c5209d0460268ee8869e00a288404c9a10ea21ebda847fb0f3e0c30a3605e3e096f9029a59201bb35b197eecba00546f34826a7799e8f05bc8372d39efc789cdd7c5078423e12ec60dbb427d5305f476439daae88b57bee5688acc2f6207b594a71d392d6702eb183e1807264a413e12029c607b4deac9dfa53b30ada4a8c380eab07b6f1ecdd84e9c7d5539c48a8875ca799def811556b42e9a7c94cbe73846806c38e880a7e1edac12f629e0d20ffe2932f824473e72739971a98ffe4f6f852ce86d66046cc60de9a9492b293a3bf5adc5e1b36f44fab2f64d03c1fe8eaec7e0b25bc448345e4b8194aa58082d9a66a23b305f4264d03147e036a80da845b300ac34a077db80c06f98fb23a2c90579a406b82aaf905ed3a19a8b05f15f049515e95a1b005f7cb14a79cda777c3c957175f3871fb3e1fe6679b407f3de00ebd2b21eb052896cdf6ba069b1fe924688dc64ef4db6dc524a99a40c2408ee07260893f35a8ee32ce1380e735c51f7b592bad6c9ddcb71dc75cb71b5d63ae79c93e3388eb34eb98f43536badd512e15aabcfa0896badb562309afeacb54ece4c2e6badb54ecba1f16aadb5568c31c653d7cae1c0a5b9b8bbf7d67a477bef9db7c4f5efbd955ebfb75e8d3b6b6750fecc75945a7bbbf7762f499dd2db6d79b735c5b559dc3037055b21b65efbf48fb095118fcbf9b69c5580f3a04806f003cc20ff0906043be4b34dab0bc867330f8bdd4f22cf08c018fccc61e7d270d9de25fab5a76d072b48b4ded3b60305d4ec50c3133bb880f10e4e1b638c31c638471555c554da6c8c31c618e31fc2e4f8e1869ba0b2664625cb87c6c3cfac68adcdfab5ce3ed00431864d1b16a0180104359202e270848b1681a2ab6a5d5c525be8a81cb87c3a00014e61d3dd10edb267dffcd4b26f6eec9b9b2943f6cd142ef915dbaf9efdfad9a5cf7e5db05f2f0a20d92f0a5ced974d0716929831b1cb6f87b11dbe0d3f3fb1c31c7cb04d194913b5616cb0099b140fb9763f9fc0d1e5cc7112ecb26773126c8e93a2c4e6709892b203f75738f970851428b7a6258ca3dc76d288b9b2a487a24cc92116d1664bb36fc5284f64446eec060bccb8c1ccbef7dedb43075cf7de7baf0d6832b59a02a58587806ac08006a06cf042b3d65a6b2b50b3d65a7ba39eecfbf74661d9b70626f7ef8ca98727d0b4511285105ad4d41feebdf7ced8650cca17fbba0a318de725e79c6fc04c40efe0049b818a25e10e57af19b67872692313b8c57024ca06199aae50d992acd1c012aa4c4319269c0e561d0d5c20c13c5865282928b953a238284d56b0546af56766283434e1a1098a0f4928100565082353aea01041d5b47304be185fdc44c7f634e203533368704f233e70058d86195184d64f5c2bfa4373d16c31ee690417327821b2c64badf3c81ff4a21320c23ca2e2ce8b2c817656995ad1a9e43e12602ee1bc4799e64f7d23bbbe1211eae7acb5287ed12ec9b26897f3a6a3851e6106d5227a5310c70e9c172f706bf86e38a0a7cd969cd18c627fd30a2de82d7ff98ddfbc5ab3193727b5aa2d4b967a3bd9d16e5ce630497af19f7aa99593d59a01b3c610c5040e2945973162cc237f98bb6ef0e8a7b9dfbc3e68d5daf079ce54aaf5de04394ccaf2e79d3f93ef333ba6c15eba4faad501fdfcdcd8837e7e8f761d59d23f8132ed3c729c8fffb89daf547fe22cdef429e715e5be56afdc3b25c0c5ef74cf3db5e8a1092a5c7430e22a6b69ce1f77eebde819d38056976aa7144557928aab0da4d960eefb358ef40297bf95767da52af3cf1c292b691fa522e3af1fd8410fcb711ce7c3e2bf75c43b5f72f3d8a0df69b67a961208de9c138724e71a15ec953cb79cce6846dfe5d0057ed7b3774e5f1dfd07495aebbec5eed5b3774e73993747b3b46da95fbf3052e6f47b3987844bce6438847eaf5affeb8fa7483dfdaad567a5a54f85b5d2b13d6d4f7088427b4eb478a204afa0c13d6d4f247087d09f07b6d09d1a4c83eea4b05ee82ce606b1043784c67bda9c20f182e6f6b439b172527362430f9ea7bd956d57eba4140033687e04a45b4bfaa4eeeec3d55a6badd571adf6d66a54b344b656259a51753acea07adf49a7eed65aebeeeeb966cf97d6b60020679095a69816f86d42606d20be2d9ddfda1d37f1b62387f1db3996ddb6f8951cdbb1c46f470fd6b470bcb186b1e0e8c10c9a3f646738d4adb5b6563b726966161ee9f6bcafcca1a47f895fd76a4b72dbeffba6adf6ce5ca16c47deaf3df38d17cf765554518502e6d4626da7a653d3a9e9acd0f4b9efacf0be3de79c73dadab2f6adedacc5d65a6b6dadb5561cd45afbc367f339ae9c6beac518df6cedbc944e6a6d48464fefb0d0f427b516b4955a6bad7581d6f5cac0b5d77e2e8a752dd68dc3c2f69eb967ec1934b4daaf7886dafbc271a1e9572bc4be60ddb5e19831f68ea1e2da3163ec1d43c5b5d7da3b66ceec7b39d75e4b85bd6360958a710b2acb617b3197bb96f7d5c7807834e793dd3895d8733e07f67c00b8d3677afbefcab83ed1893898c5fae667118e022829c2cd92237454d0a601d4a51b328899d1973cfae991de0fd401ea56a8bd5a5555972a1d76db79d43aa2b4fb80a65f47fb8275b5aaaa25aa429d7f04a14d2078913bb5be9c48ecf902f0247ae3e144ae9fbfc38379d4713fa93cbffe2961183e0d490b56f95aa47798a3badda8f2d314ee093f4dd91186030ff6c1401cdcc3c00d3e9c1ceec790971520e5d96ddee8ad0a15f22fb90c468bf139df032fa2555c7e72274c6f5532496f1c59522fbb8a5106a568b1184e0e7e913a14ce77e7ecfebc5ecebc10b0395f0e88e37ece3cb2477646dbb3c89de88d0a8daf45710a4d6b23bde274a3485488270be05bd50cf2f774f6d49e1ee7d20b06b374065dbab4f39a95b452d315ba5cfe379aed932e4ac4d89a90d0a1ca905c694636274fbb9cb5b96586f17263dc3bb46f1205bb9c5be614f3c2917ddfdefbc2d5be3048d9f7c2b065863d6d5058ecfb4a5df67d0eeeef70a2698b018b7d6d326cd977dad185db9e76cd6b2d526da46d2e5c89395096a0edb2a7c992a226562ecc50811cec101328b67d0de2b03430e112dae083c104805082c9918ddf7503fd9610d9182f8162e307411c38278a199e8dff0371e01c1cf4fbe02729fae9071c589cb282d39271a5a40b255d0e3ab8f28c24bc6841876d9fd35386e479646b4106166adbfed5d65a0a44015a6badb54d904e0ce92e1bbf886d49b8d85888da18c90d463e507931644dc10a6c8e8031c93967ad45272716729e44e93821c1b1b9c9534ed4e6382eb6398ee3c42a9c2cbadbd3e65484d3150c06a898d3142ebc9c40dd3871b144c7441760485a089bd45e47627072bd50a56b309203ea36e5420e2759589238e52346b0d0fabb454e500074d31f5d64993ff0eb7f638fee5d63a979e87f9162fd6971bafeb45c639943d0afd97df85ed849b1e9cf074378bdfe6f0cc932c87efa7d6309bed5759ce1d70f85ef2d18c20b48d56f411dbebb16f8fa5a3fc10f987647b797a335eaa0ffbd1e5fdf1882fe17cdd1fd7def67fd2983ecef35e99140eaee7e76e57c2075678bc2aeb1e9bb1cdf606d3d80d9744e4aed07f4fdebe307025e6b3f90e9a07f2f4902479eb000a68d4913ee03b9fb9226dc3fe1b52f69027d20e0a64fdf924e9ea0a646114ea7738767ad5192d2084034282718cbe13b039a378ff68e25f0c8df65d25a25b751b3d1eda2693eb3d6d6aac69bd82ec93967f1adcf2afde93485fccba04ddd6f20809bfe244b1f1e1d730b9a3ec7449d7cc6b4a9937d2323a34a5a8c690977d24927bdf7de7baf977ddf6ed9b7762b9dd72f76f94856a1ef9390b381c874e0793d328d9672ca4bdd8ed62bf9901301f98c8290676e95d1a5fdf908984753ca7b6f4e6f6c8d44689ba58e9cfec3790b09fd9da73151889eb60a5c41cd26d37dca937dd1f4e7e7cdbca75f7bddfdef48420ceaa44ad5d494efc993cf94bc885318848df691f512410a188f309983491bbaf189e1bc927bddd7b153f26e2c67985d6bf5460f7b9e57478fd41d29dec7b98f4363f6ab73a439f3823923f5b80f83974ee7896de171f7562bbcd1015d3a2e30fcc02068ffa295464a4643bbbec872f621f925b51ce7a6f431b75ca9aaf2c5880103861010f42441e03f465453a6c0a42a9ad110ad29294ad413170ca39b1559cc2218b7db2d0a0e94994510dcbc09022b5869a4e8910d29d5a29edaacd56a94ea76ebc208aac9d30c87b0cc68b25aceda5012ea448b4c0d010d829e1e0bc8768064fe8345a34d6c82c0c6f902baf2b31d17596b40593e3298f338e3cd6e39ddb307ccd19af5d05a18fe143599cb7bd98b821bd0a890fdbce9953f812e3207081aecedd376449f1dd8085e85332944b8b21d9f5d5f4ba14bda44954c2226b348467eddd7b93aee5bef7af003d873afa7d054024426519d3323b36887e4e64f1745914c60dae02c0abd4e8355bcc48eab226949b1bec6b26797b35686ae26ea645b980f1f31370c0fd9cedf64b2db6d67e776bbb9cae892de6e5869b2a4107b946a9158ab51a82b2f1cf4b8a0103d32d6b3a59694e3b3235e91f32813573bcf79370fb6fefbd98cf35e2e9848af7ee6338389aed104a6ed7ada147a2fd28341852cbdd2347ff2a79a3f8546e8150c184ab588e7633cfe7343af8c728668224f4c14797860b8d6c080a1f3960a753aa4f59faeccf4a9fc7cc480663e3a1c528bacff7c65fe1e9187bab7c1b7bb0a22d860fed897ddcc229e57aab5f228590a62cca3d6067f4ea43c85be9fe157f0036ae5e9c0ea87d36a9d57a2423ec85ddfea89ae5fd22dd4aace597d9d919b3fd5be52f52a09236b26306deea9508da458e7e7532dd221e995ddf4e63aa34bda547e456e4f91a6fdaf7ba53a967a671aa63823ddb191ee9b166ca4fb35d2ade9a6fb9b3ce42ed2791df96b374e2ae43d379641846cef45fd6505bb8b6077139841f64bd7ee5e36ed771f4ea2f0bbbf991f45f2272ad4bdedc82e8aee48d16756e9a5c9526f7fa248f46a02dfdb2f7dd77f8af4658c5dc359b4f3f5eb2482755f9f67e4e64ff7b0b1ce59f73bdd8b63f7afb17b3dee8e2c410174240995fc7c66c91d8e73ce4a6fd7d709777d259d7d4591f214aa6f29005bbb92a50fa3aff40da4ee6fb454488b374e91f480dfbbdde79b73ce7f79f86c4ecd04d28a4070e4e13f98524a87401cb7b6e674fd7cd9fdf063af47997d3df8d6923cf4e39042c0d72f24e61a650308c38fc978b81e848db2fb3817f63c6e1ef6f761b0c7615a82e17cce13602e15c99f430a1192f339240ec9b474f34c4b3f97403c9762e4254bfaf5669c4b4b7a9c4be1c8b4e41a9996beb114c7b2f515049fe1afe30e9fe1ef62d0dd150f9fed804d29d522f0490dfc073fc6f891d0f72dfd725ef9538b89f37ce6e6d387cfeafd892f15551527a2533eab348acf9c46fd188146d96b39ecd5ae94b4ca72f8d2243d3029ba2a67abccc18d56cda05aab4c47ce3d643bbc6fb57e6e4b8a5cea97ab5192cf2a0cbbd69dfd0a527f6a905a4485983ff5b3ecfaf561c024adaa6aaafdbac367f53de0808827239f556b73767d8a45b5f0a2ee66e3e169d79f602a4db32bbeb6a43909a9553586fa1ea30b5dd2aafab446ab45f99de852ae4268cd6dd4cf5f009d4914baf7ff8e4c2183a5ee953c6bb751eb8efc7794ea4808a4c024f500212aa0f080fc192c312de51c520fc82fd5911040c13f024b13dc91492174c96badf2afdea47f700f1ce98481d9346192ae013f4d412918ef23041d8cff1fb588e7adfd179aa71b9e51480a74e9c7a4619fe77d144297fc3d6bb36a61ae667d551dd1ea90397cebd83439501e3545e7d60130dbbedbd7116f555850d4add87636b1ed532d9cc863d83029baa46bf6b4b241ed92aea945146a4747e411a34b5a63b3460a3d778d5acf5ac7da1f3368497ca2f362adb55671a4503ae34e0fdabfa4506b62b231c64f700031defb9e912ec5a05baae7638cb2f76acf389768cfff98473547bc1c7e0ef0e7fcac38f833fefbfa9cb18c81339662a9ef6855028d8d25d81bfc2fd868c739b36f8f586be99a19643fcb3e8c91ae19bdc99d3c893ff58c0e557f2c38b5ed7f53b67d8f0a822b5a883f15bc8600fe284080e755a04b3c244f94feed4ea4ffc001c4679693715c77b77dcae6db767a5118e545c07813db24010fc8b04b9fe21db6d40327aa416cfb206c2e678faeb1b6a46b48a0407e7c370642fe168c4e85fc6b8c960af9d3183315f2a78d1f15f2171a3515f29f31c6a8907f10d0d84385fc2b189f0af9cb187da890ffcf38a342feb311880af95330d2a890ff04e31015f2976034a242fe3e6312157232f6692774bd98cb5dcbfb4057a8612f57042310bbfdc971fc31c6086384602c8176fd9e51369649e5ce584e2b9db19c6270c672a6d9f563e34d2db26b9227bb46a957ea8b340e4408f2649774ab234ba35a188eac4e9724eba64056ae2f74ad5656c96f6b7b7dd0594b0282a7a8923ce94914a321a327a821da5091241888b6eb5fa019501a2d663eb31b96cffbf00123a6e76231a6f757ed1d410c02e4478c261af9880501a27d7cc4807ee8209f08c43e90af14b2ebc80342e94985aa52fd9cc78897b405c4f2f11913535360aea4c0021a2b36505cc8244b130b3835f14514452c618a8241022a2c01860a0b43b8b05961670d152d5b88b9e28208116c88704d5ca9fa62033250b192650b1b8e89175f4031c403618a64a1a503dc04b51826f0c3112d983982812a38071ca1b2c50629a8cc604416ac1c5dbc60c5150e0481a58b5a144faa54b95971c104061a2e20064cd202110f64654dc93284066cd0b244068e703a327585e58a861543c0d080258a2860b862bb4c1270210b0d441569228b252cb0654a30a688174d14f9f20488256b65db21b6b5d672950bf3a4862d4eb4a97db1b27485d8974b1755fb2ed9a57b6d7d1f1b103b6cd79e3620a26e9ad830a0810b18a10418772243cf90f11cc878143263c83c917122645c8a0c55824c0be645f9cca9fcdde2dcfa5c5afc6ab52b535e44a9a8a89e78118da25176117d822aa24d418a44985aecf922784cc770b89fef3303d2f1c49f9fa4a4c1ce873c3f9f07084e04fbf908702229a75f92fd7c570a354a690671d02394507145444525612d478c2e112f340dd9ab2159b49a05c90dc85d4968d7927955fa986d29a75feaf91b307ea3e7eae6fd7b2888e3e6a63fd828257bee267bf9101d1ba5789ebbf1785eb884ee91dad901cb681f29f1b91b087a5368209de76e3a1ea587a4729ebb5130e1f74d8e72a1938ca4701ee7522cad814bc59ebb5130f44a89f600b4a2b7570ddef4c2e9d75a213dde92736272de91ee40853835a5814cad3458262cf539c5eb1fbd10b093e8ab5fad1cf5f99bf3b4d5e79cb4732be53953d3aecf74813de79c73bee7eeee3eb7ec7e094abb3ed30c9ab24b7670a356180f63fbc3c8c0bab67f09dab5fd5d31de9bb3cd9e631981214d7be2983e9ae01b0855aa55567fee1ea3ac921ddcd8fe25ccda9ea44cc78ded7f633b69db6ccf7eeeeef3bab21519fe8b87b4be4991e8a7abc8fb5bae63c4d8992421c6ce600ebd49a059397e9350dd856fd86a8d5dab03c10f6e067b821ddc2f7d831b64b0334942063bbfa7a9f56a5d26f83e016f4c7670c92674196baddde278ce39dd9dbabb7b1350f388fbd7563a27a694b3d65e7c2fbe76ce393d8a1fbcec44d7fe84c0f6b0babbac08f1c63937d3a59402944e77d71dc2d56f368f605f1ac1467a733147e9053ba8dbcb64999f004c4ea88664f102172a4b8c599af3c7fb3c8e1c9823bffe9bd8e8e3db2129facc49edc5f3aa17e41be79c79ef42ba4c8e316c670c89fe7b06e3b9ed58e6ef6a9b9ddbec8e7cee8370736307386f10d22a84b7c1ec7c0601e1b44ba035bb9c61edd227cc2edf6a973d55bb14a7761983da3f3801cd7cbe47fc6c37b3115688a1e95005ab4a59b381b8e70caa609cd22a56550a0e4aa95709e33754266a79e34005356fb0f3ce3befef7baf85a00bfa7656eaee4fdecd169aea2d422b34fd898207349dcd5985577adb2749ce1c947ca28297b30fa0edee64a62f7830366195adcad49e362a2d76996d544d3c09b40d773de71193d9674f7f04e25585261528321ba0ed97d9e68316b9d66ca7cf1dc1c3f86d950924caa68f9b6cfa98823a70b5d5feacf6038cdfd6ea77a418d4e11bcfe7eafd1032c93de631eb4ffdb9dbd612e88e803359af5478cf8123c9f1d8215fc95d23f8df386f42204b14be11f68df3bf1b726707c643d272843db737e90b398f63f301ccf63e478a9dad00703ee7f1f841c8bd864277dd6b28b4f53cb2643aa1eefce028d3e13d7d8fe4e9c812e74fa8bb87ce77efb9c2708260c89900fece0752d787aef05da506c108e8f0fedba11fee3c8dc0fe91a307f841f60c7f7e3882bbc7f7a0094cfbfb9ebe6473f7d03ff7a4fba3740679dfe81afdc6f10d5972effaf9255796f0a36903a9db04a6ed7111d8307124816e8e3381697be47c188cbe4c87c7913dbe07838441b6f7de8763cd1e86e12bd550843db58bf4c6499bb60edf05234ba60dcb1cec46acda4ba021f03c083e478290fdfa09ea7891f73912ea7e91f727f87a25d7638f177902dddc73b0d732d873efc93cb2041de1bb1e46ea004ba6a6cd9127d4cd913ab4d3e6c81ef4a7cebf46da0486b469cf1e389ff33a381d789ff30eeac0f99c1076c29f6007389f33e62cd381e3c3969ddfe543118ffb28f801cea6640fcef342d9e84d9007cfef3cf714fc00f4c6f0c9f0391e3b1f841e38d232c89edcfc1d2d367dd77bf6c319bdc7214bba71de0b81e767fd0179c691a7821fe477bd97c77730041ed295412d46d39fdc97ef79371c4841f27b6fe4b8f079bcb07acf33617f03967483e02b390ef05da38cfb9053728ee4c103be178e5c38ba5c65f8252c84c960240f9edff9f9381fbef7ae51e6e246d9eb71c6d8cbc61d6f8c3dcee8c53c8f6e0f04dff5b05106ce8fc9c2d70fbe77337e1f1b6f5e36eec4c6efe62b81962f9287ec65e1f3fcce9721c983c7f59e1ec3978d3bef1ae9de796e0c5f8fdccb469e9f200f9e902c99a68b821dd0d81408dd9c7e4253ac37a0b957aa74e3916e6f8ab9ec8997837e17e6a04f79e4e89ebe07b785bb6797a72b0c8531c644ac16754c6b2d608c6c8cf1b5565ce20c0634e6c66c6302c9dc989c1baa69e62e61749dfa3ceddb7b895c3b80249c409183156686c0b274eb987d7bd8f706710467200319d0e2011aa7428d89166a54582adddad36646c9adc2cc11ac2e9d129e9921bb9c62388bd5c52eb5946bb38ad87b35f0c5cc9815eebdf75e7bef1727f6bd1ff3bff75e0d46852536f6dad3f6650a6e12b5972a1dd0dc9eb62e542cd005eacaa0ed9eb62e4d6c58a03c2145030e6580a8401616990d94f12286248adc9fbdcfbf0a463ea72526377ca00a23678ca871c2d9a00395db04ed48173519909255c4899a0a05064287a96ac408d7d1be6811a5411c6ea68b929c3458a219278ce05c91a563868c9258568e992c25375650e19869e304cbaac58cbc9e6ece40ada09d9e60da0616c233582f1e96b8d050e9da12d029fc92e45333e582c2c94b63059e990249eb0aabef4cd6922e2bcb1bc242ce22aad5c20a9c15571d14128c8553bee15e31c5a1a9c2c46a80260c4653c4926ab3066aac2e9a304aaad0945112068d079c34c0220b6baa86064c9ef60a9db558311aefd98508162534b767172240584aeb4244caeef6ec42e4c9112253112b5ea058d9e10c1921fc8c911c42235552eecfdee71f2b09224064408936523c51c5a8b081aecc152337e0fb57879b44928baf8d817bda92a88a42133105f4578573a01203e0c52a97a9da40349b551726ac7c6cb1a58c13589cceb0509fe0f281165ac86f039d376ce942430dd48a8b60cf2e337cb1c33dbbcc60c52ef54f61c46a51c7b4c64834addbd386850514343129892b9eb64071a98207a7aaeab2dc8031c6588a237f392317abb15a94b8e205cea89cb52df36a890d6c314b28415b62cb125764a8fedb0037449f59ca0dd1774f1b969abb05d614160b09ac2d34d0261a8388b193d5a28e696d4473a247441118638c7196148ee85220d302158ee103317899aa46ace8fe7d9220926f69ae116dfb8265c3f6b425b1440bce88c55958a95fd8d8be74e9f2b4c46eedd9e5a90a1868135b8ca9386149e28a4d965412d5092558e8947841099682055ea3c217e1975692fb17738008dc4585325e96249e48f2b5895d3e1253d89018b3f1f6e9e244081b0f5f385959e290b06dbca70d892d2a98b9f38a62cef7decb99d1b5d65aebbdb77e8f5bef95a534d75aabada1de5befad3490a9f7561ac8d8fa1509c75feb6763fe43277eaa2c589ccd550a568b3aa6356ee3746b6d2e408449d6d5caaab5a7cd6a082e38062b1bb2ac5cb84f1a674f9b5553116bc2646fb2bdf42729b0b2d670596197dee425bd695d136297d4ea895dd22b30148a8829bba45134ca7628a14d7b9517fef9d3401a1165f6f77d06717c5ede6b1151b5b312114776d73d067174b969d39c9dd8dc73f402fab76dcb0e4d11b0a9edba291348bb0f642d696c59b8c83c6a7499b51cb1ef7dabefbd396071d1acf3a7892c17ebd102450b0e5a886c2b5e7defbdf7d20b682027a218b062c76eb0f4d592f128522230d8189745869aa54a942b799165b3806142a3eacfcc436c59ca30993efbe2aafe14715504955deacf2ccc3ba9d03d7bda8a58b24bcdd98a50e1089db3a78d4b16172c1b17196c57aae0f282db3ccf11a81216bacc43e56453731021944bad56f35aada6a4a464a5ad2bd5ea4dad20bce99df774cf99b3d6a2489b47ddd39ab3d6a2f83fe5b3d9bf287a9830531e662accd46c7b75eabef4309d378e508b5eefff83fb72b45fc5346b91746f67d02373d4fd929af5c7dfbf927e7b7de9615ea3a8eb8fbfbe8e947d3fb7fd68de084e12d0f94b0f436f95de2abdd1e69153216610d43cf2de69ecee5b3f422dd2a4eebace69f3c877f7de489b411d29eb9e76648eba49a06d5a138b3683a895edcf79986e973476d62e696cdb1492a1edb482a01488376b91d46d03a97a7699da62d369e4d58f802c7fec083cf2a71359ff996bd0fed566097cc64985fea713599c634fda7fd4319fd5394eb73fef6f716e7de22bd1fe317afe6736dd66082a985130810c097e7c7c80a0687f1833a00a64fc4cb7f9eb827e5a9f4bc362463068ff9e21a320a00a644cb7f9d33c3f2dceadcfa561b11cb167fb276910a5fd654a1a08cd0802aa60bacd9f8ebdbfc5b9f5b9342c9623f2f470b0c367f54327da7fe727b88107346842338280a6dbfce998e8a3ce4f27b2e0fd2dceadcfa561b11c91a707c6fb6c7f1e0858a2fd45101060410d1a34a11941d36dfe744cecb1f1fe16e7d6e7d2b0588ec8d303e3491f1146c841fbe72860041b4316d4a041139a31dde64fc7c49e8f15cd080222aac0868ca11f0b663528a031014d02211f1f383f801411d918b2a0060d9ad0749b3f1d137bdee782f7b738b73e9786c572449e1e184ffa4c30930114a4c9ffe627b88190a60b8c8a886c0c595083066dbacd9f8e893def337bbdbfc5b9f5b9342c9623f2f4c078d26782990ca019b4a1224958d0fe30a724484717181511d918b2a0068de9367f3a26f6bccf0ce86240832694f4fe9f4bc36239224f0f8c277d2698c9009a41ab3164f404d582f6d74da03048423abac0a888c8c6900535a6dbfce998d8f33e33201af8f9e8caa0060dda0d210c66240521011d5570810ca39fa2d9fbcb009a41ab31446494f4248a14ed1f4645c9e0060649484717181511d918b260bacd9f8e893def3303a20df968b705356828d13210ba310383a02420a40a8e645cf063342ba28068021b120cf94c51dda0fdc129545b29831b1824211d5d605444646368bacd9f8e893def3303a20d19859f8f00787f4b9186de1f53240bde3f53a41aefdfa2484befff51241aefefa248fbfd3545a2bd3f8c2229bd7f8c2209bd7f0e45cae0fd458a34e3fd7928d28da0f78741913078ffa74840ef4f52a4a40ade7f028a8424e3fd6550a4a3f707a2483fef3f83225df0fe348a34337aff218a44c1fb1351a4a2f737a24813bcff1145227aff248a24c1fbdfa048367caef87f550058c2db7f8ffe4aa37f06b0ed7f2367fb63c0b3fd93606c7f2472fb1f4db0fd2f90b1fd8d666cff2222a2ed6fe368fb0f8d9306a1dea804ed994862ca0c950800000004001316000020100a084522812007e35054dd0314000a67ac446c603218c843490ec3280832c618630c310418620021c814d95800406ccc42d6c494ff261d44f420b88161e90ab5267328a65941bced38be96f1e896375cc619b4cd93eb4c90a923034f108e07f2ae138180b355968ca3434478c914d1d4ee9e4bcdf26f999ef5d594b8f33f2718b074d9f8344cd6605f8cf1aa330cdfebb68a225a667780882faf328e899c071ec866f073bb0a7913a2dfd71622db0e6472a0868f64a8cdb2b1767b5685b49cd0bf6a003621319ce74d896eb5ef3ca6e07c5a074df006bcbb47139411ae214623b96c8c127272e8f25f4f143abd2d5f70b1376f422c6dbad2c55c8347086130d3168872643c1805a68309bc7b59368e5b93091ad7270b6d919d50ce5964cf599688a6f060b485eeb83e2dfd7cfde86ef9e3e777628b943d4fe7d8bfc3a1fbc462b776db90daa2f973194f1134a85b5b069cd87b829741c8020434df34383a168914e7330b55171029f92ba38b87a1642734db094379c1ba82a6b95208b4c241801bbc86c28f81d295157914052ee9e9823dc81e7b93ca24908487da2efac57174e6545220907bc4dc3e54df915ca3489513b9674e9646d2c600f4e3c62bb6f7b7f092ef2759cacda269298b0107ca4adf5a8a0313a07b52cb15f9d3cc92de2cdcbb12199506090c13a203b41f78ecc691b979e66e213e901942f500218bc6b799daed3196ab103a0a0de96fb583284a94f1053ac94114f8b9f8a2144af0fbacec81d2a949e534051b766fee06b780e0257adb4b79b0b2aefbbe3ff34a0ac4815c42a5c8c58655f0af341adedaaf32b814ed53b54482dc2396bc698b570b7f0abe54aa0959f7ce2db50c1323f3d7e70ae9b8252a7c59fc4b2b2d46ee95b931d5e700eb55a4ac8dbd3b20fbeee4e28d48c0b07d65131a4e667b09804e9877c8391b5ad6634752d43cff5ed376bd7d9fc59c1c4345e0db0e21781f35b1b5234b82aa1a3002d3e153eb6123f624a8d58346f62e2c5a3968747a92b652870f3e5925abea81239c9d78e263dd2747e4e8c9d3aca8164c85eda2c1d1cb93bc6b83a33049eed2f051ca92d855c3233117465d1b3a7a5912d6b5c1919d17b66b8347224b62d7068fe85cf82e1a1ea13c895d7a7c7adbb03badb3b47cbc1294cf3a1378e08eaa4dcb3ec1f32eee04805d4364dfb6cd30288b0d5146034ff444dc02825526b41863cb006c361aae2ca06caad2fdb937148e8f27da97016c53fe0b3ed990bab90260cc7ac4240af8255b16d6f4b95e59af75b6992d87cc84a0ff72f6d0fe18688cac5e2d1a36ff43564f695abbf872a299c153054e5c8694ffcd87629c6c3d036f5de1e0821541ad96669c3841f2fedfd244d4792f21f2419aeb044527e021bd0e7d6a8250c54d8fdd2c8c8cbdab675ecd70692ef32c715c0d7ebcc799fa34b7a67213eab1786dbe41264da15c7c5e3be9f05dacf8b7c30d9c9daa40c29155ede0eae654922cfe75fec83d5c0aeba5dcc905fead8b3a338b3184a22621dc5e266f35ab347d67b1c7da31e1ec829a08a1e4f02e30326c327da6180fa56ec9bae46fc3a3e17df99fc78c263fbfc7aa102e385c52204aef82ec1f623e973437e58553dd86a3f9f5477b028fb3f7533452d3616420d6f1b3056582e0d6fbe386781c07267c80a3bba796344a511809278ad0d0e5d2aeff76960ed6d0f206df83c95019f4eed43ba645485d7bb5cb04947e795f7217661a961c3f982256444bc4cd6fa9bd4c8e687ceec8607e7c761c5e136085541b491ad4a9031888de868d7bec8ca7c9236c419d208beec49e4eb2e47240df2397c77d8d3a704b0131d9ff04bb2032a74874c763df2de01d1dbdb089dd2b4eeb81e11c85409e82413bbcd5789447bac8f857b5470383ba46d40f25df6cc6af22c6d52de223232e0c6e866ef2d8ef4f5f30e174d8edde071d0d706e7d169513cf8ddc6e0a8d19e469332f5443c15fa24d9059223d301ed9e78b270af1f50d8e54d064ac2d815a1d4c87cd437fae6e37cf4605a2229c83890d5f29d20acf039d0ca60d9e03b0aca43fc19b7c08f451742c356cda4b03d4c4b0ed90cdf177e47689e71c5d9621f047474c32a101c089614fa5cad26157f7c66c4a7d7726777b8a925965dd120a6cd8137ad094a2c09309b3811e9d56166c8a5b3ed921c64a4b9bb20f2d84519727143f0fb8f17eb8ac5b32560c25866993b14d322472cb6a7ecf64a8de8ab1757186dd1374cbb1c59e19492632f045f204f580e462c82670564d702a0a9bc59dc9ea2897f2179cf45be39477599f02914c870c53a0d52f094cabb329cb6650cb112c63936cce0d2bdc95daf152c792c25ada7def7946b6da3af2fa4199b32f1e28782c3d495b443eb3a4b87a015cb9e6ebd6484af0f6471138a7e954845b8168f7f086da4a57ea2182ca3ab83bda16ebcb106ac7042e2b8dbf6a98e402fec5d0055fc814ac49130790097ca50f9f0caba39f36cc09f8de0bd7a6fdcd493a8734bfa95b0b2fc8808a364420a5d841e47021f887ff69de3067ceb595b135a60e689a01e33739389c4fadb731ca490f726c3031f820f15203e796aea0885c76dba235d26aede1c757bd3b3aa003815abcc5a21848d7a24a981beb723ad5de87a6fe48238398009c7a7cfcde853d43e86c07a59f5f3f479732fb84b8771dfc7dfc89abd5ec22ddee48b3cee81378494c8f364378d7cfa344df92e64be1578d654d6476a457a3bbac92ad82e77520c4a23bac4eb040d93048e570964e2c456bba6052ff3bf6e60e97006148090a509fa3fe7879e8a5e3fa5d8cc1b1f28e78d1de56d448f6c4a65ccba95c26c6cdf12e9e5333855a921032458599331050213b687d7e600911b88d09b62659465251a43b0cee812bddd9cb59b8732a476a6ee43bef373efc2805a01e45885b42aba7b5721d2f36f1d24351b714e78c4bfc9588c71215752bcbd9f90f97590b2d9988b7814cbf280adc61a66d4d18b15535f96dc9ca6592e7e020e34b210ea2c14881c1faa5f45e2b13d3a6f76369f87df6ace50abca82c413ddcc891053f5dd484feca3be6f4001c0d848fa8cce5275f30d169f3d69e6809481f5a18d885e0b88acd052a54594f746f66b81b367534b770ee2fe004bcfbf2f3283928e722a40a72f4a89ec76cf07f52d2423b2ef49c497a848c47b59cdd059106bb6a0327734ba1e43e752a75f62da901f30127af3418fdfe8f7c1ca22449b52f6cb510f23e5e5b5844a9a469f857bbe013a0534a52b8c826c084ccdd0ea73d9b1ccdd687921319986bd61e78394e2184111b498f90f30f33c5ea00a65a07dfa62a5803a50ad81d725fccc9d526cda4876491681794290551e7cc6db78a35c212114ae000f4b0de372bc2bdeb16137828b424c80ece1be29180c74fdf362869c0c55b3770c996da5628aaee0a13f1acb3203278c0087cf8c8e12a0268792157d5e91033d0127f37153c2b25f88ccc0281787c0879b6bce4d95f2237fe08d3c33f003b788735f96d80b96798ea390a203aa7eea8a64a1e3ce3e367861e73a8fb19ff63334f47169b88a1d49a345c32da96e8a91f2069698c2221e8b2319c4929488fc53405417fbe24be2eb2cf8b94ee8cecb7561666cb9c411c8d6d34389a8704c7c582b40ead731f638cfaf9ed65d913c8e705791ab68c7e8d841d352229dc958c2b70f142822f1600392d00be51ed0783f3056b0ad98e72720926ef6b2a7a4798f53eebc44b087e587ef89470a00368d7655360d63ddcc5593004e2e09bbc79dc096a86e2c8724c334bc45efae7b9689b850bc94157425f06007f7320a08f9f294d030218bbe7e793a7df2bac1219575441d3825003fb5aeb4e3a7b43bf698a70d52b9811e2d817a39b9b0037fe23ac509149af17d0f7667ce4da785dce718ffd3ba8160ecf87e087ca831cdcd798ddeb7bc6d0c2afc13da1216f0a930b924c68995c358d32ef3c5eb86c1b2037627d6c7dccccc80100922acb10b9efa9cd1283ee1112395aee51b34320bd85a785a6cc5a928fc6bd89454c90735393aecb53243f982aea92c662740d58c7ad442ada52967ed38f6b87158c9adfcc82664b5946d877760e18a0f1b5326995b90a519883fe0086284557560df1a59a04f60aaadb6d0358c3e9ab60be74e8d0a2b484b359053e8b284e36f7f3256384d693378ed03bb602a7112e7e8c2b3493dfa78bb3dae77509de8321f34d0b7fed1c6430d9d8e2bc41bde65d824d9922cd9b5464543850fdce6a1a71a9ece4922bab0a5c57e78a569757ac1ee086c99e8e296c012b4fafc5df294893361a6a2d3c0cbedbd4f5f1006938e6522139cb2048d61535a3a5c95be7b52caf1d0272e96a0f095d8e3ee5e8f69a7f5bda98bfef642dff1174f33aa6fc698791a8688002743bf76d9267f89b31214f78b735bd93e422ed244af8d321ef5d141ff0125e38e73a3ba8bd0592c770c3d53685fe10a23a1bf91e90f4c7b7f8223ce51274757cd96331281eb7e604b7422388c9ce05c95ee68778883a5b1058db3ae5e60c644931f216420d573b1ce902dbe737bf8af798a1b4da26421c4312bbb666ce5f7d8d7f4cc2e20e37c61690dec3c277ac976d84f7bfde667f3a533bcc018e01e8cddbf5b4b909052e1f07e60dd152b6d76a347aa507ac4ea2526404bbeb68c03c9c62309efe91d4a593a0eb2c981a844aaf65b8b8a6f21e54a04dd5ed4a7d1c350b84d2d2e30930cb996e75d8f180140c2393494369be38311163595c9b63a69d007da3060e52e741a5dff29dc38b310c366cb88d488303850b8a83112c796b91e7d74e61bee4e69749a063162270648138a38c383799062d31f05d9de15a9005e74887f2795108020315893a7950c46ce03a90cc710c308198f9f0e5f80bf626aa9ed681d17483a94d1341789cfb0fbcd24bc69fbe1116b2f3a974331c63af6b0e7a70cb080567def0fde03434e1fd75c972600de3b41a723418328f4cfe2821ba1ca0e444110b404b1030b5971542c07ca3cdc5575f692f7c52ff82411da41937a70edc63dfeec4b27bde58881bd7ed4f7b4c68bc6cac15d444eb1f34000ef13932f8bd2f4ca8245d07e1ebee9692fe3a83219e7398373c89f021c229f7460aaccf139c45b4a571a539b4f11c41fed6c72d9f5561eb718031740329f86014b5c1be23ddcfbdf91d211ad5a7308d35ecadf984b15ccb7a49070aaf0aa953fa840db18c9717bccc36552e81da3c07246108e8ef5c48b10f5362fc7c6b89171230a9cf5939c0163368b7d64c003f746a91c454fb8c91649541582e5f68de91e22eb729484b021085f4693bc81bad5480b06cc696e6556d7c823ec6e889491b3b8195bac381e1b84f817d587e0aeab0a167509912cccec36e8b1068bb39a575ffb8085ed838b4ec18a3337cf01f6e83c83fbc06e17fc806a1ff70c60eccf708a66b30431c8d522bbba974588020d3106942f7b62274c0c55f2cf2e0c462e7819625abc73e0b5f0f1b2c283df2ec27d02a02b37024b6eae1c7a2343af08653d39ca0f8abd4c909787967c8c7e5d036fb3d7c2dd9f6a058cadbb3b9c4b9c7fa12da9edca5bd1ece502194290844f7f008543316e479a70a80c66e0aeda7382ebf29f5c2ca6800bcb1c86651528b87178f5a2cf0a2a8c584179b5a4c78d1a9c5c18b825af4fb38d422b5127d2c8ec791bd92b97e1e2a1fd25d09a5a07d33b4b0264abf9d550d8404278410bd997f634537e3b6ebb937c53a7ff8f78a829c9073fe8c7d7c138811b89e745532bb523e52e2c82cbf4529384e55cab381664e3f5c9935e746952fa75d55049c99547739f9a85a73a257cd8373abca83d3be2a4ace4caa6b9c7c126c38f1db37080694c0fb285fa662afd891792d3bb096056590b46e5064fdb42755f4ba55c48b51252d9b2edfe8f976bd8b652ebdf6cbe8f6e65e5ef7f2b06cdb8b6239bbdefd32d75eeb65b47b332f2f7af95cb6ef45696feabd113c66e5eaa07fa3494dedf863b9e9711869c100e2bc9d4edd621b0f6eecfd7aa3e098d6635921ebf55854c87c3df60a99588fb94236eb315e21e37a3ceafcb86da8a3e2cea1bec5cda36e971bad4b09731701a900865aff8667b9aad499db187b61592ed9c8e4fbaa1523255a779838b9e5e7a16a4f49a38ed69b7d7017b04a80ed029e1260aa7a29011e4eef4b80e671fed4ac73b4caf8a97341d923d5091664ef55be5838ddd075af049fc9e37acaa522d43a2f48adedce95f2171935a36b983c6710cf8662b3ebfdae5de9752577f1b78ab1c692d8066f9b638cbdc95ebb721fd16c3f8b5166d56d6fcc677632872f5f9798522d4265b63f6a8ada04c548c78d4a9d0e0ba22445695e85566c9bce28df2647d09095f8cd43c92bd6e7604ec0f7d260f736e70077a97b7ad01d75f851f0532c4cd56b642ecbc0f41f2e2205bae0906dc034446b2ed7d913bcfa3a48dbb2f9fa9ae00c65d5a9e17a1f00ae76c0e0f4284b030d64dfb69d43859bb03c5d6d7fe114d70f2a984bb714904896b87ee1814060aa6f6c195a5a3145bbac0c93d6870a42f166d3d96105a2b200050c0ed94e666111201a78a87a58ce32c120b739414a4b9a0bbb2d590e746be41262787d9bb1de2ffdbfffc74dd806524c1a1dec8822560b22e983373e2a94c171c18010780ee6bc20a17bd47fc5368722482e567877dea1b1caa864f3a1e2a500a5b158ce3756e6250dc898e6806402489847556e07472691d3c7726003930284d6183a0dd91f7b87e6ae005fd743707cf4851bf3c7f4551c7704a6d430e3b8e036b57bffce608233cedcaf9e545101560ffb907fecdc5cc922cbe63f51a7f509ac843c6c0cc0a687ab8d2da090a18e79a865980bbe6a79ef70c90cbe6434687fcf9bd72be58fd69aefc8371be60c5f47572ae90b5d12737c1d40a18fd51467600c4501fdd8d1b5231396198ee41b5c2411946e9d087d0fe289c6957cab11f6a455d5718e2d993a28486c6fd8180221b19c32a8f8e570166478987fc746f21b57f69db0473d62581454b6e85a94076bb1da5d0a5a7ec6e84d3c1ba65a127a1a1458e02632396d913d22ef9812041d3ce4cb6e51353871c4097fbec8e429741b8c2f5a33e6a16d97897b40f478d41780cd6d87cb1684403b06a575380d308b3e9cfb39887b676271deb772e1f1beceb32b6c66ad708427331101c3c03429a8118e88dd7350dd2864c1b5bc56937ef1ac523f78b2527aec312ce640b8ea514ea6d5a430cb93632f8bbe9691f681655b9cc7086de72a84075b687bb30857e52622429b9f4984ab3eba1212d1cb69ce9051a2e1024a52f55dc0f4f8085913ab2369e618e60bbc0bbef33c9abcdeb3791a3d49c3b663213c0d8dd0e9842bdf1e970d35e1436203d27ca4e7ed4971b316c4655594ea82fbfce5698c1b585ee5a8a52451e2f84de826fa13ba817ea037a08f40171145ec3a231f53a665d6a53e467907751df998925b661772bcf68029ba064a4b72c99653542d439b8361b13425edc08f8ba39ac8b50b3086f457b33bb7f67701af0bea76c5c37f3df9360423c743b0da17114c0226825f811307369c23cf293a08bb3af97e741d95d6c6cc24979f2aecf83dffea65447ea9fba8a6c8f02b476620af0118119b93d13c412825f974e637d340c34e64cc6d500f420df9abc0ea0ed5934c999ebf75ae143019455670a26d8483a124da722b5202b9260881f3e6c17cbe59fccff6a053852d06c6beb68fbce15e8129768378d268a96535b15d56ad54e216a30038d3f2379d964d1d44ceb4cdd9ecc3bc43448fb675e664d615e68aab4c5672946a2d13b1ff64dd4055c668b8d6d0449ee23d13c2d83f68c80889ff9b950d5061dc42178e355acd94c1a5de33d46ca00ff97b7852e7f7760f81af0772306b79783e44c779f5f9edb81da8f72a2ed3a2ea99ec1bfedbf888e28f221beac6873aaa322681e2f0fc68f96353bfa4aa558db23726200ddea47a0df81156c74a4f8a41856a3ed8a4c2a0b28014ba49456d47c9edf39cbc65c4e92edb64b277284e72813eedc615f1d1cca33de448c305db93b9315e410d9f90f33ae3318a1f00c91336b9d45e5efac28d6fa8f91406e627849cf5fa2f607c11edf443da9f6792c8d782e7d46fb2551544bab5226cc7d00573d034a37afe711e90a30ad68d18f003b218657c559623e3d04fc3c409e5d0bbc6a03ee4bb181b0015ef126c95aaa998690efc93c59940963fc9251a612f5b40d13cd4daa4b263921590c2705df201018d605c9b23b4e91bfe32f8831063bc38c496d565992c08bd1685150056c60226aaffb2972cb57909855000c15970ff5c109782eb4c2ad19830de08b9609b45a6d1f39e603bf8490311c12fd882cc18b54504339cd2dbea2c97f9a5415dfa05a8a8d59136a95d92e9098254be395e06810858dacfd4809b05160b539b68eac5439167df223213b1efdee9e2ec1f8aa1cbe21576fbfdeab4620b2f9ef55ad2d4d7801daa62dbc7b94f5ca241c1ab57066cae242e266ec954722186f28faeff1aec5ea8295ccc4ecdfdcbc7018440dc6c74b1f32e5f405b8794c1e865825ac453a4efbec3b1b7ce86adfd03e6adc6021b1c20230243e846ceec4e60f142c6cb639fd2f1244225b272fe2d25b460e78c6312da28afc083df04c46dd012813061363ee2ea85d412f410fc8ba3bb6c197c9cf0e19de0ce74f7eb0415e8edf3cda67f6ea9a623eaa3a92d2c6a4e7c1f94313277eabb916466e398b82ff4d6edcac1195f7631f8311aa90351ead2314b6dc336d612ad8bd0544a04c138757809411facd7dab656ed172d61e4ced9c7ae8c6a8720ea95e229eabfc3b57abe3b125015c8d9307feea71c24f282868a393b8234b3dd7d636d46d73fc9f49023d938ac9082656c32d1436127bf2d619df44a91345bfacab0fef26c7d7f6152524866666f4112f82324747a89706653c2a2641342df22b5559fcb1424ad23ea05409435812442169661751ee2c2f38e965d9d92e9b274c8b940f5a121b05ab37f79cf975e35bd063e04bd08044ebc85febbd0c0bd69e6b0f9b439e73341daf9782c05f1e7fab86a1ea02d8434465ef9a81a1828d4cceaa730ae2e7dfa89c5e448cc68ea19e676969844008bd38e863c68a1f028f4ee55719a1349988fc5101f110c0b6c66421ec04fcb0fa2719dd868337446cef3e3f33551f35c4645b08812ce8f6cbbf44340540ffaaf34b30a74ed46d01ff5e797602b8df20a378ec569c6be1809f905fcdfde9b2ac5d054b1bce970209a51f13e273d3ec826f5ddf94b79bf577610c73a67f37b927101f70a96c5b8417b8ff0c7c840a28421e9fb20fea5fbe7f19b20abe722b94b8294b08602ea593c4264515e21bc54e01496eedde01fb17b6f2e993806d29a40b8e14368bfd6f650a1f71c1de0365c9db1da0966e16a69798c0afd40bc1f3abaf2deae916a1a569e836b76da8257c6ea24b4f22cd66f41addf017bc3e5dd1972215e57bffd72561158519216dca9629f8526ce98b1d530243f465c61725b4e8138383eeda49b6ea113626be5fe490427c4a0c6d890b303d226dae173704a76c86a23f3a3166eef5d56edf460753e9fa14cbfae5d97dd8d941dbbae249c111fcd59054fc10fe35e1695c1d799f6863197e78f9fae7c757b12b777c29018d71073086f9bc5c61aa4868b51788f4cb2ad3f78f6e996c5aafc7361545ae180ce93826d0d106a9c6d08041c1d0170d5af4cd412355096952a7635cef33de39069e041fcf33f5d6308096b4a71a37d6aec043950a35221add37f518d47de6c03fab0b762be69486170884a37db55e38e1a3f53f79bc474d9ad710092d49821e4de4dcf5fafeb301a75e69363e613301b2d61ce4b7d7f8df987a3377567184f18e921879814fba47b604e39e8660a286f9e004495025b0017123a4b7b2c3a086a57f10ec76a80a6b7300aee2e49c62eae9713349ae5cbdf12cbf184d7b4cad6f139f747d5fc23ec31b9b89fa55a7409a49ab41f6ae1ca628df27e15f8dc9bbc3661727754d945dc2cd0b3724f4da0b83f63a09ce6e011c0f95dcc7728b710d4cde8c754cbe4026783ae5e602597d68f82dff6de2d81b43428e9857d480f0500456866b225557db043b89019fb2ed8dd2e6b5458615e684dfbbaa6d850046ca6efb85d21b4a64c817cd0a150b70ef8ab18f1c70a22ae75b3d7794f44d81fbacaaed134f2982d383d0a66d98a873fb889748f65b8a5a328dc114a00e2c511600ae44ae3dff96a88673e1a2c6c08b6522a8707deabb9002fa2b2ef618f9b5b33eaa64a4ff216c12de5809b41d1fe758b80af07dd1bd7f5e0655777e00fdc6b560818185ee5de9d888daf821852b19a51fec6e00d8af469a83e29a088b700f0a0141fa4e7c180052176f0d20c05b86229c7d72605f92a2460263866a64f8ebf889c54df75f3aab5f8af8719f17b2073a484fabd0c41a41b4b6811f697a0c4dfea96135ed8f3a59bd929bd54a28482e1626f11effac12294acf6f19934fb7cc54e0e5209470f2df053b2df2f2f9256e95c30d0ad747d1356774062976a8ea3541ddc0603ef06a06845ad0bb7a7303c5c2f0da6b6894a5f6a1e8861e44093fd56e5a26c8b0c4164c1a1f006026771721d7da24767b582a2eac7f9834cbd524588e8a26bf675d411cbbb30c7cf549b91f85a37868a3bf7ce54163fa0b88f99b24a3cf103993dc125f9edc3d7f280499e65012b5e3513750b99097d97a2d087282b993c725c2aa5a413c342eae2ceab1be6cbf29ae830cac72b12979bb72fb569a9d0c7c733c3e41b3bb2066b445f8e9896122e87afd3c98c814ca5117b31a47cb10710daa38699bf51d4084f8f20030cd0d6e8c8ac7c0dad9c98d9cca5eac5f99a238725d2dc6dac61068c80d70bef95a6afe1e02bfd506fee003d9a68f10f24a94e24771d90ba6afbccadd8f8323ca3ff7d3b2b58d6ac3b9690816a0b49c4677fc993898e73934fbde606b419d6877be8a697107140388a9ce1cfdd44d59c032e2b1fb28876dba8ccc9cb5bc092c1432ffe253676ae7b0ef20207e8cb6571a0fa1ecb7e7a29fc43534b1e298be2b87b5ffea821038adfc88ce9a43483c4c0b4a5090db950b0774ab13527ae783f76da3d16c932ef0a1e072242bda3b7a86446ea17eac6ac75f8ced7b8228f558fd85fa014568e98860bd99b16a38a7535db4fe992896d629a4af65ed2988116150e27163cf3a170ca99623d904866a393b3eb3b017c6a15350c023bf97bc8c244d2eb7fdc3697aaf1e06303f6fcf7be5f4340a2482307649b3746b4e8e1ae422b86e36ef9ab94bb7b012df0397dbb5129e815ecb52d1f68236a9cee634b53b3f15168141ac6c2aad164ac3f018d40ad951851054861d54bee1a188c4406f90e8d773af48723508146275401cfc4ddaba18d75376a94282f58ba5ec737339188d57c5622a8bdfcb572596ea293dba457dfe27ae337c00cd64fa4b36e7d02da313214a47f7cae8199071a3c5c44a0da048a84d77379260ca86664a860c1db7185c8c311c10b2f8f3a04a13849cb6605f4d50579be62d20576673f62e5fc9778271a455975a9a80fdbd0d8df044792da5dec21c57fdef846a72e88df468e769722cd60ee4adc93e77fc805987461f13d7610b90b6a34d3010e511e7c34de671dd0b066c787197a2cbae1661179195eacbd57b7ec97604e07ca4ab54defe3bacf369f343d90c58d9fe73f1778ea074a0c3bfe55374cf4222e7b0f49ddac68e799e9c42663cf6341f03ad0858343eecfc519460458cf5195647482ae8148bf6236ed784a4ac41d01c2dc3bb7f1788f666477cc089adfede7ba1af6bed3ef619317493ba7dadc9903aa087dd84256ed8877e694f8be2e14df58b891db696976185a97d924a69132e33332aa1ecdcbe2b1673fe810730770ece26a2f79770b0b76c322cf6204e6012fb16aa4aeda245b5960e5df1fd6f4cf207f3f1bc58b97b2e588cf053dad5633036d3a525392ee0aea0098d3b3758cab46e24d8664513dd30c3bf2f617ed4c3db88996c3cc840d78a8dd9d5c432cff2d89127a05bf4ec05d8b00e75e67999b0db65c742e436a3b6ce7d03b4a9681a025e0baf8caa9104828b4fabb082d7d667afb2f18724017b05e9395416b672b6f331e8bcd2d04f5768d9d6cb5a44a7826b4e48f9ad79719376f7cad791e479c4cd57ddfd3f032d4def3e9eee0f7ca72ea48cbfd5541682367079f1713c8628b12fe59f5ad64309922602af605caf1c74e7d7ef9c66f53dd6e08b825021540f23d9b59097c3a4b9f7cd5e31fe1ed1149a3f7aedada4d18bc83d8a3f228c5917900f177a3045cafe10336e8683c10e183208ce5d401c8eb28620f17095bd710971d37e691b9b42aea7e0464c8a7d8bdc5e1983c435906fbabf70b33786d75b06ad487e3273181419f3493408067d22d2578ce6dc716f2a9eeb26cb6a0eadeddbb9472d9f8fdf62ee4fe015e2f772ace2b4a6536203f3eb4f51c58668a255f3b0a87c5d7f11f20c5ae9021858e88d353b8932b0fba6b8c95b6dfef71573e0019c265f9012cc83c7eeb1f390aea1d157ea3ee6216eab9212cdb86debb42709e93cba6476891e1105bb2db5d43c4b4004610762aa3f2055334828a1277f5cc771081ed52a45ba79162f2c0c125956537780ddd971625863e74254aebea35c18884d7222f17e52491a279365b1597f4dc560e8464ce74e692e3bc3cd2c8156473d3d1e0c43555fb6b3e2a4a65c616a7f24dc824622896a8d7cf43632d7a79ef928aa40556d07aa1ae18fdb4796beca0b9b23e026827ce4c7ab7f7699a891aa23d67b34ac6aa1af26e9dcb1aa6a1eadc0da96925ad1226d46d02e23fad0dd724c9c1c3ac04a08bd8e7b2624394b0765a2cfe1b353e3809ba0aca14f6ceee682aa76d517c09ce5b751f36c0e1bdc1c48a04fc8ae9265eb053fcc0f402a1ddf7973b8727e32166b969aec0b67781194213ee90fb7df72e9e41b27dc778f33959d428d6a90cc2d7c2931a2b9ff9054b681270f0f7b1e96b0cdd51c469a7e149af092e5629a67f3956729419499b99c753e0a9ff79c67beb522c1065bc1c0629eb1b71a04bba953100d7741c5c836156f0fa392a3ddb2d70ee0083afc22e50e4d0c2eec40c4b16b31c6c90ec8c6bbe10f80b0bd093acb20398fdb05c1f174b517c2b77d2208dfece0131b8565778abc1e0ea4cf4e43cbeff98f18d9de42e1174bc4c055f90ae73d56a8ea3f750cd526aba98ce1a026ba52e48c1c38f0bed5fd2a748b8595e6bd59d8195189cafa9b04565133e9b0f8d98c240c8a2f31eb3c36b621d24eeaf673e8e4b094283e4ad3e38bd9a3483dd3d560e325b7772e7a39493c824d0820c54e48eab516a253a0816458bd7fd8db093dfe8666f91d7309941b3212213535b6ac4af2534b52e6893b0d8510467b163d02123738a21943bacf563d23096e1209750eed09b737b31a25f1a070a2f8850eea0d3fd58d900b4cf87732ce3c29abec54acdeb1cbb5bac7dc9c4dd3e4a186dfaa223978afe59b2129e015c7be58432f6bf37e01e9c2c503f18cbf41c99f284f5e45a40b0d315ae57890e49513ee24a5707356e58c9f52733d87f0b2df1ac43c692f44ad4d52add0dc03e719907df5e6e14b71383dcf156a25dc61dbabb04dcddfe148ef8e41fb738fa61cf458aeb7c32b7956632088b908e0bdf85628ebd1c115955f3f648cc424cc873854192dc2b3ae3db694ed27f6f0e8d3fe59f29da3e973e364745ed79fbc88f804efdbeb928018189a11a63e8da3bc0908209c1869db6b61e2b8e0d64dd56b4e7fc18c0099c9d74e87512596d854524f71ba4744e725fa193dd1d4f57c55d9ed86d2dc327e4163a83cb2750d1fe62cb3a9c6051f827a450b32e96b9e419352061621acb23675dc3f12585de05e591d09c5a7e11fae3e71036ecb524af10c1332ef7b41bd1a5050749512001d1d8e2691fc9f53f743783e05ab8a292baa097b5a9bdc905d27378b9a631cace756f7bf947ba93c6b3b1fb78171271e0986cf7a2b83d1809582e49aaaeb23afa306812164768e45f2dc6dbdc17812a56eccd560d889862eafdfc60c2ebad367b7632e9fa4e5d2b5279992c70ebe7d9121b82a334740bb6fadd9d5bbec354ae50ca33447bfb6ae2b9a0d3fb81b6728af90860e3305474ba2be1d6fc4a1a2690ab32ac99dc0fbc23a1e75ce03a46a64bf234198256aa10bc80507eb18139cb3246a0470c1b7fc2f8c78b9b0b13239dff040a7fcc40615fb34f958d3e125ba68eb383541814a276b112c347060ecd34190a0bdfe7efde25d4e89392a880dce81a9b4685b9bbd24e13192d3b7ff7dc699fc32c77595bafcf05728bae650e6d658580cf8b41f03833388c2f5305b0a2ff46d24852a6a22980ff751f8ad9db9d2399f088685ed07902479fd586d25205cefd6e35593027fc6669ed78df190333218338bd242af597371dc688e0c7b773f6c0da8510b45b5d0a678fa1e70c6a42a482961b16f129ade23d1f40a439e9150bca796f77727000ae818312688b3fa3fbe14e914775954aaa34cf0f6c4bc79c0967c5765a016b01d5b9425f27418c53349c21307733f4c31a70e95d2bbce6e7f7c531a01d502e38add4c592aa5746d7f2f6277c3243906a13e1811f493f067a8cf657312de07889537790116b21136d9f7e0215dc5eaddfaad91cec230e5833643002b101968a896932a88ddd47e4008ca9be9fcaae014dee3d1aadfc237d74e752e571392873b77e4ff442e0a9e6f2fe3d868d800419ad0e166e11205dfdcbcb004d15491136d6c0bf5ebc830049fcaefd9c3f075a707b929bc1669a0f68ad8249e9005048610f66abc18cb07357dcb29a2c4db4edfa17035266331b56eacc84a6df762b44b78b23fe5a7c54d7bb85b9c0bfc6301679f0fb905b1437aa4f63b189e6c3385192558ade0c5deb2d37d1ecb9ce0d8f1a68418a987a1f181ff31f7e2a784d5ea4942809ba6dd75f095f9db590d82df91392936c6d1689b70ea6eead6dc7138212dd784a0901092c069dbc0e1430d8eeb4fabc7ab609f811d98f5128418710630ac149ef96242fb04f5eb9bcf424383d11d9cfbc820b34e639467b7cef281f80d4a5c53d2698d0079a68c47f4a2095dd12182c4485f012fa6dd5b12d1310089608ede9541e51459ede4cf13990b5b8cb9c4f7a02640ada52a80c532385a05aca60810563e5d4074ea21531988ba46168b03d466cbbec25e21ca2eedc10bc77a7cb8cf6a82ac40fd8d9a02d221c4011bf6482bd5c5f3f5172de41ad03ec21619be2108d946a2e5197ce4decf496492f9e74d63b39fdf2a6f17a9541b993ff52590aeb3a1f234134b64dee61d3871a3536962ee9313ac54eb147060a336dfa42f1cd33c91360b3ce17729a395fee8ecc074a3ff49b4a2465e252e8e702987bb0deffb8c99e35566ef1de5806a3ed2c587e69dee2092da9226d5461c2b7e46735cbc56e9c7ada36e4402b7888f6211fc70088c57d4f202c645b3c14cd5390648d57d5009bcdbf986bbb565c1391078cc2690b6365ee81f9e242e8c23f031c5e4c2367e9fb64896294f682de970d7fb54986e4509e1a6fb8c037f96cf0d2c5f306f9fecceb46b020f4bb5b60c46b642ec45102a0a19a6010092bc0214e4546044e25fef746ba66f6c5733b68539db9796d84df21070dec688077c9d802b0d011f71e1430ad3e2b69cbbfc78977be608855084b9b78733cb084aa8db20ae2cd6290f27d0a5cda2451399f528613a43c0c1d7d6df8388cd5c995137243e5306d94a4dcabc45060cbb195e4de0ebd53c713577aae56369173445ea926207c5cce3a2f96352804b28c028988fcaeca036fd97ec66cde3694b0f99d5b50691105c6a192b3718b77744bd3d2a8f4d04b5b3dca8b7119eb52d9ae2a69881e1065745868d82d9e58a540832ccc3ca4fddf1beca90456ac774bb336d763d12200f46e5612c7c812b10e71188ae461ea6d0883780b9ea8ff7eedd523b7cd70888fedc7a5a793db090308546b3264b085c4778df859789771c9cf63bdf47340af66e995a2849c88e77bb0bf28219e7e1234c0d75480bc257e88c026eef06bd931f5172cbe860c7c32b72970aad8f006bf7cdc17e75806b5a3acc645c3674a3df9cec143e49df9810935f76ff72d816a876e2ccc942a0b06286e62b9dbbe8d5f186ab04688c25ce98098224fc28cd17316f1eefe9b4b44a04120821d0fc7c52e938f5edc6fed8fe4b57638077ac348a888287d69f023cf638e2dce1bd24f79763b731c4eac345cc9766d95a3a576049f2d30ffaa97511a70927b5ff7d06546705860faec06f343b82d8669ab38d31cad3a6d3d57bb4dbfe9d96386e9f69dcd3cda0b5cfd43142f57d4e708caa9a31ffca455df74a3e8fb24cfa9b4189064ffd373f27b4709cef645277498e3b9997ede78aa046c2d80ac7a43017b9a002bce888202e22ed859205155a0c90333becd46b4e264f04d2f05451266427926c10a8aec7382eb71565babc37ad621ce0b7aa54698a97052d41e3eb8258dac7d5b753e76697e8e05288bc1d9b7151acce7ab0dd5e1d615dc6953fe516c86f149a2af6cc430d1a26226e96526f1ec17d18d54d114d1ef98a297269e7f784ef9072c6091e1f44fa3b08acf33b7175c0e6d9ad1cec11d004fc47f2a529952d977de2f88469d8df050d5e71e658f4f66d7c9e2fe8c41d51e99687a91acdad2c7c4d58f59e95313b7387e621fd2ccf6e68096f2c48f46ea3665ebff7247cb7f205c9e7ad7e99cd46b53c46e7a94ed84cf8b2da6a96aab55712cab1033f33f112480d48bf156957a0c66f65dd2e09d103410584b12aaa8fee1a95e7a2a7beee47f82cb21a97a3241b7c25869844d3bafe86a8571dd32f1d0a1946feedf2597e99a8f0910100bcbe1e3430b7b7d6f4350379bff146a4f23d54062de3aa701aae6e40565de098361c270616d6bb1e0455e196e25db2969f3bb43b0b29656566620dbe72edc25d880d1e255f625d3c198ed4cba5eab9579f5caf61bb268ded51107e49342401f08bb5c8284129aa941664325a10bcebe1fdfae4bdb78bbb6f1494c26a85564045ea242170f091b0015c317717a61d11707036eb49fa04a6c16fce90b839da93f1919a2ffaef67c85488bebf8a28621545f78926c9648749103f06033c5fe6d22f229465f5dc8e5550d17f3b23d5f2338ce38a9e6a99136f20d1e1035eb109a475b6576ba6ffe6a759020e9f89342b7486693a80e6b675c5cbfbe18899fcce7def823665fa3a7577ade70b1089c335dd35b0a27be5a86c05cc3fa1a67c65ad6263d84708749d3108c7199a19d96216062b606fa215df1fdc11902b871740a4ed7133e1b29854769d96595c8b46db193b59b4f6bb47de288850e20f7ec86a54b9fdc3e932afa2b38307666d80888a8fb9922ab1a684a758119f48fae52e04d6618cad1ce17d455f2bb9ae2ca4a616604ba5f620009d740f1a3b7db04c95feda181fdbae677e404e17edeb95f3cdc58a0142085e7bd010297f56440e8f1564872ed59475b0ad0a85c6323c61736c5d305df8d63165a6f1898dedec7ff423ccf4663ab1d1718ea7d195ec982f1a52ddc1df417e9dca710bbb00f174760ee134fec3f0bc36f2d44bcf9dcbe46344ee2446026a1aeda6ae2367d5c77864887bd512200c6cb9cde3140250e9a5cfda76bddf0ab0a8d801075c57b0e521f9de423d264b0aa010974d0fe2811b6bf0623c225af7932daadcd10da98b97f613aa408a4663020ed16c72f915044bb2b1d55e7ae34b18b6a93481cff80b84a47a3b3cca6dad1a6aed2b30f317fd9054a0cef22fc822317c815ae752d26099a41e1d5b4062df5618375cd18ff355df36fb97f4d1767f08f2814906ec6baec2d400a24aacd2dad446942606ec9e870d0b75fea25ae5e33690acc6b080493405ef33ad7f952ec5a72e898f36833d17de8da234ec7fbf441ffe219248ef92585bdc81789fc7a2c5775ce83356b8282ac89dfac0b73141956080c51e7f0e47308a330e7777d249975101e2c511001c46f6bc9d83f5644d1be66c5451390815d7d71f4338357880a6ce5e38aba2e4a91a1d4a9848c4181cb112462f843b8673f48c81442ab6d4eb47f98f1f44633b0230564ebc1be1807bd43a2d328cb07ec229c0798fd1aeff226dcb5dda4f85e2721d0a3ac18f0323dafd3f7078f181ca1713658144bd3cca30840dc0df42ebe353663237eff23c41f6fe078a8eea16795c71fc99d6f04e1d346fc87f39116f22392d47cd8bf5b5900f40d7b4d73f9b8be16f61c8c0dcea0f0e46719e45d51adc42e3d616d67580cf69474d54c077a3abc3f650f2e9477811737610044c690b2b6e52d7cb2af2c28e755bfcc892754df06b6fd0c98c2039b53c32dd282e941a3dae147624776f4f84819ba5273481c3871ea44ff5b6126402ebabae23c407bef1eadbded5fa5e84b4eb865e886e7b86d81861b56e2df295e9c67fa6cca19eb394320f76e5c0fec31ec4b81f390aca83e3016de4d29cd360eba880a62e95f2d5652a65b0b9825c74c5a0f31395741e9c65eeaec9cc145fc29907e92fd8e9234c45bd8f96cbaeb90a3f164f1356555a151913211df50651d781ca57061b1602caa5dcf1451e3c2198c638b5154c583a80dfcc5b40da3622bafc885209e00d37127a50c882238297276a39a127e4c1b1a6785d19578423000d12329e948591568b7cac293e8ae4b4ee8474f3db3e71968128bccf519840cb62ebf11e44e124a57fdab326c5890ed8b4ce81e355e8612d48aefe3a41309b2a0ab581ac4b9c1fb43f1bdff77b6021dfc177eb400ae52a318145babd9f5e809d0be947adedda6f3db3e33aa2cf7b57f3cf66190bdc1646f5d2309f728ce978dc8ce434e1d23ac851437070322f10d0364438c309565878ea5b487aec02c9d7533f7bb8bd8e30a82521cee6ee1a51c1aa2098a499fed623d86e0f9ef2e4b79cf941799b062e4aec7277403b523653beadd319272558d7f34f6d9ac09c2c283a41367515105a9d7d341f4616bb774b388afcdb94873fd6c2f46dad85aea2a843f230585a7d4ac3b37171c923da5298381b672c506d9bd6aa9f52f3d2878f4b3fb1af5ef2111642b9c3ff2164ae5c92f1735e93b42a0abd5332a1c04ba2f782accb2a4d7444e8d30e3e187bca12853adf036fbd986b5c419a65283409f61bd24a3f0554f6085aa705b61d2008069c587142480592065ed7802fa5b75554e37cdefe1c87b20bd7aada0e0f7db8bef7300e06f3ff5cea451f65bfdf573833fc7e3d29c1dcbfcc4d86fc7ea88d3a8aa55e107be186e7e226a28f388b5c9f2e31706646019a82b67f9e0aadfb5b1ed004f4983bcc8f91dc69cce35d01e883de37025489e8387a2d7f038dc604000132549efb572598e416e7f3bddac8b5676f5396f0581a883dfd001f69a1f432fc54d07d1218af93f019a004a66efa235fc4f9aa4973f9a6f9071a6ab182e3cbe5517d337a54af0aa3060d1a65df5194dff5ccf6575360a41d7e7b469fcb3f14aeb4fee34c74cd350c852b049924e863af8980c5423c3ece70096dd521c9d57dbf67be491f64d72a1c5cacb8636c18dc9a4d87424bcf4edf3888a7f27d828550d61c1725c6974f88a3d63a2fce56388d381eb0e5f48c0cca4b60921d985c0778e86ed8582a091ac43091b96c4998061b39492bfb1151ca03ae9169a7cb27ad0218113f5f584da7ee597d373f977445e364d205f0b7d9a8b0bc62bc8ab8e33c6a85ed528b31e13a267f162779357df23b0335bbba5aabde26b3804726d7919ea0f480879734626a053f7edccdcf0cb8a253d4181a35f777b30eadc9c91b4ad99e5059baef7e9e6b7f6b7cf15fd0f627556aeda19f42f8914120c3d437576047cace75c362a81b537c5f8cedbc7f44359c4099ffa86a872aa349fe2b73fb9f014063db6e697d7abd32818dd011e1c6059b4168269eefd2f9a426bb7277279485c6ceafdc28f9adf932bda0e48027edc9fc922d58125236334bf1bd965a4d48d62bd04ee4b3016cf3e45906610e0fde1df7e8e7443fbbe53e74b3cc28a56151ee0fb6e2ed82bb36e3951c14d41bbf2f5d5292f1721fd59d4cc842649d6ba16ee372d43c0dfced067d2e32b9048067daaf291b388cba335044a9adf1dc513a3249d4805e5faaa35747784cf999bdc4f211ac39e712bcbc748e97e6a26d3cd049ade2de159688c82939db9d52b086bda25a9ddfd2163e2192cae68f27db8f1c62332ca7881b2da9330781034e99a94c55a19ad0701309675fde373050fe45a3075befdeb57bb15fac0268ba880794b5fdfa8865e59eaf3a5a8bb13c2132806d4cb9586ee7af55714e5dc60000fc9d624508ad6d61643e3ffd8035244253c7c12fa0dfaf569a85eddf8e40e74a72dd9f36608cef0302fd22a5540e5033b1e3f0581014dd9c50863b091b136b79e51727b679aedadf6caf07b1755814c124e86b551a3fb0036e23a0feae5d381abc31b92bbc02d3296ee6e51694f63fab1abd2014a2f602cef2ab4450943d46525d81875d42408a95a6b33c83ac043d9140cb949a837425661ea7ce43174c9f266e4c872116fe0a6b108ffdb0581b3b197d5ba2692dd12c236e455a6bf361dd0a0a56c329c98623d34bd0e39c841e8e2523035bd5cf5f09208d43b60ac0fb6b652f8ee8281eea2f96d622da4913a63a9580417b3e5a8ae66a621ee9081802025d2a065be3473862a24049d1170f23a3c8d3075544b05d9084720e92f842b3b9599a383dc43a60fde95dff8cb3a1855885d9b8cfe9289da0cbbcd7d8ee21688fe4249d8516a970742ba55a7de0781ef32ab305eaca23f46d15f42c638315a8ad52918e49cf4974304e956b73c4e70f665e1916d4a7fe942a23e4158a79d7a646fe3b63b71a1e92ffe018dbd0d09ee08c4a94e7fe19b57220ebae643d72f2bd35f76b55901e1903f8c1da7c0fa2e952400a4e679478afca54d8f820126f98b5e4c588e546f55bbb06675665a3da0e46bba0e1ce0b3fc6ea5d02f41490b57c1a17ed18749bb7428b001aeea3a671a0e4854f23c6af28b8e5ba82f4d9a5fe86797f4ff35bf50a0fda94fad289fda8afbbb690e796ba564f6daecc75b41e82521dc66c78b3320cf27a468ad6ea4cbde08c1901707cf6549ed6456bd51421fdd98255a6dfdcbc12b9d51725c10507b2100816200109e5c8da0da1afa5855fafff079216c98999c51895e24a2048c4c204cd12f7c586f798e07f00438445d52d6a8e58bba6003c65c2c2b0af2bf526d60bd3736e04b9f9c9c1c7b2aa1d0c044c319eb04a6a9140edc05a2db0a5bc28df7084ec00e6523acbcca98d1af766e96cc3c15572529f6657db8efe949955c1d7b67af44371149e682df42a6226c2373b3b472d7ab64d8bd8edab6ae0c93a6cd245ab29fddbb035c3939ae53315882b5f8655d3fada08bb9c03abf63b4ecb86d85abba6fde3a36179593b0c935f55e56ac503e8c27bfaab88ffa79263e743d34f64b69c7270a9da7f5077c54ddbda9acd68ff06209fa80f5c48d367407a3d44df8633ce0bbc4104a7d644d313750641484927a9b5b6b852ffb4b0a75a1124340a67998d572a051f2d673b20574cafb4ec632cd9f90b92734a632966974e284817b6ae393a10c437711eef18da918ff8a96c9a18c8327c6f9ab05274ac188a90c65b446995adae1118ddfad9dcbbbcbeee4e51beeb0e1e4a1483e2a1920f8ad87532b0feca895d0fb00a896c9e5cd2ac32a7920f302d23a15fa9b8b4ed0565cdead89275d8be332612fa7a7a3ea454e736fdac4d58ac064963e2c319e3125369d0d5d8b2a502384924b10a23dd3afa246003293d0ff604e714255dd5c321c1931b54ea0079c3d1773994d075c1c34569080c3a0ab9ff5e47eccf004e667224d9a2e2493ed1fec549ec4f7eb4940afd72fa69f1f565dcbdda9cc47043bc4c43f694d0aa51e6d58c4d39bd33e0c1e32c994cf3d6a8a226af4bd074e3aec268d256632a99d11f11d231bc789043ad1eb2d22f56cc3ea072024838fc2abaee4ab39881cbc357ffe65d8d6679a0dda76312e96a863d2fc5edf9e068fd9b37b1470cec885aac1cc01bd5f03ddbb97892f608e4c400cb127f6db574893e5d099566ef767a93c6c6172bbb6a747c9cc050c9396c98e11bad2006f3017327997207998a6571422121d69066606ee03a109e0b3b5e7c2fc87c6a5944d5fb133c14d0ca85630090aad6865d4116c03baddaebbafac2b02aae6b97057675dd4556bbc6fef558b90c91e640f0e96f1e1390ad09ae3f568f56442d6181fed21b556819e8b1b818e354c05cce298fd46591c49b0f2298f3451772f16f5b65a90f84c641842225bd2f501be6173677ba4e7ebf4a5a5c1f443ef1e5ed7b6cbc4883e436666f7e4a01f628153fa687612af1c4430de28d183aad9fb271847ba410ffaa05a809d2286aaa1accd1c2a9b84ce37320c26920bd8c8ff5800304a1eee5bd1c1d30973ba042ca768b053279465f71ecd01c0e6ed0fcff1df4e000fbbfe17da279897081a059cfda5d5df7e5ab2f700130c2bf04417420897e67100969bff375eda34f1f0d523f3d36c7f373ee3cc8121ac949d371447bd00ff5687f4d1f59762b199f68e0efcf263c4e608a7bc4ff38db2270e8ff0e44cdd8a9a7ed0f0dca92666370649e6774aeeaa30cb115053d58ddb23b5293b11aeec9793b124129992ee4325418c546954e7a22226e08a06517a562b540b823e0a2e6a1e0c6c7b62d57d028d3968f9712e4320fd7c378f9475523f551ba28686ec8636ac1d52e0a0a566307bb8c27ed1a385003740da4152c43dd08f3fa23ba4ddf21441f288629c54417be6211b43c9f2ed9f6bce29e45cfbc183e354077403b74ec7d2520588885d4814c64dbfff70edde491d9bdf29e7220e1c5d350a907f700fb811a395492bc6d74b57477cffd888e8217eb1b98f2c5ec1dcc0c90333d7c7ba1e73e3100a0cb6507e4c37447d696307f7139cc201f594a17fd18accbee3e5f0ff9cf92447360815fc97b79c98b2e9176d50121b51c8066a9c6349679f6cd82661f82129b4903dc884e4c05e7483433dea82f3a34b9e63a99f2fc9e37a9e6eba149bcee0abbd510085d310c80d74cba5896706254a0bc4387bc88f7438ab2c0adb5c020fd7f11a6f11cdaa57a02c65240b3bbdb151c6c785018f012bb3f218a45a031d6a9ed28abbdb22263b4629ca3a4f422d8d1f8d458cbffd176e0f24a1bebd851d2ac3d817708f7eaaffd09d1bbd8516d489eced089f0fee1658db3c6259e66f5c4a6029b3ee5883848c889bf7b312628db8e8598ea8181a6205541adebc6f6c5f5f68ccb5e434781cffa9c1606f4bf33804fee4102ab7776e5f44d864046b76144f09767a497da023d55edbd8074095abe125f0b0472785d0ce8fa255ea7656e784efab2f81ace87ff198107df0e9d5952875138376bd2c986ee961313390139070dd244824e9ed3bc9a9c5b0184e456bdf98603423401e13543a3af06635c03d7cc2820407b3ff52b72e6d242f473ce3cb9efd935c67fc7883e2a9b51484466e1c431a4345fdd5a0ebcd04955fda411325ab701bba4d64a5d115268052b725e1accf01aed897454f5c5069d4e83e0059785d28dd32260dd88e19f27228ddaae4fb3b390169297d3a49a41b11de0e4049e926d7a4cb732b35576e9bdf8696ce92ada7e1b388bc85a9be7c3354cbb6de780a236180390e09153ae07616203290e13ede8c37d517963b9634b882da664bee4060f9d3a04613a052cff60cfd2af544bffa5beb2f4dccd25da7cbd5dc01b48b21d2c004123f4e4b380191b297eac6e6045398634f7cb385adcb0d85215eb1c7ffc501555b9809fa9806a2311e081960603d24fdea978c19d2ee30b7c9f2cbce9874e688b9d93353f15b64e9ddd858a75eebe53d06feca79773c131e46a5de2d313f7ac164e06d9e8d52dfd3db21f5d72094dc6d23b8024b6af0507f37c2d1296bfef31089283e324521489f527b5afe759a7412ad428069549a9fde64d8c0e9e6005de84f13a327c376e690ad61f9408db4070f85b7943f1820f22c7475586206400a32ae0496e9781a6ea019fde6c0c9b2740f13994eb8aae1b88b9c0dc35bb6fd7f9fbdd3b95d9e82d017d03963d98a64b065edf2eecb17c4519ec24053343bda099a5198be9c3cdc1fc3d84bb121e79b4d975b283788e666900ee52e0dbb615202295b6f39539cc4ad2346cd19e878b2891df6cb1b6df1f4ea44edcd2ca39edfc67d9fb91b4e5bdaed37fb3c55c754e829efef71519d0b71e015556d6d49321605318725e1f4724f8cd2d05fa34b3d85dbd469578f0c72f5f72a4a92ca3492b31ab28643a3e264618206a0df0af104d15ad0909ec9b43232c1d87db0d714807bcccd16350648c0ca04a6826eece9402418a76090aa4fdc4f3a0499bb31be0b47b11fe3e12e3903cc6e438a2f6b375460ec4b056f300a00c934601a9e14df70a24cc3871064079b209db3070c51c3e3a2f51a4dd3be5fe7f40557388d2857ff5ff2e7d953d13a87a2d30b0411a84fad73b6c72dee789b0286e800263c1d9441159e746d66d53f2ac81e47034bbec9091be55bfc5ebc14e814a60aaebcec25808a0d87229f6d56a7979792b23a27be21dbe5b1186db2bbff47c8339599c385daa1d42ee25530a18aa1602688426bcf79f41b4c94d58dda72943f5b62f4856f2f12e09191c46abedcc11973d2a373e244cbd0177308482bbf830c1557f2766584c18253427717cac195ddf46d58b06c09b90d6a8d2c919cc7b20b6b282967c3a734acb1338a5aa5398368f0c23cca49a282171450f3a7ae7347a39ba1538a77dee248300a4a7a43926c6f4dc9e8a9b15458018247ceb0de98f038eaea9cfc1f0e5b211001e07239ab90a3cacebad723fc012b7080e3971909519101d449c729b0c39e68e46097224ae694260332e304371c71d6ce2a5d2e9963e64728dc2139f562e9a40f595240bd3824581ae5f0ba7d6baf220d8624fd78d3d968c8ede7988ce2a044c8350d4c06f783e2227d302bada99a4842c5feaa8ed36e4fc322fc1ebe6d99264c8a1523f6a339b2d6bd9726e22579ce84f12623dfe61f8103d6da31fa91c8de73ae204d806c45d2f43c83b410d8cc30f0f24ba5a6d56abfff2906bc597e95a3222f8c5e27b083a646125da8f46ecfd4ada6dd0cb4bff1809a2a26790f586770e193549db34a4d6085eda2d8a8844a6143135c88f7248516b3ba3920292bfaa01cfe47d447ccb015808b40dde591538b3685bbdaefd3b2c9ed30cb6e1bd3880ca020940e70f253995965baa6ed349539c7e0929ddfd110db52a694ccbc9e43f6a9822492b976a9e89484da7c88994cae8966d4072a13a39f15f8a55618f669ce41bcdb82a119f282338da36239c6f22b91ff54247540a5bfc53d98e29acbdc9c427a629bf589417ef6520a237940c52e0dc4fc9593d1e6108c6e1a4293cceb2445cde4647730968a8a256106dd73dbae83bc545ff978a52d28208c85533e5dc43b681808eca325ffd8a2cc0cf9199c7bedb7e0b4026b1bcc82d613f2c31001188a4c87371af30421693f6d1165529b76b047f53160f1af4b3bb218bae7dffaf2241f8350e0e5e221587662a1256422a59564f0061b3b77e65a82c5dc8da9c7a210c5bde1774c35cf7861c94c761e5d2d705f9f753e22b2748080028619396800e4de42f514e58601e98f9614ce48280ed253661ed49f7ac7c252b3270a73b90c2299153eac8350c8645198c416c4e3120656db4421eba146cbcce8e018114e466f56c066c6cdfe30333201737bd68e0c29edad4e28a063c924498298da093f9e57ae3450566d7a608225207ade0f198765ddee10b9e6168ad5ecbbbf5dc70798b280afe4c957cb2dd36846e41f17cb8245b52f2ee1831a12891c42dfb3e6501964b6c1c4c8a035ba83d11cd634ce8d0cf3ab0dcadec10a8333e1583c34f816a013a712629e3e2c831342deb9de1048776190919fda444c0b3f742f12824cc7f5acabb28cad1ff56198722e6b0bb75d06445601969a3805985ab797028fea3ffea7ffa6f3a880e95930e0d83f8425760d055e2154c45933c44bc98218f3a678eba6bc00ff55938c35bfdb91d601cbe85082855738fbb427dce7b18bc5946a46464bbccfad09e9d85d91b7c4d082bae0c2949143c982c788a7f828b68b6b47766b3c6dc21c8514cb088ea56f894ee33c096078dd0b3ae9e083d6ee7dea829e20a38d307628cb19fa253a3e6287bebd0a8226eea23d17bb406dbea9a51647e2e24c755ec74dcc553374e7e85c3ab45e826251cdcf41e4ba7f98a29d56ad23a59b8297b8865f51f0826fbc1c83c023dcd3b9ba85f471f64ac95108830787715cfa6d5068bcb9d7f86bc4646daae5dcd965bfffcf52cc8d40aaaf50c0c2eaa2b18c30f2e31f9a84d2b810c96ef2942d7e363546b12f735f32343c0a9755a2e2372f973f8e0cefcd91de83cabb72796a6983fc29d4e59625b9d72cda8ed9d4f81aa08d9dd6dcb0402d3027b084bd693c033452205eea3a0a95197ace95c1737191f54505ea7055b8d8e4977a2205efa350f6b6c4bb26c239b3251158d607e671d774800d77f4a47518df3afd9b8bc77f5bf6bd4f9faa04932f61691a2a770916eae879d75e3728f5a580aa588e26d17d75c3884a6776e03ede531143240f3ba716a770c182d47a150097b88a46af6183c0b2d683c1d1a55290db2d66e240eb67c0f49a48dc1011e758eaeeeb4227b366e0da8179239bcca8570e9b11e753c4a53381b64f2e0a819b67f8e2f55a244c33d06213946d69601b55766dbd1b4b76ad3509643568b31102208a952af1c17f64a9b53a4753cb86755272e07c14c42329cb60be0e8923a7b40affca6b569a18545f3deac2e2cad214bcfe0d2ef746f6454008c30119375e9d574773a7b193fdb3e5339807aa27165a7d1e22bd4ec11c123b3c417424e94babf97e1e8ed1508958a4235295a7f940ccb6b83773527a0e73a0cdac517c39d1184f27f0a81e070a0dccc46edf89c342ee6dfad1d81cfd02adbd4837f8016dd373eeaa5046b92e80620be7712169aa3c1d88c5240baf2b1feea601119826728a578dd6df3e874ea2f2ff0b1b686411fbf0f1527fb863107881584da56dda8879b66dc4cb8c1b6648859ecbcc4024382c2f461a5212cfba1e677e3878c0a476b22f078ff19707a9f83254acc46c08509df3ceb900f0a5a95b3badd31f448236c80d7ae00b58447ec23ed26bc842c6503771ca4d685a50b2015d46eded7d8bf8d0da9b2b1570a4150cdca62e4720a667e87a2861b83577b844ce81f9401dd00ef0e07088d49c1f93d1007d4220de8c7cdbc509bff37a251f9943d8a1f01c98f4a3525d7d40e78a24bd2736e26b7a0f5f0058a5eb82c136d0ebf58346de49a1d532eeecc15cf6769231e780e80e0cfe1d148b7bb5e04f5261b05bc686b1d9ebe8cfab7846a537911cea29f4b8191cff6755e8955b569869546c741158222d65280e31174f3bf78222223b333e24297c8ef62d8763419fcc9fd015c51d1446d62aa4f396810f9da4581bf860eeba00240a22b1697bf24bc4d06d3f88539854bfbae1dfd2891e58a53350f477fd74b3c6cec39bcde3d897c89042935f81211fa3d042d2e601b612ab0396492cd08fa9b358f0afd7cd55060bf62ce27c060c30017698af4dc790adc1c91fb1f188251378d839a378db35ff453006f04840f924b74792227599f20bfa5386f068f5d74a0d8c325cc3fd7b2b956119916ae3605bf2595428710decd13c2cf3839cce69f2da462551d569370c649202ea240b5cb0c0bf8661982a68899ea032b4f2ef398dc8003992a8fb48b81c1273907d1b4db0844051e779f687aafd8f3a7409d3db1f2ad9dcd3867f2c6a4b3f9ffd18aac0fa7ea2c3ce25995ea2a40583a7a713773e1d1061fec44bba404dd8b78450eaee4ff9805808a0aee7a99b6ef3a31e4fdf9277428f23e653e2939bc30e5b76f764249de2b970c51c1fe1b39e48ea05e865a818d60f0fd2cafa6114efc06ac539827665cb485c5d6fb169273b6b9cc8f6219ec661d59fa2698d5591686509e72d9639328c22ce3c8d90160e084a1a2d457c0ebb274f143ae1d916b14683b3a5095f0addd62e7922d5e0f140693fd33e559ebeb0f61f857e437046b2aa7dfdedf057677396a1b528fb3ba1f52d391971431ec7ce57a713f8994a3eab0c18f09a86d1d5034aa8d92e7722ffddf82be5699a16d7e2f330aadad0d1ab6509eec5ea9c8e641e9fcc21a63a3c037ec26271ea11b97ec82c89dcff78ca6b2651aaed087e34e303fa7b0a7d5a30d65da503daee1428e563431749139688c03de5a20e0a72525eb244a5387c6589d4aa1d6027b73b759c8aa364a25f3033f79bf3baf329e59361b465280ab6e8ed335655384e1b728745d183eaf91111b1641342e49652a69452be07bb07c10733300a8040151cbd07e2d52888ca005041ea5f9cf4618c1ef302b081131b85da2f66d9db1cc930bb792848edcd7acf14998f25c5ece7802f056ca8e0eeeebfbcbbef3b77eedcb9ee1e1dba7bec6e6f6777f7f6962eeff6ce5690daddb97327516b91daf7197d2f7b9794d3e5dacf60ef33ba2b37776f3da4ef315131db478f5df251e56d5298fccd7bbfd136e77d7d4fa377de9b2e2926fffe7b6d7d74bcbbbb69ab394fb9d6374b758666279fabe2c36ff33aa4ae5763cb7fee300b8ac9bfcf4ad0914de1dccb18df81e8d4c7bd29a6ef8d7712292b984496b4cb7eb7eeebbef7507c92d4b3b83403af428a430c13ef0aa5261bddddcccc73ce1921cda1338de0225ddf3e3ce9079097c48f9febe9c054b3cc4ed6261c522ef7594fcc6ebefb4e9d1c60ba20b50ddfe5b9e9e7e4dc8f5182d9c35a9afd48ccac8589f0636666666666c88f99bbc70498d99d88397849479254e07ffcde7bafdfeb7ffd31bcf71e7cefbdc73447ff04315f56705d8f0a395e78ef45dd293bd0a0529134655ffeeb9bd4f65178619fa98fed47fc6540fc18f629d0dc0f7fee98f9f947ef306d6e6ecefe878f5ef99fbd3044f341811f1ba98e9e251f6bf4bb2f2be60e058028f598ed9d04263b1c6112c30412471089396a811524a000d1c5891f8eec941d7690a205a9edc9b0487afc64d02033adb9f7f0f9f4ef74827ffad367ffd33dfe74722dcefb1e9b8e1dcd3d1f15fe5399ede89d2c7befbd7d4f85293a58513beefd2efdd04a5889a9f7bee377fd27baef254a668b73dae43eeaf4c290daf487eb694ec793272af4cebeac98dd26753d7547ef4ca077ba293a38919b6506ae3300e2d57f867eefe9e4640f7e67b49b51f9bb1ab56b60e5ef64564a795a9c56b1e0551ecd6e953ab0376c3c04de8e16569c96a7a7b7caccbcbe717c63c6d6e0876ca32649a6b22a2a8931c6244290ea34c71e73a4b5d0558c628c31ae52aaa51d3ced8ddd1a90ca8e096276ab2481262a43606fece01eebd3ec2a06ccc0d51f88d717779fc6bf836fc0adb1cfbd59ddefb60948039aef9d978e6d96324987fb37e7f46974f01380bf7d505907739bc3dbb4dba556d25cf58063bc4d298041c3e48734cbdee3c7cc327bcf8c921cf5b28cf4d125b4124c7e3732a747f9164a85ff34a8c2f120fc07dfeeee6e0ac27d4f48295f7421b758faa96f68c8778797dcdddd9fb3a4b47ee1c1849172942447499224e1a2e5e1244cc443429687877aac5c9a4c4a1586d0a4d23c91b295c6e9573ac27c4a499224f121976bce21fee12e971bc52d52bbfdbaf70101d3a42861c491808047529240ea7d4f7324c430c25c9ac9b3b1f7de0ea9543fa2c9ccdfbcdbed4fb4c0bf7bef69efc1e7f3bdf7de8b4c4c2e8da713a91b77f7dd5d77b9bb3b0fef71d462692993124b86a561e4a8c2c1315ab03cc2ccccdcaeadc317532d7777982dec1561763a759b63f7f762cc86984e995985839999993966529ea63ca19a250e14a350a895a9d3e98442a152294dd3b8cde197da53a95e5e5e542cf42a4e546ba2542e3033b3a6b19ccc97150d6dbaff932a55ea6535591acb09bfcd7166677676a6c1c1028cc6aa155c311cb32c164be502d7140c8c0a078c8a05ae327017ecee598c914a1c2d1999171acbc94c2dcbc9c4f1e2c50b181a8cd7afdf7bcf9572777787594acaf75c2d97ab450323c574a95ce09a9a99613999af975653d3b4fb0053ed2207c2452c27fc3162bcb497bbbbc3eea6d1685e88984e3bada6c6c606067b158e8db3d78b46a349d5d4d4d8684a386cb8a6702c0c067b8d99d9a6cac05dd07d1a5a527b936aff77e33aabc40b5c23ca97f57b514b73bda55fe01b9c656bf4773d5d780a2a51661d8277cd4c16334db13c3a3a0757db30b5a8cd84da9c0e9693d97155ba4edb94dbbbe27bf2740277262617bc173a4d21f231c67884027fbf529e90328ad9c9ca4a493d8214414648e97173cb343962e43cd967de1a0212f75a4950260918b398429a9a9a9ab848c80b62c3ec6453cd9a9a9a82040952c393f5792f4fad284e2813a4502922908268e1230da477de435e564a6bdd4053c918a17a694d118408264a80a82faba3d58f9e3248fc489feef2776ee6e8b14aac21384a758ed23bcd1c45b214181e4ca5d73d7cf4e8b0e60a2669c7288b308bb0caec7adebe6bca2cdec81eaec7b7871e22db65b7c41ed8f37a7a7a5ccdf5b68f085f0f94d95edfbfb79bc34fa4bac1cefb375980599631b347f8f607bdb3eb1b639cce2fba46c0aee461d0303bd2d7def2fd5b52974f27f37d37dd483a7f514b29e57b5348375deab1fd190e357ba7cf4e27dffe9de43bc1533cc96cae2f497e12367c7da29266f381406771faa54e773a9d4b47c6d07cb9008bc1ffebd2570b956927b997f521fd4e84620447a0a2fa6f2f11618c709b704209311081133e28c92216974230050a0ba3199772e841ced62aa976f31f14b93430c1842547c8a572050a51610212814a92eb49e9c114557af004104c960d23982923f1c88c3f644ae68b1764421822835204942b45247182228e904511535829020b22cc99ba5290744802835765ceba5290709009211d01c48c52b212cc2cc9f590c89c8b39eb4eb1a14815361079584cd805bcb20526cd5885919982220845c842304f41289aa7ba536a88c28511576636c4941a96ec10638c5820750d352049c1941a7ec89e5f40440ef0b9bff927ec108325bc1d2084103ad9028313941e8672804f8a8ca0c3a76c9852bbd79156600820e4229bc43291eaa69caeffa328b806fbd687f5f353b45b2cebc48976cb047d0b2585daf1910ecec6eaf8a8c8793c894e721ef7a186131c139f84bf1a38dcf6332c6fea54bc8813f95073ef7fc6c9ecef7c6875c43660143151aa5d28755390dfe9d4651d606dac0fff8f0bd91c5eb238cdd381c5f242bb1ab593cb65b92c172e299c746ae064b4e3b619d663ca4a184b73cd4bcdf58c135e6a5231fc011565feac8facef73ac8fd7f72dbcf06678af47a7ea3cd7dc7b9ef5f5e97f1fe4871f3f7efca28e8efc98a5d97a91bee782092549473ac538accf23a2329941c78e1e3a8208b1b2b43eef06cbc339ce1193f571a12aae24a0f0402813124af27ae795d18efbe19290d0d0fa7452db800a22c8f9b03fa8fd3198042144bd7926495d3605207441f2f2ee4795c91025d5698cfb3e6edd52f1ffd51af20daf1dbfbb9f6c4e37901fcdf58b11cc6e99ea8f3ae36446d6d2fddcb43eab5161287ba3c79027eb736252da22fca0b674fda02ff94b381011c9da4738496ddf5c55e6cbaf7e0668a4a8b954c7191aa6fc6e77303b267a3c446c78712672292d95da01592af1e5a6dab4d3f6887ec4ef1851cf3fd22da650ecd14a429332d18a767332104cccf7cb44a909f40ea4fe8242f7c4a8c1fcda4749b56323229d267ad952c45cc12862c61880005b233e041e01dfb33e598cafb33e32c6b848c477aae3fac1ecbedb89ab9b170cf0dfef80ffe82bb6e39d5efec6e2fff469d3899fc5771131b9e6e2c7770d31d7c73ffe7439cf4de4f625b4929831c077f96298013660c208c32e4e3b75c550627685e2c80a151c687103295862a8136d9afb42db8fd5d17ef57b84ca6371e00c6b9350210ab801cbcd2664f0b2c556ca13020dea5680ed0103b21a290136e7bdf708c000d46963558881a551a58d176a7c4edd2c8edc813fda2f27a5f481da4edb0c52636ce1d49a4b9859cb21ffd7cfaef79cb17c559f0f07b21a7f5f3f6f06ab5319b6fbf93def56426a6596dae68c5766106e848f054b7d04f7b2d6ae7fd2b7a7b452d59ecc2a463874d1831b3411c50a62ad0425cce086071e090909cd20d6ef6a9ed556087e43c3060abe1ec37d094ff976d92854d8c89197da3110ce44f0132a56180b6fa1513beea2e45da48d54ef2340546f254e8477952144a9fe4fce2174a9feae27020caa3fa743842ad5bfa7084baaff8f0dd53f870e232851fd7bf8300253f5ff3144f50f22c4ca11424e9860c8892310c9a0c80889a3230ca1c915254857ba44495a3a525aba819b90c05c901085d01323187a220b11144b8ab0dc6084c54a1226474d9a7ca544d1a5ae942454a9fe5d65ef749a865477ca92230d492ba2c6e09af624c64ff88465084d7838a209a59926ac78c182d7b59868c20ff1a4be9f4d9cc00584bee23c426433fb00f3acf757f55ded7751bf2b1f666321c771218ed3c5ece7527d3e23adcf089689d667f5fea2a1649cb4126d8e8f60091aedb806d53fc531a8fe27da310baa7fc63e206d8e33d15ba2d7c584175c92db1b174df3a47e5351a4a80d26ec7beff5e4a82ee18feabf1c7c9642807c89e6e1796fff157f890cc998fcd367db908c65bff24fdb0d3db10cbe22d591fdd61d3326638414896c158ead43263fd786fd722045082eb8e91ca96642985d23bde264b160de61e8c6d84432bb46aa29ae775227203f2a6a1dc755e3f316435c41b60e22fccda55695a24da439d4f7eafd79cc6f1ad43fdf69d092a09612b3b9f8f25dfaf3f07e3f6da9de5e525229db657477ba8abf4d257dc99ff3e56b47a75af33da6fbbf756c92cec368fad3ef1fb4d4d447905d729ab591e3bc52bfb53bc5d389b3a69a7de7468a866af6278e4d5b3a455d9034521d44563f558fda66e81a57feabe7d13f69d0ec0f6a6d93e6b2ffe997ad9934976d6c635a5c3d8f98ff18ba9abfa21be3d8da5e31fea4404b22dd21f3311468becc03b54e3f552f18e0af3e02ef65fea7fd5b1f234383dcbf455ff1bb7f7eff6cfdabf55af1a75a9bffdcfa57db6c6d404b76b47e5220a0250dd81891a0253b647e7e108c0f92c97ebeeb5b948f1c27fb6f7dc7472eca444230e8a46ce43859f68276d0921df3571f14342923654fb968514e729c2c7b1935cc8dc54cc7d1b122b2b591e3641fdf919a65591299942a5a6ad6f1521078503b37aa59d21244d4ce95d4ece36b276eea7a28a96b2235fb2c6ba3dad43b2f5e6a2efbec3d8a24d4aea94451bbae8205098ada35969a3d51bbd652b3cfb2ec23537319d302bc8f9ca7911c27fbac8feaeab3b96daca308a927da09c94edfbd1a4fdf69add38f9f3e46a95119b22abf9f34d28b65da9f9e55a7a8bd3c61ceed157fbeaf368e7991ded13ecb7e6eccc571b277a5606e7dc557a42f18e6af7ec7fcd5ea279d14687e0c9dfd719bdb0b859abf63f5f3513fe7c7502014ede27f73fde2467aa76ba49a7d86cab22237ca9464ef4c9a67e6287b2792bd0f390fc7b27f51a190b2ef27d9b30ba8a727ed571db731ed5b757a4dcad4b36a01a85ff94d30479a48efb0f3f467fe48b269a678cc903ea641aa5f2b54ae3b84dfc32104bff75e062184d97b523abbbb73269d439d9c9db9a712fd3f8dde8929d46bbf38d095348354f90cfd4d3f6d3d2d4c1bcde9ac8da74384b93d8ad3d1f166233d23decba6d85d5ee6b7cbbd9e4de1cdbbbbbbeb50e00ebc9d7717be6414d62191b988148dde611e54fcd7b33c3f4c5424431fe32e32dff66f4382a214f0d1656a4bd225ff91cc2cfe202121c1205c781f2c0069aebff5cbfbbb4dfadb3b2d996d7f54d8c7fc3acf7fccc7ac1eb6ad4a07917fc759d16d6ed5edc315ed5edd60bf0fdbe65c3d84f955f74221cc06b3bdbca07e17f58b7aabd56ab55afdf88aeeb6d96c9a647d0d7dcd87fd90188bdad0d7a42f186cbee677d87ccdcfafa1404b26dd51f3300af48e33bf66d2dd0dae549acdb6b19a6d632f2ad4c75edbc65eb098347e8c6d6333dbc65c30b61f7f32f20acd2132fdaaf2de7b99bbfb83f9d4a798a658d3e66b2fdfdcddcfc2d6fe21d5c7abac564d666ddacf6d48e56d065857b4005c437b516d9d56530f6685ec53943b594fb425b7d9bd1ade7bcfd1b899481089bb689a73d99fda6e9522f34f1be6c650dfdfc9cd46733a9c14f3d46ace3fd65bc72bf0675b975120346aa4f0a5871bd7e91da6db6ae990da9b14111e52586d8ebf7334747a50c0863f81cf697c35c586a404547f340624fd3cfa7fbae96877e376a4ddfdb18bb13f462dc391bd3004f220e5ee3c52664dc48be4b121c7e9e8f4f4c4f076777dbf0a161d14aa7cc2aeea91b6ea3ea4a1ddcc64eabdf75964ce24bf9514bd239beb66540f808c1b1cd7e8ee759a6b559e1eaf3774708d066c4e15d2dc7bb5a767551bb002bec147b8c6e402d0c95d6255bb395f0f5742524272926363232cd747f80623f5952578306205b59fe91393bf6e32f0d327e60a391dcb60768cc457d687bfd908463562a31ecef38be3effe1d8c0db634fcdf9680a5e1fc7322c2cdce031707feaaa6ef2f162b55562e4f0ec7e9a7591ad5028bd3aff5a7fa513a3dbc39fd302dc891458151721c505d952d2753fe528d22c22d4f2fe53f875974a14ed2d59309f2310a52a95d9f86efc1b7f0b93b91da1b194f7f5f5231bbde42b7192f63bba1518b100d55a70fc836390ad59bfce126c35e609b6a0cfe4d545cf32d7e6abe6f716e286c8eb7beb9384faf5e545aaa4aad552d166222409b4344734ccd35317d74266f62da60930d2235c7caf10250caa8b98605a82b258b0f95bd08b049ed4f40ed6092daff6a81bb970b35c6f30fa95b3bf8926a7f8e9899987f11f3ae9887f1b009dfd837e750edffc7e4fdafc7c4fa4ed6f9bbf35d85636a3199df95a931b6f704c6d07cff8e6c4ee7581ff96aafa49837ff8abfb1190f93c3799c69a65fb81a06ed6a769b71f302c67735eae33ec677aed77793c68fdc99de91f599bfd14e3eed268c762e1bda3dc739130dede48b76d367e8918b765ca4dd02aa3f0c3f7ab1c93ca66e085105b24d1978315bf754d0bd28db5c5627456173322ed9dbd0c9b2ac4fae6573a627a633f5e77861c6b6b1d4cd06b457a8808b26c43ea0a2c14816b125ef99cbe6f477cde56693f13336ea4c9bd33d30094830f93b675a1f55ed1c3db02a4689456e803609209c7014fb808a06231a624b826c4b1e03a4aff75be16fe91da72f8e06576da02084102a4491b1d12d0a5c923122a55a8d4766edeeaec33aeefe0280b339dc8d942e57cabdfdc576778f0d51bbbb2a34b7efeedbb4dde592d2bddd5d6ef73f8c66eeb17bbbbbbbbbbb7db7dbbbbbbb6777777777cfe4805f37fc8fbe7e0e3deeeeceecf929d316427ffee4eebe94c6f0253767bf2bab4208274bcbb4743aaba6a959617189be9c797cd3fdedaedc9fb642820aee3273ecb34242e7eeeeddeeeefaeebabb3bf7602a4b450dfadb9d7577f7ddddf559dfb27b06767366c82a0b5b4f32cb32b9dddfeeee5b98173f605e8af0c52b1eed5c907633c2086506a3ccde52cc56cc4b2fc22ccbb20833fa5e13605c625e529d62f419380fa8be2d075f9bf13fceb355cc58c564c12a58307087b9c4bc1461842799bd28603cc9ec55311325d50e83420fb37e6c34a7d334f9dbe9fb7818b3797abf5236fd20c56cf5809e76e55fe01579d250f099399d67c957a4a2a6c2f1e22a8bc9ffd30a688257521a4a539ddec73b4b4953b5f016e0ef4353b5f02fab6c3523174d96a604eeb785450b85116a1775513b152c1866f6fdf9d91c1de63677f31fd3d27ca369cee53ac9ec0b6d978b829c36159aeb179a6fd4add12fbb3f6b3652c0e6f4153f54cc18188e31847ce97aee21d5d48a8b102b1d2e5a38e1069a16442c2daad822082f5ca040a68b10c823a12d58632a9599df979238c55d2abfa1caff886ae0177e4a2abf26958d5067fef5ce8efcc1141a70a82f5e4685e385cc14a11d54996fa970c8c8d6c7a870b462a0c4d0a831313f916accbbbac0a2c6fc7661e4b90822c9d2eaf7ca1155abaafea9ba04a1aab68881165d3809295ab06063c249121f00b124241443cd563dd1d4d34d3d9d9c10453d3da1074ef0c1cb0138210412015c8cf09cdaddf8649184ea4db041752e3764a1a472331c73c47cd7746571e465040b21486982b6e5498dffe24b2c8a6afcd504a2083eece007226c59628167094208edbdf7de0b13ad18b5a36982094ab6d0b0450635fe5ed1c4db800a191f8d514d5c614516f57d4a85e33181a6c6a61d6a1c42531435feb482881a636c592396f043ce12a844971042a878473e1e24aa60aae28789c38a77a850b1447d31ac6869e952e3472a5450e33a41081d98e480484a0a8ce04c4749292d43ac0f664082558c29d4f73b0517525616d1fba7c2e6bcf7de6f533e8249799257013a62c24d8ef8a83721cdbda751995d613ec68b9ca7bb5b559bbaaecc8e8ff8a8776613e611433706f33c5e90ea78f132bfb11866f2627399cd5b5b93a398ed0561b6177cf831146809a4402e20981f12db60b6a9c2faf4773a389687a3384a61a104fdcd39d4fe5deea1ca872b496530228bd47e6fd27914ead02051669394f4b5d4713ed238fdec14c9ecb689859a4890198400f54e973d60ca9003a2231c92d050b9c8bf8895c43905cba3b9a03583da347d3344a510478a763f2410d7f2f60b1229e93a92ca87a3d42e8fcdaf93e5b1a17ca4719c0231a5bacdf60fb3755c619a8b34add302e16210c467cb1569bfd60a89b268982f147ad607a67e7707868fa16d6a2a61d06dceb54b4682a08c700df7b14cafefc74a8ec333ef826124466ba648eab5d13c53b13c5d8226325242b3f191e6bc4bb0d208b69626269bef98c99f898a888cb886bfd0cbe8151710299220d8db7c3fec61f3404b1a06b3f956e1e8fff117b72e065224309b87d1a0ed6dfea7e7faf43bec5f7e7707c2282b398e7f0c4a67280cca58fc5558b886ffea536f93f9986d5b080bdfe8224cd25bcce43c3d45f8462b69512199edc5a7b03c1b581c0fd2443eb886bf13edd28b8d8f70ddc0fa07f16f22f7f7d1c9e6a2cdf16f14666a3061dff5d41ee7e1a220ad2465a4643915ac5799ededfa4d51bfa42f175a0fb9dafa164512441ff6f0bb07ec8196404a9b763f6a3fec59850376730d84db0534454279c09ed2a0ed6f582243022acc7f20f6d33fbd35ffd05d152699907291bb06125037208ed9c0be3724b0871b920ec06030d83745e281209b0f8aad4a078c02c1d43c6beb609db46bad66ab6a3da72d031c1b36dcea5ff362748c222d3c74a95e770a0f4c35c513f3fb1a589e18ca451a86763c84848d8a88f691d4eed8a8b6bca1a9aa9f55a5fa56f3f4f8e555c560aa54903557f4658736a77fea60763a599665d9c30fd4e7a3fa865529a5fca77a1e52693355f529d5a354b403c2adb60d716d6903082184124208e13f64222a841042e87aaee6beb98690d2d0d89cfe2c8b6c1aebb34d44846decb0c3cbceeb02c33e6fb0032264f9c1074cba58427d2ffe73650fcee65c99abb906a2332b9d62f2c858ff4fafdc37b461c80a9070a0c40a8e9694f02a6258c2094a4d7a5822042c4e05d3e935926f95204582b0e10a21278238c2b53881a910889665d9db327a1371bc6982d9b9aafbeb816b6af5647dafc27bef9fca514c7d2bdfa3b2ab099a5577868c89343f57a62c94c3fcda49e69825a63b0c0b66c742a915e2fb33918f6c64a4ae36a7a8fe34ebb3d5bdbba96489a23aed26c42c8b4d3066597ceeae2cfbf7228c10c6971925396ad20fcb3279626629ebba74672e2f5b3889abbc079f3b844ca53ea9fb4a4b4c4ddda4a3244146eaa236ea247df4ded2b8bff7dcdd7d8d921c35e927df72a81dda99ddd9d91d66470f9945f8a2f287046baefc4525b3081f123052887c4db3e5109a5cae5efd4b4a63cacbbcbccc6fdf7b8fb7eb5cfd7e0f3ea24283871ca7554f83de5c7a7d68370a96eea60af5906ae326da866aaef2846bc249aa3719622b4e5952b81eb29ba49425b250dd1063151c3428556cb8014208e1952ade125710895280000ab9822d6a70296af73af0503b6e9d87271580228b1ff4708392097c88f994225b5456dd2945b4d4ee8bd036cbb2087bb02fee3e86f13d66974bca7dbb10be13a4a64cf97367a6a70437bac7edc51eeededb368761b6b0657ebbdaa5303398cb4b5537ec3c27529dee29c6fed45bd74ff3701fb1cfda42e989a336d91cea39ca512814caddf7eddbf7fc793f019f67ad1821cc32f810423817bafb7b563cf9de6bf7f74e328beeefe8bdc731c61841d071f5799bf364065d668e9492bdd345669f2e0865f60f6b02618278ff9eafb2295d90669994307a16e12322d5d568e131c0986581fedc1f74d9b3fe82d47b3f39b27c7e053e8f0ddf7baf61840ea17be77a1266b0218410c2f7327e3b48bd87f131be87eb67fe6d27dac5d85efb319ee66768feb594478ca799f9578f099c7e9845944c2a478a1499528488ca22a83b2507a12a8226112cd59d52646552c98654995f6dddababc99a3593da50209b87d19fe66ce8ab35e9ab55435fada08dd262b16ebe860201e06da48c1ab69ff19366aa1556ff3281e67ac6f6daffdfd8b6d93cec79d4fcd3a0ff1a2ee81bb0b1779c760d89d9d0d7eed8dee6f76d647c0d05b279190f54f31b274363005806a090bc5efb38f679d0873d8c020d49cd7fb1d95eab9aedb5fad5dbd83c8c02cd789b07baf99a1f125bd50b868d878c7fad6c1ef64135ff43623c600f8007000db2a119d801fba7403d8ed30dd8d890d8c67efa37368352ba647f6337741d67e5abf9b0a6da6c1b439160c27fe7d9d89461d1170c3535b0b7f9a01acac3260846df7158d46663acdd5dfd6adb9aa2d95e9b0c1ab3c9fa62db975fa42c467591b230216549aadbfc96ccd6cd2ab32f6937c3abad8ff9d449838979c100e3693e02309e86be22e0fa57cddbfc8e9ab7a1404be603bd566ff31baba1af7dd86f6cd21dff355f43815e2bfa82617b9be7b1bd0d0d5ab2a3e6657c90cd6f94878cdf7ea341352f83c69ebe96be60f887d1a025413c60ffff3468a3b0dfd890586ab5b5b6b45b24d6bf6464583d322c19ae25b3fa57ebb582d1d7eae9d397f6afd58effd74bfbadf53a75619e59f4b78dbe64fed5daf1dfa23be8c356dbeb25c363f50b03f3dbf6bf2a160ccc6b8b8289b152778a0f445a867641aa0c6c7bad9e3eece7f67ab57ef5acdf9fffdbab4561a00ffbd78af2a014f6dbffbf5894c7f6ff1bfdfff1b9c5fc6fb0988fa9ad47a970b4fec506a4b9fed15cb73ea5a5a874ee5724b16434220200401014c314000020100a06c4428148241cd1e45def14000f76824080623a9788b32489318590318410024000046004444613071f7587db81bbeb502638ecea7305e4b46fe572ef011deebee0f30abc02f34f99b27287bff2f3f82b87e6b862f02b21b7a4351ad1a9001d5f18ba9f35c3c123450cd7dfdb63efeae45fb7fc15e59b56f809d6daabfda58af5d63e6c072709918dd305088d60cb3445bbc0f6978335696c6a8af02c696a58c9afaabdd1be9e33fa6454dde343d22d581abab8c4b5410c23cf30e388fc476921ff9518cfe119153ebacbca313f38482207a0a255aa85414968f998681766367f720a19a86a1dcb22b33cb87342ea19bce429f06bc46fed6f7ec7270f28a848be4653885bdb01479d2d8cc07a12a63032b14b0819ec028361bb97e409704025c1fe5bdeaa426c527389ca0670fe6e6fc695a4e7d794090b8ca275a09e00f809b270b90e86a0943fa8760629eba54293a7ea7b0777ee9cf7d881d6b25447067e63a4ef52fe823636ffd1ffc716d4cbaec54f26dc16b26e2a49bcb73c217cf50c7e5d70786d610c398e8af8b8f1c61951042683cd6fab878b68f32506a95f7765eb452e20e3b840055a7e3193b90727907796914435ebe18aa699fd91166a0679e6b201960559bf8f00c4b208e5a91a956a68f76070a9a049d9aa6bedf490bd016773163156fa8f56c59c68c4aa776d8bb19cac9c00e2dd09594cddea9f06362c4c4d1e82b9d33d5f4df4edc0eb4388a0be08e964615d13353fc6d010265ed00e1aa3018384fc4f5d1b44f1172d6cb6c542c9d0049421c70fbbe6e60c0dc2773125aa7338e6295db09aed621dac860ac1be75a531c12d1c5479b1001a77d0dd75e0bf2974afaf5c146ae17d6686a046191928ae6b298401a3056ffa976bf118127384f55c746ef8b4bc136358f7a5fb74847e0364f87a045bb7357a8cb3bacaada7bbe2f2d033357c0ad30e913934951929279eec6e3c89bdfddae1b92c7a8216a4bc4f32d7c0ecce646373a424f985644ed9b78424ad0f25ac0b3364b119c969a08784eba7c0c585b0743244c55fb1ac35d82d2912a25e898f4b84ba7253c92e9a554da0c7ed7b33d9404c46c3d550733b3162bc4fbe268919de4f6dd350840ce38014b444d3277d22e2981a30ab5caaae1145e59cc9f371c5e580e471f43642c2b2f3908f7e330dae3db0806cf200c05919fd2b2cf712c407c88e7def062c4ab24eede09110521b1721b8bffa1ec1c57472d8e82d08dec9481f26c66beb1bb1e4f7f6f9f87df1d6fe0d045497c017cd7650e384ffb21e7e6c8f0e9a11942e8896d1aa2c0f8932292278582eecf3321da3507edd9d3ddfa686d4c2f70a0fcae86d2bea27b95326b0ebc7c49c5e2a919296b3c5e8d9166e98f81ba7b89a471df3441bc9103bb67aa52f6d7082c74aa9d73426e037df5cb694779d43bdad162faec52d4f527dfeac9a4893647add3a475d011b1a59bd9ebe2cf2bc3a954b0e5638687c22ad3142a12a04e6125bd6e9d6c6251a307c1f7000bd129a82606e887706dc754c295c4c05ce7bbf112bf24bf9f96b54ab50af89d043ff79d938870adfd06ae730b52e181da8eb774dadcd9a48a928313d40644156aa6acafce80da4a04c89f1cec1542631a5cd8a2999c1e77c4545a42f04794a18692281ce4b5d1c722237dd74b300652a5e8c46677059267b697fc7361853319b9622f0cb8b530ad6ea63ad01fe7589559ed8ddae0bcd6f210a087989f246994f2b590895939d77589513939dce42bb6c1618c90e481c3d111b43977ab8cc658f90aa0cb9f587b6260ac0dbf4d2402bf0e581e7d72181dd59c607568d9cbe3a739cdd9bfd455cd0e46767e887dc41ccff71683a535ef6e284140d7f30f6acb8521dbeaab28d942a4a00ac3810d5b5302fdfd53dfd6f82ed46d13faec0d64ad976084d8cd8e0e5f4bae2f6b6f01f48c349e9b90e2e9d5cecb024c7f65fb62437687e8a397faa100b3a54145e1fa64f8ebb68794ac4c2aae0c29e07c336045e7e6af9d3d9855e3474270573df2d7571b50486a47a1d74293f4d7748cb0049085c500c0dc4a23f186fc5b03a63c0d300a465630671a548011f7477e41f3cdc5f7e99903eb74460ee5f9c26ccec6cfd786bd66ce6301c8c2a97b5104da767f948f7fe230557915d981d614ec7efc187d333b86ad88e2a5b891a3d1af22cf6d311869b29d1742dc9bd321887c248db094f21c2e9063997cb63eb75fa5820b0190137a3d4d1193d447016debac7bef3a9a19ec8fee13e6ab7f017e82f4f111a8b93f14d06dc8c21d14fc3c47dde3cab8cb88e67fe6477866bd747edd3e73b4cbd561dd7d93407bf7de475ad8e4a984660f1af243070b96eedda2ec368fe3e455ca8c725e1f141024fc05d0f30f1c598282c5a9dba890018c82c48c06591475705712c6e08e310ae4d51d15bbcd349102ff69b66f2d9d94684865bab63c92455ca260fd33c3ca8349ab7d73f842e45857ed542cadd8ce8e19f23a64432c22e797ec4844eafe5de45c069d9bd80ab873069cdc40ef7c0efaeb5710e8e4107ab957e594255ecbf9504fc6c9e634242fe25cf4cb6a636caceb8d228017a1d461d1cb8fb774c2dd6938b38efb4b05e1a9ff8e6059040d04323d8bb0c7f4e40328b2283c6b64d69ebe2a7a029d4e2c9140c83fd736c189daf86809b5bb0b1278d4917504f8b735131315681537f1c7abf84cb1d6d38a7e4c467a49bfb316d61eee40b3bba56109c5e2ffd110ee05c6b3fae5686997fed21abb739b0be7e9dc1ff658df925609efe1a7a6adf9cf8d330e1a1ef022acc9893664c36a14861697c5ad32478644048b82c219be124c4d88466e612a4563b1d351a4a38b6460015c122bb634ca02d4a167931898ef771717ae1d47b383f85286442c833b1c76f8d3f4cc8f107c0aafa6d02ec0405e5e58d4834c2585f6c3a533ec8c40cae888fb13116e99a90b085c21c5a1d06b3f252cd4a6c1476b50b7f085971690f2bc556c6171120eba72736b930e59295e73203f72c7d0a7ebd6c4237c0016dccd2e0746e2abe6819e19aaf52b6422f1fb70e5e3fbd99ee13670d29fb1311e3806dc0bd8a62501d24d9d2c93927855f4a0a319e0196846834061485d8cd7adbe7fe4ee3b68c3b36e648b755e5923bb958abcfdfe92322acbf5771c88c61b4ca83cd59f5bfa1fd48d449485b4e502881980217cddc568cd6fecae41514d992a2775ec11d5a3260c56ded113b04da97a8d2888b70324832c1bd213008f2cb4dd16a5a2a5eaa30608b9c02d061869e31136f478769d360c24478723a83796756885ed01c990c618d07ae571a371857703df7ef7d5b95af7a3bdcf060075b3cb54e40638adfc5c737c41438254841d5830988d05abb11dd549eaccbe21f36abe34783733b467a22ff0cf342164b9ec4682b1074c45266a755d629a3e571ad199dab52aa049c4fa536072176952e679d75667526a5d492d3324d463bc35b3ccfc6b1f1269a58d35dca46c8bfa499f82475f1aaa8ea5a1806d4b3270f761030a088ca5fc15e3723e3d4ac26b9e22f9f2f9463b16c1c6bc1c47e7b92eca5884e383ed760357aaf422fdecba24c9e9690eca14600c1dd9c8a672a4063d0c646ad6c8d654bb0858030b343ef801296dde50b2d15ea959444049786942a6807444867dd84a64226e780de506acf8e65dcfaecb6cac13b69b4820443d7086e1ef669700b3d508577d70c032ab08c04e953006b44ef867af14c49faf7808cdd2218ced628a9e475cbe1a1d5d1428027de92ed92ed0e8ce9f95e4a70d066e82427b2d125abe769bb0c595d129ab58dc70359b29b61960c154630c0c2e1ffb61c82d7ac6c52a3d036255ba6eb9f5541429b7b007c8c101d17d499b86c377d9d32809e1f0b81e0416a38436c59adc74fc89f57036cc636b50bfcd0c30ae13a2384fb18ca95e50aab316c86854f124ba1ec77240f09eb2a4bc8442cebf746aebf201c79904de9785d24d48264add8de88581f8329314b0c897ed89615ed87961ff10b868135f708bbd7a9357ab84fa4bb2ff90adf579c75bfafc6f9993eca2849f98f73323a03f0362d1b62ecba1a10eefbd51860b9a9f42cc3e22fa1e094ea220989520a68daae8949ebaa04f78890b9375289b4e02563745c5456015f7408d40c4a43f498924a0772b86baa4df2eb08952f1a07da132c312e5cdb773cf555e401a03cfa08c2a89d06af73aae58d2e476a9ab21a170ccb27de517251275381c999b6230c8c8ac45bd4c69a544683022491a2e543c824cc3820ff91c1f023f5c70243c24ea160f2211fc61e0b26bafc7906df6fd91ccff027aeb00b73881e34d41f268d2006d68cffd72fce601f03c0abbd6009360fbeacacbcf074b30a1bf6c445ea35876de49f4a6978360aeb3d66eab529a459415b4c8abe585a545650cdb841ebc2cf6a0b6735c54d45b11bf79c947702cca0a56da24a5cb88f543b0f9bc7422cf780520e170a5fb4c3d8816d015ba0faa2337ef69c7d574d118a13b8c45fdc30d4089807c2da4fea48cdb7e5411346e185509e801e8a77a0dd34c1e70a4761ae81915eadb1c4240dfc69d6ff08500a99ba23eeb8a34c1f953869a74530ea7a05bdb191805a1a07e66de4850dcb7a2ed8316e3470f2d83aa4017b2d64aeb2caa21dd8f7b8ba57c1661a7f1f0786e959587371075b6a10b6246f1924cce9228109bb82fc3aa301e2599dd48dbe59530346ef2abb64bd066ccc9efd8a844337090cbf739140577c0925545b011da579ac455980d2a4d3832cee3ad94417f7fc142609c1e74a0a13aaf378a183512204bf84f96d55dffa3182092fd9ee0aca0e4d001f9aee1ec840d4e0b9d32e7427c3479a36d4d96b26c4e4581eb2672a326468ff741360e11e1e0c41ddd37ac8d9f0de55d8b116dc3fdc4dac2743f83ef9d834c6110633472445836e408f411c277ec501bb6f3045c78752b2a66023d90c56e31dc33262cfda0ee0114f74a5b6f0c0809684edfa6bd6f4b2b529329ce650d86ef11693a85630a26ea73f97bab75a7ab5976621366e4239d07704c6fafd570b59fd33991d2cab05096416ec943e54537ed736b4781f83985a0ee885632c7d6586341013d73f7ade41b6b384288b63143fa573cc899829e4886664ec550d1104b5abe19e07296563fa5090bd8208f7329c13986b209f27a97bd84d81290baf5812845e028f82e0b57cb9f0a7097036307c227be711d86b019570eb47a5e6b258c5aa30a8980e30723bb79adbc33e30e7d6c409ead28564f8ea66907f6eaec9bb1ed16975d5927ed28723d81594317419e576c486f9dc3ca87e36810fe83b27b658870392e1493cf870cfa8b2fb662e473d041a18e40a903f2a40f3a53ae7275845d53cb61f52b204bce304f2a7ca902b22824abc4ea3c1541047cb70312e30bf567789675d917547634d41e9f7ce3d6b0801018fd9bce29dd4aebed6b1c1c2efde1b3f1ce03c0e23363477346907679b0adeb491520a22c55f6d021a7aeb2afb0ced0d0fff9b2f7949381f9c287da14c748566e6c37b022d3d43ea0e56e728bb36ce564806a42c22d341242312a9146915f2f11b2bb03456148e058f9775752a400e7320d3e80543600710fa39e503b99e6eeec19ae276ca3f19920503f354794febed3a151609bfccb48b0f865cb57f12982a897be703db5ddf66b086974af2f98e70bb53dac4dacc8b13e3cf8002ac032365b320676c102dc927cc497dc6e52cec438bcfc9c83c4f4742f6ee439198f84130545fc72a657700096c932f1a572e79a8de2e5ce9854950bea1a0a1b044ac8c9b2f402ab66f760fd6033d54a493b3223eb9be32148d3bea106e29b999f51f32d14f366f2085a0d0cb73829a58e1fb3673f671c160bf72be555212cbd33dac1b355e70a580ec37942dcb481030fbc19bebeeacf0643a8e54add0d92fdedc93dabc166c2066719d31f5218ad47b21a3960574540c25d5df9248ae0ef8e8415e5541870687bd7775b56114d7a145a76c72a2210a283302204fa709aa58a790c23c44a027e783b5f4f674f966645f2ef1a99ee5e77a2b601b1db0038716cc624654f1bcee04553a71e8710e69a7a625d9430f523cf035bb2236018931952e2235977e504b054bfcbce2ea9cf42a6ad7ff840a82fbeed6f95a079834ec585579ce8545e123358e75fc44b8b465797a220a9d70dd8510615a12a1283f5e1090050081fd9adc70ec65afc16c506c7f4051681e84d0dfe8b602d8eb6b8cd53eb606982ad94731a0da776268d86fcc687bf434a730de4e1b3fe89cf96ae505d902f81b417b26ebee0ee13866abcb70d480fa13f68afc0a55da43a0cc2157c077b18cd9cf0f2ee185a8387463a9bff3238cc25f21ab07f0381b0f8b667345821dff1fcb7fccc88212b6091fd2334137edd6f8128431bd0bcc9b762509d600da5e13d1509a67a866fa6263ab91b997bec3caa8c795e75f64a341283fe087cf6e5e486e5e337fa951403bdcbb80716b7a72068f56ae32206b82e4f8a2b6eb738be131de1f93840773503168fe913f4a0a7605e5d44234d17cfc09d2517196ac9da8506b2379c0f65e970526e9ac2a32f2fbb50597668e4a5a900956f5d71dfeea22e413be2f849be5c4745209ffeb40ca8b3346e17bb09ff7bc12930063a03d94c98d034c4175671a5bbe735e1e9857b94f47a01eb901b84ffaf0246167f04a1381f85390e118f1149ecf2e8b023b4ae2036f99778d553bafc04bbd086b06a1acd33fc3f275c53a3b5bcc18a473193362dd584cf9c4ea69d5144e3822ad7add030b842e7d431390ebfa14f009bced380fe33ae7e50054fa101f96969501b99cbf3a8fc7f647a5a0a1fc0cb242307696e7f5ee480338d08deeddae41a4379ac6422ed852eeee91e41dfd4493b5551a44cf1fb8fa9e23cadd63eaf27727f495836946a02c6351970049d08f6fb22dda4e1c47cd275232e8f263abef8f4a7b0365091db9b9938eb06b086dce7cc056f7c03edbaa40cc4f86569b72a097451047d3d1f02f27bae8bd6b99b78e995e0780e5729d7488fb7417765e4fabb6c79e835ca6264e52ea02684768d8b31f802c6cf322c7fd9d3c951e7179fe17597f8933195681c3592cf5dd675eaed652e70f164bcb826c8eb73696d0577ed3c4efd3478adbc1e442cb3e03a5de635e6768c3f37f147449d7550b53856e1dafe994e0fd2aeb60da4af9645ab158e8686a2b6f2d45c054f949b43f767477df22d6b9594108df4e0169393c76a8c6c3c2e92d2b53f193093bbf7f2896181d1b1eff136928c0874cbd26f6e04f37cd3f13da3ba37c3b6c29730f69ee72332a5ea09b00639e14f3cd546f7a193cadf6e6dd01ea7113b689e06bb1675537c28392b282b1666e6af69f1a79527ae796f5d41a343943c68684ac4334d0d618c194d8dd79b39e96b67585cd713ceed403d175fe90978509fee9e7b9470d2e61e15525cfe82a8c5ef7150eceb37256fbda0f9ca35b39e9e4ea14628825181831613de19b03cc1d19388410b792b0e82eaa62137f6211a5508cb11345086b7d88fab1d331ce7a690454868ae12e7a1d3b016e26e298139a8c3f1d1ec61206e2978531fe0583304e3819fb4411deff3b2265b99fdc09f22549bd5ec986fb46a0f229bf4b3f75151f5f4a8272761987a12151c2b5223081fb46523acf862c0a15a33e5b1db22e2bf728242657a59d6598b052b90e8e2ab25a591f1ceede9d3881a037b58ee50c3566779894e940baf9c69c53bcf4989550f6813e165030dbfb7db8558bbf43ae30a63fcea09437a7438578f56ea07619e4b61929058bc3231797c06c23c43784aa7fb3c5a86aba1873c55652f0bcfb522f96be4f94e5da6f66d532999217a208a1403cc53d14f5a1657287eb2ea8f4f5a3599bd4e82495705afd77f5ddb552978e3e185f680280236b4fe42a01fede37785d893b081cfd919989508041e23a831a6b34b290a423df84e7c93961a950b1c58aba126b5c5b5a94d52691a61b4b5f6442620267ed475dcd9c4100da18fb8db0a7a0913f269c28ecf0a46b2f8d0f02324e201198e71f425e73a8a60b1939e6841ec454f2580f252cc951416bf866bcb37992ba50edf72a4ef090abd3c3df488baffd4eaa0f5c6c014acd09d8bab36a13d5528a37f9d2a9065e4964ff897281faae99d88eff23e7979c3a188f827077ae99384783e1153df6f7aec54b2c05ec91fedea22af2396e954f34b1a049e9234735ee29c2d28d9243ed9de98a886998c7087db688f2002e92093e09f8383505b149b8aab844e8fb420943528ad51658fbebc83682fc899b1418ab7a171039f1319669d686c0dcd5d6a403ae0507927a44e102900f7e3b267611a89133074bf39185434092513253505be665c4110cdf7279b274eb6690fa581449517efa7366d8210d27208c2ae492ef07093ad6408a9675a4fc86d7a6c287ca0d7ac46293e7e00a6f785298d8efa55c61e9cb90beaf3a554dab761066282ee6802b94a17068d2098c735b44b724461eecf767e81acd17d05b5f6dba36411895539c259db7680acdc8d864716b49d1e842a44780a153f107b805fe200f700021f012ce946982c475d8c02a418309b2e46218f2a9384a8ace41a52a1466329992cf0bbe8d15ce6cdebce5f0621cdc866145ffaa89c29159a6aca7e25f25f2c6b00b4ea1a80340a8178a7d3b387e4c9c9e89e3de3f727e65b8acfa0c786d879d0989637c0cbe094f30909835c2abf2c05e24635dbba383c432802d12b6d7e64be76fa8200328a20c89793c74b0a09c2e048e9cd1f27ffd6aeefcdba7f7a7c07734a8f0c9dd5bc4904143926ac1223fb9d08d674432e2502bf6852bc1d02808c49bf67ee98afc010c724941826c6ae20faf53bc43493eb5da345d51c9ae01e13ee8a6dc5af499ef0b56b271dd48925dfebe9db8fc1aa1cb7228891dc0821a441375d9ecc1ecb9e26e173b45fb4cb7aacafcaf74a33817eb3e61fe6810cb3e1b81a65b726306e829027d7070a60e6ab58817bd07345e950df92c830f71c5abc0aeb6dd0b85bb1df27941e53ca8cb4e804e82b8e1c856476f13b2ac932efa94ab4e9da40daec3d441edcef8c3a1c4cb2a9c6963d84eb6133738eff95606670ac10daa28e2974e1759c1280af48c0fde312a9f685ecd595126f09b0613804aa2a7f2b188421b742043ec0aeaea24cd5a021f15011fc5c49486faa0d89a3170a51ba0c364e2f6b1c1fa32d7ba680ff5ed6fae8b0d646bc17f5805c356d1974ea5d07145321326a10c30516ff7ab22136c6aa510a4cde4c0a392d20a39d94b78fa5fc28dd4fe648eb7d657b29e9b3000b5f992d0597960bc1d8d08c3c3823034fd82f3e09465e042e72e3e78f0990f86807a16b1111006ca57167c2b43622475de8a642719daaf40a1bc57aefab48a15d4974482743660316c47f44d5604f4d4d4006809922f3d5163274159dcc00e808560861985fb9590ab2869b2fbe500911c11305c246848fde414d90f49e9d8559aa67388a695187bcef8735180b28046045e435786a24851448f7add178e2befb72e0d93c80f595e417917a9b5100ecf562a23f175182935c4c4d19d4900f62c3435a34cb8d58f2d4c8f91534e19d5b8a27a8bfee368c18ce9987a5249640c8398279312e55b184bff946efae8e5dda5b9583048169854ab7e1cd64b3dab3d36a6b95412bd048b3c235eccd61183c7646f23b8781d5acd0730b9bcd8e4943a3141e47bd7dc17baaa0bca2ec2ad0aacd8c5078c38c2de044c8a2fae66bfb9e50d5f65531a58a309f7e9878d3e4c5d98c94c068730b11a03a28c036bbd7842736c210c0471ae7ada0ffa703c6420a2c595d93ce6a2fe1cc961a61a91565b3cfc66c6e9c09a7600270c6155b1607f31291b8c6ba21677f5e2780b16fbad841139cd17cfa328756c5fae421b716f9f9440e4124a10c0017ada862ebd76284d22c4d08ca51a2126a6d1069bf164ad9787756d940b4ff0486cb444708f10dcd74789c8b3fb81c9e27f316653f65071c0c0ef7928284bfabae2232ddc1900a81e5a0d70058043bf07fcd82c3adff7ed45bfcc9084c585e63eb83e629b0bd2a3c9bf26d46fe53f15008f02d66ef45cf4046b7c4239830a70241f302485fbfd2804dbe4e758f807e43039feedca0ae1e8d5271122fa2293496935ad3c2a28a7d8b7f82683c25fcbafdfa28efd3333241757ab1a6f8c26f9c6d5c93c391d958054e0e7f923adc4b728a03c6a99bd453a698e2d38553ee179559d6a6ceff80b4f95606dc9737edf8191805d97beaefaed5553e26dc2b18a3616a094b376e24c794609755b8f19edd9940353844cfd662fdd8c167581cf42f44d47d287fe834203059591d34e6692b98e91a094bd2a6b1f8afd3cff45243837b76d990f8749efe8a837ddd435b25da8766c851d12483ca4690f13db646fb5b41958a387b695789a37b7031aed0938e822d9a4d8133757a6980a8f4890113c898618a3bdb87c6f82857a4cd04fd28425bfb8c40f8e97b85a5a60e9f7b2b8e3bd715c386e56c4e620bda595caf44e00d11af8210e00d4233eab91e50996a6bd7ed6cabae712de104ccbe5a9cb696b618cc53bb4738680c486528d754266403083657debf9876d6735addc01513e4b8536a8d5ece10499d50084e711f430f8efdcb83d1cc7c8654cfd4e133560f9c00e82b6f8cfb699f12fb1c683f26d99c024ec0d1f0cc7c7b2aee467c4e4bcbfa8641a4fae6be520a839760189490c086c3320b3ad0195fd06c43888ee4c2f8b7cecfdee334ca133c3a8a8f1db122704a568fd83dc05dbfb05c0cb8589b993107feb7d51d8e8fa59a364bbc41d4e0d7edfaf6bb296226a540c3ae194b8aa87656a6e5dccffea0088ac9dd40839280c396ad6ac4b8f46622ac6205bd89d7dcc41a17490bd4f289a23feeb45501d7b1a994989915a316fd029dd4d31fbfdca98d6081e70234077c4976ae233af1b754fd1573b2f4bf79b1ebb2ad07004b59a7a4082ee3c5026d667ad0b37c42415183af2f0f8c9cc2e5a06eb60b3334831a146ee45a08b190f85f7a660af1584780456882de4dfd388ff5088286bd35478129194d7b63315352e007249990aa503001790396d2a6254e0e56a82ac8183bf45fe70cb8e5667432230e24da460c984666a09056ca027233f9d390a85b7cbfa552403f2e314e8c8291dcef84a08d9bf604a005173dd4262c3603836acc0207af8a9569c24b9632895e176978ee05344ba4a21894ff56a70041490c3d18486b035763ea58dd8e6c8b75d8712c749ca9c668a2fa3678d3f862629f939617b4bcb48dab92629f9e48641a1aa0551f5183082744b3c62991a5718386613687abe13d83658ad53c6ab44c8c366974b0475182c7ecfd3c395d492ecb29e470421edf2fca75d944bd2575ef1b29ea3077787c89f3580d8b506a0653d7247d880d2cf88242d0dc93936dadb931b2b479d642f622b3f902ba7b05038e5d51e415e509b45ade8eea3a8c54ab18bb37e723e1972078dafd9b957e25864fe187042af86989c6f64804a8349a097c16cec5411d49d552d09e7344cd1a2708d8db206fa39c993f2c0917bab122d2ab7322156a79d99009f4dfc0425c5a4a1b07a4b335448a5d19719e3b4ace6ebd97cb444adaa06cc42da24c1f1cf9049813fd13af8f5158fd1983634182b32847f4d31beb9afc47fa15a722882826adba76ffc5d63c8706ad6b8f24da6df53a3593b963416abe16f25a3d201c029963091d981ae9535c7e7d4002ead0252af8d8d7f48c283214e9c9440e90e4b63b02273a1553b593e08a9c39d6cfab0c7a175896f328246a3dee203012ca7c39e5131821a09244660cfd4fb4abd6d2353cadef26814d050fe3f2616088426ccf5032005d760210cf6ae5547b32e5d20d18bd62d23b3af1167f14ed48be92b5ac11d008b2509b780c722bb6824b20fe38f3d95ccbf1eb42b27384be5345c08def2946ab249e4e498513f99c1bfd36738d2c42acc39565bc953673fb6544112928ae8d8def1c83ff715a02207c31312636cc6cdc6c7ce8fba841abb248aa17d21759b771b17404dc1cd0e8a60cc5b7cec0de44091a390f96b45d706e540c947ccc09df95271bec6d272882ca263ec1992f74225de77e2302fbdb1f87ed4b1d20c65a06ab4a2477a458f366554d12e88da8479fbb92842064922dab5fc1281e1666c2c55eacf90051cf2af1e04303d61488003ab0b9e123bccbfed9266a138b10c0e39981c3d25911c2331380c847b3f077cbc556b538bf996fb50b63edc675115a593f4c361c2fd077190370508155fd0cab0340d2a685b0a5dfc253a4af2e8d9cd986e705db89ce92556d7b0c1ffc11a3efdd8784f538561c82167a3fa8165b3bd46030027ecc8a4cb667411496f935a073afa6548d4b891bafe7564102e5e87aac8974c3500b0fb63f93f7bb80d84d545a6c9dcb7bba5ca2427dc1e29f1219001e0dd068083b6d17854a017a9b60ceaabc3fdacd0dd17bd85c4de420c9b850dba93e7f15a5fb4f2f85568561ff7d6aaf2305431eec27a5f35129ee2423b36d585b5b2becffcaad04f4d8e7c304a5be8afdf19f57795f450ea605b814c8860fd2401cd2eac9d5c4da1527b055a861cebaa0f309ca24028d894d6f08a14cc0c974110ff3dafdb7e801e37a1a4a7959d4001515a8925f67d450fa8dad983ac4d9ac38bcf96b3b19072f85ed26aaa084c3538977790eff083a9aaad8c7f9120e35e5aa9423e716009a5510551736ff700f4853c9d24b2eae2f38004b8b290c5254a9e717ac2ac18983281c5117fd959d34a70c3d799bd46b47da38b74c6a9deeb309d32415e4e2733c8ca304cc6bb615bd998e9db0c58a9f2f659112dee24cc7bbc61d0282611b064db7353dcb1a0bffe200aa4647cff3d29e98fdf821c339ccc78a75f84b146a5176a37bab10143637b5417993191626de3261383ac05621000e01406e2facf3c29c7eb619993fc7b0a1cbf6e3b9fa5bed889bc8faa8c7a792882726843babfabd74c6b7028ef746e4f7137ccfda1ede5a5a9a973c7f4dd88ccc91f99803a9065196d62604ca376a0cfabb0f8bf48ab3461fc7dee134be02f9ee64b2ff13bcbe09f915b007e955aa277d984cf6773d261bff3d2f6778472a5713971c0b70ed1d9a8311067de270b3f0ba7d8d8e59277f0b9976ee6e46f0720399479a938d9c7e556f4cbcb4faa98505d17c81cbce52720f555c8586fa6b0529c2932c91256b24f98565dc9cb327dad120e8a485e5944a72fdc946d2f173f9caf1f0783569dcc627387034d745a513d26f00da734ba2a92c0dd3a4bbfb952f55fce6d58033c8b557d2e1526f44e674279925680e119291813729e9b8405c956cfa081b931b32bdf3f8ce25e7585857f085a5782b33643fcd0993a35c58e7f3c2d301c810146ee56a94576415c9624f41697e574850f7c172b6e3d16e5daabed2c1ea4b3995336e4d69b8a77a6a4967426544656e81e0b295fb220f54c6fe9a9a5cced1e8de6caa2ef329cb0346015dd02041acb9067f81a5f08da5890209fa7d2efbe9c00cef28581c6228b04100f5f355a2c645575d46452f3d14f4bde7016d8b9877e6ba0ae5ef04a84e91bce329843921f56763c4f6840cd0cbf4389ba1229e134cfbe99648bcdcee69135bcd9320191f3561a7b63d1070ea1697b1ced5d9ef54ddbb3ac89e3c52b38c5ebc14d2feb7268a130d6738ea28a537b466f125752c5caaec341a6be7c0632e1ab1c330426638b38a3294a3d105a7c30e06138ab8d79a32e923ad6ff206d8a0187052d79bcd746ccb4362b6fa58cbd6491fdb0b2032059dcd2265114ef9a3a813c5305501593f99ad40e215aaf717f336bd2696fcd5dcb8e5b03f4eee2c6443fe0035a79f3e3123379f2929620fd9a426ac5ecf18dd77ba2f4868c42216b2d3c6357e7ad9de7b395d4f045df8a0e1b77e6865c53b536b68971ae688bdbfaced5a49678b5ed8b486e5a98e7b47c85e2e393c256ffb3479c260274c7fcad3318405d5a459e953c86a0d45a6d3c2ebad1801d5148834f3e75327e20f9b558a3bdfe99b3828ed2debd6dc29e57da45ed8a1fa688321f0f944d0fe21a2ac36e6702904155f0043e62e27b7ac8f8f963acba5a8475317430d0c427b15e52ee07edfd778761bc92247a6b708cf13489a81a8555629115d0814b1a51d8618c94c88431f02c31588d6463a5ab016671b6c114dd7e82f391796289aca96dbe905b060370f0a4d9a797016ad782342abf053e60a840928553a6c0d70eaa289a8b514e2ed2287899d0cd2a59409bb752eaa82774a2a33c5f0a62ad391be9ead8f4262497b6468a5dab7cc920e619cf3df43bad3c207aad53ecabba3088616dad2f444ccd87043146dba0c680a1986c29dca7f3974e2d304aa72c8ed4f7a9a55a0ecdf147e0bbe6bf09cd130d4cef64d400e9fb12d738ef7ea44cb806d8f1b209c8c3a13be4e41e39161c3d953890b4c841c60922b4a152152da715745ae6cd7f8effbac6d1a1791219a86fd4b8fd02aafeaa09ccc1148b1e4dbf5785e30150c55a6dcf914202fe4d4fb9fbf8e38d30f2d1ec0d40bc6aabdd410a8b5953cbf555f7bb1c500f4b583ffb2adc2f1c3d3ef1b5af7a517d581cd60b939e8bfbaa9dd2ec695fe5475855744c4b91afaa0e0eecab5a5732221ecb40d46487535f8515067fcd89432f4dd89fb472b667ce56727d55bd91c1cc77524f22ee9e7d151f02ece4d9bb1bed3ea295b540d6d00dad66106a6d25a2b057e5742e7c1e49a1d5748057edd20c5a9517ccb1906a7035ca1b4a9417685550f1c4a7fd59897254763eabc12e7957961fdd555952ef2a57f8e39b787a579571346644e7caa2c76b3bdb65bc7a0c90df707ffea9e21aa9a2fa9f799f297a235fc1fa12de3fd5d75b274640d8983621032755ce0aeb45662655b4025fe47265d3bdb407e8ec2a596a0220d2c5a1844331731f4ddcac3c1e23d5efaee75b93aa1b97e267241500cf870633ed7553455739e5607ccc1a4d9bf6604a963626a1ffb4ff43027eefb60ea0ea30eeafc0e646a69f372692aa447f22555095aa5b0a3824063a9097346d84658ea57c7e8a7b12d9aa5bb955249944e04c0f593d82f9a9d8f72f19c150ba144aa852030b0370bebfeae8deb54fe979799b3de40073c8328e331e1df109b1fe49e06e10a124146185384990b1f244dfc2dcb14700e61b362f746bb14f48f325651cfd8299c40d62cc1b70a38584328447fdccd9522ab2645848e7387359e326cded06b5574599e954a56fb1a38c2fa4d08528bb75d3c78706a0e2202944a9e280e05425127a8db4ea73e4c1b2b115c80033b68e8699a94397c05cdaa635566703d28db55d3f04f8aee48cc0e89dc4f418404d7200107f2ba47113529234d5a9e00e671e0f085c41976159d7941d005c63188b910fc63b8cc5dea8ea3bee30a1564dc623922b40b4e30bc2c398d8a5a6c859384015ac33063cd3888c2d697c26c7ce9663c889a2c0d9fea7bf94440b290e9a11731d281b3ab948984ccb7e7db70c9a71303728e9f5d568f192662f664d43055a00de93c60ef45960716e0753cf9e05e26d408d49194bad1e1faaaa05f9791bedbd0c81746f6807b64ea5f0df2fafe632331e143d3247059e01b70603d44c9730b36a192e124573e70d6e99fe06305faece99409d3214c249fb6dd29f0277a7b60926d5ffe0858b5309315004777c62987f629d07d6a143a4f0ed7065be043487acdd2f8839d2df0dda3872e3196625e0400d56963c5597d87084ac142666c5bcc6257f83b224a58a3c298dd88da1bb3ef374d51e2aeaed648e3a6bc062ded71c2ef117253977990aaf3ac5a5842c46f05c627c19b37408cec59fb9171f0e1264d792a72b3e4318b769c81eff4cab9a1d4ae22cb3c25f6a355050af8f5438b8abab5a8aca14e292c7a78ea592dc7ac7792bacd3c90c1e08fdbd7adff6c85bd971c1d3c711040077f4c17950417a84801585801b65e28a59f1044817c1fde151980d200b39669b85fc3724b490dfb9bd7ed742328f56114318f1b64f5df23e01363983fade99834e5bc1c247d3c5b3c2bce30e6f51610aeddbb1f03dbe5bde817e0fa9f9f30a91dd4fd320b258a632edbe3a157baabb912a625a0112bf3d19fc1c1846ad0857197f9474c294090777d67ce01f5ad192a50ba85cb1208c79bed933c36a9718fb67bc282a3b22cf7ca77013fcf1e0a54643c6962ccf78a94442ce78f2656c2c544ba4a0b140a2bf8922190b35e337c5aa9e20b837774127e06c9ad93eec652aef95c93376d70bc29b0b27a9c5c15272c47636c8e2c7a8167a36e9a1dcd21b167a9cd2b7b245c7d8194ca487965a33af0cb24dd3ab116729d9f821ceb6caac365f5b51ce2d9cbe4938529e7bc4896a9d80c4d5aaf536b25119f6d393c6e68429d9879bba0ff699cb7e0d3da298b36a4cf4cc2ae13d024dba108bdc81517113865b91a78ec181d428efa058c43b283e82982da40d08074529e8cb3fb0a0ec8a7090b330136087bd8a613e0adf945a20165a4359efaa02b6c010f5065149d6120f1b356d87c4f475eed70f9f912abdbf07c5326f93f603a148ff9fc0a5e8e8f0402842f39ffb34f0051d08755cfe63c7a7dcb5e0d6a6fc032d0b4572e5812550fab7d9e0f194f8aa11c16286dfe96921c936b8ec5dd50b1e890e65f933d52e2cd67526f40b1e10d2a7126284536d5d0f13ba103ee1c8b8c1f53936f059396fada04135281d7e676a74255ba49609ddd134e2702e387b5769aa1a4cf20c0c54ee986715d0d60060ab14bf7d1ba27e7ceab732a8f74d59d7afe453107bc31386efc0decffc100ec0ef4a16bba102e7e699396b2b7fc8ffcb74bcbb9d82933a490a9103f603db0c0101f85a21aa78628b5cdad92a86e236da367beadbc6c5a61849a2773349748e2dae88aa91515ba215293b4c14e6282dfe8125f34f824d4e22b6a089363efe92d3305a4911a0815ec602c7afb2a5b51e7a1971c51c0a6ef884ef3d1854504115a90df1488270098a6e935604b9666a4738426df2b403385bb318ba2040a6e0dba7839443af49854017669a385a35a8b007973df3cacc936fe6fb59accb9aa07d64d422d2a13a4f28e437dbb3cefd2492465209a209a5b1b602d32152b6d384aabf08e518912617f22450c83ea67a0bb7c92aa44f97f96edced052ad181adc6ab792b2a951ab6289c048027292f5e332bc261931243b7577c1ff76bcd0737f2afd8f7cce8463e721819932238e12ed6bd980ff9aeee3db88c5cd357fc1b118ab50214db60b058a9214c4f98629bacd7deb437c754560871acafcbb796efaa74defcb149a5b963bc27db414d6288719b9177d1fca49965659f36fcdda4ad72a43a0d369830a9fca502b153d9c286f1132dd352e5c89c7730ca6617095a3cef59c69f894db8c0b511b283314eecad6d5f37fad07bb91635c9f3f17f938ad7862549900a30364c3d256e7405b2324952a8a1b140e6c14f169c5406aa206243b0d7e47e3928815ba602c9082005d3e1c6d96d960aa0710339b72caab516d0084f56822c97b798d09c72c5bbf723f62edc125a39c78330b7ce9b1e7dcb8ffc6766fbcf28e50bd211475d0af8c341a1e6661a8c52421d6da99cdcaaa84e175418c6463b451f63b45fa7c22b2f205b46c39cc2f3b8d61189fd9dc86149c79e7cef556f78cf45960b62b3a69f54f89180f9ba292e64aea41e4d35645e83c23cd04939dab3d58d3d93bbb4d78ec7365e8e762d7935b9c794bc9afd0d555be5f6893cc016fbf0385ef66c187a3dcb9fd7f83b68e47cdbb37dbf8384ab3cb8bdc80ea53effe84b95408b3f25606a1ac547219d909975213d048f2e891d60cd64b70cc337d17d50742ab96ace357675ac5f88cb3c6e4d17070fb48259e2189caaa903509677bed84059170978d787f3d43341caebefe8850cfe03cdb891d851875810ce05776664fd8f9e8ed4070b6a62881c058c28f05c089a9ab564c689fa402ffbbca4b1da07277121b2916a5907547b73f0f15bd88c8f90b8f7eeaafa242cac80094d14bb5f2ae69301e9acf0fe19389782a9e94aee45d00f6355eaae14b9801d1486274b6fdefabde0f0f7726ed26b53e91fcfe1f55c2de662332cf340cc5bef12bbdcf375aa450e411efecf9b24bc660224cdca5f6dac89629db805bf964e87b02d01bc2d1bd5f193ef247ee8b141d2aade62fbfcabf986e844f2bdbb71547609d4eb329359cf4cd32f288c6aaa378293754cafca971df273c04f9a73887ac8731a42349792275a613d4bccbabf3582ec746168f897956575f5b69b072b501f9762368487076a2593e621f00a4c664503ab1fbc8a8c467b118bb7ef4c5fac26d3cc531a7b3799190562e3c60d0e57e2b871bb4445593439ba7c8b4156e33c548c5ab57b0109744af86203b8c3364bb6ed20d69ad40f35208ab3599c46875f48098498b630c1b85d45903377d2cb0a0797f282728d3fd8ad37a48ca88fd59d950698931849aa97a68701cdfe6d549a636ce1828fe5db7ab07c53f6d72d187b0a284b555080397450ea0254631c7aa796983f1d20a994bf7403ac23d840908323a5e4ed780c4dd4663a1f6fa4e18a6f209de81798c9332d0baacae3f462c25811c9410809921e779a604b8f2f350c4262072e29b5f7a979bb2740955453dc8f0869e6e6d31d532f19648a414a5a78f581850ae7c0a46077746501561483a16fe42ad2c92ff86abdf3d3fd2a65487d055a31fb9fde1eac74ba1c39b005d66a878886e5d0ae614a2471658a8fcaa2c2ac7063365d698291688823601255f18dffe6f6d72cbbeb53639e917067fbd8a230147497e88999db26eadbcab3b6b960bd14dbe4fd6513c436397765f85fe3eb98911b6d27539d80590e672deb0d0650af7412fb5fbbd52c3a8586459674d99aac8eeca95d7f65a685dfd6f838e0d32bc575d8f3129de6a46b3a489c3128426b8a884d61a2ca76443a6da39b9919a40cd21b68401a22999de057cfbcb19f1682b62001bf2897978753145a291f5e99bc301971ae254e90568301f64fc9a14562886fb81a4a77ce2c16a40d60484c6c9158406c82712291490d89973b8dc4a690615fade3c46586c6560c7ae3c814f1071aa3292c59e7150b6106d81d38f305b7e16e01d7616f30c5bc25135f60f896b6dc228ab357ab10548bd61c0a9c7f793b3fbc09c6e51235676c19712e605fc3e01ab3622e9a8e989a59340c7777f861bbecce55148c7043d8de5429a4c0cff2089379d45396814cd89ec4c64a72c17424f24a24cc368fe79e97e1c1151651ec08e35eb2a72830e2faff112d7b82f9ebb2b28615883d966916e8a41dbcf7e331ed5f49c4e61fa3191b3b4b7bfa2f10b754f9640a21cef71d777008cb5592f171e8b65eea4c37cfb9a7822e09550f33b32978ecb693b602216ad606a287db1978d19fd623e903fbf0e171f99e5ae9c449478ead60c64a44851824cccea116ec9abf1887798bc13b837acff919ea5fb8a786341cfbe03bb600fb5dd1aa2c43053749191b531bda094bc5a497d1d7a42334231041182bafa1043511e356687498a85483714552c0549b4df14f8ce6cf9e97570e3e80fb602c04b2213f3c16f3baf78366358a6af131fdfaf999e4d392940cff613ac9264b5e947d43831b854a070a18c4f0527ce452176cb61e74f5a0dd743281be6a7f0b7c5d5453496617087dc864a1b87a9df7f68bf432e4308901fe7b68f3762ba1a437f77cef44cf4299828cd1ad01852811a697835c11587dd5c9d3a22cf248efd41a72ef48536fb5d4cb355f836fdd783584d68cefc8cdf0b111170845e4e5b646e477dd28add4a891a1fef4b95699ae0904614ce26ec9116f8e0be4d89357d5b87b690a70fcf2ce896d6b5219de8f323ba96fbde0e898c080b17eacac7637ed53e8e4774177833757e21a0791fdc956dd0bff0fde0fd4c77c6f2302f50bc84ca6a3916782ba6e2b924c4c937be0540485e3fbdd6dfeb260e4b945c4529dc4825922d66d23f6db38d581f7e34363104e0744b3fcd6d19716ea3305bafc0a555e097bd9ccbb73bc78bbfaf7409448ef7808972099f5445c6805c2b517dab59b8859f538cda54fa8b0cf09141219707dfea48c10072322b35c775246758ebf53911ccb1c87b1b409512cd5a882badba0829dd6b948d725605e3ca1674d31f63557aebe3a26221a0df9146b9e50d876098e42c393aba536e881b1a98c1089f09a84c6131bc6489f2443e69114a56623ad99242c49df9ab619c85be5327200cdd23a96cb40466360af578c88e565c844df3c8408db8fd81a2c9245a77aa934e25690bb87982538da0c682166881d156eddee350d55d9495d932a2f2fdb2e431d826088f7693de909dbbdca179bb9679a55c6082ab50988c65e2e9b8a4763040367207bd684dedbbfc3062db7fb0c3f9c85b92c725973d468dc42b956c4ac48291dac74275b8d57683d604575e5c3734f5c863d309ef95e819228da2d0158ba84d8bcdd0d1ae3b2feee3fd94318837a443eaff406fdb921fd6fdc7c6958d1ee24f8958669a06eedc5dec4df874ed5c9699e116740c07745c30a1890b1bd051317d6d030e4218b15bf9d231ad670b1c1dc5b7417aedab44c0fd0b9f0b8352c4b47b46682e0ae14bd93603aa381f0e313b8b5852070d93967f3f91512b99845fbf73a830236db9ddcbb5ee56855380298eb215aaac489b5457d65e221f695ec574658df3613d240c0e4eba5717ba91b25f07cf0dcc359a45b4faf4716054712c870e203fe80d6c542e07fc8ade74ea6651ecbe4784618e00b58d2934fa1c81dfdac21d938986b2fe1a3879e5f843d72e906b952d1c93f64f18a94138ef91a99ae12d20110df80dd8541ec8b7ff62144cce0d5789ac15b309e0e671c2ca3c1e8657061502cf2e73dfd6ef69b0c2036569e2360bdd13685fdeaddb064d621ef31c1adfc7011105ff7626e13d52f6f1af5e0d107a371bad9bfa14788a9c7b1ebff3fdc4c63009ac2dcc69e71d808ae3e1dd2f2f5567ff607ef2905ccf5b67dd57d7d88ba0b776fe83d06be16e9df0c156c6d28910998945f39b23dca2ff78804837e6d6f32cef7f865fadbc94969256f1b145cb57b432da4fe1668be4ae36ca8dd1d6284dbfa715f0a6001f5cb926661bddfcf9a7937edf83f64dcff990052e7966f8b92d40a782207c84c6141fb2d64ec96ded79aed83d72ec546fcc70103ce7f0164c80408b5e71740e5072cb835b1a6bbb84552c2f70c06463ef5432cec9a0e71d7b7cab010409e586d44a64c5558c3272b154eaaac3d21893e87ad79f80dffb996537ceeb524b4689889f83716c479a63b63f47c01c2380b0a4ad607afe6afeb975baba515d960a3062d30aa2638cb0ccd817d4f95e8a6c9e4e468214c589ee972478806429b68f91a25e2c2a0e80ffe8befbe8b16053b2622490795e5bd05685274976c2d07da7c31a9286f6a3a6e0a49df154b3c5fe1f3c2cdd9498997eb60839b0235e216788025712d0d920237de278cc32e68f4e92072641ac92a21dd22a5c6d556264a44ba93a0fb74c0cd879b01b24311a6ee1e801eb740eaee3d89344d5200bf7af01d30505bb01c485090a3ec57010f076620071788f58b10a2b6c047892d2751f80c388272ff2b77613a70e9fcbde8b5735d2845e0f9f438065023118e58e9c60bc996f7dd4c352f71780b22753cb188320e9061058847e7d939f2d630111693255024876af83480287d0edd9ab68b66a4c7ccf46413d507e3e9541271b602824ec8e673854548414cc635fb38a59fb03d39793c52cf8e14a599ab57446aa068156b3faf33fee955e3edf6a1435a60950a65333abcc554b031605138eb8d9481b80a5bbb911b31e1a5b46818e2d0297861970060cf83a955c766a500d793c60d21ed5cb1272f407b350a19f753c4fcd3109a6d98fa3b4fc2abfaf5481aec01c2a6b9ea1833f0e63225bdfd84bf4e3dfd3282e5b692a8ca78f156652d9a0093d17aefb5bd6e217ed96abbd2b46351d83ce3660c04553d30d30dd9b7c7401022a98901eb0eef2e6769a939483d1343b0aae8d488c028ce41e258652a159dc257eec8d516b895c3bc2b7486b03d69782c3535418ba454b3f106fb52a5738d7a8487253fcc7282c36780848f408bb09518ca127a1476fdb78ac9b52a7c3cf294491f3599f3bc8a040c2481764872fe41e42d81a670d8d5bf8b9b7a7ce6fb5e191841d1b910278052a00d29159d6dc77d508ab3e35fd9560e9266ff40712bfb359e9ceb35d887f788ae5cc99f9bf033426bdec8214219407212a0cc0f2e12b8e5d05fc731ba302af073542bfc6f7d9d23d29b46747a08dd57cbb2a3f3ac02b0bcddcbf5c2840903bc6e9c25dd9fd5bc201f0bf51cbfd7be8cc56e145d6b8ea345d86994828b05f14b17e1c795b5726e1019122636eaa794aa0f276a5a8d30e6ec848338ea7b94a7d2d1429d402e3110cba473f410e05ff5153ef7137e371d0cf1387f04cd3bb4e0f7b39eceba25de8fb94d72115a3059d93babe3438ff4ac1d094482b65abc7bf4371ee1aa3c54ca3b3cb20e391918cb92c6013a3548cdbfc6e3c25aaff0501edf52caf0c2c86a2344e9e5b7956f0985cfa18adab18d2a2febfb69e61040b5842d8ac178e72d400ccb08b31113a88d519eeb078ffa19e1026307ccb3fa104955f324be9f5a34701d4bceb13652d032c1cb2e73c0546c8272f044c550e2abc4a19634041d08865804aecf3f80db1c129ebb6299797b8ea0d7b0d8db742c788b7d0057d779886346192d1bf309163f9f3393865f6dc5d74557181ab6388f779a83972a023269a67afafa46c079f4bd8f498e4848505cacd2ca453b1acd50977bbd017dad8394329a8ae7bce2e55ebc69752af1259208a0658c546890f4d31ca85df146898b2365d2dec74284357e6aa6f7b03a2b4bedf3873729da873428ee5e6b4f37d80642d40c15e5860bf5aba522e58a0bcab7d61868db9c417177f2026d59d5609d5fef263a79373cd78adb4efbdfcd3400cf2ffb25922e8c980d8c50b9ed5512b00a097595bf9917f38541fd74f3ae8f408cb97ad960a3d10c518fb2851dd8b2a0985bafe0499e4c15301a658b7c7eb5877ca2dce6d362a9844c36ecaa7cfafa8c0ba137d01fe71d29407f65ca8a7aaabb883f1fc74ce20c3edf76ae4ee519dafbeece6449538360f6ab9cc1d5dcb8f48505a9c1c05cf9f525d451d460961f4f7000024b6f9400bde0ff61ddde45d0239f7170fc7722d68f8012d07b4ba0f73a2ccccdfb400f7c4bb7d715e13e65b9a8140678c1f7621c32f61f3831d833e35430834d0a1be76b9bf99cd9cddba5539ab88b5290627b1029991ee3af680b75ac5200e7594ddb32f4bab8d31946db15797851ea99a9c74308abbe02e0b53356ab332891a62d9708cd051ea8f166ad1a6cd9b0e26ef63c72ee4d6aa7408cb8e5c6627630bb8cea7bec4d598544b4c34c389d02ebcee370892f4c070fc5e0d474286134dd74f98914f07c70c07617410fc2c034b542faadfb5d5354ab5e4d897acdd365b71c19bb0d2181e0e1feec7a944be6616d071be7913393a28908c979d06e2e16aa9d243f9b325c46787974fd2d2370f9ea14a77e7005cc7461d624b073e3cc36265be0246da9e85a8a1364d9326bc72488605a8525c9fbc18af128a8c4719a8c2b2a83c9868cb94269e1a61f3b7824e0416c7c460bcb5e692f88df3f17c9e9465fc5f13074669467163a743000348558325c254a96e3c215165a860dd3117b2f96966890aaf6f9bcb783c70c24d0404e8afd41cc7650bbee07f129c402ea8bc10457a65dc2c84117747f449ad99570541e2acfd025a1c83c2b99ccf72b2a1d2b3b6318904031bb8cd97866218cd943ad79259953c195dce3fbe30bd04fd2733e3705c077d3c5a9ff75776a6fec0c24801802efa79096a9b01d7eab558d574eef1a46680b5e497cfd0084492fae17aa0b203163a8a9eceb955a1bab9a4c41d7016dac82515937c92afad678cdb86508d94766eddb5dc58eb4b6caa92966430c0675dcf7f80a6ec152a26127a8895aa98fa2a505c41496cd1f46c55d147db7143128bca1bbdb30e005ec130317a2a5b4917c86444e41974a737926a3d789793409950f7415d01f1bcae24e251a6780420357b91a97cc544fbdc15151ba2748cb22fd28627c0a2c3d020c61d23e25a560e6e789a84475c11c4597e8af3071f2209f3d3893fe39c80389dd3b869072d60301e41cb55237ed375dec6547fd1c937ababd8d427ec60e1a37cc65f9e1e6e67aeb8efd86c9e2ad7b49c19e8c633989ffcb462a7641d66461e5f266ee2cbca9c0879ebb3d19d7e694bcfd8b7938ae48ffbe07ba1332576c5fa4e34eb826037311f323b256c1bd9e342e92986b4a465fb28af0f677ce4e665cf47af2a9ca2f1c059bc6896bbf204cdf9ce710275a8251611dbd67897704f635c951de39c98c7492af0f27d1194a8794b0a2450ac8e3d2e99ba3290d572449303725765f00907ad98de8e4f6564402516da7ce2af7b681e7f5dea8e4db5f80ca194a830fc2ea916698f68ee428a5b10a8d0e14aebe1ad2d7c1271620259768f236ea438076d9cdbd80a510383ab1673af4672c987e0c3208270f88cea41455bd28256a0813ca4a319961205ac124176744cc0aa6ce5c46062de19736c50cb523b4add046563e01e98277aa87a47271da4fb4db2b055e2d493965179093f6a04df38a173f2e27c947dde8e27040ad8c6a0a510a2fb27c89a1d3170fbc8fe556710c44cda8ea17424514ca163c2e2b01c159e4074f6758544cbcc61799f3e2122db7babb4d020437664a74d111189d1e6b07e8aebdbc9a7841223ce65c2eba08e73a01ed6746510450fe79399918559ca292f32e8a505bc5db90bae2b5c267df0983507daba310f6751537b8d001111335a234362ec175269a05b69f5314e2dad0492634b7c7da290cd6e94e0fbd73fb854e20f3ab282e422b593883146631e395b7d3844ee592038181f345338440a0de99d32ce3d2227b03a001c2106bd2a67c611d56d7727dcef9c01d8d0bfbca2a7e1e38c4f55c567cbc0b13d484bfff0c9110fde6242e486732cec559bd4a64238f5d53140ae6a121443d22cd53c595db9dc2f6e5c04bf00a9e7d4b8ca3028bed7aebf07ce75c2380379aa00209a375a89f2b760cd1affdd9f86713c9fc11cc925e5e730c32f5d2a842ed2f627a7afa0aea93ee3d31ba493f1735ccb4e12e41fd2a09fecb917b29221aa427330dba5dad8489d3f22c6b42578b7d68087224df5746b1c7bd91f0222c41af6ef3b02e17d6ae94f718a7e30e321e05283d840996debe28f02369f584f74c191b44b3b97a3920c48e4fa0991e6bb946c7144a5b52d59ddae4b28755bdb9685f39361fd08d9bb7b3fb960d33c7954a6c01c32027b9fef155f093519c28a502a7758a6b1ea98a68e9615d9c28395892f1bc5385dcb1c33eeddda1b796cacdff67d87b47f036f188f60dfae214c8cc48e890eb99e3406c8b5b46a026289211302b9a68614ba2994c083bd301b7eeac231ad8006d900295e8508840e260cfd3a3c2326261f9fba39416bc9995bf5d42748c512d822c1df665648d8937585ae7ba13d6a6501fe1ea6f6361d5a59301a172c0fe674772eb06f8a14244abde246426b8d88a8e4333ec9c045b09b69d000e599608f4221a47a27df70d0b69ed86ff886807cc389ab2185d8d16b22ac65e17cc0696589f1ca37b0c28a6e7d6df09c1801b099d3977e9d2a109825204063cf993a5f58430fb29eefffa1659e3ff3be915b7b40c1bbd754a4406ed048a8e93a783d673aa311353780bcaf07727207bf319ea41213f8149c4bd397c6a4d42a1be801458442241feb07f25bd7be9f64a93020ced597d2f4eaf1011ada5121fe81ddd17e8b17f4a06487407b75571f3fb8494289d04fb6ec46f11a3ff8017e82e5be46cfbdc608114bcc7c1de1177e0ded04065e9429c920f8d54c2a5dbe16e9a7b901ac45b1185b640019bce693f0cb8e3c1ea1d13187446ce51514ace64365422ff3d908342d69556ae206b80c49ac1e95b29c46dfdf90691cbdbd63c0a249c18be2918d169ba2f279f80627f689c313c2248e9d2fd0addb34abd17eb33d2605d6bdb92181c17c53be7fe34996c625283ba5e8331ee3269fa71bb36a0f1dba70b3d0b5e75be9b823d8e7171c1bab3bf763d0c5423f17f9a3cc9e271a8fac53d8d09364ae57047ce15dffee6479823e177d0b702ed420b9fd436b030b6e2ea3f17cbf5074b127f6bea488441d61c4dfecdbdbb68a7355d1111111ea8674c9844b255d3c4481b8e778eb96a4e7811f06920c92050d816e6d0f981788369d34d3f6b714019fb9433e2d47a2af51e4f658d93f93947641175a0f53c8fc58ba37cc99b6c9cff73bd9d4d70654b2cb453aa97e911fff0b28269422ba4553c7c46cf2e663910bb6cbe1128a7d409fdc8d2e9c3a8616714f357ad943a533d0cf3cb09f1956622a93b4c0178a8156844cc5976005ef22e002bf4dcdf2093bebf4746d1c8d35ce321ef1a2e32701275e827429bac2258071ed09b26ea4ba9f73e0a6cdc11ce535bc3b6af7463d20712f20848382ee2e27bd9f3226a3ab4ed3dd260a1a43abff6df6d0cf6c65f2e266a42c17444815fbf887a1528b6bcf83bb4cc6177c7d4e15b7382aeaf5c302de819be4536d2f8eaf97c98842ff0fecedf42ff5c38a7d2e781821245d8b7e448e902425d03a9bacbc4bad142a2f600e129969e5020cebe5b7e29c7b77c801a3e943b1a6cb302742a809d7906fd2d800e4170f9fd1e2141e8c77fd66a82c09666bf9134cd8956608757c1d86f95e285bd79b94a396d06a997030b9a656dc02d281885ff57b9422d9e1ea888023ac70d3bc7398e65053bb113c79940e5edc3fb22b1f36ee8d1ae4064fb93cdfd1b5b5647c3fcefa643c0ba14d7d0bff895f5310ed96cb75ee2c26ee3a4ccb621ea3f627f72aa5e7a56b087b995b5cb577799ca7b6e3e9bc75638781915c435674f034df1be61b9da6ef53ec39e8a9e12611bc6d97206eaab9a3da5620b22bf0b9bd4889336404f40f88c1e3b2255408149573241f7cdd7e1145d5ff1c4b6268d0032e5b586d6c66e3fb80ca0b185f9787b86b3fead0ce13c6e2f3cca732f6327a7ab271f0a5265a3c935a2118e4a2a3137b0efec2a1a2c56301cbfc52a841407d2fabdc98a7910462b7a16ca5b1280c5421b5bb7b5a0317a567c3e2510826daae140da198dad1640d3cf24cdad8971a6e895f47410109f2fc5b4e4f35dc102c90623e4ab3fb4845ba1d432e473bcfd67cea5c032c7740917e182effcada3fb6a5e046528db228c79756300455b929dd0a827866b3398903d22e4c3bf1daf77df4cb8eb04989a8f25ba2fcde5ef9b8e5eb44eb871679e0df6a08d6b0ba8d0993c607292fe277f78cb6c976439135804c362668017a36d5dce9804972653612c3b8e1c25d25ee519984b9bfaf4dc517d6496f0b38439ae9d7225795acf78fed12596890c916559ef43463617413fd7d2024107c121684d485f1be22171ba1129a4cffd4fc1add4bed2083ac591f871a0e05fe9a1ff2494a6063a81455895d34b3bbb10c03a68e53f6d9ade8d5ae7f8da33fe4750fdf7638dc66e7fd8fd1da16e9c2fba0d01c90e80d0aae58f11acef1a4a2bd4d401eb4915c3b077a0f1f5e416dd2c97963a9b752868b6a505979d1af0eeb2676e4411612e94507ffc5067c50cab167ea502a39e622b5b4c1e26b4423b20880210106c1c7d4fce792351e7961401d4a865ea190f2e83078b39128ed9bc309e5c4732c5796dffa2b26247353970d60cecb37f0ecbbd6bbe051a05a015bc46c50140d63573101ebdbc2da848472aab8046a2ada3859eaf2bfdb294d9a84c2c0e84c3383dc6574aee11b1ab69549bf54ad9bd5652579ce23439284b007369285ccd9c4ec954fcdb13f877975b53dc0798b373dc45219b3425530b75e6235c71375fdd8ef7d8020edfcf7190a627dce8bcaa77e64c042cd53745cf02a117fb024ed7b8afd45cf0286e8c2f2bef09ec1653fe0ad349a4fd0a7ba26a1066614e55837dfe3051172ecd3630d726cbfca7c8e80aa879a42a463d46ebfe11c2e44c41dfe7f330406c98dc2fad6665c53bf171635b9dc4e28f12b9ef2ad670b79ad2d22b97d082938b6f33d88a5c9392b0fb9399f57348f2a5fe514b739740a57755f6f8ea363c975dc7db408af91821037c348d3e683f4a5da3b28cc5e4eacd02d4e4c92a8af39f328996884d49ce507a9d1e0b32851c1203eb659894b033db66a7bafa97463e82fd13cbaed7f44f007888349e2bf819a3f1e106a2cea446424a524ec81f7c4a037fb195ee5da565675ae64291b2840a6b58bafa55071f2b5ac716c0b5737d7afadfa7bc58e67de8603c1af014c01d24f2a2c210f5625bc0d908d5491cbf8da65278041877f3ee72dca53dff2ca1b4001c8f1e05ddb9da525823622005563062b29283834b9f74ee0ac3cf578bcd93b5961d0a3798fb248e27846158c0612f574f23953730a38aab4ba2134aff14739e5fe74cf7c25e4da48f0a464119be5ec8ce747fdeb8eef91e9e4d12c4c8bb28b0ab1575a1c338794059eaaab8053d2f8727d96669c9dc02516cfa0ff8cf595ff761c519366460aecf5aff8ecba42590050a863bc29e498f6f79cd9a4b67ce4c9c687b03080dc6b6475041fc29703dfb11e74f0eec05a9429eb9265d771028ad755874cf78f757da61c24b7ef89e82f4ae442d88135f00ac31988733d0d0893934f288b0510d988c7b364fb02e39bc31e94c6bfb7ef564d45dff65f362c99108957451a6d491efd43311561e7ef0fd49302fba0336e73c49b5e89e68327f213e9e4a24771c692f381be126c1f4b94ce6cc2ad2692df94753f13e5c0b780f21f3733412e28f1ddf21e983fa8d02c542abb76198ba5e32193498f15f988db72b67a264d0d7ee6702ec4505b9fda6e299941067abb68fd5de056f039f5d9310a4e25ad5edb10ddf0a19d4ad03387d24497ab218a5a245764d60adeee5fcb75a016f25c04e61acd617b7b479d48b46f532e9053fe5c7f217a9f6d81636961f420e7c95aed975e6a9b8d9fddce726d67dbd553dc497a24ee656b3aa31b19ae1daebbfa7ab5b6fe17bccaef0d39999f23d0a52ae5f50d738a0bea4a602f142fcdd19d87b8dbeb0465215ab405914492027841da91dbff1c520c7f9e89ce628841b4491d4aa4ca13a225c1c0f2d464fc163e6790e26b86b65ca07eb74f7717285ba1740821945f418a71ebedc8e623f049b3681322666f7e3ad9c947cc44972832efff06d48f108a5d3693d1765d50ae7529e96164ed456771f8afaee08032d7ed596e57b656580ca909997a7ced3ec5b16cbf5e088bf5c949d517755bbc8f140f3606917dfc92c88936c416799bf4d6cf16bd5af79106823657a74d730fb3f912e755791bef4b76b516640212f055853ea4929a841034a967492246024134a82fd89a4ad30dcadcb1e930075a9756604b5eae171be12c002fc2a29be01f1f165acf31c03d6ea79b6586728186bd1bd99e4307e30709e00ce95ca7d9cbd0e90a658371f4d0385e105e78afbec8c3ec2725d3c5e0100e1ae25d0359beb8dafe59e2aeb6ff56f2767242abda74e5bcb1016d8f46708f172c12d584fef44b4ce83cf2767865b641ba9dd3f4aca516e8e69684fa43b6519e8366c6b00e3a65e95158da68871c9e88559d45727255ff270e648e56055ecaab0f91149b13c069dfa3eaca1ae8c1f7540f72253f09d3cc3a8c345993c912c611fcf4055f7c76b375cc73d91be5207a92c48f0e389a41a9db2bde632ebe110bc7f34fc4d91132716448057ad4c98b6d6c83baba7efc5f6dba8020914f1ac7afe523d9563061c8d46af64184d181e50747fc7351dc6097e86f1d013be002d341c59b474c6ccb90bfcf9d92aaf07ff09a84b037eafed551165caaa1196855679e57c22a0f198e9035a6ad44d24ddd4e42206d3f1174a0903ba49a46511bf24a15a12d251fe6f108036477efb0aeefa4a27ff9ce02862c200424ee2bb0e4ee5e5474ff1454b9399020712a9621d0934b8179a06cc9e08887c94513e00de98b569294d48e1a259332d5b501d247cf5e46912903d987a94d1fa6f6b4d1d8f12c62fd2baa7286c1b3e455a5af85ead1b3d9cc5ab44704bd0ed011cb25fa2f2e35e883a280c8f6638119f959c3f51efd371ef57d07143a778c1c524e44e2e3648633588f690d6c4e374215f4501e5dec4d8e4440b6b80607134221cc0db3a7a1e4be38025e064d6b3ced92ff8fd9c28222c400b82918a77fd5c5d21d5b6053a1337bbfeea60157c1ece22462eb4c5b22846c4abb5ad98a17928b1a9ed5faf5a2592d6624a7a0d390a8ff58cb6c55d3a90e7fb524757db0a9e88c5072ba0bd3d2493b6084c33e41d761068b08d3dae345637c60cbec746eba1252ddbdb18c085706787d682c0a05419e06b8c9de6ec4501c18832517674ae24cd18e29789e71cea1324c646729db18974895515a528bb03b73103f2e748402d749fb9e8cc4eef5e9d375a4eff6e2da3fa96ab01ac2c0060e54fe799183e74fbf9e67b4022b357da51fa827f421d7ab610d5dea49e9a4ec27e1d233aa6c3183d5abf3b1862bbc1bcb4d366863ee046e3492d553bbe2617b661ece3cd4ac520f742b325090bdfbbb6308e10433e5da938e349af8442e7b77b39eec4a5d8fcd834b72bd83163b74459d700b9874a0ce4d4f9d69ac3112d0b7c70277a366e24c3fc63164c8e53ca19080edc01795b907ebef34fbaf2f75044e30d76abb2f149b08690dafcedb79180e9936aaa8baabc7489c917608e58a3ae9b2ed5518b52db7cd7a8ebc969285f848386da2386ad67de08869d1234c4e1f5a818ebb18bda143eb07e3174e99aeec601da7281ad7fdd7b79e1a894ca6eb28007db8563054c74dba29dce1de25a3a0a83f320dc4662ec64944f793788fed318f4c11b05b9b3c023d7a499e5c41a86e06bd5ef8c3cc02ed7c59fee9b8fcf5846cdeeafbc050c16d6f60b22ccdf6c902c65762c46c3f610442a8b4294b883aded873aa11ba6f172bff6bed6eb4c36bd6be171c9636afde9445d5645527243021259b11f4db71fa23159f176b1a47f0f3034969ec37a2c04ef40f52d0c9a777f90888a1f41be03bd2e4d2cbc4d34b35ac973b0379c18f96ecba830bb5d2548ccb10ea2c7b7213068ba1dd78b1d3de51968bbd9ebaa97fa3b3264c691a94f7bb1a57ffa91accf8a70a1333bfe3dff057d51b3189aed92c948c27d51539a1542bccd8d95d7647db196870be0c269af1e2102add23522c1bdaf6ccd3cd92f0558fb6e1d958187f502d03ce855a477801887332edfc1ddb06482156c6c37a8e44346588d94c28a18381201a5236a08148309128511049dba8eb8e3c817aafd9a26cf35b4f50fc1adc46e586578a17671e78605101e145260037dabb49185d4e4632354fbb10d0fe92da01de93da44702f44740aa7720078a7038681cd6b8900904e2524016f9de484396208d9dfe61ef9ff8482f4d5dafe0f05d7a04bf920812ee9cf46e0e359f85a11d8d72cef126a1ba1d4a0199b42e23986c2d0c1d4112f959035f2cb918fa929ecb36c5c2646c76eac1a1898108c3a795f7295d193aeca8d855b0be2972ea8712803aabdef0a0598b9de2dfd199bd565ed6b1156418d3a3682bee9df69cfa5c256852fc945b0a11d0893460a69d761e8954e2c1a717c33a72b1554e336b6c644dedcdc7607686f984c4db1fcaf75757a346d0c9881b3dbc13d262f17c287390641841aad11124a8c057af05156a6839baacf407630b088600abaf3e090db345fe34632ee5c8e9104cbe139e127e9b1168aa1972b6539bdf60e84c4d9ec92da586aa6e59e0e99118a9ed16bf234cb48d617a63187820e9297ec020737ea2e9f5262ffab59001e7f093aa6bc02f53a410a0cd1ec844320041265c238dca9e38cc0716c114732dd0ddbb831f4ffc7c8703572edfb60450ecec903641d3369f5e7202d8ace65a4ebdce4f349859496f5ee6015af4b13051581f6d0b079dd69e4173f8e1c0be01428b9f046ca0cedc125cb55bbcd3efab6ce3c561ff4dbe4a8d845ed34017b45841702e3760f5a021e472a128890cb5c02a8955a1830bfb24775e3a232e4a6a7b53dd8cffc5ce873253a6bd5137f92cf555717fccb6c6f5bc0ae3c1db48afd39ddde1bcd7453265bc39c4f14960525ff9b9d84cf76c68bd4288affb22c6e94064f56026c81e40c05c9b0379f532aed3947676c292bd8d0ee3555f8fcaf5b6c8dd82e785dfb49a886ca28cb7d3f82e643852067a3ea2951b40e8c69cc11a841f0ba2c1c5e91052e3685f4e0a2a9c79ef9b4b54de3390f3957ad24a7a856dff0d92306754e1cc45af9ab6c58c3ad97ea6707ff4f31bf3075e31959973f0dc47e010e57476a81315f3e43aaa5a71c93454ebdfd1a9f6c7871a5971f1f7fd69ec5c20e1c703bc164305471497de6b8c06f5981b9bb4c330a965340fce2e6146088b32d0301b57c1d5d2b0a10585d57d52be13b292975d6e70f7a35e98f522254cc99b83aaa523c91866aedf41e1c430b84a5404845f57f16926260e628a31917afd496812a61bf5ed92b0bc237a38ef0ef63e8aebd1d7b7d1994e0659cee6cb5b4b6f02d9974ec1015104522f770629415d5fd5dc117377b761e48794e5f3b4f246c0ebf5ad5cabe2cd9fc40cf424b1ebd87fa74621d5e5531285309b8d32ebe0d9930192e3a89a4d2a7d1d4e074e4b97c6f45781f2f5b6a12782c9d5eb99158765c5ae03cca9eb6d6ec03c0f50c3518b4912ee192881630456cd162a080ea59429109b21d056abe684c6721aada9c169411ebba98020d62fdd15fdcbe7531f183a9660dd6c160a333616c8d12aadeecdaaa7c9fe59c4e25f1d1ad764428be6d12c1f0658ba5d05f40600a479dd9c83704d9433f52dc828729273692df49c537cff82304ab1ff4fd1b1b69df1c9468d606d06a307bd78e05aa3da2ea58c7537d79541ad8cedfede1517fa48bc08d891a350707bdf432a893f50ee55b34742967274503943b6299bffc7e11fccfd4bde97d31c95f9b1d8c69beb72d03c9d4f13a87d645c93f3545a2ad3452c9e584d1f5cb969f4b9dda43b16d2ffe09dd630d9ac8bc4bf4cbd73fc2a9df8c9b9a9ea9474dd804be5d6433e8dfd1fa553c712532c0cc60f4122eebb8ca466adef9dbf1c9a237f414ea7832f97511aa74c215d628d1bbd5474174e3c3072162d420c866128c6376d17db224569617c8b028c2a8c55c2421fcd88aaede970f3998194806d6b5a0644c08947b32f0175c66c591893a5a22d08b618e6451e5ce69ab74b65febfbd3e6ff3b87ee7a3df4d04fc5aff0268d5d795720a9e74a1e91fb04d1461e06b69aa72c48c932ecd0893f68a775ba708b72895bab6b46aaa5bf05b7828b152796077630bd7190d631a785ba58f256f16d45502b31710239a8e2c025cdbfd35d52056975e7828b12df5b9a1065f0e9705f54cf8ade691b74ae259b8a0da6d53f5b763b90e39adfb20061d77a968d90c284997bb6f28ad6344b4b704bad21bc65b30145a4d0716b7d579365aaeaf0cbadd8ccfcaa91bfad8b4e4b0393164a5ef3c18ad3f885bcffe9cff11d2022af41d5f598a0eefdb27bec5e2b3a19f850ca5bd03954ecacedb110db93c659369580ad242dade7b6fb9e596324919d40b000c1e0c9a7614040d68f8c08be9d339df3aef682034c373ddddbe813b1c750d88d6ae712ff8d47ac86ca86debce33fc8633f59e9d086eabf376e9b8856f93dbf9dce9aca6711cc755eb15dcd1bcce9bd6ae823d643a6f62072a3fd7e956dbcc3e22c207694aed014f9eef4485a710cf760b44ab4dfb05d7c01e32f3c3334d23a52b89b31a1f78dd4d21e3a44754b69453ce1ec10e22d36b8e83626f51877233ce6b15a6569c1474320044f315344dab516a47404dafb98c02689a9faadc76e93e9a91d731ee88d208353535353535351e8a522a6977374f943e24fe51f3d47fd4bc74ea328654ce14787126cf98a399daeb88bc1dbc845b9df60b6c212e5174d34a9386ce24228f2e9227507fb25463439ef43ccd8bf14c0fcb251a5fd25b69deac6ca491ad5454c3fe58c51d239ab8899a88c845c648d60d93862675ac8946d0b11e6a2219a11cea57cba34c72b5dc05c734b99c857377ace8e6562a6aa5aeebbaceb51c8ae20ee9791e95316d63e18e556fa2d9ba5ee76a855932991e9b37356a601c6d85eeeba587a369a853fa9d7bd4ab1cc7b9943c71870b7174fa4529adb56e1e96c1d3bccebdead55a314ebf62d2e633d0db371dd74af2842d769bc63cd67993074f3d170d1daea7813b1da65ee7c91ace80a363019ebaa4f285a36db053af99f3c5bda9aa81875d45353ccfc88871e93742199b34948667af997c2ffd86e7550d193cd36515c984c5cd7249c6753a26ccf2635cc698481e2d73a78173ff8d274d630e39248942a9a46924b813ba049f8232d8f01a38c80d87915ec3252c0c25911cea588b536f59aac567e0947bcb64ac48c9e7e656ea2219b39fb5a72697c5ef0d13dfcc3895224f58796cea2a550d6e964b2d45d3ccc27e92445d4a913c64933cc193498839a84b2ca78b8b8b475b29eea8d2361a8c87de5d845aa8c128c51da15397cee5e542e3e2e234af10db98633a75165ceeb9b77d5d38bf3bc88d1a8e438de93e5c3562627068d88d06d8f01b5e14b26058ce9ac16a62794c8843ba30cf6c9a4161706e854d3742970c17aeae595d61cdcb2a553c69c523b833c3757ad6eaf219e61f353129fcf49890278e81b38fe96138bb174d8cd384feba21a59c31a164622184f1ec2ec3bde985b927f748d0e53374852d781ec638d7b564ac86cbb3e7322e63adee55c38563cc913d97e13a330c330cefd5f3ed47109f1b66e81b93a15f338ce05620ee90d97e2adf4fad52ee492572886853c921fd0ad22feadd1077ac56ab55067e0c0922eb4a6a2dc3bddfc018976e2beea54f2694b295ba0b19932e63324601311ef3a3e6619c823b312e97649cbab4d23631be23e39e4c583d8f60f5625c55635c152313836dc0008cf7fc8f0cf4cbbb21e6a07e03751abcd5da5a1ee74de79e65cc4606605c9e121d9767838b9b655ca2540ee978ae6363629ccf5b614bc64569c5ea22590355c5a61a6aa08fea0f0c13e0820c1598a14adfb619f77422e879b62fa779ddb051a3e2cc755d28df0b318e0e1237cf9f9ef1ae468d1a356ad4b051c3460db761fe31f3b5c6cc04f28605fdc0f981f303e707ce0f9c1f385878b8839740bbc61d314ebd8518ea1bb93469a8f48ef508220f396b62f254498c1329019201cde61713f6c7d0f8aaeea18dafea61f8c557752fbcf1555791a6323d9530a8d8735996f192ca78b6335c9eef8aba9444a1944997b966c8a45a06d6e7303e9fb3f8b07c857303c51c74692697344dd334a7de494ca55399af7336d026715e6149e452e639cdad2eccb66aaca1a7efc584fd52d6369e53f7d0a97bd2a3737ae1ca65ad39f5d533f72f7f85376cc897ee5e96cf13439761e69e73897fbc3ef4067b70208a0f9c000a43fa5e8823edd74cbfa8cfbc280a9ce82596b9ea327a9ee7e157bf5eaf35d0e4823a465b08cda96b7489a7276827344fa37ff2e68b7b5dad55ba57ffda2674cf6bad5dd7755b8b0efd214fa05b87e78e4cd7b994e9bc86fd52c637dfdc03d22f8a238668e6e5137902f5cccdf0ecbdfcb0e74bc3f3ea673a8771206dc3c33975af0b81dcc0852aa49b23930f19d7e999b06334c216c2610775910e6aa1b063fd92e17c09ca70c36d601b2e619248e53406e7eba22a9f8173d306f2664b291d6e964b4024017182f75ade682cee4db9f4d9be7171f1e62797e28e194e5958aab33800429a7006b6314775ce691786a18c124a232945bf62ff903ca4cfa5f403b14a0b9b771ef751f085cd65c2cebb1b64387f822dd81ae4e530d283f4c06c380e365cc222b8c3c3b98fcd46f879c364d8e3f30de4bc7c390e0d7b35e086bfaacf9831f30b6bea8679649c729146ca18ecc2337c5e30dd866900d2361de6c940fa455f065387719d9ee112e79a97385f65bef318bbfaa2018077384b0086af9e65f8ea0008b948239de625a5ecb0cebca15fd4e53362cc21d3c5f8866b7e15be6c91363c5bbae196185730ae3365320c301eb18d39605ca7bbce73cf6b2d9e67b28ca506922e3b9712c6e5923ce1c72b09cc8e5cca2d63dce9be8f315098307e03cd16f7fa0b5bdde562903cb878827449bd975a685dbba19a7f1aed97e65bd88532ccafd73497218c6f1cc85567e92493f7c9b0d6a54afbabacf639d7e91961eef08f9a77398cd3704390b6e1ba8d73968e73161b30e082091b6cc00d17c6e917e7437a27f402d7ddf84e60dcdc40426d9337a7de419d53ef22b6b361fc1be10b7ef11a66187466f677c135d096065a855966a906b9ba615e3d0af453087a04bbe942fc0eff78f57889e203275e7a1f815bc3b338ffa879cfa7e7799ee779524a293d795f9e5b349efd01e0f9f59d0320f49cc6f3577823b41136a0c3793a0c2f379e1ca2128ffc0e67d909717317719386abe12fdd0b73cd7bd2864b1b5e43241cb061c3860d9718890770b8e139c02208830d1c44c26ee03869bc90ab4162c36db58163d3cc1a376c9c9f5792a32284de848f47440ce13d140592816420f427f6517d7a471f1aa62d0091df1aede10299ff429c01a13fed03e996e2c5193a75ae756e06f7a34fcf5c8c8c8f781383a78cd1173f816240445e662032c5266904829f2e8d66e73f5edfb9e32e7cf94c086efc19dbb9f5d1b9c52fd98148a738a7751ab6b8675b5e05a2455e8b469d062af22a50510301c5c4c8c8c4446962f4d42b2bd670639426494fe36314144c790932c06380e7d5759a862d3e7b501bd2f6ea2c9e1767852f4256dc9796872e619e046a1b8b795edcabaf199e67de66196f5da68d0ccff4ed7cebabbeb16ea590274cb7deaf979daf98cf9051c00c4829587ca61c065b9cad0b66f10d4b298ce20ecea77b32ad160b8bc7dd48ebd6edcdadbfd9afc53096739db6b807674359336f647ccae0e92acff6392c6f942b630401bb6d38736eade52cd800fa3c9ebf38cb653c823b3c2f326110771817eed1f20de4bcf5203db0d0710871cb1b266196b3eeb65fb601312c09d4361ee629d23615f36459a45f3d4fb114da71719df6b899619ce5d675bae555ce5fdc86dec6b90ccbb71b1ec65fc2dcf3ae22945c41e559eefd045d9b5bba6117b48f0badd559a1871ba56decb49f7bdea50097bb5ca7614220f35bdee08e6b723e5d3eabcbe5e672e9f208eeb8b00d186879cfd7af0bad47b0651d10e331d2b0627cb65ca7bb10a6e516b7e02cdf877da15e855c1f2f0e646a5c986de69ce53ab315c6fce29ae6f2d6e3b35e70c1b9c78be004e2a489712e7cc1d95aaf21f596307e2bccf25b1c372d67edb49ab7421be6b77a6c38f30d5f2903a48f8f8fcfe712c66fb14f69759df95c78c3d730dbb778e53ab3fb9cc5c8687e8eb3f003c3d517fa7c45e05aab85fd9c6d800cb6f2399e1c7e63a19fba17e61ef938b83e3040dd3f7ebead99f3d637cbd91c242c06c70dc88421469a48274cdf68a27192684a49442489885a3d904d4812493621cd1b1a5a34cc9b4ed2c4a75fd0445ebfa4e04658952b5495a240bc51e10d44ec25691ad7aa35e55a0bb79378a30343232585441a30493be1fc0dc49b56e2a5daeb30469f22763dcfc8f8b9ea1bd9d440af572cc99d42b8afdc9a4eb881882412a5944a292391d7bd38cdbb2595484df4e4db65d0bc49a5b024d288660ad3d034482413dcdc44ed4d449bc9f64afa45d432a26f246b91909aa8897ad6276827da4943e9234a294da550ed82440f1b99b0f097ad5fa7a57d5b53a5ac71a126ca8d303a2901e20d878158cce37bbec4acd3a0c82485c41b3b69029508f8034706d1992472a5fa7cacaaaa44983059f16aa40f91952e96ba6a456829690af7e3b54481a64441b2335386f42b22cda4d8bccaaa484d510a2645955555b50a0e9112ef470b00593091058e120ea118655555c521a55f9abb2d1267d3a85f9aaf54da90ea59fb017756eead42964750c552e11f9f952ccb6a17e2b33090d9e359617c15fdc9a4a7ecfb3c65b2bfd2349a6bb21d164c9b4070b75a6badb55adfdcab362a968c2baee6f1e31109983c7d2b855e9bb039659a8d75982256787db89936591f16c3f80ac3b0700f96af8e8640facdeb7cd22f4d8527132225521682bb33652910dcead72bb6417e5eb9f5cdbd28699f360fabd360e9e7ebd6b7d087c540e86fbe6dabd5ca52d76b4cfa2646896924587a6dca8a04bda6694a5efb79cd57b6cada66cee493d7a4e6e3abc3bc502190d302a620c0fec320ac1ea0400907b0202b581bc2bc805af57ccdf125200bd5abe1ca2508830abef21aae60e19295abc2174016aaaf1ca607caaba35e40f96a8533cbabaf14507d857db0bcba0565c87198abe0119c408ec37090f71ce40b80180206739db641a27c15caff15300c2f41b90a61d16b9e13c24020478369e00ecaabe64950612a9cb2703299452c47ddd5b6ad56f75776e59b542265ab908525d16968860877001de72451dfe420d11992e33c38ec7d759758cf09976cac6b43da2fade28c63c3f1033757e75ce3fce21f389e853580e37d707e9d5bb90d37bbd9b95af9bd9b6f386fbe729dde5ca7579bdbc619476c6befbd436aad758563bf38df6aa037ccac16ce3b226e8b734e9bc02437775dbd10fb5500afc1b9c6eb4feb37362f1e3b66bc0acdef6f588b83837363e337be85407a4787eb348f1d3c7c8be00e0aaed3353c823bac0aa41facdbc672afb26cad95366ddbb66ddbb681d51b823679435c6d73cd69d8506e57d830f61a2846e475fc54791dae030457bcfa49cd6edbb434eaf4c6721dae336f74b87c1d3a5e87eb747f2c168b7559ac8e759447c1b37cd614258f82a3e03f4f58def916deeaa150a85a410bee8028148aa22e6581e5dfbdf57af5beb863390a3c9c15c687e9211f05978f827761ee7914bc822cc847c137b08701fc007e0ab3b7706e0dd3cb5ab74060045b90f1135ca7b5af82d56fc2145248c12b58fd864d4dc15370968dbb6d355ca7513d1f907ed7e914dbe6843a9d70eed169e971df67adb5d677ac95cd846442b32a1f3f2af968e4a4cafd68e464ca096401741bfe85367aa23ce85588c8830e82e009089480604afd6a68fbe59af11977f7eee5e573717171912e2e2e2e2e417a5c5c7088dde7fe12f2b0203fc65ddca3eb34fd6cb8771df5ee2eb810e74b4be2aee0028c0d5be04e7597e08bdf08615840b90cbfe1f163dbe4f8bb4e7b9edcf198e32b3804de77300e307f5f01e3b0240698bfe3a082e738f60f6170f80ade03cb096170380e1c3886f715701098bf0751c173bc0726c11dec119ce13a3d691c6f78db585b0477eec9f3f737e45e429e9d1877c12c9ce09fbb667c46c823ff9b99c1b15f30f8f3e972eb721bd28563bf5ef8c3218ffc03e01ce327f88d50be8e0b6dd302eed0b7d6d6f02d64813ba07b12e4917fc3239ed102ca7928fae1216887261e881efc62c2f8983699404343abd55321cc7158f83e23947f2394efa1fc13c2eb58fe649a373400e5b80a2e430e56c16578987b11dc6060e18ca302c06bd872da4483c6040a731da4c10676695162981ed7653c3eca75340ad6886bf85421ec81ddbf11c6f7303e0ee3c3c21e98cccf958f1f1f045df2bfb64179f5bcd3e974daa93805ee541b2a00741bfa7dd8163a778530d506cc6be4f81722c9c130d573fc31904602c33015f740c175f8e3214b6e6c3c070f59c2c37970d8921d302fa0e03a1c05d7e15e4b84f2f18807a39720887ba946d84a46b83d507003b801b08fce51f008d343878fce75787c1e3e83b3cb79dcbc70aee1376ec383b0506d8e5358addbb6d950d8f6ab6207bdb2fcf3cde5acb086df2c5f8777283818e620cfc3bf3007f99b4e478d1048bf0e778540fa51704f5ab7385e5348c1371cb7215ec24dc1f37d9c14dca6e016c7391c8f200b29601c1e3b5088e184f426a457faa5b94da8e9083512dcdc405ecbf7b58dcd9285b30d6efe582c9c7ba27539b8a1c09d6d6b20d0d5361557ef03a74c7e785353067e5e01527e3d0c37bfeed12f0cf1e6a930cb4fb967c30d4429d65a16ced5af67da940a4f28d7e91e94ce0caf16243301d3d0c09a73e08e0591b8d525517e7db5516754a22a008f91874e3c417301b84614770c6171568ee7d67bbe341efb4605a7711ae68d0ab86730fc38df1c1e2b8caecd877596b3585efd58587275d6b66ddb16e4ad6f28bfb6e76ff82364b9ced482e28e48e3b942f93776772cf0d6dbc20dc88f3147f50862995d853d6fa5fc45852c7e43d64b10f563fc6ab5f216e2aff0ca430b7c5d9d7cfb115eb76126c05f16dc3764e1299b48608db788349f81b30d80dbc8e13506e03ab3268c5f8001cc06300027c06c001e80d90072c4cf11e6d60b20cc5a92d79c0600618ea19934132d2e0367f9327048c33d2fbac0246e8e4c4df345f3bae1da102d3e8b03c0b59c79a3f9e48427d74e7e717e9d4e6eb593572b11a85f31a4af719a1e94fee5f63ded3bea61168f7a28d27e348dc8a6d4c50a5ba27e553096e4527b713305e335cd7bd636a06bde52ac5c730a46dc113d16f842dbeea25f35bc61aece72097a9885eab6957a29470070b8092658bba9e011c6caf17708c05c058c830a0ef3c7382c89410587390eef399efc7a698946694949bbe12e1a42aef5fa9ee31078fc82800a18861d86af61ecd70d4ce327d0788da531c1843087d79c80238747702700618eb065fd3201c70def70a6dfc5f02c30f68bbee7de7b0face6f87b0c39fe38c812eb417262c8f1f7c7416898349ae7e01e9885e1ed755618df5ada14661c5fb1c7f90d338d475001d65f2ece0a5f6c9c30cc0bfd16a3bc8609fe0a3ba85f9ad3840dd42fcd6f8426e0084d086bdf489856bdf6517dbeb5d6faa82edf9345455656d4da06e45b6f22a28ed5b089aa869b88156e60bec53cb28948ad8b88b8f173cb9a88ac287645738d0850dbe426e2794468b861def4c0349a97c77973a3bb5e93e31aebc6599cf8f5c23770bedfe1edf5aa9934d5abe784fd49cf2b964cfdd2c01666fc73262b2814ca63bc69a649a3792cf722d83f6da3c13c5b153cdf15723ccf9b77eb2b842a84b0304e1a1b1ea765b9e71e2bec9ff611e2b27c48bf3467b94e7f4e1827cdb471aae19e046f6bde43faa6bd0d6ca1b5306e9e407146af588b7296dbf0e28c23e3c4f0b5e5357c81e1597e6beac54bb85e5915156696b358f9b1b0cc0f009d45392bccfe2ccf862dc4b7d723b8800daf70aecee23d5f57ae3335a2afdfe12a4f60719d09b2386dd25ca3c1b9f5c2f9a2fc06ced6e59b8d530decd25c2ea08a81a6ec73cdda7b5b2dd7eb93a57c26d4691ae16412c1f0ab17cfa2b65961cd637cbd6a6a68536d9a349ad755980a5143dcd5ca759a36b15c63c1d9b250f87ece0a33f60832a0730f57d7e9cebf30fbe3946b3e99cc227027e55e6a950aab477055ed0a03a96fddfee83c55b3726bbd565b6db555e9ab5bb7d55acf31a9c67132ca597785f30cbfb275b55a5d9c617814cb6b887d823b38f66b460d51f847cd4e8863bf1c67fb335ca79b6986cbe06c67780c9ef91938ffc0f1329ccb2ded14aa5a9cf356986378ce5dc26c9fd3719d7032691aed6db6153799780d6dd5695b6bb51cd7adb44dcb711c7f722f27820ca82cd4ca51ae52a936ef791bd6ba85d6af7bfdad42168f604555945b54ec5705ff84fa5ca7733c3fe1ca391866fa1fa6a15f9a777816e129eb97e6a723aee6da8f3664abf88b4c5b184a1c9c14be115c7ac57a538c332e8025b8d6356aedbd9136bde6fdc2f92aa36fe216dbd1f205493c4f35e54ea71edb71b82148dcc1396db25c48630eaa51b7ab8f3f78aa293d13cef70b074ecba975eed2e11b220df5d88482a9d483f81020e6e3e3a3032c1e95a0c8538f45829e4a25559b3254c08579433fb0e2a42961114683f737442617e6cd0be34c7a7ae24a3fade0b61bc1934d674da5aa1bd06dc34172806d351b6cc3359386f5b1a6f530bc264d8b11aef421863e09ac7dd249bb7081b32321a4684a474288f13922a17c8e8a28f91ca7d0d54a06ceecc903538c32c0d02fe92d268e687f71244411ad891dac95a756d3344dd37a8230820bb078011311533c01d3985e4bd2e435fa9aa60536da570aee509418d7ebe17a3ff7fbc0fd74b80598218160e635bd25e30a1cbce6b46d009005134fbd65a774bb1cb862df9d640c5178dd4c0c7d3c4a22f4f7e351121fdeeb8f05892b638c94862dc03415897fe4cf7542f60cb13882a2a97c98540b47fabea0322ee32e49b49a8ad1dc65703f14c51c93086e8a0b932ac27557b85cb062a2f35ebe1fd0b49c04a1075c60710465f6e00383e0b2e464696a019e5aeca7607042b1b6ad6a2e4f5cd15a39696171c4aa7253472c464ebebdc5c2f7297823b8d1549afb95818a25c5b2ba2e3758b1a64081b1d92eb25b6da98c00f1b94504e6bb06fa4db7c545076052d27f57e0d408e063ee229a8f08dffd83efd601517dbd6a6a5a93c65bf203f92e507a979417d7a78397875d0fb8c0e21ef9fc622e987681e59c40b93e30323ecd0b819531c35b2f9b865b5afc2764464c9527cc592be6464b7d17459af6e8ed8238fb8a6f4cb4d3ea57d785cc1723e31213d3c25ac5c4c4b0c4c4d4e899b37104c173ede9d6dab60d47df7c52f76a753badb573fe867f50bf4f48cda5d2d828a596f6e46874b37edf115c68eae84a97734eee9b42577af7f48b2de33cad947c4bd30bd951067d5be9d55ec32919581716589610a417c495f21aad3e172e5cb85009b97cd1a5e4e1e50e5288fcc0d3d6f749b9d22b81cb0630dfa7049d7104ee449a358f3e3fcef8b6a58ef93e1e64bef982ce077d79b8a857dbccee9e5206bd746fb5ee3d8242f6dd4db020113bc68e31c6d831768c1d63cbeef64a5b45dceb5f0ba7153bc68eb163471b638c31c618a34a05b62051dddddddddd94564a29c576a705f92cefb65ab3a505e522a79c73ced9b25bb66c5a338d524a4ca7cba26e197163bf1ab3c4c4f062ec91f286f6f8f52bb6305ba85b6ad5af28a544223fd2e87126cb994c7ab7cf9532189090c2f08679d38048337d8b39678e484d30c41c538a59bfe247d9d2ad8a09a38f7e79b8d3598adce991ceb62c3cd40eae6432339db6f09e26639f72cf0e1a9f151c7240f82ce24a97f93cbfd410335627707d545eacf74d1fb46c016c0a578a56149f32bf2b573a9d73ceb9a2a918b0d8d3e752a4427dac21a43c21eea502e532e564593e9729a0aa88af4b82f765d1b97c5e10e7d2a2be7cdf121a85c9c12815451679fc40d033be09031963e7458c53ce9001e37a69c598162ca426a9dcecd7b71f2eeae351144250a210e28710cc200a21958b0b226133c1e584f073596e50e4de2a34212e85a2197152a5b89c0a36209ef070c4930f285d9b042877fba2165d16a52d0497d3827a715531a84db460dbe2724f682fb85b13569c20a94faeebe39113116c4eaefd8232ddad8a086ec7834d0697dba2f670e9c72328b2f8ec54a0980117501851adfb7814850aa2c8c1679fa20a9f293a0811914378a20a1f5874fbcd5e1a512a89a0f8a6b5f4be5cdddbe3430f8c948cae88c9c0695d7fcd1be9358d29ce11129f97aa97f293472668fa21152888232450648e5214d095069eed91bdad54044f7896d22f734f5d8ef1d4b55008ce34bc0f1ec9f440e423e980e61da407a66918671b278dcff774cd5b2a81fbee472f0a753a81e0f7795ed7715cdcb1c3c61cd439b7e1167748e75c8b3bac53af71c7c939a735f2a8a7b0865bcc419d461e349e409d73ce6da8c51c9c9f6467c3cb298c3147a5b6fae73eaa5b6b53a99aaa55730a8260e8e3e2fc61ea1da5c1f3e85d752a0b845a20b4eb52a92e95f21deca4e914ee3a1d6ebbf5386f52ce5a62b10f20b4c557dede5ab568e854915a55785329fadd9f8eea93105ec4f121bd4639c6e7cd3989b3e5c91523e97258427d097d4dd3340d6c0f643ef59ee791638c31c618d4e7119f7f2cdf87ea91f5c8bed56aa572e99a2afc3cfefd6e987b642ca41f1109b55aad501849f773f38f88246b8f8cc55aad22520786473dce50db363eae9fa84aa552a954dd189f724f5e9a728f3e47e7d3f9b69f82d8cbe1ed38e51f307c08c3b7d7398fe6611b5edecb9447f30df8e03aadb3de71ce79c7611ecfa5b503aba50aafffa841f97c8c3952385f4cbdeb1c156618be731f3cb9e733921c962cf9bc73d0ad2072c50a22415684e08a467f874acf5a4adde6d7067a9e3a6739e7f13cdff016dbf0f292a398c7f36c599cf3dc3ae7d4592ce69118490f2e77b1b8700f2dd80e2dcef272230d759796ef10e30e7ff2967b1147ae0e86ad1d5a58208efda2a0affc0bed773dfa6d61d4dc4543c8adde79f4abdecd9b2043e2182ed00111c050c212c41803c6e2427e36d80e3d3016ef380ebf50c117e853da7d2087573f5c981ed6a97fcd4fb741fe86615eb0aff98fed6d985f6d4faaef116befb5f947cdfbb01e9f08fd80672df601847e9b5b1ecdf30d6fb10d2fe19c73ce8979aa8b05883b3d469ecde204f4fc8663c4912de6d13c6f2e1d06cd86d9ba7d19234dde304fc548a46b38d2f9026f26ee68170d213db2cf3f22d2fbb0613e920e548f2fa47a909e2f823054bc43a8e16c67983de0f3df744084552c8dbc380313030dc2c30a15cc60d47b6033fd923ce2478db210dd56bf249d37ee90ae8577d2f49cddbd82c9e4f38d431ba4f41c8f8e18fa9e699847beadb2e33ad617182c521ead030faac3c7c6d9bf5dabd88ba4cf7186bb70e9f72de6914fe9f7ecd97232e5c0d37acb73ceecafc59ee17bca1678d14112dcea9a677ba96b75931304416fa11d0cf2fde2beb0e7439d695f8856da67080f0eb3ceb90ee936b4ad43ae7ed26d6b897d34cdb7bbef37f639e7eceeeeb9f59c7376cbcde25ca594ae35edd9dd45881e638c31c6387f4623909efb78648414cfe4333562c91ff15206c9e83e1e1951e4a5dfd003371e1931e4a3d78f474257de03371e095579efe391907ffb3c028ed78c1f0921457fad3eca453b51306dcf6dda39674febf1e5562b8679c1bbbb5d6b9fe9d79cb5daaf3e53f17c79f519bbd599970eb66a54d2482b9daec63e34f78f18e605ffea5ea57ccd841aa63f43dd359d8e4853be4f8b31461922f96e560f7aec3c17da2601dfe711a141e4109d0ddf308370730dd3056698e1a6d56ae92d31ad2900d0c682786f374ad62430f61308972ae99b6d12b50df5399fd4a279657caef3496d028b34cdf45a346fb81b27d7548b7e02e1e6aa04520c021d71bf8a0402d9a0cf5ced80544f6eae483fa757242935098ca1c06b217e749da6d48852da2f4a29a53c34e6901eb1076e3c2a22e9dbb58f474540392ae2c9b77ab4094cb0996033c1b61d39b21dd98e6cdb9123db91edc8b61d39b21dd98e6cf5c8917aa41ea97568a80ed5a15a8786ea501daa7568a80ed5a1aa0d0d6943da90a62db184b684b684a62db184b684b684a62db184b684b684469758822e4197a0540925a81254091a9b373d949022d2c428445264537ce64d0f2586224d54f2c304e8090d22b254844909a1a65917558cac205d498a491185488a6c4aa4893e434ae60f9309f424d2c41e490c893491c85211a6248466558cac205d4992b27da4549252ca1e487411696215232b4857926252489f79d30389a119a494b29752ea74e152485925d24cc191521325d2c81e47308934b1657d502ff0a287b2877b81a0fa688590a48f5608316af968851014fcf6d10a214496767777b7cb97e25a6f1badb8b579f4ba1829277b8c18698c34d248638c54628c91c618638c34c618238d31c6a9511a716e51899a4629d568a414674e2531c61863a4b4d65a638c31c6a8594ac4c8901d8191229f65b882b464b4be94bdad9aee396794dff3514cef5870a5fbd480cd2aa76083978227fbe79b48f4dc443e46a39632d2483d46a794524a299ddad4a6365721cfd4642d8217dbf3a2b4f2d125930a5e9c0127707d7c7c7c6015d3a66970a73dcaf8f9d3dba789f4cd863445a80a2b8698947e3a6db96aead336533618a5c7a73012539fa73f2c43384831c7742d9452fa9554d482e4b6678924299066448cbdcf6c5aebc5b843c9bb9dced8cb11b78d7ad6afe92f46dc381b2906744e2aa9a4f232b96b8a8de117638cd7661b638c9f8dbd02ebeffd9252ca9f97d239e93c41b4020b1d946610215de965b4c2064bf26711befd6b1b219d5a400c7c60249d31c678996209a27c8c31463adb6722ce4bc6993885787126c618a556f37ab9c1ae78295924e8800dc6611d14dc1c9bdaa507691b9c7e49a779f9b9668bbd566bad9bf56db579dd700c79a4f55437b8344825b1e9733c076b2c5739cb3dd6e749b9e009aebdf7ba0d7962ca2b76daa46aaa9132559cf9acb1241292443348a15f9a3fa94a64295655d5275dc8624328201535c61863c892866a91a0530aa91f2994188a2283ea4f7336d52895a8936d4b044f85840a894f48c6a62cbce26049128094b89c10ead265b941d5e2de2a36252e852274ad136ac5e554b0cde0da984683ad09ba44b99842b5d8a6d09234192ca931d87ad88eae4a0935896bbfd0a4b85b158a053dfa9e38e1dd15cc5815111af64302a62e4b42c901b91132d68bc54812cca0ab25ae0f082ff3072d3aa968495ad1d4142c4d542c22a45ad0e864a15dfb68df5b05ea445d7000aa8cb8d2fbebeed8eddd9f0d3a4fc6b528d95c49d57e43da8472a5ec38e3b4fac19b4db0bcb899764d3c24dc178d71462941e0d500c43ef5b9e466ea9a5dda1f0d6bd81e887d18169e1573c87e6cbba2eb800813a279b70c14a6cd8f365e0d3d9d94369594521a53a79cc3c77eef23b733b6668777b57d3c8ae2049fefcfbc3893a5d2926c5693269a4bb16dec1885ca25242b4241a488d8ed5b1d613fef082998b225ef4bb9e0fb5a8e007e2b2119dd13d487a2f2ba5f8b125aaea8bed42c4e9c67f93a2656dff79344c54a29edd79acd1fc856d20d5ea8d814beb583005216734c89650ae209d2891afcf476ad68206333c9f341eb7a0be69b28b032be2ec9cd364ad97aaa44002616246e37a5b4bd458c5b8b70b38cc5a6b5f7b65a1e9312d720638ef61873b42b3db9010b12c09875a2850ab8273c4411025bc59d62fea0fac013284e5ab06541b77882e341a7c4e20409143388428875f2c5f644081c1446550931504151c54912ac932636a2ee89132b04e74404aee834b2b84fcf989c4525204965928902f54cc6807c90269344023a4d9f0bceb8389b3752e9d4524a49e99ccd711c27a5c77813573df3ed33484a299ff0da00b1e594d37dbee7ab5fb2085ef438c3c56ced441babb3427cb5d3de89afd659a15ffd11e7c41ca72572a8fff83c27eee828108e19a2a0a6a11edd75260dcdaba6b202aff2e24a7a723fe196b4256d25c979f76306fff8ded29761dcf0bdadd6943bbda946c5434561a1df8b245930c16691102064600a843a8889251f58ec5e11810e7c602012292802964327933e1c610840300fd592c51459c0a0a97d08020c622d0611232658cc6287a0249847af200a82791a162988c1220c46c0b4040b227fe053c40b580e335fac6ce4c440a24a13cc4375959b6910c9c3d2d20a6041725085a004b0d83a7290264002165b07cb4f0b175346942319cc6408e0872b66300fd51db999a2ac98d28283d40f4c1bd174032458d7000660c8e27b489d939611f18a2072208381e0034304c1e2d112801083f530c61640308fc62a96f0450ce6a1e284452b7840e203933c7a066999932f92f8c072e8b408822d81e911bb78293d144dc29be2cae67c48d2f4d52be83addaa31babd9e8018a5bdb08c03a6dd73093b51d816c23466613e8f1ca3bfe5025bb36da70db56d14159e58e8b4dab465cb0ae202c4afe957e3d4843a352f9990f28d6dd7b507cf7b4269c451164929a59452c6186794a01357f64c496fe0d4de96ad71c5be537ae98310d0a00a21c0a2c3e0e0d2231fb99862095f5c7184207cb0012c7733a0ef66f3a64776821fac841182252d8ce8d094b883be065eef633a52db4ccfdd2c825a871afef17acd6767347137eba438727337eb8ab40d8da7f1b24be232d22511fa7605753217914ee62ad2cd5e9a7c5c3fdffe329b3708a022c9cc072d081a720498169f5f8cbef38b34c2e7172d8c14a10840c88cf0410f60f945e9e9129f5f965e985eb817eee5a57be95ef24bd0f74becfbbe107d7b4bc988cfada5efdc3afadc6a0a42064dc8a25c112308b0fca2c4e7972884f8fcf2528406ad2d6830057f6e2525b5a22449599ab3efdcf2f9f9dcfaf9cead1d7c6e053d00ca9115a8200848987200cbad243eb788644c5a45ad275c139730b8262e575caab858f9ce2e4ddccc4569e9db5d62b1cf2e44dfd925059f5d621092c47ec6588211264400cb2eb1cf2e4648525c925ca624e1622409a17721e202f49d5d8238a2bee232e4db5b66547c6e31face2db925e99b044d92e0050f985802112cb720f1b965a985e91b965bac703ab434791d9e7c7b8b9216d9774b11f7d312c4fdb4c4720bd1b7b394943eb396be338b29b39a54f0c49519407901529224586ef139e273cb4f0b504b112aac2da8b0a6b0a2b0a47c6756126b96593e433eb37ebe336b069f5931074b311082153e18096306cb2c233eb388644c5845ac274dc26872e57bd534abf23db382b44a4252425afaf6552c049f5744df7935c5e755d1122c2002085366902408b0bc12fabcaae2f3ea7e5e59232b6b64b52252e43baf82624db195cfeac7288965698acf2c4cdf2c56a8b034a1f2e43bb3146d4c2c4a3626269625c8b2c42c0bd1b7ab947cf8ac5aface2aa6ac6a520171040f94708320b8388265169f223eb3fcb000b114d9545b6caa292f9f55499b2acaa692b2a98a36d56c53f9c81f3eab7e68a0003a0112a8e820eb01965523f8ac6a01104c96c0e048097e8e605945c46715914aa662b2f510c6d6c3959c6a029a341b90952d964ada624a5b6ce9db53b179d383022b464e5c693242fa81c5e0738ae81b8a244fa640e203438002cb29d9b7c79c2a5a001237684aa2c911621081e5d4ccc8e794510a2925854aca089594508a48aac8774e05313531a57c987e8c92969e107dbe4cd70a15b70915f7c955c2e43bdf22a41b84746348444bdf195584cfa8a6fb13fb7c816e918adaa2a2a6a0a248f9cea82419aa48869aa18c7e829efcf01925433109238c30ae7ce75353f53955f1b152814e494a0fb4f4eda758d2e713d1773e29f1f99404209c201a62054ac4e008b07c9a057d3e199d904e52b42d4e46b42d4e422722a722dfa720a526a593cfe9e7dbc1d9bce929c115617061058b2b64900458109f41a3ef0cf2e033986400284fb8704202225092c0325882cf20085a49023649f2e43b83459a0c54226332038366606cd6fe29cd9b1414120881c1104480026445e78f29099f3f1b40c8a88081d00a8620042c833e24f80cfe80406011ad876f0bad87295f940fe9bf24ed2bd2be99f6197dfbe7d31ef3f7f39dbf6884cf5f9c2246131086c044c5c913b0fc0df1f9fb3e2654bc30a87857bc2a9e95efec353179494c4a4c4bdfeec560f0d923face5e159fbd211108117b01104838c20858f6664f8b7cf63c4f4a13cf4813a1efec05d19947645604a96b42f27cbc9f6fef6636f8dc197de70e2977494d54994209539211c680e54e4988cfdd52c7d459a146ba26d448f7a453d231f9ee8abaa0d8ed88be9d539a37110743648004a4283f58ca010c8cce1c13113e734db1ca8c081ea020260424ae80e5cea7fbe980ba2261705b84c14de1a27052be3397447db822eac3cd2867f4ed9c4f0b3e733fdf991bfacc05a18227c2e08288236641b0ccc582f8cc1171328e0915615071e53bdb26245b05c98a924d5252528acd9b197e2822c4872274b0e208ec8bcf96e83b5b243edba29f1e841145091dc4d0c10760d9ce46f0d95a2b6526b1466612a16fcf96882df29d6d90ac49667d643fdf51063ae0018b212fc2e8e189223e6f46df79432ac1e72dc925a50840f082074618b1032c6f4a409fb7a5263e6f4c56c2d89a84f1e47b2b9a3e9b121f26df1e81b6d8dc88bebd2a8df1b92e7de72a83cfb59585911d9a7ec0022645607903e2f3b66d45a8a85b5031e5bb2635528dd248558a529d297dc4c14f184d4354fc80e10318945c730d42c18a1fa0f87065c9173fc072fde17325aab2efcaa48d84d146ae7c67ade9bb8a159996a4f49d35d933bd91123e6b48df9a142a9a112a42df590b629a34d2998ab40f6df269a733207ca646df992241f199fa0c21a4880e3b1061810d60998ae0335dfae23365faa65668409b502554f64d8b92688c128991e7119f67530d4f8458b104d918444db04c7d887ca63f40456810154ac1dc2205537e4649b273e6f3c4e7f933837a5070f4812898186182a12a60940793c9eb1086d4e1a57793fca9f263e5db6392527bc786f0b9898cb6e896d28036126920f44de427b74f0664d3a3105fd2b36cf22848273e4ba39e1f94fccc60082e5a60650b58964a3e7c964b92e9b3b422bb69a44b20da70f125bde767eea52c92dd6cb02c8bd01e1e080c1d7471e44a1223c0e2103ec7a6ef243f43df6be432b409befdb6b722302406470061044a4a2401d63fdfdd7e537073277be95776553ddcdcfddcaf0837734b985b7ae92a285a6051e3395f71336ef6d25d48308219829351804ef0dccc73ce02ee705d907680d7a63872e435cd671a8783a7d30967107bbf346ff54bfb70b61eceb7c3b975c3b90adce1bc2d1550bcb53e63adb7ec8c0aa198d7fc5e9fe71c05ee702770c74e12dcccfdbc74cb6487e88c524037dbd94b4f0171b3f57270b38dbdf415d1cd1bd34b5f21b9d97a71f3367be95f17376f482f7df2e0e60de8a5cf1ddcbc11717365bab96a717395bdf499c5cdd5e7a54f29d2532fb82e4c6ed6642fddc5899bb5d9cb2ffef49bcfbce6b66d4749535c5e73f00377ac07ee6c2c20dcac01713395e2663a7be917ca7549ba2e5adc4c7d5eba2ae8e689f4d25525b86048ff62703f296e9e402fdd23bab991dc9613486f61e2bab0b859d6e0e6f601638b99574b466de237137ef30edcd9340bee5499346fba0ec875e5e60ee8a5e76ef6d2bb59270518445ed37c0377b42ea8039a371626290f49fc7dea33d4630b851a9f573b0011e035b7505eab62872baf05a990a8442cd696510d1d9a11190000000315000028140c878442b16830cd3349d31d14800e8a9a4c6e541a49d4284821868c228400000000000000188c340d00866b917057331143ae2a9d1f6840b5114629496d18554ec03d5a84a19f7cbbc1a1b1c8d029f08c562d0b9c093dba870db3e1afe4d9bdaa49f9979f9cd869204b686b62c40211249426fc4cf115355f9ac039596321a0648325ea871b1fa4dfdcbfcef1ccce78f7cbdddf764db32201a3273b1a99e062d029b93a684a5d0e9a9257834c89a21bfa294157ea24cb43357104412b35a30b7a89766827831a4a75186842f73a90545a2146139a028d41874489c1bee0a1d66082b29de2415aada616693614253b3f2e305984199fb20199f16257a5c99f88594f0644ad2aa2bf7f9c10bdbec7fede7b1f9e26ae6c579cd2f8c3e3594a46157494ea1402dd4d900f5df5fd114229d86fdaa4a5bf277f11997034e81ca63ca98d64f5f08ac7db4e012b29a00fcd8816b4249ad09c0bd257823c8e1ecd626545813d5e7dd2e823a275cd94b67a5cf05b96b5e1c6188013eafad89fe0cb4e51b3f46149d118375df50b578848473ffefcc8055f3ad220734a103ef3c7317eb9282036694e37b1b635c6a62681b24867ee0a97f19a49c05de097cae91f65359ecae6cb989e45e5b97a5e5d8c9c9f0b4cdfb6f4f879befd68d939649b83769c2390c0601ad7d67611f6150dd82ab65d65166f4fb4bac62f1102df7a5cdd06bd14cd9b2f39f2ec1f44ec1c0bd45abf20dbb53bf3f6cce7d69feb28176becf2637564a6dc802cca770f9f61376908a337faa0c723ab9af0032f14267268770f04cc312f8b5341a8fa6de5a1b2ef90eae61db1a07b3f03d30096d9acc5c96e6bed360f2c123fc95b7b618cc0248542ff6e9b1f0365d0255aef438f1e5a3ddc9a96c541ed86c1aee12a5a838d9b351ce324e8af786e01ac29fbc243f639c5f21b6f21395cb1c7059c4be32c75e7d482dbc113c9e01adc70736f0f03887df2ed1b5660bf517d488e73e6f7a8faebb0befc9a81da9cf27767a5c174a9df6118571cdd2db7e9803d1845182c0bb5f9db1dcaf7a80f76446260f1ed4e8783eae4b0754ee23e363818aab955051f006e9edb16ada002382b72fb8ed0e938ebe1829253f6b9e99abb276e083fbd28917f9476096b207db1d87e23a9e4edae6c0486d7c69b86a01faa2e8ffcb8189805e21a7c58098e9d9b5a428ee3fdc72cd3354eab4288934cc4f5c5a78f8d141c1bd6f5f09817a1b4043303c7ced5c520661d3c93754fde2b79d113ff501f3aa7b179400041dcc6daa3e3523825cd98fd3228582af61a1943535ef6e656d2e916a12c4770943188671f0ee6b92160aee6a80a56fdf66ab0d3ca0fd880576570beeb12c703bb30f1c62075f9594ebb9e958ba84bda3ffb79819f6cfbcacc5a59bfe66be0c4b927f6e7c670db610dbf1e61b0c9bb7a14a2e85707add0f109388df8141739811f5da4c1139a801b53f4bd7bf2438e1aacb55f2c93aa0ff944a492384894cc062df82040da890856da7981bf28bbb2c54d3e96e8c49767a8131ea86473ea83dd027b5322e808d697ffd475b67f2eab7faaf23afbe81082c3ae596c6ded5db3867401ca4c5bf6cb45beaa7af3fd1469b0bf71fb7244d336937cc98147ab6636532a1796f327616f25a9a89b2f042f4d482babd766c70f7a55c3a5397d415646d6a2ff4685c345f1f46993623a38c2fa5600bcfa96752161ffb65c73abef37c192b0c915927685c79478c332bf6c93470f574d1dc98055acb7366295b9d6d3b7035270ca811a43483a4d12b85516b5f29c9232d2940521e3a398db830a1d7ea2337532397e29eba01be86a46da67da566f87416cd5b0dd12bcd877ac91e430bc6cf50ad0b98d06c9117d870900c359a19b040f6bba7408597eeb05396c56a40b9cc2781a5089fa9185360987ef9c8794043decf05633c43c94c0157db39910499eb083f4b5defdc35f0c23f634e47b879f38326b3b6d3a1572f555499cd72e7ad0bc6b3566f0666ee85148c6c16cb07001c718b63d988164034cb7bb5f868f45bb76030db78655cf70ec15972a66d289f6e92c3c5ed33e49d2bde293149923c39cd39eaf20d30c312cb929438141eb7a69b73358db6faf1439c89dd3dd03cb6a5160630787ec022b082d41156e4c75562e06799bd1254c437b3831a9e079517f0c412c0ab68568ff39f29eaf80f6d40b5a9d022afc78927667bf916a56c2601cb7c8b0d971bd327d70be380eaacf8be17743e71e1a79e225469d829b313214a0622dc85b262e11584158384f7ae0026239e59882138d2f5d4cec57b6d3e5b74dcd14c1c319d9fb240e3a6b2b84fb25f87b5db0eb36557c0ed7d9f5c6ca26fcd58d0929e47129a17f23e622dab1dd6dbb3a2b5443106dde0424dd887daa570057daa710405d8019cb5ea1ce67f0efd7090c2b1fdb342eab6315ac02714e59b6ca9c10436457f55d743bf110b59a000d4bb665a130514c0f597297eb88928e00832593fe3855c4c30341a1a6c6d918704d41e13c1043278ae43fc83cf39f2aee2d100e7a7cb94d716952d97c38d6105d008a23fd68b4d61198ea99ef7699a3b760ca4aefac8bf0a0868287a56e930bca27e006073901a15b1a838511fac8608c65ab3da6c4b36abc6564283381c5c7da66b49bafa6ba55ea58e996b927fdb7a68bf001e1181a5118442105c85e0572248b359eeac1aaea2ee376bd67afa236011a22858630bf83af5ceb2771bf707c77ac93b20d88fdd2189bc8cec0f76cf841a20cdc2051330c8f46d4bdecb8b941d697ee21cb7c8354f7afbad80c85b0d5dfdfa9f97ce0bdd0c0f09f3206b37ab4cf10657fb9e06c5f773fe58b171a192b4876e36ae04a04860523761f9991ff44be63702e7d206b05e305dae6ca159c104477016cde9019b4b4ae0c813f857b42c60acfc96aa4e00897fc3a65951ef17cc5f21d8c922b37762c603f2aac5919cdfe600ad1ce1a4bd7f9980e4f7303c8a6e9bdd34dfbcda492e68b3e8a1c020c896c0454c5f77e87c451bdbe56dce828ca8a88aad2be570f71378b14222f3d35d5954ab1f47731d216692820d255a323c73686ef9d62cc84adda90ebb9cbcf1af20a1ef1c3303161e8fa41c304b7fd56652fd25d0b8f1097d24d8b9fba0ef692ad2a565ba81f1493a01a5f42b2414e9562f06b98c86d23f5e347738674f99320c71258ad63450ea14a5852bf792b5463dea602d7af9c1478317a6d1ef73a425319a5108aa4a293b3fd71a768c12fb63f87a058a86f328e78ac7dac7db7d9e3b2eca0f25b68c40e0dc9ff4a7ecbf11882f835fce58f1167f566e3418626608aeaad53de03b1747b5860b268af5ab6ec045bc0a6035471b3d981d34639c39925c87045b4902c7de83f791c17714531e9a728fe8de268290a84b0633f2f623bc683e6e838a36a3b6a1f83ac129458bf22bdb8c8a461f12dda8f282e32de1a0b0c066d0f1d75098b1eee65886d18f3a83d8c9bc0f647040ae9f2cf5aa7b55570e286082e6b64ecab8afd666602830beff771c044f3b25e24092b840fb5607578f108b44379b5febb9f58b5713b055db7aa0e2429ba9a3f99cab7ddaae763d990e0b19a5f5b7da1a5f7c961f58422e20f0128ebb4b086cfc4a4d8ff7e785a1bbdecd3cd0524f77ebca87eea1907b9d9026d7b8c4d5c0939edb01f1bbcbd52875ff0cf2a4ee758379f5c47018f5a5c42ce41be791a905c761d7a043f335ffc291c89737e060e89a53f024c0a029a5a1e8aa2c71cfcda928db91a9da26a828d9c8bdcf87c7995ca7a962b6087495f06d5051834a0403eba0fead0741cf884a10d7d6593c860ceaab1fe4e11316033bcff9a9c7830db3e7ab90a8b1a4e767dac41a60abc5730fa787ce60ef527ade3118a75f798faec0a835e404d87e617fcb06b15ba32b6619b56215a26c46e30edb37a03158822dfedf80abe54c8cbdd964a06835c070a2bc13de06f77c61ab3c61d223f6bdfc7c92768c844d922ab792f8150fd7797403a506841f4fc73516cbc688b770b6617279bfc4f3c3a9f09133286a708fb3a0af2e348a16f548fa7e359b294714a93d300bd3ac26266dece30b88aae67929788e0294a16cf4bfccbdf89f32bbe81fe7899fe5833663bc0c6a1ead482ea26079f4dd6d439ab7c39c735ddd1254fce007400c7fcbb5bf1f2ba59762655702a31d8939aa36533c2edab569b2b030ca90750ae14b0074c50f25e8bc115160494fba453025e0b90269102d29d4441d1d809be695f92c9f4822ec9a478eb9a30a0db0bd068c0e1e6691cbd233cee92dd7989318f7ce2717811043d75127760a49ee9ef83255e7dd70921677b84c8fe5307034f4b0e3eea9c2833ad0f5e40a1e1a8c8ce2c6daf53fcbb01e1ef628d8c2840a903f5555f14b074411af8eb003e80d9448ec61a76175e8adbf6f29f7396c892bbce2e74c38bb09f599dd5a03ee8a60f82e410b46fd323ebbc688e0aa1a13628c55d5eda021492a869e9213dcebed6e6169ef741c2964ed660de9fce9f3fe6b30f5e82912421d9a2cc5e93ec3b20df9446e8b3ffd6c24a0f4080f7e4bbbea6e25aa8fb377904bd32a48e531056ec822dfac1d15a21a1a1071e7c52a545ba1ae57937478cf4410167b42aec37490498bf3c7eda794e5141fd94d8967122c84211b6703fb2ae3a0d43df18ddc884833abdd8fbc9bcc99e4eedd280794baefb5fc8c842dbbdc427279649cf0ce641e738f665aa7a6d53344283531ea92e4bf79fec6e7687868133294885e95205f4d799e8ad018003922af5404b9a5f52fdfe609d968c7757da5bf4a9525f553af2ee742507c41ce3dfcff5e0254abce17b067f1618ccef6095047221e72a45d613d9126c17845e0e4947efedf757e80795b2e8875274287c084c96e46d7371821da907f8e0c5d77e8aa6b8239ea1ce4bf6637ac2ecd07465a83fc4d6c5eaa13fe762d559d7fd5f3d2f54e430b1bbbb4b5be5e38fbb83ad5089aea926cffb618f5388e231cca7c9277f4af272b006582d55daebdefcbd434937ca66e2c87d99b4c7de139f25be144c46ef404c5d205fae824e86343e51182343acad4754e83e1432d7b96f0ca0147160efe0d373021c96df77298da998b34fc817ad77e39bd801395498d92464fd10368eb9246a441ef275ab82ba9e77c26968ee85f79795527de021156d8c470e498d06a1240bac2505db0103d57d8290f7d8c50684ab6782a9c04c17f40ad4a6446179c09c254b9c90406dc00ed08dd361addf38e6ead94e5cf3abc5537000970f4d37d52e4563d720bcaeb8230dbce9ce3ad6fdddd1c0cb2c011b486af97ab8364e07e72ffb7673367ebef3cf1b87f67c6e205bffa3e54e300f418438849136acf13f1385e6a8f1ed3f4393cda179775b199322de7b247a0e6c5ddfba94d3f20843f2199e9d02c0a8ef21853f195017ec46b30c8b5571ed52cecfd98980f4c864b9f26717e804a44186db2bc1875d8bb9481883c0e4242fb588b31b8e784727ac2c7b5e1cd0a6b2ea658270291fa66153ad06502557562eb4d8c1cbbc513fb7ce5c8584bec3558ffe0ee0a8e16e00de7fd5de9042212fad0582e3ee13f89b5a5d97d535dd655c573971113d7ad4258d5e2ac2b3341645664680920ebbf1b3759d5bbd2ce3787c2c37c4c98156913da1b02f6b902983e248f22a17ca6c2f4fae1e31510a8a83fc9133054cf2c73634afb070ebda47040415069deb1de01c4302bcf8f69488a4d1b68df2091835e2809e6942f7b7699ba1e9855974ab8b6ef19ecfeee51a62e7c040aa07955f10404b2b4c8eedac3b8448daf068165d421e9c69dd0068769f108659a5ce0994fc69b6f9de3128228af6b2dabbeca52524a23d0e2da63c984a38fe11b5158813696ba98b4950d72a9f72f09942ace149edf270c14af261fe500795e9a9130dbe8ebc2dfe0d6dab9b55a7c608233b5b4687b24622bc9dfb27fb7ed7393aed83b87eccd3de4889cbc3a75914fca630fda83d14991365ad7ef0626baf7132861a7f6b055e7bb61ed8553a948bfd8810f06628bfae5344898085e0a22c3e9031b73a37cdd9c2fceb8caa5b14889932b89688b8b689c41ce1c47cd628722f234ab047b53aa666d3edf9701c345fb5b3a230266b122cc9ff88415eb274913a9783415f9979c435b1f878d6b0e086a37430c62c81d4db00f6609bd584a8213b186d2379a9c00aac98870bb80d60d6034ab1f23ee5055acffa391fb1d8758f934a036f8c6580fc1d17b287614c9cc8d9e39a4d0b6c086cf854938e3dc8ced1ac234bbb6e03255f495d7e333dec5b0e1e3362ae9a247e499840c3eebe8d1cb49e6eb24943ab266dfe5c7cc366efaac9a43ed73df2326a2433c8bc11d3812e16d884e7ec60cf14e6d0cccd7e6d0ebbc25e791ffdff65fa0fdbe1101b817118f81a82c90718d2a054f6215cdd104ee542f9e31d9290cecd8ea5ad293b270b311c23a102daf7b89212fca0d008879ead43a761f57d10031b9be5eb8551feea5fa3b7cecd5d3705b33f3d81f65c697883dd7ad6cb692697fe507974a4191db208ae83635fba41542c0075f93f75361b1310a34aa4220b671de8f75171962146248b2765f78b82951dc4f6192bc5f1196418c59de52ae62699016aa9dcb3e19fee880d0f05868d04a2ffceee6099ea57660f72bd65d3f9922f3568661a9df701c58500bd426429b71892787b73aac78af65a08937cf3308c0ee95f390cf3c9ce6c700160d42d1005e1a60a92ca7e061e51d345e5074b85382b4e2dda21c912b6e414ac3a62a1285019e331fd01a54631ec754cd365142fdd9ce00e8a679201193a87ab37fbfbbad9a552c34adc796769583697ba4833bd185f64cfd9f628a587e1b8e6373a4bed747e622743028af2ef74b889ed2476703ee25d08917f8dd4635a6f4f2e9444844309593a7c296bb6650a60c1e51eb52310b9150f66f6371bc1699ccf322c148d9357c362746295b7a6ed1dc0c29c6ce9528eed42f2849307b41c84f3cababd63f258b7a9c7a5f56a0d0b1c1b5d9f10aa18911e389f86ddb47f1c0ee90ab11e82953ec4381c1a1ee3d99db6a3692497c18bdd55b13dde951cc62b502bf24aa86940cbc19538a428c9573e07712ad207498bb27208331dcc3a3e5886330221de3b8406950836cc75d2db55adac7a8f08a55e7881f7dce44b9bff8324a5272614c904833e3b6cf89fda5d048ec482bbc648ca956871e24889c3d5ab6e31abc074a4e715646a14c381d1ad6231b3cfbf7407427ac652a87c881a185cafd95194238cd5a3df0fdbdec0f591828b6e70a76485641db86b18be0a898d9c5185193ad3fbe4ea1f20c36e287edb8990434184a608d5fbadf798a6415ca0901bc68da2d8b615842e4ceb58473e8e6736c4165fc20944ca8122d8e1a7453ec53d623a288c48170f0b55b15e6accc0f9e09bcde05ffbdd01eb1a5d3371f29c77970c2968479771630bdfc2e158010bd003b90781b7e20e6c253e11f182c1aa90607778f1f38e12dd3fda27381a77f31460c713ee742a914966fac7e35ac1a1ef07e4cb2a0b4b606e262e25a180b99498effa4a7002df8953c2306249dad1b834343857648e46e969582003e9a273e8439b828dff894956bbd4514efebe66341b3d0f7ae3f5261780fd596f38430300d8fac480d36b4482eb0075ee4e1b03e0fac772ed10c360460a144f6c4b95d0acfcbeb575edc3158765b3a7bbf19838fcb3b48c2b4c04c3fab1673dc9b00b3888f82205d9b07b9d6f4c6a01779251c969c286addeddf041ffbb19446625c6bb558fad3d252f40311062578514e46aa09aef4d98711cb31895e20b68792329e2d304bc2e016f4969e01a962507eb34cbe26b643957bbde09b1621dec7aed85e15f6a142b5227114fc7a7457532ecde9938e8866da56483aeac4de23d8b21ac91613be1075eb04f2118d6a1c9eccadcaa3f23467b4d8d2585e8998660e69c6a16e15887e1ddc148a9e56320e9f4021c8790f0e390a18fdb0a315c8df7da34da103f1081b16ef2b3f5995b142a1ff943444365d3570345bf89afef6a956deca8c65c2805d87f76a2ad142272407a6ef7005ca64294e03f163e9e7a8180196fd94a70083b255401e273188c3c9d4cbb6164eac4266ae67e6bf49e368af8a6b8ac5308845e5eb7bd71df7c3394703012bb08e20ab2df666715f1d108f961b185009b287cdaac6a85c35e66db19d4c1e0cf503cac47f5490bf159cf66c151b5c299c5fadb9c028877fd043b9643f2c482daa91ad45a01c7cfb4f895d844ee6c941ae402ef38bf4095949c6b522e7860f7bb0a08bd2d3b76ae9c897ae65966291a3539ee41de78dd8ff1223a7b95de9a9359958564b105a10a38e0260dea13b9a7814c421425950b0b09a26a6da1489fbeb0b09bfe5081164b323a14c6b011b59070ac6ee454a24870b8d9a3f0f3aa6c22ce1edaf27c5cc97ea2b1f7e480af52f3034e8a5f05db975ffe9ea64922b262ca48d70615e063718b85949797577706cfe8a9b4b57d3c2609b88be011acc4a90bd9b6a8687b953eed115f35e52879a3d423afc03c26220a4c98bc6a4d9e6c64c1184f79c3072262a2c96d5b2286521edf220f86b2e758d8f35764eb933b582c2f1b939346d7ee6472a12ecfe61231940bf15ae0002f5d561108a2f0b501b74fe06fd22bf806652ad6dd3f5d6590ad78484a6717885dad64a5eb2526648e58e11e0a81aa5d93716152ee5e7861b74725d66a799f054466a9d5cfb941ce79615c6cc5f2175d49e225bd44a9832882d83ea0544f2b1ac194e10b4b29c8d910d3e0b9d5ccdb3f4f30116482764eeb51a11e8a813ca1cf7bfab55bb2c1a7c1caca5dc2a3e0d84f637a21179849c50c776110fb8bf43d0df064bdc5c2fb47b3e1d475a17bcbb916e7335e1a640c7dccd76ff41ba0a2dc788078d7ad4d556dbb5d68479f2b885e0fe2cee607d3bb256257bfe0b537577d5b86ec8a01a28b272324428bc652afbf2c47f91856310cd790f645625a9c30712729a39c2d2cceca5aace27493d71150e1a7dd79af24171f573d1fabb8c3772dc49316ad4e56911c4b93f3fc23e25df0d7b893a99230c83599a76c92fbe28edae15fdd92e46ea38858c5a870615a67b5238f1f61748b052fc1ecd2e692f0b67a6e873d53b5e29a7f0c5b023abd1fdb051b22ea4a7b390759ef8a109caa7627a39f72d34e7ec5a22a1285a4ee2ce2eceb261efc8600f027dd469efa20b7e7436b1106e4bedf81694611aed368abd87567547641768ee3355d739a66ce2670e6b2b6eccfce8b43da823f3947cd14c2b81f2f2d16b755a474a2226e5de5338cb85a23e9a4197caf4b29b6666f779f9b1a2a69a5e9112862368aa62eef2fa428a7381de419024f16069e3e8f8990e3379f3e6f90e6979bb3aa8127a8cfddbb7191ff4a6ed886de3458218eb99521cdbd127ee3b52de74694857482aadc4b612036f7a1adf793819b0f794f130931f21cbce6fdad709367316c134641e09f56cab3c511ff3d021500e864ea38d069025aa1e22f8dabf0c21a958e626f2d73e0e471be6bf87d9af23a3ac716bdfaa3945d092355176adcc4b27f1880a1b9e9ef8daee6b6051fb798174d55fd4b7f350bb562a5654830c7e9135d9b64d52aecc7daebe953f4ece3e75b164bd1d91a19e29596e81a4551043b248dacb3e167893f2202b55dcfdd2461d9da72bd7941e516571650b384b121fc9fa3217b1df5087e8c96903346a231fb22ba82b5bc11078e4b77cae35ab9d61d40fb53f0ffa5c36f60d95930af3c215e2f7447cf4a71b033f3b6db285e89f146bc76ec83ba9d0c987f1687fd586355ca3a8b341b12024f539f16086c67a2341329ecc896a6e8198989683b268765a7aed0ddabe95d3ae0ac1b4382dd3b8dfd2fffd336d2be0dfb378d3e2bcd3d0e97880825c2a4689348086fbe7db2a49692b6e565e7aa7ebc793ede2818342a587c25236a320ff6381297d59fe0871bd4569893cb2c3650f2a9ac4a6646e0d629adf7cdeb1eb442f686091c4f811a340ca631a59ca464bbfefcc5bb4d13755f1d3f40d9ada7715098e65610854a4f94c9a1014617f426f4b0df0453aa7f89bd9f344a25ef002c5ee9172129e891747d838a8fd2517750df80a24a03fa89449e19316800147ad0f3f9a8f717a354116de84ffa23d0eee119f2cedfe17449e174db9da3fbf0de5e2356a4df977385313547efd7b5a91b0faa2431b91e27b3967f6642c2dcbf46ca5f521caae3b18e76832913a0ae30e9bfc761b9a71030700f7c5b9701834375153f23550a88a6c2507e8f409b1250b00482980ffc55dfb5bc18954b0b76d0d8e6b876dd01522d94ff0ee6309e6404fe7b5eae6b5c86ebaff6f6af425067dbae90b2967d7db800bbf8055f981c19c63a37401afdb44d548eca3bebc17a743e1719b49ac29e4489b22f8cd8fb945efefeeae76d3b89cb1936fafc6eaaaf512d611a5df60555b9de18f19cc277543e53f84b86a00f861a9141ab5f07a797f3196e7dbc683b3173ccd6e7ae9913d338a7b992c56a164e0207bbd95fefcaa0c46a1e535d65cf9155c46842e06ccd2f79b1727b57aa9972ebba5d5344eb079681afb2ba7c1fe24feb049280d1538764d7e0ad14d643990e51da32598add68a5ade0c13e3b43fa709dc7539804ed550a032b2479a06d9196dd3c5d60c9178da22edea89217588a85698719a2083e004b69be2047690e0ee84eaaa7a64a228bee07336ead661d2a44f9d34557d314cd5c47d21099faf478aec4b5de10c1a007fd9de4e954dc573b6b5b9365a5ad29219858735181d541167f98b911304afc92e700e6135b4e0635c6d1e8a63e3c86e28bad2f7cecb352c36f4091954a58fc954e6f023916f50a92cd3a660843bb5c75296c45e74aa28b8b112753cadda6624b83c3b5a9bd6814eccef4b0e6cbb061eb1c859f0d58ffebd9e56f4bc2ac9326682437098e5500eb0642732ee73c344c9dbf66da5c012b25c692e7e2420930e869bc11c3eedde7bb82a56cfd1d749cbcc752c87905b4c0b5aa8f89cce2b034db85ae89251875f978f1c6df4a6b151e5344ba2bddb0f366c5b95e173230d7b537998f4fd66f3ebfe851891a256df3eb5f75b343c095fd3ddde27d1bd89e847eb7d89c163337daa700c45e9677df9812585fc6981b6c5346c08e295314757388072d0ffd1d44ac04ff0f74a34ed22e339ae1089b33f5b1c49e551fb1fc4d4681a4e14b3f4726383bc540e2bf9885e903bd7ed2d72907060d2b444b88d74e0bd1c57100b51720dda8187c74cc6fb4e7727a8f4b9468e20f70cdccd25123f14e37e1c476b1972ce6e1e80cd0cd3f3af89c8bfa199e2bdc08bf712218476e9763713519b7247a10be61f2d07b3ed4994f2be08d678365682607cf43ad45d00f133fde93f6d906bc9518a3ffafe1e9e0689303a25c9b903b835f24f317031036c09e3bde2b1e0c581a33285ef8b86b4fdfda02b914da1816df839b794f5d07f4c88d234759db94c5251a1e23047619e6469e991a4a4bcdadb49dbb6fb311be22750773afb55b8483d9b1feb12f32f49643c5aef6b342393ad02b39ba3ccc5224c7c7a83badef7d6396faccaf65df517530d29d9b02badd1b43cb8831ebdc683dec78745d4f22270f2197e759d08740fed3b2f6f3c43b0a8f924b5ffaa11842c686158c5e5741af12e8dbb4a5860161a4fbb14cdca61080f879d95b0a44e4e3fbc5d311a48839658101be74c11faed1063622cc4e20c6ab53d669f48cc311b30b307eea2e47f870df2d2ccfe669ba222074e70b0fa3cc24ea065bab319047cff8dd3ecd5ddc46de818a78e11177c4c2fc1f6c625db7fcbfbf1349b49188b69257291410f9b192849166159c8a09384b6eeeb20f68118ea2004c86f7579f204306849e4970706b3680691201b30f2235b6032a22edd124f918addc5c2607080a94c51e82f76d620feb06c8b33a74815256e376d9374ed6073291020b11d307968def0c8822f2f75729ac7692125212c7caa34f289c58bdd51a194e1040f0495ac0bc4cbe6ddc5b345d4d6bc7447844b805c3b94a13a4a532a4cfade10e95b71280ba65f88a08b137cfd003c667ed4bc1fd23bda865ec8a3f657c3a8c37a06966bcd1327bb9165c0dad41cd8d6835de42647a8536cffd7b79461433c7461cf7af47300bedce8ad5db4ffff97bbbe186f495b90757fd81b70bef624afd186977861c924fe4854185428f5c1c4b57ef912a483e299e6ba0081c44a3c86dcd1e9fd86ea145614d58855d2d35524e854c3e19fab9410ee9844944f6c0b614320b59db295cd7ce71c71826a156b59ba671ac3f935e57295f0a21301eaa8f6666651d8ab133052865f3ce09ab011fb9ae30663121976ca546af942c278dd40cc07e49e60479403af57f461e02cf2074bb6770eefd6ff52ef48fa820f254f6f6cf18d3a8109fcc71bcf655f5fed8a2df65bdec10b53fb87480f1842040008d161fb5415ed0394c26b1080a7c037677452aef9e0fa751c0616d1636867651a8e98a971be044661069d9e889c5b9c9a105963f021b3a017beb3e1d40f29603d714e8bc9fa5f0b2daf13e0b21a228bd46080f4652e874a15f18c0c19b747ab88b95bc2772f8a5cc60278fc408db652d9c623e8344c5d3d113b68c6d7b3fed949920868b1f8c365705ee9b84c9dd6fd662961cb8677bdc86583aff078a35aa788c80872ef69a258877584d4047c554f5518d4603da33bb698905167f3a29778945399c9d2b2263b9a07bdd9e00c5d7286fdb65e963b3a471839ce6b89c306f54019f8605754013d470091e004db0edceb0d31f26e725eff7ffb5f743e0d1b32067cfcced4153aa14c993aae867dee876aefe0904fb8ec60941e8874a9253a6c91587c0b006526d92cc86daeb4aa1014efd38c28ba6b8f03f9554d286ef20942ab43fae7d7634c8069ddf30a55f79cca6a9aed3153c4ab695f4d1f8bb363f11b26e14ea8213f2aba96bcfe0c20076af7d1b3141032a01c75a9c8f6172c3bda59472d122eb271af1e11f60180a0eb70fbed7334aa34b273afc324594525a283dc5d6aed6e00be339e4991196a038f76bfe79c45a9456c33ece958fac9c3d8beb87558c9b6e945fb1fa62a05e0267165d34224d37d44a74c10f8ad94008b2c1892e9686aff8d2bd0b136bc7ebafb5008472155415cc368e19e54fd6684162ae80f4c6241efbe42f32c97ea35cb9456fcfcdc84c66d6832bafbdf242ab347274648512cdaeb8b37040d520467be97777ee7279b336135aa152d5cb2a5dfa2d65101967346955922e1b8f1cf711cd95e44dce367340be3277abea78f7d9c8e141e6814c9d810beca938ec066b1787c153b17e2373329cc60592c6527d1406a7261fa22c072eb481a6a51ac6afe67b4cf5bf06ac633b22d7110824984cc7146ce89fbab045ba684378df51176f3da9fe1a43fc2176dfc457c6a0d8f393d9361690377b00c7b14c5653ad63baa702f903b83572c49d11765420bc7f948c2f611a532eb34309f1a60fd28c63b100c43790279e568f146967a9195f9a5c4699680a2653340592a9f5524504f03302d4e26518007be440dc62a59e82bb6765dab940816a33af3c2e2898f9200b39c17867e263434bb62502f63f42a7f420ac720185313b3261e659a08e5cb586516b75a600dc2a233f282439568b7c2d2c0be66aea4585c72a14b12a607dbddaba7d622c8a4f9bc88a47efb59e8b2577e246c01f436aaf3c7845e8969ae325f69315bfa59acdacd74cdf69c5937b00877b5059fc48b7a4adcffb385e687bb76cd4350989241d32dfe4b69b9efd2a9b2ae36c198c601118bf50b1766e236b1774d2df1a7093701fb160370569a412664c103c7f3f0dd564d21b5fe5c1878cf9d41662587cbbd50bb15c149422ed720cb8d9bfe0042322bbc4cf3697a94784fd6380742c8039b1f4704e1dcb0b3680431ea32bbb3b30dc57af781ea28b2d70471b63657b0e5271a27eef7d2b4e86f603fbf597f1bf579bfdcb093529a48dea1ee4293e79e2d19279056823897efc05bf8c4bb4240dfd43b64e954b55afdf9e4a8068de1f76a8c99e0a30c9f0d08db1c17e6f08ee264053d4b8eb41c8ca3d5981fd5293b5d2ce1434830839fda392ef5742dc0d48e003fb7dfbf1ecae151bbd4c76b54240bde9b7e9dd46cd001a8026b8511e3dee0565ead02c57228900fca2bd0d84f67299b3c0483c07220322aa24232eefcd9c71b0db09300cb1bcd6ff249ee2cec2f1759591429032e73525eff91dc3a20f7bc2e5e75bbe591571b39722f1dc4fcc714fb927d301ec8014b4af51b3ebb28111b18106019276cd1a5adc2da37d290bd454a926dd10b10091540f6715c9093e9ef4fad1e77bd5876c98ae97377d5d669bd8fccaac77f8014c2c76cb3a4b8b28cc96cca1100406f4420753d0c38405d2fde951dfd19ed173bb7cd390e2a19b482a0ee602732fd41001f743ac18880407cf7259372187aa246c1ad0137c33b55be386b301f5db898ac0f40b232e401e18f32f206c5c7ee617e413e750c97ff1c5189bc65be8b7ae8be8df1c505ea9fc335a9fbb6e7fd65afc582cb7e0798d5a60ff415a26d0982d59bdc25fab5cf892506c4777fb262a100ea7f78890ae6c28ff4a0671f5941688e9750e0c046c862cd79d99334240a638602f6459b913cbb1ea67134f99a64c09933423e2b5a0f60d70e719ea083b699eb6d1d09f11e268a5e214f350d2911741cecf2c08cd0504e31c5bd74cc680696f693b9481f316bc1a4a44115732ddb59e68137c06596a08e151f993cedbd3a2fac6c235feb8374f56c3d51d03545d90830f488223e7462e24410b4b2feb5834d5e3cba6c624ec1022942b314e2586914076bd9008fbba28a2873f3ccbd9732131dead38a7b57d0b55386ad81088d5486556746f66389e5860995839fb605180ad28b3c70f45f13a8d2c35a7648792ec74ac1251dd69c4d7e8c34a96fdb5b7d64b605984df88472102b1ccdd46410afe4ad09e42392d7fc7b93eb62c585535bdeb2d93cf4b788e835019654be0e910446710ac3a98e918ac9a31dfc3fc888015032311c1eab0a94b929d206c1d7624c04019989f89990b018b80f3341456f1d052303c0360059a9580d10218cd42597700abb33135065e87f331123b06404532dbba9c6f50ac223c3a4ac5c91cbcbf063ae3fb91cd503b1288a4cc4610bb189de1ebcc4ed8bc0d31af0021851db5e2c396bd076af9b3579820f4f7e429b07df4fd8d281f06b2183dafeb00fe59cfe056ec62e43e0dd1f1fd05854a4084e306cad308ae8eb93c988ee8346a062f6962d91a18a9d58c7f3a2afc882a07057ef5080bc42e460c93ad5fe99db701321ba8b539c8f35a032b379857eabfa87444e57f3ca80a94490c527da4a06ccd9dbf602351f06af950b3b28b4121c348da3ead746fab2b9433b746ed6228f1caf9b05142d9a0f62932f40b1c5657608abb1867f3ed66a4dce224b68b1179f7dfe4f95805c8296f2fccf1210ad3448f57981856989f7e919f35d8c6004939589f8af582bf62e0b6d3a4a7852cc6bc12c4a794be02a42a6d60804e64dc57834b23108fe120ec3d5075f36bf2b64ec6bcdb11ba22f1a7249772fd3a75704388eae5d62c0885ffb7226d6c29cbf355748e8a7798cd0118d77c3dff83981b6395d846e9076a21ffc3088c8e7763a0a842866e0c2505aaea428796e17a8ea59b92824b80afa455a95ce734c896fcf36f519fd612094e78e6963ed010973d22cbc140e9cf487ba01db927667161e457137253879c44668d450ab981bfe903c6cf9049b7c509a9512c3b2237356427eb51c58035df0fcb4675241de0f1084d8e963720600603536ebfded707b8ea411c19acf22c1be9fb852c7032bd4a2fea68282a28a3d0395d231ac266b0c5f02107daf9af6221b2cd9d983ed5a9e1d142a67d9a8b3a4356b68d0e00218b5b7b00b3b66494af3e72c815a9592ec6869be6a1cd489f644e54430164bac8b2b1b8ca289d14e39e327d5a83af7d1d61e62362162a574c204f8b4cbf27d3dca8bba05223c4ed88166bed93e37cf8eb8f70ef5f331b9408ce191e3e114d2c34569ea119f79eebba5b7f8697c2596cc95302cb4fd9c9189409bb22c086c6a8d5f92149ea626f382033c9fceca5de018fd5d7315a5cb6992e3b70a9fef1cbe104b03b8e6d4412539d4004a788267ceb225a7310d32a37d9bff69a98b33b65507da5c66aa4047cc6a53ceb5b18c0f8ee35d7840647db16c56e70c3b921b5430e59e0bc54519b44dcb4deb597b66d19f8b0a0bb65f664aa150f6ed38524b68785cfa3e96450052e02ff16e801c663beb570b276c9ae8270e6926fc067fa292feafe00c92268e18efc1c0668fbed73729928447c512a2023de4c4a2d08c706e0eba259418c3c3ee8250323c2f074ccaa3422a8d9092008427eca244e819612a753f7d453abee0250ad0e7dff988b6bc0df6255c5d471f98e3de18fea9c15139caae24e8226ab9e22edc0e400147e2f18b295437911b827e32b6714871c1052f6941392891a1d1087caf2d657081a9b267ea84526e55e44f83f906d7ff572e1e6e6c145fc038572c3d3ebd760973d75b50ee46bda084445e0883790ea9a842e50d16cbdb5ab38249ec8cea69c351d0a5fe6e182f706e08573f5eeb0e05d100f884752528b13c978c3a910e6e0c5ac1cee211e53814ca0d94c116a1864452744f2029a3d860b5f2a0e84451f54ce27075bb6cb3552c811ab1a311f5b61fbd0b54f6b4bdb87c735a40027b27e39a929efc440f91cb455bd71eaa8a75206be5c6ff4b4b097b791ebeaaf08061135865a28bce9c596c1330f8add1b25ed11a240f332d8d8ea3c8f239a113c28abb01f5b27301f023ef91c1e1a066acf309cc49798c15914aa02e8aaf233ae96d8433f327649659e0e0d505b97e9c90e1f4adb56affbae7ca78493b13778bbc1a7cbab7c749373d13acef5ea67d1302bec2c06029ddf245d1eece3171a69a4a62dacac993e3ff114f37c6c694d06af64431ff6f4d077987fb91b8f138288481bd93a117145c93eac7f1c1c6d44dd67c85ddb38104244943051c34847705951547202efc3f00399c265042ad5b4df8f70b6f7aed83e9f7d6b27abfdff60460f2a2f6f2301d6acde2a66f962003ba8cfc00aa964525205a00ab570451a3beb4016ffd233602a9d31aaae2db1a06c3a1bd69dfa06aa03904152f9304527e0f3a9b0bb0e7f7538bb74021f32cd064b0da2b3b1f0ea14bbb4e1e10a03c509bc94398cf8692007abf774bf9b17d1a773919085ad09d10919beefd42bbbe4de6b4e79664d169e5ae085904f7a2420f69399d5e238abc85b14c9d4d0ed9b59df6b3a59292e516c896846d378a448b6bd04d105bf366e00afa8a8c1a4ea90586d6cfed6f4d5217233cf1c04ce54d64e9167dea89fd7e0fe315e4355bf1fe6d9da3cce0495e20e0463ec116006a80e88af01dd401632ca77115450f1600d26557112e56e7f54843ae229e3058dacea9e2ede0403fe1af83ea8574492a63850a6fd291bb640a8d90218a414899c042573e99c3624e6e04064b4b5380685716e86c4ebf5f0de2d586133d036fd6973db4fac3a642fe1cd2adbd52de7ee8b6485865914e603bb3f24afd2be0ad8897b4eb4ca5f56e6c772dae29ef7537ff64ed85f6ff07f126dac5f133309a02c682d3c6898eedb1abf6384001f4c019e9ec2c730528b65419e22014d3df146f7abac3ec834bdf3784f3bae0fb80807939eb6c38c25efa595125fc3308750fd095407be650d91a4c4676c9a4704a08914b708ac0e89b414ba4e973a3c539c99a5963ed6ba18aacd4360fd1ce60a68d677c0bf40051f9f59d5a3d2304795263b937f6828758744bbb26d8b01894c8fff2d3a74c1249ec3436b9b8b8148b0bad321c7d28b836e8becb095ef5ed132e84f79df06bb987ba777c08771c5bcec5624e63e78495f4c0b24d221e1716f6000c695320cf50623faae2f40068f51b5516d7a33859dda57f470fb0639578dd4f26c763a4604472c01faa7c40d15a4fa647152fe60b594e6d6d774582668411adb69733530bf88b62b09f0a9867b217d0d50b5d1b237d6c7a478c8eec3f6ac8652cd32d11fd35ec4d2eab3d8965ff784f594f6416a957c4c736f60e4959ec04a7fe350620037fb1b0797d0d7d39d46c2599a1c3304a699d65789db455c3a22402591b55817df18d572e1a4948562751157d97273894072f16fad5b10376156c0a3d825d373da4fc063fc8fa68bf9f400ba70a48aa5627111efe722608cdbd0f55550a308790c414b380667333bc96af0116edd768b60a5af13a06d9792dd10cea623fbd7e68cfb57eef3215c545338ceb5e317b1b81eb31c8b70b7a5c2593b212df793b8a85ac8c5b60a03dc27dba20d26466a8afda28b1af50004f0d5b44ca97fcd1e8ab801a3dc39f33377cc400b7e5c0ad90ebf6f2ca4713dc7fd1ac5918efe23c5465137ece42009a3cd8405f1fdb5756f3764f4d4ec263585187c25ca2b5af5177a924078a4d1293c9a2f86a6dabb30205d90c984c97b21e0ef97cdeb4e1e2d298cfe0ea89135d0f0a81d8520200adc99beb65a4b37ced0d8628f46374f8f08d5a601f3974f2d11640678fd95e3753cd80e41647221bb6cb9a17c2db4e7f121827e038f2d40e2ffe6e1fcf5122d81ab289365ab28ac4d9d62fabd194e77c127754d68ab9bc5c8414d15084fc28e7f958f5698620adbf2cab4766fa18ddf6b7d90d691285c396a4e44caa71660939a5f86ceac3135d0a28013c412b8f608ea92308e1830fe32b763d532f22e00b2681b395b419b0b20711292e9809f2f7fd62c6c6e37de58d3b9973b83d802abdf066054170a31d73d5fe992841808a355579f105b339103919219b89471067197384fc818048e1913c703784141d5203ca11f6c39d9b03f9c0773e4e04757b0c15183c15d0d7efdd070320df03f568d7d2611f35543a78765edbf58db1f6ea6bb1c17d0a046e7b74896fceb91635546a7a2347f6d85ab33cb32eeaba849d3964f3c15f9e91a0912accf4a141b54b0c14b710cd9be8ec004df351792110dacb08258a5a34dd842a9a5ebb103cb326012eb9a9b20ad8b8735c106d0d4aebff9ef867aa0a43bfc028c5813051305983a395edb3f3a3e591f9e132f0b27c57cac2dbf1010457fa26d92b4e11464051d3341c75ac0c5aed6335d7a9d09f9bdc964cd1e20f0466f724cec6162b43d4692957347a7c3c82bd968d986a8a74cddf4a56ac4839b38e21b13e8659cae7e7ae245a930cf53a13c5e6ac9066fee49328255ad4cd73e4100d545beed220c71ee0e52dc932237ad5d8bde0a09a3d86695058d02102f62a6f11ae9c1f48dce184c1c0adbe4e2fdc09a310732b0b9129f0856d018e3ce9512f7eb88df34f6c621bb9499d89645815342e22c938619a360cc91f45bec5e691457c28ac7714965c335b7e2b7f9caa7c086543fe32aa042aeef092bce2734924ef162c3c550d40a6624d22e544956216b520b34ed8ac95c10a56a7202f9c039d43cebbf24b83668f6991ad13473763c666fe638aa5746b3ade92390003ae0850645681a129238263bee7ab207ce3837e8e55e0533f0e9b14f42c5101545a2cf7a3f794df43cd7fafa1661bda23ca1d1385ee0e3de0031ca521f1e5f0020107b122deee3f42eda0f6656166c7fc043ef803fa0ac56962715cdead4264bcaa25a94c5216b0a171110be97e82d3c6253249d53209be01e5831a24ab526b82f69289d299db943f011a4e0421b4f4223566c4e5e2492937635b17b2f387195976a0135812621a1e2a6127216404e3caa3c0645501feda9f69b37c2f3b3826faab17330cfac88bb91c3d922e87aa6ceba985af0a47b45ed692a46641a3c80d3ef23585f335c85bd11af8b54c5ca45bbef227f30613b1249b4e7a107039fdffdbae198b9795e56947382daa6b5df3c5570596525adb54dbe524ec7638ad779a2adf5b6ea51228c7c4f56a856f7c0a5110fc213f19f592842ec415a78c75a5d29b689c70ec5c85ab940c5026371fb8fe12276ca8659388d32897fd69866f52da2d327416729f3cbd3c798cb23158002c8ee9f2f9c9e845dd16658b86ed1d7eebd1708724b2c3ab86f3a8c92713adfd9d28e98033d39f3af43aebd3e60fb57468fcd13228c560785bba10eac6af8aeb9932f4e6fa83784376787d2d75a7df92cfbb1fcabe35aafef7b1fb9044bba723e7864acfba730267f3687b35e71b86b83a2951b273d038a43bba549c21f4d5900d61474eeb2897f457821bb29f3a56dfef8b2baad522fdcd6b98bc0a5032394dde1e5ffb659dbe70cab1499b8a73de1b2a05a635b27b8917e8d4aad9b5dffc9ef7de87c374c09f93091ae4b40ff4710a3f2aa759fb73c10b2156c78d87fc818e5d565323e16080f2d0ddfdfe816a2236b158cae137bbafdf9d5d9eb86738aeb71c757b50908091458c2c79e051116ea6ff491a19651026f9709f9bc813aa5ef849ec20633dc84a6ea245b6ce94073c63a716bbdcefb605e8fa852c38cc5890a14925e152007d5dd58057d4808e7db1434067bd32266167671756adc1d9c282dd0f0f9caa43afcdf1b2d7156637421d7d37b8d2316299bf48c54d0bc9c2c84406293316b4be7c4995da972b9c3b739207fec031f00cb10ce9bd19fda3e82126b84fc45770d4aea4a9ea2e5b8d9f328d6c7be78073cef45d744b9498a1c53321a3d159b1a95e82fa0363262eb584a6b85cccf06d92da4a702393d59de4ca5c64eb1cdcbc67fdfd4d9734c338b1d645e99f5e0c1d51b923c20fc76578a135588c700ecf9adf439175e67ef2fd6498836a202adaaa67c45ff3c76f36bc4ef938bdf3356d5ce6730d4a91ae4f23c03e426b02a09aa61508dc7d00fffb7910df47c82649c35c99e7558900d7371ca2d7fbeb616d6c572f3f04cf2e79de14424c140394b9f5756dfac2a97c0c6be7adc64f20c63caabcf21f5534e84ca436d0eaaa9d31033e5dab3d8488d1835f71891a061de22a4789363e135290eaf325ca7146a15e6024e9d042ef211870ba36cfe86a7efa8ddb917071459ec280014df687356e608140297e3682a03cd34f6afe72c034aabea84b4bfe7ec140130f0e4107c5f017ab07478442a459f91c316f1c2ea69538d1e7e53f972d23dde4c30903844acaa4795d61d8267e97b89e7de5e826a1559834e46042869c2e25859598d5059744c5e14f68d945e2f1a870daac54508aa5ce06808e08b614b1c3abed64cdafdf4fb3de0c1662bdd8e0c704f679d74b51ab5b7237182a3f15372cedbfb803977f639deee1bc5e54f4d48d7e96441b7bc1f83e3d1e8bf080f39462c3f8f4d3daba7266d17f4434944d6a4a94be2e2ebd0b9f786d05503661330d6142c23a3d65a02d1ccb24cdac54dedcff3d2988bb5457587b81b0fe7a0c1f1af72d3c68373335be66a64fbdbebc4c39c8bb0d539fcfdbb2b2daa82563076b7d34b2f34203a7a47e327f33d163b2d0cc996ab39e2cebf7d16a512279e621b64a92190830f6e1debd73b8db80cacb6f9ad5bb1ac39b4c27257367410ba7b86e00c0a4342c03c716662d8fc00907fa734936d417e619b8bb2528ae0676e08ae5cbfc519da6a5753eb47f17c8c3331c47304882f6fd8c7449a1a58695ed7b76eae6af6620ed2f4edd1d2029b4380504ceb9e8fce008edc9a80d6a3594dcb033bd3c3556916b5ac3ebbd09a4cbc3d9dd33d2f90c61c7c6da9319808526cd27f57af06dbca37be50f0ffc5dcb091d37afa740e3890dd2bc383196aae7f4a7e586ff61b3086f7525091234d154a9bf3e11be646e6791e1fe18f1490cc135b3cc936073a5feef5f8bcf64ea57483963778e73074796090460d2f940bf9683659b77cef36dc11e8c6a8a9b65b31848075b1d1286179452a5624519b498a3e44d1988f3470c64a56b5048796ca60d4af2fbc909610ff1dbe4ce9685482c8c6f06e50055fb803bd76ffb3a312989af0daad452d3a6727a564994779660bfd89ba04d41515105575a6ec64d5cc768809613a0533e3f3cbdfc9af751f0573433aa708941a98770c7d8a6344707c7f60b624905fcea3b6123fa5129002bc5da3d16fd95729792520b15ca843d3e6c81b994d567f9945506c51f560280f0441c54d4080996aa8f5da132c471a5bbac945a95f1b981fef3751afbd2d350e829641a8795bc285d2e827ef9a59f640238e371f84d8ab5078ebda21d277c9c4a893fdf7dd68eefb0d6b89d707e86d370c2210a13741139c6401ec9094c6f8f040fa894a715023c7b4763e27c4f19d01604913c7e0c0e2f7692ecd8da2a3565caa17eda049de14daf2c335d13d244d32287c456acec4da6a0c4b8b5a962ec83e0a67bf0b62079d14e792fc7176b82ede1ab59c3bb3dbc8efeaff0a2c4836689744deb08e36e59a6a1389752cb6c6a46691b31d0230b0d1fb0883e41288eaa75716c69ae0badfa52880a139b982eb406ea666704054a44447f4d8612b0095ae9b456171c77cd9071bd217fb3a2f8fc1cdfdf3d92b42bb08022e218771680e28282e834b222eaa167b1c9cfa08af2f82ec733dd254b4cda1a312cc140de141680d476504d023802afac733e327039ecb549b90c240a3ec6872000bebd4f1d916a073e750ade7e687301de9d380516afc6f97419522915c4a28f519a29dece8eae64b86403f957f3a7106102d6de2f7aae2b813afe834809739eaed4a5c1f17293736a95d632319867488c4a9a3d47c0c0d77403110093ded50a81942a8a1f2afe80e4aff6f1661957df23bb23abfd6766c983ea403f3c06d1a347d9bdcec9fd3812824a26c8e7b75fcaec1c00d1472d5d77110bb9df017295a612641a6c133a2a81ea4b9afc5730d3a5cf7817f8e34ec3eddb5e116c6088e59b2dc6fb4077a49db240660dd8665622ab2a132f6f32652af2dadb57b0052188d9f5e7adbfb64dedee29264cc513baba48ed283ed10525eeb1cd0893e683fa1b0719896e77a497d513be79caae79a52b72dc22f3d7a41848e1483f11272db7787491d36a9f59e4df35fcbc97320f611111cfbb15880f3015d750cfa40d8148a6237702610ea26cd16ae910090376b01addacb63c6a0431eab1bf29cdaba0cec5a5961ad9c29792bfa503978a23f984fc95c7331109a6492a4b1e29ddd6031fd105a2e93f0575c7941feedda25ff12e328f150f9438e22269b3b3db012807c73e975e06481923a3b546697ef61aae924350115083318b106689353b2765591537d6b0e3f378909c16e43866cd6f0b40bc076e4fff2b3435ce209c28e449c6a810b8e53744e576921da4ed5363f376f025fe976811af57841870eb2697f3227ebf1bae26c9b0410f293060e76dffafe28e23a09ee1b8e60231fce6612c46e47094d178153072330fdf33156f7a0d26e72599005954fd19d72785e840f0b743e4a3b05d1a370c346f5f2e05dcbaaebcb82e8046c77a3368c3fe1c7b38c38f4fed8a8c7044ce92c53aeb08eb37cf95e1fc27e6c2620689554197e03e91cea5791619297d893050a7294ed59ec4cdf08e95b00924185d429c114650d8d1aacc4bd9be35925436f95752ee06beb7144412066a8678f6c8f66d3a8ab4d0c3bda5043a93afcca59360b0bdc54287a185192f87baeda6bb9ea1ac63b38f7701f8a342240ea209b0396ca7305d789ed1e1a3959364da3e26d20f945b845ad170861c37370749eaccf63615b7133c71e3f285c52f815fca8df44075874cd2be231e8b027bfe05fd53a9f8385f64a36d075bade09391ccc4606fcff71b2ee2da0c379b01cac6d098c2c136c1e427ce50c8b12d83c4aec7071ade12170c24fbb3ba46fdaae6144d1b25a3ea732e8f5029f223e8eea1894de11ae4330532a1ca661517973ecb53cb584b185749bbd78467a09d220a4e9a752d7c904f3b791109437057f9b2d9ba55bbf52de57a139bb66c30a2bfae2d03fc44aac95267eb99e009b5858f665f3c690b2e4d2a0e4fada639dc2ee254daa4ece8a1eebb4773eeb34ae8fb70dd4510a8b4efbb6045bb0e09f148b8a08e82346038ce4436f8133db85d621376849f88bc518b992a6aea6b8aad7f745a9ab9814c85ee29614bf4535de790a859567624c18cf4a9cf773b07b7ca0a718e8b18013248936d6a78d1efff3f8f22f84a8b6c2195a32b12f0308a5d3c647d63edbed474a2a4e908bf6fd2d9f982dfda02b64f7ac94aebe5b44c356a82ec697b2fea7e0a7069498afadb6179022015deffe69c9c0622c69c767c48a1cc30c68f48dbdc38ab3399cd67963e0cb7d41509f944ff953247339d1b030df43b6f60c7ec7a3599ae34d82f990e2ae336e7cef1b51c82bd02e0825961b9bf274e657e094e2e2a09e98a3702a85c9ca049d45166c004aee2a98699b884620a7d5435675f03c501d575662cc528746739ff6268a9d864e8ec56c4f59320675457d8a8eb61d72b84647756ef82b12eeed98eae7128e0080f9ee01699e4f4368d5bb3a6e5f5b123130a35de552166abc99aab82f04aad5dce5de98a61a52a03b2b643c5144625c98160c0048ee23fb830c60513119b1ce88a07f26f6bf71c48d8a8075287d0c94346505601424b2817e6df18ddc3b3e212ed2830521befe8fa6a9bf25313d011b8b056a892e566b04b1896093a9c91dd6d3250695cc05e8e6701bd39c05b72cdbac6b2432879ef161879821531a8b9771dc403f6526ac922ef6309f99adbf59b00172d5b66f80532d98de1a462e1e2c6b7751bf582f075dda7b8617462bcf0e4737981804ce3f185e7d8e26d2156340fef83d310636a17ca00b5efdc928ad9064ea6e0ae50258e76a8d0a8b89873a08cb2be49ad49f3879f0288dafdda4615e94acd77957507061398023bc3934bc7adaac5da9c638378b5cceca01c4a04b1daea104c9804cd929738677b490723a724653d75cc2f2fb382302391f70ca04105067642f73ef81ab47cd8e1c6a26e2be7b11da0a0dd3e4230f3d037cc469734c1dfe651a5547f7164d055efbdd718dad4c74a4c46786892aa116df835a8ab31e2ff8ef19e967c850d9db346d881528c370f24a458ececde81cb3f8af53b1894c275e8823addd2b9e2d30389bf1a1e53cbc64e120b00b4df21add60da660e5f26736b75bafc10d6bfd831979c19e616d22d6e30835a13a9fa643ad733db8c04c7be7e326c2413af47c99369335ec2b8d54726e7e03b7dce602b397f16f735e3d1e3eff25b8eba4586a3115449fc5238e20fe79a73953cdb6e072112f82ebc35f78da6112c30f69c00edb81a7b38f9c4fa31aab82679ec55261dee59f83b9e869c9aacfcaaa8a5e8354a6f7bbb5e4eaf92944755d476a0bce0dee0100ea7196b393c63b4a9f78230f236de9ba256a163b45a3338738fe9ae01d05247e43ae02c6bc0784ff6b075a5c00a18e69a215044074fd093b6fc896d259be61ab9d7d91bc7e99829a453a770a68da765fd366f9a3e6d56deaa6ab64ce9b92d886a177b0fec7f1166a61fa01f86431f6ccf6d6d25301eff1b4d088ba6ebf1f8d7170e4c7a25e4179318abb2c95f051b6a100ef7ad54c70cd532493630e28400f258f76f08e721060d5bccf72eb405fc8591846bbe878b8456fe9b9351158173c9af5dbb4c01d18a1ca11884b19a0935ae81b8337531c182d460380d70720dd345b1eeb060fa4e491880d701ef8406de6c97dcf173b41b2cfc4298d6b6c5fa6a53ef96c3620da840064050a6e59d8f7610f8aa231079db147a20799d3e6e069a2e8d9be8d83e91f73402b809d3082cbab4b5ad5431cdc5cb00a4f5ab65fea22d931f0a52c3b9f6871e4eae4b8707869d5aed75e91313ee527a39aca3f11be127671134fa448acc618786eac1abb761823dcb284bde0eff1e074fd1312480b84dc101a5b0477b9a4cd0b0dda50153995d2a4ffea1948e994ba6bf8bf9b39a480531e6f1485e4dceda325d413593084a807db41f30b38566adefffea4ef14c20779ac18b557bfe4da747a30e7028f3cf2f7d96608cd2f6c81385ddc901f2f53cacb677eadae5a54106c7f14c4013725f65c79763689781a28cfb14f1ad53fb65c4e51910cdbc877c4ab505506b75e74f83b3ddf0ccc91ba13a26fa6696e8597ba13009c68267056cdd0199e2a431e98c4d381bbdf99b75fcd37a235cf5deb6bee30d022af70fd260c12c6570235cc6ed92319ea782f3339f2c2f05e7175c32aa3943400082be7c29162220671ea4a32cb97e0f81575d97acae167ba67c12f68189421ed1affca065079948eee751451e0c11c429003d3b0d1a0a76b308abc7ff0c56fd0884aae725dc9e1b08fd822fba8b36fa3dcc247bc3e9e352d4cce813443b273d8084ca3e94d0e00943c93fcdaf0b96089ec39da798c586a6922e9fc3556c71e8b26f04c5a02da4f49817c27609d0d53162b055b3951fd102cb55d57ab41a35da921c7f42adbc4d6e21ec2e8f14c8e76e15d33c4f714b788e5e76152babc5a7c596d32028802ece27fc50e602e5974896348dea0d05a84810e619b3aa133c486e93f49c0764894a8fbc8909c38eabfeac30a16302a90f35540f906a411017f9b30bae8b9247e0ac939197d5fbcf88831fd894994e04c575b316a1a961051e7bfb21f9d66884474662533203da24f21cde0799a6eb33fb549e0727b88154768ab32b162fd36cf479b6a98f927c09b6cd3df82d7c68968f64fc7b950fe31501ecfc0aa9d7f7a880dd1c708d56ccbda83e1cc417bdf7901e3456e16fe72673d65b46e7a5f2e46ee243b1484f2ede4851561005d214e5b895484edfa53ad55148a867fab0c876f5d444ac0f75734243a62f850c3bf98fd048a2182d841961c45820c0d41023046d73d43be18ad4839914bd031544370e401b3229815664df24905f9c7fe05a964f2037ba0520c587c6f92582f435ced6421a07b0e361333ab716786fa6da9041657a57455cafe117a7c44de8fe8ff7a3de32586d32d53593a68c3a9f988e4eca6de64d87ce891dc41d1f208c46455b376f743ee78d1ca9c328bd368682ce77184fa7c4ae16a2d24fcdf36328983087eeef634f3ac3eaf59074ac69879eff4b15dc90de48f51067a3dbc800d7306db4ec09b5785d06958b34c84692cc5cfe9e4a38e48377f3d4006c308ceb5bdc643a1d9dc56475cfcb88360a0c6ec9143f0bd48911921ab97d22f1f3690961dce8504ffc9a1a154dddc7a189d9d3d8e880f3a1f809cfa28831b83f0266caabd655b654445463c4e46ff4257a090ebfd33c8435028f69195c52f883a0ae2d5f4efa97de5bdd8cf9a5d6e2d20e55fdbf8f5895085a04e8d9635d548f2cfca0217714ec9d78dd92b40dc9b854015ac6a637b0ed1ce919ac093e041fe4e917b01b327fccbe8f37eb70f40f3fa4ac526fb623e5b6cfa857d3af7267019d6d1eb2f2b9306769b6c4b6c34c2a3869725c3854b987e2e37a60923ca07240b73f00a129b083a8046d17da9d1eb7166ada2a684272d41b25d0ba41894ee3fe60ceb9625867ee92659d5c83554f2bf0623fc0ef8989d3d3f8749fc691f3079feb2e7034107764532e4e89aea4500fb5b3bdcb81c952fe69003199db343b284d82a82a821db1f6c2c92516752e6a5a3902e0221c81eb9f3fe1050c889a6b4d049dce980725e689c9e1d9df0596d95c2686ecc0194f448a920dc7d4028ad77bcb7da0acdb33f21f6738f83025d809bfc04558a92f8dd71c7e978ba8cb4e81dd8a51ff8bdc55809002ea672935df8c8b0d52b0e6419a8fbd43bda18deeb6ed4d4a2b1065d3934ef527af0364b58805e2a04fd31c4b3b86feb9d875fa44a7714a54321f59ac020e466780dec53bfd4db337102946521b2ad18a42ac0daa21f7a131c02d3be95c8dc945bb45246b5728164846562e9a767d6efe15afeab413e841ef741250e53d805810b7ea61427fec587e010ebc1866bcf9b8af9311e237c148cb223a390e3170b21d5b4563654b98816f6802f5c032bf24df737f987884df581c13bdb365866bc8885549d59b6bd1726a0b92dada3fd5014417199c5ddd339186b267806a5a874d6889f81795564ebd4fcd569114fd2c42950c61c09c635eaba66496a8d9351783203b380a76429fcc31621b027a7c4a9fdb5be7444b683efa224deafe30456ae753457367d0e0e82216f4091af79dae6d06bb4ac6b3262168dc18443e8db90304391b1bbc9a74b5a0b96394509bead76a147806a180d55c34a08e7cacefce95ed1f22bed5d2787c71568cc9121eb386adf3819ccb84141a76ca69fc9e92c842700be2574c8cc14264396b6dfc59d4101b35a7c9c2e1a7b41206fb9699e8b51d02f02d0190b380b305cff2d0ab6e0579aa342fb39615678b7eebc5ba02c712dafe615ec44a8d48cb0fe6d61c321307043d86b6e0e2f35ba95c7e5dbf7410327b7b74921509ce57348b273a97662123eb11402f9feb89d158898129db0a9beb005e1380b1b190c36f4cc1e290ff599749d585071eb70df008ae53389a2872849f58dba2bdbd98cde404bf3a7417f3008f3d211d49c8a504a543317fcfc55f3eb9d0f0ff3f321daf990d4c7ba7f43730b5293dd51b9448dc99b926994e379e0e0d46b0e8a80b1012d42636eceb48d9ba0c654b0d87220db90f5c07b9342ff88f49ebaec22dac322b4f555eb269aa534f9423dd78d3a2f3a1d53780a2423f3ec270adb00153cc6a76c7b18f01b55647c47651dd96e824e9ee9d8130ccc6319832282e0a5859b3a554a6082588e25a4ef39e4ef8a0b44d0b7876630cef08d10267e714915840361200e122c989b0ecdf334a86e60a506f8c23b91ecd8945a1ff96a469ff9e899f27fef26de4da304dc38efde2769805d09f8e31d2ebc036c17035d209ba2b14eb2fc316f4a3e4298ffd9ca392b681cc8291e4c23db4562eaea63e6f58faf68755feb57828fa22cb065385f03da199f167bff720458793233e5c0404848abeb1fe20d7f0c1427867a8c51bb28ab75827d3fb92b281c22e9559e74f19d486026023a1b123bbfa39751efc771b65d16cd623876ae47c6faf69251964eeb62faf436ebb3772c3423f25844a02781c6beee1cb994768648b512c696af1b654b322e9b846dc1857ad91f4966be113bff43ae5ccdd987eecae56d2cc7cb4bb18545aee4a9c1cde5b9280a7dea07d267677d4953c8d16d2a460558199b73f64957d790a6f9315dc747e61a77bb4309158aa0824e3ea0c662e834d8c97cc339471186833d52f134bc3efd892e32642b6ed164d4fa3ccd6ccfd3f30de914d20c79039e765d12c3950aec67c808a663aec83783cd9429342cbf47ba97051cc8f10aab082da0491ec9d198a1874b35587bf222c06830c9f443375295b172d1891ac925a3a9c2ca191c108331e719e926fdd7d5a423b2920bbe5b1846886bf208fcf6d5fa9d97e868083c1d463861f2197c9595fce98ed0bce45ad2b7756a72ab3303f0d49cd45c5553099168d87a9f82e507b56ae53a5b88b0216c5f3e25578ba3bdf658a37cacf1101284dcc235e9587490b208f6dcb7627773a93e3f27f88f73c16b0d46ef05b816405a8b0073f15b4b2d66d27bdb504702b26544ca5ab5d342b9d29dcf0b023bdf91f8adb057c51f1cbcd961fc612d2d09fe6d7812fe3301cb848a1b2909e6f3fc269554bdb397ee5f2cb295d2d5538a2d26e510bcdefa1e74f33f0c671a4678129b877395d6409024daa44fefc0ddef3a2a5a05e8515220214e3357df78cc82e242e593e1729c4196aa720f1049eaa1fe67625fc3049379bcf559bef7143cacdfd31e3f33ab04595920d36913034aa719d473bcd9568baa5c68abb9248648454bd44e136238e723eb525d63accf5101cdf9166ac6d99fa7c671b3898eebb14e35a2b6b8955c691d7e28bc79d4d2386576d904dddb9f4b18f77bfb49f2f2790a4c9091919515cd6e9e25520d5fcd2456987d5011289ba47769808dbd38f935d76383fba1d14578ebf84863e275d3bbf9d60ef30bd3b3722ed9f17c342d47724306b2094b16ca2c7dc9a17dc71d536f8a41ce7250c18d5a48bc0d1eb9f87e745b19970044070ba5df87bcc515cc906ca7ccb32b975e0f31e0d0eb101e35baa0c498c2bc018458cb566a735cacb49ed37becd59d344cbb20edfe57a96f57c995ec921a2349c44b0c399106b98ee1d04eb11d903215121ea8d3a499bf612ad2fd75b31d2e42c5fc1a4d14645a91e887363f4c71749271fc1d3b1d890539c45b67f2fc0f0c519e13914a7bce0d59871185a485d301627c0f4ea48576000cf4e0adecbc940357d7f32093943a83eb19bc39358343fa05107c17f699a928ce3b7550dfc90c2e3cb8e4d313f889204eedc773d6d9f4da77c5a540213cc44e222ec62dae467de05c6681f1a42b82862746002bd834a52144fdebc99e34f7d181313cf5cf5362434572985cc3047c4a4424575c24561e0a8381fe57e47a1aa2068e98284a56d7df5d030b4991cc5be0cd913295503feaa6839feda975a051130b0e159fa2e6e9e9738145ed6c2a3524e9885b9873144bff03b57b509aa662fe087e198a652a64fc8c2aab1d0318ca11c8fea315d65a838c0eb9e0ec5a66b392cf6b09198d20e0e90338f50fc91abd54d15107c69d745995659a1143b6b4815b4d944963f69aee998172e65a89888802ddfb95bac104a0b2a5346a2bf7cfaa244cc10d48d05f3160c38e2fe868a69f9906509f20bf3738526e6c0a0ed22e1d0efba77c2a22027782ac742e7d13497f04c573e1e8002f2478b8fc1f5037cb2dc43e689c2b55e5dcc72b4d82eda4bb196a30f583568768446efd6029329dbfbf5013239b1f691b9ae66127fa2ac06f08314e1c15a77d220d085297527349e3247bd329fa38f30b863633df9d04fbee02e1205277440228c3d13191aa9428552798a60ddf115d72f48655e9764349d7c975c65d5e0c8ed37f70a0359318c5ec19c6b7b1dc3e53c264ad1d25f9a938782fa907d87dcc131fec56d2ea115c89a01d4c989f4ebc8641d662323609d16b54fd19c2d95b34a80896547b558c38dc37ca9202fa7dfaa9b9a446eeae4a654fa48befcbdf634c9ad47b0ebb6ea8ab56c4f04ca3472508878b53fdb08788126ee954f1a686560768b325d2dc42052e10c4849bf6e04c0e7e2015f28bb4845cede944909536cfb029814bdcf589785090494cec2586061425d4787b2d8cb9cc771a1ae86342db9c661e02390b1b20fbe12b42b6a484e942268bdeca46c4aadcbfcf9f2f4a6db106391c0a79945a460fc048d4ead1d9b6bcfb12e2c0006d7a1bd301900432a598cbcdeea19fe79d77231edb04af185aa506605ee56f8446d84e2c90cede4403014a376882ce52b8103421e5bffa8c582bed14d77a4951b7e5d734d64c557d3cf1c8e6b6d2322f1cbb9ebd112d2ee2af0be36e2910263d46ea05e221cfcb382d93b6f83593c76b2a8aaed16bdc47b8a115878161d202983ce3246788549e6012f5a59c93a5c390343213557c48a90490b28e20ddf8c1519a03ff2e4226f64567d3600df7059eaa165e5f1d78096a008ae035c112a0b0e0b9430bb2afd891bedce8ac40adb994584a77541d64286f4f09be0e782862fb080bd670e0f484ee6f31bc08c9a750e70e174c9dace659cfcdfda83c02d7c8c1c488c89c3f60fe99a24dc093c01ce4ca35542537c0c3a6ce81895a7ec31c8b0a8676192b7cf7200c246b58d0eda67c814c3448dc9e9b097f23a8bdf56dee68e74ee7e6d8c9aae6ed11d49fa69dd0df728690c31a1cff36a119189a42901de01ae3bd53f8688e2e67a8185fc7073f54f38f6044e860a5029a61f3612553dda1c113000e509d50b08a6aa714815ac4c8c3b480872bd35144e112f9f05a44b781e3673574349897a09bf58190382c5487f95edd5f16e61f089e3795a3a18459912382c73e39ed95754250dd2311a6d2dad1b197f4446a67c6f18862de2ec5a501dd63f353dd8e081dd44246f8d92cc87415aa41beef9220a33e94610b5306fdcbb229ff65b32acc5ed38bc657af886fdef68c12b25d3cc9859ec579a49f0e97dd48e367bfb382cc90587c34067276ed8c4c4439976696533e70e038adbab84918fd5cccad1ece527e6915c33a471e8388321e8ae71480789c1c0f3d9a0cd00e48498b2232a122d486cb872dbca1d367386db4aae9e4418112a66be5a2b547e68a952c789383c90cc62075d947824c4484d3bd6a21b1826e22003cd585570d61dede6b1382a22a63046bea0e4456f06131be66fb8bc03213edef19ae619cc7c79ef7a8ad605e2a1d4408090032a168628e469f7db09e3fabfab2028888cce2349083179a67afb578d04838739277666724111291d22327a0c4783ae24c031cf9989a34322366b00e40436f876a5e0104c65bad3346487c58b08abee75733ea1c4af0a835de7f3e68a1f25bc5f427fccdf2ab50ecbbed01ea4ae25157822c75cb4dbf054d87c9b6c053b81aec17c2c9d290ff5dab4e70f5d4f003276572533cf323c0ec6d76d5fa4617d45d88cfd7be1ed50fa57e30791a38f3c823d56022de876580448a5927347a45f436432aa9150c2a8dccb89178c503b3f33d67648c1c6a25a62d7815985e7d95f2624a06699c9ee4b0483ac36b0211dad391e02f39c388c69162c650971249b41fad2dd099e478807de8e24a44d094052390a03ecc0d92dcaf7f1698ec14d31c600352036de4390ac8eb2556f66e396c51ad04817aac51ccfe9c205767748e1f6419d3f8693ab3f5ab95d6e5f38a8f65c422e959719a233e970488b407747f3318301342f364b78cb17f173634cdd50217fdcec44dedd9c59df6b649ccbdd5397a4e780074576a5050022aff5f92b72d1bb1e3bf4140b3f1611b66ed1b3bd22d1d2771ba4e38496c1fdd15b61ba3b5a93be1057136ed46db2b0b296e30303c15b525fc69858154637bd0ea7201f8c446b8b4928f443c200bc05fc327b3775258593b18015e30a6532c94f4e22187430649d83ca5eaa29aa055ae22bdf63c977eab1acc3efedafb90459f19cac1b65d333ccc94c70334e5f433aad45ca8bbd9d1e4e3742bc32ca6b89b80aadcf7ad5a4907595d763f1109c7b2e6030c43ed0d51f8be3139ffa62290d795c1cdbe8c0b2a430870d3f323d5772517ee924611c257e399cf3455bc55e91b21d91de2196632ea0c96cd492f9dd0539eb6a9f67e1e9d66c6b948a871ebbeee7894e16c9ceb9434d70f82ba5025348c385b2550a16e7ed73710eab9f30a9d01da784df03c366b1e7faccefa25a51e4eb07f5fcbad5e324af94abc698a25838634e4651295c8d24bffcbbb7bf88573badf9125016380c57c0211fa9994d1263381d06d180ad6d786f8ff2ce82e484e2af1961516751e635872f9adf588bd1d4e4da4a28d9ffea7fbe4403690d2feb423d02e030a06a7c244eaf027d0751dc9e0828ce64b2ca85dd2eedc327bdfa69387d022964e0d5d9e42f4a32c80e0f750cf3dfd0f986ed22b68938548b4e73cc3a7f96d19d19fc3a86a3e9a0f4a817c7c185bc14472ff29a564c22ee91256f433752de6de0a762be4ff3d265e29ce8dc4520ce85213a62aefce439fdfeaf5591d5157592a87462e5189b434415e05c7c2b13fbb8004d0b5c7afcd05fd76c5415ca13ba4318881ec55205c370f9c08bdc76050643c4b95bccc4d4cc9c34fc8157577b2ab0cc51212e9fc198ed01520c11806642fdd850d92f0d0525db928f181e9377a8e70f96cc73590f89e33730742b031119daf19ab83c7849893c4de363c28ef5c710509bdeb249a4ec7a493eb6592e1d25177f3bd1db5230344f432aed00d888a14922911c00d86e90069ff58a0fc57ea350cdfeaf297d45ff4493b65834ccb83a14d05020d9058ec79020c93c0d924120d54dad7d13711b228302598fa24784f79a36e9d197f2d7202c1701061121943bf9ca9190c4ae2d780eab2e8b6f0ad0082638be45c5dbea63cc55c6e9d90a4d690002d11f9010118ae9b1f21f6916c8d2f388453c86ff75c2b584986cb8145ae66be54e73800f9482c4cb679905562cd9d3f3be86a255b491cd412b64d4c9546e737d529178d0c705c145ddd1edbe45ef83a23e63ca56401223f49023e6d40675a93daf702d2acbd7cd227259ca662a8f0ca846304bbf0f5f8fb47263bf26a04a9d80c4cfb7326a61b79b9c9ce49c7ca2efc1a6fd394115d261f1ef50225fdad024d5f2f9c65623753ad9235721a8282bbcddb8347890bd54f8bc25c2fb4988e91d6454a0302e490cc249027609d2a13857c7e6604427b95dffc748b28644d4e7969c6a936eb6bba2164a870aed25bc2fff61480be1c1fdbe0d3dffc46d7c19ff8710a93c6d6bb0d8421447e3bd97f65aa267d8005fd54a8288b856da91ef00ece4378b2be6c930bf6a020cca98b6908fc569f8b032d40659faa62d5829cd4c0fb79c297abbef3dc8cad88c88ab4b65da07e7274c7a85a495e289742aee06e83393712e0419d38e472bfffe226c05dcd7607bc19830598ae7085bf999cfb55b86b98fa613fc7d1e93d8f7a63c25d6bd0e1069096fd647446b1042c82ee9cf4044b776138189ef54d4051efc046bf65209079148a29cbe56cc4f27c05212cddb661186293af3fac8883698c39befd90848ab9c51bc05e3221f60d9e68feab6841f1a015314596fd8f37e6041eb9c7cc46e2a223d22486a6e370129bdad69c9b4b4c95dfa1078885b533bfdc639b33168813c33395e1568351c428ed99940296e63f285a6d00a5207d0db01a0c2357ce4e086484205f501b3caf613ad3aee4322a1c31738a87e113405ac4ace872c8c414e9de5fce90d2c187a85ac63d2220eb94928582d484293a455b1390817c4ab196cb82d7ec98adb9c56c7eb464942b864c7d3414248920582055a2088b105828f313629136192a10b04733e37b91682f251da0bc630b3734ee47137d5c70d20cf4fbbe0cd0c622f64fc4b390de3e0a14e6dad5b834758e4d27f225d742bd1d8a1a1c9fdd0ac8ae4d71e149179d269aaf3de9d8b2612910f4cef3a9e0ddc77c025c5054441edf26805d34f5c5a832bad86b8a42edfbb9969b804b717d8e2bc4c7d8bc1eebc0b96d348911ef5705f7f57f2ecdda02feca4b0246102b9d50a4fc31ec3ab5e31ac18f8d556a2a53762331e802688f079e57e3fb51f025edb52bec1f2d65783e78e751d9dbff96cbfa95a55f92a2d440040da69bd734642fe6ac2ff851c9842fd541ce5a53b240a9fd3a8c469960193e8f10c28f79c412b5a9be2411c1891b9a648e246f1a137c1e397e563c48e35162a83d1ae7bb41be922311a7d8a07470132ba93891073becd235ce16ebf70b924be31391a79f51e77a025bbb8cf03f547aa33ea822dc593f836e804d81d296f16db18ed643b00535005ee7866eb94a9232caef46738a4ebc2683e7cab4ff31ffa39486a080e3ae5d91ebebd95762ffcf498a574c4430112c2369d3f9302aba8554324e989d7abb0028cba0691c104a6ace0a0229c8b7e9d44173a30d49a4b13cefb8d8222e00a0a3f9e11e4d272eecfa2c528261234a5e0e55a47718d5f701cb085b7ec7308ab6da5cb5ea4cd5a827abd113de670936600ecf10a5d5f5b30596ed0d3779b744216665f02b3e63b5e2943013202f12898081adf165a46351f127e624325be2420501a1df4ff978a3508bb7a20403cc8fbaac19a832fd1ad7c69b5f28109eafc92830136cec0015684a046c8c1411c4a12457b823f307aa22ff73164a6a37e21c217610ef4c2708708e0aecdae1a8bf7092872344fbd1762ab70359ecec167134143317487162df2299813fba3366d085089aa10f345d9b49eddf71079b8201fa57ecfcf4e8a1772c9bc5a9edaade558479bac0435da555990457a872f85f91994f0d89817292863f8b063d3eed4507105bcc6cedfb190e11f2a0b5b2760a117b72c410f994f8b821977155b4fd3fe71a5fc7a219045d4a20928020bcacf85d0550bf47b6f6c6cfd588f0591282953eae708e4e8c8a765f08b2bc0aac161376db144e77531c3875fd2d5a17edd3b71565e1bd01c31296e110d71f192f5e599e5a5a64224c9774c82942ab140c46dd8df14a1a886669a83816b09022bf384404402b7475255b90ce976681e91175d3f8341bcec0ec12c5c19ec1924c7e2fc1fe884be5d5635500122c1564e1a0fa1ee174137a8d08870a72fba5992cf8e1c578b610a5a77d8416359b38a351a4cdbf9dd81443cc195cb74a7c98b1a8d57e567f24a81f0b9dae4d5e85ae5cdea538e7260fd7212e30dfebd77fb247804a7699a335f3578a81bf3ed140885b95181c5d4af218783f176e7bfea734d01714e515cb7c6e0347535fc57c1fb802d8ed32cf674cb47f0ff4c9e3d612a94839228d2fb21e6fad5467cb0bde36134d2add82002ad23063b4e33bbe34d04e31a239857aa4668662cb1947b7a8d36b26f6728c4afda0c76d77ae7b647197d47986dcf5e8bfe5a96bc6c2bf1c8c60dfe3a8386ea29383be0eb809fbf0b29d811a0d37def8c1596b09bbdae5521c48907cbfca792dad8296e0d092868fde09fe7199088cc882ad0c72648df67fd2c2b05da44d122e8476fa6c27741091279855fdd1c9b7fc4a3244c7832ff23c6e2ae8ab0ed1b0b91398cac034a8786825b3054324e078e1ccc48c2d8cbe7ad820c4e001377e91b33b8108570bfcc2ef74d6621abbf05e3f664ba9a56a38e4110e49e3ae3f41d7c0600c084c7c71e01f17bdb8057f21a32006e907759c8761918d00bea4d7637b9a59432a5143508d1071608ed6a211993527a0ff038644319a3236edbee4627ca576228d1380e44a7e2c7dee9febc06c60144e3708fd1b4ae65e93c157af8c47c7243b10073f28f07e6b39ff7a57f419dbcaf59dfc794735e05fcb78f86befe3582b06133310293a022203192c41835557cce880da7ecc2bc24c09c88df44d9fb17637e8495b4988aaf2e52fa7b15f028495847d14b9dba3b11ff7196b3fc6e1be8a0e7ad50b35e175b93b2bb47b12feca761c8a5df5dbb6f284289b0f8a269c28631165fb168b248d8d0590d83c1c00de54a14f58ed7c03dc60d3fb8f13b19ef01346ad470923b0d12cf269e8555db17d6febed0d4fd6d25768dba45227a251993727b1993b2b99a4424152945d6a68f9cc92c37bedc288d1a246a7220ba96a577e8d3afa7308ef8b1a3e854fc2c979a480d85ec01b078c38699a458ef4b0f4629373e0d3360eda9d0c3c7fb3e9a23d0986143a772630cbaf1fde36fb9e1cc8c339975129a1cd876b51019367456ec896cd64da9b33eb20230bd1d3eba94524a014072548bc135a7ae714dfc8e8619b601400280a7c20c80b7827b8d75c4601c5945cdda48c30ceb376c14a9517de7f61d0a240e66433945c65867e6c69732d6e12129060fc921f090951b9f26cb5ce2380d9b5258a76b93f8b388e3f81639a34559f31b96b288e3bd29893d12642262a78fec72e3d36461c316baf293a62dacf7f528e1f1bef43dde07c654bf67da62618ef09b183aeb4653171b46ea45a057abdb5fbb56c0ee02f61d582707970766f54eb71a0737f1aa81fc82bb6030ce1a47fc88858b1bb9a8891bb5bc5eaeafb8267e94e2608cb2f8a61f58f9618cdd38d4adde61ef863e64237467c2a9f84f2a14301993312a6332266332b6a12cd7f4d316aa9c934009f7b175e576c3efd8840dbbd5b5f9e237dbd32fbdf4b0a04de1af22078a7e22ff070c40bc566bfb73ee9b61de51d7de04badf3852cf902c77c43b21eeeb9615b66788aa54230676def055187d3d6a8c61c36e4d545f4119c1e24a29e5336921ae943ff4ac593c6b96b430cc7ed0b2d4b670972bbf34bfd8d2a2ca58138f1bd80d92013a15b9672f6efcd0e6828ca3817645923fea22e0f28729c40fbfcb5c3ad55c5a06377efd7c308ef83f9c6a772e17868a619cae712a7eed5abd7a77b333317bc9371bf75d3b7a107094df2eb6979a2549b2d6fa8e1a5df69b7addeb2092dcd057404d65b2b0f1dbe39cd8b06bb572d13660c78d8f06f0cd8941138f2045b017666efc9e271fa6205e1481e00d9b1c392f662861c3aeddde090970f9bff8ac339f1fc53af169f886043a186f1ac0607cd2c7c3746f340e520baeeafcb46d37a2d04ae23875d685c88d32163ad00d4b6143919a143630b9a1fb4a8a1a82b60a0127755bb7a158355123e9ded14bce14861d3cb1e0aaee790a28accb533031bb0de09b24377e0fd1a9f8fd0383f11ba871b86f6eec235ad56bf5fa2ea46a17ebf88ddfa1b8f85308ae896f031b7251edfe8cb68fdfabb9baf2a1609c12e7dfef23e294be86a20affc29e72e3775f5bb9f11bc6bd6cd85deb5aadc614860250bae637f18ccb7da7326a08ba28d0413aab17a0891adf417fdacdddb1e482abe867698861c3f8a779e2e9a1bf7d5c82a14013430ef21da2b22cad44316a069c85c80ccb2faa5cd365a2275dac8c2bee5718573eb0615cc12edf18138a0c93d2556d5c855bad35fa8938743502ba72d412baf24da8d78a2b7f885a8f6e890d695774e5d355f46f257f660636a4ad2b3fa4add1e528883872c3b88aadbc96244277bfbc3664f62f57958d2bc860a227615cf936aeb051be0d2b9e78116b2c3a3e0176e317cecb976f7f617cbedf45d8905f43d850fe449afc8155ff36a285b03d8b3664965fd79f54b93ddabed004dae44c57114ed381154bba4c44450f5550f103061539502954aca2146143f4248a0d161cc50d3b6872a4480b0ca0481fdc602bba843125025314112d41bbf332d1142c0f30e1c2c512d6cac91146e460a78c3b44714959c40d738a5872438e2971439631951b9fc100e2c6f8a627e38c298cecc0882cba50c5e7117186f8f8a0882ab41710be90818a888a0db784cb445a8031c616831a24a1031722443d10b1ea2a3ea19523b048e15283183318228846113268b56a9895f183103470d2450fc0d8e1c8103c30215df105a6afd66467ac8d6206958d488b29b48062031b3aa51ce2a22551c50e8656ab2954348825332f2e3da2a294ce39679d929b7851c112510573ce3955c0c412190e2e1d1ebc11c3d8a8cc2ebd4c14042438173cfb932a32633821a5dc6403994183911366f8d0644a29a56c8e42b655410204e5163729896084a03b5b43445c8ec0a5d68325b2856b72b1c50f5b18a951b4f062230a42972d7878820a0670b1001c384a8da8e80633d801a66a1b2b99b21463cec995884b0e88a22c21e282031947883984262270f14413a022ac009d41833ae59cd28a2e7cc6e0828cc72289b808e386fca237642844548ae2db502eb2e0220a9428e5cc8931c6ed2bc7182353fadbe4496594b339ca9d40909f10ec17c9d0f45db1f2862d830c34982efd12c4335697867ae9cb5082adcb6a7567a897fe0ca64bbbd63b7dbdc62fda6005334612dfae2e12d6abe237e329fff61bd426f2aad2b6bbbb9b9b6bf87b3959e2e4c8255d26721283a8c34ce4a4862230a90d41e90ac6e8e601a52ce881871fe85647a3ba512fe856eb46af5c412985b2d5ba5123b0fc504a9fa05b1d8dea46a7d0ad8e4675a353e85647a3ba511a18218ade6add68105634a56de4250994ee40290e94522528a55d48bfa1c5848195596c464c234c1f929002bb364d88d0b9cb4d6e9bec9e242b93f83946eed3a1a371f86470be448d189caca39a70e7875e0977eaa00c4e8e860de50ccef779821b211047353421e67238dbc6fe851ab8f1bb63497eed01deb703d5c347cdbe5e97713e674a15deab22367e905e7110ff9ef6e99d76c046cae23fb5c88bf8cd7c9715e02b5c14a4566b4da65814c4c11b0ee6c871b0fd55c2d2d151b8fe3dd4501ca716f126e21eb9bb6beda0b080441c6babd87e18d6f99898188eeb9d51f5c2ce1854dcba469d4ad0b78190de49cd7a2979df750c6d9b2689edefd41ff3f1dba2fac2dcfe6a84f92c135b4bfddc65af65e8fb218147946e3e77059c5fe76f3e218833b0f39bc5ceac08d32432ba7a8594df71472f21f94ef273689592d37c1efaaa937c21dbf3bbfc4ef363a19f3ecf0b51223f1efeed85f4d317a2247e3cdbc742e8676202c5297f4f01a680d97fbfb7c0ef0f469c95151d9fd0cda44b8a1d4bf91c731c27b967e92e7bf48efc7ad538e6cf6fc106ae99ffedc086bdfa816f7e000cce1f8131c53afdb3be94fc4dc037b3bbd123e2d8f803062031f80de9e793608620ac437fda0707f0f3ff69d4f8982fb40ff385d554c3c654a9846f25c435f365b644541f413550b7501dd445fac7c1b98aa96f55e7cf3985ac0ff6db81951fdf55b1e8680938e05aed934c39261a4b629cf9c2d2588204d9fdd2c61ab121bf7cc8763b56afd82b56ada977e233097a277ece928175eae73b747187867a2bef601defca7756acd55a93e9dfca98941dabd9906b324aece57e13738c658c45bf58704a7e95fa852d2309fc2694ab5c468bedfa713db05830ce8eae72657fd1615cd9655cd94978c59494bf43fecb93be10b4df7de1c3d4984f4a67792cb8aaf4f9502b8cb1162bd65a65fdeed8de176b2f417432923a77140f9ff169ecde3e6e546574eaeeee3cffe3e75e6a6d5964246d59baf628279d739670e726a5b421eb9c91de19236ab49a2d63c442b75a378a9291b4619994ba9c4c79638eb1e5578e917661c82869777777532f2495524a39259d5ecc2a92dec04a777794725691f30656b2747c4294942778617290d800a1d168d45bc12ffd519cde3349e6f2dbf019130cefc0d0389c643b140962707006187a27048cc37fd485633a22e01a7f396f38e8efc549dd06070890898a81a2480084562b47ff870bc27635d56ef742844cb489e20631b186d84159781d2568a623fae27609b85dc7d911110bee4867a6ab208ac235a170e2ce97383056b6d8c1193e3146258ec0b220820dd56ed71b170b13ea41929c38e3074fc4ae3cf16043fb543461c4952fab0bae74620b5395b962c35a7d74b849c058a0434c063ac88a44d1c4c10eb7c90f442e124244508a2062ef114531655a49c1e2aad02962424ea61861e36522275ccc20d8ed32911321cc266c7799c849968d075bba4ce4a40c2956f232511417964e86135697e9ea32eac4ef97afc7272c7fc3bc7fc7fc468acc370c1ac7c6d8dda4d2cbdbe7a672fd63befe691c30b09f134b5c7f91beb08fc8e1beb087b8fea32fb4a95fd83ce81c5c7ff9854d838ed59841b3ba44840de5ed9741de908b2e8e17798f9f2caccb1f57974ff098964d6849bee872692e13d17eee162ad7c665222d5ce8a907c9465f7992ffddf7785fbf0556997abc1fa27a9b98fa4bbfbefd165855bf1e9bd0be7c683355ac2a3d7d96df23a6a80c2db08ac7d7b323a64efe5decc443fafaa46fe53de9eba76404aa0b54db7d3dadaa21bfe6779adff704811ede77eab1fd8987f4db937efb56b9c702ab48df4994bf56abdb3573c75209e2f5d66a7549a8068a29daac2b6cc8f2474c5112441ceee907e900ebd0607ff48e7f48ecd3f700e3f8e400aabc679954f669af18c03261d1117218977ec7a15a4542f50faa590ed2d157efedfb87cdeae1e343fad2fb74fff243541ecaf35ebe67bf9e97af5f3da58f761d8a84729de47b3f44d523bbe7217df7ded7d33f3145bf873e2ba628d71f0cd7488e29f9ace86aaf5c74df3c463fe9cfcf842796547ff49d620ff7f1f3d13fbfeb5027fed289bff443543df3b9efc43cdc77cfdf755ffa7aba0f8ca939bb8fa9f946ec0a7c6580e19afefa1fdf43913a14d72675a8130fe9bb27f9c7bd628d36fa759f3698ad5ba7ca0486de82ddfa8ce2983ad11fa28aac13fd7af878118d2d84b86108f503308565d5c7547d9ed173f547fe15bd7fa7d1897e360ed6cf89a91ada5b44b1b021c3222ba6ea773fd8d08b6e5581d64f04b3d5adacdb441cae551ccaa2386e6f8262f99e7af8f8f7c3dcbea7f9f9704ffa7c46df7d3b628a43753f4495c3fde879b81ffdfcd1c8c6d4f63d1c53dcc771886a886a84ea51636a9b31622dd7cc87e19af9a9f9f4846d0e698f5f74cc444bc0aebf0dc791aa789d5195e5114c6e48ba3e74c399db828e4f08e7ecc6efbabba9c46d2ef1679b74db681d5222beb2348e2d0b1327c45783f15b894ec52dc6da95883154a3bc8e96c58632d6b0ee9947f19b1035bb0ee392b00e83000d7dc37ec9625b56ff8f2f8e50fc467aed4141d4bd86a01b3fda4bfbd0ad06a285286c0a472330ce2ce229d699619d168bc17108d14a92171cd16106d570632c524209b15f7a0f557a2130ef3d0dcbf285f97a9484113840973b828944880f18d68c0ae6ed7f67c07c1f1096f19559e4f2953ba5700deae40ff3b634e9d6420dc4f635ad8580689c56e2a339123e24af90314a297520a6308e28d8fb6904c6892cb9e4054974b8311ea9e14620960fb594226348b0a153d9a68cc92b7ca877e6d7adc621af689c5662fbbcdbe6dcb837df5a06452bbe7a8a0b75abe3cb24c5c6bcf7e15cc2c496eba45ae774d69cbf91a4b78277bd860d96a3894a50f558609547b9f19d0997c12eaf5c948c954165159cf2ed0bb3a23b2b9a4da1c5ba15aef119d74461fd861188460716c5386ee57da6c5c668b1d3ad8c2290153664590c5ce3ef837558707373439659805348219542a168686060a214fdc20f1f45b0618ee702e9e3e8428d29a709b22e93996eec21fe10653ea64c2693f9a074e4346a3f2e29509af07919157111116a027464341a8d46a31183b1c57e8049b65632aca7c228461b2593a989f8a2e4a9306a9737403008334e20fdcfa9a3fbcbc9914ff4e075c306ca31b2b1b94ea9042a0f9850121c5077bcb6ad7bc1872cc88a87d58384aab13e6bc462b1582c16c781376c72e4e8d80103c66c03da362014f848bf827aa8a3086d0c04d4a91b18f4476dd57deb1bf8863905064dfe464c05b8405ce318e00df005f80c0f300ef7340ec712440f18f4efe99dfe210206d75f4800ad603eac15d08a7bb88b05d8f30104f4f29b0d0808080808a8d619298a9f86c5bac8474ad7a234adbbc86418d7ff87fc51a5ec1ae2aad6b84ea383b5615b998263bf1fdcf7e2388ee3b82f1c32db5b010cdeb161238cd721844b059582b9f7d1fb7714bd138575b637ddeeda3ddf6016d6b02eb4b7eb6036be23d9b8dddf8ef4c1605dc75ce38d43724d258137fca7731830563367ee0032830374f88c39730661e59c73ce9993a36307eb4c86a27e39395ce39f33515e8e8c11eb1fb6479933dd3d272787d21a54818e54aeb5d6ba8277abe3782494896b220f36e4d894f499a33d3c7ff958e0947f694af5ac0ce1ba7c53ed3e16c732b1582cd66804deb0c991a323c6f928d66a7992861de9574b713569b55e3b468cd346b85b236b6374af72c7ebc5c174c0383b62ca59c78f245144ab958505670d1978035650750e11689fc6e12ff301110c02350e7f2438e534f0691893c1448bd531223fac960fd3683edfad56c3fc666bb55aad56ab56ef0531996cc62a726545a58b88d0b65099cc9b94524a630db2f28695668b6ec16cc82f1a2adf55af6953697f13160f80803b6084087849e3e0668196ebdfd1b056d6e90f83412c0c3a4c8b47e14b567d0459b3fce54332d92cbdb483757a0ad7f8771662c888d05c5c9751931836fcff97c9a84c2693c964dbe66de9d9e63f1ed459585ee4fad6ddce39fc4892942bd88a070fd6f1664d631dfecdc712b1cddabe5e11c1f6808586fcdd07be9948f846ce68a325726002b23fa6efb43d5ffab2fa5314c97b16a5581e534a1e2edb376498690bcbfde83bf5e0fed402ab62eae4c2f728095d08c0122d950d0bf079a952107388a9463f82998b64f409019ffb4c31e5318798aa7beebf33ba9c9c985a80cf4b1563af5ebdd350bc32580b832d6b1cde47e05416d7592cb8c17fb8c63b0673707ed8b05584d2bdaaa13f7a98cd66b3d98c6b7acc6088da45699402f11bbf281c9921860e2aa2dcdd3d8c2d91ba0f088cdd68a41a40b0ec203be8d329a594765caa251b70c4d18fd69f0a3be4a8fe4603522b8f7cb445d784845cb22b4b6249605486780a09cd663f7ef6b31f11e77ff6b3e79a1ab7d6eac4c6dcf03fa688e521b78762ffc083dee9b8f7d14ba1395ba885e6e6a9c0fd56c3899d1f3e6abb5dd83e60d24ef71d04df70efdf44f0cde86bede47a936a38717adbabff23e2bcbc9350fd03aa79d038bc5dbdc4c197af874adfeb6726343f9e8d48cf3a7e61a8f8c1994c0e70ca7f5473fcc7161bb610ff405f006fa2b130ed4142429525d7e4a8750e8384613cfcc651e091c01593c9d4249bde71d6f5e762c33a3e4d11c7c65bc1bb365c53e38636b5da48cabd82009f64927362250c0683c178cc5983306313b37cd3f3e039c1064701a5c9bbb2f36ef7fa258a9d0675fddd84c49aae9ba4bb9b4c73caa6387033f78ae56a4244c8a7b5e467ae563636d57a5d8d336cff96578d336cb7a5c583759c9b737eed0f19c663091bf6aa09ebc47bf3c3c1fee9011ea2acdea13bf480759cd21c5ce3ef810430e8ef850d7b15815e5d4983bd61af76fa936106eb5f0c4442c038fc690783835e1356ead289c6a05d37e1ba376b45a4e5a5c5865bbb72c35e12e9c99b2071431d77caec46828803038a74d953e1878358ece9ef8957f70481baba2bccfb489e081beeaa3fb0e72a7aaf1c74f0c64b1210850b438e1b4c252772c71863edefef54869da1fbcba1554a5660c28660044110044129416e14bce634bf72fd65337304c18e891908fe5b5b6b50cbdd55aa1e2983a2242c51a5c0758044a5e414011178d10aacd55a93e91f046d9ad437ec95338cc7027019a9006f788e4b81266254b04e3f40faf45a7095c35460fb69822c4c7e1536fc39b9db9e9cbcc15080099ac3b4d88ee2318781a009535801dc9897c96198ad8263ac43afc7fc6b084356aebba65c990f73463f82d408b2a71e24921f71ffcd47efdf6270d7a0989ab82ff124d774575fcce729bdccf3bc7cccc3c4f4cfcc7c0fe94bf8d2c7a05e62defb7abc8ff91ed2cb7c8d384294f0c4fccc0b9181f9d297f01df333a7f9b1507a99f751e299f998ef81f9127cbc7cccd7637f460605f33128fb1206c52a89e2de32901bd28fc174b9ef500ee31a997b916ff12c5f78174ff93b1431e889b8bf63b1610389c1297f235c77f7baf6b2a1c31ce635bf915f2b0ce63087396c4e1939afe1447762a65f6d8e0366401d267abbbe6c3f7bcd6d9d78e3849cde19cd6e4f059898b5a96e6bbdc1353639a86c454f94a2707590640e4bf929a59452135fffca3a1eb3fefcf3f213b128973dce89f5a73146ff6da33d84bf362edab6202ba1253ede039484b5791c718270515154cd04616737bb86113b1384ddb66dfbea60f7f7cee8f27b90dede014112f0d4651c0da8012908e9bb77ee5dd2377247fd9449de876ce507d7f857d40c413c94ab7ae51cd089f4f58c8e40441625d42305b5d2e60eaf5694b921bf5aad5a85e086386ee845db0265d6449605c60d0db50f9d3bc7711cd73eb45e4c92c91318edbe1e6a190af8669ea06f601c0ed23b1dd43fbd02395d3cd362a8453b22d41a6ae5449e9c0ed5b76e235a2fd00a52c3826a2a18f4afa8266220c4e0a0c5ea8536543f488b2b2ae246cf39b143dcd0d0500e8f14bf43435d07de40d9f4e09afe89e2f13103d796c9b6dab695df380a3ede5ae23f1bd788f311a787c0119c345f7916bf093909bdf271d6ca41266c0f619d15f8e6703e56359f01833c30e8455e0333ae0bf9e02b9a2b4b8de6206d55b7d56aabbd5ab9d0ca57bef295af7c45e5f57ac16a5da2d0a0ccb6c4a8c8d74b26f3c1dcbd2ebdf4db4a4ff12e8a3e2c3beb78ad26bc3c614f2cb84ade86714d10767e68aa11646b4b28fd0a4d501af672b9b8af3fbf175f9ed1ef70faf57b7aead31e253cdd8fbe67fb4ef249a9591b7d3d74fb93fc7848df0624a6bc130bf4b77781feb6bd10eefb58e5c2f6a34f48fd7c7c27f9f5a8b25f4da4a9c771fa8aa7fc9f70ca9fa5488902e5b2cc5f3afc95c35f374cfd6a369293c33afd44018cd34b74ca7f4aec07504471dd5f2ffcf0f132994c261f5ce3ff7ac9d7ab5ffd7abd6e488771c16cf603c84f500c30ac8ad4b8cbec477de1d907f8070cace3482063c68159adbdfc306961439302724c5098aa30e5cc7eb066b3d96cf6038b18a33c41d61a6395a26eb35e945f59371ca4942cf9a5eceed9f2c6d6438c314629b92d9146a3d16840a4a45f74d287148336a374169bc1603f78c17e30045bc2e5b5b0eaa0966afb13103568ee1171b6efef8604797a788a1f15fdad0aed125501e29e13530ea03b82f0e1864c6b1e562c7b2a704ad8906572ce564744cbe51a9a656922eb585fe99794a4186304ea1e18c88a10c7f50fc12536208e889302a7fceb9376b9a4cbe572b5ab5d736e44f3e5378ec2a4cdd9dc3263936bb516e45aad3599fe41d0c6268c363620f86f32755758aefb810de5cf73cdde4e92d1e2b8be56c886f3a505add5647a5a679e90ad98df4897835258472ef936d41cbac23aab843bb46db7080976beba58f654307179f98df7c4225021428b2a05d1072a54345836d268eb82cb9057692b95d16861c3f99aaf28475f08de70bea2cc41a7d930caaecc6f461fab8dad28340a82e560338bdf40c1f3c53a365847cabcc9ca1d9a536615b388b28a461d49b66ab5d664fa0741d9fa1dbe452b38710aa75ae6840d658b8665dbc2fca93f9e978739f1d82fe1ed97f0b2255b769485f5ff53bfedefc402ccbf3c0fccbf7cffcbd7a3a4ad090fd34fa3bb2874a232322f324311e7449d4e10a414347d310a097935b0f2b90fe7c7bc0b2f3f43a2a4efc442cc9bde8599a7f984bcfccc9b3e214a785e3ee659454b6fa3747a174c6fe31362dff4a7cff4424cc889297f1350313ff3a7d20f51515a4cf99f4a5f0f1f5a1453fe43547416531e801aac8cce268cabe9fde32ce2d0bc773d7c645431aca2f94c33288ea9099baf215819a338e8271662bec6f3c47c8daf4709fd1e9998a71f8fccd3f87a5e3e99df114b086d454900268647166174c9976cc9232e85fc86befc914b866491aed237c235720818481ef40e32076dc38874c35e3d143a5c7943b78111fac916122bb3b2dbf395c52af6249fe78b6b606e385f9d8476f65238e47a100f094557148a42718b288bb2c82516217ad163d228b1db3b8b7592609df68aba79e9c038f3490aa9140a45430303335facf9a2f335a14cd8accd2e8e937acd282d2a3eb7ccade632c98db24906d7f86f5f17f570d07bfb99f799cce80bffa5058d33f34dd88bb39c25f33b88f96e00f3599701016e285b2f5fedba6c751e89de1ef31553910a0d908db328eba146829d1c11652ba6867a27ca945c294434b1e00904061da87178c4995a380dae4f9a5432bb9042f3e5b346e487e5a0b3644bb6642bcaa411f98314423291adf99a34bfd9e66bbee66bbe6a2d0df13cc70d9a99654ecb8dca1a2ab0f1c38f71a3dbf795abc99c9c9c9c9c9c39a92cc618494458bf9dbb47ce49ac52ce166cdbb691483130f6a5e491623a18ce8e5e6ac99b94524af22c4ce9c58e5e4a1e47eab6add69a330a42cba0a2f691b6460868453437d8f02fd36ee4d70ea601a1d168b439b5c46228aca81449a9b9cf2ccb2816fb8971878f46a3d1a8b3dd022591ebdf11a9918375fd884d58ae05967bea755f6832f5caa2e4b6790ff0ee88d48d5020d7903eb0c6ccca8fdec9081bf68abe47a0455047710ee19e43c27a55b7a19074dfadeeeb25b2dbf5637bb0823bc3daf643829536ac8071dad53bdd026a1ea2fccfce986cccee78814a8bcee85e9a5b07accb7efd0577c160ff348ec6628b92682d43b1d5ca87b58a6d6f472ed7c8d6ef582c168bbdf042efb0c038fa81402516e338aee9c1e3838617b58db66593c9b678b9dedad53ba4c6e14ff24824d212aef17f4171280fd54d6a3a13848d3f44925e503a3c2747efa48000920dd750b161af4a1f322cb4f1de71e01d920a5887f475115c03dfb410aee7bef601d7f8c7eb7deddac1862d6b576fc0e5dd9e6b0319e09d765da077bae78a6afe7ce586eb793457abe23eab4190b18e37258ba6c23adcbbbebb96f5aad4b29695569c2be2b4ac573297ccb56299ac57a596b5acb422797fa3f46ddb966e944a1ea9e372e4d43c3711b983a32a6cd82e55cb41a12b2d941cf958f64c562c43d1f109dcec17852230bc408469bc6546a0a7014204b26104722107bd8b6adbd19c79c2862c0b23905012d60142f988816bbce6607c62c43fb6222c328942c41faed838f48a40b1557aa019f77561d933d56ce842b78b6ab5df175b11280275afc58e4835b4584f8e4627c42007c2c2f68d3d8c64fd001bb74733cb31e523a69cf645ffa6a28ea8942dd72535ebd40c00000000000315000020100a864342c1683822e9b1661f14000a738a447c5c381908b31c877120839051c420030831004400068668480094e8cb1ebdebfa3d80828302e1d0fe70fdc8d28d218e5589837146fc045c97ca2810553e1048ff1a74486e4bdea3596aab312752b68db93ae7d89494c0aad8ae3905d89ac99aaa0ece99bb3eba18da8853413f0b415776114019d92eca3291c1dd2ea20df2a490598eb1aad1ba7e7c2e8adbaee82521c58814086977bb0eb53e23c5ed7e992d222815b655c0754595f2f4c2af339b4a02dce820ed0704034a1a946c244620a441f143526e8a6d2819bb9c32e6beb6988c36383b0dcb61b6dadf5e9a2ec80e68ef1b870490337ba22708b9e31cf4813f480325f8eff2f77431edc7f70737e239df23f2a8af16adb9e0db703881cdf62c4dcdfd24019c52d81cfa3b0e288de660a563682f96395602292b6e30a2e4f96e9f62fd21f5248e1bb8e36b40efe29fba3861897456d07342b1d760c9e25131fa9589cef272ace6b819105dc42d47607d927c984ccad8286a4e3213fe8210217266e03884396788d32f4a4c76387759dcdb94775b5e95d0275138903c784d987b03d03e938a998d45bc62f561d374a81d7e7c8341c02de3cc7486d50dba81977742c23c712e807f880e67ee0510fbc6993b680f3b51cedcc8edcdf13d350176f850c7254bfef17bf24b15d12f52eb8ed9187cfd19455d1c0b0544f4e9495273090804d483fefd8f21ab444ce873a64870b654bd2bf22963a08586356b2666a25e98205e386dbe3f6a75e650546726f52de20b077050a475f7f3501c07c24e030a4097b8397fd19790c372a13eea6a8670c08d962d44e358420ac0cb4d542e1f3bf883e51aa465ed89f91f84dcb286df35a5216bff2f0cc183e041055635547a9dad9d2f4c7632430737445824385ba436a8a51f7e982d7ee05bfd2ae95d06a34c68a94671a66d83f7a1d86de3811e86b37cc009fcd47d80081f1e20136f70c491f55f7bf2b8cb98b184a6ff1243ccb64ebdfa22ffe43af581053124e764d11200d66313ff5981a047a9a86f482b3e1d470504e9b874bc73f3b23dbce7b15889d2079acb41d4c2f57adde802d601d5155d16abcd538c2d4ba1c5666c1bd256e0833ea1a559a04e990f06b6539ee5b5d5583f119f3728f59e3b2d7cc5fb965100b5dc155ab0cc2098c393e694ac902d59d82fe415ed319d025bd40deb329c3c1ddb650bf696191b0dbf68ae1f6419f1a6129b9e7450682c9d28ca7f2b2896d5d2e29edd4a7e847bced291a43be1d21315604a7ed8c2d3da4e9cfeb4b75843c2bfa92f97a6e807f061d72ea148d34d710d975f9a1c045c00fb68dacb451be282df509aba98031595bbd95f807642c8010a7a8f1d3647f05e4399d41277995d38abaf543f3a364489e503c8972e80eef7ca00fda29956e64df81315790943ff4120d0e9b4e10cc7fac871cef113091e14b8f9c520cb9c82e9a08ac8a359fd92cb39c8565163bafa2d65e045a7aa527dd1b292b26f73cc8eea52a674ed50cd50b3c259017bf788ed3f1b6ac6d945ea7726b92516cfd7703ef090dc6370f3c1fc5340979c0f7a421881ad03ffc1f65753bd5e236bc8b99e57e608cedcdf6094686ad4d0c0ebc9272adedc68ab9179c1ae45d043fb96cd225bc10e71ad72ec92323d36cbce9a6ad363e1f7c9e64fa1cdaacb9e2dc9f43a2f4f137f80e5b4d7a2f3434eecbffa3c9cdbd749ba997f7af71740f15bafc3d05f8a8f7d5114cf9f9edb671bccd5bdabd6a8bf989b11b492f1e727229702164fa5a093a8039c5002d6a18f631b9859d254bbadbb8421a24401518b009141e0355ccb9e00857c5e620ef2b1bd24d39a8372902bbf6218c0db8f57621d84342faf04a40543e1c6b9f79a725ae4b892a1ffc046db1b871c0266b22fc90b07a01e55a8b917b8f17a1b83ec19915332a94736832d5bd2e717015cde8e2835d4222fdf403edb102bcc173f633e75dc47e5e065eddaf74f22e16d02c0d3014a9457d36087f5d3634862dc985636a908e7b5ea630077b835e1dc8182be52a0ab58cf55e3a78d558391c34700f8993c44f5e1ecc31aa0e5accac448d4e6c5dd6832119bbd748f9e5836687ad01e00fcea688ed02aaa17e6da6e2a1f1b0ca5871b8605984130e321e4052edc88b64bf91f9ea7cff03c934587d8c05eeab1b0348135a7655bef9e193e2f0ce2cf0012c57c1b5a9942087cff8cddd959e9afe429820c6bdf9a731d3b8912c8db729a45b2f38dce295d51303190249ef5628a37f6962466a8f1080e0b5d0d390c9b3bd18f8920a8e544197f02ace537e48d9b9e419ea6dff762bb9b28d332869463b365284b1042cbb6ff83b05278f3c489073ad8699b5e738ceb43faf4530b4468d4e4dc4c90686298de81053b7a4e1c3084051ff64014d41ab6c205122aa1776423c01ef13f7ba994773670cd33dbef7ed73cf49b18fa917a88b938d110599531e8ed31eb853ff29ddfb8341559770973a5ff1908f1dffb3c72d17499be19d6668688075fd2519ab2c2e04a8aa7320b819747e089941c826b46b94f6450673678310bac4a8aef97de368a70ab12b4f75bc1c2f1eec8ad21bdad82f9e7154d558da74929d121f45e37994283712456452037485214541fff1c24a14aa18365975157a2bbe77ffe73956ea8b1a1295f3a62c750798954a063df469886734be8335597bb9586383a2bcd7eb5446cad1fd71afdf3acebe98c8a23827cec7bf6e5a339d211cfe0c8d1dd088e34ecf3a487fc439573891bcbd65a966e80630987dcbc0ef6ae65e1f4ca5a46c2fff9a22054e8593978291f83e1938a7cb2e3db28dd738a609cd5e02446ecb6655509475abd794695853d7f3862fa29a1f967466f6d022c8e1f9a6d7b43c7144948e8d663582586eb7fa1cfc26318593e033a474af9c1a1906e937c179e43d3f72efa34d1d0fe48a86cf8ad912b0947f23a5e396e2408b00398d305b360070d545878e9e4ba4cfd3f6ff3f0bbaddb5e187a920de3f5acf9b9fba5539ff1b4149f172db46e6ce8fc7f9e0c9eb85cad6e9958c1e0a45fc5ed0243da543713e081b2ef1a346be706a4f88eed72dc70121d52d22f28a617a90dd4803a7419a4d437d4050dca34b89530290d86620a186457eea959882c1c65f5c13e3cd63ec0e7f7105102b453dfd61cb7d30bbe33a498f1367eaf5b17c8b8317aefe24c79f17433eaa724ae09a4bc2af80dae86917b2d8408fc1a5c8f61e723318517fb37d193e2ec8906ede6624f2cf270fe481cd791f5ed34a9700bd9926b8a3779cb6248011f2d6bb815f29f381775bb1b90becd7764e1ce8524f5cbe4d2e857e9937bbbca694028dfcb20fe7553b7c3bca04d44808856ccf8ff5a4fee1012cc0ec601641a6830b9ce0f84d24f84f86c4aa73abd525f7d9b64db379962d92fd8478446afd32e4d7ad523b2488865827e1cb426ac699c7d858dcaf8f6a5df7e238db6f088203a4440173d6d01f63e77b94f1959fd8f0194b5aa418ba6dbe8bc67359f2a687395b4487502b7a22f3ba27f4fb706c852c12fa35b5bc2725e775cceca58851d2110e1be61083b8af60b916839bc66660cf5d35f515c0b0219e2cd33e326a66dabcc83742af9ded7b9f079db0ffc93bf7d8382d939754b0d25616884ab2017b15decd08d86857f8b41a002d0c86e79cf13a71168b1b408e93796375be9ad77a25b3810afa041924274013800fe7ea621f6b739f3ed2a475fb20a3a01111f3501ef220ce1ea094c7a0d932322dcc5f2e4f0e735caa4e29ae15231b1640165ba5a04216402f36febb4a9dcaa14ae0f14754635560377f91ba16cfba30e340a334110c1dc0c6b771dec6a569cdc85944a3fe11c03a83ae0bc73afc22a4f55a37dc7c5c11c8a2e88faff9611ddfc3711563272cd55f8bcd0dff7d5f7613d8deeb7de0c2233536b81c9d405f1909f4ef38230b376567f7e516edb9a00af788dc867aaf614506ae7e52ba86e9ad5304aef7471222d7ea3662c393ff89ef1448ef9ef55d9408cac2facd5ffda9193b75ec813c44d05bf013112a51de0f745be9de55f54dd7d2c52856c62506a38d39d4d768b54f8c8bb3d67cf8b0978c9b7d20b771516f7e74f446528aecae7b41a50f95455ba3044ca645027da78972117a89d054ab05a90aa5c44cd5fc524e6efc1ef2b47c804a410c17489028ecde471c6bdcd40754285e76120d4c6c7be1267c54dd7e360c08d88d58ea30af595966c45e394d57c877e96ed343aed79c400e47a7f4f8de2d23e76ec11f54dff2b7df916c86cb6052bbc52173443327c331b1c9b7b1ffffe4d2feecd6a997dbdf43600c94a7c7771a6efd3cbcc003d6bcc6da5cecb84a451243aad47147138bc0898fa39f370d5cef819170ee68b7362917d306090f11cc6bf3958631a4c791fbfa270a0a4d5089367c6007cb5687ade133c71bb1332d0c7aa43988182acbf9d604f03be6d4fee68d1e85b3da26881ab49c944d7c4a46cec8ceaf195b138bbbfef6ddbf00c7dd4dae172677135c8745f23c00e810851ee036420613939de3811b09953042dfc72ae9c66a433d049f84fb1de10981f0a88a8b911d0595760e2f611ea65af87969ad4bfc38aabbec0f51bccfbc7b88a4ce9dbd9a0c527046d4ea3570d2c73361b0a29ba3295acf45a3aa3fc0da2e52c065f88a8b61ad1da009486b122e410166b1de7f007848f262ef0e0ca893bc4904d32ce323475284b9b0f90a1f811e5a213ec2e5132ef842977f8777c24bdcbc861fdeeb4e17604cfe642c1f5c60cb5d05522af6f062c7ec7680df5214353fa092c8f889db4d53422f2498a44f466e64e5e2002ffbb74f0c5242751f4bba95c912247e84350ab617e70fd2213c722389a2802f7b135c45833ed603ba1e9cb19b0093ab9a0a59cc01f0d491de044884284323b54fafe9ade187ff464c7bcef4468e3e4eaebc7abe5d7dc5068f101a21887088ff5ac40057a3941052c7c2aca2ad279c66df5c28700e3dc7b027a3171b386100501559b0fe9025ba06a6d2f39ce37434ce0f5e86be6b07fe6b37816748fa1be4cebc6b7f99483e90a0dff885d0054f1248ac96fbed7dbf0e83eb9f603f5f2caea2280c441beb671240f3e6b871e4702460c99cce8d6f86997eda579bdd9e3c3af8cce53c61275314d9aa231416fbb1370e6f7786326ebd309b220ff36da2f8243623f7cb5eb4f98719142c2f69e727e0ff0b571a8c7a2d34821d9bb0ada63980af5ea5b8f59372cae1bc04bb5211d2451fa0733ff85c091ea810b5f29c1a6dbcb35894f7eee0902c0049cdc823ab3ec67d56d508a528599241b02c0ddd8d7e0bd620a2ade9842f4ee9802795eb2fe0080ddd7fec757da5eabfab12fefe798d43bf2dae35f195c1da424a9fb666fd9ee6919b6a673a4ed859eaaa13fb389bf32108e1f1f559bd9daea9888d24fdcb8d30753b5af69b83d47b3c4255d22b4acb8b300c445c615d26f39e4128257a800b09dba7f98b3c56568d66f949e6d5cbcae90125930c9d952890f113a9a6851ca7172eae72eee8b2170462a7838cb41437114268282c807c2328478362038e6df8a8074f117ecb5cd2a23367a80b594f4a7de1650cc82e125166154e770f9acd8e7e1309bf76fc65624adba8b0660a1c5b5d606e5ccf61e2a4f071ea2432372686a3d3d9f70ca53ed6e03f490a2a7d203c99c787a69df9226ec024fb7438de538b3e5e6d2f6ce18d1a6c9de8ec01649586613356407914e11bb01b1fac91ddba6ce7ec764631b255e0b09eaa4ddf8f59fc133def54fa938ac79337ba066f7911cc5833310ea1b8f21ac99999fb943d79752e4bf050e3f773605f61f4bcf0cb1b0f431b577a9e2f73779f602bd95b2ba89f7f9d1d8d4a156264e1f34295e1ba9b6af542f1f00251e006dd2d1e2cfe31d2c5da7284e30727986eaa4442b6a5aab082720b3976f1a4700ee2265cbc9ff915100aa033691acb8f8dd358cf1f3188a9de500086b0205e220774c219fab00965bc6a8090d4b3a9e53fa3190815d8c3968fcf8ca4f10603eae71d842dcce7947f94624572ed29982d11232cab211dc09745bb850e77f330ddc69c5b6c099a31d078620e40fe2daed1d465ca4cc52764938133712b7997b91525496fd71c2363147f30ee47071f75cb34f595f496f99d7ec136d6a2827e0ce2a1c2fd2a7cf043408e046255a85295cfb98e4e215410fa7c9de903df34f4c96168f4f4f2393992304396e1a8ec68f3f14b40399468c402c6cf1994880a990c3b8afef7ca1096970ea9961828a7827b5fc04d41e7d8f603bfe4355ffd13dcf66cd9d0c4807bfa0121f18b0bbc38ea611b7e22b4b010fa701d1940303206803baa7f5e7ee3eae248fa430370bf004a7e77c840b8f532de8da624a4ce72b72fc81444241d25d7052030c6f8b4bbb92094a0527ff3d918c1ac21a1b833a314cfb8c2f5cb19d4de6b813c013758900ffa703ecb43c2eef9baf0a5a392c56adc66834ce18c198b1f78d65972b73db5669693844a122308f3baf073b9c414f13ed43f2b0f7733108dd512b4e9c4ecf5fd002f75398104d7135b8ca96cbdb35c9414e30d1e6583128a7203fff334b56b359d890c896e0ac69354d95271ab244d4fdda0387d523174e5b9c2cca83fab3bc278e08ee52273d0861f2ed00cf001c033ada2b21990b529851106b8884f48b5f0c52f83d20240288e7f36c2022a2e3e8f81ae233303d425586fada864a6d095189e1b8c29e63a00ad0259c359ebd0ac61f7f83b2792cf0fd198d68876f31aa9e5ad73df774cb058c7ff64a0e925faeaad707a5672157ac51cb7e47ba4103e16ce4395070bc2585d0ae0ac2dc3e30c3e7c19bbf8bf832aa034b4110ed3a8efb1ba10380734a6e4eda3d42116e4ad44428d935d5c56529744895ac5fc2c71a9216977b9753320e5a3d2b7a7541157ff606f5fb6464c339580e55b28d629520d2cd8ae794f0f19a696bd86484c821aa55e4ff504cd59374443d351ac14003252fe9e3a6d13b016a7afa7a156a2cd654d279f41a5e9e8bdfa796916fbcd55643e714f5081346430225135809d335a219799a72559574d7e20f39e3c26767fc4112a4f483e0d8885c7d8ffe23f7f0645351481c6084df9ab38989881821f7adb41a220e1145e1ddda95e022490f99a94f8fd57c558d092ecc473f26b7af1b86ac8087f768a5b3cefee268d904dc626dfd6bfcdedbc79683a723771778429cf79b6acc545e802de11eda900d888e4ce4c5093a5d9c0302614e47bc2e8971155e6b26c488e253449a1863b15cb7a9862c59383c99139ce1f7910fca5bda81466e4487d12cf96634eb48f4d349982a113d4389cbfb70c41628578650cdcf759974398fdf7296ddbd748f8abf8eb7d6cf0a40e6b4199faa0ce6f19d194cca3a6561e8cea5f4f848789dfcc36dd2fa55138009b6022def33669d4ff7b3ed99306d3f57e8dc7d85abfdca0eed0b62f34281593f01b55405122b096594eeaebd225e2e6b3e016585e190224ed62e9121e07e55ac4f7b4c9cf5e7229c5043f8cc8b9481e0fe386455b9e44c1576aab71e6287a79bbe129611fe2eb91d71f0e7a62d4c9ff7df66a6aabb93f4e49eb84199b82b96dc6361501288ad5829e8cba8ef928fa428d51eba020603f8e2305c87cc24c399a5c1d37b41ef623944caf1c6b11e3fb56940dada22f1bd61ee8c3203c20b521191e89321f00c7791ca25fcc1d2020b038ea6a6ea50b344ac9bdf8f7596f5919288fa5d64e98d09a6c9df8a69888870d17e2ba93627f50f33e1a13159e3d357fa6bb721b974ab7710de662e0e15766f9df9c85a8b578a74eb35caddb87f80f1d99bf49558957d1dee870b774cd3ccdcf047d3f65efd0dd8355cf79b9e9244db631bb605797228ca9d1eed5bc4fc69af74f20e736d2eb8ecf6bc3569a268c2332bb36217def5c378ce9d3fc7349f93980837670916da383f82b149142323b0f759481f74f46b2f4e3702b1095333718a00cb45d25c271b887f793926e65a8bd116f5d1314470a2ebc9979fc71a083b081c271427df97275f29df7e3a6ef25a38add33a34a1167f00a53addef9f8d641bd99ee32822d1942fa3c50824b97b01751e5ac095833e6cc0dd92603327d050de9c755c4c1f50a0ab6433c60720fe2bc6c5c20c084b9fbcfa716d0533dfaf7b833870ed004691a4f90dfd14d9dd4103344a28775a8952068f938779deceebe9991c662d11675a4654f539c761a356ee9fcdf11e3d9b579fb0731ce126b08c576513d409244a6366fcc9fda34b2c324ef9b8ef0871ae41e645c32ff97fff0c016902bf50a044b998f302a161a93fc73a884dc89b444f77161ab1e482385f9f532fad84dab31cdb81f190618558b41c6ecf13443e0926c0c81fe505a9278e67525aa20f9121b9d27b0dda25390d9c3e9a74eb01dae1f8515c70f590d243a8b344025eac4ad170ae0658de460ef451edfdc623bff9999d4b6a9b3a6e21682d4ef9b9f1f6dae7d9ef84edb5d14e42ebc90d917fe41eaba66a1c82f78a3d0b029760989a873cdd476642bcaf8068cdeaf972b166231ecf2165fe4836d75b2f29eef3b6d551128eed93b723ae88ac5e32963b16e1fc4d9a07fd026a0269d50ba8b374d939b33ac98cbfc1b4082634cb804c5340fc452bc385c3ac63d50fa151ffe106b3264fa269f099217423f550709cc6c36acaee5458dd2380f86934791aa84117e4390d46e0ab7c86cf2c475d838ec704b13557c67a9b574b2165066fd6fc82f326252149be4db92de0056b2354249810848f39c6015b16673dc121dc580e98dc9f9e450b8edd02fea36f78bede8b87e5c22f46630c85b488c453fd482bd2137e84c17453df1de8c12e597eb42324d8bfbe321766c71e8c6ef3b59c1f7560c343dfa57e7fccf76fb4addf584536918ef6ec7df8d1da25bf5a8cb0acfd2c128968687d20c1d99a9992a993bb9e1669073e560a0fa018a1bae21a67228bc002439ea2998d483edbb5bd685a195aaff6e74c6a33c4e8ea63337ce43c9dcf302d47481b9c0eff03f931ca43c3a7e008eae2ef4e401b3d0ec10055ed0683bc823418dd561898b5104cafa2ef5d3ecd565a31c2e412441bcd1f318d9a8811c358aac6a43d05b036ee81a6c043eb64d77875c6018f07d5e199ce160457421ee478fffd38e4382af8c9da4f6705ae7e5c470c1c78b28a424b229a43db8e1767124e8d156456a2c730f4aca49b0b2d088488a20c796150c6341caa48b35e0a2998136e280a2ad88d2b614d1fef8fc82b1560d1b6143e52c4e9f112af6613c7e5ef9bd2dc800ae1e76fb131f21075266e3b34a18d87cb1a09f58d4267e5bd6530447eecdffb7f861cc875de1bee2120d1ed7cec6ea8e487e60178efdc50c36f9e9b77955d95bed3432ed4d8ecf96e4aae270d5d27d049f0ca833ea40c7a7daf71d86a070e3e924781afb450a883db97c48edec2853e185f2c1678acf01bba2610c55fa24fee675ae7eed43a9ac1d1b009d455817cba89766541bedf8085dbc1f86ff5cc488630a899dc285ad987f8ca00dcc254049adb011b8583a0cbd26e0faf01cae6b5770d47aba10ea9e5883e6e5ecbe5498b3242a2bc023f268d4e6f0f0586a51832c9738eec563f3f61893448723fa9c257b129487631004638370a2f45be0d5a842a8db3283e1f8ecd9939255b2e0cb7ecfd26e1814355b7fa98fd468e2bbe9cf0e7b36cc3f1fe479ae23d5d0eed543491c856fda8d11d144be6da4223c1db01a00904970df225333725fbd86b8cd9184fbe9c87da5f052282821ef8d403757b6cdfe3d7f8d82af9f8fd8ffac30a7446a63a410f0281d90586552f0ad007b79702d1f4c986b521d24bff37abb948041b79d61eb84134211b0708fbc7a96cddde3ea2b26de9e567ce2c10686c6a2b064f8dcc61ddf76478c4ba65db14a74f43bc3e680d68381ea1cdcfb7daf9ae60c7ae1a3017023e0168a6fb91f8ed7d91378a53870d5b440c47e3518c8fea2e22d68d2c1840b7e254188f3fc0cfc75d24e9532593796bdeb71b1ae8aa16bab11fed3af7a90f41c990e464cffc351ec3bc7238c31ed728f1dee269c05cf8235dda89e92c54e72519656451c021d6c8821a899647ac493dc6ea28e89bb5f11216486eb01e930d058b5be6aef8460d98910d7e7eb703184e08c0ca211566282ab3397a1cb073b9d0d797ee2d28fc7e997419a5b8b1a00a0fb27ddfeff1488017d05b4434be17891f203ddfb544e336ca8b5dededcb99201465c056a68b9ea36e87c2afbd00cd91469aa8bd9f1a1274b90a1b011bf1c7906554c51c58a75f9844f1043c2454d5901aaed8cc46d197e9a8e529e772e9c39499a6793bf9ba877391a8c8e5c3aa730b284463012b7d20704d4f6df3bd973edfa6eeb90727a35bc88c4c4519c90bfe70b26b36c893da6184a11aaac25014be8fb0317bea9c4d9a2c734bfa45c6ba9d502a479a471f5428c3c268b1a85f485638caf25fa017d1e88161ba8c7039e86c7d195b34e8128958306439f99872c6424e3efb1384530dda020f1240a4df0ea49f2937801857a17a47f1fbdf0987f91b634a64c4e4741e98ecb362a9e80ab80cbb188623ced102ab7e86c1260228a1490a3d2d17787f3d5a36a9d1f3d742d2a9ba701cce8603dedfc98614fa70b9727d16e0fffd3af517e4503503d5951f4a7f7811a8d246ee7e878ed1351dc867f10209571ac1259906bbc4eeb54e49a5bd97aae0cd29cbef9671a210b18cb74f696c889c2c9daa5cde1f6146da21cc4b7d878e04689130b966eff56a5a472c8acb578ad2f4d944a9726f8a3da2747012e687e90febe4f6e4a567900280134dc42f2d6e2ea54e1614ca22150032c539c041fda7063c59a1e4e0b239058ba1f912f4f3a503ea23acb0b7fb6d3e09ce3b521d65ebe689681c68b2af188ae6af7379cf0463710e68303d7f86735c609d15fe51bc0e681e2c0264e51861b380c87c0145046aa9d56cbf17ae74ca21a2e702ea23d17db3a451aec876a827b08eee32bc374b2699dc6a6579c79c57e4e81f72ec97066333ff873314267f598482e0a9baa7ae3c956daaac73129f9121ea0e052ce9332060f4f53153983330975c62c8c8466716a3554a295666a7ab8496f72cc3cedfbcd0c6d0ab3470a0b18fcd7d1eaf53b751f4ccc552b3be0fec12e3ed2909080bb54ba0601ce5c35107a06b5698a03509c5d561755825f92950132fcb8e7499a2ec04c8122024736fee5c8bdac8d87132bec9a0b2280391656c80a36c7c8c6feb1aa65a58b8a7e7c36a308ba12320b1e412ef4fa5676f5f30dcfe63c7e02dbc2cc3748f23dccedae428e631baa56960195fdaa2e3f059705792eeb206335c0c1d48a9135547baf5e7e83fb794c35aef186bf847b1461fd815a6b5f075a7ec2956cac431236acf247d5e97e2cc83b78b19dc8c2acb5339a6adcf1818a93fafc03efe0839b2b79ae57b3bd4669712c9ad0c8659aaa6797bf2e49982286a30757c59b4c0a0ad65e4d2cc0b288593180edf6c34779ffb725fe46e08c962ee423797a96cd6af84696c6c92374786152033320db80a2e9fe071346bb4af71c9acf71a778a6e0d245920402b8f9a4c459d4ab4e5e9f2283e925bd1851da8b4a5e46a74fd0fde2ad13e64c09fc46b01a5c611270bcb2b0a2879232ba7733331f702da9eae2d56b11240a20d21773305a001efde83674da8839ce30e3ae6c76a5e2c8ad6b6b5e2ac3fab0476b1e1320132fbb7affdb2449183c540e5a3950518effc25b4b5a8e65bdf78dcf0baa709573b75abf211a560de06b488af281893ab8c27cf7399eeefbbd1dde9e8b780b4eef285cedd24636a1f5d561b0c18b041344985dc361ecada5b9d6a52d9f50adde9959e0da6111a6a168e23c874727ba8c0e0fd6d86f7c5baee952eea08a6d8237d07f62f755f42e27d93123aa20de880d25ab628f0d9e1db21e9addef02d5280f73a153b846a3caa04d98d82bec69a08b626fc70550252cda2a2d0f9c67d3bcda5d6f5f54a94735a147c4ca63bbd042fcbedc13f2cebefe57977d86fad86497733b821340eee7039de2798fbeb6b0e6db1d487634d35e8cf148853a3e35ddda91a718760d4d48d2c98d38523b3769c4ba0703176b840a1290e30a7ece2dbb3a7a9104cb5d1f4cc416846eebe359bd5618bbf6ef880e8508ef3293bb72b16187ca1fd65dc8ec7d810968a8eb271f333c8f342744a640fa7e2e5c450e2c5f40890c135ee2ff00676c71dafc72a4b8a3ae5da44d08189d4fcca012e0c013e923520ff5042a44ac8ab1fc34f9a01f857850599c66e346c1cb50d4df95b074c69e61c58c5fa61c67938dbe7c116b9da3fc55f71977df26a729d68c65e7e8c1aa5daf46c8d1168ab4d81af4fdf07bf45afbaa419d317301a9858cd56e028e74158736f6b97dfdc7a947e1e976141fcf8f2fb873a005da0e574bf8eb4b7fbedaaaa6ffa72e26248e7d534491b556adbe427ac2372236c820fbca758a0f9c0c7510795f6c4244c3ebdd42e005befe775392573273a4fcf29c574cacd288979b27eac140f9fd030d2f7490e99a005a7ad1c43e17888b21f50b64d516775be69addf576f113bb1bdd5e585317c281899cfce7244d4e2f97ec4363f8004693e48e525fa5b69cea84801f9ef80763d7ea4827584997f163b84dcbdc7b630b3dc4c96d498a0d1e88991397eb654c245e12ebfeb273bf4c21f63ff01ea2a994a9b142b84e869d1153366c214d5f241b631ac46f501251f91b1b15ed977c829c5c0886702bd202abf62e2b54a13bd732d43823f970113e5daea7dcc6797a032797634a6af1d27e24b09883d99b9d5af550adddbf0e9a3e940a3035b84e7a8c607a42c0ed6f2d6e83def932f679a71a95463963c3649f8b29c0c0b7460e4e5bf8f7ab0fc06217907187934e07059f5c81cc65ca806dfd74297fde3072a465e51b1f59ca0df280fa8506253bb2fc74189d0ce9ec176f1f1ca3a138d6093c7f88ef3d96429c1bca0ce1810e0b58423c06aced5827e53ee6a40e187296be3b7a8613d33bf89379b91dd2069c43a33e253817c3529a2e7017a7466f7a50f187601d00432f9b619dd7045dd808cf9a3ff22a8b66d93772b3d56c2e064f1064853215647fb33c47eab030c51c22d3fd017c7113bd53be6c5c680b5d8056fb471d384cbbef89ef0386b3a4547a05ffdbcaaefb69b866c7065a928c5052f80e823d92d02a0ce48264ae50d0cbd24564a04c14cca6fdda2c3e2f368c8fecd68ebbe7e145ddfcc24334a105c45433f9296226106016ac527f3263f40ff36e5b65de127567a0ae273d83343127b3db7ec86c2e3501c23b38318366640b3b0c6ef95421c5521e1f2f41a9abcc5e92765f8c7e127d013af41216550f95412bcb2e6921e0ed877caa102b61705e0abe7fc612817832934ea4d82496017542d4aa29dee45bbf41e628fd0fd8a9c6716e4a0d7c4d86460ffeefa892f863ff15e3b7698836e7094a6cfe2a5bb606c58028f33b7b82938145f170dae5ecc6803d75054b29135c6fac2b2b5112ca539145b64fa18e3844f975e67317f0dbab693ea1c84473f06de9258009974fc13bcab4f076edd7c4dec366c3e7160f6cb17c9b2625935aaf2b2fcbc5502d709358d6ff0ffc2b7f52a6242a61970a8c0e782c2beb6aeb6f3bc4a1cb102a79c7ba5b7200daeac908ef539acdb9c9a2a4550abb270c4f21fd53a05fe3272d16de39b0ea4f115f36dc5ee249763d160fe01a2de9cb0d838b43714ae966ea5c71214744344cebbe932d10eb857206e0d03fe562206ba91c52661644ec089027aec0afd33914306e84015329d1a902dd4958d5a91923795d03b75598ed562bfdbc90624fd46c0968e058e82757bc2756adcbd16b3976c673bc6ec012217b49325bed0e93ab47187846382d096fc06ecd1cd100594d42db21b6da815f03c5298fd6d28ecfe3e2dac36a1180479d0c4de4712f860013aca5edb2eb94a9bee334640a92d8a5799f1a599cbc7ae7254e96fe656922b7257bb3bf6c1649f190d88bc5eef006e268d38b0433fe59bf51ea9d5df7d2866e4b1eb4f727d21ebec5803c4c0fff116dc8a0dab751dbaec806bb380e3ffbeae0287ee0394d8e95fb247126eb44b2ead392551e46af2f37013b7755f81260beb2075c8ec42706d12733355805339dd70aeb8d1cc8d02eb33c6a69d4fa0353f68814a9a421919f3d2042e6333e0beb38bb824aad4613008cc1328f875583a7367649b10521c79cc31b843025b165f8da022303886288ba6b5e5d8e1e2a4f4047aaf82b58311f9ddd69a36f79c6ca0596208068f2b3f8fc5cff8ba7956ed361c702a5d72d52e19fd8f06d0001ac252e6e5f85f4f711fb07cbd8203830d0872a13661c2ac61b2cb47280089c710c9339d8b61063370aa43c8786a24ef44bcca238c9ae206f789213f5f23d206245124854c54ed491df449e1dca183b93cf4882505afd9bcdefef8a6ac3b4ca4c47bd0c28a5cf2bbcd12c721e2fd06130411727a757ae77dcedcbd1e5c58b173b84089240cccb58312e122e3b7b23888f4e4b836e0e51dc1fb3b8d02a8f080f29fde3d32e6f90413dbe92de491e3646786e82e27c2172e861e84d99b31ba46ca6e94220b94311b4a0db1da9adee3841a9436f252b57e810e0d71bc7b227f39942dded888ca5cd55f42e61be2e624a430bc2f38febfddfa95b9091e79c030d7d622b3e2067509249477b981409f689bf3beb7c8fd3cc29960200651fa996ea04461678d0d9ddf5b5280302c1ce94aae80ea312c6e2bf821f67df8e049f58afb8d7162e36e5500122c5ae2b77d68107f1259ab624b383e207395fdbe3850f6fd1c179bf985a0eca76fa031908371e833b33d1de0e7e40f9930576543b0f0810ec5d8cce5910889a4de0fb2f00df5b613cd285d11daef79e1c316671cd7113a8118976cefd6c8d4cb2aa0e28e023a4c5a589daba0aeefab017b5ce0737d3645501d3deae48901126287651a64fb6034ea10a556bdf781628668992a3a45cc0d2306f2e119b17d2be6dbbc9c07c03c9259e00e3abd29062d7792d06d6a19ded1e08e076d652e485d11cd5b21ce4dd2cd7f7ac6f055775238e5be37a4a462766c6d1e9870decc370145b3f7b532ce7d16d3612a19213302346e093793cbeda50809b38907e81ec675ff6eef4b1279300d18e8bb4712a2b84d0ad059041080ddc1aa7dd78738ee424f3feddbe290e7388ee23e5f31fdf5051e373edf8c75b3e6dfc2fe132c71206a9fa32fe0d7455418d1b25016d21494cdcf80f1df13fe4eaf34b5ec4c8d1bc0d7a498ca488d573ee9e85d24f00b4f35209e0aa113f34c5af0a98e581094406595e628358db38e436e7e0e6a4ee9fc4ff8c5494f4f9a33b83b7aa4a20450614198d87a5055e968ef2a4ef5dbd1470e1de3deb7a2be8f9c0dc20d0c247c75f3ee89647488d31b09756a5febfae5eb9d28da20b2b469bfb0dd9935a16d96067f59f37643145a8c587a4399e30da7bf69a0c1d28008f28d72e8b1745d9da614cd295cfda6b67ac32047f470569cd3acad2e5431cc9d5140275e444772d2da22fdade3dd9212fb4fcf18b871a0f973407873d9191144c95aab8f38545063b0acf6ac8d833a39e384a434787f7bebd53e27d25f908f9cff0f9cf7fb3e915c585e81e0233386ea75361c30cdb2b2801bd5f2838260c410950b1975c1b87d11ec116e6be123a0327d33015e204297c3d87b2b1cd2acbfdeb637a428025eda493c6328555b523a9f093293c79cf89d334851aa91c7727aaa94fe377fc2dd69890addfbfc4de61ca93e90dcc209aad4a790f1decb3e82407e453ee3b65639576ff55532217d4735287e85623614010ae4b443d4effcc5b8a1483da1ae9b52a5d1164c535ee5e15642464fa3e660db3be59561cbf670ebb2ec952b0c8a44cd905dd00dde591010dfd06eb0104273c4081c0a4f2ebbce8befff38709403581081dbcf35689463510f6794ab3c18590881a8d0305aa13073f9104fcd11bbe57e20296a60b724bf71e667e3bec8e24fa75ba4fb3823f39d4dd7f01a82fb425c0669dca4a697646260f26665bd3539a22820f14272b7fd15da719ffb100708af699433c12b65b2836ae94722f677c88a87d753c6128922bd6e0588760541c9d996ed9ac5c66bcf6a2cc22e44da62f1b5125c6439c794d5baa637f8f774129c325b187265fb04444a58c205bb7cf200eb15bc747baade9b59b2f9e6fa90a0a00d08682b782449bf763e8323a3554947d083dc82063eef4cbd627bbf614f71213e700d54578fc1fec23332d28b0a835826aa2c93f70046e7d874d920f6901601d45443d727fd09421c2889a1e05f11f6c37db6202b1234ca780d15acbad791790ab0974fe0900001ddb3253f97b5b6ff0edd49058a515f0e25e8f42c201c77ccb502acd52b033e342d00df01d0140fbc84c59947e9e30d2e4d4393b4a3f20bbcb06921c387a815e1e0d345010343406500e7a2fb768d1d009c147e06f99dd719d32cf0d75cbef48997d69735bb2c8cb9b9c875de1807f1f09f81de986854924ef2e823f83a6ce00ca7efe328254d8de45082c1771e60e14a91b2c5167618980b5e2390721e65c8d2eed5d7725b9dea227f26b8c4ca48bca1b5bd4c8e58ac70835b5a287797836307054702b0936dc082f96cb5c19041cf9a2ef03860185708759c96a8112b5e1c7806c3614848e807471b93b268ea694e893c8a67e805f629f0cd30898eb4185e26e3e4a2c26e5b8d4629895c8231683b7a42b2c3169d617316ee75b4b6d5a835afa3c7f5bc9cc4fd5d2b2247f9f9872df6d5ef0c4c4726d63f6cd6a3996e158dbed9fc9844922ada33e08b62bb55e0e8a7194574a031b2ba7ab6d872f94029e5780789fc2426b77ceda27875d7fc67a9d8b9d360ccf61581bc157e08706764de1a58b902e60c7d079d3aaee074780a43762f9d4c0e4efdf1b5e0d87d8eebe4d8aac4b930617a1184638b41384653c18e21a69ca734fec6aa39c001bd1d8c58244a9ee8d022c0829728c78dbc34795cdd7a6c86fa82fab9c84059f13fb8873d5cb1c40403d25af7e857d4a0e7a5cc405586179dd6b2fb5f5c7402d1e0786d1df1488c2fc20519edf26c15e0bd1a09f830004b27231afed170719b669831ed0e1b3450f8b7f5fc01ead9b449e2ffa6c9c9b7beafbeb847199e0457339645907c695d3ab38b02c6bee94311a9fb095d6e8698401c53a81ea89cd049ca9eba36f9de863096e720329aa973ebf0b85f8fe7fa63fb4a7124723192491879469c5d8c63e73eb23e61fd9c58b23e2ec4782075b249a65e9d512e9b6aaa32ae309dda72b17dd9cb5aa3a8f4e83604b3d9eca83b7a8845c82b97886ea0b243df7559d016f47828c95f9eecccbb3045964ed01e745c5620827db1c3554bcd19bf04f6be951705095b88eaaf232b169bc27dee79b40ea690d262a57e17c2e3f82d30a0dda77a2c30e6ccea6a6838d264c0e11ff45a6b69c199d257cb2ff63dc02f1344c9be843670ff7bd381b455bc7238c7dacb67f836e9b1103d2c7def3fc8cdd0713fea3aa97ce3cb7ecae9fabee34dc3090919335bda5fd373efadbcf8084ac80efd3ddc8daa164d8855166c732aeea3c057fb522e00f77d9b2c94e68c3bc63f02e4b403ef926a2767fdb0256422947c54b0f42f5dd21dfcd335657242d645cab7530922deed95e37017b397b65015dee4df1477b72b5a9bf41c970640f22f759e029954bfd87edf136511b4de7f7d81ffd5f87d30fafa04a195d3e3558a8c4fe1cac5e57a38766e4c2f4738bf264b44711b336b856cc3eb8fb5586594440f1b3aa65f97aa021f6d3474c4a84cbad7125a6e625a23cb0c2a29df1fd9f9ed2269aa6a8eade38b9ca2a93310ed079c9403849e7565a3762cf6537198c5393c24fa41aa5e5bd1a8dcfcc38f79153402eb063bd6ca03050804c89e26408b2911eda5f36015d9310f7d6a54ec2f1ba5dca3a90c63d4189dd731b2963f91d556237ed2af5db4c7a073162d89344ca9a98ce87d3ef9d2cf104226df9036f737acac95ae82e7b273f7922d3770a3bc6112d9ecdc27360c2eb5a56c36df2c082857ff1300badeff6f8493f13abc7f141c21b8a77423dfc2de452ae2bd2ead304031b611682273c3c84ff4804f52d51fcb6a30c7e2479d6e6496207343c71be413d4b6577673040da42fd4b91a27b067b2618430eeaae788ee265673df957d50eb4a1ae81bc24d27fc4eacc2e994a1ea325d5614a69edc83cdb466aedba169383b8785d70aba8b993b0337c29e5b9e50621d84b278efc985a68a9e653ef38cf33ea044a1b8efaea2ddcf561b71e9d8629a9395e271ad46845a4866b11a23dfb0a974db46dc9bbd2882681504e24f637d14a0b88d90aabbf84a9fcf3f6045966d428e850a15ec6ba8a21456234aef380367b052a07a9b66491b763ba3d9064c8e34b40966a5176396a045f54aa7bb59052163dfb5054a3b5c6af45bb64ec5df5985a2e5cc7c3b9546bb0be478238c4a88a37bdbb6c1d1559bb11945f43b74a235f09f65a77c69d0e9e660b1b682b7a336d4f318e35443d73d16c011426c18ac85ddeaf9796d4c7f50a84780fbc4b6fcb48d1373ddd8e71105ced108d6a13ef21a325600275841985af2e204eb32df2e0174618c58c6e86bfa1f38ebc1e909f946a5ba256c226294c831899c2320b5af46582f1b25f4912a077d8c19f2fe6328d49204024b91be3a0bf07420ed943302f9edd5f0a3c643bb89f0824bc059526e674a6ef106f804356e6916e029b0d3034e351a2a3cdfd5fae8bd4064899e1878787c2a053a86eec45d3e342793548a09030f8f15e130bcce4b61b07e62e38a0c8dd3d886d3d8d6d461e2e31943a729494b571ad3a9a5df22868ad1f5d9c707551de3ad4bef3f847c23654fdc84d79a1bfe69622a480f8c1a6819dba8dc42eda949ef18da9b6342e3058323f6f907c8e8af1a525e59e6fd46232fe273f58f3aff0424cc015b082bccc325ba14394bd6a31525db5998d6aa75db6dd9aedb3a96b629fddbf779a1bcd402ce0bd701456306cd76c41cecbd727e029c7ba23c1cdc79046c69475024aed13367096d8d4c6ba462fb371d7d610666fbb091b0edd0008fbfbbda1b22b5d0a19ee385d63ff2901c2665ee6dc2f6e29e56739c8c95a33486c171ed4911792c6a119131acf0ec16f0557ec601ae771f2a4026be7154be9079df608b9bef0d1045288caee18f0b5946a78cd98b1da9de225afd30cd4e0190ebc264839aa2a5b1fc500929ce7c4a138ca486e6b50ab6986548ce1c8ca32b9e3794e444d7a436155dfb3fb7e056d139df5668cb3af9b36ebf1cb245fe4ad33411f2c1118f5bd76f7b66765516b795bea2b7e0383f30b1c7881ccecbd1629f3f9131ed8d57b1838c227d202d149581b9b06b6d3b56eeecfb8e5fc70333d82be342306188ca88dee502ff0acfa90428e69607d8a2cbd86615949369e10d7c07440745770273c95396d1fd26f2d9fe5df3a2d3c591d99d01358ec64f6e31df53d8dc7cb8048229b069cf032ab0e3593317d447e4d99ee2045d62ea3d14875d5153ac36eef7b54b199b13a848b1b0944c30fd31887da5f5dc2cb1449ade7c082ec1462cba40a13b6c8796d6e305c4b1a2d606397af8034ebb73979a95fe36382eb3508b8d993aa834c494299a271656e24b4f790227f736fd79af9b0fd51a085325107872364080e0d610cc456760b557fdf704e422c791f8372aa2ec96ec5f798607f7d37a529ff955df1f0ad9ad8c9de29a38add812857d369aac29845bef2fdfa465d6f2a8cfb382a3efce143c00f7615703b0792d1c678b3e16420359a68b79ccd19c0b021aed529bafa90d636b5c5023c32e76b6ce2b1174967f0f9fef6ef9f190ba0184cd9f202db691a1b9414a473e0c14f6b6d88e8ee8b67160ce167bb5fb24bb8a352450d77f4a71b1fadc316a6bd9578b9237bd74a616358cd42cb4a7cf0a34ef29f5af9905eaa47fc5d576dff6f50ba2af45daeac8b7d3fc3e99d667ac778f3c4d7dd87621a89cd42d9d3651cbc963329344397c02101837642833948aa687e924d3918bf7d9c6df704f55f92333dfd49367354977c22bfb5207db008f726092234abe1a808e1aaac82287ef5e34f5672a2ab17cc7d4fa76d9759bc5ba9ecf020ed7a260cfa65aa0340317a6583e82d104d8ad407a10fe7adb45e401ecadd65cd3440683559803b85fa40176a2ba8b75cd662ba2c2eb1cdb64a9416a89c97faa92d714db05e415ba0dc7e29e91d58c595ac308fe99cfab70ad50fb7b07f43de1147e1007139642e9ae7b6c389071eca712ac9c2a8d7bc218daff58ea393e616f7881327391d2cf1bddb108e49bf40b641c6d56001058dc13113b23293977ce0033df365137681c59e032b18aeb59a21fa953757c10c53611fd0260fe50aca82dc50e719ea44584f8c385ae9d556ba457dc6845b77f218911d14c8cfe2031bc14b99665058957b6ec28c64e06f39f484f204c69caf394a2433ca1ea77e885322c46f5d45d7e063393bf0614b891a5b513647aba0c73716e35559cce84ea32276c83b8ddba3a8152000f4179c8e0ea1bc599e502b8bb4b2900a54e68e130faada9f8d92cc1b04c0d9dd56cf5a9cf4d58e650e8a9f2c5a204e6d4c440e89df21c130ad93c775edec3c4539a95e47f951e989ecc52a013ea85712c33ab979fbd50745ebd0b49b94505d0ba0cb427bc15a64364eb0c4f636a2b7644ee327199ed904d95c39ba063376c34b4cb87e37c8011f57c9ee62b4df1ee1fcc7b6e3765efa6b784fe4fe5e9b69427b9f6aa4394b5518cda30ea63f0af8512c8443a6a83b39aa81c29f1675be9f8a0e1674b8547ba06c56a7874a7444c6a4ddb7bdc99e3b837ba750b635db740b403023be7d2915de5a5d822a8a342e81a08bbc22f03d70d19edb5ea4cbde62ab3a26f7123f8352fa24bfaefeebee521c5c199d9a108de3c5cdb6eb78f3ae4d89274aad610c5eb19247c4ac61e56532cf34808e9e6156b39f8a007ac48a7e76a31c7be747e599abff44d5e12062a08ebd9bb8f21a4b679a2ec6ec8421109eb00fe15141d1733318698d217c588ecf0b3b6e7b13c84f9a8763315bd2ee712ef01f792a3995de7856249bfbaf8548790c5a07df499e736c15e505ed9262d67a0a1828896fff54d1c66f781cb672cf3d33330ea5481bf8fe25a57ec6943f05dd1c0dfb081d16c80a42f56709f2fe1a53a40f4f948b9cad86cd6e33fcd45f3d306fdfa0fd0f13e1f0c2af24637a0511097fc3727014d972d2fc9948da4ad3630cb4dc172a2043985cfc53dab0d1cd94577552f9d7c68747d21f071e4012e17a30697e8684e76d078b27747eb52414deeecc2c0afc2b3fea72af3d40cfc001a1ada7a61a3efc46463ae737270d8549d1bd9685594d713e85bd9fa988abf4f890f2aa28a7f77079002b1f7a13ea146f1add0765af9c6f8e5e2f638abb38560f2b66639b80e18737fcadeb9ad748c1560b7a060f2458b0bc0ac2c568040fb511c0f180ab4ea2175774e4abbae9ec5cfe3f904f98e3c03b1267e41286d5891370ef50c1e0c1faf908a0998c6176f7d7f3dd4a2e20a0ea49f77935504439d64c489cf82c2a0aee78f827887cb98a1d632748bbfa8e929f86129e2731ad1b3a07db249ce740f7dd4a5b413ecafb4c06580b6472c7b2c6ca1b9530fcb959aaa27760a42b945d4cbfa54e2e16440186acdf8bf7e9096e4329b4a969e16b1fc29628b7299e364ad1d783250ec9fadf166e684c4b4895fe11dccd5683f78f876eb08c1c8164dac2ff0c3a1e3c605418774c0378a39e86474775e8e7dfa1ae6adcfbbec49002f28ddc7b7f4a40ba5e3cd297d173dcdf47ff7ba0e466135d5a74a52046b5b84dc9b483296bd8d5307363ed2c94830bc983d14fa294f7bc10c44fbfc1f1ef53dac2cc02abe2e2aa2c57529e1c17fd2a8d55366c2eb6a924509495d9799ba9ea718fb72f574416ed89ef95ab1ea33c1c7a44984db5bddcfac4be342e40440afb20b079a33dec692dbded2aaa060f3627c884afd623ec2f61d5f3eae403f810f111c6e0b5db89bc918c8e7f2320391d194046ba7c55b74f7ea5aae39f8df8a565be77d0702b6ce20e09847eca88236ecc99863cddf3c1f0754acee6278a789751271b42816a04166df29a457720626b98c92caff45f4a4664cf4790b5a869cccd717394430ac01ae26252572c4bb60d940f02abb8368fadfde12b36ae894c467e8ab847ca75f064be65761485f7bdaad14910de578713593641d97bccc9ddbdc905b1762376f992dbbdd018ecbe4b6e9388e7e701dcdc1a0638a604af1e389d2e8eb81677fbf7096cfc1ca1433c5c7c6c7aaf20514bb85336dc0852f0ff168b83942164d046f4c1add2b8f9d506638eac6c923d041bb329a0fcffba48565bd6cbdde07b4f28151062ecedcc30b5a57a15f4fb10dac57037d60cce16225ed77de1a223d614abd00f76c4ddcc8153ea41fa1cf5efe1bd72aecbc026513b9bc4b825e8c64613e69f90047c2c7908793353760e1f1bd69df87836629aebcb788a89b93844ec46be0c96898cdcd2bc91232a4717ef34007ca188e95dc12ea81d6df94c8c255d2cac447341a34e1d89d8c96a97064b872ce17b1fc26c8c6066244c8b234d2bfe7d6b4692b08d3f7b51bbf54b3cf4f7530cb84783aeadf85091d27d240bda41d64deb316afe843913473d9bb3be71bbef01aa368fb215fe94319b04d71de6bee719209b630a4f07d3c2a109f51d527226c34d6808958f888d74d31f6977b33ceb8943a1db925d95e8779b82bb09719b7138cb3c715deb297f2802819e7424e870530c778749e622f5dab6f7fc21b22afd0a1ebf327c87ca35337619a7af81acdf68b6820cb4ceade8025d3d5659009dc5677e91d72aee86cd15e609b0e0e0287ee76966c6a034118e27518ef8067e786326550ff3f46867af5b98e2d9bd584e03f5343e4611fa5a9738252fb0f446ac7d86953b2794ebdf64daf25525e540b9b06dbe909bba5e1ae7b0e0c99c2be0dc75506df66d7adfb8ac85af200fd51ffdf2b533436712acc57f1c11f1ad2d25acdfb2b82a14ad3ac7ac0562fe5f37c58e073a43d89ec192f42e3b7e09e403f998e3c1ef0b825f3245f8d5372cb3da09c0432de2d31056519624a89cca7cf42194d921f8ed677db7fd11b8f618e5f88263718fc4413656e48664de794f6adafb2a4036140c61722b729557a830cc9c61825de5baeaeeb60249a47aa78fc16799d9a3c0174e6ca5e05a80895fdfb8e2b0b6c209d796adce8a4da38042986803891e3c0cbc61e578d15e42ec420d8623cecfbc56ded062390a5316c9f18586c038a8ebe67e7cdc0b71cece600ae220011fdac64ab9d24484eca3f3e1f96fc339c66a9794eae04ef2b6319dc816d0cdcb0d036494e590694d4aea9c442a62f4e1e67aa68500db86e12be071165681a0e28600090988909abe11c61e04d82ebef4349e3e59891a242f968103ad28f9b2020c137212de502381143531feb12ee03b50d4401cb3a633e196d75c5c63715ebc8a3f45be5f4d3280f9428a04ddafbc3615f493667d9159e902db3dc60f58a512ce52f9d01d4f26fade7a8edbb7cf36076b3945ee6bd2fdc7a79b1d21c50aa23242e6dc353d1165896b7a929889531959edfa4c9cfbde04f41802df5eb5f48422813facc5321006d447e9fabc3139f4ee6dd7db000e509db1ec48304a861c97f3d32853fe5ab01da59c1dc5591a06d8a4a54e968ae7d762c9ae88c4309bcb2fcd244c244bd6850f94cc799004a06b202a42c7ac4536ac49c7d74ad4fbac4c37b63f869b3d1b59a8b58fe9a31ba608d612f1885b30a458b058e07ee03aeae15d239ebae2c70685727927e068e98edac243ad3ba9c8ece075d84dceb2a044f6f404a03fcab31f15fa7f0b2e286ac881168dda13338d904fb11b7a2d522b16d2caf59a2fc8e527168704a3d0a95bdf6d519e73a75cc3490af1dea6ea02f9fbf4d8eefffe3bd52eadee1fb714076f882e7e77ca904ab43f37a4364d5f3397fd5a0a1e04b7d543ae7ffa30d57465886345eb32bd9d715b616d53aeba02f7654208b0e9d6467321fdcf4eaf46507841c8bef6f2a4a83faa6d213d9297967945e651dcc18645e1bb1d4a76cdeb1598ce7eaebe0c41d75f2dd6f3cbd7f6f4c8794e666447ae72b3497fffdd92b1fa82c0a2436091d7b4eb845a98690c9c7ce0675a69e0495a0b7d9a4b1d44173ab5fef3fb225f0e94e95190fa96ee235f83d59587ae66781341f85407e68c07a6e15d69efb3d8fb4089e33ed12907b55bb6b1fce7e0bc918ca4e79b489a180574d52fb754648ae1c732fbf01710c0c3335277bca6a0831d649c9ec38192c1f3171939de2589ff6b9f4c8c1a70f1bd7c0a671c9c70a4e107af518c1dd710e7130400ca4e67fd2bb567caa69f87eb6b7ccea319697a8a4bd02a7d8148856b93fc48a35bf55080f220c5f56e70ffe58e1fa2ff898656eb48f165fea8306b83d1afef8a271b3f5fba385da549ce49071618fcd5f113a2046c7272fe472dd2e3c93dcca29c83cc5e7b42424732b86adeb60794e2c6879afdb922dc96ab7c12928e19affd558c40a1a3c46224572ce52a4f61ca3e028515b1e6154e0eed38faaf6b473f09f68729665e48ae2a0309497b164cc6f28852bd08f967b5073bffc56f2a5e0029dc970f4bd10b283e0546a775b7c6602e852a7574dccb641ede403d979322ba34467ed4b6e0962236ec7b76f8ba138400ce36550a122614e842f3fd0425ae377e4fc093f383db91b70402196cfea50a76848e7cd49fe1c792c95eb184ab30ae202867e8060f11745cfe03f092e635fb564d14383c4b4ce69510a5e2881f542240ddf1130944f0a32bbe540c4dceeb084505a0e6f28383adacb8089d18861f45f13ca7f8bd605fd929516d9b921df603b236f39361b4957a25ba858a9466443922e330b47424b5f756a3991ab3a0d2da8bb4afca3a8a422c6fb72c73a0d71e93c556fd5348f924eaa41065c8d8fbdd5d51e2294d1c9aef7103e4e7e622736e77d228042fac2bc02264572fced43331d5a3acac6cd0f9a0bddaaf5c10a748b27f1cb97c122d37711a403ef74d99bac12f8149a57a2fc6f499f9778f0fdada39dc044539b3452806ad53b072e88844513766a8ffdfddfd8df171b1f10695300ad1a383bc894f2481a3299e6ac38e9c41561c99590ea940283fa17d00498d113073872a7c057723dfecc64eda5a5e5c7a5c50006dd1219f95617876897ace2273e5de3a475a31164e64e22058b1639bc12a02e7c288669f59ba82e213df385fe818e2d353618b9420f7cdf6e4869e10d799066b369f1efe2f1a6ff0771306d010cb4ec329cf3e5fc60aecce1d7e4dcce404ce1fcee153faa0c8bb6355ce9f19473eacef8e0548a71752809d0f5a5f8f388d7703e8efc1104e2f5631144ba54d3533e65d544c5f598d22f3ef1893034225268fa161cb41045b44189a00f7f118c8b3937d10333e8f7fbba60dd6e3ae1dd7d8895d0ef2e1cf9838844e6d253d34a9cc941aeb0a75cee2775c3fd44e0dd87d1f619b09f9c64fd5f38b9c50561d175cd8717b2cd859914e37460555b4af19696b8105a4bf463b15c7119d9717a7273c2c3a90b07e81ee1a485b418489e984eb3f5b8fe1421b360214be527e1fb13aff86116661b13a348924cbede281bdb247987bd8adff75dd05fe1cac2491c8f5f53ac9ef9201471119bb100fd58c51e2474e823bccd823d15d9ab964edc4d4d48e3265b36744738d5a3d407e92bdb0bbbfb8ea69a6312002c8eb7e7d6e6a8ff97c76343511b8827d8fe571081bda287d21f16909b5c86da390d7ce4fc197c2eb4f3a4e89ab00d9b1e741f47ad9a5d8f0b47d82f881d3c74820e9803fc78bb265c3e9bd8e6f44604b22e06e52067542d596ec70664572f755184aabc44a814d3b3f040b69203f066033b41e976125f01000e3b768cab2cb0db992ef8ccc04363111d769640d653f23825a8573cf990c1aeafc36d3854e31f476d835f3d6d1120dda746d376422de018d438d41d79415dfa13b9634ef59edc0ba4b9a49966429068b924ef0ca622707e0c30a839bb8fff5750d4659fb302d87a486974923d670718ac96628fcf2ec899427722fcf634e954b66d473caa644ab753ddaa88cdc93bde1138f30beb5913ced23cd30240055f349013a9b33c9be463348d221a398ac3a4722c4293a653e119675c3341c6105ccab36598afe7051ecb8bd12dbc4f3c839aaa5149712aa80db221292ce4a05c35f101826c978d7ac31b4687a2d5f422951782681a0354c512e39766eef8a5c53ce42dd59577a07549f4f5f8fb0a659ef2ebd508d9824b767783a469fd1cce34b75985767d09bee9e7a594444e610b953b26b9f9e6d3299493892823f66253cb9f393103bb34c552efe5aaa530e3cc538cda77395dfbc6139f5d7a4c1f048b997a5b6fb26740197a25817db138222e40e6a05c5e588fd96333870698bb2b29df054cbb68f80cb47d77c0b4ca95adad11834b1a795f37e25ced5f91c87f39850eb5c1fc3ce877d5b0f0ae260d2c46767c5b82530bfe11a936a7076c810f3ad6fc86f84b46bc383c9020f9836a1ce6caf5ec3a9f2994cbcb203f3879c04634b8a12ad0faa6564378c8efc2e5a46648ae25b6bc410b1b193e01fe4d43fb1b1e90ddf56c7678642642a7c3317e217acabc9782ae2430eacda8694d371871fc6cbe2252cd3bb03105f7c1c40fe26ae19135dadf0e123c174f8e6c731fdae7bcc9c201766ca6eb485a375c9452de71b9c1ea9ca5c51644b13415f536c58460bc325bc8e84a2cb99437567783b066335d0dcf0ff6b70b55f208a11178a2013805be788f8666b9a3391d7392c9598dcff10c802abf3daa329ef1dfc54319f5333e92c134ca1ea459739b01847a0830e8c12e967d42bbb69a249e3bf849bdd2b42e4cfe6f656cb2f1134112a0ae3db7cc4598133e02701807fc2472546322518d78a7a050503b8bc96be3d715114f1ec2d5e32e1e11a52d5799e484bceabac1b0cf9190f55a9c08bf89b9aca39de3fae74d23c43a88981495863fd6ea48afe145a19399c00b777610fd7102552dbbd8fe8e26c4912d1f383e116c7bcdd233076aafac63a871df4702f9af7d65a1535cd28285aa361ea60686751793075d4d620c857ae18232c1a7267acfcb3915981822f6d940bf3ca3ac90ae1b05bf9deee39692b40ab2a2726c53b91a1d41ddb238cd07b520acb71e55b5c9f888828d93b592a0f59f6606eba543c47ce128cef7153082ea203b1a740a7e9a3e2c8a25e2e00cd3e6c9e9c6ae6335824ec412438e075cb5b4d0b1b7a854a1bc212dfc04db269336a9c20331e79fdc45c3b4cbc90cff7e172605413ffe153ef762898e16f4726879a5c5b9c5bfc117527c2e5e29ec8652c8da760a7021b338025703340be30c000e9f1cde0013c4d055955bba5d1c340da62458d4bdedf8698c2c681814e007078997ddebe2c463d463f63dc34d043d992e93ccf201c2d59f7619ccdb7b4d3085e528be1f793eb6773af5716c9969417537fe300195a19e664f282268fc7915d8686e1f97d38853a54223ed7e635e93ea06091e015fd361ee608b62ba8ec8d2c55ce9a93cb5bb7413a28c0191f1305f87cf96ed335bd64142785a9da2d15cf1d191144844c84beca5d25f478716268f086137845f9f1482fc35ca2408d5fe080feff89e0d9ae49789ed282db78aa92ac1f3f8f16786f744d1395fb2ba4f243ba342468d8219831b7d64c7cf04aee31f7c9682bb53600670a305ff1d0a4f67770ebc4edfa3bb2724a6d214afcac8d0707d19c1295b541412ab8c01c85d3988920800fc60d923b7ae64b00f168bfe9c6002439104e1c1cdca444dee2ebd92ab55f4dc75d6950e2b1272281e0250b56f75eefd5b5d9d854372cca3ac410a28977a0e21edd1b8bb8de0b6b1bb77626656770519a193e2dde787e4e113fca129e5576ac951d71ab474bffa1552ce8dd42baa086a006ca1e51af75960bb2108e2c7478a1ddd641277390d029743e0108c932e5af95aceba06ac5f326939385723e1e541e3241a432c4fb40b2ef717814acf506f818e6e32a06ce14a618c95299f0f14a61f2b8ec048d0fa3402ad42cb6e89e6fedc71eb72d4f4056697a80ec1117fb108800a177a4af1b7e30f4d9c162bbfa2ea12c7e378c47e2b66e1012f4856f70498ec91ac2cbea12ae23f2f4275034fb7bebd4921e9c335de1d6ce88ffdedd99ca2bc670c1aba68cc158fb48fe73f89566f5815b32214d007212d4e2b0cc29dc1a80fe7fceadf2e5fe9ca1c9010e0cc70a1162f0b6d8ed10559738a222d2b7fe0988f86a31ae5590c8f88c215879b30099ddbe50906269e4aa317bc5b33f77dae8b781aa8d7c38aaaf8c938f21fea6e6e8c3314bdbfc7f28d70952193be210c96c3e7e06d143bbf3e1746e458c2adedd9e85911e73232e963ba640007a5f5a217cb908c9adea14b56387c8ba26f48bc5f9041dced92669b5e525474226c868068a8eddf3502e15720982fe8421312a154b4765da5ebb243f2a02242da369633cbb46661ace11ccf3a69b7e59a0734f9ee3cedfa425bcbc9bd871430ff0bd4ad2bc9ccbf8760d386f66abe8f1be9b7958bbc1b020f1de408b869c8cd091ede9e659b20828b443f04c3ce785a26c464071abacdd55ce9f0e1b1fe5b62cc62689f3bfeeaa85e08493504cbaa5f705edc79821b9136afbb376ebf8f06c7aa6ad18340e35e2f90b967a80ec082c1294697101f146ae6b929f88e76566537ff11b721b04e8fa35d7598cd1e80c18b3af66c8fb4073c980b9c51756bf418aadddd936482ab55a139af3d86e9ed0b8be4808ff91c6a3be6bde5b2e112a8efe0d3e2c25d1b9a3ddfc3ca4a2272bd81a56cc44aa209f59e8157c737cb4f3788360d3577ff0aeb3e5d542592823da628744bebce28a65d87f196897291862dcc4f671fe1558834b70dd337baca70c007b2c26cdce1da2ab72565c37be62667de06d864ecfae29dcde2862f841b67a0ae1d1a49cbdfe4058bb0fac15b1c9a1ff74aa16036fee892cb79ec228974b98e798657ba5ccb27c88bacfc7ed37d00586e1a45e5e21dc3fe59e92b601b7505f9e50868e4c59e787e0e48ea56089d854e31ad789888b375969df9034e604c00e0bccdc465cb4d518d6827585999ff9f633436c63327ce3897ba10400c898b982525c913f66f0985d4c84dc91fce23609406f7a54ac3431b54604fb95df793842043a5f142511f4cf033c0593410ebec1f02cd2c1eaee8d41c7eb4e16aeb3739345c52357d86a4728ae76fe2263774465cd838caefe9ef126a1bd05081a266181e6987beb8d5914030d6e44ae8186f6b68eaf14ffdfd42fc145ce07a7084bf5ab7f0bc4c97aef8f258c3c08ac05a74ec897646b70fcc86ebe0323a99cda79c0bb9ea9795851cba702e3407c6acddff177451b8883e50abc27068255a71fe6de6923039b47903582e07517d07bcc7c32c25bd82822929d589f816fec2e401f38f3c9df72ba8e489f7d28939af44b1fd5d0513a7b0e9d4e360d00513c1661415283aee7db3c43839f2c4a667541a0ec559b78041d0c96b541523e3ea0c194233855061a96d62bcfcbf911d3c1885e2915b540c12723215b5e8aa2a45723e151ebc040ca1c33402816fd39c3e3f1f1bdbf8fe556242c3b3e1bb1ac8cd6ea5b91fa02425063e2930422760c54efc52201711f447f59d3bf8f86facb0402b4e0ca7b33c993e864b89922ddb027828021b05f0c12e56418620bd4f91c472896da9f24b75c000f08088f2aa11bf490d3c5a233a220cba5854b8d73e54fafad8ed1f4aaea54eb16b5914847e0912f1439255177e2cd7bf28043dd30d153b93010200117bc551d6c79cbdc9fabb4a4e36b2eaa1dc56394b0ca8fa65a6c1198b0251722b464a46b157fb99d5856a6b60c542d3daa5c1a0f2fe8f3da3b34d9331163edcb8d087de9729113e202de85853829609cc39ab8925508d5966d6e986ec2f40b0124043a75674b83196ee635d49d0ed2c5ddf49bda718035fe8eb426cbd81c610e080dcb137f4c3e0c7c926aceaa28baef2dd69f0c91e9fe8aa0b3e97d56998dc0da5d68fc1a4a2f5defa4435ee54328594e6fbda4bbb9a86b3db584abec9e44a4397dc514e21e5f926272b11aa728b328594e79b9cac44e8ca3d8a94a49c0f7d058b2e16974c9b6e604544dca9740a295dff8ddec4d38729a64605c6a37b0d17b81a3ff4e5875d7fbb6c0674cd47842a7cfe186227525ef21f5086208e623cc9bb576b71d278b36224bffab5e37386228b7be85fbae24cf5386825e10ddd9fa7903f60741caca901472e7cd6b1a8d917a99d2cf351b1e8f828ec48d024451f49df6263e53fae70655643e7b6bea58960587dee258309704d1179f04e2a9bc783ebf2336ec0863c3013835bf1e6e0f339a2900fda6a38c7cf28ffc99d8ec233b2d7142a5d41c93375014e732059f8f04363e9916ff4821b3ad2782dcd503662aabd80f7bd2d5deb5ec1be940ca2c94361565aff1be375dff065e10846635c5dc80aa8099084a83c679c0023715f18c253e9d0b9d25007d083856ea49f153e422b9eccf1c4ab5e2e22f56c6881f83410d44f035a0446695a201816a903fac923beb933be6de6074e9acad164c7f402437b8fceb516e901124375faa01747bd134d01916190609676bc1106000400a2ab23abb077d394d7600bdf71ae2cbc80b53941d03688f90af9dc6def2db7945226990272067906870619062ec8622563e583cc5aedc2a8b2a2a83ef094a04d72042273501e5910558a0ea3e870ee542a62907d945ce8c0a7b2e6aafa4c2393355795355723e59123e5d1a20bcc628d2c168bc562ddabb90040835a2b90203b49727e585519905b9adfbfac99c7e94ba530fcbc696864ff1f9ac6f36582c596fd0e4008d15e4472c1144a0385a0946ce0c77cfb3fa612258690ca13ecc07c220523a96cc11f6a7ed0e98525e01e3ac68138d1038844fbea21513d4a03852891af0487ef6eb8a92cc12199b3020361c96432990c084ca973c16ace178f52a9f47d1dd3315eebd7345e0f32b711582cf1e80953c306136c79bd5eaf170f4a776e4fadd556d7cde9743a9d4e7d3a49b1dde9d434d3a224e82f59732afb57a00412045dd00de591b5524afb54c6c64024d78c9160dc301baeaf5d2e97cbe5bad1341998922bf4e4de9b322283f5b8cfc1645007925d1003d37b6aa04d7836cdec9e486ba155b2991ce83deb3d88f31eb403f71db803e83db074614078dfa97ce8adbd302094e0845ee581e8defbd0abbcbfe378df49ef45823a78dffd0e1ed8813ba8803e409b1e42c0a06f94cd0d68d4a88e035d3b41a0517bddcb0de8733c1004e6742007b2b4cb0c9c80ec2f8637b208fa031df29038fc4bd024ff4e40100df359754c0e37360db3a5bea5d2f50b83c160b01edbd6313738d7559ef4a8d30529643f2e45a6fce0e1cf918f1f2e41f4cc09ff61b4ecb66de5fffb4fd39547743705511c36b91981c5f6b13e369a26c302da944a2adba6bbeb1b4d5f33d91cf2fb6b1df6fb5f64ed8b30e4b6a01843eed7babb47600e1e8eb87d6c6a5d6963776bade153b7a41644df7a37c86c77f4b0c2de7103fe1ee407901f34d039705453fb96fb62c72e88310f0f79105181c58e75a2bf08dad4ed63031ee80ff4cc7c4944f62ec3be17137bb64204d7e1e35e6f8896df3435aa492b4df2d77230184d622b14e80a018b1d13e24bb4f0040af43ea6290c6fec5d84c0f2350e05929b1cb77901c627f470dbf40c012c5c1190201210a87a5407be48ffbef1d075c1cb6204fbf75e1f3fa0b01060670b27fcb864912273e5843132945516a5266f7e78e0f88ca4fdc47b00ceb4639a0e27c96fe24fee8529c99c78424358db320cfda5015e0e3bc6b1dfebddf9007b16c3976fbf7d72ff64cd6a5a6b535a29adb452da9f5bc74d6ecea9fd76ab0a1770fe407e6f0f324b790a9980451cfa00cf077061f6f0260cc3300c652a50b0583b3e4e8e8c3a3d3fad252cd6e974f2d334bd0b0fb0dca9d5d3c1519225fb9e6cb0be1c0ba061408e6b8b1e393018ed31052989c03a758c3f6b64b1582c16ab1ba3fa4eb7efb45c4f92f81c199df03099d6823aee6a1694298cbf4febc8c062f51d19935d09dae0d0a6edeb941b782b287617b7491314db8b547f91cab3bb76aded3230d9a583de6a5cd7954a5c186eff1794d509aa4d41554af628d9bf050c2c4a286db373f1f73b4d76766e10c15e5da12b7437ed3925c8bbd654dda256e9df37eba49d942351bb0f8a3ad4cc2cfbfbc1f4bb01a6ffd5cfda3b05b5a1eeee779a706892ffcb4564044fef3b861bbf56db84103cb5d69a4aa564ea5e8cbf0f5df3ea779a1cc569dc48a2bad10b0ec781392e499250019523c44302a5a4be1099441150dc0fe15ea454c90791be6893bbc2d8419b7a340d57bf22f474edf4f8f3e8e0a80e64916149e45b0227718be86112b218e9992689da8164fb0780b2c7b9cc12034cab45c281154cf950162360ff9a54ede9e9e94969be8244ba6e78a48ee001a7082c4abda9dc566d8dafc4644ef3042a0353a031ee171ce4dfef2c7a19278a8bdb3a4dd346ec2396997a3b7c8880dcc017f9f65463061a089a51c055ae38c1f345191957c39c0858fc320ff08dcbe572b96eac8529bde06a576ba90116672bbbcf88f348f6f76f1d99abd57ca249fe5564bfe26a579bad55cf6a9a5c3db5ca1ec9a4fafd412a9552f13039a2556467c94ac7a6521d624a296e1affd1349ecbd44c754cfcc010f173ddde7eb574da39ff86ce13d46a1d5d9fa1a60dccc149fe30ecd947d6d03354005030409b6c26068a9023fb773618681f28b6051d2ad161901734c97f0b0da5d545704245f2fc00e223553f654b32211ba4acb5f46d8d1be0cfe2ade2e765ce0a0f67d0dd73ce29042cdedcdf758fd2fe3ec7e89eddd3eb29a5d6d7ebf59252b618f885295ae15a33724f0a6d2623a0b76d6545241a8db27892af53962f0220d11edafb92ba647f397221922588e49b26e94593fcbf90615841beaab5320e8c31b69f275832aea203a03cc24f0894ae99ab1be2722967aed9cc35a4698690fd81e81cd2350212c81ca08ef5b2c8cc359bb9bc90e6236633bd7d6665b8ca8384b6207380a6cce477d23d97b39d996be6da99cd76546633951d2fa4a2329ba9a8843c5037a21d539239e958898e749a0682028bf2557d86ce2d36a78d8571b5582c269d890d14652c8c582c16eb989876da90d0d3a941ad4e010a7296b2ae3812b3d2130c10543c4c8e6815d959b2d2b1a9d4bdf2e2bea0ecef3244ae5282d6caae1580b5970e90afbd8f2b53d394adadb55e4befccd6c3019bfe7fcea969778464b3c17d4cd348ef0d1ac01ada54f35cf818a0661c6f0d173ea9542aa569b624935ab142e53d4ddc088fb79c89b3fcc82c489069f27b31fe2ff9ce94ee517e98589a456f69de0a522a85e1f789868045e9726de1055fea835e74003d077aeec5fbae0616b867f739c14028c1d9be7b20ee730fc4f6dd8b9267d65a6bb559f456102094d80782fbfb4074bfbd4a0aaea11e6419f9e54507eeef5b10a7fb2242707f5f882c554e6051f2dc518e129cfb1b9873c1fb72b3bd041ab543f57090ff82437d5b7f48debc1d3e54f00587aa7d962995749c4e548c36683539071b1ffb355b10e7c6c5038f578589fe8243cdf56baea00f0fdd53b12252f503909665dc4593fc7978a4abce66b3994a652d4cc97a8b162e4a4ff7fd4ed3fffdebffb53e3d9d4ea7d3a9560d08f6adfdf00646867652b26fdb659a46241bfebf11f07f7efbffffaf69214c496647c382e3b8e61ac435a874c107c5ff40d014f09d241f2f5e2f91cffd19cdbec4b1bd6405d9b69937fb15ac12f24033c0957b31c62ae0686a548fcb759d87270f6b6c0061f17add3041d65a798ad234f4b7df46a7918d87cef9d8b034d5d69fafce81463e71a069eaab630840228956360f025b70bb2f2ccaa27cc96aad13b3e79413d6e385eca1b7481c2ee5103c28828b274aa0eae95e1806fc00fedddd18f0d087051a878ce6022f7881c5d3fd6beb87803e9d7c527aaf70efbd2cd618d6efaf608bbc918de478112d258ca0842460892ba8408d64113f80b748edde7bef544d924b228dc35f06d1927d46124e44e18217f44c137d9ad788e89dc06aa59193112c46963d19b946aed0a28bd3ddb61b9ccd434a28a5d44585e773327aeb0a464a6b3af7be2758fbcb35a5d206b7b9e95ed650307c0f83c0f3251dc7711c6b6a8519ab5fd6bdf7de2cc6d3add77fd6ec7f41d0de12895024c64bc750e346e3946ac0399d28a5d34a2264101dfa9038fca511582821dbe1a1070f59570f692fbb40b64dc6448ac5daf1717264d4e9f9692d992c96df9b6baded1784032cf66c4a56c748264e5a8235b246d6c81a59236b648dac91d523652663fd1c278bc5627163adb5ced96dadb5d65ae959cc4d8a718924525838010abaf21fa9d3c3439bf3c1f9eb428b2b8034a98a6f8a1685e124dd8bb1ab65f5de4b297d176986339ca00ff06a86ae56abd56a954547296dda75e4d93d47228132c50c25649b82044a89fc7e512ba0518d1261d0d128310697eebeb53ed1dd543685c27a9c4ea7d3e9eb6826d25a682bccd3e964ddbbc1450ac6d97b8cb8a585e2fb6052b07c8f423c99be292e854a0a83c160b56e33d85863032427071b602dc555c79aeffbe4374d8d29a555368dc8a5a9c6f7792f1c950c820a7e631dc7711c6b604a5705d29360fcfc1c71af8f7befbd2ddb06622cf64cf376685c6c5786d0ff1351d8087d1fa532b244616e18561bb89a5107773a596b7b8673e3e272e082bb77db4a32271d2a36b0d6b66ddcf77edf7f18964a41a05a4a593df9d2a76992d042c60009d20543902a904070c9026b789a64a9d4c273933c8d8423b870024ac824e30a14f74974cc7b37ac5cb83b66569be9d33ed66af665b67f2de8e3077e1b2d783e3076775c9291858cb89ad55d593b3e4e8ee8d49efa535b7589f6a78ef125f25dc4c0da8ba78d033d9c04cbf15e8cbf8ff284a2247c654dd3bd5fc8437978b49d49f2dfc1f87b6d675559f22b0cda0484b5d334b3c2a6a9fbaf8aae533c91bdbe6a4cd3f190477b82351d0f7d6b42d5f1d0eb121d53593e58669621e8ffbb9f4e276d44574ec042e046693a2c6f0558d474b431fb6f4e56ab69aa3b93e4cffab07ff599ad9decac2595255282258f873a766aab89ac4b54167e10e8d434dacf2456a79506ced5137863f1b0785e5b12464dc7675e7090afbd0682a019e02195f504161d76c3cb43677981c7b90549f237c10954e0025814b2385759c8fe120b4d6329139ae40f46f6d7aa80c7f8ca188938620ad9294f93fce511563fc5f744eda10ca31b44f08c1f7dcb772e376eacbc68e5452b2b4e7af493e7832b2fac8cbebd95117ed10a7e11c63e334634b78ce8788308c6cff233bea3e1ed98f1dd8c116e5179115679918a0a93ce2ba3ce2c31a8b4a8a8b0845ea4127a5128c4834734cf1851008c6e10c1a167c1213c9af1ed8566782f0a792ff2bc232b307833bc956fcf5b01bdc803bd0804d28c4734ab8c6c8c6e10c1a095102834c2df1e08772f02752feaba23545e3adca9883aee45348746b4c6e80611ccbdf7a0ef5440202eb4bd88db5eb4819e680b79dfdee6dd176df7451934a2b01b44f07dcfdbc15d90f6a2abbd48d39e742e1a48d3449a881bd1bc8d5e186d7fbfebaee5ea8b6c7d51addb88f376b457379bce1514790e684af31dd1ac8d4ade0e39238df024c180840c8cec88322f3302d346b52af0b2030d1f7e488345e558ed6e5c07f2422a786506cb4bb0e5e50fc94aead77815eb1338ca10988262a98565c60a560979a08edbae5647378987b7e5a10cf37fe610090e6bac54caf7893bc5ade25e715b1de31fbbad985df90c8dc562b158ac56186e1b3283e320d2596bdbb60ffa56a507997db81ae8181ffde8180e34c97f4a63a1638cc03ec86c83cd276a53fefaeb0face918971960b16356d3789868251c414629b5d4c260372ed74dbbcba6c1e1c1c3049ac65f87cee14d6408ba2cb62b877d7787e23f4efce5611399c3b5f02d3ac67f10fa4d0eb0f672c17842e7b0509a2656036405d6fe8e2ee80a4cedc807b9922be831877908058c27340ef76142f49e2c854eda4994c80aacbd286198a5660a72d1c11674d334be6d96ca30cbb01e0ef55f462fe4ef07550932c86c8512836920ccdb81031bdce13449b9bd1d25af12d63126975fc0a40a265530a982a9605205f3d48fcb07564493fc93b84ba854150683c1344d268429b94b117d3bf7f9d5cb214bb0d625dd3d7bfe9c9352f97211a345655ac82e5ad26716c9220ca528a0b433d12b362cbdb76d0b71f762fc7d73be5e331cc3681a4ae9f705f6827691e9ac7bb9fd7d9ced2f98a3847ecefd0d0471b8efc09c6da43ed46792dc4d3eb989879b8f5c74d4c09e7792a6a4f413551950ea33a67c777f057bf6cf3969cb30b350a132097dbd7854b144d36cd9ffb6eca2a516df146d644569b480d2162ccb1f92722a577445a9b596cad4f6dbf378bd569da715f8feb66def620596bfe517f2e6e17053d99e5ea7d7e945a9a6d55ab56947f6b71112eea58903256b92aaf67524336a134501059e9afc0a6480873663c7a8827c1fe4481af190a5e3618d25f857a7d3e9b4d2057ed5da22053b361de9487de88f37a194d2d9d67643c0f4d226a09eaf113b51abbd46550c24c91f8a5b039c83ec3df8090415134d339f12d124ff14dc16e0263e24522c59417e35a98cd3b717e06b0674ac32a0e3376a20f6c570ccc739d2918e74a4231d29b5a34786f3509f273d4d68ab95f271aff34975308f06b2f1940dc6d84507d3c862fbfcc501163f02570a196f47a96774ef0db07823706d804507146052f0c7fc0dfc68283f2678c10e34944c411b1f15587a9f16462f14ec41661a190143e03ff5d83076ad24ee2ddf4942795a5338e21af9f11e28378a942919063d603058ab455bad56abd582711ebc032bb35626673b49e414d6ea48eade0e67a934effdff89f2954a61383f97042f8b49b6b49e99df33d4da0ec8f4a43fe7f3b54a36c9be225eee0d5c83017c3e2bb0cfbd51240e079b7c51ec3706165be644d0910711c58828332821933b32e9533f5b92c9785c902d2886d9bf276011ab549f4c66653299cc358d8509a9d3a5d2a9c70f1d32ed6a283df6cf2cb94b1e6051a652a914b60207f1f08709c4c31b601b0f33e76cd960e9e652f6f9f762fc954a94ee6c4934edc32e3a7886bc3a985a4dd334cd45077ffe558145e9f2fea2641027d233128b0efd7dd6a463fc3d2ff204fc6d810528d9b378430e68277903167c71801c9224cbef3c4d3c662f3a74bffdcb7d1cd0733c9ac6da970b6eb35fb8e52e1185f12a955c2e2e5e6e32ced4a44beeb866ea4c0ca29042642a466da68d338bdf476b287108601422256dfce7e1675f73a25dd7089ae4ff0ae2d2709e48c9d2e5baf74673969dcedad2586bfdac10b0288b681a09832c9778504afa5d5a92204e8d7f372a17ab45850d602a001572b4e9a62473fcf03789ddcd0fdb2e1be56be2051dba74429a200a8f12a278a9643d3f0401a292a9ac949a56925141c247172a58c999b79678919d29ce4ae22a377267b3eb0a75d8755daeeb72699a9351177afd14e1083fb80b21e1775a3019740e0f49d3741e288b00839e915db876ba54bbb7d4318169070281bc1dd47a52b0b433ec401bc8f9e039ceec2fff8d5e70be1aa2d10b8e0886aec6c865a3171c1b5fe36d802e7be1bec6db7818462f00001d06f0857b1be0644d12c95f38500747bdfc0b3855e05cb158018bf435d6148551283ed3512f9a66c6fb5324c81c2fbc3f7dd2349caffc26c1df6eaaab49ea1c3589c4e18f1fe4ed7071717917305c19799659bae71934ba200f3db33c68d4f2dc88064f1299a3fee055929167995fa0316a195d19ca6719816428bff278ef5f7f425ee5f12a4fa8feacb0b45c965538b1c78ec581dd31db57bf5178e443cd22a52ffb2a2fb18a388b468d92a3fadf147f48d6ccf3ed88b3822261bb9c66c7eedaed6ed77ad6ec76e738b388b97c7e26169d83be248eb169baa7e981ccc1bdff8c4d184c86ee3064f9e2e4c2fdd23cca9795384497a178e51c6b963fc739ca39ced1da1217babb769d05a960c078745d773d0fa99547cd5c026e0f87487129fff2d02c8f697a1d578acc876421bb2c0244e7f841e2f0efb8ed3e4c7a7e79fc2073d4481c8e5b4a901aae7b292508d471db1dd18ea1114577d3a63032cc1e66ae73d63a85ecee5a8378bdb9b6abe60b4c9213c9f6de3798415a74c1d504b17683298dda181d8f6dfcc1b05b27f8003421f8649a86fefc4ae9bb57e568e6f96e79342aa428a59606994166b320419c8a56e024c834758faf7c3d7ddbcd20332fa363fc432dc062cfcac839e20f19ca689a76f235413ac6df0637491d27f9087af63dfb9e7dcfbe67dfb3cfb3cf3d7b027b79f83f9bcd66a594758c82ae7bc0524a942c516e33c73ad63afac8a6fcc49ac0a4b8ec0c4df2ef9f41c68702410a4d63bf067fdf7f18964ae38f548a04fdafc0cabdc51554331a2ddc5b582196c593183cd90aafdc5bc89c64518691e5e8ba208e4613b86e72945a931a2d65f54a3d19639a65929d8ad1d5b2790fa8b917e35478f21a50b3643205f61b64110f53a999eae92daa2005398e761cc7711c356dc4e3bdf736e8de7baff424e028ee4e12ab752f124efb1e5d080cc30a3d1a765bad56abd5dab69393429892cc75ce350416ebde7befbd187f5f186e3c2aa886470f27798b93da095b7fa1d5cc3bda804612d53d4882393218d9a9012a4788c7054ab29e3005d5fd10548f69922dd0ab80dee845822150f2f44cd2448140b9e3f203564d1658e648329690e20a548e904e250354fb0172848ca04081fc00fe42249420a0baa75bc89fb1ea6c033bee825a941564fabd2c168bc562b1340da624e34577879c8430f67bbddb5dc4c02f59c44f28f550e87a28a512fc2b4d7420abe82e64496b8f54e9482564122d5f5eb9822257fe1be8ba7174a078802cb9df3ad18683628f78d4733e40e5a987543c9145e9237b3c1731700d1526a15105943d1e7a61b85a857a7a7a7a7a7a5454429ecc49078f8ee1a1478e4c15497946e8ee2965cbd66abd3cc0e2ff00e2030a58fc49a92606a52d69cb8be1bd8e035a844ab5ea696284e7881613d611950a4ba9699a141ccae26f4460d3e988eba83ae65b021ed2446c8788208ca9540a259eb2e31d74997a5807583c719987cf500f5d0adeb2f8d26b26583c65778005dd7ef120c116ac92328a8aaa542a954a55ab8bd3420725f67af2e31a9b2ce96925d1d9e9d99428321814272f9f1f1d4d753aea96658f542976655556a7ce6c91ec4fe7e974bd569223536c6ab6b22799f98caa738dc92872b25ab2541d316564e0da349e55a269c4e82a9339fc0a4d233f23b00d223b17b2ff8b1358ac31d3544d552c365531158d26f0e7049326cf0d9d25386bac639cf4027899cf34199866f1f4724415e378a629e45e9c8bf3c934bcc8f58872d5ca3cd3447aff97186071aa6679def0782803f02d333ccb8d9f31fa9596c72caf32e3432befe107a97c17daeedbedebb3805cc8c01b0d5076d9a0d1049e529e9ac65dc8c05a67030483b76349f6afb5f6c000a2d104be3c31d89031d45003982304755b35d400e6d89d1c1a7e088a34caa9e149df85231a46e18b7c18cbcafe34802f127c911f860f03e6805536492ed2109b249fe315a846cd9e49f251a3381de0580b7c86c7675ad3545152c2c4bcf803a0f1f2657c86eaf099175ecab7c9e1c667ec7faf69a2978f011f3f7ca6c6cb07f243901c69437584cf742f6130c202c0ce911892f07c8fca4bb009fef119195c4e6e3c99f132c6f252e6e17c19037383086ef9197ef4358c94e0d0f002007368f8ae86b763f4dda865340ac0b7d712009617b5b0bc88056c0f6f8c6e10c12c7fe35bbefb5866f8f6586698f12296192f9af1eded9801d23c1ad17c6314a0e5a8e40d5a841432120100000233150000200c0a0483e1806040261c071d1f14000d5d7e3a80583e1b49844990e45808520619a30c00c0004208c0c0500d5500727d467899c61e7a5026bae1b419262d0e3e122e609e7136829b1e00abdeeb0b25e8154c2322091a72764ed049af010c2e0e52e4b0f84d7042ba258607e61b6ec43e64405298c0f19f775530cac08d7a65da1b6eb45531195310e13e19604c7b8d72c867c8833a25d0d46a5369627aae8b9f19349ba67834dbd4a73d7c6ac85405a0000dc88f2024bbdd5199fa7cb50c2b8c595df42bb4270a28e2c3cc7f62f5ef825977e0d683f31d4003e3c1b9e97a8e1e57c75cc81b0d7e3bfc60cb0c331564ba4dde05ed55367bf5667b57eb1e48ca93101dc9e72dc524db89be5e45c6788398e7a6a074ef6fdbfec8cae7a1f1640d3390020025e69faad376448c812dcd5e178053deca94e46752ee32c075c0ea7f4704c854290b9aabdae08722b9c76b1f3d3f2a02bd0762d8c280dc7be47d1dbac92689d53f3468901e97b7042e7b1569195db0a48d936983e09cbbc956a06d74c27794b1a7b600e49ab577db8aed8a5330270798b35a155fd85474ceb7bbd613aae6420a4903dc5b3a7a42b73113e81bdcfbca02bb65a72166c234dbb82c7259c81769d38c0a9512949f57e6e8c75af47ec6471df570a319bececabb3a115c3aa549617967625fb654c0b87806317a920643441673dbd5d97fa5f6ac2fb00f94ae8ef3adea2cd51fef9c5e46b86afed0f2e4f21f6221348336332bee9ba0e9819b7b7a66ec9557d9f129daeef416463245973f43ccb66e0b9a9d9d1fe1caa96ae5aef2633630c44112526f39d03c792bde1ee111e6aa7856f7267c5b1112f4ee5158ea9ad4b488a0f9318cbbadf4a9bf88319c765cb8b1eb077d7c7e1ea434a260228e1b649c37c0ef5817a079176e472a5fcd7dfdc4446244f74cefca8c942aaa4c15163300380411f779549baed1024a130b926f9e5351c3bc17ad313a93f7c8c4f5f8ee4adc7f893538da90e40d69c68dc24498ee8536528202867adf556c9df43f899ab12c10f6bac8a714babd599302f05bf10442c7fc50c0aadeb437836d4cbe63b6af33bc2622c164e75e1f021ccbd70c871b3054b29afd566e684092b7678e786e16e5e2f5ed23a7581f3f6d607b3d30f3863a5cd7e089608c906dd29c69f815a0eb81261180e2c959f1bcfdd5d66555c4e4bd4d2aa218bd52f18e2d4caf7655d69912d9f43635919229d4582fc3315a15ef539a51368b118c333543415c95528c88787d9e210304e495d3e22ca0f68c06d8ad9721b713c21c050bda45b2b60a688acd5833590a918ee13150d24c1841b627b1ed434fda5eae54e41db11e3a740d4ec79652adc9594f1cdb5545e3319c5181639542860801426906ac6816617d410bd6aa441c0dd9d7989780392e8edd51c24d133483a3c58f5b2b97e4cd2e00708d09681927013746614b871e59d9b4ac11d897543868f675a725c2a28614027144bda01ff4281522d05e25116ef4ca60627a31cadc0b51b0ae1a270ed1fb8a3296faff30138f7867eba0938e2006c101ad7232a7b30fd1450bb0b2e1502007ea2155ddf5f0eecc1d8b038123ff13321cc0957deec2c4176be92fd5796709ac588f5cd70c349d3710dbedb306cfe46193135a93ee2645110e14ff1d93c4c0c2406f2d2ddd7ebfaabb7abfb6b3b8a993a61ab42e547ff25bb4d4bafec00b85ace23f12216f0502bf3d502b650783e25c7ee3acaec28539e54cddc54feab049597320fabb020f314afdda26d713c6873a608bc246628be847796c61c4cc62ce242bae2e9f0ba2476032cff60e48139e269139a3a697645ea15262a39403064613d9f5d0bc1deca009ff73d94ce03254e69400e60ebe2c0ccada40bcbea707768d915efa22b7384fbe2a481adfb42cd4068aee31ba2bf893fe53bc2654925cc8c68f5148fc62c144b915fc3238d4255cc905c690b42a8b3b587c19d40bf86213a43545b860494e8f9b698fa6b3e312911fd24aa247e52cdd57b61efda0893fd451e7e73085326054c2c518d28d050bbd8a9b2c8c604eb0a79553bd5ef56d12be5c88347a87aeb75a4985df741c9eccaad62a0516695888983457624901910ef6f8152514335765e970b698fdef3d815c4a2c3cd337f082e93baa59023f0b08fa9dbf468f6b1f3c268b5fd19ef94a22325c28cb29d8d5939da248db0495fb4b7002207cb3bd4d3bb364ba508abf30c7e85c05fd4dc4a845800cedc838703d477f6bf6a32c1afd3734fb0659e7d5789547d0a75fa80e2e07e980f57156a30b23beb2a66b0f0fbfa1386eb08b734c47df094846ef5525595c6437132a22dac234b4f45a5f67a9e892443fec2ed736b1dc44bd835db3801dd91b3485f9c6493697c48058484619470730639b04bbc6f7dbae79c1d9f234e90b846d06602044cd2303e135541a08df74dc40d0dc503810ba6798f5529036acb3306286d94edd9e16a06e0f8e675cd475139a617f5d2b04c7bf27a51218080ad3f07d890667fde9510b01084ed98c8e4a5768b16da821bc57c6e312b2a129084b93d88e60e068c990933c1859ac2173c7d56c92c780320017af2818ef25318179f6458e6ec50a82477cc5d5a0cf332d03b94f0a766bf32778be0881184bbe0856bdb96162c85a8fce8a6fa7cfb7c6b788e4ec528a8544f2a33ace17d08ef6c5a542815e8bbcc49708dd91e840a5bd90b9a5e1be84de227d9bc1b710e7b425f1180ae872206cab345b4de4869259a8b4c89e59fe29468b46beb7d5702241058378dba45190e868d0f94c33bcbdbadc25491167e5952cb612789051f84306a7a8b77c51e861f6f325987956bacd870f5bc9859d004334fd36c98d25e5329f4c34c92e2b3b1bcce6eb798c27feaaf479768c2aad206a0bc87864dcc5a8cadc1e56df16abbec508aa98d20753586931f3c3a8a2ec5c588cda2173f11b95010d10a594076db0324f47ba299f403ecddca08e8645d5cd053fa5263055de99747de1a60184f95a464b75490113e835f26e32bef3639961846f2de83fdecc50500c589abb7c6a90a2bfae466689af5be0fd040bc8b871b442d11c07b9ecef3793d42a1f920a41a1832206d22c1579b5a25828ea5969dc42f544ccefada1de4ee5189fe7eb190afe8064824a7da662b4ba46e3c1ea8d03321d93fe6f95d3050f53f93369c647c1b0651a5467a63fc041d0f13dcbcaff3a54f0b65389abf2246949e1cf79d7c5a7098760f889cce4f475811deefde9ada6ce3494ca21da97b86525756f88019c7a92b27bc6fa00d34b7faa1217b542c1a80fadd6de0e94569db4cb29d17c83a1181f37aea6ca1131828d00d9943bfb48664d589ef45cfdd41fc21de96815e42f12fe5cbc9156d1baba91263cc62b776a63dc3729ded5373cb3abbec902e5267061d4d3ab60920cf2696b63750acce107af0a25e81588dba65966eaa351ab3acd4a6a5de3079f7451241b083fbe540c353a8200db83701d4202de0d8e95d18c06df33719cff697f0cd6d2d18c7f2c7c4b775611e2fdb7457cd4aaf6b8c42fd79ddde7d1411f7b777226e0a8f06a7a4465957feb1eb9d00633c16d77065dd8abef81ad690c980b72ba6fc8a28cbeb1066a2504939f6a4f233b27300cda089f6715629d2c0c1f2976326cbe1b299d66d5ac414a26455be2a163bf3ffa6b5e3e0355a6260cf19a8e6b4f52f27b145bfc64af8a7369c66089bc9bb97ae6919ef33cbc212b46047a7f2445db87d9be954277e38edfeea777cb336ad52a07ee4a51073f66bcbeb25176d5382334e46012447e8409008d1717d779c006ea2a9386f15e95ba76f786a09570bdc7679bd8fc045c1bc845b16b26cf18a110a041767f358f58c28cb8a92b6266d5dfa6646911b61421abc3b04a5e09549616f2d004f278254ed593b839a0e341d3a187d13c1273e2f2dd381e90cdeb7888b4fe9c1880ac1af991cdd19547f082525b7c23913f756f4dda5482dc14b9f704e419aa1d64d4e5e8c9fea480683c23ed7123ec5a6a695d88d359e55a42862969980dbb20028b88b20ab72ed039aaaaf329c719b20c3ed58cef7e8e7a48ed4976702891e0f38c6df4c3ba27bc81471cc074c44e22b4008b171e96f6c8492213abd424890adc6d16f30cd928571a9e069171409c64e725f341ea0fa09032bc4274b14cfb771e3a28c1d579eb119f33ca3bdbb4257206351b7f6e1a5469dc96071d8666cb0b1f344f817511a8f426a047777680a41f0655ffe6b118b3e4a9344f757393a68ff4e8a28c488f4f7a24f6621e006f19e8d59e884ecaea64a4534b8e79fae433bc6258cd43e4cd60827d8fb37450ea2e594a46fd95abdb09c571ebb5edd94a676ab20549478ab87c1ef06b40577f22b6e4566c77ccce09ffc5bc96dfa0a3f5ab0baf530f03965970653a0a63a1e7f2ff9aa0a4e7602d5e90f742d8beda8389993adb0f823805f6a6fa219648e7a56dce11a85d5b3e44e4f8cb49c83dd3efd9a5260f4b73a29527a94a0304e60da259e10674450037d185e55ccad162275c6d1a2403ea567faf35ff1120160459987958e6a7891b37e0c10fdb95d9f2c9c9483ff9d53995e1ec84c7cf7980d2d26eaa8a8546b1e6755cd53159ba6c508699f3e1c23c51bdb27dee4ae22e8eef149d31ba6830b5f65de6a2ec34eb594b4371a4cd05d4ee29b3edb1c6aed250b5efdacd47bcf29c5f4cb2c0db6e34c036f6618473c46d980a8465bca4883828d0109062e570a4bf8ba9b90089f23734f5419c879b4b4e29e2ddd6fb803a28b32d79b7c799ee950a731ec41761c99fbf33674d142204a53d7c768968344578a2f04eb8cc48c96e256bd10f3a2c211b43f272fe70328a6c6fd2cb372156975690d42bed5ece78707b15baad97926b384f5324c5ec0ebfe2c52482e8b0c553fb6d2865ede026bc121ea787b4539c9826a31497fd5e8650caf9823179a41780b043a9ce9f34d3bb242ae69c09cbb948b68676a35bdbea43c865496b68130d51dec919140d537ec8d51997275c9ab872ccd58c9022b2dc745f14a7896d3f5d6d6fd1fe2dac8c2143a612e26b94b9de24dc9118e8ca410b340b5cbe41cba4d775b5ff9941fa9ad969aff93c1703c7047dc0d88c211b92ae9a6e30b137d7b8060e48696ea0b9a3402c5260eeae7b30a6742274a2a72b1536407197e12fd9b7404552c601119e86027017f1ec39ae653444448d464788e9e50d89296e382463ec8b61a60ede65adab82fc976fa01a7ee59ea3fcf23fc12cc6b36bc1ab8a11d104f0e9af0ed7c081f5b49ee8837663544c0624d37a17f3206e14dcd5b3c372bde43c3ca41fee50d7b2ce154166eb54b26bc777fe029b3f6f5c6bd6a1233219a63ac94ef615024532ba4081f2fab3cb9adfa80a9d16be798657ede0b2926bfa8e1ba00171ad06dea9b7260db68e06747b82681c5bcabc26f48c299a8f8115c3e5b1c3304a06dcb5c0af4696d5b1dc0012487cecd796c0089a1e232eae9fd4a832bd099996f3acbcda8c548b0e2252591188f159ac0634335b805aaddfbb86b74c4b70fd2afe7cbbe4c719374b0879843cf1badea1872659643eb4307932baf8f1bd92a729bc2249c68f7a65f7464b77ef568e0d76582b1e4e5bd539c56dc928262daf7330503b962622a037b6a5791fbae4afe358278bbff0eb4b15a82bf40930034f970a9e49288e32a446b5c47adb67c1c035847307d19ae1194781b75557be4489b497eb2dd500822499ef474c689b94c564beea68d9bb7db94c889ae5a442db081bdb8853a316e20b94083d911653e8da34f24201d50361ee3285ce8274cd2b0a7529d7c905c9d43657a6ef9eba5035e15c44fdd210cb9df38f3d92dd0b081e1f3fddf2a1834edf5ab7b40d9e887ca82794bee148667ae085f797b1e3b653fce948f5bb1f35d91950b1918ba98764b5a33d0d285d7e2245d3824ba0816c096340618f45386477888b8a3c197edc00c525418ad445e4150ef511e8525e51fe532af89f5dcabc987a2c3d44d2f40bf3c6abaaa37f5e196175b3124ca0b1cc77437ea839ed204edfbc1c338e3a5c18e0090272730a619fc00acca4ac7ef337f723baac400a4cf395d7c4f21c888809e665a9882a383d24072e8df641b78fd5ae342219a0c25262b4fe9d3001c985197f4595c2a17d5ae19f2c2adb97930367229a844673d47b91f5bd277590fc591e4c9bd4182f44b3a19b99ee7d21551203d9ba688efc6bf3e6e1d50e8f1a84fc92ce052f8e1472093c407e68d1623cfd52d87bdb777ec180b906048e1c5a5d067cd9cd362f6b447d3f8816a3cb7e65adec178ca10fb836935a7a1f5fc0c4570657d48e719298debf5f3298ba3909af867215a655ab6a35ea0a0db162b4263c81e4a4feb26954148eef80ac05f45717fa32e8e3661473c18f53aa85b6ae4b2595882244b4a0adf7d02cb0c571b50fb73c833c8582ffc54c6aff45dae74c7ce0b993c21b5bfe1ebee83c869ae8287e617e9eb22491292a3c00c68fccff969208b026ce2438fa55b2c19d1cab24d0cf5476b37ceeac863cd216034c522b2139a55c6ad0c8c05bc54ff06f522e2e581c97cc2bc73ed0d2bd799b4ac030cae63bb08400290135c5e02ef68105b8ff161dd41c34ac5637caf9463d08a461258e013960c61a9638a2ac27bd39497f89ce7145a4dc8f29456018e60a4724f9532a07a3eac69b5e93257dc080138cd52f905af8aa2303005d64dcb2c0fc90a2e50b11b82d3f0b34fca0e0fb5220a6cb1fd645d6672ef5cf7fbc9e700943f89121200c4c05b9fb9a6c2eba39a0eb7c395f96e785f58cba03783bf2147d7dada83a865c8c68c8cf524178cc862ef756518ec304fb88d30e2e9bf850b2af4cb6a6a15308feaa6364d0cf9896fdf19d8bb443c818684f8a412041498c8bed33aa4c1ef11146aac0c1f95d01e91c438abb68ab98cd52a890530866cf4f048d18a9b75f6c694127681a40cbdfdf385605997f2f06a75d5466b6162930e2b07fd1643059e47bc8a350d9c7c19e81fef58723e84d625f9590bd43d46b351b96beed0e5e1c622141f316f4557bded5d44b9cfe0cc255236417b44461e4210006953e4846fb5012b3479dd604c65a03f3342588adfa51f9f5f6c8dacebbde5042c6771fd4180ec8b83c1f88858f19e19449e93412250d837428c9ce5e6cdb790e75260f64a46944bf8df7ee4af2cd935bcb7c6ee48872129c73148864a9eaf29bebdbc3fcbc5a1e2765929655ae619a1ca085dfbbd6222fd5c707b23aa7837bc3d8080d03a5262c26a726208026c567d4a5203ed2692dfa73d39dd1ac86bc874f22d744a0d2f24bf03e2fe356ab4be81258b031eabd3a3a08209cbad7d241f77406c9cf9a9e34325f9105e1dac5b6b0dd110fc0834071a66d4ab57a50e35403e07670f0d57e761364691304a3eef90e0edc4c528314a98a42e85be112fc827e7a950f2fa3afc984db1ddcc4aed0aca040a2dc17a7d39bd79a206f8e1214e703003359728a3de6c5c2a00b380e8260e9b8ef50c3ce2dc08968ded7e207e46ce92f3558f08244e7af1c0499f221305ebffa6eced55edb1854385923296e7be4de3d3d240112db86f8d76a664eb5945488c3942443cdff6b399b2809bc1a2860938d553e328058fba5dc0f6229473f72fd22af99b96d71466323a883f4c2854fa20fbb20d91b46fb8899a3ec9ddbb48d380c35006177cd44afdf673f4ee86b5c16b5cb95da14a9bddecc84d6ec464987efce230f926a39ae51a24001f1f277b645e13e1167946536229c721394e9d9b435ad686d91b33a687c002171216c813aa87d80cfc9b50e5318becbc669e8855548629bffd154f55db8a5b0909c502137b7931e61618055b5fc7a64c1ed7208378b1603826d1a5b766ddffb356fca854336cb802000495c0601825c28c298e2543dd374f40ec72045cc957605d92070e0506c6e02d05c3f1a0824ade0165b0466454f3f0fe05347bf9a0a4935f4390789855deaa8864de4e305504fc30afd4c47be40fa5fa3ea0dee292a184b702ad2b582729d9364bf248b2d506937588af32df0d04591457ca09f1333811943240d6d5daca0bf016b45d38e50d92844f20ae8ce477fd96b614dc8c409b4d2d9bf02c1304d1514b141fe8079d77b9c660768e4dcede30f3f735cfb38a2c0b845d56d89905df4508c618210a66e483629b1da39177ebb48a683bc8eb4867f9fe7201baf8e3975473fc033ef853baeb051d9029e161fc2c20217fe65084bff0417d1ad5560285f6e77fa8212d0468968c97e74cd9f5771b7d97a934297fe742320dbfe4108e9f6bd305b86e1b9d5fc35d34062ecdecea05aa32aefaffc7a395ae35f9890037078d5d5c00c1b480170725e04586c5ec7223b2ff93395cde3add31d89dc4319aaa39c60479cb00862e757bc2fd20b1c770e0903f5b0b16cb39871b530d4c32fed37cd55a3d4839876c967a58c028323f534bde0eea0a4a498ced7c5963ef750170a1f6e9944378cbfc281780602409438c5e80db9a9d7412fbde44a9969b0f27c07cdf087739525800bf198e34978c3ff79e56f8e2c1c5e58c627247f85cbb3bf96af8ce7a409d1a2fbbfd040588ea675a22dd1270b79ae08f44a74d1443b200d21b700a5031d68dab142f3fd489649e5b97d027583bf2ad1f3ba526dfff496ad6834ee97170bd2f64f88a9aa7f768101e89217d15f0759ca988b47073caf08ac56aacd4520c634600dcc92c9a1334205e999e9340c3fa0b2c062cbb27873fae7b58d185ffc9f2cb1e59874e337761b2b8543fe8e04bab2ad836e1381b08f94a59f5944da810b7db612e154522bdf0df589d550cf023f4a04c7acef2c91595cdc03b9109a34a20a476b196064b730c31e155da24c6156546971e547d1959de1956fdf577626b06caf650acb854211fc03b0b857677495c84362695eb2a7dc8d2c3b45f245ae2c2bc87f32046d368545a23e385d23cb9629ac5068523b6b025fa5ec8a77536065b41e08d462c504fee1146f75d46bf90418b6dfda5d2e8cfb8af6d55c9322c0a7b4f9c469cdc5911ae72de4689011e4acf3993e68709988013af14f1a4428c74cf0a40859e78b1d6dd44df1a1eef0f263c10bda02e17edbf41d5add89a9af52b99f1403d5e34393f5330c6193da797e7c7d17aa6551af1b4418c35452e87ca72c76109692e91c46a3ecaa930ad8e9da1f77ce0d5868bbeb69b657a876d4d2b197e3ee174e35832695fb1b16e1f6a41a1d6bffcec4966ad1cc3d8f186ef4acae39500a2f731c7d26be8a90461a0f02140e7e058dd4f49d8b33a04cf3fd433f4a0785a2170ac808d24f4ac1815990f15b70a0871100ca247e89c1e9817594a6cd8f45f3163faa094d87569598a5dfe5200145bccb0025999489ac16e69cb5a21549f02567e5df3597d513630d004b7412873f0a1d21f05a90db6fe7925a3896dfa2330ddd5563606cc64c986dc876d295d285928c424d196991132090a2b812e5b507789dffa52d2b885984097318d6eebd6931af5b0ba22de20b087b859b75b238484ef1a0902c0ba486b4a01f9e7a864510f5a0c4cd9a9f1c5d321388fb68562a4324e0da0a764b792e421e110fba63d1b0aca39f9d1456a11f352c7575fec181bb6e4698c1585161a09564c9b281e7a73329a322985222f7906ab01f52216e8add99a9a908a4b648ff67cb612857fd8aae822ccdef922420b939643787d54295d0cb45c5b63e9ce86ee1f57403fd9f0090b26a00cd873ef6a46fecbd3d6940ed096a9e958c81fe54921679fff5e711372aa3b697dcbff148553b5a64dd0851a6bb02f391cec2c440bcebabc5c4fe49558b3d5a4cec7d10c2a202a15b4ab65cb0ad7735cb2b7ed699f4a2082f2335c58ab5442e0a712b219055a90f04f13aa96c7091c67c5d194e828961f8e22fbb62da154b954ff55aefe58f0703efbd6ba3194318e7c7a06bc01f1d37b70b406a46442a993e902d36c1713fa1a95a18c299538115cc8e05ee7ecb825f2161826c89ffa6c69558cf6ea76060d80902b94f99d9a7971cee6b06099f227b530d00f575a46d345c04e2dcc08424d6f6bae5b2396e9a728a5c589c8dbcf43c1942460485dbd19e651ceadd8f99d81a72ae13b4fc21ccac25b8bcb2ec961380a6e3e2b0c8a90d481b56d35c5395544a07fc6392bb143094908d9e0d721e15749049c96ece4c062b50d93dd0cba6dff3fe289dbfb908cad590e9cd0a2fd22e26377053d64a427725ef07966d26adf699dd173479cdfa056deb69c301d6da0209eaeb14a3584ee9b5262aa18304528f405174908c31c91a13b527fc5d0789e0f11d190f1acd0c5e1951a73104736a83bbf00975f756a77df4b7c90348f4a293ed2211f3091d1ec47da599cdf96a4825c81cfab6fe89f3eb4891707be7ada14c9deaffcca8e54b326a639e9806ede47fce30f251becdf9e0447c4fbf81fc18544dd034b519a4794ec7fdf90d8691a47f053dcfecff984ef2da1078c92fb07dd1bcc59e6dada4896c33faee4b066ef0215aae9d5645710906da4fd93e386f27b08dc184263f67cb90a0bc2174d57cdc2540b92d964aabe568643af0cb8de7b9d71406c8f2cbf2d68e6d4e60b99488369a1ba8c1ec221aa14812d10ed282b9cc60e7e009a5712423f264e30918c5684625831dc5ccc0f1913370253cff1d6965ee4bbd25644b495bdd453b249708070d7740a7ad44b45cccda0d925a860536924212341e2eff6da53a34dfec20d951b5c768ef854436b65a3f8b6b5876eee4cc3bf735b7c11b95b9522734e6d190eb1153e18a841e05071898138dc6c1c126166592f76bbd4227b2533686111ac61abe25a09886aaae393d72077d88215ac0e040d16c048acfc8169ec19fb9bfa70a80a26b2068801a5c0921da572251d12c9e10f9a7a5850a630459708f097c7313054a3694c9f8401219d520d40631c8b8a7aa5126fd77c17bfb7db20deee1c076c250b169398fdda859d9e8cf3b9503924cb1adf5438149e82fa14145d9b0493cc345753a912f33bd1818ba01156e1a9de87a01369c701b89518eb1fd2c2f783cfe379d351c260f3e1e6f342f16afb873ee6217c152f9ca1701eee7ab9b31375cc779182e20a879bf1e31ecae7cd23cac006480ea000c66ebc27fa6b113d36e2b9a37ef6635ffd546f3406559784422556a3a84d16990972c1aa70042091cd641fae5563ca86211903f1b199964ab8411c9b4f19e2f540adec30bddb579ced9aa9f8c0d16758619d6a544b496af2c610c67288c611a48cf28f4ac72797cc6dfaa9ff1f8832a4bcf587b67c1e315cbfd714b31927e266b518d1e864154463dbcea3373fa41701ace3804ab9df435f9993cc43ba73a39e8c4f9b7c6f77a72ee115805b28b338cb24187006df389e4767723d094de412a23840404e878b73bdd98776291f662fbca5fc0bf54d8b2fe032c0e51920fe3cff5c16bbc848aedbf4f49a145e05934640b25758b402a724e2b1701fc6bc0f56806d5ba08a810f285574dabf3c1f121e559b6cc4a8c598ba05c324da8d96c62209071265f5a93e3d9e6de3dcf7fe8c055b7718684c415b158ffae04fee3a1e22ddc22863ae3df583a0f2c2b3e069d32cd5a00770b0b6973ba626e61dd3418088178dd968493036184a8cdcf599afad52827090f793160f71ba9e0537dbec801d395d4344a1593e3825c1cec65cfad05d45515411e1725a334da3c481b5dd4350059b2d5586b469bd985d3991ef75d6d47c023376c8d57e4511f64f4708f88e73376ea6f80ed30dba2b3115d8d2bcb034031920509eb26e5fe3c17a2e0ee326591bda7744c61e9bfb0d5a130ac53180597d002c6a1d74e89411e06830bd89a8f71a3cb358908043f7062b60893963017ae1b12313f0ce63ae37412052b3964a249f10dfae69f1a87090115c4e74710390bb08fa7b07e7e80dd8b39bb678d093e56ef141b65b9a7751cb3c62126fdb72c0da3d48defeb390c8484a060b313630bb06ac2351b829871eb1917c02453ca26c1b49cc6c1888a48047e910b9ba71881edbec91152e1666a3d0e7fa520a76534925fea3cdb48298eebd8473b3c413aeca2b8877595a269a19355460a55bdcb3a7d029e69014e1c9850e0f761191f08edfae8dd20194facc76a28a61307cdaa0e2fb42c63184293f8b82216475f694f743271b83fcbe5c78f3fb8b11d0cadbad3e99e7820c50540170d14187d65772a45bb060d024fd25e06333a75b3248b929336e1b0a4f812d1ebe01fb1bdbd5cf0ca731a2fd55b2b48191ca5311956441cacf0703b5584b488f032f6569d82c8c873765f3b15aa7a19e432501fccd1d49ca01b267f528bd2cc191077c9a0e3c0eddd95c865b9f71fe7fec78fc265c95d2c987963e1e98e74bd727ee6733365cd01d8a74bac95ca9a59d600b7c45b3d153339aeaca8524ef781f338fdca6aca09f75edda23b5a7514aca91684ca39bf69d69d96e4b23df7433ce21caf68ae65195dbe80cb9381a793b911f0e149e6c670f61e70df799c3b9971cfa50d3626718023357ef45ebb0bd5fe9775c01fdd2f261252eee778c16540d73c8d14050a7c14497b9248f03d606336e951b3b6f6dc5beebd93bfe9297f8375097c2a0909fefd855337f02921fe5002e480f5ad354183216e7e9ba0855939f8281657a3b4690a2511b9f7bcd9cd0773aecfdbc789f39b4042b5e83192ba803ea624c4f2d97130205d916ccf4fe27c97ba748501f424607f2e8a2cc21d46ecd5f14081aaddd46b690f143da32b748c50704a7b4e2ff00dce7407cf1e176d734dc2eef4f2707d9adaabd2b69f0f83c5dd5b91588598027a50e71234bc5011423e0cbc0504e9030f17b89c61af040f0afd6cb2b5189a61452005146a77ad8ff279ebcc02eeacf9a09b5bde2d934245020bae073365fb8d4f1c8c5dab979dfb6cdac04d0d14855101bc83468b3cda60050d4610b5b681e5945011fff301e9fb3a5b81e0c363333b2f5a8d694e30376c71252c2f04978c6ec64e5150ac8081d36fac22be3eeb808faff7f6e8870146652bdc15cf0a66f9c16fef446fb09b6ff9a0cd4aba52c58aeac47156400cb760ce41f4056782bc0c9cc63f181a0f00ae0e5ad60b210848b3c8db281478b059810f564fdddbfc83c9d7a86dd55dcc0367b5a8ac9c189a1531aea828081b48970f74dab01a8655dff341bfcd57b826c51ce9ea13eb82d60e838e084d163d8ec319f5a6d10ddadd0e82d96f3e7f175d2abb1936e7eb6c0880b9d9af722a266d8ca7c6420d6c3fcc360d969b3155d04bab1206187282ed7f815c26a5c0c51ba109e0f221a36a6852ab921af31bd77cc0b4230c67aee166401e1f5b60a1553a6d9bb58afe256722f6f183a655595bde431c24306584fe40b7fded27bd170147d9f46071acc45ec187f4dddc2ac07f097fec9920c12c9b485509881fcbebdf1fb57a36b191114dab9aeb30469a65be54d47a560aa82af335fdaa650b368a0e642c4148b110d6329753b40caaca2586a2e7ba4f786c97a4949303a5511e17034d89dfa8928b9ae1ed9ffca9e9aef948a82ae9b239f6a5759a7a22333229019cd0731533f44f3a54ea0a22a0211f1ca8dbf3d4ad9161c93948a019c92619d07054f3de71a51d7c00af79bb305226d95d21724d7da0803a1f39e077ae47cb1e07e59d3f291df18ebf818fd4f4d00b99eec5158748a36e0478be281e93713316fe254a24fdc1e03c539685c30e05647a5c903ab5bdc695cecdb8c21f12a5089544c1b9a141a4ce3a932d93290a842ba7d1bd2facaf723ce3eb383719ac90bbc171404a975e5f6827105c713f8da931e0c01135aebf7513c856dcb8cd84a6166d3ef2f87a5c9d6ac0be5abce132503e6976cc58f1693ff4f139004665185f72750fc34543602ce348aeb0505c87de829025c3c96e64100554cc3e4878affcd2521a926d1b8129a1826db59db4b70480711bf1de2351ce51dee3f074025b05a706da2bcfb7c9aeab75a37767492c799970ac88e24259865b539bac318242205cb9b8f66454a57c05edf3ccf14063159a9bb08def9f6c6acea632144679c450eaa351d26fca4d3e1c7d59f5193c77f2e4e9b4e95215006711ec7d3038cedc9f033295c5d2a44c5d06ecd07d0bfed6e65fd0b3d51710281ecb65cd6a7c5df2df9f8d0b90e8ffb08ce6b9a4c05ecc38ca77ce75f9bc6f0df93ae47c9d1dc12ec7b9fe8640b1aaa5659a68cad355bc0abbcff49c7120213600a31d9269e38766b1ee7112c0f0e2cc524fb0c0d9c913295532e4194b7471152784276302af93287c96ea235aaacb94ff3891635b762773cb90afe4f0a5228cebfdb6ac6da8c3d07220729d58027c3eb3914b059f8f0b90bb38b36fa8474c796ebf20b935deed7d605d61d285addf080e4c00b374fc9b0be59e7074889a2273b6013658b0ca2dbfe291eb769ee1f82e47104f16670adeb0b75e993b6f4f3015dcf5b076eea08adbc533809cdcf9843a89d5fe960a0f3fe89aa874642cb8b04343b15f3e3744e0de59e778176dc7c23dc4c46fb0c3d5f94bafec3b7000e43da2e602eccf4b8d4c507c08eb3c3acc479592c0c80ac942caedecb5eb2aced26beefc9782a8e6c6b65c0bd8161012f65da79603089ef17d33be52c32bbefc676bf2494e0159341a19513a1ccba0d5007d842af8f135751a70a91dd896c769769e9c8c362323ca586246ea6dbd10b35e4818c9ce92252541e07e5f28e289edc3ffc9a35abe58cc15669a0c5daa9a208427d70162879966c86913958e751ecfd147065aa6292640f786265ae9be7797caf29e06f96e749962bc4f3e5bff1a3033da728bb63fac861d7d451c86ea494ab5daff5bcdfb112eb4193d2cd43fe4082eab9ba21847afd19c8618bbd803b151771e540838dcc4e8f801bf0e8915b3991ed53ca2607bba464c8220aa44ea977d7f78de6a8dbb2a258fae262bc078d4e4888cef6dfa87bb3fb8af4e3ffbbbc96023d4e8de2df6bd47a4f3e389d1d44264ade2ac48105f17d8fa9b3c45eb4b4c7db20bf7d499a5ba6dfd301e64d35601104ca1f6e6f3c0031bae0d518656e19c34d00c9bc1258b0223ee97c0f917ade683b89728b62003bc93cb64045b87a1ce296b3a9d9c0a8f5c17653ee235ad4227173a0297f79584cf3106639d6f5fe665589cd3f9c30c2cb10edb8a4b1d3bb8cb58d88e0ec4148857ea6cbd3a1fa0cefdebe48b2c5a2d5f87027713c77730402edb53da424f3212840371be866fba859d4a31d0af9909ec8e0d29e07ee0dfc8222d72516291b17428e5a4eaf276ff60886b769d617e4f3c97afbb586a80c3eb2e55db6671c393f83175b5b7b87fd13b49911ca83dd8e535e7c845e941d63f05fa6bd7fd543ba0392eccb20d68d6859b0b648b5c8d22e2f818c4e35ccdb95baef6a94fd4881ace933018fc17039b9b0be7421e5a1c4e9a56153bf78313ac18ecb352a61555958589336ef9002ce3ac682fdcde8a885f8e0459f9b6e6a68c6ad46d4e36c552ae7cf17d7f95b52165b46a6306dfa3b94e9623359e507d58f886e2c3416e76a98f59b2d4a39f6ccc668b56cf7ad6237f37feb8aec71ada6b2fbfa2142fc4b7f23f087b78c3d7eb2eca8c17d3930e11502812267ac57869aa22c39a865731efca5a5da0559afec75e2095934f4fb4041e5998934dd356969fff2902bf88961eefbbaec448ed991912e136fcc4777d9e6924740325c22a424f0bdc0e2584cec5e77bcbdea40fe191e05a5ef3e9f3c806fb67febfe48caef4ea9bef95882913bd62d3563da9414451dccbb4a884a04887e2f309e8720152c62987a9db6613fc93c0d0fc9806fd3415fddee3e634850946ffcabdb26e2b64a946132ffabc3179fb4dd0a1182473e14cac3ae222f00557937403b0a9d1b960eb27ad32e36832e6cee80a901b0d2477f933c1ecfb236390dc48f0c6693024bc4710bd6818c9190bb1a261001818620ad4fdba87d0f9d45e9b4d4d39c28ad1af75e55690156f9da55556f248d78ae94707c16a9b3e534399b8d5cc9f466362e0a05e886f5a19d54f13bb9aa0de92b861e5c54f8f0e9e6426ed524a49ade6fd90aa308c58c51f60d0e86089beddd9473c408b1f0b52d63a97d44a64e5dc30bfdb9e2e0958b4804921b5c3c97bf6c1e3cc272c265241888b606f9bb6494ce5c7a42c2281692f551547edd4f31cdefc0d1e6a66a8a096e2eb5060fad220ef7e8338d80376febc2c5bee4c2f3f07bc6409a30135927cf1c979b205b673b14d66f7bf1a1db6fac4850c1db6df0e9be7fcbef801ca35b7e971f07c2e3ceda6d17810452ff34331856812265124fb74e949c39f77f98b4c445e70e9e68707c4a9d29a2c550620d37cef4dc6539e9b6303c547dcdb48826231cea7ba6334a7b403779c8ecf22c1df5e4f8c004d1d766b2efa2d20c294e378aae814a1e1b842fed8676633b1735c0c14b48e9a44e7106bb28e9650f437c75bcae4784e5e977ee7e6e368ce2ef7e254b2492477eb258078896dd08027146adb8063c5c59becb1382b36aa8d1d21e07158d66974cfa2d44d1f600de33d3effa53535c7163eb0e14396fb263f3d29b9017ee380f2450531bbb5697ea3dd1b47165b652be6cd662461e02d3c8b800612faf2f42c6376c50659b7d1a26c16c05454e032f17f6f3492dc7df59d51615238a1250c2531a5f6166a0a772f065e9e82af130e43ee8f00338ef1831afcded2b58c75912359e414a0d62360ec283cd480dd0b449288c994a81069be62b7439b383e523b06c390ace6a6d8c4a583a1aabce1b4eb1c3988bd10fe4b249f461c6263746b9903658ef6c09536ab253976d043170eb3262cd4330727b390ffbd7cef563ded607e515184d584c7131025ab8a264a70d2bd039cfd23021295133166f34c862060a579350f55af6d0318f5d3bc0d117bd84ed6c081393dfd06ee52ba257328c883523156bc0c3121377eab823bdefb8dcca2e73eef089423a54817b64738c4fd73fee761868ff92c21ed59b2dcb00f8e336a87c7a373e899b0f9942d04021110fe67cb7b4220994d56c31bd505ee9124c9ece1718f054d43beae9327c6aa60675a306bbb24f5e26c9e9fcc78b55c3caeeccf6526db16659980679b82a29ce0fefd52029452d709e9005abcd349a4b2d8c04220a36f584f3b26dcc1b4657126d16056a4599683561765e6fe95a3c0cd5ba16bcbeac41d72605b131ec24e7b851e3bd7d2de9b38b6aa2a295bee12696fc5bea05101b8360e9981b68dc2a2a212a26debe055577c295520e4d9feb1e10923704729ac199010dbea828f9c50332fc3291743f29a2a2781d4616d3c81c79827682ab881203b76a0b5cf4188bd86f8648a5e1f9cb27031d9787178bbd8cef1c26b50e30e03a928f8ef43d0abf8dfa2d7adc08d96ddc4af72890144c3ce55e869e168e64cfa2d76b50472c96ba194670bcd05a36186bb22d0987913e891413d3d389c3b044f396d383bc816051974ee86d8fd4eb48f144c652ace40cc2e41fe9f705a215c115c6ae2f6d7a9c226b46d8bb51be237cf50a1f6e5960c38469050d1dac82ba98993349d6a2d53383571a28925283b9a01a5cb289121d170c453198c1e4831d554c020846d3f7bdfc24b1e1f9f5daece1347b4f26fd08e519f1168c0fd2b86aa1b09386589c6f1890b920cbe649ed722ca66ee269a24748a262086142abd70c099a4b1088fa0a4c1f102a8ace37a3636acab86a0b9d27b09b76a5512c83caf05573f8b37ac166c2de9219fb325dd133529a766d7bf98241600c26b8ddd0e8b0fb2b730d5e44916e54eeb5d3bc37077c9d3daa9853b529417586e0bc15f3269ae88e83614e24f233d5a2f9920019853311077f37fac86607a17c44fc31bef1a14471f38007f314ff73cd3d98e925fcdb4ade795361b44769fac17de52568dfa4442b6bbbdd10e6957c7f3123b81ded9db4a9695154547a37778f8f080a09290c7b1a83957685a1f82a9f960cbd0859438b3ad8927fcd4aa0b04d22ad7e328a3f730080751298e2e69add4238e1467b5d235d396e69a046e50005e975bded5c7cb3a9b3e3f879b6a51958d0507b68751c5c62a0e26606faa77bd23f6e8a59e1d64d30cc5bf80861ac6f13438b475b5b11679e0507c3f905cd8988ff739e17e1987501321d731e09d0dd6ab09890c8f599e67d81f50c4094f2fa8f5728a5b04bedbd9d6217abeb22fd16e83390ee3e0297d0d76d076316084f365577d3f58a8f97e4389900afcf01b57093c5ce89244ee537f400a82e1810d72ae099a02160b7bd7eaad6f7618d6279a593bd45e8d3a2df6e297eedd89ed67927443d901fd776c8001f76a815c8a711bc48a26f61a9e497dcabf5523731944dfd84b46c74a7521f6b92bf6107a14c275a455d379d487707989638e29682e1958ad56d22573f8696eaacb66bdaaa9318302557a6b13f0299e22da0134b12334de04b227eb9164598d81d08bfc385081a16d163bd0a7461daca4591dc2a14907b45e7108d7978f56bbadf63a758cc40f3f63c7bf986fe365212d3a6c25180e961b1e21c58f3dc9ed8fa2fa9e6099822900ec203f3616f2f958cf93ac6a914a425d5b366488e4180f5a8df0953e4d070577707a85701955b111e110349a7d799b1490971d45cae8a30b6203046ee3be36e3410872bd6a0e2285f95f8c10fc4d651e75339e45da4401e033a6ee21000e406d2f8522d9e25f7a89532e28a6e45b5d14ab10793ed60e625d03e8c596117fcc4745d34f8bd881182ff2376206917d932a73e903770e11589ec068565bd51fca2579c12788cea9358780f82b248e3337487dd9566d4fdcd08ea8b5b2f1b9e425752a1fb50c38743172f789834a2aec184d844cd1eec88d8c3e806ec4704dbe02445b8427e85b9d42a078266618c74c09c6d14d2a895af3a682fa400dc7af909d29409158c95d51f93f99212636316ac4ea98613a02700eea9fb5de3eadb3f93586851c87f86e39fa7762cf84d8a75319cf1fed32c7b1bc9cefd9ce0aa0ee373ec7358b0f009b14811097c7bb357b23c2ee0928704db63d741df11d8d27d258e1a1e00ad75d54e29439397c88ad693aba604dc660e7927f2ed7a08bb13e2e9cd55af658be5cc07f2a744be04bac8211543be982f65b45aa31bd74f3bfa2ddc935e63acda231edb77038cd5191f91936c1a2153e4e50aaee93e9f3ac78ea61e3af4afe571521b0fa1a58adf1610302a5b665826fa59da1a70b29dec2963ab10a3884c58d2e8c651bef9682e82459381d55ef9911248dacbc11aca23281f6265ad1c6b6a502613d65af37aadaf0ec3b470b7783c6a7afcdcf08e83fe5029b2fbde9dd48eed161b36177647356e74d764374497c6a91153841fbdd6ea856d27a356d8ea7796eb371ac5422b255aa595708d9f2c0cd43b3a5a02e04de86c408d66212004f7cf26d257aa3e80bb9dff4cfdf8510a3cdeb92156d3da948214e8735bdc6a29f409a90d5e4fce563dc93758c174a998f749f7029444527cc389a6e5ae0621802585b2a5f4fe9999b571ae61ba70c8a8580b4f48c01d396e14276faffa438a948905c63d6ee1dead8575b2826bfa1b3de158019587571b4175d66ef8f7845c740a1b174e6de3a2fcb2d777ed94d53cc6a12390b58d80f79573803a28ced097f8ba77963ad20f14714aecbfc82fa71951a8184947d0a75ecac21f75d86369621e305f4d356fdc20120fa9ce8bccd8e2c04709987dd1c52d31bf32ff93e987df9ed589960e2c9d93b16326725c35956b82d8d648c1b721517858b623487fa31bed174216385a071b1d3e9a941fba27976109a9c40bb255a7a9e12d3664c9baca51e4177ac47e130b95211a0ad8d8df64574db66dae0bd120a9c694fcc1ccea9dcb780996e872e0a87d67388238cb313f31667b96f824d79af5c6233adc8eb9a08d1017e6a6039585149099cd5eccab8c42fde614d21c4b1815200eee5edd0f81e586c4763ed9175484ec12fa0116e5c2a4fae9502bb6cec4cf2c9b4a091c6b4177f2dec4f4294b378658c68561481fea577ffcd350230fed6dfe09c696a1e8680aa2348b2d96f72e04aa85b88b8a9a89f108aeba216c98849c7f21057105c6c5a6d90a9d60f9631ff7e31bffb5d46056123a7089f84b042b5b49e8570c3d8be3a710b8d6229d40f74ce53c1c421cc134e479d3469726442391ab95eb9e80c1c5972ef125eae6864354e5ea3ce7493c3020fd8010ded9f0efb523e5f54aeb6b930493b0399069969363ebd6dfcfaa4f8b2ecb59e842b50ea87b74afab20c7c5c69dd0f0c5ec9188cadbe213b5d98362eb71df35c0fa0d0be40ed36f43dfc768a015acca070bab5cb08882f43b4be8a924df76e5a9e0608e98831d850dabbd5ef724578779579b1c89a3ebc539eff64d5a11b82e50b757bbb9f82c039403ac67f835a7d68a4d8813c6300500882f4378c1d0760d3b5d713db86830e8f28821d97cb13bf28f44905627d30494088f6318ba9b7c3eb3f7d052edc0061123f015867e97e44a03059778621ac2124fe5a13fbe7ffbfe69aa55fb272e69e52b951554d0ef4a1bb535dc57aceb2b370bbab964d1ada624c6dad0dc620883fcd851ddd1c96a3516ef411bf8e916e1b4059ce989ad29f7135094470cd35c47c041e5c4fc6da971baca1a0343cbf98fdfc9f19d80a0b9b19cf17b739adec6be2518c8b0a0ae9097871ff2d00355deb3430200cf4940c806e5ce5824108bc8045ee7fd27a9f9ba480357850953819d2a2830ee8d22ae329bef9b7331d829c66e51757cc3fa2e61ca595899d54aaf66ffb2d725f53b162e3153c4d3d6a557644ebc8e9c5fab1789577edbe99365b857162b0d7ea0f4bb0efa1695153281b991d9345d278fceef4ec3b6e10e624f5d31a447796ca0f5008b9120aa69f5c170bd08883dbff080b20a628048c349a42479b7600f949111fc64f48183300425eb2d06c416b2995256207caa5a1411bd6cdd101a28a5485f4d8e1c98a6b948295b44d4cd53215687a1a3fa5201b972169fe29f894fc88ff278e267bb6c443ae66fc7e66e4fd87c85f65e602cded580b3f0889ca558e89e5022aa40ff48e994f5ef2237a5da562148908142c5e563ab4183b12e9358c03de617f20980021561b09eb41879d43e3b9dabce92d446588aaaea690326286b7b2b8da8bd6bebb6d8d3f6c39c8d531369f016b8ed5e192e26fa2e2131a152d24abc3320e65e169c555093d2edf32a32a42331d2dca395ddc714ce0a7d55c95eb9620e7106d833c232dd6c3587efb8cc057a852120061310a6f2322d1363ad35f18f861970721f817bf941b3334dd59546604565d1436903958fa98a0f08a3b2a0efeae3f596ee2c6e6767479680fa031ded14dcc61e52661163b3b7065a9d555b52c080a777bfa87efc9014d2bf16a470c1b6ce0bed6f91375bcc884c885acce990d015b66d5d100a984ab21a883d0de17d679d2c224c86f3c1e4b5e58439e3a06d67ff50290a9dd270126bf0c4c2276a8dd4f2782065b0fea5be3435dd5f016f4dc9a01b66f960dce7ec7dd9048e0e14bac5f9653bef7343711cdd89a366d6c2c00b864a3832b15dcb735c748c841351434b27170f892fa5fc9e994be1b831427ae863b3b02dff89f1ccb9c0ed04a2018f819fdf43d08cd8a75b9517ea4066c835752d858fbbfb76be71e456525c7fb5fbc6d4ed832cef8add0956741e87612f0596f90ce44001ab8436bb2c7d7458cf358e3e866bcc79ac6c6ab38603459fd19df057112d913622fe351524521035bd81b1a5a173f1ab4b1baf8f9662e5084d9cb95b2723f7ee3bbc71abcccf6bc65bc5c8051cb8497b96b832239561a468285de78bff51ec2300e40eb17ed8f25a542aa621ff0bec8a3b60789d08702ff93c27a2408ec0b3d25d04bfed439d257f43ac8bca63590f0cc3a92ee02816846f334ab0094354e46973d98bc248baba138c656dd877f33a84bd6d49c4eae7f538b354d45eb93a667358f5c26c530ad9f1ca502be070b78080003b3611bcb086731a8b0fafe6f6fc66a86295ae5151e1f1debca80ec60fbe2704268b332b8a707954613d93db36505abe0b75471ccb324d60f60c85966a6d5cad729ca3925eb0fbe0fcadd37e87682e042e8b9c24e51986acae5dd3a802b422bd678c1fdb090dc7b62e5e6813af70bb19eb95d9e8edef82d37a8ccd652e287959def8699095051672fe56a1a02c3572ada205954b01060a15831fcb71de5e6e0ffc1d2ba760318e51929abc0539407ec120c229bb0b11d9618b361a06b937ed70aa1e29e0caa525647727275892f6eff8cacda473c24574d13ab1a4e6e96f0634341c4c8be054586a159f448805b548dc4e241543b68ec11bcb0ef896210127d824ebb5e6167f19c66357d18bc40297b6a2abfe0c234311650549f40ed92280faf9abcb90399782ee4fcb61838343e48657c080e7e64447faed9428c15edafc36d49b604b4d0dd4c533699c3112945690d1738e8aad3b8b69ebdf3278447d18ddf0a2b41b36f358f0b82b0343541560cdd02eeea8024fddc5357e58c0a83e4865f963c6e89ad931b83cd4d917660247d9ac73bb80e96e3d2e6ac94ca7c08eeeb6cbbe9ada4f0572219b053848b432f106f962e01968a162ee3163f6036ed6be3d2f5ee2403d7e0559a3c2a01f160822fdf6b8be0188d6f294cf6d4688ef18125d6e591784628fdd40129a363887f22f396a195c987ff1c5d7d199c34bb59abce0d6ae2aba5d589a7060984522b7d3d855478906b1b71168ffd7831745dabf014c54dc1b81a1c26e78c5d70af1863e1f17adfdfd8afbd9705aaab507f9941e4f75825c0b0f38a72fd83097f35344f4e9616098d18a7833ecdb5cbc525a608fde7820db46b5d29373046bb957d5595859b7baaea0e9de02629d642a0ee82537331b2b24e0326ca2fe32e9148e70cb18d9a4baa5111a14479fa4024b7311db6480a12aa81e8d007019670918cf235a3a0f256ca4ca8268234ace86110a2e1230b894a0ad5574751574bc4151b8b7fd82f21a329ee244da0acb582167c7e5deee1b30387b0304ebee043247561c4de80c1174d9aa3a6fa93724c8d94fe54041142e8856f0a5df4dc51fa5cdb74f7258d5ccba1d2fdbfca0f02d74f7f47b6d5a29b31bcc18c724198150fe261a58125123380185cdd1f0e499a696a652f523f396dd54d48161beb74e68be9bee0aad4a1b6ba5f5de05345c3a806711b6c889ca541b9d6f8d101656255e816df4b4767b91a440e50fad5a2c6aa31baaf2e4f5f7a747c8116a28290d2eb0d1b4f5acf205f1ae0ad34690ce10ec149d77ad2601731fca1b13fcd25b06843577b73ba6057c9058515684266fb6747937915c8efe4fe18106a5e2dc7f5d43e1dfd873609064548dddc5cb1ea4f43db3abc6ce5a7ee1da7980806867af89bcd10e3a94888a5c3c9ff66e58c3bfa256216f304dae65bd2ecb0afca82f8bbc866581e64154029ceb20742204a5d810be25e7f719968dc4d2c52b233f5e3b8b717c8570c36a5668e5cba6c0e604e43fd6f016e24dcaa8cb2dd51ee8f544b88be0214e1a206e491867fc8e63423d45dac54d3ca7184671d33e3ef99190052e2fc262ec720c64ac4940182485a50b76c13222a58bbadb6fd48ffaa45c57e90238045bd4c326d0d485409f0ed6739dc1287f9805d1180177051f4a92a275202743ac862300c7cf05fdc4576f95763a82e51b07f4711a4bcdc9490ad400d856d8ee0fedc4e42fab457fe72a35c37ab58f1709ec8b1ca508f38678f3213749eb24876ceaac3e5882eb8ec150e30121c2bfbbdc943cebd8482c3185e30387fbca5506c28b7045c8bf161e2a1a17432b19bc0d49b67c2d9beefd4d8ea314e46eedba20c0d70a66e6fc8c798c9b68c3289d4e5b7e35dfd1f520cb031927dfad328e7350131a1bc999b0eba3db3136d53bd9c4a1a539a9a96d82e0e3c73e5e17885403eda6350e6303f2d2b102a326c1ff23dd59254eb3599dc61fac935cb96ef409eb568ca6b07af749051258c9eab4610369556ff73eea05b17b7e84ea5d706bbd3da259babf648e998b00f4ea6c77d5431018adb54ab4bf423dd4130e4c732981b06ffd59f42d9a556d702d9c9c5466591ae5722253e7891edef5c6cc9048cc97f996422d5d2cff0fee0011d31277a6c47b5c6e46d250fc53e7553de43cc9a076764c37384dc252d32ac6a77e4aa465d808047dd6cc5ca06fdefc7403ad586ba2a6b6ac3423f59a99eca94dd9f5e4688d1ba29d6d2fbdaf0938592e3f63f67aee9ca0caf1187c6d8d39a40a0cf2f5fd85c447cb7c95902f2d6d4f1402befc3684050efc9f72767ded33c49d64a674b120214f7183c34930a784a6aa9abea65b8579ed8d22ca426e11cf06df3b0e420c665e067ddc7e6f5cf4382044895f427727285be04115986dad92731f4c5378a78889df07f13590efbf1e7a0d7eb9e6cb0fce33c8b8b7a0da12282a2eaa149cf2caf810a113484be2e688235f86d8f7c2bdb9134f7becd5df2d64720dc30d280fc2ae000310226abe6fb50ab531d0ab7199a7e22ebf34fcbeaad7eaeff4f62c9160d9e8e636f287f9a05451e28cf96246494d538e9dfa6be89f6db5272ce2fc371d1903016618b90fc5da4ff1f095882b7a1e9ef9b5dd513f12800c8ec9e8a4c257b83eb47b4a63795faa41f9352a4354f2ad9b8be6cad724df0f616f0c324d880e9c353d275f57b7a2196922df79b41502efd535287724771c7cc4510e16c8990bb7baed2b90ca2b636e26276599bf6aee8f6901203d9b8f0e91c176aa6e39beb288976b575d39e3e135ebead8c285adbfea13bd1d4cde6cad78c26e7f8283f22fedc020f334a968ad1e0246c6eb2adbda9aac7df2c4b531e42b784e69a417e0ea43b344243e1001e4650990ec542d42e5027417ba57af5e0d936fa93b2b3e220aaf4bfabb50070f6bc957e3fc203f3914971115fa55d635044a3073553bb38ce2b0886d681e07a35a6999306a1ec1b56afd622e51aa32c1d2bc34e4d12031647217f6e5e96c24850a54bbcf206f1aaa6efe4779ca0dce89b7a30b9645cad0aa29b6a4f569aae5fa2d4071df95bd3fa95e56010dc90f50b0e1cb9eedf3d29c40399f04cc586e546fb24b084c437edffc9e16102d9964d0d53eb0f98397998d9ff394178e666b1fa9746804f16265b86c7f0776e8dd9dae467f8d279aaaba3bdc9d0280d93d3139846d75759921e2a8151f545cfb8e80c223c7f527af5a44cfd31afd8c904062358fa284eb79c16b8dd4c288f6d8b5971cbd68ef3cd1cf3cfd066070093e3dbe105d4f7b6729ab51da9557671fdf2ba0f47628c1789a0161008b2f9785dd64f03cfda6c6a4225b2bc46d52ae1c05a8b13d7a42aa2562174fe9529828954ef1072dc89e941bf14dc2b2978e26f6ff64bb69a25e148ef9c45064eb37e483774c64167c68948eeb501440e354f92a9f5771a1c3f5b94e341c477159a8424467eb03c39aa276de77621aeb9ab9a97becad75a1156900e83316c8539a2b3015f3b6c9ec00091085409e0848d2873fcfc4e834c7070ab4ecf1a626da216c7b3dbe8be69171f34145653012f9ae486ae049a509a601c07096c4dc666406630f0c7c31f12f426235cbe0f98be561083433bfcfded4b5bb59ea2cd90ed4e4be0e0b5902676a4c167d652184b58e2c82440afbda8855961c338142ac0887df35332439dbbb8e0f02e34ad1c615392fa9949e1da6141925e6727d506056891c55ed60d2c78ee321ed3884c650e8a3a05a97fcd11d296c2455b44068afaf77a775412682188d113e841cb64081293748c637c6a10878e0ba00ca2910f249526c835f18a251c67a0c270dacb8546b0861fffb59da5ac011f802b833aa2597167da983cb2b032f402346582beae000c5ec2393e442a9218dc80a40d64de01e58d92dba3ee8ad46bfe7a9716ff7cae3e6af9109420ffceda45a575c2f452022e982b0f036aa6d40c8442c7a896ff7ba1f531ab0de25075b05e598ff9973562ab25304aada0502c936e0e9cbc9bd798590fc310826c03f0dacaacaf4e0501233c1a13aa9e413fa7c878f18dbc5b90b6490a1c0758e5ac5e272bcef2188e5c6494ffc0f4307220f0ecd0d0b555cc4ea9991cd8ba46ce9f512b8a6af631ed57fc5c2780cc02cac5bbc62d65bee0e25b0ce1001a1954830fa28a3f9b2b6608c70b32c436072ad8054fa80d8a0035e7f4898a7f4c058cab4becfdc28247abbe1040524bddc8a8c774d0a8890ea8996d51a8cb6a412ab4c92282d3544187f2aa428a4626e26161c252c9258cb7a3aa952a817c0e00a94f7a20308d1a0387d9e3b438bed4d1f648270617ff5eb1f3dc1829a1ba31396726fa13a881ddd236c9352d67de5bada1585b1eef0132861c4a0fbcd977c6e4f5cd9e38e78e445177276787652e4a0d75fed6a193267debb7cd0488882e0bd16d4b761e87db6a500ac06eda18820d8447d068ee70e9e3f0372e63642b6e096d8250602b2812f98f939117b063221f3826ae69ed932c5b5028ba81c3627942915ec2c246ea992653bd35718c6a4e45fc99a01b0cc6cd0507295371d2975e518458939f5e64be9bfc232e20c65052fca6b166f8e4530f339df78c9128125eeddc0df52d7ae475498b7bcbd53ff1dd4110637f2aca51f404c196f288e5d4efab868aebec6eb9ac8436b0af20723ff4767d37ebeff6363201b856b8883bfec5745f6ed954005471d4734c11292b1518c83249ff7ad5d892ea65cd24dd0a91c758fb3e4cbb22601762845d9cc28cccd54ad4b9f371a7c46048610a2bee76d34389974496b6d9a716a573d5615fa360adfafa612394ac9a816c74905cb83e1a16c44c4c81f359a29724136477fd3d20bc6c6d83980f82c63efba1017dcd3bc543813abc2d4312de6ca0627fcdecf5990e2ff018ff5ea6f629fda398627497a286b6ac035441fc13e6e74d7cd50f5df228a23661ec1a31e6e7ba769aa070de125595eb539817d05dc895e337e63af81b336b38968ae07ea76771e00b5f507e3512741a5d73a3529a2b63da5eef0e7b5505ee3b645e694cd46f13959aabd52378aa7745df84d20c8df6cfcb539b8eb42a6b34a31877ad31ac1e9ddbe0a6a11e89e8161d9e5e9b560e98ecfb1817ca7f488ce8f5501f43374a3bf2626d200ae591044419e2142c357b24cfd30f12d3cee2853bc4ea9ef5ec9b223c0f81c4209245b8310b47ead578c2fb2c5d23c7d55cd1487641ef8582e14f93390b7739715a2b03b7db9724124e8b350c48c287da31d61c155215425cefa33d1c3cc8c422efc07c41bd10055b5881e24870ff5a1bd59bd36a37e5e8f01a0ac3e71b72ee310cfe9348676e5729a5f46c0f2a558c543e4f06859af8bf1994f93244fffe8c4ab7d4c21065dd3b25a47cf11e60b89a00ef49a5ec3f8f12159572db58760ed628e4a35f1f6871bf81b16d46bf4668e4c10fecfe848c82bcf6b05396c25f53035957c8dbcd28f3ee9d911d2a25eae2905f6633ef5ea8f281fd10712507cb4e2663c6136fd00cde60da600d71190a1e2b23edcdbdaa3ffccb269cef7b7e94c69086d8261e40243ac24b959f16b4e22033a05f5bdbb8104b4fb2979d663f77e64834a222eee24f10fd0170f15030942d59ff53a09de2ca0bf15d363f4156e5da959c4a8316e5aae2cfaa810b3c7e0ff180c882fcf5aa03927bf0da00b9eb447f3ac402a73c408c7eb859635b1ee505502dfbcb5b570f28278974cc697b762660299215ac56139571c87faadd21eb49ae8312ac8f2f14b0ad0df99accd9ea60342d584d532394fb2af3ee5ff85d6b618e2b9fa28dfa6ad0467564ba2c061327b0dd2bc027903eac793fe55f05fcd4fcb78f4401aebd02549b841ef972b3fb6ae69fb2fd8b5814a48f838267a6617b75c2975cfdab75ae209afffa98f4f5f1f6f766c45310f0976a084a921615c8c694eea46256396fa526c22efa7aa0c71bba684a610f19c2080f6b2ccf37ec90a4038a0414faeaef9847ae5df02afc6214d43c71647f29c2e6ea63624bf94354fef3fe2bb8b5cfbc345870cef4e41890c48987be667c4a8069d70b782a4c3d29fae040cc0e7bac64ea43b942ad871d18b4341660232610d71e4d159161289eb4cc07bf773bfe334c4bfffe97c589858c484a013b4628d7f8d8b8f5fffe4ac3a505ef91ace327b92bd44184298d1bca3dc0365bee67018df40d10beedba9d649cd7e6b9dfa9dc368e4dad0b15333cf79b320f4e1f2879bb178b13a4f1b831b24b1d990fd45e3af464c004c432cc3481f334bd45f828871f55faa81952bb311ca2c64c2f7e30ea872e23c629eab0f241e46f67ffa8f0101412552e986b6fb61662e29650aedb20acdb86e46378a63c9973ae50b70752547b1ffce05780f5b731c02a7407db0530fc6cf79ec687677bccf8a98798b9baea62909f9ec5a2b3edc224ffa79cf3a7d340242b203ce019a9ec72ef7861f92560d79d5aed8eaf9dbe617556f0d5ae63a89f4194838a4bccb315bea2621e32860de08003019830d6c0523016fe53b9fa700a1face96bb30fff854fc708aa9288abf3fc86a20e28d568fbf89d18a6778ab59e875ec5cd55d6c4cabd859597c3fce1f736133908e88abbb090e2315f0a292d5dcbbc51082d142f78bc75e17757101b113967b3a20a113f63fa46f4bbd22b08006b039578ab6b9df0569a1102c7eeff808425aceec6ff7dc98a422dcaf00fb516ac82ebf9707b601330f3df6cd8361e318982206f71a9e1d9997f73dbf0a123689481034a3376715b30161aa70309794f7dd64e1252dd03d16cbf9d28e4b6e0a901b51b88f088759f03a56cbae9a00433a0dcbb74705c2ffa3aeef3b460fe5c4c5d1c1dbbfad6ed2cd39afa884451756babf712c5fe1ba3c328d6daeeb6e59652ca945233072f07e2066177bb67f4f2c188227dcc01ee0bbb070662f5baed840c36a599608e261483feb17d7d992c487fb78b3cf632d23f84bc645116eb971051f7ea5e228e8538596344b7ab9de80b67e73536c052cc39b9d0e4423246b0558d7d50b5f0820b71436afd9ed299ca01202c3f3f20f8cfd50aabb00aabb05a9de8c05c58f97119c355a5adb022a5d7ad05eff8e94147a995fef88fffc40f7d9fcc4c8f2e0bc952f6f6dc32ea42db67a465449f9b85ba25ba610d63e6df42a211d78968c785b4ad4a23329a6f4d504a99f2338d266300db304dbb5c17ee3bf1c97f0502d420a08cca6432d9104deb217bae4896b26533f3cfcfcfcfcf4f11067f5cc517455b6ebf2422a2e8d72cd68a55c45d52b848b39cb0fd4d08d822fcc362b1582c166b4ed18f4b29993bd52cc5462e924aa552a9940c0f442f51abc51ca348241289461fa6ae8b5640449cadce69d21aff48e0010e5881862233887c445f08a425554ba3161136ec92a8d56ab55aadd1089499e991b29981062537abae037ea5088fcc23dd04aeca6c0d5da622dbe176879ca8b504522ad1a8b48182b084dac21754dd6432192df9ed6f888d14b00c4c1b83932c65cb66e6542a954aa5666640f01f28868144c9aa75b6ed99a82413379862475559f85aad2d95fe8166c208baa271ef4fb812d7db478769d8a3b79c2089285669adb3c3cc89989154e7f1168f8c1d6c7fa7840502b29ce8e7171e29dd398b5d11b980c29d9e132b7aeefdad83da673272c3f8474a0d343359201aa6f9dd8b9ea322930ca36f799bd1b77c362ddf3e2d5ea9be60e45518d892126c3f8ba2b79ca7bfd0573e64f47c6d5a3e9c108e149cee458fe489a8fb4c1dea445ff771dcdf8e31cd741edee1531c8af3c49c27e63c31e789394fcc79621e739e9803a94979de729e7e5718dedc247efb9b9f1781c45ff935ee53620ef6c85a319e184f8c878787674eea3660507fae54998cc56235aba6861357ba2ed4d970c2d6e8eaad2faa507a4005d3d02f3909f226f58acbda8a7e29db3af6354cf699b8e7db594de431d7205c28240ad2b11aa669994c1614abfdd3b2209b83535ac6aa2cae49b0b1a68f13c0a08d10c5e0ab7ba3d42c98ec61535a06ece1a06c660521b8fd0149a564a82ad1db5495e8b3d18080124444d011412c5995c96433240919e613fac215c290c9b68d77f448017109b274cecf9666b5aa2883e4ce13b95ab190161251d6c66cac6d8d1b5a4b2975c2fa0b12d537acecca473fd85586e2b2c40d40ab2128db4384dc555cc9af579d0303a35a073ec5562e372ec756bdbab4b99f19cc72c082266ee3e8800d3926e4858e570810b292abd56ab55acd29c3c504c2327f7e6c4769b19ec0a278e14da8e886ab0419d81618a66bc2ceaf5263846dcfc6a59e642396d0cd5a295d829d5fd82e17e4972e8c0bea6b4fa4be0ef83f407e524a584f3210c441414141edd332253f3f3f3f3f3f94caccf00e9bc362f1c4aa44813d79f5b492a02c96b5d3d22f12515b2d12457de937860d4b3f9c62b1582c164bd3667a7456ccb9b3e3e212030411d79f7bc29386a07de0fe817d54cd881ec20231e42bf84a110918a1817e12eceba46b9e29b9199824b2b0526606941f8217852c59b264d9993b3b3b3b3b3b94d61e9180c5e2895589027bf2ea6949d91b5022950405852e143029a594520993286ae1c50336a8254412254141a2a01994f8f80485a124680bb5102c7dccff51d33c42345bffa84ca3fdebaeda454a22aa5933b09c3503c740ba39166bd600825967e735c589ab496b0996a6a343d39a0c8e2a3353f2114d26d3ae4c49672767122548741888bea6a33364fb41ad952bb78cbd5142ea57db38f4c93f04b163818a6c3c596b75b0fe28908b501888da430bbc43aee88cc17ef01aababd56ab55a6d5bd7c34e87e11ebf9fb404d62ae80b1b7210f39cafe82b168bc562b1a4ecaaf631081ba65274d3c1562f6c749995c6030331a7108b702c61c49d1825ae6293ebcf12d46844699f8e7570ce093a1010d38c1c8bfb584514fdfa0d893f30f40e7981c2c68f0e04040404e4400ee44011a8cac0b55ae9b89668d2cae14962e7c96ac55ab158ac9625d89063be5aad56abd56ab57289c46066c97267870b55dee135c6186f586774b2133f6ebdb3f5e6d1ed8a0d7b47482c16e3d84d00d3f83780511f4f31b08f29a47f1ce0430e421655ba06ccc33f0c2b335f08da608a08ec8ea3b81057ab0eeccece9ca32d6274958de9611ee6bb8179d3c7a43f6c20ee391a81248d3186628cb176309ea9fb1bcf4465f24ca1c7f14c545cdf38c57d486babf49999116936307fe3bbb9f1301ff26c4ca6e76edcb8f1277c0e64d2fec69f80c2e37814b43f41c3f1386e84ba19344a1a89f49b28c8cbcbcb8c195da8f3ebf221afc66b9e0d1a9edfbe251b355c6668df1e35cd97e1f185f15845b29ec963158c57ade42b38c19139c618639cc59f184694d108f3f1f1f1f1f1f1f1f1f1f1f1f1f1e9aef4f15f9a93b2abc2f691a640b396340f4c50029594d287f6a52f45c13c17c084e3c358e5fa4b9f888ab55a5b2ac1fc83a04967866b1c6872013a6ec8b3397947cdd6016f79cb7db88f154f4216732bfce55334198b558e5934fa2a2abd98a7f4830501879ee57a14e27ae84db8a4f7f72598c67e4e0e9d452585fb1daa0ae67374522a98dfa1aa6c7c0909168c2b4a54d81cb450f1084c53dfa7602998a6058946499d783a82693617820cafa21d07d76770fdb93d06d73fc6224ad688b994c292b552a76fb75a6211d5b1582c168bc57a369b952adfbead6fc55028165135b0182c068bc99ecd646ccec9d56612d6d0cfcbd5ae9b7517f26a5c6f31cd154cd39d0f4fc678074aca98b764cc5b9eb75a63c8988442c648af908cc9582b7673c039add351445083ce8b4278135ebef436b2f0c9ff5572c5d60f20886dc05b9ebf3c5fc2f3178f7985d061c00208dd05cc03c0a24f1e51ce049ffc91500263e65dcca828e540a7067e85e80bbd35fa424e18e1da7bcc8714fe21759a87b79c08a6e954d03f8a609a90f471d8f5f716b98c4594b7a44eff902deb32765b3a2d6fb5c85627ba009ffa15d0a77e2674f370fb07b7bfb82b74ce6d9d68a3b45aa3910c36f08e76711db399fb70569418c68e9451d23893c96432994c26735904bb0a1bf6470a340b2785bfc9f1e9c044a5c2c7bc0aef0fe6787f096764393ee663be9b98cfb1a47f6025e747260b7be654f44d5ff41c4f91fc92360b7d0adecd121494008b2a85d99518cf6413f33a5ec777a3c2c73c13551529c0553a3e8767b2c9f1a73f7d37a7cff14c549c0a9ecfe209289e54f04c36e0abf0e0e73353f72a3cf827cf6403803f3d003e073a7da6eec12feeb0ba4f0657e9781d5f54e18b3adc5ccd562d98f79f4de66adec03427bcffc4a17f7cef3f7398a6736dae2de6da62f4e5ea89bd7a5eaf9e97ab27f6ea79bd7a507818efbff3bcf88af58fd9a3bd5c27787e3fef5178f568af9e13806c3857b35544e1d85e73f5fa106cd98c15d830be4cef1f5f4c43e3fda3124ce3f2fe3106fde3e5fde3124cd3e1f8565a8f0f98ef05b3d27a3451901bcfeee3c617def81b1fd879ed22e70b633279351ec6b3f19d57fab99aaee6b1ad5c3d2e2e5edf97928d1a5ed7204f578b1d4d170d4e369bd1d59a98c363550a9e0db124f4a8623c56cdf06cb061c6d72b5c32bbdba4b3149323bec80bb78fbd9013368c44d8eacc8b2faefccc64adb4d2adce6e24c24aee044554cb80c21802ff88ab99175f5c619aeda5cef591b39418331a59ff48cd64b3545ccd52b3596a36a3d473992f3829a59c1929d5cb3b5452fc409fe3dfcd9d67a539655c2d67e68db7e6691e8ec706140bc5f60d427fdbb66d6b1e8d61d15bee8a3097744b3b5627faea3d1290951fa6421f56cd0614db3c4cb3d1e000e6e14ff300dee19fc441fa586e88bb3320a1491cd5560001d2a3878c4cd830d81684a4850d9b07c6c3d330d846378f06cd67fbba2bd6e72b6994ad4c6e1ef54ba5197c36180c0683c142210753406a602d5cd4208a2d68533ae9ecb606b04ca58a24aef63de79cf399c6bba7a74d51902148378de42609bd0c1784442d3021793748483fb2303972b047d8e7d6d07dd86fbdf76264668eb0cfed0ffd14c5a0f51776df4b2677c6d09f83403c53bf90c0d6a480b0f5c3d4e6777e357108d24f4a49331d179aa6b1c6ad56162422241165dd356bad8c53c66923aa8938c2be5008b27de85d8821011f584037f9a9c2091934e91fcd43031334915169edf83861edb4769a0059a149689b6299775021b196acd56ab57847aacb7151580f75b98090946a9339773084691a0a7ea23a614396d9600392235889af48d890819a87f5cd0051202096d4b84e26f286584f8624a24a2559b70f4b5b6599fcb03a9d437012c57d49dc91b88060345c52b680062860040f986de1f50d68d06a1e5454e033c614412e56ff3ce161b958482803d1f916e093bf1290b8a8cbe572b95c9a2633d3c3256387d3344d0357abd5ea0946855a348622f451ad4f4590d264feb8691e0d843b5939968ff62a62c1023a96fee13f8ea58a97ac67557c640eca9470edf5d2beb077b4be61b5d25eafd7ebf5aa75a6c7101933e83172e4c58739e78432e79c333a7db27dd5b4ba6d5bddbe66752fe0b8d0774f6179bda8d0fb0b69e31da12fd427ff3e8532604000b384058a9689cad4a1b7e13e64ea0f3dabb88f55f3eb6f888a896ac4134ffe9dd7ae78b29525eba4546666c756c1fd87ffd5042d0a22657c814dcdd96ac9523633b36c4e71aa8e66e865071b9f530ca6fc53abcac4941ae0600b4a95c8d8913058d4d0d03cbc86060aa3221a9367370898070691f860042b784a100bfae996048c147190fa6896a8a66d4d70ccdd2da4e7b7a5028c5e359a518d3e44e1a2fad530be815f56913cfbb355232f678757e5ec6055cc2b842d8400c20ee20ec0bf65d05018e456b537848c1f793a552563e42aeb996c5adebe6d79262aaec593e121892793fd8c985a8667b291f1a497f1913e53bffd56a31fe988c13f64f370f7b1c27b104305f73452f48f2a8c43f68adbb64de11d31681e4abcfa475fc13cfc9b09e6e161bf6ed82f97eb04eff05ea18474f7cc3146c560bab0af27ace81fa127bdfd5c13bfbb13c1a07555429f5d9f7263b5125751e7b5aa77d5cdaaac98533fec20a0e8aa9da571c35d82acc35eb8b0d4878e7b0e12d6928260437f45d8e8bb91120e311ab53c0cf3330df1174c369627d657a42d2c77909278721d70a4b4a0d201474afcc221484ffa484ffa96e0746bb504a7759ef48a27d2277d00fdf65b3ee426d8afc5c6536495cad5b989099452fa354e29f54b5f0bda5148312c75d114a59c24c2fdf6e13c4e7dee2382b3a9629d9a16dabc124ccce6f407c6938ac22ed34fc241fa72903ea54f9fd297694cdfa46953e877ac811a0bfdeea1efba94524a35e9a2df4950de41351a7390be463fe422c060ee5504fc3670b0db9be4939e896af34cb27bf95df7a4ef86f4dd8723fad0dfc878ee0b3dce48868743e3bb277938dc939eab3cb0f3c7cee7b8dd4743ccc0e95ec6d3f0a4d8704f7a211135e333c5fa36334cf171683cf75e3f19ba9ff136ddcff8f83852683c4ef7331e478af6d9d0f8eae33cfd120d6cf7c9784ec69ba28cb74f22c9d1933cd153afe4d524f34a29f2479f29fef6dd8b3e930cdb776f8a9fcdf69dc926d463484ef7713c8131723ccd5c1724d8fe108ca7d4e54ff1fbd780334b3a269acf2838c9492df4a95af934775260a5833fd66eb58a86d0b8b048e61b098b5cf9735649bfaea6bbbb3b4e4969125110243b58910ddf2448acd830b5d33b4e6a520700a2eab93f3c5a0d5886486e0d49243fe7e5c07dd7cdbdbc618efbf6e21756f935b1397f6ece293fcacc979e6419e6ba3dc71e05644299bbfd17d9e5b5b94764a4c7577baefd1a90f66a3c203b3604ef6c98128ce5c67d4807e7c304c14ecf99fc73fbe70b99f505a03bdfc651ac9a3fc89939aa099361c1b511ac3fe71ea34b192ffb271de418477c04fdfe89b3195090735bd7e77e062746861b6209cb5452e87c1d5e0e3a1e44400a9787e8a87150c7cfa943c7b7273f1dade36b5c070d5262074731b0a19724b05bf394970f8ff04efcf6ae7ccf02ccc2cb4f0ad4f0f2edbafd7d7b7777777f73cacbcbd787f1b89883dee360b45e0b936f26e1a0cb1da671e23ee237a738e83e662c855701858fc1f12798fec6b3cf67265d09e460950b735d8cd01ee38cb7bff0268c12d81bce2b24265897f06f8ef7ffb0e4e5f8661050ab385e19cd44346247fe141e85c7f1262bb7fb2eaca491e3a537e339c737ad38c8b1e528c7c39826c7cb9f2a7c297c6129e60bad3de10beb8d2f74bf329e9d3eb38c1cdf9c4eb8b061af72742eec27267b6411a5c3868d0fed75b161e35d3eef6bbcd441614e71d067cc417f14be0973f025081d9ee73fa52ffd099fff941ec757fa1b5fcfcef4b1835ff8f21ccc6da913ca1bfa9330e686fec486a63161e1845d9f3b5d8bb7136751277adcc75f75f05ed7c28b22d4b0573e88b2b3ea31a54e44158119617579f6b87e990a0d8e10cab1fe4c572978cc1792e32a40f8d4cfbc71e51a3ab0dc1405a15feb27a9fc99ef280a425f6032238ce398d0be8b5888ecf5e5989bdd6ba0641a709c74efda442904b63fc61ce487d229a51fa9479f9e1635777e2ff41c6e7c3ab5e8215110ce32bdd071b8f13776cf63bcc70d3ef9471eb1771c6db1183d4a20540331611b86ce97bfba2d92bebad1038aa7f9d900b21d658c3eb370517a94576cc93952666f4e4a7fca18ac9cf2e68a10204b3d70f4fa83edf6e9816982ed0173c38ec60d2a3d280287ebf3e49638d6da41a7ea7ac00326f020ca955fed34a2084d8be1c1eacaa748e4109a3ce60b0f3670c283021d20b468e28899e84e66a6a12b50c17365e518952eba0842870a30b0d8514926ee44c28a3bbf071044b0e10c57c172e50aacdd781801bd1f00aa5058f38240538225af07806895283610b398cd2a3e1ef02c5cb20a174d1a0b2b585cf113dfb0da2a45e0e1c78afb63c59674106bbca0db2969964efab10ed60b8dc7deb84c8509319068a287528d17f4209345b19a33521b22b07282d1f54e56f3c49fda9bb64dc80d92a0a3e5d830ccca0c08cb9d5bd59aa94cd1c39ddcc59d7f80fe2af73749d3a0d6de1b0e9690c82146fbbf0f5e19076708ded9c3c7863347cc3ee458cac1f9aedae4c7f5c393c36fc4eb55bf5061435fbd4943da29b890578b604b5f92a1a0e81ae11df35d82705d82407ffe110f8983f38d38384160ffce7ac4999115ebdfa694aa66072f0889cd6f8883f367fcc06a2fb8f20244250a2b3722711ff6c628b0dcb07772ba1f295837ec2733a7c8918f58a96211364cdd186350fce2b74e642a5234e1c6193030d78cf29203db1f4650043ec618ff327f8dcbb817990dc1a0af959fe7866d0a2be4250596dfc61863d74dc199fa63dc9347b8e0868fa5cec8c18c0e6058fe7ee1659052e9f3bfb149c0cc91a391fe8a042b6f58c500aa4ce3945229c365ff863fe3ec0f817efaf2fb43b632843e37e94f5110ad027cf22464f93a63d671fb0b4901df3fbd7af943210ef6bfe0608b017beda7f69cc66d837412a9d4b4e875c7c12ab3388c9a009ffa33d01d61948d2f6cdf38bf8b52ab68c4752351c7cd9047bf1e012ffd38a73744ab577a2fd0e060b7c03f040776c74016fc0209c27e87dca509d7bf69956be7aac6f144dd938152eee7e3684f9fc8fcd087c3fd7caf53fbd24c6d7be9e3681ffa88d0a79f8d27ce7269a44f24f494fef638f34344b6e73e1ccadffd1f4f6e8302f8dbc2df3e29fdac9a1e52cda7cfbca3469f3df0987774f7837696aabbb3f44143d314e11dfc2d44b0fd517acc3d70409d6aa0c7dd66dcc78ccf4f4311a6093d7f8a81b00f4dd4b58cece6a5c0a7ed992b57590c7579ab61541d00ff8869f15c46385278c095db779e4b0d574a18620cf172fd5a7a0f3f310f7f200150217e20180c4ed98369646c97d113cc7ccc11b425c80d1041febc4c058bd80d7f6636b1c30e0d5a002301141340914e5831b5f8c013557e983c7c9452ea019eb329ada2c3c3e7438d7d8cbd4c058bd70d7fa676318636695c51848862eb6a69c23b5110e91d65cf7062fdc3b61ce89c1b8db854eeba3946222aaadc75d908db3c6f72417e7f7f35480739a2464abc757a27b268d4f7dff8475c82be8c1989a8a8e216893e193b41ecd5c15e71b644ff90539a87ffb7042ca2262c269bb2e963c50d6595ebb21e199bd23f24142ca9481bb88a8b1c7d3444cbb78848ab5abe9b25aad1375d3ab63f014c2e064a3749e9c616e4b50067a194eaa086384dc62f6ddf56b7b7db919999bb1d99a19a16fafef033853e0498b83711991f5f01333e93cb29607e1c4fa18fd6edaba7694ce892e8110a5ab51bda278fc4681fc65ced48cccbf69db37ed8da67aa1f02d8c148e99c4c68c70e70346880fc2d41d8feb0e34a2905af941f9f8b5e497e26edc3fe4cda579ffea4926f8c4de6d462ba4f2da69c1e4c163652396ffc8eccc420628c51442fc27a949f0df21e01afe3506296242bf60acb3f4bd65e5f81edee3e1273e3c721e064d4220a11ab34c9ef2ba516379cb9d22b39289f86fc4a7c6d49f2d4281a08358a3a1da5c5f8c9bb4701255d6139c7c176f26a3f36c60ba0f32a53fc36c5ef635a363584652a573c41234ec171756a34c7419e9a46a594af85a472ca2bd993003b652ffceba592b5b5ba17f21397a3cb6ed76a7abeac5ec1ad6e75abeffc5c151cbdfc5c4b0dcb9611e953bcc35ad9a0026c51a1b051f8e00790cba81a280c4e1d203c25160aaaf03a87c1f90d250bd93730385f0726c81b9664f1ae26be06cb72a337c718e9a87e45580b26425c6f089fe60f4f8b57c3a77992323ecdef3ce653acb9f1d9ce0cf9a9be19418bf594736a3e567499ca152cb8a1bd59ae68b9e00a20de871d2c0f3a3dfc47e58a1c74fe6f286345951b3e7dd252ab56eb7b35f1c45f37aad5faf1dbe677fd6aad95f694f13d1a81e388728f551c51f3c199cb351c8bddee7543df9bf7d503356fc6bd54adb9a1e9553e75a7eea357e253f7cc1df785456e28f471ab98c425d5dd071b4f2ce932338d88d61ac1c89123873ef7e2d5b4ea165872bdbee6c977ede573ded9172e6cbf0bfe264abf1b0ec6d85f04d7a5e81264bf267a426a1cec7f79d9d47749f368c491856519dec13fddb7982f605819a6e9db37f1bb91df7dfcbd837dd3f2f19d67f4f2278f37e3578aa7f92d333e4ef7f235173ef4dde0883ebef6c538d8f6471fd6d107c616d28f9e08e947f6715a9e887d192fe3c319bdb5fff65b629ff4a5402b2485436ce53376551464488ed469957cf9e12889a7cf483c75afa3134f26ede5b32a7e26ed33c9105f3e91f8f2938fd3f2f1bb9162d3bd7c221267f452ca6f25bf2538f145dfcd6715e803e8ef5ece4ecef93970901f7590dfbd0ef1452619e4776f135ff4352e628dbef6798181759d9ed5397f24ea6e2ef79abc21110c0ec3e6d5a06d1ff26e5418fcb5cf1572314f6ec92a7908aeb8621a16bcbac07d772d127d28afa8069662d392aa2fe33ddc07db96af63f144f29c25aab5816217b9faaf9e39d8e2c3e7ad788aa7f99293db77ddf7d4c0b5c07d5e657e3ec541bfdea45d9460474f7acf71968c3e5bcd6651628bfb224f7c12e313c9aad824eeb88e833972f4dd48b919bd897b56b5bcdbcfc47d43cc7856d9f7975e5c451d0767784286c493498e466f9f08e95b3e1c1c29382d2d2d2ddff22d9161337ad27723a5e5c301adeae5897518090b1b5ffbd05ff66b2c3e00af32c2d288d482e47acf4bcafce81d99f19cebac22b5202159e52c1e92c7aa0eeafcd4cd343778471dc3be5ae0ebb2041bfa0b0696ad308d0d2df075417e847d0e56f39e1a70f858ef11798ec3c7f6ed9c7edfa5216a41020ef62da2044bfad187fefae998a49a8b58e81e064ed4753777c60b83f6b26b08a0eaa8448eb704b97468060000000802a3140000200c0a8683e170483820932ccbdc0114000a6e8842805a36998883418ea3500a21638c4106004000080090ccd010050081200fc092d380c36d03ebeac74d7130c3ea1dd35228a0edf0d2655374a2261dc4e1a5e7a3c7871486024faef5743f7bab80eb55c71e97090f88a875b40f7a53b832864849c8445a696eadfd7cfb8d95f1d2569e74b5859e377b411d353d47b77c1d38a2a4391c7bcf39c9f7e5d8c4d5511082c9337d3ca2d92bd6f15ccc8c853871bccbda0e309ff19594323c96888d67325f164b42cedac79facaeee7161cbcffce001356fc050799a49ccf0e96afee29e748f54d49189d3818717bc007cbb208cb295b69ab204a8ed9f2d1ad898758d5c494897ff024874d3cdfa11083a9fe65e7e66258a7a9abfce426ac4117e4c12294bb8aa44a87d8eb27fbecb4b9a4c42bd268efd201aa8c09430e8f9a627ab4b1c56ba3c7ae4558ee2f52434567f8d5faa775282ffa830a12adce6c61afa736b3c4196a4ead5da28b2aa951ef6b540f928313461496bc65963efcf001a3321820e170b30a17a3ea75e88402e881f06cec8b408554a5cef3d502404910948f913306f5de92ca2a4227e4480df0bea0caa442003086f7d08bb7a217db59ed475f6fec3fb409773a8bdc9c42cd48a66450761662f3abf61e03815743d452653fdd6ef9462e024b9807623470e84ec526291a003ffafbac1c94e86e10a5ef3bff700f948d808cb98a898f032e7b079913ef6eb982f8df5b92349b0bc1d3768575c422e21f409e83ebf98b9b38fbd22807442030859717fbd9ccdc0922a8926c1736f2e8a1d22a32e87f4945a060ddbf612c5d80350479612473e989f0a1424d54a401982ccc6b084d11b52c93a888511c5c4b9b0c81d5d6525247d7d57be17454eb6ac9bae99fe4b7f55c0e217262b57a727bde9d4d91e251fcf28c8878ff8aa00f4d4a44f8a3ba0f3600bc785a484c3d8b92a49dee6e8e83f3c5e975de36e355513dd35e8f1e37c4f7dc3d8049e44dbdd00d5e52e33e38cb226d565fa842e8d3e003393cd3ff7f54a44d816d95f28451846333cb01c288857f1428732c52d1500d327009c48329b4efdb3561e8392122e77e93def803c2428111061a03a6dc5a80eb18c5a46a5aba2699a42d074b9235ff46bd33d07860bac225afc7d0fe96c383e98d5c80b85814aab21a3029ad46baa3818ea0c48693346ad648563ce76cc435f327b5698a42b8ffe7951cbca32f14218c8a7763349635ca81b13a343c4fa8fccec733543fdab3379781385d2a0312bcf6bf0da308363c271db6c4cce3342b419de49a37f9d41d4bf6a83c4faf5d9862820597af8faade86b54f7eb8c27b90ce7668fbd8aefa4e2385fbd5479311b7b3ab41a04983a5623240825a34ee5352506fc3ecd53a7aa77b2edfe854b4954aea7f2160e15a695cba3f6ecc570b6df1231f106b9514803b9820fe0f4ecebb854c2868528354351b7edc1b83d18ad84ad3deb2f19ca72b43b2e00fb80416d9f6e428d70f70706629f4fd65d7f90803041b1f54d9aa6dff84cbdfad4634427bab3fe53a8f1cf8237b8cdcf348f6c186fec014673838cb0e8acfb22c72605aa501ba43ab9c1a23768d121c54ed06e204bf3d5d3fa19836f3972b33e165d84b0780e7a6d97216cc26df1afa4609be7a469979008989e4ccc5035d8a6ef12fd17a96a573ccde07111afebffea53ccd34168cd32f81f71809653d9c6471cb8a20877663004a281e603037542406b0e0c17aa30a798efd5a69fc5b8edc8eb3cc145b4726390790aa6904a30d73a6c677ad350f31c87a2a5cd009ccd30739978a130d3e738c2eda04172ccd7827c780b5e21169bde5c92a011d0220ee99e34c087008de37590d1de6cf655a16d57e0a23c619a6252d5093d558eb7f4651a8f3d695948352208a7def7ff30103982867c872df15966b8ee9c0202b4b078d5c024145db22836fffb88538130c959c79212cbe7ab260fb3d844ce8877c10508c22b3707a127b23edf72dadbbc78b46a41677f8b58261fc2254025aaa0410c9f5c51fad5a2b690d2d85459831e7b6eb2a94f36ba6c66fc0e8c13ecd293f631a7327c02e9798c08311d3a8edb58fcf95ddb418b3895c18eea87cd36a8fa9eb8b10c133106fb8ed2c5579bce99d6c005189b35bfc17b1e8b6dd429f171983c62f8ac22cc2d93db85d436b588489cead601653b9a9754fc773fdde688f0cd0ddcedf9c07d881ee9acd96b2949664eebf11c3f2ee48efe33a93bab5954feb1d4e40a37f304d02d8fc4d8d2049c726287fc4fe1c5e896af3547276f7cd273ebbe9723b5aa89c2b3472a9eed7fc729854c84d61d5b421659a445ada1b21569780b09c65fb4cada22d3b43e25903dd0e986d5c6f9fd51430e8475107163f5a32f33f5e01ca5f80bcac248e6c3ca632e87663d4a8693c6ab4e915be21bfbab8feeaf8cffd92b65ce06787ad4d9872108e4351f1e1d3b64fafda912e613f5dc8c279884c65c182b337025ae2673a0112bd95a29e305d38928fed089cc90b28b41e78bd6fab3f4736862e010198ae64975f2f338d4a7cba7a0428730675ca31d9b3d5c80c6d6eb5648bb65eba51e13e498884a0eca7e590b44946acbcc60a6a1177900a1c1625aa1d9417a764eb6923f4218e11fab8d0374b3db3a1613e18b763ad181ede212bc394a10762fe64866eac717c277de68e28b0d9126284295e0e7ee158868d208ab5ddcf1858571c216d9c89d33475d3515d445f27ad5ab686a94d1b728be046fad7c19a68dea3a372cb52ac8adaa01924736c5b232c4b9865e0c89de771b67fe270c5984c4ae59a2417259051196006f932ede95d19df8fc1c3bbc4a548f57b8994961360a8238995094de323fe37b3a15348d943205cf8e2dd8e04ae1bc7c6b8b451c6753c7ea8e534ca9d8cc12aacac033d1281c622984489db292d360404ed121411819e8b2d1da0603745b774c688b143165e763081b93dfc87b1dd08299efae3efd7c785d719b6b4868c5506cb40cb26a4e35893528a352b8bc104a10be150015bd8c52fdf0a8bb06122d8e0cc5da7efcaeb2f60a3cae2460fce34435c2e035c5c2a7518dbc29c447ef0d12079c2d3f4c706d623b9c8e1e45f22f215041ef94f421089792040530c6d923c56ac7aeafbcdf08ce6023bce39f2dce264c258190f1b2a57fd878a6d72ed0c7a882169a8185172493fb9fc0b207b68f9e2e9a277f42fc53212abc3edcfee351de0f5c9329b53140aa70123a50aeb0e18209021e5270aa5a111ae09cbb308f70beb4b6c6e6b768a8333e6786b4c035ccf7180b445c963f66c036a3e27de86e98cd4023e46ae32c8dcc5e9aa3dd2548741f025879055c8c16232afa18ee03fbad4391c66a9e20943d9dd4cc561be4bc70acda51c9fefcf932e854ff1a1c48691a4489943e0c161114e92c5b8ce5ee07b516cfb29fe7018b2d9e01d582cbce089d076056515e372f047910b910972800f1805f12d14c501c3e28240dfe82bdc3b8d6339b059f68a17ea3673725b4bdacffb3a742d7c70371ec1089912e3f7edcd8e9ec08dccc7419d91f37f8034362541574420bff4c5e2c8c9304835d1821bbba780df0f66390428c4f1cbb3586ccd61857e2843b2f253b9346803d482e71aa276d75fa164ad16963d2ccd03622e3aa6e0fb543b67574dd5886af5a8d749ebb27837096ca8155c056c82f7404eb763ed9605e4ef0460723d0476cd7b68429a7e0a803e1d256ae4b3a1223089d87b03971142c62f444aae0a4dc72e3af767a818d0538c90ff6825cd99ed308164b7e440ed25a7e5e63660296f9845dbab692275f0b960b9604cbb14e486435df80e572224c22f137ca94f41ba7d024ad47c439d938ef1d6d5178bbd54c71e797f50e68f7f9e4385eec35dfee5b591d992443281aaa871f983807c3c2f0bc0078ceabb1f0d90339b0f5b0dac23ac32817bf6f1de2a262f14d89ccb78b8cb05d0023abf113d3f9890a15dd1167b2ebb1bba7f83a923d22c72b4550dc3520d65b47fb977ffb1709350788cd7289e12e6cfeb407752e67fc3f5f7d4f8c056dfa07994f1acdb547d28697a7e32f0d4e736c7679f1f14a2f9b7d983ec54b23bc783a55d6f365214555726b20ac3d6f8c825b91fd5e5a4d46f5914b81e56cbc1dd6643ace267b154c8a54116db27badf18de6e8a127d309bf606300b4721cd0fe3effb45c1b521b5c08387767485cd4077a86d8d4941bd5197e425d9c659db946563b4263b3b1eed4e78d1b30530a082f54c9b0cd8f74202aa29420d7f4ccaea5e333852d58a899b399c66abea0ba7add09345c9eeadcf80803edab4684ac86f1c696f2bca72f701c9b27607237bf75e43aa9fa5247d58289ee0707c00a96e6b311d18ba4ad5499e79ca0caecc24ef4dbc1571811b36fea54aa93c854f9ccce0e1a1e217b1893af3e28b5322b722fac2b1757834cfb79a0e8fcd785024f5cb7e415588505aee87aae2a36dcabb4d72257793cbc903cdad11391331fa8c8f3aabd1d3413046a19021aebb3e3c85c2b1b5356325889704888565fccebe8c817b47fe1ef9d4ad5e8ee9a19cd8e32e0b95073a50045c68d8fe0c6ebb3c801715b3554386bf4f2f43c06bd0b867e80d7b56aa2107e732309cf155278cabbfe9634311eca457cbad14235eeca946230042f2e00a8e6a6eec2b4dafe2b0823e7ac6967ca1c0389e22e8ba804e89a6b0f3616a6c178dace5456246e77bc8db315b4c437cebc79515fd8e4fe0f4d0a200e5be54bd9b74cbe358f240b67fae0cb95165c261799e7ad675b53fa9ba5ced48e7de9117ddfd20abca1c1d9e2514c9a71aa642f16cbbab4ff65b38061e98040631a9a0a1bacd0a966b43b70d30d51aba536ce15f0be6f41537233beeb111d398f39b0f0776a54150d410edf6e63b5d410e9e1d2bdb7e798d2242f216ab2e1117e473e05a4c77664d1ae4fb8a229ba39545d4713b8930a466abf5bac21faea277a14b3d3982cec295d96104c4bbda0e5f6a45b5abbd7ac6e3ae13b833a4e0fb2c31a42879595db5e8c2749cf73623a0182e4b2d63e45620bfd79a6b6a6f5a2ef2d5d1a5e055c51679418e3c6be14a922e7cba9af5589ebe75f0a9e6aa1a524a500e7861ede2afc8a96394061012a77f9da374f6a685e85467599b10a4db17976dcd15a9bbdefe29d7268750e1b70404491f27084ab7193412309b86318c194e100629077fe41bd8eb510e1a9c5b75c19a8f059cef03508e7b45acc45aa75aabdea1910db045d551816732887cc6235805f310416bb12612dd6505d449136e061b6f38544d160354963814db6a8f731193c93e9cd1006a2d65363c664dfd51e478ad9e53ea9d5f9baccf96d8578401fa40fd50f1ff0b86715b5f84dfc0709d6e883c67e2ca2d7b1258a994abb72d7d1b73abaa90d6a003fa0d7410d105bbc723ad7686d6f7c8db55b7ff08031bdb78117427b4127c9a4ca50fa7bb84f15aa335bc8decf2a09b6282370781870f07530b2d96d06ab1f53c80c07c0d6211d66c6db900c8dea8399cd983985124b5150956bd79edf4b40483327c09cd8737d422156af3908bae1a33cdc513b1606be5a29f399b291b618e5e7525181514cc6c08a4bb68176acbf65812297cc49b6b56be668b69f9020b940f008fe0255274baa17595f5d0be3fcdcb2d9864767a51acd827522b0fb4f3d868bd8d8e143a75349dba5559a7bf468151c101befcda6103de70231fa55bcf082ef1f7c931c8db71a318cdf11e0a67ad0c9fcf11043f0f93c3dbacb88467f285983310613c88c400183211692cf120537f2a19f353b8ce8902faa614900ed41d506c1125dbcff6760c9d8db8e7d894f3cd1df0f45c8f59c6b6dd6d156c18a707d9db244af05425eeb55d39e605fc04e06e554f02b13151436ce1b3280faf087f30e4339f3563fd45442391e2d714a074476904408de395268705acab701b12bed9ef48e17f78117a955a3b6b6f9ed5059d4e46af40b5a61c5d549a46864944360a0ac26f447cd71fcd8a831926b1cf2e325a1be0172ae9cad224a289e82c7024956e33e06e454de0375b178a3b1280501f97e9c8731059f6c1cf0a43e5621dbf1a0ebcef59dffcad46dcc83f37de5638be5b79c42b3ada9bd7ffe6533508347e4915567bc69b8e64b118fcc92c80937b62c086e5af2d0f2d6193a1d94b350c74bebfe3358e333d9660958561ade5b0d9d03696c3bcd2e271f226b46654c5d4952962650b4191b0bb4eaa2a4964638dcf52482c8ddedb75107313d1222d4d9ae334942aa6f37bdc5289baf7696d93f18b1dd520dcc7f181b1629028f04567e93674292df5779d8158bd3ff8984a8e887221ef791d6dc1a823c8c4c07a8ff142a8240146e877314375f9f358ea7a4bf6d4c1b3a0ddf37246721c77d19882fd29c0cc2bd4d1fccdf4ce853f1b1ede87441f65b35c097d349721d42c452000b934fd4a3a44f931ef2e56a0e10b3502bfa8e6201ee13254bf4b537f1fcafc2e2759f46a9702d573902cca8d467ad9b42c6231c15377c66406665194f2c60512e91bc43539cae89e33b17f6656269bb6b2f0f0e692c85cc344b2cee52ce5b63aa3849bea65ee9a08680a970c06d5c73c9c957426b9a5e7ff10281f9200f8f2074dbd0f0cfb4f7751a9fb6614ede222329c3f623f70f63f5853bd7a1f9f50058bd1534664b3529cf27a1930462ba64a8698908099161988cb9972b25e62ebe3464c0aa4544754c464ebba1705b2efea93bd2e3303e57ed04fe2b9482697bf8d8e708e00aa56071ef39798d85a55efcbf1129ea762e64a730013d67f26e04a563a7c4404885a99097076f5b42e1c951887b72e2a2d404e491b4a4e316835867272afb57d432f2093ed211e63eab47bb00f0dbbe5c0cb3e528e25919d694be0878ce91b021fcefddf64e9f4add146cc720e0859c077ba72513891519171169b66bd20110f11724be35af186bccfceb099fd81be2d0efa3210f1b8e25034f3e2b0a5b3ffd6dfbeae4a1c83ad96925457be194ca3a64fadd377f85a038dbb3e2f26d2230c3b80118b55406f295bdc4b1b7e220ece832db4f20df25d9585f2c0c6980761a67d3954c3462f29dba826563973be1338386bd61e3c9cce4b0fda29ecca7f4a4e8e131253d6c17a6535acc430cc6c49a33318d4a2b4ad04003cb8725c25d29275875b1292a003a81f03071bdc9c71e0fb80d65aee95774886a609e1b5bae80d5741a850abdd51a32b70bd7464f0282fa3a02980ae7721c3c78d81421e7e583b0fc45e4ab82b36a4c933b6b531f4294a2d6a5a2540a630a55f79749ecc52cfc356f066859df3e4102ff1d7d9e1ea67c05b74e99e7801f512768efe6e28fb26e7175cd80540737be0b5161df3c0df73b5f9ffb0249c9d76e09cb7974563f9f893264991167b1f893e24f3874f542c23285270d2ef27233fdc186f188a01cd9dbc3861bf90559d9d55547d34d7ab2a3097af4bc08290155cfb6802779658e5a88e5bcfe11508bccf916eef2fdbd6a271d8c394c9af90cecb1b108c009bc5da32116d83c2442ff54c82c565cfefc347d31c67215ae2ab89e602b58ebd1c82ace43e09f0c61bf434a3da3f48b46a607de4dbb4bb7c0dffab183e3e0eb898c0adc0e552d232213db9b8745894eb285c311aa3d614630bc168ba2c450841fc21aee2003296488605c81cb3a81e2d623458665f4ed07d42e08f7d0193d657b47dcac1f3f4e311346dbe71ec20b1bc13c69a8d38de8f1ef5fc0f587f966b7be2ad669f6a109b0334d46e71345a98936ff883f8cb2a30bec7b3af25a5b92666e7fa28be71ec9bb9be5815c2de21c48d9c73703c2546aad0f008696a09b253a7ffdf33a6e093328aceb965c01bdcee680032b44f67b80e307dc7407478dc8a5f19fc3b3242f071ec11b1ab6ced3a680b9c608530699b99fb84047e61ec004bf7b1e8680929d0f81968de5367101dba1393ae51ef9beee9cdc6f3e943bf779948515de408ff86cbf56b3008bd190399db7c67cc98029b1e08f08d3169a07ed39e1c0b88b2c6bbe80f30cae91501efd27cb7aba7f538a66852fff637167b3d457e0f51d270c1eb481bd9d0914e9421a3ed8093492787e0e7db3cf7d04ed9999d533e06cf7717dde0b7c73aa7b600432ddf8bb0babc81f61f62ae1f5e754d7cba911fb7e265d144120af388fa98114fa2518cc2ad00385660d1ef25706eb422566a4965bd03cae48fca3947783b3c5fa3a756251e9cd6af64c164907e38f0e87577b8acaec5e78e7d31e8ffc1e385fb06026500ce18822aba5f31f9edab5896f6a6f9ff8c8f08327067d3a4adbb1281ef2d2f538ce378e660693d9c89fc5db388dca554a633edc42a8382c72569739ad62f4761a8df4bcd9a538bf09e7df05c7902e4d8c86ba524566e3ad0120339e870fb31f7642b2c1be4d1ee48e5a15999b3ba268f928324569815c63cf9a36c1a53b20f0260a0442c11fa59248ced062371394a7d2e447328354b5a43441bd1f57e063411abc521c25d6dbd927ed93f097393403b2aab4a0dcdb4dc00023220179a94e90baa0e32a16b38ea68d000b66b90076f29c81e72f921c7123fa14a30908087a57d294e7a205989362fe22b72d8aa92c92755f9b852af0e90aab9062914bf0196a62747700d822b36efd0fca78277518a0ccf956861d245eadd36d86ee5ad86c3247a63c293706d0cdba13d6c623404cc2765565570f7e9b2f9b456fd73f33d99096be5e06ca230893079064c952d38785197d2801bdef537d572b67f6974f02a96d4059b88ddb636ff699a906fe8053cfea1b0b05790e73882c9068d8ae750eee380353c87f41583551bc6848fc6027814ee58e143d31993b01af5c151f188880834aa62341d02047490b768ffc0650c0e023b8db82d8112314cc68d509d7b27650abd18927047165ae5542aaf5b28d94316e8b63ff2f8535068866fc5dd5dba397c71c4d0cb61656e20c301c6a2b0882a2687aedef9d88c0421afa9406a9201ea27008ca6cf032df0b9772a493e5ffae5e281503f40b70b7bbb00feff3eb3fdbcebadcff0380facbb07312ed36a9657bdf4245aaeb8adbd31a5e1303da96d719a2400c09156d95643ab6ece14d1390859dc84e810471159cbf3d206133b6fc6c7100e200f6defe5ef7038077fcd840252943df3942450012c584bac35465db2c2f1082c8cc7d17a0e5d48787a80ca7bace8e2893ed3366bf230b5ec059e3651d09ceeea8e9afaa9fe40fdba1138b7b3de6e30f7b6844cec4bc8a19be0404448603faf15630e5476be30d26b851fe307d50dfad33e81e406563e98779d0b7231d06c9aa280b78ce100eb6b1daeeabc202bd8e796e41c113395a43f592bc5efcccd22fffd182b9454a031f7fadbb062747624233b70e549bf7a49f1cdcc111041963b6bd3eafb7769788fcc5bbbd4cb1d359d6f9b65ffa238353951bf2eb97ebbc381799fc8eacf94ebb661c8f5db796d675aa113a07ab6bd669fcdd6cabc01c39b42fe220bfe1958405ffaa0d63fe4f5a681d7bafe8bde5ee610892db7b165e221f0cd5a4e64d827121e277525c56e1b59baa03d51e6c90a7e8018494122ed51b99f6a07c98c0b624dbd125519685ac37248fca28a4b9da717cf976e63ce7112c90dfc9b6a5c71bfe479c115e4e7bfa96067a5065f8bf655074107140c38d42b2eea782786d4a663c19173c979b58e8f7a1060171e25dae6cdc46dfc104dcd2748fedd15a17a238b13f4041fb1b0c89d2fddc3580f5e7948201b6c7925a114118b0ba4080a8ce104a6bcecd7e0c0484e938f3cb3337f848e18d3590e2d7dc6145c4c0714146d8d0a93d3119c98ab5068be2911ed629804e2e4ebca0f7fcbd54173d7240ba9ccfcb8c3fda3c2fb4f8ec4a9ae51b6a9ecd6093be63f76245b6c7db73b7940e4f72016e1bf696d185cd9b7b80d1120b24adb2a086894ba7aefb700b6efad17436bfc0de70d396e380e992d9defb688cfc6720371c3bcc10e9006d814ad0eab12be136894c03f91850e560a59cdfd350c51c932950cfa09a723c0c004dfa2ecd33bbaa021822872b566a4a985a25829e87fe9354f6ec19877e0ece2b16476d6129df035700b78cfaeb8eb4a0989efd6ead5a54a983eba17a69a7b32c8bc6913c730c2c244b0db7e6448564b346427e1c7338d80a091ebadfb0d97445de35172d617cfa016b289a9672dafe60345fd26e446ac8a159c2572d10af6015641ca23fcd952b012b66f391f6a24d457ea741c9f036cad6fc80014170d1fbffae426f77462c28fcd9102c4cf1e9361cecefececdef9a05cbbf9b16123a866c792b57fe4ef8a985e29c8df1b5eb13184b7f116ff674240c286b604c1ed9d288a22bb786655c46505dbe5dd2dedafb41a3a6a6d35ea1c4b3bd962385107658b5a9bc43629c36a0455e5822205e59c89c2e5e5d2e74c711181baf18597b97a2d3689c8a0e93c54bca69b434ba60e65f06c627efabd2d19227a9578e56b2fdf4ef3bf357c9dd984702436bbb9716d1937c0249cad8aef15ee46694d13d360472dd50d1bf58bb80a5ec5bb407fa746b221d254e8912cfe3a1159d53cd8f7d0c7ee2b11e2b8eab442045c8ab46f983bdb788bf8727c548b4501e9a464d939fb28d4c791b6eae208f4810a72a06e74bba354d1504ddc68f0b4805953e0939c82ccb9d6717f50dd66e13260b1cbf569d3853dd9d6c67fe112c1874d503a7c1543f731c78eb88fc5cc4486ee0f48da02ed0327467cb9b005e310fc6581220fbef2a411963226558c4eb54a1be38bd758aaca32d8e8c41e69c043a7b4c75097576b1361ff903f1eeb115918babe25965b91c55ca013a7580be15c42686cbacb137d18ddadf5ca424d330fa0b94e484f8eee233a4570b234fe5fe7b778f8763a82180dd9a7b6dbc74e8b2037c20736b40872e7e8b4838560401d7c951641561ce30bf51fbcaa842e74ba73b12de85e3cebe7c15e42bff298e83c00112dcbf0ae2a7aee99d997ad4e25d4f4b9bb702a810afe191462a93e4722ab705650a5fd57d8ed66785fe14a133c2b94cfc25dc9e76224486b6844561fd7d81deccdcd48ff698ca2235e8b7738684556cb87dc4da64f1703bea9be5e9e7fc13c2a288f8fdeaf3e2beda275d153fbaf4c7c03f3fe84df3427677fa7baa14dc5171d1c47ce3172269e06615b06d33940584efe0ef7d0104bd8bb908495bf35f11a0bf14c7304c99afe732e2d7897b714dcf0f636889655aebde73988f482c08dfe2c5615059bf041ccff150c4538919cb60a9e2cf9da980e5c42813484346a94ffb06ab444e6d70cab6f98fbaf0b9f024ceb04406bbf4781c3c9821121ddc7cd45e51e0c7b95ec37f9c1a9bd2064a8f65270ed9d4f44608e8fcfd5cf30f3c089abfdc96266bfd84d4f3aa55e23907f264fae665da4c63f4988459aa6a20143eaa8f566ea0f81b3423fa5855ff3c664b72318fa499c0768f5260a6e1df0187f7cd94c1e40860e109ec6af367ee09aa58e63184e3af20d226a335b5171535b2defed772bc1108786498d48e2570b962f5485c78834d474866210566944de8484bb41229eff15f290369133740162855411962748a650a40d8cfa5664252203e288d74aced6abd52184f4e24b61a58ca9cc1ff62dfa4c6212852e156ddef87391f5f4479d94270613c0762f03e70e817931bc787b7764e8a23ef57f8bc629a457e15cf056ce2c7dcf7346d348b6383aa438be5bf8ef2f435358c398c0cab827a576624425e1c3e9a42589f6ecf38b43094afebc12ce8673ff9195e0c81f342f0835af12c63a428f843ba642628be47acc85e2fdf3dbf13ad8583fba9b8782aaffca710e3f082e6768b9754cde77814a06ad00f061af5327ef5bcde65d55360f9f9c7d1169e046713974485d98d848978a2615a1dda7bb24e5042e4badd7a104363399c00cf003d2ea87d38edf11246180791788512eeb74900f657d91581039b09a417c80de116df0ccad455ace8ecf74fce920063d986024eac0b25ef295d3c89f7e8776580387980e8e2b15f2cdc529a8034fff8abecbcb664ea5c38ed9485894e6814ef230bf0c6dc39989a19207cf0b4b5ca2c76fbb075a2fc697fff5ee2a73f511527b4e5f29cc2ace036999f8965e7d75f5de5f25035041069e5aa88f7f8c09209747a069ef2d00d0ecab1783a0496f0be36c10a68cd0ad865c7e45708651c02f0b12f014647f85b8b6bfe3adec73a0add84e248889c43d8b58610b69c35a256541fa3929975af9b748d049b9708214af4690cbc8281ad56d85f5857796cb50a51b0f1d70dcc4a69d8536d3dda5ba99928dc068e9f2d0f7a966fd3d2f4b35034153dc51c525ffd4844fccfef99fbb995483da267b61dd0d0432fd2bfc1171460b719dddb069e39757d521913303dcc6538a787ec2f2c1ed34405eb2d6dcc56f220eda9142448dd609bbcbf1043a1e5202b8eec39b1b403d47a924806924f00698035a4d127dd3678b5ba93e34665f16ad3e7023806508b5bf4cf9da02d2dd530caaf4d33f5d53a93b5ce620183910d18e6e1de2c20544e6cba51d705f52108d69130322bc6daf05cee2f8208928f5cb2f4f922f4838f2cd0d355a53028b65d0d72842058120d367eb9060e7bf8a8eb373f600b88d06758eabea7f03c43fe72197f6c709c3a3f790bbdbdd4d3da30bcb2efb87d09c22d97902c262e50b1b3e19baefa8551210a403739bfb7ea058c5b97dd2e05b1acd7d5a35525d7fbdb52622ad30c2167f7da5ccb7fd3a09d7d2375f8bb9852843c87efe0fd2511365095784e182ae356138ba41a6ee0e7aee5900db5c087af0679c8b0e530320976a55e28f68c9c690c5591ebf84095a2a985094bc4e031e632a12f9661795d3884f75a8ffa0833e331972daf8340ca480a4c996b66392bc3f32970a648dc48f3a7616c2c4f5432829643bc831f351d62cd771ac9f7e5858eb0bf9ee520ddf3e13484062dbcac0f244f07fecd5a817c37bfb821a6a79fee5d8d7e2ba68d29ae9f11440c3065d6214c057ae6183b946056fa386ae605a9c99e23edadc3a886f797a08ed85a4b731c6150861d40c1ba7f7357e63cc018c24e28002ae4e0833cfaa64d4c264cdb58fa87a1a3f16079a3db85d3420acf4bbb1d1583473ce8b80c201f73907959db112ed15da569d5c1d55c3c67116286c8672b23cec7c93e6ab0fd641dca08166d8080bd97517c8abde01da172916ac28b8c658a9a7872c2bc63409ee469fb1086ce297078bad09b3404cba529150d71867c7e091d610ffe0e8ab3c674d71c706264c2b947858cc5694e2c957e70acb1f108c597d1062b560e616711c0b65ab4b02000be7151e320977cdbbc95e3b4e3c2b28c3867d446502fb27ee25dd0f1d0a1cc940244d20a7f7a21dc396dd1ba9525dca1f26b3acc55f62798629bf3b85d7ad7757d774f17391bb6618bd627987b5f7bb79fd45a9eafb07a9ea207031ab781b5b21ae15798a63acad13384a3cde3cbad86ddc039243e7f45fca0c4e65833b1dccc4ded9dceae1dd399085066f3580cd6a6ef1e3317db64f428be7b19f24ae3f290cf017850599547970b910e21369ef9a89cff0c4149b04051a69a206b29fb68769e60bafab3105fa0a98f9906387d3b9302d1eacf540f3eb63216cb057c3851175d23edc342c385cbb995620083c4216a321e55a7dfb061577fa4684faef7aef53a0b4524778b48941929df0357b14daf3d40cc35ecfd453dcf4a68cebbc544aeac12d3056577a6b32ac28a261d2e2bb938bb11ae8ca95e9cbc5378d0dd2a58797f74c8ac70a37cb6b9453520aadc8819e9cdd60df79a9ae95ead7ebc0094754e812b19bc1500e1f8170e1fd9895d3eabda4e3810acae4cdc51b2e232cfee46b3799f44e58d06849254410a10efef51bd5d5e2d6da057ec305b303a1014d5bf46255218e4f1e4126f13ecc47be6e4d2576f3f2b9b6d750b277938a01ca8ec8357552bfd9358ae63484991595d41cbad5035fcd08e30ac4c78017dc6ee2cdfb552b2e772ec2d922bfb425758a815979f45bae6fdfb08a03a3e65732a35b327ea8cdbc8c9eb7cf12743bcfff05ec30fee52fc8cebc1889c131b36372b9016fe19dcc2eb77577803b24af638e9b1f249e303c28f7e4dc2112f7f58fdf2c6402702292b10f200fed7b4d6701c1a8ef555257a8a0132c05fb7708eb724d7dede0a3181addd8861fdf3d59281e46252c9dc9d971c113f11f531dcd86955c016c0d71a580cf9d2fbba26f7fd1cea8305909719fd12497a500f110cf96ff0d4f6bf1fdebe1a61c1451706cefd1aa9b1add5a50fbb8bc30e309ddbb7362ae4bb2975c28b9415364db6a77d5c833303e24ef6a11f1ec9965a3c49bcbce33ebc9e209cbc42db83a2fa19307d7f06481244318e19cda6fc2312f4a58aa7a51c6c1feecbddf8943f587efb0db90c6246aeb4a71a2951e34d04a5d299079c450c99bd6ec058fd639f9f53ae770373c4b071de92cd51fb1aa988975a7d85d2d6b3d5463204e3ea861fc4c9c236377b5b5ae9e6c504431cc499f56902c36570ac39fa6a15fa614cc3ee9ba5c30b64cd69e3ed761c6d18105fbcfe788d6b72a2a054368dfd2f911081324203d87fc5172980579469fd323a9c790862e87215dbe653b3bcc4371ee7113641633fafaf8a9ce6e861ffda6ae074b69df70b418666347f48002f32b08781cf0488d36e9838fc34930bf38fc451345e5dff328052e907998ebd0614ab18306e06c16b1465c5403cf8f2c7b4a8ca1b9b4a815d804ef1501baafcb8b4538c1e7151c01315a1580a18205747ee10547050ef823bea9c3ac292814d9070d54ffb5ef0a88973be7a8c2e2a239135dbf940f0157e8c204a8e41eb2e17d6c41628f9d15ef55fe5f957751ef6a09841b9a824c484e0feba9a2d934b67308074ac5ae7a8c1806f46b231be825609ecfe68ec7113170bb06f1b51af1e942e45dfa68ca9a4b326b1f5e09911de69e8e4cba2df721da16b7c88bd10e7a3f513be8d71e8c70d03d4a239081d242d073507037ae46c3027f015e2a1057989f42bd4e66fca1f3b4d4b10960d0b519e5478f08b6b3b795002654e94f3e604a631394fde856afa66dfd7388149cb8afc3b9644fdedd668cf7de3ee80812952044fef3f3fdae099fd61aed67d1df1a1dd2275f4ab4bc3e6e3e75204139d97356fcc60f8c03b18986bba3ef7b248fa3f99718b61dbe82d321c2629ff071142075a5d5b55b53c74266860f053d9910226f3a43849625ae7468cf7d053b3094eb5a7feecf18ac6b2bd648e81599f46c4ce8e633f66385030d6ea6520387e3301d7f6574c8d83d51e7007d2a6637a449ec271bfa590c6aef11da52588c72776f5c079c76091d10be270ed679c6528c8926477a14e59f5aeb1c78eb601464f7f35af4ff94da2d5fcf79c79894f6c67c20ea39dd2bb12ab792daeeb731057c5ad52bfded7607d341e62ddf36cf2691ac767e30c80ae1b35d7be40962409000dff5ed85571150b9da3b8b0ed49817e18057700e9d08cf473f35d911e51831f21ffb7dcc15a0a72b53a706ea46eef5b240ef7383ddd22410a5c5991fd10db2c1af58b70ddd20cb256b480473367bcf305f08a8c27daeeb4005f171a86a8fac5458e405ca62ca29e8c6395ac5d21f33626aeec742c96325a793c9fbe8b42fe31d238d0dcc7d670a86d4ce5d5e06a2fa72479a57dcdc51063041af395f36f2faa2ce41b97a2a9e5e6557d892003841cbb955360d071257ea9fd0e0b7fe303841c2df154d86f4ae2374a5ea4dd0bd8ee9b49568ca12cc2623881da21e7fd41265574013dfe74d978300bcbc4a63af702d94cf48ee6392d57f48bfbd4a734f86dbc61086e602d510291f22ea1cc4c221ece8b60928de7252eaf7bcb766faece25c0f01bf4967654425cc57b8bf3c3eae51a395d5a752ff7ab286a155c6484f445f5cba0bc87e47a00e482114e6631bba943ffcc0d91a4a60da0e1f7db6454a2a7a9e7c032f0722d5c897b26bf46c8f2e123fe264e4af4f7ff070b79dfa30cbb9e709f97962144190c66dbe9b22972c1e38cef2847bb6c3d890183c4f26a93275b102e9034255ebd51065346e8053aa900319c91232ac957b4e77e0436c6ac61e2f36e8dbc387356251dc352d7be9fa82a1e75f7e57253448f6b1a025a93d1b5800f70017e4ac07c6b4ca995347481ab424d5643153582f8445cf76be8fe8ba3375d1c3caf6f7626a363983a53f7cdfac337e46db3d2424e8cdf47321726edfb58f353a0f9097e679da4ca2c28f08a0f404d4b2eb910be7c883fc0b01ff8fde6c3b6e21ffa9a41fb995873d90229b67a69e8e1b82541c8ba57db91c51e94f746c63b3cd6a9ec32e8b580603415a03f59a072541f47e7e30c8c2e6f1f6ddc36c4a339b870931e8da3c6e0c3e43e5f4a317b679b60079539c5b12f21dd88d166d671bb7ed9ae72694ce43163279307af81385841c852568603dcbe639d3ad926c414fc0cc7fcfe7685bda3c912ddb3c377db747eaaabf7c20a46d1e4bedbe4804bdb387d0a73d0e8e9b67437abe0096609f6e9ea7447ff0032a35929de2f7729e033974ad8b437aa16f927994e518d099c0740751a55c90463b0b9446728f67509a8ef251eec8a9560ecda19572c162091870a521a6c1c2cb18a2b50dd2ab576524d2a09bdd6048b6f4099fbc78e19688b644f8e009a8e275b2a8ba7b222100da831e71c9c290c9f00582cce1f7b7fac62d2150a0adc68959cc1955e9ade5859f795cab66f112e8e835d600df00b9cef28bc4792cbeafe264bef90ebe7e968cd1adda325be4daa52055a91adebf535ae896d0e6548c0096f3b0ef41f8feff105ee529648bff3fb8fe5ec5b7774ef9a0a8a565771a266c50f583956346c0f59b9560116010cd42d84f79482f095fb9ad48a72a7f57ff019b9d0284728e53137de858d35386ed46dba8c306fb1f8a815c759263b7f85bb004d0cfd8ea9dfc9ddeb0000d504e5971b87d37dd3d02ccfb174e08b1e3b1e36adc3ff443d029faea6ecaa1a8b5312dc7d9681ed643a952e76be73b01017a1292eb66a4ccea1ab6867aceb78ec097636ec0d1fb3440c9c1a3c35286a6154a17be9c3c808e2a8b378fb2a9a8e0f753f2751c8003d7e8cd4ecb4e88dff2b478ba9fc53acfac6309396cf0c1f57a4ed5a35e6dfd6cfb4294c8435b359b6352455aafe9005f10f68c46141bc4b57d06284ccf4a299324829d3ad4e2082380f28058935bc59307fc15951edd5640f5e7f445d3291e4b21165bfe230fd04a3da59803092459a09527847e537cbe4b9b7851d2b46cd64ea2008ff334fe5c84722a951bbad6e8770460b335813df0239cd871e9ac26c9dd795d044bebbf90bc59725b51bbd76a0bfb1196d5e786cf4ba6f44423512be36cb8b9930b4ed38edb0e56d878bfbf612f93bcd71cb240f6a2b8ee665b41620e00c6585c07d21bcf3c1213626c0e85c7c1dacdd8a3eb3d12fb2499444c86c9853caa5411a7d201ab5e859066e2e1e59d46cbee1eaa086646a693f38439d504729c69eea5e69608b1af8545bd644be7a0a040092df9bb3d00153b62c2436f4d1eb8fa7d053fa9009eae9871200ab25d0db48943e0926f7b23a2ac3b7fbcd2f376adb24adcef3830fc519bf25f1061cfc7b05bdaf75382f00fd0de4cbe0c45057ead59b040e0e3de7af1e4dfe86b1872b6ddf792fb521648980a6b67bf1e1438b9cb1afa12e63d50276371589dd0deff8a9eb29ddf45d980bb93094588ba32faae10ffd5fd2fd4cd927cd4c35eb02c90007c4bb5da92e020afbd737b159532ecba0582d2a3c3f38316501331184da687c3c639b345b078ce91d245e80575695bd55829aebf0cecc52c63c9848b93b59b4394bb776accc95e46754cebf430d95fb617b53526cfa91e33664b760cb394aa81d5e59daa1f3cf62c6b216ea355984febd99a9029cca9feec4f6f665887c30a80d641b9b009a11484d61c01c574a7b0cc36d03a5b2638fa381869411d331c833793d369c75be127410d55039153cb6c429cf6b0f026b961081dc8200d5c9ed30c880297d6517affd93ec8ae275d264c6d44dcd56490a75026b861628114e61d5860a165834d025ddd872fb3fbf0b6d58abb3b30ed21e3408876f7b318be925e7760d01707b1ea040cbfd1599668a7c8ef5c3eca26f99f154f7db5faa4eef513cf942dd870e743fe5683c4709f906939bdabe342e971ad0b551a2886a1dcaf92ff9ddfc0dd744b548a712cbb94feec117cfc980a4fa9f95bf1b789185ad14d280928fc3b8b97b9155e2a001fbdf422afee804a6a9a80d04ca81457cb7d26eb2b57ffe115bfe884ad1e1082d68b614fca7cf70eb6894bc71f50b65d9c9cd9f5a5909e58a91a476507961fdb6635a1e3e5256bcde60e4737155df7a6fd26a5f4eb592f7e4c7e4b7d82bf19adf332867958375870d09106898e846438a2a98eb722818700800699e5f0d134481732e050bc77b652ab21d9e926faceb52d40eda57180d87b461882ab04b025a0589dae716f97e0a6bf846f084cca3af3d10351a7c7007addff56c76469134050a7de5501581e29e14aa2b7a2d139f63b2237c5012b3f88ddebae865e61e99d8c13c3ff26a53701066a3635c603fdaedebc789e36b61a0c6deb5a99e2add74ad3f3bb7bb2ce79fc266d440fa6c2bbc2bb4f658a62a18947cd3d6b81c65039992209188f0ead87d836589966262f5bd7bc74d44896cd4d1a891cd73739e18f27b62f53a5e4122529b909bb5a5b49b42e1bf2491285c6c22777f476e6437237896f0a0e91e876ff3c6d53741ceba29668cf6a55bab377de3623b18d63aead2ca7f40a1d0023b31b3f7d7222f459c4bca2e284c4d175b2a83b050e815f0e3ce4deb6b454e7e1bdbba9b75c4f82c60ac8499b682a1f2910b4e755d02408a56410722864f537ea87634eac25848f09a6fb6308986d60418d9afc6fa99b67c628954c8735b38ef1d2a2f0f5c1fa647628fb9a5386f18b9a010f878a29ff2413d31eb967d4dcf62888ca39f3c502857a4c1e8ef840033d69cbe4a802055e70a8df1387692614717d28c4642f48286675458d43632348a3ea0d22364b5c3d212e65620757880b373f53db8294996fdae143d8fe825396f085ebf5791affe5dcc085ce6cf767c7415ef3f76f1083df16874c2574a50e9af0c36002270afdfaf0b252bbeac833546f64908234495cb37c55b2b959fb790e52717e8afd107c604927b64da94ace5b2e39e4e118010f4d6230c49dc6c9ff42971f0d4dcf7f9525ea91140deda01e84ac5d86d687cf589144cfaaae24a32766a608642296a8c339e58bf7b1affc626ab9919eb4e50465d60c1554cd589d01be41593487dc87204b24bd12f24cec2e3102c159af28de13e374d0ab46393a4ae7462f97c2a192bde192bae6770684886d20cc6559a4f24372bd1116f3cd2784957697e7ef364116f75d711a2d4b376f39b6a2de6a700aa40d35d745f8097c7a97f178d1c9f44d8b6c71cc39e333b88e1c169b8499a9186e7c5b3f5e60b40c4929fd0c9e8adbcd1fcda74ed7039d1e73e579d773ba82047e6fafe7f00019216c8ddc65ff83726a43fb21fa8063eb523deb73f7bf06162e5d00f541ca006036036971b97276952e5dc78bbb977d006d57cb922b552aaa743cbd5f54a5135a6b20d420a3501f946e287055d42b52cd4a222a8ec76439d274e8496ff7251686aa3dc1e3ea5b6a24150b20230cbeff09555c653e182cc67d025c09aa143ab327b6c3bae9721f8949983d25d8c1ee3c27f10c1214417c35c2a46aa9b06355bb162c7d63a1bd20d6503c6c600d6d624adde325fc14ef48fa0329d8d75c06794bd7616bffcfb0dd9520e7ffa4c1ae343ba4ea5557a4046d580c2bf6e327b28f91b56861277d5da2e49ce926f275854b482dd4824de6f24f37b8fe2dee490d4d8e63fb98e5212e0668c4735aa8171583374eafa34c03d91ebae01d08a32dee5d2ab220827504912cbb2fd300aedbc88b73a49617b45984f3e24528b7dff9d13b47f539405a066d7d50d6a76cdf5a791b81062cacdd7d4be37cbee97dc510522b3a56d24158a74bdb1806a46e4ab8d10daebce2f9e6818a5b10aa010f0254a895d576be04c28290dd8e411892d940e7dda7f0b3d14899064f0babe3db1aa894ae01a4f91a943415eeb2dcb1198748d4800b8d85e59ea3ec63bc8a6db1bdd8712cb9474a48e046f81efb5074ecb2c47c2ddf46ab3c4536a35449109c090f033c84c86e4960231086dce8b92430b6417d2b936061782dd98183d007532379256137a6d2a4ce4eff99c8412f73b59c2defb396e4296cdae9186a44113ce5c6e4e1a948cee56c14c452f447c87a9b67faab9615a46e5b6d6d26ece7a04943bfcba8476d91adc22b9160dfd63d92230af5deb34f3eef703099408f3701e474829efb09e4e4eba08782234eaf09c4e66358cd0edd1412bb468eefba2e32a973c6c1e1c72021e8d35de2149ab0357cac1340682dd99b738602a19a2566f979c9594bd621854f4e3a1ef371fbca8f8ac4217ea9b4c339872cb883ba57984843d28e4bf2119fc4d9336857aeb1ca7d06b17a52113d710efae1d134c8191127276cbf5c587b0777cf3d084c80c96a9ac66a3c2602a66f1de36d1b58a1cd2d381492f55f5bd8e6f6aaed51901c769cfef0608678dd98f6ffcbd07c5593670d052bb040c5010d218c252544a42ee6b61e74a8e895809055a5d6dd5735a02ded468d6f95f16ea97f1de59aa7418024267b87e3a94a4f93fb41a36e4becadec896f66a3da09b4fdcfdc3e9f37dae7520b71c1fbb065b43de10f1a142694e82d3c034fa2d3c65947294918c8ca677913d75bc70aa161d2aa031a8512f1dbf4113e7730f95320f593c7a763d4f6f162e0837945779edb000f33ca904ac5ec993b99e786902c55f45f210a9a4bb900dd45d698f0f73c7d64b89487bbc8aef6d34d4427ff592de32a7f7ad45fd7bb96d8795fc5f3512f97436b26ac5c8d0ed00023c66bba15e394f41068189c84d5a7888b1638abbe1bf36308d9a9f8f1603a8e6c5e8eea3900e83260033d458124036a5628dd338e0300305b0e013472cc48c08048251d7bded8bf5734788e7dfa5b40c2f43507126dac915df41afcd325f50f45278c3ec475e8a6b191fc6733ee4a55724878cf07d469029d3bd390c35c87846abb42d34b249d06e7db81bff965bee8d91c731dd3cae64182fcdb14a890f62f1cb4fde1d3671a0c02dc2e40397385257ee37f6300ae19dd73513279f0cce72366d7005bde544112dbd700f054ebdfd0fbf44294e87d3d94a02358376c2beefdb3e8e256c4fe4a402051702cc1cbb6c572d0e6f9f631ea621ea987d33566aa1718c509fed1fa56a36d7de9db332c563912b25d9bb4b8e1f324aea2b95e710066ba261fe30615b254c2d30d848d75a20ddf00a88e3d9f8c53b633b87d5a7e48b6753ce0deb28678acafa922ceb00616079039e9099f8db35f4527982db4510b8f3425b35b3e58f2e957b428b49c54968d3585c15a78338a4262ed907c5dac177436ac126967bdf244af75f5b52f60cd7718e18eabcaefb57d0ff784fd1f32036703a8c72c15b2674c999be1e644bb1e27264af6e8a10cc788e690f453124fd101a53141c8e0c796baab1eff96f71ca9eca6ff65f7a402f7bf59c63ab45df11da6d3295641d80a906700a4c6cb57da303dd9a7128c56330ee3aed452d27cdbb0a1bead8346fa10f59c554e4b50fa6182542cbefeecde7990a3b20189b0a012735ba31fb7cc1b7f287f7a5077de4deca35de6c1a7ef915e3c09cab7d4f8a02f996e971242faac8b1a73a292a8ba895819ea7cfc245c15865b3d0f27f0d39b10d6a303ae1197978cad40736fe48970afbf6d64337cdbc654069fe239b86618a023929b08de0dcf4ac130ba1ec1a4ddf508d6285c4ad788ac28fa380c34692ee71eb405664550062a49838bec5327701435936f706eefcf3a2d3c1aa27292ffc38f06fa8cfec2ba17e16ea4b66d97f7819e9ecd8368ee985f03f20adf8cae97c9ae3d54914660c191013e09e9b8063a08b0f294e3c1731e6f625113431ac3e5f9e89b2dbcc75f563d5c88ed952ab03954a882786a99398f78d4f602d4a307902ae2a59e22d8094a456ec6c7bd2e1df7e86e18aa906df287adafb16d4d89f28b212c90312bef96fe6738e45a43121a6886a7fa2e3a01e0341add383f3e1adffef90ba291dd44efa7cf702879b99d629f18204819903806dfad9852712de094e0dbc11f74e0c03b3cbec3236ae4a3275e0453531100fb3a63d66ffdaf41869e4fd2e676f4fb4e3e81780ffc366c72594de45921f286c29f188cfbaa697f78fc9e51265692e4be717803623c1f9673003dd6b53cc7bc208192a24cd713baf77088fc813dd7f097fa027d234110fca9c0a1752c4a0f64ca8d87853c99d240d893a58512be1331ef0a93a06c04aedcf36bab218acbe289d638d4707927fc145da05939ac8e25c38a55c212d618459602af178d3ae465b2609a5db8ac8abbc6c0222efdf94b5970431c0b0d0f7a0641a7451c4c225c5ae50bcc968c918f8ec8b656787c49bbd571a0074c0a13cdc7341e833cbf7f81a6c14e0b25640b8bee3379d0de8c519e98fef19488ebe52cf250a4bc628fc083f4d2985f010d0df0cbc9932e49b838edd8f7db882eef1e5c1cc6aeb87f670fc8ae0485080837b05d23a0eca69e8ebf8deafb26a83fb31316fc1ec2aaddec3b54c79f923355578877c01c7f98a409a40c6bd52e786f37f5c900c9f0bf8610f858ce47ec33ac08839c099a124f376c7ce34900481c45f0dbf40ff3edc86cfae79d101cc64b14336905324ab1bf9cf1df918305f78028fa6ac0cd350ab87f2c8a06669a8b4c292aefcd2aaa39008b7c40c556b6e2d406016344ff1afd813a2362bbee54c1eaec51e0489aef252aed28237ae217afdef939dd26e0b8a31dd02bdc70ee2ae1717e4b471b7a7864d0fc5cb5667857739583f70e133760353b95b0f306ebe949cebdcad012b6074c36768669d91413797ce5fced863e139c5720412b9c0d0e6b37f7ae9cad61ff04ca1a3851c1fb3da5f5de48c4370a30ef4cd38c73141f880967f587046fdc80ed9795b424ba1e34ac0fc5439536215d39d72e7bc43987e53cd3e6bd45d3202df99a9620bb4f5c3115fb192071db282f4073d439c271e0d40a69ea1ef5120198eaa6bc3f69757ef0247ef324b9a922c599fe2f474582cde4dabd5bd8e5dc27bd04727ce206cf9ff7ebefe3e78fc9cfa10a251f70ed6d1b15cadbb0f6ef0d43d8b5e14c60f89ea8b761e995e32959dc9e082153846a025e1d155430daa05a22388664d54b8f6d46fbc0d44246d0d1f848e941712608e819c98238e2188ed5d7a792024d82d73f950d19030fdb82bc7a4cc6fa4e1eb485f889246dcccf7f78f6af62c1ecbcfb5fb0f345e47e0840de2f9c81fe722821bd9074ee86623a66ebbf59755035779bcd7d20aee285277d8187c3d90983e17bcc17701a0d84a8143a0419c18451b0078275fb44702669cde4e21a36fbad808e801e6e890efb40bd674df958b9ea03b8cd9afdb4ff636bb73a8d8974519be5546aaf7031ea7e1f5c3abba698f97f9ac1d25d4fe018b78e8524528d1e4958460e105c6ef5b157874ecf34250debbcce005ecf7bae35cefd58c77ab0c06d63a2795c301a89c700eaeb673a7edbff11e0838f7dbcbfa3345ca33644d11510c3730b3088fbf04f72948768c012076a5bc14c53970f155a79c3d03c835dac74edb782228e2c4724ccc4227868652f65300c066287d3f60631ee7c1105b8e522fa06b5efb2341bc4c8c8512ef76fe45bef5bdf482dda225d4f454722964ba7fa9142ad60c05bc723afafb87659cf432d0d628c57802593550ba8a989566e57aaa0c05938a721544f5d20ff9875f05b3259682553e2bf2e7bddd845bf52fe7409a61876861e8b738b2d7c292b38805bcedd1fcf331c049dacfe1afabda7d9f85e9d376b3346c678bb59c3006800963a6c6a7b571ba62409bab78228eda740bf73b298c206738ef4f89385df4bb765f38bc9d45e842d88a67d287f4bf9caa0aa5a095aa675cb7c24fdf540d22af47b42e15847005b23e51d25f84dccb43b28cc6347382156f0b31cbde755f65ba9cc9fc7fac83e31a4c4ad246303876e70cd3ad8450904b20511885c3afbb280ea2f07efec04f9f20e63dc7022a3f3f737b9a9c34488943dc2fbafc4c054809b193567ce1788d80efaec62532bdf91c64a2d9e5172600a4dcf4d05080d1d6526670c7272ba7555b5070f2bc0dd065dde53a11375066a5c98f70fb5ccf90829dd22032a6be56d03d5c16fdb5079c511dc97ba52c6bc7ab56ab9093518b00bd16896382078824dd68bb7eddaa94bbcc62db4ef59792ebf7ade88bb639c444aa038512a8a8ecb8f51d4871ffcb39d551395e62847c4f00343d359fcfd76483adae8021db872ed1c1e67b8368d6d30f59e021d8822a8d531619de0940e58c2c68a1aed148dc8baa078b676679a3f47aa7637dffff6f22100ccfc5608d06d58abc2d40aec86e0c6af23a90140bd7d130a03d877a15213d02c2f1632e6135fc7a2da07f57ea60daa68835d3f758c9236c41b8738b5e9b5a44191ce08257e64b4b99d27c4bb399313141ea5a7da6fe15c7d6449375cb6607d75f2e03b23e72e9a6ed8124eaabf399d531cdf8edb48234cd09579425d1f7226b045bc703bfbda2ae0703d6dea44078c261acab28c3a0ec1bbb1d4a3d21b5ca86ed2aa8a04f4168d181551994405027de20d4d89e16411af3d65f24821ba399ed44872ce46d7f8447a4a5dbcbcf971d5bfba619d1a7a314a433b5f327f2a9966876378a58d1bdbe8d18e79ab90521446f482a2132e5e458e3d0dfbeb267cf2ad7fb39cb2ffdce61d90de48be4bc81500690b7057540aebce7848500906fa0b6c83ab70fdb02883a6a36ce18c800395171cf1b311250cc403f9bb9cf777f36f2ee32267a3793cbf3ced8257e466234e833bc4cf34dd7df9ec5fa0cb2bbeee4a32f82126f868ca80c69441936df809bcab9c107c4a24b9f5a3f84f7d4194b56c31e0f8da4287542041155153547bbf44cab25aa0925a56864d9b747455442b46655665770e6bfaa96d1c2664aa3290f13d3ff7bc38d5c7c9ae67f0ebc68a24cd1e1c3869c94ea55c571dc27d4af7310c0ee9832f2e10e815a598a6fe8fc966dd76a15b80fb3761fa2f49e0db5b8f817de5d903a916bbcf6f45c3021d0ca098f24e25da729f29b84f885d9d284574db0cfa7d4e8ad5e542a9b7d80b2195c2dfe853c782f4fb27e7fecbe08d79de62a3af4b172e7edbf1a3153d42ecf3b58a0936349f4648cedbc75799b2ed4d4a497c04a707c77aa23f74724fd9f22e98de886b25884fe7513346f6d10ea259c07600f4e041d1cfd1d61533a3eaac9ac9645ae960cce1e1d832a2ba4875da6a099e9d19f37a554e0f86c4f8cedd039e72a32c61d7ef59ac1ffbf06a7afba5a060c2528415181113367aae72906b4bb91892bc338748f92c26172b8e82f87d8e1d83298974551d2bea0bff2c143bd28e97ff4093f5c51543d29122c9338e072aa2f5b031e06321c96daf0fb2dfcb26a1fde08d1d0b5529dabe15a85fbf40704e30530855013d878a6f34106cf4b2e5eb9c58c09c998e9a3915f2ebd156b6ab713f2c7744197d161c59bbbac8cfe279414d212cd53d19e0a6f2b97d5ac15f79ce2380e6103b7059d8a0e2e4573801fe7a1b7d3de18c393749e5c372b206b938027c9106bb4b12b8db85d887d66886b961a9f66f1225c29d5268872ccba0de4cf7e8d38524cecb552ab328a47445fc757291d2af3407295c5099534af8c0802474e52f9bf8ef07ef16791fc057bd2a779dcf04a53b7d429a13ee69db78168c54c1712067b2cb04f53bd2fd802bf6968f0aa34d603420385d39114eb309b4b4c9b3338d4e959abd0aab3ce79e5e4888c0cbc9bdf3434c1821b927708db90a58128bee8462bdcd42c2726272a718695038b7152d45953a5bc62fc545ee97964e036ebf167c0249156353633510cd85503ac5a96d4ed99308a16d95378f38dbae1b8f374f11053010ed2bb6fa6de324a78176772b51e4b4bd866bb9936387af1480535db36925ed913f78a122db8aa61dbe444faa049c169e210290e6b29095e84a91ba07333af1b28462bdd8f253e33252c4cda341887c8af473ce08851557199db377851d20c412299a786c677742b834d32f0cc28ba41d5a0ff548f36fac4a0f5fb5c8057889895fc5697e463ae7a7f6395c0cab215ca0c56f6e2c4e1d78879db878d0135408f2e805aab10bd5068634d03e36d86ce409a10114fb68751eda0100719e3057c730515e579007ad386af52b35a72378e397c6705a901a73cbbf3b92a87f55981790afa90dad536e0dfbca664d3d16677a68797a94eec96f99e68e3a4fc59c805be5b7cdbe36f50186db3d06495af7100374b7a7664f299d7b5c3ff2380d8de741e574caf043523775d6b687962bf510859f81845bf5c5262cd9d4ff0fa58cbbe159de1407334d718743ea38f0e52c939b10269b68e4a6660ed96d1ee158ac45ded034637b923ddb789413dac863d03417faba86f1c5d6c73be7fef69cf7cea3d4f3fc69f35ef36968784d53579e3b83f2421543058be054055f77d08838c9b3b4e84847c5da859b71a7f83d64a54f6046185e65995ec6173cee2664a80cc4076bbdbfb5fc1405f646bdb2861771db3b691b41ab86bae60c04ce6f357916faceafd6d9925af628562f3ae387f5ee328c49b8954711148d88b1b28a980675482246f7b4060828368573c83513f23310277cdbff25f0c4dd88a72988ded9fd55124273d406722d3dc3bd1ae5b1441646ef18f997d13c32d1e71024e513331424b221bf7e9c8a7d4a40eb2f2352944f7e98d0487f88470b4aa09de01b814586c139d7a8ce0f52a999aa79ce2c7be742142ced553bedc92c58077173a9e7b6404c9578fafca3e5ab42f0506ed9673a14385a4e0fd3dbe1ae22c298174710e171f3b080544bff3dfee666b3e91b89032cfdf3f2d301ad78cc23d30b42fea9a624d65da6a4358e97cf448ed2a5893b0da070620d026ff8af8ec0a95b218d2ca02497c0f29b2f58040b8628d1abd91da774a136d67e512573a78246751506655ec8ce73d7c815cb23be26478237e4d5497bccb656f1164465ee97264fe32751e77138f0c806c4792f0c8f1ad724f0c6a3352459a4fb28d2c3a8e6c6d4f7654716a90710a6789c0e443a403e2f34eb5a0faae951a7f26b6c77719f04472175250cd02f6ef13074da2c9a53a91bc8b77b63bd9363fb9702f71f2ca1277a2d07dcc290a714785bd45da9775fef9fbff12ccafbee781666e07dac7feffb9a65849115b66d90018fa1f48edb713c07edf58e320693fca23e6fa1c01ac5a8bdee6a0edbfd580428287d5d38cdfaaf88e3596fd41b95e7c88c97e9ed340b10d41fe525d8d3ce9f27a42e7fcf949d1d61776e85de446472a68dbfd0454a8d0f65215d5e8deb37fe8decf3bb0efdbfb2b7578cff47721d3865ea2cad267e142c991d5698cc382dafa39afa32b0e80f4ea6b2514dde59a45da89491902ea4212baab1f2a90973b9811be5e830c645519071dea6b4043ae96948b649ae92caf5158528f1e5eda086e495d4a7d83a04eadcaaac2550212a060ddf889430fda7b62e6e435f31b5ad53033de26e7e73c5113516c093265aefe7f0c46767c7a84cbc702cff11026adf31b88f866e5f0c94ddd6f5185f823f6c202f309dce41c20a6ab4da3162715d1247100ba5934cd530030c9b6e6dfe7cfa39b2c5edbf16f3ecbc876724ad643ed9ea2b61ceee7f2a078b684220c800847782dcb5a8301693ec92795b1e9cd535c5af63c3b790e188b43911dc617d315cf800dc26ca1b8c122a556f3b0033a1de010c3e73a3251a20a2037a4bbb4bb7e73991023310a9d0612c1f82d377483120ba74874758bca243a38976fb27b157eec1c00ae32ba30993cd7aae0874e6bddb2c6a38c6703ec3df7c6f7999a75e2ebb19f2c8b24445d5b59e26ae6acb39b89cc85cd614c6a58f0580cb82f6faf1c3f088fcc76b1558bfad512e05709052ec867d2c83e1ce5397a2b2dab0c2bdb0f37450a1169d114acefb6254854dd833bd61a493a5773cf6736b577cffb1cd38d8d3e3aca5724dcc94c1ea3824910937431de1b354e83e72d40bfb84e615d3469b8be7a2a1fe4e852174d163958d31ca8644c6c7c2fbdd816c34030c0b5163e2d57996a58451719558a067e1b0e10dacbe2c335d7257e48f76de370c76a60b02c79e8218cbc79981bf1ea70e2d9ee154fb1156e617b2b549f35e2be4b6a689d50ddf4b2c2af72e15b77d7cacc80e82a671580054fb462cfe6e7aa89552769a4aec5b4b9f66d79fd7c8c9ad8585d345e3934b8280e06676a6d0f8491273772ea814de17e38ac6421daf695812b316741b9df5f1acc1b94d9856ca4b471f80beced7c57659d8e6dcc686690b94278b60412799f5bccbd921a4bfd5335ca924363be9cd852fb2175fb4f2d80c2720c669b2d5f97a905d0ae6a4e6f59863821ceb7b0ddc921ed765bb1e3a3a5382ab8eec08eb19c2326e60bd593d80c8f4ea1c7b942544c35c7ce0249d44e48bc94355bf29bf51a2f2abab6e73a4ca422f8bbec88b0f8697db7e7701d67f678ba399c6305f8dabb5a7df862f58ac41f5bdd732c72706ec382d8962b941fb0915ec09e2e28a6a2eb0690bf6ce01ddd3098fd2cfca244f4ad91477d870d36d8247443e06cf042efc90d14ba93f18ec4e0209ab9f65286dd41475ce5a73e78e09c6e1a70db3b39ae669414d3bad897c9313a7b18ba98e4d4a610671d8aa4233745274ff1e31d1e8093547a1ecd9ae2d2f3b29483004089fb115385cd5d383bc89d20cf324fa98ff87f723395fb8a0408187c786f9de49143a4fbfc09c503a99c746a38ce708dabf3cc51ee72b4cbbf61f606c57736b1757a05abddd8dbd825577936263ca0c03dbc5809138cac342a22d3eefa917638adfb4e8b011bcd81cead458bb83cc866497ec01a687661dcb62ecfafa330b27733f1af0ec7a527d4c8af1a44b565994e8664d3fd1edf08d618fae6d62cca49ae429300bd4ba0531a93e3529a11743963bd8db8e9e992e623cd11c0282c3e22096e87031b7dd3fcbffdf14cc8c7103d610bb02e9dcfdef1693a9d23dde5c7572921b08e0c7a307b0f82419140d7c7d1d9ada936d6eafd18e95b538f07a2118e5bbc266d3eefdf160d94802c50523f0102949e023735264ad1b1b35af8a170964db0debb5ce58730a770337bbbcc8bdde281d1ab12d71b5a27fedb26dea63323ea926fdb80ac840ba8b718f940428e1648100815b0f01c24605eb749da1e51d30225ead887c66dd96230e3517b2be30214c1fd0f2bded351ac0f73fd44f3b3570f7cb8be9177f7544854ba3449316392adae4478dd27f0a5cd88829512f1310a3d578a96a57d95a2b3bb524a548687561d2404f1526141c7ab8b57855e834f4f1c0433cbd5f16838491ea625374e433f4d7ad0c955b3b8163ce34994997368661e8bd1dad1754aee5dc76d6c1d0668ce01745365bd267b2f48dce41979f82ea095f7d8185baf310e577d15fe64a419672b6354be51e14642ed519ca3a3bde087cc55df2f47c78c044efeafcdbac6c56d11940a2e3c931f7069fb914629ef1e054cf675fc5b3185ea35448da45917b92226fd68b5c3e8239863452c18f58603f288f8d8daaadf985cfd29286ab20d3f6cba1fe5cd80f3cce18a9c4b643d663528476ebabba4ae123a02245d81f42e9c11d920f365d9ba2437b0f0b92a468135c01b86e16f20f2c3c9f0c695dee04268d279b6a98cce2e51cd2c0062c32f198bac44f98892c9cc74546cc168ae98c6890c400233c0e8194f906cac5fd73f9f0df07207e208b88735eacd060df33e32efbebff51e4aef5d866ca93ca700d1813f0a87d1767ecee4254159ba436f2395ee796242d8edc23ea391caf0da831aa36b6754f41806b9d87cdbf1c3cbc41172d0b5fd7c544c87808e71f7caabc658d5730fe0200a85ae27069108ed2c1ca4862e5e6ce11d7cbb8fa7e026caab6b4a755481ed52e55ea9f0481e64f2e20d28219c95ebd53640de6c4104edc71d78a600d2467548a86c28d06a6a481ce42ad1358c1ae802c1ce9be2eba1cf8303257cb29239ce688e4539b2f460ad6999e040699ca9f478e78db81deebbdbc8404dc8103ca59a2795a2054ba4a07965057afc69eb1179cc544c6bf8f2612794856cc670e16f54a34fe9b0ad5165531f78731aadec91f0e0e8f33006080b0401050f1f5fe90ca2ee6fae77c2a48100f130af26a8ae966b2b7ac2564ef2db7943225990277077c077a070e23131c43a2ca2f26987dfcb56254ffe8d0a8cc4c16344b66c0d034e162a689c62ed204d515bcbc85e3bec192794cb2a773d2ecbb339bfdf4661257e69f45f796c2318fb94ab12b4651283609c3f4cae2539ce869cc1725a42bfda4859ac27079c1223885ccd3e5a51c2c18b95c7ef58a1f429a1c97c538686a16f5635dee540fc85cb3a8fc32e503da183dfa64ef4cce38f58abfa689e3a23885ccd3d21722907cc89f88698271a9d24564c02c251101a35c271738f6a38610957b85c3d510a246c8d067e01bf10b2d672de0b8fee931999fc538ff07a8353987f07778fcc96cbf5731c6e8cef22760ebc0181dc69882daf26fe6c1ebee0ee1eca4d394ee2fe5fb452e1776add3f1d52b185f173ec7914aad11ab1f2bfa50fbe5cb952d01fa4cf580aa08cc1b3f3a7cd904c79763960bb91065b91fea3673f1628c348b349bcf49c8408046107ed5722f74295c8afb95c04af7cbc13101dc8fbf5c07739dc3f0186ff2c59f3f18a52976ddb7f8e1ba972d8e5c5e7c90c41053175eb82873fd5b10f2c3f51f2283eb5ec49071fd91fce08a4b892a423f401a6a02841c0c71dde876aa078c62346591404358a9814b1935f8b0032f988862a693526f561142697b28d639bcc00635573e0f8feec66a4345fd689cc187784e667fb89fffb33de701f1344fd5bfcdf99bfd7976d75cda1ac6e1d4d2aec541545719873f7f8dd6db99e0188727aaa3f089643f339cccfb5817a2ba4b1f87c5367a4620fd86bcd0dd6fc825023f5a17baeba8f601eda596f6ca4bfdbabbd2beee4e6b294b32f1215fc48958fef23fbf4fa0094dc44d3434343444615247e916275143bee3425ea58ba610458128b4941e1847c79eb102b919aa048060842e7be002283454444865dc88f0144411aa212424688809e2891b22707114049b202c4c37aa1b90ac00800841883a2eb7e0323f0f0f20ccfcd1529d036841c47557f5509953c041a1da97bd7c31e6429c9e14f497165738c2f6db9e85ebfa571e1ebd73c3e4058ba7fbe15c1fbae17e2ca42c58703f1dd723ec86b54edc72fd3bd503aed045694b855f84614d3facbd15bad4b0a11641caae3f74a2db4c7289632395a1f801983b895a87a1f8c194de812dff69d43a0c85982bd7fdb978393dfc7ed4377c9f7ef829fbf30384a485214f4b3f18d6c44b3e349faa799a9fd6a7d2f8fa40dd9ffa20f0676c9299879fb2498e7c66ac2ac24fa28a2d9ed4d7d89fce73dc7f26657f68ea3f9ab2aaf9299ff9af83cfad19ab9aa90f42f3295bf3341fa47eea5336098dafcfad8f2703339f7ad5acf1247b547ba0d60c9b87499b908dfd81464449469bd568262792d08cffa00da3ee4578a0d68de756f61f4c824f9ee3fff57f8e7ce8d3bc667f60130dfb036bec0f84d91a58cd120dd894b5a78a8faa00eafb55d1064159557ca0d6065f15a449f6f4815a5a0fa61c5c1923842297ab857a9b3ff299f19c90dbd81fceb6913f476454e35d68c68c9b269b1a8ffa1916657f6ad87eb24d37364f37bcceb3c14d355635bf7e6ad19861f39f0b75df4fe37f8e7c6c3c27f480560d1fd477f6a7fb231f1a8fb23f9d6d1a4b3f6dc33a81ad1a1656bf4eaa164603d49a46aa20b0c53d6c714ff334fec8a73e4a550114ca3fc907f534ec8f13794e92bdf12691378d3cc77f86574384facf895036c9910fcda33e098d55f9cc7cea675441663ea502827a0b70cb3fc87c3a011754a8c05cae96ff0875abbe121feead0a08cdcfbcbf005c955b4b9e03f32c3614114514615cae16b7aa4da2c4a50282fa7cc95b404e6620fa6289c924ba44de14612a115d9f4cd75d4caffca337d92cf9a74ef862520bead6695e74798e3ff5dcc9733c0051b4dc69de00c5ae4183244a8d74e1e496447ad6b0a1c2779f525a18e28dd68546bafd0ec1b8b9dfcdf5da3736275cf8d1728c4f02fc29ff8b96328e26fc4c23bbc7f7f8445c46d92b77c9785353b377f756e822ef9c963233fd9e81631e8e5ef65205d1a5dee3b41822b21c97cb67504b854645dfa91e29cd7fc66332f33459663f175833cf97bacfd899cfbc8d7a5f12d7a5db8c97459911466da2ccf6503f793d11824db088c7c7034201cb838617f58333f04a6abf7e41d7cd9edae5f4d4e4c444b30c262d654c5953f6b9c04ad0e9e9e61d9146fcbec04a57b31f10d2f5cfbcf9b10b825e513f54176d51c49733cba684ae028e713e0ee9fa73d166445042e11e68331eb054ea42f90bd6f1abf2f0ca2991e7f87fe75dc764b343935f8174e3d74c34a9753ed8f4326a9d8f225d225aa76160c594eb9f4df18c48cbfd6896ebaffbdda454f08e44be93fd34baee193bdd6f7b4da355e66930cf714dc973fc7d7b7ddb2b23826daf1b2c352382286c5a38e3817b36261887fff6621c3f547f0de63b8d8454bb4e835dffee8116574828b7b9e01d8ae4cd0451904349207d71fd398a041fb2093714e9ba847283a57e9c8e025ee9c02b7f390451c88ca00914c977bc07171825e12bf0cc6336a5579e156544bdca881889d25abb0e36d296fbe15cf844b4c52195d11d21372a4a4320de45fd56289b2ae0c3ec5b6908428743d0512e1946157867c5113800effc5840bcd0077f66ad70dfdc739225f4990fe8fef028d039f04580528500038b46b0a9a2c26a6a4a6c0897525dd49bcb5ea40823bc04d5f956d77bf5b7db2ccb359aadb4e76739b5d4a75d790e950aab20697ffa27efd496a318b4eaf4b9473d744121ca11d50fba807cb563987fb5029c4451dfc99cf6e6bda6695b7b4648a8f145fd58574ba5ec8f921680f8f4ca5d505316c85a29fb034bfd6ab5d3461938c6f99a7a0d14d41cbd5359ada3e3f6c757617eb459aa1f6d817ebcdfcf9d5daf947ae01887fa4efc329a6ef6da339df914908fc718ffa761f4ef0f125fda24324992fe540caa4c05f81488e7cc979eaad59e6ab32a9fd4c7df36fbe3f257123f094b5ad506838ffcd45b607ecafed423a8f4f26bdc41441501485f3501f8f421ac47aa095c6a5513403d7d6a89d047594e72e413bf7e1215ea6d926855d9ab50d5aa32abd92072723648fc7e214754fbed67e6c3140bd96bafd90fe85277f777ab84e6fda32de2f3e77edb1ff19b719ca2505581e8233ffefbd07c7c69a12b5aee13e06693c021cf9947fc66f3531616cd17c012f9f43d15b53ef25de5139f5b9ed9a8bd80b55c2d570bbf3cba3b84ddaf0b2dedeeee96441cb7cee7efdc83821c736fcc5193b7bb678c31eb9e93399334c6cbac93e215ffe7d1bbb786949953331a13ce668cae0a13f9abc7f99f5c7ca8225b70c3ec81cea00a19748841cb1114528058c11432b43c07afdb3d0ecee5d80bb45cee72ece875bf67c92db81a62e09444d489545197635482b8df3b0ecc37dd08d3562f299842cc52163b98028b58c50e28154099b02166972f4604c58c76b8359763464dbee06c749871440d0a38066590e130060e9218e30a2fa62013041cf4c06a4a6991028c0cb3ce9902309c1632e4b012a3c20218a37282ab5d8e5131f2222e11400b0c9ec0f2e40b217210a978014b0e3e14f1c4098456b06da9fc9c8d190373e2d8114937067a8dd05cf8474cc1f197e3b217324e869074d9cb1084eef797bd9039e23ece2a1e51e54a7ba46f08bafb2171b95ca9cbf1614a528e3eb52db3be7ce97cf9190b9788fc1b94ec7ac5246b1dc5102ffc76bd98b43e8844658181820742d05045930c413029f1f48357932d4c34500143e90a13e4e0490a98c080639ce9cfe1209509424b490a8ad651a43f2d03d1122d2d259e0b5a47104ad9a8e94117aca008a296a37e589e13647e16a60b2f3fb494dc54d182548801a2889692da456b02b5b888f299d47f6c28d184122d25a91b5af3815a364635f6ea04c8ea13a6849c7115b122be68c9f7a398114d3a849c78eb08daea6ab2c455c33d0d80cf4bacb4620991402e5ae4583886ecceaf39a77c12fc1b4842c7e221841042d8e4f424c47b47bbaf583c0fa3dbef48bc38c086cd3b11a8a1c432df4a196394514afa6dcf2fcfd3bcb86dafb52625fdbb3d5be6a26ea92ac13a9eca5a75b526feb41fc72cd5437e9144155bdc0fbe62845f0485d1e27eb0281af58ab96b669c35d9f7d315b8c0fca5f40937a11f13a8d8e2e2ff388a0b7f058802bcf0514e9011c5893190b8d5b38152bf2a4250fdfb21e0c28fad57144deee70004281d0941a9074e5a312d4f3a68b1929194322dce9b04c1e46a2999420835f1e0444bc9cc0b5adc277c289e331fd065322620a3a8a5a4865285cf7135a0a8fdef49601231c2ff41ed997a4ce8ff00b5e86b1e0968c6514a3f08a8456dd0f69cb546f8a117a715fa1bb534d00fd2344a5fe320caf483b420ee3c87593a74678f5d643b8ab85c2e576bcacce35e01610bbf51c0310ec7363654f834c6f819add1e5cb2fb202bcd30209aa1fbfe2ef88cc29160ff486dcddb15f02f3b3e7881811815f2bdbb3e631d1fe0788049af6da0701b5341bc43dca5a23f01bc8cd6c7b56b4e7344b83f641dba669bf51cf819e133f48db3e883f28883deaf8992484d715e1b21721aca0d6b40eb4fc35b0d408a9ccb0e4092f38df0c93cbeb1fb9b4526ce90b1398eb6e5f1acc7728adb5eb4ae83a4aa57b114214467cb9310203b871a9571a990c552388fa694f1acc4dd075da1398d785dad394d71646e88a123786887b9a7bba89512ce53413a54610f4676824539b74fc30180c069b49f299a499a46f26094cc731514c8c617cfc5da26e5552da14faded7fd3a0a61ad13e39e31adc31acc73a89f067b7a6a9d6f26e9f6d7dd6e1d303126988ebedd51b8a79b7bb8a787b88708ee69d6735cf29ca55eeaa55e5a929e46a657cd1a190bd8d95c0960143431b427588d712982b90290a146a7ce77b437924bdad392f6d4694fdad36a84de61ee7274b6e2bcb46254691de59e1553552288377b233437d39e5888aa09c06b89f8cb9f96da23f0c62732dc53a575383ab54e7b544520bafd925c18eb15fc19a61a4772ca4d39f540f9e4c226914cef7892d3e7612e9c723dc977525c3aa73f92f15713873db91f5572a52ba3c828e6c2103d8c52c31555fa4895a8921255bab1752ebd6e53afa64a4ed40f325125fa258cba7a88aabdc32dee6112aebb47f7e7f766aa078c293cf49453868563c952ca973146d96fc4bb7b04a8902f6af00406085cb088d2a508cee03d549fe1023e3479f5b084871db270f120a4eb2ee1b353f4a62f4b4a499ec342bcde925636798ed7e0ce25eb21a8bca8df3f4e09f01dc2875cd06ddbeca7691ed5344b7be53473c9fd032eca678ed29f9998678c32e3c9d37e1e7ff86dab72bbb189317671b3d2e5bb747e2df2c72cf2c738dd034f033487f001071e3ce1f0458be1d0e5a62ec770481ae2f8c3c16849cb10ac48081324bd5caf2b4e49b11b604b202da1b444d10c624f96a25c42e8c625a2dc281fa6629431ca18a52522638c324619a3fc80f83e2186e3cf8631a8170d6a1083980d4d927829512589a21b43bd464858a286a1a7249e70a1a1e855638c1129c618b560c095aa19624243363670242e9c68a29cbf794cb6e7b6e7ede7dcb6242eb86deed3abf6e9557349b591e237d217f5594ddd67753f880491acfd42c38bfa3512d24c0ff5834830cb74c0b64d9bc3a5a811c9ed075fdc9d19c1714ec992a58c1a84f459a3d4d287deb4d08ea97f5f30c844c3a97efda23a2ad8e0d4397ca7a7820d4fb0875ac79924f45a67fe10c273592b0d45d3f1388ad3b4cdc2002f93e740afb9f44b041b384a51fd33af9b4cdbae194b0cf077a2f2300e7f18a6e906117548eb649d4aa1f2d00d72b6039de36398846ca9d0eb65a61a519d92ec7a038ebf98902b8b5296305ebe1986b2101181a4440cc6bc205f5a2b1d5dae96bb7b9932ad2e53a605442f5891cf61ae157e22986a2195814e05811c86c384f982c68aebe8857e78f4423fb7554de0b6fd7cf025e242436e200863883fe253a0756a6e7c8e46be1597bf122b2a20ec39d7a75aaa02d296dd6de739d4aa80cc499f3e6cd126fd499250bbf269cbc878da1f7e906ee2df32763b920c9ac4b0c4ee8dcb5ecab892842ec78a78ba4c976345a0e0ca204ccdede768fcadb8e42bc94065eb8acf0fa57545ab0ad28af6e7c8020c83c0875fe1181c6d9d671c3e38da3a0d2194407d54c7d3753574425d0d4c38fe62383469816961fa802e7c2d4ff458a05ba81957842570a7de5889f033e0075d377050e1cf87dfee437ae59f0dc9bc163c20bd622621593fcbb9f7cedbcb1ee5c156f6a9efc6ff932d1674310edfeccf117c17c26256cb535f84b167aca4be5341600b65a10b26215dcdde6841add456577c695ddb161ce3d8b8a1c2e7e273ffd940fd47434e9d4d67ae200a28dbb3ddeee84f4681328a75b41e940ef7dbf7dd3c11d0bb7df700de61813dc01f788171f44b0f045e80711b07c763dcfe1f5cc685ab0f3a7154dc3ee563f3fb001adcfe1f30a75390592a0523508b0c354d6b4df36d26bac038dac6930a2f0cd1fbc00bd084fec143b8659e68a11d90fa7e0db48e3fb592fae95911a2add44bcf8a506da59e53340a854319132f0ea2500cdd422232ac645166164ee9263aa23224fa22b967ac64bfa333fba3a4059b884e42ea557bbf64108401c22f025168295d0df019f2181742085736aad41ed22b8f487c07f5f08bf8ce7cf81b64790e8490e594d6da75ff48f08aca1fe8baf5602b7af03e348a2db780b7a62dc235e4b1377ca8fc4eb22515dc2d05c028e5892d3dee2c24aacc606da30a0bb692864896ef641fbf003958b3880b8ce349cd9e99a9009f5996e77851bffb5021b5618a29c488324553ad1a47e7c6a1669c1f239daab62964afbd16a70d27153effb495e3cdc6a150dc16e74bfa9e2a05fa77cede9a6bfb5519658c324ee91afcfe4c059f5531c64c8a8b298614bbfe3e7564284a2d154106f5cbecc74b37b13ece26e4d2bf1146cdbc1f736a13f5d43b226ff68cf254d95b49595536e78b3044fd172cb9f37dbe4d0fea6682eabffd8eec7bfb98ea817a984a217bee7738caf3cfe4750a5bf339352910bbf381b48ecd9d8fa449efc0252f9fd6e1d80f44dcf93ce71cfa8107d325c6eb2efd9dafd12c070fce9ccf2afc953f44878801d2ce60c66519d348b32ccb546e53a0bffdf68c92b221576bb7025f3b84a94d4f9582f65debc8b99254aa4bf96ebb87f6a32e7b649b0fbefd47a4aa9f2fac1df36b9281dc3373e7e5ef8f71fe8eeee653568d11f5eb3a167f3716e6a283a78b18636c54b45b6c11d9fbf8d4882dfc726c622a7c7f8e911d067d831556fc004a8c64a06ee0d30700e3b81c060dde69817a23744e3f43db89516f6a175b08c389014dccb4024285cc38f755024c074a87ce3d0aa1a9a9298b8b887eae539ff4e1ee29a0624cf9889171f04df9803e20641c0cd4b073b889d190e226091a4b51900104241acd20121927a4f10412d353ad5da44c190f6b346b482bcdba3ac5a8df53c069006174050c12d34f370133df579ee3acd1ec07ad63aa7c50cc8deff2fd5b585af2184794551e322141499746335834a1eb09c915f57bff8fff2dac5ea3d98fac85d5d27b8e0f2a8425ac5a87d52be804002c1c7f4c929294a208c16a6d9dbe2c51b01ba12353c788e11272748007e3300b7d21f586744008acc2cc08af248361c3f5875c06bb67325b8471482f7010c239f2356f3a0d5d8f40bd33c6c84c45d9cf7fed7077ce6670a209ce064de69c738211a5004929e2872b5800818418581460a6942b74c8a44c3169789539c269983c103569228afbf18b63a52538b81f2f81892d51e207137739b66488255772e0f88b2d99023b7be2092ab2987d66e34fb744fcfbc6879188470861b41d8459ea47ad70fcc564404282080923570cde1cc1c3039b069476258731f2cce0893484a81fc38e38a4f1070b90a9b8ee3601f517e0ff4ad48f61fe477ee044f11b140c0683c1266be5395c44e3041cb2f2c14d141a6c196ef00e1206e29decfd59dc23e3339ca1631cfe42200ad1de6013324b3d47153b3fb00b94232bad1f251b0d4e5a47f095c0a01d5a47af2da95f276531e7c31baeda49f367fc47dbb9a63ef73069ceb01f45cd0d569348fdfc9edff33b4b8dfdfa06108a4b633ffa751716665e35817e9aa7b14450df3ff3292b34be695898a573689aa6696cd7756a3e6a3e373ba957934bc7bc56ead59cd97ccdbf9145923b0120a9cb92d665a90195fe7c8e46b2bc61eef1e721755cf910b2e4532a3170424f7cf9485a873ef7f2593924637125eb80a1e02e0db8f2390fa75772daafd678341e6771707a25bb8e66cf695e57350dc50da8fe9bd3d4aec6a3f13a15b64ff5403d0e0e731ece08dc7f23dc8e73785dc6002fea61aac7cc7feaa97744ca1fa157f2721c7ccf1ea03dca83369ad87cf8d3786beb64afa37350ac9343639d04f04abe7cca3d2cc6217f8411581fbd92673e559804917ab5352744972e5dba2c597263e386aa41efcde50b40860a8982c487af54107f9824dfe39e7e79820b43c3d0ed41231887fc661cf20652ed25db4a30a99526d09f5954afa47ce66a56e0e2ead5edec0d5733694bb2706def511bd4a50a195ae85a52e14b861f0170e147c3a62e6c291b0d9889d7fd9889329ea668a209169461e386ea4e8a5c660901c31d78e78b708f76e51fe11eee8e2a1090ca0d41520af54afef0983144fdd12bf937be54204a4a6e55daff1124f2a1900fb58e8a975ef7f3a5d78dbd922f9f765baa479b289b17bd1846d5bc4abd9b1944fb3da8de915ec92eb5bbd42d062a8db009f4c827b6608190513f567a29a57c9b2845d816f12fb209416db0b444c3a2bdca6780d457d17ccdcff8d4f3d7d6d196701642f26fb8ea10675a7f78d5e3f11c29a54c4e1b62a1942fa5944f63599ee354db255d4a97d2e5b7b2411ae24291d681433c477ecab331aa1f90ef02f77430e84a4da6eec74da9cb3872be82d890a668a289327e70e2b2d4c56504b78e0e568e55098fd38dc043da8566e55895f0384dbdb3c172e0b652aef7fb7f8077aae7708f76fd5de09ec841eccfcc605c972e0f08e3a80053183860b5cb064b65e5e091edf9f3c74fdd436ed7c60d153eb5d18573f0b0c8a81f37d5daf90fb189025b437ae5ff43fd18890b8e3f15307129e2926508d9924b423cc7b3272ec774b872fdb966ef192bf277747c1ffaf2e143edb3682b209fbe8f7c9ad14f62219227a1b6be51afb854be7db31f4845105d0cd1ca9e8b4b3f85f6537b798e0afec6da6ff647b3dbff4cc885743846e5969454fe4c72e423adaa02f2b757c1f949a85541eb237f7bf9f435ed6d92ce6900b614b5b4a7ff51cdae3a693f6a85784e6a048ca395c02566001b42eb882a814b7851c1ab75e4948ada1f873102ee61285f5a552b7bf941e6d397999c1ed3e59693d306a397f6dff9f275f04831815083b2960ca25615ed8e1f9ee399ca83cccf3e9b56e51648f65fbd2fbf924d0985e04ba869a070fc153931f1c4e5890c8a5c32d2171542975f54f470a54dc1e66e57ca2865fce08b0bc79f0f435b9898b2a58914147577f41b7c012184d0128110425b2313d57bb003d6c28a2676787d61010ba4d8011561c05250663a9973ce09654c17409491046507a2a8031f6c903e043999602cf16108a58589182638a0b204cf0bf213495cff9bce9f05c361654fb22846c5a5839afa22bba16662b258982daae48110544c31456996011342a59763535e2ceeebedeeba6d3785594f97314a9df6fef2935099234e77435aebedee6e2fded8adcdcc58c145e8ddccceec3456645c94c1310e6c8f927a8cefa8e9d5e87dfeb1b9cd1b329533626816a56c829049462619b18090094226199964c4228ec1318e4b1e3b6464f94a4ec7f96c848ea256ac116e13ce8f1f53cae914cb7491c65ac5dc004534840d17443652a0e0925e2d664a2482872ce8142728d4a5b9b93440b8345d2ecd53934bd3c3101d8799418c8722d473a91ea8c82d05604bd1b531292f88368811cd403e5b2177620c05399c200bb38e3b51a2815b195ae309ae50ba5af9000b0f5accaa110fdcac3a7608e2c697f476350750d017298e4c3083213859d29a11cc9d312d6270678d52573b4021e1c639e7bc32450ae6dcb8c58db575e8970a35192aa5ac4c488728347b3841a43c4ce1a14ae7f0fd680d62888714242db0581428a6404069684a92f662f5408668832a8786206387ec08328090429041446c0a94325274787adaf2c489b62aff2072da9f2460c87852c4cbd56a69556d81c8f7f758b043a2d6185157105ef1021d809056a416555e8ee950a4031114a3fb3d2b076e87533a33b3d79763d3c0b938ec18dd23ad0146f739e7b48129167130ba73ecc81246e90d6314ddd393a4180e3ce011d4d444c809d3931b78ccf02485871012104e783821eaa074b11c8cb448a630728837a8f5b29730568043184384b1e55714c8a1283624c5183eb8f1726c88069aa6699a7777ff0a3a99a07de7c0c1ab1c0394c03dd95ff75a0327f40e6eaf344071400d706426cd8ab63143854f6a3fa9ceb003458e2029e284a408f4840ce91513b7a8f6dbc3a118a55c873c5c8752031295becbe5cd9777742f7f5263bbcf58e1be5341bac5fd968571f8a768d8b9feb1ae6bc5451e3f76f85059c0d527f70a4685cfeeefced32b8770e539fcd173278129fb13c7a3a37ae5a43602489feb28ef2c4176a7476e7afe9a075bdca68015ec06b8c5572aa1e968027825fd592bf90960a1def638109fc9a8c4ae94653dcbd8cc0000006314002020100a88440251383020182bc2f00314000a819640805c184bb32cc96114848c418610420000c4100200234433eb00431107a44bc516235fb49596952aa6ef8d0fbf298d54dadf5c4c49ad2606fc08b7837562f84ea91253e2db12e652c9e16a64b58a2c79103e619732c4bc931a8edb93ddeb350e236ccd82ada2856cbd1953555a1b3e010169f640bfab9bd9c6ab64f0170337747ab2a84a974b96f2a0006104643720459cd9b9e69ce06975173cb4289280370b3d9dd31ea79d455c324111e7dbd87bd8a40c6db12178051d3f2ac5763916de855171a28ccb805d9620efca7673a3f17e210f4f7f18b68d0a562c0b20977abb2cb0a93d53f90125760ad09430e6f010d8d65e4fa56437854fb39d134a82e07a2a9f5ace0fd3481fbb1596e885f6fc648edd735bbdcc03a484dcf83a1d19bbe9d0121ecadd3dcc33079b646cf6e80edba536384c43cabccc1c3db896b68818d261eda15ae377cfef8f61c564a0119e6d217a05a805d91116f6c92de6ee62a96469d101c20a721cddc21c40dd0ef51b5a5eee28672c2b415a702be9dad8a55cc3d01a4102563275f7498fec266d9fe26a407d1554b7ac55af7e2ac661ae8d9f62865d73f5aa2f9a1eae0e400687d000050f3d668109ef76c31e000f02c59461885132efb4a547cfbc88312d801a468c6fde7f0421a0a43adf238bf7f0c2814d37313e6aef442d2d917ab64a3c6fe6518711fb73ca67302c3d4880827b614d2a1faf722db6696cfc1c4bf3b07336822b067328b9e757ff9029fb7913ab9f9d2760955bd625a61df6de8dbdd3805f4574760e7555b333ccef203024d2ff0f3d53e9456440f36bbe34d377e23aa6232f4b08a57da87ab9cbb426289862b4a6bf034e32f9d324337bfac9bd1bac1540079a7e3d4a81318afbe7bcdd37b7a34b9e2ab88f4dfdabbfa51351bc8a9630abb2fd22eff1acbd19231ed3474c4b6da023c2e9b716f56b28ad0b76ff2eb5b45d74a40269d6739ec414c5d06c093c43e4afafd2545f5520c154697b762b9f69aa78e60449bf211c7ff6e167a8971c87c831ff72f1a0bff063e50d0269f0f10f6c1300a23e9788c211efd9a4d2d3af0b2d65f1a70cd98fc8c32995e8b0965e2f121f0540d45110fb4f56132304c029fa790bdb27b29d5b0c72c6e4fe189e21c2d1a769000b3e351e938b92110319da974905253214f501a199498f9c590ee95ebf1d1f963b297a237980e6e922afcd5028155e26f8ef8213b4a791841fdce30e5e3aa9fef0818a0b2ba3e3331bf174bf56ecb7e24c1608f85af349e2d7f7569a94e0a328f52228cf8f8d1b59c7d53443f5886319d4623be0d9e8696966422a18ef394e9bb15bbfd22c58a2565c4b6278cbf5969d7c0bdb8da154a7145e0a444c8f15f7a67dfd2ed52adeba2c0610520266928d5e1028d95a58e1b5e5090b3c8b558e222c19e4a374b78136d20e17e25de945ea035c968e270d9a5d043e2309378ddfc8a971b0d280c25ff4b09e437123cd6d2909aed5c27eae0167d5e020908fc8845da9e925095a45fbfb34da1d9a5dab2fdf95161f9d5d0d29ea6d6be62b1b2121d85947a22733515a3c4b507ef22be8d68364195ce2edcfd90bdcadf4a30708f3bd9f663694adc2590e866ec9c292ed6d067069296c9dca44978a85bac8cd172c0c6202abc70db4a12fe1e8da55d93e871e29d8b9ac1853af18826c1811c3613a6e3a9a5e8c615c2347b9ee5672d370cf7e83e47e26f857ee8b28e2da8c28929e6d7b4d2e230c4afff8d8e32faaf55d0dce5da018c7676c7c64527b51d88a8634b5717db175eac3fdb925701facc1cb7c7c091f4d2e0cf1045f97707b194b3cd04f0a79e78137da2157beca626c00f34562896c006b41d32f0cb9253fcf6136f662c0384f1dd82edc8b451bf6f030c6167ee25f514660c2d7603337c492b35ecddc78516bea0e26e11397fc0c462699ae7eb53746738ab9c7a5f77df2750a6a5a0345404a41e69298caaea316aa6cefa3dfbbbadd29d714a90dae2174268c73293bbedb2202af88b8c49988222948059f868382f66d4ac7740647d6cd53006ce994df20ee6836cfec5746d2647a7fb25c6df6769653098e81543d80a57cc08fc20bd18b17d3c9e15f075ce5e15f6d90c68bae896edf4e10b2b1fc2fe4aa7c8c6a553a3c48489500a8bf1b42284fb30340c4c7905e0eb16e4d5cc48b4debc447f61b4a07155ba036c742607ca3cbf106a418243ac440a65da7b02ee31397aeefbb4f43a48df31db119804f507a7ac74f18e67faf49b8a883136920f0c2e11f7f69d38b347d5fe84cb809a5e345657a790c33b6735617aa508092de0e146bc5a6decc59ac2fe568b9038cc8039d0fae880447c591277a758482d3f097babf95c14e1935c7f5a21434ae1d57c1f7067a0ad8aa9009a912c55926e406a9046faada1237c8e1d7aef3ec9072d7b4aa35ec71a7a2cca363f3381a5b6a3b01d316b4d67bb47025030e50d33f57806895217f650e2154100e0221470a5743963f23f9940dd6430fbf0e830a0d8fd896b7832ebfd8e394f166ec1a1f1ec8074eb7d89d62e02e4d870d64d0afc1a8547b619462a34898b74e05d709a32528058c7c431d437f91fa4ce7d7985e60a90228dacdc4eb8065cfa40f7f64bb8580da5b0e15c162edecf53ba05948f36dab4cf16f4d3d6ceec726e5deccaa03464752bb3617e07660e00a0d7e039b7361b2b606b14e25787666c2e7a356dcc1935af05092003e4837345b8840274a0d9ccaf0e6f0774e60a043d9b151111c0eb0f7b270c0ecd8cbf5bba1d47323a5574db632e3d64f7715a86814d641bd3768e3dc2881d5c639b15b85862652b82d6d87f3d23d21182fb3f3b06167a2e58bc72b41c576409bc7bfa5a6b1c07552c2b095adad284a26b049091fd696f6b184cbb2d4d764ab8141f4bb45e5d13eb8d246a44f1871adf3bc63f60e068392487199e3eac6abe8054ae19bd04eaab54ee9e35e9c1e14c449040d5e2cef490823b87b89ecdcf734e38f5b7a608a58074f7047774d49eb572e3ee2b1f36c03c6b6f75a239308e2812f098fb84cdfde63992227b5a2c4d7ed0db37fd0297a13fe1dccf1aaac5a91c6f948383c8b856469660389bac2bd20e15da2cd1433cfa70f629f98aa4174e192ea173aa344d1777d047a89ba39cf6112264ecd8033e3fec4cc85d19b5053a9c2723f3c22e7de3e195dea45b9c054accc94e94e19c447cf7e0d6c8dc228354fa6401fa11bcf5de951161aacfc0588ae12edb0037198094ac2b0a162fc018c25600c12aead6d7cd835462914662c8a04a998042294b8059aa2a84af378f9a83ee9de1bb8b9364c2a97e9e86c79ffcf415a3f96191424131d2173674880e255fe9dd742e6b2bc9c236c773a2e8e5628df2870509cdec78debf348c3e1d87940b1b8034d21603e7b62382c5595a1b0837cf84fd41544d8c62277f22ea7454bda6326b9d3ced141a182da0a66ac394b01c8a20724980769a068069594904f3e6dd5276c71dfe560ad7aa97eea4d685085d4abb5f68782849053e94de2dc4431432c7707ee54f64d8b95a7f7b8db716ce31b47aa2ced1c8dd6b1d437050762d7cb85c3363d0ca5993f3034a3bade72c429de5a572602c9862c0295238f037882031773d156f1ba637a43965e99416668772a86fd94739ba18b06f4c14f340f6864969481174f27e336be816d668099e59b9674586649c7530e36a234a0a750cd01e9a2d1a4447f5ca00adf617b79026e091dbd8b3075631944036785b30ecf5ffb4c8f899f4d6118a53996b7c026240643bb43a4edb95acdc46a2a7a044a85bd107fac8517342cec4f69be0ea5f799a2be418afea84cb44442bad21b24d964be2f2c709e5449a445e0f32bd4557423dedf07469ce0cc956022e148e743e8c3d0a5f71fd477e5dd32039d25a8c5ac3a72e5633e4df5cacb237b9710fbc125fcc67be0f4f813eeba92ad0845462361081f84b684103f6f05f3bedff33e407f28c838a62740f3a118d16bbf3c226936b2dc4e1c7e0007f8ad5dd1e32da10cc063c6233a63f8b8a8c96cff4900c00a210014deaa2740ac17438bb7e48febd997ed4a82818709bd0a895f45d7874214de4a2be64e4fc8737230dcebf2dca5f646370516023f80af9ba8454cb072231059144d548358d265690eebc4e0442aa24402dead433d19133ceaecfaedfe3263c2d8307a6d58918e381e642b52e16d4bbb8116ccb7f24bb086c357ad498249ec104557a9d3900218359e840ad8f95b4825442336a502f4c78146148846b0b9fb789cfa8e4b023abe020a9395c2f5ebfb80c1ffc4c6c1f00ebec5116ddb067cd93485132ebcf8e9251c7ecf5b0fc64dfff0e369da91fcc138e0021bc9e8bf850783b04dabef53e7243fa936ac9b64157ef9cabdb9698f75630088ca8147729616dfd7e5e7b9eecdef79b41911df979a36ce3f2e9d7e52834b0762bd13399156049a1be409f2d8ef3470a33c12e58ff49509c892906f67b8d94456519eb9d17de4512503e1fb99bb6a0407482e6d0d4c3f6175f70d6bd16324cd82eb8d1ab0229405db0ab2c71352b9ae5f1850a8360d3c8230806875738691f4c124ef19a4d4980c51304229c404d732889d40a041eb57755f1258c25e36b2d0d2815c09262e26db13181269e988cc9b3722cba668c938d25e42d6f2e7daf3d1d7b1201b019b178809c9868321570d27212400694e22c08352f99c7018fefcb44ba138c5fc0936a381e22312b3101de2263406825b7dec6fb468d7eb87558233943a54cc8f7761d50d9cc137b0c27fc228348e57b2436fe0643849d0253208f79cc14203bf89a9db65c3db08c3ad00c70c5c46623a29471c82693a96bbb32e06e48014686e41e04afa4a9318787b5858d9d56864fa605b94b5fc1dec642c660a3971bbc563bfc501820a5e82d3bdd06082c972cb2c752c74c9e7672de1a19ac8e6741d54b1aaa2bc62dcaaa19a6cd0135c6b69d66c50ac077d7cd3eac861999f9b0c281eae66b64335d5cb5c2c34ba981b17d8f2194f7e00458a9b45eb838726bad11bc7072830e8ca2dc770f6ac08ebd0d7f98562c5c88dd4957de62d9707aa5dba054ce936d16d46b96ae3bbdfa669fa09c95df579e0f90680e4bf8582dc8998fd4508b953bc9f3db308b91ed845ae33998f0542c81d40965cbda9385b1b1060b05c81b00ebde1385e1dd706dc9e6321e4f6b1db591536b7f927f9bf6ac88f514c3162b269625b2ef374bfffd1c9227fbf5dd5422010d08c98d0a333b93cfa512226c4c087f5a8487fafe35cc53f0e51427822d7c9c7bd62292a7a38b404d95aff4ca3c866b75776fdfbfbe5e27e0b5978a0f6c75ae6a4c4f535c623fa4d4621e435e29cb2af3130e27ae3e118726c031e5ebfd3d33afb41990d2bac95248efbd7f84c9ee244f86b443bb721af748f5ae94b3f72524e251cefd1d65db18b942a0eb91e0c24d7a4a41a8b9aea67458222a15557d23bd85e00960025e33f044a3e760e03d4dc8b91266ee38fd021c6fbebf036c107edb695f8950fdf01c8d542f56668b9a8a9d133190ad3d9a13aa8d1c4eb98ce1b41adda74e2892319acf9e9fad22e89889a65ad8dfec38a345c8cdee340d74676f608f7e74f054ea49dcc931b87ac33a70583ecb071a8bfcdcd8dd4cf9e1b73ff95e1fa0772e560658afb867bb3a71185b3850eddcf5f2bba9cdcc671462a83fb0a46d869b035e52392b88a8a79dcea4fc80b1019b5baa665fa149b4dc893b4eab1dc9642fb5c81123dfb64f3b0b8e47ae54a9f76260036638e10eabf2c473a378b348b5f4f35c146ec5011a4b1367f10dad215e03bb5577529b6d1310530b029b6117d91e575c7ef8129b1b3720c2bb2255782f9d0ba41878266b6d9729e73803d129008021c8e0101099665443f2a21c7ff4150be78d90640be9d95ffc926e4ef50e0843cc22a4b87e711afb190579e46430bf39f714ffb1640bfadd308c7a8584c2ca3f72e291d533a761238b6bdb69a2da4114fa0e52e553e74426a3bfbbd25501bccec2acf11928b088e44914bcc3684f05caf593316bbb64e7071be741869fae3adce6948ef907f2403fca03fbb3db05a9acb371106f1aed0d3c4b1c60d0c701bb65b09900d876957961fee9684c870db19df435ad1f5f4ca4e824e7390a1750d5ac0f3fc4d2d428db5985af02b2f7facd6acf62220ae708038772bb3552cc65526a991ab2d20c1819f2b1f95a0c5b8ca4a5cfdd2c0607a62666effc50c5d1a05430624fef277fe0c962a59d74b79a67d57488725d2cd00597a2103403e21cf4c1d21424613130f0280f8eb6479e68b4a7a8ecdde4a086069a32e90a66cba335575641637fbb6903fd2847670fc10de037efb4c7080bcb8366f3829dabcb7714bec6fb0317ff49d960f3fa3d49bd781525a3e13943a890b79014ee5ad64e82af121f5330fd538745d411faefe947d363f6b54a82cbb63e8cef683b6c0feaac209c3a3caea10a3afd49a71390ed169d97e7e7e375953968aabb2c42cf9b9239efc4154679b0d49d8914b712e9a42182ad309aa7da741dedde0d5a230f6cdc667cac8257a8e13698336a11834fd140dec410ffafe2f7e23ea41314e60604c593a036301b73697d9eea071ba537d270334a612f3a3cd063ca696345c0fb25da74839b1190ef703b2178d1f2bcd4bfd9849ae10e7eea0e032dc2af337233895a23471dd8898089f26d4299bba481d9401aca79dd6abc809d6333e79b7a2e5f1a7231040f0c1aa9af26de125a92f4a125c8839608ac4b50a6c769628e100214bf09d2be3495f1da6317440f9eb1361840d1327c350c89a173d9fcf4c3c4bbe6191ec8a28535db981daed73bf9b39b4931e0b45610b10ee44b2183478f59cbcac24e16c6fec539c5c1db9afaa5bdc95d41d0260d86c910dad51eda860420b68b9553e481799fd911c85565088b27106d51d1026ad6304273ac99c3c13ec19c38bf15ec13c07e70586565ecb7878fd059fc1a84a2c4248c5493daf8cc72ef2aae7511b93d4b890cafa35da456a8cec22b333d1f593d63e819a0ebad7904eff843da9016d9448e050954295e025270cfd095833e00007fd32c893b056b33774a752e9a887a62855ec027669a6cb3126a65cd98e64ad283d002f1d6c78085e48c7cd6017d0e0850d54735077a9d0d1bb1b1c9bb289ac38246a9ca0fd1c9f3c23b5a09d53959b22a166890eb259133ef854b87edf0fde0a5a98d4c8707d92dfbb05758163cc25263ad623d4cfbd90b3fe098f2731eedfa7e200882986438dccba817612edd5116b5410aafa2de6d320a125f40486365f52de5a1afce9fa2e222fd7e0ca77a1d360299631e71b7bdb82b4bbcabde9dae97627a95604919040d5cbfd6e8a958c66f779ede474c4be001d3a3da9e185e7c9fb9f16eb6413e83dda635e24b8da1b36ce8b123e92c18bd9e1fb1453f6eedf2912d58539cbbe9d6b9de7aa86e92523750d5ef43f8a7ca2a3d14da3873826d97bf69193a109f371fed1eb3309200e46c1e96a8d0c9c09e63a99d4d95678a432cec09e62a39ac972d07f8cf61e7d95bcb4609a6e1fc7607956706f93fef730be7a2bcb31958f37793ae7e80cd9bd4cb22f51dc8687965247e8cc35d49ac0aba5c6e06972a2a093046a5c591b08db29932a85a3c0657b83afccc4b0ea69dc17f7b67398f81d055d6dea55f604e3652d6bfe71c248046316ba311ba91d999aa047247c11b8c48ae6b5993dea0d4f98fb3815d6ba59a3c70aa093c8872e02765f577e83d5ed8ea9eb945fb5618e50eab57ee28cec261f3ffb113c6b02aef7999af214cc1d9a6f3fb7bfe89e9a967a79fb6994ca4a97bf37ff0eee4a95b2595808a622c7ac85ae23daedb7dfc4d7c8a6ab6ba067b7ca58615d4789a237e8d59369fbca0bb53dcdc3318dbd4ae65327deab35738dffa622af8006c147f075c97b287a34949fb58ef93d6cc3958c626c40c3ca31c11924295a2804a4074b04e0e27363c80b05fab81e0722f387b17837e543a3047e1cd0d3d051e5702dfe66386a35eef5830efa333b72dd35b4922b62422fd85c704869bc7185062392911fcfa0f330827466325231dfa52d178c75958bc4db204938d20b8495275d607859021fc8d7946b1a7f45e23009cb43ca4eaebfd59066bcb91d0c3d42edbb123f3d406755f4ad7ba3d8445e96cff8486c0049fc88b5b87d1f840989d1cdfbdac86109eebe8676138bdd04a606e06f0d92df07f08a882b2cfa2e7155cff14c37b9b5282038b8a2c0a822392f45a84ea072fa60942b6c0dd6c1de37d86c80b407535c8daffb3c9b4752c4d560483bdf337bd6126086c8522c09e16d2328d3db1e7809b9289798e2372f01e3220f69f6ab85e0b443f5bf603816bbdcaba85f59f162ba5a8373672c8ca304bc7fc21863bc603880515e1e820b902622c778ca5bafc4803461700f503393ce308f32673a5f45248f2b31e5bfc132aa661b85fb7289a409bd5204fe936a6bcba8b163f5af757f222b3eb76b530a4988b9259c70627bd7ccde0f7830b5090be28c01ca125bddad6183845ed2c45d7826001b18151a32b18efed18b1875928de1273ee2028438653a4d8095f61a91204a685e9e1008f424e25187ef5e252d3a3bbf5dff5206b40d519081aa6901b668ee2c3fd46bdd4c7a7ba94fb0aa0b4060b0077aa7e048a5963ebfc2a50ef0757dcb81cf726d160369b071d4017dda194239f79e6d9bd75093d1bc4ba30ef8bc65fcd0abc818c823ec067b4b19d0b46a13fcbc8fd028a156a39822e29e25b232ceec1b23b08338e54fafe05316548b1c23c08b09cc911d850185c89a068d7116f3b214a7bbc8006688a21ab4f555403934e430c5a58b1341f7f6149fbd3b75609c11fd222df398912bd2919585bace82839b151c2338bef2b63190c25b52a51e592533ce1b7bf8900356d87bcaa9e2ad33828f6ecd1c9de3d03b0421b8dee8648336d41da2c9b83205428acd1c1b236fa8cc7cc1c26138b5b8b0114751082d46d69da961725b5620ce2244bbb06e54c847fff055a19f0ef5ee918d723949d622920dcf8b7e2cf6e4bebdd297cd5e2188cf2062cfa5fa85c7cbb129a436ca2fb56ef51e0620e87727a043c7b4a86af73e7b578f807731ee74a9c4c52fe444a0d2d81c00cc9c772c90a424a9dfed2b78f441c5de3c7e09d15d648d00542896800474217bf21e36502da5331ac28c3720d7392bfa70f9f38bcd1c095eb58c663a679562bfd478378f81ee49cdfb592bafb71d15e25ca06c93194d0a6485acd5309d6a5710955d6d403c28f1058bae8f6aeef786bcdf124b4a6ac0365d0d89058404d90583f463e0914dd8d3381dabb746392ca506c73254bd6c114d7cba9dc41e8d91d925b348c016d641d11ad5d549f7cd0e7343eea916bb809b4110a96ae8de1ca1257d35e80cbcb344624ac061adb0ff1e402b16214a8ad3bf51eb6343b17f9c9e57750b752ccb8dc18b43f2f8f536400e2843ac7b3f410b5f656a32511e0a634dd68bb4ee4f020d10111cebcdc5a7d31ca08e567d1989be2e744c2946bc74af1a8b6ca762a4986c1abbdde0c0e21770ec078f1e87786bfd41837b4f35b62ef3d23e4b7cebbf8dc62997b1158daca79218017c2378f108aad446a92599942a4c91e980fb8498f26a1c7250cbb22033f8e8c68ec0a8c7c964145f589146508de5f42350146248fbf47b6be54ad22c3df443c52ea853126ef608c5d52b6faee523721791161ac23e9efdeef401d17e6d0a637ca04b2534f4077665e1c0435a7597d08146202832aed6a078fa3521acfdbe2ebdab4642a47583dc5448fd340a9a504c38b6819199b0335d888bfde8f989bc00f3779b1cd2fe06030f7ca0f73580f5323d784f3790bf1667593a9ddedafd310982bbba53945a505d91c4ad50e4517fab127e9db311d38b85a8b854ac1136ea4a4993dbc709310bc4145cc5cb9a1c38d54e6479c1cdb797adeb854a901c400c7228deff6f725a0e693e9ce393688fcb489b900d9dc9763c00e49a7eca48fd306916fad85b1e26f31a088ad9029b7fb1e80a23f00e905602223836e871ca61b22abcac7dd6b269c4f1f920d65da51f6a7e68fe77e7e6a5ff4ab9bfb5d4d00046c40506b901d1db00392cb430bea7e850d8990daf57f799ccb7811fa132bff9d1a8b0a23e9ffe41038c75c0e9a9ed7f5cae5eaa982dc1b347d3cfd89c957675fec0f9220511f036892c49a12599431f5510287eef25e7ab89ba14ab21f5f4a274b42669357931891453a07bd7033fe51fbb6c6ee795d98c4b2979729e572697ceaf28dd87c7c54beb54d054a6ebf3a44a0a02c99e8b018a3c80e898c9ca6ea5b4449cddfdf629772d20ba89eb671fe310f90b3037b340ce60eccbaa9d7f6b82b9c0e7b492e843439ae608a561902023dd9e877a2851c0117ca99de0973638e59a7ff3cd1803b6132aea2f86750dbabe037f427255c4b7cb8d1db1978a204ce5f53912c3876a445d8d568c77edd9b039433e0502f01a70e1e0514a5ba0adcc75b1727b2d953a3baf8323034e78662f7d00c56d5a55ee7934c5133b54764fc581ae612de1de0bab30b501f58ba75e40cc5e2192ef87667c6b102f69124c1849a3a928587b8d7ddf0c0215478be70d4d33c172236c5ea2f8ca896f73a40177e008f74ce73fdb185ba00d6bbeeb14e42b905563eb7da60a9f9299db367263d609d2c06b04a54d956d231f0e1cb38af864e5ea587adfc329f441e91212cf9644c85e11cec44a30e5d0c6baba74cff98b6a44c465948572c52cf44a19cd5fd8f50a1584bd06cbc81cb422901432ee512ed977c6d27050d9c81e3bf800945a6e9dec4d3698480ea2d19b7611e6584bef43fc9e778f200e3d4c855e02f0a0ebd6d1e8fda20a13c9ac33e3d8af44dbad32af3c89d39d48027ad5ffbe8c5343c15965482fa52c5cea7dceaa701f5e721564b0c04507195b37a017c54e5b3670a5507ec34ed4f7424058cb8aa8682067335336c016cdbbffee6696b74af15cde6b565387cdcfb9b05a01ec3d9a19d07dd937288d478cca18af4e98573bee07e3d6b0b82c416fa1a065e0b7ba8cd3d252935772b66343c437565ce57149681a0f8286393abeb45f8c6efae22a87fe4a78c0fa773b777864cf0db0e0b6aa8861be1f8b63a12cbb2e00067a297c10bacd06db122c9d61a1f3378e3b2b0139b5407bc37bb0fe3b3c14f057b12e2f3d76d31e878ac930b7ba0ebf505d9f7beaaf1e86c2a218abe5d8b406f3e4f273ece41687ce7696ce191e91519a0861549d555b276c21eedc0d71e7a85d5b8e93beca18f50749828e4725f700371468053f8b6ad904799b383d33d8ca7a5151969d361f9fd68e8857c503babc9de2da789aa42398b33d5179d7d5e1724161384cf1e196a4e3584f9fd04476341813fbb7cd8475c0a4087c5779956b27c39f0ce4985be504cd7f3591667e9da28f549ffede46cd9c71d0cab40f1f463b8a22d20739a2d78a7877fa97e0e3d08567ae4f0feffa633ac25a942e6eae8102059a1a07755bae0ec56a29428b1352f2275615e63e6c50592891fb2439da17d2a73ea09ae3a4f0d3d832facd962a23e20de980990d3575fbdc5e7449a47efd7c184127644e2e156ed3894bae6ba534432d54b110c6abe7770a8966ce736653fab3482d51f4af9931bd6606398ed5d0b8e3beeb9482561f5b31ccbf4741350aacc8b5ce15f18af3bdf13903d556c0bb9580e1409314f509d65d927b97e0b5dea14c4010261ff88f34fcd00097b7d3047b71320d4f8ba8149657f3e2dbbe9b17bd1da751a482baac610f56d6390e5c0b53e5d3bd03a51ff88008086a154502729b21a8e4ec2d3b5235b682c4575ec72a8f8c80945716279c15a06d6c2f49bafb613efc7108e6852a435d7a04202256a4b6e8f851d762a06963a37986616ea688b4a031655c1132517830e664b273d23e1bbbef1ccd705ad42ff80cdc52427c9a80aeaed4fec5ebed09de90d3809718013e257e10502a154e7e3bab218a304c0c2f00aa44fb8461f6b8bdbb34434536f6df267e914ec7e0a6d8389372e0129ae34c08909b9eaa48b6a2ab47b4379db67bb4c91b89648cad4ad6c8024e84345987b800226f832ac5053455a14337d95368f5a9301f976e22fbc79589cd33eb92c9534d2e7ee3a2d8cd981d2ac22542988ccdf102324738cddf649fa77193fb292a1da237c587b0e951bd5a43e1591f90c0eb66a8520b363d30dd1d3a715f1ad1faae2c5c1d81b210edcdee981ebfc75fb802fdee0e5bf67028fe72e9ad783770dbc1e153ae4f95f89939fa4e4fff4b87db887e03f578a9644a5e78a990a6ad9785aabd28bff084b7222b1ae5fab12776270794acd0f731d1cf21166b7f0f6d8fa90e29b90f458805e44d0d156f3c81898ab9011307aeed8821dca890b1a8ba38eaf83bf968fb01187921771a6e33f0168c2c919df0075355a554e9c69b3ad190455fb916c00ba9f2b69de09abbddafbaa4a7104ac25ab0368dba9ccf802a60a4edc56ef142531820085c2ab255aa911c9a541baf8fea5005b923cab097328e3b31a322d0a14307d79e8e68611e650567477f5bd08a409e2a73020087191972f8eaf083530585287eac40397ab8d87dc824854e043de42ad6ea6f14cbf92fde60db5469a735dce60530f545865a7f76322ab7fb0fca7b187090568ee89cd9106bd565d6af1c011bd6d9b9797e9686c540347ae2bdf1eaa3018efef83045d99efef44b012c63c97e1f54de64c27023015cf051e4ef981458e30744f4e611020ad93beab563d4172a17d8e0628acf6780223890f0a5e7045912b70bca644e8cd521ae4626cf5255e9c28b1f6fd2867f8dec32518d8cfc183fa82a3dc83812ba08140a6fcd10e996a5f126cdb9e812062314051d558419c9a25c39bf805f0820553303623aa671d3539a97c35e342532b3eb54620f2cea3e12693df6bd4ba660b8bb7d5b07308a8cd11cd096e04bc2d33aa308149e0764793d3c63a53fe2d5d110d2380ffceabbf405abe76efc468348a4892ac44cbe29d9bdac01a52d71364b6fe32bce5a05a6bcc269654cd868e796c480dccc4eff6f56da167a2f899ce3c1ec4fbc6710d3330073d68759397d565d2d1861711316e389f77f0c7357e1c90cb35d0a89f0825d5171c9f413ba82af0366b91acbbd630e4f21bdeb6d73cca2dd56bfdc1cc67f208e53a4b357bea4f808e8a396bf16c4435d3a3a586515341414665b5eeeae5623cac3cba584a67f9e56e6b886db0cbc4fa487da0fc96ed0334a29284f1d99d7e483dab2853839842e205622f59b7a372238290f8615f563900811ed161c1566fe181c25db37bded320a90c1ce882c73f6a9c25c7dd0fa4cc40c1a95258037ad6f90b29358916ca045424489cc4c30648c3187e9e0436e60bff9ec10786816c88cb246059a67d2dc953df26291586059522fec43c6f9f0a9d355284fec52d9a1689a69de177f24f0a1bd782ff88485ccf0764f2c13fcb12fb042b82e589a8eba21821ecb5f5cd8d411bbcb62c27ed5cad00b681e506f1f4bd87ddc97efb90774a07f9c587734c414409af2f980b2083357f9c6d01c4ee5b1346d11a8a818ece097cf067c020b3871d29a4b12bf735a16a1aa6c900ea4785abb37073dc9fd688d58ffeaec6a9ddce41aaac2a6bd3d11ad78a0254925b69cdac9a14ee4b90f14f03032100e64beee9247a833af816224813e77094f31f880252af1293075821180e237c1dfb694d04e305697792048c2cd952731774aa9e5df90f92147e1a377cf848bf7d7c3b417be654d3cf018d805c87512fe6119e17a8804dba16093f036632c3e5d903dd989616fb00267f257bf41691f452fa4cf232165fb9b297e62a5ca88189d60515355e270ac5ab3b17660d0dff8e87843840c3a3a19d6f575f1843ae21fa751d0ce2329fcacd609d54a345e08a06fced863d7938a4546a4937ca62411f75a15f24dbcdea4203f37ceb73e3dc98c5e145a834ea119a1c91003267f8754a308df462397119ba667cd66e40aac57ca552767252e512f3ffdc2218fbe4035fd1451b03aa46ea41e1bdd029b36d0b010c925d485c0be3a34382237022cb050d8cea7fcb8b2504588a5019d86b06c70326c06024615630ef281a9a66da3bb566632313b0e6570a698a00219669c0c2a8384765e3fa1891523364adcb626ba7bf0c6373e308ef18c0b51652a260002e97dc0755598b72ae1329bc921e97821d1c36767c3389125570364b62722d554d644b618eebf9d4113fafa0a89618fef2129c20487775c78fd58ef73f0663407ed75b616fec8374ebc02e84948a652e1084c5cf3d0835fc9d294017e1720af211bb0f4df1f9c20f582ec89d55103d76d9d860f08c7adc12013a082221fec07c75c249f7a6f19bf40b807337ddf172a544df35b2dfcebf6a52c4d433b1c9563f5c8455c3b009f9c78f60b20493c58d80a0110260483b146579f6593991a9d6974fd6ae4491a0f3c36d2311ae46a80d9956cd06b47590e1b9311b06e51162f22a1c3ea6a141733fb23f88961d3fe74f262888fe9325c0e28bdefe06e643f05f2e4f80e27f21c72c00167a8e3d9f8e47da85e238907e0bf90286c71a8faffb66303eaebae28436c32943c1faad68f7beeef822488fcd7b6a4616d035ffdbf62e8c5e451beda574d01c99fdb10fc05c47f45f8b45aa6ad1a2f65e9726cd58c322cc764b025a4a2a63a847fdd30d9f9c71073809325f8849eae1a4c3a684c1a70b12fa68c82132d38c5c2d35191787e94b1a1fa0806fdb29d02fc2ad019b9ef93a9195c59564def9a2fa7b5ab0c11b578c79ae0b07e3a36d0374c9a748ee29c6dd53149d129dc432aa494f5c1e59d69349873ab9822e5e909228018086ec42c1dc36781471e55aa44389503c6ff4542d62af15aba951afc44b91264d263fcae34454c766298dc5e38a44be334a75087c805a93775ea758bb1626ed22e14d576a6ec4201ccac11f6dfcdd1f8a1ca3911285ec9e376795ee46f3d3d1009bd44f3050c20f114d43c3cd00208d8fe71859be00378bec404443c1dc543bc1dc1fff2cb1b2396110c3c978ff8bb2d5dc0198c31429722d0f66dc5c208ea36680e145888e31629a7344470387027766a03b080219be27f7470127f18d8cae12bb99886129297dc878a1ea5ec8c305994b4bc565421e03e32c3c2289aab672694542f7cdfab42570d42baa9ec4b696d49675143211590992ffa8a1219fa99ee741e3a6fc293ad6b11753af7dca9e0cc4781b93aab11c9eed733b813f99f20aaa5953a98f815a9931bf53c46f959e2b997fba8fd2f9df026a123c19e14b8cb2197820c71eea758f5a434816106a23fc8d49d13ef216ca47ac46af1701b4179b4e54b410d9069e6a79d4bbd905c49d0bd01ad1783fb5275f22fb2ffeb98d5837725a10beed15a27097b5c6bf2b9e3116cb8fb91eddc92a7e34ba55445f0aebd2e3953ed34cd42db0344694a9e4b8ec1063ba811d44cac78304dc78cb85a21175a28a2d0d3b5b15ec655ed410f2af6922f4ce46b9342dd20829fbb0f6243c66ebe0ec2dc42dc8c3a1919e2456c9a760db1842953a88a4811c318b6bdb32280c5cf006ffcc810bebfb8b5c4bcb1751a4b5d92ffe7a78883af2dff360f81982fa9e8282c7c7f9cc0be2c203589871299781e8fc6551f1c20d60e4ec4d498e08e8298b605a9b4714ccb239323a1d60dc9e72089a5aa6a7c2e022af6afe037fc604ee54e27d64b16b204c58e72eedd38207bc77d1f8bdac0537d5fd683ed5e14531a320717762a987552139b8f91939095c13f291e8ebad1c3c7ebdca02ec74adab705818d0c29f7dc971f7eb30dbd1586bb5db551b69aa84cbe943b3e502d346a9f5d46f4d5ed5250e024eecc870b4985c55bdae611c1378ce332d646d7c40ec6cd2d2f4b005807b8e01a27f6606aeb522ae60d50eccd3ceea0f2c3478334c116541c14a5fbfafb016f4e3c7594c3bb3f6947553fd1d66fddc31d02549ba480cb7335a03a9027de12ec70919f7190a281b9e6f50bd9a45d7e28039f41ac90e97b4c9435c4bf7f8273f92989955f9981046851738c8cbe989c1df816a8cbb867bdac8d4da8ae63fce6aaeeaaf0c995ec695f4adfba0271990e22c663f7dff0fa48025cb923ba7eb3f2657cb1b51e95cd1e47945dc054b2e7cc5b90d9221f8a5dc93797a0eaf2b2bb5a57996f62e0f751693537c80ad377c8aab552bdc61a8d131ae2e9ec8a485bdfaa115a740e9fa6ecb29c3d23fe9aa3808b36a3891c99d0b16897ecde522128ac1efd5380e9d0ec2c267da7e8595054e27e7633ae81ed78eec262814d289402aca2508d1950db1b8f548026e5b08975439d618548e6e549e561f7cb195e0136a3eedda9686b5d7040825d561c2af9c34ab1b919c64521d6e23bcd19de18b663a623d3c84d5188181585baaba769900beb63aa22d877b83b6005cbce1b9f7482c7aa0834f4e84386426501c16fb593a30fcc221be72aa9e84d4df3b71113a84feace3d030d985e017b4a80137b0d7257e914009069e48d101612c6e4d7cf5696db6ed5c5ea9a7d4a7586af4a4c3701bc17d7cbde31a4fb8dc278b1eca82251c9bafb95130464820148607fee98f9ee49ca16ca979bcd3f4b8c70e3e58c0c9f9a2a259572a5b1b54edf361b1aae53a1be6cb971ba37bc3ecc41c07cb5902e7d88cb4178104c14c1672542fa2779fac09492a6b1b59a292fd5fdd52c83160781f766cb80e175fb08f0e153d8496b96ada8f2ae03842893cb3e83e1ca27608146e08c5af82a02d965a0a41b1cb2998d5543fd166d2180d2ef0cb2bd12404c7d5167195ea862389ffce813d4fabfa32a08dac4b6f5efe743a378ea18e9df9e1e42c302b9d2c45828e21c39e833810dbc8d1624d7981632f7869df521f6809ae6cedec05b1738bd9983f556753015445803fdd71ce4583e472c2340877b3436686fd1dd3a95cc2a5871d585234a94cd510835faa88982784995ae2fe5c01223793e14eb19a00a4c14a2f53ebfda2a00e23f3bcdcc577a86acff87c0428a41f1ef75c8c4e91727d2dcb2b144a1eba0a7dc0bce68fbf70ebf6e3b4e8743c4432c00047912a8bbf94eb23c00613f49ba921b92273985e56d25377e062fa442455fad5e0d02f000a4e7c1e9741780eb057fc74be1d07486be2351d860dfd0913ae1c473652d92a0ba698f1d097b04349b6a484d63c9eaecae6c40f8c90db1d63dca2ae3e18c1722ec8520d39f7e8bcde8074763e245eedd51804a02ccd85748aca59c39565f08dd8cc24390308fd1adf36c450d8a2850b65a3a098a3dcb08b0d0dd996b44c5d4906f3df21e43699b794202a26441f90bf47aa73df0bb10d09fb7c9177eef3183c0c18e3ae6eddc805621bcb5072ffc4be1b93514886f6a9be1b86fe41d25d591131c3902b21266a61c9b4140240289e4af4f5ef48055810d7f66e14708b0b3da6c54a6e23fc8106026af4896e6cf9412259198491663b11bba8c8411933a1444d66fc7d01cd227d41d0a0532e5dc4bb9b2ceeb87dbc0edbb160de49ba8766ca3186ba4d197d1f550e34a4def309849d49a313c895ed28ba21a1796ee1c5f2674bbc36e5c4e0207f9bb12aca355cc08618c177aa20708ab334aebaee244d50c701e83856df9636c09506295204f5c019fc17d65eca23b06fb6311d78cf62a10e5aeee07e60de9d2113a508bb00415abd5541468f89cc996d36ac802980c13b64bfc2089d5bc82953c094fb624cfe05147ed7be98adbc3d11cb504c8cdce2d4a072a3afb1a006774e5246174411929f1089045e5187d4d63e534b82039ceb22c5d2a39364ae48dddf4096537eb494731019e3743f39cb88ce062e8918f4a2cd11914641c5ea710420baa2a834a876b80c60d6453e675620f4041b25c2a1dedc4b6b123d0d069c2fabc600de44dde3ee49a3ccf194cc8a5776c5f67d8cb638b90f75705aee0c5898b005c0f8fd83187877662acccad67f821d7fd1b3e479f96f8c1b7f5b4ae2812f1f11608810d469774c9474a95a6d264bfb63c33caa9a0a978ca0ac40170247be4519aea74c51637e6afececa07208790b9e14275f668f2dd7c026dde872c0ed7fc949d1d4de8df9cedcc41d4019e22ec436ca9574c630fe060e778e18a4094b69a4dedb589109d4c5050eb46bad9036af2303e3b7555a6a699da4316d70711250b5051c795f4307e8d79c8e507e4530ecc9e88d287c9185f81e20dd7b2393f600e372936f39888c3b85e8f36d26f9ca75bfeba44074601c1bc7a59a770655d1033fcec681ba9de7f9dba019eee34eeb2a4521ecc72ec4244418fe83c904702a50cb6005d9169f3be7db90a65766a91969cc04d3d85e6ca1977b57d36f527289f78451a9df7522c31fb3447d4937d5222edea962e1c0b3807f173a7e53074bd6cbd127d7baf9ad97b2db284f7f1e94976ad532b8d90a845e0cb9648a8ee60934d074f1c48c906a064c01d2e9fd3f3ba548f1c443737994f1d86e216eb08f81dfadfbf6f51dee768673a17c73cba0ab439445e7e627c9e26404c71096d53344d66a5af198622c041eb9749b70b4599bfe308f9dc7726258656c067f0896cc113d148265891cba296cee09bf573b530a8d71ba6ede2ee089808bbd0ea6f514912a218ba657336439e419ac037eec9e0e3549432f5d561e880c5c3098c6e7fb151ec80c029da612985ddebb7e6ccd3203395cd0ff664ad5769ae500c51edab77694016e5813d7e7d91d8ae565d3d0b361481fc32d59b324a43e411eef0f91ba32b5ab9a8cf2ee373369dc7fcc92f1aa304ba192b5e7ce5e74cd25efe7b4c0aae9a35cf200bdb1f2c06f87593293ec64ab3b626270f6bce840194cacb98ee1279cf71d645e9a2f0ed2e37a72b53e3b24756678f8764ba6e3a412b83bed04753f6dc16207eb1a71b2786cc35cc263503498a2f2463e49a082babd0382696035cc048ac27091aa21a5fb0ca0f833d87ab7f1f2e6b09249037d99ab639eeae3c1cad167bd71b52bbdd83482b08f58bd6f74dcc6dc6644c1982aef82b01bfab227f8c211b43014f012093d7be141231a1e78874dbb60007a23f356c79719b4b28d2d6dbd1f0a371a541f980f7f7307d4c1a45c7a6ad1a0e3f26f083cc2979f0903682c0ae7ca270118537a81e24ffceb999ed43009fc802f37288ec2a42cca04eaf4c5fb4eb7b0892f334997358c9d5652e0d0f5e551e29635d34d66314df031849b2c5809c426c956fb85132e8f769407b3da00d337194f1bb083999869a28550583fe054935b0eeed58193f6c0310a14a65f7b233ccb0e9a65b7d838b54e813e068f129c4a231e42c5f8113d515170827dd7a8db6142e6d92317dcccd1dcf5cc4428501cbaae7d0f43a08f263b9d32e2b0bf2c7ce7793ece94ddba6b378011ccc43e1852cefcae4e8fbb009583536aeb4324ae608280bf15c3ab4dc918980c473ce2937de80d3714d057fc9fd64760e4d201c256396315775d1afbbbec74a527f57a712953c529afc418539caa8cc9444450598e6d9f10344c194929d0e06e3b85b58e2e4e1c7e291ee216ee5d08837ffb8e85117f8a4f29f062958edb1aa2f740c3efa519a330c8fdfb094bac702ea653e6cd604e749619e530dfbca166a0b0836a106e067c72349893a58678722c534bd4796b28e8b6d81453353fd49c7e41a29a9a4dfe5867130b21653a1b27f9f5a86aef28f0e2ed59f3ea93d1998b091cf2f25a5ddbf94baddd9d775601d4af66c768469e1fc3d245baab0ba07712c6b335e77d0fe4b9cf7d610493de47d2ffeabd0778ed39e9bb0665fbe8f523942280e0f366c8129fdab352bad0471cc47f9f1a75663312234f5acaf5955c73ce00f052a4b05ebf65442b8a44db9bc29406b187d71127e2158580ea26b9434babe018c696d660038f9e78dea6058473381bbffcacf31a3ae08a152ea0a8a35a400025cb7796aada4592809f44a62977b48b9140e3c69e304c88bf232ad641e1a9e2ac70fe02aa156c269a56944cd8efc5444742142a38bf33d4c81d1c3128246372945301aa6645599965455e6dff4bb140a363e8b606b4c35b05ff2ba8bd39721ff917d079611dc8980e854b5087394fe43a546ab7ed55387aa91532b870f0778e326afd68322a2060d5c81d56d61a7130aedf5e124284d9453a8a59dcff8ef5246b822230eb8a3355f588c19d7aef81166cf72b4fcf76bc792d93ad47542e54719aa052eb9c3691dae2eb2e02bd26a8dcc4095c09c3c3c14e9c57e694e6bfc4de40c19c9e405ef897e965d0cddea0a4ea8a9459554e65f3023802b9812a3cb6e8e4973e7dd3b73e1047537b49314a8df10bf09b638c0edd3cd443b42c6770a9269531ef63771ab51fad5009c53521f6329a05e06ce5e0105e0f8586a39382330d1fa0741fbbc2d3ed59f624e703878f6b133fe05bbb4214230a845a6f3d2645c45499321ff06fe043766948c4e8e2f3af33bc9e73cd8453076c1cd7c3af6226883fe23994967967304a05543f4fadc6ec593a9c4270a20966db7632bc0d4ad6f2e8a1a9355fc0a09a409135eac1511516ecf916c4ae537acd68ba5f0e2f5302927bb123d4081c490584b26e0cf7e4ba10f0647d967e2645934162a73cf144ad2b3caaeb075763339ca2e30246e4ec273e922d94114922aed047473d50dad84c687d99f2989960ab66be16f3d6a82fb4faa06a1150c1eacc94ff77f2d15e6f2d19f86a70dc50afd7ab630d30ef90c1e32909e3ca1b6431ea9292b86397deb3f3ce025877bc94930f23a8dec93259670159e1a8f48740d3ad2c1c82d1f6f0595c7cbe79d04fe5e32b4e010d39dfff2d3ceabfeceae98b294210b5454f9e902d178b6186805ae91297acd248c8cfeda279119de9a0d0b05424983d01d6047e85f466ca9f04a5e0d2b83f84f5652be6e53c2f13a397f7ce0bc6396199ece653bdb50ec0e16c6b66f2717106f8d833c687ed6f64d37f5e79ee9eadae58c5ee64f3e2385fde4a3cd8aa14981bc1c2cf04121d43f14ea238a516ab7f3f347aed08fa714e8c592bf9f1aab462e1e37cf7b9df6e35dc256b845455d3169f659081942a176745da1e95e162223066f2971abb621505854150e65d56ab117351a89aad1d35816acda9c2546dadf931ad77b097afb953e3da83fa475f718063dfecf0552df09b6dc742e25fff4ab73debd325f37bb330e99e10326f2318e131285b133c5c59935dfcbb2838e5bd9158b97d739ac5288836b57477968f50d8ad9a78440b8a0f842f92b27d6be5ec6cb212b2281193a01b130b8107c0d90d055e04d0fa2efb9affcc7c3a6026123712d0bb01f698da2f211d0b96ccd16aa7a8283034331ae61542117bf90b45658c2472568e2484dfd4faef8d32478b579b8d2badc7c0965f420e3f14477194d696d64c412b970aeb301a8ba660d00e1da8230a8e81369e3f85fac7282e59b9700b568c79e313aac158bfa4dbe220201461e863e10981c8648b1e0bb77e50d281406319603fb8427b12415e77e3aff672d25f628eb3560d2cfcd275f5c6db34e78b7478654bb3c6a76fcca787b121fdb467aa966f7e46e1572a908e4700cdc1203a86730608c3f363188e14a64553f1d278e5d9df317569106a138526f08eac7f9e32663056769bbffeed9347da0178b172f0ce43b598047caa65afffaf51d77b7069956a49c560c74b620975e645c144bb87191104120676593135e92d3fc334c7c2a6e12e415cef63d934674d75ec0e8eb3878f1186b880fb136dcb0618432c7c9ba404477d6244a8543bfe7fd2a01007f43957ae2601a47b596f80685e4d870ae5fc8fb8ba78c79a81181f7eb766e8a0102c84922839ead75fac005ed061ecd2e0cafc570d6d44b1f6bb52dbc388cd212592b6dfa20d5b6911c935ee12e6be1ea8664793f288a74f6d8c99e3f832628c2cd960530134e4e4bd73db366a3ca38de1d1e53d238c295b7f25b8a96aa745de03554de32f2a963f475d53956b232601f3f546602d9a813fe0205841a4b96bad6501d4d569ca114f7f2db78c48c3fe1e243bd2be66f8c951d05cb18416d72ddb390eb868bdf5424659f5401aff8ce32653263a7376df61302537c8b4eceaace87c6f3a6923fdfd4ee7f063127633761eafcd0ea1a18590ae5cc7e06ab709cbdbe4ec8a47a31e2a067cd133bdf3140ae080f0ef8d202aa3e89b2029854c25c09d4d758131cad4e85b2c8425c96298e0ca9ebd785f1bc388a81c31026e160cae4a43c7c1ba80c5698fa0d4ddc4535a8aa33a146dada228ce894512c910d5f97f4cac8871eed2e8c3992f3c5c47b14b758e1c67d5dd69d2f8216f8437dd1c918bbbd29d798744d1468e9282d6b5111c0496b41cdaba4df45f1275c119ba5249b838eb6178302f5fc228dd4c4f943569bfab59cb037c2651a57d310ebc43c6d10a2b4e76cf54c30eea750e408e66a60a2f72847fb4f909268ab50ea4dafcf2e1da5fb346643b305ca13b3ad6844c7e954dd0dee592e1ccd7da97cbc710d3c04debb378df020b0cecbad37cfb7c3b71661d779adf48478f0130e8439487f8717a241362129b01aabfe763dbb502a67746df9b162a98f1823bb81a61db4b0b4f9190724f33c5b55b5392c5872c14e838ea33267e45ccacb642034b60af78ee4cea654d2b4a3b21b1810394926029da07b3c629da0856d0ee6d788d3c0c0018b0ea4f991d0ddee68b32e91d4918a532a70e20b9b0f40b09aca56cec997e8db4f89d77b06a0c1bfbd7fbda5bad41aadc065fb7df199e6ef59bd9d845268b8d7cefab04c724c3fa21cb6e43196a6a074604284cea20c685b809f2c6a6f1b489141b36985e25888d526ca393cc77d561416f2b3dd51d16287d0300b19bf3cf7c66e7879d5e898a9d016f3fbedd893c1643105e888c8b58d9b397de9af05974aeea42c9d94840939a555bbacdc6159c81eff442b545b4300a648ab23f8c5c1fde9e1805ed182a812e9f96cb2621bb098f29b0b07fb20f63fad58dfe14bbaaa5daf82d633efe0e9428280765ec6512c517a3823ffb3b1151b589c2655f66d252dacdd464f6e0796356240a61db1b6b46d69d91d1954c9528ccabfd06921f829ba45d58749f482b82b0f128877d51578094a45a4fbe7d436318812288ee4277edeada11c4488fbd251e618777193c7d27d04d1550ca75e716056797513f5389427152534b0232e7653a030f6c005cec56b864f7010b4e5c61c9f8c332c24678efa37134fc8af1770c7fc5f8233690d87e38563b1a2778b945454334b61c8cbaa72c1006cc399e833c1f8c219f57adb4203555458ba317695afe2c873d6f7fd4deb540616e5669c27bd3ee6602fd7c4c2242bb8d668d7d5886967680c162ff4d3fa256bb7438ca3e718731d186381da70da7e9eb2e1fceb515c20e43e4c91a9c957162d10e2d61759007674c6ee17a2a250b4f72f52dd49533a217dc336067ab95a1e8d4a44556d6215627934a6bdc62953ac26ac8bc69c1edac5407ac506758b14c20edb88d15ea80152053d3a4706f20abe9fe8e55808a5dad7cdb13d1c48829d0381fb0a1c7e94029b07586d06e3457db7df1111fc10a1e7d06f710223ffd535eb44d38cf32dca4e5ae1ea5f40f4fa586d7d6da0599031f50925266cf5e60563020b6600cc2584f63c4f691f7bbd07caf6c0bb8d50f98b56e473ca02534c536a5dcdf75ece1faecbd66707554dbc3f5ece1fafb00a5a72be2ebbd4bf7b8ee7bf9f5f7014ef92d9f3af7dcd74aa96edd02f3e52ef62607156c54dceb7a524de26610a823b2c2743e261d38c36408cb58e96dc4b66868d08f546eb4571d5c7db1439b9347466678cdca6647033f5265c0c9c1d950b3c20df0a6fdc725d0d44667b0fa86dac9973ad0fb0b287f30b649caaf69c83c52815bd2f4a1051da66cd67825498360351126258e5f88cb62ef46b32d615b81284bdf4d7ef2c0339ce8018b983fed9fd9a4a8234ce9cdc47b367ceebc8b907eaa92e785d25396c8628996e36941a17ff8a899120511d2cfd9b0914e807411a23440f262868f510d05e664b4e1e028ea2f3a8313d21c461f20e3923d4e28760773c26c2dbb9eabbc5c31aafc9596a47b03623d6ea017c1f12a42f8ffc21073b3645f228c099a535e74753de03a6dd59b918d7c2a12983ed48052e8864b294b0f36a25026c0cd07fa029c8aaf4b4af450a8c744d67b1372591a56dc0281e318c77a9f057a58afccb323743274ce2ecfcc192f0565b840133ca0be57b88c1cdfa64e75b3cf80c661a6cefc357d16c058bf2f4ec9b4d0ab771cf8293d64ed460be8d5b5ab0f831b569421b09f574b21a76470e3b74b8653296aef5c9dba63ce6ca4427bd7ef313a40db61db040ab9ea2b99954a8b60a6e5430e21941e29b1d0fc84278a927211ecfb7f0a169b249915a893114c2c7d492fcaa8f5563e45c218a2962a553c1624113a525d6b59297fb6050ce1f69bd5090918133eb292d57f7a35c4a7f7369901792c80fdea841aa6a6e31ef471ffca338d8aaaefa4c74b5b62b6d681f1f7278ebd562d41705c743d8ed9a862f40f76aabf96a50c146edc76fb09a569fbc47efc2a6541dadbdea2f89cd6e91104207a8919bcf475f7c4f7fd3158ff4494ad5a81703fe950b4f6557e4b4d7e3f8ffc73dcb60597b2265071144c2904285ce03b65c72b6d2e0c14986438a9424ce94ea4508545964dceb9aa0373c94ff43724a58b317e10cd8fef165ef1e09705c3072063e4ed893d8f4c49e8b24b02c24113d02f797c0661cda72374286d012d539bb5c39cead7c9dc21751e3b1cc2f93b481923d72dac2b2255c8c4d799a333f767bc37c1014d14dc64b3fd62d2c06a099924307ef681e0e948d48094e1df6a48b59b9c678b569068d36b67555a8797e1f2bdb5444573f72e28a614c73ae86c239a876605f6915aec7fa57850c30059bab99bb4c78b941dabb929b1b1fc15d683f14e393123c50db8a3a0f79f8b7151eda60f765f3a9a9ca57bfd0dce271f7b5c0445ec1e63a79ccb723ec932dc0f6752b1a26dab9ae21f4a01c54e4bf6b9ac8407206120504201298a084021c172ae9b34ab0c5e9aada8a78489e2035b1c19178608e57dbe3dd0a97c32afda8e2ed3f299cec186982bcabd5097359887db95f81dcc444b6e074010dc9a6c6770bae16149028330b9294386a0109e8334f34bfbf7f729ccf1203cc7c02f313618a04a17b4e01b344857a4356328eac637d1804d1890db0b3ae04de7dbbe6fa48f249cc023cd37670dc6c7dfe73e083095bdfd625e8f2344975d1b177f129ccc5290d43e2f12c598a0db152399487f638ec5431950602639c74fdb60e1d7d5605017536deee0a3e57d9eba61746dc2af3bf29a632d2c7c44a3bcf56835cf9782de1dbe27bfd4f44f7b1a49c6d22ad786872434378012c2fbf8ba9368ecc610841169763419c7a58d6ef9d9ea48ec570b9b8102a6adb537b508cb73839c6fe3fad105218836efafb2cdeae78b060d24a816b1c190195627275f04275f61d2118d031646fc17b942a578be9116357b025009e55bdfb9f4664a2786c115f4407bf9cc65bbc66b9b92069fefd3d2ba489c5868cb775144de4b9d5a14136daeef12b40e9d3d7a0e3dfb2078c7182a1adde5ba6df2986014bac1530fe372fed4ec8eb2351f579d61ff6af93d43e4cb4035409a01f23cd482540fb8c8d3e408d4c21f7d90122df9a011428c86b18310b704447708cec57f5682642006ec36a401f91f7441485bfe297a478cc8c73193227e599832eed05647b591670003a8a99dbf724f037699c85d3af944ec41f146aa467af57c7a2ddd623dd7037af6eaf57789161d66617b589eaa07ca6302d7c6034df12312cae4fae9319f00068ef62ad592d6aefc8e562f965be96d8a4f22b3ffdcdf69ce39e65ae12cca7c0033d8327eef63bc7fd253a8487cbcd389cfa99e716c35d869fb84572b4d71ab050e59bd8a5016ba03d894f671b64cece7520433b1286a899a3588a0fbc459523a7d8d73321729744ce340a1733152276ddd2c32a93be7fa90dd700e737935da3d2e994df18b8deeca09315a4ce0b6193e40aa0a03d2170b39efa15c80b98c346830e6b64a4220eb97b382ba25045f6e44cab070559f86f5614dad8a4e94c7dc10dd487c104fcdc459aaa0e4e25fe662e5edd054a8bfe9c4a0b62286eaa19005082a483575d6e714c3ad84da47f6e1f21240fbf25e4bc81e8e780220a2a9d3a2d80a1aa9ffed270ce5763c88d8516dda0cc945fb178cc0516fc6bcf47297768c7acbb574c5d6ba03115b5df1245c749f8e700e2a3e5856c7a22dc9ace3f1de89e43af1b6e9f766c6976a21034c42602fa7b0be444a0fdaa24fc8a089723eea0454a65cad174b5b9f8f49380629926e581a89ce3e3839ca54618e17e3766e71642c9503b4480feff7fa7450dcbb575f2ce8b1e104124fb96017d78838761cfd239a80a38459e0a689497952f27c789cc76f91f9a42c36479c507190e66bf1351465408ee7a2a65e43c2ea8a3faee7a337da20f8313e991d0dc2ee53d28a6fe2f7a32ca90e429f591bcb93456304d5084676e0468341a31fc4f238d64fc16c67ab2cab9e1b3f0cc72de8ac918c290736727bffe137349d078bc0239697e3198e710b6ee041b7ec57c9b65fbe8ad30684653fe0a70014a8051742af2fb7a5d45ae1158064cc5c3ce98f916378d62cf8b3fcbeb29d76cccaf52f16d3e279e38b6f540708f8548a245b5a04547867f6bbec96fab64bb58c6c42c6f9e36dfe19569b8c32b6cfea1729dc594d91aff12956fc804be0a95b0cf73af4f0e7a5c86c0b3ee8f9c033430040e38b4d80b3f625fd33a49173b8427432555790ef661644ab852f6593548383c04a579c7c5740f716016f06ac7a67609709d849ae110ee29c8a5f5735e827592b09b5e564dfad83cf4c44cb46e2dea40d90a1a0f79ab90e30d95a11bb4f0ea688bc6e315b45a20ed9a8a57f61e2715736bbaca4378700ef0f5920716d2cdb48c5c710c528a8898cf4a05d7f90998d73ba9d1a2629cc8f0931ae2e1648371b588de2535f0e510ef250baf521863327aa2fb141c52b037a0745d4e026561ed2d8df9b98e09dcd80fbce18bb363da895b173669ded3661020231c01d6ed0f3f5cd2bd12616784bb7b45997366adb4ab89f806023cf0e69cd7a5f1f1d3de3ea613306169aa0ced685c3d2e1dd208a6d7e284071011f0e0f1bd0935ecd7517a8d16d890ee59df1de849a69aeffe2b027c143b8c6abda9f31202cf673d062d46e4f9ca3e4d9dff51272d275c7a5f619bbaf1116f3465c7305a097e83c90a2fe8de3e2b451825beea8c947d94de91a98423710e27840058636426a19571390b745732765eb86fb75282506f22323a42473353a1f578784e2f820878f27cac2b22e30b4c6e4f7d0b9a96e8501f6cc67de67bbc75d555e60a744d745c84c26958e8e20ca300b9138b0f6f6c7b1c75de3db35a9834f20e76b9cd804c56af6388258a88d35977f122a28b9b6611bca61978bf2749aed3163b98d713c15952398ff90857aa15f4842a67babd18d550875d9019520f2536ae801312bbb718d9968c6c3c8af386d0ac6b6660c77b8a00c5fcf2008ccea8b225c4bba2d8af84b2b90846f65b9a42355fa25e5f3f0a451778887d534c8e7d025d1a44acf4a874ed071d9070d32e64c90bd0ff96b4519ebb1efa0f1a0cab4b798499f23668077e7a03d7528d6bf7223837654449bf2e3426b0a80b85ecb29c54766110519710b5f56f01684455d9b27659d264ed10b118b649ec7c8a719512224fea131f2ec419a095efea972a561d58b1eb59ebcb6513f3bb8d4af5af0428b10c5159ded9272f4769bc32021f547778c70904e068d6c3fc7e76209341373eab6bfac98e146b7bf365d791af5d36bde08c65abe0fbe6f76a732b1d42ae100e279b7319ae8de6831b226075adb9beb5916b1bdda9cc50abb0bd8c9fcfe3ef5f704baa956777ec5b536fa0ec4b4488d2a0b08e9f375677ff76554694acf2dd241991e20560c44f22986792f7e1beed4b13f51466c23046358be0c948416c720a412bfe4c64d868909818d714d727381a1d6f5c7d93b86fa6eb30d07212337e25e03456cfbc882da52d1d154bee3099e694afd7cd1e82d72847b0fb7905df22518526b1e9acb122bdd4b089cf3062b022e18e2f8041af04c5ce8e8f8047b8ec39789d39b0f15f7bfb323cca8c50ae5396e73b1cb3f24de98d11219378297ac408cea8f76cac8a325d55dd00dd7504d89bcda1866b28e2bf111073da2a10de39f8be827bd3ec93e1953009c0e11165835370f18b7832eaf8619cdbee725a24a819082337c72e9ba56384f7d38ab1b7e2b16b5e4db90f19a6a06c82f62cd02b82749efb850b43cfa76cd49a1322ad69fa04746e04bb15756b9620d9db314daa08e373b42ca68a20bc7651f887790dd49a1774676636b9d103ccd294fe3d0f72d067f1faeb034d3a7c1aaec9c6c94300fe3b44c4775b11203db99938d01e037c2883c48143eaa4933be079c7f288b08fbebcc77a7c51016eaa49ab3f208c56e6596192c3abbbf1c3db439dba986af0ea80a9e418043541849f552d61a6eb18d4e9774d26731262100f7238ed1798ef0ad6dbc0d57712f0e3ed3ed9dbcac1c79dd796bd59b74d5e6f8301f986c755830a5f89cc8973fcaf844d67eec99751fc614d3e27f6556c9fa95010b17059c585042870eede7651c1eb88528984d989737b0ba655ed1ee6c0eaf74f28d9d543e60fc7202125450aa19858c33d6df294154eaab8b3ce12f25fa3531b0766a3203aea8f062ff4707d3c43fd50110960ee93a9da1f22bb5228d34fb1a911fa811c8b8e4e688d961cc01c188b9f131187c66f6c093355071e4c373eb485db379f39f55e513bb67acd97aa981793e0dc8ab7ea1d10f378cdc6b20f6e10d80f23338de1b169b78b3cf66545110ed4fdfec9f2f3463a99681353562e15b2c56e958aa28930bc6e30607a27572f4715413f3aa15cc95f5a2cdbf1a17309f08bb427c1ddaadbd1e96081d13eae5a7d72e7537742229917cd7ddc65c3d79fbe5a6359666bd8a67574860a55d3cff3d90940f9e540accacedcb07543486823ed915dc04d2ba0e540c47ea6c08b714c006ff9c874e3f06a8ecb393419e26f2f2e18affe409c233512dc9c23246aac2633df8d4aa8e0a8a89c46dde69a98187bf59ba730ca2f1b3cb66e9d11d7b3472c9a24b3c54738c531d9b80c5481b7512fd00b3c4b318326411e54ccf028ce8b50306ac0c1a58a645a5f2672c763ec27436ebf8a340597239e214f94015a882b4544975e8255c620bd58d5e5fe46e3c0954d1ac53bc9aaa080da9d214d1f8ed2e17b8811736d98fe20b085cdf6ec4c96eb025020b83b2c7744cbd397e021ac7a11d64e0a6e3b944e7922585c10e3038ccabba145624d6ab6d672a4cf066f8942c6eb1f724770a32e78aecaeac72de0d09b5d0b0a74203501adfcf831403a7adf4bbd35f1b43186d2effda35fd00970ff922898c32dbbe036ccf033a957e82593054b24a07016d395e9a99103bac07dedf8d3d9f854c97d7003da57d81ece19bd09b101f799d44278a8500a5975f84d18fcb17ffa100660f9cd03900f57d633c8353996953be934bb68589ebf3e88bd84d36d9724b29534a29ff071b081908d9d6e880258b8afda302092d153b315657feafc2ca4917fb90c47ca82849f53e54afa701c524a2b9fed75ccfe6d8e147a51f4c38cbfb8b06ecdff5adc980fd937f5dff360a7073a7e6781f1199aa87891d1d41544dffd594a5629f656f32997ab1dfc5be7bc1bec32a634258c731fe6cfde5d49cfc4e07fb1a1a672b86bd003647ba0df6b3090cc3300cfbed4d4773d8f3c66a0efbc5a08e63d84bc7b2ec4db262d9bb36e4abc99499dc949930384586238b23247c84c071054d50078324a321a3252796764aea7b9e43ea009d888d2b9375f8ad09b2ade9588f59a742ef74789dcae73fc28f20932c1f3a8df3fee412a1ecd1d1e0b2fddac8d736169c50e25021a42f6e5180ec0f58f7fdb9fb737e34d5369e45099a01f9f79999036f45b6ebeefc7abbbdf3a125e3c2c195127ca0062a4c40021520e0828a952160a183f8831e20665212ab2589cb06407400b610841aa4208c16785154462b5e39925948f9c14293e20719bf47ecc4db9095cedbc297537337ea1e49d9a1aa9a63666ea732830208218c9714a555dd232956300cc34c1994da9d5235f6c71e49c952339793a6097133aaaa397fdeb86a1a93575713c2849f50b1f57f94eecc3d9a62a3eed19420ea0fc160c007e90d35cf882d1542e8154208611523b284c12bdf33e20b0cbc2e6544172923aac01464db19214507403ad8e2892d38780115f862517d474f0851dffb98fa687701ad661dd71869e7f5c587f1fdab367c60762824663f6a7ff07720ebe7cf9899c90c1953f65ffbbc4bbbd552b71932a6a4b4e324339a9fb79cf807213403e8206d6c07fd5cbf35cbafba215421ce915052ed7cccfa5048a946de53850f952abce893d7c7edbd2a2f783d841007aa4cd74209e77565cddca708955c7e77e4521629348754445fc419b1942c908e1696181c96df4295c53cb2528b80740e17b96ccccccccccc3d9ed352cea952f5f4f4f47451171515a95c49c9ffff97e1c487ea8c042be14407545246c289145d24a58ecedbdeb74f04153a218291e5b6c87d0746788ff7f45851610c9a959494947ad0501d5b1bf82d0159dfdec0b7b0890c5a7191c9c6d99da87ec24eba9b03d9faefee44b91178fb0937f3e0078433ec0dbf4a45dfeb74a89e136ebf627999c1f0caef52a8df79c5709f6cf72dbfdfddff62bf93cc42c83229bbbbbb6359b7d73dd5db7bcdccb1396f08824c360eef72f5556e735d57dc5dfab4325873bd37e936fcb277a113ee97820c8688b9efaf39d5bbefae56c6dcef5ee52e32207bb38fa560faefaf88a6ff4e1964d94b7fbbcbbbbbccdd74b9a3587767287bb3af3161fa96e9d9632f37c7f418eddcf4302955aaeb23160cc3b0eb41f8de310ca3bb40ead6bc85557873dc3b393390c1df1adfd5babbbbbb33c7ebe28b2fbe989d692c6af7ad5ba3d3d3567b418015a57fa932f768659bfaa4e3b269dbda98b0ad6ef46d7e2eeff9d193c7be5490bddf9a5ded431a44e56f20a5b7bfda7f54a986777777771b3a74e810c2de7c868bb9ff941a67a98d266a8e139080131ff9d0e6449c45737c434d25c05b2ee436fc388c200477c8db6e48d5f77ba339ae32fd3b17aafc2f5566f796ea76b2b7d4fd97253ba2717639896dd77b9deafa28e3a9c6b7453f61da01fc094f80cbf9cb8effdef7a3395cfe7079c826f5c5e04cfc0966c4d03d706ffce5e97d53a0eb25ff1d21db2e8a1627849ca0628311cc58f7288a0794a64bdda3283d10cb1616143146108ae8628c22942216d938ebeeb05f84348ac00eb7bb7b5fbbfbdbeeeebd88b8bbd7bdd977ef6eee6e22cded777777f77675e7d8ee992032139699b018dff5e08bf0fa429ab03561ebf0da3ad68b0f3abc628c98bc604d74f70b8c8e171831417452360e3333efbaa38c58f1de6cb1fa5fd792c476a966abd0dd7d4d5ed35c7692cdbd173bae9c9d4ea7ccb7ceab6f841707de152c49d1ddfdaf7071e5f4de15977743a532bd2b57de10f2993c62a6cc844537994c26cc3393bf2b572e9f66787b945876e978cee94891455ab21551d2450d4992a2e6724245e8fc271facd316c46d74b0cc9346e4344f35db5b5c3419b8327551a9e674172d869753e3c81b2a1566aad11ee6c44a5b788bcc8939d6c12c986c7394b84d2b5152c5e72dcb5bb6067cecb9b620615e9a4c5df272d41036093ee8620a2523285060450b964520ed92112b80580fb42c191cb85e0b1651dfbff751a5821042a8e13c98160451df195fdcd868027f0d11545a8010421f7e40228c228286f001e809c1081e208490889f1aa5534f08b0a2a16c8810c826884c45fc5c2b9f0cc28648c2274e554a95e43642e0103700c19621903a300410362084892c437c01849022a42194f00121383022c2070d08692269a22089266030639e784f98b3071a980f8c28e635061c9a97963366d6841a434f70c209d409be68a8a969a7972a9278c0302ea0c088aa70425e91c40386719174836c6b3adfab073a947fc58b21f0d0da7192011194f281d0065027f8a2a1a6a69d5e34b6a20a2d8e484204bd831026eaf42f106a3f51a879d25e200d2e8fa29dd69d1ef5190ac564fe90aed3864efbd3f7ebc055fb6dc8d6f9f2a8adfb8afa972ddb3a25753e6b426690466dd76bcf44f151f19b08453b7e1bff6931648f4aa1e89c357e67d344cdc4e6f847d6775d458def3fd81ca75da56de2c7b6c2458d347ee744787487b3d0a20512ad1d27a628b068c9fc8e936984d67b271de58ad6141adfa92a8dcd95dc26becce64bed427cdf7cc6686afff2adc446d4479719f3dd4cfd0e626837a7e08e39a31d0a8622b50bf185762a4f8a9376dd448d9f514faa4d3443c57cefce627192762a1dcc579976ef01ffba41e0435511cdafddecfe8a599a9dacb02b6bfb71eb207ca8196b06e866b1cf7c2f5806b4e8800a24117c5c05526491522c492976a0032d2bb4a0ba28e10124f0a0075594c6887206174d3011041f14ea1e1df5408a181c4d51459d2a78ab42dda3232748110276c2d142f12c16124b3e4ab003029ce0044eb0a28b27b4b4e0916182217ce823eae55800bd5ce104e69ec5a2b2461ec6cbb24e1c0da1054750b4a0800427e016a058a0f404119286a0e20a3702004e00032790f081107890e219010832ae2d3ec418638cd1069d0320b8f0c05f58b8000b0d60b1848f5d2ac1098a00e504630091f1d37a45a809c8f827676ffc79c5dcaf7a9117504e0ce5880e96af59666f4eed2490316a77cad91f1bacd3a519331a7f6fa6de1bff6b8ce9aee3eefe943896ce2f947517c89c31f9f79999c5d0620643e1081f333f9ce74420bf1d7e543f4c2866685189d127199975da18cadac0272269a7433b56464d46d1c8c7e8072d3448212121284ecc88cf462a1c3c64915266612138f9388e93b25b2b153e3fa95253610dd5dfcefb313556048c10465864065206368a2644c1836aaadd7c327aaa0e9e42193740e2a7b55030210840adacb709574c216a39d1a2700f1320186a39617e00126f892f357edce196ec7fcfc3d3543a7542c490705c63df8f016e99fe51283d14a085bd0fb74cafea516d3a3c4cec4defd48888dbc4d78c6ccbf4d409428abc7fd2fff1f3489a8493e4f72391b49b6c3922e9ce9423fdfc17f712f6793e1c7f67ca1153cb94016594819c3a8181a80fb72412a22824f3e196fc8c1e71ba03a58702b4e4fb70ebfa4731c0adeb59c86de203a067beffeb07d9c8a3fc8bae8a48c92d93e9b965f2e7e13151e625b789d1dff72379dfeffdb9d5836511778938e344618c265e8084156809e2a2e55cacea1e1121412454bbf96f886f6c4b8d6e1a6c3932228c2323bea8aadd9be721c3e283ff849cc885b827a30d9adf9cfc90dfa6d03c1a4d08cdd370c5b02c7b529a337d3f21f98458fedb9e10b3a40f7b0cc3a179f87dc42ad14d5cd8d36ccf48a592903ea16eb734690efa0329d91f9bc358159aef524df35d1fc11cdf47e078d8fd5289d9448538be6b282a964ea2f9aeb7a8f0871c341bcd6f4d7334d83684ffc98f18cdb57cb9cbee0dcdd36c3dd45448304d1f59a3a10bfdbb977de1cb6c0ee6f81c3e3f340e90e7bc26104266995c9e5d9e3f7234f129bbf149f885f8f017c080c5313dfcef64cef6ddfc01f3bb39d7daf0c3bc69f3e5987f9ba9fc8faacc341b007690a6edb481b9556271887c7e6cebb08f9f61524c4342425d0f35522775953eea2c202c92d920250a3d21a125cd0595e373345fdf558aacf4108e2d6e36e4f81cb8d27c11192455f9ef33179410cdcdd30baaf00101a9a04c1aaffa1aefdf2f24f472b687ff8a1ac7a8716a3cfc87f4a8348e66a5c2a3ea02aba0e6137a52de90df707a3ff35d0fc97f94025c9976363c2ae90ccde5789a1fe8d2742c8d93e3e1fb92e7fcc7fc7b3e9ed341346f82bf6daf477b9a01e2d3a5d93da06a830e5c67b0e109d11cfc0e3a2d53e978a3d1fe5e35d18ec77f732d6d03856a5bd9ba68eb2a4110070de25133c0552375339630f9572ff334780b99daa5f141fac6b6d31c84b1873c2789eabb1eaaf1dd6e51829fc8e57b888a0c2ecf14e0fa68777a6c668bf24f6393d972e0ee746d395c49e00b9d109594f374dbe6fd3bf18c533ea555ab70832cbe97a984fab7654e26f26d3e6fadad9c1ac05f73ee579519e3c718e3efbbae476dfb586e135fca1935ffec92f978faccf4321baf8d7f6a8bc1ae8dab2ccc0bcc772da4fa970dc873768b82ae37bd6cd79b4c44b8de7d4996653f5baafffcecba4cf061313a7a59bc2d1e169491952217179e9352c000d7f34f73f1e3453bae93ca52f587f94ccaec04b331cb733e124511ccd35fedd3521a67d26ef2928fe7c47cfc0ea285681c22ba4799e6c37cfca9b1816a8c6fbb94804c9466ab6446bd1e4abdf68a3bc393fa30db967a3d2df57a2128d68a09d797a7c0abfe4c50d5e92b698e067f184a01ae2fb4e39f544773d7dbc0744973f11dd05c7c8d8631af57fd303397d3ab31baf8831bafcfd65f70386999a63dd31a9a8b8ffad6e476922f2ebf4732d8c24a445b54c98264e5c7287ec4e114b3a80a2248a3523970e51f1c3c47e5d41425520f698d6309eea9d9679bf129cb5452ee1a11d91f5db3bfa1719ac4b0392ab7c93ecb7e3727ebf64acdb2df4c064675c5a87b74c41635634d52f9a02624bee6b851feabf2ca4ecd65bff2658f8e30aa9d4ecd1eea344e37816438fdd913c94e32356f645ecc6e8d6af69da956ee3e53fa9e48f6d96f4d466de09eb844b635dd22bd557c8f3b539ceef8677225e505218410d67015ca2bc27f2b23fdef8f343dc28fd11d47dac2ddfd41b80f173e2d8486dc9374dcfde13cf71d1ff903c48fe3582c1d9df77ef9bdf76eb82b55b93732c79fb8136ecc8c6c7f6bb05d2d2b06dcb5b2aae1a5f95dcf612598181bb45375cff389764f3bce8576ac493b9d22c93568a7aadc63e3553c433d453bd50cbb4ef5a0567219da491ab49b2b29e754a96668f71c0769c7d2d1f12025771ab453c9d06e06c1d06ebed0c91875d6d128638f35eda62f7dbf38363e4001989999795bd9c648989470a2030ca39d1329b0ebfd626f7760c4fb8d1d430f1a68366c6d1ea40bfbd7dfabc08d6dd746b617ad7a5e0172f798218ad8dd0beb5fd6967b3eba19eaf66be3ac79a9faf95bfa5e30f0da6d90ed33f302313701a887b887c8597c7ec7562a57f11eefd9396dbf4898acae487d13536d11874a5f11ff0b94a2caf5c51e0fe3884a523da28254f76f348e144b30a3ee3f046439663af017d332666a35fe07469ef3a6e89f6d1287bdf1222aaac2623eea23a879104278c11861ff053726a81d6a5318dac6699031667fc765fd9e97c7e3776f2795a10cef398ee1d1f0bcd9dd25c6f73a9e44914c6f34e792cad4bbb260a18208bb5e7d78eea9c171d735d45692a49d6c51db89526d274f7a6a5316aa3a5cf5fd75fdf5cd04e55cd653f90bef0bc82b9645ed74704bdc87eeba4ce38cd9f908d25c731e25fb20cd443a5c9ed1f753f38399fce56a224d551593db34859b9c98af8a1296527b88a9d47e566db0aed68f4e09258353ccf75ce33c87ef97fedbb820e68394059f6b0e56958b0766c782a171e0c36701b9fe3d7cf8d7a603e1db389afcaafdb13200d7f82b26b5eb56b812be295c0a3a5440e186c70e1edb2adbb1ad321e3c3e7b1e74674a468ff078168f1eff84f53dfe08eb7bd09d2935bfa3c2b36ae811d6f7f81e74877bd6131e3b50d8767c0a1beb55d8783cb7f5781d3737373a3e05bac3bd8edf51e16ffe490aff04853f62f328bc3f0a74678ad3232b7c0a7467e7090a5b0b9fc2c6c2abb0f9786e73e15d60fd93968f1d7f84c7ef78fe1d3d9e4577b8eff13b2a3c8f7fd26281857fd26a61c7b3fec88e673d3f8bf52cd09d149ef53b28fc8e7fd283a583c78e9b2104d179217e0004b02ff8d0b183f52b3cd022f578f6d9e2b3b25303fdfce9697c6076fdd3fda777838ee7f48fdbb4f0df13f5eb392c7c8eeed9a591a20f809716b655f62efcb658d856195d1961e17d3c9216de8516de470bcf83c2b3f0db7a1fbfadac86ae8cb8f03e1e890befc3c7f3a8f02e50243ede857781f270ef836e2ba32b265cb3ef384be5a9a60fd29c8552dac9edb7163616b6759b1cb4e35ac771501adaf1b84157b4e36cd01ab47b159da14434a84cc7c0d04ed21a56a6464f19564d9daca69f6ec7b88155a3fcddb8b27af4e8c162b17afcb656d8566eb3ad9cae8cd8d8acb0c20acf83c2dbfcb6b28ef239be8e9b9b1b1ddcebe05ec7f3a8f037bfad1d2dfcb678f078161ec98e6f81f2a4f03b9e85147ec7f3a0f03c5800fbe385bd69b90109024373fd01d0b11149c2bad9543cb61e3db66db1b66df1d8b6b563dbd6cdb62d1ddbb6ae006cdb62aab3c2c63d2a2826a4d368ee732af826ebcb1300b48b51b6351d5991e543c90d7b6405900e521296ea1fa114a662849a0357ca0262761cc4621ae5faa63545ce451541b033e4c7cc4e64069da32f98a84a5f64a95795a2e688626791d448d7c3d060764cc44bf83b57cff9f7e725cfb9f1fe1dd4384434cee9051622c7fb7396d5bb0d1c5b6aa8be6ba0a0fda1a98e66d7d4d3fcfb46f2df5452ccaee173f055dc14a89212d2d496d1d8625e6683d96dd9d8b65563abccb6ad6c8689f9523b0e7a27d5b6327dea556f635b1949bdea57268a24f5aa15129ab7f1346fe3b567ba8ac1f4fc4c3b3292aa0ebdd201d29cff93aa390c4192a60d5514b3933c67e61de669de1b665b997ec9cc36f3309f806d29d949429fb4667e5b34dfed0c25927a9aa7acc4eaf02af60713edcd0c16277bffa6410ff10b2d8579c8c0e51de663be9ba934a928336f6363a3d5c64451687ccffc6a427c3ca75f1edb7cb9f8bf5d6b139f8588eff15132ef9ca21813f9fbe7d8506b131f47ccb137f1fd5909149552fd86d169ebd5d63d6ed33faa6d53db4c15988d696c4112627af611c27f89bdf16d5b3452a68d2b8cac26da3e2a28a6a4dc439ba88c26cbd7a827a8461db1f5bddee5969822085396eaeed89050ef0bf2b5a0215aeb30117bd382bd2982793826148409c98a79d01739f00c260444f5c78430311ac7dfd4e33950a6c4ef21c5c3ecb8ea98506d174c8f41e182cd515dc17a8059218f984a34518968ce9f350e6ace5f4a99a91d66c7b9bfef96988e33f9b88dc77f79f75f23ed63280cf5f19d269f45997cb4b9ddd8de9492aa27e67bc6a4bc7c97127583f95ecac69152ceb93697ea4673fefe9f26845d75e329860935e7269fea6ff2699c8efbf9a1713a962988c6e95ef59e9e2d6ac743cf94e5a54f41d9d66c1300fb77aa19c756b2846b7c0b2cff601f636346628c31c6d3c6b94967bb11a4487cd3d1ec5649e3c4558d1f6de010638cbfda1ff0e3dbd81fef59e905e1b56bb151c9129ecd49596071e05f2fff016d73397ece4c4610d8f74bb07fbc437d659051df6f876ddc3686d19d27ad779bf7d716a488dbbc3751f19e9534cebb51df0dcf7156722640cf616368ce6628a5dbf88331ba2c319bee6ed3dddddddd95d8c44ccda85d0c3399b2d389db9bfdd63497abf6fb4e538a79777757fe49c793da0d212a1dd58aca6a062b2a20c8f6b7468583b9fcb2df7511f32ff19c6e71d74bb587ad345f4930b78a712091b4e02aaa7f91a02af607ef4d5bf1242bdc0e2515794668f9ee8f6d3a174442422a52a448eacaec1669a7881041fc00050989913869e3eb9933debbf02c3afcb94b295df235c3932563ea10699cce070c8d33838fa0ce07ff51185664bf109c4efc42eca9fb1c66c2b639c97dea4c4a99f1c9043521d84bf930ec4f9f61dbc43ec33eaa54984627cd4cd8c73f75ce6b61cfd7aa4891aaaa329728692ebe6a8909c1882f4618e1dbd372fd6bd3bf9ce7b0d6a683ac4d3f91198a348e5cb8bde5bac3a19e2a939dca51aeeb8581f4fc6d8852c22995547fc92b3266b748458aba99a4063efae2873adf18590e2b19f6afefea754fb042748e84f093788e9473aa54ff1cc782d707e918045f89940a9f817474582c554d82707516265155512d318bb4c834c04f5a7b00fed75c8c4b33f30d548f1d943dd99c8e2b080c43d5773ac78b8eac002a9a505e4f51ed7629c80aa57ac5661da13a50ed806cdbfdcb7bd307f01c9a9bf272fc2f862783b7b3bbbc4799786d5ad39c479154bb91e5eb5ba2424b3fbc64d8ddc303a30b202005bd17604982942a76f821a6eed1174368095afa020855c258c2140f892ba6480210aaec8bff16b17edd1fef51183098a72981a0258c208090812f92c8428a174853bc24de12108458aa2246f76ef76eeff6eeee54a93a30851630344084d7bbdbbddbbddd6fbbc1e8a955c01e8ec2d040143d6264ac8308fb7731f6c7b72112e1c891c816a439e6dec7fc9a9d991986191aa7631f8dc3475e3431836c6b84a4b45117b91537f2a2970f4383d975d1173191d090d0fed09ec0dfa147e6ce7c12ff63207df833f5317427f53b4faab4c6447bd34242fc42fb5421cc2e2303f332311f63cc1f991f134383eec8d014119d6dce989fdff408cca7e84eea619eb59511146aca3c0cdd41bd4ccca7bed3496d315bf6607efe11989f320fd3ac69ff9e93fa1813333f06f5319cccab589ccc7cd477b2f706d559a0f06f318cf64756bdb7b415555677ea3d57ba07569c4bdaaad6489a91f6d8e6b4f6eb3953f8b597fbe3f4da6736f467af7db60498d977a675f639bcfadbd6deb60af10bb2cad5427be33fc3c43cc27254fb4faaaf3d4fdbcf9d9f8279d4c74ea552cf23c3f342d9883f3ecc46e4364dd9ca4bb9302f303fe9d4d67350313c345e8622999fa23c2f3fe9749b38f3f19f3627cccbd019ca33e3cf8d81d867a25e9e072686f2c8fccb3f6d6524f5f391a47ec63c0f2ae65f62605ee63bf6612098951199473d129947cd4f3d0fea65b81a1f49ea6328cffc147db789fd4d5eb6984f7d02b685c3ce121ad3bb9404f5533361db9bbe2b6f32156a072840cd20afcd0ba146d20b9276fa76d186b83cff1017bacd9db23f6dd9b7908c9a5c6a17f125b32c292521998af6c61fa33c7439d2a96d2cf15e5fc981d2834e4bbe8f6c61bfb225bfc3aafc4e9b4b8048a3609fb1d4828b2489c0e6a420b0dca380cd89af639fe85101459260bf603c6ce3ae18c46d8ca098dd22c987049fd0d1f1264de090de605faa56b554f9459be0a0830ead93cd8c607aed7474b6aa82d0e96cdb5249ba646f9c88922a493565cf1259fface09bb0fa8c5c8f3d12f926cad32f1fa3f27998f9e77a29b5c72b30d2e8494a132d819bfef111f5b9a0be15141911e9acb7e5ed76e920498028c1e17aefa62a66c73fa91a44e3bc7f1d1020a922adb86d0b06fe6120161a22428334b7ad95fd23a3f029d2dc2749d29cc72130c916699222473ae7a5e5ec23b5984594b8bb6a8be6206c935b22128b7ba458e5a566a8f79e5ce28aaea79d1ea35d7cf959dcb6f836fcc3da294bca448f895aefb56d757d4c4c0c5d5d1fc373fad423d13e86f2b8bcf629ed79507f8a2fb595a8ca35f9e6a3cf4b7bf320b3189d5343db1020f5ef93784e8a97623e6e51604630b37872499d3ee691689fa23ca9d73e26f5dab656f17b4b2b665b455aa4a5aa32390b2f4999a771c6e63051198b139fc6a7feb167a03e199819ccf92fcf2f7f65a9efe1aca13b07f5de35b02ed81f1c7d05f57909eaf30fd4d74ec43eeccd7b5eea7869e6df45344339a9916492ea7b97ad81509a916ec1d016eaa2e6dea7b61edade5b6926f29c56f2f759d2f588b0f79994737a1118a3d960c45eda1f3f9e93faf7bec36b32aa03bd6d97282e1fa4538f9760b6ee612c4fbc6eb3f450df3ff6014b7dffb0a0b66db99c5efbd3bfc7a187fde1c3fe60d69870c5e27b3aade436ef4fdbf39fbd79aaf7efbda4177d2a2c26a44c5557780c0c8a6668ae1b86061c829ffdd1eaa1fd710413b10ecca365968c06e0f3add3779c44ed671930014edf2fa7d4b62df8f2708b1213f3a70d4a0facd6cbfbcc56cc2f699c950cf1f9237d52f9fb57464e3f7f85ad90a01ee6510ff32b8c2239fdfcd3cfe7200c8b6276fca37dbb7ca3fe675bc1d7d1b615a43924605b2e7487a3282dfeb64eefb269dbe9230f8d81c5f161714c382ad81f1737109ba37d93402605b3f1d2446d4ce43647ec4dffb5f1d0de04c1414242e227f19c13e522fec0f2e847320ac1deb0296e4be39aa45b7293959538cbcb8a60294c3c14d3f7205b546081a7ac876f4d819f79b745481825d22f09a46f646f6e8898dd220181458efc50831849b26cb9640cc24030ec11d464e02700a0c2df96470c5ea52664db1ba9d1f036afd767b259ba4bfcf87b039fd947731ec5f42ccf31d18713be29a184130909a9c83cb93c4d799a901269ce83e06076ac232fbca8dd2a313f07b512149f9ee6b847faf4e0d0a439fe4ebea2a2204a92ec8d1f35e7480e8724d91ff1fd195043e338c0d40ad81780300fff1aefdf847db8a6c2529ea3bb5683641c647f68dd049e541a3ff3339fe1d870bcc944b3ad8ce4781cbf92a148723c8e15927f9affa779d656a32186a8ead095c95563fe4935d960f2d67bf339b6090819b230ed4fa5c5ec36f5192fd1df967f8edf56cbd4f81ccf63a3c6e7a0db6a21fd1d1be5f8ed91fc53cab3faff8df24c39b2faa73c373e07dd16d38eb3ec4d7792cd903440a09a61626a2f3efe9efd0bb9b88bcb19ebcf5398b13fb4f7987798777e820a5a7e0c5517d5a7fffc4ef376e9782a93ab6ad9f70c13f394f1d3d86ca0f1ae7a155dc9a07a991fa2a2dbdc0c0d1a2f5fe69f54ec696c588a2ed9767b7b73c3d641173021d1c7dee800698e811ca0a486e6fc6936f66982635bb7e11714b03cfcfdab50a9fe527e30606f1c888966dbd68d6d5b2b5923d2242a28a6e9098d9e3f8fa73f7bdf32ca733dacef016599b37f96398c1974087f83348410c2acfdb232bb1b50e45f0fc5542483d9a6c46dde9bb6256ef31edb9a6cef6dab1d9ef1c38a1146f898797fbcff6b63566d2638d46e46c111849cfdb9bb3b7740802c51d981109cca69d2646ffcb399114cae332398d04f4df68796fde92113863548a2a5a8c46ef55439ea10cd000000001314000020100a0644428140401e13ea7bf80114800a839e427c5a9789d324c9511ca48c01c410000000004404608666661c00c88c11fa26d23e626086e8410b149b80f09467a6f0045da78ee5eaa824e91a2a410b4cd880ea44e9374bec7f4c4525ef3d2df77562306d647b447f8b0e4d16a8b7d3075e81975ed30ffc464952b4cfe1b00ed4e7176ae3ca8bdc0a94e97bfbea354a506661e4ffbff41a657e81361c69c002457a8a4e6fbd95039cc22be621859b064b5fd0306c62c20b3d228d68b7ddf50c38835d1b6c448ce32532dd7e7bc5dae99d32b671f3bf6cb2b50271d8f87453538278052926c4a2fb64b38791d158c0a54731a07d4e3d7b6434f2413bc30105277e4fc40c02a3b80b98299ebd4e1a4cec3b4e03ca38e935b7c9acc0e3546f3ddc7fca3093e1994d040fb20ae1a26a726fbe7d81d9b04c2efe81af0005b2367fe670d8c7f2f791ebcc9d0fd9fe35d4e56fce09cff450b6e8d5bb6c94d0b9943efa1e69c6056bcf682afbc41774890e0cf6cb65aaa8e12e7a79e897b97e7d51b871345ec38efd918407e1a5e02fe46513a0466e7fb8465beda3e030f93c03d33e7abcd2216b14ef89d42433fac0c612c6cea3a31c7948019d5819fe6161058158d326aecc9709d96aad152e6a7326d47d0d02328f78d98dc01a09832e79921d862cbdfa2993b3454087fced4ebaec60ae7d743fe400f52afda557b02cce39bde94713b30b36dd3a7eeacf4b6669c4e86c340091ce0f4431c8200730036cc1598c40b8d487f3e80559316fcba339d9f51393b5f20e4d3a6830e87340a4e982be42c69159c653648cc864ef8c641478d787d879f7a67fff37149174b9e48da20dd9563ff4c6489a4faf9cf51ba0c51199a2d9fec85c790d0eb59c916bee1af6b397cff27f54f898f4bf64a88602d20673ab7b57ff4949dd401482d41056d90368cb3f67eab5d15f3c9a4e9cb65ff64fdcdf0abb351d56953279836711c26a88f2a955bc52018c6402052097398d01d657d8a4431defcc4610023540441e9d7fa432ea7b50debca4819d3daa6392f6f0684b0246d1c09e21938408919378ca733b8838c2a6ea26e352ba9e45e85fe105ad76354e159e2125aa07873313abd8c239f8a46e1fa8b2f8268c3e32ce2de264130d6a3a2da9f3bbd10e287743098d46245c4ea1cccac2ad9d6f487401180a1b3082e47da1b463a14c9893d3148dad81eb1b2c155999a8d80655f7280270a5a778df88f13cc7f7f8a1fa092e3a7a39fa3140906c338b26b5ebb0447210261d2a4f0ee425ee12085375a951cf6d482e9d468e78a5e6716ceea83c79a115f2fe44219be6508d194e14b60edb1d0b1b0316f9014be1ec73af0d5033604c8502eda87cf2336dd2a0e0d54ae955f6682102642da8237aa1acc533a16614fa9638d4ccd2cb6a12ef45cf961375654ac17c66dd3db9e0365ce64c54de3ae49311f63e1ce7c69633f81be349c5b1da11a9645579b4df147a402df4f5a768a0b649f256080665685a5c09c0d909074d41a06c1c840322d648991e39fe4b3645b249e8fe192381955b595c5caf95c392ea7b44d29f344dcd031a94a371b5bba3d3971596285bae8e812a0d6434c01c352bd64e31ec036141b531fa89d462c77e04b3e9e74095c78499461e374e4eb313608438832b0bf68ac8dcd94d240a488d240b391e4cb834ba36134381313588145e807401b6ab0d07354746eb6be204b582328ccccbd9a5449065844e35333bb8c5e1ddf59b32d00e602078f7ae3c763a35012a6a16c760d2a07ec8398f1985f4d97ecad13e583746b21167e39a083c4bc9e097effad8af95580458c1646d65ffde23c9a845f73e407c1cf89d4393c6f435fbdc35022cb12333b8365ced4f7fae2f16eec623d7178183be4851ff7feb702e4b4b1ebbf95566dd9982930a3ed9666b86f2c9715cc8ce13133fc87da54df8453227b11b66f4d50eb04cc0b331c30fea42879ea725096b69abee3e86f8fd3c7ab10f099e84d34f4ff126d9096144e909568ed62fa83f92a64a1d1a585ff9eb1a5566ec3b53b94837d00e2453f1bf1ef8b7665c2c9c69b15aea43fcf3ed078ebb40f10f4e80d8ca5ae9b225302d6ea7bcd38f89c70834c5c5f55ef6947969e19c640ece69992511d09eb7ebf854d4d799e1ade912076e45a91c2e42d1ab42556d12938f93f1e88db8319e2a6342865388f09f600faecf0497d0ed5ed877198e097480b0d8e70332e63ea33ab324c391399bd1f89d5a1373fe0139a80dc34064206fb2a286444cf48c33ca0a1910ad180e800824bdf646c17414e0c1506b58fd5eca7fd2b7f9959d27c741b1a3012d00b8de67efeb40e321d099f40a3233cd8a0b3dcf4d93bad35e21e9cee5da3f52c746e54d73147539bd79297ee8a6f39742fee4a0cc59703c134a233c10009dfa280c82e5db9cc0c17e59bc5117ea38a61a3a8aa14c0d8c41f68f4916de6d72046e0ad08569c6f1d3a5f6075fae7db090c4eae8836a4e28ace8b0780d74f0fafcc675118cb8aa5aa7970a0bdc9b29602e744a5a68ab50148b52be605da5f4095bfd150e71a59aca6ac103f42bb3b9b3868804f70c6704eac32cc4c741d27c450e599ee7a213496c3214362ce8eb4bfcabda5e0d68ae025c67064bce2b9f1608e06a7bc178752638a7afe518308ba7c767ff9f1133f41bf5e33b0ef1fbb2b68c1e933eb2788afe52ed3df7b56d768dbf74a652ada45e7be789a119117d17335c5a42e0d24acb9ae96669c7c439da675281223bf6ec4c9528a91828bbd6946676972ae7b4ce0e8e13a9048ab5fcc76db450ce2876fe3d160012b1e442bca08eaaef9c9c1a8bc847866dce8603b47ad41f79b6950ac814f8075f7ebcd93e2198c0ccbea19da5f777fa2703f61bcd76b2627367a0632c43cfc7cf208f9d73ce69b89b0d6330feeac3c94441c2c4191693a35a36005576939ee5d7b79a709a9b96bd4914ad8bb8e564e444fa046436bd2a183decf08b0b4c7946d25e9996df311efd2e83704f408fd0568c19264933aa14be4493c79f3df554a581890a38304a4ba0bea61549d25bffc8320dcd0c3cdab58ca9da95019bd31dac694456e468d119131d6ae9cf41d7af03c67aeac1760fe42ed837f97508e70f9af28f0db9203c362d720a3ba0df005b1820703cacb66b908404f20e309d8a54710afad0a116604c3617d9a3b90823961e5e9a622aad974b502064aec792a5256989f30343e957a5b23444a6c0c668dcdc429942d7ba15d19e1f36384bcdde1b1b3c70ce4b87aa2ee4c74e1f15603eaa56eee6fb84b3bf83ffe8c04e464b29c1b730e524c6d3dca43ae0bac4f160b32d3283e35685b99367b8d78ebfe0f4d3b68c1900e7dac9cd3c972ce3eff4fb5a12f29a62095dc3920d5f89a31c67fc06bb92d82d019827141557926647f4c8560ae154023dd29954ec880ce641a324495d12c235e610a37de38c14e113c03b942c571bb022882672e74623dc8c08ca79c08f56dcc77ebd9032e8f6ccd6656a666c4175313f0cca5a534e9365406c77e95f917d8cf359ed4a9fc77715d9adbd1b2c11ea1a28e5cc578dd5d1171c6ec0813b37dc110d49719f09358c497b6282f664e55665008d0096bb74f0b3c36970ec6995aae8c04576d61a3516913ed3f9554d9592c804f022c0f2082d3c04312c95928975a41004c9138563ae50bc25d213cda243c3af39bb75af9b654735eff431209df4355f2f46276991d06b3b5fd1a13dc3391b032f93ac8529ae24b44f1879745e7bfd21e92ac8580835d9fc61122a063aa2c55f251c2a4c5738c966f8b452b1788b531d24f5d2393a590f34a4cc69c2d36ac88bf9423e97aaffad3bc3b2ac5e5a9ac4cec160546a39dc4069f88cbfe4bd82d92c8012e5e8659645c12db6d1f05ea887db3d30f757dda5b21da0530d33ae2365505fedd2f2ef0ad6c6079750e902fbbfbc81538e1fa9c5b26e2d5492311876f05ebbeb6d76a2e4dc05c205a2f48e46f4ddf47f3c0036c4401a437227256dee2f58b563a92e8cf240ec83b53794383cfbf2f5124743e9c80a28e385a48d7df145691c5aebb54c8414252be6a3b73c41927e16938baae8b58dc9b9e4e00e21d0d560e74ba1053968dd95acef11d25536f3e65b764608fd728707d500a89004ab155d6c59f7e399d74fa59f87bb91ce06c270e3441d0c4114905c4662bca9ebb64ee0f8265676d62e43c30063bb0abe777c294760cadd9a4acac2a41180e0c5c89bfd27b464d4e62623bc9f87c094342245521119de8fe1e6bd43b114cef76913e31db059e840f6cc3597415b3670d58e90cfe96454832a769f6bc9b0866e34b6fd7b21125a7f3032767600be9b9e7665aa8f92a297f441acc2698a010b95b3a45ba974e9873eaa28c303fb13fca17e61f23d751463cf3c60ecd280d7e02595d64d448d85123a4129d6ebabc8fb05931a3101a015bf3b736c544b9b944a032ba3985660766f8390f05d7d3d2ff56590966e9269810fe93e24e16275c90922a406ccc7367d712063350bc3cd6f7240193d03be1cc781e9d3eed961a376c3b3310feb5f3f6846a2db6316483206cf1089cea20ed36477b8f0525a277a460bd66c775f468b373a65c43cedc2d273a350f6f5389639e3a731f7cc6f2f9efd8ddcec3dd1051d6e81f9f89552cb9d416ddbbe2a76da4d7ef7a4c8f687ab524e098099b38e201c9dfd21d6b701c4bd1c6b8ca538744f0e8470d5cadd247aa41975d80af0e4cb74b6b17e323af7e4d33c266d36880c46aebbccd298e2bf76de7d87903a6847be261b2f1cd867b06e5ce15894ed1ce88a427f6337d127d99eefe02287ba8793b6d379aa8b7c311d1cbf4264c50b8db65a86652f13530f2d52fe50ee00dc3e736cc6ff444e43c786ed91f74e1e8bd461a553737e166fe0a12151b94795ff6ab91d289181d38be3046c694b6d275adfa3f3268746859e808a920c11929954d82eddbe968f39000ffca4d10b7f0e8710422558f48e557706ef030c41535a85f17d61d1c8fa831685364a6142f6f5b6530e0f90caad4b12278d129e2689802c2804e65dc0fd369a9287c6b19231be22fc4bfcf38fa08a943663af7b1a1566a8727273f0be5717a878256b5481e1fd9d86df603cf3710c016b1454b7a34089e65c36a6eb34a52be95d0a8b822eccfcc5aba9227ea49211c51c8c76fe5422da9db77032b9f9ecc7d29e513da1fd2d28de5cf7706ab9a1c97bd28c5150b08a8d3fe2527475a5be5efb6bb996fdd82d8af79e0ce51e57c40cad7e949d205926e08099e52380d215008448f72284022a439b3d1efc0badfb1a027abfed603ee1a91b5ee72e32450254befd972913bfcb03ba5476229db8bf67faa0cdb739d9688909519844c6143b34f4887815e629266612b1a52f0962511e2c4ad8eb3b3ea724fba3577686edf29198f86558bf269949cac2ed29ea1a3f0aefe6b3797054687fa102f7c4d369ee393f9cae6c7b3393199e602a80cd1895138a0d4daa7e38aab555533df2331d0ac6ad567e24107ff3db9cdf55696824e3d031a7c2f3a5c5bded08303b040dd1cd5eea30f740420f73e09113189314d1a255a83d81457454b405b896f79ae32593258e5a29568f1eff999711e4e913af81fdaa00013500f6538ad71dbe2af53c70d688f1ca438520ca5dea985f99a942cd7e3ebb6e6877cd9cb52cb1e238e459a31b96a02588e6b74006fb04afb5c5a0268696b21ff3763ae2632e5c4b3dd6959d89b24a2507111555d533837cb3988cf7540dad6c7f91b46d2d944defcee70692164acb65e04601689fe08593e59fd8fb8d6f37a11405d592d95235a758641ed90efb62052513301baf651935b6c36537064a552591c8dcd2d08da2988108f30bf0f07e560d5b57d873ad82d1f85b3baa32e0ca007a1a532192f58450f1b54b55b412892806cb3d04a4a1dbe3159a0d93c892e212f2aabe2d6828382792ae3ca76d046ae8f8c58fe2b26a21a995660da6a35f418031ccece4923264aefe3fe97c9be66631608c27ff82c60ae5eb6de1466614da98c0604b742e11abc6c5b67410dee9e9054debd32b0151b0d91db84c5e4d97f84f50785ff264603c96abbe9d4f85e5db24d1208b03ac83e0a30f02734f47e90a736280c715be7e72a85217484e1ef983f0eaa30fd38a0dfd353323f145f5e5fe26a33a0421f2b2b5a554dff2653e934842e3dd382e3332936a6b11b90b4f670e4ad908a6c6f68f031a8ea01650e99f713621a7a0c17b49432480b23c7e7c226232246b67a91194258eec69543a17b6b069d332d735026fb16bbbd30b757c90cfa71868c5dd478f58b6983547b3a118eeb976b454bf2421a4980239167fbfd32134f119bf7440c09142426d3bee86aea2ce211b10f6fe332cf1b581c087e9358db8d0f231594cff49b6175a3793c0811506a22f8959903a3c3e4a86b8950611a1b1e8e0a6e0c011289151392632384d281763632cec435534308f2e077b745e87457b422828aa54786fbba5fb9e0d2a0150f4c89dc4e3edcf052565b2ae43a7e37fd8ceba69a24148fc87cbc9c287d2e1fdf5f9126d2bdcd6cab9d2941e5abe1c5f567d3d0e4f8b390f7028ba22163a49437e3a655f32ebaaffacfc2f246b4657f70189af0b1f84cf821ee22a98990c962876fb0f9b1129c83ea9ef3b834433e9bea113df5af94b5255fcce97c0a5cccc0f5119b007dd480efffb922e4a7a49930822ff0694dd56816eb4fffc6bca887dffb42037b87bcc521f0e0285d3a3214d32dd0c770d028280815591e21653b556480a48f950d9e5f67d6fbad190bf859c374063472c91c76335edee391e6819489330c5e8ddeed5d68fb8a99c2c12180eb0c20cbe71a68526fb526e40d48347c8a1d016198c6b9838dbd64957aca0c9344b1c838daa0ab12b0be6917c3bcaa2656bd5444978a9e677ac3563e7d4fd8630e20c86789d7308fba08c9102325edfca06bb8e3832f99818708919b69e0fd43a0e85757b93fce9405f02566cb38b080c58fe4ff2e4a0bb1e6fc10f1f44a25d74ceee040fefb7e28767152d5d28f239597300f300813ab9a6743e788ff54736e89d9be4e235bca8254388e8ddfe2292849cd6dead217b6559f1ae180da19e9fd30369f6126464be1279fc078599fa7e2b1585c00594349c02106eacafe342d3e4f721181c46825225d9733038cc99163896d4b8e863f7170483a1f7cfa93513a35f63f686381800d6f6bd87ca5191b9aaa3f05524f8471589396cf1e3227cab521e205dc6e3779b38e3650777a2b13c7395dd3a1e5f0800e3191f0348c2101ad9cfcfb3934bdd77f1a24da7b3e3f143414e77707631da8398669ff6b4dd80bb625aedd21c3355fdbda76af7bf20167b1d5fd6eabf677dd148093a0b779196ea5ce22985f0d4afcdd74bfd68cfbd9654f89c64b34e12c0496c6cebc6b14291203a75e5f4fe910295b97913fb81052097e3600ab9200439ecbdc2514576f5fac1bf15604738daa6c466a34902390519a11824de6a1ad53ca46ddae4ceaede2d83f89dc04fbfba755b1d7cc8099010fe8225877e04868993cb772747103f1930721290cd9f74b46e70d1c90f04adc038659a26fb3aaaa342d794526e21d74aa9cee6de3416517f92b776d8cbec826d3c918227150f4f8ef5c4311533fc39644974ab267ce6b884b0d4b220c20e88fe646f6365953d008a8fce513935960919601747dba70c303a0dc52d5c26f48be09510f2add45310982fe748410435bc0f7d02c5b933cae5abbd53973a2d00472204e0560bf421ec642b89330b2f8aa40d3322b6083ff55445a02c48c3f5fa6d9e044a6e2aff87de25327f834f043533b09fe149ce1f44cfe0e9f957f5986e2c6786739f5dd7f0f115572bff051f834662c5e56feb619c02ee27366154e2d422ba4731089fb565094bd2fe04b279976d78fbdadfed8d283893f4d0f49e4d2e31f799046bdf02985a1aefb582498c1ab9ff90681ebf0826bb81bcdc45f75c64bb31991e4a34e38fcbc8dd341e8c6e24986f73624a7d4f3091ea47bba6ecc600ed4f251107795d643f6a278ad707931932c6aba568bdecfda4baf022c0bc7b0d4193490bcc879a6945b17d5d7afa1c15646407e3aa572a3d8c785df6b5a172917d96a881c3dd7812c72d68ec7cab5bf8b392927907f03d2262c11fbabf78b1957b3cdeacd34e96ae40f4164c8f68b5464444378712f26ecd93164b1ef60ca7546a869dfc5ef5933f44789ea8516f1cb696c0233833f7a9578e648c049856fa6cd5d72b1a176cc694f77be7115926616cb9fce50398cc775125b66c16ce2652c6e1d0c5a62fa430d268a327474612f0538b14143ade75a6979e76a72fa69f23bae38db44221e9e3d9809be15437364f3c6ac27a44eeebda6b9c0175b601c99e830ff9ae5732556e079848010ad55ad2296b90b40b80c3ed18d21f8d5452ea5b4760e5140992f03b83fd3290c2518d9ec60b2985f938e60a0937801e9cc800f3ff1c79fb848288053d198f68829f12281f353091c89c07213bbe860e450f2c923c4058876665acd31de6e2e119f79f610ce965eb7c5f047bed78dc75039e2cd31273d5d6b2211f056cd5d1a823fe4b63bd50071bb350e6400f91d36de4cd8accc68e47e4dfe98671990d9e99e5c8f8c14714beea59f06bb45d8129f053a0b60afaf5f6f7f5b96f058fbcd2270f6c9d3ebea845294ceebd24a1f6b1b7446ad9412368f302e6f234c641833bdf73c943a943753fa516e3f34b2f7a2b348fd0691249edbc2f33f4828777d3fb921fb7d3c82246c1a19638078cf1a0b85f1219ad3cdc11c36431c44f270da7582c5745bb43928de7c7413081e916e61ae62798e48e0a324f9670b5cd69e5168821fb51ea7f95503ee7d2dabe4f08910e1189831310ba0896c463de0abc541807fe4ca39a9a55fa3ee314b9dc0b3e475fc0c6754651f699404d627cc92823bdf1a50e55c69efd7e64608cea4de0419d574be5befe949722f596215f6853ac47d4bf3556eaf18d965981656d6ad28b930c4e08d5b48984ac74868f9a1f967e6d7766f38a3ab7e5f55a91fa564afddfd73af2d7d03156cf5ddab3cc21d2f49cfd4d1bd9cbd158dc84c525abc62323b40f1f9bbe32ebdc9b958b0f2d161d8b5ef4e542c8871edfc19ed4bdf04cc2ffd6ad43b559193462055354ed9b4aa8505b725a9f61a7ae1dfa79f4e41753bec981dd7520e7c3b5955929b94264003201ee6d2a80afaf23d2be0bfcc32b7b33544f2b1306fea8cf7209e0846d0d34fb9e4c5d3e3ec4a28cc650f0319154a83544e1291543651d279f3cc47d9757e345dfd256d36ee69045f303041894f2724636123a500c6a7738ddcdc4b19cb571a2d57aa86b9563b00d82e0a93dbafd5059a0a46d112845dafc6c72ad0d6e2dd713e57e1aaad1a0c7a3da635383e495c106d587d0ddbf95e2a5ef4327ea96f3d35af5446bfd9b1762fcab71aa3ab8820881f42033a8b2ce57fe840984211e36ac73ac64e216f980975de40a20dc0bcb42a27e6b12cd9d29a979314d20ea272cb569156497ee69b86f33ad54bcb3e9ad6312af3185565fea355a12e575b75302b941f511216ab328dcbea1d7b0d5d339affcb7f904d9d15296c849a3916f8ca00d29d22831590d537d800e1d9902be45a3e49c03bb43566a7701c6da2d9784530f3e5abc136f6ea79622d949fc8c38628aca6df48fb68c26b0e09edbeeccf800ae2a80e214e81bde0994dfe81f384119cbf0694bf80f0d8de1da77ccbb8a382bebd76de23ba0d792b89b603524f60924d04f54681e491508584435a1d8a9b59a50cd41d367c932f715fee79da07c251769ffaead9c33ce9dc7defddc4660c64a26287aa344cf20e86e79f40f7a2b4495112068c1c393e0e8920f430dff388c60f25e6c18e8fa25abda3dd644850841030d57b916445482cec8bd18f5e98138006187eb535790272acaad9c70a7854183cae920af462430fc962b4ba71e3dad28e70404718f96388fdcba79dc3943070245739aadfc1a7fe0f2d5e2fa11cf896afaa0a41cedc4ca67a32d94cad1ecc76df19eca4be456d77f828675c21a0a03e336d84961e95f4301abe24f310132a11c90e4d343e670897d5c3d78f806bb35101b6296640c7b05a240a63651908f7c97c86c986752c8da300c8d75b081631ee4a2c9baa556d0357a66451c7f59daf3bc208a38dc67745282c5a8918dbba35cf75c20f62282073ae61e3971424f85cd1dcb5f99a1bf2a5e8bbe51620e02fc7ddf75985f3b74285a8a67946e3083c5b8acb7cf2ae032110e4a42fdfb4a4f431a1eb071a653ace208d2c722ed86d72797f46dc6233bc9d606df2807d672fc0b2a02f1e06b21b2b9109121c43f63355415dc1802365c30eae7a58d9ddcca35be603952d11ea6731b4897b2b6567e53a827edb1b5fcb2c2c4288c7852198d57bcfdfa1219fee752d3dde3a8cadcc64e8b39e99a2f4146dfbefef472f7c4d94b3d0d3514441dd8045d33c3819f643b90e486af4321ea82abef40340895c8a5158d6a79b308f472f5995720f828f822b50732aadf6fef73833445c638ef67d222970a9b2334ac8b3398033c8f2a5f0a3a6a656020300ee8fbffc6c51c820e0c0507b52234db3a9a713a65fd529fe40c4bc4dea0937a3a54a473b924bdbe71898d3d277e3212699aa1e32bf08e60264e70422faa72dab5806d9d5d64b8a1053b0012fde08438aefae8bc8efffc870e1114f0e56d26992ce3929867d0fa4e0129db63a86b3bc8cbfb84efc51c42b575f0bd1eae9650d90c75ae2202a8f5d2e003a217ddfa2a857bbb9aca1cb1f224667765d4af5aed986523b87b52858f0042c5b55ea788867ca8f5deb422a5301054ab3b9eb4ea2505e9d32030d9c3b8f1b45e68b47c124d0e8366b9dddd81bcaede2ffe7a9c4f57c2ccf815e4e83ba5828d0f15a409da0e49b82f194c58e9e544f9f315a5850e1bd5fde1ffd01997679d52286fcac2a05df58e337a8fdc162441f1b3ad01b81a8a2128e4fc12a03ce2a43112bc698e1470f62221fe1c63da77a471c79b0ff63296af6f24387ef6ee546db925c0dfe85a2d4de7efcaaf8c15fe77f8e692b48808a1ceacf89949c24d69b02d24ace238987a9edd21295020ab2a3fcb08fc9490e3a237389a1546bbacc3df797e94cac3477eb831b461f457c58e5a029b0a78fe4ad208e36018929c25082f1ea0b1d3ee9e018a32cc37d5881915483fa3f89d3ae79228749c72d9c37846ab8604896425c08c3c4d3ec21ed02c4e8e54fb8f188c8b4318fdafa835b7e2d0b566bd8a046d780991be79b71826e08cf64596a70eb42f8d82cb0511fc9262316c0c51340f3e944cbaac6c452a09fe8586c738bc2da2f1bc5481d8248c2a98da00d596019aa480c80af2a81529d65ed88a390a2bde6781fef822bc0ea6833cdd1590dc5fa99c005a18c6f95c01ea21c7e4fe2d9828d4a7099a3bc5ccc32ed504995cb27c66ca5235b20983daf1147c0673266819b2b7ba8cc0491a7471a07d956054ff1559ffd8f69a60664e95f543eea563ca03ee56a5844bf01fdd71f340944b00ffbf7054f9b60f14b8df1ae6f7016b0e1909f63d9f6a065dcc0754701037914c06c55eef541ab53eaee76fc183a16d55474b7900dbf6998509b99d66c00cb8b2f6a42c76a40979ca547b80216cca95237071f90b0ddd1b34450a93cc6bb8cb8da8008a4093a0652bf61e44aeef35dc25d1c97e7d62ab1b3eb86799e1ef22cb2f52f6bf5e28357e00a084f281f3fccdf906f3b80360396b3d23079c6a2816e180972e3daaf81b61007c6b959a413a397c1ee62a151277d9ab34f0b64d4a84670c99d31aacb7013db5c88a62e9620bfc49655750c45ec70fce4b8487dc4552c906c078df95287e02c85715d349cdac5f19e24dd07308e234546019320c6de2e0c2a981e312d9f060e465a852cefafa8c3d5482962695d0855dabb07697baa4c6d2335547296ad323231ca304e62ea46af31446400217c2d7d628fa5d2f3a0461ac0fd66fb042aae462e72af8b462679a218f860a9e2563eac676d5468fd04694b23f0c8302b97a0e0512e34ec08b758eac6bf58f7b91d8887611dafbd05a0270ce9d035b8bc8fd71d1345037c978afa3dcda89ae40ff502009809115b000b76eea79e20815eb5e663bb810a20bcbd27443059467d3f9c1aabd3ab9a051323ead5c8c6012b6513c86516edbf9ad263fac7d4db97083a6f4c4e89539b12394856efc74e8d99b63a0cb2d840e71100382a4ff92f6d4ade127438e1683ff4d0540789e164cfe30f4c55218db1f4c9ffc67070fff5b57da9f85ec43a47aff493d6f8e3dcce223cabca0c0c49c226aa3d22069d83aa98bf72c2b9dd30756992ff40098371b44a75dad8329f6f0f3acd7af2f4c087c6ed833e35ae03bf9473bb9daf8223d11c6c2f7137a66a630ce8c29260cccdc614fa23b074303be875a68c15477ebb99cf92aacc69a67ceebfc3f456b554bb40341e6a3a8547ee05d62cf6371e6702d1d8ca583e8354acb140c8e8d6751d0c365ae2e3fa5157ff7e1f2d3a8adb7230fa46e0dcab6b7f22bf6ccbe771e72645803ae1e9fbb650d661415d5aec82ea00eb19d6e478cb656012bb2d8b34e0e60db03073a065bec190ed9a2de2511e239f91e300bb8f46b5dbb7b9e90909cd21ba48dc7611ea1c8daf95919de96b484a068de09605766844e184a8b96026444c693a3289888f8c801879463a2acb1016c03ec547d6fb94c707cfd09e9ce9a0ebd3e69e0bb114bcade9588a189dea8c16f83a5495846b4552ab74f9797774454b5491f5038cb9ddace84b911352389aef30a6080839763948a163d3bb01a764a24521be2d689a6ac6fc4815801f92e8fff4a996103e91c79f4e81d9d6b6855fe1e2c4974eadfd44dafc281aa1265c5c00d20632abfcf9b13dbcd5a27816895b6f6c82e683683dbbbec601ce9ed94cc845a8483a4d9c7183e9f4fd0879c99e4eceb3bcc27622f364d1358d9e15a531cbdd8841ac2b11f7325f5f07f2818a54eff61eb0e44e8b21fc48bdb6a821de49e7aa4c776b09e522349ba30012329d510927ba5a29ad50a8e01f58fcd97cb82a31ad97da9c1ce62e2d02f5c200a3462608e21ef81d23bc371e330869e802acd097925614cb827aca1895b0f46adb55155a0867abf1e2405d6496d9a65e0e3993a388b7d6bd1610a11e1b361a96a8f4149400a9e5aa5bcc7a5affd79857391401a04d99cc4f68a9eff4ff6a8f62f1d863fdf2a497bfac027f0a7729cb09a51740ad12905b708a8764548ef53097cbf21069c989b1e2bbc1cef89253ac607957501ea5aab04e9d058a814a5239d9d9c68f34b61c97dcb504601bc5ac1326f8b96dc3d6c77d1c4e806f5e060a8f1eff4affd23d4ca49cf6f2a12100bfcce4d8d3a6877b77c29d043913858a4d3af76c83dfb3353f3e3f66361fed86c86e7ae9b483c9f84db390d002485cbcd8d9f76097568882b52fd39d8748a18302a4bee40074bc87c80d10aea4b759676cf45caa44562c6f17850298d84200b726a5a1aaf7309908107e917b9a4327ec992e26af2e19034898dd968d855812f41469bea043f4eed7fdbb0e1173ea43f2ffd3b885e9ec49dc0f6e8f71171c2499d38c7c40c8b7d1c6bfcefeb0ec4b41153091c2c884642fa38455978383b77f9f032362c6dcc59c17349844f98261801360099a5f6ef88cf550dddd23f4de4f2bec938539c27530c4a5c94e85af88a7cc19bdda3879859809c8d7f83063915117e7225e85cebb2ae8aba6154deb7e7c2d2526a5841a00da1136ea7bd71c75f2711c9db5519e532e7e20ecfc9bf457c2e59c55e56780813ae65066ce1020715dbd684478c4e08a1f2f3c53e3e8c8d709ae34c746af8f9067918a4280234242621780a60cb37b08de566932673c6d99fa0faf78d15591ce641b4c9ef7c568034513927bb8020704d385e32f4d463b6a5f03739b4bdad76858c3fc936bfbf4b106360dc7282eba5287db03b03d1c7fde377c9d8d590303042958878ca86d3d6996e8134887dd6c85c451346cd9db96b5fc469b4a70c6fac2cb52d9eae1d863b4324682408fa48491c79566dea61eac528950c0e0525d9e70e3d19493dbd51601ec2bc5ecd9490bec00227c3aad1ef9e7d5bb41b1cde9e7b29c7ae836e49247414adec05865bd5addf98dca2952583a3cb7ef4c23f4b0320baac5c93727f84200f1d457025202dce4295e9863aabb6100ba2521e9662473af3928e931d78b99ea14545c1528353730e26ae9b243f2eef3f4902e3d5ab588bfd4e44783fd6f708125e7a1cf180915d8582606c32f4ad077acbbe037a19d25461f4feea830348111edfe0bbff8be7de2fb80deb3b9c989387033720be203e19a0c653aa1a788c64ceebf235ef52c7a71f956a83e9320351ecf5de392e26555cafcc5cf843f94fcff2205dc61f1c099f789d64f38897b804c3a41895dc0de7e27cc42333f035545f3f525642fb48eb2a9249e0cea14537f6cca02f4cd89443aa1548e4d7212a14ebf528cf1b80c0685fd1475261b5ef0ddc66b6a0886b7e7710bc710b534ffe77fb05e7f4be4d31df117c4c7a4605964d0b2e4852bb0e522c5a74ebde987fd4f295641c12d2837b04ff44d16f09bc6011f982ec9848bfba867a0ed75440334a044ddc9df41a3071e48384f095f78f275149cb94c529b14bc754eed4a8ae00dcda5f7027df03147873ca845e140287eb2b62ddb45a93d83d136faf0e026308a4706c2f79d2d41ae099d33a71b39ae3b0b5a993646bde4771dd8c204b212e93b199f8755917de14c6bd18f25cfea08fc6d8c5aa9241a021dce69525b086e34fdd2b16f685db4c56c730f65d22507e69438d4c3d2455fc525f491168668f989f6f5b3dfa1b64c2506e157be9aef4dc131bcfb5f6cc348cf180204961817138ca606065665d737f059bec7e18abdbce84cffc810f03f6ad90c9c08603efbd6c28bf92ae9c53f9afecb9d065d6171941c7c375e896f62bfebbd190e7102e7a67dc48cb8f86c53c30c4dd83938bb050d272b6bfeb400ea53ce358f00eaf4db1b4897545889419e6bfc469b3958e357992b12d4dbf552e36cdb418ff1e538e3285bf435228c56ab9340559628a5e42ab0658c9be738f98cb0f2767528c54ad13d90f1263e48af144cc3c991af28ec19ec332af390985a4ba9bf303c9549d305e4b9cb6e969a258a6b8834aecd2bf7933d331dc2aeb54b106954697887120d6009db92f0b9ff7919444f8c78d1317859df3d261bf9f99a2423b4a176043ac11a8f7a7e0b73d710894657dc2b437251e7606cf39f0e202d9f067fb7bff7613a84e544698a78fdf27d89568ff527a4ea0897264de07eabeaaac4cc7429ec59eb75c68312fbfba19bd6f43593dd3d059987b2000c136b91af836a1bf7a6bb771fd202f3cf850a5bacd70ef58f3bbac0c4a8be95689a598d07fe5f8a15b33154cc64714e852ae0ba46ba9261cacdceba43437a85be92019b3ca5cfb31453c7f28fccfbd192116f62d2f467bc2c54ed1bf1fb50f15af7b9df88ceae4922d4f3b34b057936aef387ee820d358a923427c176544fd5af74fcb327c62d489c77ac9283d0ca12bdb18914f36715fd9e774cd18a7f5f7852c4e8c1faaaa7e4b32a673ea9258635a1996eb9a735d7f53b59c55bfc3fc5505546e71b5a0ef09e86886668f6eb2d2b3dd5ec32a3c0cf013e40db00ec1b1a03cd2a687510549c78b62a7eaf455d8c4b49fc93c257b79e1634b78317f7f6684019222abc669ca8d2dddf9538d52f693e1ea5ecaad2ca72c0a2a3f07d8881e13ca6c3ccb68fda7806426e5369558a944c8b543e4846f37811c10abb072caa8f82cdc96476b294ecb6264f90e48ac19f935ed5dd0aee94712b3d2a53f16313bf54b2878bf24c4c85bf981d601244e90ef331520e5e78c00a60cd4bb945ad26c7bbfc36ff0a94e4fec1bc94bea91f806207bbe7825b3ffab630ac63362f47ec7ab0c0b56c19b60ae94bfce4c4a6f1c342c9ed33ea615952409ad9264457c58fbbb6ab82cee1d99701dde0bc1a5e8f0c42dcee08ecf7cfa57e492564508381b9b2e6252dee7c71cd211037ba000f1c031a0e969e82c0fbcbb4c0928961a8850093a0c679b60cfd9661512f21f671beedf4e80df6c534f6852dd44cf8a30795012fdf23e785c52f847bfc0375266a639c9f11c12ffc05305f0cb40719353f56d1855706c5d08661e6ea472be573c46b8fa3d5c22d6d0bb798bba52d45b47c89e244cea27bdad2b6b6ed38f4c511fd23f863cb07dbe4e8d7995e56592b2e5c39385387a4001163125404d5f82edca6e5ed9e276ab51fbce8ef9a5d884c3d16e8083cb10f6ac9e858562eebdfb338cf6351383c998a03da86f9973bd1108abca9a8079896b8355e61985e0906d8c52571a87009ebeb7b49a784a6e923ce451cb96f0be1b2b3f607837f1655be7a38d3638719e37ec7a79b79b2a20782246709108fe4ee37f0f18d08b3d6c0500d8a10801520ee26f50c426193b92259982d3fe5350fb59e01f4fc5d5a56f4522d0c8f730be416c10c408f6d016838c5c9b94c1cbde4f16d104cc0aecad641411c2078f6ebdfa933857a5b0c0800e3c3524a127addda874535b1328cf8571bbcd58293447d04aefe23ccaf725cad9a085cd810d8101df0a36c881676daca070d8f4a1af5aa5bff5749bd8e84e758f37da7cbc046e44eb237e03b4477f6831bcb0b85995f0a13f0eb6738d4e5c97911a95d21a388172219857d21c635f1bbf5f1a60db46487c56149c4d11f018732e9eb82ee49d0f1e4ce74c656979ca60565bbb25eb3fa510ef74b54381469ce88ab1d24d83208e6b594d96f5507cc6ca88fdcddab836fd650144b47535794e7a1f16181c3812d5788c653993c42ad4d2bef8a20451d82b3b355d9e195aac7369b2b0003ad950483f681f66c171b1976d7e4b55c50a19614f1497c7fa62b0a5435a6c6cc3d74a0b1f9381ceb15a876903e64570903e7577e9ac3db4c330147e2dd2b4a76c19416713317493df251f5b13c619893f9ab36d98d5e0cab49309c437a0cebc2b3f465e769237947f359a73825a8d975860892556e7c0e94ddf4bec0b1775842871fcfabbd4d2c9dafe9f55c347d1be3cd21657bb96a9351896d85f5f875fe0da792be795d030b42748ecb911ab59e7a320a35190df545375642908e41968f5bd900358562c956798fd93a5ffc1808a873f556e29fb0f5dca9dd6e12a9f680bd41769bf64defe68a0d9aac99f78398c173e63ace9b615699019edc445af90642ca1aab4b85cac364d11fdf78d5eddc7b116c3c5b8a77ed3509597735d03d55850d2a0cf6277eab9b0757ee8bfedb37065e41ab10c0390d0e79cc79744abf0d3bd8d818cd803ff972cfbd26089e5dd89f108955a7782961058f53e43315fc3ef99cb613bec689a64c4a0c964ab87bf294f08368efb3fafe1d9074e5f351094d104b712d59b31337ded05e45b08a5ab6e91cb97328d5c4e9b24454387e65288be130b2cc2b0adadf0db3a8a5d32aa84003554a10619baade84c268771be235d1355cf6ab512020158dd77250fc7101d6fd251524e4b14074386251476030c5203e91669588e671249ae173513d4731c5968f3747be2801a50afed6057c21c2932dc40b6408843f91264e4d77f4466fa86389a526c93e137bff7bb839b372ee4fd33628279290e7d90768ee3beb237cc99a2946e495d43080df8a84fe88dc942fb58b1c3f519b303ed47727c19c9d9081ef4fa2280ec11068537a4966b58545362c039c74bfc582d5e55eb52dc9620a725cbb7037c96f2203cdd17dbb7e96d9a99466ef4b63333bc916b8f345b65645030b96fc88c5acbc0123a19b86eb436bfc006a24043bdf854571347216763d0c953377e73a16934ae55e474404992316cd81d00e58d58bdf45ccb3f305581379505839da79c1036fb8ce8b149d40623e4d12abdc6f4d634babef517918b8f5e50eebff5c7b95448c3b77bf7081eb0a798c1438e0c14595d8ef2304646483c8cd6f178f0a6bae59dd137992d1bb00260b543be61647ec672f83ed21a569519fa8a3128973a9dcfd1bd5757b890d25810169b51e22331739e085a0ac138c92e2552cf30d2a81faa78f00cf63016268987d4ffe016e27d1b7f98afca626e09fd6a17d8a8ae41d41d931556837ac1640802d7e0c946ea2d06a78992e43dacfd827a264e550c66aabd74525e63fa2dbaf797c2487db20a76d1d5b1b2384134da0aca93777831652da0c73751623711a9f8a2099104b2df78fb6a28ee4066f080424e8b5672da6ccb7f1dd9deb394251d8bc182d855d9798d300fe84f76522b00130eb3c79395ca85b4710b0760fe43dc2c55805afa4a3222312d6d27529bc086c1d8ca01c169f24028015142a16b4be4c26946dccd5a21d65e31f6db243ffc74e0832eee12338f13c4cb0e77d96ba8dc06dc6d8ec85694484dc3a0813656a859191e5a8112fd5ff77b22080e08975253f83193353664e4bf5cb4dc78b3124d2bf903a6863e496815263550f7ad405b04d6d8dbca0737b18cb5b3d87e7e673672e4f4122f4b57d4bd063ebd8a19bbd00953f0cc1ccebb49dfb42ffc557948256e15880d46193251dcdaa5cc7198478bea7604ed1838d4d7df5ad16a4d3ef8dbf4c881051bdf8fb448031574301e0533b3133c31e771a15facf1b06d5e3b34d25b8db638702d168c68e59be8404163819197f38b15d9865395bcb32f1c449d04c94dd850e6fd86c2146157f5bdacdce518a439eaf9e56cf9cd15d9f83b7fce7b5f185f47f469b47345080ce31d9e09e45a2535605ea5b24665fc26f50a44e997d588e912b644b21e72007f4b49416fb159c6397b86454e0e556bc95689ad35e634bfc1f87cb840c6416a86425ec7cc8a5ae9f2ec727b7eabc8820bcbf045dca647becfc6d2d9f7d32c78a96a3c43dbd4d0a6e876ecc1f9dc9f0f4a3d322d7a1120e54287f8dab67710308948c5e878fe5a9536a947f999aff75cdc608aa4faf82159f42853c8bb0f87ef3aacaa57a792f30965b5498a960ad4ec46e940aed18f343ae7852f77f00f02220a89f39cf5bd6bc741fd11a98f275ca93f2263a19312f6f18fae666fe2d6a4d903c2ee6429996d1ac07328f0b72c90d6ffedf689dd3bf6f921f60712d01eedcc1987a31699d06d2ba3f9649f8dc8ff5a6050993e9af9423d8d324859de2c08c44a6603dd96b2b1d7495810fee6b61756ab5febe15b35c50a7985a1e9f3204dc7edba8a6af74c90cd4ee0110a37d557f2794a2d8eac3139de959a5c7a19f9ae9fe7dde0e8b63895f758d5b0d8d2dc188ec9f27b1445d0b9345d10b16c7674f3110e3dcea9be9e638de8ace42b0d2ebc76a145548b685cce098d08d728e2b7507048bedf2520c42d50580787935a451ca710c72fe16aef23bd949b8c58c110ac1a1704799d1a13ce63bb74496f3bc0902b77947926057036b5727af1e004204d704e79683393a9a1f4634b46f05770f707239f867dd9593aaf495f30ee3be518f5654d07c221fc3685ee202c90d224bbe3dc1231b2e555ab7bae5a904768667b9fc605474d2a85b26929c0460fe22e61797fc5239f2eee3265e272e75e8b2ea0b0b93c195989f7ba653035a7afab209ef100388347d2cc09fcbaed8441ed5c15bab310ddf7b541699fb146a8ccc325e80a1f0a0a146558b51d720e8b06595bb5847b51ef4e999e645aa5dd7fca178b820609273520b97d856b27453eba2656f8d6467bbc6998548ca9d1e5c5856d21d3662925a997167665f3a9cfdc4d1575fac23e1545952727f6d8c7e3ae2679e9c59e289fa3a2fc283a7cdc52b4570ef9a0cc4d214c3cf6e4f430bf48d4b50aa482f3b7d5e4e9fdae8a49ce58efc479498a0b85d3541e44abb9ba5862f48406737d45944248f59e40b8a642a303de06c5a3d661a8d78b3ce495b90c78d15de7827aa7caa8a8e2963c4d01e91a01552920092111c61422484e34bd9b5a7929b689625ba1d02707ce3775a08d6e7a9237315cf756aafe187396be294670f68ac1f3f221f33746d885ffe2b578b58ca6084b796917527514ca2206301d1f9b8585721661a65025797dadcc6af8cea86ea6a15cff4187a6d9fc3d77c943fe80d66ad9165f0e157080f1cc7ca209a96cb697443fdc45a841eb4ae0786815a29cce2b46f4076ee95de28cd17f3d46f84eefda2ce83f12a3f13eed527f582fd45f1ce28185652230aff693e9ac3ae32589d20d64ffd85b8cd561f235b39f50220965dfc066ae4d1720c70def34e35a9169c354c3d3b2b0c03c9fed8e29c832e7bfdbea1f5143123aa07c469ddb7593834f7254a20d6182714fb583695c8a0a84726a38c00034c27d468c74a554c1fd74b69b6f91dc842893a6fa2abeb8ee93e5c97239f5a5c2dcdef870fb573709461f1b846e6bc7e740bb47c494431d9e68af6a8103bab6cdd4c2350b454c9141761acee160beacc03dcd4aeefd1dc554c6aa2e9275840cc6c0a933edcc0bd26514a2a608ca06d353350ef32e35143761e223d182bd1a0a61dfeae94454317327a19a1c92aa04755d57b3330c63b2a0b3681e0e4351307c6e2ab1d5bf4716f804aa3912f461737f40184418393bcd739e6f986d6149e37083fd1ba7a5d2dfd8d61e73a2235b6c6666457ecdfa2080141ebf15592e7bdb478c8d7d8bfc991d7ebf8bb02d6b0d83b5a8b3bfec0b7e311a7f3b294cd79aa5dd62aa580fa48d112a8b76d39ceaa6d0271075c64c02461a4968421401995eb0596c5ae7e335fbd763d51df8fd44060c8d67605827c4114e861c0f2a0d81ec4937ecb7e905810eaac94f9675a873855deb48b35a48fc254a6d9ecaad128edb82689d1ad9ff66764ba150fe64a62739452c8677ff39ad38b828a75168417c5db297289db445c38541ce7b5e4d31e72049642ad043f902655d9815f81be2ccf573c3bd4d48bbc7e8fb91c60c3c4f50014d5c085c99d82031625396b341e2ed408c5c1f2f58e6bac28e474fca0db239e1a863b6b6e31712e3d98ad135005e229db009c26245de7d2aaf3a123cbf7e6f40222740de3841b3260e910e987c33d7de8768523397333f9de7c9617c51a6d476c188f65b7cfe8cbd0cd82bd5464084787fb9445670fd76569dea0e6233c75a96af6a65d54ceaff65fe88e9cafa7e2fb70c53bcec924a73d3b4b42a6a907e4ef125af19f4e6210278f00b1c5bea02f7ce76afe344ddc7d686839b2b3b44b88d98f086306e37ffd0542058e0409eed827c681fdf56ab84056d486525364f13bcc0711c826e00a2d384e06b80ada4a0de097aa24836574ea97be388651fa644d0e8fc614723da4d1f00bc386b540e15c598a9bd7c0c8f713e12c2c3435c4711b0cb5ac3726f977595266410fa3735c67e0592ee2a6bbb969fda066419cc15ca2e65d8e31a4147c3d02c7fd8620798f57168238a35f8762bc548315541c53ffbe56fa67175c5888e07b4d8d132fcba78c5761b661c9439cd36c640aef39931ede61f49e3d1d3e0c11fd978eafdaa01c7b11338a40f4dc47428e0248516f2a15c31f8660d29581842e311d4bc3dc21eaf882f2693421e51de3b3da14dd28bc5dd726cacd5c6dd82f298e431e323ccc65c5b01dae49abd877c2190ee3da2df59149d188016f294e9cf4875308d7aa71550c81719ad88715fd420a908fa5028654066b4740b210667040ea0e7374aa9c56d8904d12f5dd05ccd34f00d71d807b997f6ae402a0505657437e89f9a42341d028f00408e44ac39f023b2447a31bbb6815b2c0ce7643afe44c474a2d576549bbb0580ce9815236ddad6d4527ad57a3e3944002482e0949fcb1ab1d459351e489d6ab583da0a7f9eadc1aa70e7c9a599c5b23d33ca4ce6c41b0eb59d1661a571289eb0d2f633fb884183d167e877878a8f406152955ab62d484a3cb22521c494eb1c95007ac4dc0b96030ab24acf03bdbe9efa041f209393d9a2cc31c02c36b36d8f4a7f6e3fcd3636b1b50f542b4623e0b14bc6a2d5ae353dce59908b832fa2c0d19f653d9493a385167324c734490bbc4ca8fd39a250f47f66f16fdce4127327e528ef4e964418f264831979c9813b78b531781d7da2b87c576b2a76d068d78f207fed57f785bff6a3c0eb10a66118b01723bb83a32b4c8aed0afd8a2db3c37b8488d983d9e8a5c68abb2b30a2c7f5738ad2da69006a4de43037551a86643b552136356809f939ef657b47f3d343ac7b1d4725cd94662a65bc3391f3fb43405059f9c8aedd1e823e16a08bfb7d7402919a23cb29ffbe7b8b2c5c2a20cf9907180ef9652eafb940a22113c1b9e58d2c257801bf82e26773de49a8913e9c0d2ad22c84f62b346fe70a3e2f057c337d12a060334eb1fd32402cde9b17fb322a5563922072ae188828e1eb8ff4b836fff85a5ffabd315b95766e797a8c3491d45878ca4fc30e2ec50f085910e50db4364a7f4f4fbf012d1d7478b9ee6e9db152a4f99d0228e53e2e02aa3c41fce66509a1c60e67e5d9845408dfbda820fab46dfb38dafc50274bc74aa600fa538e54a4ce5d6242fa79d126f76e8643dad67492254219e6ee18c05669b066c7887c56fc5e1aff2ddb569a9918e2d8a782f7f319a5d80705d19ebe8489cfee447f58128f8707bab42bece6be3cf751aad704e5859f99ebca403f2f602607a1ba7d791db28c3e95e46322485c2aade2e5328281e41ec60f50a9ec381d430b4b23e8025dbbba1b4e5be1f2742f5a52598d6810b35f48cb56aec3758a651e5b5398ab20b5b8a275918d01cfd3e46ca9905ff39f6831ec8fdece949fc03a912db3c7bbfbdd6c2b2d52a478351e6693182e5d987e67e83993fb2de77a20d12d6b225fabb957f0e3b8876e0219d9b4a98f2c165b7431fb53189eb371861e658c5ecc0573a27ce8f99034fb0d2546c886f63855b6aeadd8d7b81eee149043cf07d2bd7dfaa99abb1831a1fef3a08378aa2d595a8d0885f4ca6cc10d3e6c3c147338c1a8d9fc6a18c0c3349dff7ec840af31bd28ed2fee822f00481916294420d05599a6470804a86f278fc4ab975a9cac5b8d7ea09727f5518290a114c2b5d84687d9a76b246f0f23cd678d278f0776911b2f64fad65a6c1bc9811c1278c68708958a43c8502acc1051a272d282df96438ce823c746e4888af771cdd88d45b81163040b957db159c04a263742a57f6bfc707ad26445388f681818d1e194d7203a9bb38221e03d33d6efcff77c682c73475af094de5d6d3952af44ebe6f9baf9d949e2b36efd3c7608af986f33a39ff1e14053026d2d63c60044e630baa4b6f27b0d27345b54b75aa61033a270fc350c6d6890d26382c2adab20bbcc58a5c9170b6f1a1f8a03053f6a5a2f45227b01dded4f5ee39b4a622c31240befcdd196499c927789edfd1523c0b99b84f06f46dc30b521ad6680492455560c39a9caf83a2dcf18148f6f5ad581b55fd6634405541a88bb69fd3524d4deaa6cf0e5acf57512f6a959ff02630a50c082525ebda7b139e3fa1f8192bbf12cde88a257c67173a89fa0d17d8352a616066f679205d680f0a6b092cd288a96bcc252287d8da7ab2051f845d4b4587c293f4bae2e03803373a70c3a66c814c9c7ba7d3127cb16e4e05f01a4cc8e973c03368e3881629579315b8480fef2e0c3d67da1f0c78c2004f01b27786a9e7dd5811f02de56eae3b2097b0b873e58fb537c6fcc2144dbd3b474514eb5fa718088e569e50d5940e16f01aee1d0f5a1f786dbee4069f3e6dd96f1331dc33efbbdfd09d4a810a7594d6bcf8737b0c5d793bb07d5df5c270d8d266a7185c3fd20a60bba9dba67f5ca50069a2da8ae1044f6a92b68212cac660307905ef495ef9f40f112361ef8c073f33c25be2a40823e7edcf77f0f2246ea046d1f4213ba0d0a371944327fab930edf1311d327b663292b5a6600928b90b25191bc20352ad4722a292af019e8f9abaa2a1242efd7aa347a0a24a8bbe66b8ae093cb8837092a856831ae4a5c03c6286a40d1a0f4503b154cd7a094f6869a13a94a99bde1645e395ee7d7b919165fd75a60335382b3791e341e68beaebc1dbf9c2da8c502a8658e3b31e52bb715de9891e14e3f309ff4b313b5d9f0729ac63f8c9bcfb91339314db511af5846cf54363f3fc14481788994554f9de214e582730c9fefc01329110983b8a528fd2718ce702724e34b6de3e7b994312826d21ae12669b1934b3c3f609d77bdccc561a7714b0d272b4950c73b8eec963693ce1622aa5bd8e5bf89ce7f13b5f15d080633e7fcb55fc0a4557a34cb309120c1aca7dab26389e764b724882481a5f7c13b521779b2f57dec7de2bdf806fa64f2945fd7dd155cd93c9ba45d08e7be89593ede0275a0e0ac68cd19167d9af1112f2671a4baee2adca43f868f1d8e4b5ad0c37a584f4b3315cb3bf0abe2e4522ce8dfffb79b4f062a240feeed60199404f7895d2a38449da2771cff6d3e0a6edc13fa4bd743460e204bd65634d8d42458ed1d399fe2c88a8dbc1a667cfb93ac5bb0dbfe6ed91372314bab2232e6faaed7ca55dd3966906052559e03adfdfefd111eb5b18dc662fbca7d50b36d90b43b7fd77a0c46c70a3753ded0c79ab954a65da6c3b036be35296047fa09dfd6297b79c715cb7083d2b6d2c15a89fb2be2c2448b3cc70f6be1c23899570eec18d80492da7c3512a7ef0ed58eed7ae9f78e46f6c4792c495f9a24b0344deb1244a36c6b3490b583a57345cc2e0320f866804a9cbfab19646b5f13c6e1d205b980fca439cb22034d0176257d10fd6982aa7d75a1407f60d5790ae5256e313f03d07aa1f18fa35cd2b25e08b76b91cff3d80045a5839fe7a7d941a49c5c4fb73a428db998ef3e4447b7ac538ef20e4a8af44d640abd08dbca8c7d5d6d1932cb65e62a48c4232968065dd7b86b8cb7a599f26bf83a3d063e8a9ae3f6d908ec1c9e34e9a9504222ce54e7a8b9c85c6a00aba6589a125f270f62aeae811ee5cce0a4eb0732717dc6096886cd2262d84c555511e018be8cf911c6e3ab8d4dbebbabd1441f09fd72f0af024ad1a0d9f83e02cefbd13ec165337e6fd3d19a0cf310f7bca4f1c5d22c5b72edec235423be2a4ccac8b978a9e805a83107ef3379d29dc3a15261b4a0c6520e9cfe1a9949ace906ae12e230d67c819fc5054cfb0a7c82271a0dacc6c70ee965feb42bb0a7484742535d9ecd0f0c7e45e24ac8981ad2cd9b55fecb65095e9e6b075bd0c3f5532ad96eb42593364df08af9b7601c0766d7061c613e3a7d69970c3954f852acb34cee63fea200033e9e7d1f93426bfb64bd11278fe25e1b664ac1b451d5648046401cf5c3b89c25b539fbd06d319e3d9d38784ae1671632740bff44192a4357a0355eba01799414c69d3c3db925e56505fc711b2cfc8462dfdd242a81d9af47593e19489105f8731da8853bdbcba9313a8be08500afd7ebb80a632ebd341553ba067870339bc5d3f448af5b131c0d6ae2e8fa941bf7a778af44b1102017262a4b5346e7bea2227ac109cc19b5b28cd7b36224872443147fb9682da3af821488ea96f4671c605faeec13835730d65afe23265c4c79c1b1b34e223517cb5e7ba2faed63042a5b527e8237af7f2ebca93a3f723108680e6f34e58e26d3694b7161e5121b009498c9032c64672cc64b1834f8d5b750145b7afed4aa841664cdfed1a9a4ac7723694d390d03aedc2547037564e92899935e1c3c7c8f629dde1ec16eedef9468955963a9a36c65870121fb24404a7e401e01ba4fc4b5ef63ff03adf9417fc9021b2ca30fcc64a7c61191108c3d3bb933c1f4dd8b8b7ad4ce14f048c627edc60503013f345654a7946457128c7521ea3757e9530b8e66477a9b6b2db587405b552747740b01c56463466cc67b4de3e7a838033715abf027b5feac7caaf431d8508c4daadfa2875aa9ef069c9b22b72937a465b6a6bf9e91b5e4ef858b458569740d72a0ae890c9ae9cf1d61c2621a5589abc2c0e237b0315bb6aae9bbaf9ddf6c7e12c23d5a14f08e9dbbc409039df3f7f3dcd7bde6caa36dc93664c6d0cf815f04ec043b90269a13784b8983343dcce7c316a3857baa8bd9413bb53d78ee595ecd748fc72ff17f159bff3b1f6663bb48b0a4e29d4ffc0cc823e4c99f9c056d14ca4a959e25acbb78612ace7c123ff0dac267b03b84a9de324c18c7523af03db934942af780f6feaf2e7b6cad9ea5f876f521fcb871d25d17fdf2de79fafae234a4a72a56ef1a4840551187ad087a8929cbf7e26663eb87afb0129340f5ebc99f597117e7f15c0b2cf5a3d100c157c151515532765c85e5228de02ba9cba8f3861609a1655b6d0f6505596b2d287640986126f659b7a9f7c7465499f16f8e9437a281e784f205912cd9ebef341bab37719ce4121ef3da59a8ad8af2448ab3d0075b068e8130184aaa168a0a2813092c5537100859d328152bb083ee8eff39ec3bb6308de404a240f94a1de834b0824fb1e76090aacd47e6488456398b5db42793527857ba48162968d1667511767360017a7b94789a8b08343d2104a38e0829ff93a990d5152054cceeb88c345d970bff14008155d354285d218485626efa1853f9de5a425fd655179c5c0cd36901c65521b7445cbc851753d5ae1dce88bae1b6651efe186006156c1ed0fbf8e4b82e1147e8c40da26e7c3e4fe423df121cfe6b590fe81f444d1c8b613f7f8e547b3fc5c1741847704e59e5348bba6f4e36f4f5589be31652bbbf380e30adff23a7c757113273eaa73821f33e2e507be988f8df5f1e6070ec0aceba42a69874cefe3ca3900f9352de25a471b4687c0c3c397fb37aa719e7f1000a042b53c15b94db6f6252c4a270adf7eef30d6322b1d594c2663210f8171db320ca343ca762460c5a50339985e25b230104b27d23c997573eccafafc019ae20eb09a1d393694349e6421bc937575b399f91b62d0d75bb79eb0f6588289ad5656745cff7d7c287f37c72b98074ebc31f5a911b2e8170f31270ce97bc3f82b39f3716f89a84a53c029b6d3151cbf8455d3b44b0569466414816e83e9a65dc2cfa218c63dd0259e64ab8171c537ad329bb751c4abdddbd6a582c1622dd7cc13a0b640afa8bbf3fc62a6f9e8019160fc14faabe92eb6331e86239f8a26f6ab35712d11c43806610081e65c5ced81b3a0d814641b553e76e1db2838946c920eee155c42ec23c26cb08802db31d8860a043335921288cc1c555b1c7369655a02494cfadded1b5988497f496c39249ea424f0fe132d91c4c16f37a389b87b6cee0cef64402eee1fc76f77b409b415cf9c16cf65b4183a1b08f410e5b0688f711270399586984cee775855378827c9262d9cdad1a67c70b4d32fae5d8696e677bd0cc48c7c8498cada06029c8e6fff55882b825037026256183d91c9cf3dbff283096d89daf18031859b3a8ecbb7636422c8d18a370cf3f89683f44036ff22df50a7e1c7e03667be912a23be1921d949d00818f61c0ee7fa0c815c35aad77c735582a6440eb059647d5eb95fea4c18fbe7fc0ca1a402fcaea60faf19bf16a370e357b86186931fa6a8217df3bb825ac88680f7495001dc74680f5da0603c4793a15df0417e4a4f04e616382b6e541729785dd41ba25010adf76d9b5c057ade3530a3db0dd1a55ce3a266159027f234396088577b6735daa38d86c57a68db12d5587e670903c42f2dbe2bcac668ae8a5703e14a48c26215811860c47e0db6af638ca5e6682b10d17d1aaee4142c4e14af849120bb9d05e4f4fd6a28e63b4c71d366fe0d74e33664546aeff90668110115f7942f146e4d502f947bc4333750dc7adc11ef3d2b1fb53a1f1bb6ea82261a247ba6e7985d09b5a7c79572ba6f7c1e23059bbda8052410c2cf87c809cc08007c32c39d35902869b2472144eb424109605d8f6b056f4d710a1844888d0bfd81c8d6035ffd2d288b08bcc6846a5bde02348543acea709acc8e3f44f50300f4d452c184ae3b0a37bd78b2e330be888cfa008b491bbf84e58fe055c9a0d8f7fc66a9b18a3c5074523b248ab786f434b48070ee624ac10c6a079965a48cb497d63f49e00a0ee11c63be6cd141e7bd2743f40f8bd6de889f950972a87e2f97c8cd5f4011314308764f0cdcb4dd81075c3c6ba1e15532a7e9f8bb920b89b0709c547a045db700f175149f9f217b21379430b53f4ac2b7e6efc5bb6b2f13f94c89dc210bc2c16d68f09eb6aac7bef740b0c4e2365ae7423fe8593c394a4276eefca1fa964ed69f53be6b8e985c644d7a7a4261b4e9c4c46e5b98797ef8338f8ec82d48be60bfbf29a6e32e2eb12c96b137a727a020b602a148b05fe32320f2ea78c11890b0441a7dd72ba45e4404f58b89d00994c7eb77ec1ab507b19842c68e8f0175c2ee6659f6a84a0efba2339938d71a06e4b842cceedbb3cce9fb381fb4869205ba5fb4b7ed321fd157c3c5cbcd1a9501d3b4dc63eb02208b4bb3a772da4006f6093fef17dd2b9a17abbe3e3a9bb9c6e1507a12c42104c1515a080c20010f0ac1e4fc95a37fd81b8ebb3750cdc321214865660711443c88905b7ee3f9659ca8e6b18d59d5d79507413166e6c0e4b121eafbb5982e269df4042284bc6b2a0f6cc9c491624711a9919a7f1a4729fb2394754afabd50e25f15a330d78094a0cf4f25a86aad7b322dffd6b56e61bd884ca7304c100dad830113cfc8eaeec3abbfdaf0f63661847080160c2411eb894e88ae98178f5cef0f90bac6f910f86f02f1c18e209007da2539af2cafa931c7e7607ed1ece4585f5983eeb0b8fdb803dfa622022447dbc76ab32aed69c563c525346b353167a9af2ed8385e132d7f6d38a0c61f5b00887f673a6eb9a3a444919c89c8e9e99480e64ece24b8c2b34da1a2dce34509283fe48fe83f227a05ed991ef6628c5f6018b0f9a1e29f37647723e447c1268ea337c9287e7914036364de93f6472fab4ce3f710bab304bf94f6cc1156021dcb873d1dac0ad3cdd1003dbc079be241cfbbe63d4d27ea8f1c7359e5ce7bdda7cca52345023dfdb4426d72ddd875451901fa641d160e376c2afb4e9bf34b781b2c5538d87962d1169234148ad7cdc35fa142f4477a2bbe5e9f38c9ef95d857b5563c55fd8762e556e8445948125033ac55cc1a87161c33a7a3649d744ff9d0e9c60033f2447213348c73e248c5d09bda106d2483e2888f18d2631d5a58f9709e9409b5437146b970ced1383a4ed8eb47b4920dcc035ba8796c320976850bc9570cbae15e92449aceb3dc0c7ce37685683e39a881af284e3232c0fa34b78667159b1ba757dd9546947a7cb2f791937f9e04ab0b5fff4f52cb51d2ab3850de0a0f23dce3947175d21fe936006204e4e90832e103302904594919a0fd0fe71857f79cea1799ff03eecf23761a0c482822879b7db9dc14fa955ddbd0513e3218802e55d99579c96b72b9430ff2803b546b814a4cc72b16e073e701bff12714ca8b22bcc1d4e6405691cf32ed132555b129c364539dcbbd18ef1e2879c896e06a15b36b7370aa95901cf82dff6575e2071f5aa06be17ea91dfa723be4ae53d6327c72cebce4fbb915a8d94bd127ff7778d8e6f20e9d8f043d0e791dfefd807668bc85ebfad2ba22cc6a46e7f3855ba83d512f6c7e7c5a1886ca1a0be7746b730841f506f5317a01c633c4ef9ec3da92c94a5c5386db1c62a771e55969ee768dbe4b8d0c1698ec0852be1d03bbe9c91389b9cb5421d83391a0da250d7f988e035d5c689e2be338ad55b7c22aaf1815d3eea9b286ec8e4a6b9671f22e2bed1f87efe71e554be7ffc732d9ae436f8f30c1a7d368302e9ca4edb546166063794d933d75e2794cbaaa90c2a143941d6ff64ae725c750128db6a954a0edd5167b469b3c19b37ae82c27601a93564d8dfbe3c900f1a09612855237fa6d9a5c0c3ff0af23aeb675b70471577ef2378e69b38393c15bcf53d09eb0fd8dfe390c9b44858835504d8f66462e6fdc56428ab1276051f7dc264c6c85ea52462aefc266842a992ba1ebd3fbd2fe267654bb2c29cbc3e362ad85f6a868039c4e9e9bbc4a737ba37103b0a07d3caf384c2c7102356392091959fe3c2c5bc0ca46d992bf31f70636047105716257cdc413d15cedff16498f713ea503118f9b0bbddf425c8715f588090f38802b7fce99513cc0c101fab1c027e5f60072227a98158087ec1c683a8bf37bd686c0d975117407eb549f24b94bfef7fb6fc6cf49b8d64228b44680a94df0f99c38bd5f03f1928952f7e3abf394a54a6d1f1a14bfcf7bac11957aac6f5f6a4adfd90861a0ce46993aca0cfb7488e5c99188dcace5e30c4d8fd731dcd7ad7512b18754780b941ef41f624eb9979f3150928d6b3330769dc114c8529f6b6939270777634d7261318914c96a1d77fd1de81d487179460bfacad1f30552e2e006d14fec977fbccf65f062211b23cc706726d1dcf9c0623c8182574930d8bd396d4c021c81dafd219b52410587d14ee4916825e5216b0ec2714ab71afa127f225a24df470c17e9e41fbd5392f14625f3eb4162c5ec8cfb523a31ef9a608a5014cd1e42a1ceaa3e9bbee4d10ebb0f80924918e332c767d7f216a6997aeebc953c75522cfe87aba756547c1324ad20cdb9104437f8df77e3a611940949c732e2f3521d3c4bcc0629558954658e603010aad0886673a3ff9b5824b79c3bf225b454cb38ec8c8c590f9d22fae8bd880089944eb159c5dcc43d9fa43b0a3383da1974d08e2482bf0d8b3c77378076d5b3d9a8d1dbcfaa3f542b4f4b7b6ece6160e87f5b014ba760842eba6e4f065a179ea0d41f99f9f4719ca18958a5698b454d4b0998b8b9d4a786e9c5a9d4bb76fa02535152baaba56f5358c95108a5075e8593d947b04e67d410f6d4bfc139d823f21dfe471824bda586bde0c6a5a2b14946cca559a6d99abf6f6090538c14a3ee82e3a4e93db5b6bee4fbdc0bc2dc758e7b1cf062989208d107356e3ebb75b0e9a03e9174ad4fb371d935b2feadc08eb867403e89e33664842bdc57713ca18a3aeb329906f5bd542fbfdaf7e71f72890057d51b33bc7fe8418e0bd253e8efdf48adb919c02941cb7bfc78baf39b38ac9ccf25f6da2201595cfcc8bd8d84ed1065728d79890242e989737e76078f0f4b1ac72cd72ca03b61da94e8f96bf4a3d7bb51f41a12029d80859ad7441d435f862b295587b75a9e425d84ea38d909c2c81ea8faa6e9b04616dcc3238cc41f6fcfd7d9037401f92a95fa4323b472b1c9d8a2f9c6c5fdf7896c10047d2079900323d91ba08d49858e16e4be51238f1fb92eb79a78bc9a706fbd43c81e2be8060e1103819979962d13064e561819fddbdaa086ea65c28ee78c5393a00e5acb9ed24bbfe058aca6819cff2c28a50aee519b744055ae5704b50a05508b72c0fde1258213974073c5791d52eb47df83325af8ae8df9fc0ea7dac33fd7e114176d3c831108a8c5a0bff966162c755ea6d3117850b731922ee1fc5ed50a5c70fbb5846f4196736cc2c13bc4c24dc44a33900ee3805605b21d9e7e0950a6b7f62c00a093700decbae1eb0162b076c0e3f3158fb44916f422c91d05eab403712e9bdc65a916eb45e27b4a5681abe0c715dcf2a703de589802a1549529838a4bc081b2063086e984f668769a1d4f4ef2257a241a47155a2511d2dacaaa9d44c6a3153cb465f131877d5f80ed8beaae7e637e622dd572c3817b73089e82fcc6272c3089621499419dc790529127b80949b7247816051a0894fc9bd23422a7338eb1ce2458e1c8c6b05b504dc938916b51625491a4fdae13ef458892d932c61c160ff35bb4cec8b34f6bb8b79775f2c0cf118c9c909aae11bf696043d1c6fc6b160bbcca507ebfc4c5b41039d8b642f01961b08392c660e503816e15fa7cfdab71878589da93e503f40bb0458c3a46cec8a31b6669c223e423b7dbbe27fae3cd68169857f76ab118105d5cd2c43c310fb20bc67f7157a5ac67eb6b0982a3ba4947c76c987e282cce1d91cc94d5904ecea41227ca0ab483cffd618ef90824075908aac2ea9bd36240f8cd0dd5279f099bf321a5370872bea550f04345658c509eda586df4bbeb8550ada16120c5193baf2d68f0ca633b92dddbd0394f406115bcda38642434935f7edbd2e903a80d6a9835ec791e579d0329adb02921380a3cafc44ecbbcba417298f523d36f50af3bda35799facc052469d61f7e19ee7d7fe36ea6855257884c2071c930c4bb4e64741606e344997d0b98a09d810104de02dabf29575b40da15a5030374ada1f7ed776b658d9f7b1f96ab742681464bd64897c464bc71753f8b579da960e3113fe6c8342379ed14f0ce1eb0392aca25e7a30e847712ba90df0503940b2e64cd3eff66dd261e1db21142f6de524a29534a29670558055605399a7395e6fca7b9bbbb33ea937b23f4944d61c52a49921d9e2094501494394f2e78413bd6d141b2ba02ce77cbdab4a89848911c30a8407b83e1bbe5e120a1da263c2b2866687060e166f808e24ee01004c41276fe74bad123080e6e898bcf0f16d53fc2c7b12451a9717259f9c4b8e94f325bea3f9d7c4f41dd9d76a7fe70f921531986b703a17085ce64b2844aca8d31c2085fbaa9dc97902fc1851552d42e73c1ce39030abfe322f0549009114628d263c50e95090ce28b1146f8f885d22cdbc9e16205514e45d503d83872e47091ff506e2d5bb68cb0fb9b23c4c1cccbcc8d832ad207df8b2fc216cdd09625df398bb336ae399a2adfe5a602dff5179402851042c8ccfd2064ee0799fbc108fd5564e0aef757b9e8dae8f8850ee48ec1058d0f995b1bd85f564a0dfd6e02543806ff100510b0b15a5b54b1bebe7ec227da48db3a2175feb5fb9e5fa46d9d73625da9faab7801aa3fab70bbe27f69190c9fe2021a6196055daca10d9a45cd83176bea948cb571a3021509aa432e9a745008eac03eb4d5bc8e50cdf5a1df9739ff9ad8efc81f289a73f87043f58f4f904f500daafe360bca3ca8c6f79fc1f4ef00097e608e182f751fe08d853b7141b20941ab25ecc32b1f7e6921d1b02d13695ef10ffb337fc665f5480244757ddf148212910410aa4b98803e41dd07025f3e16637caa54507c0b43afe78820aa9f300b70b607099d9d24d497ea3942094e044e7dcd10f3e61ec59f5b97edd0647834e7d6534ba341d0c74bdc08ee98e6fa51708b81d9d97af039bda05887380aea22fe1a58bfeeeeeeeeeeeed70dd942c1ef4e1042f73fedf78310083cedf7e3e5fc4f37f6fb4178e3fbd42dbef560b5ec666d29df6575d35605745f977068a08a31c2087fd0b45411e18a8709b13662547f98981dce84368b7a083d8b2af6ccccccccbcf5635a775dd7755d28185437a582767b7d6b4164c530ecf90563661d682f8b1cc059e020b2c6bfde1fb55aadb0907fbc50d6c632374e6e3034f7cd39dc280d14a0dcb4734557d96a75fd80ab9432caf8b68e8ca35b1c8a2b8a6ca01f0880c40f32ebeeca06ba46d87d000271e317bb726f3fbcc64e4885f389e8dc33bc9fdf2ddfdc77f1b3e67e83a139bfb12b9ee578991b499eba6536b736e416a24184571c936559b625144ccc43c1c4b89c9af313cc0eefee6e4f7179021de6619e15f3f46b3fb5d37e6a94591b5036aba07a5048d5eecd3ddd32bbe2cf3c3c9427e3a191c3c39d5475220ef4e342ea06e8c7676d74f59fd8db8f51623370a80c019d81435944035ba139fffe09e2b1c9fcc89d9d1d27429c644608688ff51d2744bd5dc189eabb6e71c7af1d37f6d9157f56a544803d93ff3ab11cdf7b8bc83c6db0d19fbc4b9f8c4e32211a087bcdef713725c02ff4b3a7b9380bca4d303efeff886d6ab48973620cc5edb1a15fe8c64dbc14b54e792976912ec58fad73a41aa9f19b871a1fcb99d68c8fc1d0f865615c1817c2d0f60545dfa581d040f069bcf2527c8f3078bca4f1cf89c6405712b463926e891d2b699dfe38636dc0d7c154442859d2534514bc311c2339388db39383d38dc1b6a94448fc9d83ea5665405019438088488291da3936eb259921af76cf48b8e981cd4b472bceda9051fd3be7c91921981b7be3e84061bbf3c6d1cec0d91d161c1d04a5bccbda881ca712c3a3868f12169e15142d3f405048e1b242d48e13624e4ab3ec9f3bc5fab61e2d648176bce2564bbaa5a5cbda882f680b29fc2c59ed780ddf43b6e49c7221d536298c6f387acfb8c9ead47c8bc40f5fac27e9b836920df0c5fa176ba3f98104f373cead86f39267d75b1b16ae6dbd646d272f798f58e3cfc0a11bacbdcb6fd4d5d4e8df95460e146ea81c3470689c98822720816487da653f2c58c2822c9ad8b1828914571841ca872730a9020da1c7be02a1ad02d7768a95460e546e2c1c0e3484f39cd8b99e2f8dc49b0e8ca4e37aebaf6dc67378a9e10f8572f4425eac8d04458f3d4987ec51f9454f8aa387b97eb40e23faebaf8d6683114621492a44b94cad8bcf52e16352b33492fcd05b7f69241b426f3d496e3a421b697ee849f2452fe4c5d2419adb7c920c6d725b67c8280c9236127fb72b0ea920c6aa5f1b3b6b3f6794b6ca4a01a601aefcee90bf632432c4edae02c83eb6401a23d199bbdf4d607e4829069666b4aedcb2adbccf437c1425ce99599645a7dce8839f3833a040f98655591774dfa6b2075699163e4821c80a23569d6377729cacd8ddad623504891496f92e557eaaa2ddfeb06b3140747913c010ca479ac0a1a2094c785082762a2bf880681a6877b78bcdb2e63a7efc8e465e484307ee214a7cfa3533b38fe6663e48736d05d41774c67df3a1c934976581ee6f021842fb99e0c1e59cf96fdf7beffd3891dd9d35b74b6b6bf3658534931912f4b56071da34fbecd5ac0565e74452e3c4a9f038427bc8cc1954a42bf7bf2b2acf6555a09bc5dbdd6c0b244d504b09ba3e33e36383664ef1144fa799e65ed03f9f9189f169e916a85b2982d0ac143c4e2776779f291fe8a359d69c0086ecee9635f7fec1400308ca9bf2f88927fcfbd5367eb8d18c59cb28b3fb806e2781670a3ba3ba3d5360a1761993a057632184f0d7b2f6e35b8f4d4b460b5a53dbea504608596276dcc4df3d4043d4ee4374fef0f0046b091a37a041a7c4f8619f0821d4116c07ba1de32ff3b44d649b2d35cf4e2be17f3cbdc33b3dcdcccc14eae034718425bbbbbbdb03d482da653bd07ddd77ddd7dfeeeeaab04855b1aa5de6c30255c6350d2755a5397e1032f77c903d6a4b5bea1f9fd32ac79a58b664da45557edb0f1f959fd28738aca8978aa0eed2557e4329a5aa22acfa869c52a96c6e8aa8baf7213a9f14b04de936887dfee41b675750fe20292973eea7bcdaa10e04dd7ce6a975af5bf45e943f658429cc45a6fa43b9b1c87ebf6f69dd2ffaa8fe906aa16d4a81f6c3f7b0bb218cfb1e76cbed6658c648859363442a07fb31220544169a547f32d020e1ea88143a373738393c18a9210513264c30618411560107589305b6e4bf63575c50d18e55aa2235d6c6d3392209225420e1070aa1840f30d40dfd72fdf4432a2f8814b951220bca0dc0f189313b6c8af0e042a609a7a27cdc74d976b0257402bbb204edd64766c704d6c65afee64c7c0fc6ce03f1bdd38dd30d9e1b05948271cc2150ff67af3ec50e9858c146e4a0f2ee6e77f77e1e8307546051fd67c899f0e8d0dddddddddd1d46676d2bcf540aa64b8ee2ef4e2b66e6d38d6606c2a71bcda71bcd7c3a6d2acd65190704ed671c1a282981135da462841042860e9fbb73f4575d5a5cb4937f739c6594c6edc6bf177f2960925a6c5a7451f2e7c71723ccb075004d425f92954dba48f54c918513aec0812af0bdf7a67c6f4aaeb9d38d6e8159318ecb9f9a73f9826e2e375e75698e4f34d59f9f6eb8bc2c6a97c523347040e7cc329f7df3594229a38c905e1a4c971ac54fb431d06ed1ae8c80549661d2205ace1f469781caf3bd678576c5451aa8fca120957fe6067ff3c5d796c22c73e0eadce2e6612a954ae5bcecff7b13c809b57b2a3a053f3c2d2b9f9e25fc02aee39d1d253f4c802b5ab7df79740b6f2d25b38ddb3407dbdf6d7ac8700a872028041646340f1f41669a8dd47e1d5a37d199d1cf38ce878505ed2179dbd15ccb2d078c0b8e134b0e58768c4002d485132fbe186594efb1688639a4bef7de7b70cec4f760f440b438109f946f7baf9bfb451c235450e1c704b255f4889ef6398790051244a1ff1a5f8c30c29789b49046b7c4bc0c63d4f9a83f7c6c359a6b966ca3cf09aab9fff177f72f6dc6e783eb9619b186a6105f8c30c2372f1ef8135860f2e07bf145c8575082083b4183c91d6a20e8daf018238cb0b425de60ec0a0c0ed4d9ecb5a750047e02a55b1a4228a1948f35fcf842bcdcbc54ac6b07f4894428ddd257431f628c30c25047b3ed721d9aa289502b3c2daeeb9ad784310b407d2d7ade1844dfd763eda277910cd7133d14c1377f69aee78de17aee400004136198e8fa895d130bbde80a61d7c4ac0e4837aafccc7c691dedb9019931f0a5753032505bb41cbf29b2e616d240e58fda5b8eb91e8dac13bce73937d606bcc1000628601350b331b8d0ecca8c2fde174f8009f21104e708cd0f13997123f1b5742c3d92f0c0a24da2df203e6e40393e6f0cafe3c7405e2e7e8c4339658cd96236baa37b780905daad4f8cd55b0dd6763a3d8efe9dd851091a169a38f9d39c9b4533ccda09e1f5377adbcaf04256c0decb8aa1e0231c84f3f092be09c27218e7c65ff8866f787835980106e42204038f814390cc9340975bfa7c833164081f7cdccddbeeca6e29cd693dc40883ef60290c9410135427e567ce3c327dba458a89642a993c7335a1a0392a35b8a7cdd47233557fd0549ea9dacd1c6ae326f903041414d4a4c94f3d01729394524a29e5098f9ba494524a294f72dc24a594524a7962e3a618638c31c611909b628c31c618473c6e8a31c618631ce5b829c618638c7164e326082184104211909b2084104208453c6e821042082114e5b809420821845064e3a6f7de7befbd10909bde7befbdf7423c6e7aefbdf7de0be5b8e9bdf7de7b2f64e326777777770cc84deeeeeeee188f9bdcdddddddde436362a77c76cdcd4404041dd7d01b9a9797856dd7df1b8a9737274bafbca7153dbd8a86aa7eae31f20a0a0a0264d7e78878767b5f2f1e17113e3e4e4e8e824498263e5b889535beab7f16ee6dcb08d9b64808082829a34f9019a393367e6f0b889e358584ea7993369e630501d1a3fa99b27a58c328a665828542160feda6e0cdddddddddddd7daab1b1eff7e0b5c8012ea0ef1b7e80b977c56b6abfc75e2eca6f10cc1973820e50e3752d7557560eb036bac678ba81a3bbbbbbdbda8276bc5a49fea0223f2cbbfb44dd97c09a4e6c581bd6c936d324b44d212602329f5b9a1847e65962a409129c7ed08746f480597fcc54297fa649934ebbc0cdcd8db4e0842f6f8850f9f96661dc1ebecb4a6267b244a9e33ba99630c6ece8b936ea1aa0ee13604da792b5a6181f1f1a7d8a1bc69d9039d3a4894f16b54e9be926bca9f4c04c0388f27bf1701cd182858611283333330aba60de722031e38b1146f8b2ec3f060eedb855edec4f81a264d75b11560c681b8075c6fc9136e7cfd030703df6a18ff1232dc66398d67d253db68b91b417b4dd127d1ada6e09c67e0b2f43c3c07e0b8fad8c16646ca41c5b65fc03b6cad844df0581d585addbdf0057198fd2822603a5fb3a82b17573d29163daf5a30b7b2d4b5169ae6b34a1cf692ca15d563b73a1a70ed8a670fff27310ccffde4fe5e7c1dfa35b4e66904aa552435ef86f380249e55465e6b542e57fbdfe021f698e65bcc41b9d3b4d30f12594311fdaed2a2666012d7cf7296d6a61a35eba9ed2d0ef268a8145bf1fc6d3c538448b6c8b6480818282f2ddae3414ade3a71fe3650891a1058135064a732dfa2ec37efe8ae8d6a554ec513ebf396cbbe05b1a9077434ae5871c97baa9bb90d1110bf7cff150a81c3c28548e1a7850dd02370851396aa801e3d077b6c42d1e4ccb616d3c339c9b628238208e87dbed339efd2e4b3d2fdc77d7a763a932860fa8cb8f592d4643c1ad87f9308d9a6e9a2f3b50ffe892ca87ffff1485c6ef08294ab778af50313dd98e9e6772046c9f55fc46e52ae7c63931d07adcb0886d425ee06745a0272fc918c23f5d63f452d7841efb78bdf5916443402858c19b3fd878696713382c68c0919d267ad0021ce434c183821f9238210a1bd110ae20020b38a0a113bc28a80c18c824451c893a1411841d8a304214a91f1df4f40cf183832b1e367a919be2f52e2dd3832f89bd4b8f442ff42efd9e9017ea258d0bb1b87809156112fcf91929c1172b267a228cd0081d43d122634b7c29637634676dac621bfab308dacdfadec5670eed679b497de24c81eeb348060b3ab424803d368035a1681b7a5fa9be3ba1d0daf0ea4f4f6e1295b4ea7ee32e2dbad158076a6c735d4b50fa415cd4fe866e41cb8add0363a980d3b3440907f52c41821e2270521cb3606ce9820e0f117cdc6f44787384da82bb6806adf67fc5ac6c5734fa2c72407cf951db071f7c38eb8a7aa4058e8c2fc20737940f4e375e0082f2b7c0894b875804a6038410c22126134f071da9c266b77cb62bcfe7646626d01396f7a230c2084c020d1dc287f35d3afbcc4b8f2507ca29c21d25321494f96ce4633364405ba4916cf0c7fc31928e7e8ce400ae2e6d31e6534a1e162fc9670d35bd24dfa5fc29a54c913a781b0abe4fefe6e6219848be146d247e510d8937126af4a21f6d35343fe8106d35f2473fda485c339fc4a2e71789deda68b0173d4de8472fe4e5f705c80f1ab8be0722437c94b52f5323311643b26134922ffa9af9a3d721fa93ad466ed74f920e4bbee8e113612c232d741249ef2103c406bd7e42609b123b64ba9ea64d28938c97e0b71644bac51fcef9f0657874cb73ccbdfd7dfbfb660dc7a3716f96cbfcaefdf02c58fd83864d8d868076fdecdff976834ab5b6185491d50dfbd3c21b4b73b08676baa11ddfcccde586761b14a46b0f360f3f482fe07af83e3885bd10e3d568d7688274093281b187bf91a64bf0210e155e9b8f1de0866309f1267645f9d8db9be74d5f2e3b16d1fd82c08074aaee5ff387726ac64dfed7a3ec809296b41bc986f9d6c3cc7d9a9a1f6a46ff7e6e353fd46c30273435f0ad3fd96a7c4608e8c9d38cfe7d3cd968e046b261f4ef49d80633da48d8ce7bf896f5702361a3e962bd6fa4bdbe91a0841c52908312c4008a97f9fef24930fef27d23ed0604c63f5e8ff2d2f55c158292e8228a1a5c31c48b1c6d340bdf4bd77b2b6e34d44bd7fbc6b29a9b7ffcf973f5b22f72abb1e6937683d8742009f08b2491420f23df7ad1739d1a69bfe607ace607d106f37eba46da8d14da60ac971b691f66fefb9ab791769b4979e9fa7d99ffc21094849130f9356f2ff9d7f770d3fcebfa4db9a20d8e405131749b9b70100331617f766677666776969d981d3bae956056ff1dcdb906ab0c8f1bda2642ef4e3427d428b567cf1f999fad636686238741b9496ea71b2c9cce8fce0f4c8d9818d42a86524a6350302b144c0c0a268645001d073333fb157a56413d483499e248125d18a9db53850f47c0dd3a96cb8adaf25f1a07218c6f6e374416af0174c109fabecbb239df7befddc03841b8fb6f26a347efd713dfb736f9e56bee692d04296594d1bdb71d82b32c183068d0f8faa47c337895d25d4eb498d39f087808fc40edb72fef05c18630c2d87276777777df20e5f6b4cf4abab48d9b46bf4aeaf5dd2aa9e19c7ba64373f6e9cd9a4e10ae205c419f6ee99eaa2e8150bca0436b94bdc44da2f7d1bfff8cb5c1f8b9b18a6539f82cdde235c4d07e9faa3a0ad2938c65230bacb152411822a07085692cdbf7d603f6bea560aa21e6d25da13f666aa8a5981792f7c4bc7af0448c114608a56c29637c12c2ae2d21dc8040de181a36378c1d61b36521c1cd9a33f35b7fbe848e31c208212fd751a8be0280fd856b820758a951bb0f08e9177af1c508237cd76502c94df8dce4e0fbab482921c3e8efc5c870bbae15609bd2fcb0d6606de666ad977b1d0868e095f7d02bd6ce0bdfe8059ca7a814aef98b58b2190000012473150000180c080442c1805830209aeba27c14800d73903a7a5830164743718c03210a5286184200200600600c1843342353060077ca3d99d2a778e98ea2d24cf479aabad3a30c9cb5bf133570cad89ae83d7303a514f83f4400d8828fc606cf853c5cb7d3e405fecc7753ed288f067496f3e2deee239d1c13962ed6d288a1573697337492c4a1590f2f9b9ae77f7f4784dedcdf7d79a3e185e02df0e751aaa5ee381d2ed5d343bf2d36aaa8dcbb27753cc8e0bfd5c76489a0c8233a0cd0a7e09598e3d55243bed88837e991b54f23d6c24ba691a6c34d944d17358bb34f1dbeced67d944b7c664975668e6361117be4d96563440edc438f64c09f8a1c37a159588f1cd91ce705c33f10afeb08ea97a39502c8d9dcd2b6a864175d81a771e39755aaa33f5a167a89b3c4ae7fde63616a1eed3d175539270fec9ff3470d8a7c9cb5201a23ccd34ad6238a8075b787786480995e6e353fd7258ae42313e9a902dbde0ed8bfb2c0106c8ac491790f672174ac864f226e4a8ecf0697a333e3a627c846e1273e99e3a0fb5067ba920fc78095a6b81c32a226b8257fbf415826293531368e421b76052d3a7e656437e66cf8a13c31ad391395b8a73a65f82c8c18e1c0ab9c2d86a75f7b98d1bf66649dd061455d57d4265dd098532fa94054d626ac9555075c766dc868c5b7582e267484aa541aca04ed5f9051fdac2ec420530471440187e1b8a3a16f86a94854ab39c5b34863c9899bdf9b2b15bf6923660acf3fcc04f69f606412267288997dcf7a5c9fa6fa304d81a8f813172a1c7ba4056e078d8eed8dae719ba761211d448229eb78f482b2a1bca1a255f944a6e9322cd29b5eb45c1b0566692eb30f6c563b0493e286d2dc3bcb8642c3858b787e0699a4677a8c393154d19a13cc0533e7ee3c472c6b5260b9d2e7565a5794470d63df08588e0c3b77538ff46efaa83b9d12fa3bc34874ef903f9b51ce2247a27561d7c983e70f7c64ac43b6c191e80740c9673b68ee035149342893989055b8740405da5c05e8d1c9456f900786332c319a44d4a75c53dfb3333335eee900d6c60cc1914e4c5fbc846c0b11618809d54a0da19a69764030fcad8f628bc53035d5e858a055c689522b07f21f477fecd457dc0c398a22125d293c0abf2162f8c73258b0262d1f04eeb0be02569c87c47383c2263ec8355bfd5f66c59d06b6b0a13cbf1f7b09572c4d0324f34aae278eefddb26be689d17e9c797df8a991a9d1e4b516250eb7add059e9739bcf66d052f9c05c171a22bdc4ffca9a5e43a0f3b839c972e4aa1a8eb965e82fff73bfb5e5492eda3285e446359cdcbe55ffbea9df8c3113834e92060ae897bf87aad82085d51cbede5d11b2c9ada86bb0c10a24a4f490f9395a8c9b0bd453c14dcec1fb703ba673d8aa01fd1d97a49099ad9817ec95e46bf146eef1b5970ad63ccca0e73f66043c96ad6c8a556ae3538494bdec216958864d6f1001b0227039de220c365cbe83547c261550dc419afa411280e2465269c1cc9cf044d72bdfc8bf25ff1ea4451e245e5553c2690aba3a58141ca40dfa39484d9e546198d5563931e83a95be683c107b3acdbe06cc2280ca47e7ac8be116680c433b2cde5be9f514adc3386f111f558266e94b7f31ca07a96e970643a311ec27b4d6ccdbad28a9bdaa46d8c9b7f5a1c6f4cf1a9f61daa78bc7341fd759e5143b7e45c029cdd4d0acd5d13123a82b3a5fc61044fb5a449d88a43d4cde3080c943b54760d8a146b123b0907c4f2ac0a189ca24df54dcd8e3887fb81eee1c6d6f6198d0fee9f8c2df9c001da29f0aafb192cf6f821ffd98b0f5b2755177e379a2f58575e579b4862a13509f11886aa2cdcc69a7bd5b5b95f036972136191c992e04a5965be1b308d35eac30ff77bea4a6cac349d980b610a71230f2db2405ecd33f0c0b0941fdc638dc5870977a0bda6687c6e22b5bb20134cc41757a57dd129e3bc97557d66391d8bcc9d1c6b6f0799468e41691d5ad756278d87a78d39954afd811ce74467a1fc3d198f9978a6a5689215b9fa1cbcb691a21b1ff6743cf48626f29c13fae15b829be0013763b888219f93f73a8f76a62f04b1f2000e2b0aa23d7d77f1c09a3baee6bf9a3c8da5a94d0c079d12f2cdfcf2f7da0e1da8536c31aea293784e6cb87211a4e21866831b898a8b9256afda8e4d61263151d7c5c73ecc02ebf06a185a9b345b51d683f30c61e7f23d2717829ba2f6bd07d7b5afe75a3084af116d0b6b709a3141115c505851e3a0b7d29fd4117ba4d3648eca5c45f80ec32bc24591e49773ab0fb186fe7112ff9a9c6f59e967856426aa6e1150e9d4b045aac6e50de02132c28322b832cf9b159171e9f5baa97b4624b4eaf3264f9ee435dd51bdc43cf71ff47cedb14eed3b74137c73731484ff5cf0dcfc19ae0c14ad731168b7eec6797a893177da701b7dbd89283a07194bebe4276b435a20e7e70803e00f43e2d64e69ecff3dc78d5c199dd88cb2ec5ef0ca3976f95fa197f37b25b9fb20f6f8900238310117e0c6f6a07edb117a78eee8882b17bb25f6a254c06ad3d9233078f0869ac6b3bb680c80337a62e939b69279dad37162e18ad61cb95d0a155fc6ad17c39bc1ec0204a27d74688e16e0ddc2241b21a6ba1c390a70dfa7b2148ccecc2b1501d6e95921b3b632175f024466249222685f57286efc152c4156b5c04221100343e4c904a89836d82cb1389130b894df8e0fdab64a51e16b201e2a7aa8ae3f400092da91c27b1a8b9f88d410bf950b300ddd3c02c0af4c0ed950544f8223e6bf820bfd5d9be12ddc8fc6435990321a6a1d79c2d9c01538de23849559af3be5e27689168a46edf93460ac7784589a7b6b5e6c36d8a3286a3275dbb70ccfad05c9d755bd2da353b867cd64253a378a3d448b34bbd0edfd0dcf58cd67c433cf2fcd328918d23da5530a5cc7afd6f0c848d0416fc9b4b0933e3e4b080d9951e69d8eaef990f90eae51e30a8d744883b298191cdc537a0c1d7ff46c753edf9611bdeecdb47761989d626a97db0925b8456ac40332559c34882a0cb7b371d0714232616c7f7517dc031873caf021759ae945113e716197c5799ccd30bde5d77544fc522db1e3f012f4bc2229b0d012e8ea2ebe429a0e20a41e1576420bef3af4d448541f742aad7985e9e05ed9ee32d10d7664c9c23c10cf928c202279e1ae8e58fce3299233b17bddbd0c77e80ae35bd58b4946f50cb639b156e8cc1b158a19b628a798ecff323fd5fd20768980c14d74795910d24733bcc37f55b0c9b44ded816ea7a22f9cf39b66212120b83e6a0740871902b490f8f1e54d8b84271580fd3c55d15848a64e3575959b3b479f033e2bed45127879e3928b4b244cbe6bbbe4ee2e425d73aae6128e5b04bfeb687727dcabba8bfba292b386dfab79bedc29782e1c721bd07e2ab9e8a5a502564aa2675a01d167a4a86ff924b236bf080394e0790250a7812508a2d8fd7111b26d7406ab4042f64f9954ab244336b35d639718604aa5f0b41b5efe42857ec873b73a5d2f1b419b115584457062476a04768a8c972f456562540565afceaeb9d75ddc1c392f1271e278d11c5819ec460c17f992770370a9c6f6115f0f7fa9d475373334ecbe2a6b51c73c7b0f2a4ee1e5031a27f635234997b0cf4327eaad08ad82ba8b47da4bbbc8dc295e054551768d89d4dcb380bf0a2390efe3a9797f5e9813268bb2f5e63abd0005701dde905310d125f9433730fe163ec1543fb42125cdcb04223f3183ec0ed011212ed6c0e3b87a5c1b5aba5428980ce9f902134cc188204df97291ca14381ad99b5c5cf8c85cf9304b16019e60b76e7417bc62aadfb3bb7d2f2d4e05f4aa6930a941422172f5085e235fdbd8834c1543f596bdaf643babb7c316591b2dc8f1a769fc0a2d54bc3cbad5194dfa6027ba4685848460090fdaa8a8be71b94e26127d37a9385428b994c9f991b96ddf21b134681c98e7595cce1f47484de5fc04728c9382437397cc81085f9a06402fb80e869c542e9ba4af06969572e1070f158c046bc9d26f9cfbc561adeae03a8f9c23003b3235f4970a6782fa7538c3073c0c3123409e12e66d8808608c37db1bec06d7aa9d75121610a13826500cca4e3c9781d0c0f0be12645217e103c184f46e6a260430e976411ad8325c4f51086c27e3922b2ca997aa927514969f7aca1e0c4b27ac4fe874a1520978624d9beaa5f463c78e7b03a63dd0999cefa04dcaabbde466a23b648f2c55519010dce18f721fc6bd9da7e93a5177c7fc35a79b905fc2eb1430d02035e75c529b7745875a3777af2d24d149b6394caee10056f846b955e17691c91433e3d35480e6583e428fa2d7be8459e560aa09a8936627bc7873746e55af60af38fb6e1671300ebd8be4e6a62742d50d1cf58e8e767b481105d78469f70797fc1be2013f2394436cccb0f6dea74f4155812150a23b7245bb42950a793c9b8b24599cd186c8375af4252b6187a37f42fc02c9e39f973f8d6ce24fbe5f115671f0c2efe19eab7382f2255b157cc7b3d032d3f46b8f85598ec8cf9eb7fc8c8ea04aa612193f0b568a36852f095a4a7bb26e880f4226e2db657aebf4b2218b932a32c31aecb3a2a3cd5a8ffeb1588eaeaa2365aeafda8141f300cbd5598d8974ca8f5b94abdb8a2a47304dfd7918413e052df22f090e18ac723a385f9a45f1f755596f249d47db25db1a084e86de7ce53d50a126a050f1640e61b788ae61243222c70e79845ab1d4ceabb206b0c81f4a2990faf5a6bcec2911d1df1880d1371e401f9391f15169e2e8261a9075bfcb06554f7eb8083c0d0b1a51e158017529dca93a5b8f750c8cc65791037208ed4fa4a2f959334bf6fd8e3dfe34014fc8541311447e395a399f91824dce0322a7da77886152281c93022b1a9730a0d72e92b6b8d14302c77d179d4b6e8e83ba99249c833eb51f8816087c4575b0006c2228341fda10e917156ed6919a1ff9014dda1776779aa7e7ea4bc5fdb626f051a13e09af29486b4878843cea8f27d41d744592dbf1eb2fe55c17be4a31135124f058e4987cba31101c27eb0fadee4e98304591f4036d167bbb55e6bc25de11f2fcff39004e1ab778c9a7028681f24e5775ae61c376cb80b3c1b764d7576f9ddd9b386f554c5c146b671090a6d55b316c592520b17a0a9134f79324efb046d8aa53abf532b66411e9371b0ec0fd537b4e59d292d26e8df960275dd8e0a244ee15c3fb5d0d0138363666c46eed11e83e19c3e23b0ce7bcf43665a1d235896eaa3822d4a8522371074036bca31d4314ccc507f44e8923c062359df35c6bbdc01841a324aaa368c721133704e3941b9833220e69f15c49c4e2a141dc8d36d8c84bdf5d298640bdfa8589bddcc5cfeba705c1877d596d306d7eae11cd0628e30e3f2935c9bf10067d4d1f624c484ada436bb07dd1ddb032f555b7844460dbbb2a0c426dbb8f7d995a1f3de822c78f7d9c8a309a0916e9b3e894995503d27426d1a5c4481dc9ce5e961e087d44c132d508294d6b6a57da1697505e01313b6bf92b449034c71bc6d086a3c782677603e50c2cdebb0d4abc252de837949c89aed4102a6f9da6415e3aa219f344fd49efd1c15f66cc8a821483f48ed8bbe6bff6609fba3f867c827ed0a5f3f8e9c04b9a655045bbb1cfada3b3a12bc1a21c0169aa8482d723b49b65db9f5a26f54ac17e8a7bb569ed0f5f05546b7506e8e612b0759ca906da6c03c3b7040055b4448bc86b6ecf1649dbfe5fba98aafd68816bce7c0e0916c753d87432fcc0196b4f6151197e80d727057546bbc2ac3b5bd7cf6d16a6ef6044a9143bc217b4104ddfa4c0a06eced7529e5ca08789d53b41b37aa480b49721f8371e98cfbbaf4bf92a62a5eef5158d92ba4376c4bf92e859674c7988082f2bf638d069ace8b9b3695b97a6009df1e420ad8c130a6ce5718a1916889c68ed03f796d1ea56d395e64f00efa2a69d58dc4d52e92893d6d85677ccb2b19d4e5ae6eb6f9f398aabf0d8efd0eb92bada6997eff3f1a637f1b36a54891c28ed05332c751dd5b4efb754db75a8cd5deb7c863e0a6b55b05d512a28e458cb688d8a1cb8f3b673b4da7ac0f89031bcae4bc4ed0874bedd80c774995fb3d5726d96335ed318b70f653f7fb5722e4a382a804f5df97fc3778fe152556ee779073c5cf22d03f36a6af421701a285c14a5b21f61b4ea69cd6dddcb2c1bec9d2b202fec4392238f06f73a63bd5feee13f966a0175ef88b54e7af21c3f60fba231089057e2fb51dd3c4c982e90ed0f69b2334244a67dad4d86c80ffdfd7fdec41940bd34649fc86c7148e5767ea7b483ccb1e391066066bb219a21c0b74a611289546897f822899bff6abe546f641735abb732df7cd55b2d4f3e7f2ec57f3d737b3811385ef00ab89471f7012e9ce162b6b319d98880d694588ffcb8de2605120acb4b6e01d85f50c6d3896c97da1552dc1e8bcd8d66b5156af8e54feed4b3a1b44f4abf1f0bc7a56af4099f2dfbda1dc23958c2b8143cf390762fc38d258bd17d62034036dc2d365bd7b6a986efaf17941359868823f0ba7688f8b0c888fc78e2f4374cf23122e9f099a751164a0d710b215c60dd9b914732f8cc152db8a7b7f5a5348603085dc8cd26da390971474e51a8bfb0dde3f957e76271bd2684e18520cf6e9fe3cf2a21f2af68164608c8d40acb081598d23c32bf9879da4862b4e2dc8639fc6953c0291eb944c272caec279dc4b235b3fa13f431f64676158c08129b4bfd5fa24d52a4057d0d05664926dc9af8dec2bc8939e1ac1957e799df49452e251ef785aceed4a34ef985ca10190d8f0bc174c86c998bf4bcab814cfd5f4a06566e775a801f6c44cc3e2e8701edf23fa3d4e53384c87cdb8c210d213a6466d2b6429d5cb116dae12fad2fe794870a50f461a1192778f29fcd4d32bcfb31341435369a50f36a724e887634eb5ef69f432c5f17dc994dd9fa9443acf96b40968b4761e9418fe5319d55eac5228c4004451f92c2f86b2cdf9f18734d55c76a642ced91325298476fb5947ecea998e9952c9b16569807b13d0b5cd677024153a67a4072cfb9c19d4abed575b8a4ed8a9318ad938317cc062837b7cce5fe53490d3a861162eedf946f6369723f7f33d69f41f95c37bed8c79054d80c444217273e5d09cb290884f1bf794b9ab7c1cc722660302a9efe0b886b84d288c873d7e49472cbc2994402b154dc8651cf308a51e0d568d2848fad6934ec1edeefaa722c0020774a5ebf1627f54d467ff9e53cb95127f1a8d0cf46be6698ef6f520e280856b171c3d0ba2fe68784edcfdea546460d508c0b364f859775b7b8853797e1d741e304eb779a58c162f56a050fe03609bd934988f3741e9587890ddc54a19d4e9d282d0643272fa6ca43cfdda88423fbac85fec8de54c150ea0584a3a0433c1a5eb1a6be16c4de02e6d234ff7c292d2e2b5f9453f18d6fea536b4704441e9d3367102758122e0d5ad86830d15727f36c04ec63d35245cb4c5e1024ce173205356482e7679a2c4ea79b78b6035dd912d6bdccd7553eb0925c5f5b73b06d943fe731022c48e21b4d51f01142a0e11c3c12459a0917ca967cf2a15ad4c9330288ca9493359e99bf50f5871d10ea96bc3d1433f0a521af8b819bb610c04f606483790563a8ec87d48f9e6b9391087c9831257f96542de18be1a947c07b109d5bfb2e68cc76b87a7edb2913541a184c987a7266ea880c88d2353505fedf0e1198b3b4aa1a0dac18399adec17821aad1eafab126c198770a019a0b3144310bf155a13063dff8b6ee6c48ae669bba4c098636f4a92bf4d413615c0f4310a37972dc9b28c10ec5764add991121a0e36415663d470b0b2cca513cb3ce6089ff895c66d88ea9d6a4ba41fb75b6471c4777b6eae29d32f92170d7d765dc24f2a65ae29c4a62d6c255ae3cd5243b0f5710a73176d692e5300e1c52e3cd590120c2e966c77a432bb39e2246495db1f518dbb96c9ecc371a359570e4fb04b6e668783b6536ef97225d18f28ec601c68973e1391434b3cc14c386fb3cd10489953e5af65b97806749e8c07fe6fc021ea333df3c7aebe96d956f18d2b42ae317508da9186ed5841ebee94e7c5d4014af175785ebc08b6bcc647ecddd8ab41a9706ab3ed3720f64d27d2508311a43de69d173863b5e7ba78b1ba97a8fef2dad4df3bf1f4d79f859abe9d2db961bddea8386549f5686372483676d25ce03ae0d787b84e7cdeae7ce4101c7f479f2147adb3290bbb42d2dff3288efb24ea3f328ea93f99c0f0046373d349011519a289600ae545747137198aed37d60625ae38d8f349623ba735b758a7273d90e15a9a5ec98c8b51d05629a963f81e4275ef5d395874705189e5d7abd353937c287f1651c77a91646114b4512315c523af46001383d7806ad64959645b9976c68cca7c1653a74d402a0abd101e66c92336a27e821149e3e10e347d03890fd9662f5fb7b77e61f550698d6f2b867e110104b16bedbee1e1562a8666b069bd39dcba328348505083ec4d82dbb6af4b716f68112f9273c5b8b928c68070153f6c6cbeb0373d9bdd9657d1ec4d8cfe2004ddcd29a895c38df0d26922420d7bce574ec4566157ae37d290bbc892ed1d1c9e2975db2530c0f7da85b61bdf3221416c6663aa46c51a5bf55e4f1fea4468d49f06a807a43145095b617275dc35cef4145b4c2ca826b9ba1af3c300e56fae197919eb7c352319f0fc5c95037105f893e3c569d65bcec1019afe068b47af85db69e9f80793dae47b748df021aab4a6c6b8feb6f19c5ef045d81aef6081084d325910e983138fd866008808fffc6910d8334432f1070d4b239cf8f825eacfe44b64aa7772df05fa896cc5b4dbb5fbc5f9315256fa9827820e353f2c92d53c9eb64e8ee3a6494813af6ea1fb9448570d337d5b8bc468c31a0914e0116392039f0f4bed0607e468670244a1d00dee8080f07d507b4523c1d23cead71fb36982c5c3c9b449af94ac134502af88774736911536cd4c73da7c3d2692d04034e67595398fb0eb66b9eaf7a086e23f01b851ff502f4fa852cc5be88bc8edf56893ff70c2e0855d39dedbf21df019ada0352daaadbea3327803305c034119062d9678bb2d8ca0b169281a25197847b005bad180e5b8f8ff51181ce37bc4c8bbc7e73c6c49a31967660a6035b94f0adcb37f7409fe63bcb64279d02dc98e9ada63a571222b3ee37ea781621671262385e8c3f6832cd96e50f4af6c14a2102e50e7d49884786ef9abe759d48ea7535044aa582695bc7a7eb3ca94c05dc64a251704f17da89802c5e079c8c7419e4b584290b65da676dbe551f421b98500dba13cde96ac6d9696e80794d4b9367ed6048629cf3a79b57e8b386c63c1500d9a13c859744af48df8d8032c03175f637869062c748b6f2c8547e7dfe565cf5b5b7abe2d495730650f8e2a56a2143da648110fd86c2a75a2aaa81d44c37d90be6446136146ccab3c6b7963cc89a694cf6e41133c57cac21234ee427e96d2e00b502b83d2c6725c718180530926ce911e7685745727cf30955c3fd9be211f2c0524ab1abaf37aa761aabeab61a43eed953775cbcfa4d2597e4684ea66d1850fa9a3dfbb69e53d6f4842db291d3f65c2c68d455312831b8321f3b998ce9f78283492663cd14ab4ac37c61b445c1601720b37fef1e6bfde2e43f7beba6eb4b99bdc72700e35b9491072ae4ca662be8e864b40afb3361957d4583dde2117facbdd5e03e785a56612e5419cae8b4f27d375fe4c62702f1719a1c3d2721251cbc9fd5a1e53524ae31a9149da050ccbbc428be4e2d212979cb884f095a6662623d93a3452f2f66a259986d63d75d15da7fc479ee573de372eaaca8de2890186085018a4c4a8c474b18858ed6fe593c9099e18e9af50aec81c255f5b8530c25eb574617fcb227871bdc0c157fda6b72bd5891c7401b941827578a8c5f30facfe5f6fbca996df19dc47f34998ef490774416294e3a18486fb1691ec57fe8d6244366cf64769dab2b1a175ae5ec42e30d80b5c79a2167a228febda32ce1523d964ba556bbca13d18f190b6721e5a3d6c2a73ed8af693314536b990789a25bac13861fc1da43362fa3d1c839a902146fa30997fc5bb818497208a5814793d531ea2dce768a713d8ed92cbdb3a5d00b65212f077898b15c44d9a6dd6d1a6a182926e2490936c7a9982840803a56380d08553a2e449bb869b6cfa4df614b4444f8b5a96478f2086d1a93890635d4f625fa4b7b43109185893d356e415518729f65ef793e87e18fee17c839f809c01e9f5772aa77fe296062356819481c1dcec199e82029d2ad513673404771da86635ca39f532705baa57a0467eafee582f945909405626df74881dae45379726e17af7d77d2948a328cd042941029c2f3a37c04a5d8f64ab4591b7b2c935466d5f0e75799e53f6b4381d2eb42cbfebf3cbdb5f31cb2089abc91cf489a4b383e4d777a39fe85ae9ee75ea5a5b7a31a9d3d5d400083c5765de51a91952225a4178f020ea61129c35128d19b70e94049e1993fc36546d08b3f52ae915e1fb76071723799113cf46ee1dd461056aef0ead74e4bf7e0b321b0ab6ffd6d4b5b6a8bc784ca5ccf7291df9de764535345d7435ad8184ddc9a82d8575c2453c5a20c59c32d508c1e3d4e0c71ff37db3fdc0e109f39a4581c48b5c88814899d1f571b12c89efee36180a63403444ecee9e94fd2d97c6f1284f4e4ca2317cd2e120e4cc27a2995cda7f4618bc85755008fcec80e81774c36308f59a2946fc0ac43c073985eb7ed3a5204f3c76e3b9531292230a5ffd809f8658f87a0108d99ece95fe5139e65d325843a98187580ab276c23412950269d7a2ef7fec0e6fd173a302edac49d42b6a104a57d0075301b6a445b2ca05183a72d5abef0511cb9faa72b95cced136271ca841cc265c5a4ddd2bfbfe6a423c865dbb478d4430f82ad4dffcc674f0ebb1370b9161c3a151f650c31732edf3448e40babe5dad393e9d7b96a07eaff250b6600eaa004b29aa570e938bcabec924948f6ec6dba2d7272a739006add91af67250a0ba2027e9d4c3ae5215aa4ed59003f38ae591ae34c2e334a8ff0fa67ea939981aaa69d9a403d3a4c8972f88029bccb3a146bf340d895616198870655edc1408539b310dfa91b7de89239f72870a92fa4237ca4f8b6083ed32caafabd64069dbc4007f6226a209a8f1fb1cda7e51d75b286719657b2748ea7be28bd3efc4641cf9ae3da14ab87b3a1b9d752d8b51f3d787beaaa86afd91076916c15135232fa00b21f510f821e5e3c27c9e17149f6c351fdce8edb95c4015b0b2bc48a9dec357ce34ace19f1009c5ee80e2063c894c51aafabcf71d95f7cd8c108e57c9f243036e9b132ddd075297a65a62714f948e0ad306d8167c36e3d04d3be36777894713b53197de0525d9562d71a85c96823268260e8670f64a45ff496d9cae2567b1ea8470d0481143050b5734a7204ca98f34833510995d399b404d24744ce85aca13f46e8fe29f30e4a7db91e77e2d2c0d56a596425200bdb06e369ae76895cdcb7a98c121c48ef735b3d63e6c0a4540d4a342d8475a6449962578da8d0914bd18dff6069ad426ce0317cf3103feab69d5f8ac9a042915e9d7d9c6ce3a55c0a67238752d607e003a1d77ecec083e9988797beaadd445ca6a7dd4411e36b84dee60f4add419c3ceb9410beb3a1338eb5e869b021e02fdb49925d1a56730cd469d8407baa3370b53f4df5d048e4e72c209c120297541bb26623843d0d0c150b960d5fc11a4fad2f6b9c9c0929009cce9b5e2b7cc2a816028d3bbd1c5112523102a54a3d8397183d4d3aa4db30baa0e798271c93c963277b292dfa0c670b747fb97344e0a83e091c6847892a3da0760c0fe7b33de6634e2e1257a6320619732702a20405e1f5a9a8449d1da5f697e0f6ad238d3a728cb48d4238414d932c3a85937c3c7bf33fe2709787a90f1a474ca87447cf85d08968d23d73ec64af6158f9eb5400983f6509f7154c041596fc499ea00632a5495fcf03330bb8372a5690863e35f8344f197ee31c02e9beb8838d76a534b2464903d886053c80a386b03ac9b2f6eeef6a65f27f1c6e82bfd016c1a3cb9ce0ed12a18bf091553238869f2f572806606e894895de541f755b9cf61e41601530d5abfda98cbb2acd7c73e5290602cf11f84f338bc63b33e2a9f679fbfd32b8c89f5fd1387bb4d47dbabb1420ef4aa79eaaa34e0303161ea5b3c8538b8a85016747047a9bd4a9a416ab958943dce24f885d00727fd399f4dae5a26f838e8676b122df9d15bbbba4dee881c290c549504e1b694712e98faa160384f70098bcb4500aba3551c55af8b49152ac38338f8bda9a05758c2a287dc79a6acc448b87066beac95b89a35353da3bed3a67edb5ab1adc01b004c19069bf19b43e78c609c709ccdf42731f2b32db7c29c8b1e95660f0731863980fdd9c629530f43457827ddd9723b2dc412afe9873edf2bfc8a008818b0ee888b7b8a3677c3885d8652fbea0445fc57f38131e770b49df17a8fe1a301a9aed594400cd8dc735bf96245b812c15cadad36ab32a8be097baf26a6ad619402dc655be0d23b6b54a022677106fbcbf12cd50b8a8a8995dabddc65c088fa380abc0299fc64a1ae3584fa4d9fa55313920584980f36a32befd29b1f133d41a39eba726ee237b3171e79787f0d58c4bd16c508829964ca819bc6bc150177f6da63967d8c4ec7f5d62962d76b3b4f0059f05b739331cec8f98eca3f2067129dc27d3f4ead0f56f24bf75c008d14631a87d95d9a3621a559afb00b3ab33f42e9a6a97a9242ed2ec2e8dfd06e1f8661d2ea3daa934522615a120ee50d63a6be9f9ce0a885cb085e8de8734d7aa8a3684d8890940abf050553d08615f71adee450a51862166b76c0848f56912fdc004da75e4833f37c2ad788ba17cedd43c56784f4571b49c2f060891293b0484189b7e70cce719ac1a25986f5875b8eefd4608c94fe0e049de9e8cefe6d1f8b27313f90de71b035c522c3103a9253ebff6ef2c106fd1a229c6217cafece646b2c89086dbdc695923daeb5da5806b457f129221403c27b2838c42ad728062114cd269cfa2a37c1eee7fdc2c8f5b672b358d755d408f7c4666b0bda9a4310153ae2b6c24d4229cb493cdb85a7009c1d7e57a1c45388fdd145246626196ff64cb610e3be72755d3019955aff9d6f0e3decda3d35992d522602421812fd23bf85723bdf2a523b63915b58f009bf5c4428cdef674027cc2d0313b7bfa353b1796e2168d6deb61a1899b039c71a369efd865bd014c1f9b9c3356a38257189a2ac1380e09edd7d928adb729e8020010e6772c18c915d6efac10e1f0e1e232a361083d313155ee3d680460385e0ca5c618ee0d30d3af1b825e115ddcb1c27b61ea692d68111f5a0ee37a614651b4e1896fdaa51e2eda3c02694fed7a2695e076d94cd74a4b0a20e20ed57b5165c02f8707d58a9567788084d01fa6f0142dd5c8f8d06eb6311d79769e33a2783fdfadfdf591565026bc3a102c20b86bd101aad2643117442c58fdb62c5a336a4196e67c8ad3df36babe81826a7d734456ddb326c9bd29dc9ee4c75ce561b94f2f689ecae847c06e186d200c3663571915be2195cc7170ef815181c3ac7627a280f73cce2fa8483a96d9b529dbe8b18f94f1b6169c09da610b253cee329690e611267beb207458252ae9a897d51a5291a2732082dc7e7b551a6efd620a00f4e052768019d2b5715c0ebb07065ca2201d3cc69e125fe9c1e3850a45927eca3e65e5bea65a93061e7531dc810c43e6f6877de091beb0a4f4ddde31c59912c7d0e2e69274fe43fd03d5257e8d86f546187e6ade057141bdf9d962b597bacc907acbce01e4611c3f0a4d3235349b6195fbd09f8a696b050368456f71c1b969dadaba629bf609b08f08ecd3a6790a941c6f359c4c2e8739aab9dfaf0b67c68c534bf6b755ec237d964a193e3db4c00798eaeb3f601270c53dd85080e9e5fcf07406a0b13ffe224a909c7fe5a5f28f00892149ca731ecac866d72ff9534c4a954e65ca39161c32095e3dbd40f208e78c15bf3e8d0750ba08111af039549af83e32728a1ee7c622a470cba9f9c3a4e2aef1f64e54fbe13a9ff4e412b3ce2719b834ed851b8e2859ee123052ad1ae057489fecc98fed0e56588ee52478919659365b36ac2fc78af6bea01ea18dc50b2ba696a9d1d11834323ea835d6d80edfa108100756ab1d103d4b825eed7b083d4238c9a024d9dedc4d39cb32a9cab4b712c13f9fdbb761347087b97540576271c45284b93f40c04472883b8c2fd70cc9edcb15237ff15d90ddbcbe031b23a295f3dd81120067d40785c86cb10eec2984909fb41863a041910f3e0aa70b1662003d150b109ed6385d375edd6ff3130f93118a7dede8956f1b9e1dce33ab29566280dd43ea8f1c6b3d0745b09a797099d771010f800b28cc644c710c81e62ef5dc8c7a4d0f9136125cdc88b55fbad74d2797f839961f8004c7da2574205b0b1b3b607ddaf23d1cac45d5ed2cd073c9dbf2dd4d5c503af6ec7c9d91d62627ecf62e4796f317c025fbe2b97f611df1973a7229ac877993e71e2c410fdc0f188f4fb390dfd78c556af93587f5f161a0b082f08dc72871afedba7a4f9240e923a9608052cdfb30a0f906f225ab1c72fcb02fb0fb25f06af07ca159977c6f1a3068bed0ccf3027a4f7c518e0d1ce8ee9f94e17adce851ffd902d9df7e861506448d5c4cc218b33feb8b7a2525c6a420e6b5a9e62b0e23497a1c5b0d32df8f8fb4d6a0fefb4c4f879ab5a3c63a82c645f98cffee1bf2e132552c1d7869b9665640b6e94c64c46505062f75dcc5651710f068a0335a47b5b28c7431f13545425f43cf44e5621bc185c528412d2e3fa9f55920fe973c2ad67fd498a6868f98371ba566eea14683a1fc8a6c4c0632d20105c103c610b533c4ed76393652f0408a64255337581ee3f51ecab3e8ad4564fa9c4441d5952978a2a7d78cddf3285ab92e121e4375c8f88a531de1d582b289cc5cbf73ed779d2d24f4165bf3cc96d6796dcca939867483b51f544232cd7e9645ecc7244422fc105a0ceb5bd370c8805b1fafeafdbee2ac0b96f8cf869b845dae63749ccaf267d4798d265bb2864b2f67b7c9d42f9cb60941d73324f57f462fef9f66307522963483c213b2f16f4f924a297fb82427654fe9824535eb8ccc356a6af5b2807f46d578fe7d62d79d88f5e3cb1d59d85b3263ffdd060fab10b458f47ac4b1830c85f4c92c71770471a9eaa90ec51c41d45150e370c5ef2a68b5aa479dd0d097cabd14716282c9c26f9291a89bb238f8d0eef033ca2ab2490acaf80133f78242e948b70fa00b8b50729c9e348aab2592bc4f404538e7b8373e80d29c546fa5057ca583f7853e34c1a63b569d332a9c44fff3a53262a0eaa17d4458d06fce2b689d2b8ba6713c47b90cd92422131f251a6c0397644761be7fd3f5457b689cf5ba55f6fa5482527d0505b70650562c644f5de375f836bf0b3c6f15415265e2537302a039881af6e07daf762817ba46f1430db2ef018cc5814119a1981c3f5e2325029dd6c8056576846104af4e80dedea7870641b33f41ab8ce9913498dc2ecd5d897865aa4a5b5e2e97c0410a41df6d75fee6291ee4c020b6b748f528ff9318c9da51741d5200b22bb137e201ee70485a8713ce69db0e789f5e4efd1bfcc2b39a2cd0b11ba9fc8a40617e814b984312653024b1e08f1379cdfce373ae1641e1762160ae3f6bc62f51b2ab90f3a3f14b31d45225f3030c382599af5d385ca13274015860c5b040446996ac8659572b4e9952047ff9c85bb493681787b2808e805b16adb1db97a8b3c516f19548a5d4c7535e0245f559883a5b97854848d487b5bcf23fb2778795f3391013575315d3d9c6b9db3d544d7930bca83502d249738aea302fb8c4a066e904ded912c02665402e1a3d90b6aaa6830bec412e8b790ff0b57dd3b36874f750c4128856fdaf4c17604a4bda1829060a0b7632f94dc0ab6fce260cd1e58f61c11d746d9d566b1e2e8da37e6752f48bcea9ea5577e22892b379aff5d7b7a7cad55d0ec19d9df4ca4fc6e740885bf2d77303052b6afe351c2bb4637fdb4b97f26a5d11a3753a4d7c844121f4b806793fb3f69a7f612e123d77314d73c427ba6bc55f620f745ceb8f86515a26352065d75998005d5a8277f7739dc8fb79e2b0ee757fc9962c83daf29b4d358b4766e45e8264f6b87d334389c4b75f85345081fd32142ab31221371720359b6baa07ad042f5259d8a447af7ae2ca6d04ed97eac10c5e518ff5ce3e0feabc6d82ed95e4cd49387ec8290e7268929e420c48db14f3fd4b5767bab45d90b4d35ded16924d85a9f927dfeb4b7560272bbf490d488bf049e5d350b0cd88714c209272d71d2d170a30233c4ab665264600e6255536fc5e147a821dadecae785ec0cb5adc231019399df8fe6da6f5593c76e245d41769b64306bdf03a2381436e6d164309fccf7262278175f5fa91b3dc46ad4f11e607b2ed45062e01bd7ceba323f3ebf2bf8548d7260baecce55e08b265bb59ad1c1c70afca427353453a3ea7661e9f22c6a6629728339217aec44a8b3f53b53d5834fd34f0d6f1f4de5988bf9aaa351dc47f90194d09c00bb91412bd0ae70c0596b73dd24547dec6063d73460d96b628ecef480f8005f37bf36787b11e8211433abb17e7482efe8e7a3450fa60d74c27426fb72d9a3f36954213fa2c4a393b0b6e269cb735203889016b0cd8b106dd361847ac3ff775e66dbd5497aa863859ed8899ba9e1d7a2c24b82ed283197a7453b8008fa43dd880c29c9764b8b65b2642500389630b4880015e7848f1c0b1eaca6b32bd51d45b9c328577e78d6d3e81a599b968700a22b6b6b15509ec6439be99d9ec0a4ed0960cadecbeea933a449c16d410ce879c4d46838d503e87b9947197289d84d59ced1c3c9cf7cff1d4661e138d7b7aa4dced16270198002abfef25458c9d54b4d43ab8864e0e87a09d2e24289455758f09eef10c5461b4994ef0e97db7e77daea5a25155f4604e9370bbc17c2e3e72704e25195a529d8143fc0f77c598c8bb4b573a19658e0bc5f2d7c68bf61cb828a9cce25aa825bf3ecd70f68a2a7e0047083c04250b7f726992685a8a6175fb5bc9ecbf3227d8473860eee4faf9fc665ce9cac15aa9e2ba086c18f1643176b6f171862ff8080ea508a1f303d5c039f863881c3201b5e96bb5295264a59ca66352eec6067bb085d6c2997442149b42cb8ac0f1418317e7402214cc09a74e4394680777f7f299177ecf59d564f97a1d1271aa9107a4210c6ceaa0f55f747d86ac6a4846eb5e7686f3b38c94b4ddd4b8577c3faaea5d1cf32ce95821b63c452e6c8910012043844344f363268117a7e7b8c0e824c2d80057d44f0fdaf46be70453c18969817430120e452fd658ba3ce0e6efde320d924dd5b440555d003a40945fc31359cce0da1c7517a4e354225409c6edea2585be45d9612034d0baaf16862862afeab55ee873c940c700d55426d96958be2ebb3fc846efadb1ae1442dbdf93ed097dfaa3f8b45a1d65c0bbff466586af70d934350a97acbc73f44237195ad5d121072dd1d21317014a8a3e6e84c0bad5ed295251aa92a20a5a76770d625434ed2a538862ce903449b059befde4c37fd0ddf9e5e7fd118e21a72b3052805789c6ac6dbd5a17d831aeab041dcc66df8317020c001560315ed50e56f74bf4ad650202671afc0047cddaf3ef1745f49135d1d52a275e41b5edc31a3bbdaeb1da05c52af56014138698cbd6c5e92721bc4aee2d74a49beeadc90845a3b25e86e47771b29eb3cfabaec8ff69434851945f303b301f91aee7fa3e4d2e0f382c3f3364cbb98e2ed62abe12ab1d52658bc8dce375d8b5f663931a98504cb1b57aaa737a64c5f6bb48ab2707fcaa8ee5ad9e2ad52bc4120eb47463b3d0b8012b197c142e5b00dddb374ef920b29d901b2ce8d7bc92e1017cba1b66347e1e4a12496f6eecd43b7f65e9bc82803c95facb8c23ea39d7b84a2577e4ce27d54607ce2cc2bb35603510e685c91c12f62994fe4072d1fc227111a13e1b3e4ca3cd636d2c713544330136660771a67f4977b6a04b63796f6c0021d93d198b92a612dd8d3abaab11ab69061325f7b31e0c8dfec14da18fb9274fea7e52b6c2b032875ca0fcf0ed9b2fd8a8f5fb0dc39bb940db1365a83165631e83822a59667f96511deb88740c2660f0bfdc3d01cae29a5df01701ee433c5cca1ff6011d9747c3d80efc1ce6941ac1e1f173bb0153b3fb30743d0c13c48b8e560467188715586980b1bcd4fe99fec0ab0cc3fa14b30e34d14901118d4d1c430767cbafc6430b005f78b44077cde4d4e5f7b9ba95f133c18da6151e486dc8510640540c8dd4b03dab49d4c91bfb47fd6d29fd8d0c4985d88da7a677c8a8f16377f21fda49c173ded129d5215130f8c89d896f4dc3bc7745b0416304912a8a845234c73f0ac3f8f8bcca3ae7b85093e5bafff8cffd53c4eb63ec4343c384d235445874d0acbd6e9ef52188d7a96744662a9ebac11b0dd85310eac30c9fe6da31c031c6ee9c50494010a2b756bab1bb5a382132e303d78a35927bf8b9a3c3bde2a674f93eb41709b96ba3d293885816ee3ce3d7214f46ddb833e3203e37fc1ca87a2ad69c6ece83abaee2480617475c90e8c7b2c87ef5da39190524b249b8a789238c88eb5f0b6dc108d11e9a71ec23cd21555a4c6b644144b07c59ef6900aa5e41720f468cef298f919bb62c8dba107d261206e1f165d2a59b95f705ce044b0164b51bb0a6285566b41edc0eef9c98b75ac0ab12dd0f5f27e17af7d514ae339c12ff88e680f9c2efe45f52c285fd5e296dc2e50adafcf47029239faaa8c6efbb72a1f2fa1528798378a0b334dcb89767d0f19c5e1d26847260624a5b2b4ee0e5e8bb58c73fbfe83cd9343051c9b5e071503cf10f58bb88834d50a60c758dbbd0998134f4fdba716af705141e4a65e9f3d41a866dfefab9ab4558e3448026209000052695e9b631a71e597dfe4615277c9d0d4e41d92076b5932ce7b22dd7db7db8cbb77f362473ffe4e9487428332da733c59ffc19bc042075c3d5c1599e0c8ffd2200de9795022f4cf83ffa5629da46afafb44cc9f941aec209de4c4034a56ba204e7e061f8e690ddea23f9ac2dbbf95a5cf1569a2569626988c9397ca2ffad388f562a25326145a5f1a7f652fab04a6774cae7396d7f376664895ee3171c0468ac29102710e4dd755576ff137fe392d83aa2e930c1b6a1eb71d43b50ef1d1764656c63a00e5dee8c471a716b9d330d6e20bb4b893b4cfc8cb890155c339a25558efd5741c6d3148992d121aff885554f76fa67c8549dad1d22ea4f31f6693eeb9db4e02451c85b34b410952d539bf59cfbf460fee733a4f569b78eb18420fc93f0c2c5f19644eef9c891455d43eff5b5b559bd67647044433908c6ac1c248b55a62dba160f5a9deafa0f0d1f483a1c7cdd9777aa7a167bf77e554cf6086f4d91835e351d99b71c731938c8bb41a92c6eb715723850c3030451a79a761cd10a0999bd414e69a9394a606fba69275e7dc76c61427d117eebe471cae80e8a2ee7fad5c1dc38b2f737030fa87d3374c5c0e7cdb77bc6d677e69519f8b2be687b8a1e789e4c49d797e084e9796b5301e86b5a40289cd0c3b546eab98312e7d9b60dad164211133faab018e0ffe711657b7244090288af294d5dd2e97d83aa918e8b80717478dbac76f136e0415895bba048cafc631a683b0955fda909b0ad0ab47eb6c391b348daec65c5ce443aaa3e07ef93b140e201d1191ba54973fcc988c553630e17c8e083a9a966cbbbb22de7e327eccbfeac7060d0c7602ffd79e8ffeb96117adb5598d9d8fbcc1d02561f1e54e0011982e793bd40eba7f28e52b98292f89bc6df615c7a01423c1a1c09ed7dc496d09670ff4c8ea90841651c2e7dcef2e8599772a4859cb0aee790bb94b1f2d792881229507ee31c55977213fc20ae1110ff996281468810ae7f2b003b8727025bb8359816cc91719781dd5fe409d44acafde35cf50d0cf90af41b7c48212f5796d4e6afab7a09faa6111d82ec07af43062cde840c3352346f50a37c0e54b44ec283abbd028c1a4c6212ee204351eea286be49e8b923c78c8bfc90ce15b9b3fd4da65812d59bcee27baff70f9723c9b676c4f3f9a42ef62d885b65f085ddb4451438e0eee6b922e41c87050afb6b7fca4c678e2624346ee46678835793b4dbe4c95b83107b7125b815b4a5d84ac84d0ff86b0730328724f95e9c1965e8403f4604f3c8a189a127f578653de789729dfe7402fb99bab0aff3f5b3246ddc96775c4048f86095919a4ae0fbf4a9b27fd3a3aaf173fb7821c3377e8d0f0306f23e74fa2bef0fd597012c7a61552724e51249b566c0ff7b3a422eb2e3a02064aeadcb29d53fdd398c707ae289320a4b77540f81a9f5360b8676392e319670379dad237b5f60ed9dba1a8585022d9b782cafe5123f06a76b4952e0c6bd851d3c7ffc2d6d035511baf1330fd78908be32ae7f15262da0b6574e4550a85f274f289f01d64c0cdfbf82e8d0f43bc4fe1a8092c201d0a617b88ef4041b2a95ed6529d0c07d24064670467ad731e633531d2ac2c744263f0d1cd88a5f81998a0df24d6817648743861814e48c6de25873382a04245ffaf2dcfb0f47e79245378e2678c6f2c037651369459e12883767e564419e0c2200fc459e71a9e4999dd07afd241660377cb8f2bf5ec04a0b75c0487964fb444cbd02df4ab0e9458a915895185391530556b190161b1703a5ae79dfccd5ad3f2df557392e9257698913aae6d81d20d50b318ba84773c782f3bf41695fb1324d5dbaa152fba1d842a6109bc90c82887bddb9fc7520fc0c796eedabab3cfbb9c0ad60bfff9adee58108bfe2ad0c5d1e87633a2696d60bd79c7f76beee03f77582dc9c57b2b2e74425dc6a4cb072e7855edf8ecbcc5ec35d5b2f95aaf25151f91b7c653eaa9778d6b50119713be815031553aa4e1289fda58eeaa604c6f51bc8f8447684329d34a153d71221c06d7ea160ab64c5a7d79fc4e04417483109d84738d1547cef893d952f160f04d4fad90271f2254eb648249cc20d77adc0b2e36409c0e31e538a1d48dc47b0a4c085ba94f5987b7ab25a805598e00e9a137a230db239cfe0065a4bc4da2c83a098245add0d74fcb1c2efe631aee2f6c9ae4a52a138525126f122a5c38f0cfb50111f2330061e98726138a898c1569def6b9785f0e9c022069c54d43e56b83aa2f5ae56a6bb523087153c926a3a91d2c28243459d5e884b329bc1d6e5c3de418f8000e7c3c80cf31c1e23e0a4c95ef9f11bd6989caa26eb9cf0a8c88b8340b67e4b999878ddf316ad1041851ea7a85d43b6d38e3613d05cef172705aeca7cd518bb72cd22dcfe95441fad1acec4848ca81e31c5537f8961a58e239260c7e39b63a8e82dfbbd356c20ede7b01db7d60aa323df9a09172b18882f308490b8c140c96bd4044438e26021cc5744f511b8d2872e680cfce7d883067e59fce720bc9cb356851ec4b575eb192dffe0ebfb0a2d1a0bc26d48087884cf24be230fc5e394014663dcc11141c7c99c5121fd37e40ff835bd43aa9a1d4973a004ca38c118b4c76e42a18bd7cec3ee695cc8f5b733ff88d993e5cc4b5b8a0bcaaf4db82eebd5ac4150f2da4329dce871a1372e2caa0d0726d0af328d83da58c6343df3b38150e5daddd1737442798b01dd35a478f9bb96f0b1227b30ac6daf90776a0b173c6f961742e1c042f0f8ed35af04498866ca2b4cfb7bc5569ce86a8f9e48217135ab8559ae283ad38677b229f909e6066395efc3b4d12696969451ff810dea7fc47be8da6dcc0cf3b2c56c5c9f85ba01e26c1cb5b055d6ab230aef53172d034c70edee72584ff38344caad4d5e6920ea5be0b47524fed7ad9e1ff5190e6533a0c661f0fb49258c134b5f0175a296211b1b599f81a44be616f2f7ee399105ff1fa850684361c5f8a1734822739be2730a658f62be9ad9e89a51785eb9afd8a2da8183376e116b2e66d90acdce8dac0796132a166f0ec1a88b5252da6c52561dc9b9b321c5a05edf0aed8b652e8a0b946907e8ecab4ac9e1b425d7d1424ffd9c3ff97e0451841e0d8f3227f9807e5711be2a486a6bedcf6fe365a1422879c007f796e6b53beb5660e5249e4928db6a6adc97c6e1e4562d5835c6e92aa3d14ccc2f3b6c193a7115e57de5651db20ce3ee22024dac9a5176742068d9184333c404a9ed98f57a5ed8e5d73d2cf593c3c9afeab8a4abb6307418e85063ea8a7a552b379cb374710b924cf94b8dc62750368c56d5488708b650b10ef54930a6b9d6188c6eac318557035e8e41f611d28dffc50cd7a46b95015851249617d3e8904c3a2b39bf290b86bcf2016123fd3747c636ad9025cca2a5347e12b86e44d44a461fdc7cca4a46ebed04778afcb143c344f115bfe0b0592965dfd34d52a91342d23e155e1b28defad36b1247c25a09791a0eb83ea3374d858990b3496f3907d2560505f3b68849e201d0eae93ec00d3c2a4a9cce7d4ab41a0b578ea5187bda4d39bfc26949171dbd4373ddf7b19250b851e3ca347e5e7cd242032f9ec56d03dacadd998349ce213dece9b182b07c5ba8c14713a21963d75ec2f3e22a1ec492e7c699e5d9b3afbf101a199d4654f6e7693c367e0c81aa3416a6c4e034156d9c2449b7f0a8c0a03c44259bd4a65403869be70a258c3891f3e9cf4da25217f0da58e08ec900213875b3dd7a5515b1a51083d7bdedc753c1a4e56ce4666f464b578cf5e28897fab8ae40d511cb042db9ee74b581f8ed0ecd5e995175be6a9407c823a5d6d6948d2f13246f357d9500858eaa4b474e0077062b0dc5b3603a01cba54306a15ad57ead70085e25340a9a60e28821375afd7afaafaa0acf8f70be7fe869da559da9fa568a616b055b63d629b787d41f4af500ec30e83eeeea6bef2e8ac2f3efb35048f355a5eff4f026f0225f0397161424d615160bf16c6bdd45b384a6520c9854211c904d8891a7c6c8c095c1ba93c58ada1a0ae622981b0f43acb2e18fa36f44e6b961413c6ff381b5acb0e61161c50160b43ba90b1628fe86c94309e2fbaf059a2f7adb03282a223a33b9e50c110b4c21631df9755fe817a2869c0120d44ef4526fb0dbd4ca95cd830ebdd7e7f13a9f25c0af3e2e6e33c657623078912a245db89f698909d6dcb10692bd236491eadfb3b62e2957c001f952b637bc6188aaa02abca084e2712cd9eb88586a04d83d81c589c90061f1e63e6eb60e967fc482db362edf4fda3fb6b8f1919b63d6789d02a0014cff679ce60c667122b00c56eb15480df8830ebf0e19120ff6cccec049518a82caa8644d442536d450f3fdb8aeba6204406dfdddea3e9560e8d588df083dcf9eae8985fd4edd4ba769a98124f6b58d6df44e4441696e126be6240034334db3f5a537aa63fc5def663765825bd7acf0cd4f38c207fad910393859cb8cf1b5611ce11ecbcea6fe49a4a121cbd4ad21d2148285f1e4e4d14249d74593bd26f21fb32d9254d81022df0c9f79457f3f18623321d7a046ad3a3337175758dc1a00c7ad5de65ac4242fbee9f6a8b418c4336184139cb216b0920cbeba4a69eb5065baaf59ef17a1ac195de23df6e96e051a4d8e239abc232f3dbcb78d7d7e6522fe064007dbdc47b306b09b1ee441d2d8551ef0ff84969f4871647d9a04cb9743fd3a446d9ac3a83716ee7b0c29cade18892b2de8f816d2d27472074684f77009ccc6701498bfb4b2fb812d9a85da06cd77ed23cae6bc8f051384f3abb995cb10e929e64fadbccad24e5a8be52aef5cec920a6886279d6a887db22137ea529b84d44e85c7ac03bb4cb21a2e1e93e1645c2151a2db24dd5a8a75054b2a509fc4f9db597d742053dcce57a9f4390d788064639a9622f01e2c335a4542b7f9bc14d87869e8fc7b94fb43c027bdd6ec6dcaee36568f8c7032114eabe358bb2e17f1ea3376103868f040b0af36e3d41a27c5e80b6438083bc77c048f73cfa106f069d0de7336a3d47c7c6b98c541453741b881d7e85a8f713626b0d04cc64ab1b697c97c8eda55bb1555cd90609a934b4f63fcadbebe3e44d101cf68dd950a2d00c81174ae660de0eaceaa60cb85dd7e5c140d2916b8a1b991c6224f856964add1280af5a560c1a1c60ec21eb97b1a51921b2c72bb1014366872719db6effc9a8c04ae7debbf4c400a0b84a66d4f83cf9deff36b2cec4802e45e92f4468516d03eccc2e5b14aac663236520a2f1230d799d02d1428fde7d640542af2e9c96b18df81f15ceb5350e13744e18cb4092546389b207df81370c2688a5108f8700a0129210d0e0d2aca6cf50bd3e196889cc47d5c1be7ea2af2dd515a53c8428ee515b389d99a2bb1f08a64c8accb6c5878fb8aaaa61c5d85c8ed9dee5f7595f26a139c30efbb24fe1921fa3944abe9887fbbd9858979e8920de89715cb7284d772daeb3dbabec084fa5378b81ae5818a257cde73b54f6c8a46f5f224425d9fa8cecc1c49fe60c965abaf3bffe3df9c5f79ab98db4f2c1fc3ac45b5df235d4b3d69ecb0b712e201b5b348e0179726949dde29e1d523d46c4df93ef149a14678cb1b1ad1f7079b3f31a69ed29ff8f147654f19c5192b0fcd5480565acea0c66bbf7089797f2be320fdb496870f199c33e72995473b5514dca7bace824d2f249a3762f965980008d728a87e29a6097f6895e21abc848eae737df55d31570571031411913e7c2af0a1f40aa9378bdaefe1e7244815a30ad3434c0255b59a0555d0daddeac8fbaa424b29d10f0f6825bb362d0b1dec7c8a4a18be2e2d0270a7140b38539a55317eb6548349a6ec92326e7452fc20b84cd7189b406fcd420216df1da65ed48f07146e441b245d9f622b7ac33c940e386d4da7890ccdc0b23ce75bab2d1c85a452efd3b6d7e5d65d30f77613c661c1793e714e72062fa87b2db79cc94a6c4bec29b5c89af7ecfb8acdfd65301ce9873cb8048bef1a0d8ec38a4bb5f85331459ca25d772baa70711d536dd81b997a8172fc67aa4cff7a2c866b85c01b2e2562b1da067a9afb87635f9651e9f6bfabd6ded1e257e81daa912931f311a7d4248e1d11e12bcc04fbee6bf316906c5bf5da27b96eb279ed3fa25365f96642434c203fad8a6935b3010ab4a6313b62f576247fab0fba03c11fccb71b91f15b889827566bda28578dbe9926d8d3a820c8479bfd9878883a814a012844120886319d2eb944d62e5d39ab841b28e9a84c9e5ed9308e32f69844842f6de64cbbda59452ca99090309f60855522799da8f08cda6afda108ab3472449469c2df441454ddf3b1443904bb79414c8ad59a9bec8e3c5d5f5ae2b2924f4ee94e50d4542298c2595c90b2769a9b573e6008acb93520e8c7252d21e6f7250658f20dc1a5c3c185121a258214385193b582146144648e9e20cdc83ec02072d94d620abd8ec0c5a11740a1030c182183ee042162db84cba80a2b301578986114d18a1c20f24807a4288a5cb4a238f786328af3e4258c25a6b69b648f2043b3c99e1ca0b6a10658b4b430bb8f9822e4ef069361049a14694184c94d45832e483b5d65a5b5b6c00031b8421460d470c3143173964baadb5b522712ea458b9620d2632b02043174d34da24890aacb8d0c48723244e60c68da10b173a1548e0c3930d66ac21c4922e52c036fc948184145404344314615c6671efbdd3256de8372eb20b639925a80237a94c1f28029b455a31c25a6b3f28222831b0a6695a141318cdf0c50f633059716168a20b28af0928346cd8aa0b1f71be18622ff105105f0079f174e5e7052d9884910311ac20c37d810b1f5c35d8282e9cb4660df7de7b2f18bba88a13292881d0d019d7052e66a037af728e762c978036d0820726aca8c0451857880b20ae4904c218810c76582284110fb705a72f7093ea020968101435c6134848411469e6e04c27e9e4b485469bd8e9544503626b6002a6a71d86a4e840c365c1690a9e4d1ef0e4035290000c18946a709538c940b39626e1d5004e61250d2b2b94b1f4b48253142d490b47ecd0448a1f5680f2c255c149084cefbd3783bff5857defbdf78249642c6da8105c2b51920f271b5c9838bd00811538e1823582280a428a9b821350ea65044e5ce104132918a28c0b748696002a450461d941892c69e4d8a822620c39a18508aaa0a13459f0a2d39a24a101480664442102c9ca0e59b6b8e2bbd202462370a1c9054a4c99418e5dc3895c79bc70c50530b801184137c8b158b6b5ae11c02c6d5890c7ec02c281ca2d48d0726ba0410d43413c7d7106942a6a6c9103379b84900404551c41850f519684c006696c51c39d595459874c0294294260f4e405348c40e30b1615d2031655245103252f6ec0642987051e4efc604416318091340694161bb56152294ac898a1c928850fa47106d39d4d648f1d963ca12108225a40831948ac8a80b506044c565a6b7d6c6bc20c28186a42045b80619463cbd83605794ab6efa8647aabf11e33a558582bb7098218d74b29b55b356f3789719a314ed9862688d0595aabb52e2ad67c225a7b4e593f6f6c76308f612ecf6269f3a65652915ed222ac0ed9eed1db1efebcf5346bef47c09b36edb55ad8a06c2fe59c78d4bec9b63dfd4ab0b8da6d95b037ae272a4a30232941e1456bd7f7989aa546aeb5d67a99eac75cebb55632ed397481e407da77eead373b981aa594566c94e9cbb63ad870fcae524a39e7bca9758eb8d2d07d69d8fa2a5229e569a8a8bad64a71a0c5922cb058bca76ce5892deb2c3d26d93754c4ff5acfe178a4f570aa3ac98920e3db7f6be4d664b12e0375cc59da0130070f6a190c4be39850e6793f15ab8b0993e48061929c981158382288b14a5459192d2b4ce748961e6fb6eaaa5052b1857fb3b3129d535a5ac2f1886c52d2e2c9964a6148510a03ca76f2a29b9eeb5ee852bd53fde5fb5aacd720af3036fef22e739913f369c383dd8498cb680fc03ce6b0987be07570c2c2d75c6b54870973ad611d0c5f21b85997df171e91543efdc2d22f1f525f42fcac921488a7527d864976c70a5bb7df082d961eed66fd7b0713b67e2abe541f633117fd527d9c4e5efaa59ab1d67e26c9dc7e32d52033a779ebb6e536e6f693e8750b6e9a191998fc549af539cf0aed7e85b2c2d41a30fca677bf1166a8fa105a591a53d15557cf7a944d3b1b492a40de7d21a662ebafef314f9203bea5a58b28791de6af4fbf18003ee60e001fa36547adcb5efaf53d490ed8a25b3a46cb60f4ebd3459424813acfc820cb1c769a5f76e4802307808fb9ecc80133072f6b0d8c966919cc5f5a76e480d761b4ec021a4a066a1909b5c67e26e9a394f2513a5de6c068592595189d6b4dbecc01751519984e9264abc2f166e7b3f237fc55d8d54f8fb2fdd9ad02630ef39985d2964a6110edbca5521832ec6e7ae014baa14286391813bec224393061929c9870e680a09655756fc43bf4a1f2a573e77c72511b67a4d0820e53566bad95da95768ef2d65a2bab0c806cc813a4941f90d04d09834db1ea27d420ff6a7b7d4a15e280d08d9a0604cc274c9c2138200cb935b7548c4f420de23abdf7debbc21c4a6993e746f3debed21d6d7da4d9d6c6b65fc920b8d64820dfed3709c4bb7d2781741fcc28b3037afb8dc07deaf19fb7d9e3d58e324fed5bf62cad3df555146d5cdd7bebbd57a6c27955583fa4da79ebbdfb9efe4c2222444545ed24bb3bf641bfb0042fec40e84030e7cfeb52dceba77d3ea135148702a12088f1a9484140a9f6cedae9c47e9c51408842816cae0fa1435494aef90e67eb13b6c84fd749cfa747ece931775a9492db422a5220f2765d0d756e545414175b7bf5b97b7bfd88dca8a828a7ad610c785bd33bdab6a80b1658a69091b192f5226f4cd819e4960a5630810a76f022a7b654c2e2062d6608c2a28514f2b6a51216405056845a40ada5948eb4524a27a6dbdc5bda68f65e6b69a5946a38dad56eadb5d254ead1306f4a42ad91bf21a5940663100cb7b4b4d68a27e7556b650a14226fbfb5da7a69236badb48a955a7be7ad3597204b29a594f256eab235ad561f55939a286badd55adb699af5362f6cadf5e3566bbdb7d66ab3b457dcf2bb61c39456abdd1c6fdab54d1bdeb0b5136f4d1bdeb0766d1678d3ae6dba56dbf0b55a16f65eab35e1eddaa60d6f388b2cf0d6b4e10d6bd7668137eddaa6d6154c69b59ae4388ee388aab576ce39e7bc444053eebdda6689804e70ba009076b7d72254b6bc0f10b67cc2e3d26f0772920a8b8a5c8de80911d1dc80343dce29404a404e36b1d6d07b21e63e04d05df470c85784838331e6523375a5cc45184f222022a30ba459dbb242b6385bd9ba89023711cd3dca2b7bce2baad89b1238c81ebd7d09b0ef1521b0e206fbd50a2036a5d4569933295bf16406da2fbd507232230a1343e41075658b2930c65afbd4c8e3712e8eb1ed397c73a3430043163b089d010328646801c4ada20600b655aac204db666cad95f6a25db2cd7993ade5383ddee3f8c0dac7d43837383315eb3183f6e8630939ca2955b6b6b51e329aa6f160030d067b9c426c6d46d9da14466cedda71062f5251626bc7194242911a306ded462600b4b55fe08417b67614a8dc0044850d422fd89a520d9488a808c228686b4a36b8c1d694aafcb0352d6983a00a70c819cc2e302781655b8b63f8720e29a478a2252515c594190ae083531458c000c60d4e58c801324440a6d4da0a7b92abcf6121c895fad84d93e8e46c22e707b25c8a42689529106d767423854caf437f29a5dfd1d3094dd6aefad41a55e50d3dac439eae3bb5695f3a3f75efe42962586eb0f8549f5a059618969b1bf5855014174aae5254135144286179228f902f6b6db5416cfb1cc4b6f631b1567de4666750fbb6545ac38c2c2bd02b442c55b02c81c58b35965c14544a007ca3e386e4a1bd9e6a0f47b4009445680d19c438410ff8044aec1ffbafad8091114031b0c068082eee51938b430c75b3564a21a4c910a45f39f8635866d8e36f115a065d58825ca0197449356028234853c3898a6ececbb7c82012bff6bc59a0b2c0b05f61d42a458523b16dadb5560d186c6b6d7d75a1c6136a2ceda731450da43d7aa184c6954dafb5d65a6bad9d578ff5487038e26f52c8a64921da9542ae36b573331ca7c6b3ed94be4792447b7d9153973b455338b5c9ee7e2370e7468c3f3f7b1cee68bf726f167b5a949b1b3030bef1226f7b013f734f6d2585e1e6c5c51375563a6badb5d649a71537f8e6c5450c8624060e62b34a35434a29ebed42dbb66ddb3e84caed00210624950d4775e3430ae9c6d87eb9ccadcb7bd9c5d572f9b3c22297b7b82eb68054dc4edf6a095d54dcfe129ed66c4f85221537b959bfe812629aa9b83d873754dcbe0a7d5071bb2a34000954dcee85258445a40d0eadd9b603d00dd3167a7b7851c955bb9142964bbcaca8225e1004ba552a6a571187ebd1a64771ab668872eadc0c9178badddb3eb74f632a6e7a74ed1b6a82eed3e38dd4e3f7f923371b03377bc77bca8e9ede622ed6a5c772853e684df78e7b2b9c5fc5c04b8a33d80a65adc97af4be7d7f9f1ebd3de62d8b9cd39ecdd4ead0cd4969add65e19bea6c8524b91a51eb1f6ba22cb5f95c41ff56a67539793b24a29a994286c9c2ae366d360a48dbc56e6630fa4d61714d4422036e5486cdb6bd89bc0a3b8a758054a1bf9135e3eb66ed3fad4ae89b4d68e1e7d8184570df2fc119c2da5c4f345459eb716b4f665836cedcb4a9e7f41311ec149a2ebcec40d91428c489b7929e2d01e3476af517cac7190c79cf50d97ea686c73a71f110e44e1431443fbc8cd9412a8a89a5f384394e9eb87acbc50e21a64f3feda228fa2d8632b39c20f7ace6ad4236cd74b3dbed3477036f7fa1191bd80090f50f6114965a742bbe5c7adb69b29993caab1c082340809b5e606c1a93577c605d9fece44c933474e281023201bd1a68ba0bce8928dc7fcaa6788f23d09465e59e451364d800217003a814ed1b48f95530869735d7b9c4e6688f2389dd8fbd2c2c78802994eeaef113be4ce237209221d2801144e4dfb886cc2d6ba288c06c139b7c7be97db0c55564d4a79d0c56488b49120e0402056e5486c5f1f62cc5afba629efd5c4a8de0b8a4cf1959806badac9246bad9bbc116d0cd6bda0b875746d3985f8b8657425d039e7147709476eea9c13044c65049cef50ad8980c08ec1f691d89657bc3c8203ca25baee9da4389bde7b3dcc23c216feca7919cefb90b26a1aa8691e11e8a9b5d266846d7a973c82b3e793e079a7a055df8f9aa66952be4a595f50bc9cf2fcbcc2eafa296dbdb730f94b1bf9fb8a22cf7bb37dd1204f23bb3b4a29a5b5056a6b9592f6d0fd81fd58e99cdb67fad02da596b5894523863927a56818a1a1c308d6da7bd1908206d24b87ee7103230776d5b6874e522d8316b2a021290e72d21225348752a37dd303d534a1ae20c086344127a994d26a171413d42ca31b9a65349921b46b0e7d8fed966053a9544694ed5377fde5619342a8b4e188ac09ee0a343398d8cc5032230a2ccc783223caab4b3e3c83ea86556a876c7f60b150d0b2492dde12ae14930b152fde543ae3062f2eae161baa1b4c83eed5c42d8073c653dd144a68d3fbd0b1754821f694049b8e608fb0dd53dff393b73ccff74fdd3269036d991db3bbebd910dc9de6d9d0c67eb1a18b0d5d366cb161cb861ed8f0c6869e0d5336e46ca8d9f0dad0dab0da90bab4a4a61dc8bf96a8f59336f4de18447bb4633811da3485ed7d6260d920157bec794627a9d21850aa9565a93486d218522c19404a63388d51e592e1648f9e5422a306173489c444461219df964a6418e18d0c29b06a4b2532b498645cd9a037c948a35332bb2d95ae2cd9e0151eaeec90ba41e509b1f29272adf3f29348630ca1b4412ace39e79cf293d265862e6f53a7dd812c95c678dade964a57aaec31bba410797a17292405056e5d1963832dde0caf40b594ba579205f288c5b8b2e92ccac1100d6b3c80a1149436f31305435b52c9f3b68274ca2649e7d4ee9c734a4c279113154c432729906bf22312ee6894d2fa3337a5b7f43974927632890c83835483e0d4dfc8a808821cc74da4284e5796989254bdc09bd16684c31f8de338aa711c4e618ec3290d6b5da771dc84427f4c2515048deec709348d26b697627a2750d5f0c51c5e85792aa122c662cde216a9560be4bd6a1f2a7a7a0247a8582d095199a3df0bf352e22a25b6d6524a27b518e359adac371cebfd101a80d9419d565e2ea4acb3d24bad0b6a0d2265d5ab1fbbadb67fe9a4b6d53cab5d2fa7d8377b94517b94d2467a3085643d3979127a9d958a5218502c908ad2493785b2dd3289c9167bbe5b4da17cb74c6292832d6dc4b924cf5bfd723a29a5c196b4eb25946cebfc8c8c79d7a11c5236646b5f22c8e3ddf343d7eb6ed2f624cb3d5ea12b8431fef5f4151a455a29788d8d609c33085afb1b8cb5c478ccf75ea12b9477d2b6e4036228064a96b753e4beddcaaa2f9529549c77288d2cf3b11eeb392a97c90bab5015da35a52f157d99ee94f93be54dba52ea6f789dec7989f6fc5017c64d4ca47f51bd6536cab8887c2a763150b2157a92c76f3a420623d32543140825a2408c2890d79ef2f4d36a9894ea824c42bd4d38e9552f37bd0b834de4bb668b0ce6e5633e90bf65d2cd9e200b3a191b25d3c4523677adb5d65a6bd5aefd6858a91059a66459228f220954bc868130caac6154a487d9d2891430d9238e15b78ded593c94af3e68461ec54d8fecedf40628a16a9fb947b8b7c9a6804bc45514658dd563de4ec6ac697187b69d9757490c0af215d217888af6f6314564cd3ee6c3216b6060d952e98b2b3eb654fac2059b269d3e69c7386710fced168e3e940bc7249babfa45447b3d02341a8ef6a66a923d431fba53d476d67e9b86914045fbef491eedb6a3b8035bf81cbfa276adf4a8123b3deaa856ff3eeaa4de5d27dfbbaba665478bc775f0b9b37a5c873bebf6b9a8879ee9d099d363110f3dc3f1991d7a76e3fa5bf8d86f0e9d3b3de6d0e1ae7dd4e9ee5d27f5ef59c74abcce767c55cd75f055b77a2caad1331cdac37a2c12f5ecc66774e85978fd1bd3dea7474f8f3af8dabbd875b4dfa7705c47e7b8ce868b72e8d90d8d373d16e1d0b3f033bf7a2c8ae999fe353ddeb88ebeceb54537f42cd4f69a1e8b849e13feea22ad67ff4ca867d792c67e268cd997243134c689fd76ed1bf62e9fbf7bff0eb2e4612d6fbd85671e89cb5d77d948622ea12b7cd80a612118ba425798a9e879495a93aa80665a55b47e94d66a29cd92e3d9aaa996cdb46b5fd5537b3f3b8c5a5c3fe37e417afaa09933d36eb7e3fa59ca654f3fc3d7badfedb3d4eb835239ad95c5a79fdd6b2ceedb675d2bcfba77aaa054cef7e5cb8252392a55ea33ee2d1d34733a56bd663fbba7178ac9595d76eeb3eedb83523959af545ac66da7f8b37a7ba1989ccfd39d9629eef67eb61d5f36bbbf296d2f9b711ad31fb37afcd9768b83668e6cb669b2d9b5b34ae567acb915d1d91064af0bc5e4542db39705693975b63d9153b52c4895532ff4926379a6bd2b08c5e4d4cb6c3c2895632fff6bab96cdbebf5c282627c6d5caaa8ee5ad60ae975656752d2b16f8d2726555e7c26a71bdb8720b5badc525cbbcb85aaa0cebb8ed7ea6dd2b9279c11cbc0741f0b2194ebd60602e9ba52c96690ce5c0625e5caddc7de65d7559502ae7a557a0898a8aca898101b54c2826c78696cd527f71b5b2aae3b6fb99f77ad90cffc5d5caaa8eab9f79df2e9bd9bfb82e9bb9bc75d9ace5f9b219ebaacb66ab7797cdbe6f9f79e75e74cc4567977e8b76b5348ca5c1acc19586a9b4ebd3b1cf3cfd4ee794969cf6b0b6f4c70f7ad94cd31efd6135a63fe60f7af9d96b72523a4981ecc8272b76ac085159b2ece01d6f27efb876c01dd8ce8f88b013ab51515976d5e34c32e72c41a7ade41e24334040407b9e479e873b0f3ecf761eed3cf73cf63c4836a64d8f64849ea947d923f578ee3d9c1e61f83d588fe0f69e4d8f2eed3d9a1ef37dcfd5a3277be82b9594ea9f973d758c9bf38a4e522048340dc9bde741c27129249e8764b5ca485aad1624b5ba207979b181043ccf3c12f03c307aa78787e70007e099e7719da79e87751ed579ecbb13a13911b991d0f34caa61f4086a1b7a7c81b95cf4585d7a04592d7a6cb1f4e852653daebaffc48c5e4a8f9cb63f311b8f3f317bd3e3f6c4d66cd52c382d115d8c021979e64fcc61301074b972f63cfc13b3ab1e7f62b6bda53c347adc9ed855ffbc6c0ad4c164a4909fd34821534b98979516f3b23640dce272f132ab2585509d3d29a48767b57f5eb626a4c747dbf63c22ec1fd7be427a7ce8aee7a9fb07fcb4cbab34ed4a49213fde96427eecbe1ad4a4909fd62685fca4b615f243b7d5b04affa3daf547db5508d515884edaf7f8dc4dc338c5a92eef759eeaf29995bf725ddea5da2dd77db4dd729f97cdb3da362e0f7adbe53d3f76dbb88fdd2ff7716d1e11f6abc7a7b5c1f7f8a436cc7b7eb4fdba0fdd313d3d3e79cfbcc7076f99c3ee036e9eba697a7c54bbe7876e1a4da5cdbc8fb6e74c58a5cdbc4c080b5f21276de663422c6de661c24ddacc83a1266dbc4edaccbb84296933ef0a57a14adaccb7c24fdaccb3c22c6de673c89236f3abb0256de655e18b8bab45dac080d2c686b481499b97b48991999136f334a49136f3496666855a8201882d975e0002005b2eb98045dbf06b886bad3e76e35ba557d449b90f15b51fa1a2f60b50513b8c04f902474e087be6ae07daf5349449414bb62efa9660c0c1b6a15c72018b547294d2a7a2f6a0e788f48776fa17a77317c6688d2b3f81ed90c76f11a62463bd5d1aa0544ba5c9298c22f83388c77d8c6dd80eb2753694d11a7ab106e9b4bd1706fe2850710b5da00186ab7d53a3a0025496d5a3f0429e2340d990e824ed300522e964ba8196c21a9f59c06250e252d0344dd3a4e852c057d35ab8c1d65a882285299d6ad84205267a3832a228a7ba6009062cb625189476de720986285fdce0480600a9f52a604659eacd0fbacdc37b5eecdd50471cb56fb5035bfbdd3e1dbb77f0ad7656d5bdbc78ab9708a82ab0d6da69ed47e4d3793dad3a6b496d4d5227fdc0fc605ed624568702eda9bdd901f5e60756c70302daa30c08687fb01cb2dd14889c9bde1fba2badf6b59ece405b61049d36f1a6699aa66952bcd6c872db5bca0405309e68e20a1162e4904511429c0b34ec602f3ef647714a0495915a0a620204447c81a590e16ef7e280934286cf046098a10516407c4005a1177c52c82034844a4889a0d50a94580a12324ad98b77bbdbb559ec1043161684a852f40449c8061c66b0d65a80088b0e23d822888726722e112d44d91598acb159eb430cce98f283152b7c81d4c21675a9852e6c58632968044b413730d1d1c368c8236daa4134a7f9a44da65a0344458312aa41b6a36024748363c3d71aedf686e2cb04eb017c9bb33160e65cfbed02c98eec6533eddbb19e69dfee4f7f54202823a31bbe4cb8dacb047b2d3351ba81e06665b4e75757bdc748eadc694b7e4664f8b901da0339db6b8759af7a04dbc22ca7eda9badcbedcb2b6d63ffcee7bf775fa45cfe9f916951755e9f91bf6dc7f1d667dadad3bd52350d75b58775d7e46b6703e498eebdd0d7be88daccebdbec748eaaad7f39820ebee7d751364dff38db08c6c6fbd8812fc9677fc967ed9bf18b1c29775d1ae50d6f996f0a521a542b0d6f420999b87a7a7010d384f8f919709a9afbed2b2c7c8cb84d5f715d523dc5bd6b777accbcfc8f7edad30e9459f24072b49d1cf8811cf48d6af7a15d310ea85f855751129b2d6cc72924b310d3a49e5a5d8491a8ba5606d0c06d4dd7b2dc9ee342f632ec58209a5d4a428cdf7236225b0b55f0d6bb7d7be03dcebcd0f54f3831bf922b015324c871b79b36d6b76601560894860e7eafce5d9017dccec607640719002930176c39292a62ad5064b4aa2b01948c2f2431a388c61f4b4022a3817b0c0618816782e3851c3cb964b4a8e80ea644cbb29902183b5d6252525d875494ead354bae302759b5e592921bee964b4a9820b1d44294a5a02760310ca1dd9b5d39df79975c08a22e0905b1c21a784949d0f6b65c5a218d323a499548faa3ca4d4d4d9452bc51209a4444444424892810d0a440156f4933a989286902113535fdda4a2fa5ae4d17d7fa5fd323a8738a6660a89331180ab2b4f33295474ac3af343b363d6aa38ea7f31dffa652299a1de2797c6e322a6dd572ee9ff53c8f668798a393c9ac56cb2ad4ae7aa5f98d1d628ed827d302c2c4bcdedd35d33a4b6f3df2161373c4f48a7379b1f1fdf518dd0306c432d7c197d9f1f0db6f5cc371abe357bfe694c7a71e5b3d68ab057cfd3b8cdede065769765ce69cf8f038c76f7c8b1dc7357d1db77fcd290f0de3b172b9bcd8f8f7578f1818b0a5d57a6b8778991c0f6f7cd3c771edd7715ba3c19accb2b1e3c5c5b55aadc41c97893dfca67fe39a1e8b70dcead02efba956efde22b658393f47ec32fae1b5ffc62d0e9d2dfefd2a87eafb5e63fa32d7fef0f686f674b6dfa7eeed396dafe1c05a63ed32b734bf7adcecefabd545a19ed15ce6f57a4633532fd392a169d724cc51ef3cf33cabef3c9d37e7ea3b16ca573b160898eafb8e3502bf1dcb83abdbb14459dbb14fa838c71ddb33eed8212ad271c70a4145fa1ddbe4078b245bbff6d5a52d528b6e6996d649494949494935c922a59c3827ec04030289c9a93a71e2c44975a2a52e6771dd9e521c7e429222458a142994480a121212121225222222228222b2434850505050504c504c4c4c4c4c464c4646464646d868024d202354a850a1727373737373738331c6d80e5924242424243b6487ec901db243bb498851779e54b55ed7e9f1549ceff1a8387bea3d24d5e7754848aacfeb909a521cde9a9a521cde9a9a521cde9a9a9090549e1ec153a48a5487521ca6dfea9096ba9cbd1347bf39f5484a4a4a4aa24e362ad48993a6aad1a721b50b7beca7a7a7a7a7f924458a142952a694493489882611fd2442010a0a0a4a42dd516c12ab15af9db7421cb6df8701916b93ad7a00429d8c8d14891b8e74fbfc0e2085e87b77e6e52e226da644624bc9c97b89441ec09007609861587b0ed52075eba19ba708152a7bd3669036f549bbb4873c4e2ab0397fad0a6d25f3dc344921b2368d74e8f83b97ea0e3bca48e8b595cc5391767dd3de99ba22dd20ca92286b0c253559c28994274a444c3c4c31a240762a95ba53b7a8282c4679a44ee36c1aaa4375a80e4d2878667b271471c356908582d026f409ada941280f14085a4385a0623dec87cc618c73d3a629121d6aaa74a86a3a4464dc9ed873e2401ecbd52338af50b19e4752d16a9ee90515eb0f7022932a29419385b2e58d24dfe48ac861c91eeb100e42ec913ed5215813592ec9806549061eb6151a1ada726908a865cba519be6022d4b46960da72890671cb251a26ec05190a46c444924b43447bac43c7934249c19218e9138c057948ad54754fa5ad10d55a6aed43c0dcf7f4490ab9da1a491ba45c3f5a2128db0ad520b447117694afd656f2bd5c62d264a9d4200a60e284d648a226232728b446eed13e29800912ad91506a902a450a0ece10c699eacba64af51402a682acade4213c4822fb043bf19ae421d7124a7dc04d358c8a4be4eea3151ab23cd0103aef1d110dc1fbeebdde3ea1217caa7fafb74e6808aa956d424358e50fd11032eb390456ebacd75b211a424bcb7aea10fd515fcf0a6b13faa33e87d509fd51bf0aeb13faa35e155622fa8307faa3de0bab11fd51df851508faa31ea644be15b2425668ff735c629bec6a9fec6a79d8d589fc3d2fd02a8d4e5218ec3097b720f8d7e5714ccc672eefc9c89ce6f2f97f7879572c765d249e67be8805f1378a782049b2b5955c2424420e8e6b2b59ee2216781cc70d9d42a86527000101a940a3653e3e2cd1440e335aa60116aa3882891c590b22e4bcb4cc27851524712547b6c22aaa05117260b4ec45dfd3038b91794ce4a16547aacb8ebecb8eb8cb6442ff73605a76d4f219ece06547aecfbacf5c2e3bf20e6ad991ce4c7d5e76a4a3fadcaacb8ee68f74b46f9c1eb998b8f18ac7f7d76b6a9d5904635de703ffddd33433a1d7a97ea3fb70a8fea93eca1c761dd55b54393e1cddf52ce6b08f32fa68752fa49979c1c4f0d047dcf1f551fe767d94d27a7c49a5529cb6e70eca5c8bb98eeb2e5fb95a728afb781bbae8058232328791f98b2e82f9386a77d163514ccc5d7a2ce201be458f45a2ccf3f5d1d4203ca5471815e7eaffb9b7f4ebabc3cc80549c78b5d2e32a16fbea291d9e3b8d765171b2384e14cf3d6b1ce7382a4eee9ef561892670c8e171ee2b5dc3e938f751c7db71cfd33d3a1b0f00f7745107df3d3d16ddfc53e9b1c8837f5a7aa0673c0ebba7ed8d9e891df078a7f52c76d8471bf13d786871eed0b3d788fa08eb988e580e3d8bc111d3479b166ffc7a061ef6f0fa48d33d6862f44c461f5d8da35ff4344b0f6b1c9143b3f4b04652ce4bcf2e0b551cb1444e8c3eb2ba48e839307a665358411264e480fa2826890b65add1499f2c9762b8b2f3a64326600d40014cc205bc128ee42227b81c40457b1f2a5a4ab5111460130254b49751d16a2b9967ee9f797a1812592e3149da72490625db46ed79f724a184220ea040b85477bbb7ae7bd7c1543da90ea6d244a80852a97729b0874b8144e811bbfe4c570fe65c9c2642aff899cf72f76c3813a151fb677a3d77f3885411dcfbeee21eed6222f5881f2d9c610fbdcf774d8ff63e747b44ea15bbfef8d0ede99ffb853b53f3d0dc5458a376fd0681021975e6ef7c8f71d4d18ecf713f0facc76dd4f9ee531f7554e7ae75ddbbf3a819f1a6479dd596df7dd4713d75d5fdbeef3c6a74bcc727a7c3c2577dde471d977777e54d6f5f7d751e353a70bcc7676a46c7c53daf541f755eb07b77a169095b37b00d0bc7f4318fc75ef31cbf3a2e5ec3f11da737de639eba7c7e1c75522f364099ab0ed3a1d7fe8a8199b90e77d7ed5f34c3f1b83e7eec5b8e5f31d4b31bdf711abec7a71e5b6c688b0b26e6f9a3ce0b76d565e8efc10e6cdcbc78900a402700179aeb749fb78715d1e8d9354c007ac6e3334fd55c9fd3f1d8318ee7f876e3e26ff81da73d342cf7c82e6f7dd47939eba38e0defdf75c0ab0eb3790120a603981b97076f09c075bab7dceab128007ac643839d1e8b3cd0b39acfdce8998eeb73381e3bbef11cdfc28bbf3b34d8d2236b87a7471d56ebab8f3a2d57b9fe1de461a3c78b8d0b00aec33df5dcc17552cfd76351077a56a35d293d160140cf747cc646cf705c1fdf78ec01a29aa834cdb76435ed142a12000000005315000028140e8a85229140128781aabb0714800c7aa44c7054994ac324077214630c32c618420801800043008cd0d454016369b701371b3299a6dd3f7612666c4e27e0f3f65440038c5a7a8e62a765c5eea116db75103eed40aede258a1dd0bbdae1ccabbe42504df485eabc2dc8cffc1c8411dcbb7915c596c4e409cdeb09ce3f147199e2d1c4c6bf788beea9f08e2d183770df23a0792de37f1213be478c18527955664a7a5b68161029151424158cbee58fb2f6800a9b1f90003a12ae655700ba5cd34bbb2af23523c049884b3be951a7cb1ca0837c1c8d65077eea93f2132ca32a79574b5d578e56993e04e6bc61cd42e2a957713338a9925790bd13688607030e0056053e1786b9c45e9d4a078714b289d540d7e6eafe5498e359bac2f0f1f14ec285d11383fe26f312f0d16c6643c72d1387d199fbcd9121f56601db50d8f1271b720250f9bcfe93f10e855173ca70ab284095e3d8b102a11895afa27e012c60e26c046d300b6c9c47a06636be6b6a49dfab867d8861145a896c7f60939ca65e944156b3ea79d5d77a12d8ea66642173536623ef0ab26c4c38870ae63106d6c04a0234d0d317ca525d55724bb63c192bcb47ebb2a332df328280bc565b32a5f8a7702b3d29121aaa7a3a16b36fbdf744e73351560e68bc048e84bb6c035329066d9b063bc5b96dfbf2bb1a883b299c58a28e9fbb45178ed8c67325315c67e0aca7a02654f1a311cfb112f68fc63b8bfa48a7d0488556198aaaa19e0e2bbd8bebe45b83d616239cd2be1144226983dc2fa971e34101819ab0062050a4ec11da50b8e6cfe16fa90d8e53a8c1d3a2ef6ebf6e578b92b585bcb35108db0fb17d9306b4054f13308cf8620f8f21e0ecd981b29d9a10f23e7bd05408e0266d13073b85766a71461fd662b4552f28cf9509149858b8348568484d09cb55388852ab5c20cf292c76be684f504d58697bce3215f6e950ad9048a7508fab313d5c950c9fda6a867860423f4726c444c7c846499b9bd7b7090b6b85914560506bc28d191255dcd3cff8ccb608750a7b841e7258c904332d9baef2104f48a59eff4d5fb989654178705d23df6a6ac29bea1fe0301b1c329ce3c2824e21f886ae5ea9b0ab0d97c8d77a9044d20319e2d4c9fa5925053c151a83e85b58845b5dd8f743a122a3426c4b806b5fb694729e9986c251407829634f543b254b3741a4826a0f85db6969f0af721222720f8702c911fde2c5c677c56804294864c7ffdd4e3f19a619ae5adf53449bc2e566f11c3d5e639f45549b736f8e6b544a71c8995690d88655a915f5654ee5c408fec19b5787b0e802d864205dbb1f6694ac813034c74b4adad1a7b83018692f28f14ed6e3f9309bd336044afe6d3b561e7d84cd734722a050db0ac0049ed03f6a7954884fa5f869663d5458eb73b320bee5d3cc9c2406f5413402538e66f000a639448300e8bf666a08172466b88371f5d3ed41ac923a294817d565d53ee345d942357d2753d4a182385b6e3a92c6a696902f83e241db64f65433405e920144997b83aa68c573c43c168cee0b216b927260900bc50927cff8c44726657070f6420c81cd201880b0391dba376be238efe3d5b8d1cb4712b00f8768793276b5ab5db2071688fc03c27fcca8a802dc464ffa56ecbd5fddd733609abbad8978719f25dee8ed1a44b97d0f0da26257d5aa0c7616e520f3f00f33106fa0e2f837e486cdbf82c1926731837aaa1e9a98df3de318d2b57d05a37c98b958df0a0324bdcd6b1b492a609eaecadfd90e70bfab784ef42078bb0841997801074882d1ad02fb7d5cb34f36923ef8e4c9aa6e18a9c97ac30b18e023e46c32edee70002cadae77b585cee0052e5a5892ebeb202a00b7f00704886aa233a9a50ee823e7232842536fa21af1b8e0538a6f1fb9197c5e277658d027fbdb182208278e51790967cef0c99c1386ef2a18cf1cdd7821bc93e6221473aecde72721e9441d194396c3b3fb4151d72c28b45bb894da3f5edae4c56222564f2ed53275f12cb30192a6b81accb1eba2c56e18b320a9a519484648391d8468827b8d4e3c9a88dd1fc223fbc439715095586041b824da8a3c4c177bb6da53218e095cd2debe8f3cf6f558c36529bea8f2ecd95b098927ee8269dbaf38d552bd0e30e3869c9ed41063db52c7219d7b5e5bcdb8e5433118402155a27a6426477012d10cecc8067056bc04748946d9984d46e344cff13ad28076a6224a571946bd74f4993eb3a46d1f5a690577d9255dbdc60f7af51afa500291dbb609c12f07663acc7e6f39dbebc4f40e6daf01575760d792bff851ec0ec003879bea382ad44561f48378c3b4096c6697b34cb0671f16e5270d65d2b064d9a476a9734844a6519031e3908bce91b8313324a4013ca3e2b2f141a9045002f6d4bfb447e96fce3ce449030593f4c2729093019636b47ec872336d5ac06c1a5d1d455d0919a35f61b40a169751bc6b6bf247c3be700ea0c1e85681fd3eab591d95fdf64946ea5c66710534c85baa2e5181989b1092ef15b9dfd85ea3f35ec1d09f21d7e6e53b6759a8eef98b2a1e520e99b33c3edd5185008ac24a55052139d5702446dcbc9c847f2b57d936c20eba8a178a0d2d600332728518ed97d2972d7fb4cf77e937d7e117d8ed89138da05d718266442ce42206f1977b438e32150ca804d6e604b178d9d5871e946f4ef8bb3b9d40a3815861a3f643bd8edc40c203f86ab16070633139c324636c5d6e79f7d3060f49a4d7e5369594a1a4e2e0d0167f926f3fc8e485a3a7f3d3d3162017562ce1229c61835777a9ebf64433e2de8816bb19c2ba1b50a10aad6f670220ac2294ec44af922fcb8e7e0659ba17cd82e817925fdcb588ca5abe3c328fbc8eb8058861f1fb2141826e3cffd39a639a15dc7ae61e70a4e61e07c86cf899f0bead9238eb8da6b39f44cbb7818cc3fe9ea3887cfc9efcb672744e7063b6dd3e4260119b0f261f7dc6ec0a6e14a7ebe29b90471e288244e4401d8a8614d0192238bb2c4821beca44d458d399a9489246cd51a8b732942c5e651a0cbb4987b2d2de9ac2bc208db1e48540fb99f7708be77a83c4a0ec1a25fad223e55fec3c23673f8805d9f9dc83f661d23203112e505a51af0b99b0c7c83eb63410511b1ac81343e1f9c98bf01012128c11222654c55e3d5db635090809df977db9999df3816b9e79f724e266ff0cb3ef8cde49503a05299e81592a776e53b7a4dfd54edf924f984efbc8715758e03327e00b4203355b88d6138b5853402d84bc4668eb6d5edb787fef0fc30a40c116948cecc899e843d88533114a780c90b5ac9b85248c0973897c24006152ce6d0cc46ce870786fea9daddbc718a37e98c04b85d7c990cbfa0bb2c37df91223da4b47801d1ba4f1dd8adde1e2db3e86b8ae653b57765f5d367e7523972f0af3a1102a3ca31966f99aef73292a2b419088c3ac96cde8c38505927a53597ae3d9cf4c538753afafc438997a4a8bfde19dec5359139ff064ad3650d56cc3bea4028a086ac8b30e86d5ba15a6688502fa8f9c454dc695c9c65f2ff3f40b065b71cecd92083f2a076423b2423529aff70800db5fe4305b4bb32e979b83b9246b556d05ff8b38a2233056b848f7c2287d562bdf92a19abec1817926d864b4acddc546b139441c8eb42992c9644b57845a6ce44b82b837a0d43bcd9c512bb220cb7f841b4ba8e09aef50dd8e22a86b166737ac654ac018e3bc734d07e2aa12bc382aa53eefa78c23b5ecffe55d2f23c47b35527fe86a9ed2bf92eb2682b62989811d5b41c0f987670ecf45116437882788b6f3ecf9f941fc6f83478d232ac67d7edf8bfd338387406744490599fb851389d163bc534a3cae03aa8654c2c31ecebbfcfc94766f801fd3ce0577f2f3ef71232e726aced9df782acdd2e81cf94887ec8f6970d96b34c95cfaca2fea73a054de0fae0cd85c8e850e1164bdc53405312c65fcdfcf9af07ebeac7ac722daf6ffa792832f71f34a1d35ebf1b24638de75ad115f0453651795f1e7e4428a3428babe42f51597ac4865e5ca2b569795412f83b98f373f2db207b608ab24f2ba4a1226588b90bee0aa837f21f48d0b14a0883ee8d59eb2fbbbd8ace85dcf2f2e1d74b559e905ba118cd47c8f94525cd0df7fdbd7ef649e69e72ee61ade07e75a97c6e4098dbe7036ad26d703215a0d0f61b979e7ee0569c5cf0790529209ba57c6cd37a78417e4c385d411884152748f4ffed910e9a89eb76b01dedf50560dcc2e8db6b4e1231efa490856ff727d63446a1a57cb084dc469297a35f5830c4f88f75e2868d3506027955d7e164b9b5be06c2953acf0bb5f52c50fddc36f6ba9a9d28f244e3b485691e6ba550c21cb616a794a853c2bb43d1e9467b50022a825b65b31301259a2e8d8c57819082425c8ef70b3e602401ba1d71b4d1a1a2d872ac6302a2c6fdfb37a09853f45d27054c0ba504e18a4b262de9dda45d6c3e9b68217586b17c3832102ba2c9268182b45a838bfda3a4bcf8309368c008eb01802795fdc85f7e950039a57f59c0ef02e7874d8c6ba61ac33ecc76e1032b1a9e1fccf22775a21b234c5a160b2d98fe7bc224d3ec960e8901119b2f2edfeeacb764ac1482e3c5a15d884a347f209ad503eff961383392c2d801a9bcf4a270be1ad1163a4eb6c71dc518b31c22623343a57bf42773a1b583fb64f396a3d73692510eff00f1d02a23edf22ee145ba0ea0b67f55abbb7917c03def0e8448de304182e3d240bc565b2382596cac1411b5b1148250f38f2e13b344e0bf294680d22b31ec91cb52d378a10eea8f89fc6d6044a538560f31112df91c48d5b40f5bae7fd744f5be54c9e863dc3aeb5b8b9d0568384da67bf1db45f97ad8c9c83f82d714c7706ba7e0f1b5459270d8671b937448b6a6f4210e12896071f9d1db88db5aaacd9f65ac76aa8f97888b0a6272191442c1328bd1f76537f3f12737f949333208411e1a114de15975cfe64e181aa901c56a454961a18fb890ff20bf49d0240c89e987762c5a6477a2ee39f6c798ad34074109c14717fb279b684c39b19236c2f2f1b0be127618cdc5732b33933fbce11361e5f71cdbd9e3536e7709237d36cd71d9e3b81f0a239299458aeeefe681524f59983e892b1aadd70fcbf3398de152248b72583d8b4f3bbd0c247f866a67a7de05fe728b368a55eef303a474a9c0c907eb641d81a35f559bfc04e6d832b6474826166900b39969b02dbb0dfb5d543701aab09d9e5e7ceef2572a5e7f0012a4969c3c6322d5f910422b663bbc64c2d17b4c0fbe5f16f2048d2c71f161d4361c4a4e60c8d3abdc5e2bd57cf56934a992f31aa9581dec2d641567e8d7c265e448044e5a11b01f2768d81aaa44e3e78e0d0fbb18499ece88cf60645a3ac0c3b1ba324e70658513085ddd476f62c1584596c29cceeed113200527cef3588b840b9e2cdc5289a94c93261f617a9d61542d236cf867e6d2ab2567fab7ae74d723d70d38ed34a4f676e352409127c538000dfc0d14be0657fa3ee4032b9b9a1d11750997dd0af5906de011a35e2f6fb5de7fa7ab2ebdc580c73ccb220a95faf1a43c2f4033275447ba4baef86db40fb725bd28f098617785bcc78860ccb4f8f99ec81afdecfe2e0d88c10910916bb1de7b8ab376af947ad637833160ded855d062d2076ab8942af197e88f9ae8bb45c790c8b5c221b07d9876b028a31910f011780bdbcc137d3602580953482b603b6bb5ee862b5c979f553ad2176a3bf7ac957b93f0404fe34a2142e242b4e3ebb70ad5b8ca75f33226ff81ce417dc56d78a472d25b64c545377375d5600549ccf0e2b011fb9cdfab55680d25b8dad6824b8f647c65d64f9a5e7dbe842665ee153562fbd3e1e831e6453c2f518f5262f1f1f60fd55d4e43d8278111711de33e4836a97bafbcd65c5a6b8ad6005a25461c57fd51fbc24c33020f494088808636f60b5121ad21fe455219ea222b026667afd19213a0fad3cebfacc55e2075de19017725644b852c1689ef39acf4d81681961a5e69f6ade5261a91df10cbde2a610d982430da5570ed8745ef7b006123c5c3ebb051adf7080c8f288e8eeec7054dec17804742d5be5bac9564eefcdeaa5b3098fb8aab721dd4031a971dcd852ba0b9e01f0e9ab41d434120fcafc02321c526aeb993888846035e1223a542a8a0b526bf3c75ad9def8fb160ebfb77bbe5bc80964c7f2b3dac4a128c709c1c2d9253d2d36100b051c11b37aa85c3b62e3c05d5ab9b37d2fde0a1cd48bacc18eea1e3707332a0d96950b50a30e5a1bb8b52cd71bab5f0035d756a70be788ea190555ebe67b1f23f6bbe707432a79013314d52c1f981c940ddf4caafecb4746463f8a55b5e9bfbe109f14135eb0015b4c0b1fe921b971774838911e37fb8f6ab98a0f2ce59223001e19a99bb1e064f41803c8c72822c6da43c6b4b52a25f1178f5ff208c7c5698904cb3941a6442bcf5c899dfd150a48d344567b5f369488a5e81d457eab3a3083a6aadd2cbe808ddb40e8c8f2a1061ea2fd266b064678ea89878976db3e8f1d85e613f3f5a5f4a192edbdcb39afc79a3395698277a7c5bf2aace1e5639a867865c51eefdd2ea99bdfe384fd60f5ac171bef90ac4b65eb192a42bac9ab6d002bae96bf0394f801c633c6dbd81894ceffc99c157341f568371e62a81964d6ee0ccc79357a543b5857aa23643d030e6cac09362ee4a4c4d8c44ed05a91bb9184726d0f61314253c1f1e8db9175d7acb62df0bb6fac89326fc7a02039739828229f1511a32bfc28dea8f0aca6a737ee8657e60ea988d5b922f7e01697a1e08e44f2059929efd7ff4d1e52cc8c1783ea8776c7991e1e7576e956caaa587ef27148251d27c410e4f87c7405c38b2cc8342c9a90e52729304a7e4c556236a187898548af7acc7f5b355c88de0e056cd6fc3e8a6995d527eda9e01b49675586f38f7eb99901282a6bc40a2aa7833949767d998b826017ec3571b774098d95340466ae7cb29efa6ece34de5810a1f5d6b4568043304bda7b8dc90c3c78a72f7e7a2d28810aa6d5523a71bd15ed3f462ef2b4680b2e759c5d3a743a07ae5bf2ee4e2251a754edd58dd9154e575f41acd76233244c19b0d29396554e5a6a2c2326860b0b5731cec4fca4d2feb9f5a8cb2c18a5ea0f0c42add104b0e03abf813c2beedfacceaa973bc3150144b1b53fd27e55ce01756e23923f566b0ac210dc5d17d66a4e830b98de3c969777eafb5f8a34e863b88f6e66ce73273d993323533cbf3b7bafd11d3275de0784b32efb907e3e825f5adcc32f2bd4e238318e12b04ec4f78679047026cc6adb2c32b155f3591afe4df9e592c098e8bee40e816ea50cbed51823800db8fd9510279f509c9d1a4cd481bb886c317c18460b012063012361080d426e7a38fe6c23733590680cd97e11789143ec41f32b1cbffe0f9af414806f5d88f7ca42e966d2e9b4af8074bc7c24f86d3a637b1d4e4cc9ccfa1c590807fd4391dbc4f8a16fed9cbdea0428b1ac24f33f8c1b648f5d2d3bea1d059698bb45ff85070a2acdb6445be20550e59de68a77872c7282373e11102f38c2ede44cbcd8bfb9aafdefbe59ac9d20c00d84f2359aaadebdc0a30e7e71c35d9e74844931b175fff097a2fdc62875b0ae9c11a7d6425399268013d5709d9e2d3b5ba0ebd808015fb4a32f4b17d159183bf78ca194a3fc1ee765523cf1d38cc7466742b3119cf17aae952949b4137cd00d339a1d67ea58ad7224223ef28804f6ac1ed9f89ac70d4dd38a9ea08ccce3be35cd20aa365f7f30838a841ca7ce4dac1ff8428550b968d86a0c501fa39de8af32e4d265136ef8c34d5c3a166a51f2027746d0abd213f52400305a13825f6e6af69ad87e599c12ab4c4b4552db0562e48775ae2a4ac0618557a09730268c7856939c9dc9222aca9c72273b8dedd3bb5190ea92c5749848f1ac9f026dabab79239a5c609547c984936d076e06d09efbceca27c5fa97bb3236a8d05387d971528efb6618b10a20867668b89281a4fc627676ee3e6aeae84d111334b0fb74470f21e14ee8fde07c81bcf5416d054f39a58606b2a00169fc8aced5a634147954ecb94cfb26eed40bac510d0d24c32d74ffe5ce57d4b168731c10c149b010569a0f93a8a36ae2d313bc1c8b2dac93615ff10ede7dfa1f4a1c1a06f1a9d1671431c5636c07971761e82a00a4c6187deb741cbedbb0d443831da824869ee7b2bced3a8fb2e3d49530f25641e178a338b63849abbf82565c43424eaeb6e9adc834cdda9a32f91682b7d8dd8d01293b24298b42f3e6cb09ddbcd87ca21fdb9b75a7cdbdcef3414196ed70fcaacdbbf7760d380bb3bdb4da77e09c0b6e24f524afeec7b888dea0624cd0281df2016c4a260fdf1a262fabddd70b8ce0bf39b1c6e6678bf5c916e89f4c8802d51aaa09810b9a27bb573ca9ac35b5fdf0c0f8ce78e960258762d2c6393b66e79a8516f76dcfdd95795825ba7b043429f880105f60c4d993e28d32123ee78e6f462797bd4eb835567a1b4208d94339af6758598388c0bbb7f8d18d02f8d3dceeab63c897431764b3307f7b1e08478b76cfebc1cdf193c3fba4e5c1f4277b6800657f7e1a032578ff64e858d399ed0f216efc3a0f4b4664a36cae262a8763483814a46c4f2239ac4d8a70438cea6e5f6c465735f26e3699c5dc4056129cc406a12f3cc3b076575843f6b21dcde2392982e44ca49a8ac8cc6e6c8b0be823c45320c2c6454e6d2938059b45810e1e12244f43a685c9b32cb52748860cabc75d0f6ec566fd7e9d1fb91b1dc24d6c8e3c729d8648dbdda6f39fac031a41e38eae5b67f00ce406160088d9a0b9897e95bbab50d058c7ee6aabc2617a12453a13d297c245a148aa019e93eb7f2d933e5b548fde76dfad81627e17d217d818a8a10b3a952d74a5531dde3b8bf766edde7d8b19b993093605600ee9793d95c72a36fd8664f9061206fbe5b1dd97626a52698b9bf3acfbc12ffc871b8e8982d56513f7211e7cd0c67695570ffef9c8201281c5d4d889526d61c7335a57403249da90fc97061b75fc8a8acd413087c343bf1e9b98fbac2824f1358b4e4d587beab569aa5e175ba7b827c18ada7f7ee7ab10ceb618fa244ab9be8130aa66cffec165e6d855c08c0d95a9851c145199ccebb297a61ee64144d706e4265a3a52652efd18af856addaec7d377f2927211bb89cca89a621ad3512696c385b29d03d4f65272e8099933a9e46af28f757b98f493375a100f5fa5b3f0a4aa724268c7e4605d05f74ded29d3f5047b46580430ba53f8cad260eefbe7ac9430c64c68777c551833380c0730b508f5e5174ced4cf1416bc635ab8edf9da2ee44687051a8c911a4d09cf22fc878959290af77b47316d32ca15fede5182b1f616655a316e6e32f4affba680e4b94fdf34200c5fe81baff2459648b6298056f1dc4a0757f6e3c0d559961419799ab1b7d037f3814d0d58b5519cd7b40cacbb75426f66af055fff5b794f045472c799d9958148313e79897ba0012d53b3fbb922eaf90b174060cdfa87ab514f917666ee376084681595025c5f8180f2a65e1d510f96878351c407c68cefe26abaf5562bb06012746f06861cb3ca6b59fae502d3bbe4799f5820d6192982d73bdd2695a3ccad31900bba565172c03ba137b72ad5ee31833ca5d436004a5efe58eec0b60577f910ff29e296d801a413ce24c2dbca154c672cbdaf79b1c0df342c7217ed09614a4bcc1fdf5ec1b55b7d8347942621c2e956c1b3426fb017538677e1c10e244cdd6bf2de2af722dbc7458d61497583be2a6c37a37b758b55b7ccca3388248bf40478ef916bc1a46e86a43be0f1cea85c02066b2a3bec54bb2f8c472a3abfc9e75a2d144d129375bc44d4881cdb66b5d536122af08edc6a54617203daa08f213ef4754a7727cef19b533c8f788bb02c89889f5630f16ddf048c841864cfe22dbb5bece6781c0d0a8c94338b60d03d20b7df30da5e57b6d0f978f0a0489847b7f080f7789b70e0f959ba7e4f2a1a53d27ad6f10028ece3efcc31c53b11271bb3e5e797901523d131119b072e95833baea51e289ee60b06c6afc23b4f6e2d85d04fa3c113b4eba8b8391c5d8b3e4784415ce0529049dd9369334ab2fcb4273676611d84e88fa19a2b8a421a513a85dee0c7707380981a1bdf7130f6c4a2390ba2e3d0392ecfd58aec34081e65c4c76f0f1e8105dcd7df7f9cd560d7e3e077e515d22f2ce7b9274ba7d6728ecb626e4f12802f43e289ac7819f718ccb84dba196cea38c5020f9b678a0371810ad6fef64f348a7405cf5c5a71bc0fc46b951e6d91b6d92914f7a88135c14f98169d867d9804f716a817de9351d64765bdd6e48042e9e211f5f31f64144834e726a5b2c79aa5ec83a01450b2bdbb2793cd95dae52883da63a90ac08fc2456aa7707816896ab63a16ae132f181bd15d0f595b20a8acd04988998137327ed1437c9730498fc703aae8165a4e0d37b42087cb587e2a24f6927d16508bc95e0ec7127544f0360501bc9f05a06c21ff87dabc25e60318fc7d8493c8fb45a0af59ed82996c7f5af53d24852a7a39b301449f822f8c295e716992293af1eb66fe094535a3be448360cbea94141c975de7c339aa92188195afa4159536c135db43d48fd7a7b6a4495b8273ee52bb89965caa326b2714d7c97d1d0cfb771ec35ade0b31a60c490a2031e5651e44dcdc1c600ad8d5876eacd0c7a81d9618eafb70051da92e00beb6afd2a4ce1e8620c462f488e8e35bf1429bba386d7765f20f025457b9dfe66c0cd42e2037abf0def1292f195b7155ccb786253580c27bc916822e0983fb64d611c9646d9a216cef1c8cd953b1d41ea5ad11182b9f75153834cc7fb7ac0170b843674004264ac9a12d7f8205560b05bf58e315f288b3323bc6fff5ade3f318f8489bc988b601dec42fdb02a5898007ffe12118d3518657ffdbfb88c046090b97d021f04a04303460c46413fef867938602af67e5c8d669d298a1d9dcb883884f493bf80cfdbb5f9d78ac6b0dcce25c5393fe55740b9f511cd1bd1b04ab5d7e848c62a361ff6457e05600efbbe915b71a4209702ea02e22821cf88f0d91130408c092998ebd56f7bc683348581022cb011efb651d3f835469dfdbc75af65733f773e63944e64a0e0f42b335f79f5835116752ed68f9de473d31d070688407500f9cd135427d3036e8935c579820400cb613dc9e3963b4c9d119f201fc981dedaa3e82962cbba889c9a83446f4e066291c45cd00aee36051ca9e31982b035551f18178ff5aa9a2fcdc299a8daf888dc65ade840f5bb480c5c605e64577e256a24e988fa56d3bcdb7cd569d7cf0f885c2661313b1889a7fb19879721e1117aefa613b382e5d64fb449062026ac4594221380abb1e7ea01f9236b72db1026ce214394db68329e687ff10f2059126fdfd867d0496f442b5fdf6781dd18fe461f159dce0a8882fd969cc518f2e92c983002983f356a71f4252413da37fb2ad9e792e6c8f7b6afd5133a1e398001b109406d4371b4c0223237bb646873332233a2b99f8dd839fd841e122e561c8bc7cc88ba9c0d0108b3c4203f5f2856f09c24cb5a72f785760aaa7cc620c4b1afe749e6a7847767535965309eca97f222b5549aa8dae583de709bb20a2d6a7fe540bb371ee9460f7ca871fedd731c752f10f8559321adb8872876963336305237e48b10b5199ba6e814f3872070dcbb373e13962d9303cc25675d6fe8439dfab7e1b08617ca226e0a72890b167a3bed57b55a58320158a51f263288919c5fa255af605812a8cec95c9be715ab02b5108220c3fb627e4b38c237b0352843e17c2b652f85e1622dac75c3e83043b40309c420bb0a6143242ad28f2f8f0bbf34027af7aac7ac23b49b6046680680cac6811d2b56aad04f3ce0da9273360faadaddd479b86341f33948561fca464efa5888f798632c5d96fee5eed4db93d3da75878c29033af0c3bb1b03f1d6a380cc229fec58f602ab031535badfbd8d3ed9e6209bb155c585566961969fd2dd3e5d12a54b8d0d34a82894b1204a2fff3d69dc76cf5330c3a35770f033d0e17651d66248dcab49841eab49e236a4795b7d8ae5dde3598e8063ceff32edfa801500fdbf779e51a6abdb25014b60f8945f06e9667204b37b51746cfb3dade84347e1b688c2a5a83b7ac478fbf0fa90c07048aef70ea10e08a258d67756b208014279afd51a6e9896a4c775a7cfcabf8772f2d8d8c6a0911b5cec6f36a799ddeec1c71618ebd2d42b72ad461dfe47c0109181f11d8921823cfed8ccfbc6cc2d224b3e921e490f8b4a49944c914a84e3f71285f0035e0944d80c892cb0509f7e1e0dfe568789e7b2e0778b0157b28c94a2d1bc206ff20f13bd69b1cd730f197649faf00f7ae242ba179d13a6815eed8b2ae84a23cee4c42a1d7336a3cc335d4a3466c7b42009a6e46cf0b60661ee48b663e1a40a2ceb9f6307ede6d402606d2d79ccf273a52f2594a7456440a20f1218d994134ad08272c655d2097908126c23c4f848b1160d9e7726d4a5f71fb370f224689872093f29f4bdff08a865a66eba8e05baaa091c71d20479b1d0d23e0b621cd5680f2ebf919780d0cf3e3518f6525a71b45c31bb3fdb18956d886c2b2455d648b6eb3a575c3cfa1e80413ae9a827217dca907ed5812b68087309d31051421e16515c85b11bc25cf42448491a3b5f87441202915e2bd753356584d4241fecff70ccbc60d5ac71fb9dbd06a50c9e919b1c148198b6a987af4455da5faa3ebe5ce5ef3f8bcec159e7ea7c424671d687782fcad562fa6f42e3f97cd7e14e46e485b8360d12d729c5e6c212d1ebacc8de829a8d69121034a0b5880d07f62c36c94ce10520f6a649f56a99e39a5761fe9587bf46805b980d0659f285d723190df95762bf88b21859b7ecfa78e4d50a985db850f51a4ed7777f2e85593a635069703fccfe48c7b3c113400737a97394fcde456634459f367cdf2f85623d6536342f892973fa4a72591b2d7f4baa3396d87165b6f1585290d6ae5a4300cb4a55f5308549d4cb57225cdeb472cd83f639fecab9a017757ede8626829294b47b13b00de90171269636410c62b2d647aefa59249f76c12bbddf4bacacced23b0a385023f0b1efb1a174f1e196dd0d54271bd96260a2ed9cb0d1ae5a2131bc0bfcc305c8a31128cd3c6169695353a880bce3ca3e7d7b5647105bca53fa966a5e94ce60bd37698051709a2bea389a8761a964fe082e44757510aa9eacdcaba532a90008ecfff6b0ef34ecb40bac6f3e0dadba211a0122c9e2b6e0e02d9a889cd79df30c338149a702666fd1816a099a2e053bc431a3f3ee2ae7e2ef4d213bd9dbab4065b0b336a89c2f4bbefb6a8a2f3e73634c885bbe35d546bea4618ae349a48eca6f784573372e63105b21de43085a4ddc947b7c29584a739ba15ed039878fa836101211ecf85ead9dd464855ffd6d8362fcdc62eea9fa7e54d919c6d9b78aa2ca8fe8d2541f9b583062fbf12013878a9064f702012e9e643d25881bf041d14f7e187de483d1073e08d0fff9005dc6bc1fab23a35064e53763ddd867ec870170d2dda99ae63a0318db5a1476f592322d2ef7c1e661f6f5928a5632a998017846f68c5e722b2131b0421fe4572767ba6e57d68acf7dbb0a6d724dc894aa312a3863bffff8df53a11da29e4a66e257ad90d02a485b3af804d9a0e701e8dfff235c8852ec7d99502e4cc4a4118432be0da0788001969583c436643a76f222c92595ce118c38973b9d619057236973093647ffd37c72863132b0743d02fd4fe1514cb503e9977b498ff2a84f052c94418e5401bd137740f1362291fcff8fc46f15f426a9cf5030553e828006c5f8b63ade36d5bf71cbbb62abb14970f3849cf56350e9481bfbe4892e2370d9d61f905d70a55826a1234fe22533c0eb5e0b41e93c648a42c65d6582a7d8672e3fd4a20032055a2200cdeacaff8b85812e8613d7e2449c9b24285571f37981ef0e03831f33caad8988b321c768fd758ebeccb6f9a79df6b06169992d428c770c0cc577a1812c690d4d2b8e1b187bca4da8b2459bb3b23d49fca7163170eb0d9bc9585f24f535dfb2f82796c167828f2efa092767ad3cdc5e4da560eaf9dc2366fa897e0dcca8b14a772fcfe23af0f459abd3f30a5231303e9dd417d08273a0381004ee60235ec5384f880fed5ba26c4c8028511e5eada842a81e9919c15c7c97da6afe7f6918f6927c6dbcad284d3e92fbbb1dee62c1f03f39959a5413d63c85b43531a4e2a872443fc1aa5668ecc4adf35fe1476bf89201818d3ba20556ac0fdc858ae48688fe04fad03dc8c45c7f88c6e5021fb8ca8c34155350c56b2534ce18f3ef03ab7212a4d30c9dfa116af605080735626e639727bd5b5db6e40a2f1ea0b190bbde573a85d0ed2a73de3c1d5b620e650f6a6c14f6ea99449497204fd594a11afb060dbc53e54837364e591f3b1b69d006ba82c7c0f4e3bb86589d9f393b4d60aae4bdfb34bb72490052ad4311e5376bbef2563e0f2159125813a490deb973fe2b95409491411c795b876667d7732cc018239e7fd79cb506d32c1e0922312b385ef8614c12b7b09c42cd88bcde57dad9fb2b3f194cb3ce606101114fb84cac7eaf990ce8f4c77d9fe4293443c70fc3cf5722a1c3bd956555b97e0ce63255b01defca4590563a94fa7dd2fb33043fbd4149bf17bd3a0630ef132f359229e4a944a1399c3c58914751422ce6d8e4b482e2f44922e3c059c9b11ea3c2b0864fd139ea6ee998b16f45a6e8108f6ab48bb411d353499ff44b98f982472528303c888811293dcb2079296687293daac73b203786024653aaa113f06c7ed6e9f39e68c7041ee23a540bf724b69acfa92bae440b3bb219a228a9a1b87380dbd3010e32bb39927a6ccf606f9d045da5096ebfd98696b07a0d5e85e3c0174b5e4db95197918cabe26759616d90f1c2a990beb8fee56e76740e5b6cc4eefe4873ce5b4b4e42adca9d6637bd96a828f9379032d57e8f43b6e2a7a28946f3e0cbc439b1cefaea47358792f5d4160c36623442a232b21b0973db508bb449bc8fa15e848981d738ccbf5b35306fea611a92280526e931982132c378be857bb86c51922e00151229e8e787945a78ea1c277f2087404730a78e2a69de7be4c349b9f2812b03fd1144e09d7e3582f2199a1fe420502207f2b4ca4ab4d3c4155ce27602200a41489e161347a25d41d371b74fdfd4e301b230019cccd160b906cb3700f9a70232a84d1b750ecda2ae931bd582220ce428b159b8aecd724298f06a20057b035e8b862c7457da9bed1020524a0115dafbe8ea9dd9776295f2a9d0133c8bcd9e3cdd585f2e87e37cfaba37d11920de2223a9b0a0effa65592283877e52d99dc10c8e6948ab7267a8db6fa47c2063118a84d14ec782aa1dcfb0708bb2d803d47b508b729bfe14e1efb1b1de6ed83f0700baeca865f9f7e240b6966dbf8ba919641e92ebe6bcb07c6fa1ca498f658d5a06390d2740d549afcfde897c538c6218675f9423fcedf051ac8e43cbb0e50df6bbb6ec26329babc2db30d47ce6eed007a28d5f0b11ac8517384f0695ce1749408d783b1495518052c1487c438fff5e150a769d296ff039085649a0289e45572524833f20b48e8b1b774d04fec254b20b702a29ab861359022482267dff4a816654e289bf5aca142ef721ef09a2f652d5e1b0aaeebbe756c766e66caf81e66953563ec821ee760f724348b20c26b30c3a8f0899f1c7d272945acd0fc843f14d4f31c8bfa6e4cbf800370cc1fce43fa301471ac30ea60d6a5982ad01326afd5abde198f1ece911d60dc625ce2c9100264d5dfd00b307ba09d95931bcce00a330fca6f2db4e9fbbb6c966a43792b8904f8b22213190ac52e48b4024db7852354baca9678533946310c097b7d9ab100307dab7061526e930c10da5ac116fd8ecb39b6c278619d5eafde316ad244882815ab6eacba27f95e0609fe10e147aefda408008d10b91e57f7f45884dcdfa542d0e0bf05a1e7cc0da1876e911b3dab0fbac12d900216f10620b56ba0a8025d419bde66fc48c7b6840c899f28cfc4d739806c5d1f465f54f5bb292b36b8935afc8f4ac0249767e1135e119e8f11ec424bb0f0b7e1770febcbc2b96ea77c4c51ee26aa656364a17a6f91c84acc28ce24cd1706aed36004e37b855f809800f73696d41b2db8dbf6d59e924b4329b9ec4f38494920aa16f16c9014b3e910b58b61cb03b86cdb2bbcdde051551aaebffde92eb881e0579a4b6eb9428335cbd6e730dfca435075cdc800b5488e2a8d67b930e569e9452e7ab85b78d711e44d297d9c4f1843d2b16be54e269963d3010dad1bcf4d8531a1fdf392196b700be7efbdeb5fcf28a9b6a53394219e07608003d99751f8e4417373c3af8c5046cac5bc1bf921812fbcfcde097358580eaa508f50bdc6b8472c9badec2f74046b7129a7779d4efc3392922e521228f8dc8e40029eac8e2889a9b5aa724b40620de3683f014fcc9fdf723da2366525988db60f63c3ad35d24e8f405500062b1212388ac43d4c3d051f088427ee599d73a68a0180ab59b64df9522cf92dcb304fa70b7eebc91601a0399872702cc01a372d8d8d75fcfc2d185640c97c0b5607fcabe65ca2dd6f819f4bdaa54f8d16fc6a3d3620a483b4ea0283522d23fb93c5c987cff3c78e081f2092e838e778a9d543d06cae60e312818e62936e07bf1c0643056be541bd64cf0ce201294ae4334367b0da013868b20c64a3474453a7a3bfd2e46c4121d584780b8964127ce1d5fa5eb90e1a2c45ac9dd639ffbf353d38df4c8e7372253c44055523beb300ec748c0df86d3f601dc53020d0ea48335f3c690d8a324051f1c8c281d89132366c40b545e0b711fd477e14d117a12f43cb3aa0e247895652b81850c6a1c8e4687ce8f9757ac13a947be32b651a200f6de488789dd80d1916e7e82a82ec045262c60b0e5d7c7a5b43354df8a4e1cd2a844ca1f8b81db9b09eceff68a5e17043c6d608379908dbfda371184550980f2c79ea0ea3051fff22996164af2af6d1b85865063f491cfdc6ea827a870a8cff54fc4872b365b4459785d1edf6abb0838dd508f3408b7b8f9b23fac932d2d83cf33903b9a104ab4f33236ca6087e948b52801fc80913632ab413a668909257c34bcb6ecd9c3c385b2ddd0d853faafc00ae8730210fb801c936b29d8223210fb6aa1dbb3cf40932a4bbd464771ee09d6e0d52fb5c06292f523a59db1b00be1881f11a13474ac67e029272fa5f9678ef8d3e18d6127c7abf826406a3727a149a4b6adecafaf4875c95945f738f019aafebdbab720766880a7a9eb4c21241018b09d7d8b521484294debc0a751cb1fa1f3a12483f024f382ab6675b1c5e6daae0c46e831c1f63e1671e85a230c98f4e6b2a1a5638c58e658cde731d798b678cc9a9e6fc466edeae97d5de5c324b97139a8779e75b832a73b88ee19399f0b4414ca585f9f4344a7360591f136876e158b9958fb1f34df4792ab43bbd47059f9be00ed923ba87cd5a993a9569ffc83a0f2b8c030e10d215d9ca1eef3dde2e8a599fee678fccf6085591210195e06b9f33532aa07786714fa9f1d1aa287e08690470ba368c88919b695e9be5b18140b7de2ddcda8d32acb9a7e52db4a8e47a3fd109bf52450f975ec6d76479c082987943135429c4aae47a8389ce8c430f5c29824aef824c6512f42b722820c47a10798b7b12d3a406040b95024295052883ccf96fb817bf5e8250991e3f0c183d58beaceb0d99f51c13d9453d9fa3edb0914cfdc1113eabcc3039643c03f3e6b2ddcfc058b0ce14838e85175af566d9d27221a034cd14eec4b7086c8ff1edaa7ca1c3dddb98af0ef5182e82ad0bc9843f391607bf7de8d557e64b1afcaebb8e13612aa4fc84d6cecc7c66820afe00700cb483b05b26a7adb2a69eccefb54cc96f259073134e72645e53d39506d3809adb8da565b3fa88f22c74dc1832a6b468dfe4814f52e032905a3e8cb5d05bb1361de446d025bd58a5a4b89ed4b17916f619a66e2dd5a4afd851a9daf145b1463e35a50d750a58fd5568eee895ed38bf9477541b546016822c94a8a186be4113c1fe59a083d33b536a4cf63d70162837a709dae88a27e603b8f7f65c5c10ac72cfb56dfd7a84a2e63466d702bb816ab777021c352b13a51c53029a779ac20f523f5a5bab2fdac2e9b33833ef89e2c3025970d9ce821d4a4b011fd39ff630ad609fae4dcd95ab2d62f377de70225a6341a36bafa81340ec9675ed79ae979b6028b048edec9575617cdd69ab98c98e0cc55778b5ef23a574242ba8ad7467346190a74aab84c20259078924cb3b57569c9411e03917529747529e9fceca3deadae5a555cbbe896910fe2581ea469d0b457a0f59db763cf9442026cf4a4587af0e59cf88f3b268dbe8ec6ec0491044c7e992d8151010517837145803228f8749d80916086090249e94b030cbf0cd33a8fb63684cf91e00df7251171c1d64a38929769330bb854d61a10688ccea3bbcd7749cb3679a9dea8e189a65444054d45afc87145d118fb9f294e859279be644669362981bed43f0ed8b34879da2700c35004318a8310ae5d1a1f140d20319622871a3a12bdba5749117f087fb517d98730a8d53490999648bc95b49316fc5f0089688b364daa808b85d406832dff366a1236c13415ff58210fd0748b8e03da7e6cd9417eda12c3640f1850141b84660b37032b234d3cb937f9db95f5912b0f5f6be97f83da24b196ccaefc8f034f6e5122c47c31e1a7b9eff80177043d1fb8cfb60071415f21875bc9565c4039f5a58ca28fac765380c2ffbf9105dcbb8c41ccc8bf56d0e12066ce5e1a57d3a16dde401eef5aae65f9a005a0565fad42b29c5fdf7a91053c74dbf97c5f223aa782a3d3d7827d436c14a288b2e58358fdc65980419d476bf15b34b27b6016bc47999ab25a02b2481eeec9ca9be1a658a96a464e5ad16eb41b93ca1fcd2d35f43ab1d1b082a814b2e68374cdf4c692b955093c03a18a4016cb9bed588050d026ddd525a5dbc472d99c9b8c8e14e3224de1155c60a257d857079a30891684660d5545ab2478d4dc825c6d7e6957d72e9f62fd436760eca94c1edf00f14282e8926a60d9f8624bb6d9239cadc4f7a0d8ff8f40e4d53f2e67eaf1e14c90597948a347417225a74f7bea69b8e2fb15003e434b29f11921d6054c45b33cc50fb02b53f96c3b5f999cd76ad7f3211a4d1a5fcd3884ed7bc8f1f36fb535b7164b75a3ba78cd72ff921c4de98578713dd5a0ee78fde158793ad58754bc3a5b50a117648648200f43f77d1244149b174e02666dbb5e2b1889484e26df1cdca9fccd15da3b58355273ac32f4b96e64e1a476bff1d4eae77b5c9048c248650c4b4d7bd086148261c5000359acfa0d4f31bda6c7aefcfc5148344f9b012b989fce8e39f7d520568bb6faeb94040c216c6a38c4670da77644258b2ee5c04b8b5d85f5c3b65051bb99d5be13e738417453afec533397df017bfeae9dfeacdc86b2e531b20cb422aa320aaaf892aa2b302ba00bfa44795a60d5777bd3a3060dc2ecbe11475a93656e02ec2bb43dc32e6e2f12a80e6c0c5d352443291b3adc34ac74421a98f3f30083370d5c13ff2d05b47e4c03d042b3ffeb39b4dc7bef0d8712af2572045982419d3b259838e0bbb24308ad4d233a2a9bfbd1154c02168b2b59818ad05014c9106ee33fe9bf01de4b5c7108e28a97bb1ee42b7c030ba02bb9078a0db343a1d7ec067f0fc1af0e42a5290db61532d27914850faada4621f4ee6a6155e8dca831c8412cbdf20d90e2daeb916b95cdae3e21cca4edf1ef26ff51df4a1dcdedae44425f55c14e56c84c69b5cf2c424cd7c8ecf3d331e67330df59125c8dcdbead2b9381f5014f69c6368d22dfa45cf9d91c274a6f307f3dfb4bac393190a243fe44c2d45074d50fb2f20e73f85dc2992854fdba28055bfa0f525802a8adeb1a346cde3d4d05e362e54f44ca6467fcdc134f3c2e58f9495f0df53372c95f358d6c2d1577701b4732bd2d2b10813fe4c8fcd77b451f3347078419296745a5a34a1d9f38bffaada34a42fb9835187504b202cd66d2b2644af92764160436aae7ea8634f5d3c67ef080bc4301b288a0935e92eba400d5a87f4a4626f8b18634bba0ae4a67479065d2e950463db2268ac28e24cf09d52c7f465c130bf2cd718427fe0e075e38ea38047963a94e6fec078f18a4e380f20c3eba1313ffa4f25fca925f61a61225dcaf672a930873783e3076efc1b9e0bd1b8eacb2413957b7d1547519ab31804bb0a1e73430c5e34d4c12744badacbb91388d1854af3fbb6efd9c10464e5da0ef6494ee6208c948861da09ed560a19c0f29e586a6a2a5db30a5795daae043bfb3609aec9ac8e23125e3af4f09734d8a4ecd3b222709cf694b48d31485e8472b27f9064418d1d9127d59e794f35108c1161f55e11f824886a4d69f33fd1f5b8e5fb7aadeab716ed87428c2477f47fdc0a6cd26492e39175bcf36688cf91c9ab8506b55e44458d037ee09462a026baeeb6b47786259171e85ee71fa81efc8b07a5fb64efb93767d8e2cae82c8bf74d4f49d2895eaa7d7869d1d8ba6ad8e414f384016ad6bab019498fbb1e978d8a41f6d69fae03c5726dfb18e65e12258773102acb2980dcef444af976e95988625663e25f1ba918a9f573d499abe5fac7332b93270c9bbc9f9f5665237a286c87545cb38790c4542e2520332335f03c76555993b213285fc9904f2ce48f4c239b6107d89c06e2f8d91b080c4e5a0cf87a457b09e61846413c5bd51c79e2d9f061239f9fba653895f5ae09840ad6c2a52f4d7170b1bcbcd6f733b9fa5bda59e20e31ee22b0a02fa9529dc96ce9e873c4a22872f58649060bc77ddb09c37da1cf6ff005b56a6cd05a1e0ac3d8da1ac8d07b04444ffb09840c9dc88b43547fff18020ddec4138577ed746a5ee49a74e7184e7e48cb8f1c2d038804632487263d9e726f08c452539eeda39b2e6e639a3d04438252eb61c35dc0f47a1d636c75b0829f26430ec73987540b68674e81273ebd965c252f95c8af5326b799a8e71ad70c4f7629ddc41f294554e1f52c420e367fba00388610e4ce206d1aad5706e771dda31c2c1d637732ad3f8910b75b0700ff2971cf57fb82d971d1d61af75ffcdc2b2751a839c1ec3c8d08ecd94898c89d62fc4e02f1da4a18973b9c7a3900c955bffac25dca2584a8c90dee3b1e7fce895d1a9de38f81ac24ac3ea54ffd49be50784aad1d9d01df84c338659f5d83f3b1518685e527a463bffbc0b938519d1551f76c6403f903402ded1ac601d0f5962045128aa19cc4319bf9cfec94e1c3da086cf3b10b4c1dddb906338c00e133464964ab1708a3de0021555de26929cd46d8dcc13ee4d3207ae834343a16c89009153093a5d5aa2007f89128e68576fc0fa6dc0fb7eabab45a3c2516d20f5ca2b80ca6964c7b1897e4bd99acc2de57002916cce669ca734a28cf9dc288be5a6fe1c3cce0e5ab470158786f8225068930e39bc1c4a5fbb92d847c857cf05cf68f35234155f99c3805b59e35bf8dc4cbf9c97ebbd579979477c17caeaa8a2ec48ad6f31abfee68b18300a912d6a6b29cb6c8f63df2ed939bdd43022ee619c324ec13ada7df8a4716850d4de6491b5b24438d4ea73c93ac27327a71b411053cf5cd95cdc6bae5222e48c7b9dc2e2acad7af82f1a4dda62e09b74df98ef29417680ca287031ef3e285d0ca406b8a264d69dcf5a766dd2389232a2566e36e6c8aa73c57840a03bfa0a4b0a5007bc20aaad9a2fbad1c70517054b77bbf02656d515ad5762713b7354c6aba8e51aad23ed1ae262a68355e0f22ef0661dc562bc1280e815154610f127e828acbf2492838283e7627bc010381c7aa23d6e7c34c002309757e997616fc497f8d8f234f66778c63427eeacb2dcce391f3b021577847038eaba254daf9e2d01bfd40a75239ed71460db16948fc7d035134bb59cf6c47e746a5c5f39e159f16b84ebb6ec6d0a4388e9f4608a5b82fd232b36f7201d0ca38e58187dfc7e1ee63968cb71b99a83106b6917a60d0d26a14d0e616e6530ff6ffa13dfbf90bb236ca0cf588c812624b03cd4ff0d6b031036772312d294693e77e9831c760d1e890b774542edc70e60947b42212eb0eaab568ece86630f6535000d4d502132c01521183521e942c5661ef61d30342e0912f8349be9d93318db82d4145e6a498203fe87e4af0603ae386d68d6d5e62011ac800fec88012de4e40fdda3cf66bd0110c2187113d1e5da2bb09354b5f5643ef6fc58ea7fd920f9ffe255b09fc5415b051f45a29cf9ed79d2badb01179107423a2d8eb1c2f96869afb729408dc09c53274ef168957a746085eeea488401608c680a3244f6e871b165428e78fe1033a6b3ea0e05fd900fc71e1fe5a9b80e36f39168c085170f16625e67a8871c99a3811bf004a8e7cf7471ea03554f43d265630a858fee4c648cba10cbfc77b9d20ad2ea17660cb83902a2eccb22b57ae516564383ab10fce936094c21e3f5dfe421c0909e39f8009bff3cce82f8c5a1549b4b013adbcd3ab21858648067c0d2352d2c10d5e2e04c695a44404ff3ef9ebc78195e13bfca7c563661a13ef5eaca028c6bef17cbb87126edd67a2414cb955250142e407350cb78083ee4b72a5b028858388b2550c4a20fd14a7bedf5437d125bcb8b4de1214341aae1f9e3a2425f309c0fc5222a9d7d1116f3529ab23736362b7a22c825ca8b653b1459c86600476a579bda780eb6cad3fd9553d22c452faa0d1b8a8e3719c7b54961640361f3c58f4b43b3364b5195165b2541c408fb1612a9fc969e59d8e071a51ec817031f275ea70c44aee850d387460f26c43e9143f17d685d82602733699420a2a659c698169ea8730819e338566ec0f17cfa9a789dcc4e36db33003b9d37487db17c153dce18c4d15eacdabb88ed3d58f7e8ed2b4a907b453ed51bddc0ab905f454cdedcc03c8c15d6fb664dc38f6a9b238b4db3e3b5bc20ae74cd88250bf4799c2f5daf116a9bc7e27d10ef97d156713400448a7e0fbdb5a20046e362fcf06645c6b45f032f4d786c543474ec4a6450352d5b0af1624fd257cb078d0c156d38a79c4f592e06349d234989a43a2a7550a00b5aba2dc38ce089e6388a7192b6eed7ed2bc383ae5f7fc63663ed6d73819ae6bb3dc584b8a054f71925aa95b2661c1172d2046018934c1ad8dd9b896cfd53d373c5f83c426e957604fbbe3edbe3503c4b0c8d3307e12027ed00a5df8be150c7fab09a635de849967621776e52d065914407f2ac58dae901abd1f8348dee94a1764f14dd298925c6ba3e6d828f735e9396b97527940eba44331369f18a8f7ffa7cd61c95404a2a1de4edfd0d42a4fc4516c322ebbeb4c1dc803e512abf785e6aa45e4fbf9a6f921a60836f8b9305f3960753447fc5cb96f5e815f95e718ecf835dffa10cf8d102c7fafc8b711502d07c875065894e1c196b55790797c7b13364e918b2f335181372b90f42d35c9c169a65f5f4ac8889b0af6bcf3c53cf1670a16363abfc9b4c0032f74a5258c9aec30136d898b47750e7ab1c0f30b1bced9bf86e34fd6ee00dba9e2e23b95f1a60dca2eaa204e1a4d9a14308063268a22e91fa5d02bf680d235a3bb95abc6a5a7c9709a197290407d44e48e20a844c953ba33ae8a6c00abc90d76647962a7676db4c794515da2137e5a346715ada3e872fe56d1c0288b743cedbe1fb07c9c073403208095057a241fffaf99cc412e33d1091afadb6e2bafad3ebcd60bbe8798a566a596702b6daee9e0f06a2f74be32ba555a053f314b63a5997fc96b531d1bcf43bb563c1f9911a206daf8e50e21094d61e22be641c5e85b936426ff6dc80aef287b14922fc0e47886f0cd51bf264886d7e40aaa133efb40fbc275051b78f90cdaa510543a9e4d75df3d36fc171d7d8256717b2229d4361a8520af813beba44ea03689c14709fbec409898377a8fe6965a55db173e91e82bc0360492b4d0981a60033444fbcf497376a294a8265329397cdeb9b2b928f34636e3fe733fa3567f5f96379e8612257892f73878fdfba25243461448873f3a0622fd5c09523316f11cd23677472e76dbb683e925a1d9607e619047cac9628fb073191c89b09cc4df3a85ac774482c97cc28855da880423b37cecbe7f2378c84bc622783b66577c43b80baadeba0359e04e419d7f667f6d3e97dff4190862b0012f0f3d912ed398c036b58a2516f1ec6d79473479ac2c9786bb20b465d7296aab82a3d068ef0b74acc39d19b8a294cb435bc022d42a7d5b4b3d94cadc898ace777c58ff7f6c4f16d69b78ad7a3b8fbb7ebada5e06b7f6c005165719f9dddd7aba8ce07e95bbf67e9bb1decbce065080d4c9791db0d113b2f904e747a2466d1a43bb048cc8d17baac4265a0d85962f11c86f8ca4a1113f28217b2561ee37513a383f3c2fcc39637f3c077e5ce5d0c0855babb48833dc161d39379c983f1f03a935364d6d3286fb9c9435d8683bcf53c6cb20aae54ca7f2a2fcffaafd7eb210bf988e65638977eefd196e34dbcb469e1c7f929a6a1f32634db0ce8aa14f1c0c930b676b17fe4cd46d1951745384b9f029ebd5385a8066b1e339050e903bffcecb2ccfc1c19334d25a3396e44f592dbfd3a8a4f34083632a1db66e4c80a0f94ee232b111f6d50604006fc9a637be7bb5dae165d8b1c1540841eea6671e51fba17a6bd5f2f548e0a469e24df56265296d2d5796df675ca28a1a11bd913ff0b9006224c6af8a05d0845cb6da1d7e2aab3280e5e6a9aad9581d607d9638e9de5a4e4934b3e076ed0741c9cc9645b28989b24c1c713117652f56e04f0493d2d844c946932c2883a646557730d4731e44e38ea10c4c1520e669d26a9f9fce4346302721d0a58f6e88de33a8334df725ddc4ebca020fee2e04ba9840e70cebfcbf36f1902f8e8276bac6a74b05133a1598c6c545d42bb54df3cf402725bb265e664965b63cb7dacf96a578084d0779b2beffe7874af160f62ebf97c2bb066d5ad1e53d27ae0aa186ab242a18404aa29e174197806aed9abb1bdb7eca55ebc9a619ba26999306c4232a965e92b19f76df99f432da9e65ff1ab1484ced67967b308650472f99935f562c1874f679c3da7ea0239f7727339c3cdbe5025236220448b69413d4784d51642b00977cb1dd3d33cb768ec4b7b700d5b726769f125a5faa532af891e83942a709958041a1df725565f5071f47f65cf855091a96a1b7901e01a5cd475a90b83f7b3da882279d3780ffd63deda01661f0da2bb99f22db575c1d67fcfae44466dcfe1ecce1dbcd4ef007968be3bba8e6e50ff5e1cc7032e71d66731406a00ba8ca46e10c8e754dca614ba5f75c1284cb6547b70dded7a0df9da5e38210972c269f82aaae03415d9b1de9f227275af9de340b1b739bbbf4249a26d762b5279f9495419b70ce39f7875e345a89856d0260a494d8122b726ce7fbd5ab8a7228bdc134b720f5b7141ca5f25126af2412495bfd66d700a7186bc0bac00e0bbd4fdaa40a68272bcffac9bead8ae379240278556eb48a79455e5e2d8fea4d90ecb0e26b12a79bd49aa6b43b68a9c5d645022c9f163e279350f164a14f63e77758d9cb439af4e4615dbfd9a5ebad289ad63b616e5c1de84d9000bbb44208c4fe06e70b3fa2295ac44710bf3c304e0c26e5efe2aa02b72404cc552ccb334a4ff036395024c5e3eb7e06a3ab31e8a5c7c6dec65e351a9f587fe519e5d57ee6e1a37f6bb14837d64dac39e12010fd8c8728d51861af94adfde569cf465b7f0885d06985fd7b411a4bd5e2bd75c64d61ccfd832e9e008a1e28f297c57091463231d2dd77ba9d2f60f04e93917edb2340f6f8e584651376dc9b1f217b1ba8ebe68741f1a733a3627ecc2a64ed417784169cfb8ad6b913ef8602cd16cb11b6c9b478478d7e81b1932b667217872a1e529ea5d12bd25827c3299cafafab2028193f6caf71937c90ccefb8c73f1527df9eee0f9595ea3fcdd2706e4e332a882279fe86b8b5b016703e3390b799681de00d747f93b2fa234876574ec25e15afc83a117ef52e8c65e7f3cd63027eb13241429ca6571bd3eacdac101afc31c6db8cae6a939394d79015060089a164ba75cd7be1609ba6cb72d472b529631355514b2407973188cb0b20e877ff81aa2383018b12b05aa929e348b06ca8f19268970750e22ae200585d28b5ed4eae38dc11f8ccf8b18bf585d3e945e1c000c0ae284a44a405fd03c023a1a552f6f1732c9294b17cc93fc282c2ad6bffba5760276c009da3acd039333d4bbba64c59cc01b313edf8cc18494e8f45c4550915359727bddd2425cc830f58971268cee2d8e6d910b193328631aca9831ee02d6f81bd562941c2ccd6f9ada8aa7de8f3544c950ebc7b76442415713287a74293996fe3b63739a5aa92450b845775460a9218bf349d00e13ab5b21be8ffc2fa65757dd75f4aefd90a6e83006d9729de9b8691e47bc3ca069270cf7c27add978f3e0d41599c75ca12b7456c435ad57dbb6a65b79c89a5cc0061b4aabbdd9b29a12b24b8f50ae7559a83e9d9cb4c87d0dd7a6be09200a14db139bf8bac3fe830e38d5795cff3ba317cd04db3f11c71ac29c6854bc880182e20c0e6fb37bac6841a574589d0907b4bef0e0ad8cf75f036b9d5a9129a198a18c3cfb95a3c5ccd053b1ea6bbf0ddd9f75dbe1acf8882e0fc0d449469563e9fc84582cd863e0937adcf9fdd4e2ce1a6aa99815677c51cad520310661f8d8b9f8f3eb5454d6c79ddd32f826de9637484e6744c1400da1ad7da94d155e2312d024a5113dd393cf59f948250c66f1060538fa4dd454446e769c97e1031518f587a916a406b94105a38090004e3d6634e64c506b5e0f8ec6d6c0a247e470e4abe8ab5c7d1ed8381445d2d52ce42371477aa158c889141724997a98b92ca00d08f0dfbe5f77898b4f77346e7250f9317f50f664d9c079dad6823af7352e40473988a8d1f783d7823a3379a9c7347fc9237375e70d24ff6124a1be60544df0f10dd886530629932343b1554471f02e5a655aaf72737acd99d2b56c0642ab894c8e99741ba5a87419a9edee3bbf47e74c6afa8a96747d6211ad645ccd40f5e37b7f66ea2cad7c1806573bf06fb7691c9192ec4fc31de610836446cfe563edf5a268938845c31918a071679e886596e636ac8fb99d104be424ef44e4b6f5315421ea71cb5b348b961b08291c908528e6e5641e02992b7e9cc5102bf0394637e2284218fdd1d3ca615682f63026ebbf9c97953dfa5faea6aa639b38fe8f0e5572b1390304cfb0f189f6be305e70e213e7c2ccb10d7cf97fc30544224688a0fb360476c5095f0f3a834cf6c537ba1d269a66583b80668b882adbd44858f1770f624facba1047dcbf9061b8c3efb64a11f1e98be4168f8ffb802bdb7c7717e6d7e1a9628c47058863f01b4ded40f1a156a601c807f073794ee1c11c0f22e400ba6196091121f5050d744dba0e86eaa6a7af7cfed68b76f302a733f103f039578ef28e60bd839ff7c616ce4d1ee7d775f5e34af69655b0501c06904a79f21690156f6d94df25edcd5f1d4175c504d893e38b48a85e0f10fe962468e11c40319aa47094350a60f673c7d107d5487f5169e00e3be69c309ddcb66f9a1346aa6c37a198fd7644b551f5e6885fa6005df2beb19a29e47167fc12b604907859b440715d7283352643efa24c7d9c9c3dfec9ccd8491ab2b2d7fc452e19bb4af31a993e20c97d90aec4756eeb7d5e8297994123042ff5dbbf0e93afa03680a404486c6af51dd7daffd738c4f2a6233ec06db7ccbc88fda9cdff0b1a0a5c5de9da7afad9fb0cc5edb78129ea1f76b24935824b50694605552961bba0db37a474c5b365654eb57acbf27b5713411723efe7a753e7e3159879342e9504baef90c6336b475c831f2fd493a3527c808b09745ecceca1e219801d3ab24dbe056d82bb90b13f27868b90d09c81ee7af0f3ad0a213d0530ec6ffc510776820f29027fb9392ce5a6c317a9f09e562d05b1d07d8203fb562b652d93c45581957a5d151a12521d9747218c7646174a9cd2fb5cae2d5eebd4778acc1236655c0cbddaf1fd8bdcb4ce3c3e0959e6101767498e4115452a9c696a1dca471329a475ee459b5ccbc59cd14edd0b517a736c60df041614d9b9cc496332f79f1ea1a4abe2e6f16d3d6d3608ae9d47e59d27f1aadf763f21227c4505949c915d60b4a609c21f6294fef95813e2e04ca34141433147dcd74f3ac4c2ba05bee012ac2aad7a3f6229e07966bd478b6cf38604af427fa95056868cc41f65446f0f9a040169276a51d8c04d42fb54560084ec539c2bf10731401da4be2678bd1a912d105b324c183f70089fa1ed4feec5aab6978fc96a136d968849a8c8d587862ea43c99a136add3ff0694ad131a5bff7976473924b1e6c2567652303f0120f06e5fd15c7451e0e63846f77dc205689171f8d93598c11d137a879db4fc2555b666eaba8f44b7bd9d0ef1a6a8dd1073164cd99b08de8ec306d3c47020b4640043a6ba42c49f9ee0f11ac8c08e5c0f6472452dd8ce17adc836f4cc8bcc2106008c8add112dc0b04e06577d57917ceb48145b6229bc79e50d47f6cb298d5274868609ab1161e0d2c95a6130bcd2feb0ab8cd597fa5f3bcd27a293e1d8e67288a725796aabe1a5796da508be06118950aa1bba4efa8c2fe1781bf6b4377e00775a4a2519e452ebf1ffaa727e16a5a1ee7f500a1e4a5dfd39a108ec8d922840c4bc65048679f9d15d75c919056e4ecb929706d707393d4664eeeb98da96ada5b738439b5926120d863cf5436bf5152a335bdd41fcdaa020dfc34729a886e60c560ff3cf12c6010ef04061965c552a87526f7d8f0a7290982bf43ba8645ed50789511d3b377ecbd0670e1a0830d52df5ebaa48441d21285b2c76c83c010a358a3ab0f163a2c03bd90954cbc7d4ffd356416be265247fc674a306c3ff9abd4c2dc2993fc8880ddd24639dc824da74fc2141b1d8ad968d6c123d2ad2202f4917578067b985263d64ec2b306ee98e4c15404bb3347fb8ac6b6ef095759cddf2fc7874c1b2158b351c5383ab5d2ee13abe0f4682e3d4a460ab1459abab23d939abc04fd65738af41c2576aa287528894e015c0625fab2d1139339a986bcfcf925836b200367d4cdfef92076c833f74fd23f691bca781018c9fe06e38e18bd7d3cefaed4966da560e9c0dee0728331f156e49aeada59996213f3d7b85cfd9479585932ca4f0dddfb25fcf43d2b8b43f8ccccd6cbac5f8bc263c40a3f01bf75e515c7d58ed0908f3d7c2b9127ad667fd901fa3fd3b19f385867ece83bbfb453da13cae174498c01207c3e08c394df6454871cc220379a2a83934f2daeccdcb044a0f68e944c0052ca4af708c50530705094040c4b6045249f640c83b84e62479da2db29c71292dcfc32053694fab9ddaef71fa3f43d6a5393b9a13354500f5f2146ebd743532adc413215530f4779370c79caed755a23131e5e1e238abcf5641bba921aa5bd825c01c417073e84b6fee2dd1810c5aa55b4b46808384cdd0380e82c3301ca165ffcd593d993415bd8cd0181d50a8e41a8dba348695aa7f3c4cd69be933b88464ad30359247fb06ec9640b8ba5a815207dfee1bb0c02218274e82be5e17a707d671a4a7d50def7d8426eb3bd8b3bebed0bac3ccc589b617173e4c47477656f31b768038dd5df3c7db4360ac8a3b59c8cece14b4b976e8ebc69c089f9a9b65a57d69b7ab5791a38a8dac92aa7e5ef877adbe0c847bc42b9d0ffa0b46ae4f13458057efe801036704e41aad2dfc7fabdaf84417b5b8d789118af31ed0777e17da8d2e954888ef3480286bd6c6f5c9b3d47f3ff2503f9e99601a9a9eb774b25dec4d3006938635040d4ee7dc5b2c33c750e8e5a917e2826d6dab75d29a022a9e2510f5550533a94571e85aeb21597a6bd7acfdd89fbdf6372e88922b07eea9ec39c907795423a272352db477d1b5107502913ee0d6d014cca039a3b77a85d30145a4d63965f0e1fa96de5ea31d03226165ba513ba131252373b869929fb175a6e66f850ef805b8818984709d0388483150c06006190fc81469d6e0020534554edbee9e37d39d84eb45418d14dd0783e6a216def6e7befbda59452068f0af60a8b0ab987c9cefc0a61ee61b2337b824e0bbf430e9a09fcbc8eb3b967871c34ee4198d46ced833049e5af7b1026378bde833041e51b84c929abc095e941988426f0f33a9b7bac0d3acdbee7fb44f15e956af5a229d08b17128449b5b947d2143a1c3e6a8908256cbb2c69cbb5a6d7511956afa3976165cd1887f198abee724fe20d54366f29483fead14ee64d659d99919179bd5cae568b95592f14dc6d72327383b4bd0c4a48dbbf4e43dade35d644226dcf6a993ea39fd5913c0a5579c7f48bc9addfa06764a4ed4d42d5260caa327ba424a974ca5b2a2d29b93b9545db8336d0a64d4eb4fd679337eaad67a4ed3dcfa6e55d96b494e1f39a61144154d0f2ae1b1b7aa6254d61c3f429fe717bbc202fd74ad573718045151ed07a442e0517a87980d6f32160dc92440650d07a2c4d419e098fce76c5891acd87e633273d22445d89da285d5192e64d6fd8bce9ccfbd31278699d9db9a4bd8c5351f2c6cc299717156a84c16ab95ea1e9e2eb63e02c03f67923ac64970455091f0d1b443d3310cec6a03290392382093b73c986ef9e32cf61e698e54a34bd5e2634657b30f3ac667cd98695f6f24763d38697ee32cf8a46ded841692edbb0d2368b35b2ce4c4b19144bed739add0fa792cea650a96285ca70aa8c66793fee5659eb0f4b7e68f2c313283f18e9a1812b5426b1509906b45099d4b6c70f43a84cea9a5f46dcfaa3e54d0353b4bdb5a63c8aa1da4c24a4ba3fada4f7a7e7cc127b1171a796f51fadb4d24aebfcc9595c1b3cbd337fbca1dd2dede8ba5a168f3be288b89fce22d9221bc4d5a4eaa40a596aa34355772f26b5bf985c9b731677777bfe80f63ba6e73dd9e59cc5dd31359777e616ad235f83cc1288a1798e50d15eb5696a448d86a62039aa51498244546549529195264a4eae3ca1317afb4d97688dd65e4e9792c09c622182719a65c9ea544b11ebf5a749eb758893d86bd013125e8dd868bc0a5128b466cfe069d7eb24aa31b371c2b9211089a916261189c625a7225493eb24c533b5cbe95db81ea1b12a548dd4a03aa4fe68c942b1d0251a7b8181b162b56224d058698a8406a64334468568cc080da243e8cfd492e5f3620070eef3682503e9e574e32498d31d0386cc120aaed398f1950867b54e3f9fc44a3809a79f53684ee3f4f2e535f2fe6a1ce6b3bcefec306e23efd5ace513f21c9a4226e049434f0397400296e1792436029e465a22e039449c81278dc56498173c04cb312091911950cbb90149707600d1b30c4b62e4198a66320d4d645ef9061aa3b9a70e4d242f35551218a29825308a564d584e5a3f5a18064c00ec026601e3dcd8a0b17aa40a552335a80ea93f540bcd822916ba54c41dfa86bca1213bab99a230ef93308926519b9af47df7ae5616e905db23223bc526b146b666a15824d6466343f6893de244a889115b64836496c97960288e27d72b920a2606c68ad57a49ddd7a4eebbc9e57599183f9601fb8c11ec9223a229498c6c0d0a12dbd09323d68915b24dac912ea80a09092d050da15c320948afcbcc3c06b622e330a51917e1ca088f2dc95e02161aa779bd35e135a8d058ad812d913db249ec145bb3461689856287accd1eb14fac90136bc436b141b688c6a8d267badfaa43aa57e1a600d8d8b8fd4bc92d32d244c8c99127433624506a4649a6101dd1d8124babcc24ce8aa7045e0997442c639613a85d19f6d74a75c54fc956054a929195294a4757a82c2161a94263b5564d5539c601500526e3a39014934b788d151859c66f945699e638aeb0f28c0b60a9956b7c052c2f7984e36449e5134ef3f4cd323a8484d66c2ec9987add33ffab088fbd5e86a8bbe47de5cb73ce879d84bcafe712add199c732042d5ac79b59c26b192ffea07e1a92fa0d7ab98b917fe6f55408f6fc7a7a84d6c4f2bc920900c353c9856985053c93300e9e55f009dfd018151b47343685c6aa514cc9dd16691ad1c97960288ea7196034cf09d330830c0e68008d713f549fb90da23198982530564d584e5a4f5c2f2832f7a8d4a7cbb9977b6098e3e2787a3d0b3ac78d14f0153f1ab312868f58dcf1501ff4b8698b748ce14f2fe05d72a458e07e0ff0fa1e047801e760db029630b0702f957a8e832ef8e169fc00300d5b22bc021600b638f00db64768acbe065b14b00500b641345680118503e0e63538bec20070de02ed2f64e9a1c50097340643de128b0f1c6381051e99f617300ece8e2c009d71e0f80ab806851450f984c2c7bc25151f00b8467d0035df717a0b37fec2781e2bbc4701248db970496307c85b62d13e300c05b85fe13db0a43102e42dafe8f99107bef117b0a4b19cbca5153d7f6aa1e63bb0a4311df3a801bc1c0039f20d537440ebec189f798f16fcdf1a1922e3f9f688911987dd22a1b1112ec26d121adba1ecb1db124ec2ad900a797f34a7713b1480bc6f8d9b706b939bd8b225085a679ff0d92d118dd5dbc8fb1649ef78bdad426b76ce6dbcee176ef3cae3017825c055a8d93d9ee37517e0ba66fbf800b2d09a0dc37568a106c03e0a807b6002f0782107db16b0dca1034b1a6321d3324e1640560147de379adee46d43d314f29e698a42de34f6004e7bbd6d426b360b47e1f5d609add929dcc6ebed135ab375dce6f5d6466b76007ef37a0b85d6ec1dc7f17a6b446bb600aec2ebed145ab35b788ed7db235ab3f5716034e642de724a0b7807d6814516f000304d639c1c58d2d80a590058051c58d2d88dbc55d0f301c03758d2d8e93658d2584dde36f47c0ad80646014b1a03403e01cf700d8c4363f526601a4c0397804990e1181e018b8067601560582503dba0b1fa8c310d1c6306cb601e4c039ea18565c00ec00da0b17a18980138861f18061aabf2088697bc25924bde322995b7cc3686caa63966315b248d1422813923f9c0304d482294b06d42919e6f79377dde929eb7d66e7a6b735de2d6eb6a6f8211ffed6ec3a000f6e476f23417b04b4b4b4b469cf72d9d96969696883a562b8a14f3964ec800c813a4ac0ba2b69e0651b5812955d9fcf76a5f1a447afec5c4dd344e689c541b4e89dabac54ae57a39896f995eb6bb619c153d3d9bde30ab57919e57b99ce87957cba6e75f58467afeb4828124b3c0187d1d91d711711d91e9b552998e5e2b15518b88d511751dd1cbe7bd5456cbf5d3bb201879dfc4642598bc63b0cfcb367cda249e689cac2e8d130ecaedbe619bc6899e30a57f1ef7982079a3fb3c8c493c9ddb62e278b1327174f9d5c4cd595cf9113ee3328e1f43e60654f70d33ef39a936314e3ca16a1313cb5b2e8d90b75c12216fa934236fa904cb5b26c9c85b26e5bc2512ce5b223d6f6914236f6924d3ed9b4e49cbdb912530a5efae5030253ddfa271d95f79c748f82aef198d2c6b095956d98a842ccbdfab2ccb2a43b5262bef6fbe0ad1a57ab3673b06ce70eed53c2d5ae52db3c8252518794ba40c93b7349a9ed28d2aef9bd92c16fbfe4a8401e75f29b8bb5352aa36b3cba2679e2614c1e88c13a10e20af95ea8a52d63eafabd56ad356fbbcae56abd964cd56fbbcae569b355b68026db669ab7d5e57abd15acd169a409bcd56fbbcae56abd9926ca109b4d96ca109b4d96ca109b4d96c49b5cfeb6ab55acd169a409bcd169a409bcd56b38526d0669b49b6dae775b55acd366b4949b69a2dc9169a409bcd169a409bcd169a409bcd564baa7d5e57abd5421308da6cb466abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aad56abd56ab55aedabd57e6a238853417ca3ebcf4ffda1493fb57e0149ba2b94189211220430d810d6c2648208022613c4cc073218a0c213520512533a24a6b0c0078426563405aebc35a1a2691316c468796b928445e249098e32804495223e20a1850f4870e103123d20e2031242d841c6079896b7261768a203132158458b8f8b1b123db82121042e492869931cc068794b42072d6f496ca0082554f0dd92f03ceffb92504a020649643141055c39a609e8284219249f111854172d6f4768b1d2f276c40fb096b7221f8a8a6e452db81569b915e50004415398e4460223e3389e50244092a1e58d044d54d7f246022598185ade4a10f4f2f2f2a282b995c0c6d2f2560225d2047e5ec7d930d435ef1a3405bd0825cd2980c12e602d6c3613fabe590f3dcc7a80f5303b02090b0839020447841c5181234272a0472d6f46c84066071374467022b01f30e28720214658204888113c0c9111d231e9828995ef89e7cd6ee21cebe529631c572d906ed2d1065ac71cebddeb68139666ab4cd09dff624ca82cd9c25a6b6798e99a3f9921574abbe4485b2d6f4ba6dca1d50ae8fb563244647458f1d4d54c46872d5b6472b82d79722b428ad71745b0404811510c812244e6e75644124518610b022c0830184c8bb5b07f3722a8dc46a0f402821523d5ca6a73978c10a1850721dc8a2052e42584ee56c490f6c1165a11976e4468b9154164028d0089e84888a3dec77546b8bc6f0f0f0d437ae082c92834811f0f386a3f40645372a40429532354561f1e313221a95fe2d1887536640e2a6405aa8300680e2a481a1c5b6e7c118021dc489a6ab311424d1052903475da6cdca0f00300f8e0841ed4e081093ba0913475da68cc4af082842e645cc468e83d6d23e4408b808319b21b304953bf025933a5bc51254dfd9e36c081658dfa3db5a89191b1fa8d6158a394ed69a344496a4886e8111aa34234c8074fb242a2eb815c2094be7c70338bbdd6239004b39917df375372440423d801a78488a9a408215d8ca00b8b9b68c11354a0b0e08b23474a924c25430ce9e226021f4440040827c4f01b3481df2c8db5ec84006831e748197d085e536a05b2fe61bda5d196332e6f69f461b91cc7711cc7714ebaaeebbaaeeb6c9ee7799ee77946dff77ddff77d42200882200882432693c96432994cb5300cc3300c4fe486169e0e193224e886265e48fde2871614f3b4fcfcd0825634f14250597e7e7e68411f4dfc902142622c7d34f1427224ad68e28708915b6c3f3f446234f1446e68f8abb25b651fbe57e58daa119069dc71a8a453529913025e344e099771ea51a5a621b8e062cad7978c0a461c753d276decd1cfcfcf10343943cb51cfda16107081910a98a8e16005525a30c41170080f14e12e3713ea401723a84115515240e3a418c202dd1244eebdaa21aef84128615b20f10d194204e3103c646193680987d841c82b8bdb1051e84ecbdb104e704bdf1783652b3ff4a7dad05ad6e2521ba7e56d082df4a6363b64878c506ad360dedfcc423fae07934b72456f79d90008446e42f080c8ab063721b2d0262d6f4220c16056ac8569317bd10046031a82a41a0faaf470628a26565a30040443481e0451f382503284e3b8e9d91582b0c009c9107b1b0231880a08a94016498c800a1cd4a00b2c2c08c112770b410f7878c1e016c44d835ade8280d23d61bfef5e27d409d5918770557acfa05174bdd5d4091637e354597dcd5a203d5bb92f2d6f43e0406f993483f49c9264235f37a8429fcc2158b45cc16265532795de0a59ca110961a4e54d08275acb9b1045e87a84d65469d37196d6206dbe3ca75059bd9785a06b954b9c156df3950cd4502c40e82a6d28162aab548bae7588ae413426f52d8825b4466da01780a6a38f4ed34c6b4daed4406c09eefee4d26be9ceef176913ca6fe290b206b5b1afa72f7a7f55ca64309bc5e0fb66af2b66af2bb8253d8db82a258d912704d4cd2cf6d5b5411fad2aa9b7d97eda5a6bc52c4254ad95e338cb4d6e7296e3e4e4a611c7711cc7e5ce07a85a6badb5d255ad93bed61715b9a4050f68b81879cc28bca83c64b5a2a5a4a9354fa3d70b6ea8e5ada6a4e57de81491f8547264d3d3484fa45b4d48efaf7674f300155d279e3f5a1be93977e6961d989e9f43f4dc99f4e5822b6fb51fbd57ba5e7e7b538a58bf2ad23710d874d5ba4ad15ba5ebbb71c79422697acc28b43db599524be971e88c226feca9698e226946fa4fdea07987d3c07c49b9f25389bc51c31ca2a71249237fa3861945d2c84f117c20494f232d022b254d14dae6692469e48bcafd349a38a4c81b52cb2c23873b8df4feb4947b9a363d3e4002299b353d3e700219937ac7e83a4da0a5de2e3d3e50848c495d2f4e1c3d3e7084ac2175bd121e80426f1e68a225155ade9054d12e2a529bef5ccdfc5e97cae4374c73dc25a5321995d17b5d95639d5c504943596d58f7afd5cbe56f70aa0d1843b571b9949781861beafca936f8f233680ac5b8cc979f44bf745d7edaaacd7842de9f3ee130b08c4cf3d94d380cce196806ec233c8571062a2176121ee267a01144b88c7f782603d580b909f7702b0391203b8d77d895814490f119e7f02b03bdfe7c8a636420198d977015466120fcba098606e47d261739d164feaf3090e9f5187fc140af186ffd848162e422950604e3315a771d74ddf4562e4243034abd758b815cb988006840e15da65ce44503327de6af5c444503b27fdd0503d1cc5ee323069ae5222c1ad0f7991ab9c84703a27f1de61503c1e4222e342098c7302117993420d55ba7c9453a1ad0e9aec760201ab9888b06c4fd55422e02a301c5f8eab18b24e422281a9078d765b9c80d0da8fbcc63b9888906e4f2d62f06825d08900f6d845c64041a50fdeb22e422321a50cc637ccec84556a001a1ee3a2c17b1a101819f999fb98c5c84d280ee5b67612021403eb49c8bd0a001bdbc958150073a1d683c5078f1ade35ca4041ad07857062a3269aecf1ce8192846069a19883b903d503dd03c7d91499bc940aa03bd1cc8e540f7a9b37e0322499f70190c34ffca40ae0c643a1078a0ef40ddbd1799b45606621d68752018078279cc71ea0918079b66ad606018aa4c3e06df5065f230f2aa17ec8263a832f9149e3f55267ff124aa3279d469c40da8b2a02a2b5a559994ffb00c5526efe129349ddc051ae65095c92a9bd12f04b6a6292763a0add052015468f91ac17db97e31b9531ecd9759896a167a64245ed3d77d5cae81fb4e0d5c9e45928686fee5dfe52d03487acb24296fcc4c836650109877ec6896bac995c84925ba959efec5e426d199f44ae2d64a54896a3a849272e0882641cbdb90920e5145a2eaa5bf9d6904c81cd24363f54080d04063f53cd586062aabcffbe60ce5824b425506efe05cf2e57d912040d2145c0898ae9c20395ca183137a1aa1855f4449410f4bd04c4108c2f6640b5a48c51227b0010db565cb962f68a82d2df8e81d496334569fc34b05d7856a331a714663ce9162ae2e489afad70aeefe8bb81cdc389044dea8d7b45a2dbfef0efcf6be41fd6dd2dfe1e906ea7e9fb444b97cdf97ef94eadb05e6fb25e65b05e31b66f51da3e5370c2d57ae6fd6ebbb25f3ed9af97ec5f896f9f78c9631740c3c835d2dd60a460c8ceac5257551a7510c4da0a4f13a4ed2543a25cdf7b9bc63ccc8bc5c2dd60a460c8ceac5257551a7510c4de0e7759cad546a9f99d9ed60ce2ca5b5f6fb3e5114efbd2a956af51a6c5ed118b5dfa936bf68ec164ad89c73e6975d7d2af15e51f5adec4bc6e6ce95b70d68b96dc088ae177fb8a22b7d2d0a5fb466672bd131fd4563ab1c84097825e2e78e92f17347c9e9734709ea7347c9fddc5192baa853ce3908137b596fb97fdd452f08936f6609c4d040e65d35bc2075660662ca2f30afbeacf2f267b3bc0187ce07a4d488f0456bb6921ed377c6134a5ebc36b5820df6ebbef94fc7741cf4c4bbea2efc3afbdabdde2fcc3a61b53ae14de3671df3a63abc79db7fdfb4f3cb3ae14db79ccd1fe7d3d34d4ecf3d91e8cd9d87ead4e3a02db6df5673ffe6bf2c69ccce233af6d5c7a6a8ef2934c36ff09df4320fd536f374bbabdd67df656cb3cbf4efdcbccd3ee6ed63984113877d976bb5a973df3d7c1abbcfa6320fd5ddefd7d92b76f69f69d4015a1b62fb70626bab9d41baf3ceb97cc4220a83c7a9b3f3b08c81c6b8394d9ff76f7ea6ac631ffec32a0d62a9270f130777e2360f9d3ab75cb5a139e1dc99fbe461e2f8ce99c62c23877b4ee4de85df4de778f86e3af818688decb0e43edc596b3f6cadd7e5c9c3acc1591360d1a29e9fe76a559ee814b4bc5519a2634045c7b4bcc560890ee53c72e52d065674a8c52fe91015c2e48dd47ed1a4a0a5486d5e4d33a409d3d3c7e06aadbe5bc35004411014b18e497e20288aaccf9dea63d61dfecb9b6ad3c3bca9168f43ebdc3229fc6aad37791edcb5e60a661df1a6830f650b55ef9a3daef3e9c1e106cdcd1d44d7cfcc592d7a77e7a13a31c74157bcabe6c06d3d8ba5ea3d35e8033ce7bddb3cf43cb43ee63a6649775624dd2bf4942ed0d316454f6944c3ecbbf1bcca79f38ff1a6ed869f1d7b9832deac0c66d3bd7742acbbf286d1cafbaef2fe60c4d81e39dcebb9797b65e2a89f19ac75b7de7ddb253db6301f73d4e843d4dca777cfcaa8fc31afb2509de057bb9551dc4f630bf33a601e3f4e8ee33266652ed7af6064d4cc7b14b99a0e454e9b3a6dc2528bb5be7231b3c6b6575ae06aea2aec9d3b516cfac5374230402b6f7c5ade852ff51b7bf106869e223785aa9d7b664583f9661deee2c16fabc12e268ece25efd9cdb5ad8c7237b30e77eff322ed31c1cf31479ce70e62d777efdd692082a1b75c5a5aba177c37830d2d7ecf6043dfa37878a8be1fbfed6a6c41bccecd7b6af0e1bdd187a8459694cddb69856d061b7ad6c5c421e65dc3bd256de2f407e24e7f7b029ae330f785dacbb68b59a3e356f344a1bcd47be6f0336bb3d94c91ef9ba9a4fdcc0eb3991d7080d46456a1a4831f1d3ab0c00f11598eb6787283232b8a56708513a429333df8d08512133f800205114594ae300a9a09aa020355c080527aab8c661939dca0ab43ff031141cb5b154db41c7370047c7c7c68520cc2fd87a9a7bb1c39d0fb8ff05c77fb1ff7dd4d36d3c73c972c931fa77fef9155e601f9e172ee6111ccc3f730f9a17af70bfe3e95a72df7745feef1724f8fe9d63efc0feff6632df5f1a7cc9dee927bbabb1c26cfa21e2ef79c72cfc8e4cb0da8b2fae37b782ff7783f3d9567adcaea6feeb147e59e9329f7f4981e7ecc30f430f9f1e51e53c6b934d4ffd4d914aab2ba64135acd928aee77e4cd1a6d95e4e57bd4e58fb3d4c567d24fc88f8fae4339760811d6bca6b86a9c3af1d42c2c2407ed8865d4b2bd5e83f05dae3c97eabdb71a7ca803bc0bde53bb98f0be419bb60aebb4203578508fc7a1a19c1800efa3c32aca6af31272f845631e52ac638f83b61781fce8f9c17addd5d11e57eee1fecaac9b8e53392cb5d4e2e93072dc31b1d431a7c7fcf4988753e4724e17f72baf2e471d308e435778abb84b8d0305828099bffee367bd980041c0eb327f1056ee61ddf5da1489a5b39363cb962fb42b0726bcd4a1e4e1f464b530f53c0cbc33f5ccae9cf0310f1f9377e61697dfc3e09db9e5dda8c395135e9579aa061fd3dca803759aa5da242d35408906d65ff5957b8460df3269c6b75c12e17bfed046f859f8f58917c0fa2bf7c838eb2ddce3436bbdcefa025ef90b983557c6a94166918c99a76d16c99055b6f5cc1b071f9ca6797b072fc705c838ab857d6872f4c1e999f7e9609e1f7fb30d55ef98d6a1399d1e3f021601cfc0301938dfa037d5de4d78ebcccc53b5779a792a1d1a1a2282ef7a65fdd0993d7b64782af716ee699d087e0feb44f05f18b37010eb7f0b07b182586f7dc43adee9c3191c348f4367b0a4817f615937cd36747a9e8599d8bc9343cfacf35dda3445a24996a348dfa5d8864ed3874272d05e9709dffa4c4fd02b0789f18b9388901c9ba7ea2a92685a236f5554a14af58adcb10fe98966697943aae990135f6d82c8cbcb7f7725a594f9653e93e57de5d971aaacfe7599fc052bc35065f53274088243ebaefcf357ab05abc1bceb4e0efd4c24c6652e8619082512e3ad6ff09b22cd642231ce3a4fd534dbd0e92f2b89912730738e2251242fdbd0e9edd3caacef93c94795cb3a9d8e129792d6b9732dda7abdf20ad31f1d5a2c6dda852720abcc8527d07a3847185af91b0f60d372d40103eb3814b3f2aaca7e74fd89a12c1ccc99f7b4429a7236d0737cc0dd2bfb89a7be591174a36248888c16192db2467ed373d39ecbd4d65829a9c441a5a4f2925e4a1a049920ccfda1eabc1cad9c9a8ef373acc1143ec022c383db143c90f1e236850ea6589ac28b5937c50d8adc86a630b15896a6c0426607d7f4829ba780a287da822cf5531831f4d895c3622d207ab5b99fa26601d54a8a251ddcabe56d0aa1c7a608f25c50c4054376008375612dec4a162eac51d7755d0f9ee779520851999462e8bb3225180282285c40a46684cc2205112705931eb8e83aeb4951e3a4184208173e70578e9450b0420341f8410b11414cd9e268a93bf28105b8b8326d5c1cc9012c073990519251c201c782251608919952840e3798124411991b4c09d29f96b7293f5064b0908181942d52846024250852b030f16f4a192ca4dca002b50a294945aa9082145485142978a8424a14527c9051a2ccc0db620877399f255e78c1240b2790f821d2228a1426a41d4e40c2135218ad80c806aca88115a32fb8282aa8007739a3252ee85e9594223ee003a32876202303ae065148c04531410f1c085cecad8d281a3045111214a50226a31e1491a1e216050752746822b4dff4ae637ab7553960d6f16e7a7dd6a9379dc3db6aee20d69126cc03ef1eed633f75cd3edf9c2b98cdaef8be9915b45362566144c505a8cca8f050cb436740850a95152c81d2840ba68842298a2428b280028bdb755d0b6ed741d184caa406a17842655283504081c20546a4b07274bbdd9e087202c96c251365cbb0e07a5adea038d1fb8f41298241d9018a0e7a7f7684a8bd95f63cf09e07c5f53c154ca13249e5eba1822a542639105f5516573e2c16b09dbdbc55363d1a68efd78af63c152869cff3bc2eafc0de83a0d2ab151005142830283327604ec0603015580bbbd930606bc207489e68620ba1279aa08281279a3032f244134674e089185ade9af0419fb4bc35918313466c21b031f1031ee8134c2ced309f60e2ca1099272c13543031c5db379f389e5078d242391a808eff8ec293766ae19b168525ed84278d6259e7b8e333bdc39f89b3de456c4ddfaaf5c304941e96d3f5346a5a642ddd527069f4b3449f8a5200456f59e5e649399c4ec0a56102ee0c6967c40ddfed49962aa994020a2f9272a081922a8cb038020320174f84961042c60496b396f34992051657d88000e2054754b93da9f920d3e4de9e3c7142ef7b2866b324be6f86c40c0923294038b12941850a5aca1cc1598e43b2836ab55465528795dc6d891f388ee34e60ab3299a22582ec123fb59e60089ad3f276822c5da0565dd7c91471bbae87932c5506eee8e1c84f09827828f2450c4ef0339ea0871e6496d02a9848181c8008226644c066ab79950832011022b0d5da2a4374412d6f4a4cb9125066925f25982022e5ff9b1243280184de9f61e9640246e343bc65d0a1b5a773dcbd376f1974eaf4198ddd73381c3fedb537df158ddd714c8da7df9f4ef7baa0ee4f3e520f7ffabe7b51392795c32cc7bbe01da6ee787f3addbbaf3eb9523947d2d83ded70bc771c53f73834bcf7de7befbdf76a1717d65d1eba5c1fa8cf68ecb6b0753977960b8ddd7bef6db15a28d4592814cae55ed54ff8e52a9cf3e2733a6a74c12814a63a75b98ff8b465c8194fdc51dc45e59c6658e9316f1c7418f3715263686a88d3f850c6501c97f75178d4391d75e9c22da095ede972869fa6cca1a4ed6190b4bd2adc34689eaa75545fbd07cc6dfe2c8cdbbc632e471f367f3a28ee210a7747e651461a75f13670a2ed6172ee6deaf6dce8e374942bfc0258777d01afb78eda9fe65ca9ec0ab32bff78bdc5a17ee5eb48809787afa8ccbd7b68450e5b97cba0519f630fee36bb52b71f7fc2aed4c37d350ae54afd603dfc0f596561de326819b43d6abc87ba1c5d98fa659fee9265e4704ff91d2aebbc3ccc3ae2882ddea73cc34abf641ef328b9ca3c55c31c46b63199a76ad539988c435578e3703a614b632807e8b0eab1c71e7f3a2a5b1adb3c55abf20ea2edb95187e9d647d5b6c7295b1a437d0c515c0ed5f6a671264a2522d239263d1e854d4fe12d834ebd8e3a4c0fafbef75fb569fd3ed4b103954f67e5a7ce61f1bafc74f9c2fa025c999563da7e01d966538fa9c7ac637a9863cadb47a31eee195612d4a309a36c6083211d1e95ca1c3ee12d833efde52e9775fabd0b7fdc2f96296cc3d4f727bc4df7f49875500f3f471e630e4ae57aea7e5461d65f5cb0015a79c5e1f117a7a81ef136e519563afc173ea4220aeff035f868d447d7f8d44f77e11687b70c9a7b0aff68ddf5111ba0955d3fe11fafcc42a16658b9defa8f56fec1fa562b2d6a93e9381447c3a0e53dbc65d0f2920a22a858691ba6a40246df18fa62c5164bf4b65b08b105105b3cb1464249c349b44590eb090fe9a6c50cf48ac6b4b8526badd6deb4b869b103574ed51b071f794abf08250df154adba7f9e6a753acf61fb4a2db5d656fa69e72bdeb9b203b2b34b9aabc9777286898b83a6f356ded2f9ce2e7512cf5bcc714253c62084e4a29f427ada340e0de5b9188484781012b2f60b2c94aa4cd19b67cf6083d270d6b0a7b85ed174d461bb9835e8bb5b8cb530b2f2448754e46eb04b3446ad8f5ddaf1ec690d123927d1f475402ae0e0704c2d825895819b55ad1924d77e85a0d3e80af4f5b77e654de7baae131f8ad97500fa31fb6810ef4f5bd0fbe7a34d582269104bced298ead48b17785ecdb45fcd8e033cd6cb5bd4dca8e3cbb6ae007e7fdc4c0dac3344f6137be24c075c60e1167c3d8d79fb4aefea877b75fd3edde56f55673ef27e302752ef72ecbcd94d5bc57b243f71c9ddf3e706ef3468e04e1e5177584563dce78fb5b9f4d6be563436b3e4ee6b3a91a8b44bdc2d8f6ca673ce39e7ccd0a58105f1f3596eb488bf950bdfbdab9c65c6d979c3c32549140ce8995d3cac9e9ff7b1f388a4a19f09e2aaf68a7e895bd459616589b695767274c1c32ce0c81ba2bc31b78ef70ec7beb8770f5ff077d81c5d5eb4a6ab69ee2e1edfbbabeae8f20eefefbbfbc91e667fef6a60d3dcbd1a14e9f09fcb3f7cff42bdfba4a30fce47f871878f4efd456beced788b5d2e7fb9541d06efcec523bccae572178f978fe3f7fa98179cba0bdee1a35379ce5fac83cae14f5867cc20bea1b199c5dc7517e58d1a66d865578efdf9a95a8e39f787eaef9ac35373e377eefb4c1ef8996800bdf3741a0422471f0dd03b31f47710efe4d0737cc1878697edbb87a049c4a2a4e17224cd3c0ec561faa8e8f7730b86a2782f34819cb596c76aca499bcd114e0ae5c4dd7e2ace524aadb6ef7e3a5dbc85a12ec7138a3b71dc899b317dd6ebe02e472b6d3dada759b7b082e41e355a995158460e172547d4b5286b7568e23c6e7ed407352b16e1f77ddff779dfbdeffb0eda1a1388c383f730087a1d078220d875dd41bc67baeb38ce0bb11701188723009b01e24a1ae372c7c36a35b381d54c22cae204b72c88f42a0b1bf5218b21bd573a07badeb208d275ce4cb9fcd1d8cc1177af86309927f2d30cd00049cb5bd2150d002d6f4928d01f9df9c0953436ebf63e6f52eec8b5b7df8c1177cb1f9afbe44092935b344528e9f75d1c1fd2a8d5e3aef79d2c0a556b8d85a1883d11771ae4f4c8d2b57bcb1b758497e317829447f6445c454c358827119f285ed56a0477bf74fd4c11d7de8465e4e0819587dce2d11c85d51ead011fcad17ee2779adc3d2c35383f3cc34a77d4ebc68e4a09eb673c70b734f2a4187e3c85f2a9542a954add7bc57b6fea622a854f47e13d032c15de9bfae92453f3dc77614f8578e6add21265e9bc1571def7e2c330f5b96de8fb90daa5531d758c4fc91df2a8e3507db1d427f138351433be9929ba32bbe0d199105c3a87683a9332f5d1181277de19562094d3872b6f4943dabba4a30b385ada5cc3d43a406f7cc8c2f52b5cff82ebc3395a0ca3a4bdbb78e40dde754f47eb75dbc77cf6a6df6d0fde9282b4779b41162ddeea68dd6218af1825258de974f4018ab779fbd087630bde610e6298bb601df1e2ef5f5eaec2aed6a55e5d8ea97fd8d53aeb5287773dc42e1ee25d17efcaae56dee1a35577f160a56010326941529eb0ebbb83070f9e85555f61d561e07d3af818ace372a9c1cb31c73b4cdee241157ec930fc55197717ac033e75b109a3b0ce298f78fb68317b073376ed90507e7eb4e9df2daec18477e4d2cf8fe671d1e12b8fa8c39b96b4ddc9a1a9a401cfd369d343dae93049db1ce29d18dade847772c8177c9aa001be1b7b7cf75eb13d4eddf1ddbbc55fb634c64949b34ff4729c71e05a18f4e340c85dc2f6c53bf6f3b505f99a81e49860d0dc81eccc1968ee3be40c34e7a3eba69afb4e7d387113baa57d40a0ede70e39832c82600647f4bc959206f7573c1f4e71e7d8d7dcc9d187cdbbc7b543bedede6a1c6ac79d1b86e890c38f9632266dd691af79a767be0ac13d0c3ff0dfacd6e6add236ef99a757a5d4f6564b3ded3f4c0017aaa6216960b83e5c4ae92c866a63f72c2986f4a395d1ace23b6b4848ae4832a2675ade6010033d8321ba042d6f5864d1e1c7fdabb5f230e99a270fde392b5fa5ae3c08c90fc35e65afd88cd09d7256aca23bcc1ba643171ab406f51d466b52d4e65ece45cc331de07838ad7accb9c7c0b9c03827dee5dcb9bb40c318bca2318efbcc0f57bcd4fbf3211ee63874456b62f2f7a2353059fc0c06aed46216af8281c5a7545afcc5e251e24f58fcf00e5fff8979870f6fcd62920592475424de32e9b0f0c814ca309b7004667ac3a0754ca6bc67da746ffe13a9cdb549d5c49ec2af3289676a97de8bfb0be9a8e364bab7da57ea698db8f4a0694e256e7838cbc3cd5ca0ce6ae9cc05be8a85fd1ced250f3789baf0845f5a567162ef6138bba12da8e44b57b63d2c9d221a0800004100b315003030140a088422a14096848134b90f14800b95ae42664c970a931846311463942186000200018600630818293a910360bf22a47b377555efe98f2a0e059159653d05100d1b46e30feb1c9074f0f0f20543bd243a719561ead538c3f74f401a3de142d08061b7873f80063bff8e47d3e9d35b2e5163078b84f3a9749026d55fca1d03508df1f0ea7a7151c744548a8a2636065be368ef4911b2ced5f8bb8894a4eda17c7a3cc91d986b09bf26074a15930b46acb17f028fc355c8213cfcfc0a5f4fb1e1a2378db5d5116589d896b8260a292180465dcced6b12d233e588b9b08b8a2a25f814163b184c27bb676977e5fa5c22105e6d074122e3f07e6fbafd2d9ecdd3f3fefda2e964f4fe02f1c63c7ae8c379b3e2e0501519a02e9ee35276fe4ed6e77f053f0425e5675740f8073da2b1cc0c3965c27ec941e40abcaca94956245797cc806ff3fa3570e38773338d65075adb1db58fb913f2aaa71018ef89d6fae4862dff80a68755ed58a5336c26dd689296f1d140b98356b852b5d1f6e60057d616dbb124c27cbe607b6146ed2f8722a58d5851d9cf74749b5a858b9cd0dcbf028be6a5fbdb0fddb484ce631a4b506669ce0fcf46e4c4d9ce70e526cde45e5e4a9be64c868889a291bb8d7f11b5da0ce4034f2a8694ebde737cebdf42281ed7498e497190bc65b0556ba3b32aa0d6e6a2815b66bc35567e955ffb990017787002f150f99356fe2b9b13aeb70e9c514bacca36bd1d057653635740faa008f544c862a7bbe4b04c44d1b829ce98d6880b89d31f5aec6a1273aab3dd88427aa7a231cd7d89aca331cd1060bb132a66fc7041c0f1534e301eed1c8832629aa8f3841598baa3bb3ad7240fb7ae1b509bbe86de208a19739e458ec025a51491dd9fcd06b7a6d034a7ed2d4a2e310d1d597348bd34db935be30c6e735840c1b33a4862f2ac39b840d9cf0c5887887dba51b1a6fa2e0cd2c4756305a50349c0b60ff9018dfd0dee4fbf12caea243fee2326d1f7fd51a11c9ea02703f86f84c12de5c2743fd9094070157b49952e8307a521d8ea7ba78ee8ca9b189f614dd2526b8f447702206d60333b4fe90e5996db8257a95d86f96521e7e8bacbd846c9bccf7c785b39acb8a06bfe62af42a61a1d5f03814c845ac410085a56cbff9eb701032cd8b9259f3d60407d2690b0f74e08779075677688fe4307c01ef090d42fd02985469352c2e5600b226ed6adaeff7ff5082d09f62cc8889b5cca0605583c2c07770fc5e661b48186dcfbcc904bc91532ee59cd304090ae979dee3ede24fe49ec11a544f2770990d07abee45cd172627b5b9bc635d1b51fde9695c6fcf0c6617feaa446f342707c8296bde8523733b8d99cc323c5ea9a8899b6f79a20128f1460a6ff62ab0d1d243d9ec7cd99a38405df85aed6482a287489ff3c407a8cd350f609ac8c7723df0be2134693d7e16569c2f9d14f6d8e1df67c4205df7c3ce62e259532c12588dfbfee7ebf6c38167605091db3aa10bfbfc035df9ed46a9f475a021c35e0a8ecef1806e68dbcc22741b90dc139871f4f3a9277ea8c885e48dd0c80de3e05cf8c4b45fe2e10ea976791b6c9bca8ecb15a92103a0ec4e62e7fd3b3728a4c6773704bead3239c9c7c761ec7e096633f1ba79ee589095d3e797223763764ec2daf41edf39398259898951d1bb1c39bbf58f3632721df776a2d82ded089be47610856c8eb1720274a106faa661bd5d07ebb0d961ac5d146a8103038ad4da0c5e1c8630a12475d68300a33230fbddd8ad3c7220ec4f253c44f203cba43925f38a1ca4213f4998557d5871c9b166b6952282fbe21adb7ab8824053a0d9e1b533226b1ad36ca60ac0d4363cc8a548fd0acc0a0fe54d5900c6ff6a114f047ed18fc15313dd4d131cda3eefa43a5255c08b16c2e2aeae87c47d950f3f7cc969d6c1988bf53af59088e7fbc72baf512e6c7362c7cae5141256205fd9e82451aeb397be958b52b691712f7a61388a79eeffb1a789ef42c930a011f37d1e77b80efbb6bbf03c81eb2fb81519a9e2b1722752bbbdf71eb1873498fa93a400ff926102f970efc8b66b5a5f6c3735da02e98168f4d5956b13d1b34a4bcca0517794c6424b34d92b57e839a1bee59711be7357fdebab3d77f4cee4c66d0fc64f757243f1988bea34e729c95c0c6d9a703256d9032f9fec4b505c8e4d53ca352c657bba220464b8ed619f847caee08f80cf8e3a4eca679871ef7a496472eada32e818ca888662177419753f8115f159a3a763466466e3d2efd472877299c9f4dba1fe42dda78d800a1cd02400160cd661b5d03456958f3166d7dd1a68b195d51e22ec072717434f058fa1ade433edfd26ca66889c91d7ebe9bdafbef70d9c2a0f38480ca6d8e26b8866845f8cf01d471a34c8467938fb2b45e78dcbb7d0c2280a36b49217d19cc19dcd225d4a8d277bafa49f2b996d3dc9cbf6a562a9996911a24f4400d04a8a07c3e153867a2277b8618c785a5268ca92f1bad2c9af0474cc12de68f3939843247fbfcefa38ec2c5e231fb181cca5aba6f3b82844af6c677f996218a581a18530280342d1786d11863cd2ae8fa38484814a934322f674520673b58ba57382bd93437926e6020a738495c236f4461cea53196f9843095a8abce0069c3ae56d7a39a838ce045156fa08fb5de0d8281b93ab643d21b1211704c7056a315c36464214e37e8b80f5a5b8271ae4c80e8411aacd6f6f81c969f457ca4497d29274c63a32e426fe30bd9fe44d5032b44bdd05189e9e6b67fcbaea040c9563b3b7fad37b14c0b3695bf8da61e8b081baa162b6f2612eaf550c9d70da7688b5ed20341bcd58146ce200a5c8aabb04dac86d06f753de8023634a064d2ad24e39e1a7a16990a8c19af3b6ca4cef7a2b8079fbc956ac7e272201537b5ffec9eee4b7e4cd6207d9150aec7275d2721b5172eeac8066354908f60da569d21613d35a06844b6a1861384c4e05899565d722edadd4783e85ed95d45ade3f654f5b8b343454d474a97e505d5dad0938bfe10bfa2c513bef2d5a2bbd76309622d1f19f27beab42ec3dc8852bce285c810aa552fa173a11d39895472c3d3afc6bb6633d8cb8d35749d13821c5378e28ed69d89cd6b055b3c4140c7f1193ef69e16656c31b748d6aafaa90b04dc98962cef1adcc11dc491bfd044987ed5cd3c250e8dc01a2e72dee0a9c1f06c53784d107454c1143764b825f359a3ec40d8c7a30ac726462105a90d83f791fed1761b30c7880bae774bd44b78a1883ef1d3a8371904403a9dca9a644b411d1153045cbba92eb29f8ce3bcb518869fad84b08e1d952fb446214e2b568b923c7259f2c89b4b0351e4f5ce60296ea0ab0117d8dd4dea0513582cc718c9effecef3c94ba76576230ec80f77864ac56dc9d0ab90555c871aee88f55f0e80c241191ea08b35b464fc4266c3d85eb05e7731f753f4c0f272063dfa9ee5dc05683bdb6877f9e2dfac8c88a9f0ac274f43280222ff3ef08a3d1b9243b9a49fce678d7fd2e512ab4720ac477b287649f79d62dbf2ef671592d6d0803954b40c1671ea8607bd2ce35fc904666f88ace873e9070f9e79e302a1676821563191770de6322badb4a3a5ea4a776699bf760239c3f2de3eccf6ac741d870d082d0f7f14c48037963f0390b2e36e8f6b3145fef20a309a59afd6cd868c11ee89edc0d9f7234eed527da560ae615ae3dc028474c8892960271418c69eb089c3ef06b30503be32e211427aefb2653ea4383febcaa3bdce1e022165dfaca7ac3917460416447d6bc544ef50ceb22c82226dca1d612a914ae13360b4566bd70c23bb98894e184f1da2a524192ca937e6be4f23ad1df797ad7fd7c7be3d3b5149d331a8495ab35a5b4e0466ee73316778ad42df87c9db8249f582f4d54af1cc3af9c2e62cdcfdaee84ea2cba94cfc490230bf72bb32662d9f1f38b10aa40a96123555c0448d7d088073835cdd750e424704ccc548726fe24c2fd3a637918e16a544f42de63ffaa7d594f999e66b499835c1dc376b028a667aad7951e141b4d223500ea3bdf664894cfc0d8a9cfb86953c5d6e6511952420899743b51612cf953e6cad3c99c75c6096e6eccc7f19a197c92d30a05b58f255f3285c44b6e91eeb6799b57204dd39cc078ed02b5a45c75c8b252b928cb432f296725c2a5651da4303a9db62710c6a46384302ca9b3145f8b62652dbf19e79c66583b90196d24a481ef9b95d57e563326a2bb796dab582211b3016f4d34bf9b5da8947255a1953e39e9b993c9cd309e8ddca229e1c98d6b97d36f889ad01fda0a8c482a691613c54795683af0aff3fedf2b4f4957ad9409f01cacffcd9689776100209f56c932ddf5fc5d5598a8026ca6f59e71ebf6a5635b5b6b922d323eb6353f7beb2a5d2aef16598871ab79d9f28e4b2ab1485180860f815272eeb04b55bed4b1528d4c90d25f17628bbdd772de2b07c29a2a8b4c1411df368fb5c3e4f1d7d94b00808fae2fb64226822f6ee29b645492b8aa2827ef843903a626d19859daa36769b22770df196d878b43b67334c75b98c477faebba85f123803ebd2e2502c615f5a6f7b0115f99bd07375c7706453313d2161f4b584f6dd077bcafb2eb0f67523db8b97af39d5b039e85af4b2666e6073540ada1a7c51856a8c13e6c4cbac3827236fecbcfe7177678cdb0ea1f62f337959c16dc71f5e937a9eb07b8a0e8cbe73d29493ddc3227c8df164dd6c8372994da83e83560b3914d7b46a0a20a62f0a28538dc43d289478e8d1943d7a645fef98a25e375a274851eb6953f85cc083244370cf9a9e896dc59d495088244a74e78181353d8c7ced708dfe717162c1f46c408f08cc464f8985dfec76114518baf2a3a802ab9c667b1d8572396348030c11837e779dd5504a341c4e56a05ae184b5409fa25e260048271aca344f630226f62274e9d781fc1377388f96a0850c7f9c347a722756f646b643b9a4a452e2daa66be4db83b3a1c96e2fecbfe8d68f3417266fe446c8ecf127d4311f893ed9b66776ffbe7b1e36f79835f405dcc0d57b43141ccd929763c9a8e8c3d0fa85fa39b96f6c143b23b3ae361fab37d9ecf3aedd36536c7768130397cb4db187c45ff6a84e6db2d515fd7112249c1f9877ee2d445655a5edf30afef5217164f235e3a3b320bba69eaeab14b687b71c503229b9f69577e026fad938f91926db3a7e067f8ff08802b25af4f71a56dd5774b22f0c126edb62eecad90ca2ea0a11fd2108eff60a002b49e374f9b4a4b108a64cbaf65f0500cb74eea97fe9034d3e6003261d16d1194421ec97dbd32e92718f60a15cd4025fc472f4a1660cc1066dee43da314118d5704d68ba7615159124046bc77569e4fae8c4898d0afda98cbdff207607874dd8321f735d736201abab37f4ae64928bdcc812e630ffd02d2d61a64e35311654c424919549771e09a74fc1d90f1700381cc97e18452c6191f390778d0ea8825d36984997777e4c5f6e29b4302dd2a83d587f3c23513c5f11ae48ef14658927626b52b7c1ebbc93397aa3ab731dd915d6b61a1a977ea9d4c78b2a331e5c35eabaf1927c9bc9bf49a14f2c5e4f8374a763ae81f35adf63bd3caa29978f53888af7dcfedc691ef96ebe552cc35874b610a2376c925d065debcb6c348a649c3449bed4a89396ad0bb38156491232522ffd8f06fbbfd0516dc34088e510138a9bd7af0e9053e791acbff1ba46c95f14feace2ed5721b4b2b160879b537e91735f44838536d8b12572fec87fae7de45945aec83ed9a71ea5518cc40f1e8899f59691c6c6b22ba2aa475855907b6ce09d118bd0b8a92ea4cadc9430a6e7fe93acce7c43a4c7289b6dce12f9ed5a6b824eb4ac1c386ac5e7704feafa580d8c28a49f151859442b1269ed34f97f95f2cfed0ae022600543de4439b7e32a0c430d1a4d45f72dbf141585c767e83ad6de40a53b31d6998c0013271d7769ba38976efcdf1f343c37ea610233beee98d867e5eb4651f113686823485c21705e907ba8f7cae97c7d9056f416ba442fd2d613298dec15dec9e27628e470f969542d0beecc29cb7e8f7c611177b984adca2c93ec662e04cf22da36c4888316839efc831892a3c5f84ff6d50acb594a46defbed160b361e8d3621b64f55e850a08dfa459168b9f86cacf5b3b1c4daf88d3e21c6ede762e4df19e22790aa4e3082070900546e9a09faa1a71dd54de35a024cf20c173bbf28ea1c0657414fd9ab4e482428edc4e990ff3e5a7eeb9e81cfb81bd9a5bbc32133d5206dfa43d62453a94bebf168191927e06ff6fa73b1c2317de5ac0f38cb078c57653815de14e5b45c970ac5349a200e3ac304f2cb639f0066b6a19b32b21e713ff9248344bfb8b5c14a54929ab00c51c9612b877ce7b09ec3adb6992decd6e36a3c7d705e45b51eb2e63e8993f1a5642d496691ed9709526092a218ae4bf8bf705fc015a1825dca745671c2752f77ceeefaddc044a4a3ea1daface69abc8f0c1b6a931bc12f482c007c7ac81c21d79a2b7afe431f038df6851828291ededff56a02d5fe98b37629bf472c144369a80976549dd618a2a2812f3d24725c7ee277035869ca719d167ad4663f49705bc712c72836e3da4a1c897a56b6275a7cd87aa490461781b8e27abbbb5d44a7847e15936d0e797f26823191a32d53c3d60df045e4e258c75db1b8aaf83162323d007fd183c00e27fd2c2431a6aa152759646f6c38f37568d00dedec5e27614517ee30f25571ae68741dd52b2495720e3537f32e7231a1b58fc2e96bb5f7341410291cf1f103146f6b2317b3820c4b3b7b0e5a7ff58b16ee63aabdde67c841a88b14b9def0560fb9c402e49c083c48c0be40be2d5ae11f37392026c3cdf6d1124fe930bd55da450d94af36d15f1fe7f02ca98cdaf21b4727993a01f102939707310486d50d6fe2e460fa489044ff6b7a8f77500f9b9aba092a39e1fb9ed74100adb9780f26303accac0ff0541733e9c17637e4cc2d147cc46f796d7d28e507f64c7a14012362d3a69715df0e0f72edff4035cff00b244a5298e27224849f777fb1c1728589ce24de8ac5204b5c183f208bfa4828b92615ff3a61637ecb9d3b2fb23926ca0ab695e670c464641ef0584f419d2c2a2bd287f1b6e3d7e069809d54c4823876c58855b48719366ad43f524810ae7735cc9051f68a86fd23d38ace3b5910ac8b2ff3c0aec89b66e67bd394837b9c974bdd663e05bc67e296f12da1ba6a5d6c9bcfe61174318489ef6bbd20791d2f331806755a56352cb507ae7e8dd324055aaeeeae9c23dcdcfb5241ec3609206676f7725d054de417d0c6af5b4fb550949ec5ede56e26a5605f25388cd939d031b5d23ebe74ee4bbef9593483eace8a879afa0e3c82647490410e68ebf311a962d12bb15e3cacc6d377c9aea1771b66e745201ce4a3df0c9acea21f723bc51577198dd9ad421a06dff97dc12172545ae43d89929015b6be9f733c37900b96b5d04069d1dcdb04c91e742e5ddd87d0d7066870afd1260fe02a860a92a115d52e9960f5aa5f14b1ec10acafa073b5d15ae64f3314404cbd91b00f955314f2f938aab4d33bd9a12aecebd0837fc892824b3389dad2eca650b2d53e09249a19c354e7732ca0dd6f9da3fc15b1180c9ad3b9a422e81f896234e74a245f6da687217787560c6961c3f89783c7ba42956f20690a3de2c0c44c54ac641e1fdd38f33297cbd62bffe91f4d494020bf3a0dd018fc476c53752a588404fb7db29167b2acb53948c79da9264a16f45dde727d69815255e1f5a7313302b880ea7667085298cc33b6d69666c5e81af52e83291609801e5fd7efddf7cc926099426fa847900618bcb36cbfbbd10b9b4dd94466230935e21e9a2942d509d4f3f2ed4704d04155404103a4396f4561228036a01d1fb0fa04150862bde73b3efd6369d085cb96948b45c8b9768c96d0ce9afdea520ed55fa8bc5470a6af125575784528b446f55a42c2ad9481f436a1c928dc33c6eff48ecaf4098c19eb89835247a4bb6ea27a15b57dca2cd5a310cbf596781156f4467617b3c5f3ec25e5d32cea506a8f11facf7d816c80c4fa21eb4794a5bbfb6a9f7078b9ca98be4e8cf3520d40a252db0f29829c9cf8e31f9d5fc63bdbf4c6730e40f1b42544de5f04d579e63f71a02a59fb07a890bb9138ca8004cee066c777eacc80a46e27a28b098ac2dd34ac57ce924f9968041709f9f5c0aefabd8248b11e2ed1a7fbfe7a24e414ff6320ed49792d010c24f54be1e89315b15d95c7e98ce2a76e4c99517bd52691ac7b464f946c5a210733a3c8a751c8fd53f4fc0f54a46643eb4dee5bec7b56ccb47ef85ed4c1d744fc9e4247ce2d3226f667d69f9945c8c8a39b6095bb7f3ef0199a8e3b195db116fa84e3f844fb3275f143cbdae962bb5a6616e46e80979dc30af077c84182e21e599ff5394c4fc95803e1564071c570c024bafeca439607518cecfb10bd8edd6fb4ff8867e83b4a68077b130254eb0839fbb7ebc8f3602b162b634393fbf210e7829d81003e83291a2a8ad7c002843ef9db1af08ad28e5a863f1e86947a785d7bb4f6a2edf37fdb681a815ba2ec3ff3056e4aa819eba7046a8c3979612da07346a8755bf7c18911ed8f8a7c6e9f596e4c761960c3bf3065c3620ba9a55575b41a2607121385e6d6adedad94d9ac34fa850c4aa6353918992b9ea05eab2d1c0d0580ee091990ed39bfcfd3cb80f8ae1ffcaec6f270838a06b0f6e0804685d91e2297c23d1aaab24e8957d5c5fdc71b406c0e9d44963665ee900335b8d024e19e8d058eca6b515603570b8776de6fa4871ac413b3d11376a40aeaf2b5a283c258fbe3599d6aaab49d6f6d54713914b2c5164ee9af9814deaa891223da2116b8bb2f56ca8defca98245d0b2a0c122fd073971886d3060900462789bbbd79a3e5e71d838a92741692e0228e78af633a175710191155290d61baaa7c85dd0ffbf88855abb3f0a577a0a3101e60514d1a730e20436d2c7ae8835f954ad6228a0a051f99ae0f2a6d71aa2065525c3aa1f2d835bb2cff83ba85b32c498c16c88c84ab36a7a06ee5cd6daca8b83bcafbaaae33750ab969bfb08d1b37e2160466cac682b02b3522225191450b96634cba7213a35a5ac6fbcefca45be3bc69b8ea3b52b2374df2df06fc0525590d71bc5d61459189bcb5b125fa57a6cc529a47a61c6f0229503421cfd430b26740c8fd1cb45c5a38db804ab01754b8d3e3e72fdacd610c2ca8e851806c047f18510943e536011455ab45f645b11492ca4b7dad7f4bb8ab08a12da60aaa79e60738645600955282166b22cc10f8171b025f2c340420a27f09d87795e1ae1517c31d58273ffd7c3f3c346e104014f15be6bb258ef3535dd86c71308205eaf2cf97a3e47b2c8fc4673a3328b2ca6c31752ceb6ff79bd490320338f807c8f345e77650b44c3c339be44f5ce4aaef01313b6e546d3bf9e013e24fa5664f7b53b3a3dd62eebca0883f109f4607b166e9dde2cb86fa79395a6f6e581d3fbd0f7a70567d2f117a7cf5b05fb2639630772a45b753750fa7ae20f7254ace4fd8c9843555e3017c41e8f3a54e00d46c462c4e34bb21c6c1fcf79df52965aedd5b8ca58be559b2f64484173ac1401ea0c554f39ff84a9bf342e555d553d4aab2465bffd4cb9103b2e1eee6486664a0041a2e7725b565d4642b8168d266bc81be98d02387c32fb39e16aa4676744c0fdb5455af2098ec0151934af1d9b39d560031625815ee2427a323f56be718b062a4b7ecb1c3457c5fbed3706fb2475b734da87121e7337e013c50866f42f2b147044f279cd04fd75b0c212d16d9e136312610775099eb3c8b612d0b9ec6857362a106aaf9be0418e65ed5813f1a0169c73d9ae2c119d3bf8f1f3314ad302c8cb7e9687531f8f19b5de4613c11733288cbad15a1f975f437a72adf3649f9922bf2931d510c7414ad6bf9a57101e906329dd6725900bb4c947a4172086950a3e8b638f759141b3bb84434e080ee9e243f5272c8daea96208c2e53b83c4b882546eaec9651007356d89aa5f8d97c6506accf69ad282f1548f321cf305d8aaeba54b8d1700c316b6bc80d9dd5d088b6088ca685a60b047172818de41b937c29d4dacb236bca7671ab12b59009a6a2e044f8c37276a3c1308ad537270afe1514a9949b7936c87af093e496abaa407e4aa3d183a54ffce95bc8a840002b1b2685ab0d82c276b9f13adc30247a0dfc23f375377be15d63061cd447282965aaeb3b2d3b54a14c9cfc4474a382f1f864e69cb4e2815a72c5b23ef9c7616da5f1a0bd2398d2f892242659ae5e20f060c7ca6983463c730f5f9e0fce509528dc265d91fc0b332f6ce67e85c1db205cb36371062cc7f882e933fce68901d7162a31aa300f47fa745b6bbb93fb9e17e40343cc0dfd13c80c9f7a3e487e0ce6daa010a0af77a458fae5a91e68a18113cdafac2b80addc29a039f036bd7704a15ea71b29846bb69a55a084c9ea3579fe7c52e4c31a195b5e1f01c7b727db293e9102af283ac8364bf06c614760fb7ff239efdd95995ab1c945a0c9dea1464016773bf7cfcaad676bbfde56236e9c58bd1624694a04620c27c418865231e502844e535b885225564cc386c4bff4a521094a3cc5300314da0cf8a49a540fb88fe02635c3d493694ceb6112bbb36c53e265951507c49f0c44bea4e77d039ce9ad3b934c72aa095e215e7d4a69a5ebc43385b03a5e52e7ca4b71cff0acf5a213ef6a87c833da0abd4e8d10db21220a00e571f1d35068abf51da9a522882c27bab391e8fb90f6197b808a0ed942241cadedfa77d1ddf28677227f3ecea86ce12d3eb9b6648edcb8468795931e012bd4ea77cfb4bb823ce162b8ba13ef0fdff9ba655bf33742656c2f28750476114a8cd6a8cbfc31d333adeeb7e1a9de9702d8ee0cbd48ad3f6995801c0bd10e23de93ad2d2776d0bc755f6840efed72af227dccf7dd3aa65fed98aac3c5eb73bcb9e34c2a18f61ad7408e78dbb010b4c1ca813e68984cbae08ffe987b6dd9994b000f22b87c2b17face56075e45f49e1243bd19245c69bc2fcdfc52aba58e62a67623f5354e4b91daa67cbe09b9bf672a8e1c7fc1c20e2925d4bc485a7de95205c6f777f0f2e75618502464e3ee4edcb2ada8461d1cb8f8c57c581c8330dd1905f1e80c19e7b07fbf8762f0ccb762172cff35397ee81bdeda8d99ddae585edd54ec03c4dde5aa9eb183b06461e387627e04af34436ffbdf25c8e5685fa8f05d53039287e30d8e3041aceba301a037f9d22049b81e86f63877cc6161b8504aa49ca3f12a189c561ed9905d487849d90d16080697e1220e000359999ddefb98bc1aeff0dd761b9905422ca46a1256624492f0849a95fa9650afce072de28ddd2d9b30a9ddb4cd0fa1cc3b137048edb88920b25e59f7cdfa3fa3318d7c010bc11c41482f7ade5319c3cbb7d09bcea82809cbec3ea230e590412e90072cf2591af39ef4fbfc96f6f1827cc1167bc145651523d34c95894ba5d7a65a3b950c243afdd06d900c01211130e30be8cc44c5ada98307479594fe3a54e7756c10634c45a1af79ecad17b0f93b17cb0ee0a3dc1fbd8e31e22ad0ee2549354d38bc5bb0698222c455a8d1455e206ecfeab4f2fec18e9a09e7e557842f19700914b1ea3c2e576e983260579aa82a2c3c74e6f69ae4829f86c041246702aed5ac87e3d0f39cb37e4b600acfba0837ba433a149905f88ae25ad21096a8c4ecc5911e158e2a610038dc013d08ae929e7adc41d8d5e7f60e5e1da20f6670a474dca9cd2a0b840ac5ef994a891203e8d46a943bfabcccde868620221974f8fefc668a5e7c57004053b63c8d747f538a33a04a6c973ae37e7158c316a39a08929ba38a55c67e085a3e53ebe6151566a405b1a5eb33044e50c22b671b8a0a92f131b192703eb415a149d646882c57d44b19d943038d151fa2ccffeff0705b522d70f284b15ac67f2c30b1490ca9c1084bd7b45173bd3590157d38ab0f7116f614f0cc0ac57d16b6141a584c43fbc5c7cb0a535493f9f52eb54b55a02f0b2fee0f9b7d69ec7c6b0ba106bc5e7d26d89145d7522135eb8cb4651632a5c0a7800f986c959aecfbae995dad9bb1f130bc5ccab36222a2193323796754f370174aed2562dec6c47e971a06ebef9383f08815fb5a477455d333abf487cf07f0a1f2daae55b8ef16848a4719bd0899a4b9c40d86a9fc5f45fb4594843ad24f3b3bb1252149a256061b97b1a9c76335c28a6e27d8b4feb728f323bf85e587594ac6e7ea3d3c63e8c1efaf4ac0a53c8d355413298202bf791b03801385845fce5d8b3e92b59e96fa04689b34ce6b14b4ac6bcc8acad2e4e8ce205436fc9210ab36074dd8716734641c4e974a42ddb6da75623b34148be1d69a0c151e63f3a145f9f1991ce6df7f8338dd5aace7133a610ee6617176221d3761fe4acb22df9339c33b0eea5014a7f7726bc286ecde76c3f295c53a9532a4058e9cdad8d0e4ecb5d980f43c719aee1ed140a94a23c37985cbc8cf9a833d6c9b59b8bf9ea20308e010bdf00986486f485174722cefac3dd24487c9a489b7f0dcba977a39805f818e0ec565ed0d404c25d4bf691eb5438c6b4d7e3e190e100da55d2dbc2c6d1f5761c436a480db3654820a531254e7b4f5241a6c1bd8d1efea089d90b6d529407748e45d9086d40f7da127355036233331630ae7e5d00c259c35d28c54437d40073fecbf0c5bd4ec8313c3c3775da392757668b4df46b422408bf01daef8c59edfc57430edf5052d9caf87c011c44420185405b642ef6a4fabcdf28b94aaf4b1b63b2098fc924e6b37189b282ae020bc7ba4e80dc3c10df97d5e3f6e297c9bbcb8ecf69e84586b1d8d2b9f8c85143d8575a4762e64d3fbe5a1c2168f0ce4958a73fec691120cdb0a8e73faa552dd92c66aa628cc01ab0d803fb6521378eef294c01e096e6b82d11ebca4e9d53f5602610f8e939ad02fb17da055dc038163885430658811dc42849ff40544240405bfde92dc507ca02e6db32f29613b38cfa33998fcda72c757b5259ab5f1d691401c48b459f91a0aefb9546823ca24d1e5a8352362ccab45c8c9a6ab107e3afd6c0143fb8a4bda8282b6ac5a7cc61be655214aa8404e4bf0922fef30e07a4fcb385df3c8075fd8c34a220886dae82ed7e80b1adfca837ac576170ff65f3c84371588e2cf3f209c4ce6a390d203b17b0bcd654557007a6b89f9ca421af712d886f244772976229d77d6c9ec3dc0b76d4832dfeb85725884b57497a68d1ddacb87cbf9cc4b070b2588a8dd23982f5b76154f977778d8faf1450d8d17dc17e0910f2d8dba2221cc2bf2c1a3d9cb494c043db63dc083e0e488d838bea91aadd599d3f18414629a30d04f6dd5f3b8352c323c787d53c4ec4d91b6355d2cd88a6ea79e25b3160f1bdfa0162963c6c245a6e2145c15b8b88d41cd115deb078f3b188d588f0b448b76d9b32b29ea1649c3e6bd82621a05f4fcde017a6d2b40936a800c07b8329e8b5afae05a893f7370277bf66da819b61a7cc0c39e320684cb8288992c48bccf7800915e4fdd81496f0c6adbd663071729a0cb849ee6aee5fba5df5917f1cae0c7234f638dc7366285624ffb84f8b61fda37d93baea143814d83bfe26ca8d94b79b0658051e325496bb6f25aa6262874142f24c99ade4c641ab6344a0a8b1decbdd94b5ca7c866b3d3668649373ba7fdd55ee3d2dcd0b2fb7f14ad9d60c5e19ded1f3ac1e3b1713efa5d8e309425cbd8a4fc3e8da9eb4d180b87239f0d18332be41b6d7a8da6a7edd873285f02dfc80b7eff2a6773b9d1fdd945cf126feb265ef6a82281b2646b3d5aa6eeb617a7d7ad879855573eb6760e6e73143358a804bcacd562527b80a9049aaa1bd7a30bc805f328afcfa95ab6d7013313d65eb48080febf8e322eb95b4810600da1996f4085c289bffc97dd59943a583e21a9a0596d6d283a854e6cb9ea21c6006f72ff427fad52394008d55a01d538d9fbf052ff6dbc3c28ea4975aee659b71d1482ed73a5174bf81f8a3426b63f8edc23efc62887d9067bfb8924b691c58c194daaa316ad7f8122bcf197b72fac5211d5a60d0c39fb61dd66c5602a8267f9a5614223b792220339f29091f1ed884846e92d200f0dc9e35bf8da71e9afd18d7a8c67c4534fc507e407079e10b5023078912c16588366a32c1da96bfee49533f72323b9b584439d354b3250f258c0b8b1aa5049c4d097470df7f0371fee261ffabd2e51da9ae1b331875467491b6bd9302212cdd0f4c1b9adc2ca802336237eb17fb8bee35ac8c92a93139875a81ab2b26ecbe2d3299b0e1ac29ac92f479eb29a87401c2363bb5ae9e620337b9c7e93d0d35709d78a94670e0f6ed472910dade5d49f267ff5af7f3ee8fa837c25db8a4cfef7dc41382bdb91787d576b44d220d1c346768b3b460c826001a1bc8f61d31393fb560bbd0f4582b9b3a276968637c9c6fda73d4b1dafbd7a674937f185aec41e973a26ba8d6d7b50db59829496f91c49fc8348f938b35e03a126663d61599dfb7d44075031f6c6e9ff0ae7938baeb6c40e1c4591dbdeacef1e26cb26baac7bb495c4b359d21309df91bf979831ab7d642686bc4e4ad702ac79edcf20cc9bd041a881071ae006bc52e6ac6be75208a730211ae9fa1386cf4a0c4fc34e2150c90c25d34601a09db06bfb1fe767c4fcf72df2558748ab809ca468ce882f9bed7c8946c0ccbc295bb9282cb8f054a0f058fb6621fc2f45e3d36415c941fe45485304a5c4b5c7af951c68d539f6ab4de7c2bbb693c20d51bd811ddebd0d539509a7cb3cbd14afcf66ba484f66fea663ba82c4505cfc85b4a7d7f74b286e9cd0dbd76cf3f8d48f2fabe715cbe849b539c786beadabde316e721a7d8e7e3541745c37f703e5fbee5b90a7f5de55e23e1606c463bbbe14cfb435b9e8716263a3e0f8a7b17bd637fb2b2641fce6871a7459ff10f7ccbf3c785269bce411a9e9598cb9ced0ad8d154b468ab521960ab63a41aa6237c4a582dd27926a942e83fb2f0c45d495e7cbfd5ae0a3eeff678be5b22f3cabd7f722947fe970460446bccb7a268f2e9e8bb0b960ad02cedf67d99562363a06ed8acdcf5dbc9d9a55fc9eabc696177f56decac3be136505bef2dc2798918668d5e2ca3a734dada98d3b6eedf3954efb4fee5652bb3b91819675708e3b890dc2f0b54adf1d50e3e81316fd9721e3ef1dc529c8dbda90362131c43ab119063d1ea4a88f754972ff085d62143148e95de638c3b296fe1d782ddddc60ba975631df7c098276b446a202cd1dd3f949825f6c81a0beb5a5bd0c046d11f7666aa739b5b7a644089ec12f1ad7b2238adcd9bcd668819337379817ccf09ccd9e1fb1b0be3a85b81689bce855f5249364a8695992cf7822fe2648d5d8d9de7ecb76782c95b943177a0629019b5e117d2e18baa408dc702dae16790fd4ed07fac46545d0d21c2f2c3ed8e39b8beceefd4f62c79bd2574fc0b6922fc25cbcc65780c0cf1416b50b9fbde2a859f783669f6203d162bd50fdf9ff237d6fc9c48ce0a6d0705a1cfddf550a3a093189cc6d8bfe94f2ec1c907b631ee9e869b17b47bb1b9d910e307e1bf3db6ea18f88d41ce09ba3992ce3dd38859b6a265e250a17eca6125d28ea3adcb2cd87d1c2a9c9b28527a3c1e7fe5740f55061fed72241144274d0932abc9e8e662dff5c88e2092a79bf7fa604e63595d4b1ea825b1b8f041a11b8fa33cae280ec8616d3f45840803b2b3c007e1c1b1212074e68e7bd2c1920b0448760263343c92b03776435e08b42b01692c2a4c335d01d20dd5e97f6dc849532feaa3bdb01168709379d18768580050edcdff69266432867058edc4d5cbc71c7917610b91668ff9612b3e1c81cfd7c78e478a67f0f50f39f88851ec3cf3475855a3052b27810e1ff287959b2cc71e8d3eaab04c41ef0ea5b975bdc7038e09ce3d74b9c759877fb1f6417a6f1b09cc1ae2a3a7c8e622dea3ec3c0610f39b8a849b5081f198658b6a874ffb6ce3e5079b8ae4517107f34adf7f1e64ab0b02751f33f08045bc6dc1af2e964d4442e35c6128ec8b33d95d3d3593a86c2af8eae60f150c63c7734f25ead6d979fa540e08aa4272f96e6475fee9c2b4dd9424d107b310d28d53c3c6def773d4b0af4bc1d949a66358ba6232ea455809c04d4318eb743ffef829bca3dbefaf06fff92fd144bf76899e9ee3387c87ab7593df1d4eb60652202d5130cc59829bac78fa5879f6b10927d7520b987e289979d435b505bc4def38b206f0f31bda91d03e9436d187a299a66cf8ef907a4309dd8f6bac2857e42d32914fc19ed7720c6abc0e01b2c9c2eec0d6507a433a00c63ce740da5c954c0b5012127e8b9261c2de680c65270857b98e90261200b3641f6a4431503d10f49ce41005d2a4e36011b7fbeb031645f1e7e6298b5a7b4c353ba42946624884527e4926c0ca9a26a654cabfd0ce89da74b880bd39159918c76fa4198b7f440b10a2472ba044c0055d935683c3bf61fbb5f0f01d28ca524b5b5058218f5236fa8655023b7bc05a0f703cd06ee9868125a4912cf3c8fa5ac2dae913039aa7b35ee80336a2d29a73e200f9f86981fa4ae47df4bc302fe4de0dd1aff88b9d2b0716d13e414f0441a20dc70a35f1ac00f82c74321e8d507f46b9d121c48ef4afc7cc5d1e80c59c376d50b8b44af626104b2994253c1f6154c054a9283b5fb9427bf8c451e282d5a32a0ededc0c7fc9712aed4290ce8a5646ddfba3d0bd7831e9a01df51af92cf0a2ea5dc664d1705fc77ffc16e12616af1f658ddaeead7e5f39203480b15c2d61d2d9d945d69023d610f2bbfe87d3e5379041884489952a2011e5b71c0209229a0e87a633d606cc2d639704eaaf24acb6138e79e43dd265d5f62f150fd7896c59829f1b7ff1a2403d82b60e16100fbb8989e0ef1db51b5a3c513a82a94a26b04d46d143d05f021bf23f0029cc2b3058920bdbb1a7b8f64d1f7829d4f2770c2f7021b7a44ea2c3b6f8fb82371ae66a533834516a939c6e183ce217be62dcb78a2e1193026a588d631e85f4297e1fa458925c0deb4828b35b8e33e173cc6fc3b3f5c655de22dd36f0e9e66350f81d88b8cc5fd58b97fdc046cdf702caf425730903424af691613b70d1f4e4c3c14ae7c9e93bccdea0cbd7103b1037d51dff9c44d0f1b52be3904bf719605fcf2b6a8038bbbffe4412713af06fb62054a47003b10514a2567cee730d9d7085bd478ddc4a1581ded79cc9f0df18665d07decd04da04db3267bf76cbfc5a580a14f52cd9782c43032b8b36ca836db1a83c72c08d54daf7914f84b40c4dc08573f98ed3eabf6b4a2e0b00899a33edb43d67bff9f6defe0e2263e7f818ee0ef8f11a5bf21951770308294fa4ed17585c06a2c1641e4e72b7ed633d080b5bce2f939511db1e9995540e8af234d40511560f739cd9a2a6d4c0160f0e4e6c3d300ab63c4254f521c11cb65bd21b07e85a090715d6dcacf0c3555ad24454496d861517d1459894c56c95aacd435b2da9d09ce0d60c9ce3fb20c0053191ef19bc8cbec77a67c3bb09331a7bcfdf41b7cadc93a18ae3c7b8b6b7a1cef819eaf55bea65b9b3a9d63703436c71583c1b1f5bce2effc86a2c71b072fc298227b112247254933f989f112214f87dea19f635bf742da21d7f616a4adc06cd2cbe90b0997497b6c388be7a7f7287090962ad91bd4cf5c86ecb291e71b653f394c6b862433bed4907aaa8a3aeab03ccc9375a7904156728c957170eee202d77e26a146341dc721783ef9cc1f72f616106151d42213bd0fdd362ef48e06d81c7a5cb41d907ddc6ac00666171b02685cc306a1eebd5ee94a986da8f7c8f0d32e2b928e513923aa53a1e897c765216863bdfd9fdd886c2605a33393ae1457cdb5af3890a8e3bc054bb72f10c70f898976bb7c289ce2ea6ce435640f7eb10f02f45e3580fc027b6387b87b072585cade41e16e47f88f39f41a7b070f1c97e763f17b479cd559dc28c8bc09b858e70339f7a6019bf48d4f23ce805b427194f8a31ee15b6af9b959c83ec47d57929bb4f6d9e863ab34fc30efcbd463c13cdabf922aee669e1bab88d0a842dcdc7911ddd4fc4f666fd3a317506604674cc52b5e73cc29a00686ce0bf0977042753639ea8e177625d2d8903c49e780e03fa4e1fca747af2afc1f979178fbf4e51f72c381f998655df7532f3b9eab9409edca855e4792bc8c6a5925056cbc36ef91def620022d64f6c564490657f24a39f662652107a9326509b6e26525012b498524363165910775b9a2047b71b2928115a9b2149bd8b248024a49a1847d712c7b3521b704355efdc7acf8b86f459adbe4904f992d77c29f272e7181a4a270d3444b9272742a31ebe094a0426d15be5477ebb181bdd32b5b166f558d9b61f0dc42900dc7e16dbe4ce6aee18f21dbda60cacdc782bc687d665e50f44a6f980bd6a4c223cc21b9da19882db9032bf2aa8bf30c45c8d3a884dfe39fc2f9208a8fb818ffb3ad0d949c8fab1979598bdfcc66d7a36f9fe4089c0045ba342de2ee91dc38d9564eae7f1be06fed796b51748a5145fa51ba2573b74d6ba4bb08af7458e609721f10f88ed09a5130b4de0e1ce581a4dd7223db07a28c83f4780a0869a8f27b8e4dc81b2f66e00577f06686a322a8d1259746a358a26c9f040fbc61b4f44870ccec61ca2af232daf2ede232268bb861400dd09962df72e38b23dc79a81353d2361b7883dc8dad36836120a1d368b8fa6e5b77e634dab6c19145dee3943d99150e71cc8f9383d0f34f6674a693bad734836cd317a5a6adc21e7f6a0a726ddbf95593a8d3527758fd917b6e1f4a9c5905b34c21df4d24a63aad041dc27bddf4540e43ed34d468a76b1f42d68c547407f59197b51f3067f19a513d724dd0d01686ce6ef17158dc101ce849ac7988c430c7725c3e4d48751bf3e1e34d3bc4cb111b8b1fbd9eadf9e1103b817ef8e69e9bc10bd64b2e34cbaf811d93a4e02c155ea24e5755e3af63b1fbaa6b222bffeb3a5c73efe4032e2fdb31e71141c1da7dcec8ce40c52a15239f9db5ec4314517c12c04acb05a7169a4aa38cd4e3168c2b33f669263a9d96379e26b22da4f2babab1dafa478c02d1adbd0a8b0d08d74998cc139b03013fa455c3ea757b9473658516bb042f8ca706b622614c9426e38040cb788b4f238c90cfdd03ffe8e2f54bd6d43ec05659f1688bbd73b520a3fa45693fcc05560f38524f86f9478158bba15cfe0d965a4a3ecbff1ae3f92f537294ea6486dae0312f404459af0ff7a121771e84ba90e426ab9045f1ed8e83e6909a00d3f3835c5978bce7521941a5787ca31bea62087b8e7461ecd3d7839cb94928ee2c1d830f786e3a83674051924487a2b67667af5bb9399e6e4fcde3ed68940b94b25528123969b499a26b911e2444fb21b7a764ee00751001dec2e670589063f6523d1a5e1c878c6468c588b8d0703fa077a429422f40a2f587d21672628343acd4baaffb0314d6a1e9be923c8b75900ddde3d14d626fc1b0bbaab23c8fcf1d53667a749553f0580edc718f877c34ad40a2a7d6a1270bb4edcf5c833a7f5d432d9185ab747f39adc90070000c2f405707d6a8fb92be06829bb2bc005f60a8cb1888b26750e0ae5c32813a73d694a21eaa6784c80167763caa7b64e92317a1a1a2ca435bbe80b9f7356c920ba81d7c76e9850580a12e644aabd72c43b467faddc113ad79eba6086cce901ab0a6ba5ef575e336b102e5c380dec8439816d616284d9b8fda1ebc833ab92a0701ca7f1fb2625640c7f8b51a5ab5b91d2b577de7e47bebe096fe1b41318b3e73975b91b9e7b6005055a5342e13070b202c8e4258228906d63fc2e6e85423e06f4a69f48ac6ed89301c9313289a6267c27b5c92e68e3f9760fb2874c0ab076d75ecc5f731e839817b96d71d809bce57944010868386bbf07fd1a5f7e2810ff644d538212d79cdf0424325ec77b2bbb7fc2e89a31d02ea5cb5d339224b55a300ad8fdeab65760d457863d40cb319931f2bdef02b154e1120e7e0addfabe18763886a4fb7723b8054e3356f2fb17d50d4c6a656ee800b0ebb8efe3cb040c69551354a2d568021ec1dcb675776264f4580351a695b5c59e44ccc80722fb3c5af70809e919f158c709ade1223b4ac3f4a9528eeffca85b81b82fe2f193e32373c109a215516000054af49afb75c85134f954c2d4297b16f570e6b370886c6380b020a85e7dd6d30fdf73918fcffadb4bb51d8e246c0e552a9432c958f8eaddc442ff5b42fdc547ee3b92f4ac17a8cab5b726d6c7551da26ec86b8d9acd1c1446eb13cd5d6a9db954cc98c5af6a340ae66ab9de6eee82d55271c6ba151468bfbe1d68a4bd2993f3a26a2dceccad28f94842e8d57c59e7f71c653045db232c7a86636693a5ee1709058dfc43756e618b9cf7d5f17b2ff8107018de37f3abcbb8075ce35fbc1301b7530d3f3730f2d34ea7fbe23bf3e50387bcd7f9f5151160e31826852440d1144949fcd096a4a79e1153c02ec2f87f18a03dc0a7a40d40158131aa33b2fb40af1bdf2d9bc1523cdfa4365a3763d96699019bf09df74706f9ccc79f6250789e074e9f9245af7dd0b65bded7ab9120e917ed816440fa58b3b078cb26f87a26960614376688fcceaae432cafc38aac4bc0666747e1a47d566d64a067b83267caddc727bf589110bb0dada82e4df8a890e45a7f20e240786e9bddb3467d952ea1b9f2fbd516df6a1d4ce388faa9bf1f24620fab67b037e78367f336840eb9a5d107578c40f7b8ea1713ca96507eed13d354a6461cf001b0b96ac79bf8f9c62a33653a461e4b3ca631846e08ecddee280a8494fe9184db369d6f030ba7fcd03b228e310e59f77dfacf0a1b56530d48f781b2a14068c9bd4273ef10b06f1941ad19c4c609ce27886b03abbde5f66db8a3136b832636b0396df460b3b188fce22486ff479556bf0876d198a4b97d1feae0f33fc2ff759f8ed8bb3de902163bc1ed6456f0d237f82383ddb4c045f9c33533d4e6db002b538af80149fc908a3f800d3f10fb7e67d38b8b2af643f67e1855ee3741bd7e56faef1db012977114d5cd143d6b2821bf24c1ba799c723bb61013f28af35584c546de881e3c227e1ec49a14e5c380895ff0c258f92208d83fe922e7b4a3bc01e472dde64008074bd7a01afa9b5f1cad2d69ba072761e75c0a561eba5d759a6c2e2319d4b047169ceb09d23ea8c7c56809e166420dfa5781406f240fa2f4cb47f922abbb208f3a22446542bda1f527dcc8bd1e4dc4b89583c36475d3850abd92902ab800956a5d76a2a0d51770bff20871a486dd2a524fb7cce9769018238049af2d3264bb4df22b9ba185f7e3e371558a26ec8f417581a1a4e2ee280efc7c7d8b3557598f64791f6a973b6274dafa621c89527c499794b3e2f55fb9257212d275fc4814cfc0bcee0478ee90b581d9b24abf307a8a5dc72ab6bdab30aae7878b11cbc336cee0402e6bc894457024179a4d01e353b18122ca8b8bffb52f199b7568af11a3388f0b26b96fd043db22a970297c0d3db2b0b001a72508eed91528874e99078cd5b16be4a19b9c84b8d2d1b93b8067a00fe019daccbbdefb0773a920ba1b0f257d6e724112a1b95227869cfc75bfa16aec079ab4ea6ad924fa61634c946d033aa7494f70ba5e0a7b2e938552f2fe101a86d7324b350677c9f9b777eeb8a1ea38094c0606c5fff9e2c4bd0987028160929fd1df2a392946295c68cc2f0e45571aa734fc85b648aecf5c97c824a6975319ee2a2bdafc7701a5549f58a45ad9e910bc70cb06dea5e959cd17a5548913c4be148c70b805add51325ca5f8437c571845becf1d9525c22eb934a2a6b0227f15116c5484bbe81d508672840366f8d99020b59d0ca941abf6d892bbac9cc5e70f2a16cb00ddb26585399d6e67454625f980af125cf310dbaddad590c4886fc02d3ce2f5138fda178e86108e1df725839eb8740cd6954324b0375fc196b65e0117a6165ced374aaad3a0a8b30c04c303fcf7f9550d35741ff62693f4f71d6ed085511307f6cc51b2c49b50feeb9bcfd13e0f38190dbbcf03a2e63e7cfa046da125ca8c718824eb653cb4e78d6fa633782c13bc599892f3147b4e10b44093dc08e88aee56d076f340747edaac47157d1300910bd632c0a818377e4e427e313ed1dd186f608341c031221146ec1d08200168707b0f87c2fd609d01024a13b9c191da134b6df5a266b924d291a4b7a74cb92dc34da330901c3703268587a3437b26500a474e06c08058a91ffc2dbca919613108fb54c8628a24536bc81481893964c5fc445600e2140ce124b6833e2ff64350661ed5dc6a3bb9cda20319debaad2ea68c028584e0cb51d25935c3171dbc60bb89d67c2eda68bb80d65e336b057c4f21929ed224559dbb6c96b7477295a4c2a2be6b19d0b5fc05845bc5328b4cd5187815a9181add282aa82ed334fe9332226e1dd3d1b9380f9d187a6d477e7aaa97536519d74924d794f9406ec944da512b36525d3a43d9cc851131cf6917062667ba1fba2d21ebee7ecb1db6c5ab4c698e4ca45077d3c76e1ec935ee3265f66587a76c24242147aa441477ce47121eaa66870e7ca149477c35631d6244c0e0a976f1297f59fd0d2998541d3b40aec7fff08fee027aa20a7d425a413795fac1ca87b3fb7af725f76c974aeb615136a72eb6e58b690ee2c009246290ec8d23882d8160e3246d0ced592bc0d8a45747403981c44192bb81eddec855b4ea34bbbcca8027aa3f4214f50babbcaf1465b2923436ec6c462e6b812075538a9c449d5e3843019b63dee01a1f604d1c5aa1bd2b57b2de9ba86991b306c593876697ce2bbe48f0ec8014f75a8b73975c89925fa4e875700d921a47599f1186073992b850774aa1f28a84560d3c037aea01a602dfc16884165cded0b9cafe0f691b3f0425af68dc9e3aff4432eaedc3d922cfa8ac6c427054dd9557251ddd145a855a03980b594e10ab536542f098c12623d3f2f903a453bfdfce7384d0b4d935dad2e3e394db9f706903a5be79f4d0d81062fba82e5c4045a938365afb706083112514f501ab1dfa9386f0871eb047b0b628be3a47a2852663e3c7e1027fa584e40b7716f2d0fc1fefd9d12c9fbaf71ffcf63b823e5cc4851b3b1529cc876021ab3e5e134225d481628c46fa13839124ee91efa1ac8766aa06cec23c7bf657fa0c959ba0f4d70d677cae324c3597d52ccae706d42db8590627601c4f0e8e6a92a7e20c8001acf86e122db2628b167287c3855a849ae91c7bb64002f2a5b2b458678f07790331664cefae3608a9f1928bb1c250282233b48c1ac63a314ab620d3384d9489b410f6601f600d3dee15d07f4c5fc7bd48745be29207caf61d0d576804b477375b1ccd2799412aeb2c63f9f07380e47cab41b68c88a95cb7cd4837ea0c5c763535b3ec70840a0d25285bba89e136a39c024a5b63679147f3aecac753f328f8951efcac332b4a0218aee6a911c2afaadf075ac35132c3d33036565420f22789c9599f61ba62295f2ff0e30bf63d869a7e2da8ca717e28c912af2db8df085b0202c0b6543e061af1bb2bb2e10b359d141cd981533b33735c7057c00ba08064c42de0bfa4d5245828d358fc9df77deffcc188df502808290fe0d52146ae0676c38a01ece2cb145dedaceff973830d780b3cc3653cd9ac92babb3d8c444eb92a183af7cd92bbe46a8986d75338a779fab922f9b888d442b372f36cb628d5d4c587e5c1baf5400040fe57864e8e1a79c570c05debd32e5fd7f1c02eaf222cba6fcec07ae87cabbce2488139085c21fae14d61020be4064ac7b305514d0eb9d6f9c016d26919fad80e29cb974d6e6e8e96b4a29c1e0ecc2051597234fa8030363305c579660f3d1211c6b16fb12176f781ef55b9ee17ef41ac60ed0ed9dbb9b792e213625f75d000a8a0fa7c79ba430dbc005c607b4a4761175bf69a07d154c484fdf00f66c97b9ce4c8c717488bd64b97ad495cb0ce4746eebdc16d66f5c3c319b4081054ff56c81696bda1e2d76a12d092b4819f3762603b05142813179dc82b5877b99251a628001966a38bf67aa8ad397a62a9d7d65add2d57776dab33561516b15cee2e64bd8ae3d4454405c8419cd2e47d559d3e801c889be3edac0701bc106dfd769c64af783d900ebc92d22b727233803ba5f429baeb81b46d8fe862ccbe31c4cf3fbc9c212b56bcbd21953dd599cd5163c2d6f66801d167f64829eda01620ef06e1903ac28ce05cf97845f98616c3811846842dca6807a157813ff959e4e4819349ea3abec3f41d832cd72439c388de16008895a3fb2c6813cf0bc057bfc400d10df5862ef0c027f3e442ca91605fa81ae3835c4546ba2275698ad9b2ab0bf58193216f248a6762b2bbad83723d8eb0ec5a8759a60a8b139409e0fbd429194772e28b404cc415035ce771acc28a63a8fc0282566088822441cc186233f37a29e4cd5007a59e2f692d6687e894594ecd7a98790828047a03e945da7563f7f88c1cc85d2e7d6eeb1dae7a036ce26948739f3c33c42398e1333a43d28394ba27b36b7594282feb3b5153d8aa23cc83ebc4c757d798bcd88fcfad02fd23e3de75c655b88bd8cd3ab28268aa9bc78529c6011995f5995744c0a12a3ea7132eeedc3f76a06082b9b1535f1238d9ec5e7ca6f4d057108dc658b939b7f2085b693c2a62ba785f43ab1c121feb17eed0b231bb4e355718bc1a38ee167456d7d8e1378007015cb44b7cb71289d7264532447990c3219878388e91ea781ad4e09a1a07ad3c84c320280ae103c1982a843408508f012c19022785a04628cc0ab1124cd111455c71d1b6d05a9ac0ab854bd3eeda5a48eb1caaea639815775acf867698c6b0bf565684cb0979b74bf2d49aa3571eaed69873f94ae522a40c35fe0334ca4960f4159e425f426a3b2624769779ba2706bbbea4722c580e1e80933975251b9b49784e4c4db0949d3187348192d70c474856c663035730812a71468ae0829181308a68d46b5c499c684ea3b00aa2aea198e63c43ca0ebf14f8a56d309c45d811ec1714b411f78e75796f93753fef6e43f5cf5e3907eb543fffecedfc1fc07547e4cc8afeceadf27fd7dd17fd64819657ecc5b7e05613603fcce519ea47c5c9a7b46487f3f8237510599bf252c653971c186276d6695a7b2941309b136e63f3733875894fabc6cc7fca950570a50ed85e98692fba26f3fccc3c122c9d9a92056f7f2804971ef688c14c40e6990637e34f5ee244c54808b1b258c756188901d288a5cbffd777123ce4544c4670187410144238ec0840bf07a045698016ea1bba6affdc9f3bb34102679788b06db459e6fd54072c8c5ad3590fbb8bc8d06521c17b7df4042e3c26d1bc8605cbe4d03698b576e982e2a760535b97284f57e4bd52163f4b71ab05a9de40b46a55415d63d56053d808810128355e068f54ea32ed5718c5adf1ffe42cbc09c2a88cb7bb0c50447806c392e0174023ae5ec890269d13923c579aa80a8930816d1aca993fbee98296a8b54805f296238d55c54c7da6a404176341b644f0f9439c3265e3cf9931920e7568597a2f22cabe490d4b07acd291ac809b90fcefe85c7154813b9995655bb7f69aca2fb978daab87c6f50cdf1d776b0149074b6873c1b206b928e4e4d856cc9fd63150d20824e47a317ae0133947621452233bda5e1e605999dba637809f9a24239bb8bdbf6c64d407869dbe079950a041d8a8fe4a2b803dd0f697f6b9bda6229a2cd4d1c9ad8b357714f57553cf3f6f54c6e0f36f031c180e6c8b625ec05976ab5280eed720d310308419bb18e052bb77afd0d72bf518ea8e54b95f1853da899252d1cced2c09d6fe542a8c4044c2b3c82cdf312599a2112b27474c935b36db5ddc086963965b767581d002d4f3e46286505dbe8de7d002621435324a754a308017e402dae5dcff1244f45a7761c17ad2b38615761daa79d29ec4ebce1ab123038f6eccfa207dd4af40ae84a904cb7e590f2c46ccb1129b04f38e6ab14b0d08817023eb28cde7954bcd2b48d80182f178ec78bfe6f163995f0537fd3ea169a230f0292fbcc403069502097da667f67a4bfc8fe161830a6dc3bb1447085cebe7009099c756173d0f5a4fd6e17d75182ef6ed96da171d712df161a86761fdd520df06cec5b502ccef05ff3c4306cfd775fc0f5786c5a72af350a54da357040c4de83ae108e0777741bcf7c4b8804210cf7c4090a47e113a45d6f769c11d1356efc71e50f87695c8c8101cca57e4577ffc2ec173d3670b2b8fc39744c4bb6a2cba4f9a614df24e5e590d9c2e429b3b58c9c9be3102509c8b559cf354fb0ae29ac59be8e0006496a2e7a93ed46a30157378e3c134f62b78bd6021f20db1780fa84ef7c38f94036d4b2e882a5add123f9bb6620f6b720e5e779601edf9fcc6f46e738235d97944a2fb01a8e461f90a005764625ffe96a04ca141f8ffc40c1550f93777772884c91f9c7a4ccd35de6d8a3b4fd324a3b17f3db3e922bc1ffb4fbfd9a14df9797f5a827c1f1bf81f8c1f1e68fb27d95c0563e0f3f2677bbfe4342a8b28a8d4cf0dae296025cf84d88890126d7e383e2bbb94a71e94bf8e00e3e1abfc7e44a6cdc705432d8b008e10f73b806876ca39921f80c25977ec65f128ecf3b7a866a6138c0853cc3f7e20a8aa62ad6021c552d241a761a9daa4be495f14713d5800b58af18c095b33f747be019fc6f78e56bbc1d178dcddcf79f3f03f2979561bc601449cd8d1708d9d0d014bede35bfaf735a609f84d7d5b9eab19657c71aa3aa74e0d0fc3615884823c31e7dd1e7e9499d93dc594c9b4a84934638c0140cb6e880c5027b22faf616a20b80dba58d203d7c23668d581f4efa52a4cd1233eb008028f2c03ed2f0b80ba9595703c00fc6ecfb5293a6aa0efe8fea6cb7f138da61fdaa83c97b49215a812f78479d6b77e228a9e79bd9bc1ced0bf80e11c2114aa9d472ba878b827388184136468d06055a463b28d4a9791392a4a89de64921e2c99131b0f4d6283e8a437108c58e878500ff06562acf28794fe988c36c4787e55c6ed7d8be6a4165f0d33f249ffa57974245621d40237d92a0031c9f84936ee09e2a03cfddd2e7320792d7219d65b46b6b17bb6c08fff3a23fcc4fa416e4819fb55e6304f4d36b16387d68db16a89f8425acc5395c116128ba6a8ac11a248cad83152d78e5af94782d36f0ddfd2e99ec01366121084b1f3c21c9c2d29a9e069be27a74a42452e44646d965872dbaff778744873461b4649967f8a58b9c066159a441b02a41cc9a22501f64f9ae5e441f9896988bdcfef15bc7202620d04ef31b83291ac205bbb21f869b2549a104fdc21c404cf1dfcb07f94ddbdceb08295884b87bdb3701db3f989b0718ec890b708fa4f4c54376b6f1bab7d13ab6d13ab6d15b17cc53c31d93a2b399cdb2dbaf32b342d49a88eda2432aef68f4976ef349b5474346b500ef61d5758cad7a174f6ebb57caa9b4620549519022ae9151f304f2416beca1435892c6c54e6bb655391d04f5d32330efb71410a57cc0122ab4cbc274067cd7bf5243fe5b27d5e4ec199e0397b72bf895b78342d78cc99379abc3dcaafa1f002bdf51f514008474abd48c6fd9b7c6fd6fb9b869f65b8408df59343e567c2da00001b6d8c117abc33891b8b358feeb06c747bb1cbf0d7587219f9917534ec881dfda7f03c8313bbb68738a9e1498aaef492878e05a58af81b4ccdf4b725cfb6599078498774068005646d13c9de7694387b8fd0f3cb8c133618fc9a7c35d502945b1771a9e580a67d02f8ae492b440bdaa6880e8e762151a1209a375f313645713728e88d79b9ac2792700cc39cfdc16ea5a69fb777418c06b581005ba1220bebd017ac7867f3b20b20696ceb5572d0df251a912382b2f6e4a1ea4a04a2a6a14bf2ad67713a31ce0cd9d87815ad4da7381d395e6bc67ea91a2383e6f43d6a80e991aac5fda4baf311b02dc7604a3334ed313242efdd4bcb1f466178f0d3a814eab4ba58d7a43e3434852261094d199eb421b80604182e6a2dc527918105466b4be6bcc75a11df0d4148f2fd252ab440016f3bdb680aec8aa8219040c882c08d94984400cd3e8256460605b68c76b27f808449a8b7b53f501f99a6d42144eebe82162616043121ab099f5eb06a891c3b24704a38d7643eb8348ab996921a335d78db880a94f1d5e48a944c0901a53183aaf7834419e10a22fc33cb185f274564db75c1853a94009f4600a842c689e2744abecf4183330b027010ded844b3510b41abeb45c8218e878084c00d8b964a4927a137209b52e87162fde1fd0ab68ada607b74f8af2834503535a271862fa46189626b021a4128684800d0195b0a524360b54849522b049a4228c34810d21953024046693af6a996fa0ff708867361cba47f300f8615ff994308887be6b7cb4228545da52fea140293666fe94424dd8f5d4124e2211a2b369666df760bba8444752e021e99d5fc10c4b72f2f2f0f61eca675ed4b1e6ad41fe54d401dc75013a06d9385d308e519b0e806b38b5895a99dbb16e7c56fe3885adacccbb4ac03302ed8cb18d8b90b9fd760b07301a93c7f950a8401092f72fa432a78740182b212dc2741781e0a88aa79dc82b697172c96d0ab8341481df428decb6b6f796524a990252039f032f037b7c1b6b318a9eddcc81b1310f8bc6855d4927b1bdb65adbd5c5933bc8efb338a55c0e0ae3dc93ce16aa281c54678aa8b06ce84481fa01075517398a3b2d1788333d1b71bed7139b9ecd70e3dd79bd66dc2d826d87a67f3569e01d7b9d1cfe358aa3e864ada572655adffbd5fcc079b407e1e6b5d9138c41fb1bda5ff3e7c3a399e3dda94e3bf6e2fb7c72723c00f1b407c1f6f87360885f5f1cef0ada0cd7a3efff82bdd9d7ccdfcdcffe27e2658f71399586cba9e6d7de79664f0833d8bb79117f41d08fcd9e1bdfb86db8f1eebc1e042ebc5738f667d6fc82f5654fab381fdecc7d54459b4ac88ee578705f7f08209e46fb584e08374ffb1e7e6dfe82e3e3decdd3cc5fe5ddb80d633180b29f8de0c17dda8700e269dfd34f13f1daecd11e9bbf9ba7895fc6c079dfbd105fc38db81241638b1cd8f7f0d3be775fbf8e131deb997ded65b81e102fb381c005c997e17a648ff324397ec5f9dca9de15a2a8c7f115c3cda8a2887bedf267dc5d9abdd9d7c4d186e3c0b768cab06dfb610c4601b0c08025c48bb83175b6a07d9c59cdec91fdec7dba18c0211066ce7863e68843323307d6d37f67660eccf480f698f6380704fdf7f55f3dc3d15e86d36f69df9b3d6da6cd9fcc653430e9f3b23424d80a68c6c94c997bcbf060da3616a3c704fce2873708c613cd1ffce15baa1e8c971fe37e60bc1c23347b4cd096eac7f4bbc303c59678c28e4c1409834d4d8961c4309e26dd2e4f93c21b4ce10d261e191a009d2a1924b511605b040d804efb3ed1f1c8b063906ccbcb3653042c15fcd9d714d1a0d8127168f9000b447ec0485df9995a001ba132454dc24cf9b0460bc6f886591324850c159930d89df4d95bdc2fd82b49d23ef92fb327fb6bfe6acc9a5adf1df1c52f11841f66de27dd8af810382fe271ded6c7dfab8f71cff6d7fcddb79931cc5fb017e2abf9dbdd1df143bc083384f9c3f9fddd11bf6692315c69fe82afff950ffb97d99bbdccfcd5a4bb23feeceb57b3347f23dc1dd2b4e6affedc1df14933e917ecd5b7f5abf9dbc0dd11bffcdfeb775ef5a82adebcf3aaf81bdc19ce792308dc2fd823ffc6fcd1703de5c35ee37a82bdd2ac4c3d26970ecd2ae4ee88e29708d23dbfe007cecb1fbef360664f7ee7f9aa90cd2bc5fc30e667e7c408ff03e7850f42e5655e75ba567c2187734f766563f8a48db5107318dacf25e48d77a5bd29e1b9c1e04949db742c86195f9b02b980b98cd44aa41aa54057b66c7b0ae464d7165adb6601803d059a4a81ac6c991e0a603394831719d62ccd00cc817665a53f3fa43f413d9e9280545013a4b4a425144a817e723475f5d0c505aa0bc9c5f92e505ff7cad06d9bdf635706cf04ec83ad35d20213930e30459e84501f58a6844152645bf6cb07274e549c54100259e11a52c4d5c4b502f655c7b725edd64ad9ed6e43bb5b0d0d3eb0be438e15a4a28e40b9e212fed4ed5a3bb498ba76deb50811c64008af648770eb0e7dafd692b5d58948eb861690cf092c58c10184c90430d4c0d584a8cd9aad2d244533319bfcd286858c73c6459ad808ddf8022489d6d6991bae9fa52d60b26cb132a4851e3678b9cd1617714b0a6904b20544cbe9964266c3b5447403d292ecd994dc4de82664b375d9ea2d4827022e9b8d8d151b222ddc0628c4a6cd511ba2365959bb9c7346cab8e69cb351169aac2c2b64a580859a1544d2c9e2919534228b7e3546176b6bfb8fd8415bac34db7f04168db743619dd9fe8ec1b540931614b40c39810c5059584a273091590c4551144551144551046a5541993132e5ca8f355833c4b09c90a65eafbd634a0fad1f5b58c0a8c1fa51b15e30ca527d5e606a41992338eca0328255264987055e258c992b402b37c0007475a5a54367cacaaa04bbb61dcaeae827eb8cd1b9aaead249538546a7aa6a4caeea61fb7e677fe884712c0406c47902ea9ad622b6435515d9d9b44b41c9340d41c9710217b2d51597d7d55451ae7a02d3c1868871e6e1ca095f3501e22b1eb3ab184ea85a61ebed505547bb1d9871dce5722dc038778564d54406eb692acd551a2add2e021cc4b8c00824f809df21f8996d9f6b216104dd8e8308e8763b6c9d7ca368c5caf422ee06fb7e75fa79013d792225b5d391ea92860a1a303a5169a2727c814213054d93dd8e8771dce978d1f172895832a783fbf95f5cd367579c0fbfc74431c4f968589efcbed7d7bf3c224ffdfc39d641fdfcb02761b8dab5c387d53bbe48c3daf4fdd5af9786ddb96e1b8b91e4fbdf5c59ca64ef6f6538bf3b95cb063a2bd03b14325959beebe4accf58cc58f89796857e77bf3b5fc69efc21d9975f6339bd98e977a727ebdaa42d6f0bd95069ead0e765c731e4d20edf5ffc0c8506b8c3cf3e9f6d7ebdc75ee0d8c37025cef7b32c66ef13df7df7631ffe0c57f43c9f9fefc76266fedca6f0ffcdde049b425681f0b3e3cab7f767346cecf1bfc4a76177e8a3616f15c312453abf075796b66f67c2e75dac8a23505680acb03cfb3e6fb2ed91edf32bdbea1561199a366cb3ff007d73cd260ffefcf533092e5dbdd6305b5c97f0050cd82540b7e31786cf0dae64639e6ca3905e97acddf6af75bbad59a5c2276bf531da316e04bbe232ce383b214f68c7a47d7cb3a24d78034803680998a8b5d6cfc0eaea5f702ba33930ab8dc5fdfab516406f6085c81d4d02638c317e1356875f8731c68f2bd65916f931feb266556453f7a2ee20d245ddfe99001a18c40f0c5ad3479b227c8ca5efd71be4005e5417750b40bb8837b62ab2ad14ed108dc3fc786bab0286afeec0f86cd22b0af8adcfaeaf8a2f0cebc267e3b7f6efe7180c0d981bb779f0dbfcd8b4f744e116e616265742fb7b98ad75f76c4b1fa2cd666afb39a139da6e5474c64f86c469c7e45b16d69a375d2b03481ded980cadeea68326a1f34b60444d6769c7658e1ad245dd01a09100d08e67f9de50a07dff2cc6cf9fd3e5ecc3a6814191ca5757815f3b06a19973bfeebc7716075244080d0cba4d9101298324dda63580cc94f46e6bb4cfa9c4e85d20031b10f342db1f5ff8ce15b0b41cfcb1adb71d6f0e3667d47ddfbffa7f0f435dc211a11a6d310975879f43d3477d8cbb952ae332e79cf3dde0d6bf8da9e5b52a203d7747581d0a133a363eea743a13bbb1ace168a72db206429b7f775e88aee3cd071d74931b471a0a3d739b4dd6236d4ca330b7a741346c2741ba8f340a30a9c1ea3c0d12b2ebbe31d14bf4efac0adf05bb863aeae7ec8aca43b1eb1f597b6facc5d5be71e318ae4348b72a6ecca6413fb66f5cddca7c6ecd80f879963f7c6d55843118b58ae2e7176dfeabf36b9fb0da14c8523b26af68985d00b0687b2a54b40fb03d0dda6275108d6f62ace9e3d697f68dbb5a193d77fdfa6d805704d4e0b13dad81b40fb0b59fb810b891e1c02d0458e0bf5fb3a5435df6e5ddb486907d7d884148177587da45d245dd59df07062b0e69dd4dac81419b4d716b58da2e21eb7b3af4b43d053e6d14db53e08eedb10e42f36a770069353078f1a7414526c8aa8141fb359e17bc0f0cfad7789bb5d6deb7f6e62d371964948ea5f4926bcef976e1f2cea0f158b33bd9d4b727ed7894518a506e9e3419dff186f94644e71066eaf0064f68967b2fce6899180f62198661288eae5494a25ab0f2f57abd60a41293d28e5449889253aa2465369bcdb4569a52ea922a59296dd56ab51a0ece5252ba6483dc8107518af640b271b33d458398326494aa87ae699d8d8eb25152d01b01c9d506952d650a7925dd0427c686a7213d8da427902ddb9e9e243873a04840abed1bcb6c4fcf2e797b7a5ed9e4f6f484b25f280fb4879f8000493285310cb1215d82922e614997bc48916611d3044e906cb6bf617b1c1e182292428506a6205155486c31b98fabc581e0e80a57f542425145519db1591d08c42f3ff631d387e7bd982cb77d847dbdf0adf3133a3f51475c0e268ec8e5ece357e99351eef0b5ed089b3ca199fd56c9591d800e689f2eb7ad2d45e2b1ed9bc820e77b4a42d6edd89c419b41ed3a7548c7470648dfd6da091cb9602d0748dfd5575e938aae7f6fe91854bb9d760961ecee588dda259432bccb1ff60c719770132b652584bb3e09f567cf70c0fea96eef5193f4e85b18a300e9b2e189a98d939326407234bd90e5ca8f7c3b9fa053500c2e0f284d9ff864019acf23188e705513ac48e3526c670e288adad0d5280938fd87d8594fe055ea5678fa96334128167aaf6eb81104090542596742263a8e9a0a800655c059b31728b4c9db4c41736ba48a50106710678119f4ac42afa0b0d3a3c41f2be801ce14c6a04dd0a4aa24ec529504e067d6e89c4f50a772410b0825c079c2b994022e95094a146733556bf0a91dd0dac3123328151b7c4065a71431b54b0dfa24039ae20c3303ea54aa0e2fa20a4d927cb16ac3e563c712a3168c9a4e9c6aa250d7f2036ae2e4516b38982f688a32a00a712d148ba248f47a894ab628469d4bfc4a831bd01d284e2ad4eaea15062162448d530a423674381da168130a28101e5015e71228b39304a863e98186384d009c5f5016254ea00e6800ce2c1f83e468c4a00638a59a8a84414b807a0f24ceaac52ac532aa39aa10ea2db8e139380e64c8a050e8eebcc1061aa21e313421aa4854403d4b05e898c1c9a4b2f12ea82d6819b401e7ce5959702f38a0b5055c0370a79b330b5a3b7d052818b4c43900e7dc021e417bd4271dd09c1167972175a88c736983d2805e70a64195a00858c029e2c4823ad9813cdd07b7b24210c591a41af18112a982befe64e20495d2a10d09b840e1f8f28417864976981af190d48482eae4552b781be11be5fe89ec2ef744355c7bcfd9d0b42aafed69d193ed69510d3b1643252125aa21ad21e581ccd0724cbd72e427b194084b8e5b575aa4c28e6d4f8b6efccf8debc685b3eb92d64072ddc77bb572bd436faf078ce2a8a4ac984629748a6c04200000f3150000181008070422a14810c69aa8a8071480086d74346048281886c28030180a8401c1301084610084412806a1000660108c2321aecb038efa3f1b5574e66a105da1e07578c3e0d780d593e7d98261f8e943f70394a0422f89aba8dc2062301ac9a0a3ea7c4a91b0be84630cfe92012dc9c2bf04fe1b9171ef83645a5f01ee16cbc808419de3dd6a834678aad129f1de7b9329ed651d28d5833218147240b55f08d55d94d50584f0b3159841c8232109bc78daa961a9c98a23b2ea42486e1296862ee1c446172017c8646f38237ae990931630be27b2e3ac35fbf59732ed084f8e957d55099ad3f55764bf044c91b70f9c163df948109d8d2c19ef01a5c1a0e0be890ffdd98214a1005ac39e760359644796a7c4e203a1c5ecd8ab4073642969aa4d4baaf0ec817cd2b95200dd11765d8ccf8b01fcb646fc12b04a867e698a4b0dfe60d712cbd9d9e340b7e9b81ded8217730d8e9ad4452cec52735f402a389dd78e7a78f8a12ffa76e0e16ac9a7f8c8a07f2645721a6c95fea4a6c277cd1bdec8705fceb0831ea62107ea3b3ed06966c01bc80cefe9630b81cee68251184c98805058d450491bc38d33eb01b7712bbbee59ec289aaedcc14ba6c5310a980d7ed21d0c32cc06c7128f4e164084937e404480f29a0630dcf70e95d207e56428655fbe534541c2c3329e6f9241c14c5a3b2372bf91f6c8cd1725d52989561a4cc24fddf8ab38f676e587a6c5feafd4c2512240ad45e7641ed2ff20a4857a68ccf3f05b8850338c103445567b6b15fb3d08daf4a862c97cdfcd2c24baa2e5f7ec3fdfadd54a1513ea7a3223ebfab242aaaa54215ac1c3b9abc8b42fe35c61d2d73514f50904be3859032191833cac67fdf8c14373697b6de8a97841423009ac5db2f8ab1c84b36383e9f100e65f0616be1d60bf2e06dd8c7a3b45b1eae66618fc68cec707061049e0c2313c792b0ba3aabfa2d0c19f4d5c292cc61dabb0549b69835c5361c180d8c402c48d09e99c67591a9a4204de9898cbdae2a1b3e8c0360cbb79b394ab4e3018d67f23489d558f7685867a19d8734fd2faf12aead60220dd4341ef11b8fb9e7bb935c31d3351adb40209d70b9bbff7f8f124f5b48fe4437735ba35a7517a6ac93c3a89b487cea041bb03019e0cdf957117a798249bb22b76033c07ea5bb560a3e2afde5ef52eb53d1cfd10ece067af187425868cc603f141fa21c441b68da7762b247035ccd9c969c221ac2e16648baf438acf29ed7e88d5447d781e1a68b6c0c0cd352ac39d4093b198336a84ec5e3e9bd6fe1b9a8365c59134ef5eaa080162fde889943d2269e2e2601c520b7ada00e9bf52a57e333511d8d3900e68391e15405b796a303fb1b6ecdf9119336201e51b132e9f1130555afd882483e05de85f768f1294d1a51fc43cb5ef150ea5bf2d43ed384130101110f007b750f808a0b5c5699e253928c97b82d8f54c79a08dfd60151050f81eb5a6e9070ba407709b8ab14718a727018f68cd02ec81721c884d08f487718779781fee10173de0fbe0f3e6093f77417900abf359f5308ec083eb03690f2a5878361b813f48e1f1c86f323ce03fdcedc70f2ac03d270d3f84761017360f60bba6438fb601678ac181922918b0c2de3c00a1c2f7286d3b14ea99b518f1e0ec4bbc79085e156a92a1a2e9330428184f493343bc40b810a0819082d523ba6601f6401df70fd340ac88f634dd0c20f2fcf61cd1a9403c2cd77ac63ce3dac483050130103eb79e90360b8387df4105f1b3de53a8f3014e8fe97a3fec3ed4824a0bc21dc507b487f70714c4153cf8ec7844e6a6807bc46b08840ba262201a673c266d164f1e9f6b15828c57f7481d07c41602ed0106620391f83006a2f901c203c0405c301e923413622e10197f7a141c0ac10908290c3c9c69160c0fab53425c7e3022c40a9787dc1516c227cec37cb320e269dd0c215674798ab5090f0808c1c3beb4d534de70752a9f5869b310f5b00e0b20563c3c041b46207c2679846b16453cac33e4c1fd83eb10172e9ed33a15200fb475fcd0f460b41f566c8d68b172ef3e53b050dbb28ec5470321a6f245580269c17fe01826af259b06f0e5b2bf2e132143e217f6a880613b1ee03584cfd7437018f1a0621183cca9e2a84e0c4f8fd9e943700fde270cd0e9dca5c56e6a46eb05f74bf8963cbd81a05de3230fc69530449eaf87899a05d433773310863f4831f330deadc8f45cde6681f0c4e2519f2d45d5c3342cfcd0f3f50891631cea9137cf3c58c87b3a076288eec13dc1d82cf81e8ba3e0418540fc419f108e273dcc350be29ec61d8470204083b868ede1cdf904f5406cc57950c1f690de4e880b082fc40ef1f287b707dcc6e39c844d0340f8fcb0f4b0089117c471223d5dd7a341066ee36a6dc7d3d364c98675f63aac2858c5851656ce01910581fee03088154c8fc90d4d8828ae3cf406a10f168fa7dc617e80f93087903ec40584277ad773cc534cb338e851bd9915f240d8383d4c037101ddd3da0e3e3a077ef8fa50890715034f619d4f4ccf5dda9d0a8fba4d93912800c3a18e73631eb6193e381e5c7fb070f1ec1d803f509f8c6997d715384b6c6cb1b8b7ea27d9465658370f8268fcf3a069903c58243df94e8000f3a10921fdc16010172c0f48dce20d9efbb728688fb1b88b558f32ee13c31e7bd3d0070bd703644d45c62322a72cd413ca591053f9e0b3efa9d1a67a40208410d71d53048cd41140c07dc886007ab3cfb34e239500edf001c1398647dafcf860e1e2d91c18c4bddeae80161dd9640ce7a1af5bbff747778c7826d09ddc5974b8540fed1e00feb980d9b1df7bb3cf7c0b477d8a76fa8a4f151cecfd0ef357c3376260428e0cab16441b3e3490c7f7233f124390a756ef2e1ec431f8294320d471ee8ff0ee4896ef5edad12bf6a1132a68cf86dc18090e2d5dded79b9a58d7b2dbd3a9ec79788d48ffc5c78ee71add46d5aa41547deab8a29e517e3667076bd32f615d09c27e4c72c8ab3dc293d675c8d4b3e1ff4b0aa13f4848e63d5a089bba3141e1ea5697f18212e0286346b0503f92efc56ae8353717f360b29ff7e20eae8d6fa9636eabb93cd9e2708f0e5beea5debde4e2294a4f5f860e67cd785b3d67b521ccf7b18c21220b5932a60867ac08960f13ca4d208d3d185faf3d35ca613c526240d60e58b4d92e38258c972e93ee267814e43c342e128678a9f2d4a8c00d3d99db65c0d3165d4069085f6726dd1824e173d0cf48b616b20453c7d8ec67ea537cadaa538027f8aa261245277e2e7361ddce70ad5a434cbec09cc6f5ebfcfa4c91ba43ecafaf1d462756c3fb6d3311dec8f397376555b06437e4c825330ab5ce5ff99253222a0b17d709828d230ab18b62bd3cd65afb9da49786548145dbfe48ec3f345afb052cbd42ae8001c41711d5b87d642c51b7e3261823e9c4af0b8adcd5c4de81c49eec9b662fc80376477e6227af58bdba77b405e1600dfe80de01c9eb9e4fb63e5e90460f352b83ee3074927b51e5caafd3471317d78f011ee47739736b79fbfbcb9a5e572e134c36e4d867a8724825950ad0ea9e2178640ce7b538f4133f4faaf55612576e7313d141900e298a7460074987b069a327b36d2ff30cc5e6a4f8abc313aaa95a62bc7bd296b7397316e4f005157637c0e1b08ba3b06d5cc6003c5f50b41f2e79007c0479df600c05785f6b14562b0b6505847fd1e484faec97c92a02eb5bb2d370d429cb848bcede4b319460b76f867417528be685a912e4c28a3811f640443cdc1d86184ee7e261110090a87e003eb2ab69d1308835d4975390fd91357cf956df46d0d4bcfa50b42620516779a2ef4eba91e634a397f6ce0cc67b2d20b5eec608ff44f69f53af2d2c2a32ac1c6c03703dd7e48ada036eebe24e557da3d980bfbe644126148bcc3f9e340ffec48dff6ccb4cc8586edf61e65fa9ab4a3dc5b44e9312ba7585aa10392c1fc4cc65cc2ddb4e632d5a86eb1488a793d89329b2186280f0d3d8bcac611241993171e3544015b67953bffc0c22b2a353cabd7aca5a5837358702b809281cae86c29d526b6011c0b61fbf746ea1b19bd05a4478d1b2264c10fc59660f3dace96d5cd97f3168499eefc99c5f3432d5d9660e33f6689cb98affff2f53de960b10d07f095cffbffa9d05dad0587260d4d48cd3388b44277d2b3853714da6095e9ad57d5f137eab12438bb2b51a25f992a5da8f63bde80f35732cd71d9f9ffa9a7f698d80c3e63e7a87ee472b995ee81c07bcb79d416f5a47c78504b1fe4ad8658eb8aab2a824d5a99e5908bf9bca20581790d8e8fb3dd5fe2916abc6d9a1182dfaa8e4a4c66b013ae915ee242d8aad2842ba4f3a30b14b67f08de7e7786e1b99355e0771c36a38faaac8bddd0ce16fe53e15bef12110744aac96a848e7fc321a6605e521c55888be66fbfdfd44c475a72301415cdfb6244325e279cba4b8558e432296be0098790a1885cd40a5a276f39a3d0f906c7669f77341e95a81608e81086dde3c79943fe0e530edaef11eb262f2486c208992d0e90e29d362118daec9281ba37c224f8c56883c0809cb26b3541ba02d51d1f48b6e5ca2302e3fabfd4a1eb7c291ade20f1e3dcf294f86456a67f215f6a6448bdffe43d08b85c9c3a41fd0b5901d99f02a90469d667543e52590b181dfac1031ac26ac9eadf9f6d57ccfaa0b167f5e22d0bae286144cebcb24c6f400b31b5c980c45f83ac84939393b5c6b96534c21420170960f295131e8b4178c2cc4701d0c160885629dc969214d80f056b6107585a982bcc0a6026bc2c11a9a4466e3d86efef23d0433472d309256da2c582f12ea04d7a1ea5d35199f966482504b1e3691f814c4ede68f3ebb5d8294e7585e08277455e049b48307db4651668728c3568f572120943953dd06ec53569107de70618cf81ccbec3ff44331b13ccc20629eb3f288f7c23b3979b8f7cd5c1f8603b682c4474105600e02026ef79c22f01393e8a30f17a1cdbef3519d5e81d57a52b59cab2ca9e4abec2cc0ed6917d4d151526e3f46fa6eff69472e0f514f387964ccf218d335897b5569a855f19ecdab83578ce6dc27ffd65885ee2c618c48842453ad695d4bccddfb42e32035864f79fcf4802d0f42cb17b9b2e13a2e6d7bf3a48c4f003145e1954b9d78e33287e1a95cd904b3e93228e6c6536f48118cb0b2e248826e7b7122cd371573eab955a10c425743d2e9aadde61e71304786c599aa8643f77bca723010d8c462cc51191a79d05b5a0285c1ea58b08b3684b2fc66362e9034c7fa45dde8d8e85c90a8dc0aac3788520ffb4cd8392890375cd6a877e2c712ee9fd28d2dc28ed8256a070bc5ef3fa90448d5ea550cb8c089cd4ef30dc9184111dc34fa03e5a7eb3dd3f13615c3877605b7e388f362970cc2510d8f1b9284bb3413211ad77260699a2e4d21905512c1b3e1225463d789b810e9ce03215deb06b0b9115bd9b96e062acb9c5338efbbaebdc0e617acdad1779c62d35ec163fe1e9f49cd8766ea04f9b40879ecd215798471e764fb64c87b20eb3ca5c157982de0319e0ed4dc8f5551c0117397480a5e5dad5e6207dadf36dc55c1c075a5204c531cac5bef15445f92088dab021d4f8eec1b519e02810ffe2abd9d6298524b907bf89274c0d8fc4a106de4b1751cfa9b0f254ad1d09873ccbb525b7459d26fe231f49f299ba6a8e5ab9cee12b2ae63e93bc2eec28d93ca2b8a80c1232b4430c0c85f0fea84ae736aef3ee673434a8f3f3777b5973340d882fb004ac3a7bc61fc882a4401c64519444dddc7d05d4d33b608a0e56ada7e2b5ee77e1d943f59e8fd7b057204d9a8cec8300122880b394ff72bf46d0f2e57e1528e6574aee0e90c298dd3c666044f21802308d0adc1f030924799c75efe1f9804ab85b138c467ef5231e0269ad74853eb5acbe0ea39d1f111c2e65cf0f9eb60039cca996356fa89e4a71227e1913b0bafa082ef2dc338ec29e16bc70974b11080a6f7c610a175671a9795916766ac420256cc60751630461f441f22763de4ccd35ba376761fed7e7cb79a253d808183992cb6314862a9984c8ba25c2acd33908c11494d049ae08e326a5245f2bac25392fc1d7dd1c7341cd78cd4aed0aa0f52aa0ebe2867719ca1344ca76491b78d607fdbd0c32e637dbff39497877bac603dde75cc18585d6fa3e3e0acc7a9941fce7bcd3ad30a13eaf809f00e08438e2b4df5a77d792fa257de1bc942eb935001b88eb6fe50122e78e0f33cf3613cefaa0f6525b729e55b824e0e3eb8731e2b0c034c0c199e56e30c8e33e0c4a232ecea2c79c9b69aa2d327cae06639c182de2374884a2e17dbb82d5cccbbec3f7f6de3159d61a34e7579ad7cb8d9e7c69ff193a84e1e9a021dcb90a0bc99167ec5539428c9bb1e430c0bb1fd84b24f7a645ff8c7198d7ec3ff17e0a447c9082bd7fcd9ea9ed5bff19b61a96d640163bc772ef95bae149f53f8147cd077d98422aaa6686357aa6d8725d804fe307dc51be51f4901288299b0b8f01395c7c4972d6c5250cca303e5c83b5406b51ce4d6e962eab615242c6bc3491e36faafc764b76488ae0c58198a096c0d04244fb0694f3f7a6497d62fab358a367b8459d54bd3ce8280f16e2f2271be5a4a4e78bc8891a15747e00ad4df917851391ef45660a6e30962a412b06a026355c7aafbb3247ed080194c301df30bdb4e95febf0da783fb48268194b23e9e6a714dd2b299f8cb61c46e8bf3729786d0d6aa39bdf42429ad4152983358a65c3d95806b1128ec5c660e4ea662d07fc41144c45a3013d09e2d4ce60a7cc2a15c80e199a5d4567a8eaa3242c63e5c66a15d1ee510dfe09b39ea68456c8f1cdb494a9158e937d551c2c5ccd3d647d4eaf9c95eb22ec7179e0342ee8aeed0cb5ef22f0c2d0665e604657039ac90edc1375281d3fb4c6397fd85559bbeb62436d917223558f5101736db9a3ee54d7e6eac73e4a8429d36e9a2e11f33a0ee54921e7341ed03bf99925c5aa6b14f50b6d9e3c2f576589e2c61f5d3ade599ff1c51b736ca3a3f24fe9cb3ba2693ca2cce3dbe67a702e50cae28ccb25dbeaadd2c57fb40ea6c4d5331c1e74b268d25389dcf9e007e9edf92b8d450c72fe27aad97ba504bfb06e5a9d4ca78b88ef945967946dacc688887ed0fae641e17f65caf2ec5f8422c85fa146eaa04ff48e21c421cf3caedfc733dbe94b48ee7ed7846cb3726a0162d43e53b96520c195d5eb14bcda8b02cfccef67a07f01f2a252f036cf8bf62aa550cdf138d21a05ea9115c2406a369334b5fdc56d288859d9bad351bd1de2c00785413403d1673bc102ab7562c24ed839f2cdd5fe450a0e676c27ad5e234a0ea9bae889f7b2f23dbd8c8dd9248b7cb8b9efa31dfbe4df8880a2c8b20b64c9f9bb01a69b32fceb77a0a79242cce024d3c955a983f30084116bcbeacef1d5bd04c01d1ac7e4b51226ed3aad93192160b69c986d1f85b72ab1748b412b4157a8ad5376b92e0ef1fc91fa8f738fc033fd02cb76471bff1fde355f91735d8ef5134035b75e762fcffae390b4fecf9a7c2ccefd3416c4f95ab6ee2ebee46033fe2cf48e14479a5487c5352ebc743f0fd123ba63f2c39fb44e636ccc6e4760101bcc9765dd4523f46aef87091fcfc6682b6195b7503cf51c3cab7690d26f19ca48bf0d362b8cab3555cadf79ef556de53aa5d89d23abfc05fd56c82d7790af4d60d115edc3e0cb56facac95b7344a9d5ebd29f00ffe4b6193ed65535e56867aa3be1cce60d69f8c979c660cfa1b3dd969fd5699e207467827d3e33ecbc59c625892f66bc80c548939b8a72f81d676193a8618190d798f8f876c11f967cf14b914187a193f50e42e9c298633905b4a18995dae49bdd5ff79b5c234dbe4ea206b4e0a6e4ec118904102d0817e8027477fc63ed406e02606665da6c0e4214d141d3e79d2b8c9b6e6bbe91f7169bb124d5c8cee40742102f24258e43777fd17d1a3fc6e5c8c79a846cecfc1a3850a5d57fada737bd915ed12030ef0a103eb9b9686c8403e2c505c1f5be1c5c81e7ee8d3528d2a8a75b42e970813ad09599b01d779987cb3a07b685fad029959107c37d8908fe02d87af0dc80c34bc2c7edec93f9b5d15fe1181f6cbfbbe03185f6098e8fc6d940fb2138c04c61adb5f414f005e1e5e54971a14f904f1b0d0d68e4e5cfa85af06fc86e717e0023c04db53b031e3dd3a70da1d94b1adbe485db280762e61acdb4519890acf572a9967a8dc1b33b09f491c1c1e144f12d9c40f232ac1a753db12d1f9518951c0f7e5f365f75d47c353b3fad53dbf2bbae3d082a49342caac9589a63dbe075e48ac998362c230feb32f5b90ee4a92a5b069e96203de8bbf3a2e1c63b4ff2489da90f7ee4c443bd188489b4d060bc8c081448bdb7bc88317f7d5b9894fce053e951a83b62f1cba7900718fbe5b46fb5a20029cb39db47d08f056669f66a038c93af7997a31bf00e37bacd9680a2d604b47ebadcf14bc73221d7ec3941fd49d72955804b1873235759a106fc23c8742976884eca22200796068c4e2834970c49cf51698f651ed8970003faa95482083a38995b8c332862bd4ff00c04040b94acda8b81ca5c88d5bc19e74fd155e614816bd176341ce2ad453ae728edf4f19acc865e43dc352f1171187f3c96915ed58085faf26ceee259ca46b7d9e84a64bbc641f15ff836ca2061342bb16a69299aef2cceb2a210fd01d73bfe81e148d0d478e9d6e68c09ac3a43b166a3bd620e08a832cc935e30ada8a4ebff566adaecd5e2ca70bca1fe7f47fae7c11f4d24aae1b561a349ce2be38910810e53cebb62edf3ec08f31685be1841de074b2e60cc4797429438c845c129b6d370f4867fb61e3650377cbd9862f581b177a468bca381a966add739aaf7f0cfa0f0ade3de583da1f59869e9210939744245c5d08a6ca1a57b2f7770ee5d2f744338023e43fe930617d6fe206b78972de7b135f1ad2aa7ce9c34a57ccdbedc8c7ec6ad65f11f423dcc491f4ae3336756ab89e70631ac0921b6e7bb3072962933aa562cd120e1657d0d4fb6dd8131c7d3cf5413aa3c6f15d49c429909b6167c7df28abeed6c5c17110c912e5a6ce8f5598dc7446ee2bdf7f793fa835bd0b799fdfaa2ae9ef73e6d3b9384b84147b3a12747c55b4ff6ec43d649c1caa070b3f3288dd5e2cdb31e17b163d7c2764e0dd2d6134458bd629228e8a8e077d4866c728b3ea88796a5812050bdc2c43b30579a7e157269d2b25a3454f3a5cca2fd2252d7e52d816d1f51ed6b5d27b4c348c551e1735e1f327ebe97ceee79f0d1dda099dd5e9621ff558209b46c3633c37354c5163c0d11d8f7ec975b380704b85dbeb01c8c03cce55d4fbafff0a8734011a643099144aa6ddf4e2da19ec1b0e69ed88d221832e408ae902c1949bd1024c163563a8a7a7f3a7ee4f343b537192953906b5c7c6104e8dfbd72b8dbeb2f863db80e10365a0c9d9c60d6ff05c572b9f94e2445065f4bcf1e125141a865ea710227259f67d5c2993a02e5acce35f02cb803e495c6094592599934db60a8f110501e17cb138809fe20456cc0bc50680692016e807a1f24f771eba0818345559951b62093589eed67e6e63c43aba43faa6a4c2c15b42d9f5e7852d26fb9783711f248b0ea25945c2707042abf44be6f613b7a4024ac8f7f7226a239fab8ac83394caf4f9b4e05fb6612bb064aabc45387c94ce01bed832d7ee9ec4eb6d43089043fb6f7388b11819a78a29a48c00cf68473c5cb04fae5506aecf0c2d1acef7687f3fbd8007de36b7e838a00a51a460bf5839b215bf13b6e295d12a738faa324dfcbd89036741cde3b12c02e73cd2894a504065253a15631f7381c672713e7e58a8825b32777a1a84d4d60a3b689fddb0c900df13579b47996d4864222adda4d24c9696f89357bf785eec49357f13115bedb250d90b6149d791fee2ee291f3456a4b298933187cbb82e263dad953ac578f72c221f618be31f1577c943e9be2f1e4b3f2d31e22ab471d1fb76edcdb547355bca07ddc224c7a4c85e8d1b479a93d5640b4cf6fe077bcd327c255a6a377f7cd803ce4a5a413f7c1df950dcc32607ab0537904d775ae81e5c96c70ccb59c7462ad2dd7c439fa5d9dbd0475ba679160e9a1893f0c330aa025af22cb623c50ee1a6254b75d089fa818ac6937e513a07c24671b135773dea53dc7e22152692485eb9647b0370dcf3f9547dd2458debb6206510c5c769425aded3bc12e6ac528291c781c65605be30f9381db4d31cf32d64a1fb438752f0e88d65477d6c4d35693680198071c9102be223513ffcbbc6a789f3aaff2693bf3f05cb82b76bc624029be34fffba13d5b83ba51c6b961e226cc8c14f7e9ca2508505d4b0348859b84ddf865c47077d4ca99e02342a19b88cf0c3d4b508429ab24a498df1f4c85140eaa64abafadd0ee6a3ee488c89785c0b7bb7d55513e2f0e550d35ab2d76232c3c4970c83698c6be8c7543384e10b84e2c14540b81777a97a32595f32451b015203c07b066d34d9ebd205e21ff6c6020e35716e762b90719625e502b0b432cd373647f7c2d3cb4aeb163c0c62ed22538b6ff456a1f3389e8aa7646864f03b0f3fd172c5e5ce214407e8383ca1ddacc4ca2806ebb05c65f3ed5a84ac8ddfc9996646956c3fc0d56a6bf81b4ebda1bc63982a5d32eb2a41752a58c6812ccd666636952deee7c9338b9e2977c8968b2b0be106e871762e07a2c43af559653df9b427b143f33ff95a98ef7db8c22b2f05500387be217ad88292e949f6b5eb91129c7385fefbee4331e7198c61290438e3a330bce99d788449c75a15b3f740e2f57d7351a255e248e5e72ec5b12ee62af645d3f9be4ce38ad67fe5bdd1681a9f12dab271581a7654320baf7a44451ba5c06d61cb36252b2b499540adfa62d6bb6ff2835406f1639b92e6ab5c1d557893cfb47f05b48c27d3731ba8d59d0a9a0122e5f42a4cc49cc537e2d8941ac64636b0e5bbeb7de5e26db518e3a12b965cc4ccab1d55e183a3b664f989877cb7fd8896b66fe11151e113561cca82f611cdbd04e240e4576669eab2d996b525d61f034ae61bd1bd01d71d2ebbf53b303baa1a0b09fc39709feb973945af69f0fed98f9c4dda3cd22892408d32c24acfbdb7449c5475f6c8c8eb48d012a5aec3d4dd0ea982043d69a97d69054447a4ede76ea52390727f1bc01b86d489468cef764d0677f35880097d0f90334eaa136318bd05f024cb879a3722e40c7ecc79695a19965905ba7134a2467fa40fde135d5b5740cae30649a2c4332a7f29789437c2e541016d8988089e8f18106319dbc2b5df4b6b119cc52f2ec57b252d78570fa5e28647a2ba8df8c5e737eadd3aee605e2fd2bf191ef312c216e2d2c613cb4a5f56009bfe64bfcdc23c7bf2f0ab3b75d51526ba74b9a5455080c8d9168e02f9de245242cad1b38f6c58de39c5d9f062ad6aa120b4802001cd6e186adbce1139bd4146a99176788c060d4f691ae8a9835b102398fa50269445fe0385e81b1b92fb5a7a5904fdefc57a24b4353aa18f3fab61a2b1cbf59a464f3efaf3e2971c2148fad4c5f821085c83bdf669533015d0fb79761c5772eb9198d98a7bcade126eb8fd475372f6c1dafca754ebd15eae92dc0a865434bf80e2c593ce0ee0ae89f539fd7142e77cc1e3d31e92e784bac9d51be87e843d4ad059f37d84e3fc94e405be8345d012551030cd8a3a6cd07d5428f8408145810085ce6083c9404c31e3897dfd75b238399cde4e6ed1db27527b88480ebd9034b99bc86809c88578fd98d8add634567234df78fc05fb41779bb64e643ff68f0fb2cd36d93b050014fd1282114174dc534e622923eebe81bb68ac709d8e38b57b575e4eba5d343f9a13dfadedf9bf337e6df3f938326ba6bdac5d34536874fcc476d7d72e1ad7896dcc5dad0bb4c478f471f93fcdb8b46efd36876baa6b15c05da763aa3377769763cd8b6aa0d3de7e5a2db83b11f716005a56ac462bcef6d21c1aa881263b0ff469da338f3469e2d38449939e264b9a286992a4094f939d263a4d9af8f8f830f1e9f159e2a3c427890f8fcf8e8f8e4f13263e4c9830e961b2848912264998f030d961a2c3a4498f4f0f939e9e9e253d4a7a92f4f0f4ecf4e8f43459e2b384c9929e254b962859926409cf929d253a4b9a28f151c244498f92254a942849a28447c98e121d254d92f8246192a427c992244a922449c2936427894e92263c3e3c4c787a7896f028e149c2c3c3b3c3a3c3d364c76787c94ecfce921d253b49767876767674769ae8f8e830d1e9d159a2a34427890e8fce8e8e8e8e93ce4dc7ba582f9d8ebb1eced93b9c4db3c9c5dd67a2169a998c4696c2a7f000f89fd1cc6800f0ffffee8ec4dd8fb83b8ebb8b4656567c2d4c99ba56b895926be5a42cbf46332bcbaf6d9c45ff694a9cadcbddf47fe32c2a2bbf765af4569cae4f9e3c8169ab3377ddc98cb856a995f83323467ed73f2d937971e555c0bda66280bbbfbb5404f0d777f76efffa5addde3d225f4ed31ce4526df7712cc1dd57ee5225a9648ef33f3fbf237b8b7351f938dfcd331ae2eea32b054605a6ccb8e3c8527b7177637b0e6dd32edd8c8c70f72cee4a81f19dbb28c4dd4fbb4b330eadbb8f3264c4c4dd73dcfdc7dd4770975846a7a336d3ba3336197568e7cdb4ad7136dd3d88bb99563325733728672533257d7876acae41ee9e015a7bdbaca7dda6e53949d93777a3e8760e5b2bda4c495dae97b1949d8b768e92c317bd3555fa6dde4e0a36da39236d0bc2c676ebab7136f1509a77d26937af97a659e8b43bcd3c5e2f69e7226dcf5ca46d53b556ce8bd6263c94e629b89cd3236c4170770ca4d85c6a89b4bb27b90bf545a7e3eda23bcdb7eaee16b8fb70f722eee24b4455e0eeb687d6a62fd3544af9b83ece5fe2c87835f5e15eadb6d19eb648e59f1645abe9ee2e77efe1ee3cdcc6dd6b4003b8fb1577853c5788860e70f7afe913f7f2ed71f9772f7fde369d8e3aa3927187a6edfedd7292f0f898b6c9ed6cd284a7c734ed0e6d97cdf1d6d3ed9bfba55bdf9c4d73722ead664e6a4ff4f66e3976977539ffe4e7dd9dc6592c1f0bdc15beef8bf2f497bb9615b80b1c813b5a87c0c05d6014eefec35da0187f925a8dafbbdfb8a75000b74ec733ef724cdbe402470872f70bdc05cedc1d5bf47fdedefe447b59a71fe7f595bd933df17ddb947736b5f1aa4fbb7bcb3d3cdd1d88bb4051a7e3dee154ee0e869ee634b58feb9f16a7bd6dd3c7f9eebab1dd5994b7bbbf6f4df7e7f0ddbbeed28cfb1aaadc7d88bbdcc9dd5fee721ddcdd97515c6a9bf2fff6352baf9a3a1d4ddb64f3d534c74c758e9951b4e6fcd29ade2eeaee2994e8eee1075ed05080024068613046091c29c040e1c8025828e1c650d2011b548a0cb6011f327cf858e309c27ca0088d4188964f0c07013b64f8c8408611c5d3518a7cb004e64b102c33786841468d8f797a221dc5c30166c08011bd8011632f70f002ea6b50602ae6a8100556a9719418c2509697165820c30f45501445710591f5ab0f5100c16f892834851bf52890aa87824aa1522890342c11c6948a31b1bec64528a8a5f04126560c055144a150224a14451185f207c507c14f1d51e3a847c1baa47c08f5a9b027dd4de1ab3e25c2ba002199c2184daccb0d159064b5624be283ac581714c8550a54c1c458170f9f058657d470f085e51c7849b16277fcd478911b5858030383c267c59ec2071f0cb2b1f9d68a467c9a307c28a108f322becd83b0145a0f86ad9b5fa1057be18320d4d3c0bc80018350ffc20741e2dfbc924d0dec0606060cba791a9897173e08aa793060108d179b56cb8b4d0a340fb662e0a750f3a18deb46c894d5ab9856b1227ee1ab6245fc50ff01293eebc64bcd83f9209a67c1bcdcfc0b1f44f3e04dec09e5250515504f137b427901f341378fba29e10696820aa8af893da1fe4604d4a33ea48181018368be05030306b5be0656f33521ec067523458808e2df7c09a8b77916cc4b2bcb0a4137b1143e059a0f53a8a181b5540f06c5ec7075f13b48558ca9885ff845fcc4171f254404f1c357421d85cf8279500d787324bedf1ca1fe51a18a01352c1413145050217cd4ab00bef8282ca1b47ad5a3e005cc07a5945a9f7a15584ff38ec20b1f948aa1a082ea6962603e08f5ad980aac58ea57311554e0a7622ea0de5f0515886b3880c115824121ec05f005d10b9825ba7c4032bd20c696e8f201897a1f93a5467c510b2d9e1a6086f45f8d2141325a344182ada62e2b7288831ea3c3b5f4e42f0161d9883534360e5b5a7d8b045f0512adde632e8ffda859bdc350fbc54fb548f15335374431518cfd58025137521c14530fa6c81b23d4ff087bfc0a1a9a6fd1d07cab4c9977f00cd29fd562ad524cada7f9d54d15d4502b46936abd4dcb4586ab076f86582bd60e2c9b1517e46a09fc825ca9c8558c03165cbe7a3025b28656319610f246ca2a2453293252cf1a33860c33e4ea593bac9e5586447d6a8c0f554bd5fae1a3e5a302d12546d88322fd829b29e0187225b21eace09562627dea5f37556e86583191e564ac2624a1a0562e1b2045747ea82895a893171b0c60041845d88341eac6660c19362d16101b0f59cf44f3fea018614feba60a48a6014fac9b21966b48158aa0a3523cc68471a591c517a493c1e203588c2153a2d80585d51d77dc3102128a292b4ca9f17005b20932248385981e55fcc1efb222dd69a8ef02deb1bbac48a2156ca945ae1e25beea8648f5e12ac622f2071f2c413823a3c890f0c7928d0ef82a580bf52008beea513e3fa12c64912a1608e44cc9423d0a067e2a1602d792978182f221c31f3214d3940c8ccd3c74144f47492a25da60852a0582a09021d5537186743254d84022219d0c03dc20596f6307f9a493a9a202648d5883ba49d9a456362a9808a68a9c545901592f7acdc9940da84a7dea8b904321197e536e69053284121aa95ea57a5145d2c0faf0c19a4a44b55e55844cc15c84ad5629546a25b25e84a9be0859e33e2ef1af1073c513295a61e60a1b48279dac49d98030905cba210ad3dd6545b29abaac481ba7a56a50295528920ec244109562dd18891f0e89b110e534f0636216ab57812fc63ee042bd874ca997c325bef8a0d75a2f3e93ea57df5aa2892d81248b4805ae622c52044b00860b12f5a82884d081747205314822a493a942097283242a05aa40100457309b67d990ac55eb5b7ff35b246d54aa9a1b292a956a05a351b16045c855cdab602c96f8ac9b29e0a3604ba9969802c1d58b3744aa57a91e0c574ce0ab5635abd4cd10783304be2aa642bdafa4802f4e998131d8d22cf60157971e24e834d09f85831b64cd9f413a5933022ec89a29a2209d9c42080678216b6661cfd28cc72fddb46a5aef0a65ad56ec47ab860666f337b09a6fc16c6c8a9034df822dd1b49650aa1e649348dafc16c914109b214052a91e4badbff9168f1b2218abc70d11cdd7c45a20d943a54abbf048a7f178550d0f10543d0f90e66b6e60b09abfa9114168c56a9e474dcd8d0dac8606b67a1e7e032b42d2c0bc06767343f3e20d51ab46e5246b4582291e204d0b52b841821f4a7106e9e40a644d0f55f89eea51330b592b843f0b7b42f0a1a0441853f8e04af522cc9940bd02b9644386a91813f8e187a80e48c10559239d8c1460c82a0c5005187246ced215c8a5d5abc21b95d79644b7096573b840d2553031e562ac0839739aff182a950ea4f8de0a43f146080f1a1a9be711a26eaaa8de0684590c35829a291b24571fe3802b3c43ae9ee617e08514c55615718a901b779a67d97c934876e9d283f4d8d77421a289358124f8abf7581348dac49640546c0ab894aa52845cad865436204a035190e2a3b820c547a55e45bad396504b2111ea512f92b1276a504290aaad03997a50015e481488c308c8f05b6eb4bea607eb634be0ea0684561790f46f1249f0bbf4f89a55ac094c3d186b0297529f0eb9481d7e085b125b8f6ac5985a2a900e5b6abdb79e75d3a507a9dd694bad77239451f8a816ac09244327c11b564cc8d0ea51bf4152151399c2df2099ea02925d40d29f06148ba8f122e2afa2109f45260a2e48d6abc467b15c2e2040fe514c7452d1a803128c290912abc3d505d499a1501a9028548a44a56ae28c44bd8a4489aa941bad624b60909418c69a9c03165c375656203b20c11893ea592f3eeb5337375dc0a6b0092437488a65c8d478d8d3058c89c0b5143e1813c52884680249548cb545157eea555018800c5f0cc148bd10e4ea514e82644dcbc66f8c50b1581b2eff25b1ca2ac6047e41facd10143490ac9b2154283e08135335ab9b2ae017556a6a6cc4f09f4895b8b4022992e13417630af805098241a240d28cf8649ea80029239dcc1351e8b002bf087b965220c802411004c1542a8412420997546e146bc3d55a3dca6b1a850abda6c310f49a069db6fa15ebdd69ab2e2890e2d20a2858171429fa90f84caa0fc12f48d48d5195f055e1abc2af016f88c4f822d686cb1f2cc36b649ed08104bf1802c120511fde10852fc6985031f00b314259194ef32f53f3282643c2e0bc6f102b514c346802c5a4c8fff08008ece6486c89451ef9102644f64682fc9057c162b12fb1ff5fc136887d5175f0b267c170625fc2d4e37c0dac48ec4b110efe06a641ec4bf8a967fd0be641ec8bea8dbc053058ec4bec8b3c0638accf00f645c87f2142c68929c823ff03f665482c86599006447ec8f7807d2142e4833c4d90580c3c82367821b12f197c8f1f12e481c0be08f9f1439e07ec0b8fffd1e35bb02f4386bc0b343c88047921425efc0a605f2c6005f950c8179c216f01914ff590093102e47bbc076f03fbe2c1905711f90e8a0879d47f8fd6ffc31e847d19f23122b12fadd817d77f79fd781f1f031844e46141625f827c0c60d0c7be80ff25fc2fa8ff927af137807d897d51fd97d57f61fd171f16fc970bfe0b06ff25830752f35f6cfecbcd7fe9f13c1e0aea084ec82aa2a687d7fc2d60a20c17502e206bb87eb85c101099e880c8041b648b74324c48a0024c1891802ad8d882c685942b05c6053ab278e2021b08c387a0541926a6603131c685d81a6412404402c4904bae479940a5861ab13352b60538225000302520c11b41283648d41b38e01319c285229dcc126ea040092e9248e38c274b5c71f3801690f021be48802766186309195ec00007825217408018040c4be460b3040c3673bc96f0e282288a1e0840049438a34546090b042016815f428d25c420975ea706022c252a0b1040cb18359849c20b0cc8914505cc28a30c9d315c4d1b90fa2770c41746a8118300122cf42083840d0248a5529eb231c34c08e6c081026e6411945a030e1a12d070441a2b3247b041430c0c2496207b904e0689031020f60035625fa0409d0bc4bed0619131e20b23ae30b3060b3c84b103045404891420c5779d21c518eca881a552914ec60829c630c208110441100441100441f1cbfc70203f7c690868b352dda01e64ad6e400053362858d88a8100ba0c7cd0513014e9a85791161c2063840e640d0deac5d60d08340e86289107eaa184b1986a8e98162e1b1618863dae346a40948bac30851297500f8220c8024170098c79811251283245d44100140a857a355c29d2c91441070e2e917432458820870ec0c670b1418a2932457051041504a8011f1573c2b5a443eaf8a4503f405c3f4232450041a248275304024825762097745c282200b0398af00273401d4b88e0c7e8c0d351c68d0924410616870366b0e23900450590883dfd0047181f88a8210044bc00338302d8083e0c38fe02198099418125c8008117b026b0780728e0af5002c6802062600af06686b801a68021c020e08e180d74c0c2802008379e58038645046a00e3c518d30129600b48c08f19e28730404c871c60121042863f23040b1fe6cc1372c46ad8008c070b3c04cef8058491002d4cc0002f4dc0be2802868203e830802e82a0e1d308c2853f012c8a1090c1811bd8b04102068000cc092e245045cccb136fc611b02cc4c0a6e041092004d003105f3e0e3b9e0073c088f0c011187827d2800d600c58992e1e872b0e10050c4c124f0120be1020b6c30f36c472f801862f400a484082580b1f8075d106ec498d589832e4f8e28a2c3eb0801696f84208580f3d3c02707834c4c4708698a71a4a20441c3168408b0a8c3103020fb0a301300b4c012b83093788f0c187c7800e2340c00cb11710d0c26bc004b03acc64e08d095c005600349a10e34db0c5b741851c4ec0b8300236010490d9e1b93840007e8a0378d1a10e180744404507fe8c32b0074c400c99df800360385801a3010a1b9078247ef839c294c0871abcf0e1055818288041310226e0b040069e0414100119b022bcf81fb0f80c288000ae961252b85a41c0d8e8a18d1c1e0e03cc00a380015c80c150c7db31871770c0c8b4f10958e3b130031682306007d8e283a822360028602c24015b238817d3c32b208711f430036c881e5c80bd51c7bf31c757000e24dab8630d581566c0ac082366c31665aa7821a0602389080431801e605f7238a20033685100179e8a3aea980376031c5f461bff803562023003b643189fc4163116aa78010a9811490820882fa207980772809d21c00cbf06015c7823ea40630ed80f7018a08d10acf101331e8c306027d8628b2a7e0b2860622401db401027e82105397c156166f81dc2b810bba10e18187378000e28da88628d2f811928080396822d88a8e20e289e01496411040c033d7c037288cdc0c30c31197870c1853a604ccc01a3038eb7a20d205cac35606ab858663c0f627c041c004b030b9808a480a189580c47c4020004b9a4f30de801a6811d74208376a00185d211c3237688992189179cb88206306840c3023090d1018706cc6083831832d4e0208118686470c57870c1807081df840daa3133a4c2b8418481c0057e0c3582187240010d3ac4f02506f186166a6010553834c003d5a2b674b7fb1921dded7e7c7e1e45abe9fa11dd5da3b76e7bdaacc59971cf387c6dbfd4f6baa4e1eed6c419dbccea840b9793269c2c0ee3ee4e50709bcecc3cebe4747727507039a73c1befea746ab12fdb7e96c9866dcee584e5ee366cb3edbbbbf5b419f7f3dab6d5b6335cdb6bb3c253cb94669f0ddfaa3371b85c1363b3605cdb6aa86b1dbe3525777c71aeda8fdb7e288f576bb3baeb59b7ddd57edc2676b8bb6d89ab0919faf26a93318ef3d5a96d6aa2837fbe4dbb9ebf7b3c7cffac4146bb2150046bd038a18b0f1570779cbb9614a009389a9f8bdc435c1d75c5a8edb6a83d8788a02ae0c05d0c3302710e1c994ddff167996c397cb7be4e1686bae38a28456452ddbd64adacec5eb66736ed79ed99f169b7ee85a0c595703199b9d734e3ec4dffaa0fad6fd3ea64df678b10e0ea3173da2eefe4bc6f6f9fda268bed99f13b48051477f5841971f975baea4adb432b965aedb4d86764cf5c5492e0160eb8abd1e367366df6ccf8a63b776f9ff34ef3aea9ddd7dd9fb8bb1c1e87bb93e02e2567b8a0b7ba7bbb2d5afe77569ba2d599dc3dbb4b898eeb74cce16be28ad65b104ddc35c0ee4a7283dde56aaae3e598a9b6349d7998d6cb3b9a459952bbcb49773b1b4fa7bb1dcf067834e0484444cf454b6a9b8c7ee8c616d75d6a8fcc7be69bda238bde2a7a6b53c55750b40a9df6b4423c2ab84eedd1e95489468be6f0d55f7bb6d7c5cc4234ea1fae9f66dcf9bbdeee3a290d312a69daa559f73d4b78683c96a9a241779f16f7fe87f294343d10ed933431e9ba6bfd11e7ffcd4ebb7ba675b26f6f3bbb873e292be97a84878ab6cda555291759a4d3ee6a11ca8dd4e672373d4ff26eb447746613db13ae35b2bb9c74e60c028a92a76dbad6b4483f475734cabb1beded6669457be6dd69e59d16f7f63dadce3c27fbfa568d6bba1ff71e97e69bf2deea7afb34e3c807978cbf7db16dbab934eb76afbe6632339af797404a3fe71096128829cdbe6d8b4e7be25e0efab1bd2e9567945a1eafa659cacf5bb77b64f927ae5f968fcbf579d632bdf5fd2ccd537eac6f7b5adf32b51b47969f66b467625bd39e69566d75d6edd7f56765464ada4eb6a8fc5d4e716f77ddddaded6b6dd35c4e795f7fdbdce7fdd6f7b8fb4c66bdd5d7f54fab7b28cee32fad5a5b1345afef71fed4ee8a7ed63fab6fcdde9953debed5f75ba717f779bfbe5fed79c7d3a2e779773f5497eb655c2fef6df55b9fceacf671f973f862f2c7b467ea3fb1d59ff733e5d746f67d9d7975beffd92a544ebbab79515e2f8a7be801245b949034413222e18144f5359cafc9fe6b4c66466fbfeb233d97af69c9a1fdf64d2b6f3ced692d7e7bfb5fddbdee2d9db597bb389ccd277fb48f7f96e96d9a77afabee71be5a5b5dcbe18bd39ae5086e4cf3ae5fff48d091d9d77ed7bf4c49e3985afd68ede1ba7babcba7f57dd6bfb1dde59dfe9df1c636b538dc3dadee55d3de5edf5959bebe9fc397c7ab3bde6fbfddb9e8475c7efd36ade48f3fabdbba7d7d9fc319add5ee9ada5d0f4bf9716754bfdddd6d79bc7ae2cbf47657f55bddcedbb44d4ffea8efef34f36cfabfdb9ff667995e9f69366dfa8fa2f5f589665ddafb5f5a7737e5e18be270b996efae666ebabd2eb6666ff5e6ee5e64b38dfa4ced6dd7c3f9f7dd5df4ad4ee9358a56a11fae44392bd55b4fff78e8997776d7d316c9ea5e3db24dd7cadd5d2b459577e29ae66c3687ab4e2887ef89edd169d3bc0f60db000e4ed46cb622a3a1242429586c524020918c94926cb65a09dc039fe451dcdd0477c5aea02204f23002a0264afcb43a5dd1a128ae0ed0f8dd5aad16cd69f7be3bfb5adeea945aad16cdc6b6498aab832bde6ab568467d75fb71b9d56ad1e0e4689aded836596de693866fdde5e43b8edacc674e4e4df3f6d6c9b8682dbfcb5bf7845aad164dbaadb6a5969753deeef6dc7dc85d4522e0a37935bee976fadddede1e57f353cbfb8deb4d6bd35b9c5fe35b37ce424a285a85b4ddbfa0df99839c2a913de1eaff9df9f6bb3fad2fa3687da74af43e5c301b1f4bdb367b69f979ff69cfb3fe368275f57dd5edd7b8daddff50b4f674eff5d5293d0c5fabdb27ee65dce7a27ac245ebdd17e7bbb5cde1a15f6a9bb269916c2ead567256b2b9aab525b2696f579cbb49a9eee5db64d323bbebc9bba2337725dab9c86e277bee9c914edccb5332529aa7d85d77d294d36eddab3a27295a5bbc6f16a74a94da6cbbabad892d0e976dbf7dd1bb7b36d49ab89aa9ddb86a3bedae62dbaef6b6d36a753977dfe22ed8d6e9b87bbbdb696fba79461ddaeda4d99b6edb74776dbaa93d6dbaa268b5e96ad399bbf2f43d75e6ae379b35d38cf3d974fbfa7272b4cd9d37bde5e89c5acdeeb2ce76d65dc69a56abd9ddddb897be179f665c9abbbbcff8bf182003407657f16f8ba295f7d8973113eefda416ed9d56676a7c519c69bb9b637735c5e5ec581c938aebc9d9e1a93a4c92984ace244994f8e8582634bb6bbaf5ada773f4ee6526d3eacc9c7d731b8434a11577b7b96b0328bbe66e53056f2c9fc5a92b29e02db3d913a0278fe3745ed9c6592b35a4d468e3ac95ff7fbc0500ef745e9bcd9dd6c664d674cfb185162928bc3c01c259d485273fbf712f9b8fe4b1456db613cd28257610b1a8ced8fafc274f1e47862d3a9aa926d279a00ddcc508b8848cc0ed99f1ff366f675d42c6b87fcd9ed97c8bdeaaceac36c5bd3f6d6a37b65f432b4eedc6770618769e8643adfe274f7eeb72d7ea469b3bed09eeaec55d42c4336312948684c82352e87fdee9bc2b3488cf797597636dba6f391ae7bb4d8ba2d9cce9b959dcad098f55a2d393e454527974784c9d5acf9389ce4e35ab4f131e26368912263a4d72ccad7b694ead969ebaeed85d4eb23817299dd7c6e355a09ddd434ef6c4433fa6c5c293a4674fb81aa867090f959f9e253c5476cea9adee7a6a349b3d3b3dedcb294f53adb6d364a5ee1a85d763ca19b5f17815c8a7f7635a2c0d70f712dc05a409779d8e49461e5ac6e14bb36835f56971ee6aaddbf5283d753d87783c92a7a956336d7657a68ded6edfdd2e0bd95dabecf060d9c1c2d354abd95a4d57abe17c35b6db494a6acf6aa9009d96c7bbe9d6b59daebe1fedcb48da36dd7d7737e5d9eaa9f1ae8766212633a3418e6aca418808a650e22296d5015438c3f86a0220d08145938f832e641a1e988880afe81033048051c81d7ec7073cb5c30c4c98c069e1e013812f0f4778b873c244083f99a776406d91c483259e2a01892820207a779cd591199000b93389f1802b71b0e1e0162bd8f084ca8baf3248a28b1fec3072b1d5001d6c0d68f2d50b5fd8b0e50477b84a849afae48b3bdc5735dc568ce0211c54c62c6634714701124f5ca07820f53d6432b0803b7cd5a40b53cc4f159e7a0388121c83e3a011322716e02b1c45f4001f243805e121949d0f0ed8dde12a4d8317507e3e478d11650cea09c95147474d472c7082ab7ad0c183274240828753f05011edd0c0575f0640c4939503f84a0e130c70854de98ec61076d400c40757093112020f314d380fce5db4da13aedebdfcab563e7037f354fa6ab772d1c527a0afc48067ea05aebc0798ba00e401b27844268ed24124b20a59ac94880241c7201c3d745004f103d0574e52de43955212d6840e82202aa402822b30044194ea84100cc15578011208aac09587e0cd880a552a19cd8362188a368022088634200942b0e529500c5116049742100c595742212118aac4108423044155088a00620082a890b5450ab5e2015e0082201836092d60a1401fc01054852018a26c6028d2b494843620100b4c15413d01576128eea068c210c4e9d1030240dca999823a0a5df470085044c9c45408a23c35003003a087ee72b91c74500443300e90151e01c130158628104c02e6802cd0260cc35025041a094331047550634d062c0fc09b0a82843c80a93003500451a08747e1d380a28757e55f820140396c0bd0a17411a2401528aec01b1015260c593514e88302c350fcd0a625035320b8d2117736d001431a152b0441105c81600d0cc335502ab0158aa8263016f6401045035b3521c85a81219490484824d400e528077b80aa30046f44174a0c3308c3105481220e6c15016b52219802793011120ead6a5a217863d9ac425004900582a81014412aa006619370485813aec21488024330046ba006614db81241540a05824c401428035ba00d08824e4022210d6a05b2443004c11a08aa2e087f806208a644b0495803a24222200a15866228824dc2100c12d2802d9025862008d6400d429a150a14592208824c1e047284f58342920251600b148180ad56ad468b10222007221886aa70654197053a355440300443100469be729e97b00268868438fc49f8810364900073e303596a0612700503655c09a68627fd50864daa6338d20f56f88004cb4622fcb064e6a82a8162e507227350a943749afc0024a749e59104130cdc146102a3017b3000a2a0a7bce3003d9f021fcb3a88d04a23c2591922f2ec758e201133936383f26d36780c2a70313eb87899bac15f74c11de5eebe832d6acbdbc6ebd97c70fb8abbeb589c8bec2e27b93b90bb67715560a3d3b1ee7ada545e683a08e369d55ab5441eac9e550ba5818d120b4531964c45c3f2116d7a80a28dca26fa5037a89798860b057852f108572d7176a3814f029e68b0d89ce28c070ba11221a92b22a8fad1e2e98995282f17429146b4825382a70db470840c16c054edb50114164231088ac60361402924683ca9541b1c79b1a047d01714082cc0f094412b8bcd0f9b1f274cb180c7d234743cfdec1608250eae550b7593621263a0810596c843a501d823090b6f00d13a22012fac333cf0086b52505eab266215aba589167ca4643453683c506d118fac9ab4c0801f406801891a2e70e978b931adc8c0c5534d0fd7830b373c3d402c43504e5619f4b040b36aa2a261f14031190201a501cd143a9e68564337492c2a42a44ca16951b1493a7f18f0848138eba151d57cdca8686aa4c44c20e289864585c86d86a714ca95025522a868524e544780826a7a2d232c2a2a9a550637515a45c4a216063f867810e482232c2455903c60818635ae92dc24613274b4b21157415235544fcb4634f25056ad158d9893aa22fa4001534250b0d4053a2d96896a22c5091016cd052d262c0815d52861c9c422621115124f47788851524852445a45c4213d76501ab4f034e680281c8a26a2520088999003161933910032c634c1041242c8b0420a4e9a0967cdd2842d258c80e54ad2919510a8d47c92c83ce8808317bb70c01d727ce08d0f803a8805c9602506026214418408523ea86960814d8d8a0b2ba858c288228408e207313e5c9119c9197b288052d21d768ce056821c716461cb2f1c6ab8382027342b236eb081498b02691c6144ad490f063f6a6858ab2142a458c0167b1a1585303445ca010410030c159459720513094062852c5898f400f9219641c61c58809ef4b4562a275ea0e2092076c861060020e00007a8c1a808c889111bb00ed409c233a2998f23e480f84688815419508d7002a1045a68d89c1196118e115a113a816222641297c022e0062c0d52436e320831082d007fbc7ca42a085fa04be411d6a468c2168b15ae56a950045120a8f29b1e2821282c9ec4003c895654471e5c91800517114fa994cdca033558107fd81131b0112209950c4fa295d605344380b8f0d422412c0145a466ab6c5853583e2a1a94132034a9309e58533cfdd8c2428b09ca0711d8b0f194bae329651344024f363b86c5530b088f70e5249593d2018c053519f0d08248c3530f580f188af6ca610179ddd1420a09cb67f583ea81fa6109f18422dac951d1a8947842d5a88288b39a1d1428da88339a2929242b1254415434aa259b1f363f5a405a17ac4840a1a005551054132da4be78ea6049dcbdad030dc49a4d0fd54b0451349490786483812a5c6559095915a52ce001aa6a5029d106854285a8158a856ad10c1151ab2bab0a7a1cd1bc56aa15885a894ac41c1164658012c2426b8354124f3c9460e1a51285b0a2b420b2d142ccf67e470adea0401a659001c617bd5cd20d364809fae009938ce58823c788ab076ba5a504a3a23bc89c11810d6ad009c3039402b0318131bcc8420a268ac8193dd8a1b76bd029094260a602689ce10005aca082095b4a18c1a80884291b10c1e0022baa58818904a890824d8321196fc0838d0b74d93ddd918212d0b1450b0617bc26e045170dc8428a053851830062b099404216a3a2a131c87401812bc25059438d31bc704016581021c40c5f5c08819909a0910516563ce1e5c99e43525e376634e0061b6038a00a2aa238e28600d8d366c2162d5986a438a9e1bc6ec62003860f3ddce0c59e26843034458a931a8f1bd135e0c618641ed045155444e1c4113808c00b9710869e38a93151b28353c14bf43b34e0c6051e0046170ea8820a278ec0e1060104c04b066c5cb67c9033da5187952a3d785860880d34cc3042161d200230c3cf6989d61da814842848d5119e809584884478445804c813eea074c0b186864282fa0b3608878042564150198040440cc00b5a3e2aa800e5127bd8f070dd04b1c9a06608cdabb562a956a14a954aa1400f32a40377d950718bdeeac637e5e5d8339b17f73470075736435ce5ae9a385c351b70770fdc553306e765fff6bc1adfd7f7f77d27bfb4a655677ebd5f23801a195c3528b8979fc3d7ea7c8ff34f7e5ef6e4e7f1cdd95b8d15570de95e3e2ebfbebf7f372ee3386a19a2a20a3f1473d932d3b2e5a7a0a2ef17fd14527ce16359be6ea7d9d79477552785933bb656df11c624297cc60594711fcdf7659ddd653db4802946dbeb7271ef4f5c17006601551470460162a4b7f25e013b051089e20bf731a7be366271c6f96e6c37be38b9df6d66d19c7e9aa308e3eea35214238c25be4425d18fbe8c7e168a42c73d8a1f51a0808093fba87fbc27aee6e7bc95a000e2eea335752fd5293d5166fc27c63c61c398e22af4c408fedbb4699a4d3cf484ce139ee484113eeaeaab3e9c2fe9844e9f554752711f9df0c0eeec2e27016d6c4d9b53dd699c4d8f34cea63c20f456538bd15e13be1b5b33b54769de66c501a1e8bda5f608882749cf66dbf530104f121bcf888928eebbfbb3d3ee043891001912e0e3ee692f5f1c1ace58f69f6d6a6f337d977862091b96d8b2841125ccb88ffbceb6115c85bea6939e363ecdcadb14c78acce8c4f966919228411240248143124048bc81c41648ec9000720418477471c40a47e8238618b101236c30024a1166dc7dd4faeeaaf3f959e7f3e1eea33d1c0fb5baf377bf33d6e9d4f2bebe9ee18bef5b7c77a9dd4e95a81c69f671356d7efd4e75a7ad7e2514bd3aa1f2c93f524b8d6616bd55bbcb66cde891dab6bab49fb14db3aebc6b5e5edefaf3ae458051449722dec734a7b9d7d5d7d5a2bff326820722c010210211a821d2a8a9945cf4b4d1f6f0dd389b160ffd98c3f9ed4da794f1104f436c71ff518831841080104242f8a715bd3b5f46d18cfb1cf4b41147f64a434443566ab56d56de2e0bf178d5c42992e5f4b7af939152971fc40d4194ee3ee26cf3670c841bee6ee2a11fdef841871fce1f847ef81143871838c4542106053136313408c002013d0470708032a34dadee753e7f1bc1f97c9be569a9e555ab3bab3dbfe6f0fdd5a3ff114756cfba7b9bd65def1f2787afec718a64465ffba7e19c3dd4c457f64545341c99d1effab5dd557ada88f3c5dd9f955c6a6a6d4e749b674f9bee695f532d652d6b6acba78de94d739ee9345f9bcede5ea796e9578f0ef0c3072f7cd8c107d2001d30401006203ad343047a48a107250580a30063c699b6282f5bde3399e3ebbc71b82ae5c7b2ccbcdeffd0674ab3eff3fef2e2deded2fcb62338639c8b1e5b5d961f777dab7b4ed5a9da6cf8eeca3f32bed6bd7cd3da540090006608800401b610a0264c15617218283cc8c143113ce878f8e13e9ef64a7a6d8a3bd3fcf896287a75e66c9727ce417828b5d8d6c70d8d388fbb5cf4cea8d6b46c3eae264e59beb55a968b46db9477d5e62b7bf977bebe6f62a311e3c86a355c2bfafa9e38dfdeee5e9a795f7f8726dc7d4cafb6e75bdd1ec01c0390628901fc30001e06b04fd4c8678b665fc3d991190d60031dc0d0e1c97dd457b74b9b6d5b5de62c7a9b6ecafbd4fa74b7eef4e3b20e417228410e518c5c4adbb65acbebfa765793c652a716e39bc5ea1a941e492971396f5eefd3bccddf0db568359372088243183838e160c30189eb86366e087383d30daf7ba7de3667c3696d51dc3b2dae1635df66c329adfd55decfcad396b2d7d9a7346a7bd38ded0745b1a94ee9cc44e5cf14aad594ca5d6f77f1dd8dfbbebe8d7adff2793dcb54956c0063c34f0d27a861881a6a0d2f00360400c6479c718f3436e55bb5bb2fcbd7f57338a316e71fae4363795aa6ba936ab5287fad69d38beb63bb2b5ab5d5d57c7c1fef9446b44cf38f3ca32fa3e5b853b3697da672ebde599e57df7035d3bdab3571ce492d53ddfaeb5b1367f3358a06e08e0090110000044046c319347c4103cf7d2c4f7be21cf4c3d5e2945a4e9c6fb51a0eb549b2520bbe329e38ebf4f57d2fff7af977e21eeeef7956adaf8c9bd7dba52dad96c7abe749d2909a018a1976339c3314194fabafbe43634db57e0ec61f6af7c517a7b1ad327840862990707ddc95fd2983910c3832883ee6bdabbe35b55fd3a9dd7657d37a84efee246b35a1d19e318410430b8c1c16001306cc0b606a309819adbebe3f710f67d37cd38aada91f452fd35bddb69997f4364d9219fdc8a53c71bee15ead86a255a8d4f259a3f5ad4d1a4becabe9a9db378bdeb8fa7edf5d75bedc7b6d6d8abb1b5badedebbbebe5dfe5b42c9970ef7f309c0043072f90e005205e405f50326a9cd31e2eefd7bc5efe3deebed596a9ee982a510e67f4337e7db3cef73acd177db2a6167f01e28b0d5f5af8f2fb42e50b075e3cb08397202f1658fbab475f4b6deeb456bef6383b32a3f2b4f537aee6c5dda11ff5c676d7cba51587879e36ce70f4d5bacafe876e5c376a7152c6e7bdc5a159241910af12599b2a05dd8d6f3e42aaa905d26d9e8df24bf3d697ca99569f4d6d16485f01fa61c23d9dd0951cbe4c6646710f0848ef72d1a9774da5e06bd3a7d5daa63c5e4f0399160b10d08f4d7b3af39ca4a0b577dea67be221b4eebcb12fb700666cc1c77dd43fcbf45a67deeebe36d274d16dabb4e0fa59a63f91dcdd88bb5828e3632e62410977bf66d6ba16e9a7123c59f194c39393a70b56d06205a6152e50c10dd73fcb84ef97383b385b4719faffa1dbb4e9c541d19c6e9ccdaf5ba63f872f5acd6ba4f751861ebddd9dda269c4d7b4bd22a88a0c28e0aad14c8a460440a670a3a29380a0c40e1c9bdfcdaf9b3556625ce688623d3e7b5fd2c53ada67fb6ca58e2eca077e3de5ba6ba77d9b4b7cf9b1c4bfdb34c385af6b34c492850f11147f6bcde9fd6a21065080069b83b09802600e0e40e002a3e00b0d06a9ed045ceafee78afaf92933df1efcc4f01bff2e7e486bb5b9be2b02f6b4cf27aefb3c39785cbf7834f049faca9044d5734e9dc4bdb4b77f979e3eed74a5cf9b411876653996de78ca4d3de6d77316a751737f45fdfa6b7d7c5a6369f799b699ed2bba2c7422f845e1177b7baf7f8e2dec61b69ebec94bbbbf680d641d3a07fdc71f4e7ece4fdbc2b53f0b527e41447c319d78d6fe6d913ac4da7a4652a4b87a4ad2e28e8e246172cba28a0cb0d5d6abc10f0b6e0a1ee8e23fb9dddfa97f433adad794f3cf4b4ffaf054579daf8161bedf476a9456baf0bee3e2fd332fe5a7bda586936ad95e5d3c634b5b81f6a7138fbfa668c7db93ec9dbc966dc479cd3365d344fe1e3d615c539ebcf5a286ff751b7f30f3e33e2f0d2fcb6e9a256765addabbcfb2909a4d315e3ecceec86d81da176a043b83b92bbd0a43a988260524ab1d188a25bdb5d516d757bd4efb3d876dab6b6375ede8f736e7a9fc5bade5e679db9f1fd1cbeb95c457119fbf2291bb58e8ecece8fb9d1669a4dedaea775fd1f6a71557fd6e5ae4e9765de3f3bad99eead6deeacb9ffed278fa214914820fc9628b0d4c392094b43dcad6e7f6a776efa5f45ed09547402fd6c7dad9045bbda7eb8eed06a795909adbb34636c518b2f8a874e1b45a7abaef2768fb77b46b59a4e572a5c8ade49cf121e2a5a7426aee94d4a9ad3d4661c1ed24de1febb9d614a7b66b356ea9cdc7523f0aa4d499d8ebb3b36d2b17269fc508b92b9a75cdae37d0e5f7b336dfa39b527d43437d399bbee70d9ea94722cdc14d6fab6bdbdd5d5a6a63d3f6fab53c2f17cb4fbeabcd15ec5d99386337e5d75fbbce6ed25e174dc53f4e294ec194edc6509e03e6249739a8552abdb57cab81fe867997eb60ad0cf56f9312d167b667374d749e604c089dd5d04779d1a98659853fc52dbf4face706cd3d5d856ab99faee6ab57c6d3c5dcabec449c2d534bf4c2a931ec90b992f98a87b89b363be6e56dc9eb8017163e16682eb06e44714ede96bd39de5476c4f6c795bdbdc3d7fe76923ceced38484c6d29ed92c7fb8becfd632bfefce32a57567d3a7e16c992a519da2a2bc6a75af8d6c6c7738a7b709dbffa1b79dd59abcd92c36577949ee6ee4aef204a512ae52e7eee30fcda93d71efd6d3bdb7e76dda3923fd509bbecdf2478ed4a42819151d39323a5d9c4d79baa2e8ad527e80cbf76d92d555776475d5f18094cccbcb5b4add358a4ef5c6f69a1787ebe98d7b59086791746a773d8db3595329b59a12ef6e9b0dee630e5f6d2b539b8ebb8fd9660219ee9eeb69d20427777714bd5b9b30c2f8fa86e02e13dcddee33e7b4b89a20b88b4b133ef2ee4e3f6fdeceee5db93ce5e8eae39294bbb7d71768e8674a3f38239daeba2d276c39726d792d626881410b8f77f74cef7bf1c53dcfea8c0a954086bb7fe0ae126e7095c0739590a48416096efcd619fdfa9a1c4ba36dda258b54ab29fd2ad19fb8929043428d6b040a8c80c4085846703762e471f9c495f63f9676ff82527b54778d52ce4aaba36c6c77bf7a345addc6b669772beacae293c50277ef71171636b08481c5082c22600172f723775d89e34a0f57ce2b2e77bab8d7a54e572ab59a5294a7fd97383ba7e55da52843a38d77f7ce58f6bacdb34d55c7bbfb4c716f68cce1abb53573ca2bed2e6bebabb6f269bcbb3fcdd72229052971e0ee3eee4a8223498da41a927c90dc702179e1420a00920fe95d22b8e14825122e9fb8eaaa43fa1f4ba5b2467b5c2e911ec923a13d9cd6d6347b9a77957cb68877f7bea74d4dda6805e90acd873645e9cad747d177c2bb5bdba6d46a7bbefd599a714f1bb165aadb5adc6b239ff13bf159fc397c75dbeeb2fe34e39a2e0822f4389ac3759485eee865d40536ba19d1b88ad0286aa1a8574484a80b222488b0101d71f752db7dd32cb7284f2bf5acd4357d568b748bf2b4b1dca1299576bc8fa23ddc6f9d77687ddcddb7e45d256c7946e5e3ab7977ff0fd7ddfbb2eebeae9f5a5f46cd1f4afe8fb59a52f9b8ccb3e76f9dcdf2ff77b33c5e2f97569d39334f5c7f562a956fdaa62fc752a97c9b5a9def4b1c259951f9b5dfbe4e16e5edb2d0d3c6d3eaaa3b37ee655d75279a75daa6bafd650e5f9d5121bdef4eca58669daf7cbbdfe2f2d77bda5dd3b54c17fd13ed659fe6dd6ae3dd5d3e6d8c32f4bfb45ef3e22cb6b7b2442bafb7dfeaf69f6f757be35aa9d355573e6ddc567fa953cbe35da5f2ad6edb5dcd5ddedd8f2d2fd330efee474d1b655f9d79f6d4e94a05675d6d0a8463837e26e3dd0da4adcea889e67cb31667d3a93df1c501fdd84e34dbf2d9d32e2b3eb8fba7bda8be279a9dfcae4f73d992da7cf6b4962d6f754a5658ce654baa65cb8fcf94f3fead7b4b4f5651c3fdad6e2701a1681542aad5805ed757faf971ca41285a4d20a51f9c91cfe22a3d4268c3ddabb82b8430636a51b49ab4f187bba6e5a556f73e9fbda4b3daadf19de9b62f0426212419aa808f3fcbe4b318a7f4595ccafed4db6a22770dfdb8fbb87346a23201171522a8d4e0ee40dc45c5478547054725099524543800810cf79c9fe760d4d1d199e9ec3c92c7f996285acdf21f979f36e2c8deee9bfa3e28ca5b6cf4b4519fd5a66f7335cd5bff699f36e2ecc88c9e06f4f31c8c369bbe56a734567c7337cd5f96b8674f5cf3d9d31b5bddee9120389120c8503de58cef2477b7e2ae2962ee6b5c5332cd9b775353db2842dbc916a516fb8c7eb64aada60404a4f423e5c72907b9a484f182bb4b719714320551441085095714ecee41ee8a321b4f8b2fce9eafefe3aeceec699cd2e2fba7ecf77dfd4371debab7fbf1b4f686a2d737d3ed7c7bdcd08fe976b21adf9aabff3fcbf456b7d37c9baacedef4dde5bcd008dc1d8bbb840ee0ee4aee120a21680e6ccfd3625c51de5bb3a23c9b66ddb6bbd79768ac4d779bd5e66471fed36eb362fbf676eafbe657f4c828b527506a7f4c8b4573d1e171b227e6c293e49df8f4b4043db13a5d7536bbcb3a253dbd13579fc5a7dd3ac90654ab29fdccd6b384878acde65477369d9e1d2a3e8ba19cf177413142dbf43ceb6f6c2fef9a36c5b7eef2597fbbfbf89f669c4e5754e760714149e2fa8004ee9ec45d1f68319e36b5bb9791ac892b4e6d530601ade6acee5cf435bb73d198da5cc575a7eba3a8f5bdae8f43adde36c934c9f3669d4ffb32d23944d66a4a1f8ce0e6ebeaf359fce4073277ab5372019d893204b4c578da73e8d1aa332fa73c5dd1b73a251ec9930448e927cd537eb60a8f47fe2c930be8cab6bf2f7f96a97cdcfd9f657a9c2faf3eb6a990bba3dcc10ddc49f7010306dc0718771f60c829ee1b78e01834f1f14211f7f18213f7f1020beee3052bdcc70b6bb80f1852ee030624ee038610dc070cd57dc000c67dc0d08016ccdd4121657074eeee4378474c70770f0266d1f9d1c58727233cf17177fdb34cb6f7272cb79dc1a54d367bab37376c3f62b8bbded5b4f26ce6456f3d9e12ee5a5bd4eebab5ed27cc0f7753dbf4e4fea373b7e1022f5e133c2e2f5e5008b2181f6d9a89725189ce74b5a84da9fc88837bb8fba3bdb2c75d14ad4349a596132e9759deb323351ccbc1986626f332d1ac3d320a3d073f546b8bcef0ad3bb5e695f1b4fb5a5c9a713ebbcb3a6b7ccd8bf276770f9d464a1c017c02de1867b7819d133b1676b41d0c2583fe508c8ae03e963624ef6436c4c1c8a5fc2323975aadd4f2fac8a87bff4399ae954f33aef672f7b6239ff647c6d3fe729a330fcd99f7b8fc759b95f647c8e7604473e63dce36b4ee7c0ea139e7cc4bed99569f6deb8a02e99a5a1b1090d28f46733ebaf2b39a5a20a51f34e7a39a5a5bc6a94573b9bc6d3be71408cdf9c8eeba6d5a5b3423a1391f698be6f444b3ddb909886666d3a39fd56a69ee1cda3609a8e867547e6c3ba3493ba31a0827b53b375ddd6fabafcc977d4aba32ae13335aabdf49d539cd7679e3aa3bd2517123da4827737727752e771f732370f7f13cabcef5724d7262de3fcb84e301977150ea76b2b629ef8eec8c8fbcbe47bcea4b2acfb3968f79d59784cbc2da505f16044b3bd3b0da2295af75e59db8d6abd342670e27cffdd4392b38adce3a5f79da9d9bb4fd656c1a81f3dda429c2cb74bdae3c6dd3b73fd97fcde13bfb9b12bc9ede37cdfa26c3cda72c717e37198e4e579dec569bc039a9bc7ae47eda34e35c957959c6475d6a5cae367d9563bc7c2a47809da5cfcb76e6956c6576fa12d96e98fdd0b4dacfbafa4ed408a85603021afae1520697272e52b8d4b66c60cb18305b8eb6fcbcb6f8d08285161bb4d4b4e8bc4ae040093a94b042094c255840820548a08104d4e2fc3e8b4f34efe813a7cb237df48f63f74d6546e5cf4a1ca2f2c867f19745b413cdb5a247f2474426fee96d73680f67d36a6eab7f981cb9945aac6e9fd7bcb98cd26a20140d152191599e83f1eab2fc2829ce575ff913c56f839e7775464600330209237890050459a4c812431610b26880050358a2c0d2c3e2836575a50257bcb8e27b5dc172058807e18c9e5c24a3d22249a1a23424a566776cba56b3e95bf2fc13201e13db1e8ac3f7350eaff7bbc7fb34e3943cfff3b2d4eaf6a83483d20a4a47943c898bfa41511ec97f0edf239951d30b090a241490ba200979899086084c88908208535e22f0380ac1eb4888232b474270bc8c7430fa7915cdf143515af42fa230889c5c27a1e1943b47a5ec4bf4ea7c6f713e7fb8f21cc98ccaff209c91ec7592a73d4e89b36377373d2a7ff635d96b9ea7f194e6ce91c5d164aff12d834a9ea347f23b478fe4891ec907a53dde974a6a355cb6d913ae2ecf6ad35aadacb7c9ea84743b87643c6d487ea8dd68ddba9abb9bf234ce77e31eceb79ae6a68ceaf4c5bf9f9d563060650c2b61ac8860658a95222a7f592152e50b9c913ea28f68a7ba3b3a92197ded3c8f8ce899d69c4d7f36d3374a1529553008e103af10de788530c42b040384102684284322780d8df11acac1bdc42971884a5d0645791a0e8da6894a221a07a3b5b8fa1bdb5e17ab6fbda41f7fb836ddea531a91c65ffdd593241a2aaf0c5119f590ccb5c536f71aa242069530ee8ead4985e723bea8896d3e8ba9f4a026eed50722aad5947c19bf40c8819065ca1d53a098a2c2143c8588940e48d141ca0a63b9adb6a516c5b9fc67aabb568b523e2ecb1e67db24a352f6e550f9bbbdbdf17675eb6a04cfacae3a9e3d2d536ec297495725265d3790141d292e8f32858f27b6399fc5af28a54781e2e799cba4eb7e098d71afbcfb20083db9d370eebd8446f09790cbeeeefe7d83347071bb5ac4a4ab1250d093e3a0a05710101fb994a419f71faa7b79f7c319bf481d5e24afd4f2e451258b9c4040e6add550b40a01d95dbd40404a3f16e5f594cc1fd36239a1f88ce539547e70c6ccf8033138cff6074fe3cf32e15cf40197a45a0d88c72387807e009a01e80950054fcc3ca1e2c9ada6cbffd9acdc594a9923a54a159951394ac119655f5691f248be8acca8b4616c519b3e87526b8fce6b4bade501d1903f9332f3e931559b455bd4fe50f9913929e3eea409d37c39219dd4ce78de3d59fbc2dd3dccabe6349e36f7aa35bd6a2e6f4286575d132346b289d35093d2dd9b40f1262e77f739e3eeaed355e7e393c377dfea7bede3e4dac916f950711f201a3349c37dbcb788491826443d677c9c9d565bdd46efbeba878cb189baebe1f54e7c33ee3972f7578febb5a4cc9229dc7d09cfc733cd385c3dabd212284040285a85727aa4a42a992901e23e72302619f34a22445a2d2a94642849053c6ef084711f77deb9d7e5756f3bc91b47667fd5a66f89b1f0a47634b0a38347a9f746a3d926fc55870d9d27744ad0a1c95140cef9caf960ecc028c6d81b856871bc68627ceb1ebe56b7f7ae55573e6db43ae3e01eaf66d9fff6cdf866535994d74c8819d26b96c1164876488090ac8e88e1ee47fc75048823341c59f23af203870d1c31ee5ec45f3828e070c171f2c2f1c1a535bdfbb6cb66f6ed23476c139a9bb0365253db947336cde5ea99d613d74dcb3c4dab9db836595fd6fd0c3734e65dc5e7cee358b59134cdef64a33dcdcb4f7b9dd9d369a6d5704332225eb22c32a1976c346201234418317a191932e2eeebd4ea5d2f8795c6ccc3573cc0c103175e1ef8bc3c08cf486d8905078b0c4b79dabc2d96a6cffbf3b658cad3627975b0d4c14f07b88c8483f33399d932e5fdaf2254bc8af48a407915f917076bbc3888c2c7f2c42192696cf573108b8d2026e6154b8aedbc606ac07c805d58ce4fe0bdb88f655245ebc592e629ad31a7f68456de3fa255ebd28cb331993555daba4e416fc5dd5d8fb6c1191bacf0da20c8dd2df0d70634226abc881841a40522340d32a0410d2f0d78eea3ddb9e9479c2b12d2e732fa481e49293735e53467745667a7b53be39d9b6c65ba73930637af21600c89e135648b8f79cfaa4d73f5352a440e2142b8fb0bb9204817af205604610a42cb4004af0cd2f09281ce2b03181032dc479ca7e1aadbb22f7178f68649346876ffcffa38e386c6fbfa05e4098815203c5e40501834e16389b383b3696977559bd7c7fbfa33b1cda576671f63008401cdeb8207bc2e98c24b9badd580947e6a35cdcbe9d1d13f791e4fc92654be2e407a5d30b3408d970543bc2c587a5990f42305e349b3292fa34c66456f3f2bad4d4724a5ec9d398b9e695a4dda6fdf342fd59dfe55bc7b19a7bdadedaffe50b42afd50b46ebb339613db9fa1755f5e35859a703681b4dd198b5325fa198edd19cb6cd73b91643fa6c5b27313109399ad0045d1398bdad3feaadd198bddb9e957b1cd67b10f301667a2978f217dadbc7cb4dc47b3e2c85705fa5581f9aae0f57a3de0f5eae295be868c694e533bc3e5b39765dc9977ab4f8e16675c6ff587a6f6fca13fd3f66eb462cbfb3497fa9ea58b88978b05d77659e941c7ab8716eeb8fc4a9be5aa6e5fdf99310d777156b753b4bce7d06b2344dbc9625baeded26c26d56a4a36cda6466fdd67b5ba13f7728a93f4332cb273e8b7a99c397c6ddbe6cede2db54d1945736ae39146dabbe1320f31a4938f278f231f79b81c7733c576b2f8358ae6f477d539497add8871f7d188bf6e783ebe6e66be8c6d969b96cd14e3c696775f36368c2f1b9d3bd9130f9dd75643e65503c4ab4600af9aa017cd197bbff68e5e3435bc685077f7e12f1a125e34631aee5eab2995e4abb57ab1a078b1b4b8fbca5f2ca5178b6755c7ca8cd72a88d5086645793763ddb6b9bcd1fa68dd99681ded786776e7225aad2cbf768bf2344d96245a75e6d1c6f1a55ae3a532e2a5dae1a51ac1d18ab323337aa96c5ea92a5e29165ea99d97788197d8c4b8b3f6d49997f678d632d1ce349b5392cab2569ef825827989257e893eeee34b7ca1c6b87b6a7927bc503acff885fa8cb7cc5fa1995c5a8f5ee1103eeabaf5ee65323cf202d1788153f838cbe13bd3d537fa0b2ce1050679f91a2f1762c465daa8337bbbafd8a2e5e386f0cb97dc51e60e1baa6edfcafbd59dc69577d68cf290ee4092023bdcc7d2567e114945e993a4100d29bd142423a22f32fa2852ac5821855e4ad02b1915bd52d215a24f1aa2627375776dcaeb75b1695a2d2a04c493a427cbe19bc357a72b1514ad4229d0a5c0c75170c671b6bbac2d0abe70efe550e0b481bb5070e4639a9f0705ac8c7fdbdfcf483bbed819db01c6dddd0e9dea4bed49d671c67d1657c718777dd1cbf3db6f23d8c9d7f127e080fb09a6f051e3d834ef64ffc355e804a5bbffd013e4f8b875dd55a7abcea9ee80807e4cb0c1190a9c49e20cd3992125f8c2e25c24f427ae25c88c469b9ab4fa43742c800e273ab6d0e1840e0d48d0050906400228eefeb3b1f6e70fddd170fe590edf394c304718731c3187983992e6781c5b088808415308400881cc4c06ccd460669be93103ca1101396490a3491c1e88438a388288038d030310340004000081121054f0010b7c20860f24f9001038be8043c3818303030f88e101311eb879e046f7d0a3a7712185b4fcec6bfa8ffc23798bbbe8cf7676dfda687776be669433f4b411272997519951297b33ad16df246c84d29c4a284166547af0ba9d347e92cca89ccdb4aebc9456e2a068157a245fc223f92429e52c5f3d33fab1dc292d5a9b6eaf0b527d7df5cf4a9b2dadeea1e8151cd927ed5ab96df6f6abbbf269443fe2c85ed3465a9a5fa7799b758a2e750fe5fd0c6b7bd36c2b779e563e2e57dc35efd6b7fe8fdd5d256c75be340369b43a55a20e3869271da0e2ee630764286a4dcc0133ee637d0e9051c40131bfdb73c0095b0e0071777bdf30e36e247d830c7f434c4df3e7a2379cc63746f8bd21731fcf0da4e1f6a25767deb737a50d4ce123d20696366034ce94c8200d54a18118348045032cf731ede9acc94fb31b41b841821b4a7c244db20d2cdae8a10ddec5b756fed2cb73b219b84006068042068032d00106cac08015eee35b8b9bd1466b71d6e2caa72dd934cd33b4360dbdcf1e61e00803ab3262b88f4265909469b1c1051b0b60639775be2f9f1665e87fbb569ed7563e6dfcfa9f56df05e6b88001dc7db44d7777e29ad69cf27817f0b9c00f773fb1e525e12cd053810b5400860ad4d668638d19d6f8400d336a1ca1860c23937979d6674d6c7317bd677a6b2fef8b7bbb9d8ec5fefca138e36975ef56f3b659643f3ad93f714daf6dcae6ceeab62fef78bdffa1be13d7bfe5a58d7bd6f723be9f66f3a275a7eff8db7fe567bfddb3598bb3bdd396e66adbe514977792ee51208c8f38da5a4c011e49019d1187023f3c8d36d2d021a3bf7b79b67b375f1a55267006adf84e994013ee38b2ea4b9a8093fb38019d114702b297c0981c09d8e09eb148804aef7c5302ef3ea25126d78446134eb3292f080d9e3b5a7ffba2d1e3ae9d2a91b636c5d97c166f6dcf5a4de90c21ce683a2377c68f910374b775e358dbb8faeceeee0e9a34a95c4a2d6f7566146186ce0c0e2210011b2280fa58ee9cd3f2f52dad897391ec6d9a66df50cacb298f571fa71c42ebce4aa5892b5a771ef13d6b192694f1a40c1513648c40460763ac310698319ac6d08d31844c09c820804c09644608780002474060bb8f3b1b14e533feac7ff64bf3ceee1e5fa3bf4cff8fabcf76e21e5ab7ee45a9d5944a249bcf621bceb55a11363aeff9436db89ab61ad2f819ff503df4b4d126bde5e5195acdbb6f6afece784c7359ce8ca4d6a653caf3f6ba5c140245ca10c30b31b68fbf8aa6b6293f6d9c95ba562729624011e3878f4a464648ffbbfd6ef84a18298491f300143ca0880728819102302400061160ec0086942fe2f862872fa07871873b07ffe3d6e9d54652ab7bd5a68f637be996bdddb8a6b597dbbc5f6a9bece3c8aaf9335d758fa2d556568be67c7bf26bb4716b7b964f1bc7d1dcf667339ddab4f26ccadbbadcdd7d2fff667586639b2e5a6d3c6b994ad9eb9f9d96c9cc368bdeaaedabb9b1129399ad588bb336c5d94c7d7748405e40195f57773dbdd000481fd56a4a3f4e39c8a66bcf4ecfb458baa039400d077c7140132edc184ba1477bb8d4fa1e4551b49a7af6e5698774e6ae41a5d5ed7a5a5c7fa6f4a3b626ae5bef7a667acd47d1ca64543e175fb850f2f1b4750b26b6b0618b1f2ddcd022072d4e2d7a34208db1bcf5b4edb4d5c7b373e4287775b963b3e95abed53ddaada7ff877f288fa76fbab54d7fe3eaebe59f597f4e39e595bfcd5efe8d76bc329c75bf33a6558ded506fcce18ceaca7b9b8ebb1fce67cf6ade9fb6013ec68431c606fb27ae3945b3ceb7b3bafde6dde55db360230b21b210210b14164a60f18445152c663e0a09c98cca29ba06d56ab59aadacbcdfedb5d557a724fb11e7977d59b3bf33b6374d1b37cf9a4ef6872bd1b879bd5497a54dba62005798238e4cd75a2de3f050ada6b47bd976deca4b6d397ccd344fb167ded5d4da6a6a539c154c566c7177cf5b5bd15345191f7933cb74739537aba20977f72a9edc75f51db98fe7adbccfbd4dab115dc5bb8f978a33eeaeeb8e8a314e450a54c8dceab6be7fe26c5a4ddbb6a6960169384e4a3260010ce0f978da7ba6d5d4f7aca9c5240356534431c5938fbf9ffdd05bddb9e8ebd7db14ace5a8a40fcbe8999a754aa919001101000000c31100002824160c47a472d98cb078d43c1400036fe0548a50190eb434c70c32c61832200200200000204100009b68ce664395170044c73cb95adb7a9a08767662989c8a2d59e5c3b77152182c5eb70a4b08883f3d89d326af4f32bcf8b1238fb575ef54a78081e30366baa5fc8e016649182d6106339ef96b1d0898f25854ee4ea7ce039e8d3639b65acd1b6d7d42d7c8258f6afc0cafa9393a4d2d0902d932d1fba6191577ccf1654d027dc11be17db32418dfa0056abbf64c2ce38ab70df92c8e222b038555cbf2436e9d78b4fdb7e56fd02f9a160844e6956363b80f579e7ea9ca2eefd7655152981e33a666bbef68270833b55dfe0c154abdddb08ed1d277cb1e8cd50e97a4ffd9325f9ec1cc2d792014f37201f877521a0be3bc2305a87548d9e198c9f620c1c0432092a64b0e19a12d7ac9cf042749db7ccd6fdd906a5726d8b3c7d63254210f1c9e698d9b5475fc14083fa716a48fdc32add0f4407d6a6f35c580547baf4907587054eb12458acaa3d2f0f0e96c4b59e675c5e44fce06b72223c8111389d7d3ff4bcfa538fe0077fa1920f6f9bd7f1711f2b3c7147b247015170a7bc052cfe813d886a42e57ecd19c50c47fc8d337e89fce67a561b620624a3dff986b396dee5e92b337d99fea08f2d4d15dc0d13834c67f90424e89f11bbb78ddcf769492f7a6e395e54e4dac53170465ebc711c2e136bd620709138a2ab0e73794bbea4d30d4bc090784f90ce5ab8f113f8c066ec0d67d789d8165452e472aea19905808ca2374e76c1c06e2c54ba957ad4dcce8ae26ea22f9bd82d5ace5a064742d9a9e9b93d89b1390e7a151985e83b0f93450d1f399a44597755037a86ffbc92ac1fb670cdb9f1102db9ab5c0288bdc0b29e218c10bf043fe46fc384e847bb474328acd8b3d352bba54183c2b2d7a10cc87126d01de65734c98cee66c19fe82f89f17e51175f0204868005d31d5ff429cd0823ca147421491a3a733ca6c6cfb2762182505973d8bde9d37ddeb3a6b8992b02f2b8ae09b0f237604180f2f549e45ab51dda009205fed308d1d83ff4d914827dad84efe0cddab96b6ab97449d93f20ea3c39f4ed0a4808c62039f17b2698f8449a748054b067eb2337cc5134976bad6e5488eb36b0e71840bce9221c58408ce010cc239288628074b0cd0a32c22e3ece309c4728f40536224f317bcf8199e8c64158c41e197c28e0ec70d2855d9dcdaa3f40eb718deae59af22c40639bc812018a092fc526783b39eff4bb9366258731af9bef83169efe7faab88fdb45937932fa66a18f81726690afbea44aabf7ffb2f2a477f18e31effcdcb7fef31de840b61e1b8ed320d5b4b6e65f7750e451fd5453362a85d70ae9ea1a9289391bc71334ebb3c46ae0d8e9c0ac2f96ee3f10b1907d5464a913a0b19b1d43992d4bd79541e67c8f2283dabda18c28db09d3ae44d1be080046120c53dc57db70935f644696bf1fc1d73a6d77f617251b007a12ad9bd14e4d55171b8937d46cadc1b9010278ae83508106861a3d348d7b684dd43868c8e91b9456583a1bc6161713fce6117275d2a6f8efcaae91687987f9d333a96dc40a92b40ca4dd197afbd24dc166c1cb8a0b7e8de59d1ce2f28051a0113e41fef7844b20a7ffa3de26cc8be7a281438098380ccc6368e322b31e8a967c06f07fe530073a895d3bc23c1b18102d34f6c00f49c39e8e55aae052beaddc796d318f4cf0c297d24a44db31fdafae51586b2843886267a27b865f2334375e92aee5efc1aa46c90730d72e3b4110cc947486311ead42d6e6711fc6c939703b8fd43e0a62d8311538f0155500a9b9e313967e97cc24f67163e223acced05306b56c10704bfcf7239aba01c917eeeed19951d00c2f852c012ba8b2babe90368e3e21cbefb81c600db0e3a7c67b592ebb7e0cdc847a5dc0bfa010ffc14aa2414aa7eb3f1c28c2c7379616b31d1f596495594fce029e82b1b329f22cf0636f725089a1ba19b6ba4ffdcd51d0f9c95fe43deb380f2e78fc8a2c09d4c4bae219c87d1074dcb7b2beece62d0c13aa2d3273c5fd9b0dcd4b43d53e119b9528b9c282be956b7c772fbf8b7dcff35bc9ddd8ef7a7e960b13aaf67a9e4db79b511f8a0319e2fa81f0092dda8bfa58f09c30f0659f464b9b62fea755af2be53dcab0c5e6b7e7fc5b18eaf0ba0f9249eb6700be60e3325853afead8759b5702f2b87a0a02c8475d85678c8c93ba574fe1b9bcfcc1be3dd4bc79e4a2f5fd5a4619c5edcab3cf4866a279cf87564e475592efa0c9356d792744987fdc19091d4724e3e86fb06a5300a482357b407b41a064b2d208ca9f5804b84cd642eae5f742381eca33683d07ddc994edfc796d9c46566ff41975cb1f5be6490953ddc5a11ef4b3166ca28628ec2320b11abd7be5e3d9bf171771ad95325a1b9ca7137cb5d1c6fedcfaf65ed553538dc42dbd3f2fba47f06b10d717e887cd8c4e720cd288bc398cb108449ffc9d8fa70c29b3b0d38a61aeefe70530a19e74996a52d495a6854a276175355cc923e130faac00df3b7648292a3132d7ca24ec5076ffec32a2c04a6f244a242aa548ce9bbdf0ee1a94d954d884d5739d9f2b001b115075972c74891b5374c704bbd2c2d57a10b49f6215649f0937c3ffdddf8af79f80efa9f74fc9afa3a6ceeb2c35d51f20bf727c019ccfaed2afe5be42fae4f38372db2bdca321208e7c1933aeb13e3f7ff9a845448fd46fd87b77f6bc81bbfba451c0e2c0c604343e1e504ba7262139c61066b84ebae25a62a4c95b9478c8c4f17aac5f236cbbdc25012f6f583cc9a5a7af9af5a6fc1e8b0072d145fca4c0c91166e82b40c52b0273ea7342fb58c2240d0e9161c3a325ff31689162036b1f4f62753f52feb0ccc4a51b3e480a25fac5b78bad900e2e74940a13c173e77c0799967dc07dfd90530f494c9c4e87d7156ad2d588678fe64de7dc55da655a367e2bedfdb938cf1b90a8009ad2342fb6e236ed4536972cf88f98de0c3faf15ebd271431972ea0e7c2c607206449ba22ada7d19de2fabedc1bd0e0c1d9009a88f6706266c680c85c88b386fb2cd372b2ea98a6f50f66b624eb29943980632ec17bcd28501eb7ffc8a501bf2f09f5dc53776ebef4f7f7d5fc7ee3cb0feebfc42702f8ede11912fee7951ef48c7713b0b3ccfffd808d36bced151be348cef64a65a9ac9ec757703737b1897d7f0182265f75d5648f4833fe1a5d987dd31d5a3fcd269b841e575a3f768c6686a0604b350fc0ab657f1f03d5443c16bc38777500aa4b252082dd8924b37a514f9be7c26e296e7c70c7253ef52379a6d0ac09156222ccb43bc35bf63a017daf7898d812756f5dfa5375e273fbf71e80d80d23311a263f8f18e9f920e5e59caeb6459f810499fbebb6e66baf047688a262f4a26e58ea1df998477f1eb8a0f62043c088a65c66ac7fae31cc1898a331455a342f2c9d5bd25773b353cdff9e44dfededc85c16cd88e3f73e49ca90f3639d817d7c1cb3210efb99ba74881c3a1f952f811de8b54e0c1b5b5b657c0f6e99a68d9897928aab07acefcc4b577834a468f47a17ec5e300a06c47a50028a2151a678390189ea172a642dd9cc57e89ea836e4f5dc398f541dad281e119fde3e7fee2da5b0c23c5d306eaafdc0f1fe57d2d9c090ba3cb1f9c7880d9819859a36393d0ae22ba9318f711cba0392335794b69126b8125c30a80a725b902366717d2285f7f55bb6512dcdf47018e7f4e23f2cfbd977b6027d2f4f8aad98b0e02ff502b5bacd11e2549b833f7c758ba6839e44e42487b31f6d3fd745f8350905ba5b3fc80bf7c09c2dfe5f13a7bb3bb6b4aaac6bff82204f94cb2a6940785bb49e6496001412c7d75254591b7e90e99806b9aec4d6b28705489f6596f18617d8be8fcee8d58975cedb15856f3e314d9cb029e0607529e5a1c7d913cae7f9bd9a1106f98a0630b7325ad1ad7bac42e9b94aeb1ccdb34dcd80b8fd31f23a20fd2910407dce72bf1423b87adac126531a234dac23bc6347fc36ba06726115c447d4d9f5f6164dfd1fe902a01e447c4862d7f96b1f5a0bc7f657a8b77fbdfa4bd14ed4826659384c60bf2255aefd59f89eeba14c7c78472ccb3418953a470aaf8cd17e97df6d3f48dc679d2f364c84f9e2b857c23c798579692ec1958d48165a55018ddd97b5adffd92da897943a1194f6d4360ca9a9171f8bd1b646524d5c2e11165f5b1520d7804bcc176747fabb4815271ce8996b06baee8904fcb676a4e311838645d7d8a66712be48d187e1e6250433e47819f86a64ec3b8115bbf43010372764b2e235ce81be3736d1d8f3bad6c8b3fb3faa63e68a23d2647065abaac262510dbd8603c9f65048fa4b614a487abe77de39586c60f2e86c51b6ad0c98f160793044d6c97f0510616cb068c38797c9e1dc331fc8d1da46e951cf875360e83b946d947231e628ae114d58b3c9aa727a6a4becc9ce6a7e926a29fe8a1df166b67df69447b2294f504baebfcc8fadadb8d619a65a52dd25248b39bf1257c28c8814541e5c3ada1692a565be877d80bb9bf43739890687b32e89fffed34ed1f22723e3039e0e68cc610ba3e54b1b5aa6875b71ccbc564a189604114f023782a77c816c7e0b930567bbb70249e49fabb4c899b2dc777834cd9d75d8cc97f308ffd8fa446b2ab8c8697e6808c92e812e2195e600947a2eb9626f107652cfa76db9580b51b63645df5d7ceec1ef1cae9d9c76c308f891c179f8bb4d0084bb30cebbef00ebf2398ebac4e8e628f15e7afe7494601c3151318d2a906289e35e0f3ba8d84a21718c80095a79d7772c24eb3adc489ddb5fc37709efa3394d4ebd738e15c68afe6b1123fe916a412b58d0728b4781faeeccf04e275c7536d016153f24ebce06dbae4d8769d9107ee7f77cbfed4b7f8f37cfef5be9b83fd4801bfc0adaf3458d433b780536f5bbfcf45348816c542562e8370db411c4f9e67c5b9f60a55ab5cd753cd4283e62f1242ba7902391f216cf77909a1566f4f9f429c8adf5c94e97e5e33727f44a7be4d87848256bb1b5dd88d627e670f0b27881a5ba2e740129b965a6e7c8fa34c0412aa23246bbbd16327a9003bcd8f9440670f50973620fd342b770052931893b6023ec7fa53eb418432e1a58ef939b738ec1af34be49f97770da6fd72967d768f852fc5cf17ccabfe3215641cfaf86901eb40e78bbaf67a6f8c97aa0a0e357db0b3cfeb9790072907f3c3bd443eb443c5173c14825977c7af0db55af895a261054d7a9e8cb97f28305370582314c08979c0c410cf23724c26bbbf6a5b6670c731e120fa54c185b718219cd0e854d8625a6eb204bfc979a0ffeda648440213b5ad85273c363d3b65606222c515888ae94f62c2871106f9c847675b8a25def58f3ac2da316d8a8b2eee69507bb6f8fbb6e36899569f61f228e224d9feba111c70929fb70ee1cd40735e6505c1280797d8ca3cf5dcfdc13b0a2168b8a9b17213d92f146228b7cc0a5b0108ee38986b2c362bdc16fd1866d6b9d53f04ccf3c8d62133836e02587d0f3b09cd8a76c873b963bfb04744706e0ccd9b89ed00f4469dff3781126d120bc1c784b0a2db1b882add142b55d09e756b17722d9575294afeabaecf5c0d3fe094ddfb62eb778338c7a9d5cbf259f6d08ac720c98daf23a5d437478696d63cc392f6c279b3893b0bf0f0585861f714494d12a5dbe049fdd9577c6928b319dd84d1fe070830ee7c5fe26a26083e3d1edbd2e0e57f443c162706dd86bc42a60f101767120dba1c1c3998dc6c3dd71d7ed18b2c1c3da57f8cee7615b1922b597e84fb048066060cb1525f82f2ac619b70b8761be6f695fac972d969f2bb703a6e782e527df4ee0fea8c90c12120cc000ce097437f4a07d3959474dff6b27cedd5c8b588b01d589ae33a37485b38dc50c7f436a8ad1d57d5be1722fc1d68fb4c7feb4cd487bda4fcfca26be43e5b62929970f95f020381f9b48f55845ad3935f8d6e089eda39d9f14c31d1c4440bf35c287b9b4caf117c6b0012ac1cfc9d1fa1ac851be0fb50e1c0c65f50bd5216482fd3dee22fd441e90c9f14c7b42c6193a2fdf47ceb4f7f8f9f28e52b00cf2b12ea39b15ef1ca4a6ef04e85787368a1ab30ea8592b683f053c474907a702f655d440f3da2d1bc8e65ddffc995e90d943ebfeb5270ac7c4d6f370305f958e6a7187acda6469a3725379f95b71dc320f3544bffcb524c7ea126c2a6fa60af12ffdfa6562b70bacbb15ead78974ffbe426546432dd75ee851e88403a533f0f5487da862c6f64e01f9ff67e96e33da5108fc76769dbc0f112244ce8e0429422ccd21bbf6964b0bf3677cc3b417c6a58b43f45925fec75260f2e652236172fc09ce9d2c00044383e1e2ae7fec3d59aab89c61769626220fbfa0caff54de134a3fe2e1e14a7e993fc2e57a6285777eead4513d806c633338099eef296c11ae48521370cff83ea012cfd84617243e88e55d1682faf60063b4a0481691d790b5b065d9791b9481a6325bd52de3f67d65e89e98b97a10607d2d6f490198e1e41b4a8665647d759937f680a0f1b14a23b983b00ad6ec97b784870b2fe850d964f5d807ca31963c9b3bb122167641542d61aa85d6946c90c713853bbd9aa1a273bab8832c134b9c3491de07aae0376f488e181bcea75b5112c17d1e7d904d10bf5844f7e137f10fdbe12a200703f349096b25c7d86cbf05bca9bca637e8abf8afa67601586f6794587f08546343fc2624d9448da903b6dc59ac14d1172b0aabd0fcff51a0f31397346defffcd52eece7454c8bd9bd625dcff39c0513302c20ad42d47617a40d29e27fd4d7c6fd179d2cdbe7e693beca401ce78032497aa6dbf89f3d0b845ef600e48780c7fdf3f7ac18a30d01543a90ecccde448fb4ce0afa1114d7ad74bea2ba590aa3dbf8810e76227809a551aa82873649d86709ff089cb10e3750d955118bd51727f6010aa5820934c6dfbf6d4042fe8f6c922eeef8e99cc4f1a5dd6356f5a85f5877a5db271eafe803c8d9e3f544cdd54403c452b8b88426afe7624264c9e81322e1b697a5e5316cf71216646268b90c90b11f610ff5b4545309193a92ff740e029812d135e1a69b46a24c40c93bfbe889b26a090f3bfd3d142c33f7ab08e000c044523a167a2308840555f09f8468bb253a455a9a425353c87833e9622f62511018fc4206114531440b0eaf4b30038dcddf171fb032df9ed17e38735ffda21f82f4cf8fb2bd09218c129593663537c43727034e202370f06e30c04330db821271263d57005bacfc71493d9b7418aa6058058dc6b375c02c5300c1fae3dc711b50a6153244b55d338e923a2520ce533d296e0f729d244f48f04eb942bf8be2610b076aced065b83127a4665531d1d11092033ed1b1abfdb11d7d3bbbc672741e0e783de6f609bad96720076914802e0a5782f3eb1386e6485825933d34f7db004f6c73c91fd765dcd842f4d88e6041b2e4e744632fd6e46e48cfa592b5bab94df39584987df946619327be003e509eea11f2bbaa25f56a1ccbef909be6180fb660a9de01960d3c6d0e13d5a137b418a4741aa988d74b3eded6a1ab05f43006db3efebb59db930f878e22f052ecd5707771e0fc89083a4f97c701269b51977d7d6deb36a579bae0df42a5627e81bfd2bba67ccc6e290c5ccc1d07cf0cb3fe7d32f8ce2ae23872050af3bce1da97dc34e0696d9a7ba7060cbbfc48d7131248b1f5b526f5161f87b93838089b14467ee18f9ce53c2fa7c72a72a3e2b8f90745d3b07786cc6ff16c1c1be34c044fa9efd7e31b1fc991616f045a99e063e51906809c583551730a5ff336ec3e8fb2cd1af90dbbf43aa3460b1fe2fb27084930a4b4b09b64733237de23da8c2a8dec94a1fc1efde1f747217ec08d0b88c1af36d78276e52826b4679505560d5507e22ef598c84b0de92ce36c5492362400004162b9ea9730bf1d73ad404ff6298807903a67142fb27aacbc2929be2f2b6583ff908c665383f27c2fe168f87bc8e6f66672ab5e111b049c6453eead1fa0889b6aa5d2e71ca723856c05ef1a0ae2d595561820022b4357658d125a72557130fb41ae86023e498f2040464370a8af4092f7ad01eba518579481a2f9291889291d22d56f9a9bdd360e3a18b64f11aba8d8f598eb9b38c68d26845842da7461fe4cfedf5964e9c3dca692d549518d068b3368281a7e6e2410c5d771fe7f98561164eff0ae40d364f7f8d2b96388c7cdbbb5305f659935d761530970bff8127fe7269dde385f063f171e7f054acb84e4f85c6d548d17057a9ceaf990416e0985183dce1ed28522ab8815d7e585460b31fdf3f2c70a02d05cbeda7702fd0189ff3e68321e2679e9d78f9bff268901300d4515a534cea7e4c936a3ff8fef7e19fcf0a27ba7b028dc9f333bdffce7339be0db97372095ce99b115b139ed28f086e8f311cf3159465f9bf780c580b030925e2393c351b79f1e994037760f5f503e607bcf5c9cee1b1e8c181a59473d17d8de094e9168f9fc81c12a6987de98bf8e81234e4bda6b0ce57ba2adb45a08e11576c0744b6d016747a7cd43dc4911d910f25b05ac02b00f39aa7d9c0516ab1eae2f39f058b0335ce5b8d25f771c7a90465bf42a61fb56d82aaa869191272180e265f16f33801678297ee30889980100f76c09cafcd6dfa8c20df663006d9c2370d9dbd2673be28096b088143c08a3a6adfc391e59dba46ecfeec09c18e2ad1f3310e8c0f0ebf237b0663ffd77a1bd2d3ff7abf8f2d448db78de90afbd916dbb2f1a3f610c94395f7f6633ccfae79b38698ae0e9a798a6bb8619698ed8f8d013e5f9b418c3ca21d6f9641b3869bad1f45693a061b3876731bcb233225654c0b488a72a59c87428f28938a60d01380a941fa35d0c7787ac51a7cc10defcb8f92e405ce67fcab9eb526b25c3fc690e9ded3c0fae000bd105aeff664d4cf978a52cee74b645a7ca7aa71b2af976c389d3e03bde7cdc90874abe5baf5e2f149147aed7dc66d83b099f176e87687390fc5221c952a6a8b7665b70cf91213f56d93e825f3274abbca97cd1fee151eca2a271e9549a42acb142a0705dd7a87263de4a16b876a47bca029ca6dc9548bff98c0446f60969a9f0b595663300fa45dde5ec43c964948e15861c4f12e8558461c239e40499f050d6079e07021654d2cfa5baad94dc9f82af83d0ce297fb643af7481960c99c13d790d3eb707b7e0d1e3b0c5aeb056916b7ea306d1804d6c7cfe60f8f12c7a324c89ab67da82ca0ec0d34d31e44ae15ec3693b0c775743fa9a96c132550d19a064762595059bf52d7b759798f00079a5752ef846c01fb437a40e92537d2bafb7338267764bb187f3ff40984af04776df0c5398430c5bd0e5b45015ed277368037d81057abf2ddf11f2bbe4b92727496d3e2026e1cba1ada3dd7f36e2da086bb981dd42e1b6891662e4cb3dfbdb0d83d3007ecb2a95780685187801f221e3b2b54167e102bbfd9756198c67669f30f2df704c97638fefb8b1ff36da2efd54ff508cde8a290288c103049de49545b7a67159cd61622e94b7b91bcbe97e8124ebb79999cd136e824c7a2447ad6bb916cc0358c8eb4370d3b9282d7d76a98f5d4c1c7574f5df7a33f1f9b089876978ebbb0559aa500fa3945e7b496bbe63d45b24e49e88eb12a96b821930e1c5bab776c0b811a320f0d17319a67f496a3c35766314d2c50086386fe5f400ffbea3bfc7b96eebc65c2d10e0ce58851cd320f602a79baffe913fc5ccbb42d94c96f8f08c64f70fecc5a84c942c44fa68e478488c5a1b886917fb914d85e763ec7a5fd9db542581b571d5c7f55a046d9bbe264d4cd82947a3dffecd3bd753c47c4b5d12f4bc43f775bef825df11b390cd8973d3685204356f1180943658ef224411924860301a1c403454f69cc7db75fc222f40a708b87648d5ac946774bc84c3e9ccfb0f6a1ab677c2675a4cca7ae4d579fff5710bab806db2d4f54106d26c8f9c0c28e5ff083841006da5fb9ad4675c742e42d78c8639350cd337bc797d179513671966c79db3fdaeab6782e163d2da02d982d04efafa24c6067cc73f2f8d694dd02919d2b9aac56389b0dc31ca20b1164fbe018386392be0adf4243a28c91f0bbf5be773c97a824bcc8dced23df2de106b60bb0001618f4efcd3bc1cae7ec44990335c4922df6346d9d5842f47a9efd980ff1e77cd60b6c1c8e9185e511ea97ab174d0340d0551b370c119f4f4d3831ddc82512063099d7cc59c02bcc7164c816fbaec40a6a5f102e30b3c90becb0c6c4918fff5dff37db711c60b192a952debf503722b27f8429bbb769729b2fed03edeb966a989ac4a422b52013cf435580fb76133a2534156ca485ec589272f3eb0bba6f0068d475efd2b41477133a1619318365018efd2a41794c5089b3e8ddc3c52129a727453c5b08c3acac521cbb5e58db0de5841f98111280672ecb37c9ff8f423930f457db33db0dd178f4c4ef2a34566995c00e1041fa6cdb48791035ccf9410c46e15d4cf1f4c5113f499807ab80b7b368762fc2ff551a9137624957fa8bcbdd4a87b16c1cf0ae34795dccd962688390dd52f8e41042be782b859d983827b838a19e1f153605d8c79b7b0849d3b0965b2c25ba6bb82193cace597de5a0a6e09e5cfcc46f6b9964485a606d9603fae25093ea4d237997f367b53cfe7b4dcc12cbde4def3452e15eef64e9f9ea22730a17bddbf64c154e649f36b77542bec74dfa30c2d9bc6b2f17e6fea3f3f83e80dc08284d93cab130c6b8c5399f1185f1d585ac16123ddcef4c084b0faa4d9018aa9b0d89982c32926044c76bf0aff1f64a0ad3aefe967794d3fc6cd7c0844ac3500ac46179c80e2be400f760627ed2ac0ec4351f23fceeea6a464a2ece08f85ce1f5af25c5007b886f14267cb83f362c4251b35a563b40181708e32a572e680b9fe1ef230a82dde148c9ea9afa1d14e78654e2982ff342d08e6214d46911286f650918734aef08caf8851d369be501108cef37ccf660853c58444864d9b255fa359479770474436a023069a81df637343f3bc9ff8c8533f6dd26a351346f22eed5598ad8bbdb07a0440013d17ad39b2f79659f21888fc7ff9c730c2540bd0b3d3ea5924fce10863d0c283bf0ac2ab6dd1cc6c17f9760d986364c3289524fdbad003788f5f5f1f5b4cdb006ad6e280f67c52c098de736fad1a860444fcbe1f0461f2364abf165e811492c5dddcafd7600a7e387ec98cd4a3349f384a2bd8b3a911cea623e2f5c35eecdc0a235118cfeb9c1220a19b7fe2f0ac4c928fcbbb81fc86bc1b45cafbd1a3c66f8a98b8daf9960ab96bcd38e46be234ca1075a20eaa7ec56ef4e86ad51fb961321c46393ec25a4e34c2aabff8de30fbf34305e3550b35779187b3e3abde5c009d8332b57fc4da47251cafd1b78f385814b7264b6b795e15479a1e9ffc7cd25a9e112bdc8eab83221e155e9b9b80b068e5fd88b82536a086d5bd8479f330166ac9c4fa661aa3bdf4beca27efb936b16292ca8c3d8ea9f335b22d90820ed1ef65e66d1ac138eccf57becd28d656ba3c100cbc1ad36e92ba800e6415a8fef589844eff827ad5cfe247a54e4156f3d24101c79703d8c98d5f266903debde226809656693db0433be0f7c84aba9aa7d34641ec3252323e276edd37d5c4db80e8db9e02952f57963b13d0cf41cd263f7795f116aac20bb3c054775a24522b01dc400f6c69658d05efdac2d0af16ed3c0ef50be4edf17153c70c34f49daa58c6c13ebaf2a3a73f59e645e27aaad274930d3f69cb07506067c281ea2ae46ccf6c3b0e242d78ffe3ead48d9f55c5c69ed2358dfa1d1853ec42d52ddc8fc239987d0c8b8519e43866da5489d0ed6ad36a420285533fc84488519115013455d54a13603250f148b9b2771f015762030863afe2c10d263db6256146e33486ffe80a3b0c312ce8d0aa35aa01e63f2cef9e895831f864e77e83641e80aa0c50dfe5a407b0a857a1ef61e8614d11366ba61c8122be9ded1cebc7dd647affcd23a67e3bcd5cbc9d06139b643f9d0f52e8c7991b875284351ce8e0ed8956e525acd7ab3b07b746e8eab07e7711b2dbfa49e5748b80405f7ad751be9f6a6bd5d98bb8975dc3d629f19144734e2a31dea016047ed6062b17d85ea41cd1da087c7dcd5f58aeb3927697a729519bcee6ae8fadbe2bf6fe593719a15c2a26b348ffbe5c7b5f5fcdd298f20dd4a6683cb033d0f933b3498cacba2f421830b59ce278e885622369f0a5b0149e92dfab86f88f485c49dc6f5d162302e16b3ed2d553df6bf26c2dd681221cef6da8e19ac278ab92e002836051424f1b6ff37f21ccc51b63716b1af7100e093867e66aeacfe069076153998a1abac3e3daffa27ff8916dc442a56d08793dbf2886b6f4db458307944557ff52c516c2dc6b2807065dc96f13c1c21f5720aba572f8317be8ca038c4ea1aa8277b6eb3a46c1eddec21e86e749124296b4ee88d3b696ade5ec6a4e091740432f0c330315f5fb52a450a0c9b0049401f143789917cd093b90f17cce0fc0a85f0f6e6d7e32406f5cb4c18112b42d804d97f6a6f410931cf2da77583b4fe1be66a43a1a6ce69ce1296a1ce4ea769eb52481393343877616a65c21c86d4bba0b9df7753433fd9dba8feee7b766644831a0addaf3f9e8f015c5d49c99acab49d78e6142844f1795995b49e239905a90ebe20491b6e612d53c6543888ac56270d9d7dfdc335630d2d6ec8d5962c6239f4f4ffa3e250700cae8a316837848ff0422f1b2d499eb8f68a477a841142b70fd00b9f6e7f800327592e4fc2613d56ed57003fef92562247477918b095a3da592caa1b43d1fbbc9faf1d5fc3ad36015ea8d8018ec43f430ead434c8a7e387e94595751a803401b679a2f0e7870d2b4077f5cf7099a5e746991c19cab08fff2ab1915043cc70b4b92eb8b4a40c4c296d9c7554cbf7cd47200e6f80ee0f1d6624d7896dfeaedc5129416a51c9919f46f3f09f4243461fd13891d9d367c6dd8778b332b3c0948c423105cbf2fb32b26ecefee18248485c5e5bf4c72414da87d200a95a0c3caa15c7df010a31313a8f5e946dfb789a8861c2cc97cddf6e8ec7d767d6e0463755f3e9e0c438b31910ea17b934e3e12b76421309ba809b13259b20956c6d37b0acd7c1431ea7700acdfcaad60d5d9adb7d30f3361448e358283fcac3babb0f9ac0034265ba3c0fdc6c6f9a35e92eaab32d4212a7b18ccfb43e8eb1067b07e6db57e33ff0e7f5678aa0ecbd8abfeec44aaf7ffbffb81807e5966eef7f0e00523089a8a0edc9e2493c02d146337db1826b4b4164c413b4f15fee28612c800f87939e397c95e02892f9329e2daf178b81c6c39f48aebffbccbd1d6c3b5b81864676ede29fd83fad4d0b005a7a6a64852ac4660962982744135ba08a112fdb4cead28b499256daf8595e7c0eb8f2a76ed787f3ac01d94c118dbdeb57452beb731d1a277a89559052282c58c4f263a89d95ea0cbf3deacf25baf37fc0a2fbbdf0768ceeb38d1cf105d3bf913b1fe1a7d875878b90714e1fa02d789a358c857d38cedf4ca3e5c1908473ec4e02b4a50b8b2a63814f71f7fc1fc89aa3948fe44e01aa097234a52e05b252cb6229add0745e12c6102df4974b30f164425d1eaca6507234b892e5a0d190db3263ec3acf00fe1855c73a3a46f7cad11a34a8e20480f364318ccdd608d1c8844191c33b8eec158391662ed5ac2f60c3748e63397e93144b9000c827246a3162b3ac490a24d7b60f171b84f13a5acb17e1fcd9001e7d466e768ba0383ec348e1023ab3b5b423859863bc600eee6fa0647a1b0280ab0ea8e825463e9e670da05c7a8bd40001047b660283a7cb6d97dda449e494edf167c03f805d2cc1681a824def14ba46bd7709a58c674fde1c4eb9f4e2991c56e4f0d7c72f0775234b8827a426508e124179259a3e299da91e7d19ed54d07407683b6f9ec1a174b2e790f516a2ceeccf4e433b5338cd2ee4564a48ece8ba984838ae8ca6cfa0a6271019568f72e5ab7c87a01237af7af501f3372fb7b926720d027c38997f44ce075eaf3d9f384f7aa1d7f4950b44e0af71b2469d75dc520b23a14007230403f901d9c86f44c1511336d3fe54dae0273fdaf897f8906d3e2ca34becd52d22c9b0b0915bf83ae0df8189ccfc385abef4c772e7a9211651b750abfdb7e816430c0287e4cd38ea164a6588b7acf8a82dd601093496b392364bb224e5fcafdd17b095fa3c6583709744808b8b93c805f495c89640143b64603130eef056677c0f53e3ca067522845748bc757636101c4afe007a092f80389b29bd2bf6e4dad3a1939495522e7776534f20ab2e68eb52012b15070339d179e43e5e711a80bb795f142dfc852cd8129c13d1421b166dc1b874fa7d3833cf75f9020d7c133e46843c5b8825060c835b4bfcf8aabf0ab0101e1bcc7806e6f9343a0618f0bf00081e0b275f71dda5b82fb7141b7868a13d8cfb62c8d3632309104e97080e80c629b7d35a1389e8609d5608b799b474dbcadd67d73a09a594530bbb58f9e332eb34df54b1270ca4e69a1970899f49bcf741c7bcce5aea7260dd4a8b3bc4dcd3f8c9a4df14f2f168a59abca85a5847fe77c7e0e69157a7b5e396cff45f984340dc1f691c2bda83ff6ef9ba083302d00121166c3c8ab9bde4787b769a57d3683078d77e55f5c4fdd0a8e7932f2fff437979ce1b965bbe2555b33048158551a1d0a0ae656ce3c8f330a594376c7122c6922b36b0c9d22ba99c280895deb13f00d6f783e28436189958c17872e0e351f5a1c2e0651423676627fa577d3f56a7d8b0967ed7c3221c2a52a8128b244d201c367f8538010f00ff556524052e6cf5717d99be758a9edad54029acc75c26d644650875ec27230906e609af06500a37cc27f26b31e01453834a6ccca2d35381bc45f6b617518433f48f001ae2827c915c071d5fe7992093de980dbba9209e54e228a9a1a5693711d898ebe04f23ed7295ee20895e74d968b44fa1f074e055d1f8e370d8cc0a7b5cfd533b1cd3c8355c99b9f4c716fa4acc56ae4a5c2a306794c3229d0f1220e635113eade76c87cd2b34a0853a09b893445c4dac9b5f84415ac09d7e48bc3b602c4d7020f4c915e43c62c82df1ed6fba01f3d7bb5ba31037ee771d2c2f50e1a45bc8d63e639a4f36ca81feac4d1ccdcb4cd924c93dc6204e99cb5aace65b315e3967f11e0d0404e5a6d757361554707f2de112a28b1f6646d0235e94d7990db41dad5049ddce37a088260465363248c4101fa7cf02b8386034fef7cf21042c3010f6c37b94d777a35419190c750334fbd86007650abe1a9ee0f4d2c25093138f1724fedd32feb021290ab51f58e132a39b2bc7c18c64717dc1cd3369cb2218d46ecc8ffed836a4c4066310330a3cff4ef2ccd24d64da0d6537c43542326ed24307dc39d5892ae58b3724e92b7ff047cfff78ec2361c41981a0d4eeeb14d6770cf4ffbea6a97ebc009de4d8e230117177fa0b293202ac92b94c137b770718dc243a3dc6158df4b4602e5b5c649cb103a050171e7d555ec3f0395827dfc304c76cf104d6e1e97bad76cb41ebe969cad8d98c15a067b0b19057415dd94703bb1c41878452e1d9593437bf5df3c73cd51656bc669840c90841b3c552bfc0142e2b7031b400e5444c51a7e499de3bd9578314e609f440619f917a9d1e1b4105652653f0db7b1899e3f2b741f99d5bbd7dba50773ad237b3584949f10a796371b0027533d64a3d23f5ff3edf4470cf839ea714bcbbd93a4722229f2771f1e5dc6d9308ec7a9a9cfe7b18e39a5a15990da0cf21c615181b6a077a16104b2a6932685056d0e81fe2a210317b590a333788063e0db7d72ac449b8dc3d99d51a0369f5b4afc8735c1a262dccdee9589388ae095ab8c3ab2ce07844910e869f7ee5b2a13a817c85e08c52fd90b759c4eebb739602716056c1f8704a8096cfa47253450933351414eeebcace8bb8bd543c3a7c3b20c4d4a8308b6f3eb1ccf756c537ebefa2f8f092e74d70ca0a819f8ef8f01006968960538cffdcc2eb2914613714ed150c6d59db379ffb198acadff21e98232c22c72abc0ba4c438f89f24055f7e3f7b0d4a1e57a0e30c4db001ed48d5b1969745953f122c2a36be10bd8b5e7ba534e39183694cf5d9a099d148a831422f27f225a8e910a46c0fb99e07ad50e4cf42510467c4d87d8939cc5a4baf555c4aafe39ef622faad149b1d87c8a239c8852c19722b8dc1c32c4df49c92eab6ef6ef1470cd048fc41701e516f67816d434af171c468c59c66850831d6c4485a610556798acb6499a4a942e76a9f6bc17c42dd0390c865cdab319c911ac25521b8c57d33241bf2c9f4679baca8f4edc552ab0fda1790e37f411cb51f04a578f6261e5141e97f69e60c33a0e6b19bb9e579dae48e0bd9c0a2d4b399fe6d973787cf526aafe74cb62c69fd20bbd728ce421c59bf6c0edd72dd2fe61089c261557000bff6be5e68d2400e47c134ded3d97b43688fde0c9c64bf76be0e0ffc30d0f8f3988727e526f5d22ca08c992d07b377768eaa1eb75ab738e2d13ce705c65b05954c350bb704fa2752f69c5e3412f80f84e77fe27316cddc2ce0e56aa068579ec68f8c426fcb4ef9fc987d209f416fdeac6a1dcd0c100b9d7058eb64a8004cca5ad2ba7121f30265c544808c4f9e8e23c3a706cfba280c517d5a7ae5076ce8257f705012fcdeece313090e63d76f7d41f89c5f7bac8abb807e103cab01e84a2f1e5c9497bc3f691417d3a7d8a0d0cb0c31730e0ad33cb6fa414fe83e229cdfac0e0a3083c12058b13ab8b97572bb2d395d5d67f9e293d7a13b7552ea79fc7330b1980fe9dd6aba4e973f65c1e0600d6832eff95cdf9914cd5396bdbf0414e66acd47d2199ce507f8a88f9adc42fee3c0a02c664f039d71e43ac8bcb3c9666afce15fc8684ca93db996f654e3bad72738cbe9369318ebd8bbd686fe04d5f67c4301c03a0bb17eac8347b5d3bd79345f1e963ea82131de2f5ef7df5c7360def07da1fc1e636d6ff2f96e49e3808fcff0ff3347a51b1bf5fddcdc2f2372d6d3c98623491273df2b46db01b970f88ef5d7da5579166f95f172ce3c45b5d0cc7aa2a045cb8e3ad1e40d67f3e7f3d41a1fd0b772af61e53ba2fda00001c0b18e71a33f1a30b534e879e41cf8852ec0b8a17cf0cde810b5c04161e683dfdd081d88f6c803ebb7fb0aba0dccc9f69baaec365e7ef1617f4db53326bba38072066623418889893210b0b943d2b20d305dfdadcfcf235d818f43d9680408e9942d1332efbbb79ddc510c58ffc57a9d6eb1bcb6c11620c2f6f8e270103286c995da6d36b5279f9dcead10e5d502a0b0aac7f6304caa0d45278994724f6e54e6bf17c6f2acdd3ca8f1d6652ec545cc00ffbb0a32b9c59400cf185fd4eba2def5d8ecd600f3943a4b7a1680f0b309e5ced8d344ec544276d2ef878e3e675ee48945f24698789237637f3f9d651e3bfdad1ce48d2d00ad84549327897f5b25888be64bd637545e1c8b564b5a7bdf07bd8b20498348355d8122b21eeb5c65fe377a3f32197b2949a78415b1055fa6b0aa8eee6a7032f8f2226dd949d589b7e2e7ab333f381ef219f02221c6c710b386c9b949fd84d49419cc2e983dc5751fc9972303e734f283b7088b050e1ecd80b3264265e2ed80b66cb23899cd9ae337358113da2c0753b904eb374e1eec79f409ad440ea144c9221e13c6b9242a0f87eb36919bf45356e36098d6cd8aed3613c5e83cc931afa4294fdec8d41618dd21f5071536140f6ef3cc396d709b4c5d12d3f30cf4f25d5bba9a607b9fdcd182b5be44fbe042b6a9860218e63e020488ecc9bbb4e21584b588c035ed348e866665aa1143f9df627c85ab3737d8d946f2f9a5ce405b9d376672f88c8e51a6b0e12d3fd5ce1f30ab4d805b5829c2886ca8216bae7481f6ef12019ae8c7e70fac102aacaea6ca2f78310c07fce35363d9795995abf7594ef094f8d4ab12b7f3c78500abd08f233abcc87ae7a304cc337702136e09cd15a4d7ec30be81195a09289629dff668b7f765f896be57204859e665d443e3235615288032dd0cbd127870bdc6043343b08bb6ea8a43e4f3d623c4e744a3e5c65f30a62f9d609b6fcc52e61daebaca385b4792b1cf9e703c264f0fdf4a84a42e3fab7d56285e170160ac5eda11a893a8369658e0df2d96d579c1000118eecf2a1d8a4ecfe53ced8f4b00cf8ef25fe21c641db2aff3860f690bd10d819fc405cca0f555495651d1b99c98d5d1aa363f53f7b2290c10e008f45e0bd8539bc4ee16aa445c119da40879debde9a76215a69506a5fa5c8c6fa984bdc14fafff0a8993834ac41fe7df4e650cac2dce6e79a366924f2ca184faed07043b3e33867a79d5ec4a94ced3505dc4c8da0b8906b8464612d4a8928e3aebffe62a3d30ec4eaf0e324b0d1ece7f999f4b28464410b9e861789ff58ee9c9d3cc66dda3e442dc82ba9224c7f2a5ac71398fd487acc46b84705072ca003f0a0068c6efac309546a4e3b68f6afe3820f1424419f05f062387ee3c0c9cb7bcacfa79abab1055e72cde1853b071c328d30925aa656fc5536cb9c96593e419f3ccbcb968b8a324f336e3c73bdf7213f4e4e24443956dc4c11d1d569a6f3c20a1a124dbb4b90358bbaf57e3e561e94c6b75b233f1b39aff37b90080fc19f4025d20387d42ddf5fdd2c61bddaadc00d097c1c36bece40c4728556847e81c06b253b7ecda682a83fc0fbbad0e2a2ca722e6de8297387dbd043d6452048bf7c138692c2fb8339987c037c716da2a253116b998ac2243cd57ec50e0f3a72db956b9e9f3c9117e457ecd714fdde2f25dd806e3b442d7b18f4b4600fe92de466c53b21aa5e99e1619a3b494fc736670d9ff38470c9b427462d5975215319e24a6044fdbeca02fa019f05218b8bb62c78229fd7b24c5907c45331e10295d5c433f6da608415b4bd62dcc9d6d97aa9ddef5c8ad7581fe5853323ad7f079354326ebc216e3f1ff9104251aa5c3d4d9761b864f8ae20c64ecffad484e6522ed7a900cb20bd52944da4cc99f143448d7dfcd4935f9d0fce36150f2ec383112cc0ac742c2c22b0eaca203f6155f1c0b0b034edf9248d5b76f287adcecc38138d3f2f66a362f1ec6b2105b566902aa70fda600d16ac178382cb995cc71c3611623a1fa2bc032c79ab467a3d252de1b7c6f43f78fc9c8891731d88bda7a816832ae813b9cd14f2972fa7d0e222838e4675b290540227849948bd2469fba2367e4a086567b7f01a2ba262b0143c14d5c9b81aad5bf5fac3cddcee9d6bc65408b517edf059d8c5cf0ec7abf7d3907f43e6d79fe353f81bfdda0faef557d958f60c2e9a95d694ff18c0d3a3fe88c1812b617023e3d4e19b2b68c7bb5780e04b163c1aead4eb2e33c954a42bd311f727e28ed54df617d655e5f92f11f172aa6747c51fe5dbad5ddf5e079782717e29d45b87a9c6a6b36c469c409f61d98274af2c35b384023a6ed1deb081298f4635b771eb31dc10b05569e76df7ae9c5fee7e439c0fe071bf88630df4058df4dbb8fccdac5781f47cfcf7b2f3cd1fcd2d6eec611e2b91cec999717cc221db6a366b29dea8a452945bd4c1466158ad3da2f3af6d43dca543a4c93633264f8efe8384d149b44089d07f3a40cfe9c292288202944c681a3a9e20d193f63d78b5c0ca5681f1aa36d7ef175236e0a70a256375871a83f9d80c5f8ee58e46fc5f1898f31a293977097d59a9054b9dcc1be82c92df4138ba66e4de207e24a0d61f3b3d457a43765cd4b7678d2783b24cc3c9d1da4bbb3e1087850e8fe66eb6ed5bad20087cfd2032f588dbfaac15c0b2f04a88bff9b22823134e592123afdfc57b6c64d8a9c37e8b07aedcdf0c11dd11a6bf6d2ea0f72611ab9336a12a8b85ea39781198be4cbfa544fa83b5751869af6da34f677316d37920c7cd5683bcefec647e12c2488a1dfb95f19e83e9034a6d7b204ff60dbe3a276a00cd59b3a1792f83cb466c672047e27b9aa51875dd379721e0944f09a0bf65cdb90728b5dc5848737055a9b3159f66ae1da01c48e0019e8d98c6564cf3c88899ffb4b75395ba9e82b172335deac4a63e0ecb7f2cf571178618cafea8b00a0df8efc8718736d7160c8181e62025da032ce82926adc29eb70308ac1cc5627af0a8a6fe6d7560adcd9ca40c040ac3217ec3ba6a02516aee89cf2a18e510f29185ae809c4f9f91dfdda39bfc7ff983b51d88636b41901b94ffd49cbba3559fab3c38836f7bf628d0465704b33e64d36f903ad513928e9827bae3bee4c44e944eaf68c58252689e1124a68b80432e03b3344425a5be0f7c4e27e5cd15960c39bb32c1cf5f91b736d1fcd402a6fc50c7452f04571b4bcbdcfc1564acbbceee024ea3a09960ca0f06286ac2b0590ccea15602e85d23efde4bb75ef5cc073f2e7dfb07c2f01c2c6df16c65d63d740d6270433ee390108623435084787850fb859a18481280a5a1ce3b3501ae73209b4d3ee658d1a136399206949386bb3c204922ad5eb30290c94336fb843e1cb037ff019a343f6923fa477284ab036ce691816000560861cf17842f5b14bf4fa74a4c186680bfee25930005a331874b37d0c3a55b816a7f1078d7319f0140a000db83a66281110e0be92e602fefc5e3e03d50b00d8e1380da5c11e90d0a07f88945e2dddb7681fe80b09b14d37d787b304186d7a809af2b6876393cff69830e30a127a9f414fb8d8d7fbc35db663e129feff43869815adf4091a8a9c0696f9f54c0bc1aed00a2edd7633adbff6c19c1f58b3c03f73956beac311834481fd429a584a686872802c9fc10071b9b7914a14bd228a9934fd886a683b5be4a925fd577d171198e53fd20de871e9fc88f6c19f8ccdf44ae11c18fa0651421e32fef407294b8cc1689260c4df7043789ac2bda3f63ce02abe6e7ce92e8e64f2ac880e98dddd931e9bbf8eeffb455870b7313958a5d5063254a615e83a57032a91e52949e9b6005a7c9829c943aea185c078ca0248c24942d01196b33f6e9d91922e4f00d932de3ede4395706579871d640e15fbb57336b9af1366ddac18bcedae5e523f69ccca9ff6d787bef94fe50c81739afd0e20a3502a952c0421c75bdede07d60d429ceed5e48bb23af0625df89a23658a5fb9b9e710e5187f71d04adf8240a5c9819e77917357c872324cb6e785d4fb273082cd29d2e76b2b6332e841d34cf71ea248de0578fd127869fb4e0d12c33a1accf1058283c20418a286da1fc3f8cc4dc57b11edbbcd45bcd964348ac6ba4b12f0e60a6d4d0a1314b3cf4c8c584663f2c9b060f513d2b407e08ea09e087a2775cd3e740079ab3deceb0e54b9ed78fd2aa24f731ed8cf4a25053ed577440e0148409db007ee6c325c58850b589f9c48bb1ed7221541cfbf56a848fb809d8740fe73516e12876784e2efccfecfa060a56f2003666a883f0f7db2f9766c4adab8ce0685e4a6285c8aa46f2c4b7d42c4f3c6b70b6772bdb3c965478fb206ac0c3b6a3ae77e4ffed23fbd0cc7b07f6083eddcb14f85837a8c2ee030997ff540113ce1a0d6840389ec83e2a9dfbed129036f4a42100f6028490898a37d896ff0636f1338bdde9780560c83396dc96c4bb8b30c68270ac0285bc47d2bbd25882e6ff52c2c74cfb7b3a9f99763a6073bd12a33671343d00da61250367dfd4a3f032d96c3b418804f4d57b3afb0974667803ca609184b1fafe804b22af275fca193d7ca42c2f4d3ff742101e995d1c23831ef61093d9f58f8cfe1c1c3a67e02fc98be517c98c737d7e161aa8b6ae536b4bab12fed0b45e05ae3ed16d07fd7627ad90d1ae295f7899ed66ec5930a9e9909e2e9a28a400ef3446fb6810a15bd64effad364fbe4d592f65d0e6ef1bafd781054445c81be92a6f5d764f6ff7b82480027f70917fee3f06a3ba2f25b20a597eb7ce69b8a36584024df0bbc41eec549dfbb3f995863a8fda5ac5572f1812e232065da7c2678ead07e6df06508efb8a2a2e85cc358913875c9c299a0c4bf1cc0da7c62ec1a091bc98e4a8a55f5421b72069972e08cc2bc1d71cbcb6e1f0d42b9fa2fb7705cb54772e1347939badb6dd271fee1dffc1be3ceffe72ac9724d4b1e1152a37577eaa5b93226ce046686affb83ea9e363360cf1834e2e039f97a78bcea4a82ea7a8ad7534b6460889a7aa48f7b110d39a00048e52035585081d9871e26f3067062743d9949dbc48823631f3ed8eb53383a9219903aa0429cfebbc03987fec2127b3a1e9982847c3c1d9c44de621084b880096c758d8ec2ae8e481e9a20f91d2080392645ae4e220c401d53f5ca51b6c1e4a7fec05392ec123392a58029a7aab059fd215a4e9d9b4905c7f60daf91e016fbdefd7fb7decc8f0391cabd4f56d10ae54ef65dbbddc4ce5ebc3d2528dcc2bf0f11f4133c0d41775be921bd078e8e55485d351c0258e7f1765b8bda332bbd87eed2e38a6c0744f23837cc879fcac362e7c1feb78b0e75f953c226fbcd065c97d7b623c3627532afd0dfa275232a440c7ebfadd1420614808ca0eef160e20e3ff751fbd2513d57c8038eb4b0d7208717d02c877ae2e604cddb687dd76bab5aa71d8276534576afb4a39a18fa82c362f6c40017f04d20bc3e9d6bad538dd6e5473bec3fb04d740e91f30760f5d1727d4ad133fc5e16f985f3a9efa5c5edae1e62e3c1e82a09666bf202fda61b7d2d7b7fe271233bcc0932e00f7e320e5e45d283409e8c904818ed6609cd78822e2caf2738a8635ff242cc64fed19271aa0f9cdc042351d468539f64ee9924770173b91b627cafae4800531f44600ae3a968f321052f8cea3159a64cbc763c3a90c2e06facc9dc51c711fb40a289f3049607ecd58f8d2e17f66344a02951b5414ff2d325d0d17638d680d5ccd31679c5e04ebd9b5e96ecf9040e6eb468e22e46dc9d78f7c5102e258ff141f9eaf3a80c940318b49b142ef3020c296cc8d92870cb8a6e20809772b93c62a8c30e34d3adb6affd9001fd8e2df209a326b8068d9a9239e72f55b5e1e177b44d80dde7d7e7cfd217be7c91603d634f673d2c3afa933885c8e7f0f460ad7208843024f6620206e0181be870c13435f3c3c545565c7f19d6c686798007915f20e381e13ee86d2d3e440b1061e6ed769b51731feff53cd37db26e4e3c9a3e51a405b3e27e7cdf3256e7f9ce90aca843eb364cd4a5f38aed60c6eda872095bab1d10e99e621c22afa302d5b573bbd6fb80d341382d8814d86ff998da556f0ef3666837fa06d3dec539863a400f2a8f8961c3a6c220545b0c0ae8a43764446812e03de516b87a64f4afc73b65743531c65c59cc33830deb743d58acc7e7478eee991f08852e3f1ac493456817495b3982eea5079ea9ec3bedff48513ecf6b88ba6f5c63ba08bfdca4276bff0fbb504ce196ea87af71fec6e631b318cf11e58b9d71ec7b31a04b729f5ab50930e7b54503b8c518222205a47141705ca5165122ea66f28d8d3396c1f0c46715b1de1efb5980c5bc55773d882862b23fe6e059088e282dbf683497754711a767840c7dbf8c6e3310f7ffbbe18465ab06ce0745b677cbb1fb325bfd5ea9130e86983e47d897c00bb550bdfd0a58fe3aa82dd3be843f40525c16a41d8fd6227cd977e18c44778a80b133ab8b98d87008afe0430b0acc258f1a8c818652797a479f7454f928bde6fc10caa98cc983e29599d0ed0a611cddbff48e4e0ef251533b2338ccf37bd6d2556906a91c0b837cafdf4c58d11a119dc0b7bf0f447d1832208bf3d29bc873c2c4b874718d34622ea470fa3fcec6a8eaf2f579ed5a08ab41509fa68f9347826441fe9959ffcddc89df51cca6fc17aeb973b1b78df586ff50085244646a18c1bd07f7630ebc1fdce3494d103141f8edbc7163cb3321e05824e14a5758472cb92a22c48f14f44da99df93187107f4919a88e842ab57ecb34c7e15c09f98fed88eb5c8e8738af5f3662a567e7e7ff3102c9b06678e438d051382b059f266d71c1c92f7eb6761c1a6d2522042fb33eaeda5feedc062138012fe85d3652bf3216ab115b8ee3437bc495d79cf0a17a064322aad353f940968b7b53d70ce521dd80871e85a8bb5ab23c01edbae4f176448aec577e1f9f8eefbf8290053110840c982db4ee6def9f1bd507acba36b36da62196204ece9dafd876035c49454a414c94f392f209ab2b1f93c3a04a3115947008a0a04ff8e7c407c0cc2e60b86af06236e0329866a1615c3f42854943691424c94ba7ef022f32e783d0fecf54be81d29460be27f58e2a7483a3e14c7a02ad9f0fe0e2e7eefe5f7f735220d6f347ce910648478c6208ab82cbd4085b82e61dcb7cc7b87ad8f1dbcf77e8699f90cc4a1c6c4c6b39e69b95afa3ddbd5e5b9eed6b96fb28b1583d46f6c44b8a0a2ff1d023d1dbbb0968d296cf615ea17267cd39b677037909697177c115fe3b9126dbf0973c04736cce7b968143c3e4888b40811ce004c3f34cac3bf8c3009bf891eaf228ddec159f4750fe66fd665144ddce790ded62c641cf9a3cb66dab723a00c6c4729dbfc09b145ddf9d413c208dccb8b134d88b7ce8d32ede1475fb0889f8eedf11a2ff505736715024f177be28e80a4d8185bf4c3107ccfbbdfd616f9d042c4a212bf4678630e8219cd714a7e78aaf681adc4bac2629d469e0f30889c16dc0538addfab9bbd6659eb34ca665ac9a9c72f1bab81dee15613dba9c2aeb2bd7e712f2aca64d2929281cda3849e21e923846044ffb938a843167e75757cf2e23a2c5d1e034fb2cb9bd561075129399c73c0fc103d5a82ea3fbe27ab7099e8778dd50ca8caabc1c6fd4ef000a654ecc06870ed73f747b202228950924d0034b7f5a89d766494b368fed209d32fe0ce64afdcbc1f7b4d06ef1b38e2607d8c054f2870b5881fc1db036c14071169fee9b648bec647901b920e0e46d2bd005b8c4d45351840ae17639b393ae90d64fafc64b7f8b9a31b5f675ebff0c543d139b75662982b50931c08d3a04ed59c4a97bdd2d3807596dec7d5bc91b631c7fe56d0013afb6bbf4e705f7b8ae5293861924aa17b5ee7519643554d724d9b3f44f74e0732b536ed59f671f35ee07c9e6dddf8d213b791abab2807b5303727818bcea1ef3462fa986cec4d946cddb5c6d710b989089178984e41f387a1fba57a670a7510a68f10e10b7b7fe0fc9c29a95f01689387589a9838acf5d0d524cda7b793b308c5abbcaf599ea3c5087e3320c0a6d2e3e24b7897313c8e2559c25fceb69317b8fd90f7a53d9d3fb34a9f4634680667d3a4577fa85c67ad145ab66fbfecbb279a84c3e59fb11fd90f7755f3e3f66b0432ad6f9ae0c7d2fa7838b383d10a52ad4947430e8ab1f1d06868a2dd202065d848c339a4474e28502f148095891a7731bd17d4376ee4e5ed5de6f25fb4438245f37a2b14358f135486440231b9d6441da50eb30f15ef3eff5fa5facfaab3a5ad2aa49d2e0edd63b590b32473a01fc7f53cc6733f6551a72de3d8d176acda1c249d10a72724ac0c7da9da70e50340c2463092e59ddb57c52df01e03d781c0225b23e3733973919818dce0f1d89f0fd1e3921272f3afff788f3ae50157a55e5496526cb9ec92734bd05eb59c2a1cd970583f2c359ff0789d42c8a19114a685ebee110e33060057a661c3636dd9ebbb24db62a6700dd0002cb362103f8331bee366e4ba7fd2aef987750e1c79bf378f2fce5499e60fb303096beb4489fc3cd485d1f77df80514ae8a6213f332c33b509b92404a46846a3d39227d3dbdbbef786fa176ea102226bb833ef2c504aa588e9cef3e347a1b7527f9a25f58ffc6f4bc4aafcefeb8789d74cd428f467a1428dfe0e72f810cd17ed1adeb489de475dc9b45874d444002713eaa594cf0a221378a18e4122b4675d7c1b47cbb3f45619528ad3ea82c6d401e62008fa28254ffef191b281386e6437a1860804f3a9ebaf107656259f2fa5ae4ec3e821e92cdf74d2b150e12243eea332fde19805d467a7cc98a043a2ef25c0c249328e34984207de8e51aee2e7e92b060e065030b81eee3791a91fd0c73c271dcb889b27d9b050ae227a3861bd1211cf6adfbfdb4bdf5e9c9d337950f8ca9cd0fbad9b099576dde21de89575e52016e8fd96627c3bfef0dc6f95ae0ab2fd0a70c3facf287cec23813ba72613804c6faaa3c94771079b3077817f55f30ce22302d711358dba038e67eeb0a394c2788798ea5f2625ed7a910f1b8a2fbe801ed0baa29f3803719034da696eb729f32c0d5093cd17c12e1644e256e11b60cd7d01751d8d2b3b928678cd3dffd1e44e020e57fd8f4f5d25aaffe09601f2930613a10fb4026b7b72851247aa5e85bfb336dbb2bc4e75b1c7ad44be38ff580f384eaf4ff532f7a2695bb94e3fc1f74a1d8aa2fbe668d1f5ecaba0615b1ad14ad2315a97443a88c5c582a2b8a2e06a69460e7c038259a7201da975a1039f95347d7c11980a1c918726e29e24efe21a95b3a62c9606b6d2a8734e886de57c94d34b39eb8d59e5a11fa46ba5b32a6ec6b85156dc54186baebc3c7a0a35a50dd61b6990c5908893360ea563ec235e4662fdd46d26e86b098db9f8734b173e1ffcf8ba0a9ec67bfdb6ea623af1b21291b55cd43b19ea25f16b4bb6fb78775a83e5486f094d0fc52243698f4f4bea4ba6a55c062922f9b7469a2e721dd5e233691c813cb52644217922998f6c5e42ccb8961b2633f94b277ae118ca3215aa08fe8f9bd143807d92947ab2a804984aa685b7e96f9a5160b9222651634bd157311881133a89cfd0d87aef5458b6f8fe2b5429cc2959a6a4a40bd7082cdbfeda3477960fa8769625cbcbbf90e062483bee6ffe7dee8460434d6b5e4893c37b563c0caa5a8cd6f14aada181580e4020090727416e18be6a7a6f3b1ecaae1aabfef47ad97feba7a5d2892e88d3eae8f595e415e00c2e01dee477f1a2733dea62ef6edc259739cda573475187dbafe448d1a22a388da14a696fdaf876207e81aafd7bd8a439da8e568ad458845ccbb838f36963c11c5d2f3ce5978d95d83bd9cb66266fc3f35e0ea7572d29d87d66b0611876bf2d5cb43483d13d8edc4baed79b754eebd32e4c59d15774cfb5321bbb459680c342d01bd371ea14eefdffd5252a6f71a090862484faa60fe9e7587832d783eee58bd082c477f572e2c9a426a095e570b4df168e4c6cf79213bcfcf3a0f814fb74d94a644381e7418fa0b974598af0efda5c4be0775efae1550e850fd21a4c8822f0e1c3a7c98772e2254c024def25e5e2385572458e3e4cd3089e329f5c412d46d2adf46cefc393c2880895893abd236fbc28d718be9a80a0f37abd45dc600d5168ca8a96d95ebb570d7a3d803a0ca3eff170ee7ff9e9a2a8c8b286c54094ca3ca563d415c4bf7b4e380e93070d470b88bb503886ed8b5c0dde002ceeb07ec7a9b59549ca08dfcc20d7026f17c84ddebcfa275a48a5ff32f833a5e347224b6de495e98046440f5b8c9043e452bb9c9fa894edab4f1b70a333fc1741fcd17502cbe04034927dd48e01f53964941a60dc5b881760db45ba35d33ef878504983b594ec168adc498f957aee2a188b0bdfd1eef8696be3c226970e8221833f4faca0e460a9b2c973f97a52fd06528803ddc28efadfb9bb63a56f25efd221cd4dd5188048c7afdf21f776cabc88b69608d80a7decb01ab5a4bc33edebfa7bcc41abee7f404fcb22f156ab0c1254b6fb7ad099d9840e82a5969bcc3588849affff3727654a7ca7b96f56540746d3f87eeeef8d076ab6627820be401afca44935fd9d362f74d7fa39f8d4dba823cc14e74d28fd84e766f28973c4152641f75527fb6bbf21d47aa29e68e325805f4db78ae4300757a5b4262953b9044d7fd715875c2701777cb7ffda9ee71d3034fec6f3ce8bf5011f53eee32e02e6437fca50e73a3e90ef0cb6be9e13b95c136da43dd31363a58b013af8d2b21eed27ebd3c72380904f93d42b027cf27cdc87aa8d664f4ba15f5a52e54342425b214353d86b87fc10a69de7ba14c5b6c6c87a570b62dd5e7bd8b07bc42e74c048eba58f83f1ca070ae4310d5daf4d203c12105ddfe7f8b5f055b1cf03d64610db8a32052ec658517c9185f00391d0682cb8d5ca2dd1cbef69fd9e11d7245e37db34b9136e94d5ac76ec7cdea8421d643f4b2fd29dfde34b5a0b2025ec78e67076a8e0dacd2949dde37a6592bc0155318d526c66a407b79249981f9b536584e8cf2e55aabea436cf36c46deeee5bd46d4c19a618ddb4f74faa2a0a6366f402cbf80a93f72ddafa83369e9745efbd0c1964e842270e619168c0f6501d11a3bfbb73ae38e362ee48f927ce212bf3af6113eaa3f0dc6ffb6d68df9664af338603e306fa336d220dd115f8fe147b67d425fdf752be422774528330e524f77217051a1cbe0555d64fcfa813ddf855b138717e8a652842d0651ba160517046440f2dc257b9d852fcc6a75226bb2cdff447c3eac4ecdf14d74ad6aff1442ec9a328d6f29360a9ae9a8df006895663534c7ae3b8a3df8dad7b89047b2bd527878aba4ae5989966efbea962b4387dc767a144a925a0faa317238fb6f3720ead5977c86c4abed98aaacd4e80cc32140b4684a804c3b1fd2392354e0242556979c31f4cc390ff8e9124650b55bc4cb05dc06e9818d8c2620adcd0271143df8394f6c72912e09d88d2e484746c84cc8c23d5c5853b9eaf0a219cb24f9564af6fed4a27093c36751bc09e168974897af49c6018f112d1c487b920b25da8956bc30a17adb4fc0c179d399767f505138135190282dd15f965177b96f030211f3cf6e67d94adc35618baa7739102e8edd6897681af99bd447b367c25ee3f0301755610156c6584d6b48fe11485855346f0a5d0f6ce331d646e41aaa050367f32693c71b31adc8a793ade054b71f2017cd40e65d457ca480cbf8a97491b7d63ba8a3dbcef0f887df754cf8afcad514685bea058a130c6991468b06553a66ed84cf7132d5c18754cafe3a466aacdb568e3879cb6fbd153bdd57c4dd1ff9b42e36952ecd09c96220de4078ce45006358d1bce84cf0dedc6af557e373a69b163a5ccf8016c3e2de4e4a8c54537cbe6423423a4fa689c200ff67bd903e67de66a0956b9cce275e6021d09a2e122a00d757c3ffe9fe13204d9e96d8d6fd0c4b9729f4bc0a61afc8c520bbc8265d5ee5e205895ec2cbf3c7dac71002b72afc05c6468267d78fad6a7fd04695f8c71025c6dbf289626ab38ea0f9f1537be323421ef0a7470478eb1716c303763e48600fcf6b3a586a3adfd48282d247e8b6babd9e8052fa23ba505d8898081f2c89fe0c0e83a0b5b820db1adfe381303097a9d72363b67d1e0b33f5883359b403ec0319248f9326a4c968800c680b1642185276fbc46e1b44eac75b219cbcc7cae52b74a2ac88545d32d77524e62028055f7156b283f58f3a517542183a81949826c49164f53fe1a74978b6ae1d6c4d52f5c15961df07060ec18ec63e0235a4a6c0624c01492fdc094cd7b3612617470176ccc09493f28206f7af7f13c902af003e7472cd40b9000deabf917bf74e7b553bf23316f02d443eecdceb2bc8a81d3e10c025c77029e7b78361a9934de0bef2b9d1095807381524681e699f84a31f5e069955b3f967a2b0430d8ae19f0078abfaa0c856ea6f41a80e2382ffb155a0df7d91e7a9924caa6f5c2844ec5a002f5ac126e4a47efb5ae9711155b983fee78747ff73797e0a983ce4e9ae7081ba9ebd433603b431670d6a10395d813c0da235c89251500639896eb44adb9851ab40be5308029f75a04712fa9eb4099f1006743084218d88beaeae124c8aef1c2e737c30bef37cee38dc41cc05712c773421b19c3ef7338080b42347da932853eb55636068533b15dd89c0ed1a03fd0a6f9c3af8ad4fa29f74c6d76b14af1a01e865c5f0b2c7e1ee8005c439d3ccacf12d4c3b86b04291b9f3e0378abd775a74bf0ba6e547c7f003e443a79c73f1c0d1d8c75c39449c911fa82df82e9f753770decfce5beeccbc9071d739979c6dc09dde58f01a68e68434f1f3bf8023164f36e383fb51c43bc6af8db37dbf366f268bfa4f0cdbd8739f0ae11f97cdbe95c7ee0f3b85833ae3bff5d8dcf247d90613d2e196130d6bf42b224b5f01fb47b745c887e165f4b786ee4be40728669de3dffb66120fc21f4623c76c222fa80b9999a099f7d648003aea8f7f2044a368ca47de3cd29aeb8d24430c48e5fd0ede68446319cfa1725132ca1b80a307f84e68f8cd8585b0323d2e5d9ced8dc13c4888a61c56262afb1b228fd7f5f353abcf266197df7fc0061e9c5d80c85c07b43ecf0a74b49a7da3c5fa684903eaf19b7ead0cab8fb38d0ecad806b3bf8e0613b7b6f5fa338863ecc20009a80fca4facfebd181ea1983fd2fa260feb897ddcae15b85d4343be0757fc2fae99775ffda13ab9bf7e6a6bfcb5caea27a8bdac1b8cfa2ee3677fe0f20aeca74925e953fa5b3158d4b61ad2dbcbc3c1c446a4de6bac70aec75553d226f3b9e7178264379f13a4ae157f86a83feaa46dabe6f47f74ed229a4602c700bf0f8ffaf474f2b3cafac725e57e477474f9403b796218596413b392005d92d31e5e680344af012cc43cd311a613da5712f2edf3c54bfc2b1b3980f309c725dd12147c16ec0dd07329bc4d93f8aa901d7fe14f3ec001fb18435019c8e8f6300c1fb68e5d13afdbd619876a839d416bdcebfa485b4d40b1e385fd40b33e3be72159335642f17d330280a1351e44edafe5a381edaf58f9e80dc11d3a9efb952ac5849677183fdc32d3a7776e50090b3cfddc649a15a74c7a9cf7abc0f4997090e4456e5e3f394da74d9e1e13d3fc9ec5fe02c7ebdc5ef56687d5c8f9f787ce074ae319b2ac673327c97338ea973cc432a86bc7e5048e8bd5c63deacc85b67e655d2636322fde6917a350be7cd5c03f5ca180b4e4ab9a462b4cf9c3841dfd1044198b8e9eff1d8471f2aabd37a594defe798d0d0efef6a219849f5adc7c81f27bfee068975f8fb058e031ed60ddbc2986ce6af55a1e2a9e68fc3e2cdf26f1bdd1c836b1fce1d6e6f8b247cb2702e34fce4f05cffc703233d5abe2b14cf5f2653bc7a5d198a2d7693a7300db8b46ed9bb71cfec7bfee7f0e777b38e6975e27d5b81f0b532a720ee8ef1b4b9879fe0cd73fccfc1e4cc39993ab6f940a4d0047f261d253e476c2ac46a6a1c099ac8113a307a77963a938479f222d578f8af0de07570ab3b05648c13306a8e00b3a475c21ad9876e547d43de9be8f3408f15fba8056c7e0bb1d60ae444d5fbbb7272e20b2801b75058c9c0089e6ea9271f6fdf4683983e49b77b38fddec52afe86e880abacdab3c4cac3d25f488d3183f0d043451838a0fccb429d8655207419fada6273cdd804d422cef2ac310164fd42feb38322115df8a547ec3f183bf5b147bab11775fce8726728892c62ed5e3c88b149ae08a5b28179e5d4a6db5f81b8cde6686df0eec90c7c03567e6941dbf74232c37c8ea5f693e7c10610d7a004b9c72245eedaa1f1cd4f53909cc4c2f385618a7cb0834d62619ed42524913f52395933fd205c411ca7a87fb28dc960a82ba394a9cfa6a09baa7d118ea1af54d25de82e19e8985c4e046c7c6503a536c84a641523d3a859a51ba86358807a7bbbe7d13094f12f143537fc8e3a662523a6575551e56991ad9ebc2e5b15f6656ccf3a2ccd45077ebb315872e6437bc02c630b7ed2f4ebc314068a7022573fad4592aef526933abdb83d03089822671bae272835e5b9f788c8266ce8366f67752338f2140c33eac510f003fe4ba3294efe64e60e9fd1559c937bbf61468e1af31ddbb71f62bc1f902c6fe513c9f8964d15254b2a0c1251f3b3879e3a641c5e90ea858693a7941e78e718ae4cf2a116623295aad4b027627ea411d46a0ceb787986588347a765237af64874675100df1fe36ce1d7be7df2a3ce136452fa0b62f5e6aa40bf888108976a681233570d3ef682ce89cb8a8185893eb73653533ce21ef3849376c7df6a2c07a7467b65194affd86f39b09810ccd278a026459b1a995279accb21c53a513a7fa6a39c54a123e1a596bb4d8eee762a69318a4ca4b331f355bb2122a6e3ecfa81e5ad9be0e42165870bbf91d0844cf89d750f1473cbfa203c5761f4d724e0abea16989625c38439da08e728290dc43fec4bc6bffcc0971c7cd2187721f6e6ce5b83c3c70218aa399b72eba3fda98c2d615ca6333163b50c0597fce84f2a33904eb21f1745152f41a04cfc110179da6143ab68bcc6ff1d499a76685f5a07234562a7a38007d38f2ea2bde8525a4aaaca0bf61a3fb33f35edf1bb9f141f360911fb8978271517590d6f13d70493f872c044100afcb77a7af0eb3affd081a6f9a389b652ec43e005ebd592b38b3d8486f483c42205b1645a9df0daa7f0bbd1027ab2999c11d2f7712b5a144f26eae4a99a75f7ce7da7c5c49bfb5d0b7a30212048b4fcbbaa42048bfb930b9062307cf6d1869d74257333b0b424c85eb5e8c8d3c453351e99e793230069dca1b5c890a6dd3b45819af4f156ac96ef4fb648bbe6be9d0746549cbd83ba51d0809bc7eb5e8d5716ee22a88b746e1bebf5794b6943dcce515880dff29d84b2020c97398dc117741adfc0766e88d9238e9a8427226a7b914ee97bd2f13f19afce47af0cbf7ceb5c18376e1c7df8e37e875e717a7d39f135bc146a925eaa0a302d6b400ff127bba98aee4e21475b6bd79cf01c18e0693bd2a65b36a332e7e35823ec7fa8c1d1683ee34083ca219b1ee5464dca1269be7083a502d0a23245418f664909caae74f66f969872259e472c52f4bdf985df937551bbd0c42f3bb061301afcccf26d3c101ec786454c969ff79b8c60086d0a72f2958291ac417753da0f20c219cf547b503e8066a0e829c471625ccf8a69459e5b83c17b23262b7be67ad27ca7401ae6e67b0408baf991381ea90323c8eead0322ae3e95eef953339c168e72c2f7ae3e3292a70e45b92f386945ae7434ac103194b6f418ed5559609448bc00be6f26e82d34db4c4192e588dd07564798c8a2db6d566ae481ea4e2726d08b49b0f9d3a072663b1885e9bf827074078c05ab63ad26c5612e9c03234f605827c90b9701f4efbeb55f8309187d3df0c5571b1de55819e1801b57533956d9fc7f2b98cb24e9135e44b80fd9115c5d47feab487e77be1aa3b3ce7ae95db34d042cda6ebaaf4612b8d972f95f9ba2622228e0cadd5743d5e1fb265a27f08462d9db8aa705b25a0dc5252f7c738412304ad52223a8d2f9722ee432b147943f07285a9c0bb9f29df811ae298280f1a59bada9e797510c4895cb550adbdaec07c59f582bea3142787157aff586cd4bca5059772cb94a62a861e8379217e896592ef63d3c354f9b15523985f0b2a885257fc4a4e01e111efa4a0de4c097674e6b4bff329dbea3654ad10362bc738fa727758e5d55a2728d108f3d031f4566d5eedc8c12315df75647cc908cecdf3a838b35cd91284cb791127d29c8638f7f466c6676e6d3f67866664ae3d83f406b0c978df0221bd7c6fd9330bacdf04eb78e5fe9b5b4d281f0adf58ae37b0c9aa4c5d705715d6185c15ae0224d9d5ae944da45885347970874b6f174013a77918091cbee785f01b3a3581590acdecf9a0f3225da29d28ac31a9d0fec7f77e9ba3d1048ab7779a47857d2ae3a427a1921875a446e341e74f35d1e4844c86660ee187c095d82d86db359e84a33930ce31cb290b888d0305f1ed0b2c2d9e9459a01a60e4b0384c498c4863e6d44c4dc5b8f875c0616786a502bbdbec3c1872182582ad27ea8272a80f48245f8c6fa062e509e554bb93759f32cba1cd6f276c8764ab541a393046d74ce26a4ba20eea6b24cf5bd9b6c000aad559854d6d92e52f71c2913ea0aa3c1f003cf48c1874bdf6694df1f0275e5f563d74ed776e95f3730ced1245de1068361a2443756a0b311245523bf607c8c0c6539ea78bfddd539f6b566b02a2b68849474cfcd22a3ff0ba9f4d0c7febe3ac030535b1918ef38a3f05b8220a2a8713e008230485f20c93f8da926f152a80954fc7d6c3738bf181d146b8b50ad42c902e09a4342144291504f64b6cd6ec0a45ccd0bfa1068aa84b973a778a20e532b6edfb0c09a2be258a89e8900bd970d9435d7668e7fdf4504fe876efa7186d834bfc805d05e4dfd476aad2d89d19333d9710d808e8105181f49d1d18d5e60dc6806192397c821012bd681f3416663bd7bab96595028386ae78b6ae58e3a5401472aa8e0944b4a1dd37f01ec69ea896b1733513142d83e5c9ce94b5c48a4a0c71a2e0e065ceda0ad506d5d6a8c05949404f5dc76ab6acddf31c794cca5bd00b9ebca6c0177c32c6ad9ea1d0d07495c54d3033a4fc9912e3830a6b5c6d0311f3c67f865ebd151c0a3421eb46272bbd01b0856010b3cb0de482546a673a3a4f2c65e65634eeb35865993b5de833841fed568b9e2bd6c9b50477dcb48c04685c638cc83201244a933812f6cc3ebfdc6e68b8c40a4919f2e241a51e4034582b5744876238ea76089d155a471ac7c26cf4feb13547c971cd34b5d11d0a098284230bd265921536d90ea80af781b6b59816a1a117233cf12a10b50c00721505852faca18037c440b95af72346453be8bfcb067b47d4386a93060886c0512ea2bcff54c312926c6530130b08f6a3444b48b53544deb5ac0cab1847e953e959b2a331c643f72f26f12d6c016ae17c36f0c82794091ebd1db193f616625e0b3a471327196d10554ff1e2cd6abe7a4e7369a43aaea1213e27e3939a9b270420612b1e8ca141be74ae085b2d5997e9e72565fef956008e27032fedec4bf93221ab8c26cd4edfa28a895d489d932fafb58a78fbde9fa0bb6347f1215317e65b690cac708871c4c1f2189578aca93d35bb3f5d5da3438a6835c96be696e1c33a5a80493272d3c2c3e97d260cd5c98748665de73e418714b83e3bf2a939babb8d9694c5f206dacc727804a4074a62cbc33230107cc9b2914e3dc9e40717364712c27ca65a947b75ab298af6e67db031c7e1072dda04800c9f4eb58df6c1bc36f0dfa3ba367d2ed719e3a2112d114e62d9a28451752b7b6adc41079379d6690ea35e2a07a09b7a0e4fb32934f162674931a7ac337273d813fe537e90df586946bfb719d6449737201b09805ecf3fc632b3dc410496e9bdc4f14937d6bda9d35b3139137ac46b83cf777aafdada4ab4c0a115e91c9bed0e7fab5d946c4922303b6f8c1c06b3ea8449cb98eeec4fd39989e3faa515968023f22c447d44e07f91a3ab7ea35a0d1ceef03957beaebf9cc4e2158a66fa875c141672a501f7a7170a4eec50f38aa88812409e825fdb9b03512ba0b07ed20304c8f4b6ca53daad758e334e5ccf4273e948c70af4affc808d2340d1ff9eb0273184291f7567f7efe409aaf4917ad4a71f9886aaa36fb7f70746130e8fc2fc4cf1d078189d1c33340b1059b7467136746bef740bd52b7cd6351194a75e8a1ac87ff029a25048bfbc477639c9568950313f9573c583b2b819918f538dda938203a8fc4e695941e8b862d4b5aea63cde9efee41fd99c9ce683474f1002c4e3354ce7b5df6437c6e9b6985810ff8c9d44ee51998b5f88437168df55125f612fb4955b763661b710bf9e42b0afd39c33030581500a4193759bf59bf979a072e902bd9982e1e448b323bfc6197e083f629fb458eefed1596b46bb521d56e1f79c82a39f05ab075d2020276f45781d8dd0de919552aff2f0bad1651e154aafb7c7d36d1f4dc15bd1a17aa0a96c3a1300536f41257db1ea177f6071c7520b4a45c2f15587ca2c682289428d5088b2b9ad73e331648ba77bedf1c2a891db7d7ca80b525a369fcb2fbaba64da311ef9923e6a3c494bc26fdc7b26380a1816c3c717cabfe184c25eb31faa002d9d40f254dda01932cc3d1580c8df294ced9259505784ef2d51d7c762c5d1c9a914d7b24f319db183ad9d5c73e2b24d0b3f1cccf5c298a9ec8e64297fb8fd6d6b591d3f0351606bb36c7b2bbfab49ac65544d14df81d0493143278fefac42cda7cac0f128186759e5ce9c7acf5696825c6feff1bce17b003de50896251183145f2497e95c5cf30dbe4f4ba3e8544b9af61ada10a55f273de3e263cd3950a2c54cbc08f8e90e5583c70d877f1aba84b7dd6b88089fd370171d39dba2870672efce5a1062fda63751bcd99b95f8790adcb506dd3c0075eef6cbee26e3a470d46e7b2f7a39040339f9dd0e69abcb35498bced8b72688c44fde4e8ff55913aee3eabb452f748eea238d0893ca18070c0f22605865f1a4469bf8b5aa83e1387384c18041bce48d0971518d4ee817788f211ba7f5ea32192f17c52969907e9e42ad7a249b26acfab65c3d7e6c46a6eb4ea595eafa0bdb91469bb2625762348f20fbcd9aa0b9b98b535c9e2c39e9dc54170d1443ca668a33cd71181cb7c0ab05b4e30a2d15c1b9226bddf4520d7bae5aa1de32d295fe540dc5678a496664b52504a9447b35a7ce34413d34e58d8a770fac952126465b0c7166f5d5c7165543812506ce8dbd76b56a5ed3d5509ddb051b391aa1b24cbe11b4a1a0b415ae19be34361dd15e72647c5818a0a5580b81d083ab63ce1033e3d522074aaffc39a7cd935ccc37a6753439a30f0f4e0e84e5a002410a3762667be6e2d6092e20873987c054fc6d3e144bd68b232b5ce6d057c8d97b4ca1e884b6159a10bb91d11553df0a492fef2788580b348c6fc939d819bee2e79c23a5c8a1c7eda8470aba8181b9dfa1db91f78aa298cd3c58a0a116359828ed8ed2ddc93554ae98f5b185ef1851577c19d5e692615e309e0afdac3c02ca33e2e53ceeb868a1ca58ddacf403fe9c256f25e409a7e3ad7cab2dee884bd171704380f200fa5185607dee2aa80eb8bdcb8aae8227a152ed0df020591a9a1789c842ff7777e85adb3314990d9a3314a7f8cff68c8253a17611b444d41bda3b2d5914c16dacdac03a5bbf10279890601f35e70a362a77e04ae98873b890bdf22f856d358839ea1f775851caf3045b34b83ee33f3015e6ae2a994905fa2dad4e9092d788e6329c72ee7f557de1dcce2395d2e336fc742b344759e0f18a12de8b17def5b8cdd26de447030fcb11561935d3f2160b647d02355b90e30e9af5214aa0a929a118f3b665b24e60b0906409c6c4e786f1de857ac1036d1a842dd52a01ad0d8ba9b7d3d29d62f9009540d5979b517a5174e5dd761cdb0a5861c957ce710fa6a94d54f0f236f313371fcefc9c2e4d9388789796bebba08a57b9766470ffc8563fd8f9c4a75f1fab033d4ba6d57ca87ee82d41284208f48500e934f538d7187035d654d85d6a0377ac82828e6b682b0b8b47ca7274743d9addbdee453b254df374c2a72601ea4aafaa8037b259d3ead82a247301021045e9f434831d3f34fc2786d44a37423fe4dc421c08b03932e2d2524d46a571e6f021c915cc8087bbb675eb740529afda1e23ed440a1beabcd3f125271d7c320d12e20e9296f6b3e5c5e2da85b1e3d6d2dea7fa2522e560a1496850b0f1a5ce32b56164d19e8f98872e57a1d434843d26a178727d96e9548b438d6e3ae5362e3a05913f7517bc7f86524d2e18e7ea31399f64052c3a578ade7c1602e7bc0371de8aaa3013bd9c9f3c152dafc46eaebe8e703ec048fb589b4388dc5c0cf2e6ca24703ebb61858780cddb7236b7c36d7e8ed2c3396af2589c3cb049ca79ee2d4fee6d9cdb922dd92f2d9c730a74aff8369fdb01e70cedc6deda7c7a05cbc37dce79c3686b3d37e4e12720cc5c6c73f5edcde714290b67dae4c2b4b9a9b46d7e5c8c9be7f2b50e2fdeb8bf2e807d9babb3673edd1637e792dcbca8d3b9f1f4227f75f3039e6d9e6248bf791ecbcddb3ededc87d96c29b839d772f3226286939a9b4fd7d09b733cdebc5f3d8b729b37c527ce0dc43edafc6c7fb9796e23aa726a9e2d0b3d8581ce936fae3026aecfbe33ea5c121403de68224bb5685e9e3c661121cdc9d7d8c5d1c82b053c05ed19312516d929a470f995ce81207166afc03e805750fc57fcbee98e18b5fd39d06a9f0ed926f8cdb9aed8610c9f5335c7af4bfaf289317d094a488a605385fce4113e46ac0fbb9a98bbfc0d9ba49817eeca45a5ff1e8358a9c610472b47939e5bd0d281ef4c2d9bfa4ae24f53a37ae7c32df803b9986fddeab2b68b3f48a25ce27deaeda892c45ffee8047f6f4c9c95a9bde2ecdad0149d26f22ca294e88654901cdd1fdff1b4c6c5f524546974452eb2e64fa02b9dfed250726b12c74db913ec530abbc0ce27c63b22e7b2179dbe71bdd4e2e429bbdeb547980d11ff8ce5d460248198488daf93f688ac4aef2b86a24dde67ad379a8366d0f5cb4bd25689247f6d43b0bb1451e164472cf448f32f4af642df377440a2b7f43c1e3ab0dd285c4f8056677e8fa33b3de4b91e27164e038ec724c2a6793c9fb361d0097240d8f76e52e90383aebd3d417149f346450aa34e7893a79f03948f25196e1446f03b193cbe7ce7c705fc828d0f3b907dbfab5eebd40cff2e62761331a62653e9c96ad8ece3dba2014f479709f1403d2e2a9bf82202aecd44befac1873fa72283688c6f774b7f2805a3c9119d977e1d180b539790808baa3d44dd96a4c06b4f4b0c4f3efbe92223dafeb525a8840d1ef6d31b7053b5e250f35ebfb6afc554a79c8f5b6ebf183ed7c61b9f7d1eb9916afb31d1522340e32d5f5de76f158fd5c0a5a4821e9935dfeda556e7131e372e0b440dfe1bbe0ffea762a43b05b10bbdffd4c361f93bafbae01ca6530f572c88185ffc3fba6e2a3a6d67c510fb6bd129180bf1695defa4aa3cdc98225f6af846ba01f11d4953f9275642bcdbf57015bd37a70aff5e6ce19e79c0f380efd0a7c478dcbf09fba83e20dd2372f7a396be201a221e5daeda758921202b1b3cbdf00bb8406e4392e85daba2fad3df2fa1e525ca2db10cc1a310b36e213241c23cd74807b520b481f892126b320573bc841b0599aeca7005330883b5e760747038b139512f63020187ba0cb2ada1dbe44aa69b57b94783e64aeb2d50a6115aaac0f2b77af25f4d43156fe541bc4d9addab740fdf4a745102b34c94b11e16599e5b68a2f8302c683fbc0d91ab4f7b6c4557b5bf35e2cfefa68a5951748c243995143bc7d0189aa55bf9df496daf1fce5e74b51512f772fa8712e7bd22607367d4627343eb5eb521d3bf1d4c607805e916bdcde92097b24d363445e02fe99df2f0311147cfa55a9b6472f672e6d44bc8cdf8771a5c72ad23ba07e292db525b21d481ee5d9202a3396969a1d2e1c39a9f1a7f203841ec529f8457f7a5acd1b5ecbb6a0110a37fe412df84100511e29a8be9886be8d57e49722662a934cf4ca97d6d75981f81701ef7b3eb5cf3aa29a59bc571be70c5d9c63af529c8e42e2c167ac2bf0d937bd513dee3746a008ff434bf2960686973ea98c391160195220d7f5a5cabb0edd6d471a13ef55210e65f4d97ff88af39a3cb42eea9a3d9eaf3f40af7a4cf0ad197c5f6367139d2b0f16dd09334aad49263ba70f96e66b5dba98bd51c25e74a1913a554e51e6e64aa8c008eddb6109ef8e7bc861213fbb56fe642d31ec8cec8f2a47e76afb9848a7c6b7141ac803f3e7148a7ee33d676e408e8ecb69bc8442fb2755d6cd18f4df20980f01bf6e60ad0e4c75056e1a8fdcdd83479019fbae71281d8cb362e892deabd0d8e522d7acc61ab548add5d6c141c794779f997a3adb39b6d8523f26d7fe30297fae525834cab3ec7cf3f49eacfb8cb2b3f8d6fccdc9294f89ca51ea2a6fa0ea3031264bc7390473edadf19b92921c9594bbce5a5fb86b11be2c57e63c44a627a9732374e5044a70ebbc4a4fe014f7fa5a8f7c769132129bc65eab638b5ef586120a8caf7f9394d40e44f77f848b2e8092e6e0b53efe25e23c1ca3bd6ee12c1fa9d39682e79d14bf8fc27a1fe69f73de4abf996b99b62c47df1c1568c6aaf353b2955a75fbbfbca41e56d3337c4aa7f663c93b4d42f98b3948c3edfde194943e2a0fe3c1795e3d7003b82d4f9d3ef7db142dcb96a1120fd1f777c0310a64afc98c52a74951f5abb204e905b9b9ca54efcb0ab6dd214b8756d2340fa9ffd0c26a8d6abc56622927fc7d0dfc2153f3a655e24b9771a8c2956986b173602a4ffb1ab1b21d5f7f3975bfaf49fb0b5438abcff3ab61433d5abcc0e4895eddd615ba9c90ee0eb5b8e806e8db39082e0b14dee49487aca6a5ba9cb1dc6cc942c016e18c5273fea774cbb2bae9ea3718ca551b9c8dcd272f57971db4c708affdb362c4e460fd7d88a8fe8147f83c511fae60283e0cb1e61e79270e11ddd7215b1d895b62e15d6d4afc1264989bf64af384dd9a5f99c455669cbbbd8662709b5cffade8ac1be05a030a721271a7dbd82af27064c9a3af7c09887fae05714a872aab1808bf446831aa16cc3370b3693a1f42fc7948545a341f64eade44e5cd5779437a027f327f234a2e1ff430f44589226d6a1249cc94369316cc020103f502f7a467df0657340e47782c0cde3a696e5015eb9bfe101313b62993fb4f2827efda375c06545b0f2d09430f0acd93ec2a664c63ee767d859644bb17f54365a7e3ca1b357ed36936a114b573a7e3454f77b63e5bfe30cde82bef8eab46826f800f8cfec2d742c2a552ec4de07e8359d516c7115bcee44a460df79463bba754c46046e40450f0839c30a864e6fc10e36cfe33d72381f317469b3940943139d188d1fae07450f31fad5bbc7846a1d24a43e8b9492b608af8706ed13db08157a84d5dc50be6793f4edfeddb1ac9fb6d44cf4cbb4130e7026566048e1ba677630577e87091c84e88fd244abbfb27eae63ad834a5f28b084c94d099b4eb55c651ce9d25203d446054af7f3dd4c1010ab913a73a0bc4307d79d05ca8aca33778495e5d487f59df841576f1f8838279add5229b66cdebe2556961019929578037cf06663e83f71412d00fc5ca400b16ba4a4901b81670290dd29100d000d880fd796faca1b33ca1b2e4a1b8acc4bb3c1c7c69aa7dd25341b52526069a385cd56d6c095356ad8d0ccb3424b1a574c9e335f758adb796b67309c659eb3269b0d776c3bcfacfa70703db6a8de7d4d6bf9b76a4ed33db8f6636de7ada90c6c6fde365bd3e51d98bb1c0c67616ecc6baff396d8bbad3eb6fad8d278ff6134d5457c75f781f1b84cfe23b358cd4468442e8be69ea7cc1d0f1e9763626aeaaa1b13629e382dde9eb3da7ffcc8c25fe64216efa0eeec71ffee3dd27f19b8826534ad61625e2f9836f25a7c128959ffd41fd978f2353d674d279a6968bedddc1a73d7346a955fcee22c9e3be6f7a8b2c494778ed91f1d9f99b7fdc7936b3ed1b4ee11cc1e772ee2eef9757eddf59a34da795e22cebb73b6bd2b26ee4cfca59deb358853f4b23560be4775635c70d57b88f393bcb754b5b53ae22de1afcdd29a87374e553195f1a7155c53ced32c155bf5124968cbb9af381345f3105b1973199b614d551a7a873fad06a905296352cad85d33ab4bf2899234549237fc5f1bedd2c2d4e0ff12952fc9038e44627bcc4e388a6614bd95cf3e8ae281989cf6cb5e17cd34361576ade3592d66f83075da6af4e2dddeeed65677b8356ff99a33d7c2dfddad6ee09a7c6396c54e4ed898a778604b523413b10ecda8d6e58278ca8a9fc2512247841c057ada0d62dfbd689ef275d754c081a23be59fdcfa27b5fe49dd3f99453a71d4ff3fe529160fe2a97b24887de41255bca972cd20f6ddce6b3c887d3c55aba87a35c554e829a2d010163a50a0e2fcdfca93821013411c4af2e1fff9331d616bf447354f3497d923ef989d9c18f3deaacfb5e3cee6e12f176fd6e80fbea6c1ecbb68fa4b897ad5bfacee8caed7e468eea675c7ec841fb313ad9bc2cfff07d7bd54020cbebf45f409c61cbd908908a6292bb8a9422e72f106d7d0c154e80d1634c367c3054626c6a56bcd759c4233179a55357582a29a2a8a0da2687151e0f82d2922bb9db90eb9ae79ec9787951411ce795c2922bb9dd9e4faaa4cdc312ae4f8aaf39d6654d54dd7e42647576ce30904426f16de550bcf0bd4bdeb59d3cd5cc556d73ca384b4e7d96ede35db4bc4eb2fb3fcbcb76bfd3b4f2ae78cd674f2bc813a0b3390c8d3150b7f79e762566b57abbf94d54832be475fd3bd38eb9e449c570dd4b5deeaab83b7eb154c4f5db3b6a6177be92d15b8a6576df53569d7bcbae679dea3cf9ce18e51b01f9cc5c4a67b4d8eb33836ab72c04cc4ba5f66779ac7d19c75bfccfea856add33b4759b50ecd4810fabf3634af5d3420a1078916eebdb3a6cb620721c74254eb58b06088897f128793372fc7f7f60222381a6480480244c7ff77f14c8836a214110f1117132206587d6708345d5b903b43e05e1a02d7c6ea4b43a0e95e1b8ddf295f888c2032e0da664d361c9706ae8750d8e2db3c647568086d76c130b189d7f67a469c604409f7a28001078aee941e5f5a4674acd7631e1a31e4ff67c73c6c7aa435ff5fdb288a8f79d8b3d98aa01541e3ff9887484e3011c141af676ee8cd118efebff74c8586fc9358ff4f924efe89c59d13d3de33e73988d91e9b39eff554351df6a892a63e09499254900308ddffa52a276f40fd938006b17c9bb55a6d0cd3108a1cf8fff59986601f3d226dd4206990325286a443d022214810a28c10bdffcfbcd6f38ed55ab7f3bae6b86aab4e8941e4613151f7ff077ba62098f020c25feeb763f61ed92d5310343f78feaf8dfc428679520b9ae39a5d7b6c8c882df6f4ffe9330540c90b7bf09712f17aac42d92e8ee621f6ad5d9d6763e7182b97391672fc84d739c65a75ca77f6e279cd1d6375adee9a68cd8543d75673f9da1ddeb829b0ace37ce7620eae986bb775cc4ed0aa9d90e3ab2d2b21c7eaae83655dfeade90ea8c5bb567946b5aef3140b4dab80db2bab6cba793defd0b46a2be7cde339e5c7ec84013473aacdd78cc555f586db3955d99cad3a58d671cef34ad4e88ab9b851ebf0c675b0accb69ab9d3bc758c135d5ea1c63f1637622fc6916778b12d2a5796846f10eb25d99e3a96307cb3a6230efaad0dcb5e6c21d33f57086a9871a3ca8f039a09690e3ab6c25dde1b278c49ecdc68f3d5571df3a8be722ce2af1d630cab403f19f022e0ef8f1f35cef6c45d57d5fde53df05a642feffffe493ff479f49872bfc80fda3b9ca3df224c481a82371e3dbdb9d6ff327a456eb3cc5dab96baf209aeea95b15515f656d4cd4ba1beeb88a4d79e9d668bbe365a9f897aec25fe6a9e96f6d355555dad5362b15f2ecc3535d9786646b2b55c55454361b0c34d55e369bcdd6ebad194553612f65718fe55c49d4aa3b4fd51e0f625f0fa3bd1e46d9b46f8db61caac7a3a0f22f77fce1fdd3c48cb2bd5e4f0992225050505050504f5046a414284264889028a8aa234fd11e6ea279e8da6a1f3e3c65b3e58ef70f49f6619f12af4b73a244c5bf5e316fb6051aff98051b5830fe7fee9958305700628508568062e65513b5de79787de771b7a8799e3baf29f1d2ce591330775b2189490512985448f3688a79d73a5305263b65c2a3e8df64c223e7ece101fbb1a2299eab17eef0e0d03d05469f429a55f7ec33f25238ffb5664a8109530a4bffe6bd43e8c91d3c7768439c8d3ba63bc6277766ff844a4b09cf56d25dd742cee275b795ecbca6595a487646cc85044c4ff58c78db21a00e9f3a55ea5c14ae4001ce9b33bea678f7a67bb3caa6bf35ddec5dd3e351d8b736729c813d739bad83e555fd61210d85291404a043e85f77df0502b5cdc63bb579eebe76d1294267c69c16e600e778c979246704395f72665a67767c77dab2479576c4c65fba623613536cd43c7376795370bdd7c949c53fad3a39dda3baeabc75d6358f2a30af7a8d53258e8e382d4e8873c20327f0feb14a43b36fea9a2a4f7b3d34f734f05e7c0269421c13c8fcbf39e5ecf5cc7557b1eac36bc6d96ce7d7f0877d79f394f0273baabc5b75da5b55f3d93a7569aad6be2636ed2504a0842eff6fa698a5e50c3cd9b49f67cec0de79eb11dbb5476c57125212709010c00876469832829208288850460429388ee08c00470338577a4d675ff79a575df50fdb7826ea5f6fb5901b0297108230813008043f205801e10b84166fe6bc31f306c99b46bdea20ba6222c7b935d8535ae62aeeb6bb67be6696c5c2cc559ed27a6bbbf3a6759e7d3ad85b9d39d30759983e98f1e0860337576e924c8cb3ba6296635d73f8c3be29678f6def9a8bb8ad694176ee6c6abc79e39b79bbe6f107ec408a0efa7450ec60d8c1913648b479d366abcd9236340e80e0600b13070bb08942edad98d6b37121575589f889c9b706a22bdea9eae4c4d3d23939f952de733d7a985c1bfbbdb57b6d27cf29bfa7161acf746dd92e93b3ad179b05d8ecd840d0067336305e8e3be6ad38ab2b4655f598d13553acd9b3c684ffef759c95cc94ecae411a0dc668c0e4ff4db6ad7154d526dbd6f6d617631ff0a60651704d8fbe9cf9bda9f9400d947ff3ccbb6b12f506ceb66eba5aa7c6870e1960c9609626d09bb77335afe8aa7d3a3845ca9794a6db35d1bca6440c966f6e37bec49d3fd8a5f19246ca3cb7be2771675f1aa57f0cfc74bd6280c7c4c0cbbab65c1840c160e94df69e5ce7fdadad5ef346b3e7cde0aab7f1f2f4a2796fa1f1f25daf5098d0a0f97f33b8a6eceddaeb8c9f5fafe57d068e79d133c2334d66fffd982e6074819c0bce0b9ede8240407d79166c604113338fcc047a13aaebbcbaefccd30c9e9b192f3733d9ccd21bf3da5680e8b1505760a502debf396bbac78dfbdaaaba58a6509931658c9479327ec86421e33446d0983bff66de2cf76173c53b1755cd798ab69c9fb7366bba3bbd0173d51828439eee3ba669d62486d1f3368898366fce86bf7478f3101367182746f86ff28edb2a19c5629a8489e29f18268530425a56592206cbba1f57bc8661f2ffaf7518a5378d1b6f8151024c1b93effcd3178cf05c33d6f9f503cb596098fc0dcc129ac1308f823dff4f411a5fee145cdd28c0f15b7f51f4bcddfa5266cd3edd17e1971f5efcfcbfa9a7ace9cd4b977fd30b8c09f84c8066022cf3ee4cec692a391379cf9857099022d821022d113889004797425dca3c9ad754535933ab65b39d5ff83a99e905725bb4ebf53af16eaa5a77b97519800ba1376fe7addd134dcfeb04d4e789a617e512c60535a79c99666eb9624b094c5ba66c61a145cebfc983c7358b370f71c7fb6e9ccd599a6a2a5c5a4da9aa35bbd3f6a6c5d4e222cc4e18faffe62fed98a87b8b2f477707cb53e69413ef0e86fba2a1c4f6f7c334a2be9947ddb75ef554164359c66439b33061d13d17734fdb2a3cd7054c7bcea481651a50cdbca797866577c5d11518ae9061bab2e54aed8aee2bbaae99d5bdecebe9de1bead3d733f1f2b4746b66b5194533a16cc1dc7bbad7b3ea846002081c802009044c0f20f140110f5c604e3955adb776deda99ed816130dc03c353d6542fb0a659e7d7ed79776b774d35156e258f1509ac9c566e1cfb1cbf1c7bc72c3046cf7d2d575753af4c6078c0806052c002302a4153b56681eacd3ae31b63b151518422cfc439739fdeeccebcdd39b8a646bc519f9a899a13779a8b09b47e5a39ffa6aa7556f5be5aef3a9cce006fc43fe0ba4dc546613bb0916ca72a4754195485822a595588b045b02afc7f5a5855553d55d9dd2e775d0c06b12f73a1a042eecc58e7edf8c935f35635ab7f175f1acf65dd1e172a8af60475b7be4f37bdeb14d3342f4dc8a5455d1ad4d779b9d49028138a9882e9cdb2f8e9292aeaee16cdbf8b9e438a5c75d6d473d066e3413c55bb1c777b9c3c887d35bef3393ccf19d405028689e6ace774a70cbf9a6e9224770ad40572875ffc97ee9e893a078944fd5b754a757b5cf3a866daaa69fcb8b6474e28b7acbceecc82e16e8f6b06b1afb7b903b5ad971233efed4c4373dad31f9d07d1f4ae37bed31d5c5b34b7319bf9e53d13a86635c5bdffda8da7ce5d10fb82d877d135556fbe6610fb2e28478832826e04ab72842423d446a0fd4d726db47b9f44428416fe1f8a273831778eebca2bd5ce0804baeb85941f30d18a70470317a2e436e4970df4f4a0a0365b56170653ac105a8090c4ffd26d43d5b49de2db2c4180e0daf4cdff79d555fca6d17687a668bb7b43e80d0bffff1a6d39ee69b4ed69b4e5453674ded468bbab1d3f7320c0ef77d3c035873bae3a6627373742fc7fe986cefff77a6e06785553fdc0b05173ad699669d4fb989d98c73cbc3ad884fd929e1a6968e6edd5aad2e2dd1ed7accaf16376c2b2378eb1d08ce6541513775af33831adc2bebc81bad75bd35e6fd9dcebf53ac7c09eeeb9d8f2acd196f71f46d9487d90005ed450fa1a4c3296ca2e4a5f76a9f16597fb6597265f76d9fab24bfeb28b952fbb80f9b24b065f76e9e0cb2e70beece2c2975df87cd9c5872fbb18fab20b145f4690f4650435be8ca0c7971120f93202ac2f2370e0cb08d8031230e04b0db0b08e8514855e0395c4724678448d0d4f62d940ea48d80942124b10786c24f870c92cb340467698c121b34c9046aa911d2199c5d11ea91d3c7821c3c46c29a084071e524b121c454e1902915b6e04229225101e92cb016043da58a188ec92a61192c74b8a8ca00a4551835eb8e404882ed423374a2405373950f75e91627e107a5a12c5842c73472988034ff29067666c995862ec21d500c36a1b1009916d9eb8a2b5b0841409c71121208264f821e904da72aa6257867cc109464e3a8850481c6cc83333620c23075d81a8094a1b44e4145d707e18e9108a31b97095001a3d816242a2e441c04e00f0c4a49c617dfc61248c917182d3230a1957311c8c9c3d649709528e06e0f0888a92422ac2e0e70006909c4848ec025dd6ca4b525b84940164b6e4b0e0c1cb53c0095102b190a2d01380437ef20a1893ffc7182d02c535ab230105fac1074080fef4c0c30e7e3220a4430e380cd91a71ad0177f19fa47103d987cfc774fcf88f95e413dfe7fb08428a81f4e29f03dd9769baf4ad799029ffff7ff4ddfcff8fa8c440d0b33a0e1c9698fba55d1a065c3000c340f82bfe5d9acd87de4d2462e08498d57cd571de7a6f1c9a08fe9f6fbd06d776f3140c67adfa5e131377e699b998ae294def6c85cd4336e7618f9bb32674d553c135eddacbfca57dc5c13478f1d1877bc747d54765b2edbd4a81638ce64b4b77d75cf3d6b7594fc5d79c759e7d57f7a63b5cf166dbdaeddafa8ad38d8b6bee9a5a775c71965163e12dcdebdab96baf3cd5799b85b25d5c1c5d5b2bdc7155d75c63f28c81f36f4ef9ba636c8f66b3ddc135e559d55c55bdd54253bc252604cde37d4d4d049e8ce02bfcb5bb6b42d99ea02e5067de5b55f79ea07a3e4f156fcd12d3b3a67b8d9be88fa40a7e6d9ade8d815755f1ce451c11af597869986df50e5ee10fe3aea92f675bbd9b5c336bbc8d99e5194dfb35f94d8938980e398f0bd42dabfbbdaad63c1e5cb59aa78eaada5a1dd79b9e1af2944bab6b5dd7baadb5bbd6ad99d5ea5ad7b56ec554b988afbad6f1acabd68cb5557211537221629e46bd9e27d40572f959c3191dfe7018331b9f5c9e77c2607aa5350fcd3935b72c9af9ceecffc7206de0f3c6351bdbcdfe3fee9f14c1118b1e66648b929610c342462c8908a52d2c761c59dc7822032b543f903904f828fecd9f466f565b546ffda1120b0cbfb467a2b0a71b9fbcf3ae37afa9bae68e3f1ccc58bccf9108ded33b5be9ad7a5573d4d1d3c5bda69a0a9af6720fa6c0de5354941023e6ca816574c56957db1ecb39cf7be3865a38be836c22d10a0e56f25821e1ffdecb357b6d3d737c3cf33c2506e1a59191519051d0ff55c008c6b749c686bc15fffffbb258c4f36dfe7231ab3e5ffa2e72288b5eca228df4004ad97639d2d2587b44bd81417eb9d819912c9862b1273b06debc6a1e929ecefbff021af1404f4f2d2fc1e46de1c27ff3c9356fe7dc8a23b947be633bfa2ff79fffdf72cefc0ae57e8a3d916d5925cef36d06115356692a0f782a8085f34f5ef97f2592f5b53c6716c85302cd5c59599b482cd73d42deb2972b2b8b44cb75b87afda3d99875dc2a4a089ab25142f2f09ccdd05c53135003b943cecb53156f8d755a67cc565af37646b71650abb75a6b6e6774cd3badbb4de5822bce6a0a6c69c38d89c2df9aa7d8fcfb996cdafb714dc130f16e0d34cf35c55927376a15ebcbb190b775c46aae9a32b1caaa59b842cf479307d329ad796b1755e6ca56ad3e12f3de52532115c757a86f11b94399affeffde9b23f9641a87504152d036a62f0a7ac678e8fdff17e54fce177ffddfec3a4830660c46a2d8111d8a3ce9794c9022ca045424efd0ec644533df55a8aa856634c55b78e37a3d304c5c537c5c71110bb10fbe33305799c59dbba601d3fb7475a71d7d5b0333deb89db7b89959931b3bdb6e1feef5826bfa6bd1bccf60f69dbff33c4fddd1b37695dcd3676633d7cd4b3b55dc358f03f3deb29db4abce5a5d734dd923e6ec7402c35967139afbec74dadaea6cba9d6fad81e89a85e705a69c86b7de996df9c5f84e39b3ceaf35e5d8d76a7c4da089378d9f53ee915e704dbfce6bcbc1156f13ef5cbb5d736f0d5cdb19bab590e31f509fe7cd2a4fefeead2fdd9da7e8ce3a0b981be2fe943bfe5873116f9c0e92cef86ad4409bc9b99e72f2cdf1c69d5f577795eaee5ceeae43b5f55da356d5e3bd38daadddaff3ee3cdb9ce39def79c5dbc255f51ae0d2e2ed7257e794f3eb9a1bf7ad7bca775748c33b5f34e39da79c382d1e6947b5738c75cd9d895bdb6ce7cdb32673d6b4734f6db6f376633ed2ba5e774a9b1573ba7bde3be51be5e99493af3a653191abb49e396767d987d7151b9b9c5c33a398a8816bcae3ced0dcf47402737aa738abdb8ef3e0a1aa98f7bc769efbddad061a9bae8a851ce79bf78fe32f7b1d555ffacbc4be5eb36b5dd73a34ef146f718e55adb3d23cbc715de87adb75ad43335f31bb0bae299ee2788a1b3596d6bcdb1237426b7af90dcefedb03376079436f3b6697a7b4a69b9918c144cfc53b2ff98f0de198e7ddf21895128911ff1f059aabdc232c36964bf62cb96049962555ca2527bf34be35bbde8b964b66fc7f902f9510fa37eaf5f26b3bcfbbe2bc723b1dce0a574542403e60f29b1209846f2ab19978f7cc6d2cbe4ce2c39e32c90a659236badfd95dd326042e50e3f83209184fe204abecc5638625a648cc94482ab878cc70a0e84ef95ab3159db75579c408132ca340b56b5dd7baccbbd6dccec0ae7535848851e938e0994072464b251f408af1e042c40f920026b31c48184dca1e389034aacfabd669cd65c45c9c63952a6f91487e8a7f2285928720b2c59ea6ff9ff2e5014f648def812c1288cf2341fe783d3e3c91568e60c6624bf67f92ff93fb9facc2fe3ff14b05d8f456acb2b92f154802c3599998f2cc19eefc9ebf5bbb50e7f93baf31a7c574f75feac3beecc34ddda6708b0e7fe9d628156bce323fafee4d97b6bbe6112cb70c5c936defee6b66af515f5d9367b6e5b421bfd9c7f9ee9a33be7dfaf223ab775fb3d6ecf0f7e4d49d5035ddb9ceacb8bc2ebeaacadee3c637ff58cdaab9b6333b6bbac78db766899977cd231eea9d83b9af29cefbac41d17ac23b9f568daf795ef19ae870583d9e0e97d504b7ebe9b4723caa2e2ede4ea745d5e3c255e9bacedacee8da765ecb28de5dc7d36bf2209a55a35e87b535d5bf1abec2e3c67ce7228ab190a798cf32579bf0e53fddf566ef9a3670cbba3dd7b716f28b551f1107efd6c0f69777b7c7359dfa9af7d351c55af9475502593a769698d7608c4d0c4f7a4f554d87e7ddfa5cd3fbfff73f068279ec1988f9fedd2145da0b4cef91bcea21455ab0ff8ff2e50148cc98ce93ab3cfbf014dfa6cd5736e5f87f734d830457bc6a5fce47ccf67ae6bc8777ee19f3dacb7bf84b87dccb495bf6f0995355778633ab7265cd9ab2b00b3916726565616d22d124e69e02b5ee1d73efd83b769448fcf97ce5011ee4bc815b8fd445c965f1af67cc2b49e449abd2001cff64942006e831a0cdcdacfef1bba6bb5f2ef6d08c0e7136da6c68b6d9f2d6bf1ecb9fa04ca8da2f1779c4290b90c3b7a9aaf947f21a209feca07079f1a0fc934fbcfec92e1eb9fb27b9fe49069c3841f994047431d7944d8d794a02a4882eec2014670731ef19aa89abfe355d1f9a6ea3a07200386639400403e06c25fdf1e5003b6a79b3a58e463afedcad8153943a94e85852f2658e3c650e08ae59e61852e26054e2c86313f612070437c9bde60fdfb5c4d154cb9b45cb1b7e300b0b4aa4354644f1c0ff975fde48ff3fc79737b6826b4abb36253705f8d1e19fc5442a28be98e5137efeafed09129e609b2e2fde5953b174c20627d638f1c59c35dd59d33566dd558e4d859c987beeb8fb8acbeaef8552519d928958908d725ce4294aaac89022413230caf7948510c1381311f22445a4a6288ca22c8aceff6b3362ae4bbbb64bbb361b0f4d30fae72a4e9520793f4d786922eb1fcd565ac035c7574d4a2944c1b32c66d99bcdb66276c7e28625b4be76dc9de7df1adb318931f01fdbcae906fec7b4fe63baff5856ccc9974a942995e8125be03f9653fad8d5ff67dededccebc3dcfacf29e3a395da0be3c7ae63c663ca77c4d9bcc19ad375ddbeef2166fad5aefb4e6d9784ef9361195319b2c199282111206f9607116dad07c28c6114714c999395b7136d54160ca338b3915fef05d33ab899b076fd7c41d0b7fa8be7cf39ace9a4e7435ead5099bf2baac5435edbbd80184587cad905521a8424d65211a3fa35d1bde1d2c5fdab5a92afe35a158ab47bc45d55b5d03eee29ad680bb68c5e525e4f8ca8acb8b1017cea69d4d7bcf98d71e9b7636edbdff5813a5ff1812abffaf5a6fc39f56a7782f77bda2a9f6ea6b2ee236318bb3296fabf897f29b46db1dcf3e3cf51f336335da7f0cc87fcc69f61f6b8afd784543ccd0916701f60d75b043d117a0a70774a48d02627690fa3d6d045de9e302946f418f0f01781100d1cf59639525cea0ff107698b94186c5d26f70c485344864f9b74011fa07053e570f066a8e0ae86ef35b16ed94c05148fd0346c00c95b1fd79ae480f6bc5a9ce136de4fab028e08607bae9f2840bdffdd30c0f4b16ac301f451014394cf063f45d57a4f87285bcbfc52a31f2f0a3e79dc4f90f7e586ff82644eefc99b2a084a7fa1be4001fb45f020309121d4e537f64abc9929e0a9e780572b0e3c292398a7ec896a82516fd02f050410df2f414d1de7cc0510d2048d0e581b44046499819f46709dcf9691e343e81141c3982c28911dec72a43fa7a33c4f3b0ea432ce20a93bf4c741ce02465852f000a9323422ee0f91d618870f135e05e87a040744c084289cf6105e5565332c4dfa861d0116092a5b771c662c60c087d8d18548a498a00bd2c071f4e80e2d7e84b37377038bf5878a62f4b81e2a030fc52163b7236a012809f21010c194f60587a191adc0b3e2853c0c778210713527e882f00133d1aa157fc0913c0e9f8ba2908080b603be0880a40881ec60c09206219f0200c060f1a0dde54d8bff0d2c318283938afc4084c98244400f44aac0d457480e522cc85134b11d4e024248f0b302248147c1c91c7850b3f37b6d62862d26203d54acb0c364f0b235c2922cd85098b207a78e99141f02cb644b085b5c1451e16417c98b04089282c89d01c331584a9139684a6d00665153979921858db18c102f5494b36ce4cf9810026483c6820a50a2e5e8490d2c8c0c58d0d5ec2907c5d30865c8f2e521003a23a9809bab12b14616df0c136b11dd47c6981c8d22606c2133ab4080cca13c3e2a7821d878cf858033140c800092bce1811096657cef68cd1c0c1a5c1f11113328a0f1a60420d1246fe2000945e876242b2300448034c52c8213b20a3b828f210467a89e2a8a6c29627b2cacc03a3212761e4d7132642b07e2c91563ad88042039621855ce1c00f17a2933c600b0b221f981f72a9c8100841006843be013ea6088984bda22aa41099d30b7b432d9cf001111bd807d45566051f5fa47e8f0a55605c36eeb710c40d744823a47ece9c4221900c847d084f472c908487addf403784d30778cf5f10fb4541c7aae9c14cb5e122478d9ce7e262caca0e0adafc0357c50694d4697a7ec5a0256259e7893dc6382ae2cc9a07ca217766cc48fdc946c604058c963e0a2212cc4a119eeff2f2d5c475c1cf6f5971f10020307fde091e22687c0c31e49b2839771357e43c9592550a57e678f9254c87883e3891f1479e60299275c411af00a02c74e25051c40ff182e6871a186b1e8ac866eb8f213f6f6af920c32902c20389a1d0025c68b6fc0c480a4950e1c6c627d0021d3d68f26c791f5b4b9715cc08cf63812986b042f6f4b7aac5718771cf17f025c3145c92f4f81d65a4f850e12be9751022e056038f043e476e28850a54fd1b3600c08f0204c4781bbe15fc9c4006f81a33a890597903e6653b2c0133c548c8976fa4445d9196cf0426aa89cc4412bfa425852c698c347ec6044b60299188f132d61c6259a812808f01c30c87069882eb0568e2ce1b295c7cf002008162502f837d001c00c5175e1479183414b57070027d183d827080b415fc8b2f8eac9c2088cf2b35f24089009ce079a52a3be4e9a1c4a377f1848b1f2cc082e75d1cfbd449645bf42e944878510316f9166c6c4d9ceabcf916361a49a48894cf220820ea3c02b3e5597081c2d1280985671184060398f01b3ea950eeb80bbdf04918b05fae06497d120352e4786303109fb4746680406a961ea9875298431c111e2983a808ac0800ca23f95e20d6f0c1a3470ab2e52b0a47071f7b9495268443257c6c87271830a14ba38f85800bea7cf8f95896029aec2842cdc71af0d2e3c196091f236283144c6bd28fd16820468f008678328a424ca0c011f5e40fb837350020f8240b546a70e08090273b1842836887cd935e28b8c38402554f56f1a2008a1d023cf9a545cb0032b027ada6f8219092e39342dcb8a8f325f8e4015c4e1e0f8a4f2e3df9328011869e7c25585d3e10f2ef048e120af158f26f2810151d0eca7f40ba0b4a4103ff7b768843e5d002ff2d3c41438f3552fccfa9218b368dfc87804332450ce97f031fb9a404f67f018d8cf321fb07b3ab608a16d23f971b518bac00e1ff8127ad073088f0df05a822a826c93ff109d00d2e44f807b690c508146cfe4f11fedcc052f98f02c59215269fb2d887d40726995fdab5adb8679b350177b117e4b27122de38773cb40162f201001a02260903669b051212fe9fcc7328ab90049f2bbbff27f7a829ca707fa871fc7f128a0e3cc8c131085005ff1f6b80e52201108d4750fc7f0c8e07226cc958d8a3c0ff934bcc7c6995f9b2410bff4fca8094a58705fe5811fe7f6c821e34382002011bfafc3f92144b3840a784193258e2ff6358b8254680f90166d1ff23d520e387090cd2b4c0c3ffb750738611f9c7760593ff278b90a202081c61408402ff9fa4c1e92203611f2a83fed51417710d778cce01a4f4a78497124be09f7c196c029df075b5a466909334492cf1ff8f43111f04be9ce4fc3f49c5f08598ff8fc190a108af85a229384b7dc0966c3c21f2d4024f0b9c233ff78432c1ab23a60706953884feff73f4e1e13e54b1a77befa968b3f56cb61eb6a0bcaeeef7c98b3f7af4e8d1ffff931faae026780a48e145a5423f86f101842b18ae6210e44218954f055b4c9baf137e88e0f510f8c2bc70c00929c31a6384365e2064a3841b6c2e60d3c5873ba10e182d575d88fc906df0281a6103964135aca1226650004c6e8b9e30810756ef8a8976852d087a58c0c3cd182d2c8841f3c10241c08cd02500f5893432b66c7048490b9c2a3b700464d0a140ca4ce20a9629716218c5c4d0827247505a4cd26375c41c7c645ba0f3434d88224c60017ab440b0670114bc685942e286ad009a2806b54cbf2847a0b8f4a1e1803e5d5e61b8f89980092380f082680e95b02a628e12e0a0a1330a218da1c110822205a0d0491d073c62b01c2666b861109d2318fc60e4811f4a52f435422cbd81c1228a274b74d0f9448101461339d0a807b410bb5305881f2caa10c3250c3a2485151e15f243b5f400d6a23308d48003d71132a45a2082c5038e823dbcb012cc4086108c9091c2a6850f7e665b0438818916a32c2311682610c42e2d25baa28d5255805d7da4d02046db2c480147133ebc201b6ba20031480636443278608c11271c21e8c81c27314e2490440523493c0a83f380c8125e22b845612805456e8256531cd24167d3f1856501181c0971e583931086ee1d099aa038340ed0d0864a0f452847dc1d4b6c70430b36840628938c5180509229aa2e60c4a44b8a3b4d54eab439760896388106c70953553c5ad48705930601972a64667875168459288091432d8a9526d21091400c4eec1e28381ae226c1106abe1a4981f2810624c222b4d071b1c74e0f850c48f3c8090f5e146d4bf02ac06a64c50e489ed85a021114100f725021c3ca35c308213f784800cd13a721341091c1866155e8d069455098630e51b7202edcc121818e831c1e08c00d2f206ac0072d8bbe7ce026f78745a4038c00d0986365d0105410884161030d3f981094c282a10a68a8125b1b59990104089e08abab873a1790496ac2502259c7a307882d83625803c40c1ec02882818e24189e38c0e8c80f352c118064c116435b0429010397440e34941962869112608ba2f0903d38a024e009040c30113110538510383700f0628a2d8672b6398cde002086144c530b8d14397abcd84280912bfebcc1a125e47ca2892d423608655122a81121ded68caa1ed21755c0b6a0b468568855d195c19c2b02150a41853479948cf843450e71bc161999e10a1e98dc0fa9049e28c303ce47bf3f2c860aad60c1304796de0dc1345cb41d9b0e4054a0c1c719317c541406213134cb0c1656f80871f40b2be209f9c323610e35717884156067e9100d395370214aa82d3db2034452820d263d6c4de0020f08bcd47428f482490b8b302c3178400e6e90bd30a0f6e3c867d01f01b67e2cc1078602e4c8a8b2a08304c2a40083a343507aa8e580de3120469417555114f891c889440338a1904e6044042ba49044811122dcbcd140ca55102bc4f10135688621ee24b054c212295abcdca820c4014f316e66d888d0620b132e68c82288862b9858d1f161c7140bd050321a82330ce488a18e9dde0a18189183c2840e1318285450441120689cb8b1a4ea4d97291c7a5854bcd31465c2cecb098b89bd1e9a632eaefe632c6249ff4f1af11f4352fa277bc001512c1623ff63afaa990a98b962889488c061e9ffa3ae13aa6a16ffda2a19edfd72f1863a8f1a356ad4888c7385158eaaa082a4d1a8cf9a1ffe957dc2f6d6ff7f2cc9157c8ae8d3c286443610c2bfb5ddfdd262d7065a8d0f087c3ec0bc87934bb22139f8c385fbfaf0fb58cd9257650d55ff9b488c3289984fb59a6ff8e354fcc6d79c261991532445d1ab22e53978810e0847a06eed48149acf7c29f5347ab245027ac234ddedf3c5547538fc188ee1d8193b634e31a7478f482b482bcc60ebbb3aa8e27be65f8be2b0a66e5754371c97ae4b0623640c2ffcbffaa50c1498699148ec7115a3b96bafaaae755b68cebe5b65aea7ed8872f5764d2050ab5a5399b776cd5ae71878b179542f2d135bacdcb597a9a6b8aff9f21f2d6f2dccbe8c65a258c5b30ed4d7a8afb670e63de6a29a39310bfbcebd675f6e07b3e53d9da1b91b9b3016b2f8bcb523e779dedab5f54c4c5163c758f575238a6a9e4198a18db3baad399c9eb86b125b15e321beb40cc41c888bbc6baefad7754d3e6b326a2c34efaeb40ecdba67afbc6a5dd73aadeb59b733cb7671a141f210fbae8d4b8b8b0b77a9724d023df5494541f5a284b445a05aa9562a0aaaed2f3816d57fec0927fe5fdd1bf7d3aa7abbf2c0b5d9fe638a9af8875af98dca6b076555fc54d1e2df8545c436fd671602be4d61c76c90638f31a104efbce5bac28ed9abaa379bed3fb68412493b0e60918645189946f3df63cb748f8f215b8d2f23fe4f8912f2143565c8973ae58778febf568448d4d55311a82bd970a90891a8ae9c44c995ba4e77089534ffdf037b925199e23f2da62854edc935322a3efe6308a42dfcbf2c0d41964af03709927b6de7997f2b2ea2998ac76f6826e69e23e69ee3c29e3e1172f0c2ad7f13cdd87893095f1694838517e79eca8260ff6f7259d076d128212dd00a1910ce737c69c729a09228afbee6f4b7dea0bcb8f20579d5c6acd3c035a76aed43b3922145b64ed555af7d73ac629663768722fd0fec0743e66be1ffcd2e0ca6c40c96d18c853adfd6e79fcc5740d7ea2e13531ebaa64ed0351d6215b08a719853a474ad721abaa6c32f29269fd5d0351d369d379fe89a0e4f9e097f461dd535977f98dd05d7f4a877ceac564f816bdb44a2035efeafadf71f1b34c47f8f65b1cd66048a0891a8cda7d4f947519e53d914d98f9749d9f3262a458d89769e621d7be6bda3942ddd115142da2f5a0c50eedaabebad7f54ffb1403ffc3fd59a6221d5aa1525a46d00c700ddd6ae3fbc87ff180fc39fc642757c6f9da5753b1755bdb3d97666db5deeba68ebf84609696fff61b022448608894233149a57adfb7919bdba06fdabeaedc7d3ac9cad3a4fd59dd322ce575deb82782a13f16ecd75adcba8d6f11a3dcfcaff2ed0ee84ff2145da222f4224aa6bef6c514260d8882d2e47d52d4b4b1725a4e55afa181878f21fc3e1ff936237fc077117623ed5a07e99678e7d1c4f31b95142da8e3bdfeaf2ff6442156f5605b22da6e7dd2cec5e9292645a19c8b4c21eabc07b59ddea062010f61c90e9fefc7f94f964421571535a5cbcdd493e0987e4dbcc3ebd3b7f32a36a6baaee4ce4b3a785944ca7f4ff1978cfacfa8a4335dd99ad1df3f05f01a8a0566335fcc768f88fcdf0b22c42313d614a64589896301861ff61611f0b7ba4b0ff12f660c0fcc3f817ffff1484fd8bb0302d616160c2fec3c228f8b02dffff5876620090610b4b80ff23debf54dd0d81329f6a47bc37aefdd217322717f4356d8d9843cca75a5fd360eaabe9ce1ef74fe644fda3af84355c282c71a38301518020c20ae3121a7c00274c0547636a302203211df62cd929b9e84041138c195cf421c41f320e7092ccf1a2e9e1512a95b081142d68a851a5ce0914e8c952a5082a2c3e9032bc34695e161160c05004009e24e0e18010fe0c7140a49629c24c97246a241981021a5510d990059105570d2e0839505fc00a5162403204bfe3a642acea980829460c1bb946518efce3c487cf408a2cf6056307798664e2ffc9bf628513041d11e7aacd11187870208c9f22b79b101c500c5bf75fbb6b5bc69d98310137484c678a312d18f2207599727a2b6ed42179a8a941de32d04346d1e30aa4a53f78be009d410c4b23413126e678c55acca4207520430c48310d1c21a92948c5c49ce1e0db78cd106374234d4fd624cc7f2c0f0c55b97be43b08e6e82f374160881955cb6af7b59c44c22a0cdf6694908ca6c6201babf857c48482329f6a4588440da3585d23de42cc2828f3a9b61af5f6093916ca708eae643845ff0f83f7827d190e09dfe6d1d7e31cb3690dc70b2a9163e3d55736db2fa3fac71af156d2db9905c3442460989839f6f5b8517319f556f50f0c1355cca3f2edbcc5b9cd16cbc9a6faa747ceded6bd7367de5362ac85180b564795656f6bc6fa8fd541e1ff7916dfa68a654ce2bc699abf74fdd1b3aaaa784d6d6a2e66b567132e61f46fcb795bfd784ab4d9a648f123de3a629673acfe644b76289952c244092d3647ce6be09acb3ae22d9e1bd03a59125486240a199240b112fe798c8411626b626c44888500c23fd68d1d61e208a26b037b6a0a629eee86c3d2d29ae2c235c1f174b9dc54135d8e8bb7bb3c1c8f4a0b0bab4bc785cb59e5783a5c55eef2a8700b4c6961dd705c5538de8d0b97d5a5c34959f1ba70543a5c1703b81d0fb7fba53b135bdd5656330f2c779d5122b75c26a63c2a5e57b692aa4d52afe09aeebedbca9a92d918fdffd7d569e57837aa1cd6d6d64d66bbe1ffeb52e5ac7254b8ad5d8d0705c7d36951c96c73e0d8c2c86c5f6c61ff3f6bba53be2e8e77f3ca716d6562cacb1d57a93d15b76aef97ae5a87aa380b4db5fe631da0a946532d746bf5bcdbb9a8b5338a335746755610f38298f71f6bf31fe320f7a32f8879ff313628eef83fb68114b077fdc7d604718f6990c17f4c0dbaa6c3adf7c6c9a4a20814f6af0493ffe27d197afe5df8fe91e6bca112842f16c9f02f4208ca01409452941cb6a42020f5ff2fd59486a42286c10d248d3367664d46c81448aad56a416268fe5fe96367b2afd7eb15999211c9f2391ff196ca83788aafa993e314c7597cc5ecae6bcda579f9b76a1d46d71cbc01b534af6bcdc5b7b6026a69e09a036a01b5569d52715e0d2b3c085f468b2c4a4a929ba43650417cc76ce64251aeb13a6fabd06cd4e88a838af124e6e9495531d50a86b3d6ccea3dba6be60da4e11d578feaaaf779f1e599b77ce38ca627e71c08d4edd43d89b9f3e3ee6ce0cabd4a94745c75693ba369f1d2901053e18ec559398893ec327b7ce0de9bd59425ea9f5ecff3bc9ae53af6341753f5c6e6ec247b05d714e72a99d394d6977fb320fec6873f8d75eff0a7b170c7555ca4156b2b6b42d37481ac29eccf6b3b3b95cc479b1f785ef6c3f85968942550c5ffef4c6c81d78605d66509c4d0361bcb7315182fff7868da63593cfc6521155755dcebc9b8316300a43c5f22e5f02512105f221dfa12498a2f9302f83289c79749505f26557d9904e5cba4f5cba42b5f26a1f932698e0b261d020400c3c5983f5f8e39e2cb318bbe24e3e24b3239be24c3e34b3248be24b3c09764bcbe2413fc928c952fc944f025990bbe24c3e64b3274be24f3c2976466589af1e211fa4c8ff6333d7ae0ff654b25938c29ec654c16bc8c09849731dd7919d30b2f63f2f33226215ec674e8654c53bcac7441a3d482c3975a007da905892fb548f1e516f2cb2d32bedc5240a9f414f64b4f11fcd21306bff474c22f3ddd710183490906d38c3a7dbeac13802feb14fab28ea22feb3cfad28e8b2fede0f8d20e8f2fed04f9d20e932fed30f0a59d295fdac95fda61bfb4a3e54b3b63beb493e64b3b6ebeb453e74b3b357c6927d097760e7d69678a25190ca597c118e06530a05e06e3f6321859ff2f80cc05a397b918f432a5a4972909f032a51c2f5342208072c650e9cb618d2f873ebe1c2af0e51037dcfa7208e5cbe1f0cb61d89743335f0edd7c39acf3e51000ff1f23c612085f6614becc357c99fd7c9985f8321ffa3243f12590fc12c8f42590802f8133182f945c04f0422673faf33227225ee6c4c4cb80b0781910192f03725f0644c8cb805cb9288087ad67e2a13f130f66966cc8d0b1144369eae9cba9235f4e39f9724aca9753c42fa7ae7c3925c19753177c39b5e6cb293a5f4ed5f0e514a02fa70e7d49457e4925fb92ca802fa9685f52497d4975f52555035f5205bfa4e25f52857d4925e64baa3332620810008e1b366ad090954c4b335adc5804e39916c99e69518e675a94c0332d4ac2e2ff958e9c5f1e49bf3cd2bf3c72fcf28816178902f832d1015f2632f2652206be4c04e5cb44f9cb4455fe5f00990ea6443e9e29d1d333255af24c89b89e29917ea6445f5e086028e94b4331be3464e34b43067c6968f6a52122ff4f030790255f02d97d0924fd128896ffc7f134bec70c194b3d9cfc528fdf2ff5587fa9c7965fea81e6977aa8f04b3dfcfc528f41bfd4438a5ff281a4e44287ac0d972fdba8f9b24d9d2fdbfcf9b2cda1ff7f25010a68d305a7031a8250c0e9fcff9fd115044e8fbbe3ec05d7740b730efcc7d467d9d3c502b20194f836796f67368a9cf2fdc3c47be404c3441f17c99d8161a28f20559ad434ff6e905be59443fa9008002fcb11e651bddee38a755fb56a1e7d312ad981189721fa2bfe9efcc7d2ff9850802fe01b78190e292fbbf1e851d98d2c269a5573b8f503321b46d46ab5238a33d77f2cf8563c908ffe3f06cc3a9b0d08d45aa738166e6dd5a862014646a3cfffd76848fdaffaa278aac7f235b20b8854281c93731f67d52cf43571ad851c0b73d75e5af3b8121913d4ff9b2f6342922d29fa20644b614c4b4b3b4b1bd2d08c271b643262d879a139ddd59a59aebeee562643f6391398de7bf3ce45da6ea730cbb74c5e4cb7ccaed7db0f2f577793ac018969e6b59ba34273d7b217359992093225de7fdb83e954d7ba5bef5a77856bed8ac1c5d5330a34c38197b510fee3642d7cfcbf9794df80c505ffbf838cc58dfd489223f5288919adf39d02bfae9985b7a673b4f97f1932a4a7193d904844bc158110f968bc30e328cf184749ff4feee9434e7921c7576c9ae75ff6bbae47497c9bb9b8db9f972bf6cc70459a27736455f7545cd4db0a22ff65153a7c5e5b9b8d1fb393146df1aa89e98a7730fb26d01d8af3ff6bbafbe5e27fcceb3fd645451fe4434a4945f944304cbc4990dc3525ce9a1ae541c2a09153a3a67fa40d489b95066a2c2819a13afe3fe96356e666337a51164df156ce5626ff616c3c4f96d8fa6edf5df364d3cef3799ef7c80cc83d729dee8c4d33b0b7ea9427b96cda7bea91199bf6a69f8a7fbd24b7673548904bebbcdde7795ef36661f75dda8c4dfbd5ebe5b5a3bab6bbd657fc3b6feeae677a9e5c6b1e6cda775ae471aa58eb54d99eaa2df1e60c0caad9a8549328d645ea189a1100000000008000c31000303020160bc5a201a16c44a9b90914800160a464b062210ca4388a21648c01860000000000000000880a06ad4484b8de79e8e0a7a1bda20af2ae7a19027a234baf83ed240da5069246290607f832b96dbce71f329489fd16cf555ea8f1491d7feb1c78fd37e1a789789c67ec1addf8dd5d9f60640580ef3c37bf2af8d1b80bf4efa2d6f5a473b218374a5042100ba31ec0cc32bba758e7851c4f9cb656beb268e4b0908599c1b0fd5077beb128fbc1dd699178093726e006f8f89faf3ad292fc847512f19bffbbead1c8f1218356816441a0e20aa4d9d9c8f0266a14ab6afd49084ddb46091c1936728f86b2f2619d56df9c098abaf4ae3f06fc857be7a92b1a8d2c2bb829f191c597f9daa305c85b6875909933b87f8dada8f79fea7e314a64ef515705f7a8259f3f3ee63faab8dd2b841a6121cd442974ba1f91c99188e0a68dcf32ca66ae49b4110e18ccb26492fe59cae2935b9b6aff697575789402ff2eaf29dfddfbb5605b13bce45ccee996e90e0004cd2165b0527919e08ef4cddd81c4987adfbe2a7dc57ef06cdb14854da4f961299ac3276cb8863a28167a3aeb0f555432fbd953b735f2ea015be726ec017d06dbd245fd930b5247b7d91f443cc70964bc3d89a88caa646e1c460051300a89c651eb4c895fe9f5343fad4857a510df7b2315308b68659183fdc9b9e83e2a8aedaab0a9c9671b178e1443a1bb970c129b17dfe581828bb2c68dd8d5d2f1081ab7db04f06b7980531cd7d8416ebcef8a4093843fa459b2ef30264fcf5490db28cdb69c9193feddf44b7da26fb9b5a359146e12469210d3778f37c7ec3a61540b5b408a874aa7b24aad29a8c54709be7aa46605943bc654e9640e5194a2a9a763eeaa35d4a0eae2172106ca2da9b1fc13a844e00a2057506b207cd68fe90d901d93a8c7c6c7bda101506bb48a69fe0dcf787a19daa23e3847fb2f72123713c0f21743df7fcc8422df8a6b396207161fb1c9be6d64caf6bf93a73141ce42b3ca391ad88b0b280289ed8d7e9291e7cf3e33c1022c6eced60251489f93c79d3d1ab9c38e3994d4e99e06948ed4c96425e3f011d5c2646a2f71a10df2d197dd73ca77a16ed4b0d0f8051e50c7715c85922c28a0d901f4c422babb03ab936b83ab715a9c2eb9f8398ec3a7a011a7fecfd5d7972460a61bc0e26f3c30cb34c811993085e378f863d62288237026c6463b0461fe4a89fcdee1cfcaa140a5aba147035f83b07694dcbc057eb919a232014a2dca26f2b41d10b5a0cd9eadbd9e0acf9e187d0cf76cfd4d3dc3689ef74e5de2d34d36a57e483ecf15cb2608d03a5e6d7d06b9a2a6f4d9b385c42889c3f96f4e3083b3054cbb261e77990a0bd26dcd48111cd60a5db02cba2da2e8f3c96bf68932d305ccbf601ba328afd8dc729a3a0968a53a92fb62b743b38fc21ae591347604f86859875517efbac3cce90b4c6fcbe30f66a450ac2c75f2860de3091e7767b6f35708d194853116998d2004ddd1db0097ea896546e253ab9670796f9b95c34c2819bf3cb4c1856196f83ccc0310df7496dcc5ef1eb0996114df113d4f71020a5ee1777f7d1a4598d83fd3355de60f5ea02d8e7449356ba41ca2f37a46b2a4867d2c001033ef10733ec4a1a091fee3e8d610f85ac3e9c7517edc37618dd7ec721e44e43f8036c4d4d1df29d403f833792eaf98278ca8e61e5c5678fce0d140b2bb5fc8bc94a06f5b95aff34a30159c88032dbfc925da2e28a717c8dc164b2edece1846ee4b57b6edb4602946a90a0d21124a8decedd636049ece43a0404b33153994ee74a242fe42a21b6f42ebdabcaa0118ea81e5093a9a3e3560f897ac3fd9d30941117e766d2881c84043dac5ca6ec4d7021f4f69e6c7d9784dcaf3cd30542ca62f0d4a09896b9a1c107cff84fb0eab1c121eca8fd0a7c5c1e12f9355eafa237620c77504bcc15704bc7f2b92a1967c8f873eae4e905ad621eb3505948693b427a1d1e983c1c6408426742883b174ee1c624e70f9fc10416df9fd8cb3410e22bd815ff468893c31a7f128e0f637bac5d0985f1b1b79d27f5ffb12c1c1348a1b4ff197c57ac9385405548f25cdb4b80f54578ce9fe1f766779f300ef1034b1775893a27040932a82f22a70d28683a8a40e69cddd06632bf2dac2a15c51c32a07aa78367c91d288c6dba3bdc02b250123cae4e50789adcd794a6e77e889bea325d18d5105faaf929c6cc4a492a85f51b7d52e6dbbe6abf393aa3c1c48674ead6580d2a897ddeca9cf571c41edd722b1bbaf35c8d1c0054fda5ef50dc78e2bb469e8a2409ce79fee39305f99c376eeaa115d3f80368ec25dded1978fbe8d114c98bb458c204372b81361e4dc0ac15b15e087ec3553b244d6116e842716328d293312c1076121a9fec63b5cfd0fbf8a5c9d6eb270f956a69f81036c48220243d3f151758f2edfacbe3cafb71963a97c3dc0ddd7fe39dd8c6db62a37a82d9b0738c34215df4b45bc75050e8d5912ec327478399118eb9cfadea7d97fe2753fc8f1be87953e19e46ad5fbacf28d51f029645783af5f05197cff5ed712e2fd7f0f0eabd54b44631133d35a5e8d534912fd243ad306b09a20969b00b4cb5d132561fb230ccfb966b1768d961e80e34a8dc68c22cb71de9b806596cee5422471644ae9bb882d782e521067393ce18218aace8c5e136f95e025296be72a088b6188322daf1d37893ff311c39f4c906c11d6e3c2e68167cc3e61873d6178b0ec896f344e8b471ada3182704b27d53623ff050a3e8f15fbfee1758d4d1f0f0f56d019a4e3955a5c7cc824e375a8e0bd81331850d69f5bd8038c0d7bcb14d5e2efb317318431d7837bb13c02b5c9bd26eaa604e884a983f855052d1553e51e65b1d22c5b6d2358905db1bc6de637922a858d795ba303a246225b93f288254749fca289723bd1c25e9d90a630e7e31fdf73cd206ae3422864af203f00b3810544c4164a01f55dd07ec53f1fb9aced28931e1d48a595c9465f90f6ba992fc816aba6386b472c9065a369d053a86a1b2294fd0df2698fc02e167e16db8740a2686926b18bad2e7b61cc01acacf07a2e73aac39d950c4a045f48cee50d7061da00bb1fe2084609c615e2e8cdfa3bd8e3aadc5642a1b92c09c0e6d8b9513bb1db92a3cdc5b1e845d1a67990d6e72f76443564204bb8bcd7f11d1bee35565acc6e669301465290260c94ba50ef35be93583ff0e492620d2e942325a61b44bd51e23fc0f3d3ecb7bc2eb413ae9118df44c8272fc148bd9914018d5ae41861a28ef572645ff25aa07bae785442216a027b8c2c1501a008deb51c20fdb210c88ff8f7626f0a698abd7394f22ca7027a387e5c7e1dc23de3de0c6914a7978c19348ed2bca82cadfab9ec4d72e77fa83c08bb906fb220a53be2e0c37a4025d8ee47f7aadd8bf6ceec8fb5b135659b5cacb9fbd180f925e133f167977879fd61b2198dc657dddd2d9b796105a0d585e305bf90441eaeafc91c7ad96e3c6397f970cae0ac02f4edc7c91e6ee0687881d2ddbc9a69d663ab941ac60609a398048bd2c1e82dea6df12fb4b1a8cd4a2533237190307ad2faeb77e88fcc7dde805e3b991602387a1359af155bb8eb8f765488592be6de1204b6a719f99c6bb2efa3e9ffb6bc435c78ca5ee04ed4b3dc23813bb373a626e922da8ba8fc1b524205d040567706ae75953711872b00025840a10b436a2ab4dcd28b817c505809ff0518abfbd7e082221c8a888371edd95aba8f843de680343035f1b30365e94a1c111cd12ae51dbdfcd034fe8e1a91103ea38c4aaa18396cda57a21c6c8f5ef4bf6050f5119221915e13b5be362a4927c419dae357882d3ad6c72b9031c331b356cc0a23535698ccae2449802cb9d2a7a735bb7f89740a4d50ad106d998012149d73a46ee5d5605c81aa0b248705cfe1fc452c0ba39aa1ab54b8dd951f97bcb50d4d19aa7e8b3ac2dae0faa6c1d69c058e6e787ccd881e76f150da300a52feca1a27c12c8e9df1d5c61a07d20278683f5899fb9ab66c6742865a39d5b269284fd9aad513174d4839f81fba4a12ea7b1f4c12aaf99dad573185f16243a30f9544c7325e4c2313c3c9cae3449d69111ba577d8aa079cd6acafd8ead5f5fffecebcd767301a0b3d32584e5fd17c4d5fc90c3816bd4fc107b393d2d756fdd65d5d80cb6f3ddde4ff03746346921fb197ae02add01f15eb452959b304f58f013ef5a2af6d9d8759462f59339b8a509b3da589ddd3bb8cf95eeff193568e42d89f58d7ac65390b6a485f7345c064fe4e1668e659d5f85949ab08a3f39926d6475d4e1b85b0115e44dea39229f8957a4ee5d5df7843318abf22db2c2f7db48af3837bb851b2563fd866d19830e99c7b23c940d3814afb42aa26e106221508e44ecd9602551661e16cf08b8d23ba0445a0facad48777e98c27df6ce497b46731c9411c68c422aebc07680b42ef9f39bb60a8937775023ea98b1fa1eb14c3e6bfa9f79dad417a79cf6555732865c6485e4eb7595a128f3cce0ea687a8b5d43f1ab42de4a41feacf486448696ed76d4a4da83ef7dc9bda8e0f0db8cdf79fb05ab60c0ff923d62ec252a5ea88def89f19e2d0342f9b4eb1496ac1862d4398cef4650788c609c0910183a5837ec75763e70c113636941353539edc9ff6edcd21b6cba59ca021cc28c23d05684bd31eafbc1f00289085bf5774ad1387abfb2754d617517d664f1204972b0fee93b878919397e5288ab52a80a6b78a97b64b2cdd210841cb4183a448ce4c4e7cd8a853d72c43af610aabc48f49eabfd8ebf8674a5db7ebd9f9207a26c3fe8c4b5ce2b5f07d6b45ad77811cdf45f45796ac02d103239f2ab84958852700317b2efa9b8ff55e318f82d7663b06a509e896daacac18d05683a5c94ae36dffd4c354a302bd2c9bdb08148902457bc6467a765f3e40ee7ef330015029272e7249b09f924324b11988bd46b6b005bb7c8e7ca153f1454a67aae2fc3ae6ff4903b99c056c01d73dee63a3fcad5b078c9d7ff285f50388ed84b01e86285f1639012fd042850eda032323dc2f663622ee362152ff42871c612d05fd424d29284bdb445edf1a9df3dd017a9cccc46caca896af8d0d0d57e5fab57c14fdd79772a1830671ff5ffbcc87323ef5b78d1410c6696344fdf18b7e463316ceb63b3ea8cc70d6ae4dd5c2d941e884a6a35b72aec30fa02433955a773dd90d16068962f3a06336130e21e898ff246af32cfc40b6c73d0142dbc58e7be05d6e1473c486f3454d1eea1d1caf936527ef1bd01f3693d5eebba6996bacd343b0ba1e65ae545f82822714acf1cc668b66e1416eb60146ff9e224e6bb7056f1f306e2de738f71e8043f9ea954ba2af8faaf45df40dc47030f433c1f9b39b320325d893952e9a068b41f2864b3cf8f96be01fc1cceb24f1cfe8bed14f61630509a07d2cb982a6d86a90dea8ef5a64b5c7491e3ddebc42c7ba648f49cc12cb2f5d077e317dad9164b80d9ba95f273a299b63de20ccb2e598063efb3aafe92e5aff66e80caa1d52587e8feddfa277fd3290dda33699bf00d90fc4cb11bfcb81cdb30176cfdf3c0f60748863ea3240f2b18b85ba2195cc31a623526d75fad43c8b7e698ebadbd058c8907e862cd39a163ecb36acf9154016f2e206f8a4c2b9a526f881fdf11fc3974becd00ceab7e536eea87488e031539af5413673550ffc32c09c5a8d6f396c39f26dd4a9891ceed5b20e0d112870a0f18044be6e86daa6f3cc2f9ccba557c099d20796a90755f38d8493810bc37d3d777431fe4d75d2ed74f5348ae16b17f2b8d4e8004efe67979e41c00bbfb65528d81f16fcb9b231d89b7a205e553aad1932ca48d324492be3dc8d9ae2827f0f971480a92d6e4ef9bc40bfb254da082c3a698067ae97ffe806f459917a38a3841283e7cf2899bf6222028f38aca90209af9b8e2512e4487a71ec43740d32b1b8a25e3e20596517cd0376c04f722f9aca170266466de71c1c0591e54755cc4ec2362a9c7fab9ba9ef2b129f48456c9b885fd6538d93084e4985efe840f8e4811a139633c4a1f79511b1c43da2239f0ce4bcf118decef06e98c2ee7a2a1e1a48cded8185a0542f9bfbd8606a356c231d50d0e68fa72486dbd0f406b4a33f31d39f77df709da674fcf68b8bf53843dfa077f355511aa3e4d7ce117618dafd208caf3b272969b19989b208b18bf40b0eac2120f895b69ea846a0fc9292fea4d57571c2fed606e32bf52d92ffaf054f568695910893cfa6296cbc4cf163340f5757e0f80b164fde2a0edb21ec6cf5632e374f3dcfbc38d12eae225a1ffd6e4abe8a76ca53a047ccdd8193654e73f75a1c027281cab01a3485617e277956c9114d1711219e894e497ed11a186bd890e2db07c37c4ac9a8c76d7834f268a413ccc91498aa4da239c26a69e6304432434a4759456e9679cc347a092e635d06216768169ff845ea2570e0bf8211118a36f535f983255452918a5b97eab366e31836811a101d90d57e0588439d1d88bc098ca34513a124e2009fa17d29918711bb3d32b684894ab11da684e9caec7ed6010e2c040b2cd42688815350cde0f9c3778086f8cb1cef3ba87f78f6e37979ab4a26fec0b07386a451d69ee9a3858480daf7e5b0c22ff25c504b58f5523181e641dd6e24efb104595a82dbd73f9fa9c07e11c36b19fdfa12cec6f1c07d039a9042431909f941a4af3b278bc4a822f628379ea633d2ba19fe2382c29ddbf977c88eda8ba3dc248088d1a7e5b81814522bfe906fa1085b197d12e86e85f9753b40a98f17ce9762adad759373ea7ab42ad47b1bf8917a88f19ad8e31726b5ab41020085e0833bd004db9cfb2a91754e27cdce80f99ca2a0dd59702c8f4018b107e6673855effc0cc8821e80bf24909a532168393d464d59aca94cd030fe85df00e02def51cad481e3d0d8fa441dc0932c02f5012f0d5d933da32d3f6a2aa6844dae24ea95286d899c873dd77767891835b25222514bd8af396f7ea22a446e68bbb13e216b9c2795bbe5a7a870870d496b206f10c09df978dc0ddf6818ff55f643c21e24559dac7fafef0e796a8ff999644827a1449eeff28a1296114a7e0432ecf5f21246b1a62cd89d90c2a163e3c0690bea42d794a0774a656b00d31f52d2682b7b44e9a33158697e2b2e1cbb31239c4d0e04a007928468f8d49d01d4e2b38d08d1258bea91c26f2e44b4224262153788c535688038bd92e4c98c1d8e992f6c0a1150a6537c9406f2fd2762bf15b091ca20488a9766424b332b08dc3b9c17a693999bc493ed4df3dbf936704e9dc57aff40263edd4209f28390668e9430e4d9c4e01b144f379a69e4ebad078f67e6ec18bff4ccf5741a4789feadc50f6f6115a6764fd6ca471fb1d78822e31c38d8de15d6bfe58d4d755f03c8d2b3b4d0b6268b5c1fdf3c74cf4f7a756614e1495ea60e5eecceeb807f50e7efb23ebc0957ec7ea4cef89d1363603f1376b1221b276a43af055a338a21c55e26a3d0ff3ff2b7d1e628e9182775caa302061ae1e3b3f65e005f7f1b744c452e753f7a12b4bd0162741f3dcfa4218e842fdc612ba82321e83d5bde930dc2a34ccace26ff60adcf4590789746881781b0e31c5e7ad94a438c3dee952f712d082608648d2479481132ee5bd263653a0c84f37c0a076f5106cd9e83deddedd089ef1d1f8826f1dbe0122fd2513cf2811bc67df35ef68ce905cc7005402317e61b9b16cf0ffb7203343c217932a9d7afd959bf1a95ef0817a51997d628068227fc6960e3133e8504593378a1fb6cc232ac37a5acb611a5d7c8aebd0662860cdcc84d30eb01ac7eb000f7a07b68b912ad37d00372bbba82b6865181979004b2d4eb803f5168e889acb7ae51a200a55b06fd6b39c6cfea269ed00ec793b489e3d6fb06e94f6367557d5a6088617a829b702301aeb71303f9046d7fb02818c06e7a7bcf1caba649865f77aebf1548d16566be2f2bee50af26a481fbc33c7255ab3079b63fc4d6c74382f5cee25560765d8f8e4e30943f0543dbb47c59826a6fff5302dc47b4001b765bc530ddc206c8aa690562bac89a1ad2e3e155ae70fcf5841c46626522ed0cb09b42f784351e3e9e5f7caf9739afe0fc7f2faf35da14576a52f969e9e0f0355887c231417aa56e860c199d3bef57b66d7f85dc31443b0e7569579d417ab8784e31ea934b6d0e73b4ca5238b5e53d441565a89146a682ebd22def4d255adaa67d62a7bc0f1b4c6148d66448cc7402ed4d95cd1fd06fd692c571fe453734f65baa8383063aa4239e4207a1acb43a47ba06e1abcdae4115b7f70b2b8468ec3880ef56371ad02753764d11237a3bf1dfe70fa4ba036a360802c66a829a3dde7ed89a20195bf5f7882a702056a9a25b1127d468bccc1392cda4cef676b9cb025b74d0de789f320d25e70abc72f85451c03ced4dd6e501d9de231976357e19240825e6ff2058219608b21878159ea1a86d6cccc80005107b026df222a5ba8b4bb1028d24a33a5d429b9508553111d4a2c06b59cc1ca48930ff0ddd1fd8a4110382e70ef4ecd2916bf72de1a9dd09334bc368446b0d8f545368a79e22d275a858acfd8ade6672c7e92dda550dfebb99abebc9ca045388278d1826e1a7b87b4bff55f3a273b83dceabc7997d51d9ebcd55c4ac94c91cd8f76716b2442f3f642d10fa60be05c2f902a8a52ea20778b810a8e180a0bb8ce6ca293278b073cd481ca87f211136471deb92104f62194c1e2bdc3f8e67c7309d861ddcbcd3033b8b636f18b3c193b5d8d83473bb21537b436d9311418f9d11ab4b2493bfc38c0ce66f155dc2ff95f2d4c9b0028c19932d5d19e0e2fcf7e80441f730fca2fa1f16f9726dc795a4afa177c47f92116c1c34d829a7d62af1b3eb713507162edde52d889c1fde6b12b771a40c2e59402ee81388b3672ade7d4d44207bf955400cf7c17dc75ebf9e5e742415a7d971f792dd47a6a6fdb80e12641727746db798ca94d988f532a9fdb5055657b6e66c93735d1c55ab4232e6d0195be58c58473d60128ea889932680afc1a00757cab4c07dd6aa5087d46971fe026e0c85357e820def6f9bb3042d3eb4b812418f5c53fca8094440bc4f9bbf630848f2bff08d97ed8045eba04c51e01a5f963f159f32b0f05b8549e10759058e905a12d9dc63d9465c1cb9a679f79ca7ef17618f01665eef9ec127337c2f00b8ca3735ddf37f345b647be4797c0b3d2977fac115d606ad0f435626a41314fdbdf13f541ddaf3b391ea585ffcc9d8ac95825d5372403889daafb1a8f582b4523b9f2483ae267274581794db9a032ec341606239d139511c0386008bea3223e173aa3d699bc6730d441a91a1f5a270cda7b279abfaf7a6526a17e11f42408aa291b9167dae8a8878fa532ccef155447e037768a6ea634efdf361566694223044d4661ecca8423b797af02584a3c4d2823a35de6eb955d85e80718269df777f0dea7d6982e3aecf2d582a974f5e4da94373712a465d803519cd5ba9048c9d1ef01ca1138ea1d08ec3c0b4e93e5b437d40744f024d623af30e48d4a107147e479ce24eda298aaa0da06b0cd3c7df78bf54aebbe03837b0f99955605d593c801b30f1ad178c698438db212d6a09c2c3d45b4be97ceab795151442850f8cb8e10027ec8e01f2e0b75121892757f7a71b9c183d246d3daef3109303867425410c50eace74b6a4525597467f3978c60410178fc08406b03e87ba03d883e4bd2bac131c4e3829e0ae36f15ec0776db1cb2ef4e41ec376a4280b6c74553690f4908a6f88b3b5fff58d8afe78a22b51bad169a9430ea31d4da775d7b806f5a5b15e53c0f26d9775c72319ee96058827cbb0a3163fa842c0f7a097b25c2a700fade2820b0c505874c9f1b286ad6cc22ce149f5579fdf8870ccf6472e4a36a8f73654927a7313178a7fdf67cfa3652c6aef80e5540a42c313fe90a9189759ab629ea0dab86e0fc4ab749b2fccf1ff015c652ab07f722d6f9161e1730b9ee9dee61af2ecda2ebe97dad6600ac5c1d6ef9f7b3673c5e5d59b25db0f55bab1e5fce379ed08e94a909b882501fb3b09382e97100e334524e34d56e441e9fa5f22888ec0b35deeb8f9acd5fed2b6d01f36850f3b9f42c3fc850ea0dcf7f5a2395b34e0e84367719f02fa4be9c6d307141dc40c2726f9e322a8d62e2f09a5d3a42e06876ea0a40b0e3e6d9dfc38999e95fe90d40982330b5135181156727d1123c8b71cdb6022e180fab12c7709e2c42767485d62d14e541e42bcfd28e6d6e7cd2d52c57e8c82a4b5a24a58785b0e4672341f7431cc257188860320196d6f3ca6bc00523920bd308a5da2ad36666475314f729fb79d60c7f9033ce3fff9ac0f396124058ea3c1dec79cc45620561febf5d85f6afe469ace9d3dfa8d46b8f6427f12b7c4d630d4af68d5b9b0d3d1d9f0fe610d87f9504d0a76f0a6282359bd5b56dd822b0349cf890f47843faf30fcb1299f57494d011404bee187463ccf714b487c86dc68321338bf7b5d68d71be03ec01f01231ce1ad578f0fc4b10d25a7c252c7a5876bb03da495fbeeb7259ba10031cff0fd95cc93c2a5e4bc2b27424cc36ffa31284d54c9a38280116027bbf63e519d1c2c576a81f0352f34866b5e84a3bb90426f38537845948ef3474166551829e368d406c2a80c52e33f534851982dcf70d1c944afaccb8073b4da9d17cb59ed50fc6dc47cda40f5884fd5eef687ccc074994675f30a96f92cebe82f1f313ae4a994154b6d69b1e39aa7df63f4a61ad1ddf2b8b191712d410d6bb2a8a8b1a86f6ec4962c7ebe297ef7e1fc20c608f3fe9a347e4f0bda1f749f06682fa62deb3bb4df4df625c05ee6a3fb059ede2826af76c736f2de4ff85069109c836d06b75163906c5e5b36b06c5f57b2e32b2c6a804a74031de853e7a78d90b5310f0e13fd16735e79578b853109f47598a22e204def575d35fd28cc1aa893951113bb2e60b9c86c7e0cb9aca21a75f648a3c3a2dcc70ba4856d3139d2c683af56fbae73c5f9a2de1fe3dbb3671f7c7a388f2a0a1a0c61100443e28172b374001a06ad7cde2a62c4af29fd7ca7f0ab8cc3db64bd89902039b7e7e5e89ff7f4e458a51a50db65128ee701a27e44b614dbd7a49b1373df49fd83fe4add69c7e8e954ac29933a696d6553b58d307a22d7c44afc9540b3054056baee56ade56316712faaf888d85e76271c68307bbc3013885f080b7db389d2331c67ae31e13de8c74eca1f428e07e4547fd4b8b9d6c3ac14e58f75e0d4ba738d685782ada67c1e2f7bb876b8b6511a7ef806eed15ce81f389cc4dfe3b45be7e353d35d42035a8321efafac4d6efed143feb4d4b46b79778d42f7820cc15010f71b69d9ece536ca7dc607e380b9b7401afa5e65a1f73aad3a079619478b49817b7d234930684e1b7c94faeab93313d9c5478aaaf497d6785cdbe8c61bc682911486de6d4b5c369ab71f2156f70be9be9e4e99cc1ba40f79d5a0872d9d21420cfb83455afe0d32e28115cb240319017ca96637d0963f83b8c7dc86a4c143f4ea80759d348cc6fe379c1ec5e57599c58426aaf3105aca673ffb67ad7bf706b8f3fa5154fb77eafcb33d08c7563124a4d435f3df19e6254aef3e5dcd36217f8d7a34cd788bac233b9941ce4ce2ba2d193d656525a54995444b7f0dfcc0b45eda0a9eb30ed46d5c4fdf9223d32468583a98481b3b526ad58fa6d751d99ef1dc3304d1f2b735005381e0cae6840e001f8bae92144e6b514b44109800ddf4b6c88c56f87c2f073be057b1ba4eb6aac1d77ba8651dbcc3261cd318929efa563003fc0a0397829fc9837e4b37daa2ab458fd66086d318ec8a424128171ea596d17767cab6f20be174beaa2f88cd83b08d799fdb5b70a9ffc71b9b9e6bb854ea964466366f4f54b84b1f98f93525279ba8e200c77be473f2b20247536144bbaed1cd491fb1c3b0b4232fd8646ff68eb8321679bb0a04616ba96794c0bb92b21d6bc59c57a93d39e4d690244dad8c0f5d3c1ea96c3210acd3c052ec6d0c442343c5a52e535cef9ee50b12d32bf68a3e1a68cfec13ee20f23c3848f4db299cab425acc8227c1187f55b779394897dfb29f26385bf242da057573efe49690ed8156e0a64d5cca83e8cce25c235338d514500a13122bb845172d6c2a7d10ec416fd61ed59bc2584b85f11d5408c92a1e5e32642d2081da76eca73385a2c61157fd3ea44651a2ae0289485e9121c7bac5d682c90ae3629d2fc7d8020f374f18ce78f01cca043f76602a5bff40a5d5050a929f4fbc6d545fea48dbe701d98863250ade515666d5208f27405305231cf15a892a3e90171af7c6377399cd805dec5549fe567a447d7691e7c0856994fc783b860ed21d6af925cee8ff725691968bb620bb9bb30df1263adf1670869d6cd2b1ca38eb62c5bb8cfe98c8502321c3c8997336067d92339a7c21691818e231ada1a242c3c397ba70c3770f3abb247e13fc5991355d2f1e0fbcee99137958d2910a03da27d352c63459ce1c74356505fea64f70ad6df8664a1305ab1ed5ccdc170acdca59f820b6db36c64f4cae9ceb1e5748cc9c7b734830febbd837a4d27c6a54e78221e108ef17faf58de41eac8dbc92f3a00b71a3a042590dd857aefc4cc978f5aad87090e9243031616dfe1011b2df627ac801472b3529518943030285c9a5f56e8d37789785bfc97bb579fb08ebdb0ca192418a99af0c5b702d2e19638614cdb38e947dc373587949938a49e109447f7ab4e839f2ef661209f641ab7b16d0c69c35d61ba6eb9eed5cba1c203e65f5022e5a4470d4415f578c74af2750468d7db001539ad9b89689b6b7c4ec6d4685185dc7ae930b8cd8c7c0b5bc0577d73dd2a60d1275b4de85af2c5b1890f4917b49aaa434229b591bbf9a24d5188ef3984487001684623ef0cd6dba3cba69e6a81aa0e561f0dc08995c4053cc0298a0b73392dab7e5d0831391bbbbe690fb45b7a2e9034309c2e01e283b17b4b090f16bfc861cea35e503e26c1d7aa22f6f6294d1918e4c4919208fa485fb02ac416c8ff7f4fca84dd7f207377c7bb92aa0d398109e73a01bcf94588df31105f97bc262086613c0ee0aac50863cd37d8b62a0167f105c0e796cb80b152becf8ef1d137422d01a8d84a1673ce6aacea5f32de67c456e74c86d9e65fd294573c6a8f44076c1609d07c8a148aaf894deca90acfb119d0fc3b5539ea1b00ac069776420306adcf41a060c18b296a086b85a16c7e3010f2ddf66f703f2f4f493d900a5c012cbcbbc0bb18981d0c7f012d87a49f249da816d6c5359199b7b39aac69484e083c4df68b977f18e9b5e76930fe87d7fe41579fe78e95a59b87d53341b159edb5213fee122b8ce45b63bd0fe87c0b91168247d42a032984644402f33925d818828ef9b561509386a3b79ee888c978d841555a0ac03378a6101ce71feb533b5ae57202211611392150c06c8f3df1259a8dc51b75ea73f111b4539e74d235a38b8e5f25608312092b8b843d0b09228d2738e5243d9e9341812c415d3603c2056ab33eeecfe90cd4a1a57fe1923f85d94fdd6b11f696cd883431ae75e69e170d0f46dec694930144482a2ef8e8d1b406bd238ef6b27efa581a0be2a6f5676a51e36ef1e6906d9c06e10a686f8e313c5a549a17110c8196ed6dd7b28dd108a02949713ac553438d9ba899583786287ce70c79a79eb32d81892e7d7cf6c240f75fd322cfc6522a28c3ffdfe42dc2a8857690212ce6ea43362aa65332e99988a45d6ea7fabed62aa56b681c201451d247d0423441a169ebdca5cf6d19c03d764335089edd0149eb496a908f2f563206506bea61cfaab477a08f439b7965aca5b663a0ac4712fc6c160360e87122a8a5b41bd27c249044d2fd227c1d99f464a5ccf735eeb3526ec875a6e07def8331a909f3ec9cd8c0141fee4e2c22717c45d220a6ff00a5ca40a7a1c737fe5026dbf202fe2de8e011d0022238eb59ea00daa142761560adcbfe6a8a68eb23217d4f4bb52081e12b66d989e56fc203ddecedf88bbe4b7373bbbc34a299d4d307ca6f5cf25a9576823aa13d7139d70ce0939cd20411cd81f78b695a64f4cbc8701f74d56ec8c652fb256bf55ee532b9e19b6820b0dd712bd6bb00c49cd891e01b23de534ffe6ec4a549c9864c131c3e7de0a571eb451cbc4ca725c4e56ad6819c15a4bc1630c9047a8a9c4506ec1425bcbbf3043d446e2f8d9a70eae416703f6991c3b190ddc360f487fca525d4387eab018ccd4b8e06c1d111d0c46a95a32147ef7d471db48b9e0730630ad0ab63edb9a65f8cdc962c05b25cf5e0044b8bafc6aa3c26ee339f8c0c032f459fe288757eca38b17becd8b5238fb3d8f1bc5546291897ece745bc855e641866131900ae67f4fd20d1eda0d4724334795f0a417f670bb75fc372a61b975b316af57a8b5786be6b99e19a426882c3f6db08b428717b2f4b839e3231eff6697f9b31af8b681f7cdb3b32fc24989a7492fd798b13c390efbee4cbe7e9a1539d20839ff21d9005e39ba5f54abd2c8cfb48afcb070bddbb17ba75e3f7e926597f1fe5633c5b10911875eff305e3dc353a2a03cb41f835b334572874cdbcfb01aca83450718e7c9f5c7a16bb08bbee70b91b8ffb221bc8b53b39fbc4778d248522646923e969e8fefdcc01ee0611dce1441d911a2ceeefd999cabe2510e829e17b6255c9d3aa8d1047e79a879fa0b779197db076d6a8be9c36cc2b34cfb7abfa6a9263057f3de394a0b66c062ee72d3a4218675b2e694541925950164718bc7698a32651e76bfc705b8497f194812c6a6d28ca7b6455c443d22daa4ce6ca6664dc7cff483e4174600ce1128ef6c8520ee053c11f7bba9f7ab0741edda1dd7eeb724803d10333f2dfb2bf39599b944f1ec87ae921c91dad54bbe9d3630d22d146a0a202f7c9e864c3fe611e0c3570e40b55197c1a51c097b1197265a25afc4883836f07d040437f7e9d615503a25d92f53d290c03f68f7223b5fe282f06cae178dcfbe092fd63aaeec5fd8e2818b9a44eb4831c014b83823cdfcd1a26bc70d1512e40209854b849d70f941b3e79c19376840d542200f930d06adf291f24368e1d41b4ac4bf302286173c697ffeb0a8aaefcdf565406e672480d0a93a18e05fc50d886bd461b5c382f3a380fde8d73c60148567c7999d56a6e59eb2f3bf73ea60caf9d901dfe8ecbc5f4760c0c784b63ed0acf9a5ef37cca3fecba835d91b7fe6485d4740ca2a7a1df155c966f83a92fba2985f1dc760097afbae2359c125658298ad79b43b4b67d3153b2b92fafb964a3d034bf833dbbbd7e3303ade3153d90530d9be4e19acbcac2259bc0679523516d9a166de11c7d9eba0dd0f4c281ea52e09554d3dc9af8ee35de5764727aacd31ca98a7679e5f8ad65ff53b238705c382103846df9199492924c1434a58127de23837cedfbabf78592f73984a8f8e0329561e043c28bd06fd5b23109f2559844f63a4862622968406a30236542995d94ae6b7bf6d2a0b97d4177f1a0f9fcac3070dab11fbfabfc09a7563dcce928ca254b5ee0e3264a8564964c61e1b14010fae40bf104bb0b26250070f0928b058b9bf79ef0a24e7bc02ce458a106c730a42ec227085d3a637138d3817386a9c0391ef01591860564053e543b7ea15a423819fa03279b1d9f6b3987a96b839d470411a12eeba6f6b527869d60a24817990b0bb2d671d86fdf5cf5c0bae4136e3986b553594e885be97757de0e2544c7eae451b53d32300599b594c4d6df312e56dbb9da9fb40b4671cd8713f404b92c85fb84a7c6e6948bd750f10596102ba5e04426833d85cb21fab0265071a2ff46ad09b51067d5e62343c108cf253e06580ef6d0e8ad3503d5a49f0b2a62000f73f97461c31e56c1892f82983bc33ab16ad405aed2f27a56404661a8ffe2d7da7178f41f7b7886eddc84db1edb04be9f7b8474214d4523cb4e9d7e50f4b23702eb14e90a2554d73018fa64c8dde8fdaeaac164d1d42852e442dfd44679ed6d61793c325eee1cf7ac1bde74a2565d9216bcee6505d17b04959e4cc1be932e738719835b6e99b0edbc3e186eb0e8e9148c95dccf5a99a89b377d5a1bdfcaf94815113a4e110bfaa0846d37042413c53fc21c42c867ff33cc99c44ae243f2a12d5c733604540d9263191065971b3aa53f40cf82c2fbe0dda9edc5842ecb776e2c9ce805c07f9e9834d800529e611b85e204377d6a186a582333c87ec25752a1a971a9b03c6e77a8c834643a35f4e73a16806394e50be86bc1760860bfeaa9acf931da002df90b187b7495d1f551d789153a010efaa9f9f73ad1e91f6d7b043479670f8802e308b31485276f47e9f15225a930eb22a5cb2aa6581711fc32e3f805d2ce63af765bd39b50bec9730833dba619da0b62a8f12e3de79cd9fdebcbcf3872e9d80ee1d9c55c7065e275254d6db3fb7ced1f49453c05d7eaad1bc1e8b3a526b373b6a5218fcc393dd20ef6f13506d22085a2a17c5adb1d200cec3af04020a0e5e3b1d61916d01161edf648ed0ea82535bc22ed496808770cfa0032d80a4e046af9de83e85a0ac515bd25de19c385cabefb9ecd201a6d0bd95b70452d2cac33908d18ae9c6f566a8988dbc0a47245c45eb51c5876d4ac8764a557563d80040a4b01e658992311a69740e3e74e14a1ea4577c438e8e22d658d675368cc3b5b7a343139445279fe13581dc3757af72db8457142bf89e07fd19df0e1580ef16b61260b1a10a7e436b743e0d02d3b241b4bf123708b31b014b1f42fd815fda028b6dce10dd75704005941dfc92872208b135f8d774fbf12a0389ae336f3096b10f01d3b85f65e26575c7ca526f20cec4c2b0b80c0b2893b57562efc8287f1f000098b00c62e0eb93db38b3db98faf8eb49cd3498ed362af0637d7e68c811f76e0188b6d7c3293816f6394671dfd13b5b2a15da33754dbef4fcf96d5581c11de0b3330afc40e0ffa5ddda2a32048db212c950e7f88621f8f2e12168acb54c4dde5d853265e9f3ac360afaf6f512b1c95398a2ffa7edc029fe2e5a74b0cf8fdfa51eea42a90d14da6d4ffab02371c0330383f705f86987045e4142022206cbe31c61f13007a80769ba5f87e3afdbd0b65ff15171437a6f6e03c45aefd2b3eff31fb50311a55aa918abf13e63dc50eb43039ef21584a33259b1cb0a52414e5251380a7dc14b14221d01722692cd5148d635030526287bbc0fea8e8adb743531fe425a5642771b883f919bf963356dcb48b4eefffa4e9cf245458004460437f0892a52fa24d055efcc3060fca5f760ef6590c75f09063490fbe8684d384251ee1d507f061091e77e2abad35400e9026402ca84d8066b20ee59c920c7e4eeead4cb24bc07e4cc8c40a41904695f82461b9d427a3cfe1bf127337a18909b884752cfb2a6ad080dc4077b515d93fe080cde9962f2c0fa4e3d04a08dba55d6b7139fcab2391067605b3471462c27e813b2abe9609b0e542ac483132f843f580be8eb652415478e05672a0b8939024dec69a78774feb9b2f9074b7fab0d4337ce785b1ca2e8c8a1866844dda8b395309d91a5daa1d79b9afc87e12b3588a8b6e127c3f9e7b8678c3f3b521f0c54a4b781f95aea6971d4069cd7f8cab15f4d9a9b2797256a8f5b008e7663a4b3eefaacaea6b511d679bd71c60a1d054636ae77e420e01348f004b5a49637c99621805f77b07b06cdc4d43ae8f583f990be0eb95e831b2a6c5fa10de42ee625f024f0342d6b802b163ebda10f492a5bf9dfd06f678963138870bf2e13f8d532eaa413f6af4100b1a3c3fb13b9eab0ded7b967904e02b782de4176dd16be548eb140249a7a8b653083812441e532a81ea25eff31152706110e287c979a87e908fc5f4a95de744fbaa7d2e67577454aaad6570d41e40ee200923ab50bdd0e87a5369eb4705d1da1765dc4e6242d2417a4709d671c63d391ee739870e2a16364bc1bf932c3613e45f8fa81fb23b48fda218adfc875ed251a2553d2865ed78d477f9db7fac51abc622fbc90dd7645983cf324eaa973896300866322c36511a480c8cc9aa3f6cd34354cee2fd3c7fe6af8eb80fc387838caec3c45f48d40ee6e1653e54f593c6cbb8ed8dc832851a8d639386a7b034e67526aea2ea7c3d1f26555cab0ab3b7d097d3d63e53477a61067fe92dd2b252c1153167db5007f57e4a87320a2d418a2916f9d63b5dc545a0a73a73808489cc4070ba0cb1037413a2b1897073810e6d12e2ebf3f2b0aca37727b93f4d0d5af56a14b47e87d956c5d424af43fec5eaa2e3c454d5ab57126f39cb2f2071951bdb821daf9c59b84af07cc62692c5226d5492c7934823ae39a8b0454e7e5a10edee3f7cac0e1f60c7aff6227cb72c92856ebcca938ff3f40b81f31674061fcdc47bbf53f364e496c8fca3a843f65a814a8eefe771f9c3edebd3a262c663b34b7c47d7d5631bccc9fa8cc7bb0fa218e58b82d36adc94afde920caa6aa20a74d1b203b68478f2284cacc46ee6ebdb0e3eb4dd469e076ea37372fa51fef950f1ee3687cc1b693e7e6b7bd8348d3fb287c0f36f0ce955e40c0e7810eb4b72e442ed05a4918dd935038f8b88c1875ff8270cea468cf4ecf48dd27e603c806fdd5c4280e7e1259540f921a7b5500109340ca65d3683c65de4063dc115764af9191945c1330f187229f32c05e499ebc16ec6239701c1abc4b30ad20222863320b65f6ff4566d4c044715f22dea840baf77becad6fd8c990707d9d198dc1dde1cdf0ee902ecf360c15952e1a45b59cde7baea4778d84de2114f8be2e1a91310b0af4f9bbf8198b051a66522137ed16d1ba5e169f4e55a97447270ff94c9386cba24531d8249479b5ad1b318bfec3aaca6b0c2f3a9081e24b3cade8491738ed65d483825633600098275f05d21f6cadaf7c060b6cefbca2a82946973f2a343d3efdfc99515c8ea4d709c027b1e80301dd2ce9ad0ef6c2cbdf9393f720e7e0e346be54f087be1afbad3434be4de3ffff64788da0f34969c30c39f089b7e5b4fd08806d679bd42592a23c724b6e2599b8168edbe5b86053418beab2a346a0ad65285563595f14f6cfac0345cf0235f1df89fdc882e61135e04bca3e521475c8d8324dec4d9ced26d9b9919e6b8d85acd5e2697d9d21b545007101132186510a48218c016f6a754c083f9ff54d005364bbe44846c3a035031eab9447bc41b8ef97a34464f517c2c801bc1657d96da77babb16b7af1678703dac33aa89b48ab2fccdebc14818652ab69041919c854a6415463b258c807e8cc93e06441ba3b6e8b83dca3cdebfbca32e14c545ea58525a948e4d8860ee0856bf203576d19712c609ee5f6334186898e2529eaa622dbe2353aca4a66ad6d2879496aaf304876d9ab88c3a51a4fb204e07314c48009838114020340fe92f8593c89a16211252a6edca8bb2492560b2015520b2272247fc247c29cab765dd7d70bcccdc121d84194533c6761fc0813e632684f688612053135895bc4f428266030e4058a65800aa753170fa0f25be26e0e5b26d86de3903907b531c11c402668a1a4b6b88f7e1afe7cf1a03af05780dee88ab9907702db9fa6f4ed3f67c0a9530966f33d524d2c043246f2e3402fdc6241d3c1e27b321f2f4a53faf3700ba4673560240bb88131d43b9d11e3031d0784ec281f02223708c6133a1919309e109a49df1c3c98f35880c1ed7302ce2eb6915fee1cf733c7eb581f6fdefe20e9af588a6ff57df3b051f78902d9be7d1ee3b9bf509426c03eb32dbd50b6bfc477227bdfaacf806e756bacc6dc4fc476c8b5b9582d04a99e47bedaa6381b960e127342864de2c01401a2ddbb6e8e08becfc10f32543f3a1b8c9b4fb4c31645c5fc9f765eb80d205ed7caba359ec7707fdec3d1b3bb6a3337eccadc110c8b821abaf36f07e577be3ea9851408c614ef909f448da7e1e309429581a2ddf6add03414a34dd6df961bd283aad3c4701e92d0508f5659b10c68271ea69fcc5e4c842b57675489b609be7434af4a4acc0e80f93cd98f898006244324d171b0606b65b38ac8d015a0b2ab6041c781e631e39406995a04c17c89e9f02465138ac482971b992dffd06e7f6c0bf8942feab5215967286cd926c3de1f9fbf0eb57f7789d6f541ca2a8dfbe9e1af9149d89a1568ee594da7f8ce0e06e3e6b9d92fb18ae476c75e1dd5c7d08a2f7b513746c2d4ca911a7931a118031b414c27217f9578b190ab949ee6ae5ad3c679cca8c5c3d501d878988fb4fd4d124e311a5cb4f7ec5698fcc65aa8ac8f3dc81447eef3bf8dc59c4c2d30956424d2684f63c174b3c7606dd5f2b79026413452de01e98d41874b1ee82d2493f7720fc79914864b9f63325ed6c2b4210dc1cea62ea566100b0ece3958cc0548725b0c8ff1f03f15f9c4514c5a0a4e93ad4c9fd59019caf15f05017b821d67595e184038d09ae8f2e93f3f482f65a5ecb4776f754b522e8dad99d39f5f38fcbabf33d802f4240340fa02e5ce030e621de14716a824a48b8810fab7fb59cd5cb3a3538a813a6170163e852fde9b7c2ebde017870a25d3708c8a9e4fcf660616496a4de885e59a0b4fdc37775e2ada991fc79dc904abc6d379104b25b52fabea113938644eaf155e36ff6ceae4505a8cf37e4132aa41b2de76352bbaf1bb9a0f1459b05bae2b8efcbd5043cfddd94b47139c141272e10ac436e4d61f95d0e18271a92ca99c698e09e39f9c1c0b1f3419c6b4583c6132caa7d622c918ba3d6aaece305743a5c1e19cff1ff78529a351003e10c16318d5f294028f141ccb3f4aae31274d0044df1560c134cc0d1782918dbe8ed5fe34b27a68753e047d7a7350febd1441f6b6209bb39e7298502bcd31ff515e1d107b1233b149959350a0159f6952d3f2105f19b69ed14019ab7473229ca9f28bb242acb9681c36a3d38fe71be01ff1034f824d51dc37087d7af43eebf905dbb9d3ebb6942c90e7d10862d2e428df7086bb2fe05605cb0a2a06c743212e5044a518215a606eec96cf2bd2a4d8a8106af27cf6848d0a8a7af6329facac280fae18a50b1137e92f20a998a3c28f9c3f6b8e4cf3f5a5d6021515ab1e74686c1343231b11b7b49f76464cbd24f8f2b14d6adee2530c208a7d6c123e01bedbf261748101a8240117d8ddffb19a130e1f109dd37646fab61e687283f0f81bcb8036ca1dde3704558068f3e84386a349b461ee7e5d2d3f657381a7d521adbf30d52fbf3e6cd21d5bf65d4e35bb489588843afedba59bdc8c9a4a32d814544c23b7275cd6dc800f702847e43d6359b43581e1089dc6f47574e18acd759c3dddb8416029dc6e926f6c92b3b19b0f15c084d6c3c71341b5a35b0f27cf51683439a5bbc7a6ad44c15ea3dd3e38cbed0833d7dd4193cacc8adedea4aa9db0c388210176e6513d373f31dfc9850807283dfd5bc64f8078b6127c4b130edb64e584f50392f6adafbae76b8d39a499981d42082b6d6eba1a71b604f29be14ac639cc116c75bc0a38a003c780d56a00298639646229b4402c83b689a8b2df0647a94c72563186b2e07524e6f883f9ccde9d975f8f98573970bab155c0715fcdb1c00c39383c399f16128ea981fe1a3f345b066c276f5550d3dd0db95b0bf46609089fd8b7af88696c89736e75db49f565651f2226384483cabce537081705d27b47b9fcfd85d7993402f33a9310d99b3f787dfc2b49c25401375e6ca1b34010da4b41b1160c472ce039e4f80849da12f7eba17487659db684c096b3325cf7a907b7f1236578ed4a8f040e3f520ecd94030b53789836789c8d50b4b6f48e9ee6b91bd58fd08ccd1aed2288baea8db8d33b0eb106fe0d4b8b276ba1b3f9dbee6171f7222d6f8ab0921b85442c559b39c1a69fb2601d115ad1e4d1a9332e13cf33ad0243a2ab21187de12409d58273206cc306b12df0637d625d2b6c81e285cf2459207060674f2757ed058ef75a4f5a42b5da7ab314b9c6240538235e8c6bb376c92995f29e4d00f97f0dc505892798f93adba5d676f42560214de1701429ad8d71f8551dc1de085fadcfca6ff1855da50ca2bcd6d4e322cd014c886a55e2cfc243c7bc04166da24d8fc25f1168b1225409e9348a27a1ec487ae789fd24a9b32aafa17312b75418e123da47650347f057aa1d488e8e1d539aa081d5bb5193a0ab95903dd55e1da976c8ff747908c843e7b6e19edf5b08acb48a8594cc3dd85369f0cb4e25173b33b66f8663f25e83bbe4deb37fce28f1e4be686f8cdd043494115e460a57513635df4caab4425fe0c4a7ef7c4d9db85a4dcc9759ea8b7d6a2338b1bebb3dcb3e8139b34951cc22f4a60b324be72638a80086c41e90ea2cb1898e65192831eabca280168f16551b94b4b1b724286cb0fb7b924c07e5fcaa12acff56fbb17cc671edfe3cdc911cbc02bed5a3accff9552841458eea0375d9816acfe25630166a40521b8dab4dcadbe4cda03c334dd04cef3cd8060aa50a316e566b563d13b720bb8434a7fe4bd5763d472bfe15578ad0522af257eb4fd5b9f40faeceb1981c1e7c3a46f4e0f73646d83ea831997b6cef77258fb0c665c36deaaea233378a5c5c0638d522bb5fa10d6555e5763fa45bde01791877a539f06986aff75e89a2f8f94ad855bde5b70c197d132862ec2c04b6f8f450294b5dbcfa69359947a40c7c4b591ea40e25a688151b79941a909eb2618a971f4be3fc722873148fc08147b850167328e1d3c0e1c64cd0893651253bd34625e7160693845573224e9d3c097ce51cf1a85f1c130430dac2fd832dc1a696d871bc506452a112b0c74a8c7395be712e60e2b9d1941d46fbb20a438063bd68de7fb80a622f7c02ba17eb1256bf8dc5a919a3cea392fd1d3f28520bb96e38004b1f3a296612bc2e48bb96138ce7913b6f0562eda741dddd97af52b6ab6df3f7f1b1011b082d7cdb2486538f4719784437090fe99d06365d4a5036e6e831ba8da1cabcf98bc2b01d714b9cc6a0f1ebc420af5f9a7d00d12dd3412a3e9ae70b3ffc4737332dd000bfce5570c6fcb0c2b762d346df3f010af7187badffd185fc6bce3fe76a26899da2d52277928d4e960d833e52cce9a2bd2e637e197d832822b46d7a1f558f13bf0091c0dc0e0d8467473370fad67afcf4201e3d3f66b3194166c0014e7d8b179220114e53db55bea2365c560edc2a0770e77be272c7a6572c9f6371808b0cde46a647d6f98be578e4d73bad89ab1c5bd36cbd1205034ec6c76f46afd7db260bde780ff06181e986ddc2c1cd9211b0fa5e5cda5ed9ef0d0bdc22d468032cf3d1b5c2e9fdc361a3c737a58e2229d5a81bf70b7be086cb8636fcdd1b9ac89af4d4539daa1c22b3ebe43fdf2090d557c6a4078234fee17132ca7478f2dbc6532886962fbb31fce9a5135f3e5ecbea8a22b6c63f2715873a6f8ffb4df8989fb3cb169e71681751c260156ba44ec3faa50ec4154d9b743a47021e36120dbc0270ed5711844847cdb4881bf9c3a935586e40532e4c0143c4d2aad6f6feb3467339d3067bfa06e2428980f308edd960987158f9ba2fd4262c8456ff244803e527d12c9358c8f3e611bba61e17c1d153103fc0eeeac983340690daccc42745383c827fcf50ff189d7cdf7718ff592d994cc851b183430501c5ab3be0cc9bc130a79a039f0df35fd684d18178ebe4c4735b99066e0f7027c5d1a367c19f5a55f370a470ee90a45f24d6aa3a01a1b91bfecf613d18c569c49d7647979f32c21e05b1ca0b4d752e74abcec0a99681b66fb0de10822f527e53e0e6c5962320570088525be098f9d3fd5f5b90949124b9d0d7089cd83e4813b72b65e26fc2614a23af91b068699d6aa012160c1c2f02593612f01fc46f3032084247ab182e7d17b7651a17ed108dd74990865e15e22d1f357e7274f3122dc90fb13a7730a7a9b67b03234abec0973d48503a8483c1207b336fd3fee32450f3978aed6e77eff1e5dbccb39bbef3fb6c75c819e3b95618953794240130a7b5bd6553de51d2ff9ae277f64186553c633edf9d2ea3d904d770cbf818b35873a2947fb90abf6065c33e320fc5b1f558082043032ab2948025da1f8e22feb5597f351d7fc19aaff003ed6cdfb1daf4e6c738eb45392a1aa315b98d14e85403b6c78f612267bfabe01505a1f068686a50005f833d16c2b8405b072098c64518a7881ae074f2a7a837b8f1681c5a68818da014d41858f81faf0c6cb7e393b9fe8219829a18a7e75674062aad91eb0e8ad1055f7e93d81c6f9b7ef0f2ed43a728d0aa15b52b56b02fa6983650f9f8c1f4f445f62b57e54d6b8871b6c13d94164703fa008a7208650b2cd21e94f0c5687b2a22e9e9b7a9a75f0a2c473b791c3697e25353afb53d1b430bf99030279ca8eccbded0577f9918e45e627fe169e224a712d7c25480bd151c6fd67bc507c38394e3eb7e9ab7ca877202fee8106aa174239165d4e5e2e9c6f1d8a84e14b322f45718f9dd91a00fcbf318403c72fd2febaebcb1ac7b188b33338593e4f6806cdb97ce96858d1ba2cc6c3b76bfea2172e656e61dcdfe8311d1d55ce4ee801e654b3bd65437ca92af859202440470aa447a78433cf28b2546d4bf4563cd5a0b20d377abd35ea1156d9c2102532e7d1d6ec692754184c7966c3c7e028eaee301bda4da7d407b3e754f02af2651033b74c92ea5dc3e6373f2dd6b8ad7554a4a04208e148c8257d0e7f2166aaec62508c35fa485e4b46cef7b10ad4aeade7b18cbebb44e4cd7e672d4b158f18940e9faf6d842979af33ad54476c072b8fa2cff07af0e4a9ace79b5945aefaf9a60313cd7cbe02ee845e640f8de43a8ce16411fe639e08c6a10f05b094a9e009c4a29923172f6ed439cff79ed76829beb78930271a5188881588278538749f754503726520f2ba9bd09b8e8a373bb2b20a6a4f72dbdc3b5d812d53c7db402ef2f4abca5155d2dec63db07e1060027a466a6966571b229a7fe6157208e46c8db5e8531ad1e9a742e7cb2d3f1ca85044f1dc9ad47a45c863e2190a369024872ab75ae44e4313810fb84cc6acb132747612e11aab820ab7c1302f717b0a188f7dfa1ae53e027a2ff772a05338516df43a1d8f575c23780c3b2d2cf3dd9b682dc017d842abe75184f6df6573324db0f07ec8c368e3f5ca13c7a1f29c3e63c6aa53bcf496bd53eb698eccce936ea361cde2902d290da827abe3f01feac08ac986276e6c17223d29ae6facbe795c84735915d7e44fbbbec2c2a6c12cd7f80cbfe94b9f2a13b7f31a0e8bd04a7909866078bd2bd84b4ae5715e7c3f938c175c4f1278c4abcfc02e0ae91e9ec2ce032a0cc6c58a2c31bb012578f3f23943385f87a79f03c78847126fbee82673191a23715a300d6e39a228f4dcccbb2935b2c7097d6eda6d410b7be829401ec6bce712fa081c8acc94f790f3611b82e93db14978bc0a3010e532f03482c3e4f94f66ee246c98ca12307cdc439814e858bff7c6e246afb487fe3a6b0adf7c31947d6db13e7a537a6b1cb8d59d0d89188a5223ecddba2e1fd723cbb12b24979bc600909c81ca9b351710e3889fecfc236f7fb1ebfeddaf6b287270d6a0a58a382c745c815162db1eb6aaac7364ddee48ab318f3c69a828d53f81b2bcb1a63bd25c14f439da8b67980b38d915baa73a2e396bc66065fd9bc459736931a2d5f3e95821578499c07be2754d32d5c1adc41a0c1c7f7ccd1fff1305a8727a968c9c758466657496b124628d229eb2667bf82c4dd8a792ea5ac46c739fcc09b5b26b04f038059e69fcd765219ce2031fc438100722f28a8af392b6a5e3ab8a9493aa9c1c32e24ff220c0e99bcd37c00bbe791491838008fffaf87e2df837f007e8143284fc61accd111b11b9a4bf2ba4d0f1f15eb6433da6e5387f4df2ea07ee8314e8459ca87e3f14a402b4889bafa3c49c3898210edfb23c1c75dfa7994291f75a0b9fcc143ec5563c24fa9aeeca028adc9f8037586b0e30d21164fd2ad47aa40b50a71bbc6578ebdb4dbfd59e2135b8b316ea07872033ce1db11f5b818847d7262af511c2e2b80a83ff7efc8366917e20c3cc26031e9ebbb685e0f0786577ff4cfdf0cba2b4a033c81fe1a63e4fd7fbd9387f91a8104f3b40455534fafd481018d38065e8b87c66f2ee561c948157998e3c0c6e66e23677deb3b5d690de58e341e398cbc48db3be7e27f6bcaa4a6ca438552e9a88448818294e60d263e0c958ca0e2e33ca80f2a1ee92e99fc1fccbfffa80e23aeae9ebcd748f654d4f5d943cbfaf460b339aff03b018c7382728b243d8accbf70e94970c8401f062f6dd4bc78dcf5142b94bff6fd092cfed6e50f424e443b19c1dac224be0b1eb779a3ab335bf6ed7d010f2563497901c9038f6a23bcb2e3406f62f75cdce38fae2201a3f543e07abee37913639d876741e06b52203a107c1dcd257c62bb07c8e5d9dd477e25f6044d42f3cb5461f8fd5937b3d55e83166e3b90066ea9ed8afa0ee654f0b5c1e18a662c517e7d8ef87172baf15aa6733cdc9809b034a339deff8817c7ed00a97b216145e760f8d250f8f7d11bf66f352a274484584915aa3931b054c1b9697cb7e167b5077bafae90d3f6206903a18b4191f3dc8bd2000196a7d787f015c25f786db787c080b9a75597333d791660d3a1e02aa0219229ec8c6f7ebe9ca67b9e28cb8fbfcb7449f2963294fecace3e6335efd0745806ed7853eae6dc6e6b76d33fbe33903ab4a5029b9433abf4c56fee3ffd2dc4cea72336f25bb5f1dec6f9a3ffe500f58f21f3be109c1214309471ce871a7a2d483e2434353538f5b0f1b63966b382b5e9c8b8ba5b321b9d24c5b6ff305c4f448ddbc1fc125487c89d7e4d8ce4d34292430f39bc793a9972a8b40070f82dfe93a049faf36e89a3c34af4078a99e2c8a17543c897e309a33bf0a9f14a1ae0dc852220b051cfe2bac275685e8db4eb7e18ea709356eeabb8161425410e3681cdc165a7187448604e3ce41f1baa11cef7b608c14d91fb335802472f193d26fd1d303cc0d71cf26b60e76fabd7a80fde0ba23fefd30650f660b4177dbc6aee61cca9970609c9664597eef51472c562121beb005ee0b6bd8c81f123a7e4321407e9a4146beb868af78114b295e9929a5d41783bdffca3cf24878dd803b20e5164f1722aed90f4d66a3403f668428f81ceca3c769ee13b9f9b76ea142fe6bf150045c58e597e94e473ffc5079b528f352114eb4a03534de1d04c16cc04ba8d0f03b58b3b8d77cd86b6b623f984c7551cbe1a979e62fb29c3b1cdac2a4ee6bc9903ae6112b0ae2e783ab169ac98a902a9c154d51f9cbda0995672eb014e40e125f0dfd46a8c46aa0224d5026feabf47b48b8b1fadff1f41f7483f60547896830576c01ba5d2ed3cc0e2b29cbb459434712081d1221f55dce184443dbc331ab670e2318b06e6903576efa1396bd809e06c0b5b8f6c3ad1d86cd381a7da6b9f6e25ea59b2cab1cb6acb13be91f580f358db8048122ba6a2591738d7af59c441fea6f63dff500e25b8bc759b227e149139fa05c2011d13f7e7c6524a04127efd53ed6c7ef6e8cc3811cb5d3e08dda86dcd1c7e73d3d24d652e8121d39aa48a45b0c47bebf12b3241a67bfe16f59baf2386556ffad8ee7a7dceb2b35bc8894730094cd910c7236a082a9cfccfa55cfdc6e63dd48e2a57c790906ed2e9dcb957974740f4127541d9d2f7c50b7a15c2d5dad3dd03158a278d374d44e98381cf7b20a1c7194475d92b115a4300462c97f313d511a0d29f9c1593b0d645236f93df1487c60f28a8299628d426a87420061808e5db26eccc91a414edc4b11ebb913824ae38cebf5d7e62c734cb0dd211c6164a840b46fad4aa0f413befb028d816ff52867480f41837bc5b3457abfb686999edd5aa5b8ee9c183babb729cdb8c0e7b58c67574964d02da58830e746494e8b67869060e81d490ab2e28029b6add4b629fffe959e3dd4c4dfa8b90b189d220fc504c3be7c275b1251b0be14203cc2d7e4ee47e2ee9348eb778adb08b3e373d94ed2a4954bbe7a1bc3b9c31c366b089400a699acc501b0929431dfe320082483c13a2fa8de9380f9828ecdaf48479c83ea03dbcc214f744cd238ea5d8d3c2f1ba6517dcb0362e3528043008c649c5fab2def104a0011b5c6403a239113be41c5641157c7d6bdf6370231d6d7b897f47017f8ffbe80995f307c2341c2ad49ef445c34f1810ad340bd63b23684a1c6837bb6a31cf798a68b47ed5d689fa84c039499350f025c19d5787d01f5b3a1efd133becd4e205846b30c4159c91e4a01987f061b12a828ec5360b929660d5690c174af519a7d374e380ee0c3791d4352ceb41d518354167ad04860064a510c0d901972df0895e5c28963557aff8fd1f31a272583b9569c5aab0a39b7c609a26b666dc3a6af30f208723480fd0e27c672c25c55a48c32fd69cae7b0543abb12f7614c9b949d80dc8a917346653f08972b4399ea72d02a9e860b20c4c47a3d84693c0b0d83ee00f3a2a969a152f309b417310115405b20eba5f3892e53a45bae62376db607c512425ba7082ba59b2e4d7fa1efaa464ca6fd915eebd11f79006ce1f49639111330ea19485d9174e63640fe52170d880234f3038add2ea40026112917a1bb6a327eb94da334d242bab79b34bdf8686cbf02d73667e3fe4f20cc6bb7ce507bbf73a4468f24bc64e030a6460c9c2aa9db3fcdff8c0513209f7eb9df65161c1cb14869b2f9937519ee06a9c95569946b2a9b3f1257079bf94ffc3c85d731f2c815d0225c69ac303f45230437886dfe180e01bee857dc4acf540f97bb3fc646845e5871436a33b8eae7533a77fc917f8ed154f212d8f260d83e8a5942a9eda5a8db3bda1a8f623f76ff3343b16362bf69b81350a1b50f74c74c524c704157f8f0beaa887b5d585d05f72d1fa6a799d6072f666e0d9671231e4e2083592fd0ff3585602a843a80a84f6ce283b2862ee93a6eb5561d426857c536c05438ad4c8e61de8202da208f986d07c1d8f634ad7b301b7ecae1b69b900722236fea35a5d8bf89a1277e808741a7c9ab24b3b488ddc535230d4e123d9fbe0636ec548c1a4f6954cd61672eeebb6cec6e8a720b23d85de6c3ada2b9e31b888717779357f5eb5676edcab6986464779b6d32b23788c346ace3f922c8ec28da726db1491479cc71178d55b751c1e5af7364e5a8c96bbba3f60a76bcdf49a62e1d3af23d048900dc96cd9b154eea5efddf0fec7729aaab1b6bfa3077dc4954e07ed1a5df5a628dce6b0b0058af7c7d0c435a41110abdae6818b1c92974814375378f9c43e726b1360176259c351914225b709c06085b32bc398892c375f0eff1fa94bce9bf7e943221edfe421103915f1dcd2d47f50d36a3b69af7b8d63e1531f3bc71843db9f73ac9d58e295dc2c5eac96cbcaeb1ebce81ec713824955044161cfd79e4b3d75800eff8368a79222f6f80c824da902e560d5aa057615e54b0768c8a3f6df3a3c0ea98e293061f6795d8e7c04ac46c95e22da304fee3e2d66a2318d38d26b6538963f51832ddc9ef79d434ae1d9af444b3c8343a2c48df29b7341d2bdc14896326d02c9bf2b9463f8333de5a4278b0b3d480afc54cb9b611f611ae00979c209ecc81360ac39818c62fabe9ba3b54295b1b4a9e1421c60e32faf56adba2ee20692004d5ea2299731f75dc3e180ea0de82b1819afa0c1eb74157db965730b3c2d2fddc0d285f3de8d28e23821840ada07928d51826926039a25cb0b7634f1e351b4effc25b59e6ceed321903b0b236cf80624796c32e50bb2d733a2bc66d5b1d7f2a445496d668779ead303f9e025a926034c467e6b06765c2037521ed8a83cdce041b38965aafeae3663b264835bbd3109ad149d699272c890ca6f02bd781a4331333b9b0b11229c44bcbd199eed1b0a582d11d76ea03d2c3d8d05120062015a909274d357b67f5a961b2b4c528ce1495e0d7c60abd49e25a5016db7cd8cd033183ac34ad433c8e184584bd3aa156050a1a7570a0b5d1697311f928e3542923036acb2ef2f91e40dc31838dbc5cd620df6326ef2b83767a274bdde95d37656cf2757c13a43c643a1d50e7f5b408291c00a7d28c98cae665832ac3926627de82de216f7941b01652a71e7542234da2948598cad1b325c0f51f818ad33a814ab86c6babce93aeb82c62c588db800d61ec3900cd23fef1d8888579d7ed0f217c1c7436317fbdaff3c1626f8dadd11a14b17d71cac99b6fe691571192b1ff8cc2a4516889cc1908abc420c559079a63806e3ab531e2ae017c6cbd2fac269ef210e767f551cc50e5e616161c9c341408b46a0cefe02658b533a6f4c9cba94faaedee00330ff691a58e73f51abdbe008b4dc8e2b897214262c315fa91d7aafd92c1fae70ae206614f76e4e03b33c0b6144d050b7e9860be3516a021d3def63d8689ad5442fc15e7a7e2361857f373905d1b006473cb3319d22491b6486b1afc1a37dd084ebe78f04f7a07d036f14d6835fbdca95d88f7a4d82e32ae3d0030b59a2bc4c0010831cd6e25bfaeec66932c975b14e0d031be0e54ae9b2f8f512f9383ee10e11aa008bd3e47ae3aff92a1f8cee2dd531a8094066f120b0ebefa797ceeb920dc04be260b665bcd4880e7169f8373d15cf963e0f5089a94b7c6acd89ae044613853bb0b1226b70e8326a0a3f665bf2986793ea079046ca5604f239137e4a5b9a2fd9a365f9eabf2ce48ca31b4d13a9c31c6041b67b8682259cf8e950f7aff6859d272246f38396712c6cf88eeab662d396b2468db0afb1e305fa92f67da5ea887075aa56467ddf97639356e8076c62aa80314e570801245da39c28c2e7c732f1ec08a425b92be6e2af18cd86f117f0948e0850e382098f4f7a4b94317c759640dabb481eb622825a20cba18fe1aa010cfc0fa2eeef6ee6cbbdfad03dd11bb871c3447ce5e0c9426329ca1828be901014271631f05c593729e13357c43ac8c0153844333842552a783cebc6ce30b97d380204993e7cf830359bd9a22f2f886d58e3fde31e9147fde62c2e332c59de9f600e922fb6dc99d4c4b555e9ffd9de3095adecbad40c0214ac40c4989bee3ca04e4110152ba5ca4aa35c3d0033705bd59d520f9e66f6ceb1eecf113ddd1bce55ecd0d10913455beee3c6710a8dbcf77338625cbff96ee70c5ba5f0dd7f96ed9fcbb75da3bd2a0fbd142bf85de44e56c1cba65779f09c9564b61fbe438dd7d2dd7999cc77de8010134ff1a8ca16f8d700869bc78401af28316c674cef8fcd9fd2f7e3d3d5227e0b06d10f274ab53c6b5283b85486fa78ab4ec4b3a15bbeba0b4828a22efb89d4cf72386a1a17bfa49706b515d994c00cd86cd52fd8be7bd24aadc399196094225913c5b2fe14f887ca6428892900184eb8952b97538f8b52d364d9665c55c7c9b498de1e1e2a6d2b1603e5d79b2a83115fc3153876a0a11896cc8aa4db7cf6f66784c9f739810aab6228c7218f6f34412e3cac73826f22e5f83c3de728784f15d6a0475a3858e30403353ebfdefa47d52ebf311a428a5db2daf5721a772b396d9881b4782c6adb73d92e73ece0af297fe2fe7a7b1bfada9021aa231a6aef2f46e4aeaa25e89b38e7ee87126873206ae87fe11b2f0ffd20f6723841d32d98df87fdedc4a0d7a4619b5fe6ed8e8b7cc80fbb83fd322c641fa78691da0c6a241cd65dd88947d7c7c8b2712173901eb88ba7480be8bcdc6e900a34cc448fcfcc11a7c5ddaaa06f7a537036974433794da7fea5b6a5c1c0e661db5edea0503fb76187feddb56ea6c587e0f400ffdbc59e96b77b7b06519399cf07a85d4c608d380377b7598ba77c7651565685f50c9f3e323a7471cb72030461898bb0824b067357b4c9cf7d58553e82c174601f94b8275d27bcaea9a137747581297c5c23c74cec1c75f63134e69155d33630c6c5bb33a960ff5b4835cc44ea40d7f9766f143e02438a7c87bf467f54bd7253664ef5c41e02bd90b20e550ae7ea47a182bdc5111da48b6b841236f0c5006400c92b54573ed659e347d38df03eb01c4b23d9a1206a12a30ab848eda67821b8267034824bb97e378236ffa365d73ea78f061ac05576821e525e106ec7e8fc6c6450811194caddcfb2a908b275845a2b09b7d380e45ef908f23995049ff45d1068aba1aab6d357a2a4dc73eecb7122fbd660301d2a77f83f3b498c2bcaf5cae565b622134883d5ba95eee960b7a58557ba6b8635e5010139ed5243b291e34a823ede9b448e1568298307cb75ba3860c2a72461c2563a45d4ac2d76047ff7b9691aa484f2038a54d60f23af3a65e371197cd7e4d01f97f9504f4d80dcc074a19e991616aab340d4160c6001280770d7ad0078beb7aa9bd82f502c4ed5f613ec575dc3f388a22631771fb203a65c68645900109f689fd57220a174d9f781e4be70363e50bd68ad3a60b4e856cf809860f506e926a5b152f1e75aa8cc1a1db18befcd64894650f560e0490b6639cf31507a52146c86621083cf8c95c56dfb510d033580cca2b20f1b32e3d7e9e79621fa0967bd3a30d94ba6c9f4070caae8fd6c7e0af744d14460b59e594b128e06afefd317411a158737d076487720c82fd89c92d334e29bfe58e141b2518184c78394bd5e7d04d17390dd36662361154f6a98a1bed4938b5ce15b0f0ac9acf6801a448fe86aa65ad21a5372c746ad50be4119eb20e2c51d6ab83d3ee2a637413ad73dc8670dbc1f4e56ed3b288e3bf4eb51a4345392a12ccb8ab190ba43b3a94c40ce3a630fc50883f287458e96381890a7beba7686c21995f9a07f69b1d40f102ec8d14c7fed3df5015f47a4d377852ec8d080a815dd15bdf2f2662d84fad51cbd922bb3156631138de82034ff3757aea70eb766e7e18e22eaadf26553647967da783c60679374dd6def1dbf5ddba35944c20ee92bdec03258f8d908c66101b9f5ae8a86459d01ea9860c07f6fb58fc040c0e4ac3c0207ff28d916c7eec4d27d07801a2c6ca92450306e1516f6a7c282e0db407ae96fde06d85d23c005a31e208ebd1654ad724f212340be5daffbc930763478e560f3add748971c41c66f46677a0696123a80549915a73582242f511ec07475577ef06c8e60e51858b7a7a952185080a62cb7c8396da74cbcad2a62472fa822e92a101335a8126fee5153c6b78671d3d3dd658771de75b531531779793062dd14e7d764b0da3b4174212ebb29229e3c1dce42c051f76d052bd8b915b07d0c5a57f142e5b3f00b301105600b34ab8c8cba5675e10863f7d893f21b5dbc4317b135845805e06bdab2db78cb7d535c1282d47f216f49705e10f507ecdfd0c455bc2986a9e5c39029415ece22de7ffb4f2e82bd3de255db184a28a0db9d982c088b28d6a10cceae855bf8f630c5863918f344e45a06b29d41730c438401c47920bb4934f8ac701ed812558de9ddd300404bc7c7b82207d0755dfd31c2b3cf1a3dc76b48fa11cfa828db6cae694d9780b609544c094397400b276fa850aa4656d2ff195736db582039abde6ae239d170b6eb2437a3fa3c3a26959d7ccbf83cb6282b9f61dfb1b2e0bae5b25f40abccf0d85a8a2eff6cadb4d281720310e22330c86a28c41820b0e858f3405245f207749294089019b00517fe6041c000519f8f34a3bccdaa5808365334b0d8abcf2419db4ae46f8f612b892c4c02b6b268c1f733ea5eb265c09c054e21bc9b641717f31d1250a848f43e805d503be85d73fefae05f0fff638c37a32a54c53e20c569bc178109e5d2e193202d077ded1242141dbc3950ba91b9988a4156e94af036493ad63e47fa681fbcb9e4541c94821255257a25dbbeaa5b967cbadd5ae88eed02947fd8f8e28f2b1ed976fbda5f2abfc56824a1f88f4d3dcafa590e8343e39b7b8a8b3500c8d96228bc488f66f5038748afc6e9c1b0fa7bef6f17c1032501f6b4e599d6a36114f5c541d61719ec4218d38646259b992de1ad780060a18bd8105528b1f16e254abea42c75b373c870aae609c1886d0be9963e34b0190ec0c3be81a50a982c84cae15e55de807ad3248cecdf8ad797ce0e27dfa7c48b14f23547d3f051ccb15e89e5a1a01b7b3833be2e937391eaf3f6098f34a3fec5c79d934d548faf95bb5dece4d2becd25cf90ed12fb88f8eef01be97430b9b9b01a5d5ae8c8969ba6b016e25b4ca36d29a209b9eb2ff37a0f7824aa3efbc6495f3b2fdd8f700849c2fcb908cf4b2b3c8076381226837bf2dc54d1b25ac203264dd093655e1e9021b9d7f9206d1378c4b188d02cd4733c985e1e7a56c7273298a936b0ec35d2a2162c36247189d1bd40901d591673c2136773546110e054088d8bdf03d65383366cfe9021b33fb59aae3f598401c81fadd0acf2fc9e613ac056a868c72b232e0bf7fccc1afe2df07a1b826c337f42791f4bbc1b802157c832bbeb74763ee747528c2edec17696b0ce6089dec0dd6ed3879b8769fe4a97f2048cb883fff8468f6dcbf3f958bd7039eee246daf257237dd1e1b365856b60288109a310e465b95eae670a116001ad83bad32f0a98d19b3632f0f3c00845eb370aaedaa95677d9494759cb08aac77b10f561ed89a3d1b1cf71d3ba9af78994556a3b83f4ac3f4cb1c27a3145d08b0f660bbcfbb685e7c3e8d164c50890823869a090cbac5d5c214ac3aba38e076132e693a93141502818ca4ce48d7e6e1fde02b53f35c4d06ca3fc605e73c2b7760553ec12cc71580caeadfe14dfe867ab0c1798177db864faf7bcf7ca489f416f26adb79a5e5b5c686252629e2f4933699adc026965ba322580af74d06d1dd2f9b4bd0a1c963ef1eb24287d341259436d19fae9baefada3f6c4563edeefb81ffb567f9f25a75b91192542feef730e4f04653d40038ac984e137ad47004452b55a29e59a8e2b580447a670fff43b3409ff24fbc39a8156a005e587e34006aa8c270db1e48cbdc233548efb126334faf350caa0a4efe120c2459d1002394937da4e195c08b9e0b24609dfcff0d15cf9d2e2c5088b2968218e50d41b9581ca6b3c0ebd0f044c254060a92cf0834abde478bf371896804e6dcb247e97a3704a0159751a35faea03b483c00bb62bc564c2c0c31d4c95d68f4dc3abdaddd8fd80b555e995a525e345bb6693118a070bc71da31499e0770a2ad67582015af6f7e3b3a7882f707b31aa37b673c51c3247d3738c58040bc8245a5ca60d958666968f34fea3aa88b24c2032cffd34afab5295271bf2c6d8223c628f5371787c6418936580760d2c889a2ca334d4ad8fa8064c5a586fb068d0d45a8ec5d116b57106b0d4328ca7fdeae2b26412dbda29c4c044d12e20e25c2e360c01622f85098745c1cb26dbbdda56ec981884006ce0ec4e59b4a6d6870712fde14166f3356a10bf33101b27600f79a70153dd2033a2e2d73c7711380e4e93311d161b123d236ed4e77f00a47d7a0a23fd8b1c0b4d74062c5014f5e51610313e60875657c4330a2ea16b8249477e4ae656d8d1067430ed023b5ebfae5f84022c2c66024dd3b9ba9f9747451c432dc5072436788191ed008793dcf02452b73f50b0119b76db859d5c58c71d8a8c1eeb813b911a3eb2b3ae71491c061b68f81915f0bc0ac6a631199575120818e776b7fc40cea37dd5f80b23486662b0273451e6eb72d18d9d6aab0982e1da4f36ae02cc818dd9078d8abf3e4606cddab8aa86b6f196f293b43e8d5f5b582e5e3f601219170f79fd1cb4479274127de7d96717555369da24d90cfb772bd5a3fb81efbaf3857504d145f217ee781b03b138e70a6aba06b6ade8040b8ed9c8b0c7a5975f62d04a72be5f2a8fdda239a210ece897e7d1f9a00971472de8a94bb12bdfaf3121498767da76b99758ae49848a9f0795f493c5c1e874fa32959f50f61ee00d1b858defb128ff33b281f70439b52b5b276745ca4cc6e0730e04c1113050be5de4fca1f23361a4e663be328c3256f8483c0e24861ac4802bbe330b7acafd17ac2e0e03391f1a95fb4b2d5fe017f987cffac19ee24969e96299bb9272e49943cc2cab6b8c4e9b551f1f0997f059e4d4d3b72211ca5c407c8664d37bf0a2e2d6802aff6325978312c911eb7ec082dad69e09ec59dccd1b1bd76a3fa21b7144cb9d4940ff844617707264904e3824da4324e2b54484137d5c52251b9e51b2dc02b09b56a5e16c8f71522fddae9769c4fd3330687736467674d4f292b96de97a476e1cf003cca19b66b822476414d3847f0fd42c9f54265e50e53210a3a333532613b96df1b8dcf0b6ee42df4e8cb071a28d2a23e434acc7c59ebccd71f308ca4013f89340628ef9a753c9f65940bba9eefb77e2758d750b08470153ae2fa244cf0cd31047a1df96920600f362128a7899725c80f9a6fa301408f557499a85ef27baba3e700da5bd08ba1398c1ec51b46c962baf3887dccab3a4b0ae68087f0a7b1c414b0770f222f4f0d567b6c11df0ab611287fe0a0b338e1eec4233e6c1ddfffa1f7413582c7623108441c4e6245b1b6348252f1179ca0a34c6b67e013c6536227d0e4eaa4204e019718927e1abf4dafb5d7662e094d2290c161c12c1f17530910b3a632231183bfa226a626c10359714c8f5623fc93bf89a0b3e02b423bea44b9c61641d021ccfbd9e447d6af7a4e9252b28464e8ef3cca9c21333a0a045e3d987319f04a1e58646aae82c7c5373210d8aef9dcf5574e52ff6806e6a659802ffff082aaa5abe047a0db961c37f1b1f519857cce6f20b38dc406cef58327867d97d5e695a11b2a7730ae594a0fe64e95eb697fa222c264280ddf78b5b8c48e6f89e288c11991d08e8e038c2d66ba92a793f7f3e61f4578726ba3950e037f5f38c32e38b525d7942b487f591350d28097c8a8a44400d3acfccfc6464c8da32324c843fa6b4b4f0823d5c681677efb69602c1c8b6da655165192cce9fb958b817dc7183c72639383c5be2029b1960ffc6934035796981ed96fdf14c696af198ce12ede5899a826bc1977cd09df21ca2091b1d34c0946332aabd797ab590c14e9c146d0e78eadd4c9a29b5c76da042df7ab06110d682b5dd2cadfbd9cd594a2d7e3da15a8cb45d476e1a0865b9c9e8c7ea8087fa94076120e258a02f4187673266c5bd280f675762743058d9b2904d48191ee5cde0c9496837d423077c53cc3f818003414b16bd89f52c4f6e814b9673929099b2b546ef8f7c04dc0184b7ec4deb329fe396ac60dce9779170b295d14e8ef51ac99f711f5bb1cdb7e5d2daa1a850c41521b6b82fce5c5fe165800ffbf5ee0253faa961bc4e058e99fcf025f99096d2ea736265014e2ea0d2d62994e1b21f97dd64db2bd4e29726324e97d2cb582a865f9f5ec5595586f066bc6d27ccf15d72d3044a88a84f152871c8b94c4cbdb87ca9e6c8ccf62df74abc8a95480a491602827641a151e042f9a4c796012a40bf9a63de1116d8d6517b1f3f6d59e928d464e393ef4f64c868ed024a996cd11258f33a1aaae1bda2d8082252e573dd5b60db498f312c2c07aa1762cfd79f6be1a94cbe27360f4c78ff1731f5a95dcfed2bf9b7ae15528bca2bdd55723688b94fe777431763d6d972bec072bb91609a9a902f5ad753c92bfe617522ec5e0c1a8220045e33607c4c1df43aae15130cf6b92f298fee5292394712f7746a4edb56469a66e664d93405132af888839361ee44138413ad2338651d0c5e4c0a61df6d066562070fc73025dddb797fb9fa2ea5563ffce3f32633365e62fa96d22a5742d91031648b5a79535542f2fd0f221d78033659646fd9f4f9a2d77b2e1cb8cab4e6e5e55dbdc9ede97c61532812449d5d0b096a3c2a59b2f26dc0da418aecb9208487d2c9a8fbd80f154ae402be717d66cd81ee9d9b717f13c7e79c248f805905b0d5c137d66c482d0bef60ec10177ca430f78e4220f62e7dcaa8297bf775be876da2a1ca7f3521b4dbe86f8b0c886dc81d227719a9356ce3f12d23c09295bb1c119e20a93e01dac8aaff7e5b65047ea644d4559960f213f41cda74b949d6d4dc6817cfe6f926bb4ef5699b8cc084e58a130b8f43eaaffd081924693c722a1543c2d144d47e01228cd0fd19e68160a45e1833babd243fd1c43c32319aa19f6dd13e06c5e0ab21a8921715c03c8b10fc2c9023ef9067872d2fa47e8d8f327289c8ec183a54e843644375fc79afdef7b4727ba125c784c0bb34a5e3bd32227778a39545e0fa07150488642019eead56bb580f6029960060ee7420ebb93e2bbf43f8ba33999a41fb7256bccb626c1480242bdd9d410d1555f3addfc19be9bd0cc83e614d1ec2d04f6caa8fa0ac68a07d00adb60aa7d86875e38e208d5bf895e6a7de46269d1b9aff2b3bb49dbe139d14322dfe1031ffb8c24142e5fe693cec8fb5d0121f04149c666090561d21a4d03bf729ec451f0ea6b969e40733d8dd51817295cd26d3485d6f543270789aec8b5593890518214c554c5eb0ccab4b440837da6fbc3e245594bb950263a6649266815a7de0f1dacdcbd39c312d2526b0871b488458308d9ffdcc6c77872a5029124a84d9dfbd9d3b57d9394a877e41233aa4d2248f46159be62a67413ef681151afa0abccb5fc0c78b8703fed1584bea0779a4ea6b722c86568289b38be9728ee1f23d764af65477acec2e65f3fb4c62e161fefc9ddd0594b7a130a3db039a5b35fcafa2c9596e7ed907668b0767847a5baee016a097bb5e8769cf6770f69e3970b4811842ccfd1dd68905ab1219eec12df3af578d07b69ff0d298662823ee522629ab155b8cad1742d5c3465ce9e24426878c6e9066ba7117276fe84c98c6cf3a2f6cdf72f5be18607282001b4d58c672900e3f18d29780bbede0fb0f1155036f2235cd35096f20cb9794d58bb762296aba43442cc4ee5de06a15c4535a7d63924de01227e2eaa6a14944017cbb904b640adf110c0f22c6262bf1118139dde61a47b7382b1e33435384caf9379a5c49e73b4c3a1b90c51521e201c44731f5df29e70024c65296062e32251fede6407c0764273e4ae514406c055d6a7e9eb5049a961ba3f3d84f4e748aadeffc541cc91c145acbfc6d663d89971eb79bda4a387d13110f6e7c5beaeb60f0137db37a1e7681f17c38b6497f63f1ca94f80091888c2e3c54dba257dda7fbe8da3888164bc92004cb0aa0a0c3fc39a793c35f26866299139d64412fd15602466d218ad3581ea47f4b6e64e1d01fe67406d9c096afd54bd0d927bc2f71668bc941d4293945bada3f830182667ef31c26fe3d17cbb66ae1a4867fc9ecd9005968ea467eed5c4b06a63abda94154b4c444f0af24788713e5a0ac9b68adbed3745c224eae1eb4f62f3e4484814235e1d79b7703b9122d36b5cb0ba93b3cc4bbc0a1dbf604782de997e9663ef90e1fe9da5981e9022993196fb211225ef424c25f15a0016a3757b80fb21e259bdfdc8c923adbcfe97e8470046f5c35648247113f60f3d18a7fcc00c04f32c39bcbe63f8a01846c3ff156a3bb607a5f65d289e052f8f0004e982cb380e7b467397d3406892979646f43ae19be2e2bedeee31cac3091b7405c2e6c4aa54f4650a2d5cfcc027d1b923b56020715a2589b2b0d8217a1d4942a3a942e531fd2c550968fb062d50712a962c7de963d9d980e3d3853d41c6b3f3ed5f6394ab295a65506dcc39906e7a8794a0ed4015f942829567c1d54500adbdde4448bf7477292a843ccde98fb328142124640a57dc1bffffb6c8dc164506f4ab12fa2398b88d227fdeb3387fe8c08f1bebded3397d22a147771ffb3f87806715c42bdceb963130641e5d80b13d01d5d8a3f0f31d028abe6631ed86f36738bbeb19a42c8cb360f8a813e6862d62ca80b75a42e404e2ac6778b0d0ddd39c4e37a90d04545381678e9f05306ec97620f0f519072052722a3fa742ea8ede148d30c76373b1f2fb227b8d11bba364c56ef614a58c329f9cd02abea8bb8817c4f7d49bb1836ca7583188ee1f733114f4432f4281f1fceccbdccf233524bc1c76c3ebc89102463524d70b878491877910ffced0e476b7d2d6a55d25d366a5e79c6731ec678831a37e4250700484791d473e2b5a444c867061cec6eb8c79f43db94395d1a6d2e7a9553c0a1d30221f0a464a5b5211750e36cc51616f84bb23ce7a145df81a989eb887afd053f27873ee680792c58fd0be5af80af0414d57d271c6c51e0502ec968ac722354ad62651fda026a68838b9053830b88da1f7bf93991d50f43d52516c66fa192f6e5e916033576cbe3f1d5b2e1b548a18db885ff4529b3cd5bbdbaedcee4b9674c5aed26d3350b6006b2cd7c5bced110a5c040ad295ee9127e4cf10b0b9a545e7556beca09bb467acf828d01611d0e2f09a8eea985b159d560571761050a04c3e00b8ad67cc86e71e14d2e924f5bd9326b09d13735914d88e6f832aace8ff3f91c860e958c6e9147de36436b96670e975b0dd1a038f8da29172a2f3b625413cef88040c0fe111c6e9b2c4bbd6fc26085f44948143caf06038f16084a26712e70ae7cf537082cd989f0bad4fbe31161afa84121eaf47d529c09126551a1bfa562f9676f2bc3411699b70bda2deca589a8719bbe81cfe0477793cd64a591065dc06fcfefd4bf4e3a36a514309d72b79885862ffa471c5a2597d199fd577cf3d7b4f65aec909105662542300c13852d9a6365fec447b4b69733df89433af43fdcad5f9ce7879a1b0f87eb0488141e6b112c2ede7b22a8b613017fdecd979cea2ecc931899ecd4a0d0381406ca4ec8b2f25bcc79d950987e9c114b7ad2caa9eb123ae50eeb3ea56bd833f0502e61eda6c2583f2e431e9f20fc1a972c62644b6f8e107e9d87f38e588ea3c3c2ce03e40dfba85bf5936df380b1935502732dbb47f84e663aa15c64669584cfe0b6383bdb07069ff8218d3e18a1168d5d0bfa6c68396f1dccf8449fbd77bd2193b69f15e46cc783fc36732fc3f2da9ae2e3d576c109bb0c8697fd34a30abcf711c41f035ed285830f3010c8940c07ffffffffffff0f395023043642fa39894d494ab22e86bf15f8a5b0d2934c49a694e431f01d64b5967c42026311150fd00e4b8df1673dcd1864ca89c43cff10a245a870a529e13b711fccedb8f46d221db61e1b52ecbed7d36d10d1444a5555bf5017a2ed3d16cbdd412413a929f6de1cb1b22e477d8789e4be269beab51251a95b2ce812c9156b1a57ec51396bcb12e9e439bb53ab117daa4a24b40c6bae8fd07165d094f0d9c12472b441c206891c6f90a8d4808f12e97043568a54b5a1836712c997e266949b475ecc68095fa3ac9cb861b1a0ac9c98ac4122c70f94143698039981c59275109144d23cfb0b778fdb31832291dc15c3d5c336cd8aa51c8791200289d4f4d9bda962ed34d6ce6249692a8af972294d45a913441e91fe6863b887d7bafd3f77ce0e228e4887fba83efaeb478aeaae11c9ac3ec4658b112fa66eee727210614442b850ab360d4f6b745a456411a94fadf77746eeccdd160bda61b1582ce62e8776606f1e4414918e23f64a1d6e794ca305024a1cd7049144a4f76307b157c465846d4197cb134144528859bd42d7f86c3553c2b7be075d8f392e2a103944d243cbaec71a31e34d0d91d8712e7645aa170fb1840fe54f9a448e365698b2582e178ba5557c00f961722ea60b228548875136b59ebf2167c7089196ad3acfcc628314bec281c820d29b534c1fa1c747784710e96836649029f3eeca9c4820bafb0e59d71c348a061197fd185773f250aaf502114024f75dce8e3a0d21b44a4bf87ee097157648e46883e40749592c168bc5827acc710922f287e346a989dc87979959cf61ba184286b1e53baa842f05c50ee5e32f7498f8f0e18b4110f14352bf6db155a6a59eca85f40d913e24fc5e46bc8859a1f566e258a30f6565c55356544c525a0e113e24a36cd838a3afb547d9879bf4703b5052e0b0584ec58737941f17bc6288ec21ddb16d6b3d1bf27dcd12bed6546b699c98a0c0912c96e66e10d143ba66830cd5ad3c24d6b41957bc44876e56099f8f203fd2471018582c066942040f49a9b34c1f7616f66ef312be3a10082840ce1d529f6654ff719b1976a784cfe492f20315b458d80a227648e61837ab732fd5b72e94157427351f6ec286e640a40e898d62df392b6b5ded4bf8cce141ba4172f9062274488a943a42834c433fe894f0d5c114103d168bc5a21bc462b158da89d7c1d4b258944592203287b45273bba18396319fad84cf7706bb75b80fd5dc8e94206cafc71c971488c821b5d3adfa1aa959ba8ee290fcfb4e6fbd97cd7e834362b5ce1e346bd1363b9eb2a2a2db638ecb0e44de90be19cb7e3f67ed235d226e408cd59ff386d861a66ac35afb478df2e564bfca0684b83673d57053b64e640d09a5e36288cf9575a7115143d23cbe6da3285d97afae481ad2f177ded14f739afbb9a344d0708b8e1575aad3887d099f2e03f9619267488d2ecd2a6ae8b07915046f418a0301e50de4818819925146cb1c2afa35ca0899a8215286b4f0d011a11fda35b934b0582c961f414eb6c71c972542869427d1fc294a76d69c3e2a3286a4cc527de547b1a731d7226248072963ab0cf12906829f648acf20656506772740386545255b240c0991db596898262e5cf7e372e23ef8ee0082c2ceb51384440e9275829034ba0818d21d96cad1183eba98f55943e40ba931aebbe59888d2bd7105225e48def60dae44a84e37e32ea4750df5dae38e2b73b513573544b89078255e33e7061d93472fdd86c816d261b3e88b3457db473f711f173c2c10d1427a667a8e9e49beb5679d291f703467bc1e735c44ca209285b44e5be6db5957bbecb02ac142ba5d7be75be3c1a39a4bf8f6525654ae904ec3ceb5fa517befbe842f2a26782d628584dab8f171650eebc755c2b7edc47ff8393c6f28cce42408bb40a40a49ad834eb5f483cb87dd8a0a15d2b662c7fe64fab6b3f38182b25a203285a44bd72c6a4d71a14683ee034890959344a4909a9ba37e9da2ed56de257c7951b9d01164795b8c425286db9a47fdcfb7e712bea680a445040a699daafa31dea918332ee14336449e9010ca959ced7dbbbc5cc2a782d2f44eca8aca8a3821fd41e55bbe5a996b6c4d480835438ba9f745bf6d031126246dedcd5186aeadf66a4496908c6b6b67e778bf0a95881252baeadd36aa199ba3de06224948ddfa4f2ed44565ce874aa1c3574e4c2e4d01c14bf195462248e8f58639a3cdd4e55bc287f0825c567e3c6ae308a8fc8e61e8b8ab66f8272617dd201757495140f47e0439c91e463067f9d3d5d16d6dd94bf8ee485939f1438322a483f21c74ce52c89ced1822243dd565c6d5acd3b75a095ff3e1267f667087567e7c9e6008295f215a6bd83af5db2fe1bbe8ed6921a4a51a9ea6e2363266328da6e0b05854d0f698e342c71d6919df45c5d4a073fc93b79e82c2300889611f632b7f997fa4509f1e735c6e00846c7c5c68176e7366a9ec48ea9933b6d4b4dfeeb3da0441526bfe67acc6a8b6d350099f0aba95d4d41fd3ee8fb3b6d49a12be76c93b2ac9bf5b73d3cf9821f35fc27744909298597e5ab365d6def007d710be6aa4acae0e322009bdb1bbe5fe4d371902f961920b25619f6ccb1c36be86474f525f7e2bfe45c8f4df8d1f69153bbc5a537d759c06e54fdc6026270a0e8b857bcc71791f099131afdaedf230c68c8e13933adad491ee9b2f6ff57cf7752b0f65d107e94eb13276f81b5d136190db638e8b0e4c522273f6f07a53d5d095c562f19492b4b87e5461ee5a99e9257ccde4e240ee58e193342c963b4e54f698e392e8489866312286c868116609df59f9f11cf8b4c87872eef25cbbda621a1d78d2332873e99bc34eef83d0dca0e344c561b1381d2a40502c164f39ee31c7a535c4061599c53ed7880ef5197534bf13e5e3b62ee14bf115372c164f59c362696e020485592c2a29be02443565b1a4f88a091b7190a0b9941520226b6049dbe93a65fe4774c7123e672728edec2406276c2c5201825282950c6e76b22ad6dfca570c767bcc71b9a8c389c6306e269e63b6374f9d440835afb1e435e60ee503888a896a8f392eac07e95bf31e6fcc286c4db512be3b5256900a4b494355588ad2ee31c7452fa7d72042cd7950b6418afaf33c6f9f0fdb1752a58307a9cdebf237fe6af0b7ed20317f5fe76a6fd5729a3674905ad347ad7fd9b1c37d9a09ca657bcc71c1410e12a2623f85eb685c5be7482b172f1b3dd6b89db7582c96e51e735c4c707087c8a06c937a988d4e5fd3537afbaa2d33a39ac5a2c2461c24ab263748aa9dd607b1548aa7dd2ae1bbac381dbd97cbaa831dec31c7650d1ba43b3787a15ef8da98971ca83de6b8b45183a4ec3cf369b788de8adea0413a678dbe571a3debd5c9911c75971bfb4c835a6209df4a0aca521a98013ba36f989a3fc9daba73238e36e8e9076fddbf4d095fbe400628798f42667446cd223c17c0a1580dbbe68bbab65db50c62a0cf0b3d7fbb633d6d95f0359419f458b9a9f215171e6287ada1c40183673fb5ec91b71d4b13c71b89f11d6f43cd30911e96f0f900f2c3e4d23c4595a8207e019b6587bfe7d87f2f8428870b52abb3bcfcf91c9b5d53a2c2b76e742a6df4464c5d25bb13b7c32ffe032505c8e10c5a903ef930f7a66eeb5e5dc2070425a59d69232dc3b2311a456d9f7b4a1865258f8d74e78e6a7367fbfb3897f0f9098a0f7661262b6a4505ef5252c787215dd485aef84af87ea0a4bc5a2cccedf88192c286c5a286c5d23de6b8088105a955fec253b58c3a554bf85056901a6b38db6ccca856a38c9e25fc86c562b1e449590102448da39d87e630de76eae5b2e5871d3e7c58526bcfa8a1695c4cd5a5104c5482a4a03c1d4196b3c007901f26787e0439c9951f0f843492e2d50cb97369235be61fa5df58415aecd8b8cc87b77e5205e9a46ac44697e963b6d78d142446bddf53737897f34bf82e79b7c7dc8e18a020adb3dafc3037add77d97f05df076e5c7e79ee0070aca858e94cbc50c132446b7545bbbf82ca6b64bf85652d00a4a90fe18e5669cb57f9ac54af82e8c3a2dba5ed6b3123d6ae64bf8d0314acdfe9c1fff1daae42ee103024a0a1d879c0e8f61f4478fb3c3724bf852565436a1b7d316ea957c6c3c4bf8567e7cd3e02465779632a6dd87157f099f1d297ec838d0b47a9671f6bcda2cd453c257a21204c82505e52f9b06c91a247290c8f10609f31a0041c5d1c7a7c71c973732ed61978fab9accfa9c12be1455c22ec6574c526c60b1acfc788b0d5682fcb898d3638e8b0d30b55a8bd1bfad33689a95300a42c2461c242472bc4172698c292b40d2535098f698e382824bc674f741540a592faf12be143f318917d939fbbb543df797f0a9347795cb8ad3718e448e36541489c120243388c362f115b562512472bc4172d1ee31c745040a2448b95c5482a45c2e12b0aca031820f88e05ce5928110908040c5031ff08007b40320e0808a0636703f48eee2297f4941595114d0005ef6200832d0010ca08128282912b800082ca03c450215b00005e888c0044e85021230f9f103c5031140085c8a721f6c020fb80b051c908106fc4a1006dcc54b2e1458806e051410041420ac582001aa44c5020838c01e44c30008efb22e256814602545ad748000a881019cd061a28201019c07ced88019f803855d52dc8ecbd5b107813057e132d6c50301d000002e970df00882fa718191bba0f8b8d0716242071d283e224046101c0d91bb5c7c4505a5e4b21204ff408806a4804627c420e23fd4090f343a8109020c20c4128d80441a212568c47b34f18c084200820f78a0031cd8008906328001342e60810a506002128800041cd000062c40010940c0010c5000020c604400210b80012d4216d043077f2003180308b184223091464848480807d408093102140a7004346041a41622b610110521440a710658f0104514ce40849090933b14b02ea0822798010f212121c130030116b18032a01132c7881231c019cc40861032a0202424840a6a8484843ce1095160424848139a9092829502a8c00488c606d038711f060d1460008d13f7711630060624801728b8431d32600635c280852b84c01152031550200c740881840822e620b28638507002344460208216000640601d8a31af6304779c98ac34e529ba41bef04648881d97125c80a87ca10c2f04c30bb0f8001a257894cb7b8a07e40002ca1a40545010e63550310192868a09108519848e13203f4cba108b3652d08538607002e635b8b849ca0a17ead883284090c3eb503ed4683e94cfc053e0682ac54b5082129440a5a473ce39e7a8aaaaaaaa66666666662222222222dedddddddd193468d0a04183060d1a34d8dddddddd8d10420821841033333333f3eeeeeeeeee39e79c73ce39aaaaaaaaaa9999999999888888888877777777c618638c31c65c7777777737420821841042ccccccccccbbbbbbbbbbe79c73ce39e7a8aaaaaaaa66666666662222222222dedddddd9db946bc4713ef871b385880144e548a9340a59d046103a5879bb0a0f9088262831f417e98f870355454d238a14148c8881b2b2827274da91112327283385454d618b14148c8480d42424668904e504c564c7e98bc91e277a837507a84848cc8111232328338424242944a6329adf18113373c25c84a105f516d25080a1a2a260b0d344a56524c161aea07ca8a4a108686058da57c589a099c40819090113842424662101232d22364014de0050c4242465ee08290901137465a101232d24648c8081b3b4873b831830b0b120b62b0468f7489230671c4912ee90d1ab0200630b8dc200d18781d2872c000d181e2a3b9e12726749ca43598a0121232828213344f51417ea072f911c47da825e840001ff040081c94a0831112584ed489c90f93941f414efc124900434848c8c808561a685892e00115b5a258101232724648c8881965b06045b1111232128011008484842061012121972300695e8212784a0a500a4ec0bc063bd03d6b0419986104083413941a60c26005c5878a6e9022402024c49752838d386ad04ed2505941f10184218821242484a1e1c387ff40214152230d355682e0416270e2061b71d4c09752e303ba41d010816e100fb04741f9143bd888a306974fb14308783560238e1ab011470d4e4c940f3866a0b2a2e27404c117408028202a22a678c313ec5840102610840e9395060d50527c8e3bd460c10280b000844783e6413061c38c32d8218290103bc270691e04930f02870f1f7b344871384a50820b1015528484846cc08c0504614148488825c8094262b0820495144b677335bbb5869ba4c8110414352c96e6414059d787116024a5be6f3d627b9852f686d2a3cd718f392e2718f9456a6d6613b5462b1932f5456234dc9a66dd99f2ca1f26252a163b8cce31d28b74ae21ab6aa5f4346482fc40690481c1091b160b2fd233de3947d330cf7fdf455aac6dd45ae36adc201cd145628b584fb159d726622ed26234a69573b24a660617c95c7eb7d7d5bdaacfc82d12eb65a81a4b37faddd0882dd2e1a9e6ae34b8502af406c91a242d2091e30d9218a815c50273a816e94ee35e5454478be4ebd61dffa58ad67f97a8a816a0f02cd2ae6dba905debaa465fc2078453470a8a0d2c4cc5e4c711c5882c52f3373a8a14eae366a2fc899158e8e95789941e7660918e11f51f578ca15af68ae44b174b54c3ccf1725d91b0f9a379c5af589e51378cb422212bf568173b51e57a56246310faf65fce7031ab55a4d6d6eb62a759aa22a9a33fd8ce996e63d6a622ade9e74cb59a23d2b35091b8f1fe8eba6b5d3c798ae4bdce1935a9dc2094d6a648784c26d3367bd82ec3257cea0224c889721f4ced182945e273c759cd617eee7096f01d2912f26b7e1a295b46af4345ad5c4ccac82852ba6baefa59e8bf2b4bf8501adf31228a84ac616b2c592d6b6ab5502466146b8dc99b87cbad6f1801457ab3186fbd51aa65907f2219a494329c6731f3f9f5447aa5fc77ab72ad6cc6555007239d480b35cbd66ece2b6cdb9c48edf778b7bff237aacef56e2221b38e3186779c4819d36018d1c459cc482612e2697750439cd8888c2e9848a8cdcdf19b76a6b106327289b4d4abc94d7754c277711f749c98a85cda89ab1c1661c412a91b9d2a73f77aac3288baa8986425d2a2f47fd6a95043886438618412295fa5a32bc6f69451aa844f5052fc2406164bdf1e3146269194f1662e86569a7ee6a3995c4e50d88d9318582c2a75a0a0948830624412696563478a6dff6d2beb8bc8184622918ed1c3fa1cf76dcf06c5310289641cdf1143a731a3c3ea11a9b935f4e6b7aaec7d4af82e2a262b88114724ddb66d95393e069f7923d25a68ce34856c7619c612be1890ac4142b20689c54222471b24ce2c168be5e0210310238c48bbfd87f6d5187567b71791ccd2d54c1be2ffa1b51491100d634e94e75bfda41a461291cc618ca9b5cc72f3e223225debe2c3d8dcb6295f257c3e94c53272888414eae361076933a8d019460c91f2b03deeb64ecfea62dd859142a493acb57fc7eb86e61ae2c2082192f1869ae2c4f45eed74091fcaca65c5552e9d6cae8d0c22b1cda68c1a3a2b919d478248671039d9624c9fa9a348d620e94122c71b24168bb9cb95612410e9d9396d7f93febff40191f6d679feed5c7f48e9d8b435b355ea9b2d3f24b45677a5da5dcdf054095f9ea704513949786806237d4808611f529fb76fcc3a1f5253cfab8f7a22b55833254c839318e0e5f5fa60640f2955b9d9e773ce555d7c25c8f942237a703666b1bf83e879488850e3df5dcc98dfb6e746f090fae442eb5fdbf7ffce4a90bc1bb943eac3bd8ec966a3e8ad306287d47c79722394cdbbdd7a0a10bcbd75c1481dd2fa75a796b33355754687d4eecc5157cabd19aab41385a746620f46e69072611ad48e616a1fd7ddb16282a8881139a486b710438cdd20831ab3582c96bbcbddb162d24c7c288382188943ca46838851f662a37538a4ceeff6bb43d65043ec0d29d92ea59eacfda0f5e586b4d46ac64daf41ecf7bf0de9f0a143d4b81152b3ce86b4c987f29bb6f7d3d6ae212d633785ceb25dde855065440d89e9752fe6acd722dc4e4362b878b1b668d85a8a1d1c7190a841b206491a2470bc41b24146d090d07f33df6dcd7bac64238c9c21dd5188cd30a35ae659878d3848f6fc183143426e65ed585bc7934821318c9421a95d35e8bbf931ed5993212975f667d99d5d793cc330328694cae75d2f99f194713124e54851f9f25b74ba7109df92c8d186b380db0b236148ad5715b24ed43a573b2b276e071892697cd7b9f66c5be782d2500c46be903c1b3a5cb98e52e80d4bf81606235e480a95b6ccf745e79e085d4c1546ba904e0d2e7b2a5af37a2f4285112ea46d64cd6a78215ac656091f4abb3bd782912d2454bf76e7b0b5f4759912becb05d1c7522734b058fa0c235a48ce106aa59abe3ac59f8574d665ae33b277570d0b092142d69235b6cf66f91592672e23335aaa99c1b642ba6ed4da9e53ef798baa900c6a2dd5366388b52a2aa4d350a96dc4ace55ff214d2615bfd8bb93979541f2924d6da6153dcea6a7a452165b61e3b6a8fb3cd291492396c4c430dcde722e613921ed5bf167ffddcbc131242a9f491a737ae9a6b4262acbbb5f6333b4fbfd5386505888f11268c2c21e99d3769b80dd2b6bcb544c56ff4d13151184942ea838af5f965ea3a3e8284d4ea0d1dea5a786cda8f91bc21ffed95c9480d5ac648cc98ec5c6cd0ea562c46ca3fb450b569fc87a7889110f3d5ec1a9fdd73dcc3488b72a1e23a97bdca849176bd97e9d3501a851d8c749cfb7d51b5522d110123e93b3addee2074ebff17290dba7e1fc6d4953bfb221d9687315b325bd4ef45da9688f99fe64c15dbf2c22c428d4c22849617f92852679d61af14ca3e73257c248d8390f860248b83905c10aa5ce038bb9a08327691fa555bb4f65b75913e97b7de5ab948aed95c5b1be19d3cb848ad7d98f36995e77a798be406b144ae509fe5c56c911442e3a8d79be947eb505e5714ca8a5a83c40d1239de2001a26060b100513fb00964d42269ae3bd5fdde904fd98ad3e16d582c168bc562c90219b448e88f293ce6557bbafef8e10622323641c62cd2ae52a8acaf6d9ebb268ba4a76953b37dceb2cf8c45fa5bb3f2d31cf43f071649dd91e3ee1a65b877af488857bb51853c65e572e740ee90434fa41364b822b586672df52a55de69d68ad4d0a769ab193f8899cd8ab4d6a2514d1b8f52b56815496fd12e93ddceffe2aa22edffa3858edd62fe76d481761464a4221d5c8d94328a61df1f54a4b690417cd3ca718f69a7482d334fdd41b4f0d52f53a43dedcff15366181bec52243da4b8dbdf3a2adb39257c76d4a15783171c24a312649022213ba3ce6c3e62ead84791d6b18354cbd5655c518b22b162eb4bd5590d538b429118af35faaa76dd6d2f2812b3590d592e3cab11df2712db5eada9d60b21b4ce34e25b115f90e189748f9a4811b92d37ed9d487cdfd6334b94ec6a1727d2c2f5ebfecd7a6f6a7613491bebc3f86d1d530baf84cfe96825eca090a189c4f88d79d42bfff4926522355c568467981e4c5f9848abf542677421a50a197489f46f4c7356bc4a5122b74462ad712de259a570772b917e31427ea4ddd42e859448888c4c5b7a9ca5615c93487df874a2bdb356274292488d91f7d93f4ad1b4bd482476e99adf8ab15e0c4122356a0755a395fbdfa73d22bdfaf7b2f4e4c3ed88a4bcb176f4dc8fb3d3dd88d46a8f6abece52889d322312f3b266187fde6dcbb388848c1d73501f849de8a82252ebea212e46f68f2b1391502964f37aec4f6b0c1191faac76d4b6af0e437488d4674d53ae942bf73f57c247c789894a4a10e629173a5a6a813932906188c4f47929e3f7cb72d7bb8f734e462192eadf5cccfc1b9f6a2ce1bb5c0eeb2083100935bc5ebf73cc1b6354099f0fe52b2a973a7c04597b2472b421c71b246a347a4339d12763108997b1f56a90bbf9655a099f4a0acaca2508267f99128357fe460d48d6207901c91a242b416060b1a4781d29eac77b1cde507a582cde504e2c168b2508269fe78e0c28902188848731ec5fda477dfb0722651ff5dd6e6657ce8e19e4f498e3a2c80044427dd0ff1fd47ca14d66b1582c37383de6b85cc8f8c3696d64dd6d3da888b1f7ba293586e1ba6d68b3846f0fb6c0624149494940548e9740861f92ae5bb4ca18f4e7965b1f52aae67ca7ad398990a91a64f021f1b6b66af89ea73dbf0ac8d843527f6b370d4b56c4daeb21b1c765e670912e449c8784fa1fadc6daf1b6fc283c245df38baebfd19f21ba4352eedfe7f4a0f3a3da858e13139520796d906187b4b7773075d99c86bd7548ec70536c98ebd2864de9908eb76cfce8cdf25721197348c82cae533f771695a29c5ce4909235d3f9b8ccf7698f43f2b3d479e9df337cf57048cc2c66e7679221d3d4bf21f131bb0ecdda34a8a17743cad667bc2984be0d29cf65aa4168a9c3cbcf86d4be552fbb476b1133bf86b46aa5b25fe7a03badb91a52e3f786b95435d3b6791ad2699fee473183faa07234a45d37eb985678ce908e2fa23e878eae43ec6648ece6bb171b3ae8a8f53224cecc569fbdd4b3562743fad6c7f64c33cbb0d1c790d0dc62cbbc77f9bf7131a4ee73cd9a3263cdc87818526b8eaeadb50aad34ad812131c7b5ba9ba7d08fb52fa43f94ba8d746dcbefe685c448a15c86d12d6bdbad0b491bae326dd41c3b0d1b17d23187a84fdb53ec24b62d2457f8cf8eb585f4d8342da4677dd6793ebdc8b0695948d9b7facc6e312ca4fb74552795b7ca677685c4b0f927ca47a8101e6685d48e8c56f335b35dc7aa90b0bd3989a7ab6153bfa8900e9f867fec7af5bfad29a4437e50256253e5482d292466e5fe5d5d2a59f78a42d273e85b7fdbfce368910185f4adb5c6970d21f68716194f48bc708fd1350617672b329c908cd17df3dc9f7a1e29329a90d65aa77735edf6535564302199c7954a35aa5f3254642c21f1fe517c56a263d67f93a184c45edbef59d7f23bbfc94842422877973b1b43eedb64202135da3dccdc54aed6b68f91ce1883b7c75371b26963a47c44ac59262353e78b911c5b6b7f8efd319a0c11239de5df2ed3b4aa360c0d2319d6fa985b8d9a61d848186961fa2e96881d841aa160a4d4d53fe5e3c69c57048c6410616bac3bb33d15fd222de223f7c6ccb0338a7c910ceba55c99b5ee6c11f522a5699fe79b528a781de245ba6d3dc6d7ef62a7f8bb48c894d164ad320d37675da4efd5c3d648ad41a83917a9b1fca6b20fd3f862c645ea477f459c68fdd6f02d121a5eca206ecd952a5a5b24a38faa98befa4b375b8bb41edd9d62bffa4efaa14532adaed5bf625ea87d6691903a86d838fa730ae991455276f808a94d631ef1c4223183ab0ed741e64d2a8545eab36819d5d657a4864c973db6d27437ea8aa4b831c36ead633baf6c453a871db772948fb63b599150b2e3eb5ca7afc63457918e5a6af5a641669065aa2231ef5c9fe61b8f9bc954a493aa7bd0b3f92e44888a74dbead9d1bb428a0e9e22ad839029639d688ab40a8f42cc4576f0562992e13cacac35b6dcd5a448aad90e216dbcae2d1e4562f5aa19661a5bad5951a47c3e8bfcd5628cc85c28d223357ad41b75da9e07453aaccfc9da49fd95ed13e9dc6b9f65c6f835639e48caf82fd2c6ce42c7b8132906297a46bb6291d4a9bb8245dad4c73b3ddedaefae57a47367d12ddfb61ed959ae48b9871b2166b9d8e959ad480bb56c663d6a8db1cac58ae4dbce6ae71c9936e75a457257bde76db1468673a922ddbe276b1a868d06572a12c3c30c5363942d6cb75091b2b1dcd69ed7c9f4d52992fff253b67a3d135f99223132c5d0a1e5a5484cb3973bfd2cd3d7489174699efac3eb91b3358ac48c1f53bf902ab35aa248ab2966cd7e76b7ed0a45524f36cd55ffbe690a14694f6334d89a89dffd8974cdd762c9d6cade863c91f8d0324d292e4c54a81309993c8e88ad378f9c1527d275f7b3e27fa694596d22a9f1cc6f9c6bd7faa33491745bfd6175c8a0fea332910ce339674da33e8ca930911a2eff96aa6d2afb539748aa59295f6d64bcb1539648e6a8627e786721edaf446a46a8a9f23257769e1289cde169271f76a73f8974df6b58322f49243767bc2dbe3aebce2391100fde9d39d5fa178344e2bcc6d3ba5643b5ec118929f2dff64ba531473922b13c9cadf69b31b8dd887408b95257d41473d38c48475ba9e2c5bf8884ab157d9361b775902212e2d97766985ad79f88f4cfcaa7b1f5b01922126fe73ad6fb35af0e91dc3494cf34f359b52152439b77d651dbba780b91ce513e455497b767099110cbb5d41c3c3d88b4db77902943e6536d41a473eb8c7eb2ec40245d8f0ef2652d97c16c40a46b66bb9532bcd038f61f92599ddfe628eb3dc3f643f243b97ccdcc9985b0fb904e8f52d35429ffe6a6f990b21dfa29b667119ee93da4a6f01453940cf1fdf590169ac6b073b3ddb2cf436a6df897aee321e9497574512ef652ed0e49f9c1a3e8a039bf1ab343f23eaeefacbd2233ac0e8939efe1c3cb9942c3e89018428ee88ff196e86b0e8929c39ecc46f58e5a72482b4fa562c5ba8772c5211d846d98b5ab9e830b0ec9df3026c3e783aafa0d2975d7ea9d6aa6b585dc90ccaed5dc987ab656a336a4a68b9e8f506b6410624332ba1ae1417e1617d11a121ad75d6f18e91f6535a495b970a933bebaf5a6212972465dadb1e357070d89d7375754697091eb1952b64747dfb42233a4bcd7a6e76ce661a4a80c4935bc445eda2d19159121ad71f5489593f54289c6904ebecaa5a635cc5e88c4900e5a2aef90411486d4ea3efb5743679e0f86b4d2983ebcd02845f85f48799ae131ecc3a8d6bd908eb945e7d023d5bcde859477b6a1cbeddc86ce85d4b6118f21e53b6cb52d24d6ccb273ffe810c3a685f4e68c9b762c6f35d3b290301d21d4501e4c7e8685d4cc41cdde1894c724bb423a7db09bf23f884f5b5648e7192e44469bff73552131ef86561f6e85d98a0a691d3d3f2b75deee7b0ae915628c993fa450754be1b96f69b7a55014d2a142d8b70ca6f22128a4563e7668d46b9fe22724b6679069ac6716313b212d6f7ce9ad25fef2d384a4503264e55c7cb48709e98e3966a3eed7ad35004b4867b5ffe16b9cdd90064009e9d651faab9531a350039084d416ea6dff96d70ccb002021791e457756268f9f3c463aa6afb71a6de3b3d01849a16e6e653f2e464ae5e6c68c3d53f3981869b16c4ccd7a7be5783c8c940db1c6162284569961612436fd88b5e30f46424b513bd6453eb70f8ca4eb8dd1866b757ffe2f1276feb673946fdfbd2fd251cc8f1e6f6f5632eb4562c7a71699750caf5bbc4869aeb96a97c78c31b58b94cddae54155ab8bb41ead5df4339d2cd5e622256b4d1d2a65cc2d428b8b74896dbcf5e2576ad1de2269d3c68e9edd2f3abcb648eb11526af1786b919652fd8f503347f19ea54552d8ee64df73d3bcb3b348ddfabf7b18af3da52b8bd4dcb8e9934dad5e761b8b848baed7b677b66c6e61911cb14e5da6b8dfc6ec2b527b3ab75236c615ba2b52f6dae4e54e54af5a2b923228112e5e96aab8b1223d2a6aac18b13f9eb68aa41429456cee59a36baa48a80735eae36799d752915ccdaa46f7ad3d3b3ba848ded432e71b4bf6a6b1738a84baee57abae57c7ea9822393f9fe3eb30a631ea94227da7ee3ad5bed9617c4891ce62889866e5a3437c4691183776e83295ba423ea248c9de551d223c8dc82714e9ee3b931933e5dff6802229f3778a36954246f77c221955abf41933d78cd9e38964d218755ec4caf0f57422dd9f6d4b5daf61e37a3891ce2f4c64a467ad427a36913697fa536770addc3c9a48eb9a35233673d62f4f2612df9b46a9cef174930713e95032e65c78896410fb2fa68f189ec56389a4ceabed44ada13489a712495befeef963f834c44389a498ac9b07975bf1ce24127fe741270d36346b8e2452e3cc639af9664ceb8f44e2b598aeccb1af631e1249e16d9fd5ba696bcd1f91ee14631f5f8c5e7973446a3f63d4e16d9f52ad1189d19f73881d43e6b73122b5b334cd5ea75f325b44d2374bb1dfe5c83d992212d24689dbea57155a8948caf8fd6ccb3c5eb91091d65d63c6d97c6b84ea10e91ce3762b937f38db102995aaea837b4d21a342a4e3732acf31cadb524488b4cd509d56f9df5cf120d2ef9e5d7a6861b7c38248cdfa2ce665d061450ec461831843fe5f4024655c9139ee9a646bff9012b5bc54cb9cdd86d60f499b0f3b085dbb59bada87740eaf6fbf7a7ba559e543eb3d678df91e92aee9867c2e917b1d3d24d5e563acd6ef1b6b1ed22d3bb4be8d42a83ff19090ba6b4897ab31e6ef90ee1b9963bc9bd1a3ec90d0bbf1acecf36716eb90da1715f99bc33c950e6961afa3c698889b399d43d2456611611ea61e5f0e69d9628dab2a0d2a8b43eaa64735f7723824cf663df5e36f48f8ae14cacb6690f9e686744e293579b758b1b136a4d336cff0f1e531656c488d171df6bd6d71f35a43bad69ca9b34277185b0de92053ad99f6f569bc6948ebce19aea687ef9c45435aad9d3f99788ccdcf19d26dbfd9bffb5b78c70ce9b4e2656b11caa354cb90b4db4f63acfdafa94986f46aff17e322cdfbcc3124c6141b3fad26b30fa6189272a5722935c81442cc3024f389dd0699738eb34b3024d54c793bc8bf9098c1f39e67a59bb55e487ade5b97f1b59a9fc92e24b4d0693c6c0e29f55c486e4ca333df76e3b585d4aab9623bc3d4c3af8584679639fac8b98c672129d25e8c5037c3d95848e8909fca5cbf425226772d96ac5921ddaf7d63ce1735c6ad0a89f5d15173adea2ea342422a9b213f8decde6b0ae991697bcdeff9a42e2924f57b542a424b99b62a0ae91497428b31f3ab7943211d4d6696eaaabd2a7a424a3d48ade5a869d02127a4368fa89736834e3a37211d5f7d63863113522e552ab99d4db3b884f4bebc987b53c6f45609a919c69c51a26cad9c49488794d1c30c373ae600404252eb38e3e58a788cc40e32bd3a97d3383b3446429c47d16da3df6e068b913211424b29f3c6c80c12e39ed9202ef6c3488bc7a4f351a678ce0b23f5ba5c5cd6d3e6edc148acdabdb356ec47bd0123e5772bde5c8898d1f68b74fa78eab931b5b97c915af514bac75b56ca7a911e31868e5bb7aa338c17a9979d46cb08156a5dbb48a74c7ee3d76dab66e9222d3f788a1d3d8cd0ca456a8ad0a0e578f851e122a979867d8a95abaeba45d2f4c576bdeb83a76c910cf3646831c4903ad7b548ab9052d82a0d327a4d8be4071b4a7fc6736bcd229db6a254cc549a2c8be4c7277ba1bf3e3c281669f5234506d53a6e10c1221d848c1f47e67b45ca63a8d97f538efef0b92231a6a33fb4db8a64bea571b41273152d2b12b2a579e907f93abab78ac4a92699baaef3fd39552434f8ceddcea86aeb2e15c920653df4c61c677e54a4f68aad99337fafe64f91d2e8fa66663553a43ead65afe7a51633568ac4da943186b88c3665a430c711ea75dbd628d26166a58bd7d762a64491d4f81e84abf89c970a457a65d45b738322353fe4aca80feb419f480adb28567b9aecacf244528310f33199cb8b75229dabb27b2fe64442cc878d62cda0eada44eaef666ed5dc18479a48ae8db0b7db9f62663391d499c56346597a364c24d5a57035d5677ed52552363edc55c8d7275b222d1e5fb4864d9e6b251226a334e6f9f9d21c4a24a37c8c5bf1d73fea24527bec3feb88bf4a492219e6d60aa51eb34c311289a1668e2523d59abb313c2071011e8f50b9c3ebc0000f4734020d1e8c68008f45448087224c80a421011e89a8000f442c80c7210cd1001e85f8018303f02084e131081f3ed41a3c04d1011e81b8980049030e347800825580c71f4c80a481011e7e383cfa40c2830f0ae0b1073d4c80471e2e2640d2f0a5d468000f3c7480c71d100f3bb408f0a8838a9b980049a30d0bf0a08309903430c0630e728480871ce2a082060f384c80c71b2e14e0e18604f068430378b041013cd640001e6a48473584aef53bd711db0a3cd290942e67566d0ff2424d4981071a125356c9ccca1177a17686d48ee661fbe36dd5f5a5a1c0c30c698d39b7fc7f3eefb8511e654898dfd0cdfaaf66a775093b5129eb0e093cc89016ae3b450a5d571e374991a3c71c97151e63484773153397dcad693b257c28292cb05880a0a4348b45c562e931c7e5848718523bccd0618ab5d2537c4af8502e1c8685b6b55e880d2d54ead23de00186e47f66b9b6c594b2c916031e5f486a21a58775b7d52472b461e931c7a5083cbc90be59b579e3c97ed40b78742139dacb458a1732f26d57c2830bc919b9399ecbee7667257ce7021e5b48c81321dc75a84e154f0b49d92a37ce0b9715aba01df0c842523eead6a18678ce318785846d0edeee3af56ca9b58bc71512376acc27cd3b52fe6d8594dc1052fb99872975f0de5083056e92220732e151858472116e63be6874611becc1830aa921a3d0726f55b6d8981320a05cbca19c1c37784c21ede1a3460f6eb6e1c552487fcd97a3def9e6d7dd784421b535a9cbd9d88d7e0a8a89b6800714d22f6e4c9dfdde1db3122fd9e0f184b4e7d93aab0c43b7ec74a49ba4c8a11ee0e184849a9e6b85eb8ee734b2581019783421297c75eeee10b51f84257c77a4ac9c1b9635ee4891c362b9636ec75d73f614ee31c74524103c9890dae623bf661a97496c68b100f9f1468f392e74f05842d244e820d4bbd6cda62b0d50564edc80838712124ba4ff67f1da669aab7924212134bc9e8956e2193cbd6e8307129259c50edb1986add8ad840f88fa9167e41889a195c9d84c2286ccdb6b0c96a816f759f92db3d131528ca487ce316ed40cfd41b558800051168b2fb5d66881c5d2b1182146625ce71bc2fd6d7665168bc562b1b4026264186931bf1ddff456b81406f1a16a80b20e23c248dfd02f75ca46fb9a7d099b1a34941e96c6c24830d269f63b017c48da0cbd5aed18748f08ed21a9635ae9b6f3c69329d643327f8a7da3bdd30a97f390dabe631bcc7bc4662d1e9239a730d9765baa3ef70ea93d3e73766fb6edbab54352fe0797296b76f4e8a9435278d8422acf5d6bca1c3a24c555accf2db51ba2ce21f95ac9be289741a52ae590b2e563735d8d436aeef8dc88ea93f3e190501da2e3759ec77cdf901c611b3f0c3d3b47ddb921e951b4141dbe69d4dd86f4ac26f91a9e93e6b0212d9e716f47d7a0e18c3524b5ead7a8d0d5904eb22b6aaea8196486a521b179868e324bf5e21d1998e10c34a437de14b1f5b2b6545bc277712198e00a4a0d107170c61992f27665cc46cf9852b36038c30ca9f1e96e8b318548e47883c462294342e7b47554a3be65f86409df2531e338830c491f7153b4aca9628b3e8664fcda1ff3b59a3e422d089013930b90202bae82e80c31a4350a59b5eafc93bfb4844f0565e58ecf08436aadd31bb576a316e2074362cc1652753eddd9b57d21b5b23ae9cd9ba6212a2fa4a3c657f790af86d0d92ea4ef3fdaa79d5fc8db395c489dbdd41d7490d23b52564e92c5f28933b690b615757bd4ce12df9f371267682121d5c4dbd5a8678f71165277f72bee8394199b6cc3195848cc303dfa6a2ddcd5a6d870c615d2f9bb4b44c49afa346e8584b4117fbb2d420671a7e18c2a24efe3cf3bc77a21aa97f0a10dcea042ba7388573b5eea94a697f05dbc0f0dce98425a9646b566aa32e8f0fac2195238ec10eb3d674421396af6e954be3652503a0b674021e1752fd5105b4ffb3f2131fac39cedd48f3d7342d26dadd793fb9b908e39b3daff95d37c3e13526b83e8cbcc5f6bbf3f630909d775b767ea89d83a7e8612d251eca8fa768dad9bd6ce484232e888eddc7663c49c9d8184847a7965a274d6c8ce8e914caa450b2df4aa1763cc1849d9ad41e87cfd32c7ac18e996e9332a3eb48a7e1123a935079b7dae358c841451f36bdfdad6e11246ea5f66aa147285acdec1488970a9756a17535cdac048bef8d3f795fa45d24d45bd967eff1df245da3387b5e3873133caa817e9593be874f32885ee302f1243afe7edacea977f1749e57285146286d6bad645e243db4c29a36f4c512ed29a754e3f32c3d6305c5ca4fb86501ebc7585cedf22297267c30a6d5f33b345527d673e6db569db558bf4ab31edd32bfd1e295a24849bed20c60c5adbd099455aa7352f557f6beb974552cc9761eb655e6953b1484bb175a587b43d6ec22239b6f933cd4e1fed7b45ea83ce41ce9c0ca166d415e9985378922994aaadb722f9c15f6be1af6445724c767025ef2ad2a1ef59dfeb906a4655915af1e953e807cf72a622a952a50da16f5de6a848afd77893effc6ac33c455a95f8c8345d4791bd29522fc66cecd565fe7929d2fe2f5a6f86fa143752a463d45f43a914e33e368a840a35fb61c65fed2351247568194437ba4e9d50a485cc5525a363bda8a048cd9cdda9b8a166167e223dfb3a8ab54bc4101bf4443afccd28eade6da4dd89d492751e94a6b9e12b271227ff59b410cbc30b6f13291b3b75ae783159cf6822351b75ae18ab32d7ea33911a5fa2657c55c4ae5ac910ccc0445286546b6c31e54ba46544dde97bce7964be0d332c9154276a7e5bb90af72a9194db71236dcfd96dd6552891d822a4b05bf3a376ec27a1dab6d3cb705f126929b7bdd69b89bac8239194e137c8bca1dcfcd52091124f75db6e98ed4cb247a4478c8e90729a5545e5888427d5f27abf3c6e4e3522bd2ee2a1a2f943d66644e2de7734e7fcdd72e64524de35cd9bbba537fb554472f53c6caf54d3f3de4424856f4cb6f6bc94db1f442495686daa468e7c4ecf2152dffeb3549ff8794c9b3848d6203132205983c4c04102c71b243e80fc30d933c310a955434757cb3b8548acae4e7e33a5f23b951069f3fe541bd37cad5a83488acfead6a5566336978248ed8da6ea4dd36e2d8641800422b12a46741ef5fd701d104961b783546ba4541fd91f52b3666f76d4b163f8ec8774502feb6a26b70f89a95d2d9b518cd9baa67c488bbc8a1db3bc63baf690d4a1654db134aa506dea21fd39a4d0d77c639bce435ae61435758768ba150fc9953a7cb8b1bb3ba4d5758dcd2ee383e74d10ccb043c25d4c6dec6fadcbf43a2495ecaa580f391d122b4bc59862c720649acd21adc5bb66965db3be5c7248f799b786f9af3be6a83824b50bb16455bbcca3ca6e27980187e4bc875619d496b17b43f2bf3f5ecb0ad19ad36e48ccdfaa3297e1678f501b12ca6ca899c77c76708f0d89e5dd7a229fe9b5d494f0f98a5a09f2630de99cfb9b654e6387ddae86d4fa6c3b42e3cc39fb945cee48594943baf5dff7b6eb17e96e091fc91a24291e4406246b90ac41120493f71438f678101fca8ea3e240ee58399c4830030d09bdb73944ad8df973eb0ce9acc387fba865121366982131969dfbebac9da577f848e4688304cd2843c2df73efa68cb7bbb66c30830c69133154889dff676799c562b1a85cee54cca123cc184372f67cc314e3255abe6248ecf298de9d65cc8f340c4957a352b7bdbcc63fc190f238535fcc9562f828bf905873be95cf7e25422abd90fcf8b3cb437b9299695d489f8aa95c889c71213586fd78ce33aa69cc2da4dda5c6573373325f550b898f354ba68cce0ecdca4252b5ce61689afac5ab1f0b49d72ed3d97ee939c6e80ae972793256bee70d626f85a46bfff87aa3ac4272ddd56631ab62f94b5121659fb276a72db63b3485848e5af352669cb1c5d60866482175f3a68d148f9bb63c0a299b19f3cacf1ba39a7a28a4c6cb9e21d5ddbaceb5194f48aa1bf1b9c6da20e6df2e98e18474b98e516363f6d8b7b45812cd68426254a777c797226652cd60425a2a91b16d5ccb32d19ab18474febaa794397edc17437798a184d4ec86a99ad610e73d9a9184d44cdb3353cd8e8b6aa18a194848e879e9356775c8abbf8c63a45fbdf8ca95a1bfd6c618c930c35619edfbeead2a4672dcf655a8cdc4480a51ad6b6d108791be9fd7f96dcb56b11a61a43e75a6ac4b6d2aab062361ab32a38eecf7ce2b602484942dc3781d47eabbbf48d8474f1e7b444afd9c2f9262ab0f3e1eb39f47d88bb4cc317bad77ac65aee145ead756cb34113a5eed7791983acbfb103e5a83640d744719ba48bd3ebb976b437c4cab123e3d2d4219b948cbb84a8458d939aade4bf850903270911ae36bd3d83cbbe37455b158527efcb058727f50c62dd2bff2757878b5bd4ff3c61a2472fc8081662bc31609a157cb91f62dbd765bc2a7e27628f7d1972b28a316e90c63c7175be7acb9b6b448aab22dc68c5287aa7da70a65cc2221672e3a53dd52294f59a447f6aaf5a16aa8d03f4aa18c58a485f07c17a3c554af79582457fabfb79441a816ab52a18c57a495bf581315731eda774532f8a9ae19b55a69904278f884325a917af5cd5eb76ee8bc5aac487c8894b2c53ed72935baab489abac6a4723e84aba9229dc3dad2936dced26d948ae47cbec7aadbde2b4f54a4458e8eab7ddbed4d768ab4ca2894ccccdca749b417c494618a74a9aba7898cd9e72f4552fd6c6a9471d4574e8a64f4f8723dc74791de71a1c6f8dcea34268aa4cdae0dc2c5f628b542917c315c8af0d034d60b14691bc285f018598dab4fa4f5acf171e2f6da569e48ee9bad1d353ff5ab3b91ae353aa8a94d1d637322f922368654b152fa6813c9572bf4e6c62ce7833491b475d7aac3ae6e106522dddd254334b8ac15632231529a874f1af3acf912492d5f5474ed5fc86c8994ea78a93a4a91dd6f25d25aede8c1e3e7afd9a144fac594e2ae65ceae6712a921b3aef7a72412ab32ed1cd4280db78c4442cecf98281b525e0989c43e1122472aff11a95db539d363766af31d91ce697e8f6bb123defc46a47be46673f1afe3279f11099bab630ecdb7d7cc5f4462a8e52e5bde2bfff21591ee99d59c43edfa117e22d2a9fabe5a67f9d8dc2322994d7cb5d0ecc16ff38748eba8ff7fe51b22a1a36c19c5773035bf10898d59b872b5557a9613227db344e388d042ce3688b4146366e7b8f6f599209261e7cd33a59aad2f168874da6df3692b34ae18209252ab47dfb0fb86dafa437a46e4c9a9b99462e587f4acfc9f2d267263541fd2fa7a7e7bd43eef9b0f4931b347ccfe3423f71ed25146cb942bb3165aa487b4daf0f61bffc377ce43caedc3d3b021a59a331ed2eaff83f68f69c830be43ba4d5c96fa6b8774e61863ab142f67de3aa4b66fda2e6c9d7cb7744848bb111ec62a95da3387949cc7fefbb431f52a87849035d34cbec62129b60c22b54d9da25238a45febde8ebb296458be216d4b35cba8a6bb21a1bd7672b5ee47c7d1db90f8fd3455467436a47b3768e1c1c59862e76b48a77c115b5f3d8eceb81a126bdd96991b63546b9f8664582d74658dd4af646848aacc1cf583349d297586e4cb245eafa570a955cd0c491b52bfdb47b45c552b435aaddf6c33cced685423433a469db7631d43ea863e4fef6643ec5a0c09f5a13e75265db985211dd3fefe597bd6d760489ec8e0b337c79689be90961af676ce155aab7921a936e7daac1a56d9dc85a43699d7c9470b695b2ea4b52dd19e36482985ba85f4ed9cd65fffd98cd242fab6da4178f09a15330ba9f132deda7c19f5432ca4ffb3ed16bbb54e5e21a56947d7d17794b86785e4479d657c75fc6833ad0a698f2a5267b79265a3423a6819e5998c5b9e3385748bb555dcf89c96fa52487d6ee9f63a2f230ae91cf64669949fd66f6540219d59b65a732233a75b194f48ed9c4daebed55c4f2bc309e99c7d35bfefb9ea59194d4888e5af3abb7e44c4ca6042420c31d53486215bbeca5842324c2dddd34c5bc35c652821f96b5388dcd92ba4aa8c24a45fa9d20ffddea7aa329090dafc59549d66539d3a46627cc3ecfd8ff1bf364662cfecda7ef3e1422e465a66511d84ca3cef2f2346326ad44f7b5de7872d1b4662c6143b99fa83a7970923edf3b552b46b35fbc3829118a36e2b957e2384ca80911832b97f8a998f19d92f12ab5e0c3196eda7d9315fa447cfeb9aafcefc3ad68ba47c5ad73ef69bde63bc484611326b5dbb9d75c77691d8f97ffb5caf8bc4c6d1fb9a6bfccc3d17c93f7d6daaa5981b6cb84807d741f8cdd9d9a5d42d12cafbe58ba1f5bd46d922b9f26fbb33ef67a1ae45ea66168d2fc3b6e5352d12538c569abbd447c5b348addbdd652fb698a15db248ccc6155a018f4ba8b46bca84f2481c0c050281300000062e5fb413a315003020201a9006835996c7b15e0f140004405c646a38261c1c8b040371301c068302813028100602c000400008060302a10025a6683e165c7a40d383480fd0f4e0d2039a1e447a809e07571e848e7f6c6f397b51f1631a21448288f68f2e401cad474eab28248a6c51f78fdcd4b6961b297ab74c4786ba314fe51accdd4669e99dc96903f013b2ed639ac62635b8e73521478e2061555eb05c567dc58df2f3cc4146069244b35369ae6760bb60ed8309a44e36e0a2cedfbc594903095bdcb8d8630f7f4437b48ed9513de681dd4c300729c858ad580bf972e01acb695d28df7035c5ae415cfbde67d119b1b41f567770d34492db18a1c5880b4674185f7c6cf43abe1a2d876ce7c9cc999f3eaf9dfbd00e6452db667cd2fad476aba3870a13a45433d2d47cc2a6bcf6628415737e88af4b0fa607103e6ff8c883035694d31fb43eeb84a9054a2bec29419b6e519588f33daa539498f493cf5c15054171dac50d76750c4dbcfe65e68e199f066325970d5ba9da7b54df7f987486c02eaabb5d1f79ddce5eae6a26938fd30bec658f5be937ef29a7432e2b4868beb032ac2acac9804e66ef154e22a8e3d75880a9b7beca918018bdcba3b0da2092c99789ea329657f8af5429b965007ea232cf0698e6624f8dac47998f23be57e32613c802e35b466392aaf89faaeff97a896e950648baa28c0890a83d622d85956893722b69ffd1b2b30e94962435527a3875e5ab7e48fcae56a63e4b95277ad52fd53aa5c6f4a5b2baaaa97ca4964f6aaa8f2a0b5555cad729eb5520b5409e0fe114065f5bbf53a7daa8944c3d58b44ce52aceabad0af9d51b45df55a6e24eed9890a95e29ea03f402fcf7f21eb4400fa6406225504476b52f7614a933231d10f01d68293fcb92f7b31ec29f07d8bf21201f66fbe7dd93b1354387b9608461f619d74c08c6b599775b4cd0cc3653b7a5de03820c83c0cc41c4e7583eccc6fe12c687105c7e9ec1d993f490e4e3700d1fe5c5cb1778c4641c37b01de7fcf7c05fbf01e698980c350e536ef69fc50ac375a3efb8d98079aafdf872d355238a8cdfe7bd6a0a46030da8ee4d501df486c6fbf6e6799886fc13a6f4b0808e6045cb71ee1b6971b787e701a65f1b439bef40e1364418c2e290db791ee8298f52c20629ec46a49ebb1caf30539d5ea50a347934156cfd3483330cc16342fd5dc5535777f89fc13440823f7375c07e6af9aa08db2014b23004d9ff882fde6f790e913c48532e79882513f85a72033ccc43788ebbe2d875fc3594d29290df3445192db65c77e5871fd6f3d0f2ca81ea0b5349df96951e2a430924140b529d8357708565738eb5ee458472e305d5f5a858fb0607b299ce4f324021280d040e178da03a54ac3acc959862fb388411195835ac0ef30d5bc2d460f9f09921f462f90f469dcdbb46a07a15f6ccc111a10205281ac2a53c18446afe5cfdd2c51a806a426f3bdbadff20786b8cb819f25832841b971cc09e46f8a6bad6ceb06cb5430119aac8026f92807341746ce720dcf35f2d8d5ee1accf17bd134fd9713e3bd51c3a873747cd41e77872a8f2f9b7ca3928244d5be868a1b5b0f09bc7b5c6ddf7dd1cbe65e7e3ebca80ee3f7bfa1e826fcd39bc82a675a73c4cb59863c900e1ee51231de861a85b2ded2153714f72c4b91abf3591a5c18476c3817ee01bce3f57f1fe4c6f565b42021abf718a68422b433a47b25eb390f67a0809c1dd0016514fa18f22dcc3d893ff234416783dd80f87617fc500a014244f59471e046d9de36ed0a3ea3e0f640d6ba0da0798ff1b7db0a9d40676713c7e6c193368013f9ecf754502606eb47227770bbc1b357c875b72718c992e6bd43200fea2efe1cc4771b1c770d7a370a1637fdfd1bbc8b1bfeba83dc3521cd67b7dc9af8c27e81ce1c9b421442a92929ee44947f251566a0e8df2fb2f1dd2d5eee79ecfe5be477341c770d7a370a1637fdfa15e331b28af275b57bbbdf31cfd352c9dcf38b057b9f7bb488a420a7c13262b41a238e907444db33a76cb695b8190e9ad15505cb0b4619f558682ecfcb1e774b9efd958503adcf5676b43e64a37b4c907630a195bd681a4503e91098168e2456e62268fe80eea58cc244a8211133944411062279b484195ac71beaaaffc30e77f5c677d9c531b00c12c8228bb4d0853d532a71d1d9184e8d421742a1396de88be125234b3e444cc29a7f92aa7f69af3748f736a2fd952945ce9222b0a959bfbcf757bf484035eba23bac4b9de873b9dfb7f3ba801fae17998313a701705f2f4dce045b6d313b0d17a8804e9129e861395fa48918aa4a46779bf9c7601e942d684c4110efb1ec7f90ec77b8b037a07c7bafd03bbbbe3dcfe015daecfec97bb26ddc98f5ef442335e7360a732d3a6b8eefc3cb77f42777d9e5b3fa13b3bcf2d9fc8dd9e3ba3974e329f66e73be7771dfd8b1d3b3d444f6162707f6a1fd1f7ee6fa50f3a511c103dbb742cb13adfb53be7ee5fe8dcfaccb8dc37019d7cd445167ae35505efabcb5dc9414d64100dc189793947e900c7f40c476550622597a808444ce4101d8188857ca2213831934bd408501199337a42f0ec430ef4103d8517c3bd8fe2828fe1be4771a1c7e0aea37fb16377cfd1bfd0d175665b80c5607c9ff3b53bd12d88536ffafc74f9cff61ca68a01d2647d54ad10a3bd54a0a3e893d2d5e6b82fa0ba758e708aaf38bff738a77738ab8b3f37fbc88e62e446f9463bb2e3eb59d02b5ee91f7729ce2e887ea192967b762b2ed9bcfebc6d0fcd11ceebfcafed7c5773f0577366758364da62ddf275cf6d8e9952fb047b243ebad17e3dd63d5e6314ce7535077d2c664e9a833d96331905822683b38efec18c1d3a49ff006211ade5de12a2cb5ef4efa892596764233a51abd4dceb1e5635361ee0f40ea66197b36e19c9d92e5edd1c85cc89b2c7bafc98bf08fcaea1e03fb92c1a59308e5019762c164eca98024c3863e64150153aaf1dddf2741e1ab70d976fe923b3ab2e86b1cbc1087cc6f6eac3f684d2436579d73fe4bf2999bb440cf00e5a770f69c459cbd1504597dc0c16246e2ce0b4f1ee42153af0ea5612aa688070ec417c18afff94c9d57a2af42c2a1ac85be924e034552ab467355a45a9a9509fa78a57e95e708b9a4e3d422af1de4ee97945ae06814b3659c0adf032beb722fe8d8b06de4e4e54746c1bfb2169669818d2a9dc98d0ab8d060d7b23da4ad893d4e589641215ddb79244b3eed7535a0f52d1888a4e071f97041a710f35283910ae992c8e30c98399663c909a15a1c5da02871e8145100dfab44285b65873ba2b9eda5d7e3d14d4aeb034a8682e23f97794ca794981c2151250504cd371360a338301158dd2ba7114c00fab881f55b142b74c3ac2271266f086ec9fa23b4a7c470250d00ead7444d334a64d37881200d9eeb496dec3e324b334a1dbd68a43ea9e5a805ac6f6975805a872b41e060754891f2bd48e8639b11e2609b1485b3ba612271d9c898b09ce5ae24c432df757bdaa9636bd39980e0b0171ba574b267d25fafa0a9c5d26135595a98165f1cd42a9043f2b94e31b295419c0d8db2c70157816042d2304fffbf111b04d8e804ad1370312af0fb1f46015e7f2448e1f09eb2990d2d516bdb7ccf5ba8f30a3de03ed2d50d3c44b8a2ea0f7b63940dc6fede5d94d6966cc1d35e8f71ae93a6a0009dcdb4cd33d03b8bcdc6472deda90b0dd6858bf6a8a8283c6bab16c2eec914eb9e004479e4b5b1ea2c1afdd4847e6d9ec3b0172f8439a3d75272a3f67622bac0909cd330cb4724daad8a7ee289a2bfcdae8014443185b8c2b91a8ba9c0a21e7e57783233df14b233d962bf05a2d4d182c9e1d5879a4afddb85749049abdcd25f8923a4083522c4d982e557d825055144d957e19be7232c226c0807703972504b2bb1900f4b7258130f66f583f693541bba1ff5505a2a35cebd7969ecb132a14bc65991a31bc8f46ca2818cae68e589843d5c92ad72a89af15ebe6f4af7053dd5d958a374c5718540b09175ea81f22ec389a5225744f32b61fc732a5a8a7eb847094650979b60e3245c55f66570226a641afa980fd6c36bd78a193f1a98c98c77f0551515ef7060d99d62c4efff611b12edb3f69c33ac200c3969825d37c204efa8d525679bb16ce56eaf90300168031e97bc131adda575232ca95b268866979b382e442b5b2ea007468138cb9df4b6fbb4786e3afeee27dafb440ea85eeed3b4ec7c799b6738e32af33ada210b1750384506501a195100a6cf2f15a91d48674b937bb6421c29c93f9ced0c043467b7203f020e4f64a9ba9b9f21d5fed3048b568f034259b72e13f2684a36172b8fd389eee7597dd2e27786520beebd77cbcc988e822bfd8d04047260f6dc01e0111cf28c567787a7e9684a023d0e3d1c45e9af2168f0f830bd2bf05cdf30876d8c6588399608adf0c53b2e75b22c869bb5c9df40cc1145da6d1bbcfb40fa5d2839e79c7815c61b2f7aae85169734d76ae3c2106c815001982f994378effb4229eed646e27d5c94f20e7d09c0c4ffac1216cc8c00788db69ee5f054fdb3514396ac0b874f4467293315a3a082ce219d5dbf01d7f8fae01e5381b42ddef342d79efdb999df5ef2adb40786cd86734b80dfd671bd6f1a66b4a26ce7dce8202ed1e1f54891c538d19b1d063deeb810d70e48b74889125b8cbd48ba743694e5a2696255967ffecc2ef2a940b8c8e4a4bd737ae518b4fdaaa0ba8854954d3b7d536118180111e65c653bb46e412fe979d010ba9af5eca71356c80ba5babb18c5b57cd3286e4868542db5b17c1241c744e9e91f7226f9e0a2da0a3b250c8d5812e1209f795b82f92435202470899423468bfe60f964063c32eb885c2bd5b6ef08d8c5eee68f7b873288a2257b850ca695be110a1caccbdef5931c32d92a8bed808f7913d185a27fd22289cd432df5b732772fac1bd3c2e41d0fbe0ee639aff0bcc407f615ff19fe598174e14f51d0a9fb96225b9942abdeb544c98d067decfeaac6506d1b126cd8ed0a11637a654a668a8b57b539ad3c1ad4d7a64d407180f408204149c116b78c826a67eb60931e19d4d6905764d13a4efa8f2037adf4e196c32d6fc28fe77792d8712278379fa1b629f37d9890c9403249ee3842a89ae4a05369df1069bd9c35d1d600aa59ccbf5a0ea4edf894be3ae3352d4cb00494c6c6cd911f6323f3c27a1f083dedb02415d0eda1d7bef7b30fadac9cb1476b1b6f865bc7d02c6fee1da46efde9130e1111f6bf8935b6409b94ee3e592e2562130bc1e390c3d0871ac8cb9d93af38754f155d4846ccf8f0a9e2941dee7ee41ada0ac6dd3c4d2934f7ee4be5f22fc70e907042984c918427fb960f47938fc54ce3b91d75ddb24fb58849bd1372d8acc75925f042613f8e735ef45da68cf247a483d0bc428f891389e846ec868064d1da5c3bbdd803bbadb64de314ef8563922505b9c91b03b9981486a5729e688a0773efc0f665ac4e9b88bbf7a01b0cbb8245caf4de612cd6521c68e64c518081997ab3478a16441431e2a719cdb10f79c4c20b0dacc3f9bdd46862c10d062ce04343cf7ab8f532fe1f869d6b47fe127a6739465ca0ebbc14a5ecf25b5569841b2f4328044c2b52925ab410d8ef28a41b1a51f9043f2d82483ac5a88d7630e01a7c381dfa4604bf942f3cde767da3263027e901202fd01bbc0f1c28ea18250dc2f8facc9a1633af666400565ed3cdb2d800bf0ed210c1da0b70541b8bc2440d859c64a7bcf52a89e91d659e55a2d7129804906548c1dd69dff03aa9f12a8009c1914deb6a234f4f8cc6259e2179474a155991efa9e2d01db11760d279b99c1143d96958667cbcce9189037a5b1926a70844dbe36f8e6cbd0173127e335421428bbc5391a9d6e6e5419f61c7e044f93424130a095d25e448a03379f506a3c6b9406300a9098bba4f66d0c6589001f350c02cb648747fb36a216411b0f5863b2b8918c8996d4e519164979bbe5f51306f32a68c41df452a6af758318a052316661844cc2a41e8b119e669865902f0d71e102c1a74129b2b1d7f71a8f457e50466c4b056af8d39fa646859e848cf702c6225d89e002fceba7a80f7d37955b35debd3fea56906441b3b6283269880fed49c1ac9f68fe21f0760190bb21401cfd8b48ad31b4c3790816e442e742e28c3b0cb212a2f6326422e850a13104bf2c26ca77451c719b6a587130626f105a64f644b66672a3bf8eadbf8d14315170be7918724986892282090e8ecd28d46acf9484fa5172e857d34f34edb01bfdbe171f4ee8e73f6b1870781a3882b2998a025e5e4cf9d3fb9668a025788b70b44dd942f769416a5fbea166bbdfd64205b2de8312a05561ee2941501653cdf2e4bc606c38e0985d6e03831fd7912de12063eac910d9c26b015dd17b9d65097ff3330a1b854598434855136032a1621b2e9e0b0fca9069145f78c8f7fa800a305570a59951eb74787507753f0db3da55efa7c2a87ba9efaa0c07091a353de50e6e0ece8083edea1ffcc78ccfcae2281fe7d3fea70dceddf89f98dbd8b558d404c8ad39837c226f0418027c3e8622a3271adc5529acbb56526b53f7ac32b600e1c5f30b609c8dd8df1f361fbb8d8e80ecd2359dc6d48227a4126c6795857b2753e3629ae2bd2cfebac92d5dc1cc982df898a78a0f4efa7172abd9a4d7c4da29aa788cc102b81c0769fad240c35090d57015684ff7613ee802af69aa95bbafc5c1b2d11c09e1063fc3ae895c86bcae2bfb71442b138d59f1dd1091fb0942f4397a8760c6b9817e2bf3942a1ea7a7f92d099115919e32ae9c41a63500a53752b2474aa9474a62f0a727a23f01e08216b54942e9b92f0d943f469f96484fb7e0d13b9ea797ce43c59f0a3e9e442cb34cf3ff587f64a5ef2adbcb0282af8d88bc99f2b12873af0c6de514a1dc47746d653cbab48bc3a1b767df51dca351bb8acbe42e3d4f00aef0b8d683f59469a50c747da86fd7fbf81dd9cc92522663a44cb21eca905084d84d09d2361418a1c8ac9002679929c2a09e2cbc5543bd5ba0670bddca829e2da4670b6ebb503d9b338c541d6e85c50c00aa7fb4232b3d0721c896c0893eb0e243828843351a3ad192aad1f6da52fddf18579e1ad9145128d021d29c85cbcafc68292f4339d6d34304aa9cf3fac277f8f3253ba097ac971b0d9a02b78d640c36cefd0a8e7af44517d1e081bc5830ee2af61332562b8661751c96d632eb03a83c50ae29cbfb2060389109d2837300d7fef7e5677cee5d7cccbc66fea6b5724119a86f46f28087fe4035532545b262103b8dff42641748b15de6b211cf61363c00100d0d9f8e090e7eb6cde7cb1ce2f55d91a5f551da103ca651acd66adb898500259621a8645c09ec2d8d0d6267dfe1a16022540d474849e6aee741591a21d8800ed223c02f95181b7e8248c1062e610135f8476ebc221b6e1114afc8c5af242500f9ec59211962d18bbf784517ae50e82ee7bbd589dcfd3cb73fe1bba25b2e54082fe8c70d8ae319bdb886a278452f6e51084fe8c20d8ae1093db847873429e9c08e9e8d1f64430b6f308e2ef8a3ab2b4d126007f5926055fbbf7c7a4bb6dd2cf03d2ddd4c19ecfb7c26aa65c6dae92b4c1a3611b29c1c35de98042bafa03c6993a25b840c6684d41ca6f5bb91971407c97dbdbcaec8ada00852e81039d51796ca48c8a11e34d016c6211ffe70dbb286bf1ad441e75e197964fb45e550a58d539e82ae38e10a65d7f9e78c0d6f60321f2787b624c22289394f9caacaf519b5c62aef04adc90a1c5c164350abb98d3cf961bc045a35345e402d59b7770833c88b2170184a70f98802b47219b1ddd015519c8bd88299ece1f30d5193998ee0a37038758f1a8e716138459a9e0689bb6833eb07f727a32eade04e231cedc7aa106031e1be5d8cb70c99334d3e2cb7203d8cd83feb7c2417abab59e15cb5fcc4a50f4deaeca10c6cf9198136ceb3dbf2e06c33b4b2297834c448d4f0465664a5743e91831cb5935ccbcd39195a437738dee80e14c46f4c729c28d85c9b7b4b43e0f08d5fba91e38a432e175dcaf900c8ed3cb60d3ffa47c4edf39477380ead8d11a094108c3304040122bbef11ff5bf54f515c24c10cce66301668490f534c8e3685967b1b3e0235e0264543d186a383e79a695453abfd94724de14b7abe3ef107777a16956d7005a7492dfba70d79ddd3a4ab47b8ee0aaf1bc61f7209b1ee7b00d7040320ac380a6531aab2001cce0b721d2f28231ad4072e73a325c280ce260b0c9b3c24d768b4fe0ed934edf05a93bcffeaa3774887c8d96f34b4fe71bfeab0be19325288fbd2e0eb1f9a2d0a8b8ff536f5e0806bd2ad3d383dfe53967aa7c7517fc255de160557ed79440b7732e12d21a575725a30fa9e81fe06f26953d7e43c8a1fdc6b41f89a50c1014eb3db1e56af7b8f18a020866b95c72c370c8f3c3eecc1c221a241050921e1358863e12ded41d61731c051890a90885013e6216c293944aa9be8caf0cf935b0762c954ebaf02efb6a491b43232c5ad77fb79a853dd93801944316b39c4fe3ab17bfa6a38655fed6b17a1fe5614f8ffe35f130a9b5ce17442566cc738c6455311a41d515082bc805b8d5ccaa2827f0528e41b1b1f6d5280f1a7833bb30aca5bd24afa2da05e778410ab00b87d78ee01f6fd629ce4a361d9b883a25894320b220fbd18be05e0693b7f5cf634675cbeeb2d1b773a34275c58625c38b3348bd1a32bd753db265b84705ad711d9cd40b9f1140b50a163cd39f0d8d056730b207435f28e9003bfbec824cc6209a358583423063845d5754234a31865e9ff950a82ac49ac6c579e88af488f2ec3f7739853b144f1dcca6f76925dee679fbd46deb4996dbbe67aea5123896f9825c7e01f5d2ecb3b942359f75b25073b0c3671d1d6dc5743277280f2fcca1edb67e0b12bbaa55d76ce4684bc5b6b8923d15e6567f97b255a689d4e04664484a4fc9e856950fb4c81e240c6af8bfecd473da6f5991ab7fba36d904f3714199ea28c9c5bee84b11d8ec5830de358c1716b6a8f8e0ec43968aa24da1440343be02e4a885f551da31fe9da5210b5d684ea343bd7964e6ac79f80e33670a696630d5352fdd4b903ed67c91ff3b940787780be6619a82e4f108e0427bbc42d759f02089fd75f8368c0d61ab74d4b717d5333411afcfd107741f50138a11a5aefa634e9882b171e69baff6146f3ded84a79b21a602fbf9b99b2ea76fd3748e9b1f66f40981d0b8283025f7fd8c51dee86e17d478566e824cebd32647ab11b17473c8b834b33174de02d6ff08f2c1c44a98a5121fd3b68e07902b465df89a0c89e65a6db35d7ecbfcf6b074865ccf000a0f8dc266e6af4b52e578d7da4f4f61b965d2c5a2eb117de0487b909c52fcd05d62b55409f8becb3ed7fdef2aaf310c9f3236834c0b47984a33d197e6ae8f71ed1ae70d15765f02fabf16a36d143420905756dc0c9bbdcb9ab36d803adeffada20bf015fa30dc4aae0472611d3e73e2e466ceb74243f7bf460ef061e3166fef9beaf2e876ae1d48fcad6906e35713fbb9f16d3f44cf21c9162b6cd65c2d6cb1536fe22e26666c0d950700cff1adad76421f39c0e70e26bae0ed2098fc20f421bbebf7ba433a2fda948a900b55b60e2dd714b5c8daf75c6e38ceb6152ead263031877f2561812bc3cb362a405d41a60108c2a3dc5c1ea0b354bb1a28dc29180d6ddf09165ba4ca04fff7c046a65809d1a1693181f00e4ace61accf4c5b6a6ed03114284dd620c90b4a1f2b78f9875509739759dbda1e3f0e63c2a20e71b1739da350ae9a635026f487f0cf5909f32e34404f92b2890436309690efd529a4d17662934b7ad640726e1e3d8b426b20b57a15cd99dda4cdacf2c40ff99cefcf5d096164a2d89220baf016094cc80d3ed61be9cf5ced454d4a88ca6eccf52fb420aa7f901b50e1483d5e9cf2872e70bf2befb91edded72ce3be743c801a6db008eb853914316a40b0e62ff0db4118c952d42145be6b60dd7a9d44baf896a26de91cec15a4e833ea5096201d8b698e03b3a618dc4f7b870d7df1704b3ccfa43b35a5181ea95e5ea1dadb46f4c3c11967e3c79bf17023a7ed8944b23a5356a031bb115c5a8ea432e0861a2609f00a16307144e45125e49aaf2743f779f0d196129cca5cfc9facba2466aabfc59a6608dae9f6474f9edaf322c5ddda7ade0b491ff1cd35b0e3ed870e7a2103358e593d9b89bcd0ec7a5905b595b79c33dfea99b6bc5f5a2bd89c8a949b2d97aaa0c0008dc93904b9c2ab5adc93d693bd888be7de77335e491244b3d8f412370449505ed36c9390f31688f69aa7d733a0e1d58137229565e769863cd200c006a7ca9981ae90a1fc3209015d564025b17340c30e42c7ee1d3a55510b951f54fa72bd1c9c5e514e2d5628c4d182652faf202f023802d2b2473e40cebca1e770890de000d87441dab8c75cf851d4182f4237a0ff052f2afedb18307bbd6b17082477b024bbd51c3e60680a71b8272c3e0520092280621026d4f9851274db269068246b4f9a6327b729d036169c08068c233c740190390efc2183657620df6d0c6dd8e466885e8579605220a4c04dae1a49dc20f8e5539420cd9e752b373742f43fb44d86fc83db45f5b7baadc6b52aa3ba05fbc735c8fcaa2d6e47f6eeaccabad88e3b509150375fb2b36682e3a870f5e78ee466fa8f822be9849aeb7b0434e8382d16aa62ced9002ce5b6288b8de2130217b2584bd2ef63679309c42f0c477ed25f4454438f5e650fb0501e56cd9c7681feee0e72b07e530e2aff196d075e0c9fc48fc355606111e9be78513c390f11a68d80c7d1f7f0c5b8045c2c441d171e4b4ff8c3fd4b50a26be63f4a99d61cfab6054792b743e25e004bcce3fbc557217b99c6f21b76aef8b842db0336b8ed9739b2e7673e328171c26ef3ef40ff004b995bfb197c764bef43446173665a09ca7b69e1fcc57edf1316ce2b0dd5bf14c88f8c67d1a896834e36825b2a36c9740e51be9d930d34ba606d7362ae9c906e4ad8470d35f53dd1572b70f0176d668603cef1db29d5421c00ba71beb5bee0a7eaac51743cbf00f0d4b9b8ff9cf97e5501fd376bc14d1040182771f68baeb0b18ddde2ee658ee1a0978af567f5e1f7a34c739ce2803a7210cdf6d8ad628703cd9715fee6373197cd627a54a526b1cb14b4645cb83b499d8375156023496793843b5818ca0c8978d0b56aee54ecea70c759f52b0c27c35f1c19c9f2c949d8be67761ed8777fcadcdd53c1c71f947c4baee7df1abad7b1109d33138626421b76d05c8922f5cf325a1669074066fc766feb9b5a1dda2fd8165acb2084afdd91c250ee302a7a7785988ba6d67cc96a71d1deef2fd921f443bd9d2fbce566f42638b1274c841f14eed366616d5bd9e2af09984f3a005253de4271382297e55e8dbdccc70ca13a33f61411233cdd3c4ee9c4cd9ed3616cf630fefca1816e2d351465abbb59e0b04b92de71c776a1618a144e481387f371be77e660c2fbb321a8e74849b82f2ced3d50c1e89e202efaba2f62205f57d314e8054fb8ea43e7afb819878024bdfb955ff4b9fe471247e02f5c01d70b4cf1b7d346a0074281dc68219eb4dfe529bab25648e41f17004c4abc911a198bc8c597366aedff4f410af3e6f0836113ced52cc70fda41c40495e72693ac506d71c32720c3d7f3a0269ae84d14b6d05e57f839fed4f9d288f64f6023ba02e21e46c1b9229dd2f2105efa02c212b6cabb211b50f3111eca22e916aec6b1221f5032214906bd00232a6c6d9e29a22fcf0936a02c25eee0147c7ba4393d0fe1a32d20efe057fc3bb2012d17e1a72b27ede16b1c1bd2013d0ffda32f932de0aa1c3bb2392d1ffda328912ee06bfc1bf2992e03f5a52893ede1eafc1d8289f699ce0b975d68290237aab741963696d9ce8f6dda352bb5a6826add5193bd97c8e64bf31121ca286c2cad0f51884fc044426bb161b8146ebc4084308b0dabc54144e93b908268526e0cae020d8f4871464563497988507d042492da8b2dc22560e3212ac8506c5aafb84906a4a7519343613c4e1c896cbe328d5d027b506b9a22d3700a74f5bc9cf57107781917c73431a7e612953387eb1fe5db4c5a582cdb16efb2afcdc416e5b1efb4ad71ccafd154506e4a8ef215f95297c03adc33924d1030fa2ab52db3b2795fb845a03b60b9befb9aeec01a2a6b9d0fb8bebdea8e2c0f807e2d59a69871e284a7a69900dbc8c29e885c0ce8ac8a6383101566ef930d8616eff9ee07b68513cc6d89d75606aa3afc18779987630225c5ac2050b2f1da57946f10b61faaec1f392493cbc60cc9a2af5f84f65444b67bc703f8baf68a9cd919b1111e52c4c3cdfcc5a158ac98b2b894e8c5d7946e149b8c401d935794a3ccdaabcd3b41251a02a33ddcc62d94b56773d51d8ade91676e664f2e2c4f9d24f425c17e4798653141834ae2cc7b605e1fc15acd94f4c05a5a5425a59f54acf37c18ad6ebb9a7754ebe00c461a26bebbeb757c52b1850872d3623d8c6a75a2fd69fcf8b0d75a540695b4b12009854468463845ab6372560ad0c80e26718560c1be7b62355f7c57730dffcc59af7fe05a134b2373736f6e8cbfedd4870d7a95b781f4d3d23b14002c3698b812a8145fb921982e55c8bbdb4577383888347361bbf7c4a8b5648c8360da7f8d3878388ff99061e135c6deb97db90e7841f12cdccc78e593baa695ec39a82d07c5b9e72ab0e73ab003d131f265bfd3f1f77444467a080e94b96dfd48b4d79ef22e71487930de7dd60b0535d2ed2b6c7fc4487e5d05dfdcda4170f4165a07a92ac4794136a297674b5f22b3eb8bc30e6180f1987bc82a92fd334dcb9cff002a069322681393b86180fef4593f010ba5fa4a429c74a0b99a7b619aa577c7a5d678a6df833e1eba3ca767073f91ce0815239767851c1d732015e7afd81c6730f49b55322993320e3e4a186538f384cefb813fe3edd71c379a8364161633c7a007f35aa13c9e5d523820ff12c230b9387372ee7c0f72db8a7ffcfa1c9e0714b203c2c4c39f0d01dd0aa75d2173465eed50b582878a7085449a7b37889a43150c816d4d1731f300afe0bdbd03b24e1289df9787c4f34df4049f289dc07470690c1d921fd62f49602655f6b27c09632ca0f2f453dbfc35f788be4f277a140466d3a8c8e682898439a662e86b60081dd1fbb03baaf92c8203e530d666f50cebfcf4163c1f2293fedd2f9631a3c5d568158c15c95b56fac684ef60b022f05be3edd1d24cbb40bc049c927900eb54321c2598318e66dcbf8bb8ad5b93b2aa86400746761b1d52ee2347671849fdbd1e1016fdec0f129c79d541ed0f3bca8518353ae64a14de5e29a5e8504d23f50856d648aaad90597435a032252a61ea3cad42edbe8c83aea52819155639db24d38be0f175faa7201aaae5378b28f997e696daa8b9e6f21daf40558cbb9165cf4319653a1fd2cde3073187deb4561cdd4e2b17bd30d42db6a4a4b6065ce1c57af12cfcb6b2390e43b595d5ea7341df50ecc7e44c85e24987e02b23c62669ff398358a0385fd4578827c9ad12e124d2eab749b8e92dea88e1bfe470490339d3aba3370aefca0deb2703317fe34889351ebdee858e02bc7c023e3fc4e20a3560b26639ff000000000000000080cd08ad459be82d644a497299f009f2e2534a49ca94e435fcc5ace12fd286bf98b710da983ea104f10a0a0b860a48e0841a951ab25a8a31a58fc0c694c52ae6aca8eb6e7ec1c308bc7e060f2a2c7b44b46c82c0a3089c88d94ac5d1415f2527abe04104f66490418a9685598a8cc710186d9e5ce2e81ee12127c08182f7a2aa06071e901e42e0d7748ae9f6facff1f40802274faa9b7bceb6f49a0710b87251bf154d56c8cb3d7ec09689a8a2526828f599870f188dbaa5c342a7f68a3dd046e99aee75d2203c78c0fbe49ca07b3d93ba540e1c27c0e1c50576d4e0a2460d2e6a7051e357702c7075a3f2e0b1032e25d31a49a4904cc8fd86133c74c0ee8e9cac15c36bd36bc3c6173b70a8c0868d2678e4804d917b3f6e48f9b36d0f1cbc123d4c724aba1b70a7a13552766ad59fecc0d130780f1b70218524ca937f8aeb28ddd8f2008c5ab01dfa3de3e5e7230b023068c185854f9296c936f5c50e1c14480dc098059b358fd0196657eaa27682c300ac2f76e05041f9000c59f0597632a4ee9c3be20d2316ac66dd2432ef881c3f5880010bde73fedb66abc6c8f92b3821337252da3ea93b05c3158ccaa61f3b37d7af663200a3157c0775227dc6090c5630d9e4e6f0106d18abe04b8b88de6a625ddfd0e1c70218aa6027f7780911e3d84963f029d0e146078c54645ac153ddf7fec8bab1034795a101062af8dc6dbb2dc136e85d5ba76054680bef6e714b2905862998dced253733f757f24ac1bdf59779a83c1da22605afd9744ab3f47eda54cc46c1f756c9143d660a53b138c01005a3a25a4c67b234c5ce43c1e8259929e8ca7feb5dd5b9010628f8a4348b241ff71ca47a05e3136c76f84acc1847482a4b2d20821b0a80e109269850ed892e71a38b2bf0c28b052cc073fc1730601b366cd8382ec0e80413d49fc4092a65dee539c18665db907c924c117b13bcbd091d9ebe2593526a829112f3699af4addf6ba1002313fca5cfaa2331c630956382b3a86e226e245501c625783349a2d40491c3ed03021896e0af2f4bd2e4d3f3b825004625b8f1cccea03949be4a52825151962734cbd4fa9693e027e8b17c299fa8e88d92606276519342295d164c27801109ce43b4f673663c7581043f298a50c12dbff6631f59662e80f108ed3b6693f980e108b6fb74d498b41474f73bde8b46f09ffdbcdc5246ec90fdc8b252010c4670ef96573a7dbeca36c158049ff49bce2343db869042010c45987f23e9c82a762218cd88a69dd3faa3d688e0c33c988c6f979aca730846b4c8525b961a82b750317db3ee4ab959083e2831ed3f1a347d9010bce750b23f3b26cd3183607dd45d580a41a7d21941f051acccbc4455745302c1561aff00c1ed55b44c595b2ca8ed0fbb58e69e9e68d3d4173876e8e8e2bdcc1001861fb88eed7aead7e90397cf4c8a720b49e9f0814d11d7df84e91b9d4e187be082fa4a236e5617670537bc04c00c30f4c06aa977dad2ab9fd471c30e00230f7c6a8b07adba5a6f3ee381171ba1b5fdd3f43b78be380de0a2060cde734420e588028c3b7071276e887a8877227405861df8fa4fb3cd2cc242ae4387177560432cabccc1b484483b47190c3a707aed2b8a9c580d0e3c2005ade30b30e6c089aaefa0d731e6fe0f861cb8989a1f36424a6c0b30e26030e0c0ef07b3582129df8b207d039f3599d258df56c9521f593b6e580d0e3c400f861bf851bb69a9fa69039f3ded054d114cdea85470725ca00617ba04186c60e4adf9c5782562a5680d4cd6cbb134c9aa343aa806aeb54e648a8c2a694c0397b77497e7dfb7480a1a58bd7c31048fd59e629675067e5224e5a1d392eca87e646913609821ad904a4efe3fb2cc7800a30c24d941d2575c5f5d7100830c9c67885d31b3e7f2fde018d8685a2f64d4c8e6eed0d1c5614d018618886ea92c2d57ce4c35d15c13444b86e94b39e7860e3755031861e0df77c4d593922229290b30c0c0e7e83942854aa9e29dce15607c8131ffce6d499bc8e9b4aa1b657380e105de5ed495881155848c6ec0860d84038c2eb05a298d857931f80908010617d8903d4272d5fd2da5e7820930b6c0bd87d4b2094109d98dffe2bc176d8e00430bac09f3a047d9e4c841ff915522f08ec305468091052e78e7fdeeee1847286181bf8eb95f81f390dc3d56fca03a6c2bb02194f074d34988f45481914187a4a663e8d12ea2029fddd9ebe3868f45d114185d17b35bdbd64f4352e0f626055d5b1169d4fbc82a02230adcd7eeda64170a9cccd8bb96fa842a9d3e818f67b5c933fffd7dd2097c6aed8fe974d90436d5c45b533f512d13b8be64bada9aed2dbe04b6a2040d29a54d9414540227bc766350bd2b099a2470c9832c892349a8104702a3c1c3434ea73d874a39021f2b278d593d259d6f23f013f34fe814293d47456053aaec3909d549b9ba45af9fc839b63a04d6a324393292426093b0bbbc4b5aaab2da41ca0401061078c9756342f3bcf13772e8c851ce8b2fba38183f6034ab07d7eb48bbdea7e0ac600b00c3075c8c9c430aba27089d841f2901183d6092aad64c32c64d9f391ef05ebeaf16830a1e62a6d6c559c1ad05447023023076c07ad012a4a412da25c38fac0d7cec3810b080086ec000860e98902b74de1c0c50a046819103b62da2a7ec0bd7987b0c68a003353040810bc0c04121b77d12ed69a4053fb23e769c0f525b3e769c8f3203183728b523a869b6eeca9e3d0c1bf0b93e574e2167523ed616b5e0275892e9449d68c12451f1b48e588e6739b3607295261deae15f62d942164cd22393e7689ff425658b58309a538de66f07a526adb0e0def3e73c1dbd6219d157703a57c95231b43a68c9157c486e3ab36bf59f75cc14b668051b566aef9225e78a9c157cc5af3b61d93fb3bc55f0a93fefc818e9554b55f049a7e89ecc22dfc86ca3b0452a981cc2bb332931a1430515ec644f1f747cbb4d317b35862d4e81669e4a4ac87dd50b5b98823b1dc22c6987d4efa152b0993455463d1553de490a36e47d769a5d261b952f6c310a36a50ad5eeeb59eb1e51701e596f2c95b03fa550701e2d8814b2ad3d470d0a6e5b3b9ac5fadd53399fe054b78f72df984c67e6097eafc2eadc9476673bc19ae8a914347ddeea0ab9b0052738696722e83a65aa44629b60b209ed1be6697b45aa094e43b21862daa7e8785f830314a861c34626b8f54c151233bbf6db8f2c33812d30c1c4ec29bafc94866556822d2ec1860a099a7b3a064f9725780921099d6428732f2bc1486e11fab3a42447c58fac1d5edc3094e0844b7ed35aab229a6d608b49b0694265dea064a83c035b48820bfd9b2e592c69cddd47965a608b4830ba34886bee6dfc367d641909b68004bf27e4c8a4a52c6d057d647d7c81e305395a9020d8e2118c6659e4b0b3c8ea932f8c23b8fc244d63281537682b470bd28d1878f14569041f6388a1b62efdc8eaf76204a755ab64ee3c7e64dd72608b45b07ba6a7d73b0565d9a1021d3abac84a0f6ca1082e4ab4184ac62e994729119c926d1e526f7eda6c22824f513dc12ff5447434478e0898618b43b0ef22542dd38624d56d610826ffe90f5d79cf7df385e09469af67ef586aea8460f38acc6f928387d84183e0df8448f01dfd6ae20a8251f7919a532933b33510ace51a173d3a296b5440f03985d4771e73ee88d13f70dbd969b193d20f9c9b4c6a377a9d36a80f7cc774d99a53aef41ff2810971fbea3e868abcca1eb84df5ce69d92b6f677a60f2751491a5aa29f77960ac5ccd3d99447b1b0f5c8ad81b93922da6a4240b5bdc810b39441acd1dd35b9decc0c9a0932d8869cc4126d581b70eb5a939e5e9c045d11efc437afc68f139b0ed1e29744e412ff396039bf973fb7ed0278450c78115b9294b377eb0a44570605dbb73e2fff9da86dec0f9841c3ca8f69b18416e609269ce929f7cbdafd30636b45fd691ba41e9d3b281d32d21825a48a752b86bf844c74e7a4d473fb23ea8c515610a0597b7e35a483922fe5582821d8d58318a9269e2fa9fe072a4939c165fc773c8788289e3ade962ea04176ad2aba9d25d97434eb01efd44991cb7f7cc6f82d75c1e3127dfe8ee390fc4d00467a9b126c64d89910926265149052533b6861c14626082cbb2ab1d5132b818832f72b4e0aa06071ef0821897602ddfa4946a625f88610946e99afa5c965279aa2bc18632e1992c2458247d294a307669d3e8d62efbfcc5988427634eea2b0465fa47560a74e8f85081e330d3430c49c48804977b57efd3c9d593e9479681043f59629abf7e7804b710e311dca44e9a279e7b9e90fec83a2e3ebec0f1811d2a50c1026a7051a3061735b8a8b101171452c6117c4792c93c6989eec935821d53aaa325ad76a5648411dc9a9b16bf4efad25f04a3ca57a4579259b2ae883de7dbe8397a97083e666bf0577589a335227873d7247a53daa85f87e02d6a3e2b158f2138a999bd424a4285e0c4b35252baf55a7409c166ca1547af424c72af41707a3922b78b5c10dc7fc8a1ab933aa57334108cd041f4b359a737cb2e20d8a4d2f565361d73c69c3f709ed6d4c23a8f299dfa81c99f5366c991d2b4cc3ef0a116428e392a9b5e0b1f989cb2c75d3b99673f3a31f6c0296dd57afda56b240982187ae02c52565c2d55418b3cf3c0fda66fde7a4aab41060f6cfc184952cca7122dbc035b21899c2dddf87aaa6ee87062438861073647b0589f2e6d849a75e0948c6026a24eba880e7c0617252c0625ab47b3811873604458b20dd59fc252f991754387271062c881cf2254a6a043b2908316074e240fb975b94fb9653fb2dccf0d1d8e3f880107de6af32f63084f9bf447960adec07588744a75b2fcd3a18fac2edcc0057fafa43abbcdcf2e1dc46803a32d7a2aafcef6a61b2900c8410c36f01fab23580e15dddad74154a0821638808b0bc421c61a38691242aad009c00c31d4c0648da1d4c80e993cef1b5ffc8ee3418c34b0e7a64f796eb63829bb11032fbed88a81064658762a3d42488e3b9e81f5983e7ad2e956ffa93ac1c9712a80270032c430031fdf4bf208df73d7bcd0d13bcc2c6294818d6757aa4166b36817374c1131c8c09bc825bc4df691958388310653be5a24f7486bb24b3a6ed8c510031b728ea572ecd290adfbc8ba612e1031c2c0a64c7e3579e4fa0729183899428bc476d39b528d5e88f105ce7290f9ab26825e9f1f59a60b31bcc055c90e39f45ea64a0d31bac0551c371932a88594e345950d1b6488c105d65e4383be2d1d37c9b7c07b3cf31c63e67d534ad302ff31857969c81bc49259e05793a8a4f6268492292cc4c0021f94b61834d4e83ae9b9029f123be9d22ec6b0029b2e93a94ad091b1d72d4b8851054688a7e0a73fbd4da5aa8418546063929092d229adf7a429d038be385f6ca00931a6c0e7daa41d732521da527386185260cdb62e78ac14a1391b05365309ed213969861850e04c524ceeff6b17944fe0b256f6d1f2342e32c5b410c3097ce690f79326db204dd80426b7974e1ff47bc8969385184ce06336ad7beabdd91218159d1154bef31c5d4487184a604d978821462c1d2d93c04735a5f398e5742146320e3190c025215209371164758c1f811b99bdf2a94b31cfca088cd267b934df67a997c610a308dc97c8759af2bf75f90ba8ab184460fc54700d95d4f28a3a042665e9c593fc2d3ae85fe4387d3ca076238610d89479bf4674348eda5ad0c576b1836304814db6232b77b269a44c0c20704976889b9f52eb262d86183fe04ae85d506da2d4e7a48521860ff81c949ea037dd7888ba077c3417d3af1cd48469a31083078c0e95b3376bc8a553bd83b251a188a103468da57bedf58abc9775428c1c70e917d3c75cd11852f581183860dff2657b1fed124f6a811837e0bb4412fdab2d75a7c32a420c1b302a4216755a438aa22b44f0a8053f7a931e99a3b48860f9c8baa1c3cd68c1241541cc6b25e5d1b2c063169c294f797286bad2b91478c882ff95e05f42652da1fd47d687472c38217aa28448af8f1afcc8ba2378c08237f1f10f519293fdf591a5c38b27c715002278bce28e397eb1229f0ea12b98904cda8dee6cca5277433990836dd8a8d284472bd852d31aef2ed59194c666e0c10a26fa8d851854aa17fdf182c72a760be92a657b1f5925050f55901678a4820dd134975e97b43d1f158c85d4d972109dd2c5f514ac47894188bc31057b679abc2b2dc549a9e431c7fd92e0410a36c60c9dee25c5102d320a26bb9efd67781c2f5514dcd59ec624af3ca6cf848249252786781750b0fea53348f0f80497844a957aa2aeadd31e9e6073deeea6edce631ff4e8047fe2a7224db614bb621e7182efdd7fc92292b6eb7e138c87ca4c9bb3c2d347366cd8b0b1633d34c127a5e2482d1139c62f055658a432a1aa5bccb210529975a9852749a6c12d5c4daec1850d1ba671e4213c30c169041577a4e524d5e297e044e41c2d656ec808ae2558cdadf1cf1264a951558211d91e63b41c3aed8b32e041893a54cc9f87c1dfd0f1c58db317784c82c99b47a5e8d23948dd737848820bd1267d960cf9c8ba157844821d53b124a97d12b6970868103c20c1e60f425f7a454f1fed47f0955b3b6465bea61d3982cd41245da126430c9991227834824b49a692d1e246b52c19c1c71ca287baca3649df45f0f66921f345ac1425a80826a58e4953e79ae7ba12c15a887e4a7aee18b4ed8108764c89fa91b5183804779df4b6498d29c7cb60133c0cc1a8752dd5236f6f3464400d2e6ae4c0713eb8b06123078ef35108369bd2dbb7ca5b1f84c6ba382bf0800721f8906495d35c35c5f80e823799f255a6cfa4935b1ca0021c0ec881e378d10041a09390193276cc932f72e0f8d8402463fba8d21a5f3de8091e80409acaa626f354c77c8efb431a2229e28d25fff2232b06e806a9f5039bef1f6e52d3f342b642f0e803bba6753c0491762bc6f9c0998cd56165b7baff1ed8fad189237ab4f4a77a60e2b707ad5751b269f3c0648f1de3a81cad67293c70571532f4c99c5d3f02078f3b70fd21420c2da1458dd009c2c30e5c5bdd78dc7c8df4b6fdc1a30e8ce4beca4a418647ab1c40720f1e74e0520e922a2777c9415c443978cc81cb253c0895ddc8a143cbdddd999999999955555555d56aa22967c5450d520303062d20821b03a883871cb83aef646b62b2e33538f0001378c481b71f53319ea68650071e7070620e4a85bc3f53ba8f2c17bc066cd870c17b917bf078031793274f8f223cf55b0f3770698358564851f4a4531bb8d2bf93f43e5b9039c4830d8c09a1f48aaef8e52a50c1e91b9f03c70a120c1e6be0ed7b44473b0bb5a7c6b1e320db82871af898c42f0951eab4aa53452ffe0b1cc5230d5cbcabd83978f2230b0d8c0cdad47ec413cf124b79058f33f02ebaaea2dda8a062ba14c2c30cfc65a915c95b595ccb327039061de1492c664c9e8f440f3270d9939a2491b640788c818bf621653b1dccd48b62e023e6c6089e1a8f30701fdb62898817356d72e8500117366cc4c1030cec7f87984be4e5a86d5bb8e38b1cc7e30b9cf06af792ecbfd677171e5ee0d3e975a6082a056da713787481c97e6d4abfea5a4653e1c1830b5c0a71e28ec6fc1a745f75e30e1e5b6063d2a32db337b0ace0a105464f75bc7c1f1db378e7a38bc22c70667194be32897183d247962995080f2cb0e196b4e5d0b12b301a2cf363860e6ef539838715d89092ecf4ed51eeea6215784b92d279d747d349f7a0027be51d41e6baa447493eb2aa6c0a7cb4d126d47786983cf790021753b0bc39435214d81fa57443aad2f9e20f05fe8452b97fd2259557f77802af7b96740ccbd1317702fb5d497d9eca91838813c2a3094cc8363ada97734a49a870e1c104feba528c156c43c8271d3776e05800053c96c045f6cc4b295b7cd528810b953c695ddb47a67812981437f7f9a94b0c1e01077d13fc5f667f7ed6fad19a26f8545f4a7895efe518cb04dba2ba252d6598e0c6d5aa464d2c9dfb251859751252298f49456509ce34dc4abb58094ea8b0e066325b9d28c166100f9eb3a3965d350976a3697bdd24df349204df79cf4e73c7cca6ee800091e0d34b0a9edd73cade3d2458cb398bc91c7c4caf5a023c82b551b5c1334b945adb117c2789d9d4deaec4d47e642d066a70800216b06103034580467017ffdf620e22c7b4c4082e866afdefbcbcdefb221879fd67a622d5a9e98ae053659b603a49d5f849043b22ef25ed10c1f3da88e037e77117bdf421784b52e3a4e426d4e50dc1c511fdcca12b04779b723a752188106cd2a4b657f1330846d85dd5c9b0589616042f4a9b5d257303c158a4aa90746380e035e9bd6a8d26b541fd032fc943c6d50949d2a57e603f7464ca8a641fd89c45d955b0aceb8d0f6cf4fb30f52a3265857b609387783ae7946cdfd7039f2e6448a562e7fe9092072e6b0a5926827b88193c3066252dbeeafd5aa5eec0a7f58b5075134aee7660bb337fa498194c74485a4004377210a00e8cb41c2f2519733a704a3772f728595ad29e035b5ae9226250e5c0580ef23ca9a045ef8771e0df421035312c0b88e08613000e6c5af2f8e6a237b01237a36848ddc08dedc60d167d2f746c0313db935ac61862b26c36302a4c2c0895336b603f3ce5670629a259218d78796912f5d2c05a4b886d1a2a68e0dcbbcc523deab7561f99880067e0cef36809162ff7f337031f6456df9c4bd84b7c095006cec253bac8a752e7ac210c084006de7359678ea22467ce8f814d57a99a7d4c3ff362e0aa472c25a1d2549b1d0636ae55501a7f337d088181f3fc1f5a624e75519e2f701bb3a993ed9a0908e00546928752122ca5ab3d75810bff18a458665c60b3f904cbc1b42e45bf05d6356453eeb793b5762df0baa73d849c7a16b8a0524853ff15bc46c70217d2afdfa91fcb63f12bf02f7a3fdaa84d1ea5b6023f3269fb51a23de38faac06dc6a4d1beb5b3ef880a7cac0ade7756be29084d8131154366ced59fe1212970a6b4882025c79c42e54481573bb5f68ad871540b05c6abb5945f563ea9eb13f87c12dcea52363bb53a815dff8c1ff61747c4b4095cbe84b4a15b2228953281d34b7247f2abe8bd7e09bc24dbec5fca3ae83095c06ee5e9b2d71444d598043679f0317de9ea54a920811515b3dd68ff684a588ec09d6dc89682102995578cc0797ade1c44558ac0959887a452c8192f5588c067d3512329bb1da51e022fe945db658ab07f4f089ccc62a672bd728e7841602f5dba64f314f45b0e085cc77f0942859aaae57ec048ac90b84127f98017b50d428a96fca05a0fb88de9b4bd3ad9a678f180cb549fe47ab2b51fd50ef8b8992b1d7057a2cc928ba6cfa31cf067df12f2dbc48e1e1c705aeb7f3b3798ca4142c440801b3052b288b8291efe13c0069c90abb7bdeed78249be92e3851a39b6212db8d13289af1eb5da59f069694346eb9cdf848d0690210bd6327ef6927bc1dd42b1e0f33bd8f805954df20b0bfc62b6889033b72290f10a3ea357921816944bb65dc1edc618bfbdd7ceadf20119ad305670174c9350299a54ee65ac42156a6a320d12cb432b57b4c84885c940859d824b79f57fe39922562606e8c6c78e1674b10c90610acef5bb457667a9a0aa527092f4891a1b59c18284147c5812aa15d784cc60ca180527d3d57fd02551b04146c8662179e2af2814ac97b72415fd5a535832100519a05855438d7948b68c4ff0193cd5897f4c495e7a0c323cc1a4dd0ae12fa934fdd409ce3396d5c7f7b388264e309eeacf749e2acfa9b409b6d3ffb54754bb9734c19a8e51bc82faf7ff99e0744e2adf733deb382638554b9953743f593997e03b737f82d2a5358d96e05f4f3763d4e4d163be12bca5c991d9293569cc538295a869d458a827c1a612dbd653fba6b492602cb2e699e5bc316124b80e4107b971e290e8ea7f72a717fb11fc66acfc415a05ed41c811bc9e8ebaa9fc52dcf13482ff3769252c6f7a92398c604b65fe747a3b8b60529fc88ca6f4447215c1770cf3501b3b99d44d04d7ad1e53f0ed8ea02d22d8cb9c2b3743f610ecc7d2f3ac9c29d9ae86e0bed5ca4a47a845550b81d2b18292106c0a8d66e5115f73c90c82bd1eb7f14d3aa414328260350715840e2ab33a3581e0a36f1edf1bd15c9e01045772d328fd2cf136337f60fd648cbc222a474d8c1f588d6d1bffcc3bc454fac0a5b439bee424223354f8c08edb070db5943d70219dd05d1527e9279d1ef88e59c934468f99fde5819d14d6e62a9e638a1e1ed8da50c97ee44793e7dd81bd34d31147a64b6e323bf0c1ef5c84f6ebafcaeac07657ae58972ae9fa4507dee4a5568c953a897ccd81b172cf492d94031b74e755ee0caa4aa6e2c07e4adb39fd6a907482035f13f46510a274c7f60d6cf293a2c2354c9f85b8810d12bd27be84b481891b476d47aebe7b101b38a164ca9d26f9b65494b1066e4394d2996432d4c0868a197c3452ddba035b20230d8cb218dbb4be95f4d267c1802d20821b2e908106fe2f5f84943e1e2aea22c838036f6649ef8d129ea7360397639cecb625fad498cac0e776cda6da63a54d9b0cbc7632cdef91fd93c8c7c069c83a724f6e9e24f262e0cd64ae3afd2187fe1b062e788e19e6ae62f25730f03176efbbe4cdb1ddfc0263f9da2fef7b489d6332bc408e589d2f6808afa016ecb8712ba30b5cc4aa98f76b01d6e0c00376d8b0610111dc88810c2e30f6eb21488ee71732b6c0293d7a428474cd74112fbc602f6468810929054b2a07f97935290bdc79eab1acd899363754a08293f6058e15e050c18d8f2fba78472c7042efde73a734d3a0917105ce4f847589b4a64f2f741424c30a5eac90e9c10403195560f3281d9410295a4abe538193a1b458e4bc687e991b5ee8206526903105ce72548dc5a05312394a815132654bce9689021373e6fd053da524df50e05e3f58d66896cc4fe7095c9f7779acb24dcd5927705a7ab1d2a724eaf16c02a774d0d19093e636adc86002bb1b3da71c64c44ade5b9540c612d8179163d2397dd06921194ae07e5cc33ea890d2ff24706922d47745cc29c90a12d8cad23127ba9d4fca11d8bcdc6b5e9142800c23b031869d86ecacbb6fc928027f523404a5eb6943810c2210dff3e72cc2d348bb650ca16c2cca1042d980838c20705a3f6bffca25f5ef3280c058ae4e3146d20f98a4a55d3912e4037634bbf95a6fb0515f0264f48015cf31d1796ccf4f88074cf4d039e86f3be02d523ad16b12193a604bffe50f194f04995c7d848c1c701e37f9b5aac9fbaf3fb270103270c0565eabffc608e92ce8232b069f821b5ee848692db8800d1bc829f038bce000056cd8f0e23321e306ac450db32463c8c9a359326c40ca20f4c6b2794895ad0567d76636496552bfd18d410b3e82889035e532651babc1458d1a5cd4a8c1010ad4b851188918b3e023a7be989db46df7840b3164c18765371df42c59de642cb8f68c3989a626062cf82b59e9d1547948934e42c478059f2afb2f8adea5ea14560c573032bb369eecd2db10b6828fd8293c6449cd75b163055ba642ccd04b759d4fab6047d908afdf9cbf27aa82f324969b631232736a53c1c7be482d2a65b591d91562a082fbb515d17be527331d418c53b09e47de84ac7f718d610abe4ad6eb88ced89a7b26c42805dfde3659a28418aacd118314ec7f7dd219cb62fed03fb23e551063146cd0513b33e9516d0b296668104314b55e021610c18d0dd02044d9a03108eeec82107a1f94a8607f64ade0046ad84043108c26d577df5c795b9213e4c0a1810a54c0868df762052b48038d4070e641db2247f0de4003108cccb94c9856fad530ffc0d6a8b52bd92637d0f003f7122b65b533fbc08630f53be9c952a4aeea86e1036b7741949d24f191e71e78491f5af2f4049d9f3d0d3df04129cb903b4f0c0968e4818b6c324db77724a99a1868e081d7ee8a9493ce7c122c60a07107d65eb486a49df7db441f59373c87b124d0b0032325889c714b5d74517e64edc08140a051072ebf926df979f657ed23cb8bff42870bcc0f68d0814f67ea5fc9526593291f595db4e0c61cd8fecf12456c845e6eecc061460e7cbc519162b5f547d40634e2c045887f69ac34d9c5868d0a400f68c0812f61fae93d52fe54e937f03542e4b552dafa1378f1153013a0e1064ea585204754526d676a032773e5a079a42535f25a030d36f01e7ac97d42de97d4af81f7acab8af79e37bfaa061a6ae0638e41548686e027ff34b0a69d9ef327bd2a713f030d3470c1265d3add6da1ed7e64358d3370fb57d9740cea52e225021a66603fe45f5013a35da05106cede64a9b89facc91a0d32b0272106dd979993daf847160d688c810b31a8068f156b411762e0be54453743cae04127280b028d3070a91f4d26b96973447d40030c4cbcb624256f0e3a07137940e30b4c7c3d7d22c6efd1ab40878e2e6e5c610e6878819b6c6d425fba90446ee4d0a1366cc4a06dd8e0c0c78ea3820d7891e30227803cd0e80263b5a2f36d8a60262e34423c5efee6504d41630bbc7932d1f655f9c8a2a105c6bcaa27c9589e29a92c30f14414556597fb2f0e0b1a58e0fe2dfee4f4f5de96b282c615b8dd3cb3f34b253f49134d59050d2b702a0837b5639b2a30bab2e49d1aedd23b15d824b2654ca9a3716f9f0227924ea64a1b74a94e4b814ba36f2cdfe8a06973a2c0c7509a92a65ccf665928f0f1cd5a6b37988a9ec0064f5a2b664d66ee7102d7913489d613ba2fd4267019cc42c6fd4ff75b3281ff11962bc81cdd8ce31298609d5314310ba575a304f62304b7b55cf9b92e49e0a2c59cf3a40e12f8b2b2ab36551d81ff90a65d9f2d315ef6c6aa054470c305348cc0a9a9e818834dd2152409a051044e678a39eba6e7f6fa895006fd22b44c69690c81ed28d9a4defd76ba240d21309a5499be905f438241e026084dc964c5f77492018e1d37fccd013480c045ff98528c9a7efcab2cd0f801aba52c3d591ecf9eac0f18e5efbf9982ea5eed68f480358b49e7e4efa5534e7251835ca006173588056a70518354a006173508056a7051834ca006173588046a60800235f04083074cf03c79215de468b91f593a1c69ec808fd8ee263d62524043076cde1441f3eb4d536d8783460e58d389694f7e2a0d6a8403ce43c9a0be3b0cd4559d80c60dd85fbd8fbac1dc020d1b70b699ac520a3a8295690b336ac1c791f144b4e4eeca250ecca0051bb5738c27ef2cb6052d0a3366c15d59509d924875d7b42cb8bd4b91315774e386e738c570302316bc9b5e8c7933077979833538f000d4310316bce511cf4a6272c48c573042c8b0e096b959523e1531c3155cf02c3235f84dd220b682cb5676a1e4a890839291fac20c56b029fa934cf8b8c828c140cc58c50c55f0195adbefbdbe6b111b5498910a4e8b2695a24754cf3d2a38fdfd54c16ef39aa89019a760ab3acb3aed9ae9ffa6e064ac32c9a3e2f5e9901b6694828b39f27f4daaa4e0b746e8ccbb59c38c51b0a5540c9720cdf535ff91971298210a6304f5504ffb3e6e0bbac881e3acce0222b8e1c58c50f051335c27a8b10e1d577f17e8f0a28b2e1660c3860d1bc60a3340c1e47c1a43c6a8b939129bf1094695be75abcc106ab589618627381b21ca56bbee4ce93bc1e528d14905d1d13eb89ce0db32057791fe22e2b989199a603d294b996a1f94fc78f137ba382ba81999e0c527e5902dc967608211915332af9c4ca5dc72301f665c824f69f2fa8724a265d59660f34b63794891f9d92c9787199560dc7243e9dde946953162062558fdb8b182a8c91b2b23c0458d07d4e0826b7051a3015c1c61c6249820d9e25ea75724c1e91391beee5d9fc78f046336b944c998b365ae21c1bfa7742582520bf9a2477072526e4bce2f4184eb08aef266088fe13782173b37a133578ce062f9dec9f8e974f417c14d2e9dd1dab736e928823d254f55359f7b484922f824bc63e6d0596d1866208289294c4749a71987e02ba6ed1132448c5fb91d3bde868d1b75ac661882dd90274fda7ccd2804fb9a2b7a5021d5d5443308c14fba0e29bf4f48e6313263106cb424319dc7103175c5093304c16abfa4d82d2a921d0836f50853ba741e1098a452ad8a21c9cd7226b73191ceadadd4fe3ae30f5c48b9acbd2b88ec76dd48818e1ba60e0933fcc0f9e4ab9229edc728417de0379e344d71a38ef2988f2c671b3f98c10746837ee6274d3252eb7be0763d261dd92598d6911e78338b954c4c270fbca64a57cacec503a342e56c9353b6147cbd03a3266ec851ddaa828d76e02469fff897232beea60efc475115b9ff6bf358e8c05d0cd13b2755296f55e6c08770d59cf282baafe5c0dd77d091d2280e5c1679552d32545b8303dba156c163756f6084c60ff2b6353770b5493d57779325d3dac0244f1fe26accd8c0867b4ca6ad3f3d95d6c0ef65b10e35eacb32a5063e447989e4602927280d8c0591b3c5cc49ff4a34f05a224592fa4fa2b433302ae6a4c2479b7f5f6660cb83b2959c42c54448086694814b9341c9f2a4b7b74f64e092ce254c438a6ccb7f0c4c1ead127773c3ad7c31f0ef15424ad522ed440f0397532a13c9ad43882102032f4a4ecc49eedf5678bec06952bd413446b1dad70b8c8dde203f8be5dc937681b1508dbf1a572e702aaac264c7103b63b905ee627aff515dc9bb835ae03f43e42bebbe2bdf6481d127ff7387ec3a530b161851a7f53ceb9505b55c81fbacdaa742c7f138162b70d9762ae6fd4f75ab5481cd36d9a3e9ab20637f54e04554c9587152d8c76f0a8c4ad249e5f4cf4ba19302fb29c5ced55689d7b928701772c838314708d93d28f0aabff933744fe0a387bceaf8c9728c981338174ba271e3e4fbbe09bc7f501172c7a8bb1d26f06a95429229b594bd4be0dfe2e73cf955b3a44a60f27a660529f9a25f92c0e74e954298eadcb61512f852a9ddee8475dbe908dc68eff5668b6fb68dc0569954c9d9dd96a322303a67d04b1d53e86689c0def8a5641dcdd933436092658946b6cb5a8b08811df5abf8a70c02db9935a8dd60a9d2c371a31e30030848aa4eb514a2858976e60ab54f11d947e5da92cff80167938345dd4ab5fc241f30d9e3a58e9f4e4b52bd076c8ce8a1eaaa7694e93ce02d54d41cd5f31d30da1f2c59be0d4925e9800dd321b94e0879a7ee1c30398ea890225ddeff71c0c81cd95a97997103ce45ad8898515cd47666d880d3eceda743c8a90579cd5b2c667069c16495b471b208f5496667c1a5ba874c79f3750a595970fa2122ed9adfa75763c1c494e2124412417f5061c1eb0891ff6459855cca57b039a56bd0f7fa215ad215ec650c19c232da5a48b6824d913a89202d8eb49c157c92b1d7548a41999aab60ff7443d2752d227ea80ab6fcab3caa5e8e51c354f029a513eea646f487202a78d336aa6f39a89845a7608387fe7aca1ae4494dc124197d434a3e797f2d05fb194b4cafde83de1852b01694bad8eea7f45ecc28181d0f99561eb2698b11059729f99ae6a5bea44b28180d315f74a70de9a305144c3afb91ba6f49dfe7134c8a5a1ef3e9e91083e709ae4ee7503197a89598eb0497dffa3ce7eb2ea13b4eb0bae5d9ed43ad018cbca8945086e250200e06038140280c8220e97215c3130000000c18138662d1684053e4ed0314000452362c4e322e142024181a180b4303612010060583413030180e05028140281c09b3444bc70771910a80ecfadd7303cab7d64e6b9c330f9c79c5c3ea3ec4109d440526a525c07d87e50c38ccf2ccf31611ec6ec55f33241fbcff6cf5f5897f9f78c3f349d0b8e6d6a6dc9765bc15f4b653029861ed10d54004fc9c8c98ed327137eb57f992149423e7e0d14dde981bace732a79f71bbf6969314ad228d645065c1fb93c7016620f1ce154ce19b0b3b6e84dee0f5b4798e60103d317fef23fe698d1b4ec244753dd6b9de8444ec16eb723862928ba8354af53429233e3dfcd0f4e09c06387395e0344c2bc36fc5667df7504bf52e60e0e1125003fc1b2401e3305d3238a668b348b4063fe705ff1dee24e5de061db988349bdab8f32a9801c97e5203d522472343d3ab213e52a3c417b748bf769ab618825f5051c95d78150ec83dd329e0b0c3ef4a96c55b49cde9991bc46386f59d68729d6f3bf083f1c351880b699a53493051387f79474fa4018393b1187660065aac49e8a83ea45ed8e2cbfa2d516282b2c3f98593aefb3edb68f717e6c83cc5f4aa307e78209c50d1ceeeb35f57f9eb6bc2b365e3c0f97d659cea3456afe6bc7423ee044c2372b3069b2d04a8a17523cc661cb4b8367497b4a2b0a1310245ee772946e5a91fc80e6b2c58e6a68835de8737c7d4200a97334caaceba17124bfc6880b0c4f9f64274fbcd33d841b5d59b8f750217012da650c801f2feadf3d9c7d04dacf35bd82b961a8f2b159ba4f93221c4387e773c53c0ac8d9857098400b25194e8350a9d636d13dbad291fadda7c520131475d60fa739095a43964c8cf0533a09a4a0b13a911c68a56b032a0a4d94dc1914da37d2c6ee6413d2c5bb3f0da2cc9f1ee1bb088d56a0930f1a6de5f2d1d217c947cce3cd1365bd2f440164612968ad2edb9a3629fc3f7ff7384963c46d1d74ca6a61ac0d57519e79dfd39e7439dd45a277f253fe93dd0417c188a24e7b6186096c13ac10c3c0a2ee6659b9ec39c78fd79da1c1209ee2fd6ab01825989d6839131c12075f657ff953fe4ffe56fef7ffa47fe25ffa99fc2bf5b2137f6c740d3c2699e8aa635f279547b36ad769399c95c98449547d83c25d836ac25a13dccec65b3e94778130a9f15fb212eb48fc716a01245a9296eb303b9e2cf7b3b8a2bce0f4284f11b52fe60bb41ae40382710c41e2787754840e736224e16c295ce416dcb10fa76b5e0195b801968189e75e0af8cd029a372e100d868dfa71972ca4a150b97df34c663bfc66b0679eb191120eb935df8b5140ab2d0e9e86a3b168607aacfc45480f869a2067f2e81f68e927a9d34e587ae03edb40a7a0e4966856b2715725d9190355662cb49c7f8d4842049a2daacb4a793994cee92b9d9e0c1fa892908851813752ae32f3be12024d1173da7efe8c532b06a4715de64b171914ce312199d952f49cdfdb1cf29a083615deea8ebc88e6527db6acd16c64153e4831c0e4fac52a6d84e5f3a16f6a1c0632718e13279aa485a526978052760bd41d335adf27622e37676a8afa6658959509644efac15c1c056789a8e869d1ab31501ac0d58e7f4c78624fa155a4badaf3d657d4ed5b6e511c2f8e3c1ce2684bc037122e2779076aff0abe9ba73c7957cc52b997dd6127954721a2833dcc56e3a829764b890783ad44d588aec0fb00824b0e8d9cbe96778fc336e6225607c3fcfcfb8424cae927855cc4bb2bc52d874fa91c2f18a9ed70de50bf74d42e465dc7c5aa635e8f310cdec1670c783228217224560d53b1cbf6f1a2218e874f3916b21dbcecbff8cdfcb9feac2c7998c74a593277e383a62c55979e449b957ef0d0d65e543832e50a886d970825677c884ce0b97dc5a8790b33d7520e1a04015bffa3f7f1c711a1eae0443b640d96204c5171bf6a67e13800e0485de02dc8f7e188d0ac7fc044b411f5493e18203e48d07311e32f263e984a40197bf5981bd246b4fa6949bab497bc1186226a0561c8f63d3e78016d9ea93e97e68455c874b14cf890af3631156313fea63e5f3f1bb0855db93d2b105eb4d7645b0e00f6cc71648282c3ecf9fd2b7abeef80315277df987eedc45fcb976f9206f3a0ed0dd87f6270f27652b0d02463d486830743bd46a873236b4315e14a8a7d1cfc6ce6c5a8bd5592a834f85c239f46c6b212a001998c9cf48b46b4880c53271144689469057db5a908525d40cb6dc3d8792d9b225b93052c42512daf1a496931cf87377d3e7fcef7fe53e9f1ceac0d310c92070d287cc97defb6aaaf770b0380afcab0ca0843cabcf053f36d5e9a1d4dd46b682ce30f4a5876eb1f3cb144e46fcffaf6c4ed8d3104000800c3a7a6717bfd6acafd7f984440df42a67a4ec0415168c0872c0368d4622665d341c7fc89632e8061896c61738e198083cf6fc3fc301c099676b052460e128fb1193f20f75db41b448fd811cf5303a07cc48422d000ddd45fde0683e1c433e76b52b6d9f7ece44214ca778358edb42d5db1c504493f098894ab0e31629f9cca6971d8e1c441184b9a692fb46dd39b90ffa1d0aa5b18f6de7cff9ebfc75fe3a3f7cfe9d70b7c7ea9ca1164344f093d0c6978f7db71b341f109b8efdf81da267c48340e7290215fd2954546c54d0e805e1575140b9d3a9a593f549fce43ed93f1984da22f49732a09295cb86a7f92403529b844f3a80dc267d9381c91dd2071984ec5665c0db84300980b167e9ab33d8f3a6a74faea0c6c6b56fcfe09f1b9d3e3c17c4a4ee02d0aee1f29033c3c531acf3d36e6ef7b8159d4e04922abb6bde479eee72d124428b00c4934ecbef948016413d90d21336830ea94e8a8feaeea958ad0cd96b75824bc99acd8a535ce9813bfdb74f04efb5290a0145820e42b543ada0ae5065a58258b5525da16ed1a4a50059b765b5aaba4015a102506d504ba76e548b504168b6a494d437d4a49f7a2ae26a9e32a506550f1e3d01071c8a5640cd87b57b6aac5486ce3e22318bde6767a8a84654cce0072adc01018b69f2b4b18e3b6427589a460631075041b23466948998408e50db9c6c8d703469bc0815bab8aa90cca72749aaa005e921219588fff5aba89f4c4ac4a584e9874d487690b6da725938f8fceeca1c75deb4506acc7857b7694e27a6596373f96ae814483fd39337ad9ad46caea1d86a8e80084eb18cd81b0c2f46c452d15238d7af4d4a76a0767d59a03a1d64acd6b48096d39969e367625adb60f38480035d8a43bbc9a264120189aae7ebb8e520367189ea4be2efcc6f6fbe3be425c2bcb0889bc17e0e3ac8505c7a5c5e03ea03aa24340593efc417c06a1052d270f3c2009a325efdd11c40477761e9b9ba4320c42346a06e67fc9405315a3056445fbe9b690a9b9eddf52b8f92fdd17e61bfb0ff05937dc3ccd3509111e629d53148ee021ab95f8adc9b090ed59fae3608dab86736c34d7d215c18d854b37167e3381b5d9b9836c86d7eb7d16f23ddc6181b5d36f26c94d8f864639f8d349be26cf0d93cbbcd34ac68367633360fdf0c87a3d946b68dc136ee7236c38ed184b636f66d9edb58f8da4cb8b1ceb0e4eb50831bb3cbb933ceac99719681a0e176772353c51b4e59e82c0c098c4f675d79b10e97248738c222e651f69a245bf754611a70208e5f2b1a0b2f002a0650c6d05340a10c70d0fdd0720d8d0c0e459664e05940f04c0ad551593ae65394c59da9ae7fdd4a8cc5ad5856e3984db0db15dd0448f0216fa29dbcce8daccccd6c55445673929822ceb18951bef64869ce44f2cf8dce8b99364d84436e27328d2202b2f151a3ac86686320d437760f061b960a01f4cf2845e15388d6175d35d35745a3514cb34ad745a2fd328b47913846ded40e02290a9637fb95726f7734f0ec7bcefb1c2d14b830b321fcc307a018cfafe27b8c181033e5c3e6104ac003562caf56a16f4258207c83ddb3e3c9f2ccac6f8203f4b80def870614c9b3ae7d8f9e3ce3425e2deff1de293911ce01d8b03be269f3e679ce3c719e57cfa627dfb3f3de29c7c07e42180fa567444fc7abed31f60e7b8278de50de041014f1a5404a7e2e0c5d021e38c86f309e88754bf006ccf8c346d75aac98bb7e7544c1f668104706c87ba38b9fcdcffb3b9df0e3c19d4462e87ec24798f958003e58cde43d6a8b04f462e09d4fe3df87789368b1ef57b1a241f825bf320dd32620f00773019498069c053ad6497235084e046148e307e650abeefbdcd38651d58026e779cb09a5db6289487f7291d62730641d02389cdb52d2e48edf050acf9991683ee1dc1b46c92283ee55857a788dd441f63b358c78e3ba9f761d0882cc3a074cf82fb00eb8c9a4db22045ea944c25ed8035661d4bd8dcc6bcc4e2a4cd68d327f0b6f2916341d317ec133a0e61f294ac5594a7e513c433496ef4f68ba0ef6956f895704c2e672ed949252654c175cbff402f3abbe1d81351fb09f4793dc54819664580f989cfc48bebb003d59ab4319abda89933f3660a89b207f6bac95d57e412321d1902322ee910ebd2e11dd2142c920ce6378927c8c15b47cd385e779ea884750680c87efa0cf4c8505b27d1e1e60b62740aff0994ab18ffd2851e0d8d82c5ce56e07126cd9f1244e1fe5f3b3f441e45c99b7d2a2092ef763519453d2a01ae552de675c33d44ad0df1e3f261f753c632b2c500a14d403d8ab4f6d1d6aa08da811157d2ae443df60a054588601b6092ec8b451c95b33eccd0df38d438f6fb27970fcbef9034650dc5023ded6b97bfe8943da84a927123ba44a7fc617a627e96a9cd1b232873b92dc2a9571fa4bb9f5b5e134ee4318bec85d34480f8d1bed4dca642152bc0bf210aecfa2b1003742057829371b86fb3d9993129252d242d971d61aab08a81bd918a22ea891bc2f429f48f7d4e4364b9983ecc7d55992da20b9c10f76cbac46a3cb4682326064cfc4aa57dc34b14b289a56d04ef0c39bd25dfc77a00330d70657046d03bdba1fd873e2139ed99fd3709d6aaf724248f844308a8133bdba4dc87c1295c86dad1e41c628da98dff80627735b4230cb2e1843221f78160f60afeeadd3aa9aea3dd18d35498db79752cccf90595880fa6047900015657caefca2565649826dbb0e84d678d60afdf0936ca50b863fef363062d5d678239c4c566f87db2ad553ae6e209d5bcf1304f51239676db93610b52ba9593c956560316eed86437e8a1060eec9e8382694ff5fed194ce7829c948b931b87858292840bcb417db0830a6959dc579e370561a9891b6062bd25ac0ff806e97da117f2f9850396356bf2d022d4880a02cdba3fbb0d82a5dbc5e0c49b18440bf316f5e615585cf34e2af53d0d73dcb8bcd432be010a299fae465520be0aeabf165a139492286ae90815566defe0c3092ad19a176a28d583e5a08b2d5c2ccf702f5a9c1cc018b989a8bc12a61f7f87d8492b89aa68795e54e0435125816d56160c82c492b226cc9e111dd4094677fe929201a624fdade1037500019ec9f4142d0226caf3df43022e2ef9101ea917543020286b211f86890bb4e05e1fd6138601483309d224c2590a93c893d1fc4b601b2f3faa6f8307b418ff20ff898b874afbd34fd70abe4371c2d7fb1a680cb0f52474c0c115bf62e16fd8d2d41b90ed26cff5e2b5b755c073626529638b7ed2e9a03c6ccf406da52ee67deaf37ae6a1abb5b5f002f2701782c2fb62689046cacb88132c6de8a6647381077bafb36b42b3ff078ec761ea01c7a498148921d5a9d31d222b51caae07fef18b1bc2d940d58b67cee43ebdba4cafdd8746b56ca02814be90f90be594f020406a01a110523a4498863a8d55119a95a1b7c6fb43e5b61067b945f85b679e4b88a8326b8becd4ada57151279f61045d5c606f6237891f373b4dca65974b735d5e5cb6f0801aac157337444633e57f78c1d53410c416bd48dcec64ef0b4b5cf91ea01e58b602c93b559c0cb4d26eeec34aedc559cce338cf7f3675aa427bcafd357cf206df76362884d5b148d6b45fef47ee1460c61f9c90676cb6050e0ef876dea4e14288798202fe5523aa724c5c94572c8d4d61050911101e857c16edbe03648434a9d1a174069950205f9b466bd1f8e2da722aa0fdf1e17259b43fac3c811f6085850507431303a1888371236858fde8c0824499cafc1714fd71d0432a21f1b685bfa5ddfe3b6a0ea0d49264eacdb7e8c87e0d002599647e47c78bacdf8a14b891bad98674cbcfc76de9d8b2848234b6039101a51140818d4be974a2a41d6f813ea9e983f940920af44167b81688bdccdc8035ed2b078a89340af0b89e4b7b96bc9d71fee0586e4104bddf1a10ec80fdddda63edf58b2fb4ed8cf405ad4c4136d5b0bc08f6f911d6703f98c9577f3bbd65c2772d7187a305b3c1d38eec97597a4e53a9edb829f38ea9e0922f04f4a4d7cc74d8fb7ea32aa3cae990b922be56880adddc2cb277628b9f9050c89cfae59defb88aa64bbc8a94e5e151e90513d767c9dffe7180781bdbe831b44904ca884d96dcf5c6b2f5241a97ef94e12584290561944b10e707c30605d1f35e8cc0d962be63f2caf3d476058ffdec8b2244c2839397809f8039742e4bb5730446b830d39958bdcba18d37089ca9e5028b6a479b78f3d79e9413c786c9ac76e8a42f1b17591a0a13fb6125be2f2531c817e809fd703c87701fe48c07d44131d583b2121a22347e1a7e00b6488af024192bbc31cd3d1b258749488638c4d6c6d9da072247cc8f6a49b8ce00419a3738bc5881a519799a9f548282141640022588aa6f25204a88bc0d558309912e704819d3e74ea1a52310fad673afa0fcaf656a9cbc90f149b4090b3af809fddc380e4f86fa5bdfc4b2a9fa9034373aef4fad1da0f415e57cb369d67b03ed31812fc7ca4f048ac270b6538271b10aabf22aa2711595d2e00a9dd8be6ea28d04a8239d2f3211ec922afcd99aea2c7c2707e05315c0af0fb6f1754f404a7b1ab349fd1d44e9bdeec61418958653f0105b5cf20ed31c09194653506225dc002484e061666a55c51281d80524c87e2dff6b064f0ef542866033db749bc417efe10e1e8858af3248fbda39aaafda5bfdb7850584b646ead00a4d6d5053fbc7b29682b3100433f4ae97e1d986182166fd52a449a16a9a6f2e6ca0c2d1a09f25f7998bfe70534a820b5b405c6a360a0613117200cb89890514a2e5f39d621802db61142a7c44fb68390446cae0e0c84b0add25b3b2cb3a265d0ae569b98f4e4bb36e4e91e09e1c4ffe78f123a735ed14f57fe148cacf1c001d1695e13b01800f9e2b9c64ecf7fea664b73724a2af007bd94d3e7e00553f3b87fddb06eba10b6528bb5fe593ef40fb202c9c5625e258ac9533a1d354e867a78ae62ae32f65e25d5550d8f25944085ec42052e153c7a665b602773621b9ec43efe3486d8c0d77b1632ae20cd485940c6c1a053b894f58ce17b9c1c2ea101383e66e3c038c3cff61afeacade7527c4aac79cb5a931c3e86b2b20ea8dd3e6274102f92ea84705ff3efe082d016a9dda6cf0c7239b03357f993fd434924a3e2833dbfcbc2a85902fc530c977a270949076efec6adf4d14d63d18f123efabcaddb9b0dfa9c7bb5326b28c2f58103ea952d5a529ff4bb1a194d60ec7a5c108d47e5866ebbfe433617e76b59f269f84093d1800de64ce7674107918e46de832bb46f04f66e5506f420986b4403351046c2aa21368d8284359d38186e1f5a75572b14da30cfbed011067d335115970cc242eff27ccc64286892c382180f3063252503948d10432445f0b44f83cad78ba8f2fa1beef922bf8480337633789ce8d98a50776c5fbd1afd0dcc1bb8081d3d2122459377ef4f1684b92001927cb2160cac595345dbba543473acc72e6403a02075b977b4585ebec0ecceea3036664abb60dea764c9ed44746aa8fd44327b8cc5d2b031f85e2847d557ed02c0a222d40832c1b86b4149d6f08546e4e11faf4af91c053237327c14c266ee7a5ae2b2e2686904071fca6963a082159c404bbeaaa02c71a27a651f24f98b17193274fb8a79f49442f189ebb419d6a0c6361ad9c548cd3099fd8e94b315413fe58eed2834a7ab228de60bdc65ae40da99890a58d55cc74c75949f61f5c18328bd9e82abbf0e6c268865ef14d93456d2650f10028bd06500acf5513e47dc5825d9bf366f016e53a215e2e878ebf6baf404053083ab251079a3f6f70ae27a3715976fbaa2872591352abfa817f019ec7bf7ac0e854347af4c249708f0c323b3b951e53650fe3288601385eaba7d8a9246c336a248d7e599e7e71b95345ce2700d844bedbbca8c83cb593bdba1ad944dde57a1ae3fb8fbb438cf7762136879f756913f0971686d0942f2c0c167d617a63b06fdab3f8610835e31f3309fd5fbe07b993b56c7f8c85af7b8a5274a1aec7ad5057c76ecc872931163d1419fa034f4249bea26c33b19fa725d695443f52afce83f0e1c3f11d4ef8992e16d947116c3806c8b06f5593f31c71e75dcf0b88dd4954c05d701c238d35e04adac906d0023838001c43f63d292a15e7a970a97030359bca045241bf125c141d4c48fc8380d3cd30c16011da9be39739f10d683bd4668a9f33119a99fd257cd61766b8a9008ad7b15d511ebb39a45b77d841cbf9889f613f8d300dae8a081399e644f8b0df8df1f8e4c1fe9c4cd92148993498d10c02e2e0181ab3bd482ee866f2ed5a3e3b95637fe5b9a7b2eb42c63b95633793dbea1e2ccb5d41a72a64484d2faa649dacbf09f2127690c4357733ed88cb2182e3993af15af6b4749db1f39f293a34753db25a3fac1350c6539a946b2eef07a33b15533526fb601bcad61b5d6ee20c24cb59767cd8372874f798c552d7ece10e416ffe09f507ea4f921c9a9f9440c6c534af54cb560b1df86e8fe494368d3b2347dc3c5586e0e5d6b49ec5c23868238c9baf3908f64290d9180952437151805ba335b58a76f0244c1cb8017c34ab65dace2b4bbcce57d4ed6d8580162000d4095d394f8304213626200cc57421affa5a65fb2485e93a1dd326ac4b426204a0c52d773df6b590d85c00a2b22e13d329e56de40f3f31a6b822c409cb34617cc284fe3de1eaf76735faf8d4bca015b22a7072d6840107ec72559360f5f83536416344d1bc510a579b760202e7014a00deea27c08c2d256da17d4a836eb93a4180c5b0abd49d25dfda50fe706b444a54e6b17c18916abe229ad618204d8f083b0f19fe5dddfcd0320fdd66398ee9e24c8a928ad19379f64f45ff60c2e0aa9511501dcee4e4f635615ddc59cdce8df7f58ea0ba47ba1e9670508f120797bb1040ed3b7924c07ef7dddd83234c97b5ee744cad14c9cc507190467ade09a68fc38cf9d28ad12fe8348a51bce2ef811dec64fbce2a74d4e9a9e0bb8b58365c53b6024f9718d4ad26dc98a53a3f8b2bd45a4051a2fa6465ee409ca3ead60393a5301c075b89809909492f606b95b2046d863a06934cf1552beb964494ae939d5d6d07ce28d03b183228bfaaca269c55156e523f00ef00c1e471b0a8afbe0557d99af7479d3173075554511c6285c676bfde3733a7fe05024ba5b1a447943a2a530d03f379ad923bb8d119f558b6e4d8a697cae2becc4fb3098bd473d1192ccdbebb7978dc7396920a48d4cd94259624944ad65c2305acb3f548cd9f9b264f9d8f8202628a11b07ce7ffc7a654500309290a9d33d049429e78f29b5880a4a153d470732b65e4d2869a94989b293d3e862f9217908ddc03e550ca2c6d570503ff06e35fe516cdcdc5f5fd5d14799535791e25c60d4c417ef373e96d8fab22da00ec925b1083822fe551d6989c0872fb9025a98cefbf32f1d9e0fc341a9b51a034a1abd3832d0c5343d695ff6676cb7d3cd04ddb539cc5c0d657cb020414e41c460b5a41dfee44031ca22a57a9264b2167eb0580099c0201f712e6028cbcbdea73a7187c29e303e2c7e0a2ecc02110f25511bf92574f5fef654537a5921df82ba74f1df0d5d020aa301640237643b8f386b3a03c81de1b50b734ab2c968e75e6ecfd9c3dbe86e175bc441795b58d37a8fd55a0e8a29479d1ddce2cc916e02b9695bc02df5b38dcde02f1e28ac7f296c3e407467eb6890807f311851476e33c46db53ba3376624d1526829b4ed93010f61296705f195492db8d873cd567c5b397b06012ad40a3fd104ecd6c152d0afa4cb74498263e6d3d8156d9b0c3c95693bd33a1615b67083c5c885a2fa9e421d118d40434f3bdbbbabd01ecd48681753b97863f1a42a549cb6cf7a491196652ad4e729946cb7d596c6ca197507ae65b1ce18452c7bd9d7e8a0ddcff47e9174521d286123b409d84cce96761124336865d7eca65fa5c0750c4ce3448cbb7b3ab3c61f1d7b1aa3900a660f0e978ff4965ac364d072a17febf5db2295cfcdb584669a9b151e57cc41a1f71ba637251a930a7e4204774096c81ef952c3a1456dda5d670aa9d9e161f5124667fd0546dba618afcbb708a6290a0ecf70528213bf27a24644d3d254267107721816d3760969b687422b0a9dcbc9db192f4619628162a9cfd735c8a8ab91229103b9a50a2db38916093d70158bf478eeb00fbfda5b0570ab9c07ae8b0074d1443029829e2a68e2eaec453044ac9414340d3a9946d76591be3834f6b9a6868c9242ba47e896fcccea65524b6d68c4f24b8415a717e5d6283f4f4057d57ce375f49a0d5bc2db6d14f27ac3884e78f26f65db705393fda00f7339f434f4abea2d5a8b6f4ab89551534a7ba002ec693184ad17baf5d59776b09addbe40e9da5ccb0a2f9d2208b667baed3d09db15362ea2eeec2a87a1fd48b0fd1531f3bb74ef670c0f6412ff8612f0a622f80d84b1fae57feb8717de60df2c1c4659b8f9bd3db47f2d07b06be7a050319e1c3f45819b85468880007a09078b800b0a98d793ed2695c908f9ba8272199d62dc7e8e22fcbd0b3c594b204054fb7ecf158975344300dd07ab06ccd9f2b4c0ba369e149c344f52f975e005ba129cd2ffd5d6c171e468ca9249a27c5344f421e52bf0c69e9a52fda69b93cddfd8a49fce22a94347b8ce4247a3ba1949cff2572e914409302afdb5d1b69c8d69bbe30112180a0edd8b01aa6359b00a0139fb01aaa6fc40668970a87b53fe03a4e71a2275f2cd7baaa7a07e67f5f5314ca2ae8a4927f8ba217a686afd642bd36f50908a08efb509405a683b45c296dced2040f8e7552c0da11ff0406a3bcd5c06468b76788da8b3a57606f01189710ac76ff363699f9bc18c78a6f99ee24a880ab42bc85645308f23a4a373fbf86c7d0449d28cafc7fd9488f0f6306f40ada446c0e0b5c407b5846f7058563e15400888ec05908772609cea0a8c627cf5b8f5d42e8249f4e1755fe46604f15a4b1600c837b153acb8a01a4d737e47e2f92ce4702f478edc6df8e394665164846e3fff975238d6498c80704909c2a01c2d4663ed78403fc58aa90e5be725966971b765c624cbb15fe491909689173ef184599db7d7f5217d119ea4f878f2f444b02d6a395208d96a1a473adb1d5726cc13ccfc30362d53508d57551166ff5eaf250a855e719784e1004d8d6df1d457df454f07016cd7b7812f6d73558dd5c0950771e96e30b7a106f379989310852628295713d7ac824cb102196f79f189737c5289cadd19fc0a89c5c51c0e84a494b9d5b12eb8e9ffcab4d4e1a50ae072308f1e4facadb415978b1cc7b482a7a53474421c9dbff6b24a2d023f565a752599eeb33c08dc7ef845e9820bc24a0b1b04c04313001b79850a32460b9c0ba83671d3397153dabd27541a8dd18ba1600ee955a1d6108e1180bb6fff83d79904f72b8b6c7ee7361cd5cbcd65aecbb62e28b9b5be632a331572cdbcc7518c5b51b8cfcce84d9139a71e08acf8afb73a3dd8bfe6dcda78ba532ab5a47d7544c7a55aed47ddcb548a4aa12a0c9814caf72f9bc3d6998e865c0d29d12f5149b29425c44c262fda391bf11e25cffdf4f5fb27af1c288bdab43fc49cd974b9f9f029b367c5ff1b8e18d43cd334f512848fde91efc4e57d8fd58c3f131889de1bf4ccbf6ebdb8c8814a506fcf463ee3b77732cdca2563890ef2c617fd9480e31df65747866b3616736ade7f639bbd40dce5a6b3848d26c3fc392c98bd18cfba981351acb53c638d1a3c1691bf224b45728bb5bf5eb2e152c5a47423d14a53b33ccfbe09242fd6690f8eecceab1ba4069f35a1e64168efcb2a40060499827fdb816d53c6a253f763b094c37bbb34785c220218320cd9628af59e8944681c4ada28f16a255c36a06cf02cedd237474764e73c3360ec417214bbb54eca5e320728c06a3b9988f67f8f5a22de0aa4ef0c1c95196620be530ddf8604d85c2b4bd30960503ebdbe41e2315d8aca12a80a2e54137f6b5855846a9e85591da8a45b2b4d4cf9ae8b95a947079520e9040b4d81ee231bdc20f0b5ceb44d4841e9e23d93daa14f9472efc44a50e0ac3d10004ada69aa80a29aeee02f5d2aab83c95d89add790bb5b1634642717e69c26bc3a41a5ea723c10c0f7906e1e603f93af6fbb475dfc0d9005ce80ac91ce27af3b13082d191fe26b08a94c5e44e7da8525c571311649786651518fc68a9458c3cc2699620089a4222f3460c9a2fe1c9161b0c2ec1476161d02ab3824a192fd74f8196e28de71a0946f6c28459400c5ef6a6ecb80d06cb5987a7c16bb14dd109ac3d035351a66f79ae65a860b057f7de3cd916167502485a76683e11c82a30310c8e460834004c01bdbcaab5347288e34eee407460c22f9f4947bd5eb125145d18547190a7cd88d18074aa1120ad98ffce7f413952006b036ec440bd3e5e9d3ea5a19635c0719677893d249f48ca235148d22b095e92a79684128e9ec66a55528e49271258244b29f1a913f74d544f4bbec9f383b10e0a3ef7a8211e6b165ccda7551ee17be4f780efb1dcc3270f1d1e523c8cf230bec7c34080c8d970e2342cca02de52443f0b3a50b0a6d001f3ffffffffffffffffff18f61babdfec00ac92694b9939579fa9a506994932a594524a2a010000a02800000091a85b233c2eae1b5c550b670bce0ae96d30d5b67d92c663cda99b0d0625744e923849ce5e425e8341fda3798e1377916b0340d4604a76762a8989de1a531acca6543a0dd5f1c9244183a942992837a2ce3e75ce602ed182891d17cffbdb0c26f95b32dcb7520693b8af79bd9c258341468b78e7fc295707903118bbc2c9cf9bcfa3541383296e8f555a1806e3972979a9beed372b103018be4eae89e697fcb69402c8174c6e763f9e92eae43103f18239e7b620fede492541c7bd00902e98eeea5249490a71c1284a7ecfbc9524521bc9ebe8c1c863c787f1c5dfe010806cc19cfa4e8e95f7b9c1d65a307c7912f3a2e22bf7150618dfe38ec717387a74a08cc717387a88a15e8064c1142d7f4bc72a0308168c1ff36de9746c49a3ba82a9b6eac3bdbfa8744a4646bef814ecd8a123c70dc4636424ed58010c40ac603861ee043fef0c21b7e73f7eb80a2649f2b274d964b9bdd6cc86711840a8602a6164599725933ea9bd00320573129556fc8491a3a30b2205d3cd57aaf0a474d265ca2818c3538e7f223d48d912144ca5a3953a4b72ac9c522d803cc1d49dbeef94c99e21b2130cea5475cde910a409a60b2a5f2363b72a68204c307c56ad18262749ae16812cc174a29aa44eabad283ddf601d204a30cb09d9414f8a150f317a780f1e3692604a9fa453da3274ba39708020c1606631ec725cb8ad2c00398261ce4f573c4943948018c1704a89eea9574caebc1e20453087b94fa92799e8d1294604737ca7997c399accd32520408680141b9d53688592845608e65c9b3f796659308004c1a4aef7f22fbaed2d56be00020493a836ba1d442ffe49fa4115a764af397919c407c631717432e99f3501480f4cb2bc2f7e0e3a58a528080f4ca1cae3670db9233e811f901d18adebef4c0aed9d2ca9070f1c5d182b407460fe9ca3e9bc6d134b3ee1012407a63d515f4b0ef51d54677900c181494ae9d2dd8c08939104203700b18139fb74e55297a54257901a98c40b25b7e5eae89e20bd332034307912fa4d4a7ea34a12cdc2202687a7b81122c2872c8cdbf1f3e1fbdb9d93b130f54991f7dfb53ca302c3072c4cb1739224497e10763a6e5df87885392999d34eb9734a52fac31506718b2b499c6ecf6dd20aa358a768ab25434c7c5961eaa0564c5eed8f5598c382e80bcd1a2585510ebfe1c5efd061016ec3872a8ce965628df228bf6ba7c224786a2761498ebabca2c2a0f5ccca84d29dc26862a8b825c83539d7e54517356cd4d8a2c6046a6c51c3bf8b1e0ec8a103478f1dc9860f5398468c5adb93920c1d945c056a78d1458d5298fa4e36df5757f74c52183de9e0b1c4eeb0ca7014a65197b38ecc8cb9701285b1e6ccbd4ac74261ba9193ec744ab5949280c2b8a73b49a1d3fd09ab55ae2af7c91326cb7dd298144fdcf874c2609268134c3c5da177e78439c7afece4a3b4e3496fc2e4699454ef57f9d04482db091132cf84a94c2a9353d48bdad9e4031357fd49d55513b479f81278beecf14125d9a7d39630a7de4f2654ed8b75b812e79d3551ff848ee93a25cc495cdfd277a7a1de4e820f4f3579c2a40f2193849e23c54fd6e43c8984a9d53b9489f6edc942c2f4a3c4f494357c3f4e8f3059d2d5f10f93230ca6356e172cb57aca37c2606295529656abd26c4698845282e7b77a8b30c75e5a1274f49f94a20893be9e1759a9728ed7d0c4f8c2ef6c8caf408d2d6a5825823395bfb424398936950bc32d00010bc3c1b05116840f441835f552697aee2b49c9210c16f6ecd47d74d96f08a349eac4d592a452a52e842995b8936bc4bbe4d40961b8b51113e4bfed89964118dccfbd32acfd4d703f04610afa6ceee2f995cdb8c33650f5110883cd65dbd7d337ea830061aeb41f23fd35bf82f00fa60e72efa97ce5c2f583b94ec664976c9b9f05fb607693e4d447f9147b4ad4928b0f3e98f49ad227dc634941ac0d858f3d184fc81be1a74a6e1bf9871e0cf25a1ef52fe97cda471e4c6b3657c1a4121ef2e30e0631214209f2ea47948e091f7630057d829ba89f7438417a818f3a9843dc29297b47077fd3071d4caf5da9db44eb60a5fe98833956cb86c8cf17103ee460aedc396b468810fff3c8480f3ee260b435ade2a7cfdd0f38184749766e733ad245fd06a3ccbb5deb9f24a8cff10d1e2e81e40f3718552e8f9a9367e6d2c90d361b780d828f36dc698299f7493a1f6cf09345b1f1cff172a76b2807d91372fd240faa411fdffb8f592984491a923f7da8af553fefab0c1f6848ee7ecb136b5e33db19f4b5baff5116bc04290f86c387191ed126acf37f748dc6878f32e07341c8bc6831331dc30719ea3e591b1fd7b8f031864ccc70af3d35e2c4c9460d2fbaa831323232a227860f317c926c37df6618f8df919d747433dd26df438707701ff10106949c771f372eaba8181a3ebe909858bb27aea5f9d3ea48c4e0a12311c3bc90f427f342cf82eb775df042b483eef88999ce83b9e09e9d6ce2e89e4ee14cc3c716fe589e6b64d87c666b860f2d6c82c6553029ab28b5fc0a380ba69df8e18434b7f0810574d0bd722af4e512f455c3c715aa92fea24c4a256fe970c08639e2c30ac99e9c1c239e3cf8b8878f2afc174b4cc55efd96a5c616359213e0e08166c310f141853da6a512434962afb8848f296049880a355bc2749748a15132a2dd92dc7db7bf870e0f7c0f1d2bc88d82d6b9253c8e2e840f289c52f62ecb179fc3fcc2c7133c2b29da69ed946beb377c38010da97b9919eaf5d7397c34a11caa43b7e7e3c60ac407134c3a334f96249f2d6aecf803861817a8c2c7124c974446ba79c5ff8f8a133e946012fc3b94bc48b50bad091f4930d95ddc4aeab6ed260509c694dbdf17cbf57f3a56c2c71150a9c4f4cf986e532114860f23143c9b9978095982922298e358d00f75621ef82082f1cfb3df7d792e7d3a1f4348cefd68599373c9aa163e84a09855f868eb2308c6f014ba9ec2071012bd51ddaaec724aaef0f103ec049d24c14e7c2ef181b1952adda297c75534d9ff0adbb7143e7a60b020ab3f2fa35cbef3c10353bfafe50d4ba6d38bc640be430c841ce0c50e30b8d8408d317678b17a0111d81800233e7660b2754ba5724d8d4a5ae1e3a03e9598bbe0230706a5bf175febc18139e9e8c1829e2d7149feb881494e97c32e850b0d3e6c609013c664f4628c3e790d4ce29a1c2b13c49335bc88408d91913fc18edf197cd0c014c4a9cf956ffec54d66610aeabfa64d56d26f8e8c5c40043662a0852ccc2f16fbc411517afc1b438b58a897d6dd2bcdfb898e0b2c2c4ce32509d65d6a3e9bd22bcc9f99f5fd792b08d3bbc22467cfb1339d25eb7d5a61124288ebffca1d936656184c3653cb399c28d6d95598db2457f5d112554f54613cb7dcb6b52b15e6f439099fc44d50618ab9a3543a39b488d2294c313447454ff9c493c3a6309a3ef9fbed6f76e195c2f8d697aa57e3a10529cc1926cf924abb274b198616a33069a9f45327b24bf4917da22387d9e3d8d1a3b51085e12e8c161951f9408d2d6a80a0c616354250638b1a22a8b1c5030a87c26492a750b19309f12c018549c9164367945a0ae97dc2a4456b09fdd2c94cee78c2dc7b27ae3fdfa7f8b80d2d3a61923113deb4963ad182130655aa4767ffe05ba2bb09a3f5af652713bec1c6021d5ff0d8e1803394630c1e99002d3461da6afff425d5d3d394099305e1a644ca8b6dad5a60c2d8e9b4240dfdea311f2d2e613e4198bbeda5dc73798e8c84010642b58449ab28fdef4969493a5b0953caecaba47ae9e45e2961facc57536de70d36d56212e6eb11224a5e93a40c4b18fe374a692189c459129416d9d70a6209681109538ece5315edddcec11c3a708471070963d945d1e626b5c4c5460afc779c34d6e21136a28523b011259926b87f2ced3ea00523f0135a2ca2686e72c4bd8915b4819111b46364646d478f3024a185224c490ea25ce5ec1c3a1a038930c94905bfbc6452526fa205228c95daf268f3a0a42c4987306767e82454de0d610a2ac2b249ea36ef73853069697652972eb7168430a9b3a0d659e77784e5066196cf79afbaea2c2d7f017aace7cb8b2e6a1861c6140cda4c633d786e6a6986144c429d598a68910b6644c19492b9bf7faef469fb13cc80824916cbe65e2d322db514201d5dd45d08663cc16c594e3cf5fb60a394cc30c30986f96ce2c9fd943bfac3d61098d10463ca7589b7cfb124d1ff14381865650133986052727f8528b5a64aff5f7ce160d8483b56502ced58012a60c6128ce3fd29fe5f8a47183cc2c0d1430926eba4159fda2f95609204c37b5613e2c9d4327631cc408271542c25ae8a6dcf898e605a3993454bce3b6da73b406d8611ccfac947b7ad5204b3a8489366a49a5ccf218241964a72aa133d6b897008e6fc17fa622d8ff65c09c1a45436cf62271a04a35e96119f94a513f33232526600c194d26a88122de95072708c1e5e98f103c39c5955126ef2f5f5637c05ea08337c60f26f4fb9a4fbfac9713acce88141b68eb61c2f2e6f1f0f4cf24f79c7db7660b8ff51f1bbdade4a8e0e8c66f28cc969a9b79db561e8576060989103836ad9559c13652cb4337060fc8a35e7c1848e4e3932ccb881692fd9a7556bc996eccdc00c1b98c2bae443f7a28b1a767881193530454f26bc89279720cca08129ec9b3442c6629fa5385082206316c6103a7e565df4fa4ab790210b83f755cec1457a5027ed4517356ce040462c0c26a738c243bbbda7b80c5898d2843ec136948e939e5798bda388df8ef1147dbac27842c5f36015eb3dfe5698e42429399892739693900e64b0c278b246b4fee675dd691526419d1a597aa3539e30c340862a4ca77f55be67f540462a8c6d1dd39478914f51b540062a8c6e3396af4cd6ff1ce721e31446b5202b888fd47735d986b1408629cc9f324d6bfb5fde5e1224c82885e9b7fc64f114c3d7ba1b0c811c3248611aad311b21bf822e8dc2205fa9b5b2c817fd118529a73fd15e82d4ff700a85c194cb86a9700285c9c4735c077d66baf409e3ffa93c62e5f784c14f7eff4a7a27ddfd4e18e6479b59aa7869f89c3028416e5df7966cc2a474bea49612ee39e768c2a44e992488c82c2fa567c298ebee253ce5b152c184b9af4f8c93e64b98c25a38ef98b525cca24efdfdb99530e9f630adca95a265a184313cc88e97f2839f9227613ad9a664c7d2a7dea39230c958bfbdbd68240cbfb62b5ad2c69728216132159331ab78ba43f908b378693f9327ce7e4d4798f54e0c8fb3b6726536c2b8a34c5df7058df991110693ef4e27952ec2a064d4c4688a89ff5011e6f518257ca6a578629808a3a8891fbcf3d5a48688307d1026fe92c8cf153a84d983583fedb9218cb77f490e7967a79457085392c3891b1ab399e611e214eedff14e6510a6f530e5512df9fe6b8230c71a0f31de9a21a6f21c29231006d52936ddb388bb3001c2bc3a63dd27e80f663bf13fa6deb5767c3f1874c793fdc29df4c1a4a2864a277fc4077389df3929434c9b18da83296c8ba9d24f3fa573f4609e13fd397e29d1827ef2604ee92df8bd7bf0601c8b7f7d59e256f47e079374dff649f4b7de13b783f9529b582a79693ff93a98f7db92f4295aaf454d07a3c62741655ad29276cfc13c42bbb69aec49d5a5c8c194a744ee089d535bc271309c9ce5a2d749f1ae190ea6bf6079d749f8e89c7d83e12efbe57095f29b49dd60aab46edfebb4e4adb6c1d87199262793a63f9b6c30d6a67d8875f1743baec17cb29334eae4d72bd95383399c5ca64a961cde279606a3ca887fff686830c9bf9d9416319ba3740663a95b50f2db663097a0555ed77f4990d6f0220232ca60ac5225ff5af88f0ce6fe6042072d5da3447732c6f055509fe3c5cb7d0962319874c575397d4209196150de64e49ac87d09d720030c063dae164fc689225ab9c1565632be6010f5ffcb9e93e9767190e105b37c4952765ec73cb0030c0be401e620a30b66bb8ea54479d52a394903195c305852c9fe93ebe9284a6eb0e1796064841432b660fe9113ed848dd815251308230c07f4c8f1608ce1613c7a9443478e08b4a0c7c8488d2d6a8c31b21e1819f9027d3232b2e3c3e081c60347189e0678850c2d98bb3e09faabc6535c8a5346160ce6bbb3a1b6dcaa3f2e8020030b86afbf9c4785095a2b490e645c2193a7a264fc88563066a7f324fd08ab505232aaa038645041c614924ab3477b8d88bef8c293c4474670f80e2fb45c001c21430a9e901105e6da6e2c60e8d8914646bef8422d1132a080329eb0e996dd18133afbdc4ec873db970a4f5b4a789b90d68e7f82cae9a87ac860424992b296e4296bba01194bc8d356d4cd2d25f9ac285ba13c9fb624bf7310660e2eae02329460aa94de927895495d926424c17492b89f2d4d4e4ab04c06120c9f3fe52bb94d5589a10d7b818c2398e2e6fc88bd5092ca65ad3320c308267d599ee2cff2d8d74530c5589c0cedda0db61dfe5f20352298aae453d6265a1e65a32118d592bc9c5afbdf91e680b3800c2118434c1246ccc7bc5b3008c6eb94848f6e377e475a17328060f050174def4386bec5c6998c1f986d84544f426e892769bd60816fc08e05be630b193e307ebef99bd991ed80000b7cc7c8880c64b81db4d5a6a5b72d8307e699d1d82f3164858fe364ecc06029c5f7f4ce7d395637d87a880146224307664be95b5ce672683764e4c0dca7cfd64b254b92e86de44836c0e0e12cb0f13d7c470f1e880f9081039378c29449fa7e21e306a694b9fc29497915fa2929906103833a3963de412d2e8a353007d96dc266c9ebb6ee88c183af861711482610031934309d14c4c4ff5dc95323905918adb47f30d172f78c0c220b93d261b342e74a3da16d01482c0c2bf25ad44ff4b70081854992cce64cde1c217aedf11178859f2f678f59d3577d5de1e65c7c59e5297180b4c2a8de294e94d215fe8415a62c39899cf94a21ceb40af39f4e3139c74bb2878f2a0cead9f4de5ae8dc27a93055988d96dad0da2909820a53af5e5ffccec9464fa73098fe9ed36a39a6e09310b25b0629c51b6f1594bc6c8090c2d0393f693c84106f701102c828f0f81661612ded1618192940001185e9d2a91c5adade2806094549e710fbec7ff29290c70e1d3d3cc1b1430717c9f7b03132124606baa8614b802b8080c2a4da84532587302f25a93b7a8401f209649a243ac96eb0217702c413a7b6bc3fffa9afa95927aefbb178b92ebdda3776e81083c7c8088f473bc4d0c1e34f3032b2458d04c5a851a34e8c1ae7c4c831460fff828b91911cdfa3877f914a015601c20953de933c4f99bb0973495ac298dc572a4207a209839ff7cb99147dfd4c9853f80bf6abf37eb1c78441add34a5e8b7df185185c5cc2a045bde790b53551279630dfb45f34e92e891455c2b4a272c73f05efa4048412e7a94add55b5514fc2a4d349f2fe9b21bb4516201d2c09537e5a0aaa9e6c74656fb02d08402261b4bcd110267eb9c593310620903056122b990593d4e5732e0d1f21031047185d7470550bf3c9f32b701e688d30aa8dc8c6c89aa04cfc061b879130a0780111d810c00d401861da7b7bf7603be6a35e8429d32af59f302aae5470d80e401461b81f196ff570f2f711012411e61452375b4bd5aaac91114418eb42289d943c7a49e987308d4afa3c65a8b6f0a1185b64a08b1a2323a54c02c4102629dd92459394d0349342185474f2939416f9e61f4298dd6e64ea7eae4b5ba0c61635bcc841983cc5cb29884af5b1161041986b2fadc675fddbbba98287007a0fd8750640026152abd2776a3564c735c79fa03d00020893ea3a997ac9e3ae09fa83299dd8ba49d296ae7c1d00f18359d35c4e0951f7eb1f0d80f4c1549f151e55d4ae7e85c78d1d364ee007cd021bb08005ea768001068e00840fa619fdf14b9a20c4977c0f468faaee33d7a5f3af07b3055992944f52f2606eababe0c1309a9a5e237a399e7c07c397c80eb5aad92159395eca955f772075306a5d38352ebf8d24078e6435b60043c70e2e921c38b8685080d0c1247ecc519e748b3abd6eb0d5f022023c9e47074646fa1220733068132ea6a9cea89ce4c8c17c765254fb7e3c4158cc00120753dc50a1f3743898dfaf842529ab1b03c81b8cd562b297ca9a31d386151037187535d4caa50aad078ab5e50aa6d55371be5b3a098dad600a3e9e049bd156c11cd4c7a5cc1ba9609282c8886f3905f3af86d251aba29e631722053ebfce45d3ef449a1710810d141205b357a9a0e4919fb49bec0d36dd408d2d6a8440c1a8636961dbb27de5f29191911110d4d8a2860538e0807f2e922f45c8134cd94d7d2a59e29d8792134ca55428d1a389962e879b603a65324ac63df5fdd7801026184d9aefe5c8c88f3e43f4dd0bf199400f1d3a362081efa1e302232391085182d1946ead59c971084982c97574d00f156bb4f635bce8829160f011edc944bd7bde11871cc1a484be11f5ee30f97edd76116204538af5a85f42be55ba36102145307d5af64951bedaa1a71f4288607093bbfce4ba59283f0a21433056871c0b72ccb34388104ca29d8a75b2c258080982b192a9680b2fd569d5b510209846b5fe99d64a1fb43f3085f0ecbaeaed4f3d31c407a65ce29810b24c3d3059ca495cba3c0f8c67f1f4f779901eb766206407c631296b7e085707064beffe1e5bc10499e6c0f8effb26b4a495b756e03c706036515b2a073d62b5746e605261e15dd7a3c574d8060661252795eebb8e2f728b167c6298928e0b84d4c0e03bdf9e71a26b08a181b96e94bedcc95234d09885594fc5396144a6494a0a076461929e45b975251db408a91668c4c2a0fb269cecaaeadfefc8c8c8485f81062ccc222efe73eaace382c62bea2409134d4e57eaf2021aae308caf25134349671df73078f44d200f078d5694fca4566713171aac30a5ab90f5f7f2a732630368ac225bab7b4bbb20e43a92b2011aaa3009162be73d6ba58b190368a4c2249d2c7371395ce88a5f0c15a0c2e82fc273c94d0f534f6129a0610a93d8f13cbe9a54a14a4d678f63871727c851571fa0518ae452509d2617157800042c30041aa430ca85b6781dffb447d6041aa3308ea970964e9becf029a230c512cd82524fd10885b132f365947015969280c2f8f96792b0a57fc220945c79c4dd43c313c64f9268963e2d7536118d4e9845ee9e3ae1b29cf28b86b91567524b000081c6264cb2733ab12cc77312222b6868c294b35aae53d9f943e83432610c7d6582a51e138613963f9736cb254ccabfb49beab99c476709931e134ffe94e7e38a66051a95306c6b9b4eafd461e5568106250ce266722979d7239fd3051a9330dbe592212fa597b00a0334246114db53e99334f5fea7489844cf47e56f4dbd3e41c2fc29987c6a314eff243dc2144fce597fc811064feb702709d649ed469884f7a625db4f395e1861ecab93b590262731176190f5ba3da925741293228c2e629412278fca6a4a84e9a472f7e0294d9e8b08b3b8fb8b8849695e3d84f14c4daf5669ffdb10a6d3f9459e7c95e6c342187d2be8ce8a5e4aa59e10268b6f3595dfe9b641185547c5d23a823007e11b3ac93c1026c94ada30b10208539274bad12627a4e70f0695b7c458d8cc92aa1fcce25dfa93a04cfa600cbddf2264cf0783092abc554bf660343bed94193256457a30c8785225693fb592ce83b1465b9ae988f6bce0c114524df058ab7b22be832989d25651257a8d6a077378be9463651d4ca7e2c81f2509d9613a1894704fa75d44733089a754b705159283298956b124f1d65a49270ee65c97ecafc4f013a58783498711f18e5fab1dbdc17835df9fda4eaea5dd605227dd6c6c85cb513e6d3087f93c0fbbf4d7f5b0c1a0cc4627cbe1a430b9b306a30815ea530c75ddeea8c1a0f464152dd14ef94f8341e86bb9879d9e4e82069360bf29cab4dd86c919cc234f92bf63e87f1799c1248ef0b6f324269a7819cc6da34ed23959ef74329865649b8ca7c760f851a2a386d6e56c8bc1dc5a333a3eded35dc2601cd5b972a57beab26030678f36266bfa0553e9ca3b3ffa25a8e9058376f48ad1cb9abe79176c8406174c6df19995e99dd3bf05e308f7e471c2ad05e35caa203b49d253af9d05c35a0abfb6f6965f6c2c98c5e32441582e7db3f515cc9f5af4cb496ab493ac60be643ae55c16a3e452150c9e614259a7c83d3d158c7af2935c9e4f9d90d30db6bc29d0988231a4b5aaab7d92d389144cb2f85a6ccf6f268a8231afe284a599fcd1030573961cab652ec7eaf8134c79f1f29fa49d60b439a15d3d745c939b601c5d725abea4649a9609a60a1fc46735a52ec9b908d05882e94efa9ed60ed7cf2ac1a8ed6db52629c14bb424c120bdd7e5642d4830c72849fb734a93c52c4730c79b1c53bbd29bb118c13cde5fe25c4e97ad95229843d7a229b9438f678508c6af7e51c2734d273d0fc158c9ce3cad2f04839293fa12aa17438e826092a3fcfb4f4a4a650f10cc6ef2851f654a46a8fcc07cb2d9659e8f8ba93e3076ce26e794152a9f640f4c6f9efc047115ab247960d08fcf1f16bf2ae70e4c293e84c84e5d5945d681a9a2759605bd2067710ecc79cb54bc53a1da2bc681e182989caa04e9eaa61b98e42ea81b957212a7a76103931c9e9dfc043b1b118d1a187ddd2c67ffdf5c0f0d1a98040f2162d27a29d967611295b7b5e5b2b230b65a9e24bde5f2743716a650ca93ebbe68d5bab030f7cc7a49c2dc5718bf3cc49fdca5c8922b4c5672b6981594944f4e2b4cba5bbad3b3e54be2ac30c5b37813f43e974eafc220d7f1a57e2da970abc224eb6e8b75271506d341c84c917dde51549853454b089d9ec2f429fab7ade896a974ef3faf3ce14aa5307775ce1fc652e9fd49611c8d4f2789496a4a46611421ff533ecfab94441446dd50d935c49cf050280c7bb39792b48b9dc44161d2a6e7da93b69cbbfe84398eac703adba1a478c2e0ddf2295b55f26a270c1e2d78a5aaa4a29f9cb0c18c4d98547690f9234abdc45213a88e7939ca9664c26492f4eedd1727ee081306f51d4d179d4a251dbc8441e8738f9f276c093b5ac23c1fb26db73dc5a8b11226b9a4d1bfdbf324b9480993c95b55fa5398251327614e617bcd528bee2b5112a61c5458371372bf043112c6dbad1e39418484e9f63a254187ac8a173ec218c2a44f62aafde1424798cf4a9a68416fc96b61234c396c5e38494a53b2424618e4f3ef88de53919f4598b2247f37bd1f6f3e8a30cfe959eb9447e9f324c2e8625ba1936c3ae88e08c38838a1a41ce476f63b84b9abab46bdb553d86708835e9ceb149f4ffc7c85e094b86d2895248449c99f26654926e8a86e10661327eac52b297dac4e10e61255f447dd7acf498130eda8a0e376f5790208937869b53c963fbaff07639d6c73517b3f182c9d7c2542e8af87fa60ea142b5659960f26fd9e7db6e664b8ba9b94625698b10753fc9c28a9bbf7cad483f94cab2513cb3c18abea72f2f194448a78308cceb6a0b39e18a7bbc3eb9d2aa5202ab383a9934ed17eaf834950272ae77cbaf47be8601a31a1a42497969accc17c3a074b266986d6e56016d3521ec5bce4d3e360be0f2fcfb9a395371c0c73613f624952a7e40d2679232bce8aefd8c50d38a30da60f3efaddef42e76c305cdcb6b8975d83592fb653580d2629adbf4bbe8d192f0de6606d7b2a695d4a1b1a0c563949825a106bb16a0c2f1a987106b3598796c93d6b626b5f381a066698c1a493d05172798855ba2898510673adc558b01c8499a40cc30c32cc1883a9f453f925df133f8ac170be264b79ce292715c72acc0883c1ea5fdc77733098ebadbed7c5c4123d850a33be6010fa67c287eb851fbd174c499aa494a8885d30cac69daea07922a2d9086670c19c72a94fd2859597f61b98b105639a656b37d1bbd26c2d182d9bd0a1be2d250be6d7ded9cf3dfb9f4bb0600a61a69ff42429b5890933ae602cb1467d88d0a530c30a8d75aa85b39829e26a594d6ea8b1a0424716f80e1bffc9865a154ca7be454e4e892d0a33a8600aea614dcf01443057f8fffc1ecba52b3b04a387bae59fac4ef9a8104c6122b449162ce64d0a0141b011062000088f12647e4e273f6004f8e02d212ea769470f1e08e84122800726e5499d9a13fb1d98468e5651f275c553c22f3c878d30c4b091021d3abed0408d2d6a7451c38b2e7a0508d081f15a43efe8f820200786333b49d36ffed76c43000e4cae56da2988c9f74aba81f12ece8707dd572a546c60568d7f53b1b706c693f7e304e5a12a6e45000dcc165b949ca137fd3b1499853b9edaebfaf27c84882c4c6782da34693a95cec8079158184e689886ca05f5208385298ab81c76e294af30dba792a437c9e3e7bcd015c6d0b322efd62297449156983dc7eaf7d31f56987f7544c7c4bace96c82a0c974cf4249c95581526c174a58e7afae749cac36f642053613ecbbed8654a8ac96d1e4450613049fa24c9b37026e95707915398ead255923c9d920b115364d2e809256a7827e11b8c57029152683976cadedad5a5c48308298c26eba8e45726d5c3f35ce8416414c693bbb5c4a2c6a74b1285c1f3abb8c8d22697942414261533259a868f758841617cf3b591ea494eddef274c279f89f1eded1c677ac2d82508254c5be78a73274ce29224d6728c9324b53861cab1106f362774e737611a995592dcc172ebb4068868c260524af97616b476e53361cac13c8a29d3abf25b04132679c4ef3fc773d77a47e4122641947419d752b3e1818088250c222c7494937ba7b7845709a378f2fc2cb627a73b3028614eb998ad3a93c674c9244c69bf3f09fdb224cc1e4c3421b3243b12e614d7a3c64ca9124b858441966832844ea173f90506914718cfc43d1597715b2aee08939c5b7241778a48234c5aa3fe52c8ca9121c408939cf309269654ea32169145983bafaf669b88a949ef14441461123c4b593419fb5d3511a61442a8a8f5b0ef544b410411c62c11d316cc3d44fb87302575f62627e5e8f802d9d0911431440c614ee209a3ffea3efa0815c224c24605e5ed272a657524dc4384100639e3552fa3ec82301984e9edeeb6c63d6591f906db176e23c9e1ba03114198a287da38a57284981f08a35c3c95ed1479e0487020020883169db33f9834f57292da4b3f9847e8a565c8ac513bf5c12c1644299dc28d92647683cd868ea46b20c207a34925ad97b86fbfa5da83d9a2e8ea389672ab24e9c1d8b9842c6d2294980f953688e4c154f24fba9c546cf9dcdba081081e0c17c235bfcf927c07e3b8c827d95d4e54dcec08113b184efc5825d65b8db8bba30e0665aa9ec2a9122b623a1884122ec22f289554f5b867109983c14b38d16b7772e97472305c52926062c5b55490e3604e1657514398cea7420f341c4caa9e76fc940a35a589bcc16cc1d4891ff2167b4d113798573d9788bfa8aaa2166983f9945895f2a4e48c8e45d8604aeeb147c9222accac226b3089b10eea4b7d28551f1135182c87ba39655d23ef2292069370a5b54f0cabd84f45d060d071ab77dbde7d64173983e9fa2f279363173183e12f5dcefcc91dd6a94819ccc1a40a916922835147e5bc955216737918f885c818cc1642a7492f256230c8300f67497a300b22613095e0316ceb2bdf8a1e0ce65869d757ad4d106f6341e40ba6bb9cc743e6a3589abc60102a4913552e6464475510e98249ee24a7caa9b9279eac8d258870c1d8676fcaa48744b6600e6bee67960e112d183e4dec87b79364febdc1d602912c98e2e592be3e76e824ae6410c18249c34536deb66d4c270c225730d7c941989c4e4e725c7bf0f8912b8858c15427a89cc20967278eae0ae64e56db1fff2de53b51c158254a97b6384abc5b77d220320583b49315726397824135b653859147c11ceb41be3c88fc4ffbe420020573d756d2be95d3c4c99f60ac5b0be661f6b47f9204224e30cbdefb9cf0613fb8da04739ef3114a48119d4a650a112698caef4a9927f9bf93998cf115483a74ecc8402b44966092f45de48f0c13c2b24a30485359290825e7b1b8c7209204d3d7789c309393126a438279d4a95cfd26e792e57ae4787404635b55899664bbeba818c19c3ed789ff513a410e1c37bcd8f1192848019122982e6fe4ada4535341e3098810c124fec9fa32456808a639a1be77293bba4323232323652242b0910c8804c1644a12c46a9b205468cb200204d3579f9d0e524dbb761586c80f4cb2c29dec8df7069b7621e20363877851921c4fcb2405ff61241a8fae80480f4cafa5e473695d1fd1df606b1b438407c65196f2578f28ed2fb9c126860d1d89bd40640726933dacac4249070655a6e468b5259fa5170381480e8c5bc1f29230b1d43bc74e040766bdec6e9238a9432831251c890d1e7c2e7203c347911a7b5a52ac24456c604a7ec14f1294d6205203b387f8242ad968c7e8a04184062649d20a27895afd8e5ecfc2a4fe57eb363b5f089185314ffc3b7afa2da98d30c04068606c31c617393090818b857974ceaa637be9b274606152ea3a65454bc79654c82b4cf2e7bf67782865a3bb3084b8c2a07b4c55122d29c9e48d86905618fda46049957e936249f20803470f2f84b0c2d471f6de75d92a4c5143562ef947c5425461ca7b8d5379848e89302415e61157adde2684a76e21a8484cd52b8dbdbd21a748b40f1e26b45b4c61de922fc69d5c522b85f194d7c713545b7f0a7d62c3c60e1dc946e50eff1c38ba781e3858f0e87164404d9310529884d97c979e2ad1b2fe41c8280ceba9c53d868d9df2f820441406cf936a6b7b753e9c42612ccfe3492895a3bb4ada10020ae3ad09213afe9db474f209c367ed1bf9f0b95abb9f10e209d35b8e8b9d73c925cad209b3ca8ee9a99639618a6e27b75cf6b4fa6e13c6fca0a40b965fce46a50953527292e445a7d8bc33616ceb7c9324f1d30ded0a30615a4be597754d3895e34b98d343546a5142e68df40223231b620993d4389dfcc63b749a628454c2dca99d53783cb9d1a70d4228612ac1f24936a3de3c6712263f53654a499e2d8448c2a44abc6d951ed3d0299130a9a54ada93529238415d410824cc73f2ad68895595937c2121e4112615dbc12c78ebc8571d611c51556147c3ebae343212d208939237fec7de6e747f16f88e3a46983574e712f7e753a47683ad98095984a9be664f09113a5f9a1461dc2afdde922d43084984f12d88fd110f559be60b421061501339d5d6a304fa1026e5676184889d14ea670d420ce129f57f5af4686fb09dc4060f2fe3e1800b88c0460c420a614e416457aca93cf1d4428844bc043b69d6860cc21c8d4fb7f8ded36fb081f14c8410419894ac1865d5694e548d4748208c5727c40575b166e6df60e3e1c56a7811811a12c8db4008204c9e83dc4baa523ee9c23f187c6f2f7d75fcf436fbc1f8793d6efc6a37f8025942fa6056f5554fc2c4cfc1021d3674f4502b0784f0c1d89aa72147e5bd0d295e0842f66050ef222f97baf5604c93d3e657554c92d47930fa764e527a1227976443f0602e1d96da41433ba91672075325a9f6d3e332b3437630e93cf31eee3b75308839154d6a9c743089bed353628721733088d6584af9da3ade192207739fe8762586c98e268f83a9a4f73427ee703049dfa7647be45dc9e137182ee73fa1dff3a7b2d30de63d136959d467562adb608ab6dbb9716283f97e2ce69bee4e92a03518aff49bca659ee48b1fd2b1238cb2e37be0c8103584a46143d06090a3c7737b505b9f82637c056ef070096c51c30f2167b0911c2166305e292984895dd8169d1b6c6b95859032183b2f4c4ef2f5cee8f0ec082164306c991c46de76e8496659c993848cc1d85fd2a588b6c560905f4a2541871d7b7f43c260fc4c4bf29da3166b7d4308184c26ddff59ce5d0af982f93cffdb9ea524ea9e8478c1dcaf575be229c9d3fd065be920a40b26d9567290b6e7f6c1bcc156638b1a60fc17660316b040b9f6102e98f3e8c9a6423ea6a9470c1578183a6e15215b309a9b7bd014f9ee7e6bc120f5b288b270557a9205839812e229ec94a5b160b80fa7dd61a28f82a854d2c42251200c86835114c5301095cb0723130000000c1c918582c1684028cbda3c1400034c2e2e5842381a2c24168b4642d15818080602218120080a84811086a1300ea381b833bd00102b64559daac590ff12b1ad16ffc03ccd8470d8d3dbe6451bc794a4d163329cad3e7b5c790fe2f6add0e664fecdd9c2300d25f0b7558e3914db6d9df6c287e9262c2200b389efdd816fb322868b74d46a57b74a1b9949231e03b187c9334d8c54be7d0c0e8cdc90d59bf800e4bbd24ef8d02901ecb91c4d425fb1b6111b17e3ba3637cc52975ff24c2e62774fea8e8822b2d45603c6c2d7c9cb61687b61c0479b03996490573312e12428ec08d30dd57d2a2e979f97991455aad7f01db7525b16878ca26942c9852431a2079956a39cedd830c7e97b9359df6ddfd91d21f6d7f8ae78f23a65b6e59222391d0e2159a5e47b2708db7dc7a7503f4acfe3b906b062ee054addd26a652e1ed08da820d36b4f57180800ed785a06216d746ce7f485e7e8fe7714e2eee102d2f268041017f8f21181d4721e1d91307499cb5ffe98e470ff0af677c48a8727a8803cc278351957ea10df654ac2ce5924ad25e96953b830fe97ad3659cc5bb21ef4c6f040aac9524e9d34c4f2758d848318d3a58f72761ec41eccad6099452fc1cfab8097676b64288cff2101eeaa713eea3f06ee22dc4a86f034fefe212797b773cb9c272805a1bb6625ed359e3a4f78ae52a2ca14ec10be6885a69a51e43961c98fd033b4f64706af4dadc9f4f9a75211702e525e8868a15b85db1f70afcc82023915000175aee1dc1fcb5b6e5a062e9bb2a0ee9f32042f4faa9273e6cede43ed3025728ba9b776d066c637768caf3e9ed3b3af53515a6c4a33f890a0f520fec215dbccc233e6db1802cc34250da3636034a4621275ce39923275f86eacdbc5324f6ffdf3ec742bb77618150c065ab439435a05d128a55e66f9cd53090e744412b4e5aeca6f40cf5d74a3ec8ccd6deed87300834ebbd2acad2eeac7107a9036bb8573280cecfbadc37e9bcfacf7ac3b0d03fae7fe12e7a2237983e30cd300b05daa776b08907d4c2251ca928871f6bae10b4f2213bbcb08e263fad036648820f693a704325d7ba1529847246601f48789e308e29966ad497fa08d9dfe0bd7b6c709e477139d8d6bd4e3364d273ccba72ed5bbbdc2a1a8e039e13f19a6aea66803c8545be60571f12188298ec58b61603d6534b11c5355550d257947438a83e809df85b03104329caeaa552e6fdbb97321bf1c2160cf2c9d1cfc2a5bb4099696521fe613f17c0a0b38b3b902342d1bd1526103c6cb863c07983acccac2ba26822dbc657e49d79408b957992d6a9922b00cfa0c17dfdc3a40ad8bc8570619bd4bd60eb6a337c300a6c76ab2224d63a25a840b63a79c53211a322663e8d394e06a38fbac6ee84838da11feaad4d44272b51515a419c1159424b9a037b770ac1be7846c92942b807b90f1b51a5664d39628137545ff6d7142466f2852e41de004a04745114ff653cd1ccf9ca9210c00f4d8d6ec219650c2759b8ea308583d369028bc5255bfb4ec10e21888a086b63159a56e02738fc81c6ad6993b088aa861d0d4fb402aab51673e3caf749e279fa43283ed11937e75a70b2d0223a581568b38d64c9453f2986ce79a8a08b12ed7a1b74c29e6381661d4db10b26888784fd8f62c99151ce9ae25f67e3ce8a8c7ae7846a26d5bca8fd60426073c77fc681f20b2b20edd4dfae2cddd55f359055a9a7a805d0b1e3da035fa964cb747f51e9ec1557dc0c48a9f682855dea8011adeebe94dd1023c6680b6c35523482a641a4443663996a7748539bce4b8bc1cb9ede083eb075aee848df4d325af92d18dfdd5ce0a5b9d214327b71009300a651df6316456f1ecb6151591381174195a044155005ea9114cc2e6ff9970c34d6cdd23c30657c262543531ae3b2f9438ad7883b4558d83ff37cae373eb826fa6d639b6709e233bf68124c0eac76c0d7d25b8597f0f5d258ed808208d9bb858b752616db06dbaed2fd5f5934ea12199d92e3a0694bc1a2c4236794fb8d7465ff4a6a75408c6745523acc8427ddceb4319203769b21d8be92ab5d2c6defcf47c5b715032880938a0d76565749f86bf73ee104b538f1bbaac265f099a39b503e8f419cbb107e68c9443dfab69a77f6c330356b8e2b8786a52f6918ca5d6b6a780e3502830e054bd231567b6e997f43e6e22371fecd14c8579bbe1d5307835fe9202aa1a29015a2ddc03dd1f5b0afd34be01148262307d97ac7de90342768e866629d492bbb4e812177a0c23a20785886aedec2bebf4003ec67646532fa17473116255a2f6d01d9824e02217f31b62cea41416e6986aef9a1d4bfe8d65821c5cb0e264a57b2842b04685db664f13967927ac0ff63cfe27b03304b4255203b99894a30c64f02000ef7598d02b49052d76dcfb3be06e6ca8189a55235c766124837940571e016dbaada913140cfbe37826a76ad41617da9d8b22dc4e60edafe0ec5090ff837768088b65fee4e45ddb1a68c5551e6548e82738ac2b50dbb7404d74f3831afc210445c296ed5d2535594ad2ba2cfdb21ae3b9e2f5da3c10324f9f2ff95688702080d7cdd18ff3daf88dcd98676e3f05d327a760d58de0685a139e003f9c930bdd54b89e205150cbc4ee48a436c6637c576bcef52829713345cd7b42115f08162c1763dcff30377e5b2b974aa20e4b0f7b74e147be943f459c8a68db25ee4fe0c1f608b60619c386a2b317b879e321082b91663fb84eb13ed8690b0b750a95c77b17b7a63bb3c6013619a1ea5ea813aa437c421e31e96c2c384cf66d39644410d076844ec8b82198450e613754b1ad15c90a95af4de32a98f861c8609579571deede37e67d14f099831245e93b04b38bf2e12e92fe7b165a3b1bd104f75fadde93af2438336dde14058bdeff04aac424b55be738cb64d1b1e205067a302b846f8acada45945d7c17581cdbf848adf84ad65e59f9e342f34f3642f28cdc4d6e7ef2526bdcf0afaa4c1fc5cc8846b6be7e62a40b6a9c9b6bf3d643b1532695388139c619892885e8433eb4125189cc80779bc4fa2e9b0544657cb8f0ea4427444e2826d4a47163a491d57c9867cabbacd32d10621946a19b443322b2b16a34a42cdbc6329b40f8189cc55fd80ab68f28fe838d988ae6a51fc3dcf62d9f07c529238888586cc28df2046d1b34ff758ba4c53daa62a78d885640817b3f778817e631735faeebbdd3ad5406f1a003f3e82be223956c49067236a00370f1875fe73004752ffba547787f98d9bc5514f652215dd2b9e2486e8e2901c4e25de0d7ce8212c7baaeef541e1d0d31688acc80d4e60ca9fe01753bdb398e1bded9b112a797240135c99130a711d08062f557806863d562e6f31a7db7fa5b3e311fd8f01ec23f4d3fe6926485e4bc2bf554cae46721aaf8211ad4122e71d52d1303527038af64b0261aeaee4cac1b5a8c9dc3da30402be72b4261471cff23de977745279358480866d029b4d21b46f96bf84177c9cb974d24d885e452849620468180454e3eec7ef1c4bb4cd5181630ce6ba5f2c01d3a6d8db6cb8103e28b967b12fa711f98b23c7a2bea7a7b6a2759ab7458c779a24a240a4394837b49bbeb6cfe0572fa43ee59e168802ae816e481fcea394919067c45c4c8e1cc4fcddbfd91eaaed356f30d896c74d411310d0ccce028aee1dcde2684eb14257c0d01d8b84d39dacc428f9adc81392ee3617078973b406b52ae52973246ed27accf2e6308082075de3eb16db59ea89b5d7b06a4233a2c3cd0bc9abcf47bc490dfe7ea1d23a26f4f7c65823556228137e7d22c298a660b38e512b5f9d1cd45d3d8d1a24a8148c8d1a6cfbcd9030ce37ae7e15267e5b328abd5af2bc1efde3cbb3afea7a485bfe61206ece02a4ca7bbfd709c85d563075373c039411502b9d19a127992f047b6c4498c910684b6f69b503272961d709a7fdf1457fe9042c17123f2c1b14747b5178ce78c2f741c40bca97864221723ec8536e75f26b07b5511f4e49a0a99b52a0600e28b91dfe1ac3c4d82a8dc4f45ad965643c1ebf46c6bf082eb5bc486873a74d53611ffb74717a75152b660c13739e8806d021da25978b890252bcc21aeb17439cc25352a80cb8309b5b0c62701c3564ed6207e7d0d462eaa77ceb9c12c5ce88761609bdb25f3b25dbd766fb8590d1b5dc926c04c3608c843b209807c97c96f193681ddc3f8b0814d30ae91e6ce9e14077ed567b8a9cb4a4cfd2a249b753509c8ddb28942882fd3cc8f2acd5e184a1ecfbcf5e5a3a5e621e265cc40f75b71ce075ab0f61708439cb2218f67e5c690843115fb2582e1a94490ee3d2088846fc2be6afbe8e6fc2bf499337b783e85b290a413b2e378a5251d6762830f9b90316550abe125f0b2abf9baf271dbcad6bd5da5dfc15d4e985b9b2713db7b21fb6c72f0769eabae1b660b7d8f30d8a9309802f6baf53bc3419b1deb70f87402c7d411b0a9c23d50e06c8b8bed1026c86c49030a3b2c126c0b33d212ed375a9394d5038fa776e8b8ed7683a124b0f2f0ea4ef2844331d8c3fd974ede6504f656447c00858920874a8931100483dd6347b03efb668e1a623d737a100d260f5cb94c4c10a49a25cd7b5940fde8938cbdd798e3f0987d5ef85f5fabb482c90c1ad403034fa16105c20699c7f8e9a7c1f0e8268312640775cea21b0025da2eb8e37afcc593d01a155d7515886c33c79015a25a586c8ba926fe779f847d7579dd3bdddf298b33a95c9348570847ada0804659a0b0ff650b1bb59d70a943139ee8a5d927e9c3462e718e2923a2541ccef6a70fb45b2a205fd73ac1681e24ef47029a3efc410edbc4d58f74a7b74085cf92fae3ac2161d7c88108d7251bf37fa1fe1888fd2d64ce6d6b8f5db0e0b8dd126133ca0f54b285250de3784c7d56d6ae88ed6db67e3fc25a92a2a49eb2ea1656881a761d30af547cd7b01190345ab7f6ded1515c8f9e6dcc9a2052b1c202736607c0c5321e20e54a6f6b9a4f325c206da86e7c4233c9c402572d9416e2f0d02ed7606f7519d349efabdb20258d0c399b6986098a88a7966d8195b096db8ea86a9a8310c387cf91b9db1afe54ca4c2c570e1d67bd7e4c6981ef4bf75d4dd575ce3e9f5ac0e7bd1464b6809b03bef7a914d23e440f0bddabaf214561e39df35cdfa6910575e990e87e70a8dd8fe45aa633a94243620a2d8ca4c8c24925f068295696bb90d2b95057a4695c18f423c6639387c0d5711246b5f4dbd72c3f50e5fe07b70f19a6372ec913a70952c5d64bcc47d52a994fc693a0ce1f580ecf48760ee3db3ac5a61d980035ba6113c7c5b0f94f5d2b8fcc4bc319b2df20177a9a8126545a99122b95b0e96e5b478f12bc4d3804a1c187f6132ad9fc259e0917d9114a7f3147b2b34a89d40aea5a115c6a4dc6701b2f18cc71e16454708963fc1d4fbb64f891943b295db234125693531493239a7f3a4cf761db9b0869e280595ae9affa914b6c3525a6e88853c4603475e5b6ad34483acaf9e64965ec9dbfca3171b7c151ff8f3133c1f44fbc1f12d138569a727249a8c52f0ec38200609b0eabac5d998f5924a1bb2263bf0d9fbcab1c240f9154f34c5a3ed43815868405bece7ee48109dee4f9ad4085ce43906c3dcee22ae39fce30f2541b7a92f42e82688ba4a86151dca82ad93e01918bec3e1466277c727090530673817d1eea988ec6f944c7a30db8eef4e288333fff88fbeb8408550e9d0da4030cfe7209330ce882c236760410f322dfb81a00cb2111937071f6b91721f0afd0d61e3328c4c0cfc1a57802f28e96bfd82f5ab52e0df6214be81304061687f9045484420ee3075666a30df20ac1208eab9a0111108ff3722efde4e742fc014e34af14b325bc00c0e908f166fa313e28423f87fb0448842687794798dad4913a92225030c01b4a1b5825b881d0ad61c207173bf2c8691922e33af3e3f9e4a73785003d1af80fc5830901cdbbe829c2a794e98d164238f89a605f9cdc7460f5cb52c0ee694442500a4c332a2e24c6e15a27aeb9b88fb0d2e2503c50a7192b2d4cbdce6458604f6263098260df3f4000d38f9c085e54e7a773ebc5a11f816d4509534181be01f20109a1b861eb031c4267e09ccea7f7c6df8940a377a52fea9821fc8955a3fde3b8111c21fefbf8f03e38f83d63c3c8072a84f286513fac8cd2496e190672b04a9e0d0301b07e83283581b8815ae069a3c42133c1e542134139c31b17aeaa80ae35a10f0313b36e1bb2e62e21456b56bf6734b7da121b28049a753378631d94ceaff7a28f1b7cbe362ee80b389db8bdbd5c1d5acf9e501161e4803d50567fa4235ddf475c734ad601a53ab1be78c05f0c6c8615999e2c72b041560117138fd1e50cfa94104abbf2f9ad8e02ae81065c38ed62cb18bb006cba19c073d9efd06f941e3af877487b1ebdd0fed02970dd9be877b0687f6264de5e7f751802605994cf784420191473c6552500e7996c995597fb20fae6b8eaa9d79d1221fc9b82d54b5a2c1890072ed54d4b51c4d3bab457dc037e35fe5bd5d4d717165086982f155c451513fd272d1f4a680be16cc78abc85c40612eb7afda05afdccf2bd05235ae8aaf6864bf3c28d7b2acff647873f14bd0a0d6f34da6bcb95631b6b977f0468c45a79d55a4a51417e46b40ad3da184c6babd5749de94e1700069928e3710a6e57cf6f0e6a2c5d0c2e1906891bc8d019d792ad271ea5042e5c3af9ba4206738b829e120bb4105d727e0afe85c12b4494648dae8c5ee62a77b6caa01bd4800d00b8fca66b4052369ce03b0d4045aca0cf65b0b3d445ad408307d109434b3cac53a7453acb0da3dc4ace11b2164dc9944020481a5a16a6d27018269018460eac77357f66fe473b75b6b253f144acea5191637d75629d6aebf0c42d7a583a7a36104d83441dab49e08365657c092ae5b10296cc4491bbb98bd8fad2787b9ae4a79546bf3dcb45d14df2253523c0f405b36a5c6fa91795b7ed3bd91e9472eac67259540c360e8fccff489ee83f26d66d5df7d174142f2c68459cf08fc99fcb279551ac5eb3189b32042058fdc34fe9d345e2c946140ffe748c4e0e6d82fc3abe3e60b1255e3d24595728b606da55a1269a102786a58500e209b5da415c0cc7359f5f008eb8bc7d8e51e0aece8595c4e81cd9e43002b88227d0219aa9fd861814dc6ccaf85c07b98431e489f5fdb1fa489de84db2e35da9944a4ba63ae15934086e13d85088a57f1cbe8ff5747eb7904acac79d98531436aed2d8d5e59e8a2eab6045f3c92622f69ed27e1b96b319a50df6c7664650ac947f239bb2e6260e0e2f1690d97e96cc8eefda40339854cb9b3ec6f40c3f81463e0a3f55423a96c5572a9a8febd7400abbe38bd73f012ba933a42a3851f22794a0c42cae7f1bbc497b04e4b25fc841d36441ff393ba4297c7a04a4c44d0f574dfe49c4bcc1dfb5ba7a4f0f5c6825c2c7df6cdbd3f291b3cd261c8d15f055c572acb6fb3fa63b602dff7ccfe1bf585008d914ab4b2220cd3d76d23462c364c5bd7dea535ba434f9185a7cd809e2d29954b2ac31027d4515742ada525b115b84311c87244a5895d41ee24e3d96a0277d80ffe1750be47942583b8a08a88bbd55ee774c15ae17d25f86fe5817f58475a2c591bac9fa7fdc5eaf9f0844d1dcaf60a5406808538d9205ab4bb3c00ead7b0712199018cf127ec4cada55dc49e0cb6d8d8f3f0f3a7c2d1af2eba992df7c94c0659122ef0bb8944b9fa137c059332560448f502f6a2352a9af683ba45e6b22c8d7e1b4c35b641f78b481de08fcc8be58c9a63179fde802d299cb0cef60f5a3985ab0489ac4445d08909ae5647d645f9f1f56ac81e6c82eac11ac721de015c9d0039345f24d25c18a07bdbd7bd88e20d368b8bd185fc3ea9d39755b0a24d1d5b126ee56551050ca23b1cfed8e7516852ebb374c3c834bca3cde349825447c552d01196fb19863a0894249e79ca091f0f62abe7b91bbe64904b3442415be85a15793a3bb723ef48bb73b6d7e25becfd93fd893602ad10422904e34f3ce66d9c984904413104d1291277c1bc24afba6a898c72008216942ae8ad6a68166cd9891cf30944829228ea45544ab18cc91d07b2652c7ed6c7ba4300639e6d5dbd5fb598804e0d82987240dd63ec6a73aa61bde1856635503b7600cbe0404dc1ec9e0c450ee43f948390d1a18581abd37ce33906094cfb8bd81a5d13be32c03e53be624f7af7d0a1ee71cd9f5372b63dd82ecdac54216ef691225d1e3dc3df4084cf16fc8e31add4f2491dfaba13dece22e68d75a08ed019fd4275d8cd16979d38b2333b3809358ce1cd1c659fb6d2cf46e5aec86a53ac8ac2ace520a4417b5375484f91b8918ba399c3a47887abde9d33203c212b0742dd5f5bba8911a3031d7ec97c8e2479d894165ac2f641605b1acf96af2adef671b3d56082f74076b8d95fed5b40715ffb31be082eb15bce8601f6d2f1404ac2d036220a41cda300582bceab6c29b115080907497d25fcd8cbb77559594a446c4a2b40c69a75b097f65c3d5fd332b6d8e00ca707a361aedae55acbc1be9038ec92fe49f0feb77b0fd226985b0312a4b5556bd590deeb8d8e6bfe0731deef2b96e4a06e787b0ff859ecac08eaa7c9357fe08183f46ba25ad5aa2836d2f9b05d72c323131f175168cd08b55fe0c41d3f9225dafc7ee071580829f247f2021a0db8ba428e6a39035ecc8c0d40c5bacdc78a08750e9c177fd52d61c15a2ece8655a4abaed4a10a28701125c912ccf4cf76789894477b2574c1bd4cdb6d29944111d35d0b5cd1c5f090cbb2c4e246a8a72647148a5ea3c6e45f7b80d1a2de4ac7c817f164540ac96abc674b564839946990ab7a5acc11785801a37b0c97e41e8c727c70c63ff0ff67b55874f5ed15b6167e8c958b11fd9cace3c4d4e03a0d3ad1c89ecec8b0a3bc613e2e1f111ba4579573b51b73349614268bb36b6f36f0f264c398c6cc77ddb2dda209b569cc55345e9f408202bb5f9b528ae08661780d33bc525b33dee6ec12c34e6070b9ffcb9160d224245f8a6f56f07ba04ca3422591415f44333be33261101a7adf550a27301eb643972dd4f4b0d91bdba8401159c87b8f163887b9e9480e61887cb362147999e616047c435eeaf127b828c60f20881391c22c090c9c805b367dbeac9edd153522e9e0cd2fe32ae200fe40577937cf70c33a44d4719872fca128f1762b4bfa31357524496e3cb6f3edb0187b4557e34a70873befcef5629c261f7a50eddc472bd66f6258227115f2db9ba1931f7225882230e94d3359806d6e11289fa4a9f7c0c724202c9912dc48d0b568ee9ea267dc80eca487681d48c8a1e546246ddaf82bc65ec2470e78d4fa38f57ff631851746eb843379f5c5521d32449ee7f3ab47f8c52fe6cfa5ea6c88809b80c80cdc0f631c4a02d44705607beabd01b5954ba55e94d07592b27579549ecd6f295347d04835b05c1f7b924822456007a236f2791e16e39f41327947bb1da6f1f3026e9e0f465fa2d893a630049204e8701d9fa68bad2e26a9d334c179f384a0a7dc8217d165e855ec08481890a391a8a55fc4675f6fa0f0e1591c1e254dcaaf886a0a0b87386665ee40b50a1ad8b0a627f6d2fb9e937583af4ce2aeb1a49e20bde17006748d0a62720b178fe1ea1acd4a31c0fec717152e53ee7bf5c21ccc10486155e026d2aafc053c176d30244909e9d056a1b727e80f3eea8e887b7af532eafb08269783457a35234e30e25b1fe22ca3f91c980b9b4fd4767879964b706484cdff2a4db967bdd83ea2c47d897f8cfd16f3e96f55b218e9bd234ba5fd866814d034f1fe2e6a2e188aaec8a10e9e95e326b3b9a79b15af2c1c42c3d36f030de44d22bfb490c44e7c6e93b3af8977bde2c60d83000a0137a2eea384e9724e42cbb19de44294a6cda5ccbb18a7421bd6ba284bef92bc070e72a7bbe50f3dd0d85bc2476de925c695a112761592ffcfca01dd1819fcc1911ccbabf14d1891f2bd1b8ede82bfebdc8b24f0b3751b5b7444aa768d8f0892d8a4c4339890ba8022bf586ac4349b272112daa3be73d2b913aec09b29fbdd02616b0d27075e1db84d4428f41533438ca7b45636d080df105d14ec4a58ade133931de989e0700757e9e2911d78912513f1de52522dae29051fc7fa2dd3a8e86edb4fff8541eee4c458c68887530ccb48cb094e17d33bab099e6eed9f7a67fafdaeddc0f67870875feb639219f8f33990d60426f39eb600e9c75c4c86ec05ec073810f04e9891139040e8a580c796aaf660a3c719216f3c4ce55117fe8b994352798d0b5776ed08c8978909326db902e30863a5f3c9777c61d5cde5fc994d7cb1c0ee41d9fd3f32f27dc95f907613ab2ca34af0785bac6f9fb2999ee69cfd0a262e1a98b3cfbd451f52ca87c23e223618bd1856056148c2249ad30faed9f5fcd3315a7b2ad1c7d20b3dc118d0fc464331494af20dd225b8e22afd2e998644c3d710f8bebacc33baac1cef5606a03435da2229aa34601d9dc03945bc95b62e5f85dca950650fc32c1783da6ffa8bc13979879d9290bd024dec482f4db2ff8242a4529efea8016a6762ecde6adf9a8f21123184c1b30e92ed2f5c166d9e8128e1b88d0e1677c23d17d82743f4d636619f0dc51e375a0a7390c31ebef9f66051295be6f60c8defc76a804b47431343dc6af2ccae68a43007231ae0d54625e58aaad54e67db537d3abbc6376f702a1ac311a007b55c8a8b2c20e1fcc76a06b7c3a1f6032987ab38dfdc025a9cf446f209e1f90e2605ae3b5070d3ea1146430ce4e48f36881c2996515bb8fe32f94a4f2d149536a57fb1546a210beb1d40a88f81bea4ad3a0be2006be1ed48b1f41711ac50b82e9c17c76325144191e04ba68e94b6be9315ddb0596fe47148d418bcb7bc92d6468f0249881f130f46ddf0ea579d7b4f2b6ce362b3223e0d38b43d878ebde519f3b433b4e1a87bd1bb9f97bd70b1f5cb1ac633052f30cecf1be584fc6484aee4ab852044c789f4f3efbdde49566e2af6da045554365f74c29d804c9b990d9b8abc90d2d67ef502b47d6ed1175aebe85ad6343a8e0736a0002bcea50be8327f79da9ada5ce3a0d63d979d814ce9911fa62b191f81028fa9dec8829ea20f957eb006c5f1ed3eecfe04cc2637e28983ac6eb44720b15ab80183e1771ef1eff95c057c231931e589e6cfe6808ff9391454bc2a3b1dbf4ad2002d2314d57a734b40f25623a1f2ad4a1341b497c05b917e47cd54b5ab4218669b8852674c26156e3cdf4b14b97537a336dc18fb51f5ff1572ca16a76feec9fa0a4bc4c7bf11ac9b73ed38dfd0a3bacdf28a3f72b9e950319fc1b9753b2a4966ca6bd3d804bc2c555212fafc809124bec86215f32909302453849fae24606867b641242541bf049b9b5a777fec72b685ba698ad52e1bbba26a12164e58ad7c04edb3e794a460fd7aac9ce022bf0ca06b2ae7ade93ec07f283610e6af5b8b341d6c956ee71f7025068aff82b0008da513bd72c188a996d4faa1d14a15c5a5f26e7a1288b4bc6665ab78c29443eb61e89e102ffa4b52997e7cebcc3fe1f83b48f752131a414c4310b561291a8e42d9a54b44e39c72b8cc39bb07c5b7d256b4a067a4df63688e5bf60ee75991af6a9e033326576accddb9d0cb662a36e2325d3885cdab6210cd693356125ca705b24f8d25e06556a7111186147ddab64768dd1c6216a52dd6d8af37fe82470a3fea593ca9b6d992444121c9d326949c33e8cbcf4165f33d833bcd2d010be77a20e704cf7e158bb9f1d1b5ee04c584ba10f3ad6dbd23a8314c5f4408f644263e3cc3876588112a1d0fe1b85973423af5c166239b60e36248e75790fd92ec5b8f347d8ede5443fde367ace6e1cf5a381177b8018a1f580acc45a1eac64115a291c1e2e994157a2be0e73084bb526d71e623e44fb66528218dba58a9477ec5a742ed9b0fe73f11d93d69431eb578d1308312d5c09acabd09863295e8ed3415f8a5b8276b8bbe92df15931963d19d9234b6f2b813724ea2fcdc069ec6a5e57867233127fec533e464219545ae30bc1f6da3a025941b02d89aa7511f22845351b8bca38fed322c2408680f04ca0097d1400402a51cebc0b11ee7ff2ba7b55215e6a6f7ed66ae54cff9314c582ce0600786cd9581de0e7f13a737d958233c33ad40fecd8c96f1f0a5321b4a1a419001a5b34860ed8b85fa72dc1d4a3972a6240a14b0f72d143d8325516ac7063c72a30edcab7f97708ab2ea7e533dbef390926f2d598e0d64376b2b33498cd75802028c5d35333ecbadd80e09426c8b2b837600da05762c1f30ece36d509cc10c3af6a7d1049d79fe70d42cfc292012d2e541cb8c2baa581379e8a42b2b97520f98a5508d51b8c2407baccba6c4f37d63709221df14fc2df094a3b80e44500aa1cdb2e13db56c3fa3dd813e17e8456f5b9b37fb099fb6db5285c5d477535024e26382cff714e8d07a4c00c78142bf44c87a01da742ffc92d63e79aa9b182cdab6b42577348eec0690290017922bcc0185eb86780f384f4a929aaf5c904e443d82e89de8666d339ba17d05a430b7c860565467d6074fe03cd27dbab5702cacdc02c42f0ad23daa3b9e16efdcbfa89c6fead6397cd7d2d50c398412a15f6ff6572fe6a8e85e308a123d34919c6ad0cbc44c62edb64426c355ac010cecc4eea87dd14d7f2bf105d75b2d496ad17574f105c1093bdba0d99f3dfabc19eceb5f03a750aec18bdd835d28b272fea5eb3ad7b94fb2c868be3d482c6c11d06a8c65b2ee98214342b706cf0a6202a318ff942baf94e8f0eb7ca831553caeaae7f97e8f1d1bb419d1a8e9db0604f3f067cf6fc06a79fddeddedd1a23f19736b7fed6bd9c587be9956d36331ea2fd9ff5cb6128efd40d10374c7b6fd6112f5a3a7ec2bfaa1daea9714d4b352f25d82383287d52eac11b3ba0f127e5aab2fb544c4e6f2684985c1aedbebbdc98d134bbbdaf2307b9a683499e68d18fc681a9b89199fea9f42a4f53a1fc9f5398e3128f3621496c46bba83402cf24a1312fda16c43d45cfd0188be6454e62daeba88cc81a5ee69a7af935f21307c865c66d0610094ada379133129e206dca49ff0685addfc9507576241a3662094f4268c80c97f46a880ec647f78315285aa94e5e0d0e147fabedafc621d630f551ff46be9ad2f2559b4ed5103d0a4cafde1814f54b50ebf297d85f46d43df20e04f9f9a5058adbeee2c71ed1697d0ce7baa1a45c1ce961b2b35705e8d2be5515d8a594fdd7b7891b32688ee268052ebf25e3b325ed44a2e87c91dd5bf806871a87a0b5def3bba3066745acc4425a3ad0c7666b069d9a0b7c175e10654b60c1941974ce46561180e2a13180b02dcaeb1471d5213b0a99fb190f960e62fb4b5f68050925175adcc6c753e122f0b024131af60662da3957c2b2d8227001450be183de7c249e773d4758147a9e8705d8cf7e5dd0ce1c9eaa9280d96e0018c35f96f27c57c28b493e203d0b08c7a744c9a1278d123ef80958473b7607d3fa77c6629c40694c286b6faf92b03a09c9f20dbb4c063af1f07c85de990ef66d6e68031e90d9bd2cadef7f7f7cb9f836dc995bbfe222cb5f6026b52fa585e7e879c42a197b67fa624e3650888bde4c3c4e2b847a4532baef61edab5eedd1c657a30ed8e037c4bf9f83d4d48bdc2b1260d18a1fbba0d6b289b14854a0c95ed949671f0b0ff13998e86640bac2b01d9feba06e45256b20b44842ee9d7fa808ef57ac5990dfa8c8dc48ebfb381119e161e4473c82d18f29b85d6e1a65ebd424680c546c9fba91d759c71a8a46619b78496cd6ad852b9b9b4820c0d986c47933236098a8fb1f7cb527f6f80b183cf9518c5883398daefb76573d75b1205234d0c22761bf6d57dc871a4d37dc6811085d250d90a5a13dae3d0e48339003daaa56936f3a2069e21ed90c9bf455fac42193acd60f635508477993cd40c40ed2615e5c867ca81ed72f208a02bb4949580fd0055502fd34a23b4cb39db667080e9b3fe5b9bbac5354143548dd83101216278bc0f0f51dc83e25c2e25ff4225ab65e7c5472220ca3cbc47c59ad5f9231b9b103aef5e8fe20211938f2655584ffe9938869df0f63a71eff29210b274998f9867b25f28c1fff32281baecc1d11663e5a3c658d9381425b1f82ac5391c80d060b0329480cbe85566e0b38ba33536e7b677b53363ef0af79a605ad767cf64eeebc6c924a947f67b9aa4ea88dd2dc9e735f7ed7692ed2d7d75d9f1da96a9dd7af7ae376a59919efa5dd0250eae5ef1afbad4739637b81938686ce9ed5ebf668a344d3e36cdf5e08c75dcce1784e47ed4ce7635a4796e17ba4e9cd63d2eb20deea2d0dcf40246a77722b6f51bcb103af6fb22ff47cede41a2f322a8e79ff6b8ae56f3b406861bb84c1a03a61583544285704d53ed46ce541d81bb22ea9e01a7f928cc1f10a49bb49901ecef8a80f0a79c09deec6e025c7d64b4fd41950224005dc31accbced4cecf4264f25c12ca5dc4908f0acde6bf09bd438f472d41ca8b16bcbf464319f57a118f622ebfcd9396352d4aad281c3bd80b97a509b53ad312088e7f6834afa73cda9d3fb94f1b3e0b866af7eb4816987f1b7c48a1068db8a14885553ad636417c8ac50b999204ba40a4203a7032459ff819cb79bfa010143a76db3a84063df6e7459792aea87f2287464b8f05768e981ad237878ddbb4563cc296637f282fa6a54eabd290fb3e0a61cd3e895bc1d19f208c9f8d374e6c15fcb36652fbfe33a058aacb17824dcddc5b3e473ce342a1364607c8aca2d1d429e469ae837b59b03e56a3b81e2d79b603023c01528ccb4ac5049a883514df2a2bb34d842e91a057cb0a04fc3ef4f4a1639263b232c1acc58b9f914f0613b5776990b5fb28434b8cf4fcfe9cf9e7c864cec5a4351354819a79ef08f6626cef0c3eaa6921c6039376c6e81586ed5d0789f4f990deeb2f0a510c5e499f520dc7a7167298e924de168fa2cafbf08f0301fbd633ba3b1132ec9502f14a52878ad3ddc492df9ca5c5e5973bf0a2e6fd978f73eb07e1d74f8b81039ca2ef88c4241b5e77bb256d420165301ff209fa23f229ab8f4163fd6906aa75e9c55c4b8711ace6f950fa6f60346a9639ab5b2bcc85ff8609ddb0a064a369175c04f95143452454bdc75cc6d9bc92c1f06b607b2a36ce35fa3e79d26f5e899161327d9fee39c018a1e8239ea2bcd8d1434cda6146cb9f93f1765e858998893a8ff22f25497e8f3489440e7113927d491ca4f098cfdd7eeb23de1103ad54190e1c10ce1452ca423efed9b237cd7b9d851c1efb3e8237eb8a6f4b613a20bec1230eaa472090f70aeecbfaae364f36c525cefedcfe981c3caa2147077f2575900519c86c3906ab5a46b63b1529350303da4704ee5c8a2356de43e89219e18b0b6f1faafd970c9377c6a72bacf11aa8c81468a774d8aea14640e234980a32a22a3361726bbc368ff5d11450ec3b7e35248e749cd69e9c0ffa4618aadea52640c7e694417b5b561531ad6a36f172d7a474f4aa51144e7786e7696fc530120443d6808de0defece7de4dff446ec5080000665405748b8526d02dd2f88bfbaa65df04f45ff19d93dc287cd2b441fe2d5adb7103b990276c3409d3ec70e290e49676c17d4fae3cacffcc8f37b23aac887fad51e2a701e9b6c404307eab01726a8090c71b196ae6055b9d27302ca01a49dc5bfa77df9713dec77d35a137aa7830abf710599b1486398a9f2238164e2429efc8828b6583576896b8676114b9f9a21b4032c4e41d9d895b4e8c31effa6a27e28c3ce7ee28040ba02e1cc548d2fe3ec17018fc8b2b126360a3edf4187d13406e81b52275c68b3ae945cfd196d9c4041700e01d7286e9a0e8c05f9c386f2350b6ccb3a5debbc33d68b515db58125060a41f36a77ddf4b5edc391e0c1160ff74a4547267b14930e341c3cd802ce1b45ee0c3560b26639ff0000000000000000008ce25022461aaa04cb2425e903a0d1d691524a29a594c7c4a79421a8d1363071743ac37d9ee202a30c4e0dcb0cea088620489b66324591cb1acd2b014620881dc43655901b2a84070862081584bc98190b30fe40b6efd4122a94570eef1430fc40acbcb8b1713780d1077212f6ad1f343e789d6eb0d900061f484a58bcf8755fb79dbd02c61ec85b6b693eb26761f30d361c8c4305395c906c1630f4a079c6b67fbc205b6ac1f3386b13c0c803693d6a1425c5c3010c3c90e2b28208d9a436c24f7805f88004726800041af8c005341030ee40b651d133eef23a65ebec409cb3f5b14ea3f3975c07928ad023be62ca9fedd28114db2c48dbbf146b937320ef8f52b93b88cb1735187220e629d1983be8f98d6803461cbe4b95745edbfe070792feb8e991a1755af31b086adb65e38acc193ded0652c7ec9544c352c628b681384ae77e073195f718061bc8262feb4e7e5d9f4a5a03318786b832590de4ef2036d67154fc6c4a0349c47b1cdd161b428f0682aae8876636a1a7fe33bc0186197c990d2ff9c1c3080430ca400e8b57b9377e5cff9081f0499a9beecb1903395aaee7e4f97cc43e6220c9a7f798db3b6120977fd8b1589ed4d6060cc4d31393223ce78eaef90239c435fab6ea05620a176a4e271922bf2e10abacbc9265f79ccb7081f4a9f22895af924dda02a9c4b54ca985e9d9b44032f9294bcd773f59250b243bb539fb7818ab60812ccaae847675a8fb0a7a50e92b0655ba15c8ddc9737606751508a62f89880e1ac3df4d05922cd516e7226c75ee29a4691b5647bf960271cfc32c6bcb8b364581fc977d4278ccba1f8202d16426919a636327253f8158e219539b2793e15627102da85235a2378124af1d7af4cb0472ec3f7bd3dd1f44bb048272d7ce0cd25402a9b2c5fad6bebcae4c027134850a6e172490fb327728ef183bb94720cd254b623463ca2b8d4092ad15aab9c53f595804c2bca60f916769b44f0462a9b43432530c7fed1088418b59bc4b8db2dd09811c33947239cf0a2d0581549636b6edfe67d00381a8e65144b4cad87b7e407093b1ef93c6183bf70129796a4773cba0265b0fc866d9f5eadf82c103c27786ce0ba7df01395576eba7d3d9e8f12a4893000c1d10b434f669565fb40be5805c4aacec56aeec08e180b4b1a799d64a083b4f1260dc20a13d4a9a929b32271836208e7e28dd76c2b45fa616e4d3e94c9f8c7517e34e0b72dca80fbabf71b1e459905bff629aceb17eb42a0b627878dbb07ff1e4cd589044deedcc88ce9dca60418e397aa9b24ae262955e917fa64c327906616fba82149a4f4e36d77d7cbe1544b11c54938ce9641232ac2887c89c2eefed53ab20081de385cbb755411ecda15546faca076d2a486dd7394bf32ef988a82007f5ca162f740a52df7cae6ce2e722375390de4344a6eb6429fe2a05d1459c555249af798814a4382adee87ecf7fd15110e5b736fde86827ab240a8258f11c93befb5ffba178cf3e3649cf4c6e2350903b9d5afecd9ed1eb274c69be497759f0cd13042564ca34264b2b7ba71347f3fcf81f4ea09f826c93567bf626482a4be989fed05479d104496f93678976aa8f4b2652bad3c5e71c13e4cd17a5dbbb65fb7309d29798952873513ae5962069d32ce1977e653c95205638cf3151417c444a90e365acaf9cd2a55b4f8294f1ba325e9452af4b82309e7263ae8f6c4b2341fe20bee7af73cee52041ce9be6e5c45cce51ed230aa5b4a992d63d9e23489a3f5e0e8d3602a1a25c9dcd5e0e3382d3d2674a9c558cd02cc21873925f2b29826431ef09e16f268220c4b4c895eddcda232288254adea7de0c32a9dc21485763393f93ded49433446d3a072fd3f94290b355b6c9861044db0bf79babca41b6010cc2b06f1a2cc750eb1d1344373abbe60829e25e20ca3f9f736c0041544f7f2aa854a9c664fe5097b2984d230cc00f89fc57cf26ef43173ee5e9dcf9c000f8f047fdac0ef2740cee4117bd9f9e1f2ea7443d547a32ced9b8970772e67831763a939f19c243a5f1e4937c872e995bd453d98174691a2eea9694bf501d4aa1ec553fb36bc5a603615d6d64698f739b9f39a4be9143ebf79eea4be8c48194271f38ac9be354734e5d507a83faa24dcbfda406dd40d02cb11cbf33871b4b1b2ab9a6e27f98db5ad960d2244cdf8c6b7873ada756ec27119e1a48e1b388cfdc963b453d0d048d3eb7664945e90c1f610068c075478cc555b3f8eb0c9e9ffc95ad5d1a559a8198fb359bf4a90c77980d673974f68c3d1948a23b9b25f111f6df8ea1121db59205dd8da611837183e70e9b62fed62d0ccb0859eef301c36fed96e42e9f5a5f48768a1737355e60b3a9d84beac21973cd88bde849e30259e3f6f33f5c9d92b7900e57be9a9764344c5a20c70bf1a1348ed251d32c2434c8a8d2315e1a0bc5b3bc23ba29b5778537538cb8cd95b6505bc1f00daeb9a59fae2aecd1531c8b2b151259b326c529b4c1fc7252408845935689421e75d3863f4161b119a5d2c84f284df3bc69c709a464dff6a2d3f3e358840134a1e8a6f35c0a3d3ac804521c0b1aeb4f4e46cb12c84946072536c86d7d470984ffd9f1f6fdf2529340befe52715aae53fc0c123e25f57a4d5c7d0472521774fcedb530973602c1ddd4c5542fefe9b2085df233a599157ad6240271f6359ad4201e0239a9ec3e9a4d77d7d2031002e93af77ac32515257210c839f25c4cc6deab050804f530b272345caa7c7f404ab2bf3328ede95a6452ab62003ea8b4bfd88e5f573d20a9cc596cfd3775868d079d754af1a23b801d947c4de6cce88060a3cdc2a65851610039f844334c5c2621270e3cb720c6744dd43b801b9c94aaf3d8e4006ce0c8aab2323b0b3ab538a73659ab4adb33272db81cbdc3ae429997350b626d85134a84ba32a1974567b2f154e894e123c6a22456be5e39589035e97b1aed156475f1937e4ac9e5f5ae2025dda5ef169f92a89c56905478cb5a9ee56212b1e22f0bd2636d564152292c5c30d1b82657052a2b868be1c2e970a154905277ac4cf7195424bfd2584c4aeb6ff64e414e112127eb26ef36630a8288e5b029844a2976cfcadd1b7dfcf622453943ae3c84a360a4f8f85ab8a2307f05517532e5329d505476c9e3d27e770914a47c31459eced490267f822445a9602aae9e2006a5f27b419465cd6927da9ca4fd88684b9a2e9c20e8242ee92b95d4f90537f1aece584ab9fb4b13fe69ce17539a65a83a138415a5b7c52f9820ac95acd8a9a2ba747609a2a70a393ddab20429678c0f75cb27de4a95208f4e41eb63dbfc831794208c89dd24d346cf8d9904416f98050b5e6da7a625008ef04212c4ff8fe717dd4f861909928c6a9dd5114182982fec43e6a551b9398f48af875b2891eb1e442f1c81da6cfd14cf98469093ea4b717d7b2ab98611a4109e37a8aefcb9f38b2028dfec62b7163dea1dc820bc5044f1ad25ad822711dd6be58878ced3208294bf467644ec43a036a75da9ce3af234445ea346c98aedbfcf1582b41bd67edc52be8e4b08528958904f4907cb200e82709eb7d3d856c82e50a3868e2d0e004078210892929f9a63eab4ade5058224df4693d788a8113248780108a386cbe821624aecfd4323d332a8fc40bebc77ca53ae7dd1af0f24bdfe789fd47eeccbf081bc31b9ba77c7a865997517850b6cc28b3d68f131b3ab1b6c4d84177a2045ff131d64fc13add5cee2451e5ee08138427dbcb0d91be2b61b6c7c05f88004b62847c7053cd07807724cad9cf6c20b3b10a3e9e5c93b2145a6ae0e6efca0fba103d94c57b651ea5a5bbbcdc1dc20fc2f8869e910042fe4d0bbdcaaa9abab688cf0d44d8f15995d1705037120785e5e9965eb149781c20b3810b4e851d2cdbdc2cefd06a27d9c55743b657af70b37104b9c5039f9fb4f78d106c27732a1e14b5d3d8e2fd8400e9f337adcf6aec5ba000f2840171c86176b20af7dbe883bb10d5b3fbc5003f16f2bb4a5bb1072393974e43038bc4803290821944c917a13e2051a08723575abc70dea940c9a1d5e9c81944c8f5ccba331de73662099764e9a63d213f7a432905336b59381bc2553fda755c7404cf3c9622571336f3a5f782106b2bd6e328b395f84813c9f53c9ba2555a1456020c5f4faf162af953ef305c26512299fc35410d5798160eacc4b28b526f2761788974ec61c622e104f6ecec17a4dba6bbc057226cf97b3e90a329eff420b248f22d4363e88fd0c8f17592099568c41debc2555f2175820e51474b2514975909f5d81245c538ca2fcbfbaab72c20b2b90fdf2550cb239896e356aecefd07196f0a20ae4b7eae07df60b2a90f77c93ce16c42fa6401c3369779a7d2105e2bf56bce9c6d89c8c0b74ec601c3d72e070410b5c092fa2401acbd15fb4473e7eaa062fa04054b5ca6d194645be0d83174f207bd0f1ed8270cbfd035e388194f498e56f5451677373f1a209e4a435e42761a2fa6f16bc6002d1642765ab9bb4a8144345c7166b1878b10482c8ab0afa6ee63cab3678e415e00312283b5cd0a37840062f94408c2f79154aa4a720c34920568a361d35065f20813c9b44848e54d11e474720758a4be215aa5733c546c6feb3f4211acb54950f13537d0b39115ae39ba23dd521f8300449e75291bf5053d1e8f728363250021b353e0a41d814fe32463d5d39762ed82269053e08411c95793eeb9d37d854a0630bfc180441b46d05952bacb5d31b6cace3028238d4bcb46bb3c2f6ade62b666a90bdc957810a745ca00b1d19a85143053ab6c01d3dbaf8080441e5cf39a9e09a3629e50db6aab5a49b8112d828c0072048cabc5c2e7c4ee6c9f41650410e1c356adcc71f7c979333ddbaf958cdceacdbd6ae940f3f902e9f08a5e557bb45a85dd0076269aa70b2829a0d8ff9e003f942c61464664c8f5362f06a12d09341d9b1a3d83838d0f640d4b8d1e2e957b1faaa3ff440da283b2afabc9985ea0de681601973f135c453c3bec1a682cf8107c256ce9f4d06eda7a500085c50a386221d5cd840a8708f1c385c903d72e050010e63a3051f7720cafca65bc9dbcaaa758163066909f8b003512b254fa94d68344d6ff0c1d1a3f4e051d61f75282d6f26e917ef2b04d6628003950ed4a5e0830ea7e595968e69e9dcdb89ca9ed4c52f53af3c0f1d5d703107c29d6c9fc9eaa0e193fb5b98f201067cc8811c44a9d2a11b2e6e896eb0ed053ee27055858b9e559bce9a5ca69e6cf78651adec7cc08194fda6c38c7ac5243c37d80c173a4e0e1c5b7017860b1d0ff87803315c50d729e4fa479b0af87003e1b3e6cc3819cdfca3037cb481603a27b53b9a39e8ea5bc0231bf0c10652db9e901736ae32a8383602b706720c5a4d671da11b6c8b747ca0460d3bcfe30a1f6a20c9331196fa455acde6811c387474d1801a353e078e94ca471a889f1a26ad4abc679291c1b3c0860a72e07074b3c2039d573410b3c8a447d75e38a5e33738031f67208d3639faa2e96bf8243390b3861819d4a8522ab71b6c6f18f8280349e666675f7b6e9a8ea3c78ef2021b3d128e1b3c6c6ce1022ed83cf0088708ca1ee18041ee285b94c3633df041065b94a6c791e5f3b071da0332d822d5a8b17a2cf8180349f707fbf04d2f1bbb1dc5052de02106a25c6598c6603232e9022eb0031f6120a5f6f8ddbb05a1edcfb120f80003d1472f837e8fdd60d3d1c3068f36f3f105b2a6c54993667981a0a39aec148f97642f0f031b6928f8e8023163d43e98fc59cd50041f5c205d1a65f55f9952a8f00db663db8b41990d332d5b3d1664064a60037d6c81787f32999cdbf0feb11b366cf4e0a1e3868d3dbbb41c1f5a208d5850a3b25fd4f09105ed5bf73443bc2c1f5830e4b8e966f8b8c21d3b89c8fdfcaf5aa1fb5cafadebda91d3f041c5d5ea8d1a397c5481f029c4c4528fb2f4ef830a641fd3276490313de7be848f29105307151e4ce853081f5220a5d6979bffab3c3e4681989743f4cb83f6114abf230bf00109b8a08b1c3d4ee9820b289073a99c834ad7c713487a1a2f87b9e48713c8d1b47a12eeb9daa68f2690ab72de4b49845a840f26104375567a76d794b4dc48f85802b94ae998e4c68647086e7c2881f4396516952a460ba57d248154c2f5ce2dccea68cd0d073812c8eda5b2dc7bdc4e7739db077c1c811c4bfaa537f5e1e2c30895cc6d797dacb96d8aece031365ce0d84277f4e8e2a308e474b2cabd5b93fed1f92002514536a8094f6a73273f86404e8b9e52dadd9b11cd871048c9deb4a9bf7ff71104f2a9aee60e2b6be5961b3e8040ccf84956a5f09cfdd98f1f90e393df68e7fcea49a5078f728106c2870fc87aa243a4a55f32f8e801b14f2c5869cdd59431c75fc0860d3e785098e78c7be97585cc9d9e50a7bda4ef85d2e9117cec80247a4f53c3e64e37278e946c50200211e0824781418d1a6de33e74403e51e9a3ae9f3e7240da20a38551611ab4cb0f1c9084eefc99ee4c1f37205a291dd1df4b314ffdb00149c8cdf6f28f266ef3b520e6759633611eb3546841ce1e91b164e829a1e52c6ad150ab1d779daf52f79477bd2d9f1a3b55b220c833a133aafcd8afe5f0c0c145c68294b27b8eef188205d1cbf35eaa982b67055f411ed35a57f91657107537a62b55c56885ed5a5a9fddae726943a710fe49969a31584150564a64ceaca64aa1418c5510dc3d7af494b1537cb39710431524cd18db52c47226c4480549897852b6b1a1e9e2b2011b315041aab061f96eb373a639c62948f1f6e425edd1f4a6185390f43326b19fa95210f5b4ce8cec99f22c918220c3e22f6d1a7d3ec718057164d3f6cf84a78a630c51106412e9beeda6b353132314e416f3389ef42b060fc60005e35d67eb357aeb6533b3624987add2545bc7f80449978a76a5d35dcc8d89e109825e9599d2a7b7e3a74ebc613be9fd1c3a27c83f722edd3b76ce0a6e8218ec83f8ecb2626882949a82ba5cbf1ccbe9e89183029f09823e753993754a3d56c5c00429feac3ae30d7c1732f8c04521c625886fb942c91afbfcd48d218625484aa74e72f3ad53eee70a312a410acb60d1a2c9186e17d663878e0de0200625887b6339a914dc2b752c2d040f88310972e5bbcaad61adfb7723430c49902fe5b4d9e7d13d6a8a0469549ece71ccedc48690206d78e5a019c2b417d4a891f602cc188f2095ee192deae139a8f488e108d25a677aebb598907323c849eff75a9fbc4df7c6600441758a88ca6a425b3c8e08d4a8c163b11063116451c1c3994cbbe13e54a3468d1a32e821831ec785188a209bccf035a13547a7688c4490662f657c4b96188820cdbb86ddfcc1fda37788362bee42aebd3569e89e4a3355ba13c43004d1545295e326a1e1692a04714b6b3cf91e4408c28710427b8aa117ec70c1b17170f4e802c7165b3c0a620c82a45be946ef34f4f8a582f2019c400c4110a3995a4c4145f47a5220c8d71d346ec3f3898e8020fb8ac81bf98f19affd81ac7e4126a5eddabd2b37d862f88130fa4374e46abda4da0782b2bfceabbf731573cd40096c7020061fc89ad74e68edfd2036b70772c9d41773a5980aca07f4409ad33a6ac6ab82a9a43c904405b939c9a8987ce6f4400c3cd4677a3a5cff42c92b021d28c0ae20c61d48a9162dee8b325142960387053250021b22886107efc5655d57d5bb425e36da47d39c14a30e9c772a19377aae5123478d1a2a283d62d081243d76a35e5b7c539b391074b03826bf5e53c6a418722047f5fdd149fc3890cfeada2d6fe04012adafa392cc1f3aa64741a9fc05508e06f4c8f13bb8c8418c3710bc92a9e0c13e895a34861b885fdb29a509d1f9b26820461b4816635d8465c3a0690c36aca171c45083c6480349f385ffbc0f95e94e31d0401ae9e1928d1e9b8da5186720e629e16a294f7bba243390b2ed9adc8adf1cefcb40def7ca71f32fabc7880ce4b4bbf639695f3dbf8ce1b8a04355dd460c44d74d3f99b6adc1da3010ad4499e598eeda3b05032945cfcfe193cab88c5f209f9a8d63aea361252f90fff337c7a4adb936d705e2c5d5130dbe7983cab840f65b1b9d76f436682bc61648b31bcc4d7b2cad291d430b0415730e423d7d9996b2f0768fb8510c2c106e2fe4ee85cb9eb61e20c615081bc54c9f129e4cc5433b74d8c881a3ec407630886185c365f298a2517383cd053adcf68a10a30aa48e398e0a9b3b87be4d5b10830a15883105824e9aea4d21861488b7d1fca2995214889a35648edd67f79d0405628e5577fc6079359b9e403a69392db75b50d9f44e2065ae3f93499f8d1c7d13085264ac9c2e525f549e0924ddf64957bec965082d81604945789ae828ab414a20bc76a69f871cd53a4a02415abe482025b354f79df63a377404928a6974dda2e5ca3102d13d89adacfe29db540482fa187a414de7918940fe1221cbe4ece9549f21103fc8f69a1d09812c42a9be8ad9651d130462ac0cd19c33c46f1808e4b03c32956fce03e8cd062862fc80a496fc62ce9b63a7d0072431da4c8d0c216f73a60724ddb9b48792293178401019329f2761a6dae2317640f4d173e9c39f7fd83c860e4852c36efc890ca72d8f910352a5d16a7bd9e73aa863e080a02363d2af94f092718c1b907253544c88e98c1ac7b001498d8e89efd4b03cda5a10d36f8f98da2c2dc81fc52bb535a4878dce82b863ba712993ce79a92cc86b31961716c5841b0bd24719abd095e98399b02076afc9afca7ad9b67c0579841019f378979ede15243f213cde7cdf631e5b410ab2a73197fa9096212bc8c1e77754686ed6bf0a62d88bb5cf18c62a3f5590929beba6cebe1aec4b05b144fc6f8feed1e6a38214e22ee953272dfd7d0af29dd2fc29743ce1695390f29c923958e568cd5929486f211b9498dcd19d918278f95f439946419015f6ca32bd65764541aacee12b281444d357a534d322050c50fc3952c378c90fc62760788294a7b2d3670dfebda74e90d293669f6b1327c899594d2fc68fc5d026889937685baaffe5d6357177995c87c83713a4cdb33d4a5fa77e8e6282a4339b283dbb29089ddf4016605c821843e9ccd6e839df1f4b90fd4573e639f54eb77280a900a31268eb12a31547000625484269cca792290d803109625dfee61fb19f45bc356aa001862408e2ac7d636386d1719341fa370c231224712f194c4fa94bc11e040c4890f75247eaa86c5c868f3085b0f98dffbe00c311a4b4adcc9b324387f6c06804f9554ee84d3a7a6e2e0c4690d76309994b7e16411e61b1e4b88a60288268415fd545b930124156ad51d7fd144b8509062288e76299772c6f66cec3380431e88bcae9bdf72da7c03004f12d7b638f75c6bcec065bc2280439c96c93b75b194e7d1ec02044e7c9447a0ec620f8541745efdee5f8065b57ca11044f956c6488a9cf29ab51a31144b3d91c7ced9ac108f2c974fb723a95c757f684198b2045b58c39e7f0e98d198a20262da99f45792a1b4d2248e7a1c75e57c4c8accd0c4490f2da464f88551b8f727108926f2a2110a41266188264e99b67a6fa12661482a4f6f3bdc1f6021c0821e07d9e8420c8e0714e8f101a4d250d826062e2d5f7fd46af2b08d267131e6c2dadfada812055b49613a6bde1f10404496ae60b1db54e37bb3f74eab617f67679f16962a6b28da58f1f4829d4e767d97f7e9f33fa4010db94bb35e6cc1d0d30830f44f7e831bd9c7d5042e50133f6404ee14bec66bb188b96eee8d1851e88497e8e9c531e4f07751e4816aa5ea51a46aee933f0404cfab2c8be9bee4052a69d327b507e60861d887231da8e0a329fd7ac03c14549132a930c327fa8078e1c386c2c08dec8a060a0ae078e1c3872b8e08c8be762061d4a6e399a49f1d31c082a8f4cae9973c55ea7013798210782dcbcf09ac4f5b58c66c481a866dea2a5b1595454800d5ca000dec50c381055843cdbd0bcbf497f03b17d5534c54f7a76ba8124e72abe3b89cf1eeb3610d67fc4a95f529ae7932c98c106b2e90a75d2f6842b98b106e2682b5d97935f96fa3a74982d66a881f8a2476cec34b56766870e1b39763c05d8767c6760461a48ea437c98b0ddbc1cce400359e533eaae9bb2576dc619484a57543f315d7a087c1732f8c00b669881bc39c6905e577fbf973210c3a3ddbd5849068256095de69b2f83fe668cc1d214b9cb905dcf909e9ee3e26e52f306706cd1850776f4e0e147982106d6b2348a5f3c230c04fbdcb7f9be9447ef6680811c6d939077167c67546c667c816439e85ca7538e4a9b9ce10592503b751e3d998c287581f8ae169476ab7c577ea347d9408d1a377af42833b840f83c11d67aa23ee58f0bb6f81d5d70cfd802b93c3ba75b57afbea01b3dca06f2468fd245caa0c7e50c2d1064e39a061dd3615333b24010a273fcf4234669e58230030bc4968b1f4f27c6c2532630e30a24354ae7d13f3972f672836dc7a375a07b8615c8c953f494fbce5408e98dd3a37061a3c70e1c3b7af48e1e3c6654813832d8dc6a2c6b17878d1e3c5cb0c3060f1c4d05d2c78c21f292fe145d9902f1723c26bf2ee97af50c2990e3f73d8fce39de7638230aa4b4f144da5730a55234030ae4df3415d1d0b13344339e400aef9adb33c40795829c40fc5c612e07d96b9f7513c8317889ca18d625c76402c1df3b45bb583a6e533396404c9e84b214e35244cd194a209de66d4daf414fc54c0239da973a539b6720c1d6ad53fbb0ebfa74f15cdbddd6e4110837274e4ee59c19462008993f5cc7f057d273a430a308242522f38d7ef96d3388400c379d64d069a2e49b338640d2ed6d3a26fb305e4a4220df2565fa2952c74a1f048214fd7df9cd2110c873631b3c3ebe781467fc8068f982e88a509ae103c6544f3b53675793096929dc562fc8fc8c1e905e3b7abceefc986be70131e6b4a3c33e6db42b4d60c60ec871c466454b7a944c71ad4d4007845751c16adf2d8c5520a0c18c1c1036693ffffa8a4d73141c28c7dbf82d7af4c0b1455b0366e080742bca45675e690a987103823a5d3a73fadee8211d5cd878010ec4ab0782b4a1336cb0ec9a75a97ac8f7898f71c48ca62e71043a500b62340bb19c628d973ed1821cdb3ff4081f65cc8224de9214d11855f4476541dad320a3566a5ba84e2cac92d1d51259d5122b0f6d32ff9d92b450c12239dbf46eb9b677af2d5f4152ee96a5e662e5d0b791e10ab286abb7cb6665b4620de5ab9561c91fc86005f14d95ba944fedc89aab20ab8fcc1d3d37af05ad2a485e9e49e6ae8d23e42615e4ea8cd696172e786a50410e3268990c1d3f05d9429350712e698d769a8298dec3563ea81a31af14a44e95e7512d091d2929c89792286daab3422577146479cb24be59c254a5a228abc5366346b3c2335d3366976b8ef9e2924241b40baa2a667941d1a62842e4c53d7d22cd5dd9ecd4bc0d3b5bf9f8199e7d571af2044133cc07dd6127481774124f9b646a52224e10654f654b7ed6ff13656c82205b946c5a2ebd58d7408626485d49656f19ab460d1999205c54cfcb5115260832e6e4d96aec6352f9b283fc0b70f4380dd8818c4b10cca48789aba9e91c6309f206ad1e83a728a312c43bbd136d3907b1398712444b977dd1e6328945745efcb5f424412e8df9bc84ee9120a66c2a8704496717d3d0f73c8298237ab13aac8e20e7758bc5ed5c23089e72640c69a129e2c40862c9d11793876a119b8c77d759e7e8e8ccb78c86129e560471a3e9b278eb13410a212f45a3fe089d3e2248f137e7a9a473c9d01f82381b9ef9ac2d86205aab5c0e8d1b2c299942907784ee9cd793107dce8dbba6d5d85a6be97a8ee1f3c98f6a791a0441f393b2116de2f27d882043106455eb70a372068270624bef4eb7648364008228aa4dc9670ea154c7fc81e4a7828c105a64d0b0f103a954cc495e68a70fe41c3c3de87b8eff9ff940da0d622e2ac60813e21eeab237d34dcdce5bb5d21631163545898e513d104d4c865690f57ec1cd03c96b4d666d2ec6778d8753de73f4adca32c65d366ecc3ed687e99aee4092a54ac8a016c4955d7620bbcb7eb66c969edb97510772147123e4545b05e1caa0c373f2cbb693669220630e44db10f374d9bec1c682f25de4ede0820b942107821032fce7a6988c3890c26f6b8a299e70f03a4b56b53d3446ec5ceb472f09313a5c9ed965bc81184f089d47e69b7019cf20c30de44f53cf274fad8e266bd4a851c3869beaede0c16d20e9b9385b6a351b881ff4827d8efaa462680dc4dedb90b1cc3f57cd6a4033366b75465c53bb6b3c37e7dca4813076756feaf4c9f0bb40061a0822ec77c4ec65c8780b41c619c8499af8dea492a7dc6f06628ef5a3a1f9f93a7f6520a60da36e2d25d3173e1bc82003796fc544795d66be380652d6dc399da5b798f58881783167a68d4115064d3ebcf6d3e62e6cdb2deeda639e1b0ce4f29351bf24e404195f20fe5c253961f93b930a046478815ccaf377baa0429ba60b841f95c25375eb654e2e90cabc76935229d4edbe05f268b1181dec92758e6b81649a1e162dc7cfb1370b6d9c6ac659ea787ecd333dd631b632b040eea062459e182926f432ae401c8f9e296f486920c30ac44bea826a586a4af9caa80249e807fd4967cd03645041cd3d19f1f0aaf4bfb4e3e5b9df845ac614f42a4f2ad32f898347f90878064a60230632a440d2e3a71bb261949a4b1488979652b6f5cdfcaf51c30d32a0c07968c98c75ca6b8cca6cc91875299f27dade09643c8120ab54aae89f93b7e53881b041784aadfdb1630635811ccad25f6585329840d48e39391aabc4c26509e4fcfeeeaebfcb500251de7eb37599ee546112487a73eab18d1b12c84168d239a778927104e289adc9fd68d26b22194620eae7adf8f7417bd022194520c7da58d5cfd9decf9241842ac4c2bd4675f6aec54b2ea62cb339ddc394310452a69f28430804193befa8d814156404811c4c59fcf611a5c62a1ec8000241f4bde2ebe7cfe7d00d193f206ecab9de925abbeccaf001497789cdd598457f92c9e801695b63ba87a777d1e101693d8f975f85b7d17f07c4b6b9f210ebd1015954b6b46a973acf5a728096b5d58b755b7699a766d0edacbc1a4a541c90a2bf9fca3321358728e306843bd7b0cc155f2a05c9b0015beeb1d9e255f919f3266e2c4f9f67cfd7825c69c97d2d49694150955db4c593d7fd9943078ff21da85183c70d3e66418e415318fbbfa449bbb22087574ce1179eb6431e8b4de46cf345b664e565dddb538528c182b041a74a57af7905e9d382ae9b90363717237cb88230623ea9f2caf968053907bda499e52b745651c7033c8d1564d3faa79afce6446c567107a593beaf3c5a1584515be1f12f83d0e8a5825ca9d69733dc68191d54109414e16f31a9aaee14277c9c8220e73f64b7c9f11a358f72660a52b2560f7b3597a4eda520697fbd3e65757695420a4fccf376deca2d2eef7d4599ac5cd1de8f82a0d4a97e0715e00312f82e64d0a3468d1a354441b8ae79ef5fd73abde9207c8482942fb5b5e986cd5c3e28c8352a894a2ff76be93f03c12ee0e313e4383a6f7321676a4bda830f4f103ea7ad4ff1ac4145512748c1f6eb36588713e40ea795a321563a2b9b20c820eeb469e9f8dfa2264841667c5196fd47260897232697f33228f13e30815db8aee68b5797b5b97a92ae213733e5acdec725f4d0f90c31d79a534a2711bf1c2d41502a588ae6b53415bf1a35d88655821c473676f0c051e7cfa3184a90e39f678fb24e82b0633ab5e77823f35b49903d8cf453eae54890634a2194109dd487cc90605b3cdfac65b6434e5ef33ce889fe57a89cff7804e153cc21cadbd4e73d5590e3b7d8a2dc38ea08c2e8065d31e7a455cf754139e0a31124f398bed24fe56c2a73832d8d11044f2d2bbf6259b1fa0f94952d025159b752ad1c46d742fcefe7736ce4c0a18237ad08828cc97379a6a7526ef7d91b1d3b7a78c0978bcd40096ce0472248164ccccf47c7328d2182bca394e7b007b120e70be5fbd9d9940e2f2c089eb4e5a482877812ee2b08ae69ea9bb9c574705d41f44d1f2ae72c4bbf6d0549c8fe08a51b2b48d799635c1117deac5d05c1bbf2e5a6b5a9fcab82a8a9bf3a3ab92615a582dcafb93c2899a48a0c2a083ac37a58d2d0ae9c82bc295aa8dc8b29089b63563256b414a493a96a417f9ffeb4928278c2af3e7dcab956d55110f3d957d6d0d2d94e1505b993c5886f7ca8136a2848a953453c94b4bc9b82822097997e82202fe9ac8d3037cbd4138451cd1b6b67e1f3a913a44ef99385f4aba8274e107eae479ad4a4943a6d821ca39789321d63d64913c46c31083d7e77fea34c90d2c64ea9940c56628409c229f10a77327c92cd254849534ca7506244a95882f05fdf96e2cca64ea904d1ca2b9bc91c3296420952d06e6a5b2d93200819b392502152542e09f2c7b6a5d8f999ed48904a27edba9755ba6c48104d5cca30f2524d871f41186dc95b545e719123881b42cbdf4a9b941bf1e75ca7eabf65045649c5fd14331741ceb4691645a9aa095311c42c4a08eb4c22487153cbfa77b46b111104d30c9b55b995bfcb431063faec99f992e8f60d41d6186375be71dddb1482701fd49eca216ede420892b87eb8f838993208729ff850323d5399044192eb7719b3416fd48120665a8af73185802027515ae7b4f807624e267d6fec2e3c8a7e208c5c32a91d2f4d47ec03e92c9f6a8af05cd1433e90f3a90a42269d32bdc33d90f764b255d116a64c7a20d775a78af240104a8e1ad92acb371e887322e39952b72eff1dc8b7e5f799945a2d213b90642e5997addbcd3c7520c932d5b95ffac552e840720b9baaeb848a199f0329e6a063e77c1f01e440f8f6f0a6f44775b78f007120a9112d274be92c221f01e040ee9449c798e3c514f708f006a27607d12fa655647a047003b15356bdcee9af731e01da4018e13154c76c208c4c62bb2c776b20ef5a566a20a6d56f36e91fb49fd240bc94726a3be9d417a1819433e2c28ce80cc460c9bcf573775e8e1988f9f9bd3b5ebaf6cb405039e7cdb0d23b72321094502d3fb51d547c0ce451326c949cb61cb618c859f9835bea8b5d7518489a495dba54ea64d560202513da448c5cca7ebf60c8f1ed5869f402d16ccd3c4839b1a5eb02397385f6b12c9d92c78533e4955b7d665b20e6d398e7a942e565a605926edabbc5c8f46f591608a33af8a5e5545dcbb0503619965d8164a9635266dfa122b20269d4987c0e4d961a530592963b398d16d47e860ae42f8db1f1f3fc4f9f02e932e68c7857f65e0abea9af542aa8a34072d9153bff6029da50209f77b8ead64f206d10df9b6a615e61279045c7aad0ae687ada2610c5673e6519f39c6102d1565354907964be251046850e1a5386874b9540f8184e7dce73139f241093f77be8bef4292712487f5a3486168f40eef069bf622390b28b1cb9154d867b458022d84155dc8ed01e2210f3bb2dfe6971d1741902593507b71c4abde9b18540ca9717d6b9c367e31b04b26f4815ab91fda24b4020c7f02faa73264b6ae21f10f4ffb867cddfbe4c12c007ec775b775ec5c6a79fca69c1d5c24a801e905acc746dcc14017840ccf2b65d4253b4ac9620106007e4d5a4c72a290b0174c06c8cc8bd5ea9dabddb57c85ca99bbcc116810e10200724b13ed91cb347001c905468e55e6f5e925102dc80381a56c54c5ab0ff0a09086003e29c695e50ca2a76186ba15d9aa99bc895ee687c67fb8d62e5d2829c7ceff2d53f346641d2315d182dd99ee3cb829c3e33c79d7fadcda558106b445ef8dc5958907dff3a9f7813d559be82e0757b2353e95d41b2ec61a1fe2adf411aad20e51199b52e8a45f594062b084a56747666f9f3fb6fb0f92ac89e2f53678af520c4d3a60ab29c798c8cbc949427a58214db5a74143371deeb0d36e4000d54102cc6dc49fa5cd264211ea720499341c566c8660aa27a96c9a4f479a520b5784ad9f4ad4da87683cd4941d2ba1c73edad644c3237d8ce4641fade50b26ffa52de185190e38866065dcff12104031aa120788c91a7eb46e9536a509084e7edd9be46e313a48c9bb736ebde7d6e7640c313c4b15395f46887bf138d4e90763ee997b64b51936fb071b19c207a52272334a7b8cac194be0962d4a4f3bb878763478fd404b9363ff7fe7df87dff061b5b264872297e0c131a0f4c942be9f9972027a5dcb4797c4f39759620c9e431fe954ce94ee44a10d4c5b71d659ab28d7583ad2941ec92ea16eb73c74e3a9320e5d331f2a64f4910346bc90cae6f39ef4890e2e8135fb6b6f961baf1679020a9d31b3d7838d5a1fc47d871cc6f4790746ea7399146238c2ea327161ad73d37d89c06230c51cf53195d51692c82a42a57043128d5393ae64410464ed68eb6d605171490810378f0281b403a1e50a3460d2ad040441f1f62713727fb824c9516d03804714f9bcac9830ab259a1610892dc11da3eaf74834d3540a310a44d75d9b939b5a29d7ab8c0468f1c8420ac87fec54ce3ab4f80c62048317cfcd4298d7c093404419022b4d6fba8d2763553804620c8b223a45c8c39dd678020ae5a3055b9fce5ee3f10f33576578cbc7bd7dc60f30359f4d767bfbcb9727a6eb0ad5e1f88df293a5f69a92b7583f9c0850e1d01a0b1079403070c72b8400034f49047d33c329918f5f3d8e26decd061a38bc285198d3c2427d6a656fbf599c4a8b8d59abfec7994753c10bf7e649fa7911fb56de1021ebfc516382c50a3860e1c77205555d8e85839a63f40c30e2471d3418b12d52374560772871c9d9e9490bfb1dc60cba1021c3c8e0ee44a99fd2cc4664627cd813472bd925e9f7eeb8f1c48ff612af37cbacf25bdc1968868c4811c3aa7e75692a95bf11b6c0e0792fa0b266cc33f7b76730334de404ca7746e2f9de3e535379046e89367696f0331dbb2768fe828d79f090d369055ac72522d1d22429ba603878d2e786080c61a081ed57fd7a486936943430d045113e2528e9e758fa7e19c777d934b42c6e5b6b6cb584268205dc88b9a647b06926d6b0a99374ac30ca4ea6f532999ef5910d2280349c4e98a91a96608d020032964d47c7ae6e27fbec740f674ab4b9792b9a8550c448f22f69b62522284108d30102e9548116edb73715d050339c6b1eb2067d3e54e20a0f1059269d8f2142c86f5946fb075eee8d1050d2f20175f7b225aadfda9633e954f4b49a30be4d3fd205338d52a81061708f3b93b63be20a4b10592289de2a9519b1b6c8d3e070c34a0e303356ac040c78e1d19a0a18532eba86aed76b3401861ae96438e0572dcaf8ae81c7e377e85e5625f374dd6f6c6667d2e9689d2cd4b9a15c831eb856c2c9d6dd4804615c8717defcbf34c0592bbd769a757bfb0ec14086ba672bb6c4c4b811c53f0d0b1948c36bdd4a8f13bf8774481bcf964896996061448a2f4460f694a4f202595373beae712e5314e20eeff5625cdce54e96c02515c373ee91e6d408309e40e6956292a56898c63f013a85103c5e06fd05802415a6a92e79df3bff3349440ca4107f1a9fc45b3e593403e7da16e837d9040da14844ae349c5fa501e8174e2d388d299f385f6681881e869316e65dd8b1f2d1a4540a6f93c0ba3691c3a42c0050d2210b3b5f39d4e7549e4e5021a4320f86e75c630117f62f20d68088128237e345479af67c336073482404a622cc6384faa733881403a999255fa7b7c4b321a3f20a6caca9f4a1761d6361168f88018ace325f5994a37878240a307c4d8359fad9df549e9f080144c468d1d6b546d50d1d801413c7e3f639e860e360ffb5cd74fbb12375db139bff833e2442307040bd3ef397a4ed1a4d2c0013164c4ecd2b23b68dc8098737651c3eef6e9a78b1e2ed040d1b00129a89fb45dd339c72eb5b06273b534776b73d52e4be7dad082204fc7907fa293098bf5d0b185076ad4681dcc98053177dfddedceaa4765415249aefda5a4140ba28896784d3a5a54fdc0c2bdb80eb5165d6dcf38cd3fa6f2bd57103606d5d81cf17931ef0ab29b4ac13688cbf79464c38030a31564f1d8b11bcc82c2851a0266b082a07e6a69326492296b5641d416952be9d0f9e2525441ce5d49856a4d5daaf98c54903659feeef01753c3860ae209a1192f9ca6fe8b4f4150e3afe9bd1f935dea8419a620dce90969a2620c5e3acbc28c52107dd3a99893a2b35e6d610629c8e1d2a8a89d55ea3c7661c62888c993075f1f5d15668882fce6b9a408ed0db27d28086e3aedfd62d8c70b4141be5472bf596e1bc28c4f90634a972de790677882dc99ba5b54ff199d20a64b497379928b229338410ef93ee1e15553bfdc04b9c6459dbb599528254d10936b8acaac79ae329f09437574db5ed546f6b3b6f2d4cc688509c2a7939a725852b1d2a68b2e0ade8c4b10662da36cd0298e0ebf25c8ef655bf2e3fa830a2b414ad32c426ce9710d2125f82eaf144d9bd54984e72f6f7d12a4faaaad20baa584bae0e2e00e0dd4a8d10517a7cfb6281da8514312e4a41f45634edf24df03cc8804c1829b78e67fc814aa1b6c5de0d8d183c716db23070e10a80087035480c3302408e625ffef797329f347906c4f948b018d2ea8842d0623e2602c1008c4e17028200a9b71a600131308000040200c0683d1603851b6f5011480035e3a22383a221c201812161a120904c360200c0685c38130180008844381408020a4e422ce0360a83c5d412450ad1c34eaef88adb52a720daf6a763f52f97b1a47c6aed55cda8ef4461a930cb941984821745571002dd0895a164fd55752afc69bf909f48c7a249cdbefd4a3f1f4bcd1270ce6828e5dfcb627c9cb39d1d286c95151af424ce1ba8847b8ef58a402af043d019908dd530f33b9ac7f083927dc4b948fd4f74c91c2112385d45a7f1809de4f3fd4979e26f495528d3e5b9da3c17c8c2157eef83d675efa97424ed1dbe9bc42a3622c9fa6a932ff393c6e7a7a002ae4f7ee5c2e1476d766b75e2a9219af486eb698201f431c2731d7a65581ff43bea7a977c5837eda342c5b1ae199f3483d6aec8336b0f2900449525d5a66b516d851deb6e95ecbaa0abf0d3da8e7060b6b460e2916b6bedafc76b8378425d937edea69b740e052ecf6d4a4c5a6902369511e9a120b00e1a0429059e347bb64720d47494755f771d00551b224ab49e2f58673e25bab7b7763019eb4e19c95a2774747eb43fa7bf3bdaed973098d7ebed1565266b09d2e1a5966c6d1bfb9f7f24f55aa76ee8d3742e7c0f2ab109b80f3810d5ea1bb1cb2a1425a201f5222b63a57724c633e7996fe96237676947cb2dca18f441ce01875d1c03eb1e5ea29e0ab3399739bcfc0b9f5abf132c52eaf3ecb2e8e5a1da6727cf4c0020d47c83f92c58d3ae41b1ef0933f220ebf96a82a8f4ef75c645b99dd40a06585bbfa1dd2fbad9085ae1199787a5044a993a5058d7e69a392fcaa1b07f3713642b3b2bba0d7c96222bfc90da2f68dd72de36f9c98b0ba61ff23ae4f42a1248aae0aadc8e531a2d196e82bab1d1b4f912186686da5777db223b733368b1019ef4548237df51e5b575700746968386e140aaee989ec298eb5f70c9ec766a30e75bfb6d48a4985d609de81d900014b96e34de16362af7ade48235b604f261cafd20513d7f30da5aa23988b0a6c44519d15c127213c6715e1f203c773fa1de1aad26b237736d84eb3623ea7491c963b1f053c6f17209657610ebce43bfcaf55b0fec13ced7c22bbf7313bd5ac8bbf2a210e1fedaed2fb278c4f622b7e127aef4adb0748e7bba3ca5fcb35c359d0c38c7caf7421664cc18ec2788ce8e6e429574538fe329d76fe91549f97c3e79903b15571be23ddbc83b163cea170fff22cbc68ea496a4d10bcf805d51b3c8f0784c3e0325282af5749dabd7b03f96f9422eb54502b77948afec46d176946b4b1f001e09d95bf7c48de1fe9aea6bf2b93097cde8f2a23c6273beba352b805cfe58de5ace9aa100a8fccddafdc27dda005a8a17c91ba9b736530e7ee85250414da3f62cc18c1182fcee02fa0c0da090c62c09c06dfa8098b60c56a2ab88a6714fbe9253e7faf8d9082a831810cec5b1863878219388af0a80a61a50e8e5948ff6ce75b1e7c0b72d2fe8410bbe53c3f77f507e5e57df16b79f62ab46e9d1e1e47b27dccf21204a3cce6823790a2ce469fbb920e56c92d381a5cf7c7741af07c81bbdcea4a020c95e920f3f7fd4fe3b562e89d14d47a1771ad28962859e3071359ceca1596be7a212a6c5c50f227394074216db65f3572339b04f1949877958aefb69a00d08d76786174de0042650540ec47ac0b95a70a4b7a3d35c1488072449cb79571eac9ddd2ca9d8c2afc873919e8404cf8c26d77bcc98f8fe90e60604631e43cb937ae00d8c21b114a93d7e7327553182628229c49b1e5460326bfd8a6656ff8c9b3c5d4e04db7ff8c2046014c4c66a2247a48b414c56179a4e428473622fd6a3d64a67c6fe924be87cc0e11a613e302bdfde55e79fb6fb651d8ca438ce21d37473fa14dfa6402cdcd3d270eb1b36eacd9e8a8746686fddc6b8fa71ffdf19cd5be47230f503bd4a47445357832f86760fa5652b5705caf20adc4ab0187636b07d76d3837cdd895798bfa29ac8cd9ee740fc35f1c09076ec9ce9eca6051034cc94dd2c80ca2c8d5994bc5ac443b8a0a800eb81d36f8882c82b75096d59a3159723e91b7efc0997bde43536e0a4e8c360212ca558d4a01c02cac053a19b20079e1721d7d02d67be23534833b0d46b4dc7693b8363798f8873731ec046fa4f8e7e39111c20ebe17af7bd929a3edf12d0776ce0f1ce0c7aa72c646ed2f43e584f8492100470c818072e42b8661c24030909e048e6c8dfc0ce3bc38b4b0c2391164d33b8cdd7082778ed077cb7b22c19c49756ad5b502c336f915c3b1f3d645c21fcafcd580d812a9efe7e997155080bdd302d8d36004d7bb4033067d08a66d90370041ebd9b2336d6d0eb36774926826a7efc274e50774383d72f0314497daf9c229aca6380c3afe0ab4464b8c2f01454b0936990201431e1dea4ac427d24fa8eb21d3080529a7c0d9dfcca0f5e6c15ce0cdaebcef6df41261a9f421e9930bed7da4c737f5d3c3169de09b2811235b0e39705f0e20e34374c86b50f9c3a216f5bdb55f27117ba0da48330e7da9d90a8fe20e66a6ca884af2ec72a6cf91499a37159c684aa86fc88999547dcea4b61654c85b61933cb859a8e360b320e3f594743e3fbf0618426f2383e2ebadf599045f6d1350c7010cf61b44d615b534aa241c471feadab32d4789b2686c96fadef3a84440a14f2e81d8c72d9dacba070dd0d39bffb34a48cc192fe04eef478e34814b6c1cda482ed2c694576d6d4379e730bec23ea40b2917c6bf3829746834080fd783c6e1f73bff94d2f4a4a2758295462b736234cf21642ee79432a1284f0de5f82d607035052bf54966d7c8bc004b154c6f9c40bf81e5318be46ce78122fa3df2e0e20ce83cc4119a03e0e95d3961aaded96a510ae932b9e064e2125cbc469147d129e55c0c25caf2fd34a5ab6f495194b719b50d175f7168b2070e1f59a123006e60a657cb86edf66acd7bdec492672c3911ad94581278ab499356c83265761fe53b4c439ea4bb2689bbb0242fcbdcda047c94e524a74e5fdcdf414a87900541421275949c7ee73568228f8eeafeaa180247d242707e48756fee34913ec2466c729ef397d4c8f5d8c30f136f5623a39a81f906a1121933fa4236f8a87953be0e780ef0491d7efec0edc7109db08c34268766c986da0fc109a5a46706e09b7bc14d1ce6fb377da4e8ef1f18fe22a20e1548f63e664c404f8309ab29ba3ba00445f0ed336424a48ed60124f4c0503ea37af2e00bdcc8728189f6f400f006acc80df1450bf95b0a056bfbe288c7f0dce9e947a343cc87c12e2406047796a337f81c1245b5af42c31f33b6b53c82c767c9d18fb430d97e088173ea6e3f8b05fd9e7a32abea977cc37876ae531f78aee6b8a49214cd3a92feca3aa8d9c0a76b65b99929d95a0ee52fc6580b61adc80db914f840095b7bfa27b499901cfdbca62ebde6602a8cbe1adfa31f16555d89463d3cf3d82b50721df9376aaa33b40fb63700b54ab5b50426d4e88458e688f5710fbc0d8d52649868b40bb450ac3e36423aa44a2d2a25a913ec0d71a440e230aed3a22c721c74a50f8ef0e0962af5ea2c09cc99aaff5054410474c1b5c0bd12811c37d2f66728ac2fa061d92585dde3a72f6e0a6b29793efda6877b07ced1c9d225a923c9a68de376c94a3106ce55162bdb3eb1c010583643cc1c600e6b354cc3f68add0695e5f56bef9fddf09992f334a869ab41c52b53720660628ba29fc8111a8f27aa34e97b83f4871f8d17136f4a983782514492bdc36abbb8442b268738a6872dac0276925833c237361965b0b1ddf805ca28844dd9436517e59c3431feccbe3485c5811bfe4d309e331c1f89c5192d5fefe3680958ef56ca606eb090ff81fcd93c1d415a482bc2ad51ac20e97026262fd9dd069bca9a38b5fe398c37879517782085d0bd7f06321e02448ea98d2ffb68c23e5f7b3d2fdd363021304094d9afdd008c0006db02f81c8a65ebb1cf6b289a8ae65f88eff95d60bff713184dd6c1d7eaa1e06b89234dc0eb199625238e05cd6f6308a75e59b0969d930a94d65e97679b99b5b8f27b0f2b484e33389f0823b97d5ccab9cf625ba801941cc2e3c001c9aaaed64cebee2138df1ad6f1343a1003d8e1ad04753ee031a8008f9d9dae7db6062c9b8351acd27470f186997b8571991821ae877aac4d2654fad376ca3d6077e2495ba762f55565cdfe5ad2a1bc01932204d82e9c2780c44bd20ebe58e4d03b5f666306248f2d60582c028b23009eab14629c11ddbe8bed3fe172e076406e897c5116698cf6e68c76d6bc5d0d60645344346ebc6bb727707d6df389ee51ed707608bfc7a0d9664a7230cd88afd85ba21cc7b5c44ad3a1b86163f0b380bc36530d976be652ab97c0db4905b2e08fa77a526474247d5d7aa5bf3f5c80caf8ad7990c2e4b89542fded3203693b5974d067ab02860e53375660a193d592bd7018c1cc81def9f6c175bfc1c8313ee57168055f5258d80c484607b0dc587fb4b5dc1861b636afb6bc018e166aa9a1511177dfe6a9a7f6901211eb3692834c6a9fa42f473fa296aeee6e027d7fc2cc45673007b6c8b92188cfb5904b1cc071935897e74cab70c095d835e455a787581d57709771b4e7dda615b4ea76589cd8ab4d690d191dc34cf7f2255fd8d86c50b837652645e3be70361585c27ea9917623956d81e174c6e65393f10e6fce47e0a2ccf7bb18a317324bf606b1cd4e4b04cba9c95f60c7cd52ed18e539f800943096eb6531b3bf5ca6a546b044186afbf70cc2ff040769b43e7eefe5e1efbd040e8fe4dc284a97d025fe7fc26dff85be1cda52fef46a30e79d63c3a0c8143e212ce495a96390c05f0ff87cf6bee2a0b4a42d1eaa7011d07dc2a2665948bfefc17edf5353a76a3d8b24b407325812234294ccced0726f330b4a99a62ae03c21af013028c29cae050542e5b66eaa1a9c769c65c0ead07870c0a3a53dfb7844de45889764483ba7102b7b53c7abdf8b86a027e87d7c3a1167407bc9bc83d5047f38c3d84ec1093a3ec915bc180b2dec98e61c49e84a1fa297aee21698e8fb139a8b385d92368764ce984ad24f7da6d325b386e22771e188f40a824a61644229b0e897f0b724d14e4da394a8ae89e3a0995969296935d6c63f1787f81eea4bd34bba0f97a5f07a92495d7ecb68f10781268a57de3161d59aa468d760bcf6c0bddee3695ae31d9de79f2668866d98510b95bad53f667caba8c7261a87d0fa98c505dc7d7a09c5ddd85c4a2810f6fe56fb3e0a3e6c9ee60eb7738ed63b444227395e3819f0d16383402386253b995829e040e6dc0f2af956e73a9a19ada2b3a193c2d927c76d1bf5f745ff7e34e82a4b83aaa103252a2a41a0b4bb5c84f4e4ee6114188716653a193d2c7778daab4c69ece170c25884e7b2c2f5ff0db6bb44ae56e82d5ef7730f6f04edf05ec8481a9abeef0f13a5045ac9fcaf2d741a4e963ae5f052ae3e2997b59c0b771f17e31fe3559ae4dbb8ec5c82679d63ab6c108b02f5fce3a0c365c41e9084dca34c92a626546724024ef9274fc2f060614d0232abcf6d83470d9e9638c84e1003a0c863000a6bae3855b2468b6701a6550313bcf7824d6461be0ca8165528268389e853ef1a8fafcdc42f18a08ce4c9393190c5dab16e24b39b7f2d84be050b1903c1a214bd6815779a9ebd526d85a5e0ca6aab6bca97a16c62f5d4825adab1b62227a0dd2994908b05e6176b8908df09e35f3b9e361052cd198f1a56d807c61171dba0915b0c91223f37867268233ab874b11c4e0c195f9d989bdd96da59ecc62899bc67392b32c5dbfb8747a6dc5fd0f32ac2ca07a9e1f61175afcc9b034db329a830972975b3055f728cd692ab8e44b32181596561a59f21a98a0534b9c742d3f2624303ec2b5570d667cfb05d50001f210ca64a7f4598b345c0b8daa2ce62a64b9463ea36407249e1b7e51f53262a04f6529234b4fae5aad2dc8a0f28dd64c1edb85e68da420d9e6be7c272bdb1206c4532021ddbea8a383232168a6c804196ce8e3540e92179c65b11d86189724da3332b9b20f58b029791a9413b3883e16cc475305b3bf0552a2c5866b252ca5d9876a567e32cd41fc7961c9c7bcc6a8d3a98aa4586d92dd3d4a2fd4a608ccdeb7b82dd3ff120dca3118b675f8ddc631caab8ec4ec250008f0b2c1b6ac89f108171e2f411413f2d19654e9ae1995f016ff1143805a1e2cd641866fef1ac2e6a140d8643d922ce8732d78ff57988bf6768df80da7223ed33e17653a55412808d4590665f93ece2d09ebe910471a33978309618f4fb052192995053f6d89f08064288271b9ab0aa503012a698cc02aa02e8d64bca11b0d2ad09d5e374b5c7202aa4d75c4ec5109ecac01f95934005644f01aed1460f00d93682ecfef7c72c66bd9b9a7283698c5d9e68f870720efc0a87ab22520cc32a960cdeb7de8f14ea8c711cda49a07dc0e01887a2fbc876a776546b2a1e34a4d7408f7af220e97687025d597ab6863cd01b1f327082f42d6aa64c67c3075df1ceaafd500cb02d0ff1e132a6f44e367a62d846c903bd00dc0d53169d4b0017e62f76a000504b9efb884a0fae1bbfac0863d5e099756f8cdd0301100f3ed3e1acf1b99749cee0b3ca97128b5c65a94d4d8c83862561776bf7a254de933ebea09afae7c29e48ff8c8e9dc169d8c11311b3933b4707b856125a60b25b7a83d6158f73fea7df40142c609124669d7e42e93ce59e0beaf30479514d379479ee0c39872b63ebd0a2d343463e4d53aae671b3ebf5feb87ad56f86bcf3a1689b5bb040edc73c1b659879dcacddf335b7a0175dc7a6da1caad925651d726b8368d5f4813269b5691f7994c323292fa1f5c17928fa704e3d14a4cce746d58c41a6b940f03febf562b9c07e264973d0083bf83b2002325ee43ba41cd2b281222fe3c23540cb6b22a8d51e0eedf6a8e756616c8adea49cf26126416da79c414578c363d4083bb3b266e0b353a5c2273a3dfaa2e414a527c9eae508a42810938697eb73bb5818d3c011cb1d0162d0f51147935d3c0841b3dd17880549a71c6a8602bb7d2af53101e4b3bc8f5afe639b91ec27d783224834076d9302f714466bb798a7c022b89bbb9d7ebdf8cbdc9102ad750ca6109016f68991bf31f3827b28dfc32284cc2d8f4d7e5724f36b7f4ce7f464a0ccb8af8d946350e7ede8150648e4b9b21015422c97944de386a1ffe7bdd9520c2570916581945cb51dd3dea24da9f450beffe8502ab979e846637b99bde8d7fb89c0f276049618416017370090c9244fcb4126a09e2e8f499423957a50ae381233452d889284af96e85ee0e470ce2af1d211bbcc761296874f5e74cf9ae042de86642d3c82678ca13971bb06dff9a6106ad783c8bd61c9b912a5d2539068937a0bba036787f6fa020c55994feeeef5f25e6d69d26b2fe473d3d7e072fcbece19eeaf19f143ea26780d57ddf218c06521a5d5dd5e4e08a1e0a794edfa109bf65f764d5a5cb7f40e4b1454a73a459685f6fd7f6bb0ca452d498c400343de854d9519561f6448f4c92389b7ec9ff60f67d5648812e89ba094b4ac83f0c3b5a00cd0f58c1fba34aaebab8f795b8fa9d5d70a5b9e9eeadd85fd0bbeb9d0e082cd56dca307f8562f355502e7a36aa5c06933b885809efd42c2f7ae9d6cd3c9e0149495986f037117576338b7e9149dbd43dacb6b7ce1558f927b4e885b5eb9dc1c3753bcb618f52196234c79ac892117fe3e20c7d6d492b0b84d4e85f070e90ecc4a173c696e850d745327e457e1faf68c48a2c57c4040b1578bd81e40f32a0952e865f18bee55d2def1313c90caa2f193ac02978078b3ac4f634808c45960783a80e0d94fe52215c35c32368ed02d7d52320ce0ab65ed5e30c0fa225696727acc7d4257939c8cb2c043a0acaac31d45da0f0b905dca45e04833b84cb71f38b12ab56283b642de26fe32022934cf542c702ed666d01c2dd4eea9294ac65d6283d200ca08257599f7c7aae2cd263e71a771b35587cb30ffaa7886d852822d8e59fc058d42b8ae953817921a2a10b0acca98a6899c0dfddf137b947d2dad71c3131126c91c9578a7437f8e4cd40730e7236b80f5f5f709bf0101ac599e1b6802f810964f79d49880593812c522719c665fdf723e1649a96d0c15d336232aab834d9af9ad12eab88d1c664f82e52362b36753b5744b3e0c9206e952359c92d30be0db7d361a65e5d18c203dd1590e65c31dd852353fa585cd8cb019fa22f963b4407f2f8564e02976de8ce826be1f93ac4e9fbe8b4d6acb928fff522504a864566e160e503b2d97dab1fb61d830093c786a2503055f902ed2bfa82a41be94dccf60b43fca136050093d7204da05b5234df0d7cbe82a7afc97bb8bee1b8de9150a2b28509e715a50388fcd021f55898a7bc508a1753e5a927d57726bde65feafb49eaac63400cb741c39d7d29eb09b2cc354f393c036486b83163b146f8b8a269e91a1137ce2ce73d88faacfa16d13023673d1b456d624420c444dc89bd6ec298761b69db753fd0084e3a7cd68b01de5a2f72e48f25ea5d16228e9d9983848606102275a7268145edb3b9f48d006401dae003160a481283f977d5b29163269ead7e2930386de659b24266b983bf44acd5e0c82834d921259619263ce89ae1565719522f2d1a950abc2f67df39a2245db86b2e42428c6707c43ebf809c92b9056a55975f9791a9606cea1b5c21ae20a06ed5d04e3237a9ff68f4acd76639a07caa8c3f99986f8d18baeb8a7154db39f2ac651729c325ec21f898c9b2a34d2b5b187b6af74ce6b7d4a769ee15214b76349291e7d9c7760b6cbc49833a1632ed56f13951a4586158c9cea3ece8937601764889b1acd4a9660b44b418ab02102901c320e41a92c54c2b6462076f8a0ef029b03ae12288c807faa8b441500a491a5f80acca802014d377f42c91586abd8540d255ffa5a966443368bda8f5ce56a371eea8524f91e1c533c9ba1914b8ba83b9a9dd6eec92675b3267e08016dd1ea5f1433300845d6f2040146afcd1cb246577aad1993541437f9fea84bfc9fe5d10655acac5f293119a37c1d60012344902e0c8633fbb21c101900e7ea4d10557c447ce4750128ac44d1536d6a23b0ca29c7128b615010f5504aa7160036258ff877949b6068846aa55bec890e95aa72400bbe86765d37c6fa4125ee6acc3e5c9696e6144ecd855467a0c757a0ec61adceb2da88700a317a4da68a0e925aaf17febf958f3a4567312b5e155bc157119b21acc9a7b6c9806bae0ea243e43abef2455cff196cc48e2877a3551625a420583b0fa3f13eb1003527129a566d04fc3a88519525c6c9dc2e4d97478ffea0065853133a75c0a83f46cf2c5d85c5f001ba9834a931850182d1ab198e4c3e220d255fec8b772dac627b2b1240a6c0ad2b6aa91343ab2ca1431dd623259dc6e423d2ac7778117aac7a1f4e07fbb0821446b98e81e8b8a35492ecbea9140019d911508825a3274a48e26e93d44c4f71f5d448aa738169437d7cc2237d4f8bcba8bdf97ae926890c0420aa14a8acb1860d763a4c0d4061faa8674730638468c1f5bdae8d096e6171e3515bdac14a2e8ba1a03109a86d82b170d547c918886bf5b1648e916e3b3ae2f28c4aba39f8c691f993176d46d5d65dd89a30c7d473d904c2b86dbadd2c286f8a5ed822eed44975ab956e82f40a1bf2c559abb4ba73b9b178bd8436af4f06b2f0d0712940c33c30ae057a181f1e677573ad89beb9b8a09c6a4267a44e6a306dbb9a21c68df4a53a8335940a6f8de33a2b6143fad720811829a65063420dbaaff48c649595dd8d29ae470ddfa45cf7f2d029eec11e7b09e3782d2c6ecf06ebfc546548ce47314dbe963066719e662b1790805ac208c827d246da3fa9c8b71993b04ccc9a9dc248d8b65f06b746824dfef421f0cad00128b80f4a6bbaf475c7d045a0eb78dd5eba7974dfd3a549ddd79c11b8aacdaff4036f61d4f5f6b74edef17d4da46e9df19c2524c0bde793f65a01bdd5124f12ff6dca6b37ab15033da21e4c8bb8058aa63c287c272c338a043d676b255d62e0f2bfa8e77a9f415706afabd0adcbb5deceacb98c721796cb31d7566efcdcb6b947fc6e050c2cded6765d86ba0cbdeb81d7465db8775df05ea40bda5dddbcefe8c2bbabb4dec7e9e5c1ab53f774d73df798645c1edfab4e79eb367c71c3d905d79d37165ea15fc1908de7309139d3f5428c2f33a828cbf365500966a25162b2042e3326e72088e861187096f2d7f2a180a66170ae4d41d857eec236f101b7a2526d10a183394d4c7294e19dcb29ea12f5668d92c7d66914c47567337cc0b5f41b5dcf1cab91e5c56ab7e90a4822dde1c4fe68f8c8b4910e1502a159e1afedda94dd061733c09f20808c98fd1f84186a441f8ad1f6b6a10d11ec56a4c6156d4235152df5b787f9a8afd49faabe2c9e974c929952aa1a6d4ba11d93d8bd5dc21bd0ede5a159a07e7dcbfdf7e016cddd07215adca73b5046819c0a7003fd0e2f7ccfabb157ed957826c0c76ad5cc50c3a7546e4361c5b0d5a4b3a0343df4159d50330a65b82a1e960756872c39a1cf2d4cd8865f483a06936d63a0dea4b419a31df77768ee2b1aacd5bb354c4f551ab4c4cd99ef06f6b91746a7b19a5729788f0ececd2794e0ea6e606f28b7566470b7454370cb17313e70ea5634797d27a5effe0daf345c330d3910b665147c71872d0440a620793f3692f578d756322224a349c9f3633d71414bc0178b622def4ed0ae4e3dece2ff72d66b72e4fe05a801fc44290d27cb6a42af1caefc51442d8014accc04f18222ba4bbc7a80f8af7a52d918cb7aa896050ac8c1e503f4979ef9ea1f158ea5b66722dc91b02f5f6747ea12dd72311d5b9673bb9cdd58717f6667e6ea12d357dc988e1c51cb003c1cda230b395af404b998b6fb7da0944bb0053cc957cc0a2be61bbf6862c969fa67fd43b1581d1f1ff4cbe23e18a315750a3b2e412ba88e1a5915a985747de4fe8bd7caa7c60b4b8de5cfcfdbe990c37da838dfeb3145110dfa9ac1fb58ccec6f94006f012c1b00030ebf9596befb07cfdc7399d90edd02576a835c5d4091d78c35eea2b3441959c3d4b37d0db3706873467d065c3dabc9501f84274e49ee564598501aaa7136106647fa9b3bf10e162b42b91e018e7d5ca936aa4ab979d4b9e9395cd750d66b834e96a62483315d1c7003fb14edd07ab33b64175e9aca752fe7d50f9e6ad50c76b9a26f3ac30bbe5d2a5deae7cf12e664d9b08ae5fe9d39e12d8aca7bb5ee0ccf48f44ba20d88bf3b1e5463bec7a8bb32ed3728b2d4942e10d08f212c0c67d7069b19aa6dea88224d0d9dbc12816565233ad6a8828d1b68fa7dad485ae065aee78ca286efcf75a4224097803d8186022bcc5832fcc20def3c1718228143a05dfbd23a1616e0cd40909b8889d801a3dbfeb493d65a815a028e27f072fd6fc13a114097b912b89891feece9e3fa0a9c4990910b815e080446873d6ca105c6933cf5f1c2ab2b3243e08497edfed55d7f0b1b734eacd77f0996f9f3854cad573511c059e0a51a28255fa203035cb78b734ae0e001852de04260eb81180ada5e7022820c400e54e4adf2e340460f1d3965387588c940038317e76e1f4cdf858a41f5ef1273a0c6f00eb91cef6bc7b23d9a2a9049b002413e0bbc231077e675212fdda957afd5ec62e5093232a8eb94ec4a137748e5eb82b6b8ed6fb30644dc2670332305a556e0f72f46edc2566a89e3164c5e6b082aa5e5140b8d0008a11cb428c54ca98cfbb3c91c37dcf54754d8941252f61746462cb4be9663162535922c1e8c672dd0646fd357191a4e0941fb455d70a9b5a741bdbf1245c0a149de378a1417017b9377ec8223dbd49754b363428dfc4f0bb9acefe1a5b484e6ac8258c0431863fc8e1af518d5e6539ae4584635dee0cdd14c1cc97b3149c5a673beacedfb77e80152c74312f8ff02c4f575a743491c839c4dfe343ed35a1da4b7c480635bb10330832e008b35f3d155caa339ab0615fb25345288e83aeb65173d22b71201d035a5e4782b37d56dff85706579a966ded75125a875ba6e692fa630a417cd6cf790446552e25afff34ca6073d6017ec7ddfbd66104596e4a9d932ee1659edbb6ec0f067050e8aba17846b8eec4975754cdfa0af5775c6fbb221fbe52fb2a59c94e90f422a7a6d607947820168fa6b601140c5f4c46d8fc81b433a973d6657badb44947ed87250ef6a8c7559310c49412cb76938b97b67c29a4a22fe3214ce6dc6bfb86fd652fc3ed36941bdcb30c651ff0d1f71946470a30fc7376fef636e9cb2c671df975878ebead9b27105075a350af15d2e608436c0cd51ba8e46866eac237aba4bca503502b51241f94bd655d3c86b652fad9e68154e94b3a97a1a59878a5f4cd13a04158a700323e7bfc65ac42fde39c9ea70e97f4e1d7f7018bc3965487bdc6fe2c71341c9037641fa906be4fe930882d71c3c8590967e704cff99b8439a36d79634973603a4445e008d844b08cb120102f78453b77fb523178174678ff06fdba5842eaabcd31c08699f7429a27a45089dcb992240ab131ffc7704437bb017f79d0d01425bb441373cdb53ef0d7de51d2deb9176a008c7fd1f725561038aa9b662051120bad266d2aa20725d473c13e2a139380851237159359390fecd3986bcb61806ef366024de1502e4e45cdd2a069e1213f4b014f2c1db9361f5d510a7ba64addccceb79ff619625eb5b8796ef13c9852971269ac1ada0998830b30e1e008f609cce0c9e261a04a648538cf0400a38877d510a3dc140435600a009c7ca1ee01c02e5b88ceef2d12986c1111ca8ff8891ef04388950225a110ab1dbdd55b3b8af7aa6de00f2ce002d37158c15fd36c82d3379ab01c316f4113b61f03c56036bebef9acd0607b1d9f3a471e60c634fa4bd94da4a19888611f641ffa77023c5ee16a1b3759cd54bbe81406671e4f7df4c4b9c4b3f2f36019eac1e15cae7ba8d2e4bccbc273ef5f5d63cbac7317019a2f8d832b4aea7a338a91ccc7efd2d0578b8d12996066766507125371882362e5f2916e2376f970ffa64a4d8acf5455ddea2ef8287c0a22c52028244463a3d86ef6520df7dd956aefc8b4dc72275eef18f89e0527ca01227507baa9b38ee094421283fa2e4ab46734c5ed31e6cfef65ff9009e178f0c19869a30c5176456a8c478dd8de3c220b2a1b781a5ba18df04b0def5f74d64c7e10aee201b93ae5157ef5379a5c0c65df1ee5cb179673574d0ff7a6dec8d974fb1e61f79ff2541088b2e7a7cb56193e6879de95e648d606cad501d6edd2ba7a2558f0677d806eaa64b74fbcad91d84d06bbadbebe56cc0126ec07c5b0c2f257a23f888fc0c73daf23f90c8b43c5cc92f8817fabfc2410f56e6dd37f7742173f2516276062d4b2bdff4ea127319712afdc521d4ad401d2e302d78e1b5d86a978f7af6a5f6d462882a8e34c46849c44ee964313c19d63dd5f760374a9b4a1f97ffbd805bac7bebb4fc1a8851529a644451b5148e53d747859ab97177a50cbbe936dd788cda96fbc62aef32456b3746a8195e7d5656a7063107633a09f97686a212007628e5e86327044f636daf2a42bd71108ed4cd90d5464a23ec03a70b871fb982103fe371c7325d860bed938603136f578628f2a2069a4e2b3b0cfa8d2d1890c2c73e518ea90a65a2d39a8bbc7178e5fa16973472531f445173c4a72d85bac4eec25d1645216588b494c104d155f43f7104a3e69b2457813013a367618c034f0b5ac71130a051870f7f71cecf01a17acd7050c562d23c99de1f0d31488a7207a01a11a262cac63e0e59aa3cbf33d02b49469d5b1cd2a2bc8ae168a383b4a0c130881235b816dcf4c88ef02a2208721abaf78c23bc2644a53a21a883396baab239f87d03624ad55aa44e51baa8cf998defbf035bd9eba0e839e50011854b3cc2f3c04530e2daac1c2638c0c844ca697181697159696b3ccb0fedc2f2be864bec37b62772552ed58d600012b9a205f69d10620ba03f01080a3762466586e9caa4c8e0fd9a5463579b0707bc54fb415cf2ce0f4ea24e50bb735b7c67b16af9daf3898c47cf8c16aadf4ea7b28f74189aa45df9c99c512de889a05a0702ec9f2808ee1e5091d4be02579d29fb198d63dd059a00aa2a2d303b60b224c301ff0000000000000000001012946d6d13b6b58568cdca94a452f08f2e69271e857720c994649229c9496e1015c90b6f9ec2073299b501cd02c802dd02c534c1bb0397ef93769eecc0e83c7592da739bc44e1d78713331f54974e0d2ef4588639a0327938b668f49939a97039ba3624a55af39ad1f07468b584c7bcddf798703eb9eac4adb54b9eb6fe0d3044b899dee753a6ee0840c0b9e3c4453b16e03a3a2eea658a782f00c1bb8f7d74c79165383720d9c3ecf79bd4d35f0396bd6e4a0b4885ad2c005cd7691428806be826664bf5dbd283903a39f7faa7133b036ba630c3aefeb7b65e0726d8aab123230de1b4aa8acc7c05777d09e424e0ceca71b4d1d94ac0b42616052681ea1fc4a880a0203a7f249083e92ed3ff485269b247d2943eb0546e969c6b593fae6d92e386934a6a07d73814f31bb53dcd098dedd02dbe5e92d4345a468b4c0f86de4fda4ead265b2c00615ac35531ed35262814d3977127d5e81152145948b7a2b3d5a818937ba4c58054eef482d913156aa0915f81cd13cfe08fb389229702293ae2e155b29f041df92279da2e7b2360a8c6acd41eb0e053e5faa69b2af28414fe0ae53cab5121954d2098c4eeaa36d47f3103681fdade86a29963c5962429722f94b603bad5f47f64ae0649f48ed2b3fe14902935c3574c82081d74cd57c171d81f790b359e56d042e897cd3b7d922b0b6f7394fba86089c05b10b42b877a71833043ec8dc785925a5e78c11029f7929f69ef04dcf982070f6ea154bc50a61a70102af7b2aea12627ec085e8a73f2b6ba224f980f7509d93b752ce91ef019b92dc9cf826fc639c076c2919bd236e9bf967078ce5dd11eb899666eb80d576f789621fb3d639e04562e5ceb793622f0e78adbc8c2958bc4f32376093f4ccd925c706ecc79cb172c839e6985203c64587b4f9c942f20a0d18153cd5c61567c0d6ed45fedbec5c4f065c788cd134b718f01747e5091e55434a290c9894f28e582835e0056c889745509b573fde0017f019f29a445b3f95e3ad60b32559baf6bd477d58c14a4c3a2a5729cb9bb30a2e948849d165263aab0af6f6524210bb18354b2343606370139526761c2124044eb8247556e6f5f120b06d2ab1ee7737c51c20701e25599e12a6d2fb032e57aefe11d16cb2f501ab26e27f0812430a313d60430439d9dac283b4669ae0a65276c069272164ba48c96dd401934f47b54f136e17e680131e379b87f944cbe1808fb1eb4dc8ee066ca526bb7c5aa62c4b36e04aaa9e25ab520dd87589e77756360d8e41520a99d3ff8f1970957522d92e661339ff9001bb29a9b2cddcb122e71f31e08486da1316475a52ff0306ecf5c5d54f3b6953f41f2f604f8faacaf6d62925ffe102f643744e3eda7772f05bc1a6acbcb43c61052bfaf992d07bf942fb55b0a93fa966bad15beb55c17ba58985904b05497d2af8b228f9a39fd20c2654f0d5f5b94d052ffbd229f8fbf5fbda1c6c236f0aaef3f679a7bb9379540a2e84b4542663be939382ab4d8b2784495ab747c128bfc91d3b94a66c8b82ffeffc9721c920bc0e0577612779940826b205145c8e1e4f3c6a0c4bc24fb035216e9e8bee09ce53456db344080b7a271853d2946ecb6fca26ce09d6a38854c9bc4df0db7a3a8b0979d629d704a3d7d42f498fba7526d8144b4d8cdd23739730c127b3edd0137c6b73094662d296ddfe71946f092efb27eb3f7925b8521a3368e794e02ea4aa6f88f9a3094d827b5dd3d0cb91049fdcba25a7891ad58d043b7a237bd390e0f246dddaa43b574c1fc1048f62fa5a63064b1d91695e4b4a94b2115c89c9b22ecd18c964047be1f1fa4c5c04afb57f17ca22651115c18f729398eeeda321896043f3a9e9122197fc10c16d7acd374bdb9462e810bc04952125cf902138b7c8a3bb3f26352a5408462f4f73498d6d7722047fb97a259f06c1c9d29a16f92be8f605c1c5ab54415332cfde07828da1e2eb1ba2d9c4355d5f292475d11fb8f3bd892594aa9e1c3ff062fd133bbd64e84e1fd2dcf16b35d77ce0826b6a53755521a67b60bb4236f9a9d40323cf435b8ff2c0d5884a414f468f11820726c49866fdfc21754816406816c43553896704514dc135a6c8972ea9deffc0e54c29870c3b8d69e207236676b87ab676b858240bba441e4b6e1f58f58b1badb5e7039345d4a64c9d9b1ae47b60f4c9a04205d1315eba7a607ddd64768875a1732e0f8c978ee7e76a96d2b80f3c70bb1facfbb4feb8c3de9623b69b56e5ee4ae6baf9253c690f3b7021c9b51c438b987ae75107f6ccd35d48b1a8b9f4a94478d081d3a9624af38bd73bf29b03177e9e5563b0729ce03bc709b8e4c0fb960ed14386b264e6230e4cde1cb544126b53b73cb07060928dcce0eaa5fdf67dbc81cb559ef4f55888f13b6d83b7d8a26d7c8c871b18a5f3e9f472cf943b4254f06803974f5a67e6ab2c78b081ab3c89dba66e5d2faa0111748ce0b106aefb6c4bc751c9e8871a382d39e874b2f35b04255cc1230ddc04b1b4add741039b277754d5f9c937619e2169d521db72100fed08091e66402ce5ed517b2ac36ddd9d314593589e24df6ecf2c8df92003772e6a7d7488982b051f63e03a5d6f6f65cdd7b48881ff1a2173fe511b7af26160734ef27479e9c1c07669261191c2534ec9c71738f96de6c123c711223ebcc08ac9d3b2abd6921df3e8023bd1eaf45a4a927b740f2e7031962cd9767947dbfdd8027b299806ef5b91a9d468818716b852293a8810e5c92e9d8547eebdeefa8e053ef966b5b1caeb09e215b83b7d755625bc375e5660e207313daaf0bfc874fb4effa3b37c5081dd9cef4406a57287987e4c810f3a7be8ceedadeffa1f5260c7545d6a937f39bd7e4481ddb4b1edb5102e1e5030ad238b5a86e6cc5232458ca63bbd46c6178f271cc1ac3bdc2385e6f698eddfbfef9e87133895313465bc58aa3e6dc1a309ac040bb1a47fe582460c1b386ee4783061bb4da7d91143a890259824895d88a0baa3341e4a70bd4ea4939c2e1e4948d33cb4cccd534485b4949d35e333144bf040026f32c91c73077d0f1df33802372aa5dca352ca932423f0a9da5571b3a7207a11f81d65215622ed3f2702a71ed396e70310288b805504c8d531604f9fa0d63e8001b645e616b6800160f1c589c001aec0712387070480c573d139b8a0d1320c00801b361ee5f01a36bac82203376274d107c0e20d57dcb871b6100000068045e368af61638b025c1100056461e34d801ac78d8e0e045c8145020a4062e0b001e3868c1be0f81b36e0e46a724f153184f24b0d389993326d4eb926c88c069c4ffefaefe426744d2d66c0657617157284eb98337e46d14206ef458d19337e4601b488018981c38b180e832fbad0e20524060eaf3123474747165ab880bbd110a2a994d0ff39186ace729ccd781b1d5ec4f00e5fc3412306b94123060e1931ba98510375e0d10a1203878c1c333a3a0cf060451733d08c9f4180c72a480c1c3260dce88e8e2c1eaae0b64fc6e4217a27f99fbdd1458d8e92c023158c57ad6bf8774e325b1a2dc390072a189925fa8be5f83f3a05c6211a5fdcc053f041ab525f16fd9ed77f98027531b36c19d34a239697501683c9bcfb9b4729d8a041470a316453ff3d29f81e5d31af5792508003187040053ce0806280788c222f31ef4ad77089d9b9eb9b9b94c839aa7d88c2d15095b1b6368f50f0e3b937fae3ae5d6d1ea0602c278d342e2e8d0ad04835787c826b4f59637a5f2ddd0c0cb50e197dc4138cc81635462fcfb7e904a7a34a675ad2b1469d9ce0eb83f0129d9f4b7ac88d9651b609b664d0c1b34c64dee588de8bd504af69ac2fe42fab1e11186a27f8430f824726d85c63569b833415aa86a186de8b8e1b98e07e274ed2fe55238407838b1836aac6e3127ca61379ea7b996e4a1a3566cca881888d8725b8e0225b72be8a36e92886e35109bed6d4fed58b0e51aaf1010d6cb1459abd8c7362d07850820d2b25c23e8550e03109fe4e7d2ad57feade4730940317a89bc043128c882047678e12623b81a196f40b1a3170d823128c0c766ad514d4381d26402de36c6a40041d0f7840822d3f8f1cfe795432f3116c5ba9aebf0443e03236e008c664ecf2d0114182ae11ece5a9378b41997764bbc8c183117cce9f7194ecbc94b366088f457097530725d3e620fab722f8feeaf3ca6e5124ee894043760b6a9252c32c05314fa14f888d083e258b7c566de7993714d4a0400c1e8768354bb69ec4184370a6c3ab42f023ecf54462053521fe200463e5a6e4686e73109cd21e64251d2d41d89b92951e81e0837e01827ea882620a842088418a204308311f258d01420a120441518c8228c6306ca9771240a0398ce32808621886811842082142420484080821841042084fd40647913833299c62ad3f32467c687ddc578e7a55bf82933a9f47a70dc04cfad2e7d83f2a0a7843681fe961cc00e333b5ff436fc0e1b3fe41155409e455737b541bac04e092528ed570be6fa4a02147de7831f9063634b91d1aa2b63af7e7f28b772335a5ef786f82ddfa9138992f340238b039602d086a2215a2aeaa638226a08af68740bbf64b175d99713f19d6bb36ef002f5b385ab4053641b6341c55dd6fa495ced385085f9af72e0e76524d862c3964a564123bc3a565aacbdcda0e66dbf646bd9b0c19907cf5f133e4a1bd97df969540c6f2133ded15b96f978233df2ba2b8c39175693622fecd169212cab66cb6e8cf26b599668b189139c8d77aecec060022f151584e72bc18492d986ae9207ea9231a90ca2c619302a57f0bfb0a86242e80835bc63aa2b21064be16c7b9f75bdad417163b2592782e0ffc4a1433909664bab0052d7b134c5003302006697483fc28e5f58bef04314a7b6d8c74a086a61f1b47334cd2dbea318448ae5292a4dceb74fc1e3808db405455fa021aa7ed480060ab7504601dd6c18d80468476e83c7f485546b2f2ee88af821f3790f7131eb1cb11cc9f948c40b759ead8aa24dabd71e981351fa1f21ef5196eb4540108b547b9f9af05f5dfc4b29a57782776e1409f34cae4d196b743191a003a74b844c94641e43852d0a05f584702360a145f7ea4fc61f0f1b3450ad6619527b6199742289cc3cb920e53a666bca33bc18c084a6dfa44962d0d66a6afaad6b38b81b9ca8832b389ec0d12056b5b217e62e89ae5b9efb8888494abda20c82f0fc32f04105e054cb6eb2f01a1e180088dd9a257a622ecf022982ceca724e1582e870b021e66dda23396a0ef1022309f1d6f3579602f67dc3bdc1a1c555524252651015f886dfd28dcb9de10c05383247ecb40966623e4f992645870b6758e2d8eaac58a14d9d86eb628d506c96bc73fad36e5aadc80e946a6f5c1964957066de77437b70e4c596e829e860188971c1baa8832009d389f01d169aa5900f4cc13e6834341d1e01d206d9e3ceb5446f8c13c3cda95bfc10459480d203afd985dd13621a4bf719c86bfd6b69554564a0d3cf3909a87b3edd804c3e4e8809fea089425369a2ae7eebc01b250ea6b3385a0a304006a9b094ec6154d6ddf85952c5fe4036b418dfa54b9080b81c6b8f1c77b9004ec214438d85957ff95da9f0a3d3c2bff6d9eb51fa9232b5e851a43384a298f478529046339bb25a5f5760a3a100f2c3edb2d33fb3590e4a280b0d100cef4c702c6aa7ec0b164ed4f2b8f894c9d9848815f05733204fe01be54d24b10a10f45e7f9762a2d05de461cb9214261ce74a2d68d819024cab44bc01bcc3452c18453154168e928539b42df4f6a2c000720b610ee5599c9b1e4cfe2b131ecb33bfc88e6853c270560ed12c08b4bde389679c42ca9194564557ac40077862c2fbbb5d2f34cbffe79c1d4fb55f2f9699260269ce84b04da78f14359f8024d8a867953e16da3ef2f780b87469b9b2d6e6cadb3c7a4fe73a5d464d21f2a1051864e2f847b1997baf1d50ca44dcca47d4e12a30acdb94f622dfe4a8256f5c5ee0c49b020f109a955cb0ccbd5487ef7473c7d3adaf7982468cfe0b422ce2ecd76eb1a78e4f732f3abbbc32334b23456555deb948449aa3cc4f25cc7c0cb6a04c208c608b371de55df2b18f6714a41a768db195899102989ac10c86fb2ea3c6bd77e3e7ef0254917121c5dd6dfc9f0b4f2d141ba673f33235d739082d84d8b8b90bc83ef89c230c80a4033b0ad4c23d641f91692ebfb535a2c7b31c0e7607521be980667bfb775290c72594251d09bd84bafc3ce17426cc10b22d82f7ec8a094e8810c7dfff120aa39cd050fd8a3a7680fe65c8acc4aaaa9b37fc032452c88313fd847f8c273f78e3ffc8eb9485fd40d76da1414e1f516f79204c44a54eed2171c7eb20d7448a319f3abf280a1dec3b12129295390738e764b7ba4e1f4e39df32a3c6c55bc3e5711841821b5a2656f41b60d64ccaaadd397a608c514e7018b408dc5153b7717c17bb8e8fe1a6a58bb39a423a9b8f416098b1915f9ec616608207a5275905b6ec7942a2cf454ff7ba4aef4ef23a80638d025e8b6cb06fa1583e4092edc22720967179f1ca638996909f9166127b651913c618ab4f3096cb488cd96fc32faaf94029fbbdd3141828b689c5e7177f7bcc011b7dfecfcb408da3f56e14fa016493decc13bd358c4de1679ee5cae29b1256d54950a63015487dceac34b806e73f0d3579bd1bb3df4154bb253d08f43eefe171f772b5da46954d9265f901956d121c098ac1e3416e1a70bc48352bdcca29aaf46862262f19d7f4da1863b0b0b792e6f2ed2b900ebe6b5b251a16316c7d55271a0fc00eb5362a58aaf4a4f39c6528f36661673f21bd604a20bed939e481000449281abd169973df0f98fbeddfdd4b02f331d23777ff25a2441436f0bdfe61651d53b3a246b550a0a4846a4e841f0216f7183f33d926919", "0x3a65787472696e7369635f696e646578": "0x00000000", - "0x3a6772616e6470615f617574686f726974696573": "0x011c984482b48d356ce8e299268b100c61a9ba5f96a757cf98150683a3e8aa85484a01000000000000002910ddec7c51b2eab4d96831a8b9e84a42cebdadae62bdea26ca7b0c640e8a210100000000000000abe6cb62c4606ee7046d07bc9e5eec2246068396590b59194c10bbe82f7c8b5d01000000000000006482e09117de608a6dd0cad6583bc044200c79308448e32a2bc3a97fddb0bc480100000000000000d9214fdd325d892b23d375f366478df7f2a426f9f29b66c2c9fa517954c2f2c301000000000000004484e4346eb0b894f148234dd9ec736a2d37c428ae191b8359ed9b03b0f6017d01000000000000001b2c1b3dec0bd38311fc2f97d2d7292eb4fe35161acc671164cd1363de38fda50100000000000000", + "0x3a6772616e6470615f617574686f726974696573": "0x011c995d40330b598da1ad50e38aa7d72550103bdb5878ffca945fe5a49e3014154b01000000000000008d41197aa896bd924ad41662702fcd5477e59370cb226183664fca120bfc2cc5010000000000000031920433c10117862ee3f3b52f102b15f81cf7fcd0a0a7c2be9f0e417b9531810100000000000000379a8e9cea41c74405b617c8e4ddbd6455664ecd4878a01584b32c6d4391d20a0100000000000000eb236122afff271e82ebc489e1cea12e6352668b518ccca8604aacb5b9b386950100000000000000e3f90d187c983c99f6648b8035cd63ec49cc6889592953edf4feaa82470228340100000000000000acd803975a0e70942a507f20f4ad0572bc17bb1321dc204054b7dc6af82eaae50100000000000000", "0x3a6b6174655f7075626c69635f706172616d733a": "0xa45f754a9e94cccbb2cbe9d7c441b8b527026ef05e2a3aff4aa4bb1c57df3767fb669cc4c7639bd37e683653bdc50b5ab845ac5e7b4ec8541d012660276772e001c1e0475e60971884481d43fcbd44de2a02e9862dbf9f536c211814f6cc5448100bcda5dc707854af8e3829750d1fb18b127286aaa4fc959e732e2128a8a315f2f8f419bf5774fe043af46fbbeb4b27b008f0b1faba1d0a9228b9c6421f3571f0980a90d29e9fa238fb85f335f4c5e9027fd25e9d8e39f3bf2c3b9290a6466b0f706aa1b8726c7f766f40117f3134e02d302aaa10a9646991be3ce2564d4ed9e79b4040268cd864b857d7112afc12dc070100000000000067df18dac642723d9e58c09ccdd003f1333c3616318fbdc22e121bc472a3aed855dac8fce61a84652ab01a3e4708d619542c893a9d8d4ca81e7b9aaa54d9eca8674603de25d3ba1ac655b7f4e43e0add2c879407f97ada3201ac03bcb98f5c0c00d2f960aeb90146a55558c602d352c7394bd451a6e5b0d432c4dd4c748a16c219020d41fc0a3574bce4a43ddd8809df0753d1fea14ad6089c457e1815f9960c50f520f82f367308e8896b5887e004a725384e1383caa9143a605a47966f50e910001a8a2778ed01d588446c6f539b00e0af173b4f002970383db184bf4434470c11405d0cdc4d127c07bb661e6f9c995902f3d01bff60cae1feca4ac58ff313fbeb02d70dc00125f1b0ef3d629cca26b7191341ca494f29837483b063d352eb3f190067dc4faaccb7688804d55979498ab8d9f6f2f846399a37592ae089eafa7f86bf2efd087d14bde0693b0a41f3896704159120ab4897fca2595af272e4c031c0d5168323e5ad3b9c19a4fdd759ad86f4a99f5dcb2f2aa86ce2c90ec3debacbcd0d009ae8495af63a5f6fa731a49b126deeb68ac67fb3ef1f161751c33fe34729b26bb649a411afc472276faffa7baa923a04f3945dade89ec5c66a15038aee57f809b2a9cf5d53a5d07ce93df8a7fd1a31cdfdd01658be0f4b3d9fc7781d7178850c0050932a76be6a675e6758522014abbd3013213115f5314a4cca7ea1b596eb9e961608a17969ce5e789f92132a8bb53d00e4dd404878bb25d33293878ddaf630972f91c6e72426fcbf6857cadbf938aa2825165a587a198bdd611ae98b70d83b15000561a1322d81c72d03498b1cb701e2b85fcf4bf2ab2761c2e95016ccda835da900f87124bcfc3f0f8280243eb66e34050d9a0ef6f8d8b5ab4cca5a17ce615c7f3f017d98dcd2f933cbef98db7e107570d1103aaec4e3e342ad52d4ae6af6280800cc088fc33d9c9932831e7ba1d962f0bb2e5a36a5a8a55e68b344777b17f6b63f5826ca06919649d9d4c091c2cac8b0026c07d84d99363e75c75a9a3a8055a6e2f14e66fc8d4ef3c6c1a31d35d0d12c14f943e8f296b50b3ae94703f40cae8e0f007b7b1c76f5b161489f5ea82e79f28cb1fbc8cfbf9140f7e5e42311f09f72adc7e0ca7a5365d66d7d600f9eb8726da603483e3386a9e6d7f5f72fa5b2642ce1a6f032a72e0f4bc618980f6ce43a012a32bca65f1d67fc872a1f0d248eda59011000ed5da57a4d90b9fe745b59ea0b907ffdaa69d67479c5f2b9cca7631ea0191d1fe0bd369ad559c1f074fea572f4c94d15181c98682b63aade7d770628814a553338efed57431f907c7b49d2bd82d99d7d48cb70a4cbb6e1c7726392c6ac26250800fa53cfa4ce05c372605882a613018821cbc7bc2ddaa2d5fb60d15b1397057b214d5d6ed30aea3653493b52ed1601c6068dca5d45c2d0f0cea311afcbf602d7db4f6ee6bdeb04cdf7f4dbe8e83a5ba64b5fbcce9a67dbeee8ae732a77f3af610a0024865b605cd3cc4e834e5847663267737332c98942b8fc664aa0ccdfe92636e89ec943523ca3088792d9e1cdbdeb06139210a6dcd37737e21dca8ae3d17706ae31d08b9647058ef2720e2732018c41127e2b72bfb764cfa24cb4c31130194c1200ba4e7b303fde101e077d5487b0a71c7bc6dbabc2b6a7a62aa5788ee615e12967144e31881a6b3cbdb5c4d89c03f15c1310edb06c4bbf238f67e3e5f052e3c6fba8a2f3b38f428e4a3c2d292964e6b57bb19bcc9f6280e50c3fcb19b671409c1000f14d3b22d8ad82a5d85b2077d6f6eafd33737c718e04cca7ce38e96ae4d1d58747242b634c16c095f612b197332c1416ef6e28336692f45e78329c05cff4b029f304c16f1d896d6c51fdfb1e05ea09c309949f60651d6e379e9b206d4f81fb17002af92726724faa1312717937c12bd3c981ec5686c2510598e672ae282d2fe168809e7f381f7b009d379b96ed5b05c30dedc282ac74fb8e9442be30ed8bdca3dad5bd0399f86b064256c8855c8d8238ae86e73e870c38b73cb9d5047a2730dd160075189602e96bcae4e62d948db501982b5571215d12c34667860dd855bb337837c7809ffa74ab63713d6245f88bee4019b86072189fdd52695e80a29f174013816372db96773a63ca7cf2161aad8930dc3f85b5b45d93725d86eccd63e4491f00002b15e97a7fb26f279484e924e880f16cea6219e91ff57e0d54aa21cb028c2cdd17ea7d52e844c73c28d1b14b6e35611779cd5d54ff821274ca9f9096a7cbe8d2d3d4360649e351c0282d027996c5ea5467fa68907b1880de2321f84f7f41ef0400f4d080dc99eed82ec22960ad9c745cabc1fe285d0340c1440675b0c77636cf9d349de9afc057efd33c20106fbdb2e0030acc0bfd38f74b2cfa85525c03073c879ed9df950ec4f58146a36e8eb0039a9134a503cbb76181011675af22825ba3040063cc51cc37da2f2a7a3263e8f48489848d9f3eda618174e239f4e1e69a9703c2bd7e1328ae8b23a0617bac65c9ea6903fa13883a34c9e048b4a3f338f8dfc0cfcb3e1a9e77d9e42f756a61653e98fed0e5b7ae85b2b23d73551bb9dc45bfa60b0051b097280d0f70bef61dcdd94d684704d1f8844963773e715a534f660afa08f16dbdd4a7ba5ef7ed3c2e5b847f446a04de1accda7e96cede69d294ac8e950c0385d78d97c42f7c656d56c5e10097596533fd3b1b9e689188872835dc119a441800bec3229779b0380879bd1188e4cbeb6aa7a225485f3b858aada410227b5562f57bb0eadf0345ee7a9070658fd7b237040ad14b523b83a61db064f29272f0aa23671255b0f161e40e6ff1aff3922caaf9063915f43d3fa013b12f472e0a54ef18004415f0e1c15563cde8c6b2cde3b5315687532afaaf22db17c6660cdbc9f9f7e308afd6a44fa3cca7813d7b1f9af59a03913bb48761b2828c6bfcb1cc7e65c513b160b78d32cc143d765475123877ca1d5897259eb89c8abb9c0d7f79b830460900a0ce55f85c5768304ca2d2ed0403b384d786c62bd5efb1bd8030a80e5f6ee8830cb718e111c631a326b5c2dd13f9bc12ef6ea465b87ca8a327d78918de4c81864d84b8bbc7312b14c2f45376c502c62bc24c1b0a6cd2e847af95e1dc516e920200d5e3958fa07d1254005dc256d8e4afe405ac515385b32c9603211eb8ca70233478519ef694e995ec9b9a45289f1105176c3c059fe73ba88960ca768c42e4e97ff02ecd55116ebb43b995bb963c1dfa545579ae869d50553435c815bf97a84f0c00677dee349a3cef35652adb88419be5701ed664e85381b09af2a4c3fa48c7f3d69fc64cb561496d124332f66c79069818a5727e16d0276232ad522b409bb31dbe4a7e9e2102ca24b52d0a3fc06869b6278352d2c265366cefc98c38af79ef8f0200ed615322e3d46c995e2c8a9999c2df9fba635159eab3865cf9bab4afd6cded00cbca0240bdaa9963cf6704dbc82bb20cba5a7def6336fabc732642b7f7fa022cf61774939978659ed37bf1387ec46103ce426d2beff6ab8be9c807c9c7524a16006bfa96078d34868a97c8014901f7561fdce9eb36f56d1d2c5756eb96c78f86c1493791c1a16d0962c8616aa3e01a2a0bc13dd70881e74d4b34214f4c7b8872c14cccba9f8e7a5d3e8be22927980eba2b0e6de9c3f73da7b617e81a941f96b613004f3a23ba8d76ac0f7f9a650232025379ab2b0bbdfa07a131787dfd0ce8bf133dc7d9aa28f092066bf9e596c51c0b1d1429ecafe6c9895ad05198b2a597315bac09de18505024f9c9566b49f8dc5d4119828052d9f77628988f819211238f240000c377420aff42276f120629dda9534308d7a4575d42a1149d784dc08f23836fc74d52451992cec221cc47d9960b71ed0bc168bbc8690d0572cf70a6a7b437c23c89528c781871d1ab5b5c6720bf560779f67f6527bed214c8ff1ea0139fcc2c15000bbc41eb0218656a23d8f56d379cf95ff584659eaca2cf6e8e108b272b7f5d89bfe011115797b32897df5608957b1d10cdc8e3c0d83474c3bb508449d6171269359a78027aaef6db578f41a0869a3f7a0a055f64d3ce86ff55e22ecda7b96b0f0077215124b4fea9a2068e47ff4a59833fae6a3ec60de8215a747491c083b36fd7fdeea8606f4d85b11654668efecb53170a5cc438890585b662c296661a98fe83fb66a590407a589d1d7befaaf50b869204ae3351a505e753e748f5ce55838e010085d4d6a1590f42c491271120e1050e2e26d2ceca924838d988076af7d76df5e70ab87d9edf600d1f971ed2c94bdc3115f3165a2210c052a5891329578283b5bb10275115d081d160f4ccef4bb3e373e57606830af3be7d507f4197b6bdc59014005c24491fabbf07077df06907eecdb99d6b3c9b23f49795a1010dcc2341c8692dbef9e9a59661bda03512e38ee5db040c35940d7706b85ec1b5a23a9c9ca9bb799178ee9cfb83f5b4e4fe8261669c04a14b206feb2a8a2adc4c1e75abf5d9780b00066660828418fa7054387fad668bcdd5d7983cc248e8d526f7725e593902241b979172186c2b64561b96f40a5cb70e095e5c60ddd74abe8bf437d568e62dd327364ebc6a7eded57f325c5b100dc6439ce2dfd63c16ffa7f90811ca9e6b84a10e0054e6da652230564f54c2a3a6856372daee8ad486a66ccb133425e637d4d100bd3a4fc1dc919e564dde83493f188bb605f55acc78af02c5978e1671ac7669dab9188af35fa0aaed28760adb2a0e58e5370aeb4fe3c8391f7c1c6646235c57431000a63e9e4f7ca8d1f80397074f16f1e9fdab0803ef5554170f619fc443aa9470442819b23be0bc77a8a4ceca11c8a27e033dbf7bb156b229e439004853b10339c7047f6f26277f10b5e814497fcc92a8dcd6d5cabf6aece4c0ea54b581e778ac190068ca39c74b2646a8e1c4fdad7186d8f6212b20b6a45a87d63a55691762407f3249ee6a92bf34b981dfe0b3456b556013da753081542af542dcc35857122e5898b2e51a7bcca7f9e50c6bb1db4b55ef4f024c4d1dbad7af178e314b81ff2e321900eb1ad10fee3d7e9a88fb621a3c6a7307959ab6043e615f7f4a1d86981b20e0693ccf4d4037e499ea87a6f3ead9a68a0251577c89be489a715a91f79d559df43631a5d8e30fdf813a58e04ba54d1d4f7af4ed44d933335c78cab37ae1277ec21900a8ca53889672d8a1c7d5684cea8597dc6ec0023161454c5f356b6babe51c414733d21be65ce78d550dbb21af21abd703ad814ce4b8e3a46d8a1fc5e30c5ceb003958dac41a1a766b71da318f3c9e720975ffd1ef734f2398e152a0b970e31c1600958a42450a73cc7457078750438abb92ba649a767152a3e7f96af03e0812cc16cf926a5f9ac6dbcde356134cf147ac0411a7b52da98c048f9c751965646a707ea6534cf22d300501f14cfc2c6ecdd040354c35bf9dbb7d466de4c70fb2c9281100ff2599c583f0258c768cfee3eea6e90c5b9e7159b502283f3402e6e36cd57c4d11ee08b504dd1d0a5ea9d6753223f313e47cda1e5ec265949f605f2f5f4c72ad98be9d402f3921f142ac7eb4a0a44f9ab49ac8b586935daab91a15ba5494bc0600a0cbbe62f5655ed8890d806aea74cec95a8355bd369efde97f7469c36f8ee8d84d400bee39d06b147f4091631489e513d231ef7b54315e19889c924bb5e276f9d9ec014758beeb18a64474952bf2a5afc30448af31c4b348edfd4e383b68560c007eb66eaf8fcf2a2d0f016bdfdc89f180cad3ab4d725f7053ac4c3921f1dc2fa329b96160703d9c67b8761748e926201823998c93a9ee99c0d976a17d3dd0bafdc80eca44637d4847d5d5d8c6db623799858531abd57b1e47ab7a927acc84160b00367d8b6f9dd5090b62ac93a4c3b6658985375ac803b9093d4a0220b4cccb4b9109ae9e830a3d9a78e232bb47a053ef19848d63f6118fabb44bf64ebcf04ddc70fb4cb1f23618a15d9198b3651f633f0c2007a7d49354fdaf18634ce7095726020027e63420669446462f9104a6d42d535da07d78d5f62893f96e2938e4c59fd227f805c93550e9dc4c80985c93d768a00e0cc60d571ba83b1be0df29b38108c82027c2d166cfdb7b3bcd87cd0a568b023ed26c5649fea0c85ba54e4bb90b78530900c162cfb69d8cb4f2f38ce9fa4e471f8a646238bd4458fc81273d0597ea1d36951dacba3e85c33562da6b29afef3c230d46cff3af3a47b3ec6ff9f71b9bcd27106c57616ce0c79fbb9348c05cab370603bb0844097af8c62017e4baf70436b71900f854d70cce1f047d5c427eb11d054b7ded4ace54356787508091723086193dbf9c60a731ce73a4d030cdb7cd7c604a1443da7a0ff546f745446503285ff4c3f62ed2a2b907f04dcf1f893e856f3d6104caf2b1e8cc5b992328d42cb90a5cd00b00e27c73387a527a4d54d6a0eec1268c65f2082364c2a61066bd078efafc8b13168b2975f4d933dc4cc08a24f22e554b04cab28b5c82fa43fa4956cbda8615e4741d692c20401dc64c2b9585221fe6b203c4b46fb87743d03c7de826af9fe5ed09005043442b4d9a70525747d90477e9c49e358eb0f989e0d36948e309eb2f2e1b5a88def6ee6e1e9b0158a0a274fd3a65019a4ec9b7788e8470d4b9be94a57cd7768301421706b7867aa10bfd377a1b839950848e8e819a9cc3ec59fb7c6ccee4000005152a2f3539f054e8f685e7d675a29caf11d4bb1d60d1956f4879568061127d227e0ce8a7b125ed164dac06eeda5b1494e3d1741fc63cadb29f4dfadb2b192c47d5748d92301712c388f362df7810715066dddd3e9ac4dcc8072eac1233cc0000729a65e32077065822273574a441a2860fbd003817f9aa5d19187382c12834a36c76f5b07d566ef9b1d333d3bdcb4501d05c47bf2a201ab4329967acc35056d01943bdf0d221da4ad1bc4ad97a924cf9eebd8121451f7515fb8bc10800e51912008c2baa6fe5f55e480dfbeb7b2607a4b87292f8e88292facc2e9c4d2da07f96f345ad4042f41c4f44caf5f2063bbbf6041946d59c918b3054ceac53bed39a18f3a617723a6390e245f3491264e36445aee43c1fddc90316ad89016b724257bd0e00c79f67be3ca74460936dc5c53f3c1fa145eb429ee627ae8a062fee38ad92af65785715c175d176ac00552ff84c2ced0c7396ea54f86193c3eb738753da412ce47a08838ba98d0bf8101a63e98f3317922e222eeade148816cbb4e1e28123260f00b581e59d916d1bc2b3fb600668bf1a1e02e7cff661b67eb9b6e4f835894568f8eede98ab17ac08017793edd1caa7080d6138aefbabf01c345e8556759f69955fa4d1f18a08fec4a9b0cf93a1964a6b0c379e013de821badffa43e502135ef217002f8dc2bfeafb5a3d2c532765bc1f25859502e55b4294e22ea11ef523c432e54e2623402ae8789f5a3a0d153afdd46c006e9ae48960bcaf922fd8723c207a58fba93f06f3defe77f63a71135dc78a550562239fdccf5dfbff6746d071e65ba102002d7064fc8206666ff86eb4fe26211b641ca1a51ef4b9ad4cb443cfc0aeff2d429bd7b3c6b542943d6d9f5af673c28d11cf9fc5ae0fed2da2da0c8b5539135b9bed921507e639ef66976bcd89d207b53115a1de858ee55294ce441110411ce31700f3dbfd2bb833a62f0123a8458511c84b8dbbd2a8cced9995be5ace39930491a5a866fd747f0a4b85eba64ad5cec3ae0a870b156a6ae4f06743a803bb09e97b358f8012ad804f8cb2a5352b2dc30d15ed7f68c1c769c24d1f1fd839fc8d0d0e0b000c9009d75e82b44af611bc96148eb6f521c891024227b5a6e2343c67c28b64abe6baec27b66f9063b09321d63c0d230531ccdd6055dd94042208969560946d3deb233e0c03ca41c1d9984dc08247e8a6d96aa7b9b4606cd729943a3acc36e00400b115869886804cac251fddbb7e6baa3c620d70ce03f97555ea7481b2ed80fbd7470c0c6c1481f2632d55f7e412718f179d35049ee59809c5fc72cb2b4132408d59aef0c0c768c440f6f75bf1143c8555bba9bb333dbe6f3ad3acb8df0101fd0500d54eaf61e71238089ca1b81688da7823f9c1294e1c5b3e3ebc0ec6fefd8e021ee50b4ff0e155e68852c68ce929df2103d9c410d9644f81353140e3f929c6e333471fd42df85f3a4e534b47678e58302f105d35a9d53e0471ac4b1b33f6c98211001e738d6e24b1996ad5179409950e4e758bab33fd77e3c47654fdbd72971c76db6023467dca8e7712ed3f90c811d9720783c46bff4963be5485661a874b533084805788955b8edb9ca6f69268cd8da92247ff4a18f12611f780b6506169fcf90b005dd49d2647d5e554573a1f5ad88f05c2901a667fc62c20bcf97e4f8de22472c35b75812cdac896a2b9f9e22c1724370fe649bd5f7ee7fe99480b01a5eb4dd37d971c9a72177eae318d3b78aa44fd19c49a8ffa666633446e201503ea19a93407003c4e1937d36a41524a97843ce249fe72d4190464cfe204cbdaf3f5137d051dff7819e6002d3a9d08799f3644f30b2a07ee536e4e965b155d6261ae5abe6cc5db02755e5d2094eaf5722635904f2362d59b29f1444c1da759cf7b155ebcf20b0300ac57e32e4ced2315f946a0d63840da7ceaaeaf8a5d2d6cee908f599a3ed426a7911deb41ea5959c1e9041b09b4e071107df51d85ee26cf558d40512ff060b064688b69cc4141f1738ef395f84f8c7c4b97c26be2605cdcf6a66d2023843c1107000e4002f2b6726c5ddd297a54666cdddf35e7fba7eb1bdce16c9556c1e074e5ca8b4ead45dc115fdeb9c21f036d539f0bf565fdb4f18edd5857f6b4a4ab4d6fb55a628a269e47b2eea4109c03b2a590a8eae51bc76f1a115e53933a7596e19b17006ad77ba7b61210842b15388ec4a6c8276023401ea8fd1bc15444406a655dc44f3caa3ceb2798bf1d56b962e8353b770a2b5d81b3e39852e8345aa7c5ba4393bfd22d73233d74810f6b7fab27a24bf50b133ec5e65e0bd950a33658736bf95d1600776d2ddc8442296fc8eddc3d6d7f798c5802f8f9c5001500481cb7573880b6dd81a446814aaca3fe9614a123d30db70246fd4f2504a6b45c7396cc270ab8841b4108105f5543429c514f746780ed1ffd6131d6c2d87b12c9e67900c65f8a7e03007985b892427275d57be399e2f5d7d456c4c39d4650ae0f24fb35ee4d08e67076906958b3c2810499cccc7105a37dd809dd8cd2fa4e875bd435e605138677eeeaea32192a1f9812cbc365610cdb51ab1eef4797cf4c8f1094e90810004024aa0400fcf62a4db5985bd2dda6016537151799ca5dcb14c7c0c787b8cd42eaae6ff91d4ca2a4854b2d28668511b512d735060ebcb6952ef17a2131dc08e8790952035e1fb54da0c47e3bc662e5d67443ed1a87cac3b6285788f2062b42c711593bb90f006c183d448c0686fe684ee884c0257d7bffa058b7fb831779b74d75b2bc60f878c5f039ff7390ba80ac2586b0d4d5f604487753357141d93a8cbbed54f5535608953525212223e5ce7fe86e3af45897ff14326d839fe42405267b58797d00c91800401256846273a31e0bc8e3498fd807e7b4547c726af15dd5e82d6642cc389f474157bfa4cdca843d40b57582ec7a5003b52ea687347a812a8a7dfa765e20122a75fc1da4e48bcfdd09607e381513047d374f27f4bece782205cde55756f98805006a605cc75a4557aa2347c5b8f3ac4393628918cb9a14c446b662ac0808910294e6b55125344062472e2c76ccd24b8f0111fd640498d9381dd99a48adbfafd23991e7f00936b3559d8268ecb5e09411815e8a8c75dd5c6224292afdead1a04d09008a28658858afc416c65636128da8f288637c515cf474dc00cb5cae942c398d6cbfbeea96c29de365e2b80ecaeb86fa10c02df84ce413520ad1dbf662b69f22ade763a920611e739771556955ea293185bc31bbb4aec5086c63e5353be4ce7b0200ccef25d89438d1200fc48bf9ac425ea445e14151e225a16568dcc48f6f1eef14f9be03f9ccd03789ecf6f32ddf71e913fcd8ec09392a2de62a383c7460c0d1924e119fe005a857e2ac01daab8c3c790531f5997c94706c1f238920fceb33c11600417b9675caaf8d5c5a05b9319ab14adbcac90655d80683535eb8455e02c0e8b9ddbe697ba7a9f4bd0f409a5bbab9dc0c905b23bb5e99842aed5288bbece46728a9c7f0e93fdfe245dd79c453a8849022d718504d569249ccf65822ddb9dfd71400b79627483ec1b5e13706ca3a78d72d80f88a782899be81a90f9cb415b94608cd2b565fdcc9b952c2897ad403a1a62e12d43de64f88157abb61fc8f4544b09492dd1147c709531cd5e276a6bccf0ee0e9e4789c2fe29246546662704c682e5f0700057aff6bbf00ce7a728e98d9fb5ae7ddfbee51a6d9b698873a13e6efb66043782e004b7be8f1104dc818e92786c841151452f3a1665661040f32d3fb6f2b94ab0f9999bb1255704d00618969d44f3df97464a3b6161a418ed6c712bfcfd99319006ce443c2490cc1778184689ab3e56948d26237669248529e084aa73f4b767a608e7cf92632a38ee37717cc3f46ed0403933b72f2f124be902b68c9e42f88058dce4e1d1f073cd71bd913aeea482845b5309358bf69df0715c3d24298ee69a80700c2a713e178469ae52e39cb8fecf347b41f18d153591f40d236a7a2c8cb16c7a69c994756eab39a28eadf4a048ebac2122486746b343c9e752ace6e3001a1945dca616f311fc223b5d4744a28d5aba9a0b7cfbdee99a4374d7c423051383c220e0028e63a3927c8983193fb5268146581a1f922755a8480a5833a6c92dc1929df89787b9b2cf38c0e8902601abc4518b5116f6c2ca2be5681e365f72d7ad8cd9decb47ad582ccef3c8681681c8425e11b173796964bc47d98f50724068859404f10004eeffb9313e51b3508e77e901a6ae4575ab7276c4680e21449e8e669484abcf97ae56a60820d01ab81c916dde73ddd1933add66d053890ea8f6937fcc34b7a859080c7adf778773d96d92c65f01c2a88632b0fd0bcf896bc8424aaba1740cc16002d72fd60aceb6116b318b6580c019991bf26d2b3df1de7394e599e36d767d400cc5d94c44257c77f26a3a2ebfbb0e30ada5db9a1cca6814a25119d2a034bd1ff12f28cfdbb9feb99b206a37885f8610e08152deb51f76fa7118220a56042cc0b00fb56873680aa0c8750cb9e5d6d5b1167fc7decf443bb14e6519fb73e1ce99461ef20cba483d421afbada7213931a42133add473882138b154988479f09ea6478e33c9272d2b4e3a52d7c74e5df6cd19a03f53eb5e703a843075304a77b1ab80c00ec9916d8e82f716ea2cb946e3ea511ff3c211cf00242a9a519d3920985f735eef022130899c1a6a74d54855f181e64061ec910ffe2cd2b8676b11c5d419ee318dd1c8334b2e464846120bc36f0b88ac95fb947ce525baf172131a3e4cf65631400992490d7f51a71f604d99c8bd64d09a771f4668fda98c79f6d9e337cde064c22e48bb96067ebf7114e96ee8cbfe1df139a8f7d61e0b1c622456b74bf3e2c2e7d705331adfe33b6e59af94bd4c540a41d10bca8a430f3ea6832e57ec5834c180f00b5859c86bf942331ab153208be463efa86427dad54328687e7c26ec82b4c9d234ba764b5b94e60df09c594a4c17caa17c1b52165d3ec4887686ba4c824e5be07a01be5bceee4cb57b9c3123ff8d95299a3747427805212be92ecaeca6cfb3a09002e4681c7ac1ce0aedc47933b717cb993c8aa2d4bea51db0103951b35698997647fa7cdf295730b1b0aab1fa840697b06e5d89c2449963aeb6a851762c6c1c17495b0d9057422656b81514e5c09ba3336c6fd7486f120f76a23b7cec407037c1900f86fa4767215f9cc3adfa743c1d084bfcc79af17b5b6d74b8a6b81ae5988bf700082a7656867a9968fce5d53cf33d30efbbff20f28d68f470f146ab76c422a1067c885344ade33e4821ba1316c92075574bacf75d8ea2786f08f56216f2b440300c360bb179adfdd9ac2e7f6cbfff511905c613fcf53062c74af7c956264eefa7f206b6aa577b81bb6439d79582390d21992953b90e54f4a5d9964bb2c8d35f16ecbdd4a3ab4510bb8c1a630635f7b0fe8c431ea7cdab5c13ee41b878fc2255c1900c5a65f5428aa312d68122b318bffdbd01d8f9ae31355922250b24c97cfcd90b81b22f2ee0053006038468e169d05f915740a4420b2ee90f4b5ca221b7d72e6eae21bbc3832210a3b1757d70995f60c1fb8cc76ab7fa82b84899641b1586f101100c2140092cd96297de3cbadc7400a7a1606fe1c94e551306bd30da97532617300e98dd2c043aab5c1900bb0340c0b1b0c2c87976dfece0cef9636c4a73b6645e1fe63b22291e9fcd1b9fdf8acd64e7c10f03543293eeea5905c172dff78771717002f91cbf3d8884238293e9c9a2d4aaac5a5e9137e8be9021a7cde9c0176b5bb35c7d9748106c8c66b9dbf4928536c240ce394073b96dbefd46d47aa215c02ca2f01d16f0a1c4db655810228896b7f40e6795f82c3f199167fb10253f693a6100900d895db177e4571c963b3d3f2148390056e65cf9cf77a709be97eb7b3f3842265d52bb34f98eac58886ef19e42e66811320c64f40925b364a31cc32ef6f79391ed58362e92ebb3ecd6de8fa6226d888ba96e43493a2efbfa3c1821a6e09e92a0600fbb2d584d989a58d60fb24d46ecac4034b8698d40b7d0c2b72d862aa4c588eef326b8157729a214d59ae8be52e0c05136d43d0e22b2ec8f2e321a3cadcd5c9f1ec2c3df48f43558b9708bcc54f8d65766f364c8591e90d18b7b35597c816990000b8ee35736814b39dbc4bfe124176a8635d0c5bf4d43f75af4213a70d3232c220854ce8646d4b80ff0621b8599e35ba0e8d843bd73c9c1375ec26d482c4df2df95dd38e4a6d88d3810419e74ca86f7a62d5f687c3ebf12cafa75820814bd09212003d32dd08ca60de0d73125df4938d0871c00c3abc245f0e69f1e5162aa5b4256a50187bb748cf815927f105d6d99d7218c6669a394ef6d7e3782631fc5a7e95bc784b7fdd547d78e55947d748c76ae48254b628a8dc6bef7277b306ec9bf0de0e004e2a796469040d4f582087fa06d469e9b01fecb5c0d70adffbdc3d0b2e4d6b48f9816b1e9092f2c50d6880530c2baa1671328aef50606ed5d40f9e6677d080155eb3ccad44d1d793f9e63de1959c69b381aa886bfcee4effe8acb8d8120bb60a00a600aa10e67d2221eda1570c5ac31599b000b6ca5d18920032fc361a5feaa32b516cf798fa461ec66d089b71551559045e729243edf945b2220f8d89f5e0648c19d2f06bfcbdcf6a90f338c3f545c2aae058b94970d4442151c0322d326bb719001c1ee9a45c3081e0ff70189957a5fc2b015be6bf4531aa3a7ada5568bcd9d7f968b71901b64259ebf43e49182bff130d5d8144e695ce59e7e6e63c9aa72c5605bff8075701600a4d1a9ff5ad8de21e091a001552c5094442f6b1d7538e39fd04001c8c3f6e6a2d6e550291e21048e5412543d1dbc231914f72a5046d325d1118232a3510457ec06474de1dff2e3a63f00735d1f91ee572c87eed32dc5d1ffa86468afcd6d3ec1257146d2c90a6787b0b885ae3ead5208ee823910b786baedde20800b6a725f9e910c5bd8f3141875d48aef1575c9dca69a19faa697f8702b3025038de44e9fd19e844c8f7a918fb4dddaa0b7943011797bb489f8f8c6310d4242094d9c73393f3b9c572de5a6934cc62e14fa4e4e8083572bf6d131f8cf79fdb510a007b6ddc2397191bf244e6100e8619f8559b96f4badd7325a23e29c56bd512cd407b73a7b17afb49072cd63a764a2c531064bead7e8208051fa43940501893cd99d3adbe25b0e870bccebb37e24e1f969fad1c6ca40c81ed24237e216c5f4aac0b007374f2222d025c2008f6eec37aa3de2910c495cdae0e787fd6f2e18dbf33752d1a3eb66d49f756a229c413ee208c0010bebd6f6da96a3a347d7d8abd44683e8faf5fd926f104e4e56cfdf7730c1e8d1b0cce680d11061b68224601184028af0900ad33995138f055711f53b699ff661ec2fdcfe8f69864afdb5a0abe5f25cbdb2c9329606c240feff92abae89622c6bc1136c26c480836fb63fa4c9968e0aa4564286e62e366a41e7955115e73f7bf6a6636e4ae0b13fd3db47a520251a0706519005482b1a752dd4e8411772f01def7c090469beda6b83607815148d23363df6e39768ce63e9249598aa38dd8f26c4609084bc9fdb18b97f30e59b49c9df1966229678a0625c5535ab8653ac25a063a55adc1c33f016f53886de6670c3abc01631800b1cd364d05eb0fab2c6dbf6ddb07f685a6dd4250425aeb1f5dabdda36ee0a0265f79721946e34f26003b4f0ee5a50d02db0b7b5fd00c61739d395e5ea412a0c0569f6825164dfa5d988882ec821b2fed0543f412128ddf847e9cf85cf7681a0a00256c2147bfd2cdcde05d5090f7a91dbe72c26efafe15e2ee56e35469dee5010b2f0c6dbaa3e77c641a05a1481d35ba0b9f57fbcd984351b56a62ca6ea9c84f6ecee1747efb6c53c2ced17b9a3c872d7a5178c662e7587d417861c0d1f5333c0b00d98e2e061479477eea51ebd5aa3d2b6ea2c956ed3f6e27069ede12dea0e181205fd397adf2547ac95c9c5419fd5b740a2009e0165c91983a275c8040b1cc51340d472e4aaff5b0ce9223af184b67faef2421a23e17b3ca97bfee7d932bc37a1500d202e3cc84d606e0cde8bc901bdc3a5ce6e4fdafde243c3b63da79e599f866c46bcf95e8a454486078df46766f1fa204d89d23c4807689a98dca326689cb0ad66429c57f7d6b1189e12898dea5c1ec9a758167ed44cfa4647812753d124c2f1300509125a1010b7f4938c25b7a9a630e35be79e654afe37e3ffbae21bb1c11a33a2073b51a50d8cf8400296f10b3d7e703737259c8679a695be74ae502da9876b6a53c3a0d8fda7342387b2d3cb82c41cf21e61add1387ef3ce3816786f2e4440200e7fdbd102cdad630f3a581550b793c41457f158a5ca11c261b1777dcb143844b496877730a6496703f72a6b6eedce90ce95d258b933b628ebf7b5924b837c83b41f532e447d60fda376d044180c3c6d4abd1048d4a71376be2e48031a283c80400e7a8420e9e150c41c4f820dae24a132614469c4ff1486ee285adc3a860a7ecbcbc2ce43fd65dbaae8b5e507c0401e716d7b300762d144fc613d67dc3b6fb7af6ca69019e323eabf77ad93c4dca28f6b94c0f0ca4736ef91c8621dd4804d3a00f00c739c71308a234648880cadde17a9f1b131910a9736879f6fd002c9d9d43e09b8ad01244c6d5ca53bec9ef2c91d926091a3eb3fa56815f58f7bcbffe04edf83315120da5330ddc09a655bbeacd9fcb55a8ea5981dc3edb18a958c2553b0ac6030048a383057dd3b5fb9fd20b4015990f09f0cb2ffb043279758ea06e485328594efba98f831bc8d1c82ded08fd9004451011fa0e9c7a56a2f2930f3bc4b68cc19a0c93b90df81a8ad5f7d211718fc7ba5a0251d7f721406d884b2de92347dca00800f656a8f64d9e5e2190e87e088ae556a1d21baa5f372b83c239f767caec3be89bd73a3462fd91c1133e641a3443f6920553bc27293bda4f608b5e4c4f2440a9b564e827678995f524d41b23db7280cdb0fef10fcf733db888dc39d1404a2d8616005494661577bd7183d847b3380c44aabf8bf65a9abee855817946586ced8554b03cd2c41fb418737d6ba70c864dd832095c181b516f6d8e62f25632adaf3dee5098675e13ccd96d7e0b0668389a5f21fd879efcd9fa21b6c25fbf485798ffd60700f714babeb95a7e6de8691d80a161772dbb6dc848ed52749894f6f857119dbc1e68b0f07310b30ba097af490fa42459068899544350a8a9be0b028cf126d3a03ac4637792ce7fd74df76f2daf1003c70053f77d23064e260d419db3ab2056371000455b49fb1584fe8c40e9d59f24517b03f3a8ed106801b069745f822c49ed90b4f0d996c89ee08a698faf093a169fb213f1ffcaf6249e9c2f6e52b87b7d97266ce40952c88336e3ad34bda93abeaf29c26eda60aaedcfd6c56c1a347447be5d0700cf8016a605c298cf8b76963e481d325bb26622a10bb6a0c14c01816a3d1a08b270110faa26e7cdb1c8ca7d246f4ffb065e5aab97a7b420a7c4bdc704bf1a9571b9e2905b31e7a3eda4d3f9cdba2d324dc3e3685dfc64fcf2a4aa5fd320631b19006064a916ab1db8463adebde1122b98b34fbf8ea8f11a68a314ca6e2b0bdf9a91495997d27a43c75c2f0397d5b3ba8205f490c9fe70fb23d1c843f3beb7c59845ee1018a962c44c8e492c35e973df88f0c8cc55aa0a7bfb7ba86943174784f90d00e28419eac661392d70f57105daf158758a14505a92264dfe1899219f6866698a5edca5c64ae46adbb82a23f9750f6713f3737f261e9a36db3204208e19b31032a7bb433fefb84b5d1ec94d257d8507ecb530ec6e3f78186f4f20d4d091ddd30e00fcaa663260cd27bdc80cf911a0a391012822dba489bca0a74ef7224c466dbfce52447446306baa014bdef9e0d3c5b1055802db98929e095066d1d68c28113b7c89ed799c2ae4466ef526247c9597074785c7a7abaf5abc7d0b0640c06f442d0700196cd5f7b03a2c5364738a9c062cd2e538d6b8832b8c7b1088cef7800b4a748a1e1afdc5dcd563d9104ca71a4ccfda06c7f231de4c8ed321abff36b909883f7e1a20450decca80bc2631e6f29dbfe3fe97a85cd6ea8d4c5af1ec3723241b9a0f006606beba9ee8eb36bdde43c84e5e381c1c184a929f54d5a4f3c1a3653201492af49fb8810e6057669706ca70a74b67124e4fdd659a32d645e1ad75fb6c81c6f6434c45b1e959364b08b610f623b2dcf6f1fefde7494f83f5e78cec3331fc420300e102e73bb7c13511b0c8f302d02ea2bc7da13025da888e2a8023a9c20e6416dfd8cdc345147ec7c4be60322335002f0a74d4558960e4ded64f4876a47e015d6351af932615b5ed11ccd63587fc65215c88ccc064c7a84cc3bf2ca29a82c4fc16002eb172fd5d94253418c3f413126b7e277aa9af8ce25e9dda78a44bc3286fe0008a031171ad2b9246e79619b41870d20766d9153be1823e7e8fd8b3d6fe0accd973f097c8eaf899994889993058249777362af704cbcc57e521e9222cf6735e0d000d8dd4fcdce6278adf853d34e62845b185b804c62eadbbfb63db0747751638a5a956bf5c1fac6491770f80efce4dc516f9df63ef874cedc20d94adc70a3354b1b6f7565d22ee13b25b9b59e49daf2f6c3140cac580c5ede09be802696a17520f00c5187d3b4ad084acb50da2a8aa8c66d829baefde675edd6691974d36c48fe1ffca141425e3ab158e3c75f1c3b3de521112ff41cfeedb52acc271b289c5ade09672dbab8b8e0ef486edaf0e71422107c12d75f25e0e25c889834d47c9bf4db70c00240fbb23cf4f190a6c091471c8574be52d805fa9fe426e3193d4e7822ad5e782a0b967e9337ea28243f2270865d1e304e8b4a3b444d7a464a460e97aea1fe55ebd1768e512f5d63bdc13bf5fc00bb9d3799b345f48e8dc54cda480da9ff50c0900afe80f7193adf72f7dd0ac9784929a762912ec2bbf72adadb019a87110502b44e6f9d57460522ebc78302749fd6f410df9b26bd540f69962a3e8fd2c841aff1a2b13a8974d2b7f4e6c8066b24ef0afa1492a079fa933a002108d2982bef8230f000386f590bb6e6c0bc173089443534593cb86765da8ef5f6765493668b2164ce2237d9d0f9383959399b604e526f39c0b3071af52424272107f927815e12f7d10690a71bd69f4116766eaa230dd248c427fdf38691a7d956f3062655782db6b0f008ba3ff169f944e7984f7dd4185128aa178c4a7e40168ec11a09146f86196e1175e9b877ec1e9a204ae967893c7ca3500b9bbbad5edb6e063095cb6070d764eaa1f7fa749e74ee7a9ed974f1d1831698f7d003a03cd3c987f0c0803a59b99710700d09f3debd773c567c5d02a8c6177145d009d675e21fd971d7bdbdf9a81bb07a10d4e59feeca697a61b2717350f696b005b8307a81193004f0bd27bffff8c5e79259c7bffb13aa42852fa2b02cfdecd13ee4e695eaacc8c62004b6a86cf596202000348625941c164d7128a5e2650e90c962d06622b55e5ed83cb035f5b28bf8663bef2e6e70167a0c89b8a2f1d6da5bc157b4c6b35adb164ebc3287fec14a1f878eeef9fcfd8df1d851a60af12d2ebff5225969e1e1ed3f7aae3f0e1597168e307008dfb75232b683a8e158f503623c0d348d96c7add44ba6bfa59e5c9ff00d4cea7e8ef00271840ab3dceb1fed3315e0b0eebc25a60832257d267efb294d6ed3b0237d47e431322a1562846620dbdcf7a7a42af9efec3527ddbceb9f67b10616012008e55932b1c18e5c949a1e310881d407e0717141910893137fc8985792abeef26652426ae9814fae62c97215815d42315f163fcb2f7b720a23e5eddaba79c714684091ed7fe68c844fdabdf8c4676849a39ff6802bf7ccff243c042df51d03c0b0050826e4b1daec5e8a85ad2fe424779ff464018377b28ea2ef2dbacb2c2d96f78df5f7345ea05656ce9a788845500be0412c6f1339bdcc3de94c7b0174203880f4c5e7aee881d48c472caedd28bb8c5a3991245f0d29498fe720af13814211e0c0005964bb7da0ef2eb94e539f18ebfa08c3654d7d80a8c3680213b9c256eb5c140510a76e764a15778384d1fe03edffa15689bc067af35d7f3f5839abee3d83fc3097c9b73b4c7bcde06b0183050d984f797fd24e56c75d7a39f90f8e687a5d515005aa4ef203feb9602a1ba9a573f3eb05715cf8c3f37a164204b8c203ec687ad3b3b415120e4bfe41869f6605a27bb4f089eeac309062485e795788cf8df853b66ffac89a11de85a2c418015f3ddd1001b7fc844b871af57303105694e77bf55040032a245dde99d30f286f1fce209d2b0b4467618a09a3b656d382989798b70a14a2877da1bf0fee3e6a404c8aec97e72112e4025093e7c8fe4729f8be3beb49d991418a90796a13bc5c46fec77700f6c75e2e3396fefe57af4dfa67e4a0b913a130024a88e52e7ed199502d5c84640025986579872a19e58a90bc3e4661618335b18daf33a2211af292cf287ee49b372fd0306cb3f040e13f934563f3bc9eb0caa3eecfc1223d2cb5f4bb82d9ccf2472014c53e78ffb45b40b3c8bf0f1b0f26e73190093476229e4b4a6530fb982a4ac51eebef952fbf125026a4fd02c895e0c53ee57574df722bc938dbe2074995b4d2b620acb5f14f03d9120323182a722a8bd2a359ca89aa571456a81dfa1e411da10e545375eb39e95f9876fa701c382d8e91a0800b65ecd44a34219131ecbba9f648717d1c8fab3d8c9ec308228b43512ce2de84c973c7d8f4bc64b82fed472d42ddb0a05068cc56be45200ee11a0691bf777af220a7a7c2c970e5c47fdc457b821bb6c5218fe99723257155d4688b2578980c00600039f185f657419c55d02105905da023d70793c3f91d172a8a1c772f5b303724708e45dad08f282c203991e56cea37a02dd78f17c5db78b308d8d8e7e6f56fca885ba7fbe9b568f0bce6d788ddbe69886e44126c72e25036b9e44f4863a5f4006003b7f2ae132e07762cf9c3d7b996598f356bf16936a6f8f316f4c1862d1a85ae9dbb7062abbccce9b35ab029ce895f20368a03217142b2818c08e2848d6e9a65af083829d761ee9531b8ac9e11de095041faa9d019114a4c0125b53aae5b92d0a00f0431df0fd30e17dd19cbc6c6d4f161a2d4195b1522aaff08e870387a7ce1cdf7f11737821b0f781005fcf7df5bc7108f0d71dafc6f27724dc65900ed9284e29e7297d3cc824918f295bab3304f8f6ed820a5594c09bd81a6da69649ada53602002c5a16e99a6ba110f4cf24a85670c46147c3e1c2068c5f40abf59e3351726c47726449968f1448b11b670631c8723706013b90d2242ed8d0bf4ab13c50454a5bafcf19f61bb38cc4aaef3b2bcecc80fe7bfc7f946a0418941c771a8a1a09bc130096b3cb07c13f8b282db128b14ce46f873b9425cb97050908d22b7655c0fcd393469e5b1d9478b252e97c384960691e09c99b39084ef41999b59f3a351db4133b9e219cedf855076a4b1504a52a65cd4af8dce04f30bb741b9a070f70dae5e90500fa76fe552659d4aaae0468c60d16dd3a4aa59eeabd330ae33752ebcb63f16c266da68d9982ae6073d16031d1b9732b0d2bf55cb3a4379ab5f524e9921fd3a950ca7790e9feb6add7738351d58d88fec47bd0e7811746fcc8a2ce6989a7ae4b0700b5044c78da9cf72bbeda91e39b4c5be10c47a7f50940d0fef74c42f4d0398c48164c209f822c12a6d190955e2bd75d0cbb91f87aac6a517716aa21d36c203a88ceae4d7803d3d399a643d79f5dea868336e1716246e07a1c011fb9f4f39df10c00c07f3fecde47ad0aeba4e84d32c0b5c6aef4096763fa6cd024d54a7dc65ce9e79c5928fb4566f9a643811e34bbc73a0f56ec5c0ac664d50cb06bb94a88114e7605f05a19949b61becdc20a4966e0c8831c7fb74f4715f011640035451c951a1100533bd13c593920799eeaf982b032a29c16615d253e785a8b9cbf3f01c12e4346a2c9c39ef220a656b51932b1409c6d0906188ae8679ce8667fc7cb097d2a04ed7ca86105f358c9810a77dbefbed7d28b47b64454db5577cdf85539a0c0a1e214003cfeed419734ebc4859287a3ae6a41ffc567da45fe75da5fac563285536c10b786a6a47e5e1dced493016abaded8910496a85c5d4563955e3edd6659e70331d9f0e741c0926e71bbc438959de68e637047488f915c1eb262efcf31e32381ce0900e77a204993020d9a5cce0a416c7731d861bb5e3774b266b4a1836fc713776d08faa5518e704ddad157f5e52b9f5d5213d023091344726f352c3c9e888013b3336ac1931f308de2d8dd9c6f6cffdd97a1b8fb2d418673a10a3516264c592b9f0b00405efd05d4b00ef726a140c0737e2ae843b99f465741b142cd7c9f991620f7fe99ca304a799cb324ff131abc0f347a0e73944f77ae4ee85e81eff1b2b84dcc17e66d11ecaea544c11f7a9bcfe574296b9c1920a1e8ad4127224c33fd62ab620c00280cd909505fd86b9c3c6e30a67af28ab2e196ae4f096346bfeb62cbcf3ed12793279a11d12bb36163faa066c953760ecf22cd79290b20af2e997880e354b9f0eb92e05c80ce631f80fe987a32d1d32e9f059019c3240731be2f43b019c0560d00c7b52b3066bc4ad33705eeb8ed5bc54c1f03d2506446bf34b6dbc306f7b2b14b6753e72e8762c97d6062c4057f6c910ee976b3bc2a543236318269c8338e5a92e22bf8b52accfe50d289513a18967ed90ccf36c9bc255cccf5bee143ff2d7203004b5941dd84c3a09602eeda6341f95109fe0b82d6b5eb06e6faa84550907bba61dda6a1521c8406f6261c8ca569b8cc160f91c8586625cc50f0d14f52ef6fa0ab3fdf0fa971093be17f714cb6858e0a12cae4b6efddaadf4e3aaf62c1a6bb250b001e4dd69a8bea9846b745f21a6af8cd560656d3725186f14c009f6bc84bee2880192b6fe34e765536c4ed571ba47170125cd7ec3ebe5fec321fe5cfdcac0376ec7a4263aed64c41b769698a62a2e1ea11aaa78cdb6243bbaff2fd178a874e66140081fbe6294524bd4089aa1079480a2a36da43c0253f3a32528f181595054b589096fff2cebcf2c8c7b7adbeb069752116ade5e360eec472016d734860790b1ba286f4d1474a3cb20b013292191b4508ce950580926c57a199bd27ebe6f9c730080018bc74b02bc06338675523fef833e90a1d36496c8ae0fb5b586f06877388c195fd9b3cd0905fcffbe3526e21755c6b08afa6b25a3c716b8e079f5dff0b8ce5bb6d04b1f4228f7388c0454aa2a8a7a5af8ce38f13b3d7f524b1201d38f478e10800791998632857843f1394ccaa0766f14e16d568ee973e7b014bc96ce61416a4bb052c2c021cb7f43339519d735c45f90838c60e5ab1cc5a7310e5bf10b53126847a471f7b31ba284e8d60d6c0774f456f0740b30ddaaefc9f8bfed9064c7d710000fd41d8f8b82cdb53cd0c66d5cc41a03cda35fc980e89b04cfa62eccac1949489857e9966932cd9521bb42d836b9d5b16df03ae999acd9c1f54cc3534145eadc26214bdfe0983920dd69658740eb9a9a43285a59fcf76a7754ea139bf8b8ad70000489a8891fb22b65b5786aad386c24d4e43f192247b834294d2fa8e896487d96b300c3628c88583c29621f31df58da709cefd0345aea14bdc9223d4cecdac13825980ee50a91c4daaffa878492983eb6508a905bb5e77620cdd2d472b4da7f90700a896e9a3310ed97569e71c81b3cb4f382685cd1cc3d6a6b09b455f197061ce1bf5e19f752886839650c1fd24b1bbbe0e73de574b6327864118bfa55831e53aced6de53cf147135a6e30657253fc2e7a0061b6477eaca215d91b6373c8b6b121600b1097061f073b94a83ddec6e6e91662e4bc273c6083946cb4c9051cc3f5101e2cc3adf2a71fcaaff2dcaf9e2246d540bc67dd417b114d680db823ae6a1a69b25f5cc5e90b20e56e813699525711bcee417fa4a06b096a0665f7e8b9a21159b0f00d18f584c685e561f41d3b6b575f7d5b2ab9fdd4d302e4452a2bf633f83b68a907affdda11aeb57f6a6aab35942aea60e9eeb1cf146bdc4430803d5f51e808b9fcbcb852b01fd3bf3dd795c4af41d12108e0cdfd9a2c5a3da294a6d012a00ba14002bf3d7792e3e4112a1fb41e28c5970fadbadcaeaa363a2ea1a03e6dd5c8a6da1d207665518f55a6a363cacf68937a308970b2be3c8efedd54760f0ceb13390631d02e9fd610d4bd6819da8c8b802617781a2dc00c87d91774c77b5aa29ad3f1400f657724b8edc31fa878bf693d6956fd9c16a3e141fc7f5dc14d4d8b30f85dfaec50d0626bec4f3de0e22cacb3cd41e13efe606e4e5dd65b439acac25ce9437de856a96d8dfc63dfc028f3e0884c9ad140e714191ddc94e5be89dcac7ca8cf307006d4b6e0a977a95e983850cf88b5c8a48a0bc2d8d359c135a7629ae5c07a309d4f99ca855d51e22bb0cf71273d04e75140fd7e5c180d65a355b0c1bb519f3daa0f83ce70f1bb091aa23314fddea0aed93e9ad0e6661187ae7a4f4a03b19eb5c0800f2523a72dc492e82ee1cd2a0f994b637ca73aad8121469aa23d925cdfe35cefb4d300236ac46a775b9f09735d6a9f2097d1a5d8e13f6aecf2e586c0767b8ee83b50fd12f5a54009253f8cad36610abf8762d37c66b07aa70cc89c2b30a333c13009d5fada2541f3b27f52e136982402df4de248b79b8fd7939625bfd0075c10ba926436090d6f3e14800d63fccd22f9703abd958dd6e82815461a1a91c805f6ed38fb096fec1c06f6784fc6336c29967abfb7df147a7b797b8c724c0c8405a12190022c71bf0f56b8b81ee1d36a56e090093da86675069e32fa96f1b3ad86cc1fd66141a79e19c359011a59e2f3836faca0ebd05efe5e6f23f4e6e8f72b218dc91316f1caa539bfe6631fa1227a70787245c688530500ad4c23b7816c5da3b33990700f6bf466d5598e10ba57c0812d0d722f38b1cd35f9e6d387d3e91f7ad72ee9abfed3eeba1f61c0edf040347762effe303d1e9414548d17732cdf6cc98974c4dbd34bb82105b4fe39b8148e50b6d1740afa772f1ab4b43a5e68f95e05f5933de04002dc55a34aeef244f47f38ae86e6eea054958baaac4ba1997ebe1d976b65b722dccfee8726d9d99da156076452b06c30225587d247ad5e8688372575c99c925ffaf0a92c67579841508adf9997799ec40511e65c16fdff9910c5eff670b6f32000038ac6cc1609d7ef0daebe6096d520a05d74ea14d84526ce5be5c59566a3c2cc37838a99f48519daa85dba1d864160c051c95f83a765c56cdeb94807e5bc415dfea224cfc5bbb10d45fb031d5b829b94581d36d7b64de81987649df566ffdb40400b3d2797b2882d7518c91091c3e7ec304355a2ea160bb7596a136022d567ad41cdcc5d6f358ce2327fe714129d03e30155dc4aa1cb54948b3fd4be7da82168610ebbbe0c77dac8df5d9c4ec98f927ef0148963839045056c3783191e62a6ac806004102be4e0d7dc836b760c5a05b626d88b06eceebb6baa26f9288b91907167853b37add5a25295efb5f3da533630c010e657780ba360062df8552fe4acfff63861747933d4452559f17108cf05b5d5d9d0b76c88ee9865812ed07bb736d0b4107004b5c0d2b462e7da28c009423d7f49d569ae907d373e93f389c68e3ae0d6c40d4a27cc5bb6847d35ed14ffdb92adaa203ff85c0b936de8d0e07dc98c0148c692faef8be42352e1b8cd14377389f358dc559b351349f8421c150e40c55d8aacb12001785674e4d8592e8b13f17882cca9866e1a4ee66d5de1aa5c45c522b2da4277c691ced60c018b9c324d7b841e1893015cab6046016fc79f5beb6aef53fe51295f23877dfc53ab324643da30c7c9f5a5324af326c5eb6c1b91ed0053776dea1080021137e19d33268409c314b0dee5d43893960d32b01cee5edc67c0239b0a1cd311b917671039ad957a1adf5710e30c31564224009e903c702495b6e32415c7fa7f51112c57f70d37d49d92e9a0594958f63080f30fc0e241f3403b49fa54ce708000c6a95d267047d37067b65b1b60797077efc0936fe3719299ea36c2c6db5e295f43f1566c54d21dae8c31727cbc5900e40cf0f782292703889e8a2553850fbfffadcb099a852832fcb5a966481c176fd31eabe423d48461a95c94c4c34997b0700a8baafd9edd976ccd637264d30551a31a363e1865fec9f8566b345ceb8fd23ac0cf78f276879dd760e6284fc22f71d095a36fc28d2bd6a0bc662330b71a4c32b511e3ad24a2aaeb3e8942293415f4ced35e8c2465173f2e13fa55090c300411900f634571c2b3d7f194b9663390ab0a2533d2f8e45d8491854db2061ddeda1717a1afa5073e09fa81a01ab78b6b55282012b3f969775f119183802053e5f933f238afae0fd8f006e8a54fca09269ca3176c364f8530dc2379874da7a4caa9c6c170012c7f4d6c72f95516dbb6ba05f93194c95b17397a9c9f6fb10ca56f9e1b519b4638747c8d18b5be384253241ae211d020c0f6087e74fc52d26dd583455e7b418f147af85824c94862c0271bb4ad6ee03816f66e8d25371cb91e91ddb1e2e29140053d89f6340ea1070b9d91115d5b6bea6a96e99be9b727d0907f63e43551b551ec5876781d14e841dc609437825e86d0964c0ef9f1beb4876db877cda47cbefd6b107ff537486d5176f2c75f122565228430e60f3477d683bafea5759ca025f1000b5730a8b6b2b2bd115ab9ffe3b70b0dfc5b6fdc0321babe8865844169ac4fe75a398d35a4332a8297156af720f369f05227e4ea20228f8dd8713dcab3455290c6f4390b543fd11b24855f8c73ab7a6ed7e9389d8e8f98fac2605fb4fa4f7921000fb6e747048278fddef25368137b653b4fcf04b23347dc29d5c3110dd9b06b014fa18dc25185536f71f07908d849e140c9f6d7fb089c59551525822b2df5a52edb782525e8214f28e10ceb24ece95d22b2151dd61dfbe794656b55ecf549d5918000883d93aa215ab0317e1f6b957a69243b8855c4b542b89a2fa2e57e9ef6699f1138b1464574e13a064db219db3fac807b4f0f4f4fb83a021044e5c7538ca0d327e5c53f43a461da90733a82c2c24e5ff0a0d2eb8d125a0c8bf847bcfebc5ef1800cdbab579398a08080fdb7205a47722f58feaf6eb39253c5a2107269607d1125744a85f97d85eb57fe3afc75a0da2fc176d4c8df71530dfcff0cd8a6b5290d4a6c0e52df579ce5d6357380a0c68734490126c20f06f38f140180763232299a80100d9240fbd04690ad1340ced211ce1d7bf47b748664c5abc57450b67a9c946b0fb87a2862bb052f6402c4db0177fe0af0bc0cd9dd33ea59a8d6cbef0b35eac8239b56fd0caca0b3213c54bc5e0e203838918664acecd3f9a91df3d742ff2d1910200a99221373b15934d35f2c04fa1ea520b5ad78c6c6fa69cb9277ddfcd406572c9023092781d604d0db7493d451ed87b13981a1dbbdc9e3a907b1002910b167f5729bf76d7b59e640f2cea5213e13f26480fae04b9821eb508e69e1eb13d30370100bbcdea43e5ab4b3e58948a2b364af90ace4b78c32dd02dda9e2914ad00f216f3e8e1b0416c14330a52a8b9d3b29d8307bcca8eca7393c9f2db26cb7551e5051ce7dec79e72e04f02a42dc7831f44ee6915ae3937a47a2e6f473af51eef119e0b0035068f2bc355af43dfffa9991bdd08cb83a7a29c8bce6b4272db92b00b7bda128a1c6c1041728fa903de540f4f1df519408ac0ddf90d5b49598184619091625970a154f443e0cce13b2d7f0ad4d4add4d1a3509c6676df521a6034b00adc65110053622d5bf98c0246052f5bb3561fd3f22d5ba47c0ffac7130615e32944e40f1cbef011c8dbca66897073e0e55c864304d5a0f026416013bc924deb400e66b05dae2ee4b1c6e0638d4e3dc5677d50c09c91ecd83f805649eb8dc090bc97f57d07006120d2f798d8c6e27a9379725163bd6c513ecde10650925a3bb587e870ca80def97baa5c20809e30d747560b7fb7ac0f542f84a3587b3604a162f5c2d0c517b1e923512dbaa63347bf1957e9ed2ae0324ccb2d4832b6b26936b1dd1aae9e551100399ffe0316275bd83e5e2cf1bdb5c6ba9680e80b15fcc98263d673ca0ffa6dad230f5e7ea82b8f955558259ad7e0d3087564965f029e1e327ba1146c197fa41e1cef04d5c0928a3cac776c25a43a178c174e548c1c4e3aba3cea3bb9abcf4b07001d944d277a625187463460a9f8a066e6eed4989d7fd51c34ab555fd4f7936dcf034efaeb71dbed7f16360bb9a586c810aeb63e576232606a506110c051a49e798e42cdd55c4a95606854d2b97a36bf973fbc4fa76c266899f70f5852f03f4b0a00e937e4038657d9ab0638b34d2a9078dd02d9fa80fbedf22a69a5d4c2d9673f9a79e77e167525b9a5508cff851b49ca0d342f520b742ca5893f20bad7b1e99165922af1bb281f72d202ab826f918a1c09abcbe8fcec0b72c1382d4bf5219fd901006d1efd3c235021938c44e107fb83e0c32764dd9de0520b6301ce5687fde0abbe3ede20086ca1ab04f6913b6c3e0a6703c62d01f4f654b6d2866963b79fe32bc3ac890be522617fcdb029b4d285ddc54534944760627d68521c89489b1767d208003f45d422f29002698a27b67e07ed3da8a9e06783d4d551eb5b76b0f8f76b368ae77ca08baf3ef4849b99356bf613c60f2d5202d5d1a82e9abdfac80d282f5e34373656e576cdd6d03be7616cb141d3c084e604d66e40447409984ef4205a911900887fdf472ecd8b93276cb52fc6e0ef479e58dfe1dd2bf651f7b04b94cd05d98067c01e13171df6d7248b63d0583c8303ff3dfaba590f2f6dc8cb24b65306adf117f6dbb714b4ca40cb517ba318978eaa23d3f3a3a3ce76e166bd1671074b260c00fe6499b26ad11e1da7204aee001af7bc323c9b7a00705174a2be395c89c09964ab1b586e805a5c32bbf7d93119170813713e51aa8efbf9cde4dce0667f997d3edf0c94e8bf8aba5f2dc7c31cb0480753ba50c64285acea5ec999fa575103070700656d96620d15945afefcfc1f92f7060732fed1ab73c23c87967647b5a6d123054c9b4f2ade5c9a31ab4bd5e6cca30d0d6483080d20ee91024b8c738b256acf521f111fd7abda0404ce47878c0032a1a85ae3e455562ee4caffb89f3c95d3640a0001f9b27aafdb1a17e132eb547d3cef234dd709ebe64f02ef98db34b4b7e1f659d512cdb4cf2398f14ebcc5e55a509b0aba67c7e461ecb030b383caf51c97fd1f7e497e480b834b6d51b3e435aa47e736402f289721be78f765260c79672a111100b6d51b05a0f85a148eac40596fff88d8fe94d289a52241dfee3eb403482163e90c17adf85e3bf0be5b9f82ffe9e85c06eab861c1ef01126fe099abe33664c7c85a73e97b89f22d0bedf4169b2aacd155095235a33daba2e2f4ea1c6fb997e41500741d61feae2216b1ed1e9a38842078840d22643703ae8a6731f36ac58491a1af021854561072d53441209871f8ede017d64a9d2219f0b636ad1743ae7b42b31ceb1dedb002f6a80a9a817a7263cb1bf08e1e5243ef03a96526b46cb32c40a8190018710ef666ebc3fdddbc63fca60f62c70d21c2dc01fe82f63e0f7d1a618bf66050bb7e0623494af73f66605eae636207ff3cdb950370fac922bcb25bbe6c7dfe5a2a07f3795be1df9d83a4327b19f53bc66914a53d032419c56202bb1c338f170022a4806a22a0c0440028b43713c9debd1ac41cc3ed04a1c2bddbbf36b64c7ea5dc22301f61f34c14da8fbfa97a2e3804c760396ff237be360c10d53d95ff437ffb93e8e34da540c6332f35f466e4e45ade1253516fffdbbd5a3d1674beefb11000ea9698ed9dbfacccf69acf48b9ace5a58b006d2f96b72b9ea579a8405ec6f14fa65ce8684ce9270d58d6a25f74d25403cc74d8b8e450834a775dc3db926f384490129447511675129747346c410dc620b5172590603af431e7830b9d72670a0a001dcafdd46504bfd46de77e18d4442f07373680c66919b20f2290d89fbf02adf6a2a99bcc624431434990228f3f650208158c3af1097aead359b5027ee9478da75fef2a5d246481ec57caff6e138d4eb4a5841dbb313a79a5d9cc710be12462000063fde4372cb77664a945899039e0db74c811d6885276ff4e1272a5e63cd19b05b4736da6aa5cc415787c56dfeab131021f972d139e01207f8d5de67c690bf944d8704606a32d67e3dc85cc5422295ffb1463e72dfd0ef74d132f4c61e76c8116000474b7b363a9f7a27a7e94c9b9971baea886467e803488797605981f6a9b7b500009941a49ab034b28fcc93471286c0a633a500a516b4159521177825b82a025ca508b33801bea5311e2a3a58642b468bc1261140f5ec9ef120494a94a45bd1300433138a6a74908201fc9c24d6f4a8d729781521bee8331f26f2b5303fd32ef04d445c7839c9a195c6dc14a8e91ed1d033a18bb8a68abe165d3249203d57abb3496fc48cb73e3fa0ef8bcaca71a9164beab963c132002024d2a249b3621b1cf16008a0d771629ccb293f7cc2f3e5ef5f3b5b674bcbba864edfd40f4ecb91761e16814eeb117feb4a5c3812867051074391551d97273aa0e79a1cf23dcebcb58d93355e3fd841ad9c21c19ece20fcbb180b13bb68632930257a1edb29239ebd4d40900c243ff5f74bd2a6b1c36c117b05a9b2561f2e5ff5d6e814ef6431451b40c64ad436e4bbc8a71b6d976de0ab59d66dc115d41cc1e9ec18a2ac7aa22b18b24990eeb569148f0e74ce7f9d4a4675bef38d1121e8241e852db9f6abad76c8f46a102001acf07c4d8b5f0c0afa7482b9b326f3cc531e88c817cdd198f3eab4114f8325ee08260098e79d24c0480a16aaca8a50fbb49ed6fe833906b252a9cbb8a58319adaee892138a3ba7cf4f74d12f712cc7febc202089e9819fcf02dacf092eb340b00b686894230d6ae4482202366c645b24ef8e60c8f04b5aaed1d1347ef2cdee70a2d9a1e44f9ddff687d1936a578f4121431ca082d44f6b2213e964058531ff67b9db60a28a8d3aae3846f0d5b2ee7bd442de697de761bcfff069f5b926a527918008d0d69ebef647d73747e12091c68a0fe9a4351b504264e97b2ed1af5cf1de1bb673acec3b7aef8bd1f43a40310d9710d9326866fbce2f2e564d8c4bd685c2db3d2208a1ce86349d6342801caa2f4d313ef2cfe51a22923aba317f7e2b185ad040026b87de7e932fb97f0eaf6828dd8bc0a27351eb09834069352104da1e48aa470511a0a396827e03664d09555b4cced0f3bef28f25aaff793e3af9db46a88ddff2db9c24965d66656f1f8c9b391a2db09af2a1b485e0b7607457050c4f24f6b0b004ba6dd64bda6a441a7eb726c86a76b6feb35fd00770bbe56da168ac843438c538afd5a87f2e9228f5173f8a9a5db5009fc290046f3537f4915b265073c1db2313e8ce02a14663f0c950e6c6e3e63f44988b88051cf698889afb2bffdda0a0609002a05991fc416a245e3de6f09b62ef66ae02a90b8babba46adf2a89dae1f281bb7462b72469f878ab98e580cefd38e9172ce422a8029151b7e3f7b7eea90fcbe24498a6eee545f412b964c053374c6338ff483a59bced99af676144c11d6c2b0000c425bdd0f078b4c9ace2886c79f7f3f766598293d8968bef3df32585bde06d328876011c61cab050ef764df6a9e17b0bc8846d1bf14616f2c4a1cf646a8a1bd8f090564427d9545d77f6c73fb1eb435db00d68ddcbc102d813376f361c65fc1500682a08cb919a8e69d7c079c4e595b3ee8c626b7347f6b3fd69a8f58617f17fb3f1860e3acea03466ec4c02e7f7b8981003e8a1da057e2a9f9f08e3feb37727f94e9ead7a51fabe577ce4f5fd1a6a4dbb25693d82b3472cac62022a8920a3020600cbff7a73922e41c4bd7451fa7457223442a600fd97719009511b06dec30e6bb47911ec24f5c0b88e93351f7b0ef1561488b402153f96e4942b139f74c823a942f6b3e7f4920b1afbee9ec002572a556a1184513c64f32587080c76fb8099330f007902b0d5283f501ad8fa12a5061218d53e3bb226bbca1e82ab4235483c8f98ee6e6e89587dd9bd660ee8798430f9d413a93ab9d3290c061660a723a518e546c4e8acc8d2c15a2128d436b97ab73e9613814a61ce51494010ea0fa5dbcac95b0300af195d1eb4407f795d5ccb5118c31abd00f79ecc76e878d82974b49b3b238338aa10aa208a53f484c1b3c60f70ca370ea187dabc4b487dd3b9df151571980a6ff50f62e730a965099973b41ee758f3011eccb36d9bfd05f0b9094ecab1046a190039a4693c41e1e7bfd10fd47f6250e5416d62d6b867dce7d7a0d38d563d0521e44a82ac40de805370d806b74665321307685c02a7766970729c315f9d66a41f655dfa75450ff0538c21bb22e5d1b533471b6df3c20a0fa143cc97c3a1750a491800e43d86748b0f6059dec924603c0c63ebb249a75905804069b7f5a40e73949cb5ed3bafc4612ac04571d85eba959da01730e69d958de8d8bdaba4b16d318b107c5f5aab0bf450d84951df7a1e336cfc30b595fb25641243e130fd21f01e6834120051f7ac6e19b66c8535be8fd1ec8d096281f952ed61a85755190aa0fb74e6628e3c3518d1690ae2aac305ea8702adac115dd6d4b73a710f3c3cb812132e542f49717d023449f4da4cbed583c69ff75f2727bb5f8be05e3f86bb3fecc8841c0902001c28a1e734616dffb901ec7795016b4d338fd45ce10d7d918c9ee02a0a03b8fee68a0bd051081519a321ce9f16b7a315668531b3f89a7ed70845b3d320272c96bf5786120c27c051a50a0d3792e4a17e899cb38b4f63755b08fd0ab3a0eed80f00bae828094bf485e9701718e577366f0835539f705a4c114505ecba62957b128a5bbdc342368b2f5a91c5f5a6e4c12200cb0577a91c565bf0eabac75ad08bd5c1cff427289dded8e3002f7f340d504182a8116b7813f8c3088b85b611e705c3130075964e31c1327ba808a879898e42df13f1d0da53aab0df854c8e70f62dbf91bea8945123140ca4a33876c5d0c976f201edfe208d5f511031cf32bb1b6bfaea9cea7bee8fa7fc11f73e4aa0e29a024a0e0b29d1ee1c6b950c0a2380eabd4a101100847315c2ed5a0563a7f8df2e609f4bf1eef76a56f9b3f9997f53425893c345cdcda229c3adb59c160b9a6dfed7ebb918bb878ad6192504347c5619252e8ba06dcbfbe5d8216043370ff9f577457edd4a623483df1e919eecf56865ad8e858e060085a799db69f945d92f282a0dea4ebef5e9bc2a6322e74e5693c526877b214b6d35e357e071c65ba8500809279743780621af088a47312a84a26568f3be281f26db30433912f39bb936416c6f5bc184e43e07bd441ad0c9e461aab8d7e0eb010000bbbb1033357fe1dfbcdbd8d6193085ac8cc5ceaa9bd0a4ccc865ac29cccf97e11afa83c97e8162ed6e79045bb17e5102c5d1cc37878b23364d13dff6407fa09dededab2a6fc13e2701b17c698e7168447a7d7d3bd3cbd1ede5ceaafa162293050099b68e74b74e887e059c4cf6a04a9a5f99411c226d4d6c33bcf8f4fe94d6dd422061842a45c71cb764579ff10697ba16df3ecb04236c98c9a4aacaf397ce3ede5d921978439fa4f4cdebf30cf17b58a909573f6e814aed20c48807cd4e0c620d008e261a5250af9017760dbdb64f0023dc22dc441b8ab4e6aa8ca0c86f93c63d013a390ce7d635b921cf7e98a0bb2bdb0af5c95a53e9df8ceaaf545d8bd3c245016ef45bc11356e60bb07d3ced459737cafcd5449c7805abd24414c6c4249d4c170069e1621dba4f68539d080819e0dbfaf365079862d6c72c597e46e15a41d6d2cdfc6451c25f2a1da929f64f09a581980f8194838dfcb700c7a8ab49db759977accfc5b554909e685fcfba565bbd8ae795d2baf4f9eb8b71e545643536dcca1f06001dc922a289392c737c29189054492633fe9fb1c0e3cb2a58cc56f3163c5268a05d3da4a8f95a97df1cbfc9ce39c0c208268faec9d3be5aa487c961ec97d199487925674ff9c33bc26840c8f16d7af22bd249c38891965295cfd51b77e016e6030020ce2cefec6e1796ad6db7330e0f6068f843524c27ad804e91eb1ee7c6993752c4feb525bdcdf058a7bd1c49d0526d0e0ec69347cdad3284e5b7e792a07cccb1644ae44f9e0e44a2356416ee364d8e7ed49a088f4b416523ff766d5a032b180700642b900afe1493d72799ae688b3063cfa38130ae1f15d2a59e94847c081c9204449923b8596ada83cc2083f4037f1713df71f395835d74db6ffe01b61fe794f2b362abd4b1f63d3b1b7a72930c6694a76c182104bb77038e7a6da93bbb65ec050028105c001ad10f2dc0e20842f44bb184d21f2a015c2be99d7067abf8731feb0e6e05a91a4ad9c5a1b112c71b35e9190038bc2530aa8ee2624e3f4851f6a567be91fe0d8e37aef64d1e08679f28616f21eb39fce07a38dfe8efe4f648442373100040d4024ee748cb350a0f31c9bc217d7a40e764692726c5c86b6dbc6aaa804baa1da847332badad2fcd48c83353148911917802e9826b5cb207e0b6514704d1a302fc6a633d5e6e2eea20248103b4c2b43096463ee89fcc075e1db6ff53b254070047c0f8ba2cf1e9a45d523414796badb968ea218dec4806ed15c56ac00d066d234065bae61f3b8657e479f00e6eb1530d9d20493f2a844976ae3f2730b7473e41b78902c7e977d99b5b48e5254651c863cffa34f2e2f1718898f453a60da95a0500a8414beadb02c8ac9e9326cefa8e222dfceaf98566d0860fa5a0b81882e4586b098b7ecbbea06d0a140754b9315344100fc197e33e02931aadf5ca7638706b690ae172594dffaf2fd760dacb64bc184575a551f28393205d687aa24d1c234516006fa1d08fff28379aa2aebc8604548e70d0878ce56b31fa010621e8021b38b7b60efb58710a3ced243c3fff2646770602b49b8d42690b54d20d4c48921e15ab1b7c0fb8fd37506d063cc4ea9d68e0012430ecd571681d533e76226ed80cb56b0e00c993ecd4597df9a92782e3288dfb61539eb34e81e2502a43b6a613b6c19677e727432f40f8c1dbc41741a46f15eb0602ef3e45fb5d8d9948bf00c1c130a58d936b4db7fc76317ddb12f6018fa3f27e2a8fb3dd17ad21d0557cb3e5c8b08f770400a110adfe6622a8a60f13f1426cc84a51e1f0aa89d395029eaf2f9f2314a306cbc3858de7c0b48fa44aa86edb91b24b0c498713e2e5b78309672d6eecd9d2e141b88f9212f708ac9134887ee91ef932be050529be5e515845f5882b61b4e7240300b845d9d43e749aaf9a6b92e3cf2f03ae0ecb4eede7925acb1c9d6aa53862d789efc58c1383fc661517432bfe90d0b30fbe7a676ea27317de56cd506e6cda7db581592824f143053d5078655b0407b8a9682cbc65f2f813f21d587a9af50ca10f0003efdefda581ba0c00c6de0e6e81844e517fda7c5c04f038571d04257a71d45ffa6c621b80477600281b89849555b516eb657a0a1f594b8c05e065bc9202a979e0ece8fa0341e7fc6c6456479ed2a4e99721a9f3e912998244e6261f4b97e704004b6e65245c22fcc24879d1f4c538136d541c661b4582bba81363dc0c24ca1cbe436dc8028bb9427a99c299ed5959980f6d01a0ef6e5fa683be1a44ae191af3bd0e01a7103471c47e920e54a9711dbc235b9185b78ccf9805b2c46b24b27c2f160006097369a42bebe1cc7b37ff5ae019650ac66fbd11373cf9d7b083b032e3f4181125187d8cc21d4de0db3673cc5ecf0bd0878186823cb4c507a958959d082798288e9e38aed39becb056e84aa39324de303fc9b74764abcce7516274468dc00b0019b275af7d78d4c58456c44af9648cc13d9987cf1a3240157d4aaccf97840071561c701f4e6dd1a02a9aebf57709850a27ba05f95aae2fbc5edbdbc28158d8ce24d4f04e7c88929ab34cf8b1e467c5789be76c303bb2263f246daada7c896c0a00d4a3655eeeefa7945746054a8e4bbabda0db0ca79d2aae0e8cd22746a5fb7ceff284b835f9c485c0cc8f7405dfd0210914e275157f43ff287759c06044e5727b5b0271786678ec7ff7df08a7262badcddbd13a529686d6f6c446b2af6e366a0e0008a8c9ca0658a864c40a4cfc68cdc10520d51fb8ddf7d9da9feb17dbd1e1f92561ffe76f071b4e407494ed880e3be705eb977b694a34634ef4599ff538bcf479daeb9f8b3cf91a3061f5e1c4bc86cfcd006580d62e69f978e7d59686f632f30900199158bc2e9956c25150bcb1035f0560fc1b517da9490aabfdd84844c2592f30d4482427ed4def5ac93a771f2dc76e02fb5c36bfd44b16cfff8ab6436008c49d473e58aec69e3d63419f5122eb98357fbdde7c98b02180aa9d69ea44f1be61110058c0a2415f5449183b32a1455077859a67923df12def82a7787d06192171a3920d86d9c544030b15d2cd687e107c380571addee26d3ee2789f4efcd65250fc99f198a6d20f7267e49c94ab700795115dd38993d8a5fb190c6db55c6dd7f13713003614017d8b597bf1a0a736841bc2cef6748a90b3bce06e4c1f4854c408944c798bde1a5bdd5bf1be2665b38ff1f00919824b1bc26b6184e0493a91779a7c4b33a7a544d40c649061a8aa96b6a25493d6df9e02100ddf681955b99d034265e80200d7dab0f1fde77f1eb1dd1537c61d4a80b36e66a48b2048d79763ea42d857fe218f26154743e0b03f3570bfd936956915eaf3923ac2ac8d61a00079fe734bade72e852a9ddae8f067d5a6523078c1c6a3b57ce5c40fd2c0e9fa1691e9577a4a0e0020048c42efc68e9f4d266c1182c11fb03e03a69c050ee1c55fee42ccc0e2042ad0ab70e12c64ba6815301903e413070a207982efab0fdec094375fde20aced197d349217fe0d0bba839cc0c3828b061a332060757f663e98627b5d60b4cbf2160019a40f827df69201ed0bfed348ea97d41271193b633481b20c2a89ac2a4c4e470c005c8f48a5f34c8595122f2a7e4307e6847cf7bd7c8ad2aabf54fd71a6ade6b10fca1eda770039e1f8b429e01cdfa4abfb08224db0fc71c0fe3dbe87895e1800e0bba71e50f96fc6b66488d5d430170d6417fc40642ec742ec9f89f4237dff1b8e3ffd9dd0f9fe8822896f6b03a23d14f57c1bea74e6091ed02aae2f8068f3ff459f302f8bcaf426ae884083f16a0378cc555bd62bc0101dd3f90d492622a71300", "0x3db7a24cfdc9de785974746c14a99df94e7b9012096b41c4eb3aaf947f6ea429": "0x0300", "0x3f1467a096bcd71a5b6a0c8155e20810308ce9615de0775a82f8a94dc3d285a1": "0x01", "0x3f1467a096bcd71a5b6a0c8155e208103f2edf3bdf381debe331ab7446addfdc": "0x000064a7b3b6e00d0000000000000000", "0x3f1467a096bcd71a5b6a0c8155e208104e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x5c0d1176a568c1f92944340dbfed9e9c4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x5263f6d59d237556ba5cd563e9ecbcd0d3fd0828feea83c1709f23c56dc5086c", + "0x5c0d1176a568c1f92944340dbfed9e9c530ebca703c85910e7164cb7d1c9e47b": "0x0274942c0845b86feae8dc7ed7448d79f2781b2440f83135b9e5094087ca0829", "0x5f3e4907f716ac89b6347d15ececedca0b6a45321efae92aea15e0740ec7afe7": "0x00000000", "0x5f3e4907f716ac89b6347d15ececedca138e71612491192d68deab7e6f563fe1": "0x07000000", "0x5f3e4907f716ac89b6347d15ececedca28dccb559b95c40168a1b2696581b5a7": "0x00000000000000000000000000000000", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe7080c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03", - "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc403e01b10d2893a4bb727ba72d91e029a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc42770bb0e8ebd717385c15a6d27b51b34ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc439f3414d9c736134370847b4428fb1b63e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc471e4c7dfb0271c2b54a9b7071d7e9a9eb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4859f7a7195546bc9d1355b80c2038f21b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4b0ee19450ca52f7b7e5e3a99053d3be834cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4e21ec3de713762bdfb8ffb9e4f8e542b2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02170000a0dec5adc93536170000a0dec5adc935360000", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a0000000080c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe7028f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe702a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe7047e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe706694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e", + "0x5f3e4907f716ac89b6347d15ececedca3ed14b45ed20d054f05e37e2542cfe70fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc400881cee2bc8a0c07f4d04f9d1997c83805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4292002702bca4266356c8f5e01960c8c10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc447cb664413987ddb30d487b866382567ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc44891dbdfa3ce4ed5400628a6509dd1c46a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc455dc8ec32d9a8cefa39057526909c068a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc482b03e98afec1d63c0d9afab436f4e7e06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca422adb579f1dbf4f3886c5cfa3bb8cc4ad81abae52f69154220757ef107688885e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79130000e8890423c78a130000e8890423c78a0000", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a0000000028f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a000000002a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a0000000047e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a000000006694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca42982b9d6c7acc99faa9094c912372c2b4def25cfda6ef3a00000000fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", "0x5f3e4907f716ac89b6347d15ececedca487df464e44a534ba6b0cbb32407b587": "0x0000000000", "0x5f3e4907f716ac89b6347d15ececedca4e7b9012096b41c4eb3aaf947f6ea429": "0x0d00", "0x5f3e4907f716ac89b6347d15ececedca5579297f4dfb9609e7e4c2ebab9ce40a": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827bce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a286a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af7910ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", - "0x5f3e4907f716ac89b6347d15ececedca666fdcbb473985b3ac933d13f4acff8d": "0x0000a0dec5adc9353600000000000000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a0000000080c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca666fdcbb473985b3ac933d13f4acff8d": "0x0000e8890423c78a0000000000000000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a0000000028f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a000000002a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a0000000047e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a000000006694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca682db92dde20a10d96d00ff0e9e221c0b4def25cfda6ef3a00000000fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x0000", "0x5f3e4907f716ac89b6347d15ececedca6ddc7809c6da9bb6093ee22e0fda4ba8": "0x07000000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e1690380c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x0000", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a0000000080c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x17b87d9fdec5adc9353617b87d9fdec5adc9353600", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade9880c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x00", - "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x00", - "0x5f3e4907f716ac89b6347d15ececedcaa141c4fe67c2d11f4a10c6aca7a79a04b4def25cfda6ef3a00000000": "0x08705c1669c083787b01000000000000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e1690328f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169032a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e1690347e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e169036694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca88dcde934c658227ee1dfafcd6e16903fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x0000", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a0000000028f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a000000002a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a0000000047e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a000000006694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca8bde0a0ea8864605e3b68ed9cb2da01bb4def25cfda6ef3a00000000fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x13f6ffe7890423c78a13f6ffe7890423c78a00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade9828f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade982a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade9847e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade986694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x00", + "0x5f3e4907f716ac89b6347d15ececedca9220e172bed316605f73f1ff7b4ade98fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x00", + "0x5f3e4907f716ac89b6347d15ececedcaa141c4fe67c2d11f4a10c6aca7a79a04b4def25cfda6ef3a00000000": "0xbaff57c51ff571cb0300000000000000", "0x5f3e4907f716ac89b6347d15ececedcaad811cd65a470ddc5f1d628ff0550982b4def25cfda6ef3a00000000": "0x00000000", "0x5f3e4907f716ac89b6347d15ececedcab49a2738eeb30896aacb8b3fb46471bd": "0x07000000", "0x5f3e4907f716ac89b6347d15ececedcac0d39ff577af2cc6b67ac3641fa9c4e7": "0x01000000", "0x5f3e4907f716ac89b6347d15ececedcac29a0310e1bb45d20cace77ccb62c97d": "0x00e1f505", "0x5f3e4907f716ac89b6347d15ececedcaea07de2b8f010516dca3f7ef52f7ac5a": "0x040000000000000000", - "0x5f3e4907f716ac89b6347d15ececedcaed441ceb81326c56263efbb60c95c2e4": "0x0000e8890423c78a0000000000000000", + "0x5f3e4907f716ac89b6347d15ececedcaed441ceb81326c56263efbb60c95c2e4": "0x000064a7b3b6e00d0000000000000000", "0x5f3e4907f716ac89b6347d15ececedcaf7dad0317324aecae8744b87fc95f2f3": "0x00", "0x5f3e4907f716ac89b6347d15ececedcafab86d26e629e39b4903db94786fac74": "0xffffffffffffffff0000000000000000", "0x5f9cc45b7a00c5899361e1c6099678dc4e7b9012096b41c4eb3aaf947f6ea429": "0x0400", @@ -157,15 +146,15 @@ "0x6ed9b11ccf1ed0fdd9fa3321cf0640d1d61441dfc3605fd3927f3f1aacbf5ca6": "0x00d00700000000000000000000000000000000000000000000000000000000000000000000695dfcfc604f9b2992642bdc5b173d1a1ed60b03", "0x7474449cca95dc5d0c00e71735a6d17d4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", "0x74dd702da46f77d7acf77f5a48d4af7d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654012681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0200ffec23c0d171080046ce0d99f72c0800", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b05801ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b01784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2dffec23c0d171080046ce0d99f72c0800", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b1580c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0201784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d01b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654ffec23c0d171080046ce0d99f72c0800", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a000134cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03ffec23c0d171080046ce0d99f72c0800", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d01b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058012681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02ffec23c0d171080046ce0d99f72c0800", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03013e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a01ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31bffec23c0d171080046ce0d99f72c0800", - "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b0134cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c0301b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058ffec23c0d171080046ce0d99f72c0800", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b1528f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f015e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af790080d4fe64f923ee0ca28be6805dbd9d0c", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b152a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a2801805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b016a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e80d4fe64f923ee0ca28be6805dbd9d0c", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b1547e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c380106720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4601805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b80d4fe64f923ee0ca28be6805dbd9d0c", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b156694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79016a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e0110ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f80d4fe64f923ee0ca28be6805dbd9d0c", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b01a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c3801ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a2880d4fe64f923ee0ca28be6805dbd9d0c", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e01ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28015e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af7980d4fe64f923ee0ca28be6805dbd9d0c", + "0x74dd702da46f77d7acf77f5a48d4af7d62556a85fcb7c61b2c6c750924846b15fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d460001a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c3880d4fe64f923ee0ca28be6805dbd9d0c", "0x74dd702da46f77d7acf77f5a48d4af7d7a6dc62e324093ba1331bf49fdb2f24a": "0x07000000", - "0x74dd702da46f77d7acf77f5a48d4af7de5c03730c8f59f00941607850b6633d84ae6dab4cb9dce73ffec23c0d1710800": "0x013e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a01b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", + "0x74dd702da46f77d7acf77f5a48d4af7de5c03730c8f59f00941607850b6633d8aadb3d8ed0d1923380d4fe64f923ee0c": "0x0106720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d460110ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", "0x78c7998b191ed135ef11094d9e9ed48d4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x7a6d38deaa01cb6e76ee69889f1696272be9a4e88368a2188d2b9100a9f3cd43": "0x000064a7b3b6e00d0000000000000000", "0x7a6d38deaa01cb6e76ee69889f16962730256ea2c545a3e5e3744665ffb2ed28": "0x40060000", @@ -174,71 +163,73 @@ "0x7a6d38deaa01cb6e76ee69889f1696274e7b9012096b41c4eb3aaf947f6ea429": "0x0300", "0x7a6d38deaa01cb6e76ee69889f169627ba93302f3b868c50785e6ade45c6a1d8": "0x10000000", "0x7cda3cfa86b349fdafce4979b197118f4e7b9012096b41c4eb3aaf947f6ea429": "0x0400", - "0x7cda3cfa86b349fdafce4979b197118f71cd3068e6118bfb392b798317f63a89083d57c7925859cfba3064f506c7abcbfd8c1a448ceabfc7f556a9734a3805737710e030e1732f5b": "0x04ba3064f506c7abcbfd8c1a448ceabfc7f556a9734a3805737710e030e1732f5b000064a7b3b6e00d000000000000000000000000000000000000000000000000", - "0x7cda3cfa86b349fdafce4979b197118fba7fb8745735dc3be2a2c61a72c39e78": "0x04ba3064f506c7abcbfd8c1a448ceabfc7f556a9734a3805737710e030e1732f5b000064a7b3b6e00d000000000000000000000000000000000000000000000000", + "0x7cda3cfa86b349fdafce4979b197118f71cd3068e6118bfb392b798317f63a892d80ec0dcfbcbda74c64cd21d679f0fb0c10f3320c70f61e142c53d915cd4188bb909810506a7835": "0x044c64cd21d679f0fb0c10f3320c70f61e142c53d915cd4188bb909810506a7835000064a7b3b6e00d000000000000000000000000000000000000000000000000", + "0x7cda3cfa86b349fdafce4979b197118f71cd3068e6118bfb392b798317f63a897a508912129bd26a1cc7b34b29b7166de967d6bc7fae39430a4787d92b9bac9e53e3dc462a0a9b7a": "0x041cc7b34b29b7166de967d6bc7fae39430a4787d92b9bac9e53e3dc462a0a9b7a000064a7b3b6e00d000000000000000000000000000000000000000000000000", + "0x7cda3cfa86b349fdafce4979b197118f71cd3068e6118bfb392b798317f63a89c7140a12620a25038e1a14fb549c3c9e96f6a31bad454fe16f40c22e67a3e536e99443a7e8143f7a": "0x048e1a14fb549c3c9e96f6a31bad454fe16f40c22e67a3e536e99443a7e8143f7a000064a7b3b6e00d000000000000000000000000000000000000000000000000", + "0x7cda3cfa86b349fdafce4979b197118fba7fb8745735dc3be2a2c61a72c39e78": "0x0c1cc7b34b29b7166de967d6bc7fae39430a4787d92b9bac9e53e3dc462a0a9b7a000064a7b3b6e00d0000000000000000000000000000000000000000000000004c64cd21d679f0fb0c10f3320c70f61e142c53d915cd4188bb909810506a7835000064a7b3b6e00d0000000000000000000000000000000000000000000000008e1a14fb549c3c9e96f6a31bad454fe16f40c22e67a3e536e99443a7e8143f7a000064a7b3b6e00d000000000000000000000000000000000000000000000000", "0x89d139e01a5eb2256f222e5fc5dbe6b34e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0x905e59f6c8fc974ec64116e6f647992829ac34430c4934c5e3aaeed5abe53e394e1cbc3427213f432fcdfd6f5980b382284461746120417661696c": "0x5263f6d59d237556ba5cd563e9ecbcd0d3fd0828feea83c1709f23c56dc5086c00", - "0x905e59f6c8fc974ec64116e6f647992829ac34430c4934c5e3aaeed5abe53e39f9520adec81a73e6d1cd048d35f0054a20457468657265756d": "0x5263f6d59d237556ba5cd563e9ecbcd0d3fd0828feea83c1709f23c56dc5086c04", - "0x905e59f6c8fc974ec64116e6f647992829ac34430c4934c5e3aaeed5abe53e39fde5daf0ad41c39c6eb277bc72a7017f1c506f6c79676f6e": "0x5263f6d59d237556ba5cd563e9ecbcd0d3fd0828feea83c1709f23c56dc5086c08", + "0x905e59f6c8fc974ec64116e6f647992829ac34430c4934c5e3aaeed5abe53e394e1cbc3427213f432fcdfd6f5980b382284461746120417661696c": "0x0274942c0845b86feae8dc7ed7448d79f2781b2440f83135b9e5094087ca082900", + "0x905e59f6c8fc974ec64116e6f647992829ac34430c4934c5e3aaeed5abe53e39f9520adec81a73e6d1cd048d35f0054a20457468657265756d": "0x0274942c0845b86feae8dc7ed7448d79f2781b2440f83135b9e5094087ca082904", + "0x905e59f6c8fc974ec64116e6f647992829ac34430c4934c5e3aaeed5abe53e39fde5daf0ad41c39c6eb277bc72a7017f1c506f6c79676f6e": "0x0274942c0845b86feae8dc7ed7448d79f2781b2440f83135b9e5094087ca082908", "0x905e59f6c8fc974ec64116e6f64799284e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0x905e59f6c8fc974ec64116e6f6479928bd215f8ad159d04103d61a3d430fee34": "0x0c", "0xa37f719efab16103103a0c8c2c784ce14e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xa8c65209d47ee80f56b0011e8fd91f504e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xaebd463ed9925c488c112434d61debc04e7b9012096b41c4eb3aaf947f6ea429": "0x0400", - "0xaebd463ed9925c488c112434d61debc0ba7fb8745735dc3be2a2c61a72c39e78": "0x04ba3064f506c7abcbfd8c1a448ceabfc7f556a9734a3805737710e030e1732f5b", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc603e01b10d2893a4bb727ba72d91e029a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x047374616b696e67200000a0dec5adc935360000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc62770bb0e8ebd717385c15a6d27b51b34ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0x047374616b696e67200000a0dec5adc935360000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc639f3414d9c736134370847b4428fb1b63e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x047374616b696e67200000a0dec5adc935360000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc671e4c7dfb0271c2b54a9b7071d7e9a9eb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0x047374616b696e67200000a0dec5adc935360000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6859f7a7195546bc9d1355b80c2038f21b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0x047374616b696e67200000a0dec5adc935360000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6b0ee19450ca52f7b7e5e3a99053d3be834cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x047374616b696e67200000a0dec5adc935360000000000000002", - "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6e21ec3de713762bdfb8ffb9e4f8e542b2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x047374616b696e67200000a0dec5adc935360000000000000002", + "0xaebd463ed9925c488c112434d61debc0ba7fb8745735dc3be2a2c61a72c39e78": "0x0c1cc7b34b29b7166de967d6bc7fae39430a4787d92b9bac9e53e3dc462a0a9b7a4c64cd21d679f0fb0c10f3320c70f61e142c53d915cd4188bb909810506a78358e1a14fb549c3c9e96f6a31bad454fe16f40c22e67a3e536e99443a7e8143f7a", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc600881cee2bc8a0c07f4d04f9d1997c83805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x047374616b696e67200000e8890423c78a000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6292002702bca4266356c8f5e01960c8c10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x047374616b696e67200000e8890423c78a000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc647cb664413987ddb30d487b866382567ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0x047374616b696e67200000e8890423c78a000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc64891dbdfa3ce4ed5400628a6509dd1c46a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x047374616b696e67200000e8890423c78a000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc655dc8ec32d9a8cefa39057526909c068a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0x047374616b696e67200000e8890423c78a000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc682b03e98afec1d63c0d9afab436f4e7e06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x047374616b696e67200000e8890423c78a000000000000000002", + "0xc2261276cc9d1f8598ea4b6a74b15c2f218f26c73add634897550b4003b26bc6ad81abae52f69154220757ef107688885e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x047374616b696e67200000e8890423c78a000000000000000002", "0xc2261276cc9d1f8598ea4b6a74b15c2f4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", - "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x00a07240e34c113b74a1060000000000", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3477be341347dd206b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc36544484e4346eb0b894f148234dd9ec736a2d37c428ae191b8359ed9b03b0f6017db21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3779a15963c3f21c0b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058d9214fdd325d892b23d375f366478df7f2a426f9f29b66c2c9fa517954c2f2c3b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb380c36a15e0949a6c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02984482b48d356ce8e299268b100c61a9ba5f96a757cf98150683a3e8aa85484a2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc022681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3a0e7451b070b89d33e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12aabe6cb62c4606ee7046d07bc9e5eec2246068396590b59194c10bbe82f7c8b5d3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3c06a81ef7d108100784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d6482e09117de608a6dd0cad6583bc044200c79308448e32a2bc3a97fddb0bc48784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3c281d0bb422aa15934cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c032910ddec7c51b2eab4d96831a8b9e84a42cebdadae62bdea26ca7b0c640e8a2134cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c0334cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03", - "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3f6cfdf9acb0ae55eec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b1b2c1b3dec0bd38311fc2f97d2d7292eb4fe35161acc671164cd1363de38fda5ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31bec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", + "0xc2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80": "0x00a06ee3f979b9a70b00000000000000", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb328f15ce94df93f7a10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f8d41197aa896bd924ad41662702fcd5477e59370cb226183664fca120bfc2cc510ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb32a47af45f9c6af5cce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28acd803975a0e70942a507f20f4ad0572bc17bb1321dc204054b7dc6af82eaae5ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb347e891e1aa600278a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38e3f90d187c983c99f6648b8035cd63ec49cc6889592953edf4feaa8247022834a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb36694a310e897343f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af7931920433c10117862ee3f3b52f102b15f81cf7fcd0a0a7c2be9f0e417b9531815e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af795e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3cdf97a41526ea925805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827beb236122afff271e82ebc489e1cea12e6352668b518ccca8604aacb5b9b38695805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3f8552ef04773c9806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e379a8e9cea41c74405b617c8e4ddbd6455664ecd4878a01584b32c6d4391d20a6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e", + "0xcec5070d609dd3497f72bde07fc96ba04c014e6bf8b8c2c011e7290b85696bb3fd55dce4ce8c1bdd06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46995d40330b598da1ad50e38aa7d72550103bdb5878ffca945fe5a49e3014154b06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4606720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46", "0xcec5070d609dd3497f72bde07fc96ba04e7b9012096b41c4eb3aaf947f6ea429": "0x0000", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950060d082fdddd8160696d6f6e803e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501355e68dee0f4f05696d6f6e80b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950175b3714dd256c636772616e802910ddec7c51b2eab4d96831a8b9e84a42cebdadae62bdea26ca7b0c640e8a21": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195017fa0b5606be9257696d6f6e80ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19502c67613be4caad616772616e801b2c1b3dec0bd38311fc2f97d2d7292eb4fe35161acc671164cd1363de38fda5": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19502d6bd28fceeac599696d6f6e80b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950421d5b04853c315b6772616e806482e09117de608a6dd0cad6583bc044200c79308448e32a2bc3a97fddb0bc48": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19505b58e95a850f22656261626580784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195062105958e6f2e0a86261626580b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195069c0eddc8bf4c0cd6175646980784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195075bd0dbd640c2bac62616265803e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950794258393f9fbee56175646980b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19507dad2bf767e5f7aa626162658034cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19507e555b2fb930f68f617564698034cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509dc27dd9810c87f96772616e80d9214fdd325d892b23d375f366478df7f2a426f9f29b66c2c9fa517954c2f2c3": "0xb0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a2834a12bfcad072696d6f6e80784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d": "0x784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a4e5286e8d4ca1e361756469802681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a6f46ac0e064f86b6175646980ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a9dc98c6376f0fde6261626580ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b": "0xec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ca6d4e6d540dd3cf6175646980b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950dd3885a34d398f166772616e80abe6cb62c4606ee7046d07bc9e5eec2246068396590b59194c10bbe82f7c8b5d": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950dfa0b830478eb628696d6f6e802681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e19464f1795a5fe162616265802681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e222c5ef816c8dba6772616e80984482b48d356ce8e299268b100c61a9ba5f96a757cf98150683a3e8aa85484a": "0x2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950eeddea9a477009f961756469803e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a": "0x3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f7d4e5de9cbd5790696d6f6e8034cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03": "0x34cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c03", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950fb98dc4760a31f3a6772616e804484e4346eb0b894f148234dd9ec736a2d37c428ae191b8359ed9b03b0f6017d": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", - "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950fc0f10d690592f856261626580b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654": "0xb21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654", - "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0234cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c033e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2db0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", - "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x1c2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc022681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc02984482b48d356ce8e299268b100c61a9ba5f96a757cf98150683a3e8aa85484a2681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc022681bae296b13d0ed8f76f82d90f266ab8670c86ca2f88b5749220ed0615bc0234cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c0334cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c032910ddec7c51b2eab4d96831a8b9e84a42cebdadae62bdea26ca7b0c640e8a2134cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c0334cc28c1ff243980b3af78899559107adc43ebb12c9e3ceab0f6b601dd509c033e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12aabe6cb62c4606ee7046d07bc9e5eec2246068396590b59194c10bbe82f7c8b5d3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a3e5091931be8e47770c708849b5fb6523e5e5ef79fc691c9218d212621fcf12a784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d6482e09117de608a6dd0cad6583bc044200c79308448e32a2bc3a97fddb0bc48784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2d784b1743779643f9c8ff33cf08b11e5037c2edf2e8adc3691161072d97f00e2db0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058d9214fdd325d892b23d375f366478df7f2a426f9f29b66c2c9fa517954c2f2c3b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b0b2e6efe6a15c9ea0ada939148805ccceaa0c5cfd7d1219f10ef1e740d0b058b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc36544484e4346eb0b894f148234dd9ec736a2d37c428ae191b8359ed9b03b0f6017db21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654b21e2d18793bc485144a5b0cd3ad5d6ef1ba1bec6ea508e6ccb93a79f6dc3654ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31bec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b1b2c1b3dec0bd38311fc2f97d2d7292eb4fe35161acc671164cd1363de38fda5ec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31bec54ca5015d3cf3419d9acf4df1c47582bf02ac8b2c76e01dac4c6c57e27a31b", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19500dff2a186e46d815626162658010ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950120ada41b445b838696d6f6e80a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195014f46ef628c76d7b617564698010ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501a715db7f3b610a16261626580ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19501cdc6bad7d6246d56772616e80995d40330b598da1ad50e38aa7d72550103bdb5878ffca945fe5a49e3014154b": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195033668f2c68d969ca6772616e808d41197aa896bd924ad41662702fcd5477e59370cb226183664fca120bfc2cc5": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950470bcf28fe54bc43696d6f6e80805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195052b74f4054a2881e6772616e80e3f90d187c983c99f6648b8035cd63ec49cc6889592953edf4feaa8247022834": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195059121477ab3b304061756469805e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195059f74af3ad7417b6696d6f6e806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19506d74928e5c27f704696d6f6e8010ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f": "0x10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa195078db60aad20622ca6261626580a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19508560b225057aadac6175646980805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950900a3d732f8523ce6772616e8031920433c10117862ee3f3b52f102b15f81cf7fcd0a0a7c2be9f0e417b953181": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509078c112b49184c7626162658006720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509a7bf7ca28af7021617564698006720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa19509ff53a0dc0ba990d61756469806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950a3aceca418b9394562616265805e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950aa9e18b3d4b78518696d6f6e80ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950b1a13fc7f297f654696d6f6e805e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79": "0x5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af79", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ba37fbef22ca2a016772616e80acd803975a0e70942a507f20f4ad0572bc17bb1321dc204054b7dc6af82eaae5": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950c4a347f47ae5640562616265806a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950d227f6f807cf45d46772616e80eb236122afff271e82ebc489e1cea12e6352668b518ccca8604aacb5b9b38695": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950e21d61bde8d56004696d6f6e8006720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46": "0x06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950ea0b9aa4f858bb4f6175646980a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38": "0xa851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f2406b9c0135cf9b6772616e80379a8e9cea41c74405b617c8e4ddbd6455664ecd4878a01584b32c6d4391d20a": "0x6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f3abbed18e8359986261626580805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b": "0x805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b", + "0xcec5070d609dd3497f72bde07fc96ba0726380404683fc89e8233450c8aa1950f835d9cad5dc60ee6175646980ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28": "0xce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0xcec5070d609dd3497f72bde07fc96ba088dcde934c658227ee1dfafcd6e16903": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4610ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af796a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827ba851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", + "0xcec5070d609dd3497f72bde07fc96ba0e0cdd062e6eaf24295ad4ccfc41d4609": "0x1c06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4606720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d46995d40330b598da1ad50e38aa7d72550103bdb5878ffca945fe5a49e3014154b06720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4606720d4c1c934b28cce1c830714d587d0b5ddc43968fcbce51dd13f017be8d4610ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f8d41197aa896bd924ad41662702fcd5477e59370cb226183664fca120bfc2cc510ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f10ea08584efaa8bf8c9563333b47bec02ecd3046feb53a1491e23e794104f34f5e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af795e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af7931920433c10117862ee3f3b52f102b15f81cf7fcd0a0a7c2be9f0e417b9531815e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af795e359f775013228eb4ecc54ca3af7d2c14c5fc50f1f3eafed775515ca7c8af796a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e379a8e9cea41c74405b617c8e4ddbd6455664ecd4878a01584b32c6d4391d20a6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e6a38fab2076c1634b743aeeac004e55c6ab560a66f24f1e6baa134f2a2fbf24e805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827beb236122afff271e82ebc489e1cea12e6352668b518ccca8604aacb5b9b38695805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827b805fae3795a8f479bdafd34753957dcf26ce7207adbedfde51ce6a1872a1827ba851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38e3f90d187c983c99f6648b8035cd63ec49cc6889592953edf4feaa8247022834a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38a851bd6bb41d8614645d6a12ce2431ab30819af0483cfb7870038ce3aef55c38ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28acd803975a0e70942a507f20f4ad0572bc17bb1321dc204054b7dc6af82eaae5ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28ce33dac6783b876d7d6b5012a0e25b5fe93a46824fbaa2fef6f229f43deb8a28", "0xd57bce545fb382c34570e5dfbf338f5e4e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xd5c41b52a371aa36c9254ce34324f2a54e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xd5e1a2fa16732ce6906189438c0a82c64e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xd8f314b7f4e6b095f0f8ee4656a448254e7b9012096b41c4eb3aaf947f6ea429": "0x0100", "0xed25f63942de25ac5253ba64b5eb64d14e7b9012096b41c4eb3aaf947f6ea429": "0x0400", - "0xed25f63942de25ac5253ba64b5eb64d1ba7fb8745735dc3be2a2c61a72c39e78": "0x0cb03b5441c2770df6f389c3d39d0a0f0bbf0ab6dd25ff96a2c1bd32c3772c200a345adc7f3751ac0c8eb996fa7d35eb484dcd368c2c72d3b6c0951797e206a474a2c5dc9987c21775231bf77406c81897cef369e0509fa6e893fce1895906163a", + "0xed25f63942de25ac5253ba64b5eb64d1ba7fb8745735dc3be2a2c61a72c39e78": "0x0c10c1f76625e973060cf4fd26ae9fc7a844455f0ace85ea6c542ecaab18d7922818788ec9bf57fe0c0ac41d2559b24e9ee9ff2324f81ce0577e5d8937c993fd096253f8324cfa92fb324e2b3c469256ea7ec3ae98611071be69524bd24f10b64c", "0xede8e4fdc3c8b556f0ce2f77fc2575e34e7b9012096b41c4eb3aaf947f6ea429": "0x0100", "0xf0c365c3cf59d671eb72da0e7a4113c44e7b9012096b41c4eb3aaf947f6ea429": "0x0000", "0xf2794c22e353e9a839f12faab03a911b4e7b9012096b41c4eb3aaf947f6ea429": "0x0100", diff --git a/node/Cargo.toml b/node/Cargo.toml index 8fe01b769..847f37844 100644 --- a/node/Cargo.toml +++ b/node/Cargo.toml @@ -47,14 +47,15 @@ async-trait = "0.1.60" # Substrate ## Primitives sc-cli = "0.10.0-dev" -sp-io = "7.0.0" -sp-core = "7.0.0" +sp-io = "23.0.0" +sp-statement-store = "4.0.0-dev" +sp-core = "21.0.0" sc-executor = "0.10.0-dev" sc-service = "0.10.0-dev" sc-telemetry = "4.0.0-dev" sc-keystore = "4.0.0-dev" -sp-keystore = "0.13.0" -sp-keyring = "7.0.0" +sp-keystore = "0.27.0" +sp-keyring = "24.0.0" sc-transaction-pool = "4.0.0-dev" sp-transaction-pool = "4.0.0-dev" sp-inherents = "4.0.0-dev" @@ -64,18 +65,16 @@ sc-consensus-babe-rpc = "0.10.0-dev" sp-consensus-babe = "0.10.0-dev" sp-consensus = "0.10.0-dev" sc-consensus = "0.10.0-dev" -sc-finality-grandpa = "0.10.0-dev" -sc-finality-grandpa-rpc = "0.10.0-dev" -sp-finality-grandpa = "4.0.0-dev" +# Renamed: (https://github.com/paritytech/substrate/pull/13458) +sc-consensus-grandpa-rpc = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0" } +sc-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0" } +sp-consensus-grandpa = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v1.0.0" } sc-client-api = "4.0.0-dev" -sp-runtime = "7.0.0" +sp-runtime = "24.0.0" sp-timestamp = "4.0.0-dev" sc-consensus-babe = "0.10.0-dev" -sc-consensus-epochs = "0.10.0-dev" sc-consensus-slots = "0.10.0-dev" -sc-consensus-uncles = "0.10.0-dev" sc-network = "0.10.0-dev" -sp-authorship = "4.0.0-dev" sp-authority-discovery = "4.0.0-dev" sc-authority-discovery = "0.10.0-dev" sc-chain-spec = "4.0.0-dev" @@ -87,6 +86,7 @@ sc-sync-state-rpc = "0.10.0-dev" sp-api = "4.0.0-dev" sc-sysinfo = "6.0.0-dev" sc-network-common = "0.10.0-dev" +sc-network-sync = "0.10.0-dev" primitive-types = "0.12.0" # FRAME @@ -121,7 +121,7 @@ clap_complete = { version = "4.0.2", optional = true } frame-benchmarking-cli = { version = "4.0.0-dev", optional = true } [dev-dependencies] -sp-tracing = "6.0.0" +sp-tracing = "10.0.0" tempfile = "3.1.0" [features] @@ -136,13 +136,22 @@ cli = [ runtime-benchmarks = [ "da-runtime/runtime-benchmarks", "frame-system/runtime-benchmarks", + "da-control/runtime-benchmarks", + "nomad-da-bridge/runtime-benchmarks", + "nomad-home/runtime-benchmarks", + "nomad-updater-manager/runtime-benchmarks" ] # Enable features that allow the runtime to be tried and debugged. Name might be subject to change # in the near future. try-runtime = [ - "da-runtime/try-runtime", + "da-runtime/try-runtime", "try-runtime-cli/try-runtime", - "avail-core/try-runtime" + "avail-core/try-runtime", + "da-control/try-runtime", + "frame-system/try-runtime", + "nomad-da-bridge/try-runtime", + "nomad-home/try-runtime", + "nomad-updater-manager/try-runtime" ] diff --git a/node/src/benchmarking.rs b/node/src/benchmarking.rs index edafca68d..54cb3487f 100644 --- a/node/src/benchmarking.rs +++ b/node/src/benchmarking.rs @@ -43,13 +43,19 @@ pub struct RemarkBuilder { impl RemarkBuilder { /// Creates a new [`Self`] from the given client. #[allow(dead_code)] - pub fn new(client: Arc) -> Self { Self { client } } + pub fn new(client: Arc) -> Self { + Self { client } + } } impl frame_benchmarking_cli::ExtrinsicBuilder for RemarkBuilder { - fn pallet(&self) -> &str { "system" } + fn pallet(&self) -> &str { + "system" + } - fn extrinsic(&self) -> &str { "remark" } + fn extrinsic(&self) -> &str { + "remark" + } fn build(&self, nonce: u32) -> std::result::Result { let acc = Sr25519Keyring::Bob.pair(); @@ -87,9 +93,13 @@ impl TransferKeepAliveBuilder { } impl frame_benchmarking_cli::ExtrinsicBuilder for TransferKeepAliveBuilder { - fn pallet(&self) -> &str { "balances" } + fn pallet(&self) -> &str { + "balances" + } - fn extrinsic(&self) -> &str { "transfer_keep_alive" } + fn extrinsic(&self) -> &str { + "transfer_keep_alive" + } fn build(&self, nonce: u32) -> std::result::Result { let acc = Sr25519Keyring::Bob.pair(); diff --git a/node/src/chain_spec.rs b/node/src/chain_spec.rs index e0931960f..2a3c97555 100644 --- a/node/src/chain_spec.rs +++ b/node/src/chain_spec.rs @@ -2,8 +2,8 @@ use std::collections::HashMap; use da_runtime::{ - constants::elections::InitialMemberBond, AccountId, Balance, Block, GenesisConfig, SessionKeys, - Signature, AVL, + constants::elections::InitialMemberBond, AccountId, Balance, Block, RuntimeGenesisConfig, + SessionKeys, Signature, AVL, }; use hex_literal::hex; use pallet_im_online::sr25519::AuthorityId as ImOnlineId; @@ -13,8 +13,8 @@ use sc_service::{ChainType, Properties}; use serde::{Deserialize, Serialize}; use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId; use sp_consensus_babe::AuthorityId as BabeId; +use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::{crypto::UncheckedInto, sr25519, Pair, Public}; -use sp_finality_grandpa::AuthorityId as GrandpaId; use sp_runtime::traits::{IdentifyAccount, Verify}; pub const NOMAD_LOCAL_DOMAIN: u32 = 2000; @@ -46,7 +46,7 @@ pub struct Extensions { } /// Specialized `ChainSpec`. This is a specialization of the general Substrate ChainSpec type. -pub type ChainSpec = sc_service::GenericChainSpec; +pub type ChainSpec = sc_service::GenericChainSpec; /// Generate a crypto pair from seed. pub fn get_from_seed(seed: &str) -> ::Public { @@ -118,7 +118,7 @@ fn session_keys(common: AccountId, grandpa: GrandpaId) -> SessionKeys { } } -/// Helper function to create GenesisConfig for testing +/// Helper function to create RuntimeGenesisConfig for testing pub(crate) fn make_genesis( sudo: AccountId, authorities: Vec, @@ -127,7 +127,7 @@ pub(crate) fn make_genesis( mut endowed_accounts: HashMap, min_validator_bond: Balance, min_nominator_bond: Balance, -) -> GenesisConfig { +) -> RuntimeGenesisConfig { // Extends endowed accounts with council members, authorities and TC members for acc in council.iter().cloned() { *endowed_accounts.entry(acc).or_default() += InitialMemberBond::get(); @@ -139,7 +139,7 @@ pub(crate) fn make_genesis( *endowed_accounts.entry(acc).or_default() += 10 * AVL; } - GenesisConfig { + RuntimeGenesisConfig { // General system: config::make_system_config(), babe: config::make_babe_config(), @@ -172,8 +172,7 @@ pub(crate) fn make_genesis( // Nomad nomad_home: config::nomad::make_home_config(NOMAD_LOCAL_DOMAIN, NOMAD_UPDATER), nomad_updater_manager: config::nomad::make_update_manager_config(NOMAD_UPDATER), - nomad_da_bridge: Default::default(), - + // nomad_da_bridge: Default::default(), nomination_pools: config::make_nomination_pools_config(), // `technical_membership`'s members were initialized on `technical_committee` technical_membership: Default::default(), @@ -188,7 +187,7 @@ pub(crate) mod tests { // use crate::service::{new_full_base, NewFullBase}; /* - fn local_testnet_genesis_instant_single() -> GenesisConfig { + fn local_testnet_genesis_instant_single() -> RuntimeGenesisConfig { testnet_genesis( vec![authority_keys_from_seed("Alice")], vec![], @@ -252,7 +251,9 @@ pub(crate) mod tests { */ #[test] - fn test_create_development_chain_spec() { locals::solo::chain_spec().build_storage().unwrap(); } + fn test_create_development_chain_spec() { + locals::solo::chain_spec().build_storage().unwrap(); + } #[test] fn test_create_development_tri_chain_spec() { diff --git a/node/src/chain_spec/config.rs b/node/src/chain_spec/config.rs index 69955259a..9f743e579 100644 --- a/node/src/chain_spec/config.rs +++ b/node/src/chain_spec/config.rs @@ -33,6 +33,7 @@ pub(crate) fn make_system_config() -> SystemConfig { code, kc_public_params, block_length, + ..Default::default() } } @@ -99,7 +100,9 @@ pub(crate) fn make_technical_committee_config(members: Vec) -> Techni } /// Uses `key` as `sudo` key. -pub(crate) fn make_sudo_config(key: AccountId) -> SudoConfig { SudoConfig { key: Some(key) } } +pub(crate) fn make_sudo_config(key: AccountId) -> SudoConfig { + SudoConfig { key: Some(key) } +} const INIT_APP_IDS: [&str; 3] = ["Data Avail", "Ethereum", "Polygon"]; @@ -116,7 +119,10 @@ pub(crate) fn make_data_avail_config(owner: AccountId) -> DataAvailabilityConfig }) .collect(); - DataAvailabilityConfig { app_keys } + DataAvailabilityConfig { + app_keys, + ..Default::default() + } } pub(crate) fn make_nomination_pools_config() -> NominationPoolsConfig { @@ -126,6 +132,7 @@ pub(crate) fn make_nomination_pools_config() -> NominationPoolsConfig { max_pools: Some(constants::nomination_pools::MAX_POOLS), max_members_per_pool: Some(constants::nomination_pools::MAX_MEMBERS_PER_POOL), max_members: Some(constants::nomination_pools::MAX_MEMBERS), + ..Default::default() } } @@ -136,6 +143,7 @@ pub(crate) fn make_babe_config() -> BabeConfig { // NOTE: `authorities` were initialized by `Session`. authorities: vec![], epoch_config, + ..Default::default() } } diff --git a/node/src/chain_spec/locals.rs b/node/src/chain_spec/locals.rs index ac8b1149c..6f83f75cd 100644 --- a/node/src/chain_spec/locals.rs +++ b/node/src/chain_spec/locals.rs @@ -1,7 +1,7 @@ use std::collections::HashMap; use avail_core::currency::AVL; -use da_runtime::{AccountId, Balance, GenesisConfig}; +use da_runtime::{AccountId, Balance, RuntimeGenesisConfig}; use sp_core::sr25519::Public; use crate::chain_spec::{get_account_id_from_seed, AuthorityKeys}; @@ -24,13 +24,15 @@ fn dev_endowed_accounts() -> HashMap { } /// `Alice` is the sudo key in `dev`. -fn dev_sudo() -> AccountId { get_account_id_from_seed::("Alice") } +fn dev_sudo() -> AccountId { + get_account_id_from_seed::("Alice") +} fn make_genesis( sudo: AccountId, authorities: Vec, endowed_accounts: HashMap, -) -> GenesisConfig { +) -> RuntimeGenesisConfig { let council = DEFAULT_ENDOWED_SEEDS[..5] .iter() .map(|seed| get_account_id_from_seed::(seed)) diff --git a/node/src/chain_spec/locals/solo.rs b/node/src/chain_spec/locals/solo.rs index 9ca88824f..25c716fde 100644 --- a/node/src/chain_spec/locals/solo.rs +++ b/node/src/chain_spec/locals/solo.rs @@ -1,4 +1,4 @@ -use da_runtime::GenesisConfig; +use da_runtime::RuntimeGenesisConfig; use sp_core::sr25519::Public; use crate::chain_spec::{ @@ -30,7 +30,7 @@ pub fn chain_spec() -> ChainSpec { /// - `Alice` as `sudo` account. /// - All devs account are endowed. /// -fn config_genesis() -> GenesisConfig { +fn config_genesis() -> RuntimeGenesisConfig { let sudo = get_account_id_from_seed::("Alice"); let authorities = vec![AuthorityKeys::from_seed("Alice")]; let endowed_accs = dev_endowed_accounts(); diff --git a/node/src/chain_spec/locals/tri.rs b/node/src/chain_spec/locals/tri.rs index 5c6be8246..34ae02cfc 100644 --- a/node/src/chain_spec/locals/tri.rs +++ b/node/src/chain_spec/locals/tri.rs @@ -1,4 +1,4 @@ -use da_runtime::GenesisConfig; +use da_runtime::RuntimeGenesisConfig; use crate::chain_spec::{ chain_properties, @@ -30,7 +30,7 @@ pub fn chain_spec() -> ChainSpec { /// - `Alice` as `sudo` account. /// - All devs account are endowed. /// -fn config_genesis() -> GenesisConfig { +fn config_genesis() -> RuntimeGenesisConfig { let mut authorities = ["Alice", "Bob", "Charlie"] .into_iter() .map(AuthorityKeys::from_seed) diff --git a/node/src/chain_spec/testnets.rs b/node/src/chain_spec/testnets.rs index cc1769a21..0310d865d 100644 --- a/node/src/chain_spec/testnets.rs +++ b/node/src/chain_spec/testnets.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use avail_core::currency::AVL; use da_runtime::{AccountId, Balance}; -use crate::chain_spec::{AuthorityKeys, GenesisConfig}; +use crate::chain_spec::{AuthorityKeys, RuntimeGenesisConfig}; pub mod kate; @@ -16,7 +16,7 @@ fn make_genesis( council: Vec, tech_committee_members: Vec, endowed_accounts: HashMap, -) -> GenesisConfig { +) -> RuntimeGenesisConfig { crate::chain_spec::make_genesis( sudo, authorities, diff --git a/node/src/chain_spec/testnets/kate.rs b/node/src/chain_spec/testnets/kate.rs index 614f5d9f0..4ad7a5a3d 100644 --- a/node/src/chain_spec/testnets/kate.rs +++ b/node/src/chain_spec/testnets/kate.rs @@ -1,6 +1,8 @@ use std::{collections::HashMap, iter::once}; -use da_runtime::{constants::elections::InitialMemberBond, AccountId, Balance, GenesisConfig, AVL}; +use da_runtime::{ + constants::elections::InitialMemberBond, AccountId, Balance, RuntimeGenesisConfig, AVL, +}; use hex_literal::hex; use sc_service::ChainType; use sp_core::crypto::UncheckedInto; @@ -112,7 +114,7 @@ pub fn chain_spec() -> ChainSpec { ) } -fn config_genesis() -> GenesisConfig { +fn config_genesis() -> RuntimeGenesisConfig { let authorities = authorities(); let tc_members = technical_committee(); let council = council_members(); diff --git a/node/src/cli.rs b/node/src/cli.rs index 2eee1fe8b..e47765f5c 100644 --- a/node/src/cli.rs +++ b/node/src/cli.rs @@ -43,6 +43,7 @@ pub struct Cli { } /// Possible subcommands of the main binary. +#[allow(clippy::large_enum_variant)] #[derive(Debug, clap::Subcommand)] pub enum Subcommand { /* diff --git a/node/src/command.rs b/node/src/command.rs index df1017ba7..9280c2f3d 100644 --- a/node/src/command.rs +++ b/node/src/command.rs @@ -20,28 +20,44 @@ use std::sync::Arc; use da_runtime::Block; use frame_benchmarking_cli::{BenchmarkCmd, SUBSTRATE_REFERENCE_HARDWARE}; -use sc_cli::{ChainSpec, Result, RuntimeVersion, SubstrateCli}; +use sc_cli::{Result, SubstrateCli}; use sc_service::PartialComponents; +#[cfg(feature = "try-runtime")] +use { + crate::service::ExecutorDispatch, da_runtime::constants::time::SLOT_DURATION, + try_runtime_cli::block_building_info::substrate_info, +}; use crate::{ chain_spec, cli::{Cli, Subcommand}, - service::{self, new_partial, ExecutorDispatch, FullClient}, - // benchmarking::{RemarkBuilder, inherent_benchmark_data, TransferKeepAliveBuilder}, + service::{self, new_partial, FullClient}, }; impl SubstrateCli for Cli { - fn impl_name() -> String { "Avail Node".into() } + fn impl_name() -> String { + "Avail Node".into() + } - fn impl_version() -> String { env!("SUBSTRATE_CLI_IMPL_VERSION").into() } + fn impl_version() -> String { + env!("SUBSTRATE_CLI_IMPL_VERSION").into() + } - fn description() -> String { env!("CARGO_PKG_DESCRIPTION").into() } + fn description() -> String { + env!("CARGO_PKG_DESCRIPTION").into() + } - fn author() -> String { env!("CARGO_PKG_AUTHORS").into() } + fn author() -> String { + env!("CARGO_PKG_AUTHORS").into() + } - fn support_url() -> String { "support.anonymous.an".into() } + fn support_url() -> String { + "support.anonymous.an".into() + } - fn copyright_start_year() -> i32 { 2017 } + fn copyright_start_year() -> i32 { + 2017 + } fn load_spec(&self, id: &str) -> std::result::Result, String> { let spec = match id { @@ -61,10 +77,6 @@ impl SubstrateCli for Cli { }; Ok(spec) } - - fn native_runtime_version(_: &Box) -> &'static RuntimeVersion { - da_runtime::apis::NATIVE_VERSION - } } /// Parse command line arguments into service configuration. @@ -99,8 +111,7 @@ pub fn run() -> Result<()> { .into(), ); } - - cmd.run::(config) + cmd.run::(config) }, BenchmarkCmd::Block(_cmd) => { unimplemented!(); @@ -240,7 +251,7 @@ pub fn run() -> Result<()> { } = new_partial(&config, cli.unsafe_da_sync)?; let aux_revert = Box::new(|client: Arc, backend, blocks| { sc_consensus_babe::revert(client.clone(), backend, blocks)?; - sc_finality_grandpa::revert(client, blocks)?; + sc_consensus_grandpa::revert(client, blocks)?; Ok(()) }); Ok((cmd.run(client, backend, Some(aux_revert)), task_manager)) @@ -257,12 +268,12 @@ pub fn run() -> Result<()> { let task_manager = sc_service::TaskManager::new(config.tokio_handle.clone(), registry) .map_err(|e| sc_cli::Error::Service(sc_service::Error::Prometheus(e)))?; - + let info_provider = substrate_info(SLOT_DURATION); Ok(( cmd.run::::ExtendHostFunctions, - >>(), + >, _>(Some(info_provider)), task_manager, )) }) diff --git a/node/src/da_block_import.rs b/node/src/da_block_import.rs index d9a1f0425..02c361583 100644 --- a/node/src/da_block_import.rs +++ b/node/src/da_block_import.rs @@ -4,7 +4,7 @@ /// to Babe and Grandpa. /// It double-checks the **extension header** which contains the `Kate Commitment` and `Data /// Root`. -use std::{collections::HashMap, sync::Arc}; +use std::sync::Arc; use avail_core::{BlockLengthColumns, BlockLengthRows, OpaqueExtrinsic, BLOCK_CHUNK_SIZE}; use da_runtime::{ @@ -20,8 +20,8 @@ use sc_consensus::{ }; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; -use sp_consensus::{BlockOrigin, CacheKeyId, Error as ConsensusError}; -use sp_runtime::{generic::BlockId, traits::Block as BlockT}; +use sp_consensus::{BlockOrigin, Error as ConsensusError}; +use sp_runtime::traits::Block as BlockT; #[derive(Constructor)] pub struct BlockImport { @@ -58,7 +58,6 @@ where async fn import_block( &mut self, block: BlockImportParams, - new_cache: HashMap>, ) -> Result { // We only want to check for blocks that are not from "Own" let is_own = matches!(block.origin, BlockOrigin::Own); @@ -76,12 +75,11 @@ where let no_extrinsics = vec![]; let extrinsics = block.body.as_ref().unwrap_or(&no_extrinsics); let best_hash = self.client.info().best_hash; - let block_id = BlockId::Hash(best_hash); let data_root = self .client .runtime_api() - .build_data_root(&block_id, extrinsics.clone()) + .build_data_root(best_hash, extrinsics.clone()) .map_err(|e| { ConsensusError::ClientImport(format!("Data root cannot be calculated: {e:?}")) })?; @@ -99,7 +97,7 @@ where .client .runtime_api() .build_extension( - &block_id, + best_hash, extrinsics.clone(), data_root, block_len, @@ -115,10 +113,7 @@ where format!("DA Extension does NOT match\nExpected: {extension:#?}\nGenerated:{generated_ext:#?}")) ); } - self.inner - .import_block(block, new_cache) - .await - .map_err(Into::into) + self.inner.import_block(block).await.map_err(Into::into) } /// # TODO diff --git a/node/src/main.rs b/node/src/main.rs index 7ed4f3491..accfed47f 100644 --- a/node/src/main.rs +++ b/node/src/main.rs @@ -11,4 +11,6 @@ mod command; mod da_block_import; mod rpc; -fn main() -> sc_cli::Result<()> { command::run() } +fn main() -> sc_cli::Result<()> { + command::run() +} diff --git a/node/src/rpc.rs b/node/src/rpc.rs index 62740b338..8d16db0dc 100644 --- a/node/src/rpc.rs +++ b/node/src/rpc.rs @@ -41,9 +41,8 @@ use da_runtime::{ }; use jsonrpsee::RpcModule; use sc_client_api::AuxStore; -use sc_consensus_babe::{BabeConfiguration, Epoch}; -use sc_consensus_epochs::SharedEpochChanges; -use sc_finality_grandpa::{ +use sc_consensus_babe::BabeWorkerHandle; +use sc_consensus_grandpa::{ FinalityProofProvider, GrandpaJustificationStream, SharedAuthoritySet, SharedVoterState, }; use sc_rpc::SubscriptionTaskExecutor; @@ -54,16 +53,14 @@ use sp_block_builder::BlockBuilder; use sp_blockchain::{Error as BlockChainError, HeaderBackend, HeaderMetadata}; use sp_consensus::SelectChain; use sp_consensus_babe::BabeApi; -use sp_keystore::SyncCryptoStorePtr; +use sp_keystore::KeystorePtr; /// Extra dependencies for BABE. pub struct BabeDeps { - /// BABE protocol config. - pub babe_config: BabeConfiguration, - /// BABE pending epoch changes. - pub shared_epoch_changes: SharedEpochChanges, + /// A handle to the BABE worker for issuing requests. + pub babe_worker_handle: BabeWorkerHandle, /// The keystore that manages the keys of the node. - pub keystore: SyncCryptoStorePtr, + pub keystore: KeystorePtr, } /// Extra dependencies for GRANDPA @@ -127,7 +124,7 @@ where use mmr_rpc::{Mmr, MmrApiServer}; use pallet_transaction_payment_rpc::{TransactionPayment, TransactionPaymentApiServer}; use sc_consensus_babe_rpc::{Babe, BabeApiServer}; - use sc_finality_grandpa_rpc::{Grandpa, GrandpaApiServer}; + use sc_consensus_grandpa_rpc::{Grandpa, GrandpaApiServer}; use sc_rpc_spec_v2::chain_spec::{ChainSpec, ChainSpecApiServer}; use sc_sync_state_rpc::{SyncState, SyncStateApiServer}; use substrate_frame_rpc_system::{System, SystemApiServer}; @@ -146,8 +143,7 @@ where let BabeDeps { keystore, - babe_config, - shared_epoch_changes, + babe_worker_handle, } = babe; let GrandpaDeps { shared_voter_state, @@ -170,14 +166,21 @@ where // Making synchronous calls in light client freezes the browser currently, // more context: https://github.com/paritytech/substrate/pull/3480 // These RPCs should use an asynchronous caller instead. - io.merge(Mmr::new(client.clone()).into_rpc())?; + io.merge( + Mmr::new( + client.clone(), + backend + .offchain_storage() + .ok_or("Backend doesn't provide an offchain storage")?, + ) + .into_rpc(), + )?; io.merge(TransactionPayment::new(client.clone()).into_rpc())?; io.merge( Babe::new( client.clone(), - shared_epoch_changes.clone(), + babe_worker_handle.clone(), keystore, - babe_config, select_chain, deny_unsafe, ) @@ -199,7 +202,7 @@ where chain_spec, client.clone(), shared_authority_set, - shared_epoch_changes, + babe_worker_handle, )? .into_rpc(), )?; diff --git a/node/src/service.rs b/node/src/service.rs index 21709214f..1e6b0872e 100644 --- a/node/src/service.rs +++ b/node/src/service.rs @@ -30,17 +30,15 @@ use pallet_transaction_payment::ChargeTransactionPayment; use sc_client_api::BlockBackend; use sc_consensus_babe::{self, SlotProportion}; pub use sc_executor::NativeElseWasmExecutor; -use sc_network::{Event, NetworkService}; -use sc_network_common::service::NetworkEventStream; +use sc_network::{Event, NetworkEventStream, NetworkService}; +use sc_network_common::sync::warp::WarpSyncParams; +use sc_network_sync::SyncingService; use sc_service::{error::Error as ServiceError, Configuration, RpcHandlers, TaskManager}; use sc_telemetry::{Telemetry, TelemetryWorker}; +use sc_transaction_pool_api::OffchainTransactionPoolFactory; use sp_api::ProvideRuntimeApi; use sp_core::crypto::Pair; -use sp_runtime::{ - generic::{self, Era}, - traits::Block as BlockT, - SaturatedConversion, -}; +use sp_runtime::{generic::Era, traits::Block as BlockT, SaturatedConversion}; use substrate_prometheus_endpoint::{PrometheusError, Registry}; use crate::rpc as node_rpc; @@ -61,7 +59,9 @@ impl sc_executor::NativeExecutionDispatch for ExecutorDispatch { da_runtime::apis::api::dispatch(method, data) } - fn native_version() -> sc_executor::NativeVersion { da_runtime::native_version() } + fn native_version() -> sc_executor::NativeVersion { + da_runtime::native_version() + } } /// The full client type definition. @@ -70,7 +70,7 @@ pub type FullClient = pub type FullBackend = sc_service::TFullBackend; type FullSelectChain = sc_consensus::LongestChain; type FullGrandpaBlockImport = - sc_finality_grandpa::GrandpaBlockImport; + sc_consensus_grandpa::GrandpaBlockImport; /// The transaction pool type defintion. pub type TransactionPool = sc_transaction_pool::FullPool; @@ -87,7 +87,7 @@ pub fn fetch_nonce(client: &FullClient, account: sp_core::sr25519::Pair) -> u32 let best_hash = client.chain_info().best_hash; client .runtime_api() - .account_nonce(&generic::BlockId::Hash(best_hash), account.public().into()) + .account_nonce(best_hash, account.public().into()) .expect("Fetching account nonce works; qed") } @@ -157,6 +157,7 @@ pub fn create_extrinsic( } /// Creates a new partial node. +#[allow(clippy::redundant_clone)] #[allow(clippy::type_complexity)] pub fn new_partial( config: &Configuration, @@ -175,10 +176,10 @@ pub fn new_partial( ) -> Result, sc_service::Error>, ( BlockImport, - sc_finality_grandpa::LinkHalf, + sc_consensus_grandpa::LinkHalf, sc_consensus_babe::BabeLink, ), - sc_finality_grandpa::SharedVoterState, + sc_consensus_grandpa::SharedVoterState, Option, ), >, @@ -195,12 +196,7 @@ pub fn new_partial( }) .transpose()?; - let executor = NativeElseWasmExecutor::::new( - config.wasm_method, - config.default_heap_pages, - config.max_runtime_instances, - config.runtime_cache_size, - ); + let executor = sc_service::new_native_or_wasm_executor(config); let (client, backend, keystore_container, task_manager) = sc_service::new_full_parts::( @@ -227,7 +223,7 @@ pub fn new_partial( client.clone(), ); - let (grandpa_block_import, grandpa_link) = sc_finality_grandpa::block_import( + let (grandpa_block_import, grandpa_link) = sc_consensus_grandpa::block_import( client.clone(), &(client.clone() as Arc<_>), select_chain.clone(), @@ -244,53 +240,49 @@ pub fn new_partial( let da_block_import = BlockImport::new(client.clone(), block_import, unsafe_da_sync); let slot_duration = babe_link.config().slot_duration(); - let import_queue = sc_consensus_babe::import_queue( - babe_link.clone(), - da_block_import.clone(), - Some(Box::new(justification_import)), - client.clone(), - select_chain.clone(), - move |_, ()| async move { - let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); + let (import_queue, babe_worker_handle) = + sc_consensus_babe::import_queue(sc_consensus_babe::ImportQueueParams { + link: babe_link.clone(), + block_import: da_block_import.clone(), + justification_import: Some(Box::new(justification_import)), + client: client.clone(), + select_chain: select_chain.clone(), + create_inherent_data_providers: move |_, ()| async move { + let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); - let slot = + let slot = sp_consensus_babe::inherents::InherentDataProvider::from_timestamp_and_slot_duration( *timestamp, slot_duration, ); - let uncles = - sp_authorship::InherentDataProvider::<::Header>::check_inherents(); - - Ok((slot, timestamp, uncles)) - }, - &task_manager.spawn_essential_handle(), - config.prometheus_registry(), - telemetry.as_ref().map(|x| x.handle()), - )?; + Ok((slot, timestamp)) + }, + spawner: &task_manager.spawn_essential_handle(), + registry: config.prometheus_registry(), + telemetry: telemetry.as_ref().map(|x| x.handle()), + offchain_tx_pool_factory: OffchainTransactionPoolFactory::new(transaction_pool.clone()), + })?; let import_setup = (da_block_import, grandpa_link, babe_link); let (rpc_extensions_builder, rpc_setup) = { - let (_, grandpa_link, babe_link) = &import_setup; + let (_, grandpa_link, _) = &import_setup; let justification_stream = grandpa_link.justification_stream(); let shared_authority_set = grandpa_link.shared_authority_set().clone(); - let shared_voter_state = sc_finality_grandpa::SharedVoterState::empty(); + let shared_voter_state = sc_consensus_grandpa::SharedVoterState::empty(); let shared_voter_state2 = shared_voter_state.clone(); - let finality_proof_provider = sc_finality_grandpa::FinalityProofProvider::new_for_service( + let finality_proof_provider = sc_consensus_grandpa::FinalityProofProvider::new_for_service( backend.clone(), Some(shared_authority_set.clone()), ); - let babe_config = babe_link.config().clone(); - let shared_epoch_changes = babe_link.epoch_changes().clone(); - let client = client.clone(); let pool = transaction_pool.clone(); let select_chain = select_chain.clone(); - let keystore = keystore_container.sync_keystore(); + let keystore = keystore_container.keystore(); let chain_spec = config.chain_spec.cloned_box(); let rpc_backend = backend.clone(); @@ -302,9 +294,8 @@ pub fn new_partial( chain_spec: chain_spec.cloned_box(), deny_unsafe, babe: node_rpc::BabeDeps { - babe_config: babe_config.clone(), - shared_epoch_changes: shared_epoch_changes.clone(), keystore: keystore.clone(), + babe_worker_handle: babe_worker_handle.clone(), }, grandpa: node_rpc::GrandpaDeps { shared_voter_state: shared_voter_state.clone(), @@ -341,6 +332,8 @@ pub struct NewFullBase { pub client: Arc, /// The networking service of the node. pub network: Arc::Hash>>, + /// The syncing service of the node. + pub sync: Arc>, /// The transaction pool of the node. pub transaction_pool: Arc, /// The rpc handlers of the node. @@ -349,7 +342,7 @@ pub struct NewFullBase { /// Creates a full service from the configuration. pub fn new_full_base( - mut config: Configuration, + config: Configuration, disable_hardware_benchmarks: bool, with_startup_data: impl FnOnce(&BlockImport, &sc_consensus_babe::BabeLink), unsafe_da_sync: bool, @@ -376,7 +369,8 @@ pub fn new_full_base( let shared_voter_state = rpc_setup; let auth_disc_publish_non_global_ips = config.network.allow_non_globals_in_dht; - let grandpa_protocol_name = sc_finality_grandpa::protocol_standard_name( + let mut net_config = sc_network::config::FullNetworkConfiguration::new(&config.network); + let grandpa_protocol_name = sc_consensus_grandpa::protocol_standard_name( &client .block_hash(0) .ok() @@ -384,39 +378,27 @@ pub fn new_full_base( .expect("Genesis block exists; qed"), &config.chain_spec, ); - - config - .network - .extra_sets - .push(sc_finality_grandpa::grandpa_peers_set_config( - grandpa_protocol_name.clone(), - )); - let warp_sync = Arc::new(sc_finality_grandpa::warp_proof::NetworkProvider::new( + net_config.add_notification_protocol(sc_consensus_grandpa::grandpa_peers_set_config( + grandpa_protocol_name.clone(), + )); + let warp_sync = Arc::new(sc_consensus_grandpa::warp_proof::NetworkProvider::new( backend.clone(), import_setup.1.shared_authority_set().clone(), Vec::default(), )); - let (network, system_rpc_tx, tx_handler_controller, network_starter) = + let (network, system_rpc_tx, tx_handler_controller, network_starter, sync_service) = sc_service::build_network(sc_service::BuildNetworkParams { config: &config, + net_config, client: client.clone(), transaction_pool: transaction_pool.clone(), spawn_handle: task_manager.spawn_handle(), import_queue, block_announce_validator_builder: None, - warp_sync: Some(warp_sync), + warp_sync_params: Some(WarpSyncParams::WithProvider(warp_sync)), })?; - if config.offchain_worker.enabled { - sc_service::build_offchain_workers( - &config, - task_manager.spawn_handle(), - client.clone(), - network.clone(), - ); - } - let role = config.role.clone(); let force_authoring = config.force_authoring; let backoff_authoring_blocks = @@ -424,6 +406,7 @@ pub fn new_full_base( let name = config.network.node_name.clone(); let enable_grandpa = !config.disable_grandpa; let prometheus_registry = config.prometheus_registry().cloned(); + let _enable_offchain_worker = config.offchain_worker.enabled; if let Some(reg) = prometheus_registry.as_ref() { extend_metrics(reg)?; } @@ -432,13 +415,14 @@ pub fn new_full_base( config, backend, client: client.clone(), - keystore: keystore_container.sync_keystore(), + keystore: keystore_container.keystore(), network: network.clone(), rpc_builder: Box::new(rpc_builder), transaction_pool: transaction_pool.clone(), task_manager: &mut task_manager, system_rpc_tx, tx_handler_controller, + sync_service: sync_service.clone(), telemetry: telemetry.as_mut(), })?; @@ -471,21 +455,16 @@ pub fn new_full_base( let client_clone = client.clone(); let slot_duration = babe_link.config().slot_duration(); let babe_config = sc_consensus_babe::BabeParams { - keystore: keystore_container.sync_keystore(), + keystore: keystore_container.keystore(), client: client.clone(), select_chain, env: proposer, block_import, - sync_oracle: network.clone(), - justification_sync_link: network.clone(), + sync_oracle: sync_service.clone(), + justification_sync_link: sync_service.clone(), create_inherent_data_providers: move |parent, ()| { let client_clone = client_clone.clone(); async move { - let uncles = sc_consensus_uncles::create_uncles_inherent_data_provider( - &*client_clone, - parent, - )?; - let timestamp = sp_timestamp::InherentDataProvider::from_system_time(); let slot = @@ -500,7 +479,7 @@ pub fn new_full_base( &parent, )?; - Ok((slot, timestamp, uncles, storage_proof)) + Ok((slot, timestamp, storage_proof)) } }, force_authoring, @@ -555,12 +534,12 @@ pub fn new_full_base( // if the node isn't actively participating in consensus then it doesn't // need a keystore, regardless of which protocol we use below. let keystore = if role.is_authority() { - Some(keystore_container.sync_keystore()) + Some(keystore_container.keystore()) } else { None }; - let config = sc_finality_grandpa::Config { + let grandpa_config = sc_consensus_grandpa::Config { // FIXME #1578 make this available through chainspec gossip_duration: std::time::Duration::from_millis(333), justification_period: 512, @@ -579,14 +558,16 @@ pub fn new_full_base( // and vote data availability than the observer. The observer has not // been tested extensively yet and having most nodes in a network run it // could lead to finality stalls. - let grandpa_config = sc_finality_grandpa::GrandpaParams { - config, + let grandpa_config = sc_consensus_grandpa::GrandpaParams { + config: grandpa_config, link: grandpa_link, network: network.clone(), + sync: Arc::new(sync_service.clone()), telemetry: telemetry.as_ref().map(|x| x.handle()), - voting_rule: sc_finality_grandpa::VotingRulesBuilder::default().build(), + voting_rule: sc_consensus_grandpa::VotingRulesBuilder::default().build(), prometheus_registry, shared_voter_state, + offchain_tx_pool_factory: OffchainTransactionPoolFactory::new(transaction_pool.clone()), }; // the GRANDPA voter task is considered infallible, i.e. @@ -594,7 +575,7 @@ pub fn new_full_base( task_manager.spawn_essential_handle().spawn_blocking( "grandpa-voter", None, - sc_finality_grandpa::run_grandpa_voter(grandpa_config)?, + sc_consensus_grandpa::run_grandpa_voter(grandpa_config)?, ); } @@ -603,6 +584,7 @@ pub fn new_full_base( task_manager, client, network, + sync: sync_service, transaction_pool, rpc_handlers, }) @@ -649,7 +631,7 @@ mod tests { use sp_core::{crypto::Pair as CryptoPair, Public}; use sp_inherents::InherentDataProvider; use sp_keyring::AccountKeyring; - use sp_keystore::{SyncCryptoStore, SyncCryptoStorePtr}; + use sp_keystore::{Keystore, KeystorePtr}; use sp_runtime::{ generic::{BlockId, Digest, Era, SignedPayload}, key_types::BABE, @@ -670,10 +652,10 @@ mod tests { sp_tracing::try_init_simple(); let keystore_path = tempfile::tempdir().expect("Creates keystore path"); - let keystore: SyncCryptoStorePtr = + let keystore: KeystorePtr = Arc::new(LocalKeystore::open(keystore_path.path(), None).expect("Creates keystore")); let alice: sp_consensus_babe::AuthorityId = - SyncCryptoStore::sr25519_generate_new(&*keystore, BABE, Some("//Alice")) + Keystore::sr25519_generate_new(&*keystore, BABE, Some("//Alice")) .expect("Creates authority pair") .into(); @@ -803,7 +785,7 @@ mod tests { // sign the pre-sealed hash of the block and then // add it to a digest item. let to_sign = pre_hash.encode(); - let signature = SyncCryptoStore::sign_with( + let signature = Keystore::sign_with( &*keystore, sp_consensus_babe::AuthorityId::ID, &alice.to_public_crypto_pair(), diff --git a/pallets/bridges/nomad/da-bridge/Cargo.toml b/pallets/bridges/nomad/da-bridge/Cargo.toml index 331528095..d0d6472a3 100644 --- a/pallets/bridges/nomad/da-bridge/Cargo.toml +++ b/pallets/bridges/nomad/da-bridge/Cargo.toml @@ -19,10 +19,10 @@ nomad-home = { path = "../home", default-features = false } # Substrate codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { version = "7", default-features = false } -sp-std = { version = "5", default-features = false } -sp-runtime = { version = "7", default-features = false } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } +sp-core = { version = "21.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } frame-support = { version = "4.0.0-dev", default-features = false } frame-system = { version = "4.0.0-dev", default-features = false } frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true } @@ -35,7 +35,7 @@ nomad-base = "0.1" nomad-merkle = "0.1" nomad-updater-manager = { path = "../updater-manager" } -sp-io = { version = "7" } +sp-io = { version = "23.0.0" } [features] default = ["std"] @@ -52,6 +52,7 @@ std = [ "nomad-home/std", "nomad-core/std", "avail-core/std", + "nomad-updater-manager/std" ] runtime-benchmarks = [ @@ -59,7 +60,13 @@ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "frame-support/runtime-benchmarks", "hex-literal", + "frame-system/runtime-benchmarks", + "nomad-home/runtime-benchmarks", + "nomad-updater-manager/runtime-benchmarks" ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", + "nomad-home/try-runtime", + "nomad-updater-manager/try-runtime" ] diff --git a/pallets/bridges/nomad/da-bridge/src/benchmarking.rs b/pallets/bridges/nomad/da-bridge/src/benchmarking.rs index e435b6103..75d9a614e 100644 --- a/pallets/bridges/nomad/da-bridge/src/benchmarking.rs +++ b/pallets/bridges/nomad/da-bridge/src/benchmarking.rs @@ -1,6 +1,6 @@ -use avail_core::{header::HeaderExtension, traits::ExtendedHeader}; +use avail_core::traits::{ExtendedBlock, ExtendedHeader}; use frame_benchmarking::{benchmarks, whitelisted_caller}; -use frame_system::{BlockHash, RawOrigin}; +use frame_system::{pallet_prelude::BlockNumberFor, BlockHash, RawOrigin}; use hex_literal::hex; use nomad_home::Nonces; use sp_core::H256; @@ -15,12 +15,6 @@ benchmarks! { [u8; 32]: From<::AccountId>, H256: From<::Hash>, H256: Into<::Hash>, - u32: From<::BlockNumber>, - T::Header: ExtendedHeader< - ::BlockNumber, - ::Hash, - sp_runtime::generic::Digest, - HeaderExtension>, ::Hash: From, } @@ -29,20 +23,20 @@ benchmarks! { let extrinsics_root :H256 = hex!("03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314").into(); // Create block header for block 10 - let block_number :T::BlockNumber = 10u32.into(); + let block_number: BlockNumberFor = 10u32.into(); let state_root = H256::repeat_byte(2u8).into(); let parent_hash = H256::repeat_byte(1u8).into(); let extension = Default::default(); let digest = Default::default(); - let header = Box::new(>::new( - block_number.clone(), + let header = Box::new(<<::Block as ExtendedBlock<_>>::DaHeader as ExtendedHeader<_,_,_,_>>::new( + block_number, extrinsics_root.into(), state_root, parent_hash, digest, extension)); - let header_hash :T::Hash = header.hash(); + let header_hash: T::Hash = header.hash(); // Insert 10th block's hash into block number --> hash mapping so // submitting 10th block's header is accepted by pallet diff --git a/pallets/bridges/nomad/da-bridge/src/lib.rs b/pallets/bridges/nomad/da-bridge/src/lib.rs index 7369e7fab..5cb1b376e 100644 --- a/pallets/bridges/nomad/da-bridge/src/lib.rs +++ b/pallets/bridges/nomad/da-bridge/src/lib.rs @@ -25,7 +25,7 @@ pub mod pallet { use nomad_core::TypedMessage; use nomad_home::Pallet as Home; use sp_core::{bounded::BoundedVec, Get, H256}; - use sp_runtime::traits::Header as _; + use sp_runtime::{traits::Header as _, SaturatedConversion}; use sp_std::boxed::Box; use super::weights::WeightInfo; @@ -43,26 +43,15 @@ pub mod pallet { } #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] pub struct Pallet(_); - // Genesis config - #[pallet::genesis_config] - #[cfg_attr(feature = "std", derive(Default))] - pub struct GenesisConfig {} - - #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { - fn build(&self) {} - } - #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { DataRootDispatched { destination_domain: u32, recipient_address: H256, - block_number: T::BlockNumber, + block_number: BlockNumberFor, data_root: H256, }, } @@ -79,7 +68,6 @@ pub mod pallet { where [u8; 32]: From, H256: From, - u32: From, { /// Dispatch a data root message to the home if the header is valid. #[pallet::call_index(0)] @@ -88,7 +76,7 @@ pub mod pallet { origin: OriginFor, #[pallet::compact] destination_domain: u32, recipient_address: H256, - header: Box, + header: Box>, ) -> DispatchResultWithPostInfo { ensure_signed(origin)?; Self::ensure_valid_header(&header)?; @@ -100,19 +88,19 @@ pub mod pallet { where [u8; 32]: From, H256: From, - u32: From, { /// Dispatch a data root message for a valid header. fn do_dispatch_data_root( destination_domain: u32, recipient_address: H256, - header: &T::Header, + header: &DaHeaderFor, ) -> DispatchResultWithPostInfo { - let block_number = *header.number(); + // Safety: Even if a BlockNumber type is larger than u32, it won't pose any issues for the next 2000+ years + let block_number: u32 = (*header.number()).saturated_into(); let data_root = header.extension().data_root(); let message: DABridgeMessages = DataRootMessage { - block_number: block_number.into(), + block_number, data_root, } .into(); @@ -132,7 +120,7 @@ pub mod pallet { Self::deposit_event(Event::::DataRootDispatched { destination_domain, recipient_address, - block_number, + block_number: block_number.into(), data_root, }); @@ -141,10 +129,11 @@ pub mod pallet { /// Ensure a given header's hash has been recorded in the block hash /// mapping. - fn ensure_valid_header(header: &T::Header) -> DispatchResultWithPostInfo { + fn ensure_valid_header(header: &DaHeaderFor) -> DispatchResultWithPostInfo { // Ensure header's block number is in the mapping - let number = header.number(); - let stored_hash = frame_system::Pallet::::block_hash(number); + let number: u32 = (*header.number()).saturated_into(); + let stored_hash = + frame_system::Pallet::::block_hash::>(number.into()); // Ensure header's hash matches that in the block number to hash // mapping diff --git a/pallets/bridges/nomad/da-bridge/src/message.rs b/pallets/bridges/nomad/da-bridge/src/message.rs index 281beeec9..c4b5468cd 100644 --- a/pallets/bridges/nomad/da-bridge/src/message.rs +++ b/pallets/bridges/nomad/da-bridge/src/message.rs @@ -65,7 +65,9 @@ pub enum DABridgeMessages { } impl From for DABridgeMessages { - fn from(data_root_msg: DataRootMessage) -> Self { Self::DataRootMessage(data_root_msg) } + fn from(data_root_msg: DataRootMessage) -> Self { + Self::DataRootMessage(data_root_msg) + } } impl TypedMessage for DABridgeMessages { diff --git a/pallets/bridges/nomad/da-bridge/src/mock.rs b/pallets/bridges/nomad/da-bridge/src/mock.rs index 7eef3862a..509ba77b8 100644 --- a/pallets/bridges/nomad/da-bridge/src/mock.rs +++ b/pallets/bridges/nomad/da-bridge/src/mock.rs @@ -1,39 +1,34 @@ -use avail_core::header::Header; -use frame_support::{traits::GenesisBuild, weights::Weight}; +use frame_support::{parameter_types, traits::ConstU32, weights::Weight}; use frame_system::{self as system, header_builder::da, test_utils::TestRandomness}; use nomad_base::NomadBase; use sp_core::{H160, H256}; use sp_runtime::{ - traits::{BlakeTwo256, ConstU32, IdentityLookup}, - AccountId32, + traits::{BlakeTwo256, IdentityLookup}, + AccountId32, BuildStorage, }; use crate::{self as da_bridge}; // type TestXt = sp_runtime::testing::TestXt; type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -pub type Block = frame_system::mocking::MockBlock; -pub type BlockNumber = u32; +type Block = frame_system::mocking::MockDaBlock; // TODO: add proper config once frame executive mocking has been demonstrated // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, + pub struct Test { - System: frame_system::{Pallet, Call, Config, Storage, Event}, + System: frame_system::{Pallet, Call, Config, Storage, Event}, UpdaterManager: nomad_updater_manager::{Pallet, Call, Storage, Event}, Home: nomad_home::{Pallet, Call, Storage, Event}, DABridge: da_bridge::{Pallet, Call, Storage, Event}, } ); -frame_support::parameter_types! { +parameter_types! { pub const BlockHashCount: u32 = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1_024)); + frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1_024, 0)); pub static ExistentialDeposit: u64 = 0; } @@ -41,18 +36,17 @@ impl system::Config for Test { type AccountData = (); type AccountId = AccountId32; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = BlockHashCount; type BlockLength = (); - type BlockNumber = BlockNumber; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = Header; type HeaderExtensionBuilder = da::HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -72,7 +66,7 @@ impl nomad_updater_manager::Config for Test { type RuntimeEvent = RuntimeEvent; } -frame_support::parameter_types! { +parameter_types! { pub const MaxMessageBodyBytes: u32 = 2048; } @@ -82,7 +76,7 @@ impl nomad_home::Config for Test { type WeightInfo = (); } -frame_support::parameter_types! { +parameter_types! { pub const DABridgePalletId: H256 = H256::zero(); } @@ -92,22 +86,13 @@ impl da_bridge::Config for Test { type WeightInfo = (); } +#[derive(Default)] pub(crate) struct ExtBuilder { updater: H160, local_domain: u32, committed_root: H256, } -impl Default for ExtBuilder { - fn default() -> ExtBuilder { - ExtBuilder { - updater: Default::default(), - local_domain: Default::default(), - committed_root: Default::default(), - } - } -} - impl ExtBuilder { pub(crate) fn with_base(mut self, base: NomadBase) -> Self { self.updater = base.updater; @@ -117,9 +102,10 @@ impl ExtBuilder { } pub(crate) fn build(self) -> sp_io::TestExternalities { - let mut t = frame_system::GenesisConfig::default() - .build_storage::() - .expect("Frame system builds valid default genesis config"); + let mut t = RuntimeGenesisConfig::default() + .system + .build_storage() + .expect("Genesis build should work"); nomad_home::GenesisConfig:: { updater: self.updater, @@ -159,8 +145,8 @@ pub(crate) fn _events() -> Vec> { pub(crate) fn fill_block_hash_mapping_up_to_n(n: u8) { for i in 0..=n { frame_system::BlockHash::::insert::::Hash>( - (n as u32).into(), - H256::repeat_byte(i).into(), + n as u32, + H256::repeat_byte(i), ); } } diff --git a/pallets/bridges/nomad/da-bridge/src/tests.rs b/pallets/bridges/nomad/da-bridge/src/tests.rs index 5fcb54c3b..43ae7feb7 100644 --- a/pallets/bridges/nomad/da-bridge/src/tests.rs +++ b/pallets/bridges/nomad/da-bridge/src/tests.rs @@ -1,6 +1,6 @@ use avail_core::header::{Header, HeaderExtension}; use frame_support::assert_ok; -use frame_system::Config; +use frame_system::pallet_prelude::BlockNumberFor; use hex_literal::hex; use nomad_base::testing::*; use nomad_merkle::Merkle; @@ -25,9 +25,9 @@ fn it_accepts_valid_extrinsic_root() { let extension = HeaderExtension::default(); // Create block header for block 10 - let header = Header::<::BlockNumber, BlakeTwo256> { + let header = Header::, BlakeTwo256> { parent_hash: [1u8; 32].into(), - number: 10 as u32, + number: 10_u32, state_root: [2u8; 32].into(), extrinsics_root: hex!( "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314" @@ -40,7 +40,7 @@ fn it_accepts_valid_extrinsic_root() { // Insert 10th block's hash into block number --> hash mapping so // submitting 10th block's header is accepted by pallet frame_system::BlockHash::::insert::::Hash>( - 10u32.into(), + 10u32, header.hash(), ); diff --git a/pallets/bridges/nomad/da-bridge/src/weights.rs b/pallets/bridges/nomad/da-bridge/src/weights.rs index b7af8bce1..f1fc0aba3 100644 --- a/pallets/bridges/nomad/da-bridge/src/weights.rs +++ b/pallets/bridges/nomad/da-bridge/src/weights.rs @@ -61,7 +61,7 @@ impl WeightInfo for SubstrateWeight { // Storage: NomadHome RootToIndex (r:0 w:1) fn try_dispatch_data_root() -> Weight { // Minimum execution time: 86_831 nanoseconds. - Weight::from_ref_time(87_904_000_u64) + Weight::from_parts(87_904_000, 0) .saturating_add(T::DbWeight::get().reads(4_u64)) .saturating_add(T::DbWeight::get().writes(4_u64)) } @@ -77,7 +77,7 @@ impl WeightInfo for () { // Storage: NomadHome RootToIndex (r:0 w:1) fn try_dispatch_data_root() -> Weight { // Minimum execution time: 86_831 nanoseconds. - Weight::from_ref_time(87_904_000_u64) + Weight::from_parts(87_904_000, 0) .saturating_add(RocksDbWeight::get().reads(4_u64)) .saturating_add(RocksDbWeight::get().writes(4_u64)) } diff --git a/pallets/bridges/nomad/home/Cargo.toml b/pallets/bridges/nomad/home/Cargo.toml index f1dd3e970..32d87c132 100644 --- a/pallets/bridges/nomad/home/Cargo.toml +++ b/pallets/bridges/nomad/home/Cargo.toml @@ -22,10 +22,10 @@ nomad-updater-manager = { path = "../updater-manager", default-features = false # Substrate codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { version = "7", default-features = false } - -sp-std = { version = "5", default-features = false } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } +sp-core = { version = "21.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } frame-support = { version = "4.0.0-dev", default-features = false } frame-system = { version = "4.0.0-dev", default-features = false } frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true } @@ -35,11 +35,8 @@ hex-literal = { version = "0.3.4", optional = true } [dev-dependencies] avail-core = { version = "0.5", features = ["runtime"] } - -sp-runtime = { version = "7" } frame-benchmarking = { version = "4.0.0-dev" } -sp-io = { version = "7" } - +sp-io = { version = "23.0.0" } test-case = "1.2.3" [features] @@ -48,6 +45,7 @@ std = [ "codec/std", "scale-info/std", "sp-core/std", + "sp-runtime/std", "sp-std/std", "frame-support/std", "frame-system/std", @@ -64,7 +62,11 @@ runtime-benchmarks = [ "frame-support/runtime-benchmarks", "frame-benchmarking", "hex-literal", + "frame-system/runtime-benchmarks", + "nomad-updater-manager/runtime-benchmarks" ] try-runtime = [ "frame-support/try-runtime", + "frame-system/try-runtime", + "nomad-updater-manager/try-runtime" ] diff --git a/pallets/bridges/nomad/home/src/benchmarking.rs b/pallets/bridges/nomad/home/src/benchmarking.rs index 5c06ba78a..f543bd75b 100644 --- a/pallets/bridges/nomad/home/src/benchmarking.rs +++ b/pallets/bridges/nomad/home/src/benchmarking.rs @@ -104,7 +104,7 @@ mod tests { let previous_root = H256::repeat_byte(0); let new_root = H256::repeat_byte(1); - let signed_update = updater.sign_update(previous_root.clone(), new_root.clone()); + let signed_update = updater.sign_update(previous_root, new_root); assert_eq!(signed_update, expected_signed_update()); } diff --git a/pallets/bridges/nomad/home/src/lib.rs b/pallets/bridges/nomad/home/src/lib.rs index e007b9b7c..db1308df1 100644 --- a/pallets/bridges/nomad/home/src/lib.rs +++ b/pallets/bridges/nomad/home/src/lib.rs @@ -21,7 +21,7 @@ pub mod pallet { use frame_support::{ pallet_prelude::{ValueQuery, *}, sp_runtime::ArithmeticError::Overflow, - transactional, + transactional, DefaultNoBound, }; use frame_system::pallet_prelude::{OriginFor, *}; use nomad_base::NomadBase; @@ -45,7 +45,6 @@ pub mod pallet { } #[pallet::pallet] - #[pallet::generate_store(pub (super) trait Store)] pub struct Pallet(_); // Nomad base @@ -75,6 +74,7 @@ pub mod pallet { // Genesis config #[pallet::genesis_config] + #[derive(DefaultNoBound)] pub struct GenesisConfig { pub local_domain: u32, pub committed_root: H256, @@ -82,20 +82,8 @@ pub mod pallet { pub _phantom: PhantomData, } - #[cfg(feature = "std")] - impl Default for GenesisConfig { - fn default() -> Self { - Self { - local_domain: Default::default(), - committed_root: Default::default(), - updater: Default::default(), - _phantom: Default::default(), - } - } - } - #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { + impl BuildGenesisConfig for GenesisConfig { fn build(&self) { >::put(NomadBase::new( self.local_domain, diff --git a/pallets/bridges/nomad/home/src/mock.rs b/pallets/bridges/nomad/home/src/mock.rs index c5329cc0b..74d0f5aac 100644 --- a/pallets/bridges/nomad/home/src/mock.rs +++ b/pallets/bridges/nomad/home/src/mock.rs @@ -1,29 +1,20 @@ -use avail_core::header::Header; -use frame_support::{ - parameter_types, - traits::{ConstU32, GenesisBuild}, - weights::Weight, -}; +use frame_support::{parameter_types, traits::ConstU32, weights::Weight}; use frame_system::{self as system, header_builder::da, test_utils::TestRandomness}; use nomad_base::NomadBase; use sp_core::{H160, H256}; use sp_runtime::{ traits::{BlakeTwo256, IdentityLookup}, - AccountId32, + AccountId32, BuildStorage, }; use crate as home; type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockDaBlock; // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { + pub struct Test { System: frame_system, Home: home, UpdaterManager: nomad_updater_manager, @@ -33,7 +24,7 @@ frame_support::construct_runtime!( parameter_types! { pub const BlockHashCount: u32 = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1_024)); + frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1_024, 0)); pub static ExistentialDeposit: u64 = 0; } @@ -41,18 +32,17 @@ impl system::Config for Test { type AccountData = (); type AccountId = AccountId32; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = BlockHashCount; type BlockLength = (); - type BlockNumber = u32; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = Header; type HeaderExtensionBuilder = da::HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -82,22 +72,13 @@ impl nomad_updater_manager::Config for Test { type RuntimeEvent = RuntimeEvent; } +#[derive(Default)] pub(crate) struct ExtBuilder { updater: H160, local_domain: u32, committed_root: H256, } -impl Default for ExtBuilder { - fn default() -> ExtBuilder { - ExtBuilder { - updater: Default::default(), - local_domain: Default::default(), - committed_root: Default::default(), - } - } -} - impl ExtBuilder { pub(crate) fn with_base(mut self, base: NomadBase) -> Self { self.updater = base.updater; @@ -107,9 +88,10 @@ impl ExtBuilder { } pub(crate) fn build(self) -> sp_io::TestExternalities { - let mut t = frame_system::GenesisConfig::default() - .build_storage::() - .expect("Frame system builds valid default genesis config"); + let mut t = RuntimeGenesisConfig::default() + .system + .build_storage() + .expect("Genesis build should work"); home::GenesisConfig:: { updater: self.updater, diff --git a/pallets/bridges/nomad/home/src/tests.rs b/pallets/bridges/nomad/home/src/tests.rs index 9239e7509..f5e77ac07 100644 --- a/pallets/bridges/nomad/home/src/tests.rs +++ b/pallets/bridges/nomad/home/src/tests.rs @@ -148,7 +148,7 @@ fn it_update_max_index_witness(dispatch_messages: usize, max_index: u32) -> Disp .take(dispatch_messages) .map(|_| dispatch_random_message(sender.clone())) .last() - .unwrap_or(committed_root.clone()); + .unwrap_or(committed_root); let signed_update = TEST_UPDATER.sign_update(committed_root, last_root); Home::update(sender, signed_update, max_index) @@ -169,7 +169,7 @@ fn it_dispatches_messages_and_accepts_updates() { let roots = (0..2) .map(|_| dispatch_random_message(origin.clone())) .collect::>(); - let last_root = roots.last().unwrap().clone(); + let last_root = *roots.last().unwrap(); // Get updater signature let signed_update = TEST_UPDATER.sign_update(committed_root, last_root); @@ -232,7 +232,7 @@ fn it_rejects_invalid_signature() { origin.clone(), TEST_REMOTE_DOMAIN, TEST_RECIPIENT, - body.clone() + body )); // Get fake updater signature @@ -241,7 +241,7 @@ fn it_rejects_invalid_signature() { // Assert err returned from submitting signed update assert_err!( - Home::update(origin, signed_update.clone(), 10), + Home::update(origin, signed_update, 10), Error::::InvalidUpdaterSignature ); }) diff --git a/pallets/bridges/nomad/home/src/weights.rs b/pallets/bridges/nomad/home/src/weights.rs index 69390a61b..320e6ed3b 100644 --- a/pallets/bridges/nomad/home/src/weights.rs +++ b/pallets/bridges/nomad/home/src/weights.rs @@ -48,7 +48,7 @@ impl WeightInfo for SubstrateWeight { // Storage: NomadHome RootToIndex (r:1 w:0) fn improper_update() -> Weight { // Minimum execution time: 495_656 nanoseconds. - Weight::from_ref_time(513_119_000u64) + Weight::from_parts(513_119_000, 0) .saturating_add(T::DbWeight::get().reads(2u64)) .saturating_add(T::DbWeight::get().writes(1u64)) } @@ -60,9 +60,9 @@ impl WeightInfo for SubstrateWeight { /// The range of component `b` is `[1, 2048]`. fn dispatch(b: u32, ) -> Weight { // Minimum execution time: 114_230 nanoseconds. - Weight::from_ref_time(117_260_068u64) + Weight::from_parts(117_260_068, 0) // Standard Error: 1_140 - .saturating_add(Weight::from_ref_time(9_021u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_parts(9_021, 0).saturating_mul(b as u64)) .saturating_add(T::DbWeight::get().reads(3u64)) .saturating_add(T::DbWeight::get().writes(4u64)) } @@ -71,7 +71,7 @@ impl WeightInfo for SubstrateWeight { // Storage: NomadHome IndexToRoot (r:31 w:32) fn update() -> Weight { // Minimum execution time: 845_072 nanoseconds. - Weight::from_ref_time(881_385_000u64) + Weight::from_parts(881_385_000, 0) .saturating_add(T::DbWeight::get().reads(64u64)) .saturating_add(T::DbWeight::get().writes(65u64)) } @@ -79,7 +79,7 @@ impl WeightInfo for SubstrateWeight { // Storage: UpdaterManager Updater (r:1 w:1) fn set_updater() -> Weight { // Minimum execution time: 45_128 nanoseconds. - Weight::from_ref_time(46_213_000u64) + Weight::from_parts(46_213_000, 0) .saturating_add(T::DbWeight::get().reads(2u64)) .saturating_add(T::DbWeight::get().writes(2u64)) } @@ -91,7 +91,7 @@ impl WeightInfo for () { // Storage: NomadHome RootToIndex (r:1 w:0) fn improper_update() -> Weight { // Minimum execution time: 495_656 nanoseconds. - Weight::from_ref_time(513_119_000u64) + Weight::from_parts(513_119_000, 0) .saturating_add(RocksDbWeight::get().reads(2u64)) .saturating_add(RocksDbWeight::get().writes(1u64)) } @@ -103,9 +103,9 @@ impl WeightInfo for () { /// The range of component `b` is `[1, 2048]`. fn dispatch(b: u32, ) -> Weight { // Minimum execution time: 114_230 nanoseconds. - Weight::from_ref_time(117_260_068u64) + Weight::from_parts(117_260_068, 0) // Standard Error: 1_140 - .saturating_add(Weight::from_ref_time(9_021u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_parts(9_021, 0).saturating_mul(b as u64)) .saturating_add(RocksDbWeight::get().reads(3u64)) .saturating_add(RocksDbWeight::get().writes(4u64)) } @@ -114,7 +114,7 @@ impl WeightInfo for () { // Storage: NomadHome IndexToRoot (r:31 w:32) fn update() -> Weight { // Minimum execution time: 845_072 nanoseconds. - Weight::from_ref_time(881_385_000u64) + Weight::from_parts(881_385_000, 0) .saturating_add(RocksDbWeight::get().reads(64u64)) .saturating_add(RocksDbWeight::get().writes(65u64)) } @@ -122,7 +122,7 @@ impl WeightInfo for () { // Storage: UpdaterManager Updater (r:1 w:1) fn set_updater() -> Weight { // Minimum execution time: 45_128 nanoseconds. - Weight::from_ref_time(46_213_000u64) + Weight::from_parts(46_213_000, 0) .saturating_add(RocksDbWeight::get().reads(2u64)) .saturating_add(RocksDbWeight::get().writes(2u64)) } diff --git a/pallets/bridges/nomad/updater-manager/Cargo.toml b/pallets/bridges/nomad/updater-manager/Cargo.toml index b6b5f2d0f..0ba03579d 100644 --- a/pallets/bridges/nomad/updater-manager/Cargo.toml +++ b/pallets/bridges/nomad/updater-manager/Cargo.toml @@ -14,11 +14,11 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] # Substrate codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } -sp-core = { version = "7", default-features = false } -sp-io = { version = "7", default-features = false, optional = true } -sp-runtime = { version = "7", default-features = false, optional = true } +sp-core = { version = "21.0.0", default-features = false } +sp-io = { version = "23.0.0", default-features = false, optional = true } +sp-runtime = { version = "24.0.0", default-features = false, optional = true } frame-support = { version = "4.0.0-dev", default-features = false } frame-system = { version = "4.0.0-dev", default-features = false } @@ -40,8 +40,10 @@ std = [ runtime-benchmarks = [ "sp-runtime/runtime-benchmarks", "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks" ] try-runtime = [ "frame-support/try-runtime", - "avail-core/try-runtime" + "avail-core/try-runtime", + "frame-system/try-runtime" ] diff --git a/pallets/bridges/nomad/updater-manager/src/lib.rs b/pallets/bridges/nomad/updater-manager/src/lib.rs index 9a3949e20..2098e9542 100644 --- a/pallets/bridges/nomad/updater-manager/src/lib.rs +++ b/pallets/bridges/nomad/updater-manager/src/lib.rs @@ -4,7 +4,6 @@ /// Learn more about FRAME and the core library of Substrate FRAME pallets: /// pub use pallet::*; - #[cfg(test)] mod mock; @@ -16,16 +15,17 @@ mod benchmarking; #[frame_support::pallet] pub mod pallet { - use frame_support::pallet_prelude::{ValueQuery, *}; + use frame_support::{ + pallet_prelude::{ValueQuery, *}, + DefaultNoBound, + }; use sp_core::H160; - #[pallet::config] pub trait Config: frame_system::Config { type RuntimeEvent: From> + IsType<::RuntimeEvent>; } #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] pub struct Pallet(_); // Updater @@ -35,24 +35,17 @@ pub mod pallet { // Genesis config #[pallet::genesis_config] + #[derive(DefaultNoBound)] pub struct GenesisConfig { pub updater: H160, pub _phantom: PhantomData, } - #[cfg(feature = "std")] - impl Default for GenesisConfig { - fn default() -> Self { - Self { - updater: Default::default(), - _phantom: Default::default(), - } - } - } - #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { - fn build(&self) { >::put(self.updater); } + impl BuildGenesisConfig for GenesisConfig { + fn build(&self) { + >::put(self.updater); + } } #[pallet::event] @@ -78,7 +71,9 @@ pub mod pallet { impl Pallet {} impl Pallet { - pub fn get_updater() -> H160 { Updater::::get() } + pub fn get_updater() -> H160 { + Updater::::get() + } pub fn set_updater(new_updater: H160) -> DispatchResult { let old_updater = Updater::::get(); diff --git a/pallets/bridges/nomad/updater-manager/src/mock.rs b/pallets/bridges/nomad/updater-manager/src/mock.rs index 707ac5628..34cc96b4c 100644 --- a/pallets/bridges/nomad/updater-manager/src/mock.rs +++ b/pallets/bridges/nomad/updater-manager/src/mock.rs @@ -1,22 +1,21 @@ -use avail_core::header::Header; use frame_support::{parameter_types, weights::Weight}; use frame_system::{self as system, mocking::MockUncheckedExtrinsic, test_utils::TestRandomness}; use sp_core::{ConstU32, H256}; -use sp_runtime::traits::{BlakeTwo256, IdentityLookup}; +use sp_runtime::{ + traits::{BlakeTwo256, IdentityLookup}, + BuildStorage, +}; use crate as updater_manager; type UncheckedExtrinsic = MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockDaBlock; // Configure a mock runtime to test the pallet. frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, + pub struct Test { - System: frame_system::{Pallet, Call, Config, Storage, Event}, + System: frame_system::{Pallet, Call, Config, Storage, Event}, UpdaterManager: updater_manager::{Pallet, Call, Storage, Event}, } ); @@ -24,7 +23,7 @@ frame_support::construct_runtime!( parameter_types! { pub const BlockHashCount: u32 = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1_024)); + frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1_024, 0)); pub static ExistentialDeposit: u64 = 0; } @@ -32,18 +31,17 @@ impl system::Config for Test { type AccountData = (); type AccountId = u64; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = BlockHashCount; type BlockLength = (); - type BlockNumber = u32; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = Header; type HeaderExtensionBuilder = frame_system::header_builder::da::HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -65,10 +63,10 @@ impl updater_manager::Config for Test { // Build genesis storage according to the mock runtime. pub fn new_test_ext() -> sp_io::TestExternalities { - let t = system::GenesisConfig::default() - .build_storage::() - .unwrap() - .into(); + let t = RuntimeGenesisConfig::default() + .system + .build_storage() + .expect("Genesis build should work"); let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| System::set_block_number(1)); ext diff --git a/pallets/dactr/Cargo.toml b/pallets/dactr/Cargo.toml index c69493346..8024f3e68 100644 --- a/pallets/dactr/Cargo.toml +++ b/pallets/dactr/Cargo.toml @@ -21,12 +21,12 @@ static_assertions = "1.1.0" # Substrate serde = { version = "1.0.126", optional = true, features = ["derive"] } codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } -scale-info = { version = "2", default-features = false, features = ["derive"] } -sp-core = { version = "7", default-features = false } -sp-std = { version = "5", default-features = false } -sp-io = { version = "7", default-features = false } -sp-runtime = { version = "7", default-features = false } -sp-arithmetic = { version = "6", default-features = false } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } +sp-core = { version = "21.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } +sp-io = { version = "23.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } +sp-arithmetic = { version = "16.0.0", default-features = false } frame-support = { version = "4.0.0-dev", default-features = false } frame-system = { version = "4.0.0-dev", default-features = false } frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true } @@ -59,8 +59,10 @@ runtime-benchmarks = [ "frame-benchmarking", "sp-runtime/runtime-benchmarks", "frame-support/runtime-benchmarks", + "frame-system/runtime-benchmarks" ] try-runtime = [ "frame-support/try-runtime", - "avail-core/try-runtime" + "avail-core/try-runtime", + "frame-system/try-runtime" ] diff --git a/pallets/dactr/src/extensions/check_app_id.rs b/pallets/dactr/src/extensions/check_app_id.rs index 3829ca902..2ae7198e3 100644 --- a/pallets/dactr/src/extensions/check_app_id.rs +++ b/pallets/dactr/src/extensions/check_app_id.rs @@ -43,7 +43,9 @@ where ::RuntimeCall: IsSubType> + IsSubType>, { /// utility constructor. Used only in client/factory code. - pub fn from(app_id: AppId) -> Self { Self(app_id, sp_std::marker::PhantomData) } + pub fn from(app_id: AppId) -> Self { + Self(app_id, sp_std::marker::PhantomData) + } /// It validates that `AppId` is correct and already registered for the call and potential nested calls. /// Transaction validation: @@ -100,7 +102,9 @@ where } impl Default for CheckAppId { - fn default() -> Self { Self(AppId::default(), PhantomData) } + fn default() -> Self { + Self(AppId::default(), PhantomData) + } } impl Debug for CheckAppId @@ -108,10 +112,14 @@ where T: DAConfig + UtilityConfig + Send + Sync, { #[cfg(feature = "std")] - fn fmt(&self, f: &mut Formatter) -> fmt::Result { write!(f, "CheckAppId: {}", self.0) } + fn fmt(&self, f: &mut Formatter) -> fmt::Result { + write!(f, "CheckAppId: {}", self.0) + } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut Formatter) -> fmt::Result { Ok(()) } + fn fmt(&self, _: &mut Formatter) -> fmt::Result { + Ok(()) + } } impl SignedExtension for CheckAppId @@ -158,7 +166,9 @@ where T: DAConfig + UtilityConfig + Send + Sync, { #[inline] - fn app_id(&self) -> AppId { self.0 } + fn app_id(&self) -> AppId { + self.0 + } } #[cfg(test)] @@ -175,7 +185,9 @@ mod tests { pallet::Call as DACall, }; - fn remark_call() -> RuntimeCall { RuntimeCall::System(SysCall::remark { remark: vec![] }) } + fn remark_call() -> RuntimeCall { + RuntimeCall::System(SysCall::remark { remark: vec![] }) + } fn submit_data_call() -> RuntimeCall { RuntimeCall::DataAvailability(DACall::submit_data { diff --git a/pallets/dactr/src/lib.rs b/pallets/dactr/src/lib.rs index 4b6d22ac1..cffa061f8 100644 --- a/pallets/dactr/src/lib.rs +++ b/pallets/dactr/src/lib.rs @@ -10,7 +10,7 @@ use frame_system::{limits::BlockLength, pallet::DynamicBlockLength}; #[cfg(feature = "std")] use serde::{Deserialize, Serialize}; use sp_arithmetic::traits::{CheckedAdd, One, SaturatedConversion}; -use sp_std::mem::replace; +use sp_std::{mem::replace, vec, vec::Vec}; pub use crate::{pallet::*, weights::WeightInfo}; @@ -26,7 +26,7 @@ pub mod weights; #[frame_support::pallet] pub mod pallet { - use frame_support::pallet_prelude::*; + use frame_support::{pallet_prelude::*, DefaultNoBound}; use frame_system::pallet_prelude::*; use super::*; @@ -82,7 +82,6 @@ pub mod pallet { } #[pallet::pallet] - #[pallet::generate_store(pub (super) trait Store)] pub struct Pallet(_); /// Last application ID @@ -217,17 +216,16 @@ pub mod pallet { } #[pallet::genesis_config] + #[derive(DefaultNoBound)] pub struct GenesisConfig { + #[serde(skip)] + pub _config: sp_std::marker::PhantomData, + #[serde(skip)] pub app_keys: Vec<(Vec, AppKeyInfoFor)>, } - #[cfg(feature = "std")] - impl Default for GenesisConfig { - fn default() -> Self { Self { app_keys: vec![] } } - } - #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { + impl BuildGenesisConfig for GenesisConfig { fn build(&self) { // Ensure app ids are unique. let mut ids = self @@ -264,23 +262,6 @@ pub mod pallet { NextAppId::::put::(AppId(last_id)); } } - - #[cfg(feature = "std")] - impl GenesisConfig { - /// Direct implementation of `GenesisBuild::build_storage`. - /// - /// Kept in order not to break dependency. - pub fn build_storage(&self) -> Result { - >::build_storage(self) - } - - /// Direct implementation of `GenesisBuild::assimilate_storage`. - /// - /// Kept in order not to break dependency. - pub fn assimilate_storage(&self, storage: &mut sp_runtime::Storage) -> Result<(), String> { - >::assimilate_storage(self, storage) - } - } } impl Pallet { @@ -297,9 +278,9 @@ impl Pallet { pub fn is_block_weight_acceptable() -> bool { let current_weight = >::block_weight(); let current_normal_weight = current_weight.get(DispatchClass::Normal); - let acceptable_limit = T::WeightInfo::submit_block_length_proposal().saturating_mul(2); - - current_normal_weight.all_lte(acceptable_limit) + // TODO: Recaliberate the mutiplier after updating v2 weights + let acceptable_limit = T::WeightInfo::submit_block_length_proposal().saturating_mul(3); + current_normal_weight.ref_time() <= acceptable_limit.ref_time() } } diff --git a/pallets/dactr/src/mock.rs b/pallets/dactr/src/mock.rs index f24d98a43..866542b29 100644 --- a/pallets/dactr/src/mock.rs +++ b/pallets/dactr/src/mock.rs @@ -2,7 +2,6 @@ use avail_core::{ currency::{Balance, AVL}, - header::Header, AppId, }; use frame_support::{ @@ -15,7 +14,10 @@ use frame_system::{ }; use pallet_transaction_payment::CurrencyAdapter; use sp_core::H256; -use sp_runtime::traits::{BlakeTwo256, ConstU32, IdentityLookup}; +use sp_runtime::{ + traits::{BlakeTwo256, ConstU32, IdentityLookup}, + BuildStorage, +}; use crate::{self as da_control, *}; @@ -23,16 +25,12 @@ use crate::{self as da_control, *}; type UncheckedExtrinsic = MockUncheckedExtrinsic; /// An implementation of `sp_runtime::traits::Block` to be used in tests. -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockDaBlock; type BlockNumber = u32; frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { + pub struct Test { System: frame_system, Utility: pallet_utility, Balances: pallet_balances, @@ -44,26 +42,25 @@ frame_support::construct_runtime!( parameter_types! { pub const BlockHashCount: BlockNumber = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1_024)); - pub static ExistentialDeposit: u64 = 0; + frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1_024, 0)); + pub static ExistentialDeposit: u64 = 1; } impl frame_system::Config for Test { type AccountData = pallet_balances::AccountData; type AccountId = u64; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = BlockHashCount; type BlockLength = (); - type BlockNumber = BlockNumber; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = Header; type HeaderExtensionBuilder = HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -101,10 +98,14 @@ impl pallet_balances::Config for Test { type Balance = Balance; type DustRemoval = (); type ExistentialDeposit = ExistentialDeposit; + type FreezeIdentifier = [u8; 8]; + type MaxFreezes = ConstU32<2>; + type MaxHolds = ConstU32<2>; type MaxLocks = (); type MaxReserves = MaxReserves; type ReserveIdentifier = [u8; 8]; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = [u8; 8]; type WeightInfo = (); } @@ -138,8 +139,8 @@ impl da_control::Config for Test { /// Create new externalities for `System` module tests. pub fn new_test_ext() -> sp_io::TestExternalities { - let mut storage = frame_system::GenesisConfig::default() - .build_storage::() + let mut storage = frame_system::GenesisConfig::::default() + .build_storage() .unwrap(); pallet_balances::GenesisConfig:: { @@ -149,19 +150,29 @@ pub fn new_test_ext() -> sp_io::TestExternalities { .unwrap(); da_control::GenesisConfig:: { + _config: Default::default(), app_keys: vec![ - (b"Data Avail".to_vec(), AppKeyInfo { - owner: 1, - id: AppId(0), - }), - (b"Ethereum".to_vec(), AppKeyInfo { - owner: 2, - id: AppId(1), - }), - (b"Polygon".to_vec(), AppKeyInfo { - owner: 2, - id: AppId(2), - }), + ( + b"Data Avail".to_vec(), + AppKeyInfo { + owner: 1, + id: AppId(0), + }, + ), + ( + b"Ethereum".to_vec(), + AppKeyInfo { + owner: 2, + id: AppId(1), + }, + ), + ( + b"Polygon".to_vec(), + AppKeyInfo { + owner: 2, + id: AppId(2), + }, + ), ], } .assimilate_storage(&mut storage) diff --git a/pallets/dactr/src/weights.rs b/pallets/dactr/src/weights.rs index 56a95cf86..039e6e720 100644 --- a/pallets/dactr/src/weights.rs +++ b/pallets/dactr/src/weights.rs @@ -65,65 +65,65 @@ impl WeightInfo for SubstrateWeight { // Storage: DataAvailability NextAppId (r:1 w:1) fn create_application_key() -> Weight { // Minimum execution time: 26_706 nanoseconds. - Weight::from_ref_time(27_653_000_u64) + Weight::from_parts(27_653_000, 0) .saturating_add(T::DbWeight::get().reads(2_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } // Storage: System DynamicBlockLength (r:1 w:1) fn submit_block_length_proposal() -> Weight { // Minimum execution time: 22_841 nanoseconds. - Weight::from_ref_time(23_486_000_u64) + Weight::from_parts(23_486_000, 0) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(1_u64)) } /// The range of component `i` is `[1, 524288]`. fn submit_data(i: u32, ) -> Weight { // Minimum execution time: 17_107 nanoseconds. - Weight::from_ref_time(9_816_023_u64) + Weight::from_parts(9_816_023, 0) // Standard Error: 1 - .saturating_add(Weight::from_ref_time(287_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(287, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[0, 524288]`. fn data_root(i: u32, ) -> Weight { // Minimum execution time: 1_457 nanoseconds. - Weight::from_ref_time(1_487_000_u64) + Weight::from_parts(1_487_000, 0) // Standard Error: 21 - .saturating_add(Weight::from_ref_time(5_251_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(5_251, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[0, 2097152]`. fn data_root_batch(i: u32, ) -> Weight { // Minimum execution time: 778 nanoseconds. - Weight::from_ref_time(825_000_u64) + Weight::from_parts(825_000, 0) // Standard Error: 5 - .saturating_add(Weight::from_ref_time(4_931_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(4_931, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_32(i: u32, ) -> Weight { // Minimum execution time: 1_674_133 nanoseconds. - Weight::from_ref_time(1_782_369_000_u64) + Weight::from_parts(1_782_369_000, 0) // Standard Error: 33_902_431 - .saturating_add(Weight::from_ref_time(214_276_156_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(214_276_156, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_64(i: u32, ) -> Weight { // Minimum execution time: 1_669_019 nanoseconds. - Weight::from_ref_time(1_742_205_000_u64) + Weight::from_parts(1_742_205_000, 0) // Standard Error: 46_184_424 - .saturating_add(Weight::from_ref_time(2_679_720_641_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(2_679_720_641, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_128(i: u32, ) -> Weight { // Minimum execution time: 1_843_601 nanoseconds. - Weight::from_ref_time(1_942_890_000_u64) + Weight::from_parts(1_942_890_000, 0) // Standard Error: 43_871_963 - .saturating_add(Weight::from_ref_time(4_222_032_369_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(4_222_032_369, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_256(i: u32, ) -> Weight { // Minimum execution time: 1_864_952 nanoseconds. - Weight::from_ref_time(459_958_961_086_u64) + Weight::from_parts(459_958_961_086, 0) // Standard Error: 102_554_927 - .saturating_add(Weight::from_ref_time(5_707_004_205_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(5_707_004_205, 0).saturating_mul(i as u64)) } } @@ -133,64 +133,64 @@ impl WeightInfo for () { // Storage: DataAvailability NextAppId (r:1 w:1) fn create_application_key() -> Weight { // Minimum execution time: 26_706 nanoseconds. - Weight::from_ref_time(27_653_000_u64) + Weight::from_parts(27_653_000, 0) .saturating_add(RocksDbWeight::get().reads(2_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } // Storage: System DynamicBlockLength (r:1 w:1) fn submit_block_length_proposal() -> Weight { // Minimum execution time: 22_841 nanoseconds. - Weight::from_ref_time(23_486_000_u64) + Weight::from_parts(23_486_000, 0) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(1_u64)) } /// The range of component `i` is `[1, 524288]`. fn submit_data(i: u32, ) -> Weight { // Minimum execution time: 17_107 nanoseconds. - Weight::from_ref_time(9_816_023_u64) + Weight::from_parts(9_816_023, 0) // Standard Error: 1 - .saturating_add(Weight::from_ref_time(287_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(287, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[0, 524288]`. fn data_root(i: u32, ) -> Weight { // Minimum execution time: 1_457 nanoseconds. - Weight::from_ref_time(1_487_000_u64) + Weight::from_parts(1_487_000, 0) // Standard Error: 21 - .saturating_add(Weight::from_ref_time(5_251_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(5_251, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[0, 2097152]`. fn data_root_batch(i: u32, ) -> Weight { // Minimum execution time: 778 nanoseconds. - Weight::from_ref_time(825_000_u64) + Weight::from_parts(825_000, 0) // Standard Error: 5 - .saturating_add(Weight::from_ref_time(4_931_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(4_931, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_32(i: u32, ) -> Weight { // Minimum execution time: 1_674_133 nanoseconds. - Weight::from_ref_time(1_782_369_000_u64) + Weight::from_parts(1_782_369_000, 0) // Standard Error: 33_902_431 - .saturating_add(Weight::from_ref_time(214_276_156_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(214_276_156, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_64(i: u32, ) -> Weight { // Minimum execution time: 1_669_019 nanoseconds. - Weight::from_ref_time(1_742_205_000_u64) + Weight::from_parts(1_742_205_000, 0) // Standard Error: 46_184_424 - .saturating_add(Weight::from_ref_time(2_679_720_641_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(2_679_720_641, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_128(i: u32, ) -> Weight { // Minimum execution time: 1_843_601 nanoseconds. - Weight::from_ref_time(1_942_890_000_u64) + Weight::from_parts(1_942_890_000, 0) // Standard Error: 43_871_963 - .saturating_add(Weight::from_ref_time(4_222_032_369_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(4_222_032_369, 0).saturating_mul(i as u64)) } /// The range of component `i` is `[32, 1024]`. fn commitment_builder_256(i: u32, ) -> Weight { // Minimum execution time: 1_864_952 nanoseconds. - Weight::from_ref_time(459_958_961_086_u64) + Weight::from_parts(459_958_961_086, 0) // Standard Error: 102_554_927 - .saturating_add(Weight::from_ref_time(5_707_004_205_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(5_707_004_205, 0).saturating_mul(i as u64)) } } diff --git a/pallets/executive/Cargo.toml b/pallets/executive/Cargo.toml new file mode 100644 index 000000000..05302c835 --- /dev/null +++ b/pallets/executive/Cargo.toml @@ -0,0 +1,60 @@ +[package] +name = "frame-executive" +version = "4.0.0-dev" +authors = ["Parity Technologies "] +edition = "2021" +license = "Apache-2.0" +homepage = "https://substrate.io" +repository = "https://github.com/paritytech/substrate/" +description = "FRAME executives engine" +readme = "README.md" + +[package.metadata.docs.rs] +targets = ["x86_64-unknown-linux-gnu"] + +[dependencies] +codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = [ + "derive", +] } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } +frame-support = { version = "4.0.0-dev", default-features = false } +frame-system = { version = "4.0.0-dev", default-features = false } +frame-try-runtime = { version = "0.10.0-dev", default-features = false, optional = true } +sp-core = { version = "21.0.0", default-features = false } +sp-io = { version = "23.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } +sp-tracing = { version = "10.0.0", default-features = false } + +[dev-dependencies] +array-bytes = "6.1" +pallet-balances = { version = "4.0.0-dev" } +pallet-transaction-payment = { version = "4.0.0-dev" } +sp-core = { version = "21.0.0" } +sp-inherents = { version = "4.0.0-dev" } +sp-io = { version = "23.0.0" } +sp-version = { version = "22.0.0" } + +[features] +default = ["std"] +with-tracing = ["sp-tracing/with-tracing"] +std = [ + "codec/std", + "frame-support/std", + "frame-system/std", + "frame-try-runtime/std", + "scale-info/std", + "sp-core/std", + "sp-io/std", + "sp-runtime/std", + "sp-std/std", + "sp-tracing/std", +] +try-runtime = [ + "frame-support/try-runtime", + "frame-try-runtime/try-runtime", + "sp-runtime/try-runtime", + "frame-system/try-runtime", + "pallet-balances/try-runtime", + "pallet-transaction-payment/try-runtime" +] diff --git a/pallets/executive/README.md b/pallets/executive/README.md new file mode 100644 index 000000000..c14c3912b --- /dev/null +++ b/pallets/executive/README.md @@ -0,0 +1,73 @@ +# Executive Module + +The Executive module acts as the orchestration layer for the runtime. It dispatches incoming +extrinsic calls to the respective modules in the runtime. + +## Overview + +The executive module is not a typical pallet providing functionality around a specific feature. +It is a cross-cutting framework component for the FRAME. It works in conjunction with the +[FRAME System module](https://docs.rs/frame-system/latest/frame_system/) to perform these cross-cutting functions. + +The Executive module provides functions to: + +- Check transaction validity. +- Initialize a block. +- Apply extrinsics. +- Execute a block. +- Finalize a block. +- Start an off-chain worker. + +### Implementations + +The Executive module provides the following implementations: + +- `Executive`: Type that can be used to make the FRAME available from the runtime. + +## Usage + +The default Substrate node template declares the [`Executive`](https://docs.rs/frame-executive/latest/frame_executive/struct.Executive.html) type in its library. + +### Example + +`Executive` type declaration from the node template. + +```rust +# +/// Executive: handles dispatch to the various modules. +pub type Executive = executive::Executive< + Runtime, + Block, + Context, + Runtime, + AllPallets, +>; +``` + +### Custom `OnRuntimeUpgrade` logic + +You can add custom logic that should be called in your runtime on a runtime upgrade. This is +done by setting an optional generic parameter. The custom logic will be called before +the on runtime upgrade logic of all modules is called. + +```rust +# +struct CustomOnRuntimeUpgrade; +impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade { + fn on_runtime_upgrade() -> frame_support::weights::Weight { + // Do whatever you want. + frame_support::weights::Weight::zero() + } +} + +pub type Executive = executive::Executive< + Runtime, + Block, + Context, + Runtime, + AllPallets, + CustomOnRuntimeUpgrade, +>; +``` + +License: Apache-2.0 diff --git a/pallets/executive/src/lib.rs b/pallets/executive/src/lib.rs new file mode 100644 index 000000000..3f137c472 --- /dev/null +++ b/pallets/executive/src/lib.rs @@ -0,0 +1,1738 @@ +// This file is part of Substrate. + +// Copyright (C) Parity Technologies (UK) Ltd. +// SPDX-License-Identifier: Apache-2.0 + +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +//! # Executive Module +//! +//! The Executive module acts as the orchestration layer for the runtime. It dispatches incoming +//! extrinsic calls to the respective modules in the runtime. +//! +//! ## Overview +//! +//! The executive module is not a typical pallet providing functionality around a specific feature. +//! It is a cross-cutting framework component for the FRAME. It works in conjunction with the +//! [FRAME System module](../frame_system/index.html) to perform these cross-cutting functions. +//! +//! The Executive module provides functions to: +//! +//! - Check transaction validity. +//! - Initialize a block. +//! - Apply extrinsics. +//! - Execute a block. +//! - Finalize a block. +//! - Start an off-chain worker. +//! +//! ### Implementations +//! +//! The Executive module provides the following implementations: +//! +//! - `ExecuteBlock`: Trait that can be used to execute a block. +//! - `Executive`: Type that can be used to make the FRAME available from the runtime. +//! +//! ## Usage +//! +//! The default Substrate node template declares the [`Executive`](./struct.Executive.html) type in +//! its library. +//! +//! ### Example +//! +//! `Executive` type declaration from the node template. +//! +//! ``` +//! # use sp_runtime::generic; +//! # use frame_executive as executive; +//! # pub struct UncheckedExtrinsic {}; +//! # pub struct Header {}; +//! # type Context = frame_system::ChainContext; +//! # pub type Block = generic::Block; +//! # pub type Balances = u64; +//! # pub type AllPalletsWithSystem = u64; +//! # pub enum Runtime {}; +//! # use sp_runtime::transaction_validity::{ +//! # TransactionValidity, UnknownTransaction, TransactionSource, +//! # }; +//! # use sp_runtime::traits::ValidateUnsigned; +//! # impl ValidateUnsigned for Runtime { +//! # type Call = (); +//! # +//! # fn validate_unsigned(_source: TransactionSource, _call: &Self::Call) -> TransactionValidity { +//! # UnknownTransaction::NoUnsignedValidator.into() +//! # } +//! # } +//! /// Executive: handles dispatch to the various modules. +//! pub type Executive = executive::Executive; +//! ``` +//! +//! ### Custom `OnRuntimeUpgrade` logic +//! +//! You can add custom logic that should be called in your runtime on a runtime upgrade. This is +//! done by setting an optional generic parameter. The custom logic will be called before +//! the on runtime upgrade logic of all modules is called. +//! +//! ``` +//! # use sp_runtime::generic; +//! # use frame_executive as executive; +//! # pub struct UncheckedExtrinsic {}; +//! # pub struct Header {}; +//! # type Context = frame_system::ChainContext; +//! # pub type Block = generic::Block; +//! # pub type Balances = u64; +//! # pub type AllPalletsWithSystem = u64; +//! # pub enum Runtime {}; +//! # use sp_runtime::transaction_validity::{ +//! # TransactionValidity, UnknownTransaction, TransactionSource, +//! # }; +//! # use sp_runtime::traits::ValidateUnsigned; +//! # impl ValidateUnsigned for Runtime { +//! # type Call = (); +//! # +//! # fn validate_unsigned(_source: TransactionSource, _call: &Self::Call) -> TransactionValidity { +//! # UnknownTransaction::NoUnsignedValidator.into() +//! # } +//! # } +//! struct CustomOnRuntimeUpgrade; +//! impl frame_support::traits::OnRuntimeUpgrade for CustomOnRuntimeUpgrade { +//! fn on_runtime_upgrade() -> frame_support::weights::Weight { +//! // Do whatever you want. +//! frame_support::weights::Weight::zero() +//! } +//! } +//! +//! pub type Executive = executive::Executive; +//! ``` + +#![cfg_attr(not(feature = "std"), no_std)] + +use codec::{Codec, Encode}; +use frame_support::{ + dispatch::{DispatchClass, DispatchInfo, GetDispatchInfo, PostDispatchInfo}, + pallet_prelude::InvalidTransaction, + traits::{ + EnsureInherentsAreFirst, ExecuteBlock, OffchainWorker, OnFinalize, OnIdle, OnInitialize, + OnRuntimeUpgrade, + }, + weights::Weight, +}; +use frame_system::pallet_prelude::BlockNumberFor; +#[cfg(feature = "try-runtime")] +use sp_runtime::TryRuntimeError; +use sp_runtime::{ + generic::Digest, + traits::{ + self, Applyable, CheckEqual, Checkable, Dispatchable, Header, NumberFor, One, + ValidateUnsigned, Zero, + }, + transaction_validity::{TransactionSource, TransactionValidity}, + ApplyExtrinsicResult, +}; +use sp_std::{marker::PhantomData, prelude::*}; + +#[allow(dead_code)] +const LOG_TARGET: &str = "runtime::executive"; + +pub type CheckedOf = >::Checked; +pub type CallOf = as Applyable>::Call; +pub type OriginOf = as Dispatchable>::RuntimeOrigin; + +/// Main entry point for certain runtime actions as e.g. `execute_block`. +/// +/// Generic parameters: +/// - `System`: Something that implements `frame_system::Config` +/// - `Block`: The block type of the runtime +/// - `Context`: The context that is used when checking an extrinsic. +/// - `UnsignedValidator`: The unsigned transaction validator of the runtime. +/// - `AllPalletsWithSystem`: Tuple that contains all pallets including frame system pallet. Will be +/// used to call hooks e.g. `on_initialize`. +/// - `OnRuntimeUpgrade`: Custom logic that should be called after a runtime upgrade. Modules are +/// already called by `AllPalletsWithSystem`. It will be called before all modules will be called. +pub struct Executive< + System, + Block, + Context, + UnsignedValidator, + AllPalletsWithSystem, + OnRuntimeUpgrade = (), +>( + PhantomData<( + System, + Block, + Context, + UnsignedValidator, + AllPalletsWithSystem, + OnRuntimeUpgrade, + )>, +); + +impl< + System: frame_system::Config + EnsureInherentsAreFirst, + Block: traits::Block< + Header = frame_system::pallet_prelude::HeaderFor, + Hash = System::Hash, + >, + Context: Default, + UnsignedValidator, + AllPalletsWithSystem: OnRuntimeUpgrade + + OnInitialize> + + OnIdle> + + OnFinalize> + + OffchainWorker>, + COnRuntimeUpgrade: OnRuntimeUpgrade, + > ExecuteBlock + for Executive +where + Block::Extrinsic: Checkable + Codec, + CheckedOf: Applyable + GetDispatchInfo, + CallOf: + Dispatchable, + OriginOf: From>, + UnsignedValidator: ValidateUnsigned>, +{ + fn execute_block(block: Block) { + Executive::< + System, + Block, + Context, + UnsignedValidator, + AllPalletsWithSystem, + COnRuntimeUpgrade, + >::execute_block(block); + } +} + +#[cfg(feature = "try-runtime")] +impl< + System: frame_system::Config + EnsureInherentsAreFirst, + Block: traits::Block< + Header = frame_system::pallet_prelude::HeaderFor, + Hash = System::Hash, + >, + Context: Default, + UnsignedValidator, + AllPalletsWithSystem: OnRuntimeUpgrade + + OnInitialize> + + OnIdle> + + OnFinalize> + + OffchainWorker> + + frame_support::traits::TryState>, + COnRuntimeUpgrade: OnRuntimeUpgrade, + > Executive +where + Block::Extrinsic: Checkable + Codec, + CheckedOf: Applyable + GetDispatchInfo, + CallOf: + Dispatchable, + OriginOf: From>, + UnsignedValidator: ValidateUnsigned>, +{ + /// Execute given block, but don't as strict is the normal block execution. + /// + /// Some checks can be disabled via: + /// + /// - `state_root_check` + /// - `signature_check` + /// + /// Should only be used for testing ONLY. + pub fn try_execute_block( + block: Block, + state_root_check: bool, + signature_check: bool, + select: frame_try_runtime::TryStateSelect, + ) -> Result { + frame_support::log::info!( + target: LOG_TARGET, + "try-runtime: executing block #{:?} / state root check: {:?} / signature check: {:?} / try-state-select: {:?}", + block.header().number(), + state_root_check, + signature_check, + select, + ); + + Self::initialize_block(block.header()); + Self::initial_checks(&block); + + let (header, extrinsics) = block.deconstruct(); + + let try_apply_extrinsic = |uxt: Block::Extrinsic| -> ApplyExtrinsicResult { + sp_io::init_tracing(); + let encoded = uxt.encode(); + let encoded_len = encoded.len(); + + // skip signature verification. + let xt = if signature_check { + uxt.check(&Default::default()) + } else { + uxt.unchecked_into_checked_i_know_what_i_am_doing(&Default::default()) + }?; + >::note_extrinsic(encoded); + + let dispatch_info = xt.get_dispatch_info(); + let r = Applyable::apply::(xt, &dispatch_info, encoded_len)?; + + >::note_applied_extrinsic(&r, dispatch_info); + + Ok(r.map(|_| ()).map_err(|e| e.error)) + }; + + for e in extrinsics { + if let Err(err) = try_apply_extrinsic(e.clone()) { + frame_support::log::error!( + target: LOG_TARGET, "executing transaction {:?} failed due to {:?}. Aborting the rest of the block execution.", + e, + err, + ); + break; + } + } + + // post-extrinsics book-keeping + >::note_finished_extrinsics(); + Self::idle_and_finalize_hook(*header.number()); + + // run the try-state checks of all pallets, ensuring they don't alter any state. + let _guard = frame_support::StorageNoopGuard::default(); + , + >>::try_state(*header.number(), select) + .map_err(|e| { + frame_support::log::error!(target: LOG_TARGET, "failure: {:?}", e); + e + })?; + drop(_guard); + + // do some of the checks that would normally happen in `final_checks`, but perhaps skip + // the state root check. + { + let new_header = >::finalize(); + let items_zip = header + .digest() + .logs() + .iter() + .zip(new_header.digest().logs().iter()); + for (header_item, computed_item) in items_zip { + header_item.check_equal(computed_item); + assert!( + header_item == computed_item, + "Digest item must match that calculated." + ); + } + + if state_root_check { + let storage_root = new_header.state_root(); + header.state_root().check_equal(storage_root); + assert!( + header.state_root() == storage_root, + "Storage root must match that calculated." + ); + } + + assert!( + header.extrinsics_root() == new_header.extrinsics_root(), + "Transaction trie root must be valid.", + ); + } + + frame_support::log::info!( + target: LOG_TARGET, + "try-runtime: Block #{:?} successfully executed", + header.number(), + ); + + Ok(frame_system::Pallet::::block_weight().total()) + } + + /// Execute all `OnRuntimeUpgrade` of this runtime, including the pre and post migration checks. + /// + /// Runs the try-state code both before and after the migration function if `checks` is set to + /// `true`. Also, if set to `true`, it runs the `pre_upgrade` and `post_upgrade` hooks. + pub fn try_runtime_upgrade( + checks: frame_try_runtime::UpgradeCheckSelect, + ) -> Result { + if checks.try_state() { + let _guard = frame_support::StorageNoopGuard::default(); + , + >>::try_state( + frame_system::Pallet::::block_number(), + frame_try_runtime::TryStateSelect::All, + )?; + } + + let weight = + <(COnRuntimeUpgrade, AllPalletsWithSystem) as OnRuntimeUpgrade>::try_on_runtime_upgrade( + checks.pre_and_post(), + )?; + + if checks.try_state() { + let _guard = frame_support::StorageNoopGuard::default(); + , + >>::try_state( + frame_system::Pallet::::block_number(), + frame_try_runtime::TryStateSelect::All, + )?; + } + + Ok(weight) + } +} + +impl< + System: frame_system::Config + EnsureInherentsAreFirst, + Block: traits::Block< + Header = frame_system::pallet_prelude::HeaderFor, + Hash = System::Hash, + >, + Context: Default, + UnsignedValidator, + AllPalletsWithSystem: OnRuntimeUpgrade + + OnInitialize> + + OnIdle> + + OnFinalize> + + OffchainWorker>, + COnRuntimeUpgrade: OnRuntimeUpgrade, + > Executive +where + Block::Extrinsic: Checkable + Codec, + CheckedOf: Applyable + GetDispatchInfo, + CallOf: + Dispatchable, + OriginOf: From>, + UnsignedValidator: ValidateUnsigned>, +{ + /// Execute all `OnRuntimeUpgrade` of this runtime, and return the aggregate weight. + pub fn execute_on_runtime_upgrade() -> Weight { + <(COnRuntimeUpgrade, AllPalletsWithSystem) as OnRuntimeUpgrade>::on_runtime_upgrade() + } + + /// Start the execution of a particular block. + pub fn initialize_block(header: &frame_system::pallet_prelude::HeaderFor) { + sp_io::init_tracing(); + sp_tracing::enter_span!(sp_tracing::Level::TRACE, "init_block"); + let digests = Self::extract_pre_digest(header); + Self::initialize_block_impl(header.number(), header.parent_hash(), &digests); + } + + fn extract_pre_digest(header: &frame_system::pallet_prelude::HeaderFor) -> Digest { + let mut digest = ::default(); + header.digest().logs().iter().for_each(|d| { + if d.as_pre_runtime().is_some() { + digest.push(d.clone()) + } + }); + digest + } + + fn initialize_block_impl( + block_number: &BlockNumberFor, + parent_hash: &System::Hash, + digest: &Digest, + ) { + // Reset events before apply runtime upgrade hook. + // This is required to preserve events from runtime upgrade hook. + // This means the format of all the event related storages must always be compatible. + >::reset_events(); + + let mut weight = Weight::zero(); + if Self::runtime_upgraded() { + weight = weight.saturating_add(Self::execute_on_runtime_upgrade()); + } + >::initialize(block_number, parent_hash, digest); + weight = weight.saturating_add(, + >>::on_initialize(*block_number)); + weight = weight.saturating_add( + >::get().base_block, + ); + >::register_extra_weight_unchecked( + weight, + DispatchClass::Mandatory, + ); + + frame_system::Pallet::::note_finished_initialize(); + } + + /// Returns if the runtime was upgraded since the last time this function was called. + fn runtime_upgraded() -> bool { + let last = frame_system::LastRuntimeUpgrade::::get(); + let current = >::get(); + + if last.map(|v| v.was_upgraded(¤t)).unwrap_or(true) { + frame_system::LastRuntimeUpgrade::::put( + frame_system::LastRuntimeUpgradeInfo::from(current), + ); + true + } else { + false + } + } + + fn initial_checks(block: &Block) { + sp_tracing::enter_span!(sp_tracing::Level::TRACE, "initial_checks"); + let header = block.header(); + + // Check that `parent_hash` is correct. + let n = *header.number(); + assert!( + n > BlockNumberFor::::zero() + && >::block_hash(n - BlockNumberFor::::one()) + == *header.parent_hash(), + "Parent hash should be valid.", + ); + + if let Err(i) = System::ensure_inherents_are_first(block) { + panic!("Invalid inherent position for extrinsic at index {}", i); + } + } + + /// Actually execute all transitions for `block`. + pub fn execute_block(block: Block) { + sp_io::init_tracing(); + sp_tracing::within_span! { + sp_tracing::info_span!("execute_block", ?block); + + Self::initialize_block(block.header()); + + // any initial checks + Self::initial_checks(&block); + + // execute extrinsics + let (header, extrinsics) = block.deconstruct(); + Self::execute_extrinsics_with_book_keeping(extrinsics, *header.number()); + + // any final checks + Self::final_checks(&header); + } + } + + /// Execute given extrinsics and take care of post-extrinsics book-keeping. + fn execute_extrinsics_with_book_keeping( + extrinsics: Vec, + block_number: NumberFor, + ) { + extrinsics.into_iter().for_each(|e| { + if let Err(e) = Self::apply_extrinsic(e) { + let err: &'static str = e.into(); + panic!("{}", err) + } + }); + + // post-extrinsics book-keeping + >::note_finished_extrinsics(); + + Self::idle_and_finalize_hook(block_number); + } + + /// Finalize the block - it is up the caller to ensure that all header fields are valid + /// except state-root. + // Note: Only change for avail is this function's return type + // TODO: Find a work around for this outside of this pallet to avoid the patching + pub fn finalize_block() -> frame_system::pallet_prelude::DaHeaderFor { + sp_io::init_tracing(); + sp_tracing::enter_span!(sp_tracing::Level::TRACE, "finalize_block"); + >::note_finished_extrinsics(); + let block_number = >::block_number(); + + Self::idle_and_finalize_hook(block_number); + + >::finalize() + } + + fn idle_and_finalize_hook(block_number: NumberFor) { + let weight = >::block_weight(); + let max_weight = >::get().max_block; + let remaining_weight = max_weight.saturating_sub(weight.total()); + + if remaining_weight.all_gt(Weight::zero()) { + let used_weight = >>::on_idle( + block_number, + remaining_weight, + ); + >::register_extra_weight_unchecked( + used_weight, + DispatchClass::Mandatory, + ); + } + + >>::on_finalize(block_number); + } + + /// Apply extrinsic outside of the block execution function. + /// + /// This doesn't attempt to validate anything regarding the block, but it builds a list of uxt + /// hashes. + pub fn apply_extrinsic(uxt: Block::Extrinsic) -> ApplyExtrinsicResult { + sp_io::init_tracing(); + let encoded = uxt.encode(); + let encoded_len = encoded.len(); + sp_tracing::enter_span!(sp_tracing::info_span!("apply_extrinsic", + ext=?sp_core::hexdisplay::HexDisplay::from(&encoded))); + // Verify that the signature is good. + let xt = uxt.check(&Default::default())?; + + // We don't need to make sure to `note_extrinsic` only after we know it's going to be + // executed to prevent it from leaking in storage since at this point, it will either + // execute or panic (and revert storage changes). + >::note_extrinsic(encoded); + + // AUDIT: Under no circumstances may this function panic from here onwards. + + // Decode parameters and dispatch + let dispatch_info = xt.get_dispatch_info(); + let r = Applyable::apply::(xt, &dispatch_info, encoded_len)?; + + // Mandatory(inherents) are not allowed to fail. + // + // The entire block should be discarded if an inherent fails to apply. Otherwise + // it may open an attack vector. + if r.is_err() && dispatch_info.class == DispatchClass::Mandatory { + return Err(InvalidTransaction::BadMandatory.into()); + } + + >::note_applied_extrinsic(&r, dispatch_info); + + Ok(r.map(|_| ()).map_err(|e| e.error)) + } + + fn final_checks(header: &frame_system::pallet_prelude::HeaderFor) { + sp_tracing::enter_span!(sp_tracing::Level::TRACE, "final_checks"); + // remove temporaries + let new_header = >::finalize(); + + // check digest + assert_eq!( + header.digest().logs().len(), + new_header.digest().logs().len(), + "Number of digest items must match that calculated." + ); + let items_zip = header + .digest() + .logs() + .iter() + .zip(new_header.digest().logs().iter()); + for (header_item, computed_item) in items_zip { + header_item.check_equal(computed_item); + assert!( + header_item == computed_item, + "Digest item must match that calculated." + ); + } + + // check storage root. + let storage_root = new_header.state_root(); + header.state_root().check_equal(storage_root); + assert!( + header.state_root() == storage_root, + "Storage root must match that calculated." + ); + + assert!( + header.extrinsics_root() == new_header.extrinsics_root(), + "Transaction trie root must be valid.", + ); + } + + /// Check a given signed transaction for validity. This doesn't execute any + /// side-effects; it merely checks whether the transaction would panic if it were included or + /// not. + /// + /// Changes made to storage should be discarded. + pub fn validate_transaction( + source: TransactionSource, + uxt: Block::Extrinsic, + block_hash: Block::Hash, + ) -> TransactionValidity { + sp_io::init_tracing(); + use sp_tracing::{enter_span, within_span}; + + >::initialize( + &(frame_system::Pallet::::block_number() + One::one()), + &block_hash, + &Default::default(), + ); + + enter_span! { sp_tracing::Level::TRACE, "validate_transaction" }; + + let encoded_len = within_span! { sp_tracing::Level::TRACE, "using_encoded"; + uxt.using_encoded(|d| d.len()) + }; + + let xt = within_span! { sp_tracing::Level::TRACE, "check"; + uxt.check(&Default::default()) + }?; + + let dispatch_info = within_span! { sp_tracing::Level::TRACE, "dispatch_info"; + xt.get_dispatch_info() + }; + + if dispatch_info.class == DispatchClass::Mandatory { + return Err(InvalidTransaction::MandatoryValidation.into()); + } + + within_span! { + sp_tracing::Level::TRACE, "validate"; + xt.validate::(source, &dispatch_info, encoded_len) + } + } + + /// Start an offchain worker and generate extrinsics. + pub fn offchain_worker(header: &frame_system::pallet_prelude::HeaderFor) { + sp_io::init_tracing(); + // We need to keep events available for offchain workers, + // hence we initialize the block manually. + // OffchainWorker RuntimeApi should skip initialization. + let digests = header.digest().clone(); + + >::initialize(header.number(), header.parent_hash(), &digests); + + // Frame system only inserts the parent hash into the block hashes as normally we don't know + // the hash for the header before. However, here we are aware of the hash and we can add it + // as well. + frame_system::BlockHash::::insert(header.number(), header.hash()); + + >>::offchain_worker( + *header.number(), + ) + } +} + +// Temporarily removing the tests +// #[cfg(test)] +// mod tests { +// use frame_support::{ +// assert_err, parameter_types, +// traits::{fungible, ConstU32, ConstU64, ConstU8, Currency}, +// weights::{ConstantMultiplier, IdentityFee, RuntimeDbWeight, Weight, WeightToFee}, +// }; +// use frame_system::{ChainContext, LastRuntimeUpgradeInfo}; +// use pallet_balances::Call as BalancesCall; +// use pallet_transaction_payment::CurrencyAdapter; +// use sp_core::H256; +// use sp_runtime::{ +// generic::{DigestItem, Era}, +// testing::{Block, Digest, Header}, +// traits::{BlakeTwo256, Block as BlockT, Header as HeaderT, IdentityLookup}, +// transaction_validity::{ +// InvalidTransaction, TransactionValidityError, UnknownTransaction, ValidTransaction, +// }, +// BuildStorage, DispatchError, +// }; + +// use super::*; + +// const TEST_KEY: &[u8] = b":test:key:"; + +// #[frame_support::pallet(dev_mode)] +// mod custom { +// use frame_support::pallet_prelude::*; +// use frame_system::pallet_prelude::*; + +// #[pallet::pallet] +// pub struct Pallet(_); + +// #[pallet::config] +// pub trait Config: frame_system::Config {} + +// #[pallet::hooks] +// impl Hooks> for Pallet { +// // module hooks. +// // one with block number arg and one without +// fn on_initialize(n: BlockNumberFor) -> Weight { +// println!("on_initialize({})", n); +// Weight::from_parts(175, 0) +// } + +// fn on_idle(n: BlockNumberFor, remaining_weight: Weight) -> Weight { +// println!("on_idle{}, {})", n, remaining_weight); +// Weight::from_parts(175, 0) +// } + +// fn on_finalize(n: BlockNumberFor) { +// println!("on_finalize({})", n); +// } + +// fn on_runtime_upgrade() -> Weight { +// sp_io::storage::set(super::TEST_KEY, "module".as_bytes()); +// Weight::from_parts(200, 0) +// } + +// fn offchain_worker(n: BlockNumberFor) { +// assert_eq!(BlockNumberFor::::from(1u32), n); +// } +// } + +// #[pallet::call] +// impl Pallet { +// pub fn some_function(origin: OriginFor) -> DispatchResult { +// // NOTE: does not make any different. +// frame_system::ensure_signed(origin)?; +// Ok(()) +// } + +// #[pallet::weight((200, DispatchClass::Operational))] +// pub fn some_root_operation(origin: OriginFor) -> DispatchResult { +// frame_system::ensure_root(origin)?; +// Ok(()) +// } + +// pub fn some_unsigned_message(origin: OriginFor) -> DispatchResult { +// frame_system::ensure_none(origin)?; +// Ok(()) +// } + +// pub fn allowed_unsigned(origin: OriginFor) -> DispatchResult { +// frame_system::ensure_root(origin)?; +// Ok(()) +// } + +// pub fn unallowed_unsigned(origin: OriginFor) -> DispatchResult { +// frame_system::ensure_root(origin)?; +// Ok(()) +// } + +// #[pallet::weight((0, DispatchClass::Mandatory))] +// pub fn inherent_call(origin: OriginFor) -> DispatchResult { +// frame_system::ensure_none(origin)?; +// Ok(()) +// } + +// pub fn calculate_storage_root(_origin: OriginFor) -> DispatchResult { +// let root = sp_io::storage::root(sp_runtime::StateVersion::V1); +// sp_io::storage::set("storage_root".as_bytes(), &root); +// Ok(()) +// } +// } + +// #[pallet::inherent] +// impl ProvideInherent for Pallet { +// type Call = Call; +// type Error = sp_inherents::MakeFatalError<()>; + +// const INHERENT_IDENTIFIER: [u8; 8] = *b"test1234"; + +// fn create_inherent(_data: &InherentData) -> Option { None } + +// fn is_inherent(call: &Self::Call) -> bool { *call == Call::::inherent_call {} } +// } + +// #[pallet::validate_unsigned] +// impl ValidateUnsigned for Pallet { +// type Call = Call; + +// // Inherent call is accepted for being dispatched +// fn pre_dispatch(call: &Self::Call) -> Result<(), TransactionValidityError> { +// match call { +// Call::allowed_unsigned { .. } => Ok(()), +// Call::inherent_call { .. } => Ok(()), +// _ => Err(UnknownTransaction::NoUnsignedValidator.into()), +// } +// } + +// // Inherent call is not validated as unsigned +// fn validate_unsigned( +// _source: TransactionSource, +// call: &Self::Call, +// ) -> TransactionValidity { +// match call { +// Call::allowed_unsigned { .. } => Ok(Default::default()), +// _ => UnknownTransaction::NoUnsignedValidator.into(), +// } +// } +// } +// } + +// frame_support::construct_runtime!( +// pub struct Runtime +// { +// System: frame_system::{Pallet, Call, Config, Storage, Event}, +// Balances: pallet_balances::{Pallet, Call, Storage, Config, Event}, +// TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event}, +// Custom: custom::{Pallet, Call, ValidateUnsigned, Inherent}, +// } +// ); + +// parameter_types! { +// pub BlockWeights: frame_system::limits::BlockWeights = +// frame_system::limits::BlockWeights::builder() +// .base_block(Weight::from_parts(10, 0)) +// .for_class(DispatchClass::all(), |weights| weights.base_extrinsic = Weight::from_parts(5, 0)) +// .for_class(DispatchClass::non_mandatory(), |weights| weights.max_total = Weight::from_parts(1024, u64::MAX).into()) +// .build_or_panic(); +// pub const DbWeight: RuntimeDbWeight = RuntimeDbWeight { +// read: 10, +// write: 100, +// }; +// } +// impl frame_system::Config for Runtime { +// type AccountData = pallet_balances::AccountData; +// type AccountId = u64; +// type BaseCallFilter = frame_support::traits::Everything; +// type Block = TestBlock; +// type BlockHashCount = ConstU64<250>; +// type BlockLength = (); +// type BlockWeights = BlockWeights; +// type DbWeight = (); +// type Hash = sp_core::H256; +// type Hashing = BlakeTwo256; +// type Lookup = IdentityLookup; +// type MaxConsumers = ConstU32<16>; +// type Nonce = u64; +// type OnKilledAccount = (); +// type OnNewAccount = (); +// type OnSetCode = (); +// type PalletInfo = PalletInfo; +// type RuntimeCall = RuntimeCall; +// type RuntimeEvent = RuntimeEvent; +// type RuntimeOrigin = RuntimeOrigin; +// type SS58Prefix = (); +// type SystemWeightInfo = (); +// type Version = RuntimeVersion; +// } + +// type Balance = u64; +// impl pallet_balances::Config for Runtime { +// type AccountStore = System; +// type Balance = Balance; +// type DustRemoval = (); +// type ExistentialDeposit = ConstU64<1>; +// type FreezeIdentifier = (); +// type MaxFreezes = ConstU32<1>; +// type MaxHolds = ConstU32<1>; +// type MaxLocks = (); +// type MaxReserves = (); +// type ReserveIdentifier = [u8; 8]; +// type RuntimeEvent = RuntimeEvent; +// type RuntimeHoldReason = (); +// type WeightInfo = (); +// } + +// parameter_types! { +// pub const TransactionByteFee: Balance = 0; +// } +// impl pallet_transaction_payment::Config for Runtime { +// type FeeMultiplierUpdate = (); +// type LengthToFee = ConstantMultiplier; +// type OnChargeTransaction = CurrencyAdapter; +// type OperationalFeeMultiplier = ConstU8<5>; +// type RuntimeEvent = RuntimeEvent; +// type WeightToFee = IdentityFee; +// } +// impl custom::Config for Runtime {} + +// pub struct RuntimeVersion; +// impl frame_support::traits::Get for RuntimeVersion { +// fn get() -> sp_version::RuntimeVersion { RuntimeVersionTestValues::get().clone() } +// } + +// parameter_types! { +// pub static RuntimeVersionTestValues: sp_version::RuntimeVersion = +// Default::default(); +// } + +// type SignedExtra = ( +// frame_system::CheckEra, +// frame_system::CheckNonce, +// frame_system::CheckWeight, +// pallet_transaction_payment::ChargeTransactionPayment, +// ); +// type TestXt = sp_runtime::testing::TestXt; +// type TestBlock = Block; + +// // Will contain `true` when the custom runtime logic was called. +// const CUSTOM_ON_RUNTIME_KEY: &[u8] = b":custom:on_runtime"; + +// struct CustomOnRuntimeUpgrade; +// impl OnRuntimeUpgrade for CustomOnRuntimeUpgrade { +// fn on_runtime_upgrade() -> Weight { +// sp_io::storage::set(TEST_KEY, "custom_upgrade".as_bytes()); +// sp_io::storage::set(CUSTOM_ON_RUNTIME_KEY, &true.encode()); +// System::deposit_event(frame_system::Event::CodeUpdated); +// Weight::from_parts(100, 0) +// } +// } + +// type Executive = super::Executive< +// Runtime, +// Block, +// ChainContext, +// Runtime, +// AllPalletsWithSystem, +// CustomOnRuntimeUpgrade, +// >; + +// fn extra(nonce: u64, fee: Balance) -> SignedExtra { +// ( +// frame_system::CheckEra::from(Era::Immortal), +// frame_system::CheckNonce::from(nonce), +// frame_system::CheckWeight::new(), +// pallet_transaction_payment::ChargeTransactionPayment::from(fee), +// ) +// } + +// fn sign_extra(who: u64, nonce: u64, fee: Balance) -> Option<(u64, SignedExtra)> { +// Some((who, extra(nonce, fee))) +// } + +// fn call_transfer(dest: u64, value: u64) -> RuntimeCall { +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest, value }) +// } + +// #[test] +// fn balance_transfer_dispatch_works() { +// let mut t = frame_system::GenesisConfig::::default() +// .build_storage() +// .unwrap(); +// pallet_balances::GenesisConfig:: { +// balances: vec![(1, 211)], +// } +// .assimilate_storage(&mut t) +// .unwrap(); +// let xt = TestXt::new(call_transfer(2, 69), sign_extra(1, 0, 0)); +// let weight = xt.get_dispatch_info().weight +// + ::BlockWeights::get() +// .get(DispatchClass::Normal) +// .base_extrinsic; +// let fee: Balance = +// ::WeightToFee::weight_to_fee(&weight); +// let mut t = sp_io::TestExternalities::new(t); +// t.execute_with(|| { +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); +// let r = Executive::apply_extrinsic(xt); +// assert!(r.is_ok()); +// assert_eq!( +// >::total_balance(&1), +// 142 - fee +// ); +// assert_eq!(>::total_balance(&2), 69); +// }); +// } + +// fn new_test_ext(balance_factor: Balance) -> sp_io::TestExternalities { +// let mut t = frame_system::GenesisConfig::::default() +// .build_storage() +// .unwrap(); +// pallet_balances::GenesisConfig:: { +// balances: vec![(1, 111 * balance_factor)], +// } +// .assimilate_storage(&mut t) +// .unwrap(); +// t.into() +// } + +// fn new_test_ext_v0(balance_factor: Balance) -> sp_io::TestExternalities { +// let mut t = frame_system::GenesisConfig::::default() +// .build_storage() +// .unwrap(); +// pallet_balances::GenesisConfig:: { +// balances: vec![(1, 111 * balance_factor)], +// } +// .assimilate_storage(&mut t) +// .unwrap(); +// (t, sp_runtime::StateVersion::V0).into() +// } + +// #[test] +// fn block_import_works() { +// block_import_works_inner( +// new_test_ext_v0(1), +// array_bytes::hex_n_into_unchecked( +// "65e953676859e7a33245908af7ad3637d6861eb90416d433d485e95e2dd174a1", +// ), +// ); +// block_import_works_inner( +// new_test_ext(1), +// array_bytes::hex_n_into_unchecked( +// "5a19b3d6fdb7241836349fdcbe2d9df4d4f945b949d979e31ad50bff1cbcd1c2", +// ), +// ); +// } +// fn block_import_works_inner(mut ext: sp_io::TestExternalities, state_root: H256) { +// ext.execute_with(|| { +// Executive::execute_block(Block { +// header: Header { +// parent_hash: [69u8; 32].into(), +// number: 1, +// state_root, +// extrinsics_root: array_bytes::hex_n_into_unchecked( +// "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314", +// ), +// digest: Digest { logs: vec![] }, +// }, +// extrinsics: vec![], +// }); +// }); +// } + +// #[test] +// #[should_panic] +// fn block_import_of_bad_state_root_fails() { +// new_test_ext(1).execute_with(|| { +// Executive::execute_block(Block { +// header: Header { +// parent_hash: [69u8; 32].into(), +// number: 1, +// state_root: [0u8; 32].into(), +// extrinsics_root: array_bytes::hex_n_into_unchecked( +// "03170a2e7597b7b7e3d84c05391d139a62b157e78786d8c082f29dcf4c111314", +// ), +// digest: Digest { logs: vec![] }, +// }, +// extrinsics: vec![], +// }); +// }); +// } + +// #[test] +// #[should_panic] +// fn block_import_of_bad_extrinsic_root_fails() { +// new_test_ext(1).execute_with(|| { +// Executive::execute_block(Block { +// header: Header { +// parent_hash: [69u8; 32].into(), +// number: 1, +// state_root: array_bytes::hex_n_into_unchecked( +// "75e7d8f360d375bbe91bcf8019c01ab6362448b4a89e3b329717eb9d910340e5", +// ), +// extrinsics_root: [0u8; 32].into(), +// digest: Digest { logs: vec![] }, +// }, +// extrinsics: vec![], +// }); +// }); +// } + +// #[test] +// fn bad_extrinsic_not_inserted() { +// let mut t = new_test_ext(1); +// // bad nonce check! +// let xt = TestXt::new(call_transfer(33, 69), sign_extra(1, 30, 0)); +// t.execute_with(|| { +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); +// assert_err!( +// Executive::apply_extrinsic(xt), +// TransactionValidityError::Invalid(InvalidTransaction::Future) +// ); +// assert_eq!(>::extrinsic_index(), Some(0)); +// }); +// } + +// #[test] +// fn block_weight_limit_enforced() { +// let mut t = new_test_ext(10000); +// // given: TestXt uses the encoded len as fixed Len: +// let xt = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }), +// sign_extra(1, 0, 0), +// ); +// let encoded = xt.encode(); +// let encoded_len = encoded.len() as u64; +// // on_initialize weight + base block execution weight +// let block_weights = ::BlockWeights::get(); +// let base_block_weight = Weight::from_parts(175, 0) + block_weights.base_block; +// let limit = block_weights.get(DispatchClass::Normal).max_total.unwrap() - base_block_weight; +// let num_to_exhaust_block = limit.ref_time() / (encoded_len + 5); +// t.execute_with(|| { +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); +// // Base block execution weight + `on_initialize` weight from the custom module. +// assert_eq!( +// >::block_weight().total(), +// base_block_weight +// ); + +// for nonce in 0..=num_to_exhaust_block { +// let xt = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { +// dest: 33, +// value: 0, +// }), +// sign_extra(1, nonce.into(), 0), +// ); +// let res = Executive::apply_extrinsic(xt); +// if nonce != num_to_exhaust_block { +// assert!(res.is_ok()); +// assert_eq!( +// >::block_weight().total(), +// //--------------------- on_initialize + block_execution + extrinsic_base weight +// Weight::from_parts((encoded_len + 5) * (nonce + 1), 0) + base_block_weight, +// ); +// assert_eq!( +// >::extrinsic_index(), +// Some(nonce as u32 + 1) +// ); +// } else { +// assert_eq!(res, Err(InvalidTransaction::ExhaustsResources.into())); +// } +// } +// }); +// } + +// #[test] +// fn block_weight_and_size_is_stored_per_tx() { +// let xt = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }), +// sign_extra(1, 0, 0), +// ); +// let x1 = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }), +// sign_extra(1, 1, 0), +// ); +// let x2 = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }), +// sign_extra(1, 2, 0), +// ); +// let len = xt.clone().encode().len() as u32; +// let mut t = new_test_ext(1); +// t.execute_with(|| { +// // Block execution weight + on_initialize weight from custom module +// let base_block_weight = Weight::from_parts(175, 0) +// + ::BlockWeights::get().base_block; + +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// assert_eq!( +// >::block_weight().total(), +// base_block_weight +// ); +// assert_eq!(>::all_extrinsics_len(), 0); + +// assert!(Executive::apply_extrinsic(xt.clone()).unwrap().is_ok()); +// assert!(Executive::apply_extrinsic(x1.clone()).unwrap().is_ok()); +// assert!(Executive::apply_extrinsic(x2.clone()).unwrap().is_ok()); + +// // default weight for `TestXt` == encoded length. +// let extrinsic_weight = Weight::from_parts(len as u64, 0) +// + ::BlockWeights::get() +// .get(DispatchClass::Normal) +// .base_extrinsic; +// assert_eq!( +// >::block_weight().total(), +// base_block_weight + 3u64 * extrinsic_weight, +// ); +// assert_eq!( +// >::all_extrinsics_len(), +// 3 * len +// ); + +// let _ = >::finalize(); +// // All extrinsics length cleaned on `System::finalize` +// assert_eq!(>::all_extrinsics_len(), 0); + +// // New Block +// Executive::initialize_block(&Header::new( +// 2, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// // Block weight cleaned up on `System::initialize` +// assert_eq!( +// >::block_weight().total(), +// base_block_weight +// ); +// }); +// } + +// #[test] +// fn validate_unsigned() { +// let valid = TestXt::new(RuntimeCall::Custom(custom::Call::allowed_unsigned {}), None); +// let invalid = TestXt::new( +// RuntimeCall::Custom(custom::Call::unallowed_unsigned {}), +// None, +// ); +// let mut t = new_test_ext(1); + +// t.execute_with(|| { +// assert_eq!( +// Executive::validate_transaction( +// TransactionSource::InBlock, +// valid.clone(), +// Default::default(), +// ), +// Ok(ValidTransaction::default()), +// ); +// assert_eq!( +// Executive::validate_transaction( +// TransactionSource::InBlock, +// invalid.clone(), +// Default::default(), +// ), +// Err(TransactionValidityError::Unknown( +// UnknownTransaction::NoUnsignedValidator +// )), +// ); +// assert_eq!( +// Executive::apply_extrinsic(valid), +// Ok(Err(DispatchError::BadOrigin)) +// ); +// assert_eq!( +// Executive::apply_extrinsic(invalid), +// Err(TransactionValidityError::Unknown( +// UnknownTransaction::NoUnsignedValidator +// )) +// ); +// }); +// } + +// #[test] +// fn can_not_pay_for_tx_fee_on_full_lock() { +// let mut t = new_test_ext(1); +// t.execute_with(|| { +// as fungible::MutateFreeze>::set_freeze( +// &(), +// &1, +// 110, +// ) +// .unwrap(); +// let xt = TestXt::new( +// RuntimeCall::System(frame_system::Call::remark { remark: vec![1u8] }), +// sign_extra(1, 0, 0), +// ); +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// assert_eq!( +// Executive::apply_extrinsic(xt), +// Err(InvalidTransaction::Payment.into()), +// ); +// assert_eq!(>::total_balance(&1), 111); +// }); +// } + +// #[test] +// fn block_hooks_weight_is_stored() { +// new_test_ext(1).execute_with(|| { +// Executive::initialize_block(&Header::new_from_number(1)); +// Executive::finalize_block(); +// // NOTE: might need updates over time if new weights are introduced. +// // For now it only accounts for the base block execution weight and +// // the `on_initialize` weight defined in the custom test module. +// assert_eq!( +// >::block_weight().total(), +// Weight::from_parts(175 + 175 + 10, 0) +// ); +// }) +// } + +// #[test] +// fn runtime_upgraded_should_work() { +// new_test_ext(1).execute_with(|| { +// RuntimeVersionTestValues::mutate(|v| *v = Default::default()); +// // It should be added at genesis +// assert!(frame_system::LastRuntimeUpgrade::::exists()); +// assert!(!Executive::runtime_upgraded()); + +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// ..Default::default() +// } +// }); +// assert!(Executive::runtime_upgraded()); +// assert_eq!( +// Some(LastRuntimeUpgradeInfo { +// spec_version: 1.into(), +// spec_name: "".into() +// }), +// frame_system::LastRuntimeUpgrade::::get(), +// ); + +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// spec_name: "test".into(), +// ..Default::default() +// } +// }); +// assert!(Executive::runtime_upgraded()); +// assert_eq!( +// Some(LastRuntimeUpgradeInfo { +// spec_version: 1.into(), +// spec_name: "test".into() +// }), +// frame_system::LastRuntimeUpgrade::::get(), +// ); + +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// spec_name: "test".into(), +// impl_version: 2, +// ..Default::default() +// } +// }); +// assert!(!Executive::runtime_upgraded()); + +// frame_system::LastRuntimeUpgrade::::take(); +// assert!(Executive::runtime_upgraded()); +// assert_eq!( +// Some(LastRuntimeUpgradeInfo { +// spec_version: 1.into(), +// spec_name: "test".into() +// }), +// frame_system::LastRuntimeUpgrade::::get(), +// ); +// }) +// } + +// #[test] +// fn last_runtime_upgrade_was_upgraded_works() { +// let test_data = vec![ +// (0, "", 1, "", true), +// (1, "", 1, "", false), +// (1, "", 1, "test", true), +// (1, "", 0, "", false), +// (1, "", 0, "test", true), +// ]; + +// for (spec_version, spec_name, c_spec_version, c_spec_name, result) in test_data { +// let current = sp_version::RuntimeVersion { +// spec_version: c_spec_version, +// spec_name: c_spec_name.into(), +// ..Default::default() +// }; + +// let last = LastRuntimeUpgradeInfo { +// spec_version: spec_version.into(), +// spec_name: spec_name.into(), +// }; + +// assert_eq!(result, last.was_upgraded(¤t)); +// } +// } + +// #[test] +// fn custom_runtime_upgrade_is_called_before_modules() { +// new_test_ext(1).execute_with(|| { +// // Make sure `on_runtime_upgrade` is called. +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// ..Default::default() +// } +// }); + +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// assert_eq!(&sp_io::storage::get(TEST_KEY).unwrap()[..], *b"module"); +// assert_eq!( +// sp_io::storage::get(CUSTOM_ON_RUNTIME_KEY).unwrap(), +// true.encode() +// ); +// }); +// } + +// #[test] +// fn event_from_runtime_upgrade_is_included() { +// new_test_ext(1).execute_with(|| { +// // Make sure `on_runtime_upgrade` is called. +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// ..Default::default() +// } +// }); + +// // set block number to non zero so events are not excluded +// System::set_block_number(1); + +// Executive::initialize_block(&Header::new( +// 2, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// System::assert_last_event(frame_system::Event::::CodeUpdated.into()); +// }); +// } + +// /// Regression test that ensures that the custom on runtime upgrade is called when executive is +// /// used through the `ExecuteBlock` trait. +// #[test] +// fn custom_runtime_upgrade_is_called_when_using_execute_block_trait() { +// let xt = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }), +// sign_extra(1, 0, 0), +// ); + +// let header = new_test_ext(1).execute_with(|| { +// // Make sure `on_runtime_upgrade` is called. +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// ..Default::default() +// } +// }); + +// // Let's build some fake block. +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// Executive::apply_extrinsic(xt.clone()).unwrap().unwrap(); + +// Executive::finalize_block() +// }); + +// // Reset to get the correct new genesis below. +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 0, +// ..Default::default() +// } +// }); + +// new_test_ext(1).execute_with(|| { +// // Make sure `on_runtime_upgrade` is called. +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// ..Default::default() +// } +// }); + +// >>::execute_block(Block::new(header, vec![xt])); + +// assert_eq!(&sp_io::storage::get(TEST_KEY).unwrap()[..], *b"module"); +// assert_eq!( +// sp_io::storage::get(CUSTOM_ON_RUNTIME_KEY).unwrap(), +// true.encode() +// ); +// }); +// } + +// #[test] +// fn all_weights_are_recorded_correctly() { +// new_test_ext(1).execute_with(|| { +// // Make sure `on_runtime_upgrade` is called for maximum complexity +// RuntimeVersionTestValues::mutate(|v| { +// *v = sp_version::RuntimeVersion { +// spec_version: 1, +// ..Default::default() +// } +// }); + +// let block_number = 1; + +// Executive::initialize_block(&Header::new( +// block_number, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// // All weights that show up in the `initialize_block_impl` +// let custom_runtime_upgrade_weight = CustomOnRuntimeUpgrade::on_runtime_upgrade(); +// let runtime_upgrade_weight = +// ::on_runtime_upgrade(); +// let on_initialize_weight = +// >::on_initialize(block_number); +// let base_block_weight = +// ::BlockWeights::get().base_block; + +// // Weights are recorded correctly +// assert_eq!( +// frame_system::Pallet::::block_weight().total(), +// custom_runtime_upgrade_weight +// + runtime_upgrade_weight +// + on_initialize_weight +// + base_block_weight, +// ); +// }); +// } + +// #[test] +// fn offchain_worker_works_as_expected() { +// new_test_ext(1).execute_with(|| { +// let parent_hash = sp_core::H256::from([69u8; 32]); +// let mut digest = Digest::default(); +// digest.push(DigestItem::Seal([1, 2, 3, 4], vec![5, 6, 7, 8])); + +// let header = Header::new( +// 1, +// H256::default(), +// H256::default(), +// parent_hash, +// digest.clone(), +// ); + +// Executive::offchain_worker(&header); + +// assert_eq!(digest, System::digest()); +// assert_eq!(parent_hash, System::block_hash(0)); +// assert_eq!(header.hash(), System::block_hash(1)); +// }); +// } + +// #[test] +// fn calculating_storage_root_twice_works() { +// let call = RuntimeCall::Custom(custom::Call::calculate_storage_root {}); +// let xt = TestXt::new(call, sign_extra(1, 0, 0)); + +// let header = new_test_ext(1).execute_with(|| { +// // Let's build some fake block. +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// Executive::apply_extrinsic(xt.clone()).unwrap().unwrap(); + +// Executive::finalize_block() +// }); + +// new_test_ext(1).execute_with(|| { +// Executive::execute_block(Block::new(header, vec![xt])); +// }); +// } + +// #[test] +// #[should_panic(expected = "Invalid inherent position for extrinsic at index 1")] +// fn invalid_inherent_position_fail() { +// let xt1 = TestXt::new( +// RuntimeCall::Balances(BalancesCall::transfer_allow_death { dest: 33, value: 0 }), +// sign_extra(1, 0, 0), +// ); +// let xt2 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent_call {}), None); + +// let header = new_test_ext(1).execute_with(|| { +// // Let's build some fake block. +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// Executive::apply_extrinsic(xt1.clone()).unwrap().unwrap(); +// Executive::apply_extrinsic(xt2.clone()).unwrap().unwrap(); + +// Executive::finalize_block() +// }); + +// new_test_ext(1).execute_with(|| { +// Executive::execute_block(Block::new(header, vec![xt1, xt2])); +// }); +// } + +// #[test] +// fn valid_inherents_position_works() { +// let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent_call {}), None); +// let xt2 = TestXt::new(call_transfer(33, 0), sign_extra(1, 0, 0)); + +// let header = new_test_ext(1).execute_with(|| { +// // Let's build some fake block. +// Executive::initialize_block(&Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// )); + +// Executive::apply_extrinsic(xt1.clone()).unwrap().unwrap(); +// Executive::apply_extrinsic(xt2.clone()).unwrap().unwrap(); + +// Executive::finalize_block() +// }); + +// new_test_ext(1).execute_with(|| { +// Executive::execute_block(Block::new(header, vec![xt1, xt2])); +// }); +// } + +// #[test] +// #[should_panic(expected = "A call was labelled as mandatory, but resulted in an Error.")] +// fn invalid_inherents_fail_block_execution() { +// let xt1 = TestXt::new( +// RuntimeCall::Custom(custom::Call::inherent_call {}), +// sign_extra(1, 0, 0), +// ); + +// new_test_ext(1).execute_with(|| { +// Executive::execute_block(Block::new( +// Header::new( +// 1, +// H256::default(), +// H256::default(), +// [69u8; 32].into(), +// Digest::default(), +// ), +// vec![xt1], +// )); +// }); +// } + +// // Inherents are created by the runtime and don't need to be validated. +// #[test] +// fn inherents_fail_validate_block() { +// let xt1 = TestXt::new(RuntimeCall::Custom(custom::Call::inherent_call {}), None); + +// new_test_ext(1).execute_with(|| { +// assert_eq!( +// Executive::validate_transaction(TransactionSource::External, xt1, H256::random()) +// .unwrap_err(), +// InvalidTransaction::MandatoryValidation.into() +// ); +// }) +// } +// } diff --git a/pallets/mandate/Cargo.toml b/pallets/mandate/Cargo.toml index 6b057649c..5ac95f19f 100644 --- a/pallets/mandate/Cargo.toml +++ b/pallets/mandate/Cargo.toml @@ -9,18 +9,18 @@ targets = ["x86_64-unknown-linux-gnu"] [dependencies] # Substrate codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] } -scale-info = { version = "2.1.1", default-features = false, features = ["derive"] } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } frame-support = { version = "4.0.0-dev", default-features = false } frame-system = { version = "4.0.0-dev", default-features = false, path = "../system" } -sp-io = { version = "7.0.0", default-features = false } -sp-runtime = { version = "7.0.0", default-features = false } -sp-std = { version = "5.0.0", default-features = false } +sp-io = { version = "23.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } # Benchmarking frame-benchmarking = { version = "4.0.0-dev", default-features = false, optional = true } [dev-dependencies] -sp-core = { version = "7.0.0", default-features = false } +sp-core = { version = "21.0.0", default-features = false } pallet-collective = { version = "4.0.0-dev", default-features = false } avail-core = { version = "0.5", features = ["runtime"] } diff --git a/pallets/mandate/src/mock.rs b/pallets/mandate/src/mock.rs index c939d1d25..2e783780d 100644 --- a/pallets/mandate/src/mock.rs +++ b/pallets/mandate/src/mock.rs @@ -5,31 +5,30 @@ use frame_support::{ }; use frame_system::EnsureRoot; use sp_core::H256; -use sp_runtime::traits::{BlakeTwo256, ConstU32, IdentityLookup}; +use sp_runtime::{ + traits::{BlakeTwo256, ConstU32, IdentityLookup}, + BuildStorage, +}; use crate::{self as pallet_mandate}; type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockDaBlock; type BlockNumber = u32; type AccountId = u32; frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { + pub struct Test { System: frame_system, TechnicalCommittee: pallet_collective, Mandate: pallet_mandate, } ); -frame_support::parameter_types! { +parameter_types! { pub const BlockHashCount: u32 = 250; pub BlockWeights: frame_system::limits::BlockWeights = - frame_system::limits::BlockWeights::simple_max(Weight::from_ref_time(1_024)); + frame_system::limits::BlockWeights::simple_max(Weight::from_parts(1_024, 0)); pub static ExistentialDeposit: u64 = 0; } @@ -37,18 +36,17 @@ impl frame_system::Config for Test { type AccountData = (); type AccountId = AccountId; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = BlockHashCount; type BlockLength = (); - type BlockNumber = BlockNumber; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = avail_core::header::Header; type HeaderExtensionBuilder = frame_system::header_builder::da::HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -68,16 +66,19 @@ parameter_types! { pub const CouncilMotionDuration: BlockNumber = 10; pub const CouncilMaxProposals: u32 = 100; pub const CouncilMaxMembers: u32 = 100; + pub const MaxProposalWeight: Weight = Weight::MAX; } impl pallet_collective::Config for Test { type DefaultVote = pallet_collective::PrimeDefaultVote; type MaxMembers = CouncilMaxMembers; + type MaxProposalWeight = MaxProposalWeight; type MaxProposals = CouncilMaxProposals; type MotionDuration = CouncilMotionDuration; type Proposal = RuntimeCall; type RuntimeEvent = RuntimeEvent; type RuntimeOrigin = RuntimeOrigin; + type SetMembersOrigin = EnsureRoot; type WeightInfo = (); } @@ -102,13 +103,17 @@ where r => Err(OuterOrigin::from(r)), }) } + + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + unimplemented!() + } } /// Create new externalities for `Mandate` module tests. -#[allow(dead_code)] pub fn new_test_ext() -> sp_io::TestExternalities { - let t = frame_system::GenesisConfig::default() - .build_storage::() + let t = frame_system::GenesisConfig::::default() + .build_storage() .unwrap(); let mut ext = sp_io::TestExternalities::new(t); ext.execute_with(|| System::set_block_number(1)); diff --git a/pallets/mandate/src/weights.rs b/pallets/mandate/src/weights.rs index 2a2217183..00746d878 100644 --- a/pallets/mandate/src/weights.rs +++ b/pallets/mandate/src/weights.rs @@ -58,7 +58,7 @@ pub struct SubstrateWeight(PhantomData); impl WeightInfo for SubstrateWeight { fn mandate() -> Weight { // Minimum execution time: 10_211 nanoseconds. - Weight::from_ref_time(10_586_000_u64) + Weight::from_parts(10_586_000, 0) } } @@ -66,6 +66,6 @@ impl WeightInfo for SubstrateWeight { impl WeightInfo for () { fn mandate() -> Weight { // Minimum execution time: 10_211 nanoseconds. - Weight::from_ref_time(10_586_000_u64) + Weight::from_parts(10_586_000, 0) } } diff --git a/pallets/mocked_runtime/Cargo.toml b/pallets/mocked_runtime/Cargo.toml index a4d354ddf..d656f17c0 100644 --- a/pallets/mocked_runtime/Cargo.toml +++ b/pallets/mocked_runtime/Cargo.toml @@ -6,27 +6,27 @@ edition = "2021" license = "Apache-2.0" homepage = "" repository = "" -description = "Mokend Runtime for Testing" +description = "Mokcked Runtime for Testing" [dependencies] avail-core = { version = "0.5", default-features = false, features = ["runtime"] } kate = { version = "0.8", default-features = false } da-control = { path = "../dactr" } -scale-info = { version = "2.1.1", features = ["derive"] } +scale-info = { version = "2.5.0", features = ["derive"] } codec = { package = "parity-scale-codec", version = "3", features = ["derive"] } parity-util-mem = { version = "0.12.0", features = ["primitive-types"] } derive_more = "0.99.17" serde = { version = "1.0.121", features = ["derive"] } frame-support = "4.0.0-dev" -sp-runtime = "7.0.0" -sp-core = "7.0.0" +sp-runtime = "24.0.0" +sp-core = "21.0.0" sp-staking = "4.0.0-dev" -sp-io = "7.0.0" -sp-version = "5" +sp-io = "23.0.0" +sp-version = "22.0.0" sp-inherents = "4.0.0-dev" -sp-std = "5.0.0" +sp-std = "8.0.0" # Pallets frame-system = { path = "../system" } diff --git a/pallets/mocked_runtime/src/custom.rs b/pallets/mocked_runtime/src/custom.rs index fe4f5cfb0..dc0f5e640 100644 --- a/pallets/mocked_runtime/src/custom.rs +++ b/pallets/mocked_runtime/src/custom.rs @@ -6,7 +6,6 @@ pub mod custom { use frame_system::pallet_prelude::*; #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] pub struct Pallet(_); #[pallet::config] @@ -18,12 +17,12 @@ pub mod custom { // one with block number arg and one without fn on_initialize(n: T::BlockNumber) -> Weight { println!("on_initialize({})", n); - Weight::from_ref_time(175) + Weight::from_parts(175, 0) } fn on_idle(n: T::BlockNumber, remaining_weight: Weight) -> Weight { println!("on_idle{}, {})", n, remaining_weight); - Weight::from_ref_time(175) + Weight::from_parts(175, 0) } fn on_finalize(n: T::BlockNumber) { @@ -32,7 +31,7 @@ pub mod custom { fn on_runtime_upgrade() -> Weight { sp_io::storage::set(super::TEST_KEY, "module".as_bytes()); - Weight::from_ref_time(200) + Weight::from_parts(200, 0) } fn offchain_worker(n: T::BlockNumber) { diff --git a/pallets/mocked_runtime/src/lib.rs b/pallets/mocked_runtime/src/lib.rs index 2a7344fca..627c0aef5 100644 --- a/pallets/mocked_runtime/src/lib.rs +++ b/pallets/mocked_runtime/src/lib.rs @@ -10,7 +10,6 @@ use frame_support::{ use frame_system::{CheckEra, CheckNonce, CheckWeight}; use pallet_transaction_payment::CurrencyAdapter; use sp_runtime::{ - generic::Block as SPBlock, traits::{BlakeTwo256, ConstU32, IdentityLookup, TrailingZeroInput}, }; use sp_std::marker::PhantomData; @@ -29,7 +28,7 @@ pub type Header = avail_core::header::Header; pub type Signature = sp_runtime::testing::sr25519::Signature; pub type TestXt = test_xt::TestXt; pub type UncheckedExtrinsic = TestXt; -pub type Block = SPBlock; +type Block = frame_system::mocking::MockDaBlock; pub type SignedExtra = ( CheckEra, CheckNonce, @@ -135,14 +134,13 @@ impl frame_system::Config for Runtime { type BaseCallFilter = frame_support::traits::Everything; type BlockHashCount = BlockHashCount; type BlockLength = (); - type BlockNumber = BlockNumber; + type Block = Block; type BlockWeights = BlockWeights; type DbWeight = (); type Hash = sp_core::H256; type Hashing = BlakeTwo256; - type Header = avail_core::header::Header; type HeaderExtensionBuilder = frame_system::header_builder::da::HeaderExtensionBuilder; - type Index = u64; + type Nonce = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; type OnKilledAccount = (); @@ -195,10 +193,7 @@ impl da_control::Config for Runtime { impl custom::custom::Config for Runtime {} construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic + pub struct Runtime { System: frame_system, Balances: pallet_balances, diff --git a/pallets/system/Cargo.toml b/pallets/system/Cargo.toml index 8d86e5360..dc93c0fc7 100644 --- a/pallets/system/Cargo.toml +++ b/pallets/system/Cargo.toml @@ -18,6 +18,7 @@ avail-core = { version = "0.5", default-features = false, features = ["runtime"] kate = { version = "0.8", default-features = false } # Other +cfg-if = "1.0" impl-trait-for-tuples = "0.2.1" static_assertions = "1.1.0" log = { version = "0.4.17", default-features = false } @@ -25,26 +26,26 @@ rs_merkle = { version = "1.2.0", default-features = false, optional = true } derive_more = { version = "0.99.17", default-features = false, features = ["from", "into"] } # Substrate -codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive"] } -scale-info = { version = "2.1.1", default-features = false, features = ["derive"] } -serde = { version = "1.0.136", features = ["derive"], optional = true } +codec = { package = "parity-scale-codec", version = "3.6.1", default-features = false, features = ["derive"] } +scale-info = { version = "2.5.0", default-features = false, features = ["derive", "serde"] } +serde = { version = "1.0.188", default-features = false, features = ["derive", "alloc"], optional = true } frame-support = { version = "4.0.0-dev", default-features = false } -sp-core = { version = "7.0.0", default-features = false } -sp-io = { version = "7.0.0", default-features = false } -sp-runtime = { version = "7.0.0", default-features = false } -sp-std = { version = "5.0.0", default-features = false } -sp-version = { version = "5.0.0", default-features = false } -sp-weights = { version = "4.0.0", default-features = false } -sp-runtime-interface = { version = "7.0.0", default-features = false } -beefy-merkle-tree = { version = "4.0.0-dev", default-features = false } +sp-core = { version = "21.0.0", default-features = false, features = ["serde"] } +sp-io = { version = "23.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false, features = ["serde"] } +sp-std = { version = "8.0.0", default-features = false } +sp-version = { version = "22.0.0", default-features = false, features = ["serde"] } +sp-weights = { version = "20.0.0", default-features = false, features = ["serde"] } +sp-runtime-interface = { version = "17", default-features = false } +binary-merkle-tree = { version = "4.0.0-dev", default-features = false } once_cell = { version = "1.18", optional = true } [dev-dependencies] hex-literal = "0.3.1" test-case = "1.2.3" -criterion = "0.3.3" -sp-externalities = "0.13" +criterion = "0.4.0" +sp-externalities = "0.19.0" [features] default = ["std"] @@ -56,7 +57,7 @@ std = [ "frame-support/std", "log/std", "scale-info/std", - "serde", + "serde/std", "sp-core/std", "sp-io/std", "sp-runtime-interface/std", @@ -64,17 +65,21 @@ std = [ "sp-std/std", "sp-version/std", "sp-weights/std", - "beefy-merkle-tree/std", + "binary-merkle-tree/std", "once_cell" ] runtime-benchmarks = [ "frame-support/runtime-benchmarks", "sp-runtime/runtime-benchmarks", + "serde", ] try-runtime = [ "frame-support/try-runtime", "avail-core/try-runtime" ] +serde = [ + "dep:serde", +] force-rs-merkle = [ "rs_merkle" ] # For testing backward/forward header compatibility. diff --git a/pallets/system/README.md b/pallets/system/README.md index c22b41e42..30b2ea737 100644 --- a/pallets/system/README.md +++ b/pallets/system/README.md @@ -33,7 +33,7 @@ The System module defines the following extensions: - [`CheckWeight`]: Checks the weight and length of the block and ensure that it does not exceed the limits. - [`CheckNonce`]: Checks the nonce of the transaction. Contains a single payload of type - `T::Index`. + `T::Nonce`. - [`CheckEra`]: Checks the era of the transaction. Contains a single payload of type `Era`. - [`CheckGenesis`]: Checks the provided genesis hash of the transaction. Must be a part of the signed payload of the transaction. diff --git a/pallets/system/benches/bench.rs b/pallets/system/benches/bench.rs index 3aa7f80a8..f8ed80bcb 100644 --- a/pallets/system/benches/bench.rs +++ b/pallets/system/benches/bench.rs @@ -15,21 +15,17 @@ // See the License for the specific language governing permissions and // limitations under the License. -use avail_core::header::Header as DaHeader; use criterion::{black_box, criterion_group, criterion_main, Criterion}; -use frame_support::{ - traits::{ConstU32, ConstU64}, - weights::Weight, -}; +use frame_support::{traits::ConstU32, weights::Weight}; use frame_system::{ header_builder::da::HeaderExtensionBuilder, - mocking::{MockBlock, MockUncheckedExtrinsic}, + mocking::{MockDaBlock, MockUncheckedExtrinsic}, test_utils::TestRandomness, }; use sp_core::H256; use sp_runtime::{ traits::{BlakeTwo256, IdentityLookup}, - Perbill, + BuildStorage, Perbill, }; #[frame_support::pallet] @@ -37,7 +33,6 @@ mod module { use frame_support::pallet_prelude::*; #[pallet::pallet] - #[pallet::generate_store(pub(super) trait Store)] pub struct Pallet(_); #[pallet::config] @@ -53,15 +48,12 @@ mod module { } type UncheckedExtrinsic = MockUncheckedExtrinsic; -type Block = MockBlock; +type Block = MockDaBlock; frame_support::construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, + pub struct Runtime { - System: frame_system::{Pallet, Call, Config, Storage, Event}, + System: frame_system::{Pallet, Call, Config, Storage, Event}, Module: module::{Pallet, Event}, } ); @@ -70,7 +62,7 @@ frame_support::parameter_types! { pub const BlockHashCount: u64 = 250; pub BlockWeights: frame_system::limits::BlockWeights = frame_system::limits::BlockWeights::with_sensible_defaults( - Weight::from_ref_time(4 * 1024 * 1024), Perbill::from_percent(75), + Weight::from_parts(4 * 1024 * 1024, 0), Perbill::from_percent(75), ); pub BlockLength: frame_system::limits::BlockLength = frame_system::limits::BlockLength::max_with_normal_ratio( @@ -81,18 +73,17 @@ impl frame_system::Config for Runtime { type AccountData = (); type AccountId = u64; type BaseCallFilter = frame_support::traits::Everything; - type BlockHashCount = ConstU64<250>; + type Block = Block; + type BlockHashCount = ConstU32<250>; type BlockLength = BlockLength; - type BlockNumber = u64; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = DaHeader; type HeaderExtensionBuilder = HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -113,9 +104,10 @@ impl module::Config for Runtime { } fn new_test_ext() -> sp_io::TestExternalities { - frame_system::GenesisConfig::default() - .build_storage::() - .unwrap() + RuntimeGenesisConfig::default() + .system + .build_storage() + .expect("Genesis build should work") .into() } diff --git a/pallets/system/benchmarking/Cargo.toml b/pallets/system/benchmarking/Cargo.toml index 1b6d9760a..bd4328e4e 100644 --- a/pallets/system/benchmarking/Cargo.toml +++ b/pallets/system/benchmarking/Cargo.toml @@ -17,18 +17,18 @@ avail-core = { version = "0.5", default-features = false, features = ["runtime"] # Substrate codec = { package = "parity-scale-codec", version = "3", default-features = false } -scale-info = { version = "2.1.1", default-features = false, features = ["derive"] } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } frame-benchmarking = { version = "4.0.0-dev", default-features = false } frame-support = { version = "4.0.0-dev", default-features = false } frame-system = { path = "../", default-features = false } -sp-core = { version = "7.0.0", default-features = false } -sp-runtime = { version = "7.0.0", default-features = false } -sp-std = { version = "5.0.0", default-features = false } +sp-core = { version = "21.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } [dev-dependencies] -sp-io = "7.0.0" -sp-version = "5" -sp-externalities = "0.13" +sp-io = "23.0.0" +sp-version = "22.0.0" +sp-externalities = "0.19.0" [features] default = ["std"] diff --git a/pallets/system/benchmarking/src/mock.rs b/pallets/system/benchmarking/src/mock.rs index 1f4a8c260..559f374ca 100644 --- a/pallets/system/benchmarking/src/mock.rs +++ b/pallets/system/benchmarking/src/mock.rs @@ -19,28 +19,25 @@ #![cfg(test)] -use avail_core::header::Header as DaHeader; use codec::Encode; use frame_system::{ header_builder::da::HeaderExtensionBuilder, mocking::MockUncheckedExtrinsic, test_utils::TestRandomness, }; use sp_core::H256; -use sp_runtime::traits::{BlakeTwo256, IdentityLookup}; +use sp_runtime::{ + traits::{BlakeTwo256, IdentityLookup}, + BuildStorage, +}; type AccountId = u64; type AccountIndex = u32; -type BlockNumber = u32; type UncheckedExtrinsic = MockUncheckedExtrinsic; -type Block = frame_system::mocking::MockBlock; +type Block = frame_system::mocking::MockDaBlock; frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, - { + pub struct Test { System: frame_system, } ); @@ -49,18 +46,17 @@ impl frame_system::Config for Test { type AccountData = (); type AccountId = AccountId; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = (); type BlockLength = (); - type BlockNumber = BlockNumber; type BlockWeights = (); type DbWeight = (); type Hash = H256; type Hashing = BlakeTwo256; - type Header = DaHeader; type HeaderExtensionBuilder = HeaderExtensionBuilder; - type Index = AccountIndex; type Lookup = IdentityLookup; type MaxConsumers = frame_support::traits::ConstU32<16>; + type Nonce = AccountIndex; type OnKilledAccount = (); type OnNewAccount = (); type OnSetCode = (); @@ -91,9 +87,10 @@ impl sp_core::traits::ReadRuntimeVersion for MockedReadRuntimeVersion { } pub fn new_test_ext() -> sp_io::TestExternalities { - let t = frame_system::GenesisConfig::default() - .build_storage::() - .unwrap(); + let t = RuntimeGenesisConfig::default() + .system + .build_storage() + .expect("Genesis build should work"); let version = sp_version::RuntimeVersion { spec_name: "".into(), diff --git a/pallets/system/rpc/runtime-api/src/lib.rs b/pallets/system/rpc/runtime-api/src/lib.rs index 6e01bdae2..8ee029520 100644 --- a/pallets/system/rpc/runtime-api/src/lib.rs +++ b/pallets/system/rpc/runtime-api/src/lib.rs @@ -24,12 +24,12 @@ #![cfg_attr(not(feature = "std"), no_std)] sp_api::decl_runtime_apis! { - /// The API to query account nonce (aka transaction index). - pub trait AccountNonceApi where + /// The API to query account nonce + pub trait AccountNonceApi where AccountId: codec::Codec, - Index: codec::Codec, + Nonce: codec::Codec, { /// Get current account nonce of given `AccountId`. - fn account_nonce(account: AccountId) -> Index; + fn account_nonce(account: AccountId) -> Nonce; } } diff --git a/pallets/system/src/data_root_builder.rs b/pallets/system/src/data_root_builder.rs index 15acb7b69..9b900aced 100644 --- a/pallets/system/src/data_root_builder.rs +++ b/pallets/system/src/data_root_builder.rs @@ -50,7 +50,7 @@ pub trait DataRootBuilder { .filter_map(|app_unchecked_extrinsic| { // Filter calls and traces removed calls // @TODO: We could avoid the the copy of data from filter - // once `beefy_merkle_tree::merkelize` becomes public. In that case, + // once `binary_merkle_tree::merkelize` becomes public. In that case, // we could work with iterator and lifescopes, having something like: // // ```Rust @@ -84,7 +84,7 @@ pub trait DataRootBuilder { where I: Iterator>, { - use beefy_merkle_tree::{merkle_root, Hash, Hasher}; + use binary_merkle_tree::{merkle_root, Hash, Hasher}; use sp_io::hashing::sha2_256; #[derive(Copy, Clone)] diff --git a/pallets/system/src/extensions/check_genesis.rs b/pallets/system/src/extensions/check_genesis.rs index 443c248de..155ff8d0f 100644 --- a/pallets/system/src/extensions/check_genesis.rs +++ b/pallets/system/src/extensions/check_genesis.rs @@ -22,7 +22,7 @@ use sp_runtime::{ transaction_validity::TransactionValidityError, }; -use crate::{Config, Pallet}; +use crate::{pallet_prelude::BlockNumberFor, Config, Pallet}; /// Genesis hash check to provide replay protection between different networks. /// @@ -41,13 +41,17 @@ impl sp_std::fmt::Debug for CheckGenesis { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } impl CheckGenesis { /// Creates new `SignedExtension` to check genesis hash. #[allow(clippy::new_without_default)] - pub fn new() -> Self { Self(sp_std::marker::PhantomData) } + pub fn new() -> Self { + Self(sp_std::marker::PhantomData) + } } impl SignedExtension for CheckGenesis { @@ -59,7 +63,7 @@ impl SignedExtension for CheckGenesis { const IDENTIFIER: &'static str = "CheckGenesis"; fn additional_signed(&self) -> Result { - Ok(>::block_hash(T::BlockNumber::zero())) + Ok(>::block_hash(>::zero())) } fn pre_dispatch( diff --git a/pallets/system/src/extensions/check_mortality.rs b/pallets/system/src/extensions/check_mortality.rs index a168e07f5..06ce4904d 100644 --- a/pallets/system/src/extensions/check_mortality.rs +++ b/pallets/system/src/extensions/check_mortality.rs @@ -25,7 +25,7 @@ use sp_runtime::{ }, }; -use crate::{BlockHash, Config, Pallet}; +use crate::{pallet_prelude::BlockNumberFor, BlockHash, Config, Pallet}; /// Check for transaction mortality. /// @@ -38,7 +38,9 @@ pub struct CheckMortality(pub Era, sp_std::marker::Phan impl CheckMortality { /// utility constructor. Used only in client/factory code. - pub fn from(era: Era) -> Self { Self(era, sp_std::marker::PhantomData) } + pub fn from(era: Era) -> Self { + Self(era, sp_std::marker::PhantomData) + } } impl sp_std::fmt::Debug for CheckMortality { @@ -48,7 +50,9 @@ impl sp_std::fmt::Debug for CheckMortality { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } impl SignedExtension for CheckMortality { @@ -76,7 +80,10 @@ impl SignedExtension for CheckMortality { fn additional_signed(&self) -> Result { let current_u64 = >::block_number().saturated_into::(); - let n = self.0.birth(current_u64).saturated_into::(); + let n = self + .0 + .birth(current_u64) + .saturated_into::>(); if !>::contains_key(n) { Err(InvalidTransaction::AncientBirthBlock.into()) } else { @@ -131,7 +138,7 @@ mod tests { fn signed_ext_check_era_should_change_longevity() { new_test_ext().execute_with(|| { let normal = DispatchInfo { - weight: Weight::from_ref_time(100), + weight: Weight::from_parts(100, 0), class: DispatchClass::Normal, pays_fee: Pays::Yes, }; diff --git a/pallets/system/src/extensions/check_non_zero_sender.rs b/pallets/system/src/extensions/check_non_zero_sender.rs index 3308cbb98..c5c38e963 100644 --- a/pallets/system/src/extensions/check_non_zero_sender.rs +++ b/pallets/system/src/extensions/check_non_zero_sender.rs @@ -16,7 +16,7 @@ // limitations under the License. use codec::{Decode, Encode}; -use frame_support::dispatch::DispatchInfo; +use frame_support::{dispatch::DispatchInfo, DefaultNoBound}; use scale_info::TypeInfo; use sp_runtime::{ traits::{DispatchInfoOf, Dispatchable, SignedExtension}, @@ -29,9 +29,9 @@ use sp_std::{marker::PhantomData, prelude::*}; use crate::Config; /// Check to ensure that the sender is not the zero address. -#[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] +#[derive(Encode, Decode, DefaultNoBound, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] -pub struct CheckNonZeroSender(PhantomData); +pub struct CheckNonZeroSender(PhantomData); impl sp_std::fmt::Debug for CheckNonZeroSender { #[cfg(feature = "std")] @@ -40,13 +40,17 @@ impl sp_std::fmt::Debug for CheckNonZeroSender { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } impl CheckNonZeroSender { /// Create new `SignedExtension` to check runtime version. #[allow(clippy::new_without_default)] - pub fn new() -> Self { Self(sp_std::marker::PhantomData) } + pub fn new() -> Self { + Self(sp_std::marker::PhantomData) + } } impl SignedExtension for CheckNonZeroSender @@ -60,7 +64,9 @@ where const IDENTIFIER: &'static str = "CheckNonZeroSender"; - fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> { Ok(()) } + fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> { + Ok(()) + } fn pre_dispatch( self, diff --git a/pallets/system/src/extensions/check_nonce.rs b/pallets/system/src/extensions/check_nonce.rs index a1c897c4c..622305e25 100644 --- a/pallets/system/src/extensions/check_nonce.rs +++ b/pallets/system/src/extensions/check_nonce.rs @@ -38,11 +38,13 @@ use crate::Config; /// some kind of priority upon validating transactions. #[derive(Encode, Decode, Clone, Eq, PartialEq, TypeInfo)] #[scale_info(skip_type_params(T))] -pub struct CheckNonce(#[codec(compact)] pub T::Index); +pub struct CheckNonce(#[codec(compact)] pub T::Nonce); impl CheckNonce { /// utility constructor. Used only in client/factory code. - pub fn from(nonce: T::Index) -> Self { Self(nonce) } + pub fn from(nonce: T::Nonce) -> Self { + Self(nonce) + } } impl sp_std::fmt::Debug for CheckNonce { @@ -52,7 +54,9 @@ impl sp_std::fmt::Debug for CheckNonce { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } impl SignedExtension for CheckNonce @@ -66,7 +70,9 @@ where const IDENTIFIER: &'static str = "CheckNonce"; - fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> { Ok(()) } + fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> { + Ok(()) + } fn pre_dispatch( self, @@ -84,7 +90,7 @@ where } .into()); } - account.nonce += T::Index::one(); + account.nonce += T::Nonce::one(); crate::Account::::insert(who, account); Ok(()) } @@ -129,13 +135,16 @@ mod tests { #[test] fn signed_ext_check_nonce_works() { new_test_ext().execute_with(|| { - crate::Account::::insert(1, crate::AccountInfo { - nonce: 1, - consumers: 0, - providers: 0, - sufficients: 0, - data: 0, - }); + crate::Account::::insert( + 1, + crate::AccountInfo { + nonce: 1, + consumers: 0, + providers: 0, + sufficients: 0, + data: 0, + }, + ); let info = DispatchInfo::default(); let len = 0_usize; // stale diff --git a/pallets/system/src/extensions/check_spec_version.rs b/pallets/system/src/extensions/check_spec_version.rs index 7057051ad..f46a02c62 100644 --- a/pallets/system/src/extensions/check_spec_version.rs +++ b/pallets/system/src/extensions/check_spec_version.rs @@ -41,13 +41,17 @@ impl sp_std::fmt::Debug for CheckSpecVersion { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } impl CheckSpecVersion { /// Create new `SignedExtension` to check runtime version. #[allow(clippy::new_without_default)] - pub fn new() -> Self { Self(sp_std::marker::PhantomData) } + pub fn new() -> Self { + Self(sp_std::marker::PhantomData) + } } impl SignedExtension for CheckSpecVersion { diff --git a/pallets/system/src/extensions/check_tx_version.rs b/pallets/system/src/extensions/check_tx_version.rs index f5566054a..6d7f74f2a 100644 --- a/pallets/system/src/extensions/check_tx_version.rs +++ b/pallets/system/src/extensions/check_tx_version.rs @@ -41,13 +41,17 @@ impl sp_std::fmt::Debug for CheckTxVersion { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } impl CheckTxVersion { /// Create new `SignedExtension` to check transaction version. #[allow(clippy::new_without_default)] - pub fn new() -> Self { Self(sp_std::marker::PhantomData) } + pub fn new() -> Self { + Self(sp_std::marker::PhantomData) + } } impl SignedExtension for CheckTxVersion { diff --git a/pallets/system/src/extensions/check_weight.rs b/pallets/system/src/extensions/check_weight.rs index 4e2fc8df7..924bdaeb3 100644 --- a/pallets/system/src/extensions/check_weight.rs +++ b/pallets/system/src/extensions/check_weight.rs @@ -129,7 +129,9 @@ where } /// Creates new `SignedExtension` to check weight of the extrinsic. - pub fn new() -> Self { Self(Default::default()) } + pub fn new() -> Self { + Self(Default::default()) + } /// Do the pre-dispatch checks. This can be applied to both signed and unsigned. /// @@ -177,10 +179,10 @@ where // add the weight. If class is unlimited, use saturating add instead of checked one. if limit_per_class.max_total.is_none() && limit_per_class.reserved.is_none() { - all_weight.add(extrinsic_weight, info.class) + all_weight.accrue(extrinsic_weight, info.class) } else { all_weight - .checked_add(extrinsic_weight, info.class) + .checked_accrue(extrinsic_weight, info.class) .map_err(|_| InvalidTransaction::ExhaustsResources)?; } @@ -224,7 +226,9 @@ where const IDENTIFIER: &'static str = "CheckWeight"; - fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> { Ok(()) } + fn additional_signed(&self) -> sp_std::result::Result<(), TransactionValidityError> { + Ok(()) + } fn pre_dispatch( self, @@ -272,7 +276,7 @@ where let unspent = post_info.calc_unspent(info); if unspent.any_gt(Weight::zero()) { crate::BlockWeight::::mutate(|current_weight| { - current_weight.sub(unspent, info.class); + current_weight.reduce(unspent, info.class); }) } @@ -287,7 +291,9 @@ impl sp_std::fmt::Debug for CheckWeight { } #[cfg(not(feature = "std"))] - fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { Ok(()) } + fn fmt(&self, _: &mut sp_std::fmt::Formatter) -> sp_std::fmt::Result { + Ok(()) + } } #[cfg(test)] @@ -317,7 +323,9 @@ mod tests { .unwrap_or_else(|| block_weights().max_block) } - fn block_weight_limit() -> Weight { block_weights().max_block } + fn block_weight_limit() -> Weight { + block_weights().max_block + } fn normal_length_limit() -> u32 { *::BlockLength::get() @@ -357,7 +365,7 @@ mod tests { weight: block_weights() .get(DispatchClass::Normal) .max_extrinsic - .unwrap() + Weight::from_ref_time(1), + .unwrap() + Weight::from_parts(1, 0), class: DispatchClass::Normal, ..Default::default() }; @@ -386,7 +394,7 @@ mod tests { ..Default::default() }; let max = DispatchInfo { - weight: weight + Weight::from_ref_time(1), + weight: weight + Weight::from_parts(1, 0), class: DispatchClass::Operational, ..Default::default() }; @@ -421,11 +429,11 @@ mod tests { // So normal extrinsic can be 758 weight (-5 for base extrinsic weight) // And Operational can be 246 to produce a full block (-10 for base) let max_normal = DispatchInfo { - weight: Weight::from_ref_time(753), + weight: Weight::from_parts(753, 0), ..Default::default() }; let rest_operational = DispatchInfo { - weight: Weight::from_ref_time(246), + weight: Weight::from_parts(246, 0), class: DispatchClass::Operational, ..Default::default() }; @@ -433,12 +441,9 @@ mod tests { let len = 0_usize; assert_ok!(CheckWeight::::do_pre_dispatch(&max_normal, len)); - assert_eq!(System::block_weight().total(), Weight::from_ref_time(768)); + assert_eq!(System::block_weight().total(), Weight::from_parts(768, 0)); assert_ok!(CheckWeight::::do_pre_dispatch(&rest_operational, len)); - assert_eq!( - block_weight_limit(), - Weight::from_ref_time(1024).set_proof_size(u64::MAX) - ); + assert_eq!(block_weight_limit(), Weight::from_parts(1024, u64::MAX)); assert_eq!( System::block_weight().total(), block_weight_limit().set_proof_size(0) @@ -456,11 +461,11 @@ mod tests { new_test_ext().execute_with(|| { // We switch the order of `full_block_with_normal_and_operational` let max_normal = DispatchInfo { - weight: Weight::from_ref_time(753), + weight: Weight::from_parts(753, 0), ..Default::default() }; let rest_operational = DispatchInfo { - weight: Weight::from_ref_time(246), + weight: Weight::from_parts(246, 0), class: DispatchClass::Operational, ..Default::default() }; @@ -469,12 +474,9 @@ mod tests { assert_ok!(CheckWeight::::do_pre_dispatch(&rest_operational, len)); // Extra 20 here from block execution + base extrinsic weight - assert_eq!(System::block_weight().total(), Weight::from_ref_time(266)); + assert_eq!(System::block_weight().total(), Weight::from_parts(266, 0)); assert_ok!(CheckWeight::::do_pre_dispatch(&max_normal, len)); - assert_eq!( - block_weight_limit(), - Weight::from_ref_time(1024).set_proof_size(u64::MAX) - ); + assert_eq!(block_weight_limit(), Weight::from_parts(1024, u64::MAX)); assert_eq!( System::block_weight().total(), block_weight_limit().set_proof_size(0) @@ -488,12 +490,12 @@ mod tests { // An on_initialize takes up the whole block! (Every time!) System::register_extra_weight_unchecked(Weight::MAX, DispatchClass::Mandatory); let dispatch_normal = DispatchInfo { - weight: Weight::from_ref_time(251), + weight: Weight::from_parts(251, 0), class: DispatchClass::Normal, ..Default::default() }; let dispatch_operational = DispatchInfo { - weight: Weight::from_ref_time(246), + weight: Weight::from_parts(246, 0), class: DispatchClass::Operational, ..Default::default() }; @@ -526,11 +528,11 @@ mod tests { fn signed_ext_check_weight_works_operational_tx() { new_test_ext().execute_with(|| { let normal = DispatchInfo { - weight: Weight::from_ref_time(100), + weight: Weight::from_parts(100, 0), ..Default::default() }; let op = DispatchInfo { - weight: Weight::from_ref_time(100), + weight: Weight::from_parts(100, 0), class: DispatchClass::Operational, pays_fee: Pays::Yes, }; @@ -599,7 +601,7 @@ mod tests { new_test_ext().execute_with(|| { let normal_limit = normal_weight_limit(); let small = DispatchInfo { - weight: Weight::from_ref_time(100), + weight: Weight::from_parts(100, 0), ..Default::default() }; let base_extrinsic = block_weights().get(DispatchClass::Normal).base_extrinsic; @@ -608,7 +610,7 @@ mod tests { ..Default::default() }; let big = DispatchInfo { - weight: normal_limit - base_extrinsic + Weight::from_ref_time(1), + weight: normal_limit - base_extrinsic + Weight::from_parts(1, 0), ..Default::default() }; let len = 0_usize; @@ -627,7 +629,7 @@ mod tests { reset_check_weight(&small, false, Weight::zero()); reset_check_weight(&medium, false, Weight::zero()); - reset_check_weight(&big, true, Weight::from_ref_time(1)); + reset_check_weight(&big, true, Weight::from_parts(1, 0)); }) } @@ -636,11 +638,11 @@ mod tests { new_test_ext().execute_with(|| { // This is half of the max block weight let info = DispatchInfo { - weight: Weight::from_ref_time(512), + weight: Weight::from_parts(512, 0), ..Default::default() }; let post_info = PostDispatchInfo { - actual_weight: Some(Weight::from_ref_time(128)), + actual_weight: Some(Weight::from_parts(128, 0)), pays_fee: Default::default(), }; let len = 0_usize; @@ -650,7 +652,7 @@ mod tests { BlockWeight::::mutate(|current_weight| { current_weight.set(Weight::zero(), DispatchClass::Mandatory); current_weight.set( - Weight::from_ref_time(256) - base_extrinsic, + Weight::from_parts(256, 0) - base_extrinsic, DispatchClass::Normal, ); }); @@ -660,7 +662,7 @@ mod tests { .unwrap(); assert_eq!( BlockWeight::::get().total(), - info.weight + Weight::from_ref_time(256) + info.weight + Weight::from_parts(256, 0) ); assert_ok!(CheckWeight::::post_dispatch( @@ -672,7 +674,7 @@ mod tests { )); assert_eq!( BlockWeight::::get().total(), - post_info.actual_weight.unwrap() + Weight::from_ref_time(256) + post_info.actual_weight.unwrap() + Weight::from_parts(256, 0) ); }) } @@ -681,18 +683,18 @@ mod tests { fn signed_ext_check_weight_actual_weight_higher_than_max_is_capped() { new_test_ext().execute_with(|| { let info = DispatchInfo { - weight: Weight::from_ref_time(512), + weight: Weight::from_parts(512, 0), ..Default::default() }; let post_info = PostDispatchInfo { - actual_weight: Some(Weight::from_ref_time(700)), + actual_weight: Some(Weight::from_parts(700, 0)), pays_fee: Default::default(), }; let len = 0_usize; BlockWeight::::mutate(|current_weight| { current_weight.set(Weight::zero(), DispatchClass::Mandatory); - current_weight.set(Weight::from_ref_time(128), DispatchClass::Normal); + current_weight.set(Weight::from_parts(128, 0), DispatchClass::Normal); }); let pre = CheckWeight::(PhantomData) @@ -701,7 +703,7 @@ mod tests { assert_eq!( BlockWeight::::get().total(), info.weight - + Weight::from_ref_time(128) + + Weight::from_parts(128, 0) + block_weights().get(DispatchClass::Normal).base_extrinsic, ); @@ -715,7 +717,7 @@ mod tests { assert_eq!( BlockWeight::::get().total(), info.weight - + Weight::from_ref_time(128) + + Weight::from_parts(128, 0) + block_weights().get(DispatchClass::Normal).base_extrinsic, ); }) @@ -748,11 +750,11 @@ mod tests { // Max normal is 768 (75%) // Max mandatory is unlimited let max_normal = DispatchInfo { - weight: Weight::from_ref_time(753), + weight: Weight::from_parts(753, 0), ..Default::default() }; let mandatory = DispatchInfo { - weight: Weight::from_ref_time(1019), + weight: Weight::from_parts(1019, 0), class: DispatchClass::Mandatory, ..Default::default() }; @@ -760,15 +762,12 @@ mod tests { let len = 0_usize; assert_ok!(CheckWeight::::do_pre_dispatch(&max_normal, len)); - assert_eq!(System::block_weight().total(), Weight::from_ref_time(768)); + assert_eq!(System::block_weight().total(), Weight::from_parts(768, 0)); assert_ok!(CheckWeight::::do_pre_dispatch(&mandatory, len)); - assert_eq!( - block_weight_limit(), - Weight::from_ref_time(1024).set_proof_size(u64::MAX) - ); + assert_eq!(block_weight_limit(), Weight::from_parts(1024, u64::MAX)); assert_eq!( System::block_weight().total(), - Weight::from_ref_time(1024 + 768) + Weight::from_parts(1024 + 768, 0) ); assert_eq!( CheckWeight::::check_extrinsic_weight(&mandatory), @@ -784,17 +783,17 @@ mod tests { .base_block(Weight::zero()) .for_class(DispatchClass::non_mandatory(), |w| { w.base_extrinsic = Weight::zero(); - w.max_total = Some(Weight::from_ref_time(20).set_proof_size(u64::MAX)); + w.max_total = Some(Weight::from_parts(20, u64::MAX)); }) .for_class(DispatchClass::Mandatory, |w| { w.base_extrinsic = Weight::zero(); - w.reserved = Some(Weight::from_ref_time(5).set_proof_size(u64::MAX)); + w.reserved = Some(Weight::from_parts(5, u64::MAX)); w.max_total = None; }) .build_or_panic(); let all_weight = crate::ConsumedWeight::new(|class| match class { - DispatchClass::Normal => Weight::from_ref_time(10), - DispatchClass::Operational => Weight::from_ref_time(10), + DispatchClass::Normal => Weight::from_parts(10, 0), + DispatchClass::Operational => Weight::from_parts(10, 0), DispatchClass::Mandatory => Weight::zero(), }); assert_eq!( @@ -804,13 +803,13 @@ mod tests { // fits into reserved let mandatory1 = DispatchInfo { - weight: Weight::from_ref_time(5), + weight: Weight::from_parts(5, 0), class: DispatchClass::Mandatory, ..Default::default() }; // does not fit into reserved and the block is full. let mandatory2 = DispatchInfo { - weight: Weight::from_ref_time(6), + weight: Weight::from_parts(6, 0), class: DispatchClass::Mandatory, ..Default::default() }; diff --git a/pallets/system/src/lib.rs b/pallets/system/src/lib.rs index 2961316ad..8862100aa 100644 --- a/pallets/system/src/lib.rs +++ b/pallets/system/src/lib.rs @@ -63,32 +63,34 @@ //! extensions included in a chain. #![cfg_attr(not(feature = "std"), no_std)] -#![feature(result_option_inspect)] use avail_core::{ - header::HeaderExtension, traits::ExtendedHeader, AppExtrinsic, OpaqueExtrinsic, - BLOCK_CHUNK_SIZE, + header::HeaderExtension, + traits::{ExtendedBlock, ExtendedHeader}, + AppExtrinsic, OpaqueExtrinsic, BLOCK_CHUNK_SIZE, }; use codec::{Decode, Encode, EncodeLike, FullCodec, MaxEncodedLen}; -#[cfg(feature = "std")] -use frame_support::traits::GenesisBuild; use frame_support::{ dispatch::{ extract_actual_pays_fee, extract_actual_weight, DispatchClass, DispatchInfo, DispatchResult, DispatchResultWithPostInfo, PerDispatchClass, }, + impl_ensure_origin_with_arg_ignoring_arg, storage::{self, StorageStreamIter}, traits::{ - ConstU32, Contains, EnsureOrigin, Get, HandleLifetime, OnKilledAccount, OnNewAccount, - OriginTrait, PalletInfo, SortedMembers, StoredMap, TypedGet, + ConstU32, Contains, EnsureOrigin, EnsureOriginWithArg, Get, HandleLifetime, + OnKilledAccount, OnNewAccount, OriginTrait, PalletInfo, Randomness, SortedMembers, + StoredMap, TypedGet, }, Parameter, }; use kate::Seed; +use pallet_prelude::{BlockNumberFor, DaHeaderFor}; use scale_info::TypeInfo; #[cfg(feature = "std")] use serde::Serialize; use sp_core::storage::well_known_keys; +use sp_io::hashing::blake2_256; #[cfg(any(feature = "std", test))] use sp_io::TestExternalities; #[cfg(feature = "runtime-benchmarks")] @@ -96,9 +98,9 @@ use sp_runtime::traits::TrailingZeroInput; use sp_runtime::{ generic, traits::{ - self, AtLeast32Bit, AtLeast32BitUnsigned, BadOrigin, BlockNumberProvider, Bounded, - CheckEqual, Dispatchable, Hash, Lookup, LookupError, MaybeDisplay, Member, One, Saturating, - SimpleBitOps, StaticLookup, UniqueSaturatedInto, Zero, + AtLeast32Bit, BadOrigin, BlockNumberProvider, Bounded, CheckEqual, Dispatchable, Hash, + Lookup, LookupError, MaybeDisplay, Member, One, Saturating, SimpleBitOps, StaticLookup, + UniqueSaturatedInto, Zero, }, DispatchError, RuntimeDebug, }; @@ -189,15 +191,23 @@ pub trait ConsumerLimits { } impl ConsumerLimits for ConstU32 { - fn max_consumers() -> RefCount { Z } + fn max_consumers() -> RefCount { + Z + } - fn max_overflow() -> RefCount { Z } + fn max_overflow() -> RefCount { + Z + } } impl, MaxOverflow: Get> ConsumerLimits for (MaxNormal, MaxOverflow) { - fn max_consumers() -> RefCount { MaxNormal::get() } + fn max_consumers() -> RefCount { + MaxNormal::get() + } - fn max_overflow() -> RefCount { MaxOverflow::get() } + fn max_overflow() -> RefCount { + MaxOverflow::get() + } } #[derive(Clone, Encode, Decode, TypeInfo, MaxEncodedLen)] pub struct ExtrinsicLen { @@ -216,16 +226,17 @@ impl Default for ExtrinsicLen { #[frame_support::pallet] pub mod pallet { - use frame_support::pallet_prelude::*; + use frame_support::{pallet_prelude::*, DefaultNoBound}; use crate::{self as frame_system, pallet_prelude::*, *}; /// System configuration trait. Implemented by runtime. - #[pallet::config] + #[pallet::config(with_default)] #[pallet::disable_frame_system_supertrait_check] pub trait Config: 'static + Eq + Clone { /// The basic call filter to use in Origin. All origins are built with this filter as base, /// except Root. + #[pallet::no_default] type BaseCallFilter: Contains; /// Block & extrinsics weights: base values and limits. @@ -237,20 +248,21 @@ pub mod pallet { type BlockLength: Get; /// The `RuntimeOrigin` type used by dispatchable calls. + #[pallet::no_default] type RuntimeOrigin: Into, Self::RuntimeOrigin>> + From> + Clone - + OriginTrait; + + OriginTrait; /// The aggregated `RuntimeCall` type. + #[pallet::no_default] type RuntimeCall: Parameter + Dispatchable + Debug + From>; - /// Account index (aka nonce) type. This stores the number of previous transactions - /// associated with a sender account. - type Index: Parameter + /// This stores the number of previous transactions associated with a sender account. + type Nonce: Parameter + Member + MaybeSerializeDeserialize + Debug @@ -260,21 +272,6 @@ pub mod pallet { + Copy + MaxEncodedLen; - /// The block number type used by the runtime. - type BlockNumber: Parameter - + Member - + MaybeSerializeDeserialize - + Debug - + MaybeDisplay - + AtLeast32BitUnsigned - + Default - + Bounded - + Copy - + sp_std::hash::Hash - + sp_std::str::FromStr - + MaxEncodedLen - + TypeInfo; - /// The output of the `Hashing` function. type Hash: Parameter + Member @@ -312,16 +309,12 @@ pub mod pallet { /// functional/efficient alternatives. type Lookup: StaticLookup; - /// The block header. - type Header: Parameter - + traits::Header - + ExtendedHeader; - /// Header builder type HeaderExtensionBuilder: header_builder::HeaderExtensionBuilder; /// Source of random seeds. - type Randomness: frame_support::traits::Randomness; + #[pallet::no_default] + type Randomness: Randomness>; /// The aggregated event type of the runtime. type RuntimeEvent: Parameter @@ -330,9 +323,15 @@ pub mod pallet { + Debug + IsType<::RuntimeEvent>; + /// The Block type used by the runtime. This is used by `construct_runtime` to retrieve the + /// extrinsics or other block specific data as needed. + #[pallet::no_default] + type Block: Parameter + Member + ExtendedBlock; + /// Maximum number of block number to block hash mappings to keep (oldest pruned first). #[pallet::constant] - type BlockHashCount: Get; + #[pallet::no_default] + type BlockHashCount: Get>; /// The weight of runtime database operations the runtime can invoke. #[pallet::constant] @@ -348,6 +347,7 @@ pub mod pallet { /// runtime. /// /// For tests it is okay to use `()` as type, however it will provide "useless" data. + #[pallet::no_default] type PalletInfo: PalletInfo; /// Data to be associated with an account (other than nonce/transaction counter, which this @@ -379,22 +379,24 @@ pub mod pallet { /// [`Pallet::update_code_in_storage`]). /// It's unlikely that this needs to be customized, unless you are writing a parachain using /// `Cumulus`, where the actual code change is deferred. + #[pallet::no_default] type OnSetCode: SetCode; /// The maximum number of consumers allowed on a single account. type MaxConsumers: ConsumerLimits; /// Filter used by `DataRootBuilder`. + #[pallet::no_default] type SubmittedDataExtractor: submitted_data::Extractor + submitted_data::Filter; /// UncheckedExtrinsic Type used on Kate commitment & Data root calculation. + #[pallet::no_default] type UncheckedExtrinsic: Into + for<'a> TryFrom<&'a OpaqueExtrinsic, Error = codec::Error>; } #[pallet::pallet] - #[pallet::generate_store(pub (super) trait Store)] pub struct Pallet(_); #[pallet::hooks] @@ -416,10 +418,10 @@ pub mod pallet { /// # /// - `O(1)` /// # + /// Can be executed by every `origin`. #[pallet::call_index(0)] #[pallet::weight(T::SystemWeightInfo::remark(_remark.len() as u32))] - pub fn remark(origin: OriginFor, _remark: Vec) -> DispatchResultWithPostInfo { - ensure_signed_or_root(origin)?; + pub fn remark(_origin: OriginFor, _remark: Vec) -> DispatchResultWithPostInfo { Ok(().into()) } @@ -434,35 +436,17 @@ pub mod pallet { } /// Set the new runtime code. - /// - /// # - /// - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` - /// - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is - /// expensive). - /// - 1 storage write (codec `O(C)`). - /// - 1 digest item. - /// - 1 event. - /// The weight of this function is dependent on the runtime, but generally this is very - /// expensive. We will treat this as a full block. - /// # #[pallet::call_index(2)] #[pallet::weight((T::SystemWeightInfo::set_code(), DispatchClass::Operational))] pub fn set_code(origin: OriginFor, code: Vec) -> DispatchResultWithPostInfo { ensure_root(origin)?; Self::can_set_code(&code)?; T::OnSetCode::set_code(code)?; - Ok(().into()) + // consume the rest of the block to prevent further transactions + Ok(Some(T::BlockWeights::get().max_block).into()) } /// Set the new runtime code without doing any checks of the given `code`. - /// - /// # - /// - `O(C)` where `C` length of `code` - /// - 1 storage write (codec `O(C)`). - /// - 1 digest item. - /// - 1 event. - /// The weight of this function is dependent on the runtime. We will treat this as a full - /// block. # #[pallet::call_index(3)] #[pallet::weight((T::SystemWeightInfo::set_code(), DispatchClass::Operational))] pub fn set_code_without_checks( @@ -471,7 +455,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { ensure_root(origin)?; T::OnSetCode::set_code(code)?; - Ok(().into()) + Ok(Some(T::BlockWeights::get().max_block).into()) } /// Set some items of storage. @@ -598,7 +582,7 @@ pub mod pallet { _, Blake2_128Concat, T::AccountId, - AccountInfo, + AccountInfo, ValueQuery, >; @@ -620,7 +604,7 @@ pub mod pallet { #[pallet::storage] #[pallet::getter(fn block_hash)] pub type BlockHash = - StorageMap<_, Twox64Concat, T::BlockNumber, T::Hash, ValueQuery>; + StorageMap<_, Twox64Concat, BlockNumberFor, T::Hash, ValueQuery>; /// Extrinsics data for the current block (maps an extrinsic's index to its data). #[pallet::storage] @@ -633,7 +617,7 @@ pub mod pallet { #[pallet::storage] #[pallet::whitelist_storage] #[pallet::getter(fn block_number)] - pub(super) type Number = StorageValue<_, T::BlockNumber, ValueQuery>; + pub(super) type Number = StorageValue<_, BlockNumberFor, ValueQuery>; /// Hash of the previous block. #[pallet::storage] @@ -672,14 +656,14 @@ pub mod pallet { /// allows light-clients to leverage the changes trie storage tracking mechanism and /// in case of changes fetch the list of events of interest. /// - /// The value has the type `(T::BlockNumber, EventIndex)` because if we used only just + /// The value has the type `(BlockNumberFor, EventIndex)` because if we used only just /// the `EventIndex` then in case if the topic has the same contents on the next block /// no notification will be triggered thus the event might be lost. #[pallet::storage] #[pallet::unbounded] #[pallet::getter(fn event_topics)] pub(super) type EventTopics = - StorageMap<_, Blake2_128Concat, T::Hash, Vec<(T::BlockNumber, EventIndex)>, ValueQuery>; + StorageMap<_, Blake2_128Concat, T::Hash, Vec<(BlockNumberFor, EventIndex)>, ValueQuery>; /// Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened. #[pallet::storage] @@ -705,47 +689,25 @@ pub mod pallet { #[pallet::getter(fn block_length)] pub type DynamicBlockLength = StorageValue<_, limits::BlockLength, ValueQuery>; + #[derive(DefaultNoBound)] #[pallet::genesis_config] - pub struct GenesisConfig { + pub struct GenesisConfig { #[serde(with = "sp_core::bytes")] pub code: Vec, + #[serde(skip)] + pub _config: sp_std::marker::PhantomData, #[serde(with = "sp_core::bytes")] pub kc_public_params: Vec, pub block_length: limits::BlockLength, } - #[cfg(feature = "std")] - impl Default for GenesisConfig { - fn default() -> Self { - use kate::config::{MAX_BLOCK_COLUMNS, MAX_BLOCK_ROWS}; - - let normal = sp_runtime::Perbill::from_percent(90); - let block_length = limits::BlockLength::with_normal_ratio( - MAX_BLOCK_ROWS, - MAX_BLOCK_COLUMNS, - BLOCK_CHUNK_SIZE, - normal, - ) - .expect("Valid BlockLength at genesis .qed"); - - let kc_public_params = - kate::testnet::public_params(MAX_BLOCK_COLUMNS).to_raw_var_bytes(); - - Self { - code: Default::default(), - kc_public_params, - block_length, - } - } - } - #[pallet::genesis_build] - impl GenesisBuild for GenesisConfig { + impl BuildGenesisConfig for GenesisConfig { fn build(&self) { use avail_core::well_known_keys::KATE_PUBLIC_PARAMS; use frame_support::traits::StorageVersion; - >::insert::<_, T::Hash>(T::BlockNumber::zero(), hash69()); + >::insert::<_, T::Hash>(BlockNumberFor::::zero(), hash69()); >::put::(hash69()); >::put(LastRuntimeUpgradeInfo::from(T::Version::get())); >::put(true); @@ -761,26 +723,6 @@ pub mod pallet { } } -#[cfg(feature = "std")] -impl GenesisConfig { - /// Direct implementation of `GenesisBuild::build_storage`. - /// - /// Kept in order not to break dependency. - pub fn build_storage(&self) -> Result { - >::build_storage(self) - } - - /// Direct implementation of `GenesisBuild::assimilate_storage`. - /// - /// Kept in order not to break dependency. - pub fn assimilate_storage( - &self, - storage: &mut sp_runtime::Storage, - ) -> Result<(), String> { - >::assimilate_storage(self, storage) - } -} - pub type Key = Vec; pub type KeyValue = (Vec, Vec); @@ -797,7 +739,9 @@ pub enum Phase { } impl Default for Phase { - fn default() -> Self { Self::Initialization } + fn default() -> Self { + Self::Initialization + } } /// Record of an event happening. @@ -814,7 +758,6 @@ pub struct EventRecord { // Create a Hash with 69 for each byte, // only used to build genesis config. -#[cfg(feature = "std")] fn hash69 + Default>() -> T { let mut h = T::default(); h.as_mut().iter_mut().for_each(|byte| *byte = 69); @@ -832,9 +775,9 @@ pub type RefCount = u32; /// Information of an account. #[derive(Clone, Eq, PartialEq, Default, RuntimeDebug, Encode, Decode, TypeInfo, MaxEncodedLen)] -pub struct AccountInfo { +pub struct AccountInfo { /// The number of transactions this account has sent. - pub nonce: Index, + pub nonce: Nonce, /// The number of other modules that currently depend on this account's existence. The account /// cannot be reaped until this is zero. pub consumers: RefCount, @@ -891,7 +834,15 @@ impl, O>> + From>, Acco } #[cfg(feature = "runtime-benchmarks")] - fn try_successful_origin() -> Result { Ok(O::from(RawOrigin::Root)) } + fn try_successful_origin() -> Result { + Ok(O::from(RawOrigin::Root)) + } +} + +impl_ensure_origin_with_arg_ignoring_arg! { + impl< { O: .., AccountId: Decode, T } > + EnsureOriginWithArg for EnsureRoot + {} } /// Ensure the origin is Root and return the provided `Success` value. @@ -914,7 +865,15 @@ impl< } #[cfg(feature = "runtime-benchmarks")] - fn try_successful_origin() -> Result { Ok(O::from(RawOrigin::Root)) } + fn try_successful_origin() -> Result { + Ok(O::from(RawOrigin::Root)) + } +} + +impl_ensure_origin_with_arg_ignoring_arg! { + impl< { O: .., AccountId: Decode, Success: TypedGet, T } > + EnsureOriginWithArg for EnsureRootWithSuccess + {} } /// Ensure the origin is provided `Ensure` origin and return the provided `Success` value. @@ -936,7 +895,15 @@ impl< } #[cfg(feature = "runtime-benchmarks")] - fn try_successful_origin() -> Result { Ensure::try_successful_origin() } + fn try_successful_origin() -> Result { + Ensure::try_successful_origin() + } +} + +impl_ensure_origin_with_arg_ignoring_arg! { + impl< { O: .., AccountId: Decode, T } > + EnsureOriginWithArg for EnsureSigned + {} } /// Ensure the origin is any `Signed` origin. @@ -980,17 +947,23 @@ impl< #[cfg(feature = "runtime-benchmarks")] fn try_successful_origin() -> Result { - let zero_account_id = + let _zero_account_id = AccountId::decode(&mut TrailingZeroInput::zeroes()).map_err(|_| ())?; - let members = Who::sorted_members(); - let first_member = match members.get(0) { + let _members = Who::sorted_members(); + let first_member = match Who::sorted_members().first() { Some(account) => account.clone(), - None => zero_account_id, + None => AccountId::decode(&mut TrailingZeroInput::zeroes()).map_err(|_| ())?, }; Ok(O::from(RawOrigin::Signed(first_member))) } } +impl_ensure_origin_with_arg_ignoring_arg! { + impl< { O: .., Who: SortedMembers, AccountId: PartialEq + Clone + Ord + Decode, T } > + EnsureOriginWithArg for EnsureSignedBy + {} +} + /// Ensure the origin is `None`. i.e. unsigned transaction. pub struct EnsureNone(sp_std::marker::PhantomData); impl, O>> + From>, AccountId> @@ -1006,18 +979,36 @@ impl, O>> + From>, Acco } #[cfg(feature = "runtime-benchmarks")] - fn try_successful_origin() -> Result { Ok(O::from(RawOrigin::None)) } + fn try_successful_origin() -> Result { + Ok(O::from(RawOrigin::None)) + } +} + +impl_ensure_origin_with_arg_ignoring_arg! { + impl< { O: .., AccountId, T } > + EnsureOriginWithArg for EnsureNone + {} } /// Always fail. -pub struct EnsureNever(sp_std::marker::PhantomData); -impl EnsureOrigin for EnsureNever { - type Success = T; +pub struct EnsureNever(sp_std::marker::PhantomData); +impl EnsureOrigin for EnsureNever { + type Success = Success; - fn try_origin(o: O) -> Result { Err(o) } + fn try_origin(o: O) -> Result { + Err(o) + } #[cfg(feature = "runtime-benchmarks")] - fn try_successful_origin() -> Result { Err(()) } + fn try_successful_origin() -> Result { + Err(()) + } +} + +impl_ensure_origin_with_arg_ignoring_arg! { + impl< { O, Success, T } > + EnsureOriginWithArg for EnsureNever + {} } /// Ensure that the origin `o` represents a signed extrinsic (i.e. transaction). @@ -1096,7 +1087,9 @@ pub enum DecRefStatus { } impl Pallet { - pub fn account_exists(who: &T::AccountId) -> bool { Account::::contains_key(who) } + pub fn account_exists(who: &T::AccountId) -> bool { + Account::::contains_key(who) + } /// Write code to the storage and emit related events and digest items. /// @@ -1112,20 +1105,28 @@ impl Pallet { /// Increment the reference counter on an account. #[deprecated = "Use `inc_consumers` instead"] - pub fn inc_ref(who: &T::AccountId) { let _ = Self::inc_consumers(who); } + pub fn inc_ref(who: &T::AccountId) { + let _ = Self::inc_consumers(who); + } /// Decrement the reference counter on an account. This *MUST* only be done once for every time /// you called `inc_consumers` on `who`. #[deprecated = "Use `dec_consumers` instead"] - pub fn dec_ref(who: &T::AccountId) { Self::dec_consumers(who); } + pub fn dec_ref(who: &T::AccountId) { + Self::dec_consumers(who); + } /// The number of outstanding references for the account `who`. #[deprecated = "Use `consumers` instead"] - pub fn refs(who: &T::AccountId) -> RefCount { Self::consumers(who) } + pub fn refs(who: &T::AccountId) -> RefCount { + Self::consumers(who) + } /// True if the account has no outstanding references. #[deprecated = "Use `!is_provider_required` instead"] - pub fn allow_death(who: &T::AccountId) -> bool { !Self::is_provider_required(who) } + pub fn allow_death(who: &T::AccountId) -> bool { + !Self::is_provider_required(who) + } /// Increment the provider reference counter on an account. pub fn inc_providers(who: &T::AccountId) -> IncRefStatus { @@ -1235,10 +1236,14 @@ impl Pallet { } /// The number of outstanding provider references for the account `who`. - pub fn providers(who: &T::AccountId) -> RefCount { Account::::get(who).providers } + pub fn providers(who: &T::AccountId) -> RefCount { + Account::::get(who).providers + } /// The number of outstanding sufficient references for the account `who`. - pub fn sufficients(who: &T::AccountId) -> RefCount { Account::::get(who).sufficients } + pub fn sufficients(who: &T::AccountId) -> RefCount { + Account::::get(who).sufficients + } /// The number of outstanding provider and sufficient references for the account `who`. pub fn reference_count(who: &T::AccountId) -> RefCount { @@ -1295,7 +1300,9 @@ impl Pallet { } /// The number of outstanding references for the account `who`. - pub fn consumers(who: &T::AccountId) -> RefCount { Account::::get(who).consumers } + pub fn consumers(who: &T::AccountId) -> RefCount { + Account::::get(who).consumers + } /// True if the account has some outstanding consumer references. pub fn is_provider_required(who: &T::AccountId) -> bool { @@ -1308,13 +1315,25 @@ impl Pallet { a.consumers == 0 || a.providers > 1 } - /// True if the account has at least one provider reference. - pub fn can_inc_consumer(who: &T::AccountId) -> bool { + /// True if the account has at least one provider reference and adding `amount` consumer + /// references would not take it above the the maximum. + pub fn can_accrue_consumers(who: &T::AccountId, amount: u32) -> bool { let a = Account::::get(who); - a.providers > 0 && a.consumers < T::MaxConsumers::max_consumers() + match a.consumers.checked_add(amount) { + Some(c) => a.providers > 0 && c <= T::MaxConsumers::max_consumers(), + None => false, + } + } + + /// True if the account has at least one provider reference and fewer consumer references than + /// the maximum. + pub fn can_inc_consumer(who: &T::AccountId) -> bool { + Self::can_accrue_consumers(who, 1) } /// Deposits an event into this block's event record. + /// + /// NOTE: Events not registered at the genesis block and quietly omitted. pub fn deposit_event(event: impl Into) { Self::deposit_event_indexed(&[], event.into()); } @@ -1324,6 +1343,8 @@ impl Pallet { /// /// This will update storage entries that correspond to the specified topics. /// It is expected that light-clients could subscribe to this topics. + /// + /// NOTE: Events not registered at the genesis block and quietly omitted. pub fn deposit_event_indexed(topics: &[T::Hash], event: T::RuntimeEvent) { let block_number = Self::block_number(); // Don't populate events on genesis. @@ -1364,10 +1385,14 @@ impl Pallet { } /// Gets extrinsics count. - pub fn extrinsic_count() -> u32 { ExtrinsicCount::::get().unwrap_or_default() } + pub fn extrinsic_count() -> u32 { + ExtrinsicCount::::get().unwrap_or_default() + } /// Returns all extrinsics len in raw. - pub fn all_extrinsics_len() -> u32 { AllExtrinsicsLen::::get().unwrap_or_default().raw } + pub fn all_extrinsics_len() -> u32 { + AllExtrinsicsLen::::get().unwrap_or_default().raw + } /// Returns all extrinsics len with padding. pub fn all_padded_extrinsics_len() -> u32 { @@ -1391,15 +1416,17 @@ impl Pallet { /// Another potential use-case could be for the `on_initialize` and `on_finalize` hooks. pub fn register_extra_weight_unchecked(weight: Weight, class: DispatchClass) { BlockWeight::::mutate(|current_weight| { - current_weight.add(weight, class); + current_weight.accrue(weight, class); }); } /// Start the execution of a particular block. - pub fn initialize(number: &T::BlockNumber, parent_hash: &T::Hash, digest: &generic::Digest) { + pub fn initialize(number: &BlockNumberFor, parent_hash: &T::Hash, digest: &generic::Digest) { // populate environment ExecutionPhase::::put(Phase::Initialization); storage::unhashed::put(well_known_keys::EXTRINSIC_INDEX, &0u32); + let entropy = (b"frame_system::initialize", parent_hash).using_encoded(blake2_256); + storage::unhashed::put_raw(well_known_keys::INTRABLOCK_ENTROPY, &entropy[..]); >::put(number); >::put(digest); >::put(parent_hash); @@ -1411,7 +1438,7 @@ impl Pallet { /// Remove temporary "environment" entries in storage, compute the storage root and return the /// resulting header for this block. - pub fn finalize() -> T::Header { + pub fn finalize() -> DaHeaderFor { log::debug!( target: LOG_TARGET, "[{:?}] {} extrinsics, length: {} (normal {}%, op: {}%, mandatory {}%) / normal weight:\ @@ -1450,6 +1477,7 @@ impl Pallet { ExecutionPhase::::kill(); AllExtrinsicsLen::::kill(); + storage::unhashed::kill(well_known_keys::INTRABLOCK_ENTROPY); // The following fields // // - > @@ -1496,15 +1524,14 @@ impl Pallet { let app_extrinsics = opaques .iter() .filter_map(|opaque| { - T::UncheckedExtrinsic::try_from(opaque) - .inspect_err(|e| { - log::error!( - target: LOG_TARGET, - "Opaque extrinsic cannot be decoded as UncheckedExtrinsic: {e:?}" - ) - }) - .map(T::UncheckedExtrinsic::into) - .ok() + let res = T::UncheckedExtrinsic::try_from(opaque); + if let Err(e) = res.as_ref() { + log::error!( + target: LOG_TARGET, + "Opaque extrinsic cannot be decoded as UncheckedExtrinsic: {e:?}" + ) + } + res.map(T::UncheckedExtrinsic::into).ok() }) .collect::>(); @@ -1516,8 +1543,8 @@ impl Pallet { ); let extrinsics_root = extrinsics_data_root::(extrinsics); - let header = as ExtendedHeader< + BlockNumberFor, T::Hash, generic::Digest, HeaderExtension, @@ -1547,15 +1574,17 @@ impl Pallet { /// - `O(1)` /// - 1 storage write (codec `O(1)`) /// # - pub fn deposit_log(item: generic::DigestItem) { >::append(item); } + pub fn deposit_log(item: generic::DigestItem) { + >::append(item); + } /// Get the basic externalities for this pallet, useful for tests. #[cfg(any(feature = "std", test))] pub fn externalities() -> TestExternalities { TestExternalities::new(sp_core::storage::Storage { top: map![ - >::hashed_key_for(T::BlockNumber::zero()) => [69u8; 32].encode(), - >::hashed_key().to_vec() => T::BlockNumber::one().encode(), + >::hashed_key_for(BlockNumberFor::::zero()) => [69u8; 32].encode(), + >::hashed_key().to_vec() => BlockNumberFor::::one().encode(), >::hashed_key().to_vec() => [69u8; 32].encode() ], children_default: map![], @@ -1567,13 +1596,29 @@ impl Pallet { /// NOTE: This should only be used in tests. Reading events from the runtime can have a large /// impact on the PoV size of a block. Users should use alternative and well bounded storage /// items for any behavior like this. + /// + /// NOTE: Events not registered at the genesis block and quietly omitted. #[cfg(any(feature = "std", feature = "runtime-benchmarks", test))] pub fn events() -> Vec> { + debug_assert!( + !Self::block_number().is_zero(), + "events not registered at the genesis block" + ); // Dereferencing the events here is fine since we are not in the // memory-restricted runtime. Self::read_events_no_consensus().map(|e| *e).collect() } + /// Get a single event at specified index. + /// + /// Should only be called if you know what you are doing and outside of the runtime block + /// execution else it can have a large impact on the PoV size of a block. + pub fn event_no_consensus(index: usize) -> Option { + Self::read_events_no_consensus() + .nth(index) + .map(|e| e.event.clone()) + } + /// Get the current events deposited by the runtime. /// /// Should only be called if you know what you are doing and outside of the runtime block @@ -1586,7 +1631,9 @@ impl Pallet { /// Set the block number to something in particular. Can be used as an alternative to /// `initialize` for tests that don't need to bother with the other environment entries. #[cfg(any(feature = "std", feature = "runtime-benchmarks", test))] - pub fn set_block_number(n: T::BlockNumber) { >::put(n); } + pub fn set_block_number(n: BlockNumberFor) { + >::put(n); + } /// Sets the index of extrinsic that is currently executing. #[cfg(any(feature = "std", test))] @@ -1597,7 +1644,9 @@ impl Pallet { /// Set the parent hash number to something in particular. Can be used as an alternative to /// `initialize` for tests that don't need to bother with the other environment entries. #[cfg(any(feature = "std", test))] - pub fn set_parent_hash(n: T::Hash) { >::put(n); } + pub fn set_parent_hash(n: T::Hash) { + >::put(n); + } /// Set the current block weight. This should only be used in some integration tests. #[cfg(any(feature = "std", test))] @@ -1626,28 +1675,46 @@ impl Pallet { } /// Assert the given `event` exists. + /// + /// NOTE: Events not registered at the genesis block and quietly omitted. #[cfg(any(feature = "std", feature = "runtime-benchmarks", test))] pub fn assert_has_event(event: T::RuntimeEvent) { - assert!(Self::events().iter().any(|record| record.event == event)) + let events = Self::events(); + assert!( + events.iter().any(|record| record.event == event), + "expected event {event:?} not found in events {events:?}", + ); } /// Assert the last event equal to the given `event`. + /// + /// NOTE: Events not registered at the genesis block and quietly omitted. #[cfg(any(feature = "std", feature = "runtime-benchmarks", test))] pub fn assert_last_event(event: T::RuntimeEvent) { - assert_eq!(Self::events().last().expect("events expected").event, event); + let last_event = Self::events() + .last() + .expect("events expected") + .event + .clone(); + assert_eq!( + last_event, event, + "expected event {event:?} is not equal to the last event {last_event:?}", + ); } /// Return the chain's current runtime version. - pub fn runtime_version() -> RuntimeVersion { T::Version::get() } + pub fn runtime_version() -> RuntimeVersion { + T::Version::get() + } /// Retrieve the account transaction counter from storage. - pub fn account_nonce(who: impl EncodeLike) -> T::Index { + pub fn account_nonce(who: impl EncodeLike) -> T::Nonce { Account::::get(who).nonce } /// Increment a particular account's nonce by 1. pub fn inc_account_nonce(who: impl EncodeLike) { - Account::::mutate(who, |a| a.nonce += T::Index::one()); + Account::::mutate(who, |a| a.nonce += T::Nonce::one()); } /// Note what the extrinsic data of the current extrinsic index is. @@ -1703,10 +1770,12 @@ impl Pallet { /// To be called immediately after finishing the initialization of the block /// (e.g., called `on_initialize` for all pallets). - pub fn note_finished_initialize() { ExecutionPhase::::put(Phase::ApplyExtrinsic(0)) } + pub fn note_finished_initialize() { + ExecutionPhase::::put(Phase::ApplyExtrinsic(0)) + } /// An account is being created. - pub fn on_created_account(who: T::AccountId, _a: &mut AccountInfo) { + pub fn on_created_account(who: T::AccountId, _a: &mut AccountInfo) { T::OnNewAccount::on_new_account(&who); Self::deposit_event(Event::NewAccount { account: who }); } @@ -1728,15 +1797,23 @@ impl Pallet { .and_then(|v| RuntimeVersion::decode(&mut &v[..]).ok()) .ok_or(Error::::FailedToExtractRuntimeVersion)?; - if new_version.spec_name != current_version.spec_name { - return Err(Error::::InvalidSpecName.into()); - } + cfg_if::cfg_if! { + if #[cfg(all(feature = "runtime-benchmarks", not(test)))] { + // Let's ensure the compiler doesn't optimize our fetching of the runtime version away. + core::hint::black_box((new_version, current_version)); + Ok(()) + } else { + if new_version.spec_name != current_version.spec_name { + return Err(Error::::InvalidSpecName.into()) + } - if new_version.spec_version <= current_version.spec_version { - return Err(Error::::SpecVersionNeedsToIncrease.into()); - } + if new_version.spec_version <= current_version.spec_version { + return Err(Error::::SpecVersionNeedsToIncrease.into()) + } - Ok(()) + Ok(()) + } + } } pub fn take_extrinsics() -> impl Iterator> { @@ -1751,6 +1828,16 @@ impl Pallet { } } +/// Returns a 32 byte datum which is guaranteed to be universally unique. `entropy` is provided +/// as a facility to reduce the potential for precalculating results. +pub fn unique(entropy: impl Encode) -> [u8; 32] { + let mut last = [0u8; 32]; + sp_io::storage::read(well_known_keys::INTRABLOCK_ENTROPY, &mut last[..], 0); + let next = (b"frame_system::unique", entropy, last).using_encoded(blake2_256); + sp_io::storage::set(well_known_keys::INTRABLOCK_ENTROPY, &next); + next +} + /// Event handler which registers a provider when created. pub struct Provider(PhantomData); impl HandleLifetime for Provider { @@ -1781,7 +1868,9 @@ impl HandleLifetime for SelfSufficient { /// Event handler which registers a consumer when created. pub struct Consumer(PhantomData); impl HandleLifetime for Consumer { - fn created(t: &T::AccountId) -> Result<(), DispatchError> { Pallet::::inc_consumers(t) } + fn created(t: &T::AccountId) -> Result<(), DispatchError> { + Pallet::::inc_consumers(t) + } fn killed(t: &T::AccountId) -> Result<(), DispatchError> { Pallet::::dec_consumers(t); @@ -1790,47 +1879,36 @@ impl HandleLifetime for Consumer { } impl BlockNumberProvider for Pallet { - type BlockNumber = ::BlockNumber; + type BlockNumber = BlockNumberFor; - fn current_block_number() -> Self::BlockNumber { Pallet::::block_number() } + fn current_block_number() -> Self::BlockNumber { + Pallet::::block_number() + } } -fn is_providing(d: &T) -> bool { d != &T::default() } - /// Implement StoredMap for a simple single-item, provide-when-not-default system. This works fine /// for storing a single item which allows the account to continue existing as long as it's not /// empty/default. /// /// Anything more complex will need more sophisticated logic. impl StoredMap for Pallet { - fn get(k: &T::AccountId) -> T::AccountData { Account::::get(k).data } + fn get(k: &T::AccountId) -> T::AccountData { + Account::::get(k).data + } fn try_mutate_exists>( k: &T::AccountId, f: impl FnOnce(&mut Option) -> Result, ) -> Result { let account = Account::::get(k); - let was_providing = is_providing(&account.data); - let mut some_data = if was_providing { - Some(account.data) - } else { - None - }; + let is_default = account.data == T::AccountData::default(); + let mut some_data = if is_default { None } else { Some(account.data) }; let result = f(&mut some_data)?; - let is_providing = some_data.is_some(); - if !was_providing && is_providing { - Self::inc_providers(k); - } else if was_providing && !is_providing { - match Self::dec_providers(k)? { - DecRefStatus::Reaped => return Ok(result), - DecRefStatus::Exists => { - // Update value as normal... - }, - } - } else if !was_providing && !is_providing { - return Ok(result); + if Self::providers(k) > 0 || Self::sufficients(k) > 0 { + Account::::mutate(k, |a| a.data = some_data.unwrap_or_default()); + } else { + Account::::remove(k) } - Account::::mutate(k, |a| a.data = some_data.unwrap_or_default()); Ok(result) } } @@ -1851,7 +1929,9 @@ pub fn split_inner( pub struct ChainContext(PhantomData); impl Default for ChainContext { - fn default() -> Self { ChainContext(PhantomData) } + fn default() -> Self { + ChainContext(PhantomData) + } } impl Lookup for ChainContext { @@ -1865,11 +1945,26 @@ impl Lookup for ChainContext { /// Prelude to be used alongside pallet macro, for ease of use. pub mod pallet_prelude { + use avail_core::header::HeaderExtension; + pub use crate::{ensure_none, ensure_root, ensure_signed, ensure_signed_or_root}; /// Type alias for the `Origin` associated type of system config. pub type OriginFor = ::RuntimeOrigin; + /// Type alias for the substrate `Header`. + pub type HeaderFor = + <::Block as sp_runtime::traits::HeaderProvider>::HeaderT; + /// Type alias for the `BlockNumber` associated type of system config. - pub type BlockNumberFor = ::BlockNumber; + pub type BlockNumberFor = as sp_runtime::traits::Header>::Number; + + /// Type alias for the DA Header + pub type DaHeaderFor = + <::Block as avail_core::traits::DaHeaderProvider< + BlockNumberFor, + ::Hash, + sp_runtime::generic::Digest, + HeaderExtension, + >>::DaHeader; } diff --git a/pallets/system/src/limits.rs b/pallets/system/src/limits.rs index a34e522be..55a6a0cc3 100644 --- a/pallets/system/src/limits.rs +++ b/pallets/system/src/limits.rs @@ -35,7 +35,7 @@ use frame_support::{ }; use kate::config::{DATA_CHUNK_SIZE, MAX_BLOCK_COLUMNS, MAX_BLOCK_ROWS}; use scale_info::{build::Fields, Path, Type, TypeInfo}; -#[cfg(feature = "std")] +#[cfg(feature = "serde")] use serde::{Deserialize, Serialize}; use sp_runtime::{traits::Bounded, Perbill, RuntimeDebug}; use sp_runtime_interface::pass_by::PassByCodec; @@ -43,15 +43,18 @@ use sp_std::vec::Vec; use static_assertions::const_assert; /// Block length limit configuration. -#[cfg_attr(feature = "std", derive(Serialize, Deserialize))] -#[cfg_attr(feature = "std", serde(rename_all = "camelCase"))] +#[cfg_attr( + feature = "serde", + derive(Serialize, Deserialize), + serde(rename_all = "camelCase") +)] #[derive(RuntimeDebug, PartialEq, Clone, PassByCodec, MaxEncodedLen)] pub struct BlockLength { /// Maximal total length in bytes for each extrinsic class. /// /// In the worst case, the total block length is going to be: /// `MAX(max)` - #[cfg_attr(feature = "std", serde(with = "per_dispatch_class_serde"))] + #[cfg_attr(feature = "serde", serde(with = "per_dispatch_class_serde"))] pub max: PerDispatchClass, pub cols: BlockLengthColumns, pub rows: BlockLengthRows, @@ -72,7 +75,9 @@ const fn is_chunk_size_valid(new_size: NonZeroU32) -> bool { impl BlockLength { #[inline] - pub fn chunk_size(&self) -> NonZeroU32 { self.chunk_size } + pub fn chunk_size(&self) -> NonZeroU32 { + self.chunk_size + } pub fn set_chunk_size(&mut self, new_size: NonZeroU32) -> Result<(), BlockLengthError> { ensure!( @@ -156,7 +161,7 @@ impl Decode for BlockLength { } /// This module adds serialization support to `BlockLength::max` field. -#[cfg(feature = "std")] +#[cfg(feature = "serde")] mod per_dispatch_class_serde { use serde::{Deserializer, Serializer}; @@ -409,11 +414,15 @@ impl Default for BlockWeights { impl BlockWeights { /// Get per-class weight settings. - pub fn get(&self, class: DispatchClass) -> &WeightsPerClass { self.per_class.get(class) } + pub fn get(&self, class: DispatchClass) -> &WeightsPerClass { + self.per_class.get(class) + } /// Verifies correctness of this `BlockWeights` object. pub fn validate(self) -> ValidationResult { - fn or_max(w: Option) -> Weight { w.unwrap_or_else(Weight::max_value) } + fn or_max(w: Option) -> Weight { + w.unwrap_or_else(Weight::max_value) + } let mut error = ValidationErrors::default(); for class in DispatchClass::all() { @@ -640,5 +649,7 @@ mod tests { use super::*; #[test] - fn default_weights_are_valid() { BlockWeights::default().validate().unwrap(); } + fn default_weights_are_valid() { + BlockWeights::default().validate().unwrap(); + } } diff --git a/pallets/system/src/migrations/mod.rs b/pallets/system/src/migrations/mod.rs index 43e417ebb..130d51bd5 100644 --- a/pallets/system/src/migrations/mod.rs +++ b/pallets/system/src/migrations/mod.rs @@ -32,8 +32,8 @@ type RefCount = u32; /// Information of an account. #[derive(Clone, Eq, PartialEq, Default, RuntimeDebug, Encode, Decode)] -struct AccountInfo { - nonce: Index, +struct AccountInfo { + nonce: Nonce, consumers: RefCount, providers: RefCount, sufficients: RefCount, @@ -48,8 +48,8 @@ pub trait V2ToV3 { /// System config account id type AccountId: 'static + FullCodec; - /// System config index - type Index: 'static + FullCodec + Copy; + /// System config Nonce + type Nonce: 'static + FullCodec + Copy; /// System config account data type AccountData: 'static + FullCodec; @@ -66,13 +66,13 @@ type Account = StorageMap< Pallet, Blake2_128Concat, ::AccountId, - AccountInfo<::Index, ::AccountData>, + AccountInfo<::Nonce, ::AccountData>, >; /// Migrate from unique `u8` reference counting to triple `u32` reference counting. pub fn migrate_from_single_u8_to_triple_ref_count() -> Weight { let mut translated: usize = 0; - >::translate::<(V::Index, u8, V::AccountData), _>(|_key, (nonce, rc, data)| { + >::translate::<(V::Nonce, u8, V::AccountData), _>(|_key, (nonce, rc, data)| { translated += 1; Some(AccountInfo { nonce, @@ -95,7 +95,7 @@ pub fn migrate_from_single_u8_to_triple_ref_count() -> Wei /// Migrate from unique `u32` reference counting to triple `u32` reference counting. pub fn migrate_from_single_to_triple_ref_count() -> Weight { let mut translated: usize = 0; - >::translate::<(V::Index, RefCount, V::AccountData), _>( + >::translate::<(V::Nonce, RefCount, V::AccountData), _>( |_key, (nonce, consumers, data)| { translated += 1; Some(AccountInfo { @@ -119,7 +119,7 @@ pub fn migrate_from_single_to_triple_ref_count() -> Weight /// Migrate from dual `u32` reference counting to triple `u32` reference counting. pub fn migrate_from_dual_to_triple_ref_count() -> Weight { let mut translated: usize = 0; - >::translate::<(V::Index, RefCount, RefCount, V::AccountData), _>( + >::translate::<(V::Nonce, RefCount, RefCount, V::AccountData), _>( |_key, (nonce, consumers, providers, data)| { translated += 1; Some(AccountInfo { diff --git a/pallets/system/src/mock.rs b/pallets/system/src/mock.rs index 1695f28ce..724055854 100644 --- a/pallets/system/src/mock.rs +++ b/pallets/system/src/mock.rs @@ -19,27 +19,24 @@ use frame_support::{parameter_types, traits::ConstU32}; use sp_core::H256; use sp_runtime::{ traits::{BlakeTwo256, IdentityLookup}, - Perbill, + BuildStorage, Perbill, }; use crate::{self as frame_system, test_utils::TestRandomness, *}; type UncheckedExtrinsic = mocking::MockUncheckedExtrinsic; -type Block = mocking::MockBlock; -type BlockNumber = u32; +type Block = mocking::MockDaBlock; +// type BlockNumber = u32; frame_support::construct_runtime!( - pub enum Test where - Block = Block, - NodeBlock = Block, - UncheckedExtrinsic = UncheckedExtrinsic, + pub struct Test { - System: frame_system::{Pallet, Call, Config, Storage, Event}, + System: frame_system::{Pallet, Call, Config, Storage, Event}, } ); const NORMAL_DISPATCH_RATIO: Perbill = Perbill::from_percent(75); -const MAX_BLOCK_WEIGHT: Weight = Weight::from_ref_time(1024).set_proof_size(u64::MAX); +const MAX_BLOCK_WEIGHT: Weight = Weight::from_parts(1024, u64::MAX); parameter_types! { pub Version: RuntimeVersion = RuntimeVersion { @@ -57,15 +54,15 @@ parameter_types! { write: 100, }; pub RuntimeBlockWeights: limits::BlockWeights = limits::BlockWeights::builder() - .base_block(Weight::from_ref_time(10)) + .base_block(Weight::from_parts(10, 0)) .for_class(DispatchClass::all(), |weights| { - weights.base_extrinsic = Weight::from_ref_time(5); + weights.base_extrinsic = Weight::from_parts(5, 0); }) .for_class(DispatchClass::Normal, |weights| { weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAX_BLOCK_WEIGHT); }) .for_class(DispatchClass::Operational, |weights| { - weights.base_extrinsic = Weight::from_ref_time(10); + weights.base_extrinsic = Weight::from_parts(10, 0); weights.max_total = Some(MAX_BLOCK_WEIGHT); weights.reserved = Some( MAX_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAX_BLOCK_WEIGHT @@ -83,25 +80,26 @@ parameter_types! { pub struct RecordKilled; impl OnKilledAccount for RecordKilled { - fn on_killed_account(who: &u64) { Killed::mutate(|r| r.push(*who)) } + fn on_killed_account(who: &u64) { + Killed::mutate(|r| r.push(*who)) + } } impl Config for Test { type AccountData = u32; type AccountId = u64; type BaseCallFilter = frame_support::traits::Everything; + type Block = Block; type BlockHashCount = ConstU32<10>; type BlockLength = RuntimeBlockLength; - type BlockNumber = u32; type BlockWeights = RuntimeBlockWeights; type DbWeight = DbWeight; type Hash = H256; type Hashing = BlakeTwo256; - type Header = avail_core::header::Header; type HeaderExtensionBuilder = frame_system::header_builder::da::HeaderExtensionBuilder; - type Index = u64; type Lookup = IdentityLookup; type MaxConsumers = ConstU32<16>; + type Nonce = u64; type OnKilledAccount = RecordKilled; type OnNewAccount = (); type OnSetCode = (); @@ -128,10 +126,10 @@ pub const CALL: &::RuntimeCall = /// Create new externalities for `System` module tests. #[allow(dead_code)] pub fn new_test_ext() -> sp_io::TestExternalities { - let mut ext: sp_io::TestExternalities = GenesisConfig::default() + let mut ext: sp_io::TestExternalities = RuntimeGenesisConfig::default() .system - .build_storage::() - .unwrap() + .build_storage() + .expect("Genesis build should work") .into(); // Add to each test the initial weight of a block ext.execute_with(|| { diff --git a/pallets/system/src/mocking.rs b/pallets/system/src/mocking.rs index 4f5cd5261..54a96ac67 100644 --- a/pallets/system/src/mocking.rs +++ b/pallets/system/src/mocking.rs @@ -26,7 +26,7 @@ use sp_runtime::{ transaction_validity::TransactionValidityError, }; -use crate::Config; +use crate::{header_builder::da::BlockNumber, Config}; #[derive(Clone, Copy, Default, Debug, Encode, Decode, PartialEq, Eq, TypeInfo)] pub struct DefaultGetAppId {} @@ -121,11 +121,19 @@ impl TryFrom<&OpaqueExtrinsic> for MockUncheckedExtrinsic { } impl From> for AppExtrinsic { - fn from(xt: MockUncheckedExtrinsic) -> Self { AppExtrinsic::from(xt.0) } + fn from(xt: MockUncheckedExtrinsic) -> Self { + AppExtrinsic::from(xt.0) + } } /// An implementation of `sp_runtime::traits::Block` to be used in tests. pub type MockBlock = generic::Block< - generic::Header<::BlockNumber, sp_runtime::traits::BlakeTwo256>, + generic::Header, + MockUncheckedExtrinsic, +>; + +/// An implementation of `sp_runtime::traits::Block` with DA header to be used in tests +pub type MockDaBlock = avail_core::DaBlock< + avail_core::header::Header, MockUncheckedExtrinsic, >; diff --git a/pallets/system/src/offchain.rs b/pallets/system/src/offchain.rs index e42216234..16254acda 100644 --- a/pallets/system/src/offchain.rs +++ b/pallets/system/src/offchain.rs @@ -131,10 +131,14 @@ impl, X> Default for Sign impl, X> Signer { /// Use all available keys for signing. - pub fn all_accounts() -> Signer { Default::default() } + pub fn all_accounts() -> Signer { + Default::default() + } /// Use any of the available keys for signing. - pub fn any_account() -> Signer { Default::default() } + pub fn any_account() -> Signer { + Default::default() + } /// Use provided `accounts` for signing. /// @@ -147,7 +151,9 @@ impl, X> Signer } /// Check if there are any keys that could be used for signing. - pub fn can_sign(&self) -> bool { self.accounts_from_keys().count() > 0 } + pub fn can_sign(&self) -> bool { + self.accounts_from_keys().count() > 0 + } /// Return a vector of the intersection between /// all available accounts and the provided accounts @@ -492,7 +498,7 @@ pub trait CreateSignedTransaction: call: Self::OverarchingCall, public: Self::Public, account: Self::AccountId, - nonce: Self::Index, + nonce: Self::Nonce, ) -> Option<( Self::OverarchingCall, ::SignaturePayload, @@ -651,7 +657,9 @@ mod tests { } impl SignedPayload for SimplePayload { - fn public(&self) -> UintAuthorityId { self.public.clone() } + fn public(&self) -> UintAuthorityId { + self.public.clone() + } } struct DummyAppCrypto; diff --git a/pallets/system/src/submitted_data.rs b/pallets/system/src/submitted_data.rs index ac291fafa..274800c02 100644 --- a/pallets/system/src/submitted_data.rs +++ b/pallets/system/src/submitted_data.rs @@ -1,7 +1,7 @@ use core::fmt::Debug; use avail_core::OpaqueExtrinsic; -use beefy_merkle_tree::{merkle_proof, merkle_root, verify_proof, Leaf, MerkleProof}; +use binary_merkle_tree::{merkle_proof, merkle_root, verify_proof, Leaf, MerkleProof}; use sp_core::H256; use sp_runtime::traits::Keccak256; use sp_std::{cell::RefCell, rc::Rc, vec::Vec}; @@ -23,7 +23,9 @@ pub type RcMetrics = Rc>; impl Metrics { /// Creates a shared metric with internal mutability. - fn new_shared() -> RcMetrics { Rc::new(RefCell::new(Self::default())) } + fn new_shared() -> RcMetrics { + Rc::new(RefCell::new(Self::default())) + } } /// Extracts the `data` field from some types of extrinsics. @@ -43,7 +45,9 @@ pub trait Extractor { impl Extractor for () { type Error = (); - fn extract(_: &OpaqueExtrinsic, _: RcMetrics) -> Result>, ()> { Ok(vec![]) } + fn extract(_: &OpaqueExtrinsic, _: RcMetrics) -> Result>, ()> { + Ok(vec![]) + } } /// It is similar to `Extractor` but it uses `C` type for calls, instead of `AppExtrinsic`. @@ -57,9 +61,13 @@ pub trait Filter { #[cfg(any(feature = "std", test))] impl Filter for () { - fn filter(_: C, _: RcMetrics) -> Vec> { vec![] } + fn filter(_: C, _: RcMetrics) -> Vec> { + vec![] + } - fn process_calls(_: Vec, _: &RcMetrics) -> Vec> { vec![] } + fn process_calls(_: Vec, _: &RcMetrics) -> Vec> { + vec![] + } } fn extract_and_inspect(opaque: &OpaqueExtrinsic, metrics: RcMetrics) -> Vec> @@ -67,8 +75,11 @@ where E: Extractor, E::Error: Debug, { - E::extract(opaque, metrics) - .inspect_err(|e| log::error!("Extractor cannot decode opaque: {e:?}")) + let extracted = E::extract(opaque, metrics); + if let Err(e) = extracted.as_ref() { + log::error!("Extractor cannot decode opaque: {e:?}"); + } + extracted .unwrap_or_default() .into_iter() .filter(|data| !data.is_empty()) @@ -133,7 +144,9 @@ where impl Hasher for Keccak256Algorithm { type Hash = [u8; 32]; - fn hash(data: &[u8]) -> [u8; 32] { sp_io::hashing::keccak_256(data).into() } + fn hash(data: &[u8]) -> [u8; 32] { + sp_io::hashing::keccak_256(data).into() + } } let mut tree = MerkleTree::::new(); @@ -295,7 +308,9 @@ mod test { } } - fn process_calls(_: Vec, _: &RcMetrics) -> Vec> { vec![] } + fn process_calls(_: Vec, _: &RcMetrics) -> Vec> { + vec![] + } } #[test] @@ -538,10 +553,13 @@ mod test { let data_tree = MerkleTree::::from_leaves(&leaves); let proof = data_tree.proof(&[1usize]); let root_proof = proof.proof_hashes().to_vec(); - assert_eq!(root_proof, vec![ - hex!("754B9412E0ED7907BDF4B7CA5D2A22F5E129A03DEB1F4E1C1FE42D322FDEE90E"), - hex!("8D6E30E494D17D7675A94C3C614467FF8CCE35201C1056751A6E9A100515DAF9"), - ]); + assert_eq!( + root_proof, + vec![ + hex!("754B9412E0ED7907BDF4B7CA5D2A22F5E129A03DEB1F4E1C1FE42D322FDEE90E"), + hex!("8D6E30E494D17D7675A94C3C614467FF8CCE35201C1056751A6E9A100515DAF9"), + ] + ); } #[test] diff --git a/pallets/system/src/test_utils.rs b/pallets/system/src/test_utils.rs index c2312baa5..8dc6f017e 100644 --- a/pallets/system/src/test_utils.rs +++ b/pallets/system/src/test_utils.rs @@ -8,12 +8,12 @@ use crate::*; /// tests! pub struct TestRandomness(sp_std::marker::PhantomData); -impl Randomness::BlockNumber> for TestRandomness +impl Randomness> for TestRandomness where Output: Decode + Default, T: Config, { - fn random(subject: &[u8]) -> (Output, T::BlockNumber) { + fn random(subject: &[u8]) -> (Output, BlockNumberFor) { ( Output::decode(&mut TrailingZeroInput::new(subject)).unwrap_or_default(), crate::Pallet::::block_number(), diff --git a/pallets/system/src/tests.rs b/pallets/system/src/tests.rs index fbff97392..8eaf42835 100644 --- a/pallets/system/src/tests.rs +++ b/pallets/system/src/tests.rs @@ -35,19 +35,60 @@ fn origin_works() { assert_eq!(x.unwrap(), RawOrigin::::Signed(1u64)); } +#[test] +fn unique_datum_works() { + new_test_ext().execute_with(|| { + System::initialize(&1, &[0u8; 32].into(), &Default::default()); + assert!(sp_io::storage::exists(well_known_keys::INTRABLOCK_ENTROPY)); + + let h1 = unique(b""); + assert_eq!( + 32, + sp_io::storage::read(well_known_keys::INTRABLOCK_ENTROPY, &mut [], 0).unwrap() + ); + let h2 = unique(b""); + assert_eq!( + 32, + sp_io::storage::read(well_known_keys::INTRABLOCK_ENTROPY, &mut [], 0).unwrap() + ); + assert_ne!(h1, h2); + + let h3 = unique(b"Hello"); + assert_eq!( + 32, + sp_io::storage::read(well_known_keys::INTRABLOCK_ENTROPY, &mut [], 0).unwrap() + ); + assert_ne!(h2, h3); + + let h4 = unique(b"Hello"); + assert_eq!( + 32, + sp_io::storage::read(well_known_keys::INTRABLOCK_ENTROPY, &mut [], 0).unwrap() + ); + assert_ne!(h3, h4); + + System::finalize(); + assert!(!sp_io::storage::exists(well_known_keys::INTRABLOCK_ENTROPY)); + }); +} + #[test] fn stored_map_works() { new_test_ext().execute_with(|| { + assert_eq!(System::inc_providers(&0), IncRefStatus::Created); assert_ok!(System::insert(&0, 42)); assert!(!System::is_provider_required(&0)); - assert_eq!(Account::::get(0), AccountInfo { - nonce: 0, - providers: 1, - consumers: 0, - sufficients: 0, - data: 42 - }); + assert_eq!( + Account::::get(0), + AccountInfo { + nonce: 0, + providers: 1, + consumers: 0, + sufficients: 0, + data: 42 + } + ); assert_ok!(System::inc_consumers(&0)); assert!(System::is_provider_required(&0)); @@ -60,6 +101,7 @@ fn stored_map_works() { assert!(Killed::get().is_empty()); assert_ok!(System::remove(&0)); + assert_ok!(System::dec_providers(&0)); assert_eq!(Killed::get(), vec![0u64]); }); } @@ -164,11 +206,14 @@ fn deposit_event_should_work() { System::note_finished_extrinsics(); System::deposit_event(SysEvent::CodeUpdated); System::finalize(); - assert_eq!(System::events(), vec![EventRecord { - phase: Phase::Finalization, - event: SysEvent::CodeUpdated.into(), - topics: vec![], - }]); + assert_eq!( + System::events(), + vec![EventRecord { + phase: Phase::Finalization, + event: SysEvent::CodeUpdated.into(), + topics: vec![], + }] + ); let normal_base = ::BlockWeights::get() .get(DispatchClass::Normal) @@ -184,46 +229,49 @@ fn deposit_event_should_work() { System::note_finished_extrinsics(); System::deposit_event(SysEvent::NewAccount { account: 3 }); System::finalize(); - assert_eq!(System::events(), vec![ - EventRecord { - phase: Phase::Initialization, - event: SysEvent::NewAccount { account: 32 }.into(), - topics: vec![], - }, - EventRecord { - phase: Phase::ApplyExtrinsic(0), - event: SysEvent::KilledAccount { account: 42 }.into(), - topics: vec![] - }, - EventRecord { - phase: Phase::ApplyExtrinsic(0), - event: SysEvent::ExtrinsicSuccess { - dispatch_info: DispatchInfo { - weight: normal_base, - ..Default::default() + assert_eq!( + System::events(), + vec![ + EventRecord { + phase: Phase::Initialization, + event: SysEvent::NewAccount { account: 32 }.into(), + topics: vec![], + }, + EventRecord { + phase: Phase::ApplyExtrinsic(0), + event: SysEvent::KilledAccount { account: 42 }.into(), + topics: vec![] + }, + EventRecord { + phase: Phase::ApplyExtrinsic(0), + event: SysEvent::ExtrinsicSuccess { + dispatch_info: DispatchInfo { + weight: normal_base, + ..Default::default() + } } - } - .into(), - topics: vec![] - }, - EventRecord { - phase: Phase::ApplyExtrinsic(1), - event: SysEvent::ExtrinsicFailed { - dispatch_error: DispatchError::BadOrigin.into(), - dispatch_info: DispatchInfo { - weight: normal_base, - ..Default::default() + .into(), + topics: vec![] + }, + EventRecord { + phase: Phase::ApplyExtrinsic(1), + event: SysEvent::ExtrinsicFailed { + dispatch_error: DispatchError::BadOrigin.into(), + dispatch_info: DispatchInfo { + weight: normal_base, + ..Default::default() + } } - } - .into(), - topics: vec![] - }, - EventRecord { - phase: Phase::Finalization, - event: SysEvent::NewAccount { account: 3 }.into(), - topics: vec![] - }, - ]); + .into(), + topics: vec![] + }, + EventRecord { + phase: Phase::Finalization, + event: SysEvent::NewAccount { account: 3 }.into(), + topics: vec![] + }, + ] + ); }); } @@ -238,22 +286,28 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { .get(DispatchClass::Normal) .base_extrinsic; let pre_info = DispatchInfo { - weight: Weight::from_ref_time(1000), + weight: Weight::from_parts(1000, 0), ..Default::default() }; - System::note_applied_extrinsic(&Ok(Some(300).into()), pre_info); - System::note_applied_extrinsic(&Ok(Some(1000).into()), pre_info); + System::note_applied_extrinsic(&Ok(from_actual_ref_time(Some(300))), pre_info); + System::note_applied_extrinsic(&Ok(from_actual_ref_time(Some(1000))), pre_info); System::note_applied_extrinsic( // values over the pre info should be capped at pre dispatch value - &Ok(Some(1200).into()), + &Ok(from_actual_ref_time(Some(1200))), + pre_info, + ); + System::note_applied_extrinsic( + &Ok(from_post_weight_info(Some(2_500_000), Pays::Yes)), pre_info, ); - System::note_applied_extrinsic(&Ok((Some(2_500_000), Pays::Yes).into()), pre_info); System::note_applied_extrinsic(&Ok(Pays::No.into()), pre_info); - System::note_applied_extrinsic(&Ok((Some(2_500_000), Pays::No).into()), pre_info); - System::note_applied_extrinsic(&Ok((Some(500), Pays::No).into()), pre_info); System::note_applied_extrinsic( - &Err(DispatchError::BadOrigin.with_weight(Weight::from_ref_time(999))), + &Ok(from_post_weight_info(Some(2_500_000), Pays::No)), + pre_info, + ); + System::note_applied_extrinsic(&Ok(from_post_weight_info(Some(500), Pays::No)), pre_info); + System::note_applied_extrinsic( + &Err(DispatchError::BadOrigin.with_weight(Weight::from_parts(999, 0))), pre_info, ); @@ -270,7 +324,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { System::note_applied_extrinsic( &Err(DispatchErrorWithPostInfo { post_info: PostDispatchInfo { - actual_weight: Some(Weight::from_ref_time(800)), + actual_weight: Some(Weight::from_parts(800, 0)), pays_fee: Pays::Yes, }, error: DispatchError::BadOrigin, @@ -280,7 +334,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { System::note_applied_extrinsic( &Err(DispatchErrorWithPostInfo { post_info: PostDispatchInfo { - actual_weight: Some(Weight::from_ref_time(800)), + actual_weight: Some(Weight::from_parts(800, 0)), pays_fee: Pays::No, }, error: DispatchError::BadOrigin, @@ -296,11 +350,11 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { "Test pre-condition violated" ); let pre_info = DispatchInfo { - weight: Weight::from_ref_time(1000), + weight: Weight::from_parts(1000, 0), class: DispatchClass::Operational, ..Default::default() }; - System::note_applied_extrinsic(&Ok(Some(300).into()), pre_info); + System::note_applied_extrinsic(&Ok(from_actual_ref_time(Some(300))), pre_info); let got = System::events(); let want = vec![ @@ -308,7 +362,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(0), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(300).saturating_add(normal_base), + weight: Weight::from_parts(300, 0).saturating_add(normal_base), ..Default::default() }, } @@ -319,7 +373,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(1), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(1000).saturating_add(normal_base), + weight: Weight::from_parts(1000, 0).saturating_add(normal_base), ..Default::default() }, } @@ -330,7 +384,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(2), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(1000).saturating_add(normal_base), + weight: Weight::from_parts(1000, 0).saturating_add(normal_base), ..Default::default() }, } @@ -341,7 +395,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(3), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(1000).saturating_add(normal_base), + weight: Weight::from_parts(1000, 0).saturating_add(normal_base), pays_fee: Pays::Yes, ..Default::default() }, @@ -353,7 +407,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(4), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(1000).saturating_add(normal_base), + weight: Weight::from_parts(1000, 0).saturating_add(normal_base), pays_fee: Pays::No, ..Default::default() }, @@ -365,7 +419,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(5), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(1000).saturating_add(normal_base), + weight: Weight::from_parts(1000, 0).saturating_add(normal_base), pays_fee: Pays::No, ..Default::default() }, @@ -377,7 +431,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(6), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(500).saturating_add(normal_base), + weight: Weight::from_parts(500, 0).saturating_add(normal_base), pays_fee: Pays::No, ..Default::default() }, @@ -390,7 +444,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { event: SysEvent::ExtrinsicFailed { dispatch_error: DispatchError::BadOrigin.into(), dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(999).saturating_add(normal_base), + weight: Weight::from_parts(999, 0).saturating_add(normal_base), ..Default::default() }, } @@ -402,7 +456,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { event: SysEvent::ExtrinsicFailed { dispatch_error: DispatchError::BadOrigin.into(), dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(1000).saturating_add(normal_base), + weight: Weight::from_parts(1000, 0).saturating_add(normal_base), pays_fee: Pays::Yes, ..Default::default() }, @@ -415,7 +469,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { event: SysEvent::ExtrinsicFailed { dispatch_error: DispatchError::BadOrigin.into(), dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(800).saturating_add(normal_base), + weight: Weight::from_parts(800, 0).saturating_add(normal_base), pays_fee: Pays::Yes, ..Default::default() }, @@ -428,7 +482,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { event: SysEvent::ExtrinsicFailed { dispatch_error: DispatchError::BadOrigin.into(), dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(800).saturating_add(normal_base), + weight: Weight::from_parts(800, 0).saturating_add(normal_base), pays_fee: Pays::No, ..Default::default() }, @@ -440,7 +494,7 @@ fn deposit_event_uses_actual_weight_and_pays_fee() { phase: Phase::ApplyExtrinsic(11), event: SysEvent::ExtrinsicSuccess { dispatch_info: DispatchInfo { - weight: Weight::from_ref_time(300).saturating_add(operational_base), + weight: Weight::from_parts(300, 0).saturating_add(operational_base), class: DispatchClass::Operational, ..Default::default() }, @@ -478,34 +532,37 @@ fn deposit_event_topics() { System::finalize(); // Check that topics are reflected in the event record. - assert_eq!(System::events(), vec![ - EventRecord { - phase: Phase::Finalization, - event: SysEvent::NewAccount { account: 1 }.into(), - topics: topics[0..3].to_vec(), - }, - EventRecord { - phase: Phase::Finalization, - event: SysEvent::NewAccount { account: 2 }.into(), - topics: topics[0..1].to_vec(), - }, - EventRecord { - phase: Phase::Finalization, - event: SysEvent::NewAccount { account: 3 }.into(), - topics: topics[1..2].to_vec(), - } - ]); + assert_eq!( + System::events(), + vec![ + EventRecord { + phase: Phase::Finalization, + event: SysEvent::NewAccount { account: 1 }.into(), + topics: topics[0..3].to_vec(), + }, + EventRecord { + phase: Phase::Finalization, + event: SysEvent::NewAccount { account: 2 }.into(), + topics: topics[0..1].to_vec(), + }, + EventRecord { + phase: Phase::Finalization, + event: SysEvent::NewAccount { account: 3 }.into(), + topics: topics[1..2].to_vec(), + } + ] + ); // Check that the topic-events mapping reflects the deposited topics. // Note that these are indexes of the events. - assert_eq!(System::event_topics(&topics[0]), vec![ - (BLOCK_NUMBER, 0), - (BLOCK_NUMBER, 1) - ]); - assert_eq!(System::event_topics(&topics[1]), vec![ - (BLOCK_NUMBER, 0), - (BLOCK_NUMBER, 2) - ]); + assert_eq!( + System::event_topics(&topics[0]), + vec![(BLOCK_NUMBER, 0), (BLOCK_NUMBER, 1)] + ); + assert_eq!( + System::event_topics(&topics[1]), + vec![(BLOCK_NUMBER, 0), (BLOCK_NUMBER, 2)] + ); assert_eq!(System::event_topics(&topics[2]), vec![(BLOCK_NUMBER, 0)]); }); } @@ -562,7 +619,12 @@ fn set_code_checks_works() { ("test", 1, 2, Err(Error::::SpecVersionNeedsToIncrease)), ("test", 1, 1, Err(Error::::SpecVersionNeedsToIncrease)), ("test2", 1, 1, Err(Error::::InvalidSpecName)), - ("test", 2, 1, Ok(PostDispatchInfo::default())), + ( + "test", + 2, + 1, + Ok(Some(::BlockWeights::get().max_block).into()), + ), ("test", 0, 1, Err(Error::::SpecVersionNeedsToIncrease)), ("test", 1, 0, Err(Error::::SpecVersionNeedsToIncrease)), ]; @@ -644,7 +706,8 @@ fn events_not_emitted_during_genesis() { assert!(System::block_number().is_zero()); let mut account_data = AccountInfo::default(); System::on_created_account(Default::default(), &mut account_data); - assert!(System::events().is_empty()); + // No events registered at the genesis block + assert!(!System::read_events_no_consensus().any(|_| true)); // Events will be emitted starting on block 1 System::set_block_number(1); System::on_created_account(Default::default(), &mut account_data); @@ -687,19 +750,47 @@ fn runtime_updated_digest_emitted_when_heap_pages_changed() { fn ensure_signed_stuff_works() { struct Members; impl SortedMembers for Members { - fn sorted_members() -> Vec { (0..10).collect() } + fn sorted_members() -> Vec { + (0..10).collect() + } } let signed_origin = RuntimeOrigin::signed(0u64); - assert_ok!(EnsureSigned::try_origin(signed_origin.clone())); - assert_ok!(EnsureSignedBy::::try_origin(signed_origin)); + assert_ok!( as EnsureOrigin<_>>::try_origin( + signed_origin.clone() + )); + assert_ok!( as EnsureOrigin<_>>::try_origin( + signed_origin + )); #[cfg(feature = "runtime-benchmarks")] { - let successful_origin: RuntimeOrigin = EnsureSigned::successful_origin(); - assert_ok!(EnsureSigned::try_origin(successful_origin)); + let successful_origin: RuntimeOrigin = + as EnsureOrigin<_>>::try_successful_origin() + .expect("EnsureSigned has no successful origin required for the test"); + assert_ok!( as EnsureOrigin<_>>::try_origin( + successful_origin + )); + + let successful_origin: RuntimeOrigin = + as EnsureOrigin<_>>::try_successful_origin() + .expect("EnsureSignedBy has no successful origin required for the test"); + assert_ok!( as EnsureOrigin<_>>::try_origin( + successful_origin + )); + } +} + +pub fn from_actual_ref_time(ref_time: Option) -> PostDispatchInfo { + PostDispatchInfo { + actual_weight: ref_time.map(|t| Weight::from_all(t)), + pays_fee: Default::default(), + } +} - let successful_origin: RuntimeOrigin = EnsureSignedBy::::successful_origin(); - assert_ok!(EnsureSignedBy::::try_origin(successful_origin)); +pub fn from_post_weight_info(ref_time: Option, pays_fee: Pays) -> PostDispatchInfo { + PostDispatchInfo { + actual_weight: ref_time.map(|t| Weight::from_all(t)), + pays_fee, } } diff --git a/pallets/system/src/weights.rs b/pallets/system/src/weights.rs index 9213b2651..35f46703e 100644 --- a/pallets/system/src/weights.rs +++ b/pallets/system/src/weights.rs @@ -62,22 +62,22 @@ impl WeightInfo for SubstrateWeight { /// The range of component `b` is `[0, 4718592]`. fn remark(b: u32, ) -> Weight { // Minimum execution time: 7_792 nanoseconds. - Weight::from_ref_time(7_879_000_u64) + Weight::from_parts(7_879_000, 0) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(604_u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_parts(604, 0).saturating_mul(b as u64)) } /// The range of component `b` is `[0, 4718592]`. fn remark_with_event(b: u32, ) -> Weight { // Minimum execution time: 26_943 nanoseconds. - Weight::from_ref_time(27_213_000_u64) + Weight::from_parts(27_213_000, 0) // Standard Error: 1 - .saturating_add(Weight::from_ref_time(2_262_u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_parts(2_262, 0).saturating_mul(b as u64)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) fn set_heap_pages() -> Weight { // Minimum execution time: 17_916 nanoseconds. - Weight::from_ref_time(18_282_000_u64) + Weight::from_parts(18_282_000, 0) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -85,7 +85,7 @@ impl WeightInfo for SubstrateWeight { // Storage: unknown [0x3a636f6465] (r:0 w:1) fn set_code() -> Weight { // Minimum execution time: 212_972_630 nanoseconds. - Weight::from_ref_time(225_594_161_000_u64) + Weight::from_parts(225_594_161_000, 0) .saturating_add(T::DbWeight::get().reads(1_u64)) .saturating_add(T::DbWeight::get().writes(2_u64)) } @@ -93,27 +93,27 @@ impl WeightInfo for SubstrateWeight { /// The range of component `i` is `[0, 1000]`. fn set_storage(i: u32, ) -> Weight { // Minimum execution time: 7_854 nanoseconds. - Weight::from_ref_time(8_024_000_u64) + Weight::from_parts(8_024_000, 0) // Standard Error: 1_479 - .saturating_add(Weight::from_ref_time(1_330_041_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(1_330_041, 0).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) /// The range of component `i` is `[0, 1000]`. fn kill_storage(i: u32, ) -> Weight { // Minimum execution time: 7_372 nanoseconds. - Weight::from_ref_time(7_683_000_u64) + Weight::from_parts(7_683_000, 0) // Standard Error: 1_058 - .saturating_add(Weight::from_ref_time(1_051_245_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(1_051_245, 0).saturating_mul(i as u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) /// The range of component `p` is `[0, 1000]`. fn kill_prefix(p: u32, ) -> Weight { // Minimum execution time: 11_231 nanoseconds. - Weight::from_ref_time(11_515_000_u64) + Weight::from_parts(11_515_000, 0) // Standard Error: 2_026 - .saturating_add(Weight::from_ref_time(1_957_948_u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_parts(1_957_948, 0).saturating_mul(p as u64)) .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p as u64))) } } @@ -123,22 +123,22 @@ impl WeightInfo for () { /// The range of component `b` is `[0, 4718592]`. fn remark(b: u32, ) -> Weight { // Minimum execution time: 7_792 nanoseconds. - Weight::from_ref_time(7_879_000_u64) + Weight::from_parts(7_879_000, 0) // Standard Error: 0 - .saturating_add(Weight::from_ref_time(604_u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_parts(604, 0).saturating_mul(b as u64)) } /// The range of component `b` is `[0, 4718592]`. fn remark_with_event(b: u32, ) -> Weight { // Minimum execution time: 26_943 nanoseconds. - Weight::from_ref_time(27_213_000_u64) + Weight::from_parts(27_213_000, 0) // Standard Error: 1 - .saturating_add(Weight::from_ref_time(2_262_u64).saturating_mul(b as u64)) + .saturating_add(Weight::from_parts(2_262, 0).saturating_mul(b as u64)) } // Storage: System Digest (r:1 w:1) // Storage: unknown [0x3a686561707061676573] (r:0 w:1) fn set_heap_pages() -> Weight { // Minimum execution time: 17_916 nanoseconds. - Weight::from_ref_time(18_282_000_u64) + Weight::from_parts(18_282_000, 0) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -146,7 +146,7 @@ impl WeightInfo for () { // Storage: unknown [0x3a636f6465] (r:0 w:1) fn set_code() -> Weight { // Minimum execution time: 212_972_630 nanoseconds. - Weight::from_ref_time(225_594_161_000_u64) + Weight::from_parts(225_594_161_000, 0) .saturating_add(RocksDbWeight::get().reads(1_u64)) .saturating_add(RocksDbWeight::get().writes(2_u64)) } @@ -154,27 +154,27 @@ impl WeightInfo for () { /// The range of component `i` is `[0, 1000]`. fn set_storage(i: u32, ) -> Weight { // Minimum execution time: 7_854 nanoseconds. - Weight::from_ref_time(8_024_000_u64) + Weight::from_parts(8_024_000, 0) // Standard Error: 1_479 - .saturating_add(Weight::from_ref_time(1_330_041_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(1_330_041, 0).saturating_mul(i as u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) /// The range of component `i` is `[0, 1000]`. fn kill_storage(i: u32, ) -> Weight { // Minimum execution time: 7_372 nanoseconds. - Weight::from_ref_time(7_683_000_u64) + Weight::from_parts(7_683_000, 0) // Standard Error: 1_058 - .saturating_add(Weight::from_ref_time(1_051_245_u64).saturating_mul(i as u64)) + .saturating_add(Weight::from_parts(1_051_245, 0).saturating_mul(i as u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(i as u64))) } // Storage: Skipped Metadata (r:0 w:0) /// The range of component `p` is `[0, 1000]`. fn kill_prefix(p: u32, ) -> Weight { // Minimum execution time: 11_231 nanoseconds. - Weight::from_ref_time(11_515_000_u64) + Weight::from_parts(11_515_000, 0) // Standard Error: 2_026 - .saturating_add(Weight::from_ref_time(1_957_948_u64).saturating_mul(p as u64)) + .saturating_add(Weight::from_parts(1_957_948, 0).saturating_mul(p as u64)) .saturating_add(RocksDbWeight::get().writes((1_u64).saturating_mul(p as u64))) } } diff --git a/rpc/kate-rpc/Cargo.toml b/rpc/kate-rpc/Cargo.toml index a81e6514b..7eb34ddd9 100644 --- a/rpc/kate-rpc/Cargo.toml +++ b/rpc/kate-rpc/Cargo.toml @@ -27,7 +27,7 @@ sc-client-db = "0.10.0-dev" codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } sc-client-api = "4.0.0-dev" sp-blockchain = "4.0.0-dev" -sp-runtime = { version = "7.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } [features] default = ["std"] diff --git a/rpc/kate-rpc/src/lib.rs b/rpc/kate-rpc/src/lib.rs index 83b57f45b..ff3c6e617 100644 --- a/rpc/kate-rpc/src/lib.rs +++ b/rpc/kate-rpc/src/lib.rs @@ -27,7 +27,7 @@ use sc_client_api::BlockBackend; use sp_api::ProvideRuntimeApi; use sp_blockchain::HeaderBackend; use sp_runtime::{ - generic::{BlockId, Digest}, + generic::Digest, traits::{Block as BlockT, Header}, }; @@ -106,7 +106,7 @@ macro_rules! internal_err { /// If feature `secure_padding_fill` is enabled then the returned seed is generated using Babe VRF. /// Otherwise, it will use the default `Seed` value. -fn get_seed(client: &C, block_id: &BlockId) -> Option +fn get_seed(client: &C, at: ::Hash) -> Option where B: BlockT, ::Header: ExtendedHeader< @@ -119,7 +119,7 @@ where C::Api: DataAvailApi, { if cfg!(feature = "secure_padding_fill") { - client.runtime_api().babe_vrf(block_id).ok() + client.runtime_api().babe_vrf(at).ok() } else { Some(Seed::default()) } @@ -135,11 +135,6 @@ where fn at_or_best(&self, at: Option<::Hash>) -> ::Hash { at.unwrap_or_else(|| self.client.info().best_hash) } - - #[inline] - fn block_id(&self, at: Option<::Hash>) -> BlockId { - BlockId::Hash(self.at_or_best(at)) - } } #[async_trait] @@ -162,13 +157,12 @@ where at: Option>, ) -> RpcResult>> { let at = self.at_or_best(at); - let block_id = BlockId::Hash(at); let signed_block = self .client .block(at) .map_err(|e| internal_err!("Invalid block number: {:?}", e))? - .ok_or_else(|| internal_err!("Missing block {}", block_id))?; + .ok_or_else(|| internal_err!("Missing block {}", at))?; let block_hash = signed_block.block.header().hash(); @@ -193,13 +187,13 @@ where .map(AppExtrinsic::from) .collect(); - let seed = get_seed::(&self.client, &block_id) - .ok_or_else(|| internal_err!("Babe VRF not found for block {}", block_id))?; + let seed = get_seed::(&self.client, at) + .ok_or_else(|| internal_err!("Babe VRF not found for block {}", at))?; let block_length: BlockLength = self .client .runtime_api() - .block_length(&block_id) + .block_length(at) .map_err(|e| internal_err!("Block Length cannot be fetched: {:?}", e))?; let (_, block, block_dims) = kate::com::flatten_and_pad_block( @@ -231,13 +225,12 @@ where at: Option>, ) -> RpcResult>>> { let at = self.at_or_best(at); - let block_id = BlockId::Hash(at); let signed_block = self .client .block(at) .map_err(|e| internal_err!("Invalid block number: {:?}", e))? - .ok_or_else(|| internal_err!("Missing block {}", block_id))?; + .ok_or_else(|| internal_err!("Missing block {}", at))?; let block_hash = signed_block.block.header().hash(); @@ -265,11 +258,11 @@ where let block_length: BlockLength = self .client .runtime_api() - .block_length(&block_id) + .block_length(at) .map_err(|e| internal_err!("Block Length cannot be fetched: {:?}", e))?; - let seed = get_seed::(&self.client, &block_id) - .ok_or_else(|| internal_err!("Babe VRF not found for block {block_id}"))?; + let seed = get_seed::(&self.client, at) + .ok_or_else(|| internal_err!("Babe VRF not found for block {at}"))?; let (_, block, block_dims) = kate::com::flatten_and_pad_block( block_length.rows, @@ -305,13 +298,12 @@ where //TODO allocate static thread pool, just for RPC related work, to free up resources, for the block producing processes. async fn query_proof(&self, cells: Vec, at: Option>) -> RpcResult> { let at = self.at_or_best(at); - let block_id = BlockId::Hash(at); let signed_block = self .client .block(at) .map_err(|e| internal_err!("Invalid block number: {:?}", e))? - .ok_or_else(|| internal_err!("Missing block {}", block_id))?; + .ok_or_else(|| internal_err!("Missing block {}", at))?; let block_hash = signed_block.block.header().hash(); @@ -340,11 +332,11 @@ where let block_length: BlockLength = self .client .runtime_api() - .block_length(&block_id) + .block_length(at) .map_err(|e| internal_err!("Block Length cannot be fetched: {:?}", e))?; - let seed = get_seed::(&self.client, &block_id) - .ok_or_else(|| internal_err!("Babe VRF not found for block {block_id}"))?; + let seed = get_seed::(&self.client, at) + .ok_or_else(|| internal_err!("Babe VRF not found for block {at}"))?; let (_, block, block_dims) = kate::com::flatten_and_pad_block( block_length.rows, @@ -371,17 +363,13 @@ where ) .ok_or_else(|| internal_err!("Block dimensions are invalid"))?; - let kc_public_params_raw = - self.client - .runtime_api() - .public_params(&block_id) - .map_err(|e| { - internal_err!( - "Public params cannot be fetched on block {}: {:?}", - block_hash, - e - ) - })?; + let kc_public_params_raw = self.client.runtime_api().public_params(at).map_err(|e| { + internal_err!( + "Public params cannot be fetched on block {}: {:?}", + block_hash, + e + ) + })?; let kc_public_params = unsafe { PublicParameters::from_slice_unchecked(&kc_public_params_raw) }; @@ -393,12 +381,12 @@ where } async fn query_block_length(&self, at: Option>) -> RpcResult { - let block_id = self.block_id(at); + let at = self.at_or_best(at); let block_length = self .client .runtime_api() - .block_length(&block_id) - .map_err(|e| internal_err!("Length of best block({:?}): {:?}", block_id, e))?; + .block_length(at) + .map_err(|e| internal_err!("Length of best block({:?}): {:?}", at, e))?; Ok(block_length) } diff --git a/runtime/Cargo.toml b/runtime/Cargo.toml index b552f6bc5..ea87f48df 100644 --- a/runtime/Cargo.toml +++ b/runtime/Cargo.toml @@ -31,17 +31,18 @@ log = { version = "0.4.17", default-features = false } hex-literal = { version = "0.3.4", optional = true } # Substrate -scale-info = { version = "2.1.1", default-features = false, features = ["derive"] } +scale-info = { version = "2.5.0", default-features = false, features = ["derive"] } parity-util-mem = { version = "0.12.0", default-features = false, features = ["primitive-types"] } codec = { package = "parity-scale-codec", version = "3", default-features = false, features = ["derive"] } ## primitives -sp-io = { version = "7.0.0", default-features = false } -sp-core = { version = "7.0.0", default-features = false } +sp-consensus-grandpa = { git = "https://github.com/paritytech/substrate", default-features = false, branch = "polkadot-v1.0.0" } +sp-io = { version = "23.0.0", default-features = false } +sp-core = { version = "21.0.0", default-features = false } sp-api = { version = "4.0.0-dev", default-features = false } -sp-runtime = { version = "7.0.0", default-features = false } +sp-runtime = { version = "24.0.0", default-features = false } sp-authority-discovery = { version = "4.0.0-dev", default-features = false } -sp-version = { version = "5", default-features = false } +sp-version = { version = "22.0.0", default-features = false } sp-consensus-babe = { version = "0.10.0-dev", default-features = false } sp-staking = {version = "4.0.0-dev", default-features = false } sp-transaction-pool = { version = "4.0.0-dev", default-features = false } @@ -50,12 +51,12 @@ sp-session = { version = "4.0.0-dev", default-features = false } sp-block-builder = { version = "4.0.0-dev", default-features = false } sp-inherents = { version = "4.0.0-dev", default-features = false } sp-npos-elections = { version = "4.0.0-dev", default-features = false } -sp-std = { version = "5.0.0", default-features = false } +sp-std = { version = "8.0.0", default-features = false } ## frame dependencies frame-support = { version = "4.0.0-dev", default-features = false } -frame-system = { path = "../pallets/system", default-features = false } -frame-executive = { version = "4.0.0-dev", default-features = false } +frame-system = { path = "../pallets/system", default-features = false, features = ["serde"] } +frame-executive = { path = "../pallets/executive", default-features = false } frame-try-runtime = { version = "0.10.0-dev", default-features = false, optional = true } pallet-balances = { version = "4.0.0-dev", default-features = false } @@ -112,7 +113,7 @@ test-case = "1.2.3" hex = "0.4" hex-literal = "0.3.4" serde_json = "1.0" -sp-keyring = "7.0.0" +sp-keyring = "24.0.0" env_logger = "0.9.1" [features] @@ -177,6 +178,7 @@ std = [ "sp-version/std", "log/std", "frame-try-runtime?/std", + "sp-consensus-grandpa/std", "sp-io/std", "pallet-child-bounties/std", "pallet-identity/std", @@ -187,6 +189,7 @@ std = [ "nomad-home/std", "nomad-da-bridge/std", "pallet-mandate/std", + "sp-npos-elections/std" ] runtime-benchmarks = [ @@ -199,7 +202,6 @@ runtime-benchmarks = [ "nomad-home/runtime-benchmarks", "nomad-da-bridge/runtime-benchmarks", "hex-literal", - "pallet-babe/runtime-benchmarks", "pallet-bags-list/runtime-benchmarks", "pallet-balances/runtime-benchmarks", @@ -225,6 +227,7 @@ runtime-benchmarks = [ "frame-system-benchmarking/runtime-benchmarks", "pallet-identity/runtime-benchmarks", "pallet-mandate/runtime-benchmarks", + "nomad-updater-manager/runtime-benchmarks" ] try-runtime = [ @@ -267,4 +270,5 @@ try-runtime = [ "pallet-identity/try-runtime", "avail-core/try-runtime", "pallet-mandate/try-runtime", + "sp-runtime/try-runtime", ] diff --git a/runtime/src/apis.rs b/runtime/src/apis.rs index 73f61001d..42574a7ec 100644 --- a/runtime/src/apis.rs +++ b/runtime/src/apis.rs @@ -1,14 +1,13 @@ use avail_core::{header::HeaderExtension, well_known_keys::KATE_PUBLIC_PARAMS, OpaqueExtrinsic}; -use frame_support::traits::{KeyOwnerProofSystem, Randomness}; -#[cfg(feature = "try-runtime")] -use frame_support::weights::Weight; -use frame_system::limits::BlockLength; -use pallet_grandpa::{ - fg_primitives, AuthorityId as GrandpaId, AuthorityList as GrandpaAuthorityList, +use frame_support::{ + traits::{KeyOwnerProofSystem, Randomness}, + weights::Weight, }; +use frame_system::limits::BlockLength; use pallet_transaction_payment::{FeeDetails, RuntimeDispatchInfo}; use sp_api::{decl_runtime_apis, impl_runtime_apis}; use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId; +use sp_consensus_grandpa::AuthorityId as GrandpaId; use sp_core::H256; use sp_inherents::{CheckInherentsResult, InherentData}; use sp_runtime::{ @@ -71,6 +70,14 @@ impl_runtime_apis! { fn metadata() -> OpaqueMetadata { OpaqueMetadata::new(Runtime::metadata().into()) } + + fn metadata_at_version(version: u32) -> Option { + Runtime::metadata_at_version(version) + } + + fn metadata_versions() -> sp_std::vec::Vec { + Runtime::metadata_versions() + } } impl sp_block_builder::BlockBuilder for Runtime { @@ -107,21 +114,21 @@ impl_runtime_apis! { } } - impl fg_primitives::GrandpaApi for Runtime { - fn grandpa_authorities() -> GrandpaAuthorityList { + impl sp_consensus_grandpa::GrandpaApi for Runtime { + fn grandpa_authorities() -> sp_consensus_grandpa::AuthorityList { Grandpa::grandpa_authorities() } - fn current_set_id() -> fg_primitives::SetId { + fn current_set_id() -> sp_consensus_grandpa::SetId { Grandpa::current_set_id() } fn submit_report_equivocation_unsigned_extrinsic( - equivocation_proof: fg_primitives::EquivocationProof< + equivocation_proof: sp_consensus_grandpa::EquivocationProof< ::Hash, NumberFor, >, - key_owner_proof: fg_primitives::OpaqueKeyOwnershipProof, + key_owner_proof: sp_consensus_grandpa::OpaqueKeyOwnershipProof, ) -> Option<()> { let key_owner_proof = key_owner_proof.decode()?; @@ -132,14 +139,14 @@ impl_runtime_apis! { } fn generate_key_ownership_proof( - _set_id: fg_primitives::SetId, + _set_id: sp_consensus_grandpa::SetId, authority_id: GrandpaId, - ) -> Option { + ) -> Option { use codec::Encode; - Historical::prove((fg_primitives::KEY_TYPE, authority_id)) + Historical::prove((sp_consensus_grandpa::KEY_TYPE, authority_id)) .map(|p| p.encode()) - .map(fg_primitives::OpaqueKeyOwnershipProof::new) + .map(sp_consensus_grandpa::OpaqueKeyOwnershipProof::new) } } @@ -215,6 +222,14 @@ impl_runtime_apis! { fn query_fee_details(uxt: ::Extrinsic, len: u32) -> FeeDetails { TransactionPayment::query_fee_details(uxt, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi @@ -226,6 +241,14 @@ impl_runtime_apis! { fn query_call_fee_details(call: RuntimeCall, len: u32) -> FeeDetails { TransactionPayment::query_call_fee_details(call, len) } + + fn query_weight_to_fee(weight: Weight) -> Balance { + TransactionPayment::weight_to_fee(weight) + } + + fn query_length_to_fee(length: u32) -> Balance { + TransactionPayment::length_to_fee(length) + } } impl pallet_mmr::primitives::MmrApi< diff --git a/runtime/src/constants.rs b/runtime/src/constants.rs index a46fb0f4a..cc2b20112 100644 --- a/runtime/src/constants.rs +++ b/runtime/src/constants.rs @@ -100,9 +100,7 @@ pub mod time { pub mod system { use avail_core::NORMAL_DISPATCH_RATIO; - use frame_support::weights::constants::{ - ExtrinsicBaseWeight, WEIGHT_REF_TIME_PER_MILLIS, WEIGHT_REF_TIME_PER_SECOND, - }; + use frame_support::weights::constants::{ExtrinsicBaseWeight, WEIGHT_REF_TIME_PER_SECOND}; use frame_system::limits::BlockWeights as SystemBlockWeights; use super::*; @@ -115,20 +113,15 @@ pub mod system { /// This is used to limit the maximal weight of a single extrinsic. const AVERAGE_ON_INITIALIZE_RATIO: Perbill = Perbill::from_percent(10); - /// Proof size allowed up to 500ms. - const MAX_POV_SIZE: u64 = WEIGHT_REF_TIME_PER_MILLIS.saturating_mul(500); - /// We allow for 2 seconds of compute with a 6 second average block time, with maximum proof size. #[cfg(feature = "fast-runtime")] const MAXIMUM_BLOCK_WEIGHT: Weight = - Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2)) - .set_proof_size(MAX_POV_SIZE); + Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2), u64::MAX); /// We allow for 5 seconds of compute with a 20 second average block time, with maximum proof size. #[cfg(not(feature = "fast-runtime"))] const MAXIMUM_BLOCK_WEIGHT: Weight = - Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_mul(5)) - .set_proof_size(MAX_POV_SIZE); + Weight::from_parts(WEIGHT_REF_TIME_PER_SECOND.saturating_mul(5), u64::MAX); parameter_types! { pub RuntimeBlockWeights: SystemBlockWeights = SystemBlockWeights::builder() @@ -174,6 +167,7 @@ pub mod balances { pub mod council { use super::*; + use crate::constants::system::RuntimeBlockWeights; #[cfg(not(feature = "fast-runtime"))] parameter_types! { @@ -188,6 +182,7 @@ pub mod council { pub type MaxProposals = ConstU32<128>; parameter_types! { + pub MaxProposalWeight: Weight = Perbill::from_percent(50) * RuntimeBlockWeights::get().max_block; pub const MaxMembers: u32 = 32; } } @@ -226,6 +221,7 @@ pub mod elections { // additional data per vote is 32 bytes (account id). pub const VotingBondFactor: Balance = deposit(0, 32); pub const DesiredMembers :u32 = 3; + pub const MaxVotesPerVoter: u32 = 16; } pub type DesiredRunnersUp = ConstU32<3>; diff --git a/runtime/src/impls.rs b/runtime/src/impls.rs index b6bd91c6d..647ae81c0 100644 --- a/runtime/src/impls.rs +++ b/runtime/src/impls.rs @@ -119,7 +119,7 @@ mod multiplier_tests { use sp_runtime::{ assert_eq_error_rate, traits::{Convert, One, Zero}, - FixedPointNumber, + BuildStorage, FixedPointNumber, }; use crate::{ @@ -135,9 +135,13 @@ mod multiplier_tests { .unwrap_or_else(|| BlockWeights::get().max_block) } - fn min_multiplier() -> Multiplier { MinimumMultiplier::get() } + fn min_multiplier() -> Multiplier { + MinimumMultiplier::get() + } - fn target() -> Weight { TargetBlockFullness::get() * max_normal() } + fn target() -> Weight { + TargetBlockFullness::get() * max_normal() + } // update based on runtime impl. fn runtime_multiplier_update(fm: Multiplier) -> Multiplier { @@ -178,8 +182,8 @@ mod multiplier_tests { where F: Fn() -> (), { - let mut t: sp_io::TestExternalities = frame_system::GenesisConfig::default() - .build_storage::() + let mut t: sp_io::TestExternalities = frame_system::GenesisConfig::::default() + .build_storage() .unwrap() .into(); t.execute_with(|| { @@ -193,8 +197,8 @@ mod multiplier_tests { let fm = Multiplier::saturating_from_rational(1, 2); let test_set = vec![ (Weight::zero(), fm), - (Weight::from_ref_time(100), fm), - (Weight::from_ref_time(1000), fm), + (Weight::from_parts(100, 0), fm), + (Weight::from_parts(1000, 0), fm), (target(), fm), (max_normal() / 2, fm), (max_normal(), fm), @@ -298,7 +302,7 @@ mod multiplier_tests { let block_weight = BlockWeights::get() .get(DispatchClass::Normal) .max_total - .unwrap() - Weight::from_ref_time(100); + .unwrap() - Weight::from_parts(100, 0); // Default substrate weight. let tx_weight = frame_support::weights::constants::ExtrinsicBaseWeight::get(); @@ -422,23 +426,23 @@ mod multiplier_tests { #[test] fn weight_to_fee_should_not_overflow_on_large_weights() { - let kb = Weight::from_ref_time(1024); + let kb = Weight::from_parts(1024, 0); let mb = 1024u64 * kb; let max_fm = Multiplier::saturating_from_integer(i128::MAX); // check that for all values it can compute, correctly. vec![ Weight::zero(), - Weight::from_ref_time(1), - Weight::from_ref_time(10), - Weight::from_ref_time(1000), + Weight::from_parts(1, 0), + Weight::from_parts(10, 0), + Weight::from_parts(1000, 0), kb, 10u64 * kb, 100u64 * kb, mb, 10u64 * mb, - Weight::from_ref_time(2147483647), - Weight::from_ref_time(4294967295), + Weight::from_parts(2147483647, 0), + Weight::from_parts(4294967295, 0), BlockWeights::get().max_block / 2, BlockWeights::get().max_block, Weight::MAX / 2, @@ -455,7 +459,7 @@ mod multiplier_tests { // Some values that are all above the target and will cause an increase. let t = target(); - vec![t + Weight::from_ref_time(100), t * 2, t * 4] + vec![t + Weight::from_parts(100, 0), t * 2, t * 4] .into_iter() .for_each(|i| { run_with_system_weight(i, || { diff --git a/runtime/src/lib.rs b/runtime/src/lib.rs index a30d1cf09..d682c2ae4 100644 --- a/runtime/src/lib.rs +++ b/runtime/src/lib.rs @@ -21,7 +21,6 @@ #![cfg_attr(not(feature = "std"), no_std)] // `construct_runtime!` does a lot of recursion and requires us to increase the limit to 512. #![recursion_limit = "512"] -#![feature(result_option_inspect)] #![allow(macro_expanded_macro_exports_accessed_by_absolute_paths)] mod weights; @@ -37,7 +36,7 @@ pub use frame_support::{ parameter_types, traits::{ ConstU32, Currency, EitherOfDiverse, EqualPrivilegeOnly, Everything, ExtrinsicCall, - Imbalance, KeyOwnerProofSystem, OnUnbalanced, Randomness, U128CurrencyToVote, + Imbalance, KeyOwnerProofSystem, OnUnbalanced, Randomness, }, weights::{ constants::{ @@ -47,7 +46,7 @@ pub use frame_support::{ }, PalletId, RuntimeDebug, StorageValue, }; -use frame_system::{limits::BlockLength, submitted_data, EnsureRoot}; +use frame_system::{limits::BlockLength, submitted_data, EnsureRoot, EnsureSigned}; use pallet_election_provider_multi_phase::SolutionAccuracyOf; use pallet_session::historical as pallet_session_historical; use sp_core::{crypto::KeyTypeId, OpaqueMetadata}; @@ -119,6 +118,7 @@ pub fn wasm_binary_unwrap() -> &'static [u8] { } /// Runtime version. +#[sp_version::runtime_version] pub const VERSION: RuntimeVersion = RuntimeVersion { spec_name: create_runtime_str!("data-avail"), impl_name: create_runtime_str!("data-avail"), @@ -127,7 +127,7 @@ pub const VERSION: RuntimeVersion = RuntimeVersion { // and set impl_version to 0. If only runtime // implementation changes and behavior does not, then leave spec_version as // is and increment impl_version. - spec_version: 11, + spec_version: 12, impl_version: 0, apis: apis::runtime_api_versions(), transaction_version: 1, @@ -168,7 +168,6 @@ parameter_types! { pub const Version: RuntimeVersion = VERSION; pub RuntimeBlockLength: BlockLength = BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO); - pub const MaximumBlockWeight: Weight = Weight::from_ref_time(WEIGHT_REF_TIME_PER_SECOND.saturating_mul(2)); } /// Filters and extracts `data` from `call` if it is a `DataAvailability::submit_data` type. @@ -228,11 +227,11 @@ impl frame_system::Config for Runtime { type AccountId = AccountId; /// The basic call filter to use in dispatchable. type BaseCallFilter = Everything; + /// The Block type used by the runtime + type Block = Block; /// Maximum number of block number to block hash mappings to keep (oldest pruned first). type BlockHashCount = BlockHashCount; type BlockLength = RuntimeBlockLength; - /// The index type for blocks. - type BlockNumber = BlockNumber; /// Block & extrinsics weights: base values and limits. type BlockWeights = constants::system::RuntimeBlockWeights; /// The weight of database operations that the runtime can invoke. @@ -241,15 +240,13 @@ impl frame_system::Config for Runtime { type Hash = Hash; /// The hashing algorithm used. type Hashing = BlakeTwo256; - /// The header type. - type Header = DaHeader; /// The header builder type. type HeaderExtensionBuilder = frame_system::header_builder::da::HeaderExtensionBuilder; - /// The index type for storing how many extrinsics an account has signed. - type Index = Index; /// The lookup mechanism to get account ID from whatever is passed in dispatchers. type Lookup = Indices; type MaxConsumers = constants::system::MaxConsumers; + /// The index type for storing how many extrinsics an account has signed. + type Nonce = Index; /// What to do if an account is fully reaped from the system. type OnKilledAccount = (); /// What to do if a new account is created. @@ -335,21 +332,15 @@ impl pallet_babe::Config for Runtime { type DisabledValidators = Session; type EpochChangeTrigger = pallet_babe::ExternalTrigger; type EpochDuration = constants::time::EpochDuration; - type ExpectedBlockTime = constants::time::ExpectedBlockTime; - type HandleEquivocation = pallet_babe::EquivocationHandler< - Self::KeyOwnerIdentification, + type EquivocationReportSystem = pallet_babe::EquivocationReportSystem< + Self, Offences, + Historical, constants::babe::ReportLongevity, >; - type KeyOwnerIdentification = >::IdentificationTuple; - type KeyOwnerProof = >::Proof; - type KeyOwnerProofSystem = Historical; + type ExpectedBlockTime = constants::time::ExpectedBlockTime; + type KeyOwnerProof = + >::Proof; type MaxAuthorities = constants::system::MaxAuthorities; type WeightInfo = (); } @@ -368,10 +359,14 @@ impl pallet_balances::Config for Runtime { type Balance = Balance; type DustRemoval = (); type ExistentialDeposit = constants::balances::ExistentialDeposit; + type FreezeIdentifier = (); + type MaxFreezes = (); + type MaxHolds = constants::balances::MaxReserves; type MaxLocks = constants::balances::MaxLocks; type MaxReserves = constants::balances::MaxReserves; type ReserveIdentifier = ReserveIdentifier; type RuntimeEvent = RuntimeEvent; + type RuntimeHoldReason = RuntimeHoldReason; type WeightInfo = pallet_balances::weights::SubstrateWeight; } @@ -411,15 +406,9 @@ impl pallet_timestamp::Config for Runtime { type WeightInfo = pallet_timestamp::weights::SubstrateWeight; } -parameter_types! { - pub const UncleGenerations: BlockNumber = 5; -} - impl pallet_authorship::Config for Runtime { type EventHandler = (Staking, ImOnline); - type FilterUncle = (); type FindAuthor = pallet_session::FindAccountFromAuthorIndex; - type UncleGenerations = UncleGenerations; } impl pallet_session::Config for Runtime { @@ -455,9 +444,10 @@ impl pallet_staking::Config for Runtime { type BondingDuration = constants::staking::BondingDuration; type Currency = Balances; type CurrencyBalance = Balance; - type CurrencyToVote = U128CurrencyToVote; + type CurrencyToVote = sp_staking::currency_to_vote::U128CurrencyToVote; type ElectionProvider = ElectionProviderMultiPhase; type EraPayout = pallet_staking::ConvertCurve; + type EventListeners = NominationPools; type GenesisElectionProvider = onchain::OnChainExecution; type HistoryDepth = constants::staking::HistoryDepth; type MaxNominations = constants::staking::MaxNominations; @@ -465,7 +455,6 @@ impl pallet_staking::Config for Runtime { type MaxUnlockingChunks = constants::staking::MaxUnlockingChunks; type NextNewSession = Session; type OffendingValidatorsThreshold = constants::staking::OffendingValidatorsThreshold; - type OnStakerSlash = NominationPools; // send the slashed funds to the treasury. type Reward = (); type RewardRemainder = Treasury; @@ -544,6 +533,7 @@ impl pallet_election_provider_multi_phase::MinerConfig for Runtime { type MaxVotesPerVoter = <::DataProvider as ElectionDataProvider>::MaxVotesPerVoter; type MaxWeight = constants::staking::MinerMaxWeight; + type MaxWinners = ::MaxWinners; type Solution = constants::staking::NposSolution16; // The unsigned submissions have to respect the weight of the submit_unsigned call, thus their @@ -615,11 +605,15 @@ parameter_types! { use sp_runtime::traits::Convert; pub struct BalanceToU256; impl Convert for BalanceToU256 { - fn convert(balance: Balance) -> sp_core::U256 { sp_core::U256::from(balance) } + fn convert(balance: Balance) -> sp_core::U256 { + sp_core::U256::from(balance) + } } pub struct U256ToBalance; impl Convert for U256ToBalance { - fn convert(n: sp_core::U256) -> Balance { n.try_into().unwrap_or(Balance::max_value()) } + fn convert(n: sp_core::U256) -> Balance { + n.try_into().unwrap_or(Balance::max_value()) + } } impl pallet_nomination_pools::Config for Runtime { @@ -681,6 +675,7 @@ impl pallet_democracy::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Scheduler = Scheduler; type Slash = Treasury; + type SubmitOrigin = EnsureSigned; // Any single technical committee member may veto a coming council proposal, however they can // only do it once and it lasts only for the cool-off period. type VetoOrigin = pallet_collective::EnsureMember; @@ -693,11 +688,13 @@ type CouncilCollective = pallet_collective::Instance1; impl pallet_collective::Config for Runtime { type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote; type MaxMembers = constants::council::MaxMembers; + type MaxProposalWeight = constants::council::MaxProposalWeight; type MaxProposals = constants::council::MaxProposals; type MotionDuration = constants::council::MotionDuration; type Proposal = RuntimeCall; type RuntimeEvent = RuntimeEvent; type RuntimeOrigin = RuntimeOrigin; + type SetMembersOrigin = EnsureRoot; type WeightInfo = pallet_collective::weights::SubstrateWeight; } @@ -705,7 +702,7 @@ impl pallet_elections_phragmen::Config for Runtime { type CandidacyBond = constants::elections::CandidacyBond; type ChangeMembers = Council; type Currency = Balances; - type CurrencyToVote = U128CurrencyToVote; + type CurrencyToVote = sp_staking::currency_to_vote::U128CurrencyToVote; type DesiredMembers = constants::elections::DesiredMembers; type DesiredRunnersUp = constants::elections::DesiredRunnersUp; // NOTE: this implies that council's genesis members cannot be set directly and must come from @@ -715,6 +712,7 @@ impl pallet_elections_phragmen::Config for Runtime { type LoserCandidate = Treasury; type MaxCandidates = constants::elections::MaxCandidates; type MaxVoters = constants::elections::MaxVoters; + type MaxVotesPerVoter = constants::elections::MaxVotesPerVoter; type PalletId = constants::elections::PalletId; type RuntimeEvent = RuntimeEvent; type TermDuration = constants::elections::TermDuration; @@ -727,11 +725,13 @@ type TechnicalCollective = pallet_collective::Instance2; impl pallet_collective::Config for Runtime { type DefaultVote = pallet_collective::MoreThanMajorityThenPrimeDefaultVote; type MaxMembers = constants::technical::TechnicalMaxMembers; + type MaxProposalWeight = constants::council::MaxProposalWeight; type MaxProposals = constants::technical::TechnicalMaxProposals; type MotionDuration = constants::technical::TechnicalMotionDuration; type Proposal = RuntimeCall; type RuntimeEvent = RuntimeEvent; type RuntimeOrigin = RuntimeOrigin; + type SetMembersOrigin = EnsureRoot; type WeightInfo = pallet_collective::weights::SubstrateWeight; } @@ -820,6 +820,7 @@ impl pallet_tips::Config for Runtime { impl pallet_sudo::Config for Runtime { type RuntimeCall = RuntimeCall; type RuntimeEvent = RuntimeEvent; + type WeightInfo = pallet_sudo::weights::SubstrateWeight; } impl frame_system::offchain::CreateSignedTransaction for Runtime @@ -889,7 +890,6 @@ where impl pallet_im_online::Config for Runtime { type AuthorityId = ImOnlineId; type MaxKeys = constants::im::MaxKeys; - type MaxPeerDataEncodingSize = constants::im::MaxPeerDataEncodingSize; type MaxPeerInHeartbeats = constants::im::MaxPeerInHeartbeats; type NextSessionRotation = Babe; type ReportUnresponsiveness = Offences; @@ -909,26 +909,25 @@ impl pallet_authority_discovery::Config for Runtime { type MaxAuthorities = constants::system::MaxAuthorities; } +parameter_types! { + pub const MaxSetIdSessionEntries: u32 = constants::staking::BondingDuration::get() * constants::staking::SessionsPerEra::get(); +} + impl pallet_grandpa::Config for Runtime { - type HandleEquivocation = pallet_grandpa::EquivocationHandler< - Self::KeyOwnerIdentification, + type EquivocationReportSystem = pallet_grandpa::EquivocationReportSystem< + Self, Offences, + Historical, constants::babe::ReportLongevity, >; - type KeyOwnerIdentification = >::IdentificationTuple; - type KeyOwnerProof = - >::Proof; - type KeyOwnerProofSystem = Historical; + type KeyOwnerProof = >::Proof; type MaxAuthorities = constants::system::MaxAuthorities; + type MaxSetIdSessionEntries = MaxSetIdSessionEntries; type RuntimeEvent = RuntimeEvent; type WeightInfo = (); } impl pallet_mmr::Config for Runtime { - type Hash = ::Hash; type Hashing = ::Hashing; type LeafData = pallet_mmr::ParentNumberAndHash; type OnNewRoot = (); @@ -1010,10 +1009,7 @@ impl pallet_mandate::Config for Runtime { // TODO @miguel Aline this with previous order and ID to keep the compatibility. // Create the runtime by composing the FRAME pallets that were previously configured. construct_runtime!( - pub enum Runtime where - Block = Block, - NodeBlock = NodeBlock, - UncheckedExtrinsic = UncheckedExtrinsic + pub struct Runtime { System: frame_system = 0, Utility: pallet_utility = 1, @@ -1072,7 +1068,7 @@ pub(crate) mod mmr { use super::Runtime; pub type Leaf = <::LeafData as LeafDataProvider>::LeafData; - pub type Hash = ::Hash; + pub type Hash = ::Output; pub type Hashing = ::Hashing; } @@ -1084,31 +1080,31 @@ extern crate frame_benchmarking; mod benches { define_benchmarks!( [frame_benchmarking, BaselineBench::] - [pallet_utility, crate::Utility] - [pallet_babe, crate::Babe] - [pallet_timestamp, crate::Timestamp] - [pallet_indices, crate::Indices] - [pallet_balances, crate::Balances] - [pallet_election_provider_multi_phase, crate::ElectionProviderMultiPhase] - [pallet_staking, crate::Staking] - [pallet_democracy, crate::Democracy] - [pallet_collective, crate::Council] - [pallet_collective, crate::TechnicalCommittee] - [pallet_elections_phragmen, crate::Elections] - [pallet_grandpa, crate::Grandpa] - [pallet_treasury, crate::Treasury] - [pallet_im_online, crate::ImOnline] - [pallet_scheduler, crate::Scheduler] - [pallet_bounties, crate::Bounties] - [pallet_tips, crate::Tips] - [pallet_mmr, crate::Mmr] + [pallet_utility, $crate::Utility] + [pallet_babe, $crate::Babe] + [pallet_timestamp, $crate::Timestamp] + [pallet_indices, $crate::Indices] + [pallet_balances, $crate::Balances] + [pallet_election_provider_multi_phase, $crate::ElectionProviderMultiPhase] + [pallet_staking, $crate::Staking] + [pallet_democracy, $crate::Democracy] + [pallet_collective, $crate::Council] + [pallet_collective, $crate::TechnicalCommittee] + [pallet_elections_phragmen, $crate::Elections] + [pallet_grandpa, $crate::Grandpa] + [pallet_treasury, $crate::Treasury] + [pallet_im_online, $crate::ImOnline] + [pallet_scheduler, $crate::Scheduler] + [pallet_bounties, $crate::Bounties] + [pallet_tips, $crate::Tips] + [pallet_mmr, $crate::Mmr] [frame_system, SystemBench::] - [da_control, crate::DataAvailability] - [nomad_home, crate::NomadHome] - [nomad_da_bridge, crate::NomadDABridge] - [pallet_identity, Identity] - [pallet_mandate, crate::Mandate] + [da_control, $crate::DataAvailability] + [nomad_home, $crate::NomadHome] + [nomad_da_bridge, $crate::NomadDABridge] + [pallet_identity, $crate::Identity] + [pallet_mandate, $crate::Mandate] ); } @@ -1187,7 +1183,8 @@ mod tests { >>::try_state(block, All)?; as TryState>::try_state(block, All)?; as TryState>::try_state(block, All)?; - as TryState>::try_state(block, All) + as TryState>::try_state(block, All)?; + Ok(()) } #[test] @@ -1276,7 +1273,7 @@ mod tests { const TRANSFER_RAW : &[u8]= &hex!("b4040600008eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4813000064a7b3b6e00d"); /// Creates a transfer tx of 1 AVL to Bob. fn transfer_expected() -> RuntimeCall { - RuntimeCall::Balances(pallet_balances::Call::transfer { + RuntimeCall::Balances(pallet_balances::Call::transfer_allow_death { dest: MultiAddress::Id(Bob.to_account_id()), value: 1 * AVL, }) diff --git a/runtime/src/migration.rs b/runtime/src/migration.rs index 83e7d9d33..d030f0125 100644 --- a/runtime/src/migration.rs +++ b/runtime/src/migration.rs @@ -19,83 +19,234 @@ use frame_support::{pallet_prelude::*, traits::OnRuntimeUpgrade}; use pallet_nomination_pools::{ MaxPoolMembers, MaxPoolMembersPerPool, MaxPools, MinCreateBond, MinJoinBond, Pallet, }; +use sp_runtime::Perbill; +#[cfg(feature = "try-runtime")] +use sp_runtime::TryRuntimeError; #[cfg(feature = "try-runtime")] use sp_std::vec::Vec; -use crate::Weight; +use crate::{Bounties, NominationPools, Runtime, Weight}; + +struct NominationPoolsMigrationV4OldPallet; +impl Get for NominationPoolsMigrationV4OldPallet { + fn get() -> Perbill { + Perbill::zero() + } +} /// Implements `OnRuntimeUpgrade` trait. pub struct Migration {} - impl OnRuntimeUpgrade for Migration { - fn on_runtime_upgrade() -> Weight { nomination_pools::migrate() } + fn on_runtime_upgrade() -> Weight { + let weight1 = pallet_im_online::migration::v1::Migration::::on_runtime_upgrade(); + let weight2 = pallet_offences::migration::v1::MigrateToV1::::on_runtime_upgrade(); + let weight3 = nomination_pools::v1_to_v3::on_runtime_upgrade(); + let weight4 = pallet_nomination_pools::migration::v4::MigrateV3ToV5::< + Runtime, + NominationPoolsMigrationV4OldPallet, + >::on_runtime_upgrade(); + let weight5 = scheduler::remove_corrupt_agenda_and_v3_to_v4::on_runtime_upgrade(); + let weight6 = bounties::v1_to_v4::on_runtime_upgrade(); + + weight1 + .saturating_add(weight2) + .saturating_add(weight3) + .saturating_add(weight4) + .saturating_add(weight5) + .saturating_add(weight6) + } #[cfg(feature = "try-runtime")] - fn pre_upgrade() -> Result, &'static str> { nomination_pools::pre_upgrade() } + fn pre_upgrade() -> Result, TryRuntimeError> { + bounties::v1_to_v4::pre_upgrade()?; + nomination_pools::v1_to_v3::pre_upgrade()?; + + let state1 = pallet_im_online::migration::v1::Migration::::pre_upgrade()?; + let state2 = pallet_offences::migration::v1::MigrateToV1::::pre_upgrade()?; + let state3 = pallet_nomination_pools::migration::v4::MigrateV3ToV5::< + Runtime, + NominationPoolsMigrationV4OldPallet, + >::pre_upgrade()?; + let state4 = scheduler::remove_corrupt_agenda_and_v3_to_v4::pre_upgrade()?; + + let combined_state = (state1, state2, state3, state4).encode(); + + Ok(combined_state) + } #[cfg(feature = "try-runtime")] - fn post_upgrade(state: Vec) -> Result<(), &'static str> { - nomination_pools::post_upgrade(state) + fn post_upgrade(state: Vec) -> Result<(), TryRuntimeError> { + bounties::v1_to_v4::post_upgrade(sp_std::vec![])?; + nomination_pools::v1_to_v3::post_upgrade(sp_std::vec![])?; + + let (state1, state2, state3, state4): (Vec, Vec, Vec, Vec) = + Decode::decode(&mut &state[..]).expect("Encoded state is always a valid tuple; qed"); + + pallet_im_online::migration::v1::Migration::::post_upgrade(state1)?; + pallet_offences::migration::v1::MigrateToV1::::post_upgrade(state2)?; + pallet_nomination_pools::migration::v4::MigrateV3ToV5::< + Runtime, + NominationPoolsMigrationV4OldPallet, + >::post_upgrade(state3)?; + scheduler::remove_corrupt_agenda_and_v3_to_v4::post_upgrade(state4)?; + + Ok(()) } } -mod nomination_pools { +mod scheduler { use super::*; - use crate::Runtime; - /// The current storage version. - const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); + // We remove the calls that got scheduler but never triggered, they are not decodable and make the migration fail + pub mod remove_corrupt_agenda_and_v3_to_v4 { + use super::*; + use crate::Runtime; + + // This `436_320` should get executed, if not migration should not happen, if it is, then this can safely be ignored + const CORRUPTED_AGENDAS: [u32; 5] = [38_674, 86_664, 124_473, 128_931, 436_320]; + + #[cfg(feature = "try-runtime")] + pub fn pre_upgrade() -> Result, &'static str> { + let agendas = pallet_scheduler::Agenda::::iter().count() as u32; + let mut corrupted_agendas: u32 = 0; + for block in &CORRUPTED_AGENDAS { + if pallet_scheduler::Agenda::::contains_key(block) { + corrupted_agendas += 1; + } + } + + log::info!("Number of agendas: {}", agendas); + log::info!("Number of corrupted agendas: {}", corrupted_agendas); - /// Wrapper for all migrations of this pallet. - pub(crate) fn migrate() -> Weight { - let onchain_version = Pallet::::on_chain_storage_version(); - let mut weight: Weight = Weight::zero(); + // This print out some error logs cause 4 corrupted agendas cannot and should not be migrated + // let _ = pallet_scheduler::migration::v3::MigrateToV4::::pre_upgrade(); - if onchain_version < 1 { - weight = weight.saturating_add(v0_to_v1::migrate()); + let encoded_data = (agendas, corrupted_agendas).encode(); + Ok(encoded_data) } - STORAGE_VERSION.put::>(); - weight.saturating_add(::DbWeight::get().writes(1)) + pub fn on_runtime_upgrade() -> Weight { + let weight: Weight = Weight::zero(); + + for block in &CORRUPTED_AGENDAS { + if pallet_scheduler::Agenda::::contains_key(block) { + pallet_scheduler::Agenda::::remove(block); + weight.saturating_add( + ::DbWeight::get().reads_writes(1, 1), + ); + log::info!("Removed agenda at block: {:?}", block); + } else { + weight.saturating_add( + ::DbWeight::get().reads(1), + ); + log::info!("No agenda at block: {:?}", block); + } + } + + let migration_weight = + pallet_scheduler::migration::v3::MigrateToV4::::on_runtime_upgrade(); + + weight.saturating_add(migration_weight) + } + + #[cfg(feature = "try-runtime")] + pub fn post_upgrade(state: Vec) -> Result<(), TryRuntimeError> { + let (agendas, corrupted_agendas_blocks): (u32, u32) = + Decode::decode(&mut &state[..]).expect("Encoded data is always a valid tuple; qed"); + let valid_agendas = agendas - corrupted_agendas_blocks; + let current_agendas = pallet_scheduler::Agenda::::iter().count() as u32; + + ensure!( + current_agendas == valid_agendas, + "Corrupted agendas did not get cleared" + ); + let encoded_data = (valid_agendas).encode(); + pallet_scheduler::migration::v3::MigrateToV4::::post_upgrade(encoded_data)?; + + Ok(()) + } } +} - #[cfg(feature = "try-runtime")] - pub(crate) fn pre_upgrade() -> Result, &'static str> { Ok(sp_std::vec![]) } +mod bounties { + use super::*; - #[cfg(feature = "try-runtime")] - pub(crate) fn post_upgrade(_state: Vec) -> Result<(), &'static str> { - use crate::constants::nomination_pools::*; - - ensure!( - MinJoinBond::::get() == MIN_JOIN_BOND, - "Expected `nomination_pools::MinJoinBond == 1 * AVL`" - ); - ensure!( - MinCreateBond::::get() == MIN_CREATE_BOND, - "Expected `nomination_pools::MinCreateBond == 10 * AVL`" - ); - ensure!( - MaxPools::::get() == Some(MAX_POOLS), - "Expected `nomination_pools::MaxPools == 16`" - ); - ensure!( - MaxPoolMembersPerPool::::get() == Some(MAX_MEMBERS_PER_POOL), - "Expected `nomination_pools::MaxPoolMembersPerPool == 100`" - ); - ensure!( - MaxPoolMembers::::get() == Some(MAX_MEMBERS), - "Expected `nomination_pools::MaxMembers == 1600`" - ); + // Migrations that set `StorageVersion`s which was missed to set. + pub mod v1_to_v4 { + use super::*; - Ok(()) + #[cfg(feature = "try-runtime")] + pub fn pre_upgrade() -> Result, &'static str> { + let storage_version = Bounties::on_chain_storage_version(); + log::info!("Old bounties storage version: {:?}", storage_version); + Ok(sp_std::vec![]) + } + + // Here we update the storage version to be consistent even if pallet was initialized correctly + pub fn on_runtime_upgrade() -> Weight { + let storage_version = Bounties::on_chain_storage_version(); + if storage_version < 4 { + StorageVersion::new(4).put::(); + } + + ::DbWeight::get().reads_writes(1, 1) + } + + #[cfg(feature = "try-runtime")] + pub fn post_upgrade(_: Vec) -> Result<(), &'static str> { + let storage_version = Bounties::on_chain_storage_version(); + log::info!("New bounties storage version: {:?}", storage_version); + Ok(()) + } } +} - mod v0_to_v1 { +mod nomination_pools { + use super::*; + + #[allow(dead_code)] + pub mod v0_to_v1 { use super::*; - use crate::constants::nomination_pools::*; + use crate::{constants::nomination_pools::*, Runtime}; + + /// The current storage version. + pub const STORAGE_VERSION: StorageVersion = StorageVersion::new(1); + + #[cfg(feature = "try-runtime")] + pub(crate) fn pre_upgrade() -> Result, &'static str> { + Ok(sp_std::vec![]) + } + + #[cfg(feature = "try-runtime")] + pub(crate) fn post_upgrade(_state: Vec) -> Result<(), &'static str> { + use crate::constants::nomination_pools::*; + + ensure!( + MinJoinBond::::get() == MIN_JOIN_BOND, + "Expected `nomination_pools::MinJoinBond == 1 * AVL`" + ); + ensure!( + MinCreateBond::::get() == MIN_CREATE_BOND, + "Expected `nomination_pools::MinCreateBond == 10 * AVL`" + ); + ensure!( + MaxPools::::get() == Some(MAX_POOLS), + "Expected `nomination_pools::MaxPools == 16`" + ); + ensure!( + MaxPoolMembersPerPool::::get() == Some(MAX_MEMBERS_PER_POOL), + "Expected `nomination_pools::MaxPoolMembersPerPool == 100`" + ); + ensure!( + MaxPoolMembers::::get() == Some(MAX_MEMBERS), + "Expected `nomination_pools::MaxMembers == 1600`" + ); + + Ok(()) + } /// It sets `min_create_bond = 10 AVL` and - pub(crate) fn migrate() -> Weight { + pub(crate) fn on_runtime_upgrade() -> Weight { log::info!(target: "runtime::migration", "Nomination pools migration from V0 to V1"); MinJoinBond::::put(MIN_JOIN_BOND); MinCreateBond::::put(MIN_CREATE_BOND); @@ -105,5 +256,53 @@ mod nomination_pools { ::DbWeight::get().writes(5u64) } + + /// Wrapper for all migrations of this pallet. + pub(crate) fn migrate() -> Weight { + let onchain_version = Pallet::::on_chain_storage_version(); + let mut weight: Weight = Weight::zero(); + + if onchain_version < 1 { + weight = weight.saturating_add(v0_to_v1::on_runtime_upgrade()); + } + + v0_to_v1::STORAGE_VERSION.put::>(); + weight.saturating_add(::DbWeight::get().writes(1)) + } + } + + // Migrations that set `StorageVersion`s which was missed to set. + pub mod v1_to_v3 { + use super::*; + + #[cfg(feature = "try-runtime")] + pub fn pre_upgrade() -> Result, &'static str> { + let storage_version = NominationPools::on_chain_storage_version(); + log::info!( + "Old nomination pools storage version: {:?}", + storage_version + ); + Ok(sp_std::vec![]) + } + + // Here we update the storage version to be consistent even if pallet was initialized correctly + pub fn on_runtime_upgrade() -> Weight { + let storage_version = NominationPools::on_chain_storage_version(); + if storage_version < 3 { + StorageVersion::new(3).put::(); + } + + ::DbWeight::get().reads_writes(1, 1) + } + + #[cfg(feature = "try-runtime")] + pub fn post_upgrade(_: Vec) -> Result<(), &'static str> { + let storage_version = NominationPools::on_chain_storage_version(); + log::info!( + "New nomination pools storage version: {:?}", + storage_version + ); + Ok(()) + } } } diff --git a/runtime/src/primitives.rs b/runtime/src/primitives.rs index a59f44126..9c86fbf51 100644 --- a/runtime/src/primitives.rs +++ b/runtime/src/primitives.rs @@ -33,8 +33,8 @@ pub type Address = sp_runtime::MultiAddress; pub type Header = DaHeader; /// Unchecked extrinsic type as expected by this runtime. pub type UncheckedExtrinsic = AppUncheckedExtrinsic; -/// Block type as expected by this runtime. -pub type Block = generic::Block; +/// DA Block type as expected by this runtime. +pub type Block = avail_core::DaBlock; /// Block type for the node pub type NodeBlock = generic::Block; /// A Block signed with a Justification diff --git a/runtime/src/weights/pallet_mandate.rs b/runtime/src/weights/pallet_mandate.rs index 8233f0f8b..5ae29b316 100644 --- a/runtime/src/weights/pallet_mandate.rs +++ b/runtime/src/weights/pallet_mandate.rs @@ -51,6 +51,6 @@ pub struct WeightInfo(PhantomData); impl pallet_mandate::WeightInfo for WeightInfo { fn mandate() -> Weight { // Minimum execution time: 9_919 nanoseconds. - Weight::from_ref_time(10_437_000) + Weight::from_parts(10_437_000, 0) } } diff --git a/rust-toolchain.toml b/rust-toolchain.toml index ab25d60ea..5d7d273a9 100644 --- a/rust-toolchain.toml +++ b/rust-toolchain.toml @@ -1,5 +1,5 @@ [toolchain] -channel = "nightly-2022-11-15" +channel = "stable-2023-08-24" components = ["rustfmt", "clippy", "llvm-tools-preview"] profile = "minimal" targets = ["wasm32-unknown-unknown"] diff --git a/rustfmt.toml b/rustfmt.toml index 82b712fa8..bb55bd1e8 100644 --- a/rustfmt.toml +++ b/rustfmt.toml @@ -1,10 +1,13 @@ -binop_separator = "Back" -comment_width = 120 -imports_granularity = "Crate" -max_width = 120 -reorder_imports = true -tab_spaces = 4 -trailing_semicolon = true -use_small_heuristics = "Max" +match_block_trailing_comma = true use_field_init_shorthand = true -wrap_comments = true +edition = "2021" +hard_tabs = true + +# Disabled on Stable +# +# fn_single_line = true +# match_arm_blocks = true +# imports_granularity = "Crate" +# overflow_delimited_expr = true +# reorder_impl_items = true +# group_imports = "StdExternalCrate" \ No newline at end of file